12 lines
7.1 MiB
12 lines
7.1 MiB
// Auto-generated by tsbundle - do not edit
|
|
export const files: { path: string; contentBase64: string }[] = [
|
|
{
|
|
"path": "bundle.js",
|
|
"contentBase64": "dmFyIHBwZT1PYmplY3QuY3JlYXRlLGxwZT1PYmplY3QuZnJlZXplLGYzPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZnBlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dmFyIGVmcj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczt2YXIgdGZyPU9iamVjdC5nZXRQcm90b3R5cGVPZixyZnI9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgaHBlPShlLHQpPT4odD1TeW1ib2xbZV0pP3Q6U3ltYm9sLmZvcigiU3ltYm9sLiIrZSksX3U9ZT0+e3Rocm93IFR5cGVFcnJvcihlKX07dmFyIG1wZT0oZSx0LHIpPT50IGluIGU/ZjMoZSx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6ZVt0XT1yO3ZhciBjcGU9KGUsdCk9PmYzKGUsIm5hbWUiLHt2YWx1ZTp0LGNvbmZpZ3VyYWJsZTohMH0pLHQwPShlPT50eXBlb2YgcmVxdWlyZTwidSI/cmVxdWlyZTp0eXBlb2YgUHJveHk8InUiP25ldyBQcm94eShlLHtnZXQ6KHQscik9Pih0eXBlb2YgcmVxdWlyZTwidSI/cmVxdWlyZTp0KVtyXX0pOmUpKGZ1bmN0aW9uKGUpe2lmKHR5cGVvZiByZXF1aXJlPCJ1IilyZXR1cm4gcmVxdWlyZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhyb3cgRXJyb3IoJ0R5bmFtaWMgcmVxdWlyZSBvZiAiJytlKyciIGlzIG5vdCBzdXBwb3J0ZWQnKX0pO3ZhciBmPShlLHQpPT4oKT0+KGUmJih0PWUoZT0wKSksdCk7dmFyIGplPShlLHQpPT4oKT0+KHR8fGUoKHQ9e2V4cG9ydHM6e319KS5leHBvcnRzLHQpLHQuZXhwb3J0cyksUmU9KGUsdCk9Pntmb3IodmFyIHIgaW4gdClmMyhlLHIse2dldDp0W3JdLGVudW1lcmFibGU6ITB9KX0sYWZyPShlLHQscixhKT0+e2lmKHQmJnR5cGVvZiB0PT0ib2JqZWN0Inx8dHlwZW9mIHQ9PSJmdW5jdGlvbiIpZm9yKGxldCBpIG9mIGVmcih0KSkhcmZyLmNhbGwoZSxpKSYmaSE9PXImJmYzKGUsaSx7Z2V0OigpPT50W2ldLGVudW1lcmFibGU6IShhPWZwZSh0LGkpKXx8YS5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9O3ZhciBzcj0oZSx0LHIpPT4ocj1lIT1udWxsP3BwZSh0ZnIoZSkpOnt9LGFmcih0fHwhZXx8IWUuX19lc01vZHVsZT9mMyhyLCJkZWZhdWx0Iix7dmFsdWU6ZSxlbnVtZXJhYmxlOiEwfSk6cixlKSk7dmFyIHNuPWU9PlssLCxwcGUoZT8uW2hwZSgibWV0YWRhdGEiKV0/P251bGwpXSxncGU9WyJjbGFzcyIsIm1ldGhvZCIsImdldHRlciIsInNldHRlciIsImFjY2Vzc29yIiwiZmllbGQiLCJ2YWx1ZSIsImdldCIsInNldCJdLEpmPWU9PmUhPT12b2lkIDAmJnR5cGVvZiBlIT0iZnVuY3Rpb24iP191KCJGdW5jdGlvbiBleHBlY3RlZCIpOmUsaWZyPShlLHQscixhLGkpPT4oe2tpbmQ6Z3BlW2VdLG5hbWU6dCxtZXRhZGF0YTphLGFkZEluaXRpYWxpemVyOm49PnIuXz9fdSgiQWxyZWFkeSBpbml0aWFsaXplZCIpOmkucHVzaChKZihufHxudWxsKSl9KSxuZnI9KGUsdCk9Pm1wZSh0LGhwZSgibWV0YWRhdGEiKSxlWzNdKSxjdD0oZSx0LHIsYSk9Pntmb3IodmFyIGk9MCxuPWVbdD4+MV0scz1uJiZuLmxlbmd0aDtpPHM7aSsrKXQmMT9uW2ldLmNhbGwocik6YT1uW2ldLmNhbGwocixhKTtyZXR1cm4gYX0sdHI9KGUsdCxyLGEsaSxuKT0+e3ZhciBzLG8sYyxsLHUsZD10JjcsaD0hISh0JjgpLG09ISEodCYxNiksdj1kPjM/ZS5sZW5ndGgrMTpkP2g/MToyOjAsYj1ncGVbZCs1XSxnPWQ+MyYmKGVbdi0xXT1bXSkseT1lW3ZdfHwoZVt2XT1bXSksdz1kJiYoIW0mJiFoJiYoaT1pLnByb3RvdHlwZSksZDw1JiYoZD4zfHwhbSkmJmZwZShkPDQ/aTp7Z2V0W3JdKCl7cmV0dXJuIGRwZSh0aGlzLG4pfSxzZXRbcl0oUil7cmV0dXJuIHVwZSh0aGlzLG4sUil9fSxyKSk7ZD9tJiZkPDQmJmNwZShuLChkPjI/InNldCAiOmQ+MT8iZ2V0ICI6IiIpK3IpOmNwZShpLHIpO2Zvcih2YXIgaz1hLmxlbmd0aC0xO2s+PTA7ay0tKWw9aWZyKGQscixjPXt9LGVbM10seSksZCYmKGwuc3RhdGljPWgsbC5wcml2YXRlPW0sdT1sLmFjY2Vzcz17aGFzOm0/Uj0+c2ZyKGksUik6Uj0+ciBpbiBSfSxkXjMmJih1LmdldD1tP1I9PihkXjE/ZHBlOm9mcikoUixpLGReND9uOncuZ2V0KTpSPT5SW3JdKSxkPjImJih1LnNldD1tPyhSLEMpPT51cGUoUixpLEMsZF40P246dy5zZXQpOihSLEMpPT5SW3JdPUMpKSxvPSgwLGFba10pKGQ/ZDw0P20/bjp3W2JdOmQ+ND92b2lkIDA6e2dldDp3LmdldCxzZXQ6dy5zZXR9OmksbCksYy5fPTEsZF40fHxvPT09dm9pZCAwP0pmKG8pJiYoZD40P2cudW5zaGlmdChvKTpkP20/bj1vOndbYl09bzppPW8pOnR5cGVvZiBvIT0ib2JqZWN0Inx8bz09PW51bGw/X3UoIk9iamVjdCBleHBlY3RlZCIpOihKZihzPW8uZ2V0KSYmKHcuZ2V0PXMpLEpmKHM9by5zZXQpJiYody5zZXQ9cyksSmYocz1vLmluaXQpJiZnLnVuc2hpZnQocykpO3JldHVybiBkfHxuZnIoZSxpKSx3JiZmMyhpLHIsdyksbT9kXjQ/bjp3Oml9LG9uPShlLHQscik9Pm1wZShlLHR5cGVvZiB0IT0ic3ltYm9sIj90KyIiOnQsciksdk89KGUsdCxyKT0+dC5oYXMoZSl8fF91KCJDYW5ub3QgIityKSxzZnI9KGUsdCk9Pk9iamVjdCh0KSE9PXQ/X3UoJ0Nhbm5vdCB1c2UgdGhlICJpbiIgb3BlcmF0b3Igb24gdGhpcyB2YWx1ZScpOmUuaGFzKHQpLGRwZT0oZSx0LHIpPT4odk8oZSx0LCJyZWFkIGZyb20gcHJpdmF0ZSBmaWVsZCIpLHI/ci5jYWxsKGUpOnQuZ2V0KGUpKSxlYT0oZSx0LHIpPT50LmhhcyhlKT9fdSgiQ2Fubm90IGFkZCB0aGUgc2FtZSBwcml2YXRlIG1lbWJlciBtb3JlIHRoYW4gb25jZSIpOnQgaW5zdGFuY2VvZiBXZWFrU2V0P3QuYWRkKGUpOnQuc2V0KGUsciksdXBlPShlLHQscixhKT0+KHZPKGUsdCwid3JpdGUgdG8gcHJpdmF0ZSBmaWVsZCIpLGE/YS5jYWxsKGUscik6dC5zZXQoZSxyKSxyKSxvZnI9KGUsdCxyKT0+KHZPKGUsdCwiYWNjZXNzIHByaXZhdGUgbWV0aG9kIikscik7dmFyIEx1PShlLHQpPT5scGUoZjMoZSwicmF3Iix7dmFsdWU6bHBlKHR8fGUuc2xpY2UoKSl9KSk7dmFyIEJ2LEtmLHhPLGJwZSwkdSxrYSxDcixIdixlaCx5Tz1mKCgpPT57QnY9Z2xvYmFsVGhpcyxLZj1Cdi5TaGFkb3dSb290JiYoQnYuU2hhZHlDU1M9PT12b2lkIDB8fEJ2LlNoYWR5Q1NTLm5hdGl2ZVNoYWRvdykmJiJhZG9wdGVkU3R5bGVTaGVldHMiaW4gRG9jdW1lbnQucHJvdG90eXBlJiYicmVwbGFjZSJpbiBDU1NTdHlsZVNoZWV0LnByb3RvdHlwZSx4Tz1TeW1ib2woKSxicGU9bmV3IFdlYWtNYXAsJHU9Y2xhc3N7Y29uc3RydWN0b3IodCxyLGEpe2lmKHRoaXMuXyRjc3NSZXN1bHQkPSEwLGEhPT14Tyl0aHJvdyBFcnJvcigiQ1NTUmVzdWx0IGlzIG5vdCBjb25zdHJ1Y3RhYmxlLiBVc2UgYHVuc2FmZUNTU2Agb3IgYGNzc2AgaW5zdGVhZC4iKTt0aGlzLmNzc1RleHQ9dCx0aGlzLnQ9cn1nZXQgc3R5bGVTaGVldCgpe2xldCB0PXRoaXMubyxyPXRoaXMudDtpZihLZiYmdD09PXZvaWQgMCl7bGV0IGE9ciE9PXZvaWQgMCYmci5sZW5ndGg9PT0xO2EmJih0PWJwZS5nZXQocikpLHQ9PT12b2lkIDAmJigodGhpcy5vPXQ9bmV3IENTU1N0eWxlU2hlZXQpLnJlcGxhY2VTeW5jKHRoaXMuY3NzVGV4dCksYSYmYnBlLnNldChyLHQpKX1yZXR1cm4gdH10b1N0cmluZygpe3JldHVybiB0aGlzLmNzc1RleHR9fSxrYT1lPT5uZXcgJHUodHlwZW9mIGU9PSJzdHJpbmciP2U6ZSsiIix2b2lkIDAseE8pLENyPShlLC4uLnQpPT57bGV0IHI9ZS5sZW5ndGg9PT0xP2VbMF06dC5yZWR1Y2UoKGEsaSxuKT0+YSsocz0+e2lmKHMuXyRjc3NSZXN1bHQkPT09ITApcmV0dXJuIHMuY3NzVGV4dDtpZih0eXBlb2Ygcz09Im51bWJlciIpcmV0dXJuIHM7dGhyb3cgRXJyb3IoIlZhbHVlIHBhc3NlZCB0byAnY3NzJyBmdW5jdGlvbiBtdXN0IGJlIGEgJ2NzcycgZnVuY3Rpb24gcmVzdWx0OiAiK3MrIi4gVXNlICd1bnNhZmVDU1MnIHRvIHBhc3Mgbm9uLWxpdGVyYWwgdmFsdWVzLCBidXQgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LiIpfSkoaSkrZVtuKzFdLGVbMF0pO3JldHVybiBuZXcgJHUocixlLHhPKX0sSHY9KGUsdCk9PntpZihLZillLmFkb3B0ZWRTdHlsZVNoZWV0cz10Lm1hcChyPT5yIGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD9yOnIuc3R5bGVTaGVldCk7ZWxzZSBmb3IobGV0IHIgb2YgdCl7bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxpPUJ2LmxpdE5vbmNlO2khPT12b2lkIDAmJmEuc2V0QXR0cmlidXRlKCJub25jZSIsaSksYS50ZXh0Q29udGVudD1yLmNzc1RleHQsZS5hcHBlbmRDaGlsZChhKX19LGVoPUtmP2U9PmU6ZT0+ZSBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/KHQ9PntsZXQgcj0iIjtmb3IobGV0IGEgb2YgdC5jc3NSdWxlcylyKz1hLmNzc1RleHQ7cmV0dXJuIGthKHIpfSkoZSk6ZX0pO3ZhciBsZnIsY2ZyLGRmcix1ZnIscGZyLGZmcixxdix2cGUsaGZyLG1mcix0aCxEdSxyaCx4cGUsUW8sYWg9ZigoKT0+e3lPKCk7eU8oKTsoe2lzOmxmcixkZWZpbmVQcm9wZXJ0eTpjZnIsZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOmRmcixnZXRPd25Qcm9wZXJ0eU5hbWVzOnVmcixnZXRPd25Qcm9wZXJ0eVN5bWJvbHM6cGZyLGdldFByb3RvdHlwZU9mOmZmcn09T2JqZWN0KSxxdj1nbG9iYWxUaGlzLHZwZT1xdi50cnVzdGVkVHlwZXMsaGZyPXZwZT92cGUuZW1wdHlTY3JpcHQ6IiIsbWZyPXF2LnJlYWN0aXZlRWxlbWVudFBvbHlmaWxsU3VwcG9ydCx0aD0oZSx0KT0+ZSxEdT17dG9BdHRyaWJ1dGUoZSx0KXtzd2l0Y2godCl7Y2FzZSBCb29sZWFuOmU9ZT9oZnI6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OmU9ZT09bnVsbD9lOkpTT04uc3RyaW5naWZ5KGUpfXJldHVybiBlfSxmcm9tQXR0cmlidXRlKGUsdCl7bGV0IHI9ZTtzd2l0Y2godCl7Y2FzZSBCb29sZWFuOnI9ZSE9PW51bGw7YnJlYWs7Y2FzZSBOdW1iZXI6cj1lPT09bnVsbD9udWxsOk51bWJlcihlKTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXtyPUpTT04ucGFyc2UoZSl9Y2F0Y2h7cj1udWxsfX1yZXR1cm4gcn19LHJoPShlLHQpPT4hbGZyKGUsdCkseHBlPXthdHRyaWJ1dGU6ITAsdHlwZTpTdHJpbmcsY29udmVydGVyOkR1LHJlZmxlY3Q6ITEsdXNlRGVmYXVsdDohMSxoYXNDaGFuZ2VkOnJofTtTeW1ib2wubWV0YWRhdGE/Pz1TeW1ib2woIm1ldGFkYXRhIikscXYubGl0UHJvcGVydHlNZXRhZGF0YT8/PW5ldyBXZWFrTWFwO1FvPWNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnR7c3RhdGljIGFkZEluaXRpYWxpemVyKHQpe3RoaXMuXyRFaSgpLCh0aGlzLmw/Pz1bXSkucHVzaCh0KX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3JldHVybiB0aGlzLmZpbmFsaXplKCksdGhpcy5fJEVoJiZbLi4udGhpcy5fJEVoLmtleXMoKV19c3RhdGljIGNyZWF0ZVByb3BlcnR5KHQscj14cGUpe2lmKHIuc3RhdGUmJihyLmF0dHJpYnV0ZT0hMSksdGhpcy5fJEVpKCksdGhpcy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkodCkmJigocj1PYmplY3QuY3JlYXRlKHIpKS53cmFwcGVkPSEwKSx0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLnNldCh0LHIpLCFyLm5vQWNjZXNzb3Ipe2xldCBhPVN5bWJvbCgpLGk9dGhpcy5nZXRQcm9wZXJ0eURlc2NyaXB0b3IodCxhLHIpO2khPT12b2lkIDAmJmNmcih0aGlzLnByb3RvdHlwZSx0LGkpfX1zdGF0aWMgZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHQscixhKXtsZXR7Z2V0Omksc2V0Om59PWRmcih0aGlzLnByb3RvdHlwZSx0KT8/e2dldCgpe3JldHVybiB0aGlzW3JdfSxzZXQocyl7dGhpc1tyXT1zfX07cmV0dXJue2dldDppLHNldChzKXtsZXQgbz1pPy5jYWxsKHRoaXMpO24/LmNhbGwodGhpcyxzKSx0aGlzLnJlcXVlc3RVcGRhdGUodCxvLGEpfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH19c3RhdGljIGdldFByb3BlcnR5T3B0aW9ucyh0KXtyZXR1cm4gdGhpcy5lbGVtZW50UHJvcGVydGllcy5nZXQodCk/P3hwZX1zdGF0aWMgXyRFaSgpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkodGgoImVsZW1lbnRQcm9wZXJ0aWVzIikpKXJldHVybjtsZXQgdD1mZnIodGhpcyk7dC5maW5hbGl6ZSgpLHQubCE9PXZvaWQgMCYmKHRoaXMubD1bLi4udC5sXSksdGhpcy5lbGVtZW50UHJvcGVydGllcz1uZXcgTWFwKHQuZWxlbWVudFByb3BlcnRpZXMpfXN0YXRpYyBmaW5hbGl6ZSgpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkodGgoImZpbmFsaXplZCIpKSlyZXR1cm47aWYodGhpcy5maW5hbGl6ZWQ9ITAsdGhpcy5fJEVpKCksdGhpcy5oYXNPd25Qcm9wZXJ0eSh0aCgicHJvcGVydGllcyIpKSl7bGV0IHI9dGhpcy5wcm9wZXJ0aWVzLGE9Wy4uLnVmcihyKSwuLi5wZnIocildO2ZvcihsZXQgaSBvZiBhKXRoaXMuY3JlYXRlUHJvcGVydHkoaSxyW2ldKX1sZXQgdD10aGlzW1N5bWJvbC5tZXRhZGF0YV07aWYodCE9PW51bGwpe2xldCByPWxpdFByb3BlcnR5TWV0YWRhdGEuZ2V0KHQpO2lmKHIhPT12b2lkIDApZm9yKGxldFthLGldb2Ygcil0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLnNldChhLGkpfXRoaXMuXyRFaD1uZXcgTWFwO2ZvcihsZXRbcixhXW9mIHRoaXMuZWxlbWVudFByb3BlcnRpZXMpe2xldCBpPXRoaXMuXyRFdShyLGEpO2khPT12b2lkIDAmJnRoaXMuXyRFaC5zZXQoaSxyKX10aGlzLmVsZW1lbnRTdHlsZXM9dGhpcy5maW5hbGl6ZVN0eWxlcyh0aGlzLnN0eWxlcyl9c3RhdGljIGZpbmFsaXplU3R5bGVzKHQpe2xldCByPVtdO2lmKEFycmF5LmlzQXJyYXkodCkpe2xldCBhPW5ldyBTZXQodC5mbGF0KDEvMCkucmV2ZXJzZSgpKTtmb3IobGV0IGkgb2YgYSlyLnVuc2hpZnQoZWgoaSkpfWVsc2UgdCE9PXZvaWQgMCYmci5wdXNoKGVoKHQpKTtyZXR1cm4gcn1zdGF0aWMgXyRFdSh0LHIpe2xldCBhPXIuYXR0cmlidXRlO3JldHVybiBhPT09ITE/dm9pZCAwOnR5cGVvZiBhPT0ic3RyaW5nIj9hOnR5cGVvZiB0PT0ic3RyaW5nIj90LnRvTG93ZXJDYXNlKCk6dm9pZCAwfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl8kRXA9dm9pZCAwLHRoaXMuaXNVcGRhdGVQZW5kaW5nPSExLHRoaXMuaGFzVXBkYXRlZD0hMSx0aGlzLl8kRW09bnVsbCx0aGlzLl8kRXYoKX1fJEV2KCl7dGhpcy5fJEVTPW5ldyBQcm9taXNlKHQ9PnRoaXMuZW5hYmxlVXBkYXRpbmc9dCksdGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5fJEVfKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5jb25zdHJ1Y3Rvci5sPy5mb3JFYWNoKHQ9PnQodGhpcykpfWFkZENvbnRyb2xsZXIodCl7KHRoaXMuXyRFTz8/PW5ldyBTZXQpLmFkZCh0KSx0aGlzLnJlbmRlclJvb3QhPT12b2lkIDAmJnRoaXMuaXNDb25uZWN0ZWQmJnQuaG9zdENvbm5lY3RlZD8uKCl9cmVtb3ZlQ29udHJvbGxlcih0KXt0aGlzLl8kRU8/LmRlbGV0ZSh0KX1fJEVfKCl7bGV0IHQ9bmV3IE1hcCxyPXRoaXMuY29uc3RydWN0b3IuZWxlbWVudFByb3BlcnRpZXM7Zm9yKGxldCBhIG9mIHIua2V5cygpKXRoaXMuaGFzT3duUHJvcGVydHkoYSkmJih0LnNldChhLHRoaXNbYV0pLGRlbGV0ZSB0aGlzW2FdKTt0LnNpemU+MCYmKHRoaXMuXyRFcD10KX1jcmVhdGVSZW5kZXJSb290KCl7bGV0IHQ9dGhpcy5zaGFkb3dSb290Pz90aGlzLmF0dGFjaFNoYWRvdyh0aGlzLmNvbnN0cnVjdG9yLnNoYWRvd1Jvb3RPcHRpb25zKTtyZXR1cm4gSHYodCx0aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRTdHlsZXMpLHR9Y29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLnJlbmRlclJvb3Q/Pz10aGlzLmNyZWF0ZVJlbmRlclJvb3QoKSx0aGlzLmVuYWJsZVVwZGF0aW5nKCEwKSx0aGlzLl8kRU8/LmZvckVhY2godD0+dC5ob3N0Q29ubmVjdGVkPy4oKSl9ZW5hYmxlVXBkYXRpbmcodCl7fWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5fJEVPPy5mb3JFYWNoKHQ9PnQuaG9zdERpc2Nvbm5lY3RlZD8uKCkpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LHIsYSl7dGhpcy5fJEFLKHQsYSl9XyRFVCh0LHIpe2xldCBhPXRoaXMuY29uc3RydWN0b3IuZWxlbWVudFByb3BlcnRpZXMuZ2V0KHQpLGk9dGhpcy5jb25zdHJ1Y3Rvci5fJEV1KHQsYSk7aWYoaSE9PXZvaWQgMCYmYS5yZWZsZWN0PT09ITApe2xldCBuPShhLmNvbnZlcnRlcj8udG9BdHRyaWJ1dGUhPT12b2lkIDA/YS5jb252ZXJ0ZXI6RHUpLnRvQXR0cmlidXRlKHIsYS50eXBlKTt0aGlzLl8kRW09dCxuPT1udWxsP3RoaXMucmVtb3ZlQXR0cmlidXRlKGkpOnRoaXMuc2V0QXR0cmlidXRlKGksbiksdGhpcy5fJEVtPW51bGx9fV8kQUsodCxyKXtsZXQgYT10aGlzLmNvbnN0cnVjdG9yLGk9YS5fJEVoLmdldCh0KTtpZihpIT09dm9pZCAwJiZ0aGlzLl8kRW0hPT1pKXtsZXQgbj1hLmdldFByb3BlcnR5T3B0aW9ucyhpKSxzPXR5cGVvZiBuLmNvbnZlcnRlcj09ImZ1bmN0aW9uIj97ZnJvbUF0dHJpYnV0ZTpuLmNvbnZlcnRlcn06bi5jb252ZXJ0ZXI/LmZyb21BdHRyaWJ1dGUhPT12b2lkIDA/bi5jb252ZXJ0ZXI6RHU7dGhpcy5fJEVtPWk7bGV0IG89cy5mcm9tQXR0cmlidXRlKHIsbi50eXBlKTt0aGlzW2ldPW8/P3RoaXMuXyRFaj8uZ2V0KGkpPz9vLHRoaXMuXyRFbT1udWxsfX1yZXF1ZXN0VXBkYXRlKHQscixhLGk9ITEsbil7aWYodCE9PXZvaWQgMCl7bGV0IHM9dGhpcy5jb25zdHJ1Y3RvcjtpZihpPT09ITEmJihuPXRoaXNbdF0pLGE/Pz1zLmdldFByb3BlcnR5T3B0aW9ucyh0KSwhKChhLmhhc0NoYW5nZWQ/P3JoKShuLHIpfHxhLnVzZURlZmF1bHQmJmEucmVmbGVjdCYmbj09PXRoaXMuXyRFaj8uZ2V0KHQpJiYhdGhpcy5oYXNBdHRyaWJ1dGUocy5fJEV1KHQsYSkpKSlyZXR1cm47dGhpcy5DKHQscixhKX10aGlzLmlzVXBkYXRlUGVuZGluZz09PSExJiYodGhpcy5fJEVTPXRoaXMuXyRFUCgpKX1DKHQscix7dXNlRGVmYXVsdDphLHJlZmxlY3Q6aSx3cmFwcGVkOm59LHMpe2EmJiEodGhpcy5fJEVqPz89bmV3IE1hcCkuaGFzKHQpJiYodGhpcy5fJEVqLnNldCh0LHM/P3I/P3RoaXNbdF0pLG4hPT0hMHx8cyE9PXZvaWQgMCl8fCh0aGlzLl8kQUwuaGFzKHQpfHwodGhpcy5oYXNVcGRhdGVkfHxhfHwocj12b2lkIDApLHRoaXMuXyRBTC5zZXQodCxyKSksaT09PSEwJiZ0aGlzLl8kRW0hPT10JiYodGhpcy5fJEVxPz89bmV3IFNldCkuYWRkKHQpKX1hc3luYyBfJEVQKCl7dGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITA7dHJ5e2F3YWl0IHRoaXMuXyRFU31jYXRjaChyKXtQcm9taXNlLnJlamVjdChyKX1sZXQgdD10aGlzLnNjaGVkdWxlVXBkYXRlKCk7cmV0dXJuIHQhPW51bGwmJmF3YWl0IHQsIXRoaXMuaXNVcGRhdGVQZW5kaW5nfXNjaGVkdWxlVXBkYXRlKCl7cmV0dXJuIHRoaXMucGVyZm9ybVVwZGF0ZSgpfXBlcmZvcm1VcGRhdGUoKXtpZighdGhpcy5pc1VwZGF0ZVBlbmRpbmcpcmV0dXJuO2lmKCF0aGlzLmhhc1VwZGF0ZWQpe2lmKHRoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuXyRFcCl7Zm9yKGxldFtpLG5db2YgdGhpcy5fJEVwKXRoaXNbaV09bjt0aGlzLl8kRXA9dm9pZCAwfWxldCBhPXRoaXMuY29uc3RydWN0b3IuZWxlbWVudFByb3BlcnRpZXM7aWYoYS5zaXplPjApZm9yKGxldFtpLG5db2YgYSl7bGV0e3dyYXBwZWQ6c309bixvPXRoaXNbaV07cyE9PSEwfHx0aGlzLl8kQUwuaGFzKGkpfHxvPT09dm9pZCAwfHx0aGlzLkMoaSx2b2lkIDAsbixvKX19bGV0IHQ9ITEscj10aGlzLl8kQUw7dHJ5e3Q9dGhpcy5zaG91bGRVcGRhdGUociksdD8odGhpcy53aWxsVXBkYXRlKHIpLHRoaXMuXyRFTz8uZm9yRWFjaChhPT5hLmhvc3RVcGRhdGU/LigpKSx0aGlzLnVwZGF0ZShyKSk6dGhpcy5fJEVNKCl9Y2F0Y2goYSl7dGhyb3cgdD0hMSx0aGlzLl8kRU0oKSxhfXQmJnRoaXMuXyRBRShyKX13aWxsVXBkYXRlKHQpe31fJEFFKHQpe3RoaXMuXyRFTz8uZm9yRWFjaChyPT5yLmhvc3RVcGRhdGVkPy4oKSksdGhpcy5oYXNVcGRhdGVkfHwodGhpcy5oYXNVcGRhdGVkPSEwLHRoaXMuZmlyc3RVcGRhdGVkKHQpKSx0aGlzLnVwZGF0ZWQodCl9XyRFTSgpe3RoaXMuXyRBTD1uZXcgTWFwLHRoaXMuaXNVcGRhdGVQZW5kaW5nPSExfWdldCB1cGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLmdldFVwZGF0ZUNvbXBsZXRlKCl9Z2V0VXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5fJEVTfXNob3VsZFVwZGF0ZSh0KXtyZXR1cm4hMH11cGRhdGUodCl7dGhpcy5fJEVxJiY9dGhpcy5fJEVxLmZvckVhY2gocj0+dGhpcy5fJEVUKHIsdGhpc1tyXSkpLHRoaXMuXyRFTSgpfXVwZGF0ZWQodCl7fWZpcnN0VXBkYXRlZCh0KXt9fTtRby5lbGVtZW50U3R5bGVzPVtdLFFvLnNoYWRvd1Jvb3RPcHRpb25zPXttb2RlOiJvcGVuIn0sUW9bdGgoImVsZW1lbnRQcm9wZXJ0aWVzIildPW5ldyBNYXAsUW9bdGgoImZpbmFsaXplZCIpXT1uZXcgTWFwLG1mcj8uKHtSZWFjdGl2ZUVsZW1lbnQ6UW99KSwocXYucmVhY3RpdmVFbGVtZW50VmVyc2lvbnM/Pz1bXSkucHVzaCgiMi4xLjIiKX0pO2Z1bmN0aW9uIExwZShlLHQpe2lmKCFTTyhlKXx8IWUuaGFzT3duUHJvcGVydHkoInJhdyIpKXRocm93IEVycm9yKCJpbnZhbGlkIHRlbXBsYXRlIHN0cmluZ3MgYXJyYXkiKTtyZXR1cm4gd3BlIT09dm9pZCAwP3dwZS5jcmVhdGVIVE1MKHQpOnR9ZnVuY3Rpb24gYjMoZSx0LHI9ZSxhKXtpZih0PT09Y2EpcmV0dXJuIHQ7bGV0IGk9YSE9PXZvaWQgMD9yLl8kQ28/LlthXTpyLl8kQ2wsbj1uaCh0KT92b2lkIDA6dC5fJGxpdERpcmVjdGl2ZSQ7cmV0dXJuIGk/LmNvbnN0cnVjdG9yIT09biYmKGk/Ll8kQU8/LighMSksbj09PXZvaWQgMD9pPXZvaWQgMDooaT1uZXcgbihlKSxpLl8kQVQoZSxyLGEpKSxhIT09dm9pZCAwPyhyLl8kQ28/Pz1bXSlbYV09aTpyLl8kQ2w9aSksaSE9PXZvaWQgMCYmKHQ9YjMoZSxpLl8kQVMoZSx0LnZhbHVlcyksaSxhKSksdH12YXIgd08seXBlLGp2LHdwZSxNTyx5bCxrTyxnZnIsaDMsaWgsbmgsU08sTXBlLHpPLHNoLGtwZSxTcGUsbTMsenBlLENwZSxUcGUsQ08saHIsVE8sX08sY2EseWEsX3BlLGczLCRwZSxvaCxWdixBdSx2MyxVdixXdixHdixZdixMTyxiZnIsbGgsYW89ZigoKT0+e3dPPWdsb2JhbFRoaXMseXBlPWU9PmUsanY9d08udHJ1c3RlZFR5cGVzLHdwZT1qdj9qdi5jcmVhdGVQb2xpY3koImxpdC1odG1sIix7Y3JlYXRlSFRNTDplPT5lfSk6dm9pZCAwLE1PPSIkbGl0JCIseWw9YGxpdCQke01hdGgucmFuZG9tKCkudG9GaXhlZCg5KS5zbGljZSgyKX0kYCxrTz0iPyIreWwsZ2ZyPWA8JHtrT30+YCxoMz1kb2N1bWVudCxpaD0oKT0+aDMuY3JlYXRlQ29tbWVudCgiIiksbmg9ZT0+ZT09PW51bGx8fHR5cGVvZiBlIT0ib2JqZWN0IiYmdHlwZW9mIGUhPSJmdW5jdGlvbiIsU089QXJyYXkuaXNBcnJheSxNcGU9ZT0+U08oZSl8fHR5cGVvZiBlPy5bU3ltYm9sLml0ZXJhdG9yXT09ImZ1bmN0aW9uIix6Tz1gWyAJClxmXHJdYCxzaD0vPCg/OighLS18XC9bXmEtekEtWl0pfChcLz9bYS16QS1aXVtePlxzXSopfChcLz8kKSkvZyxrcGU9Ly0tPi9nLFNwZT0vPi9nLG0zPVJlZ0V4cChgPnwke3pPfSg/OihbXlxccyInPj0vXSspKCR7ek99Kj0ke3pPfSooPzpbXiAJClxmXHIiJ1xgPD49XXwoInwnKXwpKXwkKWAsImciKSx6cGU9LycvZyxDcGU9LyIvZyxUcGU9L14oPzpzY3JpcHR8c3R5bGV8dGV4dGFyZWF8dGl0bGUpJC9pLENPPWU9Pih0LC4uLnIpPT4oe18kbGl0VHlwZSQ6ZSxzdHJpbmdzOnQsdmFsdWVzOnJ9KSxocj1DTygxKSxUTz1DTygyKSxfTz1DTygzKSxjYT1TeW1ib2wuZm9yKCJsaXQtbm9DaGFuZ2UiKSx5YT1TeW1ib2wuZm9yKCJsaXQtbm90aGluZyIpLF9wZT1uZXcgV2Vha01hcCxnMz1oMy5jcmVhdGVUcmVlV2Fsa2VyKGgzLDEyOSk7JHBlPShlLHQpPT57bGV0IHI9ZS5sZW5ndGgtMSxhPVtdLGksbj10PT09Mj8iPHN2Zz4iOnQ9PT0zPyI8bWF0aD4iOiIiLHM9c2g7Zm9yKGxldCBvPTA7bzxyO28rKyl7bGV0IGM9ZVtvXSxsLHUsZD0tMSxoPTA7Zm9yKDtoPGMubGVuZ3RoJiYocy5sYXN0SW5kZXg9aCx1PXMuZXhlYyhjKSx1IT09bnVsbCk7KWg9cy5sYXN0SW5kZXgscz09PXNoP3VbMV09PT0iIS0tIj9zPWtwZTp1WzFdIT09dm9pZCAwP3M9U3BlOnVbMl0hPT12b2lkIDA/KFRwZS50ZXN0KHVbMl0pJiYoaT1SZWdFeHAoIjwvIit1WzJdLCJnIikpLHM9bTMpOnVbM10hPT12b2lkIDAmJihzPW0zKTpzPT09bTM/dVswXT09PSI+Ij8ocz1pPz9zaCxkPS0xKTp1WzFdPT09dm9pZCAwP2Q9LTI6KGQ9cy5sYXN0SW5kZXgtdVsyXS5sZW5ndGgsbD11WzFdLHM9dVszXT09PXZvaWQgMD9tMzp1WzNdPT09JyInP0NwZTp6cGUpOnM9PT1DcGV8fHM9PT16cGU/cz1tMzpzPT09a3BlfHxzPT09U3BlP3M9c2g6KHM9bTMsaT12b2lkIDApO2xldCBtPXM9PT1tMyYmZVtvKzFdLnN0YXJ0c1dpdGgoIi8+Iik/IiAiOiIiO24rPXM9PT1zaD9jK2dmcjpkPj0wPyhhLnB1c2gobCksYy5zbGljZSgwLGQpK01PK2Muc2xpY2UoZCkreWwrbSk6Yyt5bCsoZD09PS0yP286bSl9cmV0dXJuW0xwZShlLG4rKGVbcl18fCI8Pz4iKSsodD09PTI/Ijwvc3ZnPiI6dD09PTM/IjwvbWF0aD4iOiIiKSksYV19LG9oPWNsYXNzIGV7Y29uc3RydWN0b3Ioe3N0cmluZ3M6dCxfJGxpdFR5cGUkOnJ9LGEpe2xldCBpO3RoaXMucGFydHM9W107bGV0IG49MCxzPTAsbz10Lmxlbmd0aC0xLGM9dGhpcy5wYXJ0cyxbbCx1XT0kcGUodCxyKTtpZih0aGlzLmVsPWUuY3JlYXRlRWxlbWVudChsLGEpLGczLmN1cnJlbnROb2RlPXRoaXMuZWwuY29udGVudCxyPT09Mnx8cj09PTMpe2xldCBkPXRoaXMuZWwuY29udGVudC5maXJzdENoaWxkO2QucmVwbGFjZVdpdGgoLi4uZC5jaGlsZE5vZGVzKX1mb3IoOyhpPWczLm5leHROb2RlKCkpIT09bnVsbCYmYy5sZW5ndGg8bzspe2lmKGkubm9kZVR5cGU9PT0xKXtpZihpLmhhc0F0dHJpYnV0ZXMoKSlmb3IobGV0IGQgb2YgaS5nZXRBdHRyaWJ1dGVOYW1lcygpKWlmKGQuZW5kc1dpdGgoTU8pKXtsZXQgaD11W3MrK10sbT1pLmdldEF0dHJpYnV0ZShkKS5zcGxpdCh5bCksdj0vKFsuP0BdKT8oLiopLy5leGVjKGgpO2MucHVzaCh7dHlwZToxLGluZGV4Om4sbmFtZTp2WzJdLHN0cmluZ3M6bSxjdG9yOnZbMV09PT0iLiI/VXY6dlsxXT09PSI/Ij9Xdjp2WzFdPT09IkAiP0d2OnYzfSksaS5yZW1vdmVBdHRyaWJ1dGUoZCl9ZWxzZSBkLnN0YXJ0c1dpdGgoeWwpJiYoYy5wdXNoKHt0eXBlOjYsaW5kZXg6bn0pLGkucmVtb3ZlQXR0cmlidXRlKGQpKTtpZihUcGUudGVzdChpLnRhZ05hbWUpKXtsZXQgZD1pLnRleHRDb250ZW50LnNwbGl0KHlsKSxoPWQubGVuZ3RoLTE7aWYoaD4wKXtpLnRleHRDb250ZW50PWp2P2p2LmVtcHR5U2NyaXB0OiIiO2ZvcihsZXQgbT0wO208aDttKyspaS5hcHBlbmQoZFttXSxpaCgpKSxnMy5uZXh0Tm9kZSgpLGMucHVzaCh7dHlwZToyLGluZGV4Oisrbn0pO2kuYXBwZW5kKGRbaF0saWgoKSl9fX1lbHNlIGlmKGkubm9kZVR5cGU9PT04KWlmKGkuZGF0YT09PWtPKWMucHVzaCh7dHlwZToyLGluZGV4Om59KTtlbHNle2xldCBkPS0xO2Zvcig7KGQ9aS5kYXRhLmluZGV4T2YoeWwsZCsxKSkhPT0tMTspYy5wdXNoKHt0eXBlOjcsaW5kZXg6bn0pLGQrPXlsLmxlbmd0aC0xfW4rK319c3RhdGljIGNyZWF0ZUVsZW1lbnQodCxyKXtsZXQgYT1oMy5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO3JldHVybiBhLmlubmVySFRNTD10LGF9fTtWdj1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIpe3RoaXMuXyRBVj1bXSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBRD10LHRoaXMuXyRBTT1yfWdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBTS5wYXJlbnROb2RlfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfXUodCl7bGV0e2VsOntjb250ZW50OnJ9LHBhcnRzOmF9PXRoaXMuXyRBRCxpPSh0Py5jcmVhdGlvblNjb3BlPz9oMykuaW1wb3J0Tm9kZShyLCEwKTtnMy5jdXJyZW50Tm9kZT1pO2xldCBuPWczLm5leHROb2RlKCkscz0wLG89MCxjPWFbMF07Zm9yKDtjIT09dm9pZCAwOyl7aWYocz09PWMuaW5kZXgpe2xldCBsO2MudHlwZT09PTI/bD1uZXcgQXUobixuLm5leHRTaWJsaW5nLHRoaXMsdCk6Yy50eXBlPT09MT9sPW5ldyBjLmN0b3IobixjLm5hbWUsYy5zdHJpbmdzLHRoaXMsdCk6Yy50eXBlPT09NiYmKGw9bmV3IFl2KG4sdGhpcyx0KSksdGhpcy5fJEFWLnB1c2gobCksYz1hWysrb119cyE9PWM/LmluZGV4JiYobj1nMy5uZXh0Tm9kZSgpLHMrKyl9cmV0dXJuIGczLmN1cnJlbnROb2RlPWgzLGl9cCh0KXtsZXQgcj0wO2ZvcihsZXQgYSBvZiB0aGlzLl8kQVYpYSE9PXZvaWQgMCYmKGEuc3RyaW5ncyE9PXZvaWQgMD8oYS5fJEFJKHQsYSxyKSxyKz1hLnN0cmluZ3MubGVuZ3RoLTIpOmEuXyRBSSh0W3JdKSkscisrfX0sQXU9Y2xhc3MgZXtnZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0/Ll8kQVU/P3RoaXMuXyRDdn1jb25zdHJ1Y3Rvcih0LHIsYSxpKXt0aGlzLnR5cGU9Mix0aGlzLl8kQUg9eWEsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQUE9dCx0aGlzLl8kQUI9cix0aGlzLl8kQU09YSx0aGlzLm9wdGlvbnM9aSx0aGlzLl8kQ3Y9aT8uaXNDb25uZWN0ZWQ/PyEwfWdldCBwYXJlbnROb2RlKCl7bGV0IHQ9dGhpcy5fJEFBLnBhcmVudE5vZGUscj10aGlzLl8kQU07cmV0dXJuIHIhPT12b2lkIDAmJnQ/Lm5vZGVUeXBlPT09MTEmJih0PXIucGFyZW50Tm9kZSksdH1nZXQgc3RhcnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBQX1nZXQgZW5kTm9kZSgpe3JldHVybiB0aGlzLl8kQUJ9XyRBSSh0LHI9dGhpcyl7dD1iMyh0aGlzLHQsciksbmgodCk/dD09PXlhfHx0PT1udWxsfHx0PT09IiI/KHRoaXMuXyRBSCE9PXlhJiZ0aGlzLl8kQVIoKSx0aGlzLl8kQUg9eWEpOnQhPT10aGlzLl8kQUgmJnQhPT1jYSYmdGhpcy5fKHQpOnQuXyRsaXRUeXBlJCE9PXZvaWQgMD90aGlzLiQodCk6dC5ub2RlVHlwZSE9PXZvaWQgMD90aGlzLlQodCk6TXBlKHQpP3RoaXMuayh0KTp0aGlzLl8odCl9Tyh0KXtyZXR1cm4gdGhpcy5fJEFBLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fJEFCKX1UKHQpe3RoaXMuXyRBSCE9PXQmJih0aGlzLl8kQVIoKSx0aGlzLl8kQUg9dGhpcy5PKHQpKX1fKHQpe3RoaXMuXyRBSCE9PXlhJiZuaCh0aGlzLl8kQUgpP3RoaXMuXyRBQS5uZXh0U2libGluZy5kYXRhPXQ6dGhpcy5UKGgzLmNyZWF0ZVRleHROb2RlKHQpKSx0aGlzLl8kQUg9dH0kKHQpe2xldHt2YWx1ZXM6cixfJGxpdFR5cGUkOmF9PXQsaT10eXBlb2YgYT09Im51bWJlciI/dGhpcy5fJEFDKHQpOihhLmVsPT09dm9pZCAwJiYoYS5lbD1vaC5jcmVhdGVFbGVtZW50KExwZShhLmgsYS5oWzBdKSx0aGlzLm9wdGlvbnMpKSxhKTtpZih0aGlzLl8kQUg/Ll8kQUQ9PT1pKXRoaXMuXyRBSC5wKHIpO2Vsc2V7bGV0IG49bmV3IFZ2KGksdGhpcykscz1uLnUodGhpcy5vcHRpb25zKTtuLnAociksdGhpcy5UKHMpLHRoaXMuXyRBSD1ufX1fJEFDKHQpe2xldCByPV9wZS5nZXQodC5zdHJpbmdzKTtyZXR1cm4gcj09PXZvaWQgMCYmX3BlLnNldCh0LnN0cmluZ3Mscj1uZXcgb2godCkpLHJ9ayh0KXtTTyh0aGlzLl8kQUgpfHwodGhpcy5fJEFIPVtdLHRoaXMuXyRBUigpKTtsZXQgcj10aGlzLl8kQUgsYSxpPTA7Zm9yKGxldCBuIG9mIHQpaT09PXIubGVuZ3RoP3IucHVzaChhPW5ldyBlKHRoaXMuTyhpaCgpKSx0aGlzLk8oaWgoKSksdGhpcyx0aGlzLm9wdGlvbnMpKTphPXJbaV0sYS5fJEFJKG4pLGkrKztpPHIubGVuZ3RoJiYodGhpcy5fJEFSKGEmJmEuXyRBQi5uZXh0U2libGluZyxpKSxyLmxlbmd0aD1pKX1fJEFSKHQ9dGhpcy5fJEFBLm5leHRTaWJsaW5nLHIpe2Zvcih0aGlzLl8kQVA/LighMSwhMCxyKTt0IT09dGhpcy5fJEFCOyl7bGV0IGE9eXBlKHQpLm5leHRTaWJsaW5nO3lwZSh0KS5yZW1vdmUoKSx0PWF9fXNldENvbm5lY3RlZCh0KXt0aGlzLl8kQU09PT12b2lkIDAmJih0aGlzLl8kQ3Y9dCx0aGlzLl8kQVA/Lih0KSl9fSx2Mz1jbGFzc3tnZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1jb25zdHJ1Y3Rvcih0LHIsYSxpLG4pe3RoaXMudHlwZT0xLHRoaXMuXyRBSD15YSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuZWxlbWVudD10LHRoaXMubmFtZT1yLHRoaXMuXyRBTT1pLHRoaXMub3B0aW9ucz1uLGEubGVuZ3RoPjJ8fGFbMF0hPT0iInx8YVsxXSE9PSIiPyh0aGlzLl8kQUg9QXJyYXkoYS5sZW5ndGgtMSkuZmlsbChuZXcgU3RyaW5nKSx0aGlzLnN0cmluZ3M9YSk6dGhpcy5fJEFIPXlhfV8kQUkodCxyPXRoaXMsYSxpKXtsZXQgbj10aGlzLnN0cmluZ3Mscz0hMTtpZihuPT09dm9pZCAwKXQ9YjModGhpcyx0LHIsMCkscz0hbmgodCl8fHQhPT10aGlzLl8kQUgmJnQhPT1jYSxzJiYodGhpcy5fJEFIPXQpO2Vsc2V7bGV0IG89dCxjLGw7Zm9yKHQ9blswXSxjPTA7YzxuLmxlbmd0aC0xO2MrKylsPWIzKHRoaXMsb1thK2NdLHIsYyksbD09PWNhJiYobD10aGlzLl8kQUhbY10pLHN8fD0hbmgobCl8fGwhPT10aGlzLl8kQUhbY10sbD09PXlhP3Q9eWE6dCE9PXlhJiYodCs9KGw/PyIiKStuW2MrMV0pLHRoaXMuXyRBSFtjXT1sfXMmJiFpJiZ0aGlzLmoodCl9aih0KXt0PT09eWE/dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpOnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLHQ/PyIiKX19LFV2PWNsYXNzIGV4dGVuZHMgdjN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT0zfWoodCl7dGhpcy5lbGVtZW50W3RoaXMubmFtZV09dD09PXlhP3ZvaWQgMDp0fX0sV3Y9Y2xhc3MgZXh0ZW5kcyB2M3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy50eXBlPTR9aih0KXt0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKHRoaXMubmFtZSwhIXQmJnQhPT15YSl9fSxHdj1jbGFzcyBleHRlbmRzIHYze2NvbnN0cnVjdG9yKHQscixhLGksbil7c3VwZXIodCxyLGEsaSxuKSx0aGlzLnR5cGU9NX1fJEFJKHQscj10aGlzKXtpZigodD1iMyh0aGlzLHQsciwwKT8/eWEpPT09Y2EpcmV0dXJuO2xldCBhPXRoaXMuXyRBSCxpPXQ9PT15YSYmYSE9PXlhfHx0LmNhcHR1cmUhPT1hLmNhcHR1cmV8fHQub25jZSE9PWEub25jZXx8dC5wYXNzaXZlIT09YS5wYXNzaXZlLG49dCE9PXlhJiYoYT09PXlhfHxpKTtpJiZ0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxhKSxuJiZ0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyx0KSx0aGlzLl8kQUg9dH1oYW5kbGVFdmVudCh0KXt0eXBlb2YgdGhpcy5fJEFIPT0iZnVuY3Rpb24iP3RoaXMuXyRBSC5jYWxsKHRoaXMub3B0aW9ucz8uaG9zdD8/dGhpcy5lbGVtZW50LHQpOnRoaXMuXyRBSC5oYW5kbGVFdmVudCh0KX19LFl2PWNsYXNze2NvbnN0cnVjdG9yKHQscixhKXt0aGlzLmVsZW1lbnQ9dCx0aGlzLnR5cGU9Nix0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBTT1yLHRoaXMub3B0aW9ucz1hfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfV8kQUkodCl7YjModGhpcyx0KX19LExPPXtNOk1PLFA6eWwsQTprTyxDOjEsTDokcGUsUjpWdixEOk1wZSxWOmIzLEk6QXUsSDp2MyxOOld2LFU6R3YsQjpVdixGOll2fSxiZnI9d08ubGl0SHRtbFBvbHlmaWxsU3VwcG9ydDtiZnI/LihvaCxBdSksKHdPLmxpdEh0bWxWZXJzaW9ucz8/PVtdKS5wdXNoKCIzLjMuMiIpO2xoPShlLHQscik9PntsZXQgYT1yPy5yZW5kZXJCZWZvcmU/P3QsaT1hLl8kbGl0UGFydCQ7aWYoaT09PXZvaWQgMCl7bGV0IG49cj8ucmVuZGVyQmVmb3JlPz9udWxsO2EuXyRsaXRQYXJ0JD1pPW5ldyBBdSh0Lmluc2VydEJlZm9yZShpaCgpLG4pLG4sdm9pZCAwLHI/P3t9KX1yZXR1cm4gaS5fJEFJKGUpLGl9fSk7dmFyICRPLHdsLHZmcix4ZnIsRHBlPWYoKCk9PnthaCgpO2FoKCk7YW8oKTthbygpOyRPPWdsb2JhbFRoaXMsd2w9Y2xhc3MgZXh0ZW5kcyBRb3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5yZW5kZXJPcHRpb25zPXtob3N0OnRoaXN9LHRoaXMuXyREbz12b2lkIDB9Y3JlYXRlUmVuZGVyUm9vdCgpe2xldCB0PXN1cGVyLmNyZWF0ZVJlbmRlclJvb3QoKTtyZXR1cm4gdGhpcy5yZW5kZXJPcHRpb25zLnJlbmRlckJlZm9yZT8/PXQuZmlyc3RDaGlsZCx0fXVwZGF0ZSh0KXtsZXQgcj10aGlzLnJlbmRlcigpO3RoaXMuaGFzVXBkYXRlZHx8KHRoaXMucmVuZGVyT3B0aW9ucy5pc0Nvbm5lY3RlZD10aGlzLmlzQ29ubmVjdGVkKSxzdXBlci51cGRhdGUodCksdGhpcy5fJERvPWxoKHIsdGhpcy5yZW5kZXJSb290LHRoaXMucmVuZGVyT3B0aW9ucyl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuXyREbz8uc2V0Q29ubmVjdGVkKCEwKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fJERvPy5zZXRDb25uZWN0ZWQoITEpfXJlbmRlcigpe3JldHVybiBjYX19O3dsLl8kbGl0RWxlbWVudCQ9ITAsd2wuZmluYWxpemVkPSEwLCRPLmxpdEVsZW1lbnRIeWRyYXRlU3VwcG9ydD8uKHtMaXRFbGVtZW50OndsfSk7dmZyPSRPLmxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQ7dmZyPy4oe0xpdEVsZW1lbnQ6d2x9KTt4ZnI9e18kQUs6KGUsdCxyKT0+e2UuXyRBSyh0LHIpfSxfJEFMOmU9PmUuXyRBTH07KCRPLmxpdEVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKCI0LjIuMiIpfSk7dmFyIHlmcixBcGU9ZigoKT0+e3lmcj0hMX0pO3ZhciBKbz1mKCgpPT57YWgoKTthbygpO0RwZSgpO0FwZSgpfSk7dmFyIFh2PWplKFp2PT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShadiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksWnYudW5pPXZvaWQgMDt2YXIgd2ZyPShlPSJ1bmkiKT0+YCR7ZX1fJHsieHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4Ii5yZXBsYWNlKC9beHldL2csdD0+e2xldCByPU1hdGgucmFuZG9tKCkqMTZ8MDtyZXR1cm4odD09PSJ4Ij9yOnImM3w4KS50b1N0cmluZygxNil9KX1gO1p2LnVuaT13ZnJ9KTt2YXIgUXYscjAsSnY9ZigoKT0+e1F2PWNsYXNze2NsYWltKCl7aWYodGhpcy5jbGFpbWVkKXRocm93IG5ldyBFcnJvcigiRGVmZXJyZWQgYWxyZWFkeSBjbGFpbWVkIik7dGhpcy5jbGFpbWVkPSEwfWdldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLnN0b3BwZWRBdD90aGlzLnN0b3BwZWRBdC10aGlzLnN0YXJ0ZWRBdDpEYXRlLm5vdygpLXRoaXMuc3RhcnRlZEF0fWNvbnN0cnVjdG9yKCl7dGhpcy5jbGFpbWVkPSExLHRoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgodCxyKT0+e3RoaXMucmVzb2x2ZT1hPT57dGhpcy5zdGF0dXM9ImZ1bGZpbGxlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSx0KGEpfSx0aGlzLnJlamVjdD1hPT57dGhpcy5zdGF0dXM9InJlamVjdGVkIix0aGlzLnN0b3BwZWRBdD1EYXRlLm5vdygpLHIoYSl9LHRoaXMuc3RhcnRlZEF0PURhdGUubm93KCksdGhpcy5zdGF0dXM9InBlbmRpbmcifSl9fSxyMD0oKT0+bmV3IFF2fSk7dmFyIEt2LE1mcixFcGU9ZigoKT0+e0p2KCk7S3Y9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXM9W10sdGhpcy5kZWZlcnJlZD1yMCgpLHRoaXMucHJvbWlzZT10aGlzLmRlZmVycmVkLnByb21pc2Usc2V0VGltZW91dChhc3luYygpPT57Zm9yKDt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMubGVuZ3RoPjA7KWF3YWl0IHRoaXMuYWNjdW11bGF0ZWRQcm9taXNlcy5zaGlmdCgpO3RoaXMuZGVmZXJyZWQucmVzb2x2ZSgpfSwwKX1zdWJEZWZlcigpe2xldCB0PXIwKCk7cmV0dXJuIHRoaXMuYWRkUHJvbWlzZSh0LnByb21pc2UpLHR9YWRkUHJvbWlzZSh0KXt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMucHVzaCh0KX19LE1mcj0oKT0+bmV3IEt2fSk7dmFyIEplPXt9O1JlKEplLHtDdW11bGF0aXZlRGVmZXJyZWQ6KCk9Pkt2LERlZmVycmVkOigpPT5RdixjdW11bGF0aXZlRGVmZXI6KCk9Pk1mcixkZWZlcjooKT0+cjAsZnJvbUNhbGxiYWNrOigpPT5fZnIsZ2V0Rmlyc3RUcnVlT3JGYWxzZTooKT0+VGZyLG1hcDooKT0+emZyLHJlamVjdGVkUHJvbWlzZTooKT0+U2ZyLHJlc29sdmVkUHJvbWlzZTooKT0+a2ZyLHRpbWVvdXRBbmRDb250aW51ZTooKT0+Q2ZyLHRpbWVvdXRXcmFwOigpPT5JcGV9KTt2YXIga2ZyLFNmcix6ZnIsSXBlLENmcixUZnIsX2ZyLGxuPWYoKCk9PntKdigpO0VwZSgpO0p2KCk7a2ZyPWU9PlByb21pc2UucmVzb2x2ZShlKSxTZnI9ZT0+UHJvbWlzZS5yZWplY3QoZSksemZyPWFzeW5jKGUsdCk9PntsZXQgcj1bXSxhPVtdO2ZvcihsZXQgaSBvZiBlKXtsZXQgbj10KGkpO3IucHVzaChuKSxuLnRoZW4ocz0+e2EucHVzaChzKX0pfXJldHVybiBhd2FpdCBQcm9taXNlLmFsbChyKSxhfSxJcGU9YXN5bmMoZSx0LHI9ITApPT5uZXcgUHJvbWlzZSgoYSxpKT0+e3NldFRpbWVvdXQoKCk9PntyP2kobmV3IEVycm9yKCJ0aW1lb3V0IikpOmEobnVsbCl9LHQpLGUudGhlbihhLGkpfSksQ2ZyPWFzeW5jKGUsdD02ZTQpPT5JcGUoZSx0LCExKSxUZnI9YXN5bmMgZT0+e2xldCB0PXIwKCk7Zm9yKGxldCByIG9mIGUpci50aGVuKGE9PnthPT09ITAmJnQucmVzb2x2ZSghMCl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoZSkudGhlbigoKT0+e3QucmVzb2x2ZSghMSl9KSx0LnByb21pc2V9LF9mcj1lPT5uZXcgUHJvbWlzZSgodCxyKT0+e2UoKGEsaSk9PnthP3IoYSk6dChpKX0pfSl9KTt2YXIgZXg9ZigoKT0+e2xuKCl9KTtmdW5jdGlvbiBXdChlLHQpe2lmKHR5cGVvZiB0IT0iZnVuY3Rpb24iJiZ0IT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKHQpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO0RPKGUsdCk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9ZX1lLnByb3RvdHlwZT10PT09bnVsbD9PYmplY3QuY3JlYXRlKHQpOihyLnByb3RvdHlwZT10LnByb3RvdHlwZSxuZXcgcil9ZnVuY3Rpb24gJGZyKGUsdCl7dmFyIHI9e307Zm9yKHZhciBhIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSkmJnQuaW5kZXhPZihhKTwwJiYoclthXT1lW2FdKTtpZihlIT1udWxsJiZ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz09ImZ1bmN0aW9uIilmb3IodmFyIGk9MCxhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7aTxhLmxlbmd0aDtpKyspdC5pbmRleE9mKGFbaV0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLGFbaV0pJiYoclthW2ldXT1lW2FbaV1dKTtyZXR1cm4gcn1mdW5jdGlvbiBEZnIoZSx0LHIsYSl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aCxuPWk8Mz90OmE9PT1udWxsP2E9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpOmEscztpZih0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0LmRlY29yYXRlPT0iZnVuY3Rpb24iKW49UmVmbGVjdC5kZWNvcmF0ZShlLHQscixhKTtlbHNlIGZvcih2YXIgbz1lLmxlbmd0aC0xO28+PTA7by0tKShzPWVbb10pJiYobj0oaTwzP3Mobik6aT4zP3ModCxyLG4pOnModCxyKSl8fG4pO3JldHVybiBpPjMmJm4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIsbiksbn1mdW5jdGlvbiBBZnIoZSx0KXtyZXR1cm4gZnVuY3Rpb24ocixhKXt0KHIsYSxlKX19ZnVuY3Rpb24gRWZyKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH1mdW5jdGlvbiBJZnIoZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9ZnVuY3Rpb24gUGZyKGUpe3JldHVybiB0eXBlb2YgZT09InN5bWJvbCI/ZToiIi5jb25jYXQoZSl9ZnVuY3Rpb24gTmZyKGUsdCxyKXtyZXR1cm4gdHlwZW9mIHQ9PSJzeW1ib2wiJiYodD10LmRlc2NyaXB0aW9uPyJbIi5jb25jYXQodC5kZXNjcmlwdGlvbiwiXSIpOiIiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwibmFtZSIse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTpyPyIiLmNvbmNhdChyLCIgIix0KTp0fSl9ZnVuY3Rpb24gRmZyKGUsdCl7aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShlLHQpfWZ1bmN0aW9uIFBPKGUsdCxyLGEpe2Z1bmN0aW9uIGkobil7cmV0dXJuIG4gaW5zdGFuY2VvZiByP246bmV3IHIoZnVuY3Rpb24ocyl7cyhuKX0pfXJldHVybiBuZXcocnx8KHI9UHJvbWlzZSkpKGZ1bmN0aW9uKG4scyl7ZnVuY3Rpb24gbyh1KXt0cnl7bChhLm5leHQodSkpfWNhdGNoKGQpe3MoZCl9fWZ1bmN0aW9uIGModSl7dHJ5e2woYS50aHJvdyh1KSl9Y2F0Y2goZCl7cyhkKX19ZnVuY3Rpb24gbCh1KXt1LmRvbmU/bih1LnZhbHVlKTppKHUudmFsdWUpLnRoZW4obyxjKX1sKChhPWEuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KX1mdW5jdGlvbiBjaChlLHQpe3ZhciByPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihuWzBdJjEpdGhyb3cgblsxXTtyZXR1cm4gblsxXX0sdHJ5czpbXSxvcHM6W119LGEsaSxuLHM9T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT0iZnVuY3Rpb24iP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gcy5uZXh0PW8oMCkscy50aHJvdz1vKDEpLHMucmV0dXJuPW8oMiksdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmKHNbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSkscztmdW5jdGlvbiBvKGwpe3JldHVybiBmdW5jdGlvbih1KXtyZXR1cm4gYyhbbCx1XSl9fWZ1bmN0aW9uIGMobCl7aWYoYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtzJiYocz0wLGxbMF0mJihyPTApKSxyOyl0cnl7aWYoYT0xLGkmJihuPWxbMF0mMj9pLnJldHVybjpsWzBdP2kudGhyb3d8fCgobj1pLnJldHVybikmJm4uY2FsbChpKSwwKTppLm5leHQpJiYhKG49bi5jYWxsKGksbFsxXSkpLmRvbmUpcmV0dXJuIG47c3dpdGNoKGk9MCxuJiYobD1bbFswXSYyLG4udmFsdWVdKSxsWzBdKXtjYXNlIDA6Y2FzZSAxOm49bDticmVhaztjYXNlIDQ6cmV0dXJuIHIubGFiZWwrKyx7dmFsdWU6bFsxXSxkb25lOiExfTtjYXNlIDU6ci5sYWJlbCsrLGk9bFsxXSxsPVswXTtjb250aW51ZTtjYXNlIDc6bD1yLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZihuPXIudHJ5cywhKG49bi5sZW5ndGg+MCYmbltuLmxlbmd0aC0xXSkmJihsWzBdPT09Nnx8bFswXT09PTIpKXtyPTA7Y29udGludWV9aWYobFswXT09PTMmJighbnx8bFsxXT5uWzBdJiZsWzFdPG5bM10pKXtyLmxhYmVsPWxbMV07YnJlYWt9aWYobFswXT09PTYmJnIubGFiZWw8blsxXSl7ci5sYWJlbD1uWzFdLG49bDticmVha31pZihuJiZyLmxhYmVsPG5bMl0pe3IubGFiZWw9blsyXSxyLm9wcy5wdXNoKGwpO2JyZWFrfW5bMl0mJnIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZX1sPXQuY2FsbChlLHIpfWNhdGNoKHUpe2w9WzYsdV0saT0wfWZpbmFsbHl7YT1uPTB9aWYobFswXSY1KXRocm93IGxbMV07cmV0dXJue3ZhbHVlOmxbMF0/bFsxXTp2b2lkIDAsZG9uZTohMH19fWZ1bmN0aW9uIE9mcihlLHQpe2Zvcih2YXIgciBpbiBlKXIhPT0iZGVmYXVsdCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmRU8odCxlLHIpfWZ1bmN0aW9uIGNuKGUpe3ZhciB0PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5pdGVyYXRvcixyPXQmJmVbdF0sYT0wO2lmKHIpcmV0dXJuIHIuY2FsbChlKTtpZihlJiZ0eXBlb2YgZS5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGUmJmE+PWUubGVuZ3RoJiYoZT12b2lkIDApLHt2YWx1ZTplJiZlW2ErK10sZG9uZTohZX19fTt0aHJvdyBuZXcgVHlwZUVycm9yKHQ/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfWZ1bmN0aW9uIFFhKGUsdCl7dmFyIHI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmZVtTeW1ib2wuaXRlcmF0b3JdO2lmKCFyKXJldHVybiBlO3ZhciBhPXIuY2FsbChlKSxpLG49W10sczt0cnl7Zm9yKDsodD09PXZvaWQgMHx8dC0tID4wKSYmIShpPWEubmV4dCgpKS5kb25lOyluLnB1c2goaS52YWx1ZSl9Y2F0Y2gobyl7cz17ZXJyb3I6b319ZmluYWxseXt0cnl7aSYmIWkuZG9uZSYmKHI9YS5yZXR1cm4pJiZyLmNhbGwoYSl9ZmluYWxseXtpZihzKXRocm93IHMuZXJyb3J9fXJldHVybiBufWZ1bmN0aW9uIFJmcigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllPWUuY29uY2F0KFFhKGFyZ3VtZW50c1t0XSkpO3JldHVybiBlfWZ1bmN0aW9uIEJmcigpe2Zvcih2YXIgZT0wLHQ9MCxyPWFyZ3VtZW50cy5sZW5ndGg7dDxyO3QrKyllKz1hcmd1bWVudHNbdF0ubGVuZ3RoO2Zvcih2YXIgYT1BcnJheShlKSxpPTAsdD0wO3Q8cjt0KyspZm9yKHZhciBuPWFyZ3VtZW50c1t0XSxzPTAsbz1uLmxlbmd0aDtzPG87cysrLGkrKylhW2ldPW5bc107cmV0dXJuIGF9ZnVuY3Rpb24gSGkoZSx0LHIpe2lmKHJ8fGFyZ3VtZW50cy5sZW5ndGg9PT0yKWZvcih2YXIgYT0wLGk9dC5sZW5ndGgsbjthPGk7YSsrKShufHwhKGEgaW4gdCkpJiYobnx8KG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLGEpKSxuW2FdPXRbYV0pO3JldHVybiBlLmNvbmNhdChufHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KSl9ZnVuY3Rpb24gTWwoZSl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBNbD8odGhpcy52PWUsdGhpcyk6bmV3IE1sKGUpfWZ1bmN0aW9uIE5PKGUsdCxyKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIGE9ci5hcHBseShlLHR8fFtdKSxpLG49W107cmV0dXJuIGk9T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEFzeW5jSXRlcmF0b3I9PSJmdW5jdGlvbiI/QXN5bmNJdGVyYXRvcjpPYmplY3QpLnByb3RvdHlwZSksbygibmV4dCIpLG8oInRocm93IiksbygicmV0dXJuIixzKSxpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxpO2Z1bmN0aW9uIHMobSl7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBQcm9taXNlLnJlc29sdmUodikudGhlbihtLGQpfX1mdW5jdGlvbiBvKG0sdil7YVttXSYmKGlbbV09ZnVuY3Rpb24oYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGcseSl7bi5wdXNoKFttLGIsZyx5XSk+MXx8YyhtLGIpfSl9LHYmJihpW21dPXYoaVttXSkpKX1mdW5jdGlvbiBjKG0sdil7dHJ5e2woYVttXSh2KSl9Y2F0Y2goYil7aChuWzBdWzNdLGIpfX1mdW5jdGlvbiBsKG0pe20udmFsdWUgaW5zdGFuY2VvZiBNbD9Qcm9taXNlLnJlc29sdmUobS52YWx1ZS52KS50aGVuKHUsZCk6aChuWzBdWzJdLG0pfWZ1bmN0aW9uIHUobSl7YygibmV4dCIsbSl9ZnVuY3Rpb24gZChtKXtjKCJ0aHJvdyIsbSl9ZnVuY3Rpb24gaChtLHYpe20odiksbi5zaGlmdCgpLG4ubGVuZ3RoJiZjKG5bMF1bMF0sblswXVsxXSl9fWZ1bmN0aW9uIEhmcihlKXt2YXIgdCxyO3JldHVybiB0PXt9LGEoIm5leHQiKSxhKCJ0aHJvdyIsZnVuY3Rpb24oaSl7dGhyb3cgaX0pLGEoInJldHVybiIpLHRbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSx0O2Z1bmN0aW9uIGEoaSxuKXt0W2ldPWVbaV0/ZnVuY3Rpb24ocyl7cmV0dXJuKHI9IXIpP3t2YWx1ZTpNbChlW2ldKHMpKSxkb25lOiExfTpuP24ocyk6c306bn19ZnVuY3Rpb24gRk8oZSl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciB0PWVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdLHI7cmV0dXJuIHQ/dC5jYWxsKGUpOihlPXR5cGVvZiBjbj09ImZ1bmN0aW9uIj9jbihlKTplW1N5bWJvbC5pdGVyYXRvcl0oKSxyPXt9LGEoIm5leHQiKSxhKCJ0aHJvdyIpLGEoInJldHVybiIpLHJbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHIpO2Z1bmN0aW9uIGEobil7cltuXT1lW25dJiZmdW5jdGlvbihzKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obyxjKXtzPWVbbl0ocyksaShvLGMscy5kb25lLHMudmFsdWUpfSl9fWZ1bmN0aW9uIGkobixzLG8sYyl7UHJvbWlzZS5yZXNvbHZlKGMpLnRoZW4oZnVuY3Rpb24obCl7bih7dmFsdWU6bCxkb25lOm99KX0scyl9fWZ1bmN0aW9uIHFmcihlLHQpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsInJhdyIse3ZhbHVlOnR9KTplLnJhdz10LGV9ZnVuY3Rpb24gVmZyKGUpe2lmKGUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgdD17fTtpZihlIT1udWxsKWZvcih2YXIgcj1JTyhlKSxhPTA7YTxyLmxlbmd0aDthKyspclthXSE9PSJkZWZhdWx0IiYmRU8odCxlLHJbYV0pO3JldHVybiBqZnIodCxlKSx0fWZ1bmN0aW9uIFVmcihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19ZnVuY3Rpb24gV2ZyKGUsdCxyLGEpe2lmKHI9PT0iYSImJiFhKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpO2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iP2UhPT10fHwhYTohdC5oYXMoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIHI9PT0ibSI/YTpyPT09ImEiP2EuY2FsbChlKTphP2EudmFsdWU6dC5nZXQoZSl9ZnVuY3Rpb24gR2ZyKGUsdCxyLGEsaSl7aWYoYT09PSJtIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGUiKTtpZihhPT09ImEiJiYhaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXIiKTtpZih0eXBlb2YgdD09ImZ1bmN0aW9uIj9lIT09dHx8IWk6IXQuaGFzKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIGE9PT0iYSI/aS5jYWxsKGUscik6aT9pLnZhbHVlPXI6dC5zZXQoZSxyKSxyfWZ1bmN0aW9uIFlmcihlLHQpe2lmKHQ9PT1udWxsfHx0eXBlb2YgdCE9Im9iamVjdCImJnR5cGVvZiB0IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0Iik7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24iP3Q9PT1lOmUuaGFzKHQpfWZ1bmN0aW9uIFpmcihlLHQscil7aWYodCE9bnVsbCl7aWYodHlwZW9mIHQhPSJvYmplY3QiJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQuIik7dmFyIGEsaTtpZihyKXtpZighU3ltYm9sLmFzeW5jRGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNEaXNwb3NlIGlzIG5vdCBkZWZpbmVkLiIpO2E9dFtTeW1ib2wuYXN5bmNEaXNwb3NlXX1pZihhPT09dm9pZCAwKXtpZighU3ltYm9sLmRpc3Bvc2UpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmRpc3Bvc2UgaXMgbm90IGRlZmluZWQuIik7YT10W1N5bWJvbC5kaXNwb3NlXSxyJiYoaT1hKX1pZih0eXBlb2YgYSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3Qgbm90IGRpc3Bvc2FibGUuIik7aSYmKGE9ZnVuY3Rpb24oKXt0cnl7aS5jYWxsKHRoaXMpfWNhdGNoKG4pe3JldHVybiBQcm9taXNlLnJlamVjdChuKX19KSxlLnN0YWNrLnB1c2goe3ZhbHVlOnQsZGlzcG9zZTphLGFzeW5jOnJ9KX1lbHNlIHImJmUuc3RhY2sucHVzaCh7YXN5bmM6ITB9KTtyZXR1cm4gdH1mdW5jdGlvbiBRZnIoZSl7ZnVuY3Rpb24gdChuKXtlLmVycm9yPWUuaGFzRXJyb3I/bmV3IFhmcihuLGUuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpuLGUuaGFzRXJyb3I9ITB9dmFyIHIsYT0wO2Z1bmN0aW9uIGkoKXtmb3IoO3I9ZS5zdGFjay5wb3AoKTspdHJ5e2lmKCFyLmFzeW5jJiZhPT09MSlyZXR1cm4gYT0wLGUuc3RhY2sucHVzaChyKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKGkpO2lmKHIuZGlzcG9zZSl7dmFyIG49ci5kaXNwb3NlLmNhbGwoci52YWx1ZSk7aWYoci5hc3luYylyZXR1cm4gYXw9MixQcm9taXNlLnJlc29sdmUobikudGhlbihpLGZ1bmN0aW9uKHMpe3JldHVybiB0KHMpLGkoKX0pfWVsc2UgYXw9MX1jYXRjaChzKXt0KHMpfWlmKGE9PT0xKXJldHVybiBlLmhhc0Vycm9yP1Byb21pc2UucmVqZWN0KGUuZXJyb3IpOlByb21pc2UucmVzb2x2ZSgpO2lmKGUuaGFzRXJyb3IpdGhyb3cgZS5lcnJvcn1yZXR1cm4gaSgpfWZ1bmN0aW9uIEpmcihlLHQpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJi9eXC5cLj9cLy8udGVzdChlKT9lLnJlcGxhY2UoL1wuKHRzeCkkfCgoPzpcLmQpPykoKD86XC5bXi4vXSs/KT8pXC4oW2NtXT8pdHMkL2ksZnVuY3Rpb24ocixhLGksbixzKXtyZXR1cm4gYT90PyIuanN4IjoiLmpzIjppJiYoIW58fCFzKT9yOmkrbisiLiIrcy50b0xvd2VyQ2FzZSgpKyJqcyJ9KTplfXZhciBETyxBTyxFTyxqZnIsSU8sWGZyLFRlYSxScj1mKCgpPT57RE89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRE89T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHIsYSl7ci5fX3Byb3RvX189YX18fGZ1bmN0aW9uKHIsYSl7Zm9yKHZhciBpIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsaSkmJihyW2ldPWFbaV0pfSxETyhlLHQpfTtBTz1mdW5jdGlvbigpe3JldHVybiBBTz1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIHIsYT0xLGk9YXJndW1lbnRzLmxlbmd0aDthPGk7YSsrKXtyPWFyZ3VtZW50c1thXTtmb3IodmFyIG4gaW4gcilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixuKSYmKHRbbl09cltuXSl9cmV0dXJuIHR9LEFPLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07RU89T2JqZWN0LmNyZWF0ZT8oZnVuY3Rpb24oZSx0LHIsYSl7YT09PXZvaWQgMCYmKGE9cik7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpOyghaXx8KCJnZXQiaW4gaT8hdC5fX2VzTW9kdWxlOmkud3JpdGFibGV8fGkuY29uZmlndXJhYmxlKSkmJihpPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGEsaSl9KTooZnVuY3Rpb24oZSx0LHIsYSl7YT09PXZvaWQgMCYmKGE9ciksZVthXT10W3JdfSk7amZyPU9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX0pOmZ1bmN0aW9uKGUsdCl7ZS5kZWZhdWx0PXR9LElPPWZ1bmN0aW9uKGUpe3JldHVybiBJTz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc3x8ZnVuY3Rpb24odCl7dmFyIHI9W107Zm9yKHZhciBhIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsYSkmJihyW3IubGVuZ3RoXT1hKTtyZXR1cm4gcn0sSU8oZSl9O1hmcj10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iP1N1cHByZXNzZWRFcnJvcjpmdW5jdGlvbihlLHQscil7dmFyIGE9bmV3IEVycm9yKHIpO3JldHVybiBhLm5hbWU9IlN1cHByZXNzZWRFcnJvciIsYS5lcnJvcj1lLGEuc3VwcHJlc3NlZD10LGF9O1RlYT17X19leHRlbmRzOld0LF9fYXNzaWduOkFPLF9fcmVzdDokZnIsX19kZWNvcmF0ZTpEZnIsX19wYXJhbTpBZnIsX19lc0RlY29yYXRlOkVmcixfX3J1bkluaXRpYWxpemVyczpJZnIsX19wcm9wS2V5OlBmcixfX3NldEZ1bmN0aW9uTmFtZTpOZnIsX19tZXRhZGF0YTpGZnIsX19hd2FpdGVyOlBPLF9fZ2VuZXJhdG9yOmNoLF9fY3JlYXRlQmluZGluZzpFTyxfX2V4cG9ydFN0YXI6T2ZyLF9fdmFsdWVzOmNuLF9fcmVhZDpRYSxfX3NwcmVhZDpSZnIsX19zcHJlYWRBcnJheXM6QmZyLF9fc3ByZWFkQXJyYXk6SGksX19hd2FpdDpNbCxfX2FzeW5jR2VuZXJhdG9yOk5PLF9fYXN5bmNEZWxlZ2F0b3I6SGZyLF9fYXN5bmNWYWx1ZXM6Rk8sX19tYWtlVGVtcGxhdGVPYmplY3Q6cWZyLF9faW1wb3J0U3RhcjpWZnIsX19pbXBvcnREZWZhdWx0OlVmcixfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0OldmcixfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0OkdmcixfX2NsYXNzUHJpdmF0ZUZpZWxkSW46WWZyLF9fYWRkRGlzcG9zYWJsZVJlc291cmNlOlpmcixfX2Rpc3Bvc2VSZXNvdXJjZXM6UWZyLF9fcmV3cml0ZVJlbGF0aXZlSW1wb3J0RXh0ZW5zaW9uOkpmcn19KTtmdW5jdGlvbiBfdChlKXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiJ9dmFyIENpPWYoKCk9Pnt9KTtmdW5jdGlvbiBnMShlKXt2YXIgdD1mdW5jdGlvbihhKXtFcnJvci5jYWxsKGEpLGEuc3RhY2s9bmV3IEVycm9yKCkuc3RhY2t9LHI9ZSh0KTtyZXR1cm4gci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIscn12YXIgYTA9ZigoKT0+e30pO3ZhciBkaCxPTz1mKCgpPT57YTAoKTtkaD1nMShmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7ZSh0aGlzKSx0aGlzLm1lc3NhZ2U9cj9yLmxlbmd0aCtgIGVycm9ycyBvY2N1cnJlZCBkdXJpbmcgdW5zdWJzY3JpcHRpb246CmArci5tYXAoZnVuY3Rpb24oYSxpKXtyZXR1cm4gaSsxKyIpICIrYS50b1N0cmluZygpfSkuam9pbihgCiAgYCk6IiIsdGhpcy5uYW1lPSJVbnN1YnNjcmlwdGlvbkVycm9yIix0aGlzLmVycm9ycz1yfX0pfSk7ZnVuY3Rpb24gaW8oZSx0KXtpZihlKXt2YXIgcj1lLmluZGV4T2YodCk7MDw9ciYmZS5zcGxpY2UociwxKX19dmFyIEV1PWYoKCk9Pnt9KTtmdW5jdGlvbiB0eChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEJhfHxlJiYiY2xvc2VkImluIGUmJl90KGUucmVtb3ZlKSYmX3QoZS5hZGQpJiZfdChlLnVuc3Vic2NyaWJlKX1mdW5jdGlvbiBQcGUoZSl7X3QoZSk/ZSgpOmUudW5zdWJzY3JpYmUoKX12YXIgQmEsUk8sS289ZigoKT0+e1JyKCk7Q2koKTtPTygpO0V1KCk7QmE9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXt0aGlzLmluaXRpYWxUZWFyZG93bj10LHRoaXMuY2xvc2VkPSExLHRoaXMuX3BhcmVudGFnZT1udWxsLHRoaXMuX2ZpbmFsaXplcnM9bnVsbH1yZXR1cm4gZS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt2YXIgdCxyLGEsaSxuO2lmKCF0aGlzLmNsb3NlZCl7dGhpcy5jbG9zZWQ9ITA7dmFyIHM9dGhpcy5fcGFyZW50YWdlO2lmKHMpaWYodGhpcy5fcGFyZW50YWdlPW51bGwsQXJyYXkuaXNBcnJheShzKSl0cnl7Zm9yKHZhciBvPWNuKHMpLGM9by5uZXh0KCk7IWMuZG9uZTtjPW8ubmV4dCgpKXt2YXIgbD1jLnZhbHVlO2wucmVtb3ZlKHRoaXMpfX1jYXRjaChiKXt0PXtlcnJvcjpifX1maW5hbGx5e3RyeXtjJiYhYy5kb25lJiYocj1vLnJldHVybikmJnIuY2FsbChvKX1maW5hbGx5e2lmKHQpdGhyb3cgdC5lcnJvcn19ZWxzZSBzLnJlbW92ZSh0aGlzKTt2YXIgdT10aGlzLmluaXRpYWxUZWFyZG93bjtpZihfdCh1KSl0cnl7dSgpfWNhdGNoKGIpe249YiBpbnN0YW5jZW9mIGRoP2IuZXJyb3JzOltiXX12YXIgZD10aGlzLl9maW5hbGl6ZXJzO2lmKGQpe3RoaXMuX2ZpbmFsaXplcnM9bnVsbDt0cnl7Zm9yKHZhciBoPWNuKGQpLG09aC5uZXh0KCk7IW0uZG9uZTttPWgubmV4dCgpKXt2YXIgdj1tLnZhbHVlO3RyeXtQcGUodil9Y2F0Y2goYil7bj1uPz9bXSxiIGluc3RhbmNlb2YgZGg/bj1IaShIaShbXSxRYShuKSksUWEoYi5lcnJvcnMpKTpuLnB1c2goYil9fX1jYXRjaChiKXthPXtlcnJvcjpifX1maW5hbGx5e3RyeXttJiYhbS5kb25lJiYoaT1oLnJldHVybikmJmkuY2FsbChoKX1maW5hbGx5e2lmKGEpdGhyb3cgYS5lcnJvcn19fWlmKG4pdGhyb3cgbmV3IGRoKG4pfX0sZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3ZhciByO2lmKHQmJnQhPT10aGlzKWlmKHRoaXMuY2xvc2VkKVBwZSh0KTtlbHNle2lmKHQgaW5zdGFuY2VvZiBlKXtpZih0LmNsb3NlZHx8dC5faGFzUGFyZW50KHRoaXMpKXJldHVybjt0Ll9hZGRQYXJlbnQodGhpcyl9KHRoaXMuX2ZpbmFsaXplcnM9KHI9dGhpcy5fZmluYWxpemVycykhPT1udWxsJiZyIT09dm9pZCAwP3I6W10pLnB1c2godCl9fSxlLnByb3RvdHlwZS5faGFzUGFyZW50PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuX3BhcmVudGFnZTtyZXR1cm4gcj09PXR8fEFycmF5LmlzQXJyYXkocikmJnIuaW5jbHVkZXModCl9LGUucHJvdG90eXBlLl9hZGRQYXJlbnQ9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fcGFyZW50YWdlO3RoaXMuX3BhcmVudGFnZT1BcnJheS5pc0FycmF5KHIpPyhyLnB1c2godCkscik6cj9bcix0XTp0fSxlLnByb3RvdHlwZS5fcmVtb3ZlUGFyZW50PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuX3BhcmVudGFnZTtyPT09dD90aGlzLl9wYXJlbnRhZ2U9bnVsbDpBcnJheS5pc0FycmF5KHIpJiZpbyhyLHQpfSxlLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fZmluYWxpemVycztyJiZpbyhyLHQpLHQgaW5zdGFuY2VvZiBlJiZ0Ll9yZW1vdmVQYXJlbnQodGhpcyl9LGUuRU1QVFk9KGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGU7cmV0dXJuIHQuY2xvc2VkPSEwLHR9KSgpLGV9KSgpLFJPPUJhLkVNUFRZfSk7dmFyIGNzLEl1PWYoKCk9Pntjcz17b25VbmhhbmRsZWRFcnJvcjpudWxsLG9uU3RvcHBlZE5vdGlmaWNhdGlvbjpudWxsLFByb21pc2U6dm9pZCAwLHVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmc6ITEsdXNlRGVwcmVjYXRlZE5leHRDb250ZXh0OiExfX0pO3ZhciBQdSxCTz1mKCgpPT57UnIoKTtQdT17c2V0VGltZW91dDpmdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1bXSxhPTI7YTxhcmd1bWVudHMubGVuZ3RoO2ErKylyW2EtMl09YXJndW1lbnRzW2FdO3ZhciBpPVB1LmRlbGVnYXRlO3JldHVybiBpPy5zZXRUaW1lb3V0P2kuc2V0VGltZW91dC5hcHBseShpLEhpKFtlLHRdLFFhKHIpKSk6c2V0VGltZW91dC5hcHBseSh2b2lkIDAsSGkoW2UsdF0sUWEocikpKX0sY2xlYXJUaW1lb3V0OmZ1bmN0aW9uKGUpe3ZhciB0PVB1LmRlbGVnYXRlO3JldHVybih0Py5jbGVhclRpbWVvdXR8fGNsZWFyVGltZW91dCkoZSl9LGRlbGVnYXRlOnZvaWQgMH19KTtmdW5jdGlvbiByeChlKXtQdS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIHQ9Y3Mub25VbmhhbmRsZWRFcnJvcjtpZih0KXQoZSk7ZWxzZSB0aHJvdyBlfSl9dmFyIEhPPWYoKCk9PntJdSgpO0JPKCl9KTtmdW5jdGlvbiBkcygpe312YXIgeDM9ZigoKT0+e30pO2Z1bmN0aW9uIEZwZShlKXtyZXR1cm4gcU8oIkUiLHZvaWQgMCxlKX1mdW5jdGlvbiBPcGUoZSl7cmV0dXJuIHFPKCJOIixlLHZvaWQgMCl9ZnVuY3Rpb24gcU8oZSx0LHIpe3JldHVybntraW5kOmUsdmFsdWU6dCxlcnJvcjpyfX12YXIgTnBlLFJwZT1mKCgpPT57TnBlPShmdW5jdGlvbigpe3JldHVybiBxTygiQyIsdm9pZCAwLHZvaWQgMCl9KSgpfSk7ZnVuY3Rpb24gTnUoZSl7aWYoY3MudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyl7dmFyIHQ9IXkzO2lmKHQmJih5Mz17ZXJyb3JUaHJvd246ITEsZXJyb3I6bnVsbH0pLGUoKSx0KXt2YXIgcj15MyxhPXIuZXJyb3JUaHJvd24saT1yLmVycm9yO2lmKHkzPW51bGwsYSl0aHJvdyBpfX1lbHNlIGUoKX1mdW5jdGlvbiBCcGUoZSl7Y3MudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyYmeTMmJih5My5lcnJvclRocm93bj0hMCx5My5lcnJvcj1lKX12YXIgeTMsYXg9ZigoKT0+e0l1KCk7eTM9bnVsbH0pO2Z1bmN0aW9uIGpPKGUsdCl7cmV0dXJuIEtmci5jYWxsKGUsdCl9ZnVuY3Rpb24gaXgoZSl7Y3MudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZz9CcGUoZSk6cngoZSl9ZnVuY3Rpb24gdGhyKGUpe3Rocm93IGV9ZnVuY3Rpb24gVk8oZSx0KXt2YXIgcj1jcy5vblN0b3BwZWROb3RpZmljYXRpb247ciYmUHUuc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiByKGUsdCl9KX12YXIgdzMsS2ZyLGVocix1aCxyaHIsbng9ZigoKT0+e1JyKCk7Q2koKTtLbygpO0l1KCk7SE8oKTt4MygpO1JwZSgpO0JPKCk7YXgoKTt3Mz0oZnVuY3Rpb24oZSl7V3QodCxlKTtmdW5jdGlvbiB0KHIpe3ZhciBhPWUuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gYS5pc1N0b3BwZWQ9ITEscj8oYS5kZXN0aW5hdGlvbj1yLHR4KHIpJiZyLmFkZChhKSk6YS5kZXN0aW5hdGlvbj1yaHIsYX1yZXR1cm4gdC5jcmVhdGU9ZnVuY3Rpb24ocixhLGkpe3JldHVybiBuZXcgdWgocixhLGkpfSx0LnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHIpe3RoaXMuaXNTdG9wcGVkP1ZPKE9wZShyKSx0aGlzKTp0aGlzLl9uZXh0KHIpfSx0LnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbihyKXt0aGlzLmlzU3RvcHBlZD9WTyhGcGUociksdGhpcyk6KHRoaXMuaXNTdG9wcGVkPSEwLHRoaXMuX2Vycm9yKHIpKX0sdC5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt0aGlzLmlzU3RvcHBlZD9WTyhOcGUsdGhpcyk6KHRoaXMuaXNTdG9wcGVkPSEwLHRoaXMuX2NvbXBsZXRlKCkpfSx0LnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3RoaXMuY2xvc2VkfHwodGhpcy5pc1N0b3BwZWQ9ITAsZS5wcm90b3R5cGUudW5zdWJzY3JpYmUuY2FsbCh0aGlzKSx0aGlzLmRlc3RpbmF0aW9uPW51bGwpfSx0LnByb3RvdHlwZS5fbmV4dD1mdW5jdGlvbihyKXt0aGlzLmRlc3RpbmF0aW9uLm5leHQocil9LHQucHJvdG90eXBlLl9lcnJvcj1mdW5jdGlvbihyKXt0cnl7dGhpcy5kZXN0aW5hdGlvbi5lcnJvcihyKX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19LHQucHJvdG90eXBlLl9jb21wbGV0ZT1mdW5jdGlvbigpe3RyeXt0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCl9ZmluYWxseXt0aGlzLnVuc3Vic2NyaWJlKCl9fSx0fSkoQmEpLEtmcj1GdW5jdGlvbi5wcm90b3R5cGUuYmluZDtlaHI9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXt0aGlzLnBhcnRpYWxPYnNlcnZlcj10fXJldHVybiBlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMucGFydGlhbE9ic2VydmVyO2lmKHIubmV4dCl0cnl7ci5uZXh0KHQpfWNhdGNoKGEpe2l4KGEpfX0sZS5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5wYXJ0aWFsT2JzZXJ2ZXI7aWYoci5lcnJvcil0cnl7ci5lcnJvcih0KX1jYXRjaChhKXtpeChhKX1lbHNlIGl4KHQpfSxlLnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucGFydGlhbE9ic2VydmVyO2lmKHQuY29tcGxldGUpdHJ5e3QuY29tcGxldGUoKX1jYXRjaChyKXtpeChyKX19LGV9KSgpLHVoPShmdW5jdGlvbihlKXtXdCh0LGUpO2Z1bmN0aW9uIHQocixhLGkpe3ZhciBuPWUuY2FsbCh0aGlzKXx8dGhpcyxzO2lmKF90KHIpfHwhcilzPXtuZXh0OnI/P3ZvaWQgMCxlcnJvcjphPz92b2lkIDAsY29tcGxldGU6aT8/dm9pZCAwfTtlbHNle3ZhciBvO24mJmNzLnVzZURlcHJlY2F0ZWROZXh0Q29udGV4dD8obz1PYmplY3QuY3JlYXRlKHIpLG8udW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXtyZXR1cm4gbi51bnN1YnNjcmliZSgpfSxzPXtuZXh0OnIubmV4dCYmak8oci5uZXh0LG8pLGVycm9yOnIuZXJyb3ImJmpPKHIuZXJyb3IsbyksY29tcGxldGU6ci5jb21wbGV0ZSYmak8oci5jb21wbGV0ZSxvKX0pOnM9cn1yZXR1cm4gbi5kZXN0aW5hdGlvbj1uZXcgZWhyKHMpLG59cmV0dXJuIHR9KSh3Myk7cmhyPXtjbG9zZWQ6ITAsbmV4dDpkcyxlcnJvcjp0aHIsY29tcGxldGU6ZHN9fSk7dmFyIE0zLHBoPWYoKCk9PntNMz0oZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUifSkoKX0pO2Z1bmN0aW9uIGZoKGUpe3JldHVybiBlfXZhciBzeD1mKCgpPT57fSk7ZnVuY3Rpb24gYWhyKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3JldHVybiBVTyhlKX1mdW5jdGlvbiBVTyhlKXtyZXR1cm4gZS5sZW5ndGg9PT0wP2ZoOmUubGVuZ3RoPT09MT9lWzBdOmZ1bmN0aW9uKHIpe3JldHVybiBlLnJlZHVjZShmdW5jdGlvbihhLGkpe3JldHVybiBpKGEpfSxyKX19dmFyIFdPPWYoKCk9PntzeCgpfSk7ZnVuY3Rpb24gSHBlKGUpe3ZhciB0O3JldHVybih0PWU/P2NzLlByb21pc2UpIT09bnVsbCYmdCE9PXZvaWQgMD90OlByb21pc2V9ZnVuY3Rpb24gaWhyKGUpe3JldHVybiBlJiZfdChlLm5leHQpJiZfdChlLmVycm9yKSYmX3QoZS5jb21wbGV0ZSl9ZnVuY3Rpb24gbmhyKGUpe3JldHVybiBlJiZlIGluc3RhbmNlb2YgdzN8fGlocihlKSYmdHgoZSl9dmFyIEh0LGIxPWYoKCk9PntueCgpO0tvKCk7cGgoKTtXTygpO0l1KCk7Q2koKTtheCgpO0h0PShmdW5jdGlvbigpe2Z1bmN0aW9uIGUodCl7dCYmKHRoaXMuX3N1YnNjcmliZT10KX1yZXR1cm4gZS5wcm90b3R5cGUubGlmdD1mdW5jdGlvbih0KXt2YXIgcj1uZXcgZTtyZXR1cm4gci5zb3VyY2U9dGhpcyxyLm9wZXJhdG9yPXQscn0sZS5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKHQscixhKXt2YXIgaT10aGlzLG49bmhyKHQpP3Q6bmV3IHVoKHQscixhKTtyZXR1cm4gTnUoZnVuY3Rpb24oKXt2YXIgcz1pLG89cy5vcGVyYXRvcixjPXMuc291cmNlO24uYWRkKG8/by5jYWxsKG4sYyk6Yz9pLl9zdWJzY3JpYmUobik6aS5fdHJ5U3Vic2NyaWJlKG4pKX0pLG59LGUucHJvdG90eXBlLl90cnlTdWJzY3JpYmU9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0aGlzLl9zdWJzY3JpYmUodCl9Y2F0Y2gocil7dC5lcnJvcihyKX19LGUucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24odCxyKXt2YXIgYT10aGlzO3JldHVybiByPUhwZShyKSxuZXcgcihmdW5jdGlvbihpLG4pe3ZhciBzPW5ldyB1aCh7bmV4dDpmdW5jdGlvbihvKXt0cnl7dChvKX1jYXRjaChjKXtuKGMpLHMudW5zdWJzY3JpYmUoKX19LGVycm9yOm4sY29tcGxldGU6aX0pO2Euc3Vic2NyaWJlKHMpfSl9LGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dmFyIHI7cmV0dXJuKHI9dGhpcy5zb3VyY2UpPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5zdWJzY3JpYmUodCl9LGUucHJvdG90eXBlW00zXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbcl09YXJndW1lbnRzW3JdO3JldHVybiBVTyh0KSh0aGlzKX0sZS5wcm90b3R5cGUudG9Qcm9taXNlPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXM7cmV0dXJuIHQ9SHBlKHQpLG5ldyB0KGZ1bmN0aW9uKGEsaSl7dmFyIG47ci5zdWJzY3JpYmUoZnVuY3Rpb24ocyl7cmV0dXJuIG49c30sZnVuY3Rpb24ocyl7cmV0dXJuIGkocyl9LGZ1bmN0aW9uKCl7cmV0dXJuIGEobil9KX0pfSxlLmNyZWF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGUodCl9LGV9KSgpfSk7ZnVuY3Rpb24gR08oZSl7cmV0dXJuIF90KGU/LmxpZnQpfWZ1bmN0aW9uIFRyKGUpe3JldHVybiBmdW5jdGlvbih0KXtpZihHTyh0KSlyZXR1cm4gdC5saWZ0KGZ1bmN0aW9uKHIpe3RyeXtyZXR1cm4gZShyLHRoaXMpfWNhdGNoKGEpe3RoaXMuZXJyb3IoYSl9fSk7dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5hYmxlIHRvIGxpZnQgdW5rbm93biBPYnNlcnZhYmxlIHR5cGUiKX19dmFyIHFpPWYoKCk9PntDaSgpfSk7ZnVuY3Rpb24gYnIoZSx0LHIsYSxpKXtyZXR1cm4gbmV3IHFwZShlLHQscixhLGkpfXZhciBxcGUscW49ZigoKT0+e1JyKCk7bngoKTtxcGU9KGZ1bmN0aW9uKGUpe1d0KHQsZSk7ZnVuY3Rpb24gdChyLGEsaSxuLHMsbyl7dmFyIGM9ZS5jYWxsKHRoaXMscil8fHRoaXM7cmV0dXJuIGMub25GaW5hbGl6ZT1zLGMuc2hvdWxkVW5zdWJzY3JpYmU9byxjLl9uZXh0PWE/ZnVuY3Rpb24obCl7dHJ5e2EobCl9Y2F0Y2godSl7ci5lcnJvcih1KX19OmUucHJvdG90eXBlLl9uZXh0LGMuX2Vycm9yPW4/ZnVuY3Rpb24obCl7dHJ5e24obCl9Y2F0Y2godSl7ci5lcnJvcih1KX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19OmUucHJvdG90eXBlLl9lcnJvcixjLl9jb21wbGV0ZT1pP2Z1bmN0aW9uKCl7dHJ5e2koKX1jYXRjaChsKXtyLmVycm9yKGwpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX06ZS5wcm90b3R5cGUuX2NvbXBsZXRlLGN9cmV0dXJuIHQucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dmFyIHI7aWYoIXRoaXMuc2hvdWxkVW5zdWJzY3JpYmV8fHRoaXMuc2hvdWxkVW5zdWJzY3JpYmUoKSl7dmFyIGE9dGhpcy5jbG9zZWQ7ZS5wcm90b3R5cGUudW5zdWJzY3JpYmUuY2FsbCh0aGlzKSwhYSYmKChyPXRoaXMub25GaW5hbGl6ZSk9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwodGhpcykpfX0sdH0pKHczKX0pO2Z1bmN0aW9uIG94KCl7cmV0dXJuIFRyKGZ1bmN0aW9uKGUsdCl7dmFyIHI9bnVsbDtlLl9yZWZDb3VudCsrO3ZhciBhPWJyKHQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtpZighZXx8ZS5fcmVmQ291bnQ8PTB8fDA8LS1lLl9yZWZDb3VudCl7cj1udWxsO3JldHVybn12YXIgaT1lLl9jb25uZWN0aW9uLG49cjtyPW51bGwsaSYmKCFufHxpPT09bikmJmkudW5zdWJzY3JpYmUoKSx0LnVuc3Vic2NyaWJlKCl9KTtlLnN1YnNjcmliZShhKSxhLmNsb3NlZHx8KHI9ZS5jb25uZWN0KCkpfSl9dmFyIGx4PWYoKCk9PntxaSgpO3FuKCl9KTt2YXIganBlLFZwZT1mKCgpPT57UnIoKTtiMSgpO0tvKCk7bHgoKTtxbigpO3FpKCk7anBlPShmdW5jdGlvbihlKXtXdCh0LGUpO2Z1bmN0aW9uIHQocixhKXt2YXIgaT1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGkuc291cmNlPXIsaS5zdWJqZWN0RmFjdG9yeT1hLGkuX3N1YmplY3Q9bnVsbCxpLl9yZWZDb3VudD0wLGkuX2Nvbm5lY3Rpb249bnVsbCxHTyhyKSYmKGkubGlmdD1yLmxpZnQpLGl9cmV0dXJuIHQucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuZ2V0U3ViamVjdCgpLnN1YnNjcmliZShyKX0sdC5wcm90b3R5cGUuZ2V0U3ViamVjdD1mdW5jdGlvbigpe3ZhciByPXRoaXMuX3N1YmplY3Q7cmV0dXJuKCFyfHxyLmlzU3RvcHBlZCkmJih0aGlzLl9zdWJqZWN0PXRoaXMuc3ViamVjdEZhY3RvcnkoKSksdGhpcy5fc3ViamVjdH0sdC5wcm90b3R5cGUuX3RlYXJkb3duPWZ1bmN0aW9uKCl7dGhpcy5fcmVmQ291bnQ9MDt2YXIgcj10aGlzLl9jb25uZWN0aW9uO3RoaXMuX3N1YmplY3Q9dGhpcy5fY29ubmVjdGlvbj1udWxsLHI/LnVuc3Vic2NyaWJlKCl9LHQucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGE9dGhpcy5fY29ubmVjdGlvbjtpZighYSl7YT10aGlzLl9jb25uZWN0aW9uPW5ldyBCYTt2YXIgaT10aGlzLmdldFN1YmplY3QoKTthLmFkZCh0aGlzLnNvdXJjZS5zdWJzY3JpYmUoYnIoaSx2b2lkIDAsZnVuY3Rpb24oKXtyLl90ZWFyZG93bigpLGkuY29tcGxldGUoKX0sZnVuY3Rpb24obil7ci5fdGVhcmRvd24oKSxpLmVycm9yKG4pfSxmdW5jdGlvbigpe3JldHVybiByLl90ZWFyZG93bigpfSkpKSxhLmNsb3NlZCYmKHRoaXMuX2Nvbm5lY3Rpb249bnVsbCxhPUJhLkVNUFRZKX1yZXR1cm4gYX0sdC5wcm90b3R5cGUucmVmQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gb3goKSh0aGlzKX0sdH0pKEh0KX0pO3ZhciBZTyxVcGU9ZigoKT0+e1lPPXtub3c6ZnVuY3Rpb24oKXtyZXR1cm4oWU8uZGVsZWdhdGV8fHBlcmZvcm1hbmNlKS5ub3coKX0sZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciBrbCxaTz1mKCgpPT57UnIoKTtLbygpO2tsPXtzY2hlZHVsZTpmdW5jdGlvbihlKXt2YXIgdD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUscj1jYW5jZWxBbmltYXRpb25GcmFtZSxhPWtsLmRlbGVnYXRlO2EmJih0PWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lLHI9YS5jYW5jZWxBbmltYXRpb25GcmFtZSk7dmFyIGk9dChmdW5jdGlvbihuKXtyPXZvaWQgMCxlKG4pfSk7cmV0dXJuIG5ldyBCYShmdW5jdGlvbigpe3JldHVybiByPy4oaSl9KX0scmVxdWVzdEFuaW1hdGlvbkZyYW1lOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3ZhciByPWtsLmRlbGVnYXRlO3JldHVybihyPy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHJlcXVlc3RBbmltYXRpb25GcmFtZSkuYXBwbHkodm9pZCAwLEhpKFtdLFFhKGUpKSl9LGNhbmNlbEFuaW1hdGlvbkZyYW1lOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3ZhciByPWtsLmRlbGVnYXRlO3JldHVybihyPy5jYW5jZWxBbmltYXRpb25GcmFtZXx8Y2FuY2VsQW5pbWF0aW9uRnJhbWUpLmFwcGx5KHZvaWQgMCxIaShbXSxRYShlKSkpfSxkZWxlZ2F0ZTp2b2lkIDB9fSk7ZnVuY3Rpb24gc2hyKGUpe3JldHVybiBlP1dwZShlKTpvaHJ9ZnVuY3Rpb24gV3BlKGUpe3JldHVybiBuZXcgSHQoZnVuY3Rpb24odCl7dmFyIHI9ZXx8WU8sYT1yLm5vdygpLGk9MCxuPWZ1bmN0aW9uKCl7dC5jbG9zZWR8fChpPWtsLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbihzKXtpPTA7dmFyIG89ci5ub3coKTt0Lm5leHQoe3RpbWVzdGFtcDplP286cyxlbGFwc2VkOm8tYX0pLG4oKX0pKX07cmV0dXJuIG4oKSxmdW5jdGlvbigpe2kmJmtsLmNhbmNlbEFuaW1hdGlvbkZyYW1lKGkpfX0pfXZhciBvaHIsR3BlPWYoKCk9PntiMSgpO1VwZSgpO1pPKCk7b2hyPVdwZSgpfSk7dmFyIFhPLFFPPWYoKCk9PnthMCgpO1hPPWcxKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe2UodGhpcyksdGhpcy5uYW1lPSJPYmplY3RVbnN1YnNjcmliZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJvYmplY3QgdW5zdWJzY3JpYmVkIn19KX0pO3ZhciB2MSxKTyxoaD1mKCgpPT57UnIoKTtiMSgpO0tvKCk7UU8oKTtFdSgpO2F4KCk7djE9KGZ1bmN0aW9uKGUpe1d0KHQsZSk7ZnVuY3Rpb24gdCgpe3ZhciByPWUuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gci5jbG9zZWQ9ITEsci5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsci5vYnNlcnZlcnM9W10sci5pc1N0b3BwZWQ9ITEsci5oYXNFcnJvcj0hMSxyLnRocm93bkVycm9yPW51bGwscn1yZXR1cm4gdC5wcm90b3R5cGUubGlmdD1mdW5jdGlvbihyKXt2YXIgYT1uZXcgSk8odGhpcyx0aGlzKTtyZXR1cm4gYS5vcGVyYXRvcj1yLGF9LHQucHJvdG90eXBlLl90aHJvd0lmQ2xvc2VkPWZ1bmN0aW9uKCl7aWYodGhpcy5jbG9zZWQpdGhyb3cgbmV3IFhPfSx0LnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHIpe3ZhciBhPXRoaXM7TnUoZnVuY3Rpb24oKXt2YXIgaSxuO2lmKGEuX3Rocm93SWZDbG9zZWQoKSwhYS5pc1N0b3BwZWQpe2EuY3VycmVudE9ic2VydmVyc3x8KGEuY3VycmVudE9ic2VydmVycz1BcnJheS5mcm9tKGEub2JzZXJ2ZXJzKSk7dHJ5e2Zvcih2YXIgcz1jbihhLmN1cnJlbnRPYnNlcnZlcnMpLG89cy5uZXh0KCk7IW8uZG9uZTtvPXMubmV4dCgpKXt2YXIgYz1vLnZhbHVlO2MubmV4dChyKX19Y2F0Y2gobCl7aT17ZXJyb3I6bH19ZmluYWxseXt0cnl7byYmIW8uZG9uZSYmKG49cy5yZXR1cm4pJiZuLmNhbGwocyl9ZmluYWxseXtpZihpKXRocm93IGkuZXJyb3J9fX19KX0sdC5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24ocil7dmFyIGE9dGhpcztOdShmdW5jdGlvbigpe2lmKGEuX3Rocm93SWZDbG9zZWQoKSwhYS5pc1N0b3BwZWQpe2EuaGFzRXJyb3I9YS5pc1N0b3BwZWQ9ITAsYS50aHJvd25FcnJvcj1yO2Zvcih2YXIgaT1hLm9ic2VydmVycztpLmxlbmd0aDspaS5zaGlmdCgpLmVycm9yKHIpfX0pfSx0LnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlvbigpe3ZhciByPXRoaXM7TnUoZnVuY3Rpb24oKXtpZihyLl90aHJvd0lmQ2xvc2VkKCksIXIuaXNTdG9wcGVkKXtyLmlzU3RvcHBlZD0hMDtmb3IodmFyIGE9ci5vYnNlcnZlcnM7YS5sZW5ndGg7KWEuc2hpZnQoKS5jb21wbGV0ZSgpfX0pfSx0LnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3RoaXMuaXNTdG9wcGVkPXRoaXMuY2xvc2VkPSEwLHRoaXMub2JzZXJ2ZXJzPXRoaXMuY3VycmVudE9ic2VydmVycz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsIm9ic2VydmVkIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHI7cmV0dXJuKChyPXRoaXMub2JzZXJ2ZXJzKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIubGVuZ3RoKT4wfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLl90cnlTdWJzY3JpYmU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxlLnByb3RvdHlwZS5fdHJ5U3Vic2NyaWJlLmNhbGwodGhpcyxyKX0sdC5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5fdGhyb3dJZkNsb3NlZCgpLHRoaXMuX2NoZWNrRmluYWxpemVkU3RhdHVzZXMociksdGhpcy5faW5uZXJTdWJzY3JpYmUocil9LHQucHJvdG90eXBlLl9pbm5lclN1YnNjcmliZT1mdW5jdGlvbihyKXt2YXIgYT10aGlzLGk9dGhpcyxuPWkuaGFzRXJyb3Iscz1pLmlzU3RvcHBlZCxvPWkub2JzZXJ2ZXJzO3JldHVybiBufHxzP1JPOih0aGlzLmN1cnJlbnRPYnNlcnZlcnM9bnVsbCxvLnB1c2gociksbmV3IEJhKGZ1bmN0aW9uKCl7YS5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsaW8obyxyKX0pKX0sdC5wcm90b3R5cGUuX2NoZWNrRmluYWxpemVkU3RhdHVzZXM9ZnVuY3Rpb24ocil7dmFyIGE9dGhpcyxpPWEuaGFzRXJyb3Isbj1hLnRocm93bkVycm9yLHM9YS5pc1N0b3BwZWQ7aT9yLmVycm9yKG4pOnMmJnIuY29tcGxldGUoKX0sdC5wcm90b3R5cGUuYXNPYnNlcnZhYmxlPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IEh0O3JldHVybiByLnNvdXJjZT10aGlzLHJ9LHQuY3JlYXRlPWZ1bmN0aW9uKHIsYSl7cmV0dXJuIG5ldyBKTyhyLGEpfSx0fSkoSHQpLEpPPShmdW5jdGlvbihlKXtXdCh0LGUpO2Z1bmN0aW9uIHQocixhKXt2YXIgaT1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGkuZGVzdGluYXRpb249cixpLnNvdXJjZT1hLGl9cmV0dXJuIHQucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24ocil7dmFyIGEsaTsoaT0oYT10aGlzLmRlc3RpbmF0aW9uKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEubmV4dCk9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwoYSxyKX0sdC5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24ocil7dmFyIGEsaTsoaT0oYT10aGlzLmRlc3RpbmF0aW9uKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEuZXJyb3IpPT09bnVsbHx8aT09PXZvaWQgMHx8aS5jYWxsKGEscil9LHQucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHIsYTsoYT0ocj10aGlzLmRlc3RpbmF0aW9uKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIuY29tcGxldGUpPT09bnVsbHx8YT09PXZvaWQgMHx8YS5jYWxsKHIpfSx0LnByb3RvdHlwZS5fc3Vic2NyaWJlPWZ1bmN0aW9uKHIpe3ZhciBhLGk7cmV0dXJuKGk9KGE9dGhpcy5zb3VyY2UpPT09bnVsbHx8YT09PXZvaWQgMD92b2lkIDA6YS5zdWJzY3JpYmUocikpIT09bnVsbCYmaSE9PXZvaWQgMD9pOlJPfSx0fSkodjEpfSk7dmFyIFlwZSxacGU9ZigoKT0+e1JyKCk7aGgoKTtZcGU9KGZ1bmN0aW9uKGUpe1d0KHQsZSk7ZnVuY3Rpb24gdChyKXt2YXIgYT1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGEuX3ZhbHVlPXIsYX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJ2YWx1ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFZhbHVlKCl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksdC5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihyKXt2YXIgYT1lLnByb3RvdHlwZS5fc3Vic2NyaWJlLmNhbGwodGhpcyxyKTtyZXR1cm4hYS5jbG9zZWQmJnIubmV4dCh0aGlzLl92YWx1ZSksYX0sdC5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGE9ci5oYXNFcnJvcixpPXIudGhyb3duRXJyb3Isbj1yLl92YWx1ZTtpZihhKXRocm93IGk7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxufSx0LnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHIpe2UucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLHRoaXMuX3ZhbHVlPXIpfSx0fSkodjEpfSk7dmFyIG1oLEtPPWYoKCk9PnttaD17bm93OmZ1bmN0aW9uKCl7cmV0dXJuKG1oLmRlbGVnYXRlfHxEYXRlKS5ub3coKX0sZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciBjeCxYcGU9ZigoKT0+e1JyKCk7aGgoKTtLTygpO2N4PShmdW5jdGlvbihlKXtXdCh0LGUpO2Z1bmN0aW9uIHQocixhLGkpe3I9PT12b2lkIDAmJihyPTEvMCksYT09PXZvaWQgMCYmKGE9MS8wKSxpPT09dm9pZCAwJiYoaT1taCk7dmFyIG49ZS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBuLl9idWZmZXJTaXplPXIsbi5fd2luZG93VGltZT1hLG4uX3RpbWVzdGFtcFByb3ZpZGVyPWksbi5fYnVmZmVyPVtdLG4uX2luZmluaXRlVGltZVdpbmRvdz0hMCxuLl9pbmZpbml0ZVRpbWVXaW5kb3c9YT09PTEvMCxuLl9idWZmZXJTaXplPU1hdGgubWF4KDEsciksbi5fd2luZG93VGltZT1NYXRoLm1heCgxLGEpLG59cmV0dXJuIHQucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24ocil7dmFyIGE9dGhpcyxpPWEuaXNTdG9wcGVkLG49YS5fYnVmZmVyLHM9YS5faW5maW5pdGVUaW1lV2luZG93LG89YS5fdGltZXN0YW1wUHJvdmlkZXIsYz1hLl93aW5kb3dUaW1lO2l8fChuLnB1c2gociksIXMmJm4ucHVzaChvLm5vdygpK2MpKSx0aGlzLl90cmltQnVmZmVyKCksZS5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMscil9LHQucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24ocil7dGhpcy5fdGhyb3dJZkNsb3NlZCgpLHRoaXMuX3RyaW1CdWZmZXIoKTtmb3IodmFyIGE9dGhpcy5faW5uZXJTdWJzY3JpYmUociksaT10aGlzLG49aS5faW5maW5pdGVUaW1lV2luZG93LHM9aS5fYnVmZmVyLG89cy5zbGljZSgpLGM9MDtjPG8ubGVuZ3RoJiYhci5jbG9zZWQ7Yys9bj8xOjIpci5uZXh0KG9bY10pO3JldHVybiB0aGlzLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzKHIpLGF9LHQucHJvdG90eXBlLl90cmltQnVmZmVyPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxhPXIuX2J1ZmZlclNpemUsaT1yLl90aW1lc3RhbXBQcm92aWRlcixuPXIuX2J1ZmZlcixzPXIuX2luZmluaXRlVGltZVdpbmRvdyxvPShzPzE6MikqYTtpZihhPDEvMCYmbzxuLmxlbmd0aCYmbi5zcGxpY2UoMCxuLmxlbmd0aC1vKSwhcyl7Zm9yKHZhciBjPWkubm93KCksbD0wLHU9MTt1PG4ubGVuZ3RoJiZuW3VdPD1jO3UrPTIpbD11O2wmJm4uc3BsaWNlKDAsbCsxKX19LHR9KSh2MSl9KTt2YXIgUXBlLEpwZT1mKCgpPT57UnIoKTtoaCgpO1FwZT0oZnVuY3Rpb24oZSl7V3QodCxlKTtmdW5jdGlvbiB0KCl7dmFyIHI9ZSE9PW51bGwmJmUuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiByLl92YWx1ZT1udWxsLHIuX2hhc1ZhbHVlPSExLHIuX2lzQ29tcGxldGU9ITEscn1yZXR1cm4gdC5wcm90b3R5cGUuX2NoZWNrRmluYWxpemVkU3RhdHVzZXM9ZnVuY3Rpb24ocil7dmFyIGE9dGhpcyxpPWEuaGFzRXJyb3Isbj1hLl9oYXNWYWx1ZSxzPWEuX3ZhbHVlLG89YS50aHJvd25FcnJvcixjPWEuaXNTdG9wcGVkLGw9YS5faXNDb21wbGV0ZTtpP3IuZXJyb3Iobyk6KGN8fGwpJiYobiYmci5uZXh0KHMpLHIuY29tcGxldGUoKSl9LHQucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24ocil7dGhpcy5pc1N0b3BwZWR8fCh0aGlzLl92YWx1ZT1yLHRoaXMuX2hhc1ZhbHVlPSEwKX0sdC5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGE9ci5faGFzVmFsdWUsaT1yLl92YWx1ZSxuPXIuX2lzQ29tcGxldGU7bnx8KHRoaXMuX2lzQ29tcGxldGU9ITAsYSYmZS5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMsaSksZS5wcm90b3R5cGUuY29tcGxldGUuY2FsbCh0aGlzKSl9LHR9KSh2MSl9KTt2YXIgZVIsS3BlPWYoKCk9PntScigpO0tvKCk7ZVI9KGZ1bmN0aW9uKGUpe1d0KHQsZSk7ZnVuY3Rpb24gdChyLGEpe3JldHVybiBlLmNhbGwodGhpcyl8fHRoaXN9cmV0dXJuIHQucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHIsYSl7cmV0dXJuIGE9PT12b2lkIDAmJihhPTApLHRoaXN9LHR9KShCYSl9KTt2YXIgZ2gsZThlPWYoKCk9PntScigpO2doPXtzZXRJbnRlcnZhbDpmdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1bXSxhPTI7YTxhcmd1bWVudHMubGVuZ3RoO2ErKylyW2EtMl09YXJndW1lbnRzW2FdO3ZhciBpPWdoLmRlbGVnYXRlO3JldHVybiBpPy5zZXRJbnRlcnZhbD9pLnNldEludGVydmFsLmFwcGx5KGksSGkoW2UsdF0sUWEocikpKTpzZXRJbnRlcnZhbC5hcHBseSh2b2lkIDAsSGkoW2UsdF0sUWEocikpKX0sY2xlYXJJbnRlcnZhbDpmdW5jdGlvbihlKXt2YXIgdD1naC5kZWxlZ2F0ZTtyZXR1cm4odD8uY2xlYXJJbnRlcnZhbHx8Y2xlYXJJbnRlcnZhbCkoZSl9LGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgbm8sRnU9ZigoKT0+e1JyKCk7S3BlKCk7ZThlKCk7RXUoKTtubz0oZnVuY3Rpb24oZSl7V3QodCxlKTtmdW5jdGlvbiB0KHIsYSl7dmFyIGk9ZS5jYWxsKHRoaXMscixhKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9cixpLndvcms9YSxpLnBlbmRpbmc9ITEsaX1yZXR1cm4gdC5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24ocixhKXt2YXIgaTtpZihhPT09dm9pZCAwJiYoYT0wKSx0aGlzLmNsb3NlZClyZXR1cm4gdGhpczt0aGlzLnN0YXRlPXI7dmFyIG49dGhpcy5pZCxzPXRoaXMuc2NoZWR1bGVyO3JldHVybiBuIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKHMsbixhKSksdGhpcy5wZW5kaW5nPSEwLHRoaXMuZGVsYXk9YSx0aGlzLmlkPShpPXRoaXMuaWQpIT09bnVsbCYmaSE9PXZvaWQgMD9pOnRoaXMucmVxdWVzdEFzeW5jSWQocyx0aGlzLmlkLGEpLHRoaXN9LHQucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHIsYSxpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksZ2guc2V0SW50ZXJ2YWwoci5mbHVzaC5iaW5kKHIsdGhpcyksaSl9LHQucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHIsYSxpKXtpZihpPT09dm9pZCAwJiYoaT0wKSxpIT1udWxsJiZ0aGlzLmRlbGF5PT09aSYmdGhpcy5wZW5kaW5nPT09ITEpcmV0dXJuIGE7YSE9bnVsbCYmZ2guY2xlYXJJbnRlcnZhbChhKX0sdC5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihyLGEpe2lmKHRoaXMuY2xvc2VkKXJldHVybiBuZXcgRXJyb3IoImV4ZWN1dGluZyBhIGNhbmNlbGxlZCBhY3Rpb24iKTt0aGlzLnBlbmRpbmc9ITE7dmFyIGk9dGhpcy5fZXhlY3V0ZShyLGEpO2lmKGkpcmV0dXJuIGk7dGhpcy5wZW5kaW5nPT09ITEmJnRoaXMuaWQhPW51bGwmJih0aGlzLmlkPXRoaXMucmVjeWNsZUFzeW5jSWQodGhpcy5zY2hlZHVsZXIsdGhpcy5pZCxudWxsKSl9LHQucHJvdG90eXBlLl9leGVjdXRlPWZ1bmN0aW9uKHIsYSl7dmFyIGk9ITEsbjt0cnl7dGhpcy53b3JrKHIpfWNhdGNoKHMpe2k9ITAsbj1zfHxuZXcgRXJyb3IoIlNjaGVkdWxlZCBhY3Rpb24gdGhyZXcgZmFsc3kgZXJyb3IiKX1pZihpKXJldHVybiB0aGlzLnVuc3Vic2NyaWJlKCksbn0sdC5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXtpZighdGhpcy5jbG9zZWQpe3ZhciByPXRoaXMsYT1yLmlkLGk9ci5zY2hlZHVsZXIsbj1pLmFjdGlvbnM7dGhpcy53b3JrPXRoaXMuc3RhdGU9dGhpcy5zY2hlZHVsZXI9bnVsbCx0aGlzLnBlbmRpbmc9ITEsaW8obix0aGlzKSxhIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKGksYSxudWxsKSksdGhpcy5kZWxheT1udWxsLGUucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyl9fSx0fSkoZVIpfSk7ZnVuY3Rpb24gdDhlKGUpe3JldHVybiBlIGluIGR4PyhkZWxldGUgZHhbZV0sITApOiExfXZhciBsaHIsdFIsZHgsclIsZ3JhLHI4ZT1mKCgpPT57bGhyPTEsZHg9e307clI9e3NldEltbWVkaWF0ZTpmdW5jdGlvbihlKXt2YXIgdD1saHIrKztyZXR1cm4gZHhbdF09ITAsdFJ8fCh0Uj1Qcm9taXNlLnJlc29sdmUoKSksdFIudGhlbihmdW5jdGlvbigpe3JldHVybiB0OGUodCkmJmUoKX0pLHR9LGNsZWFySW1tZWRpYXRlOmZ1bmN0aW9uKGUpe3Q4ZShlKX19LGdyYT17cGVuZGluZzpmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhkeCkubGVuZ3RofX19KTt2YXIgY2hyLGRocixiaCxhOGU9ZigoKT0+e1JyKCk7cjhlKCk7Y2hyPXJSLnNldEltbWVkaWF0ZSxkaHI9clIuY2xlYXJJbW1lZGlhdGUsYmg9e3NldEltbWVkaWF0ZTpmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgcj1iaC5kZWxlZ2F0ZTtyZXR1cm4ocj8uc2V0SW1tZWRpYXRlfHxjaHIpLmFwcGx5KHZvaWQgMCxIaShbXSxRYShlKSkpfSxjbGVhckltbWVkaWF0ZTpmdW5jdGlvbihlKXt2YXIgdD1iaC5kZWxlZ2F0ZTtyZXR1cm4odD8uY2xlYXJJbW1lZGlhdGV8fGRocikoZSl9LGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgYVIsaThlPWYoKCk9PntScigpO0Z1KCk7YThlKCk7YVI9KGZ1bmN0aW9uKGUpe1d0KHQsZSk7ZnVuY3Rpb24gdChyLGEpe3ZhciBpPWUuY2FsbCh0aGlzLHIsYSl8fHRoaXM7cmV0dXJuIGkuc2NoZWR1bGVyPXIsaS53b3JrPWEsaX1yZXR1cm4gdC5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQ9ZnVuY3Rpb24ocixhLGkpe3JldHVybiBpPT09dm9pZCAwJiYoaT0wKSxpIT09bnVsbCYmaT4wP2UucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkLmNhbGwodGhpcyxyLGEsaSk6KHIuYWN0aW9ucy5wdXNoKHRoaXMpLHIuX3NjaGVkdWxlZHx8KHIuX3NjaGVkdWxlZD1iaC5zZXRJbW1lZGlhdGUoci5mbHVzaC5iaW5kKHIsdm9pZCAwKSkpKX0sdC5wcm90b3R5cGUucmVjeWNsZUFzeW5jSWQ9ZnVuY3Rpb24ocixhLGkpe3ZhciBuO2lmKGk9PT12b2lkIDAmJihpPTApLGkhPW51bGw/aT4wOnRoaXMuZGVsYXk+MClyZXR1cm4gZS5wcm90b3R5cGUucmVjeWNsZUFzeW5jSWQuY2FsbCh0aGlzLHIsYSxpKTt2YXIgcz1yLmFjdGlvbnM7YSE9bnVsbCYmKChuPXNbcy5sZW5ndGgtMV0pPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5pZCkhPT1hJiYoYmguY2xlYXJJbW1lZGlhdGUoYSksci5fc2NoZWR1bGVkPT09YSYmKHIuX3NjaGVkdWxlZD12b2lkIDApKX0sdH0pKG5vKX0pO3ZhciB2aCxpUj1mKCgpPT57S08oKTt2aD0oZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQscil7cj09PXZvaWQgMCYmKHI9ZS5ub3cpLHRoaXMuc2NoZWR1bGVyQWN0aW9uQ3Rvcj10LHRoaXMubm93PXJ9cmV0dXJuIGUucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHQscixhKXtyZXR1cm4gcj09PXZvaWQgMCYmKHI9MCksbmV3IHRoaXMuc2NoZWR1bGVyQWN0aW9uQ3Rvcih0aGlzLHQpLnNjaGVkdWxlKGEscil9LGUubm93PW1oLm5vdyxlfSkoKX0pO3ZhciBzbyxPdT1mKCgpPT57UnIoKTtpUigpO3NvPShmdW5jdGlvbihlKXtXdCh0LGUpO2Z1bmN0aW9uIHQocixhKXthPT09dm9pZCAwJiYoYT12aC5ub3cpO3ZhciBpPWUuY2FsbCh0aGlzLHIsYSl8fHRoaXM7cmV0dXJuIGkuYWN0aW9ucz1bXSxpLl9hY3RpdmU9ITEsaX1yZXR1cm4gdC5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24ocil7dmFyIGE9dGhpcy5hY3Rpb25zO2lmKHRoaXMuX2FjdGl2ZSl7YS5wdXNoKHIpO3JldHVybn12YXIgaTt0aGlzLl9hY3RpdmU9ITA7ZG8gaWYoaT1yLmV4ZWN1dGUoci5zdGF0ZSxyLmRlbGF5KSlicmVhazt3aGlsZShyPWEuc2hpZnQoKSk7aWYodGhpcy5fYWN0aXZlPSExLGkpe2Zvcig7cj1hLnNoaWZ0KCk7KXIudW5zdWJzY3JpYmUoKTt0aHJvdyBpfX0sdH0pKHZoKX0pO3ZhciBuUixuOGU9ZigoKT0+e1JyKCk7T3UoKTtuUj0oZnVuY3Rpb24oZSl7V3QodCxlKTtmdW5jdGlvbiB0KCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gdC5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24ocil7dGhpcy5fYWN0aXZlPSEwO3ZhciBhPXRoaXMuX3NjaGVkdWxlZDt0aGlzLl9zY2hlZHVsZWQ9dm9pZCAwO3ZhciBpPXRoaXMuYWN0aW9ucyxuO3I9cnx8aS5zaGlmdCgpO2RvIGlmKG49ci5leGVjdXRlKHIuc3RhdGUsci5kZWxheSkpYnJlYWs7d2hpbGUoKHI9aVswXSkmJnIuaWQ9PT1hJiZpLnNoaWZ0KCkpO2lmKHRoaXMuX2FjdGl2ZT0hMSxuKXtmb3IoOyhyPWlbMF0pJiZyLmlkPT09YSYmaS5zaGlmdCgpOylyLnVuc3Vic2NyaWJlKCk7dGhyb3cgbn19LHR9KShzbyl9KTt2YXIgczhlLHVocixvOGU9ZigoKT0+e2k4ZSgpO244ZSgpO3M4ZT1uZXcgblIoYVIpLHVocj1zOGV9KTt2YXIgZTIsc1IsazM9ZigoKT0+e0Z1KCk7T3UoKTtlMj1uZXcgc28obm8pLHNSPWUyfSk7dmFyIG9SLGw4ZT1mKCgpPT57UnIoKTtGdSgpO29SPShmdW5jdGlvbihlKXtXdCh0LGUpO2Z1bmN0aW9uIHQocixhKXt2YXIgaT1lLmNhbGwodGhpcyxyLGEpfHx0aGlzO3JldHVybiBpLnNjaGVkdWxlcj1yLGkud29yaz1hLGl9cmV0dXJuIHQucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHIsYSl7cmV0dXJuIGE9PT12b2lkIDAmJihhPTApLGE+MD9lLnByb3RvdHlwZS5zY2hlZHVsZS5jYWxsKHRoaXMscixhKToodGhpcy5kZWxheT1hLHRoaXMuc3RhdGU9cix0aGlzLnNjaGVkdWxlci5mbHVzaCh0aGlzKSx0aGlzKX0sdC5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihyLGEpe3JldHVybiBhPjB8fHRoaXMuY2xvc2VkP2UucHJvdG90eXBlLmV4ZWN1dGUuY2FsbCh0aGlzLHIsYSk6dGhpcy5fZXhlY3V0ZShyLGEpfSx0LnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbihyLGEsaSl7cmV0dXJuIGk9PT12b2lkIDAmJihpPTApLGkhPW51bGwmJmk+MHx8aT09bnVsbCYmdGhpcy5kZWxheT4wP2UucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkLmNhbGwodGhpcyxyLGEsaSk6KHIuZmx1c2godGhpcyksMCl9LHR9KShubyl9KTt2YXIgbFIsYzhlPWYoKCk9PntScigpO091KCk7bFI9KGZ1bmN0aW9uKGUpe1d0KHQsZSk7ZnVuY3Rpb24gdCgpe3JldHVybiBlIT09bnVsbCYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHR9KShzbyl9KTt2YXIgZDhlLHBocix1OGU9ZigoKT0+e2w4ZSgpO2M4ZSgpO2Q4ZT1uZXcgbFIob1IpLHBocj1kOGV9KTt2YXIgY1IscDhlPWYoKCk9PntScigpO0Z1KCk7Wk8oKTtjUj0oZnVuY3Rpb24oZSl7V3QodCxlKTtmdW5jdGlvbiB0KHIsYSl7dmFyIGk9ZS5jYWxsKHRoaXMscixhKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9cixpLndvcms9YSxpfXJldHVybiB0LnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbihyLGEsaSl7cmV0dXJuIGk9PT12b2lkIDAmJihpPTApLGkhPT1udWxsJiZpPjA/ZS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLHIsYSxpKTooci5hY3Rpb25zLnB1c2godGhpcyksci5fc2NoZWR1bGVkfHwoci5fc2NoZWR1bGVkPWtsLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3JldHVybiByLmZsdXNoKHZvaWQgMCl9KSkpfSx0LnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihyLGEsaSl7dmFyIG47aWYoaT09PXZvaWQgMCYmKGk9MCksaSE9bnVsbD9pPjA6dGhpcy5kZWxheT4wKXJldHVybiBlLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZC5jYWxsKHRoaXMscixhLGkpO3ZhciBzPXIuYWN0aW9uczthIT1udWxsJiZhPT09ci5fc2NoZWR1bGVkJiYoKG49c1tzLmxlbmd0aC0xXSk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmlkKSE9PWEmJihrbC5jYW5jZWxBbmltYXRpb25GcmFtZShhKSxyLl9zY2hlZHVsZWQ9dm9pZCAwKX0sdH0pKG5vKX0pO3ZhciBkUixmOGU9ZigoKT0+e1JyKCk7T3UoKTtkUj0oZnVuY3Rpb24oZSl7V3QodCxlKTtmdW5jdGlvbiB0KCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gdC5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24ocil7dGhpcy5fYWN0aXZlPSEwO3ZhciBhO3I/YT1yLmlkOihhPXRoaXMuX3NjaGVkdWxlZCx0aGlzLl9zY2hlZHVsZWQ9dm9pZCAwKTt2YXIgaT10aGlzLmFjdGlvbnMsbjtyPXJ8fGkuc2hpZnQoKTtkbyBpZihuPXIuZXhlY3V0ZShyLnN0YXRlLHIuZGVsYXkpKWJyZWFrO3doaWxlKChyPWlbMF0pJiZyLmlkPT09YSYmaS5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsbil7Zm9yKDsocj1pWzBdKSYmci5pZD09PWEmJmkuc2hpZnQoKTspci51bnN1YnNjcmliZSgpO3Rocm93IG59fSx0fSkoc28pfSk7dmFyIGg4ZSxmaHIsbThlPWYoKCk9PntwOGUoKTtmOGUoKTtoOGU9bmV3IGRSKGNSKSxmaHI9aDhlfSk7dmFyIGc4ZSx1UixiOGU9ZigoKT0+e1JyKCk7RnUoKTtLbygpO091KCk7ZzhlPShmdW5jdGlvbihlKXtXdCh0LGUpO2Z1bmN0aW9uIHQocixhKXtyPT09dm9pZCAwJiYocj11UiksYT09PXZvaWQgMCYmKGE9MS8wKTt2YXIgaT1lLmNhbGwodGhpcyxyLGZ1bmN0aW9uKCl7cmV0dXJuIGkuZnJhbWV9KXx8dGhpcztyZXR1cm4gaS5tYXhGcmFtZXM9YSxpLmZyYW1lPTAsaS5pbmRleD0tMSxpfXJldHVybiB0LnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgcj10aGlzLGE9ci5hY3Rpb25zLGk9ci5tYXhGcmFtZXMsbixzOyhzPWFbMF0pJiZzLmRlbGF5PD1pJiYoYS5zaGlmdCgpLHRoaXMuZnJhbWU9cy5kZWxheSwhKG49cy5leGVjdXRlKHMuc3RhdGUscy5kZWxheSkpKTspO2lmKG4pe2Zvcig7cz1hLnNoaWZ0KCk7KXMudW5zdWJzY3JpYmUoKTt0aHJvdyBufX0sdC5mcmFtZVRpbWVGYWN0b3I9MTAsdH0pKHNvKSx1Uj0oZnVuY3Rpb24oZSl7V3QodCxlKTtmdW5jdGlvbiB0KHIsYSxpKXtpPT09dm9pZCAwJiYoaT1yLmluZGV4Kz0xKTt2YXIgbj1lLmNhbGwodGhpcyxyLGEpfHx0aGlzO3JldHVybiBuLnNjaGVkdWxlcj1yLG4ud29yaz1hLG4uaW5kZXg9aSxuLmFjdGl2ZT0hMCxuLmluZGV4PXIuaW5kZXg9aSxufXJldHVybiB0LnByb3RvdHlwZS5zY2hlZHVsZT1mdW5jdGlvbihyLGEpe2lmKGE9PT12b2lkIDAmJihhPTApLE51bWJlci5pc0Zpbml0ZShhKSl7aWYoIXRoaXMuaWQpcmV0dXJuIGUucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcyxyLGEpO3RoaXMuYWN0aXZlPSExO3ZhciBpPW5ldyB0KHRoaXMuc2NoZWR1bGVyLHRoaXMud29yayk7cmV0dXJuIHRoaXMuYWRkKGkpLGkuc2NoZWR1bGUocixhKX1lbHNlIHJldHVybiBCYS5FTVBUWX0sdC5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQ9ZnVuY3Rpb24ocixhLGkpe2k9PT12b2lkIDAmJihpPTApLHRoaXMuZGVsYXk9ci5mcmFtZStpO3ZhciBuPXIuYWN0aW9ucztyZXR1cm4gbi5wdXNoKHRoaXMpLG4uc29ydCh0LnNvcnRBY3Rpb25zKSwxfSx0LnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihyLGEsaSl7aT09PXZvaWQgMCYmKGk9MCl9LHQucHJvdG90eXBlLl9leGVjdXRlPWZ1bmN0aW9uKHIsYSl7aWYodGhpcy5hY3RpdmU9PT0hMClyZXR1cm4gZS5wcm90b3R5cGUuX2V4ZWN1dGUuY2FsbCh0aGlzLHIsYSl9LHQuc29ydEFjdGlvbnM9ZnVuY3Rpb24ocixhKXtyZXR1cm4gci5kZWxheT09PWEuZGVsYXk/ci5pbmRleD09PWEuaW5kZXg/MDpyLmluZGV4PmEuaW5kZXg/MTotMTpyLmRlbGF5PmEuZGVsYXk/MTotMX0sdH0pKG5vKX0pO2Z1bmN0aW9uIGhocihlKXtyZXR1cm4gZT9taHIoZSk6dXh9ZnVuY3Rpb24gbWhyKGUpe3JldHVybiBuZXcgSHQoZnVuY3Rpb24odCl7cmV0dXJuIGUuc2NoZWR1bGUoZnVuY3Rpb24oKXtyZXR1cm4gdC5jb21wbGV0ZSgpfSl9KX12YXIgdXgscHg9ZigoKT0+e2IxKCk7dXg9bmV3IEh0KGZ1bmN0aW9uKGUpe3JldHVybiBlLmNvbXBsZXRlKCl9KX0pO2Z1bmN0aW9uIGZ4KGUpe3JldHVybiBlJiZfdChlLnNjaGVkdWxlKX12YXIgcFI9ZigoKT0+e0NpKCl9KTtmdW5jdGlvbiBmUihlKXtyZXR1cm4gZVtlLmxlbmd0aC0xXX1mdW5jdGlvbiBtYWEoZSl7cmV0dXJuIF90KGZSKGUpKT9lLnBvcCgpOnZvaWQgMH1mdW5jdGlvbiBpMChlKXtyZXR1cm4gZngoZlIoZSkpP2UucG9wKCk6dm9pZCAwfWZ1bmN0aW9uIGdhYShlLHQpe3JldHVybiB0eXBlb2YgZlIoZSk9PSJudW1iZXIiP2UucG9wKCk6dH12YXIgeGg9ZigoKT0+e0NpKCk7cFIoKX0pO3ZhciBSdSxoeD1mKCgpPT57UnU9KGZ1bmN0aW9uKGUpe3JldHVybiBlJiZ0eXBlb2YgZS5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgZSE9ImZ1bmN0aW9uIn0pfSk7ZnVuY3Rpb24gbXgoZSl7cmV0dXJuIF90KGU/LnRoZW4pfXZhciBoUj1mKCgpPT57Q2koKX0pO2Z1bmN0aW9uIGd4KGUpe3JldHVybiBfdChlW00zXSl9dmFyIG1SPWYoKCk9PntwaCgpO0NpKCl9KTtmdW5jdGlvbiBieChlKXtyZXR1cm4gU3ltYm9sLmFzeW5jSXRlcmF0b3ImJl90KGU/LltTeW1ib2wuYXN5bmNJdGVyYXRvcl0pfXZhciBnUj1mKCgpPT57Q2koKX0pO2Z1bmN0aW9uIHZ4KGUpe3JldHVybiBuZXcgVHlwZUVycm9yKCJZb3UgcHJvdmlkZWQgIisoZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0Ij8iYW4gaW52YWxpZCBvYmplY3QiOiInIitlKyInIikrIiB3aGVyZSBhIHN0cmVhbSB3YXMgZXhwZWN0ZWQuIFlvdSBjYW4gcHJvdmlkZSBhbiBPYnNlcnZhYmxlLCBQcm9taXNlLCBSZWFkYWJsZVN0cmVhbSwgQXJyYXksIEFzeW5jSXRlcmFibGUsIG9yIEl0ZXJhYmxlLiIpfXZhciBiUj1mKCgpPT57fSk7ZnVuY3Rpb24gZ2hyKCl7cmV0dXJuIHR5cGVvZiBTeW1ib2whPSJmdW5jdGlvbiJ8fCFTeW1ib2wuaXRlcmF0b3I/IkBAaXRlcmF0b3IiOlN5bWJvbC5pdGVyYXRvcn12YXIgeHgsdlI9ZigoKT0+e3h4PWdocigpfSk7ZnVuY3Rpb24geXgoZSl7cmV0dXJuIF90KGU/Llt4eF0pfXZhciB4Uj1mKCgpPT57dlIoKTtDaSgpfSk7ZnVuY3Rpb24gd3goZSl7cmV0dXJuIE5PKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKCl7dmFyIHIsYSxpLG47cmV0dXJuIGNoKHRoaXMsZnVuY3Rpb24ocyl7c3dpdGNoKHMubGFiZWwpe2Nhc2UgMDpyPWUuZ2V0UmVhZGVyKCkscy5sYWJlbD0xO2Nhc2UgMTpzLnRyeXMucHVzaChbMSwsOSwxMF0pLHMubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzQsTWwoci5yZWFkKCkpXTtjYXNlIDM6cmV0dXJuIGE9cy5zZW50KCksaT1hLnZhbHVlLG49YS5kb25lLG4/WzQsTWwodm9pZCAwKV06WzMsNV07Y2FzZSA0OnJldHVyblsyLHMuc2VudCgpXTtjYXNlIDU6cmV0dXJuWzQsTWwoaSldO2Nhc2UgNjpyZXR1cm5bNCxzLnNlbnQoKV07Y2FzZSA3OnJldHVybiBzLnNlbnQoKSxbMywyXTtjYXNlIDg6cmV0dXJuWzMsMTBdO2Nhc2UgOTpyZXR1cm4gci5yZWxlYXNlTG9jaygpLFs3XTtjYXNlIDEwOnJldHVyblsyXX19KX0pfWZ1bmN0aW9uIE14KGUpe3JldHVybiBfdChlPy5nZXRSZWFkZXIpfXZhciBreD1mKCgpPT57UnIoKTtDaSgpfSk7ZnVuY3Rpb24gVGEoZSl7aWYoZSBpbnN0YW5jZW9mIEh0KXJldHVybiBlO2lmKGUhPW51bGwpe2lmKGd4KGUpKXJldHVybiBiaHIoZSk7aWYoUnUoZSkpcmV0dXJuIHZocihlKTtpZihteChlKSlyZXR1cm4geGhyKGUpO2lmKGJ4KGUpKXJldHVybiB2OGUoZSk7aWYoeXgoZSkpcmV0dXJuIHlocihlKTtpZihNeChlKSlyZXR1cm4gd2hyKGUpfXRocm93IHZ4KGUpfWZ1bmN0aW9uIGJocihlKXtyZXR1cm4gbmV3IEh0KGZ1bmN0aW9uKHQpe3ZhciByPWVbTTNdKCk7aWYoX3Qoci5zdWJzY3JpYmUpKXJldHVybiByLnN1YnNjcmliZSh0KTt0aHJvdyBuZXcgVHlwZUVycm9yKCJQcm92aWRlZCBvYmplY3QgZG9lcyBub3QgY29ycmVjdGx5IGltcGxlbWVudCBTeW1ib2wub2JzZXJ2YWJsZSIpfSl9ZnVuY3Rpb24gdmhyKGUpe3JldHVybiBuZXcgSHQoZnVuY3Rpb24odCl7Zm9yKHZhciByPTA7cjxlLmxlbmd0aCYmIXQuY2xvc2VkO3IrKyl0Lm5leHQoZVtyXSk7dC5jb21wbGV0ZSgpfSl9ZnVuY3Rpb24geGhyKGUpe3JldHVybiBuZXcgSHQoZnVuY3Rpb24odCl7ZS50aGVuKGZ1bmN0aW9uKHIpe3QuY2xvc2VkfHwodC5uZXh0KHIpLHQuY29tcGxldGUoKSl9LGZ1bmN0aW9uKHIpe3JldHVybiB0LmVycm9yKHIpfSkudGhlbihudWxsLHJ4KX0pfWZ1bmN0aW9uIHlocihlKXtyZXR1cm4gbmV3IEh0KGZ1bmN0aW9uKHQpe3ZhciByLGE7dHJ5e2Zvcih2YXIgaT1jbihlKSxuPWkubmV4dCgpOyFuLmRvbmU7bj1pLm5leHQoKSl7dmFyIHM9bi52YWx1ZTtpZih0Lm5leHQocyksdC5jbG9zZWQpcmV0dXJufX1jYXRjaChvKXtyPXtlcnJvcjpvfX1maW5hbGx5e3RyeXtuJiYhbi5kb25lJiYoYT1pLnJldHVybikmJmEuY2FsbChpKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19dC5jb21wbGV0ZSgpfSl9ZnVuY3Rpb24gdjhlKGUpe3JldHVybiBuZXcgSHQoZnVuY3Rpb24odCl7TWhyKGUsdCkuY2F0Y2goZnVuY3Rpb24ocil7cmV0dXJuIHQuZXJyb3Iocil9KX0pfWZ1bmN0aW9uIHdocihlKXtyZXR1cm4gdjhlKHd4KGUpKX1mdW5jdGlvbiBNaHIoZSx0KXt2YXIgcixhLGksbjtyZXR1cm4gUE8odGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHMsbztyZXR1cm4gY2godGhpcyxmdW5jdGlvbihjKXtzd2l0Y2goYy5sYWJlbCl7Y2FzZSAwOmMudHJ5cy5wdXNoKFswLDUsNiwxMV0pLHI9Rk8oZSksYy5sYWJlbD0xO2Nhc2UgMTpyZXR1cm5bNCxyLm5leHQoKV07Y2FzZSAyOmlmKGE9Yy5zZW50KCksISFhLmRvbmUpcmV0dXJuWzMsNF07aWYocz1hLnZhbHVlLHQubmV4dChzKSx0LmNsb3NlZClyZXR1cm5bMl07Yy5sYWJlbD0zO2Nhc2UgMzpyZXR1cm5bMywxXTtjYXNlIDQ6cmV0dXJuWzMsMTFdO2Nhc2UgNTpyZXR1cm4gbz1jLnNlbnQoKSxpPXtlcnJvcjpvfSxbMywxMV07Y2FzZSA2OnJldHVybiBjLnRyeXMucHVzaChbNiwsOSwxMF0pLGEmJiFhLmRvbmUmJihuPXIucmV0dXJuKT9bNCxuLmNhbGwocildOlszLDhdO2Nhc2UgNzpjLnNlbnQoKSxjLmxhYmVsPTg7Y2FzZSA4OnJldHVyblszLDEwXTtjYXNlIDk6aWYoaSl0aHJvdyBpLmVycm9yO3JldHVybls3XTtjYXNlIDEwOnJldHVybls3XTtjYXNlIDExOnJldHVybiB0LmNvbXBsZXRlKCksWzJdfX0pfSl9dmFyIHVzPWYoKCk9PntScigpO2h4KCk7aFIoKTtiMSgpO21SKCk7Z1IoKTtiUigpO3hSKCk7a3goKTtDaSgpO0hPKCk7cGgoKX0pO2Z1bmN0aW9uIGppKGUsdCxyLGEsaSl7YT09PXZvaWQgMCYmKGE9MCksaT09PXZvaWQgMCYmKGk9ITEpO3ZhciBuPXQuc2NoZWR1bGUoZnVuY3Rpb24oKXtyKCksaT9lLmFkZCh0aGlzLnNjaGVkdWxlKG51bGwsYSkpOnRoaXMudW5zdWJzY3JpYmUoKX0sYSk7aWYoZS5hZGQobiksIWkpcmV0dXJuIG59dmFyIFMzPWYoKCk9Pnt9KTtmdW5jdGlvbiBCdShlLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSxUcihmdW5jdGlvbihyLGEpe3Iuc3Vic2NyaWJlKGJyKGEsZnVuY3Rpb24oaSl7cmV0dXJuIGppKGEsZSxmdW5jdGlvbigpe3JldHVybiBhLm5leHQoaSl9LHQpfSxmdW5jdGlvbigpe3JldHVybiBqaShhLGUsZnVuY3Rpb24oKXtyZXR1cm4gYS5jb21wbGV0ZSgpfSx0KX0sZnVuY3Rpb24oaSl7cmV0dXJuIGppKGEsZSxmdW5jdGlvbigpe3JldHVybiBhLmVycm9yKGkpfSx0KX0pKX0pfXZhciB5aD1mKCgpPT57UzMoKTtxaSgpO3FuKCl9KTtmdW5jdGlvbiBIdShlLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSxUcihmdW5jdGlvbihyLGEpe2EuYWRkKGUuc2NoZWR1bGUoZnVuY3Rpb24oKXtyZXR1cm4gci5zdWJzY3JpYmUoYSl9LHQpKX0pfXZhciB3aD1mKCgpPT57cWkoKX0pO2Z1bmN0aW9uIHg4ZShlLHQpe3JldHVybiBUYShlKS5waXBlKEh1KHQpLEJ1KHQpKX12YXIgeThlPWYoKCk9Pnt1cygpO3loKCk7d2goKX0pO2Z1bmN0aW9uIHc4ZShlLHQpe3JldHVybiBUYShlKS5waXBlKEh1KHQpLEJ1KHQpKX12YXIgTThlPWYoKCk9Pnt1cygpO3loKCk7d2goKX0pO2Z1bmN0aW9uIGs4ZShlLHQpe3JldHVybiBuZXcgSHQoZnVuY3Rpb24ocil7dmFyIGE9MDtyZXR1cm4gdC5zY2hlZHVsZShmdW5jdGlvbigpe2E9PT1lLmxlbmd0aD9yLmNvbXBsZXRlKCk6KHIubmV4dChlW2ErK10pLHIuY2xvc2VkfHx0aGlzLnNjaGVkdWxlKCkpfSl9KX12YXIgUzhlPWYoKCk9PntiMSgpfSk7ZnVuY3Rpb24gejhlKGUsdCl7cmV0dXJuIG5ldyBIdChmdW5jdGlvbihyKXt2YXIgYTtyZXR1cm4gamkocix0LGZ1bmN0aW9uKCl7YT1lW3h4XSgpLGppKHIsdCxmdW5jdGlvbigpe3ZhciBpLG4sczt0cnl7aT1hLm5leHQoKSxuPWkudmFsdWUscz1pLmRvbmV9Y2F0Y2gobyl7ci5lcnJvcihvKTtyZXR1cm59cz9yLmNvbXBsZXRlKCk6ci5uZXh0KG4pfSwwLCEwKX0pLGZ1bmN0aW9uKCl7cmV0dXJuIF90KGE/LnJldHVybikmJmEucmV0dXJuKCl9fSl9dmFyIEM4ZT1mKCgpPT57YjEoKTt2UigpO0NpKCk7UzMoKX0pO2Z1bmN0aW9uIFN4KGUsdCl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJJdGVyYWJsZSBjYW5ub3QgYmUgbnVsbCIpO3JldHVybiBuZXcgSHQoZnVuY3Rpb24ocil7amkocix0LGZ1bmN0aW9uKCl7dmFyIGE9ZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKTtqaShyLHQsZnVuY3Rpb24oKXthLm5leHQoKS50aGVuKGZ1bmN0aW9uKGkpe2kuZG9uZT9yLmNvbXBsZXRlKCk6ci5uZXh0KGkudmFsdWUpfSl9LDAsITApfSl9KX12YXIgeVI9ZigoKT0+e2IxKCk7UzMoKX0pO2Z1bmN0aW9uIFQ4ZShlLHQpe3JldHVybiBTeCh3eChlKSx0KX12YXIgXzhlPWYoKCk9Pnt5UigpO2t4KCl9KTtmdW5jdGlvbiB3UihlLHQpe2lmKGUhPW51bGwpe2lmKGd4KGUpKXJldHVybiB4OGUoZSx0KTtpZihSdShlKSlyZXR1cm4gazhlKGUsdCk7aWYobXgoZSkpcmV0dXJuIHc4ZShlLHQpO2lmKGJ4KGUpKXJldHVybiBTeChlLHQpO2lmKHl4KGUpKXJldHVybiB6OGUoZSx0KTtpZihNeChlKSlyZXR1cm4gVDhlKGUsdCl9dGhyb3cgdngoZSl9dmFyIE1SPWYoKCk9Pnt5OGUoKTtNOGUoKTtTOGUoKTtDOGUoKTt5UigpO21SKCk7aFIoKTtoeCgpO3hSKCk7Z1IoKTtiUigpO2t4KCk7XzhlKCl9KTtmdW5jdGlvbiB6MyhlLHQpe3JldHVybiB0P3dSKGUsdCk6VGEoZSl9dmFyIHp4PWYoKCk9PntNUigpO3VzKCl9KTtmdW5jdGlvbiBNaCgpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgcj1pMChlKTtyZXR1cm4gejMoZSxyKX12YXIga1I9ZigoKT0+e3hoKCk7engoKX0pO2Z1bmN0aW9uIFNSKGUsdCl7dmFyIHI9X3QoZSk/ZTpmdW5jdGlvbigpe3JldHVybiBlfSxhPWZ1bmN0aW9uKGkpe3JldHVybiBpLmVycm9yKHIoKSl9O3JldHVybiBuZXcgSHQodD9mdW5jdGlvbihpKXtyZXR1cm4gdC5zY2hlZHVsZShhLDAsaSl9OmEpfXZhciB6Uj1mKCgpPT57YjEoKTtDaSgpfSk7ZnVuY3Rpb24ga2hyKGUsdCl7dmFyIHIsYSxpLG49ZSxzPW4ua2luZCxvPW4udmFsdWUsYz1uLmVycm9yO2lmKHR5cGVvZiBzIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vdGlmaWNhdGlvbiwgbWlzc2luZyAia2luZCInKTtzPT09Ik4iPyhyPXQubmV4dCk9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwodCxvKTpzPT09IkUiPyhhPXQuZXJyb3IpPT09bnVsbHx8YT09PXZvaWQgMHx8YS5jYWxsKHQsYyk6KGk9dC5jb21wbGV0ZSk9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwodCl9dmFyIENSLEw4ZSwkOGU9ZigoKT0+e3B4KCk7a1IoKTt6UigpO0NpKCk7KGZ1bmN0aW9uKGUpe2UuTkVYVD0iTiIsZS5FUlJPUj0iRSIsZS5DT01QTEVURT0iQyJ9KShDUnx8KENSPXt9KSk7TDhlPShmdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxyLGEpe3RoaXMua2luZD10LHRoaXMudmFsdWU9cix0aGlzLmVycm9yPWEsdGhpcy5oYXNWYWx1ZT10PT09Ik4ifXJldHVybiBlLnByb3RvdHlwZS5vYnNlcnZlPWZ1bmN0aW9uKHQpe3JldHVybiBraHIodGhpcyx0KX0sZS5wcm90b3R5cGUuZG89ZnVuY3Rpb24odCxyLGEpe3ZhciBpPXRoaXMsbj1pLmtpbmQscz1pLnZhbHVlLG89aS5lcnJvcjtyZXR1cm4gbj09PSJOIj90Py4ocyk6bj09PSJFIj9yPy4obyk6YT8uKCl9LGUucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbih0LHIsYSl7dmFyIGk7cmV0dXJuIF90KChpPXQpPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS5uZXh0KT90aGlzLm9ic2VydmUodCk6dGhpcy5kbyh0LHIsYSl9LGUucHJvdG90eXBlLnRvT2JzZXJ2YWJsZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMscj10LmtpbmQsYT10LnZhbHVlLGk9dC5lcnJvcixuPXI9PT0iTiI/TWgoYSk6cj09PSJFIj9TUihmdW5jdGlvbigpe3JldHVybiBpfSk6cj09PSJDIj91eDowO2lmKCFuKXRocm93IG5ldyBUeXBlRXJyb3IoIlVuZXhwZWN0ZWQgbm90aWZpY2F0aW9uIGtpbmQgIityKTtyZXR1cm4gbn0sZS5jcmVhdGVOZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZSgiTiIsdCl9LGUuY3JlYXRlRXJyb3I9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBlKCJFIix2b2lkIDAsdCl9LGUuY3JlYXRlQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gZS5jb21wbGV0ZU5vdGlmaWNhdGlvbn0sZS5jb21wbGV0ZU5vdGlmaWNhdGlvbj1uZXcgZSgiQyIpLGV9KSgpfSk7dmFyIEQ4ZT1mKCgpPT57fSk7dmFyIFNocixBOGU9ZigoKT0+e2EwKCk7U2hyPWcxKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe2UodGhpcyksdGhpcy5uYW1lPSJFbXB0eUVycm9yIix0aGlzLm1lc3NhZ2U9Im5vIGVsZW1lbnRzIGluIHNlcXVlbmNlIn19KX0pO3ZhciBFOGU9ZigoKT0+e30pO3ZhciBJOGU9ZigoKT0+e30pO3ZhciB6aHIsUDhlPWYoKCk9PnthMCgpO3pocj1nMShmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtlKHRoaXMpLHRoaXMubmFtZT0iQXJndW1lbnRPdXRPZlJhbmdlRXJyb3IiLHRoaXMubWVzc2FnZT0iYXJndW1lbnQgb3V0IG9mIHJhbmdlIn19KX0pO3ZhciBDaHIsTjhlPWYoKCk9PnthMCgpO0Nocj1nMShmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7ZSh0aGlzKSx0aGlzLm5hbWU9Ik5vdEZvdW5kRXJyb3IiLHRoaXMubWVzc2FnZT1yfX0pfSk7dmFyIFRocixGOGU9ZigoKT0+e2EwKCk7VGhyPWcxKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihyKXtlKHRoaXMpLHRoaXMubmFtZT0iU2VxdWVuY2VFcnJvciIsdGhpcy5tZXNzYWdlPXJ9fSl9KTtmdW5jdGlvbiBDeChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIERhdGUmJiFpc05hTihlKX12YXIgVFI9ZigoKT0+e30pO2Z1bmN0aW9uIFI4ZShlLHQpe3ZhciByPUN4KGUpP3tmaXJzdDplfTp0eXBlb2YgZT09Im51bWJlciI/e2VhY2g6ZX06ZSxhPXIuZmlyc3QsaT1yLmVhY2gsbj1yLndpdGgscz1uPT09dm9pZCAwP19ocjpuLG89ci5zY2hlZHVsZXIsYz1vPT09dm9pZCAwP3Q/P2UyOm8sbD1yLm1ldGEsdT1sPT09dm9pZCAwP251bGw6bDtpZihhPT1udWxsJiZpPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIk5vIHRpbWVvdXQgcHJvdmlkZWQuIik7cmV0dXJuIFRyKGZ1bmN0aW9uKGQsaCl7dmFyIG0sdixiPW51bGwsZz0wLHk9ZnVuY3Rpb24odyl7dj1qaShoLGMsZnVuY3Rpb24oKXt0cnl7bS51bnN1YnNjcmliZSgpLFRhKHMoe21ldGE6dSxsYXN0VmFsdWU6YixzZWVuOmd9KSkuc3Vic2NyaWJlKGgpfWNhdGNoKGspe2guZXJyb3Ioayl9fSx3KX07bT1kLnN1YnNjcmliZShicihoLGZ1bmN0aW9uKHcpe3Y/LnVuc3Vic2NyaWJlKCksZysrLGgubmV4dChiPXcpLGk+MCYmeShpKX0sdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3Y/LmNsb3NlZHx8dj8udW5zdWJzY3JpYmUoKSxiPW51bGx9KSksIWcmJnkoYSE9bnVsbD90eXBlb2YgYT09Im51bWJlciI/YTorYS1jLm5vdygpOmkpfSl9ZnVuY3Rpb24gX2hyKGUpe3Rocm93IG5ldyBPOGUoZSl9dmFyIE84ZSxUeD1mKCgpPT57azMoKTtUUigpO3FpKCk7dXMoKTthMCgpO3FuKCk7UzMoKTtPOGU9ZzEoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3I9PT12b2lkIDAmJihyPW51bGwpLGUodGhpcyksdGhpcy5tZXNzYWdlPSJUaW1lb3V0IGhhcyBvY2N1cnJlZCIsdGhpcy5uYW1lPSJUaW1lb3V0RXJyb3IiLHRoaXMuaW5mbz1yfX0pfSk7ZnVuY3Rpb24gbjAoZSx0KXtyZXR1cm4gVHIoZnVuY3Rpb24ocixhKXt2YXIgaT0wO3Iuc3Vic2NyaWJlKGJyKGEsZnVuY3Rpb24obil7YS5uZXh0KGUuY2FsbCh0LG4saSsrKSl9KSl9KX12YXIga2g9ZigoKT0+e3FpKCk7cW4oKX0pO2Z1bmN0aW9uICRocihlLHQpe3JldHVybiBMaHIodCk/ZS5hcHBseSh2b2lkIDAsSGkoW10sUWEodCkpKTplKHQpfWZ1bmN0aW9uIEI4ZShlKXtyZXR1cm4gbjAoZnVuY3Rpb24odCl7cmV0dXJuICRocihlLHQpfSl9dmFyIExocixIOGU9ZigoKT0+e1JyKCk7a2goKTtMaHI9QXJyYXkuaXNBcnJheX0pO3ZhciBxOGU9ZigoKT0+e30pO3ZhciBqOGU9ZigoKT0+e30pO3ZhciBWOGU9ZigoKT0+e30pO2Z1bmN0aW9uIFU4ZShlLHQscixhLGksbixzLG8pe3ZhciBjPVtdLGw9MCx1PTAsZD0hMSxoPWZ1bmN0aW9uKCl7ZCYmIWMubGVuZ3RoJiYhbCYmdC5jb21wbGV0ZSgpfSxtPWZ1bmN0aW9uKGIpe3JldHVybiBsPGE/dihiKTpjLnB1c2goYil9LHY9ZnVuY3Rpb24oYil7biYmdC5uZXh0KGIpLGwrKzt2YXIgZz0hMTtUYShyKGIsdSsrKSkuc3Vic2NyaWJlKGJyKHQsZnVuY3Rpb24oeSl7aT8uKHkpLG4/bSh5KTp0Lm5leHQoeSl9LGZ1bmN0aW9uKCl7Zz0hMH0sdm9pZCAwLGZ1bmN0aW9uKCl7aWYoZyl0cnl7bC0tO2Zvcih2YXIgeT1mdW5jdGlvbigpe3ZhciB3PWMuc2hpZnQoKTtzP2ppKHQscyxmdW5jdGlvbigpe3JldHVybiB2KHcpfSk6dih3KX07Yy5sZW5ndGgmJmw8YTspeSgpO2goKX1jYXRjaCh3KXt0LmVycm9yKHcpfX0pKX07cmV0dXJuIGUuc3Vic2NyaWJlKGJyKHQsbSxmdW5jdGlvbigpe2Q9ITAsaCgpfSkpLGZ1bmN0aW9uKCl7bz8uKCl9fXZhciBXOGU9ZigoKT0+e3VzKCk7UzMoKTtxbigpfSk7ZnVuY3Rpb24gQzMoZSx0LHIpe3JldHVybiByPT09dm9pZCAwJiYocj0xLzApLF90KHQpP0MzKGZ1bmN0aW9uKGEsaSl7cmV0dXJuIG4wKGZ1bmN0aW9uKG4scyl7cmV0dXJuIHQoYSxuLGkscyl9KShUYShlKGEsaSkpKX0scik6KHR5cGVvZiB0PT0ibnVtYmVyIiYmKHI9dCksVHIoZnVuY3Rpb24oYSxpKXtyZXR1cm4gVThlKGEsaSxlLHIpfSkpfXZhciBTaD1mKCgpPT57a2goKTt1cygpO3FpKCk7VzhlKCk7Q2koKX0pO2Z1bmN0aW9uIF94KGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT0xLzApLEMzKGZoLGUpfXZhciBMeD1mKCgpPT57U2goKTtzeCgpfSk7ZnVuY3Rpb24gJHgoKXtyZXR1cm4gX3goMSl9dmFyIER4PWYoKCk9PntMeCgpfSk7ZnVuY3Rpb24gQXgoKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuICR4KCkoejMoZSxpMChlKSkpfXZhciBfUj1mKCgpPT57RHgoKTt4aCgpO3p4KCl9KTt2YXIgRzhlPWYoKCk9Pnt9KTt2YXIgWThlPWYoKCk9Pnt9KTt2YXIgWjhlPWYoKCk9Pnt9KTtmdW5jdGlvbiBUMyhlLHQscixhKXtpZihfdChyKSYmKGE9cixyPXZvaWQgMCksYSlyZXR1cm4gVDMoZSx0LHIpLnBpcGUoQjhlKGEpKTt2YXIgaT1RYShOaHIoZSk/QWhyLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIGVbb10odCxjLHIpfX0pOklocihlKT9EaHIubWFwKFg4ZShlLHQpKTpQaHIoZSk/RWhyLm1hcChYOGUoZSx0KSk6W10sMiksbj1pWzBdLHM9aVsxXTtpZighbiYmUnUoZSkpcmV0dXJuIEMzKGZ1bmN0aW9uKG8pe3JldHVybiBUMyhvLHQscil9KShUYShlKSk7aWYoIW4pdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBldmVudCB0YXJnZXQiKTtyZXR1cm4gbmV3IEh0KGZ1bmN0aW9uKG8pe3ZhciBjPWZ1bmN0aW9uKCl7Zm9yKHZhciBsPVtdLHU9MDt1PGFyZ3VtZW50cy5sZW5ndGg7dSsrKWxbdV09YXJndW1lbnRzW3VdO3JldHVybiBvLm5leHQoMTxsLmxlbmd0aD9sOmxbMF0pfTtyZXR1cm4gbihjKSxmdW5jdGlvbigpe3JldHVybiBzKGMpfX0pfWZ1bmN0aW9uIFg4ZShlLHQpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGVbcl0odCxhKX19fWZ1bmN0aW9uIElocihlKXtyZXR1cm4gX3QoZS5hZGRMaXN0ZW5lcikmJl90KGUucmVtb3ZlTGlzdGVuZXIpfWZ1bmN0aW9uIFBocihlKXtyZXR1cm4gX3QoZS5vbikmJl90KGUub2ZmKX1mdW5jdGlvbiBOaHIoZSl7cmV0dXJuIF90KGUuYWRkRXZlbnRMaXN0ZW5lcikmJl90KGUucmVtb3ZlRXZlbnRMaXN0ZW5lcil9dmFyIERocixBaHIsRWhyLFE4ZT1mKCgpPT57UnIoKTt1cygpO2IxKCk7U2goKTtoeCgpO0NpKCk7SDhlKCk7RGhyPVsiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciJdLEFocj1bImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sRWhyPVsib24iLCJvZmYiXX0pO3ZhciBKOGU9ZigoKT0+e30pO3ZhciBLOGU9ZigoKT0+e30pO3ZhciBlZmU9ZigoKT0+e30pO2Z1bmN0aW9uIExSKGUsdCxyKXtlPT09dm9pZCAwJiYoZT0wKSxyPT09dm9pZCAwJiYocj1zUik7dmFyIGE9LTE7cmV0dXJuIHQhPW51bGwmJihmeCh0KT9yPXQ6YT10KSxuZXcgSHQoZnVuY3Rpb24oaSl7dmFyIG49Q3goZSk/K2Utci5ub3coKTplO248MCYmKG49MCk7dmFyIHM9MDtyZXR1cm4gci5zY2hlZHVsZShmdW5jdGlvbigpe2kuY2xvc2VkfHwoaS5uZXh0KHMrKyksMDw9YT90aGlzLnNjaGVkdWxlKHZvaWQgMCxhKTppLmNvbXBsZXRlKCkpfSxuKX0pfXZhciAkUj1mKCgpPT57YjEoKTtrMygpO3BSKCk7VFIoKX0pO3ZhciB0ZmU9ZigoKT0+e30pO3ZhciByZmU9ZigoKT0+e30pO2Z1bmN0aW9uIEZocigpe3JldHVybiBhZmV9dmFyIGFmZSxEUj1mKCgpPT57YjEoKTt4MygpO2FmZT1uZXcgSHQoZHMpfSk7dmFyIGlmZT1mKCgpPT57fSk7dmFyIG5mZT1mKCgpPT57fSk7ZnVuY3Rpb24gRXgoZSx0KXtyZXR1cm4gVHIoZnVuY3Rpb24ocixhKXt2YXIgaT0wO3Iuc3Vic2NyaWJlKGJyKGEsZnVuY3Rpb24obil7cmV0dXJuIGUuY2FsbCh0LG4saSsrKSYmYS5uZXh0KG4pfSkpfSl9dmFyIEFSPWYoKCk9PntxaSgpO3FuKCl9KTt2YXIgc2ZlPWYoKCk9Pnt9KTt2YXIgb2ZlPWYoKCk9Pnt9KTt2YXIgbGZlPWYoKCk9Pnt9KTt2YXIgY2ZlPWYoKCk9Pnt9KTt2YXIgZGZlPWYoKCk9Pnt9KTt2YXIgdWZlPWYoKCk9Pnt9KTt2YXIgRVI9ZigoKT0+e30pO3ZhciBJUj1mKCgpPT57fSk7ZnVuY3Rpb24gSXgoZSl7cmV0dXJuIFRyKGZ1bmN0aW9uKHQscil7dmFyIGE9W107cmV0dXJuIHQuc3Vic2NyaWJlKGJyKHIsZnVuY3Rpb24oaSl7cmV0dXJuIGEucHVzaChpKX0sZnVuY3Rpb24oKXtyLm5leHQoYSksci5jb21wbGV0ZSgpfSkpLFRhKGUpLnN1YnNjcmliZShicihyLGZ1bmN0aW9uKCl7dmFyIGk9YTthPVtdLHIubmV4dChpKX0sZHMpKSxmdW5jdGlvbigpe2E9bnVsbH19KX12YXIgUFI9ZigoKT0+e3FpKCk7eDMoKTtxbigpO3VzKCl9KTtmdW5jdGlvbiBQeChlLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD1udWxsKSx0PXQ/P2UsVHIoZnVuY3Rpb24ocixhKXt2YXIgaT1bXSxuPTA7ci5zdWJzY3JpYmUoYnIoYSxmdW5jdGlvbihzKXt2YXIgbyxjLGwsdSxkPW51bGw7bisrJXQ9PT0wJiZpLnB1c2goW10pO3RyeXtmb3IodmFyIGg9Y24oaSksbT1oLm5leHQoKTshbS5kb25lO209aC5uZXh0KCkpe3ZhciB2PW0udmFsdWU7di5wdXNoKHMpLGU8PXYubGVuZ3RoJiYoZD1kPz9bXSxkLnB1c2godikpfX1jYXRjaCh5KXtvPXtlcnJvcjp5fX1maW5hbGx5e3RyeXttJiYhbS5kb25lJiYoYz1oLnJldHVybikmJmMuY2FsbChoKX1maW5hbGx5e2lmKG8pdGhyb3cgby5lcnJvcn19aWYoZCl0cnl7Zm9yKHZhciBiPWNuKGQpLGc9Yi5uZXh0KCk7IWcuZG9uZTtnPWIubmV4dCgpKXt2YXIgdj1nLnZhbHVlO2lvKGksdiksYS5uZXh0KHYpfX1jYXRjaCh5KXtsPXtlcnJvcjp5fX1maW5hbGx5e3RyeXtnJiYhZy5kb25lJiYodT1iLnJldHVybikmJnUuY2FsbChiKX1maW5hbGx5e2lmKGwpdGhyb3cgbC5lcnJvcn19fSxmdW5jdGlvbigpe3ZhciBzLG87dHJ5e2Zvcih2YXIgYz1jbihpKSxsPWMubmV4dCgpOyFsLmRvbmU7bD1jLm5leHQoKSl7dmFyIHU9bC52YWx1ZTthLm5leHQodSl9fWNhdGNoKGQpe3M9e2Vycm9yOmR9fWZpbmFsbHl7dHJ5e2wmJiFsLmRvbmUmJihvPWMucmV0dXJuKSYmby5jYWxsKGMpfWZpbmFsbHl7aWYocyl0aHJvdyBzLmVycm9yfX1hLmNvbXBsZXRlKCl9LHZvaWQgMCxmdW5jdGlvbigpe2k9bnVsbH0pKX0pfXZhciBOUj1mKCgpPT57UnIoKTtxaSgpO3FuKCk7RXUoKX0pO2Z1bmN0aW9uIE54KGUpe2Zvcih2YXIgdCxyLGE9W10saT0xO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspYVtpLTFdPWFyZ3VtZW50c1tpXTt2YXIgbj0odD1pMChhKSkhPT1udWxsJiZ0IT09dm9pZCAwP3Q6ZTIscz0ocj1hWzBdKSE9PW51bGwmJnIhPT12b2lkIDA/cjpudWxsLG89YVsxXXx8MS8wO3JldHVybiBUcihmdW5jdGlvbihjLGwpe3ZhciB1PVtdLGQ9ITEsaD1mdW5jdGlvbihiKXt2YXIgZz1iLmJ1ZmZlcix5PWIuc3Viczt5LnVuc3Vic2NyaWJlKCksaW8odSxiKSxsLm5leHQoZyksZCYmbSgpfSxtPWZ1bmN0aW9uKCl7aWYodSl7dmFyIGI9bmV3IEJhO2wuYWRkKGIpO3ZhciBnPVtdLHk9e2J1ZmZlcjpnLHN1YnM6Yn07dS5wdXNoKHkpLGppKGIsbixmdW5jdGlvbigpe3JldHVybiBoKHkpfSxlKX19O3MhPT1udWxsJiZzPj0wP2ppKGwsbixtLHMsITApOmQ9ITAsbSgpO3ZhciB2PWJyKGwsZnVuY3Rpb24oYil7dmFyIGcseSx3PXUuc2xpY2UoKTt0cnl7Zm9yKHZhciBrPWNuKHcpLFI9ay5uZXh0KCk7IVIuZG9uZTtSPWsubmV4dCgpKXt2YXIgQz1SLnZhbHVlLFM9Qy5idWZmZXI7Uy5wdXNoKGIpLG88PVMubGVuZ3RoJiZoKEMpfX1jYXRjaChPKXtnPXtlcnJvcjpPfX1maW5hbGx5e3RyeXtSJiYhUi5kb25lJiYoeT1rLnJldHVybikmJnkuY2FsbChrKX1maW5hbGx5e2lmKGcpdGhyb3cgZy5lcnJvcn19fSxmdW5jdGlvbigpe2Zvcig7dT8ubGVuZ3RoOylsLm5leHQodS5zaGlmdCgpLmJ1ZmZlcik7dj8udW5zdWJzY3JpYmUoKSxsLmNvbXBsZXRlKCksbC51bnN1YnNjcmliZSgpfSx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gdT1udWxsfSk7Yy5zdWJzY3JpYmUodil9KX12YXIgRlI9ZigoKT0+e1JyKCk7S28oKTtxaSgpO3FuKCk7RXUoKTtrMygpO3hoKCk7UzMoKX0pO3ZhciBPUj1mKCgpPT57fSk7dmFyIFJSPWYoKCk9Pnt9KTt2YXIgQlI9ZigoKT0+e30pO3ZhciBIUj1mKCgpPT57fSk7dmFyIHFSPWYoKCk9Pnt9KTt2YXIgalI9ZigoKT0+e30pO3ZhciBWUj1mKCgpPT57fSk7dmFyIHBmZT1mKCgpPT57fSk7dmFyIFVSPWYoKCk9Pnt9KTt2YXIgV1I9ZigoKT0+e30pO3ZhciBHUj1mKCgpPT57fSk7dmFyIGZmZT1mKCgpPT57fSk7dmFyIFlSPWYoKCk9Pnt9KTt2YXIgWlI9ZigoKT0+e30pO3ZhciBYUj1mKCgpPT57fSk7ZnVuY3Rpb24gRngoZSl7cmV0dXJuIFRyKGZ1bmN0aW9uKHQscil7dmFyIGE9ITEsaT1udWxsLG49bnVsbCxzPWZ1bmN0aW9uKCl7aWYobj8udW5zdWJzY3JpYmUoKSxuPW51bGwsYSl7YT0hMTt2YXIgbz1pO2k9bnVsbCxyLm5leHQobyl9fTt0LnN1YnNjcmliZShicihyLGZ1bmN0aW9uKG8pe24/LnVuc3Vic2NyaWJlKCksYT0hMCxpPW8sbj1icihyLHMsZHMpLFRhKGUobykpLnN1YnNjcmliZShuKX0sZnVuY3Rpb24oKXtzKCksci5jb21wbGV0ZSgpfSx2b2lkIDAsZnVuY3Rpb24oKXtpPW49bnVsbH0pKX0pfXZhciBRUj1mKCgpPT57cWkoKTt4MygpO3FuKCk7dXMoKX0pO2Z1bmN0aW9uIE94KGUsdCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PWUyKSxUcihmdW5jdGlvbihyLGEpe3ZhciBpPW51bGwsbj1udWxsLHM9bnVsbCxvPWZ1bmN0aW9uKCl7aWYoaSl7aS51bnN1YnNjcmliZSgpLGk9bnVsbDt2YXIgbD1uO249bnVsbCxhLm5leHQobCl9fTtmdW5jdGlvbiBjKCl7dmFyIGw9cytlLHU9dC5ub3coKTtpZih1PGwpe2k9dGhpcy5zY2hlZHVsZSh2b2lkIDAsbC11KSxhLmFkZChpKTtyZXR1cm59bygpfXIuc3Vic2NyaWJlKGJyKGEsZnVuY3Rpb24obCl7bj1sLHM9dC5ub3coKSxpfHwoaT10LnNjaGVkdWxlKGMsZSksYS5hZGQoaSkpfSxmdW5jdGlvbigpe28oKSxhLmNvbXBsZXRlKCl9LHZvaWQgMCxmdW5jdGlvbigpe249aT1udWxsfSkpfSl9dmFyIEpSPWYoKCk9PntrMygpO3FpKCk7cW4oKX0pO3ZhciBLUj1mKCgpPT57fSk7dmFyIGVCPWYoKCk9Pnt9KTt2YXIgdEI9ZigoKT0+e30pO3ZhciByQj1mKCgpPT57fSk7dmFyIGFCPWYoKCk9Pnt9KTt2YXIgaUI9ZigoKT0+e30pO3ZhciBuQj1mKCgpPT57fSk7dmFyIHNCPWYoKCk9Pnt9KTt2YXIgb0I9ZigoKT0+e30pO3ZhciBsQj1mKCgpPT57fSk7dmFyIGNCPWYoKCk9Pnt9KTt2YXIgZEI9ZigoKT0+e30pO3ZhciB1Qj1mKCgpPT57fSk7dmFyIHBCPWYoKCk9Pnt9KTt2YXIgZkI9ZigoKT0+e30pO3ZhciBoQj1mKCgpPT57fSk7dmFyIG1CPWYoKCk9Pnt9KTt2YXIgZ0I9ZigoKT0+e30pO3ZhciBiQj1mKCgpPT57fSk7dmFyIHZCPWYoKCk9Pnt9KTt2YXIgeEI9ZigoKT0+e30pO3ZhciB5Qj1mKCgpPT57fSk7dmFyIHdCPWYoKCk9Pnt9KTt2YXIgTUI9ZigoKT0+e30pO3ZhciBrQj1mKCgpPT57fSk7dmFyIFNCPWYoKCk9Pnt9KTt2YXIgekI9ZigoKT0+e30pO3ZhciBDQj1mKCgpPT57fSk7dmFyIFRCPWYoKCk9Pnt9KTt2YXIgX0I9ZigoKT0+e30pO3ZhciBMQj1mKCgpPT57fSk7dmFyIGhmZT1mKCgpPT57fSk7dmFyICRCPWYoKCk9Pnt9KTt2YXIgREI9ZigoKT0+e30pO3ZhciBBQj1mKCgpPT57fSk7dmFyIEVCPWYoKCk9Pnt9KTt2YXIgSUI9ZigoKT0+e30pO3ZhciBQQj1mKCgpPT57fSk7dmFyIE5CPWYoKCk9Pnt9KTt2YXIgRkI9ZigoKT0+e30pO3ZhciBPQj1mKCgpPT57fSk7dmFyIFJCPWYoKCk9Pnt9KTt2YXIgQkI9ZigoKT0+e30pO3ZhciBIQj1mKCgpPT57fSk7dmFyIHFCPWYoKCk9Pnt9KTt2YXIgakI9ZigoKT0+e30pO3ZhciBWQj1mKCgpPT57fSk7dmFyIFVCPWYoKCk9Pnt9KTt2YXIgV0I9ZigoKT0+e30pO3ZhciBHQj1mKCgpPT57fSk7dmFyIFlCPWYoKCk9Pnt9KTt2YXIgWkI9ZigoKT0+e30pO3ZhciBYQj1mKCgpPT57fSk7dmFyIFFCPWYoKCk9Pnt9KTt2YXIgSkI9ZigoKT0+e30pO3ZhciBLQj1mKCgpPT57fSk7dmFyIGVIPWYoKCk9Pnt9KTt2YXIgdEg9ZigoKT0+e30pO2Z1bmN0aW9uIFJ4KCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3ZhciByPWkwKGUpO3JldHVybiBUcihmdW5jdGlvbihhLGkpeyhyP0F4KGUsYSxyKTpBeChlLGEpKS5zdWJzY3JpYmUoaSl9KX12YXIgckg9ZigoKT0+e19SKCk7eGgoKTtxaSgpfSk7dmFyIGFIPWYoKCk9Pnt9KTt2YXIgaUg9ZigoKT0+e30pO3ZhciBuSD1mKCgpPT57fSk7dmFyIHNIPWYoKCk9Pnt9KTtmdW5jdGlvbiBCeChlKXtyZXR1cm4gVHIoZnVuY3Rpb24odCxyKXtUYShlKS5zdWJzY3JpYmUoYnIocixmdW5jdGlvbigpe3JldHVybiByLmNvbXBsZXRlKCl9LGRzKSksIXIuY2xvc2VkJiZ0LnN1YnNjcmliZShyKX0pfXZhciBvSD1mKCgpPT57cWkoKTtxbigpO3VzKCk7eDMoKX0pO3ZhciBsSD1mKCgpPT57fSk7dmFyIGNIPWYoKCk9Pnt9KTtmdW5jdGlvbiBIeChlLHQpe3JldHVybiBUcihmdW5jdGlvbihyLGEpe3ZhciBpPXQ/P3t9LG49aS5sZWFkaW5nLHM9bj09PXZvaWQgMD8hMDpuLG89aS50cmFpbGluZyxjPW89PT12b2lkIDA/ITE6byxsPSExLHU9bnVsbCxkPW51bGwsaD0hMSxtPWZ1bmN0aW9uKCl7ZD8udW5zdWJzY3JpYmUoKSxkPW51bGwsYyYmKGcoKSxoJiZhLmNvbXBsZXRlKCkpfSx2PWZ1bmN0aW9uKCl7ZD1udWxsLGgmJmEuY29tcGxldGUoKX0sYj1mdW5jdGlvbih5KXtyZXR1cm4gZD1UYShlKHkpKS5zdWJzY3JpYmUoYnIoYSxtLHYpKX0sZz1mdW5jdGlvbigpe2lmKGwpe2w9ITE7dmFyIHk9dTt1PW51bGwsYS5uZXh0KHkpLCFoJiZiKHkpfX07ci5zdWJzY3JpYmUoYnIoYSxmdW5jdGlvbih5KXtsPSEwLHU9eSwhKGQmJiFkLmNsb3NlZCkmJihzP2coKTpiKHkpKX0sZnVuY3Rpb24oKXtoPSEwLCEoYyYmbCYmZCYmIWQuY2xvc2VkKSYmYS5jb21wbGV0ZSgpfSkpfSl9dmFyIHF4PWYoKCk9PntxaSgpO3FuKCk7dXMoKX0pO2Z1bmN0aW9uIGp4KGUsdCxyKXt0PT09dm9pZCAwJiYodD1lMik7dmFyIGE9TFIoZSx0KTtyZXR1cm4gSHgoZnVuY3Rpb24oKXtyZXR1cm4gYX0scil9dmFyIGRIPWYoKCk9PntrMygpO3F4KCk7JFIoKX0pO3ZhciB1SD1mKCgpPT57fSk7dmFyIHBIPWYoKCk9Pnt9KTt2YXIgZkg9ZigoKT0+e30pO3ZhciBoSD1mKCgpPT57fSk7dmFyIG1IPWYoKCk9Pnt9KTt2YXIgZ0g9ZigoKT0+e30pO3ZhciBiSD1mKCgpPT57fSk7dmFyIHZIPWYoKCk9Pnt9KTt2YXIgeEg9ZigoKT0+e30pO3ZhciB5SD1mKCgpPT57fSk7dmFyIG1mZT1mKCgpPT57fSk7dmFyIHdIPWYoKCk9Pnt9KTt2YXIgTUg9ZigoKT0+e2IxKCk7VnBlKCk7cGgoKTtHcGUoKTtoaCgpO1pwZSgpO1hwZSgpO0pwZSgpO284ZSgpO2szKCk7dThlKCk7bThlKCk7YjhlKCk7aVIoKTtLbygpO254KCk7JDhlKCk7V08oKTt4MygpO3N4KCk7RDhlKCk7RThlKCk7SThlKCk7UDhlKCk7QThlKCk7TjhlKCk7UU8oKTtGOGUoKTtUeCgpO09PKCk7cThlKCk7ajhlKCk7VjhlKCk7X1IoKTtZOGUoKTtHOGUoKTtweCgpO1o4ZSgpO3p4KCk7UThlKCk7SjhlKCk7SzhlKCk7ZWZlKCk7dGZlKCk7cmZlKCk7RFIoKTtrUigpO2lmZSgpO25mZSgpO3NmZSgpO29mZSgpO2xmZSgpO3pSKCk7JFIoKTtjZmUoKTtkZmUoKTtNUigpO3B4KCk7RFIoKTt1ZmUoKTtJdSgpO0VSKCk7SVIoKTtQUigpO05SKCk7RlIoKTtPUigpO1JSKCk7QlIoKTtWUigpO2pSKCk7VVIoKTtEeCgpO1dSKCk7R1IoKTtZUigpO1pSKCk7WFIoKTtRUigpO0pSKCk7S1IoKTtpQigpO2FCKCk7bkIoKTtzQigpO29CKCk7bEIoKTtkQigpO3VCKCk7cEIoKTttQigpO2hCKCk7ZkIoKTtnQigpO0FSKCk7YkIoKTt2QigpO3hCKCk7eUIoKTt3QigpO3RCKCk7TUIoKTtTQigpO2toKCk7ckIoKTt6QigpO0NCKCk7THgoKTtUQigpO1NoKCk7X0IoKTtMQigpOyRCKCk7REIoKTtBQigpO3loKCk7RUIoKTtJQigpO1BCKCk7TkIoKTtGQigpO09CKCk7UkIoKTtCQigpO0hSKCk7SEIoKTtxQigpO2pCKCk7VkIoKTtseCgpO1VCKCk7V0IoKTtHQigpO1lCKCk7WkIoKTtYQigpO1FCKCk7SkIoKTtLQigpO2VIKCk7dEgoKTtySCgpO3doKCk7aUgoKTthSCgpO25IKCk7c0goKTtlQigpO2tCKCk7b0goKTtsSCgpO2NIKCk7cXgoKTtkSCgpO2NCKCk7dUgoKTtUeCgpO3BIKCk7ZkgoKTtxUigpO2hIKCk7bUgoKTtnSCgpO2JIKCk7dkgoKTt4SCgpO3lIKCk7d0goKX0pO3ZhciBnZmU9ZigoKT0+e30pO3ZhciBiZmU9ZigoKT0+e30pO3ZhciB2ZmU9ZigoKT0+e0VSKCk7SVIoKTtQUigpO05SKCk7RlIoKTtPUigpO1JSKCk7QlIoKTtWUigpO2pSKCk7cGZlKCk7VVIoKTtmZmUoKTtEeCgpO1dSKCk7R1IoKTtZUigpO1pSKCk7WFIoKTtRUigpO0pSKCk7S1IoKTtpQigpO2FCKCk7bkIoKTtzQigpO29CKCk7bEIoKTtkQigpO3VCKCk7cEIoKTttQigpO2hCKCk7ZkIoKTtnQigpO0FSKCk7YkIoKTt2QigpO3hCKCk7eUIoKTt3QigpO3RCKCk7TUIoKTtTQigpO2toKCk7ckIoKTt6QigpO0NCKCk7aGZlKCk7THgoKTtUQigpO1NoKCk7X0IoKTtMQigpOyRCKCk7REIoKTtBQigpO3loKCk7RUIoKTtJQigpO2dmZSgpO1BCKCk7TkIoKTtGQigpO09CKCk7UkIoKTtiZmUoKTtCQigpO0hSKCk7SEIoKTtxQigpO2pCKCk7VkIoKTtseCgpO1VCKCk7V0IoKTtHQigpO1lCKCk7WkIoKTtYQigpO1FCKCk7SkIoKTtLQigpO2VIKCk7dEgoKTtySCgpO3doKCk7aUgoKTthSCgpO25IKCk7c0goKTtlQigpO2tCKCk7b0goKTtsSCgpO2NIKCk7cXgoKTtkSCgpO2NCKCk7dUgoKTtUeCgpO3BIKCk7ZkgoKTtxUigpO2hIKCk7bUgoKTtnSCgpO2JIKCk7dkgoKTt4SCgpO21mZSgpO3lIKCk7d0goKX0pO3ZhciBxdT17fTtSZShxdSx7T2JzZXJ2YWJsZTooKT0+SHQsUmVwbGF5U3ViamVjdDooKT0+Y3gsU3ViamVjdDooKT0+djEsU3Vic2NyaXB0aW9uOigpPT5CYSxmcm9tOigpPT56Myxmcm9tRXZlbnQ6KCk9PlQzLG9mOigpPT5NaCxvcHM6KCk9PnY3cn0pO3ZhciB2N3IsVng9ZigoKT0+e01IKCk7dmZlKCk7djdyPXtidWZmZXI6SXgsYnVmZmVyQ291bnQ6UHgsYnVmZmVyVGltZTpOeCxkZWJvdW5jZTpGeCxkZWJvdW5jZVRpbWU6T3gsZmlsdGVyOkV4LG1hcDpuMCxzdGFydFdpdGg6UngsdGFrZVVudGlsOkJ4LHRocm90dGxlVGltZTpqeH19KTt2YXIga0gseGZlPWYoKCk9PntleCgpO1Z4KCk7a0g9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm9ic2VydmFibGVFdmVudEVtaXR0ZXJCdW5kbGVBcnJheT1uZXcgQXJyYXksdGhpcy5vYnNlcnZhYmxlRXZlbnRUYXJnZXRCdW5kbGVBcnJheT1uZXcgQXJyYXl9Z2V0U3ViamVjdEZvckVtaXR0ZXJFdmVudCh0LHIpe2xldCBhPXRoaXMub2JzZXJ2YWJsZUV2ZW50RW1pdHRlckJ1bmRsZUFycmF5LmZpbmQoaT0+aS5ldmVudFJlZj09PXQmJmkuZXZlbnQ9PT1yKTtpZihhKXJldHVybiBhLnN1YmplY3Q7e2xldCBpPVQzKHQsciksbj1uZXcgdjE7aS5zdWJzY3JpYmUobik7bGV0IHM9e3N1YmplY3Q6bixldmVudFJlZjp0LGV2ZW50OnJ9O3JldHVybiB0aGlzLm9ic2VydmFibGVFdmVudEVtaXR0ZXJCdW5kbGVBcnJheS5wdXNoKHMpLHMuc3ViamVjdH19Z2V0U3ViamVjdEZvckV2ZW50VGFyZ2V0KHQscil7bGV0IGE9dGhpcy5vYnNlcnZhYmxlRXZlbnRUYXJnZXRCdW5kbGVBcnJheS5maW5kKGk9PmkuZXZlbnRSZWY9PT10JiZpLmV2ZW50PT09cik7aWYoYSlyZXR1cm4gYS5zdWJqZWN0O3tsZXQgbj17c3ViamVjdDpuZXcgdjEsZXZlbnRSZWY6dCxldmVudDpyfTtyZXR1cm4gdGhpcy5vYnNlcnZhYmxlRXZlbnRUYXJnZXRCdW5kbGVBcnJheS5wdXNoKG4pLG4uc3ViamVjdH19fX0pO3ZhciBTSCx5ZmU9ZigoKT0+e2V4KCk7VngoKTtTSD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMub2JzZXJ2YWJsZUZ1bmN0aW9ucz17bmV4dDp0PT57fSxjb21wbGV0ZTp0PT57fX0sdGhpcy5nZW5lcmF0b3I9bnVsbCx0aGlzLmJ1ZmZlcmVkPSExLHRoaXMucGF5bG9hZEJ1ZmZlcj1bXSx0aGlzLm9ic2VydmFibGU9bmV3IEh0KHQ9Pnt0aGlzLm9ic2VydmFibGVGdW5jdGlvbnMubmV4dD0oLi4ucik9PnQubmV4dChyKSx0aGlzLm9ic2VydmFibGVGdW5jdGlvbnMuY29tcGxldGU9KCk9Pih0aGlzLmNvbXBsZXRlZERlZmZlcmVkLnJlc29sdmUoKSx0LmNvbXBsZXRlKCkpfSksdGhpcy5jb21wbGV0ZWREZWZmZXJlZD1KZS5kZWZlcigpLHRoaXMuY29tcGxldGVkPXRoaXMuY29tcGxldGVkRGVmZmVyZWQucHJvbWlzZX1zZXRPYnNlcnZhYmxlKHQpe3RoaXMub2JzZXJ2YWJsZT10fXB1c2godCl7dGhpcy5idWZmZXJlZD90aGlzLnBheWxvYWRCdWZmZXIucHVzaCh0KTp0aGlzLmludGVybmFsUHVzaCh0KX1wdXNoTWFueSh0KXtmb3IobGV0IHIgb2YgdCl0aGlzLnB1c2gocil9c2V0R2VuZXJhdG9yKHQpe3RoaXMuZ2VuZXJhdG9yPXR9bWFrZUJ1ZmZlcmVkKCl7dGhpcy5idWZmZXJlZD0hMH1zdWJzY3JpYmUoLi4udCl7cmV0dXJuIHRoaXMub2JzZXJ2YWJsZS5zdWJzY3JpYmUoLi4udCl9cmVxdWVzdCh0KXtpZih0IT09MClmb3IobGV0IHI9MDtyIT09dDtyKyspaWYodGhpcy5wYXlsb2FkQnVmZmVyLmxlbmd0aD4wKXRoaXMuaW50ZXJuYWxQdXNoKHRoaXMucGF5bG9hZEJ1ZmZlci5zaGlmdCgpKTtlbHNle2xldCBhPXRoaXMuZ2VuZXJhdG9yLm5leHQoKTt0aGlzLmludGVybmFsUHVzaChhLnZhbHVlKX19c2lnbmFsQ29tcGxldGUoKXt0aGlzLm9ic2VydmFibGVGdW5jdGlvbnMuY29tcGxldGUoKX1pbnRlcm5hbFB1c2godCl7dGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLm5leHQodCl9fX0pO2Z1bmN0aW9uIHg3cihlKXtyZXR1cm4gbmV3IEh0KHQ9PntsZXQgcj0oKT0+ZS5wYXVzZSgpLGE9KCk9PnByb2Nlc3MubmV4dFRpY2soKCk9PmUucmVzdW1lKCkpLGk9bj0+e3IoKSx0Lm5leHQobiksYSgpfTtyZXR1cm4gZS5vbigiZGF0YSIsaSksZS5vbigiZXJyb3IiLG49PnQuZXJyb3IobikpLGUub24oImVuZCIsKCk9PnQuY29tcGxldGUoKSksZS5vbigiY2xvc2UiLCgpPT50LmNvbXBsZXRlKCkpLCgpPT57ZS5yZW1vdmVMaXN0ZW5lcigiZGF0YSIsaSksZS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLHQuZXJyb3IpLGUucmVtb3ZlTGlzdGVuZXIoImVuZCIsdC5jb21wbGV0ZSksZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHQuY29tcGxldGUpfX0pfXZhciB3ZmU9ZigoKT0+e01IKCl9KTt2YXIgcnI9e307UmUocnIse09ic2VydmFibGVJbnRha2U6KCk9PlNILE9ic2VydmFibGVtYXA6KCk9PmtILGZyb21TdHJlYW1XaXRoQmFja3ByZXNzdXJlOigpPT54N3IscnhqczooKT0+cXV9KTt2YXIgb289ZigoKT0+e2V4KCk7eGZlKCk7eWZlKCk7d2ZlKCk7VngoKX0pO2Z1bmN0aW9uIF8zKGUpe3JldHVybih0LHIpPT50eXBlb2Ygcj09Im9iamVjdCI/TWZlKGUsdCxyKTooKGEsaSxuKT0+e2xldCBzPWkuaGFzT3duUHJvcGVydHkobik7cmV0dXJuIGkuY29uc3RydWN0b3IuY3JlYXRlUHJvcGVydHkobixhKSxzP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaSxuKTp2b2lkIDB9KShlLHQscil9dmFyIHk3cixNZmUsVXg9ZigoKT0+e2FoKCk7eTdyPXthdHRyaWJ1dGU6ITAsdHlwZTpTdHJpbmcsY29udmVydGVyOkR1LHJlZmxlY3Q6ITEsaGFzQ2hhbmdlZDpyaH0sTWZlPShlPXk3cix0LHIpPT57bGV0e2tpbmQ6YSxtZXRhZGF0YTppfT1yLG49Z2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLmdldChpKTtpZihuPT09dm9pZCAwJiZnbG9iYWxUaGlzLmxpdFByb3BlcnR5TWV0YWRhdGEuc2V0KGksbj1uZXcgTWFwKSxhPT09InNldHRlciImJigoZT1PYmplY3QuY3JlYXRlKGUpKS53cmFwcGVkPSEwKSxuLnNldChyLm5hbWUsZSksYT09PSJhY2Nlc3NvciIpe2xldHtuYW1lOnN9PXI7cmV0dXJue3NldChvKXtsZXQgYz10LmdldC5jYWxsKHRoaXMpO3Quc2V0LmNhbGwodGhpcyxvKSx0aGlzLnJlcXVlc3RVcGRhdGUocyxjLGUsITAsbyl9LGluaXQobyl7cmV0dXJuIG8hPT12b2lkIDAmJnRoaXMuQyhzLHZvaWQgMCxlLG8pLG99fX1pZihhPT09InNldHRlciIpe2xldHtuYW1lOnN9PXI7cmV0dXJuIGZ1bmN0aW9uKG8pe2xldCBjPXRoaXNbc107dC5jYWxsKHRoaXMsbyksdGhpcy5yZXF1ZXN0VXBkYXRlKHMsYyxlLCEwLG8pfX10aHJvdyBFcnJvcigiVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAiK2EpfX0pO3ZhciBrZmU9ZigoKT0+e1V4KCl9KTt2YXIgU2ZlPWYoKCk9Pnt9KTt2YXIgVHQ9e307UmUoVHQse1RpbWVvdXQ6KCk9Pld4LGRlbGF5Rm9yOigpPT56ZmUsZGVsYXlGb3JSYW5kb206KCk9Pnc3cn0pO3ZhciB6ZmUsdzdyLFd4LHQyPWYoKCk9PntsbigpO3pmZT1hc3luYyhlLHQscj0hMSk9Pihhd2FpdCBuZXcgV3goZSxudWxsLHIpLnByb21pc2UsdCksdzdyPWFzeW5jKGUsdCxyLGE9ITEpPT4oYXdhaXQgemZlKE1hdGgucmFuZG9tKCkqKHQtZSkrZSxudWxsLGEpLHIpLFd4PWNsYXNze2NvbnN0cnVjdG9yKHQscixhPSExKXt0aGlzLl9jYW5jZWxsZWQ9ITEsdGhpcy50aW1lb3V0SW5NaWxsaXM9dCx0aGlzLl9kZWZlcnJlZD1yMCgpLHRoaXMucHJvbWlzZT10aGlzLl9kZWZlcnJlZC5wcm9taXNlLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuX2NhbmNlbGxlZHx8dGhpcy5fZGVmZXJyZWQucmVzb2x2ZShyKX0sdCksdGhpcy5zdGFydGVkPURhdGUubm93KCksYSYmdGhpcy5tYWtlVW5yZWZlZCgpfW1ha2VVbnJlZmVkKCl7dGhpcy5fdGltZW91dC51bnJlZigpfWNhbmNlbCgpe3RoaXMuX2NhbmNlbGxlZD0hMCxjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCl9Z2V0VGltZUxlZnQoKXtsZXQgdD10aGlzLnN0YXJ0ZWQrdGhpcy50aW1lb3V0SW5NaWxsaXMtRGF0ZS5ub3coKTtyZXR1cm4gdD4wP3Q6MH19fSk7dmFyIHMwPXt9O3ZhciB6aD1mKCgpPT57fSk7ZnVuY3Rpb24gTDMoZSl7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIGUucmVwbGFjZSgvW3xcXHt9KClbXF1eJCsqPy5dL2csIlxcJCYiKS5yZXBsYWNlKC8tL2csIlxceDJkIil9dmFyIEd4PWYoKCk9Pnt9KTt2YXIgQ2g9e307UmUoQ2gse2lzTWF0Y2g6KCk9PlM3cixtYXRjaGVyOigpPT5rN3J9KTtmdW5jdGlvbiBrN3IoZSx0LHIpe3JldHVybiBUZmUoZSx0LHIsITEpfWZ1bmN0aW9uIFM3cihlLHQscil7cmV0dXJuIFRmZShlLHQsciwhMCkubGVuZ3RoPjB9dmFyIHpILENmZSxNN3IsVGZlLF9mZT1mKCgpPT57R3goKTt6SD1uZXcgTWFwLENmZT0oZSx0KT0+e2lmKCFBcnJheS5pc0FycmF5KGUpKXN3aXRjaCh0eXBlb2YgZSl7Y2FzZSJzdHJpbmciOmU9W2VdO2JyZWFrO2Nhc2UidW5kZWZpbmVkIjplPVtdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgJyR7dH0nIHRvIGJlIGEgc3RyaW5nIG9yIGFuIGFycmF5LCBidXQgZ290IGEgdHlwZSBvZiAnJHt0eXBlb2YgZX0nYCl9cmV0dXJuIGUuZmlsdGVyKHI9PntpZih0eXBlb2YgciE9InN0cmluZyIpe2lmKHR5cGVvZiByPiJ1IilyZXR1cm4hMTt0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAnJHt0fScgdG8gYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncywgYnV0IGZvdW5kIGEgdHlwZSBvZiAnJHt0eXBlb2Ygcn0nIGluIHRoZSBhcnJheWApfXJldHVybiEwfSl9LE03cj0oZSx0KT0+e3Q9e2Nhc2VTZW5zaXRpdmU6ITEsLi4udH07bGV0IHI9ZStKU09OLnN0cmluZ2lmeSh0KTtpZih6SC5oYXMocikpcmV0dXJuIHpILmdldChyKTtsZXQgYT1lWzBdPT09IiEiO2EmJihlPWUuc2xpY2UoMSkpLGU9TDMoZSkucmVwbGFjZSgvXFxcKi9nLCJbXFxzXFxTXSoiKTtsZXQgaT1uZXcgUmVnRXhwKGBeJHtlfSRgLHQuY2FzZVNlbnNpdGl2ZT8iIjoiaSIpO3JldHVybiBpLm5lZ2F0ZWQ9YSx6SC5zZXQocixpKSxpfSxUZmU9KGUsdCxyLGEpPT57aWYoZT1DZmUoZSwiaW5wdXRzIiksdD1DZmUodCwicGF0dGVybnMiKSx0Lmxlbmd0aD09PTApcmV0dXJuW107dD10Lm1hcChzPT5NN3IocyxyKSk7bGV0e2FsbFBhdHRlcm5zOml9PXJ8fHt9LG49W107Zm9yKGxldCBzIG9mIGUpe2xldCBvLGM9Wy4uLnRdLmZpbGwoITEpO2ZvcihsZXRbbCx1XW9mIHQuZW50cmllcygpKWlmKHUudGVzdChzKSYmKGNbbF09ITAsbz0hdS5uZWdhdGVkLCFvKSlicmVhaztpZighKG89PT0hMXx8bz09PXZvaWQgMCYmdC5zb21lKGw9PiFsLm5lZ2F0ZWQpfHxpJiZjLnNvbWUoKGwsdSk9PiFsJiYhdFt1XS5uZWdhdGVkKSkmJihuLnB1c2gocyksYSkpYnJlYWt9cmV0dXJuIG59fSk7dmFyIExmZT1mKCgpPT57X2ZlKCl9KTt2YXIgU2w9e307UmUoU2wse1NtYXJ0TWF0Y2g6KCk9PkNIfSk7dmFyIENILFRIPWYoKCk9PntMZmUoKTtDSD1jbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLndpbGRjYXJkPXR9bWF0Y2godCl7cmV0dXJuIENoLmlzTWF0Y2godCx0aGlzLndpbGRjYXJkKX19fSk7dmFyICRoPXt9O1JlKCRoLHtDcm9uOigpPT5QZmUsQ3JvbkRhdGU6KCk9PmxpLENyb25QYXR0ZXJuOigpPT5ZeCxzY2hlZHVsZWRKb2JzOigpPT5qdX0pO2Z1bmN0aW9uIFRoKGUpe3JldHVybiBEYXRlLlVUQyhlLnksZS5tLTEsZS5kLGUuaCxlLmksZS5zKX1mdW5jdGlvbiBfSChlLHQpe3JldHVybiBlLnk9PT10LnkmJmUubT09PXQubSYmZS5kPT09dC5kJiZlLmg9PT10LmgmJmUuaT09PXQuaSYmZS5zPT09dC5zfWZ1bmN0aW9uIEM3cihlLHQpe2xldCByPW5ldyBEYXRlKERhdGUucGFyc2UoZSkpO2lmKGlzTmFOKHIpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBJU084NjAxIHBhc3NlZCB0byB0aW1lem9uZSBwYXJzZXIuIik7bGV0IGE9ZS5zdWJzdHJpbmcoOSk7cmV0dXJuIGEuaW5jbHVkZXMoIloiKXx8YS5pbmNsdWRlcygiKyIpfHxhLmluY2x1ZGVzKCItIik/TEgoci5nZXRVVENGdWxsWWVhcigpLHIuZ2V0VVRDTW9udGgoKSsxLHIuZ2V0VVRDRGF0ZSgpLHIuZ2V0VVRDSG91cnMoKSxyLmdldFVUQ01pbnV0ZXMoKSxyLmdldFVUQ1NlY29uZHMoKSwiRXRjL1VUQyIpOkxIKHIuZ2V0RnVsbFllYXIoKSxyLmdldE1vbnRoKCkrMSxyLmdldERhdGUoKSxyLmdldEhvdXJzKCksci5nZXRNaW51dGVzKCksci5nZXRTZWNvbmRzKCksdCl9ZnVuY3Rpb24gJGZlKGUsdCxyKXtyZXR1cm4gRGZlKEM3cihlLHQpLHIpfWZ1bmN0aW9uIERmZShlLHQpe2xldCByPW5ldyBEYXRlKFRoKGUpKSxhPV9oKHIsZS50eiksaT1UaChlKSxuPVRoKGEpLHM9aS1uLG89bmV3IERhdGUoci5nZXRUaW1lKCkrcyksYz1faChvLGUudHopO2lmKF9IKGMsZSkpe2xldCBkPW5ldyBEYXRlKG8uZ2V0VGltZSgpLTM2ZTUpLGg9X2goZCxlLnR6KTtyZXR1cm4gX0goaCxlKT9kOm99bGV0IGw9bmV3IERhdGUoby5nZXRUaW1lKCkrVGgoZSktVGgoYykpLHU9X2gobCxlLnR6KTtpZihfSCh1LGUpKXJldHVybiBsO2lmKHQpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGRhdGUgcGFzc2VkIHRvIGZyb21UWigpIik7cmV0dXJuIG8uZ2V0VGltZSgpPmwuZ2V0VGltZSgpP286bH1mdW5jdGlvbiBfaChlLHQpe2xldCByLGE7dHJ5e3I9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoImVuLVVTIix7dGltZVpvbmU6dCx5ZWFyOiJudW1lcmljIixtb250aDoibnVtZXJpYyIsZGF5OiJudW1lcmljIixob3VyOiJudW1lcmljIixtaW51dGU6Im51bWVyaWMiLHNlY29uZDoibnVtZXJpYyIsaG91cjEyOiExfSksYT1yLmZvcm1hdFRvUGFydHMoZSl9Y2F0Y2gobil7bGV0IHM9biBpbnN0YW5jZW9mIEVycm9yP24ubWVzc2FnZTpTdHJpbmcobik7dGhyb3cgbmV3IFJhbmdlRXJyb3IoYHRvVFo6IEludmFsaWQgdGltZXpvbmUgJyR7dH0nIG9yIGRhdGUuIFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgSUFOQSB0aW1lem9uZSAoZS5nLiwgJ0FtZXJpY2EvTmV3X1lvcmsnLCAnRXVyb3BlL1N0b2NraG9sbScpLiBPcmlnaW5hbCBlcnJvcjogJHtzfWApfWxldCBpPXt5ZWFyOjAsbW9udGg6MCxkYXk6MCxob3VyOjAsbWludXRlOjAsc2Vjb25kOjB9O2ZvcihsZXQgbiBvZiBhKShuLnR5cGU9PT0ieWVhciJ8fG4udHlwZT09PSJtb250aCJ8fG4udHlwZT09PSJkYXkifHxuLnR5cGU9PT0iaG91ciJ8fG4udHlwZT09PSJtaW51dGUifHxuLnR5cGU9PT0ic2Vjb25kIikmJihpW24udHlwZV09cGFyc2VJbnQobi52YWx1ZSwxMCkpO2lmKGlzTmFOKGkueWVhcil8fGlzTmFOKGkubW9udGgpfHxpc05hTihpLmRheSl8fGlzTmFOKGkuaG91cil8fGlzTmFOKGkubWludXRlKXx8aXNOYU4oaS5zZWNvbmQpKXRocm93IG5ldyBFcnJvcihgdG9UWjogRmFpbGVkIHRvIHBhcnNlIGFsbCBkYXRlIGNvbXBvbmVudHMgZnJvbSB0aW1lem9uZSAnJHt0fScuIFRoaXMgbWF5IGluZGljYXRlIGFuIGludmFsaWQgZGF0ZSBvciB0aW1lem9uZSBjb25maWd1cmF0aW9uLiBQYXJzZWQgY29tcG9uZW50czogJHtKU09OLnN0cmluZ2lmeShpKX1gKTtyZXR1cm4gaS5ob3VyPT09MjQmJihpLmhvdXI9MCkse3k6aS55ZWFyLG06aS5tb250aCxkOmkuZGF5LGg6aS5ob3VyLGk6aS5taW51dGUsczppLnNlY29uZCx0ejp0fX1mdW5jdGlvbiBMSChlLHQscixhLGksbixzKXtyZXR1cm57eTplLG06dCxkOnIsaDphLGksczpuLHR6OnN9fWZ1bmN0aW9uIFQ3cihlKXtpZihlPT09dm9pZCAwJiYoZT17fSksZGVsZXRlIGUubmFtZSxlLmxlZ2FjeU1vZGUhPT12b2lkIDAmJmUuZG9tQW5kRG93PT09dm9pZCAwP2UuZG9tQW5kRG93PSFlLmxlZ2FjeU1vZGU6ZS5kb21BbmREb3c9PT12b2lkIDAmJihlLmRvbUFuZERvdz0hMSksZS5sZWdhY3lNb2RlPSFlLmRvbUFuZERvdyxlLnBhdXNlZD1lLnBhdXNlZD09PXZvaWQgMD8hMTplLnBhdXNlZCxlLm1heFJ1bnM9ZS5tYXhSdW5zPT09dm9pZCAwPzEvMDplLm1heFJ1bnMsZS5jYXRjaD1lLmNhdGNoPT09dm9pZCAwPyExOmUuY2F0Y2gsZS5pbnRlcnZhbD1lLmludGVydmFsPT09dm9pZCAwPzA6cGFyc2VJbnQoZS5pbnRlcnZhbC50b1N0cmluZygpLDEwKSxlLnV0Y09mZnNldD1lLnV0Y09mZnNldD09PXZvaWQgMD92b2lkIDA6cGFyc2VJbnQoZS51dGNPZmZzZXQudG9TdHJpbmcoKSwxMCksZS5kYXlPZmZzZXQ9ZS5kYXlPZmZzZXQ9PT12b2lkIDA/MDpwYXJzZUludChlLmRheU9mZnNldC50b1N0cmluZygpLDEwKSxlLnVucmVmPWUudW5yZWY9PT12b2lkIDA/ITE6ZS51bnJlZixlLm1vZGU9ZS5tb2RlPT09dm9pZCAwPyJhdXRvIjplLm1vZGUsZS5hbHRlcm5hdGl2ZVdlZWtkYXlzPWUuYWx0ZXJuYXRpdmVXZWVrZGF5cz09PXZvaWQgMD8hMTplLmFsdGVybmF0aXZlV2Vla2RheXMsZS5zbG9wcHlSYW5nZXM9ZS5zbG9wcHlSYW5nZXM9PT12b2lkIDA/ITE6ZS5zbG9wcHlSYW5nZXMsIVsiYXV0byIsIjUtcGFydCIsIjYtcGFydCIsIjctcGFydCIsIjUtb3ItNi1wYXJ0cyIsIjYtb3ItNy1wYXJ0cyJdLmluY2x1ZGVzKGUubW9kZSkpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogbW9kZSBtdXN0IGJlIG9uZSBvZiAnYXV0bycsICc1LXBhcnQnLCAnNi1wYXJ0JywgJzctcGFydCcsICc1LW9yLTYtcGFydHMnLCBvciAnNi1vci03LXBhcnRzJy4iKTtpZihlLnN0YXJ0QXQmJihlLnN0YXJ0QXQ9bmV3IGxpKGUuc3RhcnRBdCxlLnRpbWV6b25lKSksZS5zdG9wQXQmJihlLnN0b3BBdD1uZXcgbGkoZS5zdG9wQXQsZS50aW1lem9uZSkpLGUuaW50ZXJ2YWwhPT1udWxsKXtpZihpc05hTihlLmludGVydmFsKSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBTdXBwbGllZCB2YWx1ZSBmb3IgaW50ZXJ2YWwgaXMgbm90IGEgbnVtYmVyIik7aWYoZS5pbnRlcnZhbDwwKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IFN1cHBsaWVkIHZhbHVlIGZvciBpbnRlcnZhbCBjYW4gbm90IGJlIG5lZ2F0aXZlIil9aWYoZS51dGNPZmZzZXQhPT12b2lkIDApe2lmKGlzTmFOKGUudXRjT2Zmc2V0KSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBJbnZhbGlkIHZhbHVlIHBhc3NlZCBmb3IgdXRjT2Zmc2V0LCBzaG91bGQgYmUgbnVtYmVyIHJlcHJlc2VudGluZyBtaW51dGVzIG9mZnNldCBmcm9tIFVUQy4iKTtpZihlLnV0Y09mZnNldDwtODcwfHxlLnV0Y09mZnNldD44NzApdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogdXRjT2Zmc2V0IG91dCBvZiBib3VuZHMuIik7aWYoZS51dGNPZmZzZXQhPT12b2lkIDAmJmUudGltZXpvbmUpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogQ29tYmluaW5nICd1dGNPZmZzZXQnIHdpdGggJ3RpbWV6b25lJyBpcyBub3QgYWxsb3dlZC4iKX1pZihlLnVucmVmIT09ITAmJmUudW5yZWYhPT0hMSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBVbnJlZiBzaG91bGQgYmUgZWl0aGVyIHRydWUsIGZhbHNlIG9yIHVuZGVmaW5lZChmYWxzZSkuIik7aWYoZS5kYXlPZmZzZXQhPT12b2lkIDAmJmUuZGF5T2Zmc2V0IT09MCYmaXNOYU4oZS5kYXlPZmZzZXQpKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IEludmFsaWQgdmFsdWUgcGFzc2VkIGZvciBkYXlPZmZzZXQsIHNob3VsZCBiZSBhIG51bWJlciByZXByZXNlbnRpbmcgZGF5cyB0byBvZmZzZXQuIik7cmV0dXJuIGV9ZnVuY3Rpb24gTGgoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT09PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24ifHxlIGluc3RhbmNlb2YgRnVuY3Rpb259ZnVuY3Rpb24gXzdyKGUpe3JldHVybiBMaChlKX1mdW5jdGlvbiBMN3IoZSl7dHlwZW9mIERlbm88InUiJiZ0eXBlb2YgRGVuby51bnJlZlRpbWVyPCJ1Ij9EZW5vLnVucmVmVGltZXIoZSk6ZSYmdHlwZW9mIGUudW5yZWY8InUiJiZlLnVucmVmKCl9dmFyIEFmZSxZeCwkSCxkYSxsaSxFZmUsanUsUGZlLE5mZT1mKCgpPT57QWZlPVsxLDIsNCw4LDE2XSxZeD1jbGFzc3twYXR0ZXJuO3RpbWV6b25lO21vZGU7YWx0ZXJuYXRpdmVXZWVrZGF5cztzbG9wcHlSYW5nZXM7c2Vjb25kO21pbnV0ZTtob3VyO2RheTttb250aDtkYXlPZldlZWs7eWVhcjtsYXN0RGF5T2ZNb250aDtsYXN0V2Vla2RheTtuZWFyZXN0V2Vla2RheXM7c3RhckRPTTtzdGFyRE9XO3N0YXJZZWFyO3VzZUFuZExvZ2ljO2NvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnBhdHRlcm49ZSx0aGlzLnRpbWV6b25lPXQsdGhpcy5tb2RlPXI/Lm1vZGU/PyJhdXRvIix0aGlzLmFsdGVybmF0aXZlV2Vla2RheXM9cj8uYWx0ZXJuYXRpdmVXZWVrZGF5cz8/ITEsdGhpcy5zbG9wcHlSYW5nZXM9cj8uc2xvcHB5UmFuZ2VzPz8hMSx0aGlzLnNlY29uZD1BcnJheSg2MCkuZmlsbCgwKSx0aGlzLm1pbnV0ZT1BcnJheSg2MCkuZmlsbCgwKSx0aGlzLmhvdXI9QXJyYXkoMjQpLmZpbGwoMCksdGhpcy5kYXk9QXJyYXkoMzEpLmZpbGwoMCksdGhpcy5tb250aD1BcnJheSgxMikuZmlsbCgwKSx0aGlzLmRheU9mV2Vlaz1BcnJheSg3KS5maWxsKDApLHRoaXMueWVhcj1BcnJheSgxZTQpLmZpbGwoMCksdGhpcy5sYXN0RGF5T2ZNb250aD0hMSx0aGlzLmxhc3RXZWVrZGF5PSExLHRoaXMubmVhcmVzdFdlZWtkYXlzPUFycmF5KDMxKS5maWxsKDApLHRoaXMuc3RhckRPTT0hMSx0aGlzLnN0YXJET1c9ITEsdGhpcy5zdGFyWWVhcj0hMSx0aGlzLnVzZUFuZExvZ2ljPSExLHRoaXMucGFyc2UoKX1wYXJzZSgpe2lmKCEodHlwZW9mIHRoaXMucGF0dGVybj09InN0cmluZyJ8fHRoaXMucGF0dGVybiBpbnN0YW5jZW9mIFN0cmluZykpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFBhdHRlcm4gaGFzIHRvIGJlIG9mIHR5cGUgc3RyaW5nLiIpO3RoaXMucGF0dGVybi5pbmRleE9mKCJAIik+PTAmJih0aGlzLnBhdHRlcm49dGhpcy5oYW5kbGVOaWNrbmFtZXModGhpcy5wYXR0ZXJuKS50cmltKCkpO2xldCBlPXRoaXMucGF0dGVybi5tYXRjaCgvXFMrL2cpfHxbIiJdLHQ9ZS5sZW5ndGg7aWYoZS5sZW5ndGg8NXx8ZS5sZW5ndGg+Nyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogaW52YWxpZCBjb25maWd1cmF0aW9uIGZvcm1hdCAoJyIrdGhpcy5wYXR0ZXJuKyInKSwgZXhhY3RseSBmaXZlLCBzaXgsIG9yIHNldmVuIHNwYWNlIHNlcGFyYXRlZCBwYXJ0cyBhcmUgcmVxdWlyZWQuIik7aWYodGhpcy5tb2RlIT09ImF1dG8iKXtsZXQgYTtzd2l0Y2godGhpcy5tb2RlKXtjYXNlIjUtcGFydCI6YT01O2JyZWFrO2Nhc2UiNi1wYXJ0IjphPTY7YnJlYWs7Y2FzZSI3LXBhcnQiOmE9NzticmVhaztjYXNlIjUtb3ItNi1wYXJ0cyI6YT1bNSw2XTticmVhaztjYXNlIjYtb3ItNy1wYXJ0cyI6YT1bNiw3XTticmVhaztkZWZhdWx0OmE9MH1pZighKEFycmF5LmlzQXJyYXkoYSk/YS5pbmNsdWRlcyh0KTp0PT09YSkpe2xldCBpPUFycmF5LmlzQXJyYXkoYSk/YS5qb2luKCIgb3IgIik6YS50b1N0cmluZygpO3Rocm93IG5ldyBUeXBlRXJyb3IoYENyb25QYXR0ZXJuOiBtb2RlICcke3RoaXMubW9kZX0nIHJlcXVpcmVzIGV4YWN0bHkgJHtpfSBwYXJ0cywgYnV0IHBhdHRlcm4gJyR7dGhpcy5wYXR0ZXJufScgaGFzICR7dH0gcGFydHMuYCl9fWlmKGUubGVuZ3RoPT09NSYmZS51bnNoaWZ0KCIwIiksZS5sZW5ndGg9PT02JiZlLnB1c2goIioiKSxlWzNdLnRvVXBwZXJDYXNlKCk9PT0iTFciPyh0aGlzLmxhc3RXZWVrZGF5PSEwLGVbM109IiIpOmVbM10udG9VcHBlckNhc2UoKS5pbmRleE9mKCJMIik+PTAmJihlWzNdPWVbM10ucmVwbGFjZSgvTC9naSwiIiksdGhpcy5sYXN0RGF5T2ZNb250aD0hMCksZVszXT09IioiJiYodGhpcy5zdGFyRE9NPSEwKSxlWzZdPT0iKiImJih0aGlzLnN0YXJZZWFyPSEwKSxlWzRdLmxlbmd0aD49MyYmKGVbNF09dGhpcy5yZXBsYWNlQWxwaGFNb250aHMoZVs0XSkpLGVbNV0ubGVuZ3RoPj0zJiYoZVs1XT10aGlzLmFsdGVybmF0aXZlV2Vla2RheXM/dGhpcy5yZXBsYWNlQWxwaGFEYXlzUXVhcnR6KGVbNV0pOnRoaXMucmVwbGFjZUFscGhhRGF5cyhlWzVdKSksZVs1XS5zdGFydHNXaXRoKCIrIikmJih0aGlzLnVzZUFuZExvZ2ljPSEwLGVbNV09ZVs1XS5zdWJzdHJpbmcoMSksZVs1XT09PSIiKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogRGF5LW9mLXdlZWsgZmllbGQgY2Fubm90IGJlIGVtcHR5IGFmdGVyICcrJyBtb2RpZmllci4iKTtzd2l0Y2goZVs1XT09IioiJiYodGhpcy5zdGFyRE9XPSEwKSx0aGlzLnBhdHRlcm4uaW5kZXhPZigiPyIpPj0wJiYoZVswXT1lWzBdLnJlcGxhY2UoL1w/L2csIioiKSxlWzFdPWVbMV0ucmVwbGFjZSgvXD8vZywiKiIpLGVbMl09ZVsyXS5yZXBsYWNlKC9cPy9nLCIqIiksZVszXT1lWzNdLnJlcGxhY2UoL1w/L2csIioiKSxlWzRdPWVbNF0ucmVwbGFjZSgvXD8vZywiKiIpLGVbNV09ZVs1XS5yZXBsYWNlKC9cPy9nLCIqIiksZVs2XSYmKGVbNl09ZVs2XS5yZXBsYWNlKC9cPy9nLCIqIikpKSx0aGlzLm1vZGUpe2Nhc2UiNS1wYXJ0IjplWzBdPSIwIixlWzZdPSIqIjticmVhaztjYXNlIjYtcGFydCI6ZVs2XT0iKiI7YnJlYWs7Y2FzZSI1LW9yLTYtcGFydHMiOmVbNl09IioiO2JyZWFrO2Nhc2UiNi1vci03LXBhcnRzIjpicmVhaztjYXNlIjctcGFydCI6Y2FzZSJhdXRvIjpicmVha310aGlzLnRocm93QXRJbGxlZ2FsQ2hhcmFjdGVycyhlKSx0aGlzLnBhcnRUb0FycmF5KCJzZWNvbmQiLGVbMF0sMCwxKSx0aGlzLnBhcnRUb0FycmF5KCJtaW51dGUiLGVbMV0sMCwxKSx0aGlzLnBhcnRUb0FycmF5KCJob3VyIixlWzJdLDAsMSksdGhpcy5wYXJ0VG9BcnJheSgiZGF5IixlWzNdLC0xLDEpLHRoaXMucGFydFRvQXJyYXkoIm1vbnRoIixlWzRdLC0xLDEpO2xldCByPXRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cz8tMTowO3RoaXMucGFydFRvQXJyYXkoImRheU9mV2VlayIsZVs1XSxyLDYzKSx0aGlzLnBhcnRUb0FycmF5KCJ5ZWFyIixlWzZdLDAsMSksIXRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cyYmdGhpcy5kYXlPZldlZWtbN10mJih0aGlzLmRheU9mV2Vla1swXT10aGlzLmRheU9mV2Vla1s3XSl9cGFydFRvQXJyYXkoZSx0LHIsYSl7bGV0IGk9dGhpc1tlXSxuPWU9PT0iZGF5IiYmdGhpcy5sYXN0RGF5T2ZNb250aCxzPWU9PT0iZGF5IiYmdGhpcy5sYXN0V2Vla2RheTtpZih0PT09IiImJiFuJiYhcyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogY29uZmlndXJhdGlvbiBlbnRyeSAiK2UrIiAoIit0KyIpIGlzIGVtcHR5LCBjaGVjayBmb3IgdHJhaWxpbmcgc3BhY2VzLiIpO2lmKHQ9PT0iKiIpcmV0dXJuIGkuZmlsbChhKTtsZXQgbz10LnNwbGl0KCIsIik7aWYoby5sZW5ndGg+MSlmb3IobGV0IGM9MDtjPG8ubGVuZ3RoO2MrKyl0aGlzLnBhcnRUb0FycmF5KGUsb1tjXSxyLGEpO2Vsc2UgdC5pbmRleE9mKCItIikhPT0tMSYmdC5pbmRleE9mKCIvIikhPT0tMT90aGlzLmhhbmRsZVJhbmdlV2l0aFN0ZXBwaW5nKHQsZSxyLGEpOnQuaW5kZXhPZigiLSIpIT09LTE/dGhpcy5oYW5kbGVSYW5nZSh0LGUscixhKTp0LmluZGV4T2YoIi8iKSE9PS0xP3RoaXMuaGFuZGxlU3RlcHBpbmcodCxlLHIsYSk6dCE9PSIiJiZ0aGlzLmhhbmRsZU51bWJlcih0LGUscixhKX10aHJvd0F0SWxsZWdhbENoYXJhY3RlcnMoZSl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspaWYoKHQ9PT0zPy9bXi8qMC05LFwtV3dMbF0rLzp0PT09NT8vW14vKjAtOSxcLSNMbF0rLzovW14vKjAtOSxcLV0rLykudGVzdChlW3RdKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogY29uZmlndXJhdGlvbiBlbnRyeSAiK3QrIiAoIitlW3RdKyIpIGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVycy4iKX1oYW5kbGVOdW1iZXIoZSx0LHIsYSl7bGV0IGk9dGhpcy5leHRyYWN0TnRoKGUsdCksbj1lLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoIlciKTtpZih0IT09ImRheSImJm4pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IE5lYXJlc3Qgd2Vla2RheSBtb2RpZmllciAoVykgb25seSBhbGxvd2VkIGluIGRheS1vZi1tb250aC4iKTtuJiYodD0ibmVhcmVzdFdlZWtkYXlzIik7bGV0IHM9cGFyc2VJbnQoaVswXSwxMCkrcjtpZihpc05hTihzKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogIit0KyIgaXMgbm90IGEgbnVtYmVyOiAnIitlKyInIik7dGhpcy5zZXRQYXJ0KHQscyxpWzFdfHxhKX1zZXRQYXJ0KGUsdCxyKXtpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMsZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgcGFydCBzcGVjaWZpZWQ6ICIrZSk7aWYoZT09PSJkYXlPZldlZWsiKXtpZih0PT09NyYmKHQ9MCksdDwwfHx0PjYpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciBkYXlPZldlZWs6ICIrdCk7dGhpcy5zZXROdGhXZWVrZGF5T2ZNb250aCh0LHIpO3JldHVybn1pZihlPT09InNlY29uZCJ8fGU9PT0ibWludXRlIil7aWYodDwwfHx0Pj02MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yICIrZSsiOiAiK3QpfWVsc2UgaWYoZT09PSJob3VyIil7aWYodDwwfHx0Pj0yNCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yICIrZSsiOiAiK3QpfWVsc2UgaWYoZT09PSJkYXkifHxlPT09Im5lYXJlc3RXZWVrZGF5cyIpe2lmKHQ8MHx8dD49MzEpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK2UrIjogIit0KX1lbHNlIGlmKGU9PT0ibW9udGgiKXtpZih0PDB8fHQ+PTEyKXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIitlKyI6ICIrdCl9ZWxzZSBpZihlPT09InllYXIiJiYodDwxfHx0Pj0xZTQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIitlKyI6ICIrdCsiIChzdXBwb3J0ZWQgcmFuZ2U6IDEtOTk5OSkiKTt0aGlzW2VdW3RdPXJ9dmFsaWRhdGVOb3ROYU4oZSx0KXtpZihpc05hTihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKHQpfXZhbGlkYXRlUmFuZ2UoZSx0LHIsYSxpKXtpZihlPnQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IEZyb20gdmFsdWUgaXMgbGFyZ2VyIHRoYW4gdG8gdmFsdWU6ICciK2krIiciKTtpZihyIT09dm9pZCAwKXtpZihyPT09MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHN0ZXBwaW5nOiAwIik7aWYocj50aGlzW2FdLmxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBzdGVwcyBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIG1heGltdW0gdmFsdWUgb2YgcGFydCAoIit0aGlzW2FdLmxlbmd0aCsiKSIpfX1oYW5kbGVSYW5nZVdpdGhTdGVwcGluZyhlLHQscixhKXtpZihlLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoIlciKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBXIGlzIG5vdCBhbGxvd2VkIGluIHJhbmdlcyB3aXRoIHN0ZXBwaW5nLiIpO2xldCBpPXRoaXMuZXh0cmFjdE50aChlLHQpLG49aVswXS5tYXRjaCgvXihcZCspLShcZCspXC8oXGQrKSQvKTtpZihuPT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHJhbmdlIHdpdGggc3RlcHBpbmc6ICciK2UrIiciKTtsZXRbLHMsbyxjXT1uLGw9cGFyc2VJbnQocywxMCkrcix1PXBhcnNlSW50KG8sMTApK3IsZD1wYXJzZUludChjLDEwKTt0aGlzLnZhbGlkYXRlTm90TmFOKGwsIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgbG93ZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlTm90TmFOKHUsIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgdXBwZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlTm90TmFOKGQsIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgc3RlcHBpbmc6IChOYU4pIiksdGhpcy52YWxpZGF0ZVJhbmdlKGwsdSxkLHQsZSk7Zm9yKGxldCBoPWw7aDw9dTtoKz1kKXRoaXMuc2V0UGFydCh0LGgsaVsxXXx8YSl9ZXh0cmFjdE50aChlLHQpe2xldCByPWUsYTtpZihyLmluY2x1ZGVzKCIjIikpe2lmKHQhPT0iZGF5T2ZXZWVrIil0aHJvdyBuZXcgRXJyb3IoIkNyb25QYXR0ZXJuOiBudGggKCMpIG9ubHkgYWxsb3dlZCBpbiBkYXktb2Ytd2VlayBmaWVsZCIpO2E9ci5zcGxpdCgiIyIpWzFdLHI9ci5zcGxpdCgiIyIpWzBdfWVsc2UgaWYoci50b1VwcGVyQ2FzZSgpLmVuZHNXaXRoKCJMIikpe2lmKHQhPT0iZGF5T2ZXZWVrIil0aHJvdyBuZXcgRXJyb3IoIkNyb25QYXR0ZXJuOiBMIG1vZGlmaWVyIG9ubHkgYWxsb3dlZCBpbiBkYXktb2Ytd2VlayBmaWVsZCAodXNlIEwgYWxvbmUgZm9yIGRheS1vZi1tb250aCkiKTthPSJMIixyPXIuc2xpY2UoMCwtMSl9cmV0dXJuW3IsYV19aGFuZGxlUmFuZ2UoZSx0LHIsYSl7aWYoZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCJXIikpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgVyBpcyBub3QgYWxsb3dlZCBpbiBhIHJhbmdlLiIpO2xldCBpPXRoaXMuZXh0cmFjdE50aChlLHQpLG49aVswXS5zcGxpdCgiLSIpO2lmKG4ubGVuZ3RoIT09Mil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHJhbmdlOiAnIitlKyInIik7bGV0IHM9cGFyc2VJbnQoblswXSwxMCkrcixvPXBhcnNlSW50KG5bMV0sMTApK3I7dGhpcy52YWxpZGF0ZU5vdE5hTihzLCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIGxvd2VyIHJhbmdlIChOYU4pIiksdGhpcy52YWxpZGF0ZU5vdE5hTihvLCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHVwcGVyIHJhbmdlIChOYU4pIiksdGhpcy52YWxpZGF0ZVJhbmdlKHMsbyx2b2lkIDAsdCxlKTtmb3IobGV0IGM9cztjPD1vO2MrKyl0aGlzLnNldFBhcnQodCxjLGlbMV18fGEpfWhhbmRsZVN0ZXBwaW5nKGUsdCxyLGEpe2lmKGUudG9VcHBlckNhc2UoKS5pbmNsdWRlcygiVyIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIFcgaXMgbm90IGFsbG93ZWQgaW4gcGFydHMgd2l0aCBzdGVwcGluZy4iKTtsZXQgaT10aGlzLmV4dHJhY3ROdGgoZSx0KSxuPWlbMF0uc3BsaXQoIi8iKTtpZihuLmxlbmd0aCE9PTIpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogJyIrZSsiJyIpO2lmKHRoaXMuc2xvcHB5UmFuZ2VzKW5bMF09PT0iIiYmKG5bMF09IioiKTtlbHNle2lmKG5bMF09PT0iIil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBzdGVwcGluZyB3aXRoIG1pc3NpbmcgcHJlZml4ICgnIitlKyInKSBpcyBub3QgYWxsb3dlZC4gVXNlIHdpbGRjYXJkICgqL3N0ZXApIG9yIHJhbmdlIChtaW4tbWF4L3N0ZXApIGluc3RlYWQuIik7aWYoblswXSE9PSIqIil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBzdGVwcGluZyB3aXRoIG51bWVyaWMgcHJlZml4ICgnIitlKyInKSBpcyBub3QgYWxsb3dlZC4gVXNlIHdpbGRjYXJkICgqL3N0ZXApIG9yIHJhbmdlIChtaW4tbWF4L3N0ZXApIGluc3RlYWQuIil9bGV0IHM9MDtuWzBdIT09IioiJiYocz1wYXJzZUludChuWzBdLDEwKStyKTtsZXQgbz1wYXJzZUludChuWzFdLDEwKTt0aGlzLnZhbGlkYXRlTm90TmFOKG8sIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgc3RlcHBpbmc6IChOYU4pIiksdGhpcy52YWxpZGF0ZVJhbmdlKDAsdGhpc1t0XS5sZW5ndGgtMSxvLHQsZSk7Zm9yKGxldCBjPXM7Yzx0aGlzW3RdLmxlbmd0aDtjKz1vKXRoaXMuc2V0UGFydCh0LGMsaVsxXXx8YSl9cmVwbGFjZUFscGhhRGF5cyhlKXtyZXR1cm4gZS5yZXBsYWNlKC8tc3VuL2dpLCItNyIpLnJlcGxhY2UoL3N1bi9naSwiMCIpLnJlcGxhY2UoL21vbi9naSwiMSIpLnJlcGxhY2UoL3R1ZS9naSwiMiIpLnJlcGxhY2UoL3dlZC9naSwiMyIpLnJlcGxhY2UoL3RodS9naSwiNCIpLnJlcGxhY2UoL2ZyaS9naSwiNSIpLnJlcGxhY2UoL3NhdC9naSwiNiIpfXJlcGxhY2VBbHBoYURheXNRdWFydHooZSl7cmV0dXJuIGUucmVwbGFjZSgvc3VuL2dpLCIxIikucmVwbGFjZSgvbW9uL2dpLCIyIikucmVwbGFjZSgvdHVlL2dpLCIzIikucmVwbGFjZSgvd2VkL2dpLCI0IikucmVwbGFjZSgvdGh1L2dpLCI1IikucmVwbGFjZSgvZnJpL2dpLCI2IikucmVwbGFjZSgvc2F0L2dpLCI3Iil9cmVwbGFjZUFscGhhTW9udGhzKGUpe3JldHVybiBlLnJlcGxhY2UoL2phbi9naSwiMSIpLnJlcGxhY2UoL2ZlYi9naSwiMiIpLnJlcGxhY2UoL21hci9naSwiMyIpLnJlcGxhY2UoL2Fwci9naSwiNCIpLnJlcGxhY2UoL21heS9naSwiNSIpLnJlcGxhY2UoL2p1bi9naSwiNiIpLnJlcGxhY2UoL2p1bC9naSwiNyIpLnJlcGxhY2UoL2F1Zy9naSwiOCIpLnJlcGxhY2UoL3NlcC9naSwiOSIpLnJlcGxhY2UoL29jdC9naSwiMTAiKS5yZXBsYWNlKC9ub3YvZ2ksIjExIikucmVwbGFjZSgvZGVjL2dpLCIxMiIpfWhhbmRsZU5pY2tuYW1lcyhlKXtsZXQgdD1lLnRyaW0oKS50b0xvd2VyQ2FzZSgpO2lmKHQ9PT0iQHllYXJseSJ8fHQ9PT0iQGFubnVhbGx5IilyZXR1cm4iMCAwIDEgMSAqIjtpZih0PT09IkBtb250aGx5IilyZXR1cm4iMCAwIDEgKiAqIjtpZih0PT09IkB3ZWVrbHkiKXJldHVybiIwIDAgKiAqIDAiO2lmKHQ9PT0iQGRhaWx5Inx8dD09PSJAbWlkbmlnaHQiKXJldHVybiIwIDAgKiAqICoiO2lmKHQ9PT0iQGhvdXJseSIpcmV0dXJuIjAgKiAqICogKiI7aWYodD09PSJAcmVib290Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogQHJlYm9vdCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgZW52aXJvbm1lbnQuIFRoaXMgaXMgYW4gZXZlbnQtYmFzZWQgdHJpZ2dlciB0aGF0IHJlcXVpcmVzIHN5c3RlbSBzdGFydHVwIGRldGVjdGlvbi4iKTtyZXR1cm4gZX1zZXROdGhXZWVrZGF5T2ZNb250aChlLHQpe2lmKHR5cGVvZiB0IT0ibnVtYmVyIiYmdC50b1VwcGVyQ2FzZSgpPT09IkwiKXRoaXMuZGF5T2ZXZWVrW2VdPXRoaXMuZGF5T2ZXZWVrW2VdfDMyO2Vsc2UgaWYodD09PTYzKXRoaXMuZGF5T2ZXZWVrW2VdPTYzO2Vsc2UgaWYodDw2JiZ0PjApdGhpcy5kYXlPZldlZWtbZV09dGhpcy5kYXlPZldlZWtbZV18QWZlW3QtMV07ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKGBDcm9uUGF0dGVybjogbnRoIHdlZWtkYXkgb3V0IG9mIHJhbmdlLCBzaG91bGQgYmUgMS01IG9yIEwuIFZhbHVlOiAke3R9LCBUeXBlOiAke3R5cGVvZiB0fWApfX0sJEg9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxkYT1bWyJtb250aCIsInllYXIiLDBdLFsiZGF5IiwibW9udGgiLC0xXSxbImhvdXIiLCJkYXkiLDBdLFsibWludXRlIiwiaG91ciIsMF0sWyJzZWNvbmQiLCJtaW51dGUiLDBdXSxsaT1jbGFzcyBJZmV7dHo7bXM7c2Vjb25kO21pbnV0ZTtob3VyO2RheTttb250aDt5ZWFyO2NvbnN0cnVjdG9yKHQscil7aWYodGhpcy50ej1yLHQmJnQgaW5zdGFuY2VvZiBEYXRlKWlmKCFpc05hTih0KSl0aGlzLmZyb21EYXRlKHQpO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvbkRhdGU6IEludmFsaWQgZGF0ZSBwYXNzZWQgdG8gQ3JvbkRhdGUgY29uc3RydWN0b3IiKTtlbHNlIGlmKHQ9PW51bGwpdGhpcy5mcm9tRGF0ZShuZXcgRGF0ZSk7ZWxzZSBpZih0JiZ0eXBlb2YgdD09InN0cmluZyIpdGhpcy5mcm9tU3RyaW5nKHQpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIElmZSl0aGlzLmZyb21Dcm9uRGF0ZSh0KTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25EYXRlOiBJbnZhbGlkIHR5cGUgKCIrdHlwZW9mIHQrIikgcGFzc2VkIHRvIENyb25EYXRlIGNvbnN0cnVjdG9yIil9Z2V0TGFzdERheU9mTW9udGgodCxyKXtyZXR1cm4gciE9PTE/JEhbcl06bmV3IERhdGUoRGF0ZS5VVEModCxyKzEsMCkpLmdldFVUQ0RhdGUoKX1nZXRMYXN0V2Vla2RheSh0LHIpe2xldCBhPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodCxyKSxpPW5ldyBEYXRlKERhdGUuVVRDKHQscixhKSkuZ2V0VVRDRGF5KCk7cmV0dXJuIGk9PT0wP2EtMjppPT09Nj9hLTE6YX1nZXROZWFyZXN0V2Vla2RheSh0LHIsYSl7bGV0IGk9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0LHIpO2lmKGE+aSlyZXR1cm4tMTtsZXQgbj1uZXcgRGF0ZShEYXRlLlVUQyh0LHIsYSkpLmdldFVUQ0RheSgpO3JldHVybiBuPT09MD9hPT09aT9hLTI6YSsxOm49PT02P2E9PT0xP2ErMjphLTE6YX1pc050aFdlZWtkYXlPZk1vbnRoKHQscixhLGkpe2xldCBuPW5ldyBEYXRlKERhdGUuVVRDKHQscixhKSkuZ2V0VVRDRGF5KCkscz0wO2ZvcihsZXQgbz0xO288PWE7bysrKW5ldyBEYXRlKERhdGUuVVRDKHQscixvKSkuZ2V0VVRDRGF5KCk9PT1uJiZzKys7aWYoaSY2MyYmQWZlW3MtMV0maSlyZXR1cm4hMDtpZihpJjMyKXtsZXQgbz10aGlzLmdldExhc3REYXlPZk1vbnRoKHQscik7Zm9yKGxldCBjPWErMTtjPD1vO2MrKylpZihuZXcgRGF0ZShEYXRlLlVUQyh0LHIsYykpLmdldFVUQ0RheSgpPT09bilyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4hMX1mcm9tRGF0ZSh0KXtpZih0aGlzLnR6IT09dm9pZCAwKWlmKHR5cGVvZiB0aGlzLnR6PT0ibnVtYmVyIil0aGlzLm1zPXQuZ2V0VVRDTWlsbGlzZWNvbmRzKCksdGhpcy5zZWNvbmQ9dC5nZXRVVENTZWNvbmRzKCksdGhpcy5taW51dGU9dC5nZXRVVENNaW51dGVzKCkrdGhpcy50eix0aGlzLmhvdXI9dC5nZXRVVENIb3VycygpLHRoaXMuZGF5PXQuZ2V0VVRDRGF0ZSgpLHRoaXMubW9udGg9dC5nZXRVVENNb250aCgpLHRoaXMueWVhcj10LmdldFVUQ0Z1bGxZZWFyKCksdGhpcy5hcHBseSgpO2Vsc2UgdHJ5e2xldCByPV9oKHQsdGhpcy50eik7dGhpcy5tcz10LmdldE1pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPXIucyx0aGlzLm1pbnV0ZT1yLmksdGhpcy5ob3VyPXIuaCx0aGlzLmRheT1yLmQsdGhpcy5tb250aD1yLm0tMSx0aGlzLnllYXI9ci55fWNhdGNoKHIpe2xldCBhPXIgaW5zdGFuY2VvZiBFcnJvcj9yLm1lc3NhZ2U6U3RyaW5nKHIpO3Rocm93IG5ldyBUeXBlRXJyb3IoYENyb25EYXRlOiBGYWlsZWQgdG8gY29udmVydCBkYXRlIHRvIHRpbWV6b25lICcke3RoaXMudHp9Jy4gVGhpcyBtYXkgaGFwcGVuIHdpdGggaW52YWxpZCB0aW1lem9uZSBuYW1lcyBvciBkYXRlcy4gT3JpZ2luYWwgZXJyb3I6ICR7YX1gKX1lbHNlIHRoaXMubXM9dC5nZXRNaWxsaXNlY29uZHMoKSx0aGlzLnNlY29uZD10LmdldFNlY29uZHMoKSx0aGlzLm1pbnV0ZT10LmdldE1pbnV0ZXMoKSx0aGlzLmhvdXI9dC5nZXRIb3VycygpLHRoaXMuZGF5PXQuZ2V0RGF0ZSgpLHRoaXMubW9udGg9dC5nZXRNb250aCgpLHRoaXMueWVhcj10LmdldEZ1bGxZZWFyKCl9ZnJvbUNyb25EYXRlKHQpe3RoaXMudHo9dC50eix0aGlzLnllYXI9dC55ZWFyLHRoaXMubW9udGg9dC5tb250aCx0aGlzLmRheT10LmRheSx0aGlzLmhvdXI9dC5ob3VyLHRoaXMubWludXRlPXQubWludXRlLHRoaXMuc2Vjb25kPXQuc2Vjb25kLHRoaXMubXM9dC5tc31hcHBseSgpe2lmKHRoaXMubW9udGg+MTF8fHRoaXMubW9udGg8MHx8dGhpcy5kYXk+JEhbdGhpcy5tb250aF18fHRoaXMuZGF5PDF8fHRoaXMuaG91cj41OXx8dGhpcy5taW51dGU+NTl8fHRoaXMuc2Vjb25kPjU5fHx0aGlzLmhvdXI8MHx8dGhpcy5taW51dGU8MHx8dGhpcy5zZWNvbmQ8MCl7bGV0IHQ9bmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLHRoaXMubW9udGgsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMubXMpKTtyZXR1cm4gdGhpcy5tcz10LmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPXQuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPXQuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj10LmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9dC5nZXRVVENEYXRlKCksdGhpcy5tb250aD10LmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPXQuZ2V0VVRDRnVsbFllYXIoKSwhMH1lbHNlIHJldHVybiExfWZyb21TdHJpbmcodCl7aWYodHlwZW9mIHRoaXMudHo9PSJudW1iZXIiKXtsZXQgcj0kZmUodCk7dGhpcy5tcz1yLmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPXIuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPXIuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj1yLmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9ci5nZXRVVENEYXRlKCksdGhpcy5tb250aD1yLmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPXIuZ2V0VVRDRnVsbFllYXIoKSx0aGlzLmFwcGx5KCl9ZWxzZSByZXR1cm4gdGhpcy5mcm9tRGF0ZSgkZmUodCx0aGlzLnR6KSl9ZmluZE5leHQodCxyLGEsaSl7cmV0dXJuIHRoaXMuX2ZpbmRNYXRjaCh0LHIsYSxpLDEpfV9maW5kTWF0Y2godCxyLGEsaSxuKXtsZXQgcz10aGlzW3JdLG87YS5sYXN0RGF5T2ZNb250aCYmKG89dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCkpO2xldCBjPSFhLnN0YXJET1cmJnI9PSJkYXkiP25ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLDEsMCwwLDAsMCkpLmdldFVUQ0RheSgpOnZvaWQgMCxsPXRoaXNbcl0raSx1PW49PT0xP2Q9PmQ8YVtyXS5sZW5ndGg6ZD0+ZD49MDtmb3IobGV0IGQ9bDt1KGQpO2QrPW4pe2xldCBoPWFbcl1bZF07aWYocj09PSJkYXkiJiYhaCl7Zm9yKGxldCBtPTA7bTxhLm5lYXJlc3RXZWVrZGF5cy5sZW5ndGg7bSsrKWlmKGEubmVhcmVzdFdlZWtkYXlzW21dKXtsZXQgdj10aGlzLmdldE5lYXJlc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoLG0taSk7aWYodj09PS0xKWNvbnRpbnVlO2lmKHY9PT1kLWkpe2g9MTticmVha319fWlmKHI9PT0iZGF5IiYmYS5sYXN0V2Vla2RheSl7bGV0IG09dGhpcy5nZXRMYXN0V2Vla2RheSh0aGlzLnllYXIsdGhpcy5tb250aCk7ZC1pPT09bSYmKGg9MSl9aWYocj09PSJkYXkiJiZhLmxhc3REYXlPZk1vbnRoJiZkLWk9PW8mJihoPTEpLHI9PT0iZGF5IiYmIWEuc3RhckRPVyl7bGV0IG09YS5kYXlPZldlZWtbKGMrKGQtaS0xKSklN107aWYobSYmbSY2MyltPXRoaXMuaXNOdGhXZWVrZGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCxkLWksbSk/MTowO2Vsc2UgaWYobSl0aHJvdyBuZXcgRXJyb3IoYENyb25EYXRlOiBJbnZhbGlkIHZhbHVlIGZvciBkYXlPZldlZWsgZW5jb3VudGVyZWQuICR7bX1gKTthLnVzZUFuZExvZ2ljP2g9aCYmbTohdC5kb21BbmREb3cmJiFhLnN0YXJET00/aD1ofHxtOmg9aCYmbX1pZihoKXJldHVybiB0aGlzW3JdPWQtaSxzIT09dGhpc1tyXT8yOjF9cmV0dXJuIDN9cmVjdXJzZSh0LHIsYSl7aWYoYT09PTAmJiF0LnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjx0LnllYXIubGVuZ3RoJiZ0LnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBuPS0xO2ZvcihsZXQgcz10aGlzLnllYXIrMTtzPHQueWVhci5sZW5ndGgmJnM8MWU0O3MrKylpZih0LnllYXJbc109PT0xKXtuPXM7YnJlYWt9aWYobj09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1uLHRoaXMubW9udGg9MCx0aGlzLmRheT0xLHRoaXMuaG91cj0wLHRoaXMubWludXRlPTAsdGhpcy5zZWNvbmQ9MCx0aGlzLm1zPTB9aWYodGhpcy55ZWFyPj0xZTQpcmV0dXJuIG51bGx9bGV0IGk9dGhpcy5maW5kTmV4dChyLGRhW2FdWzBdLHQsZGFbYV1bMl0pO2lmKGk+MSl7bGV0IG49YSsxO2Zvcig7bjxkYS5sZW5ndGg7KXRoaXNbZGFbbl1bMF1dPS1kYVtuXVsyXSxuKys7aWYoaT09PTMpe2lmKHRoaXNbZGFbYV1bMV1dKyssdGhpc1tkYVthXVswXV09LWRhW2FdWzJdLHRoaXMuYXBwbHkoKSxhPT09MCYmIXQuc3RhclllYXIpe2Zvcig7dGhpcy55ZWFyPj0wJiZ0aGlzLnllYXI8dC55ZWFyLmxlbmd0aCYmdC55ZWFyW3RoaXMueWVhcl09PT0wJiZ0aGlzLnllYXI8MWU0Oyl0aGlzLnllYXIrKztpZih0aGlzLnllYXI+PTFlNHx8dGhpcy55ZWFyPj10LnllYXIubGVuZ3RoKXJldHVybiBudWxsfXJldHVybiB0aGlzLnJlY3Vyc2UodCxyLDApfWVsc2UgaWYodGhpcy5hcHBseSgpKXJldHVybiB0aGlzLnJlY3Vyc2UodCxyLGEtMSl9cmV0dXJuIGErPTEsYT49ZGEubGVuZ3RoP3RoaXM6KHQuc3RhclllYXI/dGhpcy55ZWFyPj0zZTM6dGhpcy55ZWFyPj0xZTQpP251bGw6dGhpcy5yZWN1cnNlKHQscixhKX1pbmNyZW1lbnQodCxyLGEpe3JldHVybiB0aGlzLnNlY29uZCs9ci5pbnRlcnZhbCE9PXZvaWQgMCYmci5pbnRlcnZhbD4xJiZhP3IuaW50ZXJ2YWw6MSx0aGlzLm1zPTAsdGhpcy5hcHBseSgpLHRoaXMucmVjdXJzZSh0LHIsMCl9ZGVjcmVtZW50KHQscil7cmV0dXJuIHRoaXMuc2Vjb25kLT1yLmludGVydmFsIT09dm9pZCAwJiZyLmludGVydmFsPjE/ci5pbnRlcnZhbDoxLHRoaXMubXM9MCx0aGlzLmFwcGx5KCksdGhpcy5yZWN1cnNlQmFja3dhcmQodCxyLDAsMCl9cmVjdXJzZUJhY2t3YXJkKHQscixhLGk9MCl7aWYoaT4xZTQpcmV0dXJuIG51bGw7aWYoYT09PTAmJiF0LnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjx0LnllYXIubGVuZ3RoJiZ0LnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBzPS0xO2ZvcihsZXQgbz10aGlzLnllYXItMTtvPj0wO28tLSlpZih0LnllYXJbb109PT0xKXtzPW87YnJlYWt9aWYocz09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1zLHRoaXMubW9udGg9MTEsdGhpcy5kYXk9MzEsdGhpcy5ob3VyPTIzLHRoaXMubWludXRlPTU5LHRoaXMuc2Vjb25kPTU5LHRoaXMubXM9MH1pZih0aGlzLnllYXI8MClyZXR1cm4gbnVsbH1sZXQgbj10aGlzLmZpbmRQcmV2aW91cyhyLGRhW2FdWzBdLHQsZGFbYV1bMl0pO2lmKG4+MSl7bGV0IHM9YSsxO2Zvcig7czxkYS5sZW5ndGg7KXtsZXQgbz1kYVtzXVswXSxjPWRhW3NdWzJdLGw9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUobyx0LGMpO3RoaXNbb109bCxzKyt9aWYobj09PTMpe2lmKHRoaXNbZGFbYV1bMV1dLS0sYT09PTApe2xldCB1PXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO3RoaXMuZGF5PnUmJih0aGlzLmRheT11KX1pZihhPT09MSlpZih0aGlzLmRheTw9MCl0aGlzLmRheT0xO2Vsc2V7bGV0IHU9dGhpcy55ZWFyLGQ9dGhpcy5tb250aDtmb3IoO2Q8MDspZCs9MTIsdS0tO2Zvcig7ZD4xMTspZC09MTIsdSsrO2xldCBoPWQhPT0xPyRIW2RdOm5ldyBEYXRlKERhdGUuVVRDKHUsZCsxLDApKS5nZXRVVENEYXRlKCk7dGhpcy5kYXk+aCYmKHRoaXMuZGF5PWgpfXRoaXMuYXBwbHkoKTtsZXQgbz1kYVthXVswXSxjPWRhW2FdWzJdLGw9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUobyx0LGMpO2lmKG89PT0iZGF5Iil7bGV0IHU9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCk7dGhpc1tvXT1NYXRoLm1pbihsLHUpfWVsc2UgdGhpc1tvXT1sO2lmKHRoaXMuYXBwbHkoKSxhPT09MCl7bGV0IHU9ZGFbMV1bMl0sZD10aGlzLmdldE1heFBhdHRlcm5WYWx1ZSgiZGF5Iix0LHUpLGg9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCksbT1NYXRoLm1pbihkLGgpO20hPT10aGlzLmRheSYmKHRoaXMuZGF5PW0sdGhpcy5ob3VyPXRoaXMuZ2V0TWF4UGF0dGVyblZhbHVlKCJob3VyIix0LGRhWzJdWzJdKSx0aGlzLm1pbnV0ZT10aGlzLmdldE1heFBhdHRlcm5WYWx1ZSgibWludXRlIix0LGRhWzNdWzJdKSx0aGlzLnNlY29uZD10aGlzLmdldE1heFBhdHRlcm5WYWx1ZSgic2Vjb25kIix0LGRhWzRdWzJdKSl9aWYoYT09PTAmJiF0LnN0YXJZZWFyKXtmb3IoO3RoaXMueWVhcj49MCYmdGhpcy55ZWFyPHQueWVhci5sZW5ndGgmJnQueWVhclt0aGlzLnllYXJdPT09MDspdGhpcy55ZWFyLS07aWYodGhpcy55ZWFyPDApcmV0dXJuIG51bGx9cmV0dXJuIHRoaXMucmVjdXJzZUJhY2t3YXJkKHQsciwwLGkrMSl9ZWxzZSBpZih0aGlzLmFwcGx5KCkpcmV0dXJuIHRoaXMucmVjdXJzZUJhY2t3YXJkKHQscixhLTEsaSsxKX1yZXR1cm4gYSs9MSxhPj1kYS5sZW5ndGg/dGhpczp0aGlzLnllYXI8MD9udWxsOnRoaXMucmVjdXJzZUJhY2t3YXJkKHQscixhLGkrMSl9Z2V0TWF4UGF0dGVyblZhbHVlKHQscixhKXtpZih0PT09ImRheSImJnIubGFzdERheU9mTW9udGgpcmV0dXJuIHRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO2lmKHQ9PT0iZGF5IiYmIXIuc3RhckRPVylyZXR1cm4gdGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCk7Zm9yKGxldCBpPXJbdF0ubGVuZ3RoLTE7aT49MDtpLS0paWYoclt0XVtpXSlyZXR1cm4gaS1hO3JldHVybiByW3RdLmxlbmd0aC0xLWF9ZmluZFByZXZpb3VzKHQscixhLGkpe3JldHVybiB0aGlzLl9maW5kTWF0Y2godCxyLGEsaSwtMSl9Z2V0RGF0ZSh0KXtyZXR1cm4gdHx8dGhpcy50ej09PXZvaWQgMD9uZXcgRGF0ZSh0aGlzLnllYXIsdGhpcy5tb250aCx0aGlzLmRheSx0aGlzLmhvdXIsdGhpcy5taW51dGUsdGhpcy5zZWNvbmQsdGhpcy5tcyk6dHlwZW9mIHRoaXMudHo9PSJudW1iZXIiP25ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLHRoaXMuZGF5LHRoaXMuaG91cix0aGlzLm1pbnV0ZS10aGlzLnR6LHRoaXMuc2Vjb25kLHRoaXMubXMpKTpEZmUoTEgodGhpcy55ZWFyLHRoaXMubW9udGgrMSx0aGlzLmRheSx0aGlzLmhvdXIsdGhpcy5taW51dGUsdGhpcy5zZWNvbmQsdGhpcy50eiksITEpfWdldFRpbWUoKXtyZXR1cm4gdGhpcy5nZXREYXRlKCExKS5nZXRUaW1lKCl9bWF0Y2godCxyKXtpZighdC5zdGFyWWVhciYmKHRoaXMueWVhcjwwfHx0aGlzLnllYXI+PXQueWVhci5sZW5ndGh8fHQueWVhclt0aGlzLnllYXJdPT09MCkpcmV0dXJuITE7Zm9yKGxldCBhPTA7YTxkYS5sZW5ndGg7YSsrKXtsZXQgaT1kYVthXVswXSxuPWRhW2FdWzJdLHM9dGhpc1tpXTtpZihzK248MHx8cytuPj10W2ldLmxlbmd0aClyZXR1cm4hMTtsZXQgbz10W2ldW3Mrbl07aWYoaT09PSJkYXkiKXtpZighbyl7Zm9yKGxldCBjPTA7Yzx0Lm5lYXJlc3RXZWVrZGF5cy5sZW5ndGg7YysrKWlmKHQubmVhcmVzdFdlZWtkYXlzW2NdKXtsZXQgbD10aGlzLmdldE5lYXJlc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoLGMtbik7aWYobCE9PS0xJiZsPT09cyl7bz0xO2JyZWFrfX19aWYodC5sYXN0V2Vla2RheSl7bGV0IGM9dGhpcy5nZXRMYXN0V2Vla2RheSh0aGlzLnllYXIsdGhpcy5tb250aCk7cz09PWMmJihvPTEpfWlmKHQubGFzdERheU9mTW9udGgpe2xldCBjPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO3M9PT1jJiYobz0xKX1pZighdC5zdGFyRE9XKXtsZXQgYz1uZXcgRGF0ZShEYXRlLlVUQyh0aGlzLnllYXIsdGhpcy5tb250aCwxLDAsMCwwLDApKS5nZXRVVENEYXkoKSxsPXQuZGF5T2ZXZWVrWyhjKyhzLTEpKSU3XTtsJiZsJjYzJiYobD10aGlzLmlzTnRoV2Vla2RheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgscyxsKT8xOjApLHQudXNlQW5kTG9naWM/bz1vJiZsOiFyLmRvbUFuZERvdyYmIXQuc3RhckRPTT9vPW98fGw6bz1vJiZsfX1pZighbylyZXR1cm4hMX1yZXR1cm4hMH19O0VmZT0zMCoxZTMsanU9W10sUGZlPWNsYXNze25hbWU7b3B0aW9ucztfc3RhdGVzO2ZuO2dldFR6KCl7cmV0dXJuIHRoaXMub3B0aW9ucy50aW1lem9uZXx8dGhpcy5vcHRpb25zLnV0Y09mZnNldH1hcHBseURheU9mZnNldChlKXtpZih0aGlzLm9wdGlvbnMuZGF5T2Zmc2V0IT09dm9pZCAwJiZ0aGlzLm9wdGlvbnMuZGF5T2Zmc2V0IT09MCl7bGV0IHQ9dGhpcy5vcHRpb25zLmRheU9mZnNldCoyNCo2MCo2MCoxZTM7cmV0dXJuIG5ldyBEYXRlKGUuZ2V0VGltZSgpK3QpfXJldHVybiBlfWNvbnN0cnVjdG9yKGUsdCxyKXtsZXQgYSxpO2lmKExoKHQpKWk9dDtlbHNlIGlmKHR5cGVvZiB0PT0ib2JqZWN0IilhPXQ7ZWxzZSBpZih0IT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiQ3JvbjogSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgZm9yIG9wdGlvbnNJbi4gU2hvdWxkIGJlIG9uZSBvZiBmdW5jdGlvbiwgb3Igb2JqZWN0IChvcHRpb25zKS4iKTtpZihMaChyKSlpPXI7ZWxzZSBpZih0eXBlb2Ygcj09Im9iamVjdCIpYT1yO2Vsc2UgaWYociE9PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoIkNyb246IEludmFsaWQgYXJndW1lbnQgcGFzc2VkIGZvciBmdW5jSW4uIFNob3VsZCBiZSBvbmUgb2YgZnVuY3Rpb24sIG9yIG9iamVjdCAob3B0aW9ucykuIik7aWYodGhpcy5uYW1lPWE/Lm5hbWUsdGhpcy5vcHRpb25zPVQ3cihhKSx0aGlzLl9zdGF0ZXM9e2tpbGw6ITEsYmxvY2tpbmc6ITEscHJldmlvdXNSdW46dm9pZCAwLGN1cnJlbnRSdW46dm9pZCAwLG9uY2U6dm9pZCAwLGN1cnJlbnRUaW1lb3V0OnZvaWQgMCxtYXhSdW5zOmE/YS5tYXhSdW5zOnZvaWQgMCxwYXVzZWQ6YT9hLnBhdXNlZDohMSxwYXR0ZXJuOm5ldyBZeCgiKiAqICogKiAqIix2b2lkIDAse21vZGU6ImF1dG8ifSl9LGUmJihlIGluc3RhbmNlb2YgRGF0ZXx8dHlwZW9mIGU9PSJzdHJpbmciJiZlLmluZGV4T2YoIjoiKT4wKT90aGlzLl9zdGF0ZXMub25jZT1uZXcgbGkoZSx0aGlzLmdldFR6KCkpOnRoaXMuX3N0YXRlcy5wYXR0ZXJuPW5ldyBZeChlLHRoaXMub3B0aW9ucy50aW1lem9uZSx7bW9kZTp0aGlzLm9wdGlvbnMubW9kZSxhbHRlcm5hdGl2ZVdlZWtkYXlzOnRoaXMub3B0aW9ucy5hbHRlcm5hdGl2ZVdlZWtkYXlzLHNsb3BweVJhbmdlczp0aGlzLm9wdGlvbnMuc2xvcHB5UmFuZ2VzfSksdGhpcy5uYW1lKXtpZihqdS5maW5kKG49Pm4ubmFtZT09PXRoaXMubmFtZSkpdGhyb3cgbmV3IEVycm9yKCJDcm9uOiBUcmllZCB0byBpbml0aWFsaXplIG5ldyBuYW1lZCBqb2IgJyIrdGhpcy5uYW1lKyInLCBidXQgbmFtZSBhbHJlYWR5IHRha2VuLiIpO2p1LnB1c2godGhpcyl9cmV0dXJuIGkhPT12b2lkIDAmJl83cihpKSYmKHRoaXMuZm49aSx0aGlzLnNjaGVkdWxlKCkpLHRoaXN9bmV4dFJ1bihlKXtsZXQgdD10aGlzLl9uZXh0KGUpO3JldHVybiB0P3RoaXMuYXBwbHlEYXlPZmZzZXQodC5nZXREYXRlKCExKSk6bnVsbH1uZXh0UnVucyhlLHQpe3RoaXMuX3N0YXRlcy5tYXhSdW5zIT09dm9pZCAwJiZlPnRoaXMuX3N0YXRlcy5tYXhSdW5zJiYoZT10aGlzLl9zdGF0ZXMubWF4UnVucyk7bGV0IHI9dHx8dGhpcy5fc3RhdGVzLmN1cnJlbnRSdW58fHZvaWQgMDtyZXR1cm4gdGhpcy5fZW51bWVyYXRlUnVucyhlLHIsIm5leHQiKX1wcmV2aW91c1J1bnMoZSx0KXtyZXR1cm4gdGhpcy5fZW51bWVyYXRlUnVucyhlLHR8fHZvaWQgMCwicHJldmlvdXMiKX1fZW51bWVyYXRlUnVucyhlLHQscil7bGV0IGE9W10saT10P25ldyBsaSh0LHRoaXMuZ2V0VHooKSk6bnVsbCxuPXI9PT0ibmV4dCI/dGhpcy5fbmV4dDp0aGlzLl9wcmV2aW91cztmb3IoO2UtLTspe2xldCBzPW4uY2FsbCh0aGlzLGkpO2lmKCFzKWJyZWFrO2xldCBvPXMuZ2V0RGF0ZSghMSk7YS5wdXNoKHRoaXMuYXBwbHlEYXlPZmZzZXQobykpLGk9c31yZXR1cm4gYX1tYXRjaChlKXtpZih0aGlzLl9zdGF0ZXMub25jZSl7bGV0IHI9bmV3IGxpKGUsdGhpcy5nZXRUeigpKTtyLm1zPTA7bGV0IGE9bmV3IGxpKHRoaXMuX3N0YXRlcy5vbmNlLHRoaXMuZ2V0VHooKSk7cmV0dXJuIGEubXM9MCxyLmdldFRpbWUoKT09PWEuZ2V0VGltZSgpfWxldCB0PW5ldyBsaShlLHRoaXMuZ2V0VHooKSk7cmV0dXJuIHQubXM9MCx0Lm1hdGNoKHRoaXMuX3N0YXRlcy5wYXR0ZXJuLHRoaXMub3B0aW9ucyl9Z2V0UGF0dGVybigpe2lmKCF0aGlzLl9zdGF0ZXMub25jZSlyZXR1cm4gdGhpcy5fc3RhdGVzLnBhdHRlcm4/dGhpcy5fc3RhdGVzLnBhdHRlcm4ucGF0dGVybjp2b2lkIDB9Z2V0T25jZSgpe3JldHVybiB0aGlzLl9zdGF0ZXMub25jZT90aGlzLl9zdGF0ZXMub25jZS5nZXREYXRlKCk6bnVsbH1pc1J1bm5pbmcoKXtsZXQgZT10aGlzLm5leHRSdW4odGhpcy5fc3RhdGVzLmN1cnJlbnRSdW4pLHQ9IXRoaXMuX3N0YXRlcy5wYXVzZWQscj10aGlzLmZuIT09dm9pZCAwLGE9IXRoaXMuX3N0YXRlcy5raWxsO3JldHVybiB0JiZyJiZhJiZlIT09bnVsbH1pc1N0b3BwZWQoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLmtpbGx9aXNCdXN5KCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5ibG9ja2luZ31jdXJyZW50UnVuKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuP3RoaXMuX3N0YXRlcy5jdXJyZW50UnVuLmdldERhdGUoKTpudWxsfXByZXZpb3VzUnVuKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5wcmV2aW91c1J1bj90aGlzLl9zdGF0ZXMucHJldmlvdXNSdW4uZ2V0RGF0ZSgpOm51bGx9bXNUb05leHQoZSl7bGV0IHQ9dGhpcy5fbmV4dChlKTtyZXR1cm4gdD9lIGluc3RhbmNlb2YgbGl8fGUgaW5zdGFuY2VvZiBEYXRlP3QuZ2V0VGltZSgpLWUuZ2V0VGltZSgpOnQuZ2V0VGltZSgpLW5ldyBsaShlKS5nZXRUaW1lKCk6bnVsbH1zdG9wKCl7dGhpcy5fc3RhdGVzLmtpbGw9ITAsdGhpcy5fc3RhdGVzLmN1cnJlbnRUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fc3RhdGVzLmN1cnJlbnRUaW1lb3V0KTtsZXQgZT1qdS5pbmRleE9mKHRoaXMpO2U+PTAmJmp1LnNwbGljZShlLDEpfXBhdXNlKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5wYXVzZWQ9ITAsIXRoaXMuX3N0YXRlcy5raWxsfXJlc3VtZSgpe3JldHVybiB0aGlzLl9zdGF0ZXMucGF1c2VkPSExLCF0aGlzLl9zdGF0ZXMua2lsbH1zY2hlZHVsZShlKXtpZihlJiZ0aGlzLmZuKXRocm93IG5ldyBFcnJvcigiQ3JvbjogSXQgaXMgbm90IGFsbG93ZWQgdG8gc2NoZWR1bGUgdHdvIGZ1bmN0aW9ucyB1c2luZyB0aGUgc2FtZSBDcm9uZXIgaW5zdGFuY2UuIik7ZSYmKHRoaXMuZm49ZSk7bGV0IHQ9dGhpcy5tc1RvTmV4dCgpLHI9dGhpcy5uZXh0UnVuKHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuKTtyZXR1cm4gdD09bnVsbHx8aXNOYU4odCl8fHI9PT1udWxsP3RoaXM6KHQ+RWZlJiYodD1FZmUpLHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dD1zZXRUaW1lb3V0KCgpPT50aGlzLl9jaGVja1RyaWdnZXIociksdCksdGhpcy5fc3RhdGVzLmN1cnJlbnRUaW1lb3V0JiZ0aGlzLm9wdGlvbnMudW5yZWYmJkw3cih0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQpLHRoaXMpfWFzeW5jIF90cmlnZ2VyKGUpe3RoaXMuX3N0YXRlcy5ibG9ja2luZz0hMCx0aGlzLl9zdGF0ZXMuY3VycmVudFJ1bj1uZXcgbGkodm9pZCAwLHRoaXMuZ2V0VHooKSk7dHJ5e2lmKHRoaXMub3B0aW9ucy5jYXRjaCl0cnl7dGhpcy5mbiE9PXZvaWQgMCYmYXdhaXQgdGhpcy5mbih0aGlzLHRoaXMub3B0aW9ucy5jb250ZXh0KX1jYXRjaCh0KXtpZihMaCh0aGlzLm9wdGlvbnMuY2F0Y2gpKXRyeXt0aGlzLm9wdGlvbnMuY2F0Y2godCx0aGlzKX1jYXRjaHt9fWVsc2UgdGhpcy5mbiE9PXZvaWQgMCYmYXdhaXQgdGhpcy5mbih0aGlzLHRoaXMub3B0aW9ucy5jb250ZXh0KX1maW5hbGx5e3RoaXMuX3N0YXRlcy5wcmV2aW91c1J1bj1uZXcgbGkoZSx0aGlzLmdldFR6KCkpLHRoaXMuX3N0YXRlcy5ibG9ja2luZz0hMX19YXN5bmMgdHJpZ2dlcigpe2F3YWl0IHRoaXMuX3RyaWdnZXIoKX1ydW5zTGVmdCgpe3JldHVybiB0aGlzLl9zdGF0ZXMubWF4UnVuc31fY2hlY2tUcmlnZ2VyKGUpe2xldCB0PW5ldyBEYXRlLHI9IXRoaXMuX3N0YXRlcy5wYXVzZWQmJnQuZ2V0VGltZSgpPj1lLmdldFRpbWUoKSxhPXRoaXMuX3N0YXRlcy5ibG9ja2luZyYmdGhpcy5vcHRpb25zLnByb3RlY3Q7ciYmIWE/KHRoaXMuX3N0YXRlcy5tYXhSdW5zIT09dm9pZCAwJiZ0aGlzLl9zdGF0ZXMubWF4UnVucy0tLHRoaXMuX3RyaWdnZXIoKSk6ciYmYSYmTGgodGhpcy5vcHRpb25zLnByb3RlY3QpJiZzZXRUaW1lb3V0KCgpPT50aGlzLm9wdGlvbnMucHJvdGVjdCh0aGlzKSwwKSx0aGlzLnNjaGVkdWxlKCl9X25leHQoZSl7bGV0IHQ9ISEoZXx8dGhpcy5fc3RhdGVzLmN1cnJlbnRSdW4pLHI9ITE7IWUmJnRoaXMub3B0aW9ucy5zdGFydEF0JiZ0aGlzLm9wdGlvbnMuaW50ZXJ2YWwmJihbZSx0XT10aGlzLl9jYWxjdWxhdGVQcmV2aW91c1J1bihlLHQpLHI9IWUpLGU9bmV3IGxpKGUsdGhpcy5nZXRUeigpKSx0aGlzLm9wdGlvbnMuc3RhcnRBdCYmZSYmZS5nZXRUaW1lKCk8dGhpcy5vcHRpb25zLnN0YXJ0QXQuZ2V0VGltZSgpJiYoZT10aGlzLm9wdGlvbnMuc3RhcnRBdCk7bGV0IGE9dGhpcy5fc3RhdGVzLm9uY2V8fG5ldyBsaShlLHRoaXMuZ2V0VHooKSk7cmV0dXJuIXImJmEhPT10aGlzLl9zdGF0ZXMub25jZSYmKGE9YS5pbmNyZW1lbnQodGhpcy5fc3RhdGVzLnBhdHRlcm4sdGhpcy5vcHRpb25zLHQpKSx0aGlzLl9zdGF0ZXMub25jZSYmdGhpcy5fc3RhdGVzLm9uY2UuZ2V0VGltZSgpPD1lLmdldFRpbWUoKXx8YT09PW51bGx8fHRoaXMuX3N0YXRlcy5tYXhSdW5zIT09dm9pZCAwJiZ0aGlzLl9zdGF0ZXMubWF4UnVuczw9MHx8dGhpcy5fc3RhdGVzLmtpbGx8fHRoaXMub3B0aW9ucy5zdG9wQXQmJmEuZ2V0VGltZSgpPj10aGlzLm9wdGlvbnMuc3RvcEF0LmdldFRpbWUoKT9udWxsOmF9X3ByZXZpb3VzKGUpe2xldCB0PW5ldyBsaShlLHRoaXMuZ2V0VHooKSk7dGhpcy5vcHRpb25zLnN0b3BBdCYmdC5nZXRUaW1lKCk+dGhpcy5vcHRpb25zLnN0b3BBdC5nZXRUaW1lKCkmJih0PXRoaXMub3B0aW9ucy5zdG9wQXQpO2xldCByPW5ldyBsaSh0LHRoaXMuZ2V0VHooKSk7cmV0dXJuIHRoaXMuX3N0YXRlcy5vbmNlP3RoaXMuX3N0YXRlcy5vbmNlLmdldFRpbWUoKTx0LmdldFRpbWUoKT90aGlzLl9zdGF0ZXMub25jZTpudWxsOihyPXIuZGVjcmVtZW50KHRoaXMuX3N0YXRlcy5wYXR0ZXJuLHRoaXMub3B0aW9ucykscj09PW51bGx8fHRoaXMub3B0aW9ucy5zdGFydEF0JiZyLmdldFRpbWUoKTx0aGlzLm9wdGlvbnMuc3RhcnRBdC5nZXRUaW1lKCk/bnVsbDpyKX1fY2FsY3VsYXRlUHJldmlvdXNSdW4oZSx0KXtsZXQgcj1uZXcgbGkodm9pZCAwLHRoaXMuZ2V0VHooKSksYT1lO2lmKHRoaXMub3B0aW9ucy5zdGFydEF0LmdldFRpbWUoKTw9ci5nZXRUaW1lKCkpe2E9dGhpcy5vcHRpb25zLnN0YXJ0QXQ7bGV0IGk9YS5nZXRUaW1lKCkrdGhpcy5vcHRpb25zLmludGVydmFsKjFlMztmb3IoO2k8PXIuZ2V0VGltZSgpOylhPW5ldyBsaShhLHRoaXMuZ2V0VHooKSkuaW5jcmVtZW50KHRoaXMuX3N0YXRlcy5wYXR0ZXJuLHRoaXMub3B0aW9ucywhMCksaT1hLmdldFRpbWUoKSt0aGlzLm9wdGlvbnMuaW50ZXJ2YWwqMWUzO3Q9ITB9cmV0dXJuIGE9PT1udWxsJiYoYT12b2lkIDApLFthLHRdfX19KTt2YXIgWHgsRGgsJDdyLGxkYSxyMixReCxkbixJMSxWdSxESCxvMCxVdSxKeCxLeCxleSx0eSwkMyxXdSxaeCxGZmUsQUgsRUgsT2ZlLElILE90PWYoKCk9PntYeD03LERoPTM2NS4yNDI1LCQ3cj1NYXRoLnBvdygxMCw4KSoyNCo2MCo2MCoxZTMsbGRhPS0kN3IscjI9NjA0OGU1LFF4PTg2NGU1LGRuPTZlNCxJMT0zNmU1LFZ1PTFlMyxESD01MjU2MDAsbzA9NDMyMDAsVXU9MTQ0MCxKeD02MCxLeD0zLGV5PTEyLHR5PTQsJDM9MzYwMCxXdT02MCxaeD0kMyoyNCxGZmU9WngqNyxBSD1aeCozNjUuMjQyNSxFSD1BSC8xMixPZmU9RUgqMyxJSD1TeW1ib2wuZm9yKCJjb25zdHJ1Y3REYXRlRnJvbSIpfSk7ZnVuY3Rpb24gUGUoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZSh0KTplJiZ0eXBlb2YgZT09Im9iamVjdCImJklIIGluIGU/ZVtJSF0odCk6ZSBpbnN0YW5jZW9mIERhdGU/bmV3IGUuY29uc3RydWN0b3IodCk6bmV3IERhdGUodCl9dmFyIHVkYSxodD1mKCgpPT57T3QoKTt1ZGE9UGV9KTtmdW5jdGlvbiBwZShlLHQpe3JldHVybiBQZSh0fHxlLGUpfXZhciBoZGEsRmU9ZigoKT0+e2h0KCk7aGRhPXBlfSk7ZnVuY3Rpb24gY2koZSx0LHIpe2xldCBhPXBlKGUscj8uaW4pO3JldHVybiBpc05hTih0KT9QZShyPy5pbnx8ZSxOYU4pOih0JiZhLnNldERhdGUoYS5nZXREYXRlKCkrdCksYSl9dmFyIHZkYSxhMj1mKCgpPT57aHQoKTtGZSgpO3ZkYT1jaX0pO2Z1bmN0aW9uIGkyKGUsdCxyKXtsZXQgYT1wZShlLHI/LmluKTtpZihpc05hTih0KSlyZXR1cm4gUGUocj8uaW58fGUsTmFOKTtpZighdClyZXR1cm4gYTtsZXQgaT1hLmdldERhdGUoKSxuPVBlKHI/LmlufHxlLGEuZ2V0VGltZSgpKTtuLnNldE1vbnRoKGEuZ2V0TW9udGgoKSt0KzEsMCk7bGV0IHM9bi5nZXREYXRlKCk7cmV0dXJuIGk+PXM/bjooYS5zZXRGdWxsWWVhcihuLmdldEZ1bGxZZWFyKCksbi5nZXRNb250aCgpLGkpLGEpfXZhciBNZGEsR3U9ZigoKT0+e2h0KCk7RmUoKTtNZGE9aTJ9KTtmdW5jdGlvbiBsMChlLHQscil7bGV0e3llYXJzOmE9MCxtb250aHM6aT0wLHdlZWtzOm49MCxkYXlzOnM9MCxob3VyczpvPTAsbWludXRlczpjPTAsc2Vjb25kczpsPTB9PXQsdT1wZShlLHI/LmluKSxkPWl8fGE/aTIodSxpK2EqMTIpOnUsaD1zfHxuP2NpKGQscytuKjcpOmQsbT1jK28qNjAsYj0obCttKjYwKSoxZTM7cmV0dXJuIFBlKHI/LmlufHxlLCtoK2IpfXZhciBfZGEsUEg9ZigoKT0+e2EyKCk7R3UoKTtodCgpO0ZlKCk7X2RhPWwwfSk7ZnVuY3Rpb24gcnkoZSx0KXtyZXR1cm4gcGUoZSx0Py5pbikuZ2V0RGF5KCk9PT02fXZhciBEZGEsTkg9ZigoKT0+e0ZlKCk7RGRhPXJ5fSk7ZnVuY3Rpb24gYXkoZSx0KXtyZXR1cm4gcGUoZSx0Py5pbikuZ2V0RGF5KCk9PT0wfXZhciBJZGEsRkg9ZigoKT0+e0ZlKCk7SWRhPWF5fSk7ZnVuY3Rpb24gbjIoZSx0KXtsZXQgcj1wZShlLHQ/LmluKS5nZXREYXkoKTtyZXR1cm4gcj09PTB8fHI9PT02fXZhciBGZGEsQWg9ZigoKT0+e0ZlKCk7RmRhPW4yfSk7ZnVuY3Rpb24gaXkoZSx0LHIpe2xldCBhPXBlKGUscj8uaW4pLGk9bjIoYSxyKTtpZihpc05hTih0KSlyZXR1cm4gUGUocj8uaW4sTmFOKTtsZXQgbj1hLmdldEhvdXJzKCkscz10PDA/LTE6MSxvPU1hdGgudHJ1bmModC81KTthLnNldERhdGUoYS5nZXREYXRlKCkrbyo3KTtsZXQgYz1NYXRoLmFicyh0JTUpO2Zvcig7Yz4wOylhLnNldERhdGUoYS5nZXREYXRlKCkrcyksbjIoYSxyKXx8KGMtPTEpO3JldHVybiBpJiZuMihhLHIpJiZ0IT09MCYmKHJ5KGEscikmJmEuc2V0RGF0ZShhLmdldERhdGUoKSsoczwwPzI6LTEpKSxheShhLHIpJiZhLnNldERhdGUoYS5nZXREYXRlKCkrKHM8MD8xOi0yKSkpLGEuc2V0SG91cnMobiksYX12YXIgVmRhLE9IPWYoKCk9PntodCgpO05IKCk7RkgoKTtBaCgpO0ZlKCk7VmRhPWl5fSk7ZnVuY3Rpb24gYzAoZSx0LHIpe3JldHVybiBQZShyPy5pbnx8ZSwrcGUoZSkrdCl9dmFyIFlkYSxFaD1mKCgpPT57aHQoKTtGZSgpO1lkYT1jMH0pO2Z1bmN0aW9uIG55KGUsdCxyKXtyZXR1cm4gYzAoZSx0KkkxLHIpfXZhciBKZGEsUkg9ZigoKT0+e0VoKCk7T3QoKTtKZGE9bnl9KTtmdW5jdGlvbiBfcigpe3JldHVybiBSZmV9ZnVuY3Rpb24gQmZlKGUpe1JmZT1lfXZhciBSZmUsdW49ZigoKT0+e1JmZT17fX0pO2Z1bmN0aW9uIHRhKGUsdCl7bGV0IHI9X3IoKSxhPXQ/LndlZWtTdGFydHNPbj8/dD8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P3Iud2Vla1N0YXJ0c09uPz9yLmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGk9cGUoZSx0Py5pbiksbj1pLmdldERheSgpLHM9KG48YT83OjApK24tYTtyZXR1cm4gaS5zZXREYXRlKGkuZ2V0RGF0ZSgpLXMpLGkuc2V0SG91cnMoMCwwLDAsMCksaX12YXIgYTZhLGxvPWYoKCk9Pnt1bigpO0ZlKCk7YTZhPXRhfSk7ZnVuY3Rpb24gSmEoZSx0KXtyZXR1cm4gdGEoZSx7Li4udCx3ZWVrU3RhcnRzT246MX0pfXZhciBzNmEsczI9ZigoKT0+e2xvKCk7czZhPUphfSk7ZnVuY3Rpb24gam4oZSx0KXtsZXQgcj1wZShlLHQ/LmluKSxhPXIuZ2V0RnVsbFllYXIoKSxpPVBlKHIsMCk7aS5zZXRGdWxsWWVhcihhKzEsMCw0KSxpLnNldEhvdXJzKDAsMCwwLDApO2xldCBuPUphKGkpLHM9UGUociwwKTtzLnNldEZ1bGxZZWFyKGEsMCw0KSxzLnNldEhvdXJzKDAsMCwwLDApO2xldCBvPUphKHMpO3JldHVybiByLmdldFRpbWUoKT49bi5nZXRUaW1lKCk/YSsxOnIuZ2V0VGltZSgpPj1vLmdldFRpbWUoKT9hOmEtMX12YXIgdTZhLGQwPWYoKCk9PntodCgpO3MyKCk7RmUoKTt1NmE9am59KTtmdW5jdGlvbiBfYShlKXtsZXQgdD1wZShlKSxyPW5ldyBEYXRlKERhdGUuVVRDKHQuZ2V0RnVsbFllYXIoKSx0LmdldE1vbnRoKCksdC5nZXREYXRlKCksdC5nZXRIb3VycygpLHQuZ2V0TWludXRlcygpLHQuZ2V0U2Vjb25kcygpLHQuZ2V0TWlsbGlzZWNvbmRzKCkpKTtyZXR1cm4gci5zZXRVVENGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkpLCtlLStyfXZhciB6bD1mKCgpPT57RmUoKX0pO2Z1bmN0aW9uIGR0KGUsLi4udCl7bGV0IHI9UGUuYmluZChudWxsLGV8fHQuZmluZChhPT50eXBlb2YgYT09Im9iamVjdCIpKTtyZXR1cm4gdC5tYXAocil9dmFyIEJyPWYoKCk9PntodCgpfSk7ZnVuY3Rpb24gbzIoZSx0KXtsZXQgcj1wZShlLHQ/LmluKTtyZXR1cm4gci5zZXRIb3VycygwLDAsMCwwKSxyfXZhciB2NmEsSWg9ZigoKT0+e0ZlKCk7djZhPW8yfSk7ZnVuY3Rpb24gVGkoZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCksbj1vMihhKSxzPW8yKGkpLG89K24tX2EobiksYz0rcy1fYShzKTtyZXR1cm4gTWF0aC5yb3VuZCgoby1jKS9ReCl9dmFyIFM2YSxDbD1mKCgpPT57emwoKTtCcigpO090KCk7SWgoKTtTNmE9VGl9KTtmdW5jdGlvbiBQMShlLHQpe2xldCByPWpuKGUsdCksYT1QZSh0Py5pbnx8ZSwwKTtyZXR1cm4gYS5zZXRGdWxsWWVhcihyLDAsNCksYS5zZXRIb3VycygwLDAsMCwwKSxKYShhKX12YXIgTDZhLFl1PWYoKCk9PntodCgpO2QwKCk7czIoKTtMNmE9UDF9KTtmdW5jdGlvbiBzeShlLHQscil7bGV0IGE9cGUoZSxyPy5pbiksaT1UaShhLFAxKGEscikpLG49UGUocj8uaW58fGUsMCk7cmV0dXJuIG4uc2V0RnVsbFllYXIodCwwLDQpLG4uc2V0SG91cnMoMCwwLDAsMCksYT1QMShuKSxhLnNldERhdGUoYS5nZXREYXRlKCkraSksYX12YXIgUDZhLEJIPWYoKCk9PntodCgpO0NsKCk7WXUoKTtGZSgpO1A2YT1zeX0pO2Z1bmN0aW9uIG95KGUsdCxyKXtyZXR1cm4gc3koZSxqbihlLHIpK3Qscil9dmFyIFI2YSxISD1mKCgpPT57ZDAoKTtCSCgpO1I2YT1veX0pO2Z1bmN0aW9uIFp1KGUsdCxyKXtsZXQgYT1wZShlLHI/LmluKTtyZXR1cm4gYS5zZXRUaW1lKGEuZ2V0VGltZSgpK3QqZG4pLGF9dmFyIGo2YSxseT1mKCgpPT57T3QoKTtGZSgpO2o2YT1adX0pO2Z1bmN0aW9uIFh1KGUsdCxyKXtyZXR1cm4gaTIoZSx0KjMscil9dmFyIFc2YSxjeT1mKCgpPT57R3UoKTtXNmE9WHV9KTtmdW5jdGlvbiBkeShlLHQscil7cmV0dXJuIGMwKGUsdCoxZTMscil9dmFyIFo2YSxxSD1mKCgpPT57RWgoKTtaNmE9ZHl9KTtmdW5jdGlvbiB1MChlLHQscil7cmV0dXJuIGNpKGUsdCo3LHIpfXZhciBKNmEsUGg9ZigoKT0+e2EyKCk7SjZhPXUwfSk7ZnVuY3Rpb24gdXkoZSx0LHIpe3JldHVybiBpMihlLHQqMTIscil9dmFyIHR1YSxqSD1mKCgpPT57R3UoKTt0dWE9dXl9KTtmdW5jdGlvbiBIZmUoZSx0LHIpe2xldFthLGldPVsrcGUoZS5zdGFydCxyPy5pbiksK3BlKGUuZW5kLHI/LmluKV0uc29ydCgobyxjKT0+by1jKSxbbixzXT1bK3BlKHQuc3RhcnQscj8uaW4pLCtwZSh0LmVuZCxyPy5pbildLnNvcnQoKG8sYyk9Pm8tYyk7cmV0dXJuIHI/LmluY2x1c2l2ZT9hPD1zJiZuPD1pOmE8cyYmbjxpfXZhciBpdWEscWZlPWYoKCk9PntGZSgpO2l1YT1IZmV9KTtmdW5jdGlvbiBweShlLHQpe2xldCByLGE9dD8uaW47cmV0dXJuIGUuZm9yRWFjaChpPT57IWEmJnR5cGVvZiBpPT0ib2JqZWN0IiYmKGE9UGUuYmluZChudWxsLGkpKTtsZXQgbj1wZShpLGEpOyghcnx8cjxufHxpc05hTigrbikpJiYocj1uKX0pLFBlKGEscnx8TmFOKX12YXIgbHVhLFZIPWYoKCk9PntodCgpO0ZlKCk7bHVhPXB5fSk7ZnVuY3Rpb24gZnkoZSx0KXtsZXQgcixhPXQ/LmluO3JldHVybiBlLmZvckVhY2goaT0+eyFhJiZ0eXBlb2YgaT09Im9iamVjdCImJihhPVBlLmJpbmQobnVsbCxpKSk7bGV0IG49cGUoaSxhKTsoIXJ8fHI+bnx8aXNOYU4oK24pKSYmKHI9bil9KSxQZShhLHJ8fE5hTil9dmFyIHB1YSxVSD1mKCgpPT57aHQoKTtGZSgpO3B1YT1meX0pO2Z1bmN0aW9uIGpmZShlLHQscil7bGV0W2EsaSxuXT1kdChyPy5pbixlLHQuc3RhcnQsdC5lbmQpO3JldHVybiBmeShbcHkoW2EsaV0sciksbl0scil9dmFyIGJ1YSxWZmU9ZigoKT0+e0JyKCk7VkgoKTtVSCgpO2J1YT1qZmV9KTtmdW5jdGlvbiBoeShlLHQpe2xldCByPStwZShlKTtpZihpc05hTihyKSlyZXR1cm4gTmFOO2xldCBhLGk7cmV0dXJuIHQuZm9yRWFjaCgobixzKT0+e2xldCBvPXBlKG4pO2lmKGlzTmFOKCtvKSl7YT1OYU4saT1OYU47cmV0dXJufWxldCBjPU1hdGguYWJzKHItK28pOyhhPT1udWxsfHxjPGkpJiYoYT1zLGk9Yyl9KSxhfXZhciB5dWEsV0g9ZigoKT0+e0ZlKCk7eXVhPWh5fSk7ZnVuY3Rpb24gVWZlKGUsdCxyKXtsZXRbYSwuLi5pXT1kdChyPy5pbixlLC4uLnQpLG49aHkoYSxpKTtpZih0eXBlb2Ygbj09Im51bWJlciImJmlzTmFOKG4pKXJldHVybiBQZShhLE5hTik7aWYobiE9PXZvaWQgMClyZXR1cm4gaVtuXX12YXIgenVhLFdmZT1mKCgpPT57QnIoKTtXSCgpO2h0KCk7enVhPVVmZX0pO2Z1bmN0aW9uIHBuKGUsdCl7bGV0IHI9K3BlKGUpLStwZSh0KTtyZXR1cm4gcjwwPy0xOnI+MD8xOnJ9dmFyIF91YSxEMz1mKCgpPT57RmUoKTtfdWE9cG59KTtmdW5jdGlvbiBHZmUoZSx0KXtsZXQgcj0rcGUoZSktK3BlKHQpO3JldHVybiByPjA/LTE6cjwwPzE6cn12YXIgRHVhLFlmZT1mKCgpPT57RmUoKTtEdWE9R2ZlfSk7ZnVuY3Rpb24gR3QoZSl7cmV0dXJuIFBlKGUsRGF0ZS5ub3coKSl9dmFyIEl1YSxkaT1mKCgpPT57aHQoKTtJdWE9R3R9KTtmdW5jdGlvbiBaZmUoZSl7bGV0IHQ9TWF0aC50cnVuYyhlLzcpO3JldHVybiB0PT09MD8wOnR9dmFyIEZ1YSxYZmU9ZigoKT0+e090KCk7RnVhPVpmZX0pO2Z1bmN0aW9uIGwyKGUsdCxyKXtsZXRbYSxpXT1kdChyPy5pbixlLHQpO3JldHVybitvMihhKT09K28yKGkpfXZhciBIdWEsUXU9ZigoKT0+e0JyKCk7SWgoKTtIdWE9bDJ9KTtmdW5jdGlvbiBteShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIERhdGV8fHR5cGVvZiBlPT0ib2JqZWN0IiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPT09IltvYmplY3QgRGF0ZV0ifXZhciBqdWEsR0g9ZigoKT0+e2p1YT1teX0pO2Z1bmN0aW9uIFZpKGUpe3JldHVybiEoIW15KGUpJiZ0eXBlb2YgZSE9Im51bWJlciJ8fGlzTmFOKCtwZShlKSkpfXZhciBHdWEsVGw9ZigoKT0+e0dIKCk7RmUoKTtHdWE9Vml9KTtmdW5jdGlvbiBRZmUoZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCk7aWYoIVZpKGEpfHwhVmkoaSkpcmV0dXJuIE5hTjtsZXQgbj1UaShhLGkpLHM9bjwwPy0xOjEsbz1NYXRoLnRydW5jKG4vNyksYz1vKjUsbD1jaShpLG8qNyk7Zm9yKDshbDIoYSxsKTspYys9bjIobCxyKT8wOnMsbD1jaShsLHMpO3JldHVybiBjPT09MD8wOmN9dmFyIHQ1YSxKZmU9ZigoKT0+e0JyKCk7YTIoKTtDbCgpO1F1KCk7VGwoKTtBaCgpO3Q1YT1RZmV9KTtmdW5jdGlvbiBneShlLHQscil7bGV0W2EsaV09ZHQocj8uaW4sZSx0KTtyZXR1cm4gam4oYSxyKS1qbihpLHIpfXZhciBuNWEsWUg9ZigoKT0+e0JyKCk7ZDAoKTtuNWE9Z3l9KTtmdW5jdGlvbiBLZmUoZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCksbj1KYShhKSxzPUphKGkpLG89K24tX2EobiksYz0rcy1fYShzKTtyZXR1cm4gTWF0aC5yb3VuZCgoby1jKS9yMil9dmFyIHU1YSxlaGU9ZigoKT0+e3psKCk7QnIoKTtPdCgpO3MyKCk7dTVhPUtmZX0pO2Z1bmN0aW9uIEEzKGUsdCxyKXtsZXRbYSxpXT1kdChyPy5pbixlLHQpLG49YS5nZXRGdWxsWWVhcigpLWkuZ2V0RnVsbFllYXIoKSxzPWEuZ2V0TW9udGgoKS1pLmdldE1vbnRoKCk7cmV0dXJuIG4qMTIrc312YXIgaDVhLGJ5PWYoKCk9PntCcigpO2g1YT1BM30pO2Z1bmN0aW9uIE5oKGUsdCl7bGV0IHI9cGUoZSx0Py5pbik7cmV0dXJuIE1hdGgudHJ1bmMoci5nZXRNb250aCgpLzMpKzF9dmFyIGI1YSxaSD1mKCgpPT57RmUoKTtiNWE9Tmh9KTtmdW5jdGlvbiBKdShlLHQscil7bGV0W2EsaV09ZHQocj8uaW4sZSx0KSxuPWEuZ2V0RnVsbFllYXIoKS1pLmdldEZ1bGxZZWFyKCkscz1OaChhKS1OaChpKTtyZXR1cm4gbio0K3N9dmFyIHc1YSxYSD1mKCgpPT57QnIoKTtaSCgpO3c1YT1KdX0pO2Z1bmN0aW9uIEUzKGUsdCxyKXtsZXRbYSxpXT1kdChyPy5pbixlLHQpLG49dGEoYSxyKSxzPXRhKGksciksbz0rbi1fYShuKSxjPStzLV9hKHMpO3JldHVybiBNYXRoLnJvdW5kKChvLWMpL3IyKX12YXIgVDVhLHZ5PWYoKCk9Pnt6bCgpO0JyKCk7T3QoKTtsbygpO1Q1YT1FM30pO2Z1bmN0aW9uIHAwKGUsdCxyKXtsZXRbYSxpXT1kdChyPy5pbixlLHQpO3JldHVybiBhLmdldEZ1bGxZZWFyKCktaS5nZXRGdWxsWWVhcigpfXZhciAkNWEseHk9ZigoKT0+e0JyKCk7JDVhPXAwfSk7ZnVuY3Rpb24gS3UoZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCksbj10aGUoYSxpKSxzPU1hdGguYWJzKFRpKGEsaSkpO2Euc2V0RGF0ZShhLmdldERhdGUoKS1uKnMpO2xldCBvPSsodGhlKGEsaSk9PT0tbiksYz1uKihzLW8pO3JldHVybiBjPT09MD8wOmN9ZnVuY3Rpb24gdGhlKGUsdCl7bGV0IHI9ZS5nZXRGdWxsWWVhcigpLXQuZ2V0RnVsbFllYXIoKXx8ZS5nZXRNb250aCgpLXQuZ2V0TW9udGgoKXx8ZS5nZXREYXRlKCktdC5nZXREYXRlKCl8fGUuZ2V0SG91cnMoKS10LmdldEhvdXJzKCl8fGUuZ2V0TWludXRlcygpLXQuZ2V0TWludXRlcygpfHxlLmdldFNlY29uZHMoKS10LmdldFNlY29uZHMoKXx8ZS5nZXRNaWxsaXNlY29uZHMoKS10LmdldE1pbGxpc2Vjb25kcygpO3JldHVybiByPDA/LTE6cj4wPzE6cn12YXIgSTVhLHl5PWYoKCk9PntCcigpO0NsKCk7STVhPUt1fSk7ZnVuY3Rpb24gZm4oZSl7cmV0dXJuIHQ9PntsZXQgYT0oZT9NYXRoW2VdOk1hdGgudHJ1bmMpKHQpO3JldHVybiBhPT09MD8wOmF9fXZhciBfbD1mKCgpPT57fSk7ZnVuY3Rpb24gSTMoZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCksbj0oK2EtK2kpL0kxO3JldHVybiBmbihyPy5yb3VuZGluZ01ldGhvZCkobil9dmFyIEI1YSx3eT1mKCgpPT57X2woKTtCcigpO090KCk7QjVhPUkzfSk7ZnVuY3Rpb24gTXkoZSx0LHIpe3JldHVybiBveShlLC10LHIpfXZhciBqNWEsUUg9ZigoKT0+e0hIKCk7ajVhPU15fSk7ZnVuY3Rpb24gcmhlKGUsdCxyKXtsZXRbYSxpXT1kdChyPy5pbixlLHQpLG49cG4oYSxpKSxzPU1hdGguYWJzKGd5KGEsaSxyKSksbz1NeShhLG4qcyxyKSxjPSsocG4obyxpKT09PS1uKSxsPW4qKHMtYyk7cmV0dXJuIGw9PT0wPzA6bH12YXIgWjVhLGFoZT1mKCgpPT57QnIoKTtEMygpO1lIKCk7UUgoKTtaNWE9cmhlfSk7ZnVuY3Rpb24gZTUoZSx0KXtyZXR1cm4rcGUoZSktK3BlKHQpfXZhciBKNWEsa3k9ZigoKT0+e0ZlKCk7SjVhPWU1fSk7ZnVuY3Rpb24gUDMoZSx0LHIpe2xldCBhPWU1KGUsdCkvZG47cmV0dXJuIGZuKHI/LnJvdW5kaW5nTWV0aG9kKShhKX12YXIgYXBhLFN5PWYoKCk9PntfbCgpO090KCk7a3koKTthcGE9UDN9KTtmdW5jdGlvbiB0NShlLHQpe2xldCByPXBlKGUsdD8uaW4pO3JldHVybiByLnNldEhvdXJzKDIzLDU5LDU5LDk5OSkscn12YXIgc3BhLHp5PWYoKCk9PntGZSgpO3NwYT10NX0pO2Z1bmN0aW9uIHI1KGUsdCl7bGV0IHI9cGUoZSx0Py5pbiksYT1yLmdldE1vbnRoKCk7cmV0dXJuIHIuc2V0RnVsbFllYXIoci5nZXRGdWxsWWVhcigpLGErMSwwKSxyLnNldEhvdXJzKDIzLDU5LDU5LDk5OSkscn12YXIgY3BhLEN5PWYoKCk9PntGZSgpO2NwYT1yNX0pO2Z1bmN0aW9uIFR5KGUsdCl7bGV0IHI9cGUoZSx0Py5pbik7cmV0dXJuK3Q1KHIsdCk9PStyNShyLHQpfXZhciBocGEsSkg9ZigoKT0+e3p5KCk7Q3koKTtGZSgpO2hwYT1UeX0pO2Z1bmN0aW9uIGYwKGUsdCxyKXtsZXRbYSxpLG5dPWR0KHI/LmluLGUsZSx0KSxzPXBuKGksbiksbz1NYXRoLmFicyhBMyhpLG4pKTtpZihvPDEpcmV0dXJuIDA7aS5nZXRNb250aCgpPT09MSYmaS5nZXREYXRlKCk+MjcmJmkuc2V0RGF0ZSgzMCksaS5zZXRNb250aChpLmdldE1vbnRoKCktcypvKTtsZXQgYz1wbihpLG4pPT09LXM7VHkoYSkmJm89PT0xJiZwbihhLG4pPT09MSYmKGM9ITEpO2xldCBsPXMqKG8tK2MpO3JldHVybiBsPT09MD8wOmx9dmFyIHlwYSxGaD1mKCgpPT57QnIoKTtEMygpO2J5KCk7SkgoKTt5cGE9ZjB9KTtmdW5jdGlvbiBpaGUoZSx0LHIpe2xldCBhPWYwKGUsdCxyKS8zO3JldHVybiBmbihyPy5yb3VuZGluZ01ldGhvZCkoYSl9dmFyIFNwYSxuaGU9ZigoKT0+e19sKCk7RmgoKTtTcGE9aWhlfSk7ZnVuY3Rpb24gYzIoZSx0LHIpe2xldCBhPWU1KGUsdCkvMWUzO3JldHVybiBmbihyPy5yb3VuZGluZ01ldGhvZCkoYSl9dmFyIF9wYSxPaD1mKCgpPT57X2woKTtreSgpO19wYT1jMn0pO2Z1bmN0aW9uIHNoZShlLHQscil7bGV0IGE9S3UoZSx0LHIpLzc7cmV0dXJuIGZuKHI/LnJvdW5kaW5nTWV0aG9kKShhKX12YXIgQXBhLG9oZT1mKCgpPT57X2woKTt5eSgpO0FwYT1zaGV9KTtmdW5jdGlvbiBfeShlLHQscil7bGV0W2EsaV09ZHQocj8uaW4sZSx0KSxuPXBuKGEsaSkscz1NYXRoLmFicyhwMChhLGkpKTthLnNldEZ1bGxZZWFyKDE1ODQpLGkuc2V0RnVsbFllYXIoMTU4NCk7bGV0IG89cG4oYSxpKT09PS1uLGM9bioocy0rbyk7cmV0dXJuIGM9PT0wPzA6Y312YXIgRnBhLEtIPWYoKCk9PntCcigpO0QzKCk7eHkoKTtGcGE9X3l9KTtmdW5jdGlvbiBfaShlLHQpe2xldFtyLGFdPWR0KGUsdC5zdGFydCx0LmVuZCk7cmV0dXJue3N0YXJ0OnIsZW5kOmF9fXZhciBkMj1mKCgpPT57QnIoKX0pO2Z1bmN0aW9uIEx5KGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PV9pKHQ/LmluLGUpLGk9K3I+K2Esbj1pPytyOithLHM9aT9hOnI7cy5zZXRIb3VycygwLDAsMCwwKTtsZXQgbz10Py5zdGVwPz8xO2lmKCFvKXJldHVybltdO288MCYmKG89LW8saT0haSk7bGV0IGM9W107Zm9yKDsrczw9bjspYy5wdXNoKFBlKHIscykpLHMuc2V0RGF0ZShzLmdldERhdGUoKStvKSxzLnNldEhvdXJzKDAsMCwwLDApO3JldHVybiBpP2MucmV2ZXJzZSgpOmN9dmFyIGpwYSxlcT1mKCgpPT57ZDIoKTtodCgpO2pwYT1MeX0pO2Z1bmN0aW9uIGxoZShlLHQpe2xldHtzdGFydDpyLGVuZDphfT1faSh0Py5pbixlKSxpPStyPithLG49aT8rcjorYSxzPWk/YTpyO3Muc2V0TWludXRlcygwLDAsMCk7bGV0IG89dD8uc3RlcD8/MTtpZighbylyZXR1cm5bXTtvPDAmJihvPS1vLGk9IWkpO2xldCBjPVtdO2Zvcig7K3M8PW47KWMucHVzaChQZShyLHMpKSxzLnNldEhvdXJzKHMuZ2V0SG91cnMoKStvKTtyZXR1cm4gaT9jLnJldmVyc2UoKTpjfXZhciBHcGEsY2hlPWYoKCk9PntkMigpO2h0KCk7R3BhPWxoZX0pO2Z1bmN0aW9uIGRoZShlLHQpe2xldHtzdGFydDpyLGVuZDphfT1faSh0Py5pbixlKTtyLnNldFNlY29uZHMoMCwwKTtsZXQgaT0rcj4rYSxuPWk/K3I6K2Escz1pP2E6cixvPXQ/LnN0ZXA/PzE7aWYoIW8pcmV0dXJuW107bzwwJiYobz0tbyxpPSFpKTtsZXQgYz1bXTtmb3IoOytzPD1uOyljLnB1c2goUGUocixzKSkscz1adShzLG8pO3JldHVybiBpP2MucmV2ZXJzZSgpOmN9dmFyIEpwYSx1aGU9ZigoKT0+e2QyKCk7bHkoKTtodCgpO0pwYT1kaGV9KTtmdW5jdGlvbiBwaGUoZSx0KXtsZXR7c3RhcnQ6cixlbmQ6YX09X2kodD8uaW4sZSksaT0rcj4rYSxuPWk/K3I6K2Escz1pP2E6cjtzLnNldEhvdXJzKDAsMCwwLDApLHMuc2V0RGF0ZSgxKTtsZXQgbz10Py5zdGVwPz8xO2lmKCFvKXJldHVybltdO288MCYmKG89LW8saT0haSk7bGV0IGM9W107Zm9yKDsrczw9bjspYy5wdXNoKFBlKHIscykpLHMuc2V0TW9udGgocy5nZXRNb250aCgpK28pO3JldHVybiBpP2MucmV2ZXJzZSgpOmN9dmFyIHI4YSxmaGU9ZigoKT0+e2QyKCk7aHQoKTtyOGE9cGhlfSk7ZnVuY3Rpb24gdTIoZSx0KXtsZXQgcj1wZShlLHQ/LmluKSxhPXIuZ2V0TW9udGgoKSxpPWEtYSUzO3JldHVybiByLnNldE1vbnRoKGksMSksci5zZXRIb3VycygwLDAsMCwwKSxyfXZhciBuOGEsJHk9ZigoKT0+e0ZlKCk7bjhhPXUyfSk7ZnVuY3Rpb24gaGhlKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PV9pKHQ/LmluLGUpLGk9K3I+K2Esbj1pPyt1MihyKTordTIoYSkscz1pP3UyKGEpOnUyKHIpLG89dD8uc3RlcD8/MTtpZighbylyZXR1cm5bXTtvPDAmJihvPS1vLGk9IWkpO2xldCBjPVtdO2Zvcig7K3M8PW47KWMucHVzaChQZShyLHMpKSxzPVh1KHMsbyk7cmV0dXJuIGk/Yy5yZXZlcnNlKCk6Y312YXIgdThhLG1oZT1mKCgpPT57ZDIoKTtjeSgpO2h0KCk7JHkoKTt1OGE9aGhlfSk7ZnVuY3Rpb24gZ2hlKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PV9pKHQ/LmluLGUpLGk9K3I+K2Esbj1pP3RhKGEsdCk6dGEocix0KSxzPWk/dGEocix0KTp0YShhLHQpO24uc2V0SG91cnMoMTUpLHMuc2V0SG91cnMoMTUpO2xldCBvPStzLmdldFRpbWUoKSxjPW4sbD10Py5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IHU9W107Zm9yKDsrYzw9bzspYy5zZXRIb3VycygwKSx1LnB1c2goUGUocixjKSksYz11MChjLGwpLGMuc2V0SG91cnMoMTUpO3JldHVybiBpP3UucmV2ZXJzZSgpOnV9dmFyIGI4YSxiaGU9ZigoKT0+e2QyKCk7UGgoKTtodCgpO2xvKCk7YjhhPWdoZX0pO2Z1bmN0aW9uIGE1KGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PV9pKHQ/LmluLGUpLGk9THkoe3N0YXJ0OnIsZW5kOmF9LHQpLG49W10scz0wO2Zvcig7czxpLmxlbmd0aDspe2xldCBvPWlbcysrXTtuMihvKSYmbi5wdXNoKFBlKHIsbykpfXJldHVybiBufXZhciBrOGEsRHk9ZigoKT0+e2QyKCk7aHQoKTtlcSgpO0FoKCk7azhhPWE1fSk7ZnVuY3Rpb24gaDAoZSx0KXtsZXQgcj1wZShlLHQ/LmluKTtyZXR1cm4gci5zZXREYXRlKDEpLHIuc2V0SG91cnMoMCwwLDAsMCkscn12YXIgQzhhLFJoPWYoKCk9PntGZSgpO0M4YT1oMH0pO2Z1bmN0aW9uIHZoZShlLHQpe2xldCByPWgwKGUsdCksYT1yNShlLHQpO3JldHVybiBhNSh7c3RhcnQ6cixlbmQ6YX0sdCl9dmFyIEQ4YSx4aGU9ZigoKT0+e0R5KCk7Q3koKTtSaCgpO0Q4YT12aGV9KTtmdW5jdGlvbiBBeShlLHQpe2xldCByPXBlKGUsdD8uaW4pLGE9ci5nZXRGdWxsWWVhcigpO3JldHVybiByLnNldEZ1bGxZZWFyKGErMSwwLDApLHIuc2V0SG91cnMoMjMsNTksNTksOTk5KSxyfXZhciBJOGEsdHE9ZigoKT0+e0ZlKCk7SThhPUF5fSk7ZnVuY3Rpb24gaTUoZSx0KXtsZXQgcj1wZShlLHQ/LmluKTtyZXR1cm4gci5zZXRGdWxsWWVhcihyLmdldEZ1bGxZZWFyKCksMCwxKSxyLnNldEhvdXJzKDAsMCwwLDApLHJ9dmFyIEY4YSxFeT1mKCgpPT57RmUoKTtGOGE9aTV9KTtmdW5jdGlvbiB5aGUoZSx0KXtsZXQgcj1pNShlLHQpLGE9QXkoZSx0KTtyZXR1cm4gYTUoe3N0YXJ0OnIsZW5kOmF9LHQpfXZhciBxOGEsd2hlPWYoKCk9PntEeSgpO3RxKCk7RXkoKTtxOGE9eWhlfSk7ZnVuY3Rpb24gTWhlKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PV9pKHQ/LmluLGUpLGk9K3I+K2Esbj1pPytyOithLHM9aT9hOnI7cy5zZXRIb3VycygwLDAsMCwwKSxzLnNldE1vbnRoKDAsMSk7bGV0IG89dD8uc3RlcD8/MTtpZighbylyZXR1cm5bXTtvPDAmJihvPS1vLGk9IWkpO2xldCBjPVtdO2Zvcig7K3M8PW47KWMucHVzaChQZShyLHMpKSxzLnNldEZ1bGxZZWFyKHMuZ2V0RnVsbFllYXIoKStvKTtyZXR1cm4gaT9jLnJldmVyc2UoKTpjfXZhciBXOGEsa2hlPWYoKCk9PntkMigpO2h0KCk7VzhhPU1oZX0pO2Z1bmN0aW9uIFNoZShlLHQpe2xldCByPXBlKGUsdD8uaW4pLGE9ci5nZXRGdWxsWWVhcigpLGk9OStNYXRoLmZsb29yKGEvMTApKjEwO3JldHVybiByLnNldEZ1bGxZZWFyKGksMTEsMzEpLHIuc2V0SG91cnMoMjMsNTksNTksOTk5KSxyfXZhciBaOGEsemhlPWYoKCk9PntGZSgpO1o4YT1TaGV9KTtmdW5jdGlvbiBDaGUoZSx0KXtsZXQgcj1wZShlLHQ/LmluKTtyZXR1cm4gci5zZXRNaW51dGVzKDU5LDU5LDk5OSkscn12YXIgSjhhLFRoZT1mKCgpPT57RmUoKTtKOGE9Q2hlfSk7ZnVuY3Rpb24gSXkoZSx0KXtsZXQgcj1fcigpLGE9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/ci53ZWVrU3RhcnRzT24/P3IubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1wZShlLHQ/LmluKSxuPWkuZ2V0RGF5KCkscz0objxhPy03OjApKzYtKG4tYSk7cmV0dXJuIGkuc2V0RGF0ZShpLmdldERhdGUoKStzKSxpLnNldEhvdXJzKDIzLDU5LDU5LDk5OSksaX12YXIgcmZhLHJxPWYoKCk9Pnt1bigpO0ZlKCk7cmZhPUl5fSk7ZnVuY3Rpb24gX2hlKGUsdCl7cmV0dXJuIEl5KGUsey4uLnQsd2Vla1N0YXJ0c09uOjF9KX12YXIgbmZhLExoZT1mKCgpPT57cnEoKTtuZmE9X2hlfSk7ZnVuY3Rpb24gJGhlKGUsdCl7bGV0IHI9am4oZSx0KSxhPVBlKHQ/LmlufHxlLDApO2Euc2V0RnVsbFllYXIocisxLDAsNCksYS5zZXRIb3VycygwLDAsMCwwKTtsZXQgaT1KYShhLHQpO3JldHVybiBpLnNldE1pbGxpc2Vjb25kcyhpLmdldE1pbGxpc2Vjb25kcygpLTEpLGl9dmFyIGRmYSxEaGU9ZigoKT0+e2h0KCk7ZDAoKTtzMigpO2RmYT0kaGV9KTtmdW5jdGlvbiBBaGUoZSx0KXtsZXQgcj1wZShlLHQ/LmluKTtyZXR1cm4gci5zZXRTZWNvbmRzKDU5LDk5OSkscn12YXIgZmZhLEVoZT1mKCgpPT57RmUoKTtmZmE9QWhlfSk7ZnVuY3Rpb24gSWhlKGUsdCl7bGV0IHI9cGUoZSx0Py5pbiksYT1yLmdldE1vbnRoKCksaT1hLWElMyszO3JldHVybiByLnNldE1vbnRoKGksMCksci5zZXRIb3VycygyMyw1OSw1OSw5OTkpLHJ9dmFyIGdmYSxQaGU9ZigoKT0+e0ZlKCk7Z2ZhPUloZX0pO2Z1bmN0aW9uIE5oZShlLHQpe2xldCByPXBlKGUsdD8uaW4pO3JldHVybiByLnNldE1pbGxpc2Vjb25kcyg5OTkpLHJ9dmFyIHhmYSxGaGU9ZigoKT0+e0ZlKCk7eGZhPU5oZX0pO2Z1bmN0aW9uIE9oZShlKXtyZXR1cm4gdDUoRGF0ZS5ub3coKSxlKX12YXIgTWZhLFJoZT1mKCgpPT57enkoKTtNZmE9T2hlfSk7ZnVuY3Rpb24gQmhlKGUpe2xldCB0PUd0KGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxhPXQuZ2V0TW9udGgoKSxpPXQuZ2V0RGF0ZSgpLG49R3QoZT8uaW4pO3JldHVybiBuLnNldEZ1bGxZZWFyKHIsYSxpKzEpLG4uc2V0SG91cnMoMjMsNTksNTksOTk5KSxlPy5pbj9lLmluKG4pOm59dmFyIHpmYSxIaGU9ZigoKT0+e2RpKCk7emZhPUJoZX0pO2Z1bmN0aW9uIHFoZShlKXtsZXQgdD1HdChlPy5pbikscj1QZShlPy5pbiwwKTtyZXR1cm4gci5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCksdC5nZXRNb250aCgpLHQuZ2V0RGF0ZSgpLTEpLHIuc2V0SG91cnMoMjMsNTksNTksOTk5KSxyfXZhciBMZmEsamhlPWYoKCk9PntodCgpO2RpKCk7TGZhPXFoZX0pO3ZhciBEN3IsVmhlLFVoZT1mKCgpPT57RDdyPXtsZXNzVGhhblhTZWNvbmRzOntvbmU6Imxlc3MgdGhhbiBhIHNlY29uZCIsb3RoZXI6Imxlc3MgdGhhbiB7e2NvdW50fX0gc2Vjb25kcyJ9LHhTZWNvbmRzOntvbmU6IjEgc2Vjb25kIixvdGhlcjoie3tjb3VudH19IHNlY29uZHMifSxoYWxmQU1pbnV0ZToiaGFsZiBhIG1pbnV0ZSIsbGVzc1RoYW5YTWludXRlczp7b25lOiJsZXNzIHRoYW4gYSBtaW51dGUiLG90aGVyOiJsZXNzIHRoYW4ge3tjb3VudH19IG1pbnV0ZXMifSx4TWludXRlczp7b25lOiIxIG1pbnV0ZSIsb3RoZXI6Int7Y291bnR9fSBtaW51dGVzIn0sYWJvdXRYSG91cnM6e29uZToiYWJvdXQgMSBob3VyIixvdGhlcjoiYWJvdXQge3tjb3VudH19IGhvdXJzIn0seEhvdXJzOntvbmU6IjEgaG91ciIsb3RoZXI6Int7Y291bnR9fSBob3VycyJ9LHhEYXlzOntvbmU6IjEgZGF5IixvdGhlcjoie3tjb3VudH19IGRheXMifSxhYm91dFhXZWVrczp7b25lOiJhYm91dCAxIHdlZWsiLG90aGVyOiJhYm91dCB7e2NvdW50fX0gd2Vla3MifSx4V2Vla3M6e29uZToiMSB3ZWVrIixvdGhlcjoie3tjb3VudH19IHdlZWtzIn0sYWJvdXRYTW9udGhzOntvbmU6ImFib3V0IDEgbW9udGgiLG90aGVyOiJhYm91dCB7e2NvdW50fX0gbW9udGhzIn0seE1vbnRoczp7b25lOiIxIG1vbnRoIixvdGhlcjoie3tjb3VudH19IG1vbnRocyJ9LGFib3V0WFllYXJzOntvbmU6ImFib3V0IDEgeWVhciIsb3RoZXI6ImFib3V0IHt7Y291bnR9fSB5ZWFycyJ9LHhZZWFyczp7b25lOiIxIHllYXIiLG90aGVyOiJ7e2NvdW50fX0geWVhcnMifSxvdmVyWFllYXJzOntvbmU6Im92ZXIgMSB5ZWFyIixvdGhlcjoib3ZlciB7e2NvdW50fX0geWVhcnMifSxhbG1vc3RYWWVhcnM6e29uZToiYWxtb3N0IDEgeWVhciIsb3RoZXI6ImFsbW9zdCB7e2NvdW50fX0geWVhcnMifX0sVmhlPShlLHQscik9PntsZXQgYSxpPUQ3cltlXTtyZXR1cm4gdHlwZW9mIGk9PSJzdHJpbmciP2E9aTp0PT09MT9hPWkub25lOmE9aS5vdGhlci5yZXBsYWNlKCJ7e2NvdW50fX0iLHQudG9TdHJpbmcoKSkscj8uYWRkU3VmZml4P3IuY29tcGFyaXNvbiYmci5jb21wYXJpc29uPjA/ImluICIrYTphKyIgYWdvIjphfX0pO2Z1bmN0aW9uIFB5KGUpe3JldHVybih0PXt9KT0+e2xldCByPXQud2lkdGg/U3RyaW5nKHQud2lkdGgpOmUuZGVmYXVsdFdpZHRoO3JldHVybiBlLmZvcm1hdHNbcl18fGUuZm9ybWF0c1tlLmRlZmF1bHRXaWR0aF19fXZhciBXaGU9ZigoKT0+e30pO3ZhciBBN3IsRTdyLEk3cixHaGUsWWhlPWYoKCk9PntXaGUoKTtBN3I9e2Z1bGw6IkVFRUUsIE1NTU0gZG8sIHkiLGxvbmc6Ik1NTU0gZG8sIHkiLG1lZGl1bToiTU1NIGQsIHkiLHNob3J0OiJNTS9kZC95eXl5In0sRTdyPXtmdWxsOiJoOm1tOnNzIGEgenp6eiIsbG9uZzoiaDptbTpzcyBhIHoiLG1lZGl1bToiaDptbTpzcyBhIixzaG9ydDoiaDptbSBhIn0sSTdyPXtmdWxsOiJ7e2RhdGV9fSAnYXQnIHt7dGltZX19Iixsb25nOiJ7e2RhdGV9fSAnYXQnIHt7dGltZX19IixtZWRpdW06Int7ZGF0ZX19LCB7e3RpbWV9fSIsc2hvcnQ6Int7ZGF0ZX19LCB7e3RpbWV9fSJ9LEdoZT17ZGF0ZTpQeSh7Zm9ybWF0czpBN3IsZGVmYXVsdFdpZHRoOiJmdWxsIn0pLHRpbWU6UHkoe2Zvcm1hdHM6RTdyLGRlZmF1bHRXaWR0aDoiZnVsbCJ9KSxkYXRlVGltZTpQeSh7Zm9ybWF0czpJN3IsZGVmYXVsdFdpZHRoOiJmdWxsIn0pfX0pO3ZhciBQN3IsWmhlLFhoZT1mKCgpPT57UDdyPXtsYXN0V2VlazoiJ2xhc3QnIGVlZWUgJ2F0JyBwIix5ZXN0ZXJkYXk6Iid5ZXN0ZXJkYXkgYXQnIHAiLHRvZGF5OiIndG9kYXkgYXQnIHAiLHRvbW9ycm93OiIndG9tb3Jyb3cgYXQnIHAiLG5leHRXZWVrOiJlZWVlICdhdCcgcCIsb3RoZXI6IlAifSxaaGU9KGUsdCxyLGEpPT5QN3JbZV19KTtmdW5jdGlvbiBuNShlKXtyZXR1cm4odCxyKT0+e2xldCBhPXI/LmNvbnRleHQ/U3RyaW5nKHIuY29udGV4dCk6InN0YW5kYWxvbmUiLGk7aWYoYT09PSJmb3JtYXR0aW5nIiYmZS5mb3JtYXR0aW5nVmFsdWVzKXtsZXQgcz1lLmRlZmF1bHRGb3JtYXR0aW5nV2lkdGh8fGUuZGVmYXVsdFdpZHRoLG89cj8ud2lkdGg/U3RyaW5nKHIud2lkdGgpOnM7aT1lLmZvcm1hdHRpbmdWYWx1ZXNbb118fGUuZm9ybWF0dGluZ1ZhbHVlc1tzXX1lbHNle2xldCBzPWUuZGVmYXVsdFdpZHRoLG89cj8ud2lkdGg/U3RyaW5nKHIud2lkdGgpOmUuZGVmYXVsdFdpZHRoO2k9ZS52YWx1ZXNbb118fGUudmFsdWVzW3NdfWxldCBuPWUuYXJndW1lbnRDYWxsYmFjaz9lLmFyZ3VtZW50Q2FsbGJhY2sodCk6dDtyZXR1cm4gaVtuXX19dmFyIFFoZT1mKCgpPT57fSk7dmFyIE43cixGN3IsTzdyLFI3cixCN3IsSDdyLHE3cixKaGUsS2hlPWYoKCk9PntRaGUoKTtON3I9e25hcnJvdzpbIkIiLCJBIl0sYWJicmV2aWF0ZWQ6WyJCQyIsIkFEIl0sd2lkZTpbIkJlZm9yZSBDaHJpc3QiLCJBbm5vIERvbWluaSJdfSxGN3I9e25hcnJvdzpbIjEiLCIyIiwiMyIsIjQiXSxhYmJyZXZpYXRlZDpbIlExIiwiUTIiLCJRMyIsIlE0Il0sd2lkZTpbIjFzdCBxdWFydGVyIiwiMm5kIHF1YXJ0ZXIiLCIzcmQgcXVhcnRlciIsIjR0aCBxdWFydGVyIl19LE83cj17bmFycm93OlsiSiIsIkYiLCJNIiwiQSIsIk0iLCJKIiwiSiIsIkEiLCJTIiwiTyIsIk4iLCJEIl0sYWJicmV2aWF0ZWQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSx3aWRlOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXX0sUjdyPXtuYXJyb3c6WyJTIiwiTSIsIlQiLCJXIiwiVCIsIkYiLCJTIl0sc2hvcnQ6WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLGFiYnJldmlhdGVkOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sd2lkZTpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il19LEI3cj17bmFycm93OnthbToiYSIscG06InAiLG1pZG5pZ2h0OiJtaSIsbm9vbjoibiIsbW9ybmluZzoibW9ybmluZyIsYWZ0ZXJub29uOiJhZnRlcm5vb24iLGV2ZW5pbmc6ImV2ZW5pbmciLG5pZ2h0OiJuaWdodCJ9LGFiYnJldmlhdGVkOnthbToiQU0iLHBtOiJQTSIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sd2lkZTp7YW06ImEubS4iLHBtOiJwLm0uIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifX0sSDdyPXtuYXJyb3c6e2FtOiJhIixwbToicCIsbWlkbmlnaHQ6Im1pIixub29uOiJuIixtb3JuaW5nOiJpbiB0aGUgbW9ybmluZyIsYWZ0ZXJub29uOiJpbiB0aGUgYWZ0ZXJub29uIixldmVuaW5nOiJpbiB0aGUgZXZlbmluZyIsbmlnaHQ6ImF0IG5pZ2h0In0sYWJicmV2aWF0ZWQ6e2FtOiJBTSIscG06IlBNIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6ImluIHRoZSBtb3JuaW5nIixhZnRlcm5vb246ImluIHRoZSBhZnRlcm5vb24iLGV2ZW5pbmc6ImluIHRoZSBldmVuaW5nIixuaWdodDoiYXQgbmlnaHQifSx3aWRlOnthbToiYS5tLiIscG06InAubS4iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoiaW4gdGhlIG1vcm5pbmciLGFmdGVybm9vbjoiaW4gdGhlIGFmdGVybm9vbiIsZXZlbmluZzoiaW4gdGhlIGV2ZW5pbmciLG5pZ2h0OiJhdCBuaWdodCJ9fSxxN3I9KGUsdCk9PntsZXQgcj1OdW1iZXIoZSksYT1yJTEwMDtpZihhPjIwfHxhPDEwKXN3aXRjaChhJTEwKXtjYXNlIDE6cmV0dXJuIHIrInN0IjtjYXNlIDI6cmV0dXJuIHIrIm5kIjtjYXNlIDM6cmV0dXJuIHIrInJkIn1yZXR1cm4gcisidGgifSxKaGU9e29yZGluYWxOdW1iZXI6cTdyLGVyYTpuNSh7dmFsdWVzOk43cixkZWZhdWx0V2lkdGg6IndpZGUifSkscXVhcnRlcjpuNSh7dmFsdWVzOkY3cixkZWZhdWx0V2lkdGg6IndpZGUiLGFyZ3VtZW50Q2FsbGJhY2s6ZT0+ZS0xfSksbW9udGg6bjUoe3ZhbHVlczpPN3IsZGVmYXVsdFdpZHRoOiJ3aWRlIn0pLGRheTpuNSh7dmFsdWVzOlI3cixkZWZhdWx0V2lkdGg6IndpZGUifSksZGF5UGVyaW9kOm41KHt2YWx1ZXM6QjdyLGRlZmF1bHRXaWR0aDoid2lkZSIsZm9ybWF0dGluZ1ZhbHVlczpIN3IsZGVmYXVsdEZvcm1hdHRpbmdXaWR0aDoid2lkZSJ9KX19KTtmdW5jdGlvbiBzNShlKXtyZXR1cm4odCxyPXt9KT0+e2xldCBhPXIud2lkdGgsaT1hJiZlLm1hdGNoUGF0dGVybnNbYV18fGUubWF0Y2hQYXR0ZXJuc1tlLmRlZmF1bHRNYXRjaFdpZHRoXSxuPXQubWF0Y2goaSk7aWYoIW4pcmV0dXJuIG51bGw7bGV0IHM9blswXSxvPWEmJmUucGFyc2VQYXR0ZXJuc1thXXx8ZS5wYXJzZVBhdHRlcm5zW2UuZGVmYXVsdFBhcnNlV2lkdGhdLGM9QXJyYXkuaXNBcnJheShvKT9WN3IobyxkPT5kLnRlc3QocykpOmo3cihvLGQ9PmQudGVzdChzKSksbDtsPWUudmFsdWVDYWxsYmFjaz9lLnZhbHVlQ2FsbGJhY2soYyk6YyxsPXIudmFsdWVDYWxsYmFjaz9yLnZhbHVlQ2FsbGJhY2sobCk6bDtsZXQgdT10LnNsaWNlKHMubGVuZ3RoKTtyZXR1cm57dmFsdWU6bCxyZXN0OnV9fX1mdW5jdGlvbiBqN3IoZSx0KXtmb3IobGV0IHIgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmdChlW3JdKSlyZXR1cm4gcn1mdW5jdGlvbiBWN3IoZSx0KXtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKylpZih0KGVbcl0pKXJldHVybiByfXZhciBlbWU9ZigoKT0+e30pO2Z1bmN0aW9uIHRtZShlKXtyZXR1cm4odCxyPXt9KT0+e2xldCBhPXQubWF0Y2goZS5tYXRjaFBhdHRlcm4pO2lmKCFhKXJldHVybiBudWxsO2xldCBpPWFbMF0sbj10Lm1hdGNoKGUucGFyc2VQYXR0ZXJuKTtpZighbilyZXR1cm4gbnVsbDtsZXQgcz1lLnZhbHVlQ2FsbGJhY2s/ZS52YWx1ZUNhbGxiYWNrKG5bMF0pOm5bMF07cz1yLnZhbHVlQ2FsbGJhY2s/ci52YWx1ZUNhbGxiYWNrKHMpOnM7bGV0IG89dC5zbGljZShpLmxlbmd0aCk7cmV0dXJue3ZhbHVlOnMscmVzdDpvfX19dmFyIHJtZT1mKCgpPT57fSk7dmFyIFU3cixXN3IsRzdyLFk3cixaN3IsWDdyLFE3cixKN3IsSzdyLGU5cix0OXIscjlyLGFtZSxpbWU9ZigoKT0+e2VtZSgpO3JtZSgpO1U3cj0vXihcZCspKHRofHN0fG5kfHJkKT8vaSxXN3I9L1xkKy9pLEc3cj17bmFycm93Oi9eKGJ8YSkvaSxhYmJyZXZpYXRlZDovXihiXC4/XHM/Y1wuP3xiXC4/XHM/Y1wuP1xzP2VcLj98YVwuP1xzP2RcLj98Y1wuP1xzP2VcLj8pL2ksd2lkZTovXihiZWZvcmUgY2hyaXN0fGJlZm9yZSBjb21tb24gZXJhfGFubm8gZG9taW5pfGNvbW1vbiBlcmEpL2l9LFk3cj17YW55OlsvXmIvaSwvXihhfGMpL2ldfSxaN3I9e25hcnJvdzovXlsxMjM0XS9pLGFiYnJldmlhdGVkOi9ecVsxMjM0XS9pLHdpZGU6L15bMTIzNF0odGh8c3R8bmR8cmQpPyBxdWFydGVyL2l9LFg3cj17YW55OlsvMS9pLC8yL2ksLzMvaSwvNC9pXX0sUTdyPXtuYXJyb3c6L15bamZtYXNvbmRdL2ksYWJicmV2aWF0ZWQ6L14oamFufGZlYnxtYXJ8YXByfG1heXxqdW58anVsfGF1Z3xzZXB8b2N0fG5vdnxkZWMpL2ksd2lkZTovXihqYW51YXJ5fGZlYnJ1YXJ5fG1hcmNofGFwcmlsfG1heXxqdW5lfGp1bHl8YXVndXN0fHNlcHRlbWJlcnxvY3RvYmVyfG5vdmVtYmVyfGRlY2VtYmVyKS9pfSxKN3I9e25hcnJvdzpbL15qL2ksL15mL2ksL15tL2ksL15hL2ksL15tL2ksL15qL2ksL15qL2ksL15hL2ksL15zL2ksL15vL2ksL15uL2ksL15kL2ldLGFueTpbL15qYS9pLC9eZi9pLC9ebWFyL2ksL15hcC9pLC9ebWF5L2ksL15qdW4vaSwvXmp1bC9pLC9eYXUvaSwvXnMvaSwvXm8vaSwvXm4vaSwvXmQvaV19LEs3cj17bmFycm93Oi9eW3NtdHdmXS9pLHNob3J0Oi9eKHN1fG1vfHR1fHdlfHRofGZyfHNhKS9pLGFiYnJldmlhdGVkOi9eKHN1bnxtb258dHVlfHdlZHx0aHV8ZnJpfHNhdCkvaSx3aWRlOi9eKHN1bmRheXxtb25kYXl8dHVlc2RheXx3ZWRuZXNkYXl8dGh1cnNkYXl8ZnJpZGF5fHNhdHVyZGF5KS9pfSxlOXI9e25hcnJvdzpbL15zL2ksL15tL2ksL150L2ksL153L2ksL150L2ksL15mL2ksL15zL2ldLGFueTpbL15zdS9pLC9ebS9pLC9edHUvaSwvXncvaSwvXnRoL2ksL15mL2ksL15zYS9pXX0sdDlyPXtuYXJyb3c6L14oYXxwfG1pfG58KGluIHRoZXxhdCkgKG1vcm5pbmd8YWZ0ZXJub29ufGV2ZW5pbmd8bmlnaHQpKS9pLGFueTovXihbYXBdXC4/XHM/bVwuP3xtaWRuaWdodHxub29ufChpbiB0aGV8YXQpIChtb3JuaW5nfGFmdGVybm9vbnxldmVuaW5nfG5pZ2h0KSkvaX0scjlyPXthbnk6e2FtOi9eYS9pLHBtOi9ecC9pLG1pZG5pZ2h0Oi9ebWkvaSxub29uOi9ebm8vaSxtb3JuaW5nOi9tb3JuaW5nL2ksYWZ0ZXJub29uOi9hZnRlcm5vb24vaSxldmVuaW5nOi9ldmVuaW5nL2ksbmlnaHQ6L25pZ2h0L2l9fSxhbWU9e29yZGluYWxOdW1iZXI6dG1lKHttYXRjaFBhdHRlcm46VTdyLHBhcnNlUGF0dGVybjpXN3IsdmFsdWVDYWxsYmFjazplPT5wYXJzZUludChlLDEwKX0pLGVyYTpzNSh7bWF0Y2hQYXR0ZXJuczpHN3IsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6WTdyLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSkscXVhcnRlcjpzNSh7bWF0Y2hQYXR0ZXJuczpaN3IsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6WDdyLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkiLHZhbHVlQ2FsbGJhY2s6ZT0+ZSsxfSksbW9udGg6czUoe21hdGNoUGF0dGVybnM6UTdyLGRlZmF1bHRNYXRjaFdpZHRoOiJ3aWRlIixwYXJzZVBhdHRlcm5zOko3cixkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pLGRheTpzNSh7bWF0Y2hQYXR0ZXJuczpLN3IsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6ZTlyLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSksZGF5UGVyaW9kOnM1KHttYXRjaFBhdHRlcm5zOnQ5cixkZWZhdWx0TWF0Y2hXaWR0aDoiYW55IixwYXJzZVBhdHRlcm5zOnI5cixkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pfX0pO3ZhciB4MSxaZmEsbm1lPWYoKCk9PntVaGUoKTtZaGUoKTtYaGUoKTtLaGUoKTtpbWUoKTt4MT17Y29kZToiZW4tVVMiLGZvcm1hdERpc3RhbmNlOlZoZSxmb3JtYXRMb25nOkdoZSxmb3JtYXRSZWxhdGl2ZTpaaGUsbG9jYWxpemU6SmhlLG1hdGNoOmFtZSxvcHRpb25zOnt3ZWVrU3RhcnRzT246MCxmaXJzdFdlZWtDb250YWluc0RhdGU6MX19LFpmYT14MX0pO3ZhciBOMz1mKCgpPT57bm1lKCl9KTtmdW5jdGlvbiBOeShlLHQpe2xldCByPXBlKGUsdD8uaW4pO3JldHVybiBUaShyLGk1KHIpKSsxfXZhciByaGEsYXE9ZigoKT0+e0NsKCk7RXkoKTtGZSgpO3JoYT1OeX0pO2Z1bmN0aW9uIG81KGUsdCl7bGV0IHI9cGUoZSx0Py5pbiksYT0rSmEociktK1AxKHIpO3JldHVybiBNYXRoLnJvdW5kKGEvcjIpKzF9dmFyIGxoYSxGeT1mKCgpPT57T3QoKTtzMigpO1l1KCk7RmUoKTtsaGE9bzV9KTtmdW5jdGlvbiBtMChlLHQpe2xldCByPXBlKGUsdD8uaW4pLGE9ci5nZXRGdWxsWWVhcigpLGk9X3IoKSxuPXQ/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/dD8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P2kuZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9pLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLHM9UGUodD8uaW58fGUsMCk7cy5zZXRGdWxsWWVhcihhKzEsMCxuKSxzLnNldEhvdXJzKDAsMCwwLDApO2xldCBvPXRhKHMsdCksYz1QZSh0Py5pbnx8ZSwwKTtjLnNldEZ1bGxZZWFyKGEsMCxuKSxjLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPXRhKGMsdCk7cmV0dXJuK3I+PStvP2ErMTorcj49K2w/YTphLTF9dmFyIGhoYSxCaD1mKCgpPT57dW4oKTtodCgpO2xvKCk7RmUoKTtoaGE9bTB9KTtmdW5jdGlvbiBGMyhlLHQpe2xldCByPV9yKCksYT10Py5maXJzdFdlZWtDb250YWluc0RhdGU/P3Q/LmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/MSxpPW0wKGUsdCksbj1QZSh0Py5pbnx8ZSwwKTtyZXR1cm4gbi5zZXRGdWxsWWVhcihpLDAsYSksbi5zZXRIb3VycygwLDAsMCwwKSx0YShuLHQpfXZhciB5aGEsT3k9ZigoKT0+e3VuKCk7aHQoKTtCaCgpO2xvKCk7eWhhPUYzfSk7ZnVuY3Rpb24gbDUoZSx0KXtsZXQgcj1wZShlLHQ/LmluKSxhPSt0YShyLHQpLStGMyhyLHQpO3JldHVybiBNYXRoLnJvdW5kKGEvcjIpKzF9dmFyIENoYSxSeT1mKCgpPT57T3QoKTtsbygpO095KCk7RmUoKTtDaGE9bDV9KTtmdW5jdGlvbiBhdChlLHQpe2xldCByPWU8MD8iLSI6IiIsYT1NYXRoLmFicyhlKS50b1N0cmluZygpLnBhZFN0YXJ0KHQsIjAiKTtyZXR1cm4gcithfXZhciBPMz1mKCgpPT57fSk7dmFyIE4xLGlxPWYoKCk9PntPMygpO04xPXt5KGUsdCl7bGV0IHI9ZS5nZXRGdWxsWWVhcigpLGE9cj4wP3I6MS1yO3JldHVybiBhdCh0PT09Inl5Ij9hJTEwMDphLHQubGVuZ3RoKX0sTShlLHQpe2xldCByPWUuZ2V0TW9udGgoKTtyZXR1cm4gdD09PSJNIj9TdHJpbmcocisxKTphdChyKzEsMil9LGQoZSx0KXtyZXR1cm4gYXQoZS5nZXREYXRlKCksdC5sZW5ndGgpfSxhKGUsdCl7bGV0IHI9ZS5nZXRIb3VycygpLzEyPj0xPyJwbSI6ImFtIjtzd2l0Y2godCl7Y2FzZSJhIjpjYXNlImFhIjpyZXR1cm4gci50b1VwcGVyQ2FzZSgpO2Nhc2UiYWFhIjpyZXR1cm4gcjtjYXNlImFhYWFhIjpyZXR1cm4gclswXTtkZWZhdWx0OnJldHVybiByPT09ImFtIj8iYS5tLiI6InAubS4ifX0saChlLHQpe3JldHVybiBhdChlLmdldEhvdXJzKCklMTJ8fDEyLHQubGVuZ3RoKX0sSChlLHQpe3JldHVybiBhdChlLmdldEhvdXJzKCksdC5sZW5ndGgpfSxtKGUsdCl7cmV0dXJuIGF0KGUuZ2V0TWludXRlcygpLHQubGVuZ3RoKX0scyhlLHQpe3JldHVybiBhdChlLmdldFNlY29uZHMoKSx0Lmxlbmd0aCl9LFMoZSx0KXtsZXQgcj10Lmxlbmd0aCxhPWUuZ2V0TWlsbGlzZWNvbmRzKCksaT1NYXRoLnRydW5jKGEqTWF0aC5wb3coMTAsci0zKSk7cmV0dXJuIGF0KGksdC5sZW5ndGgpfX19KTtmdW5jdGlvbiBzbWUoZSx0PSIiKXtsZXQgcj1lPjA/Ii0iOiIrIixhPU1hdGguYWJzKGUpLGk9TWF0aC50cnVuYyhhLzYwKSxuPWElNjA7cmV0dXJuIG49PT0wP3IrU3RyaW5nKGkpOnIrU3RyaW5nKGkpK3QrYXQobiwyKX1mdW5jdGlvbiBvbWUoZSx0KXtyZXR1cm4gZSU2MD09PTA/KGU+MD8iLSI6IisiKSthdChNYXRoLmFicyhlKS82MCwyKTpSMyhlLHQpfWZ1bmN0aW9uIFIzKGUsdD0iIil7bGV0IHI9ZT4wPyItIjoiKyIsYT1NYXRoLmFicyhlKSxpPWF0KE1hdGgudHJ1bmMoYS82MCksMiksbj1hdChhJTYwLDIpO3JldHVybiByK2krdCtufXZhciBjNSxIaCxsbWU9ZigoKT0+e2FxKCk7RnkoKTtkMCgpO1J5KCk7QmgoKTtPMygpO2lxKCk7YzU9e2FtOiJhbSIscG06InBtIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifSxIaD17RzpmdW5jdGlvbihlLHQscil7bGV0IGE9ZS5nZXRGdWxsWWVhcigpPjA/MTowO3N3aXRjaCh0KXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gci5lcmEoYSx7d2lkdGg6ImFiYnJldmlhdGVkIn0pO2Nhc2UiR0dHR0ciOnJldHVybiByLmVyYShhLHt3aWR0aDoibmFycm93In0pO2RlZmF1bHQ6cmV0dXJuIHIuZXJhKGEse3dpZHRoOiJ3aWRlIn0pfX0seTpmdW5jdGlvbihlLHQscil7aWYodD09PSJ5byIpe2xldCBhPWUuZ2V0RnVsbFllYXIoKSxpPWE+MD9hOjEtYTtyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6InllYXIifSl9cmV0dXJuIE4xLnkoZSx0KX0sWTpmdW5jdGlvbihlLHQscixhKXtsZXQgaT1tMChlLGEpLG49aT4wP2k6MS1pO2lmKHQ9PT0iWVkiKXtsZXQgcz1uJTEwMDtyZXR1cm4gYXQocywyKX1yZXR1cm4gdD09PSJZbyI/ci5vcmRpbmFsTnVtYmVyKG4se3VuaXQ6InllYXIifSk6YXQobix0Lmxlbmd0aCl9LFI6ZnVuY3Rpb24oZSx0KXtsZXQgcj1qbihlKTtyZXR1cm4gYXQocix0Lmxlbmd0aCl9LHU6ZnVuY3Rpb24oZSx0KXtsZXQgcj1lLmdldEZ1bGxZZWFyKCk7cmV0dXJuIGF0KHIsdC5sZW5ndGgpfSxROmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1NYXRoLmNlaWwoKGUuZ2V0TW9udGgoKSsxKS8zKTtzd2l0Y2godCl7Y2FzZSJRIjpyZXR1cm4gU3RyaW5nKGEpO2Nhc2UiUVEiOnJldHVybiBhdChhLDIpO2Nhc2UiUW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoicXVhcnRlciJ9KTtjYXNlIlFRUSI6cmV0dXJuIHIucXVhcnRlcihhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJRUVFRUSI6cmV0dXJuIHIucXVhcnRlcihhLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIucXVhcnRlcihhLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LHE6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPU1hdGguY2VpbCgoZS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaCh0KXtjYXNlInEiOnJldHVybiBTdHJpbmcoYSk7Y2FzZSJxcSI6cmV0dXJuIGF0KGEsMik7Y2FzZSJxbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihhLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UicXFxIjpyZXR1cm4gci5xdWFydGVyKGEse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlInFxcXFxIjpyZXR1cm4gci5xdWFydGVyKGEse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gci5xdWFydGVyKGEse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX0sTTpmdW5jdGlvbihlLHQscil7bGV0IGE9ZS5nZXRNb250aCgpO3N3aXRjaCh0KXtjYXNlIk0iOmNhc2UiTU0iOnJldHVybiBOMS5NKGUsdCk7Y2FzZSJNbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihhKzEse3VuaXQ6Im1vbnRoIn0pO2Nhc2UiTU1NIjpyZXR1cm4gci5tb250aChhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJNTU1NTSI6cmV0dXJuIHIubW9udGgoYSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLm1vbnRoKGEse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sTDpmdW5jdGlvbihlLHQscil7bGV0IGE9ZS5nZXRNb250aCgpO3N3aXRjaCh0KXtjYXNlIkwiOnJldHVybiBTdHJpbmcoYSsxKTtjYXNlIkxMIjpyZXR1cm4gYXQoYSsxLDIpO2Nhc2UiTG8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoYSsxLHt1bml0OiJtb250aCJ9KTtjYXNlIkxMTCI6cmV0dXJuIHIubW9udGgoYSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiTExMTEwiOnJldHVybiByLm1vbnRoKGEse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gci5tb250aChhLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LHc6ZnVuY3Rpb24oZSx0LHIsYSl7bGV0IGk9bDUoZSxhKTtyZXR1cm4gdD09PSJ3byI/ci5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6IndlZWsifSk6YXQoaSx0Lmxlbmd0aCl9LEk6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPW81KGUpO3JldHVybiB0PT09IklvIj9yLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoid2VlayJ9KTphdChhLHQubGVuZ3RoKX0sZDpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9PT0iZG8iP3Iub3JkaW5hbE51bWJlcihlLmdldERhdGUoKSx7dW5pdDoiZGF0ZSJ9KTpOMS5kKGUsdCl9LEQ6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPU55KGUpO3JldHVybiB0PT09IkRvIj9yLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoiZGF5T2ZZZWFyIn0pOmF0KGEsdC5sZW5ndGgpfSxFOmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1lLmdldERheSgpO3N3aXRjaCh0KXtjYXNlIkUiOmNhc2UiRUUiOmNhc2UiRUVFIjpyZXR1cm4gci5kYXkoYSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiRUVFRUUiOnJldHVybiByLmRheShhLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiRUVFRUVFIjpyZXR1cm4gci5kYXkoYSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIuZGF5KGEse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sZTpmdW5jdGlvbihlLHQscixhKXtsZXQgaT1lLmdldERheSgpLG49KGktYS53ZWVrU3RhcnRzT24rOCklN3x8Nztzd2l0Y2godCl7Y2FzZSJlIjpyZXR1cm4gU3RyaW5nKG4pO2Nhc2UiZWUiOnJldHVybiBhdChuLDIpO2Nhc2UiZW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIobix7dW5pdDoiZGF5In0pO2Nhc2UiZWVlIjpyZXR1cm4gci5kYXkoaSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWUiOnJldHVybiByLmRheShpLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWVlIjpyZXR1cm4gci5kYXkoaSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIuZGF5KGkse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sYzpmdW5jdGlvbihlLHQscixhKXtsZXQgaT1lLmdldERheSgpLG49KGktYS53ZWVrU3RhcnRzT24rOCklN3x8Nztzd2l0Y2godCl7Y2FzZSJjIjpyZXR1cm4gU3RyaW5nKG4pO2Nhc2UiY2MiOnJldHVybiBhdChuLHQubGVuZ3RoKTtjYXNlImNvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKG4se3VuaXQ6ImRheSJ9KTtjYXNlImNjYyI6cmV0dXJuIHIuZGF5KGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjIjpyZXR1cm4gci5kYXkoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjYyI6cmV0dXJuIHIuZGF5KGkse3dpZHRoOiJzaG9ydCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiByLmRheShpLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LGk6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0RGF5KCksaT1hPT09MD83OmE7c3dpdGNoKHQpe2Nhc2UiaSI6cmV0dXJuIFN0cmluZyhpKTtjYXNlImlpIjpyZXR1cm4gYXQoaSx0Lmxlbmd0aCk7Y2FzZSJpbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihpLHt1bml0OiJkYXkifSk7Y2FzZSJpaWkiOnJldHVybiByLmRheShhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJpaWlpaSI6cmV0dXJuIHIuZGF5KGEse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJpaWlpaWkiOnJldHVybiByLmRheShhLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXkoYSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSxhOmZ1bmN0aW9uKGUsdCxyKXtsZXQgaT1lLmdldEhvdXJzKCkvMTI+PTE/InBtIjoiYW0iO3N3aXRjaCh0KXtjYXNlImEiOmNhc2UiYWEiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJhYWEiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkudG9Mb3dlckNhc2UoKTtjYXNlImFhYWFhIjpyZXR1cm4gci5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LGI6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0SG91cnMoKSxpO3N3aXRjaChhPT09MTI/aT1jNS5ub29uOmE9PT0wP2k9YzUubWlkbmlnaHQ6aT1hLzEyPj0xPyJwbSI6ImFtIix0KXtjYXNlImIiOmNhc2UiYmIiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJiYmIiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkudG9Mb3dlckNhc2UoKTtjYXNlImJiYmJiIjpyZXR1cm4gci5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LEI6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0SG91cnMoKSxpO3N3aXRjaChhPj0xNz9pPWM1LmV2ZW5pbmc6YT49MTI/aT1jNS5hZnRlcm5vb246YT49ND9pPWM1Lm1vcm5pbmc6aT1jNS5uaWdodCx0KXtjYXNlIkIiOmNhc2UiQkIiOmNhc2UiQkJCIjpyZXR1cm4gci5kYXlQZXJpb2QoaSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiQkJCQkIiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIuZGF5UGVyaW9kKGkse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0saDpmdW5jdGlvbihlLHQscil7aWYodD09PSJobyIpe2xldCBhPWUuZ2V0SG91cnMoKSUxMjtyZXR1cm4gYT09PTAmJihhPTEyKSxyLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoiaG91ciJ9KX1yZXR1cm4gTjEuaChlLHQpfSxIOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdD09PSJIbyI/ci5vcmRpbmFsTnVtYmVyKGUuZ2V0SG91cnMoKSx7dW5pdDoiaG91ciJ9KTpOMS5IKGUsdCl9LEs6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0SG91cnMoKSUxMjtyZXR1cm4gdD09PSJLbyI/ci5vcmRpbmFsTnVtYmVyKGEse3VuaXQ6ImhvdXIifSk6YXQoYSx0Lmxlbmd0aCl9LGs6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0SG91cnMoKTtyZXR1cm4gYT09PTAmJihhPTI0KSx0PT09ImtvIj9yLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoiaG91ciJ9KTphdChhLHQubGVuZ3RoKX0sbTpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9PT0ibW8iP3Iub3JkaW5hbE51bWJlcihlLmdldE1pbnV0ZXMoKSx7dW5pdDoibWludXRlIn0pOk4xLm0oZSx0KX0sczpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9PT0ic28iP3Iub3JkaW5hbE51bWJlcihlLmdldFNlY29uZHMoKSx7dW5pdDoic2Vjb25kIn0pOk4xLnMoZSx0KX0sUzpmdW5jdGlvbihlLHQpe3JldHVybiBOMS5TKGUsdCl9LFg6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0VGltZXpvbmVPZmZzZXQoKTtpZihhPT09MClyZXR1cm4iWiI7c3dpdGNoKHQpe2Nhc2UiWCI6cmV0dXJuIG9tZShhKTtjYXNlIlhYWFgiOmNhc2UiWFgiOnJldHVybiBSMyhhKTtkZWZhdWx0OnJldHVybiBSMyhhLCI6Iil9fSx4OmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2UieCI6cmV0dXJuIG9tZShhKTtjYXNlInh4eHgiOmNhc2UieHgiOnJldHVybiBSMyhhKTtkZWZhdWx0OnJldHVybiBSMyhhLCI6Iil9fSxPOmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2UiTyI6Y2FzZSJPTyI6Y2FzZSJPT08iOnJldHVybiJHTVQiK3NtZShhLCI6Iik7ZGVmYXVsdDpyZXR1cm4iR01UIitSMyhhLCI6Iil9fSx6OmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2UieiI6Y2FzZSJ6eiI6Y2FzZSJ6enoiOnJldHVybiJHTVQiK3NtZShhLCI6Iik7ZGVmYXVsdDpyZXR1cm4iR01UIitSMyhhLCI6Iil9fSx0OmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1NYXRoLnRydW5jKCtlLzFlMyk7cmV0dXJuIGF0KGEsdC5sZW5ndGgpfSxUOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gYXQoK2UsdC5sZW5ndGgpfX19KTt2YXIgY21lLGRtZSxhOXIsZzAsbnE9ZigoKT0+e2NtZT0oZSx0KT0+e3N3aXRjaChlKXtjYXNlIlAiOnJldHVybiB0LmRhdGUoe3dpZHRoOiJzaG9ydCJ9KTtjYXNlIlBQIjpyZXR1cm4gdC5kYXRlKHt3aWR0aDoibWVkaXVtIn0pO2Nhc2UiUFBQIjpyZXR1cm4gdC5kYXRlKHt3aWR0aDoibG9uZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRhdGUoe3dpZHRoOiJmdWxsIn0pfX0sZG1lPShlLHQpPT57c3dpdGNoKGUpe2Nhc2UicCI6cmV0dXJuIHQudGltZSh7d2lkdGg6InNob3J0In0pO2Nhc2UicHAiOnJldHVybiB0LnRpbWUoe3dpZHRoOiJtZWRpdW0ifSk7Y2FzZSJwcHAiOnJldHVybiB0LnRpbWUoe3dpZHRoOiJsb25nIn0pO2RlZmF1bHQ6cmV0dXJuIHQudGltZSh7d2lkdGg6ImZ1bGwifSl9fSxhOXI9KGUsdCk9PntsZXQgcj1lLm1hdGNoKC8oUCspKHArKT8vKXx8W10sYT1yWzFdLGk9clsyXTtpZighaSlyZXR1cm4gY21lKGUsdCk7bGV0IG47c3dpdGNoKGEpe2Nhc2UiUCI6bj10LmRhdGVUaW1lKHt3aWR0aDoic2hvcnQifSk7YnJlYWs7Y2FzZSJQUCI6bj10LmRhdGVUaW1lKHt3aWR0aDoibWVkaXVtIn0pO2JyZWFrO2Nhc2UiUFBQIjpuPXQuZGF0ZVRpbWUoe3dpZHRoOiJsb25nIn0pO2JyZWFrO2RlZmF1bHQ6bj10LmRhdGVUaW1lKHt3aWR0aDoiZnVsbCJ9KTticmVha31yZXR1cm4gbi5yZXBsYWNlKCJ7e2RhdGV9fSIsY21lKGEsdCkpLnJlcGxhY2UoInt7dGltZX19IixkbWUoaSx0KSl9LGcwPXtwOmRtZSxQOmE5cn19KTtmdW5jdGlvbiBCeShlKXtyZXR1cm4gaTlyLnRlc3QoZSl9ZnVuY3Rpb24gSHkoZSl7cmV0dXJuIG45ci50ZXN0KGUpfWZ1bmN0aW9uIHFoKGUsdCxyKXtsZXQgYT1vOXIoZSx0LHIpO2lmKGNvbnNvbGUud2FybihhKSxzOXIuaW5jbHVkZXMoZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYSl9ZnVuY3Rpb24gbzlyKGUsdCxyKXtsZXQgYT1lWzBdPT09IlkiPyJ5ZWFycyI6ImRheXMgb2YgdGhlIG1vbnRoIjtyZXR1cm5gVXNlIFxgJHtlLnRvTG93ZXJDYXNlKCl9XGAgaW5zdGVhZCBvZiBcYCR7ZX1cYCAoaW4gXGAke3R9XGApIGZvciBmb3JtYXR0aW5nICR7YX0gdG8gdGhlIGlucHV0IFxgJHtyfVxgOyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VuaWNvZGVUb2tlbnMubWRgfXZhciBpOXIsbjlyLHM5cixzcT1mKCgpPT57aTlyPS9eRCskLyxuOXI9L15ZKyQvLHM5cj1bIkQiLCJERCIsIllZIiwiWVlZWSJdfSk7ZnVuY3Rpb24gamgoZSx0LHIpe2xldCBhPV9yKCksaT1yPy5sb2NhbGU/P2EubG9jYWxlPz94MSxuPXI/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/cj8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P2EuZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9hLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLHM9cj8ud2Vla1N0YXJ0c09uPz9yPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/YS53ZWVrU3RhcnRzT24/P2EubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsbz1wZShlLHI/LmluKTtpZighVmkobykpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCBjPXQubWF0Y2goYzlyKS5tYXAodT0+e2xldCBkPXVbMF07aWYoZD09PSJwInx8ZD09PSJQIil7bGV0IGg9ZzBbZF07cmV0dXJuIGgodSxpLmZvcm1hdExvbmcpfXJldHVybiB1fSkuam9pbigiIikubWF0Y2gobDlyKS5tYXAodT0+e2lmKHU9PT0iJyciKXJldHVybntpc1Rva2VuOiExLHZhbHVlOiInIn07bGV0IGQ9dVswXTtpZihkPT09IiciKXJldHVybntpc1Rva2VuOiExLHZhbHVlOmY5cih1KX07aWYoSGhbZF0pcmV0dXJue2lzVG9rZW46ITAsdmFsdWU6dX07aWYoZC5tYXRjaChwOXIpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrZCsiYCIpO3JldHVybntpc1Rva2VuOiExLHZhbHVlOnV9fSk7aS5sb2NhbGl6ZS5wcmVwcm9jZXNzb3ImJihjPWkubG9jYWxpemUucHJlcHJvY2Vzc29yKG8sYykpO2xldCBsPXtmaXJzdFdlZWtDb250YWluc0RhdGU6bix3ZWVrU3RhcnRzT246cyxsb2NhbGU6aX07cmV0dXJuIGMubWFwKHU9PntpZighdS5pc1Rva2VuKXJldHVybiB1LnZhbHVlO2xldCBkPXUudmFsdWU7KCFyPy51c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnMmJkh5KGQpfHwhcj8udXNlQWRkaXRpb25hbERheU9mWWVhclRva2VucyYmQnkoZCkpJiZxaChkLHQsU3RyaW5nKGUpKTtsZXQgaD1IaFtkWzBdXTtyZXR1cm4gaChvLGQsaS5sb2NhbGl6ZSxsKX0pLmpvaW4oIiIpfWZ1bmN0aW9uIGY5cihlKXtsZXQgdD1lLm1hdGNoKGQ5cik7cmV0dXJuIHQ/dFsxXS5yZXBsYWNlKHU5ciwiJyIpOmV9dmFyIGw5cixjOXIsZDlyLHU5cixwOXIsWWhhLG9xPWYoKCk9PntOMygpO3VuKCk7bG1lKCk7bnEoKTtzcSgpO1RsKCk7RmUoKTtsOXI9L1t5WVFxTUx3SWREZWNpaEhLa21zXW98KFx3KVwxKnwnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyxjOXI9L1ArcCt8UCt8cCt8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csZDlyPS9eJyhbXl0qPyknPyQvLHU5cj0vJycvZyxwOXI9L1thLXpBLVpdLztZaGE9amh9KTtmdW5jdGlvbiBxeShlLHQscil7bGV0IGE9X3IoKSxpPXI/LmxvY2FsZT8/YS5sb2NhbGU/P3gxLG49MjUyMCxzPXBuKGUsdCk7aWYoaXNOYU4ocykpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCBvPU9iamVjdC5hc3NpZ24oe30scix7YWRkU3VmZml4OnI/LmFkZFN1ZmZpeCxjb21wYXJpc29uOnN9KSxbYyxsXT1kdChyPy5pbiwuLi5zPjA/W3QsZV06W2UsdF0pLHU9YzIobCxjKSxkPShfYShsKS1fYShjKSkvMWUzLGg9TWF0aC5yb3VuZCgodS1kKS82MCksbTtpZihoPDIpcmV0dXJuIHI/LmluY2x1ZGVTZWNvbmRzP3U8NT9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhTZWNvbmRzIiw1LG8pOnU8MTA/aS5mb3JtYXREaXN0YW5jZSgibGVzc1RoYW5YU2Vjb25kcyIsMTAsbyk6dTwyMD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhTZWNvbmRzIiwyMCxvKTp1PDQwP2kuZm9ybWF0RGlzdGFuY2UoImhhbGZBTWludXRlIiwwLG8pOnU8NjA/aS5mb3JtYXREaXN0YW5jZSgibGVzc1RoYW5YTWludXRlcyIsMSxvKTppLmZvcm1hdERpc3RhbmNlKCJ4TWludXRlcyIsMSxvKTpoPT09MD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhNaW51dGVzIiwxLG8pOmkuZm9ybWF0RGlzdGFuY2UoInhNaW51dGVzIixoLG8pO2lmKGg8NDUpcmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhNaW51dGVzIixoLG8pO2lmKGg8OTApcmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoImFib3V0WEhvdXJzIiwxLG8pO2lmKGg8VXUpe2xldCB2PU1hdGgucm91bmQoaC82MCk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoImFib3V0WEhvdXJzIix2LG8pfWVsc2V7aWYoaDxuKXJldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4RGF5cyIsMSxvKTtpZihoPG8wKXtsZXQgdj1NYXRoLnJvdW5kKGgvVXUpO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4RGF5cyIsdixvKX1lbHNlIGlmKGg8bzAqMilyZXR1cm4gbT1NYXRoLnJvdW5kKGgvbzApLGkuZm9ybWF0RGlzdGFuY2UoImFib3V0WE1vbnRocyIsbSxvKX1pZihtPWYwKGwsYyksbTwxMil7bGV0IHY9TWF0aC5yb3VuZChoL28wKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1vbnRocyIsdixvKX1lbHNle2xldCB2PW0lMTIsYj1NYXRoLnRydW5jKG0vMTIpO3JldHVybiB2PDM/aS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYWWVhcnMiLGIsbyk6djw5P2kuZm9ybWF0RGlzdGFuY2UoIm92ZXJYWWVhcnMiLGIsbyk6aS5mb3JtYXREaXN0YW5jZSgiYWxtb3N0WFllYXJzIixiKzEsbyl9fXZhciBpbWEsbHE9ZigoKT0+e04zKCk7dW4oKTt6bCgpO0JyKCk7RDMoKTtPdCgpO0ZoKCk7T2goKTtpbWE9cXl9KTtmdW5jdGlvbiBqeShlLHQscil7bGV0IGE9X3IoKSxpPXI/LmxvY2FsZT8/YS5sb2NhbGU/P3gxLG49cG4oZSx0KTtpZihpc05hTihuKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHM9T2JqZWN0LmFzc2lnbih7fSxyLHthZGRTdWZmaXg6cj8uYWRkU3VmZml4LGNvbXBhcmlzb246bn0pLFtvLGNdPWR0KHI/LmluLC4uLm4+MD9bdCxlXTpbZSx0XSksbD1mbihyPy5yb3VuZGluZ01ldGhvZD8/InJvdW5kIiksdT1jLmdldFRpbWUoKS1vLmdldFRpbWUoKSxkPXUvZG4saD1fYShjKS1fYShvKSxtPSh1LWgpL2RuLHY9cj8udW5pdCxiO2lmKHY/Yj12OmQ8MT9iPSJzZWNvbmQiOmQ8NjA/Yj0ibWludXRlIjpkPFV1P2I9ImhvdXIiOm08bzA/Yj0iZGF5IjptPERIP2I9Im1vbnRoIjpiPSJ5ZWFyIixiPT09InNlY29uZCIpe2xldCBnPWwodS8xZTMpO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4U2Vjb25kcyIsZyxzKX1lbHNlIGlmKGI9PT0ibWludXRlIil7bGV0IGc9bChkKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLGcscyl9ZWxzZSBpZihiPT09ImhvdXIiKXtsZXQgZz1sKGQvNjApO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4SG91cnMiLGcscyl9ZWxzZSBpZihiPT09ImRheSIpe2xldCBnPWwobS9VdSk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIixnLHMpfWVsc2UgaWYoYj09PSJtb250aCIpe2xldCBnPWwobS9vMCk7cmV0dXJuIGc9PT0xMiYmdiE9PSJtb250aCI/aS5mb3JtYXREaXN0YW5jZSgieFllYXJzIiwxLHMpOmkuZm9ybWF0RGlzdGFuY2UoInhNb250aHMiLGcscyl9ZWxzZXtsZXQgZz1sKG0vREgpO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4WWVhcnMiLGcscyl9fXZhciBmbWEsY3E9ZigoKT0+e04zKCk7dW4oKTtfbCgpO3psKCk7QnIoKTtEMygpO090KCk7Zm1hPWp5fSk7ZnVuY3Rpb24gdW1lKGUsdCl7cmV0dXJuIHF5KGUsR3QoZSksdCl9dmFyIGJtYSxwbWU9ZigoKT0+e2RpKCk7bHEoKTtibWE9dW1lfSk7ZnVuY3Rpb24gZm1lKGUsdCl7cmV0dXJuIGp5KGUsR3QoZSksdCl9dmFyIHdtYSxobWU9ZigoKT0+e2RpKCk7Y3EoKTt3bWE9Zm1lfSk7ZnVuY3Rpb24gbW1lKGUsdCl7bGV0IHI9X3IoKSxhPXQ/LmxvY2FsZT8/ci5sb2NhbGU/P3gxLGk9dD8uZm9ybWF0Pz9oOXIsbj10Py56ZXJvPz8hMSxzPXQ/LmRlbGltaXRlcj8/IiAiO3JldHVybiBhLmZvcm1hdERpc3RhbmNlP2kucmVkdWNlKChjLGwpPT57bGV0IHU9YHgke2wucmVwbGFjZSgvKF4uKS8saD0+aC50b1VwcGVyQ2FzZSgpKX1gLGQ9ZVtsXTtyZXR1cm4gZCE9PXZvaWQgMCYmKG58fGVbbF0pP2MuY29uY2F0KGEuZm9ybWF0RGlzdGFuY2UodSxkKSk6Y30sW10pLmpvaW4ocyk6IiJ9dmFyIGg5cix6bWEsZ21lPWYoKCk9PntOMygpO3VuKCk7aDlyPVsieWVhcnMiLCJtb250aHMiLCJ3ZWVrcyIsImRheXMiLCJob3VycyIsIm1pbnV0ZXMiLCJzZWNvbmRzIl07em1hPW1tZX0pO2Z1bmN0aW9uIGJtZShlLHQpe2xldCByPXBlKGUsdD8uaW4pO2lmKGlzTmFOKCtyKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGE9dD8uZm9ybWF0Pz8iZXh0ZW5kZWQiLGk9dD8ucmVwcmVzZW50YXRpb24/PyJjb21wbGV0ZSIsbj0iIixzPSIiLG89YT09PSJleHRlbmRlZCI/Ii0iOiIiLGM9YT09PSJleHRlbmRlZCI/IjoiOiIiO2lmKGkhPT0idGltZSIpe2xldCBsPWF0KHIuZ2V0RGF0ZSgpLDIpLHU9YXQoci5nZXRNb250aCgpKzEsMik7bj1gJHthdChyLmdldEZ1bGxZZWFyKCksNCl9JHtvfSR7dX0ke299JHtsfWB9aWYoaSE9PSJkYXRlIil7bGV0IGw9ci5nZXRUaW1lem9uZU9mZnNldCgpO2lmKGwhPT0wKXtsZXQgYj1NYXRoLmFicyhsKSxnPWF0KE1hdGgudHJ1bmMoYi82MCksMikseT1hdChiJTYwLDIpO3M9YCR7bDwwPyIrIjoiLSJ9JHtnfToke3l9YH1lbHNlIHM9IloiO2xldCB1PWF0KHIuZ2V0SG91cnMoKSwyKSxkPWF0KHIuZ2V0TWludXRlcygpLDIpLGg9YXQoci5nZXRTZWNvbmRzKCksMiksbT1uPT09IiI/IiI6IlQiLHY9W3UsZCxoXS5qb2luKGMpO249YCR7bn0ke219JHt2fSR7c31gfXJldHVybiBufXZhciBMbWEsdm1lPWYoKCk9PntPMygpO0ZlKCk7TG1hPWJtZX0pO2Z1bmN0aW9uIHhtZShlLHQpe2xldCByPXBlKGUsdD8uaW4pO2lmKCFWaShyKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGE9dD8uZm9ybWF0Pz8iZXh0ZW5kZWQiLGk9dD8ucmVwcmVzZW50YXRpb24/PyJjb21wbGV0ZSIsbj0iIixzPWE9PT0iZXh0ZW5kZWQiPyItIjoiIixvPWE9PT0iZXh0ZW5kZWQiPyI6IjoiIjtpZihpIT09InRpbWUiKXtsZXQgYz1hdChyLmdldERhdGUoKSwyKSxsPWF0KHIuZ2V0TW9udGgoKSsxLDIpO249YCR7YXQoci5nZXRGdWxsWWVhcigpLDQpfSR7c30ke2x9JHtzfSR7Y31gfWlmKGkhPT0iZGF0ZSIpe2xldCBjPWF0KHIuZ2V0SG91cnMoKSwyKSxsPWF0KHIuZ2V0TWludXRlcygpLDIpLHU9YXQoci5nZXRTZWNvbmRzKCksMik7bj1gJHtufSR7bj09PSIiPyIiOiIgIn0ke2N9JHtvfSR7bH0ke299JHt1fWB9cmV0dXJuIG59dmFyIEltYSx5bWU9ZigoKT0+e08zKCk7VGwoKTtGZSgpO0ltYT14bWV9KTtmdW5jdGlvbiB3bWUoZSl7bGV0e3llYXJzOnQ9MCxtb250aHM6cj0wLGRheXM6YT0wLGhvdXJzOmk9MCxtaW51dGVzOm49MCxzZWNvbmRzOnM9MH09ZTtyZXR1cm5gUCR7dH1ZJHtyfU0ke2F9RFQke2l9SCR7bn1NJHtzfVNgfXZhciBObWEsTW1lPWYoKCk9PntObWE9d21lfSk7ZnVuY3Rpb24ga21lKGUsdCl7bGV0IHI9cGUoZSx0Py5pbik7aWYoIVZpKHIpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgYT10Py5mcmFjdGlvbkRpZ2l0cz8/MCxpPWF0KHIuZ2V0RGF0ZSgpLDIpLG49YXQoci5nZXRNb250aCgpKzEsMikscz1yLmdldEZ1bGxZZWFyKCksbz1hdChyLmdldEhvdXJzKCksMiksYz1hdChyLmdldE1pbnV0ZXMoKSwyKSxsPWF0KHIuZ2V0U2Vjb25kcygpLDIpLHU9IiI7aWYoYT4wKXtsZXQgbT1yLmdldE1pbGxpc2Vjb25kcygpLHY9TWF0aC50cnVuYyhtKk1hdGgucG93KDEwLGEtMykpO3U9Ii4iK2F0KHYsYSl9bGV0IGQ9IiIsaD1yLmdldFRpbWV6b25lT2Zmc2V0KCk7aWYoaCE9PTApe2xldCBtPU1hdGguYWJzKGgpLHY9YXQoTWF0aC50cnVuYyhtLzYwKSwyKSxiPWF0KG0lNjAsMik7ZD1gJHtoPDA/IisiOiItIn0ke3Z9OiR7Yn1gfWVsc2UgZD0iWiI7cmV0dXJuYCR7c30tJHtufS0ke2l9VCR7b306JHtjfToke2x9JHt1fSR7ZH1gfXZhciBIbWEsU21lPWYoKCk9PntPMygpO1RsKCk7RmUoKTtIbWE9a21lfSk7ZnVuY3Rpb24gem1lKGUpe2xldCB0PXBlKGUpO2lmKCFWaSh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHI9bTlyW3QuZ2V0VVRDRGF5KCldLGE9YXQodC5nZXRVVENEYXRlKCksMiksaT1nOXJbdC5nZXRVVENNb250aCgpXSxuPXQuZ2V0VVRDRnVsbFllYXIoKSxzPWF0KHQuZ2V0VVRDSG91cnMoKSwyKSxvPWF0KHQuZ2V0VVRDTWludXRlcygpLDIpLGM9YXQodC5nZXRVVENTZWNvbmRzKCksMik7cmV0dXJuYCR7cn0sICR7YX0gJHtpfSAke259ICR7c306JHtvfToke2N9IEdNVGB9dmFyIG05cixnOXIsV21hLENtZT1mKCgpPT57TzMoKTtUbCgpO0ZlKCk7bTlyPVsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sZzlyPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07V21hPXptZX0pO2Z1bmN0aW9uIFRtZShlLHQscil7bGV0W2EsaV09ZHQocj8uaW4sZSx0KSxuPV9yKCkscz1yPy5sb2NhbGU/P24ubG9jYWxlPz94MSxvPXI/LndlZWtTdGFydHNPbj8/cj8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P24ud2Vla1N0YXJ0c09uPz9uLmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGM9VGkoYSxpKTtpZihpc05hTihjKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGw7YzwtNj9sPSJvdGhlciI6YzwtMT9sPSJsYXN0V2VlayI6YzwwP2w9Inllc3RlcmRheSI6YzwxP2w9InRvZGF5IjpjPDI/bD0idG9tb3Jyb3ciOmM8Nz9sPSJuZXh0V2VlayI6bD0ib3RoZXIiO2xldCB1PXMuZm9ybWF0UmVsYXRpdmUobCxhLGkse2xvY2FsZTpzLHdlZWtTdGFydHNPbjpvfSk7cmV0dXJuIGpoKGEsdSx7bG9jYWxlOnMsd2Vla1N0YXJ0c09uOm99KX12YXIgS21hLF9tZT1mKCgpPT57TjMoKTt1bigpO0JyKCk7Q2woKTtvcSgpO0ttYT1UbWV9KTtmdW5jdGlvbiBMbWUoZSx0KXtyZXR1cm4gcGUoZSoxZTMsdD8uaW4pfXZhciByN2EsJG1lPWYoKCk9PntGZSgpO3I3YT1MbWV9KTtmdW5jdGlvbiBWeShlLHQpe3JldHVybiBwZShlLHQ/LmluKS5nZXREYXRlKCl9dmFyIG43YSxkcT1mKCgpPT57RmUoKTtuN2E9Vnl9KTtmdW5jdGlvbiBiMChlLHQpe3JldHVybiBwZShlLHQ/LmluKS5nZXREYXkoKX12YXIgbDdhLFZoPWYoKCk9PntGZSgpO2w3YT1iMH0pO2Z1bmN0aW9uIFV5KGUsdCl7bGV0IHI9cGUoZSx0Py5pbiksYT1yLmdldEZ1bGxZZWFyKCksaT1yLmdldE1vbnRoKCksbj1QZShyLDApO3JldHVybiBuLnNldEZ1bGxZZWFyKGEsaSsxLDApLG4uc2V0SG91cnMoMCwwLDAsMCksbi5nZXREYXRlKCl9dmFyIHA3YSx1cT1mKCgpPT57aHQoKTtGZSgpO3A3YT1VeX0pO2Z1bmN0aW9uIFd5KGUsdCl7bGV0IGE9cGUoZSx0Py5pbikuZ2V0RnVsbFllYXIoKTtyZXR1cm4gYSU0MDA9PT0wfHxhJTQ9PT0wJiZhJTEwMCE9PTB9dmFyIG03YSxwcT1mKCgpPT57RmUoKTttN2E9V3l9KTtmdW5jdGlvbiBEbWUoZSx0KXtsZXQgcj1wZShlLHQ/LmluKTtyZXR1cm4gTnVtYmVyLmlzTmFOKCtyKT9OYU46V3kocik/MzY2OjM2NX12YXIgeDdhLEFtZT1mKCgpPT57cHEoKTtGZSgpO3g3YT1EbWV9KTtmdW5jdGlvbiBFbWUoZSx0KXtsZXQgYT1wZShlLHQ/LmluKS5nZXRGdWxsWWVhcigpO3JldHVybiBNYXRoLmZsb29yKGEvMTApKjEwfXZhciBNN2EsSW1lPWYoKCk9PntGZSgpO003YT1FbWV9KTtmdW5jdGlvbiBHeSgpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LF9yKCkpfXZhciB6N2EsZnE9ZigoKT0+e3VuKCk7ejdhPUd5fSk7ZnVuY3Rpb24gUG1lKGUsdCl7cmV0dXJuIHBlKGUsdD8uaW4pLmdldEhvdXJzKCl9dmFyIF83YSxObWU9ZigoKT0+e0ZlKCk7XzdhPVBtZX0pO2Z1bmN0aW9uIFl5KGUsdCl7bGV0IHI9cGUoZSx0Py5pbikuZ2V0RGF5KCk7cmV0dXJuIHI9PT0wPzc6cn12YXIgRDdhLGhxPWYoKCk9PntGZSgpO0Q3YT1ZeX0pO2Z1bmN0aW9uIEZtZShlLHQpe2xldCByPVAxKGUsdCksaT0rUDEodTAociw2MCkpLStyO3JldHVybiBNYXRoLnJvdW5kKGkvcjIpfXZhciBON2EsT21lPWYoKCk9PntQaCgpO090KCk7WXUoKTtON2E9Rm1lfSk7ZnVuY3Rpb24gUm1lKGUpe3JldHVybiBwZShlKS5nZXRNaWxsaXNlY29uZHMoKX12YXIgUjdhLEJtZT1mKCgpPT57RmUoKTtSN2E9Um1lfSk7ZnVuY3Rpb24gSG1lKGUsdCl7cmV0dXJuIHBlKGUsdD8uaW4pLmdldE1pbnV0ZXMoKX12YXIgcTdhLHFtZT1mKCgpPT57RmUoKTtxN2E9SG1lfSk7ZnVuY3Rpb24gam1lKGUsdCl7cmV0dXJuIHBlKGUsdD8uaW4pLmdldE1vbnRoKCl9dmFyIFU3YSxWbWU9ZigoKT0+e0ZlKCk7VTdhPWptZX0pO2Z1bmN0aW9uIFVtZShlLHQpe2xldFtyLGFdPVsrcGUoZS5zdGFydCksK3BlKGUuZW5kKV0uc29ydCgoZCxoKT0+ZC1oKSxbaSxuXT1bK3BlKHQuc3RhcnQpLCtwZSh0LmVuZCldLnNvcnQoKGQsaCk9PmQtaCk7aWYoIShyPG4mJmk8YSkpcmV0dXJuIDA7bGV0IG89aTxyP3I6aSxjPW8tX2EobyksbD1uPmE/YTpuLHU9bC1fYShsKTtyZXR1cm4gTWF0aC5jZWlsKCh1LWMpL1F4KX12YXIgWDdhLFdtZT1mKCgpPT57emwoKTtPdCgpO0ZlKCk7WDdhPVVtZX0pO2Z1bmN0aW9uIEdtZShlKXtyZXR1cm4gcGUoZSkuZ2V0U2Vjb25kcygpfXZhciBLN2EsWW1lPWYoKCk9PntGZSgpO0s3YT1HbWV9KTtmdW5jdGlvbiBabWUoZSl7cmV0dXJuK3BlKGUpfXZhciByOWEsWG1lPWYoKCk9PntGZSgpO3I5YT1abWV9KTtmdW5jdGlvbiBRbWUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoK3BlKGUpLzFlMyl9dmFyIG45YSxKbWU9ZigoKT0+e0ZlKCk7bjlhPVFtZX0pO2Z1bmN0aW9uIEttZShlLHQpe2xldCByPV9yKCksYT10Py53ZWVrU3RhcnRzT24/P3Q/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9yLndlZWtTdGFydHNPbj8/ci5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxpPVZ5KHBlKGUsdD8uaW4pKTtpZihpc05hTihpKSlyZXR1cm4gTmFOO2xldCBuPWIwKGgwKGUsdCkpLHM9YS1uO3M8PTAmJihzKz03KTtsZXQgbz1pLXM7cmV0dXJuIE1hdGguY2VpbChvLzcpKzF9dmFyIHA5YSxlN2U9ZigoKT0+e3VuKCk7ZHEoKTtWaCgpO1JoKCk7RmUoKTtwOWE9S21lfSk7ZnVuY3Rpb24gWnkoZSx0KXtsZXQgcj1wZShlLHQ/LmluKSxhPXIuZ2V0TW9udGgoKTtyZXR1cm4gci5zZXRGdWxsWWVhcihyLmdldEZ1bGxZZWFyKCksYSsxLDApLHIuc2V0SG91cnMoMCwwLDAsMCkscGUocix0Py5pbil9dmFyIG05YSxtcT1mKCgpPT57RmUoKTttOWE9Wnl9KTtmdW5jdGlvbiB0N2UoZSx0KXtsZXQgcj1wZShlLHQ/LmluKTtyZXR1cm4gRTMoWnkocix0KSxoMChyLHQpLHQpKzF9dmFyIHc5YSxyN2U9ZigoKT0+e3Z5KCk7bXEoKTtSaCgpO0ZlKCk7dzlhPXQ3ZX0pO2Z1bmN0aW9uIGE3ZShlLHQpe3JldHVybiBwZShlLHQ/LmluKS5nZXRGdWxsWWVhcigpfXZhciBTOWEsaTdlPWYoKCk9PntGZSgpO1M5YT1hN2V9KTtmdW5jdGlvbiBuN2UoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSpJMSl9dmFyIFQ5YSxzN2U9ZigoKT0+e090KCk7VDlhPW43ZX0pO2Z1bmN0aW9uIG83ZShlKXtyZXR1cm4gTWF0aC50cnVuYyhlKkp4KX12YXIgJDlhLGw3ZT1mKCgpPT57T3QoKTskOWE9bzdlfSk7ZnVuY3Rpb24gYzdlKGUpe3JldHVybiBNYXRoLnRydW5jKGUqJDMpfXZhciBFOWEsZDdlPWYoKCk9PntPdCgpO0U5YT1jN2V9KTtmdW5jdGlvbiB1N2UoZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCk7aWYoaXNOYU4oK2EpKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0YXJ0IGRhdGUgaXMgaW52YWxpZCIpO2lmKGlzTmFOKCtpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFbmQgZGF0ZSBpcyBpbnZhbGlkIik7aWYocj8uYXNzZXJ0UG9zaXRpdmUmJithPitpKXRocm93IG5ldyBUeXBlRXJyb3IoIkVuZCBkYXRlIG11c3QgYmUgYWZ0ZXIgc3RhcnQgZGF0ZSIpO3JldHVybntzdGFydDphLGVuZDppfX12YXIgTjlhLHA3ZT1mKCgpPT57QnIoKTtOOWE9dTdlfSk7ZnVuY3Rpb24gZjdlKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PV9pKHQ/LmluLGUpLGk9e30sbj1feShhLHIpO24mJihpLnllYXJzPW4pO2xldCBzPWwwKHIse3llYXJzOmkueWVhcnN9KSxvPWYwKGEscyk7byYmKGkubW9udGhzPW8pO2xldCBjPWwwKHMse21vbnRoczppLm1vbnRoc30pLGw9S3UoYSxjKTtsJiYoaS5kYXlzPWwpO2xldCB1PWwwKGMse2RheXM6aS5kYXlzfSksZD1JMyhhLHUpO2QmJihpLmhvdXJzPWQpO2xldCBoPWwwKHUse2hvdXJzOmkuaG91cnN9KSxtPVAzKGEsaCk7bSYmKGkubWludXRlcz1tKTtsZXQgdj1sMChoLHttaW51dGVzOmkubWludXRlc30pLGI9YzIoYSx2KTtyZXR1cm4gYiYmKGkuc2Vjb25kcz1iKSxpfXZhciBXOWEsaDdlPWYoKCk9PntkMigpO1BIKCk7eXkoKTt3eSgpO1N5KCk7RmgoKTtPaCgpO0tIKCk7VzlhPWY3ZX0pO2Z1bmN0aW9uIG03ZShlLHQscil7bGV0IGE7cmV0dXJuIGI5cih0KT9hPXQ6cj10LG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHI/LmxvY2FsZSxhKS5mb3JtYXQocGUoZSkpfWZ1bmN0aW9uIGI5cihlKXtyZXR1cm4gZSE9PXZvaWQgMCYmISgibG9jYWxlImluIGUpfXZhciBaOWEsZzdlPWYoKCk9PntGZSgpO1o5YT1tN2V9KTtmdW5jdGlvbiBiN2UoZSx0LHIpe2xldCBhPTAsaSxbbixzXT1kdChyPy5pbixlLHQpO2lmKHI/LnVuaXQpaT1yPy51bml0LGk9PT0ic2Vjb25kIj9hPWMyKG4scyk6aT09PSJtaW51dGUiP2E9UDMobixzKTppPT09ImhvdXIiP2E9STMobixzKTppPT09ImRheSI/YT1UaShuLHMpOmk9PT0id2VlayI/YT1FMyhuLHMpOmk9PT0ibW9udGgiP2E9QTMobixzKTppPT09InF1YXJ0ZXIiP2E9SnUobixzKTppPT09InllYXIiJiYoYT1wMChuLHMpKTtlbHNle2xldCBjPWMyKG4scyk7TWF0aC5hYnMoYyk8V3U/KGE9YzIobixzKSxpPSJzZWNvbmQiKTpNYXRoLmFicyhjKTwkMz8oYT1QMyhuLHMpLGk9Im1pbnV0ZSIpOk1hdGguYWJzKGMpPFp4JiZNYXRoLmFicyhUaShuLHMpKTwxPyhhPUkzKG4scyksaT0iaG91ciIpOk1hdGguYWJzKGMpPEZmZSYmKGE9VGkobixzKSkmJk1hdGguYWJzKGEpPDc/aT0iZGF5IjpNYXRoLmFicyhjKTxFSD8oYT1FMyhuLHMpLGk9IndlZWsiKTpNYXRoLmFicyhjKTxPZmU/KGE9QTMobixzKSxpPSJtb250aCIpOk1hdGguYWJzKGMpPEFIP0p1KG4scyk8ND8oYT1KdShuLHMpLGk9InF1YXJ0ZXIiKTooYT1wMChuLHMpLGk9InllYXIiKTooYT1wMChuLHMpLGk9InllYXIiKX1yZXR1cm4gbmV3IEludGwuUmVsYXRpdmVUaW1lRm9ybWF0KHI/LmxvY2FsZSx7bnVtZXJpYzoiYXV0byIsLi4ucn0pLmZvcm1hdChhLGkpfXZhciBvZ2EsdjdlPWYoKCk9PntCcigpO090KCk7Q2woKTtieSgpO1hIKCk7dnkoKTt4eSgpO3d5KCk7U3koKTtPaCgpO29nYT1iN2V9KTtmdW5jdGlvbiB4N2UoZSx0KXtyZXR1cm4rcGUoZSk+K3BlKHQpfXZhciBkZ2EseTdlPWYoKCk9PntGZSgpO2RnYT14N2V9KTtmdW5jdGlvbiB3N2UoZSx0KXtyZXR1cm4rcGUoZSk8K3BlKHQpfXZhciBmZ2EsTTdlPWYoKCk9PntGZSgpO2ZnYT13N2V9KTtmdW5jdGlvbiBrN2UoZSx0KXtyZXR1cm4rcGUoZSk9PStwZSh0KX12YXIgZ2dhLFM3ZT1mKCgpPT57RmUoKTtnZ2E9azdlfSk7ZnVuY3Rpb24gejdlKGUsdCxyKXtsZXQgYT1uZXcgRGF0ZShlLHQscik7cmV0dXJuIGEuZ2V0RnVsbFllYXIoKT09PWUmJmEuZ2V0TW9udGgoKT09PXQmJmEuZ2V0RGF0ZSgpPT09cn12YXIgdmdhLEM3ZT1mKCgpPT57dmdhPXo3ZX0pO2Z1bmN0aW9uIFQ3ZShlLHQpe3JldHVybiBwZShlLHQ/LmluKS5nZXREYXRlKCk9PT0xfXZhciB3Z2EsXzdlPWYoKCk9PntGZSgpO3dnYT1UN2V9KTtmdW5jdGlvbiBMN2UoZSx0KXtyZXR1cm4gcGUoZSx0Py5pbikuZ2V0RGF5KCk9PT01fXZhciBTZ2EsJDdlPWYoKCk9PntGZSgpO1NnYT1MN2V9KTtmdW5jdGlvbiBEN2UoZSl7cmV0dXJuK3BlKGUpPkRhdGUubm93KCl9dmFyIFRnYSxBN2U9ZigoKT0+e0ZlKCk7VGdhPUQ3ZX0pO2Z1bmN0aW9uIFh5KGUsdCl7bGV0IHI9djlyKHQpP25ldyB0KDApOlBlKHQsMCk7cmV0dXJuIHIuc2V0RnVsbFllYXIoZS5nZXRGdWxsWWVhcigpLGUuZ2V0TW9udGgoKSxlLmdldERhdGUoKSksci5zZXRIb3VycyhlLmdldEhvdXJzKCksZS5nZXRNaW51dGVzKCksZS5nZXRTZWNvbmRzKCksZS5nZXRNaWxsaXNlY29uZHMoKSkscn1mdW5jdGlvbiB2OXIoZSl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlLnByb3RvdHlwZT8uY29uc3RydWN0b3I9PT1lfXZhciAkZ2EsZ3E9ZigoKT0+e2h0KCk7JGdhPVh5fSk7dmFyIHg5cixReSxKeSxLeSxicT1mKCgpPT57aHQoKTtncSgpO3g5cj0xMCxReT1jbGFzc3tzdWJQcmlvcml0eT0wO3ZhbGlkYXRlKHQscil7cmV0dXJuITB9fSxKeT1jbGFzcyBleHRlbmRzIFF5e2NvbnN0cnVjdG9yKHQscixhLGksbil7c3VwZXIoKSx0aGlzLnZhbHVlPXQsdGhpcy52YWxpZGF0ZVZhbHVlPXIsdGhpcy5zZXRWYWx1ZT1hLHRoaXMucHJpb3JpdHk9aSxuJiYodGhpcy5zdWJQcmlvcml0eT1uKX12YWxpZGF0ZSh0LHIpe3JldHVybiB0aGlzLnZhbGlkYXRlVmFsdWUodCx0aGlzLnZhbHVlLHIpfXNldCh0LHIsYSl7cmV0dXJuIHRoaXMuc2V0VmFsdWUodCxyLHRoaXMudmFsdWUsYSl9fSxLeT1jbGFzcyBleHRlbmRzIFF5e3ByaW9yaXR5PXg5cjtzdWJQcmlvcml0eT0tMTtjb25zdHJ1Y3Rvcih0LHIpe3N1cGVyKCksdGhpcy5jb250ZXh0PXR8fChhPT5QZShyLGEpKX1zZXQodCxyKXtyZXR1cm4gci50aW1lc3RhbXBJc1NldD90OlBlKHQsWHkodCx0aGlzLmNvbnRleHQpKX19fSk7dmFyIGV0LHZyPWYoKCk9PnticSgpO2V0PWNsYXNze3J1bih0LHIsYSxpKXtsZXQgbj10aGlzLnBhcnNlKHQscixhLGkpO3JldHVybiBuP3tzZXR0ZXI6bmV3IEp5KG4udmFsdWUsdGhpcy52YWxpZGF0ZSx0aGlzLnNldCx0aGlzLnByaW9yaXR5LHRoaXMuc3ViUHJpb3JpdHkpLHJlc3Q6bi5yZXN0fTpudWxsfXZhbGlkYXRlKHQscixhKXtyZXR1cm4hMH19fSk7dmFyIGV3LEU3ZT1mKCgpPT57dnIoKTtldz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTE0MDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiRyI6Y2FzZSJHRyI6Y2FzZSJHR0ciOnJldHVybiBhLmVyYSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQifSl8fGEuZXJhKHQse3dpZHRoOiJuYXJyb3cifSk7Y2FzZSJHR0dHRyI6cmV0dXJuIGEuZXJhKHQse3dpZHRoOiJuYXJyb3cifSk7ZGVmYXVsdDpyZXR1cm4gYS5lcmEodCx7d2lkdGg6IndpZGUifSl8fGEuZXJhKHQse3dpZHRoOiJhYmJyZXZpYXRlZCJ9KXx8YS5lcmEodCx7d2lkdGg6Im5hcnJvdyJ9KX19c2V0KHQscixhKXtyZXR1cm4gci5lcmE9YSx0LnNldEZ1bGxZZWFyKGEsMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiUiIsInUiLCJ0IiwiVCJdfX0pO3ZhciBkcixwcyxobj1mKCgpPT57ZHI9e21vbnRoOi9eKDFbMC0yXXwwP1xkKS8sZGF0ZTovXigzWzAtMV18WzAtMl0/XGQpLyxkYXlPZlllYXI6L14oMzZbMC02XXwzWzAtNV1cZHxbMC0yXT9cZD9cZCkvLHdlZWs6L14oNVswLTNdfFswLTRdP1xkKS8saG91cjIzaDovXigyWzAtM118WzAtMV0/XGQpLyxob3VyMjRoOi9eKDJbMC00XXxbMC0xXT9cZCkvLGhvdXIxMWg6L14oMVswLTFdfDA/XGQpLyxob3VyMTJoOi9eKDFbMC0yXXwwP1xkKS8sbWludXRlOi9eWzAtNV0/XGQvLHNlY29uZDovXlswLTVdP1xkLyxzaW5nbGVEaWdpdDovXlxkLyx0d29EaWdpdHM6L15cZHsxLDJ9Lyx0aHJlZURpZ2l0czovXlxkezEsM30vLGZvdXJEaWdpdHM6L15cZHsxLDR9LyxhbnlEaWdpdHNTaWduZWQ6L14tP1xkKy8sc2luZ2xlRGlnaXRTaWduZWQ6L14tP1xkLyx0d29EaWdpdHNTaWduZWQ6L14tP1xkezEsMn0vLHRocmVlRGlnaXRzU2lnbmVkOi9eLT9cZHsxLDN9Lyxmb3VyRGlnaXRzU2lnbmVkOi9eLT9cZHsxLDR9L30scHM9e2Jhc2ljT3B0aW9uYWxNaW51dGVzOi9eKFsrLV0pKFxkezJ9KShcZHsyfSk/fFovLGJhc2ljOi9eKFsrLV0pKFxkezJ9KShcZHsyfSl8Wi8sYmFzaWNPcHRpb25hbFNlY29uZHM6L14oWystXSkoXGR7Mn0pKFxkezJ9KSgoXGR7Mn0pKT98Wi8sZXh0ZW5kZWQ6L14oWystXSkoXGR7Mn0pOihcZHsyfSl8Wi8sZXh0ZW5kZWRPcHRpb25hbFNlY29uZHM6L14oWystXSkoXGR7Mn0pOihcZHsyfSkoOihcZHsyfSkpP3xaL319KTtmdW5jdGlvbiBIcihlLHQpe3JldHVybiBlJiZ7dmFsdWU6dChlLnZhbHVlKSxyZXN0OmUucmVzdH19ZnVuY3Rpb24gb3IoZSx0KXtsZXQgcj10Lm1hdGNoKGUpO3JldHVybiByP3t2YWx1ZTpwYXJzZUludChyWzBdLDEwKSxyZXN0OnQuc2xpY2UoclswXS5sZW5ndGgpfTpudWxsfWZ1bmN0aW9uIGZzKGUsdCl7bGV0IHI9dC5tYXRjaChlKTtpZighcilyZXR1cm4gbnVsbDtpZihyWzBdPT09IloiKXJldHVybnt2YWx1ZTowLHJlc3Q6dC5zbGljZSgxKX07bGV0IGE9clsxXT09PSIrIj8xOi0xLGk9clsyXT9wYXJzZUludChyWzJdLDEwKTowLG49clszXT9wYXJzZUludChyWzNdLDEwKTowLHM9cls1XT9wYXJzZUludChyWzVdLDEwKTowO3JldHVybnt2YWx1ZTphKihpKkkxK24qZG4rcypWdSkscmVzdDp0LnNsaWNlKHJbMF0ubGVuZ3RoKX19ZnVuY3Rpb24gdHcoZSl7cmV0dXJuIG9yKGRyLmFueURpZ2l0c1NpZ25lZCxlKX1mdW5jdGlvbiBQdChlLHQpe3N3aXRjaChlKXtjYXNlIDE6cmV0dXJuIG9yKGRyLnNpbmdsZURpZ2l0LHQpO2Nhc2UgMjpyZXR1cm4gb3IoZHIudHdvRGlnaXRzLHQpO2Nhc2UgMzpyZXR1cm4gb3IoZHIudGhyZWVEaWdpdHMsdCk7Y2FzZSA0OnJldHVybiBvcihkci5mb3VyRGlnaXRzLHQpO2RlZmF1bHQ6cmV0dXJuIG9yKG5ldyBSZWdFeHAoIl5cXGR7MSwiK2UrIn0iKSx0KX19ZnVuY3Rpb24gZDUoZSx0KXtzd2l0Y2goZSl7Y2FzZSAxOnJldHVybiBvcihkci5zaW5nbGVEaWdpdFNpZ25lZCx0KTtjYXNlIDI6cmV0dXJuIG9yKGRyLnR3b0RpZ2l0c1NpZ25lZCx0KTtjYXNlIDM6cmV0dXJuIG9yKGRyLnRocmVlRGlnaXRzU2lnbmVkLHQpO2Nhc2UgNDpyZXR1cm4gb3IoZHIuZm91ckRpZ2l0c1NpZ25lZCx0KTtkZWZhdWx0OnJldHVybiBvcihuZXcgUmVnRXhwKCJeLT9cXGR7MSwiK2UrIn0iKSx0KX19ZnVuY3Rpb24gdTUoZSl7c3dpdGNoKGUpe2Nhc2UibW9ybmluZyI6cmV0dXJuIDQ7Y2FzZSJldmVuaW5nIjpyZXR1cm4gMTc7Y2FzZSJwbSI6Y2FzZSJub29uIjpjYXNlImFmdGVybm9vbiI6cmV0dXJuIDEyO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIHJ3KGUsdCl7bGV0IHI9dD4wLGE9cj90OjEtdCxpO2lmKGE8PTUwKWk9ZXx8MTAwO2Vsc2V7bGV0IG49YSs1MCxzPU1hdGgudHJ1bmMobi8xMDApKjEwMCxvPWU+PW4lMTAwO2k9ZStzLShvPzEwMDowKX1yZXR1cm4gcj9pOjEtaX1mdW5jdGlvbiBhdyhlKXtyZXR1cm4gZSU0MDA9PT0wfHxlJTQ9PT0wJiZlJTEwMCE9PTB9dmFyIExyPWYoKCk9PntPdCgpO2huKCl9KTt2YXIgaXcsSTdlPWYoKCk9Pnt2cigpO0xyKCk7aXc9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT0xMzA7aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJ1IiwidyIsIkkiLCJpIiwiZSIsImMiLCJ0IiwiVCJdO3BhcnNlKHQscixhKXtsZXQgaT1uPT4oe3llYXI6bixpc1R3b0RpZ2l0WWVhcjpyPT09Inl5In0pO3N3aXRjaChyKXtjYXNlInkiOnJldHVybiBIcihQdCg0LHQpLGkpO2Nhc2UieW8iOnJldHVybiBIcihhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoieWVhciJ9KSxpKTtkZWZhdWx0OnJldHVybiBIcihQdChyLmxlbmd0aCx0KSxpKX19dmFsaWRhdGUodCxyKXtyZXR1cm4gci5pc1R3b0RpZ2l0WWVhcnx8ci55ZWFyPjB9c2V0KHQscixhKXtsZXQgaT10LmdldEZ1bGxZZWFyKCk7aWYoYS5pc1R3b0RpZ2l0WWVhcil7bGV0IHM9cncoYS55ZWFyLGkpO3JldHVybiB0LnNldEZ1bGxZZWFyKHMsMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9bGV0IG49ISgiZXJhImluIHIpfHxyLmVyYT09PTE/YS55ZWFyOjEtYS55ZWFyO3JldHVybiB0LnNldEZ1bGxZZWFyKG4sMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9fX0pO3ZhciBudyxQN2U9ZigoKT0+e0JoKCk7bG8oKTt2cigpO0xyKCk7bnc9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT0xMzA7cGFyc2UodCxyLGEpe2xldCBpPW49Pih7eWVhcjpuLGlzVHdvRGlnaXRZZWFyOnI9PT0iWVkifSk7c3dpdGNoKHIpe2Nhc2UiWSI6cmV0dXJuIEhyKFB0KDQsdCksaSk7Y2FzZSJZbyI6cmV0dXJuIEhyKGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJ5ZWFyIn0pLGkpO2RlZmF1bHQ6cmV0dXJuIEhyKFB0KHIubGVuZ3RoLHQpLGkpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByLmlzVHdvRGlnaXRZZWFyfHxyLnllYXI+MH1zZXQodCxyLGEsaSl7bGV0IG49bTAodCxpKTtpZihhLmlzVHdvRGlnaXRZZWFyKXtsZXQgbz1ydyhhLnllYXIsbik7cmV0dXJuIHQuc2V0RnVsbFllYXIobywwLGkuZmlyc3RXZWVrQ29udGFpbnNEYXRlKSx0LnNldEhvdXJzKDAsMCwwLDApLHRhKHQsaSl9bGV0IHM9ISgiZXJhImluIHIpfHxyLmVyYT09PTE/YS55ZWFyOjEtYS55ZWFyO3JldHVybiB0LnNldEZ1bGxZZWFyKHMsMCxpLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSksdC5zZXRIb3VycygwLDAsMCwwKSx0YSh0LGkpfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsIlEiLCJxIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJpIiwidCIsIlQiXX19KTt2YXIgc3csTjdlPWYoKCk9PntzMigpO2h0KCk7dnIoKTtMcigpO3N3PWNsYXNzIGV4dGVuZHMgZXR7cHJpb3JpdHk9MTMwO3BhcnNlKHQscil7cmV0dXJuIHI9PT0iUiI/ZDUoNCx0KTpkNShyLmxlbmd0aCx0KX1zZXQodCxyLGEpe2xldCBpPVBlKHQsMCk7cmV0dXJuIGkuc2V0RnVsbFllYXIoYSwwLDQpLGkuc2V0SG91cnMoMCwwLDAsMCksSmEoaSl9aW5jb21wYXRpYmxlVG9rZW5zPVsiRyIsInkiLCJZIiwidSIsIlEiLCJxIiwiTSIsIkwiLCJ3IiwiZCIsIkQiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIG93LEY3ZT1mKCgpPT57dnIoKTtMcigpO293PWNsYXNzIGV4dGVuZHMgZXR7cHJpb3JpdHk9MTMwO3BhcnNlKHQscil7cmV0dXJuIHI9PT0idSI/ZDUoNCx0KTpkNShyLmxlbmd0aCx0KX1zZXQodCxyLGEpe3JldHVybiB0LnNldEZ1bGxZZWFyKGEsMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiRyIsInkiLCJZIiwiUiIsInciLCJJIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgbHcsTzdlPWYoKCk9Pnt2cigpO0xyKCk7bHc9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT0xMjA7cGFyc2UodCxyLGEpe3N3aXRjaChyKXtjYXNlIlEiOmNhc2UiUVEiOnJldHVybiBQdChyLmxlbmd0aCx0KTtjYXNlIlFvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6InF1YXJ0ZXIifSk7Y2FzZSJRUVEiOnJldHVybiBhLnF1YXJ0ZXIodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLnF1YXJ0ZXIodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIlFRUVFRIjpyZXR1cm4gYS5xdWFydGVyKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gYS5xdWFydGVyKHQse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLnF1YXJ0ZXIodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLnF1YXJ0ZXIodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19dmFsaWRhdGUodCxyKXtyZXR1cm4gcj49MSYmcjw9NH1zZXQodCxyLGEpe3JldHVybiB0LnNldE1vbnRoKChhLTEpKjMsMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIk0iLCJMIiwidyIsIkkiLCJkIiwiRCIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIGN3LFI3ZT1mKCgpPT57dnIoKTtMcigpO2N3PWNsYXNzIGV4dGVuZHMgZXR7cHJpb3JpdHk9MTIwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJxIjpjYXNlInFxIjpyZXR1cm4gUHQoci5sZW5ndGgsdCk7Y2FzZSJxbyI6cmV0dXJuIGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJxdWFydGVyIn0pO2Nhc2UicXFxIjpyZXR1cm4gYS5xdWFydGVyKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5xdWFydGVyKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJxcXFxcSI6cmV0dXJuIGEucXVhcnRlcih0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2RlZmF1bHQ6cmV0dXJuIGEucXVhcnRlcih0LHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5xdWFydGVyKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5xdWFydGVyKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTEmJnI8PTR9c2V0KHQscixhKXtyZXR1cm4gdC5zZXRNb250aCgoYS0xKSozLDEpLHQuc2V0SG91cnMoMCwwLDAsMCksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsIlEiLCJNIiwiTCIsInciLCJJIiwiZCIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBkdyxCN2U9ZigoKT0+e2huKCk7dnIoKTtMcigpO2R3PWNsYXNzIGV4dGVuZHMgZXR7aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiUSIsIkwiLCJ3IiwiSSIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdO3ByaW9yaXR5PTExMDtwYXJzZSh0LHIsYSl7bGV0IGk9bj0+bi0xO3N3aXRjaChyKXtjYXNlIk0iOnJldHVybiBIcihvcihkci5tb250aCx0KSxpKTtjYXNlIk1NIjpyZXR1cm4gSHIoUHQoMix0KSxpKTtjYXNlIk1vIjpyZXR1cm4gSHIoYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6Im1vbnRoIn0pLGkpO2Nhc2UiTU1NIjpyZXR1cm4gYS5tb250aCh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEubW9udGgodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIk1NTU1NIjpyZXR1cm4gYS5tb250aCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIGEubW9udGgodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEubW9udGgodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLm1vbnRoKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTAmJnI8PTExfXNldCh0LHIsYSl7cmV0dXJuIHQuc2V0TW9udGgoYSwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9fX0pO3ZhciB1dyxIN2U9ZigoKT0+e2huKCk7dnIoKTtMcigpO3V3PWNsYXNzIGV4dGVuZHMgZXR7cHJpb3JpdHk9MTEwO3BhcnNlKHQscixhKXtsZXQgaT1uPT5uLTE7c3dpdGNoKHIpe2Nhc2UiTCI6cmV0dXJuIEhyKG9yKGRyLm1vbnRoLHQpLGkpO2Nhc2UiTEwiOnJldHVybiBIcihQdCgyLHQpLGkpO2Nhc2UiTG8iOnJldHVybiBIcihhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoibW9udGgifSksaSk7Y2FzZSJMTEwiOnJldHVybiBhLm1vbnRoKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5tb250aCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiTExMTEwiOnJldHVybiBhLm1vbnRoKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gYS5tb250aCh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5tb250aCh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fGEubW9udGgodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19dmFsaWRhdGUodCxyKXtyZXR1cm4gcj49MCYmcjw9MTF9c2V0KHQscixhKXtyZXR1cm4gdC5zZXRNb250aChhLDEpLHQuc2V0SG91cnMoMCwwLDAsMCksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInEiLCJRIiwiTSIsInciLCJJIiwiRCIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7ZnVuY3Rpb24gcHcoZSx0LHIpe2xldCBhPXBlKGUscj8uaW4pLGk9bDUoYSxyKS10O3JldHVybiBhLnNldERhdGUoYS5nZXREYXRlKCktaSo3KSxwZShhLHI/LmluKX12YXIgd2JhLHZxPWYoKCk9PntSeSgpO0ZlKCk7d2JhPXB3fSk7dmFyIGZ3LHE3ZT1mKCgpPT57dnEoKTtsbygpO2huKCk7dnIoKTtMcigpO2Z3PWNsYXNzIGV4dGVuZHMgZXR7cHJpb3JpdHk9MTAwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJ3IjpyZXR1cm4gb3IoZHIud2Vlayx0KTtjYXNlIndvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6IndlZWsifSk7ZGVmYXVsdDpyZXR1cm4gUHQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTEmJnI8PTUzfXNldCh0LHIsYSxpKXtyZXR1cm4gdGEocHcodCxhLGkpLGkpfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsInEiLCJRIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJpIiwidCIsIlQiXX19KTtmdW5jdGlvbiBodyhlLHQscil7bGV0IGE9cGUoZSxyPy5pbiksaT1vNShhLHIpLXQ7cmV0dXJuIGEuc2V0RGF0ZShhLmdldERhdGUoKS1pKjcpLGF9dmFyIERiYSx4cT1mKCgpPT57RnkoKTtGZSgpO0RiYT1od30pO3ZhciBtdyxqN2U9ZigoKT0+e3hxKCk7czIoKTtobigpO3ZyKCk7THIoKTttdz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTEwMDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiSSI6cmV0dXJuIG9yKGRyLndlZWssdCk7Y2FzZSJJbyI6cmV0dXJuIGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJ3ZWVrIn0pO2RlZmF1bHQ6cmV0dXJuIFB0KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0xJiZyPD01M31zZXQodCxyLGEpe3JldHVybiBKYShodyh0LGEpKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiWSIsInUiLCJxIiwiUSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciB5OXIsdzlyLGd3LFY3ZT1mKCgpPT57aG4oKTt2cigpO0xyKCk7eTlyPVszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sdzlyPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sZ3c9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT05MDtzdWJQcmlvcml0eT0xO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJkIjpyZXR1cm4gb3IoZHIuZGF0ZSx0KTtjYXNlImRvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImRhdGUifSk7ZGVmYXVsdDpyZXR1cm4gUHQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7bGV0IGE9dC5nZXRGdWxsWWVhcigpLGk9YXcoYSksbj10LmdldE1vbnRoKCk7cmV0dXJuIGk/cj49MSYmcjw9dzlyW25dOnI+PTEmJnI8PXk5cltuXX1zZXQodCxyLGEpe3JldHVybiB0LnNldERhdGUoYSksdC5zZXRIb3VycygwLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIlEiLCJ3IiwiSSIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBidyxVN2U9ZigoKT0+e2huKCk7dnIoKTtMcigpO2J3PWNsYXNzIGV4dGVuZHMgZXR7cHJpb3JpdHk9OTA7c3VicHJpb3JpdHk9MTtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiRCI6Y2FzZSJERCI6cmV0dXJuIG9yKGRyLmRheU9mWWVhcix0KTtjYXNlIkRvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImRhdGUifSk7ZGVmYXVsdDpyZXR1cm4gUHQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7bGV0IGE9dC5nZXRGdWxsWWVhcigpO3JldHVybiBhdyhhKT9yPj0xJiZyPD0zNjY6cj49MSYmcjw9MzY1fXNldCh0LHIsYSl7cmV0dXJuIHQuc2V0TW9udGgoMCxhKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiUSIsIk0iLCJMIiwidyIsIkkiLCJkIiwiRSIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7ZnVuY3Rpb24gdjAoZSx0LHIpe2xldCBhPV9yKCksaT1yPy53ZWVrU3RhcnRzT24/P3I/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9hLndlZWtTdGFydHNPbj8/YS5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxuPXBlKGUscj8uaW4pLHM9bi5nZXREYXkoKSxjPSh0JTcrNyklNyxsPTctaSx1PXQ8MHx8dD42P3QtKHMrbCklNzooYytsKSU3LShzK2wpJTc7cmV0dXJuIGNpKG4sdSxyKX12YXIgWGJhLFVoPWYoKCk9Pnt1bigpO2EyKCk7RmUoKTtYYmE9djB9KTt2YXIgdncsVzdlPWYoKCk9PntVaCgpO3ZyKCk7dnc9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT05MDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiRSI6Y2FzZSJFRSI6Y2FzZSJFRUUiOnJldHVybiBhLmRheSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFIjpyZXR1cm4gYS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFRSI6cmV0dXJuIGEuZGF5KHQse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheSh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTAmJnI8PTZ9c2V0KHQscixhLGkpe3JldHVybiB0PXYwKHQsYSxpKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiRCIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIHh3LEc3ZT1mKCgpPT57VWgoKTt2cigpO0xyKCk7eHc9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT05MDtwYXJzZSh0LHIsYSxpKXtsZXQgbj1zPT57bGV0IG89TWF0aC5mbG9vcigocy0xKS83KSo3O3JldHVybihzK2kud2Vla1N0YXJ0c09uKzYpJTcrb307c3dpdGNoKHIpe2Nhc2UiZSI6Y2FzZSJlZSI6cmV0dXJuIEhyKFB0KHIubGVuZ3RoLHQpLG4pO2Nhc2UiZW8iOnJldHVybiBIcihhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoiZGF5In0pLG4pO2Nhc2UiZWVlIjpyZXR1cm4gYS5kYXkodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZSI6cmV0dXJuIGEuZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZWUiOnJldHVybiBhLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gYS5kYXkodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0wJiZyPD02fXNldCh0LHIsYSxpKXtyZXR1cm4gdD12MCh0LGEsaSksdC5zZXRIb3VycygwLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsInEiLCJRIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJFIiwiaSIsImMiLCJ0IiwiVCJdfX0pO3ZhciB5dyxZN2U9ZigoKT0+e1VoKCk7dnIoKTtMcigpO3l3PWNsYXNzIGV4dGVuZHMgZXR7cHJpb3JpdHk9OTA7cGFyc2UodCxyLGEsaSl7bGV0IG49cz0+e2xldCBvPU1hdGguZmxvb3IoKHMtMSkvNykqNztyZXR1cm4ocytpLndlZWtTdGFydHNPbis2KSU3K299O3N3aXRjaChyKXtjYXNlImMiOmNhc2UiY2MiOnJldHVybiBIcihQdChyLmxlbmd0aCx0KSxuKTtjYXNlImNvIjpyZXR1cm4gSHIoYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImRheSJ9KSxuKTtjYXNlImNjYyI6cmV0dXJuIGEuZGF5KHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiY2NjY2MiOnJldHVybiBhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiY2NjY2NjIjpyZXR1cm4gYS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2RlZmF1bHQ6cmV0dXJuIGEuZGF5KHQse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxhLmRheSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fGEuZGF5KHQse3dpZHRoOiJzaG9ydCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19dmFsaWRhdGUodCxyKXtyZXR1cm4gcj49MCYmcjw9Nn1zZXQodCxyLGEsaSl7cmV0dXJuIHQ9djAodCxhLGkpLHQuc2V0SG91cnMoMCwwLDAsMCksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiUiIsInUiLCJxIiwiUSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiRSIsImkiLCJlIiwidCIsIlQiXX19KTtmdW5jdGlvbiB3dyhlLHQscil7bGV0IGE9cGUoZSxyPy5pbiksaT1ZeShhLHIpLG49dC1pO3JldHVybiBjaShhLG4scil9dmFyIHB2YSx5cT1mKCgpPT57YTIoKTtocSgpO0ZlKCk7cHZhPXd3fSk7dmFyIE13LFo3ZT1mKCgpPT57eXEoKTt2cigpO0xyKCk7TXc9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT05MDtwYXJzZSh0LHIsYSl7bGV0IGk9bj0+bj09PTA/NzpuO3N3aXRjaChyKXtjYXNlImkiOmNhc2UiaWkiOnJldHVybiBQdChyLmxlbmd0aCx0KTtjYXNlImlvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImRheSJ9KTtjYXNlImlpaSI6cmV0dXJuIEhyKGEuZGF5KHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWkiOnJldHVybiBIcihhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWlpIjpyZXR1cm4gSHIoYS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2RlZmF1bHQ6cmV0dXJuIEhyKGEuZGF5KHQse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KSxpKX19dmFsaWRhdGUodCxyKXtyZXR1cm4gcj49MSYmcjw9N31zZXQodCxyLGEpe3JldHVybiB0PXd3KHQsYSksdC5zZXRIb3VycygwLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJZIiwidSIsInEiLCJRIiwiTSIsIkwiLCJ3IiwiZCIsIkQiLCJFIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBrdyxYN2U9ZigoKT0+e3ZyKCk7THIoKTtrdz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTgwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJhIjpjYXNlImFhIjpjYXNlImFhYSI6cmV0dXJuIGEuZGF5UGVyaW9kKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImFhYWFhIjpyZXR1cm4gYS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheVBlcmlvZCh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheVBlcmlvZCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX1zZXQodCxyLGEpe3JldHVybiB0LnNldEhvdXJzKHU1KGEpLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImIiLCJCIiwiSCIsImsiLCJ0IiwiVCJdfX0pO3ZhciBTdyxRN2U9ZigoKT0+e3ZyKCk7THIoKTtTdz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTgwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJiIjpjYXNlImJiIjpjYXNlImJiYiI6cmV0dXJuIGEuZGF5UGVyaW9kKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImJiYmJiIjpyZXR1cm4gYS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheVBlcmlvZCh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheVBlcmlvZCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX1zZXQodCxyLGEpe3JldHVybiB0LnNldEhvdXJzKHU1KGEpLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImEiLCJCIiwiSCIsImsiLCJ0IiwiVCJdfX0pO3ZhciB6dyxKN2U9ZigoKT0+e3ZyKCk7THIoKTt6dz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTgwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJCIjpjYXNlIkJCIjpjYXNlIkJCQiI6cmV0dXJuIGEuZGF5UGVyaW9kKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkJCQkJCIjpyZXR1cm4gYS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheVBlcmlvZCh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheVBlcmlvZCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX1zZXQodCxyLGEpe3JldHVybiB0LnNldEhvdXJzKHU1KGEpLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImEiLCJiIiwidCIsIlQiXX19KTt2YXIgQ3csSzdlPWYoKCk9PntobigpO3ZyKCk7THIoKTtDdz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTcwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJoIjpyZXR1cm4gb3IoZHIuaG91cjEyaCx0KTtjYXNlImhvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImhvdXIifSk7ZGVmYXVsdDpyZXR1cm4gUHQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTEmJnI8PTEyfXNldCh0LHIsYSl7bGV0IGk9dC5nZXRIb3VycygpPj0xMjtyZXR1cm4gaSYmYTwxMj90LnNldEhvdXJzKGErMTIsMCwwLDApOiFpJiZhPT09MTI/dC5zZXRIb3VycygwLDAsMCwwKTp0LnNldEhvdXJzKGEsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiSCIsIksiLCJrIiwidCIsIlQiXX19KTt2YXIgVHcsZTllPWYoKCk9PntobigpO3ZyKCk7THIoKTtUdz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTcwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJIIjpyZXR1cm4gb3IoZHIuaG91cjIzaCx0KTtjYXNlIkhvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImhvdXIifSk7ZGVmYXVsdDpyZXR1cm4gUHQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTAmJnI8PTIzfXNldCh0LHIsYSl7cmV0dXJuIHQuc2V0SG91cnMoYSwwLDAsMCksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiYiIsImgiLCJLIiwiayIsInQiLCJUIl19fSk7dmFyIF93LHQ5ZT1mKCgpPT57aG4oKTt2cigpO0xyKCk7X3c9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT03MDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiSyI6cmV0dXJuIG9yKGRyLmhvdXIxMWgsdCk7Y2FzZSJLbyI6cmV0dXJuIGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIFB0KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0wJiZyPD0xMX1zZXQodCxyLGEpe3JldHVybiB0LmdldEhvdXJzKCk+PTEyJiZhPDEyP3Quc2V0SG91cnMoYSsxMiwwLDAsMCk6dC5zZXRIb3VycyhhLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImgiLCJIIiwiayIsInQiLCJUIl19fSk7dmFyIEx3LHI5ZT1mKCgpPT57aG4oKTt2cigpO0xyKCk7THc9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT03MDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiayI6cmV0dXJuIG9yKGRyLmhvdXIyNGgsdCk7Y2FzZSJrbyI6cmV0dXJuIGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIFB0KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0xJiZyPD0yNH1zZXQodCxyLGEpe2xldCBpPWE8PTI0P2ElMjQ6YTtyZXR1cm4gdC5zZXRIb3VycyhpLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImEiLCJiIiwiaCIsIkgiLCJLIiwidCIsIlQiXX19KTt2YXIgJHcsYTllPWYoKCk9PntobigpO3ZyKCk7THIoKTskdz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTYwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJtIjpyZXR1cm4gb3IoZHIubWludXRlLHQpO2Nhc2UibW8iOnJldHVybiBhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoibWludXRlIn0pO2RlZmF1bHQ6cmV0dXJuIFB0KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0wJiZyPD01OX1zZXQodCxyLGEpe3JldHVybiB0LnNldE1pbnV0ZXMoYSwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsidCIsIlQiXX19KTt2YXIgRHcsaTllPWYoKCk9PntobigpO3ZyKCk7THIoKTtEdz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTUwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJzIjpyZXR1cm4gb3IoZHIuc2Vjb25kLHQpO2Nhc2Uic28iOnJldHVybiBhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoic2Vjb25kIn0pO2RlZmF1bHQ6cmV0dXJuIFB0KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0wJiZyPD01OX1zZXQodCxyLGEpe3JldHVybiB0LnNldFNlY29uZHMoYSwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIl19fSk7dmFyIEF3LG45ZT1mKCgpPT57dnIoKTtMcigpO0F3PWNsYXNzIGV4dGVuZHMgZXR7cHJpb3JpdHk9MzA7cGFyc2UodCxyKXtsZXQgYT1pPT5NYXRoLnRydW5jKGkqTWF0aC5wb3coMTAsLXIubGVuZ3RoKzMpKTtyZXR1cm4gSHIoUHQoci5sZW5ndGgsdCksYSl9c2V0KHQscixhKXtyZXR1cm4gdC5zZXRNaWxsaXNlY29uZHMoYSksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCJdfX0pO3ZhciBFdyxzOWU9ZigoKT0+e2h0KCk7emwoKTtobigpO3ZyKCk7THIoKTtFdz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTEwO3BhcnNlKHQscil7c3dpdGNoKHIpe2Nhc2UiWCI6cmV0dXJuIGZzKHBzLmJhc2ljT3B0aW9uYWxNaW51dGVzLHQpO2Nhc2UiWFgiOnJldHVybiBmcyhwcy5iYXNpYyx0KTtjYXNlIlhYWFgiOnJldHVybiBmcyhwcy5iYXNpY09wdGlvbmFsU2Vjb25kcyx0KTtjYXNlIlhYWFhYIjpyZXR1cm4gZnMocHMuZXh0ZW5kZWRPcHRpb25hbFNlY29uZHMsdCk7ZGVmYXVsdDpyZXR1cm4gZnMocHMuZXh0ZW5kZWQsdCl9fXNldCh0LHIsYSl7cmV0dXJuIHIudGltZXN0YW1wSXNTZXQ/dDpQZSh0LHQuZ2V0VGltZSgpLV9hKHQpLWEpfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIiwieCJdfX0pO3ZhciBJdyxvOWU9ZigoKT0+e2h0KCk7emwoKTtobigpO3ZyKCk7THIoKTtJdz1jbGFzcyBleHRlbmRzIGV0e3ByaW9yaXR5PTEwO3BhcnNlKHQscil7c3dpdGNoKHIpe2Nhc2UieCI6cmV0dXJuIGZzKHBzLmJhc2ljT3B0aW9uYWxNaW51dGVzLHQpO2Nhc2UieHgiOnJldHVybiBmcyhwcy5iYXNpYyx0KTtjYXNlInh4eHgiOnJldHVybiBmcyhwcy5iYXNpY09wdGlvbmFsU2Vjb25kcyx0KTtjYXNlInh4eHh4IjpyZXR1cm4gZnMocHMuZXh0ZW5kZWRPcHRpb25hbFNlY29uZHMsdCk7ZGVmYXVsdDpyZXR1cm4gZnMocHMuZXh0ZW5kZWQsdCl9fXNldCh0LHIsYSl7cmV0dXJuIHIudGltZXN0YW1wSXNTZXQ/dDpQZSh0LHQuZ2V0VGltZSgpLV9hKHQpLWEpfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIiwiWCJdfX0pO3ZhciBQdyxsOWU9ZigoKT0+e2h0KCk7dnIoKTtMcigpO1B3PWNsYXNzIGV4dGVuZHMgZXR7cHJpb3JpdHk9NDA7cGFyc2UodCl7cmV0dXJuIHR3KHQpfXNldCh0LHIsYSl7cmV0dXJuW1BlKHQsYSoxZTMpLHt0aW1lc3RhbXBJc1NldDohMH1dfWluY29tcGF0aWJsZVRva2Vucz0iKiJ9fSk7dmFyIE53LGM5ZT1mKCgpPT57aHQoKTt2cigpO0xyKCk7Tnc9Y2xhc3MgZXh0ZW5kcyBldHtwcmlvcml0eT0yMDtwYXJzZSh0KXtyZXR1cm4gdHcodCl9c2V0KHQscixhKXtyZXR1cm5bUGUodCxhKSx7dGltZXN0YW1wSXNTZXQ6ITB9XX1pbmNvbXBhdGlibGVUb2tlbnM9IioifX0pO3ZhciBGdyxkOWU9ZigoKT0+e0U3ZSgpO0k3ZSgpO1A3ZSgpO043ZSgpO0Y3ZSgpO083ZSgpO1I3ZSgpO0I3ZSgpO0g3ZSgpO3E3ZSgpO2o3ZSgpO1Y3ZSgpO1U3ZSgpO1c3ZSgpO0c3ZSgpO1k3ZSgpO1o3ZSgpO1g3ZSgpO1E3ZSgpO0o3ZSgpO0s3ZSgpO2U5ZSgpO3Q5ZSgpO3I5ZSgpO2E5ZSgpO2k5ZSgpO245ZSgpO3M5ZSgpO285ZSgpO2w5ZSgpO2M5ZSgpO0Z3PXtHOm5ldyBldyx5Om5ldyBpdyxZOm5ldyBudyxSOm5ldyBzdyx1Om5ldyBvdyxROm5ldyBsdyxxOm5ldyBjdyxNOm5ldyBkdyxMOm5ldyB1dyx3Om5ldyBmdyxJOm5ldyBtdyxkOm5ldyBndyxEOm5ldyBidyxFOm5ldyB2dyxlOm5ldyB4dyxjOm5ldyB5dyxpOm5ldyBNdyxhOm5ldyBrdyxiOm5ldyBTdyxCOm5ldyB6dyxoOm5ldyBDdyxIOm5ldyBUdyxLOm5ldyBfdyxrOm5ldyBMdyxtOm5ldyAkdyxzOm5ldyBEdyxTOm5ldyBBdyxYOm5ldyBFdyx4Om5ldyBJdyx0Om5ldyBQdyxUOm5ldyBOd319KTtmdW5jdGlvbiBPdyhlLHQscixhKXtsZXQgaT0oKT0+UGUoYT8uaW58fHIsTmFOKSxuPUd5KCkscz1hPy5sb2NhbGU/P24ubG9jYWxlPz94MSxvPWE/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/YT8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P24uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9uLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLGM9YT8ud2Vla1N0YXJ0c09uPz9hPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/bi53ZWVrU3RhcnRzT24/P24ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzA7aWYoIXQpcmV0dXJuIGU/aSgpOnBlKHIsYT8uaW4pO2xldCBsPXtmaXJzdFdlZWtDb250YWluc0RhdGU6byx3ZWVrU3RhcnRzT246Yyxsb2NhbGU6c30sdT1bbmV3IEt5KGE/LmluLHIpXSxkPXQubWF0Y2goazlyKS5tYXAoZz0+e2xldCB5PWdbMF07aWYoeSBpbiBnMCl7bGV0IHc9ZzBbeV07cmV0dXJuIHcoZyxzLmZvcm1hdExvbmcpfXJldHVybiBnfSkuam9pbigiIikubWF0Y2goTTlyKSxoPVtdO2ZvcihsZXQgZyBvZiBkKXshYT8udXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zJiZIeShnKSYmcWgoZyx0LGUpLCFhPy51c2VBZGRpdGlvbmFsRGF5T2ZZZWFyVG9rZW5zJiZCeShnKSYmcWgoZyx0LGUpO2xldCB5PWdbMF0sdz1Gd1t5XTtpZih3KXtsZXR7aW5jb21wYXRpYmxlVG9rZW5zOmt9PXc7aWYoQXJyYXkuaXNBcnJheShrKSl7bGV0IEM9aC5maW5kKFM9PmsuaW5jbHVkZXMoUy50b2tlbil8fFMudG9rZW49PT15KTtpZihDKXRocm93IG5ldyBSYW5nZUVycm9yKGBUaGUgZm9ybWF0IHN0cmluZyBtdXN0bid0IGNvbnRhaW4gXGAke0MuZnVsbFRva2VufVxgIGFuZCBcYCR7Z31cYCBhdCB0aGUgc2FtZSB0aW1lYCl9ZWxzZSBpZih3LmluY29tcGF0aWJsZVRva2Vucz09PSIqIiYmaC5sZW5ndGg+MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlIGZvcm1hdCBzdHJpbmcgbXVzdG4ndCBjb250YWluIFxgJHtnfVxgIGFuZCBhbnkgb3RoZXIgdG9rZW4gYXQgdGhlIHNhbWUgdGltZWApO2gucHVzaCh7dG9rZW46eSxmdWxsVG9rZW46Z30pO2xldCBSPXcucnVuKGUsZyxzLm1hdGNoLGwpO2lmKCFSKXJldHVybiBpKCk7dS5wdXNoKFIuc2V0dGVyKSxlPVIucmVzdH1lbHNle2lmKHkubWF0Y2goVDlyKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAiK3krImAiKTtpZihnPT09IicnIj9nPSInIjp5PT09IiciJiYoZz1fOXIoZykpLGUuaW5kZXhPZihnKT09PTApZT1lLnNsaWNlKGcubGVuZ3RoKTtlbHNlIHJldHVybiBpKCl9fWlmKGUubGVuZ3RoPjAmJkM5ci50ZXN0KGUpKXJldHVybiBpKCk7bGV0IG09dS5tYXAoZz0+Zy5wcmlvcml0eSkuc29ydCgoZyx5KT0+eS1nKS5maWx0ZXIoKGcseSx3KT0+dy5pbmRleE9mKGcpPT09eSkubWFwKGc9PnUuZmlsdGVyKHk9PnkucHJpb3JpdHk9PT1nKS5zb3J0KCh5LHcpPT53LnN1YlByaW9yaXR5LXkuc3ViUHJpb3JpdHkpKS5tYXAoZz0+Z1swXSksdj1wZShyLGE/LmluKTtpZihpc05hTigrdikpcmV0dXJuIGkoKTtsZXQgYj17fTtmb3IobGV0IGcgb2YgbSl7aWYoIWcudmFsaWRhdGUodixsKSlyZXR1cm4gaSgpO2xldCB5PWcuc2V0KHYsYixsKTtBcnJheS5pc0FycmF5KHkpPyh2PXlbMF0sT2JqZWN0LmFzc2lnbihiLHlbMV0pKTp2PXl9cmV0dXJuIHZ9ZnVuY3Rpb24gXzlyKGUpe3JldHVybiBlLm1hdGNoKFM5cilbMV0ucmVwbGFjZSh6OXIsIiciKX12YXIgTTlyLGs5cixTOXIsejlyLEM5cixUOXIsc3lhLHdxPWYoKCk9PntOMygpO25xKCk7c3EoKTtodCgpO2ZxKCk7RmUoKTticSgpO2Q5ZSgpO005cj0vW3lZUXFNTHdJZERlY2loSEtrbXNdb3woXHcpXDEqfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLGs5cj0vUCtwK3xQK3xwK3wnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyxTOXI9L14nKFteXSo/KSc/JC8sejlyPS8nJy9nLEM5cj0vXFMvLFQ5cj0vW2EtekEtWl0vO3N5YT1Pd30pO2Z1bmN0aW9uIHU5ZShlLHQscil7cmV0dXJuIFZpKE93KGUsdCxuZXcgRGF0ZSxyKSl9dmFyIGR5YSxwOWU9ZigoKT0+e1RsKCk7d3EoKTtkeWE9dTllfSk7ZnVuY3Rpb24gZjllKGUsdCl7cmV0dXJuIHBlKGUsdD8uaW4pLmdldERheSgpPT09MX12YXIgZnlhLGg5ZT1mKCgpPT57RmUoKTtmeWE9ZjllfSk7ZnVuY3Rpb24gbTllKGUpe3JldHVybitwZShlKTxEYXRlLm5vdygpfXZhciBneWEsZzllPWYoKCk9PntGZSgpO2d5YT1tOWV9KTtmdW5jdGlvbiBXaChlLHQpe2xldCByPXBlKGUsdD8uaW4pO3JldHVybiByLnNldE1pbnV0ZXMoMCwwLDApLHJ9dmFyIHh5YSxNcT1mKCgpPT57RmUoKTt4eWE9V2h9KTtmdW5jdGlvbiBSdyhlLHQscil7bGV0W2EsaV09ZHQocj8uaW4sZSx0KTtyZXR1cm4rV2goYSk9PStXaChpKX12YXIga3lhLGtxPWYoKCk9PntCcigpO01xKCk7a3lhPVJ3fSk7ZnVuY3Rpb24gcDUoZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCk7cmV0dXJuK3RhKGEscik9PSt0YShpLHIpfXZhciBUeWEsQnc9ZigoKT0+e0JyKCk7bG8oKTtUeWE9cDV9KTtmdW5jdGlvbiBIdyhlLHQscil7cmV0dXJuIHA1KGUsdCx7Li4ucix3ZWVrU3RhcnRzT246MX0pfXZhciAkeWEsU3E9ZigoKT0+e0J3KCk7JHlhPUh3fSk7ZnVuY3Rpb24gYjllKGUsdCxyKXtsZXRbYSxpXT1kdChyPy5pbixlLHQpO3JldHVybitQMShhKT09K1AxKGkpfXZhciBJeWEsdjllPWYoKCk9PntZdSgpO0JyKCk7SXlhPWI5ZX0pO2Z1bmN0aW9uIEdoKGUsdCl7bGV0IHI9cGUoZSx0Py5pbik7cmV0dXJuIHIuc2V0U2Vjb25kcygwLDApLHJ9dmFyIEZ5YSx6cT1mKCgpPT57RmUoKTtGeWE9R2h9KTtmdW5jdGlvbiBxdyhlLHQpe3JldHVybitHaChlKT09K0doKHQpfXZhciBCeWEsQ3E9ZigoKT0+e3pxKCk7QnlhPXF3fSk7ZnVuY3Rpb24gancoZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCk7cmV0dXJuIGEuZ2V0RnVsbFllYXIoKT09PWkuZ2V0RnVsbFllYXIoKSYmYS5nZXRNb250aCgpPT09aS5nZXRNb250aCgpfXZhciBqeWEsVHE9ZigoKT0+e0JyKCk7anlhPWp3fSk7ZnVuY3Rpb24gVncoZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCk7cmV0dXJuK3UyKGEpPT0rdTIoaSl9dmFyIEd5YSxfcT1mKCgpPT57QnIoKTskeSgpO0d5YT1Wd30pO2Z1bmN0aW9uIFloKGUsdCl7bGV0IHI9cGUoZSx0Py5pbik7cmV0dXJuIHIuc2V0TWlsbGlzZWNvbmRzKDApLHJ9dmFyIFh5YSxMcT1mKCgpPT57RmUoKTtYeWE9WWh9KTtmdW5jdGlvbiBVdyhlLHQpe3JldHVybitZaChlKT09K1loKHQpfXZhciBLeWEsJHE9ZigoKT0+e0xxKCk7S3lhPVV3fSk7ZnVuY3Rpb24gV3coZSx0LHIpe2xldFthLGldPWR0KHI/LmluLGUsdCk7cmV0dXJuIGEuZ2V0RnVsbFllYXIoKT09PWkuZ2V0RnVsbFllYXIoKX12YXIgcndhLERxPWYoKCk9PntCcigpO3J3YT1Xd30pO2Z1bmN0aW9uIHg5ZShlLHQpe3JldHVybiBSdyhwZShlLHQ/LmluKSxHdCh0Py5pbnx8ZSkpfXZhciBvd2EseTllPWYoKCk9PntkaSgpO2txKCk7RmUoKTtvd2E9eDllfSk7ZnVuY3Rpb24gdzllKGUsdCl7cmV0dXJuIEh3KFBlKHQ/LmlufHxlLGUpLEd0KHQ/LmlufHxlKSl9dmFyIHB3YSxNOWU9ZigoKT0+e2h0KCk7ZGkoKTtTcSgpO3B3YT13OWV9KTtmdW5jdGlvbiBrOWUoZSl7cmV0dXJuIHF3KGUsR3QoZSkpfXZhciBnd2EsUzllPWYoKCk9PntkaSgpO0NxKCk7Z3dhPWs5ZX0pO2Z1bmN0aW9uIHo5ZShlLHQpe3JldHVybiBqdyhQZSh0Py5pbnx8ZSxlKSxHdCh0Py5pbnx8ZSkpfXZhciB3d2EsQzllPWYoKCk9PntodCgpO2RpKCk7VHEoKTt3d2E9ejllfSk7ZnVuY3Rpb24gVDllKGUsdCl7cmV0dXJuIFZ3KFBlKHQ/LmlufHxlLGUpLEd0KHQ/LmlufHxlKSl9dmFyIEN3YSxfOWU9ZigoKT0+e2h0KCk7ZGkoKTtfcSgpO0N3YT1UOWV9KTtmdW5jdGlvbiBMOWUoZSl7cmV0dXJuIFV3KGUsR3QoZSkpfXZhciAkd2EsJDllPWYoKCk9PntkaSgpOyRxKCk7JHdhPUw5ZX0pO2Z1bmN0aW9uIEQ5ZShlLHQpe3JldHVybiBwNShQZSh0Py5pbnx8ZSxlKSxHdCh0Py5pbnx8ZSksdCl9dmFyIFB3YSxBOWU9ZigoKT0+e2h0KCk7ZGkoKTtCdygpO1B3YT1EOWV9KTtmdW5jdGlvbiBFOWUoZSx0KXtyZXR1cm4gV3coUGUodD8uaW58fGUsZSksR3QodD8uaW58fGUpKX12YXIgQndhLEk5ZT1mKCgpPT57aHQoKTtkaSgpO0RxKCk7QndhPUU5ZX0pO2Z1bmN0aW9uIFA5ZShlLHQpe3JldHVybiBwZShlLHQ/LmluKS5nZXREYXkoKT09PTR9dmFyIGp3YSxOOWU9ZigoKT0+e0ZlKCk7andhPVA5ZX0pO2Z1bmN0aW9uIEY5ZShlLHQpe3JldHVybiBsMihQZSh0Py5pbnx8ZSxlKSxHdCh0Py5pbnx8ZSkpfXZhciBZd2EsTzllPWYoKCk9PntodCgpO2RpKCk7UXUoKTtZd2E9RjllfSk7ZnVuY3Rpb24gUjllKGUsdCl7cmV0dXJuIGwyKGUsY2koR3QodD8uaW58fGUpLDEpLHQpfXZhciBLd2EsQjllPWYoKCk9PnthMigpO2RpKCk7UXUoKTtLd2E9UjllfSk7ZnVuY3Rpb24gSDllKGUsdCl7cmV0dXJuIHBlKGUsdD8uaW4pLmdldERheSgpPT09Mn12YXIgck1hLHE5ZT1mKCgpPT57RmUoKTtyTWE9SDllfSk7ZnVuY3Rpb24gajllKGUsdCl7cmV0dXJuIHBlKGUsdD8uaW4pLmdldERheSgpPT09M312YXIgbk1hLFY5ZT1mKCgpPT57RmUoKTtuTWE9ajllfSk7ZnVuY3Rpb24gVTllKGUsdCxyKXtsZXQgYT0rcGUoZSxyPy5pbiksW2ksbl09WytwZSh0LnN0YXJ0LHI/LmluKSwrcGUodC5lbmQscj8uaW4pXS5zb3J0KChzLG8pPT5zLW8pO3JldHVybiBhPj1pJiZhPD1ufXZhciBsTWEsVzllPWYoKCk9PntGZSgpO2xNYT1VOWV9KTtmdW5jdGlvbiB4MChlLHQscil7cmV0dXJuIGNpKGUsLXQscil9dmFyIHVNYSxaaD1mKCgpPT57YTIoKTt1TWE9eDB9KTtmdW5jdGlvbiBHOWUoZSx0KXtyZXR1cm4gbDIoUGUodD8uaW58fGUsZSkseDAoR3QodD8uaW58fGUpLDEpKX12YXIgYk1hLFk5ZT1mKCgpPT57aHQoKTtkaSgpO1F1KCk7WmgoKTtiTWE9RzllfSk7ZnVuY3Rpb24gWjllKGUsdCl7bGV0IHI9cGUoZSx0Py5pbiksYT1yLmdldEZ1bGxZZWFyKCksaT05K01hdGguZmxvb3IoYS8xMCkqMTA7cmV0dXJuIHIuc2V0RnVsbFllYXIoaSsxLDAsMCksci5zZXRIb3VycygwLDAsMCwwKSxwZShyLHQ/LmluKX12YXIgeU1hLFg5ZT1mKCgpPT57RmUoKTt5TWE9WjllfSk7ZnVuY3Rpb24gR3coZSx0KXtsZXQgcj1fcigpLGE9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/ci53ZWVrU3RhcnRzT24/P3IubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1wZShlLHQ/LmluKSxuPWkuZ2V0RGF5KCkscz0objxhPy03OjApKzYtKG4tYSk7cmV0dXJuIGkuc2V0SG91cnMoMCwwLDAsMCksaS5zZXREYXRlKGkuZ2V0RGF0ZSgpK3MpLGl9dmFyIFNNYSxBcT1mKCgpPT57dW4oKTtGZSgpO1NNYT1Hd30pO2Z1bmN0aW9uIFE5ZShlLHQpe3JldHVybiBHdyhlLHsuLi50LHdlZWtTdGFydHNPbjoxfSl9dmFyIFRNYSxKOWU9ZigoKT0+e0FxKCk7VE1hPVE5ZX0pO2Z1bmN0aW9uIEs5ZShlLHQpe2xldCByPWpuKGUsdCksYT1QZSh0Py5pbnx8ZSwwKTthLnNldEZ1bGxZZWFyKHIrMSwwLDQpLGEuc2V0SG91cnMoMCwwLDAsMCk7bGV0IGk9SmEoYSx0KTtyZXR1cm4gaS5zZXREYXRlKGkuZ2V0RGF0ZSgpLTEpLGl9dmFyIEFNYSxlZ2U9ZigoKT0+e2h0KCk7ZDAoKTtzMigpO0FNYT1LOWV9KTtmdW5jdGlvbiB0Z2UoZSx0KXtsZXQgcj1wZShlLHQ/LmluKSxhPXIuZ2V0TW9udGgoKSxpPWEtYSUzKzM7cmV0dXJuIHIuc2V0TW9udGgoaSwwKSxyLnNldEhvdXJzKDAsMCwwLDApLHJ9dmFyIFBNYSxyZ2U9ZigoKT0+e0ZlKCk7UE1hPXRnZX0pO2Z1bmN0aW9uIGFnZShlLHQpe2xldCByPXBlKGUsdD8uaW4pLGE9ci5nZXRGdWxsWWVhcigpO3JldHVybiByLnNldEZ1bGxZZWFyKGErMSwwLDApLHIuc2V0SG91cnMoMCwwLDAsMCkscn12YXIgT01hLGlnZT1mKCgpPT57RmUoKTtPTWE9YWdlfSk7ZnVuY3Rpb24gbmdlKGUsdCl7bGV0IHI9cGUoZSk7aWYoIVZpKHIpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgYT10Lm1hdGNoKEw5cik7cmV0dXJuIGE/YS5tYXAobj0+e2lmKG49PT0iJyciKXJldHVybiInIjtsZXQgcz1uWzBdO2lmKHM9PT0iJyIpcmV0dXJuIEU5cihuKTtsZXQgbz1OMVtzXTtpZihvKXJldHVybiBvKHIsbik7aWYocy5tYXRjaChBOXIpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrcysiYCIpO3JldHVybiBufSkuam9pbigiIik6IiJ9ZnVuY3Rpb24gRTlyKGUpe2xldCB0PWUubWF0Y2goJDlyKTtyZXR1cm4gdD90WzFdLnJlcGxhY2UoRDlyLCInIik6ZX12YXIgTDlyLCQ5cixEOXIsQTlyLGpNYSxzZ2U9ZigoKT0+e2lxKCk7VGwoKTtGZSgpO0w5cj0vKFx3KVwxKnwnJ3wnKCcnfFteJ10pKygnfCQpfC4vZywkOXI9L14nKFteXSo/KSc/JC8sRDlyPS8nJy9nLEE5cj0vW2EtekEtWl0vO2pNYT1uZ2V9KTtmdW5jdGlvbiBvZ2Uoe3llYXJzOmUsbW9udGhzOnQsd2Vla3M6cixkYXlzOmEsaG91cnM6aSxtaW51dGVzOm4sc2Vjb25kczpzfSl7bGV0IG89MDtlJiYobys9ZSozNjUuMjQyNSksdCYmKG8rPXQqKDM2NS4yNDI1LzEyKSksciYmKG8rPXIqNyksYSYmKG8rPWEpO2xldCBjPW8qMjQqNjAqNjA7cmV0dXJuIGkmJihjKz1pKjYwKjYwKSxuJiYoYys9bio2MCkscyYmKGMrPXMpLE1hdGgudHJ1bmMoYyoxZTMpfXZhciBXTWEsbGdlPWYoKCk9PntPdCgpO1dNYT1vZ2V9KTtmdW5jdGlvbiBjZ2UoZSl7bGV0IHQ9ZS9JMTtyZXR1cm4gTWF0aC50cnVuYyh0KX12YXIgWk1hLGRnZT1mKCgpPT57T3QoKTtaTWE9Y2dlfSk7ZnVuY3Rpb24gdWdlKGUpe2xldCB0PWUvZG47cmV0dXJuIE1hdGgudHJ1bmModCl9dmFyIEpNYSxwZ2U9ZigoKT0+e090KCk7Sk1hPXVnZX0pO2Z1bmN0aW9uIGZnZShlKXtsZXQgdD1lL1Z1O3JldHVybiBNYXRoLnRydW5jKHQpfXZhciB0a2EsaGdlPWYoKCk9PntPdCgpO3RrYT1mZ2V9KTtmdW5jdGlvbiBtZ2UoZSl7bGV0IHQ9ZS9KeDtyZXR1cm4gTWF0aC50cnVuYyh0KX12YXIgaWthLGdnZT1mKCgpPT57T3QoKTtpa2E9bWdlfSk7ZnVuY3Rpb24gYmdlKGUpe3JldHVybiBNYXRoLnRydW5jKGUqZG4pfXZhciBva2EsdmdlPWYoKCk9PntPdCgpO29rYT1iZ2V9KTtmdW5jdGlvbiB4Z2UoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSpXdSl9dmFyIGRrYSx5Z2U9ZigoKT0+e090KCk7ZGthPXhnZX0pO2Z1bmN0aW9uIHdnZShlKXtsZXQgdD1lL0t4O3JldHVybiBNYXRoLnRydW5jKHQpfXZhciBma2EsTWdlPWYoKCk9PntPdCgpO2ZrYT13Z2V9KTtmdW5jdGlvbiBrZ2UoZSl7bGV0IHQ9ZS9leTtyZXR1cm4gTWF0aC50cnVuYyh0KX12YXIgZ2thLFNnZT1mKCgpPT57T3QoKTtna2E9a2dlfSk7ZnVuY3Rpb24gbW4oZSx0LHIpe2xldCBhPXQtYjAoZSxyKTtyZXR1cm4gYTw9MCYmKGErPTcpLGNpKGUsYSxyKX12YXIgeWthLExsPWYoKCk9PnthMigpO1ZoKCk7eWthPW1ufSk7ZnVuY3Rpb24gemdlKGUsdCl7cmV0dXJuIG1uKGUsNSx0KX12YXIga2thLENnZT1mKCgpPT57TGwoKTtra2E9emdlfSk7ZnVuY3Rpb24gVGdlKGUsdCl7cmV0dXJuIG1uKGUsMSx0KX12YXIgQ2thLF9nZT1mKCgpPT57TGwoKTtDa2E9VGdlfSk7ZnVuY3Rpb24gTGdlKGUsdCl7cmV0dXJuIG1uKGUsNix0KX12YXIgTGthLCRnZT1mKCgpPT57TGwoKTtMa2E9TGdlfSk7ZnVuY3Rpb24gRGdlKGUsdCl7cmV0dXJuIG1uKGUsMCx0KX12YXIgQWthLEFnZT1mKCgpPT57TGwoKTtBa2E9RGdlfSk7ZnVuY3Rpb24gRWdlKGUsdCl7cmV0dXJuIG1uKGUsNCx0KX12YXIgUGthLElnZT1mKCgpPT57TGwoKTtQa2E9RWdlfSk7ZnVuY3Rpb24gUGdlKGUsdCl7cmV0dXJuIG1uKGUsMix0KX12YXIgT2thLE5nZT1mKCgpPT57TGwoKTtPa2E9UGdlfSk7ZnVuY3Rpb24gRmdlKGUsdCl7cmV0dXJuIG1uKGUsMyx0KX12YXIgSGthLE9nZT1mKCgpPT57TGwoKTtIa2E9RmdlfSk7ZnVuY3Rpb24gQmdlKGUsdCl7bGV0IHI9KCk9PlBlKHQ/LmluLE5hTiksYT10Py5hZGRpdGlvbmFsRGlnaXRzPz8yLGk9RjlyKGUpLG47aWYoaS5kYXRlKXtsZXQgbD1POXIoaS5kYXRlLGEpO249UjlyKGwucmVzdERhdGVTdHJpbmcsbC55ZWFyKX1pZighbnx8aXNOYU4oK24pKXJldHVybiByKCk7bGV0IHM9K24sbz0wLGM7aWYoaS50aW1lJiYobz1COXIoaS50aW1lKSxpc05hTihvKSkpcmV0dXJuIHIoKTtpZihpLnRpbWV6b25lKXtpZihjPUg5cihpLnRpbWV6b25lKSxpc05hTihjKSlyZXR1cm4gcigpfWVsc2V7bGV0IGw9bmV3IERhdGUocytvKSx1PXBlKDAsdD8uaW4pO3JldHVybiB1LnNldEZ1bGxZZWFyKGwuZ2V0VVRDRnVsbFllYXIoKSxsLmdldFVUQ01vbnRoKCksbC5nZXRVVENEYXRlKCkpLHUuc2V0SG91cnMobC5nZXRVVENIb3VycygpLGwuZ2V0VVRDTWludXRlcygpLGwuZ2V0VVRDU2Vjb25kcygpLGwuZ2V0VVRDTWlsbGlzZWNvbmRzKCkpLHV9cmV0dXJuIHBlKHMrbytjLHQ/LmluKX1mdW5jdGlvbiBGOXIoZSl7bGV0IHQ9e30scj1lLnNwbGl0KFl3LmRhdGVUaW1lRGVsaW1pdGVyKSxhO2lmKHIubGVuZ3RoPjIpcmV0dXJuIHQ7aWYoLzovLnRlc3QoclswXSk/YT1yWzBdOih0LmRhdGU9clswXSxhPXJbMV0sWXcudGltZVpvbmVEZWxpbWl0ZXIudGVzdCh0LmRhdGUpJiYodC5kYXRlPWUuc3BsaXQoWXcudGltZVpvbmVEZWxpbWl0ZXIpWzBdLGE9ZS5zdWJzdHIodC5kYXRlLmxlbmd0aCxlLmxlbmd0aCkpKSxhKXtsZXQgaT1Zdy50aW1lem9uZS5leGVjKGEpO2k/KHQudGltZT1hLnJlcGxhY2UoaVsxXSwiIiksdC50aW1lem9uZT1pWzFdKTp0LnRpbWU9YX1yZXR1cm4gdH1mdW5jdGlvbiBPOXIoZSx0KXtsZXQgcj1uZXcgUmVnRXhwKCJeKD86KFxcZHs0fXxbKy1dXFxkeyIrKDQrdCkrIn0pfChcXGR7Mn18WystXVxcZHsiKygyK3QpKyJ9KSQpIiksYT1lLm1hdGNoKHIpO2lmKCFhKXJldHVybnt5ZWFyOk5hTixyZXN0RGF0ZVN0cmluZzoiIn07bGV0IGk9YVsxXT9wYXJzZUludChhWzFdKTpudWxsLG49YVsyXT9wYXJzZUludChhWzJdKTpudWxsO3JldHVybnt5ZWFyOm49PT1udWxsP2k6bioxMDAscmVzdERhdGVTdHJpbmc6ZS5zbGljZSgoYVsxXXx8YVsyXSkubGVuZ3RoKX19ZnVuY3Rpb24gUjlyKGUsdCl7aWYodD09PW51bGwpcmV0dXJuIG5ldyBEYXRlKE5hTik7bGV0IHI9ZS5tYXRjaChJOXIpO2lmKCFyKXJldHVybiBuZXcgRGF0ZShOYU4pO2xldCBhPSEhcls0XSxpPVhoKHJbMV0pLG49WGgoclsyXSktMSxzPVhoKHJbM10pLG89WGgocls0XSksYz1YaChyWzVdKS0xO2lmKGEpcmV0dXJuIFc5cih0LG8sYyk/cTlyKHQsbyxjKTpuZXcgRGF0ZShOYU4pO3tsZXQgbD1uZXcgRGF0ZSgwKTtyZXR1cm4hVjlyKHQsbixzKXx8IVU5cih0LGkpP25ldyBEYXRlKE5hTik6KGwuc2V0VVRDRnVsbFllYXIodCxuLE1hdGgubWF4KGkscykpLGwpfX1mdW5jdGlvbiBYaChlKXtyZXR1cm4gZT9wYXJzZUludChlKToxfWZ1bmN0aW9uIEI5cihlKXtsZXQgdD1lLm1hdGNoKFA5cik7aWYoIXQpcmV0dXJuIE5hTjtsZXQgcj1FcSh0WzFdKSxhPUVxKHRbMl0pLGk9RXEodFszXSk7cmV0dXJuIEc5cihyLGEsaSk/cipJMSthKmRuK2kqMWUzOk5hTn1mdW5jdGlvbiBFcShlKXtyZXR1cm4gZSYmcGFyc2VGbG9hdChlLnJlcGxhY2UoIiwiLCIuIikpfHwwfWZ1bmN0aW9uIEg5cihlKXtpZihlPT09IloiKXJldHVybiAwO2xldCB0PWUubWF0Y2goTjlyKTtpZighdClyZXR1cm4gMDtsZXQgcj10WzFdPT09IisiPy0xOjEsYT1wYXJzZUludCh0WzJdKSxpPXRbM10mJnBhcnNlSW50KHRbM10pfHwwO3JldHVybiBZOXIoYSxpKT9yKihhKkkxK2kqZG4pOk5hTn1mdW5jdGlvbiBxOXIoZSx0LHIpe2xldCBhPW5ldyBEYXRlKDApO2Euc2V0VVRDRnVsbFllYXIoZSwwLDQpO2xldCBpPWEuZ2V0VVRDRGF5KCl8fDcsbj0odC0xKSo3K3IrMS1pO3JldHVybiBhLnNldFVUQ0RhdGUoYS5nZXRVVENEYXRlKCkrbiksYX1mdW5jdGlvbiBSZ2UoZSl7cmV0dXJuIGUlNDAwPT09MHx8ZSU0PT09MCYmZSUxMDAhPT0wfWZ1bmN0aW9uIFY5cihlLHQscil7cmV0dXJuIHQ+PTAmJnQ8PTExJiZyPj0xJiZyPD0oajlyW3RdfHwoUmdlKGUpPzI5OjI4KSl9ZnVuY3Rpb24gVTlyKGUsdCl7cmV0dXJuIHQ+PTEmJnQ8PShSZ2UoZSk/MzY2OjM2NSl9ZnVuY3Rpb24gVzlyKGUsdCxyKXtyZXR1cm4gdD49MSYmdDw9NTMmJnI+PTAmJnI8PTZ9ZnVuY3Rpb24gRzlyKGUsdCxyKXtyZXR1cm4gZT09PTI0P3Q9PT0wJiZyPT09MDpyPj0wJiZyPDYwJiZ0Pj0wJiZ0PDYwJiZlPj0wJiZlPDI1fWZ1bmN0aW9uIFk5cihlLHQpe3JldHVybiB0Pj0wJiZ0PD01OX12YXIgWXcsSTlyLFA5cixOOXIsajlyLFdrYSxIZ2U9ZigoKT0+e090KCk7aHQoKTtGZSgpO1l3PXtkYXRlVGltZURlbGltaXRlcjovW1QgXS8sdGltZVpvbmVEZWxpbWl0ZXI6L1taIF0vaSx0aW1lem9uZTovKFtaKy1dLiopJC99LEk5cj0vXi0/KD86KFxkezN9KXwoXGR7Mn0pKD86LT8oXGR7Mn0pKT98VyhcZHsyfSkoPzotPyhcZHsxfSkpP3wpJC8sUDlyPS9eKFxkezJ9KD86Wy4sXVxkKik/KSg/Ojo/KFxkezJ9KD86Wy4sXVxkKik/KSk/KD86Oj8oXGR7Mn0oPzpbLixdXGQqKT8pKT8kLyxOOXI9L14oWystXSkoXGR7Mn0pKD86Oj8oXGR7Mn0pKT8kLztqOXI9WzMxLG51bGwsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO1drYT1CZ2V9KTtmdW5jdGlvbiBxZ2UoZSx0KXtsZXQgcj1lLm1hdGNoKC8oXGR7NH0pLShcZHsyfSktKFxkezJ9KVtUIF0oXGR7Mn0pOihcZHsyfSk6KFxkezJ9KSg/OlwuKFxkezAsN30pKT8oPzpafCguKShcZHsyfSk6PyhcZHsyfSk/KT8vKTtyZXR1cm4gcj9wZShEYXRlLlVUQygrclsxXSwrclsyXS0xLCtyWzNdLCtyWzRdLSgrcls5XXx8MCkqKHJbOF09PSItIj8tMToxKSwrcls1XS0oK3JbMTBdfHwwKSoocls4XT09Ii0iPy0xOjEpLCtyWzZdLCsoKHJbN118fCIwIikrIjAwIikuc3Vic3RyaW5nKDAsMykpLHQ/LmluKTpwZShOYU4sdD8uaW4pfXZhciBaa2EsamdlPWYoKCk9PntGZSgpO1prYT1xZ2V9KTtmdW5jdGlvbiBnbihlLHQscil7bGV0IGE9YjAoZSxyKS10O3JldHVybiBhPD0wJiYoYSs9NykseDAoZSxhLHIpfXZhciBLa2EsJGw9ZigoKT0+e1ZoKCk7WmgoKTtLa2E9Z259KTtmdW5jdGlvbiBWZ2UoZSx0KXtyZXR1cm4gZ24oZSw1LHQpfXZhciByU2EsVWdlPWYoKCk9PnskbCgpO3JTYT1WZ2V9KTtmdW5jdGlvbiBXZ2UoZSx0KXtyZXR1cm4gZ24oZSwxLHQpfXZhciBuU2EsR2dlPWYoKCk9PnskbCgpO25TYT1XZ2V9KTtmdW5jdGlvbiBZZ2UoZSx0KXtyZXR1cm4gZ24oZSw2LHQpfXZhciBsU2EsWmdlPWYoKCk9PnskbCgpO2xTYT1ZZ2V9KTtmdW5jdGlvbiBYZ2UoZSx0KXtyZXR1cm4gZ24oZSwwLHQpfXZhciB1U2EsUWdlPWYoKCk9PnskbCgpO3VTYT1YZ2V9KTtmdW5jdGlvbiBKZ2UoZSx0KXtyZXR1cm4gZ24oZSw0LHQpfXZhciBoU2EsS2dlPWYoKCk9PnskbCgpO2hTYT1KZ2V9KTtmdW5jdGlvbiBlYmUoZSx0KXtyZXR1cm4gZ24oZSwyLHQpfXZhciBiU2EsdGJlPWYoKCk9PnskbCgpO2JTYT1lYmV9KTtmdW5jdGlvbiByYmUoZSx0KXtyZXR1cm4gZ24oZSwzLHQpfXZhciB5U2EsYWJlPWYoKCk9PnskbCgpO3lTYT1yYmV9KTtmdW5jdGlvbiBpYmUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSpLeCl9dmFyIGtTYSxuYmU9ZigoKT0+e090KCk7a1NhPWliZX0pO2Z1bmN0aW9uIHNiZShlKXtsZXQgdD1lL3R5O3JldHVybiBNYXRoLnRydW5jKHQpfXZhciBDU2Esb2JlPWYoKCk9PntPdCgpO0NTYT1zYmV9KTtmdW5jdGlvbiBsYmUoZSx0KXtsZXQgcj10Py5uZWFyZXN0VG8/PzE7aWYocjwxfHxyPjEyKXJldHVybiBQZSh0Py5pbnx8ZSxOYU4pO2xldCBhPXBlKGUsdD8uaW4pLGk9YS5nZXRNaW51dGVzKCkvNjAsbj1hLmdldFNlY29uZHMoKS82MC82MCxzPWEuZ2V0TWlsbGlzZWNvbmRzKCkvMWUzLzYwLzYwLG89YS5nZXRIb3VycygpK2krbitzLGM9dD8ucm91bmRpbmdNZXRob2Q/PyJyb3VuZCIsdT1mbihjKShvL3IpKnI7cmV0dXJuIGEuc2V0SG91cnModSwwLDAsMCksYX12YXIgRFNhLGNiZT1mKCgpPT57X2woKTtodCgpO0ZlKCk7RFNhPWxiZX0pO2Z1bmN0aW9uIGRiZShlLHQpe2xldCByPXQ/Lm5lYXJlc3RUbz8/MTtpZihyPDF8fHI+MzApcmV0dXJuIFBlKGUsTmFOKTtsZXQgYT1wZShlLHQ/LmluKSxpPWEuZ2V0U2Vjb25kcygpLzYwLG49YS5nZXRNaWxsaXNlY29uZHMoKS8xZTMvNjAscz1hLmdldE1pbnV0ZXMoKStpK24sbz10Py5yb3VuZGluZ01ldGhvZD8/InJvdW5kIixsPWZuKG8pKHMvcikqcjtyZXR1cm4gYS5zZXRNaW51dGVzKGwsMCwwKSxhfXZhciBOU2EsdWJlPWYoKCk9PntfbCgpO2h0KCk7RmUoKTtOU2E9ZGJlfSk7ZnVuY3Rpb24gcGJlKGUpe2xldCB0PWUvJDM7cmV0dXJuIE1hdGgudHJ1bmModCl9dmFyIFJTYSxmYmU9ZigoKT0+e090KCk7UlNhPXBiZX0pO2Z1bmN0aW9uIGhiZShlKXtyZXR1cm4gZSpWdX12YXIgcVNhLG1iZT1mKCgpPT57T3QoKTtxU2E9aGJlfSk7ZnVuY3Rpb24gZ2JlKGUpe2xldCB0PWUvV3U7cmV0dXJuIE1hdGgudHJ1bmModCl9dmFyIFVTYSxiYmU9ZigoKT0+e090KCk7VVNhPWdiZX0pO2Z1bmN0aW9uIGY1KGUsdCxyKXtsZXQgYT1wZShlLHI/LmluKSxpPWEuZ2V0RnVsbFllYXIoKSxuPWEuZ2V0RGF0ZSgpLHM9UGUocj8uaW58fGUsMCk7cy5zZXRGdWxsWWVhcihpLHQsMTUpLHMuc2V0SG91cnMoMCwwLDAsMCk7bGV0IG89VXkocyk7cmV0dXJuIGEuc2V0TW9udGgodCxNYXRoLm1pbihuLG8pKSxhfXZhciBYU2EsWnc9ZigoKT0+e2h0KCk7dXEoKTtGZSgpO1hTYT1mNX0pO2Z1bmN0aW9uIHZiZShlLHQscil7bGV0IGE9cGUoZSxyPy5pbik7cmV0dXJuIGlzTmFOKCthKT9QZShyPy5pbnx8ZSxOYU4pOih0LnllYXIhPW51bGwmJmEuc2V0RnVsbFllYXIodC55ZWFyKSx0Lm1vbnRoIT1udWxsJiYoYT1mNShhLHQubW9udGgpKSx0LmRhdGUhPW51bGwmJmEuc2V0RGF0ZSh0LmRhdGUpLHQuaG91cnMhPW51bGwmJmEuc2V0SG91cnModC5ob3VycyksdC5taW51dGVzIT1udWxsJiZhLnNldE1pbnV0ZXModC5taW51dGVzKSx0LnNlY29uZHMhPW51bGwmJmEuc2V0U2Vjb25kcyh0LnNlY29uZHMpLHQubWlsbGlzZWNvbmRzIT1udWxsJiZhLnNldE1pbGxpc2Vjb25kcyh0Lm1pbGxpc2Vjb25kcyksYSl9dmFyIHR6YSx4YmU9ZigoKT0+e2h0KCk7WncoKTtGZSgpO3R6YT12YmV9KTtmdW5jdGlvbiB5YmUoZSx0LHIpe2xldCBhPXBlKGUscj8uaW4pO3JldHVybiBhLnNldERhdGUodCksYX12YXIgaXphLHdiZT1mKCgpPT57RmUoKTtpemE9eWJlfSk7ZnVuY3Rpb24gTWJlKGUsdCxyKXtsZXQgYT1wZShlLHI/LmluKTtyZXR1cm4gYS5zZXRNb250aCgwKSxhLnNldERhdGUodCksYX12YXIgb3phLGtiZT1mKCgpPT57RmUoKTtvemE9TWJlfSk7ZnVuY3Rpb24gU2JlKGUpe2xldCB0PXt9LHI9X3IoKTtmb3IobGV0IGEgaW4gcilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixhKSYmKHRbYV09clthXSk7Zm9yKGxldCBhIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSkmJihlW2FdPT09dm9pZCAwP2RlbGV0ZSB0W2FdOnRbYV09ZVthXSk7QmZlKHQpfXZhciBkemEsemJlPWYoKCk9Pnt1bigpO2R6YT1TYmV9KTtmdW5jdGlvbiBDYmUoZSx0LHIpe2xldCBhPXBlKGUscj8uaW4pO3JldHVybiBhLnNldEhvdXJzKHQpLGF9dmFyIGZ6YSxUYmU9ZigoKT0+e0ZlKCk7ZnphPUNiZX0pO2Z1bmN0aW9uIF9iZShlLHQscil7bGV0IGE9cGUoZSxyPy5pbik7cmV0dXJuIGEuc2V0TWlsbGlzZWNvbmRzKHQpLGF9dmFyIGd6YSxMYmU9ZigoKT0+e0ZlKCk7Z3phPV9iZX0pO2Z1bmN0aW9uICRiZShlLHQscil7bGV0IGE9cGUoZSxyPy5pbik7cmV0dXJuIGEuc2V0TWludXRlcyh0KSxhfXZhciB4emEsRGJlPWYoKCk9PntGZSgpO3h6YT0kYmV9KTtmdW5jdGlvbiBBYmUoZSx0LHIpe2xldCBhPXBlKGUscj8uaW4pLGk9TWF0aC50cnVuYyhhLmdldE1vbnRoKCkvMykrMSxuPXQtaTtyZXR1cm4gZjUoYSxhLmdldE1vbnRoKCkrbiozKX12YXIga3phLEViZT1mKCgpPT57WncoKTtGZSgpO2t6YT1BYmV9KTtmdW5jdGlvbiBJYmUoZSx0LHIpe2xldCBhPXBlKGUscj8uaW4pO3JldHVybiBhLnNldFNlY29uZHModCksYX12YXIgQ3phLFBiZT1mKCgpPT57RmUoKTtDemE9SWJlfSk7ZnVuY3Rpb24gTmJlKGUsdCxyKXtsZXQgYT1fcigpLGk9cj8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/YS5maXJzdFdlZWtDb250YWluc0RhdGU/P2EubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsbj1UaShwZShlLHI/LmluKSxGMyhlLHIpLHIpLHM9UGUocj8uaW58fGUsMCk7cy5zZXRGdWxsWWVhcih0LDAsaSkscy5zZXRIb3VycygwLDAsMCwwKTtsZXQgbz1GMyhzLHIpO3JldHVybiBvLnNldERhdGUoby5nZXREYXRlKCkrbiksb312YXIgRXphLEZiZT1mKCgpPT57dW4oKTtodCgpO0NsKCk7T3koKTtGZSgpO0V6YT1OYmV9KTtmdW5jdGlvbiBPYmUoZSx0LHIpe2xldCBhPXBlKGUscj8uaW4pO3JldHVybiBpc05hTigrYSk/UGUocj8uaW58fGUsTmFOKTooYS5zZXRGdWxsWWVhcih0KSxhKX12YXIgRnphLFJiZT1mKCgpPT57aHQoKTtGZSgpO0Z6YT1PYmV9KTtmdW5jdGlvbiBCYmUoZSx0KXtsZXQgcj1wZShlLHQ/LmluKSxhPXIuZ2V0RnVsbFllYXIoKSxpPU1hdGguZmxvb3IoYS8xMCkqMTA7cmV0dXJuIHIuc2V0RnVsbFllYXIoaSwwLDEpLHIuc2V0SG91cnMoMCwwLDAsMCkscn12YXIgQnphLEhiZT1mKCgpPT57RmUoKTtCemE9QmJlfSk7ZnVuY3Rpb24gcWJlKGUpe3JldHVybiBvMihEYXRlLm5vdygpLGUpfXZhciBqemEsamJlPWYoKCk9PntJaCgpO2p6YT1xYmV9KTtmdW5jdGlvbiBWYmUoZSl7bGV0IHQ9R3QoZT8uaW4pLHI9dC5nZXRGdWxsWWVhcigpLGE9dC5nZXRNb250aCgpLGk9dC5nZXREYXRlKCksbj1QZShlPy5pbiwwKTtyZXR1cm4gbi5zZXRGdWxsWWVhcihyLGEsaSsxKSxuLnNldEhvdXJzKDAsMCwwLDApLG59dmFyIEd6YSxVYmU9ZigoKT0+e2h0KCk7ZGkoKTtHemE9VmJlfSk7ZnVuY3Rpb24gV2JlKGUpe2xldCB0PUd0KGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxhPXQuZ2V0TW9udGgoKSxpPXQuZ2V0RGF0ZSgpLG49R3QoZT8uaW4pO3JldHVybiBuLnNldEZ1bGxZZWFyKHIsYSxpLTEpLG4uc2V0SG91cnMoMCwwLDAsMCksbn12YXIgWHphLEdiZT1mKCgpPT57ZGkoKTtYemE9V2JlfSk7ZnVuY3Rpb24gWHcoZSx0LHIpe3JldHVybiBpMihlLC10LHIpfXZhciBLemEsSXE9ZigoKT0+e0d1KCk7S3phPVh3fSk7ZnVuY3Rpb24gWWJlKGUsdCxyKXtsZXR7eWVhcnM6YT0wLG1vbnRoczppPTAsd2Vla3M6bj0wLGRheXM6cz0wLGhvdXJzOm89MCxtaW51dGVzOmM9MCxzZWNvbmRzOmw9MH09dCx1PVh3KGUsaSthKjEyLHIpLGQ9eDAodSxzK24qNyxyKSxoPWMrbyo2MCx2PShsK2gqNjApKjFlMztyZXR1cm4gUGUocj8uaW58fGUsK2Qtdil9dmFyIGlDYSxaYmU9ZigoKT0+e2h0KCk7WmgoKTtJcSgpO2lDYT1ZYmV9KTtmdW5jdGlvbiBYYmUoZSx0LHIpe3JldHVybiBpeShlLC10LHIpfXZhciBvQ2EsUWJlPWYoKCk9PntPSCgpO29DYT1YYmV9KTtmdW5jdGlvbiBKYmUoZSx0LHIpe3JldHVybiBueShlLC10LHIpfXZhciBkQ2EsS2JlPWYoKCk9PntSSCgpO2RDYT1KYmV9KTtmdW5jdGlvbiBldmUoZSx0LHIpe3JldHVybiBjMChlLC10LHIpfXZhciBmQ2EsdHZlPWYoKCk9PntFaCgpO2ZDYT1ldmV9KTtmdW5jdGlvbiBydmUoZSx0LHIpe3JldHVybiBadShlLC10LHIpfXZhciBnQ2EsYXZlPWYoKCk9PntseSgpO2dDYT1ydmV9KTtmdW5jdGlvbiBpdmUoZSx0LHIpe3JldHVybiBYdShlLC10LHIpfXZhciB4Q2EsbnZlPWYoKCk9PntjeSgpO3hDYT1pdmV9KTtmdW5jdGlvbiBzdmUoZSx0LHIpe3JldHVybiBkeShlLC10LHIpfXZhciBNQ2Esb3ZlPWYoKCk9PntxSCgpO01DYT1zdmV9KTtmdW5jdGlvbiBsdmUoZSx0LHIpe3JldHVybiB1MChlLC10LHIpfXZhciB6Q2EsY3ZlPWYoKCk9PntQaCgpO3pDYT1sdmV9KTtmdW5jdGlvbiBkdmUoZSx0LHIpe3JldHVybiB1eShlLC10LHIpfXZhciBfQ2EsdXZlPWYoKCk9PntqSCgpO19DYT1kdmV9KTtmdW5jdGlvbiBwdmUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSo3KX12YXIgRENhLGZ2ZT1mKCgpPT57T3QoKTtEQ2E9cHZlfSk7ZnVuY3Rpb24gaHZlKGUpe3JldHVybiBNYXRoLnRydW5jKGUqMzY1LjI0MjUpfXZhciBJQ2EsbXZlPWYoKCk9PntPdCgpO0lDYT1odmV9KTtmdW5jdGlvbiBndmUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSpleSl9dmFyIEZDYSxidmU9ZigoKT0+e090KCk7RkNhPWd2ZX0pO2Z1bmN0aW9uIHZ2ZShlKXtyZXR1cm4gTWF0aC50cnVuYyhlKnR5KX12YXIgQkNhLHh2ZT1mKCgpPT57T3QoKTtCQ2E9dnZlfSk7dmFyIFFoPXt9O1JlKFFoLHthZGQ6KCk9PmwwLGFkZEJ1c2luZXNzRGF5czooKT0+aXksYWRkRGF5czooKT0+Y2ksYWRkSG91cnM6KCk9Pm55LGFkZElTT1dlZWtZZWFyczooKT0+b3ksYWRkTWlsbGlzZWNvbmRzOigpPT5jMCxhZGRNaW51dGVzOigpPT5adSxhZGRNb250aHM6KCk9PmkyLGFkZFF1YXJ0ZXJzOigpPT5YdSxhZGRTZWNvbmRzOigpPT5keSxhZGRXZWVrczooKT0+dTAsYWRkWWVhcnM6KCk9PnV5LGFyZUludGVydmFsc092ZXJsYXBwaW5nOigpPT5IZmUsY2xhbXA6KCk9PmpmZSxjbG9zZXN0SW5kZXhUbzooKT0+aHksY2xvc2VzdFRvOigpPT5VZmUsY29tcGFyZUFzYzooKT0+cG4sY29tcGFyZURlc2M6KCk9PkdmZSxjb25zdHJ1Y3RGcm9tOigpPT5QZSxjb25zdHJ1Y3ROb3c6KCk9Pkd0LGRheXNUb1dlZWtzOigpPT5aZmUsZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzOigpPT5RZmUsZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzOigpPT5UaSxkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFyczooKT0+Z3ksZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrczooKT0+S2ZlLGRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzOigpPT5BMyxkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzOigpPT5KdSxkaWZmZXJlbmNlSW5DYWxlbmRhcldlZWtzOigpPT5FMyxkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzOigpPT5wMCxkaWZmZXJlbmNlSW5EYXlzOigpPT5LdSxkaWZmZXJlbmNlSW5Ib3VyczooKT0+STMsZGlmZmVyZW5jZUluSVNPV2Vla1llYXJzOigpPT5yaGUsZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzOigpPT5lNSxkaWZmZXJlbmNlSW5NaW51dGVzOigpPT5QMyxkaWZmZXJlbmNlSW5Nb250aHM6KCk9PmYwLGRpZmZlcmVuY2VJblF1YXJ0ZXJzOigpPT5paGUsZGlmZmVyZW5jZUluU2Vjb25kczooKT0+YzIsZGlmZmVyZW5jZUluV2Vla3M6KCk9PnNoZSxkaWZmZXJlbmNlSW5ZZWFyczooKT0+X3ksZWFjaERheU9mSW50ZXJ2YWw6KCk9Pkx5LGVhY2hIb3VyT2ZJbnRlcnZhbDooKT0+bGhlLGVhY2hNaW51dGVPZkludGVydmFsOigpPT5kaGUsZWFjaE1vbnRoT2ZJbnRlcnZhbDooKT0+cGhlLGVhY2hRdWFydGVyT2ZJbnRlcnZhbDooKT0+aGhlLGVhY2hXZWVrT2ZJbnRlcnZhbDooKT0+Z2hlLGVhY2hXZWVrZW5kT2ZJbnRlcnZhbDooKT0+YTUsZWFjaFdlZWtlbmRPZk1vbnRoOigpPT52aGUsZWFjaFdlZWtlbmRPZlllYXI6KCk9PnloZSxlYWNoWWVhck9mSW50ZXJ2YWw6KCk9Pk1oZSxlbmRPZkRheTooKT0+dDUsZW5kT2ZEZWNhZGU6KCk9PlNoZSxlbmRPZkhvdXI6KCk9PkNoZSxlbmRPZklTT1dlZWs6KCk9Pl9oZSxlbmRPZklTT1dlZWtZZWFyOigpPT4kaGUsZW5kT2ZNaW51dGU6KCk9PkFoZSxlbmRPZk1vbnRoOigpPT5yNSxlbmRPZlF1YXJ0ZXI6KCk9PkloZSxlbmRPZlNlY29uZDooKT0+TmhlLGVuZE9mVG9kYXk6KCk9Pk9oZSxlbmRPZlRvbW9ycm93OigpPT5CaGUsZW5kT2ZXZWVrOigpPT5JeSxlbmRPZlllYXI6KCk9PkF5LGVuZE9mWWVzdGVyZGF5OigpPT5xaGUsZm9ybWF0OigpPT5qaCxmb3JtYXREYXRlOigpPT5qaCxmb3JtYXREaXN0YW5jZTooKT0+cXksZm9ybWF0RGlzdGFuY2VTdHJpY3Q6KCk9Pmp5LGZvcm1hdERpc3RhbmNlVG9Ob3c6KCk9PnVtZSxmb3JtYXREaXN0YW5jZVRvTm93U3RyaWN0OigpPT5mbWUsZm9ybWF0RHVyYXRpb246KCk9Pm1tZSxmb3JtYXRJU086KCk9PmJtZSxmb3JtYXRJU085MDc1OigpPT54bWUsZm9ybWF0SVNPRHVyYXRpb246KCk9PndtZSxmb3JtYXRSRkMzMzM5OigpPT5rbWUsZm9ybWF0UkZDNzIzMTooKT0+em1lLGZvcm1hdFJlbGF0aXZlOigpPT5UbWUsZm9ybWF0dGVyczooKT0+SGgsZnJvbVVuaXhUaW1lOigpPT5MbWUsZ2V0RGF0ZTooKT0+VnksZ2V0RGF5OigpPT5iMCxnZXREYXlPZlllYXI6KCk9Pk55LGdldERheXNJbk1vbnRoOigpPT5VeSxnZXREYXlzSW5ZZWFyOigpPT5EbWUsZ2V0RGVjYWRlOigpPT5FbWUsZ2V0RGVmYXVsdE9wdGlvbnM6KCk9Pkd5LGdldEhvdXJzOigpPT5QbWUsZ2V0SVNPRGF5OigpPT5ZeSxnZXRJU09XZWVrOigpPT5vNSxnZXRJU09XZWVrWWVhcjooKT0+am4sZ2V0SVNPV2Vla3NJblllYXI6KCk9PkZtZSxnZXRNaWxsaXNlY29uZHM6KCk9PlJtZSxnZXRNaW51dGVzOigpPT5IbWUsZ2V0TW9udGg6KCk9PmptZSxnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFsczooKT0+VW1lLGdldFF1YXJ0ZXI6KCk9Pk5oLGdldFNlY29uZHM6KCk9PkdtZSxnZXRUaW1lOigpPT5abWUsZ2V0VW5peFRpbWU6KCk9PlFtZSxnZXRXZWVrOigpPT5sNSxnZXRXZWVrT2ZNb250aDooKT0+S21lLGdldFdlZWtZZWFyOigpPT5tMCxnZXRXZWVrc0luTW9udGg6KCk9PnQ3ZSxnZXRZZWFyOigpPT5hN2UsaG91cnNUb01pbGxpc2Vjb25kczooKT0+bjdlLGhvdXJzVG9NaW51dGVzOigpPT5vN2UsaG91cnNUb1NlY29uZHM6KCk9PmM3ZSxpbnRlcnZhbDooKT0+dTdlLGludGVydmFsVG9EdXJhdGlvbjooKT0+ZjdlLGludGxGb3JtYXQ6KCk9Pm03ZSxpbnRsRm9ybWF0RGlzdGFuY2U6KCk9PmI3ZSxpc0FmdGVyOigpPT54N2UsaXNCZWZvcmU6KCk9Pnc3ZSxpc0RhdGU6KCk9Pm15LGlzRXF1YWw6KCk9Pms3ZSxpc0V4aXN0czooKT0+ejdlLGlzRmlyc3REYXlPZk1vbnRoOigpPT5UN2UsaXNGcmlkYXk6KCk9Pkw3ZSxpc0Z1dHVyZTooKT0+RDdlLGlzTGFzdERheU9mTW9udGg6KCk9PlR5LGlzTGVhcFllYXI6KCk9Pld5LGlzTWF0Y2g6KCk9PnU5ZSxpc01vbmRheTooKT0+ZjllLGlzUGFzdDooKT0+bTllLGlzU2FtZURheTooKT0+bDIsaXNTYW1lSG91cjooKT0+UncsaXNTYW1lSVNPV2VlazooKT0+SHcsaXNTYW1lSVNPV2Vla1llYXI6KCk9PmI5ZSxpc1NhbWVNaW51dGU6KCk9PnF3LGlzU2FtZU1vbnRoOigpPT5qdyxpc1NhbWVRdWFydGVyOigpPT5Wdyxpc1NhbWVTZWNvbmQ6KCk9PlV3LGlzU2FtZVdlZWs6KCk9PnA1LGlzU2FtZVllYXI6KCk9Pld3LGlzU2F0dXJkYXk6KCk9PnJ5LGlzU3VuZGF5OigpPT5heSxpc1RoaXNIb3VyOigpPT54OWUsaXNUaGlzSVNPV2VlazooKT0+dzllLGlzVGhpc01pbnV0ZTooKT0+azllLGlzVGhpc01vbnRoOigpPT56OWUsaXNUaGlzUXVhcnRlcjooKT0+VDllLGlzVGhpc1NlY29uZDooKT0+TDllLGlzVGhpc1dlZWs6KCk9PkQ5ZSxpc1RoaXNZZWFyOigpPT5FOWUsaXNUaHVyc2RheTooKT0+UDllLGlzVG9kYXk6KCk9PkY5ZSxpc1RvbW9ycm93OigpPT5SOWUsaXNUdWVzZGF5OigpPT5IOWUsaXNWYWxpZDooKT0+VmksaXNXZWRuZXNkYXk6KCk9Pmo5ZSxpc1dlZWtlbmQ6KCk9Pm4yLGlzV2l0aGluSW50ZXJ2YWw6KCk9PlU5ZSxpc1llc3RlcmRheTooKT0+RzllLGxhc3REYXlPZkRlY2FkZTooKT0+WjllLGxhc3REYXlPZklTT1dlZWs6KCk9PlE5ZSxsYXN0RGF5T2ZJU09XZWVrWWVhcjooKT0+SzllLGxhc3REYXlPZk1vbnRoOigpPT5aeSxsYXN0RGF5T2ZRdWFydGVyOigpPT50Z2UsbGFzdERheU9mV2VlazooKT0+R3csbGFzdERheU9mWWVhcjooKT0+YWdlLGxpZ2h0Rm9ybWF0OigpPT5uZ2UsbGlnaHRGb3JtYXR0ZXJzOigpPT5OMSxsb25nRm9ybWF0dGVyczooKT0+ZzAsbWF4OigpPT5weSxtaWxsaXNlY29uZHM6KCk9Pm9nZSxtaWxsaXNlY29uZHNUb0hvdXJzOigpPT5jZ2UsbWlsbGlzZWNvbmRzVG9NaW51dGVzOigpPT51Z2UsbWlsbGlzZWNvbmRzVG9TZWNvbmRzOigpPT5mZ2UsbWluOigpPT5meSxtaW51dGVzVG9Ib3VyczooKT0+bWdlLG1pbnV0ZXNUb01pbGxpc2Vjb25kczooKT0+YmdlLG1pbnV0ZXNUb1NlY29uZHM6KCk9PnhnZSxtb250aHNUb1F1YXJ0ZXJzOigpPT53Z2UsbW9udGhzVG9ZZWFyczooKT0+a2dlLG5leHREYXk6KCk9Pm1uLG5leHRGcmlkYXk6KCk9PnpnZSxuZXh0TW9uZGF5OigpPT5UZ2UsbmV4dFNhdHVyZGF5OigpPT5MZ2UsbmV4dFN1bmRheTooKT0+RGdlLG5leHRUaHVyc2RheTooKT0+RWdlLG5leHRUdWVzZGF5OigpPT5QZ2UsbmV4dFdlZG5lc2RheTooKT0+RmdlLHBhcnNlOigpPT5PdyxwYXJzZUlTTzooKT0+QmdlLHBhcnNlSlNPTjooKT0+cWdlLHBhcnNlcnM6KCk9PkZ3LHByZXZpb3VzRGF5OigpPT5nbixwcmV2aW91c0ZyaWRheTooKT0+VmdlLHByZXZpb3VzTW9uZGF5OigpPT5XZ2UscHJldmlvdXNTYXR1cmRheTooKT0+WWdlLHByZXZpb3VzU3VuZGF5OigpPT5YZ2UscHJldmlvdXNUaHVyc2RheTooKT0+SmdlLHByZXZpb3VzVHVlc2RheTooKT0+ZWJlLHByZXZpb3VzV2VkbmVzZGF5OigpPT5yYmUscXVhcnRlcnNUb01vbnRoczooKT0+aWJlLHF1YXJ0ZXJzVG9ZZWFyczooKT0+c2JlLHJvdW5kVG9OZWFyZXN0SG91cnM6KCk9PmxiZSxyb3VuZFRvTmVhcmVzdE1pbnV0ZXM6KCk9PmRiZSxzZWNvbmRzVG9Ib3VyczooKT0+cGJlLHNlY29uZHNUb01pbGxpc2Vjb25kczooKT0+aGJlLHNlY29uZHNUb01pbnV0ZXM6KCk9PmdiZSxzZXQ6KCk9PnZiZSxzZXREYXRlOigpPT55YmUsc2V0RGF5OigpPT52MCxzZXREYXlPZlllYXI6KCk9Pk1iZSxzZXREZWZhdWx0T3B0aW9uczooKT0+U2JlLHNldEhvdXJzOigpPT5DYmUsc2V0SVNPRGF5OigpPT53dyxzZXRJU09XZWVrOigpPT5odyxzZXRJU09XZWVrWWVhcjooKT0+c3ksc2V0TWlsbGlzZWNvbmRzOigpPT5fYmUsc2V0TWludXRlczooKT0+JGJlLHNldE1vbnRoOigpPT5mNSxzZXRRdWFydGVyOigpPT5BYmUsc2V0U2Vjb25kczooKT0+SWJlLHNldFdlZWs6KCk9PnB3LHNldFdlZWtZZWFyOigpPT5OYmUsc2V0WWVhcjooKT0+T2JlLHN0YXJ0T2ZEYXk6KCk9Pm8yLHN0YXJ0T2ZEZWNhZGU6KCk9PkJiZSxzdGFydE9mSG91cjooKT0+V2gsc3RhcnRPZklTT1dlZWs6KCk9PkphLHN0YXJ0T2ZJU09XZWVrWWVhcjooKT0+UDEsc3RhcnRPZk1pbnV0ZTooKT0+R2gsc3RhcnRPZk1vbnRoOigpPT5oMCxzdGFydE9mUXVhcnRlcjooKT0+dTIsc3RhcnRPZlNlY29uZDooKT0+WWgsc3RhcnRPZlRvZGF5OigpPT5xYmUsc3RhcnRPZlRvbW9ycm93OigpPT5WYmUsc3RhcnRPZldlZWs6KCk9PnRhLHN0YXJ0T2ZXZWVrWWVhcjooKT0+RjMsc3RhcnRPZlllYXI6KCk9Pmk1LHN0YXJ0T2ZZZXN0ZXJkYXk6KCk9PldiZSxzdWI6KCk9PlliZSxzdWJCdXNpbmVzc0RheXM6KCk9PlhiZSxzdWJEYXlzOigpPT54MCxzdWJIb3VyczooKT0+SmJlLHN1YklTT1dlZWtZZWFyczooKT0+TXksc3ViTWlsbGlzZWNvbmRzOigpPT5ldmUsc3ViTWludXRlczooKT0+cnZlLHN1Yk1vbnRoczooKT0+WHcsc3ViUXVhcnRlcnM6KCk9Pml2ZSxzdWJTZWNvbmRzOigpPT5zdmUsc3ViV2Vla3M6KCk9Pmx2ZSxzdWJZZWFyczooKT0+ZHZlLHRvRGF0ZTooKT0+cGUsdHJhbnNwb3NlOigpPT5YeSx3ZWVrc1RvRGF5czooKT0+cHZlLHllYXJzVG9EYXlzOigpPT5odmUseWVhcnNUb01vbnRoczooKT0+Z3ZlLHllYXJzVG9RdWFydGVyczooKT0+dnZlfSk7dmFyIHl2ZT1mKCgpPT57UEgoKTtPSCgpO2EyKCk7UkgoKTtISCgpO0VoKCk7bHkoKTtHdSgpO2N5KCk7cUgoKTtQaCgpO2pIKCk7cWZlKCk7VmZlKCk7V0goKTtXZmUoKTtEMygpO1lmZSgpO2h0KCk7ZGkoKTtYZmUoKTtKZmUoKTtDbCgpO1lIKCk7ZWhlKCk7YnkoKTtYSCgpO3Z5KCk7eHkoKTt5eSgpO3d5KCk7YWhlKCk7a3koKTtTeSgpO0ZoKCk7bmhlKCk7T2goKTtvaGUoKTtLSCgpO2VxKCk7Y2hlKCk7dWhlKCk7ZmhlKCk7bWhlKCk7YmhlKCk7RHkoKTt4aGUoKTt3aGUoKTtraGUoKTt6eSgpO3poZSgpO1RoZSgpO0xoZSgpO0RoZSgpO0VoZSgpO0N5KCk7UGhlKCk7RmhlKCk7UmhlKCk7SGhlKCk7cnEoKTt0cSgpO2poZSgpO29xKCk7bHEoKTtjcSgpO3BtZSgpO2htZSgpO2dtZSgpO3ZtZSgpO3ltZSgpO01tZSgpO1NtZSgpO0NtZSgpO19tZSgpOyRtZSgpO2RxKCk7VmgoKTthcSgpO3VxKCk7QW1lKCk7SW1lKCk7ZnEoKTtObWUoKTtocSgpO0Z5KCk7ZDAoKTtPbWUoKTtCbWUoKTtxbWUoKTtWbWUoKTtXbWUoKTtaSCgpO1ltZSgpO1htZSgpO0ptZSgpO1J5KCk7ZTdlKCk7QmgoKTtyN2UoKTtpN2UoKTtzN2UoKTtsN2UoKTtkN2UoKTtwN2UoKTtoN2UoKTtnN2UoKTt2N2UoKTt5N2UoKTtNN2UoKTtHSCgpO1M3ZSgpO0M3ZSgpO183ZSgpOyQ3ZSgpO0E3ZSgpO0pIKCk7cHEoKTtwOWUoKTtoOWUoKTtnOWUoKTtRdSgpO2txKCk7U3EoKTt2OWUoKTtDcSgpO1RxKCk7X3EoKTskcSgpO0J3KCk7RHEoKTtOSCgpO0ZIKCk7eTllKCk7TTllKCk7UzllKCk7QzllKCk7XzllKCk7JDllKCk7QTllKCk7STllKCk7TjllKCk7TzllKCk7QjllKCk7cTllKCk7VGwoKTtWOWUoKTtBaCgpO1c5ZSgpO1k5ZSgpO1g5ZSgpO0o5ZSgpO2VnZSgpO21xKCk7cmdlKCk7QXEoKTtpZ2UoKTtzZ2UoKTtWSCgpO2xnZSgpO2RnZSgpO3BnZSgpO2hnZSgpO1VIKCk7Z2dlKCk7dmdlKCk7eWdlKCk7TWdlKCk7U2dlKCk7TGwoKTtDZ2UoKTtfZ2UoKTskZ2UoKTtBZ2UoKTtJZ2UoKTtOZ2UoKTtPZ2UoKTt3cSgpO0hnZSgpO2pnZSgpOyRsKCk7VWdlKCk7R2dlKCk7WmdlKCk7UWdlKCk7S2dlKCk7dGJlKCk7YWJlKCk7bmJlKCk7b2JlKCk7Y2JlKCk7dWJlKCk7ZmJlKCk7bWJlKCk7YmJlKCk7eGJlKCk7d2JlKCk7VWgoKTtrYmUoKTt6YmUoKTtUYmUoKTt5cSgpO3hxKCk7QkgoKTtMYmUoKTtEYmUoKTtadygpO0ViZSgpO1BiZSgpO3ZxKCk7RmJlKCk7UmJlKCk7SWgoKTtIYmUoKTtNcSgpO3MyKCk7WXUoKTt6cSgpO1JoKCk7JHkoKTtMcSgpO2piZSgpO1ViZSgpO2xvKCk7T3koKTtFeSgpO0diZSgpO1piZSgpO1FiZSgpO1poKCk7S2JlKCk7UUgoKTt0dmUoKTthdmUoKTtJcSgpO252ZSgpO292ZSgpO2N2ZSgpO3V2ZSgpO0ZlKCk7Z3EoKTtmdmUoKTttdmUoKTtidmUoKTt4dmUoKX0pO3ZhciB3dmU9amUoKFBxLE5xKT0+eyhmdW5jdGlvbihlLHQpe3R5cGVvZiBQcT09Im9iamVjdCImJnR5cGVvZiBOcTwidSI/TnEuZXhwb3J0cz10KCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6ZXx8c2VsZikuZGF5anM9dCgpfSkoUHEsKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlPTFlMyx0PTZlNCxyPTM2ZTUsYT0ibWlsbGlzZWNvbmQiLGk9InNlY29uZCIsbj0ibWludXRlIixzPSJob3VyIixvPSJkYXkiLGM9IndlZWsiLGw9Im1vbnRoIix1PSJxdWFydGVyIixkPSJ5ZWFyIixoPSJkYXRlIixtPSJJbnZhbGlkIERhdGUiLHY9L14oXGR7NH0pWy0vXT8oXGR7MSwyfSk/Wy0vXT8oXGR7MCwyfSlbVHRcc10qKFxkezEsMn0pPzo/KFxkezEsMn0pPzo/KFxkezEsMn0pP1suOl0/KFxkKyk/JC8sYj0vXFsoW15cXV0rKV18WXsxLDR9fE17MSw0fXxEezEsMn18ZHsxLDR9fEh7MSwyfXxoezEsMn18YXxBfG17MSwyfXxzezEsMn18WnsxLDJ9fFNTUy9nLGc9e25hbWU6ImVuIix3ZWVrZGF5czoiU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXkiLnNwbGl0KCJfIiksbW9udGhzOiJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyIi5zcGxpdCgiXyIpLG9yZGluYWw6ZnVuY3Rpb24oeil7dmFyIEU9WyJ0aCIsInN0IiwibmQiLCJyZCJdLFQ9eiUxMDA7cmV0dXJuIlsiK3orKEVbKFQtMjApJTEwXXx8RVtUXXx8RVswXSkrIl0ifX0seT1mdW5jdGlvbih6LEUsVCl7dmFyIEw9U3RyaW5nKHopO3JldHVybiFMfHxMLmxlbmd0aD49RT96OiIiK0FycmF5KEUrMS1MLmxlbmd0aCkuam9pbihUKSt6fSx3PXtzOnksejpmdW5jdGlvbih6KXt2YXIgRT0tei51dGNPZmZzZXQoKSxUPU1hdGguYWJzKEUpLEw9TWF0aC5mbG9vcihULzYwKSxWPVQlNjA7cmV0dXJuKEU8PTA/IisiOiItIikreShMLDIsIjAiKSsiOiIreShWLDIsIjAiKX0sbTpmdW5jdGlvbiB6KEUsVCl7aWYoRS5kYXRlKCk8VC5kYXRlKCkpcmV0dXJuLXooVCxFKTt2YXIgTD0xMiooVC55ZWFyKCktRS55ZWFyKCkpKyhULm1vbnRoKCktRS5tb250aCgpKSxWPUUuY2xvbmUoKS5hZGQoTCxsKSxCPVQtVjwwLFU9RS5jbG9uZSgpLmFkZChMKyhCPy0xOjEpLGwpO3JldHVybisoLShMKyhULVYpLyhCP1YtVTpVLVYpKXx8MCl9LGE6ZnVuY3Rpb24oeil7cmV0dXJuIHo8MD9NYXRoLmNlaWwoeil8fDA6TWF0aC5mbG9vcih6KX0scDpmdW5jdGlvbih6KXtyZXR1cm57TTpsLHk6ZCx3OmMsZDpvLEQ6aCxoOnMsbTpuLHM6aSxtczphLFE6dX1bel18fFN0cmluZyh6fHwiIikudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9zJC8sIiIpfSx1OmZ1bmN0aW9uKHope3JldHVybiB6PT09dm9pZCAwfX0saz0iZW4iLFI9e307UltrXT1nO3ZhciBDPSIkaXNEYXlqc09iamVjdCIsUz1mdW5jdGlvbih6KXtyZXR1cm4geiBpbnN0YW5jZW9mIHF8fCEoIXp8fCF6W0NdKX0sTz1mdW5jdGlvbiB6KEUsVCxMKXt2YXIgVjtpZighRSlyZXR1cm4gaztpZih0eXBlb2YgRT09InN0cmluZyIpe3ZhciBCPUUudG9Mb3dlckNhc2UoKTtSW0JdJiYoVj1CKSxUJiYoUltCXT1ULFY9Qik7dmFyIFU9RS5zcGxpdCgiLSIpO2lmKCFWJiZVLmxlbmd0aD4xKXJldHVybiB6KFVbMF0pfWVsc2V7dmFyIEs9RS5uYW1lO1JbS109RSxWPUt9cmV0dXJuIUwmJlYmJihrPVYpLFZ8fCFMJiZrfSxEPWZ1bmN0aW9uKHosRSl7aWYoUyh6KSlyZXR1cm4gei5jbG9uZSgpO3ZhciBUPXR5cGVvZiBFPT0ib2JqZWN0Ij9FOnt9O3JldHVybiBULmRhdGU9eixULmFyZ3M9YXJndW1lbnRzLG5ldyBxKFQpfSxOPXc7Ti5sPU8sTi5pPVMsTi53PWZ1bmN0aW9uKHosRSl7cmV0dXJuIEQoeix7bG9jYWxlOkUuJEwsdXRjOkUuJHUseDpFLiR4LCRvZmZzZXQ6RS4kb2Zmc2V0fSl9O3ZhciBxPShmdW5jdGlvbigpe2Z1bmN0aW9uIHooVCl7dGhpcy4kTD1PKFQubG9jYWxlLG51bGwsITApLHRoaXMucGFyc2UoVCksdGhpcy4keD10aGlzLiR4fHxULnh8fHt9LHRoaXNbQ109ITB9dmFyIEU9ei5wcm90b3R5cGU7cmV0dXJuIEUucGFyc2U9ZnVuY3Rpb24oVCl7dGhpcy4kZD0oZnVuY3Rpb24oTCl7dmFyIFY9TC5kYXRlLEI9TC51dGM7aWYoVj09PW51bGwpcmV0dXJuIG5ldyBEYXRlKE5hTik7aWYoTi51KFYpKXJldHVybiBuZXcgRGF0ZTtpZihWIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gbmV3IERhdGUoVik7aWYodHlwZW9mIFY9PSJzdHJpbmciJiYhL1okL2kudGVzdChWKSl7dmFyIFU9Vi5tYXRjaCh2KTtpZihVKXt2YXIgSz1VWzJdLTF8fDAsST0oVVs3XXx8IjAiKS5zdWJzdHJpbmcoMCwzKTtyZXR1cm4gQj9uZXcgRGF0ZShEYXRlLlVUQyhVWzFdLEssVVszXXx8MSxVWzRdfHwwLFVbNV18fDAsVVs2XXx8MCxJKSk6bmV3IERhdGUoVVsxXSxLLFVbM118fDEsVVs0XXx8MCxVWzVdfHwwLFVbNl18fDAsSSl9fXJldHVybiBuZXcgRGF0ZShWKX0pKFQpLHRoaXMuaW5pdCgpfSxFLmluaXQ9ZnVuY3Rpb24oKXt2YXIgVD10aGlzLiRkO3RoaXMuJHk9VC5nZXRGdWxsWWVhcigpLHRoaXMuJE09VC5nZXRNb250aCgpLHRoaXMuJEQ9VC5nZXREYXRlKCksdGhpcy4kVz1ULmdldERheSgpLHRoaXMuJEg9VC5nZXRIb3VycygpLHRoaXMuJG09VC5nZXRNaW51dGVzKCksdGhpcy4kcz1ULmdldFNlY29uZHMoKSx0aGlzLiRtcz1ULmdldE1pbGxpc2Vjb25kcygpfSxFLiR1dGlscz1mdW5jdGlvbigpe3JldHVybiBOfSxFLmlzVmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b1N0cmluZygpIT09bX0sRS5pc1NhbWU9ZnVuY3Rpb24oVCxMKXt2YXIgVj1EKFQpO3JldHVybiB0aGlzLnN0YXJ0T2YoTCk8PVYmJlY8PXRoaXMuZW5kT2YoTCl9LEUuaXNBZnRlcj1mdW5jdGlvbihULEwpe3JldHVybiBEKFQpPHRoaXMuc3RhcnRPZihMKX0sRS5pc0JlZm9yZT1mdW5jdGlvbihULEwpe3JldHVybiB0aGlzLmVuZE9mKEwpPEQoVCl9LEUuJGc9ZnVuY3Rpb24oVCxMLFYpe3JldHVybiBOLnUoVCk/dGhpc1tMXTp0aGlzLnNldChWLFQpfSxFLnVuaXg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5mbG9vcih0aGlzLnZhbHVlT2YoKS8xZTMpfSxFLnZhbHVlT2Y9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC5nZXRUaW1lKCl9LEUuc3RhcnRPZj1mdW5jdGlvbihULEwpe3ZhciBWPXRoaXMsQj0hIU4udShMKXx8TCxVPU4ucChUKSxLPWZ1bmN0aW9uKEEsJCl7dmFyIGo9Ti53KFYuJHU/RGF0ZS5VVEMoVi4keSwkLEEpOm5ldyBEYXRlKFYuJHksJCxBKSxWKTtyZXR1cm4gQj9qOmouZW5kT2Yobyl9LEk9ZnVuY3Rpb24oQSwkKXtyZXR1cm4gTi53KFYudG9EYXRlKClbQV0uYXBwbHkoVi50b0RhdGUoInMiKSwoQj9bMCwwLDAsMF06WzIzLDU5LDU5LDk5OV0pLnNsaWNlKCQpKSxWKX0sdmU9dGhpcy4kVyxNZT10aGlzLiRNLFA9dGhpcy4kRCxsZT0ic2V0IisodGhpcy4kdT8iVVRDIjoiIik7c3dpdGNoKFUpe2Nhc2UgZDpyZXR1cm4gQj9LKDEsMCk6SygzMSwxMSk7Y2FzZSBsOnJldHVybiBCP0soMSxNZSk6SygwLE1lKzEpO2Nhc2UgYzp2YXIgU2U9dGhpcy4kbG9jYWxlKCkud2Vla1N0YXJ0fHwwLFo9KHZlPFNlP3ZlKzc6dmUpLVNlO3JldHVybiBLKEI/UC1aOlArKDYtWiksTWUpO2Nhc2UgbzpjYXNlIGg6cmV0dXJuIEkobGUrIkhvdXJzIiwwKTtjYXNlIHM6cmV0dXJuIEkobGUrIk1pbnV0ZXMiLDEpO2Nhc2UgbjpyZXR1cm4gSShsZSsiU2Vjb25kcyIsMik7Y2FzZSBpOnJldHVybiBJKGxlKyJNaWxsaXNlY29uZHMiLDMpO2RlZmF1bHQ6cmV0dXJuIHRoaXMuY2xvbmUoKX19LEUuZW5kT2Y9ZnVuY3Rpb24oVCl7cmV0dXJuIHRoaXMuc3RhcnRPZihULCExKX0sRS4kc2V0PWZ1bmN0aW9uKFQsTCl7dmFyIFYsQj1OLnAoVCksVT0ic2V0IisodGhpcy4kdT8iVVRDIjoiIiksSz0oVj17fSxWW29dPVUrIkRhdGUiLFZbaF09VSsiRGF0ZSIsVltsXT1VKyJNb250aCIsVltkXT1VKyJGdWxsWWVhciIsVltzXT1VKyJIb3VycyIsVltuXT1VKyJNaW51dGVzIixWW2ldPVUrIlNlY29uZHMiLFZbYV09VSsiTWlsbGlzZWNvbmRzIixWKVtCXSxJPUI9PT1vP3RoaXMuJEQrKEwtdGhpcy4kVyk6TDtpZihCPT09bHx8Qj09PWQpe3ZhciB2ZT10aGlzLmNsb25lKCkuc2V0KGgsMSk7dmUuJGRbS10oSSksdmUuaW5pdCgpLHRoaXMuJGQ9dmUuc2V0KGgsTWF0aC5taW4odGhpcy4kRCx2ZS5kYXlzSW5Nb250aCgpKSkuJGR9ZWxzZSBLJiZ0aGlzLiRkW0tdKEkpO3JldHVybiB0aGlzLmluaXQoKSx0aGlzfSxFLnNldD1mdW5jdGlvbihULEwpe3JldHVybiB0aGlzLmNsb25lKCkuJHNldChULEwpfSxFLmdldD1mdW5jdGlvbihUKXtyZXR1cm4gdGhpc1tOLnAoVCldKCl9LEUuYWRkPWZ1bmN0aW9uKFQsTCl7dmFyIFYsQj10aGlzO1Q9TnVtYmVyKFQpO3ZhciBVPU4ucChMKSxLPWZ1bmN0aW9uKE1lKXt2YXIgUD1EKEIpO3JldHVybiBOLncoUC5kYXRlKFAuZGF0ZSgpK01hdGgucm91bmQoTWUqVCkpLEIpfTtpZihVPT09bClyZXR1cm4gdGhpcy5zZXQobCx0aGlzLiRNK1QpO2lmKFU9PT1kKXJldHVybiB0aGlzLnNldChkLHRoaXMuJHkrVCk7aWYoVT09PW8pcmV0dXJuIEsoMSk7aWYoVT09PWMpcmV0dXJuIEsoNyk7dmFyIEk9KFY9e30sVltuXT10LFZbc109cixWW2ldPWUsVilbVV18fDEsdmU9dGhpcy4kZC5nZXRUaW1lKCkrVCpJO3JldHVybiBOLncodmUsdGhpcyl9LEUuc3VidHJhY3Q9ZnVuY3Rpb24oVCxMKXtyZXR1cm4gdGhpcy5hZGQoLTEqVCxMKX0sRS5mb3JtYXQ9ZnVuY3Rpb24oVCl7dmFyIEw9dGhpcyxWPXRoaXMuJGxvY2FsZSgpO2lmKCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gVi5pbnZhbGlkRGF0ZXx8bTt2YXIgQj1UfHwiWVlZWS1NTS1ERFRISDptbTpzc1oiLFU9Ti56KHRoaXMpLEs9dGhpcy4kSCxJPXRoaXMuJG0sdmU9dGhpcy4kTSxNZT1WLndlZWtkYXlzLFA9Vi5tb250aHMsbGU9Vi5tZXJpZGllbSxTZT1mdW5jdGlvbigkLGosSCxZKXtyZXR1cm4gJCYmKCRbal18fCQoTCxCKSl8fEhbal0uc2xpY2UoMCxZKX0sWj1mdW5jdGlvbigkKXtyZXR1cm4gTi5zKEslMTJ8fDEyLCQsIjAiKX0sQT1sZXx8ZnVuY3Rpb24oJCxqLEgpe3ZhciBZPSQ8MTI/IkFNIjoiUE0iO3JldHVybiBIP1kudG9Mb3dlckNhc2UoKTpZfTtyZXR1cm4gQi5yZXBsYWNlKGIsKGZ1bmN0aW9uKCQsail7cmV0dXJuIGp8fChmdW5jdGlvbihIKXtzd2l0Y2goSCl7Y2FzZSJZWSI6cmV0dXJuIFN0cmluZyhMLiR5KS5zbGljZSgtMik7Y2FzZSJZWVlZIjpyZXR1cm4gTi5zKEwuJHksNCwiMCIpO2Nhc2UiTSI6cmV0dXJuIHZlKzE7Y2FzZSJNTSI6cmV0dXJuIE4ucyh2ZSsxLDIsIjAiKTtjYXNlIk1NTSI6cmV0dXJuIFNlKFYubW9udGhzU2hvcnQsdmUsUCwzKTtjYXNlIk1NTU0iOnJldHVybiBTZShQLHZlKTtjYXNlIkQiOnJldHVybiBMLiREO2Nhc2UiREQiOnJldHVybiBOLnMoTC4kRCwyLCIwIik7Y2FzZSJkIjpyZXR1cm4gU3RyaW5nKEwuJFcpO2Nhc2UiZGQiOnJldHVybiBTZShWLndlZWtkYXlzTWluLEwuJFcsTWUsMik7Y2FzZSJkZGQiOnJldHVybiBTZShWLndlZWtkYXlzU2hvcnQsTC4kVyxNZSwzKTtjYXNlImRkZGQiOnJldHVybiBNZVtMLiRXXTtjYXNlIkgiOnJldHVybiBTdHJpbmcoSyk7Y2FzZSJISCI6cmV0dXJuIE4ucyhLLDIsIjAiKTtjYXNlImgiOnJldHVybiBaKDEpO2Nhc2UiaGgiOnJldHVybiBaKDIpO2Nhc2UiYSI6cmV0dXJuIEEoSyxJLCEwKTtjYXNlIkEiOnJldHVybiBBKEssSSwhMSk7Y2FzZSJtIjpyZXR1cm4gU3RyaW5nKEkpO2Nhc2UibW0iOnJldHVybiBOLnMoSSwyLCIwIik7Y2FzZSJzIjpyZXR1cm4gU3RyaW5nKEwuJHMpO2Nhc2Uic3MiOnJldHVybiBOLnMoTC4kcywyLCIwIik7Y2FzZSJTU1MiOnJldHVybiBOLnMoTC4kbXMsMywiMCIpO2Nhc2UiWiI6cmV0dXJuIFV9cmV0dXJuIG51bGx9KSgkKXx8VS5yZXBsYWNlKCI6IiwiIil9KSl9LEUudXRjT2Zmc2V0PWZ1bmN0aW9uKCl7cmV0dXJuIDE1Ki1NYXRoLnJvdW5kKHRoaXMuJGQuZ2V0VGltZXpvbmVPZmZzZXQoKS8xNSl9LEUuZGlmZj1mdW5jdGlvbihULEwsVil7dmFyIEIsVT10aGlzLEs9Ti5wKEwpLEk9RChUKSx2ZT0oSS51dGNPZmZzZXQoKS10aGlzLnV0Y09mZnNldCgpKSp0LE1lPXRoaXMtSSxQPWZ1bmN0aW9uKCl7cmV0dXJuIE4ubShVLEkpfTtzd2l0Y2goSyl7Y2FzZSBkOkI9UCgpLzEyO2JyZWFrO2Nhc2UgbDpCPVAoKTticmVhaztjYXNlIHU6Qj1QKCkvMzticmVhaztjYXNlIGM6Qj0oTWUtdmUpLzYwNDhlNTticmVhaztjYXNlIG86Qj0oTWUtdmUpLzg2NGU1O2JyZWFrO2Nhc2UgczpCPU1lL3I7YnJlYWs7Y2FzZSBuOkI9TWUvdDticmVhaztjYXNlIGk6Qj1NZS9lO2JyZWFrO2RlZmF1bHQ6Qj1NZX1yZXR1cm4gVj9COk4uYShCKX0sRS5kYXlzSW5Nb250aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVuZE9mKGwpLiREfSxFLiRsb2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gUlt0aGlzLiRMXX0sRS5sb2NhbGU9ZnVuY3Rpb24oVCxMKXtpZighVClyZXR1cm4gdGhpcy4kTDt2YXIgVj10aGlzLmNsb25lKCksQj1PKFQsTCwhMCk7cmV0dXJuIEImJihWLiRMPUIpLFZ9LEUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gTi53KHRoaXMuJGQsdGhpcyl9LEUudG9EYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXRlKHRoaXMudmFsdWVPZigpKX0sRS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/dGhpcy50b0lTT1N0cmluZygpOm51bGx9LEUudG9JU09TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b0lTT1N0cmluZygpfSxFLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGQudG9VVENTdHJpbmcoKX0sen0pKCksXz1xLnByb3RvdHlwZTtyZXR1cm4gRC5wcm90b3R5cGU9XyxbWyIkbXMiLGFdLFsiJHMiLGldLFsiJG0iLG5dLFsiJEgiLHNdLFsiJFciLG9dLFsiJE0iLGxdLFsiJHkiLGRdLFsiJEQiLGhdXS5mb3JFYWNoKChmdW5jdGlvbih6KXtfW3pbMV1dPWZ1bmN0aW9uKEUpe3JldHVybiB0aGlzLiRnKEUselswXSx6WzFdKX19KSksRC5leHRlbmQ9ZnVuY3Rpb24oeixFKXtyZXR1cm4gei4kaXx8KHooRSxxLEQpLHouJGk9ITApLER9LEQubG9jYWxlPU8sRC5pc0RheWpzPVMsRC51bml4PWZ1bmN0aW9uKHope3JldHVybiBEKDFlMyp6KX0sRC5lbj1SW2tdLEQuTHM9UixELnA9e30sRH0pKX0pO3ZhciBNdmU9amUoKEZxLE9xKT0+eyhmdW5jdGlvbihlLHQpe3R5cGVvZiBGcT09Im9iamVjdCImJnR5cGVvZiBPcTwidSI/T3EuZXhwb3J0cz10KCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6ZXx8c2VsZikuZGF5anNfcGx1Z2luX2lzVG9kYXk9dCgpfSkoRnEsKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3JldHVybiBmdW5jdGlvbihlLHQscil7dC5wcm90b3R5cGUuaXNUb2RheT1mdW5jdGlvbigpe3ZhciBhPSJZWVlZLU1NLUREIixpPXIoKTtyZXR1cm4gdGhpcy5mb3JtYXQoYSk9PT1pLmZvcm1hdChhKX19fSkpfSk7ZnVuY3Rpb24gWjlyKGUpe3JldHVybntkYXlzOk1hdGgudHJ1bmMoZS84NjRlNSksaG91cnM6TWF0aC50cnVuYyhlLzM2ZTUlMjQpLG1pbnV0ZXM6TWF0aC50cnVuYyhlLzZlNCU2MCksc2Vjb25kczpNYXRoLnRydW5jKGUvMWUzJTYwKSxtaWxsaXNlY29uZHM6TWF0aC50cnVuYyhlJTFlMyksbWljcm9zZWNvbmRzOk1hdGgudHJ1bmMoa3ZlKGUqMWUzKSUxZTMpLG5hbm9zZWNvbmRzOk1hdGgudHJ1bmMoa3ZlKGUqMWU2KSUxZTMpfX1mdW5jdGlvbiBYOXIoZSl7cmV0dXJue2RheXM6ZS84NjQwMDAwMG4saG91cnM6ZS8zNjAwMDAwbiUyNG4sbWludXRlczplLzYwMDAwbiU2MG4sc2Vjb25kczplLzEwMDBuJTYwbixtaWxsaXNlY29uZHM6ZSUxMDAwbixtaWNyb3NlY29uZHM6MG4sbmFub3NlY29uZHM6MG59fWZ1bmN0aW9uIFJxKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJudW1iZXIiOntpZihOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIFo5cihlKTticmVha31jYXNlImJpZ2ludCI6cmV0dXJuIFg5cihlKX10aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIgb3IgYmlnaW50Iil9dmFyIGt2ZSxTdmU9ZigoKT0+e2t2ZT1lPT5OdW1iZXIuaXNGaW5pdGUoZSk/ZTowfSk7ZnVuY3Rpb24gSmgoZSx0KXtsZXQgcj10eXBlb2YgZT09ImJpZ2ludCI7aWYoIXImJiFOdW1iZXIuaXNGaW5pdGUoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmaW5pdGUgbnVtYmVyIG9yIGJpZ2ludCIpO3Q9ey4uLnR9O2xldCBhPWU8MD8iLSI6IiI7ZT1lPDA/LWU6ZSx0LmNvbG9uTm90YXRpb24mJih0LmNvbXBhY3Q9ITEsdC5mb3JtYXRTdWJNaWxsaXNlY29uZHM9ITEsdC5zZXBhcmF0ZU1pbGxpc2Vjb25kcz0hMSx0LnZlcmJvc2U9ITEpLHQuY29tcGFjdCYmKHQudW5pdENvdW50PTEsdC5zZWNvbmRzRGVjaW1hbERpZ2l0cz0wLHQubWlsbGlzZWNvbmRzRGVjaW1hbERpZ2l0cz0wKTtsZXQgaT1bXSxuPSh1LGQpPT57bGV0IGg9TWF0aC5mbG9vcih1KjEwKipkK0s5cik7cmV0dXJuKE1hdGgucm91bmQoaCkvMTAqKmQpLnRvRml4ZWQoZCl9LHM9KHUsZCxoLG0pPT57aWYoISgoaS5sZW5ndGg9PT0wfHwhdC5jb2xvbk5vdGF0aW9uKSYmUTlyKHUpJiYhKHQuY29sb25Ob3RhdGlvbiYmaD09PSJtIikpKXtpZihtPz89U3RyaW5nKHUpLHQuY29sb25Ob3RhdGlvbil7bGV0IHY9bS5pbmNsdWRlcygiLiIpP20uc3BsaXQoIi4iKVswXS5sZW5ndGg6bS5sZW5ndGgsYj1pLmxlbmd0aD4wPzI6MTttPSIwIi5yZXBlYXQoTWF0aC5tYXgoMCxiLXYpKSttfWVsc2UgbSs9dC52ZXJib3NlPyIgIitKOXIoZCx1KTpoO2kucHVzaChtKX19LG89UnEoZSksYz1CaWdJbnQoby5kYXlzKTtpZih0LmhpZGVZZWFyQW5kRGF5cz9zKEJpZ0ludChjKSoyNG4rQmlnSW50KG8uaG91cnMpLCJob3VyIiwiaCIpOih0LmhpZGVZZWFyP3MoYywiZGF5IiwiZCIpOihzKGMvMzY1biwieWVhciIsInkiKSxzKGMlMzY1biwiZGF5IiwiZCIpKSxzKE51bWJlcihvLmhvdXJzKSwiaG91ciIsImgiKSkscyhOdW1iZXIoby5taW51dGVzKSwibWludXRlIiwibSIpLCF0LmhpZGVTZWNvbmRzKWlmKHQuc2VwYXJhdGVNaWxsaXNlY29uZHN8fHQuZm9ybWF0U3ViTWlsbGlzZWNvbmRzfHwhdC5jb2xvbk5vdGF0aW9uJiZlPDFlMyYmIXQuc3ViU2Vjb25kc0FzRGVjaW1hbHMpe2xldCB1PU51bWJlcihvLnNlY29uZHMpLGQ9TnVtYmVyKG8ubWlsbGlzZWNvbmRzKSxoPU51bWJlcihvLm1pY3Jvc2Vjb25kcyksbT1OdW1iZXIoby5uYW5vc2Vjb25kcyk7aWYocyh1LCJzZWNvbmQiLCJzIiksdC5mb3JtYXRTdWJNaWxsaXNlY29uZHMpcyhkLCJtaWxsaXNlY29uZCIsIm1zIikscyhoLCJtaWNyb3NlY29uZCIsIlx4QjVzIikscyhtLCJuYW5vc2Vjb25kIiwibnMiKTtlbHNle2xldCB2PWQraC8xZTMrbS8xZTYsYj10eXBlb2YgdC5taWxsaXNlY29uZHNEZWNpbWFsRGlnaXRzPT0ibnVtYmVyIj90Lm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM6MCxnPXY+PTE/TWF0aC5yb3VuZCh2KTpNYXRoLmNlaWwodikseT1iP3YudG9GaXhlZChiKTpnO3MoTnVtYmVyLnBhcnNlRmxvYXQoeSksIm1pbGxpc2Vjb25kIiwibXMiLHkpfX1lbHNle2xldCB1PShyP051bWJlcihlJWVncik6ZSkvMWUzJTYwLGQ9dHlwZW9mIHQuc2Vjb25kc0RlY2ltYWxEaWdpdHM9PSJudW1iZXIiP3Quc2Vjb25kc0RlY2ltYWxEaWdpdHM6MSxoPW4odSxkKSxtPXQua2VlcERlY2ltYWxzT25XaG9sZVNlY29uZHM/aDpoLnJlcGxhY2UoL1wuMCskLywiIik7cyhOdW1iZXIucGFyc2VGbG9hdChtKSwic2Vjb25kIiwicyIsbSl9aWYoaS5sZW5ndGg9PT0wKXJldHVybiBhKyIwIisodC52ZXJib3NlPyIgbWlsbGlzZWNvbmRzIjoibXMiKTtsZXQgbD10LmNvbG9uTm90YXRpb24/IjoiOiIgIjtyZXR1cm4gdHlwZW9mIHQudW5pdENvdW50PT0ibnVtYmVyIiYmKGk9aS5zbGljZSgwLE1hdGgubWF4KHQudW5pdENvdW50LDEpKSksYStpLmpvaW4obCl9dmFyIFE5cixKOXIsSzlyLGVncix6dmU9ZigoKT0+e1N2ZSgpO1E5cj1lPT5lPT09MHx8ZT09PTBuLEo5cj0oZSx0KT0+dD09PTF8fHQ9PT0xbj9lOmAke2V9c2AsSzlyPTFlLTcsZWdyPTI0bio2MG4qNjBuKjEwMDBufSk7dmFyIEIzLEN2ZSx5MD1mKCgpPT57S2goKTt0MigpO2xuKCk7TmZlKCk7eXZlKCk7QjM9c3Iod3ZlKCksMSksQ3ZlPXNyKE12ZSgpLDEpO3p2ZSgpO0IzLmRlZmF1bHQuZXh0ZW5kKEN2ZS5kZWZhdWx0KX0pO3ZhciBlbSxCcT1mKCgpPT57eTAoKTtIcSgpO2VtPWNsYXNze2NvbnN0cnVjdG9yKHQscixhKXt0aGlzLnN0YXR1cz0iaW5pdGlhbCIsdGhpcy5uZXh0RXhlY3V0aW9uVW5peD0wLHRoaXMuY3JvbkV4cHJlc3Npb249cix0aGlzLmpvYkZ1bmN0aW9uPWEsdGhpcy5jcm9uUGFyc2VyPW5ldyAkaC5Dcm9uKHIpfWNoZWNrRXhlY3V0aW9uKCl7aWYodGhpcy5zdGF0dXM9PT0ic3RvcHBlZCIpcmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg7aWYodGhpcy5uZXh0RXhlY3V0aW9uVW5peD09PTAmJnRoaXMuZ2V0TmV4dEV4ZWN1dGlvblRpbWUoKSxEYXRlLm5vdygpPnRoaXMubmV4dEV4ZWN1dGlvblVuaXgpe2xldCB0PXRoaXMuam9iRnVuY3Rpb24odGhpcy5uZXh0RXhlY3V0aW9uVW5peCk7dCBpbnN0YW5jZW9mIFByb21pc2UmJnQuY2F0Y2gocj0+Y29uc29sZS5sb2cocikpLHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9dGhpcy5nZXROZXh0RXhlY3V0aW9uVGltZSgpfXJldHVybiB0aGlzLm5leHRFeGVjdXRpb25Vbml4fWdldE5leHRFeGVjdXRpb25UaW1lKCl7cmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9RGF0ZS5ub3coKSt0aGlzLmdldFRpbWVUb05leHRFeGVjdXRpb24oKX1nZXRUaW1lVG9OZXh0RXhlY3V0aW9uKCl7cmV0dXJuIHRoaXMuY3JvblBhcnNlci5tc1RvTmV4dCgpfXN0YXJ0KCl7dGhpcy5zdGF0dXM9InN0YXJ0ZWQifXN0b3AoKXt0aGlzLnN0YXR1cz0ic3RvcHBlZCJ9fX0pO3ZhciBxcSxIcT1mKCgpPT57eTAoKTtCcSgpO3FxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuY3JvbmpvYnM9bmV3IHVpLk9iamVjdE1hcCx0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW51bGx9d2FrZUN5Y2xlKCl7dGhpcy5jeWNsZVdha2VEZWZlcnJlZCYmdGhpcy5jeWNsZVdha2VEZWZlcnJlZC5zdGF0dXM9PT0icGVuZGluZyImJnRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucmVzb2x2ZSgpfWFkZENyb25qb2IodCxyKXtsZXQgYT1uZXcgZW0odGhpcyx0LHIpO3JldHVybiB0aGlzLmNyb25qb2JzLmFkZChhKSx0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKGEuc3RhcnQoKSx0aGlzLndha2VDeWNsZSgpKSxhfXJlbW92ZUNyb25qb2IodCl7dC5zdG9wKCksdGhpcy5jcm9uam9icy5yZW1vdmUodCksdGhpcy5zdGF0dXM9PT0ic3RhcnRlZCImJnRoaXMud2FrZUN5Y2xlKCl9c3RhcnQoKXtpZih0aGlzLnN0YXR1cyE9PSJzdGFydGVkIil7dGhpcy5zdGF0dXM9InN0YXJ0ZWQiO2ZvcihsZXQgdCBvZiB0aGlzLmNyb25qb2JzLmdldEFycmF5KCkpdC5zdGFydCgpO3RoaXMucnVuQ3JvbkN5Y2xlKCl9fWFzeW5jIHJ1bkNyb25DeWNsZSgpe2Zvcig7dGhpcy5zdGF0dXM9PT0ic3RhcnRlZCI7KXt0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW5ldyBKZS5EZWZlcnJlZDtsZXQgdD0xLzA7Zm9yKGxldCByIG9mIHRoaXMuY3JvbmpvYnMuZ2V0QXJyYXkoKSl7ci5jaGVja0V4ZWN1dGlvbigpO2xldCBhPXIuZ2V0VGltZVRvTmV4dEV4ZWN1dGlvbigpO2E8dCYmKHQ9YSl9aWYodDwxLzAmJnQ+MCl0aGlzLmV4ZWN1dGlvblRpbWVvdXQ9bmV3IFR0LlRpbWVvdXQodCksYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmV4ZWN1dGlvblRpbWVvdXQucHJvbWlzZSx0aGlzLmN5Y2xlV2FrZURlZmVycmVkLnByb21pc2VdKSx0aGlzLmV4ZWN1dGlvblRpbWVvdXQuY2FuY2VsKCk7ZWxzZXtpZih0PD0wKWNvbnRpbnVlO2F3YWl0IHRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucHJvbWlzZX19dGhpcy5jeWNsZVdha2VEZWZlcnJlZD1udWxsfXN0b3AoKXt0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKHRoaXMuc3RhdHVzPSJzdG9wcGVkIix0aGlzLmV4ZWN1dGlvblRpbWVvdXQmJnRoaXMuZXhlY3V0aW9uVGltZW91dC5jYW5jZWwoKSx0aGlzLndha2VDeWNsZSgpKTtmb3IobGV0IHQgb2YgdGhpcy5jcm9uam9icy5nZXRBcnJheSgpKXQuc3RvcCgpfX19KTt2YXIgdzAsanEsdGdyLHJncixWcT1mKCgpPT57eTAoKTt3MD17eWVhcnM6KGU9MSk9PmUqMzE1NGU3LG1vbnRoczooZT0xKT0+ZSoyNjI4ZTYsd2Vla3M6KGU9MSk9PmUqNjA0OGU1LGRheXM6KGU9MSk9PmUqODY0ZTUsaG91cnM6KGU9MSk9PmUqMzZlNSxtaW51dGVzOihlPTEpPT5lKjZlNCxzZWNvbmRzOihlPTEpPT5lKjFlM30sanE9ZT0+e2xldCB0PTAscj1hPT57dD10K2F9O3JldHVybiBlLnllYXJzJiZyKHcwLnllYXJzKGUueWVhcnMpKSxlLm1vbnRocyYmcih3MC5tb250aHMoZS5tb250aHMpKSxlLndlZWtzJiZyKHcwLndlZWtzKGUud2Vla3MpKSxlLmRheXMmJnIodzAuZGF5cyhlLmRheXMpKSxlLmhvdXJzJiZyKHcwLmhvdXJzKGUuaG91cnMpKSxlLm1pbnV0ZXMmJnIodzAubWludXRlcyhlLm1pbnV0ZXMpKSxlLnNlY29uZHMmJnIodzAuc2Vjb25kcyhlLnNlY29uZHMpKSx0fSx0Z3I9ZT0+SmgoZSkscmdyPWU9PlFoLmZvcm1hdERpc3RhbmNlVG9Ob3cobmV3IERhdGUoZSkpfSk7dmFyIFVxLFR2ZT1mKCgpPT57eTAoKTtWcSgpO1VxPWNsYXNzIGUgZXh0ZW5kcyBEYXRle3N0YXRpYyBmcm9tTWlsbGlzKHQpe3JldHVybiBuZXcgZSh0KX1zdGF0aWMgZnJvbURhdGUodCl7cmV0dXJuIG5ldyBlKHQuZ2V0VGltZSgpKX1zdGF0aWMgZnJvbUV1cm9wZWFuRGF0ZSh0KXtsZXQgcj0vKC4qKVwuKC4qKVwuKC4qKS8uZXhlYyh0KSxpPW5ldyBEYXRlKHBhcnNlRmxvYXQoclszXSkscGFyc2VGbG9hdChyWzJdKS0xLHBhcnNlRmxvYXQoclsxXSkpLmdldFRpbWUoKTtyZXR1cm4gbmV3IGUoaSl9c3RhdGljIGZyb21IeXBoZWREYXRlKHQpe2xldCByPW5ldyBEYXRlKHQpLmdldFRpbWUoKTtyZXR1cm4gbmV3IGUocil9c3RhdGljIGZyb21FdXJvcGVhbkRhdGVBbmRUaW1lKHQscj0iMTI6MDA6MDAiLGE9IkV1cm9wZS9CZXJsaW4iKXtsZXQgaT0vKC4qKVwuKC4qKVwuKC4qKS8uZXhlYyh0KSxuPWw9PmAwJHtsfWAuc2xpY2UoLTIpLHM9YCR7aVszXX0tJHtuKGlbMl0pfS0ke24oaVsxXSl9VCR7cn1gLGM9QjMuZGVmYXVsdChzKS50b0RhdGUoKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyBlKGMpfWNvbnN0cnVjdG9yKHQ9RGF0ZS5ub3coKSl7c3VwZXIodCl9ZXhwb3J0VG9FdXJvcGVhbkRhdGUoKXtsZXQgdD10aGlzLmV4cG9ydFRvVW5pdHMoKTtyZXR1cm5gJHt0LmRheVN0cmluZ30uJHt0Lm1vbnRoU3RyaW5nfS4ke3QueWVhclN0cmluZ31gfWV4cG9ydFRvSHlwaGVkU29ydGFibGVEYXRlKCl7bGV0IHQ9dGhpcy5leHBvcnRUb1VuaXRzKCk7cmV0dXJuYCR7dC55ZWFyU3RyaW5nfS0ke3QubW9udGhTdHJpbmd9LSR7dC5kYXlTdHJpbmd9YH1leHBvcnRUb1VuaXRzKCl7bGV0IHQ9WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLHI9WyJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSIsIlN1bmRheSJdO3JldHVybnt5ZWFyOnRoaXMuZ2V0RnVsbFllYXIoKSx5ZWFyU3RyaW5nOmAke3RoaXMuZ2V0RnVsbFllYXIoKX1gLG1vbnRoOnRoaXMuZ2V0TW9udGgoKSsxLG1vbnRoU3RyaW5nOigiMCIrKHRoaXMuZ2V0TW9udGgoKSsxKSkuc2xpY2UoLTIpLG1vbnRoTmFtZTp0W3RoaXMuZ2V0TW9udGgoKV0sZGF5OnRoaXMuZ2V0RGF0ZSgpLGRheVN0cmluZzooIjAiK3RoaXMuZ2V0RGF0ZSgpKS5zbGljZSgtMiksZGF5T2ZUaGVXZWVrOnRoaXMuZ2V0RGF5KCksZGF5T2ZUaGVXZWVrTmFtZTpyW3RoaXMuZ2V0RGF5KCldfX1mb3JtYXQodCl7cmV0dXJuIEIzLmRlZmF1bHQodGhpcy5nZXRUaW1lKCkpLmZvcm1hdCh0KX1pc1RvZGF5KCl7cmV0dXJuIEIzLmRlZmF1bHQodGhpcy5nZXRUaW1lKCkpLmlzVG9kYXkoKX1sZXNzVGltZVBhc3NlZFRvTm93KHQpe2xldCByPWpxKHQpO3JldHVybiBEYXRlLm5vdygpLXRoaXMuZ2V0VGltZSgpPHJ9bW9yZVRpbWVQYXNzZWRUb05vdyh0KXtyZXR1cm4hdGhpcy5sZXNzVGltZVBhc3NlZFRvTm93KHQpfX19KTt2YXIgV3EsX3ZlPWYoKCk9PntXcT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmFub1NlY29uZHM9bnVsbCx0aGlzLm1pbGxpU2Vjb25kcz1udWxsLHRoaXMuX21pbGxpU3RhcnQ9bnVsbCx0aGlzLl9taWxsaURpZmY9bnVsbCx0aGlzLl9zdGFydGVkPSExfXN0YXJ0KCl7dGhpcy5fc3RhcnRlZD0hMCx0aGlzLl9taWxsaVN0YXJ0PURhdGUubm93KCl9c3RvcCgpe2lmKHRoaXMuX3N0YXJ0ZWQ9PT0hMSl7Y29uc29sZS5sb2coIkhhc24ndCBzdGFydGVkIHlldCIpO3JldHVybn1yZXR1cm4gdGhpcy5fbWlsbGlEaWZmPURhdGUubm93KCktdGhpcy5fbWlsbGlTdGFydCx0aGlzLm5hbm9TZWNvbmRzPXRoaXMuX21pbGxpRGlmZioxZTMsdGhpcy5taWxsaVNlY29uZHM9dGhpcy5fbWlsbGlEaWZmLHRoaXN9cmVzZXQoKXt0aGlzLm5hbm9TZWNvbmRzPW51bGwsdGhpcy5taWxsaVNlY29uZHM9bnVsbCx0aGlzLl9taWxsaVN0YXJ0PW51bGwsdGhpcy5fbWlsbGlEaWZmPW51bGwsdGhpcy5fc3RhcnRlZD0hMX19fSk7dmFyIEdxLEx2ZT1mKCgpPT57eTAoKTtHcT1jbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0YXR1cz0iaW5pdGlhbCIsdGhpcy5zdGF0dXNBdXRob3JpemF0aW9uPW51bGwsdGhpcy5pbnRlcnZhbEpvYnM9W10sdGhpcy5pbnRlcnZhbE1pbGxpc2Vjb25kcz10fXN0YXJ0KCl7dGhpcy5zdGF0dXM9InN0YXJ0ZWQiO2xldCB0PW5ldyBEYXRlO3RoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj10LChhc3luYygpPT57Zm9yKDt0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmdGhpcy5zdGF0dXNBdXRob3JpemF0aW9uPT09dDspYXdhaXQgVHQuZGVsYXlGb3IodGhpcy5pbnRlcnZhbE1pbGxpc2Vjb25kcyksdGhpcy5leGVjdXRlSW50ZXJ2YWxKb2JzKCl9KSgpfXN0b3AoKXt0aGlzLnN0YXR1cz0ic3RvcHBlZCIsdGhpcy5zdGF0dXNBdXRob3JpemF0aW9uPW51bGx9YWRkSW50ZXJ2YWxKb2IodCl7dGhpcy5pbnRlcnZhbEpvYnMucHVzaCh0KX1leGVjdXRlSW50ZXJ2YWxKb2JzKCl7Zm9yKGxldCB0IG9mIHRoaXMuaW50ZXJ2YWxKb2JzKXQoKX19fSk7dmFyIG01LFlxPWYoKCk9Pnt5MCgpO201PWNsYXNzIGV7c3RhdGljIGZyb21NaWxsaVNlY29uZHModCl7cmV0dXJuIG5ldyBlKHQpfXN0YXRpYyBmcm9tVGltZVN0YW1wKHQpe2xldCByPW5ldyBlO3JldHVybiByLmNoYW5nZT1yLm1pbGxpU2Vjb25kcy10Lm1pbGxpU2Vjb25kcyxyfWNvbnN0cnVjdG9yKHQpe3RoaXMuY2hhbmdlPW51bGwsdD90eXBlb2YgdD09Im51bWJlciImJih0aGlzLmRhdGU9bmV3IERhdGUodCkpOnRoaXMuZGF0ZT1uZXcgRGF0ZSx0aGlzLm1pbGxpU2Vjb25kcz10aGlzLmRhdGUuZ2V0VGltZSgpLHRoaXMuZXBvY2h0aW1lPU1hdGguZmxvb3IodGhpcy5taWxsaVNlY29uZHMvMWUzKX1pc09sZGVyVGhhbk90aGVyVGltZVN0YW1wKHQscj0wKXtyZXR1cm4gdGhpcy5taWxsaVNlY29uZHM8dC5taWxsaVNlY29uZHMtcn1pc09sZGVyVGhhbih0LHI9MCl7cmV0dXJuIHRoaXMubWlsbGlTZWNvbmRzK3I8dC5taWxsaVNlY29uZHN9aXNZb3VuZ2VyVGhhbk90aGVyVGltZVN0YW1wKHQscj0wKXtyZXR1cm4gdGhpcy5taWxsaVNlY29uZHM+dC5taWxsaVNlY29uZHMrcn1pc1lvdW5nZXJUaGFuTWlsbGlTZWNvbmRzKHQpe2xldCBhPW5ldyBlKCkuZXBvY2h0aW1lLXQsaT1uZXcgZShhKTtyZXR1cm4gdGhpcy5pc1lvdW5nZXJUaGFuT3RoZXJUaW1lU3RhbXAoaSl9fX0pO3ZhciBacSwkdmU9ZigoKT0+e3kwKCk7WXEoKTtacT1jbGFzc3tnZXQgdGltZUxlZnQoKXtyZXR1cm4gdGhpcy50aW1lSW5NaWxsaXNlY29uZHMtdGhpcy5wYXVzZWRBdC5jaGFuZ2V9Y29uc3RydWN0b3IodCl7dGhpcy5zdGF0ZT0iaW5pdGlhdGVkIix0aGlzLmNvbXBsZXRlZERlZmVycmVkPUplLmRlZmVyKCksdGhpcy50aW1lSW5NaWxsaXNlY29uZHM9dCx0aGlzLmNvbXBsZXRlZD10aGlzLmNvbXBsZXRlZERlZmVycmVkLnByb21pc2V9c3RhcnQoKXtpZighdGhpcy5zdGFydGVkQXQpdGhpcy5jdXJyZW50VGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5jb21wbGV0ZWREZWZlcnJlZC5yZXNvbHZlKCl9LHRoaXMudGltZUluTWlsbGlzZWNvbmRzKSx0aGlzLnN0YXJ0ZWRBdD1uZXcgbTU7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoInRpbWVyIGhhcyBiZWVuIHN0YXJ0ZWQgYmVmb3JlLiBQbGVhc2UgdXNlIHJlc3VtZSBpbnN0ZWFkIil9cGF1c2UoKXt0aGlzLnN0YXJ0ZWRBdCYmKGNsZWFyVGltZW91dCh0aGlzLmN1cnJlbnRUaW1lb3V0KSx0aGlzLmN1cnJlbnRUaW1lb3V0PW51bGwsdGhpcy5wYXVzZWRBdD1tNS5mcm9tVGltZVN0YW1wKHRoaXMuc3RhcnRlZEF0KSl9cmVzdW1lKCl7aWYodGhpcy5zdGFydGVkQXQpdGhpcy5jdXJyZW50VGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5jb21wbGV0ZWREZWZlcnJlZC5yZXNvbHZlKCl9LHRoaXMudGltZUxlZnQpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJ0aW1lciBoYXMgTk9UIGJlZW4gc3RhcnRlZCBiZWZvcmUuIFBsZWFzZSB1c2UgLnN0YXJ0KCkgaW5zdGVhZCIpfXJlc2V0KCl7dGhpcy5wYXVzZSgpLHRoaXMuc3RhcnRlZEF0PW51bGwsdGhpcy5wYXVzZWRBdD1udWxsfX19KTt2YXIgRGw9e307UmUoRGwse0Nyb25Kb2I6KCk9PmVtLENyb25NYW5hZ2VyOigpPT5xcSxFeHRlbmRlZERhdGU6KCk9PlVxLEhydE1lYXN1cmVtZW50OigpPT5XcSxJbnRlcnZhbDooKT0+R3EsVGltZVN0YW1wOigpPT5tNSxUaW1lcjooKT0+WnEsZ2V0TWlsbGlTZWNvbmRzQXNIdW1hblJlYWRhYmxlQWdvVGltZTooKT0+cmdyLGdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZVN0cmluZzooKT0+dGdyLGdldE1pbGxpU2Vjb25kc0Zyb21Vbml0czooKT0+anEsdW5pdHM6KCk9PncwfSk7dmFyIFhxPWYoKCk9PntIcSgpO0JxKCk7VHZlKCk7X3ZlKCk7THZlKCk7JHZlKCk7WXEoKTtWcSgpfSk7dmFyIEF2ZT1qZSgocURhLER2ZSk9PnsidXNlIHN0cmljdCI7RHZlLmV4cG9ydHM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnBhcmVudD1udWxsLHRoaXMucHJldmlvdXNTaWJsaW5nPW51bGwsdGhpcy5uZXh0U2libGluZz1udWxsLHRoaXMuZmlyc3RDaGlsZD1udWxsLHRoaXMubGFzdENoaWxkPW51bGwsdGhpcy5jaGlsZHJlblZlcnNpb249MCx0aGlzLmNoaWxkSW5kZXhDYWNoZWRVcFRvPW51bGwsdGhpcy5jYWNoZWRJbmRleD0tMSx0aGlzLmNhY2hlZEluZGV4VmVyc2lvbj1OYU59Z2V0IGlzQXR0YWNoZWQoKXtyZXR1cm4hISh0aGlzLnBhcmVudHx8dGhpcy5wcmV2aW91c1NpYmxpbmd8fHRoaXMubmV4dFNpYmxpbmcpfWdldCBoYXNDaGlsZHJlbigpe3JldHVybiEhdGhpcy5maXJzdENoaWxkfWNoaWxkcmVuQ2hhbmdlZCgpe3RoaXMuY2hpbGRyZW5WZXJzaW9uPXRoaXMuY2hpbGRyZW5WZXJzaW9uKzEmNDI5NDk2NzI5NSx0aGlzLmNoaWxkSW5kZXhDYWNoZWRVcFRvPW51bGx9Z2V0Q2FjaGVkSW5kZXgodCl7cmV0dXJuIHRoaXMuY2FjaGVkSW5kZXhWZXJzaW9uIT09dC5jaGlsZHJlblZlcnNpb24/KHRoaXMuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTiwtMSk6dGhpcy5jYWNoZWRJbmRleH1zZXRDYWNoZWRJbmRleCh0LHIpe3RoaXMuY2FjaGVkSW5kZXhWZXJzaW9uPXQuY2hpbGRyZW5WZXJzaW9uLHRoaXMuY2FjaGVkSW5kZXg9cn19fSk7dmFyIEl2ZT1qZSgoakRhLEV2ZSk9PnsidXNlIHN0cmljdCI7RXZlLmV4cG9ydHM9T2JqZWN0LmZyZWV6ZSh7RElTQ09OTkVDVEVEOjEsUFJFQ0VESU5HOjIsRk9MTE9XSU5HOjQsQ09OVEFJTlM6OCxDT05UQUlORURfQlk6MTZ9KX0pO3ZhciBSdmU9amUoKFZEYSxPdmUpPT57InVzZSBzdHJpY3QiO3ZhciBQdmU9U3ltYm9sKCksTnZlPVN5bWJvbCgpLE0wPVN5bWJvbCgpLEZ2ZT1TeW1ib2woKSxjbz1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIsYSxpKXt0aGlzW1B2ZV09dCx0aGlzW052ZV09cix0aGlzW00wXT1hLHRoaXNbRnZlXT1pfW5leHQoKXtsZXQgdD10aGlzW1B2ZV0scj10aGlzW0Z2ZV0sYT10aGlzW052ZV07aWYoIXRoaXNbTTBdKXJldHVybntkb25lOiEwLHZhbHVlOmF9O2xldCBpPXRoaXNbTTBdO3JldHVybiByPT09MT90aGlzW00wXT10Ll9ub2RlKGkpLnByZXZpb3VzU2libGluZzpyPT09Mj90aGlzW00wXT10Ll9ub2RlKGkpLm5leHRTaWJsaW5nOnI9PT0zP3RoaXNbTTBdPXQuX25vZGUoaSkucGFyZW50OnI9PT00P3RoaXNbTTBdPXQucHJlY2VkaW5nKGkse3Jvb3Q6YX0pOnRoaXNbTTBdPXQuZm9sbG93aW5nKGkse3Jvb3Q6YX0pLHtkb25lOiExLHZhbHVlOml9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGNvLnByb3RvdHlwZSxTeW1ib2wuaXRlcmF0b3Ise3ZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHdyaXRhYmxlOiExfSksY28uUFJFVj0xLGNvLk5FWFQ9Mixjby5QQVJFTlQ9Myxjby5QUkVDRURJTkc9NCxjby5GT0xMT1dJTkc9NSxPYmplY3QuZnJlZXplKGNvKSxPYmplY3QuZnJlZXplKGNvLnByb3RvdHlwZSksT3ZlLmV4cG9ydHM9Y299KTt2YXIgSnE9amUoKFVEYSxCdmUpPT57InVzZSBzdHJpY3QiO3ZhciBpZ3I9QXZlKCksazA9SXZlKCksaHM9UnZlKCk7ZnVuY3Rpb24gUXEoKXtyZXR1cm4hMH1mdW5jdGlvbiBnNShlLHQpe3JldHVybiBlW2UubGVuZ3RoLTEtdF19dmFyIFF3PWNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMuc3ltYm9sPVN5bWJvbCh0fHwiU3ltYm9sVHJlZSBkYXRhIil9aW5pdGlhbGl6ZSh0KXtyZXR1cm4gdGhpcy5fbm9kZSh0KSx0fV9ub2RlKHQpe2lmKCF0KXJldHVybiBudWxsO2xldCByPXRbdGhpcy5zeW1ib2xdO3JldHVybiByfHwodFt0aGlzLnN5bWJvbF09bmV3IGlncil9aGFzQ2hpbGRyZW4odCl7cmV0dXJuIHRoaXMuX25vZGUodCkuaGFzQ2hpbGRyZW59Zmlyc3RDaGlsZCh0KXtyZXR1cm4gdGhpcy5fbm9kZSh0KS5maXJzdENoaWxkfWxhc3RDaGlsZCh0KXtyZXR1cm4gdGhpcy5fbm9kZSh0KS5sYXN0Q2hpbGR9cHJldmlvdXNTaWJsaW5nKHQpe3JldHVybiB0aGlzLl9ub2RlKHQpLnByZXZpb3VzU2libGluZ31uZXh0U2libGluZyh0KXtyZXR1cm4gdGhpcy5fbm9kZSh0KS5uZXh0U2libGluZ31wYXJlbnQodCl7cmV0dXJuIHRoaXMuX25vZGUodCkucGFyZW50fWxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KHQpe2xldCByLGE9dDtmb3IoO3I9dGhpcy5fbm9kZShhKS5sYXN0Q2hpbGQ7KWE9cjtyZXR1cm4gYX1wcmVjZWRpbmcodCxyKXtsZXQgYT1yJiZyLnJvb3Q7aWYodD09PWEpcmV0dXJuIG51bGw7bGV0IGk9dGhpcy5fbm9kZSh0KS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGk/dGhpcy5sYXN0SW5jbHVzaXZlRGVzY2VuZGFudChpKTp0aGlzLl9ub2RlKHQpLnBhcmVudH1mb2xsb3dpbmcodCxyKXtsZXQgYT1yJiZyLnJvb3Qsbj0hKHImJnIuc2tpcENoaWxkcmVuKSYmdGhpcy5fbm9kZSh0KS5maXJzdENoaWxkO2lmKG4pcmV0dXJuIG47bGV0IHM9dDtkb3tpZihzPT09YSlyZXR1cm4gbnVsbDtsZXQgbz10aGlzLl9ub2RlKHMpLm5leHRTaWJsaW5nO2lmKG8pcmV0dXJuIG87cz10aGlzLl9ub2RlKHMpLnBhcmVudH13aGlsZShzKTtyZXR1cm4gbnVsbH1jaGlsZHJlblRvQXJyYXkodCxyKXtsZXQgYT1yJiZyLmFycmF5fHxbXSxpPXImJnIuZmlsdGVyfHxRcSxuPXImJnIudGhpc0FyZ3x8dm9pZCAwLHM9dGhpcy5fbm9kZSh0KSxvPXMuZmlyc3RDaGlsZCxjPTA7Zm9yKDtvOyl7bGV0IGw9dGhpcy5fbm9kZShvKTtsLnNldENhY2hlZEluZGV4KHMsYyksaS5jYWxsKG4sbykmJmEucHVzaChvKSxvPWwubmV4dFNpYmxpbmcsKytjfXJldHVybiBhfWFuY2VzdG9yc1RvQXJyYXkodCxyKXtsZXQgYT1yJiZyLmFycmF5fHxbXSxpPXImJnIuZmlsdGVyfHxRcSxuPXImJnIudGhpc0FyZ3x8dm9pZCAwLHM9dDtmb3IoO3M7KWkuY2FsbChuLHMpJiZhLnB1c2gocykscz10aGlzLl9ub2RlKHMpLnBhcmVudDtyZXR1cm4gYX10cmVlVG9BcnJheSh0LHIpe2xldCBhPXImJnIuYXJyYXl8fFtdLGk9ciYmci5maWx0ZXJ8fFFxLG49ciYmci50aGlzQXJnfHx2b2lkIDAscz10O2Zvcig7czspaS5jYWxsKG4scykmJmEucHVzaChzKSxzPXRoaXMuZm9sbG93aW5nKHMse3Jvb3Q6dH0pO3JldHVybiBhfWNoaWxkcmVuSXRlcmF0b3IodCxyKXtsZXQgYT1yJiZyLnJldmVyc2UsaT10aGlzLl9ub2RlKHQpO3JldHVybiBuZXcgaHModGhpcyx0LGE/aS5sYXN0Q2hpbGQ6aS5maXJzdENoaWxkLGE/aHMuUFJFVjpocy5ORVhUKX1wcmV2aW91c1NpYmxpbmdzSXRlcmF0b3IodCl7cmV0dXJuIG5ldyBocyh0aGlzLHQsdGhpcy5fbm9kZSh0KS5wcmV2aW91c1NpYmxpbmcsaHMuUFJFVil9bmV4dFNpYmxpbmdzSXRlcmF0b3IodCl7cmV0dXJuIG5ldyBocyh0aGlzLHQsdGhpcy5fbm9kZSh0KS5uZXh0U2libGluZyxocy5ORVhUKX1hbmNlc3RvcnNJdGVyYXRvcih0KXtyZXR1cm4gbmV3IGhzKHRoaXMsdCx0LGhzLlBBUkVOVCl9dHJlZUl0ZXJhdG9yKHQscil7bGV0IGE9ciYmci5yZXZlcnNlO3JldHVybiBuZXcgaHModGhpcyx0LGE/dGhpcy5sYXN0SW5jbHVzaXZlRGVzY2VuZGFudCh0KTp0LGE/aHMuUFJFQ0VESU5HOmhzLkZPTExPV0lORyl9aW5kZXgodCl7bGV0IHI9dGhpcy5fbm9kZSh0KSxhPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKCFhKXJldHVybi0xO2xldCBpPXIuZ2V0Q2FjaGVkSW5kZXgoYSk7aWYoaT49MClyZXR1cm4gaTtpPTA7bGV0IG49YS5maXJzdENoaWxkO2lmKGEuY2hpbGRJbmRleENhY2hlZFVwVG8pe2xldCBzPXRoaXMuX25vZGUoYS5jaGlsZEluZGV4Q2FjaGVkVXBUbyk7bj1zLm5leHRTaWJsaW5nLGk9cy5nZXRDYWNoZWRJbmRleChhKSsxfWZvcig7bjspe2xldCBzPXRoaXMuX25vZGUobik7aWYocy5zZXRDYWNoZWRJbmRleChhLGkpLG49PT10KWJyZWFrOysraSxuPXMubmV4dFNpYmxpbmd9cmV0dXJuIGEuY2hpbGRJbmRleENhY2hlZFVwVG89dCxpfWNoaWxkcmVuQ291bnQodCl7bGV0IHI9dGhpcy5fbm9kZSh0KTtyZXR1cm4gci5sYXN0Q2hpbGQ/dGhpcy5pbmRleChyLmxhc3RDaGlsZCkrMTowfWNvbXBhcmVUcmVlUG9zaXRpb24odCxyKXtpZih0PT09cilyZXR1cm4gMDtsZXQgYT1bXTt7bGV0IHU9dDtmb3IoO3U7KXtpZih1PT09cilyZXR1cm4gazAuQ09OVEFJTlN8azAuUFJFQ0VESU5HO2EucHVzaCh1KSx1PXRoaXMucGFyZW50KHUpfX1sZXQgaT1bXTt7bGV0IHU9cjtmb3IoO3U7KXtpZih1PT09dClyZXR1cm4gazAuQ09OVEFJTkVEX0JZfGswLkZPTExPV0lORztpLnB1c2godSksdT10aGlzLnBhcmVudCh1KX19bGV0IG49ZzUoYSwwKTtpZighbnx8biE9PWc1KGksMCkpcmV0dXJuIGswLkRJU0NPTk5FQ1RFRDtsZXQgcz0wLG89TWF0aC5taW4oYS5sZW5ndGgsaS5sZW5ndGgpO2ZvcihsZXQgdT0wO3U8bzsrK3Upe2xldCBkPWc1KGEsdSksaD1nNShpLHUpO2lmKGQhPT1oKWJyZWFrO3M9dX1sZXQgYz10aGlzLmluZGV4KGc1KGEscysxKSk7cmV0dXJuIHRoaXMuaW5kZXgoZzUoaSxzKzEpKTxjP2swLlBSRUNFRElORzprMC5GT0xMT1dJTkd9cmVtb3ZlKHQpe2xldCByPXRoaXMuX25vZGUodCksYT10aGlzLl9ub2RlKHIucGFyZW50KSxpPXRoaXMuX25vZGUoci5wcmV2aW91c1NpYmxpbmcpLG49dGhpcy5fbm9kZShyLm5leHRTaWJsaW5nKTtyZXR1cm4gYSYmKGEuZmlyc3RDaGlsZD09PXQmJihhLmZpcnN0Q2hpbGQ9ci5uZXh0U2libGluZyksYS5sYXN0Q2hpbGQ9PT10JiYoYS5sYXN0Q2hpbGQ9ci5wcmV2aW91c1NpYmxpbmcpKSxpJiYoaS5uZXh0U2libGluZz1yLm5leHRTaWJsaW5nKSxuJiYobi5wcmV2aW91c1NpYmxpbmc9ci5wcmV2aW91c1NpYmxpbmcpLHIucGFyZW50PW51bGwsci5wcmV2aW91c1NpYmxpbmc9bnVsbCxyLm5leHRTaWJsaW5nPW51bGwsci5jYWNoZWRJbmRleD0tMSxyLmNhY2hlZEluZGV4VmVyc2lvbj1OYU4sYSYmYS5jaGlsZHJlbkNoYW5nZWQoKSx0fWluc2VydEJlZm9yZSh0LHIpe2xldCBhPXRoaXMuX25vZGUodCksaT10aGlzLl9ub2RlKGEucHJldmlvdXNTaWJsaW5nKSxuPXRoaXMuX25vZGUocikscz10aGlzLl9ub2RlKGEucGFyZW50KTtpZihuLmlzQXR0YWNoZWQpdGhyb3cgRXJyb3IoIkdpdmVuIG9iamVjdCBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhpcyBTeW1ib2xUcmVlLCByZW1vdmUgaXQgZmlyc3QiKTtyZXR1cm4gbi5wYXJlbnQ9YS5wYXJlbnQsbi5wcmV2aW91c1NpYmxpbmc9YS5wcmV2aW91c1NpYmxpbmcsbi5uZXh0U2libGluZz10LGEucHJldmlvdXNTaWJsaW5nPXIsaSYmKGkubmV4dFNpYmxpbmc9cikscyYmcy5maXJzdENoaWxkPT09dCYmKHMuZmlyc3RDaGlsZD1yKSxzJiZzLmNoaWxkcmVuQ2hhbmdlZCgpLHJ9aW5zZXJ0QWZ0ZXIodCxyKXtsZXQgYT10aGlzLl9ub2RlKHQpLGk9dGhpcy5fbm9kZShhLm5leHRTaWJsaW5nKSxuPXRoaXMuX25vZGUocikscz10aGlzLl9ub2RlKGEucGFyZW50KTtpZihuLmlzQXR0YWNoZWQpdGhyb3cgRXJyb3IoIkdpdmVuIG9iamVjdCBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhpcyBTeW1ib2xUcmVlLCByZW1vdmUgaXQgZmlyc3QiKTtyZXR1cm4gbi5wYXJlbnQ9YS5wYXJlbnQsbi5wcmV2aW91c1NpYmxpbmc9dCxuLm5leHRTaWJsaW5nPWEubmV4dFNpYmxpbmcsYS5uZXh0U2libGluZz1yLGkmJihpLnByZXZpb3VzU2libGluZz1yKSxzJiZzLmxhc3RDaGlsZD09PXQmJihzLmxhc3RDaGlsZD1yKSxzJiZzLmNoaWxkcmVuQ2hhbmdlZCgpLHJ9cHJlcGVuZENoaWxkKHQscil7bGV0IGE9dGhpcy5fbm9kZSh0KSxpPXRoaXMuX25vZGUocik7aWYoaS5pc0F0dGFjaGVkKXRocm93IEVycm9yKCJHaXZlbiBvYmplY3QgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoaXMgU3ltYm9sVHJlZSwgcmVtb3ZlIGl0IGZpcnN0Iik7cmV0dXJuIGEuaGFzQ2hpbGRyZW4/dGhpcy5pbnNlcnRCZWZvcmUoYS5maXJzdENoaWxkLHIpOihpLnBhcmVudD10LGEuZmlyc3RDaGlsZD1yLGEubGFzdENoaWxkPXIsYS5jaGlsZHJlbkNoYW5nZWQoKSkscn1hcHBlbmRDaGlsZCh0LHIpe2xldCBhPXRoaXMuX25vZGUodCksaT10aGlzLl9ub2RlKHIpO2lmKGkuaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBhLmhhc0NoaWxkcmVuP3RoaXMuaW5zZXJ0QWZ0ZXIoYS5sYXN0Q2hpbGQscik6KGkucGFyZW50PXQsYS5maXJzdENoaWxkPXIsYS5sYXN0Q2hpbGQ9cixhLmNoaWxkcmVuQ2hhbmdlZCgpKSxyfX07QnZlLmV4cG9ydHM9UXcsUXcuVHJlZVBvc2l0aW9uPWswfSk7dmFyIEp3LG1zPWYoKCk9Pnt0MigpO1RIKCk7bG4oKTtvbygpO1hxKCk7Snc9c3IoSnEoKSwxKX0pO3ZhciBLcSxIdmU9ZigoKT0+e21zKCk7S3E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmV4ZWN1dGlvblNsb3RzPVtdLHRoaXMuaXNQcm9jZXNzaW5nPSExLHRoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3k9MS8wLHRoaXMubm9uRXhjbHVzaXZlQ3VycmVudENvdW50PTAsdGhpcy5ub25FeGNsdXNpdmVQZW5kaW5nUXVldWU9W119YXN5bmMgZ2V0RXhjbHVzaXZlRXhlY3V0aW9uU2xvdCh0LHIpe2xldCBhPUplLmRlZmVyKCksaT17ZnVuY1RvRXhlY3V0ZTp0LGV4ZWN1dGlvbkRlZmVycmVkOmEsdGltZW91dDpyLG1vZGU6ImV4Y2x1c2l2ZSJ9O3JldHVybiB0aGlzLmV4ZWN1dGlvblNsb3RzLnB1c2goaSksdGhpcy5wcm9jZXNzRXhlY3V0aW9uU2xvdHMoKSxhLnByb21pc2V9YXN5bmMgZ2V0Tm9uRXhjbHVzaXZlRXhlY3V0aW9uU2xvdCh0LHIpe2xldCBhPUplLmRlZmVyKCksaT17ZnVuY1RvRXhlY3V0ZTp0LGV4ZWN1dGlvbkRlZmVycmVkOmEsdGltZW91dDpyLG1vZGU6Im5vbmV4Y2x1c2l2ZSJ9O3JldHVybiB0aGlzLmV4ZWN1dGlvblNsb3RzLnB1c2goaSksdGhpcy5wcm9jZXNzRXhlY3V0aW9uU2xvdHMoKSxhLnByb21pc2V9c2V0Tm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3kodCl7aWYoIU51bWJlci5pc0Zpbml0ZSh0KXx8dDwxKXRocm93IG5ldyBFcnJvcigibm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3kgbXVzdCBiZSBhIGZpbml0ZSBudW1iZXIgPj0gMSIpO3RoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3k9dH1nZXROb25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeSgpe3JldHVybiB0aGlzLm5vbkV4Y2x1c2l2ZU1heENvbmN1cnJlbmN5fWdldEFjdGl2ZU5vbkV4Y2x1c2l2ZUNvdW50KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlQ3VycmVudENvdW50fWdldFBlbmRpbmdOb25FeGNsdXNpdmVDb3VudCgpe3JldHVybiB0aGlzLm5vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZS5sZW5ndGh9YXN5bmMgcHJvY2Vzc0V4ZWN1dGlvblNsb3RzKCl7aWYoIXRoaXMuaXNQcm9jZXNzaW5nKXtmb3IodGhpcy5pc1Byb2Nlc3Npbmc9ITA7dGhpcy5leGVjdXRpb25TbG90cy5sZW5ndGg+MDspe2xldCB0PXRoaXMuZXhlY3V0aW9uU2xvdHNbMF07aWYodC5tb2RlPT09ImV4Y2x1c2l2ZSIpYXdhaXQgdGhpcy5leGVjdXRlRXhjbHVzaXZlU2xvdCh0KSx0aGlzLmV4ZWN1dGlvblNsb3RzLnNoaWZ0KCk7ZWxzZXtsZXQgcj1bXTtmb3IoO3RoaXMuZXhlY3V0aW9uU2xvdHMubGVuZ3RoPjAmJnRoaXMuZXhlY3V0aW9uU2xvdHNbMF0ubW9kZT09PSJub25leGNsdXNpdmUiOylyLnB1c2godGhpcy5leGVjdXRpb25TbG90cy5zaGlmdCgpKTthd2FpdCB0aGlzLmV4ZWN1dGVOb25FeGNsdXNpdmVTbG90cyhyKX19dGhpcy5pc1Byb2Nlc3Npbmc9ITF9fWFzeW5jIGV4ZWN1dGVFeGNsdXNpdmVTbG90KHQpe3RyeXtpZih0LnRpbWVvdXQpe2xldCByPWF3YWl0IFByb21pc2UucmFjZShbdC5mdW5jVG9FeGVjdXRlKCksVHQuZGVsYXlGb3IodC50aW1lb3V0KS50aGVuKCgpPT57dGhyb3cgbmV3IEVycm9yKCJUaW1lb3V0IHJlYWNoZWQiKX0pXSk7dC5leGVjdXRpb25EZWZlcnJlZC5yZXNvbHZlKHIpfWVsc2V7bGV0IHI9YXdhaXQgdC5mdW5jVG9FeGVjdXRlKCk7dC5leGVjdXRpb25EZWZlcnJlZC5yZXNvbHZlKHIpfX1jYXRjaChyKXt0LmV4ZWN1dGlvbkRlZmVycmVkLnJlamVjdChyKX19YXN5bmMgZXhlY3V0ZU5vbkV4Y2x1c2l2ZVNsb3RzKHQpe2xldCByPXQubWFwKGFzeW5jIGE9Pnthd2FpdCB0aGlzLndhaXRGb3JOb25FeGNsdXNpdmVTbG90KCk7dHJ5e2lmKGEudGltZW91dCl7bGV0IGk9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmZ1bmNUb0V4ZWN1dGUoKSxUdC5kZWxheUZvcihhLnRpbWVvdXQpLnRoZW4oKCk9Pnt0aHJvdyBuZXcgRXJyb3IoIlRpbWVvdXQgcmVhY2hlZCIpfSldKTthLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUoaSl9ZWxzZXtsZXQgaT1hd2FpdCBhLmZ1bmNUb0V4ZWN1dGUoKTthLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUoaSl9fWNhdGNoKGkpe2EuZXhlY3V0aW9uRGVmZXJyZWQucmVqZWN0KGkpfWZpbmFsbHl7dGhpcy5yZWxlYXNlTm9uRXhjbHVzaXZlU2xvdCgpfX0pO2F3YWl0IFByb21pc2UuYWxsKHIpfXdhaXRGb3JOb25FeGNsdXNpdmVTbG90KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlQ3VycmVudENvdW50PHRoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3k/KHRoaXMubm9uRXhjbHVzaXZlQ3VycmVudENvdW50KyssUHJvbWlzZS5yZXNvbHZlKCkpOm5ldyBQcm9taXNlKHQ9Pnt0aGlzLm5vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZS5wdXNoKCgpPT57dGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQrKyx0KCl9KX0pfXJlbGVhc2VOb25FeGNsdXNpdmVTbG90KCl7dGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQtLTtsZXQgdD10aGlzLm5vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZS5zaGlmdCgpO3QmJnQoKX19fSk7dmFyIGVqLHF2ZT1mKCgpPT57bXMoKTtlaj1jbGFzc3tjb25zdHJ1Y3Rvcih0PTE2KXt0aGlzLmhhc1NwYWNlPW5ldyByci5yeGpzLlN1YmplY3QsdGhpcy5pdGVtc0F2YWlsYWJsZT1uZXcgcnIucnhqcy5TdWJqZWN0LHRoaXMuZGF0YT1bXSx0aGlzLmhpZ2hXYXRlck1hcms9dH1wdXNoKHQpe3RoaXMuZGF0YS5wdXNoKHQpLHRoaXMuaXRlbXNBdmFpbGFibGUubmV4dCgiaXRlbXNBdmFpbGFibGUiKTtsZXQgcj10aGlzLmNoZWNrU3BhY2VBdmFpbGFibGUoKTtyZXR1cm4gciYmdGhpcy5oYXNTcGFjZS5uZXh0KCJoYXNTcGFjZSIpLHJ9c2hpZnQoKXtsZXQgdD10aGlzLmRhdGEuc2hpZnQoKTtyZXR1cm4gdGhpcy5jaGVja1NwYWNlQXZhaWxhYmxlKCkmJnRoaXMuaGFzU3BhY2UubmV4dCgiaGFzU3BhY2UiKSx0fWNoZWNrU3BhY2VBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDx0aGlzLmhpZ2hXYXRlck1hcmt9Y2hlY2tIYXNJdGVtcygpe3JldHVybiB0aGlzLmRhdGEubGVuZ3RoPjB9d2FpdEZvclNwYWNlKCl7cmV0dXJuIG5ldyBQcm9taXNlKHQ9PntpZih0aGlzLmNoZWNrU3BhY2VBdmFpbGFibGUoKSl0KCk7ZWxzZXtsZXQgcj10aGlzLmhhc1NwYWNlLnN1YnNjcmliZSgoKT0+e3IudW5zdWJzY3JpYmUoKSx0KCl9KX19KX13YWl0Rm9ySXRlbXMoKXtyZXR1cm4gbmV3IFByb21pc2UodD0+e2lmKHRoaXMuZGF0YS5sZW5ndGg+MCl0KCk7ZWxzZXtsZXQgcj10aGlzLml0ZW1zQXZhaWxhYmxlLnN1YnNjcmliZSgoKT0+e3IudW5zdWJzY3JpYmUoKSx0KCl9KX19KX19fSk7dmFyIHRtLHRqPWYoKCk9PnttcygpO3RtPWNsYXNzIGV7Y29uc3RydWN0b3IoKXt0aGlzLm1hcE9iamVjdD17fX1pc1VuaXF1ZUtleSh0KXtyZXR1cm4hdGhpcy5tYXBPYmplY3RbdF19YWRkVG9NYXAodCxyLGEpe3JldHVybiB0aGlzLmlzVW5pcXVlS2V5KHQpfHxhJiZhLmZvcmNlPyh0aGlzLm1hcE9iamVjdFt0XT1yLCEwKTohMX1nZXRCeUtleSh0KXtyZXR1cm4gdGhpcy5tYXBPYmplY3RbdF19cmVtb3ZlRnJvbU1hcCh0KXtsZXQgcj10aGlzLmdldEJ5S2V5KHQpO3JldHVybiBkZWxldGUgdGhpcy5tYXBPYmplY3RbdF0scn1nZXRLZXlzKCl7bGV0IHQ9W107Zm9yKGxldCByIGluIHRoaXMubWFwT2JqZWN0KXRoaXMubWFwT2JqZWN0W3JdJiZ0LnB1c2gocik7cmV0dXJuIHR9Y2xlYW4oKXt0aGlzLm1hcE9iamVjdD17fX1jb25jYXQodCl7bGV0IHI9bmV3IGU7Zm9yKGxldCBhIG9mIHRoaXMuZ2V0S2V5cygpKXIuYWRkVG9NYXAoYSx0aGlzLmdldEJ5S2V5KGEpKTtmb3IobGV0IGEgb2YgdC5nZXRLZXlzKCkpci5hZGRUb01hcChhLHQuZ2V0QnlLZXkoYSkse2ZvcmNlOiEwfSk7cmV0dXJuIHJ9YWRkQWxsRnJvbU90aGVyKHQpe2ZvcihsZXQgciBvZiB0LmdldEtleXMoKSl0aGlzLmFkZFRvTWFwKHIsdC5nZXRCeUtleShyKSx7Zm9yY2U6ITB9KX1hc3luYyBmaW5kKHQpe2ZvcihsZXQgciBvZiB0aGlzLmdldEtleXMoKSl7bGV0IGE9dGhpcy5nZXRCeUtleShyKTtpZihhd2FpdCB0KGEpKXJldHVybiBhfX19fSk7dmFyIGp2ZSxIMyxLdz1mKCgpPT57bXMoKTt0aigpO2p2ZT0oZT0idW5pIik9PmAke2V9eHh4eHh4eHh4eHhgLnJlcGxhY2UoL1t4eV0vZyx0PT57bGV0IHI9TWF0aC5yYW5kb20oKSoxNnwwO3JldHVybih0PT09IngiP3I6ciYzfDgpLnRvU3RyaW5nKDE2KX0pLEgzPWNsYXNzIGV7Y29uc3RydWN0b3IoKXt0aGlzLmZhc3RNYXA9bmV3IHRtLHRoaXMuZXZlbnRTdWJqZWN0PW5ldyByci5yeGpzLlN1YmplY3R9YWRkTWFwcGVkVW5pcXVlKHQscil7dGhpcy5mYXN0TWFwLmFkZFRvTWFwKHQscil9Z2V0TWFwcGVkVW5pcXVlKHQpe3JldHVybiB0aGlzLmZhc3RNYXAuZ2V0QnlLZXkodCl9cmVtb3ZlTWFwcGVkVW5pcXVlKHQpe2xldCByPXRoaXMuZ2V0TWFwcGVkVW5pcXVlKHQpfWFkZCh0KXtmb3IobGV0IGEgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlpZih0aGlzLmZhc3RNYXAuZ2V0QnlLZXkoYSk9PT10KXJldHVybiBhO2xldCByPWp2ZSgia2V5Iik7cmV0dXJuIHRoaXMuYWRkTWFwcGVkVW5pcXVlKHIsdCksdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJhZGQiLHBheWxvYWQ6dH0pLHJ9YWRkQXJyYXkodCl7Zm9yKGxldCByIG9mIHQpdGhpcy5hZGQocil9Y2hlY2tGb3JPYmplY3QodCl7cmV0dXJuISF0aGlzLmdldEtleUZvck9iamVjdCh0KX1nZXRLZXlGb3JPYmplY3QodCl7bGV0IHI9bnVsbDtmb3IobGV0IGEgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlpZighciYmdGhpcy5mYXN0TWFwLmdldEJ5S2V5KGEpPT09dClyPWE7ZWxzZSBjb250aW51ZTtyZXR1cm4gcn1hc3luYyBmaW5kKHQpe3JldHVybiB0aGlzLmZhc3RNYXAuZmluZCh0KX1maW5kU3luYyh0KXtmb3IobGV0IHIgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlpZih0KHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKSkpcmV0dXJuIHRoaXMuZ2V0TWFwcGVkVW5pcXVlKHIpfWFzeW5jIGZpbmRPbmVBbmRSZW1vdmUodCl7bGV0IHI9YXdhaXQgdGhpcy5maW5kKHQpO3JldHVybiByJiZ0aGlzLnJlbW92ZShyKSxyfWZpbmRPbmVBbmRSZW1vdmVTeW5jKHQpe2xldCByPXRoaXMuZmluZFN5bmModCk7cmV0dXJuIHImJnRoaXMucmVtb3ZlKHIpLHJ9YXN5bmMgZm9yRWFjaCh0KXtmb3IobGV0IHIgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlhd2FpdCB0KHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKSl9Z2V0T25lQW5kUmVtb3ZlKCl7bGV0IHQ9dGhpcy5mYXN0TWFwLmdldEtleXMoKTtpZih0Lmxlbmd0aD09PTApcmV0dXJuIG51bGw7e2xldCByPXRbMF0sYT10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcChyKTtyZXR1cm4gdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6YX0pLGF9fWdldEFycmF5KCl7bGV0IHQ9W107Zm9yKGxldCByIG9mIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkpdC5wdXNoKHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKSk7cmV0dXJuIHR9aXNFbXB0eSgpe3JldHVybiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpLmxlbmd0aD09PTB9cmVtb3ZlKHQpe2lmKHRoaXMuY2hlY2tGb3JPYmplY3QodCkpe2xldCByPXRoaXMuZ2V0S2V5Rm9yT2JqZWN0KHQpLGE9dGhpcy5mYXN0TWFwLnJlbW92ZUZyb21NYXAocik7cmV0dXJuIHRoaXMuZXZlbnRTdWJqZWN0Lm5leHQoe29wZXJhdGlvbjoicmVtb3ZlIixwYXlsb2FkOmF9KSxhfXJldHVybiBudWxsfXdpcGUoKXtmb3IobGV0IHQgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSl0aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcCh0KX1jb25jYXQodCl7bGV0IHI9bmV3IGU7cmV0dXJuIHIuZmFzdE1hcC5hZGRBbGxGcm9tT3RoZXIodGhpcy5mYXN0TWFwKSxyLmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKHQuZmFzdE1hcCkscn1hZGRBbGxGcm9tT3RoZXIodCl7dGhpcy5mYXN0TWFwLmFkZEFsbEZyb21PdGhlcih0LmZhc3RNYXApfX19KTt2YXIgcm0scmo9ZigoKT0+e21zKCk7YWooKTtybT1jbGFzc3tnZXQgY29tcGFyaXNvblN0cmluZygpe3JldHVybiB0aGlzLmNvbXBhcmlzb25GdW5jKHRoaXMub3JpZ2luYWxJbnRlcmVzdCl9ZnVsbGZpbGxJbnRlcmVzdCh0KXt0aGlzLmlzRnVsbGZpbGxlZD0hMCx0aGlzLmZ1bGxmaWxsbWVudFN0b3JlPVtdLHRoaXMuaW50ZXJlc3REZWZlcnJlZC5yZXNvbHZlKHQpfWNvbnN0cnVjdG9yKHQscixhLGkpe3RoaXMuZGVzdHJ1Y3Rpb25UaW1lcj1uZXcgRGwuVGltZXIoMWU0KSx0aGlzLmlzRnVsbGZpbGxlZD0hMSx0aGlzLmZ1bGxmaWxsbWVudFN0b3JlPVtdLHRoaXMuaW50ZXJlc3REZWZlcnJlZD1uZXcgSmUuRGVmZXJyZWQsdGhpcy5pbnRlcmVzdEZ1bGxmaWxsZWQ9dGhpcy5pbnRlcmVzdERlZmVycmVkLnByb21pc2UsdGhpcy5pbnRlcmVzdE1hcFJlZj10LHRoaXMub3JpZ2luYWxJbnRlcmVzdD1yLHRoaXMuY29tcGFyaXNvbkZ1bmM9YSx0aGlzLm9wdGlvbnM9aSx0aGlzLmRlc3RydWN0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9Pnt0aGlzLmRlc3Ryb3koKX0pLHRoaXMub3B0aW9ucz8ubWFya0xvc3RBZnRlckRlZmF1bHQmJlR0LmRlbGF5Rm9yKHRoaXMub3B0aW9ucy5tYXJrTG9zdEFmdGVyRGVmYXVsdCkudGhlbih0aGlzLm1hcmtMb3N0KX1kZXN0cm95KCl7dGhpcy5pbnRlcmVzdE1hcFJlZi5yZW1vdmVJbnRlcmVzdCh0aGlzKSwhdGhpcy5pc0Z1bGxmaWxsZWQmJnRoaXMub3B0aW9ucy5kZWZhdWx0RnVsbGZpbGxtZW50JiZ0aGlzLmZ1bGxmaWxsSW50ZXJlc3QodGhpcy5vcHRpb25zLmRlZmF1bHRGdWxsZmlsbG1lbnQpfW1hcmtMb3N0KCl7dGhpcy5kZXN0cnVjdGlvblRpbWVyLnN0YXJ0KCl9cmVuZXcoKXt0aGlzLmRlc3RydWN0aW9uVGltZXIucmVzZXQoKX19fSk7dmFyIGlqLGFqPWYoKCk9PnttcygpO0t3KCk7cmooKTtpaj1jbGFzc3tjb25zdHJ1Y3Rvcih0LHI9e30pe3RoaXMuaW50ZXJlc3RPYmplY3RNYXA9bmV3IEgzLHRoaXMuaW50ZXJlc3RPYnNlcnZhYmxlPW5ldyByci5PYnNlcnZhYmxlSW50YWtlLHRoaXMuY29tcGFyaXNvbkZ1bmM9dCx0aGlzLm9wdGlvbnM9cn1hc3luYyBhZGRJbnRlcmVzdCh0LHIpe2xldCBhPXRoaXMuY29tcGFyaXNvbkZ1bmModCksaSxuPW5ldyBybSh0aGlzLHQsdGhpcy5jb21wYXJpc29uRnVuYyx7bWFya0xvc3RBZnRlckRlZmF1bHQ6dGhpcy5vcHRpb25zLm1hcmtMb3N0QWZ0ZXJEZWZhdWx0LGRlZmF1bHRGdWxsZmlsbG1lbnQ6cn0pLHM9ITE7cmV0dXJuIGF3YWl0IHRoaXMuaW50ZXJlc3RPYmplY3RNYXAuZm9yRWFjaChvPT57IXMmJm8uY29tcGFyaXNvblN0cmluZz09PW4uY29tcGFyaXNvblN0cmluZyYmKGNvbnNvbGUubG9nKCJpbmZvIixgaW50ZXJlc3QgYWxyZWFkeSBleGlzdHMgZm9yICR7bi5jb21wYXJpc29uU3RyaW5nfWApLHM9ITAsaT1vLGkucmVuZXcoKSl9KSxpfHwoaT1uLHRoaXMuaW50ZXJlc3RPYmplY3RNYXAuYWRkKGkpKSx0aGlzLmludGVyZXN0T2JzZXJ2YWJsZS5wdXNoKGkpLGl9cmVtb3ZlSW50ZXJlc3QodCl7bGV0IHI9dGhpcy5pbnRlcmVzdE9iamVjdE1hcC5maW5kT25lQW5kUmVtb3ZlU3luYyhhPT50LmNvbXBhcmlzb25TdHJpbmc9PT1hLmNvbXBhcmlzb25TdHJpbmcpfWNoZWNrSW50ZXJlc3QodCl7bGV0IHI9dGhpcy5jb21wYXJpc29uRnVuYyh0KTtyZXR1cm4gdGhpcy5jaGVja0ludGVyZXN0QnlTdHJpbmcocil9Y2hlY2tJbnRlcmVzdEJ5U3RyaW5nKHQpe3JldHVybiEhdGhpcy5pbnRlcmVzdE9iamVjdE1hcC5maW5kU3luYyhhPT5hLmNvbXBhcmlzb25TdHJpbmc9PT10KX1pbmZvcm1Mb3N0SW50ZXJlc3QodCl7bGV0IHI9dGhpcy5maW5kSW50ZXJlc3QodCk7ciYmci5tYXJrTG9zdCgpfWZpbmRJbnRlcmVzdCh0KXtsZXQgcj10aGlzLmNvbXBhcmlzb25GdW5jKHQpO3JldHVybiB0aGlzLmludGVyZXN0T2JqZWN0TWFwLmZpbmRTeW5jKGk9PmkuY29tcGFyaXNvblN0cmluZz09PXIpfX19KTt2YXIgbmosVnZlPWYoKCk9PnttcygpO25qPWNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMuYXJyYXk9W10sdGhpcy5hcnJheUxpbWl0PXR9YWRkT25lKHQpe3RoaXMuYXJyYXkudW5zaGlmdCh0KSx0aGlzLmFycmF5Lmxlbmd0aD50aGlzLmFycmF5TGltaXQmJih0aGlzLmFycmF5Lmxlbmd0aD10aGlzLmFycmF5TGltaXQpfWFkZE1hbnkodCl7Zm9yKGxldCByIG9mIHQpdGhpcy5hZGRPbmUocil9c2V0TGltaXQodCl7dGhpcy5hcnJheUxpbWl0PXQsdGhpcy5hcnJheS5sZW5ndGg+dGhpcy5hcnJheUxpbWl0JiYodGhpcy5hcnJheS5sZW5ndGg9dGhpcy5hcnJheUxpbWl0KX1nZXRBdmVyYWdlKCl7aWYodHlwZW9mIHRoaXMuYXJyYXlbMF09PSJudW1iZXIiKXtsZXQgdD0wO2ZvcihsZXQgciBvZiB0aGlzLmFycmF5KXQ9dCtyO3JldHVybiB0L3RoaXMuYXJyYXkubGVuZ3RofWVsc2UgcmV0dXJuIG51bGx9fX0pO3ZhciBzaixVdmU9ZigoKT0+e21zKCk7S3coKTtzaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVmZXJlbmNlT2JqZWN0TWFwPW5ldyBIM31jaGVja0FuZFRyYWNrKHQpe3JldHVybiB0aGlzLnJlZmVyZW5jZU9iamVjdE1hcC5jaGVja0Zvck9iamVjdCh0KT8hMToodGhpcy5yZWZlcmVuY2VPYmplY3RNYXAuYWRkKHQpLCEwKX19fSk7dmFyIG9qLFd2ZT1mKCgpPT57bXMoKTtvaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PVtdfWFkZFN0cmluZyh0KXt0aGlzLl9zdHJpbmdBcnJheS5wdXNoKHQpLHRoaXMubm90aWZ5VHJpZ2dlcigpfWFkZFN0cmluZ0FycmF5KHQpe2ZvcihsZXQgciBvZiB0KXRoaXMuYWRkU3RyaW5nKHIpfXJlbW92ZVN0cmluZyh0KXtmb3IobGV0IHIgaW4gdGhpcy5fc3RyaW5nQXJyYXkpdGhpcy5fc3RyaW5nQXJyYXlbcl09PT10JiZ0aGlzLl9zdHJpbmdBcnJheS5zcGxpY2UocGFyc2VJbnQociksMSk7dGhpcy5ub3RpZnlUcmlnZ2VyKCl9d2lwZSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMubm90aWZ5VHJpZ2dlcigpfWNoZWNrU3RyaW5nKHQpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5pbmRleE9mKHQpIT09LTF9Y2hlY2tNaW5pbWF0Y2godCl7bGV0IHI9bmV3IFNsLlNtYXJ0TWF0Y2godCksYT0hMTtmb3IobGV0IGkgb2YgdGhpcy5fc3RyaW5nQXJyYXkpci5tYXRjaChpKSYmKGE9ITApO3JldHVybiBhfWNoZWNrSXNFbXB0eSgpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5sZW5ndGg9PT0wfWdldFN0cmluZ0FycmF5KCl7bGV0IHQ9W107Zm9yKGxldCByIG9mIHRoaXMuX3N0cmluZ0FycmF5KXQucHVzaChyKTtyZXR1cm4gdH1yZWdpc3RlclVudGlsVHJ1ZSh0LHIpe2xldCBhPUplLmRlZmVyKCk7cmV0dXJuIHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5LnB1c2goKCk9PntsZXQgaT10KHRoaXMuZ2V0U3RyaW5nQXJyYXkoKSk7cmV0dXJuIGk9PT0hMCYmKHImJnIoKSxhLnJlc29sdmUoKSksaX0pLHRoaXMubm90aWZ5VHJpZ2dlcigpLGEucHJvbWlzZX1ub3RpZnlUcmlnZ2VyKCl7bGV0IHQ9dGhpcy5fdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXkuZmlsdGVyKHI9PiFyKCkpO3RoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PXR9fX0pO3ZhciBsaixHdmU9ZigoKT0+e21zKCk7bGo9Y2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yYWdlQXJyYXk9W10sdGhpcy5vcHRpb25zPXR9Y2hlY2tBZ2dyZWdhdGlvblN0YXR1cygpe2xldCB0PSgpPT57dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW5ldyBEbC5UaW1lcih0aGlzLm9wdGlvbnMuYWdncmVnYXRpb25JbnRlcnZhbEluTWlsbGlzKSx0aGlzLmFnZ3JlZ2F0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9PntsZXQgcj10aGlzLnN0b3JhZ2VBcnJheTtpZihyLmxlbmd0aD09PTApe3RoaXMuYWdncmVnYXRpb25UaW1lcj1udWxsO3JldHVybn10aGlzLnN0b3JhZ2VBcnJheT1bXSx0KCksdGhpcy5vcHRpb25zLmZ1bmN0aW9uRm9yQWdncmVnYXRpb24ocil9KSx0aGlzLmFnZ3JlZ2F0aW9uVGltZXIuc3RhcnQoKX07dGhpcy5hZ2dyZWdhdGlvblRpbWVyfHx0KCl9YWRkKHQpe3RoaXMuc3RvcmFnZUFycmF5LnB1c2godCksdGhpcy5jaGVja0FnZ3JlZ2F0aW9uU3RhdHVzKCl9fX0pO3ZhciBjaixZdmU9ZigoKT0+e21zKCk7Y2o9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN5bWJvbFRyZWU9bmV3IEp3LmRlZmF1bHR9aW5pdGlhbGl6ZSh0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmluaXRpYWxpemUodCl9aGFzQ2hpbGRyZW4odCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5oYXNDaGlsZHJlbih0KX1maXJzdENoaWxkKHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuZmlyc3RDaGlsZCh0KX1sYXN0Q2hpbGQodCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5sYXN0Q2hpbGQodCl9cHJldmlvdXNTaWJsaW5nKHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJldmlvdXNTaWJsaW5nKHQpfW5leHRTaWJsaW5nKHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubmV4dFNpYmxpbmcodCl9cGFyZW50KHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucGFyZW50KHQpfWxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubGFzdEluY2x1c2l2ZURlc2NlbmRhbnQodCl9cHJlY2VkaW5nKHQscil7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5wcmVjZWRpbmcodCxyKX1mb2xsb3dpbmcodCxyKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmZvbGxvd2luZyh0LHIpfWNoaWxkcmVuVG9BcnJheSh0LHIpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuY2hpbGRyZW5Ub0FycmF5KHQscil9YW5jZXN0b3JzVG9BcnJheSh0LHIpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuYW5jZXN0b3JzVG9BcnJheSh0LHIpfXRyZWVUb0FycmF5KHQscil7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS50cmVlVG9BcnJheSh0LHIpfWNoaWxkcmVuSXRlcmF0b3IodCxyKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuSXRlcmF0b3IodCxyKX1wcmV2aW91c1NpYmxpbmdzSXRlcmF0b3IodCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5wcmV2aW91c1NpYmxpbmdzSXRlcmF0b3IodCl9bmV4dFNpYmxpbmdzSXRlcmF0b3IodCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5uZXh0U2libGluZ3NJdGVyYXRvcigpfWFuY2VzdG9yc0l0ZXJhdG9yKHQpe3RoaXMuc3ltYm9sVHJlZS5hbmNlc3RvcnNJdGVyYXRvcigpfXRyZWVJdGVyYXRvcih0LHIpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUudHJlZUl0ZXJhdG9yKHQpfWluZGV4KHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaW5kZXgodCl9Y2hpbGRyZW5Db3VudCh0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuQ291bnQodCl9Y29tcGFyZVRyZWVQb3NpdGlvbih0LHIpe3JldHVybiB0aGlzLmNvbXBhcmVUcmVlUG9zaXRpb24odCxyKX1yZW1vdmUodCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5yZW1vdmUodCl9aW5zZXJ0QmVmb3JlKHQscil7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5pbnNlcnRCZWZvcmUodCxyKX1pbnNlcnRBZnRlcih0LHIpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaW5zZXJ0QWZ0ZXIodCxyKX1wcmVwZW5kQ2hpbGQodCxyKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnByZXBlbmRDaGlsZCh0LHIpfWFwcGVuZENoaWxkKHQscil7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5hcHBlbmRDaGlsZCh0LHIpfXRvSnNvbldpdGhIaWVyYWNoeSh0KXtsZXQgcj10aGlzLnRyZWVJdGVyYXRvcih0LHt9KTtmb3IobGV0IGEgb2Ygciljb25zb2xlLmxvZyhhKX1mcm9tSnNvbldpdGhIaWVyYWNoeSh0KXt9fX0pO3ZhciB1aT17fTtSZSh1aSx7QXN5bmNFeGVjdXRpb25TdGFjazooKT0+S3EsQmFja3ByZXNzdXJlZEFycmF5OigpPT5laixGYXN0TWFwOigpPT50bSxJbnRlcmVzdDooKT0+cm0sSW50ZXJlc3RNYXA6KCk9PmlqLExpbWl0ZWRBcnJheTooKT0+bmosTG9vcFRyYWNrZXI6KCk9PnNqLE9iamVjdE1hcDooKT0+SDMsU3RyaW5nbWFwOigpPT5vaixUaW1lZEFnZ3JlZ3RvcjooKT0+bGosVHJlZTooKT0+Y2osdW5pOigpPT5qdmV9KTt2YXIgS2g9ZigoKT0+e0h2ZSgpO3F2ZSgpO3RqKCk7YWooKTtyaigpO1Z2ZSgpO1V2ZSgpO0t3KCk7V3ZlKCk7R3ZlKCk7WXZlKCl9KTt2YXIgQzA9e307UmUoQzAse2FyZVVpbnQ4QXJyYXlzRXF1YWw6KCk9PnBncixhc3NlcnRVaW50OEFycmF5OigpPT56MCxhc3NlcnRVaW50OEFycmF5T3JBcnJheUJ1ZmZlcjooKT0+S3ZlLGJhc2U2NFRvU3RyaW5nOigpPT52Z3IsYmFzZTY0VG9VaW50OEFycmF5OigpPT5heGUsY29tcGFyZVVpbnQ4QXJyYXlzOigpPT5mZ3IsY29uY2F0VWludDhBcnJheXM6KCk9PnVncixnZXRVaW50QkU6KCk9Pk1ncixoZXhUb1VpbnQ4QXJyYXk6KCk9PndncixpbmNsdWRlczooKT0+a2dyLGluZGV4T2Y6KCk9Pml4ZSxpc1VpbnQ4QXJyYXk6KCk9PmRqLHN0cmluZ1RvQmFzZTY0OigpPT5iZ3Isc3RyaW5nVG9VaW50OEFycmF5OigpPT50eGUsdG9VaW50OEFycmF5OigpPT5kZ3IsdWludDhBcnJheVRvQmFzZTY0OigpPT5yeGUsdWludDhBcnJheVRvSGV4OigpPT55Z3IsdWludDhBcnJheVRvU3RyaW5nOigpPT5leGV9KTtmdW5jdGlvbiBadmUoZSx0LHIpe3JldHVybiBlP2UuY29uc3RydWN0b3I9PT10PyEwOm5nci5jYWxsKGUpPT09cjohMX1mdW5jdGlvbiBkaihlKXtyZXR1cm4gWnZlKGUsVWludDhBcnJheSxzZ3IpfWZ1bmN0aW9uIGxncihlKXtyZXR1cm4gWnZlKGUsQXJyYXlCdWZmZXIsb2dyKX1mdW5jdGlvbiBjZ3IoZSl7cmV0dXJuIGRqKGUpfHxsZ3IoZSl9ZnVuY3Rpb24gejAoZSl7aWYoIWRqKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFxgVWludDhBcnJheVxgLCBnb3QgXGAke3R5cGVvZiBlfVxgYCl9ZnVuY3Rpb24gS3ZlKGUpe2lmKCFjZ3IoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXGBVaW50OEFycmF5XGAgb3IgXGBBcnJheUJ1ZmZlclxgLCBnb3QgXGAke3R5cGVvZiBlfVxgYCl9ZnVuY3Rpb24gZGdyKGUpe2lmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSk7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKXJldHVybiBuZXcgVWludDhBcnJheShlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKTt0aHJvdyBuZXcgVHlwZUVycm9yKGBVbnN1cHBvcnRlZCB2YWx1ZSwgZ290IFxgJHt0eXBlb2YgZX1cYC5gKX1mdW5jdGlvbiB1Z3IoZSx0KXtpZihlLmxlbmd0aD09PTApcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO3Q/Pz1lLnJlZHVjZSgoaSxuKT0+aStuLmxlbmd0aCwwKTtsZXQgcj1uZXcgVWludDhBcnJheSh0KSxhPTA7Zm9yKGxldCBpIG9mIGUpejAoaSksci5zZXQoaSxhKSxhKz1pLmxlbmd0aDtyZXR1cm4gcn1mdW5jdGlvbiBwZ3IoZSx0KXtpZih6MChlKSx6MCh0KSxlPT09dClyZXR1cm4hMDtpZihlLmxlbmd0aCE9PXQubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKGVbcl0hPT10W3JdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGZncihlLHQpe3owKGUpLHowKHQpO2xldCByPU1hdGgubWluKGUubGVuZ3RoLHQubGVuZ3RoKTtmb3IobGV0IGE9MDthPHI7YSsrKXtsZXQgaT1lW2FdLXRbYV07aWYoaSE9PTApcmV0dXJuIE1hdGguc2lnbihpKX1yZXR1cm4gTWF0aC5zaWduKGUubGVuZ3RoLXQubGVuZ3RoKX1mdW5jdGlvbiBleGUoZSx0PSJ1dGY4Iil7cmV0dXJuIEt2ZShlKSxYdmVbdF0/Pz1uZXcgZ2xvYmFsVGhpcy5UZXh0RGVjb2Rlcih0KSxYdmVbdF0uZGVjb2RlKGUpfWZ1bmN0aW9uIGFtKGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcYHN0cmluZ1xgLCBnb3QgXGAke3R5cGVvZiBlfVxgYCl9ZnVuY3Rpb24gdHhlKGUpe3JldHVybiBhbShlKSxoZ3IuZW5jb2RlKGUpfWZ1bmN0aW9uIG1ncihlKXtyZXR1cm4gZS5yZXBsYWNlQWxsKCIrIiwiLSIpLnJlcGxhY2VBbGwoIi8iLCJfIikucmVwbGFjZSgvPSskLywiIil9ZnVuY3Rpb24gZ2dyKGUpe2xldCB0PWUucmVwbGFjZUFsbCgiLSIsIisiKS5yZXBsYWNlQWxsKCJfIiwiLyIpLHI9KDQtdC5sZW5ndGglNCklNDtyZXR1cm4gdCsiPSIucmVwZWF0KHIpfWZ1bmN0aW9uIHJ4ZShlLHt1cmxTYWZlOnQ9ITF9PXt9KXt6MChlKTtsZXQgcj0iIjtmb3IobGV0IGE9MDthPGUubGVuZ3RoO2ErPVF2ZSl7bGV0IGk9ZS5zdWJhcnJheShhLGErUXZlKTtyKz1nbG9iYWxUaGlzLmJ0b2EoU3RyaW5nLmZyb21Db2RlUG9pbnQuYXBwbHkodm9pZCAwLGkpKX1yZXR1cm4gdD9tZ3Iocik6cn1mdW5jdGlvbiBheGUoZSl7cmV0dXJuIGFtKGUpLFVpbnQ4QXJyYXkuZnJvbShnbG9iYWxUaGlzLmF0b2IoZ2dyKGUpKSx0PT50LmNvZGVQb2ludEF0KDApKX1mdW5jdGlvbiBiZ3IoZSx7dXJsU2FmZTp0PSExfT17fSl7cmV0dXJuIGFtKGUpLHJ4ZSh0eGUoZSkse3VybFNhZmU6dH0pfWZ1bmN0aW9uIHZncihlKXtyZXR1cm4gYW0oZSksZXhlKGF4ZShlKSl9ZnVuY3Rpb24geWdyKGUpe3owKGUpO2xldCB0PSIiO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKXQrPXhncltlW3JdXTtyZXR1cm4gdH1mdW5jdGlvbiB3Z3IoZSl7aWYoYW0oZSksZS5sZW5ndGglMiE9PTApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIEhleCBzdHJpbmcgbGVuZ3RoLiIpO2xldCB0PWUubGVuZ3RoLzIscj1uZXcgVWludDhBcnJheSh0KTtmb3IobGV0IGE9MDthPHQ7YSsrKXtsZXQgaT1KdmVbZVthKjJdXSxuPUp2ZVtlW2EqMisxXV07aWYoaT09PXZvaWQgMHx8bj09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSGV4IGNoYXJhY3RlciBlbmNvdW50ZXJlZCBhdCBwb3NpdGlvbiAke2EqMn1gKTtyW2FdPWk8PDR8bn1yZXR1cm4gcn1mdW5jdGlvbiBNZ3IoZSl7bGV0e2J5dGVMZW5ndGg6dH09ZTtpZih0PT09NilyZXR1cm4gZS5nZXRVaW50MTYoMCkqMioqMzIrZS5nZXRVaW50MzIoMik7aWYodD09PTUpcmV0dXJuIGUuZ2V0VWludDgoMCkqMioqMzIrZS5nZXRVaW50MzIoMSk7aWYodD09PTQpcmV0dXJuIGUuZ2V0VWludDMyKDApO2lmKHQ9PT0zKXJldHVybiBlLmdldFVpbnQ4KDApKjIqKjE2K2UuZ2V0VWludDE2KDEpO2lmKHQ9PT0yKXJldHVybiBlLmdldFVpbnQxNigwKTtpZih0PT09MSlyZXR1cm4gZS5nZXRVaW50OCgwKX1mdW5jdGlvbiBpeGUoZSx0KXtsZXQgcj1lLmxlbmd0aCxhPXQubGVuZ3RoO2lmKGE9PT0wfHxhPnIpcmV0dXJuLTE7bGV0IGk9ci1hO2ZvcihsZXQgbj0wO248PWk7bisrKXtsZXQgcz0hMDtmb3IobGV0IG89MDtvPGE7bysrKWlmKGVbbitvXSE9PXRbb10pe3M9ITE7YnJlYWt9aWYocylyZXR1cm4gbn1yZXR1cm4tMX1mdW5jdGlvbiBrZ3IoZSx0KXtyZXR1cm4gaXhlKGUsdCkhPT0tMX12YXIgbmdyLHNncixvZ3IsWHZlLGhncixRdmUseGdyLEp2ZSxueGU9ZigoKT0+e25ncj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLHNncj0iW29iamVjdCBVaW50OEFycmF5XSIsb2dyPSJbb2JqZWN0IEFycmF5QnVmZmVyXSI7WHZlPXt1dGY4Om5ldyBnbG9iYWxUaGlzLlRleHREZWNvZGVyKCJ1dGY4Iil9O2hncj1uZXcgZ2xvYmFsVGhpcy5UZXh0RW5jb2RlcjtRdmU9NjU1MzU7eGdyPUFycmF5LmZyb20oe2xlbmd0aDoyNTZ9LChlLHQpPT50LnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpO0p2ZT17MDowLDE6MSwyOjIsMzozLDQ6NCw1OjUsNjo2LDc6Nyw4OjgsOTo5LGE6MTAsYjoxMSxjOjEyLGQ6MTMsZToxNCxmOjE1LEE6MTAsQjoxMSxDOjEyLEQ6MTMsRToxNCxGOjE1fX0pO3ZhciBzeGU9ZigoKT0+e254ZSgpfSk7dmFyIGI1PXt9O1JlKGI1LHtiYXNlNjRUb1VpbnQ4QXJyYXk6KCk9PlRncixlbnN1cmVQdXJlVWludDhBcnJheTooKT0+JGdyLGlzQnVmZmVyTGlrZTooKT0+TGdyLGlzVWludDhBcnJheTooKT0+X2dyLHVJbnQ4QXJyYXlFeHRyYXM6KCk9Pnpncix1SW50OEFycmF5VG9CYXNlNjQ6KCk9PkNncn0pO2Z1bmN0aW9uIENncihlKXtyZXR1cm4gQzAudWludDhBcnJheVRvQmFzZTY0KGUpfWZ1bmN0aW9uIFRncihlKXtyZXR1cm4gQzAuYmFzZTY0VG9VaW50OEFycmF5KGUpfWZ1bmN0aW9uIExncihlKXtyZXR1cm4gZSYmdHlwZW9mIGUuYnl0ZUxlbmd0aD09Im51bWJlciI/ITA6dHlwZW9mIEJ1ZmZlcjwidSImJkJ1ZmZlci5pc0J1ZmZlcj9CdWZmZXIuaXNCdWZmZXIoZSk6ITF9ZnVuY3Rpb24gJGdyKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKTtyZXR1cm4gdC5zZXQoZSksdH12YXIgemdyLF9ncixveGU9ZigoKT0+e3N4ZSgpO3pncj1DMDtfZ3I9ZT0+QzAuaXNVaW50OEFycmF5KGUpfSk7dmFyIGltPWYoKCk9PntsbigpfSk7dmFyIG5tLGVNPWYoKCk9PntpbSgpO25tPWNsYXNze2NvbnN0cnVjdG9yKHQscil7dGhpcy5ndWFyZEZ1bmN0aW9uPXQsdGhpcy5vcHRpb25zPXJ9YXN5bmMgZXhlYyh0KXtyZXR1cm4gYXdhaXQgdGhpcy5ndWFyZEZ1bmN0aW9uKHQpfWFzeW5jIGdldEZhaWxlZEhpbnQodCl7cmV0dXJuIGF3YWl0IHRoaXMuZXhlYyh0KT9udWxsOnRoaXMub3B0aW9ucy5mYWlsZWRIaW50fX19KTt2YXIgc20sdWo9ZigoKT0+e2ltKCk7c209Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9Ikd1YXJkRXJyb3IifX19KTt2YXIgb20scGo9ZigoKT0+e2ltKCk7ZU0oKTtvbT1jbGFzcyBleHRlbmRzIG5te2NvbnN0cnVjdG9yKHQ9W10pe3N1cGVyKGFzeW5jIHI9PnRoaXMuYWxsR3VhcmRzUGFzcyhyKSksdGhpcy5ndWFyZHM9dH1hc3luYyBleGVjQWxsV2l0aERhdGEodCxyPXttb2RlOiJwYXJhbGxlbCIsc3RvcE9uRmFpbDohMX0pe2xldCBhPVtdO2ZvcihsZXQgbiBvZiB0aGlzLmd1YXJkcyl7bGV0IHM9bi5leGVjKHQpO2lmKHIubW9kZT09PSJzZXJpYWwiJiZhd2FpdCBzLGEucHVzaChzKSxyLnN0b3BPbkZhaWwmJiFhd2FpdCBzKXJldHVybiBhd2FpdCBQcm9taXNlLmFsbChhKX1yZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoYSl9YXN5bmMgYWxsR3VhcmRzUGFzcyh0LHI9e21vZGU6InBhcmFsbGVsIixzdG9wT25GYWlsOiExfSl7cmV0dXJuKGF3YWl0IHRoaXMuZXhlY0FsbFdpdGhEYXRhKHQscikpLmV2ZXJ5KGk9PmkpfWFzeW5jIGFueUd1YXJkc1Bhc3ModCl7cmV0dXJuKGF3YWl0IHRoaXMuZXhlY0FsbFdpdGhEYXRhKHQse21vZGU6InBhcmFsbGVsIixzdG9wT25GYWlsOiExfSkpLnNvbWUoYT0+YSl9Z2V0RmFpbGVkSGludCh0KXtmb3IobGV0IHIgb2YgdGhpcy5ndWFyZHMpe2xldCBhPXIuZ2V0RmFpbGVkSGludCh0KTtpZihhKXJldHVybiBhfX19fSk7dmFyIGxtPXt9O1JlKGxtLHtHdWFyZDooKT0+bm0sR3VhcmRFcnJvcjooKT0+c20sR3VhcmRTZXQ6KCk9Pm9tLHBhc3NHdWFyZHNPclJlamVjdDooKT0+RGdyfSk7dmFyIERncixseGU9ZigoKT0+e2ltKCk7ZU0oKTt1aigpO2VNKCk7cGooKTtwaigpO3VqKCk7RGdyPWFzeW5jKGUsdCk9PntsZXQgcj1uZXcgb20odCk7aWYoIWF3YWl0IHIuYWxsR3VhcmRzUGFzcyhlKSl7bGV0IGk9YXdhaXQgci5nZXRGYWlsZWRIaW50KGUpO3Rocm93IG5ldyBzbShgR3VhcmRzIGZhaWxlZDoKJHtpfQogICAgYCl9fX0pO3ZhciB2NSxmaj1mKCgpPT57djU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnM9W10sdGhpcy5yZXNwb25zZUludGVyY2VwdG9ycz1bXSx0aGlzLmVycm9ySW50ZXJjZXB0b3JzPVtdfWFkZFJlcXVlc3RJbnRlcmNlcHRvcih0KXt0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMucHVzaCh0KX1hZGRSZXNwb25zZUludGVyY2VwdG9yKHQpe3RoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMucHVzaCh0KX1hZGRFcnJvckludGVyY2VwdG9yKHQpe3RoaXMuZXJyb3JJbnRlcmNlcHRvcnMucHVzaCh0KX1yZW1vdmVSZXF1ZXN0SW50ZXJjZXB0b3IodCl7bGV0IHI9dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLmluZGV4T2YodCk7cj4tMSYmdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLnNwbGljZShyLDEpfXJlbW92ZVJlc3BvbnNlSW50ZXJjZXB0b3IodCl7bGV0IHI9dGhpcy5yZXNwb25zZUludGVyY2VwdG9ycy5pbmRleE9mKHQpO3I+LTEmJnRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMuc3BsaWNlKHIsMSl9cmVtb3ZlRXJyb3JJbnRlcmNlcHRvcih0KXtsZXQgcj10aGlzLmVycm9ySW50ZXJjZXB0b3JzLmluZGV4T2YodCk7cj4tMSYmdGhpcy5lcnJvckludGVyY2VwdG9ycy5zcGxpY2UociwxKX1jbGVhckFsbCgpe3RoaXMucmVxdWVzdEludGVyY2VwdG9ycz1bXSx0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzPVtdLHRoaXMuZXJyb3JJbnRlcmNlcHRvcnM9W119YXN5bmMgcHJvY2Vzc1JlcXVlc3QodCl7bGV0IHI9dDtmb3IobGV0IGEgb2YgdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzKXRyeXtyPWF3YWl0IGEocil9Y2F0Y2goaSl7dGhyb3cgYXdhaXQgdGhpcy5wcm9jZXNzRXJyb3IoaSBpbnN0YW5jZW9mIEVycm9yP2k6bmV3IEVycm9yKFN0cmluZyhpKSkpfXJldHVybiByfWFzeW5jIHByb2Nlc3NSZXNwb25zZSh0KXtsZXQgcj10O2ZvcihsZXQgYSBvZiB0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzKXRyeXtyPWF3YWl0IGEocil9Y2F0Y2goaSl7dGhyb3cgYXdhaXQgdGhpcy5wcm9jZXNzRXJyb3IoaSBpbnN0YW5jZW9mIEVycm9yP2k6bmV3IEVycm9yKFN0cmluZyhpKSkpfXJldHVybiByfWFzeW5jIHByb2Nlc3NFcnJvcih0KXtsZXQgcj10O2ZvcihsZXQgYSBvZiB0aGlzLmVycm9ySW50ZXJjZXB0b3JzKXRyeXtyPWF3YWl0IGEocil9Y2F0Y2goaSl7cj1pIGluc3RhbmNlb2YgRXJyb3I/aTpuZXcgRXJyb3IoU3RyaW5nKGkpKX1yZXR1cm4gcn1nZXRJbnRlcmNlcHRvckNvdW50cygpe3JldHVybntyZXF1ZXN0OnRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5sZW5ndGgscmVzcG9uc2U6dGhpcy5yZXNwb25zZUludGVyY2VwdG9ycy5sZW5ndGgsZXJyb3I6dGhpcy5lcnJvckludGVyY2VwdG9ycy5sZW5ndGh9fX19KTt2YXIgY3hlPWYoKCk9PntsbigpfSk7dmFyIGR4ZT1mKCgpPT57fSk7dmFyIGhqLHV4ZT1mKCgpPT57Y3hlKCk7ZHhlKCk7aGo9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmxvYWRlZFNjcmlwdHM9W119YXN5bmMgZ2V0RW52QXdhcmVNb2R1bGUodCl7aWYodGhpcy5pc05vZGUpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUodC5ub2RlTW9kdWxlTmFtZSk7aWYodGhpcy5pc0Jyb3dzZXIpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZVdlYk1vZHVsZSh0LndlYlVybEFyZyx0LmdldEZ1bmN0aW9uKTtjb25zb2xlLmVycm9yKCJwbGF0Zm9ybSBmb3IgbG9hZGluZyBub3Qgc3VwcG9ydGVkIGJ5IHNtYXJ0ZW52Iil9YXN5bmMgZ2V0U2FmZU5vZGVNb2R1bGUodCxyKXtpZighdGhpcy5pc05vZGUpe2NvbnNvbGUuZXJyb3IoYFlvdSB0cmllZCB0byBsb2FkIGEgbm9kZSBtb2R1bGUgaW4gYSB3cm9uZyBjb250ZXh0OiAke3R9LiBUaGlzIGRvZXMgbm90IHRocm93LmApO3JldHVybn1sZXQgYT1hd2FpdCBuZXcgRnVuY3Rpb24oYHJldHVybiBpbXBvcnQoJyR7dH0nKWApKCk7cmV0dXJuIHImJmF3YWl0IHIoYSksYX1hc3luYyBnZXRTYWZlV2ViTW9kdWxlKHQscil7aWYoIXRoaXMuaXNCcm93c2VyKXtjb25zb2xlLmVycm9yKCJZb3UgdHJpZWQgdG8gbG9hZCBhIHdlYiBtb2R1bGUgaW4gYSB3cm9uZyBjb250ZXh0Iik7cmV0dXJufWlmKHRoaXMubG9hZGVkU2NyaXB0cy5pbmNsdWRlcyh0KSlyZXR1cm4gcigpO3RoaXMubG9hZGVkU2NyaXB0cy5wdXNoKHQpO2xldCBhPUplLmRlZmVyKCk7aWYoZ2xvYmFsVGhpcy5pbXBvcnRTY3JpcHRzKWdsb2JhbFRoaXMuaW1wb3J0U2NyaXB0cyh0KSxhLnJlc29sdmUoKTtlbHNle2xldCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2kub25sb2FkPSgpPT57YS5yZXNvbHZlKCl9LGkuc3JjPXQsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpKX1yZXR1cm4gYXdhaXQgYS5wcm9taXNlLHIoKX1nZXQgcnVudGltZUVudigpe3JldHVybiB0eXBlb2YgcHJvY2VzczwidSI/Im5vZGUiOiJicm93c2VyIn1nZXQgaXNCcm93c2VyKCl7cmV0dXJuIXRoaXMuaXNOb2RlfWdldCB1c2VyQWdlbnQoKXtyZXR1cm4gdGhpcy5pc0Jyb3dzZXI/bmF2aWdhdG9yLnVzZXJBZ2VudDoidW5kZWZpbmVkIn1nZXQgaXNOb2RlKCl7cmV0dXJuIHRoaXMucnVudGltZUVudj09PSJub2RlIn1nZXQgbm9kZVZlcnNpb24oKXtyZXR1cm4gcHJvY2Vzcy52ZXJzaW9ufWdldCBpc0NJKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyEhcHJvY2Vzcy5lbnYuQ0k6ITF9YXN5bmMgaXNNYWNBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJkYXJ3aW4iOiExfWFzeW5jIGlzV2luZG93c0FzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09IndpbjMyIjohMX1hc3luYyBpc0xpbnV4QXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0ibGludXgiOiExfWFzeW5jIHByaW50RW52KCl7dGhpcy5pc05vZGU/KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIE5PREUiKSxjb25zb2xlLmxvZygibm9kZSB2ZXJzaW9uIGlzICIrdGhpcy5ub2RlVmVyc2lvbikpOihjb25zb2xlLmxvZygicnVubmluZyBvbiBCUk9XU0VSIiksY29uc29sZS5sb2coImJyb3dzZXIgaXMgIit0aGlzLnVzZXJBZ2VudCkpfX19KTt2YXIgRjE9e307UmUoRjEse1NtYXJ0ZW52OigpPT5oan0pO3ZhciB4NT1mKCgpPT57dXhlKCl9KTt2YXIgbWoseTU9ZigoKT0+e21qPXNyKFh2KCksMSl9KTt2YXIgdE09e307UmUodE0se2NyZWF0ZUNyeXB0b1JhbmRvbVN0cmluZzooKT0+RmdyLGNyZWF0ZVJhbmRvbVN0cmluZzooKT0+TmdyfSk7dmFyIElncixQZ3IsTmdyLEZncixweGU9ZigoKT0+e3k1KCk7SWdyPShlLHQpPT57aWYodHlwZW9mIGdsb2JhbFRoaXM8InUiJiZnbG9iYWxUaGlzLmNyeXB0byYmZ2xvYmFsVGhpcy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXtsZXQgcj10LWUsYT1uZXcgVWludDMyQXJyYXkoMSk7cmV0dXJuIGdsb2JhbFRoaXMuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhKSxlK2FbMF0lcn1lbHNlIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKHQtZSkpK2V9LFBncj0oZSx0LHIpPT57bGV0IGE9e0E6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIixhOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsMDoiMDEyMzQ1Njc4OSIsIiEiOiIhQCMkJV4mKigpXystPVtde318OzosLjw+PyIsIioiOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSFAIyQlXiYqKClfKy09W117fXw7OiwuPD4/In0saT1lO3QmJnQ+ZS5sZW5ndGg/aT1lLnJlcGVhdChNYXRoLmNlaWwodC9lLmxlbmd0aCkpLnNsaWNlKDAsdCk6dCYmKGk9ZS5zbGljZSgwLHQpKTtsZXQgbj0iIjtmb3IobGV0IHMgb2YgaSlpZihhW3NdKXtsZXQgbz1hW3NdLGM9SWdyKDAsby5sZW5ndGgpO24rPW9bY119ZWxzZSBuKz1zO3JldHVybiBufSxOZ3I9KGUsdCxyKT0+UGdyKGUsdCxyKSxGZ3I9KCk9Pm1qLnVuaSgpfSk7dmFyIHJNPXt9O1JlKHJNLHttYWtlRW52T2JqZWN0OigpPT5PZ3J9KTt2YXIgT2dyLGZ4ZT1mKCgpPT57eTUoKTtPZ3I9ZnVuY3Rpb24oZSl7bGV0IHQ9e30scj0vKC4qKT0oLiopLztpZih0eXBlb2YgZTwidSIpZm9yKGxldCBhIGluIGUpe2xldCBpPXIuZXhlYyhlW2FdKTt0W2lbMV1dPWlbMl19cmV0dXJuIHR9fSk7dmFyIGFNPXt9O1JlKGFNLHtpbmRlbnQ6KCk9PkJncixpbmRlbnRXaXRoUHJlZml4OigpPT5IZ3Isbm9ybWFsaXplOigpPT5xZ3J9KTt2YXIgZ2osYmosUmdyLEJncixIZ3IscWdyLGh4ZT1mKCgpPT57eTUoKTtnaj1lPT57bGV0IHQ9ZS5zcGxpdChgCmApO3JldHVybiBSZ3IodCl9LGJqPWU9PntsZXQgdD0iIjtmb3IobGV0IHIgb2YgZSl0PXQrcitgCmA7cmV0dXJuIHR9LFJncj1lPT57bGV0IHQ9L15bXHNdKiQvO3JldHVybiB0LnRlc3QoZVswXSkmJmUuc2hpZnQoKSx0LnRlc3QoZVtlLmxlbmd0aC0xXSkmJmUucG9wKCksZX0sQmdyPShlLHQpPT57bGV0IHI9Z2ooZSk7Zm9yKGxldCBpIG9mIHIpaT0iICIucmVwZWF0KHQpK2k7cmV0dXJuIGJqKHIpfSxIZ3I9KGUsdCk9PntsZXQgcixhPWdqKGUpLGk9W107Zm9yKGxldCBuIG9mIGEpaS5wdXNoKHQrbik7cmV0dXJuIHI9YmooaSkscn0scWdyPWU9PntsZXQgdCxyPWdqKGUpLGEsaT0vXihccyopLyxuPS9eKFxzKikkLztmb3IobGV0IG8gb2Ygcil7bGV0IGM9aS5leGVjKG8pWzFdOyh0eXBlb2YgYT4idSJ8fGMubGVuZ3RoPGEpJiYhbi50ZXN0KG8pJiYoYT1jLmxlbmd0aCl9bGV0IHM9W107Zm9yKGxldCBvIG9mIHIpcy5wdXNoKG8uc3Vic3RyKGEpKTtyZXR1cm4gdD1iaihzKSx0fX0pO3ZhciBpTT17fTtSZShpTSx7cmVwbGFjZUFsbDooKT0+bXhlLHN0YW5kYXJkOigpPT5WZ3J9KTt2YXIgbXhlLGpncixWZ3IsZ3hlPWYoKCk9PntteGU9KGUsdCxyKT0+ZS5yZXBsYWNlKG5ldyBSZWdFeHAodCwiZyIpLHIpLGpncj1lPT57bGV0IHQ9ZS5zcGxpdChgCmApLHI9MS8wO2ZvcihsZXQgYSBvZiB0KWlmKGEudHJpbSgpLmxlbmd0aD4wKXtsZXQgaT1hLm1hdGNoKC9eKFxzKikvKTtpJiYocj1NYXRoLm1pbihyLGlbMV0ubGVuZ3RoKSl9cmV0dXJuIHI9PT0xLzB8fHI9PT0wP2U6dC5tYXAoYT0+YS5sZW5ndGg+PXI/YS5zbGljZShyKTphKS5qb2luKGAKYCl9LFZncj0oZSx0KT0+e2xldCByPWU7cmV0dXJuKCF0fHx0LnN0cmlwSW5kZW50KSYmKHI9amdyKHIpKSwoIXR8fHQubm9ybWFsaXplTmV3bGluZSkmJihyPXIucmVwbGFjZSgvXHJcbi9nLGAKYCkpLCghdHx8dC5yZXBsYWNlVGFicykmJihyPW14ZShyLCIJLyIsIiAiKSksKCF0fHx0LnN0cmlwTGVhZGluZ1RyYWlsaW5nRW1wdHlMaW5lcykmJihyPXIucmVwbGFjZSgvXlxzKltcclxuXS9nbSwiIikucmVwbGFjZSgvXHMqW1xyXG5dJC9nbSwiIikpLCghdHx8dC5zdHJpcEFsbEVtcHR5TGluZXMpJiYocj1yLnJlcGxhY2UoL15ccypbXHJcbl0vZ20sIiIpKSxyfX0pO3ZhciB2aixuTSx3NSx4aj1mKCgpPT57dmo9e2VuY29kZTplPT57aWYodHlwZW9mIEJ1ZmZlcjwidSIpcmV0dXJuIEJ1ZmZlci5mcm9tKGUsInV0ZjgiKS50b1N0cmluZygiYmFzZTY0Iik7aWYodHlwZW9mIGJ0b2E8InUiKXtsZXQgdD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoZSkscj1BcnJheS5mcm9tKHQsYT0+U3RyaW5nLmZyb21DaGFyQ29kZShhKSkuam9pbigiIik7cmV0dXJuIGJ0b2Eocil9ZWxzZXtsZXQgdD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIscj1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoZSksYT0iIixpPTA7Zm9yKDtpPHIubGVuZ3RoOyl7bGV0IG49cltpKytdLHM9aTxyLmxlbmd0aD9yW2krK106MCxvPWk8ci5sZW5ndGg/cltpKytdOjAsYz1uPDwxNnxzPDw4fG87YSs9dC5jaGFyQXQoYz4+MTgmNjMpLGErPXQuY2hhckF0KGM+PjEyJjYzKSxhKz1pLTI8ci5sZW5ndGg/dC5jaGFyQXQoYz4+NiY2Myk6Ij0iLGErPWktMTxyLmxlbmd0aD90LmNoYXJBdChjJjYzKToiPSJ9cmV0dXJuIGF9fSxkZWNvZGU6ZT0+e2xldCB0PWUucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikucGFkRW5kKGUubGVuZ3RoKyg0LWUubGVuZ3RoJTQpJTQsIj0iKTtpZih0eXBlb2YgQnVmZmVyPCJ1IilyZXR1cm4gQnVmZmVyLmZyb20odCwiYmFzZTY0IikudG9TdHJpbmcoInV0ZjgiKTtpZih0eXBlb2YgYXRvYjwidSIpe2xldCByPWF0b2IodCksYT1uZXcgVWludDhBcnJheShyLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDtpKyspYVtpXT1yLmNoYXJDb2RlQXQoaSk7cmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShhKX1lbHNle2xldCByPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIixhPVtdLGk9MDtmb3IoO2k8dC5sZW5ndGg7KXtsZXQgbj1yLmluZGV4T2YodC5jaGFyQXQoaSsrKSkscz1yLmluZGV4T2YodC5jaGFyQXQoaSsrKSksbz1yLmluZGV4T2YodC5jaGFyQXQoaSsrKSksYz1yLmluZGV4T2YodC5jaGFyQXQoaSsrKSksbD1uPDwxOHxzPDwxMnxvPDw2fGM7YS5wdXNoKGw+PjE2JjI1NSksbyE9PTY0JiZhLnB1c2gobD4+OCYyNTUpLGMhPT02NCYmYS5wdXNoKGwmMjU1KX1yZXR1cm4gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKG5ldyBVaW50OEFycmF5KGEpKX19fSxuTT1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIpe3N3aXRjaChyKXtjYXNlInN0cmluZyI6dGhpcy5yZWZTdHJpbmc9dDticmVhaztjYXNlImJhc2U2NCI6dGhpcy5yZWZTdHJpbmc9dzUuZGVjb2RlKHQpO2JyZWFrO2Nhc2UiYmFzZTY0dXJpIjp0aGlzLnJlZlN0cmluZz13NS5kZWNvZGUodCl9fWdldCBzaW1wbGVTdHJpbmcoKXtyZXR1cm4gdGhpcy5yZWZTdHJpbmd9Z2V0IGJhc2U2NFN0cmluZygpe3JldHVybiB3NS5lbmNvZGUodGhpcy5yZWZTdHJpbmcpfWdldCBiYXNlNjRVcmlTdHJpbmcoKXtyZXR1cm4gdzUuZW5jb2RlVXJpKHRoaXMucmVmU3RyaW5nKX19LHc1PXtlbmNvZGU6ZT0+dmouZW5jb2RlKGUpLGVuY29kZVVyaTplPT52ai5lbmNvZGUoZSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpLGRlY29kZTplPT52ai5kZWNvZGUoZSksaXNCYXNlNjQ6ZT0+L14oW0EtWmEtejAtOSsvXXs0fSkqKFtBLVphLXowLTkrL117M309fFtBLVphLXowLTkrL117Mn09PSk/JC8udGVzdChlKX19KTt2YXIgc009e307UmUoc00se2lzQmFzZTY0OigpPT5XZ3IsaXNVdGY4OigpPT5VZ3J9KTt2YXIgVWdyLFdncixieGU9ZigoKT0+e3k1KCk7eGooKTtVZ3I9ZT0+e2xldCByPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShlKSxhPTA7Zm9yKDthPHIubGVuZ3RoOyl7aWYoclthXT09PTl8fHJbYV09PT0xMHx8clthXT09PTEzfHwzMjw9clthXSYmclthXTw9MTI2KXthKz0xO2NvbnRpbnVlfWlmKDE5NDw9clthXSYmclthXTw9MjIzJiYxMjg8PXJbYSsxXSYmclthKzFdPD0xOTEpe2ErPTI7Y29udGludWV9aWYoclthXT09PTIyNCYmMTYwPD1yW2ErMV0mJnJbYSsxXTw9MTkxJiYxMjg8PXJbYSsyXSYmclthKzJdPD0xOTF8fCgyMjU8PXJbYV0mJnJbYV08PTIzNnx8clthXT09PTIzOHx8clthXT09PTIzOSkmJjEyODw9clthKzFdJiZyW2ErMV08PTE5MSYmMTI4PD1yW2ErMl0mJnJbYSsyXTw9MTkxfHxyW2FdPT09MjM3JiYxMjg8PXJbYSsxXSYmclthKzFdPD0xNTkmJjEyODw9clthKzJdJiZyW2ErMl08PTE5MSl7YSs9Mztjb250aW51ZX1pZihyW2FdPT09MjQwJiYxNDQ8PXJbYSsxXSYmclthKzFdPD0xOTEmJjEyODw9clthKzJdJiZyW2ErMl08PTE5MSYmMTI4PD1yW2ErM10mJnJbYSszXTw9MTkxfHwyNDE8PXJbYV0mJnJbYV08PTI0MyYmMTI4PD1yW2ErMV0mJnJbYSsxXTw9MTkxJiYxMjg8PXJbYSsyXSYmclthKzJdPD0xOTEmJjEyODw9clthKzNdJiZyW2ErM108PTE5MXx8clthXT09PTI0NCYmMTI4PD1yW2ErMV0mJnJbYSsxXTw9MTQzJiYxMjg8PXJbYSsyXSYmclthKzJdPD0xOTEmJjEyODw9clthKzNdJiZyW2ErM108PTE5MSl7YSs9NDtjb250aW51ZX1yZXR1cm4hMX1yZXR1cm4hMH0sV2dyPWU9PntsZXQgdD0vW15BLVowLTkrXC89XS9pLHI9ZS5sZW5ndGg7aWYoIXJ8fHIlNCE9PTB8fHQudGVzdChlKSlyZXR1cm4hMTtsZXQgYT1lLmluZGV4T2YoIj0iKTtyZXR1cm4gYT09PS0xfHxhPT09ci0xfHxhPT09ci0yJiZlW3ItMV09PT0iPSJ9fSk7dmFyIG9NLHZ4ZT1mKCgpPT57b009Y2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5wcm90b2NvbD10aGlzLl9wcm90b2NvbFJlZ2V4KHQpLHRoaXMucHJvdG9jb2x8fCh0PWBodHRwczovLyR7dH1gKSx0aGlzLm5vZGVQYXJzZWRVcmw9bmV3IFVSTCh0KSx0aGlzLnBvcnQ9dGhpcy5ub2RlUGFyc2VkVXJsLnBvcnQ7bGV0IHI9dGhpcy5fZG9tYWluUmVnZXgodC5yZXBsYWNlKHRoaXMubm9kZVBhcnNlZFVybC5wYXRobmFtZSwiIikpO3RoaXMuZnVsbE5hbWU9IiI7Zm9yKGxldCBhPTE7YTw9NTthKyspaWYoclthLTFdKXtsZXQgaT1yW2EtMV07dGhpc1sibGV2ZWwiK2EudG9TdHJpbmcoKV09aSx0aGlzLmZ1bGxOYW1lPT09IiI/dGhpcy5mdWxsTmFtZT1pOnRoaXMuZnVsbE5hbWU9aSsiLiIrdGhpcy5mdWxsTmFtZX1lbHNlIHRoaXNbImxldmVsIithLnRvU3RyaW5nKCldPXZvaWQgMDt0aGlzLnpvbmVOYW1lPXRoaXMubGV2ZWwyKyIuIit0aGlzLmxldmVsMSx0aGlzLnRvcExldmVsPXRoaXMubGV2ZWwxLHRoaXMuZG9tYWluTmFtZT10aGlzLmxldmVsMix0aGlzLnN1YkRvbWFpbj10aGlzLmxldmVsM31fZG9tYWluUmVnZXgodCl7bGV0IGE9LyhbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9KFthLXpBLVowLTlcLVxfXSopXC57MCwxfShbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9JC8uZXhlYyh0KTtyZXR1cm4gYS5yZXZlcnNlKCksYS5wb3AoKSxhLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gbiE9PSIifSl9X3Byb3RvY29sUmVnZXgodCl7bGV0IGE9L14oW2EtekEtWjAtOV0qKTpcL1wvLy5leGVjKHQpO2lmKGEpcmV0dXJuIGFbMV19X3BvcnRSZWdleCh0KXtsZXQgYT0vXihbYS16QS1aMC05XSopOlwvXC8vLmV4ZWModCk7aWYoYSlyZXR1cm4gYVsxXX19fSk7dmFyIGxNLEdncix4eGUseXhlPWYoKCk9Pnt5NSgpO2xNPWNsYXNze2NvbnN0cnVjdG9yKHQscil7bGV0IGE9R2dyKHQpO3RoaXMuaG9zdD1hWzFdLHRoaXMudXNlcj1hWzJdLHRoaXMucmVwbz1hWzNdLHRoaXMuYWNjZXNzVG9rZW49cix0aGlzLnNzaFVybD14eGUodGhpcy5ob3N0LHRoaXMudXNlcix0aGlzLnJlcG8sdGhpcy5hY2Nlc3NUb2tlbiwic3NoIiksdGhpcy5odHRwc1VybD14eGUodGhpcy5ob3N0LHRoaXMudXNlcix0aGlzLnJlcG8sdGhpcy5hY2Nlc3NUb2tlbiwiaHR0cHMiKX19LEdncj1mdW5jdGlvbihlKXtyZXR1cm4vKFthLXpBLVowLTlcLV9cLl0qKSg/OlwvfFw6KShbYS16QS1aMC05XC1fXC5dKikoPzpcLykoW2EtekEtWjAtOVwtX1wuXSopKD86XC5naXQpLy5leGVjKGUpfSx4eGU9ZnVuY3Rpb24oZSx0LHIsYT0iIixpKXtsZXQgbjtzd2l0Y2goYSE9PSIiJiYoYT1hKyJAIiksaSl7Y2FzZSJodHRwcyI6bj0iaHR0cHM6Ly8iK2ErZSsiLyIrdCsiLyIrcisiLmdpdCI7YnJlYWs7Y2FzZSJzc2giOm49ImdpdEAiK2UrIjoiK3QrIi8iK3IrIi5naXQiO2JyZWFrO2RlZmF1bHQ6Y29uc29sZS5lcnJvcigiTGluayBUeXBlICIraSsiIG5vdCBrbm93biIpO2JyZWFrfXJldHVybiBufX0pO3ZhciBibj17fTtSZShibix7QmFzZTY0OigpPT5uTSxEb21haW46KCk9Pm9NLEdpdFJlcG86KCk9PmxNLGJhc2U2NDooKT0+dzUsY3JlYXRlOigpPT50TSxkb2NrZXI6KCk9PnJNLGluZGVudDooKT0+YU0sbm9ybWFsaXplOigpPT5pTSx0eXBlOigpPT5zTX0pO3ZhciBjbT1mKCgpPT57cHhlKCk7ZnhlKCk7aHhlKCk7Z3hlKCk7YnhlKCk7eGooKTt2eGUoKTt5eGUoKX0pO3ZhciBJaj1qZSgocG0sejUpPT57dmFyIFlncj0yMDAsd3hlPSJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fIixNeGU9OTAwNzE5OTI1NDc0MDk5MSx5aj0iW29iamVjdCBBcmd1bWVudHNdIixaZ3I9IltvYmplY3QgQXJyYXldIixreGU9IltvYmplY3QgQm9vbGVhbl0iLFN4ZT0iW29iamVjdCBEYXRlXSIsWGdyPSJbb2JqZWN0IEVycm9yXSIsd2o9IltvYmplY3QgRnVuY3Rpb25dIix6eGU9IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIixjTT0iW29iamVjdCBNYXBdIixDeGU9IltvYmplY3QgTnVtYmVyXSIsTWo9IltvYmplY3QgT2JqZWN0XSIsVHhlPSJbb2JqZWN0IFByb21pc2VdIixfeGU9IltvYmplY3QgUmVnRXhwXSIsZE09IltvYmplY3QgU2V0XSIsTHhlPSJbb2JqZWN0IFN0cmluZ10iLCR4ZT0iW29iamVjdCBTeW1ib2xdIixraj0iW29iamVjdCBXZWFrTWFwXSIsRHhlPSJbb2JqZWN0IEFycmF5QnVmZmVyXSIsdU09IltvYmplY3QgRGF0YVZpZXddIixBeGU9IltvYmplY3QgRmxvYXQzMkFycmF5XSIsRXhlPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLEl4ZT0iW29iamVjdCBJbnQ4QXJyYXldIixQeGU9IltvYmplY3QgSW50MTZBcnJheV0iLE54ZT0iW29iamVjdCBJbnQzMkFycmF5XSIsRnhlPSJbb2JqZWN0IFVpbnQ4QXJyYXldIixPeGU9IltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIixSeGU9IltvYmplY3QgVWludDE2QXJyYXldIixCeGU9IltvYmplY3QgVWludDMyQXJyYXldIixRZ3I9L1tcXF4kLiorPygpW1xde318XS9nLEpncj0vXHcqJC8sS2dyPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLGVicj0vXig/OjB8WzEtOV1cZCopJC8sc2E9e307c2FbeWpdPXNhW1pncl09c2FbRHhlXT1zYVt1TV09c2Fba3hlXT1zYVtTeGVdPXNhW0F4ZV09c2FbRXhlXT1zYVtJeGVdPXNhW1B4ZV09c2FbTnhlXT1zYVtjTV09c2FbQ3hlXT1zYVtNal09c2FbX3hlXT1zYVtkTV09c2FbTHhlXT1zYVskeGVdPXNhW0Z4ZV09c2FbT3hlXT1zYVtSeGVdPXNhW0J4ZV09ITAsc2FbWGdyXT1zYVt3al09c2Fba2pdPSExO3ZhciB0YnI9dHlwZW9mIGdsb2JhbD09Im9iamVjdCImJmdsb2JhbCYmZ2xvYmFsLk9iamVjdD09PU9iamVjdCYmZ2xvYmFsLHJicj10eXBlb2Ygc2VsZj09Im9iamVjdCImJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLEFsPXRicnx8cmJyfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpLEh4ZT10eXBlb2YgcG09PSJvYmplY3QiJiZwbSYmIXBtLm5vZGVUeXBlJiZwbSxxeGU9SHhlJiZ0eXBlb2YgejU9PSJvYmplY3QiJiZ6NSYmIXo1Lm5vZGVUeXBlJiZ6NSxhYnI9cXhlJiZxeGUuZXhwb3J0cz09PUh4ZTtmdW5jdGlvbiBpYnIoZSx0KXtyZXR1cm4gZS5zZXQodFswXSx0WzFdKSxlfWZ1bmN0aW9uIG5icihlLHQpe3JldHVybiBlLmFkZCh0KSxlfWZ1bmN0aW9uIHNicihlLHQpe2Zvcih2YXIgcj0tMSxhPWU/ZS5sZW5ndGg6MDsrK3I8YSYmdChlW3JdLHIsZSkhPT0hMTspO3JldHVybiBlfWZ1bmN0aW9uIG9icihlLHQpe2Zvcih2YXIgcj0tMSxhPXQubGVuZ3RoLGk9ZS5sZW5ndGg7KytyPGE7KWVbaStyXT10W3JdO3JldHVybiBlfWZ1bmN0aW9uIGp4ZShlLHQscixhKXt2YXIgaT0tMSxuPWU/ZS5sZW5ndGg6MDtmb3IoYSYmbiYmKHI9ZVsrK2ldKTsrK2k8bjspcj10KHIsZVtpXSxpLGUpO3JldHVybiByfWZ1bmN0aW9uIGxicihlLHQpe2Zvcih2YXIgcj0tMSxhPUFycmF5KGUpOysrcjxlOylhW3JdPXQocik7cmV0dXJuIGF9ZnVuY3Rpb24gY2JyKGUsdCl7cmV0dXJuIGU/Llt0XX1mdW5jdGlvbiBWeGUoZSl7dmFyIHQ9ITE7aWYoZSE9bnVsbCYmdHlwZW9mIGUudG9TdHJpbmchPSJmdW5jdGlvbiIpdHJ5e3Q9ISEoZSsiIil9Y2F0Y2h7fXJldHVybiB0fWZ1bmN0aW9uIFV4ZShlKXt2YXIgdD0tMSxyPUFycmF5KGUuc2l6ZSk7cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihhLGkpe3JbKyt0XT1baSxhXX0pLHJ9ZnVuY3Rpb24gU2ooZSx0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGUodChyKSl9fWZ1bmN0aW9uIFd4ZShlKXt2YXIgdD0tMSxyPUFycmF5KGUuc2l6ZSk7cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihhKXtyWysrdF09YX0pLHJ9dmFyIGRicj1BcnJheS5wcm90b3R5cGUsdWJyPUZ1bmN0aW9uLnByb3RvdHlwZSxwTT1PYmplY3QucHJvdG90eXBlLHpqPUFsWyJfX2NvcmUtanNfc2hhcmVkX18iXSxHeGU9KGZ1bmN0aW9uKCl7dmFyIGU9L1teLl0rJC8uZXhlYyh6aiYmemoua2V5cyYmemoua2V5cy5JRV9QUk9UT3x8IiIpO3JldHVybiBlPyJTeW1ib2woc3JjKV8xLiIrZToiIn0pKCksWXhlPXVici50b1N0cmluZyxUMD1wTS5oYXNPd25Qcm9wZXJ0eSxmTT1wTS50b1N0cmluZyxwYnI9UmVnRXhwKCJeIitZeGUuY2FsbChUMCkucmVwbGFjZShRZ3IsIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIiksWnhlPWFicj9BbC5CdWZmZXI6dm9pZCAwLFh4ZT1BbC5TeW1ib2wsUXhlPUFsLlVpbnQ4QXJyYXksZmJyPVNqKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLGhicj1PYmplY3QuY3JlYXRlLG1icj1wTS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxnYnI9ZGJyLnNwbGljZSxKeGU9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxiYnI9WnhlP1p4ZS5pc0J1ZmZlcjp2b2lkIDAsdmJyPVNqKE9iamVjdC5rZXlzLE9iamVjdCksQ2o9UzUoQWwsIkRhdGFWaWV3IiksZG09UzUoQWwsIk1hcCIpLFRqPVM1KEFsLCJQcm9taXNlIiksX2o9UzUoQWwsIlNldCIpLExqPVM1KEFsLCJXZWFrTWFwIiksdW09UzUoT2JqZWN0LCJjcmVhdGUiKSx4YnI9VjMoQ2opLHlicj1WMyhkbSksd2JyPVYzKFRqKSxNYnI9VjMoX2opLGticj1WMyhMaiksS3hlPVh4ZT9YeGUucHJvdG90eXBlOnZvaWQgMCxleWU9S3hlP0t4ZS52YWx1ZU9mOnZvaWQgMDtmdW5jdGlvbiBxMyhlKXt2YXIgdD0tMSxyPWU/ZS5sZW5ndGg6MDtmb3IodGhpcy5jbGVhcigpOysrdDxyOyl7dmFyIGE9ZVt0XTt0aGlzLnNldChhWzBdLGFbMV0pfX1mdW5jdGlvbiBTYnIoKXt0aGlzLl9fZGF0YV9fPXVtP3VtKG51bGwpOnt9fWZ1bmN0aW9uIHpicihlKXtyZXR1cm4gdGhpcy5oYXMoZSkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW2VdfWZ1bmN0aW9uIENicihlKXt2YXIgdD10aGlzLl9fZGF0YV9fO2lmKHVtKXt2YXIgcj10W2VdO3JldHVybiByPT09d3hlP3ZvaWQgMDpyfXJldHVybiBUMC5jYWxsKHQsZSk/dFtlXTp2b2lkIDB9ZnVuY3Rpb24gVGJyKGUpe3ZhciB0PXRoaXMuX19kYXRhX187cmV0dXJuIHVtP3RbZV0hPT12b2lkIDA6VDAuY2FsbCh0LGUpfWZ1bmN0aW9uIF9icihlLHQpe3ZhciByPXRoaXMuX19kYXRhX187cmV0dXJuIHJbZV09dW0mJnQ9PT12b2lkIDA/d3hlOnQsdGhpc31xMy5wcm90b3R5cGUuY2xlYXI9U2JyLHEzLnByb3RvdHlwZS5kZWxldGU9emJyLHEzLnByb3RvdHlwZS5nZXQ9Q2JyLHEzLnByb3RvdHlwZS5oYXM9VGJyLHEzLnByb3RvdHlwZS5zZXQ9X2JyO2Z1bmN0aW9uIEVsKGUpe3ZhciB0PS0xLHI9ZT9lLmxlbmd0aDowO2Zvcih0aGlzLmNsZWFyKCk7Kyt0PHI7KXt2YXIgYT1lW3RdO3RoaXMuc2V0KGFbMF0sYVsxXSl9fWZ1bmN0aW9uIExicigpe3RoaXMuX19kYXRhX189W119ZnVuY3Rpb24gJGJyKGUpe3ZhciB0PXRoaXMuX19kYXRhX18scj1oTSh0LGUpO2lmKHI8MClyZXR1cm4hMTt2YXIgYT10Lmxlbmd0aC0xO3JldHVybiByPT1hP3QucG9wKCk6Z2JyLmNhbGwodCxyLDEpLCEwfWZ1bmN0aW9uIERicihlKXt2YXIgdD10aGlzLl9fZGF0YV9fLHI9aE0odCxlKTtyZXR1cm4gcjwwP3ZvaWQgMDp0W3JdWzFdfWZ1bmN0aW9uIEFicihlKXtyZXR1cm4gaE0odGhpcy5fX2RhdGFfXyxlKT4tMX1mdW5jdGlvbiBFYnIoZSx0KXt2YXIgcj10aGlzLl9fZGF0YV9fLGE9aE0ocixlKTtyZXR1cm4gYTwwP3IucHVzaChbZSx0XSk6clthXVsxXT10LHRoaXN9RWwucHJvdG90eXBlLmNsZWFyPUxicixFbC5wcm90b3R5cGUuZGVsZXRlPSRicixFbC5wcm90b3R5cGUuZ2V0PURicixFbC5wcm90b3R5cGUuaGFzPUFicixFbC5wcm90b3R5cGUuc2V0PUVicjtmdW5jdGlvbiBNNShlKXt2YXIgdD0tMSxyPWU/ZS5sZW5ndGg6MDtmb3IodGhpcy5jbGVhcigpOysrdDxyOyl7dmFyIGE9ZVt0XTt0aGlzLnNldChhWzBdLGFbMV0pfX1mdW5jdGlvbiBJYnIoKXt0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBxMyxtYXA6bmV3KGRtfHxFbCksc3RyaW5nOm5ldyBxM319ZnVuY3Rpb24gUGJyKGUpe3JldHVybiBtTSh0aGlzLGUpLmRlbGV0ZShlKX1mdW5jdGlvbiBOYnIoZSl7cmV0dXJuIG1NKHRoaXMsZSkuZ2V0KGUpfWZ1bmN0aW9uIEZicihlKXtyZXR1cm4gbU0odGhpcyxlKS5oYXMoZSl9ZnVuY3Rpb24gT2JyKGUsdCl7cmV0dXJuIG1NKHRoaXMsZSkuc2V0KGUsdCksdGhpc31NNS5wcm90b3R5cGUuY2xlYXI9SWJyLE01LnByb3RvdHlwZS5kZWxldGU9UGJyLE01LnByb3RvdHlwZS5nZXQ9TmJyLE01LnByb3RvdHlwZS5oYXM9RmJyLE01LnByb3RvdHlwZS5zZXQ9T2JyO2Z1bmN0aW9uIGs1KGUpe3RoaXMuX19kYXRhX189bmV3IEVsKGUpfWZ1bmN0aW9uIFJicigpe3RoaXMuX19kYXRhX189bmV3IEVsfWZ1bmN0aW9uIEJicihlKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5kZWxldGUoZSl9ZnVuY3Rpb24gSGJyKGUpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldChlKX1mdW5jdGlvbiBxYnIoZSl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKGUpfWZ1bmN0aW9uIGpicihlLHQpe3ZhciByPXRoaXMuX19kYXRhX187aWYociBpbnN0YW5jZW9mIEVsKXt2YXIgYT1yLl9fZGF0YV9fO2lmKCFkbXx8YS5sZW5ndGg8WWdyLTEpcmV0dXJuIGEucHVzaChbZSx0XSksdGhpcztyPXRoaXMuX19kYXRhX189bmV3IE01KGEpfXJldHVybiByLnNldChlLHQpLHRoaXN9azUucHJvdG90eXBlLmNsZWFyPVJicixrNS5wcm90b3R5cGUuZGVsZXRlPUJicixrNS5wcm90b3R5cGUuZ2V0PUhicixrNS5wcm90b3R5cGUuaGFzPXFicixrNS5wcm90b3R5cGUuc2V0PWpicjtmdW5jdGlvbiBWYnIoZSx0KXt2YXIgcj1BaihlKXx8aHZyKGUpP2xicihlLmxlbmd0aCxTdHJpbmcpOltdLGE9ci5sZW5ndGgsaT0hIWE7Zm9yKHZhciBuIGluIGUpKHR8fFQwLmNhbGwoZSxuKSkmJiEoaSYmKG49PSJsZW5ndGgifHxkdnIobixhKSkpJiZyLnB1c2gobik7cmV0dXJuIHJ9ZnVuY3Rpb24gdHllKGUsdCxyKXt2YXIgYT1lW3RdOyghKFQwLmNhbGwoZSx0KSYmbnllKGEscikpfHxyPT09dm9pZCAwJiYhKHQgaW4gZSkpJiYoZVt0XT1yKX1mdW5jdGlvbiBoTShlLHQpe2Zvcih2YXIgcj1lLmxlbmd0aDtyLS07KWlmKG55ZShlW3JdWzBdLHQpKXJldHVybiByO3JldHVybi0xfWZ1bmN0aW9uIFVicihlLHQpe3JldHVybiBlJiZyeWUodCxFaih0KSxlKX1mdW5jdGlvbiAkaihlLHQscixhLGksbixzKXt2YXIgbztpZihhJiYobz1uP2EoZSxpLG4scyk6YShlKSksbyE9PXZvaWQgMClyZXR1cm4gbztpZighZ00oZSkpcmV0dXJuIGU7dmFyIGM9QWooZSk7aWYoYyl7aWYobz1vdnIoZSksIXQpcmV0dXJuIGl2cihlLG8pfWVsc2V7dmFyIGw9ajMoZSksdT1sPT13anx8bD09enhlO2lmKGd2cihlKSlyZXR1cm4gUWJyKGUsdCk7aWYobD09TWp8fGw9PXlqfHx1JiYhbil7aWYoVnhlKGUpKXJldHVybiBuP2U6e307aWYobz1sdnIodT97fTplKSwhdClyZXR1cm4gbnZyKGUsVWJyKG8sZSkpfWVsc2V7aWYoIXNhW2xdKXJldHVybiBuP2U6e307bz1jdnIoZSxsLCRqLHQpfX1zfHwocz1uZXcgazUpO3ZhciBkPXMuZ2V0KGUpO2lmKGQpcmV0dXJuIGQ7aWYocy5zZXQoZSxvKSwhYyl2YXIgaD1yP3N2cihlKTpFaihlKTtyZXR1cm4gc2JyKGh8fGUsZnVuY3Rpb24obSx2KXtoJiYodj1tLG09ZVt2XSksdHllKG8sdiwkaihtLHQscixhLHYsZSxzKSl9KSxvfWZ1bmN0aW9uIFdicihlKXtyZXR1cm4gZ00oZSk/aGJyKGUpOnt9fWZ1bmN0aW9uIEdicihlLHQscil7dmFyIGE9dChlKTtyZXR1cm4gQWooZSk/YTpvYnIoYSxyKGUpKX1mdW5jdGlvbiBZYnIoZSl7cmV0dXJuIGZNLmNhbGwoZSl9ZnVuY3Rpb24gWmJyKGUpe2lmKCFnTShlKXx8cHZyKGUpKXJldHVybiExO3ZhciB0PW95ZShlKXx8VnhlKGUpP3BicjpLZ3I7cmV0dXJuIHQudGVzdChWMyhlKSl9ZnVuY3Rpb24gWGJyKGUpe2lmKCFpeWUoZSkpcmV0dXJuIHZicihlKTt2YXIgdD1bXTtmb3IodmFyIHIgaW4gT2JqZWN0KGUpKVQwLmNhbGwoZSxyKSYmciE9ImNvbnN0cnVjdG9yIiYmdC5wdXNoKHIpO3JldHVybiB0fWZ1bmN0aW9uIFFicihlLHQpe2lmKHQpcmV0dXJuIGUuc2xpY2UoKTt2YXIgcj1uZXcgZS5jb25zdHJ1Y3RvcihlLmxlbmd0aCk7cmV0dXJuIGUuY29weShyKSxyfWZ1bmN0aW9uIERqKGUpe3ZhciB0PW5ldyBlLmNvbnN0cnVjdG9yKGUuYnl0ZUxlbmd0aCk7cmV0dXJuIG5ldyBReGUodCkuc2V0KG5ldyBReGUoZSkpLHR9ZnVuY3Rpb24gSmJyKGUsdCl7dmFyIHI9dD9EaihlLmJ1ZmZlcik6ZS5idWZmZXI7cmV0dXJuIG5ldyBlLmNvbnN0cnVjdG9yKHIsZS5ieXRlT2Zmc2V0LGUuYnl0ZUxlbmd0aCl9ZnVuY3Rpb24gS2JyKGUsdCxyKXt2YXIgYT10P3IoVXhlKGUpLCEwKTpVeGUoZSk7cmV0dXJuIGp4ZShhLGlicixuZXcgZS5jb25zdHJ1Y3Rvcil9ZnVuY3Rpb24gZXZyKGUpe3ZhciB0PW5ldyBlLmNvbnN0cnVjdG9yKGUuc291cmNlLEpnci5leGVjKGUpKTtyZXR1cm4gdC5sYXN0SW5kZXg9ZS5sYXN0SW5kZXgsdH1mdW5jdGlvbiB0dnIoZSx0LHIpe3ZhciBhPXQ/cihXeGUoZSksITApOld4ZShlKTtyZXR1cm4ganhlKGEsbmJyLG5ldyBlLmNvbnN0cnVjdG9yKX1mdW5jdGlvbiBydnIoZSl7cmV0dXJuIGV5ZT9PYmplY3QoZXllLmNhbGwoZSkpOnt9fWZ1bmN0aW9uIGF2cihlLHQpe3ZhciByPXQ/RGooZS5idWZmZXIpOmUuYnVmZmVyO3JldHVybiBuZXcgZS5jb25zdHJ1Y3RvcihyLGUuYnl0ZU9mZnNldCxlLmxlbmd0aCl9ZnVuY3Rpb24gaXZyKGUsdCl7dmFyIHI9LTEsYT1lLmxlbmd0aDtmb3IodHx8KHQ9QXJyYXkoYSkpOysrcjxhOyl0W3JdPWVbcl07cmV0dXJuIHR9ZnVuY3Rpb24gcnllKGUsdCxyLGEpe3J8fChyPXt9KTtmb3IodmFyIGk9LTEsbj10Lmxlbmd0aDsrK2k8bjspe3ZhciBzPXRbaV0sbz1hP2EocltzXSxlW3NdLHMscixlKTp2b2lkIDA7dHllKHIscyxvPT09dm9pZCAwP2Vbc106byl9cmV0dXJuIHJ9ZnVuY3Rpb24gbnZyKGUsdCl7cmV0dXJuIHJ5ZShlLGF5ZShlKSx0KX1mdW5jdGlvbiBzdnIoZSl7cmV0dXJuIEdicihlLEVqLGF5ZSl9ZnVuY3Rpb24gbU0oZSx0KXt2YXIgcj1lLl9fZGF0YV9fO3JldHVybiB1dnIodCk/clt0eXBlb2YgdD09InN0cmluZyI/InN0cmluZyI6Imhhc2giXTpyLm1hcH1mdW5jdGlvbiBTNShlLHQpe3ZhciByPWNicihlLHQpO3JldHVybiBaYnIocik/cjp2b2lkIDB9dmFyIGF5ZT1KeGU/U2ooSnhlLE9iamVjdCk6eHZyLGozPVlicjsoQ2omJmozKG5ldyBDaihuZXcgQXJyYXlCdWZmZXIoMSkpKSE9dU18fGRtJiZqMyhuZXcgZG0pIT1jTXx8VGomJmozKFRqLnJlc29sdmUoKSkhPVR4ZXx8X2omJmozKG5ldyBfaikhPWRNfHxMaiYmajMobmV3IExqKSE9a2opJiYoajM9ZnVuY3Rpb24oZSl7dmFyIHQ9Zk0uY2FsbChlKSxyPXQ9PU1qP2UuY29uc3RydWN0b3I6dm9pZCAwLGE9cj9WMyhyKTp2b2lkIDA7aWYoYSlzd2l0Y2goYSl7Y2FzZSB4YnI6cmV0dXJuIHVNO2Nhc2UgeWJyOnJldHVybiBjTTtjYXNlIHdicjpyZXR1cm4gVHhlO2Nhc2UgTWJyOnJldHVybiBkTTtjYXNlIGticjpyZXR1cm4ga2p9cmV0dXJuIHR9KTtmdW5jdGlvbiBvdnIoZSl7dmFyIHQ9ZS5sZW5ndGgscj1lLmNvbnN0cnVjdG9yKHQpO3JldHVybiB0JiZ0eXBlb2YgZVswXT09InN0cmluZyImJlQwLmNhbGwoZSwiaW5kZXgiKSYmKHIuaW5kZXg9ZS5pbmRleCxyLmlucHV0PWUuaW5wdXQpLHJ9ZnVuY3Rpb24gbHZyKGUpe3JldHVybiB0eXBlb2YgZS5jb25zdHJ1Y3Rvcj09ImZ1bmN0aW9uIiYmIWl5ZShlKT9XYnIoZmJyKGUpKTp7fX1mdW5jdGlvbiBjdnIoZSx0LHIsYSl7dmFyIGk9ZS5jb25zdHJ1Y3Rvcjtzd2l0Y2godCl7Y2FzZSBEeGU6cmV0dXJuIERqKGUpO2Nhc2Uga3hlOmNhc2UgU3hlOnJldHVybiBuZXcgaSgrZSk7Y2FzZSB1TTpyZXR1cm4gSmJyKGUsYSk7Y2FzZSBBeGU6Y2FzZSBFeGU6Y2FzZSBJeGU6Y2FzZSBQeGU6Y2FzZSBOeGU6Y2FzZSBGeGU6Y2FzZSBPeGU6Y2FzZSBSeGU6Y2FzZSBCeGU6cmV0dXJuIGF2cihlLGEpO2Nhc2UgY006cmV0dXJuIEticihlLGEscik7Y2FzZSBDeGU6Y2FzZSBMeGU6cmV0dXJuIG5ldyBpKGUpO2Nhc2UgX3hlOnJldHVybiBldnIoZSk7Y2FzZSBkTTpyZXR1cm4gdHZyKGUsYSxyKTtjYXNlICR4ZTpyZXR1cm4gcnZyKGUpfX1mdW5jdGlvbiBkdnIoZSx0KXtyZXR1cm4gdD10Pz9NeGUsISF0JiYodHlwZW9mIGU9PSJudW1iZXIifHxlYnIudGVzdChlKSkmJmU+LTEmJmUlMT09MCYmZTx0fWZ1bmN0aW9uIHV2cihlKXt2YXIgdD10eXBlb2YgZTtyZXR1cm4gdD09InN0cmluZyJ8fHQ9PSJudW1iZXIifHx0PT0ic3ltYm9sInx8dD09ImJvb2xlYW4iP2UhPT0iX19wcm90b19fIjplPT09bnVsbH1mdW5jdGlvbiBwdnIoZSl7cmV0dXJuISFHeGUmJkd4ZSBpbiBlfWZ1bmN0aW9uIGl5ZShlKXt2YXIgdD1lJiZlLmNvbnN0cnVjdG9yLHI9dHlwZW9mIHQ9PSJmdW5jdGlvbiImJnQucHJvdG90eXBlfHxwTTtyZXR1cm4gZT09PXJ9ZnVuY3Rpb24gVjMoZSl7aWYoZSE9bnVsbCl7dHJ5e3JldHVybiBZeGUuY2FsbChlKX1jYXRjaHt9dHJ5e3JldHVybiBlKyIifWNhdGNoe319cmV0dXJuIiJ9ZnVuY3Rpb24gZnZyKGUpe3JldHVybiAkaihlLCEwLCEwKX1mdW5jdGlvbiBueWUoZSx0KXtyZXR1cm4gZT09PXR8fGUhPT1lJiZ0IT09dH1mdW5jdGlvbiBodnIoZSl7cmV0dXJuIG12cihlKSYmVDAuY2FsbChlLCJjYWxsZWUiKSYmKCFtYnIuY2FsbChlLCJjYWxsZWUiKXx8Zk0uY2FsbChlKT09eWopfXZhciBBaj1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIHN5ZShlKXtyZXR1cm4gZSE9bnVsbCYmYnZyKGUubGVuZ3RoKSYmIW95ZShlKX1mdW5jdGlvbiBtdnIoZSl7cmV0dXJuIHZ2cihlKSYmc3llKGUpfXZhciBndnI9YmJyfHx5dnI7ZnVuY3Rpb24gb3llKGUpe3ZhciB0PWdNKGUpP2ZNLmNhbGwoZSk6IiI7cmV0dXJuIHQ9PXdqfHx0PT16eGV9ZnVuY3Rpb24gYnZyKGUpe3JldHVybiB0eXBlb2YgZT09Im51bWJlciImJmU+LTEmJmUlMT09MCYmZTw9TXhlfWZ1bmN0aW9uIGdNKGUpe3ZhciB0PXR5cGVvZiBlO3JldHVybiEhZSYmKHQ9PSJvYmplY3QifHx0PT0iZnVuY3Rpb24iKX1mdW5jdGlvbiB2dnIoZSl7cmV0dXJuISFlJiZ0eXBlb2YgZT09Im9iamVjdCJ9ZnVuY3Rpb24gRWooZSl7cmV0dXJuIHN5ZShlKT9WYnIoZSk6WGJyKGUpfWZ1bmN0aW9uIHh2cigpe3JldHVybltdfWZ1bmN0aW9uIHl2cigpe3JldHVybiExfXo1LmV4cG9ydHM9ZnZyfSk7dmFyIFBqPWplKCh0RWEsbHllKT0+eyJ1c2Ugc3RyaWN0IjtseWUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3R8fCh0PXt9KSx0eXBlb2YgdD09ImZ1bmN0aW9uIiYmKHQ9e2NtcDp0fSk7dmFyIHI9dHlwZW9mIHQuY3ljbGVzPT0iYm9vbGVhbiI/dC5jeWNsZXM6ITEsYT10LmNtcCYmKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihzKXtyZXR1cm4gZnVuY3Rpb24obyxjKXt2YXIgbD17a2V5Om8sdmFsdWU6c1tvXX0sdT17a2V5OmMsdmFsdWU6c1tjXX07cmV0dXJuIG4obCx1KX19fSkodC5jbXApLGk9W107cmV0dXJuKGZ1bmN0aW9uIG4ocyl7aWYocyYmcy50b0pTT04mJnR5cGVvZiBzLnRvSlNPTj09ImZ1bmN0aW9uIiYmKHM9cy50b0pTT04oKSkscyE9PXZvaWQgMCl7aWYodHlwZW9mIHM9PSJudW1iZXIiKXJldHVybiBpc0Zpbml0ZShzKT8iIitzOiJudWxsIjtpZih0eXBlb2YgcyE9Im9iamVjdCIpcmV0dXJuIEpTT04uc3RyaW5naWZ5KHMpO3ZhciBvLGM7aWYoQXJyYXkuaXNBcnJheShzKSl7Zm9yKGM9IlsiLG89MDtvPHMubGVuZ3RoO28rKylvJiYoYys9IiwiKSxjKz1uKHNbb10pfHwibnVsbCI7cmV0dXJuIGMrIl0ifWlmKHM9PT1udWxsKXJldHVybiJudWxsIjtpZihpLmluZGV4T2YocykhPT0tMSl7aWYocilyZXR1cm4gSlNPTi5zdHJpbmdpZnkoIl9fY3ljbGVfXyIpO3Rocm93IG5ldyBUeXBlRXJyb3IoIkNvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04iKX12YXIgbD1pLnB1c2gocyktMSx1PU9iamVjdC5rZXlzKHMpLnNvcnQoYSYmYShzKSk7Zm9yKGM9IiIsbz0wO288dS5sZW5ndGg7bysrKXt2YXIgZD11W29dLGg9bihzW2RdKTtoJiYoYyYmKGMrPSIsIiksYys9SlNPTi5zdHJpbmdpZnkoZCkrIjoiK2gpfXJldHVybiBpLnNwbGljZShsLDEpLCJ7IitjKyJ9In19KShlKX19KTt2YXIgYk0sY3llLHZNLE5qPWYoKCk9Pnt4NSgpO2NtKCk7Yk09c3IoSWooKSwxKSxjeWU9c3IoUGooKSwxKSx2TT1jeWUuZGVmYXVsdH0pO2Z1bmN0aW9uIE12cihlKXtyZXR1cm4gdHlwZW9mIEJ1ZmZlcjwidSI/QnVmZmVyLmZyb20oZSkudG9TdHJpbmcoImJhc2U2NCIpOmJ0b2EoU3RyaW5nLmZyb21DaGFyQ29kZSguLi5lKSl9ZnVuY3Rpb24ga3ZyKGUpe2lmKHR5cGVvZiBCdWZmZXI8InUiKXtsZXQgdD1CdWZmZXIuZnJvbShlLCJiYXNlNjQiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9cmV0dXJuIG5ldyBVaW50OEFycmF5KEFycmF5LmZyb20oYXRvYihlKSkubWFwKHQ9PnQuY2hhckNvZGVBdCgwKSkpfWZ1bmN0aW9uIE9qKGUsdCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUseE0sdCl9ZnVuY3Rpb24gUmooZSl7cmV0dXJuIEpTT04ucGFyc2UoZSxkeWUpfWZ1bmN0aW9uIFN2cihlKXtyZXR1cm4gcHllKGUpJiZlLnR5cGU9PT0iRW5jb2RlZEJ1ZmZlciImJkZqKGUuZGF0YSl9ZnVuY3Rpb24genZyKGUpe3JldHVybiBweWUoZSkmJmUudHlwZT09PSJCdWZmZXIiJiYodXllKGUuZGF0YSl8fEZqKGUuZGF0YSkpfHxlIGluc3RhbmNlb2YgVWludDhBcnJheX1mdW5jdGlvbiB1eWUoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24gRmooZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIn1mdW5jdGlvbiBweWUoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZSE9PW51bGx9dmFyIHhNLGR5ZSxmeWU9ZigoKT0+e05qKCk7eE09KGUsdCk9PntpZih6dnIodCkpe2xldCByO2lmKCJkYXRhImluIHQmJnV5ZSh0LmRhdGEpKXI9bmV3IFVpbnQ4QXJyYXkodC5kYXRhKTtlbHNlIGlmKHQgaW5zdGFuY2VvZiBVaW50OEFycmF5KXI9dDtlbHNlIHJldHVybiB0O3JldHVybnt0eXBlOiJFbmNvZGVkQnVmZmVyIixkYXRhOiJiYXNlNjQ6IitNdnIocil9fXJldHVybiB0fSxkeWU9KGUsdCk9PntpZihTdnIodCkmJkZqKHQuZGF0YSkmJnQuZGF0YS5zdGFydHNXaXRoKCJiYXNlNjQ6Iikpe2xldCByPXQuZGF0YS5zbGljZSg3KTtyZXR1cm4ga3ZyKHIpfXJldHVybiB0fX0pO3ZhciB3YT17fTtSZSh3YSx7U21hcnRqc29uOigpPT5IaixkZWVwRXF1YWxKc29uTFN0cmluZ3M6KCk9PkV2cixkZWVwRXF1YWxPYmplY3RzOigpPT5oeWUsZm9sZERlYzooKT0+QXZyLHBhcnNlOigpPT55TSxwYXJzZUJhc2U2NDooKT0+RHZyLHBhcnNlSnNvbkw6KCk9PkJqLHN0YWJsZU9uZVdheVN0cmluZ2lmeTooKT0+X3ZyLHN0cmluZ2lmeTooKT0+VTMsc3RyaW5naWZ5QmFzZTY0OigpPT4kdnIsc3RyaW5naWZ5SnNvbkw6KCk9PlR2cixzdHJpbmdpZnlQcmV0dHk6KCk9Pkx2cn0pO3ZhciB5TSxCaixUdnIsX3ZyLFUzLEx2ciwkdnIsRHZyLEhqLEF2cixoeWUsRXZyLEM1PWYoKCk9PntOaigpO2Z5ZSgpO3lNPVJqLEJqPWU9PmUuc3BsaXQoYApgKS5yZWR1Y2UoKGEsaSk9PntsZXQgbj1pLnRyaW0oKTtyZXR1cm4gbi5sZW5ndGg+MCYmYS5wdXNoKHlNKG4pKSxhfSxbXSksVHZyPWU9PmUubWFwKHQ9PlUzKHQpKS5qb2luKGAKYCksX3ZyPShlLHQscj17fSk9PntsZXQgYT1uZXcgV2Vha1NldCxpPW89PntpZihvPT09bnVsbHx8dHlwZW9mIG8hPSJvYmplY3QiKXJldHVybiBvO2xldCBjPXhNKCIiLG8pO2lmKGMmJmMudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGMuZGF0YT09InN0cmluZyIpcmV0dXJuIGM7aWYoYS5oYXMobykpcmV0dXJuIl9fY3ljbGVfXyI7aWYoYS5hZGQobyksQXJyYXkuaXNBcnJheShvKSlyZXR1cm4gby5tYXAodT0+aSh1KSk7bGV0IGw9e307Zm9yKGxldCB1IG9mIE9iamVjdC5rZXlzKG8pKXRyeXtsW3VdPWkob1t1XSl9Y2F0Y2h7bFt1XT0iX191bnNlcmlhbGl6YWJsZV9fIn1yZXR1cm4gbH0sbj1pKGUpLHM9ey4uLnIsY3ljbGVzOiEwfTtpZih0JiYhcy5jbXApe2xldCBvPW5ldyBNYXA7dC5mb3JFYWNoKChjLGwpPT5vLnNldChjLGwpKSxzLmNtcD0oYyxsKT0+e2xldCB1PW8uaGFzKGMua2V5KT9vLmdldChjLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGQ9by5oYXMobC5rZXkpP28uZ2V0KGwua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIHUhPT1kP3UtZDpjLmtleTxsLmtleT8tMTpjLmtleT5sLmtleT8xOjB9fXJldHVybiB2TShuLHMpfSxVMz0oZSx0LHI9e30pPT57bGV0IGE9T2ooZSk7ZT1KU09OLnBhcnNlKGEpO2xldCBpPXsuLi5yfTtpZih0JiYhaS5jbXApe2xldCBzPW5ldyBNYXA7dC5mb3JFYWNoKChvLGMpPT5zLnNldChvLGMpKSxpLmNtcD0obyxjKT0+e2xldCBsPXMuaGFzKG8ua2V5KT9zLmdldChvLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHU9cy5oYXMoYy5rZXkpP3MuZ2V0KGMua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIGwhPT11P2wtdTpvLmtleTxjLmtleT8tMTpvLmtleT5jLmtleT8xOjB9fXJldHVybiB2TShlLGkpfSxMdnI9ZT0+e2xldCB0PVUzKGUpLHI9SlNPTi5wYXJzZSh0KTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkocixudWxsLDIpfSwkdnI9KC4uLmUpPT57bGV0IHQ9VTMoLi4uZSk7cmV0dXJuIGJuLmJhc2U2NC5lbmNvZGVVcmkodCl9LER2cj1lPT57bGV0IHQ9Ym4uYmFzZTY0LGE9KHQuZGVjb2RlVXJpfHx0LmRlY29kZSkoZSk7cmV0dXJuIHlNKGEpfSxIaj1jbGFzcyBle3N0YXRpYyBlbmZvbGRGcm9tT2JqZWN0KHQpe2xldCByPW5ldyB0aGlzLGE9ci5zYXZlYWJsZVByb3BlcnRpZXN8fFtdO2ZvcihsZXQgaSBpbiB0KWEuaW5kZXhPZihpKSE9PS0xJiYocltpXT10W2ldKTtyZXR1cm4gcn1zdGF0aWMgZW5mb2xkRnJvbUpzb24odCl7bGV0IHI9eU0odCk7cmV0dXJuIHRoaXMuZW5mb2xkRnJvbU9iamVjdChyKX1mb2xkVG9PYmplY3QoKXtsZXQgdD1uZXcgU2V0O3JldHVybiB0LmFkZCh0aGlzKSx0aGlzLmZvbGRUb09iamVjdEludGVybmFsKHQpfWZvbGRUb09iamVjdEludGVybmFsKHQpe2xldCByPXt9LGE9bj0+e2lmKG4gaW5zdGFuY2VvZiBlKXtpZih0LmhhcyhuKSl0aHJvdyBuZXcgRXJyb3IoImN5Y2xlIGRldGVjdGVkIik7cmV0dXJuIHQuYWRkKG4pLG4uZm9sZFRvT2JqZWN0SW50ZXJuYWwodCl9cmV0dXJuIEFycmF5LmlzQXJyYXkobik/bi5tYXAocz0+YShzKSk6Yk0uZGVmYXVsdChuKX0saT10aGlzLnNhdmVhYmxlUHJvcGVydGllc3x8W107Zm9yKGxldCBuIG9mIGkpe2xldCBzPXRoaXNbbl07cltuXT1hKHMpfXJldHVybiByfWZvbGRUb0pzb24oKXtsZXQgdD10aGlzLmZvbGRUb09iamVjdCgpO3JldHVybiBVMyh0KX19LEF2cj0oKT0+KGUsdCk9PntlLnNhdmVhYmxlUHJvcGVydGllc3x8KGUuc2F2ZWFibGVQcm9wZXJ0aWVzPVtdKSxlLnNhdmVhYmxlUHJvcGVydGllcy5wdXNoKHQpfSxoeWU9KGUsdCk9PntsZXQgcj1VMyhlKSxhPVUzKHQpO3JldHVybiByPT09YX0sRXZyPShlLHQpPT57bGV0IHI9QmooZSksYT1Caih0KTtyZXR1cm4gaHllKHIsYSl9fSk7dmFyIGhtPXt9O1JlKGhtLHtkZWxldGVEQjooKT0+a3llLG9wZW5EQjooKT0+TXllLHVud3JhcDooKT0+Zm0sd3JhcDooKT0+cDJ9KTtmdW5jdGlvbiBJdnIoKXtyZXR1cm4gbXllfHwobXllPVtJREJEYXRhYmFzZSxJREJPYmplY3RTdG9yZSxJREJJbmRleCxJREJDdXJzb3IsSURCVHJhbnNhY3Rpb25dKX1mdW5jdGlvbiBQdnIoKXtyZXR1cm4gZ3llfHwoZ3llPVtJREJDdXJzb3IucHJvdG90eXBlLmFkdmFuY2UsSURCQ3Vyc29yLnByb3RvdHlwZS5jb250aW51ZSxJREJDdXJzb3IucHJvdG90eXBlLmNvbnRpbnVlUHJpbWFyeUtleV0pfWZ1bmN0aW9uIE52cihlKXtsZXQgdD1uZXcgUHJvbWlzZSgocixhKT0+e2xldCBpPSgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixuKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixzKX0sbj0oKT0+e3IocDIoZS5yZXN1bHQpKSxpKCl9LHM9KCk9PnthKGUuZXJyb3IpLGkoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIixuKSxlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixzKX0pO3JldHVybiB3TS5zZXQodCxlKSx0fWZ1bmN0aW9uIEZ2cihlKXtpZihqai5oYXMoZSkpcmV0dXJuO2xldCB0PW5ldyBQcm9taXNlKChyLGEpPT57bGV0IGk9KCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIixuKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixzKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixzKX0sbj0oKT0+e3IoKSxpKCl9LHM9KCk9PnthKGUuZXJyb3J8fG5ldyBET01FeGNlcHRpb24oIkFib3J0RXJyb3IiLCJBYm9ydEVycm9yIikpLGkoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJjb21wbGV0ZSIsbiksZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIscyksZS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIscyl9KTtqai5zZXQoZSx0KX1mdW5jdGlvbiBieWUoZSl7VWo9ZShVail9ZnVuY3Rpb24gT3ZyKGUpe3JldHVybiBQdnIoKS5pbmNsdWRlcyhlKT9mdW5jdGlvbiguLi50KXtyZXR1cm4gZS5hcHBseShmbSh0aGlzKSx0KSxwMih0aGlzLnJlcXVlc3QpfTpmdW5jdGlvbiguLi50KXtyZXR1cm4gcDIoZS5hcHBseShmbSh0aGlzKSx0KSl9fWZ1bmN0aW9uIFJ2cihlKXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiI/T3ZyKGUpOihlIGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24mJkZ2cihlKSxxaihlLEl2cigpKT9uZXcgUHJveHkoZSxVaik6ZSl9ZnVuY3Rpb24gcDIoZSl7aWYoZSBpbnN0YW5jZW9mIElEQlJlcXVlc3QpcmV0dXJuIE52cihlKTtpZihWai5oYXMoZSkpcmV0dXJuIFZqLmdldChlKTtsZXQgdD1SdnIoZSk7cmV0dXJuIHQhPT1lJiYoVmouc2V0KGUsdCksd00uc2V0KHQsZSkpLHR9ZnVuY3Rpb24gTXllKGUsdCx7YmxvY2tlZDpyLHVwZ3JhZGU6YSxibG9ja2luZzppLHRlcm1pbmF0ZWQ6bn09e30pe2xldCBzPWluZGV4ZWREQi5vcGVuKGUsdCksbz1wMihzKTtyZXR1cm4gYSYmcy5hZGRFdmVudExpc3RlbmVyKCJ1cGdyYWRlbmVlZGVkIixjPT57YShwMihzLnJlc3VsdCksYy5vbGRWZXJzaW9uLGMubmV3VmVyc2lvbixwMihzLnRyYW5zYWN0aW9uKSxjKX0pLHImJnMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsYz0+cihjLm9sZFZlcnNpb24sYy5uZXdWZXJzaW9uLGMpKSxvLnRoZW4oYz0+e24mJmMuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT5uKCkpLGkmJmMuYWRkRXZlbnRMaXN0ZW5lcigidmVyc2lvbmNoYW5nZSIsbD0+aShsLm9sZFZlcnNpb24sbC5uZXdWZXJzaW9uLGwpKX0pLmNhdGNoKCgpPT57fSksb31mdW5jdGlvbiBreWUoZSx7YmxvY2tlZDp0fT17fSl7bGV0IHI9aW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGUpO3JldHVybiB0JiZyLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLGE9PnQoYS5vbGRWZXJzaW9uLGEpKSxwMihyKS50aGVuKCgpPT57fSl9ZnVuY3Rpb24gdnllKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgSURCRGF0YWJhc2UmJiEodCBpbiBlKSYmdHlwZW9mIHQ9PSJzdHJpbmciKSlyZXR1cm47aWYoV2ouZ2V0KHQpKXJldHVybiBXai5nZXQodCk7bGV0IHI9dC5yZXBsYWNlKC9Gcm9tSW5kZXgkLywiIiksYT10IT09cixpPUh2ci5pbmNsdWRlcyhyKTtpZighKHIgaW4oYT9JREJJbmRleDpJREJPYmplY3RTdG9yZSkucHJvdG90eXBlKXx8IShpfHxCdnIuaW5jbHVkZXMocikpKXJldHVybjtsZXQgbj1hc3luYyBmdW5jdGlvbihzLC4uLm8pe2xldCBjPXRoaXMudHJhbnNhY3Rpb24ocyxpPyJyZWFkd3JpdGUiOiJyZWFkb25seSIpLGw9Yy5zdG9yZTtyZXR1cm4gYSYmKGw9bC5pbmRleChvLnNoaWZ0KCkpKSwoYXdhaXQgUHJvbWlzZS5hbGwoW2xbcl0oLi4ubyksaSYmYy5kb25lXSkpWzBdfTtyZXR1cm4gV2ouc2V0KHQsbiksbn1hc3luYyBmdW5jdGlvbipWdnIoLi4uZSl7bGV0IHQ9dGhpcztpZih0IGluc3RhbmNlb2YgSURCQ3Vyc29yfHwodD1hd2FpdCB0Lm9wZW5DdXJzb3IoLi4uZSkpLCF0KXJldHVybjt0PXQ7bGV0IHI9bmV3IFByb3h5KHQsanZyKTtmb3IoeXllLnNldChyLHQpLHdNLnNldChyLGZtKHQpKTt0Oyl5aWVsZCByLHQ9YXdhaXQoR2ouZ2V0KHIpfHx0LmNvbnRpbnVlKCkpLEdqLmRlbGV0ZShyKX1mdW5jdGlvbiB3eWUoZSx0KXtyZXR1cm4gdD09PVN5bWJvbC5hc3luY0l0ZXJhdG9yJiZxaihlLFtJREJJbmRleCxJREJPYmplY3RTdG9yZSxJREJDdXJzb3JdKXx8dD09PSJpdGVyYXRlIiYmcWooZSxbSURCSW5kZXgsSURCT2JqZWN0U3RvcmVdKX12YXIgcWosbXllLGd5ZSxqaixWaix3TSxVaixmbSxCdnIsSHZyLFdqLHF2cix4eWUsR2oseXllLGp2cixTeWU9ZigoKT0+e3FqPShlLHQpPT50LnNvbWUocj0+ZSBpbnN0YW5jZW9mIHIpO2pqPW5ldyBXZWFrTWFwLFZqPW5ldyBXZWFrTWFwLHdNPW5ldyBXZWFrTWFwO1VqPXtnZXQoZSx0LHIpe2lmKGUgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbil7aWYodD09PSJkb25lIilyZXR1cm4gamouZ2V0KGUpO2lmKHQ9PT0ic3RvcmUiKXJldHVybiByLm9iamVjdFN0b3JlTmFtZXNbMV0/dm9pZCAwOnIub2JqZWN0U3RvcmUoci5vYmplY3RTdG9yZU5hbWVzWzBdKX1yZXR1cm4gcDIoZVt0XSl9LHNldChlLHQscil7cmV0dXJuIGVbdF09ciwhMH0saGFzKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiYmKHQ9PT0iZG9uZSJ8fHQ9PT0ic3RvcmUiKT8hMDp0IGluIGV9fTtmbT1lPT53TS5nZXQoZSk7QnZyPVsiZ2V0IiwiZ2V0S2V5IiwiZ2V0QWxsIiwiZ2V0QWxsS2V5cyIsImNvdW50Il0sSHZyPVsicHV0IiwiYWRkIiwiZGVsZXRlIiwiY2xlYXIiXSxXaj1uZXcgTWFwO2J5ZShlPT4oey4uLmUsZ2V0Oih0LHIsYSk9PnZ5ZSh0LHIpfHxlLmdldCh0LHIsYSksaGFzOih0LHIpPT4hIXZ5ZSh0LHIpfHxlLmhhcyh0LHIpfSkpO3F2cj1bImNvbnRpbnVlIiwiY29udGludWVQcmltYXJ5S2V5IiwiYWR2YW5jZSJdLHh5ZT17fSxHaj1uZXcgV2Vha01hcCx5eWU9bmV3IFdlYWtNYXAsanZyPXtnZXQoZSx0KXtpZighcXZyLmluY2x1ZGVzKHQpKXJldHVybiBlW3RdO2xldCByPXh5ZVt0XTtyZXR1cm4gcnx8KHI9eHllW3RdPWZ1bmN0aW9uKC4uLmEpe0dqLnNldCh0aGlzLHl5ZS5nZXQodGhpcylbdF0oLi4uYSkpfSkscn19O2J5ZShlPT4oey4uLmUsZ2V0KHQscixhKXtyZXR1cm4gd3llKHQscik/VnZyOmUuZ2V0KHQscixhKX0saGFzKHQscil7cmV0dXJuIHd5ZSh0LHIpfHxlLmhhcyh0LHIpfX0pKX0pO3ZhciBZaj1mKCgpPT57S2goKTt4NSgpO0M1KCk7bG4oKTtvbygpO3poKCk7U3llKCl9KTt2YXIgbW0sWmo9ZigoKT0+e1lqKCk7bW09Y2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5pbml0Q2FsbGVkPSExLHRoaXMucmVhZHlEZWZlcnJlZD1KZS5kZWZlcigpLHRoaXMub3B0aW9ucz10fWFzeW5jIGluaXQoKXtpZih0aGlzLmluaXRDYWxsZWQpe2F3YWl0IHRoaXMucmVhZHlEZWZlcnJlZC5wcm9taXNlO3JldHVybn10aGlzLmluaXRDYWxsZWQ9ITA7bGV0IHQ9bmV3IEYxLlNtYXJ0ZW52O2lmKCF0LmlzQnJvd3NlciYmIWdsb2JhbFRoaXMuaW5kZXhlZERCJiYoY29uc29sZS5sb2coImhleSIpLGNvbnNvbGUubG9nKGdsb2JhbFRoaXMuaW5kZXhlZERCKSxhd2FpdCB0LmdldFNhZmVOb2RlTW9kdWxlKCJmYWtlLWluZGV4ZWRkYi9hdXRvIiksIWdsb2JhbFRoaXMuaW5kZXhlZERCKSl7bGV0IHI9YXdhaXQgdC5nZXRTYWZlTm9kZU1vZHVsZSgiZmFrZS1pbmRleGVkZGIiKTtnbG9iYWxUaGlzLmluZGV4ZWREQj1uZXcgci5JREJGYWN0b3J5fXRoaXMuZGI9YXdhaXQgaG0ub3BlbkRCKHRoaXMub3B0aW9ucy5kYk5hbWUsMSx7dXBncmFkZTpyPT57ci5jcmVhdGVPYmplY3RTdG9yZSh0aGlzLm9wdGlvbnMuc3RvcmVOYW1lKX19KSx0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfWFzeW5jIGdldCh0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSx0KX1hc3luYyBjaGVjayh0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksISFhd2FpdCB0aGlzLmdldCh0KX1hc3luYyBzZXQodCxyKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5wdXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxyLHQpfWFzeW5jIGRlbGV0ZSh0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5kZWxldGUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSx0KX1hc3luYyBjbGVhcigpe3JldHVybiBhd2FpdCB0aGlzLmluaXQoKSx0aGlzLmRiLmNsZWFyKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfWFzeW5jIGtleXMoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXRBbGxLZXlzKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfX19KTt2YXIgWGosQ3llPWYoKCk9PntaaigpO1lqKCk7WGo9Y2xhc3N7Y29uc3RydWN0b3IodD0iZGVmYXVsdCIpe3RoaXMud2Vic3RvcmU9bmV3IG1tKHtkYk5hbWU6InRyU3RvcmUiLHN0b3JlTmFtZTpgdHJTdG9yZS0ke3R9YH0pfWJ1aWxkS2V5KHQpe3JldHVybiB3YS5zdHJpbmdpZnkoe21ldGhvZDp0Lm1ldGhvZCxyZXF1ZXN0OnQucmVxdWVzdH0pfWFzeW5jIHNldEJ5UmVxdWVzdCh0KXtpZighdC5yZXNwb25zZSl0aHJvdyBuZXcgRXJyb3IoIllvdSBjYW5ub3Qgc3RvcmUgcmVxdWVzdHMgd2l0aG91dCBhIHJlc3BvbnNlIHByZXNlbnQiKTthd2FpdCB0aGlzLndlYnN0b3JlLnNldCh0aGlzLmJ1aWxkS2V5KHQpLHQpfWFzeW5jIGdldEJ5UmVxdWVzdCh0KXtyZXR1cm4gYXdhaXQgdGhpcy53ZWJzdG9yZS5nZXQodGhpcy5idWlsZEtleSh0KSl9fX0pO3ZhciBWbj17fTtSZShWbix7VHlwZWRyZXF1ZXN0Q2FjaGU6KCk9PlhqLFdlYlN0b3JlOigpPT5tbX0pO3ZhciBnbT1mKCgpPT57Q3llKCk7WmooKX0pO3ZhciBibT1mKCgpPT57dDIoKTt4NSgpO0M1KCk7bG4oKTtnbSgpfSk7dmFyIFQ1LGtNPWYoKCk9PntibSgpO1Q1PWNsYXNze2NvbnN0cnVjdG9yKHQ9IndlYnJlcXVlc3QtdjQiLHI9ImNhY2hlIil7dGhpcy53ZWJzdG9yZT1uZXcgVm4uV2ViU3RvcmUoe2RiTmFtZTp0LHN0b3JlTmFtZTpyfSksdGhpcy5pbml0UHJvbWlzZT10aGlzLmluaXQoKX1hc3luYyBpbml0KCl7fWdlbmVyYXRlQ2FjaGVLZXkodCl7bGV0IHI9dC51cmwsYT10Lm1ldGhvZDtyZXR1cm4gYT09PSJHRVQiP3I6YCR7YX06JHtyfWB9YXN5bmMgc2V0KHQscil7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLnNldCh0LHIpfWFzeW5jIGdldCh0KXthd2FpdCB0aGlzLmluaXRQcm9taXNlO3RyeXtyZXR1cm4gYXdhaXQgdGhpcy53ZWJzdG9yZS5nZXQodCl8fG51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fWFzeW5jIGhhcyh0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmNoZWNrKHQpfWFzeW5jIGRlbGV0ZSh0KXthd2FpdCB0aGlzLmluaXRQcm9taXNlLGF3YWl0IHRoaXMud2Vic3RvcmUuZGVsZXRlKHQpfWFzeW5jIGNsZWFyKCl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmNsZWFyKCl9cmVzcG9uc2VGcm9tQ2FjaGVFbnRyeSh0KXtsZXQgcj1uZXcgSGVhZGVycyh0LmhlYWRlcnMpO3JldHVybiBuZXcgUmVzcG9uc2UodC5yZXNwb25zZSx7c3RhdHVzOnQuc3RhdHVzLHN0YXR1c1RleHQ6dC5zdGF0dXNUZXh0LGhlYWRlcnM6cn0pfWFzeW5jIGNhY2hlRW50cnlGcm9tUmVzcG9uc2UodCxyLGEpe2xldCBpPXIuY2xvbmUoKSxuPWF3YWl0IGkuYXJyYXlCdWZmZXIoKSxzPXt9O3JldHVybiBpLmhlYWRlcnMuZm9yRWFjaCgobyxjKT0+e3NbY109b30pLHtyZXNwb25zZTpuLGhlYWRlcnM6cyx0aW1lc3RhbXA6RGF0ZS5ub3coKSxldGFnOmE/LmV0YWd8fGkuaGVhZGVycy5nZXQoImV0YWciKXx8dm9pZCAwLGxhc3RNb2RpZmllZDphPy5sYXN0TW9kaWZpZWR8fGkuaGVhZGVycy5nZXQoImxhc3QtbW9kaWZpZWQiKXx8dm9pZCAwLG1heEFnZTphPy5tYXhBZ2UsdXJsOnQsc3RhdHVzOmkuc3RhdHVzLHN0YXR1c1RleHQ6aS5zdGF0dXNUZXh0fX1hc3luYyBwcnVuZUV4cGlyZWQoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0UHJvbWlzZSwwfX19KTtmdW5jdGlvbiBVdnIoZSl7bGV0IHQ9e21heEFnZTowLGltbXV0YWJsZTohMSxub0NhY2hlOiExLG5vU3RvcmU6ITEsbXVzdFJldmFsaWRhdGU6ITF9O2lmKCFlKXJldHVybiB0O2xldCByPWUudG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLm1hcChhPT5hLnRyaW0oKSk7Zm9yKGxldCBhIG9mIHIpaWYoYT09PSJuby1jYWNoZSIpdC5ub0NhY2hlPSEwO2Vsc2UgaWYoYT09PSJuby1zdG9yZSIpdC5ub1N0b3JlPSEwO2Vsc2UgaWYoYT09PSJpbW11dGFibGUiKXQuaW1tdXRhYmxlPSEwO2Vsc2UgaWYoYT09PSJtdXN0LXJldmFsaWRhdGUiKXQubXVzdFJldmFsaWRhdGU9ITA7ZWxzZSBpZihhLnN0YXJ0c1dpdGgoIm1heC1hZ2U9Iikpe2xldCBpPXBhcnNlSW50KGEuc3BsaXQoIj0iKVsxXSwxMCk7aXNOYU4oaSl8fCh0Lm1heEFnZT1pKjFlMyl9cmV0dXJuIHR9ZnVuY3Rpb24gV3ZyKGUpe2lmKGUpdHJ5e3JldHVybiBuZXcgRGF0ZShlKS5nZXRUaW1lKCl9Y2F0Y2h7cmV0dXJufX1mdW5jdGlvbiBmMihlKXtsZXQgdD1lLmdldCgiY2FjaGUtY29udHJvbCIpLHI9ZS5nZXQoImV4cGlyZXMiKSxhPWUuZ2V0KCJldGFnIiksaT1lLmdldCgibGFzdC1tb2RpZmllZCIpLG49VXZyKHQpO2lmKG4ubWF4QWdlPT09MCYmcil7bGV0IHM9V3ZyKHIpO3MmJihuLm1heEFnZT1NYXRoLm1heCgwLHMtRGF0ZS5ub3coKSkpfXJldHVybnttYXhBZ2U6bi5tYXhBZ2V8fDAsZXRhZzphfHx2b2lkIDAsbGFzdE1vZGlmaWVkOml8fHZvaWQgMCxpbW11dGFibGU6bi5pbW11dGFibGV8fCExLG5vQ2FjaGU6bi5ub0NhY2hlfHwhMSxub1N0b3JlOm4ubm9TdG9yZXx8ITEsbXVzdFJldmFsaWRhdGU6bi5tdXN0UmV2YWxpZGF0ZXx8ITF9fWZ1bmN0aW9uIHZtKGUsdCl7aWYodC5ub1N0b3JlKXJldHVybiExO2lmKHQuaW1tdXRhYmxlKXJldHVybiEwO2xldCByPURhdGUubm93KCktZS50aW1lc3RhbXAsYT1lLm1heEFnZXx8dC5tYXhBZ2V8fDA7cmV0dXJuIGE9PT0wPyExOnI8YX1mdW5jdGlvbiB4bShlKXtyZXR1cm4gZS5ub0NhY2hlfHxlLm11c3RSZXZhbGlkYXRlfWZ1bmN0aW9uIFNNKGUpe2xldCB0PXt9O3JldHVybiBlLmV0YWcmJih0WyJpZi1ub25lLW1hdGNoIl09ZS5ldGFnKSxlLmxhc3RNb2RpZmllZCYmKHRbImlmLW1vZGlmaWVkLXNpbmNlIl09ZS5sYXN0TW9kaWZpZWQpLHR9ZnVuY3Rpb24gek0oZSl7bGV0IHQ9e307cmV0dXJuIGUuZm9yRWFjaCgocixhKT0+e3RbYV09cn0pLHR9ZnVuY3Rpb24gVHllKGUpe2xldCB0PW5ldyBIZWFkZXJzO3JldHVybiBPYmplY3QuZW50cmllcyhlKS5mb3JFYWNoKChbcixhXSk9Pnt0LnNldChyLGEpfSksdH12YXIgQ009ZigoKT0+e30pO2Z1bmN0aW9uIF95ZShlKXtzd2l0Y2goZSl7Y2FzZSJuZXR3b3JrLWZpcnN0IjpyZXR1cm4gbmV3IFRNO2Nhc2UiY2FjaGUtZmlyc3QiOnJldHVybiBuZXcgUWo7Y2FzZSJzdGFsZS13aGlsZS1yZXZhbGlkYXRlIjpyZXR1cm4gbmV3IEpqO2Nhc2UibmV0d29yay1vbmx5IjpyZXR1cm4gbmV3IEtqO2Nhc2UiY2FjaGUtb25seSI6cmV0dXJuIG5ldyBlVjtkZWZhdWx0OnJldHVybiBuZXcgVE19fXZhciBUTSxRaixKaixLaixlVixMeWU9ZigoKT0+e2tNKCk7Q00oKTtUTT1jbGFzc3thc3luYyBleGVjdXRlKHQpe3RyeXtsZXQgcj1hd2FpdCB0LmZldGNoRm4odC5yZXF1ZXN0KTtyZXR1cm4gci5vayYmYXdhaXQgdGhpcy5jYWNoZVJlc3BvbnNlKHQscikse3Jlc3BvbnNlOnIsZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfX1jYXRjaChyKXt0LmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gTmV0d29yayBmYWlsZWQsIHRyeWluZyBjYWNoZToiLHIpO2xldCBhPWF3YWl0IHQuY2FjaGVTdG9yZS5nZXQodC5jYWNoZUtleSk7aWYoYSlyZXR1cm57cmVzcG9uc2U6dC5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkoYSksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfTt0aHJvdyByfX1hc3luYyBjYWNoZVJlc3BvbnNlKHQscil7bGV0IGE9ZjIoci5oZWFkZXJzKTtpZihhLm5vU3RvcmUpcmV0dXJuO2xldCBpPWF3YWl0IHQuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKHQucmVxdWVzdC51cmwscixhKTthd2FpdCB0LmNhY2hlU3RvcmUuc2V0KHQuY2FjaGVLZXksaSl9fSxRaj1jbGFzc3thc3luYyBleGVjdXRlKHQpe2xldCByPWF3YWl0IHQuY2FjaGVTdG9yZS5nZXQodC5jYWNoZUtleSk7aWYocil7bGV0IG49ZjIobmV3IEhlYWRlcnMoci5oZWFkZXJzKSk7aWYodm0ocixuKSlyZXR1cm4gdC5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIENhY2hlIGhpdCAoZnJlc2gpOiIsdC5yZXF1ZXN0LnVybCkse3Jlc3BvbnNlOnQuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KHIpLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX07aWYoeG0obikmJihyLmV0YWd8fHIubGFzdE1vZGlmaWVkKSlyZXR1cm4gYXdhaXQgdGhpcy5yZXZhbGlkYXRlKHQscil9dC5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIENhY2hlIG1pc3MsIGZldGNoaW5nOiIsdC5yZXF1ZXN0LnVybCk7bGV0IGE9YXdhaXQgdC5mZXRjaEZuKHQucmVxdWVzdCksaT1mMihhLmhlYWRlcnMpO2lmKCFpLm5vU3RvcmUpe2xldCBuPWF3YWl0IHQuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKHQucmVxdWVzdC51cmwsYSxpKTthd2FpdCB0LmNhY2hlU3RvcmUuc2V0KHQuY2FjaGVLZXksbil9cmV0dXJue3Jlc3BvbnNlOmEsZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfX1hc3luYyByZXZhbGlkYXRlKHQscil7bGV0IGE9U00ociksaT1uZXcgUmVxdWVzdCh0LnJlcXVlc3QudXJsLHttZXRob2Q6dC5yZXF1ZXN0Lm1ldGhvZCxoZWFkZXJzOnsuLi56TSh0LnJlcXVlc3QuaGVhZGVycyksLi4uYX19KTt0cnl7bGV0IG49YXdhaXQgdC5mZXRjaEZuKGkpO2lmKG4uc3RhdHVzPT09MzA0KXJldHVybiB0LmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQ2FjaGUgcmV2YWxpZGF0ZWQgKDMwNCk6Iix0LnJlcXVlc3QudXJsKSxyLnRpbWVzdGFtcD1EYXRlLm5vdygpLGF3YWl0IHQuY2FjaGVTdG9yZS5zZXQodC5jYWNoZUtleSxyKSx7cmVzcG9uc2U6dC5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkociksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiEwfTtpZihuLm9rKXtsZXQgcz1mMihuLmhlYWRlcnMpO2lmKCFzLm5vU3RvcmUpe2xldCBvPWF3YWl0IHQuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKHQucmVxdWVzdC51cmwsbixzKTthd2FpdCB0LmNhY2hlU3RvcmUuc2V0KHQuY2FjaGVLZXksbyl9fXJldHVybntyZXNwb25zZTpuLGZyb21DYWNoZTohMSxyZXZhbGlkYXRlZDohMH19Y2F0Y2gobil7cmV0dXJuIHQubG9nZ2luZyYmY29uc29sZS5sb2coIlt3ZWJyZXF1ZXN0XSBSZXZhbGlkYXRpb24gZmFpbGVkLCB1c2luZyBjYWNoZToiLG4pLHtyZXNwb25zZTp0LmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeShyKSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITF9fX19LEpqPWNsYXNze2FzeW5jIGV4ZWN1dGUodCl7bGV0IHI9YXdhaXQgdC5jYWNoZVN0b3JlLmdldCh0LmNhY2hlS2V5KTtpZihyKXtsZXQgbj10LmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeShyKTtyZXR1cm4gdGhpcy5yZXZhbGlkYXRlSW5CYWNrZ3JvdW5kKHQscikuY2F0Y2gocz0+e3QubG9nZ2luZyYmY29uc29sZS53YXJuKCJbd2VicmVxdWVzdF0gQmFja2dyb3VuZCByZXZhbGlkYXRpb24gZmFpbGVkOiIscyl9KSx7cmVzcG9uc2U6bixmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITF9fWxldCBhPWF3YWl0IHQuZmV0Y2hGbih0LnJlcXVlc3QpLGk9ZjIoYS5oZWFkZXJzKTtpZighaS5ub1N0b3JlJiZhLm9rKXtsZXQgbj1hd2FpdCB0LmNhY2hlU3RvcmUuY2FjaGVFbnRyeUZyb21SZXNwb25zZSh0LnJlcXVlc3QudXJsLGEsaSk7YXdhaXQgdC5jYWNoZVN0b3JlLnNldCh0LmNhY2hlS2V5LG4pfXJldHVybntyZXNwb25zZTphLGZyb21DYWNoZTohMSxyZXZhbGlkYXRlZDohMX19YXN5bmMgcmV2YWxpZGF0ZUluQmFja2dyb3VuZCh0LHIpe2xldCBhPWYyKG5ldyBIZWFkZXJzKHIuaGVhZGVycykpO2lmKCEodm0ocixhKSYmIXhtKGEpKSl0cnl7bGV0IGk9YXdhaXQgdC5mZXRjaEZuKHQucmVxdWVzdCk7aWYoaS5vayl7bGV0IG49ZjIoaS5oZWFkZXJzKTtpZighbi5ub1N0b3JlKXtsZXQgcz1hd2FpdCB0LmNhY2hlU3RvcmUuY2FjaGVFbnRyeUZyb21SZXNwb25zZSh0LnJlcXVlc3QudXJsLGksbik7YXdhaXQgdC5jYWNoZVN0b3JlLnNldCh0LmNhY2hlS2V5LHMpLHQubG9nZ2luZyYmY29uc29sZS5sb2coIlt3ZWJyZXF1ZXN0XSBCYWNrZ3JvdW5kIHJldmFsaWRhdGlvbiBjb21wbGV0ZToiLHQucmVxdWVzdC51cmwpfX19Y2F0Y2goaSl7dC5sb2dnaW5nJiZjb25zb2xlLndhcm4oIlt3ZWJyZXF1ZXN0XSBCYWNrZ3JvdW5kIHJldmFsaWRhdGlvbiBmYWlsZWQ6IixpKX19fSxLaj1jbGFzc3thc3luYyBleGVjdXRlKHQpe3JldHVybntyZXNwb25zZTphd2FpdCB0LmZldGNoRm4odC5yZXF1ZXN0KSxmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fX0sZVY9Y2xhc3N7YXN5bmMgZXhlY3V0ZSh0KXtsZXQgcj1hd2FpdCB0LmNhY2hlU3RvcmUuZ2V0KHQuY2FjaGVLZXkpO2lmKCFyKXRocm93IG5ldyBFcnJvcihgQ2FjaGUgbWlzcyBmb3IgJHt0LnJlcXVlc3QudXJsfSAoY2FjaGUtb25seSBtb2RlKWApO3JldHVybntyZXNwb25zZTp0LmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeShyKSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITF9fX19KTt2YXIgXzUsdFY9ZigoKT0+e2tNKCk7THllKCk7Q00oKTtfNT1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIpe3RoaXMuY2FjaGVTdG9yZT1uZXcgVDUodCxyKX1hc3luYyBleGVjdXRlKHQscixhKXtsZXQgaT10aGlzLmRldGVybWluZVN0cmF0ZWd5KHQscik7aWYoaT09PSJuZXR3b3JrLW9ubHkiKXJldHVybntyZXNwb25zZTphd2FpdCBhKHQpLGZyb21DYWNoZTohMSxyZXZhbGlkYXRlZDohMX07bGV0IG49dGhpcy5nZW5lcmF0ZUNhY2hlS2V5KHQscikscz1feWUoaSksbz17cmVxdWVzdDp0LGNhY2hlS2V5Om4sY2FjaGVTdG9yZTp0aGlzLmNhY2hlU3RvcmUsZmV0Y2hGbjphLGxvZ2dpbmc6ci5sb2dnaW5nfTtyZXR1cm4gYXdhaXQgcy5leGVjdXRlKG8pfWRldGVybWluZVN0cmF0ZWd5KHQscil7cmV0dXJuIHIuY2FjaGVTdHJhdGVneT9yLmNhY2hlU3RyYXRlZ3k6ci5jYWNoZT90aGlzLm1hcENhY2hlTW9kZVRvU3RyYXRlZ3koci5jYWNoZSk6dC5jYWNoZT90aGlzLm1hcENhY2hlTW9kZVRvU3RyYXRlZ3kodC5jYWNoZSk6Im5ldHdvcmstZmlyc3QifW1hcENhY2hlTW9kZVRvU3RyYXRlZ3kodCl7c3dpdGNoKHQpe2Nhc2UiZGVmYXVsdCI6cmV0dXJuIm5ldHdvcmstZmlyc3QiO2Nhc2Uibm8tc3RvcmUiOmNhc2UicmVsb2FkIjpyZXR1cm4ibmV0d29yay1vbmx5IjtjYXNlIm5vLWNhY2hlIjpyZXR1cm4ibmV0d29yay1maXJzdCI7Y2FzZSJmb3JjZS1jYWNoZSI6cmV0dXJuImNhY2hlLWZpcnN0IjtjYXNlIm9ubHktaWYtY2FjaGVkIjpyZXR1cm4iY2FjaGUtb25seSI7ZGVmYXVsdDpyZXR1cm4ibmV0d29yay1maXJzdCJ9fWdlbmVyYXRlQ2FjaGVLZXkodCxyKXtyZXR1cm4gci5jYWNoZUtleT90eXBlb2Ygci5jYWNoZUtleT09ImZ1bmN0aW9uIj9yLmNhY2hlS2V5KHQpOnIuY2FjaGVLZXk6dGhpcy5jYWNoZVN0b3JlLmdlbmVyYXRlQ2FjaGVLZXkodCl9YXN5bmMgY2xlYXIoKXthd2FpdCB0aGlzLmNhY2hlU3RvcmUuY2xlYXIoKX1hc3luYyBkZWxldGUodCl7YXdhaXQgdGhpcy5jYWNoZVN0b3JlLmRlbGV0ZSh0KX1hc3luYyBoYXModCl7cmV0dXJuIGF3YWl0IHRoaXMuY2FjaGVTdG9yZS5oYXModCl9Z2V0U3RvcmUoKXtyZXR1cm4gdGhpcy5jYWNoZVN0b3JlfX19KTtmdW5jdGlvbiAkeWUoZSl7c3dpdGNoKGUpe2Nhc2UiZXhwb25lbnRpYWwiOnJldHVybiBuZXcgX007Y2FzZSJsaW5lYXIiOnJldHVybiBuZXcgclY7Y2FzZSJjb25zdGFudCI6cmV0dXJuIG5ldyBhVjtkZWZhdWx0OnJldHVybiBuZXcgX019fWZ1bmN0aW9uIER5ZShlLHQ9LjEpe2xldCByPWUqdCpNYXRoLnJhbmRvbSgpO3JldHVybiBlK3J9dmFyIF9NLHJWLGFWLEF5ZT1mKCgpPT57X009Y2xhc3N7Y2FsY3VsYXRlKHQscixhKXtsZXQgaT1yKk1hdGgucG93KDIsdC0xKTtyZXR1cm4gTWF0aC5taW4oaSxhKX19LHJWPWNsYXNze2NhbGN1bGF0ZSh0LHIsYSl7bGV0IGk9cip0O3JldHVybiBNYXRoLm1pbihpLGEpfX0sYVY9Y2xhc3N7Y2FsY3VsYXRlKHQscixhKXtyZXR1cm4gTWF0aC5taW4ocixhKX19fSk7dmFyIEw1LGlWPWYoKCk9PntibSgpO0F5ZSgpO0w1PWNsYXNze2NvbnN0cnVjdG9yKHQ9e30pe3RoaXMub3B0aW9ucz17bWF4QXR0ZW1wdHM6dC5tYXhBdHRlbXB0cz8/MyxiYWNrb2ZmOnQuYmFja29mZj8/ImV4cG9uZW50aWFsIixpbml0aWFsRGVsYXk6dC5pbml0aWFsRGVsYXk/PzFlMyxtYXhEZWxheTp0Lm1heERlbGF5Pz8zZTQscmV0cnlPbjp0LnJldHJ5T24/P1s0MDgsNDI5LDUwMCw1MDIsNTAzLDUwNF0sb25SZXRyeTp0Lm9uUmV0cnk/PygoKT0+e30pfX1hc3luYyBleGVjdXRlKHQscil7bGV0IGEsaTtmb3IobGV0IG49MTtuPD10aGlzLm9wdGlvbnMubWF4QXR0ZW1wdHM7bisrKXRyeXtsZXQgcz1hd2FpdCB0KCk7aWYocyBpbnN0YW5jZW9mIFJlc3BvbnNlJiZ0aGlzLnNob3VsZFJldHJ5UmVzcG9uc2Uocykpe2lmKGk9cyxuPT09dGhpcy5vcHRpb25zLm1heEF0dGVtcHRzKXJldHVybiBzO2xldCBvPXRoaXMuY2FsY3VsYXRlRGVsYXkobik7dGhpcy5vcHRpb25zLm9uUmV0cnkobixuZXcgRXJyb3IoYEhUVFAgJHtzLnN0YXR1c31gKSxvKSxhd2FpdCB0aGlzLmRlbGF5KG8pO2NvbnRpbnVlfXJldHVybiBzfWNhdGNoKHMpe2E9cyBpbnN0YW5jZW9mIEVycm9yP3M6bmV3IEVycm9yKFN0cmluZyhzKSk7bGV0IG89cj9yKHMsbik6dGhpcy5zaG91bGRSZXRyeUVycm9yKHMpO2lmKG49PT10aGlzLm9wdGlvbnMubWF4QXR0ZW1wdHN8fCFvKXRocm93IGE7bGV0IGM9dGhpcy5jYWxjdWxhdGVEZWxheShuKTt0aGlzLm9wdGlvbnMub25SZXRyeShuLGEsYyksYXdhaXQgdGhpcy5kZWxheShjKX10aHJvdyBhfHxuZXcgRXJyb3IoIk1heCByZXRyeSBhdHRlbXB0cyByZWFjaGVkIil9YXN5bmMgZXhlY3V0ZVdpdGhGYWxsYmFja3ModCxyLGEpe2lmKHQubGVuZ3RoPT09MCl0aHJvdyBuZXcgRXJyb3IoIk5vIFVSTHMgcHJvdmlkZWQgZm9yIGZhbGxiYWNrIGV4ZWN1dGlvbiIpO2xldCBpLG49W107Zm9yKGxldCBzIG9mIHQpdHJ5e2xldCBvPWF3YWl0IHRoaXMuZXhlY3V0ZShhc3luYygpPT5hd2FpdCBhKHMscikpO2lmKG8uc3RhdHVzPDQwMHx8by5zdGF0dXM+PTQwMCYmby5zdGF0dXM8NTAwJiZvLnN0YXR1cyE9PTQwOClyZXR1cm4gbztuLnB1c2gocyksaT1uZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzICR7by5zdGF0dXN9YCl9Y2F0Y2gobyl7bi5wdXNoKHMpLGk9byBpbnN0YW5jZW9mIEVycm9yP286bmV3IEVycm9yKFN0cmluZyhvKSl9dGhyb3cgbmV3IEVycm9yKGBBbGwgVVJMcyBmYWlsZWQ6ICR7bi5qb2luKCIsICIpfS4gTGFzdCBlcnJvcjogJHtpPy5tZXNzYWdlfHwiVW5rbm93biBlcnJvciJ9YCl9c2hvdWxkUmV0cnlSZXNwb25zZSh0KXtsZXQgcj10aGlzLm9wdGlvbnMucmV0cnlPbjtyZXR1cm4gdHlwZW9mIHI9PSJmdW5jdGlvbiI/cih0KTpBcnJheS5pc0FycmF5KHIpP3IuaW5jbHVkZXModC5zdGF0dXMpOiExfXNob3VsZFJldHJ5RXJyb3IodCl7aWYodCBpbnN0YW5jZW9mIFR5cGVFcnJvciYmdC5tZXNzYWdlLmluY2x1ZGVzKCJmZXRjaCIpfHx0Lm5hbWU9PT0iQWJvcnRFcnJvciJ8fHQubWVzc2FnZS5pbmNsdWRlcygidGltZW91dCIpKXJldHVybiEwO2xldCByPXRoaXMub3B0aW9ucy5yZXRyeU9uO3JldHVybiB0eXBlb2Ygcj09ImZ1bmN0aW9uIj9yKHZvaWQgMCx0KTohMX1jYWxjdWxhdGVEZWxheSh0KXtsZXQgYT0keWUodGhpcy5vcHRpb25zLmJhY2tvZmYpLmNhbGN1bGF0ZSh0LHRoaXMub3B0aW9ucy5pbml0aWFsRGVsYXksdGhpcy5vcHRpb25zLm1heERlbGF5KTtyZXR1cm4gRHllKGEpfWFzeW5jIGRlbGF5KHQpe2F3YWl0IFR0LmRlbGF5Rm9yKHQpfX19KTt2YXIgJDUsblY9ZigoKT0+e2JtKCk7JDU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmluRmxpZ2h0UmVxdWVzdHM9bmV3IE1hcH1nZW5lcmF0ZUtleSh0KXtsZXQgcj10LnVybCxhPXQubWV0aG9kO3JldHVybiBhPT09IkdFVCJ8fGE9PT0iSEVBRCI/YCR7YX06JHtyfWA6YCR7YX06JHtyfToke0RhdGUubm93KCl9YH1hc3luYyBleGVjdXRlKHQscil7bGV0IGE9dGhpcy5pbkZsaWdodFJlcXVlc3RzLmdldCh0KTtpZihhKXJldHVybntyZXNwb25zZTooYXdhaXQgYS5wcm9taXNlKS5jbG9uZSgpLHdhc0RlZHVwbGljYXRlZDohMH07bGV0IGk9SmUuZGVmZXIoKTt0aGlzLmluRmxpZ2h0UmVxdWVzdHMuc2V0KHQsaSk7dHJ5e2xldCBuPWF3YWl0IHIoKTtyZXR1cm4gaS5yZXNvbHZlKG4pLHRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5kZWxldGUodCkse3Jlc3BvbnNlOm4sd2FzRGVkdXBsaWNhdGVkOiExfX1jYXRjaChuKXt0aHJvdyBpLnJlamVjdChuKSx0aGlzLmluRmxpZ2h0UmVxdWVzdHMuZGVsZXRlKHQpLG59fWlzSW5GbGlnaHQodCl7cmV0dXJuIHRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5oYXModCl9Z2V0SW5GbGlnaHRDb3VudCgpe3JldHVybiB0aGlzLmluRmxpZ2h0UmVxdWVzdHMuc2l6ZX1jbGVhcigpe3RoaXMuaW5GbGlnaHRSZXF1ZXN0cy5jbGVhcigpfX19KTtmdW5jdGlvbiBHdnIoZSl7bGV0IHQ9bmV3IEFib3J0Q29udHJvbGxlcixyO3JldHVybiBUdC5kZWxheUZvcihlKS50aGVuKCgpPT57dC5hYm9ydCgpfSkudGhlbihpPT57cj1pfSkse2NvbnRyb2xsZXI6dCxjbGVhbnVwOigpPT57fX19YXN5bmMgZnVuY3Rpb24gc1YoZSx0LHIpe2xldHtjb250cm9sbGVyOmEsY2xlYW51cDppfT1HdnIocik7dHJ5e2xldCBuPWF3YWl0IGZldGNoKGUsey4uLnQsc2lnbmFsOmEuc2lnbmFsfSk7cmV0dXJuIGkoKSxufWNhdGNoKG4pe3Rocm93IGkoKSxuIGluc3RhbmNlb2YgRXJyb3ImJm4ubmFtZT09PSJBYm9ydEVycm9yIj9uZXcgRXJyb3IoYFJlcXVlc3QgdGltZW91dCBhZnRlciAke3J9bXM6ICR7ZX1gKTpufX12YXIgRXllPWYoKCk9PntibSgpfSk7dmFyIFczLG9WPWYoKCk9PntmaigpO3RWKCk7aVYoKTtuVigpO0V5ZSgpO1czPWNsYXNze2NvbnN0cnVjdG9yKHQ9e30pe3RoaXMuZGVmYXVsdE9wdGlvbnM9dCx0aGlzLmludGVyY2VwdG9yTWFuYWdlcj1uZXcgdjUsdGhpcy5jYWNoZU1hbmFnZXI9bmV3IF81LHRoaXMuZGVkdXBsaWNhdG9yPW5ldyAkNX1hZGRSZXF1ZXN0SW50ZXJjZXB0b3IodCl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVxdWVzdEludGVyY2VwdG9yKHQpfWFkZFJlc3BvbnNlSW50ZXJjZXB0b3IodCl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcih0KX1hZGRFcnJvckludGVyY2VwdG9yKHQpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLmFkZEVycm9ySW50ZXJjZXB0b3IodCl9cmVtb3ZlUmVxdWVzdEludGVyY2VwdG9yKHQpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlcXVlc3RJbnRlcmNlcHRvcih0KX1yZW1vdmVSZXNwb25zZUludGVyY2VwdG9yKHQpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlc3BvbnNlSW50ZXJjZXB0b3IodCl9cmVtb3ZlRXJyb3JJbnRlcmNlcHRvcih0KXt0aGlzLmludGVyY2VwdG9yTWFuYWdlci5yZW1vdmVFcnJvckludGVyY2VwdG9yKHQpfWNsZWFySW50ZXJjZXB0b3JzKCl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuY2xlYXJBbGwoKX1hc3luYyBjbGVhckNhY2hlKCl7YXdhaXQgdGhpcy5jYWNoZU1hbmFnZXIuY2xlYXIoKX1hc3luYyByZXF1ZXN0KHQscj17fSl7bGV0IGE9ey4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsLi4ucn0saTtpZih0eXBlb2YgdD09InN0cmluZyI/aT1uZXcgUmVxdWVzdCh0LGEpOmk9dCxpPWF3YWl0IHRoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3NSZXF1ZXN0KGkpLGEuaW50ZXJjZXB0b3JzPy5yZXF1ZXN0KWZvcihsZXQgcyBvZiBhLmludGVyY2VwdG9ycy5yZXF1ZXN0KWk9YXdhaXQgcyhpKTtpZihhLmRlZHVwbGljYXRlPz8hMSl7bGV0IHM9dGhpcy5kZWR1cGxpY2F0b3IuZ2VuZXJhdGVLZXkoaSk7cmV0dXJuKGF3YWl0IHRoaXMuZGVkdXBsaWNhdG9yLmV4ZWN1dGUocyxhc3luYygpPT5hd2FpdCB0aGlzLmV4ZWN1dGVSZXF1ZXN0KGksYSkpKS5yZXNwb25zZX1yZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRlUmVxdWVzdChpLGEpfWFzeW5jIGV4ZWN1dGVSZXF1ZXN0KHQscil7dHJ5e2xldCBhPXR5cGVvZiByLnJldHJ5PT0ib2JqZWN0Ij9yLnJldHJ5OnIucmV0cnk/e306dm9pZCAwLGk9YXN5bmMgbz0+e2xldCBjPXIudGltZW91dD8/NmU0O3JldHVybiBhd2FpdCBzVihvLnVybCx7bWV0aG9kOm8ubWV0aG9kLGhlYWRlcnM6by5oZWFkZXJzLGJvZHk6by5ib2R5LC4uLnJ9LGMpfSxuPWFzeW5jKG8sYyk9PntsZXQgbD1yLnRpbWVvdXQ/PzZlNDtyZXR1cm4gYXdhaXQgc1YobyxjLGwpfSxzO2lmKGEpe2xldCBvPW5ldyBMNShhKTtpZihyLmZhbGxiYWNrVXJscyYmci5mYWxsYmFja1VybHMubGVuZ3RoPjApe2xldCBjPVt0LnVybCwuLi5yLmZhbGxiYWNrVXJsc107cz1hd2FpdCBvLmV4ZWN1dGVXaXRoRmFsbGJhY2tzKGMse21ldGhvZDp0Lm1ldGhvZCxoZWFkZXJzOnQuaGVhZGVycyxib2R5OnQuYm9keSwuLi5yfSxuKX1lbHNlIHM9YXdhaXQgby5leGVjdXRlKGFzeW5jKCk9Pihhd2FpdCB0aGlzLmNhY2hlTWFuYWdlci5leGVjdXRlKHQscixpKSkucmVzcG9uc2UpfWVsc2Ugcz0oYXdhaXQgdGhpcy5jYWNoZU1hbmFnZXIuZXhlY3V0ZSh0LHIsaSkpLnJlc3BvbnNlO2lmKHM9YXdhaXQgdGhpcy5pbnRlcmNlcHRvck1hbmFnZXIucHJvY2Vzc1Jlc3BvbnNlKHMpLHIuaW50ZXJjZXB0b3JzPy5yZXNwb25zZSlmb3IobGV0IG8gb2Ygci5pbnRlcmNlcHRvcnMucmVzcG9uc2Upcz1hd2FpdCBvKHMpO3JldHVybiBzfWNhdGNoKGEpe3Rocm93IGF3YWl0IHRoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3NFcnJvcihhIGluc3RhbmNlb2YgRXJyb3I/YTpuZXcgRXJyb3IoU3RyaW5nKGEpKSl9fWFzeW5jIGdldEpzb24odCxyPXt9KXtsZXQgYT1hd2FpdCB0aGlzLnJlcXVlc3QodCx7Li4ucixtZXRob2Q6IkdFVCIsaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwuLi5yLmhlYWRlcnN8fHt9fX0pO2lmKCFhLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke2Euc3RhdHVzfTogJHthLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IGEuanNvbigpfWFzeW5jIHBvc3RKc29uKHQscixhPXt9KXtsZXQgaT1hd2FpdCB0aGlzLnJlcXVlc3QodCx7Li4uYSxtZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLmEuaGVhZGVyc3x8e319LGJvZHk6SlNPTi5zdHJpbmdpZnkocil9KTtpZighaS5vayl0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtpLnN0YXR1c306ICR7aS5zdGF0dXNUZXh0fWApO3JldHVybiBhd2FpdCBpLmpzb24oKX1hc3luYyBwdXRKc29uKHQscixhPXt9KXtsZXQgaT1hd2FpdCB0aGlzLnJlcXVlc3QodCx7Li4uYSxtZXRob2Q6IlBVVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLEFjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsLi4uYS5oZWFkZXJzfHx7fX0sYm9keTpKU09OLnN0cmluZ2lmeShyKX0pO2lmKCFpLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke2kuc3RhdHVzfTogJHtpLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IGkuanNvbigpfWFzeW5jIGRlbGV0ZUpzb24odCxyPXt9KXtsZXQgYT1hd2FpdCB0aGlzLnJlcXVlc3QodCx7Li4ucixtZXRob2Q6IkRFTEVURSIsaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwuLi5yLmhlYWRlcnN8fHt9fX0pO2lmKCFhLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke2Euc3RhdHVzfTogJHthLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IGEuanNvbigpfX19KTthc3luYyBmdW5jdGlvbiBPMShlLHQpe2xldCByPWUgaW5zdGFuY2VvZiBSZXF1ZXN0P2UudXJsOlN0cmluZyhlKSxhPWUgaW5zdGFuY2VvZiBSZXF1ZXN0P2U6bmV3IFJlcXVlc3Qocix0KTtyZXR1cm4gYXdhaXQgdW8ucmVxdWVzdChhLHQpfXZhciB1byxJeWU9ZigoKT0+e29WKCk7dW89bmV3IFczO08xLmdldEpzb249YXN5bmMgZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXdhaXQgdW8uZ2V0SnNvbihlLHQpfSxPMS5wb3N0SnNvbj1hc3luYyBmdW5jdGlvbihlLHQscil7cmV0dXJuIGF3YWl0IHVvLnBvc3RKc29uKGUsdCxyKX0sTzEucHV0SnNvbj1hc3luYyBmdW5jdGlvbihlLHQscil7cmV0dXJuIGF3YWl0IHVvLnB1dEpzb24oZSx0LHIpfSxPMS5kZWxldGVKc29uPWFzeW5jIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGF3YWl0IHVvLmRlbGV0ZUpzb24oZSx0KX0sTzEuYWRkUmVxdWVzdEludGVyY2VwdG9yPWZ1bmN0aW9uKGUpe3VvLmFkZFJlcXVlc3RJbnRlcmNlcHRvcihlKX0sTzEuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcj1mdW5jdGlvbihlKXt1by5hZGRSZXNwb25zZUludGVyY2VwdG9yKGUpfSxPMS5hZGRFcnJvckludGVyY2VwdG9yPWZ1bmN0aW9uKGUpe3VvLmFkZEVycm9ySW50ZXJjZXB0b3IoZSl9LE8xLmNsZWFySW50ZXJjZXB0b3JzPWZ1bmN0aW9uKCl7dW8uY2xlYXJJbnRlcmNlcHRvcnMoKX0sTzEuY2xlYXJDYWNoZT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IHVvLmNsZWFyQ2FjaGUoKX0sTzEuY3JlYXRlQ2xpZW50PWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVzMoZSl9LE8xLmdldERlZmF1bHRDbGllbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdW99fSk7dmFyIHltPXt9O1JlKHltLHtDYWNoZU1hbmFnZXI6KCk9Pl81LENhY2hlU3RvcmU6KCk9PlQ1LEludGVyY2VwdG9yTWFuYWdlcjooKT0+djUsUmVxdWVzdERlZHVwbGljYXRvcjooKT0+JDUsUmV0cnlNYW5hZ2VyOigpPT5MNSxXZWJyZXF1ZXN0Q2xpZW50OigpPT5XMyxjcmVhdGVDb25kaXRpb25hbEhlYWRlcnM6KCk9PlNNLGV4dHJhY3RDYWNoZU1ldGFkYXRhOigpPT5mMixoZWFkZXJzVG9PYmplY3Q6KCk9PnpNLGlzRnJlc2g6KCk9PnZtLG9iamVjdFRvSGVhZGVyczooKT0+VHllLHJlcXVpcmVzUmV2YWxpZGF0aW9uOigpPT54bSx3ZWJyZXF1ZXN0OigpPT5PMX0pO3ZhciBQeWU9ZigoKT0+e0l5ZSgpO29WKCk7dFYoKTtrTSgpO2lWKCk7ZmooKTtuVigpO0NNKCl9KTt2YXIgXzAsTDA9ZigoKT0+e3poKCk7XzA9c3IoWHYoKSwxKTtLaCgpO294ZSgpO3QyKCk7bHhlKCk7bG4oKTtQeWUoKX0pO3ZhciBJbCx3bT1mKCgpPT57TDAoKTtJbD1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIpe3RoaXMuZXJyb3JUZXh0PXQsdGhpcy5lcnJvckRhdGE9cn19fSk7dmFyICRNLE55ZT1mKCgpPT57d20oKTtMMCgpOyRNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5sb2NhbERhdGE9e319YXN5bmMgcGFzc0d1YXJkcyh0LHIpe2xldCBhPW5ldyBsbS5HdWFyZFNldCh0KTtpZighYXdhaXQgYS5hbGxHdWFyZHNQYXNzKHIpKXtsZXQgbj1hd2FpdCBhLmdldEZhaWxlZEhpbnQocik7dGhyb3cgbmV3IElsKGBndWFyZCBmYWlsZWQ6ICR7bn1gLHtmYWlsZWRIaW50Om59KX19fX0pO3ZhciBsVixjVj1mKCgpPT57TDAoKTt3bSgpO055ZSgpO2xWPWNsYXNze2NvbnN0cnVjdG9yKHQscil7dGhpcy5tZXRob2Q9dCx0aGlzLmhhbmRsZXJGdW5jdGlvbj1yfWFzeW5jIGFkZFJlc3BvbnNlKHQpe2lmKHQubWV0aG9kIT09dGhpcy5tZXRob2QpdGhyb3cgbmV3IEVycm9yKCJ0aGlzIGhhbmRsZXIgaGFzIGJlZW4gZ2l2ZW4gYSB3cm9uZyBtZXRob2QgdG8gYW5zd2VyIHRvLiBQbGVhc2UgdXNlIGEgVHlwZWRSb3V0ZXIgdG8gZmlsdGVyIHJlcXVlc3RzIik7bGV0IHIsYT1uZXcgJE07dC5sb2NhbERhdGEmJihhLmxvY2FsRGF0YT10LmxvY2FsRGF0YSk7bGV0IGk9YXdhaXQgdGhpcy5oYW5kbGVyRnVuY3Rpb24odC5yZXF1ZXN0LGEpLmNhdGNoKG49PntuIGluc3RhbmNlb2YgSWw/cj1uOmNvbnNvbGUubG9nKG4pfSk7cmV0dXJuIHImJih0LmVycm9yPXt0ZXh0OnIuZXJyb3JUZXh0LGRhdGE6ci5lcnJvckRhdGF9KSxpJiYodC5yZXNwb25zZT1pKSx0Py5jb3JyZWxhdGlvbj8ucGhhc2UmJih0LmNvcnJlbGF0aW9uLnBoYXNlPSJyZXNwb25zZSIpLHR9fX0pO3ZhciBHMyxNbT1mKCgpPT57TDAoKTtETSgpO2NWKCk7ZFYoKTtHMz1jbGFzcyBle2NvbnN0cnVjdG9yKCl7dGhpcy5ob29rcz17fSx0aGlzLnJvdXRlck1hcD1uZXcgdWkuT2JqZWN0TWFwLHRoaXMuaGFuZGxlck1hcD1uZXcgdWkuT2JqZWN0TWFwLHRoaXMucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zPW5ldyB1aS5PYmplY3RNYXAsdGhpcy5maXJlRXZlbnRJbnRlcmVzdE1hcD1uZXcgdWkuSW50ZXJlc3RNYXAodD0+dCl9c3RhdGljIGdldCBnbG9iYWxIb29rcygpe3JldHVybiBnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rc3x8KGdsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzPXt9KSxnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rc31zdGF0aWMgc2V0IGdsb2JhbEhvb2tzKHQpe2dsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzPXR9c3RhdGljIHNldEdsb2JhbEhvb2tzKHQpe2xldCByPWUuZ2xvYmFsSG9va3M7ZS5nbG9iYWxIb29rcz17Li4uciwuLi50fX1zdGF0aWMgY2xlYXJHbG9iYWxIb29rcygpe2dsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzPXt9fXNldEhvb2tzKHQpe3RoaXMuaG9va3M9ey4uLnRoaXMuaG9va3MsLi4udH19Y2FsbEhvb2sodCxyKXt0cnl7ZS5nbG9iYWxIb29rc1t0XT8uKHIpLHRoaXMuaG9va3NbdF0/LihyKX1jYXRjaChhKXtjb25zb2xlLmVycm9yKGBUeXBlZFJvdXRlciBob29rIGVycm9yICgke3R9KTpgLGEpfX1hZGRUeXBlZEhhbmRsZXIodCl7aWYodGhpcy5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QodC5tZXRob2QpKXRocm93IG5ldyBFcnJvcihgYSBUeXBlZEhhbmRsZXIgZm9yICR7dC5tZXRob2R9IGFscmVkeSBleGlzdHMhIENhbid0IGFkZCBhbm90aGVyIG9uZS5gKTt0aGlzLmhhbmRsZXJNYXAuYWRkKHQpfWFkZFR5cGVkUm91dGVyKHQpe3RoaXMucm91dGVyTWFwLmZpbmRTeW5jKGE9PmE9PT10KXx8KHRoaXMucm91dGVyTWFwLmFkZCh0KSx0LmFkZFR5cGVkUm91dGVyKHRoaXMpKX1jaGVja0ZvclR5cGVkSGFuZGxlcih0KXtyZXR1cm4hIXRoaXMuZ2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKHQpfWdldFR5cGVkSGFuZGxlckZvck1ldGhvZCh0LHI9W10pe3IucHVzaCh0aGlzKTtsZXQgYTtyZXR1cm4gYT10aGlzLmhhbmRsZXJNYXAuZmluZFN5bmMoaT0+aS5tZXRob2Q9PT10KSxhfHx0aGlzLnJvdXRlck1hcC5nZXRBcnJheSgpLmZvckVhY2goaT0+eyFhJiYhci5pbmNsdWRlcyhpKSYmKGE9aS5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QodCxyKSl9KSxhfXN0YXRpY3t0aGlzLmRlZmF1bHRSb3V0ZU9wdGlvbnM9e2xvY2FsUmVxdWVzdDohMSxza2lwSG9va3M6ITF9fWFzeW5jIHJvdXRlQW5kQWRkUmVzcG9uc2UodCxyPXt9KXtsZXQgYT17Li4uZS5kZWZhdWx0Um91dGVPcHRpb25zLC4uLnJ9O2lmKHQ9aDIuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKHQse3R5cGVkcm91dGVyOnRoaXN9KSx0LmxvY2FsRGF0YT10LmxvY2FsRGF0YXx8e30sdC5sb2NhbERhdGEuZmlyc3RUeXBlZHJvdXRlcj10aGlzLHQubWV0aG9kPT09IiMjVmlydHVhbFN0cmVhbSMjIil7bGV0IGk9YXdhaXQgdGhpcy5oYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QodCk7cmV0dXJuIGkubG9jYWxEYXRhPW51bGwsaX1pZih0Py5jb3JyZWxhdGlvbj8ucGhhc2U9PT0icmVxdWVzdCJ8fGEubG9jYWxSZXF1ZXN0KXtsZXQgaT1EYXRlLm5vdygpO2Euc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVxdWVzdCIse2NvcnJlbGF0aW9uSWQ6dC5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6dC5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlcXVlc3QiLHRpbWVzdGFtcDppLHBheWxvYWQ6dC5yZXF1ZXN0fSk7bGV0IG49dGhpcy5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QodC5tZXRob2QpO3JldHVybiBuPyh0PWF3YWl0IG4uYWRkUmVzcG9uc2UodCksdC5sb2NhbERhdGE9bnVsbCx0PWgyLmVuY29kZVBheWxvYWRGb3JOZXR3b3JrKHQse3R5cGVkcm91dGVyOnRoaXN9KSxhLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25PdXRnb2luZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDp0LmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDp0Lm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLGR1cmF0aW9uTXM6RGF0ZS5ub3coKS1pLHBheWxvYWQ6dC5yZXNwb25zZSxlcnJvcjp0LmVycm9yPy50ZXh0fSksdCk6KGNvbnNvbGUubG9nKGBDYW5ub3QgZmluZCBoYW5kbGVyIGZvciBtZXRob2RuYW1lICR7dC5tZXRob2R9YCksdC5lcnJvcj17dGV4dDoiVGhlcmUgaXMgbm8gYXZhaWxhYmxlIG1ldGhvZCBmb3IgdGhpcyBjYWxsIG9uIHRoZSBzZXJ2ZXIgc2lkZSIsZGF0YTp7fX0sdC5jb3JyZWxhdGlvbi5waGFzZT0icmVzcG9uc2UiLHQubG9jYWxEYXRhPW51bGwsdD1oMi5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayh0LHt0eXBlZHJvdXRlcjp0aGlzfSksYS5za2lwSG9va3N8fHRoaXMuY2FsbEhvb2soIm9uT3V0Z29pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6dC5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6dC5tZXRob2QsZGlyZWN0aW9uOiJvdXRnb2luZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktaSxwYXlsb2FkOnQucmVzcG9uc2UsZXJyb3I6dC5lcnJvcj8udGV4dH0pLHQpfWVsc2UgcmV0dXJuIHQ/LmNvcnJlbGF0aW9uPy5waGFzZT09PSJyZXNwb25zZSI/KGEuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOnQuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOnQubWV0aG9kLGRpcmVjdGlvbjoiaW5jb21pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCkscGF5bG9hZDp0LnJlc3BvbnNlLGVycm9yOnQuZXJyb3I/LnRleHR9KSx0aGlzLmZpcmVFdmVudEludGVyZXN0TWFwLmZpbmRJbnRlcmVzdCh0LmNvcnJlbGF0aW9uLmlkKT8uZnVsbGZpbGxJbnRlcmVzdCh0KSxudWxsKTooY29uc29sZS5sb2coInJlY2VpdmVkIHdlaXJkbHkgc2hhcGVkIHJlcXVlc3QiKSxjb25zb2xlLmxvZyh0KSxudWxsKX1hc3luYyBoYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QodCl7bGV0IHI9YXdhaXQgdGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZmluZChhc3luYyBpPT5pLnN0cmVhbUlkPT09dC5yZXF1ZXN0LnN0cmVhbUlkKTtpZihyKWNvbnNvbGUubG9nKGBzdWNjZXNzOiBmb3VuZCByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSB3aXRoIGlkICR7dC5yZXF1ZXN0LnN0cmVhbUlkfWApO2Vsc2UgcmV0dXJuIGNvbnNvbGUubG9nKGBubyByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSBmb3VuZCBmb3Igc3RyZWFtIHdpdGggaWQgJHt0LnJlcXVlc3Quc3RyZWFtSWR9YCksY29uc29sZS5sb2codGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZ2V0QXJyYXkoKSksdDtyZXR1cm4gYXdhaXQgci5oYW5kbGVTdHJlYW1Ucih0KX19fSk7dmFyIEZ5ZSxoMixETT1mKCgpPT57TDAoKTtNbSgpO0Z5ZT0iIyMjIyMjIyMjIyMjI0NMT1NJTkcgQklUIyMjIyMjIyMjIyMjIyIsaDI9Y2xhc3MgZXtzdGF0aWMgZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsodCxyLGEsaT1bXSl7cmV0dXJuIXR8fGI1LmlzQnVmZmVyTGlrZSh0KT90OnQgaW5zdGFuY2VvZiBlPyghdC5zaWRlJiZyLnNlbmRNZXRob2QmJih0LnNpZGU9InJlcXVlc3RpbmciLHQuc2VuZE1ldGhvZD1yLnNlbmRNZXRob2QpLCF0LnNpZGUmJnIudHlwZWRyb3V0ZXImJih0LnNpZGU9InJlc3BvbmRpbmciLHQudHlwZWRyb3V0ZXI9ci50eXBlZHJvdXRlcixyLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5hZGQodCkpLCFhLnJlc3BvbnNlfHxpLmluY2x1ZGVzKCJyZXNwb25zZSIpPyh0LnN0YXJ0S2VlcEFsaXZlTG9vcCgpLHtfaXNWaXJ0dWFsU3RyZWFtOiEwLHN0cmVhbUlkOnQuc3RyZWFtSWR9KTp7X09CTUlUVEVEX1ZJUlRVQUxfU1RSRUFNOiEwLHJlYXNvbjoicGF0aCBpcyB1bmRlciAucmVxdWVzdDogb2JtaXR0ZWQgZm9yIGRlZHVwbGljYXRpb24gcmVhc29ucyBpbiByZXNwb25zZSBjeWNsZS4ifSk6QXJyYXkuaXNBcnJheSh0KT90Lm1hcCgobixzKT0+ZS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhuLHIsYXx8dCxpLmNvbmNhdChTdHJpbmcocykpKSk6dCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0Ij9PYmplY3QuZW50cmllcyh0KS5yZWR1Y2UoKG4sW3Msb10pPT57bGV0IGM9aS5jb25jYXQocyk7cmV0dXJuIG5bc109ZS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhvLHIsYXx8dCxjKSxufSx7fSk6dH1zdGF0aWMgZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKHQscil7aWYoYjUuaXNCdWZmZXJMaWtlKHQpfHx0IGluc3RhbmNlb2YgRzMpcmV0dXJuIHQ7aWYodCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0Iil7aWYodCBpbnN0YW5jZW9mIFNldHx8dCBpbnN0YW5jZW9mIE1hcHx8dCBpbnN0YW5jZW9mIERhdGV8fHQgaW5zdGFuY2VvZiBSZWdFeHB8fHQgaW5zdGFuY2VvZiBFcnJvcnx8dCBpbnN0YW5jZW9mIFByb21pc2V8fHR5cGVvZiB0LnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIHQ7aWYodC5faXNWaXJ0dWFsU3RyZWFtKXtsZXQgYT1uZXcgZTtyZXR1cm4gYS5zdHJlYW1JZD10LnN0cmVhbUlkLCFhLnNpZGUmJnIuc2VuZE1ldGhvZCYmKGEuc2lkZT0icmVxdWVzdGluZyIsYS5zZW5kTWV0aG9kPXIuc2VuZE1ldGhvZCksIWEuc2lkZSYmci50eXBlZHJvdXRlciYmKGEuc2lkZT0icmVzcG9uZGluZyIsYS50eXBlZHJvdXRlcj1yLnR5cGVkcm91dGVyLHIudHlwZWRyb3V0ZXIucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zLmFkZChhKSksYS5zdGFydEtlZXBBbGl2ZUxvb3AoKSxhfWVsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7bGV0IGE9W107Zm9yKGxldCBpIG9mIHQpYS5wdXNoKGUuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGkscikpO3JldHVybiBhfWVsc2UgcmV0dXJuIE9iamVjdC5rZXlzKHQpLnJlZHVjZSgoYSxpKT0+KGFbaV09ZS5kZWNvZGVQYXlsb2FkRnJvbU5ldHdvcmsodFtpXSxyKSxhKSx7fSl9ZWxzZSByZXR1cm4gdH1jb25zdHJ1Y3Rvcigpe3RoaXMuc3RyZWFtSWQ9XzAudW5pKCksdGhpcy5rZWVwQWxpdmU9ITAsdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5PW5ldyB1aS5CYWNrcHJlc3N1cmVkQXJyYXkoMTYpLHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheT1uZXcgdWkuQmFja3ByZXNzdXJlZEFycmF5KDE2KX1hc3luYyB3b3JrT25RdWV1ZSgpe2lmKHRoaXMud29ya2luZ0RlZmVycmVkKXJldHVybiB0aGlzLndvcmtpbmdEZWZlcnJlZC5wcm9taXNlO2lmKHRoaXMud29ya2luZ0RlZmVycmVkPUplLmRlZmVyKCksdGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtsZXQgdD0hdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKSxyPSExLGE9ITEsaT1hc3luYygpPT57bGV0IG49YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6XzAudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9LHJlc3BvbnNlOm51bGx9KS5jYXRjaCgoKT0+e2NvbnNvbGUubG9nKCJzdHJlYW0gZW5kZWQgaW1tYXR1cmVseSIpLHRoaXMua2VlcEFsaXZlPSExfSk7biYmbi5yZXNwb25zZSYmKGE9bi5yZXNwb25zZS5iYWNrcHJlc3N1cmUscj1uLnJlc3BvbnNlLm5leHQpfTtmb3IoYXdhaXQgaSgpO3RoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wfHxyOyl7aWYoYSlmb3IoO2E7KWNvbnNvbGUubG9nKCJ3YWl0aW5nIGZvciBmZWVkYmFjayBiZWNhdXNlIG9mIGJhY2twcmVzc3VyZS4uLiIpLGF3YWl0IFR0LmRlbGF5Rm9yKDUwKSxhd2FpdCBpKCk7bGV0IG47dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJihuPXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpKTtsZXQgcztzPWF3YWl0IHRoaXMuc2VuZE1ldGhvZCh7bWV0aG9kOiIjI1ZpcnR1YWxTdHJlYW0jIyIscmVxdWVzdDp7c3RyZWFtSWQ6dGhpcy5zdHJlYW1JZCxjeWNsZUlkOl8wLnVuaSgpLGN5Y2xlOiJyZXF1ZXN0IixtYWluUHVycG9zZTpuPyJjaHVuayI6InJlYWQiLGJhY2twcmVzc3VyZTp0LG5leHQ6dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAsLi4ubj97Y2h1bmtEYXRhOm59Ont9fSxyZXNwb25zZTpudWxsfSkuY2F0Y2goKCk9Pihjb25zb2xlLmxvZygic3RyZWFtIGVuZGVkIGltbWF0dXJlbHkiKSx0aGlzLmtlZXBBbGl2ZT0hMSxudWxsKSkscyYmcy5yZXNwb25zZSYmcy5yZXNwb25zZS5jaHVua0RhdGEmJnRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5wdXNoKHMucmVzcG9uc2UuY2h1bmtEYXRhKSxhPXMmJnMucmVzcG9uc2UmJnMucmVzcG9uc2UuYmFja3ByZXNzdXJlLHQ9IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCkscj1zJiZzLnJlc3BvbnNlJiZzLnJlc3BvbnNlLm5leHR9fXRoaXMud29ya2luZ0RlZmVycmVkLnJlc29sdmUoKSx0aGlzLndvcmtpbmdEZWZlcnJlZD1udWxsfWFzeW5jIGhhbmRsZVN0cmVhbVRyKHQpe2lmKHQucmVxdWVzdC5rZWVwQWxpdmU9PT0hMCYmdGhpcy5rZWVwQWxpdmU9PT0hMD90aGlzLmxhc3RLZWVwQWxpdmVFdmVudD1EYXRlLm5vdygpOnQucmVxdWVzdC5rZWVwQWxpdmU9PT0hMSYmKHRoaXMua2VlcEFsaXZlPSExKSx0LnJlcXVlc3QubWFpblB1cnBvc2U9PT0ia2VlcEFsaXZlIiYmKHQucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDp0LnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZSxuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0pLHQucmVxdWVzdC5tYWluUHVycG9zZT09PSJmZWVkYmFjayImJih0LnJlc3BvbnNlPXtzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6dC5yZXF1ZXN0LmN5Y2xlSWQsY3ljbGU6InJlc3BvbnNlIixtYWluUHVycG9zZToiZmVlZGJhY2siLG5leHQ6dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAsYmFja3ByZXNzdXJlOiF0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuY2hlY2tTcGFjZUF2YWlsYWJsZSgpfSksdC5yZXF1ZXN0Lm1haW5QdXJwb3NlPT09ImNodW5rIil7aWYodGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LnB1c2godC5yZXF1ZXN0LmNodW5rRGF0YSksdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJnQucmVzcG9uc2UuYmFja3ByZXNzdXJlPT09ITEpe2xldCByPXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpO3QucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDp0LnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJjaHVuayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MSxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCksY2h1bmtEYXRhOnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpfX1lbHNlIHQucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDp0LnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9O3QucmVxdWVzdD1udWxsfXJldHVybiB0fWFzeW5jIGNsZWFudXAoKXt0aGlzLnR5cGVkcm91dGVyJiZ0aGlzLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5yZW1vdmUodGhpcyl9YXN5bmMgc3RhcnRLZWVwQWxpdmVMb29wKCl7aWYodGhpcy5zaWRlPT09InJlc3BvbmRpbmciKXJldHVybjthd2FpdCBUdC5kZWxheUZvcigwKSxjb25zb2xlLmxvZyhgc3RhcnRpbmcga2VlcGFsaXZlIGxvb3Agb24gc2lkZSAke3RoaXMuc2lkZX1gKTtsZXQgdD0wO2Zvcig7dGhpcy5rZWVwQWxpdmU7KWF3YWl0IHRoaXMudHJpZ2dlcktlZXBBbGl2ZSgpLGF3YWl0IFR0LmRlbGF5Rm9yKDFlMyk7YXdhaXQgVHQuZGVsYXlGb3IoMWUzKSxhd2FpdCB0aGlzLmNsZWFudXAoKSxjb25zb2xlLmxvZyhgY2xlYW5lZCB1cCBmb3Igc3RyZWFtICR7dGhpcy5zdHJlYW1JZH1gKX1hc3luYyB0cmlnZ2VyS2VlcEFsaXZlKCl7aWYodGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtjb25zb2xlLmxvZygia2VlcGFsaXZlIHNlbnQuIik7bGV0IHQ9YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6XzAudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57dGhpcy5rZWVwQWxpdmU9ITF9KTt0JiZ0LnJlc3BvbnNlJiZ0LnJlc3BvbnNlLmtlZXBBbGl2ZT09PSExP3RoaXMua2VlcEFsaXZlPSExOnRoaXMubGFzdEtlZXBBbGl2ZUV2ZW50PURhdGUubm93KCksdCYmdC5yZXNwb25zZSYmdC5yZXNwb25zZS5uZXh0JiZ0aGlzLndvcmtPblF1ZXVlKCl9RGF0ZS5ub3coKS10aGlzLmxhc3RLZWVwQWxpdmVFdmVudD4xZTQmJihjb25zb2xlLmxvZyhgY2xvc2luZyBzdHJlYW0gZm9yICR7dGhpcy5zdHJlYW1JZH1gKSx0aGlzLmtlZXBBbGl2ZT0hMSl9YXN5bmMgc2VuZERhdGEodCl7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnB1c2godCksdGhpcy53b3JrT25RdWV1ZSgpLGF3YWl0IHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9yU3BhY2UoKX1hc3luYyBmZXRjaERhdGEoKXtyZXR1cm4gdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5Lmhhc1NwYWNlLGF3YWl0IHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9ySXRlbXMoKSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuc2hpZnQoKX1hc3luYyByZWFkRnJvbVdlYnN0cmVhbSh0LHI9ITApe2xldCBhPXQuZ2V0UmVhZGVyKCksaT0hMTtmb3IoOyFpOyl7bGV0e3ZhbHVlOm4sZG9uZTpzfT1hd2FpdCBhLnJlYWQoKTtuJiZhd2FpdCB0aGlzLnNlbmREYXRhKG4pLGk9c31yJiZhd2FpdCB0aGlzLmNsb3NlKCEwKX1hc3luYyB3cml0ZVRvV2Vic3RyZWFtKHQpe2xldCByPXQuZ2V0V3JpdGVyKCk7Zm9yKDt0aGlzLmtlZXBBbGl2ZXx8dGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrSGFzSXRlbXMoKTspe2xldCBhPWF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7aWYoYT09PUZ5ZSl7ci5yZWxlYXNlTG9jaygpLGF3YWl0IHQuY2xvc2UoKTticmVha31hd2FpdCByLndyaXRlKGEpfX1hc3luYyBjbG9zZSh0PSExKXt0JiZ0aGlzLnNlbmREYXRhKEZ5ZSksdGhpcy5rZWVwQWxpdmU9ITF9fX0pO3ZhciB1VixwVj1mKCgpPT57TW0oKTtMMCgpO3VWPWNsYXNze2NvbnN0cnVjdG9yKHQpe2lmKHQucG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlciYmIXQudHlwZWRSb3V0ZXJSZWYpdGhyb3cgbmV3IEVycm9yKCJ5b3UgaGF2ZSB0byBzcGVjaWZ5IGEgdHlwZWRyb3V0ZXIgd2hlbiB1c2luZyBwb3N0bWV0aG9kIHdpdGggdHlwZWRyb3V0ZXIiKTt0aGlzLm9wdGlvbnM9dH1hc3luYyBwb3N0KHQpe2xldCByO3RoaXMub3B0aW9ucy50eXBlZFJvdXRlclJlZiYmKHI9YXdhaXQgdGhpcy5vcHRpb25zLnR5cGVkUm91dGVyUmVmLmZpcmVFdmVudEludGVyZXN0TWFwLmFkZEludGVyZXN0KHQuY29ycmVsYXRpb24uaWQsdCkpO2xldCBpPWF3YWl0KHRoaXMub3B0aW9ucy5wb3N0TWV0aG9kfHx0aGlzLm9wdGlvbnMucG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlcikodCksbjtyZXR1cm4gcj9uPWF3YWl0IHIuaW50ZXJlc3RGdWxsZmlsbGVkOmk/bj1pOm49dCxufX19KTtmdW5jdGlvbiBPeWUoZSx0KXt0cnl7RzMuZ2xvYmFsSG9va3NbZV0/Lih0KX1jYXRjaChyKXtjb25zb2xlLmVycm9yKGBUeXBlZFJlcXVlc3QgaG9vayBlcnJvciAoJHtlfSk6YCxyKX19dmFyIFl2cixrbSxkVj1mKCgpPT57TDAoKTtETSgpO3dtKCk7TW0oKTtwVigpO1l2cj1uZXcgeW0uV2VicmVxdWVzdENsaWVudDtrbT1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIpe3RoaXMuc2tpcEhvb2tzPSExLHR5cGVvZiB0PT0ic3RyaW5nIj90aGlzLnVybEVuZFBvaW50PXQ6dGhpcy50eXBlZFRhcmdldD10LHRoaXMubWV0aG9kPXJ9YXN5bmMgZmlyZSh0LHI9ITEpe2xldCBhPURhdGUubm93KCksaT17bWV0aG9kOnRoaXMubWV0aG9kLHJlcXVlc3Q6dCxyZXNwb25zZTpudWxsLGNvcnJlbGF0aW9uOntpZDpfMC51bmkoKSxwaGFzZToicmVxdWVzdCJ9fTtpPWgyLmVuY29kZVBheWxvYWRGb3JOZXR3b3JrKGkse3NlbmRNZXRob2Q6cz0+dGhpcy5wb3N0VHJPYmplY3Qocyl9KSx0aGlzLnNraXBIb29rc3x8T3llKCJvbk91dGdvaW5nUmVxdWVzdCIse2NvcnJlbGF0aW9uSWQ6aS5jb3JyZWxhdGlvbi5pZCxtZXRob2Q6dGhpcy5tZXRob2QsZGlyZWN0aW9uOiJvdXRnb2luZyIscGhhc2U6InJlcXVlc3QiLHRpbWVzdGFtcDphLHBheWxvYWQ6dH0pO2xldCBuO3JldHVybiBuPWF3YWl0IHRoaXMucG9zdFRyT2JqZWN0KGksciksbj1oMi5kZWNvZGVQYXlsb2FkRnJvbU5ldHdvcmsobix7c2VuZE1ldGhvZDpzPT50aGlzLnBvc3RUck9iamVjdChzKX0pLHRoaXMuc2tpcEhvb2tzfHxPeWUoIm9uSW5jb21pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6aS5jb3JyZWxhdGlvbi5pZCxtZXRob2Q6dGhpcy5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktYSxwYXlsb2FkOm4/LnJlc3BvbnNlLGVycm9yOm4/LmVycm9yPy50ZXh0fSksbi5yZXNwb25zZX1hc3luYyBwb3N0VHJPYmplY3QodCxyPSExKXtsZXQgYTtpZih0aGlzLnVybEVuZFBvaW50P2E9YXdhaXQgWXZyLnBvc3RKc29uKHRoaXMudXJsRW5kUG9pbnQsdCxyP3tjYWNoZVN0cmF0ZWd5OiJjYWNoZS1maXJzdCJ9Ont9KTphPWF3YWl0IHRoaXMudHlwZWRUYXJnZXQucG9zdCh0KSxhLmVycm9yKXtpZihjb25zb2xlLmVycm9yKGBtZXRob2Q6ID4+JHt0aGlzLm1ldGhvZH08PCBnb3QgYW4gRVJST1I6ICIke2EuZXJyb3IudGV4dH0iIHdpdGggZGF0YSAke0pTT04uc3RyaW5naWZ5KGEuZXJyb3IuZGF0YSxudWxsLDIpfWApLCFhLnJldHJ5KXRocm93IG5ldyBJbChhLmVycm9yLnRleHQsYS5lcnJvci5kYXRhKTtyZXR1cm4gbnVsbH1yZXR1cm4gYS5yZXRyeSYmKGNvbnNvbGUubG9nKGBzZXJ2ZXIgcmVxdWVzdGVkIHJldHJ5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbjogJHthLnJldHJ5LnJlYXNvbn1gKSxhd2FpdCBUdC5kZWxheUZvcihhLnJldHJ5LndhaXRGb3JNcyksYT1hd2FpdCB0aGlzLnBvc3RUck9iamVjdCh0LHIpKSxhfX19KTt2YXIgVW49e307UmUoVW4se1R5cGVkSGFuZGxlcjooKT0+bFYsVHlwZWRSZXF1ZXN0OigpPT5rbSxUeXBlZFJlc3BvbnNlRXJyb3I6KCk9PklsLFR5cGVkUm91dGVyOigpPT5HMyxUeXBlZFRhcmdldDooKT0+dVYsVmlydHVhbFN0cmVhbTooKT0+aDJ9KTt2YXIgU209ZigoKT0+e2RWKCk7Y1YoKTtNbSgpO3dtKCk7cFYoKTtETSgpfSk7ZnVuY3Rpb24gUnllKGUpe3JldHVybiBlJiZ0eXBlb2YgZS50aGVuPT0iZnVuY3Rpb24ifWZ1bmN0aW9uIG0yKGUsdCl7cmV0dXJuIGV8fChlPTApLG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHIodCl9LGUpfSl9ZnVuY3Rpb24gcXllKGUsdCl7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoodC1lKzEpK2UpfWZ1bmN0aW9uIFBsKCl7cmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKX1mdW5jdGlvbiBObCgpe3ZhciBlPURhdGUubm93KCkqMWUzO3JldHVybiBlPD1mViYmKGU9ZlYrMSksZlY9ZSxlfWZ1bmN0aW9uIGp5ZSgpe3JldHVybiB0eXBlb2YgbmF2aWdhdG9yPCJ1IiYmdHlwZW9mIG5hdmlnYXRvci5sb2NrczwidSImJnR5cGVvZiBuYXZpZ2F0b3IubG9ja3MucmVxdWVzdD09ImZ1bmN0aW9uIn12YXIgQnllLEh5ZSxSMSxmViwkMD1mKCgpPT57QnllPVByb21pc2UucmVzb2x2ZSghMSksSHllPVByb21pc2UucmVzb2x2ZSghMCksUjE9UHJvbWlzZS5yZXNvbHZlKCk7ZlY9MH0pO2Z1bmN0aW9uIFF2cihlKXt2YXIgdD17dGltZTpObCgpLG1lc3NhZ2VzQ2FsbGJhY2s6bnVsbCxiYzpuZXcgQnJvYWRjYXN0Q2hhbm5lbChlKSxzdWJGbnM6W119O3JldHVybiB0LmJjLm9ubWVzc2FnZT1mdW5jdGlvbihyKXt0Lm1lc3NhZ2VzQ2FsbGJhY2smJnQubWVzc2FnZXNDYWxsYmFjayhyLmRhdGEpfSx0fWZ1bmN0aW9uIEp2cihlKXtlLmJjLmNsb3NlKCksZS5zdWJGbnM9W119ZnVuY3Rpb24gS3ZyKGUsdCl7dHJ5e3JldHVybiBlLmJjLnBvc3RNZXNzYWdlKHQsITEpLFIxfWNhdGNoKHIpe3JldHVybiBQcm9taXNlLnJlamVjdChyKX19ZnVuY3Rpb24gZXhyKGUsdCl7ZS5tZXNzYWdlc0NhbGxiYWNrPXR9ZnVuY3Rpb24gdHhyKCl7aWYodHlwZW9mIGdsb2JhbFRoaXM8InUiJiZnbG9iYWxUaGlzLkRlbm8mJmdsb2JhbFRoaXMuRGVuby5hcmdzKXJldHVybiEwO2lmKCh0eXBlb2Ygd2luZG93PCJ1Inx8dHlwZW9mIHNlbGY8InUiKSYmdHlwZW9mIEJyb2FkY2FzdENoYW5uZWw9PSJmdW5jdGlvbiIpe2lmKEJyb2FkY2FzdENoYW5uZWwuX3B1YmtleSl0aHJvdyBuZXcgRXJyb3IoIkJyb2FkY2FzdENoYW5uZWw6IERvIG5vdCBvdmVyd3JpdGUgd2luZG93LkJyb2FkY2FzdENoYW5uZWwgd2l0aCB0aGlzIG1vZHVsZSwgdGhpcyBpcyBub3QgYSBwb2x5ZmlsbCIpO3JldHVybiEwfWVsc2UgcmV0dXJuITF9ZnVuY3Rpb24gcnhyKCl7cmV0dXJuIDE1MH12YXIgWnZyLFh2cixWeWUsVXllPWYoKCk9PnskMCgpO1p2cj1ObCxYdnI9Im5hdGl2ZSI7VnllPXtjcmVhdGU6UXZyLGNsb3NlOkp2cixvbk1lc3NhZ2U6ZXhyLHBvc3RNZXNzYWdlOkt2cixjYW5CZVVzZWQ6dHhyLHR5cGU6WHZyLGF2ZXJhZ2VSZXNwb25zZVRpbWU6cnhyLG1pY3JvU2Vjb25kczpadnJ9fSk7ZnVuY3Rpb24gYXhyKGUpe2xldCB0PWhWKCktZS50dGwscj1lLm1hcFtTeW1ib2wuaXRlcmF0b3JdKCk7Zm9yKDs7KXtsZXQgYT1yLm5leHQoKS52YWx1ZTtpZighYSlicmVhaztsZXQgaT1hWzBdO2lmKGFbMV08dCllLm1hcC5kZWxldGUoaSk7ZWxzZSBicmVha319ZnVuY3Rpb24gaFYoKXtyZXR1cm4gRGF0ZS5ub3coKX12YXIgRDUsbVY9ZigoKT0+e0Q1PWNsYXNze3R0bDttYXA9bmV3IE1hcDtfdG89ITE7Y29uc3RydWN0b3IodCl7dGhpcy50dGw9dH1oYXModCl7bGV0IHI9dGhpcy5tYXAuZ2V0KHQpO3JldHVybiB0eXBlb2Ygcj4idSI/ITE6cjxoVigpLXRoaXMudHRsPyh0aGlzLm1hcC5kZWxldGUodCksITEpOiEwfWFkZCh0KXt0aGlzLm1hcC5kZWxldGUodCksdGhpcy5tYXAuc2V0KHQsaFYoKSksdGhpcy5fdG98fCh0aGlzLl90bz0hMCxzZXRUaW1lb3V0KCgpPT57dGhpcy5fdG89ITEsYXhyKHRoaXMpfSwwKSl9Y2xlYXIoKXt0aGlzLm1hcC5jbGVhcigpfX19KTtmdW5jdGlvbiBZMygpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dm9pZCAwP2FyZ3VtZW50c1swXTp7fSx0PUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZSkpO3JldHVybiB0eXBlb2YgdC53ZWJXb3JrZXJTdXBwb3J0PiJ1IiYmKHQud2ViV29ya2VyU3VwcG9ydD0hMCksdC5pZGJ8fCh0LmlkYj17fSksdC5pZGIudHRsfHwodC5pZGIudHRsPTFlMyo0NSksdC5pZGIuZmFsbGJhY2tJbnRlcnZhbHx8KHQuaWRiLmZhbGxiYWNrSW50ZXJ2YWw9MTUwKSxlLmlkYiYmdHlwZW9mIGUuaWRiLm9uY2xvc2U9PSJmdW5jdGlvbiImJih0LmlkYi5vbmNsb3NlPWUuaWRiLm9uY2xvc2UpLHQubG9jYWxzdG9yYWdlfHwodC5sb2NhbHN0b3JhZ2U9e30pLHQubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXR8fCh0LmxvY2Fsc3RvcmFnZS5yZW1vdmVUaW1lb3V0PTFlMyo2MCksZS5tZXRob2RzJiYodC5tZXRob2RzPWUubWV0aG9kcyksdC5ub2RlfHwodC5ub2RlPXt9KSx0Lm5vZGUudHRsfHwodC5ub2RlLnR0bD0xZTMqNjAqMiksdC5ub2RlLm1heFBhcmFsbGVsV3JpdGVzfHwodC5ub2RlLm1heFBhcmFsbGVsV3JpdGVzPTIwNDgpLHR5cGVvZiB0Lm5vZGUudXNlRmFzdFBhdGg+InUiJiYodC5ub2RlLnVzZUZhc3RQYXRoPSEwKSx0fXZhciBBTT1mKCgpPT57fSk7ZnVuY3Rpb24gV3llKCl7aWYodHlwZW9mIGluZGV4ZWREQjwidSIpcmV0dXJuIGluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93PCJ1Iil7aWYodHlwZW9mIHdpbmRvdy5tb3pJbmRleGVkREI8InUiKXJldHVybiB3aW5kb3cubW96SW5kZXhlZERCO2lmKHR5cGVvZiB3aW5kb3cud2Via2l0SW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93LndlYmtpdEluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93Lm1zSW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93Lm1zSW5kZXhlZERCfXJldHVybiExfWZ1bmN0aW9uIEVNKGUpe2UuY29tbWl0JiZlLmNvbW1pdCgpfWZ1bmN0aW9uIG94cihlKXt2YXIgdD1XeWUoKSxyPW54citlLGE9dC5vcGVuKHIpO3JldHVybiBhLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbihpKXt2YXIgbj1pLnRhcmdldC5yZXN1bHQ7bi5jcmVhdGVPYmplY3RTdG9yZShwbyx7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KX0sbmV3IFByb21pc2UoZnVuY3Rpb24oaSxuKXthLm9uZXJyb3I9ZnVuY3Rpb24ocyl7cmV0dXJuIG4ocyl9LGEub25zdWNjZXNzPWZ1bmN0aW9uKCl7aShhLnJlc3VsdCl9fSl9ZnVuY3Rpb24gbHhyKGUsdCxyKXt2YXIgYT1EYXRlLm5vdygpLGk9e3V1aWQ6dCx0aW1lOmEsZGF0YTpyfSxuPWUudHJhbnNhY3Rpb24oW3BvXSwicmVhZHdyaXRlIix6bSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHMsbyl7bi5vbmNvbXBsZXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHMoKX0sbi5vbmVycm9yPWZ1bmN0aW9uKGwpe3JldHVybiBvKGwpfTt2YXIgYz1uLm9iamVjdFN0b3JlKHBvKTtjLmFkZChpKSxFTShuKX0pfWZ1bmN0aW9uIENJYShlKXt2YXIgdD1lLnRyYW5zYWN0aW9uKHBvLCJyZWFkb25seSIsem0pLHI9dC5vYmplY3RTdG9yZShwbyksYT1bXTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oaSl7ci5vcGVuQ3Vyc29yKCkub25zdWNjZXNzPWZ1bmN0aW9uKG4pe3ZhciBzPW4udGFyZ2V0LnJlc3VsdDtzPyhhLnB1c2gocy52YWx1ZSkscy5jb250aW51ZSgpKTooRU0odCksaShhKSl9fSl9ZnVuY3Rpb24gY3hyKGUsdCl7dmFyIHI9ZS50cmFuc2FjdGlvbihwbywicmVhZG9ubHkiLHptKSxhPXIub2JqZWN0U3RvcmUocG8pLGk9W10sbj1JREJLZXlSYW5nZS5ib3VuZCh0KzEsMS8wKTtpZihhLmdldEFsbCl7dmFyIHM9YS5nZXRBbGwobik7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGMsbCl7cy5vbmVycm9yPWZ1bmN0aW9uKHUpe3JldHVybiBsKHUpfSxzLm9uc3VjY2Vzcz1mdW5jdGlvbih1KXtjKHUudGFyZ2V0LnJlc3VsdCl9fSl9ZnVuY3Rpb24gbygpe3RyeXtyZXR1cm4gbj1JREJLZXlSYW5nZS5ib3VuZCh0KzEsMS8wKSxhLm9wZW5DdXJzb3Iobil9Y2F0Y2h7cmV0dXJuIGEub3BlbkN1cnNvcigpfX1yZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oYyxsKXt2YXIgdT1vKCk7dS5vbmVycm9yPWZ1bmN0aW9uKGQpe3JldHVybiBsKGQpfSx1Lm9uc3VjY2Vzcz1mdW5jdGlvbihkKXt2YXIgaD1kLnRhcmdldC5yZXN1bHQ7aD9oLnZhbHVlLmlkPHQrMT9oLmNvbnRpbnVlKHQrMSk6KGkucHVzaChoLnZhbHVlKSxoLmNvbnRpbnVlKCkpOihFTShyKSxjKGkpKX19KX1mdW5jdGlvbiBkeHIoZSx0KXtpZihlLmNsb3NlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt2YXIgcj1lLmRiLnRyYW5zYWN0aW9uKHBvLCJyZWFkd3JpdGUiLHptKSxhPXIub2JqZWN0U3RvcmUocG8pO3JldHVybiBQcm9taXNlLmFsbCh0Lm1hcChmdW5jdGlvbihpKXt2YXIgbj1hLmRlbGV0ZShpKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocyl7bi5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXtyZXR1cm4gcygpfX0pfSkpfWZ1bmN0aW9uIHV4cihlLHQpe3ZhciByPURhdGUubm93KCktdCxhPWUudHJhbnNhY3Rpb24ocG8sInJlYWRvbmx5Iix6bSksaT1hLm9iamVjdFN0b3JlKHBvKSxuPVtdO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihzKXtpLm9wZW5DdXJzb3IoKS5vbnN1Y2Nlc3M9ZnVuY3Rpb24obyl7dmFyIGM9by50YXJnZXQucmVzdWx0O2lmKGMpe3ZhciBsPWMudmFsdWU7bC50aW1lPHI/KG4ucHVzaChsKSxjLmNvbnRpbnVlKCkpOihFTShhKSxzKG4pKX1lbHNlIHMobil9fSl9ZnVuY3Rpb24gcHhyKGUpe3JldHVybiB1eHIoZS5kYixlLm9wdGlvbnMuaWRiLnR0bCkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gZHhyKGUsdC5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIuaWR9KSl9KX1mdW5jdGlvbiBmeHIoZSx0KXtyZXR1cm4gdD1ZMyh0KSxveHIoZSkudGhlbihmdW5jdGlvbihyKXt2YXIgYT17Y2xvc2VkOiExLGxhc3RDdXJzb3JJZDowLGNoYW5uZWxOYW1lOmUsb3B0aW9uczp0LHV1aWQ6UGwoKSxlTUlzOm5ldyBENSh0LmlkYi50dGwqMiksd3JpdGVCbG9ja1Byb21pc2U6UjEsbWVzc2FnZXNDYWxsYmFjazpudWxsLHJlYWRRdWV1ZVByb21pc2VzOltdLGRiOnJ9O3JldHVybiByLm9uY2xvc2U9ZnVuY3Rpb24oKXthLmNsb3NlZD0hMCx0LmlkYi5vbmNsb3NlJiZ0LmlkYi5vbmNsb3NlKCl9LEd5ZShhKSxhfSl9ZnVuY3Rpb24gR3llKGUpe2UuY2xvc2VkfHxZeWUoZSkudGhlbihmdW5jdGlvbigpe3JldHVybiBtMihlLm9wdGlvbnMuaWRiLmZhbGxiYWNrSW50ZXJ2YWwpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBHeWUoZSl9KX1mdW5jdGlvbiBoeHIoZSx0KXtyZXR1cm4hKGUudXVpZD09PXQudXVpZHx8dC5lTUlzLmhhcyhlLmlkKXx8ZS5kYXRhLnRpbWU8dC5tZXNzYWdlc0NhbGxiYWNrVGltZSl9ZnVuY3Rpb24gWXllKGUpe3JldHVybiBlLmNsb3NlZD9SMTplLm1lc3NhZ2VzQ2FsbGJhY2s/Y3hyKGUuZGIsZS5sYXN0Q3Vyc29ySWQpLnRoZW4oZnVuY3Rpb24odCl7dmFyIHI9dC5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuISFhfSkubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPmUubGFzdEN1cnNvcklkJiYoZS5sYXN0Q3Vyc29ySWQ9YS5pZCksYX0pLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gaHhyKGEsZSl9KS5zb3J0KGZ1bmN0aW9uKGEsaSl7cmV0dXJuIGEudGltZS1pLnRpbWV9KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGEpe2UubWVzc2FnZXNDYWxsYmFjayYmKGUuZU1Jcy5hZGQoYS5pZCksZS5tZXNzYWdlc0NhbGxiYWNrKGEuZGF0YSkpfSksUjF9KTpSMX1mdW5jdGlvbiBteHIoZSl7ZS5jbG9zZWQ9ITAsZS5kYi5jbG9zZSgpfWZ1bmN0aW9uIGd4cihlLHQpe3JldHVybiBlLndyaXRlQmxvY2tQcm9taXNlPWUud3JpdGVCbG9ja1Byb21pc2UudGhlbihmdW5jdGlvbigpe3JldHVybiBseHIoZS5kYixlLnV1aWQsdCl9KS50aGVuKGZ1bmN0aW9uKCl7cXllKDAsMTApPT09MCYmcHhyKGUpfSksZS53cml0ZUJsb2NrUHJvbWlzZX1mdW5jdGlvbiBieHIoZSx0LHIpe2UubWVzc2FnZXNDYWxsYmFja1RpbWU9cixlLm1lc3NhZ2VzQ2FsbGJhY2s9dCxZeWUoZSl9ZnVuY3Rpb24gdnhyKCl7cmV0dXJuISFXeWUoKX1mdW5jdGlvbiB4eHIoZSl7cmV0dXJuIGUuaWRiLmZhbGxiYWNrSW50ZXJ2YWwqMn12YXIgaXhyLG54cixwbyx6bSxzeHIsWnllLFh5ZT1mKCgpPT57JDAoKTttVigpO0FNKCk7aXhyPU5sLG54cj0icHVia2V5LmJyb2FkY2FzdC1jaGFubmVsLTAtIixwbz0ibWVzc2FnZXMiLHptPXtkdXJhYmlsaXR5OiJyZWxheGVkIn0sc3hyPSJpZGIiO1p5ZT17Y3JlYXRlOmZ4cixjbG9zZTpteHIsb25NZXNzYWdlOmJ4cixwb3N0TWVzc2FnZTpneHIsY2FuQmVVc2VkOnZ4cix0eXBlOnN4cixhdmVyYWdlUmVzcG9uc2VUaW1lOnh4cixtaWNyb1NlY29uZHM6aXhyfX0pO2Z1bmN0aW9uIFF5ZSgpe3ZhciBlO2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybiBudWxsO3RyeXtlPXdpbmRvdy5sb2NhbFN0b3JhZ2UsZT13aW5kb3dbImllOC1ldmVudGxpc3RlbmVyL3N0b3JhZ2UiXXx8d2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24gSnllKGUpe3JldHVybiB3eHIrZX1mdW5jdGlvbiBreHIoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocil7bTIoKS50aGVuKGZ1bmN0aW9uKCl7dmFyIGE9SnllKGUuY2hhbm5lbE5hbWUpLGk9e3Rva2VuOlBsKCksdGltZTpEYXRlLm5vdygpLGRhdGE6dCx1dWlkOmUudXVpZH0sbj1KU09OLnN0cmluZ2lmeShpKTtReWUoKS5zZXRJdGVtKGEsbik7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iik7cy5pbml0RXZlbnQoInN0b3JhZ2UiLCEwLCEwKSxzLmtleT1hLHMubmV3VmFsdWU9bix3aW5kb3cuZGlzcGF0Y2hFdmVudChzKSxyKCl9KX0pfWZ1bmN0aW9uIFN4cihlLHQpe3ZhciByPUp5ZShlKSxhPWZ1bmN0aW9uKG4pe24ua2V5PT09ciYmdChKU09OLnBhcnNlKG4ubmV3VmFsdWUpKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIixhKSxhfWZ1bmN0aW9uIHp4cihlKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsZSl9ZnVuY3Rpb24gQ3hyKGUsdCl7aWYodD1ZMyh0KSwhS3llKCkpdGhyb3cgbmV3IEVycm9yKCJCcm9hZGNhc3RDaGFubmVsOiBsb2NhbHN0b3JhZ2UgY2Fubm90IGJlIHVzZWQiKTt2YXIgcj1QbCgpLGE9bmV3IEQ1KHQubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQpLGk9e2NoYW5uZWxOYW1lOmUsdXVpZDpyLGVNSXM6YX07cmV0dXJuIGkubGlzdGVuZXI9U3hyKGUsZnVuY3Rpb24obil7aS5tZXNzYWdlc0NhbGxiYWNrJiZuLnV1aWQhPT1yJiYoIW4udG9rZW58fGEuaGFzKG4udG9rZW4pfHxuLmRhdGEudGltZSYmbi5kYXRhLnRpbWU8aS5tZXNzYWdlc0NhbGxiYWNrVGltZXx8KGEuYWRkKG4udG9rZW4pLGkubWVzc2FnZXNDYWxsYmFjayhuLmRhdGEpKSl9KSxpfWZ1bmN0aW9uIFR4cihlKXt6eHIoZS5saXN0ZW5lcil9ZnVuY3Rpb24gX3hyKGUsdCxyKXtlLm1lc3NhZ2VzQ2FsbGJhY2tUaW1lPXIsZS5tZXNzYWdlc0NhbGxiYWNrPXR9ZnVuY3Rpb24gS3llKCl7dmFyIGU9UXllKCk7aWYoIWUpcmV0dXJuITE7dHJ5e3ZhciB0PSJfX2Jyb2FkY2FzdGNoYW5uZWxfY2hlY2siO2Uuc2V0SXRlbSh0LCJ3b3JrcyIpLGUucmVtb3ZlSXRlbSh0KX1jYXRjaHtyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBMeHIoKXt2YXIgZT0xMjAsdD1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQuaW5jbHVkZXMoInNhZmFyaSIpJiYhdC5pbmNsdWRlcygiY2hyb21lIik/ZSoyOmV9dmFyIHl4cix3eHIsTXhyLGV3ZSx0d2U9ZigoKT0+e21WKCk7QU0oKTskMCgpO3l4cj1ObCx3eHI9InB1YmtleS5icm9hZGNhc3RDaGFubmVsLSIsTXhyPSJsb2NhbHN0b3JhZ2UiO2V3ZT17Y3JlYXRlOkN4cixjbG9zZTpUeHIsb25NZXNzYWdlOl94cixwb3N0TWVzc2FnZTpreHIsY2FuQmVVc2VkOkt5ZSx0eXBlOk14cixhdmVyYWdlUmVzcG9uc2VUaW1lOkx4cixtaWNyb1NlY29uZHM6eXhyfX0pO2Z1bmN0aW9uIER4cihlKXt2YXIgdD17dGltZTpyd2UoKSxuYW1lOmUsbWVzc2FnZXNDYWxsYmFjazpudWxsfTtyZXR1cm4gZ1YuYWRkKHQpLHR9ZnVuY3Rpb24gQXhyKGUpe2dWLmRlbGV0ZShlKX1mdW5jdGlvbiBFeHIoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocil7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYT1BcnJheS5mcm9tKGdWKTthLmZvckVhY2goZnVuY3Rpb24oaSl7aS5uYW1lPT09ZS5uYW1lJiZpIT09ZSYmaS5tZXNzYWdlc0NhbGxiYWNrJiZpLnRpbWU8dC50aW1lJiZpLm1lc3NhZ2VzQ2FsbGJhY2sodCl9KSxyKCl9LGF3ZSl9KX1mdW5jdGlvbiBJeHIoZSx0KXtlLm1lc3NhZ2VzQ2FsbGJhY2s9dH1mdW5jdGlvbiBQeHIoKXtyZXR1cm4hMH1mdW5jdGlvbiBOeHIoKXtyZXR1cm4gYXdlfXZhciByd2UsJHhyLGdWLGF3ZSxpd2UsbndlPWYoKCk9PnskMCgpO3J3ZT1ObCwkeHI9InNpbXVsYXRlIixnVj1uZXcgU2V0O2F3ZT01O2l3ZT17Y3JlYXRlOkR4cixjbG9zZTpBeHIsb25NZXNzYWdlOkl4cixwb3N0TWVzc2FnZTpFeHIsY2FuQmVVc2VkOlB4cix0eXBlOiR4cixhdmVyYWdlUmVzcG9uc2VUaW1lOk54cixtaWNyb1NlY29uZHM6cndlfX0pO2Z1bmN0aW9uIGJWKGUpe3ZhciB0PVtdLmNvbmNhdChlLm1ldGhvZHMsc3dlKS5maWx0ZXIoQm9vbGVhbik7aWYoZS50eXBlKXtpZihlLnR5cGU9PT0ic2ltdWxhdGUiKXJldHVybiBpd2U7dmFyIHI9dC5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLnR5cGU9PT1lLnR5cGV9KTtpZihyKXJldHVybiByO3Rocm93IG5ldyBFcnJvcigibWV0aG9kLXR5cGUgIitlLnR5cGUrIiBub3QgZm91bmQiKX1lLndlYldvcmtlclN1cHBvcnR8fCh0PXQuZmlsdGVyKGZ1bmN0aW9uKGkpe3JldHVybiBpLnR5cGUhPT0iaWRiIn0pKTt2YXIgYT10LmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkuY2FuQmVVc2VkKCl9KTtpZihhKXJldHVybiBhO3Rocm93IG5ldyBFcnJvcigiTm8gdXNhYmxlIG1ldGhvZCBmb3VuZCBpbiAiK0pTT04uc3RyaW5naWZ5KHN3ZS5tYXAoZnVuY3Rpb24oaSl7cmV0dXJuIGkudHlwZX0pKSl9dmFyIHN3ZSxvd2U9ZigoKT0+e1V5ZSgpO1h5ZSgpO3R3ZSgpO253ZSgpO3N3ZT1bVnllLFp5ZSxld2VdfSk7ZnVuY3Rpb24gT3hyKGUpe2U9WTMoZSk7dmFyIHQ9YlYoZSk7cmV0dXJuIHQudHlwZT09PSJub2RlIj90LmNsZWFyTm9kZUZvbGRlcigpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pOkJ5ZX1mdW5jdGlvbiBSeHIoZSl7dlY9ZX1mdW5jdGlvbiBsd2UoZSx0LHIpe3ZhciBhPWUubWV0aG9kLm1pY3JvU2Vjb25kcygpLGk9e3RpbWU6YSx0eXBlOnQsZGF0YTpyfSxuPWUuX3ByZXBQP2UuX3ByZXBQOlIxO3JldHVybiBuLnRoZW4oZnVuY3Rpb24oKXt2YXIgcz1lLm1ldGhvZC5wb3N0TWVzc2FnZShlLl9zdGF0ZSxpKTtyZXR1cm4gZS5fdU1QLmFkZChzKSxzLmNhdGNoKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBlLl91TVAuZGVsZXRlKHMpfSksc30pfWZ1bmN0aW9uIEJ4cihlKXt2YXIgdD1lLm1ldGhvZC5jcmVhdGUoZS5uYW1lLGUub3B0aW9ucyk7UnllKHQpPyhlLl9wcmVwUD10LHQudGhlbihmdW5jdGlvbihyKXtlLl9zdGF0ZT1yfSkpOmUuX3N0YXRlPXR9ZnVuY3Rpb24gY3dlKGUpe3JldHVybiBlLl9hZGRFTC5tZXNzYWdlLmxlbmd0aD4wfHxlLl9hZGRFTC5pbnRlcm5hbC5sZW5ndGg+MH1mdW5jdGlvbiBkd2UoZSx0LHIpe2UuX2FkZEVMW3RdLnB1c2gociksSHhyKGUpfWZ1bmN0aW9uIHV3ZShlLHQscil7ZS5fYWRkRUxbdF09ZS5fYWRkRUxbdF0uZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhIT09cn0pLHF4cihlKX1mdW5jdGlvbiBIeHIoZSl7aWYoIWUuX2lMJiZjd2UoZSkpe3ZhciB0PWZ1bmN0aW9uKGkpe2UuX2FkZEVMW2kudHlwZV0uZm9yRWFjaChmdW5jdGlvbihuKXtpLnRpbWU+PW4udGltZSYmbi5mbihpLmRhdGEpfSl9LHI9ZS5tZXRob2QubWljcm9TZWNvbmRzKCk7ZS5fcHJlcFA/ZS5fcHJlcFAudGhlbihmdW5jdGlvbigpe2UuX2lMPSEwLGUubWV0aG9kLm9uTWVzc2FnZShlLl9zdGF0ZSx0LHIpfSk6KGUuX2lMPSEwLGUubWV0aG9kLm9uTWVzc2FnZShlLl9zdGF0ZSx0LHIpKX19ZnVuY3Rpb24gcXhyKGUpe2lmKGUuX2lMJiYhY3dlKGUpKXtlLl9pTD0hMTt2YXIgdD1lLm1ldGhvZC5taWNyb1NlY29uZHMoKTtlLm1ldGhvZC5vbk1lc3NhZ2UoZS5fc3RhdGUsbnVsbCx0KX19dmFyIHhWLEZ4cixaMyx2Vixwd2U9ZigoKT0+eyQwKCk7b3dlKCk7QU0oKTt4Vj1uZXcgU2V0LEZ4cj0wLFozPWZ1bmN0aW9uKHQscil7dGhpcy5pZD1GeHIrKyx4Vi5hZGQodGhpcyksdGhpcy5uYW1lPXQsdlYmJihyPXZWKSx0aGlzLm9wdGlvbnM9WTMociksdGhpcy5tZXRob2Q9YlYodGhpcy5vcHRpb25zKSx0aGlzLl9pTD0hMSx0aGlzLl9vbk1MPW51bGwsdGhpcy5fYWRkRUw9e21lc3NhZ2U6W10saW50ZXJuYWw6W119LHRoaXMuX3VNUD1uZXcgU2V0LHRoaXMuX2JlZkM9W10sdGhpcy5fcHJlcFA9bnVsbCxCeHIodGhpcyl9O1ozLl9wdWJrZXk9ITA7WjMucHJvdG90eXBlPXtwb3N0TWVzc2FnZTpmdW5jdGlvbih0KXtpZih0aGlzLmNsb3NlZCl0aHJvdyBuZXcgRXJyb3IoIkJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UoKTogQ2Fubm90IHBvc3QgbWVzc2FnZSBhZnRlciBjaGFubmVsIGhhcyBjbG9zZWQgIitKU09OLnN0cmluZ2lmeSh0KSk7cmV0dXJuIGx3ZSh0aGlzLCJtZXNzYWdlIix0KX0scG9zdEludGVybmFsOmZ1bmN0aW9uKHQpe3JldHVybiBsd2UodGhpcywiaW50ZXJuYWwiLHQpfSxzZXQgb25tZXNzYWdlKGUpe3ZhciB0PXRoaXMubWV0aG9kLm1pY3JvU2Vjb25kcygpLHI9e3RpbWU6dCxmbjplfTt1d2UodGhpcywibWVzc2FnZSIsdGhpcy5fb25NTCksZSYmdHlwZW9mIGU9PSJmdW5jdGlvbiI/KHRoaXMuX29uTUw9cixkd2UodGhpcywibWVzc2FnZSIscikpOnRoaXMuX29uTUw9bnVsbH0sYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LHIpe3ZhciBhPXRoaXMubWV0aG9kLm1pY3JvU2Vjb25kcygpLGk9e3RpbWU6YSxmbjpyfTtkd2UodGhpcyx0LGkpfSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKHQscil7dmFyIGE9dGhpcy5fYWRkRUxbdF0uZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5mbj09PXJ9KTt1d2UodGhpcyx0LGEpfSxjbG9zZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoIXRoaXMuY2xvc2VkKXt4Vi5kZWxldGUodGhpcyksdGhpcy5jbG9zZWQ9ITA7dmFyIHI9dGhpcy5fcHJlcFA/dGhpcy5fcHJlcFA6UjE7cmV0dXJuIHRoaXMuX29uTUw9bnVsbCx0aGlzLl9hZGRFTC5tZXNzYWdlPVtdLHIudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLmFsbChBcnJheS5mcm9tKHQuX3VNUCkpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLmFsbCh0Ll9iZWZDLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYSgpfSkpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiB0Lm1ldGhvZC5jbG9zZSh0Ll9zdGF0ZSl9KX19LGdldCB0eXBlKCl7cmV0dXJuIHRoaXMubWV0aG9kLnR5cGV9LGdldCBpc0Nsb3NlZCgpe3JldHVybiB0aGlzLmNsb3NlZH19fSk7ZnVuY3Rpb24gZndlKGUpe2lmKHR5cGVvZiBXb3JrZXJHbG9iYWxTY29wZT09ImZ1bmN0aW9uIiYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlKXt2YXIgdD1zZWxmLmNsb3NlLmJpbmQoc2VsZik7c2VsZi5jbG9zZT1mdW5jdGlvbigpe3JldHVybiBlKCksdCgpfX1lbHNle2lmKHR5cGVvZiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciE9ImZ1bmN0aW9uIilyZXR1cm47d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXtlKCl9LCEwKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixmdW5jdGlvbigpe2UoKX0sITApfX12YXIgaHdlPWYoKCk9Pnt9KTtmdW5jdGlvbiBtd2UoZSl7cHJvY2Vzcy5vbigiZXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gZSgpfSkscHJvY2Vzcy5vbigiYmVmb3JlRXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gZSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oIlNJR0lOVCIsZnVuY3Rpb24oKXtyZXR1cm4gZSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oInVuY2F1Z2h0RXhjZXB0aW9uIixmdW5jdGlvbih0KXtyZXR1cm4gZSgpLnRoZW4oZnVuY3Rpb24oKXtjb25zb2xlLnRyYWNlKHQpLHByb2Nlc3MuZXhpdCgxMDEpfSl9KX12YXIgZ3dlPWYoKCk9Pnt9KTtmdW5jdGlvbiBVeHIoKXtid2V8fChid2U9ITAsVnhyKFd4cikpfWZ1bmN0aW9uIHZ3ZShlKXtpZihVeHIoKSx0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoIkxpc3RlbmVyIGlzIG5vIGZ1bmN0aW9uIik7WDMuYWRkKGUpO3ZhciB0PXtyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gWDMuZGVsZXRlKGUpfSxydW46ZnVuY3Rpb24oKXtyZXR1cm4gWDMuZGVsZXRlKGUpLGUoKX19O3JldHVybiB0fWZ1bmN0aW9uIFd4cigpe3ZhciBlPVtdO3JldHVybiBYMy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UucHVzaCh0KCkpLFgzLmRlbGV0ZSh0KX0pLFByb21pc2UuYWxsKGUpfWZ1bmN0aW9uIEdJYSgpe1gzLmNsZWFyKCl9ZnVuY3Rpb24gWUlhKCl7cmV0dXJuIFgzLnNpemV9dmFyIGp4cixWeHIsWDMsYndlLHh3ZT1mKCgpPT57aHdlKCk7Z3dlKCk7anhyPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0eXBlb2YgcHJvY2VzczwidSI/cHJvY2VzczowKT09PSJbb2JqZWN0IHByb2Nlc3NdIixWeHI9anhyP213ZTpmd2UsWDM9bmV3IFNldCxid2U9ITF9KTtmdW5jdGlvbiBGbChlLHQpe3ZhciByPXtjb250ZXh0OiJsZWFkZXIiLGFjdGlvbjp0LHRva2VuOmUudG9rZW59O3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwucG9zdEludGVybmFsKHIpfWZ1bmN0aW9uIENtKGUpe2UuaXNMZWFkZXI9ITAsZS5faGFzTGVhZGVyPSEwO3ZhciB0PXZ3ZShmdW5jdGlvbigpe3JldHVybiBlLmRpZSgpfSk7ZS5fdW5sLnB1c2godCk7dmFyIHI9ZnVuY3Rpb24oaSl7aS5jb250ZXh0PT09ImxlYWRlciImJmkuYWN0aW9uPT09ImFwcGx5IiYmRmwoZSwidGVsbCIpLGkuY29udGV4dD09PSJsZWFkZXIiJiZpLmFjdGlvbj09PSJ0ZWxsIiYmIWUuX2RwTEMmJihlLl9kcExDPSEwLGUuX2RwTCgpLEZsKGUsInRlbGwiKSl9O3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLHIpLGUuX2xzdG5zLnB1c2gociksRmwoZSwidGVsbCIpfXZhciBJTT1mKCgpPT57eHdlKCl9KTt2YXIgeVYseXdlLHd3ZT1mKCgpPT57JDAoKTtJTSgpO3lWPWZ1bmN0aW9uKHQscil7dmFyIGE9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9dCx0Ll9iZWZDLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gYS5kaWUoKX0pLHRoaXMuX29wdGlvbnM9cix0aGlzLmlzTGVhZGVyPSExLHRoaXMuaXNEZWFkPSExLHRoaXMudG9rZW49UGwoKSx0aGlzLl9sc3Rucz1bXSx0aGlzLl91bmw9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExLHRoaXMuX3dLTUM9e30sdGhpcy5sTj0icHVia2V5LWJjfHwiK3QubWV0aG9kLnR5cGUrInx8Iit0Lm5hbWV9LHl3ZT0iTGVhZGVyRWxlY3Rpb25XZWJMb2NrLmRpZSgpIGNhbGxlZCI7eVYucHJvdG90eXBlPXtoYXNMZWFkZXI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiBuYXZpZ2F0b3IubG9ja3MucXVlcnkoKS50aGVuKGZ1bmN0aW9uKHIpe3ZhciBhPXIuaGVsZD9yLmhlbGQuZmlsdGVyKGZ1bmN0aW9uKGkpe3JldHVybiBpLm5hbWU9PT10LmxOfSk6W107cmV0dXJuISEoYSYmYS5sZW5ndGg+MCl9KX0sYXdhaXRMZWFkZXJzaGlwOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZighdGhpcy5fd0xNUCl7dGhpcy5fd0tNQy5jPW5ldyBBYm9ydENvbnRyb2xsZXI7dmFyIHI9bmV3IFByb21pc2UoZnVuY3Rpb24oYSxpKXt0Ll93S01DLnJlcz1hLHQuX3dLTUMucmVqPWl9KTt0aGlzLl93TE1QPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGEsaSl7bmF2aWdhdG9yLmxvY2tzLnJlcXVlc3QodC5sTix7c2lnbmFsOnQuX3dLTUMuYy5zaWduYWx9LGZ1bmN0aW9uKCl7cmV0dXJuIHQuX3dLTUMuYz12b2lkIDAsQ20odCksYSgpLHJ9KS5jYXRjaChmdW5jdGlvbihuKXtuLm1lc3NhZ2UmJm4ubWVzc2FnZT09PXl3ZXx8KHQuX3dLTUMucmVqJiZ0Ll93S01DLnJlaihuKSxpKG4pKX0pfSl9cmV0dXJuIHRoaXMuX3dMTVB9LHNldCBvbmR1cGxpY2F0ZShlKXt9LGRpZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuX2xzdG5zLmZvckVhY2goZnVuY3Rpb24ocil7cmV0dXJuIHQuYnJvYWRjYXN0Q2hhbm5lbC5yZW1vdmVFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIscil9KSx0aGlzLl9sc3Rucz1bXSx0aGlzLl91bmwuZm9yRWFjaChmdW5jdGlvbihyKXtyZXR1cm4gci5yZW1vdmUoKX0pLHRoaXMuX3VubD1bXSx0aGlzLmlzTGVhZGVyJiYodGhpcy5pc0xlYWRlcj0hMSksdGhpcy5pc0RlYWQ9ITAsdGhpcy5fd0tNQy5yZXMmJnRoaXMuX3dLTUMucmVzKCksdGhpcy5fd0tNQy5jJiZ0aGlzLl93S01DLmMuYWJvcnQobmV3IEVycm9yKHl3ZSkpLEZsKHRoaXMsImRlYXRoIil9fX0pO2Z1bmN0aW9uIEd4cihlKXtyZXR1cm4gZS5pc0xlYWRlcj9SMTpuZXcgUHJvbWlzZShmdW5jdGlvbih0KXt2YXIgcj0hMTtmdW5jdGlvbiBhKCl7cnx8KHI9ITAsZS5icm9hZGNhc3RDaGFubmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImludGVybmFsIixuKSx0KCEwKSl9ZS5hcHBseU9uY2UoKS50aGVuKGZ1bmN0aW9uKCl7ZS5pc0xlYWRlciYmYSgpfSk7dmFyIGk9ZnVuY3Rpb24oKXtyZXR1cm4gbTIoZS5fb3B0aW9ucy5mYWxsYmFja0ludGVydmFsKS50aGVuKGZ1bmN0aW9uKCl7aWYoIShlLmlzRGVhZHx8cikpaWYoZS5pc0xlYWRlcilhKCk7ZWxzZSByZXR1cm4gZS5hcHBseU9uY2UoITApLnRoZW4oZnVuY3Rpb24oKXtlLmlzTGVhZGVyP2EoKTppKCl9KX0pfTtpKCk7dmFyIG49ZnVuY3Rpb24obyl7by5jb250ZXh0PT09ImxlYWRlciImJm8uYWN0aW9uPT09ImRlYXRoIiYmKGUuX2hhc0xlYWRlcj0hMSxlLmFwcGx5T25jZSgpLnRoZW4oZnVuY3Rpb24oKXtlLmlzTGVhZGVyJiZhKCl9KSl9O2UuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIsbiksZS5fbHN0bnMucHVzaChuKX0pfWZ1bmN0aW9uIFl4cihlLHQpe3JldHVybiBlfHwoZT17fSksZT1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGUpKSxlLmZhbGxiYWNrSW50ZXJ2YWx8fChlLmZhbGxiYWNrSW50ZXJ2YWw9M2UzKSxlLnJlc3BvbnNlVGltZXx8KGUucmVzcG9uc2VUaW1lPXQubWV0aG9kLmF2ZXJhZ2VSZXNwb25zZVRpbWUodC5vcHRpb25zKSksZX1mdW5jdGlvbiBaeHIoZSx0KXtpZihlLl9sZWFkZXJFbGVjdG9yKXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbCBhbHJlYWR5IGhhcyBhIGxlYWRlci1lbGVjdG9yIik7dD1ZeHIodCxlKTt2YXIgcj1qeWUoKT9uZXcgeVYoZSx0KTpuZXcgTXdlKGUsdCk7cmV0dXJuIGUuX2JlZkMucHVzaChmdW5jdGlvbigpe3JldHVybiByLmRpZSgpfSksZS5fbGVhZGVyRWxlY3Rvcj1yLHJ9dmFyIE13ZSxrd2U9ZigoKT0+eyQwKCk7SU0oKTt3d2UoKTtNd2U9ZnVuY3Rpb24odCxyKXt2YXIgYT10aGlzO3RoaXMuYnJvYWRjYXN0Q2hhbm5lbD10LHRoaXMuX29wdGlvbnM9cix0aGlzLmlzTGVhZGVyPSExLHRoaXMuX2hhc0xlYWRlcj0hMSx0aGlzLmlzRGVhZD0hMSx0aGlzLnRva2VuPVBsKCksdGhpcy5fYXBsUT1SMSx0aGlzLl9hcGxRQz0wLHRoaXMuX3VubD1bXSx0aGlzLl9sc3Rucz1bXSx0aGlzLl9kcEw9ZnVuY3Rpb24oKXt9LHRoaXMuX2RwTEM9ITE7dmFyIGk9ZnVuY3Rpb24ocyl7cy5jb250ZXh0PT09ImxlYWRlciImJihzLmFjdGlvbj09PSJkZWF0aCImJihhLl9oYXNMZWFkZXI9ITEpLHMuYWN0aW9uPT09InRlbGwiJiYoYS5faGFzTGVhZGVyPSEwKSl9O3RoaXMuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIsaSksdGhpcy5fbHN0bnMucHVzaChpKX07TXdlLnByb3RvdHlwZT17aGFzTGVhZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9oYXNMZWFkZXIpfSxhcHBseU9uY2U6ZnVuY3Rpb24odCl7dmFyIHI9dGhpcztpZih0aGlzLmlzTGVhZGVyKXJldHVybiBtMigwLCEwKTtpZih0aGlzLmlzRGVhZClyZXR1cm4gbTIoMCwhMSk7aWYodGhpcy5fYXBsUUM+MSlyZXR1cm4gdGhpcy5fYXBsUTt2YXIgYT1mdW5jdGlvbigpe2lmKHIuaXNMZWFkZXIpcmV0dXJuIEh5ZTt2YXIgbj0hMSxzLG89bmV3IFByb21pc2UoZnVuY3Rpb24odSl7cz1mdW5jdGlvbigpe249ITAsdSgpfX0pLGM9ZnVuY3Rpb24oZCl7ZC5jb250ZXh0PT09ImxlYWRlciImJmQudG9rZW4hPXIudG9rZW4mJihkLmFjdGlvbj09PSJhcHBseSImJmQudG9rZW4+ci50b2tlbiYmcygpLGQuYWN0aW9uPT09InRlbGwiJiYocygpLHIuX2hhc0xlYWRlcj0hMCkpfTtyLmJyb2FkY2FzdENoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLGMpO3ZhciBsPXQ/ci5fb3B0aW9ucy5yZXNwb25zZVRpbWUqNDpyLl9vcHRpb25zLnJlc3BvbnNlVGltZTtyZXR1cm4gRmwociwiYXBwbHkiKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmFjZShbbTIobCksby50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcil9KV0pfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBGbChyLCJhcHBseSIpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJhY2UoW20yKGwpLG8udGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IpfSldKX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSkudGhlbihmdW5jdGlvbigpe3JldHVybiByLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLGMpLG4/ITE6Q20ocikudGhlbihmdW5jdGlvbigpe3JldHVybiEwfSl9KX07cmV0dXJuIHRoaXMuX2FwbFFDPXRoaXMuX2FwbFFDKzEsdGhpcy5fYXBsUT10aGlzLl9hcGxRLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gYSgpfSkudGhlbihmdW5jdGlvbigpe3IuX2FwbFFDPXIuX2FwbFFDLTF9KSx0aGlzLl9hcGxRLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gci5pc0xlYWRlcn0pfSxhd2FpdExlYWRlcnNoaXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYUxQfHwodGhpcy5fYUxQPUd4cih0aGlzKSksdGhpcy5fYUxQfSxzZXQgb25kdXBsaWNhdGUoZSl7dGhpcy5fZHBMPWV9LGRpZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuX2xzdG5zLmZvckVhY2goZnVuY3Rpb24ocil7cmV0dXJuIHQuYnJvYWRjYXN0Q2hhbm5lbC5yZW1vdmVFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIscil9KSx0aGlzLl9sc3Rucz1bXSx0aGlzLl91bmwuZm9yRWFjaChmdW5jdGlvbihyKXtyZXR1cm4gci5yZW1vdmUoKX0pLHRoaXMuX3VubD1bXSx0aGlzLmlzTGVhZGVyJiYodGhpcy5faGFzTGVhZGVyPSExLHRoaXMuaXNMZWFkZXI9ITEpLHRoaXMuaXNEZWFkPSEwLEZsKHRoaXMsImRlYXRoIil9fX0pO3ZhciBTd2U9ZigoKT0+e3B3ZSgpO2t3ZSgpO0lNKCl9KTt2YXIgendlPWYoKCk9Pnt0MigpO3poKCk7U20oKTtTd2UoKX0pO3ZhciB3VixNVixDd2U9ZigoKT0+e3p3ZSgpO3dWPWdsb2JhbFRoaXMuQnJvYWRjYXN0Q2hhbm5lbDt3Vnx8KHdWPVozKTtNVj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuYnJvYWRjYXN0Q2hhbm5lbD1uZXcgd1YoImRlZXMtY29tbXMiKSx0aGlzLnR5cGVkcm91dGVyPW5ldyBVbi5UeXBlZFJvdXRlcix0aGlzLnR5cGVkdGFyZ2V0PW5ldyBVbi5UeXBlZFRhcmdldCh7cG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlcjphc3luYyB0PT57dGhpcy5wb3N0TWVzc2FnZSh0KX0sdHlwZWRSb3V0ZXJSZWY6dGhpcy50eXBlZHJvdXRlcn0pLHRoaXMuYnJvYWRjYXN0Q2hhbm5lbC5vbm1lc3NhZ2U9YXN5bmMgdD0+e2xldCByPXQubWV0aG9kP3Q6dC5kYXRhO2NvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHIpKTtsZXQgYT1hd2FpdCB0aGlzLnR5cGVkcm91dGVyLnJvdXRlQW5kQWRkUmVzcG9uc2Uocix7c2tpcEhvb2tzOiEwfSk7YSYmIWEuZXJyb3ImJnRoaXMucG9zdE1lc3NhZ2UoYSl9fWNyZWF0ZVR5cGVkUmVxdWVzdCh0KXtyZXR1cm4gbmV3IFVuLlR5cGVkUmVxdWVzdCh0aGlzLnR5cGVkdGFyZ2V0LHQpfWFzeW5jIHBvc3RNZXNzYWdlKHQpe3RoaXMuYnJvYWRjYXN0Q2hhbm5lbC5wb3N0TWVzc2FnZSh0KX1hc3luYyBjcmVhdGVUeXBlZEhhbmRsZXIodCxyKXt0aGlzLnR5cGVkcm91dGVyLmFkZFR5cGVkSGFuZGxlcihuZXcgVW4uVHlwZWRIYW5kbGVyKHQscikpfX19KTt2YXIgVG09e307UmUoVG0se0RlZXNDb21tczooKT0+TVZ9KTt2YXIgVHdlPWYoKCk9PntDd2UoKX0pO3ZhciBKMz1qZSgocFBhLFEzKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBfd2UoZSl7cmV0dXJuIHR5cGVvZiBlPiJ1Inx8ZT09PW51bGx9ZnVuY3Rpb24gUXhyKGUpe3JldHVybiB0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsfWZ1bmN0aW9uIEp4cihlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOl93ZShlKT9bXTpbZV19ZnVuY3Rpb24gS3hyKGUsdCl7dmFyIHIsYSxpLG47aWYodClmb3Iobj1PYmplY3Qua2V5cyh0KSxyPTAsYT1uLmxlbmd0aDtyPGE7cis9MSlpPW5bcl0sZVtpXT10W2ldO3JldHVybiBlfWZ1bmN0aW9uIGV5cihlLHQpe3ZhciByPSIiLGE7Zm9yKGE9MDthPHQ7YSs9MSlyKz1lO3JldHVybiByfWZ1bmN0aW9uIHR5cihlKXtyZXR1cm4gZT09PTAmJk51bWJlci5ORUdBVElWRV9JTkZJTklUWT09PTEvZX1RMy5leHBvcnRzLmlzTm90aGluZz1fd2UsUTMuZXhwb3J0cy5pc09iamVjdD1ReHIsUTMuZXhwb3J0cy50b0FycmF5PUp4cixRMy5leHBvcnRzLnJlcGVhdD1leXIsUTMuZXhwb3J0cy5pc05lZ2F0aXZlWmVybz10eXIsUTMuZXhwb3J0cy5leHRlbmQ9S3hyfSk7dmFyIEE1PWplKChmUGEsTHdlKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBfbShlLHQpe0Vycm9yLmNhbGwodGhpcyksdGhpcy5uYW1lPSJZQU1MRXhjZXB0aW9uIix0aGlzLnJlYXNvbj1lLHRoaXMubWFyaz10LHRoaXMubWVzc2FnZT0odGhpcy5yZWFzb258fCIodW5rbm93biByZWFzb24pIikrKHRoaXMubWFyaz8iICIrdGhpcy5tYXJrLnRvU3RyaW5nKCk6IiIpLEVycm9yLmNhcHR1cmVTdGFja1RyYWNlP0Vycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsdGhpcy5jb25zdHJ1Y3Rvcik6dGhpcy5zdGFjaz1uZXcgRXJyb3IoKS5zdGFja3x8IiJ9X20ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxfbS5wcm90b3R5cGUuY29uc3RydWN0b3I9X20sX20ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMubmFtZSsiOiAiO3JldHVybiByKz10aGlzLnJlYXNvbnx8Iih1bmtub3duIHJlYXNvbikiLCF0JiZ0aGlzLm1hcmsmJihyKz0iICIrdGhpcy5tYXJrLnRvU3RyaW5nKCkpLHJ9LEx3ZS5leHBvcnRzPV9tfSk7dmFyIEF3ZT1qZSgoaFBhLER3ZSk9PnsidXNlIHN0cmljdCI7dmFyICR3ZT1KMygpO2Z1bmN0aW9uIGtWKGUsdCxyLGEsaSl7dGhpcy5uYW1lPWUsdGhpcy5idWZmZXI9dCx0aGlzLnBvc2l0aW9uPXIsdGhpcy5saW5lPWEsdGhpcy5jb2x1bW49aX1rVi5wcm90b3R5cGUuZ2V0U25pcHBldD1mdW5jdGlvbih0LHIpe3ZhciBhLGksbixzLG87aWYoIXRoaXMuYnVmZmVyKXJldHVybiBudWxsO2Zvcih0PXR8fDQscj1yfHw3NSxhPSIiLGk9dGhpcy5wb3NpdGlvbjtpPjAmJmBcMFxyClx4ODVcdTIwMjhcdTIwMjlgLmluZGV4T2YodGhpcy5idWZmZXIuY2hhckF0KGktMSkpPT09LTE7KWlmKGktPTEsdGhpcy5wb3NpdGlvbi1pPnIvMi0xKXthPSIgLi4uICIsaSs9NTticmVha31mb3Iobj0iIixzPXRoaXMucG9zaXRpb247czx0aGlzLmJ1ZmZlci5sZW5ndGgmJmBcMFxyClx4ODVcdTIwMjhcdTIwMjlgLmluZGV4T2YodGhpcy5idWZmZXIuY2hhckF0KHMpKT09PS0xOylpZihzKz0xLHMtdGhpcy5wb3NpdGlvbj5yLzItMSl7bj0iIC4uLiAiLHMtPTU7YnJlYWt9cmV0dXJuIG89dGhpcy5idWZmZXIuc2xpY2UoaSxzKSwkd2UucmVwZWF0KCIgIix0KSthK28rbitgCmArJHdlLnJlcGVhdCgiICIsdCt0aGlzLnBvc2l0aW9uLWkrYS5sZW5ndGgpKyJeIn0sa1YucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3ZhciByLGE9IiI7cmV0dXJuIHRoaXMubmFtZSYmKGErPSdpbiAiJyt0aGlzLm5hbWUrJyIgJyksYSs9ImF0IGxpbmUgIisodGhpcy5saW5lKzEpKyIsIGNvbHVtbiAiKyh0aGlzLmNvbHVtbisxKSx0fHwocj10aGlzLmdldFNuaXBwZXQoKSxyJiYoYSs9YDoKYCtyKSksYX0sRHdlLmV4cG9ydHM9a1Z9KTt2YXIgcGk9amUoKG1QYSxJd2UpPT57InVzZSBzdHJpY3QiO3ZhciBFd2U9QTUoKSxyeXI9WyJraW5kIiwicmVzb2x2ZSIsImNvbnN0cnVjdCIsImluc3RhbmNlT2YiLCJwcmVkaWNhdGUiLCJyZXByZXNlbnQiLCJkZWZhdWx0U3R5bGUiLCJzdHlsZUFsaWFzZXMiXSxheXI9WyJzY2FsYXIiLCJzZXF1ZW5jZSIsIm1hcHBpbmciXTtmdW5jdGlvbiBpeXIoZSl7dmFyIHQ9e307cmV0dXJuIGUhPT1udWxsJiZPYmplY3Qua2V5cyhlKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2Vbcl0uZm9yRWFjaChmdW5jdGlvbihhKXt0W1N0cmluZyhhKV09cn0pfSksdH1mdW5jdGlvbiBueXIoZSx0KXtpZih0PXR8fHt9LE9iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7aWYocnlyLmluZGV4T2Yocik9PT0tMSl0aHJvdyBuZXcgRXdlKCdVbmtub3duIG9wdGlvbiAiJytyKyciIGlzIG1ldCBpbiBkZWZpbml0aW9uIG9mICInK2UrJyIgWUFNTCB0eXBlLicpfSksdGhpcy50YWc9ZSx0aGlzLmtpbmQ9dC5raW5kfHxudWxsLHRoaXMucmVzb2x2ZT10LnJlc29sdmV8fGZ1bmN0aW9uKCl7cmV0dXJuITB9LHRoaXMuY29uc3RydWN0PXQuY29uc3RydWN0fHxmdW5jdGlvbihyKXtyZXR1cm4gcn0sdGhpcy5pbnN0YW5jZU9mPXQuaW5zdGFuY2VPZnx8bnVsbCx0aGlzLnByZWRpY2F0ZT10LnByZWRpY2F0ZXx8bnVsbCx0aGlzLnJlcHJlc2VudD10LnJlcHJlc2VudHx8bnVsbCx0aGlzLmRlZmF1bHRTdHlsZT10LmRlZmF1bHRTdHlsZXx8bnVsbCx0aGlzLnN0eWxlQWxpYXNlcz1peXIodC5zdHlsZUFsaWFzZXN8fG51bGwpLGF5ci5pbmRleE9mKHRoaXMua2luZCk9PT0tMSl0aHJvdyBuZXcgRXdlKCdVbmtub3duIGtpbmQgIicrdGhpcy5raW5kKyciIGlzIHNwZWNpZmllZCBmb3IgIicrZSsnIiBZQU1MIHR5cGUuJyl9SXdlLmV4cG9ydHM9bnlyfSk7dmFyIEszPWplKChnUGEsTndlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgUHdlPUozKCksUE09QTUoKSxzeXI9cGkoKTtmdW5jdGlvbiBTVihlLHQscil7dmFyIGE9W107cmV0dXJuIGUuaW5jbHVkZS5mb3JFYWNoKGZ1bmN0aW9uKGkpe3I9U1YoaSx0LHIpfSksZVt0XS5mb3JFYWNoKGZ1bmN0aW9uKGkpe3IuZm9yRWFjaChmdW5jdGlvbihuLHMpe24udGFnPT09aS50YWcmJm4ua2luZD09PWkua2luZCYmYS5wdXNoKHMpfSksci5wdXNoKGkpfSksci5maWx0ZXIoZnVuY3Rpb24oaSxuKXtyZXR1cm4gYS5pbmRleE9mKG4pPT09LTF9KX1mdW5jdGlvbiBveXIoKXt2YXIgZT17c2NhbGFyOnt9LHNlcXVlbmNlOnt9LG1hcHBpbmc6e30sZmFsbGJhY2s6e319LHQscjtmdW5jdGlvbiBhKGkpe2VbaS5raW5kXVtpLnRhZ109ZS5mYWxsYmFja1tpLnRhZ109aX1mb3IodD0wLHI9YXJndW1lbnRzLmxlbmd0aDt0PHI7dCs9MSlhcmd1bWVudHNbdF0uZm9yRWFjaChhKTtyZXR1cm4gZX1mdW5jdGlvbiBFNShlKXt0aGlzLmluY2x1ZGU9ZS5pbmNsdWRlfHxbXSx0aGlzLmltcGxpY2l0PWUuaW1wbGljaXR8fFtdLHRoaXMuZXhwbGljaXQ9ZS5leHBsaWNpdHx8W10sdGhpcy5pbXBsaWNpdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKHQubG9hZEtpbmQmJnQubG9hZEtpbmQhPT0ic2NhbGFyIil0aHJvdyBuZXcgUE0oIlRoZXJlIGlzIGEgbm9uLXNjYWxhciB0eXBlIGluIHRoZSBpbXBsaWNpdCBsaXN0IG9mIGEgc2NoZW1hLiBJbXBsaWNpdCByZXNvbHZpbmcgb2Ygc3VjaCB0eXBlcyBpcyBub3Qgc3VwcG9ydGVkLiIpfSksdGhpcy5jb21waWxlZEltcGxpY2l0PVNWKHRoaXMsImltcGxpY2l0IixbXSksdGhpcy5jb21waWxlZEV4cGxpY2l0PVNWKHRoaXMsImV4cGxpY2l0IixbXSksdGhpcy5jb21waWxlZFR5cGVNYXA9b3lyKHRoaXMuY29tcGlsZWRJbXBsaWNpdCx0aGlzLmNvbXBpbGVkRXhwbGljaXQpfUU1LkRFRkFVTFQ9bnVsbCxFNS5jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgdCxyO3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDE6dD1FNS5ERUZBVUxULHI9YXJndW1lbnRzWzBdO2JyZWFrO2Nhc2UgMjp0PWFyZ3VtZW50c1swXSxyPWFyZ3VtZW50c1sxXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBQTSgiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgU2NoZW1hLmNyZWF0ZSBmdW5jdGlvbiIpfWlmKHQ9UHdlLnRvQXJyYXkodCkscj1Qd2UudG9BcnJheShyKSwhdC5ldmVyeShmdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEU1fSkpdGhyb3cgbmV3IFBNKCJTcGVjaWZpZWQgbGlzdCBvZiBzdXBlciBzY2hlbWFzIChvciBhIHNpbmdsZSBTY2hlbWEgb2JqZWN0KSBjb250YWlucyBhIG5vbi1TY2hlbWEgb2JqZWN0LiIpO2lmKCFyLmV2ZXJ5KGZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2Ygc3lyfSkpdGhyb3cgbmV3IFBNKCJTcGVjaWZpZWQgbGlzdCBvZiBZQU1MIHR5cGVzIChvciBhIHNpbmdsZSBUeXBlIG9iamVjdCkgY29udGFpbnMgYSBub24tVHlwZSBvYmplY3QuIik7cmV0dXJuIG5ldyBFNSh7aW5jbHVkZTp0LGV4cGxpY2l0OnJ9KX0sTndlLmV4cG9ydHM9RTV9KTt2YXIgT3dlPWplKChiUGEsRndlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbHlyPXBpKCk7RndlLmV4cG9ydHM9bmV3IGx5cigidGFnOnlhbWwub3JnLDIwMDI6c3RyIix7a2luZDoic2NhbGFyIixjb25zdHJ1Y3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT1udWxsP2U6IiJ9fSl9KTt2YXIgQndlPWplKCh2UGEsUndlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgY3lyPXBpKCk7UndlLmV4cG9ydHM9bmV3IGN5cigidGFnOnlhbWwub3JnLDIwMDI6c2VxIix7a2luZDoic2VxdWVuY2UiLGNvbnN0cnVjdDpmdW5jdGlvbihlKXtyZXR1cm4gZSE9PW51bGw/ZTpbXX19KX0pO3ZhciBxd2U9amUoKHhQYSxId2UpPT57InVzZSBzdHJpY3QiO3ZhciBkeXI9cGkoKTtId2UuZXhwb3J0cz1uZXcgZHlyKCJ0YWc6eWFtbC5vcmcsMjAwMjptYXAiLHtraW5kOiJtYXBwaW5nIixjb25zdHJ1Y3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT1udWxsP2U6e319fSl9KTt2YXIgTk09amUoKHlQYSxqd2UpPT57InVzZSBzdHJpY3QiO3ZhciB1eXI9SzMoKTtqd2UuZXhwb3J0cz1uZXcgdXlyKHtleHBsaWNpdDpbT3dlKCksQndlKCkscXdlKCldfSl9KTt2YXIgVXdlPWplKCh3UGEsVndlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcHlyPXBpKCk7ZnVuY3Rpb24gZnlyKGUpe2lmKGU9PT1udWxsKXJldHVybiEwO3ZhciB0PWUubGVuZ3RoO3JldHVybiB0PT09MSYmZT09PSJ+Inx8dD09PTQmJihlPT09Im51bGwifHxlPT09Ik51bGwifHxlPT09Ik5VTEwiKX1mdW5jdGlvbiBoeXIoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBteXIoZSl7cmV0dXJuIGU9PT1udWxsfVZ3ZS5leHBvcnRzPW5ldyBweXIoInRhZzp5YW1sLm9yZywyMDAyOm51bGwiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6ZnlyLGNvbnN0cnVjdDpoeXIscHJlZGljYXRlOm15cixyZXByZXNlbnQ6e2Nhbm9uaWNhbDpmdW5jdGlvbigpe3JldHVybiJ+In0sbG93ZXJjYXNlOmZ1bmN0aW9uKCl7cmV0dXJuIm51bGwifSx1cHBlcmNhc2U6ZnVuY3Rpb24oKXtyZXR1cm4iTlVMTCJ9LGNhbWVsY2FzZTpmdW5jdGlvbigpe3JldHVybiJOdWxsIn19LGRlZmF1bHRTdHlsZToibG93ZXJjYXNlIn0pfSk7dmFyIEd3ZT1qZSgoTVBhLFd3ZSk9PnsidXNlIHN0cmljdCI7dmFyIGd5cj1waSgpO2Z1bmN0aW9uIGJ5cihlKXtpZihlPT09bnVsbClyZXR1cm4hMTt2YXIgdD1lLmxlbmd0aDtyZXR1cm4gdD09PTQmJihlPT09InRydWUifHxlPT09IlRydWUifHxlPT09IlRSVUUiKXx8dD09PTUmJihlPT09ImZhbHNlInx8ZT09PSJGYWxzZSJ8fGU9PT0iRkFMU0UiKX1mdW5jdGlvbiB2eXIoZSl7cmV0dXJuIGU9PT0idHJ1ZSJ8fGU9PT0iVHJ1ZSJ8fGU9PT0iVFJVRSJ9ZnVuY3Rpb24geHlyKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk9PT0iW29iamVjdCBCb29sZWFuXSJ9V3dlLmV4cG9ydHM9bmV3IGd5cigidGFnOnlhbWwub3JnLDIwMDI6Ym9vbCIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTpieXIsY29uc3RydWN0OnZ5cixwcmVkaWNhdGU6eHlyLHJlcHJlc2VudDp7bG93ZXJjYXNlOmZ1bmN0aW9uKGUpe3JldHVybiBlPyJ0cnVlIjoiZmFsc2UifSx1cHBlcmNhc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/IlRSVUUiOiJGQUxTRSJ9LGNhbWVsY2FzZTpmdW5jdGlvbihlKXtyZXR1cm4gZT8iVHJ1ZSI6IkZhbHNlIn19LGRlZmF1bHRTdHlsZToibG93ZXJjYXNlIn0pfSk7dmFyIFp3ZT1qZSgoa1BhLFl3ZSk9PnsidXNlIHN0cmljdCI7dmFyIHl5cj1KMygpLHd5cj1waSgpO2Z1bmN0aW9uIE15cihlKXtyZXR1cm4gNDg8PWUmJmU8PTU3fHw2NTw9ZSYmZTw9NzB8fDk3PD1lJiZlPD0xMDJ9ZnVuY3Rpb24ga3lyKGUpe3JldHVybiA0ODw9ZSYmZTw9NTV9ZnVuY3Rpb24gU3lyKGUpe3JldHVybiA0ODw9ZSYmZTw9NTd9ZnVuY3Rpb24genlyKGUpe2lmKGU9PT1udWxsKXJldHVybiExO3ZhciB0PWUubGVuZ3RoLHI9MCxhPSExLGk7aWYoIXQpcmV0dXJuITE7aWYoaT1lW3JdLChpPT09Ii0ifHxpPT09IisiKSYmKGk9ZVsrK3JdKSxpPT09IjAiKXtpZihyKzE9PT10KXJldHVybiEwO2lmKGk9ZVsrK3JdLGk9PT0iYiIpe2ZvcihyKys7cjx0O3IrKylpZihpPWVbcl0saSE9PSJfIil7aWYoaSE9PSIwIiYmaSE9PSIxIilyZXR1cm4hMTthPSEwfXJldHVybiBhJiZpIT09Il8ifWlmKGk9PT0ieCIpe2ZvcihyKys7cjx0O3IrKylpZihpPWVbcl0saSE9PSJfIil7aWYoIU15cihlLmNoYXJDb2RlQXQocikpKXJldHVybiExO2E9ITB9cmV0dXJuIGEmJmkhPT0iXyJ9Zm9yKDtyPHQ7cisrKWlmKGk9ZVtyXSxpIT09Il8iKXtpZigha3lyKGUuY2hhckNvZGVBdChyKSkpcmV0dXJuITE7YT0hMH1yZXR1cm4gYSYmaSE9PSJfIn1pZihpPT09Il8iKXJldHVybiExO2Zvcig7cjx0O3IrKylpZihpPWVbcl0saSE9PSJfIil7aWYoaT09PSI6IilicmVhaztpZighU3lyKGUuY2hhckNvZGVBdChyKSkpcmV0dXJuITE7YT0hMH1yZXR1cm4hYXx8aT09PSJfIj8hMTppIT09IjoiPyEwOi9eKDpbMC01XT9bMC05XSkrJC8udGVzdChlLnNsaWNlKHIpKX1mdW5jdGlvbiBDeXIoZSl7dmFyIHQ9ZSxyPTEsYSxpLG49W107cmV0dXJuIHQuaW5kZXhPZigiXyIpIT09LTEmJih0PXQucmVwbGFjZSgvXy9nLCIiKSksYT10WzBdLChhPT09Ii0ifHxhPT09IisiKSYmKGE9PT0iLSImJihyPS0xKSx0PXQuc2xpY2UoMSksYT10WzBdKSx0PT09IjAiPzA6YT09PSIwIj90WzFdPT09ImIiP3IqcGFyc2VJbnQodC5zbGljZSgyKSwyKTp0WzFdPT09IngiP3IqcGFyc2VJbnQodCwxNik6cipwYXJzZUludCh0LDgpOnQuaW5kZXhPZigiOiIpIT09LTE/KHQuc3BsaXQoIjoiKS5mb3JFYWNoKGZ1bmN0aW9uKHMpe24udW5zaGlmdChwYXJzZUludChzLDEwKSl9KSx0PTAsaT0xLG4uZm9yRWFjaChmdW5jdGlvbihzKXt0Kz1zKmksaSo9NjB9KSxyKnQpOnIqcGFyc2VJbnQodCwxMCl9ZnVuY3Rpb24gVHlyKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk9PT0iW29iamVjdCBOdW1iZXJdIiYmZSUxPT09MCYmIXl5ci5pc05lZ2F0aXZlWmVybyhlKX1Zd2UuZXhwb3J0cz1uZXcgd3lyKCJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6enlyLGNvbnN0cnVjdDpDeXIscHJlZGljYXRlOlR5cixyZXByZXNlbnQ6e2JpbmFyeTpmdW5jdGlvbihlKXtyZXR1cm4gZT49MD8iMGIiK2UudG9TdHJpbmcoMik6Ii0wYiIrZS50b1N0cmluZygyKS5zbGljZSgxKX0sb2N0YWw6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+PTA/IjAiK2UudG9TdHJpbmcoOCk6Ii0wIitlLnRvU3RyaW5nKDgpLnNsaWNlKDEpfSxkZWNpbWFsOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRvU3RyaW5nKDEwKX0saGV4YWRlY2ltYWw6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+PTA/IjB4IitlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpOiItMHgiK2UudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkuc2xpY2UoMSl9fSxkZWZhdWx0U3R5bGU6ImRlY2ltYWwiLHN0eWxlQWxpYXNlczp7YmluYXJ5OlsyLCJiaW4iXSxvY3RhbDpbOCwib2N0Il0sZGVjaW1hbDpbMTAsImRlYyJdLGhleGFkZWNpbWFsOlsxNiwiaGV4Il19fSl9KTt2YXIgSndlPWplKChTUGEsUXdlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgWHdlPUozKCksX3lyPXBpKCksTHlyPW5ldyBSZWdFeHAoIl4oPzpbLStdPyg/OjB8WzEtOV1bMC05X10qKSg/OlxcLlswLTlfXSopPyg/OltlRV1bLStdP1swLTldKyk/fFxcLlswLTlfXSsoPzpbZUVdWy0rXT9bMC05XSspP3xbLStdP1swLTldWzAtOV9dKig/OjpbMC01XT9bMC05XSkrXFwuWzAtOV9dKnxbLStdP1xcLig/OmluZnxJbmZ8SU5GKXxcXC4oPzpuYW58TmFOfE5BTikpJCIpO2Z1bmN0aW9uICR5cihlKXtyZXR1cm4hKGU9PT1udWxsfHwhTHlyLnRlc3QoZSl8fGVbZS5sZW5ndGgtMV09PT0iXyIpfWZ1bmN0aW9uIER5cihlKXt2YXIgdCxyLGEsaTtyZXR1cm4gdD1lLnJlcGxhY2UoL18vZywiIikudG9Mb3dlckNhc2UoKSxyPXRbMF09PT0iLSI/LTE6MSxpPVtdLCIrLSIuaW5kZXhPZih0WzBdKT49MCYmKHQ9dC5zbGljZSgxKSksdD09PSIuaW5mIj9yPT09MT9OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOnQ9PT0iLm5hbiI/TmFOOnQuaW5kZXhPZigiOiIpPj0wPyh0LnNwbGl0KCI6IikuZm9yRWFjaChmdW5jdGlvbihuKXtpLnVuc2hpZnQocGFyc2VGbG9hdChuLDEwKSl9KSx0PTAsYT0xLGkuZm9yRWFjaChmdW5jdGlvbihuKXt0Kz1uKmEsYSo9NjB9KSxyKnQpOnIqcGFyc2VGbG9hdCh0LDEwKX12YXIgQXlyPS9eWy0rXT9bMC05XStlLztmdW5jdGlvbiBFeXIoZSx0KXt2YXIgcjtpZihpc05hTihlKSlzd2l0Y2godCl7Y2FzZSJsb3dlcmNhc2UiOnJldHVybiIubmFuIjtjYXNlInVwcGVyY2FzZSI6cmV0dXJuIi5OQU4iO2Nhc2UiY2FtZWxjYXNlIjpyZXR1cm4iLk5hTiJ9ZWxzZSBpZihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk9PT1lKXN3aXRjaCh0KXtjYXNlImxvd2VyY2FzZSI6cmV0dXJuIi5pbmYiO2Nhc2UidXBwZXJjYXNlIjpyZXR1cm4iLklORiI7Y2FzZSJjYW1lbGNhc2UiOnJldHVybiIuSW5mIn1lbHNlIGlmKE51bWJlci5ORUdBVElWRV9JTkZJTklUWT09PWUpc3dpdGNoKHQpe2Nhc2UibG93ZXJjYXNlIjpyZXR1cm4iLS5pbmYiO2Nhc2UidXBwZXJjYXNlIjpyZXR1cm4iLS5JTkYiO2Nhc2UiY2FtZWxjYXNlIjpyZXR1cm4iLS5JbmYifWVsc2UgaWYoWHdlLmlzTmVnYXRpdmVaZXJvKGUpKXJldHVybiItMC4wIjtyZXR1cm4gcj1lLnRvU3RyaW5nKDEwKSxBeXIudGVzdChyKT9yLnJlcGxhY2UoImUiLCIuZSIpOnJ9ZnVuY3Rpb24gSXlyKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk9PT0iW29iamVjdCBOdW1iZXJdIiYmKGUlMSE9PTB8fFh3ZS5pc05lZ2F0aXZlWmVybyhlKSl9UXdlLmV4cG9ydHM9bmV3IF95cigidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6JHlyLGNvbnN0cnVjdDpEeXIscHJlZGljYXRlOkl5cixyZXByZXNlbnQ6RXlyLGRlZmF1bHRTdHlsZToibG93ZXJjYXNlIn0pfSk7dmFyIHpWPWplKCh6UGEsS3dlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgUHlyPUszKCk7S3dlLmV4cG9ydHM9bmV3IFB5cih7aW5jbHVkZTpbTk0oKV0saW1wbGljaXQ6W1V3ZSgpLEd3ZSgpLFp3ZSgpLEp3ZSgpXX0pfSk7dmFyIENWPWplKChDUGEsZU1lKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTnlyPUszKCk7ZU1lLmV4cG9ydHM9bmV3IE55cih7aW5jbHVkZTpbelYoKV19KX0pO3ZhciBpTWU9amUoKFRQYSxhTWUpPT57InVzZSBzdHJpY3QiO3ZhciBGeXI9cGkoKSx0TWU9bmV3IFJlZ0V4cCgiXihbMC05XVswLTldWzAtOV1bMC05XSktKFswLTldWzAtOV0pLShbMC05XVswLTldKSQiKSxyTWU9bmV3IFJlZ0V4cCgiXihbMC05XVswLTldWzAtOV1bMC05XSktKFswLTldWzAtOV0/KS0oWzAtOV1bMC05XT8pKD86W1R0XXxbIFxcdF0rKShbMC05XVswLTldPyk6KFswLTldWzAtOV0pOihbMC05XVswLTldKSg/OlxcLihbMC05XSopKT8oPzpbIFxcdF0qKFp8KFstK10pKFswLTldWzAtOV0/KSg/OjooWzAtOV1bMC05XSkpPykpPyQiKTtmdW5jdGlvbiBPeXIoZSl7cmV0dXJuIGU9PT1udWxsPyExOnRNZS5leGVjKGUpIT09bnVsbHx8ck1lLmV4ZWMoZSkhPT1udWxsfWZ1bmN0aW9uIFJ5cihlKXt2YXIgdCxyLGEsaSxuLHMsbyxjPTAsbD1udWxsLHUsZCxoO2lmKHQ9dE1lLmV4ZWMoZSksdD09PW51bGwmJih0PXJNZS5leGVjKGUpKSx0PT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIkRhdGUgcmVzb2x2ZSBlcnJvciIpO2lmKHI9K3RbMV0sYT0rdFsyXS0xLGk9K3RbM10sIXRbNF0pcmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHIsYSxpKSk7aWYobj0rdFs0XSxzPSt0WzVdLG89K3RbNl0sdFs3XSl7Zm9yKGM9dFs3XS5zbGljZSgwLDMpO2MubGVuZ3RoPDM7KWMrPSIwIjtjPStjfXJldHVybiB0WzldJiYodT0rdFsxMF0sZD0rKHRbMTFdfHwwKSxsPSh1KjYwK2QpKjZlNCx0WzldPT09Ii0iJiYobD0tbCkpLGg9bmV3IERhdGUoRGF0ZS5VVEMocixhLGksbixzLG8sYykpLGwmJmguc2V0VGltZShoLmdldFRpbWUoKS1sKSxofWZ1bmN0aW9uIEJ5cihlKXtyZXR1cm4gZS50b0lTT1N0cmluZygpfWFNZS5leHBvcnRzPW5ldyBGeXIoInRhZzp5YW1sLm9yZywyMDAyOnRpbWVzdGFtcCIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTpPeXIsY29uc3RydWN0OlJ5cixpbnN0YW5jZU9mOkRhdGUscmVwcmVzZW50OkJ5cn0pfSk7dmFyIHNNZT1qZSgoX1BhLG5NZSk9PnsidXNlIHN0cmljdCI7dmFyIEh5cj1waSgpO2Z1bmN0aW9uIHF5cihlKXtyZXR1cm4gZT09PSI8PCJ8fGU9PT1udWxsfW5NZS5leHBvcnRzPW5ldyBIeXIoInRhZzp5YW1sLm9yZywyMDAyOm1lcmdlIix7a2luZDoic2NhbGFyIixyZXNvbHZlOnF5cn0pfSk7dmFyIGNNZT1qZSgoTFBhLGxNZSk9PnsidXNlIHN0cmljdCI7dmFyIGVkO3RyeXtvTWU9dDAsZWQ9b01lKCJidWZmZXIiKS5CdWZmZXJ9Y2F0Y2h7fXZhciBqeXI9cGkoKSxUVj1gQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0KXHJgO2Z1bmN0aW9uIFZ5cihlKXtpZihlPT09bnVsbClyZXR1cm4hMTt2YXIgdCxyLGE9MCxpPWUubGVuZ3RoLG49VFY7Zm9yKHI9MDtyPGk7cisrKWlmKHQ9bi5pbmRleE9mKGUuY2hhckF0KHIpKSwhKHQ+NjQpKXtpZih0PDApcmV0dXJuITE7YSs9Nn1yZXR1cm4gYSU4PT09MH1mdW5jdGlvbiBVeXIoZSl7dmFyIHQscixhPWUucmVwbGFjZSgvW1xyXG49XS9nLCIiKSxpPWEubGVuZ3RoLG49VFYscz0wLG89W107Zm9yKHQ9MDt0PGk7dCsrKXQlND09PTAmJnQmJihvLnB1c2gocz4+MTYmMjU1KSxvLnB1c2gocz4+OCYyNTUpLG8ucHVzaChzJjI1NSkpLHM9czw8NnxuLmluZGV4T2YoYS5jaGFyQXQodCkpO3JldHVybiByPWklNCo2LHI9PT0wPyhvLnB1c2gocz4+MTYmMjU1KSxvLnB1c2gocz4+OCYyNTUpLG8ucHVzaChzJjI1NSkpOnI9PT0xOD8oby5wdXNoKHM+PjEwJjI1NSksby5wdXNoKHM+PjImMjU1KSk6cj09PTEyJiZvLnB1c2gocz4+NCYyNTUpLGVkP2VkLmZyb20/ZWQuZnJvbShvKTpuZXcgZWQobyk6b31mdW5jdGlvbiBXeXIoZSl7dmFyIHQ9IiIscj0wLGEsaSxuPWUubGVuZ3RoLHM9VFY7Zm9yKGE9MDthPG47YSsrKWElMz09PTAmJmEmJih0Kz1zW3I+PjE4JjYzXSx0Kz1zW3I+PjEyJjYzXSx0Kz1zW3I+PjYmNjNdLHQrPXNbciY2M10pLHI9KHI8PDgpK2VbYV07cmV0dXJuIGk9biUzLGk9PT0wPyh0Kz1zW3I+PjE4JjYzXSx0Kz1zW3I+PjEyJjYzXSx0Kz1zW3I+PjYmNjNdLHQrPXNbciY2M10pOmk9PT0yPyh0Kz1zW3I+PjEwJjYzXSx0Kz1zW3I+PjQmNjNdLHQrPXNbcjw8MiY2M10sdCs9c1s2NF0pOmk9PT0xJiYodCs9c1tyPj4yJjYzXSx0Kz1zW3I8PDQmNjNdLHQrPXNbNjRdLHQrPXNbNjRdKSx0fWZ1bmN0aW9uIEd5cihlKXtyZXR1cm4gZWQmJmVkLmlzQnVmZmVyKGUpfWxNZS5leHBvcnRzPW5ldyBqeXIoInRhZzp5YW1sLm9yZywyMDAyOmJpbmFyeSIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTpWeXIsY29uc3RydWN0OlV5cixwcmVkaWNhdGU6R3lyLHJlcHJlc2VudDpXeXJ9KTt2YXIgb01lfSk7dmFyIHVNZT1qZSgoRFBhLGRNZSk9PnsidXNlIHN0cmljdCI7dmFyIFl5cj1waSgpLFp5cj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFh5cj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIFF5cihlKXtpZihlPT09bnVsbClyZXR1cm4hMDt2YXIgdD1bXSxyLGEsaSxuLHMsbz1lO2ZvcihyPTAsYT1vLmxlbmd0aDtyPGE7cis9MSl7aWYoaT1vW3JdLHM9ITEsWHlyLmNhbGwoaSkhPT0iW29iamVjdCBPYmplY3RdIilyZXR1cm4hMTtmb3IobiBpbiBpKWlmKFp5ci5jYWxsKGksbikpaWYoIXMpcz0hMDtlbHNlIHJldHVybiExO2lmKCFzKXJldHVybiExO2lmKHQuaW5kZXhPZihuKT09PS0xKXQucHVzaChuKTtlbHNlIHJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIEp5cihlKXtyZXR1cm4gZSE9PW51bGw/ZTpbXX1kTWUuZXhwb3J0cz1uZXcgWXlyKCJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIix7a2luZDoic2VxdWVuY2UiLHJlc29sdmU6UXlyLGNvbnN0cnVjdDpKeXJ9KX0pO3ZhciBmTWU9amUoKEFQYSxwTWUpPT57InVzZSBzdHJpY3QiO3ZhciBLeXI9cGkoKSxld3I9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiB0d3IoZSl7aWYoZT09PW51bGwpcmV0dXJuITA7dmFyIHQscixhLGksbixzPWU7Zm9yKG49bmV3IEFycmF5KHMubGVuZ3RoKSx0PTAscj1zLmxlbmd0aDt0PHI7dCs9MSl7aWYoYT1zW3RdLGV3ci5jYWxsKGEpIT09IltvYmplY3QgT2JqZWN0XSJ8fChpPU9iamVjdC5rZXlzKGEpLGkubGVuZ3RoIT09MSkpcmV0dXJuITE7blt0XT1baVswXSxhW2lbMF1dXX1yZXR1cm4hMH1mdW5jdGlvbiByd3IoZSl7aWYoZT09PW51bGwpcmV0dXJuW107dmFyIHQscixhLGksbixzPWU7Zm9yKG49bmV3IEFycmF5KHMubGVuZ3RoKSx0PTAscj1zLmxlbmd0aDt0PHI7dCs9MSlhPXNbdF0saT1PYmplY3Qua2V5cyhhKSxuW3RdPVtpWzBdLGFbaVswXV1dO3JldHVybiBufXBNZS5leHBvcnRzPW5ldyBLeXIoInRhZzp5YW1sLm9yZywyMDAyOnBhaXJzIix7a2luZDoic2VxdWVuY2UiLHJlc29sdmU6dHdyLGNvbnN0cnVjdDpyd3J9KX0pO3ZhciBtTWU9amUoKEVQYSxoTWUpPT57InVzZSBzdHJpY3QiO3ZhciBhd3I9cGkoKSxpd3I9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBud3IoZSl7aWYoZT09PW51bGwpcmV0dXJuITA7dmFyIHQscj1lO2Zvcih0IGluIHIpaWYoaXdyLmNhbGwocix0KSYmclt0XSE9PW51bGwpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gc3dyKGUpe3JldHVybiBlIT09bnVsbD9lOnt9fWhNZS5leHBvcnRzPW5ldyBhd3IoInRhZzp5YW1sLm9yZywyMDAyOnNldCIse2tpbmQ6Im1hcHBpbmciLHJlc29sdmU6bndyLGNvbnN0cnVjdDpzd3J9KX0pO3ZhciBJNT1qZSgoSVBhLGdNZSk9PnsidXNlIHN0cmljdCI7dmFyIG93cj1LMygpO2dNZS5leHBvcnRzPW5ldyBvd3Ioe2luY2x1ZGU6W0NWKCldLGltcGxpY2l0OltpTWUoKSxzTWUoKV0sZXhwbGljaXQ6W2NNZSgpLHVNZSgpLGZNZSgpLG1NZSgpXX0pfSk7dmFyIHZNZT1qZSgoUFBhLGJNZSk9PnsidXNlIHN0cmljdCI7dmFyIGx3cj1waSgpO2Z1bmN0aW9uIGN3cigpe3JldHVybiEwfWZ1bmN0aW9uIGR3cigpe31mdW5jdGlvbiB1d3IoKXtyZXR1cm4iIn1mdW5jdGlvbiBwd3IoZSl7cmV0dXJuIHR5cGVvZiBlPiJ1In1iTWUuZXhwb3J0cz1uZXcgbHdyKCJ0YWc6eWFtbC5vcmcsMjAwMjpqcy91bmRlZmluZWQiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6Y3dyLGNvbnN0cnVjdDpkd3IscHJlZGljYXRlOnB3cixyZXByZXNlbnQ6dXdyfSl9KTt2YXIgeU1lPWplKChOUGEseE1lKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgZndyPXBpKCk7ZnVuY3Rpb24gaHdyKGUpe2lmKGU9PT1udWxsfHxlLmxlbmd0aD09PTApcmV0dXJuITE7dmFyIHQ9ZSxyPS9cLyhbZ2ltXSopJC8uZXhlYyhlKSxhPSIiO3JldHVybiEodFswXT09PSIvIiYmKHImJihhPXJbMV0pLGEubGVuZ3RoPjN8fHRbdC5sZW5ndGgtYS5sZW5ndGgtMV0hPT0iLyIpKX1mdW5jdGlvbiBtd3IoZSl7dmFyIHQ9ZSxyPS9cLyhbZ2ltXSopJC8uZXhlYyhlKSxhPSIiO3JldHVybiB0WzBdPT09Ii8iJiYociYmKGE9clsxXSksdD10LnNsaWNlKDEsdC5sZW5ndGgtYS5sZW5ndGgtMSkpLG5ldyBSZWdFeHAodCxhKX1mdW5jdGlvbiBnd3IoZSl7dmFyIHQ9Ii8iK2Uuc291cmNlKyIvIjtyZXR1cm4gZS5nbG9iYWwmJih0Kz0iZyIpLGUubXVsdGlsaW5lJiYodCs9Im0iKSxlLmlnbm9yZUNhc2UmJih0Kz0iaSIpLHR9ZnVuY3Rpb24gYndyKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk9PT0iW29iamVjdCBSZWdFeHBdIn14TWUuZXhwb3J0cz1uZXcgZndyKCJ0YWc6eWFtbC5vcmcsMjAwMjpqcy9yZWdleHAiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6aHdyLGNvbnN0cnVjdDptd3IscHJlZGljYXRlOmJ3cixyZXByZXNlbnQ6Z3dyfSl9KTt2YXIga01lPWplKChGUGEsTU1lKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgRk07dHJ5e3dNZT10MCxGTT13TWUoImVzcHJpbWEiKX1jYXRjaHt0eXBlb2Ygd2luZG93PCJ1IiYmKEZNPXdpbmRvdy5lc3ByaW1hKX12YXIgdndyPXBpKCk7ZnVuY3Rpb24geHdyKGUpe2lmKGU9PT1udWxsKXJldHVybiExO3RyeXt2YXIgdD0iKCIrZSsiKSIscj1GTS5wYXJzZSh0LHtyYW5nZTohMH0pO3JldHVybiEoci50eXBlIT09IlByb2dyYW0ifHxyLmJvZHkubGVuZ3RoIT09MXx8ci5ib2R5WzBdLnR5cGUhPT0iRXhwcmVzc2lvblN0YXRlbWVudCJ8fHIuYm9keVswXS5leHByZXNzaW9uLnR5cGUhPT0iQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24iJiZyLmJvZHlbMF0uZXhwcmVzc2lvbi50eXBlIT09IkZ1bmN0aW9uRXhwcmVzc2lvbiIpfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiB5d3IoZSl7dmFyIHQ9IigiK2UrIikiLHI9Rk0ucGFyc2UodCx7cmFuZ2U6ITB9KSxhPVtdLGk7aWYoci50eXBlIT09IlByb2dyYW0ifHxyLmJvZHkubGVuZ3RoIT09MXx8ci5ib2R5WzBdLnR5cGUhPT0iRXhwcmVzc2lvblN0YXRlbWVudCJ8fHIuYm9keVswXS5leHByZXNzaW9uLnR5cGUhPT0iQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24iJiZyLmJvZHlbMF0uZXhwcmVzc2lvbi50eXBlIT09IkZ1bmN0aW9uRXhwcmVzc2lvbiIpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gcmVzb2x2ZSBmdW5jdGlvbiIpO3JldHVybiByLmJvZHlbMF0uZXhwcmVzc2lvbi5wYXJhbXMuZm9yRWFjaChmdW5jdGlvbihuKXthLnB1c2gobi5uYW1lKX0pLGk9ci5ib2R5WzBdLmV4cHJlc3Npb24uYm9keS5yYW5nZSxyLmJvZHlbMF0uZXhwcmVzc2lvbi5ib2R5LnR5cGU9PT0iQmxvY2tTdGF0ZW1lbnQiP25ldyBGdW5jdGlvbihhLHQuc2xpY2UoaVswXSsxLGlbMV0tMSkpOm5ldyBGdW5jdGlvbihhLCJyZXR1cm4gIit0LnNsaWNlKGlbMF0saVsxXSkpfWZ1bmN0aW9uIHd3cihlKXtyZXR1cm4gZS50b1N0cmluZygpfWZ1bmN0aW9uIE13cihlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPT09IltvYmplY3QgRnVuY3Rpb25dIn1NTWUuZXhwb3J0cz1uZXcgdndyKCJ0YWc6eWFtbC5vcmcsMjAwMjpqcy9mdW5jdGlvbiIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTp4d3IsY29uc3RydWN0Onl3cixwcmVkaWNhdGU6TXdyLHJlcHJlc2VudDp3d3J9KTt2YXIgd01lfSk7dmFyIExtPWplKChSUGEsek1lKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgU01lPUszKCk7ek1lLmV4cG9ydHM9U01lLkRFRkFVTFQ9bmV3IFNNZSh7aW5jbHVkZTpbSTUoKV0sZXhwbGljaXQ6W3ZNZSgpLHlNZSgpLGtNZSgpXX0pfSk7dmFyIFVNZT1qZSgoQlBhLCRtKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgT2w9SjMoKSxDTWU9QTUoKSxrd3I9QXdlKCksVE1lPUk1KCksU3dyPUxtKCksRDA9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxPTT0xLF9NZT0yLExNZT0zLFJNPTQsX1Y9MSx6d3I9MiwkTWU9MyxDd3I9L1tceDAwLVx4MDhceDBCXHgwQ1x4MEUtXHgxRlx4N0YtXHg4NFx4ODYtXHg5Rlx1RkZGRVx1RkZGRl18W1x1RDgwMC1cdURCRkZdKD8hW1x1REMwMC1cdURGRkZdKXwoPzpbXlx1RDgwMC1cdURCRkZdfF4pW1x1REMwMC1cdURGRkZdLyxUd3I9L1tceDg1XHUyMDI4XHUyMDI5XS8sX3dyPS9bLFxbXF1ce1x9XS8sRE1lPS9eKD86IXwhIXwhW2EtelwtXSshKSQvaSxBTWU9L14oPzohfFteLFxbXF1ce1x9XSkoPzolWzAtOWEtZl17Mn18WzAtOWEtelwtIztcL1w/OkAmPVwrXCQsX1wuIX5cKidcKFwpXFtcXV0pKiQvaTtmdW5jdGlvbiBFTWUoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBnMihlKXtyZXR1cm4gZT09PTEwfHxlPT09MTN9ZnVuY3Rpb24gdGQoZSl7cmV0dXJuIGU9PT05fHxlPT09MzJ9ZnVuY3Rpb24geTEoZSl7cmV0dXJuIGU9PT05fHxlPT09MzJ8fGU9PT0xMHx8ZT09PTEzfWZ1bmN0aW9uIFA1KGUpe3JldHVybiBlPT09NDR8fGU9PT05MXx8ZT09PTkzfHxlPT09MTIzfHxlPT09MTI1fWZ1bmN0aW9uIEx3cihlKXt2YXIgdDtyZXR1cm4gNDg8PWUmJmU8PTU3P2UtNDg6KHQ9ZXwzMiw5Nzw9dCYmdDw9MTAyP3QtOTcrMTA6LTEpfWZ1bmN0aW9uICR3cihlKXtyZXR1cm4gZT09PTEyMD8yOmU9PT0xMTc/NDplPT09ODU/ODowfWZ1bmN0aW9uIER3cihlKXtyZXR1cm4gNDg8PWUmJmU8PTU3P2UtNDg6LTF9ZnVuY3Rpb24gSU1lKGUpe3JldHVybiBlPT09NDg/IlwwIjplPT09OTc/Ilx4MDciOmU9PT05OD8iXGIiOmU9PT0xMTZ8fGU9PT05PyIJIjplPT09MTEwP2AKYDplPT09MTE4PyJcdiI6ZT09PTEwMj8iXGYiOmU9PT0xMTQ/IlxyIjplPT09MTAxPyJceDFCIjplPT09MzI/IiAiOmU9PT0zND8nIic6ZT09PTQ3PyIvIjplPT09OTI/IlxcIjplPT09Nzg/Ilx4ODUiOmU9PT05NT8iXHhBMCI6ZT09PTc2PyJcdTIwMjgiOmU9PT04MD8iXHUyMDI5IjoiIn1mdW5jdGlvbiBBd3IoZSl7cmV0dXJuIGU8PTY1NTM1P1N0cmluZy5mcm9tQ2hhckNvZGUoZSk6U3RyaW5nLmZyb21DaGFyQ29kZSgoZS02NTUzNj4+MTApKzU1Mjk2LChlLTY1NTM2JjEwMjMpKzU2MzIwKX1mdW5jdGlvbiBQTWUoZSx0LHIpe3Q9PT0iX19wcm90b19fIj9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6ZVt0XT1yfXZhciBOTWU9bmV3IEFycmF5KDI1NiksRk1lPW5ldyBBcnJheSgyNTYpO2ZvcihyZD0wO3JkPDI1NjtyZCsrKU5NZVtyZF09SU1lKHJkKT8xOjAsRk1lW3JkXT1JTWUocmQpO2Z1bmN0aW9uIEV3cihlLHQpe3RoaXMuaW5wdXQ9ZSx0aGlzLmZpbGVuYW1lPXQuZmlsZW5hbWV8fG51bGwsdGhpcy5zY2hlbWE9dC5zY2hlbWF8fFN3cix0aGlzLm9uV2FybmluZz10Lm9uV2FybmluZ3x8bnVsbCx0aGlzLmxlZ2FjeT10LmxlZ2FjeXx8ITEsdGhpcy5qc29uPXQuanNvbnx8ITEsdGhpcy5saXN0ZW5lcj10Lmxpc3RlbmVyfHxudWxsLHRoaXMuaW1wbGljaXRUeXBlcz10aGlzLnNjaGVtYS5jb21waWxlZEltcGxpY2l0LHRoaXMudHlwZU1hcD10aGlzLnNjaGVtYS5jb21waWxlZFR5cGVNYXAsdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5wb3NpdGlvbj0wLHRoaXMubGluZT0wLHRoaXMubGluZVN0YXJ0PTAsdGhpcy5saW5lSW5kZW50PTAsdGhpcy5kb2N1bWVudHM9W119ZnVuY3Rpb24gT01lKGUsdCl7cmV0dXJuIG5ldyBDTWUodCxuZXcga3dyKGUuZmlsZW5hbWUsZS5pbnB1dCxlLnBvc2l0aW9uLGUubGluZSxlLnBvc2l0aW9uLWUubGluZVN0YXJ0KSl9ZnVuY3Rpb24geXQoZSx0KXt0aHJvdyBPTWUoZSx0KX1mdW5jdGlvbiBCTShlLHQpe2Uub25XYXJuaW5nJiZlLm9uV2FybmluZy5jYWxsKG51bGwsT01lKGUsdCkpfXZhciBSTWU9e1lBTUw6ZnVuY3Rpb24odCxyLGEpe3ZhciBpLG4sczt0LnZlcnNpb24hPT1udWxsJiZ5dCh0LCJkdXBsaWNhdGlvbiBvZiAlWUFNTCBkaXJlY3RpdmUiKSxhLmxlbmd0aCE9PTEmJnl0KHQsIllBTUwgZGlyZWN0aXZlIGFjY2VwdHMgZXhhY3RseSBvbmUgYXJndW1lbnQiKSxpPS9eKFswLTldKylcLihbMC05XSspJC8uZXhlYyhhWzBdKSxpPT09bnVsbCYmeXQodCwiaWxsLWZvcm1lZCBhcmd1bWVudCBvZiB0aGUgWUFNTCBkaXJlY3RpdmUiKSxuPXBhcnNlSW50KGlbMV0sMTApLHM9cGFyc2VJbnQoaVsyXSwxMCksbiE9PTEmJnl0KHQsInVuYWNjZXB0YWJsZSBZQU1MIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50IiksdC52ZXJzaW9uPWFbMF0sdC5jaGVja0xpbmVCcmVha3M9czwyLHMhPT0xJiZzIT09MiYmQk0odCwidW5zdXBwb3J0ZWQgWUFNTCB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudCIpfSxUQUc6ZnVuY3Rpb24odCxyLGEpe3ZhciBpLG47YS5sZW5ndGghPT0yJiZ5dCh0LCJUQUcgZGlyZWN0aXZlIGFjY2VwdHMgZXhhY3RseSB0d28gYXJndW1lbnRzIiksaT1hWzBdLG49YVsxXSxETWUudGVzdChpKXx8eXQodCwiaWxsLWZvcm1lZCB0YWcgaGFuZGxlIChmaXJzdCBhcmd1bWVudCkgb2YgdGhlIFRBRyBkaXJlY3RpdmUiKSxEMC5jYWxsKHQudGFnTWFwLGkpJiZ5dCh0LCd0aGVyZSBpcyBhIHByZXZpb3VzbHkgZGVjbGFyZWQgc3VmZml4IGZvciAiJytpKyciIHRhZyBoYW5kbGUnKSxBTWUudGVzdChuKXx8eXQodCwiaWxsLWZvcm1lZCB0YWcgcHJlZml4IChzZWNvbmQgYXJndW1lbnQpIG9mIHRoZSBUQUcgZGlyZWN0aXZlIiksdC50YWdNYXBbaV09bn19O2Z1bmN0aW9uIEEwKGUsdCxyLGEpe3ZhciBpLG4scyxvO2lmKHQ8cil7aWYobz1lLmlucHV0LnNsaWNlKHQsciksYSlmb3IoaT0wLG49by5sZW5ndGg7aTxuO2krPTEpcz1vLmNoYXJDb2RlQXQoaSkscz09PTl8fDMyPD1zJiZzPD0xMTE0MTExfHx5dChlLCJleHBlY3RlZCB2YWxpZCBKU09OIGNoYXJhY3RlciIpO2Vsc2UgQ3dyLnRlc3QobykmJnl0KGUsInRoZSBzdHJlYW0gY29udGFpbnMgbm9uLXByaW50YWJsZSBjaGFyYWN0ZXJzIik7ZS5yZXN1bHQrPW99fWZ1bmN0aW9uIEJNZShlLHQscixhKXt2YXIgaSxuLHMsbztmb3IoT2wuaXNPYmplY3Qocil8fHl0KGUsImNhbm5vdCBtZXJnZSBtYXBwaW5nczsgdGhlIHByb3ZpZGVkIHNvdXJjZSBvYmplY3QgaXMgdW5hY2NlcHRhYmxlIiksaT1PYmplY3Qua2V5cyhyKSxzPTAsbz1pLmxlbmd0aDtzPG87cys9MSluPWlbc10sRDAuY2FsbCh0LG4pfHwoUE1lKHQsbixyW25dKSxhW25dPSEwKX1mdW5jdGlvbiBONShlLHQscixhLGksbixzLG8pe3ZhciBjLGw7aWYoQXJyYXkuaXNBcnJheShpKSlmb3IoaT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChpKSxjPTAsbD1pLmxlbmd0aDtjPGw7Yys9MSlBcnJheS5pc0FycmF5KGlbY10pJiZ5dChlLCJuZXN0ZWQgYXJyYXlzIGFyZSBub3Qgc3VwcG9ydGVkIGluc2lkZSBrZXlzIiksdHlwZW9mIGk9PSJvYmplY3QiJiZFTWUoaVtjXSk9PT0iW29iamVjdCBPYmplY3RdIiYmKGlbY109IltvYmplY3QgT2JqZWN0XSIpO2lmKHR5cGVvZiBpPT0ib2JqZWN0IiYmRU1lKGkpPT09IltvYmplY3QgT2JqZWN0XSImJihpPSJbb2JqZWN0IE9iamVjdF0iKSxpPVN0cmluZyhpKSx0PT09bnVsbCYmKHQ9e30pLGE9PT0idGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiKWlmKEFycmF5LmlzQXJyYXkobikpZm9yKGM9MCxsPW4ubGVuZ3RoO2M8bDtjKz0xKUJNZShlLHQsbltjXSxyKTtlbHNlIEJNZShlLHQsbixyKTtlbHNlIWUuanNvbiYmIUQwLmNhbGwocixpKSYmRDAuY2FsbCh0LGkpJiYoZS5saW5lPXN8fGUubGluZSxlLnBvc2l0aW9uPW98fGUucG9zaXRpb24seXQoZSwiZHVwbGljYXRlZCBtYXBwaW5nIGtleSIpKSxQTWUodCxpLG4pLGRlbGV0ZSByW2ldO3JldHVybiB0fWZ1bmN0aW9uIExWKGUpe3ZhciB0O3Q9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLHQ9PT0xMD9lLnBvc2l0aW9uKys6dD09PTEzPyhlLnBvc2l0aW9uKyssZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pPT09MTAmJmUucG9zaXRpb24rKyk6eXQoZSwiYSBsaW5lIGJyZWFrIGlzIGV4cGVjdGVkIiksZS5saW5lKz0xLGUubGluZVN0YXJ0PWUucG9zaXRpb259ZnVuY3Rpb24gS2EoZSx0LHIpe2Zvcih2YXIgYT0wLGk9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pO2khPT0wOyl7Zm9yKDt0ZChpKTspaT1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtpZih0JiZpPT09MzUpZG8gaT1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTt3aGlsZShpIT09MTAmJmkhPT0xMyYmaSE9PTApO2lmKGcyKGkpKWZvcihMVihlKSxpPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKSxhKyssZS5saW5lSW5kZW50PTA7aT09PTMyOyllLmxpbmVJbmRlbnQrKyxpPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO2Vsc2UgYnJlYWt9cmV0dXJuIHIhPT0tMSYmYSE9PTAmJmUubGluZUluZGVudDxyJiZCTShlLCJkZWZpY2llbnQgaW5kZW50YXRpb24iKSxhfWZ1bmN0aW9uIEhNKGUpe3ZhciB0PWUucG9zaXRpb24scjtyZXR1cm4gcj1lLmlucHV0LmNoYXJDb2RlQXQodCksISEoKHI9PT00NXx8cj09PTQ2KSYmcj09PWUuaW5wdXQuY2hhckNvZGVBdCh0KzEpJiZyPT09ZS5pbnB1dC5jaGFyQ29kZUF0KHQrMikmJih0Kz0zLHI9ZS5pbnB1dC5jaGFyQ29kZUF0KHQpLHI9PT0wfHx5MShyKSkpfWZ1bmN0aW9uICRWKGUsdCl7dD09PTE/ZS5yZXN1bHQrPSIgIjp0PjEmJihlLnJlc3VsdCs9T2wucmVwZWF0KGAKYCx0LTEpKX1mdW5jdGlvbiBJd3IoZSx0LHIpe3ZhciBhLGksbixzLG8sYyxsLHUsZD1lLmtpbmQsaD1lLnJlc3VsdCxtO2lmKG09ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLHkxKG0pfHxQNShtKXx8bT09PTM1fHxtPT09Mzh8fG09PT00Mnx8bT09PTMzfHxtPT09MTI0fHxtPT09NjJ8fG09PT0zOXx8bT09PTM0fHxtPT09Mzd8fG09PT02NHx8bT09PTk2fHwobT09PTYzfHxtPT09NDUpJiYoaT1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbisxKSx5MShpKXx8ciYmUDUoaSkpKXJldHVybiExO2ZvcihlLmtpbmQ9InNjYWxhciIsZS5yZXN1bHQ9IiIsbj1zPWUucG9zaXRpb24sbz0hMTttIT09MDspe2lmKG09PT01OCl7aWYoaT1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbisxKSx5MShpKXx8ciYmUDUoaSkpYnJlYWt9ZWxzZSBpZihtPT09MzUpe2lmKGE9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24tMSkseTEoYSkpYnJlYWt9ZWxzZXtpZihlLnBvc2l0aW9uPT09ZS5saW5lU3RhcnQmJkhNKGUpfHxyJiZQNShtKSlicmVhaztpZihnMihtKSlpZihjPWUubGluZSxsPWUubGluZVN0YXJ0LHU9ZS5saW5lSW5kZW50LEthKGUsITEsLTEpLGUubGluZUluZGVudD49dCl7bz0hMCxtPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKTtjb250aW51ZX1lbHNle2UucG9zaXRpb249cyxlLmxpbmU9YyxlLmxpbmVTdGFydD1sLGUubGluZUluZGVudD11O2JyZWFrfX1vJiYoQTAoZSxuLHMsITEpLCRWKGUsZS5saW5lLWMpLG49cz1lLnBvc2l0aW9uLG89ITEpLHRkKG0pfHwocz1lLnBvc2l0aW9uKzEpLG09ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbil9cmV0dXJuIEEwKGUsbixzLCExKSxlLnJlc3VsdD8hMDooZS5raW5kPWQsZS5yZXN1bHQ9aCwhMSl9ZnVuY3Rpb24gUHdyKGUsdCl7dmFyIHIsYSxpO2lmKHI9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLHIhPT0zOSlyZXR1cm4hMTtmb3IoZS5raW5kPSJzY2FsYXIiLGUucmVzdWx0PSIiLGUucG9zaXRpb24rKyxhPWk9ZS5wb3NpdGlvbjsocj1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbikpIT09MDspaWYocj09PTM5KWlmKEEwKGUsYSxlLnBvc2l0aW9uLCEwKSxyPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pLHI9PT0zOSlhPWUucG9zaXRpb24sZS5wb3NpdGlvbisrLGk9ZS5wb3NpdGlvbjtlbHNlIHJldHVybiEwO2Vsc2UgZzIocik/KEEwKGUsYSxpLCEwKSwkVihlLEthKGUsITEsdCkpLGE9aT1lLnBvc2l0aW9uKTplLnBvc2l0aW9uPT09ZS5saW5lU3RhcnQmJkhNKGUpP3l0KGUsInVuZXhwZWN0ZWQgZW5kIG9mIHRoZSBkb2N1bWVudCB3aXRoaW4gYSBzaW5nbGUgcXVvdGVkIHNjYWxhciIpOihlLnBvc2l0aW9uKyssaT1lLnBvc2l0aW9uKTt5dChlLCJ1bmV4cGVjdGVkIGVuZCBvZiB0aGUgc3RyZWFtIHdpdGhpbiBhIHNpbmdsZSBxdW90ZWQgc2NhbGFyIil9ZnVuY3Rpb24gTndyKGUsdCl7dmFyIHIsYSxpLG4scyxvO2lmKG89ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLG8hPT0zNClyZXR1cm4hMTtmb3IoZS5raW5kPSJzY2FsYXIiLGUucmVzdWx0PSIiLGUucG9zaXRpb24rKyxyPWE9ZS5wb3NpdGlvbjsobz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbikpIT09MDspe2lmKG89PT0zNClyZXR1cm4gQTAoZSxyLGUucG9zaXRpb24sITApLGUucG9zaXRpb24rKywhMDtpZihvPT09OTIpe2lmKEEwKGUscixlLnBvc2l0aW9uLCEwKSxvPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pLGcyKG8pKUthKGUsITEsdCk7ZWxzZSBpZihvPDI1NiYmTk1lW29dKWUucmVzdWx0Kz1GTWVbb10sZS5wb3NpdGlvbisrO2Vsc2UgaWYoKHM9JHdyKG8pKT4wKXtmb3IoaT1zLG49MDtpPjA7aS0tKW89ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbiksKHM9THdyKG8pKT49MD9uPShuPDw0KStzOnl0KGUsImV4cGVjdGVkIGhleGFkZWNpbWFsIGNoYXJhY3RlciIpO2UucmVzdWx0Kz1Bd3IobiksZS5wb3NpdGlvbisrfWVsc2UgeXQoZSwidW5rbm93biBlc2NhcGUgc2VxdWVuY2UiKTtyPWE9ZS5wb3NpdGlvbn1lbHNlIGcyKG8pPyhBMChlLHIsYSwhMCksJFYoZSxLYShlLCExLHQpKSxyPWE9ZS5wb3NpdGlvbik6ZS5wb3NpdGlvbj09PWUubGluZVN0YXJ0JiZITShlKT95dChlLCJ1bmV4cGVjdGVkIGVuZCBvZiB0aGUgZG9jdW1lbnQgd2l0aGluIGEgZG91YmxlIHF1b3RlZCBzY2FsYXIiKTooZS5wb3NpdGlvbisrLGE9ZS5wb3NpdGlvbil9eXQoZSwidW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbSB3aXRoaW4gYSBkb3VibGUgcXVvdGVkIHNjYWxhciIpfWZ1bmN0aW9uIEZ3cihlLHQpe3ZhciByPSEwLGEsaT1lLnRhZyxuLHM9ZS5hbmNob3IsbyxjLGwsdSxkLGg9e30sbSx2LGIsZztpZihnPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKSxnPT09OTEpYz05MyxkPSExLG49W107ZWxzZSBpZihnPT09MTIzKWM9MTI1LGQ9ITAsbj17fTtlbHNlIHJldHVybiExO2ZvcihlLmFuY2hvciE9PW51bGwmJihlLmFuY2hvck1hcFtlLmFuY2hvcl09biksZz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtnIT09MDspe2lmKEthKGUsITAsdCksZz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbiksZz09PWMpcmV0dXJuIGUucG9zaXRpb24rKyxlLnRhZz1pLGUuYW5jaG9yPXMsZS5raW5kPWQ/Im1hcHBpbmciOiJzZXF1ZW5jZSIsZS5yZXN1bHQ9biwhMDtyfHx5dChlLCJtaXNzZWQgY29tbWEgYmV0d2VlbiBmbG93IGNvbGxlY3Rpb24gZW50cmllcyIpLHY9bT1iPW51bGwsbD11PSExLGc9PT02MyYmKG89ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24rMSkseTEobykmJihsPXU9ITAsZS5wb3NpdGlvbisrLEthKGUsITAsdCkpKSxhPWUubGluZSxGNShlLHQsT00sITEsITApLHY9ZS50YWcsbT1lLnJlc3VsdCxLYShlLCEwLHQpLGc9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLCh1fHxlLmxpbmU9PT1hKSYmZz09PTU4JiYobD0hMCxnPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pLEthKGUsITAsdCksRjUoZSx0LE9NLCExLCEwKSxiPWUucmVzdWx0KSxkP041KGUsbixoLHYsbSxiKTpsP24ucHVzaChONShlLG51bGwsaCx2LG0sYikpOm4ucHVzaChtKSxLYShlLCEwLHQpLGc9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLGc9PT00ND8ocj0hMCxnPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pKTpyPSExfXl0KGUsInVuZXhwZWN0ZWQgZW5kIG9mIHRoZSBzdHJlYW0gd2l0aGluIGEgZmxvdyBjb2xsZWN0aW9uIil9ZnVuY3Rpb24gT3dyKGUsdCl7dmFyIHIsYSxpPV9WLG49ITEscz0hMSxvPXQsYz0wLGw9ITEsdSxkO2lmKGQ9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLGQ9PT0xMjQpYT0hMTtlbHNlIGlmKGQ9PT02MilhPSEwO2Vsc2UgcmV0dXJuITE7Zm9yKGUua2luZD0ic2NhbGFyIixlLnJlc3VsdD0iIjtkIT09MDspaWYoZD1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSxkPT09NDN8fGQ9PT00NSlfVj09PWk/aT1kPT09NDM/JE1lOnp3cjp5dChlLCJyZXBlYXQgb2YgYSBjaG9tcGluZyBtb2RlIGlkZW50aWZpZXIiKTtlbHNlIGlmKCh1PUR3cihkKSk+PTApdT09PTA/eXQoZSwiYmFkIGV4cGxpY2l0IGluZGVudGF0aW9uIHdpZHRoIG9mIGEgYmxvY2sgc2NhbGFyOyBpdCBjYW5ub3QgYmUgbGVzcyB0aGFuIG9uZSIpOnM/eXQoZSwicmVwZWF0IG9mIGFuIGluZGVudGF0aW9uIHdpZHRoIGlkZW50aWZpZXIiKToobz10K3UtMSxzPSEwKTtlbHNlIGJyZWFrO2lmKHRkKGQpKXtkbyBkPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO3doaWxlKHRkKGQpKTtpZihkPT09MzUpZG8gZD1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTt3aGlsZSghZzIoZCkmJmQhPT0wKX1mb3IoO2QhPT0wOyl7Zm9yKExWKGUpLGUubGluZUluZGVudD0wLGQ9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pOyghc3x8ZS5saW5lSW5kZW50PG8pJiZkPT09MzI7KWUubGluZUluZGVudCsrLGQ9ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbik7aWYoIXMmJmUubGluZUluZGVudD5vJiYobz1lLmxpbmVJbmRlbnQpLGcyKGQpKXtjKys7Y29udGludWV9aWYoZS5saW5lSW5kZW50PG8pe2k9PT0kTWU/ZS5yZXN1bHQrPU9sLnJlcGVhdChgCmAsbj8xK2M6Yyk6aT09PV9WJiZuJiYoZS5yZXN1bHQrPWAKYCk7YnJlYWt9Zm9yKGE/dGQoZCk/KGw9ITAsZS5yZXN1bHQrPU9sLnJlcGVhdChgCmAsbj8xK2M6YykpOmw/KGw9ITEsZS5yZXN1bHQrPU9sLnJlcGVhdChgCmAsYysxKSk6Yz09PTA/biYmKGUucmVzdWx0Kz0iICIpOmUucmVzdWx0Kz1PbC5yZXBlYXQoYApgLGMpOmUucmVzdWx0Kz1PbC5yZXBlYXQoYApgLG4/MStjOmMpLG49ITAscz0hMCxjPTAscj1lLnBvc2l0aW9uOyFnMihkKSYmZCE9PTA7KWQ9ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbik7QTAoZSxyLGUucG9zaXRpb24sITEpfXJldHVybiEwfWZ1bmN0aW9uIEhNZShlLHQpe3ZhciByLGE9ZS50YWcsaT1lLmFuY2hvcixuPVtdLHMsbz0hMSxjO2ZvcihlLmFuY2hvciE9PW51bGwmJihlLmFuY2hvck1hcFtlLmFuY2hvcl09biksYz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbik7YyE9PTAmJiEoYyE9PTQ1fHwocz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbisxKSwheTEocykpKTspe2lmKG89ITAsZS5wb3NpdGlvbisrLEthKGUsITAsLTEpJiZlLmxpbmVJbmRlbnQ8PXQpe24ucHVzaChudWxsKSxjPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKTtjb250aW51ZX1pZihyPWUubGluZSxGNShlLHQsTE1lLCExLCEwKSxuLnB1c2goZS5yZXN1bHQpLEthKGUsITAsLTEpLGM9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLChlLmxpbmU9PT1yfHxlLmxpbmVJbmRlbnQ+dCkmJmMhPT0wKXl0KGUsImJhZCBpbmRlbnRhdGlvbiBvZiBhIHNlcXVlbmNlIGVudHJ5Iik7ZWxzZSBpZihlLmxpbmVJbmRlbnQ8dClicmVha31yZXR1cm4gbz8oZS50YWc9YSxlLmFuY2hvcj1pLGUua2luZD0ic2VxdWVuY2UiLGUucmVzdWx0PW4sITApOiExfWZ1bmN0aW9uIFJ3cihlLHQscil7dmFyIGEsaSxuLHMsbz1lLnRhZyxjPWUuYW5jaG9yLGw9e30sdT17fSxkPW51bGwsaD1udWxsLG09bnVsbCx2PSExLGI9ITEsZztmb3IoZS5hbmNob3IhPT1udWxsJiYoZS5hbmNob3JNYXBbZS5hbmNob3JdPWwpLGc9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pO2chPT0wOyl7aWYoYT1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbisxKSxuPWUubGluZSxzPWUucG9zaXRpb24sKGc9PT02M3x8Zz09PTU4KSYmeTEoYSkpZz09PTYzPyh2JiYoTjUoZSxsLHUsZCxoLG51bGwpLGQ9aD1tPW51bGwpLGI9ITAsdj0hMCxpPSEwKTp2Pyh2PSExLGk9ITApOnl0KGUsImluY29tcGxldGUgZXhwbGljaXQgbWFwcGluZyBwYWlyOyBhIGtleSBub2RlIGlzIG1pc3NlZDsgb3IgZm9sbG93ZWQgYnkgYSBub24tdGFidWxhdGVkIGVtcHR5IGxpbmUiKSxlLnBvc2l0aW9uKz0xLGc9YTtlbHNlIGlmKEY1KGUscixfTWUsITEsITApKWlmKGUubGluZT09PW4pe2ZvcihnPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKTt0ZChnKTspZz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtpZihnPT09NTgpZz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSx5MShnKXx8eXQoZSwiYSB3aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBleHBlY3RlZCBhZnRlciB0aGUga2V5LXZhbHVlIHNlcGFyYXRvciB3aXRoaW4gYSBibG9jayBtYXBwaW5nIiksdiYmKE41KGUsbCx1LGQsaCxudWxsKSxkPWg9bT1udWxsKSxiPSEwLHY9ITEsaT0hMSxkPWUudGFnLGg9ZS5yZXN1bHQ7ZWxzZSBpZihiKXl0KGUsImNhbiBub3QgcmVhZCBhbiBpbXBsaWNpdCBtYXBwaW5nIHBhaXI7IGEgY29sb24gaXMgbWlzc2VkIik7ZWxzZSByZXR1cm4gZS50YWc9byxlLmFuY2hvcj1jLCEwfWVsc2UgaWYoYil5dChlLCJjYW4gbm90IHJlYWQgYSBibG9jayBtYXBwaW5nIGVudHJ5OyBhIG11bHRpbGluZSBrZXkgbWF5IG5vdCBiZSBhbiBpbXBsaWNpdCBrZXkiKTtlbHNlIHJldHVybiBlLnRhZz1vLGUuYW5jaG9yPWMsITA7ZWxzZSBicmVhaztpZigoZS5saW5lPT09bnx8ZS5saW5lSW5kZW50PnQpJiYoRjUoZSx0LFJNLCEwLGkpJiYodj9oPWUucmVzdWx0Om09ZS5yZXN1bHQpLHZ8fChONShlLGwsdSxkLGgsbSxuLHMpLGQ9aD1tPW51bGwpLEthKGUsITAsLTEpLGc9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pKSxlLmxpbmVJbmRlbnQ+dCYmZyE9PTApeXQoZSwiYmFkIGluZGVudGF0aW9uIG9mIGEgbWFwcGluZyBlbnRyeSIpO2Vsc2UgaWYoZS5saW5lSW5kZW50PHQpYnJlYWt9cmV0dXJuIHYmJk41KGUsbCx1LGQsaCxudWxsKSxiJiYoZS50YWc9byxlLmFuY2hvcj1jLGUua2luZD0ibWFwcGluZyIsZS5yZXN1bHQ9bCksYn1mdW5jdGlvbiBCd3IoZSl7dmFyIHQscj0hMSxhPSExLGksbixzO2lmKHM9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLHMhPT0zMylyZXR1cm4hMTtpZihlLnRhZyE9PW51bGwmJnl0KGUsImR1cGxpY2F0aW9uIG9mIGEgdGFnIHByb3BlcnR5Iikscz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSxzPT09NjA/KHI9ITAscz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSk6cz09PTMzPyhhPSEwLGk9IiEhIixzPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pKTppPSIhIix0PWUucG9zaXRpb24scil7ZG8gcz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTt3aGlsZShzIT09MCYmcyE9PTYyKTtlLnBvc2l0aW9uPGUubGVuZ3RoPyhuPWUuaW5wdXQuc2xpY2UodCxlLnBvc2l0aW9uKSxzPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pKTp5dChlLCJ1bmV4cGVjdGVkIGVuZCBvZiB0aGUgc3RyZWFtIHdpdGhpbiBhIHZlcmJhdGltIHRhZyIpfWVsc2V7Zm9yKDtzIT09MCYmIXkxKHMpOylzPT09MzMmJihhP3l0KGUsInRhZyBzdWZmaXggY2Fubm90IGNvbnRhaW4gZXhjbGFtYXRpb24gbWFya3MiKTooaT1lLmlucHV0LnNsaWNlKHQtMSxlLnBvc2l0aW9uKzEpLERNZS50ZXN0KGkpfHx5dChlLCJuYW1lZCB0YWcgaGFuZGxlIGNhbm5vdCBjb250YWluIHN1Y2ggY2hhcmFjdGVycyIpLGE9ITAsdD1lLnBvc2l0aW9uKzEpKSxzPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO249ZS5pbnB1dC5zbGljZSh0LGUucG9zaXRpb24pLF93ci50ZXN0KG4pJiZ5dChlLCJ0YWcgc3VmZml4IGNhbm5vdCBjb250YWluIGZsb3cgaW5kaWNhdG9yIGNoYXJhY3RlcnMiKX1yZXR1cm4gbiYmIUFNZS50ZXN0KG4pJiZ5dChlLCJ0YWcgbmFtZSBjYW5ub3QgY29udGFpbiBzdWNoIGNoYXJhY3RlcnM6ICIrbikscj9lLnRhZz1uOkQwLmNhbGwoZS50YWdNYXAsaSk/ZS50YWc9ZS50YWdNYXBbaV0rbjppPT09IiEiP2UudGFnPSIhIituOmk9PT0iISEiP2UudGFnPSJ0YWc6eWFtbC5vcmcsMjAwMjoiK246eXQoZSwndW5kZWNsYXJlZCB0YWcgaGFuZGxlICInK2krJyInKSwhMH1mdW5jdGlvbiBId3IoZSl7dmFyIHQscjtpZihyPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKSxyIT09MzgpcmV0dXJuITE7Zm9yKGUuYW5jaG9yIT09bnVsbCYmeXQoZSwiZHVwbGljYXRpb24gb2YgYW4gYW5jaG9yIHByb3BlcnR5Iikscj1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSx0PWUucG9zaXRpb247ciE9PTAmJiF5MShyKSYmIVA1KHIpOylyPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO3JldHVybiBlLnBvc2l0aW9uPT09dCYmeXQoZSwibmFtZSBvZiBhbiBhbmNob3Igbm9kZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3Qgb25lIGNoYXJhY3RlciIpLGUuYW5jaG9yPWUuaW5wdXQuc2xpY2UodCxlLnBvc2l0aW9uKSwhMH1mdW5jdGlvbiBxd3IoZSl7dmFyIHQscixhO2lmKGE9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLGEhPT00MilyZXR1cm4hMTtmb3IoYT1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSx0PWUucG9zaXRpb247YSE9PTAmJiF5MShhKSYmIVA1KGEpOylhPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO3JldHVybiBlLnBvc2l0aW9uPT09dCYmeXQoZSwibmFtZSBvZiBhbiBhbGlhcyBub2RlIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIikscj1lLmlucHV0LnNsaWNlKHQsZS5wb3NpdGlvbiksRDAuY2FsbChlLmFuY2hvck1hcCxyKXx8eXQoZSwndW5pZGVudGlmaWVkIGFsaWFzICInK3IrJyInKSxlLnJlc3VsdD1lLmFuY2hvck1hcFtyXSxLYShlLCEwLC0xKSwhMH1mdW5jdGlvbiBGNShlLHQscixhLGkpe3ZhciBuLHMsbyxjPTEsbD0hMSx1PSExLGQsaCxtLHYsYjtpZihlLmxpc3RlbmVyIT09bnVsbCYmZS5saXN0ZW5lcigib3BlbiIsZSksZS50YWc9bnVsbCxlLmFuY2hvcj1udWxsLGUua2luZD1udWxsLGUucmVzdWx0PW51bGwsbj1zPW89Uk09PT1yfHxMTWU9PT1yLGEmJkthKGUsITAsLTEpJiYobD0hMCxlLmxpbmVJbmRlbnQ+dD9jPTE6ZS5saW5lSW5kZW50PT09dD9jPTA6ZS5saW5lSW5kZW50PHQmJihjPS0xKSksYz09PTEpZm9yKDtCd3IoZSl8fEh3cihlKTspS2EoZSwhMCwtMSk/KGw9ITAsbz1uLGUubGluZUluZGVudD50P2M9MTplLmxpbmVJbmRlbnQ9PT10P2M9MDplLmxpbmVJbmRlbnQ8dCYmKGM9LTEpKTpvPSExO2lmKG8mJihvPWx8fGkpLChjPT09MXx8Uk09PT1yKSYmKE9NPT09cnx8X01lPT09cj92PXQ6dj10KzEsYj1lLnBvc2l0aW9uLWUubGluZVN0YXJ0LGM9PT0xP28mJihITWUoZSxiKXx8UndyKGUsYix2KSl8fEZ3cihlLHYpP3U9ITA6KHMmJk93cihlLHYpfHxQd3IoZSx2KXx8TndyKGUsdik/dT0hMDpxd3IoZSk/KHU9ITAsKGUudGFnIT09bnVsbHx8ZS5hbmNob3IhPT1udWxsKSYmeXQoZSwiYWxpYXMgbm9kZSBzaG91bGQgbm90IGhhdmUgYW55IHByb3BlcnRpZXMiKSk6SXdyKGUsdixPTT09PXIpJiYodT0hMCxlLnRhZz09PW51bGwmJihlLnRhZz0iPyIpKSxlLmFuY2hvciE9PW51bGwmJihlLmFuY2hvck1hcFtlLmFuY2hvcl09ZS5yZXN1bHQpKTpjPT09MCYmKHU9byYmSE1lKGUsYikpKSxlLnRhZyE9PW51bGwmJmUudGFnIT09IiEiKWlmKGUudGFnPT09Ij8iKXtmb3IoZS5yZXN1bHQhPT1udWxsJiZlLmtpbmQhPT0ic2NhbGFyIiYmeXQoZSwndW5hY2NlcHRhYmxlIG5vZGUga2luZCBmb3IgITw/PiB0YWc7IGl0IHNob3VsZCBiZSAic2NhbGFyIiwgbm90ICInK2Uua2luZCsnIicpLGQ9MCxoPWUuaW1wbGljaXRUeXBlcy5sZW5ndGg7ZDxoO2QrPTEpaWYobT1lLmltcGxpY2l0VHlwZXNbZF0sbS5yZXNvbHZlKGUucmVzdWx0KSl7ZS5yZXN1bHQ9bS5jb25zdHJ1Y3QoZS5yZXN1bHQpLGUudGFnPW0udGFnLGUuYW5jaG9yIT09bnVsbCYmKGUuYW5jaG9yTWFwW2UuYW5jaG9yXT1lLnJlc3VsdCk7YnJlYWt9fWVsc2UgRDAuY2FsbChlLnR5cGVNYXBbZS5raW5kfHwiZmFsbGJhY2siXSxlLnRhZyk/KG09ZS50eXBlTWFwW2Uua2luZHx8ImZhbGxiYWNrIl1bZS50YWddLGUucmVzdWx0IT09bnVsbCYmbS5raW5kIT09ZS5raW5kJiZ5dChlLCJ1bmFjY2VwdGFibGUgbm9kZSBraW5kIGZvciAhPCIrZS50YWcrJz4gdGFnOyBpdCBzaG91bGQgYmUgIicrbS5raW5kKyciLCBub3QgIicrZS5raW5kKyciJyksbS5yZXNvbHZlKGUucmVzdWx0KT8oZS5yZXN1bHQ9bS5jb25zdHJ1Y3QoZS5yZXN1bHQpLGUuYW5jaG9yIT09bnVsbCYmKGUuYW5jaG9yTWFwW2UuYW5jaG9yXT1lLnJlc3VsdCkpOnl0KGUsImNhbm5vdCByZXNvbHZlIGEgbm9kZSB3aXRoICE8IitlLnRhZysiPiBleHBsaWNpdCB0YWciKSk6eXQoZSwidW5rbm93biB0YWcgITwiK2UudGFnKyI+Iik7cmV0dXJuIGUubGlzdGVuZXIhPT1udWxsJiZlLmxpc3RlbmVyKCJjbG9zZSIsZSksZS50YWchPT1udWxsfHxlLmFuY2hvciE9PW51bGx8fHV9ZnVuY3Rpb24gandyKGUpe3ZhciB0PWUucG9zaXRpb24scixhLGksbj0hMSxzO2ZvcihlLnZlcnNpb249bnVsbCxlLmNoZWNrTGluZUJyZWFrcz1lLmxlZ2FjeSxlLnRhZ01hcD17fSxlLmFuY2hvck1hcD17fTsocz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbikpIT09MCYmKEthKGUsITAsLTEpLHM9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLCEoZS5saW5lSW5kZW50PjB8fHMhPT0zNykpOyl7Zm9yKG49ITAscz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSxyPWUucG9zaXRpb247cyE9PTAmJiF5MShzKTspcz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtmb3IoYT1lLmlucHV0LnNsaWNlKHIsZS5wb3NpdGlvbiksaT1bXSxhLmxlbmd0aDwxJiZ5dChlLCJkaXJlY3RpdmUgbmFtZSBtdXN0IG5vdCBiZSBsZXNzIHRoYW4gb25lIGNoYXJhY3RlciBpbiBsZW5ndGgiKTtzIT09MDspe2Zvcig7dGQocyk7KXM9ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbik7aWYocz09PTM1KXtkbyBzPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO3doaWxlKHMhPT0wJiYhZzIocykpO2JyZWFrfWlmKGcyKHMpKWJyZWFrO2ZvcihyPWUucG9zaXRpb247cyE9PTAmJiF5MShzKTspcz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtpLnB1c2goZS5pbnB1dC5zbGljZShyLGUucG9zaXRpb24pKX1zIT09MCYmTFYoZSksRDAuY2FsbChSTWUsYSk/Uk1lW2FdKGUsYSxpKTpCTShlLCd1bmtub3duIGRvY3VtZW50IGRpcmVjdGl2ZSAiJythKyciJyl9aWYoS2EoZSwhMCwtMSksZS5saW5lSW5kZW50PT09MCYmZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pPT09NDUmJmUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKzEpPT09NDUmJmUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKzIpPT09NDU/KGUucG9zaXRpb24rPTMsS2EoZSwhMCwtMSkpOm4mJnl0KGUsImRpcmVjdGl2ZXMgZW5kIG1hcmsgaXMgZXhwZWN0ZWQiKSxGNShlLGUubGluZUluZGVudC0xLFJNLCExLCEwKSxLYShlLCEwLC0xKSxlLmNoZWNrTGluZUJyZWFrcyYmVHdyLnRlc3QoZS5pbnB1dC5zbGljZSh0LGUucG9zaXRpb24pKSYmQk0oZSwibm9uLUFTQ0lJIGxpbmUgYnJlYWtzIGFyZSBpbnRlcnByZXRlZCBhcyBjb250ZW50IiksZS5kb2N1bWVudHMucHVzaChlLnJlc3VsdCksZS5wb3NpdGlvbj09PWUubGluZVN0YXJ0JiZITShlKSl7ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pPT09NDYmJihlLnBvc2l0aW9uKz0zLEthKGUsITAsLTEpKTtyZXR1cm59aWYoZS5wb3NpdGlvbjxlLmxlbmd0aC0xKXl0KGUsImVuZCBvZiB0aGUgc3RyZWFtIG9yIGEgZG9jdW1lbnQgc2VwYXJhdG9yIGlzIGV4cGVjdGVkIik7ZWxzZSByZXR1cm59ZnVuY3Rpb24gcU1lKGUsdCl7ZT1TdHJpbmcoZSksdD10fHx7fSxlLmxlbmd0aCE9PTAmJihlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSkhPT0xMCYmZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpIT09MTMmJihlKz1gCmApLGUuY2hhckNvZGVBdCgwKT09PTY1Mjc5JiYoZT1lLnNsaWNlKDEpKSk7dmFyIHI9bmV3IEV3cihlLHQpLGE9ZS5pbmRleE9mKCJcMCIpO2ZvcihhIT09LTEmJihyLnBvc2l0aW9uPWEseXQociwibnVsbCBieXRlIGlzIG5vdCBhbGxvd2VkIGluIGlucHV0IikpLHIuaW5wdXQrPSJcMCI7ci5pbnB1dC5jaGFyQ29kZUF0KHIucG9zaXRpb24pPT09MzI7KXIubGluZUluZGVudCs9MSxyLnBvc2l0aW9uKz0xO2Zvcig7ci5wb3NpdGlvbjxyLmxlbmd0aC0xOylqd3Iocik7cmV0dXJuIHIuZG9jdW1lbnRzfWZ1bmN0aW9uIGpNZShlLHQscil7dCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0IiYmdHlwZW9mIHI+InUiJiYocj10LHQ9bnVsbCk7dmFyIGE9cU1lKGUscik7aWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpcmV0dXJuIGE7Zm9yKHZhciBpPTAsbj1hLmxlbmd0aDtpPG47aSs9MSl0KGFbaV0pfWZ1bmN0aW9uIFZNZShlLHQpe3ZhciByPXFNZShlLHQpO2lmKHIubGVuZ3RoIT09MCl7aWYoci5sZW5ndGg9PT0xKXJldHVybiByWzBdO3Rocm93IG5ldyBDTWUoImV4cGVjdGVkIGEgc2luZ2xlIGRvY3VtZW50IGluIHRoZSBzdHJlYW0sIGJ1dCBmb3VuZCBtb3JlIil9fWZ1bmN0aW9uIFZ3cihlLHQscil7cmV0dXJuIHR5cGVvZiB0PT0ib2JqZWN0IiYmdCE9PW51bGwmJnR5cGVvZiByPiJ1IiYmKHI9dCx0PW51bGwpLGpNZShlLHQsT2wuZXh0ZW5kKHtzY2hlbWE6VE1lfSxyKSl9ZnVuY3Rpb24gVXdyKGUsdCl7cmV0dXJuIFZNZShlLE9sLmV4dGVuZCh7c2NoZW1hOlRNZX0sdCkpfSRtLmV4cG9ydHMubG9hZEFsbD1qTWUsJG0uZXhwb3J0cy5sb2FkPVZNZSwkbS5leHBvcnRzLnNhZmVMb2FkQWxsPVZ3ciwkbS5leHBvcnRzLnNhZmVMb2FkPVV3cjt2YXIgcmR9KTt2YXIgaGtlPWplKChIUGEsSVYpPT57InVzZSBzdHJpY3QiO3ZhciBEbT1KMygpLEFtPUE1KCksV3dyPUxtKCksR3dyPUk1KCksV01lPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsR01lPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksWXdyPTksRW09MTAsWndyPTEzLFh3cj0zMixRd3I9MzMsSndyPTM0LFlNZT0zNSxLd3I9MzcsZU1yPTM4LHRNcj0zOSxyTXI9NDIsWk1lPTQ0LGFNcj00NSxYTWU9NTgsaU1yPTYxLG5Ncj02MixzTXI9NjMsb01yPTY0LFFNZT05MSxKTWU9OTMsbE1yPTk2LEtNZT0xMjMsY01yPTEyNCxla2U9MTI1LHZuPXt9O3ZuWzBdPSJcXDAiLHZuWzddPSJcXGEiLHZuWzhdPSJcXGIiLHZuWzldPSJcXHQiLHZuWzEwXT0iXFxuIix2blsxMV09IlxcdiIsdm5bMTJdPSJcXGYiLHZuWzEzXT0iXFxyIix2blsyN109IlxcZSIsdm5bMzRdPSdcXCInLHZuWzkyXT0iXFxcXCIsdm5bMTMzXT0iXFxOIix2blsxNjBdPSJcXF8iLHZuWzgyMzJdPSJcXEwiLHZuWzgyMzNdPSJcXFAiO3ZhciBkTXI9WyJ5IiwiWSIsInllcyIsIlllcyIsIllFUyIsIm9uIiwiT24iLCJPTiIsIm4iLCJOIiwibm8iLCJObyIsIk5PIiwib2ZmIiwiT2ZmIiwiT0ZGIl07ZnVuY3Rpb24gdU1yKGUsdCl7dmFyIHIsYSxpLG4scyxvLGM7aWYodD09PW51bGwpcmV0dXJue307Zm9yKHI9e30sYT1PYmplY3Qua2V5cyh0KSxpPTAsbj1hLmxlbmd0aDtpPG47aSs9MSlzPWFbaV0sbz1TdHJpbmcodFtzXSkscy5zbGljZSgwLDIpPT09IiEhIiYmKHM9InRhZzp5YW1sLm9yZywyMDAyOiIrcy5zbGljZSgyKSksYz1lLmNvbXBpbGVkVHlwZU1hcC5mYWxsYmFja1tzXSxjJiZHTWUuY2FsbChjLnN0eWxlQWxpYXNlcyxvKSYmKG89Yy5zdHlsZUFsaWFzZXNbb10pLHJbc109bztyZXR1cm4gcn1mdW5jdGlvbiB0a2UoZSl7dmFyIHQscixhO2lmKHQ9ZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSxlPD0yNTUpcj0ieCIsYT0yO2Vsc2UgaWYoZTw9NjU1MzUpcj0idSIsYT00O2Vsc2UgaWYoZTw9NDI5NDk2NzI5NSlyPSJVIixhPTg7ZWxzZSB0aHJvdyBuZXcgQW0oImNvZGUgcG9pbnQgd2l0aGluIGEgc3RyaW5nIG1heSBub3QgYmUgZ3JlYXRlciB0aGFuIDB4RkZGRkZGRkYiKTtyZXR1cm4iXFwiK3IrRG0ucmVwZWF0KCIwIixhLXQubGVuZ3RoKSt0fWZ1bmN0aW9uIHBNcihlKXt0aGlzLnNjaGVtYT1lLnNjaGVtYXx8V3dyLHRoaXMuaW5kZW50PU1hdGgubWF4KDEsZS5pbmRlbnR8fDIpLHRoaXMubm9BcnJheUluZGVudD1lLm5vQXJyYXlJbmRlbnR8fCExLHRoaXMuc2tpcEludmFsaWQ9ZS5za2lwSW52YWxpZHx8ITEsdGhpcy5mbG93TGV2ZWw9RG0uaXNOb3RoaW5nKGUuZmxvd0xldmVsKT8tMTplLmZsb3dMZXZlbCx0aGlzLnN0eWxlTWFwPXVNcih0aGlzLnNjaGVtYSxlLnN0eWxlc3x8bnVsbCksdGhpcy5zb3J0S2V5cz1lLnNvcnRLZXlzfHwhMSx0aGlzLmxpbmVXaWR0aD1lLmxpbmVXaWR0aHx8ODAsdGhpcy5ub1JlZnM9ZS5ub1JlZnN8fCExLHRoaXMubm9Db21wYXRNb2RlPWUubm9Db21wYXRNb2RlfHwhMSx0aGlzLmNvbmRlbnNlRmxvdz1lLmNvbmRlbnNlRmxvd3x8ITEsdGhpcy5pbXBsaWNpdFR5cGVzPXRoaXMuc2NoZW1hLmNvbXBpbGVkSW1wbGljaXQsdGhpcy5leHBsaWNpdFR5cGVzPXRoaXMuc2NoZW1hLmNvbXBpbGVkRXhwbGljaXQsdGhpcy50YWc9bnVsbCx0aGlzLnJlc3VsdD0iIix0aGlzLmR1cGxpY2F0ZXM9W10sdGhpcy51c2VkRHVwbGljYXRlcz1udWxsfWZ1bmN0aW9uIHJrZShlLHQpe2Zvcih2YXIgcj1EbS5yZXBlYXQoIiAiLHQpLGE9MCxpPS0xLG49IiIscyxvPWUubGVuZ3RoO2E8bzspaT1lLmluZGV4T2YoYApgLGEpLGk9PT0tMT8ocz1lLnNsaWNlKGEpLGE9byk6KHM9ZS5zbGljZShhLGkrMSksYT1pKzEpLHMubGVuZ3RoJiZzIT09YApgJiYobis9ciksbis9cztyZXR1cm4gbn1mdW5jdGlvbiBEVihlLHQpe3JldHVybmAKYCtEbS5yZXBlYXQoIiAiLGUuaW5kZW50KnQpfWZ1bmN0aW9uIGZNcihlLHQpe3ZhciByLGEsaTtmb3Iocj0wLGE9ZS5pbXBsaWNpdFR5cGVzLmxlbmd0aDtyPGE7cis9MSlpZihpPWUuaW1wbGljaXRUeXBlc1tyXSxpLnJlc29sdmUodCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gQVYoZSl7cmV0dXJuIGU9PT1Yd3J8fGU9PT1Zd3J9ZnVuY3Rpb24gTzUoZSl7cmV0dXJuIDMyPD1lJiZlPD0xMjZ8fDE2MTw9ZSYmZTw9NTUyOTUmJmUhPT04MjMyJiZlIT09ODIzM3x8NTczNDQ8PWUmJmU8PTY1NTMzJiZlIT09NjUyNzl8fDY1NTM2PD1lJiZlPD0xMTE0MTExfWZ1bmN0aW9uIGhNcihlKXtyZXR1cm4gTzUoZSkmJiFBVihlKSYmZSE9PTY1Mjc5JiZlIT09WndyJiZlIT09RW19ZnVuY3Rpb24gYWtlKGUsdCl7cmV0dXJuIE81KGUpJiZlIT09NjUyNzkmJmUhPT1aTWUmJmUhPT1RTWUmJmUhPT1KTWUmJmUhPT1LTWUmJmUhPT1la2UmJmUhPT1YTWUmJihlIT09WU1lfHx0JiZoTXIodCkpfWZ1bmN0aW9uIG1NcihlKXtyZXR1cm4gTzUoZSkmJmUhPT02NTI3OSYmIUFWKGUpJiZlIT09YU1yJiZlIT09c01yJiZlIT09WE1lJiZlIT09Wk1lJiZlIT09UU1lJiZlIT09Sk1lJiZlIT09S01lJiZlIT09ZWtlJiZlIT09WU1lJiZlIT09ZU1yJiZlIT09ck1yJiZlIT09UXdyJiZlIT09Y01yJiZlIT09aU1yJiZlIT09bk1yJiZlIT09dE1yJiZlIT09SndyJiZlIT09S3dyJiZlIT09b01yJiZlIT09bE1yfWZ1bmN0aW9uIGlrZShlKXt2YXIgdD0vXlxuKiAvO3JldHVybiB0LnRlc3QoZSl9dmFyIG5rZT0xLHNrZT0yLG9rZT0zLGxrZT00LHFNPTU7ZnVuY3Rpb24gZ01yKGUsdCxyLGEsaSl7dmFyIG4scyxvLGM9ITEsbD0hMSx1PWEhPT0tMSxkPS0xLGg9bU1yKGUuY2hhckNvZGVBdCgwKSkmJiFBVihlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSkpO2lmKHQpZm9yKG49MDtuPGUubGVuZ3RoO24rKyl7aWYocz1lLmNoYXJDb2RlQXQobiksIU81KHMpKXJldHVybiBxTTtvPW4+MD9lLmNoYXJDb2RlQXQobi0xKTpudWxsLGg9aCYmYWtlKHMsbyl9ZWxzZXtmb3Iobj0wO248ZS5sZW5ndGg7bisrKXtpZihzPWUuY2hhckNvZGVBdChuKSxzPT09RW0pYz0hMCx1JiYobD1sfHxuLWQtMT5hJiZlW2QrMV0hPT0iICIsZD1uKTtlbHNlIGlmKCFPNShzKSlyZXR1cm4gcU07bz1uPjA/ZS5jaGFyQ29kZUF0KG4tMSk6bnVsbCxoPWgmJmFrZShzLG8pfWw9bHx8dSYmbi1kLTE+YSYmZVtkKzFdIT09IiAifXJldHVybiFjJiYhbD9oJiYhaShlKT9ua2U6c2tlOnI+OSYmaWtlKGUpP3FNOmw/bGtlOm9rZX1mdW5jdGlvbiBiTXIoZSx0LHIsYSl7ZS5kdW1wPShmdW5jdGlvbigpe2lmKHQubGVuZ3RoPT09MClyZXR1cm4iJyciO2lmKCFlLm5vQ29tcGF0TW9kZSYmZE1yLmluZGV4T2YodCkhPT0tMSlyZXR1cm4iJyIrdCsiJyI7dmFyIGk9ZS5pbmRlbnQqTWF0aC5tYXgoMSxyKSxuPWUubGluZVdpZHRoPT09LTE/LTE6TWF0aC5tYXgoTWF0aC5taW4oZS5saW5lV2lkdGgsNDApLGUubGluZVdpZHRoLWkpLHM9YXx8ZS5mbG93TGV2ZWw+LTEmJnI+PWUuZmxvd0xldmVsO2Z1bmN0aW9uIG8oYyl7cmV0dXJuIGZNcihlLGMpfXN3aXRjaChnTXIodCxzLGUuaW5kZW50LG4sbykpe2Nhc2UgbmtlOnJldHVybiB0O2Nhc2Ugc2tlOnJldHVybiInIit0LnJlcGxhY2UoLycvZywiJyciKSsiJyI7Y2FzZSBva2U6cmV0dXJuInwiK2NrZSh0LGUuaW5kZW50KStka2UocmtlKHQsaSkpO2Nhc2UgbGtlOnJldHVybiI+Iitja2UodCxlLmluZGVudCkrZGtlKHJrZSh2TXIodCxuKSxpKSk7Y2FzZSBxTTpyZXR1cm4nIicreE1yKHQsbikrJyInO2RlZmF1bHQ6dGhyb3cgbmV3IEFtKCJpbXBvc3NpYmxlIGVycm9yOiBpbnZhbGlkIHNjYWxhciBzdHlsZSIpfX0pKCl9ZnVuY3Rpb24gY2tlKGUsdCl7dmFyIHI9aWtlKGUpP1N0cmluZyh0KToiIixhPWVbZS5sZW5ndGgtMV09PT1gCmAsaT1hJiYoZVtlLmxlbmd0aC0yXT09PWAKYHx8ZT09PWAKYCksbj1pPyIrIjphPyIiOiItIjtyZXR1cm4gcituK2AKYH1mdW5jdGlvbiBka2UoZSl7cmV0dXJuIGVbZS5sZW5ndGgtMV09PT1gCmA/ZS5zbGljZSgwLC0xKTplfWZ1bmN0aW9uIHZNcihlLHQpe2Zvcih2YXIgcj0vKFxuKykoW15cbl0qKS9nLGE9KGZ1bmN0aW9uKCl7dmFyIGw9ZS5pbmRleE9mKGAKYCk7cmV0dXJuIGw9bCE9PS0xP2w6ZS5sZW5ndGgsci5sYXN0SW5kZXg9bCx1a2UoZS5zbGljZSgwLGwpLHQpfSkoKSxpPWVbMF09PT1gCmB8fGVbMF09PT0iICIsbixzO3M9ci5leGVjKGUpOyl7dmFyIG89c1sxXSxjPXNbMl07bj1jWzBdPT09IiAiLGErPW8rKCFpJiYhbiYmYyE9PSIiP2AKYDoiIikrdWtlKGMsdCksaT1ufXJldHVybiBhfWZ1bmN0aW9uIHVrZShlLHQpe2lmKGU9PT0iInx8ZVswXT09PSIgIilyZXR1cm4gZTtmb3IodmFyIHI9LyBbXiBdL2csYSxpPTAsbixzPTAsbz0wLGM9IiI7YT1yLmV4ZWMoZSk7KW89YS5pbmRleCxvLWk+dCYmKG49cz5pP3M6byxjKz1gCmArZS5zbGljZShpLG4pLGk9bisxKSxzPW87cmV0dXJuIGMrPWAKYCxlLmxlbmd0aC1pPnQmJnM+aT9jKz1lLnNsaWNlKGkscykrYApgK2Uuc2xpY2UocysxKTpjKz1lLnNsaWNlKGkpLGMuc2xpY2UoMSl9ZnVuY3Rpb24geE1yKGUpe2Zvcih2YXIgdD0iIixyLGEsaSxuPTA7bjxlLmxlbmd0aDtuKyspe2lmKHI9ZS5jaGFyQ29kZUF0KG4pLHI+PTU1Mjk2JiZyPD01NjMxOSYmKGE9ZS5jaGFyQ29kZUF0KG4rMSksYT49NTYzMjAmJmE8PTU3MzQzKSl7dCs9dGtlKChyLTU1Mjk2KSoxMDI0K2EtNTYzMjArNjU1MzYpLG4rKztjb250aW51ZX1pPXZuW3JdLHQrPSFpJiZPNShyKT9lW25dOml8fHRrZShyKX1yZXR1cm4gdH1mdW5jdGlvbiB5TXIoZSx0LHIpe3ZhciBhPSIiLGk9ZS50YWcsbixzO2ZvcihuPTAscz1yLmxlbmd0aDtuPHM7bis9MSlhZChlLHQscltuXSwhMSwhMSkmJihuIT09MCYmKGErPSIsIisoZS5jb25kZW5zZUZsb3c/IiI6IiAiKSksYSs9ZS5kdW1wKTtlLnRhZz1pLGUuZHVtcD0iWyIrYSsiXSJ9ZnVuY3Rpb24gd01yKGUsdCxyLGEpe3ZhciBpPSIiLG49ZS50YWcscyxvO2ZvcihzPTAsbz1yLmxlbmd0aDtzPG87cys9MSlhZChlLHQrMSxyW3NdLCEwLCEwKSYmKCghYXx8cyE9PTApJiYoaSs9RFYoZSx0KSksZS5kdW1wJiZFbT09PWUuZHVtcC5jaGFyQ29kZUF0KDApP2krPSItIjppKz0iLSAiLGkrPWUuZHVtcCk7ZS50YWc9bixlLmR1bXA9aXx8IltdIn1mdW5jdGlvbiBNTXIoZSx0LHIpe3ZhciBhPSIiLGk9ZS50YWcsbj1PYmplY3Qua2V5cyhyKSxzLG8sYyxsLHU7Zm9yKHM9MCxvPW4ubGVuZ3RoO3M8bztzKz0xKXU9IiIscyE9PTAmJih1Kz0iLCAiKSxlLmNvbmRlbnNlRmxvdyYmKHUrPSciJyksYz1uW3NdLGw9cltjXSxhZChlLHQsYywhMSwhMSkmJihlLmR1bXAubGVuZ3RoPjEwMjQmJih1Kz0iPyAiKSx1Kz1lLmR1bXArKGUuY29uZGVuc2VGbG93PyciJzoiIikrIjoiKyhlLmNvbmRlbnNlRmxvdz8iIjoiICIpLGFkKGUsdCxsLCExLCExKSYmKHUrPWUuZHVtcCxhKz11KSk7ZS50YWc9aSxlLmR1bXA9InsiK2ErIn0ifWZ1bmN0aW9uIGtNcihlLHQscixhKXt2YXIgaT0iIixuPWUudGFnLHM9T2JqZWN0LmtleXMociksbyxjLGwsdSxkLGg7aWYoZS5zb3J0S2V5cz09PSEwKXMuc29ydCgpO2Vsc2UgaWYodHlwZW9mIGUuc29ydEtleXM9PSJmdW5jdGlvbiIpcy5zb3J0KGUuc29ydEtleXMpO2Vsc2UgaWYoZS5zb3J0S2V5cyl0aHJvdyBuZXcgQW0oInNvcnRLZXlzIG11c3QgYmUgYSBib29sZWFuIG9yIGEgZnVuY3Rpb24iKTtmb3Iobz0wLGM9cy5sZW5ndGg7bzxjO28rPTEpaD0iIiwoIWF8fG8hPT0wKSYmKGgrPURWKGUsdCkpLGw9c1tvXSx1PXJbbF0sYWQoZSx0KzEsbCwhMCwhMCwhMCkmJihkPWUudGFnIT09bnVsbCYmZS50YWchPT0iPyJ8fGUuZHVtcCYmZS5kdW1wLmxlbmd0aD4xMDI0LGQmJihlLmR1bXAmJkVtPT09ZS5kdW1wLmNoYXJDb2RlQXQoMCk/aCs9Ij8iOmgrPSI/ICIpLGgrPWUuZHVtcCxkJiYoaCs9RFYoZSx0KSksYWQoZSx0KzEsdSwhMCxkKSYmKGUuZHVtcCYmRW09PT1lLmR1bXAuY2hhckNvZGVBdCgwKT9oKz0iOiI6aCs9IjogIixoKz1lLmR1bXAsaSs9aCkpO2UudGFnPW4sZS5kdW1wPWl8fCJ7fSJ9ZnVuY3Rpb24gcGtlKGUsdCxyKXt2YXIgYSxpLG4scyxvLGM7Zm9yKGk9cj9lLmV4cGxpY2l0VHlwZXM6ZS5pbXBsaWNpdFR5cGVzLG49MCxzPWkubGVuZ3RoO248cztuKz0xKWlmKG89aVtuXSwoby5pbnN0YW5jZU9mfHxvLnByZWRpY2F0ZSkmJighby5pbnN0YW5jZU9mfHx0eXBlb2YgdD09Im9iamVjdCImJnQgaW5zdGFuY2VvZiBvLmluc3RhbmNlT2YpJiYoIW8ucHJlZGljYXRlfHxvLnByZWRpY2F0ZSh0KSkpe2lmKGUudGFnPXI/by50YWc6Ij8iLG8ucmVwcmVzZW50KXtpZihjPWUuc3R5bGVNYXBbby50YWddfHxvLmRlZmF1bHRTdHlsZSxXTWUuY2FsbChvLnJlcHJlc2VudCk9PT0iW29iamVjdCBGdW5jdGlvbl0iKWE9by5yZXByZXNlbnQodCxjKTtlbHNlIGlmKEdNZS5jYWxsKG8ucmVwcmVzZW50LGMpKWE9by5yZXByZXNlbnRbY10odCxjKTtlbHNlIHRocm93IG5ldyBBbSgiITwiK28udGFnKyc+IHRhZyByZXNvbHZlciBhY2NlcHRzIG5vdCAiJytjKyciIHN0eWxlJyk7ZS5kdW1wPWF9cmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gYWQoZSx0LHIsYSxpLG4pe2UudGFnPW51bGwsZS5kdW1wPXIscGtlKGUsciwhMSl8fHBrZShlLHIsITApO3ZhciBzPVdNZS5jYWxsKGUuZHVtcCk7YSYmKGE9ZS5mbG93TGV2ZWw8MHx8ZS5mbG93TGV2ZWw+dCk7dmFyIG89cz09PSJbb2JqZWN0IE9iamVjdF0ifHxzPT09IltvYmplY3QgQXJyYXldIixjLGw7aWYobyYmKGM9ZS5kdXBsaWNhdGVzLmluZGV4T2YociksbD1jIT09LTEpLChlLnRhZyE9PW51bGwmJmUudGFnIT09Ij8ifHxsfHxlLmluZGVudCE9PTImJnQ+MCkmJihpPSExKSxsJiZlLnVzZWREdXBsaWNhdGVzW2NdKWUuZHVtcD0iKnJlZl8iK2M7ZWxzZXtpZihvJiZsJiYhZS51c2VkRHVwbGljYXRlc1tjXSYmKGUudXNlZER1cGxpY2F0ZXNbY109ITApLHM9PT0iW29iamVjdCBPYmplY3RdIilhJiZPYmplY3Qua2V5cyhlLmR1bXApLmxlbmd0aCE9PTA/KGtNcihlLHQsZS5kdW1wLGkpLGwmJihlLmR1bXA9IiZyZWZfIitjK2UuZHVtcCkpOihNTXIoZSx0LGUuZHVtcCksbCYmKGUuZHVtcD0iJnJlZl8iK2MrIiAiK2UuZHVtcCkpO2Vsc2UgaWYocz09PSJbb2JqZWN0IEFycmF5XSIpe3ZhciB1PWUubm9BcnJheUluZGVudCYmdD4wP3QtMTp0O2EmJmUuZHVtcC5sZW5ndGghPT0wPyh3TXIoZSx1LGUuZHVtcCxpKSxsJiYoZS5kdW1wPSImcmVmXyIrYytlLmR1bXApKTooeU1yKGUsdSxlLmR1bXApLGwmJihlLmR1bXA9IiZyZWZfIitjKyIgIitlLmR1bXApKX1lbHNlIGlmKHM9PT0iW29iamVjdCBTdHJpbmddIillLnRhZyE9PSI/IiYmYk1yKGUsZS5kdW1wLHQsbik7ZWxzZXtpZihlLnNraXBJbnZhbGlkKXJldHVybiExO3Rocm93IG5ldyBBbSgidW5hY2NlcHRhYmxlIGtpbmQgb2YgYW4gb2JqZWN0IHRvIGR1bXAgIitzKX1lLnRhZyE9PW51bGwmJmUudGFnIT09Ij8iJiYoZS5kdW1wPSIhPCIrZS50YWcrIj4gIitlLmR1bXApfXJldHVybiEwfWZ1bmN0aW9uIFNNcihlLHQpe3ZhciByPVtdLGE9W10saSxuO2ZvcihFVihlLHIsYSksaT0wLG49YS5sZW5ndGg7aTxuO2krPTEpdC5kdXBsaWNhdGVzLnB1c2goclthW2ldXSk7dC51c2VkRHVwbGljYXRlcz1uZXcgQXJyYXkobil9ZnVuY3Rpb24gRVYoZSx0LHIpe3ZhciBhLGksbjtpZihlIT09bnVsbCYmdHlwZW9mIGU9PSJvYmplY3QiKWlmKGk9dC5pbmRleE9mKGUpLGkhPT0tMSlyLmluZGV4T2YoaSk9PT0tMSYmci5wdXNoKGkpO2Vsc2UgaWYodC5wdXNoKGUpLEFycmF5LmlzQXJyYXkoZSkpZm9yKGk9MCxuPWUubGVuZ3RoO2k8bjtpKz0xKUVWKGVbaV0sdCxyKTtlbHNlIGZvcihhPU9iamVjdC5rZXlzKGUpLGk9MCxuPWEubGVuZ3RoO2k8bjtpKz0xKUVWKGVbYVtpXV0sdCxyKX1mdW5jdGlvbiBma2UoZSx0KXt0PXR8fHt9O3ZhciByPW5ldyBwTXIodCk7cmV0dXJuIHIubm9SZWZzfHxTTXIoZSxyKSxhZChyLDAsZSwhMCwhMCk/ci5kdW1wK2AKYDoiIn1mdW5jdGlvbiB6TXIoZSx0KXtyZXR1cm4gZmtlKGUsRG0uZXh0ZW5kKHtzY2hlbWE6R3dyfSx0KSl9SVYuZXhwb3J0cy5kdW1wPWZrZSxJVi5leHBvcnRzLnNhZmVEdW1wPXpNcn0pO3ZhciBna2U9amUoKHFQYSxMYSk9PnsidXNlIHN0cmljdCI7dmFyIGpNPVVNZSgpLG1rZT1oa2UoKTtmdW5jdGlvbiBWTShlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIkZ1bmN0aW9uICIrZSsiIGlzIGRlcHJlY2F0ZWQgYW5kIGNhbm5vdCBiZSB1c2VkLiIpfX1MYS5leHBvcnRzLlR5cGU9cGkoKSxMYS5leHBvcnRzLlNjaGVtYT1LMygpLExhLmV4cG9ydHMuRkFJTFNBRkVfU0NIRU1BPU5NKCksTGEuZXhwb3J0cy5KU09OX1NDSEVNQT16VigpLExhLmV4cG9ydHMuQ09SRV9TQ0hFTUE9Q1YoKSxMYS5leHBvcnRzLkRFRkFVTFRfU0FGRV9TQ0hFTUE9STUoKSxMYS5leHBvcnRzLkRFRkFVTFRfRlVMTF9TQ0hFTUE9TG0oKSxMYS5leHBvcnRzLmxvYWQ9ak0ubG9hZCxMYS5leHBvcnRzLmxvYWRBbGw9ak0ubG9hZEFsbCxMYS5leHBvcnRzLnNhZmVMb2FkPWpNLnNhZmVMb2FkLExhLmV4cG9ydHMuc2FmZUxvYWRBbGw9ak0uc2FmZUxvYWRBbGwsTGEuZXhwb3J0cy5kdW1wPW1rZS5kdW1wLExhLmV4cG9ydHMuc2FmZUR1bXA9bWtlLnNhZmVEdW1wLExhLmV4cG9ydHMuWUFNTEV4Y2VwdGlvbj1BNSgpLExhLmV4cG9ydHMuTUlOSU1BTF9TQ0hFTUE9Tk0oKSxMYS5leHBvcnRzLlNBRkVfU0NIRU1BPUk1KCksTGEuZXhwb3J0cy5ERUZBVUxUX1NDSEVNQT1MbSgpLExhLmV4cG9ydHMuc2Nhbj1WTSgic2NhbiIpLExhLmV4cG9ydHMucGFyc2U9Vk0oInBhcnNlIiksTGEuZXhwb3J0cy5jb21wb3NlPVZNKCJjb21wb3NlIiksTGEuZXhwb3J0cy5hZGRDb25zdHJ1Y3Rvcj1WTSgiYWRkQ29uc3RydWN0b3IiKX0pO3ZhciB2a2U9amUoKGpQYSxia2UpPT57InVzZSBzdHJpY3QiO3ZhciBDTXI9Z2tlKCk7YmtlLmV4cG9ydHM9Q01yfSk7dmFyIHhrZT1qZShiMj0+eyJ1c2Ugc3RyaWN0Ijt2YXIgVE1yPWIyJiZiMi5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQscixhKXthPT09dm9pZCAwJiYoYT1yKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxhLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pfSk6KGZ1bmN0aW9uKGUsdCxyLGEpe2E9PT12b2lkIDAmJihhPXIpLGVbYV09dFtyXX0pKSxfTXI9YjImJmIyLl9fc2V0TW9kdWxlRGVmYXVsdHx8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX0pOmZ1bmN0aW9uKGUsdCl7ZS5kZWZhdWx0PXR9KSxMTXI9YjImJmIyLl9faW1wb3J0U3Rhcnx8ZnVuY3Rpb24oZSl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKGUhPW51bGwpZm9yKHZhciByIGluIGUpciE9PSJkZWZhdWx0IiYmT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmVE1yKHQsZSxyKTtyZXR1cm4gX01yKHQsZSksdH07T2JqZWN0LmRlZmluZVByb3BlcnR5KGIyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxiMi5qc1lhbWw9dm9pZCAwO3ZhciAkTXI9TE1yKHZrZSgpKTtiMi5qc1lhbWw9JE1yfSk7dmFyIHdrZT1qZShncz0+eyJ1c2Ugc3RyaWN0Ijt2YXIgRE1yPWdzJiZncy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQscixhKXthPT09dm9pZCAwJiYoYT1yKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxhLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pfSk6KGZ1bmN0aW9uKGUsdCxyLGEpe2E9PT12b2lkIDAmJihhPXIpLGVbYV09dFtyXX0pKSxBTXI9Z3MmJmdzLl9fc2V0TW9kdWxlRGVmYXVsdHx8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX0pOmZ1bmN0aW9uKGUsdCl7ZS5kZWZhdWx0PXR9KSxFTXI9Z3MmJmdzLl9faW1wb3J0U3Rhcnx8ZnVuY3Rpb24oZSl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKGUhPW51bGwpZm9yKHZhciByIGluIGUpciE9PSJkZWZhdWx0IiYmT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmRE1yKHQsZSxyKTtyZXR1cm4gQU1yKHQsZSksdH07T2JqZWN0LmRlZmluZVByb3BlcnR5KGdzLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxncy5vYmplY3RUb1lhbWxTdHJpbmc9Z3MueWFtbFN0cmluZ1RvT2JqZWN0PXZvaWQgMDt2YXIgeWtlPUVNcih4a2UoKSk7Z3MueWFtbFN0cmluZ1RvT2JqZWN0PWFzeW5jKGUsdD17fSk9PnlrZS5qc1lhbWwuc2FmZUxvYWQoZSksZ3Mub2JqZWN0VG9ZYW1sU3RyaW5nPWFzeW5jKGUsdD17fSk9PnlrZS5qc1lhbWwuc2FmZUR1bXAoZSl9KTtmdW5jdGlvbiBQVihlKXtpZihlKXRocm93IGV9dmFyIE1rZT1mKCgpPT57fSk7dmFyIERrZT1qZSgoR1BhLCRrZSk9PnsidXNlIHN0cmljdCI7dmFyIFVNPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksa2tlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsU2tlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx6a2U9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixDa2U9ZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiBBcnJheS5pc0FycmF5PT0iZnVuY3Rpb24iP0FycmF5LmlzQXJyYXkodCk6a2tlLmNhbGwodCk9PT0iW29iamVjdCBBcnJheV0ifSxUa2U9ZnVuY3Rpb24odCl7aWYoIXR8fGtrZS5jYWxsKHQpIT09IltvYmplY3QgT2JqZWN0XSIpcmV0dXJuITE7dmFyIHI9VU0uY2FsbCh0LCJjb25zdHJ1Y3RvciIpLGE9dC5jb25zdHJ1Y3RvciYmdC5jb25zdHJ1Y3Rvci5wcm90b3R5cGUmJlVNLmNhbGwodC5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKTtpZih0LmNvbnN0cnVjdG9yJiYhciYmIWEpcmV0dXJuITE7dmFyIGk7Zm9yKGkgaW4gdCk7cmV0dXJuIHR5cGVvZiBpPiJ1Inx8VU0uY2FsbCh0LGkpfSxfa2U9ZnVuY3Rpb24odCxyKXtTa2UmJnIubmFtZT09PSJfX3Byb3RvX18iP1NrZSh0LHIubmFtZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsdmFsdWU6ci5uZXdWYWx1ZSx3cml0YWJsZTohMH0pOnRbci5uYW1lXT1yLm5ld1ZhbHVlfSxMa2U9ZnVuY3Rpb24odCxyKXtpZihyPT09Il9fcHJvdG9fXyIpaWYoVU0uY2FsbCh0LHIpKXtpZih6a2UpcmV0dXJuIHprZSh0LHIpLnZhbHVlfWVsc2UgcmV0dXJuO3JldHVybiB0W3JdfTska2UuZXhwb3J0cz1mdW5jdGlvbiBlKCl7dmFyIHQscixhLGksbixzLG89YXJndW1lbnRzWzBdLGM9MSxsPWFyZ3VtZW50cy5sZW5ndGgsdT0hMTtmb3IodHlwZW9mIG89PSJib29sZWFuIiYmKHU9byxvPWFyZ3VtZW50c1sxXXx8e30sYz0yKSwobz09bnVsbHx8dHlwZW9mIG8hPSJvYmplY3QiJiZ0eXBlb2YgbyE9ImZ1bmN0aW9uIikmJihvPXt9KTtjPGw7KytjKWlmKHQ9YXJndW1lbnRzW2NdLHQhPW51bGwpZm9yKHIgaW4gdClhPUxrZShvLHIpLGk9TGtlKHQsciksbyE9PWkmJih1JiZpJiYoVGtlKGkpfHwobj1Da2UoaSkpKT8obj8obj0hMSxzPWEmJkNrZShhKT9hOltdKTpzPWEmJlRrZShhKT9hOnt9LF9rZShvLHtuYW1lOnIsbmV3VmFsdWU6ZSh1LHMsaSl9KSk6dHlwZW9mIGk8InUiJiZfa2Uobyx7bmFtZTpyLG5ld1ZhbHVlOml9KSk7cmV0dXJuIG99fSk7dmFyIEUwPWYoKCk9Pnt9KTtmdW5jdGlvbiBJbShlKXtpZih0eXBlb2YgZSE9Im9iamVjdCJ8fGU9PT1udWxsKXJldHVybiExO2xldCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4odD09PW51bGx8fHQ9PT1PYmplY3QucHJvdG90eXBlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1udWxsKSYmIShTeW1ib2wudG9TdHJpbmdUYWcgaW4gZSkmJiEoU3ltYm9sLml0ZXJhdG9yIGluIGUpfXZhciBBa2U9ZigoKT0+e30pO2Z1bmN0aW9uIE5WKCl7bGV0IGU9W10sdD17cnVuOnIsdXNlOmF9O3JldHVybiB0O2Z1bmN0aW9uIHIoLi4uaSl7bGV0IG49LTEscz1pLnBvcCgpO2lmKHR5cGVvZiBzIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGZ1bmN0aW9uIGFzIGxhc3QgYXJndW1lbnQsIG5vdCAiK3MpO28obnVsbCwuLi5pKTtmdW5jdGlvbiBvKGMsLi4ubCl7bGV0IHU9ZVsrK25dLGQ9LTE7aWYoYyl7cyhjKTtyZXR1cm59Zm9yKDsrK2Q8aS5sZW5ndGg7KShsW2RdPT09bnVsbHx8bFtkXT09PXZvaWQgMCkmJihsW2RdPWlbZF0pO2k9bCx1P0VrZSh1LG8pKC4uLmwpOnMobnVsbCwuLi5sKX19ZnVuY3Rpb24gYShpKXtpZih0eXBlb2YgaSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBgbWlkZGVsd2FyZWAgdG8gYmUgYSBmdW5jdGlvbiwgbm90ICIraSk7cmV0dXJuIGUucHVzaChpKSx0fX1mdW5jdGlvbiBFa2UoZSx0KXtsZXQgcjtyZXR1cm4gYTtmdW5jdGlvbiBhKC4uLnMpe2xldCBvPWUubGVuZ3RoPnMubGVuZ3RoLGM7byYmcy5wdXNoKGkpO3RyeXtjPWUuYXBwbHkodGhpcyxzKX1jYXRjaChsKXtsZXQgdT1sO2lmKG8mJnIpdGhyb3cgdTtyZXR1cm4gaSh1KX1vfHwoYyYmYy50aGVuJiZ0eXBlb2YgYy50aGVuPT0iZnVuY3Rpb24iP2MudGhlbihuLGkpOmMgaW5zdGFuY2VvZiBFcnJvcj9pKGMpOm4oYykpfWZ1bmN0aW9uIGkocywuLi5vKXtyfHwocj0hMCx0KHMsLi4ubykpfWZ1bmN0aW9uIG4ocyl7aShudWxsLHMpfX12YXIgSWtlPWYoKCk9Pnt9KTt2YXIgUGtlPWYoKCk9PntJa2UoKX0pO2Z1bmN0aW9uIEkwKGUpe3JldHVybiFlfHx0eXBlb2YgZSE9Im9iamVjdCI/IiI6InBvc2l0aW9uImluIGV8fCJ0eXBlImluIGU/TmtlKGUucG9zaXRpb24pOiJzdGFydCJpbiBlfHwiZW5kImluIGU/TmtlKGUpOiJsaW5lImluIGV8fCJjb2x1bW4iaW4gZT9GVihlKToiIn1mdW5jdGlvbiBGVihlKXtyZXR1cm4gRmtlKGUmJmUubGluZSkrIjoiK0ZrZShlJiZlLmNvbHVtbil9ZnVuY3Rpb24gTmtlKGUpe3JldHVybiBGVihlJiZlLnN0YXJ0KSsiLSIrRlYoZSYmZS5lbmQpfWZ1bmN0aW9uIEZrZShlKXtyZXR1cm4gZSYmdHlwZW9mIGU9PSJudW1iZXIiP2U6MX12YXIgT2tlPWYoKCk9Pnt9KTt2YXIgT1Y9ZigoKT0+e09rZSgpfSk7dmFyIExpLFJrZT1mKCgpPT57T1YoKTtMaT1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscixhKXtzdXBlcigpLHR5cGVvZiByPT0ic3RyaW5nIiYmKGE9cixyPXZvaWQgMCk7bGV0IGk9IiIsbj17fSxzPSExO2lmKHImJigibGluZSJpbiByJiYiY29sdW1uImluIHI/bj17cGxhY2U6cn06InN0YXJ0ImluIHImJiJlbmQiaW4gcj9uPXtwbGFjZTpyfToidHlwZSJpbiByP249e2FuY2VzdG9yczpbcl0scGxhY2U6ci5wb3NpdGlvbn06bj17Li4ucn0pLHR5cGVvZiB0PT0ic3RyaW5nIj9pPXQ6IW4uY2F1c2UmJnQmJihzPSEwLGk9dC5tZXNzYWdlLG4uY2F1c2U9dCksIW4ucnVsZUlkJiYhbi5zb3VyY2UmJnR5cGVvZiBhPT0ic3RyaW5nIil7bGV0IGM9YS5pbmRleE9mKCI6Iik7Yz09PS0xP24ucnVsZUlkPWE6KG4uc291cmNlPWEuc2xpY2UoMCxjKSxuLnJ1bGVJZD1hLnNsaWNlKGMrMSkpfWlmKCFuLnBsYWNlJiZuLmFuY2VzdG9ycyYmbi5hbmNlc3RvcnMpe2xldCBjPW4uYW5jZXN0b3JzW24uYW5jZXN0b3JzLmxlbmd0aC0xXTtjJiYobi5wbGFjZT1jLnBvc2l0aW9uKX1sZXQgbz1uLnBsYWNlJiYic3RhcnQiaW4gbi5wbGFjZT9uLnBsYWNlLnN0YXJ0Om4ucGxhY2U7dGhpcy5hbmNlc3RvcnM9bi5hbmNlc3RvcnN8fHZvaWQgMCx0aGlzLmNhdXNlPW4uY2F1c2V8fHZvaWQgMCx0aGlzLmNvbHVtbj1vP28uY29sdW1uOnZvaWQgMCx0aGlzLmZhdGFsPXZvaWQgMCx0aGlzLmZpbGU9IiIsdGhpcy5tZXNzYWdlPWksdGhpcy5saW5lPW8/by5saW5lOnZvaWQgMCx0aGlzLm5hbWU9STAobi5wbGFjZSl8fCIxOjEiLHRoaXMucGxhY2U9bi5wbGFjZXx8dm9pZCAwLHRoaXMucmVhc29uPXRoaXMubWVzc2FnZSx0aGlzLnJ1bGVJZD1uLnJ1bGVJZHx8dm9pZCAwLHRoaXMuc291cmNlPW4uc291cmNlfHx2b2lkIDAsdGhpcy5zdGFjaz1zJiZuLmNhdXNlJiZ0eXBlb2Ygbi5jYXVzZS5zdGFjaz09InN0cmluZyI/bi5jYXVzZS5zdGFjazoiIix0aGlzLmFjdHVhbD12b2lkIDAsdGhpcy5leHBlY3RlZD12b2lkIDAsdGhpcy5ub3RlPXZvaWQgMCx0aGlzLnVybD12b2lkIDB9fTtMaS5wcm90b3R5cGUuZmlsZT0iIixMaS5wcm90b3R5cGUubmFtZT0iIixMaS5wcm90b3R5cGUucmVhc29uPSIiLExpLnByb3RvdHlwZS5tZXNzYWdlPSIiLExpLnByb3RvdHlwZS5zdGFjaz0iIixMaS5wcm90b3R5cGUuY29sdW1uPXZvaWQgMCxMaS5wcm90b3R5cGUubGluZT12b2lkIDAsTGkucHJvdG90eXBlLmFuY2VzdG9ycz12b2lkIDAsTGkucHJvdG90eXBlLmNhdXNlPXZvaWQgMCxMaS5wcm90b3R5cGUuZmF0YWw9dm9pZCAwLExpLnByb3RvdHlwZS5wbGFjZT12b2lkIDAsTGkucHJvdG90eXBlLnJ1bGVJZD12b2lkIDAsTGkucHJvdG90eXBlLnNvdXJjZT12b2lkIDB9KTt2YXIgQmtlPWYoKCk9PntSa2UoKX0pO2Z1bmN0aW9uIElNcihlLHQpe2lmKHQhPT12b2lkIDAmJnR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCciZXh0IiBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nJyk7UG0oZSk7bGV0IHI9MCxhPS0xLGk9ZS5sZW5ndGgsbjtpZih0PT09dm9pZCAwfHx0Lmxlbmd0aD09PTB8fHQubGVuZ3RoPmUubGVuZ3RoKXtmb3IoO2ktLTspaWYoZS5jb2RlUG9pbnRBdChpKT09PTQ3KXtpZihuKXtyPWkrMTticmVha319ZWxzZSBhPDAmJihuPSEwLGE9aSsxKTtyZXR1cm4gYTwwPyIiOmUuc2xpY2UocixhKX1pZih0PT09ZSlyZXR1cm4iIjtsZXQgcz0tMSxvPXQubGVuZ3RoLTE7Zm9yKDtpLS07KWlmKGUuY29kZVBvaW50QXQoaSk9PT00Nyl7aWYobil7cj1pKzE7YnJlYWt9fWVsc2UgczwwJiYobj0hMCxzPWkrMSksbz4tMSYmKGUuY29kZVBvaW50QXQoaSk9PT10LmNvZGVQb2ludEF0KG8tLSk/bzwwJiYoYT1pKToobz0tMSxhPXMpKTtyZXR1cm4gcj09PWE/YT1zOmE8MCYmKGE9ZS5sZW5ndGgpLGUuc2xpY2UocixhKX1mdW5jdGlvbiBQTXIoZSl7aWYoUG0oZSksZS5sZW5ndGg9PT0wKXJldHVybiIuIjtsZXQgdD0tMSxyPWUubGVuZ3RoLGE7Zm9yKDstLXI7KWlmKGUuY29kZVBvaW50QXQocik9PT00Nyl7aWYoYSl7dD1yO2JyZWFrfX1lbHNlIGF8fChhPSEwKTtyZXR1cm4gdDwwP2UuY29kZVBvaW50QXQoMCk9PT00Nz8iLyI6Ii4iOnQ9PT0xJiZlLmNvZGVQb2ludEF0KDApPT09NDc/Ii8vIjplLnNsaWNlKDAsdCl9ZnVuY3Rpb24gTk1yKGUpe1BtKGUpO2xldCB0PWUubGVuZ3RoLHI9LTEsYT0wLGk9LTEsbj0wLHM7Zm9yKDt0LS07KXtsZXQgbz1lLmNvZGVQb2ludEF0KHQpO2lmKG89PT00Nyl7aWYocyl7YT10KzE7YnJlYWt9Y29udGludWV9cjwwJiYocz0hMCxyPXQrMSksbz09PTQ2P2k8MD9pPXQ6biE9PTEmJihuPTEpOmk+LTEmJihuPS0xKX1yZXR1cm4gaTwwfHxyPDB8fG49PT0wfHxuPT09MSYmaT09PXItMSYmaT09PWErMT8iIjplLnNsaWNlKGkscil9ZnVuY3Rpb24gRk1yKC4uLmUpe2xldCB0PS0xLHI7Zm9yKDsrK3Q8ZS5sZW5ndGg7KVBtKGVbdF0pLGVbdF0mJihyPXI9PT12b2lkIDA/ZVt0XTpyKyIvIitlW3RdKTtyZXR1cm4gcj09PXZvaWQgMD8iLiI6T01yKHIpfWZ1bmN0aW9uIE9NcihlKXtQbShlKTtsZXQgdD1lLmNvZGVQb2ludEF0KDApPT09NDcscj1STXIoZSwhdCk7cmV0dXJuIHIubGVuZ3RoPT09MCYmIXQmJihyPSIuIiksci5sZW5ndGg+MCYmZS5jb2RlUG9pbnRBdChlLmxlbmd0aC0xKT09PTQ3JiYocis9Ii8iKSx0PyIvIityOnJ9ZnVuY3Rpb24gUk1yKGUsdCl7bGV0IHI9IiIsYT0wLGk9LTEsbj0wLHM9LTEsbyxjO2Zvcig7KytzPD1lLmxlbmd0aDspe2lmKHM8ZS5sZW5ndGgpbz1lLmNvZGVQb2ludEF0KHMpO2Vsc2V7aWYobz09PTQ3KWJyZWFrO289NDd9aWYobz09PTQ3KXtpZighKGk9PT1zLTF8fG49PT0xKSlpZihpIT09cy0xJiZuPT09Mil7aWYoci5sZW5ndGg8Mnx8YSE9PTJ8fHIuY29kZVBvaW50QXQoci5sZW5ndGgtMSkhPT00Nnx8ci5jb2RlUG9pbnRBdChyLmxlbmd0aC0yKSE9PTQ2KXtpZihyLmxlbmd0aD4yKXtpZihjPXIubGFzdEluZGV4T2YoIi8iKSxjIT09ci5sZW5ndGgtMSl7YzwwPyhyPSIiLGE9MCk6KHI9ci5zbGljZSgwLGMpLGE9ci5sZW5ndGgtMS1yLmxhc3RJbmRleE9mKCIvIikpLGk9cyxuPTA7Y29udGludWV9fWVsc2UgaWYoci5sZW5ndGg+MCl7cj0iIixhPTAsaT1zLG49MDtjb250aW51ZX19dCYmKHI9ci5sZW5ndGg+MD9yKyIvLi4iOiIuLiIsYT0yKX1lbHNlIHIubGVuZ3RoPjA/cis9Ii8iK2Uuc2xpY2UoaSsxLHMpOnI9ZS5zbGljZShpKzEscyksYT1zLWktMTtpPXMsbj0wfWVsc2Ugbz09PTQ2JiZuPi0xP24rKzpuPS0xfXJldHVybiByfWZ1bmN0aW9uIFBtKGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXRoIG11c3QgYmUgYSBzdHJpbmcuIFJlY2VpdmVkICIrSlNPTi5zdHJpbmdpZnkoZSkpfXZhciBmbyxIa2U9ZigoKT0+e2ZvPXtiYXNlbmFtZTpJTXIsZGlybmFtZTpQTXIsZXh0bmFtZTpOTXIsam9pbjpGTXIsc2VwOiIvIn19KTtmdW5jdGlvbiBCTXIoKXtyZXR1cm4iLyJ9dmFyIHFrZSxqa2U9ZigoKT0+e3FrZT17Y3dkOkJNcn19KTtmdW5jdGlvbiBSNShlKXtyZXR1cm4hIShlIT09bnVsbCYmdHlwZW9mIGU9PSJvYmplY3QiJiYiaHJlZiJpbiBlJiZlLmhyZWYmJiJwcm90b2NvbCJpbiBlJiZlLnByb3RvY29sJiZlLmF1dGg9PT12b2lkIDApfXZhciBSVj1mKCgpPT57fSk7ZnVuY3Rpb24gVmtlKGUpe2lmKHR5cGVvZiBlPT0ic3RyaW5nIillPW5ldyBVUkwoZSk7ZWxzZSBpZighUjUoZSkpe2xldCB0PW5ldyBUeXBlRXJyb3IoJ1RoZSAicGF0aCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZyBvciBhbiBpbnN0YW5jZSBvZiBVUkwuIFJlY2VpdmVkIGAnK2UrImAiKTt0aHJvdyB0LmNvZGU9IkVSUl9JTlZBTElEX0FSR19UWVBFIix0fWlmKGUucHJvdG9jb2whPT0iZmlsZToiKXtsZXQgdD1uZXcgVHlwZUVycm9yKCJUaGUgVVJMIG11c3QgYmUgb2Ygc2NoZW1lIGZpbGUiKTt0aHJvdyB0LmNvZGU9IkVSUl9JTlZBTElEX1VSTF9TQ0hFTUUiLHR9cmV0dXJuIEhNcihlKX1mdW5jdGlvbiBITXIoZSl7aWYoZS5ob3N0bmFtZSE9PSIiKXtsZXQgYT1uZXcgVHlwZUVycm9yKCdGaWxlIFVSTCBob3N0IG11c3QgYmUgImxvY2FsaG9zdCIgb3IgZW1wdHkgb24gZGFyd2luJyk7dGhyb3cgYS5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9IT1NUIixhfWxldCB0PWUucGF0aG5hbWUscj0tMTtmb3IoOysrcjx0Lmxlbmd0aDspaWYodC5jb2RlUG9pbnRBdChyKT09PTM3JiZ0LmNvZGVQb2ludEF0KHIrMSk9PT01MCl7bGV0IGE9dC5jb2RlUG9pbnRBdChyKzIpO2lmKGE9PT03MHx8YT09PTEwMil7bGV0IGk9bmV3IFR5cGVFcnJvcigiRmlsZSBVUkwgcGF0aCBtdXN0IG5vdCBpbmNsdWRlIGVuY29kZWQgLyBjaGFyYWN0ZXJzIik7dGhyb3cgaS5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9QQVRIIixpfX1yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQpfXZhciBVa2U9ZigoKT0+e1JWKCk7UlYoKX0pO2Z1bmN0aW9uIEhWKGUsdCl7aWYoZSYmZS5pbmNsdWRlcyhmby5zZXApKXRocm93IG5ldyBFcnJvcigiYCIrdCsiYCBjYW5ub3QgYmUgYSBwYXRoOiBkaWQgbm90IGV4cGVjdCBgIitmby5zZXArImAiKX1mdW5jdGlvbiBxVihlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcigiYCIrdCsiYCBjYW5ub3QgYmUgZW1wdHkiKX1mdW5jdGlvbiBXa2UoZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIlNldHRpbmcgYCIrdCsiYCByZXF1aXJlcyBgcGF0aGAgdG8gYmUgc2V0IHRvbyIpfWZ1bmN0aW9uIHFNcihlKXtyZXR1cm4hIShlJiZ0eXBlb2YgZT09Im9iamVjdCImJiJieXRlTGVuZ3RoImluIGUmJiJieXRlT2Zmc2V0ImluIGUpfXZhciBCVixObSxHa2U9ZigoKT0+e0JrZSgpO0hrZSgpO2prZSgpO1VrZSgpO0JWPVsiaGlzdG9yeSIsInBhdGgiLCJiYXNlbmFtZSIsInN0ZW0iLCJleHRuYW1lIiwiZGlybmFtZSJdLE5tPWNsYXNze2NvbnN0cnVjdG9yKHQpe2xldCByO3Q/UjUodCk/cj17cGF0aDp0fTp0eXBlb2YgdD09InN0cmluZyJ8fHFNcih0KT9yPXt2YWx1ZTp0fTpyPXQ6cj17fSx0aGlzLmN3ZD0iY3dkImluIHI/IiI6cWtlLmN3ZCgpLHRoaXMuZGF0YT17fSx0aGlzLmhpc3Rvcnk9W10sdGhpcy5tZXNzYWdlcz1bXSx0aGlzLnZhbHVlLHRoaXMubWFwLHRoaXMucmVzdWx0LHRoaXMuc3RvcmVkO2xldCBhPS0xO2Zvcig7KythPEJWLmxlbmd0aDspe2xldCBuPUJWW2FdO24gaW4gciYmcltuXSE9PXZvaWQgMCYmcltuXSE9PW51bGwmJih0aGlzW25dPW49PT0iaGlzdG9yeSI/Wy4uLnJbbl1dOnJbbl0pfWxldCBpO2ZvcihpIGluIHIpQlYuaW5jbHVkZXMoaSl8fCh0aGlzW2ldPXJbaV0pfWdldCBiYXNlbmFtZSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj9mby5iYXNlbmFtZSh0aGlzLnBhdGgpOnZvaWQgMH1zZXQgYmFzZW5hbWUodCl7cVYodCwiYmFzZW5hbWUiKSxIVih0LCJiYXNlbmFtZSIpLHRoaXMucGF0aD1mby5qb2luKHRoaXMuZGlybmFtZXx8IiIsdCl9Z2V0IGRpcm5hbWUoKXtyZXR1cm4gdHlwZW9mIHRoaXMucGF0aD09InN0cmluZyI/Zm8uZGlybmFtZSh0aGlzLnBhdGgpOnZvaWQgMH1zZXQgZGlybmFtZSh0KXtXa2UodGhpcy5iYXNlbmFtZSwiZGlybmFtZSIpLHRoaXMucGF0aD1mby5qb2luKHR8fCIiLHRoaXMuYmFzZW5hbWUpfWdldCBleHRuYW1lKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PSJzdHJpbmciP2ZvLmV4dG5hbWUodGhpcy5wYXRoKTp2b2lkIDB9c2V0IGV4dG5hbWUodCl7aWYoSFYodCwiZXh0bmFtZSIpLFdrZSh0aGlzLmRpcm5hbWUsImV4dG5hbWUiKSx0KXtpZih0LmNvZGVQb2ludEF0KDApIT09NDYpdGhyb3cgbmV3IEVycm9yKCJgZXh0bmFtZWAgbXVzdCBzdGFydCB3aXRoIGAuYCIpO2lmKHQuaW5jbHVkZXMoIi4iLDEpKXRocm93IG5ldyBFcnJvcigiYGV4dG5hbWVgIGNhbm5vdCBjb250YWluIG11bHRpcGxlIGRvdHMiKX10aGlzLnBhdGg9Zm8uam9pbih0aGlzLmRpcm5hbWUsdGhpcy5zdGVtKyh0fHwiIikpfWdldCBwYXRoKCl7cmV0dXJuIHRoaXMuaGlzdG9yeVt0aGlzLmhpc3RvcnkubGVuZ3RoLTFdfXNldCBwYXRoKHQpe1I1KHQpJiYodD1Wa2UodCkpLHFWKHQsInBhdGgiKSx0aGlzLnBhdGghPT10JiZ0aGlzLmhpc3RvcnkucHVzaCh0KX1nZXQgc3RlbSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj9mby5iYXNlbmFtZSh0aGlzLnBhdGgsdGhpcy5leHRuYW1lKTp2b2lkIDB9c2V0IHN0ZW0odCl7cVYodCwic3RlbSIpLEhWKHQsInN0ZW0iKSx0aGlzLnBhdGg9Zm8uam9pbih0aGlzLmRpcm5hbWV8fCIiLHQrKHRoaXMuZXh0bmFtZXx8IiIpKX1mYWlsKHQscixhKXtsZXQgaT10aGlzLm1lc3NhZ2UodCxyLGEpO3Rocm93IGkuZmF0YWw9ITAsaX1pbmZvKHQscixhKXtsZXQgaT10aGlzLm1lc3NhZ2UodCxyLGEpO3JldHVybiBpLmZhdGFsPXZvaWQgMCxpfW1lc3NhZ2UodCxyLGEpe2xldCBpPW5ldyBMaSh0LHIsYSk7cmV0dXJuIHRoaXMucGF0aCYmKGkubmFtZT10aGlzLnBhdGgrIjoiK2kubmFtZSxpLmZpbGU9dGhpcy5wYXRoKSxpLmZhdGFsPSExLHRoaXMubWVzc2FnZXMucHVzaChpKSxpfXRvU3RyaW5nKHQpe3JldHVybiB0aGlzLnZhbHVlPT09dm9pZCAwPyIiOnR5cGVvZiB0aGlzLnZhbHVlPT0ic3RyaW5nIj90aGlzLnZhbHVlOm5ldyBUZXh0RGVjb2Rlcih0fHx2b2lkIDApLmRlY29kZSh0aGlzLnZhbHVlKX19fSk7dmFyIFlrZT1mKCgpPT57R2tlKCl9KTt2YXIgWmtlLFhrZT1mKCgpPT57WmtlPShmdW5jdGlvbihlKXtsZXQgYT10aGlzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxpPWFbZV0sbj1mdW5jdGlvbigpe3JldHVybiBpLmFwcGx5KG4sYXJndW1lbnRzKX07cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihuLGEpLG59KX0pO2Z1bmN0aW9uIFZWKGUsdCl7aWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGAiK2UrImAgd2l0aG91dCBgcGFyc2VyYCIpfWZ1bmN0aW9uIFVWKGUsdCl7aWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGAiK2UrImAgd2l0aG91dCBgY29tcGlsZXJgIil9ZnVuY3Rpb24gV1YoZSx0KXtpZih0KXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNhbGwgYCIrZSsiYCBvbiBhIGZyb3plbiBwcm9jZXNzb3IuXG5DcmVhdGUgYSBuZXcgcHJvY2Vzc29yIGZpcnN0LCBieSBjYWxsaW5nIGl0OiB1c2UgYHByb2Nlc3NvcigpYCBpbnN0ZWFkIG9mIGBwcm9jZXNzb3JgLiIpfWZ1bmN0aW9uIFFrZShlKXtpZighSW0oZSl8fHR5cGVvZiBlLnR5cGUhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIG5vZGUsIGdvdCBgIitlKyJgIil9ZnVuY3Rpb24gSmtlKGUsdCxyKXtpZighcil0aHJvdyBuZXcgRXJyb3IoImAiK2UrImAgZmluaXNoZWQgYXN5bmMuIFVzZSBgIit0KyJgIGluc3RlYWQiKX1mdW5jdGlvbiBXTShlKXtyZXR1cm4gVk1yKGUpP2U6bmV3IE5tKGUpfWZ1bmN0aW9uIFZNcihlKXtyZXR1cm4hIShlJiZ0eXBlb2YgZT09Im9iamVjdCImJiJtZXNzYWdlImluIGUmJiJtZXNzYWdlcyJpbiBlKX1mdW5jdGlvbiBVTXIoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nInx8V01yKGUpfWZ1bmN0aW9uIFdNcihlKXtyZXR1cm4hIShlJiZ0eXBlb2YgZT09Im9iamVjdCImJiJieXRlTGVuZ3RoImluIGUmJiJieXRlT2Zmc2V0ImluIGUpfXZhciBHTSxqTXIsalYsRm0sS2tlPWYoKCk9PntNa2UoKTtHTT1zcihEa2UoKSwxKTtFMCgpO0FrZSgpO1BrZSgpO1lrZSgpO1hrZSgpO2pNcj17fS5oYXNPd25Qcm9wZXJ0eSxqVj1jbGFzcyBlIGV4dGVuZHMgWmtle2NvbnN0cnVjdG9yKCl7c3VwZXIoImNvcHkiKSx0aGlzLkNvbXBpbGVyPXZvaWQgMCx0aGlzLlBhcnNlcj12b2lkIDAsdGhpcy5hdHRhY2hlcnM9W10sdGhpcy5jb21waWxlcj12b2lkIDAsdGhpcy5mcmVlemVJbmRleD0tMSx0aGlzLmZyb3plbj12b2lkIDAsdGhpcy5uYW1lc3BhY2U9e30sdGhpcy5wYXJzZXI9dm9pZCAwLHRoaXMudHJhbnNmb3JtZXJzPU5WKCl9Y29weSgpe2xldCB0PW5ldyBlLHI9LTE7Zm9yKDsrK3I8dGhpcy5hdHRhY2hlcnMubGVuZ3RoOyl7bGV0IGE9dGhpcy5hdHRhY2hlcnNbcl07dC51c2UoLi4uYSl9cmV0dXJuIHQuZGF0YSgoMCxHTS5kZWZhdWx0KSghMCx7fSx0aGlzLm5hbWVzcGFjZSkpLHR9ZGF0YSh0LHIpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyI/YXJndW1lbnRzLmxlbmd0aD09PTI/KFdWKCJkYXRhIix0aGlzLmZyb3plbiksdGhpcy5uYW1lc3BhY2VbdF09cix0aGlzKTpqTXIuY2FsbCh0aGlzLm5hbWVzcGFjZSx0KSYmdGhpcy5uYW1lc3BhY2VbdF18fHZvaWQgMDp0PyhXVigiZGF0YSIsdGhpcy5mcm96ZW4pLHRoaXMubmFtZXNwYWNlPXQsdGhpcyk6dGhpcy5uYW1lc3BhY2V9ZnJlZXplKCl7aWYodGhpcy5mcm96ZW4pcmV0dXJuIHRoaXM7bGV0IHQ9dGhpcztmb3IoOysrdGhpcy5mcmVlemVJbmRleDx0aGlzLmF0dGFjaGVycy5sZW5ndGg7KXtsZXRbciwuLi5hXT10aGlzLmF0dGFjaGVyc1t0aGlzLmZyZWV6ZUluZGV4XTtpZihhWzBdPT09ITEpY29udGludWU7YVswXT09PSEwJiYoYVswXT12b2lkIDApO2xldCBpPXIuY2FsbCh0LC4uLmEpO3R5cGVvZiBpPT0iZnVuY3Rpb24iJiZ0aGlzLnRyYW5zZm9ybWVycy51c2UoaSl9cmV0dXJuIHRoaXMuZnJvemVuPSEwLHRoaXMuZnJlZXplSW5kZXg9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHRoaXN9cGFyc2UodCl7dGhpcy5mcmVlemUoKTtsZXQgcj1XTSh0KSxhPXRoaXMucGFyc2VyfHx0aGlzLlBhcnNlcjtyZXR1cm4gVlYoInBhcnNlIixhKSxhKFN0cmluZyhyKSxyKX1wcm9jZXNzKHQscil7bGV0IGE9dGhpcztyZXR1cm4gdGhpcy5mcmVlemUoKSxWVigicHJvY2VzcyIsdGhpcy5wYXJzZXJ8fHRoaXMuUGFyc2VyKSxVVigicHJvY2VzcyIsdGhpcy5jb21waWxlcnx8dGhpcy5Db21waWxlcikscj9pKHZvaWQgMCxyKTpuZXcgUHJvbWlzZShpKTtmdW5jdGlvbiBpKG4scyl7bGV0IG89V00odCksYz1hLnBhcnNlKG8pO2EucnVuKGMsbyxmdW5jdGlvbih1LGQsaCl7aWYodXx8IWR8fCFoKXJldHVybiBsKHUpO2xldCBtPWQsdj1hLnN0cmluZ2lmeShtLGgpO1VNcih2KT9oLnZhbHVlPXY6aC5yZXN1bHQ9dixsKHUsaCl9KTtmdW5jdGlvbiBsKHUsZCl7dXx8IWQ/cyh1KTpuP24oZCk6cih2b2lkIDAsZCl9fX1wcm9jZXNzU3luYyh0KXtsZXQgcj0hMSxhO3JldHVybiB0aGlzLmZyZWV6ZSgpLFZWKCJwcm9jZXNzU3luYyIsdGhpcy5wYXJzZXJ8fHRoaXMuUGFyc2VyKSxVVigicHJvY2Vzc1N5bmMiLHRoaXMuY29tcGlsZXJ8fHRoaXMuQ29tcGlsZXIpLHRoaXMucHJvY2Vzcyh0LGkpLEprZSgicHJvY2Vzc1N5bmMiLCJwcm9jZXNzIixyKSxhO2Z1bmN0aW9uIGkobixzKXtyPSEwLFBWKG4pLGE9c319cnVuKHQscixhKXtRa2UodCksdGhpcy5mcmVlemUoKTtsZXQgaT10aGlzLnRyYW5zZm9ybWVycztyZXR1cm4hYSYmdHlwZW9mIHI9PSJmdW5jdGlvbiImJihhPXIscj12b2lkIDApLGE/bih2b2lkIDAsYSk6bmV3IFByb21pc2Uobik7ZnVuY3Rpb24gbihzLG8pe2xldCBjPVdNKHIpO2kucnVuKHQsYyxsKTtmdW5jdGlvbiBsKHUsZCxoKXtsZXQgbT1kfHx0O3U/byh1KTpzP3MobSk6YSh2b2lkIDAsbSxoKX19fXJ1blN5bmModCxyKXtsZXQgYT0hMSxpO3JldHVybiB0aGlzLnJ1bih0LHIsbiksSmtlKCJydW5TeW5jIiwicnVuIixhKSxpO2Z1bmN0aW9uIG4ocyxvKXtQVihzKSxpPW8sYT0hMH19c3RyaW5naWZ5KHQscil7dGhpcy5mcmVlemUoKTtsZXQgYT1XTShyKSxpPXRoaXMuY29tcGlsZXJ8fHRoaXMuQ29tcGlsZXI7cmV0dXJuIFVWKCJzdHJpbmdpZnkiLGkpLFFrZSh0KSxpKHQsYSl9dXNlKHQsLi4ucil7bGV0IGE9dGhpcy5hdHRhY2hlcnMsaT10aGlzLm5hbWVzcGFjZTtpZihXVigidXNlIix0aGlzLmZyb3plbiksdCE9bnVsbClpZih0eXBlb2YgdD09ImZ1bmN0aW9uIiljKHQscik7ZWxzZSBpZih0eXBlb2YgdD09Im9iamVjdCIpQXJyYXkuaXNBcnJheSh0KT9vKHQpOnModCk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCB1c2FibGUgdmFsdWUsIG5vdCBgIit0KyJgIik7cmV0dXJuIHRoaXM7ZnVuY3Rpb24gbihsKXtpZih0eXBlb2YgbD09ImZ1bmN0aW9uIiljKGwsW10pO2Vsc2UgaWYodHlwZW9mIGw9PSJvYmplY3QiKWlmKEFycmF5LmlzQXJyYXkobCkpe2xldFt1LC4uLmRdPWw7Yyh1LGQpfWVsc2UgcyhsKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHVzYWJsZSB2YWx1ZSwgbm90IGAiK2wrImAiKX1mdW5jdGlvbiBzKGwpe2lmKCEoInBsdWdpbnMiaW4gbCkmJiEoInNldHRpbmdzImluIGwpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdXNhYmxlIHZhbHVlIGJ1dCByZWNlaXZlZCBhbiBlbXB0eSBwcmVzZXQsIHdoaWNoIGlzIHByb2JhYmx5IGEgbWlzdGFrZTogcHJlc2V0cyB0eXBpY2FsbHkgY29tZSB3aXRoIGBwbHVnaW5zYCBhbmQgc29tZXRpbWVzIHdpdGggYHNldHRpbmdzYCwgYnV0IHRoaXMgaGFzIG5laXRoZXIiKTtvKGwucGx1Z2lucyksbC5zZXR0aW5ncyYmKGkuc2V0dGluZ3M9KDAsR00uZGVmYXVsdCkoITAsaS5zZXR0aW5ncyxsLnNldHRpbmdzKSl9ZnVuY3Rpb24gbyhsKXtsZXQgdT0tMTtpZihsIT1udWxsKWlmKEFycmF5LmlzQXJyYXkobCkpZm9yKDsrK3U8bC5sZW5ndGg7KXtsZXQgZD1sW3VdO24oZCl9ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGxpc3Qgb2YgcGx1Z2lucywgbm90IGAiK2wrImAiKX1mdW5jdGlvbiBjKGwsdSl7bGV0IGQ9LTEsaD0tMTtmb3IoOysrZDxhLmxlbmd0aDspaWYoYVtkXVswXT09PWwpe2g9ZDticmVha31pZihoPT09LTEpYS5wdXNoKFtsLC4uLnVdKTtlbHNlIGlmKHUubGVuZ3RoPjApe2xldFttLC4uLnZdPXUsYj1hW2hdWzFdO0ltKGIpJiZJbShtKSYmKG09KDAsR00uZGVmYXVsdCkoITAsYixtKSksYVtoXT1bbCxtLC4uLnZdfX19fSxGbT1uZXcgalYoKS5mcmVlemUoKX0pO3ZhciBlU2U9ZigoKT0+e0trZSgpfSk7ZnVuY3Rpb24gSDUoZSx0KXtsZXQgcj1TdHJpbmcoZSk7aWYodHlwZW9mIHQhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGNoYXJhY3RlciIpO2xldCBhPTAsaT1yLmluZGV4T2YodCk7Zm9yKDtpIT09LTE7KWErKyxpPXIuaW5kZXhPZih0LGkrdC5sZW5ndGgpO3JldHVybiBhfXZhciBHVj1mKCgpPT57fSk7ZnVuY3Rpb24gaWQoZSl7cmV0dXJuIGUhPT1udWxsJiYoZTwzMnx8ZT09PTEyNyl9ZnVuY3Rpb24gV2UoZSl7cmV0dXJuIGUhPT1udWxsJiZlPC0yfWZ1bmN0aW9uIFl0KGUpe3JldHVybiBlIT09bnVsbCYmKGU8MHx8ZT09PTMyKX1mdW5jdGlvbiBvdChlKXtyZXR1cm4gZT09PS0yfHxlPT09LTF8fGU9PT0zMn1mdW5jdGlvbiBQMChlKXtyZXR1cm4gdDtmdW5jdGlvbiB0KHIpe3JldHVybiByIT09bnVsbCYmcj4tMSYmZS50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUocikpfX12YXIgZmksJGEsdFNlLE9tLHJTZSxhU2UsbmQsdjIsS3Q9ZigoKT0+e2ZpPVAwKC9bQS1aYS16XS8pLCRhPVAwKC9bXGRBLVphLXpdLyksdFNlPVAwKC9bIy0nKitcLS05PT9BLVpeLX5dLyk7T209UDAoL1xkLyksclNlPVAwKC9bXGRBLUZhLWZdLyksYVNlPVAwKC9bIS0vOi1AWy1gey1+XS8pO25kPVAwKC9ccHtQfXxccHtTfS91KSx2Mj1QMCgvXHMvKX0pO2Z1bmN0aW9uIEdNcihlKXtsZXQgdD1bXSxyPS0xO2Zvcig7KytyPGUubGVuZ3RoOyl0W3JdPVJsKGVbcl0pO3JldHVybiBZTShhKTtmdW5jdGlvbiBhKC4uLmkpe2xldCBuPS0xO2Zvcig7KytuPHQubGVuZ3RoOylpZih0W25dLmFwcGx5KHRoaXMsaSkpcmV0dXJuITA7cmV0dXJuITF9fWZ1bmN0aW9uIFlNcihlKXtsZXQgdD1lO3JldHVybiBZTShyKTtmdW5jdGlvbiByKGEpe2xldCBpPWEsbjtmb3IobiBpbiBlKWlmKGlbbl0hPT10W25dKXJldHVybiExO3JldHVybiEwfX1mdW5jdGlvbiBaTXIoZSl7cmV0dXJuIFlNKHQpO2Z1bmN0aW9uIHQocil7cmV0dXJuIHImJnIudHlwZT09PWV9fWZ1bmN0aW9uIFlNKGUpe3JldHVybiB0O2Z1bmN0aW9uIHQocixhLGkpe3JldHVybiEhKGlTZShyKSYmZS5jYWxsKHRoaXMscix0eXBlb2YgYT09Im51bWJlciI/YTp2b2lkIDAsaXx8dm9pZCAwKSl9fWZ1bmN0aW9uIFhNcigpe3JldHVybiEwfWZ1bmN0aW9uIGlTZShlKXtyZXR1cm4gZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0IiYmInR5cGUiaW4gZX12YXIgblNlLFJsLHNTZT1mKCgpPT57blNlPShmdW5jdGlvbihlLHQscixhLGkpe2xldCBuPVJsKHQpO2lmKHIhPW51bGwmJih0eXBlb2YgciE9Im51bWJlciJ8fHI8MHx8cj09PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBwb3NpdGl2ZSBmaW5pdGUgaW5kZXgiKTtpZihhIT1udWxsJiYoIW5TZShhKXx8IWEuY2hpbGRyZW4pKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgcGFyZW50IG5vZGUiKTtpZihhPT1udWxsIT0ocj09bnVsbCkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBib3RoIHBhcmVudCBhbmQgaW5kZXgiKTtyZXR1cm4gaVNlKGUpP24uY2FsbChpLGUscixhKTohMX0pLFJsPShmdW5jdGlvbihlKXtpZihlPT1udWxsKXJldHVybiBYTXI7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpcmV0dXJuIFlNKGUpO2lmKHR5cGVvZiBlPT0ib2JqZWN0IilyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9HTXIoZSk6WU1yKGUpO2lmKHR5cGVvZiBlPT0ic3RyaW5nIilyZXR1cm4gWk1yKGUpO3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgZnVuY3Rpb24sIHN0cmluZywgb3Igb2JqZWN0IGFzIHRlc3QiKX0pfSk7dmFyIFpNPWYoKCk9PntzU2UoKX0pO3ZhciBvU2U9ZigoKT0+e30pO2Z1bmN0aW9uIFJtKGUsdCxyLGEpe2xldCBpO3R5cGVvZiB0PT0iZnVuY3Rpb24iJiZ0eXBlb2YgciE9ImZ1bmN0aW9uIj8oYT1yLHI9dCk6aT10O2xldCBuPVJsKGkpLHM9YT8tMToxO28oZSx2b2lkIDAsW10pKCk7ZnVuY3Rpb24gbyhjLGwsdSl7bGV0IGQ9YyYmdHlwZW9mIGM9PSJvYmplY3QiP2M6e307aWYodHlwZW9mIGQudHlwZT09InN0cmluZyIpe2xldCBtPXR5cGVvZiBkLnRhZ05hbWU9PSJzdHJpbmciP2QudGFnTmFtZTp0eXBlb2YgZC5uYW1lPT0ic3RyaW5nIj9kLm5hbWU6dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0eShoLCJuYW1lIix7dmFsdWU6Im5vZGUgKCIrKGMudHlwZSsobT8iPCIrbSsiPiI6IiIpKSsiKSJ9KX1yZXR1cm4gaDtmdW5jdGlvbiBoKCl7bGV0IG09bFNlLHYsYixnO2lmKCghdHx8bihjLGwsdVt1Lmxlbmd0aC0xXXx8dm9pZCAwKSkmJihtPVFNcihyKGMsdSkpLG1bMF09PT1zZCkpcmV0dXJuIG07aWYoImNoaWxkcmVuImluIGMmJmMuY2hpbGRyZW4pe2xldCB5PWM7aWYoeS5jaGlsZHJlbiYmbVswXSE9PVFNKWZvcihiPShhP3kuY2hpbGRyZW4ubGVuZ3RoOi0xKStzLGc9dS5jb25jYXQoeSk7Yj4tMSYmYjx5LmNoaWxkcmVuLmxlbmd0aDspe2xldCB3PXkuY2hpbGRyZW5bYl07aWYodj1vKHcsYixnKSgpLHZbMF09PT1zZClyZXR1cm4gdjtiPXR5cGVvZiB2WzFdPT0ibnVtYmVyIj92WzFdOmIrc319cmV0dXJuIG19fX1mdW5jdGlvbiBRTXIoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZTp0eXBlb2YgZT09Im51bWJlciI/W1hNLGVdOmU9PW51bGw/bFNlOltlXX12YXIgbFNlLFhNLHNkLFFNLGNTZT1mKCgpPT57Wk0oKTtvU2UoKTtsU2U9W10sWE09ITAsc2Q9ITEsUU09InNraXAifSk7dmFyIEpNPWYoKCk9PntjU2UoKX0pO2Z1bmN0aW9uIFlWKGUsdCxyKXtsZXQgaT1SbCgocnx8e30pLmlnbm9yZXx8W10pLG49Sk1yKHQpLHM9LTE7Zm9yKDsrK3M8bi5sZW5ndGg7KVJtKGUsInRleHQiLG8pO2Z1bmN0aW9uIG8obCx1KXtsZXQgZD0tMSxoO2Zvcig7KytkPHUubGVuZ3RoOyl7bGV0IG09dVtkXSx2PWg/aC5jaGlsZHJlbjp2b2lkIDA7aWYoaShtLHY/di5pbmRleE9mKG0pOnZvaWQgMCxoKSlyZXR1cm47aD1tfWlmKGgpcmV0dXJuIGMobCx1KX1mdW5jdGlvbiBjKGwsdSl7bGV0IGQ9dVt1Lmxlbmd0aC0xXSxoPW5bc11bMF0sbT1uW3NdWzFdLHY9MCxnPWQuY2hpbGRyZW4uaW5kZXhPZihsKSx5PSExLHc9W107aC5sYXN0SW5kZXg9MDtsZXQgaz1oLmV4ZWMobC52YWx1ZSk7Zm9yKDtrOyl7bGV0IFI9ay5pbmRleCxDPXtpbmRleDprLmluZGV4LGlucHV0OmsuaW5wdXQsc3RhY2s6Wy4uLnUsbF19LFM9bSguLi5rLEMpO2lmKHR5cGVvZiBTPT0ic3RyaW5nIiYmKFM9Uy5sZW5ndGg+MD97dHlwZToidGV4dCIsdmFsdWU6U306dm9pZCAwKSxTPT09ITE/aC5sYXN0SW5kZXg9UisxOih2IT09UiYmdy5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpsLnZhbHVlLnNsaWNlKHYsUil9KSxBcnJheS5pc0FycmF5KFMpP3cucHVzaCguLi5TKTpTJiZ3LnB1c2goUyksdj1SK2tbMF0ubGVuZ3RoLHk9ITApLCFoLmdsb2JhbClicmVhaztrPWguZXhlYyhsLnZhbHVlKX1yZXR1cm4geT8odjxsLnZhbHVlLmxlbmd0aCYmdy5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpsLnZhbHVlLnNsaWNlKHYpfSksZC5jaGlsZHJlbi5zcGxpY2UoZywxLC4uLncpKTp3PVtsXSxnK3cubGVuZ3RofX1mdW5jdGlvbiBKTXIoZSl7bGV0IHQ9W107aWYoIUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgZmluZCBhbmQgcmVwbGFjZSB0dXBsZSBvciBsaXN0IG9mIHR1cGxlcyIpO2xldCByPSFlWzBdfHxBcnJheS5pc0FycmF5KGVbMF0pP2U6W2VdLGE9LTE7Zm9yKDsrK2E8ci5sZW5ndGg7KXtsZXQgaT1yW2FdO3QucHVzaChbS01yKGlbMF0pLGVrcihpWzFdKV0pfXJldHVybiB0fWZ1bmN0aW9uIEtNcihlKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP25ldyBSZWdFeHAoTDMoZSksImciKTplfWZ1bmN0aW9uIGVrcihlKXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZTpmdW5jdGlvbigpe3JldHVybiBlfX12YXIgZFNlPWYoKCk9PntHeCgpO0pNKCk7Wk0oKX0pO3ZhciB1U2U9ZigoKT0+e2RTZSgpfSk7ZnVuY3Rpb24gSlYoKXtyZXR1cm57dHJhbnNmb3Jtczpbc2tyXSxlbnRlcjp7bGl0ZXJhbEF1dG9saW5rOnRrcixsaXRlcmFsQXV0b2xpbmtFbWFpbDpRVixsaXRlcmFsQXV0b2xpbmtIdHRwOlFWLGxpdGVyYWxBdXRvbGlua1d3dzpRVn0sZXhpdDp7bGl0ZXJhbEF1dG9saW5rOm5rcixsaXRlcmFsQXV0b2xpbmtFbWFpbDppa3IsbGl0ZXJhbEF1dG9saW5rSHR0cDpya3IsbGl0ZXJhbEF1dG9saW5rV3d3OmFrcn19fWZ1bmN0aW9uIEtWKCl7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoiQCIsYmVmb3JlOiJbK1xcLS5cXHddIixhZnRlcjoiW1xcLS5cXHddIixpbkNvbnN0cnVjdDpaVixub3RJbkNvbnN0cnVjdDpYVn0se2NoYXJhY3RlcjoiLiIsYmVmb3JlOiJbV3ddIixhZnRlcjoiW1xcLS5cXHddIixpbkNvbnN0cnVjdDpaVixub3RJbkNvbnN0cnVjdDpYVn0se2NoYXJhY3RlcjoiOiIsYmVmb3JlOiJbcHNdIixhZnRlcjoiXFwvIixpbkNvbnN0cnVjdDpaVixub3RJbkNvbnN0cnVjdDpYVn1dfX1mdW5jdGlvbiB0a3IoZSl7dGhpcy5lbnRlcih7dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6IiIsY2hpbGRyZW46W119LGUpfWZ1bmN0aW9uIFFWKGUpe3RoaXMuY29uZmlnLmVudGVyLmF1dG9saW5rUHJvdG9jb2wuY2FsbCh0aGlzLGUpfWZ1bmN0aW9uIHJrcihlKXt0aGlzLmNvbmZpZy5leGl0LmF1dG9saW5rUHJvdG9jb2wuY2FsbCh0aGlzLGUpfWZ1bmN0aW9uIGFrcihlKXt0aGlzLmNvbmZpZy5leGl0LmRhdGEuY2FsbCh0aGlzLGUpO2xldCB0PXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07dC50eXBlLHQudXJsPSJodHRwOi8vIit0aGlzLnNsaWNlU2VyaWFsaXplKGUpfWZ1bmN0aW9uIGlrcihlKXt0aGlzLmNvbmZpZy5leGl0LmF1dG9saW5rRW1haWwuY2FsbCh0aGlzLGUpfWZ1bmN0aW9uIG5rcihlKXt0aGlzLmV4aXQoZSl9ZnVuY3Rpb24gc2tyKGUpe1lWKGUsW1svKGh0dHBzPzpcL1wvfHd3dyg/PVwuKSkoWy0uXHddKykoW14gXHRcclxuXSopL2dpLG9rcl0sWy8oPzw9Xnxcc3xccHtQfXxccHtTfSkoWy0uXHcrXSspQChbLVx3XSsoPzpcLlstXHddKykrKS9ndSxsa3JdXSx7aWdub3JlOlsibGluayIsImxpbmtSZWZlcmVuY2UiXX0pfWZ1bmN0aW9uIG9rcihlLHQscixhLGkpe2xldCBuPSIiO2lmKCFwU2UoaSl8fCgvXncvaS50ZXN0KHQpJiYocj10K3IsdD0iIixuPSJodHRwOi8vIiksIWNrcihyKSkpcmV0dXJuITE7bGV0IHM9ZGtyKHIrYSk7aWYoIXNbMF0pcmV0dXJuITE7bGV0IG89e3R5cGU6ImxpbmsiLHRpdGxlOm51bGwsdXJsOm4rdCtzWzBdLGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6dCtzWzBdfV19O3JldHVybiBzWzFdP1tvLHt0eXBlOiJ0ZXh0Iix2YWx1ZTpzWzFdfV06b31mdW5jdGlvbiBsa3IoZSx0LHIsYSl7cmV0dXJuIXBTZShhLCEwKXx8L1stXGRfXSQvLnRlc3Qocik/ITE6e3R5cGU6ImxpbmsiLHRpdGxlOm51bGwsdXJsOiJtYWlsdG86Iit0KyJAIityLGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6dCsiQCIrcn1dfX1mdW5jdGlvbiBja3IoZSl7bGV0IHQ9ZS5zcGxpdCgiLiIpO3JldHVybiEodC5sZW5ndGg8Mnx8dFt0Lmxlbmd0aC0xXSYmKC9fLy50ZXN0KHRbdC5sZW5ndGgtMV0pfHwhL1thLXpBLVpcZF0vLnRlc3QodFt0Lmxlbmd0aC0xXSkpfHx0W3QubGVuZ3RoLTJdJiYoL18vLnRlc3QodFt0Lmxlbmd0aC0yXSl8fCEvW2EtekEtWlxkXS8udGVzdCh0W3QubGVuZ3RoLTJdKSkpfWZ1bmN0aW9uIGRrcihlKXtsZXQgdD0vWyEiJicpLC46Ozw+P1xdfV0rJC8uZXhlYyhlKTtpZighdClyZXR1cm5bZSx2b2lkIDBdO2U9ZS5zbGljZSgwLHQuaW5kZXgpO2xldCByPXRbMF0sYT1yLmluZGV4T2YoIikiKSxpPUg1KGUsIigiKSxuPUg1KGUsIikiKTtmb3IoO2EhPT0tMSYmaT5uOyllKz1yLnNsaWNlKDAsYSsxKSxyPXIuc2xpY2UoYSsxKSxhPXIuaW5kZXhPZigiKSIpLG4rKztyZXR1cm5bZSxyXX1mdW5jdGlvbiBwU2UoZSx0KXtsZXQgcj1lLmlucHV0LmNoYXJDb2RlQXQoZS5pbmRleC0xKTtyZXR1cm4oZS5pbmRleD09PTB8fHYyKHIpfHxuZChyKSkmJighdHx8ciE9PTQ3KX12YXIgWlYsWFYsZlNlPWYoKCk9PntHVigpO0UwKCk7S3QoKTt1U2UoKTtaVj0icGhyYXNpbmciLFhWPVsiYXV0b2xpbmsiLCJsaW5rIiwiaW1hZ2UiLCJsYWJlbCJdfSk7dmFyIGhTZT1mKCgpPT57ZlNlKCl9KTtmdW5jdGlvbiBEYShlKXtyZXR1cm4gZS5yZXBsYWNlKC9bXHRcblxyIF0rL2csIiAiKS5yZXBsYWNlKC9eIHwgJC9nLCIiKS50b0xvd2VyQ2FzZSgpLnRvVXBwZXJDYXNlKCl9dmFyIE4wPWYoKCk9Pnt9KTtmdW5jdGlvbiB1a3IoKXt0aGlzLmJ1ZmZlcigpfWZ1bmN0aW9uIHBrcihlKXt0aGlzLmVudGVyKHt0eXBlOiJmb290bm90ZVJlZmVyZW5jZSIsaWRlbnRpZmllcjoiIixsYWJlbDoiIn0sZSl9ZnVuY3Rpb24gZmtyKCl7dGhpcy5idWZmZXIoKX1mdW5jdGlvbiBoa3IoZSl7dGhpcy5lbnRlcih7dHlwZToiZm9vdG5vdGVEZWZpbml0aW9uIixpZGVudGlmaWVyOiIiLGxhYmVsOiIiLGNoaWxkcmVuOltdfSxlKX1mdW5jdGlvbiBta3IoZSl7bGV0IHQ9dGhpcy5yZXN1bWUoKSxyPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ci50eXBlLHIuaWRlbnRpZmllcj1EYSh0aGlzLnNsaWNlU2VyaWFsaXplKGUpKS50b0xvd2VyQ2FzZSgpLHIubGFiZWw9dH1mdW5jdGlvbiBna3IoZSl7dGhpcy5leGl0KGUpfWZ1bmN0aW9uIGJrcihlKXtsZXQgdD10aGlzLnJlc3VtZSgpLHI9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtyLnR5cGUsci5pZGVudGlmaWVyPURhKHRoaXMuc2xpY2VTZXJpYWxpemUoZSkpLnRvTG93ZXJDYXNlKCksci5sYWJlbD10fWZ1bmN0aW9uIHZrcihlKXt0aGlzLmV4aXQoZSl9ZnVuY3Rpb24geGtyKCl7cmV0dXJuIlsifWZ1bmN0aW9uIG1TZShlLHQscixhKXtsZXQgaT1yLmNyZWF0ZVRyYWNrZXIoYSksbj1pLm1vdmUoIlteIikscz1yLmVudGVyKCJmb290bm90ZVJlZmVyZW5jZSIpLG89ci5lbnRlcigicmVmZXJlbmNlIik7cmV0dXJuIG4rPWkubW92ZShyLnNhZmUoci5hc3NvY2lhdGlvbklkKGUpLHthZnRlcjoiXSIsYmVmb3JlOm59KSksbygpLHMoKSxuKz1pLm1vdmUoIl0iKSxufWZ1bmN0aW9uIGVVKCl7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZUNhbGxTdHJpbmc6dWtyLGdmbUZvb3Rub3RlQ2FsbDpwa3IsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmc6ZmtyLGdmbUZvb3Rub3RlRGVmaW5pdGlvbjpoa3J9LGV4aXQ6e2dmbUZvb3Rub3RlQ2FsbFN0cmluZzpta3IsZ2ZtRm9vdG5vdGVDYWxsOmdrcixnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZzpia3IsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uOnZrcn19fWZ1bmN0aW9uIHRVKGUpe2xldCB0PSExO3JldHVybiBlJiZlLmZpcnN0TGluZUJsYW5rJiYodD0hMCkse2hhbmRsZXJzOntmb290bm90ZURlZmluaXRpb246cixmb290bm90ZVJlZmVyZW5jZTptU2V9LHVuc2FmZTpbe2NoYXJhY3RlcjoiWyIsaW5Db25zdHJ1Y3Q6WyJsYWJlbCIsInBocmFzaW5nIiwicmVmZXJlbmNlIl19XX07ZnVuY3Rpb24gcihhLGksbixzKXtsZXQgbz1uLmNyZWF0ZVRyYWNrZXIocyksYz1vLm1vdmUoIlteIiksbD1uLmVudGVyKCJmb290bm90ZURlZmluaXRpb24iKSx1PW4uZW50ZXIoImxhYmVsIik7cmV0dXJuIGMrPW8ubW92ZShuLnNhZmUobi5hc3NvY2lhdGlvbklkKGEpLHtiZWZvcmU6YyxhZnRlcjoiXSJ9KSksdSgpLGMrPW8ubW92ZSgiXToiKSxhLmNoaWxkcmVuJiZhLmNoaWxkcmVuLmxlbmd0aD4wJiYoby5zaGlmdCg0KSxjKz1vLm1vdmUoKHQ/YApgOiIgIikrbi5pbmRlbnRMaW5lcyhuLmNvbnRhaW5lckZsb3coYSxvLmN1cnJlbnQoKSksdD9nU2U6eWtyKSkpLGwoKSxjfX1mdW5jdGlvbiB5a3IoZSx0LHIpe3JldHVybiB0PT09MD9lOmdTZShlLHQscil9ZnVuY3Rpb24gZ1NlKGUsdCxyKXtyZXR1cm4ocj8iIjoiICAgICIpK2V9dmFyIGJTZT1mKCgpPT57RTAoKTtOMCgpO21TZS5wZWVrPXhrcn0pO3ZhciB2U2U9ZigoKT0+e2JTZSgpfSk7ZnVuY3Rpb24gclUoKXtyZXR1cm57Y2FuQ29udGFpbkVvbHM6WyJkZWxldGUiXSxlbnRlcjp7c3RyaWtldGhyb3VnaDpNa3J9LGV4aXQ6e3N0cmlrZXRocm91Z2g6a2tyfX19ZnVuY3Rpb24gYVUoKXtyZXR1cm57dW5zYWZlOlt7Y2hhcmFjdGVyOiJ+IixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0Ondrcn1dLGhhbmRsZXJzOntkZWxldGU6eFNlfX19ZnVuY3Rpb24gTWtyKGUpe3RoaXMuZW50ZXIoe3R5cGU6ImRlbGV0ZSIsY2hpbGRyZW46W119LGUpfWZ1bmN0aW9uIGtrcihlKXt0aGlzLmV4aXQoZSl9ZnVuY3Rpb24geFNlKGUsdCxyLGEpe2xldCBpPXIuY3JlYXRlVHJhY2tlcihhKSxuPXIuZW50ZXIoInN0cmlrZXRocm91Z2giKSxzPWkubW92ZSgifn4iKTtyZXR1cm4gcys9ci5jb250YWluZXJQaHJhc2luZyhlLHsuLi5pLmN1cnJlbnQoKSxiZWZvcmU6cyxhZnRlcjoifiJ9KSxzKz1pLm1vdmUoIn5+IiksbigpLHN9ZnVuY3Rpb24gU2tyKCl7cmV0dXJuIn4ifXZhciB3a3IseVNlPWYoKCk9Pnt3a3I9WyJhdXRvbGluayIsImRlc3RpbmF0aW9uTGl0ZXJhbCIsImRlc3RpbmF0aW9uUmF3IiwicmVmZXJlbmNlIiwidGl0bGVRdW90ZSIsInRpdGxlQXBvc3Ryb3BoZSJdO3hTZS5wZWVrPVNrcn0pO3ZhciB3U2U9ZigoKT0+e3lTZSgpfSk7ZnVuY3Rpb24gemtyKGUpe3JldHVybiBlLmxlbmd0aH1mdW5jdGlvbiBrU2UoZSx0KXtsZXQgcj10fHx7fSxhPShyLmFsaWdufHxbXSkuY29uY2F0KCksaT1yLnN0cmluZ0xlbmd0aHx8emtyLG49W10scz1bXSxvPVtdLGM9W10sbD0wLHU9LTE7Zm9yKDsrK3U8ZS5sZW5ndGg7KXtsZXQgYj1bXSxnPVtdLHk9LTE7Zm9yKGVbdV0ubGVuZ3RoPmwmJihsPWVbdV0ubGVuZ3RoKTsrK3k8ZVt1XS5sZW5ndGg7KXtsZXQgdz1Da3IoZVt1XVt5XSk7aWYoci5hbGlnbkRlbGltaXRlcnMhPT0hMSl7bGV0IGs9aSh3KTtnW3ldPWssKGNbeV09PT12b2lkIDB8fGs+Y1t5XSkmJihjW3ldPWspfWIucHVzaCh3KX1zW3VdPWIsb1t1XT1nfWxldCBkPS0xO2lmKHR5cGVvZiBhPT0ib2JqZWN0IiYmImxlbmd0aCJpbiBhKWZvcig7KytkPGw7KW5bZF09TVNlKGFbZF0pO2Vsc2V7bGV0IGI9TVNlKGEpO2Zvcig7KytkPGw7KW5bZF09Yn1kPS0xO2xldCBoPVtdLG09W107Zm9yKDsrK2Q8bDspe2xldCBiPW5bZF0sZz0iIix5PSIiO2I9PT05OT8oZz0iOiIseT0iOiIpOmI9PT0xMDg/Zz0iOiI6Yj09PTExNCYmKHk9IjoiKTtsZXQgdz1yLmFsaWduRGVsaW1pdGVycz09PSExPzE6TWF0aC5tYXgoMSxjW2RdLWcubGVuZ3RoLXkubGVuZ3RoKSxrPWcrIi0iLnJlcGVhdCh3KSt5O3IuYWxpZ25EZWxpbWl0ZXJzIT09ITEmJih3PWcubGVuZ3RoK3creS5sZW5ndGgsdz5jW2RdJiYoY1tkXT13KSxtW2RdPXcpLGhbZF09a31zLnNwbGljZSgxLDAsaCksby5zcGxpY2UoMSwwLG0pLHU9LTE7bGV0IHY9W107Zm9yKDsrK3U8cy5sZW5ndGg7KXtsZXQgYj1zW3VdLGc9b1t1XTtkPS0xO2xldCB5PVtdO2Zvcig7KytkPGw7KXtsZXQgdz1iW2RdfHwiIixrPSIiLFI9IiI7aWYoci5hbGlnbkRlbGltaXRlcnMhPT0hMSl7bGV0IEM9Y1tkXS0oZ1tkXXx8MCksUz1uW2RdO1M9PT0xMTQ/az0iICIucmVwZWF0KEMpOlM9PT05OT9DJTI/KGs9IiAiLnJlcGVhdChDLzIrLjUpLFI9IiAiLnJlcGVhdChDLzItLjUpKTooaz0iICIucmVwZWF0KEMvMiksUj1rKTpSPSIgIi5yZXBlYXQoQyl9ci5kZWxpbWl0ZXJTdGFydCE9PSExJiYhZCYmeS5wdXNoKCJ8Iiksci5wYWRkaW5nIT09ITEmJiEoci5hbGlnbkRlbGltaXRlcnM9PT0hMSYmdz09PSIiKSYmKHIuZGVsaW1pdGVyU3RhcnQhPT0hMXx8ZCkmJnkucHVzaCgiICIpLHIuYWxpZ25EZWxpbWl0ZXJzIT09ITEmJnkucHVzaChrKSx5LnB1c2godyksci5hbGlnbkRlbGltaXRlcnMhPT0hMSYmeS5wdXNoKFIpLHIucGFkZGluZyE9PSExJiZ5LnB1c2goIiAiKSwoci5kZWxpbWl0ZXJFbmQhPT0hMXx8ZCE9PWwtMSkmJnkucHVzaCgifCIpfXYucHVzaChyLmRlbGltaXRlckVuZD09PSExP3kuam9pbigiIikucmVwbGFjZSgvICskLywiIik6eS5qb2luKCIiKSl9cmV0dXJuIHYuam9pbihgCmApfWZ1bmN0aW9uIENrcihlKXtyZXR1cm4gZT09bnVsbD8iIjpTdHJpbmcoZSl9ZnVuY3Rpb24gTVNlKGUpe2xldCB0PXR5cGVvZiBlPT0ic3RyaW5nIj9lLmNvZGVQb2ludEF0KDApOjA7cmV0dXJuIHQ9PT02N3x8dD09PTk5Pzk5OnQ9PT03Nnx8dD09PTEwOD8xMDg6dD09PTgyfHx0PT09MTE0PzExNDowfXZhciBTU2U9ZigoKT0+e30pO2Z1bmN0aW9uIEtNKGUsdCl7bGV0IHI9dHx8e307ZnVuY3Rpb24gYShpLC4uLm4pe2xldCBzPWEuaW52YWxpZCxvPWEuaGFuZGxlcnM7aWYoaSYmelNlLmNhbGwoaSxlKSl7bGV0IGM9U3RyaW5nKGlbZV0pO3M9elNlLmNhbGwobyxjKT9vW2NdOmEudW5rbm93bn1pZihzKXJldHVybiBzLmNhbGwodGhpcyxpLC4uLm4pfXJldHVybiBhLmhhbmRsZXJzPXIuaGFuZGxlcnN8fHt9LGEuaW52YWxpZD1yLmludmFsaWQsYS51bmtub3duPXIudW5rbm93bixhfXZhciB6U2UsaVU9ZigoKT0+e3pTZT17fS5oYXNPd25Qcm9wZXJ0eX0pO2Z1bmN0aW9uIG5VKGUsdCl7bGV0IHI9LTEsYTtpZih0LmV4dGVuc2lvbnMpZm9yKDsrK3I8dC5leHRlbnNpb25zLmxlbmd0aDspblUoZSx0LmV4dGVuc2lvbnNbcl0pO2ZvcihhIGluIHQpaWYoVGtyLmNhbGwodCxhKSlzd2l0Y2goYSl7Y2FzZSJleHRlbnNpb25zIjpicmVhaztjYXNlInVuc2FmZSI6e0NTZShlW2FdLHRbYV0pO2JyZWFrfWNhc2Uiam9pbiI6e0NTZShlW2FdLHRbYV0pO2JyZWFrfWNhc2UiaGFuZGxlcnMiOntfa3IoZVthXSx0W2FdKTticmVha31kZWZhdWx0OmUub3B0aW9uc1thXT10W2FdfXJldHVybiBlfWZ1bmN0aW9uIENTZShlLHQpe3QmJmUucHVzaCguLi50KX1mdW5jdGlvbiBfa3IoZSx0KXt0JiZPYmplY3QuYXNzaWduKGUsdCl9dmFyIFRrcixUU2U9ZigoKT0+e1Rrcj17fS5oYXNPd25Qcm9wZXJ0eX0pO2Z1bmN0aW9uIF9TZShlLHQscixhKXtsZXQgaT1yLmVudGVyKCJibG9ja3F1b3RlIiksbj1yLmNyZWF0ZVRyYWNrZXIoYSk7bi5tb3ZlKCI+ICIpLG4uc2hpZnQoMik7bGV0IHM9ci5pbmRlbnRMaW5lcyhyLmNvbnRhaW5lckZsb3coZSxuLmN1cnJlbnQoKSksTGtyKTtyZXR1cm4gaSgpLHN9ZnVuY3Rpb24gTGtyKGUsdCxyKXtyZXR1cm4iPiIrKHI/IiI6IiAiKStlfXZhciBMU2U9ZigoKT0+e30pO2Z1bmN0aW9uIGVrKGUsdCl7cmV0dXJuICRTZShlLHQuaW5Db25zdHJ1Y3QsITApJiYhJFNlKGUsdC5ub3RJbkNvbnN0cnVjdCwhMSl9ZnVuY3Rpb24gJFNlKGUsdCxyKXtpZih0eXBlb2YgdD09InN0cmluZyImJih0PVt0XSksIXR8fHQubGVuZ3RoPT09MClyZXR1cm4gcjtsZXQgYT0tMTtmb3IoOysrYTx0Lmxlbmd0aDspaWYoZS5pbmNsdWRlcyh0W2FdKSlyZXR1cm4hMDtyZXR1cm4hMX12YXIgc1U9ZigoKT0+e30pO2Z1bmN0aW9uIG9VKGUsdCxyLGEpe2xldCBpPS0xO2Zvcig7KytpPHIudW5zYWZlLmxlbmd0aDspaWYoci51bnNhZmVbaV0uY2hhcmFjdGVyPT09YApgJiZlayhyLnN0YWNrLHIudW5zYWZlW2ldKSlyZXR1cm4vWyBcdF0vLnRlc3QoYS5iZWZvcmUpPyIiOiIgIjtyZXR1cm5gXFwKYH12YXIgRFNlPWYoKCk9PntzVSgpfSk7ZnVuY3Rpb24gQVNlKGUsdCl7bGV0IHI9U3RyaW5nKGUpLGE9ci5pbmRleE9mKHQpLGk9YSxuPTAscz0wO2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBzdWJzdHJpbmciKTtmb3IoO2EhPT0tMTspYT09PWk/KytuPnMmJihzPW4pOm49MSxpPWErdC5sZW5ndGgsYT1yLmluZGV4T2YodCxpKTtyZXR1cm4gc312YXIgRVNlPWYoKCk9Pnt9KTtmdW5jdGlvbiBCbShlLHQpe3JldHVybiEhKHQub3B0aW9ucy5mZW5jZXM9PT0hMSYmZS52YWx1ZSYmIWUubGFuZyYmL1teIFxyXG5dLy50ZXN0KGUudmFsdWUpJiYhL15bXHQgXSooPzpbXHJcbl18JCl8KD86XnxbXHJcbl0pW1x0IF0qJC8udGVzdChlLnZhbHVlKSl9dmFyIGxVPWYoKCk9Pnt9KTtmdW5jdGlvbiBJU2UoZSl7bGV0IHQ9ZS5vcHRpb25zLmZlbmNlfHwiYCI7aWYodCE9PSJgIiYmdCE9PSJ+Iil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgY29kZSB3aXRoIGAiK3QrImAgZm9yIGBvcHRpb25zLmZlbmNlYCwgZXhwZWN0ZWQgYGAgYCBgYCBvciBgfmAiKTtyZXR1cm4gdH12YXIgUFNlPWYoKCk9Pnt9KTtmdW5jdGlvbiBOU2UoZSx0LHIsYSl7bGV0IGk9SVNlKHIpLG49ZS52YWx1ZXx8IiIscz1pPT09ImAiPyJHcmF2ZUFjY2VudCI6IlRpbGRlIjtpZihCbShlLHIpKXtsZXQgZD1yLmVudGVyKCJjb2RlSW5kZW50ZWQiKSxoPXIuaW5kZW50TGluZXMobiwka3IpO3JldHVybiBkKCksaH1sZXQgbz1yLmNyZWF0ZVRyYWNrZXIoYSksYz1pLnJlcGVhdChNYXRoLm1heChBU2UobixpKSsxLDMpKSxsPXIuZW50ZXIoImNvZGVGZW5jZWQiKSx1PW8ubW92ZShjKTtpZihlLmxhbmcpe2xldCBkPXIuZW50ZXIoYGNvZGVGZW5jZWRMYW5nJHtzfWApO3UrPW8ubW92ZShyLnNhZmUoZS5sYW5nLHtiZWZvcmU6dSxhZnRlcjoiICIsZW5jb2RlOlsiYCJdLC4uLm8uY3VycmVudCgpfSkpLGQoKX1pZihlLmxhbmcmJmUubWV0YSl7bGV0IGQ9ci5lbnRlcihgY29kZUZlbmNlZE1ldGEke3N9YCk7dSs9by5tb3ZlKCIgIiksdSs9by5tb3ZlKHIuc2FmZShlLm1ldGEse2JlZm9yZTp1LGFmdGVyOmAKYCxlbmNvZGU6WyJgIl0sLi4uby5jdXJyZW50KCl9KSksZCgpfXJldHVybiB1Kz1vLm1vdmUoYApgKSxuJiYodSs9by5tb3ZlKG4rYApgKSksdSs9by5tb3ZlKGMpLGwoKSx1fWZ1bmN0aW9uICRrcihlLHQscil7cmV0dXJuKHI/IiI6IiAgICAiKStlfXZhciBGU2U9ZigoKT0+e0VTZSgpO2xVKCk7UFNlKCl9KTtmdW5jdGlvbiBxNShlKXtsZXQgdD1lLm9wdGlvbnMucXVvdGV8fCciJztpZih0IT09JyInJiZ0IT09IiciKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSB0aXRsZSB3aXRoIGAiK3QrImAgZm9yIGBvcHRpb25zLnF1b3RlYCwgZXhwZWN0ZWQgYFwiYCwgb3IgYCdgIik7cmV0dXJuIHR9dmFyIHRrPWYoKCk9Pnt9KTtmdW5jdGlvbiBPU2UoZSx0LHIsYSl7bGV0IGk9cTUociksbj1pPT09JyInPyJRdW90ZSI6IkFwb3N0cm9waGUiLHM9ci5lbnRlcigiZGVmaW5pdGlvbiIpLG89ci5lbnRlcigibGFiZWwiKSxjPXIuY3JlYXRlVHJhY2tlcihhKSxsPWMubW92ZSgiWyIpO3JldHVybiBsKz1jLm1vdmUoci5zYWZlKHIuYXNzb2NpYXRpb25JZChlKSx7YmVmb3JlOmwsYWZ0ZXI6Il0iLC4uLmMuY3VycmVudCgpfSkpLGwrPWMubW92ZSgiXTogIiksbygpLCFlLnVybHx8L1tcMC0gXHUwMDdGXS8udGVzdChlLnVybCk/KG89ci5lbnRlcigiZGVzdGluYXRpb25MaXRlcmFsIiksbCs9Yy5tb3ZlKCI8IiksbCs9Yy5tb3ZlKHIuc2FmZShlLnVybCx7YmVmb3JlOmwsYWZ0ZXI6Ij4iLC4uLmMuY3VycmVudCgpfSkpLGwrPWMubW92ZSgiPiIpKToobz1yLmVudGVyKCJkZXN0aW5hdGlvblJhdyIpLGwrPWMubW92ZShyLnNhZmUoZS51cmwse2JlZm9yZTpsLGFmdGVyOmUudGl0bGU/IiAiOmAKYCwuLi5jLmN1cnJlbnQoKX0pKSksbygpLGUudGl0bGUmJihvPXIuZW50ZXIoYHRpdGxlJHtufWApLGwrPWMubW92ZSgiICIraSksbCs9Yy5tb3ZlKHIuc2FmZShlLnRpdGxlLHtiZWZvcmU6bCxhZnRlcjppLC4uLmMuY3VycmVudCgpfSkpLGwrPWMubW92ZShpKSxvKCkpLHMoKSxsfXZhciBSU2U9ZigoKT0+e3RrKCl9KTtmdW5jdGlvbiBCU2UoZSl7bGV0IHQ9ZS5vcHRpb25zLmVtcGhhc2lzfHwiKiI7aWYodCE9PSIqIiYmdCE9PSJfIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgZW1waGFzaXMgd2l0aCBgIit0KyJgIGZvciBgb3B0aW9ucy5lbXBoYXNpc2AsIGV4cGVjdGVkIGAqYCwgb3IgYF9gIik7cmV0dXJuIHR9dmFyIEhTZT1mKCgpPT57fSk7ZnVuY3Rpb24gQjEoZSl7cmV0dXJuIiYjeCIrZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiOyJ9dmFyIGo1PWYoKCk9Pnt9KTtmdW5jdGlvbiBCbChlKXtpZihlPT09bnVsbHx8WXQoZSl8fHYyKGUpKXJldHVybiAxO2lmKG5kKGUpKXJldHVybiAyfXZhciByaz1mKCgpPT57S3QoKX0pO2Z1bmN0aW9uIFY1KGUsdCxyKXtsZXQgYT1CbChlKSxpPUJsKHQpO3JldHVybiBhPT09dm9pZCAwP2k9PT12b2lkIDA/cj09PSJfIj97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMX06aT09PTE/e2luc2lkZTohMCxvdXRzaWRlOiEwfTp7aW5zaWRlOiExLG91dHNpZGU6ITB9OmE9PT0xP2k9PT12b2lkIDA/e2luc2lkZTohMSxvdXRzaWRlOiExfTppPT09MT97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMX06aT09PXZvaWQgMD97aW5zaWRlOiExLG91dHNpZGU6ITF9Omk9PT0xP3tpbnNpZGU6ITAsb3V0c2lkZTohMX06e2luc2lkZTohMSxvdXRzaWRlOiExfX12YXIgY1U9ZigoKT0+e3JrKCl9KTtmdW5jdGlvbiBkVShlLHQscixhKXtsZXQgaT1CU2Uociksbj1yLmVudGVyKCJlbXBoYXNpcyIpLHM9ci5jcmVhdGVUcmFja2VyKGEpLG89cy5tb3ZlKGkpLGM9cy5tb3ZlKHIuY29udGFpbmVyUGhyYXNpbmcoZSx7YWZ0ZXI6aSxiZWZvcmU6bywuLi5zLmN1cnJlbnQoKX0pKSxsPWMuY2hhckNvZGVBdCgwKSx1PVY1KGEuYmVmb3JlLmNoYXJDb2RlQXQoYS5iZWZvcmUubGVuZ3RoLTEpLGwsaSk7dS5pbnNpZGUmJihjPUIxKGwpK2Muc2xpY2UoMSkpO2xldCBkPWMuY2hhckNvZGVBdChjLmxlbmd0aC0xKSxoPVY1KGEuYWZ0ZXIuY2hhckNvZGVBdCgwKSxkLGkpO2guaW5zaWRlJiYoYz1jLnNsaWNlKDAsLTEpK0IxKGQpKTtsZXQgbT1zLm1vdmUoaSk7cmV0dXJuIG4oKSxyLmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbz17YWZ0ZXI6aC5vdXRzaWRlLGJlZm9yZTp1Lm91dHNpZGV9LG8rYyttfWZ1bmN0aW9uIERrcihlLHQscil7cmV0dXJuIHIub3B0aW9ucy5lbXBoYXNpc3x8IioifXZhciBxU2U9ZigoKT0+e0hTZSgpO2o1KCk7Y1UoKTtkVS5wZWVrPURrcn0pO2Z1bmN0aW9uIEhtKGUsdCxyLGEpe2xldCBpLG4sczt0eXBlb2YgdD09ImZ1bmN0aW9uIiYmdHlwZW9mIHIhPSJmdW5jdGlvbiI/KG49dm9pZCAwLHM9dCxpPXIpOihuPXQscz1yLGk9YSksUm0oZSxuLG8saSk7ZnVuY3Rpb24gbyhjLGwpe2xldCB1PWxbbC5sZW5ndGgtMV0sZD11P3UuY2hpbGRyZW4uaW5kZXhPZihjKTp2b2lkIDA7cmV0dXJuIHMoYyxkLHUpfX12YXIgalNlPWYoKCk9PntKTSgpO0pNKCl9KTt2YXIgdVU9ZigoKT0+e2pTZSgpfSk7ZnVuY3Rpb24gb2QoZSx0KXtsZXQgcj10fHxBa3IsYT10eXBlb2Ygci5pbmNsdWRlSW1hZ2VBbHQ9PSJib29sZWFuIj9yLmluY2x1ZGVJbWFnZUFsdDohMCxpPXR5cGVvZiByLmluY2x1ZGVIdG1sPT0iYm9vbGVhbiI/ci5pbmNsdWRlSHRtbDohMDtyZXR1cm4gVlNlKGUsYSxpKX1mdW5jdGlvbiBWU2UoZSx0LHIpe2lmKEVrcihlKSl7aWYoInZhbHVlImluIGUpcmV0dXJuIGUudHlwZT09PSJodG1sIiYmIXI/IiI6ZS52YWx1ZTtpZih0JiYiYWx0ImluIGUmJmUuYWx0KXJldHVybiBlLmFsdDtpZigiY2hpbGRyZW4iaW4gZSlyZXR1cm4gVVNlKGUuY2hpbGRyZW4sdCxyKX1yZXR1cm4gQXJyYXkuaXNBcnJheShlKT9VU2UoZSx0LHIpOiIifWZ1bmN0aW9uIFVTZShlLHQscil7bGV0IGE9W10saT0tMTtmb3IoOysraTxlLmxlbmd0aDspYVtpXT1WU2UoZVtpXSx0LHIpO3JldHVybiBhLmpvaW4oIiIpfWZ1bmN0aW9uIEVrcihlKXtyZXR1cm4hIShlJiZ0eXBlb2YgZT09Im9iamVjdCIpfXZhciBBa3IsV1NlPWYoKCk9PntBa3I9e319KTt2YXIgYWs9ZigoKT0+e1dTZSgpfSk7ZnVuY3Rpb24gaWsoZSx0KXtsZXQgcj0hMTtyZXR1cm4gSG0oZSxmdW5jdGlvbihhKXtpZigidmFsdWUiaW4gYSYmL1xyP1xufFxyLy50ZXN0KGEudmFsdWUpfHxhLnR5cGU9PT0iYnJlYWsiKXJldHVybiByPSEwLHNkfSksISEoKCFlLmRlcHRofHxlLmRlcHRoPDMpJiZvZChlKSYmKHQub3B0aW9ucy5zZXRleHR8fHIpKX12YXIgcFU9ZigoKT0+e3VVKCk7YWsoKX0pO2Z1bmN0aW9uIEdTZShlLHQscixhKXtsZXQgaT1NYXRoLm1heChNYXRoLm1pbig2LGUuZGVwdGh8fDEpLDEpLG49ci5jcmVhdGVUcmFja2VyKGEpO2lmKGlrKGUscikpe2xldCB1PXIuZW50ZXIoImhlYWRpbmdTZXRleHQiKSxkPXIuZW50ZXIoInBocmFzaW5nIiksaD1yLmNvbnRhaW5lclBocmFzaW5nKGUsey4uLm4uY3VycmVudCgpLGJlZm9yZTpgCmAsYWZ0ZXI6YApgfSk7cmV0dXJuIGQoKSx1KCksaCtgCmArKGk9PT0xPyI9IjoiLSIpLnJlcGVhdChoLmxlbmd0aC0oTWF0aC5tYXgoaC5sYXN0SW5kZXhPZigiXHIiKSxoLmxhc3RJbmRleE9mKGAKYCkpKzEpKX1sZXQgcz0iIyIucmVwZWF0KGkpLG89ci5lbnRlcigiaGVhZGluZ0F0eCIpLGM9ci5lbnRlcigicGhyYXNpbmciKTtuLm1vdmUocysiICIpO2xldCBsPXIuY29udGFpbmVyUGhyYXNpbmcoZSx7YmVmb3JlOiIjICIsYWZ0ZXI6YApgLC4uLm4uY3VycmVudCgpfSk7cmV0dXJuL15bXHQgXS8udGVzdChsKSYmKGw9QjEobC5jaGFyQ29kZUF0KDApKStsLnNsaWNlKDEpKSxsPWw/cysiICIrbDpzLHIub3B0aW9ucy5jbG9zZUF0eCYmKGwrPSIgIitzKSxjKCksbygpLGx9dmFyIFlTZT1mKCgpPT57ajUoKTtwVSgpfSk7ZnVuY3Rpb24gZlUoZSl7cmV0dXJuIGUudmFsdWV8fCIifWZ1bmN0aW9uIElrcigpe3JldHVybiI8In12YXIgWlNlPWYoKCk9PntmVS5wZWVrPUlrcn0pO2Z1bmN0aW9uIGhVKGUsdCxyLGEpe2xldCBpPXE1KHIpLG49aT09PSciJz8iUXVvdGUiOiJBcG9zdHJvcGhlIixzPXIuZW50ZXIoImltYWdlIiksbz1yLmVudGVyKCJsYWJlbCIpLGM9ci5jcmVhdGVUcmFja2VyKGEpLGw9Yy5tb3ZlKCIhWyIpO3JldHVybiBsKz1jLm1vdmUoci5zYWZlKGUuYWx0LHtiZWZvcmU6bCxhZnRlcjoiXSIsLi4uYy5jdXJyZW50KCl9KSksbCs9Yy5tb3ZlKCJdKCIpLG8oKSwhZS51cmwmJmUudGl0bGV8fC9bXDAtIFx1MDA3Rl0vLnRlc3QoZS51cmwpPyhvPXIuZW50ZXIoImRlc3RpbmF0aW9uTGl0ZXJhbCIpLGwrPWMubW92ZSgiPCIpLGwrPWMubW92ZShyLnNhZmUoZS51cmwse2JlZm9yZTpsLGFmdGVyOiI+IiwuLi5jLmN1cnJlbnQoKX0pKSxsKz1jLm1vdmUoIj4iKSk6KG89ci5lbnRlcigiZGVzdGluYXRpb25SYXciKSxsKz1jLm1vdmUoci5zYWZlKGUudXJsLHtiZWZvcmU6bCxhZnRlcjplLnRpdGxlPyIgIjoiKSIsLi4uYy5jdXJyZW50KCl9KSkpLG8oKSxlLnRpdGxlJiYobz1yLmVudGVyKGB0aXRsZSR7bn1gKSxsKz1jLm1vdmUoIiAiK2kpLGwrPWMubW92ZShyLnNhZmUoZS50aXRsZSx7YmVmb3JlOmwsYWZ0ZXI6aSwuLi5jLmN1cnJlbnQoKX0pKSxsKz1jLm1vdmUoaSksbygpKSxsKz1jLm1vdmUoIikiKSxzKCksbH1mdW5jdGlvbiBQa3IoKXtyZXR1cm4iISJ9dmFyIFhTZT1mKCgpPT57dGsoKTtoVS5wZWVrPVBrcn0pO2Z1bmN0aW9uIG1VKGUsdCxyLGEpe2xldCBpPWUucmVmZXJlbmNlVHlwZSxuPXIuZW50ZXIoImltYWdlUmVmZXJlbmNlIikscz1yLmVudGVyKCJsYWJlbCIpLG89ci5jcmVhdGVUcmFja2VyKGEpLGM9by5tb3ZlKCIhWyIpLGw9ci5zYWZlKGUuYWx0LHtiZWZvcmU6YyxhZnRlcjoiXSIsLi4uby5jdXJyZW50KCl9KTtjKz1vLm1vdmUobCsiXVsiKSxzKCk7bGV0IHU9ci5zdGFjaztyLnN0YWNrPVtdLHM9ci5lbnRlcigicmVmZXJlbmNlIik7bGV0IGQ9ci5zYWZlKHIuYXNzb2NpYXRpb25JZChlKSx7YmVmb3JlOmMsYWZ0ZXI6Il0iLC4uLm8uY3VycmVudCgpfSk7cmV0dXJuIHMoKSxyLnN0YWNrPXUsbigpLGk9PT0iZnVsbCJ8fCFsfHxsIT09ZD9jKz1vLm1vdmUoZCsiXSIpOmk9PT0ic2hvcnRjdXQiP2M9Yy5zbGljZSgwLC0xKTpjKz1vLm1vdmUoIl0iKSxjfWZ1bmN0aW9uIE5rcigpe3JldHVybiIhIn12YXIgUVNlPWYoKCk9PnttVS5wZWVrPU5rcn0pO2Z1bmN0aW9uIGdVKGUsdCxyKXtsZXQgYT1lLnZhbHVlfHwiIixpPSJgIixuPS0xO2Zvcig7bmV3IFJlZ0V4cCgiKF58W15gXSkiK2krIihbXmBdfCQpIikudGVzdChhKTspaSs9ImAiO2ZvcigvW14gXHJcbl0vLnRlc3QoYSkmJigvXlsgXHJcbl0vLnRlc3QoYSkmJi9bIFxyXG5dJC8udGVzdChhKXx8L15gfGAkLy50ZXN0KGEpKSYmKGE9IiAiK2ErIiAiKTsrK248ci51bnNhZmUubGVuZ3RoOyl7bGV0IHM9ci51bnNhZmVbbl0sbz1yLmNvbXBpbGVQYXR0ZXJuKHMpLGM7aWYocy5hdEJyZWFrKWZvcig7Yz1vLmV4ZWMoYSk7KXtsZXQgbD1jLmluZGV4O2EuY2hhckNvZGVBdChsKT09PTEwJiZhLmNoYXJDb2RlQXQobC0xKT09PTEzJiZsLS0sYT1hLnNsaWNlKDAsbCkrIiAiK2Euc2xpY2UoYy5pbmRleCsxKX19cmV0dXJuIGkrYStpfWZ1bmN0aW9uIEZrcigpe3JldHVybiJgIn12YXIgSlNlPWYoKCk9PntnVS5wZWVrPUZrcn0pO2Z1bmN0aW9uIGJVKGUsdCl7bGV0IHI9b2QoZSk7cmV0dXJuISEoIXQub3B0aW9ucy5yZXNvdXJjZUxpbmsmJmUudXJsJiYhZS50aXRsZSYmZS5jaGlsZHJlbiYmZS5jaGlsZHJlbi5sZW5ndGg9PT0xJiZlLmNoaWxkcmVuWzBdLnR5cGU9PT0idGV4dCImJihyPT09ZS51cmx8fCJtYWlsdG86IityPT09ZS51cmwpJiYvXlthLXpdW2EteisuLV0rOi9pLnRlc3QoZS51cmwpJiYhL1tcMC0gPD5cdTAwN0ZdLy50ZXN0KGUudXJsKSl9dmFyIEtTZT1mKCgpPT57YWsoKX0pO2Z1bmN0aW9uIHZVKGUsdCxyLGEpe2xldCBpPXE1KHIpLG49aT09PSciJz8iUXVvdGUiOiJBcG9zdHJvcGhlIixzPXIuY3JlYXRlVHJhY2tlcihhKSxvLGM7aWYoYlUoZSxyKSl7bGV0IHU9ci5zdGFjaztyLnN0YWNrPVtdLG89ci5lbnRlcigiYXV0b2xpbmsiKTtsZXQgZD1zLm1vdmUoIjwiKTtyZXR1cm4gZCs9cy5tb3ZlKHIuY29udGFpbmVyUGhyYXNpbmcoZSx7YmVmb3JlOmQsYWZ0ZXI6Ij4iLC4uLnMuY3VycmVudCgpfSkpLGQrPXMubW92ZSgiPiIpLG8oKSxyLnN0YWNrPXUsZH1vPXIuZW50ZXIoImxpbmsiKSxjPXIuZW50ZXIoImxhYmVsIik7bGV0IGw9cy5tb3ZlKCJbIik7cmV0dXJuIGwrPXMubW92ZShyLmNvbnRhaW5lclBocmFzaW5nKGUse2JlZm9yZTpsLGFmdGVyOiJdKCIsLi4ucy5jdXJyZW50KCl9KSksbCs9cy5tb3ZlKCJdKCIpLGMoKSwhZS51cmwmJmUudGl0bGV8fC9bXDAtIFx1MDA3Rl0vLnRlc3QoZS51cmwpPyhjPXIuZW50ZXIoImRlc3RpbmF0aW9uTGl0ZXJhbCIpLGwrPXMubW92ZSgiPCIpLGwrPXMubW92ZShyLnNhZmUoZS51cmwse2JlZm9yZTpsLGFmdGVyOiI+IiwuLi5zLmN1cnJlbnQoKX0pKSxsKz1zLm1vdmUoIj4iKSk6KGM9ci5lbnRlcigiZGVzdGluYXRpb25SYXciKSxsKz1zLm1vdmUoci5zYWZlKGUudXJsLHtiZWZvcmU6bCxhZnRlcjplLnRpdGxlPyIgIjoiKSIsLi4ucy5jdXJyZW50KCl9KSkpLGMoKSxlLnRpdGxlJiYoYz1yLmVudGVyKGB0aXRsZSR7bn1gKSxsKz1zLm1vdmUoIiAiK2kpLGwrPXMubW92ZShyLnNhZmUoZS50aXRsZSx7YmVmb3JlOmwsYWZ0ZXI6aSwuLi5zLmN1cnJlbnQoKX0pKSxsKz1zLm1vdmUoaSksYygpKSxsKz1zLm1vdmUoIikiKSxvKCksbH1mdW5jdGlvbiBPa3IoZSx0LHIpe3JldHVybiBiVShlLHIpPyI8IjoiWyJ9dmFyIGV6ZT1mKCgpPT57dGsoKTtLU2UoKTt2VS5wZWVrPU9rcn0pO2Z1bmN0aW9uIHhVKGUsdCxyLGEpe2xldCBpPWUucmVmZXJlbmNlVHlwZSxuPXIuZW50ZXIoImxpbmtSZWZlcmVuY2UiKSxzPXIuZW50ZXIoImxhYmVsIiksbz1yLmNyZWF0ZVRyYWNrZXIoYSksYz1vLm1vdmUoIlsiKSxsPXIuY29udGFpbmVyUGhyYXNpbmcoZSx7YmVmb3JlOmMsYWZ0ZXI6Il0iLC4uLm8uY3VycmVudCgpfSk7Yys9by5tb3ZlKGwrIl1bIikscygpO2xldCB1PXIuc3RhY2s7ci5zdGFjaz1bXSxzPXIuZW50ZXIoInJlZmVyZW5jZSIpO2xldCBkPXIuc2FmZShyLmFzc29jaWF0aW9uSWQoZSkse2JlZm9yZTpjLGFmdGVyOiJdIiwuLi5vLmN1cnJlbnQoKX0pO3JldHVybiBzKCksci5zdGFjaz11LG4oKSxpPT09ImZ1bGwifHwhbHx8bCE9PWQ/Yys9by5tb3ZlKGQrIl0iKTppPT09InNob3J0Y3V0Ij9jPWMuc2xpY2UoMCwtMSk6Yys9by5tb3ZlKCJdIiksY31mdW5jdGlvbiBSa3IoKXtyZXR1cm4iWyJ9dmFyIHR6ZT1mKCgpPT57eFUucGVlaz1Sa3J9KTtmdW5jdGlvbiBVNShlKXtsZXQgdD1lLm9wdGlvbnMuYnVsbGV0fHwiKiI7aWYodCE9PSIqIiYmdCE9PSIrIiYmdCE9PSItIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIit0KyJgIGZvciBgb3B0aW9ucy5idWxsZXRgLCBleHBlY3RlZCBgKmAsIGArYCwgb3IgYC1gIik7cmV0dXJuIHR9dmFyIG5rPWYoKCk9Pnt9KTtmdW5jdGlvbiByemUoZSl7bGV0IHQ9VTUoZSkscj1lLm9wdGlvbnMuYnVsbGV0T3RoZXI7aWYoIXIpcmV0dXJuIHQ9PT0iKiI/Ii0iOiIqIjtpZihyIT09IioiJiZyIT09IisiJiZyIT09Ii0iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBpdGVtcyB3aXRoIGAiK3IrImAgZm9yIGBvcHRpb25zLmJ1bGxldE90aGVyYCwgZXhwZWN0ZWQgYCpgLCBgK2AsIG9yIGAtYCIpO2lmKHI9PT10KXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYGJ1bGxldGAgKGAiK3QrImApIGFuZCBgYnVsbGV0T3RoZXJgIChgIityKyJgKSB0byBiZSBkaWZmZXJlbnQiKTtyZXR1cm4gcn12YXIgYXplPWYoKCk9PntuaygpfSk7ZnVuY3Rpb24gaXplKGUpe2xldCB0PWUub3B0aW9ucy5idWxsZXRPcmRlcmVkfHwiLiI7aWYodCE9PSIuIiYmdCE9PSIpIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIit0KyJgIGZvciBgb3B0aW9ucy5idWxsZXRPcmRlcmVkYCwgZXhwZWN0ZWQgYC5gIG9yIGApYCIpO3JldHVybiB0fXZhciBuemU9ZigoKT0+e30pO2Z1bmN0aW9uIHNrKGUpe2xldCB0PWUub3B0aW9ucy5ydWxlfHwiKiI7aWYodCE9PSIqIiYmdCE9PSItIiYmdCE9PSJfIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgcnVsZXMgd2l0aCBgIit0KyJgIGZvciBgb3B0aW9ucy5ydWxlYCwgZXhwZWN0ZWQgYCpgLCBgLWAsIG9yIGBfYCIpO3JldHVybiB0fXZhciB5VT1mKCgpPT57fSk7ZnVuY3Rpb24gc3plKGUsdCxyLGEpe2xldCBpPXIuZW50ZXIoImxpc3QiKSxuPXIuYnVsbGV0Q3VycmVudCxzPWUub3JkZXJlZD9pemUocik6VTUociksbz1lLm9yZGVyZWQ/cz09PSIuIj8iKSI6Ii4iOnJ6ZShyKSxjPXQmJnIuYnVsbGV0TGFzdFVzZWQ/cz09PXIuYnVsbGV0TGFzdFVzZWQ6ITE7aWYoIWUub3JkZXJlZCl7bGV0IHU9ZS5jaGlsZHJlbj9lLmNoaWxkcmVuWzBdOnZvaWQgMDtpZigocz09PSIqInx8cz09PSItIikmJnUmJighdS5jaGlsZHJlbnx8IXUuY2hpbGRyZW5bMF0pJiZyLnN0YWNrW3Iuc3RhY2subGVuZ3RoLTFdPT09Imxpc3QiJiZyLnN0YWNrW3Iuc3RhY2subGVuZ3RoLTJdPT09Imxpc3RJdGVtIiYmci5zdGFja1tyLnN0YWNrLmxlbmd0aC0zXT09PSJsaXN0IiYmci5zdGFja1tyLnN0YWNrLmxlbmd0aC00XT09PSJsaXN0SXRlbSImJnIuaW5kZXhTdGFja1tyLmluZGV4U3RhY2subGVuZ3RoLTFdPT09MCYmci5pbmRleFN0YWNrW3IuaW5kZXhTdGFjay5sZW5ndGgtMl09PT0wJiZyLmluZGV4U3RhY2tbci5pbmRleFN0YWNrLmxlbmd0aC0zXT09PTAmJihjPSEwKSxzayhyKT09PXMmJnUpe2xldCBkPS0xO2Zvcig7KytkPGUuY2hpbGRyZW4ubGVuZ3RoOyl7bGV0IGg9ZS5jaGlsZHJlbltkXTtpZihoJiZoLnR5cGU9PT0ibGlzdEl0ZW0iJiZoLmNoaWxkcmVuJiZoLmNoaWxkcmVuWzBdJiZoLmNoaWxkcmVuWzBdLnR5cGU9PT0idGhlbWF0aWNCcmVhayIpe2M9ITA7YnJlYWt9fX19YyYmKHM9byksci5idWxsZXRDdXJyZW50PXM7bGV0IGw9ci5jb250YWluZXJGbG93KGUsYSk7cmV0dXJuIHIuYnVsbGV0TGFzdFVzZWQ9cyxyLmJ1bGxldEN1cnJlbnQ9bixpKCksbH12YXIgb3plPWYoKCk9PntuaygpO2F6ZSgpO256ZSgpO3lVKCl9KTtmdW5jdGlvbiBsemUoZSl7bGV0IHQ9ZS5vcHRpb25zLmxpc3RJdGVtSW5kZW50fHwib25lIjtpZih0IT09InRhYiImJnQhPT0ib25lIiYmdCE9PSJtaXhlZCIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGl0ZW1zIHdpdGggYCIrdCsiYCBmb3IgYG9wdGlvbnMubGlzdEl0ZW1JbmRlbnRgLCBleHBlY3RlZCBgdGFiYCwgYG9uZWAsIG9yIGBtaXhlZGAiKTtyZXR1cm4gdH12YXIgY3plPWYoKCk9Pnt9KTtmdW5jdGlvbiBkemUoZSx0LHIsYSl7bGV0IGk9bHplKHIpLG49ci5idWxsZXRDdXJyZW50fHxVNShyKTt0JiZ0LnR5cGU9PT0ibGlzdCImJnQub3JkZXJlZCYmKG49KHR5cGVvZiB0LnN0YXJ0PT0ibnVtYmVyIiYmdC5zdGFydD4tMT90LnN0YXJ0OjEpKyhyLm9wdGlvbnMuaW5jcmVtZW50TGlzdE1hcmtlcj09PSExPzA6dC5jaGlsZHJlbi5pbmRleE9mKGUpKStuKTtsZXQgcz1uLmxlbmd0aCsxOyhpPT09InRhYiJ8fGk9PT0ibWl4ZWQiJiYodCYmdC50eXBlPT09Imxpc3QiJiZ0LnNwcmVhZHx8ZS5zcHJlYWQpKSYmKHM9TWF0aC5jZWlsKHMvNCkqNCk7bGV0IG89ci5jcmVhdGVUcmFja2VyKGEpO28ubW92ZShuKyIgIi5yZXBlYXQocy1uLmxlbmd0aCkpLG8uc2hpZnQocyk7bGV0IGM9ci5lbnRlcigibGlzdEl0ZW0iKSxsPXIuaW5kZW50TGluZXMoci5jb250YWluZXJGbG93KGUsby5jdXJyZW50KCkpLHUpO3JldHVybiBjKCksbDtmdW5jdGlvbiB1KGQsaCxtKXtyZXR1cm4gaD8obT8iIjoiICIucmVwZWF0KHMpKStkOihtP246bisiICIucmVwZWF0KHMtbi5sZW5ndGgpKStkfX12YXIgdXplPWYoKCk9PntuaygpO2N6ZSgpfSk7ZnVuY3Rpb24gcHplKGUsdCxyLGEpe2xldCBpPXIuZW50ZXIoInBhcmFncmFwaCIpLG49ci5lbnRlcigicGhyYXNpbmciKSxzPXIuY29udGFpbmVyUGhyYXNpbmcoZSxhKTtyZXR1cm4gbigpLGkoKSxzfXZhciBmemU9ZigoKT0+e30pO3ZhciB3VSxoemU9ZigoKT0+e1pNKCk7d1U9UmwoWyJicmVhayIsImRlbGV0ZSIsImVtcGhhc2lzIiwiZm9vdG5vdGUiLCJmb290bm90ZVJlZmVyZW5jZSIsImltYWdlIiwiaW1hZ2VSZWZlcmVuY2UiLCJpbmxpbmVDb2RlIiwiaW5saW5lTWF0aCIsImxpbmsiLCJsaW5rUmVmZXJlbmNlIiwibWR4SnN4VGV4dEVsZW1lbnQiLCJtZHhUZXh0RXhwcmVzc2lvbiIsInN0cm9uZyIsInRleHQiLCJ0ZXh0RGlyZWN0aXZlIl0pfSk7dmFyIG16ZT1mKCgpPT57aHplKCl9KTtmdW5jdGlvbiBnemUoZSx0LHIsYSl7cmV0dXJuKGUuY2hpbGRyZW4uc29tZShmdW5jdGlvbihzKXtyZXR1cm4gd1Uocyl9KT9yLmNvbnRhaW5lclBocmFzaW5nOnIuY29udGFpbmVyRmxvdykuY2FsbChyLGUsYSl9dmFyIGJ6ZT1mKCgpPT57bXplKCl9KTtmdW5jdGlvbiB2emUoZSl7bGV0IHQ9ZS5vcHRpb25zLnN0cm9uZ3x8IioiO2lmKHQhPT0iKiImJnQhPT0iXyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIHN0cm9uZyB3aXRoIGAiK3QrImAgZm9yIGBvcHRpb25zLnN0cm9uZ2AsIGV4cGVjdGVkIGAqYCwgb3IgYF9gIik7cmV0dXJuIHR9dmFyIHh6ZT1mKCgpPT57fSk7ZnVuY3Rpb24gTVUoZSx0LHIsYSl7bGV0IGk9dnplKHIpLG49ci5lbnRlcigic3Ryb25nIikscz1yLmNyZWF0ZVRyYWNrZXIoYSksbz1zLm1vdmUoaStpKSxjPXMubW92ZShyLmNvbnRhaW5lclBocmFzaW5nKGUse2FmdGVyOmksYmVmb3JlOm8sLi4ucy5jdXJyZW50KCl9KSksbD1jLmNoYXJDb2RlQXQoMCksdT1WNShhLmJlZm9yZS5jaGFyQ29kZUF0KGEuYmVmb3JlLmxlbmd0aC0xKSxsLGkpO3UuaW5zaWRlJiYoYz1CMShsKStjLnNsaWNlKDEpKTtsZXQgZD1jLmNoYXJDb2RlQXQoYy5sZW5ndGgtMSksaD1WNShhLmFmdGVyLmNoYXJDb2RlQXQoMCksZCxpKTtoLmluc2lkZSYmKGM9Yy5zbGljZSgwLC0xKStCMShkKSk7bGV0IG09cy5tb3ZlKGkraSk7cmV0dXJuIG4oKSxyLmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbz17YWZ0ZXI6aC5vdXRzaWRlLGJlZm9yZTp1Lm91dHNpZGV9LG8rYyttfWZ1bmN0aW9uIEJrcihlLHQscil7cmV0dXJuIHIub3B0aW9ucy5zdHJvbmd8fCIqIn12YXIgeXplPWYoKCk9Pnt4emUoKTtqNSgpO2NVKCk7TVUucGVlaz1Ca3J9KTtmdW5jdGlvbiB3emUoZSx0LHIsYSl7cmV0dXJuIHIuc2FmZShlLnZhbHVlLGEpfXZhciBNemU9ZigoKT0+e30pO2Z1bmN0aW9uIGt6ZShlKXtsZXQgdD1lLm9wdGlvbnMucnVsZVJlcGV0aXRpb258fDM7aWYodDwzKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBydWxlcyB3aXRoIHJlcGV0aXRpb24gYCIrdCsiYCBmb3IgYG9wdGlvbnMucnVsZVJlcGV0aXRpb25gLCBleHBlY3RlZCBgM2Agb3IgbW9yZSIpO3JldHVybiB0fXZhciBTemU9ZigoKT0+e30pO2Z1bmN0aW9uIHp6ZShlLHQscil7bGV0IGE9KHNrKHIpKyhyLm9wdGlvbnMucnVsZVNwYWNlcz8iICI6IiIpKS5yZXBlYXQoa3plKHIpKTtyZXR1cm4gci5vcHRpb25zLnJ1bGVTcGFjZXM/YS5zbGljZSgwLC0xKTphfXZhciBDemU9ZigoKT0+e1N6ZSgpO3lVKCl9KTt2YXIgbGQsa1U9ZigoKT0+e0xTZSgpO0RTZSgpO0ZTZSgpO1JTZSgpO3FTZSgpO1lTZSgpO1pTZSgpO1hTZSgpO1FTZSgpO0pTZSgpO2V6ZSgpO3R6ZSgpO296ZSgpO3V6ZSgpO2Z6ZSgpO2J6ZSgpO3l6ZSgpO016ZSgpO0N6ZSgpO2xkPXtibG9ja3F1b3RlOl9TZSxicmVhazpvVSxjb2RlOk5TZSxkZWZpbml0aW9uOk9TZSxlbXBoYXNpczpkVSxoYXJkQnJlYWs6b1UsaGVhZGluZzpHU2UsaHRtbDpmVSxpbWFnZTpoVSxpbWFnZVJlZmVyZW5jZTptVSxpbmxpbmVDb2RlOmdVLGxpbms6dlUsbGlua1JlZmVyZW5jZTp4VSxsaXN0OnN6ZSxsaXN0SXRlbTpkemUscGFyYWdyYXBoOnB6ZSxyb290Omd6ZSxzdHJvbmc6TVUsdGV4dDp3emUsdGhlbWF0aWNCcmVhazp6emV9fSk7ZnVuY3Rpb24gSGtyKGUsdCxyLGEpe2lmKHQudHlwZT09PSJjb2RlIiYmQm0odCxhKSYmKGUudHlwZT09PSJsaXN0Inx8ZS50eXBlPT09dC50eXBlJiZCbShlLGEpKSlyZXR1cm4hMTtpZigic3ByZWFkImluIHImJnR5cGVvZiByLnNwcmVhZD09ImJvb2xlYW4iKXJldHVybiBlLnR5cGU9PT0icGFyYWdyYXBoIiYmKGUudHlwZT09PXQudHlwZXx8dC50eXBlPT09ImRlZmluaXRpb24ifHx0LnR5cGU9PT0iaGVhZGluZyImJmlrKHQsYSkpP3ZvaWQgMDpyLnNwcmVhZD8xOjB9dmFyIFR6ZSxfemU9ZigoKT0+e2xVKCk7cFUoKTtUemU9W0hrcl19KTt2YXIgY2QsTHplLCR6ZT1mKCgpPT57Y2Q9WyJhdXRvbGluayIsImRlc3RpbmF0aW9uTGl0ZXJhbCIsImRlc3RpbmF0aW9uUmF3IiwicmVmZXJlbmNlIiwidGl0bGVRdW90ZSIsInRpdGxlQXBvc3Ryb3BoZSJdLEx6ZT1be2NoYXJhY3RlcjoiCSIsYWZ0ZXI6IltcXHJcXG5dIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiIJIixiZWZvcmU6IltcXHJcXG5dIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiIJIixpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTGFuZ1RpbGRlIl19LHtjaGFyYWN0ZXI6IlxyIixpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTGFuZ1RpbGRlIiwiY29kZUZlbmNlZE1ldGFHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRNZXRhVGlsZGUiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJoZWFkaW5nQXR4Il19LHtjaGFyYWN0ZXI6YApgLGluQ29uc3RydWN0OlsiY29kZUZlbmNlZExhbmdHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRMYW5nVGlsZGUiLCJjb2RlRmVuY2VkTWV0YUdyYXZlQWNjZW50IiwiY29kZUZlbmNlZE1ldGFUaWxkZSIsImRlc3RpbmF0aW9uTGl0ZXJhbCIsImhlYWRpbmdBdHgiXX0se2NoYXJhY3RlcjoiICIsYWZ0ZXI6IltcXHJcXG5dIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiIgIixiZWZvcmU6IltcXHJcXG5dIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiIgIixpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTGFuZ1RpbGRlIl19LHtjaGFyYWN0ZXI6IiEiLGFmdGVyOiJcXFsiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6Y2R9LHtjaGFyYWN0ZXI6JyInLGluQ29uc3RydWN0OiJ0aXRsZVF1b3RlIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiIjIn0se2NoYXJhY3RlcjoiIyIsaW5Db25zdHJ1Y3Q6ImhlYWRpbmdBdHgiLGFmdGVyOmAoPzpbXHIKXXwkKWB9LHtjaGFyYWN0ZXI6IiYiLGFmdGVyOiJbI0EtWmEtel0iLGluQ29uc3RydWN0OiJwaHJhc2luZyJ9LHtjaGFyYWN0ZXI6IiciLGluQ29uc3RydWN0OiJ0aXRsZUFwb3N0cm9waGUifSx7Y2hhcmFjdGVyOiIoIixpbkNvbnN0cnVjdDoiZGVzdGluYXRpb25SYXcifSx7YmVmb3JlOiJcXF0iLGNoYXJhY3RlcjoiKCIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpjZH0se2F0QnJlYWs6ITAsYmVmb3JlOiJcXGQrIixjaGFyYWN0ZXI6IikifSx7Y2hhcmFjdGVyOiIpIixpbkNvbnN0cnVjdDoiZGVzdGluYXRpb25SYXcifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IioiLGFmdGVyOmAoPzpbIAlccgoqXSlgfSx7Y2hhcmFjdGVyOiIqIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OmNkfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IisiLGFmdGVyOmAoPzpbIAlccgpdKWB9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiLSIsYWZ0ZXI6YCg/OlsgCVxyCi1dKWB9LHthdEJyZWFrOiEwLGJlZm9yZToiXFxkKyIsY2hhcmFjdGVyOiIuIixhZnRlcjpgKD86WyAJXHIKXXwkKWB9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiPCIsYWZ0ZXI6IlshLz9BLVphLXpdIn0se2NoYXJhY3RlcjoiPCIsYWZ0ZXI6IlshLz9BLVphLXpdIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OmNkfSx7Y2hhcmFjdGVyOiI8IixpbkNvbnN0cnVjdDoiZGVzdGluYXRpb25MaXRlcmFsIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiI9In0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiI+In0se2NoYXJhY3RlcjoiPiIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uTGl0ZXJhbCJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiWyJ9LHtjaGFyYWN0ZXI6IlsiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6Y2R9LHtjaGFyYWN0ZXI6IlsiLGluQ29uc3RydWN0OlsibGFiZWwiLCJyZWZlcmVuY2UiXX0se2NoYXJhY3RlcjoiXFwiLGFmdGVyOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiXSIsaW5Db25zdHJ1Y3Q6WyJsYWJlbCIsInJlZmVyZW5jZSJdfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Il8ifSx7Y2hhcmFjdGVyOiJfIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OmNkfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6ImAifSx7Y2hhcmFjdGVyOiJgIixpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTWV0YUdyYXZlQWNjZW50Il19LHtjaGFyYWN0ZXI6ImAiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6Y2R9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoifiJ9XX0pO2Z1bmN0aW9uIEYwKGUpe2xldCB0PSImIitlKyI7IjtEemUuaW5uZXJIVE1MPXQ7bGV0IHI9RHplLnRleHRDb250ZW50O3JldHVybiByLmNoYXJDb2RlQXQoci5sZW5ndGgtMSk9PT01OSYmZSE9PSJzZW1pInx8cj09PXQ/ITE6cn12YXIgRHplLHFtPWYoKCk9PntEemU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaSIpfSk7ZnVuY3Rpb24gVzUoZSx0KXtsZXQgcj1OdW1iZXIucGFyc2VJbnQoZSx0KTtyZXR1cm4gcjw5fHxyPT09MTF8fHI+MTMmJnI8MzJ8fHI+MTI2JiZyPDE2MHx8cj41NTI5NSYmcjw1NzM0NHx8cj42NDk3NSYmcjw2NTAwOHx8KHImNjU1MzUpPT09NjU1MzV8fChyJjY1NTM1KT09PTY1NTM0fHxyPjExMTQxMTE/Ilx1RkZGRCI6U3RyaW5nLmZyb21Db2RlUG9pbnQocil9dmFyIG9rPWYoKCk9Pnt9KTtmdW5jdGlvbiBsayhlKXtyZXR1cm4gZS5yZXBsYWNlKHFrcixqa3IpfWZ1bmN0aW9uIGprcihlLHQscil7aWYodClyZXR1cm4gdDtpZihyLmNoYXJDb2RlQXQoMCk9PT0zNSl7bGV0IGk9ci5jaGFyQ29kZUF0KDEpLG49aT09PTEyMHx8aT09PTg4O3JldHVybiBXNShyLnNsaWNlKG4/MjoxKSxuPzE2OjEwKX1yZXR1cm4gRjAocil8fGV9dmFyIHFrcixTVT1mKCgpPT57cW0oKTtvaygpO3Frcj0vXFwoWyEtLzotQFstYHstfl0pfCYoIyg/OlxkezEsN318eFtcZGEtZl17MSw2fSl8W1xkYS16XXsxLDMxfSk7L2dpfSk7ZnVuY3Rpb24gQXplKGUpe3JldHVybiBlLmxhYmVsfHwhZS5pZGVudGlmaWVyP2UubGFiZWx8fCIiOmxrKGUuaWRlbnRpZmllcil9dmFyIEV6ZT1mKCgpPT57U1UoKX0pO2Z1bmN0aW9uIEl6ZShlKXtpZighZS5fY29tcGlsZWQpe2xldCB0PShlLmF0QnJlYWs/IltcXHJcXG5dW1xcdCBdKiI6IiIpKyhlLmJlZm9yZT8iKD86IitlLmJlZm9yZSsiKSI6IiIpO2UuX2NvbXBpbGVkPW5ldyBSZWdFeHAoKHQ/IigiK3QrIikiOiIiKSsoL1t8XFx7fSgpW1xdXiQrKj8uLV0vLnRlc3QoZS5jaGFyYWN0ZXIpPyJcXCI6IiIpK2UuY2hhcmFjdGVyKyhlLmFmdGVyPyIoPzoiK2UuYWZ0ZXIrIikiOiIiKSwiZyIpfXJldHVybiBlLl9jb21waWxlZH12YXIgUHplPWYoKCk9Pnt9KTtmdW5jdGlvbiBOemUoZSx0LHIpe2xldCBhPXQuaW5kZXhTdGFjayxpPWUuY2hpbGRyZW58fFtdLG49W10scz0tMSxvPXIuYmVmb3JlLGM7YS5wdXNoKC0xKTtsZXQgbD10LmNyZWF0ZVRyYWNrZXIocik7Zm9yKDsrK3M8aS5sZW5ndGg7KXtsZXQgdT1pW3NdLGQ7aWYoYVthLmxlbmd0aC0xXT1zLHMrMTxpLmxlbmd0aCl7bGV0IHY9dC5oYW5kbGUuaGFuZGxlcnNbaVtzKzFdLnR5cGVdO3YmJnYucGVlayYmKHY9di5wZWVrKSxkPXY/dihpW3MrMV0sZSx0LHtiZWZvcmU6IiIsYWZ0ZXI6IiIsLi4ubC5jdXJyZW50KCl9KS5jaGFyQXQoMCk6IiJ9ZWxzZSBkPXIuYWZ0ZXI7bi5sZW5ndGg+MCYmKG89PT0iXHIifHxvPT09YApgKSYmdS50eXBlPT09Imh0bWwiJiYobltuLmxlbmd0aC0xXT1uW24ubGVuZ3RoLTFdLnJlcGxhY2UoLyhccj9cbnxccikkLywiICIpLG89IiAiLGw9dC5jcmVhdGVUcmFja2VyKHIpLGwubW92ZShuLmpvaW4oIiIpKSk7bGV0IGg9dC5oYW5kbGUodSxlLHQsey4uLmwuY3VycmVudCgpLGFmdGVyOmQsYmVmb3JlOm99KTtjJiZjPT09aC5zbGljZSgwLDEpJiYoaD1CMShjLmNoYXJDb2RlQXQoMCkpK2guc2xpY2UoMSkpO2xldCBtPXQuYXR0ZW50aW9uRW5jb2RlU3Vycm91bmRpbmdJbmZvO3QuYXR0ZW50aW9uRW5jb2RlU3Vycm91bmRpbmdJbmZvPXZvaWQgMCxjPXZvaWQgMCxtJiYobi5sZW5ndGg+MCYmbS5iZWZvcmUmJm89PT1uW24ubGVuZ3RoLTFdLnNsaWNlKC0xKSYmKG5bbi5sZW5ndGgtMV09bltuLmxlbmd0aC0xXS5zbGljZSgwLC0xKStCMShvLmNoYXJDb2RlQXQoMCkpKSxtLmFmdGVyJiYoYz1kKSksbC5tb3ZlKGgpLG4ucHVzaChoKSxvPWguc2xpY2UoLTEpfXJldHVybiBhLnBvcCgpLG4uam9pbigiIil9dmFyIEZ6ZT1mKCgpPT57ajUoKX0pO2Z1bmN0aW9uIE96ZShlLHQscil7bGV0IGE9dC5pbmRleFN0YWNrLGk9ZS5jaGlsZHJlbnx8W10sbj10LmNyZWF0ZVRyYWNrZXIocikscz1bXSxvPS0xO2ZvcihhLnB1c2goLTEpOysrbzxpLmxlbmd0aDspe2xldCBjPWlbb107YVthLmxlbmd0aC0xXT1vLHMucHVzaChuLm1vdmUodC5oYW5kbGUoYyxlLHQse2JlZm9yZTpgCmAsYWZ0ZXI6YApgLC4uLm4uY3VycmVudCgpfSkpKSxjLnR5cGUhPT0ibGlzdCImJih0LmJ1bGxldExhc3RVc2VkPXZvaWQgMCksbzxpLmxlbmd0aC0xJiZzLnB1c2gobi5tb3ZlKFZrcihjLGlbbysxXSxlLHQpKSl9cmV0dXJuIGEucG9wKCkscy5qb2luKCIiKX1mdW5jdGlvbiBWa3IoZSx0LHIsYSl7bGV0IGk9YS5qb2luLmxlbmd0aDtmb3IoO2ktLTspe2xldCBuPWEuam9pbltpXShlLHQscixhKTtpZihuPT09ITB8fG49PT0xKWJyZWFrO2lmKHR5cGVvZiBuPT0ibnVtYmVyIilyZXR1cm5gCmAucmVwZWF0KDErbik7aWYobj09PSExKXJldHVybmAKCjwhLS0tLT4KCmB9cmV0dXJuYAoKYH12YXIgUnplPWYoKCk9Pnt9KTtmdW5jdGlvbiBCemUoZSx0KXtsZXQgcj1bXSxhPTAsaT0wLG47Zm9yKDtuPVVrci5leGVjKGUpOylzKGUuc2xpY2UoYSxuLmluZGV4KSksci5wdXNoKG5bMF0pLGE9bi5pbmRleCtuWzBdLmxlbmd0aCxpKys7cmV0dXJuIHMoZS5zbGljZShhKSksci5qb2luKCIiKTtmdW5jdGlvbiBzKG8pe3IucHVzaCh0KG8saSwhbykpfX12YXIgVWtyLEh6ZT1mKCgpPT57VWtyPS9ccj9cbnxcci9nfSk7ZnVuY3Rpb24ganplKGUsdCxyKXtsZXQgYT0oci5iZWZvcmV8fCIiKSsodHx8IiIpKyhyLmFmdGVyfHwiIiksaT1bXSxuPVtdLHM9e30sbz0tMTtmb3IoOysrbzxlLnVuc2FmZS5sZW5ndGg7KXtsZXQgdT1lLnVuc2FmZVtvXTtpZighZWsoZS5zdGFjayx1KSljb250aW51ZTtsZXQgZD1lLmNvbXBpbGVQYXR0ZXJuKHUpLGg7Zm9yKDtoPWQuZXhlYyhhKTspe2xldCBtPSJiZWZvcmUiaW4gdXx8ISF1LmF0QnJlYWssdj0iYWZ0ZXIiaW4gdSxiPWguaW5kZXgrKG0/aFsxXS5sZW5ndGg6MCk7aS5pbmNsdWRlcyhiKT8oc1tiXS5iZWZvcmUmJiFtJiYoc1tiXS5iZWZvcmU9ITEpLHNbYl0uYWZ0ZXImJiF2JiYoc1tiXS5hZnRlcj0hMSkpOihpLnB1c2goYiksc1tiXT17YmVmb3JlOm0sYWZ0ZXI6dn0pfX1pLnNvcnQoV2tyKTtsZXQgYz1yLmJlZm9yZT9yLmJlZm9yZS5sZW5ndGg6MCxsPWEubGVuZ3RoLShyLmFmdGVyP3IuYWZ0ZXIubGVuZ3RoOjApO2ZvcihvPS0xOysrbzxpLmxlbmd0aDspe2xldCB1PWlbb107dTxjfHx1Pj1sfHx1KzE8bCYmaVtvKzFdPT09dSsxJiZzW3VdLmFmdGVyJiYhc1t1KzFdLmJlZm9yZSYmIXNbdSsxXS5hZnRlcnx8aVtvLTFdPT09dS0xJiZzW3VdLmJlZm9yZSYmIXNbdS0xXS5iZWZvcmUmJiFzW3UtMV0uYWZ0ZXJ8fChjIT09dSYmbi5wdXNoKHF6ZShhLnNsaWNlKGMsdSksIlxcIikpLGM9dSwvWyEtLzotQFstYHstfl0vLnRlc3QoYS5jaGFyQXQodSkpJiYoIXIuZW5jb2RlfHwhci5lbmNvZGUuaW5jbHVkZXMoYS5jaGFyQXQodSkpKT9uLnB1c2goIlxcIik6KG4ucHVzaChCMShhLmNoYXJDb2RlQXQodSkpKSxjKyspKX1yZXR1cm4gbi5wdXNoKHF6ZShhLnNsaWNlKGMsbCksci5hZnRlcikpLG4uam9pbigiIil9ZnVuY3Rpb24gV2tyKGUsdCl7cmV0dXJuIGUtdH1mdW5jdGlvbiBxemUoZSx0KXtsZXQgcj0vXFwoPz1bIS0vOi1AWy1gey1+XSkvZyxhPVtdLGk9W10sbj1lK3Qscz0tMSxvPTAsYztmb3IoO2M9ci5leGVjKG4pOylhLnB1c2goYy5pbmRleCk7Zm9yKDsrK3M8YS5sZW5ndGg7KW8hPT1hW3NdJiZpLnB1c2goZS5zbGljZShvLGFbc10pKSxpLnB1c2goIlxcIiksbz1hW3NdO3JldHVybiBpLnB1c2goZS5zbGljZShvKSksaS5qb2luKCIiKX12YXIgVnplPWYoKCk9PntqNSgpO3NVKCl9KTtmdW5jdGlvbiBVemUoZSl7bGV0IHQ9ZXx8e30scj10Lm5vd3x8e30sYT10LmxpbmVTaGlmdHx8MCxpPXIubGluZXx8MSxuPXIuY29sdW1ufHwxO3JldHVybnttb3ZlOmMsY3VycmVudDpzLHNoaWZ0Om99O2Z1bmN0aW9uIHMoKXtyZXR1cm57bm93OntsaW5lOmksY29sdW1uOm59LGxpbmVTaGlmdDphfX1mdW5jdGlvbiBvKGwpe2ErPWx9ZnVuY3Rpb24gYyhsKXtsZXQgdT1sfHwiIixkPXUuc3BsaXQoL1xyP1xufFxyL2cpLGg9ZFtkLmxlbmd0aC0xXTtyZXR1cm4gaSs9ZC5sZW5ndGgtMSxuPWQubGVuZ3RoPT09MT9uK2gubGVuZ3RoOjEraC5sZW5ndGgrYSx1fX12YXIgV3plPWYoKCk9Pnt9KTtmdW5jdGlvbiB6VShlLHQpe2xldCByPXR8fHt9LGE9e2Fzc29jaWF0aW9uSWQ6QXplLGNvbnRhaW5lclBocmFzaW5nOlhrcixjb250YWluZXJGbG93OlFrcixjcmVhdGVUcmFja2VyOlV6ZSxjb21waWxlUGF0dGVybjpJemUsZW50ZXI6bixoYW5kbGVyczp7Li4ubGR9LGhhbmRsZTp2b2lkIDAsaW5kZW50TGluZXM6QnplLGluZGV4U3RhY2s6W10sam9pbjpbLi4uVHplXSxvcHRpb25zOnt9LHNhZmU6SmtyLHN0YWNrOltdLHVuc2FmZTpbLi4uTHplXX07blUoYSxyKSxhLm9wdGlvbnMudGlnaHREZWZpbml0aW9ucyYmYS5qb2luLnB1c2goWmtyKSxhLmhhbmRsZT1LTSgidHlwZSIse2ludmFsaWQ6R2tyLHVua25vd246WWtyLGhhbmRsZXJzOmEuaGFuZGxlcnN9KTtsZXQgaT1hLmhhbmRsZShlLHZvaWQgMCxhLHtiZWZvcmU6YApgLGFmdGVyOmAKYCxub3c6e2xpbmU6MSxjb2x1bW46MX0sbGluZVNoaWZ0OjB9KTtyZXR1cm4gaSYmaS5jaGFyQ29kZUF0KGkubGVuZ3RoLTEpIT09MTAmJmkuY2hhckNvZGVBdChpLmxlbmd0aC0xKSE9PTEzJiYoaSs9YApgKSxpO2Z1bmN0aW9uIG4ocyl7cmV0dXJuIGEuc3RhY2sucHVzaChzKSxvO2Z1bmN0aW9uIG8oKXthLnN0YWNrLnBvcCgpfX19ZnVuY3Rpb24gR2tyKGUpe3Rocm93IG5ldyBFcnJvcigiQ2Fubm90IGhhbmRsZSB2YWx1ZSBgIitlKyJgLCBleHBlY3RlZCBub2RlIil9ZnVuY3Rpb24gWWtyKGUpe2xldCB0PWU7dGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgaGFuZGxlIHVua25vd24gbm9kZSBgIit0LnR5cGUrImAiKX1mdW5jdGlvbiBaa3IoZSx0KXtpZihlLnR5cGU9PT0iZGVmaW5pdGlvbiImJmUudHlwZT09PXQudHlwZSlyZXR1cm4gMH1mdW5jdGlvbiBYa3IoZSx0KXtyZXR1cm4gTnplKGUsdGhpcyx0KX1mdW5jdGlvbiBRa3IoZSx0KXtyZXR1cm4gT3plKGUsdGhpcyx0KX1mdW5jdGlvbiBKa3IoZSx0KXtyZXR1cm4ganplKHRoaXMsZSx0KX12YXIgR3plPWYoKCk9PntpVSgpO1RTZSgpO2tVKCk7X3plKCk7JHplKCk7RXplKCk7UHplKCk7RnplKCk7UnplKCk7SHplKCk7VnplKCk7V3plKCl9KTt2YXIgY2s9ZigoKT0+e0d6ZSgpO2tVKCl9KTtmdW5jdGlvbiBUVSgpe3JldHVybntlbnRlcjp7dGFibGU6S2tyLHRhYmxlRGF0YTpZemUsdGFibGVIZWFkZXI6WXplLHRhYmxlUm93OnRTcn0sZXhpdDp7Y29kZVRleHQ6clNyLHRhYmxlOmVTcix0YWJsZURhdGE6Q1UsdGFibGVIZWFkZXI6Q1UsdGFibGVSb3c6Q1V9fX1mdW5jdGlvbiBLa3IoZSl7bGV0IHQ9ZS5fYWxpZ247dGhpcy5lbnRlcih7dHlwZToidGFibGUiLGFsaWduOnQubWFwKGZ1bmN0aW9uKHIpe3JldHVybiByPT09Im5vbmUiP251bGw6cn0pLGNoaWxkcmVuOltdfSxlKSx0aGlzLmRhdGEuaW5UYWJsZT0hMH1mdW5jdGlvbiBlU3IoZSl7dGhpcy5leGl0KGUpLHRoaXMuZGF0YS5pblRhYmxlPXZvaWQgMH1mdW5jdGlvbiB0U3IoZSl7dGhpcy5lbnRlcih7dHlwZToidGFibGVSb3ciLGNoaWxkcmVuOltdfSxlKX1mdW5jdGlvbiBDVShlKXt0aGlzLmV4aXQoZSl9ZnVuY3Rpb24gWXplKGUpe3RoaXMuZW50ZXIoe3R5cGU6InRhYmxlQ2VsbCIsY2hpbGRyZW46W119LGUpfWZ1bmN0aW9uIHJTcihlKXtsZXQgdD10aGlzLnJlc3VtZSgpO3RoaXMuZGF0YS5pblRhYmxlJiYodD10LnJlcGxhY2UoL1xcKFtcXHxdKS9nLGFTcikpO2xldCByPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ci50eXBlLHIudmFsdWU9dCx0aGlzLmV4aXQoZSl9ZnVuY3Rpb24gYVNyKGUsdCl7cmV0dXJuIHQ9PT0ifCI/dDplfWZ1bmN0aW9uIF9VKGUpe2xldCB0PWV8fHt9LHI9dC50YWJsZUNlbGxQYWRkaW5nLGE9dC50YWJsZVBpcGVBbGlnbixpPXQuc3RyaW5nTGVuZ3RoLG49cj8iICI6InwiO3JldHVybnt1bnNhZmU6W3tjaGFyYWN0ZXI6IlxyIixpbkNvbnN0cnVjdDoidGFibGVDZWxsIn0se2NoYXJhY3RlcjpgCmAsaW5Db25zdHJ1Y3Q6InRhYmxlQ2VsbCJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoifCIsYWZ0ZXI6IlsJIDotXSJ9LHtjaGFyYWN0ZXI6InwiLGluQ29uc3RydWN0OiJ0YWJsZUNlbGwifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IjoiLGFmdGVyOiItIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiItIixhZnRlcjoiWzp8LV0ifV0saGFuZGxlcnM6e2lubGluZUNvZGU6aCx0YWJsZTpzLHRhYmxlQ2VsbDpjLHRhYmxlUm93Om99fTtmdW5jdGlvbiBzKG0sdixiLGcpe3JldHVybiBsKHUobSxiLGcpLG0uYWxpZ24pfWZ1bmN0aW9uIG8obSx2LGIsZyl7bGV0IHk9ZChtLGIsZyksdz1sKFt5XSk7cmV0dXJuIHcuc2xpY2UoMCx3LmluZGV4T2YoYApgKSl9ZnVuY3Rpb24gYyhtLHYsYixnKXtsZXQgeT1iLmVudGVyKCJ0YWJsZUNlbGwiKSx3PWIuZW50ZXIoInBocmFzaW5nIiksaz1iLmNvbnRhaW5lclBocmFzaW5nKG0sey4uLmcsYmVmb3JlOm4sYWZ0ZXI6bn0pO3JldHVybiB3KCkseSgpLGt9ZnVuY3Rpb24gbChtLHYpe3JldHVybiBrU2UobSx7YWxpZ246dixhbGlnbkRlbGltaXRlcnM6YSxwYWRkaW5nOnIsc3RyaW5nTGVuZ3RoOml9KX1mdW5jdGlvbiB1KG0sdixiKXtsZXQgZz1tLmNoaWxkcmVuLHk9LTEsdz1bXSxrPXYuZW50ZXIoInRhYmxlIik7Zm9yKDsrK3k8Zy5sZW5ndGg7KXdbeV09ZChnW3ldLHYsYik7cmV0dXJuIGsoKSx3fWZ1bmN0aW9uIGQobSx2LGIpe2xldCBnPW0uY2hpbGRyZW4seT0tMSx3PVtdLGs9di5lbnRlcigidGFibGVSb3ciKTtmb3IoOysreTxnLmxlbmd0aDspd1t5XT1jKGdbeV0sbSx2LGIpO3JldHVybiBrKCksd31mdW5jdGlvbiBoKG0sdixiKXtsZXQgZz1sZC5pbmxpbmVDb2RlKG0sdixiKTtyZXR1cm4gYi5zdGFjay5pbmNsdWRlcygidGFibGVDZWxsIikmJihnPWcucmVwbGFjZSgvXHwvZywiXFwkJiIpKSxnfX12YXIgWnplPWYoKCk9PntFMCgpO1NTZSgpO2NrKCl9KTt2YXIgWHplPWYoKCk9PntaemUoKX0pO2Z1bmN0aW9uIExVKCl7cmV0dXJue2V4aXQ6e3Rhc2tMaXN0Q2hlY2tWYWx1ZUNoZWNrZWQ6UXplLHRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZDpRemUscGFyYWdyYXBoOmlTcn19fWZ1bmN0aW9uICRVKCl7cmV0dXJue3Vuc2FmZTpbe2F0QnJlYWs6ITAsY2hhcmFjdGVyOiItIixhZnRlcjoiWzp8LV0ifV0saGFuZGxlcnM6e2xpc3RJdGVtOm5Tcn19fWZ1bmN0aW9uIFF6ZShlKXtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTJdO3QudHlwZSx0LmNoZWNrZWQ9ZS50eXBlPT09InRhc2tMaXN0Q2hlY2tWYWx1ZUNoZWNrZWQifWZ1bmN0aW9uIGlTcihlKXtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTJdO2lmKHQmJnQudHlwZT09PSJsaXN0SXRlbSImJnR5cGVvZiB0LmNoZWNrZWQ9PSJib29sZWFuIil7bGV0IHI9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtyLnR5cGU7bGV0IGE9ci5jaGlsZHJlblswXTtpZihhJiZhLnR5cGU9PT0idGV4dCIpe2xldCBpPXQuY2hpbGRyZW4sbj0tMSxzO2Zvcig7KytuPGkubGVuZ3RoOyl7bGV0IG89aVtuXTtpZihvLnR5cGU9PT0icGFyYWdyYXBoIil7cz1vO2JyZWFrfX1zPT09ciYmKGEudmFsdWU9YS52YWx1ZS5zbGljZSgxKSxhLnZhbHVlLmxlbmd0aD09PTA/ci5jaGlsZHJlbi5zaGlmdCgpOnIucG9zaXRpb24mJmEucG9zaXRpb24mJnR5cGVvZiBhLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldD09Im51bWJlciImJihhLnBvc2l0aW9uLnN0YXJ0LmNvbHVtbisrLGEucG9zaXRpb24uc3RhcnQub2Zmc2V0Kyssci5wb3NpdGlvbi5zdGFydD1PYmplY3QuYXNzaWduKHt9LGEucG9zaXRpb24uc3RhcnQpKSl9fXRoaXMuZXhpdChlKX1mdW5jdGlvbiBuU3IoZSx0LHIsYSl7bGV0IGk9ZS5jaGlsZHJlblswXSxuPXR5cGVvZiBlLmNoZWNrZWQ9PSJib29sZWFuIiYmaSYmaS50eXBlPT09InBhcmFncmFwaCIscz0iWyIrKGUuY2hlY2tlZD8ieCI6IiAiKSsiXSAiLG89ci5jcmVhdGVUcmFja2VyKGEpO24mJm8ubW92ZShzKTtsZXQgYz1sZC5saXN0SXRlbShlLHQscix7Li4uYSwuLi5vLmN1cnJlbnQoKX0pO3JldHVybiBuJiYoYz1jLnJlcGxhY2UoL14oPzpbKistXXxcZCtcLikoW1xyXG5dfCB7MSwzfSkvLGwpKSxjO2Z1bmN0aW9uIGwodSl7cmV0dXJuIHUrc319dmFyIEp6ZT1mKCgpPT57RTAoKTtjaygpfSk7dmFyIEt6ZT1mKCgpPT57SnplKCl9KTtmdW5jdGlvbiBEVSgpe3JldHVybltKVigpLGVVKCksclUoKSxUVSgpLExVKCldfWZ1bmN0aW9uIEFVKGUpe3JldHVybntleHRlbnNpb25zOltLVigpLHRVKGUpLGFVKCksX1UoZSksJFUoKV19fXZhciBlQ2U9ZigoKT0+e2hTZSgpO3ZTZSgpO3dTZSgpO1h6ZSgpO0t6ZSgpfSk7dmFyIHRDZT1mKCgpPT57ZUNlKCl9KTtmdW5jdGlvbiBIYShlLHQscixhKXtsZXQgaT1lLmxlbmd0aCxuPTAscztpZih0PDA/dD0tdD5pPzA6aSt0OnQ9dD5pP2k6dCxyPXI+MD9yOjAsYS5sZW5ndGg8MWU0KXM9QXJyYXkuZnJvbShhKSxzLnVuc2hpZnQodCxyKSxlLnNwbGljZSguLi5zKTtlbHNlIGZvcihyJiZlLnNwbGljZSh0LHIpO248YS5sZW5ndGg7KXM9YS5zbGljZShuLG4rMWU0KSxzLnVuc2hpZnQodCwwKSxlLnNwbGljZSguLi5zKSxuKz0xZTQsdCs9MWU0fWZ1bmN0aW9uIGVpKGUsdCl7cmV0dXJuIGUubGVuZ3RoPjA/KEhhKGUsZS5sZW5ndGgsMCx0KSxlKTp0fXZhciB4Mj1mKCgpPT57fSk7ZnVuY3Rpb24gZGsoZSl7bGV0IHQ9e30scj0tMTtmb3IoOysrcjxlLmxlbmd0aDspc1NyKHQsZVtyXSk7cmV0dXJuIHR9ZnVuY3Rpb24gc1NyKGUsdCl7bGV0IHI7Zm9yKHIgaW4gdCl7bGV0IGk9KEVVLmNhbGwoZSxyKT9lW3JdOnZvaWQgMCl8fChlW3JdPXt9KSxuPXRbcl0scztpZihuKWZvcihzIGluIG4pe0VVLmNhbGwoaSxzKXx8KGlbc109W10pO2xldCBvPW5bc107b1NyKGlbc10sQXJyYXkuaXNBcnJheShvKT9vOm8/W29dOltdKX19fWZ1bmN0aW9uIG9TcihlLHQpe2xldCByPS0xLGE9W107Zm9yKDsrK3I8dC5sZW5ndGg7KSh0W3JdLmFkZD09PSJhZnRlciI/ZTphKS5wdXNoKHRbcl0pO0hhKGUsMCwwLGEpfWZ1bmN0aW9uIHVrKGUpe2xldCB0PXt9LHI9LTE7Zm9yKDsrK3I8ZS5sZW5ndGg7KWxTcih0LGVbcl0pO3JldHVybiB0fWZ1bmN0aW9uIGxTcihlLHQpe2xldCByO2ZvcihyIGluIHQpe2xldCBpPShFVS5jYWxsKGUscik/ZVtyXTp2b2lkIDApfHwoZVtyXT17fSksbj10W3JdLHM7aWYobilmb3IocyBpbiBuKWlbc109bltzXX19dmFyIEVVLHBrPWYoKCk9Pnt4MigpO0VVPXt9Lmhhc093blByb3BlcnR5fSk7ZnVuY3Rpb24gTlUoKXtyZXR1cm57dGV4dDp5Mn19ZnVuY3Rpb24gdVNyKGUsdCxyKXtsZXQgYT10aGlzLGksbjtyZXR1cm4gcztmdW5jdGlvbiBzKGQpe3JldHVybiFJVShkKXx8IWNDZS5jYWxsKGEsYS5wcmV2aW91cyl8fFBVKGEuZXZlbnRzKT9yKGQpOihlLmVudGVyKCJsaXRlcmFsQXV0b2xpbmsiKSxlLmVudGVyKCJsaXRlcmFsQXV0b2xpbmtFbWFpbCIpLG8oZCkpfWZ1bmN0aW9uIG8oZCl7cmV0dXJuIElVKGQpPyhlLmNvbnN1bWUoZCksbyk6ZD09PTY0PyhlLmNvbnN1bWUoZCksYyk6cihkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBkPT09NDY/ZS5jaGVjayhkU3IsdSxsKShkKTpkPT09NDV8fGQ9PT05NXx8JGEoZCk/KG49ITAsZS5jb25zdW1lKGQpLGMpOnUoZCl9ZnVuY3Rpb24gbChkKXtyZXR1cm4gZS5jb25zdW1lKGQpLGk9ITAsY31mdW5jdGlvbiB1KGQpe3JldHVybiBuJiZpJiZmaShhLnByZXZpb3VzKT8oZS5leGl0KCJsaXRlcmFsQXV0b2xpbmtFbWFpbCIpLGUuZXhpdCgibGl0ZXJhbEF1dG9saW5rIiksdChkKSk6cihkKX19ZnVuY3Rpb24gcFNyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkocyl7cmV0dXJuIHMhPT04NyYmcyE9PTExOXx8IW9DZS5jYWxsKGEsYS5wcmV2aW91cyl8fFBVKGEuZXZlbnRzKT9yKHMpOihlLmVudGVyKCJsaXRlcmFsQXV0b2xpbmsiKSxlLmVudGVyKCJsaXRlcmFsQXV0b2xpbmtXd3ciKSxlLmNoZWNrKGNTcixlLmF0dGVtcHQockNlLGUuYXR0ZW1wdChhQ2UsbikscikscikocykpfWZ1bmN0aW9uIG4ocyl7cmV0dXJuIGUuZXhpdCgibGl0ZXJhbEF1dG9saW5rV3d3IiksZS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSx0KHMpfX1mdW5jdGlvbiBmU3IoZSx0LHIpe2xldCBhPXRoaXMsaT0iIixuPSExO3JldHVybiBzO2Z1bmN0aW9uIHMoZCl7cmV0dXJuKGQ9PT03Mnx8ZD09PTEwNCkmJmxDZS5jYWxsKGEsYS5wcmV2aW91cykmJiFQVShhLmV2ZW50cyk/KGUuZW50ZXIoImxpdGVyYWxBdXRvbGluayIpLGUuZW50ZXIoImxpdGVyYWxBdXRvbGlua0h0dHAiKSxpKz1TdHJpbmcuZnJvbUNvZGVQb2ludChkKSxlLmNvbnN1bWUoZCksbyk6cihkKX1mdW5jdGlvbiBvKGQpe2lmKGZpKGQpJiZpLmxlbmd0aDw1KXJldHVybiBpKz1TdHJpbmcuZnJvbUNvZGVQb2ludChkKSxlLmNvbnN1bWUoZCksbztpZihkPT09NTgpe2xldCBoPWkudG9Mb3dlckNhc2UoKTtpZihoPT09Imh0dHAifHxoPT09Imh0dHBzIilyZXR1cm4gZS5jb25zdW1lKGQpLGN9cmV0dXJuIHIoZCl9ZnVuY3Rpb24gYyhkKXtyZXR1cm4gZD09PTQ3PyhlLmNvbnN1bWUoZCksbj9sOihuPSEwLGMpKTpyKGQpfWZ1bmN0aW9uIGwoZCl7cmV0dXJuIGQ9PT1udWxsfHxpZChkKXx8WXQoZCl8fHYyKGQpfHxuZChkKT9yKGQpOmUuYXR0ZW1wdChyQ2UsZS5hdHRlbXB0KGFDZSx1KSxyKShkKX1mdW5jdGlvbiB1KGQpe3JldHVybiBlLmV4aXQoImxpdGVyYWxBdXRvbGlua0h0dHAiKSxlLmV4aXQoImxpdGVyYWxBdXRvbGluayIpLHQoZCl9fWZ1bmN0aW9uIGhTcihlLHQscil7bGV0IGE9MDtyZXR1cm4gaTtmdW5jdGlvbiBpKHMpe3JldHVybihzPT09ODd8fHM9PT0xMTkpJiZhPDM/KGErKyxlLmNvbnN1bWUocyksaSk6cz09PTQ2JiZhPT09Mz8oZS5jb25zdW1lKHMpLG4pOnIocyl9ZnVuY3Rpb24gbihzKXtyZXR1cm4gcz09PW51bGw/cihzKTp0KHMpfX1mdW5jdGlvbiBtU3IoZSx0LHIpe2xldCBhLGksbjtyZXR1cm4gcztmdW5jdGlvbiBzKGwpe3JldHVybiBsPT09NDZ8fGw9PT05NT9lLmNoZWNrKGlDZSxjLG8pKGwpOmw9PT1udWxsfHxZdChsKXx8djIobCl8fGwhPT00NSYmbmQobCk/YyhsKToobj0hMCxlLmNvbnN1bWUobCkscyl9ZnVuY3Rpb24gbyhsKXtyZXR1cm4gbD09PTk1P2E9ITA6KGk9YSxhPXZvaWQgMCksZS5jb25zdW1lKGwpLHN9ZnVuY3Rpb24gYyhsKXtyZXR1cm4gaXx8YXx8IW4/cihsKTp0KGwpfX1mdW5jdGlvbiBnU3IoZSx0KXtsZXQgcj0wLGE9MDtyZXR1cm4gaTtmdW5jdGlvbiBpKHMpe3JldHVybiBzPT09NDA/KHIrKyxlLmNvbnN1bWUocyksaSk6cz09PTQxJiZhPHI/bihzKTpzPT09MzN8fHM9PT0zNHx8cz09PTM4fHxzPT09Mzl8fHM9PT00MXx8cz09PTQyfHxzPT09NDR8fHM9PT00Nnx8cz09PTU4fHxzPT09NTl8fHM9PT02MHx8cz09PTYzfHxzPT09OTN8fHM9PT05NXx8cz09PTEyNj9lLmNoZWNrKGlDZSx0LG4pKHMpOnM9PT1udWxsfHxZdChzKXx8djIocyk/dChzKTooZS5jb25zdW1lKHMpLGkpfWZ1bmN0aW9uIG4ocyl7cmV0dXJuIHM9PT00MSYmYSsrLGUuY29uc3VtZShzKSxpfX1mdW5jdGlvbiBiU3IoZSx0LHIpe3JldHVybiBhO2Z1bmN0aW9uIGEobyl7cmV0dXJuIG89PT0zM3x8bz09PTM0fHxvPT09Mzl8fG89PT00MXx8bz09PTQyfHxvPT09NDR8fG89PT00Nnx8bz09PTU4fHxvPT09NTl8fG89PT02M3x8bz09PTk1fHxvPT09MTI2PyhlLmNvbnN1bWUobyksYSk6bz09PTM4PyhlLmNvbnN1bWUobyksbik6bz09PTkzPyhlLmNvbnN1bWUobyksaSk6bz09PTYwfHxvPT09bnVsbHx8WXQobyl8fHYyKG8pP3Qobyk6cihvKX1mdW5jdGlvbiBpKG8pe3JldHVybiBvPT09bnVsbHx8bz09PTQwfHxvPT09OTF8fFl0KG8pfHx2MihvKT90KG8pOmEobyl9ZnVuY3Rpb24gbihvKXtyZXR1cm4gZmkobyk/cyhvKTpyKG8pfWZ1bmN0aW9uIHMobyl7cmV0dXJuIG89PT01OT8oZS5jb25zdW1lKG8pLGEpOmZpKG8pPyhlLmNvbnN1bWUobykscyk6cihvKX19ZnVuY3Rpb24gdlNyKGUsdCxyKXtyZXR1cm4gYTtmdW5jdGlvbiBhKG4pe3JldHVybiBlLmNvbnN1bWUobiksaX1mdW5jdGlvbiBpKG4pe3JldHVybiAkYShuKT9yKG4pOnQobil9fWZ1bmN0aW9uIG9DZShlKXtyZXR1cm4gZT09PW51bGx8fGU9PT00MHx8ZT09PTQyfHxlPT09OTV8fGU9PT05MXx8ZT09PTkzfHxlPT09MTI2fHxZdChlKX1mdW5jdGlvbiBsQ2UoZSl7cmV0dXJuIWZpKGUpfWZ1bmN0aW9uIGNDZShlKXtyZXR1cm4hKGU9PT00N3x8SVUoZSkpfWZ1bmN0aW9uIElVKGUpe3JldHVybiBlPT09NDN8fGU9PT00NXx8ZT09PTQ2fHxlPT09OTV8fCRhKGUpfWZ1bmN0aW9uIFBVKGUpe2xldCB0PWUubGVuZ3RoLHI9ITE7Zm9yKDt0LS07KXtsZXQgYT1lW3RdWzFdO2lmKChhLnR5cGU9PT0ibGFiZWxMaW5rInx8YS50eXBlPT09ImxhYmVsSW1hZ2UiKSYmIWEuX2JhbGFuY2VkKXtyPSEwO2JyZWFrfWlmKGEuX2dmbUF1dG9saW5rTGl0ZXJhbFdhbGtlZEludG8pe3I9ITE7YnJlYWt9fXJldHVybiBlLmxlbmd0aD4wJiYhciYmKGVbZS5sZW5ndGgtMV1bMV0uX2dmbUF1dG9saW5rTGl0ZXJhbFdhbGtlZEludG89ITApLHJ9dmFyIGNTcixyQ2UsYUNlLGlDZSxkU3IsbkNlLHNDZSxIbCx5MixkQ2U9ZigoKT0+e0t0KCk7Y1NyPXt0b2tlbml6ZTpoU3IscGFydGlhbDohMH0sckNlPXt0b2tlbml6ZTptU3IscGFydGlhbDohMH0sYUNlPXt0b2tlbml6ZTpnU3IscGFydGlhbDohMH0saUNlPXt0b2tlbml6ZTpiU3IscGFydGlhbDohMH0sZFNyPXt0b2tlbml6ZTp2U3IscGFydGlhbDohMH0sbkNlPXtuYW1lOiJ3d3dBdXRvbGluayIsdG9rZW5pemU6cFNyLHByZXZpb3VzOm9DZX0sc0NlPXtuYW1lOiJwcm90b2NvbEF1dG9saW5rIix0b2tlbml6ZTpmU3IscHJldmlvdXM6bENlfSxIbD17bmFtZToiZW1haWxBdXRvbGluayIsdG9rZW5pemU6dVNyLHByZXZpb3VzOmNDZX0seTI9e307Zm9yKHZhciBkZD00ODtkZDwxMjM7KXkyW2RkXT1IbCxkZCsrLGRkPT09NTg/ZGQ9NjU6ZGQ9PT05MSYmKGRkPTk3KTt5Mls0M109SGwseTJbNDVdPUhsLHkyWzQ2XT1IbCx5Mls5NV09SGwseTJbNzJdPVtIbCxzQ2VdLHkyWzEwNF09W0hsLHNDZV0seTJbODddPVtIbCxuQ2VdLHkyWzExOV09W0hsLG5DZV19KTtmdW5jdGlvbiBmayhlKXtyZXR1cm4gZS5yZXBsYWNlKC9bIiY8Pl0vZyx0KTtmdW5jdGlvbiB0KHIpe3JldHVybiImIit4U3Jbcl0rIjsifX12YXIgeFNyLEZVPWYoKCk9Pnt4U3I9eyciJzoicXVvdCIsIiYiOiJhbXAiLCI8IjoibHQiLCI+IjoiZ3QifX0pO2Z1bmN0aW9uIHcyKGUsdCl7bGV0IHI9ZmsoSDEoZXx8IiIpKTtpZighdClyZXR1cm4gcjtsZXQgYT1yLmluZGV4T2YoIjoiKSxpPXIuaW5kZXhPZigiPyIpLG49ci5pbmRleE9mKCIjIikscz1yLmluZGV4T2YoIi8iKTtyZXR1cm4gYTwwfHxzPi0xJiZhPnN8fGk+LTEmJmE+aXx8bj4tMSYmYT5ufHx0LnRlc3Qoci5zbGljZSgwLGEpKT9yOiIifWZ1bmN0aW9uIEgxKGUpe2xldCB0PVtdLHI9LTEsYT0wLGk9MDtmb3IoOysrcjxlLmxlbmd0aDspe2xldCBuPWUuY2hhckNvZGVBdChyKSxzPSIiO2lmKG49PT0zNyYmJGEoZS5jaGFyQ29kZUF0KHIrMSkpJiYkYShlLmNoYXJDb2RlQXQocisyKSkpaT0yO2Vsc2UgaWYobjwxMjgpL1shIyQmLTs9Py1aX2Eten5dLy50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUobikpfHwocz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pKTtlbHNlIGlmKG4+NTUyOTUmJm48NTczNDQpe2xldCBvPWUuY2hhckNvZGVBdChyKzEpO248NTYzMjAmJm8+NTYzMTkmJm88NTczNDQ/KHM9U3RyaW5nLmZyb21DaGFyQ29kZShuLG8pLGk9MSk6cz0iXHVGRkZEIn1lbHNlIHM9U3RyaW5nLmZyb21DaGFyQ29kZShuKTtzJiYodC5wdXNoKGUuc2xpY2UoYSxyKSxlbmNvZGVVUklDb21wb25lbnQocykpLGE9citpKzEscz0iIiksaSYmKHIrPWksaT0wKX1yZXR1cm4gdC5qb2luKCIiKStlLnNsaWNlKGEpfXZhciBNMj1mKCgpPT57S3QoKTtGVSgpfSk7ZnVuY3Rpb24gUlUoKXtyZXR1cm57ZXhpdDp7bGl0ZXJhbEF1dG9saW5rRW1haWw6d1NyLGxpdGVyYWxBdXRvbGlua0h0dHA6TVNyLGxpdGVyYWxBdXRvbGlua1d3dzp5U3J9fX1mdW5jdGlvbiB5U3IoZSl7T1UuY2FsbCh0aGlzLGUsImh0dHA6Ly8iKX1mdW5jdGlvbiB3U3IoZSl7T1UuY2FsbCh0aGlzLGUsIm1haWx0bzoiKX1mdW5jdGlvbiBNU3IoZSl7T1UuY2FsbCh0aGlzLGUpfWZ1bmN0aW9uIE9VKGUsdCl7bGV0IHI9dGhpcy5zbGljZVNlcmlhbGl6ZShlKTt0aGlzLnRhZygnPGEgaHJlZj0iJyt3MigodHx8IiIpK3IpKyciPicpLHRoaXMucmF3KHRoaXMuZW5jb2RlKHIpKSx0aGlzLnRhZygiPC9hPiIpfXZhciB1Q2U9ZigoKT0+e00yKCl9KTt2YXIgcENlPWYoKCk9PntkQ2UoKTt1Q2UoKX0pO2Z1bmN0aW9uIE8wKGUsdCxyKXtsZXQgYT1bXSxpPS0xO2Zvcig7KytpPGUubGVuZ3RoOyl7bGV0IG49ZVtpXS5yZXNvbHZlQWxsO24mJiFhLmluY2x1ZGVzKG4pJiYodD1uKHQsciksYS5wdXNoKG4pKX1yZXR1cm4gdH12YXIgam09ZigoKT0+e30pO2Z1bmN0aW9uIGtTcihlLHQpe2xldCByPS0xLGEsaSxuLHMsbyxjLGwsdTtmb3IoOysrcjxlLmxlbmd0aDspaWYoZVtyXVswXT09PSJlbnRlciImJmVbcl1bMV0udHlwZT09PSJhdHRlbnRpb25TZXF1ZW5jZSImJmVbcl1bMV0uX2Nsb3NlKXtmb3IoYT1yO2EtLTspaWYoZVthXVswXT09PSJleGl0IiYmZVthXVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmZVthXVsxXS5fb3BlbiYmdC5zbGljZVNlcmlhbGl6ZShlW2FdWzFdKS5jaGFyQ29kZUF0KDApPT09dC5zbGljZVNlcmlhbGl6ZShlW3JdWzFdKS5jaGFyQ29kZUF0KDApKXtpZigoZVthXVsxXS5fY2xvc2V8fGVbcl1bMV0uX29wZW4pJiYoZVtyXVsxXS5lbmQub2Zmc2V0LWVbcl1bMV0uc3RhcnQub2Zmc2V0KSUzJiYhKChlW2FdWzFdLmVuZC5vZmZzZXQtZVthXVsxXS5zdGFydC5vZmZzZXQrZVtyXVsxXS5lbmQub2Zmc2V0LWVbcl1bMV0uc3RhcnQub2Zmc2V0KSUzKSljb250aW51ZTtjPWVbYV1bMV0uZW5kLm9mZnNldC1lW2FdWzFdLnN0YXJ0Lm9mZnNldD4xJiZlW3JdWzFdLmVuZC5vZmZzZXQtZVtyXVsxXS5zdGFydC5vZmZzZXQ+MT8yOjE7bGV0IGQ9ey4uLmVbYV1bMV0uZW5kfSxoPXsuLi5lW3JdWzFdLnN0YXJ0fTtmQ2UoZCwtYyksZkNlKGgsYykscz17dHlwZTpjPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6ZCxlbmQ6ey4uLmVbYV1bMV0uZW5kfX0sbz17dHlwZTpjPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6ey4uLmVbcl1bMV0uc3RhcnR9LGVuZDpofSxuPXt0eXBlOmM+MT8ic3Ryb25nVGV4dCI6ImVtcGhhc2lzVGV4dCIsc3RhcnQ6ey4uLmVbYV1bMV0uZW5kfSxlbmQ6ey4uLmVbcl1bMV0uc3RhcnR9fSxpPXt0eXBlOmM+MT8ic3Ryb25nIjoiZW1waGFzaXMiLHN0YXJ0OnsuLi5zLnN0YXJ0fSxlbmQ6ey4uLm8uZW5kfX0sZVthXVsxXS5lbmQ9ey4uLnMuc3RhcnR9LGVbcl1bMV0uc3RhcnQ9ey4uLm8uZW5kfSxsPVtdLGVbYV1bMV0uZW5kLm9mZnNldC1lW2FdWzFdLnN0YXJ0Lm9mZnNldCYmKGw9ZWkobCxbWyJlbnRlciIsZVthXVsxXSx0XSxbImV4aXQiLGVbYV1bMV0sdF1dKSksbD1laShsLFtbImVudGVyIixpLHRdLFsiZW50ZXIiLHMsdF0sWyJleGl0IixzLHRdLFsiZW50ZXIiLG4sdF1dKSxsPWVpKGwsTzAodC5wYXJzZXIuY29uc3RydWN0cy5pbnNpZGVTcGFuLm51bGwsZS5zbGljZShhKzEsciksdCkpLGw9ZWkobCxbWyJleGl0IixuLHRdLFsiZW50ZXIiLG8sdF0sWyJleGl0IixvLHRdLFsiZXhpdCIsaSx0XV0pLGVbcl1bMV0uZW5kLm9mZnNldC1lW3JdWzFdLnN0YXJ0Lm9mZnNldD8odT0yLGw9ZWkobCxbWyJlbnRlciIsZVtyXVsxXSx0XSxbImV4aXQiLGVbcl1bMV0sdF1dKSk6dT0wLEhhKGUsYS0xLHItYSszLGwpLHI9YStsLmxlbmd0aC11LTI7YnJlYWt9fWZvcihyPS0xOysrcjxlLmxlbmd0aDspZVtyXVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmKGVbcl1bMV0udHlwZT0iZGF0YSIpO3JldHVybiBlfWZ1bmN0aW9uIFNTcihlLHQpe2xldCByPXRoaXMucGFyc2VyLmNvbnN0cnVjdHMuYXR0ZW50aW9uTWFya2Vycy5udWxsLGE9dGhpcy5wcmV2aW91cyxpPUJsKGEpLG47cmV0dXJuIHM7ZnVuY3Rpb24gcyhjKXtyZXR1cm4gbj1jLGUuZW50ZXIoImF0dGVudGlvblNlcXVlbmNlIiksbyhjKX1mdW5jdGlvbiBvKGMpe2lmKGM9PT1uKXJldHVybiBlLmNvbnN1bWUoYyksbztsZXQgbD1lLmV4aXQoImF0dGVudGlvblNlcXVlbmNlIiksdT1CbChjKSxkPSF1fHx1PT09MiYmaXx8ci5pbmNsdWRlcyhjKSxoPSFpfHxpPT09MiYmdXx8ci5pbmNsdWRlcyhhKTtyZXR1cm4gbC5fb3Blbj0hIShuPT09NDI/ZDpkJiYoaXx8IWgpKSxsLl9jbG9zZT0hIShuPT09NDI/aDpoJiYodXx8IWQpKSx0KGMpfX1mdW5jdGlvbiBmQ2UoZSx0KXtlLmNvbHVtbis9dCxlLm9mZnNldCs9dCxlLl9idWZmZXJJbmRleCs9dH12YXIgVm0saENlPWYoKCk9Pnt4MigpO3JrKCk7am0oKTtWbT17bmFtZToiYXR0ZW50aW9uIixyZXNvbHZlQWxsOmtTcix0b2tlbml6ZTpTU3J9fSk7ZnVuY3Rpb24gelNyKGUsdCxyKXtsZXQgYT0wO3JldHVybiBpO2Z1bmN0aW9uIGkobSl7cmV0dXJuIGUuZW50ZXIoImF1dG9saW5rIiksZS5lbnRlcigiYXV0b2xpbmtNYXJrZXIiKSxlLmNvbnN1bWUobSksZS5leGl0KCJhdXRvbGlua01hcmtlciIpLGUuZW50ZXIoImF1dG9saW5rUHJvdG9jb2wiKSxufWZ1bmN0aW9uIG4obSl7cmV0dXJuIGZpKG0pPyhlLmNvbnN1bWUobSkscyk6bT09PTY0P3IobSk6bChtKX1mdW5jdGlvbiBzKG0pe3JldHVybiBtPT09NDN8fG09PT00NXx8bT09PTQ2fHwkYShtKT8oYT0xLG8obSkpOmwobSl9ZnVuY3Rpb24gbyhtKXtyZXR1cm4gbT09PTU4PyhlLmNvbnN1bWUobSksYT0wLGMpOihtPT09NDN8fG09PT00NXx8bT09PTQ2fHwkYShtKSkmJmErKzwzMj8oZS5jb25zdW1lKG0pLG8pOihhPTAsbChtKSl9ZnVuY3Rpb24gYyhtKXtyZXR1cm4gbT09PTYyPyhlLmV4aXQoImF1dG9saW5rUHJvdG9jb2wiKSxlLmVudGVyKCJhdXRvbGlua01hcmtlciIpLGUuY29uc3VtZShtKSxlLmV4aXQoImF1dG9saW5rTWFya2VyIiksZS5leGl0KCJhdXRvbGluayIpLHQpOm09PT1udWxsfHxtPT09MzJ8fG09PT02MHx8aWQobSk/cihtKTooZS5jb25zdW1lKG0pLGMpfWZ1bmN0aW9uIGwobSl7cmV0dXJuIG09PT02ND8oZS5jb25zdW1lKG0pLHUpOnRTZShtKT8oZS5jb25zdW1lKG0pLGwpOnIobSl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gJGEobSk/ZChtKTpyKG0pfWZ1bmN0aW9uIGQobSl7cmV0dXJuIG09PT00Nj8oZS5jb25zdW1lKG0pLGE9MCx1KTptPT09NjI/KGUuZXhpdCgiYXV0b2xpbmtQcm90b2NvbCIpLnR5cGU9ImF1dG9saW5rRW1haWwiLGUuZW50ZXIoImF1dG9saW5rTWFya2VyIiksZS5jb25zdW1lKG0pLGUuZXhpdCgiYXV0b2xpbmtNYXJrZXIiKSxlLmV4aXQoImF1dG9saW5rIiksdCk6aChtKX1mdW5jdGlvbiBoKG0pe2lmKChtPT09NDV8fCRhKG0pKSYmYSsrPDYzKXtsZXQgdj1tPT09NDU/aDpkO3JldHVybiBlLmNvbnN1bWUobSksdn1yZXR1cm4gcihtKX19dmFyIEJVLG1DZT1mKCgpPT57S3QoKTtCVT17bmFtZToiYXV0b2xpbmsiLHRva2VuaXplOnpTcn19KTtmdW5jdGlvbiBtdChlLHQscixhKXtsZXQgaT1hP2EtMTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksbj0wO3JldHVybiBzO2Z1bmN0aW9uIHMoYyl7cmV0dXJuIG90KGMpPyhlLmVudGVyKHIpLG8oYykpOnQoYyl9ZnVuY3Rpb24gbyhjKXtyZXR1cm4gb3QoYykmJm4rKzxpPyhlLmNvbnN1bWUoYyksbyk6KGUuZXhpdChyKSx0KGMpKX19dmFyIHFhPWYoKCk9PntLdCgpfSk7ZnVuY3Rpb24gQ1NyKGUsdCxyKXtyZXR1cm4gYTtmdW5jdGlvbiBhKG4pe3JldHVybiBvdChuKT9tdChlLGksImxpbmVQcmVmaXgiKShuKTppKG4pfWZ1bmN0aW9uIGkobil7cmV0dXJuIG49PT1udWxsfHxXZShuKT90KG4pOnIobil9fXZhciBrMixoaz1mKCgpPT57cWEoKTtLdCgpO2syPXtwYXJ0aWFsOiEwLHRva2VuaXplOkNTcn19KTtmdW5jdGlvbiBUU3IoZSx0LHIpe2xldCBhPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShzKXtpZihzPT09NjIpe2xldCBvPWEuY29udGFpbmVyU3RhdGU7cmV0dXJuIG8ub3Blbnx8KGUuZW50ZXIoImJsb2NrUXVvdGUiLHtfY29udGFpbmVyOiEwfSksby5vcGVuPSEwKSxlLmVudGVyKCJibG9ja1F1b3RlUHJlZml4IiksZS5lbnRlcigiYmxvY2tRdW90ZU1hcmtlciIpLGUuY29uc3VtZShzKSxlLmV4aXQoImJsb2NrUXVvdGVNYXJrZXIiKSxufXJldHVybiByKHMpfWZ1bmN0aW9uIG4ocyl7cmV0dXJuIG90KHMpPyhlLmVudGVyKCJibG9ja1F1b3RlUHJlZml4V2hpdGVzcGFjZSIpLGUuY29uc3VtZShzKSxlLmV4aXQoImJsb2NrUXVvdGVQcmVmaXhXaGl0ZXNwYWNlIiksZS5leGl0KCJibG9ja1F1b3RlUHJlZml4IiksdCk6KGUuZXhpdCgiYmxvY2tRdW90ZVByZWZpeCIpLHQocykpfX1mdW5jdGlvbiBfU3IoZSx0LHIpe2xldCBhPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShzKXtyZXR1cm4gb3Qocyk/bXQoZSxuLCJsaW5lUHJlZml4IixhLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpKHMpOm4ocyl9ZnVuY3Rpb24gbihzKXtyZXR1cm4gZS5hdHRlbXB0KG1rLHQscikocyl9fWZ1bmN0aW9uIExTcihlKXtlLmV4aXQoImJsb2NrUXVvdGUiKX12YXIgbWssZ0NlPWYoKCk9PntxYSgpO0t0KCk7bWs9e2NvbnRpbnVhdGlvbjp7dG9rZW5pemU6X1NyfSxleGl0OkxTcixuYW1lOiJibG9ja1F1b3RlIix0b2tlbml6ZTpUU3J9fSk7ZnVuY3Rpb24gJFNyKGUsdCxyKXtyZXR1cm4gYTtmdW5jdGlvbiBhKG4pe3JldHVybiBlLmVudGVyKCJjaGFyYWN0ZXJFc2NhcGUiKSxlLmVudGVyKCJlc2NhcGVNYXJrZXIiKSxlLmNvbnN1bWUobiksZS5leGl0KCJlc2NhcGVNYXJrZXIiKSxpfWZ1bmN0aW9uIGkobil7cmV0dXJuIGFTZShuKT8oZS5lbnRlcigiY2hhcmFjdGVyRXNjYXBlVmFsdWUiKSxlLmNvbnN1bWUobiksZS5leGl0KCJjaGFyYWN0ZXJFc2NhcGVWYWx1ZSIpLGUuZXhpdCgiY2hhcmFjdGVyRXNjYXBlIiksdCk6cihuKX19dmFyIGdrLGJDZT1mKCgpPT57S3QoKTtnaz17bmFtZToiY2hhcmFjdGVyRXNjYXBlIix0b2tlbml6ZTokU3J9fSk7ZnVuY3Rpb24gRFNyKGUsdCxyKXtsZXQgYT10aGlzLGk9MCxuLHM7cmV0dXJuIG87ZnVuY3Rpb24gbyhkKXtyZXR1cm4gZS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlIiksZS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyIiksZS5jb25zdW1lKGQpLGUuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyIiksY31mdW5jdGlvbiBjKGQpe3JldHVybiBkPT09MzU/KGUuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlck51bWVyaWMiKSxlLmNvbnN1bWUoZCksZS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIiksbCk6KGUuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZVZhbHVlIiksbj0zMSxzPSRhLHUoZCkpfWZ1bmN0aW9uIGwoZCl7cmV0dXJuIGQ9PT04OHx8ZD09PTEyMD8oZS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VySGV4YWRlY2ltYWwiKSxlLmNvbnN1bWUoZCksZS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJIZXhhZGVjaW1hbCIpLGUuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZVZhbHVlIiksbj02LHM9clNlLHUpOihlLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpLG49NyxzPU9tLHUoZCkpfWZ1bmN0aW9uIHUoZCl7aWYoZD09PTU5JiZpKXtsZXQgaD1lLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZVZhbHVlIik7cmV0dXJuIHM9PT0kYSYmIUYwKGEuc2xpY2VTZXJpYWxpemUoaCkpP3IoZCk6KGUuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLGUuY29uc3VtZShkKSxlLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLGUuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlIiksdCl9cmV0dXJuIHMoZCkmJmkrKzxuPyhlLmNvbnN1bWUoZCksdSk6cihkKX19dmFyIGJrLHZDZT1mKCgpPT57cW0oKTtLdCgpO2JrPXtuYW1lOiJjaGFyYWN0ZXJSZWZlcmVuY2UiLHRva2VuaXplOkRTcn19KTtmdW5jdGlvbiBBU3IoZSx0LHIpe2xldCBhPXRoaXMsaT17cGFydGlhbDohMCx0b2tlbml6ZTpDfSxuPTAscz0wLG87cmV0dXJuIGM7ZnVuY3Rpb24gYyhTKXtyZXR1cm4gbChTKX1mdW5jdGlvbiBsKFMpe2xldCBPPWEuZXZlbnRzW2EuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4gbj1PJiZPWzFdLnR5cGU9PT0ibGluZVByZWZpeCI/T1syXS5zbGljZVNlcmlhbGl6ZShPWzFdLCEwKS5sZW5ndGg6MCxvPVMsZS5lbnRlcigiY29kZUZlbmNlZCIpLGUuZW50ZXIoImNvZGVGZW5jZWRGZW5jZSIpLGUuZW50ZXIoImNvZGVGZW5jZWRGZW5jZVNlcXVlbmNlIiksdShTKX1mdW5jdGlvbiB1KFMpe3JldHVybiBTPT09bz8ocysrLGUuY29uc3VtZShTKSx1KTpzPDM/cihTKTooZS5leGl0KCJjb2RlRmVuY2VkRmVuY2VTZXF1ZW5jZSIpLG90KFMpP210KGUsZCwid2hpdGVzcGFjZSIpKFMpOmQoUykpfWZ1bmN0aW9uIGQoUyl7cmV0dXJuIFM9PT1udWxsfHxXZShTKT8oZS5leGl0KCJjb2RlRmVuY2VkRmVuY2UiKSxhLmludGVycnVwdD90KFMpOmUuY2hlY2soeENlLGIsUikoUykpOihlLmVudGVyKCJjb2RlRmVuY2VkRmVuY2VJbmZvIiksZS5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLGgoUykpfWZ1bmN0aW9uIGgoUyl7cmV0dXJuIFM9PT1udWxsfHxXZShTKT8oZS5leGl0KCJjaHVua1N0cmluZyIpLGUuZXhpdCgiY29kZUZlbmNlZEZlbmNlSW5mbyIpLGQoUykpOm90KFMpPyhlLmV4aXQoImNodW5rU3RyaW5nIiksZS5leGl0KCJjb2RlRmVuY2VkRmVuY2VJbmZvIiksbXQoZSxtLCJ3aGl0ZXNwYWNlIikoUykpOlM9PT05NiYmUz09PW8/cihTKTooZS5jb25zdW1lKFMpLGgpfWZ1bmN0aW9uIG0oUyl7cmV0dXJuIFM9PT1udWxsfHxXZShTKT9kKFMpOihlLmVudGVyKCJjb2RlRmVuY2VkRmVuY2VNZXRhIiksZS5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLHYoUykpfWZ1bmN0aW9uIHYoUyl7cmV0dXJuIFM9PT1udWxsfHxXZShTKT8oZS5leGl0KCJjaHVua1N0cmluZyIpLGUuZXhpdCgiY29kZUZlbmNlZEZlbmNlTWV0YSIpLGQoUykpOlM9PT05NiYmUz09PW8/cihTKTooZS5jb25zdW1lKFMpLHYpfWZ1bmN0aW9uIGIoUyl7cmV0dXJuIGUuYXR0ZW1wdChpLFIsZykoUyl9ZnVuY3Rpb24gZyhTKXtyZXR1cm4gZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShTKSxlLmV4aXQoImxpbmVFbmRpbmciKSx5fWZ1bmN0aW9uIHkoUyl7cmV0dXJuIG4+MCYmb3QoUyk/bXQoZSx3LCJsaW5lUHJlZml4IixuKzEpKFMpOncoUyl9ZnVuY3Rpb24gdyhTKXtyZXR1cm4gUz09PW51bGx8fFdlKFMpP2UuY2hlY2soeENlLGIsUikoUyk6KGUuZW50ZXIoImNvZGVGbG93VmFsdWUiKSxrKFMpKX1mdW5jdGlvbiBrKFMpe3JldHVybiBTPT09bnVsbHx8V2UoUyk/KGUuZXhpdCgiY29kZUZsb3dWYWx1ZSIpLHcoUykpOihlLmNvbnN1bWUoUyksayl9ZnVuY3Rpb24gUihTKXtyZXR1cm4gZS5leGl0KCJjb2RlRmVuY2VkIiksdChTKX1mdW5jdGlvbiBDKFMsTyxEKXtsZXQgTj0wO3JldHVybiBxO2Z1bmN0aW9uIHEoTCl7cmV0dXJuIFMuZW50ZXIoImxpbmVFbmRpbmciKSxTLmNvbnN1bWUoTCksUy5leGl0KCJsaW5lRW5kaW5nIiksX31mdW5jdGlvbiBfKEwpe3JldHVybiBTLmVudGVyKCJjb2RlRmVuY2VkRmVuY2UiKSxvdChMKT9tdChTLHosImxpbmVQcmVmaXgiLGEucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCkoTCk6eihMKX1mdW5jdGlvbiB6KEwpe3JldHVybiBMPT09bz8oUy5lbnRlcigiY29kZUZlbmNlZEZlbmNlU2VxdWVuY2UiKSxFKEwpKTpEKEwpfWZ1bmN0aW9uIEUoTCl7cmV0dXJuIEw9PT1vPyhOKyssUy5jb25zdW1lKEwpLEUpOk4+PXM/KFMuZXhpdCgiY29kZUZlbmNlZEZlbmNlU2VxdWVuY2UiKSxvdChMKT9tdChTLFQsIndoaXRlc3BhY2UiKShMKTpUKEwpKTpEKEwpfWZ1bmN0aW9uIFQoTCl7cmV0dXJuIEw9PT1udWxsfHxXZShMKT8oUy5leGl0KCJjb2RlRmVuY2VkRmVuY2UiKSxPKEwpKTpEKEwpfX19ZnVuY3Rpb24gRVNyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkocyl7cmV0dXJuIHM9PT1udWxsP3Iocyk6KGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUocyksZS5leGl0KCJsaW5lRW5kaW5nIiksbil9ZnVuY3Rpb24gbihzKXtyZXR1cm4gYS5wYXJzZXIubGF6eVthLm5vdygpLmxpbmVdP3Iocyk6dChzKX19dmFyIHhDZSx2ayx5Q2U9ZigoKT0+e3FhKCk7S3QoKTt4Q2U9e3BhcnRpYWw6ITAsdG9rZW5pemU6RVNyfSx2az17Y29uY3JldGU6ITAsbmFtZToiY29kZUZlbmNlZCIsdG9rZW5pemU6QVNyfX0pO2Z1bmN0aW9uIFBTcihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKGwpe3JldHVybiBlLmVudGVyKCJjb2RlSW5kZW50ZWQiKSxtdChlLG4sImxpbmVQcmVmaXgiLDUpKGwpfWZ1bmN0aW9uIG4obCl7bGV0IHU9YS5ldmVudHNbYS5ldmVudHMubGVuZ3RoLTFdO3JldHVybiB1JiZ1WzFdLnR5cGU9PT0ibGluZVByZWZpeCImJnVbMl0uc2xpY2VTZXJpYWxpemUodVsxXSwhMCkubGVuZ3RoPj00P3MobCk6cihsKX1mdW5jdGlvbiBzKGwpe3JldHVybiBsPT09bnVsbD9jKGwpOldlKGwpP2UuYXR0ZW1wdChJU3IscyxjKShsKTooZS5lbnRlcigiY29kZUZsb3dWYWx1ZSIpLG8obCkpfWZ1bmN0aW9uIG8obCl7cmV0dXJuIGw9PT1udWxsfHxXZShsKT8oZS5leGl0KCJjb2RlRmxvd1ZhbHVlIikscyhsKSk6KGUuY29uc3VtZShsKSxvKX1mdW5jdGlvbiBjKGwpe3JldHVybiBlLmV4aXQoImNvZGVJbmRlbnRlZCIpLHQobCl9fWZ1bmN0aW9uIE5TcihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKHMpe3JldHVybiBhLnBhcnNlci5sYXp5W2Eubm93KCkubGluZV0/cihzKTpXZShzKT8oZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShzKSxlLmV4aXQoImxpbmVFbmRpbmciKSxpKTptdChlLG4sImxpbmVQcmVmaXgiLDUpKHMpfWZ1bmN0aW9uIG4ocyl7bGV0IG89YS5ldmVudHNbYS5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBvJiZvWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJm9bMl0uc2xpY2VTZXJpYWxpemUob1sxXSwhMCkubGVuZ3RoPj00P3Qocyk6V2Uocyk/aShzKTpyKHMpfX12YXIgVW0sSVNyLHdDZT1mKCgpPT57cWEoKTtLdCgpO1VtPXtuYW1lOiJjb2RlSW5kZW50ZWQiLHRva2VuaXplOlBTcn0sSVNyPXtwYXJ0aWFsOiEwLHRva2VuaXplOk5Tcn19KTtmdW5jdGlvbiBGU3IoZSl7bGV0IHQ9ZS5sZW5ndGgtNCxyPTMsYSxpO2lmKChlW3JdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fGVbcl1bMV0udHlwZT09PSJzcGFjZSIpJiYoZVt0XVsxXS50eXBlPT09ImxpbmVFbmRpbmcifHxlW3RdWzFdLnR5cGU9PT0ic3BhY2UiKSl7Zm9yKGE9cjsrK2E8dDspaWYoZVthXVsxXS50eXBlPT09ImNvZGVUZXh0RGF0YSIpe2Vbcl1bMV0udHlwZT0iY29kZVRleHRQYWRkaW5nIixlW3RdWzFdLnR5cGU9ImNvZGVUZXh0UGFkZGluZyIscis9Mix0LT0yO2JyZWFrfX1mb3IoYT1yLTEsdCsrOysrYTw9dDspaT09PXZvaWQgMD9hIT09dCYmZVthXVsxXS50eXBlIT09ImxpbmVFbmRpbmciJiYoaT1hKTooYT09PXR8fGVbYV1bMV0udHlwZT09PSJsaW5lRW5kaW5nIikmJihlW2ldWzFdLnR5cGU9ImNvZGVUZXh0RGF0YSIsYSE9PWkrMiYmKGVbaV1bMV0uZW5kPWVbYS0xXVsxXS5lbmQsZS5zcGxpY2UoaSsyLGEtaS0yKSx0LT1hLWktMixhPWkrMiksaT12b2lkIDApO3JldHVybiBlfWZ1bmN0aW9uIE9TcihlKXtyZXR1cm4gZSE9PTk2fHx0aGlzLmV2ZW50c1t0aGlzLmV2ZW50cy5sZW5ndGgtMV1bMV0udHlwZT09PSJjaGFyYWN0ZXJFc2NhcGUifWZ1bmN0aW9uIFJTcihlLHQscil7bGV0IGE9dGhpcyxpPTAsbixzO3JldHVybiBvO2Z1bmN0aW9uIG8oaCl7cmV0dXJuIGUuZW50ZXIoImNvZGVUZXh0IiksZS5lbnRlcigiY29kZVRleHRTZXF1ZW5jZSIpLGMoaCl9ZnVuY3Rpb24gYyhoKXtyZXR1cm4gaD09PTk2PyhlLmNvbnN1bWUoaCksaSsrLGMpOihlLmV4aXQoImNvZGVUZXh0U2VxdWVuY2UiKSxsKGgpKX1mdW5jdGlvbiBsKGgpe3JldHVybiBoPT09bnVsbD9yKGgpOmg9PT0zMj8oZS5lbnRlcigic3BhY2UiKSxlLmNvbnN1bWUoaCksZS5leGl0KCJzcGFjZSIpLGwpOmg9PT05Nj8ocz1lLmVudGVyKCJjb2RlVGV4dFNlcXVlbmNlIiksbj0wLGQoaCkpOldlKGgpPyhlLmVudGVyKCJsaW5lRW5kaW5nIiksZS5jb25zdW1lKGgpLGUuZXhpdCgibGluZUVuZGluZyIpLGwpOihlLmVudGVyKCJjb2RlVGV4dERhdGEiKSx1KGgpKX1mdW5jdGlvbiB1KGgpe3JldHVybiBoPT09bnVsbHx8aD09PTMyfHxoPT09OTZ8fFdlKGgpPyhlLmV4aXQoImNvZGVUZXh0RGF0YSIpLGwoaCkpOihlLmNvbnN1bWUoaCksdSl9ZnVuY3Rpb24gZChoKXtyZXR1cm4gaD09PTk2PyhlLmNvbnN1bWUoaCksbisrLGQpOm49PT1pPyhlLmV4aXQoImNvZGVUZXh0U2VxdWVuY2UiKSxlLmV4aXQoImNvZGVUZXh0IiksdChoKSk6KHMudHlwZT0iY29kZVRleHREYXRhIix1KGgpKX19dmFyIEhVLE1DZT1mKCgpPT57S3QoKTtIVT17bmFtZToiY29kZVRleHQiLHByZXZpb3VzOk9TcixyZXNvbHZlOkZTcix0b2tlbml6ZTpSU3J9fSk7ZnVuY3Rpb24gV20oZSx0KXtsZXQgcj0wO2lmKHQubGVuZ3RoPDFlNCllLnB1c2goLi4udCk7ZWxzZSBmb3IoO3I8dC5sZW5ndGg7KWUucHVzaCguLi50LnNsaWNlKHIscisxZTQpKSxyKz0xZTR9dmFyIEdtLHFVPWYoKCk9PntHbT1jbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLmxlZnQ9dD9bLi4udF06W10sdGhpcy5yaWdodD1bXX1nZXQodCl7aWYodDwwfHx0Pj10aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJDYW5ub3QgYWNjZXNzIGluZGV4IGAiK3QrImAgaW4gYSBzcGxpY2UgYnVmZmVyIG9mIHNpemUgYCIrKHRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGgpKyJgIik7cmV0dXJuIHQ8dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLmxlZnRbdF06dGhpcy5yaWdodFt0aGlzLnJpZ2h0Lmxlbmd0aC10K3RoaXMubGVmdC5sZW5ndGgtMV19Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RofXNoaWZ0KCl7cmV0dXJuIHRoaXMuc2V0Q3Vyc29yKDApLHRoaXMucmlnaHQucG9wKCl9c2xpY2UodCxyKXtsZXQgYT1yPz9OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIGE8dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLmxlZnQuc2xpY2UodCxhKTp0PnRoaXMubGVmdC5sZW5ndGg/dGhpcy5yaWdodC5zbGljZSh0aGlzLnJpZ2h0Lmxlbmd0aC1hK3RoaXMubGVmdC5sZW5ndGgsdGhpcy5yaWdodC5sZW5ndGgtdCt0aGlzLmxlZnQubGVuZ3RoKS5yZXZlcnNlKCk6dGhpcy5sZWZ0LnNsaWNlKHQpLmNvbmNhdCh0aGlzLnJpZ2h0LnNsaWNlKHRoaXMucmlnaHQubGVuZ3RoLWErdGhpcy5sZWZ0Lmxlbmd0aCkucmV2ZXJzZSgpKX1zcGxpY2UodCxyLGEpe2xldCBpPXJ8fDA7dGhpcy5zZXRDdXJzb3IoTWF0aC50cnVuYyh0KSk7bGV0IG49dGhpcy5yaWdodC5zcGxpY2UodGhpcy5yaWdodC5sZW5ndGgtaSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO3JldHVybiBhJiZXbSh0aGlzLmxlZnQsYSksbi5yZXZlcnNlKCl9cG9wKCl7cmV0dXJuIHRoaXMuc2V0Q3Vyc29yKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSksdGhpcy5sZWZ0LnBvcCgpfXB1c2godCl7dGhpcy5zZXRDdXJzb3IoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSx0aGlzLmxlZnQucHVzaCh0KX1wdXNoTWFueSh0KXt0aGlzLnNldEN1cnNvcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLFdtKHRoaXMubGVmdCx0KX11bnNoaWZ0KHQpe3RoaXMuc2V0Q3Vyc29yKDApLHRoaXMucmlnaHQucHVzaCh0KX11bnNoaWZ0TWFueSh0KXt0aGlzLnNldEN1cnNvcigwKSxXbSh0aGlzLnJpZ2h0LHQucmV2ZXJzZSgpKX1zZXRDdXJzb3IodCl7aWYoISh0PT09dGhpcy5sZWZ0Lmxlbmd0aHx8dD50aGlzLmxlZnQubGVuZ3RoJiZ0aGlzLnJpZ2h0Lmxlbmd0aD09PTB8fHQ8MCYmdGhpcy5sZWZ0Lmxlbmd0aD09PTApKWlmKHQ8dGhpcy5sZWZ0Lmxlbmd0aCl7bGV0IHI9dGhpcy5sZWZ0LnNwbGljZSh0LE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7V20odGhpcy5yaWdodCxyLnJldmVyc2UoKSl9ZWxzZXtsZXQgcj10aGlzLnJpZ2h0LnNwbGljZSh0aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RoLXQsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTtXbSh0aGlzLmxlZnQsci5yZXZlcnNlKCkpfX19fSk7ZnVuY3Rpb24geGsoZSl7bGV0IHQ9e30scj0tMSxhLGksbixzLG8sYyxsLHU9bmV3IEdtKGUpO2Zvcig7KytyPHUubGVuZ3RoOyl7Zm9yKDtyIGluIHQ7KXI9dFtyXTtpZihhPXUuZ2V0KHIpLHImJmFbMV0udHlwZT09PSJjaHVua0Zsb3ciJiZ1LmdldChyLTEpWzFdLnR5cGU9PT0ibGlzdEl0ZW1QcmVmaXgiJiYoYz1hWzFdLl90b2tlbml6ZXIuZXZlbnRzLG49MCxuPGMubGVuZ3RoJiZjW25dWzFdLnR5cGU9PT0ibGluZUVuZGluZ0JsYW5rIiYmKG4rPTIpLG48Yy5sZW5ndGgmJmNbbl1bMV0udHlwZT09PSJjb250ZW50IikpZm9yKDsrK248Yy5sZW5ndGgmJmNbbl1bMV0udHlwZSE9PSJjb250ZW50IjspY1tuXVsxXS50eXBlPT09ImNodW5rVGV4dCImJihjW25dWzFdLl9pc0luRmlyc3RDb250ZW50T2ZMaXN0SXRlbT0hMCxuKyspO2lmKGFbMF09PT0iZW50ZXIiKWFbMV0uY29udGVudFR5cGUmJihPYmplY3QuYXNzaWduKHQsQlNyKHUscikpLHI9dFtyXSxsPSEwKTtlbHNlIGlmKGFbMV0uX2NvbnRhaW5lcil7Zm9yKG49cixpPXZvaWQgMDtuLS07KWlmKHM9dS5nZXQobiksc1sxXS50eXBlPT09ImxpbmVFbmRpbmcifHxzWzFdLnR5cGU9PT0ibGluZUVuZGluZ0JsYW5rIilzWzBdPT09ImVudGVyIiYmKGkmJih1LmdldChpKVsxXS50eXBlPSJsaW5lRW5kaW5nQmxhbmsiKSxzWzFdLnR5cGU9ImxpbmVFbmRpbmciLGk9bik7ZWxzZSBpZighKHNbMV0udHlwZT09PSJsaW5lUHJlZml4Inx8c1sxXS50eXBlPT09Imxpc3RJdGVtSW5kZW50IikpYnJlYWs7aSYmKGFbMV0uZW5kPXsuLi51LmdldChpKVsxXS5zdGFydH0sbz11LnNsaWNlKGksciksby51bnNoaWZ0KGEpLHUuc3BsaWNlKGksci1pKzEsbykpfX1yZXR1cm4gSGEoZSwwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSx1LnNsaWNlKDApKSwhbH1mdW5jdGlvbiBCU3IoZSx0KXtsZXQgcj1lLmdldCh0KVsxXSxhPWUuZ2V0KHQpWzJdLGk9dC0xLG49W10scz1yLl90b2tlbml6ZXI7c3x8KHM9YS5wYXJzZXJbci5jb250ZW50VHlwZV0oci5zdGFydCksci5fY29udGVudFR5cGVUZXh0VHJhaWxpbmcmJihzLl9jb250ZW50VHlwZVRleHRUcmFpbGluZz0hMCkpO2xldCBvPXMuZXZlbnRzLGM9W10sbD17fSx1LGQsaD0tMSxtPXIsdj0wLGI9MCxnPVtiXTtmb3IoO207KXtmb3IoO2UuZ2V0KCsraSlbMV0hPT1tOyk7bi5wdXNoKGkpLG0uX3Rva2VuaXplcnx8KHU9YS5zbGljZVN0cmVhbShtKSxtLm5leHR8fHUucHVzaChudWxsKSxkJiZzLmRlZmluZVNraXAobS5zdGFydCksbS5faXNJbkZpcnN0Q29udGVudE9mTGlzdEl0ZW0mJihzLl9nZm1UYXNrbGlzdEZpcnN0Q29udGVudE9mTGlzdEl0ZW09ITApLHMud3JpdGUodSksbS5faXNJbkZpcnN0Q29udGVudE9mTGlzdEl0ZW0mJihzLl9nZm1UYXNrbGlzdEZpcnN0Q29udGVudE9mTGlzdEl0ZW09dm9pZCAwKSksZD1tLG09bS5uZXh0fWZvcihtPXI7KytoPG8ubGVuZ3RoOylvW2hdWzBdPT09ImV4aXQiJiZvW2gtMV1bMF09PT0iZW50ZXIiJiZvW2hdWzFdLnR5cGU9PT1vW2gtMV1bMV0udHlwZSYmb1toXVsxXS5zdGFydC5saW5lIT09b1toXVsxXS5lbmQubGluZSYmKGI9aCsxLGcucHVzaChiKSxtLl90b2tlbml6ZXI9dm9pZCAwLG0ucHJldmlvdXM9dm9pZCAwLG09bS5uZXh0KTtmb3Iocy5ldmVudHM9W10sbT8obS5fdG9rZW5pemVyPXZvaWQgMCxtLnByZXZpb3VzPXZvaWQgMCk6Zy5wb3AoKSxoPWcubGVuZ3RoO2gtLTspe2xldCB5PW8uc2xpY2UoZ1toXSxnW2grMV0pLHc9bi5wb3AoKTtjLnB1c2goW3csdyt5Lmxlbmd0aC0xXSksZS5zcGxpY2UodywyLHkpfWZvcihjLnJldmVyc2UoKSxoPS0xOysraDxjLmxlbmd0aDspbFt2K2NbaF1bMF1dPXYrY1toXVsxXSx2Kz1jW2hdWzFdLWNbaF1bMF0tMTtyZXR1cm4gbH12YXIgalU9ZigoKT0+e3gyKCk7cVUoKTtxVSgpfSk7ZnVuY3Rpb24gcVNyKGUpe3JldHVybiB4ayhlKSxlfWZ1bmN0aW9uIGpTcihlLHQpe2xldCByO3JldHVybiBhO2Z1bmN0aW9uIGEobyl7cmV0dXJuIGUuZW50ZXIoImNvbnRlbnQiKSxyPWUuZW50ZXIoImNodW5rQ29udGVudCIse2NvbnRlbnRUeXBlOiJjb250ZW50In0pLGkobyl9ZnVuY3Rpb24gaShvKXtyZXR1cm4gbz09PW51bGw/bihvKTpXZShvKT9lLmNoZWNrKEhTcixzLG4pKG8pOihlLmNvbnN1bWUobyksaSl9ZnVuY3Rpb24gbihvKXtyZXR1cm4gZS5leGl0KCJjaHVua0NvbnRlbnQiKSxlLmV4aXQoImNvbnRlbnQiKSx0KG8pfWZ1bmN0aW9uIHMobyl7cmV0dXJuIGUuY29uc3VtZShvKSxlLmV4aXQoImNodW5rQ29udGVudCIpLHIubmV4dD1lLmVudGVyKCJjaHVua0NvbnRlbnQiLHtjb250ZW50VHlwZToiY29udGVudCIscHJldmlvdXM6cn0pLHI9ci5uZXh0LGl9fWZ1bmN0aW9uIFZTcihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKHMpe3JldHVybiBlLmV4aXQoImNodW5rQ29udGVudCIpLGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUocyksZS5leGl0KCJsaW5lRW5kaW5nIiksbXQoZSxuLCJsaW5lUHJlZml4Iil9ZnVuY3Rpb24gbihzKXtpZihzPT09bnVsbHx8V2UocykpcmV0dXJuIHIocyk7bGV0IG89YS5ldmVudHNbYS5ldmVudHMubGVuZ3RoLTFdO3JldHVybiFhLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIikmJm8mJm9bMV0udHlwZT09PSJsaW5lUHJlZml4IiYmb1syXS5zbGljZVNlcmlhbGl6ZShvWzFdLCEwKS5sZW5ndGg+PTQ/dChzKTplLmludGVycnVwdChhLnBhcnNlci5jb25zdHJ1Y3RzLmZsb3cscix0KShzKX19dmFyIFZVLEhTcixrQ2U9ZigoKT0+e3FhKCk7S3QoKTtqVSgpO1ZVPXtyZXNvbHZlOnFTcix0b2tlbml6ZTpqU3J9LEhTcj17cGFydGlhbDohMCx0b2tlbml6ZTpWU3J9fSk7ZnVuY3Rpb24geWsoZSx0LHIsYSxpLG4scyxvLGMpe2xldCBsPWN8fE51bWJlci5QT1NJVElWRV9JTkZJTklUWSx1PTA7cmV0dXJuIGQ7ZnVuY3Rpb24gZCh5KXtyZXR1cm4geT09PTYwPyhlLmVudGVyKGEpLGUuZW50ZXIoaSksZS5lbnRlcihuKSxlLmNvbnN1bWUoeSksZS5leGl0KG4pLGgpOnk9PT1udWxsfHx5PT09MzJ8fHk9PT00MXx8aWQoeSk/cih5KTooZS5lbnRlcihhKSxlLmVudGVyKHMpLGUuZW50ZXIobyksZS5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLGIoeSkpfWZ1bmN0aW9uIGgoeSl7cmV0dXJuIHk9PT02Mj8oZS5lbnRlcihuKSxlLmNvbnN1bWUoeSksZS5leGl0KG4pLGUuZXhpdChpKSxlLmV4aXQoYSksdCk6KGUuZW50ZXIobyksZS5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLG0oeSkpfWZ1bmN0aW9uIG0oeSl7cmV0dXJuIHk9PT02Mj8oZS5leGl0KCJjaHVua1N0cmluZyIpLGUuZXhpdChvKSxoKHkpKTp5PT09bnVsbHx8eT09PTYwfHxXZSh5KT9yKHkpOihlLmNvbnN1bWUoeSkseT09PTkyP3Y6bSl9ZnVuY3Rpb24gdih5KXtyZXR1cm4geT09PTYwfHx5PT09NjJ8fHk9PT05Mj8oZS5jb25zdW1lKHkpLG0pOm0oeSl9ZnVuY3Rpb24gYih5KXtyZXR1cm4hdSYmKHk9PT1udWxsfHx5PT09NDF8fFl0KHkpKT8oZS5leGl0KCJjaHVua1N0cmluZyIpLGUuZXhpdChvKSxlLmV4aXQocyksZS5leGl0KGEpLHQoeSkpOnU8bCYmeT09PTQwPyhlLmNvbnN1bWUoeSksdSsrLGIpOnk9PT00MT8oZS5jb25zdW1lKHkpLHUtLSxiKTp5PT09bnVsbHx8eT09PTMyfHx5PT09NDB8fGlkKHkpP3IoeSk6KGUuY29uc3VtZSh5KSx5PT09OTI/ZzpiKX1mdW5jdGlvbiBnKHkpe3JldHVybiB5PT09NDB8fHk9PT00MXx8eT09PTkyPyhlLmNvbnN1bWUoeSksYik6Yih5KX19dmFyIFVVPWYoKCk9PntLdCgpfSk7ZnVuY3Rpb24gd2soZSx0LHIsYSxpLG4pe2xldCBzPXRoaXMsbz0wLGM7cmV0dXJuIGw7ZnVuY3Rpb24gbChtKXtyZXR1cm4gZS5lbnRlcihhKSxlLmVudGVyKGkpLGUuY29uc3VtZShtKSxlLmV4aXQoaSksZS5lbnRlcihuKSx1fWZ1bmN0aW9uIHUobSl7cmV0dXJuIG8+OTk5fHxtPT09bnVsbHx8bT09PTkxfHxtPT09OTMmJiFjfHxtPT09OTQmJiFvJiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiBzLnBhcnNlci5jb25zdHJ1Y3RzP3IobSk6bT09PTkzPyhlLmV4aXQobiksZS5lbnRlcihpKSxlLmNvbnN1bWUobSksZS5leGl0KGkpLGUuZXhpdChhKSx0KTpXZShtKT8oZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShtKSxlLmV4aXQoImxpbmVFbmRpbmciKSx1KTooZS5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLGQobSkpfWZ1bmN0aW9uIGQobSl7cmV0dXJuIG09PT1udWxsfHxtPT09OTF8fG09PT05M3x8V2UobSl8fG8rKz45OTk/KGUuZXhpdCgiY2h1bmtTdHJpbmciKSx1KG0pKTooZS5jb25zdW1lKG0pLGN8fChjPSFvdChtKSksbT09PTkyP2g6ZCl9ZnVuY3Rpb24gaChtKXtyZXR1cm4gbT09PTkxfHxtPT09OTJ8fG09PT05Mz8oZS5jb25zdW1lKG0pLG8rKyxkKTpkKG0pfX12YXIgV1U9ZigoKT0+e0t0KCl9KTtmdW5jdGlvbiBNayhlLHQscixhLGksbil7bGV0IHM7cmV0dXJuIG87ZnVuY3Rpb24gbyhoKXtyZXR1cm4gaD09PTM0fHxoPT09Mzl8fGg9PT00MD8oZS5lbnRlcihhKSxlLmVudGVyKGkpLGUuY29uc3VtZShoKSxlLmV4aXQoaSkscz1oPT09NDA/NDE6aCxjKTpyKGgpfWZ1bmN0aW9uIGMoaCl7cmV0dXJuIGg9PT1zPyhlLmVudGVyKGkpLGUuY29uc3VtZShoKSxlLmV4aXQoaSksZS5leGl0KGEpLHQpOihlLmVudGVyKG4pLGwoaCkpfWZ1bmN0aW9uIGwoaCl7cmV0dXJuIGg9PT1zPyhlLmV4aXQobiksYyhzKSk6aD09PW51bGw/cihoKTpXZShoKT8oZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShoKSxlLmV4aXQoImxpbmVFbmRpbmciKSxtdChlLGwsImxpbmVQcmVmaXgiKSk6KGUuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSx1KGgpKX1mdW5jdGlvbiB1KGgpe3JldHVybiBoPT09c3x8aD09PW51bGx8fFdlKGgpPyhlLmV4aXQoImNodW5rU3RyaW5nIiksbChoKSk6KGUuY29uc3VtZShoKSxoPT09OTI/ZDp1KX1mdW5jdGlvbiBkKGgpe3JldHVybiBoPT09c3x8aD09PTkyPyhlLmNvbnN1bWUoaCksdSk6dShoKX19dmFyIEdVPWYoKCk9PntxYSgpO0t0KCl9KTtmdW5jdGlvbiB1ZChlLHQpe2xldCByO3JldHVybiBhO2Z1bmN0aW9uIGEoaSl7cmV0dXJuIFdlKGkpPyhlLmVudGVyKCJsaW5lRW5kaW5nIiksZS5jb25zdW1lKGkpLGUuZXhpdCgibGluZUVuZGluZyIpLHI9ITAsYSk6b3QoaSk/bXQoZSxhLHI/ImxpbmVQcmVmaXgiOiJsaW5lU3VmZml4IikoaSk6dChpKX19dmFyIFlVPWYoKCk9PntxYSgpO0t0KCl9KTtmdW5jdGlvbiBXU3IoZSx0LHIpe2xldCBhPXRoaXMsaTtyZXR1cm4gbjtmdW5jdGlvbiBuKG0pe3JldHVybiBlLmVudGVyKCJkZWZpbml0aW9uIikscyhtKX1mdW5jdGlvbiBzKG0pe3JldHVybiB3ay5jYWxsKGEsZSxvLHIsImRlZmluaXRpb25MYWJlbCIsImRlZmluaXRpb25MYWJlbE1hcmtlciIsImRlZmluaXRpb25MYWJlbFN0cmluZyIpKG0pfWZ1bmN0aW9uIG8obSl7cmV0dXJuIGk9RGEoYS5zbGljZVNlcmlhbGl6ZShhLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV1bMV0pLnNsaWNlKDEsLTEpKSxtPT09NTg/KGUuZW50ZXIoImRlZmluaXRpb25NYXJrZXIiKSxlLmNvbnN1bWUobSksZS5leGl0KCJkZWZpbml0aW9uTWFya2VyIiksYyk6cihtKX1mdW5jdGlvbiBjKG0pe3JldHVybiBZdChtKT91ZChlLGwpKG0pOmwobSl9ZnVuY3Rpb24gbChtKXtyZXR1cm4geWsoZSx1LHIsImRlZmluaXRpb25EZXN0aW5hdGlvbiIsImRlZmluaXRpb25EZXN0aW5hdGlvbkxpdGVyYWwiLCJkZWZpbml0aW9uRGVzdGluYXRpb25MaXRlcmFsTWFya2VyIiwiZGVmaW5pdGlvbkRlc3RpbmF0aW9uUmF3IiwiZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nIikobSl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gZS5hdHRlbXB0KFVTcixkLGQpKG0pfWZ1bmN0aW9uIGQobSl7cmV0dXJuIG90KG0pP210KGUsaCwid2hpdGVzcGFjZSIpKG0pOmgobSl9ZnVuY3Rpb24gaChtKXtyZXR1cm4gbT09PW51bGx8fFdlKG0pPyhlLmV4aXQoImRlZmluaXRpb24iKSxhLnBhcnNlci5kZWZpbmVkLnB1c2goaSksdChtKSk6cihtKX19ZnVuY3Rpb24gR1NyKGUsdCxyKXtyZXR1cm4gYTtmdW5jdGlvbiBhKG8pe3JldHVybiBZdChvKT91ZChlLGkpKG8pOnIobyl9ZnVuY3Rpb24gaShvKXtyZXR1cm4gTWsoZSxuLHIsImRlZmluaXRpb25UaXRsZSIsImRlZmluaXRpb25UaXRsZU1hcmtlciIsImRlZmluaXRpb25UaXRsZVN0cmluZyIpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIG90KG8pP210KGUscywid2hpdGVzcGFjZSIpKG8pOnMobyl9ZnVuY3Rpb24gcyhvKXtyZXR1cm4gbz09PW51bGx8fFdlKG8pP3Qobyk6cihvKX19dmFyIFpVLFVTcixTQ2U9ZigoKT0+e1VVKCk7V1UoKTtxYSgpO0dVKCk7WVUoKTtLdCgpO04wKCk7WlU9e25hbWU6ImRlZmluaXRpb24iLHRva2VuaXplOldTcn0sVVNyPXtwYXJ0aWFsOiEwLHRva2VuaXplOkdTcn19KTtmdW5jdGlvbiBZU3IoZSx0LHIpe3JldHVybiBhO2Z1bmN0aW9uIGEobil7cmV0dXJuIGUuZW50ZXIoImhhcmRCcmVha0VzY2FwZSIpLGUuY29uc3VtZShuKSxpfWZ1bmN0aW9uIGkobil7cmV0dXJuIFdlKG4pPyhlLmV4aXQoImhhcmRCcmVha0VzY2FwZSIpLHQobikpOnIobil9fXZhciBYVSx6Q2U9ZigoKT0+e0t0KCk7WFU9e25hbWU6ImhhcmRCcmVha0VzY2FwZSIsdG9rZW5pemU6WVNyfX0pO2Z1bmN0aW9uIFpTcihlLHQpe2xldCByPWUubGVuZ3RoLTIsYT0zLGksbjtyZXR1cm4gZVthXVsxXS50eXBlPT09IndoaXRlc3BhY2UiJiYoYSs9Miksci0yPmEmJmVbcl1bMV0udHlwZT09PSJ3aGl0ZXNwYWNlIiYmKHItPTIpLGVbcl1bMV0udHlwZT09PSJhdHhIZWFkaW5nU2VxdWVuY2UiJiYoYT09PXItMXx8ci00PmEmJmVbci0yXVsxXS50eXBlPT09IndoaXRlc3BhY2UiKSYmKHItPWErMT09PXI/Mjo0KSxyPmEmJihpPXt0eXBlOiJhdHhIZWFkaW5nVGV4dCIsc3RhcnQ6ZVthXVsxXS5zdGFydCxlbmQ6ZVtyXVsxXS5lbmR9LG49e3R5cGU6ImNodW5rVGV4dCIsc3RhcnQ6ZVthXVsxXS5zdGFydCxlbmQ6ZVtyXVsxXS5lbmQsY29udGVudFR5cGU6InRleHQifSxIYShlLGEsci1hKzEsW1siZW50ZXIiLGksdF0sWyJlbnRlciIsbix0XSxbImV4aXQiLG4sdF0sWyJleGl0IixpLHRdXSkpLGV9ZnVuY3Rpb24gWFNyKGUsdCxyKXtsZXQgYT0wO3JldHVybiBpO2Z1bmN0aW9uIGkodSl7cmV0dXJuIGUuZW50ZXIoImF0eEhlYWRpbmciKSxuKHUpfWZ1bmN0aW9uIG4odSl7cmV0dXJuIGUuZW50ZXIoImF0eEhlYWRpbmdTZXF1ZW5jZSIpLHModSl9ZnVuY3Rpb24gcyh1KXtyZXR1cm4gdT09PTM1JiZhKys8Nj8oZS5jb25zdW1lKHUpLHMpOnU9PT1udWxsfHxZdCh1KT8oZS5leGl0KCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxvKHUpKTpyKHUpfWZ1bmN0aW9uIG8odSl7cmV0dXJuIHU9PT0zNT8oZS5lbnRlcigiYXR4SGVhZGluZ1NlcXVlbmNlIiksYyh1KSk6dT09PW51bGx8fFdlKHUpPyhlLmV4aXQoImF0eEhlYWRpbmciKSx0KHUpKTpvdCh1KT9tdChlLG8sIndoaXRlc3BhY2UiKSh1KTooZS5lbnRlcigiYXR4SGVhZGluZ1RleHQiKSxsKHUpKX1mdW5jdGlvbiBjKHUpe3JldHVybiB1PT09MzU/KGUuY29uc3VtZSh1KSxjKTooZS5leGl0KCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxvKHUpKX1mdW5jdGlvbiBsKHUpe3JldHVybiB1PT09bnVsbHx8dT09PTM1fHxZdCh1KT8oZS5leGl0KCJhdHhIZWFkaW5nVGV4dCIpLG8odSkpOihlLmNvbnN1bWUodSksbCl9fXZhciBRVSxDQ2U9ZigoKT0+e3FhKCk7S3QoKTt4MigpO1FVPXtuYW1lOiJoZWFkaW5nQXR4IixyZXNvbHZlOlpTcix0b2tlbml6ZTpYU3J9fSk7dmFyIFRDZSxKVSxfQ2U9ZigoKT0+e1RDZT1bImFkZHJlc3MiLCJhcnRpY2xlIiwiYXNpZGUiLCJiYXNlIiwiYmFzZWZvbnQiLCJibG9ja3F1b3RlIiwiYm9keSIsImNhcHRpb24iLCJjZW50ZXIiLCJjb2wiLCJjb2xncm91cCIsImRkIiwiZGV0YWlscyIsImRpYWxvZyIsImRpciIsImRpdiIsImRsIiwiZHQiLCJmaWVsZHNldCIsImZpZ2NhcHRpb24iLCJmaWd1cmUiLCJmb290ZXIiLCJmb3JtIiwiZnJhbWUiLCJmcmFtZXNldCIsImgxIiwiaDIiLCJoMyIsImg0IiwiaDUiLCJoNiIsImhlYWQiLCJoZWFkZXIiLCJociIsImh0bWwiLCJpZnJhbWUiLCJsZWdlbmQiLCJsaSIsImxpbmsiLCJtYWluIiwibWVudSIsIm1lbnVpdGVtIiwibmF2Iiwibm9mcmFtZXMiLCJvbCIsIm9wdGdyb3VwIiwib3B0aW9uIiwicCIsInBhcmFtIiwic2VhcmNoIiwic2VjdGlvbiIsInN1bW1hcnkiLCJ0YWJsZSIsInRib2R5IiwidGQiLCJ0Zm9vdCIsInRoIiwidGhlYWQiLCJ0aXRsZSIsInRyIiwidHJhY2siLCJ1bCJdLEpVPVsicHJlIiwic2NyaXB0Iiwic3R5bGUiLCJ0ZXh0YXJlYSJdfSk7ZnVuY3Rpb24gS1NyKGUpe2xldCB0PWUubGVuZ3RoO2Zvcig7dC0tJiYhKGVbdF1bMF09PT0iZW50ZXIiJiZlW3RdWzFdLnR5cGU9PT0iaHRtbEZsb3ciKTspO3JldHVybiB0PjEmJmVbdC0yXVsxXS50eXBlPT09ImxpbmVQcmVmaXgiJiYoZVt0XVsxXS5zdGFydD1lW3QtMl1bMV0uc3RhcnQsZVt0KzFdWzFdLnN0YXJ0PWVbdC0yXVsxXS5zdGFydCxlLnNwbGljZSh0LTIsMikpLGV9ZnVuY3Rpb24gZXpyKGUsdCxyKXtsZXQgYT10aGlzLGksbixzLG8sYztyZXR1cm4gbDtmdW5jdGlvbiBsKFApe3JldHVybiB1KFApfWZ1bmN0aW9uIHUoUCl7cmV0dXJuIGUuZW50ZXIoImh0bWxGbG93IiksZS5lbnRlcigiaHRtbEZsb3dEYXRhIiksZS5jb25zdW1lKFApLGR9ZnVuY3Rpb24gZChQKXtyZXR1cm4gUD09PTMzPyhlLmNvbnN1bWUoUCksaCk6UD09PTQ3PyhlLmNvbnN1bWUoUCksbj0hMCxiKTpQPT09NjM/KGUuY29uc3VtZShQKSxpPTMsYS5pbnRlcnJ1cHQ/dDpJKTpmaShQKT8oZS5jb25zdW1lKFApLHM9U3RyaW5nLmZyb21DaGFyQ29kZShQKSxnKTpyKFApfWZ1bmN0aW9uIGgoUCl7cmV0dXJuIFA9PT00NT8oZS5jb25zdW1lKFApLGk9MixtKTpQPT09OTE/KGUuY29uc3VtZShQKSxpPTUsbz0wLHYpOmZpKFApPyhlLmNvbnN1bWUoUCksaT00LGEuaW50ZXJydXB0P3Q6SSk6cihQKX1mdW5jdGlvbiBtKFApe3JldHVybiBQPT09NDU/KGUuY29uc3VtZShQKSxhLmludGVycnVwdD90OkkpOnIoUCl9ZnVuY3Rpb24gdihQKXtsZXQgbGU9IkNEQVRBWyI7cmV0dXJuIFA9PT1sZS5jaGFyQ29kZUF0KG8rKyk/KGUuY29uc3VtZShQKSxvPT09bGUubGVuZ3RoP2EuaW50ZXJydXB0P3Q6ejp2KTpyKFApfWZ1bmN0aW9uIGIoUCl7cmV0dXJuIGZpKFApPyhlLmNvbnN1bWUoUCkscz1TdHJpbmcuZnJvbUNoYXJDb2RlKFApLGcpOnIoUCl9ZnVuY3Rpb24gZyhQKXtpZihQPT09bnVsbHx8UD09PTQ3fHxQPT09NjJ8fFl0KFApKXtsZXQgbGU9UD09PTQ3LFNlPXMudG9Mb3dlckNhc2UoKTtyZXR1cm4hbGUmJiFuJiZKVS5pbmNsdWRlcyhTZSk/KGk9MSxhLmludGVycnVwdD90KFApOnooUCkpOlRDZS5pbmNsdWRlcyhzLnRvTG93ZXJDYXNlKCkpPyhpPTYsbGU/KGUuY29uc3VtZShQKSx5KTphLmludGVycnVwdD90KFApOnooUCkpOihpPTcsYS5pbnRlcnJ1cHQmJiFhLnBhcnNlci5sYXp5W2Eubm93KCkubGluZV0/cihQKTpuP3coUCk6ayhQKSl9cmV0dXJuIFA9PT00NXx8JGEoUCk/KGUuY29uc3VtZShQKSxzKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFApLGcpOnIoUCl9ZnVuY3Rpb24geShQKXtyZXR1cm4gUD09PTYyPyhlLmNvbnN1bWUoUCksYS5pbnRlcnJ1cHQ/dDp6KTpyKFApfWZ1bmN0aW9uIHcoUCl7cmV0dXJuIG90KFApPyhlLmNvbnN1bWUoUCksdyk6cShQKX1mdW5jdGlvbiBrKFApe3JldHVybiBQPT09NDc/KGUuY29uc3VtZShQKSxxKTpQPT09NTh8fFA9PT05NXx8ZmkoUCk/KGUuY29uc3VtZShQKSxSKTpvdChQKT8oZS5jb25zdW1lKFApLGspOnEoUCl9ZnVuY3Rpb24gUihQKXtyZXR1cm4gUD09PTQ1fHxQPT09NDZ8fFA9PT01OHx8UD09PTk1fHwkYShQKT8oZS5jb25zdW1lKFApLFIpOkMoUCl9ZnVuY3Rpb24gQyhQKXtyZXR1cm4gUD09PTYxPyhlLmNvbnN1bWUoUCksUyk6b3QoUCk/KGUuY29uc3VtZShQKSxDKTprKFApfWZ1bmN0aW9uIFMoUCl7cmV0dXJuIFA9PT1udWxsfHxQPT09NjB8fFA9PT02MXx8UD09PTYyfHxQPT09OTY/cihQKTpQPT09MzR8fFA9PT0zOT8oZS5jb25zdW1lKFApLGM9UCxPKTpvdChQKT8oZS5jb25zdW1lKFApLFMpOkQoUCl9ZnVuY3Rpb24gTyhQKXtyZXR1cm4gUD09PWM/KGUuY29uc3VtZShQKSxjPW51bGwsTik6UD09PW51bGx8fFdlKFApP3IoUCk6KGUuY29uc3VtZShQKSxPKX1mdW5jdGlvbiBEKFApe3JldHVybiBQPT09bnVsbHx8UD09PTM0fHxQPT09Mzl8fFA9PT00N3x8UD09PTYwfHxQPT09NjF8fFA9PT02Mnx8UD09PTk2fHxZdChQKT9DKFApOihlLmNvbnN1bWUoUCksRCl9ZnVuY3Rpb24gTihQKXtyZXR1cm4gUD09PTQ3fHxQPT09NjJ8fG90KFApP2soUCk6cihQKX1mdW5jdGlvbiBxKFApe3JldHVybiBQPT09NjI/KGUuY29uc3VtZShQKSxfKTpyKFApfWZ1bmN0aW9uIF8oUCl7cmV0dXJuIFA9PT1udWxsfHxXZShQKT96KFApOm90KFApPyhlLmNvbnN1bWUoUCksXyk6cihQKX1mdW5jdGlvbiB6KFApe3JldHVybiBQPT09NDUmJmk9PT0yPyhlLmNvbnN1bWUoUCksVik6UD09PTYwJiZpPT09MT8oZS5jb25zdW1lKFApLEIpOlA9PT02MiYmaT09PTQ/KGUuY29uc3VtZShQKSx2ZSk6UD09PTYzJiZpPT09Mz8oZS5jb25zdW1lKFApLEkpOlA9PT05MyYmaT09PTU/KGUuY29uc3VtZShQKSxLKTpXZShQKSYmKGk9PT02fHxpPT09Nyk/KGUuZXhpdCgiaHRtbEZsb3dEYXRhIiksZS5jaGVjayhRU3IsTWUsRSkoUCkpOlA9PT1udWxsfHxXZShQKT8oZS5leGl0KCJodG1sRmxvd0RhdGEiKSxFKFApKTooZS5jb25zdW1lKFApLHopfWZ1bmN0aW9uIEUoUCl7cmV0dXJuIGUuY2hlY2soSlNyLFQsTWUpKFApfWZ1bmN0aW9uIFQoUCl7cmV0dXJuIGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUoUCksZS5leGl0KCJsaW5lRW5kaW5nIiksTH1mdW5jdGlvbiBMKFApe3JldHVybiBQPT09bnVsbHx8V2UoUCk/RShQKTooZS5lbnRlcigiaHRtbEZsb3dEYXRhIikseihQKSl9ZnVuY3Rpb24gVihQKXtyZXR1cm4gUD09PTQ1PyhlLmNvbnN1bWUoUCksSSk6eihQKX1mdW5jdGlvbiBCKFApe3JldHVybiBQPT09NDc/KGUuY29uc3VtZShQKSxzPSIiLFUpOnooUCl9ZnVuY3Rpb24gVShQKXtpZihQPT09NjIpe2xldCBsZT1zLnRvTG93ZXJDYXNlKCk7cmV0dXJuIEpVLmluY2x1ZGVzKGxlKT8oZS5jb25zdW1lKFApLHZlKTp6KFApfXJldHVybiBmaShQKSYmcy5sZW5ndGg8OD8oZS5jb25zdW1lKFApLHMrPVN0cmluZy5mcm9tQ2hhckNvZGUoUCksVSk6eihQKX1mdW5jdGlvbiBLKFApe3JldHVybiBQPT09OTM/KGUuY29uc3VtZShQKSxJKTp6KFApfWZ1bmN0aW9uIEkoUCl7cmV0dXJuIFA9PT02Mj8oZS5jb25zdW1lKFApLHZlKTpQPT09NDUmJmk9PT0yPyhlLmNvbnN1bWUoUCksSSk6eihQKX1mdW5jdGlvbiB2ZShQKXtyZXR1cm4gUD09PW51bGx8fFdlKFApPyhlLmV4aXQoImh0bWxGbG93RGF0YSIpLE1lKFApKTooZS5jb25zdW1lKFApLHZlKX1mdW5jdGlvbiBNZShQKXtyZXR1cm4gZS5leGl0KCJodG1sRmxvdyIpLHQoUCl9fWZ1bmN0aW9uIHR6cihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKHMpe3JldHVybiBXZShzKT8oZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShzKSxlLmV4aXQoImxpbmVFbmRpbmciKSxuKTpyKHMpfWZ1bmN0aW9uIG4ocyl7cmV0dXJuIGEucGFyc2VyLmxhenlbYS5ub3coKS5saW5lXT9yKHMpOnQocyl9fWZ1bmN0aW9uIHJ6cihlLHQscil7cmV0dXJuIGE7ZnVuY3Rpb24gYShpKXtyZXR1cm4gZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShpKSxlLmV4aXQoImxpbmVFbmRpbmciKSxlLmF0dGVtcHQoazIsdCxyKX19dmFyIEtVLFFTcixKU3IsTENlPWYoKCk9PntLdCgpO19DZSgpO2hrKCk7S1U9e2NvbmNyZXRlOiEwLG5hbWU6Imh0bWxGbG93IixyZXNvbHZlVG86S1NyLHRva2VuaXplOmV6cn0sUVNyPXtwYXJ0aWFsOiEwLHRva2VuaXplOnJ6cn0sSlNyPXtwYXJ0aWFsOiEwLHRva2VuaXplOnR6cn19KTtmdW5jdGlvbiBhenIoZSx0LHIpe2xldCBhPXRoaXMsaSxuLHM7cmV0dXJuIG87ZnVuY3Rpb24gbyhJKXtyZXR1cm4gZS5lbnRlcigiaHRtbFRleHQiKSxlLmVudGVyKCJodG1sVGV4dERhdGEiKSxlLmNvbnN1bWUoSSksY31mdW5jdGlvbiBjKEkpe3JldHVybiBJPT09MzM/KGUuY29uc3VtZShJKSxsKTpJPT09NDc/KGUuY29uc3VtZShJKSxDKTpJPT09NjM/KGUuY29uc3VtZShJKSxrKTpmaShJKT8oZS5jb25zdW1lKEkpLEQpOnIoSSl9ZnVuY3Rpb24gbChJKXtyZXR1cm4gST09PTQ1PyhlLmNvbnN1bWUoSSksdSk6ST09PTkxPyhlLmNvbnN1bWUoSSksbj0wLHYpOmZpKEkpPyhlLmNvbnN1bWUoSSksdyk6cihJKX1mdW5jdGlvbiB1KEkpe3JldHVybiBJPT09NDU/KGUuY29uc3VtZShJKSxtKTpyKEkpfWZ1bmN0aW9uIGQoSSl7cmV0dXJuIEk9PT1udWxsP3IoSSk6ST09PTQ1PyhlLmNvbnN1bWUoSSksaCk6V2UoSSk/KHM9ZCxCKEkpKTooZS5jb25zdW1lKEkpLGQpfWZ1bmN0aW9uIGgoSSl7cmV0dXJuIEk9PT00NT8oZS5jb25zdW1lKEkpLG0pOmQoSSl9ZnVuY3Rpb24gbShJKXtyZXR1cm4gST09PTYyP1YoSSk6ST09PTQ1P2goSSk6ZChJKX1mdW5jdGlvbiB2KEkpe2xldCB2ZT0iQ0RBVEFbIjtyZXR1cm4gST09PXZlLmNoYXJDb2RlQXQobisrKT8oZS5jb25zdW1lKEkpLG49PT12ZS5sZW5ndGg/Yjp2KTpyKEkpfWZ1bmN0aW9uIGIoSSl7cmV0dXJuIEk9PT1udWxsP3IoSSk6ST09PTkzPyhlLmNvbnN1bWUoSSksZyk6V2UoSSk/KHM9YixCKEkpKTooZS5jb25zdW1lKEkpLGIpfWZ1bmN0aW9uIGcoSSl7cmV0dXJuIEk9PT05Mz8oZS5jb25zdW1lKEkpLHkpOmIoSSl9ZnVuY3Rpb24geShJKXtyZXR1cm4gST09PTYyP1YoSSk6ST09PTkzPyhlLmNvbnN1bWUoSSkseSk6YihJKX1mdW5jdGlvbiB3KEkpe3JldHVybiBJPT09bnVsbHx8ST09PTYyP1YoSSk6V2UoSSk/KHM9dyxCKEkpKTooZS5jb25zdW1lKEkpLHcpfWZ1bmN0aW9uIGsoSSl7cmV0dXJuIEk9PT1udWxsP3IoSSk6ST09PTYzPyhlLmNvbnN1bWUoSSksUik6V2UoSSk/KHM9ayxCKEkpKTooZS5jb25zdW1lKEkpLGspfWZ1bmN0aW9uIFIoSSl7cmV0dXJuIEk9PT02Mj9WKEkpOmsoSSl9ZnVuY3Rpb24gQyhJKXtyZXR1cm4gZmkoSSk/KGUuY29uc3VtZShJKSxTKTpyKEkpfWZ1bmN0aW9uIFMoSSl7cmV0dXJuIEk9PT00NXx8JGEoSSk/KGUuY29uc3VtZShJKSxTKTpPKEkpfWZ1bmN0aW9uIE8oSSl7cmV0dXJuIFdlKEkpPyhzPU8sQihJKSk6b3QoSSk/KGUuY29uc3VtZShJKSxPKTpWKEkpfWZ1bmN0aW9uIEQoSSl7cmV0dXJuIEk9PT00NXx8JGEoSSk/KGUuY29uc3VtZShJKSxEKTpJPT09NDd8fEk9PT02Mnx8WXQoSSk/TihJKTpyKEkpfWZ1bmN0aW9uIE4oSSl7cmV0dXJuIEk9PT00Nz8oZS5jb25zdW1lKEkpLFYpOkk9PT01OHx8ST09PTk1fHxmaShJKT8oZS5jb25zdW1lKEkpLHEpOldlKEkpPyhzPU4sQihJKSk6b3QoSSk/KGUuY29uc3VtZShJKSxOKTpWKEkpfWZ1bmN0aW9uIHEoSSl7cmV0dXJuIEk9PT00NXx8ST09PTQ2fHxJPT09NTh8fEk9PT05NXx8JGEoSSk/KGUuY29uc3VtZShJKSxxKTpfKEkpfWZ1bmN0aW9uIF8oSSl7cmV0dXJuIEk9PT02MT8oZS5jb25zdW1lKEkpLHopOldlKEkpPyhzPV8sQihJKSk6b3QoSSk/KGUuY29uc3VtZShJKSxfKTpOKEkpfWZ1bmN0aW9uIHooSSl7cmV0dXJuIEk9PT1udWxsfHxJPT09NjB8fEk9PT02MXx8ST09PTYyfHxJPT09OTY/cihJKTpJPT09MzR8fEk9PT0zOT8oZS5jb25zdW1lKEkpLGk9SSxFKTpXZShJKT8ocz16LEIoSSkpOm90KEkpPyhlLmNvbnN1bWUoSSkseik6KGUuY29uc3VtZShJKSxUKX1mdW5jdGlvbiBFKEkpe3JldHVybiBJPT09aT8oZS5jb25zdW1lKEkpLGk9dm9pZCAwLEwpOkk9PT1udWxsP3IoSSk6V2UoSSk/KHM9RSxCKEkpKTooZS5jb25zdW1lKEkpLEUpfWZ1bmN0aW9uIFQoSSl7cmV0dXJuIEk9PT1udWxsfHxJPT09MzR8fEk9PT0zOXx8ST09PTYwfHxJPT09NjF8fEk9PT05Nj9yKEkpOkk9PT00N3x8ST09PTYyfHxZdChJKT9OKEkpOihlLmNvbnN1bWUoSSksVCl9ZnVuY3Rpb24gTChJKXtyZXR1cm4gST09PTQ3fHxJPT09NjJ8fFl0KEkpP04oSSk6cihJKX1mdW5jdGlvbiBWKEkpe3JldHVybiBJPT09NjI/KGUuY29uc3VtZShJKSxlLmV4aXQoImh0bWxUZXh0RGF0YSIpLGUuZXhpdCgiaHRtbFRleHQiKSx0KTpyKEkpfWZ1bmN0aW9uIEIoSSl7cmV0dXJuIGUuZXhpdCgiaHRtbFRleHREYXRhIiksZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShJKSxlLmV4aXQoImxpbmVFbmRpbmciKSxVfWZ1bmN0aW9uIFUoSSl7cmV0dXJuIG90KEkpP210KGUsSywibGluZVByZWZpeCIsYS5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShJKTpLKEkpfWZ1bmN0aW9uIEsoSSl7cmV0dXJuIGUuZW50ZXIoImh0bWxUZXh0RGF0YSIpLHMoSSl9fXZhciBlVywkQ2U9ZigoKT0+e3FhKCk7S3QoKTtlVz17bmFtZToiaHRtbFRleHQiLHRva2VuaXplOmF6cn19KTtmdW5jdGlvbiBvenIoZSl7bGV0IHQ9LTEscj1bXTtmb3IoOysrdDxlLmxlbmd0aDspe2xldCBhPWVbdF1bMV07aWYoci5wdXNoKGVbdF0pLGEudHlwZT09PSJsYWJlbEltYWdlInx8YS50eXBlPT09ImxhYmVsTGluayJ8fGEudHlwZT09PSJsYWJlbEVuZCIpe2xldCBpPWEudHlwZT09PSJsYWJlbEltYWdlIj80OjI7YS50eXBlPSJkYXRhIix0Kz1pfX1yZXR1cm4gZS5sZW5ndGghPT1yLmxlbmd0aCYmSGEoZSwwLGUubGVuZ3RoLHIpLGV9ZnVuY3Rpb24gbHpyKGUsdCl7bGV0IHI9ZS5sZW5ndGgsYT0wLGksbixzLG87Zm9yKDtyLS07KWlmKGk9ZVtyXVsxXSxuKXtpZihpLnR5cGU9PT0ibGluayJ8fGkudHlwZT09PSJsYWJlbExpbmsiJiZpLl9pbmFjdGl2ZSlicmVhaztlW3JdWzBdPT09ImVudGVyIiYmaS50eXBlPT09ImxhYmVsTGluayImJihpLl9pbmFjdGl2ZT0hMCl9ZWxzZSBpZihzKXtpZihlW3JdWzBdPT09ImVudGVyIiYmKGkudHlwZT09PSJsYWJlbEltYWdlInx8aS50eXBlPT09ImxhYmVsTGluayIpJiYhaS5fYmFsYW5jZWQmJihuPXIsaS50eXBlIT09ImxhYmVsTGluayIpKXthPTI7YnJlYWt9fWVsc2UgaS50eXBlPT09ImxhYmVsRW5kIiYmKHM9cik7bGV0IGM9e3R5cGU6ZVtuXVsxXS50eXBlPT09ImxhYmVsTGluayI/ImxpbmsiOiJpbWFnZSIsc3RhcnQ6ey4uLmVbbl1bMV0uc3RhcnR9LGVuZDp7Li4uZVtlLmxlbmd0aC0xXVsxXS5lbmR9fSxsPXt0eXBlOiJsYWJlbCIsc3RhcnQ6ey4uLmVbbl1bMV0uc3RhcnR9LGVuZDp7Li4uZVtzXVsxXS5lbmR9fSx1PXt0eXBlOiJsYWJlbFRleHQiLHN0YXJ0OnsuLi5lW24rYSsyXVsxXS5lbmR9LGVuZDp7Li4uZVtzLTJdWzFdLnN0YXJ0fX07cmV0dXJuIG89W1siZW50ZXIiLGMsdF0sWyJlbnRlciIsbCx0XV0sbz1laShvLGUuc2xpY2UobisxLG4rYSszKSksbz1laShvLFtbImVudGVyIix1LHRdXSksbz1laShvLE8wKHQucGFyc2VyLmNvbnN0cnVjdHMuaW5zaWRlU3Bhbi5udWxsLGUuc2xpY2UobithKzQscy0zKSx0KSksbz1laShvLFtbImV4aXQiLHUsdF0sZVtzLTJdLGVbcy0xXSxbImV4aXQiLGwsdF1dKSxvPWVpKG8sZS5zbGljZShzKzEpKSxvPWVpKG8sW1siZXhpdCIsYyx0XV0pLEhhKGUsbixlLmxlbmd0aCxvKSxlfWZ1bmN0aW9uIGN6cihlLHQscil7bGV0IGE9dGhpcyxpPWEuZXZlbnRzLmxlbmd0aCxuLHM7Zm9yKDtpLS07KWlmKChhLmV2ZW50c1tpXVsxXS50eXBlPT09ImxhYmVsSW1hZ2UifHxhLmV2ZW50c1tpXVsxXS50eXBlPT09ImxhYmVsTGluayIpJiYhYS5ldmVudHNbaV1bMV0uX2JhbGFuY2VkKXtuPWEuZXZlbnRzW2ldWzFdO2JyZWFrfXJldHVybiBvO2Z1bmN0aW9uIG8oaCl7cmV0dXJuIG4/bi5faW5hY3RpdmU/ZChoKToocz1hLnBhcnNlci5kZWZpbmVkLmluY2x1ZGVzKERhKGEuc2xpY2VTZXJpYWxpemUoe3N0YXJ0Om4uZW5kLGVuZDphLm5vdygpfSkpKSxlLmVudGVyKCJsYWJlbEVuZCIpLGUuZW50ZXIoImxhYmVsTWFya2VyIiksZS5jb25zdW1lKGgpLGUuZXhpdCgibGFiZWxNYXJrZXIiKSxlLmV4aXQoImxhYmVsRW5kIiksYyk6cihoKX1mdW5jdGlvbiBjKGgpe3JldHVybiBoPT09NDA/ZS5hdHRlbXB0KGl6cix1LHM/dTpkKShoKTpoPT09OTE/ZS5hdHRlbXB0KG56cix1LHM/bDpkKShoKTpzP3UoaCk6ZChoKX1mdW5jdGlvbiBsKGgpe3JldHVybiBlLmF0dGVtcHQoc3pyLHUsZCkoaCl9ZnVuY3Rpb24gdShoKXtyZXR1cm4gdChoKX1mdW5jdGlvbiBkKGgpe3JldHVybiBuLl9iYWxhbmNlZD0hMCxyKGgpfX1mdW5jdGlvbiBkenIoZSx0LHIpe3JldHVybiBhO2Z1bmN0aW9uIGEoZCl7cmV0dXJuIGUuZW50ZXIoInJlc291cmNlIiksZS5lbnRlcigicmVzb3VyY2VNYXJrZXIiKSxlLmNvbnN1bWUoZCksZS5leGl0KCJyZXNvdXJjZU1hcmtlciIpLGl9ZnVuY3Rpb24gaShkKXtyZXR1cm4gWXQoZCk/dWQoZSxuKShkKTpuKGQpfWZ1bmN0aW9uIG4oZCl7cmV0dXJuIGQ9PT00MT91KGQpOnlrKGUscyxvLCJyZXNvdXJjZURlc3RpbmF0aW9uIiwicmVzb3VyY2VEZXN0aW5hdGlvbkxpdGVyYWwiLCJyZXNvdXJjZURlc3RpbmF0aW9uTGl0ZXJhbE1hcmtlciIsInJlc291cmNlRGVzdGluYXRpb25SYXciLCJyZXNvdXJjZURlc3RpbmF0aW9uU3RyaW5nIiwzMikoZCl9ZnVuY3Rpb24gcyhkKXtyZXR1cm4gWXQoZCk/dWQoZSxjKShkKTp1KGQpfWZ1bmN0aW9uIG8oZCl7cmV0dXJuIHIoZCl9ZnVuY3Rpb24gYyhkKXtyZXR1cm4gZD09PTM0fHxkPT09Mzl8fGQ9PT00MD9NayhlLGwsciwicmVzb3VyY2VUaXRsZSIsInJlc291cmNlVGl0bGVNYXJrZXIiLCJyZXNvdXJjZVRpdGxlU3RyaW5nIikoZCk6dShkKX1mdW5jdGlvbiBsKGQpe3JldHVybiBZdChkKT91ZChlLHUpKGQpOnUoZCl9ZnVuY3Rpb24gdShkKXtyZXR1cm4gZD09PTQxPyhlLmVudGVyKCJyZXNvdXJjZU1hcmtlciIpLGUuY29uc3VtZShkKSxlLmV4aXQoInJlc291cmNlTWFya2VyIiksZS5leGl0KCJyZXNvdXJjZSIpLHQpOnIoZCl9fWZ1bmN0aW9uIHV6cihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG8pe3JldHVybiB3ay5jYWxsKGEsZSxuLHMsInJlZmVyZW5jZSIsInJlZmVyZW5jZU1hcmtlciIsInJlZmVyZW5jZVN0cmluZyIpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIGEucGFyc2VyLmRlZmluZWQuaW5jbHVkZXMoRGEoYS5zbGljZVNlcmlhbGl6ZShhLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV1bMV0pLnNsaWNlKDEsLTEpKSk/dChvKTpyKG8pfWZ1bmN0aW9uIHMobyl7cmV0dXJuIHIobyl9fWZ1bmN0aW9uIHB6cihlLHQscil7cmV0dXJuIGE7ZnVuY3Rpb24gYShuKXtyZXR1cm4gZS5lbnRlcigicmVmZXJlbmNlIiksZS5lbnRlcigicmVmZXJlbmNlTWFya2VyIiksZS5jb25zdW1lKG4pLGUuZXhpdCgicmVmZXJlbmNlTWFya2VyIiksaX1mdW5jdGlvbiBpKG4pe3JldHVybiBuPT09OTM/KGUuZW50ZXIoInJlZmVyZW5jZU1hcmtlciIpLGUuY29uc3VtZShuKSxlLmV4aXQoInJlZmVyZW5jZU1hcmtlciIpLGUuZXhpdCgicmVmZXJlbmNlIiksdCk6cihuKX19dmFyIHBkLGl6cixuenIsc3pyLGtrPWYoKCk9PntVVSgpO1dVKCk7R1UoKTtZVSgpO0t0KCk7eDIoKTtOMCgpO2ptKCk7cGQ9e25hbWU6ImxhYmVsRW5kIixyZXNvbHZlQWxsOm96cixyZXNvbHZlVG86bHpyLHRva2VuaXplOmN6cn0saXpyPXt0b2tlbml6ZTpkenJ9LG56cj17dG9rZW5pemU6dXpyfSxzenI9e3Rva2VuaXplOnB6cn19KTtmdW5jdGlvbiBmenIoZSx0LHIpe2xldCBhPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShvKXtyZXR1cm4gZS5lbnRlcigibGFiZWxJbWFnZSIpLGUuZW50ZXIoImxhYmVsSW1hZ2VNYXJrZXIiKSxlLmNvbnN1bWUobyksZS5leGl0KCJsYWJlbEltYWdlTWFya2VyIiksbn1mdW5jdGlvbiBuKG8pe3JldHVybiBvPT09OTE/KGUuZW50ZXIoImxhYmVsTWFya2VyIiksZS5jb25zdW1lKG8pLGUuZXhpdCgibGFiZWxNYXJrZXIiKSxlLmV4aXQoImxhYmVsSW1hZ2UiKSxzKTpyKG8pfWZ1bmN0aW9uIHMobyl7cmV0dXJuIG89PT05NCYmIl9oaWRkZW5Gb290bm90ZVN1cHBvcnQiaW4gYS5wYXJzZXIuY29uc3RydWN0cz9yKG8pOnQobyl9fXZhciB0VyxEQ2U9ZigoKT0+e2trKCk7dFc9e25hbWU6ImxhYmVsU3RhcnRJbWFnZSIscmVzb2x2ZUFsbDpwZC5yZXNvbHZlQWxsLHRva2VuaXplOmZ6cn19KTtmdW5jdGlvbiBoenIoZSx0LHIpe2xldCBhPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShzKXtyZXR1cm4gZS5lbnRlcigibGFiZWxMaW5rIiksZS5lbnRlcigibGFiZWxNYXJrZXIiKSxlLmNvbnN1bWUocyksZS5leGl0KCJsYWJlbE1hcmtlciIpLGUuZXhpdCgibGFiZWxMaW5rIiksbn1mdW5jdGlvbiBuKHMpe3JldHVybiBzPT09OTQmJiJfaGlkZGVuRm9vdG5vdGVTdXBwb3J0ImluIGEucGFyc2VyLmNvbnN0cnVjdHM/cihzKTp0KHMpfX12YXIgclcsQUNlPWYoKCk9PntraygpO3JXPXtuYW1lOiJsYWJlbFN0YXJ0TGluayIscmVzb2x2ZUFsbDpwZC5yZXNvbHZlQWxsLHRva2VuaXplOmh6cn19KTtmdW5jdGlvbiBtenIoZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKGEpe3JldHVybiBlLmVudGVyKCJsaW5lRW5kaW5nIiksZS5jb25zdW1lKGEpLGUuZXhpdCgibGluZUVuZGluZyIpLG10KGUsdCwibGluZVByZWZpeCIpfX12YXIgWW0sRUNlPWYoKCk9PntxYSgpO0t0KCk7WW09e25hbWU6ImxpbmVFbmRpbmciLHRva2VuaXplOm16cn19KTtmdW5jdGlvbiBnenIoZSx0LHIpe2xldCBhPTAsaTtyZXR1cm4gbjtmdW5jdGlvbiBuKGwpe3JldHVybiBlLmVudGVyKCJ0aGVtYXRpY0JyZWFrIikscyhsKX1mdW5jdGlvbiBzKGwpe3JldHVybiBpPWwsbyhsKX1mdW5jdGlvbiBvKGwpe3JldHVybiBsPT09aT8oZS5lbnRlcigidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksYyhsKSk6YT49MyYmKGw9PT1udWxsfHxXZShsKSk/KGUuZXhpdCgidGhlbWF0aWNCcmVhayIpLHQobCkpOnIobCl9ZnVuY3Rpb24gYyhsKXtyZXR1cm4gbD09PWk/KGUuY29uc3VtZShsKSxhKyssYyk6KGUuZXhpdCgidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksb3QobCk/bXQoZSxvLCJ3aGl0ZXNwYWNlIikobCk6byhsKSl9fXZhciBmZCxhVz1mKCgpPT57cWEoKTtLdCgpO2ZkPXtuYW1lOiJ0aGVtYXRpY0JyZWFrIix0b2tlbml6ZTpnenJ9fSk7ZnVuY3Rpb24geHpyKGUsdCxyKXtsZXQgYT10aGlzLGk9YS5ldmVudHNbYS5ldmVudHMubGVuZ3RoLTFdLG49aSYmaVsxXS50eXBlPT09ImxpbmVQcmVmaXgiP2lbMl0uc2xpY2VTZXJpYWxpemUoaVsxXSwhMCkubGVuZ3RoOjAscz0wO3JldHVybiBvO2Z1bmN0aW9uIG8obSl7bGV0IHY9YS5jb250YWluZXJTdGF0ZS50eXBlfHwobT09PTQyfHxtPT09NDN8fG09PT00NT8ibGlzdFVub3JkZXJlZCI6Imxpc3RPcmRlcmVkIik7aWYodj09PSJsaXN0VW5vcmRlcmVkIj8hYS5jb250YWluZXJTdGF0ZS5tYXJrZXJ8fG09PT1hLmNvbnRhaW5lclN0YXRlLm1hcmtlcjpPbShtKSl7aWYoYS5jb250YWluZXJTdGF0ZS50eXBlfHwoYS5jb250YWluZXJTdGF0ZS50eXBlPXYsZS5lbnRlcih2LHtfY29udGFpbmVyOiEwfSkpLHY9PT0ibGlzdFVub3JkZXJlZCIpcmV0dXJuIGUuZW50ZXIoImxpc3RJdGVtUHJlZml4IiksbT09PTQyfHxtPT09NDU/ZS5jaGVjayhmZCxyLGwpKG0pOmwobSk7aWYoIWEuaW50ZXJydXB0fHxtPT09NDkpcmV0dXJuIGUuZW50ZXIoImxpc3RJdGVtUHJlZml4IiksZS5lbnRlcigibGlzdEl0ZW1WYWx1ZSIpLGMobSl9cmV0dXJuIHIobSl9ZnVuY3Rpb24gYyhtKXtyZXR1cm4gT20obSkmJisrczwxMD8oZS5jb25zdW1lKG0pLGMpOighYS5pbnRlcnJ1cHR8fHM8MikmJihhLmNvbnRhaW5lclN0YXRlLm1hcmtlcj9tPT09YS5jb250YWluZXJTdGF0ZS5tYXJrZXI6bT09PTQxfHxtPT09NDYpPyhlLmV4aXQoImxpc3RJdGVtVmFsdWUiKSxsKG0pKTpyKG0pfWZ1bmN0aW9uIGwobSl7cmV0dXJuIGUuZW50ZXIoImxpc3RJdGVtTWFya2VyIiksZS5jb25zdW1lKG0pLGUuZXhpdCgibGlzdEl0ZW1NYXJrZXIiKSxhLmNvbnRhaW5lclN0YXRlLm1hcmtlcj1hLmNvbnRhaW5lclN0YXRlLm1hcmtlcnx8bSxlLmNoZWNrKGsyLGEuaW50ZXJydXB0P3I6dSxlLmF0dGVtcHQoYnpyLGgsZCkpfWZ1bmN0aW9uIHUobSl7cmV0dXJuIGEuY29udGFpbmVyU3RhdGUuaW5pdGlhbEJsYW5rTGluZT0hMCxuKyssaChtKX1mdW5jdGlvbiBkKG0pe3JldHVybiBvdChtKT8oZS5lbnRlcigibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIiksZS5jb25zdW1lKG0pLGUuZXhpdCgibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIiksaCk6cihtKX1mdW5jdGlvbiBoKG0pe3JldHVybiBhLmNvbnRhaW5lclN0YXRlLnNpemU9bithLnNsaWNlU2VyaWFsaXplKGUuZXhpdCgibGlzdEl0ZW1QcmVmaXgiKSwhMCkubGVuZ3RoLHQobSl9fWZ1bmN0aW9uIHl6cihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gYS5jb250YWluZXJTdGF0ZS5fY2xvc2VGbG93PXZvaWQgMCxlLmNoZWNrKGsyLGksbik7ZnVuY3Rpb24gaShvKXtyZXR1cm4gYS5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lcz1hLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzfHxhLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmUsbXQoZSx0LCJsaXN0SXRlbUluZGVudCIsYS5jb250YWluZXJTdGF0ZS5zaXplKzEpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIGEuY29udGFpbmVyU3RhdGUuZnVydGhlckJsYW5rTGluZXN8fCFvdChvKT8oYS5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lcz12b2lkIDAsYS5jb250YWluZXJTdGF0ZS5pbml0aWFsQmxhbmtMaW5lPXZvaWQgMCxzKG8pKTooYS5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lcz12b2lkIDAsYS5jb250YWluZXJTdGF0ZS5pbml0aWFsQmxhbmtMaW5lPXZvaWQgMCxlLmF0dGVtcHQodnpyLHQscykobykpfWZ1bmN0aW9uIHMobyl7cmV0dXJuIGEuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdz0hMCxhLmludGVycnVwdD12b2lkIDAsbXQoZSxlLmF0dGVtcHQoeG4sdCxyKSwibGluZVByZWZpeCIsYS5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShvKX19ZnVuY3Rpb24gd3pyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBtdChlLGksImxpc3RJdGVtSW5kZW50IixhLmNvbnRhaW5lclN0YXRlLnNpemUrMSk7ZnVuY3Rpb24gaShuKXtsZXQgcz1hLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIHMmJnNbMV0udHlwZT09PSJsaXN0SXRlbUluZGVudCImJnNbMl0uc2xpY2VTZXJpYWxpemUoc1sxXSwhMCkubGVuZ3RoPT09YS5jb250YWluZXJTdGF0ZS5zaXplP3Qobik6cihuKX19ZnVuY3Rpb24gTXpyKGUpe2UuZXhpdCh0aGlzLmNvbnRhaW5lclN0YXRlLnR5cGUpfWZ1bmN0aW9uIGt6cihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gbXQoZSxpLCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiLGEucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NSk7ZnVuY3Rpb24gaShuKXtsZXQgcz1hLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIW90KG4pJiZzJiZzWzFdLnR5cGU9PT0ibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIj90KG4pOnIobil9fXZhciB4bixienIsdnpyLElDZT1mKCgpPT57cWEoKTtLdCgpO2hrKCk7YVcoKTt4bj17Y29udGludWF0aW9uOnt0b2tlbml6ZTp5enJ9LGV4aXQ6TXpyLG5hbWU6Imxpc3QiLHRva2VuaXplOnh6cn0sYnpyPXtwYXJ0aWFsOiEwLHRva2VuaXplOmt6cn0sdnpyPXtwYXJ0aWFsOiEwLHRva2VuaXplOnd6cn19KTtmdW5jdGlvbiBTenIoZSx0KXtsZXQgcj1lLmxlbmd0aCxhLGksbjtmb3IoO3ItLTspaWYoZVtyXVswXT09PSJlbnRlciIpe2lmKGVbcl1bMV0udHlwZT09PSJjb250ZW50Iil7YT1yO2JyZWFrfWVbcl1bMV0udHlwZT09PSJwYXJhZ3JhcGgiJiYoaT1yKX1lbHNlIGVbcl1bMV0udHlwZT09PSJjb250ZW50IiYmZS5zcGxpY2UociwxKSwhbiYmZVtyXVsxXS50eXBlPT09ImRlZmluaXRpb24iJiYobj1yKTtsZXQgcz17dHlwZToic2V0ZXh0SGVhZGluZyIsc3RhcnQ6ey4uLmVbYV1bMV0uc3RhcnR9LGVuZDp7Li4uZVtlLmxlbmd0aC0xXVsxXS5lbmR9fTtyZXR1cm4gZVtpXVsxXS50eXBlPSJzZXRleHRIZWFkaW5nVGV4dCIsbj8oZS5zcGxpY2UoaSwwLFsiZW50ZXIiLHMsdF0pLGUuc3BsaWNlKG4rMSwwLFsiZXhpdCIsZVthXVsxXSx0XSksZVthXVsxXS5lbmQ9ey4uLmVbbl1bMV0uZW5kfSk6ZVthXVsxXT1zLGUucHVzaChbImV4aXQiLHMsdF0pLGV9ZnVuY3Rpb24genpyKGUsdCxyKXtsZXQgYT10aGlzLGk7cmV0dXJuIG47ZnVuY3Rpb24gbihsKXtsZXQgdT1hLmV2ZW50cy5sZW5ndGgsZDtmb3IoO3UtLTspaWYoYS5ldmVudHNbdV1bMV0udHlwZSE9PSJsaW5lRW5kaW5nIiYmYS5ldmVudHNbdV1bMV0udHlwZSE9PSJsaW5lUHJlZml4IiYmYS5ldmVudHNbdV1bMV0udHlwZSE9PSJjb250ZW50Iil7ZD1hLmV2ZW50c1t1XVsxXS50eXBlPT09InBhcmFncmFwaCI7YnJlYWt9cmV0dXJuIWEucGFyc2VyLmxhenlbYS5ub3coKS5saW5lXSYmKGEuaW50ZXJydXB0fHxkKT8oZS5lbnRlcigic2V0ZXh0SGVhZGluZ0xpbmUiKSxpPWwscyhsKSk6cihsKX1mdW5jdGlvbiBzKGwpe3JldHVybiBlLmVudGVyKCJzZXRleHRIZWFkaW5nTGluZVNlcXVlbmNlIiksbyhsKX1mdW5jdGlvbiBvKGwpe3JldHVybiBsPT09aT8oZS5jb25zdW1lKGwpLG8pOihlLmV4aXQoInNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2UiKSxvdChsKT9tdChlLGMsImxpbmVTdWZmaXgiKShsKTpjKGwpKX1mdW5jdGlvbiBjKGwpe3JldHVybiBsPT09bnVsbHx8V2UobCk/KGUuZXhpdCgic2V0ZXh0SGVhZGluZ0xpbmUiKSx0KGwpKTpyKGwpfX12YXIgU2ssUENlPWYoKCk9PntxYSgpO0t0KCk7U2s9e25hbWU6InNldGV4dFVuZGVybGluZSIscmVzb2x2ZVRvOlN6cix0b2tlbml6ZTp6enJ9fSk7dmFyIHprPWYoKCk9PntoQ2UoKTttQ2UoKTtoaygpO2dDZSgpO2JDZSgpO3ZDZSgpO3lDZSgpO3dDZSgpO01DZSgpO2tDZSgpO1NDZSgpO3pDZSgpO0NDZSgpO0xDZSgpOyRDZSgpO2trKCk7RENlKCk7QUNlKCk7RUNlKCk7SUNlKCk7UENlKCk7YVcoKX0pO2Z1bmN0aW9uIGlXKCl7cmV0dXJue2RvY3VtZW50Ons5MTp7bmFtZToiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uIix0b2tlbml6ZTokenIsY29udGludWF0aW9uOnt0b2tlbml6ZTpEenJ9LGV4aXQ6QXpyfX0sdGV4dDp7OTE6e25hbWU6ImdmbUZvb3Rub3RlQ2FsbCIsdG9rZW5pemU6THpyfSw5Mzp7bmFtZToiZ2ZtUG90ZW50aWFsRm9vdG5vdGVDYWxsIixhZGQ6ImFmdGVyIix0b2tlbml6ZTpUenIscmVzb2x2ZVRvOl96cn19fX1mdW5jdGlvbiBUenIoZSx0LHIpe2xldCBhPXRoaXMsaT1hLmV2ZW50cy5sZW5ndGgsbj1hLnBhcnNlci5nZm1Gb290bm90ZXN8fChhLnBhcnNlci5nZm1Gb290bm90ZXM9W10pLHM7Zm9yKDtpLS07KXtsZXQgYz1hLmV2ZW50c1tpXVsxXTtpZihjLnR5cGU9PT0ibGFiZWxJbWFnZSIpe3M9YzticmVha31pZihjLnR5cGU9PT0iZ2ZtRm9vdG5vdGVDYWxsInx8Yy50eXBlPT09ImxhYmVsTGluayJ8fGMudHlwZT09PSJsYWJlbCJ8fGMudHlwZT09PSJpbWFnZSJ8fGMudHlwZT09PSJsaW5rIilicmVha31yZXR1cm4gbztmdW5jdGlvbiBvKGMpe2lmKCFzfHwhcy5fYmFsYW5jZWQpcmV0dXJuIHIoYyk7bGV0IGw9RGEoYS5zbGljZVNlcmlhbGl6ZSh7c3RhcnQ6cy5lbmQsZW5kOmEubm93KCl9KSk7cmV0dXJuIGwuY29kZVBvaW50QXQoMCkhPT05NHx8IW4uaW5jbHVkZXMobC5zbGljZSgxKSk/cihjKTooZS5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxlLmNvbnN1bWUoYyksZS5leGl0KCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLHQoYykpfX1mdW5jdGlvbiBfenIoZSx0KXtsZXQgcj1lLmxlbmd0aCxhO2Zvcig7ci0tOylpZihlW3JdWzFdLnR5cGU9PT0ibGFiZWxJbWFnZSImJmVbcl1bMF09PT0iZW50ZXIiKXthPWVbcl1bMV07YnJlYWt9ZVtyKzFdWzFdLnR5cGU9ImRhdGEiLGVbciszXVsxXS50eXBlPSJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciI7bGV0IGk9e3R5cGU6ImdmbUZvb3Rub3RlQ2FsbCIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxlW3IrM11bMV0uc3RhcnQpLGVuZDpPYmplY3QuYXNzaWduKHt9LGVbZS5sZW5ndGgtMV1bMV0uZW5kKX0sbj17dHlwZToiZ2ZtRm9vdG5vdGVDYWxsTWFya2VyIixzdGFydDpPYmplY3QuYXNzaWduKHt9LGVbciszXVsxXS5lbmQpLGVuZDpPYmplY3QuYXNzaWduKHt9LGVbciszXVsxXS5lbmQpfTtuLmVuZC5jb2x1bW4rKyxuLmVuZC5vZmZzZXQrKyxuLmVuZC5fYnVmZmVySW5kZXgrKztsZXQgcz17dHlwZToiZ2ZtRm9vdG5vdGVDYWxsU3RyaW5nIixzdGFydDpPYmplY3QuYXNzaWduKHt9LG4uZW5kKSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxlW2UubGVuZ3RoLTFdWzFdLnN0YXJ0KX0sbz17dHlwZToiY2h1bmtTdHJpbmciLGNvbnRlbnRUeXBlOiJzdHJpbmciLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30scy5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30scy5lbmQpfSxjPVtlW3IrMV0sZVtyKzJdLFsiZW50ZXIiLGksdF0sZVtyKzNdLGVbcis0XSxbImVudGVyIixuLHRdLFsiZXhpdCIsbix0XSxbImVudGVyIixzLHRdLFsiZW50ZXIiLG8sdF0sWyJleGl0IixvLHRdLFsiZXhpdCIscyx0XSxlW2UubGVuZ3RoLTJdLGVbZS5sZW5ndGgtMV0sWyJleGl0IixpLHRdXTtyZXR1cm4gZS5zcGxpY2UocixlLmxlbmd0aC1yKzEsLi4uYyksZX1mdW5jdGlvbiBMenIoZSx0LHIpe2xldCBhPXRoaXMsaT1hLnBhcnNlci5nZm1Gb290bm90ZXN8fChhLnBhcnNlci5nZm1Gb290bm90ZXM9W10pLG49MCxzO3JldHVybiBvO2Z1bmN0aW9uIG8oZCl7cmV0dXJuIGUuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbCIpLGUuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksZS5jb25zdW1lKGQpLGUuZXhpdCgiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxjfWZ1bmN0aW9uIGMoZCl7cmV0dXJuIGQhPT05ND9yKGQpOihlLmVudGVyKCJnZm1Gb290bm90ZUNhbGxNYXJrZXIiKSxlLmNvbnN1bWUoZCksZS5leGl0KCJnZm1Gb290bm90ZUNhbGxNYXJrZXIiKSxlLmVudGVyKCJnZm1Gb290bm90ZUNhbGxTdHJpbmciKSxlLmVudGVyKCJjaHVua1N0cmluZyIpLmNvbnRlbnRUeXBlPSJzdHJpbmciLGwpfWZ1bmN0aW9uIGwoZCl7aWYobj45OTl8fGQ9PT05MyYmIXN8fGQ9PT1udWxsfHxkPT09OTF8fFl0KGQpKXJldHVybiByKGQpO2lmKGQ9PT05Myl7ZS5leGl0KCJjaHVua1N0cmluZyIpO2xldCBoPWUuZXhpdCgiZ2ZtRm9vdG5vdGVDYWxsU3RyaW5nIik7cmV0dXJuIGkuaW5jbHVkZXMoRGEoYS5zbGljZVNlcmlhbGl6ZShoKSkpPyhlLmVudGVyKCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLGUuY29uc3VtZShkKSxlLmV4aXQoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksZS5leGl0KCJnZm1Gb290bm90ZUNhbGwiKSx0KTpyKGQpfXJldHVybiBZdChkKXx8KHM9ITApLG4rKyxlLmNvbnN1bWUoZCksZD09PTkyP3U6bH1mdW5jdGlvbiB1KGQpe3JldHVybiBkPT09OTF8fGQ9PT05Mnx8ZD09PTkzPyhlLmNvbnN1bWUoZCksbisrLGwpOmwoZCl9fWZ1bmN0aW9uICR6cihlLHQscil7bGV0IGE9dGhpcyxpPWEucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KGEucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbixzPTAsbztyZXR1cm4gYztmdW5jdGlvbiBjKHYpe3JldHVybiBlLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb24iKS5fY29udGFpbmVyPSEwLGUuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsIiksZS5lbnRlcigiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxNYXJrZXIiKSxlLmNvbnN1bWUodiksZS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGx9ZnVuY3Rpb24gbCh2KXtyZXR1cm4gdj09PTk0PyhlLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25NYXJrZXIiKSxlLmNvbnN1bWUodiksZS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25NYXJrZXIiKSxlLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZyIpLGUuZW50ZXIoImNodW5rU3RyaW5nIikuY29udGVudFR5cGU9InN0cmluZyIsdSk6cih2KX1mdW5jdGlvbiB1KHYpe2lmKHM+OTk5fHx2PT09OTMmJiFvfHx2PT09bnVsbHx8dj09PTkxfHxZdCh2KSlyZXR1cm4gcih2KTtpZih2PT09OTMpe2UuZXhpdCgiY2h1bmtTdHJpbmciKTtsZXQgYj1lLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nIik7cmV0dXJuIG49RGEoYS5zbGljZVNlcmlhbGl6ZShiKSksZS5lbnRlcigiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxNYXJrZXIiKSxlLmNvbnN1bWUodiksZS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGUuZXhpdCgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWwiKSxofXJldHVybiBZdCh2KXx8KG89ITApLHMrKyxlLmNvbnN1bWUodiksdj09PTkyP2Q6dX1mdW5jdGlvbiBkKHYpe3JldHVybiB2PT09OTF8fHY9PT05Mnx8dj09PTkzPyhlLmNvbnN1bWUodikscysrLHUpOnUodil9ZnVuY3Rpb24gaCh2KXtyZXR1cm4gdj09PTU4PyhlLmVudGVyKCJkZWZpbml0aW9uTWFya2VyIiksZS5jb25zdW1lKHYpLGUuZXhpdCgiZGVmaW5pdGlvbk1hcmtlciIpLGkuaW5jbHVkZXMobil8fGkucHVzaChuKSxtdChlLG0sImdmbUZvb3Rub3RlRGVmaW5pdGlvbldoaXRlc3BhY2UiKSk6cih2KX1mdW5jdGlvbiBtKHYpe3JldHVybiB0KHYpfX1mdW5jdGlvbiBEenIoZSx0LHIpe3JldHVybiBlLmNoZWNrKGsyLHQsZS5hdHRlbXB0KEN6cix0LHIpKX1mdW5jdGlvbiBBenIoZSl7ZS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb24iKX1mdW5jdGlvbiBFenIoZSx0LHIpe2xldCBhPXRoaXM7cmV0dXJuIG10KGUsaSwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uSW5kZW50Iiw1KTtmdW5jdGlvbiBpKG4pe2xldCBzPWEuZXZlbnRzW2EuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4gcyYmc1sxXS50eXBlPT09ImdmbUZvb3Rub3RlRGVmaW5pdGlvbkluZGVudCImJnNbMl0uc2xpY2VTZXJpYWxpemUoc1sxXSwhMCkubGVuZ3RoPT09ND90KG4pOnIobil9fXZhciBDenIsTkNlPWYoKCk9Pnt6aygpO3FhKCk7S3QoKTtOMCgpO0N6cj17dG9rZW5pemU6RXpyLHBhcnRpYWw6ITB9fSk7ZnVuY3Rpb24gRkNlKGUsdCl7cmV0dXJuIkJhY2sgdG8gcmVmZXJlbmNlICIrKGUrMSkrKHQ+MT8iLSIrdDoiIil9ZnVuY3Rpb24gblcoZSl7bGV0IHQ9ZXx8UHpyLHI9dC5sYWJlbHx8IkZvb3Rub3RlcyIsYT10LmxhYmVsVGFnTmFtZXx8ImgyIixpPXQubGFiZWxBdHRyaWJ1dGVzPT09bnVsbHx8dC5sYWJlbEF0dHJpYnV0ZXM9PT12b2lkIDA/J2NsYXNzPSJzci1vbmx5Iic6dC5sYWJlbEF0dHJpYnV0ZXMsbj10LmJhY2tMYWJlbHx8RkNlLHM9dC5jbG9iYmVyUHJlZml4PT09bnVsbHx8dC5jbG9iYmVyUHJlZml4PT09dm9pZCAwPyJ1c2VyLWNvbnRlbnQtIjp0LmNsb2JiZXJQcmVmaXg7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZURlZmluaXRpb24oKXt0aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKS5wdXNoKCExKX0sZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfSxnZm1Gb290bm90ZUNhbGxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfX0sZXhpdDp7Z2ZtRm9vdG5vdGVEZWZpbml0aW9uKCl7bGV0IG89dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25zIiksYz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIiksbD10aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKSx1PWMucG9wKCksZD10aGlzLnJlc3VtZSgpO298fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9ucyIsbz17fSksSXpyLmNhbGwobyx1KXx8KG9bdV09ZCksbC5wb3AoKSx0aGlzLnNldERhdGEoInNsdXJwT25lTGluZUVuZGluZyIsITApLHRoaXMuc2V0RGF0YSgibGFzdFdhc1RhZyIpfSxnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZyhvKXtsZXQgYz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIik7Y3x8dGhpcy5zZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25TdGFjayIsYz1bXSksYy5wdXNoKERhKHRoaXMuc2xpY2VTZXJpYWxpemUobykpKSx0aGlzLnJlc3VtZSgpLHRoaXMuYnVmZmVyKCl9LGdmbUZvb3Rub3RlQ2FsbFN0cmluZyhvKXtsZXQgYz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIiksbD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbENvdW50cyIpLHU9RGEodGhpcy5zbGljZVNlcmlhbGl6ZShvKSksZDt0aGlzLnJlc3VtZSgpLGN8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsT3JkZXIiLGM9W10pLGx8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsQ291bnRzIixsPXt9KTtsZXQgaD1jLmluZGV4T2YodSksbT13Mih1LnRvTG93ZXJDYXNlKCkpO2g9PT0tMT8oYy5wdXNoKHUpLGxbdV09MSxkPWMubGVuZ3RoKToobFt1XSsrLGQ9aCsxKTtsZXQgdj1sW3VdO3RoaXMudGFnKCc8c3VwPjxhIGhyZWY9IiMnK3MrImZuLSIrbSsnIiBpZD0iJytzKyJmbnJlZi0iK20rKHY+MT8iLSIrdjoiIikrJyIgZGF0YS1mb290bm90ZS1yZWY9IiIgYXJpYS1kZXNjcmliZWRieT0iZm9vdG5vdGUtbGFiZWwiPicrU3RyaW5nKGQpKyI8L2E+PC9zdXA+Iil9LG51bGwoKXtsZXQgbz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIil8fFtdLGM9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZUNhbGxDb3VudHMiKXx8e30sbD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvbnMiKXx8e30sdT0tMTtmb3Ioby5sZW5ndGg+MCYmKHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoJzxzZWN0aW9uIGRhdGEtZm9vdG5vdGVzPSIiIGNsYXNzPSJmb290bm90ZXMiPjwnK2ErJyBpZD0iZm9vdG5vdGUtbGFiZWwiJysoaT8iICIraToiIikrIj4iKSx0aGlzLnJhdyh0aGlzLmVuY29kZShyKSksdGhpcy50YWcoIjwvIithKyI+IiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPG9sPiIpKTsrK3U8by5sZW5ndGg7KXtsZXQgZD1vW3VdLGg9dzIoZC50b0xvd2VyQ2FzZSgpKSxtPTAsdj1bXTtmb3IoOysrbTw9Y1tkXTspdi5wdXNoKCc8YSBocmVmPSIjJytzKyJmbnJlZi0iK2grKG0+MT8iLSIrbToiIikrJyIgZGF0YS1mb290bm90ZS1iYWNrcmVmPSIiIGFyaWEtbGFiZWw9IicrdGhpcy5lbmNvZGUodHlwZW9mIG49PSJzdHJpbmciP246bih1LG0pKSsnIiBjbGFzcz0iZGF0YS1mb290bm90ZS1iYWNrcmVmIj5cdTIxQTknKyhtPjE/IjxzdXA+IittKyI8L3N1cD4iOiIiKSsiPC9hPiIpO2xldCBiPXYuam9pbigiICIpLGc9ITE7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygnPGxpIGlkPSInK3MrImZuLSIraCsnIj4nKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKGxbZF0ucmVwbGFjZSgvPFwvcD4oPzpccj9cbnxccik/JC8sZnVuY3Rpb24oeSl7cmV0dXJuIGc9ITAsIiAiK2IreX0pKSxnfHwodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZyhiKSksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9saT4iKX1vLmxlbmd0aD4wJiYodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9vbD4iKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3NlY3Rpb24+IikpfX19fXZhciBJenIsUHpyLE9DZT1mKCgpPT57TjAoKTtNMigpO0l6cj17fS5oYXNPd25Qcm9wZXJ0eSxQenI9e319KTt2YXIgUkNlPWYoKCk9PntOQ2UoKTtPQ2UoKX0pO2Z1bmN0aW9uIHNXKCl7cmV0dXJue2VudGVyOntzdHJpa2V0aHJvdWdoKCl7dGhpcy50YWcoIjxkZWw+Iil9fSxleGl0OntzdHJpa2V0aHJvdWdoKCl7dGhpcy50YWcoIjwvZGVsPiIpfX19fXZhciBCQ2U9ZigoKT0+e30pO2Z1bmN0aW9uIG9XKGUpe2xldCByPShlfHx7fSkuc2luZ2xlVGlsZGUsYT17bmFtZToic3RyaWtldGhyb3VnaCIsdG9rZW5pemU6bixyZXNvbHZlQWxsOml9O3JldHVybiByPT1udWxsJiYocj0hMCkse3RleHQ6ezEyNjphfSxpbnNpZGVTcGFuOntudWxsOlthXX0sYXR0ZW50aW9uTWFya2Vyczp7bnVsbDpbMTI2XX19O2Z1bmN0aW9uIGkocyxvKXtsZXQgYz0tMTtmb3IoOysrYzxzLmxlbmd0aDspaWYoc1tjXVswXT09PSJlbnRlciImJnNbY11bMV0udHlwZT09PSJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiJiZzW2NdWzFdLl9jbG9zZSl7bGV0IGw9Yztmb3IoO2wtLTspaWYoc1tsXVswXT09PSJleGl0IiYmc1tsXVsxXS50eXBlPT09InN0cmlrZXRocm91Z2hTZXF1ZW5jZVRlbXBvcmFyeSImJnNbbF1bMV0uX29wZW4mJnNbY11bMV0uZW5kLm9mZnNldC1zW2NdWzFdLnN0YXJ0Lm9mZnNldD09PXNbbF1bMV0uZW5kLm9mZnNldC1zW2xdWzFdLnN0YXJ0Lm9mZnNldCl7c1tjXVsxXS50eXBlPSJzdHJpa2V0aHJvdWdoU2VxdWVuY2UiLHNbbF1bMV0udHlwZT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlIjtsZXQgdT17dHlwZToic3RyaWtldGhyb3VnaCIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxzW2xdWzFdLnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxzW2NdWzFdLmVuZCl9LGQ9e3R5cGU6InN0cmlrZXRocm91Z2hUZXh0IixzdGFydDpPYmplY3QuYXNzaWduKHt9LHNbbF1bMV0uZW5kKSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxzW2NdWzFdLnN0YXJ0KX0saD1bWyJlbnRlciIsdSxvXSxbImVudGVyIixzW2xdWzFdLG9dLFsiZXhpdCIsc1tsXVsxXSxvXSxbImVudGVyIixkLG9dXSxtPW8ucGFyc2VyLmNvbnN0cnVjdHMuaW5zaWRlU3Bhbi5udWxsO20mJkhhKGgsaC5sZW5ndGgsMCxPMChtLHMuc2xpY2UobCsxLGMpLG8pKSxIYShoLGgubGVuZ3RoLDAsW1siZXhpdCIsZCxvXSxbImVudGVyIixzW2NdWzFdLG9dLFsiZXhpdCIsc1tjXVsxXSxvXSxbImV4aXQiLHUsb11dKSxIYShzLGwtMSxjLWwrMyxoKSxjPWwraC5sZW5ndGgtMjticmVha319Zm9yKGM9LTE7KytjPHMubGVuZ3RoOylzW2NdWzFdLnR5cGU9PT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IiYmKHNbY11bMV0udHlwZT0iZGF0YSIpO3JldHVybiBzfWZ1bmN0aW9uIG4ocyxvLGMpe2xldCBsPXRoaXMucHJldmlvdXMsdT10aGlzLmV2ZW50cyxkPTA7cmV0dXJuIGg7ZnVuY3Rpb24gaCh2KXtyZXR1cm4gbD09PTEyNiYmdVt1Lmxlbmd0aC0xXVsxXS50eXBlIT09ImNoYXJhY3RlckVzY2FwZSI/Yyh2KToocy5lbnRlcigic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IiksbSh2KSl9ZnVuY3Rpb24gbSh2KXtsZXQgYj1CbChsKTtpZih2PT09MTI2KXJldHVybiBkPjE/Yyh2KToocy5jb25zdW1lKHYpLGQrKyxtKTtpZihkPDImJiFyKXJldHVybiBjKHYpO2xldCBnPXMuZXhpdCgic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IikseT1CbCh2KTtyZXR1cm4gZy5fb3Blbj0heXx8eT09PTImJiEhYixnLl9jbG9zZT0hYnx8Yj09PTImJiEheSxvKHYpfX19dmFyIEhDZT1mKCgpPT57eDIoKTtyaygpO2ptKCl9KTt2YXIgcUNlPWYoKCk9PntCQ2UoKTtIQ2UoKX0pO2Z1bmN0aW9uIGNXKCl7cmV0dXJue2VudGVyOnt0YWJsZShlKXtsZXQgdD1lLl9hbGlnbjt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGFibGU+IiksdGhpcy5zZXREYXRhKCJ0YWJsZUFsaWduIix0KX0sdGFibGVCb2R5KCl7dGhpcy50YWcoIjx0Ym9keT4iKX0sdGFibGVEYXRhKCl7bGV0IGU9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksdD10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIikscj1sV1tlW3RdXTtyPT09dm9pZCAwP3RoaXMuYnVmZmVyKCk6KHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjx0ZCIrcisiPiIpKX0sdGFibGVIZWFkKCl7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRoZWFkPiIpfSx0YWJsZUhlYWRlcigpe2xldCBlPXRoaXMuZ2V0RGF0YSgidGFibGVBbGlnbiIpLHQ9dGhpcy5nZXREYXRhKCJ0YWJsZUNvbHVtbiIpLHI9bFdbZVt0XV07dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRoIityKyI+Iil9LHRhYmxlUm93KCl7dGhpcy5zZXREYXRhKCJ0YWJsZUNvbHVtbiIsMCksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRyPiIpfX0sZXhpdDp7Y29kZVRleHREYXRhKGUpe2xldCB0PXRoaXMuc2xpY2VTZXJpYWxpemUoZSk7dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIikmJih0PXQucmVwbGFjZSgvXFwoW1xcfF0pL2csTnpyKSksdGhpcy5yYXcodGhpcy5lbmNvZGUodCkpfSx0YWJsZSgpe3RoaXMuc2V0RGF0YSgidGFibGVBbGlnbiIpLHRoaXMuc2V0RGF0YSgic2x1cnBBbGxMaW5lRW5kaW5ncyIpLHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjwvdGFibGU+Iil9LHRhYmxlQm9keSgpe3RoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjwvdGJvZHk+Iil9LHRhYmxlRGF0YSgpe2xldCBlPXRoaXMuZ2V0RGF0YSgidGFibGVBbGlnbiIpLHQ9dGhpcy5nZXREYXRhKCJ0YWJsZUNvbHVtbiIpO3QgaW4gZT8odGhpcy50YWcoIjwvdGQ+IiksdGhpcy5zZXREYXRhKCJ0YWJsZUNvbHVtbiIsdCsxKSk6dGhpcy5yZXN1bWUoKX0sdGFibGVIZWFkKCl7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90aGVhZD4iKX0sdGFibGVIZWFkZXIoKXtsZXQgZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIik7dGhpcy50YWcoIjwvdGg+IiksdGhpcy5zZXREYXRhKCJ0YWJsZUNvbHVtbiIsZSsxKX0sdGFibGVSb3coKXtsZXQgZT10aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSx0PXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKTtmb3IoO3Q8ZS5sZW5ndGg7KXRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjx0ZCIrbFdbZVt0XV0rIj48L3RkPiIpLHQrKzt0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIix0KSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3RyPiIpfX19fWZ1bmN0aW9uIE56cihlLHQpe3JldHVybiB0PT09InwiP3Q6ZX12YXIgbFcsakNlPWYoKCk9PntsVz17bm9uZToiIixsZWZ0OicgYWxpZ249ImxlZnQiJyxyaWdodDonIGFsaWduPSJyaWdodCInLGNlbnRlcjonIGFsaWduPSJjZW50ZXIiJ319KTtmdW5jdGlvbiBGenIoZSx0LHIsYSl7bGV0IGk9MDtpZighKHI9PT0wJiZhLmxlbmd0aD09PTApKXtmb3IoO2k8ZS5tYXAubGVuZ3RoOyl7aWYoZS5tYXBbaV1bMF09PT10KXtlLm1hcFtpXVsxXSs9cixlLm1hcFtpXVsyXS5wdXNoKC4uLmEpO3JldHVybn1pKz0xfWUubWFwLnB1c2goW3QscixhXSl9fXZhciBDayxWQ2U9ZigoKT0+e0NrPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9W119YWRkKHQscixhKXtGenIodGhpcyx0LHIsYSl9Y29uc3VtZSh0KXtpZih0aGlzLm1hcC5zb3J0KGZ1bmN0aW9uKG4scyl7cmV0dXJuIG5bMF0tc1swXX0pLHRoaXMubWFwLmxlbmd0aD09PTApcmV0dXJuO2xldCByPXRoaXMubWFwLmxlbmd0aCxhPVtdO2Zvcig7cj4wOylyLT0xLGEucHVzaCh0LnNsaWNlKHRoaXMubWFwW3JdWzBdK3RoaXMubWFwW3JdWzFdKSx0aGlzLm1hcFtyXVsyXSksdC5sZW5ndGg9dGhpcy5tYXBbcl1bMF07YS5wdXNoKHQuc2xpY2UoKSksdC5sZW5ndGg9MDtsZXQgaT1hLnBvcCgpO2Zvcig7aTspe2ZvcihsZXQgbiBvZiBpKXQucHVzaChuKTtpPWEucG9wKCl9dGhpcy5tYXAubGVuZ3RoPTB9fX0pO2Z1bmN0aW9uIFVDZShlLHQpe2xldCByPSExLGE9W107Zm9yKDt0PGUubGVuZ3RoOyl7bGV0IGk9ZVt0XTtpZihyKXtpZihpWzBdPT09ImVudGVyIilpWzFdLnR5cGU9PT0idGFibGVDb250ZW50IiYmYS5wdXNoKGVbdCsxXVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyTWFya2VyIj8ibGVmdCI6Im5vbmUiKTtlbHNlIGlmKGlbMV0udHlwZT09PSJ0YWJsZUNvbnRlbnQiKXtpZihlW3QtMV1bMV0udHlwZT09PSJ0YWJsZURlbGltaXRlck1hcmtlciIpe2xldCBuPWEubGVuZ3RoLTE7YVtuXT1hW25dPT09ImxlZnQiPyJjZW50ZXIiOiJyaWdodCJ9fWVsc2UgaWYoaVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93IilicmVha31lbHNlIGlbMF09PT0iZW50ZXIiJiZpWzFdLnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciJiYocj0hMCk7dCs9MX1yZXR1cm4gYX12YXIgV0NlPWYoKCk9Pnt9KTtmdW5jdGlvbiBkVygpe3JldHVybntmbG93OntudWxsOntuYW1lOiJ0YWJsZSIsdG9rZW5pemU6T3pyLHJlc29sdmVBbGw6UnpyfX19fWZ1bmN0aW9uIE96cihlLHQscil7bGV0IGE9dGhpcyxpPTAsbj0wLHM7cmV0dXJuIG87ZnVuY3Rpb24gbyhxKXtsZXQgXz1hLmV2ZW50cy5sZW5ndGgtMTtmb3IoO18+LTE7KXtsZXQgVD1hLmV2ZW50c1tfXVsxXS50eXBlO2lmKFQ9PT0ibGluZUVuZGluZyJ8fFQ9PT0ibGluZVByZWZpeCIpXy0tO2Vsc2UgYnJlYWt9bGV0IHo9Xz4tMT9hLmV2ZW50c1tfXVsxXS50eXBlOm51bGwsRT16PT09InRhYmxlSGVhZCJ8fHo9PT0idGFibGVSb3ciP1M6YztyZXR1cm4gRT09PVMmJmEucGFyc2VyLmxhenlbYS5ub3coKS5saW5lXT9yKHEpOkUocSl9ZnVuY3Rpb24gYyhxKXtyZXR1cm4gZS5lbnRlcigidGFibGVIZWFkIiksZS5lbnRlcigidGFibGVSb3ciKSxsKHEpfWZ1bmN0aW9uIGwocSl7cmV0dXJuIHE9PT0xMjR8fChzPSEwLG4rPTEpLHUocSl9ZnVuY3Rpb24gdShxKXtyZXR1cm4gcT09PW51bGw/cihxKTpXZShxKT9uPjE/KG49MCxhLmludGVycnVwdD0hMCxlLmV4aXQoInRhYmxlUm93IiksZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShxKSxlLmV4aXQoImxpbmVFbmRpbmciKSxtKTpyKHEpOm90KHEpP210KGUsdSwid2hpdGVzcGFjZSIpKHEpOihuKz0xLHMmJihzPSExLGkrPTEpLHE9PT0xMjQ/KGUuZW50ZXIoInRhYmxlQ2VsbERpdmlkZXIiKSxlLmNvbnN1bWUocSksZS5leGl0KCJ0YWJsZUNlbGxEaXZpZGVyIikscz0hMCx1KTooZS5lbnRlcigiZGF0YSIpLGQocSkpKX1mdW5jdGlvbiBkKHEpe3JldHVybiBxPT09bnVsbHx8cT09PTEyNHx8WXQocSk/KGUuZXhpdCgiZGF0YSIpLHUocSkpOihlLmNvbnN1bWUocSkscT09PTkyP2g6ZCl9ZnVuY3Rpb24gaChxKXtyZXR1cm4gcT09PTkyfHxxPT09MTI0PyhlLmNvbnN1bWUocSksZCk6ZChxKX1mdW5jdGlvbiBtKHEpe3JldHVybiBhLmludGVycnVwdD0hMSxhLnBhcnNlci5sYXp5W2Eubm93KCkubGluZV0/cihxKTooZS5lbnRlcigidGFibGVEZWxpbWl0ZXJSb3ciKSxzPSExLG90KHEpP210KGUsdiwibGluZVByZWZpeCIsYS5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShxKTp2KHEpKX1mdW5jdGlvbiB2KHEpe3JldHVybiBxPT09NDV8fHE9PT01OD9nKHEpOnE9PT0xMjQ/KHM9ITAsZS5lbnRlcigidGFibGVDZWxsRGl2aWRlciIpLGUuY29uc3VtZShxKSxlLmV4aXQoInRhYmxlQ2VsbERpdmlkZXIiKSxiKTpDKHEpfWZ1bmN0aW9uIGIocSl7cmV0dXJuIG90KHEpP210KGUsZywid2hpdGVzcGFjZSIpKHEpOmcocSl9ZnVuY3Rpb24gZyhxKXtyZXR1cm4gcT09PTU4PyhuKz0xLHM9ITAsZS5lbnRlcigidGFibGVEZWxpbWl0ZXJNYXJrZXIiKSxlLmNvbnN1bWUocSksZS5leGl0KCJ0YWJsZURlbGltaXRlck1hcmtlciIpLHkpOnE9PT00NT8obis9MSx5KHEpKTpxPT09bnVsbHx8V2UocSk/UihxKTpDKHEpfWZ1bmN0aW9uIHkocSl7cmV0dXJuIHE9PT00NT8oZS5lbnRlcigidGFibGVEZWxpbWl0ZXJGaWxsZXIiKSx3KHEpKTpDKHEpfWZ1bmN0aW9uIHcocSl7cmV0dXJuIHE9PT00NT8oZS5jb25zdW1lKHEpLHcpOnE9PT01OD8ocz0hMCxlLmV4aXQoInRhYmxlRGVsaW1pdGVyRmlsbGVyIiksZS5lbnRlcigidGFibGVEZWxpbWl0ZXJNYXJrZXIiKSxlLmNvbnN1bWUocSksZS5leGl0KCJ0YWJsZURlbGltaXRlck1hcmtlciIpLGspOihlLmV4aXQoInRhYmxlRGVsaW1pdGVyRmlsbGVyIiksayhxKSl9ZnVuY3Rpb24gayhxKXtyZXR1cm4gb3QocSk/bXQoZSxSLCJ3aGl0ZXNwYWNlIikocSk6UihxKX1mdW5jdGlvbiBSKHEpe3JldHVybiBxPT09MTI0P3YocSk6cT09PW51bGx8fFdlKHEpPyFzfHxpIT09bj9DKHEpOihlLmV4aXQoInRhYmxlRGVsaW1pdGVyUm93IiksZS5leGl0KCJ0YWJsZUhlYWQiKSx0KHEpKTpDKHEpfWZ1bmN0aW9uIEMocSl7cmV0dXJuIHIocSl9ZnVuY3Rpb24gUyhxKXtyZXR1cm4gZS5lbnRlcigidGFibGVSb3ciKSxPKHEpfWZ1bmN0aW9uIE8ocSl7cmV0dXJuIHE9PT0xMjQ/KGUuZW50ZXIoInRhYmxlQ2VsbERpdmlkZXIiKSxlLmNvbnN1bWUocSksZS5leGl0KCJ0YWJsZUNlbGxEaXZpZGVyIiksTyk6cT09PW51bGx8fFdlKHEpPyhlLmV4aXQoInRhYmxlUm93IiksdChxKSk6b3QocSk/bXQoZSxPLCJ3aGl0ZXNwYWNlIikocSk6KGUuZW50ZXIoImRhdGEiKSxEKHEpKX1mdW5jdGlvbiBEKHEpe3JldHVybiBxPT09bnVsbHx8cT09PTEyNHx8WXQocSk/KGUuZXhpdCgiZGF0YSIpLE8ocSkpOihlLmNvbnN1bWUocSkscT09PTkyP046RCl9ZnVuY3Rpb24gTihxKXtyZXR1cm4gcT09PTkyfHxxPT09MTI0PyhlLmNvbnN1bWUocSksRCk6RChxKX19ZnVuY3Rpb24gUnpyKGUsdCl7bGV0IHI9LTEsYT0hMCxpPTAsbj1bMCwwLDAsMF0scz1bMCwwLDAsMF0sbz0hMSxjPTAsbCx1LGQsaD1uZXcgQ2s7Zm9yKDsrK3I8ZS5sZW5ndGg7KXtsZXQgbT1lW3JdLHY9bVsxXTttWzBdPT09ImVudGVyIj92LnR5cGU9PT0idGFibGVIZWFkIj8obz0hMSxjIT09MCYmKEdDZShoLHQsYyxsLHUpLHU9dm9pZCAwLGM9MCksbD17dHlwZToidGFibGUiLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sdi5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sdi5lbmQpfSxoLmFkZChyLDAsW1siZW50ZXIiLGwsdF1dKSk6di50eXBlPT09InRhYmxlUm93Inx8di50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93Ij8oYT0hMCxkPXZvaWQgMCxuPVswLDAsMCwwXSxzPVswLHIrMSwwLDBdLG8mJihvPSExLHU9e3R5cGU6InRhYmxlQm9keSIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSx2LnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSx2LmVuZCl9LGguYWRkKHIsMCxbWyJlbnRlciIsdSx0XV0pKSxpPXYudHlwZT09PSJ0YWJsZURlbGltaXRlclJvdyI/Mjp1PzM6MSk6aSYmKHYudHlwZT09PSJkYXRhInx8di50eXBlPT09InRhYmxlRGVsaW1pdGVyTWFya2VyInx8di50eXBlPT09InRhYmxlRGVsaW1pdGVyRmlsbGVyIik/KGE9ITEsc1syXT09PTAmJihuWzFdIT09MCYmKHNbMF09c1sxXSxkPVRrKGgsdCxuLGksdm9pZCAwLGQpLG49WzAsMCwwLDBdKSxzWzJdPXIpKTp2LnR5cGU9PT0idGFibGVDZWxsRGl2aWRlciImJihhP2E9ITE6KG5bMV0hPT0wJiYoc1swXT1zWzFdLGQ9VGsoaCx0LG4saSx2b2lkIDAsZCkpLG49cyxzPVtuWzFdLHIsMCwwXSkpOnYudHlwZT09PSJ0YWJsZUhlYWQiPyhvPSEwLGM9cik6di50eXBlPT09InRhYmxlUm93Inx8di50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93Ij8oYz1yLG5bMV0hPT0wPyhzWzBdPXNbMV0sZD1UayhoLHQsbixpLHIsZCkpOnNbMV0hPT0wJiYoZD1UayhoLHQscyxpLHIsZCkpLGk9MCk6aSYmKHYudHlwZT09PSJkYXRhInx8di50eXBlPT09InRhYmxlRGVsaW1pdGVyTWFya2VyInx8di50eXBlPT09InRhYmxlRGVsaW1pdGVyRmlsbGVyIikmJihzWzNdPXIpfWZvcihjIT09MCYmR0NlKGgsdCxjLGwsdSksaC5jb25zdW1lKHQuZXZlbnRzKSxyPS0xOysrcjx0LmV2ZW50cy5sZW5ndGg7KXtsZXQgbT10LmV2ZW50c1tyXTttWzBdPT09ImVudGVyIiYmbVsxXS50eXBlPT09InRhYmxlIiYmKG1bMV0uX2FsaWduPVVDZSh0LmV2ZW50cyxyKSl9cmV0dXJuIGV9ZnVuY3Rpb24gVGsoZSx0LHIsYSxpLG4pe2xldCBzPWE9PT0xPyJ0YWJsZUhlYWRlciI6YT09PTI/InRhYmxlRGVsaW1pdGVyIjoidGFibGVEYXRhIixvPSJ0YWJsZUNvbnRlbnQiO3JbMF0hPT0wJiYobi5lbmQ9T2JqZWN0LmFzc2lnbih7fSxHNSh0LmV2ZW50cyxyWzBdKSksZS5hZGQoclswXSwwLFtbImV4aXQiLG4sdF1dKSk7bGV0IGM9RzUodC5ldmVudHMsclsxXSk7aWYobj17dHlwZTpzLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sYyksZW5kOk9iamVjdC5hc3NpZ24oe30sYyl9LGUuYWRkKHJbMV0sMCxbWyJlbnRlciIsbix0XV0pLHJbMl0hPT0wKXtsZXQgbD1HNSh0LmV2ZW50cyxyWzJdKSx1PUc1KHQuZXZlbnRzLHJbM10pLGQ9e3R5cGU6byxzdGFydDpPYmplY3QuYXNzaWduKHt9LGwpLGVuZDpPYmplY3QuYXNzaWduKHt9LHUpfTtpZihlLmFkZChyWzJdLDAsW1siZW50ZXIiLGQsdF1dKSxhIT09Mil7bGV0IGg9dC5ldmVudHNbclsyXV0sbT10LmV2ZW50c1tyWzNdXTtpZihoWzFdLmVuZD1PYmplY3QuYXNzaWduKHt9LG1bMV0uZW5kKSxoWzFdLnR5cGU9ImNodW5rVGV4dCIsaFsxXS5jb250ZW50VHlwZT0idGV4dCIsclszXT5yWzJdKzEpe2xldCB2PXJbMl0rMSxiPXJbM10tclsyXS0xO2UuYWRkKHYsYixbXSl9fWUuYWRkKHJbM10rMSwwLFtbImV4aXQiLGQsdF1dKX1yZXR1cm4gaSE9PXZvaWQgMCYmKG4uZW5kPU9iamVjdC5hc3NpZ24oe30sRzUodC5ldmVudHMsaSkpLGUuYWRkKGksMCxbWyJleGl0IixuLHRdXSksbj12b2lkIDApLG59ZnVuY3Rpb24gR0NlKGUsdCxyLGEsaSl7bGV0IG49W10scz1HNSh0LmV2ZW50cyxyKTtpJiYoaS5lbmQ9T2JqZWN0LmFzc2lnbih7fSxzKSxuLnB1c2goWyJleGl0IixpLHRdKSksYS5lbmQ9T2JqZWN0LmFzc2lnbih7fSxzKSxuLnB1c2goWyJleGl0IixhLHRdKSxlLmFkZChyKzEsMCxuKX1mdW5jdGlvbiBHNShlLHQpe2xldCByPWVbdF0sYT1yWzBdPT09ImVudGVyIj8ic3RhcnQiOiJlbmQiO3JldHVybiByWzFdW2FdfXZhciBZQ2U9ZigoKT0+e3FhKCk7S3QoKTtWQ2UoKTtXQ2UoKX0pO3ZhciBaQ2U9ZigoKT0+e2pDZSgpO1lDZSgpfSk7ZnVuY3Rpb24gdVcoKXtyZXR1cm57ZXhpdDp7aHRtbEZsb3dEYXRhKGUpe1FDZS5jYWxsKHRoaXMsZSxYQ2UpfSxodG1sVGV4dERhdGEoZSl7UUNlLmNhbGwodGhpcyxlLEJ6cil9fX19ZnVuY3Rpb24gUUNlKGUsdCl7bGV0IHI9dGhpcy5zbGljZVNlcmlhbGl6ZShlKTt0aGlzLm9wdGlvbnMuYWxsb3dEYW5nZXJvdXNIdG1sJiYocj1yLnJlcGxhY2UodCwiJmx0OyQxJDIiKSksdGhpcy5yYXcodGhpcy5lbmNvZGUocikpfXZhciBYQ2UsQnpyLEpDZT1mKCgpPT57WENlPS88KFwvPykoaWZyYW1lfG5vZW1iZWR8bm9mcmFtZXN8cGxhaW50ZXh0fHNjcmlwdHxzdHlsZXx0aXRsZXx0ZXh0YXJlYXx4bXApKD89W1x0XG5cZlxyIC8+XSkvZ2ksQnpyPW5ldyBSZWdFeHAoIl4iK1hDZS5zb3VyY2UsImkiKX0pO3ZhciBLQ2U9ZigoKT0+e0pDZSgpfSk7ZnVuY3Rpb24gcFcoKXtyZXR1cm57ZW50ZXI6e3Rhc2tMaXN0Q2hlY2soKXt0aGlzLnRhZygnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBkaXNhYmxlZD0iIiAnKX19LGV4aXQ6e3Rhc2tMaXN0Q2hlY2soKXt0aGlzLnRhZygiLz4iKX0sdGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCgpe3RoaXMudGFnKCdjaGVja2VkPSIiICcpfX19fXZhciBlVGU9ZigoKT0+e30pO2Z1bmN0aW9uIGZXKCl7cmV0dXJue3RleHQ6ezkxOkh6cn19fWZ1bmN0aW9uIHF6cihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKGMpe3JldHVybiBhLnByZXZpb3VzIT09bnVsbHx8IWEuX2dmbVRhc2tsaXN0Rmlyc3RDb250ZW50T2ZMaXN0SXRlbT9yKGMpOihlLmVudGVyKCJ0YXNrTGlzdENoZWNrIiksZS5lbnRlcigidGFza0xpc3RDaGVja01hcmtlciIpLGUuY29uc3VtZShjKSxlLmV4aXQoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSxuKX1mdW5jdGlvbiBuKGMpe3JldHVybiBZdChjKT8oZS5lbnRlcigidGFza0xpc3RDaGVja1ZhbHVlVW5jaGVja2VkIiksZS5jb25zdW1lKGMpLGUuZXhpdCgidGFza0xpc3RDaGVja1ZhbHVlVW5jaGVja2VkIikscyk6Yz09PTg4fHxjPT09MTIwPyhlLmVudGVyKCJ0YXNrTGlzdENoZWNrVmFsdWVDaGVja2VkIiksZS5jb25zdW1lKGMpLGUuZXhpdCgidGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCIpLHMpOnIoYyl9ZnVuY3Rpb24gcyhjKXtyZXR1cm4gYz09PTkzPyhlLmVudGVyKCJ0YXNrTGlzdENoZWNrTWFya2VyIiksZS5jb25zdW1lKGMpLGUuZXhpdCgidGFza0xpc3RDaGVja01hcmtlciIpLGUuZXhpdCgidGFza0xpc3RDaGVjayIpLG8pOnIoYyl9ZnVuY3Rpb24gbyhjKXtyZXR1cm4gV2UoYyk/dChjKTpvdChjKT9lLmNoZWNrKHt0b2tlbml6ZTpqenJ9LHQscikoYyk6cihjKX19ZnVuY3Rpb24ganpyKGUsdCxyKXtyZXR1cm4gbXQoZSxhLCJ3aGl0ZXNwYWNlIik7ZnVuY3Rpb24gYShpKXtyZXR1cm4gaT09PW51bGw/cihpKTp0KGkpfX12YXIgSHpyLHRUZT1mKCgpPT57cWEoKTtLdCgpO0h6cj17bmFtZToidGFza2xpc3RDaGVjayIsdG9rZW5pemU6cXpyfX0pO3ZhciByVGU9ZigoKT0+e2VUZSgpO3RUZSgpfSk7ZnVuY3Rpb24gYVRlKGUpe3JldHVybiBkayhbTlUoKSxpVygpLG9XKGUpLGRXKCksZlcoKV0pfWZ1bmN0aW9uIHpqYShlKXtyZXR1cm4gdWsoW1JVKCksblcoZSksc1coKSxjVygpLHVXKCkscFcoKV0pfXZhciBpVGU9ZigoKT0+e3BrKCk7cENlKCk7UkNlKCk7cUNlKCk7WkNlKCk7S0NlKCk7clRlKCl9KTtmdW5jdGlvbiBZNShlKXtsZXQgdD10aGlzLHI9ZXx8VnpyLGE9dC5kYXRhKCksaT1hLm1pY3JvbWFya0V4dGVuc2lvbnN8fChhLm1pY3JvbWFya0V4dGVuc2lvbnM9W10pLG49YS5mcm9tTWFya2Rvd25FeHRlbnNpb25zfHwoYS5mcm9tTWFya2Rvd25FeHRlbnNpb25zPVtdKSxzPWEudG9NYXJrZG93bkV4dGVuc2lvbnN8fChhLnRvTWFya2Rvd25FeHRlbnNpb25zPVtdKTtpLnB1c2goYVRlKHIpKSxuLnB1c2goRFUoKSkscy5wdXNoKEFVKHIpKX12YXIgVnpyLG5UZT1mKCgpPT57dENlKCk7aVRlKCk7VnpyPXt9fSk7dmFyIHNUZT1mKCgpPT57blRlKCl9KTtmdW5jdGlvbiBoVyhlKXtsZXQgdD1lfHx7fSxyPSEwLGE9e30saT1bW11dLG49W10scz1bXSxjPXVrKFt7ZW50ZXI6e2Jsb2NrUXVvdGU6TCxjb2RlRmVuY2VkOkssY29kZUZlbmNlZEZlbmNlSW5mbzpnLGNvZGVGZW5jZWRGZW5jZU1ldGE6Zyxjb2RlSW5kZW50ZWQ6TWUsY29kZVRleHQ6b2UsY29udGVudDpDZSxkZWZpbml0aW9uOkxlLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpXLGRlZmluaXRpb25MYWJlbFN0cmluZzpnLGRlZmluaXRpb25UaXRsZVN0cmluZzpnLGVtcGhhc2lzOiR0LGh0bWxGbG93OlVlLGh0bWxUZXh0OnJ0LGltYWdlOmxlLGxhYmVsOmcsbGluazpTZSxsaXN0SXRlbU1hcmtlcjpfLGxpc3RJdGVtVmFsdWU6cSxsaXN0T3JkZXJlZDpELGxpc3RVbm9yZGVyZWQ6TixwYXJhZ3JhcGg6QixyZWZlcmVuY2U6ZyxyZXNvdXJjZTpqLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6SCxyZXNvdXJjZVRpdGxlU3RyaW5nOmcsc2V0ZXh0SGVhZGluZzpuZSxzdHJvbmc6VXR9LGV4aXQ6e2F0eEhlYWRpbmc6SWUsYXR4SGVhZGluZ1NlcXVlbmNlOmJlLGF1dG9saW5rRW1haWw6SnMsYXV0b2xpbmtQcm90b2NvbDpRcyxibG9ja1F1b3RlOlYsY2hhcmFjdGVyRXNjYXBlVmFsdWU6WCxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJIZXhhZGVjaW1hbDpacixjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljOlpyLGNoYXJhY3RlclJlZmVyZW5jZVZhbHVlOmgxLGNvZGVGZW5jZWQ6UCxjb2RlRmVuY2VkRmVuY2U6dmUsY29kZUZlbmNlZEZlbmNlSW5mbzpJLGNvZGVGZW5jZWRGZW5jZU1ldGE6Tyxjb2RlRmxvd1ZhbHVlOnhlLGNvZGVJbmRlbnRlZDpQLGNvZGVUZXh0OmNlLGNvZGVUZXh0RGF0YTpYLGRhdGE6WCxkZWZpbml0aW9uOm1lLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzphZSxkZWZpbml0aW9uTGFiZWxTdHJpbmc6RyxkZWZpbml0aW9uVGl0bGVTdHJpbmc6eWUsZW1waGFzaXM6X2UsaGFyZEJyZWFrRXNjYXBlOkFlLGhhcmRCcmVha1RyYWlsaW5nOkFlLGh0bWxGbG93Omt0LGh0bWxGbG93RGF0YTpYLGh0bWxUZXh0Omt0LGh0bWxUZXh0RGF0YTpYLGltYWdlOndlLGxhYmVsOkEsbGFiZWxUZXh0OlosbGluZUVuZGluZzplZSxsaW5rOndlLGxpc3RPcmRlcmVkOnosbGlzdFVub3JkZXJlZDpFLHBhcmFncmFwaDpVLHJlZmVyZW5jZTpPLHJlZmVyZW5jZVN0cmluZzokLHJlc291cmNlOk8scmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZzpZLHJlc291cmNlVGl0bGVTdHJpbmc6ZGUsc2V0ZXh0SGVhZGluZzp0ZSxzZXRleHRIZWFkaW5nTGluZVNlcXVlbmNlOlplLHNldGV4dEhlYWRpbmdUZXh0OnplLHN0cm9uZzp2dCx0aGVtYXRpY0JyZWFrOnp0fX0sLi4udC5odG1sRXh0ZW5zaW9uc3x8W11dKSxsPXtkZWZpbml0aW9uczphLHRpZ2h0U3RhY2s6c30sdT17YnVmZmVyOmcsZW5jb2RlOlMsZ2V0RGF0YTpiLGxpbmVFbmRpbmdJZk5lZWRlZDpDLG9wdGlvbnM6dCxyYXc6ayxyZXN1bWU6eSxzZXREYXRhOnYsdGFnOnd9LGQ9dC5kZWZhdWx0TGluZUVuZGluZztyZXR1cm4gaDtmdW5jdGlvbiBoKGtlKXtsZXQgRWU9LTEsQnQ9MCxPcj1bXSxRcj1bXSxsYT1bXTtmb3IoOysrRWU8a2UubGVuZ3RoOykhZCYmKGtlW0VlXVsxXS50eXBlPT09ImxpbmVFbmRpbmcifHxrZVtFZV1bMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKSYmKGQ9a2VbRWVdWzJdLnNsaWNlU2VyaWFsaXplKGtlW0VlXVsxXSkpLChrZVtFZV1bMV0udHlwZT09PSJsaXN0T3JkZXJlZCJ8fGtlW0VlXVsxXS50eXBlPT09Imxpc3RVbm9yZGVyZWQiKSYmKGtlW0VlXVswXT09PSJlbnRlciI/T3IucHVzaChFZSk6bShrZS5zbGljZShPci5wb3AoKSxFZSkpKSxrZVtFZV1bMV0udHlwZT09PSJkZWZpbml0aW9uIiYmKGtlW0VlXVswXT09PSJlbnRlciI/KGxhPWVpKGxhLGtlLnNsaWNlKEJ0LEVlKSksQnQ9RWUpOihRcj1laShRcixrZS5zbGljZShCdCxFZSsxKSksQnQ9RWUrMSkpO1FyPWVpKFFyLGxhKSxRcj1laShRcixrZS5zbGljZShCdCkpLEVlPS0xO2xldCBKcj1Rcjtmb3IoYy5lbnRlci5udWxsJiZjLmVudGVyLm51bGwuY2FsbCh1KTsrK0VlPGtlLmxlbmd0aDspe2xldCBLcz1jW0pyW0VlXVswXV0sZW89SnJbRWVdWzFdLnR5cGUsdG89S3NbZW9dO29UZS5jYWxsKEtzLGVvKSYmdG8mJnRvLmNhbGwoe3NsaWNlU2VyaWFsaXplOkpyW0VlXVsyXS5zbGljZVNlcmlhbGl6ZSwuLi51fSxKcltFZV1bMV0pfXJldHVybiBjLmV4aXQubnVsbCYmYy5leGl0Lm51bGwuY2FsbCh1KSxpWzBdLmpvaW4oIiIpfWZ1bmN0aW9uIG0oa2Upe2xldCBFZT1rZS5sZW5ndGgsQnQ9MCxPcj0wLFFyPSExLGxhO2Zvcig7KytCdDxFZTspe2xldCBKcj1rZVtCdF07aWYoSnJbMV0uX2NvbnRhaW5lcilsYT12b2lkIDAsSnJbMF09PT0iZW50ZXIiP09yKys6T3ItLTtlbHNlIHN3aXRjaChKclsxXS50eXBlKXtjYXNlImxpc3RJdGVtUHJlZml4Ijp7SnJbMF09PT0iZXhpdCImJihsYT0hMCk7YnJlYWt9Y2FzZSJsaW5lUHJlZml4IjpicmVhaztjYXNlImxpbmVFbmRpbmdCbGFuayI6e0pyWzBdPT09ImVudGVyIiYmIU9yJiYobGE/bGE9dm9pZCAwOlFyPSEwKTticmVha31kZWZhdWx0OmxhPXZvaWQgMH19a2VbMF1bMV0uX2xvb3NlPVFyfWZ1bmN0aW9uIHYoa2UsRWUpe2xba2VdPUVlfWZ1bmN0aW9uIGIoa2Upe3JldHVybiBsW2tlXX1mdW5jdGlvbiBnKCl7aS5wdXNoKFtdKX1mdW5jdGlvbiB5KCl7cmV0dXJuIGkucG9wKCkuam9pbigiIil9ZnVuY3Rpb24gdyhrZSl7ciYmKHYoImxhc3RXYXNUYWciLCEwKSxpW2kubGVuZ3RoLTFdLnB1c2goa2UpKX1mdW5jdGlvbiBrKGtlKXt2KCJsYXN0V2FzVGFnIiksaVtpLmxlbmd0aC0xXS5wdXNoKGtlKX1mdW5jdGlvbiBSKCl7ayhkfHxgCmApfWZ1bmN0aW9uIEMoKXtsZXQga2U9aVtpLmxlbmd0aC0xXSxFZT1rZVtrZS5sZW5ndGgtMV0sQnQ9RWU/RWUuY2hhckNvZGVBdChFZS5sZW5ndGgtMSk6bnVsbDtCdD09PTEwfHxCdD09PTEzfHxCdD09PW51bGx8fFIoKX1mdW5jdGlvbiBTKGtlKXtyZXR1cm4gYigiaWdub3JlRW5jb2RlIik/a2U6Zmsoa2UpfWZ1bmN0aW9uIE8oKXt5KCl9ZnVuY3Rpb24gRChrZSl7cy5wdXNoKCFrZS5fbG9vc2UpLEMoKSx3KCI8b2wiKSx2KCJleHBlY3RGaXJzdEl0ZW0iLCEwKX1mdW5jdGlvbiBOKGtlKXtzLnB1c2goIWtlLl9sb29zZSksQygpLHcoIjx1bCIpLHYoImV4cGVjdEZpcnN0SXRlbSIsITApfWZ1bmN0aW9uIHEoa2Upe2lmKGIoImV4cGVjdEZpcnN0SXRlbSIpKXtsZXQgRWU9TnVtYmVyLnBhcnNlSW50KHRoaXMuc2xpY2VTZXJpYWxpemUoa2UpLDEwKTtFZSE9PTEmJncoJyBzdGFydD0iJytTKFN0cmluZyhFZSkpKyciJyl9fWZ1bmN0aW9uIF8oKXtiKCJleHBlY3RGaXJzdEl0ZW0iKT93KCI+Iik6VCgpLEMoKSx3KCI8bGk+IiksdigiZXhwZWN0Rmlyc3RJdGVtIiksdigibGFzdFdhc1RhZyIpfWZ1bmN0aW9uIHooKXtUKCkscy5wb3AoKSxSKCksdygiPC9vbD4iKX1mdW5jdGlvbiBFKCl7VCgpLHMucG9wKCksUigpLHcoIjwvdWw+Iil9ZnVuY3Rpb24gVCgpe2IoImxhc3RXYXNUYWciKSYmIWIoInNsdXJwQWxsTGluZUVuZGluZ3MiKSYmQygpLHcoIjwvbGk+Iiksdigic2x1cnBBbGxMaW5lRW5kaW5ncyIpfWZ1bmN0aW9uIEwoKXtzLnB1c2goITEpLEMoKSx3KCI8YmxvY2txdW90ZT4iKX1mdW5jdGlvbiBWKCl7cy5wb3AoKSxDKCksdygiPC9ibG9ja3F1b3RlPiIpLHYoInNsdXJwQWxsTGluZUVuZGluZ3MiKX1mdW5jdGlvbiBCKCl7c1tzLmxlbmd0aC0xXXx8KEMoKSx3KCI8cD4iKSksdigic2x1cnBBbGxMaW5lRW5kaW5ncyIpfWZ1bmN0aW9uIFUoKXtzW3MubGVuZ3RoLTFdP3YoInNsdXJwQWxsTGluZUVuZGluZ3MiLCEwKTp3KCI8L3A+Iil9ZnVuY3Rpb24gSygpe0MoKSx3KCI8cHJlPjxjb2RlIiksdigiZmVuY2VzQ291bnQiLDApfWZ1bmN0aW9uIEkoKXtsZXQga2U9eSgpO3coJyBjbGFzcz0ibGFuZ3VhZ2UtJytrZSsnIicpfWZ1bmN0aW9uIHZlKCl7bGV0IGtlPWIoImZlbmNlc0NvdW50Iil8fDA7a2V8fCh3KCI+Iiksdigic2x1cnBPbmVMaW5lRW5kaW5nIiwhMCkpLHYoImZlbmNlc0NvdW50IixrZSsxKX1mdW5jdGlvbiBNZSgpe0MoKSx3KCI8cHJlPjxjb2RlPiIpfWZ1bmN0aW9uIFAoKXtsZXQga2U9YigiZmVuY2VzQ291bnQiKTtrZSE9PXZvaWQgMCYma2U8MiYmbC50aWdodFN0YWNrLmxlbmd0aD4wJiYhYigibGFzdFdhc1RhZyIpJiZSKCksYigiZmxvd0NvZGVTZWVuRGF0YSIpJiZDKCksdygiPC9jb2RlPjwvcHJlPiIpLGtlIT09dm9pZCAwJiZrZTwyJiZDKCksdigiZmxvd0NvZGVTZWVuRGF0YSIpLHYoImZlbmNlc0NvdW50Iiksdigic2x1cnBPbmVMaW5lRW5kaW5nIil9ZnVuY3Rpb24gbGUoKXtuLnB1c2goe2ltYWdlOiEwfSkscj12b2lkIDB9ZnVuY3Rpb24gU2UoKXtuLnB1c2goe30pfWZ1bmN0aW9uIFooa2Upe25bbi5sZW5ndGgtMV0ubGFiZWxJZD10aGlzLnNsaWNlU2VyaWFsaXplKGtlKX1mdW5jdGlvbiBBKCl7bltuLmxlbmd0aC0xXS5sYWJlbD15KCl9ZnVuY3Rpb24gJChrZSl7bltuLmxlbmd0aC0xXS5yZWZlcmVuY2VJZD10aGlzLnNsaWNlU2VyaWFsaXplKGtlKX1mdW5jdGlvbiBqKCl7ZygpLG5bbi5sZW5ndGgtMV0uZGVzdGluYXRpb249IiJ9ZnVuY3Rpb24gSCgpe2coKSx2KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiBZKCl7bltuLmxlbmd0aC0xXS5kZXN0aW5hdGlvbj15KCksdigiaWdub3JlRW5jb2RlIil9ZnVuY3Rpb24gZGUoKXtuW24ubGVuZ3RoLTFdLnRpdGxlPXkoKX1mdW5jdGlvbiB3ZSgpe2xldCBrZT1uLmxlbmd0aC0xLEVlPW5ba2VdLEJ0PUVlLnJlZmVyZW5jZUlkfHxFZS5sYWJlbElkLE9yPUVlLmRlc3RpbmF0aW9uPT09dm9pZCAwP2FbRGEoQnQpXTpFZTtmb3Iocj0hMDtrZS0tOylpZihuW2tlXS5pbWFnZSl7cj12b2lkIDA7YnJlYWt9RWUuaW1hZ2U/KHcoJzxpbWcgc3JjPSInK3cyKE9yLmRlc3RpbmF0aW9uLHQuYWxsb3dEYW5nZXJvdXNQcm90b2NvbD92b2lkIDA6VXpyKSsnIiBhbHQ9IicpLGsoRWUubGFiZWwpLHcoJyInKSk6dygnPGEgaHJlZj0iJyt3MihPci5kZXN0aW5hdGlvbix0LmFsbG93RGFuZ2Vyb3VzUHJvdG9jb2w/dm9pZCAwOmxUZSkrJyInKSx3KE9yLnRpdGxlPycgdGl0bGU9IicrT3IudGl0bGUrJyInOiIiKSxFZS5pbWFnZT93KCIgLz4iKToodygiPiIpLGsoRWUubGFiZWwpLHcoIjwvYT4iKSksbi5wb3AoKX1mdW5jdGlvbiBMZSgpe2coKSxuLnB1c2goe30pfWZ1bmN0aW9uIEcoa2Upe3koKSxuW24ubGVuZ3RoLTFdLmxhYmVsSWQ9dGhpcy5zbGljZVNlcmlhbGl6ZShrZSl9ZnVuY3Rpb24gVygpe2coKSx2KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiBhZSgpe25bbi5sZW5ndGgtMV0uZGVzdGluYXRpb249eSgpLHYoImlnbm9yZUVuY29kZSIpfWZ1bmN0aW9uIHllKCl7bltuLmxlbmd0aC0xXS50aXRsZT15KCl9ZnVuY3Rpb24gbWUoKXtsZXQga2U9bltuLmxlbmd0aC0xXSxFZT1EYShrZS5sYWJlbElkKTt5KCksb1RlLmNhbGwoYSxFZSl8fChhW0VlXT1uW24ubGVuZ3RoLTFdKSxuLnBvcCgpfWZ1bmN0aW9uIENlKCl7digic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApfWZ1bmN0aW9uIGJlKGtlKXtiKCJoZWFkaW5nUmFuayIpfHwodigiaGVhZGluZ1JhbmsiLHRoaXMuc2xpY2VTZXJpYWxpemUoa2UpLmxlbmd0aCksQygpLHcoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IikpfWZ1bmN0aW9uIG5lKCl7ZygpLHYoInNsdXJwQWxsTGluZUVuZGluZ3MiKX1mdW5jdGlvbiB6ZSgpe3YoInNsdXJwQWxsTGluZUVuZGluZ3MiLCEwKX1mdW5jdGlvbiBJZSgpe3coIjwvaCIrYigiaGVhZGluZ1JhbmsiKSsiPiIpLHYoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gWmUoa2Upe3YoImhlYWRpbmdSYW5rIix0aGlzLnNsaWNlU2VyaWFsaXplKGtlKS5jaGFyQ29kZUF0KDApPT09NjE/MToyKX1mdW5jdGlvbiB0ZSgpe2xldCBrZT15KCk7QygpLHcoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IiksayhrZSksdygiPC9oIitiKCJoZWFkaW5nUmFuayIpKyI+Iiksdigic2x1cnBBbGxMaW5lRW5kaW5ncyIpLHYoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gWChrZSl7ayhTKHRoaXMuc2xpY2VTZXJpYWxpemUoa2UpKSl9ZnVuY3Rpb24gZWUoa2Upe2lmKCFiKCJzbHVycEFsbExpbmVFbmRpbmdzIikpe2lmKGIoInNsdXJwT25lTGluZUVuZGluZyIpKXt2KCJzbHVycE9uZUxpbmVFbmRpbmciKTtyZXR1cm59aWYoYigiaW5Db2RlVGV4dCIpKXtrKCIgIik7cmV0dXJufWsoUyh0aGlzLnNsaWNlU2VyaWFsaXplKGtlKSkpfX1mdW5jdGlvbiB4ZShrZSl7ayhTKHRoaXMuc2xpY2VTZXJpYWxpemUoa2UpKSksdigiZmxvd0NvZGVTZWVuRGF0YSIsITApfWZ1bmN0aW9uIEFlKCl7dygiPGJyIC8+Iil9ZnVuY3Rpb24gVWUoKXtDKCkscnQoKX1mdW5jdGlvbiBrdCgpe3YoImlnbm9yZUVuY29kZSIpfWZ1bmN0aW9uIHJ0KCl7dC5hbGxvd0Rhbmdlcm91c0h0bWwmJnYoImlnbm9yZUVuY29kZSIsITApfWZ1bmN0aW9uICR0KCl7dygiPGVtPiIpfWZ1bmN0aW9uIFV0KCl7dygiPHN0cm9uZz4iKX1mdW5jdGlvbiBvZSgpe3YoImluQ29kZVRleHQiLCEwKSx3KCI8Y29kZT4iKX1mdW5jdGlvbiBjZSgpe3YoImluQ29kZVRleHQiKSx3KCI8L2NvZGU+Iil9ZnVuY3Rpb24gX2UoKXt3KCI8L2VtPiIpfWZ1bmN0aW9uIHZ0KCl7dygiPC9zdHJvbmc+Iil9ZnVuY3Rpb24genQoKXtDKCksdygiPGhyIC8+Iil9ZnVuY3Rpb24gWnIoa2Upe3YoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiLGtlLnR5cGUpfWZ1bmN0aW9uIGgxKGtlKXtsZXQgRWU9dGhpcy5zbGljZVNlcmlhbGl6ZShrZSksQnQ9YigiY2hhcmFjdGVyUmVmZXJlbmNlVHlwZSIpP1c1KEVlLGIoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiKT09PSJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIj8xMDoxNik6RjAoRWUpO2soUyhCdCkpLHYoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiKX1mdW5jdGlvbiBRcyhrZSl7bGV0IEVlPXRoaXMuc2xpY2VTZXJpYWxpemUoa2UpO3coJzxhIGhyZWY9IicrdzIoRWUsdC5hbGxvd0Rhbmdlcm91c1Byb3RvY29sP3ZvaWQgMDpsVGUpKyciPicpLGsoUyhFZSkpLHcoIjwvYT4iKX1mdW5jdGlvbiBKcyhrZSl7bGV0IEVlPXRoaXMuc2xpY2VTZXJpYWxpemUoa2UpO3coJzxhIGhyZWY9IicrdzIoIm1haWx0bzoiK0VlKSsnIj4nKSxrKFMoRWUpKSx3KCI8L2E+Iil9fXZhciBvVGUsbFRlLFV6cixtVz1mKCgpPT57cW0oKTt4MigpO3BrKCk7b2soKTtGVSgpO04wKCk7TTIoKTtvVGU9e30uaGFzT3duUHJvcGVydHksbFRlPS9eKGh0dHBzP3xpcmNzP3xtYWlsdG98eG1wcCkkL2ksVXpyPS9eaHR0cHM/JC9pfSk7ZnVuY3Rpb24gV3pyKGUpe2xldCB0PWUuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmNvbnRlbnRJbml0aWFsLGEsaSkscjtyZXR1cm4gdDtmdW5jdGlvbiBhKG8pe2lmKG89PT1udWxsKXtlLmNvbnN1bWUobyk7cmV0dXJufXJldHVybiBlLmVudGVyKCJsaW5lRW5kaW5nIiksZS5jb25zdW1lKG8pLGUuZXhpdCgibGluZUVuZGluZyIpLG10KGUsdCwibGluZVByZWZpeCIpfWZ1bmN0aW9uIGkobyl7cmV0dXJuIGUuZW50ZXIoInBhcmFncmFwaCIpLG4obyl9ZnVuY3Rpb24gbihvKXtsZXQgYz1lLmVudGVyKCJjaHVua1RleHQiLHtjb250ZW50VHlwZToidGV4dCIscHJldmlvdXM6cn0pO3JldHVybiByJiYoci5uZXh0PWMpLHI9YyxzKG8pfWZ1bmN0aW9uIHMobyl7aWYobz09PW51bGwpe2UuZXhpdCgiY2h1bmtUZXh0IiksZS5leGl0KCJwYXJhZ3JhcGgiKSxlLmNvbnN1bWUobyk7cmV0dXJufXJldHVybiBXZShvKT8oZS5jb25zdW1lKG8pLGUuZXhpdCgiY2h1bmtUZXh0Iiksbik6KGUuY29uc3VtZShvKSxzKX19dmFyIGNUZSxkVGU9ZigoKT0+e3FhKCk7S3QoKTtjVGU9e3Rva2VuaXplOld6cn19KTtmdW5jdGlvbiBHenIoZSl7bGV0IHQ9dGhpcyxyPVtdLGE9MCxpLG4scztyZXR1cm4gbztmdW5jdGlvbiBvKGspe2lmKGE8ci5sZW5ndGgpe2xldCBSPXJbYV07cmV0dXJuIHQuY29udGFpbmVyU3RhdGU9UlsxXSxlLmF0dGVtcHQoUlswXS5jb250aW51YXRpb24sYyxsKShrKX1yZXR1cm4gbChrKX1mdW5jdGlvbiBjKGspe2lmKGErKyx0LmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3cpe3QuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdz12b2lkIDAsaSYmdygpO2xldCBSPXQuZXZlbnRzLmxlbmd0aCxDPVIsUztmb3IoO0MtLTspaWYodC5ldmVudHNbQ11bMF09PT0iZXhpdCImJnQuZXZlbnRzW0NdWzFdLnR5cGU9PT0iY2h1bmtGbG93Iil7Uz10LmV2ZW50c1tDXVsxXS5lbmQ7YnJlYWt9eShhKTtsZXQgTz1SO2Zvcig7Tzx0LmV2ZW50cy5sZW5ndGg7KXQuZXZlbnRzW09dWzFdLmVuZD17Li4uU30sTysrO3JldHVybiBIYSh0LmV2ZW50cyxDKzEsMCx0LmV2ZW50cy5zbGljZShSKSksdC5ldmVudHMubGVuZ3RoPU8sbChrKX1yZXR1cm4gbyhrKX1mdW5jdGlvbiBsKGspe2lmKGE9PT1yLmxlbmd0aCl7aWYoIWkpcmV0dXJuIGgoayk7aWYoaS5jdXJyZW50Q29uc3RydWN0JiZpLmN1cnJlbnRDb25zdHJ1Y3QuY29uY3JldGUpcmV0dXJuIHYoayk7dC5pbnRlcnJ1cHQ9ISEoaS5jdXJyZW50Q29uc3RydWN0JiYhaS5fZ2ZtVGFibGVEeW5hbWljSW50ZXJydXB0SGFjayl9cmV0dXJuIHQuY29udGFpbmVyU3RhdGU9e30sZS5jaGVjayh1VGUsdSxkKShrKX1mdW5jdGlvbiB1KGspe3JldHVybiBpJiZ3KCkseShhKSxoKGspfWZ1bmN0aW9uIGQoayl7cmV0dXJuIHQucGFyc2VyLmxhenlbdC5ub3coKS5saW5lXT1hIT09ci5sZW5ndGgscz10Lm5vdygpLm9mZnNldCx2KGspfWZ1bmN0aW9uIGgoayl7cmV0dXJuIHQuY29udGFpbmVyU3RhdGU9e30sZS5hdHRlbXB0KHVUZSxtLHYpKGspfWZ1bmN0aW9uIG0oayl7cmV0dXJuIGErKyxyLnB1c2goW3QuY3VycmVudENvbnN0cnVjdCx0LmNvbnRhaW5lclN0YXRlXSksaChrKX1mdW5jdGlvbiB2KGspe2lmKGs9PT1udWxsKXtpJiZ3KCkseSgwKSxlLmNvbnN1bWUoayk7cmV0dXJufXJldHVybiBpPWl8fHQucGFyc2VyLmZsb3codC5ub3coKSksZS5lbnRlcigiY2h1bmtGbG93Iix7X3Rva2VuaXplcjppLGNvbnRlbnRUeXBlOiJmbG93IixwcmV2aW91czpufSksYihrKX1mdW5jdGlvbiBiKGspe2lmKGs9PT1udWxsKXtnKGUuZXhpdCgiY2h1bmtGbG93IiksITApLHkoMCksZS5jb25zdW1lKGspO3JldHVybn1yZXR1cm4gV2Uoayk/KGUuY29uc3VtZShrKSxnKGUuZXhpdCgiY2h1bmtGbG93IikpLGE9MCx0LmludGVycnVwdD12b2lkIDAsbyk6KGUuY29uc3VtZShrKSxiKX1mdW5jdGlvbiBnKGssUil7bGV0IEM9dC5zbGljZVN0cmVhbShrKTtpZihSJiZDLnB1c2gobnVsbCksay5wcmV2aW91cz1uLG4mJihuLm5leHQ9ayksbj1rLGkuZGVmaW5lU2tpcChrLnN0YXJ0KSxpLndyaXRlKEMpLHQucGFyc2VyLmxhenlbay5zdGFydC5saW5lXSl7bGV0IFM9aS5ldmVudHMubGVuZ3RoO2Zvcig7Uy0tOylpZihpLmV2ZW50c1tTXVsxXS5zdGFydC5vZmZzZXQ8cyYmKCFpLmV2ZW50c1tTXVsxXS5lbmR8fGkuZXZlbnRzW1NdWzFdLmVuZC5vZmZzZXQ+cykpcmV0dXJuO2xldCBPPXQuZXZlbnRzLmxlbmd0aCxEPU8sTixxO2Zvcig7RC0tOylpZih0LmV2ZW50c1tEXVswXT09PSJleGl0IiYmdC5ldmVudHNbRF1bMV0udHlwZT09PSJjaHVua0Zsb3ciKXtpZihOKXtxPXQuZXZlbnRzW0RdWzFdLmVuZDticmVha31OPSEwfWZvcih5KGEpLFM9TztTPHQuZXZlbnRzLmxlbmd0aDspdC5ldmVudHNbU11bMV0uZW5kPXsuLi5xfSxTKys7SGEodC5ldmVudHMsRCsxLDAsdC5ldmVudHMuc2xpY2UoTykpLHQuZXZlbnRzLmxlbmd0aD1TfX1mdW5jdGlvbiB5KGspe2xldCBSPXIubGVuZ3RoO2Zvcig7Ui0tID5rOyl7bGV0IEM9cltSXTt0LmNvbnRhaW5lclN0YXRlPUNbMV0sQ1swXS5leGl0LmNhbGwodCxlKX1yLmxlbmd0aD1rfWZ1bmN0aW9uIHcoKXtpLndyaXRlKFtudWxsXSksbj12b2lkIDAsaT12b2lkIDAsdC5jb250YWluZXJTdGF0ZS5fY2xvc2VGbG93PXZvaWQgMH19ZnVuY3Rpb24gWXpyKGUsdCxyKXtyZXR1cm4gbXQoZSxlLmF0dGVtcHQodGhpcy5wYXJzZXIuY29uc3RydWN0cy5kb2N1bWVudCx0LHIpLCJsaW5lUHJlZml4Iix0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpfXZhciBwVGUsdVRlLGZUZT1mKCgpPT57cWEoKTtLdCgpO3gyKCk7cFRlPXt0b2tlbml6ZTpHenJ9LHVUZT17dG9rZW5pemU6WXpyfX0pO2Z1bmN0aW9uIFp6cihlKXtsZXQgdD10aGlzLHI9ZS5hdHRlbXB0KGsyLGEsZS5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZmxvd0luaXRpYWwsaSxtdChlLGUuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmZsb3csaSxlLmF0dGVtcHQoVlUsaSkpLCJsaW5lUHJlZml4IikpKTtyZXR1cm4gcjtmdW5jdGlvbiBhKG4pe2lmKG49PT1udWxsKXtlLmNvbnN1bWUobik7cmV0dXJufXJldHVybiBlLmVudGVyKCJsaW5lRW5kaW5nQmxhbmsiKSxlLmNvbnN1bWUobiksZS5leGl0KCJsaW5lRW5kaW5nQmxhbmsiKSx0LmN1cnJlbnRDb25zdHJ1Y3Q9dm9pZCAwLHJ9ZnVuY3Rpb24gaShuKXtpZihuPT09bnVsbCl7ZS5jb25zdW1lKG4pO3JldHVybn1yZXR1cm4gZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShuKSxlLmV4aXQoImxpbmVFbmRpbmciKSx0LmN1cnJlbnRDb25zdHJ1Y3Q9dm9pZCAwLHJ9fXZhciBoVGUsbVRlPWYoKCk9Pnt6aygpO3FhKCk7S3QoKTtoVGU9e3Rva2VuaXplOlp6cn19KTtmdW5jdGlvbiBnVGUoZSl7cmV0dXJue3Jlc29sdmVBbGw6YlRlKGU9PT0idGV4dCI/WHpyOnZvaWQgMCksdG9rZW5pemU6dH07ZnVuY3Rpb24gdChyKXtsZXQgYT10aGlzLGk9dGhpcy5wYXJzZXIuY29uc3RydWN0c1tlXSxuPXIuYXR0ZW1wdChpLHMsbyk7cmV0dXJuIHM7ZnVuY3Rpb24gcyh1KXtyZXR1cm4gbCh1KT9uKHUpOm8odSl9ZnVuY3Rpb24gbyh1KXtpZih1PT09bnVsbCl7ci5jb25zdW1lKHUpO3JldHVybn1yZXR1cm4gci5lbnRlcigiZGF0YSIpLHIuY29uc3VtZSh1KSxjfWZ1bmN0aW9uIGModSl7cmV0dXJuIGwodSk/KHIuZXhpdCgiZGF0YSIpLG4odSkpOihyLmNvbnN1bWUodSksYyl9ZnVuY3Rpb24gbCh1KXtpZih1PT09bnVsbClyZXR1cm4hMDtsZXQgZD1pW3VdLGg9LTE7aWYoZClmb3IoOysraDxkLmxlbmd0aDspe2xldCBtPWRbaF07aWYoIW0ucHJldmlvdXN8fG0ucHJldmlvdXMuY2FsbChhLGEucHJldmlvdXMpKXJldHVybiEwfXJldHVybiExfX19ZnVuY3Rpb24gYlRlKGUpe3JldHVybiB0O2Z1bmN0aW9uIHQocixhKXtsZXQgaT0tMSxuO2Zvcig7KytpPD1yLmxlbmd0aDspbj09PXZvaWQgMD9yW2ldJiZyW2ldWzFdLnR5cGU9PT0iZGF0YSImJihuPWksaSsrKTooIXJbaV18fHJbaV1bMV0udHlwZSE9PSJkYXRhIikmJihpIT09bisyJiYocltuXVsxXS5lbmQ9cltpLTFdWzFdLmVuZCxyLnNwbGljZShuKzIsaS1uLTIpLGk9bisyKSxuPXZvaWQgMCk7cmV0dXJuIGU/ZShyLGEpOnJ9fWZ1bmN0aW9uIFh6cihlLHQpe2xldCByPTA7Zm9yKDsrK3I8PWUubGVuZ3RoOylpZigocj09PWUubGVuZ3RofHxlW3JdWzFdLnR5cGU9PT0ibGluZUVuZGluZyIpJiZlW3ItMV1bMV0udHlwZT09PSJkYXRhIil7bGV0IGE9ZVtyLTFdWzFdLGk9dC5zbGljZVN0cmVhbShhKSxuPWkubGVuZ3RoLHM9LTEsbz0wLGM7Zm9yKDtuLS07KXtsZXQgbD1pW25dO2lmKHR5cGVvZiBsPT0ic3RyaW5nIil7Zm9yKHM9bC5sZW5ndGg7bC5jaGFyQ29kZUF0KHMtMSk9PT0zMjspbysrLHMtLTtpZihzKWJyZWFrO3M9LTF9ZWxzZSBpZihsPT09LTIpYz0hMCxvKys7ZWxzZSBpZihsIT09LTEpe24rKzticmVha319aWYodC5fY29udGVudFR5cGVUZXh0VHJhaWxpbmcmJnI9PT1lLmxlbmd0aCYmKG89MCksbyl7bGV0IGw9e3R5cGU6cj09PWUubGVuZ3RofHxjfHxvPDI/ImxpbmVTdWZmaXgiOiJoYXJkQnJlYWtUcmFpbGluZyIsc3RhcnQ6e19idWZmZXJJbmRleDpuP3M6YS5zdGFydC5fYnVmZmVySW5kZXgrcyxfaW5kZXg6YS5zdGFydC5faW5kZXgrbixsaW5lOmEuZW5kLmxpbmUsY29sdW1uOmEuZW5kLmNvbHVtbi1vLG9mZnNldDphLmVuZC5vZmZzZXQtb30sZW5kOnsuLi5hLmVuZH19O2EuZW5kPXsuLi5sLnN0YXJ0fSxhLnN0YXJ0Lm9mZnNldD09PWEuZW5kLm9mZnNldD9PYmplY3QuYXNzaWduKGEsbCk6KGUuc3BsaWNlKHIsMCxbImVudGVyIixsLHRdLFsiZXhpdCIsbCx0XSkscis9Mil9cisrfXJldHVybiBlfXZhciB2VGUseFRlLHlUZSxnVz1mKCgpPT57dlRlPXtyZXNvbHZlQWxsOmJUZSgpfSx4VGU9Z1RlKCJzdHJpbmciKSx5VGU9Z1RlKCJ0ZXh0Iil9KTt2YXIgYlc9e307UmUoYlcse2F0dGVudGlvbk1hcmtlcnM6KCk9PmlDcixjb250ZW50SW5pdGlhbDooKT0+SnpyLGRpc2FibGU6KCk9Pm5Dcixkb2N1bWVudDooKT0+UXpyLGZsb3c6KCk9PmVDcixmbG93SW5pdGlhbDooKT0+S3pyLGluc2lkZVNwYW46KCk9PmFDcixzdHJpbmc6KCk9PnRDcix0ZXh0OigpPT5yQ3J9KTt2YXIgUXpyLEp6cixLenIsZUNyLHRDcixyQ3IsYUNyLGlDcixuQ3Isd1RlPWYoKCk9Pnt6aygpO2dXKCk7UXpyPXs0Mjp4biw0Mzp4biw0NTp4biw0ODp4biw0OTp4biw1MDp4biw1MTp4biw1Mjp4biw1Mzp4biw1NDp4biw1NTp4biw1Njp4biw1Nzp4biw2Mjpta30sSnpyPXs5MTpaVX0sS3pyPXtbLTJdOlVtLFstMV06VW0sMzI6VW19LGVDcj17MzU6UVUsNDI6ZmQsNDU6W1NrLGZkXSw2MDpLVSw2MTpTayw5NTpmZCw5Njp2aywxMjY6dmt9LHRDcj17Mzg6YmssOTI6Z2t9LHJDcj17Wy01XTpZbSxbLTRdOlltLFstM106WW0sMzM6dFcsMzg6YmssNDI6Vm0sNjA6W0JVLGVXXSw5MTpyVyw5MjpbWFUsZ2tdLDkzOnBkLDk1OlZtLDk2OkhVfSxhQ3I9e251bGw6W1ZtLHZUZV19LGlDcj17bnVsbDpbNDIsOTVdfSxuQ3I9e251bGw6W119fSk7ZnVuY3Rpb24gTVRlKGUsdCxyKXtsZXQgYT17X2J1ZmZlckluZGV4Oi0xLF9pbmRleDowLGxpbmU6ciYmci5saW5lfHwxLGNvbHVtbjpyJiZyLmNvbHVtbnx8MSxvZmZzZXQ6ciYmci5vZmZzZXR8fDB9LGk9e30sbj1bXSxzPVtdLG89W10sYz0hMCxsPXthdHRlbXB0Ok4oTyksY2hlY2s6TihEKSxjb25zdW1lOlIsZW50ZXI6QyxleGl0OlMsaW50ZXJydXB0Ok4oRCx7aW50ZXJydXB0OiEwfSl9LHU9e2NvZGU6bnVsbCxjb250YWluZXJTdGF0ZTp7fSxkZWZpbmVTa2lwOnksZXZlbnRzOltdLG5vdzpnLHBhcnNlcjplLHByZXZpb3VzOm51bGwsc2xpY2VTZXJpYWxpemU6dixzbGljZVN0cmVhbTpiLHdyaXRlOm19LGQ9dC50b2tlbml6ZS5jYWxsKHUsbCksaDtyZXR1cm4gdC5yZXNvbHZlQWxsJiZuLnB1c2godCksdTtmdW5jdGlvbiBtKEUpe3JldHVybiBzPWVpKHMsRSksdygpLHNbcy5sZW5ndGgtMV0hPT1udWxsP1tdOihxKHQsMCksdS5ldmVudHM9TzAobix1LmV2ZW50cyx1KSx1LmV2ZW50cyl9ZnVuY3Rpb24gdihFLFQpe3JldHVybiBvQ3IoYihFKSxUKX1mdW5jdGlvbiBiKEUpe3JldHVybiBzQ3IocyxFKX1mdW5jdGlvbiBnKCl7bGV0e19idWZmZXJJbmRleDpFLF9pbmRleDpULGxpbmU6TCxjb2x1bW46VixvZmZzZXQ6Qn09YTtyZXR1cm57X2J1ZmZlckluZGV4OkUsX2luZGV4OlQsbGluZTpMLGNvbHVtbjpWLG9mZnNldDpCfX1mdW5jdGlvbiB5KEUpe2lbRS5saW5lXT1FLmNvbHVtbix6KCl9ZnVuY3Rpb24gdygpe2xldCBFO2Zvcig7YS5faW5kZXg8cy5sZW5ndGg7KXtsZXQgVD1zW2EuX2luZGV4XTtpZih0eXBlb2YgVD09InN0cmluZyIpZm9yKEU9YS5faW5kZXgsYS5fYnVmZmVySW5kZXg8MCYmKGEuX2J1ZmZlckluZGV4PTApO2EuX2luZGV4PT09RSYmYS5fYnVmZmVySW5kZXg8VC5sZW5ndGg7KWsoVC5jaGFyQ29kZUF0KGEuX2J1ZmZlckluZGV4KSk7ZWxzZSBrKFQpfX1mdW5jdGlvbiBrKEUpe2M9dm9pZCAwLGg9RSxkPWQoRSl9ZnVuY3Rpb24gUihFKXtXZShFKT8oYS5saW5lKyssYS5jb2x1bW49MSxhLm9mZnNldCs9RT09PS0zPzI6MSx6KCkpOkUhPT0tMSYmKGEuY29sdW1uKyssYS5vZmZzZXQrKyksYS5fYnVmZmVySW5kZXg8MD9hLl9pbmRleCsrOihhLl9idWZmZXJJbmRleCsrLGEuX2J1ZmZlckluZGV4PT09c1thLl9pbmRleF0ubGVuZ3RoJiYoYS5fYnVmZmVySW5kZXg9LTEsYS5faW5kZXgrKykpLHUucHJldmlvdXM9RSxjPSEwfWZ1bmN0aW9uIEMoRSxUKXtsZXQgTD1UfHx7fTtyZXR1cm4gTC50eXBlPUUsTC5zdGFydD1nKCksdS5ldmVudHMucHVzaChbImVudGVyIixMLHVdKSxvLnB1c2goTCksTH1mdW5jdGlvbiBTKEUpe2xldCBUPW8ucG9wKCk7cmV0dXJuIFQuZW5kPWcoKSx1LmV2ZW50cy5wdXNoKFsiZXhpdCIsVCx1XSksVH1mdW5jdGlvbiBPKEUsVCl7cShFLFQuZnJvbSl9ZnVuY3Rpb24gRChFLFQpe1QucmVzdG9yZSgpfWZ1bmN0aW9uIE4oRSxUKXtyZXR1cm4gTDtmdW5jdGlvbiBMKFYsQixVKXtsZXQgSyxJLHZlLE1lO3JldHVybiBBcnJheS5pc0FycmF5KFYpP2xlKFYpOiJ0b2tlbml6ZSJpbiBWP2xlKFtWXSk6UChWKTtmdW5jdGlvbiBQKCQpe3JldHVybiBqO2Z1bmN0aW9uIGooSCl7bGV0IFk9SCE9PW51bGwmJiRbSF0sZGU9SCE9PW51bGwmJiQubnVsbCx3ZT1bLi4uQXJyYXkuaXNBcnJheShZKT9ZOlk/W1ldOltdLC4uLkFycmF5LmlzQXJyYXkoZGUpP2RlOmRlP1tkZV06W11dO3JldHVybiBsZSh3ZSkoSCl9fWZ1bmN0aW9uIGxlKCQpe3JldHVybiBLPSQsST0wLCQubGVuZ3RoPT09MD9VOlNlKCRbSV0pfWZ1bmN0aW9uIFNlKCQpe3JldHVybiBqO2Z1bmN0aW9uIGooSCl7cmV0dXJuIE1lPV8oKSx2ZT0kLCQucGFydGlhbHx8KHUuY3VycmVudENvbnN0cnVjdD0kKSwkLm5hbWUmJnUucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCQubmFtZSk/QShIKTokLnRva2VuaXplLmNhbGwoVD9PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUodSksVCk6dSxsLFosQSkoSCl9fWZ1bmN0aW9uIFooJCl7cmV0dXJuIGM9ITAsRSh2ZSxNZSksQn1mdW5jdGlvbiBBKCQpe3JldHVybiBjPSEwLE1lLnJlc3RvcmUoKSwrK0k8Sy5sZW5ndGg/U2UoS1tJXSk6VX19fWZ1bmN0aW9uIHEoRSxUKXtFLnJlc29sdmVBbGwmJiFuLmluY2x1ZGVzKEUpJiZuLnB1c2goRSksRS5yZXNvbHZlJiZIYSh1LmV2ZW50cyxULHUuZXZlbnRzLmxlbmd0aC1ULEUucmVzb2x2ZSh1LmV2ZW50cy5zbGljZShUKSx1KSksRS5yZXNvbHZlVG8mJih1LmV2ZW50cz1FLnJlc29sdmVUbyh1LmV2ZW50cyx1KSl9ZnVuY3Rpb24gXygpe2xldCBFPWcoKSxUPXUucHJldmlvdXMsTD11LmN1cnJlbnRDb25zdHJ1Y3QsVj11LmV2ZW50cy5sZW5ndGgsQj1BcnJheS5mcm9tKG8pO3JldHVybntmcm9tOlYscmVzdG9yZTpVfTtmdW5jdGlvbiBVKCl7YT1FLHUucHJldmlvdXM9VCx1LmN1cnJlbnRDb25zdHJ1Y3Q9TCx1LmV2ZW50cy5sZW5ndGg9VixvPUIseigpfX1mdW5jdGlvbiB6KCl7YS5saW5lIGluIGkmJmEuY29sdW1uPDImJihhLmNvbHVtbj1pW2EubGluZV0sYS5vZmZzZXQrPWlbYS5saW5lXS0xKX19ZnVuY3Rpb24gc0NyKGUsdCl7bGV0IHI9dC5zdGFydC5faW5kZXgsYT10LnN0YXJ0Ll9idWZmZXJJbmRleCxpPXQuZW5kLl9pbmRleCxuPXQuZW5kLl9idWZmZXJJbmRleCxzO2lmKHI9PT1pKXM9W2Vbcl0uc2xpY2UoYSxuKV07ZWxzZXtpZihzPWUuc2xpY2UocixpKSxhPi0xKXtsZXQgbz1zWzBdO3R5cGVvZiBvPT0ic3RyaW5nIj9zWzBdPW8uc2xpY2UoYSk6cy5zaGlmdCgpfW4+MCYmcy5wdXNoKGVbaV0uc2xpY2UoMCxuKSl9cmV0dXJuIHN9ZnVuY3Rpb24gb0NyKGUsdCl7bGV0IHI9LTEsYT1bXSxpO2Zvcig7KytyPGUubGVuZ3RoOyl7bGV0IG49ZVtyXSxzO2lmKHR5cGVvZiBuPT0ic3RyaW5nIilzPW47ZWxzZSBzd2l0Y2gobil7Y2FzZS01OntzPSJcciI7YnJlYWt9Y2FzZS00OntzPWAKYDticmVha31jYXNlLTM6e3M9YFxyCmA7YnJlYWt9Y2FzZS0yOntzPXQ/IiAiOiIJIjticmVha31jYXNlLTE6e2lmKCF0JiZpKWNvbnRpbnVlO3M9IiAiO2JyZWFrfWRlZmF1bHQ6cz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pfWk9bj09PS0yLGEucHVzaChzKX1yZXR1cm4gYS5qb2luKCIiKX12YXIga1RlPWYoKCk9PntLdCgpO3gyKCk7am0oKX0pO2Z1bmN0aW9uIFptKGUpe2xldCBhPXtjb25zdHJ1Y3RzOmRrKFtiVywuLi4oZXx8e30pLmV4dGVuc2lvbnN8fFtdXSksY29udGVudDppKGNUZSksZGVmaW5lZDpbXSxkb2N1bWVudDppKHBUZSksZmxvdzppKGhUZSksbGF6eTp7fSxzdHJpbmc6aSh4VGUpLHRleHQ6aSh5VGUpfTtyZXR1cm4gYTtmdW5jdGlvbiBpKG4pe3JldHVybiBzO2Z1bmN0aW9uIHMobyl7cmV0dXJuIE1UZShhLG4sbyl9fX12YXIgdlc9ZigoKT0+e3BrKCk7ZFRlKCk7ZlRlKCk7bVRlKCk7Z1coKTt3VGUoKTtrVGUoKX0pO2Z1bmN0aW9uIFhtKGUpe2Zvcig7IXhrKGUpOyk7cmV0dXJuIGV9dmFyIHhXPWYoKCk9PntqVSgpfSk7ZnVuY3Rpb24gUW0oKXtsZXQgZT0xLHQ9IiIscj0hMCxhO3JldHVybiBpO2Z1bmN0aW9uIGkobixzLG8pe2xldCBjPVtdLGwsdSxkLGgsbTtmb3Iobj10Kyh0eXBlb2Ygbj09InN0cmluZyI/bi50b1N0cmluZygpOm5ldyBUZXh0RGVjb2RlcihzfHx2b2lkIDApLmRlY29kZShuKSksZD0wLHQ9IiIsciYmKG4uY2hhckNvZGVBdCgwKT09PTY1Mjc5JiZkKysscj12b2lkIDApO2Q8bi5sZW5ndGg7KXtpZihTVGUubGFzdEluZGV4PWQsbD1TVGUuZXhlYyhuKSxoPWwmJmwuaW5kZXghPT12b2lkIDA/bC5pbmRleDpuLmxlbmd0aCxtPW4uY2hhckNvZGVBdChoKSwhbCl7dD1uLnNsaWNlKGQpO2JyZWFrfWlmKG09PT0xMCYmZD09PWgmJmEpYy5wdXNoKC0zKSxhPXZvaWQgMDtlbHNlIHN3aXRjaChhJiYoYy5wdXNoKC01KSxhPXZvaWQgMCksZDxoJiYoYy5wdXNoKG4uc2xpY2UoZCxoKSksZSs9aC1kKSxtKXtjYXNlIDA6e2MucHVzaCg2NTUzMyksZSsrO2JyZWFrfWNhc2UgOTp7Zm9yKHU9TWF0aC5jZWlsKGUvNCkqNCxjLnB1c2goLTIpO2UrKzx1OyljLnB1c2goLTEpO2JyZWFrfWNhc2UgMTA6e2MucHVzaCgtNCksZT0xO2JyZWFrfWRlZmF1bHQ6YT0hMCxlPTF9ZD1oKzF9cmV0dXJuIG8mJihhJiZjLnB1c2goLTUpLHQmJmMucHVzaCh0KSxjLnB1c2gobnVsbCkpLGN9fXZhciBTVGUseVc9ZigoKT0+e1NUZT0vW1wwXHRcblxyXS9nfSk7ZnVuY3Rpb24geFZhKGUsdCxyKXtyZXR1cm4gdHlwZW9mIHQhPSJzdHJpbmciJiYocj10LHQ9dm9pZCAwKSxoVyhyKShYbShabShyKS5kb2N1bWVudCgpLndyaXRlKFFtKCkoZSx0LCEwKSkpKX12YXIgelRlPWYoKCk9PnttVygpO3ZXKCk7eFcoKTt5VygpO21XKCk7dlcoKTt4VygpO3lXKCl9KTtmdW5jdGlvbiB3VyhlLHQscil7cmV0dXJuIHR5cGVvZiB0IT0ic3RyaW5nIiYmKHI9dCx0PXZvaWQgMCksbENyKHIpKFhtKFptKHIpLmRvY3VtZW50KCkud3JpdGUoUW0oKShlLHQsITApKSkpfWZ1bmN0aW9uIGxDcihlKXtsZXQgdD17dHJhbnNmb3JtczpbXSxjYW5Db250YWluRW9sczpbImVtcGhhc2lzIiwiZnJhZ21lbnQiLCJoZWFkaW5nIiwicGFyYWdyYXBoIiwic3Ryb25nIl0sZW50ZXI6e2F1dG9saW5rOm4obWUpLGF1dG9saW5rUHJvdG9jb2w6TixhdXRvbGlua0VtYWlsOk4sYXR4SGVhZGluZzpuKEcpLGJsb2NrUXVvdGU6bihIKSxjaGFyYWN0ZXJFc2NhcGU6TixjaGFyYWN0ZXJSZWZlcmVuY2U6Tixjb2RlRmVuY2VkOm4oWSksY29kZUZlbmNlZEZlbmNlSW5mbzpzLGNvZGVGZW5jZWRGZW5jZU1ldGE6cyxjb2RlSW5kZW50ZWQ6bihZLHMpLGNvZGVUZXh0Om4oZGUscyksY29kZVRleHREYXRhOk4sZGF0YTpOLGNvZGVGbG93VmFsdWU6TixkZWZpbml0aW9uOm4od2UpLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpzLGRlZmluaXRpb25MYWJlbFN0cmluZzpzLGRlZmluaXRpb25UaXRsZVN0cmluZzpzLGVtcGhhc2lzOm4oTGUpLGhhcmRCcmVha0VzY2FwZTpuKFcpLGhhcmRCcmVha1RyYWlsaW5nOm4oVyksaHRtbEZsb3c6bihhZSxzKSxodG1sRmxvd0RhdGE6TixodG1sVGV4dDpuKGFlLHMpLGh0bWxUZXh0RGF0YTpOLGltYWdlOm4oeWUpLGxhYmVsOnMsbGluazpuKG1lKSxsaXN0SXRlbTpuKGJlKSxsaXN0SXRlbVZhbHVlOmgsbGlzdE9yZGVyZWQ6bihDZSxkKSxsaXN0VW5vcmRlcmVkOm4oQ2UpLHBhcmFncmFwaDpuKG5lKSxyZWZlcmVuY2U6UCxyZWZlcmVuY2VTdHJpbmc6cyxyZXNvdXJjZURlc3RpbmF0aW9uU3RyaW5nOnMscmVzb3VyY2VUaXRsZVN0cmluZzpzLHNldGV4dEhlYWRpbmc6bihHKSxzdHJvbmc6bih6ZSksdGhlbWF0aWNCcmVhazpuKFplKX0sZXhpdDp7YXR4SGVhZGluZzpjKCksYXR4SGVhZGluZ1NlcXVlbmNlOkMsYXV0b2xpbms6YygpLGF1dG9saW5rRW1haWw6aixhdXRvbGlua1Byb3RvY29sOiQsYmxvY2tRdW90ZTpjKCksY2hhcmFjdGVyRXNjYXBlVmFsdWU6cSxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJIZXhhZGVjaW1hbDpTZSxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljOlNlLGNoYXJhY3RlclJlZmVyZW5jZVZhbHVlOlosY2hhcmFjdGVyUmVmZXJlbmNlOkEsY29kZUZlbmNlZDpjKGcpLGNvZGVGZW5jZWRGZW5jZTpiLGNvZGVGZW5jZWRGZW5jZUluZm86bSxjb2RlRmVuY2VkRmVuY2VNZXRhOnYsY29kZUZsb3dWYWx1ZTpxLGNvZGVJbmRlbnRlZDpjKHkpLGNvZGVUZXh0OmMoTCksY29kZVRleHREYXRhOnEsZGF0YTpxLGRlZmluaXRpb246YygpLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpSLGRlZmluaXRpb25MYWJlbFN0cmluZzp3LGRlZmluaXRpb25UaXRsZVN0cmluZzprLGVtcGhhc2lzOmMoKSxoYXJkQnJlYWtFc2NhcGU6Yyh6KSxoYXJkQnJlYWtUcmFpbGluZzpjKHopLGh0bWxGbG93OmMoRSksaHRtbEZsb3dEYXRhOnEsaHRtbFRleHQ6YyhUKSxodG1sVGV4dERhdGE6cSxpbWFnZTpjKEIpLGxhYmVsOkssbGFiZWxUZXh0OlUsbGluZUVuZGluZzpfLGxpbms6YyhWKSxsaXN0SXRlbTpjKCksbGlzdE9yZGVyZWQ6YygpLGxpc3RVbm9yZGVyZWQ6YygpLHBhcmFncmFwaDpjKCkscmVmZXJlbmNlU3RyaW5nOmxlLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6SSxyZXNvdXJjZVRpdGxlU3RyaW5nOnZlLHJlc291cmNlOk1lLHNldGV4dEhlYWRpbmc6YyhEKSxzZXRleHRIZWFkaW5nTGluZVNlcXVlbmNlOk8sc2V0ZXh0SGVhZGluZ1RleHQ6UyxzdHJvbmc6YygpLHRoZW1hdGljQnJlYWs6YygpfX07VFRlKHQsKGV8fHt9KS5tZGFzdEV4dGVuc2lvbnN8fFtdKTtsZXQgcj17fTtyZXR1cm4gYTtmdW5jdGlvbiBhKHRlKXtsZXQgWD17dHlwZToicm9vdCIsY2hpbGRyZW46W119LGVlPXtzdGFjazpbWF0sdG9rZW5TdGFjazpbXSxjb25maWc6dCxlbnRlcjpvLGV4aXQ6bCxidWZmZXI6cyxyZXN1bWU6dSxkYXRhOnJ9LHhlPVtdLEFlPS0xO2Zvcig7KytBZTx0ZS5sZW5ndGg7KWlmKHRlW0FlXVsxXS50eXBlPT09Imxpc3RPcmRlcmVkInx8dGVbQWVdWzFdLnR5cGU9PT0ibGlzdFVub3JkZXJlZCIpaWYodGVbQWVdWzBdPT09ImVudGVyIil4ZS5wdXNoKEFlKTtlbHNle2xldCBVZT14ZS5wb3AoKTtBZT1pKHRlLFVlLEFlKX1mb3IoQWU9LTE7KytBZTx0ZS5sZW5ndGg7KXtsZXQgVWU9dFt0ZVtBZV1bMF1dO0NUZS5jYWxsKFVlLHRlW0FlXVsxXS50eXBlKSYmVWVbdGVbQWVdWzFdLnR5cGVdLmNhbGwoT2JqZWN0LmFzc2lnbih7c2xpY2VTZXJpYWxpemU6dGVbQWVdWzJdLnNsaWNlU2VyaWFsaXplfSxlZSksdGVbQWVdWzFdKX1pZihlZS50b2tlblN0YWNrLmxlbmd0aD4wKXtsZXQgVWU9ZWUudG9rZW5TdGFja1tlZS50b2tlblN0YWNrLmxlbmd0aC0xXTsoVWVbMV18fF9UZSkuY2FsbChlZSx2b2lkIDAsVWVbMF0pfWZvcihYLnBvc2l0aW9uPXtzdGFydDpSMCh0ZS5sZW5ndGg+MD90ZVswXVsxXS5zdGFydDp7bGluZToxLGNvbHVtbjoxLG9mZnNldDowfSksZW5kOlIwKHRlLmxlbmd0aD4wP3RlW3RlLmxlbmd0aC0yXVsxXS5lbmQ6e2xpbmU6MSxjb2x1bW46MSxvZmZzZXQ6MH0pfSxBZT0tMTsrK0FlPHQudHJhbnNmb3Jtcy5sZW5ndGg7KVg9dC50cmFuc2Zvcm1zW0FlXShYKXx8WDtyZXR1cm4gWH1mdW5jdGlvbiBpKHRlLFgsZWUpe2xldCB4ZT1YLTEsQWU9LTEsVWU9ITEsa3QscnQsJHQsVXQ7Zm9yKDsrK3hlPD1lZTspe2xldCBvZT10ZVt4ZV07c3dpdGNoKG9lWzFdLnR5cGUpe2Nhc2UibGlzdFVub3JkZXJlZCI6Y2FzZSJsaXN0T3JkZXJlZCI6Y2FzZSJibG9ja1F1b3RlIjp7b2VbMF09PT0iZW50ZXIiP0FlKys6QWUtLSxVdD12b2lkIDA7YnJlYWt9Y2FzZSJsaW5lRW5kaW5nQmxhbmsiOntvZVswXT09PSJlbnRlciImJihrdCYmIVV0JiYhQWUmJiEkdCYmKCR0PXhlKSxVdD12b2lkIDApO2JyZWFrfWNhc2UibGluZVByZWZpeCI6Y2FzZSJsaXN0SXRlbVZhbHVlIjpjYXNlImxpc3RJdGVtTWFya2VyIjpjYXNlImxpc3RJdGVtUHJlZml4IjpjYXNlImxpc3RJdGVtUHJlZml4V2hpdGVzcGFjZSI6YnJlYWs7ZGVmYXVsdDpVdD12b2lkIDB9aWYoIUFlJiZvZVswXT09PSJlbnRlciImJm9lWzFdLnR5cGU9PT0ibGlzdEl0ZW1QcmVmaXgifHxBZT09PS0xJiZvZVswXT09PSJleGl0IiYmKG9lWzFdLnR5cGU9PT0ibGlzdFVub3JkZXJlZCJ8fG9lWzFdLnR5cGU9PT0ibGlzdE9yZGVyZWQiKSl7aWYoa3Qpe2xldCBjZT14ZTtmb3IocnQ9dm9pZCAwO2NlLS07KXtsZXQgX2U9dGVbY2VdO2lmKF9lWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fF9lWzFdLnR5cGU9PT0ibGluZUVuZGluZ0JsYW5rIil7aWYoX2VbMF09PT0iZXhpdCIpY29udGludWU7cnQmJih0ZVtydF1bMV0udHlwZT0ibGluZUVuZGluZ0JsYW5rIixVZT0hMCksX2VbMV0udHlwZT0ibGluZUVuZGluZyIscnQ9Y2V9ZWxzZSBpZighKF9lWzFdLnR5cGU9PT0ibGluZVByZWZpeCJ8fF9lWzFdLnR5cGU9PT0iYmxvY2tRdW90ZVByZWZpeCJ8fF9lWzFdLnR5cGU9PT0iYmxvY2tRdW90ZVByZWZpeFdoaXRlc3BhY2UifHxfZVsxXS50eXBlPT09ImJsb2NrUXVvdGVNYXJrZXIifHxfZVsxXS50eXBlPT09Imxpc3RJdGVtSW5kZW50IikpYnJlYWt9JHQmJighcnR8fCR0PHJ0KSYmKGt0Ll9zcHJlYWQ9ITApLGt0LmVuZD1PYmplY3QuYXNzaWduKHt9LHJ0P3RlW3J0XVsxXS5zdGFydDpvZVsxXS5lbmQpLHRlLnNwbGljZShydHx8eGUsMCxbImV4aXQiLGt0LG9lWzJdXSkseGUrKyxlZSsrfWlmKG9lWzFdLnR5cGU9PT0ibGlzdEl0ZW1QcmVmaXgiKXtsZXQgY2U9e3R5cGU6Imxpc3RJdGVtIixfc3ByZWFkOiExLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sb2VbMV0uc3RhcnQpLGVuZDp2b2lkIDB9O2t0PWNlLHRlLnNwbGljZSh4ZSwwLFsiZW50ZXIiLGNlLG9lWzJdXSkseGUrKyxlZSsrLCR0PXZvaWQgMCxVdD0hMH19fXJldHVybiB0ZVtYXVsxXS5fc3ByZWFkPVVlLGVlfWZ1bmN0aW9uIG4odGUsWCl7cmV0dXJuIGVlO2Z1bmN0aW9uIGVlKHhlKXtvLmNhbGwodGhpcyx0ZSh4ZSkseGUpLFgmJlguY2FsbCh0aGlzLHhlKX19ZnVuY3Rpb24gcygpe3RoaXMuc3RhY2sucHVzaCh7dHlwZToiZnJhZ21lbnQiLGNoaWxkcmVuOltdfSl9ZnVuY3Rpb24gbyh0ZSxYLGVlKXt0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdLmNoaWxkcmVuLnB1c2godGUpLHRoaXMuc3RhY2sucHVzaCh0ZSksdGhpcy50b2tlblN0YWNrLnB1c2goW1gsZWV8fHZvaWQgMF0pLHRlLnBvc2l0aW9uPXtzdGFydDpSMChYLnN0YXJ0KSxlbmQ6dm9pZCAwfX1mdW5jdGlvbiBjKHRlKXtyZXR1cm4gWDtmdW5jdGlvbiBYKGVlKXt0ZSYmdGUuY2FsbCh0aGlzLGVlKSxsLmNhbGwodGhpcyxlZSl9fWZ1bmN0aW9uIGwodGUsWCl7bGV0IGVlPXRoaXMuc3RhY2sucG9wKCkseGU9dGhpcy50b2tlblN0YWNrLnBvcCgpO2lmKHhlKXhlWzBdLnR5cGUhPT10ZS50eXBlJiYoWD9YLmNhbGwodGhpcyx0ZSx4ZVswXSk6KHhlWzFdfHxfVGUpLmNhbGwodGhpcyx0ZSx4ZVswXSkpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY2xvc2UgYCIrdGUudHlwZSsiYCAoIitJMCh7c3RhcnQ6dGUuc3RhcnQsZW5kOnRlLmVuZH0pKyIpOiBpdFx1MjAxOXMgbm90IG9wZW4iKTtlZS5wb3NpdGlvbi5lbmQ9UjAodGUuZW5kKX1mdW5jdGlvbiB1KCl7cmV0dXJuIG9kKHRoaXMuc3RhY2sucG9wKCkpfWZ1bmN0aW9uIGQoKXt0aGlzLmRhdGEuZXhwZWN0aW5nRmlyc3RMaXN0SXRlbVZhbHVlPSEwfWZ1bmN0aW9uIGgodGUpe2lmKHRoaXMuZGF0YS5leHBlY3RpbmdGaXJzdExpc3RJdGVtVmFsdWUpe2xldCBYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07WC5zdGFydD1OdW1iZXIucGFyc2VJbnQodGhpcy5zbGljZVNlcmlhbGl6ZSh0ZSksMTApLHRoaXMuZGF0YS5leHBlY3RpbmdGaXJzdExpc3RJdGVtVmFsdWU9dm9pZCAwfX1mdW5jdGlvbiBtKCl7bGV0IHRlPXRoaXMucmVzdW1lKCksWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO1gubGFuZz10ZX1mdW5jdGlvbiB2KCl7bGV0IHRlPXRoaXMucmVzdW1lKCksWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO1gubWV0YT10ZX1mdW5jdGlvbiBiKCl7dGhpcy5kYXRhLmZsb3dDb2RlSW5zaWRlfHwodGhpcy5idWZmZXIoKSx0aGlzLmRhdGEuZmxvd0NvZGVJbnNpZGU9ITApfWZ1bmN0aW9uIGcoKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC52YWx1ZT10ZS5yZXBsYWNlKC9eKFxyP1xufFxyKXwoXHI/XG58XHIpJC9nLCIiKSx0aGlzLmRhdGEuZmxvd0NvZGVJbnNpZGU9dm9pZCAwfWZ1bmN0aW9uIHkoKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC52YWx1ZT10ZS5yZXBsYWNlKC8oXHI/XG58XHIpJC9nLCIiKX1mdW5jdGlvbiB3KHRlKXtsZXQgWD10aGlzLnJlc3VtZSgpLGVlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZWUubGFiZWw9WCxlZS5pZGVudGlmaWVyPURhKHRoaXMuc2xpY2VTZXJpYWxpemUodGUpKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGsoKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC50aXRsZT10ZX1mdW5jdGlvbiBSKCl7bGV0IHRlPXRoaXMucmVzdW1lKCksWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO1gudXJsPXRlfWZ1bmN0aW9uIEModGUpe2xldCBYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07aWYoIVguZGVwdGgpe2xldCBlZT10aGlzLnNsaWNlU2VyaWFsaXplKHRlKS5sZW5ndGg7WC5kZXB0aD1lZX19ZnVuY3Rpb24gUygpe3RoaXMuZGF0YS5zZXRleHRIZWFkaW5nU2x1cnBMaW5lRW5kaW5nPSEwfWZ1bmN0aW9uIE8odGUpe2xldCBYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC5kZXB0aD10aGlzLnNsaWNlU2VyaWFsaXplKHRlKS5jb2RlUG9pbnRBdCgwKT09PTYxPzE6Mn1mdW5jdGlvbiBEKCl7dGhpcy5kYXRhLnNldGV4dEhlYWRpbmdTbHVycExpbmVFbmRpbmc9dm9pZCAwfWZ1bmN0aW9uIE4odGUpe2xldCBlZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdLmNoaWxkcmVuLHhlPWVlW2VlLmxlbmd0aC0xXTsoIXhlfHx4ZS50eXBlIT09InRleHQiKSYmKHhlPUllKCkseGUucG9zaXRpb249e3N0YXJ0OlIwKHRlLnN0YXJ0KSxlbmQ6dm9pZCAwfSxlZS5wdXNoKHhlKSksdGhpcy5zdGFjay5wdXNoKHhlKX1mdW5jdGlvbiBxKHRlKXtsZXQgWD10aGlzLnN0YWNrLnBvcCgpO1gudmFsdWUrPXRoaXMuc2xpY2VTZXJpYWxpemUodGUpLFgucG9zaXRpb24uZW5kPVIwKHRlLmVuZCl9ZnVuY3Rpb24gXyh0ZSl7bGV0IFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZih0aGlzLmRhdGEuYXRIYXJkQnJlYWspe2xldCBlZT1YLmNoaWxkcmVuW1guY2hpbGRyZW4ubGVuZ3RoLTFdO2VlLnBvc2l0aW9uLmVuZD1SMCh0ZS5lbmQpLHRoaXMuZGF0YS5hdEhhcmRCcmVhaz12b2lkIDA7cmV0dXJufSF0aGlzLmRhdGEuc2V0ZXh0SGVhZGluZ1NsdXJwTGluZUVuZGluZyYmdC5jYW5Db250YWluRW9scy5pbmNsdWRlcyhYLnR5cGUpJiYoTi5jYWxsKHRoaXMsdGUpLHEuY2FsbCh0aGlzLHRlKSl9ZnVuY3Rpb24geigpe3RoaXMuZGF0YS5hdEhhcmRCcmVhaz0hMH1mdW5jdGlvbiBFKCl7bGV0IHRlPXRoaXMucmVzdW1lKCksWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO1gudmFsdWU9dGV9ZnVuY3Rpb24gVCgpe2xldCB0ZT10aGlzLnJlc3VtZSgpLFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtYLnZhbHVlPXRlfWZ1bmN0aW9uIEwoKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC52YWx1ZT10ZX1mdW5jdGlvbiBWKCl7bGV0IHRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07aWYodGhpcy5kYXRhLmluUmVmZXJlbmNlKXtsZXQgWD10aGlzLmRhdGEucmVmZXJlbmNlVHlwZXx8InNob3J0Y3V0Ijt0ZS50eXBlKz0iUmVmZXJlbmNlIix0ZS5yZWZlcmVuY2VUeXBlPVgsZGVsZXRlIHRlLnVybCxkZWxldGUgdGUudGl0bGV9ZWxzZSBkZWxldGUgdGUuaWRlbnRpZmllcixkZWxldGUgdGUubGFiZWw7dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGU9dm9pZCAwfWZ1bmN0aW9uIEIoKXtsZXQgdGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZih0aGlzLmRhdGEuaW5SZWZlcmVuY2Upe2xldCBYPXRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlfHwic2hvcnRjdXQiO3RlLnR5cGUrPSJSZWZlcmVuY2UiLHRlLnJlZmVyZW5jZVR5cGU9WCxkZWxldGUgdGUudXJsLGRlbGV0ZSB0ZS50aXRsZX1lbHNlIGRlbGV0ZSB0ZS5pZGVudGlmaWVyLGRlbGV0ZSB0ZS5sYWJlbDt0aGlzLmRhdGEucmVmZXJlbmNlVHlwZT12b2lkIDB9ZnVuY3Rpb24gVSh0ZSl7bGV0IFg9dGhpcy5zbGljZVNlcmlhbGl6ZSh0ZSksZWU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0yXTtlZS5sYWJlbD1sayhYKSxlZS5pZGVudGlmaWVyPURhKFgpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gSygpe2xldCB0ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdLFg9dGhpcy5yZXN1bWUoKSxlZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5pblJlZmVyZW5jZT0hMCxlZS50eXBlPT09ImxpbmsiKXtsZXQgeGU9dGUuY2hpbGRyZW47ZWUuY2hpbGRyZW49eGV9ZWxzZSBlZS5hbHQ9WH1mdW5jdGlvbiBJKCl7bGV0IHRlPXRoaXMucmVzdW1lKCksWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO1gudXJsPXRlfWZ1bmN0aW9uIHZlKCl7bGV0IHRlPXRoaXMucmVzdW1lKCksWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO1gudGl0bGU9dGV9ZnVuY3Rpb24gTWUoKXt0aGlzLmRhdGEuaW5SZWZlcmVuY2U9dm9pZCAwfWZ1bmN0aW9uIFAoKXt0aGlzLmRhdGEucmVmZXJlbmNlVHlwZT0iY29sbGFwc2VkIn1mdW5jdGlvbiBsZSh0ZSl7bGV0IFg9dGhpcy5yZXN1bWUoKSxlZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2VlLmxhYmVsPVgsZWUuaWRlbnRpZmllcj1EYSh0aGlzLnNsaWNlU2VyaWFsaXplKHRlKSkudG9Mb3dlckNhc2UoKSx0aGlzLmRhdGEucmVmZXJlbmNlVHlwZT0iZnVsbCJ9ZnVuY3Rpb24gU2UodGUpe3RoaXMuZGF0YS5jaGFyYWN0ZXJSZWZlcmVuY2VUeXBlPXRlLnR5cGV9ZnVuY3Rpb24gWih0ZSl7bGV0IFg9dGhpcy5zbGljZVNlcmlhbGl6ZSh0ZSksZWU9dGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGUseGU7ZWU/KHhlPVc1KFgsZWU9PT0iY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYyI/MTA6MTYpLHRoaXMuZGF0YS5jaGFyYWN0ZXJSZWZlcmVuY2VUeXBlPXZvaWQgMCk6eGU9RjAoWCk7bGV0IEFlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07QWUudmFsdWUrPXhlfWZ1bmN0aW9uIEEodGUpe2xldCBYPXRoaXMuc3RhY2sucG9wKCk7WC5wb3NpdGlvbi5lbmQ9UjAodGUuZW5kKX1mdW5jdGlvbiAkKHRlKXtxLmNhbGwodGhpcyx0ZSk7bGV0IFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtYLnVybD10aGlzLnNsaWNlU2VyaWFsaXplKHRlKX1mdW5jdGlvbiBqKHRlKXtxLmNhbGwodGhpcyx0ZSk7bGV0IFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtYLnVybD0ibWFpbHRvOiIrdGhpcy5zbGljZVNlcmlhbGl6ZSh0ZSl9ZnVuY3Rpb24gSCgpe3JldHVybnt0eXBlOiJibG9ja3F1b3RlIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gWSgpe3JldHVybnt0eXBlOiJjb2RlIixsYW5nOm51bGwsbWV0YTpudWxsLHZhbHVlOiIifX1mdW5jdGlvbiBkZSgpe3JldHVybnt0eXBlOiJpbmxpbmVDb2RlIix2YWx1ZToiIn19ZnVuY3Rpb24gd2UoKXtyZXR1cm57dHlwZToiZGVmaW5pdGlvbiIsaWRlbnRpZmllcjoiIixsYWJlbDpudWxsLHRpdGxlOm51bGwsdXJsOiIifX1mdW5jdGlvbiBMZSgpe3JldHVybnt0eXBlOiJlbXBoYXNpcyIsY2hpbGRyZW46W119fWZ1bmN0aW9uIEcoKXtyZXR1cm57dHlwZToiaGVhZGluZyIsZGVwdGg6MCxjaGlsZHJlbjpbXX19ZnVuY3Rpb24gVygpe3JldHVybnt0eXBlOiJicmVhayJ9fWZ1bmN0aW9uIGFlKCl7cmV0dXJue3R5cGU6Imh0bWwiLHZhbHVlOiIifX1mdW5jdGlvbiB5ZSgpe3JldHVybnt0eXBlOiJpbWFnZSIsdGl0bGU6bnVsbCx1cmw6IiIsYWx0Om51bGx9fWZ1bmN0aW9uIG1lKCl7cmV0dXJue3R5cGU6ImxpbmsiLHRpdGxlOm51bGwsdXJsOiIiLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBDZSh0ZSl7cmV0dXJue3R5cGU6Imxpc3QiLG9yZGVyZWQ6dGUudHlwZT09PSJsaXN0T3JkZXJlZCIsc3RhcnQ6bnVsbCxzcHJlYWQ6dGUuX3NwcmVhZCxjaGlsZHJlbjpbXX19ZnVuY3Rpb24gYmUodGUpe3JldHVybnt0eXBlOiJsaXN0SXRlbSIsc3ByZWFkOnRlLl9zcHJlYWQsY2hlY2tlZDpudWxsLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBuZSgpe3JldHVybnt0eXBlOiJwYXJhZ3JhcGgiLGNoaWxkcmVuOltdfX1mdW5jdGlvbiB6ZSgpe3JldHVybnt0eXBlOiJzdHJvbmciLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBJZSgpe3JldHVybnt0eXBlOiJ0ZXh0Iix2YWx1ZToiIn19ZnVuY3Rpb24gWmUoKXtyZXR1cm57dHlwZToidGhlbWF0aWNCcmVhayJ9fX1mdW5jdGlvbiBSMChlKXtyZXR1cm57bGluZTplLmxpbmUsY29sdW1uOmUuY29sdW1uLG9mZnNldDplLm9mZnNldH19ZnVuY3Rpb24gVFRlKGUsdCl7bGV0IHI9LTE7Zm9yKDsrK3I8dC5sZW5ndGg7KXtsZXQgYT10W3JdO0FycmF5LmlzQXJyYXkoYSk/VFRlKGUsYSk6Y0NyKGUsYSl9fWZ1bmN0aW9uIGNDcihlLHQpe2xldCByO2ZvcihyIGluIHQpaWYoQ1RlLmNhbGwodCxyKSlzd2l0Y2gocil7Y2FzZSJjYW5Db250YWluRW9scyI6e2xldCBhPXRbcl07YSYmZVtyXS5wdXNoKC4uLmEpO2JyZWFrfWNhc2UidHJhbnNmb3JtcyI6e2xldCBhPXRbcl07YSYmZVtyXS5wdXNoKC4uLmEpO2JyZWFrfWNhc2UiZW50ZXIiOmNhc2UiZXhpdCI6e2xldCBhPXRbcl07YSYmT2JqZWN0LmFzc2lnbihlW3JdLGEpO2JyZWFrfX19ZnVuY3Rpb24gX1RlKGUsdCl7dGhyb3cgZT9uZXcgRXJyb3IoIkNhbm5vdCBjbG9zZSBgIitlLnR5cGUrImAgKCIrSTAoe3N0YXJ0OmUuc3RhcnQsZW5kOmUuZW5kfSkrIik6IGEgZGlmZmVyZW50IHRva2VuIChgIit0LnR5cGUrImAsICIrSTAoe3N0YXJ0OnQuc3RhcnQsZW5kOnQuZW5kfSkrIikgaXMgb3BlbiIpOm5ldyBFcnJvcigiQ2Fubm90IGNsb3NlIGRvY3VtZW50LCBhIHRva2VuIChgIit0LnR5cGUrImAsICIrSTAoe3N0YXJ0OnQuc3RhcnQsZW5kOnQuZW5kfSkrIikgaXMgc3RpbGwgb3BlbiIpfXZhciBDVGUsTFRlPWYoKCk9PnthaygpO3pUZSgpO29rKCk7U1UoKTtOMCgpO3FtKCk7T1YoKTtDVGU9e30uaGFzT3duUHJvcGVydHl9KTt2YXIgJFRlPWYoKCk9PntMVGUoKX0pO2Z1bmN0aW9uIFo1KGUpe2xldCB0PXRoaXM7dC5wYXJzZXI9cjtmdW5jdGlvbiByKGEpe3JldHVybiB3VyhhLHsuLi50LmRhdGEoInNldHRpbmdzIiksLi4uZSxleHRlbnNpb25zOnQuZGF0YSgibWljcm9tYXJrRXh0ZW5zaW9ucyIpfHxbXSxtZGFzdEV4dGVuc2lvbnM6dC5kYXRhKCJmcm9tTWFya2Rvd25FeHRlbnNpb25zIil8fFtdfSl9fXZhciBEVGU9ZigoKT0+eyRUZSgpfSk7dmFyIEFUZT1mKCgpPT57RFRlKCl9KTt2YXIgRVRlPWplKChSVmEsTVcpPT57KGZ1bmN0aW9uKCl7dmFyIGU7dHlwZW9mIE1XPCJ1Ij9lPU1XLmV4cG9ydHM9YTplPShmdW5jdGlvbigpe3JldHVybiB0aGlzfHwoMCxldmFsKSgidGhpcyIpfSkoKSxlLmZvcm1hdD1hLGUudnNwcmludGY9cix0eXBlb2YgY29uc29sZTwidSImJnR5cGVvZiBjb25zb2xlLmxvZz09ImZ1bmN0aW9uIiYmKGUucHJpbnRmPXQpO2Z1bmN0aW9uIHQoKXtjb25zb2xlLmxvZyhhLmFwcGx5KG51bGwsYXJndW1lbnRzKSl9ZnVuY3Rpb24gcihpLG4pe3JldHVybiBhLmFwcGx5KG51bGwsW2ldLmNvbmNhdChuKSl9ZnVuY3Rpb24gYShpKXtmb3IodmFyIG49MSxzPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxvPTAsYz1pLmxlbmd0aCxsPSIiLHUsZD0hMSxoLG0sdj0hMSxiLGc9ZnVuY3Rpb24oKXtyZXR1cm4gc1tuKytdfSx5PWZ1bmN0aW9uKCl7Zm9yKHZhciB3PSIiOy9cZC8udGVzdChpW29dKTspdys9aVtvKytdLHU9aVtvXTtyZXR1cm4gdy5sZW5ndGg+MD9wYXJzZUludCh3KTpudWxsfTtvPGM7KytvKWlmKHU9aVtvXSxkKXN3aXRjaChkPSExLHU9PSIuIj8odj0hMSx1PWlbKytvXSk6dT09IjAiJiZpW28rMV09PSIuIj8odj0hMCxvKz0yLHU9aVtvXSk6dj0hMCxiPXkoKSx1KXtjYXNlImIiOmwrPXBhcnNlSW50KGcoKSwxMCkudG9TdHJpbmcoMik7YnJlYWs7Y2FzZSJjIjpoPWcoKSx0eXBlb2YgaD09InN0cmluZyJ8fGggaW5zdGFuY2VvZiBTdHJpbmc/bCs9aDpsKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KGgsMTApKTticmVhaztjYXNlImQiOmwrPXBhcnNlSW50KGcoKSwxMCk7YnJlYWs7Y2FzZSJmIjptPVN0cmluZyhwYXJzZUZsb2F0KGcoKSkudG9GaXhlZChifHw2KSksbCs9dj9tOm0ucmVwbGFjZSgvXjAvLCIiKTticmVhaztjYXNlImoiOmwrPUpTT04uc3RyaW5naWZ5KGcoKSk7YnJlYWs7Y2FzZSJvIjpsKz0iMCIrcGFyc2VJbnQoZygpLDEwKS50b1N0cmluZyg4KTticmVhaztjYXNlInMiOmwrPWcoKTticmVhaztjYXNlIngiOmwrPSIweCIrcGFyc2VJbnQoZygpLDEwKS50b1N0cmluZygxNik7YnJlYWs7Y2FzZSJYIjpsKz0iMHgiK3BhcnNlSW50KGcoKSwxMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7YnJlYWs7ZGVmYXVsdDpsKz11O2JyZWFrfWVsc2UgdT09PSIlIj9kPSEwOmwrPXU7cmV0dXJuIGx9fSkoKX0pO2Z1bmN0aW9uIGhkKGUpe3JldHVybiB0LmRpc3BsYXlOYW1lPWUuZGlzcGxheU5hbWV8fGUubmFtZSx0O2Z1bmN0aW9uIHQociwuLi5hKXtsZXQgaT1yJiYoMCxJVGUuZGVmYXVsdCkociwuLi5hKTtyZXR1cm4gbmV3IGUoaSl9fXZhciBJVGUsSm0sUFRlPWYoKCk9PntJVGU9c3IoRVRlKCksMSksSm09T2JqZWN0LmFzc2lnbihoZChFcnJvcikse2V2YWw6aGQoRXZhbEVycm9yKSxyYW5nZTpoZChSYW5nZUVycm9yKSxyZWZlcmVuY2U6aGQoUmVmZXJlbmNlRXJyb3IpLHN5bnRheDpoZChTeW50YXhFcnJvciksdHlwZTpoZChUeXBlRXJyb3IpLHVyaTpoZChVUklFcnJvcil9KX0pO2Z1bmN0aW9uIFg1KGUpe2xldCB0PVtdLHI9LTEsYT1BcnJheS5pc0FycmF5KGUpP2U6ZT9bZV06WyJ5YW1sIl07Zm9yKDsrK3I8YS5sZW5ndGg7KXRbcl09ZENyKGFbcl0pO3JldHVybiB0fWZ1bmN0aW9uIGRDcihlKXtsZXQgdD1lO2lmKHR5cGVvZiB0PT0ic3RyaW5nIil7aWYoIV9rLmNhbGwoTlRlLHQpKXRocm93IEptKCJNaXNzaW5nIG1hdHRlciBkZWZpbml0aW9uIGZvciBgJXNgIix0KTt0PXt0eXBlOnQsbWFya2VyOk5UZVt0XX19ZWxzZSBpZih0eXBlb2YgdCE9Im9iamVjdCIpdGhyb3cgSm0oIkV4cGVjdGVkIG1hdHRlciB0byBiZSBhbiBvYmplY3QsIG5vdCBgJWpgIix0KTtpZighX2suY2FsbCh0LCJ0eXBlIikpdGhyb3cgSm0oIk1pc3NpbmcgYHR5cGVgIGluIG1hdHRlciBgJWpgIix0KTtpZighX2suY2FsbCh0LCJmZW5jZSIpJiYhX2suY2FsbCh0LCJtYXJrZXIiKSl0aHJvdyBKbSgiTWlzc2luZyBgbWFya2VyYCBvciBgZmVuY2VgIGluIG1hdHRlciBgJWpgIix0KTtyZXR1cm4gdH12YXIgX2ssTlRlLGtXPWYoKCk9PntQVGUoKTtfaz17fS5oYXNPd25Qcm9wZXJ0eSxOVGU9e3lhbWw6Ii0iLHRvbWw6IisifX0pO2Z1bmN0aW9uIHpXKGUpe2xldCB0PVg1KGUpLHI9e30sYT0tMTtmb3IoOysrYTx0Lmxlbmd0aDspe2xldCBpPXRbYV0sbj1TVyhpLCJvcGVuIikuY2hhckNvZGVBdCgwKSxzPXVDcihpKSxvPXJbbl07QXJyYXkuaXNBcnJheShvKT9vLnB1c2gocyk6cltuXT1bc119cmV0dXJue2Zsb3c6cn19ZnVuY3Rpb24gdUNyKGUpe2xldCB0PWUuYW55d2hlcmUscj1lLnR5cGUsYT1yKyJGZW5jZSIsaT1hKyJTZXF1ZW5jZSIsbj1yKyJWYWx1ZSIscz17dG9rZW5pemU6dSxwYXJ0aWFsOiEwfSxvLGM9MDtyZXR1cm57dG9rZW5pemU6bCxjb25jcmV0ZTohMH07ZnVuY3Rpb24gbChkLGgsbSl7bGV0IHY9dGhpcztyZXR1cm4gYjtmdW5jdGlvbiBiKE8pe2xldCBEPXYubm93KCk7cmV0dXJuIEQuY29sdW1uPT09MSYmKEQubGluZT09PTF8fHQpJiYobz1TVyhlLCJvcGVuIiksYz0wLE89PT1vLmNoYXJDb2RlQXQoYykpPyhkLmVudGVyKHIpLGQuZW50ZXIoYSksZC5lbnRlcihpKSxnKE8pKTptKE8pfWZ1bmN0aW9uIGcoTyl7cmV0dXJuIGM9PT1vLmxlbmd0aD8oZC5leGl0KGkpLG90KE8pPyhkLmVudGVyKCJ3aGl0ZXNwYWNlIikseShPKSk6dyhPKSk6Tz09PW8uY2hhckNvZGVBdChjKyspPyhkLmNvbnN1bWUoTyksZyk6bShPKX1mdW5jdGlvbiB5KE8pe3JldHVybiBvdChPKT8oZC5jb25zdW1lKE8pLHkpOihkLmV4aXQoIndoaXRlc3BhY2UiKSx3KE8pKX1mdW5jdGlvbiB3KE8pe3JldHVybiBXZShPKT8oZC5leGl0KGEpLGQuZW50ZXIoImxpbmVFbmRpbmciKSxkLmNvbnN1bWUoTyksZC5leGl0KCJsaW5lRW5kaW5nIiksbz1TVyhlLCJjbG9zZSIpLGM9MCxkLmF0dGVtcHQocyxTLGspKTptKE8pfWZ1bmN0aW9uIGsoTyl7cmV0dXJuIE89PT1udWxsfHxXZShPKT9DKE8pOihkLmVudGVyKG4pLFIoTykpfWZ1bmN0aW9uIFIoTyl7cmV0dXJuIE89PT1udWxsfHxXZShPKT8oZC5leGl0KG4pLEMoTykpOihkLmNvbnN1bWUoTyksUil9ZnVuY3Rpb24gQyhPKXtyZXR1cm4gTz09PW51bGw/bShPKTooZC5lbnRlcigibGluZUVuZGluZyIpLGQuY29uc3VtZShPKSxkLmV4aXQoImxpbmVFbmRpbmciKSxkLmF0dGVtcHQocyxTLGspKX1mdW5jdGlvbiBTKE8pe3JldHVybiBkLmV4aXQociksaChPKX19ZnVuY3Rpb24gdShkLGgsbSl7bGV0IHY9MDtyZXR1cm4gYjtmdW5jdGlvbiBiKGspe3JldHVybiBrPT09by5jaGFyQ29kZUF0KHYpPyhkLmVudGVyKGEpLGQuZW50ZXIoaSksZyhrKSk6bShrKX1mdW5jdGlvbiBnKGspe3JldHVybiB2PT09by5sZW5ndGg/KGQuZXhpdChpKSxvdChrKT8oZC5lbnRlcigid2hpdGVzcGFjZSIpLHkoaykpOncoaykpOms9PT1vLmNoYXJDb2RlQXQodisrKT8oZC5jb25zdW1lKGspLGcpOm0oayl9ZnVuY3Rpb24geShrKXtyZXR1cm4gb3Qoayk/KGQuY29uc3VtZShrKSx5KTooZC5leGl0KCJ3aGl0ZXNwYWNlIiksdyhrKSl9ZnVuY3Rpb24gdyhrKXtyZXR1cm4gaz09PW51bGx8fFdlKGspPyhkLmV4aXQoYSksaChrKSk6bShrKX19fWZ1bmN0aW9uIFNXKGUsdCl7cmV0dXJuIGUubWFya2VyP0ZUZShlLm1hcmtlcix0KS5yZXBlYXQoMyk6RlRlKGUuZmVuY2UsdCl9ZnVuY3Rpb24gRlRlKGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIj9lOmVbdF19dmFyIE9UZT1mKCgpPT57S3QoKTtrVygpfSk7dmFyIFJUZT1mKCgpPT57fSk7dmFyIENXPWYoKCk9PntPVGUoKTtSVGUoKTtrVygpfSk7ZnVuY3Rpb24gX1coZSl7bGV0IHQ9WDUoZSkscj17fSxhPXt9LGk9LTE7Zm9yKDsrK2k8dC5sZW5ndGg7KXtsZXQgbj10W2ldO3Jbbi50eXBlXT1wQ3IobiksYVtuLnR5cGVdPWZDcixhW24udHlwZSsiVmFsdWUiXT1oQ3J9cmV0dXJue2VudGVyOnIsZXhpdDphfX1mdW5jdGlvbiBwQ3IoZSl7cmV0dXJuIHQ7ZnVuY3Rpb24gdChyKXt0aGlzLmVudGVyKHt0eXBlOmUudHlwZSx2YWx1ZToiIn0sciksdGhpcy5idWZmZXIoKX19ZnVuY3Rpb24gZkNyKGUpe2xldCB0PXRoaXMucmVzdW1lKCkscj10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdOyJ2YWx1ZSJpbiByLHRoaXMuZXhpdChlKSxyLnZhbHVlPXQucmVwbGFjZSgvXihccj9cbnxccil8KFxyP1xufFxyKSQvZywiIil9ZnVuY3Rpb24gaENyKGUpe3RoaXMuY29uZmlnLmVudGVyLmRhdGEuY2FsbCh0aGlzLGUpLHRoaXMuY29uZmlnLmV4aXQuZGF0YS5jYWxsKHRoaXMsZSl9ZnVuY3Rpb24gTFcoZSl7bGV0IHQ9W10scj17fSxhPVg1KGUpLGk9LTE7Zm9yKDsrK2k8YS5sZW5ndGg7KXtsZXQgbj1hW2ldO3Jbbi50eXBlXT1tQ3Iobik7bGV0IHM9VFcobiwib3BlbiIpO3QucHVzaCh7YXRCcmVhazohMCxjaGFyYWN0ZXI6cy5jaGFyQXQoMCksYWZ0ZXI6TDMocy5jaGFyQXQoMSkpfSl9cmV0dXJue3Vuc2FmZTp0LGhhbmRsZXJzOnJ9fWZ1bmN0aW9uIG1DcihlKXtsZXQgdD1UVyhlLCJvcGVuIikscj1UVyhlLCJjbG9zZSIpO3JldHVybiBhO2Z1bmN0aW9uIGEoaSl7cmV0dXJuIHQrKGkudmFsdWU/YApgK2kudmFsdWU6IiIpK2AKYCtyfX1mdW5jdGlvbiBUVyhlLHQpe3JldHVybiBlLm1hcmtlcj9CVGUoZS5tYXJrZXIsdCkucmVwZWF0KDMpOkJUZShlLmZlbmNlLHQpfWZ1bmN0aW9uIEJUZShlLHQpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyI/ZTplW3RdfXZhciBIVGU9ZigoKT0+e0UwKCk7Q1coKTtHeCgpfSk7dmFyIHFUZT1mKCgpPT57SFRlKCl9KTtmdW5jdGlvbiBRNShlKXtsZXQgdD10aGlzLHI9ZXx8Z0NyLGE9dC5kYXRhKCksaT1hLm1pY3JvbWFya0V4dGVuc2lvbnN8fChhLm1pY3JvbWFya0V4dGVuc2lvbnM9W10pLG49YS5mcm9tTWFya2Rvd25FeHRlbnNpb25zfHwoYS5mcm9tTWFya2Rvd25FeHRlbnNpb25zPVtdKSxzPWEudG9NYXJrZG93bkV4dGVuc2lvbnN8fChhLnRvTWFya2Rvd25FeHRlbnNpb25zPVtdKTtpLnB1c2goelcocikpLG4ucHVzaChfVyhyKSkscy5wdXNoKExXKHIpKX12YXIgZ0NyLGpUZT1mKCgpPT57cVRlKCk7Q1coKTtnQ3I9InlhbWwifSk7dmFyIFZUZT1mKCgpPT57alRlKCl9KTt2YXIgJFc9ZigoKT0+e30pO3ZhciBVVGUsYkNyLEVrLFdUZT1mKCgpPT57JFcoKTtVVGU9dHlwZW9mIHNlbGY9PSJvYmplY3QiP3NlbGY6Z2xvYmFsVGhpcyxiQ3I9KGUsdCk9PntsZXQgcj0oaSxuKT0+KGUuc2V0KG4saSksaSksYT1pPT57aWYoZS5oYXMoaSkpcmV0dXJuIGUuZ2V0KGkpO2xldFtuLHNdPXRbaV07c3dpdGNoKG4pe2Nhc2UgMDpjYXNlLTE6cmV0dXJuIHIocyxpKTtjYXNlIDE6e2xldCBvPXIoW10saSk7Zm9yKGxldCBjIG9mIHMpby5wdXNoKGEoYykpO3JldHVybiBvfWNhc2UgMjp7bGV0IG89cih7fSxpKTtmb3IobGV0W2MsbF1vZiBzKW9bYShjKV09YShsKTtyZXR1cm4gb31jYXNlIDM6cmV0dXJuIHIobmV3IERhdGUocyksaSk7Y2FzZSA0OntsZXR7c291cmNlOm8sZmxhZ3M6Y309cztyZXR1cm4gcihuZXcgUmVnRXhwKG8sYyksaSl9Y2FzZSA1OntsZXQgbz1yKG5ldyBNYXAsaSk7Zm9yKGxldFtjLGxdb2YgcylvLnNldChhKGMpLGEobCkpO3JldHVybiBvfWNhc2UgNjp7bGV0IG89cihuZXcgU2V0LGkpO2ZvcihsZXQgYyBvZiBzKW8uYWRkKGEoYykpO3JldHVybiBvfWNhc2UgNzp7bGV0e25hbWU6byxtZXNzYWdlOmN9PXM7cmV0dXJuIHIobmV3IFVUZVtvXShjKSxpKX1jYXNlIDg6cmV0dXJuIHIoQmlnSW50KHMpLGkpO2Nhc2UiQmlnSW50IjpyZXR1cm4gcihPYmplY3QoQmlnSW50KHMpKSxpKTtjYXNlIkFycmF5QnVmZmVyIjpyZXR1cm4gcihuZXcgVWludDhBcnJheShzKS5idWZmZXIscyk7Y2FzZSJEYXRhVmlldyI6e2xldHtidWZmZXI6b309bmV3IFVpbnQ4QXJyYXkocyk7cmV0dXJuIHIobmV3IERhdGFWaWV3KG8pLHMpfX1yZXR1cm4gcihuZXcgVVRlW25dKHMpLGkpfTtyZXR1cm4gYX0sRWs9ZT0+YkNyKG5ldyBNYXAsZSkoMCl9KTt2YXIgSzUsdkNyLHhDcix0NyxJayx5Q3IsUGssR1RlPWYoKCk9PnskVygpO0s1PSIiLHt0b1N0cmluZzp2Q3J9PXt9LHtrZXlzOnhDcn09T2JqZWN0LHQ3PWU9PntsZXQgdD10eXBlb2YgZTtpZih0IT09Im9iamVjdCJ8fCFlKXJldHVyblswLHRdO2xldCByPXZDci5jYWxsKGUpLnNsaWNlKDgsLTEpO3N3aXRjaChyKXtjYXNlIkFycmF5IjpyZXR1cm5bMSxLNV07Y2FzZSJPYmplY3QiOnJldHVyblsyLEs1XTtjYXNlIkRhdGUiOnJldHVyblszLEs1XTtjYXNlIlJlZ0V4cCI6cmV0dXJuWzQsSzVdO2Nhc2UiTWFwIjpyZXR1cm5bNSxLNV07Y2FzZSJTZXQiOnJldHVybls2LEs1XTtjYXNlIkRhdGFWaWV3IjpyZXR1cm5bMSxyXX1yZXR1cm4gci5pbmNsdWRlcygiQXJyYXkiKT9bMSxyXTpyLmluY2x1ZGVzKCJFcnJvciIpP1s3LHJdOlsyLHJdfSxJaz0oW2UsdF0pPT5lPT09MCYmKHQ9PT0iZnVuY3Rpb24ifHx0PT09InN5bWJvbCIpLHlDcj0oZSx0LHIsYSk9PntsZXQgaT0ocyxvKT0+e2xldCBjPWEucHVzaChzKS0xO3JldHVybiByLnNldChvLGMpLGN9LG49cz0+e2lmKHIuaGFzKHMpKXJldHVybiByLmdldChzKTtsZXRbbyxjXT10NyhzKTtzd2l0Y2gobyl7Y2FzZSAwOntsZXQgdT1zO3N3aXRjaChjKXtjYXNlImJpZ2ludCI6bz04LHU9cy50b1N0cmluZygpO2JyZWFrO2Nhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjppZihlKXRocm93IG5ldyBUeXBlRXJyb3IoInVuYWJsZSB0byBzZXJpYWxpemUgIitjKTt1PW51bGw7YnJlYWs7Y2FzZSJ1bmRlZmluZWQiOnJldHVybiBpKFstMV0scyl9cmV0dXJuIGkoW28sdV0scyl9Y2FzZSAxOntpZihjKXtsZXQgaD1zO3JldHVybiBjPT09IkRhdGFWaWV3Ij9oPW5ldyBVaW50OEFycmF5KHMuYnVmZmVyKTpjPT09IkFycmF5QnVmZmVyIiYmKGg9bmV3IFVpbnQ4QXJyYXkocykpLGkoW2MsWy4uLmhdXSxzKX1sZXQgdT1bXSxkPWkoW28sdV0scyk7Zm9yKGxldCBoIG9mIHMpdS5wdXNoKG4oaCkpO3JldHVybiBkfWNhc2UgMjp7aWYoYylzd2l0Y2goYyl7Y2FzZSJCaWdJbnQiOnJldHVybiBpKFtjLHMudG9TdHJpbmcoKV0scyk7Y2FzZSJCb29sZWFuIjpjYXNlIk51bWJlciI6Y2FzZSJTdHJpbmciOnJldHVybiBpKFtjLHMudmFsdWVPZigpXSxzKX1pZih0JiYidG9KU09OImluIHMpcmV0dXJuIG4ocy50b0pTT04oKSk7bGV0IHU9W10sZD1pKFtvLHVdLHMpO2ZvcihsZXQgaCBvZiB4Q3IocykpKGV8fCFJayh0NyhzW2hdKSkpJiZ1LnB1c2goW24oaCksbihzW2hdKV0pO3JldHVybiBkfWNhc2UgMzpyZXR1cm4gaShbbyxzLnRvSVNPU3RyaW5nKCldLHMpO2Nhc2UgNDp7bGV0e3NvdXJjZTp1LGZsYWdzOmR9PXM7cmV0dXJuIGkoW28se3NvdXJjZTp1LGZsYWdzOmR9XSxzKX1jYXNlIDU6e2xldCB1PVtdLGQ9aShbbyx1XSxzKTtmb3IobGV0W2gsbV1vZiBzKShlfHwhKElrKHQ3KGgpKXx8SWsodDcobSkpKSkmJnUucHVzaChbbihoKSxuKG0pXSk7cmV0dXJuIGR9Y2FzZSA2OntsZXQgdT1bXSxkPWkoW28sdV0scyk7Zm9yKGxldCBoIG9mIHMpKGV8fCFJayh0NyhoKSkpJiZ1LnB1c2gobihoKSk7cmV0dXJuIGR9fWxldHttZXNzYWdlOmx9PXM7cmV0dXJuIGkoW28se25hbWU6YyxtZXNzYWdlOmx9XSxzKX07cmV0dXJuIG59LFBrPShlLHtqc29uOnQsbG9zc3k6cn09e30pPT57bGV0IGE9W107cmV0dXJuIHlDcighKHR8fHIpLCEhdCxuZXcgTWFwLGEpKGUpLGF9fSk7dmFyIEIwLE5rPWYoKCk9PntXVGUoKTtHVGUoKTtCMD10eXBlb2Ygc3RydWN0dXJlZENsb25lPT0iZnVuY3Rpb24iPyhlLHQpPT50JiYoImpzb24iaW4gdHx8Imxvc3N5ImluIHQpP0VrKFBrKGUsdCkpOnN0cnVjdHVyZWRDbG9uZShlKTooZSx0KT0+RWsoUGsoZSx0KSl9KTtmdW5jdGlvbiBZVGUoZSl7cmV0dXJuIHQ7ZnVuY3Rpb24gdChyKXtsZXQgYT1yJiZyLnBvc2l0aW9uJiZyLnBvc2l0aW9uW2VdfHx7fTtpZih0eXBlb2YgYS5saW5lPT0ibnVtYmVyIiYmYS5saW5lPjAmJnR5cGVvZiBhLmNvbHVtbj09Im51bWJlciImJmEuY29sdW1uPjApcmV0dXJue2xpbmU6YS5saW5lLGNvbHVtbjphLmNvbHVtbixvZmZzZXQ6dHlwZW9mIGEub2Zmc2V0PT0ibnVtYmVyIiYmYS5vZmZzZXQ+LTE/YS5vZmZzZXQ6dm9pZCAwfX19ZnVuY3Rpb24gcjcoZSl7bGV0IHQ9T2soZSkscj1GayhlKTtpZih0JiZyKXJldHVybntzdGFydDp0LGVuZDpyfX12YXIgRmssT2ssWlRlPWYoKCk9PntGaz1ZVGUoImVuZCIpLE9rPVlUZSgic3RhcnQiKX0pO3ZhciBSaz1mKCgpPT57WlRlKCl9KTt2YXIgbWQsQmssSVc9ZigoKT0+e21kPVsiYXJpYURlc2NyaWJlZEJ5IiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiXSxCaz17YW5jZXN0b3JzOnt0Ym9keTpbInRhYmxlIl0sdGQ6WyJ0YWJsZSJdLHRoOlsidGFibGUiXSx0aGVhZDpbInRhYmxlIl0sdGZvb3Q6WyJ0YWJsZSJdLHRyOlsidGFibGUiXX0sYXR0cmlidXRlczp7YTpbLi4ubWQsImRhdGFGb290bm90ZUJhY2tyZWYiLCJkYXRhRm9vdG5vdGVSZWYiLFsiY2xhc3NOYW1lIiwiZGF0YS1mb290bm90ZS1iYWNrcmVmIl0sImhyZWYiXSxibG9ja3F1b3RlOlsiY2l0ZSJdLGNvZGU6W1siY2xhc3NOYW1lIiwvXmxhbmd1YWdlLS4vXV0sZGVsOlsiY2l0ZSJdLGRpdjpbIml0ZW1TY29wZSIsIml0ZW1UeXBlIl0sZGw6Wy4uLm1kXSxoMjpbWyJjbGFzc05hbWUiLCJzci1vbmx5Il1dLGltZzpbLi4ubWQsImxvbmdEZXNjIiwic3JjIl0saW5wdXQ6W1siZGlzYWJsZWQiLCEwXSxbInR5cGUiLCJjaGVja2JveCJdXSxpbnM6WyJjaXRlIl0sbGk6W1siY2xhc3NOYW1lIiwidGFzay1saXN0LWl0ZW0iXV0sb2w6Wy4uLm1kLFsiY2xhc3NOYW1lIiwiY29udGFpbnMtdGFzay1saXN0Il1dLHE6WyJjaXRlIl0sc2VjdGlvbjpbImRhdGFGb290bm90ZXMiLFsiY2xhc3NOYW1lIiwiZm9vdG5vdGVzIl1dLHNvdXJjZTpbInNyY1NldCJdLHN1bW1hcnk6Wy4uLm1kXSx0YWJsZTpbLi4ubWRdLHVsOlsuLi5tZCxbImNsYXNzTmFtZSIsImNvbnRhaW5zLXRhc2stbGlzdCJdXSwiKiI6WyJhYmJyIiwiYWNjZXB0IiwiYWNjZXB0Q2hhcnNldCIsImFjY2Vzc0tleSIsImFjdGlvbiIsImFsaWduIiwiYWx0IiwiYXhpcyIsImJvcmRlciIsImNlbGxQYWRkaW5nIiwiY2VsbFNwYWNpbmciLCJjaGFyIiwiY2hhck9mZiIsImNoYXJTZXQiLCJjaGVja2VkIiwiY2xlYXIiLCJjb2xTcGFuIiwiY29sb3IiLCJjb2xzIiwiY29tcGFjdCIsImNvb3JkcyIsImRhdGVUaW1lIiwiZGlyIiwiZW5jVHlwZSIsImZyYW1lIiwiaFNwYWNlIiwiaGVhZGVycyIsImhlaWdodCIsImhyZWZMYW5nIiwiaHRtbEZvciIsImlkIiwiaXNNYXAiLCJpdGVtUHJvcCIsImxhYmVsIiwibGFuZyIsIm1heExlbmd0aCIsIm1lZGlhIiwibWV0aG9kIiwibXVsdGlwbGUiLCJuYW1lIiwibm9IcmVmIiwibm9TaGFkZSIsIm5vV3JhcCIsIm9wZW4iLCJwcm9tcHQiLCJyZWFkT25seSIsInJldiIsInJvd1NwYW4iLCJyb3dzIiwicnVsZXMiLCJzY29wZSIsInNlbGVjdGVkIiwic2hhcGUiLCJzaXplIiwic3BhbiIsInN0YXJ0Iiwic3VtbWFyeSIsInRhYkluZGV4IiwidGl0bGUiLCJ1c2VNYXAiLCJ2QWxpZ24iLCJ2YWx1ZSIsIndpZHRoIl19LGNsb2JiZXI6WyJhcmlhRGVzY3JpYmVkQnkiLCJhcmlhTGFiZWxsZWRCeSIsImlkIiwibmFtZSJdLGNsb2JiZXJQcmVmaXg6InVzZXItY29udGVudC0iLHByb3RvY29sczp7Y2l0ZTpbImh0dHAiLCJodHRwcyJdLGhyZWY6WyJodHRwIiwiaHR0cHMiLCJpcmMiLCJpcmNzIiwibWFpbHRvIiwieG1wcCJdLGxvbmdEZXNjOlsiaHR0cCIsImh0dHBzIl0sc3JjOlsiaHR0cCIsImh0dHBzIl19LHJlcXVpcmVkOntpbnB1dDp7ZGlzYWJsZWQ6ITAsdHlwZToiY2hlY2tib3gifX0sc3RyaXA6WyJzY3JpcHQiXSx0YWdOYW1lczpbImEiLCJiIiwiYmxvY2txdW90ZSIsImJyIiwiY29kZSIsImRkIiwiZGVsIiwiZGV0YWlscyIsImRpdiIsImRsIiwiZHQiLCJlbSIsImgxIiwiaDIiLCJoMyIsImg0IiwiaDUiLCJoNiIsImhyIiwiaSIsImltZyIsImlucHV0IiwiaW5zIiwia2JkIiwibGkiLCJvbCIsInAiLCJwaWN0dXJlIiwicHJlIiwicSIsInJwIiwicnQiLCJydWJ5IiwicyIsInNhbXAiLCJzZWN0aW9uIiwic291cmNlIiwic3BhbiIsInN0cmlrZSIsInN0cm9uZyIsInN1YiIsInN1bW1hcnkiLCJzdXAiLCJ0YWJsZSIsInRib2R5IiwidGQiLCJ0Zm9vdCIsInRoIiwidGhlYWQiLCJ0ciIsInR0IiwidWwiLCJ2YXIiXX19KTtmdW5jdGlvbiBQVyhlLHQpe2xldCByPXt0eXBlOiJyb290IixjaGlsZHJlbjpbXX0sYT17c2NoZW1hOnQ/ey4uLkJrLC4uLnR9OkJrLHN0YWNrOltdfSxpPVhUZShhLGUpO3JldHVybiBpJiYoQXJyYXkuaXNBcnJheShpKT9pLmxlbmd0aD09PTE/cj1pWzBdOnIuY2hpbGRyZW49aTpyPWkpLHJ9ZnVuY3Rpb24gWFRlKGUsdCl7aWYodCYmdHlwZW9mIHQ9PSJvYmplY3QiKXtsZXQgcj10O3N3aXRjaCh0eXBlb2Ygci50eXBlPT0ic3RyaW5nIj9yLnR5cGU6IiIpe2Nhc2UiY29tbWVudCI6cmV0dXJuIHdDcihlLHIpO2Nhc2UiZG9jdHlwZSI6cmV0dXJuIE1DcihlLHIpO2Nhc2UiZWxlbWVudCI6cmV0dXJuIGtDcihlLHIpO2Nhc2Uicm9vdCI6cmV0dXJuIFNDcihlLHIpO2Nhc2UidGV4dCI6cmV0dXJuIHpDcihlLHIpO2RlZmF1bHQ6fX19ZnVuY3Rpb24gd0NyKGUsdCl7aWYoZS5zY2hlbWEuYWxsb3dDb21tZW50cyl7bGV0IHI9dHlwZW9mIHQudmFsdWU9PSJzdHJpbmciP3QudmFsdWU6IiIsYT1yLmluZGV4T2YoIi0tPiIpLG49e3R5cGU6ImNvbW1lbnQiLHZhbHVlOmE8MD9yOnIuc2xpY2UoMCxhKX07cmV0dXJuIGE3KG4sdCksbn19ZnVuY3Rpb24gTUNyKGUsdCl7aWYoZS5zY2hlbWEuYWxsb3dEb2N0eXBlcyl7bGV0IHI9e3R5cGU6ImRvY3R5cGUifTtyZXR1cm4gYTcocix0KSxyfX1mdW5jdGlvbiBrQ3IoZSx0KXtsZXQgcj10eXBlb2YgdC50YWdOYW1lPT0ic3RyaW5nIj90LnRhZ05hbWU6IiI7ZS5zdGFjay5wdXNoKHIpO2xldCBhPVFUZShlLHQuY2hpbGRyZW4pLGk9Q0NyKGUsdC5wcm9wZXJ0aWVzKTtlLnN0YWNrLnBvcCgpO2xldCBuPSExO2lmKHImJnIhPT0iKiImJighZS5zY2hlbWEudGFnTmFtZXN8fGUuc2NoZW1hLnRhZ05hbWVzLmluY2x1ZGVzKHIpKSYmKG49ITAsZS5zY2hlbWEuYW5jZXN0b3JzJiZIMC5jYWxsKGUuc2NoZW1hLmFuY2VzdG9ycyxyKSkpe2xldCBvPWUuc2NoZW1hLmFuY2VzdG9yc1tyXSxjPS0xO2ZvcihuPSExOysrYzxvLmxlbmd0aDspZS5zdGFjay5pbmNsdWRlcyhvW2NdKSYmKG49ITApfWlmKCFuKXJldHVybiBlLnNjaGVtYS5zdHJpcCYmIWUuc2NoZW1hLnN0cmlwLmluY2x1ZGVzKHIpP2E6dm9pZCAwO2xldCBzPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOnIscHJvcGVydGllczppLGNoaWxkcmVuOmF9O3JldHVybiBhNyhzLHQpLHN9ZnVuY3Rpb24gU0NyKGUsdCl7bGV0IGE9e3R5cGU6InJvb3QiLGNoaWxkcmVuOlFUZShlLHQuY2hpbGRyZW4pfTtyZXR1cm4gYTcoYSx0KSxhfWZ1bmN0aW9uIHpDcihlLHQpe2xldCBhPXt0eXBlOiJ0ZXh0Iix2YWx1ZTp0eXBlb2YgdC52YWx1ZT09InN0cmluZyI/dC52YWx1ZToiIn07cmV0dXJuIGE3KGEsdCksYX1mdW5jdGlvbiBRVGUoZSx0KXtsZXQgcj1bXTtpZihBcnJheS5pc0FycmF5KHQpKXtsZXQgYT10LGk9LTE7Zm9yKDsrK2k8YS5sZW5ndGg7KXtsZXQgbj1YVGUoZSxhW2ldKTtuJiYoQXJyYXkuaXNBcnJheShuKT9yLnB1c2goLi4ubik6ci5wdXNoKG4pKX19cmV0dXJuIHJ9ZnVuY3Rpb24gQ0NyKGUsdCl7bGV0IHI9ZS5zdGFja1tlLnN0YWNrLmxlbmd0aC0xXSxhPWUuc2NoZW1hLmF0dHJpYnV0ZXMsaT1lLnNjaGVtYS5yZXF1aXJlZCxuPWEmJkgwLmNhbGwoYSxyKT9hW3JdOnZvaWQgMCxzPWEmJkgwLmNhbGwoYSwiKiIpP2FbIioiXTp2b2lkIDAsbz10JiZ0eXBlb2YgdD09Im9iamVjdCI/dDp7fSxjPXt9LGw7Zm9yKGwgaW4gbylpZihIMC5jYWxsKG8sbCkpe2xldCB1PW9bbF0sZD1KVGUoZSxlX2UobixsKSxsLHUpO2Q9PW51bGwmJihkPUpUZShlLGVfZShzLGwpLGwsdSkpLGQhPW51bGwmJihjW2xdPWQpfWlmKGkmJkgwLmNhbGwoaSxyKSl7bGV0IHU9aVtyXTtmb3IobCBpbiB1KUgwLmNhbGwodSxsKSYmIUgwLmNhbGwoYyxsKSYmKGNbbF09dVtsXSl9cmV0dXJuIGN9ZnVuY3Rpb24gSlRlKGUsdCxyLGEpe3JldHVybiB0P0FycmF5LmlzQXJyYXkoYSk/VENyKGUsdCxyLGEpOktUZShlLHQscixhKTp2b2lkIDB9ZnVuY3Rpb24gVENyKGUsdCxyLGEpe2xldCBpPS0xLG49W107Zm9yKDsrK2k8YS5sZW5ndGg7KXtsZXQgcz1LVGUoZSx0LHIsYVtpXSk7KHR5cGVvZiBzPT0ibnVtYmVyInx8dHlwZW9mIHM9PSJzdHJpbmciKSYmbi5wdXNoKHMpfXJldHVybiBufWZ1bmN0aW9uIEtUZShlLHQscixhKXtpZighKHR5cGVvZiBhIT0iYm9vbGVhbiImJnR5cGVvZiBhIT0ibnVtYmVyIiYmdHlwZW9mIGEhPSJzdHJpbmciKSYmX0NyKGUscixhKSl7aWYodHlwZW9mIHQ9PSJvYmplY3QiJiZ0Lmxlbmd0aD4xKXtsZXQgaT0hMSxuPTA7Zm9yKDsrK248dC5sZW5ndGg7KXtsZXQgcz10W25dO2lmKHMmJnR5cGVvZiBzPT0ib2JqZWN0IiYmImZsYWdzImluIHMpe2lmKHMudGVzdChTdHJpbmcoYSkpKXtpPSEwO2JyZWFrfX1lbHNlIGlmKHM9PT1hKXtpPSEwO2JyZWFrfX1pZighaSlyZXR1cm59cmV0dXJuIGUuc2NoZW1hLmNsb2JiZXImJmUuc2NoZW1hLmNsb2JiZXJQcmVmaXgmJmUuc2NoZW1hLmNsb2JiZXIuaW5jbHVkZXMocik/ZS5zY2hlbWEuY2xvYmJlclByZWZpeCthOmF9fWZ1bmN0aW9uIF9DcihlLHQscil7bGV0IGE9ZS5zY2hlbWEucHJvdG9jb2xzJiZIMC5jYWxsKGUuc2NoZW1hLnByb3RvY29scyx0KT9lLnNjaGVtYS5wcm90b2NvbHNbdF06dm9pZCAwO2lmKCFhfHxhLmxlbmd0aD09PTApcmV0dXJuITA7bGV0IGk9U3RyaW5nKHIpLG49aS5pbmRleE9mKCI6Iikscz1pLmluZGV4T2YoIj8iKSxvPWkuaW5kZXhPZigiIyIpLGM9aS5pbmRleE9mKCIvIik7aWYobjwwfHxjPi0xJiZuPmN8fHM+LTEmJm4+c3x8bz4tMSYmbj5vKXJldHVybiEwO2xldCBsPS0xO2Zvcig7KytsPGEubGVuZ3RoOyl7bGV0IHU9YVtsXTtpZihuPT09dS5sZW5ndGgmJmkuc2xpY2UoMCx1Lmxlbmd0aCk9PT11KXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIGE3KGUsdCl7bGV0IHI9cjcodCk7dC5kYXRhJiYoZS5kYXRhPUIwKHQuZGF0YSkpLHImJihlLnBvc2l0aW9uPXIpfWZ1bmN0aW9uIGVfZShlLHQpe2xldCByLGE9LTE7aWYoZSlmb3IoOysrYTxlLmxlbmd0aDspe2xldCBpPWVbYV0sbj10eXBlb2YgaT09InN0cmluZyI/aTppWzBdO2lmKG49PT10KXJldHVybiBpO249PT0iZGF0YSoiJiYocj1pKX1pZih0Lmxlbmd0aD40JiZ0LnNsaWNlKDAsNCkudG9Mb3dlckNhc2UoKT09PSJkYXRhIilyZXR1cm4gcn12YXIgSDAsdF9lPWYoKCk9PntOaygpO1JrKCk7SVcoKTtIMD17fS5oYXNPd25Qcm9wZXJ0eX0pO3ZhciByX2U9ZigoKT0+e3RfZSgpO0lXKCl9KTtmdW5jdGlvbiBhX2UoZSx0KXtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiYmxvY2txdW90ZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjplLndyYXAoZS5hbGwodCksITApfTtyZXR1cm4gZS5wYXRjaCh0LHIpLGUuYXBwbHlEYXRhKHQscil9dmFyIGlfZT1mKCgpPT57fSk7ZnVuY3Rpb24gbl9lKGUsdCl7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImJyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltdfTtyZXR1cm4gZS5wYXRjaCh0LHIpLFtlLmFwcGx5RGF0YSh0LHIpLHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9XX12YXIgc19lPWYoKCk9Pnt9KTtmdW5jdGlvbiBvX2UoZSx0KXtsZXQgcj10LnZhbHVlP3QudmFsdWUrYApgOiIiLGE9e30saT10Lmxhbmc/dC5sYW5nLnNwbGl0KC9ccysvKTpbXTtpLmxlbmd0aD4wJiYoYS5jbGFzc05hbWU9WyJsYW5ndWFnZS0iK2lbMF1dKTtsZXQgbj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiY29kZSIscHJvcGVydGllczphLGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6cn1dfTtyZXR1cm4gdC5tZXRhJiYobi5kYXRhPXttZXRhOnQubWV0YX0pLGUucGF0Y2godCxuKSxuPWUuYXBwbHlEYXRhKHQsbiksbj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToicHJlIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltuXX0sZS5wYXRjaCh0LG4pLG59dmFyIGxfZT1mKCgpPT57fSk7ZnVuY3Rpb24gY19lKGUsdCl7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImRlbCIscHJvcGVydGllczp7fSxjaGlsZHJlbjplLmFsbCh0KX07cmV0dXJuIGUucGF0Y2godCxyKSxlLmFwcGx5RGF0YSh0LHIpfXZhciBkX2U9ZigoKT0+e30pO2Z1bmN0aW9uIHVfZShlLHQpe2xldCByPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJlbSIscHJvcGVydGllczp7fSxjaGlsZHJlbjplLmFsbCh0KX07cmV0dXJuIGUucGF0Y2godCxyKSxlLmFwcGx5RGF0YSh0LHIpfXZhciBwX2U9ZigoKT0+e30pO2Z1bmN0aW9uIGZfZShlLHQpe2xldCByPXR5cGVvZiBlLm9wdGlvbnMuY2xvYmJlclByZWZpeD09InN0cmluZyI/ZS5vcHRpb25zLmNsb2JiZXJQcmVmaXg6InVzZXItY29udGVudC0iLGE9U3RyaW5nKHQuaWRlbnRpZmllcikudG9VcHBlckNhc2UoKSxpPUgxKGEudG9Mb3dlckNhc2UoKSksbj1lLmZvb3Rub3RlT3JkZXIuaW5kZXhPZihhKSxzLG89ZS5mb290bm90ZUNvdW50cy5nZXQoYSk7bz09PXZvaWQgMD8obz0wLGUuZm9vdG5vdGVPcmRlci5wdXNoKGEpLHM9ZS5mb290bm90ZU9yZGVyLmxlbmd0aCk6cz1uKzEsbys9MSxlLmZvb3Rub3RlQ291bnRzLnNldChhLG8pO2xldCBjPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOntocmVmOiIjIityKyJmbi0iK2ksaWQ6cisiZm5yZWYtIitpKyhvPjE/Ii0iK286IiIpLGRhdGFGb290bm90ZVJlZjohMCxhcmlhRGVzY3JpYmVkQnk6WyJmb290bm90ZS1sYWJlbCJdfSxjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOlN0cmluZyhzKX1dfTtlLnBhdGNoKHQsYyk7bGV0IGw9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InN1cCIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbY119O3JldHVybiBlLnBhdGNoKHQsbCksZS5hcHBseURhdGEodCxsKX12YXIgaF9lPWYoKCk9PntNMigpfSk7ZnVuY3Rpb24gbV9lKGUsdCl7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImgiK3QuZGVwdGgscHJvcGVydGllczp7fSxjaGlsZHJlbjplLmFsbCh0KX07cmV0dXJuIGUucGF0Y2godCxyKSxlLmFwcGx5RGF0YSh0LHIpfXZhciBnX2U9ZigoKT0+e30pO2Z1bmN0aW9uIGJfZShlLHQpe2lmKGUub3B0aW9ucy5hbGxvd0Rhbmdlcm91c0h0bWwpe2xldCByPXt0eXBlOiJyYXciLHZhbHVlOnQudmFsdWV9O3JldHVybiBlLnBhdGNoKHQsciksZS5hcHBseURhdGEodCxyKX19dmFyIHZfZT1mKCgpPT57fSk7ZnVuY3Rpb24gSGsoZSx0KXtsZXQgcj10LnJlZmVyZW5jZVR5cGUsYT0iXSI7aWYocj09PSJjb2xsYXBzZWQiP2ErPSJbXSI6cj09PSJmdWxsIiYmKGErPSJbIisodC5sYWJlbHx8dC5pZGVudGlmaWVyKSsiXSIpLHQudHlwZT09PSJpbWFnZVJlZmVyZW5jZSIpcmV0dXJuW3t0eXBlOiJ0ZXh0Iix2YWx1ZToiIVsiK3QuYWx0K2F9XTtsZXQgaT1lLmFsbCh0KSxuPWlbMF07biYmbi50eXBlPT09InRleHQiP24udmFsdWU9IlsiK24udmFsdWU6aS51bnNoaWZ0KHt0eXBlOiJ0ZXh0Iix2YWx1ZToiWyJ9KTtsZXQgcz1pW2kubGVuZ3RoLTFdO3JldHVybiBzJiZzLnR5cGU9PT0idGV4dCI/cy52YWx1ZSs9YTppLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmF9KSxpfXZhciBOVz1mKCgpPT57fSk7ZnVuY3Rpb24geF9lKGUsdCl7bGV0IHI9U3RyaW5nKHQuaWRlbnRpZmllcikudG9VcHBlckNhc2UoKSxhPWUuZGVmaW5pdGlvbkJ5SWQuZ2V0KHIpO2lmKCFhKXJldHVybiBIayhlLHQpO2xldCBpPXtzcmM6SDEoYS51cmx8fCIiKSxhbHQ6dC5hbHR9O2EudGl0bGUhPT1udWxsJiZhLnRpdGxlIT09dm9pZCAwJiYoaS50aXRsZT1hLnRpdGxlKTtsZXQgbj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaW1nIixwcm9wZXJ0aWVzOmksY2hpbGRyZW46W119O3JldHVybiBlLnBhdGNoKHQsbiksZS5hcHBseURhdGEodCxuKX12YXIgeV9lPWYoKCk9PntNMigpO05XKCl9KTtmdW5jdGlvbiB3X2UoZSx0KXtsZXQgcj17c3JjOkgxKHQudXJsKX07dC5hbHQhPT1udWxsJiZ0LmFsdCE9PXZvaWQgMCYmKHIuYWx0PXQuYWx0KSx0LnRpdGxlIT09bnVsbCYmdC50aXRsZSE9PXZvaWQgMCYmKHIudGl0bGU9dC50aXRsZSk7bGV0IGE9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImltZyIscHJvcGVydGllczpyLGNoaWxkcmVuOltdfTtyZXR1cm4gZS5wYXRjaCh0LGEpLGUuYXBwbHlEYXRhKHQsYSl9dmFyIE1fZT1mKCgpPT57TTIoKX0pO2Z1bmN0aW9uIGtfZShlLHQpe2xldCByPXt0eXBlOiJ0ZXh0Iix2YWx1ZTp0LnZhbHVlLnJlcGxhY2UoL1xyP1xufFxyL2csIiAiKX07ZS5wYXRjaCh0LHIpO2xldCBhPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJjb2RlIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltyXX07cmV0dXJuIGUucGF0Y2godCxhKSxlLmFwcGx5RGF0YSh0LGEpfXZhciBTX2U9ZigoKT0+e30pO2Z1bmN0aW9uIHpfZShlLHQpe2xldCByPVN0cmluZyh0LmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCksYT1lLmRlZmluaXRpb25CeUlkLmdldChyKTtpZighYSlyZXR1cm4gSGsoZSx0KTtsZXQgaT17aHJlZjpIMShhLnVybHx8IiIpfTthLnRpdGxlIT09bnVsbCYmYS50aXRsZSE9PXZvaWQgMCYmKGkudGl0bGU9YS50aXRsZSk7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6aSxjaGlsZHJlbjplLmFsbCh0KX07cmV0dXJuIGUucGF0Y2godCxuKSxlLmFwcGx5RGF0YSh0LG4pfXZhciBDX2U9ZigoKT0+e00yKCk7TlcoKX0pO2Z1bmN0aW9uIFRfZShlLHQpe2xldCByPXtocmVmOkgxKHQudXJsKX07dC50aXRsZSE9PW51bGwmJnQudGl0bGUhPT12b2lkIDAmJihyLnRpdGxlPXQudGl0bGUpO2xldCBhPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOnIsY2hpbGRyZW46ZS5hbGwodCl9O3JldHVybiBlLnBhdGNoKHQsYSksZS5hcHBseURhdGEodCxhKX12YXIgX19lPWYoKCk9PntNMigpfSk7ZnVuY3Rpb24gJF9lKGUsdCxyKXtsZXQgYT1lLmFsbCh0KSxpPXI/TENyKHIpOkxfZSh0KSxuPXt9LHM9W107aWYodHlwZW9mIHQuY2hlY2tlZD09ImJvb2xlYW4iKXtsZXQgdT1hWzBdLGQ7dSYmdS50eXBlPT09ImVsZW1lbnQiJiZ1LnRhZ05hbWU9PT0icCI/ZD11OihkPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltdfSxhLnVuc2hpZnQoZCkpLGQuY2hpbGRyZW4ubGVuZ3RoPjAmJmQuY2hpbGRyZW4udW5zaGlmdCh7dHlwZToidGV4dCIsdmFsdWU6IiAifSksZC5jaGlsZHJlbi51bnNoaWZ0KHt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJpbnB1dCIscHJvcGVydGllczp7dHlwZToiY2hlY2tib3giLGNoZWNrZWQ6dC5jaGVja2VkLGRpc2FibGVkOiEwfSxjaGlsZHJlbjpbXX0pLG4uY2xhc3NOYW1lPVsidGFzay1saXN0LWl0ZW0iXX1sZXQgbz0tMTtmb3IoOysrbzxhLmxlbmd0aDspe2xldCB1PWFbb107KGl8fG8hPT0wfHx1LnR5cGUhPT0iZWxlbWVudCJ8fHUudGFnTmFtZSE9PSJwIikmJnMucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSksdS50eXBlPT09ImVsZW1lbnQiJiZ1LnRhZ05hbWU9PT0icCImJiFpP3MucHVzaCguLi51LmNoaWxkcmVuKTpzLnB1c2godSl9bGV0IGM9YVthLmxlbmd0aC0xXTtjJiYoaXx8Yy50eXBlIT09ImVsZW1lbnQifHxjLnRhZ05hbWUhPT0icCIpJiZzLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmAKYH0pO2xldCBsPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJsaSIscHJvcGVydGllczpuLGNoaWxkcmVuOnN9O3JldHVybiBlLnBhdGNoKHQsbCksZS5hcHBseURhdGEodCxsKX1mdW5jdGlvbiBMQ3IoZSl7bGV0IHQ9ITE7aWYoZS50eXBlPT09Imxpc3QiKXt0PWUuc3ByZWFkfHwhMTtsZXQgcj1lLmNoaWxkcmVuLGE9LTE7Zm9yKDshdCYmKythPHIubGVuZ3RoOyl0PUxfZShyW2FdKX1yZXR1cm4gdH1mdW5jdGlvbiBMX2UoZSl7bGV0IHQ9ZS5zcHJlYWQ7cmV0dXJuIHQ/P2UuY2hpbGRyZW4ubGVuZ3RoPjF9dmFyIERfZT1mKCgpPT57fSk7ZnVuY3Rpb24gQV9lKGUsdCl7bGV0IHI9e30sYT1lLmFsbCh0KSxpPS0xO2Zvcih0eXBlb2YgdC5zdGFydD09Im51bWJlciImJnQuc3RhcnQhPT0xJiYoci5zdGFydD10LnN0YXJ0KTsrK2k8YS5sZW5ndGg7KXtsZXQgcz1hW2ldO2lmKHMudHlwZT09PSJlbGVtZW50IiYmcy50YWdOYW1lPT09ImxpIiYmcy5wcm9wZXJ0aWVzJiZBcnJheS5pc0FycmF5KHMucHJvcGVydGllcy5jbGFzc05hbWUpJiZzLnByb3BlcnRpZXMuY2xhc3NOYW1lLmluY2x1ZGVzKCJ0YXNrLWxpc3QtaXRlbSIpKXtyLmNsYXNzTmFtZT1bImNvbnRhaW5zLXRhc2stbGlzdCJdO2JyZWFrfX1sZXQgbj17dHlwZToiZWxlbWVudCIsdGFnTmFtZTp0Lm9yZGVyZWQ/Im9sIjoidWwiLHByb3BlcnRpZXM6cixjaGlsZHJlbjplLndyYXAoYSwhMCl9O3JldHVybiBlLnBhdGNoKHQsbiksZS5hcHBseURhdGEodCxuKX12YXIgRV9lPWYoKCk9Pnt9KTtmdW5jdGlvbiBJX2UoZSx0KXtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToicCIscHJvcGVydGllczp7fSxjaGlsZHJlbjplLmFsbCh0KX07cmV0dXJuIGUucGF0Y2godCxyKSxlLmFwcGx5RGF0YSh0LHIpfXZhciBQX2U9ZigoKT0+e30pO2Z1bmN0aW9uIE5fZShlLHQpe2xldCByPXt0eXBlOiJyb290IixjaGlsZHJlbjplLndyYXAoZS5hbGwodCkpfTtyZXR1cm4gZS5wYXRjaCh0LHIpLGUuYXBwbHlEYXRhKHQscil9dmFyIEZfZT1mKCgpPT57fSk7ZnVuY3Rpb24gT19lKGUsdCl7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InN0cm9uZyIscHJvcGVydGllczp7fSxjaGlsZHJlbjplLmFsbCh0KX07cmV0dXJuIGUucGF0Y2godCxyKSxlLmFwcGx5RGF0YSh0LHIpfXZhciBSX2U9ZigoKT0+e30pO2Z1bmN0aW9uIEJfZShlLHQpe2xldCByPWUuYWxsKHQpLGE9ci5zaGlmdCgpLGk9W107aWYoYSl7bGV0IHM9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRoZWFkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUud3JhcChbYV0sITApfTtlLnBhdGNoKHQuY2hpbGRyZW5bMF0scyksaS5wdXNoKHMpfWlmKHIubGVuZ3RoPjApe2xldCBzPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJ0Ym9keSIscHJvcGVydGllczp7fSxjaGlsZHJlbjplLndyYXAociwhMCl9LG89T2sodC5jaGlsZHJlblsxXSksYz1Gayh0LmNoaWxkcmVuW3QuY2hpbGRyZW4ubGVuZ3RoLTFdKTtvJiZjJiYocy5wb3NpdGlvbj17c3RhcnQ6byxlbmQ6Y30pLGkucHVzaChzKX1sZXQgbj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToidGFibGUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46ZS53cmFwKGksITApfTtyZXR1cm4gZS5wYXRjaCh0LG4pLGUuYXBwbHlEYXRhKHQsbil9dmFyIEhfZT1mKCgpPT57UmsoKX0pO2Z1bmN0aW9uIHFfZShlLHQscil7bGV0IGE9cj9yLmNoaWxkcmVuOnZvaWQgMCxuPShhP2EuaW5kZXhPZih0KToxKT09PTA/InRoIjoidGQiLHM9ciYmci50eXBlPT09InRhYmxlIj9yLmFsaWduOnZvaWQgMCxvPXM/cy5sZW5ndGg6dC5jaGlsZHJlbi5sZW5ndGgsYz0tMSxsPVtdO2Zvcig7KytjPG87KXtsZXQgZD10LmNoaWxkcmVuW2NdLGg9e30sbT1zP3NbY106dm9pZCAwO20mJihoLmFsaWduPW0pO2xldCB2PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOm4scHJvcGVydGllczpoLGNoaWxkcmVuOltdfTtkJiYodi5jaGlsZHJlbj1lLmFsbChkKSxlLnBhdGNoKGQsdiksdj1lLmFwcGx5RGF0YShkLHYpKSxsLnB1c2godil9bGV0IHU9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUud3JhcChsLCEwKX07cmV0dXJuIGUucGF0Y2godCx1KSxlLmFwcGx5RGF0YSh0LHUpfXZhciBqX2U9ZigoKT0+e30pO2Z1bmN0aW9uIFZfZShlLHQpe2xldCByPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJ0ZCIscHJvcGVydGllczp7fSxjaGlsZHJlbjplLmFsbCh0KX07cmV0dXJuIGUucGF0Y2godCxyKSxlLmFwcGx5RGF0YSh0LHIpfXZhciBVX2U9ZigoKT0+e30pO2Z1bmN0aW9uIEdfZShlKXtsZXQgdD1TdHJpbmcoZSkscj0vXHI/XG58XHIvZyxhPXIuZXhlYyh0KSxpPTAsbj1bXTtmb3IoO2E7KW4ucHVzaChXX2UodC5zbGljZShpLGEuaW5kZXgpLGk+MCwhMCksYVswXSksaT1hLmluZGV4K2FbMF0ubGVuZ3RoLGE9ci5leGVjKHQpO3JldHVybiBuLnB1c2goV19lKHQuc2xpY2UoaSksaT4wLCExKSksbi5qb2luKCIiKX1mdW5jdGlvbiBXX2UoZSx0LHIpe2xldCBhPTAsaT1lLmxlbmd0aDtpZih0KXtsZXQgbj1lLmNvZGVQb2ludEF0KGEpO2Zvcig7bj09PTl8fG49PT0zMjspYSsrLG49ZS5jb2RlUG9pbnRBdChhKX1pZihyKXtsZXQgbj1lLmNvZGVQb2ludEF0KGktMSk7Zm9yKDtuPT09OXx8bj09PTMyOylpLS0sbj1lLmNvZGVQb2ludEF0KGktMSl9cmV0dXJuIGk+YT9lLnNsaWNlKGEsaSk6IiJ9dmFyIGlXYSxuV2EsWV9lPWYoKCk9PntpV2E9OSxuV2E9MzJ9KTtmdW5jdGlvbiBaX2UoZSx0KXtsZXQgcj17dHlwZToidGV4dCIsdmFsdWU6R19lKFN0cmluZyh0LnZhbHVlKSl9O3JldHVybiBlLnBhdGNoKHQsciksZS5hcHBseURhdGEodCxyKX12YXIgWF9lPWYoKCk9PntZX2UoKX0pO2Z1bmN0aW9uIFFfZShlLHQpe2xldCByPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJociIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbXX07cmV0dXJuIGUucGF0Y2godCxyKSxlLmFwcGx5RGF0YSh0LHIpfXZhciBKX2U9ZigoKT0+e30pO2Z1bmN0aW9uIHFrKCl7fXZhciBGVyxPVz1mKCgpPT57aV9lKCk7c19lKCk7bF9lKCk7ZF9lKCk7cF9lKCk7aF9lKCk7Z19lKCk7dl9lKCk7eV9lKCk7TV9lKCk7U19lKCk7Q19lKCk7X19lKCk7RF9lKCk7RV9lKCk7UF9lKCk7Rl9lKCk7Ul9lKCk7SF9lKCk7al9lKCk7VV9lKCk7WF9lKCk7Sl9lKCk7Rlc9e2Jsb2NrcXVvdGU6YV9lLGJyZWFrOm5fZSxjb2RlOm9fZSxkZWxldGU6Y19lLGVtcGhhc2lzOnVfZSxmb290bm90ZVJlZmVyZW5jZTpmX2UsaGVhZGluZzptX2UsaHRtbDpiX2UsaW1hZ2VSZWZlcmVuY2U6eF9lLGltYWdlOndfZSxpbmxpbmVDb2RlOmtfZSxsaW5rUmVmZXJlbmNlOnpfZSxsaW5rOlRfZSxsaXN0SXRlbTokX2UsbGlzdDpBX2UscGFyYWdyYXBoOklfZSxyb290Ok5fZSxzdHJvbmc6T19lLHRhYmxlOkJfZSx0YWJsZUNlbGw6Vl9lLHRhYmxlUm93OnFfZSx0ZXh0OlpfZSx0aGVtYXRpY0JyZWFrOlFfZSx0b21sOnFrLHlhbWw6cWssZGVmaW5pdGlvbjpxayxmb290bm90ZURlZmluaXRpb246cWt9fSk7ZnVuY3Rpb24gS19lKGUsdCl7bGV0IHI9W3t0eXBlOiJ0ZXh0Iix2YWx1ZToiXHUyMUE5In1dO3JldHVybiB0PjEmJnIucHVzaCh7dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKHQpfV19KSxyfWZ1bmN0aW9uIGVMZShlLHQpe3JldHVybiJCYWNrIHRvIHJlZmVyZW5jZSAiKyhlKzEpKyh0PjE/Ii0iK3Q6IiIpfWZ1bmN0aW9uIHRMZShlKXtsZXQgdD10eXBlb2YgZS5vcHRpb25zLmNsb2JiZXJQcmVmaXg9PSJzdHJpbmciP2Uub3B0aW9ucy5jbG9iYmVyUHJlZml4OiJ1c2VyLWNvbnRlbnQtIixyPWUub3B0aW9ucy5mb290bm90ZUJhY2tDb250ZW50fHxLX2UsYT1lLm9wdGlvbnMuZm9vdG5vdGVCYWNrTGFiZWx8fGVMZSxpPWUub3B0aW9ucy5mb290bm90ZUxhYmVsfHwiRm9vdG5vdGVzIixuPWUub3B0aW9ucy5mb290bm90ZUxhYmVsVGFnTmFtZXx8ImgyIixzPWUub3B0aW9ucy5mb290bm90ZUxhYmVsUHJvcGVydGllc3x8e2NsYXNzTmFtZTpbInNyLW9ubHkiXX0sbz1bXSxjPS0xO2Zvcig7KytjPGUuZm9vdG5vdGVPcmRlci5sZW5ndGg7KXtsZXQgbD1lLmZvb3Rub3RlQnlJZC5nZXQoZS5mb290bm90ZU9yZGVyW2NdKTtpZighbCljb250aW51ZTtsZXQgdT1lLmFsbChsKSxkPVN0cmluZyhsLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCksaD1IMShkLnRvTG93ZXJDYXNlKCkpLG09MCx2PVtdLGI9ZS5mb290bm90ZUNvdW50cy5nZXQoZCk7Zm9yKDtiIT09dm9pZCAwJiYrK208PWI7KXt2Lmxlbmd0aD4wJiZ2LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOiIgIn0pO2xldCB3PXR5cGVvZiByPT0ic3RyaW5nIj9yOnIoYyxtKTt0eXBlb2Ygdz09InN0cmluZyImJih3PXt0eXBlOiJ0ZXh0Iix2YWx1ZTp3fSksdi5wdXNoKHt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOntocmVmOiIjIit0KyJmbnJlZi0iK2grKG0+MT8iLSIrbToiIiksZGF0YUZvb3Rub3RlQmFja3JlZjoiIixhcmlhTGFiZWw6dHlwZW9mIGE9PSJzdHJpbmciP2E6YShjLG0pLGNsYXNzTmFtZTpbImRhdGEtZm9vdG5vdGUtYmFja3JlZiJdfSxjaGlsZHJlbjpBcnJheS5pc0FycmF5KHcpP3c6W3ddfSl9bGV0IGc9dVt1Lmxlbmd0aC0xXTtpZihnJiZnLnR5cGU9PT0iZWxlbWVudCImJmcudGFnTmFtZT09PSJwIil7bGV0IHc9Zy5jaGlsZHJlbltnLmNoaWxkcmVuLmxlbmd0aC0xXTt3JiZ3LnR5cGU9PT0idGV4dCI/dy52YWx1ZSs9IiAiOmcuY2hpbGRyZW4ucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6IiAifSksZy5jaGlsZHJlbi5wdXNoKC4uLnYpfWVsc2UgdS5wdXNoKC4uLnYpO2xldCB5PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJsaSIscHJvcGVydGllczp7aWQ6dCsiZm4tIitofSxjaGlsZHJlbjplLndyYXAodSwhMCl9O2UucGF0Y2gobCx5KSxvLnB1c2goeSl9aWYoby5sZW5ndGghPT0wKXJldHVybnt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJzZWN0aW9uIixwcm9wZXJ0aWVzOntkYXRhRm9vdG5vdGVzOiEwLGNsYXNzTmFtZTpbImZvb3Rub3RlcyJdfSxjaGlsZHJlbjpbe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6bixwcm9wZXJ0aWVzOnsuLi5CMChzKSxpZDoiZm9vdG5vdGUtbGFiZWwifSxjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOml9XX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH0se3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6Im9sIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUud3JhcChvLCEwKX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH1dfX12YXIgUlc9ZigoKT0+e05rKCk7TTIoKX0pO2Z1bmN0aW9uIGFMZShlLHQpe2xldCByPXR8fCRDcixhPW5ldyBNYXAsaT1uZXcgTWFwLG49bmV3IE1hcCxzPXsuLi5GVywuLi5yLmhhbmRsZXJzfSxvPXthbGw6bCxhcHBseURhdGE6QUNyLGRlZmluaXRpb25CeUlkOmEsZm9vdG5vdGVCeUlkOmksZm9vdG5vdGVDb3VudHM6bixmb290bm90ZU9yZGVyOltdLGhhbmRsZXJzOnMsb25lOmMsb3B0aW9uczpyLHBhdGNoOkRDcix3cmFwOklDcn07cmV0dXJuIEhtKGUsZnVuY3Rpb24odSl7aWYodS50eXBlPT09ImRlZmluaXRpb24ifHx1LnR5cGU9PT0iZm9vdG5vdGVEZWZpbml0aW9uIil7bGV0IGQ9dS50eXBlPT09ImRlZmluaXRpb24iP2E6aSxoPVN0cmluZyh1LmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCk7ZC5oYXMoaCl8fGQuc2V0KGgsdSl9fSksbztmdW5jdGlvbiBjKHUsZCl7bGV0IGg9dS50eXBlLG09by5oYW5kbGVyc1toXTtpZihCVy5jYWxsKG8uaGFuZGxlcnMsaCkmJm0pcmV0dXJuIG0obyx1LGQpO2lmKG8ub3B0aW9ucy5wYXNzVGhyb3VnaCYmby5vcHRpb25zLnBhc3NUaHJvdWdoLmluY2x1ZGVzKGgpKXtpZigiY2hpbGRyZW4iaW4gdSl7bGV0e2NoaWxkcmVuOmIsLi4uZ309dSx5PUIwKGcpO3JldHVybiB5LmNoaWxkcmVuPW8uYWxsKHUpLHl9cmV0dXJuIEIwKHUpfXJldHVybihvLm9wdGlvbnMudW5rbm93bkhhbmRsZXJ8fEVDcikobyx1LGQpfWZ1bmN0aW9uIGwodSl7bGV0IGQ9W107aWYoImNoaWxkcmVuImluIHUpe2xldCBoPXUuY2hpbGRyZW4sbT0tMTtmb3IoOysrbTxoLmxlbmd0aDspe2xldCB2PW8ub25lKGhbbV0sdSk7aWYodil7aWYobSYmaFttLTFdLnR5cGU9PT0iYnJlYWsiJiYoIUFycmF5LmlzQXJyYXkodikmJnYudHlwZT09PSJ0ZXh0IiYmKHYudmFsdWU9ckxlKHYudmFsdWUpKSwhQXJyYXkuaXNBcnJheSh2KSYmdi50eXBlPT09ImVsZW1lbnQiKSl7bGV0IGI9di5jaGlsZHJlblswXTtiJiZiLnR5cGU9PT0idGV4dCImJihiLnZhbHVlPXJMZShiLnZhbHVlKSl9QXJyYXkuaXNBcnJheSh2KT9kLnB1c2goLi4udik6ZC5wdXNoKHYpfX19cmV0dXJuIGR9fWZ1bmN0aW9uIERDcihlLHQpe2UucG9zaXRpb24mJih0LnBvc2l0aW9uPXI3KGUpKX1mdW5jdGlvbiBBQ3IoZSx0KXtsZXQgcj10O2lmKGUmJmUuZGF0YSl7bGV0IGE9ZS5kYXRhLmhOYW1lLGk9ZS5kYXRhLmhDaGlsZHJlbixuPWUuZGF0YS5oUHJvcGVydGllcztpZih0eXBlb2YgYT09InN0cmluZyIpaWYoci50eXBlPT09ImVsZW1lbnQiKXIudGFnTmFtZT1hO2Vsc2V7bGV0IHM9ImNoaWxkcmVuImluIHI/ci5jaGlsZHJlbjpbcl07cj17dHlwZToiZWxlbWVudCIsdGFnTmFtZTphLHByb3BlcnRpZXM6e30sY2hpbGRyZW46c319ci50eXBlPT09ImVsZW1lbnQiJiZuJiZPYmplY3QuYXNzaWduKHIucHJvcGVydGllcyxCMChuKSksImNoaWxkcmVuImluIHImJnIuY2hpbGRyZW4mJmkhPT1udWxsJiZpIT09dm9pZCAwJiYoci5jaGlsZHJlbj1pKX1yZXR1cm4gcn1mdW5jdGlvbiBFQ3IoZSx0KXtsZXQgcj10LmRhdGF8fHt9LGE9InZhbHVlImluIHQmJiEoQlcuY2FsbChyLCJoUHJvcGVydGllcyIpfHxCVy5jYWxsKHIsImhDaGlsZHJlbiIpKT97dHlwZToidGV4dCIsdmFsdWU6dC52YWx1ZX06e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImRpdiIscHJvcGVydGllczp7fSxjaGlsZHJlbjplLmFsbCh0KX07cmV0dXJuIGUucGF0Y2godCxhKSxlLmFwcGx5RGF0YSh0LGEpfWZ1bmN0aW9uIElDcihlLHQpe2xldCByPVtdLGE9LTE7Zm9yKHQmJnIucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSk7KythPGUubGVuZ3RoOylhJiZyLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmAKYH0pLHIucHVzaChlW2FdKTtyZXR1cm4gdCYmZS5sZW5ndGg+MCYmci5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSxyfWZ1bmN0aW9uIHJMZShlKXtsZXQgdD0wLHI9ZS5jaGFyQ29kZUF0KHQpO2Zvcig7cj09PTl8fHI9PT0zMjspdCsrLHI9ZS5jaGFyQ29kZUF0KHQpO3JldHVybiBlLnNsaWNlKHQpfXZhciBCVywkQ3IsaUxlPWYoKCk9PntOaygpO3VVKCk7UmsoKTtPVygpO0JXPXt9Lmhhc093blByb3BlcnR5LCRDcj17fX0pO2Z1bmN0aW9uIEhXKGUsdCl7bGV0IHI9YUxlKGUsdCksYT1yLm9uZShlLHZvaWQgMCksaT10TGUociksbj1BcnJheS5pc0FycmF5KGEpP3t0eXBlOiJyb290IixjaGlsZHJlbjphfTphfHx7dHlwZToicm9vdCIsY2hpbGRyZW46W119O3JldHVybiBpJiYoImNoaWxkcmVuImluIG4sbi5jaGlsZHJlbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9LGkpKSxufXZhciBuTGU9ZigoKT0+e0UwKCk7UlcoKTtpTGUoKX0pO3ZhciBzTGU9ZigoKT0+e09XKCk7bkxlKCk7UlcoKX0pO3ZhciBvTGUsbExlPWYoKCk9PntvTGU9WyJhcmVhIiwiYmFzZSIsImJhc2Vmb250IiwiYmdzb3VuZCIsImJyIiwiY29sIiwiY29tbWFuZCIsImVtYmVkIiwiZnJhbWUiLCJociIsImltYWdlIiwiaW1nIiwiaW5wdXQiLCJrZXlnZW4iLCJsaW5rIiwibWV0YSIsInBhcmFtIiwic291cmNlIiwidHJhY2siLCJ3YnIiXX0pO3ZhciBxbCxxVz1mKCgpPT57cWw9Y2xhc3N7Y29uc3RydWN0b3IodCxyLGEpe3RoaXMubm9ybWFsPXIsdGhpcy5wcm9wZXJ0eT10LGEmJih0aGlzLnNwYWNlPWEpfX07cWwucHJvdG90eXBlLm5vcm1hbD17fSxxbC5wcm90b3R5cGUucHJvcGVydHk9e30scWwucHJvdG90eXBlLnNwYWNlPXZvaWQgMH0pO2Z1bmN0aW9uIGpXKGUsdCl7bGV0IHI9e30sYT17fTtmb3IobGV0IGkgb2YgZSlPYmplY3QuYXNzaWduKHIsaS5wcm9wZXJ0eSksT2JqZWN0LmFzc2lnbihhLGkubm9ybWFsKTtyZXR1cm4gbmV3IHFsKHIsYSx0KX12YXIgY0xlPWYoKCk9PntxVygpfSk7ZnVuY3Rpb24gZXAoZSl7cmV0dXJuIGUudG9Mb3dlckNhc2UoKX12YXIgams9ZigoKT0+e30pO3ZhciAkaSxWVz1mKCgpPT57JGk9Y2xhc3N7Y29uc3RydWN0b3IodCxyKXt0aGlzLmF0dHJpYnV0ZT1yLHRoaXMucHJvcGVydHk9dH19OyRpLnByb3RvdHlwZS5hdHRyaWJ1dGU9IiIsJGkucHJvdG90eXBlLmJvb2xlYW5pc2g9ITEsJGkucHJvdG90eXBlLmJvb2xlYW49ITEsJGkucHJvdG90eXBlLmNvbW1hT3JTcGFjZVNlcGFyYXRlZD0hMSwkaS5wcm90b3R5cGUuY29tbWFTZXBhcmF0ZWQ9ITEsJGkucHJvdG90eXBlLmRlZmluZWQ9ITEsJGkucHJvdG90eXBlLm11c3RVc2VQcm9wZXJ0eT0hMSwkaS5wcm90b3R5cGUubnVtYmVyPSExLCRpLnByb3RvdHlwZS5vdmVybG9hZGVkQm9vbGVhbj0hMSwkaS5wcm90b3R5cGUucHJvcGVydHk9IiIsJGkucHJvdG90eXBlLnNwYWNlU2VwYXJhdGVkPSExLCRpLnByb3RvdHlwZS5zcGFjZT12b2lkIDB9KTt2YXIgaTc9e307UmUoaTcse2Jvb2xlYW46KCk9PkF0LGJvb2xlYW5pc2g6KCk9PkFhLGNvbW1hT3JTcGFjZVNlcGFyYXRlZDooKT0+dzEsY29tbWFTZXBhcmF0ZWQ6KCk9PnEwLG51bWJlcjooKT0+SGUsb3ZlcmxvYWRlZEJvb2xlYW46KCk9PlZrLHNwYWNlU2VwYXJhdGVkOigpPT5xcn0pO2Z1bmN0aW9uIGdkKCl7cmV0dXJuIDIqKisrUENyfXZhciBQQ3IsQXQsQWEsVmssSGUscXIscTAsdzEsbjc9ZigoKT0+e1BDcj0wLEF0PWdkKCksQWE9Z2QoKSxWaz1nZCgpLEhlPWdkKCkscXI9Z2QoKSxxMD1nZCgpLHcxPWdkKCl9KTtmdW5jdGlvbiBkTGUoZSx0LHIpe3ImJihlW3RdPXIpfXZhciBVVyxiZCxXVz1mKCgpPT57VlcoKTtuNygpO1VXPU9iamVjdC5rZXlzKGk3KSxiZD1jbGFzcyBleHRlbmRzICRpe2NvbnN0cnVjdG9yKHQscixhLGkpe2xldCBuPS0xO2lmKHN1cGVyKHQsciksZExlKHRoaXMsInNwYWNlIixpKSx0eXBlb2YgYT09Im51bWJlciIpZm9yKDsrK248VVcubGVuZ3RoOyl7bGV0IHM9VVdbbl07ZExlKHRoaXMsVVdbbl0sKGEmaTdbc10pPT09aTdbc10pfX19O2JkLnByb3RvdHlwZS5kZWZpbmVkPSEwfSk7ZnVuY3Rpb24gYnMoZSl7bGV0IHQ9e30scj17fTtmb3IobGV0W2EsaV1vZiBPYmplY3QuZW50cmllcyhlLnByb3BlcnRpZXMpKXtsZXQgbj1uZXcgYmQoYSxlLnRyYW5zZm9ybShlLmF0dHJpYnV0ZXN8fHt9LGEpLGksZS5zcGFjZSk7ZS5tdXN0VXNlUHJvcGVydHkmJmUubXVzdFVzZVByb3BlcnR5LmluY2x1ZGVzKGEpJiYobi5tdXN0VXNlUHJvcGVydHk9ITApLHRbYV09bixyW2VwKGEpXT1hLHJbZXAobi5hdHRyaWJ1dGUpXT1hfXJldHVybiBuZXcgcWwodCxyLGUuc3BhY2UpfXZhciB2ZD1mKCgpPT57amsoKTtXVygpO3FXKCl9KTt2YXIgR1csdUxlPWYoKCk9Pnt2ZCgpO243KCk7R1c9YnMoe3Byb3BlcnRpZXM6e2FyaWFBY3RpdmVEZXNjZW5kYW50Om51bGwsYXJpYUF0b21pYzpBYSxhcmlhQXV0b0NvbXBsZXRlOm51bGwsYXJpYUJ1c3k6QWEsYXJpYUNoZWNrZWQ6QWEsYXJpYUNvbENvdW50OkhlLGFyaWFDb2xJbmRleDpIZSxhcmlhQ29sU3BhbjpIZSxhcmlhQ29udHJvbHM6cXIsYXJpYUN1cnJlbnQ6bnVsbCxhcmlhRGVzY3JpYmVkQnk6cXIsYXJpYURldGFpbHM6bnVsbCxhcmlhRGlzYWJsZWQ6QWEsYXJpYURyb3BFZmZlY3Q6cXIsYXJpYUVycm9yTWVzc2FnZTpudWxsLGFyaWFFeHBhbmRlZDpBYSxhcmlhRmxvd1RvOnFyLGFyaWFHcmFiYmVkOkFhLGFyaWFIYXNQb3B1cDpudWxsLGFyaWFIaWRkZW46QWEsYXJpYUludmFsaWQ6bnVsbCxhcmlhS2V5U2hvcnRjdXRzOm51bGwsYXJpYUxhYmVsOm51bGwsYXJpYUxhYmVsbGVkQnk6cXIsYXJpYUxldmVsOkhlLGFyaWFMaXZlOm51bGwsYXJpYU1vZGFsOkFhLGFyaWFNdWx0aUxpbmU6QWEsYXJpYU11bHRpU2VsZWN0YWJsZTpBYSxhcmlhT3JpZW50YXRpb246bnVsbCxhcmlhT3duczpxcixhcmlhUGxhY2Vob2xkZXI6bnVsbCxhcmlhUG9zSW5TZXQ6SGUsYXJpYVByZXNzZWQ6QWEsYXJpYVJlYWRPbmx5OkFhLGFyaWFSZWxldmFudDpudWxsLGFyaWFSZXF1aXJlZDpBYSxhcmlhUm9sZURlc2NyaXB0aW9uOnFyLGFyaWFSb3dDb3VudDpIZSxhcmlhUm93SW5kZXg6SGUsYXJpYVJvd1NwYW46SGUsYXJpYVNlbGVjdGVkOkFhLGFyaWFTZXRTaXplOkhlLGFyaWFTb3J0Om51bGwsYXJpYVZhbHVlTWF4OkhlLGFyaWFWYWx1ZU1pbjpIZSxhcmlhVmFsdWVOb3c6SGUsYXJpYVZhbHVlVGV4dDpudWxsLHJvbGU6bnVsbH0sdHJhbnNmb3JtKGUsdCl7cmV0dXJuIHQ9PT0icm9sZSI/dDoiYXJpYS0iK3Quc2xpY2UoNCkudG9Mb3dlckNhc2UoKX19KX0pO2Z1bmN0aW9uIFVrKGUsdCl7cmV0dXJuIHQgaW4gZT9lW3RdOnR9dmFyIFlXPWYoKCk9Pnt9KTtmdW5jdGlvbiBXayhlLHQpe3JldHVybiBVayhlLHQudG9Mb3dlckNhc2UoKSl9dmFyIFpXPWYoKCk9PntZVygpfSk7dmFyIHBMZSxmTGU9ZigoKT0+e1pXKCk7dmQoKTtuNygpO3BMZT1icyh7YXR0cmlidXRlczp7YWNjZXB0Y2hhcnNldDoiYWNjZXB0LWNoYXJzZXQiLGNsYXNzbmFtZToiY2xhc3MiLGh0bWxmb3I6ImZvciIsaHR0cGVxdWl2OiJodHRwLWVxdWl2In0sbXVzdFVzZVByb3BlcnR5OlsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLHByb3BlcnRpZXM6e2FiYnI6bnVsbCxhY2NlcHQ6cTAsYWNjZXB0Q2hhcnNldDpxcixhY2Nlc3NLZXk6cXIsYWN0aW9uOm51bGwsYWxsb3c6bnVsbCxhbGxvd0Z1bGxTY3JlZW46QXQsYWxsb3dQYXltZW50UmVxdWVzdDpBdCxhbGxvd1VzZXJNZWRpYTpBdCxhbHQ6bnVsbCxhczpudWxsLGFzeW5jOkF0LGF1dG9DYXBpdGFsaXplOm51bGwsYXV0b0NvbXBsZXRlOnFyLGF1dG9Gb2N1czpBdCxhdXRvUGxheTpBdCxibG9ja2luZzpxcixjYXB0dXJlOm51bGwsY2hhclNldDpudWxsLGNoZWNrZWQ6QXQsY2l0ZTpudWxsLGNsYXNzTmFtZTpxcixjb2xzOkhlLGNvbFNwYW46bnVsbCxjb250ZW50Om51bGwsY29udGVudEVkaXRhYmxlOkFhLGNvbnRyb2xzOkF0LGNvbnRyb2xzTGlzdDpxcixjb29yZHM6SGV8cTAsY3Jvc3NPcmlnaW46bnVsbCxkYXRhOm51bGwsZGF0ZVRpbWU6bnVsbCxkZWNvZGluZzpudWxsLGRlZmF1bHQ6QXQsZGVmZXI6QXQsZGlyOm51bGwsZGlyTmFtZTpudWxsLGRpc2FibGVkOkF0LGRvd25sb2FkOlZrLGRyYWdnYWJsZTpBYSxlbmNUeXBlOm51bGwsZW50ZXJLZXlIaW50Om51bGwsZmV0Y2hQcmlvcml0eTpudWxsLGZvcm06bnVsbCxmb3JtQWN0aW9uOm51bGwsZm9ybUVuY1R5cGU6bnVsbCxmb3JtTWV0aG9kOm51bGwsZm9ybU5vVmFsaWRhdGU6QXQsZm9ybVRhcmdldDpudWxsLGhlYWRlcnM6cXIsaGVpZ2h0OkhlLGhpZGRlbjpWayxoaWdoOkhlLGhyZWY6bnVsbCxocmVmTGFuZzpudWxsLGh0bWxGb3I6cXIsaHR0cEVxdWl2OnFyLGlkOm51bGwsaW1hZ2VTaXplczpudWxsLGltYWdlU3JjU2V0Om51bGwsaW5lcnQ6QXQsaW5wdXRNb2RlOm51bGwsaW50ZWdyaXR5Om51bGwsaXM6bnVsbCxpc01hcDpBdCxpdGVtSWQ6bnVsbCxpdGVtUHJvcDpxcixpdGVtUmVmOnFyLGl0ZW1TY29wZTpBdCxpdGVtVHlwZTpxcixraW5kOm51bGwsbGFiZWw6bnVsbCxsYW5nOm51bGwsbGFuZ3VhZ2U6bnVsbCxsaXN0Om51bGwsbG9hZGluZzpudWxsLGxvb3A6QXQsbG93OkhlLG1hbmlmZXN0Om51bGwsbWF4Om51bGwsbWF4TGVuZ3RoOkhlLG1lZGlhOm51bGwsbWV0aG9kOm51bGwsbWluOm51bGwsbWluTGVuZ3RoOkhlLG11bHRpcGxlOkF0LG11dGVkOkF0LG5hbWU6bnVsbCxub25jZTpudWxsLG5vTW9kdWxlOkF0LG5vVmFsaWRhdGU6QXQsb25BYm9ydDpudWxsLG9uQWZ0ZXJQcmludDpudWxsLG9uQXV4Q2xpY2s6bnVsbCxvbkJlZm9yZU1hdGNoOm51bGwsb25CZWZvcmVQcmludDpudWxsLG9uQmVmb3JlVG9nZ2xlOm51bGwsb25CZWZvcmVVbmxvYWQ6bnVsbCxvbkJsdXI6bnVsbCxvbkNhbmNlbDpudWxsLG9uQ2FuUGxheTpudWxsLG9uQ2FuUGxheVRocm91Z2g6bnVsbCxvbkNoYW5nZTpudWxsLG9uQ2xpY2s6bnVsbCxvbkNsb3NlOm51bGwsb25Db250ZXh0TG9zdDpudWxsLG9uQ29udGV4dE1lbnU6bnVsbCxvbkNvbnRleHRSZXN0b3JlZDpudWxsLG9uQ29weTpudWxsLG9uQ3VlQ2hhbmdlOm51bGwsb25DdXQ6bnVsbCxvbkRibENsaWNrOm51bGwsb25EcmFnOm51bGwsb25EcmFnRW5kOm51bGwsb25EcmFnRW50ZXI6bnVsbCxvbkRyYWdFeGl0Om51bGwsb25EcmFnTGVhdmU6bnVsbCxvbkRyYWdPdmVyOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyb3A6bnVsbCxvbkR1cmF0aW9uQ2hhbmdlOm51bGwsb25FbXB0aWVkOm51bGwsb25FbmRlZDpudWxsLG9uRXJyb3I6bnVsbCxvbkZvY3VzOm51bGwsb25Gb3JtRGF0YTpudWxsLG9uSGFzaENoYW5nZTpudWxsLG9uSW5wdXQ6bnVsbCxvbkludmFsaWQ6bnVsbCxvbktleURvd246bnVsbCxvbktleVByZXNzOm51bGwsb25LZXlVcDpudWxsLG9uTGFuZ3VhZ2VDaGFuZ2U6bnVsbCxvbkxvYWQ6bnVsbCxvbkxvYWRlZERhdGE6bnVsbCxvbkxvYWRlZE1ldGFkYXRhOm51bGwsb25Mb2FkRW5kOm51bGwsb25Mb2FkU3RhcnQ6bnVsbCxvbk1lc3NhZ2U6bnVsbCxvbk1lc3NhZ2VFcnJvcjpudWxsLG9uTW91c2VEb3duOm51bGwsb25Nb3VzZUVudGVyOm51bGwsb25Nb3VzZUxlYXZlOm51bGwsb25Nb3VzZU1vdmU6bnVsbCxvbk1vdXNlT3V0Om51bGwsb25Nb3VzZU92ZXI6bnVsbCxvbk1vdXNlVXA6bnVsbCxvbk9mZmxpbmU6bnVsbCxvbk9ubGluZTpudWxsLG9uUGFnZUhpZGU6bnVsbCxvblBhZ2VTaG93Om51bGwsb25QYXN0ZTpudWxsLG9uUGF1c2U6bnVsbCxvblBsYXk6bnVsbCxvblBsYXlpbmc6bnVsbCxvblBvcFN0YXRlOm51bGwsb25Qcm9ncmVzczpudWxsLG9uUmF0ZUNoYW5nZTpudWxsLG9uUmVqZWN0aW9uSGFuZGxlZDpudWxsLG9uUmVzZXQ6bnVsbCxvblJlc2l6ZTpudWxsLG9uU2Nyb2xsOm51bGwsb25TY3JvbGxFbmQ6bnVsbCxvblNlY3VyaXR5UG9saWN5VmlvbGF0aW9uOm51bGwsb25TZWVrZWQ6bnVsbCxvblNlZWtpbmc6bnVsbCxvblNlbGVjdDpudWxsLG9uU2xvdENoYW5nZTpudWxsLG9uU3RhbGxlZDpudWxsLG9uU3RvcmFnZTpudWxsLG9uU3VibWl0Om51bGwsb25TdXNwZW5kOm51bGwsb25UaW1lVXBkYXRlOm51bGwsb25Ub2dnbGU6bnVsbCxvblVuaGFuZGxlZFJlamVjdGlvbjpudWxsLG9uVW5sb2FkOm51bGwsb25Wb2x1bWVDaGFuZ2U6bnVsbCxvbldhaXRpbmc6bnVsbCxvbldoZWVsOm51bGwsb3BlbjpBdCxvcHRpbXVtOkhlLHBhdHRlcm46bnVsbCxwaW5nOnFyLHBsYWNlaG9sZGVyOm51bGwscGxheXNJbmxpbmU6QXQscG9wb3ZlcjpudWxsLHBvcG92ZXJUYXJnZXQ6bnVsbCxwb3BvdmVyVGFyZ2V0QWN0aW9uOm51bGwscG9zdGVyOm51bGwscHJlbG9hZDpudWxsLHJlYWRPbmx5OkF0LHJlZmVycmVyUG9saWN5Om51bGwscmVsOnFyLHJlcXVpcmVkOkF0LHJldmVyc2VkOkF0LHJvd3M6SGUscm93U3BhbjpIZSxzYW5kYm94OnFyLHNjb3BlOm51bGwsc2NvcGVkOkF0LHNlYW1sZXNzOkF0LHNlbGVjdGVkOkF0LHNoYWRvd1Jvb3RDbG9uYWJsZTpBdCxzaGFkb3dSb290RGVsZWdhdGVzRm9jdXM6QXQsc2hhZG93Um9vdE1vZGU6bnVsbCxzaGFwZTpudWxsLHNpemU6SGUsc2l6ZXM6bnVsbCxzbG90Om51bGwsc3BhbjpIZSxzcGVsbENoZWNrOkFhLHNyYzpudWxsLHNyY0RvYzpudWxsLHNyY0xhbmc6bnVsbCxzcmNTZXQ6bnVsbCxzdGFydDpIZSxzdGVwOm51bGwsc3R5bGU6bnVsbCx0YWJJbmRleDpIZSx0YXJnZXQ6bnVsbCx0aXRsZTpudWxsLHRyYW5zbGF0ZTpudWxsLHR5cGU6bnVsbCx0eXBlTXVzdE1hdGNoOkF0LHVzZU1hcDpudWxsLHZhbHVlOkFhLHdpZHRoOkhlLHdyYXA6bnVsbCx3cml0aW5nU3VnZ2VzdGlvbnM6bnVsbCxhbGlnbjpudWxsLGFMaW5rOm51bGwsYXJjaGl2ZTpxcixheGlzOm51bGwsYmFja2dyb3VuZDpudWxsLGJnQ29sb3I6bnVsbCxib3JkZXI6SGUsYm9yZGVyQ29sb3I6bnVsbCxib3R0b21NYXJnaW46SGUsY2VsbFBhZGRpbmc6bnVsbCxjZWxsU3BhY2luZzpudWxsLGNoYXI6bnVsbCxjaGFyT2ZmOm51bGwsY2xhc3NJZDpudWxsLGNsZWFyOm51bGwsY29kZTpudWxsLGNvZGVCYXNlOm51bGwsY29kZVR5cGU6bnVsbCxjb2xvcjpudWxsLGNvbXBhY3Q6QXQsZGVjbGFyZTpBdCxldmVudDpudWxsLGZhY2U6bnVsbCxmcmFtZTpudWxsLGZyYW1lQm9yZGVyOm51bGwsaFNwYWNlOkhlLGxlZnRNYXJnaW46SGUsbGluazpudWxsLGxvbmdEZXNjOm51bGwsbG93U3JjOm51bGwsbWFyZ2luSGVpZ2h0OkhlLG1hcmdpbldpZHRoOkhlLG5vUmVzaXplOkF0LG5vSHJlZjpBdCxub1NoYWRlOkF0LG5vV3JhcDpBdCxvYmplY3Q6bnVsbCxwcm9maWxlOm51bGwscHJvbXB0Om51bGwscmV2Om51bGwscmlnaHRNYXJnaW46SGUscnVsZXM6bnVsbCxzY2hlbWU6bnVsbCxzY3JvbGxpbmc6QWEsc3RhbmRieTpudWxsLHN1bW1hcnk6bnVsbCx0ZXh0Om51bGwsdG9wTWFyZ2luOkhlLHZhbHVlVHlwZTpudWxsLHZlcnNpb246bnVsbCx2QWxpZ246bnVsbCx2TGluazpudWxsLHZTcGFjZTpIZSxhbGxvd1RyYW5zcGFyZW5jeTpudWxsLGF1dG9Db3JyZWN0Om51bGwsYXV0b1NhdmU6bnVsbCxkaXNhYmxlUGljdHVyZUluUGljdHVyZTpBdCxkaXNhYmxlUmVtb3RlUGxheWJhY2s6QXQscHJlZml4Om51bGwscHJvcGVydHk6bnVsbCxyZXN1bHRzOkhlLHNlY3VyaXR5Om51bGwsdW5zZWxlY3RhYmxlOm51bGx9LHNwYWNlOiJodG1sIix0cmFuc2Zvcm06V2t9KX0pO3ZhciBoTGUsbUxlPWYoKCk9PntZVygpO3ZkKCk7bjcoKTtoTGU9YnMoe2F0dHJpYnV0ZXM6e2FjY2VudEhlaWdodDoiYWNjZW50LWhlaWdodCIsYWxpZ25tZW50QmFzZWxpbmU6ImFsaWdubWVudC1iYXNlbGluZSIsYXJhYmljRm9ybToiYXJhYmljLWZvcm0iLGJhc2VsaW5lU2hpZnQ6ImJhc2VsaW5lLXNoaWZ0IixjYXBIZWlnaHQ6ImNhcC1oZWlnaHQiLGNsYXNzTmFtZToiY2xhc3MiLGNsaXBQYXRoOiJjbGlwLXBhdGgiLGNsaXBSdWxlOiJjbGlwLXJ1bGUiLGNvbG9ySW50ZXJwb2xhdGlvbjoiY29sb3ItaW50ZXJwb2xhdGlvbiIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIixjb2xvclByb2ZpbGU6ImNvbG9yLXByb2ZpbGUiLGNvbG9yUmVuZGVyaW5nOiJjb2xvci1yZW5kZXJpbmciLGNyb3NzT3JpZ2luOiJjcm9zc29yaWdpbiIsZGF0YVR5cGU6ImRhdGF0eXBlIixkb21pbmFudEJhc2VsaW5lOiJkb21pbmFudC1iYXNlbGluZSIsZW5hYmxlQmFja2dyb3VuZDoiZW5hYmxlLWJhY2tncm91bmQiLGZpbGxPcGFjaXR5OiJmaWxsLW9wYWNpdHkiLGZpbGxSdWxlOiJmaWxsLXJ1bGUiLGZsb29kQ29sb3I6ImZsb29kLWNvbG9yIixmbG9vZE9wYWNpdHk6ImZsb29kLW9wYWNpdHkiLGZvbnRGYW1pbHk6ImZvbnQtZmFtaWx5Iixmb250U2l6ZToiZm9udC1zaXplIixmb250U2l6ZUFkanVzdDoiZm9udC1zaXplLWFkanVzdCIsZm9udFN0cmV0Y2g6ImZvbnQtc3RyZXRjaCIsZm9udFN0eWxlOiJmb250LXN0eWxlIixmb250VmFyaWFudDoiZm9udC12YXJpYW50Iixmb250V2VpZ2h0OiJmb250LXdlaWdodCIsZ2x5cGhOYW1lOiJnbHlwaC1uYW1lIixnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbDoiZ2x5cGgtb3JpZW50YXRpb24taG9yaXpvbnRhbCIsZ2x5cGhPcmllbnRhdGlvblZlcnRpY2FsOiJnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCIsaHJlZkxhbmc6ImhyZWZsYW5nIixob3JpekFkdlg6Imhvcml6LWFkdi14Iixob3Jpek9yaWdpblg6Imhvcml6LW9yaWdpbi14Iixob3Jpek9yaWdpblk6Imhvcml6LW9yaWdpbi15IixpbWFnZVJlbmRlcmluZzoiaW1hZ2UtcmVuZGVyaW5nIixsZXR0ZXJTcGFjaW5nOiJsZXR0ZXItc3BhY2luZyIsbGlnaHRpbmdDb2xvcjoibGlnaHRpbmctY29sb3IiLG1hcmtlckVuZDoibWFya2VyLWVuZCIsbWFya2VyTWlkOiJtYXJrZXItbWlkIixtYXJrZXJTdGFydDoibWFya2VyLXN0YXJ0IixuYXZEb3duOiJuYXYtZG93biIsbmF2RG93bkxlZnQ6Im5hdi1kb3duLWxlZnQiLG5hdkRvd25SaWdodDoibmF2LWRvd24tcmlnaHQiLG5hdkxlZnQ6Im5hdi1sZWZ0IixuYXZOZXh0OiJuYXYtbmV4dCIsbmF2UHJldjoibmF2LXByZXYiLG5hdlJpZ2h0OiJuYXYtcmlnaHQiLG5hdlVwOiJuYXYtdXAiLG5hdlVwTGVmdDoibmF2LXVwLWxlZnQiLG5hdlVwUmlnaHQ6Im5hdi11cC1yaWdodCIsb25BYm9ydDoib25hYm9ydCIsb25BY3RpdmF0ZToib25hY3RpdmF0ZSIsb25BZnRlclByaW50OiJvbmFmdGVycHJpbnQiLG9uQmVmb3JlUHJpbnQ6Im9uYmVmb3JlcHJpbnQiLG9uQmVnaW46Im9uYmVnaW4iLG9uQ2FuY2VsOiJvbmNhbmNlbCIsb25DYW5QbGF5OiJvbmNhbnBsYXkiLG9uQ2FuUGxheVRocm91Z2g6Im9uY2FucGxheXRocm91Z2giLG9uQ2hhbmdlOiJvbmNoYW5nZSIsb25DbGljazoib25jbGljayIsb25DbG9zZToib25jbG9zZSIsb25Db3B5OiJvbmNvcHkiLG9uQ3VlQ2hhbmdlOiJvbmN1ZWNoYW5nZSIsb25DdXQ6Im9uY3V0IixvbkRibENsaWNrOiJvbmRibGNsaWNrIixvbkRyYWc6Im9uZHJhZyIsb25EcmFnRW5kOiJvbmRyYWdlbmQiLG9uRHJhZ0VudGVyOiJvbmRyYWdlbnRlciIsb25EcmFnRXhpdDoib25kcmFnZXhpdCIsb25EcmFnTGVhdmU6Im9uZHJhZ2xlYXZlIixvbkRyYWdPdmVyOiJvbmRyYWdvdmVyIixvbkRyYWdTdGFydDoib25kcmFnc3RhcnQiLG9uRHJvcDoib25kcm9wIixvbkR1cmF0aW9uQ2hhbmdlOiJvbmR1cmF0aW9uY2hhbmdlIixvbkVtcHRpZWQ6Im9uZW1wdGllZCIsb25FbmQ6Im9uZW5kIixvbkVuZGVkOiJvbmVuZGVkIixvbkVycm9yOiJvbmVycm9yIixvbkZvY3VzOiJvbmZvY3VzIixvbkZvY3VzSW46Im9uZm9jdXNpbiIsb25Gb2N1c091dDoib25mb2N1c291dCIsb25IYXNoQ2hhbmdlOiJvbmhhc2hjaGFuZ2UiLG9uSW5wdXQ6Im9uaW5wdXQiLG9uSW52YWxpZDoib25pbnZhbGlkIixvbktleURvd246Im9ua2V5ZG93biIsb25LZXlQcmVzczoib25rZXlwcmVzcyIsb25LZXlVcDoib25rZXl1cCIsb25Mb2FkOiJvbmxvYWQiLG9uTG9hZGVkRGF0YToib25sb2FkZWRkYXRhIixvbkxvYWRlZE1ldGFkYXRhOiJvbmxvYWRlZG1ldGFkYXRhIixvbkxvYWRTdGFydDoib25sb2Fkc3RhcnQiLG9uTWVzc2FnZToib25tZXNzYWdlIixvbk1vdXNlRG93bjoib25tb3VzZWRvd24iLG9uTW91c2VFbnRlcjoib25tb3VzZWVudGVyIixvbk1vdXNlTGVhdmU6Im9ubW91c2VsZWF2ZSIsb25Nb3VzZU1vdmU6Im9ubW91c2Vtb3ZlIixvbk1vdXNlT3V0OiJvbm1vdXNlb3V0Iixvbk1vdXNlT3Zlcjoib25tb3VzZW92ZXIiLG9uTW91c2VVcDoib25tb3VzZXVwIixvbk1vdXNlV2hlZWw6Im9ubW91c2V3aGVlbCIsb25PZmZsaW5lOiJvbm9mZmxpbmUiLG9uT25saW5lOiJvbm9ubGluZSIsb25QYWdlSGlkZToib25wYWdlaGlkZSIsb25QYWdlU2hvdzoib25wYWdlc2hvdyIsb25QYXN0ZToib25wYXN0ZSIsb25QYXVzZToib25wYXVzZSIsb25QbGF5OiJvbnBsYXkiLG9uUGxheWluZzoib25wbGF5aW5nIixvblBvcFN0YXRlOiJvbnBvcHN0YXRlIixvblByb2dyZXNzOiJvbnByb2dyZXNzIixvblJhdGVDaGFuZ2U6Im9ucmF0ZWNoYW5nZSIsb25SZXBlYXQ6Im9ucmVwZWF0IixvblJlc2V0OiJvbnJlc2V0IixvblJlc2l6ZToib25yZXNpemUiLG9uU2Nyb2xsOiJvbnNjcm9sbCIsb25TZWVrZWQ6Im9uc2Vla2VkIixvblNlZWtpbmc6Im9uc2Vla2luZyIsb25TZWxlY3Q6Im9uc2VsZWN0IixvblNob3c6Im9uc2hvdyIsb25TdGFsbGVkOiJvbnN0YWxsZWQiLG9uU3RvcmFnZToib25zdG9yYWdlIixvblN1Ym1pdDoib25zdWJtaXQiLG9uU3VzcGVuZDoib25zdXNwZW5kIixvblRpbWVVcGRhdGU6Im9udGltZXVwZGF0ZSIsb25Ub2dnbGU6Im9udG9nZ2xlIixvblVubG9hZDoib251bmxvYWQiLG9uVm9sdW1lQ2hhbmdlOiJvbnZvbHVtZWNoYW5nZSIsb25XYWl0aW5nOiJvbndhaXRpbmciLG9uWm9vbToib256b29tIixvdmVybGluZVBvc2l0aW9uOiJvdmVybGluZS1wb3NpdGlvbiIsb3ZlcmxpbmVUaGlja25lc3M6Im92ZXJsaW5lLXRoaWNrbmVzcyIscGFpbnRPcmRlcjoicGFpbnQtb3JkZXIiLHBhbm9zZTE6InBhbm9zZS0xIixwb2ludGVyRXZlbnRzOiJwb2ludGVyLWV2ZW50cyIscmVmZXJyZXJQb2xpY3k6InJlZmVycmVycG9saWN5IixyZW5kZXJpbmdJbnRlbnQ6InJlbmRlcmluZy1pbnRlbnQiLHNoYXBlUmVuZGVyaW5nOiJzaGFwZS1yZW5kZXJpbmciLHN0b3BDb2xvcjoic3RvcC1jb2xvciIsc3RvcE9wYWNpdHk6InN0b3Atb3BhY2l0eSIsc3RyaWtldGhyb3VnaFBvc2l0aW9uOiJzdHJpa2V0aHJvdWdoLXBvc2l0aW9uIixzdHJpa2V0aHJvdWdoVGhpY2tuZXNzOiJzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyIsc3Ryb2tlRGFzaEFycmF5OiJzdHJva2UtZGFzaGFycmF5IixzdHJva2VEYXNoT2Zmc2V0OiJzdHJva2UtZGFzaG9mZnNldCIsc3Ryb2tlTGluZUNhcDoic3Ryb2tlLWxpbmVjYXAiLHN0cm9rZUxpbmVKb2luOiJzdHJva2UtbGluZWpvaW4iLHN0cm9rZU1pdGVyTGltaXQ6InN0cm9rZS1taXRlcmxpbWl0IixzdHJva2VPcGFjaXR5OiJzdHJva2Utb3BhY2l0eSIsc3Ryb2tlV2lkdGg6InN0cm9rZS13aWR0aCIsdGFiSW5kZXg6InRhYmluZGV4Iix0ZXh0QW5jaG9yOiJ0ZXh0LWFuY2hvciIsdGV4dERlY29yYXRpb246InRleHQtZGVjb3JhdGlvbiIsdGV4dFJlbmRlcmluZzoidGV4dC1yZW5kZXJpbmciLHRyYW5zZm9ybU9yaWdpbjoidHJhbnNmb3JtLW9yaWdpbiIsdHlwZU9mOiJ0eXBlb2YiLHVuZGVybGluZVBvc2l0aW9uOiJ1bmRlcmxpbmUtcG9zaXRpb24iLHVuZGVybGluZVRoaWNrbmVzczoidW5kZXJsaW5lLXRoaWNrbmVzcyIsdW5pY29kZUJpZGk6InVuaWNvZGUtYmlkaSIsdW5pY29kZVJhbmdlOiJ1bmljb2RlLXJhbmdlIix1bml0c1BlckVtOiJ1bml0cy1wZXItZW0iLHZBbHBoYWJldGljOiJ2LWFscGhhYmV0aWMiLHZIYW5naW5nOiJ2LWhhbmdpbmciLHZJZGVvZ3JhcGhpYzoidi1pZGVvZ3JhcGhpYyIsdk1hdGhlbWF0aWNhbDoidi1tYXRoZW1hdGljYWwiLHZlY3RvckVmZmVjdDoidmVjdG9yLWVmZmVjdCIsdmVydEFkdlk6InZlcnQtYWR2LXkiLHZlcnRPcmlnaW5YOiJ2ZXJ0LW9yaWdpbi14Iix2ZXJ0T3JpZ2luWToidmVydC1vcmlnaW4teSIsd29yZFNwYWNpbmc6IndvcmQtc3BhY2luZyIsd3JpdGluZ01vZGU6IndyaXRpbmctbW9kZSIseEhlaWdodDoieC1oZWlnaHQiLHBsYXliYWNrT3JkZXI6InBsYXliYWNrb3JkZXIiLHRpbWVsaW5lQmVnaW46InRpbWVsaW5lYmVnaW4ifSxwcm9wZXJ0aWVzOnthYm91dDp3MSxhY2NlbnRIZWlnaHQ6SGUsYWNjdW11bGF0ZTpudWxsLGFkZGl0aXZlOm51bGwsYWxpZ25tZW50QmFzZWxpbmU6bnVsbCxhbHBoYWJldGljOkhlLGFtcGxpdHVkZTpIZSxhcmFiaWNGb3JtOm51bGwsYXNjZW50OkhlLGF0dHJpYnV0ZU5hbWU6bnVsbCxhdHRyaWJ1dGVUeXBlOm51bGwsYXppbXV0aDpIZSxiYW5kd2lkdGg6bnVsbCxiYXNlbGluZVNoaWZ0Om51bGwsYmFzZUZyZXF1ZW5jeTpudWxsLGJhc2VQcm9maWxlOm51bGwsYmJveDpudWxsLGJlZ2luOm51bGwsYmlhczpIZSxieTpudWxsLGNhbGNNb2RlOm51bGwsY2FwSGVpZ2h0OkhlLGNsYXNzTmFtZTpxcixjbGlwOm51bGwsY2xpcFBhdGg6bnVsbCxjbGlwUGF0aFVuaXRzOm51bGwsY2xpcFJ1bGU6bnVsbCxjb2xvcjpudWxsLGNvbG9ySW50ZXJwb2xhdGlvbjpudWxsLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6bnVsbCxjb2xvclByb2ZpbGU6bnVsbCxjb2xvclJlbmRlcmluZzpudWxsLGNvbnRlbnQ6bnVsbCxjb250ZW50U2NyaXB0VHlwZTpudWxsLGNvbnRlbnRTdHlsZVR5cGU6bnVsbCxjcm9zc09yaWdpbjpudWxsLGN1cnNvcjpudWxsLGN4Om51bGwsY3k6bnVsbCxkOm51bGwsZGF0YVR5cGU6bnVsbCxkZWZhdWx0QWN0aW9uOm51bGwsZGVzY2VudDpIZSxkaWZmdXNlQ29uc3RhbnQ6SGUsZGlyZWN0aW9uOm51bGwsZGlzcGxheTpudWxsLGR1cjpudWxsLGRpdmlzb3I6SGUsZG9taW5hbnRCYXNlbGluZTpudWxsLGRvd25sb2FkOkF0LGR4Om51bGwsZHk6bnVsbCxlZGdlTW9kZTpudWxsLGVkaXRhYmxlOm51bGwsZWxldmF0aW9uOkhlLGVuYWJsZUJhY2tncm91bmQ6bnVsbCxlbmQ6bnVsbCxldmVudDpudWxsLGV4cG9uZW50OkhlLGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6bnVsbCxmaWxsOm51bGwsZmlsbE9wYWNpdHk6SGUsZmlsbFJ1bGU6bnVsbCxmaWx0ZXI6bnVsbCxmaWx0ZXJSZXM6bnVsbCxmaWx0ZXJVbml0czpudWxsLGZsb29kQ29sb3I6bnVsbCxmbG9vZE9wYWNpdHk6bnVsbCxmb2N1c2FibGU6bnVsbCxmb2N1c0hpZ2hsaWdodDpudWxsLGZvbnRGYW1pbHk6bnVsbCxmb250U2l6ZTpudWxsLGZvbnRTaXplQWRqdXN0Om51bGwsZm9udFN0cmV0Y2g6bnVsbCxmb250U3R5bGU6bnVsbCxmb250VmFyaWFudDpudWxsLGZvbnRXZWlnaHQ6bnVsbCxmb3JtYXQ6bnVsbCxmcjpudWxsLGZyb206bnVsbCxmeDpudWxsLGZ5Om51bGwsZzE6cTAsZzI6cTAsZ2x5cGhOYW1lOnEwLGdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsOm51bGwsZ2x5cGhPcmllbnRhdGlvblZlcnRpY2FsOm51bGwsZ2x5cGhSZWY6bnVsbCxncmFkaWVudFRyYW5zZm9ybTpudWxsLGdyYWRpZW50VW5pdHM6bnVsbCxoYW5kbGVyOm51bGwsaGFuZ2luZzpIZSxoYXRjaENvbnRlbnRVbml0czpudWxsLGhhdGNoVW5pdHM6bnVsbCxoZWlnaHQ6bnVsbCxocmVmOm51bGwsaHJlZkxhbmc6bnVsbCxob3JpekFkdlg6SGUsaG9yaXpPcmlnaW5YOkhlLGhvcml6T3JpZ2luWTpIZSxpZDpudWxsLGlkZW9ncmFwaGljOkhlLGltYWdlUmVuZGVyaW5nOm51bGwsaW5pdGlhbFZpc2liaWxpdHk6bnVsbCxpbjpudWxsLGluMjpudWxsLGludGVyY2VwdDpIZSxrOkhlLGsxOkhlLGsyOkhlLGszOkhlLGs0OkhlLGtlcm5lbE1hdHJpeDp3MSxrZXJuZWxVbml0TGVuZ3RoOm51bGwsa2V5UG9pbnRzOm51bGwsa2V5U3BsaW5lczpudWxsLGtleVRpbWVzOm51bGwsa2VybmluZzpudWxsLGxhbmc6bnVsbCxsZW5ndGhBZGp1c3Q6bnVsbCxsZXR0ZXJTcGFjaW5nOm51bGwsbGlnaHRpbmdDb2xvcjpudWxsLGxpbWl0aW5nQ29uZUFuZ2xlOkhlLGxvY2FsOm51bGwsbWFya2VyRW5kOm51bGwsbWFya2VyTWlkOm51bGwsbWFya2VyU3RhcnQ6bnVsbCxtYXJrZXJIZWlnaHQ6bnVsbCxtYXJrZXJVbml0czpudWxsLG1hcmtlcldpZHRoOm51bGwsbWFzazpudWxsLG1hc2tDb250ZW50VW5pdHM6bnVsbCxtYXNrVW5pdHM6bnVsbCxtYXRoZW1hdGljYWw6bnVsbCxtYXg6bnVsbCxtZWRpYTpudWxsLG1lZGlhQ2hhcmFjdGVyRW5jb2Rpbmc6bnVsbCxtZWRpYUNvbnRlbnRFbmNvZGluZ3M6bnVsbCxtZWRpYVNpemU6SGUsbWVkaWFUaW1lOm51bGwsbWV0aG9kOm51bGwsbWluOm51bGwsbW9kZTpudWxsLG5hbWU6bnVsbCxuYXZEb3duOm51bGwsbmF2RG93bkxlZnQ6bnVsbCxuYXZEb3duUmlnaHQ6bnVsbCxuYXZMZWZ0Om51bGwsbmF2TmV4dDpudWxsLG5hdlByZXY6bnVsbCxuYXZSaWdodDpudWxsLG5hdlVwOm51bGwsbmF2VXBMZWZ0Om51bGwsbmF2VXBSaWdodDpudWxsLG51bU9jdGF2ZXM6bnVsbCxvYnNlcnZlcjpudWxsLG9mZnNldDpudWxsLG9uQWJvcnQ6bnVsbCxvbkFjdGl2YXRlOm51bGwsb25BZnRlclByaW50Om51bGwsb25CZWZvcmVQcmludDpudWxsLG9uQmVnaW46bnVsbCxvbkNhbmNlbDpudWxsLG9uQ2FuUGxheTpudWxsLG9uQ2FuUGxheVRocm91Z2g6bnVsbCxvbkNoYW5nZTpudWxsLG9uQ2xpY2s6bnVsbCxvbkNsb3NlOm51bGwsb25Db3B5Om51bGwsb25DdWVDaGFuZ2U6bnVsbCxvbkN1dDpudWxsLG9uRGJsQ2xpY2s6bnVsbCxvbkRyYWc6bnVsbCxvbkRyYWdFbmQ6bnVsbCxvbkRyYWdFbnRlcjpudWxsLG9uRHJhZ0V4aXQ6bnVsbCxvbkRyYWdMZWF2ZTpudWxsLG9uRHJhZ092ZXI6bnVsbCxvbkRyYWdTdGFydDpudWxsLG9uRHJvcDpudWxsLG9uRHVyYXRpb25DaGFuZ2U6bnVsbCxvbkVtcHRpZWQ6bnVsbCxvbkVuZDpudWxsLG9uRW5kZWQ6bnVsbCxvbkVycm9yOm51bGwsb25Gb2N1czpudWxsLG9uRm9jdXNJbjpudWxsLG9uRm9jdXNPdXQ6bnVsbCxvbkhhc2hDaGFuZ2U6bnVsbCxvbklucHV0Om51bGwsb25JbnZhbGlkOm51bGwsb25LZXlEb3duOm51bGwsb25LZXlQcmVzczpudWxsLG9uS2V5VXA6bnVsbCxvbkxvYWQ6bnVsbCxvbkxvYWRlZERhdGE6bnVsbCxvbkxvYWRlZE1ldGFkYXRhOm51bGwsb25Mb2FkU3RhcnQ6bnVsbCxvbk1lc3NhZ2U6bnVsbCxvbk1vdXNlRG93bjpudWxsLG9uTW91c2VFbnRlcjpudWxsLG9uTW91c2VMZWF2ZTpudWxsLG9uTW91c2VNb3ZlOm51bGwsb25Nb3VzZU91dDpudWxsLG9uTW91c2VPdmVyOm51bGwsb25Nb3VzZVVwOm51bGwsb25Nb3VzZVdoZWVsOm51bGwsb25PZmZsaW5lOm51bGwsb25PbmxpbmU6bnVsbCxvblBhZ2VIaWRlOm51bGwsb25QYWdlU2hvdzpudWxsLG9uUGFzdGU6bnVsbCxvblBhdXNlOm51bGwsb25QbGF5Om51bGwsb25QbGF5aW5nOm51bGwsb25Qb3BTdGF0ZTpudWxsLG9uUHJvZ3Jlc3M6bnVsbCxvblJhdGVDaGFuZ2U6bnVsbCxvblJlcGVhdDpudWxsLG9uUmVzZXQ6bnVsbCxvblJlc2l6ZTpudWxsLG9uU2Nyb2xsOm51bGwsb25TZWVrZWQ6bnVsbCxvblNlZWtpbmc6bnVsbCxvblNlbGVjdDpudWxsLG9uU2hvdzpudWxsLG9uU3RhbGxlZDpudWxsLG9uU3RvcmFnZTpudWxsLG9uU3VibWl0Om51bGwsb25TdXNwZW5kOm51bGwsb25UaW1lVXBkYXRlOm51bGwsb25Ub2dnbGU6bnVsbCxvblVubG9hZDpudWxsLG9uVm9sdW1lQ2hhbmdlOm51bGwsb25XYWl0aW5nOm51bGwsb25ab29tOm51bGwsb3BhY2l0eTpudWxsLG9wZXJhdG9yOm51bGwsb3JkZXI6bnVsbCxvcmllbnQ6bnVsbCxvcmllbnRhdGlvbjpudWxsLG9yaWdpbjpudWxsLG92ZXJmbG93Om51bGwsb3ZlcmxheTpudWxsLG92ZXJsaW5lUG9zaXRpb246SGUsb3ZlcmxpbmVUaGlja25lc3M6SGUscGFpbnRPcmRlcjpudWxsLHBhbm9zZTE6bnVsbCxwYXRoOm51bGwscGF0aExlbmd0aDpIZSxwYXR0ZXJuQ29udGVudFVuaXRzOm51bGwscGF0dGVyblRyYW5zZm9ybTpudWxsLHBhdHRlcm5Vbml0czpudWxsLHBoYXNlOm51bGwscGluZzpxcixwaXRjaDpudWxsLHBsYXliYWNrT3JkZXI6bnVsbCxwb2ludGVyRXZlbnRzOm51bGwscG9pbnRzOm51bGwscG9pbnRzQXRYOkhlLHBvaW50c0F0WTpIZSxwb2ludHNBdFo6SGUscHJlc2VydmVBbHBoYTpudWxsLHByZXNlcnZlQXNwZWN0UmF0aW86bnVsbCxwcmltaXRpdmVVbml0czpudWxsLHByb3BhZ2F0ZTpudWxsLHByb3BlcnR5OncxLHI6bnVsbCxyYWRpdXM6bnVsbCxyZWZlcnJlclBvbGljeTpudWxsLHJlZlg6bnVsbCxyZWZZOm51bGwscmVsOncxLHJldjp3MSxyZW5kZXJpbmdJbnRlbnQ6bnVsbCxyZXBlYXRDb3VudDpudWxsLHJlcGVhdER1cjpudWxsLHJlcXVpcmVkRXh0ZW5zaW9uczp3MSxyZXF1aXJlZEZlYXR1cmVzOncxLHJlcXVpcmVkRm9udHM6dzEscmVxdWlyZWRGb3JtYXRzOncxLHJlc291cmNlOm51bGwscmVzdGFydDpudWxsLHJlc3VsdDpudWxsLHJvdGF0ZTpudWxsLHJ4Om51bGwscnk6bnVsbCxzY2FsZTpudWxsLHNlZWQ6bnVsbCxzaGFwZVJlbmRlcmluZzpudWxsLHNpZGU6bnVsbCxzbG9wZTpudWxsLHNuYXBzaG90VGltZTpudWxsLHNwZWN1bGFyQ29uc3RhbnQ6SGUsc3BlY3VsYXJFeHBvbmVudDpIZSxzcHJlYWRNZXRob2Q6bnVsbCxzcGFjaW5nOm51bGwsc3RhcnRPZmZzZXQ6bnVsbCxzdGREZXZpYXRpb246bnVsbCxzdGVtaDpudWxsLHN0ZW12Om51bGwsc3RpdGNoVGlsZXM6bnVsbCxzdG9wQ29sb3I6bnVsbCxzdG9wT3BhY2l0eTpudWxsLHN0cmlrZXRocm91Z2hQb3NpdGlvbjpIZSxzdHJpa2V0aHJvdWdoVGhpY2tuZXNzOkhlLHN0cmluZzpudWxsLHN0cm9rZTpudWxsLHN0cm9rZURhc2hBcnJheTp3MSxzdHJva2VEYXNoT2Zmc2V0Om51bGwsc3Ryb2tlTGluZUNhcDpudWxsLHN0cm9rZUxpbmVKb2luOm51bGwsc3Ryb2tlTWl0ZXJMaW1pdDpIZSxzdHJva2VPcGFjaXR5OkhlLHN0cm9rZVdpZHRoOm51bGwsc3R5bGU6bnVsbCxzdXJmYWNlU2NhbGU6SGUsc3luY0JlaGF2aW9yOm51bGwsc3luY0JlaGF2aW9yRGVmYXVsdDpudWxsLHN5bmNNYXN0ZXI6bnVsbCxzeW5jVG9sZXJhbmNlOm51bGwsc3luY1RvbGVyYW5jZURlZmF1bHQ6bnVsbCxzeXN0ZW1MYW5ndWFnZTp3MSx0YWJJbmRleDpIZSx0YWJsZVZhbHVlczpudWxsLHRhcmdldDpudWxsLHRhcmdldFg6SGUsdGFyZ2V0WTpIZSx0ZXh0QW5jaG9yOm51bGwsdGV4dERlY29yYXRpb246bnVsbCx0ZXh0UmVuZGVyaW5nOm51bGwsdGV4dExlbmd0aDpudWxsLHRpbWVsaW5lQmVnaW46bnVsbCx0aXRsZTpudWxsLHRyYW5zZm9ybUJlaGF2aW9yOm51bGwsdHlwZTpudWxsLHR5cGVPZjp3MSx0bzpudWxsLHRyYW5zZm9ybTpudWxsLHRyYW5zZm9ybU9yaWdpbjpudWxsLHUxOm51bGwsdTI6bnVsbCx1bmRlcmxpbmVQb3NpdGlvbjpIZSx1bmRlcmxpbmVUaGlja25lc3M6SGUsdW5pY29kZTpudWxsLHVuaWNvZGVCaWRpOm51bGwsdW5pY29kZVJhbmdlOm51bGwsdW5pdHNQZXJFbTpIZSx2YWx1ZXM6bnVsbCx2QWxwaGFiZXRpYzpIZSx2TWF0aGVtYXRpY2FsOkhlLHZlY3RvckVmZmVjdDpudWxsLHZIYW5naW5nOkhlLHZJZGVvZ3JhcGhpYzpIZSx2ZXJzaW9uOm51bGwsdmVydEFkdlk6SGUsdmVydE9yaWdpblg6SGUsdmVydE9yaWdpblk6SGUsdmlld0JveDpudWxsLHZpZXdUYXJnZXQ6bnVsbCx2aXNpYmlsaXR5Om51bGwsd2lkdGg6bnVsbCx3aWR0aHM6bnVsbCx3b3JkU3BhY2luZzpudWxsLHdyaXRpbmdNb2RlOm51bGwseDpudWxsLHgxOm51bGwseDI6bnVsbCx4Q2hhbm5lbFNlbGVjdG9yOm51bGwseEhlaWdodDpIZSx5Om51bGwseTE6bnVsbCx5MjpudWxsLHlDaGFubmVsU2VsZWN0b3I6bnVsbCx6Om51bGwsem9vbUFuZFBhbjpudWxsfSxzcGFjZToic3ZnIix0cmFuc2Zvcm06VWt9KX0pO3ZhciBYVyxnTGU9ZigoKT0+e3ZkKCk7WFc9YnMoe3Byb3BlcnRpZXM6e3hMaW5rQWN0dWF0ZTpudWxsLHhMaW5rQXJjUm9sZTpudWxsLHhMaW5rSHJlZjpudWxsLHhMaW5rUm9sZTpudWxsLHhMaW5rU2hvdzpudWxsLHhMaW5rVGl0bGU6bnVsbCx4TGlua1R5cGU6bnVsbH0sc3BhY2U6InhsaW5rIix0cmFuc2Zvcm0oZSx0KXtyZXR1cm4ieGxpbms6Iit0LnNsaWNlKDUpLnRvTG93ZXJDYXNlKCl9fSl9KTt2YXIgUVcsYkxlPWYoKCk9Pnt2ZCgpO1pXKCk7UVc9YnMoe2F0dHJpYnV0ZXM6e3htbG5zeGxpbms6InhtbG5zOnhsaW5rIn0scHJvcGVydGllczp7eG1sbnNYTGluazpudWxsLHhtbG5zOm51bGx9LHNwYWNlOiJ4bWxucyIsdHJhbnNmb3JtOldrfSl9KTt2YXIgSlcsdkxlPWYoKCk9Pnt2ZCgpO0pXPWJzKHtwcm9wZXJ0aWVzOnt4bWxCYXNlOm51bGwseG1sTGFuZzpudWxsLHhtbFNwYWNlOm51bGx9LHNwYWNlOiJ4bWwiLHRyYW5zZm9ybShlLHQpe3JldHVybiJ4bWw6Iit0LnNsaWNlKDMpLnRvTG93ZXJDYXNlKCl9fSl9KTt2YXIgeExlPWYoKCk9Pnt9KTtmdW5jdGlvbiBLVyhlLHQpe2xldCByPWVwKHQpLGE9dCxpPSRpO2lmKHIgaW4gZS5ub3JtYWwpcmV0dXJuIGUucHJvcGVydHlbZS5ub3JtYWxbcl1dO2lmKHIubGVuZ3RoPjQmJnIuc2xpY2UoMCw0KT09PSJkYXRhIiYmRkNyLnRlc3QodCkpe2lmKHQuY2hhckF0KDQpPT09Ii0iKXtsZXQgbj10LnNsaWNlKDUpLnJlcGxhY2UoeUxlLFJDcik7YT0iZGF0YSIrbi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStuLnNsaWNlKDEpfWVsc2V7bGV0IG49dC5zbGljZSg0KTtpZigheUxlLnRlc3Qobikpe2xldCBzPW4ucmVwbGFjZShOQ3IsT0NyKTtzLmNoYXJBdCgwKSE9PSItIiYmKHM9Ii0iK3MpLHQ9ImRhdGEiK3N9fWk9YmR9cmV0dXJuIG5ldyBpKGEsdCl9ZnVuY3Rpb24gT0NyKGUpe3JldHVybiItIitlLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gUkNyKGUpe3JldHVybiBlLmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfXZhciBOQ3IseUxlLEZDcix3TGU9ZigoKT0+e1dXKCk7VlcoKTtqaygpO05Dcj0vW0EtWl0vZyx5TGU9Ly1bYS16XS9nLEZDcj0vXmRhdGFbLVx3LjpdKyQvaX0pO3ZhciBNTGUsR2ssZUc9ZigoKT0+e2NMZSgpO3VMZSgpO2ZMZSgpO21MZSgpO2dMZSgpO2JMZSgpO3ZMZSgpO3hMZSgpO3dMZSgpO2prKCk7TUxlPWpXKFtHVyxwTGUsWFcsUVcsSlddLCJodG1sIiksR2s9alcoW0dXLGhMZSxYVyxRVyxKV10sInN2ZyIpfSk7ZnVuY3Rpb24gdEcoZSx0KXtpZihlPWUucmVwbGFjZSh0LnN1YnNldD9WQ3IodC5zdWJzZXQpOkJDcixhKSx0LnN1YnNldHx8dC5lc2NhcGVPbmx5KXJldHVybiBlO3JldHVybiBlLnJlcGxhY2UoSENyLHIpLnJlcGxhY2UocUNyLGEpO2Z1bmN0aW9uIHIoaSxuLHMpe3JldHVybiB0LmZvcm1hdCgoaS5jaGFyQ29kZUF0KDApLTU1Mjk2KSoxMDI0K2kuY2hhckNvZGVBdCgxKS01NjMyMCs2NTUzNixzLmNoYXJDb2RlQXQobisyKSx0KX1mdW5jdGlvbiBhKGksbixzKXtyZXR1cm4gdC5mb3JtYXQoaS5jaGFyQ29kZUF0KDApLHMuY2hhckNvZGVBdChuKzEpLHQpfX1mdW5jdGlvbiBWQ3IoZSl7bGV0IHQ9a0xlLmdldChlKTtyZXR1cm4gdHx8KHQ9VUNyKGUpLGtMZS5zZXQoZSx0KSksdH1mdW5jdGlvbiBVQ3IoZSl7bGV0IHQ9W10scj0tMTtmb3IoOysrcjxlLmxlbmd0aDspdC5wdXNoKGVbcl0ucmVwbGFjZShqQ3IsIlxcJCYiKSk7cmV0dXJuIG5ldyBSZWdFeHAoIig/OiIrdC5qb2luKCJ8IikrIikiLCJnIil9dmFyIEJDcixIQ3IscUNyLGpDcixrTGUsU0xlPWYoKCk9PntCQ3I9L1siJic8PmBdL2csSENyPS9bXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl0vZyxxQ3I9L1tceDAxLVx0XHZcZlx4MEUtXHgxRlx4N0ZceDgxXHg4RFx4OEZceDkwXHg5RFx4QTAtXHVGRkZGXS9nLGpDcj0vW3xcXHt9KClbXF1eJCsqPy5dL2csa0xlPW5ldyBXZWFrTWFwfSk7ZnVuY3Rpb24gekxlKGUsdCxyKXtsZXQgYT0iJiN4IitlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO3JldHVybiByJiZ0JiYhV0NyLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZSh0KSk/YTphKyI7In12YXIgV0NyLENMZT1mKCgpPT57V0NyPS9bXGRBLUZhLWZdL30pO2Z1bmN0aW9uIFRMZShlLHQscil7bGV0IGE9IiYjIitTdHJpbmcoZSk7cmV0dXJuIHImJnQmJiFHQ3IudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKT9hOmErIjsifXZhciBHQ3IsX0xlPWYoKCk9PntHQ3I9L1xkL30pO3ZhciBMTGUsJExlPWYoKCk9PntMTGU9WyJBRWxpZyIsIkFNUCIsIkFhY3V0ZSIsIkFjaXJjIiwiQWdyYXZlIiwiQXJpbmciLCJBdGlsZGUiLCJBdW1sIiwiQ09QWSIsIkNjZWRpbCIsIkVUSCIsIkVhY3V0ZSIsIkVjaXJjIiwiRWdyYXZlIiwiRXVtbCIsIkdUIiwiSWFjdXRlIiwiSWNpcmMiLCJJZ3JhdmUiLCJJdW1sIiwiTFQiLCJOdGlsZGUiLCJPYWN1dGUiLCJPY2lyYyIsIk9ncmF2ZSIsIk9zbGFzaCIsIk90aWxkZSIsIk91bWwiLCJRVU9UIiwiUkVHIiwiVEhPUk4iLCJVYWN1dGUiLCJVY2lyYyIsIlVncmF2ZSIsIlV1bWwiLCJZYWN1dGUiLCJhYWN1dGUiLCJhY2lyYyIsImFjdXRlIiwiYWVsaWciLCJhZ3JhdmUiLCJhbXAiLCJhcmluZyIsImF0aWxkZSIsImF1bWwiLCJicnZiYXIiLCJjY2VkaWwiLCJjZWRpbCIsImNlbnQiLCJjb3B5IiwiY3VycmVuIiwiZGVnIiwiZGl2aWRlIiwiZWFjdXRlIiwiZWNpcmMiLCJlZ3JhdmUiLCJldGgiLCJldW1sIiwiZnJhYzEyIiwiZnJhYzE0IiwiZnJhYzM0IiwiZ3QiLCJpYWN1dGUiLCJpY2lyYyIsImlleGNsIiwiaWdyYXZlIiwiaXF1ZXN0IiwiaXVtbCIsImxhcXVvIiwibHQiLCJtYWNyIiwibWljcm8iLCJtaWRkb3QiLCJuYnNwIiwibm90IiwibnRpbGRlIiwib2FjdXRlIiwib2NpcmMiLCJvZ3JhdmUiLCJvcmRmIiwib3JkbSIsIm9zbGFzaCIsIm90aWxkZSIsIm91bWwiLCJwYXJhIiwicGx1c21uIiwicG91bmQiLCJxdW90IiwicmFxdW8iLCJyZWciLCJzZWN0Iiwic2h5Iiwic3VwMSIsInN1cDIiLCJzdXAzIiwic3psaWciLCJ0aG9ybiIsInRpbWVzIiwidWFjdXRlIiwidWNpcmMiLCJ1Z3JhdmUiLCJ1bWwiLCJ1dW1sIiwieWFjdXRlIiwieWVuIiwieXVtbCJdfSk7dmFyIFlrLERMZT1mKCgpPT57WWs9e25ic3A6Ilx4QTAiLGlleGNsOiJceEExIixjZW50OiJceEEyIixwb3VuZDoiXHhBMyIsY3VycmVuOiJceEE0Iix5ZW46Ilx4QTUiLGJydmJhcjoiXHhBNiIsc2VjdDoiXHhBNyIsdW1sOiJceEE4Iixjb3B5OiJceEE5IixvcmRmOiJceEFBIixsYXF1bzoiXHhBQiIsbm90OiJceEFDIixzaHk6Ilx4QUQiLHJlZzoiXHhBRSIsbWFjcjoiXHhBRiIsZGVnOiJceEIwIixwbHVzbW46Ilx4QjEiLHN1cDI6Ilx4QjIiLHN1cDM6Ilx4QjMiLGFjdXRlOiJceEI0IixtaWNybzoiXHhCNSIscGFyYToiXHhCNiIsbWlkZG90OiJceEI3IixjZWRpbDoiXHhCOCIsc3VwMToiXHhCOSIsb3JkbToiXHhCQSIscmFxdW86Ilx4QkIiLGZyYWMxNDoiXHhCQyIsZnJhYzEyOiJceEJEIixmcmFjMzQ6Ilx4QkUiLGlxdWVzdDoiXHhCRiIsQWdyYXZlOiJceEMwIixBYWN1dGU6Ilx4QzEiLEFjaXJjOiJceEMyIixBdGlsZGU6Ilx4QzMiLEF1bWw6Ilx4QzQiLEFyaW5nOiJceEM1IixBRWxpZzoiXHhDNiIsQ2NlZGlsOiJceEM3IixFZ3JhdmU6Ilx4QzgiLEVhY3V0ZToiXHhDOSIsRWNpcmM6Ilx4Q0EiLEV1bWw6Ilx4Q0IiLElncmF2ZToiXHhDQyIsSWFjdXRlOiJceENEIixJY2lyYzoiXHhDRSIsSXVtbDoiXHhDRiIsRVRIOiJceEQwIixOdGlsZGU6Ilx4RDEiLE9ncmF2ZToiXHhEMiIsT2FjdXRlOiJceEQzIixPY2lyYzoiXHhENCIsT3RpbGRlOiJceEQ1IixPdW1sOiJceEQ2Iix0aW1lczoiXHhENyIsT3NsYXNoOiJceEQ4IixVZ3JhdmU6Ilx4RDkiLFVhY3V0ZToiXHhEQSIsVWNpcmM6Ilx4REIiLFV1bWw6Ilx4REMiLFlhY3V0ZToiXHhERCIsVEhPUk46Ilx4REUiLHN6bGlnOiJceERGIixhZ3JhdmU6Ilx4RTAiLGFhY3V0ZToiXHhFMSIsYWNpcmM6Ilx4RTIiLGF0aWxkZToiXHhFMyIsYXVtbDoiXHhFNCIsYXJpbmc6Ilx4RTUiLGFlbGlnOiJceEU2IixjY2VkaWw6Ilx4RTciLGVncmF2ZToiXHhFOCIsZWFjdXRlOiJceEU5IixlY2lyYzoiXHhFQSIsZXVtbDoiXHhFQiIsaWdyYXZlOiJceEVDIixpYWN1dGU6Ilx4RUQiLGljaXJjOiJceEVFIixpdW1sOiJceEVGIixldGg6Ilx4RjAiLG50aWxkZToiXHhGMSIsb2dyYXZlOiJceEYyIixvYWN1dGU6Ilx4RjMiLG9jaXJjOiJceEY0IixvdGlsZGU6Ilx4RjUiLG91bWw6Ilx4RjYiLGRpdmlkZToiXHhGNyIsb3NsYXNoOiJceEY4Iix1Z3JhdmU6Ilx4RjkiLHVhY3V0ZToiXHhGQSIsdWNpcmM6Ilx4RkIiLHV1bWw6Ilx4RkMiLHlhY3V0ZToiXHhGRCIsdGhvcm46Ilx4RkUiLHl1bWw6Ilx4RkYiLGZub2Y6Ilx1MDE5MiIsQWxwaGE6Ilx1MDM5MSIsQmV0YToiXHUwMzkyIixHYW1tYToiXHUwMzkzIixEZWx0YToiXHUwMzk0IixFcHNpbG9uOiJcdTAzOTUiLFpldGE6Ilx1MDM5NiIsRXRhOiJcdTAzOTciLFRoZXRhOiJcdTAzOTgiLElvdGE6Ilx1MDM5OSIsS2FwcGE6Ilx1MDM5QSIsTGFtYmRhOiJcdTAzOUIiLE11OiJcdTAzOUMiLE51OiJcdTAzOUQiLFhpOiJcdTAzOUUiLE9taWNyb246Ilx1MDM5RiIsUGk6Ilx1MDNBMCIsUmhvOiJcdTAzQTEiLFNpZ21hOiJcdTAzQTMiLFRhdToiXHUwM0E0IixVcHNpbG9uOiJcdTAzQTUiLFBoaToiXHUwM0E2IixDaGk6Ilx1MDNBNyIsUHNpOiJcdTAzQTgiLE9tZWdhOiJcdTAzQTkiLGFscGhhOiJcdTAzQjEiLGJldGE6Ilx1MDNCMiIsZ2FtbWE6Ilx1MDNCMyIsZGVsdGE6Ilx1MDNCNCIsZXBzaWxvbjoiXHUwM0I1Iix6ZXRhOiJcdTAzQjYiLGV0YToiXHUwM0I3Iix0aGV0YToiXHUwM0I4Iixpb3RhOiJcdTAzQjkiLGthcHBhOiJcdTAzQkEiLGxhbWJkYToiXHUwM0JCIixtdToiXHUwM0JDIixudToiXHUwM0JEIix4aToiXHUwM0JFIixvbWljcm9uOiJcdTAzQkYiLHBpOiJcdTAzQzAiLHJobzoiXHUwM0MxIixzaWdtYWY6Ilx1MDNDMiIsc2lnbWE6Ilx1MDNDMyIsdGF1OiJcdTAzQzQiLHVwc2lsb246Ilx1MDNDNSIscGhpOiJcdTAzQzYiLGNoaToiXHUwM0M3Iixwc2k6Ilx1MDNDOCIsb21lZ2E6Ilx1MDNDOSIsdGhldGFzeW06Ilx1MDNEMSIsdXBzaWg6Ilx1MDNEMiIscGl2OiJcdTAzRDYiLGJ1bGw6Ilx1MjAyMiIsaGVsbGlwOiJcdTIwMjYiLHByaW1lOiJcdTIwMzIiLFByaW1lOiJcdTIwMzMiLG9saW5lOiJcdTIwM0UiLGZyYXNsOiJcdTIwNDQiLHdlaWVycDoiXHUyMTE4IixpbWFnZToiXHUyMTExIixyZWFsOiJcdTIxMUMiLHRyYWRlOiJcdTIxMjIiLGFsZWZzeW06Ilx1MjEzNSIsbGFycjoiXHUyMTkwIix1YXJyOiJcdTIxOTEiLHJhcnI6Ilx1MjE5MiIsZGFycjoiXHUyMTkzIixoYXJyOiJcdTIxOTQiLGNyYXJyOiJcdTIxQjUiLGxBcnI6Ilx1MjFEMCIsdUFycjoiXHUyMUQxIixyQXJyOiJcdTIxRDIiLGRBcnI6Ilx1MjFEMyIsaEFycjoiXHUyMUQ0Iixmb3JhbGw6Ilx1MjIwMCIscGFydDoiXHUyMjAyIixleGlzdDoiXHUyMjAzIixlbXB0eToiXHUyMjA1IixuYWJsYToiXHUyMjA3Iixpc2luOiJcdTIyMDgiLG5vdGluOiJcdTIyMDkiLG5pOiJcdTIyMEIiLHByb2Q6Ilx1MjIwRiIsc3VtOiJcdTIyMTEiLG1pbnVzOiJcdTIyMTIiLGxvd2FzdDoiXHUyMjE3IixyYWRpYzoiXHUyMjFBIixwcm9wOiJcdTIyMUQiLGluZmluOiJcdTIyMUUiLGFuZzoiXHUyMjIwIixhbmQ6Ilx1MjIyNyIsb3I6Ilx1MjIyOCIsY2FwOiJcdTIyMjkiLGN1cDoiXHUyMjJBIixpbnQ6Ilx1MjIyQiIsdGhlcmU0OiJcdTIyMzQiLHNpbToiXHUyMjNDIixjb25nOiJcdTIyNDUiLGFzeW1wOiJcdTIyNDgiLG5lOiJcdTIyNjAiLGVxdWl2OiJcdTIyNjEiLGxlOiJcdTIyNjQiLGdlOiJcdTIyNjUiLHN1YjoiXHUyMjgyIixzdXA6Ilx1MjI4MyIsbnN1YjoiXHUyMjg0IixzdWJlOiJcdTIyODYiLHN1cGU6Ilx1MjI4NyIsb3BsdXM6Ilx1MjI5NSIsb3RpbWVzOiJcdTIyOTciLHBlcnA6Ilx1MjJBNSIsc2RvdDoiXHUyMkM1IixsY2VpbDoiXHUyMzA4IixyY2VpbDoiXHUyMzA5IixsZmxvb3I6Ilx1MjMwQSIscmZsb29yOiJcdTIzMEIiLGxhbmc6Ilx1MjMyOSIscmFuZzoiXHUyMzJBIixsb3o6Ilx1MjVDQSIsc3BhZGVzOiJcdTI2NjAiLGNsdWJzOiJcdTI2NjMiLGhlYXJ0czoiXHUyNjY1IixkaWFtczoiXHUyNjY2IixxdW90OiciJyxhbXA6IiYiLGx0OiI8IixndDoiPiIsT0VsaWc6Ilx1MDE1MiIsb2VsaWc6Ilx1MDE1MyIsU2Nhcm9uOiJcdTAxNjAiLHNjYXJvbjoiXHUwMTYxIixZdW1sOiJcdTAxNzgiLGNpcmM6Ilx1MDJDNiIsdGlsZGU6Ilx1MDJEQyIsZW5zcDoiXHUyMDAyIixlbXNwOiJcdTIwMDMiLHRoaW5zcDoiXHUyMDA5Iix6d25qOiJcdTIwMEMiLHp3ajoiXHUyMDBEIixscm06Ilx1MjAwRSIscmxtOiJcdTIwMEYiLG5kYXNoOiJcdTIwMTMiLG1kYXNoOiJcdTIwMTQiLGxzcXVvOiJcdTIwMTgiLHJzcXVvOiJcdTIwMTkiLHNicXVvOiJcdTIwMUEiLGxkcXVvOiJcdTIwMUMiLHJkcXVvOiJcdTIwMUQiLGJkcXVvOiJcdTIwMUUiLGRhZ2dlcjoiXHUyMDIwIixEYWdnZXI6Ilx1MjAyMSIscGVybWlsOiJcdTIwMzAiLGxzYXF1bzoiXHUyMDM5Iixyc2FxdW86Ilx1MjAzQSIsZXVybzoiXHUyMEFDIn19KTt2YXIgQUxlLEVMZT1mKCgpPT57QUxlPVsiY2VudCIsImNvcHkiLCJkaXZpZGUiLCJndCIsImx0Iiwibm90IiwicGFyYSIsInRpbWVzIl19KTtmdW5jdGlvbiBQTGUoZSx0LHIsYSl7bGV0IGk9U3RyaW5nLmZyb21DaGFyQ29kZShlKTtpZihJTGUuY2FsbChyRyxpKSl7bGV0IG49ckdbaV0scz0iJiIrbjtyZXR1cm4gciYmTExlLmluY2x1ZGVzKG4pJiYhQUxlLmluY2x1ZGVzKG4pJiYoIWF8fHQmJnQhPT02MSYmWUNyLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZSh0KSkpP3M6cysiOyJ9cmV0dXJuIiJ9dmFyIElMZSxyRyxaayxZQ3IsTkxlPWYoKCk9PnskTGUoKTtETGUoKTtFTGUoKTtJTGU9e30uaGFzT3duUHJvcGVydHksckc9e307Zm9yKFprIGluIFlrKUlMZS5jYWxsKFlrLFprKSYmKHJHW1lrW1prXV09WmspO1lDcj0vW15cZEEtWmEtel0vfSk7ZnVuY3Rpb24gRkxlKGUsdCxyKXtsZXQgYT16TGUoZSx0LHIub21pdE9wdGlvbmFsU2VtaWNvbG9ucyksaTtpZigoci51c2VOYW1lZFJlZmVyZW5jZXN8fHIudXNlU2hvcnRlc3RSZWZlcmVuY2VzKSYmKGk9UExlKGUsdCxyLm9taXRPcHRpb25hbFNlbWljb2xvbnMsci5hdHRyaWJ1dGUpKSwoci51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fCFpKSYmci51c2VTaG9ydGVzdFJlZmVyZW5jZXMpe2xldCBuPVRMZShlLHQsci5vbWl0T3B0aW9uYWxTZW1pY29sb25zKTtuLmxlbmd0aDxhLmxlbmd0aCYmKGE9bil9cmV0dXJuIGkmJighci51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fGkubGVuZ3RoPGEubGVuZ3RoKT9pOmF9dmFyIE9MZT1mKCgpPT57Q0xlKCk7X0xlKCk7TkxlKCl9KTtmdW5jdGlvbiBSTGUoZSl7cmV0dXJuIiYjeCIrZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiOyJ9dmFyIEJMZT1mKCgpPT57fSk7ZnVuY3Rpb24gamwoZSx0KXtyZXR1cm4gdEcoZSxPYmplY3QuYXNzaWduKHtmb3JtYXQ6RkxlfSx0KSl9ZnVuY3Rpb24gZFlhKGUsdCl7cmV0dXJuIHRHKGUsT2JqZWN0LmFzc2lnbih7Zm9ybWF0OlJMZX0sdCkpfXZhciBITGU9ZigoKT0+e1NMZSgpO09MZSgpO0JMZSgpfSk7dmFyIFhrPWYoKCk9PntITGUoKX0pO2Z1bmN0aW9uIHFMZShlLHQscixhKXtyZXR1cm4gYS5zZXR0aW5ncy5ib2d1c0NvbW1lbnRzPyI8PyIramwoZS52YWx1ZSxPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7c3Vic2V0OlhDcn0pKSsiPiI6IjwhLS0iK2UudmFsdWUucmVwbGFjZShaQ3IsaSkrIi0tPiI7ZnVuY3Rpb24gaShuKXtyZXR1cm4gamwobixPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7c3Vic2V0OlFDcn0pKX19dmFyIFpDcixYQ3IsUUNyLGpMZT1mKCgpPT57WGsoKTtaQ3I9L14+fF4tPnw8IS0tfC0tPnwtLSE+fDwhLSQvZyxYQ3I9WyI+Il0sUUNyPVsiPCIsIj4iXX0pO2Z1bmN0aW9uIFZMZShlLHQscixhKXtyZXR1cm4iPCEiKyhhLnNldHRpbmdzLnVwcGVyRG9jdHlwZT8iRE9DVFlQRSI6ImRvY3R5cGUiKSsoYS5zZXR0aW5ncy50aWdodERvY3R5cGU/IiI6IiAiKSsiaHRtbD4ifXZhciBVTGU9ZigoKT0+e30pO2Z1bmN0aW9uIGJZYShlKXtsZXQgdD1bXSxyPVN0cmluZyhlfHwiIiksYT1yLmluZGV4T2YoIiwiKSxpPTAsbj0hMTtmb3IoOyFuOyl7YT09PS0xJiYoYT1yLmxlbmd0aCxuPSEwKTtsZXQgcz1yLnNsaWNlKGksYSkudHJpbSgpOyhzfHwhbikmJnQucHVzaChzKSxpPWErMSxhPXIuaW5kZXhPZigiLCIsaSl9cmV0dXJuIHR9ZnVuY3Rpb24gV0xlKGUsdCl7bGV0IHI9dHx8e307cmV0dXJuKGVbZS5sZW5ndGgtMV09PT0iIj9bLi4uZSwiIl06ZSkuam9pbigoci5wYWRSaWdodD8iICI6IiIpKyIsIisoci5wYWRMZWZ0PT09ITE/IiI6IiAiKSkudHJpbSgpfXZhciBHTGU9ZigoKT0+e30pO2Z1bmN0aW9uIHhZYShlKXtsZXQgdD1TdHJpbmcoZXx8IiIpLnRyaW0oKTtyZXR1cm4gdD90LnNwbGl0KC9bIFx0XG5cclxmXSsvZyk6W119ZnVuY3Rpb24gWUxlKGUpe3JldHVybiBlLmpvaW4oIiAiKS50cmltKCl9dmFyIFpMZT1mKCgpPT57fSk7ZnVuY3Rpb24geGQoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0Ij9lLnR5cGU9PT0idGV4dCI/WExlKGUudmFsdWUpOiExOlhMZShlKX1mdW5jdGlvbiBYTGUoZSl7cmV0dXJuIGUucmVwbGFjZShKQ3IsIiIpPT09IiJ9dmFyIEpDcixRTGU9ZigoKT0+e0pDcj0vWyBcdFxuXGZccl0vZ30pO3ZhciBRaz1mKCgpPT57UUxlKCl9KTtmdW5jdGlvbiBKTGUoZSl7cmV0dXJuIHQ7ZnVuY3Rpb24gdChyLGEsaSl7bGV0IG49cj9yLmNoaWxkcmVuOktDcixzPShhfHwwKStlLG89bltzXTtpZighaSlmb3IoO28mJnhkKG8pOylzKz1lLG89bltzXTtyZXR1cm4gb319dmFyIGphLGFHLEtDcixpRz1mKCgpPT57UWsoKTtqYT1KTGUoMSksYUc9SkxlKC0xKSxLQ3I9W119KTtmdW5jdGlvbiBKayhlKXtyZXR1cm4gdDtmdW5jdGlvbiB0KHIsYSxpKXtyZXR1cm4gZVRyLmNhbGwoZSxyLnRhZ05hbWUpJiZlW3IudGFnTmFtZV0ocixhLGkpfX12YXIgZVRyLG5HPWYoKCk9PntlVHI9e30uaGFzT3duUHJvcGVydHl9KTtmdW5jdGlvbiBzRyhlLHQscil7bGV0IGE9amEocix0LCEwKTtyZXR1cm4hYXx8YS50eXBlIT09ImNvbW1lbnQiJiYhKGEudHlwZT09PSJ0ZXh0IiYmeGQoYS52YWx1ZS5jaGFyQXQoMCkpKX1mdW5jdGlvbiB0VHIoZSx0LHIpe2xldCBhPWphKHIsdCk7cmV0dXJuIWF8fGEudHlwZSE9PSJjb21tZW50In1mdW5jdGlvbiByVHIoZSx0LHIpe2xldCBhPWphKHIsdCk7cmV0dXJuIWF8fGEudHlwZSE9PSJjb21tZW50In1mdW5jdGlvbiBhVHIoZSx0LHIpe2xldCBhPWphKHIsdCk7cmV0dXJuIGE/YS50eXBlPT09ImVsZW1lbnQiJiYoYS50YWdOYW1lPT09ImFkZHJlc3MifHxhLnRhZ05hbWU9PT0iYXJ0aWNsZSJ8fGEudGFnTmFtZT09PSJhc2lkZSJ8fGEudGFnTmFtZT09PSJibG9ja3F1b3RlInx8YS50YWdOYW1lPT09ImRldGFpbHMifHxhLnRhZ05hbWU9PT0iZGl2Inx8YS50YWdOYW1lPT09ImRsInx8YS50YWdOYW1lPT09ImZpZWxkc2V0Inx8YS50YWdOYW1lPT09ImZpZ2NhcHRpb24ifHxhLnRhZ05hbWU9PT0iZmlndXJlInx8YS50YWdOYW1lPT09ImZvb3RlciJ8fGEudGFnTmFtZT09PSJmb3JtInx8YS50YWdOYW1lPT09ImgxInx8YS50YWdOYW1lPT09ImgyInx8YS50YWdOYW1lPT09ImgzInx8YS50YWdOYW1lPT09Img0Inx8YS50YWdOYW1lPT09Img1Inx8YS50YWdOYW1lPT09Img2Inx8YS50YWdOYW1lPT09ImhlYWRlciJ8fGEudGFnTmFtZT09PSJoZ3JvdXAifHxhLnRhZ05hbWU9PT0iaHIifHxhLnRhZ05hbWU9PT0ibWFpbiJ8fGEudGFnTmFtZT09PSJtZW51Inx8YS50YWdOYW1lPT09Im5hdiJ8fGEudGFnTmFtZT09PSJvbCJ8fGEudGFnTmFtZT09PSJwInx8YS50YWdOYW1lPT09InByZSJ8fGEudGFnTmFtZT09PSJzZWN0aW9uInx8YS50YWdOYW1lPT09InRhYmxlInx8YS50YWdOYW1lPT09InVsIik6IXJ8fCEoci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09ImEifHxyLnRhZ05hbWU9PT0iYXVkaW8ifHxyLnRhZ05hbWU9PT0iZGVsInx8ci50YWdOYW1lPT09ImlucyJ8fHIudGFnTmFtZT09PSJtYXAifHxyLnRhZ05hbWU9PT0ibm9zY3JpcHQifHxyLnRhZ05hbWU9PT0idmlkZW8iKSl9ZnVuY3Rpb24gaVRyKGUsdCxyKXtsZXQgYT1qYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJmEudGFnTmFtZT09PSJsaSJ9ZnVuY3Rpb24gblRyKGUsdCxyKXtsZXQgYT1qYShyLHQpO3JldHVybiEhKGEmJmEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJkdCJ8fGEudGFnTmFtZT09PSJkZCIpKX1mdW5jdGlvbiBzVHIoZSx0LHIpe2xldCBhPWphKHIsdCk7cmV0dXJuIWF8fGEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJkdCJ8fGEudGFnTmFtZT09PSJkZCIpfWZ1bmN0aW9uIEtMZShlLHQscil7bGV0IGE9amEocix0KTtyZXR1cm4hYXx8YS50eXBlPT09ImVsZW1lbnQiJiYoYS50YWdOYW1lPT09InJwInx8YS50YWdOYW1lPT09InJ0Iil9ZnVuY3Rpb24gb1RyKGUsdCxyKXtsZXQgYT1qYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJmEudGFnTmFtZT09PSJvcHRncm91cCJ9ZnVuY3Rpb24gbFRyKGUsdCxyKXtsZXQgYT1qYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJihhLnRhZ05hbWU9PT0ib3B0aW9uInx8YS50YWdOYW1lPT09Im9wdGdyb3VwIil9ZnVuY3Rpb24gY1RyKGUsdCxyKXtsZXQgYT1qYShyLHQpO3JldHVybiEhKGEmJmEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJ0Ym9keSJ8fGEudGFnTmFtZT09PSJ0Zm9vdCIpKX1mdW5jdGlvbiBkVHIoZSx0LHIpe2xldCBhPWphKHIsdCk7cmV0dXJuIWF8fGEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJ0Ym9keSJ8fGEudGFnTmFtZT09PSJ0Zm9vdCIpfWZ1bmN0aW9uIHVUcihlLHQscil7cmV0dXJuIWphKHIsdCl9ZnVuY3Rpb24gcFRyKGUsdCxyKXtsZXQgYT1qYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJmEudGFnTmFtZT09PSJ0ciJ9ZnVuY3Rpb24gZSRlKGUsdCxyKXtsZXQgYT1qYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJihhLnRhZ05hbWU9PT0idGQifHxhLnRhZ05hbWU9PT0idGgiKX12YXIgczcsb0c9ZigoKT0+e1FrKCk7aUcoKTtuRygpO3M3PUprKHtib2R5OnJUcixjYXB0aW9uOnNHLGNvbGdyb3VwOnNHLGRkOnNUcixkdDpuVHIsaGVhZDpzRyxodG1sOnRUcixsaTppVHIsb3B0Z3JvdXA6b1RyLG9wdGlvbjpsVHIscDphVHIscnA6S0xlLHJ0OktMZSx0Ym9keTpkVHIsdGQ6ZSRlLHRmb290OnVUcix0aDplJGUsdGhlYWQ6Y1RyLHRyOnBUcn0pfSk7ZnVuY3Rpb24gZlRyKGUpe2xldCB0PWphKGUsLTEpO3JldHVybiF0fHx0LnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gaFRyKGUpe2xldCB0PW5ldyBTZXQ7Zm9yKGxldCBhIG9mIGUuY2hpbGRyZW4paWYoYS50eXBlPT09ImVsZW1lbnQiJiYoYS50YWdOYW1lPT09ImJhc2UifHxhLnRhZ05hbWU9PT0idGl0bGUiKSl7aWYodC5oYXMoYS50YWdOYW1lKSlyZXR1cm4hMTt0LmFkZChhLnRhZ05hbWUpfWxldCByPWUuY2hpbGRyZW5bMF07cmV0dXJuIXJ8fHIudHlwZT09PSJlbGVtZW50In1mdW5jdGlvbiBtVHIoZSl7bGV0IHQ9amEoZSwtMSwhMCk7cmV0dXJuIXR8fHQudHlwZSE9PSJjb21tZW50IiYmISh0LnR5cGU9PT0idGV4dCImJnhkKHQudmFsdWUuY2hhckF0KDApKSkmJiEodC50eXBlPT09ImVsZW1lbnQiJiYodC50YWdOYW1lPT09Im1ldGEifHx0LnRhZ05hbWU9PT0ibGluayJ8fHQudGFnTmFtZT09PSJzY3JpcHQifHx0LnRhZ05hbWU9PT0ic3R5bGUifHx0LnRhZ05hbWU9PT0idGVtcGxhdGUiKSl9ZnVuY3Rpb24gZ1RyKGUsdCxyKXtsZXQgYT1hRyhyLHQpLGk9amEoZSwtMSwhMCk7cmV0dXJuIHImJmEmJmEudHlwZT09PSJlbGVtZW50IiYmYS50YWdOYW1lPT09ImNvbGdyb3VwIiYmczcoYSxyLmNoaWxkcmVuLmluZGV4T2YoYSkscik/ITE6ISEoaSYmaS50eXBlPT09ImVsZW1lbnQiJiZpLnRhZ05hbWU9PT0iY29sIil9ZnVuY3Rpb24gYlRyKGUsdCxyKXtsZXQgYT1hRyhyLHQpLGk9amEoZSwtMSk7cmV0dXJuIHImJmEmJmEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJ0aGVhZCJ8fGEudGFnTmFtZT09PSJ0Ym9keSIpJiZzNyhhLHIuY2hpbGRyZW4uaW5kZXhPZihhKSxyKT8hMTohIShpJiZpLnR5cGU9PT0iZWxlbWVudCImJmkudGFnTmFtZT09PSJ0ciIpfXZhciB0JGUsciRlPWYoKCk9PntRaygpO2lHKCk7b0coKTtuRygpO3QkZT1Kayh7Ym9keTptVHIsY29sZ3JvdXA6Z1RyLGhlYWQ6aFRyLGh0bWw6ZlRyLHRib2R5OmJUcn0pfSk7ZnVuY3Rpb24gYSRlKGUsdCxyLGEpe2xldCBpPWEuc2NoZW1hLG49aS5zcGFjZT09PSJzdmciPyExOmEuc2V0dGluZ3Mub21pdE9wdGlvbmFsVGFncyxzPWkuc3BhY2U9PT0ic3ZnIj9hLnNldHRpbmdzLmNsb3NlRW1wdHlFbGVtZW50czphLnNldHRpbmdzLnZvaWRzLmluY2x1ZGVzKGUudGFnTmFtZS50b0xvd2VyQ2FzZSgpKSxvPVtdLGM7aS5zcGFjZT09PSJodG1sIiYmZS50YWdOYW1lPT09InN2ZyImJihhLnNjaGVtYT1Hayk7bGV0IGw9dlRyKGEsZS5wcm9wZXJ0aWVzKSx1PWEuYWxsKGkuc3BhY2U9PT0iaHRtbCImJmUudGFnTmFtZT09PSJ0ZW1wbGF0ZSI/ZS5jb250ZW50OmUpO3JldHVybiBhLnNjaGVtYT1pLHUmJihzPSExKSwobHx8IW58fCF0JGUoZSx0LHIpKSYmKG8ucHVzaCgiPCIsZS50YWdOYW1lLGw/IiAiK2w6IiIpLHMmJihpLnNwYWNlPT09InN2ZyJ8fGEuc2V0dGluZ3MuY2xvc2VTZWxmQ2xvc2luZykmJihjPWwuY2hhckF0KGwubGVuZ3RoLTEpLCghYS5zZXR0aW5ncy50aWdodFNlbGZDbG9zaW5nfHxjPT09Ii8ifHxjJiZjIT09JyInJiZjIT09IiciKSYmby5wdXNoKCIgIiksby5wdXNoKCIvIikpLG8ucHVzaCgiPiIpKSxvLnB1c2godSksIXMmJighbnx8IXM3KGUsdCxyKSkmJm8ucHVzaCgiPC8iK2UudGFnTmFtZSsiPiIpLG8uam9pbigiIil9ZnVuY3Rpb24gdlRyKGUsdCl7bGV0IHI9W10sYT0tMSxpO2lmKHQpe2ZvcihpIGluIHQpaWYodFtpXSE9PW51bGwmJnRbaV0hPT12b2lkIDApe2xldCBuPXhUcihlLGksdFtpXSk7biYmci5wdXNoKG4pfX1mb3IoOysrYTxyLmxlbmd0aDspe2xldCBuPWUuc2V0dGluZ3MudGlnaHRBdHRyaWJ1dGVzP3JbYV0uY2hhckF0KHJbYV0ubGVuZ3RoLTEpOnZvaWQgMDthIT09ci5sZW5ndGgtMSYmbiE9PSciJyYmbiE9PSInIiYmKHJbYV0rPSIgIil9cmV0dXJuIHIuam9pbigiIil9ZnVuY3Rpb24geFRyKGUsdCxyKXtsZXQgYT1LVyhlLnNjaGVtYSx0KSxpPWUuc2V0dGluZ3MuYWxsb3dQYXJzZUVycm9ycyYmZS5zY2hlbWEuc3BhY2U9PT0iaHRtbCI/MDoxLG49ZS5zZXR0aW5ncy5hbGxvd0Rhbmdlcm91c0NoYXJhY3RlcnM/MDoxLHM9ZS5xdW90ZSxvO2lmKGEub3ZlcmxvYWRlZEJvb2xlYW4mJihyPT09YS5hdHRyaWJ1dGV8fHI9PT0iIik/cj0hMDooYS5ib29sZWFufHxhLm92ZXJsb2FkZWRCb29sZWFuKSYmKHR5cGVvZiByIT0ic3RyaW5nInx8cj09PWEuYXR0cmlidXRlfHxyPT09IiIpJiYocj0hIXIpLHI9PW51bGx8fHI9PT0hMXx8dHlwZW9mIHI9PSJudW1iZXIiJiZOdW1iZXIuaXNOYU4ocikpcmV0dXJuIiI7bGV0IGM9amwoYS5hdHRyaWJ1dGUsT2JqZWN0LmFzc2lnbih7fSxlLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDpLay5uYW1lW2ldW25dfSkpO3JldHVybiByPT09ITB8fChyPUFycmF5LmlzQXJyYXkocik/KGEuY29tbWFTZXBhcmF0ZWQ/V0xlOllMZSkocix7cGFkTGVmdDohZS5zZXR0aW5ncy50aWdodENvbW1hU2VwYXJhdGVkTGlzdHN9KTpTdHJpbmcociksZS5zZXR0aW5ncy5jb2xsYXBzZUVtcHR5QXR0cmlidXRlcyYmIXIpP2M6KGUuc2V0dGluZ3MucHJlZmVyVW5xdW90ZWQmJihvPWpsKHIsT2JqZWN0LmFzc2lnbih7fSxlLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse2F0dHJpYnV0ZTohMCxzdWJzZXQ6S2sudW5xdW90ZWRbaV1bbl19KSkpLG8hPT1yJiYoZS5zZXR0aW5ncy5xdW90ZVNtYXJ0JiZINShyLHMpPkg1KHIsZS5hbHRlcm5hdGl2ZSkmJihzPWUuYWx0ZXJuYXRpdmUpLG89cytqbChyLE9iamVjdC5hc3NpZ24oe30sZS5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6KHM9PT0iJyI/S2suc2luZ2xlOktrLmRvdWJsZSlbaV1bbl0sYXR0cmlidXRlOiEwfSkpK3MpLGMrKG8mJiI9IitvKSl9dmFyIEtrLGkkZT1mKCgpPT57R1YoKTtHTGUoKTtlRygpO1pMZSgpO1hrKCk7b0coKTtyJGUoKTtLaz17bmFtZTpbW2AJClxmXHIgJi89PmAuc3BsaXQoIiIpLGAJClxmXHIgIiYnLz0+XGBgLnNwbGl0KCIiKV0sW2BcMAkKXGZcciAiJicvPD0+YC5zcGxpdCgiIiksYFwwCQpcZlxyICImJy88PT5cYGAuc3BsaXQoIiIpXV0sdW5xdW90ZWQ6W1tgCQpcZlxyICY+YC5zcGxpdCgiIiksYFwwCQpcZlxyICImJzw9PlxgYC5zcGxpdCgiIildLFtgXDAJClxmXHIgIiYnPD0+XGBgLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnPD0+XGBgLnNwbGl0KCIiKV1dLHNpbmdsZTpbWyImJyIuc3BsaXQoIiIpLCJcIiYnYCIuc3BsaXQoIiIpXSxbIlwwJiciLnNwbGl0KCIiKSwiXDBcIiYnYCIuc3BsaXQoIiIpXV0sZG91YmxlOltbJyImJy5zcGxpdCgiIiksIlwiJidgIi5zcGxpdCgiIildLFsnXDAiJicuc3BsaXQoIiIpLCJcMFwiJidgIi5zcGxpdCgiIildXX19KTtmdW5jdGlvbiBlUyhlLHQscixhKXtyZXR1cm4gciYmci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09InNjcmlwdCJ8fHIudGFnTmFtZT09PSJzdHlsZSIpP2UudmFsdWU6amwoZS52YWx1ZSxPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7c3Vic2V0OnlUcn0pKX12YXIgeVRyLGxHPWYoKCk9PntYaygpO3lUcj1bIjwiLCImIl19KTtmdW5jdGlvbiBuJGUoZSx0LHIsYSl7cmV0dXJuIGEuc2V0dGluZ3MuYWxsb3dEYW5nZXJvdXNIdG1sP2UudmFsdWU6ZVMoZSx0LHIsYSl9dmFyIHMkZT1mKCgpPT57bEcoKX0pO2Z1bmN0aW9uIG8kZShlLHQscixhKXtyZXR1cm4gYS5hbGwoZSl9dmFyIGwkZT1mKCgpPT57fSk7ZnVuY3Rpb24gd1RyKGUpe3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgbm9kZSwgbm90IGAiK2UrImAiKX1mdW5jdGlvbiBNVHIoZSl7bGV0IHQ9ZTt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjb21waWxlIHVua25vd24gbm9kZSBgIit0LnR5cGUrImAiKX12YXIgYyRlLGQkZT1mKCgpPT57aVUoKTtqTGUoKTtVTGUoKTtpJGUoKTtzJGUoKTtsJGUoKTtsRygpO2MkZT1LTSgidHlwZSIse2ludmFsaWQ6d1RyLHVua25vd246TVRyLGhhbmRsZXJzOntjb21tZW50OnFMZSxkb2N0eXBlOlZMZSxlbGVtZW50OmEkZSxyYXc6biRlLHJvb3Q6byRlLHRleHQ6ZVN9fSl9KTtmdW5jdGlvbiBjRyhlLHQpe2xldCByPXR8fGtUcixhPXIucXVvdGV8fCciJyxpPWE9PT0nIic/IiciOiciJztpZihhIT09JyInJiZhIT09IiciKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBxdW90ZSBgIithKyJgLCBleHBlY3RlZCBgJ2Agb3IgYFwiYCIpO3JldHVybntvbmU6Q1RyLGFsbDpUVHIsc2V0dGluZ3M6e29taXRPcHRpb25hbFRhZ3M6ci5vbWl0T3B0aW9uYWxUYWdzfHwhMSxhbGxvd1BhcnNlRXJyb3JzOnIuYWxsb3dQYXJzZUVycm9yc3x8ITEsYWxsb3dEYW5nZXJvdXNDaGFyYWN0ZXJzOnIuYWxsb3dEYW5nZXJvdXNDaGFyYWN0ZXJzfHwhMSxxdW90ZVNtYXJ0OnIucXVvdGVTbWFydHx8ITEscHJlZmVyVW5xdW90ZWQ6ci5wcmVmZXJVbnF1b3RlZHx8ITEsdGlnaHRBdHRyaWJ1dGVzOnIudGlnaHRBdHRyaWJ1dGVzfHwhMSx1cHBlckRvY3R5cGU6ci51cHBlckRvY3R5cGV8fCExLHRpZ2h0RG9jdHlwZTpyLnRpZ2h0RG9jdHlwZXx8ITEsYm9ndXNDb21tZW50czpyLmJvZ3VzQ29tbWVudHN8fCExLHRpZ2h0Q29tbWFTZXBhcmF0ZWRMaXN0czpyLnRpZ2h0Q29tbWFTZXBhcmF0ZWRMaXN0c3x8ITEsdGlnaHRTZWxmQ2xvc2luZzpyLnRpZ2h0U2VsZkNsb3Npbmd8fCExLGNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzOnIuY29sbGFwc2VFbXB0eUF0dHJpYnV0ZXN8fCExLGFsbG93RGFuZ2Vyb3VzSHRtbDpyLmFsbG93RGFuZ2Vyb3VzSHRtbHx8ITEsdm9pZHM6ci52b2lkc3x8b0xlLGNoYXJhY3RlclJlZmVyZW5jZXM6ci5jaGFyYWN0ZXJSZWZlcmVuY2VzfHxTVHIsY2xvc2VTZWxmQ2xvc2luZzpyLmNsb3NlU2VsZkNsb3Npbmd8fCExLGNsb3NlRW1wdHlFbGVtZW50czpyLmNsb3NlRW1wdHlFbGVtZW50c3x8ITF9LHNjaGVtYTpyLnNwYWNlPT09InN2ZyI/R2s6TUxlLHF1b3RlOmEsYWx0ZXJuYXRpdmU6aX0ub25lKEFycmF5LmlzQXJyYXkoZSk/e3R5cGU6InJvb3QiLGNoaWxkcmVuOmV9OmUsdm9pZCAwLHZvaWQgMCl9ZnVuY3Rpb24gQ1RyKGUsdCxyKXtyZXR1cm4gYyRlKGUsdCxyLHRoaXMpfWZ1bmN0aW9uIFRUcihlKXtsZXQgdD1bXSxyPWUmJmUuY2hpbGRyZW58fHpUcixhPS0xO2Zvcig7KythPHIubGVuZ3RoOyl0W2FdPXRoaXMub25lKHJbYV0sYSxlKTtyZXR1cm4gdC5qb2luKCIiKX12YXIga1RyLFNUcix6VHIsdSRlPWYoKCk9PntsTGUoKTtlRygpO2QkZSgpO2tUcj17fSxTVHI9e30selRyPVtdfSk7dmFyIHAkZT1mKCgpPT57dSRlKCl9KTtmdW5jdGlvbiB0cChlKXtsZXQgdD10aGlzLHtoYW5kbGVyczpyLHNhbml0aXplOmEsLi4uaX09ZXx8X1RyLG49ITEsczt0eXBlb2YgYT09ImJvb2xlYW4iP249IWE6YSYmKHM9YSksdC5jb21waWxlcj1vO2Z1bmN0aW9uIG8oYyxsKXtsZXQgdT1IVyhjLHtoYW5kbGVyczpyLGFsbG93RGFuZ2Vyb3VzSHRtbDpufSksZD1uP3U6UFcodSxzKSxoPWNHKGQsey4uLmksYWxsb3dEYW5nZXJvdXNIdG1sOm59KTtyZXR1cm4gbC5leHRuYW1lJiYobC5leHRuYW1lPSIuaHRtbCIpLGMmJmMudHlwZT09PSJyb290IiYmaCYmL1teXHJcbl0vLnRlc3QoaC5jaGFyQXQoaC5sZW5ndGgtMSkpP2grYApgOmh9fXZhciBfVHIsZiRlPWYoKCk9PntyX2UoKTtzTGUoKTtwJGUoKTtfVHI9e319KTt2YXIgaCRlPWYoKCk9PntmJGUoKX0pO2Z1bmN0aW9uIHJwKGUpe2xldCB0PXRoaXM7dC5jb21waWxlcj1yO2Z1bmN0aW9uIHIoYSl7cmV0dXJuIHpVKGEsey4uLnQuZGF0YSgic2V0dGluZ3MiKSwuLi5lLGV4dGVuc2lvbnM6dC5kYXRhKCJ0b01hcmtkb3duRXh0ZW5zaW9ucyIpfHxbXX0pfX12YXIgbSRlPWYoKCk9PntjaygpfSk7dmFyIGckZT1mKCgpPT57bSRlKCl9KTtmdW5jdGlvbiBMVHIoZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIHI9YXJndW1lbnRzW3RdO2Zvcih2YXIgYSBpbiByKXIuaGFzT3duUHJvcGVydHkoYSkmJihlW2FdPXJbYV0pfXJldHVybiBlfWZ1bmN0aW9uIGRHKGUsdCl7cmV0dXJuIEFycmF5KHQrMSkuam9pbihlKX1mdW5jdGlvbiBiJGUoZSl7cmV0dXJuIGUucmVwbGFjZSgvXlxuKi8sIiIpfWZ1bmN0aW9uIHYkZShlKXtmb3IodmFyIHQ9ZS5sZW5ndGg7dD4wJiZlW3QtMV09PT1gCmA7KXQtLTtyZXR1cm4gZS5zdWJzdHJpbmcoMCx0KX1mdW5jdGlvbiB4JGUoZSl7cmV0dXJuIHYkZShiJGUoZSkpfWZ1bmN0aW9uIHVHKGUpe3JldHVybiBwRyhlLCRUcil9ZnVuY3Rpb24gdyRlKGUpe3JldHVybiBwRyhlLHkkZSl9ZnVuY3Rpb24gRFRyKGUpe3JldHVybiBrJGUoZSx5JGUpfWZ1bmN0aW9uIEFUcihlKXtyZXR1cm4gcEcoZSxNJGUpfWZ1bmN0aW9uIEVUcihlKXtyZXR1cm4gayRlKGUsTSRlKX1mdW5jdGlvbiBwRyhlLHQpe3JldHVybiB0LmluZGV4T2YoZS5ub2RlTmFtZSk+PTB9ZnVuY3Rpb24gayRlKGUsdCl7cmV0dXJuIGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJnQuc29tZShmdW5jdGlvbihyKXtyZXR1cm4gZS5nZXRFbGVtZW50c0J5VGFnTmFtZShyKS5sZW5ndGh9KX1mdW5jdGlvbiB0UyhlKXtyZXR1cm4gZT9lLnJlcGxhY2UoLyhcbitccyopKy9nLGAKYCk6IiJ9ZnVuY3Rpb24gUyRlKGUpe3RoaXMub3B0aW9ucz1lLHRoaXMuX2tlZXA9W10sdGhpcy5fcmVtb3ZlPVtdLHRoaXMuYmxhbmtSdWxlPXtyZXBsYWNlbWVudDplLmJsYW5rUmVwbGFjZW1lbnR9LHRoaXMua2VlcFJlcGxhY2VtZW50PWUua2VlcFJlcGxhY2VtZW50LHRoaXMuZGVmYXVsdFJ1bGU9e3JlcGxhY2VtZW50OmUuZGVmYXVsdFJlcGxhY2VtZW50fSx0aGlzLmFycmF5PVtdO2Zvcih2YXIgdCBpbiBlLnJ1bGVzKXRoaXMuYXJyYXkucHVzaChlLnJ1bGVzW3RdKX1mdW5jdGlvbiBmRyhlLHQscil7Zm9yKHZhciBhPTA7YTxlLmxlbmd0aDthKyspe3ZhciBpPWVbYV07aWYoSVRyKGksdCxyKSlyZXR1cm4gaX19ZnVuY3Rpb24gSVRyKGUsdCxyKXt2YXIgYT1lLmZpbHRlcjtpZih0eXBlb2YgYT09InN0cmluZyIpe2lmKGE9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpcmV0dXJuITB9ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmluZGV4T2YodC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKT4tMSlyZXR1cm4hMH1lbHNlIGlmKHR5cGVvZiBhPT0iZnVuY3Rpb24iKXtpZihhLmNhbGwoZSx0LHIpKXJldHVybiEwfWVsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcigiYGZpbHRlcmAgbmVlZHMgdG8gYmUgYSBzdHJpbmcsIGFycmF5LCBvciBmdW5jdGlvbiIpfWZ1bmN0aW9uIFBUcihlKXt2YXIgdD1lLmVsZW1lbnQscj1lLmlzQmxvY2ssYT1lLmlzVm9pZCxpPWUuaXNQcmV8fGZ1bmN0aW9uKGQpe3JldHVybiBkLm5vZGVOYW1lPT09IlBSRSJ9O2lmKCEoIXQuZmlyc3RDaGlsZHx8aSh0KSkpe2Zvcih2YXIgbj1udWxsLHM9ITEsbz1udWxsLGM9eiRlKG8sdCxpKTtjIT09dDspe2lmKGMubm9kZVR5cGU9PT0zfHxjLm5vZGVUeXBlPT09NCl7dmFyIGw9Yy5kYXRhLnJlcGxhY2UoL1sgXHJcblx0XSsvZywiICIpO2lmKCghbnx8LyAkLy50ZXN0KG4uZGF0YSkpJiYhcyYmbFswXT09PSIgIiYmKGw9bC5zdWJzdHIoMSkpLCFsKXtjPWhHKGMpO2NvbnRpbnVlfWMuZGF0YT1sLG49Y31lbHNlIGlmKGMubm9kZVR5cGU9PT0xKXIoYyl8fGMubm9kZU5hbWU9PT0iQlIiPyhuJiYobi5kYXRhPW4uZGF0YS5yZXBsYWNlKC8gJC8sIiIpKSxuPW51bGwscz0hMSk6YShjKXx8aShjKT8obj1udWxsLHM9ITApOm4mJihzPSExKTtlbHNle2M9aEcoYyk7Y29udGludWV9dmFyIHU9eiRlKG8sYyxpKTtvPWMsYz11fW4mJihuLmRhdGE9bi5kYXRhLnJlcGxhY2UoLyAkLywiIiksbi5kYXRhfHxoRyhuKSl9fWZ1bmN0aW9uIGhHKGUpe3ZhciB0PWUubmV4dFNpYmxpbmd8fGUucGFyZW50Tm9kZTtyZXR1cm4gZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpLHR9ZnVuY3Rpb24geiRlKGUsdCxyKXtyZXR1cm4gZSYmZS5wYXJlbnROb2RlPT09dHx8cih0KT90Lm5leHRTaWJsaW5nfHx0LnBhcmVudE5vZGU6dC5maXJzdENoaWxkfHx0Lm5leHRTaWJsaW5nfHx0LnBhcmVudE5vZGV9ZnVuY3Rpb24gTlRyKCl7dmFyIGU9bUcuRE9NUGFyc2VyLHQ9ITE7dHJ5e25ldyBlKCkucGFyc2VGcm9tU3RyaW5nKCIiLCJ0ZXh0L2h0bWwiKSYmKHQ9ITApfWNhdGNoe31yZXR1cm4gdH1mdW5jdGlvbiBGVHIoKXt2YXIgZT1mdW5jdGlvbigpe307cmV0dXJuIE9UcigpP2UucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZz1mdW5jdGlvbih0KXt2YXIgcj1uZXcgd2luZG93LkFjdGl2ZVhPYmplY3QoImh0bWxmaWxlIik7cmV0dXJuIHIuZGVzaWduTW9kZT0ib24iLHIub3BlbigpLHIud3JpdGUodCksci5jbG9zZSgpLHJ9OmUucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZz1mdW5jdGlvbih0KXt2YXIgcj1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpO3JldHVybiByLm9wZW4oKSxyLndyaXRlKHQpLHIuY2xvc2UoKSxyfSxlfWZ1bmN0aW9uIE9Ucigpe3ZhciBlPSExO3RyeXtkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLm9wZW4oKX1jYXRjaHttRy5BY3RpdmVYT2JqZWN0JiYoZT0hMCl9cmV0dXJuIGV9ZnVuY3Rpb24gQlRyKGUsdCl7dmFyIHI7aWYodHlwZW9mIGU9PSJzdHJpbmciKXt2YXIgYT1IVHIoKS5wYXJzZUZyb21TdHJpbmcoJzx4LXR1cm5kb3duIGlkPSJ0dXJuZG93bi1yb290Ij4nK2UrIjwveC10dXJuZG93bj4iLCJ0ZXh0L2h0bWwiKTtyPWEuZ2V0RWxlbWVudEJ5SWQoInR1cm5kb3duLXJvb3QiKX1lbHNlIHI9ZS5jbG9uZU5vZGUoITApO3JldHVybiBQVHIoe2VsZW1lbnQ6cixpc0Jsb2NrOnVHLGlzVm9pZDp3JGUsaXNQcmU6dC5wcmVmb3JtYXR0ZWRDb2RlP3FUcjpudWxsfSkscn1mdW5jdGlvbiBIVHIoKXtyZXR1cm4gZ0c9Z0d8fG5ldyBSVHIsZ0d9ZnVuY3Rpb24gcVRyKGUpe3JldHVybiBlLm5vZGVOYW1lPT09IlBSRSJ8fGUubm9kZU5hbWU9PT0iQ09ERSJ9ZnVuY3Rpb24galRyKGUsdCl7cmV0dXJuIGUuaXNCbG9jaz11RyhlKSxlLmlzQ29kZT1lLm5vZGVOYW1lPT09IkNPREUifHxlLnBhcmVudE5vZGUuaXNDb2RlLGUuaXNCbGFuaz1WVHIoZSksZS5mbGFua2luZ1doaXRlc3BhY2U9VVRyKGUsdCksZX1mdW5jdGlvbiBWVHIoZSl7cmV0dXJuIXckZShlKSYmIUFUcihlKSYmL15ccyokL2kudGVzdChlLnRleHRDb250ZW50KSYmIURUcihlKSYmIUVUcihlKX1mdW5jdGlvbiBVVHIoZSx0KXtpZihlLmlzQmxvY2t8fHQucHJlZm9ybWF0dGVkQ29kZSYmZS5pc0NvZGUpcmV0dXJue2xlYWRpbmc6IiIsdHJhaWxpbmc6IiJ9O3ZhciByPVdUcihlLnRleHRDb250ZW50KTtyZXR1cm4gci5sZWFkaW5nQXNjaWkmJkMkZSgibGVmdCIsZSx0KSYmKHIubGVhZGluZz1yLmxlYWRpbmdOb25Bc2NpaSksci50cmFpbGluZ0FzY2lpJiZDJGUoInJpZ2h0IixlLHQpJiYoci50cmFpbGluZz1yLnRyYWlsaW5nTm9uQXNjaWkpLHtsZWFkaW5nOnIubGVhZGluZyx0cmFpbGluZzpyLnRyYWlsaW5nfX1mdW5jdGlvbiBXVHIoZSl7dmFyIHQ9ZS5tYXRjaCgvXigoWyBcdFxyXG5dKikoXHMqKSkoPzooPz1cUylbXHNcU10qXFMpPygoXHMqPykoWyBcdFxyXG5dKikpJC8pO3JldHVybntsZWFkaW5nOnRbMV0sbGVhZGluZ0FzY2lpOnRbMl0sbGVhZGluZ05vbkFzY2lpOnRbM10sdHJhaWxpbmc6dFs0XSx0cmFpbGluZ05vbkFzY2lpOnRbNV0sdHJhaWxpbmdBc2NpaTp0WzZdfX1mdW5jdGlvbiBDJGUoZSx0LHIpe3ZhciBhLGksbjtyZXR1cm4gZT09PSJsZWZ0Ij8oYT10LnByZXZpb3VzU2libGluZyxpPS8gJC8pOihhPXQubmV4dFNpYmxpbmcsaT0vXiAvKSxhJiYoYS5ub2RlVHlwZT09PTM/bj1pLnRlc3QoYS5ub2RlVmFsdWUpOnIucHJlZm9ybWF0dGVkQ29kZSYmYS5ub2RlTmFtZT09PSJDT0RFIj9uPSExOmEubm9kZVR5cGU9PT0xJiYhdUcoYSkmJihuPWkudGVzdChhLnRleHRDb250ZW50KSkpLG59ZnVuY3Rpb24gclMoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgclMpKXJldHVybiBuZXcgclMoZSk7dmFyIHQ9e3J1bGVzOnluLGhlYWRpbmdTdHlsZToic2V0ZXh0IixocjoiKiAqICoiLGJ1bGxldExpc3RNYXJrZXI6IioiLGNvZGVCbG9ja1N0eWxlOiJpbmRlbnRlZCIsZmVuY2U6ImBgYCIsZW1EZWxpbWl0ZXI6Il8iLHN0cm9uZ0RlbGltaXRlcjoiKioiLGxpbmtTdHlsZToiaW5saW5lZCIsbGlua1JlZmVyZW5jZVN0eWxlOiJmdWxsIixicjoiICAiLHByZWZvcm1hdHRlZENvZGU6ITEsYmxhbmtSZXBsYWNlbWVudDpmdW5jdGlvbihyLGEpe3JldHVybiBhLmlzQmxvY2s/YAoKYDoiIn0sa2VlcFJlcGxhY2VtZW50OmZ1bmN0aW9uKHIsYSl7cmV0dXJuIGEuaXNCbG9jaz9gCgpgK2Eub3V0ZXJIVE1MK2AKCmA6YS5vdXRlckhUTUx9LGRlZmF1bHRSZXBsYWNlbWVudDpmdW5jdGlvbihyLGEpe3JldHVybiBhLmlzQmxvY2s/YAoKYCtyK2AKCmA6cn19O3RoaXMub3B0aW9ucz1MVHIoe30sdCxlKSx0aGlzLnJ1bGVzPW5ldyBTJGUodGhpcy5vcHRpb25zKX1mdW5jdGlvbiBUJGUoZSl7dmFyIHQ9dGhpcztyZXR1cm4gR1RyLmNhbGwoZS5jaGlsZE5vZGVzLGZ1bmN0aW9uKHIsYSl7YT1uZXcgalRyKGEsdC5vcHRpb25zKTt2YXIgaT0iIjtyZXR1cm4gYS5ub2RlVHlwZT09PTM/aT1hLmlzQ29kZT9hLm5vZGVWYWx1ZTp0LmVzY2FwZShhLm5vZGVWYWx1ZSk6YS5ub2RlVHlwZT09PTEmJihpPVhUci5jYWxsKHQsYSkpLF8kZShyLGkpfSwiIil9ZnVuY3Rpb24gWlRyKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMucnVsZXMuZm9yRWFjaChmdW5jdGlvbihyKXt0eXBlb2Ygci5hcHBlbmQ9PSJmdW5jdGlvbiImJihlPV8kZShlLHIuYXBwZW5kKHQub3B0aW9ucykpKX0pLGUucmVwbGFjZSgvXltcdFxyXG5dKy8sIiIpLnJlcGxhY2UoL1tcdFxyXG5cc10rJC8sIiIpfWZ1bmN0aW9uIFhUcihlKXt2YXIgdD10aGlzLnJ1bGVzLmZvck5vZGUoZSkscj1UJGUuY2FsbCh0aGlzLGUpLGE9ZS5mbGFua2luZ1doaXRlc3BhY2U7cmV0dXJuKGEubGVhZGluZ3x8YS50cmFpbGluZykmJihyPXIudHJpbSgpKSxhLmxlYWRpbmcrdC5yZXBsYWNlbWVudChyLGUsdGhpcy5vcHRpb25zKSthLnRyYWlsaW5nfWZ1bmN0aW9uIF8kZShlLHQpe3ZhciByPXYkZShlKSxhPWIkZSh0KSxpPU1hdGgubWF4KGUubGVuZ3RoLXIubGVuZ3RoLHQubGVuZ3RoLWEubGVuZ3RoKSxuPWAKCmAuc3Vic3RyaW5nKDAsaSk7cmV0dXJuIHIrbithfWZ1bmN0aW9uIFFUcihlKXtyZXR1cm4gZSE9bnVsbCYmKHR5cGVvZiBlPT0ic3RyaW5nInx8ZS5ub2RlVHlwZSYmKGUubm9kZVR5cGU9PT0xfHxlLm5vZGVUeXBlPT09OXx8ZS5ub2RlVHlwZT09PTExKSl9dmFyICRUcix5JGUsTSRlLHluLG1HLFJUcixnRyxHVHIsWVRyLGFTLEwkZT1mKCgpPT57JFRyPVsiQUREUkVTUyIsIkFSVElDTEUiLCJBU0lERSIsIkFVRElPIiwiQkxPQ0tRVU9URSIsIkJPRFkiLCJDQU5WQVMiLCJDRU5URVIiLCJERCIsIkRJUiIsIkRJViIsIkRMIiwiRFQiLCJGSUVMRFNFVCIsIkZJR0NBUFRJT04iLCJGSUdVUkUiLCJGT09URVIiLCJGT1JNIiwiRlJBTUVTRVQiLCJIMSIsIkgyIiwiSDMiLCJINCIsIkg1IiwiSDYiLCJIRUFERVIiLCJIR1JPVVAiLCJIUiIsIkhUTUwiLCJJU0lOREVYIiwiTEkiLCJNQUlOIiwiTUVOVSIsIk5BViIsIk5PRlJBTUVTIiwiTk9TQ1JJUFQiLCJPTCIsIk9VVFBVVCIsIlAiLCJQUkUiLCJTRUNUSU9OIiwiVEFCTEUiLCJUQk9EWSIsIlREIiwiVEZPT1QiLCJUSCIsIlRIRUFEIiwiVFIiLCJVTCJdO3kkZT1bIkFSRUEiLCJCQVNFIiwiQlIiLCJDT0wiLCJDT01NQU5EIiwiRU1CRUQiLCJIUiIsIklNRyIsIklOUFVUIiwiS0VZR0VOIiwiTElOSyIsIk1FVEEiLCJQQVJBTSIsIlNPVVJDRSIsIlRSQUNLIiwiV0JSIl07TSRlPVsiQSIsIlRBQkxFIiwiVEhFQUQiLCJUQk9EWSIsIlRGT09UIiwiVEgiLCJURCIsIklGUkFNRSIsIlNDUklQVCIsIkFVRElPIiwiVklERU8iXTt5bj17fTt5bi5wYXJhZ3JhcGg9e2ZpbHRlcjoicCIscmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuYAoKYCtlK2AKCmB9fSx5bi5saW5lQnJlYWs9e2ZpbHRlcjoiYnIiLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gci5icitgCmB9fSx5bi5oZWFkaW5nPXtmaWx0ZXI6WyJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiXSxyZXBsYWNlbWVudDpmdW5jdGlvbihlLHQscil7dmFyIGE9TnVtYmVyKHQubm9kZU5hbWUuY2hhckF0KDEpKTtpZihyLmhlYWRpbmdTdHlsZT09PSJzZXRleHQiJiZhPDMpe3ZhciBpPWRHKGE9PT0xPyI9IjoiLSIsZS5sZW5ndGgpO3JldHVybmAKCmArZStgCmAraStgCgpgfWVsc2UgcmV0dXJuYAoKYCtkRygiIyIsYSkrIiAiK2UrYAoKYH19LHluLmJsb2NrcXVvdGU9e2ZpbHRlcjoiYmxvY2txdW90ZSIscmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9eCRlKGUpLnJlcGxhY2UoL14vZ20sIj4gIiksYAoKYCtlK2AKCmB9fSx5bi5saXN0PXtmaWx0ZXI6WyJ1bCIsIm9sIl0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0KXt2YXIgcj10LnBhcmVudE5vZGU7cmV0dXJuIHIubm9kZU5hbWU9PT0iTEkiJiZyLmxhc3RFbGVtZW50Q2hpbGQ9PT10P2AKYCtlOmAKCmArZStgCgpgfX0seW4ubGlzdEl0ZW09e2ZpbHRlcjoibGkiLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCxyKXt2YXIgYT1yLmJ1bGxldExpc3RNYXJrZXIrIiAgICIsaT10LnBhcmVudE5vZGU7aWYoaS5ub2RlTmFtZT09PSJPTCIpe3ZhciBuPWkuZ2V0QXR0cmlidXRlKCJzdGFydCIpLHM9QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChpLmNoaWxkcmVuLHQpO2E9KG4/TnVtYmVyKG4pK3M6cysxKSsiLiAgIn12YXIgbz0vXG4kLy50ZXN0KGUpO3JldHVybiBlPXgkZShlKSsobz9gCmA6IiIpLGU9ZS5yZXBsYWNlKC9cbi9nbSxgCmArIiAiLnJlcGVhdChhLmxlbmd0aCkpLGErZSsodC5uZXh0U2libGluZz9gCmA6IiIpfX0seW4uaW5kZW50ZWRDb2RlQmxvY2s9e2ZpbHRlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0LmNvZGVCbG9ja1N0eWxlPT09ImluZGVudGVkIiYmZS5ub2RlTmFtZT09PSJQUkUiJiZlLmZpcnN0Q2hpbGQmJmUuZmlyc3RDaGlsZC5ub2RlTmFtZT09PSJDT0RFIn0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0LHIpe3JldHVybmAKCiAgICBgK3QuZmlyc3RDaGlsZC50ZXh0Q29udGVudC5yZXBsYWNlKC9cbi9nLGAKICAgIGApK2AKCmB9fSx5bi5mZW5jZWRDb2RlQmxvY2s9e2ZpbHRlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0LmNvZGVCbG9ja1N0eWxlPT09ImZlbmNlZCImJmUubm9kZU5hbWU9PT0iUFJFIiYmZS5maXJzdENoaWxkJiZlLmZpcnN0Q2hpbGQubm9kZU5hbWU9PT0iQ09ERSJ9LHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9dC5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIsaT0oYS5tYXRjaCgvbGFuZ3VhZ2UtKFxTKykvKXx8W251bGwsIiJdKVsxXSxuPXQuZmlyc3RDaGlsZC50ZXh0Q29udGVudCxzPXIuZmVuY2UuY2hhckF0KDApLG89MyxjPW5ldyBSZWdFeHAoIl4iK3MrInszLH0iLCJnbSIpLGw7bD1jLmV4ZWMobik7KWxbMF0ubGVuZ3RoPj1vJiYobz1sWzBdLmxlbmd0aCsxKTt2YXIgdT1kRyhzLG8pO3JldHVybmAKCmArdStpK2AKYCtuLnJlcGxhY2UoL1xuJC8sIiIpK2AKYCt1K2AKCmB9fSx5bi5ob3Jpem9udGFsUnVsZT17ZmlsdGVyOiJociIscmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0LHIpe3JldHVybmAKCmArci5ocitgCgpgfX0seW4uaW5saW5lTGluaz17ZmlsdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQubGlua1N0eWxlPT09ImlubGluZWQiJiZlLm5vZGVOYW1lPT09IkEiJiZlLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSxyZXBsYWNlbWVudDpmdW5jdGlvbihlLHQpe3ZhciByPXQuZ2V0QXR0cmlidXRlKCJocmVmIik7ciYmKHI9ci5yZXBsYWNlKC8oWygpXSkvZywiXFwkMSIpKTt2YXIgYT10Uyh0LmdldEF0dHJpYnV0ZSgidGl0bGUiKSk7cmV0dXJuIGEmJihhPScgIicrYS5yZXBsYWNlKC8iL2csJ1xcIicpKyciJyksIlsiK2UrIl0oIityK2ErIikifX0seW4ucmVmZXJlbmNlTGluaz17ZmlsdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQubGlua1N0eWxlPT09InJlZmVyZW5jZWQiJiZlLm5vZGVOYW1lPT09IkEiJiZlLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSxyZXBsYWNlbWVudDpmdW5jdGlvbihlLHQscil7dmFyIGE9dC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxpPXRTKHQuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpKTtpJiYoaT0nICInK2krJyInKTt2YXIgbixzO3N3aXRjaChyLmxpbmtSZWZlcmVuY2VTdHlsZSl7Y2FzZSJjb2xsYXBzZWQiOm49IlsiK2UrIl1bXSIscz0iWyIrZSsiXTogIithK2k7YnJlYWs7Y2FzZSJzaG9ydGN1dCI6bj0iWyIrZSsiXSIscz0iWyIrZSsiXTogIithK2k7YnJlYWs7ZGVmYXVsdDp2YXIgbz10aGlzLnJlZmVyZW5jZXMubGVuZ3RoKzE7bj0iWyIrZSsiXVsiK28rIl0iLHM9IlsiK28rIl06ICIrYStpfXJldHVybiB0aGlzLnJlZmVyZW5jZXMucHVzaChzKSxufSxyZWZlcmVuY2VzOltdLGFwcGVuZDpmdW5jdGlvbihlKXt2YXIgdD0iIjtyZXR1cm4gdGhpcy5yZWZlcmVuY2VzLmxlbmd0aCYmKHQ9YAoKYCt0aGlzLnJlZmVyZW5jZXMuam9pbihgCmApK2AKCmAsdGhpcy5yZWZlcmVuY2VzPVtdKSx0fX0seW4uZW1waGFzaXM9e2ZpbHRlcjpbImVtIiwiaSJdLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZS50cmltKCk/ci5lbURlbGltaXRlcitlK3IuZW1EZWxpbWl0ZXI6IiJ9fSx5bi5zdHJvbmc9e2ZpbHRlcjpbInN0cm9uZyIsImIiXSxyZXBsYWNlbWVudDpmdW5jdGlvbihlLHQscil7cmV0dXJuIGUudHJpbSgpP3Iuc3Ryb25nRGVsaW1pdGVyK2Urci5zdHJvbmdEZWxpbWl0ZXI6IiJ9fSx5bi5jb2RlPXtmaWx0ZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wcmV2aW91c1NpYmxpbmd8fGUubmV4dFNpYmxpbmcscj1lLnBhcmVudE5vZGUubm9kZU5hbWU9PT0iUFJFIiYmIXQ7cmV0dXJuIGUubm9kZU5hbWU9PT0iQ09ERSImJiFyfSxyZXBsYWNlbWVudDpmdW5jdGlvbihlKXtpZighZSlyZXR1cm4iIjtlPWUucmVwbGFjZSgvXHI/XG58XHIvZywiICIpO2Zvcih2YXIgdD0vXmB8XiAuKj9bXiBdLiogJHxgJC8udGVzdChlKT8iICI6IiIscj0iYCIsYT1lLm1hdGNoKC9gKy9nbSl8fFtdO2EuaW5kZXhPZihyKSE9PS0xOylyPXIrImAiO3JldHVybiByK3QrZSt0K3J9fSx5bi5pbWFnZT17ZmlsdGVyOiJpbWciLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCl7dmFyIHI9dFModC5nZXRBdHRyaWJ1dGUoImFsdCIpKSxhPXQuZ2V0QXR0cmlidXRlKCJzcmMiKXx8IiIsaT10Uyh0LmdldEF0dHJpYnV0ZSgidGl0bGUiKSksbj1pPycgIicraSsnIic6IiI7cmV0dXJuIGE/IiFbIityKyJdKCIrYStuKyIpIjoiIn19O1MkZS5wcm90b3R5cGU9e2FkZDpmdW5jdGlvbihlLHQpe3RoaXMuYXJyYXkudW5zaGlmdCh0KX0sa2VlcDpmdW5jdGlvbihlKXt0aGlzLl9rZWVwLnVuc2hpZnQoe2ZpbHRlcjplLHJlcGxhY2VtZW50OnRoaXMua2VlcFJlcGxhY2VtZW50fSl9LHJlbW92ZTpmdW5jdGlvbihlKXt0aGlzLl9yZW1vdmUudW5zaGlmdCh7ZmlsdGVyOmUscmVwbGFjZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4iIn19KX0sZm9yTm9kZTpmdW5jdGlvbihlKXtpZihlLmlzQmxhbmspcmV0dXJuIHRoaXMuYmxhbmtSdWxlO3ZhciB0O3JldHVybih0PWZHKHRoaXMuYXJyYXksZSx0aGlzLm9wdGlvbnMpKXx8KHQ9ZkcodGhpcy5fa2VlcCxlLHRoaXMub3B0aW9ucykpfHwodD1mRyh0aGlzLl9yZW1vdmUsZSx0aGlzLm9wdGlvbnMpKT90OnRoaXMuZGVmYXVsdFJ1bGV9LGZvckVhY2g6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDx0aGlzLmFycmF5Lmxlbmd0aDt0KyspZSh0aGlzLmFycmF5W3RdLHQpfX07bUc9dHlwZW9mIHdpbmRvdzwidSI/d2luZG93Ont9O1JUcj1OVHIoKT9tRy5ET01QYXJzZXI6RlRyKCk7R1RyPUFycmF5LnByb3RvdHlwZS5yZWR1Y2UsWVRyPVtbL1xcL2csIlxcXFwiXSxbL1wqL2csIlxcKiJdLFsvXi0vZywiXFwtIl0sWy9eXCsgL2csIlxcKyAiXSxbL14oPSspL2csIlxcJDEiXSxbL14oI3sxLDZ9KSAvZywiXFwkMSAiXSxbL2AvZywiXFxgIl0sWy9efn5+L2csIlxcfn5+Il0sWy9cWy9nLCJcXFsiXSxbL1xdL2csIlxcXSJdLFsvXj4vZywiXFw+Il0sWy9fL2csIlxcXyJdLFsvXihcZCspXC4gL2csIiQxXFwuICJdXTtyUy5wcm90b3R5cGU9e3R1cm5kb3duOmZ1bmN0aW9uKGUpe2lmKCFRVHIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihlKyIgaXMgbm90IGEgc3RyaW5nLCBvciBhbiBlbGVtZW50L2RvY3VtZW50L2ZyYWdtZW50IG5vZGUuIik7aWYoZT09PSIiKXJldHVybiIiO3ZhciB0PVQkZS5jYWxsKHRoaXMsbmV3IEJUcihlLHRoaXMub3B0aW9ucykpO3JldHVybiBaVHIuY2FsbCh0aGlzLHQpfSx1c2U6ZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLnVzZShlW3RdKTtlbHNlIGlmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKWUodGhpcyk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJwbHVnaW4gbXVzdCBiZSBhIEZ1bmN0aW9uIG9yIGFuIEFycmF5IG9mIEZ1bmN0aW9ucyIpO3JldHVybiB0aGlzfSxhZGRSdWxlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucnVsZXMuYWRkKGUsdCksdGhpc30sa2VlcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ydWxlcy5rZWVwKGUpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ydWxlcy5yZW1vdmUoZSksdGhpc30sZXNjYXBlOmZ1bmN0aW9uKGUpe3JldHVybiBZVHIucmVkdWNlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHQucmVwbGFjZShyWzBdLHJbMV0pfSxlKX19O2FTPXJTfSk7dmFyIG83PXt9O1JlKG83LHtnZm06KCk9PkEkZSxoaWdobGlnaHRlZENvZGVCbG9jazooKT0+dkcsc3RyaWtldGhyb3VnaDooKT0+eEcsdGFibGVzOigpPT55Ryx0YXNrTGlzdEl0ZW1zOigpPT53R30pO2Z1bmN0aW9uIHZHKGUpe2UuYWRkUnVsZSgiaGlnaGxpZ2h0ZWRDb2RlQmxvY2siLHtmaWx0ZXI6ZnVuY3Rpb24odCl7dmFyIHI9dC5maXJzdENoaWxkO3JldHVybiB0Lm5vZGVOYW1lPT09IkRJViImJiQkZS50ZXN0KHQuY2xhc3NOYW1lKSYmciYmci5ub2RlTmFtZT09PSJQUkUifSxyZXBsYWNlbWVudDpmdW5jdGlvbih0LHIsYSl7dmFyIGk9ci5jbGFzc05hbWV8fCIiLG49KGkubWF0Y2goJCRlKXx8W251bGwsIiJdKVsxXTtyZXR1cm5gCgpgK2EuZmVuY2UrbitgCmArci5maXJzdENoaWxkLnRleHRDb250ZW50K2AKYCthLmZlbmNlK2AKCmB9fSl9ZnVuY3Rpb24geEcoZSl7ZS5hZGRSdWxlKCJzdHJpa2V0aHJvdWdoIix7ZmlsdGVyOlsiZGVsIiwicyIsInN0cmlrZSJdLHJlcGxhY2VtZW50OmZ1bmN0aW9uKHQpe3JldHVybiJ+Iit0KyJ+In19KX1mdW5jdGlvbiBiRyhlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQubm9kZU5hbWU9PT0iVEhFQUQifHx0LmZpcnN0Q2hpbGQ9PT1lJiYodC5ub2RlTmFtZT09PSJUQUJMRSJ8fGVfcih0KSkmJktUci5jYWxsKGUuY2hpbGROb2RlcyxmdW5jdGlvbihyKXtyZXR1cm4gci5ub2RlTmFtZT09PSJUSCJ9KX1mdW5jdGlvbiBlX3IoZSl7dmFyIHQ9ZS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGUubm9kZU5hbWU9PT0iVEJPRFkiJiYoIXR8fHQubm9kZU5hbWU9PT0iVEhFQUQiJiYvXlxzKiQvaS50ZXN0KHQudGV4dENvbnRlbnQpKX1mdW5jdGlvbiBEJGUoZSx0KXt2YXIgcj1KVHIuY2FsbCh0LnBhcmVudE5vZGUuY2hpbGROb2Rlcyx0KSxhPSIgIjtyZXR1cm4gcj09PTAmJihhPSJ8ICIpLGErZSsiIHwifWZ1bmN0aW9uIHlHKGUpe2Uua2VlcChmdW5jdGlvbihyKXtyZXR1cm4gci5ub2RlTmFtZT09PSJUQUJMRSImJiFiRyhyLnJvd3NbMF0pfSk7Zm9yKHZhciB0IGluIGFwKWUuYWRkUnVsZSh0LGFwW3RdKX1mdW5jdGlvbiB3RyhlKXtlLmFkZFJ1bGUoInRhc2tMaXN0SXRlbXMiLHtmaWx0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZT09PSJjaGVja2JveCImJnQucGFyZW50Tm9kZS5ub2RlTmFtZT09PSJMSSJ9LHJlcGxhY2VtZW50OmZ1bmN0aW9uKHQscil7cmV0dXJuKHIuY2hlY2tlZD8iW3hdIjoiWyBdIikrIiAifX0pfWZ1bmN0aW9uIEEkZShlKXtlLnVzZShbdkcseEcseUcsd0ddKX12YXIgJCRlLEpUcixLVHIsYXAsRSRlPWYoKCk9PnskJGU9L2hpZ2hsaWdodC0oPzp0ZXh0fHNvdXJjZSktKFthLXowLTldKykvO0pUcj1BcnJheS5wcm90b3R5cGUuaW5kZXhPZixLVHI9QXJyYXkucHJvdG90eXBlLmV2ZXJ5LGFwPXt9O2FwLnRhYmxlQ2VsbD17ZmlsdGVyOlsidGgiLCJ0ZCJdLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEQkZShlLHQpfX0sYXAudGFibGVSb3c9e2ZpbHRlcjoidHIiLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCl7dmFyIHI9IiIsYT17bGVmdDoiOi0tIixyaWdodDoiLS06IixjZW50ZXI6IjotOiJ9O2lmKGJHKHQpKWZvcih2YXIgaT0wO2k8dC5jaGlsZE5vZGVzLmxlbmd0aDtpKyspe3ZhciBuPSItLS0iLHM9KHQuY2hpbGROb2Rlc1tpXS5nZXRBdHRyaWJ1dGUoImFsaWduIil8fCIiKS50b0xvd2VyQ2FzZSgpO3MmJihuPWFbc118fG4pLHIrPUQkZShuLHQuY2hpbGROb2Rlc1tpXSl9cmV0dXJuYApgK2UrKHI/YApgK3I6IiIpfX0sYXAudGFibGU9e2ZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZT09PSJUQUJMRSImJmJHKGUucm93c1swXSl9LHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUpe3JldHVybiBlPWUucmVwbGFjZShgCgpgLGAKYCksYAoKYCtlK2AKCmB9fSxhcC50YWJsZVNlY3Rpb249e2ZpbHRlcjpbInRoZWFkIiwidGJvZHkiLCJ0Zm9vdCJdLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUpe3JldHVybiBlfX19KTt2YXIgTUcsa0c9ZigoKT0+e01HPXNyKHdrZSgpLDEpO2VTZSgpO3NUZSgpO0FUZSgpO1ZUZSgpO2gkZSgpO2ckZSgpO0wkZSgpO0UkZSgpfSk7dmFyIGlTLFAkZT1mKCgpPT57a0coKTtpUz1jbGFzcyBle3N0YXRpYyBhc3luYyBjcmVhdGVGcm9tTWFya2Rvd25TdHJpbmcodCl7bGV0IHI9bmV3IGU7cmV0dXJuIGF3YWl0IHIudXBkYXRlRnJvbU1hcmtkb3duU3RyaW5nKHQpLHJ9YXN5bmMgdXBkYXRlRnJvbU1hcmtkb3duU3RyaW5nKHQpe2xldCByLGE9YXdhaXQgRm0oKS51c2UoWjUpLnVzZShZNSkudXNlKFE1LFsieWFtbCIsInRvbWwiXSkudXNlKHJwKS51c2UodHApLnVzZSgoKT0+aT0+e2NvbnNvbGUuZGlyKGkpO2xldCBuPWkuY2hpbGRyZW4uZmluZChzPT5zLnR5cGU9PT0ieWFtbCIpO24mJihyPW4udmFsdWUpfSkucHJvY2Vzcyh0KTt0aGlzLmh0bWw9YS50b1N0cmluZygpLHI/dGhpcy5mcm9udG1hdHRlckRhdGE9YXdhaXQgTUcueWFtbFN0cmluZ1RvT2JqZWN0KHIpOnRoaXMuZnJvbnRtYXR0ZXJEYXRhPXt9fX19KTt2YXIgaXA9e307UmUoaXAse1NtYXJ0TWFya2Rvd246KCk9PlNHfSk7dmFyIFNHLHpHPWYoKCk9PntrRygpO1AkZSgpO1NHPWNsYXNzIGV7c3RhdGljIGFzeW5jIGVhc3lNYXJrZG93blRvSHRtbCh0KXtyZXR1cm4oYXdhaXQgbmV3IGUoKS5nZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bih0KSkuaHRtbH1jb25zdHJ1Y3Rvcigpe31hc3luYyBnZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bih0KXtyZXR1cm4gYXdhaXQgaVMuY3JlYXRlRnJvbU1hcmtkb3duU3RyaW5nKHQpfWh0bWxUb01hcmtkb3duKHQpe2xldCByPW5ldyBhUyh7aGVhZGluZ1N0eWxlOiJhdHgiLGNvZGVCbG9ja1N0eWxlOiJmZW5jZWQifSk7cmV0dXJuIHIudXNlKG83LmdmbSksci50dXJuZG93bih0KX19fSk7dmFyIEgkZT1qZShobz0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoaG8sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGhvLlBhdGhFcnJvcj1oby5Ub2tlbkRhdGE9dm9pZCAwLGhvLnBhcnNlPUxHLGhvLmNvbXBpbGU9YV9yLGhvLm1hdGNoPW5fcixoby5wYXRoVG9SZWdleHA9TyRlLGhvLnN0cmluZ2lmeT1sX3I7dmFyIENHPSIvIixURz1lPT5lLE4kZT0vXlskX1xwe0lEX1N0YXJ0fV0kL3UsX0c9L15bJFx1MjAwY1x1MjAwZFxwe0lEX0NvbnRpbnVlfV0kL3UsdF9yPXsieyI6InsiLCJ9IjoifSIsIigiOiIoIiwiKSI6IikiLCJbIjoiWyIsIl0iOiJdIiwiKyI6IisiLCI/IjoiPyIsIiEiOiIhIn07ZnVuY3Rpb24gcl9yKGUpe3JldHVybiBlLnJlcGxhY2UoL1t7fSgpXFtcXSs/IToqXFxdL2csIlxcJCYiKX1mdW5jdGlvbiBTMihlKXtyZXR1cm4gZS5yZXBsYWNlKC9bLisqP14ke30oKVtcXXwvXFxdL2csIlxcJCYiKX12YXIgblM9Y2xhc3N7Y29uc3RydWN0b3IodCxyKXt0aGlzLnRva2Vucz10LHRoaXMub3JpZ2luYWxQYXRoPXJ9fTtoby5Ub2tlbkRhdGE9blM7dmFyIHlkPWNsYXNzIGV4dGVuZHMgVHlwZUVycm9ye2NvbnN0cnVjdG9yKHQscil7bGV0IGE9dDtyJiYoYSs9YDogJHtyfWApLGErPSI7IHZpc2l0IGh0dHBzOi8vZ2l0Lm5ldy9wYXRoVG9SZWdleHBFcnJvciBmb3IgaW5mbyIsc3VwZXIoYSksdGhpcy5vcmlnaW5hbFBhdGg9cn19O2hvLlBhdGhFcnJvcj15ZDtmdW5jdGlvbiBMRyhlLHQ9e30pe2xldHtlbmNvZGVQYXRoOnI9VEd9PXQsYT1bLi4uZV0saT1bXSxuPTAscz0wO2Z1bmN0aW9uIG8oKXtsZXQgbD0iIjtpZihOJGUudGVzdChhW25dKSlkbyBsKz1hW24rK107d2hpbGUoX0cudGVzdChhW25dKSk7ZWxzZSBpZihhW25dPT09JyInKXtsZXQgdT1uO2Zvcig7bisrPGEubGVuZ3RoOyl7aWYoYVtuXT09PSciJyl7bisrLHU9MDticmVha31hW25dPT09IlxcIiYmbisrLGwrPWFbbl19aWYodSl0aHJvdyBuZXcgeWQoYFVudGVybWluYXRlZCBxdW90ZSBhdCBpbmRleCAke3V9YCxlKX1pZighbCl0aHJvdyBuZXcgeWQoYE1pc3NpbmcgcGFyYW1ldGVyIG5hbWUgYXQgaW5kZXggJHtufWAsZSk7cmV0dXJuIGx9Zm9yKDtuPGEubGVuZ3RoOyl7bGV0IGw9YVtuXSx1PXRfcltsXTt1P2kucHVzaCh7dHlwZTp1LGluZGV4Om4rKyx2YWx1ZTpsfSk6bD09PSJcXCI/aS5wdXNoKHt0eXBlOiJlc2NhcGUiLGluZGV4Om4rKyx2YWx1ZTphW24rK119KTpsPT09IjoiP2kucHVzaCh7dHlwZToicGFyYW0iLGluZGV4Om4rKyx2YWx1ZTpvKCl9KTpsPT09IioiP2kucHVzaCh7dHlwZToid2lsZGNhcmQiLGluZGV4Om4rKyx2YWx1ZTpvKCl9KTppLnB1c2goe3R5cGU6ImNoYXIiLGluZGV4Om4rKyx2YWx1ZTpsfSl9aS5wdXNoKHt0eXBlOiJlbmQiLGluZGV4Om4sdmFsdWU6IiJ9KTtmdW5jdGlvbiBjKGwpe2xldCB1PVtdO2Zvcig7Oyl7bGV0IGQ9aVtzKytdO2lmKGQudHlwZT09PWwpYnJlYWs7aWYoZC50eXBlPT09ImNoYXIifHxkLnR5cGU9PT0iZXNjYXBlIil7bGV0IGg9ZC52YWx1ZSxtPWlbc107Zm9yKDttLnR5cGU9PT0iY2hhciJ8fG0udHlwZT09PSJlc2NhcGUiOyloKz1tLnZhbHVlLG09aVsrK3NdO3UucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6cihoKX0pO2NvbnRpbnVlfWlmKGQudHlwZT09PSJwYXJhbSJ8fGQudHlwZT09PSJ3aWxkY2FyZCIpe3UucHVzaCh7dHlwZTpkLnR5cGUsbmFtZTpkLnZhbHVlfSk7Y29udGludWV9aWYoZC50eXBlPT09InsiKXt1LnB1c2goe3R5cGU6Imdyb3VwIix0b2tlbnM6YygifSIpfSk7Y29udGludWV9dGhyb3cgbmV3IHlkKGBVbmV4cGVjdGVkICR7ZC50eXBlfSBhdCBpbmRleCAke2QuaW5kZXh9LCBleHBlY3RlZCAke2x9YCxlKX1yZXR1cm4gdX1yZXR1cm4gbmV3IG5TKGMoImVuZCIpLGUpfWZ1bmN0aW9uIGFfcihlLHQ9e30pe2xldHtlbmNvZGU6cj1lbmNvZGVVUklDb21wb25lbnQsZGVsaW1pdGVyOmE9Q0d9PXQsaT10eXBlb2YgZT09Im9iamVjdCI/ZTpMRyhlLHQpLG49RiRlKGkudG9rZW5zLGEscik7cmV0dXJuIGZ1bmN0aW9uKG89e30pe2xldFtjLC4uLmxdPW4obyk7aWYobC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcihgTWlzc2luZyBwYXJhbWV0ZXJzOiAke2wuam9pbigiLCAiKX1gKTtyZXR1cm4gY319ZnVuY3Rpb24gRiRlKGUsdCxyKXtsZXQgYT1lLm1hcChpPT5pX3IoaSx0LHIpKTtyZXR1cm4gaT0+e2xldCBuPVsiIl07Zm9yKGxldCBzIG9mIGEpe2xldFtvLC4uLmNdPXMoaSk7blswXSs9byxuLnB1c2goLi4uYyl9cmV0dXJuIG59fWZ1bmN0aW9uIGlfcihlLHQscil7aWYoZS50eXBlPT09InRleHQiKXJldHVybigpPT5bZS52YWx1ZV07aWYoZS50eXBlPT09Imdyb3VwIil7bGV0IGk9RiRlKGUudG9rZW5zLHQscik7cmV0dXJuIG49PntsZXRbcywuLi5vXT1pKG4pO3JldHVybiBvLmxlbmd0aD9bIiJdOltzXX19bGV0IGE9cnx8VEc7cmV0dXJuIGUudHlwZT09PSJ3aWxkY2FyZCImJnIhPT0hMT9pPT57bGV0IG49aVtlLm5hbWVdO2lmKG49PW51bGwpcmV0dXJuWyIiLGUubmFtZV07aWYoIUFycmF5LmlzQXJyYXkobil8fG4ubGVuZ3RoPT09MCl0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAiJHtlLm5hbWV9IiB0byBiZSBhIG5vbi1lbXB0eSBhcnJheWApO3JldHVybltuLm1hcCgocyxvKT0+e2lmKHR5cGVvZiBzIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAiJHtlLm5hbWV9LyR7b30iIHRvIGJlIGEgc3RyaW5nYCk7cmV0dXJuIGEocyl9KS5qb2luKHQpXX06aT0+e2xldCBuPWlbZS5uYW1lXTtpZihuPT1udWxsKXJldHVyblsiIixlLm5hbWVdO2lmKHR5cGVvZiBuIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAiJHtlLm5hbWV9IiB0byBiZSBhIHN0cmluZ2ApO3JldHVyblthKG4pXX19ZnVuY3Rpb24gbl9yKGUsdD17fSl7bGV0e2RlY29kZTpyPWRlY29kZVVSSUNvbXBvbmVudCxkZWxpbWl0ZXI6YT1DR309dCx7cmVnZXhwOmksa2V5czpufT1PJGUoZSx0KSxzPW4ubWFwKG89PnI9PT0hMT9URzpvLnR5cGU9PT0icGFyYW0iP3I6Yz0+Yy5zcGxpdChhKS5tYXAocikpO3JldHVybiBmdW5jdGlvbihjKXtsZXQgbD1pLmV4ZWMoYyk7aWYoIWwpcmV0dXJuITE7bGV0IHU9bFswXSxkPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBoPTE7aDxsLmxlbmd0aDtoKyspe2lmKGxbaF09PT12b2lkIDApY29udGludWU7bGV0IG09bltoLTFdLHY9c1toLTFdO2RbbS5uYW1lXT12KGxbaF0pfXJldHVybntwYXRoOnUscGFyYW1zOmR9fX1mdW5jdGlvbiBPJGUoZSx0PXt9KXtsZXR7ZGVsaW1pdGVyOnI9Q0csZW5kOmE9ITAsc2Vuc2l0aXZlOmk9ITEsdHJhaWxpbmc6bj0hMH09dCxzPVtdLG89aT8iIjoiaSIsYz1bXTtmb3IobGV0IGQgb2YgUiRlKGUsW10pKXtsZXQgaD10eXBlb2YgZD09Im9iamVjdCI/ZDpMRyhkLHQpO2ZvcihsZXQgbSBvZiBzUyhoLnRva2VucywwLFtdKSljLnB1c2goc19yKG0scixzLGgub3JpZ2luYWxQYXRoKSl9bGV0IGw9YF4oPzoke2Muam9pbigifCIpfSlgO3JldHVybiBuJiYobCs9YCg/OiR7UzIocil9JCk/YCksbCs9YT8iJCI6YCg/PSR7UzIocil9fCQpYCx7cmVnZXhwOm5ldyBSZWdFeHAobCxvKSxrZXlzOnN9fWZ1bmN0aW9uIFIkZShlLHQpe2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCByIG9mIGUpUiRlKHIsdCk7ZWxzZSB0LnB1c2goZSk7cmV0dXJuIHR9ZnVuY3Rpb24qc1MoZSx0LHIpe2lmKHQ9PT1lLmxlbmd0aClyZXR1cm4geWllbGQgcjtsZXQgYT1lW3RdO2lmKGEudHlwZT09PSJncm91cCIpZm9yKGxldCBpIG9mIHNTKGEudG9rZW5zLDAsci5zbGljZSgpKSl5aWVsZCpzUyhlLHQrMSxpKTtlbHNlIHIucHVzaChhKTt5aWVsZCpzUyhlLHQrMSxyKX1mdW5jdGlvbiBzX3IoZSx0LHIsYSl7bGV0IGk9IiIsbj0iIixzPSEwO2ZvcihsZXQgbyBvZiBlKXtpZihvLnR5cGU9PT0idGV4dCIpe2krPVMyKG8udmFsdWUpLG4rPW8udmFsdWUsc3x8KHM9by52YWx1ZS5pbmNsdWRlcyh0KSk7Y29udGludWV9aWYoby50eXBlPT09InBhcmFtInx8by50eXBlPT09IndpbGRjYXJkIil7aWYoIXMmJiFuKXRocm93IG5ldyB5ZChgTWlzc2luZyB0ZXh0IGJlZm9yZSAiJHtvLm5hbWV9IiAke28udHlwZX1gLGEpO28udHlwZT09PSJwYXJhbSI/aSs9YCgke29fcih0LHM/IiI6bil9KylgOmkrPSIoW1xcc1xcU10rKSIsci5wdXNoKG8pLG49IiIscz0hMTtjb250aW51ZX19cmV0dXJuIGl9ZnVuY3Rpb24gb19yKGUsdCl7cmV0dXJuIHQubGVuZ3RoPDI/ZS5sZW5ndGg8Mj9gW14ke1MyKGUrdCl9XWA6YCg/Oig/ISR7UzIoZSl9KVteJHtTMih0KX1dKWA6ZS5sZW5ndGg8Mj9gKD86KD8hJHtTMih0KX0pW14ke1MyKGUpfV0pYDpgKD86KD8hJHtTMih0KX18JHtTMihlKX0pW1xcc1xcU10pYH1mdW5jdGlvbiBCJGUoZSl7bGV0IHQ9IiIscj0wO2Z1bmN0aW9uIGEoaSl7cmV0dXJuIGNfcihpKSYmZF9yKGVbcl0pP2k6SlNPTi5zdHJpbmdpZnkoaSl9Zm9yKDtyPGUubGVuZ3RoOyl7bGV0IGk9ZVtyKytdO2lmKGkudHlwZT09PSJ0ZXh0Iil7dCs9cl9yKGkudmFsdWUpO2NvbnRpbnVlfWlmKGkudHlwZT09PSJncm91cCIpe3QrPWB7JHtCJGUoaS50b2tlbnMpfX1gO2NvbnRpbnVlfWlmKGkudHlwZT09PSJwYXJhbSIpe3QrPWA6JHthKGkubmFtZSl9YDtjb250aW51ZX1pZihpLnR5cGU9PT0id2lsZGNhcmQiKXt0Kz1gKiR7YShpLm5hbWUpfWA7Y29udGludWV9dGhyb3cgbmV3IFR5cGVFcnJvcihgVW5rbm93biB0b2tlbiB0eXBlOiAke2kudHlwZX1gKX1yZXR1cm4gdH1mdW5jdGlvbiBsX3IoZSl7cmV0dXJuIEIkZShlLnRva2Vucyl9ZnVuY3Rpb24gY19yKGUpe2xldFt0LC4uLnJdPWU7cmV0dXJuIE4kZS50ZXN0KHQpJiZyLmV2ZXJ5KGE9Pl9HLnRlc3QoYSkpfWZ1bmN0aW9uIGRfcihlKXtyZXR1cm4gZSYmZS50eXBlPT09InRleHQiPyFfRy50ZXN0KGUudmFsdWVbMF0pOiEwfX0pO3ZhciAkRyxERz1mKCgpPT57S2goKTtvbygpOyRHPXNyKEgkZSgpLDEpfSk7dmFyIG9TLHEkZT1mKCgpPT57REcoKTtvUz1jbGFzc3tjb25zdHJ1Y3Rvcigpe31nZXRBbGxBc09iamVjdCgpe2xldCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyh0LmVudHJpZXMoKSl9c2V0UXVlcnlQYXJhbSh0LHIsYT0icmVwbGFjZSIpe3ZhciBpPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7aS5zZXQodCxyKSxhPT09InB1c2giP2hpc3RvcnkucHVzaFN0YXRlKG51bGwsbnVsbCwiPyIraS50b1N0cmluZygpKTpoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLG51bGwsIj8iK2kudG9TdHJpbmcoKSl9ZGVsZXRlUXVlcnlQYXJhbSh0LHI9InJlcGxhY2UiKXt2YXIgYT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2EuZGVsZXRlKHQpLHI9PT0icHVzaCI/aGlzdG9yeS5wdXNoU3RhdGUobnVsbCxudWxsLCI/IithLnRvU3RyaW5nKCkpOmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsbnVsbCwiPyIrYS50b1N0cmluZygpKX1nZXRRdWVyeVBhcmFtKHQpe3JldHVybiB0aGlzLmdldEFsbEFzT2JqZWN0KClbdF19fX0pO3ZhciBFWmEsQUcsaiRlPWYoKCk9PntERygpO3EkZSgpO0VaYT1lPT57Y29uc29sZS5sb2coYCVjW1JvdXRlcl0lYyAke2V9YCwiY29sb3I6IHJnYigyNTUsIDEwNSwgMTAwKTsiLCJjb2xvcjogaW5oZXJpdCIpfSxBRz1jbGFzcyBle2NvbnN0cnVjdG9yKHQscj0iIil7dGhpcy5vcHRpb25zPXtkZWJ1ZzohMX0sdGhpcy5xdWVyeVBhcmFtcz1uZXcgb1MsdGhpcy5yb3V0ZXM9W10sdGhpcy5vcHRpb25zPXsuLi50aGlzLm9wdGlvbnMsLi4udH0sdGhpcy5iYXNlUGF0aD1yLHRoaXMucG9wc3RhdGVMaXN0ZW5lcj1hPT57YS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2hhbmRsZVJvdXRlU3RhdGUoKX0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0aGlzLnBvcHN0YXRlTGlzdGVuZXIpfWNyZWF0ZVN1YlJvdXRlcih0LHIpe2xldCBhPWAke3RoaXMuYmFzZVBhdGh9JHt0fWA7cmV0dXJuIG5ldyBlKHsuLi50aGlzLm9wdGlvbnMsLi4ucn0sYSl9YXN5bmMgcHVzaFVybCh0PSIvIixyPXt9KXtsZXQgYT1gJHt0aGlzLmJhc2VQYXRofSR7dH1gO2EhPT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWU/d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHIsd2luZG93LmRvY3VtZW50LnRpdGxlLGEpOndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShyLHdpbmRvdy5kb2N1bWVudC50aXRsZSxhKSxhd2FpdCB0aGlzLl9oYW5kbGVSb3V0ZVN0YXRlKCl9b24odCxyKXtsZXQgYT1gJHt0aGlzLmJhc2VQYXRofSR7dH1gLGk9e21hdGNoRnVuY3Rpb246JEcubWF0Y2goYSksaGFuZGxlcjpyfTtyZXR1cm4gdGhpcy5yb3V0ZXMucHVzaChpKSwoKT0+e3RoaXMucm91dGVzLnNwbGljZSh0aGlzLnJvdXRlcy5pbmRleE9mKGkpLDEpfX1hc3luYyBfaGFuZGxlUm91dGVTdGF0ZSgpe2xldCB0PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSxyPXRoaXMucm91dGVzLmZpbHRlcihhPT4hIWEubWF0Y2hGdW5jdGlvbih0KSk7Zm9yKGxldCBhIG9mIHIpe2xldCBpPWEubWF0Y2hGdW5jdGlvbih0KTthLmhhbmRsZXIoey4uLmkudmFsdWVPZigpLHF1ZXJ5UGFyYW1zOnRoaXMucXVlcnlQYXJhbXMuZ2V0QWxsQXNPYmplY3QoKX0pfX1kZXN0cm95KCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0aGlzLnBvcHN0YXRlTGlzdGVuZXIpLHRoaXMucm91dGVzPVtdfX19KTt2YXIgajA9e307UmUoajAse1NtYXJ0Um91dGVyOigpPT5BR30pO3ZhciBFRz1mKCgpPT57aiRlKCl9KTt2YXIgViRlPWYoKCk9Pnt4NSgpO0M1KCl9KTtmdW5jdGlvbiB6MihlLHQpe3JldHVybiBlPj4+dHxlPDwzMi10fWZ1bmN0aW9uIG1fcihlLHQpe2xldCByPXRbMF0sYT10WzFdLGk9dFsyXSxuPXRbM10scz10WzRdLG89dFs1XSxjPXRbNl0sbD10WzddO2ZvcihsZXQgdT0wO3U8NjQ7dSsrKXtpZih1Pj0xNil7bGV0IHk9ejIoZVt1LTE1XSw3KV56MihlW3UtMTVdLDE4KV5lW3UtMTVdPj4+Myx3PXoyKGVbdS0yXSwxNyleejIoZVt1LTJdLDE5KV5lW3UtMl0+Pj4xMDtlW3VdPWVbdS0xNl0reStlW3UtN10rdz4+PjB9bGV0IGQ9ejIocyw2KV56MihzLDExKV56MihzLDI1KSxoPXMmb15+cyZjLG09bCtkK2grZl9yW3VdK2VbdV0+Pj4wLHY9ejIociwyKV56MihyLDEzKV56MihyLDIyKSxiPXImYV5yJmleYSZpLGc9ditiPj4+MDtsPWMsYz1vLG89cyxzPW4rbT4+PjAsbj1pLGk9YSxhPXIscj1tK2c+Pj4wfXRbMF09dFswXStyPj4+MCx0WzFdPXRbMV0rYT4+PjAsdFsyXT10WzJdK2k+Pj4wLHRbM109dFszXStuPj4+MCx0WzRdPXRbNF0rcz4+PjAsdFs1XT10WzVdK28+Pj4wLHRbNl09dFs2XStjPj4+MCx0WzddPXRbN10rbD4+PjB9ZnVuY3Rpb24gSUcoZSl7bGV0IHQ9Wy4uLmhfcl0scj1lLmxlbmd0aCxhPXIqOCxpPXIlNjQ8NTY/NTYtciU2NDoxMjAtciU2NCxuPW5ldyBVaW50OEFycmF5KHIraSs4KTtuLnNldChlKSxuW3JdPTEyODtsZXQgcz1uZXcgRGF0YVZpZXcobi5idWZmZXIpO3Muc2V0VWludDMyKG4ubGVuZ3RoLTgsMCwhMSkscy5zZXRVaW50MzIobi5sZW5ndGgtNCxhPj4+MCwhMSk7Zm9yKGxldCBjPTA7YzxuLmxlbmd0aDtjKz02NCl7bGV0IGw9bmV3IEFycmF5KDY0KTtmb3IobGV0IHU9MDt1PDE2O3UrKylsW3VdPXMuZ2V0VWludDMyKGMrdSo0LCExKTttX3IobCx0KX1sZXQgbz0iIjtmb3IobGV0IGM9MDtjPDg7YysrKW8rPXRbY10udG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDgsIjAiKTtyZXR1cm4gb312YXIgZl9yLGhfcixVJGU9ZigoKT0+e2Zfcj1bMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSxoX3I9WzE3NzkwMzM3MDMsMzE0NDEzNDI3NywxMDEzOTA0MjQyLDI3NzM0ODA3NjIsMTM1OTg5MzExOSwyNjAwODIyOTI0LDUyODczNDYzNSwxNTQxNDU5MjI1XX0pO3ZhciBsNz17fTtSZShsNyx7bWQ1RnJvbVN0cmluZzooKT0+d19yLHNoYTI1NkZyb21CdWZmZXI6KCk9PmJfcixzaGEyNTZGcm9tRmlsZTooKT0+eV9yLHNoYTI1NkZyb21TdHJlYW06KCk9PnhfcixzaGEyNTZGcm9tU3RyaW5nOigpPT5ZJGUsc2hhMjU2RnJvbVN0cmluZ1N5bmM6KCk9PmdfcixzaGEyNjVGcm9tT2JqZWN0OigpPT52X3J9KTt2YXIgVyRlLEckZSxZJGUsZ19yLGJfcix2X3IseF9yLHlfcix3X3IsWiRlPWYoKCk9PntWJGUoKTtVJGUoKTtXJGU9ZT0+e2xldCB0PVtdLHI9bmV3IERhdGFWaWV3KGUpO2ZvcihsZXQgYT0wO2E8ci5ieXRlTGVuZ3RoO2ErPTQpe2xldCBuPXIuZ2V0VWludDMyKGEpLnRvU3RyaW5nKDE2KSxzPSIwMDAwMDAwMCIsbz0ocytuKS5zbGljZSgtcy5sZW5ndGgpO3QucHVzaChvKX1yZXR1cm4gdC5qb2luKCIiKX0sRyRlPSgpPT50eXBlb2YgY3J5cHRvPCJ1IiYmY3J5cHRvLnN1YnRsZSE9PXZvaWQgMCxZJGU9YXN5bmMgZT0+e2xldCB0PW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShlKTtpZihHJGUoKSl7bGV0IHI9YXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLHQpO3JldHVybiBXJGUocil9ZWxzZSByZXR1cm4gSUcodCl9LGdfcj1lPT57dGhyb3cgY29uc29sZS53YXJuKCJzaGEyNTZGcm9tU3RyaW5nU3luYyBpcyBub3QgdHJ1bHkgc3luY2hyb25vdXMgaW4gYnJvd3NlciBlbnZpcm9ubWVudCIpLG5ldyBFcnJvcigic2hhMjU2RnJvbVN0cmluZ1N5bmMgaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIGVudmlyb25tZW50LiBVc2Ugc2hhMjU2RnJvbVN0cmluZyBpbnN0ZWFkLiIpfSxiX3I9YXN5bmMgZT0+e2lmKEckZSgpKXtsZXQgdDtpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSl7bGV0IGk9ZTt0PWkuYnVmZmVyLnNsaWNlKGkuYnl0ZU9mZnNldCxpLmJ5dGVPZmZzZXQraS5ieXRlTGVuZ3RoKX1lbHNlIHQ9ZTtsZXQgcj1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsdCk7cmV0dXJuIFckZShyKX1lbHNle2xldCB0PWUgaW5zdGFuY2VvZiBVaW50OEFycmF5P2U6bmV3IFVpbnQ4QXJyYXkoZSk7cmV0dXJuIElHKHQpfX0sdl9yPWFzeW5jIGU9PntsZXQgdD13YS5zdHJpbmdpZnkoZSk7cmV0dXJuIGF3YWl0IFkkZSh0KX0seF9yPWU9Pnt0aHJvdyBuZXcgRXJyb3IoInNoYTI1NkZyb21TdHJlYW0gaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIGVudmlyb25tZW50Iil9LHlfcj1hc3luYyBlPT57dGhyb3cgbmV3IEVycm9yKCJzaGEyNTZGcm9tRmlsZSBpcyBub3Qgc3VwcG9ydGVkIGluIGJyb3dzZXIgZW52aXJvbm1lbnQiKX0sd19yPWFzeW5jIGU9Pnt0aHJvdyBuZXcgRXJyb3IoIm1kNUZyb21TdHJpbmcgaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIGVudmlyb25tZW50LiBXZWIgQ3J5cHRvIEFQSSBkb2VzIG5vdCBzdXBwb3J0IE1ENS4iKX19KTt2YXIgWCRlPWYoKCk9PntsbigpfSk7dmFyIFEkZT1mKCgpPT57fSk7dmFyIFBHLEokZT1mKCgpPT57WCRlKCk7USRlKCk7UEc9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmxvYWRlZFNjcmlwdHM9W119YXN5bmMgZ2V0RW52QXdhcmVNb2R1bGUodCl7aWYodGhpcy5pc05vZGUpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUodC5ub2RlTW9kdWxlTmFtZSk7aWYodGhpcy5pc0Jyb3dzZXIpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZVdlYk1vZHVsZSh0LndlYlVybEFyZyx0LmdldEZ1bmN0aW9uKTtjb25zb2xlLmVycm9yKCJwbGF0Zm9ybSBmb3IgbG9hZGluZyBub3Qgc3VwcG9ydGVkIGJ5IHNtYXJ0ZW52Iil9YXN5bmMgZ2V0U2FmZU5vZGVNb2R1bGUodCxyKXtpZighdGhpcy5pc05vZGUmJiF0aGlzLmlzRGVubyYmIXRoaXMuaXNCdW4pe2NvbnNvbGUuZXJyb3IoYFlvdSB0cmllZCB0byBsb2FkIGEgc2VydmVyIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQ6ICR7dH0uIFRoaXMgZG9lcyBub3QgdGhyb3cuYCk7cmV0dXJufWxldCBhPWF3YWl0IG5ldyBGdW5jdGlvbihgcmV0dXJuIGltcG9ydCgnJHt0fScpYCkoKTtyZXR1cm4gciYmYXdhaXQgcihhKSxhfWFzeW5jIGdldFNhZmVXZWJNb2R1bGUodCxyKXtpZighdGhpcy5pc0Jyb3dzZXIpe2NvbnNvbGUuZXJyb3IoIllvdSB0cmllZCB0byBsb2FkIGEgd2ViIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQiKTtyZXR1cm59aWYodGhpcy5sb2FkZWRTY3JpcHRzLmluY2x1ZGVzKHQpKXJldHVybiByKCk7dGhpcy5sb2FkZWRTY3JpcHRzLnB1c2godCk7bGV0IGE9SmUuZGVmZXIoKTtpZihnbG9iYWxUaGlzLmltcG9ydFNjcmlwdHMpZ2xvYmFsVGhpcy5pbXBvcnRTY3JpcHRzKHQpLGEucmVzb2x2ZSgpO2Vsc2V7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7aS5vbmxvYWQ9KCk9PnthLnJlc29sdmUoKX0saS5zcmM9dCxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGkpfXJldHVybiBhd2FpdCBhLnByb21pc2UscigpfWdldCBydW50aW1lRW52KCl7cmV0dXJuIHR5cGVvZiBnbG9iYWxUaGlzLkRlbm88InUiJiZ0eXBlb2YgZ2xvYmFsVGhpcy5EZW5vPy52ZXJzaW9uPCJ1Ij8iZGVubyI6dHlwZW9mIGdsb2JhbFRoaXMuQnVuPCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMuQnVuPy52ZXJzaW9uPCJ1Ij8iYnVuIjp0eXBlb2YgZ2xvYmFsVGhpcy5wcm9jZXNzPCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMucHJvY2Vzcz8udmVyc2lvbnM/Lm5vZGU8InUiPyJub2RlIjoodHlwZW9mIGdsb2JhbFRoaXMud2luZG93PCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMuZG9jdW1lbnQ8InUiLCJicm93c2VyIil9Z2V0IGlzQnJvd3Nlcigpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iYnJvd3NlciJ9Z2V0IGlzTm9kZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0ibm9kZSJ9Z2V0IGlzRGVubygpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iZGVubyJ9Z2V0IGlzQnVuKCl7cmV0dXJuIHRoaXMucnVudGltZUVudj09PSJidW4ifWdldCB1c2VyQWdlbnQoKXtyZXR1cm4gdGhpcy5pc0Jyb3dzZXI/bmF2aWdhdG9yLnVzZXJBZ2VudDoidW5kZWZpbmVkIn1nZXQgbm9kZVZlcnNpb24oKXtyZXR1cm4gdGhpcy5pc05vZGU/cHJvY2Vzcy52ZXJzaW9uOiJ1bmRlZmluZWQifWdldCBkZW5vVmVyc2lvbigpe3JldHVybiB0aGlzLmlzRGVubz9nbG9iYWxUaGlzLkRlbm8udmVyc2lvbi5kZW5vOiJ1bmRlZmluZWQifWdldCBidW5WZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNCdW4/Z2xvYmFsVGhpcy5CdW4udmVyc2lvbjoidW5kZWZpbmVkIn1hc3luYyBnZXRTYWZlTW9kdWxlRm9yKHQscixhKXtsZXQgaTtpZihBcnJheS5pc0FycmF5KHQpP2k9dC5mbGF0TWFwKG49Pm49PT0ic2VydmVyIj9bIm5vZGUiLCJkZW5vIiwiYnVuIl06W25dKTp0PT09InNlcnZlciI/aT1bIm5vZGUiLCJkZW5vIiwiYnVuIl06aT1bdF0sIWkuaW5jbHVkZXModGhpcy5ydW50aW1lRW52KSl7Y29uc29sZS53YXJuKGBNb2R1bGUgIiR7cn0iIHJlcXVlc3RlZCBmb3IgcnVudGltZShzKSBbJHtpLmpvaW4oIiwgIil9XSBidXQgY3VycmVudCBydW50aW1lIGlzICIke3RoaXMucnVudGltZUVudn0iLiBTa2lwcGluZyBsb2FkLmApO3JldHVybn1pZih0aGlzLmlzTm9kZXx8dGhpcy5pc0Rlbm98fHRoaXMuaXNCdW4pcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUocik7aWYodGhpcy5pc0Jyb3dzZXIpe2lmKCFhKXtjb25zb2xlLmVycm9yKGBCcm93c2VyIG1vZHVsZSBsb2FkIHJlcXVpcmVzIGdldEZ1bmN0aW9uIHBhcmFtZXRlciBmb3IgIiR7cn0iYCk7cmV0dXJufXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVXZWJNb2R1bGUocixhKX19Z2V0IGlzQ0koKXtyZXR1cm4gdGhpcy5pc05vZGU/ISFwcm9jZXNzLmVudi5DSTohMX1hc3luYyBpc01hY0FzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09ImRhcndpbiI6ITF9YXN5bmMgaXNXaW5kb3dzQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0id2luMzIiOiExfWFzeW5jIGlzTGludXhBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJsaW51eCI6ITF9YXN5bmMgcHJpbnRFbnYoKXt0aGlzLmlzTm9kZT8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gTk9ERSIpLGNvbnNvbGUubG9nKCJub2RlIHZlcnNpb24gaXMgIit0aGlzLm5vZGVWZXJzaW9uKSk6dGhpcy5pc0Rlbm8/KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIERFTk8iKSxjb25zb2xlLmxvZygiZGVubyB2ZXJzaW9uIGlzICIrdGhpcy5kZW5vVmVyc2lvbikpOnRoaXMuaXNCdW4/KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIEJVTiIpLGNvbnNvbGUubG9nKCJidW4gdmVyc2lvbiBpcyAiK3RoaXMuYnVuVmVyc2lvbikpOihjb25zb2xlLmxvZygicnVubmluZyBvbiBCUk9XU0VSIiksY29uc29sZS5sb2coImJyb3dzZXIgaXMgIit0aGlzLnVzZXJBZ2VudCkpfX19KTt2YXIgTkc9e307UmUoTkcse1NtYXJ0ZW52OigpPT5QR30pO3ZhciBLJGU9ZigoKT0+e0okZSgpfSk7dmFyIGxTLGVEZSxjUyxGRz1mKCgpPT57SyRlKCk7Y20oKTtsUz1zcihJaigpLDEpLGVEZT1zcihQaigpLDEpLGNTPWVEZS5kZWZhdWx0fSk7ZnVuY3Rpb24gU19yKGUpe3JldHVybiB0eXBlb2YgQnVmZmVyPCJ1Ij9CdWZmZXIuZnJvbShlKS50b1N0cmluZygiYmFzZTY0Iik6YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmUpKX1mdW5jdGlvbiB6X3IoZSl7aWYodHlwZW9mIEJ1ZmZlcjwidSIpe2xldCB0PUJ1ZmZlci5mcm9tKGUsImJhc2U2NCIpO3JldHVybiBuZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoQXJyYXkuZnJvbShhdG9iKGUpKS5tYXAodD0+dC5jaGFyQ29kZUF0KDApKSl9ZnVuY3Rpb24gUkcoZSx0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSxkUyx0KX1mdW5jdGlvbiBCRyhlKXtyZXR1cm4gSlNPTi5wYXJzZShlLHREZSl9ZnVuY3Rpb24gQ19yKGUpe3JldHVybiBhRGUoZSkmJmUudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmT0coZS5kYXRhKX1mdW5jdGlvbiBUX3IoZSl7cmV0dXJuIGFEZShlKSYmZS50eXBlPT09IkJ1ZmZlciImJihyRGUoZS5kYXRhKXx8T0coZS5kYXRhKSl8fGUgaW5zdGFuY2VvZiBVaW50OEFycmF5fWZ1bmN0aW9uIHJEZShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKX1mdW5jdGlvbiBPRyhlKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmcifWZ1bmN0aW9uIGFEZShlKXtyZXR1cm4gdHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbH12YXIgZFMsdERlLGlEZT1mKCgpPT57RkcoKTtkUz0oZSx0KT0+e2lmKFRfcih0KSl7bGV0IHI7aWYoImRhdGEiaW4gdCYmckRlKHQuZGF0YSkpcj1uZXcgVWludDhBcnJheSh0LmRhdGEpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcj10O2Vsc2UgcmV0dXJuIHQ7cmV0dXJue3R5cGU6IkVuY29kZWRCdWZmZXIiLGRhdGE6ImJhc2U2NDoiK1NfcihyKX19cmV0dXJuIHR9LHREZT0oZSx0KT0+e2lmKENfcih0KSYmT0codC5kYXRhKSYmdC5kYXRhLnN0YXJ0c1dpdGgoImJhc2U2NDoiKSl7bGV0IHI9dC5kYXRhLnNsaWNlKDcpO3JldHVybiB6X3Iocil9cmV0dXJuIHR9fSk7dmFyIGM3PXt9O1JlKGM3LHtTbWFydGpzb246KCk9PnFHLGRlZXBFcXVhbEpzb25MU3RyaW5nczooKT0+UF9yLGRlZXBFcXVhbE9iamVjdHM6KCk9Pm5EZSxmb2xkRGVjOigpPT5JX3IscGFyc2U6KCk9PnVTLHBhcnNlQmFzZTY0OigpPT5FX3IscGFyc2VKc29uTDooKT0+SEcsc3RhYmxlT25lV2F5U3RyaW5naWZ5OigpPT4kX3Isc3RyaW5naWZ5OigpPT53ZCxzdHJpbmdpZnlCYXNlNjQ6KCk9PkFfcixzdHJpbmdpZnlKc29uTDooKT0+TF9yLHN0cmluZ2lmeVByZXR0eTooKT0+RF9yfSk7dmFyIHVTLEhHLExfciwkX3Isd2QsRF9yLEFfcixFX3IscUcsSV9yLG5EZSxQX3Isc0RlPWYoKCk9PntGRygpO2lEZSgpO3VTPUJHLEhHPWU9PmUuc3BsaXQoYApgKS5yZWR1Y2UoKGEsaSk9PntsZXQgbj1pLnRyaW0oKTtyZXR1cm4gbi5sZW5ndGg+MCYmYS5wdXNoKHVTKG4pKSxhfSxbXSksTF9yPWU9PmUubWFwKHQ9PndkKHQpKS5qb2luKGAKYCksJF9yPShlLHQscj17fSk9PntsZXQgYT1uZXcgV2Vha1NldCxpPW89PntpZihvPT09bnVsbHx8dHlwZW9mIG8hPSJvYmplY3QiKXJldHVybiBvO2xldCBjPWRTKCIiLG8pO2lmKGMmJmMudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGMuZGF0YT09InN0cmluZyIpcmV0dXJuIGM7aWYoYS5oYXMobykpcmV0dXJuIl9fY3ljbGVfXyI7aWYoYS5hZGQobyksQXJyYXkuaXNBcnJheShvKSlyZXR1cm4gby5tYXAodT0+aSh1KSk7bGV0IGw9e307Zm9yKGxldCB1IG9mIE9iamVjdC5rZXlzKG8pKXRyeXtsW3VdPWkob1t1XSl9Y2F0Y2h7bFt1XT0iX191bnNlcmlhbGl6YWJsZV9fIn1yZXR1cm4gbH0sbj1pKGUpLHM9ey4uLnIsY3ljbGVzOiEwfTtpZih0JiYhcy5jbXApe2xldCBvPW5ldyBNYXA7dC5mb3JFYWNoKChjLGwpPT5vLnNldChjLGwpKSxzLmNtcD0oYyxsKT0+e2xldCB1PW8uaGFzKGMua2V5KT9vLmdldChjLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGQ9by5oYXMobC5rZXkpP28uZ2V0KGwua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIHUhPT1kP3UtZDpjLmtleTxsLmtleT8tMTpjLmtleT5sLmtleT8xOjB9fXJldHVybiBjUyhuLHMpfSx3ZD0oZSx0LHI9e30pPT57bGV0IGE9UkcoZSk7ZT1KU09OLnBhcnNlKGEpO2xldCBpPXsuLi5yfTtpZih0JiYhaS5jbXApe2xldCBzPW5ldyBNYXA7dC5mb3JFYWNoKChvLGMpPT5zLnNldChvLGMpKSxpLmNtcD0obyxjKT0+e2xldCBsPXMuaGFzKG8ua2V5KT9zLmdldChvLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHU9cy5oYXMoYy5rZXkpP3MuZ2V0KGMua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIGwhPT11P2wtdTpvLmtleTxjLmtleT8tMTpvLmtleT5jLmtleT8xOjB9fXJldHVybiBjUyhlLGkpfSxEX3I9ZT0+e2xldCB0PXdkKGUpLHI9SlNPTi5wYXJzZSh0KTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkocixudWxsLDIpfSxBX3I9KC4uLmUpPT57bGV0IHQ9d2QoLi4uZSk7cmV0dXJuIGJuLmJhc2U2NC5lbmNvZGVVcmkodCl9LEVfcj1lPT57bGV0IHQ9Ym4uYmFzZTY0LGE9KHQuZGVjb2RlVXJpfHx0LmRlY29kZSkoZSk7cmV0dXJuIHVTKGEpfSxxRz1jbGFzcyBle3N0YXRpYyBlbmZvbGRGcm9tT2JqZWN0KHQpe2xldCByPW5ldyB0aGlzLGE9ci5zYXZlYWJsZVByb3BlcnRpZXN8fFtdO2ZvcihsZXQgaSBpbiB0KWEuaW5kZXhPZihpKSE9PS0xJiYocltpXT10W2ldKTtyZXR1cm4gcn1zdGF0aWMgZW5mb2xkRnJvbUpzb24odCl7bGV0IHI9dVModCk7cmV0dXJuIHRoaXMuZW5mb2xkRnJvbU9iamVjdChyKX1zYXZlYWJsZVByb3BlcnRpZXM7Zm9sZFRvT2JqZWN0KCl7bGV0IHQ9bmV3IFNldDtyZXR1cm4gdC5hZGQodGhpcyksdGhpcy5mb2xkVG9PYmplY3RJbnRlcm5hbCh0KX1mb2xkVG9PYmplY3RJbnRlcm5hbCh0KXtsZXQgcj17fSxhPW49PntpZihuIGluc3RhbmNlb2YgZSl7aWYodC5oYXMobikpdGhyb3cgbmV3IEVycm9yKCJjeWNsZSBkZXRlY3RlZCIpO3JldHVybiB0LmFkZChuKSxuLmZvbGRUb09iamVjdEludGVybmFsKHQpfXJldHVybiBBcnJheS5pc0FycmF5KG4pP24ubWFwKHM9PmEocykpOmxTLmRlZmF1bHQobil9LGk9dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fFtdO2ZvcihsZXQgbiBvZiBpKXtsZXQgcz10aGlzW25dO3Jbbl09YShzKX1yZXR1cm4gcn1mb2xkVG9Kc29uKCl7bGV0IHQ9dGhpcy5mb2xkVG9PYmplY3QoKTtyZXR1cm4gd2QodCl9fSxJX3I9KCk9PihlLHQpPT57bGV0IHI9U3RyaW5nKHQubmFtZSk7dC5hZGRJbml0aWFsaXplcihmdW5jdGlvbigpe3RoaXMuc2F2ZWFibGVQcm9wZXJ0aWVzfHwodGhpcy5zYXZlYWJsZVByb3BlcnRpZXM9W10pLHRoaXMuc2F2ZWFibGVQcm9wZXJ0aWVzLmluY2x1ZGVzKHIpfHx0aGlzLnNhdmVhYmxlUHJvcGVydGllcy5wdXNoKHIpfSl9LG5EZT0oZSx0KT0+e2xldCByPXdkKGUpLGE9d2QodCk7cmV0dXJuIHI9PT1hfSxQX3I9KGUsdCk9PntsZXQgcj1IRyhlKSxhPUhHKHQpO3JldHVybiBuRGUocixhKX19KTt2YXIgcFM9ZigoKT0+e1okZSgpO3NEZSgpO2xuKCk7b28oKTtnbSgpfSk7dmFyIGQ3LGpHPWYoKCk9PntwUygpO2ZTKCk7ZDc9Y2xhc3N7Y29uc3RydWN0b3IodCxyKXt0aGlzLnN0YXRlUGFydFJlZj10LHRoaXMuYWN0aW9uRGVmPXJ9dHJpZ2dlcih0KXtyZXR1cm4gdGhpcy5zdGF0ZVBhcnRSZWYuZGlzcGF0Y2hBY3Rpb24odGhpcyx0KX19fSk7dmFyIHU3LGZTPWYoKCk9PntwUygpO2pHKCk7dTc9Y2xhc3N7Y29uc3RydWN0b3IodCxyKXt0aGlzLnN0YXRlPW5ldyByci5yeGpzLlN1YmplY3QsdGhpcy5jdW11bGF0aXZlRGVmZXJyZWQ9SmUuY3VtdWxhdGl2ZURlZmVyKCksdGhpcy5wZW5kaW5nQ3VtdWxhdGl2ZU5vdGlmaWNhdGlvbj1udWxsLHRoaXMud2ViU3RvcmU9bnVsbCx0aGlzLm5hbWU9dCxyJiYodGhpcy53ZWJTdG9yZU9wdGlvbnM9cil9YXN5bmMgaW5pdCgpe2lmKHRoaXMud2ViU3RvcmVPcHRpb25zKXt0aGlzLndlYlN0b3JlPW5ldyBWbi5XZWJTdG9yZSh0aGlzLndlYlN0b3JlT3B0aW9ucyksYXdhaXQgdGhpcy53ZWJTdG9yZS5pbml0KCk7bGV0IHQ9YXdhaXQgdGhpcy53ZWJTdG9yZS5nZXQoU3RyaW5nKHRoaXMubmFtZSkpO3QmJnRoaXMudmFsaWRhdGVTdGF0ZSh0KSYmKHRoaXMuc3RhdGVTdG9yZT10LGF3YWl0IHRoaXMubm90aWZ5Q2hhbmdlKCkpfX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlU3RvcmV9YXN5bmMgc2V0U3RhdGUodCl7aWYoIXRoaXMudmFsaWRhdGVTdGF0ZSh0KSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3RhdGUgc3RydWN0dXJlIGZvciBzdGF0ZSBwYXJ0ICcke3RoaXMubmFtZX0nYCk7cmV0dXJuIHRoaXMud2ViU3RvcmUmJmF3YWl0IHRoaXMud2ViU3RvcmUuc2V0KFN0cmluZyh0aGlzLm5hbWUpLHQpLHRoaXMuc3RhdGVTdG9yZT10LGF3YWl0IHRoaXMubm90aWZ5Q2hhbmdlKCksdGhpcy5zdGF0ZVN0b3JlfXZhbGlkYXRlU3RhdGUodCl7cmV0dXJuIHQhPW51bGx9YXN5bmMgbm90aWZ5Q2hhbmdlKCl7aWYoIXRoaXMuc3RhdGVTdG9yZSlyZXR1cm47bGV0IHI9YXdhaXQoYXN5bmMgYT0+YXdhaXQgbDcuc2hhMjU2RnJvbVN0cmluZyhjNy5zdGFibGVPbmVXYXlTdHJpbmdpZnkoYSkpKSh0aGlzLnN0YXRlU3RvcmUpO3RoaXMubGFzdFN0YXRlTm90aWZpY2F0aW9uUGF5bG9hZEhhc2gmJnI9PT10aGlzLmxhc3RTdGF0ZU5vdGlmaWNhdGlvblBheWxvYWRIYXNofHwodGhpcy5sYXN0U3RhdGVOb3RpZmljYXRpb25QYXlsb2FkSGFzaD1yLHRoaXMuc3RhdGUubmV4dCh0aGlzLnN0YXRlU3RvcmUpKX1ub3RpZnlDaGFuZ2VDdW11bGF0aXZlKCl7dGhpcy5wZW5kaW5nQ3VtdWxhdGl2ZU5vdGlmaWNhdGlvbiYmY2xlYXJUaW1lb3V0KHRoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb24pLHRoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb249c2V0VGltZW91dChhc3luYygpPT57dGhpcy5wZW5kaW5nQ3VtdWxhdGl2ZU5vdGlmaWNhdGlvbj1udWxsLHRoaXMuc3RhdGVTdG9yZSYmYXdhaXQgdGhpcy5ub3RpZnlDaGFuZ2UoKX0sMCl9c2VsZWN0KHQpe3JldHVybiB0fHwodD1hPT5hKSx0aGlzLnN0YXRlLnBpcGUocnIucnhqcy5vcHMuc3RhcnRXaXRoKHRoaXMuZ2V0U3RhdGUoKSkscnIucnhqcy5vcHMuZmlsdGVyKGE9PmEhPT12b2lkIDApLHJyLnJ4anMub3BzLm1hcChhPT57dHJ5e3JldHVybiB0KGEpfWNhdGNoKGkpe2NvbnNvbGUuZXJyb3IoYFNlbGVjdG9yIGVycm9yIGluIHN0YXRlIHBhcnQgJyR7dGhpcy5uYW1lfSc6YCxpKTtyZXR1cm59fSkpfWNyZWF0ZUFjdGlvbih0KXtyZXR1cm4gbmV3IGQ3KHRoaXMsdCl9YXN5bmMgZGlzcGF0Y2hBY3Rpb24odCxyKXthd2FpdCB0aGlzLmN1bXVsYXRpdmVEZWZlcnJlZC5wcm9taXNlO2xldCBhPWF3YWl0IHQuYWN0aW9uRGVmKHRoaXMscik7cmV0dXJuIGF3YWl0IHRoaXMuc2V0U3RhdGUoYSksdGhpcy5nZXRTdGF0ZSgpfWFzeW5jIHdhaXRVbnRpbFByZXNlbnQodCxyKXtsZXQgYT1KZS5kZWZlcigpLGk9dGhpcy5zZWxlY3QodCksbj0hMSxzPWkuc3Vic2NyaWJlKGM9PntjJiYhbiYmKG49ITAsYS5yZXNvbHZlKGMpKX0pLG87ciYmKG89c2V0VGltZW91dCgoKT0+e258fChuPSEwLHMudW5zdWJzY3JpYmUoKSxhLnJlamVjdChuZXcgRXJyb3IoYHdhaXRVbnRpbFByZXNlbnQgdGltZWQgb3V0IGFmdGVyICR7cn1tc2ApKSl9LHIpKTt0cnl7cmV0dXJuIGF3YWl0IGEucHJvbWlzZX1maW5hbGx5e3MudW5zdWJzY3JpYmUoKSxvJiZjbGVhclRpbWVvdXQobyl9fWFzeW5jIHN0YXRlU2V0dXAodCl7bGV0IHI9dCh0aGlzKTt0aGlzLmN1bXVsYXRpdmVEZWZlcnJlZC5hZGRQcm9taXNlKHIpLGF3YWl0IHRoaXMuc2V0U3RhdGUoYXdhaXQgcil9fX0pO3ZhciBWRyxvRGU9ZigoKT0+e3BTKCk7ZlMoKTtWRz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RhdGVQYXJ0TWFwPXt9LHRoaXMucGVuZGluZ1N0YXRlUGFydENyZWF0aW9uPW5ldyBNYXB9YXN5bmMgZ2V0U3RhdGVQYXJ0KHQscixhPSJzb2Z0Iil7bGV0IGk9dGhpcy5wZW5kaW5nU3RhdGVQYXJ0Q3JlYXRpb24uZ2V0KHQpO2lmKGkpcmV0dXJuIGk7bGV0IG49dGhpcy5zdGF0ZVBhcnRNYXBbdF07aWYobilzd2l0Y2goYSl7Y2FzZSJtYW5kYXRvcnkiOnRocm93IG5ldyBFcnJvcihgU3RhdGUgcGFydCAnJHt0fScgYWxyZWFkeSBleGlzdHMsIGJ1dCBpbml0TW9kZSBpcyAnbWFuZGF0b3J5J2ApO2Nhc2UiZm9yY2UiOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIG59ZWxzZSBpZighcil0aHJvdyBuZXcgRXJyb3IoYFN0YXRlIHBhcnQgJyR7dH0nIGRvZXMgbm90IGV4aXN0IGFuZCBubyBpbml0aWFsIHN0YXRlIHByb3ZpZGVkYCk7bGV0IHM9dGhpcy5jcmVhdGVTdGF0ZVBhcnQodCxyLGEpO3RoaXMucGVuZGluZ1N0YXRlUGFydENyZWF0aW9uLnNldCh0LHMpO3RyeXtyZXR1cm4gYXdhaXQgc31maW5hbGx5e3RoaXMucGVuZGluZ1N0YXRlUGFydENyZWF0aW9uLmRlbGV0ZSh0KX19YXN5bmMgY3JlYXRlU3RhdGVQYXJ0KHQscixhPSJzb2Z0Iil7bGV0IGk9bmV3IHU3KHQsYT09PSJwZXJzaXN0ZW50Ij97ZGJOYW1lOiJzbWFydHN0YXRlIixzdG9yZU5hbWU6dH06bnVsbCk7YXdhaXQgaS5pbml0KCk7bGV0IG49aS5nZXRTdGF0ZSgpO3JldHVybiBhPT09InBlcnNpc3RlbnQiJiZuIT09dm9pZCAwP2F3YWl0IGkuc2V0U3RhdGUoey4uLnIsLi4ubn0pOmF3YWl0IGkuc2V0U3RhdGUociksdGhpcy5zdGF0ZVBhcnRNYXBbdF09aSxpfX19KTt2YXIgVjA9e307UmUoVjAse1NtYXJ0c3RhdGU6KCk9PlZHLFN0YXRlQWN0aW9uOigpPT5kNyxTdGF0ZVBhcnQ6KCk9PnU3fSk7dmFyIFVHPWYoKCk9PntvRGUoKTtmUygpO2pHKCl9KTt2YXIgbERlPWYoKCk9Pnt9KTt2YXIgV0csY0RlPWYoKCk9PntsRGUoKTtXRz1jbGFzcyBle3N0YXRpYyBjcmVhdGVGcm9tVXJsKHQscil7bGV0IGE9bmV3IFVSTCh0KSxpPXt9LG49W107YS5zZWFyY2gmJmEuc2VhcmNoLnJlcGxhY2UoIj8iLCIiKS5zcGxpdCgiJiIpLm1hcChsPT57bi5wdXNoKHtrZXk6bC5zcGxpdCgiPSIpWzBdLHZhbHVlOmwuc3BsaXQoIj0iKVsxXX0pfSk7Zm9yKGxldCBsIG9mIG4paVtsLmtleV09bC52YWx1ZTtpZihyPy5zZWFyY2hQYXJhbXMpZm9yKGxldCBsIG9mIE9iamVjdC5rZXlzKHIuc2VhcmNoUGFyYW1zKSlpW2xdPXIuc2VhcmNoUGFyYW1zW2xdO2xldCBzPWEucGF0aG5hbWV8fCIiO2lmKE9iamVjdC5rZXlzKGkpLmxlbmd0aD4wKXtzKz0iPyI7bGV0IGw9ITA7Zm9yKGxldCB1IG9mIE9iamVjdC5rZXlzKGkpKWw/bD0hMTpzKz0iJiIscys9YCR7dX09JHtpW3VdfWB9bGV0IG89ey4uLmEsaHJlZjphLmhyZWYsb3JpZ2luOmEub3JpZ2luLHByb3RvY29sOmEucHJvdG9jb2wsdXNlcm5hbWU6YS51c2VybmFtZSxwYXNzd29yZDphLnBhc3N3b3JkLGhvc3Q6YS5ob3N0LGhvc3RuYW1lOmEuaG9zdG5hbWUscG9ydDphLnBvcnQscGF0aDpzLHBhdGhuYW1lOmEucGF0aG5hbWUsc2VhcmNoOmEuc2VhcmNoLHNlYXJjaFBhcmFtczppLGhhc2g6YS5oYXNofTshby5wb3J0JiZvLnByb3RvY29sPT09Imh0dHBzOiImJihvLnBvcnQ9IjQ0MyIpLCFvLnBvcnQmJm8ucHJvdG9jb2w9PT0iaHR0cDoiJiYoby5wb3J0PSI4MCIpO2xldCBjPW5ldyBlO3JldHVybiBPYmplY3QuYXNzaWduKGMsbyksY31zdGF0aWMgY3JlYXRlRnJvbVBhcnNlZFVybCh0KXtsZXQgcj1uZXcgZTtyZXR1cm4gT2JqZWN0LmFzc2lnbihyLHQpLHJ9Y29uc3RydWN0b3IoKXt0aGlzLnNlYXJjaFBhcmFtcz17fX1jbG9uZSgpe2xldCB0PW5ldyBlO3JldHVybiBPYmplY3QuYXNzaWduKHQsdGhpcyksdC5zZWFyY2hQYXJhbXM9ey4uLnRoaXMuc2VhcmNoUGFyYW1zfSx0fXNldCh0LHIpe3JldHVybiB0aGlzW3RdPXIsdGhpc310b1N0cmluZygpe2xldCB0PSIiO3JldHVybiB0aGlzLnVzZXJuYW1lJiYhdGhpcy5wYXNzd29yZCYmKHQ9YCR7dGhpcy51c2VybmFtZX1AYCksdGhpcy51c2VybmFtZSYmdGhpcy5wYXNzd29yZCYmKHQ9YCR7dGhpcy51c2VybmFtZX06JHt0aGlzLnBhc3N3b3JkfUBgKSxgJHt0aGlzLnByb3RvY29sfS8vJHt0fSR7dGhpcy5ob3N0bmFtZX06JHt0aGlzLnBvcnR9JHt0aGlzLnBhdGh9YH19fSk7dmFyIFUwPXt9O1JlKFUwLHtTbWFydHVybDooKT0+V0d9KTt2YXIgR0c9ZigoKT0+e2NEZSgpfSk7dmFyIGREZT1mKCgpPT57dDIoKTt4NSgpO0M1KCk7bG4oKTtnbSgpfSk7dmFyIFpHPXt9O1JlKFpHLHtXZWJSZXF1ZXN0OigpPT5ZR30pO3ZhciBZRyx1RGU9ZigoKT0+e2REZSgpO1lHPWNsYXNze2NvbnN0cnVjdG9yKHQ9e30pe3RoaXMub3B0aW9uc0FyZz10LHRoaXMuY2FjaGVTdG9yZT1uZXcgVm4uV2ViU3RvcmUoe2RiTmFtZToid2VicmVxdWVzdCIsc3RvcmVOYW1lOiJ3ZWJyZXF1ZXN0In0pLHRoaXMub3B0aW9ucz17bG9nZ2luZzohMCwuLi50fX1hc3luYyBnZXRKc29uKHQscj0hMSl7bGV0IGk9YXdhaXQoYXdhaXQgdGhpcy5yZXF1ZXN0KHQse21ldGhvZDoiR0VUIix1c2VDYWNoZTpyfSkpLnRleHQoKTtyZXR1cm4gd2EucGFyc2UoaSl9YXN5bmMgcG9zdEpzb24odCxyLGE9ITEpe2xldCBuPWF3YWl0KGF3YWl0IHRoaXMucmVxdWVzdCh0LHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTp3YS5zdHJpbmdpZnkociksdXNlQ2FjaGU6YX0pKS50ZXh0KCk7cmV0dXJuIHdhLnBhcnNlKG4pfWFzeW5jIHB1dEpzb24odCxyLGE9ITEpe2xldCBuPWF3YWl0KGF3YWl0IHRoaXMucmVxdWVzdCh0LHttZXRob2Q6IlBVVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OndhLnN0cmluZ2lmeShyKX0pKS50ZXh0KCk7cmV0dXJuIHdhLnBhcnNlKG4pfWFzeW5jIGRlbGV0ZUpzb24odCxyPSExKXtsZXQgaT1hd2FpdChhd2FpdCB0aGlzLnJlcXVlc3QodCx7aGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IkdFVCJ9KSkudGV4dCgpO3JldHVybiB3YS5wYXJzZShpKX1hc3luYyByZXF1ZXN0KHQscil7cj17dGltZW91dE1zOjZlNCx1c2VDYWNoZTohMSwuLi5yfTtsZXQgYT1uZXcgQWJvcnRDb250cm9sbGVyO1R0LmRlbGF5Rm9yKHIudGltZW91dE1zKS50aGVuKCgpPT57YS5hYm9ydCgpfSk7bGV0IGk9SmUuZGVmZXIoKSxuPSExO2lmKHIudXNlQ2FjaGUmJmF3YWl0IHRoaXMuY2FjaGVTdG9yZS5jaGVjayh0KSl7bGV0IG89YXdhaXQgdGhpcy5jYWNoZVN0b3JlLmdldCh0KTtpLnJlc29sdmUobmV3IFJlc3BvbnNlKG8se30pKX1lbHNlIGkucmVzb2x2ZShudWxsKTtsZXQgcz1hd2FpdCBmZXRjaCh0LHtzaWduYWw6YS5zaWduYWwsbWV0aG9kOnIubWV0aG9kLGhlYWRlcnM6ey4uLnIuaGVhZGVyc3x8e319LGJvZHk6ci5ib2R5fSkuY2F0Y2goYXN5bmMgbz0+ci51c2VDYWNoZSYmYXdhaXQgaS5wcm9taXNlPyhuPSEwLGkucHJvbWlzZSk6byk7aWYoci51c2VDYWNoZSYmYXdhaXQgaS5wcm9taXNlJiZzLnN0YXR1cz09PTUwMCYmKG49ITAscz1hd2FpdCBpLnByb21pc2UpLCFuJiZyLnVzZUNhY2hlJiZzLnN0YXR1czwzMDApe2xldCBvPWF3YWl0IHMuY2xvbmUoKS5hcnJheUJ1ZmZlcigpO2F3YWl0IHRoaXMuY2FjaGVTdG9yZS5zZXQodCxvKX1yZXR1cm4gdGhpcy5sb2coYCR7dH0gYW5zd2VycyB3aXRoIHN0YXR1czogJHtzLnN0YXR1c31gKSxzfWFzeW5jIHJlcXVlc3RNdWx0aUVuZHBvaW50KHQscil7bGV0IGEsaT0wO0FycmF5LmlzQXJyYXkodCk/YT10OmE9W3RdO2xldCBuPVtdLHM9YXN5bmMgbD0+e24ucHVzaChsKSxsPT09IjQyOSImJihjb25zb2xlLmxvZygiZ290IDQyOSwgc28gd2FpdGluZyBhIGxpdHRsZSBiaXQuIiksYXdhaXQgVHQuZGVsYXlGb3IoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMDEpKzFlMykpO2xldCB1PTA7Zm9yKGxldCBkIG9mIG4pZD09PWwmJnUrKzt1PjIqYS5sZW5ndGgqaSYmaSsrfSxvPWFzeW5jIGw9PntpZighbCl0aHJvdyBuZXcgRXJyb3IoInJlcXVlc3QgZmFpbGVkIHBlcm1hbmVudGx5Iik7dGhpcy5sb2coYEdldHRpbmcgJHtsfSB3aXRoIG1ldGhvZCAke3IubWV0aG9kfWApO2xldCB1PWF3YWl0IGZldGNoKGwse21ldGhvZDpyLm1ldGhvZCxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsLi4uci5oZWFkZXJzfHx7fX0sYm9keTpyLmJvZHl9KTtyZXR1cm4gdGhpcy5sb2coYCR7bH0gYW5zd2VycyB3aXRoIHN0YXR1czogJHt1LnN0YXR1c31gKSx1LnN0YXR1cz49MjAwJiZ1LnN0YXR1czwzMDA/dTooYXdhaXQgcyh1LnN0YXR1cy50b1N0cmluZygpKSxhd2FpdCBvKGFbaV0pKX07cmV0dXJuIGF3YWl0IG8oYVtpXSl9bG9nKHQpe3RoaXMub3B0aW9ucy5sb2dnaW5nJiZjb25zb2xlLmxvZyh0KX19fSk7dmFyIGhTLE1kLG1TPWYoKCk9PntoUz1jbGFzc3tjbGFpbSgpe2lmKHRoaXMuY2xhaW1lZCl0aHJvdyBuZXcgRXJyb3IoIkRlZmVycmVkIGFscmVhZHkgY2xhaW1lZCIpO3RoaXMuY2xhaW1lZD0hMH1nZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy5zdG9wcGVkQXQ/dGhpcy5zdG9wcGVkQXQtdGhpcy5zdGFydGVkQXQ6RGF0ZS5ub3coKS10aGlzLnN0YXJ0ZWRBdH1jb25zdHJ1Y3Rvcigpe3RoaXMuY2xhaW1lZD0hMSx0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKHQscik9Pnt0aGlzLnJlc29sdmU9YT0+e3RoaXMuc3RhdHVzPSJmdWxmaWxsZWQiLHRoaXMuc3RvcHBlZEF0PURhdGUubm93KCksdChhKX0sdGhpcy5yZWplY3Q9YT0+e3RoaXMuc3RhdHVzPSJyZWplY3RlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSxyKGEpfSx0aGlzLnN0YXJ0ZWRBdD1EYXRlLm5vdygpLHRoaXMuc3RhdHVzPSJwZW5kaW5nIn0pfX0sTWQ9KCk9Pm5ldyBoU30pO3ZhciBnUyxPX3IscERlPWYoKCk9PnttUygpO2dTPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzPVtdLHRoaXMuZGVmZXJyZWQ9TWQoKSx0aGlzLnByb21pc2U9dGhpcy5kZWZlcnJlZC5wcm9taXNlLHNldFRpbWVvdXQoYXN5bmMoKT0+e2Zvcig7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzLmxlbmd0aD4wOylhd2FpdCB0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMuc2hpZnQoKTt0aGlzLmRlZmVycmVkLnJlc29sdmUoKX0sMCl9YWRkUHJvbWlzZSh0KXt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMucHVzaCh0KX19LE9fcj0oKT0+bmV3IGdTfSk7dmFyIGtkPXt9O1JlKGtkLHtDdW11bGF0aXZlRGVmZXJyZWQ6KCk9PmdTLERlZmVycmVkOigpPT5oUyxjdW11bGF0aXZlRGVmZXI6KCk9Pk9fcixkZWZlcjooKT0+TWQsZ2V0Rmlyc3RUcnVlT3JGYWxzZTooKT0+al9yLG1hcDooKT0+SF9yLHJlamVjdGVkUHJvbWlzZTooKT0+Ql9yLHJlc29sdmVkUHJvbWlzZTooKT0+Ul9yLHRpbWVvdXRBbmRDb250aW51ZTooKT0+cV9yLHRpbWVvdXRXcmFwOigpPT5mRGV9KTt2YXIgUl9yLEJfcixIX3IsZkRlLHFfcixqX3IsWEc9ZigoKT0+e21TKCk7cERlKCk7bVMoKTtSX3I9ZT0+UHJvbWlzZS5yZXNvbHZlKGUpLEJfcj1lPT5Qcm9taXNlLnJlamVjdChlKSxIX3I9YXN5bmMoZSx0KT0+e2xldCByPVtdLGE9W107Zm9yKGxldCBpIG9mIGUpe2xldCBuPXQoaSk7ci5wdXNoKG4pLG4udGhlbihzPT57YS5wdXNoKHMpfSl9cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKHIpLGF9LGZEZT1hc3luYyhlLHQscj0hMCk9Pm5ldyBQcm9taXNlKChhLGkpPT57c2V0VGltZW91dCgoKT0+e3I/aShuZXcgRXJyb3IoInRpbWVvdXQiKSk6YShudWxsKX0sdCksZS50aGVuKGEsaSl9KSxxX3I9YXN5bmMoZSx0PTZlNCk9PmZEZShlLHQsITEpLGpfcj1hc3luYyBlPT57bGV0IHQ9TWQoKTtmb3IobGV0IHIgb2YgZSlyLnRoZW4oYT0+e2E9PT0hMCYmdC5yZXNvbHZlKCEwKX0pO3JldHVybiBQcm9taXNlLmFsbChlKS50aGVuKCgpPT57dC5yZXNvbHZlKCExKX0pLHQucHJvbWlzZX19KTt2YXIgUUc9e307UmUoUUcse1RpbWVvdXQ6KCk9PmJTLGRlbGF5Rm9yOigpPT5oRGUsZGVsYXlGb3JSYW5kb206KCk9PlZfcn0pO3ZhciBoRGUsVl9yLGJTLG1EZT1mKCgpPT57WEcoKTtoRGU9YXN5bmMoZSx0LHI9ITEpPT4oYXdhaXQgbmV3IGJTKGUsbnVsbCxyKS5wcm9taXNlLHQpLFZfcj1hc3luYyhlLHQscixhPSExKT0+KGF3YWl0IGhEZShNYXRoLnJhbmRvbSgpKih0LWUpK2UsbnVsbCxhKSxyKSxiUz1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIsYT0hMSl7dGhpcy5fY2FuY2VsbGVkPSExLHRoaXMudGltZW91dEluTWlsbGlzPXQsdGhpcy5fZGVmZXJyZWQ9TWQoKSx0aGlzLnByb21pc2U9dGhpcy5fZGVmZXJyZWQucHJvbWlzZSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLl9jYW5jZWxsZWR8fHRoaXMuX2RlZmVycmVkLnJlc29sdmUocil9LHQpLHRoaXMuc3RhcnRlZD1EYXRlLm5vdygpLGEmJnRoaXMubWFrZVVucmVmZWQoKX1tYWtlVW5yZWZlZCgpe3RoaXMuX3RpbWVvdXQudW5yZWYoKX1jYW5jZWwoKXt0aGlzLl9jYW5jZWxsZWQ9ITAsY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpfWdldFRpbWVMZWZ0KCl7bGV0IHQ9dGhpcy5zdGFydGVkK3RoaXMudGltZW91dEluTWlsbGlzLURhdGUubm93KCk7cmV0dXJuIHQ+MD90OjB9fX0pO3ZhciBnRGU9ZigoKT0+e30pO3ZhciB2Uz1mKCgpPT57QzIoKX0pO3ZhciB4Uz1mKCgpPT57QzIoKTtDMigpfSk7dmFyIGJEZT1mKCgpPT57QzIoKX0pO3ZhciB2RGU9ZigoKT0+e30pO3ZhciB4RGU9ZigoKT0+e0MyKCl9KTt2YXIgeURlPWYoKCk9PntDMigpfSk7dmFyIHdEZT1mKCgpPT57fSk7dmFyIE1EZT1mKCgpPT57fSk7dmFyIEpHPXt9O3ZhciB5Uz1mKCgpPT57YkRlKCk7dkRlKCk7eERlKCk7eURlKCk7d0RlKCk7TURlKCl9KTt2YXIgS0csa0RlPWYoKCk9Pnt5UygpO3ZTKCk7eFMoKTtLRz1jbGFzc3t9fSk7dmFyIFNEZT1mKCgpPT57fSk7dmFyIHpEZT1mKCgpPT57fSk7dmFyIENEZT1mKCgpPT57fSk7dmFyIFREZT1mKCgpPT57fSk7dmFyIGVZPXt9O3ZhciB0WT1mKCgpPT57U0RlKCk7ekRlKCk7Q0RlKCk7VERlKCl9KTt2YXIgX0RlPWYoKCk9PntyWSgpO3lTKCk7dFkoKX0pO3ZhciBMRGU9ZigoKT0+e30pO3ZhciAkRGU9ZigoKT0+e3hTKCl9KTt2YXIgRERlPWYoKCk9Pnt9KTt2YXIgd1M9e307UmUod1Mse0lKb2I6KCk9PktHfSk7dmFyIHJZPWYoKCk9PntnRGUoKTt2UygpO3hTKCk7a0RlKCk7X0RlKCk7TERlKCk7JERlKCk7RERlKCl9KTt2YXIgQURlPWYoKCk9Pnt9KTt2YXIgRURlPWYoKCk9Pnt9KTt2YXIgYVk9e307dmFyIElEZT1mKCgpPT57QURlKCk7RURlKCl9KTt2YXIgUERlPWYoKCk9Pnt9KTt2YXIgTkRlPWYoKCk9Pnt9KTt2YXIgaVk9e307dmFyIEZEZT1mKCgpPT57UERlKCk7TkRlKCl9KTt2YXIgblk9ZigoKT0+e0MyKCl9KTt2YXIgT0RlPWYoKCk9PntDMigpfSk7dmFyIFJEZT1mKCgpPT57blkoKX0pO3ZhciBzWT17fTt2YXIgQkRlPWYoKCk9PntuWSgpO09EZSgpO1JEZSgpfSk7dmFyIEhEZT1mKCgpPT57fSk7dmFyIHFEZT1mKCgpPT57fSk7dmFyIG9ZPXt9O3ZhciBqRGU9ZigoKT0+e0hEZSgpO3FEZSgpfSk7dmFyIGxZPWYoKCk9Pnt9KTt2YXIgY1ksVkRlPWYoKCk9PntsWSgpO2NZPWNsYXNze319KTt2YXIgVURlPWYoKCk9Pnt9KTt2YXIgV0RlPWYoKCk9Pnt9KTt2YXIgR0RlPWYoKCk9Pnt9KTt2YXIgWURlPWYoKCk9Pnt9KTt2YXIgWkRlPWYoKCk9Pnt9KTt2YXIgWERlPWYoKCk9Pnt9KTt2YXIgUURlPWYoKCk9Pnt9KTt2YXIgSkRlPWYoKCk9Pnt9KTt2YXIgS0RlPWYoKCk9Pnt9KTt2YXIgTVM9e307UmUoTVMse0lDbmFtZURlc2NyaXB0b3I6KCk9PmNZfSk7dmFyIGVBZT1mKCgpPT57bFkoKTtWRGUoKTtVRGUoKTtXRGUoKTtHRGUoKTtZRGUoKTtaRGUoKTtYRGUoKTtRRGUoKTtKRGUoKTtLRGUoKX0pO3ZhciBkWT1mKCgpPT57dlMoKX0pO3ZhciB0QWU9ZigoKT0+e2RZKCl9KTt2YXIgdVk9e307dmFyIHJBZT1mKCgpPT57dEFlKCk7ZFkoKX0pO3ZhciBwWT17fTt2YXIgYUFlPWYoKCk9Pnt9KTt2YXIgaUFlPWYoKCk9Pnt9KTt2YXIgbkFlPWYoKCk9Pnt9KTt2YXIgc0FlPWYoKCk9Pnt9KTt2YXIgZlk9e307dmFyIG9BZT1mKCgpPT57aUFlKCk7bkFlKCk7c0FlKCl9KTt2YXIgbEFlPWYoKCk9Pnt9KTt2YXIgaFk9e307UmUoaFkse2J1c2luZXNzOigpPT53Uyxjb2RlOigpPT5hWSxjb250YWluZXI6KCk9PmlZLGNvbnRlbnQ6KCk9PnNZLGRhdGFiYXNlOigpPT5lWSxmaW5hbmNlOigpPT5KRyxnZW5lcmFsOigpPT5vWSxuZXR3b3JrOigpPT5NUyxzYWFzOigpPT51WSxzdG9yYWdlOigpPT5wWSx3ZWJzaXRlOigpPT5mWX0pO3ZhciBDMj1mKCgpPT57clkoKTtJRGUoKTtGRGUoKTt0WSgpO3lTKCk7QkRlKCk7akRlKCk7ZUFlKCk7ckFlKCk7YUFlKCk7b0FlKCk7bEFlKCl9KTt2YXIgVmw9ZigoKT0+e21EZSgpO1hHKCk7QzIoKX0pO3ZhciBrUz1mKCgpPT57VmwoKX0pO3ZhciBXMCxwNz1mKCgpPT57VmwoKTtXMD1jbGFzc3thcHBlbmRUb0RvbSgpeyF0aGlzLmVsZW1lbnRSZWYucGFyZW50RWxlbWVudCYmIXRoaXMuZWxlbWVudFJlZi5wYXJlbnROb2RlJiZkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudFJlZil9cmVtb3ZlRnJvbURvbSgpe3RoaXMuZWxlbWVudFJlZi5wYXJlbnRFbGVtZW50P3RoaXMuZWxlbWVudFJlZi5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudFJlZik6dGhpcy5lbGVtZW50UmVmLnBhcmVudE5vZGUmJnRoaXMuZWxlbWVudFJlZi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudFJlZil9fX0pO3ZhciBTZCxTUz1mKCgpPT57VmwoKTtrUygpO3A3KCk7U2Q9Y2xhc3MgZSBleHRlbmRzIFcwe3N0YXRpYyBjcmVhdGVDb21wYW55SnNvbkxkKHQpe2xldCByPXsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAdHlwZSI6IkNvcnBvcmF0aW9uIixuYW1lOnQubmFtZSxhbHRlcm5hdGVOYW1lOnQubmFtZS5yZXBsYWNlKCIgR21iSCIsIiIpLHVybDp0LmNvbnRhY3Qud2Vic2l0ZSxsb2dvOnQuY29udGFjdC5sb2dvVXJsLGNvbnRhY3RQb2ludDp7IkB0eXBlIjoiQ29udGFjdFBvaW50Iix0ZWxlcGhvbmU6dC5jb250YWN0LnBob25lLGNvbnRhY3RUeXBlOiJjdXN0b21lciBzZXJ2aWNlIixhcmVhU2VydmVkOiJERSIsYXZhaWxhYmxlTGFuZ3VhZ2U6WyJlbiIsIkdlcm1hbiJdfSxzYW1lQXM6W119O3JldHVybiB0LmNvbnRhY3QuZmFjZWJvb2tVcmwmJnIuc2FtZUFzLnB1c2godC5jb250YWN0LmZhY2Vib29rVXJsKSx0LmNvbnRhY3QudHdpdHRlclVybCYmci5zYW1lQXMucHVzaCh0LmNvbnRhY3QudHdpdHRlclVybCksbmV3IGUocil9c3RhdGljIGNyZWF0ZU5ld3NBcnRpY2xlSnNvbkxkKHQpe2xldCByPXsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAdHlwZSI6Ik5ld3NBcnRpY2xlIixtYWluRW50aXR5T2ZQYWdlOnsiQHR5cGUiOiJXZWJQYWdlIiwiQGlkIjp3aW5kb3cubG9jYXRpb24uaHJlZn0saGVhZGxpbmU6IkFydGljbGUgaGVhZGxpbmUiLGltYWdlOlt0LmZlYXR1cmVkSW1hZ2VVcmxdLGRhdGVQdWJsaXNoZWQ6bmV3IERhdGUodC50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCksZGF0ZU1vZGlmaWVkOm5ldyBEYXRlKHQudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGF1dGhvcjp7IkB0eXBlIjoiUGVyc29uIixuYW1lOmAke3QuYXV0aG9yLmZpcnN0TmFtZX0gJHt0LmF1dGhvci5zdXJOYW1lfWB9LHB1Ymxpc2hlcjp7IkB0eXBlIjoiT3JnYW5pemF0aW9uIixuYW1lOnQuYXV0aG9yLnN1ck5hbWUsbG9nbzp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLHVybDp0LmF1dGhvci5zdXJOYW1lfX0sZGVzY3JpcHRpb246dC5hdXRob3IuZmlyc3ROYW1lfTtyZXR1cm4gbmV3IGUocil9c3RhdGljIGNyZWF0ZVByb2R1Y3RKc29uTGQodCxyKXtsZXQgYT17IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJTb2Z0d2FyZUFwcGxpY2F0aW9uIixuYW1lOnQubmFtZSxkZXNjcmlwdGlvbjp0LmRlc2NyaXB0aW9uLG9wZXJhdGluZ1N5c3RlbTp0Lm9zLGFwcGxpY2F0aW9uQ2F0ZWdvcnk6dC5jYXRlZ29yeSxvZmZlcnM6eyJAdHlwZSI6Ik9mZmVyIixuYW1lOiJVc2VyLWJhc2VkIFBsYW4iLHByaWNlU3BlY2lmaWNhdGlvbjp7IkB0eXBlIjoiUHJvcGVydHlWYWx1ZVNwZWNpZmljYXRpb24iLHZhbHVlTmFtZToiTnVtYmVyIG9mIFVzZXJzIix2YWx1ZVJlcXVpcmVkOiEwLHByaWNlOiI0Ljk5IixwcmljZUN1cnJlbmN5OiJFVVIifX0scHVibGlzaGVyOnRoaXMuY3JlYXRlQ29tcGFueUpzb25MZChyKS5lbGVtZW50UmVmLnRleHRDb250ZW50LHNjcmVlbnNob3Q6Imh0dHBzOi8vd3d3LnNvY2lhbC5pby9zY3JlZW5zaG90LnBuZyIsdXJsOiJodHRwczovL3d3dy5zb2NpYWwuaW8vIn07cmV0dXJuIG5ldyBlKGEpfWNvbnN0cnVjdG9yKHQpe3N1cGVyKCk7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ci50eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIixyLnRleHQ9SlNPTi5zdHJpbmdpZnkodCksdGhpcy5lbGVtZW50UmVmPXJ9fX0pO3ZhciBXbix6Uz1mKCgpPT57VmwoKTtwNygpO1duPWNsYXNzIGUgZXh0ZW5kcyBXMHtzdGF0aWMgY3JlYXRlTmV3c0FydGljbGVPZ1RhZ3ModCl7bGV0IHI9W107cmV0dXJuIHIucHVzaChuZXcgZSgib2c6dXJsIix0LnVybCkpLHIucHVzaChuZXcgZSgib2c6dGl0bGUiLHQudGl0bGUpKSxyLnB1c2gobmV3IGUoIm9nOmRlc2NyaXB0aW9uIix0LmNvbnRlbnQpKSxyLnB1c2gobmV3IGUoIm9nOmltYWdlIix0LmZlYXR1cmVkSW1hZ2VVcmwpKSxyfXN0YXRpYyBjcmVhdGVQcm9kdWN0T2dUYWdzKHQpe2xldCByPVtdO3JldHVybiByLnB1c2gobmV3IGUoIm9nOnVybCIsZ2xvYmFsVGhpcy5sb2NhdGlvbi5ocmVmKSksci5wdXNoKG5ldyBlKCJvZzp0aXRsZSIsYCR7dC5uYW1lfSAtICR7dC5zbG9nYW59YCkpLHIucHVzaChuZXcgZSgib2c6c2l0ZV9uYW1lIix0Lm5hbWUpKSxyLnB1c2gobmV3IGUoIm9nOmRlc2NyaXB0aW9uIix0LmRlc2NyaXB0aW9uKSksci5wdXNoKG5ldyBlKCJvZzppbWFnZSIsdC5sb2dvTGluaykpLHJ9Y29uc3RydWN0b3IodCxyKXtzdXBlcigpO2xldCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm1ldGEiKTthLnNldEF0dHJpYnV0ZSgicHJvcGVydHkiLHQpLGEuY29udGVudD1yLHRoaXMuZWxlbWVudFJlZj1hfX19KTt2YXIgbnAsbVk9ZigoKT0+e3A3KCk7U1MoKTt6UygpO2dZKCk7VmwoKTtucD1jbGFzc3tzZXQgdGl0bGUodCl7dGhpcy50aXRsZVN0b3JlPXQsdGhpcy5zdGF0ZT09PSJlbmFibGVkIiYmKGRvY3VtZW50LnRpdGxlPXRoaXMudGl0bGVTdG9yZSl9Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMudGl0bGVTdG9yZX1jb25zdHJ1Y3Rvcih0LHIpe3RoaXMudGFncz1bXSx0aGlzLnN0YXRlPSJkaXNhYmxlZCIsdGhpcy50YWdNYW5hZ2VyUmVmPXR9YWRkVGFnKHQpe2lmKHQgaW5zdGFuY2VvZiBBcnJheSlmb3IobGV0IHIgb2YgdCl0aGlzLmFkZFRhZyhyKTtlbHNlIHRoaXMudGFncy5wdXNoKHQpLHRoaXMuc3RhdGU9PT0iZW5hYmxlZCImJnQuYXBwZW5kVG9Eb20oKX1hc3luYyBhZGRDb21wYW55SW5mbyh0KXt0aGlzLmFkZFRhZyhTZC5jcmVhdGVDb21wYW55SnNvbkxkKHQpKSx0aGlzLmFkZFRhZyhuZXcgV24oIm9nOnR5cGUiLCJidXNpbmVzcy5idXNpbmVzcyIpKSx0aGlzLmFkZFRhZyhuZXcgV24oIm9nOnRpdGxlIix0Lm5hbWUpKSx0aGlzLmFkZFRhZyhuZXcgV24oIm9nOnVybCIsdC5jb250YWN0LndlYnNpdGUpKSx0aGlzLmFkZFRhZyhuZXcgV24oIm9nOmltYWdlIix0LmNvbnRhY3QubG9nb1VybCkpLHRoaXMuYWRkVGFnKG5ldyBXbigiYnVzaW5lc3M6Y29udGFjdF9kYXRhOnN0cmVldF9hZGRyZXNzIixgJHt0LmNvbnRhY3QuYWRkcmVzcy5zdHJlZXROYW1lfSAke3QuY29udGFjdC5hZGRyZXNzLmhvdXNlTnVtYmVyfWApKSx0aGlzLmFkZFRhZyhuZXcgV24oImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpsb2NhbGl0eSIsdC5jb250YWN0LmFkZHJlc3MucG9zdGFsQ29kZSkpLHRoaXMuYWRkVGFnKG5ldyBXbigiYnVzaW5lc3M6Y29udGFjdF9kYXRhOnJlZ2lvbiIsdC5jb250YWN0LmFkZHJlc3MuY2l0eSkpLHRoaXMuYWRkVGFnKG5ldyBXbigiYnVzaW5lc3M6Y29udGFjdF9kYXRhOnBvc3RhbF9jb2RlIix0LmNvbnRhY3QuYWRkcmVzcy5wb3N0YWxDb2RlKSksdGhpcy5hZGRUYWcobmV3IFduKCJidXNpbmVzczpjb250YWN0X2RhdGE6Y291bnRyeV9uYW1lIix0LmNvbnRhY3QuYWRkcmVzcy5jb3VudHJ5KSl9YWRkTmV3c0FydGljbGVJbmZvKHQpe3RoaXMuYWRkVGFnKFNkLmNyZWF0ZU5ld3NBcnRpY2xlSnNvbkxkKHQpKSx0aGlzLmFkZFRhZyhXbi5jcmVhdGVOZXdzQXJ0aWNsZU9nVGFncyh0KSl9YWRkUHJvZHVjdEluZm8odCxyKXt0aGlzLmFkZFRhZyhTZC5jcmVhdGVQcm9kdWN0SnNvbkxkKHQscikpLHRoaXMuYWRkVGFnKFduLmNyZWF0ZVByb2R1Y3RPZ1RhZ3ModCkpfWFzeW5jIGVuYWJsZSgpe3RoaXMudGl0bGUmJihkb2N1bWVudC50aXRsZT10aGlzLnRpdGxlKTtmb3IobGV0IHQgb2YgdGhpcy50YWdzKXQuYXBwZW5kVG9Eb20oKTt0aGlzLnN0YXRlPSJlbmFibGVkIn1hc3luYyBkaXNhYmxlKCl7Zm9yKGxldCB0IG9mIHRoaXMudGFncyl0LnJlbW92ZUZyb21Eb20oKTt0aGlzLnN0YXRlPSJkaXNhYmxlZCJ9fX0pO3ZhciB2cyxiWT1mKCgpPT57cDcoKTt2cz1jbGFzcyBleHRlbmRzIFcwe2NvbnN0cnVjdG9yKHQscil7c3VwZXIoKTtsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJtZXRhIik7YS5uYW1lPXQsYS5jb250ZW50PXIsdGhpcy5lbGVtZW50UmVmPWF9fX0pO3ZhciBDUyxnWT1mKCgpPT57bVkoKTtWbCgpO2tTKCk7YlkoKTtTUygpO3pTKCk7Q1M9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmdsb2JhbExldmVsPW5ldyBucCh0aGlzLCJnbG9iYWwiKSx0aGlzLmJhc2VMZXZlbD1uZXcgbnAodGhpcywiYmFzZSIpfWFzeW5jIHNldHVwKHQpe3N3aXRjaCh0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgdnMoImdvb2dsZSIsIm5vdHJhbnNsYXRlIikpLHRoaXMuZ2xvYmFsTGV2ZWwuYWRkVGFnKG5ldyB2cygicmV2aXNpdC1hZnRlciIsIjEgZGF5cyIpKSx0LnR3aXR0ZXJIYW5kbGUmJih0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgdnMoInR3aXR0ZXI6Y2FyZCIsInN1bW1hcnlfbGFyZ2VfaW1hZ2UiKSksdGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IHZzKCJ0d2l0dGVyOnNpdGUiLHQudHdpdHRlckhhbmRsZSkpLHRoaXMuZ2xvYmFsTGV2ZWwuYWRkVGFnKG5ldyB2cygidHdpdHRlcjpjcmVhdG9yIix0LnR3aXR0ZXJIYW5kbGUpKSksdGhpcy5iYXNlTGV2ZWwudGl0bGU9dC50aXRsZSx0LmRlc2NyaXB0aW9uJiZ0aGlzLmJhc2VMZXZlbC5hZGRUYWcobmV3IHZzKCJkZXNjcmlwdGlvbiIsdC5kZXNjcmlwdGlvbikpLHQuY2Fub25pY2FsRG9tYWluJiZ0aGlzLmJhc2VMZXZlbC5hZGRUYWcobmV3IHZzKCJjYW5vbmljYWwiLHQuY2Fub25pY2FsRG9tYWluKSksITApe2Nhc2UodC5sZENvbXBhbnkmJiF0LmxkUHJvZHVjdCk6dGhpcy5iYXNlTGV2ZWwuYWRkQ29tcGFueUluZm8odC5sZENvbXBhbnkpO2JyZWFrO2Nhc2UhIXQubGRQcm9kdWN0OnRoaXMuYmFzZUxldmVsLmFkZFByb2R1Y3RJbmZvKHQubGRQcm9kdWN0LHQubGRDb21wYW55KTticmVha31hd2FpdCB0aGlzLmdsb2JhbExldmVsLmVuYWJsZSgpLHRoaXMuYWN0aXZlTGV2ZWw9dGhpcy5iYXNlTGV2ZWwsYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5lbmFibGUoKX1hc3luYyBzZXRTdWJQYWdlTGV2ZWwodCl7bGV0IHI9bmV3IG5wKHRoaXMsInN1YnBhZ2UiKTtyZXR1cm4gci50aXRsZT10LnRpdGxlLHQuZGVzY3JpcHRpb24mJnIuYWRkVGFnKG5ldyB2cygiZGVzY3JpcHRpb24iLHQuZGVzY3JpcHRpb24pKSxhd2FpdCB0aGlzLmFjdGl2ZUxldmVsLmRpc2FibGUoKSx0aGlzLmFjdGl2ZUxldmVsPXIsYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5lbmFibGUoKSxyfWFzeW5jIHJldmVydFRvQmFzZUxldmVsKCl7dGhpcy5hY3RpdmVMZXZlbCE9PXRoaXMuYmFzZUxldmVsJiYoYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5kaXNhYmxlKCksdGhpcy5hY3RpdmVMZXZlbD10aGlzLmJhc2VMZXZlbCxhd2FpdCB0aGlzLmFjdGl2ZUxldmVsLmVuYWJsZSgpKX19fSk7dmFyIGY3LGNBZT1mKCgpPT57VmwoKTtrUygpO2dZKCk7bVkoKTtmNz1jbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLnRhZ01hbmFnZXI9bmV3IENTLHRoaXMucmVhZHlEZWZlcnJlZD1rZC5kZWZlcigpLHRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkPWtkLmRlZmVyKCksdGhpcy5yZWFkeVByb21pc2U9dGhpcy5yZWFkeURlZmVycmVkLnByb21pc2UsdGhpcy5yZWFkeUZvclNtYXJ0c3NyUHJvbWlzZT10aGlzLnJlYWR5Rm9yU21hcnRzc3JEZWZlcnJlZC5wcm9taXNlLHRoaXMub3B0aW9ucz10LHRoaXMuc2V0dXAoKS50aGVuKCgpPT57dGhpcy5yZWFkeURlZmVycmVkLnJlc29sdmUoKSx0aGlzLm9wdGlvbnMuc21hcnRzc3JXYWl0Rm9yUmVhZHlTaWduYWx8fHRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkLnJlc29sdmUoKX0pfWFzeW5jIHNldHVwKHQpe3QmJih0aGlzLm9wdGlvbnM9dCksYXdhaXQgdGhpcy50YWdNYW5hZ2VyLnNldHVwKHRoaXMub3B0aW9ucy5tZXRhT2JqZWN0KX1yZXZlcnRUb0Jhc2VMZXZlbCgpe3RoaXMudGFnTWFuYWdlci5yZXZlcnRUb0Jhc2VMZXZlbCgpfWFzeW5jIHNldFN1YkxldmVsKHQpe3JldHVybiBhd2FpdCB0aGlzLnRhZ01hbmFnZXIuc2V0U3ViUGFnZUxldmVsKHQpfWZsYXNoVGl0bGUodCl7fWluZm9ybVJlYWR5Rm9yU21hcnRzc3IoKXt0aGlzLm9wdGlvbnMuc21hcnRzc3JXYWl0Rm9yUmVhZHlTaWduYWx8fGNvbnNvbGUuZXJyb3IoIllvdSBoYXZlIG5vdCBpbmRpY2F0ZWQgdGhhdCB5b3UgaW5mb3JtIHNtYXJ0c3NyIGJ5IGEgZGVkaWNhdGVkIHNpZ25hbCEgUGxlYXNlIGNvbnNpZGVyIGRvaW5nIHNvISIpLHRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkLnJlc29sdmUoKX19fSk7dmFyIHZZLGRBZT1mKCgpPT57VmwoKTt2WT1jbGFzc3t9fSk7dmFyIHhZPXt9O1JlKHhZLHtKc29uTGRUYWc6KCk9PlNkLE1ldGFUYWc6KCk9PnZzLE9wZW5ncmFwaFRhZzooKT0+V24sVGl0bGU6KCk9PnZZLFdlYlNldHVwOigpPT5mN30pO3ZhciBUUz1mKCgpPT57Y0FlKCk7YlkoKTt6UygpO1NTKCk7ZEFlKCl9KTt2YXIgdUFlLF9TPWYoKCk9Pnt0MigpO1RIKCk7bG4oKTtvbygpO1hxKCk7dUFlPXNyKEpxKCksMSl9KTt2YXIgc3AseVk9ZigoKT0+e19TKCk7c3A9Y2xhc3MgZXtjb25zdHJ1Y3Rvcigpe3RoaXMubWFwT2JqZWN0PXt9fWlzVW5pcXVlS2V5KHQpe3JldHVybiF0aGlzLm1hcE9iamVjdFt0XX1hZGRUb01hcCh0LHIsYSl7cmV0dXJuIHRoaXMuaXNVbmlxdWVLZXkodCl8fGEmJmEuZm9yY2U/KHRoaXMubWFwT2JqZWN0W3RdPXIsITApOiExfWdldEJ5S2V5KHQpe3JldHVybiB0aGlzLm1hcE9iamVjdFt0XX1yZW1vdmVGcm9tTWFwKHQpe2xldCByPXRoaXMuZ2V0QnlLZXkodCk7cmV0dXJuIGRlbGV0ZSB0aGlzLm1hcE9iamVjdFt0XSxyfWdldEtleXMoKXtsZXQgdD1bXTtmb3IobGV0IHIgaW4gdGhpcy5tYXBPYmplY3QpdGhpcy5tYXBPYmplY3Rbcl0mJnQucHVzaChyKTtyZXR1cm4gdH1jbGVhbigpe3RoaXMubWFwT2JqZWN0PXt9fWNvbmNhdCh0KXtsZXQgcj1uZXcgZTtmb3IobGV0IGEgb2YgdGhpcy5nZXRLZXlzKCkpci5hZGRUb01hcChhLHRoaXMuZ2V0QnlLZXkoYSkpO2ZvcihsZXQgYSBvZiB0LmdldEtleXMoKSlyLmFkZFRvTWFwKGEsdC5nZXRCeUtleShhKSx7Zm9yY2U6ITB9KTtyZXR1cm4gcn1hZGRBbGxGcm9tT3RoZXIodCl7Zm9yKGxldCByIG9mIHQuZ2V0S2V5cygpKXRoaXMuYWRkVG9NYXAocix0LmdldEJ5S2V5KHIpLHtmb3JjZTohMH0pfWFzeW5jIGZpbmQodCl7Zm9yKGxldCByIG9mIHRoaXMuZ2V0S2V5cygpKXtsZXQgYT10aGlzLmdldEJ5S2V5KHIpO2lmKGF3YWl0IHQoYSkpcmV0dXJuIGF9fX19KTt2YXIgV19yLExTLGZBZT1mKCgpPT57X1MoKTt5WSgpO1dfcj0oZT0idW5pIik9PmAke2V9eHh4eHh4eHh4eHhgLnJlcGxhY2UoL1t4eV0vZyx0PT57bGV0IHI9TWF0aC5yYW5kb20oKSoxNnwwO3JldHVybih0PT09IngiP3I6ciYzfDgpLnRvU3RyaW5nKDE2KX0pLExTPWNsYXNzIGV7Y29uc3RydWN0b3IoKXt0aGlzLmZhc3RNYXA9bmV3IHNwLHRoaXMuZXZlbnRTdWJqZWN0PW5ldyByci5yeGpzLlN1YmplY3R9YWRkTWFwcGVkVW5pcXVlKHQscil7dGhpcy5mYXN0TWFwLmFkZFRvTWFwKHQscil9Z2V0TWFwcGVkVW5pcXVlKHQpe3JldHVybiB0aGlzLmZhc3RNYXAuZ2V0QnlLZXkodCl9cmVtb3ZlTWFwcGVkVW5pcXVlKHQpe2xldCByPXRoaXMuZ2V0TWFwcGVkVW5pcXVlKHQpfWFkZCh0KXtmb3IobGV0IGEgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlpZih0aGlzLmZhc3RNYXAuZ2V0QnlLZXkoYSk9PT10KXJldHVybiBhO2xldCByPVdfcigia2V5Iik7cmV0dXJuIHRoaXMuYWRkTWFwcGVkVW5pcXVlKHIsdCksdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJhZGQiLHBheWxvYWQ6dH0pLHJ9YWRkQXJyYXkodCl7Zm9yKGxldCByIG9mIHQpdGhpcy5hZGQocil9Y2hlY2tGb3JPYmplY3QodCl7cmV0dXJuISF0aGlzLmdldEtleUZvck9iamVjdCh0KX1nZXRLZXlGb3JPYmplY3QodCl7bGV0IHI9bnVsbDtmb3IobGV0IGEgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlpZighciYmdGhpcy5mYXN0TWFwLmdldEJ5S2V5KGEpPT09dClyPWE7ZWxzZSBjb250aW51ZTtyZXR1cm4gcn1hc3luYyBmaW5kKHQpe3JldHVybiB0aGlzLmZhc3RNYXAuZmluZCh0KX1maW5kU3luYyh0KXtmb3IobGV0IHIgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlpZih0KHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKSkpcmV0dXJuIHRoaXMuZ2V0TWFwcGVkVW5pcXVlKHIpfWFzeW5jIGZpbmRPbmVBbmRSZW1vdmUodCl7bGV0IHI9YXdhaXQgdGhpcy5maW5kKHQpO3JldHVybiByJiZ0aGlzLnJlbW92ZShyKSxyfWZpbmRPbmVBbmRSZW1vdmVTeW5jKHQpe2xldCByPXRoaXMuZmluZFN5bmModCk7cmV0dXJuIHImJnRoaXMucmVtb3ZlKHIpLHJ9YXN5bmMgZm9yRWFjaCh0KXtmb3IobGV0IHIgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlhd2FpdCB0KHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKSl9Z2V0T25lQW5kUmVtb3ZlKCl7bGV0IHQ9dGhpcy5mYXN0TWFwLmdldEtleXMoKTtpZih0Lmxlbmd0aD09PTApcmV0dXJuIG51bGw7e2xldCByPXRbMF0sYT10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcChyKTtyZXR1cm4gdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6YX0pLGF9fWdldEFycmF5KCl7bGV0IHQ9W107Zm9yKGxldCByIG9mIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkpdC5wdXNoKHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKSk7cmV0dXJuIHR9aXNFbXB0eSgpe3JldHVybiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpLmxlbmd0aD09PTB9cmVtb3ZlKHQpe2lmKHRoaXMuY2hlY2tGb3JPYmplY3QodCkpe2xldCByPXRoaXMuZ2V0S2V5Rm9yT2JqZWN0KHQpLGE9dGhpcy5mYXN0TWFwLnJlbW92ZUZyb21NYXAocik7cmV0dXJuIHRoaXMuZXZlbnRTdWJqZWN0Lm5leHQoe29wZXJhdGlvbjoicmVtb3ZlIixwYXlsb2FkOmF9KSxhfXJldHVybiBudWxsfXdpcGUoKXtmb3IobGV0IHQgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSl0aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcCh0KX1jb25jYXQodCl7bGV0IHI9bmV3IGU7cmV0dXJuIHIuZmFzdE1hcC5hZGRBbGxGcm9tT3RoZXIodGhpcy5mYXN0TWFwKSxyLmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKHQuZmFzdE1hcCkscn1hZGRBbGxGcm9tT3RoZXIodCl7dGhpcy5mYXN0TWFwLmFkZEFsbEZyb21PdGhlcih0LmZhc3RNYXApfX19KTt2YXIgJFMsaEFlPWYoKCk9PntfUygpOyRTPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RyaW5nQXJyYXk9W10sdGhpcy5fdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXk9W119YWRkU3RyaW5nKHQpe3RoaXMuX3N0cmluZ0FycmF5LnB1c2godCksdGhpcy5ub3RpZnlUcmlnZ2VyKCl9YWRkU3RyaW5nQXJyYXkodCl7Zm9yKGxldCByIG9mIHQpdGhpcy5hZGRTdHJpbmcocil9cmVtb3ZlU3RyaW5nKHQpe2ZvcihsZXQgciBpbiB0aGlzLl9zdHJpbmdBcnJheSl0aGlzLl9zdHJpbmdBcnJheVtyXT09PXQmJnRoaXMuX3N0cmluZ0FycmF5LnNwbGljZShwYXJzZUludChyKSwxKTt0aGlzLm5vdGlmeVRyaWdnZXIoKX13aXBlKCl7dGhpcy5fc3RyaW5nQXJyYXk9W10sdGhpcy5ub3RpZnlUcmlnZ2VyKCl9Y2hlY2tTdHJpbmcodCl7cmV0dXJuIHRoaXMuX3N0cmluZ0FycmF5LmluZGV4T2YodCkhPT0tMX1jaGVja01pbmltYXRjaCh0KXtsZXQgcj1uZXcgU2wuU21hcnRNYXRjaCh0KSxhPSExO2ZvcihsZXQgaSBvZiB0aGlzLl9zdHJpbmdBcnJheSlyLm1hdGNoKGkpJiYoYT0hMCk7cmV0dXJuIGF9Y2hlY2tJc0VtcHR5KCl7cmV0dXJuIHRoaXMuX3N0cmluZ0FycmF5Lmxlbmd0aD09PTB9Z2V0U3RyaW5nQXJyYXkoKXtsZXQgdD1bXTtmb3IobGV0IHIgb2YgdGhpcy5fc3RyaW5nQXJyYXkpdC5wdXNoKHIpO3JldHVybiB0fXJlZ2lzdGVyVW50aWxUcnVlKHQscil7bGV0IGE9SmUuZGVmZXIoKTtyZXR1cm4gdGhpcy5fdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXkucHVzaCgoKT0+e2xldCBpPXQodGhpcy5nZXRTdHJpbmdBcnJheSgpKTtyZXR1cm4gaT09PSEwJiYociYmcigpLGEucmVzb2x2ZSgpKSxpfSksdGhpcy5ub3RpZnlUcmlnZ2VyKCksYS5wcm9taXNlfW5vdGlmeVRyaWdnZXIoKXtsZXQgdD10aGlzLl90cmlnZ2VyVW50aWxUcnVlRnVuY3Rpb25BcnJheS5maWx0ZXIocj0+IXIoKSk7dGhpcy5fdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXk9dH19fSk7ZnVuY3Rpb24gbUFlKGUsdCxyKXtyZXR1cm4gTWF0aC5tYXgoZSxNYXRoLm1pbih0LHIpKX1mdW5jdGlvbiBZX3IoZSx0LHIpe3JldHVybigxLXIpKmUrcip0fWZ1bmN0aW9uIFpfcihlLHQscixhKXtyZXR1cm4gWV9yKGUsdCwxLU1hdGguZXhwKC1yKmEpKX1mdW5jdGlvbiBYX3IoZSx0KXtyZXR1cm4oZSV0K3QpJXR9ZnVuY3Rpb24gSl9yKGUsdCl7bGV0IHI7cmV0dXJuIGZ1bmN0aW9uKC4uLmEpe2xldCBpPXRoaXM7Y2xlYXJUaW1lb3V0KHIpLHI9c2V0VGltZW91dCgoKT0+e3I9dm9pZCAwLGUuYXBwbHkoaSxhKX0sdCl9fXZhciBHX3IsUV9yLEtfcixnQWUsYkFlLEcwLGVMcix2QWUsaDcseEFlPWYoKCk9PntHX3I9IjEuMy4xNyI7UV9yPWNsYXNze2lzUnVubmluZz0hMTt2YWx1ZT0wO2Zyb209MDt0bz0wO2N1cnJlbnRUaW1lPTA7bGVycDtkdXJhdGlvbjtlYXNpbmc7b25VcGRhdGU7YWR2YW5jZShlKXtpZighdGhpcy5pc1J1bm5pbmcpcmV0dXJuO2xldCB0PSExO2lmKHRoaXMuZHVyYXRpb24mJnRoaXMuZWFzaW5nKXt0aGlzLmN1cnJlbnRUaW1lKz1lO2xldCByPW1BZSgwLHRoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvbiwxKTt0PXI+PTE7bGV0IGE9dD8xOnRoaXMuZWFzaW5nKHIpO3RoaXMudmFsdWU9dGhpcy5mcm9tKyh0aGlzLnRvLXRoaXMuZnJvbSkqYX1lbHNlIHRoaXMubGVycD8odGhpcy52YWx1ZT1aX3IodGhpcy52YWx1ZSx0aGlzLnRvLHRoaXMubGVycCo2MCxlKSxNYXRoLnJvdW5kKHRoaXMudmFsdWUpPT09dGhpcy50byYmKHRoaXMudmFsdWU9dGhpcy50byx0PSEwKSk6KHRoaXMudmFsdWU9dGhpcy50byx0PSEwKTt0JiZ0aGlzLnN0b3AoKSx0aGlzLm9uVXBkYXRlPy4odGhpcy52YWx1ZSx0KX1zdG9wKCl7dGhpcy5pc1J1bm5pbmc9ITF9ZnJvbVRvKGUsdCx7bGVycDpyLGR1cmF0aW9uOmEsZWFzaW5nOmksb25TdGFydDpuLG9uVXBkYXRlOnN9KXt0aGlzLmZyb209dGhpcy52YWx1ZT1lLHRoaXMudG89dCx0aGlzLmxlcnA9cix0aGlzLmR1cmF0aW9uPWEsdGhpcy5lYXNpbmc9aSx0aGlzLmN1cnJlbnRUaW1lPTAsdGhpcy5pc1J1bm5pbmc9ITAsbj8uKCksdGhpcy5vblVwZGF0ZT1zfX07S19yPWNsYXNze2NvbnN0cnVjdG9yKGUsdCx7YXV0b1Jlc2l6ZTpyPSEwLGRlYm91bmNlOmE9MjUwfT17fSl7dGhpcy53cmFwcGVyPWUsdGhpcy5jb250ZW50PXQsciYmKHRoaXMuZGVib3VuY2VkUmVzaXplPUpfcih0aGlzLnJlc2l6ZSxhKSx0aGlzLndyYXBwZXIgaW5zdGFuY2VvZiBXaW5kb3c/d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5kZWJvdW5jZWRSZXNpemUsITEpOih0aGlzLndyYXBwZXJSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5kZWJvdW5jZWRSZXNpemUpLHRoaXMud3JhcHBlclJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy53cmFwcGVyKSksdGhpcy5jb250ZW50UmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMuZGVib3VuY2VkUmVzaXplKSx0aGlzLmNvbnRlbnRSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuY29udGVudCkpLHRoaXMucmVzaXplKCl9d2lkdGg9MDtoZWlnaHQ9MDtzY3JvbGxIZWlnaHQ9MDtzY3JvbGxXaWR0aD0wO2RlYm91bmNlZFJlc2l6ZTt3cmFwcGVyUmVzaXplT2JzZXJ2ZXI7Y29udGVudFJlc2l6ZU9ic2VydmVyO2Rlc3Ryb3koKXt0aGlzLndyYXBwZXJSZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMuY29udGVudFJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCksdGhpcy53cmFwcGVyPT09d2luZG93JiZ0aGlzLmRlYm91bmNlZFJlc2l6ZSYmd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5kZWJvdW5jZWRSZXNpemUsITEpfXJlc2l6ZT0oKT0+e3RoaXMub25XcmFwcGVyUmVzaXplKCksdGhpcy5vbkNvbnRlbnRSZXNpemUoKX07b25XcmFwcGVyUmVzaXplPSgpPT57dGhpcy53cmFwcGVyIGluc3RhbmNlb2YgV2luZG93Pyh0aGlzLndpZHRoPXdpbmRvdy5pbm5lcldpZHRoLHRoaXMuaGVpZ2h0PXdpbmRvdy5pbm5lckhlaWdodCk6KHRoaXMud2lkdGg9dGhpcy53cmFwcGVyLmNsaWVudFdpZHRoLHRoaXMuaGVpZ2h0PXRoaXMud3JhcHBlci5jbGllbnRIZWlnaHQpfTtvbkNvbnRlbnRSZXNpemU9KCk9Pnt0aGlzLndyYXBwZXIgaW5zdGFuY2VvZiBXaW5kb3c/KHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuY29udGVudC5zY3JvbGxIZWlnaHQsdGhpcy5zY3JvbGxXaWR0aD10aGlzLmNvbnRlbnQuc2Nyb2xsV2lkdGgpOih0aGlzLnNjcm9sbEhlaWdodD10aGlzLndyYXBwZXIuc2Nyb2xsSGVpZ2h0LHRoaXMuc2Nyb2xsV2lkdGg9dGhpcy53cmFwcGVyLnNjcm9sbFdpZHRoKX07Z2V0IGxpbWl0KCl7cmV0dXJue3g6dGhpcy5zY3JvbGxXaWR0aC10aGlzLndpZHRoLHk6dGhpcy5zY3JvbGxIZWlnaHQtdGhpcy5oZWlnaHR9fX0sZ0FlPWNsYXNze2V2ZW50cz17fTtlbWl0KGUsLi4udCl7bGV0IHI9dGhpcy5ldmVudHNbZV18fFtdO2ZvcihsZXQgYT0wLGk9ci5sZW5ndGg7YTxpO2ErKylyW2FdPy4oLi4udCl9b24oZSx0KXtyZXR1cm4gdGhpcy5ldmVudHNbZV0/LnB1c2godCl8fCh0aGlzLmV2ZW50c1tlXT1bdF0pLCgpPT57dGhpcy5ldmVudHNbZV09dGhpcy5ldmVudHNbZV0/LmZpbHRlcihyPT50IT09cil9fW9mZihlLHQpe3RoaXMuZXZlbnRzW2VdPXRoaXMuZXZlbnRzW2VdPy5maWx0ZXIocj0+dCE9PXIpfWRlc3Ryb3koKXt0aGlzLmV2ZW50cz17fX19LGJBZT0xMDAvNixHMD17cGFzc2l2ZTohMX0sZUxyPWNsYXNze2NvbnN0cnVjdG9yKGUsdD17d2hlZWxNdWx0aXBsaWVyOjEsdG91Y2hNdWx0aXBsaWVyOjF9KXt0aGlzLmVsZW1lbnQ9ZSx0aGlzLm9wdGlvbnM9dCx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLm9uV2luZG93UmVzaXplLCExKSx0aGlzLm9uV2luZG93UmVzaXplKCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLm9uV2hlZWwsRzApLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLm9uVG91Y2hTdGFydCxHMCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoTW92ZSxHMCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLm9uVG91Y2hFbmQsRzApfXRvdWNoU3RhcnQ9e3g6MCx5OjB9O2xhc3REZWx0YT17eDowLHk6MH07d2luZG93PXt3aWR0aDowLGhlaWdodDowfTtlbWl0dGVyPW5ldyBnQWU7b24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uKGUsdCl9ZGVzdHJveSgpe3RoaXMuZW1pdHRlci5kZXN0cm95KCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5vbldpbmRvd1Jlc2l6ZSwhMSksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLm9uV2hlZWwsRzApLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLm9uVG91Y2hTdGFydCxHMCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoTW92ZSxHMCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLm9uVG91Y2hFbmQsRzApfW9uVG91Y2hTdGFydD1lPT57bGV0e2NsaWVudFg6dCxjbGllbnRZOnJ9PWUudGFyZ2V0VG91Y2hlcz9lLnRhcmdldFRvdWNoZXNbMF06ZTt0aGlzLnRvdWNoU3RhcnQueD10LHRoaXMudG91Y2hTdGFydC55PXIsdGhpcy5sYXN0RGVsdGE9e3g6MCx5OjB9LHRoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHtkZWx0YVg6MCxkZWx0YVk6MCxldmVudDplfSl9O29uVG91Y2hNb3ZlPWU9PntsZXR7Y2xpZW50WDp0LGNsaWVudFk6cn09ZS50YXJnZXRUb3VjaGVzP2UudGFyZ2V0VG91Y2hlc1swXTplLGE9LSh0LXRoaXMudG91Y2hTdGFydC54KSp0aGlzLm9wdGlvbnMudG91Y2hNdWx0aXBsaWVyLGk9LShyLXRoaXMudG91Y2hTdGFydC55KSp0aGlzLm9wdGlvbnMudG91Y2hNdWx0aXBsaWVyO3RoaXMudG91Y2hTdGFydC54PXQsdGhpcy50b3VjaFN0YXJ0Lnk9cix0aGlzLmxhc3REZWx0YT17eDphLHk6aX0sdGhpcy5lbWl0dGVyLmVtaXQoInNjcm9sbCIse2RlbHRhWDphLGRlbHRhWTppLGV2ZW50OmV9KX07b25Ub3VjaEVuZD1lPT57dGhpcy5lbWl0dGVyLmVtaXQoInNjcm9sbCIse2RlbHRhWDp0aGlzLmxhc3REZWx0YS54LGRlbHRhWTp0aGlzLmxhc3REZWx0YS55LGV2ZW50OmV9KX07b25XaGVlbD1lPT57bGV0e2RlbHRhWDp0LGRlbHRhWTpyLGRlbHRhTW9kZTphfT1lLGk9YT09PTE/YkFlOmE9PT0yP3RoaXMud2luZG93LndpZHRoOjEsbj1hPT09MT9iQWU6YT09PTI/dGhpcy53aW5kb3cuaGVpZ2h0OjE7dCo9aSxyKj1uLHQqPXRoaXMub3B0aW9ucy53aGVlbE11bHRpcGxpZXIscio9dGhpcy5vcHRpb25zLndoZWVsTXVsdGlwbGllcix0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix7ZGVsdGFYOnQsZGVsdGFZOnIsZXZlbnQ6ZX0pfTtvbldpbmRvd1Jlc2l6ZT0oKT0+e3RoaXMud2luZG93PXt3aWR0aDp3aW5kb3cuaW5uZXJXaWR0aCxoZWlnaHQ6d2luZG93LmlubmVySGVpZ2h0fX19LHZBZT1lPT5NYXRoLm1pbigxLDEuMDAxLU1hdGgucG93KDIsLTEwKmUpKSxoNz1jbGFzc3tfaXNTY3JvbGxpbmc9ITE7X2lzU3RvcHBlZD0hMTtfaXNMb2NrZWQ9ITE7X3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITE7X3Jlc2V0VmVsb2NpdHlUaW1lb3V0PW51bGw7X3JhZklkPW51bGw7aXNUb3VjaGluZzt0aW1lPTA7dXNlckRhdGE9e307bGFzdFZlbG9jaXR5PTA7dmVsb2NpdHk9MDtkaXJlY3Rpb249MDtvcHRpb25zO3RhcmdldFNjcm9sbDthbmltYXRlZFNjcm9sbDthbmltYXRlPW5ldyBRX3I7ZW1pdHRlcj1uZXcgZ0FlO2RpbWVuc2lvbnM7dmlydHVhbFNjcm9sbDtjb25zdHJ1Y3Rvcih7d3JhcHBlcjplPXdpbmRvdyxjb250ZW50OnQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGV2ZW50c1RhcmdldDpyPWUsc21vb3RoV2hlZWw6YT0hMCxzeW5jVG91Y2g6aT0hMSxzeW5jVG91Y2hMZXJwOm49LjA3NSx0b3VjaEluZXJ0aWFFeHBvbmVudDpzPTEuNyxkdXJhdGlvbjpvLGVhc2luZzpjLGxlcnA6bD0uMSxpbmZpbml0ZTp1PSExLG9yaWVudGF0aW9uOmQ9InZlcnRpY2FsIixnZXN0dXJlT3JpZW50YXRpb246aD1kPT09Imhvcml6b250YWwiPyJib3RoIjoidmVydGljYWwiLHRvdWNoTXVsdGlwbGllcjptPTEsd2hlZWxNdWx0aXBsaWVyOnY9MSxhdXRvUmVzaXplOmI9ITAscHJldmVudDpnLHZpcnR1YWxTY3JvbGw6eSxvdmVyc2Nyb2xsOnc9ITAsYXV0b1JhZjprPSExLGFuY2hvcnM6Uj0hMSxhdXRvVG9nZ2xlOkM9ITEsYWxsb3dOZXN0ZWRTY3JvbGw6Uz0hMSxfX2V4cGVyaW1lbnRhbF9fbmFpdmVEaW1lbnNpb25zOk89ITEsbmFpdmVEaW1lbnNpb25zOkQ9TyxzdG9wSW5lcnRpYU9uTmF2aWdhdGU6Tj0hMX09e30pe3dpbmRvdy5sZW5pc1ZlcnNpb249R19yLCghZXx8ZT09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJihlPXdpbmRvdyksdHlwZW9mIG89PSJudW1iZXIiJiZ0eXBlb2YgYyE9ImZ1bmN0aW9uIj9jPXZBZTp0eXBlb2YgYz09ImZ1bmN0aW9uIiYmdHlwZW9mIG8hPSJudW1iZXIiJiYobz0xKSx0aGlzLm9wdGlvbnM9e3dyYXBwZXI6ZSxjb250ZW50OnQsZXZlbnRzVGFyZ2V0OnIsc21vb3RoV2hlZWw6YSxzeW5jVG91Y2g6aSxzeW5jVG91Y2hMZXJwOm4sdG91Y2hJbmVydGlhRXhwb25lbnQ6cyxkdXJhdGlvbjpvLGVhc2luZzpjLGxlcnA6bCxpbmZpbml0ZTp1LGdlc3R1cmVPcmllbnRhdGlvbjpoLG9yaWVudGF0aW9uOmQsdG91Y2hNdWx0aXBsaWVyOm0sd2hlZWxNdWx0aXBsaWVyOnYsYXV0b1Jlc2l6ZTpiLHByZXZlbnQ6Zyx2aXJ0dWFsU2Nyb2xsOnksb3ZlcnNjcm9sbDp3LGF1dG9SYWY6ayxhbmNob3JzOlIsYXV0b1RvZ2dsZTpDLGFsbG93TmVzdGVkU2Nyb2xsOlMsbmFpdmVEaW1lbnNpb25zOkQsc3RvcEluZXJ0aWFPbk5hdmlnYXRlOk59LHRoaXMuZGltZW5zaW9ucz1uZXcgS19yKGUsdCx7YXV0b1Jlc2l6ZTpifSksdGhpcy51cGRhdGVDbGFzc05hbWUoKSx0aGlzLnRhcmdldFNjcm9sbD10aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMuYWN0dWFsU2Nyb2xsLHRoaXMub3B0aW9ucy53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbk5hdGl2ZVNjcm9sbCwhMSksdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIix0aGlzLm9uU2Nyb2xsRW5kLHtjYXB0dXJlOiEwfSksKHRoaXMub3B0aW9ucy5hbmNob3JzfHx0aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlKSYmdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMSksdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMub25Qb2ludGVyRG93biwhMSksdGhpcy52aXJ0dWFsU2Nyb2xsPW5ldyBlTHIocix7dG91Y2hNdWx0aXBsaWVyOm0sd2hlZWxNdWx0aXBsaWVyOnZ9KSx0aGlzLnZpcnR1YWxTY3JvbGwub24oInNjcm9sbCIsdGhpcy5vblZpcnR1YWxTY3JvbGwpLHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlJiYodGhpcy5jaGVja092ZXJmbG93KCksdGhpcy5yb290RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0aGlzLm9uVHJhbnNpdGlvbkVuZCx7cGFzc2l2ZTohMH0pKSx0aGlzLm9wdGlvbnMuYXV0b1JhZiYmKHRoaXMuX3JhZklkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJhZikpfWRlc3Ryb3koKXt0aGlzLmVtaXR0ZXIuZGVzdHJveSgpLHRoaXMub3B0aW9ucy53cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbk5hdGl2ZVNjcm9sbCwhMSksdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIix0aGlzLm9uU2Nyb2xsRW5kLHtjYXB0dXJlOiEwfSksdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMub25Qb2ludGVyRG93biwhMSksKHRoaXMub3B0aW9ucy5hbmNob3JzfHx0aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlKSYmdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMSksdGhpcy52aXJ0dWFsU2Nyb2xsLmRlc3Ryb3koKSx0aGlzLmRpbWVuc2lvbnMuZGVzdHJveSgpLHRoaXMuY2xlYW5VcENsYXNzTmFtZSgpLHRoaXMuX3JhZklkJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWZJZCl9b24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uKGUsdCl9b2ZmKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vZmYoZSx0KX1vblNjcm9sbEVuZD1lPT57ZSBpbnN0YW5jZW9mIEN1c3RvbUV2ZW50fHwodGhpcy5pc1Njcm9sbGluZz09PSJzbW9vdGgifHx0aGlzLmlzU2Nyb2xsaW5nPT09ITEpJiZlLnN0b3BQcm9wYWdhdGlvbigpfTtkaXNwYXRjaFNjcm9sbGVuZEV2ZW50PSgpPT57dGhpcy5vcHRpb25zLndyYXBwZXIuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNjcm9sbGVuZCIse2J1YmJsZXM6dGhpcy5vcHRpb25zLndyYXBwZXI9PT13aW5kb3csZGV0YWlsOntsZW5pc1Njcm9sbEVuZDohMH19KSl9O2dldCBvdmVyZmxvdygpe2xldCBlPXRoaXMuaXNIb3Jpem9udGFsPyJvdmVyZmxvdy14Ijoib3ZlcmZsb3cteSI7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5yb290RWxlbWVudClbZV19Y2hlY2tPdmVyZmxvdygpe1siaGlkZGVuIiwiY2xpcCJdLmluY2x1ZGVzKHRoaXMub3ZlcmZsb3cpP3RoaXMuaW50ZXJuYWxTdG9wKCk6dGhpcy5pbnRlcm5hbFN0YXJ0KCl9b25UcmFuc2l0aW9uRW5kPWU9PntlLnByb3BlcnR5TmFtZS5pbmNsdWRlcygib3ZlcmZsb3ciKSYmdGhpcy5jaGVja092ZXJmbG93KCl9O3NldFNjcm9sbChlKXt0aGlzLmlzSG9yaXpvbnRhbD90aGlzLm9wdGlvbnMud3JhcHBlci5zY3JvbGxUbyh7bGVmdDplLGJlaGF2aW9yOiJpbnN0YW50In0pOnRoaXMub3B0aW9ucy53cmFwcGVyLnNjcm9sbFRvKHt0b3A6ZSxiZWhhdmlvcjoiaW5zdGFudCJ9KX1vbkNsaWNrPWU9PntsZXQgcj1lLmNvbXBvc2VkUGF0aCgpLmZpbHRlcihhPT5hIGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnQmJmEuZ2V0QXR0cmlidXRlKCJocmVmIikpO2lmKHRoaXMub3B0aW9ucy5hbmNob3JzKXtsZXQgYT1yLmZpbmQoaT0+aS5nZXRBdHRyaWJ1dGUoImhyZWYiKT8uaW5jbHVkZXMoIiMiKSk7aWYoYSl7bGV0IGk9YS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihpKXtsZXQgbj10eXBlb2YgdGhpcy5vcHRpb25zLmFuY2hvcnM9PSJvYmplY3QiJiZ0aGlzLm9wdGlvbnMuYW5jaG9ycz90aGlzLm9wdGlvbnMuYW5jaG9yczp2b2lkIDAscz1gIyR7aS5zcGxpdCgiIyIpWzFdfWA7dGhpcy5zY3JvbGxUbyhzLG4pfX19dGhpcy5vcHRpb25zLnN0b3BJbmVydGlhT25OYXZpZ2F0ZSYmci5maW5kKGk9PmkuaG9zdD09PXdpbmRvdy5sb2NhdGlvbi5ob3N0KSYmdGhpcy5yZXNldCgpfTtvblBvaW50ZXJEb3duPWU9PntlLmJ1dHRvbj09PTEmJnRoaXMucmVzZXQoKX07b25WaXJ0dWFsU2Nyb2xsPWU9PntpZih0eXBlb2YgdGhpcy5vcHRpb25zLnZpcnR1YWxTY3JvbGw9PSJmdW5jdGlvbiImJnRoaXMub3B0aW9ucy52aXJ0dWFsU2Nyb2xsKGUpPT09ITEpcmV0dXJuO2xldHtkZWx0YVg6dCxkZWx0YVk6cixldmVudDphfT1lO2lmKHRoaXMuZW1pdHRlci5lbWl0KCJ2aXJ0dWFsLXNjcm9sbCIse2RlbHRhWDp0LGRlbHRhWTpyLGV2ZW50OmF9KSxhLmN0cmxLZXl8fGEubGVuaXNTdG9wUHJvcGFnYXRpb24pcmV0dXJuO2xldCBpPWEudHlwZS5pbmNsdWRlcygidG91Y2giKSxuPWEudHlwZS5pbmNsdWRlcygid2hlZWwiKTt0aGlzLmlzVG91Y2hpbmc9YS50eXBlPT09InRvdWNoc3RhcnQifHxhLnR5cGU9PT0idG91Y2htb3ZlIjtsZXQgcz10PT09MCYmcj09PTA7aWYodGhpcy5vcHRpb25zLnN5bmNUb3VjaCYmaSYmYS50eXBlPT09InRvdWNoc3RhcnQiJiZzJiYhdGhpcy5pc1N0b3BwZWQmJiF0aGlzLmlzTG9ja2VkKXt0aGlzLnJlc2V0KCk7cmV0dXJufWxldCBjPXRoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb249PT0idmVydGljYWwiJiZyPT09MHx8dGhpcy5vcHRpb25zLmdlc3R1cmVPcmllbnRhdGlvbj09PSJob3Jpem9udGFsIiYmdD09PTA7aWYoc3x8YylyZXR1cm47bGV0IGw9YS5jb21wb3NlZFBhdGgoKTtsPWwuc2xpY2UoMCxsLmluZGV4T2YodGhpcy5yb290RWxlbWVudCkpO2xldCB1PXRoaXMub3B0aW9ucy5wcmV2ZW50O2lmKGwuZmluZChnPT5nIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJih0eXBlb2YgdT09ImZ1bmN0aW9uIiYmdT8uKGcpfHxnLmhhc0F0dHJpYnV0ZT8uKCJkYXRhLWxlbmlzLXByZXZlbnQiKXx8aSYmZy5oYXNBdHRyaWJ1dGU/LigiZGF0YS1sZW5pcy1wcmV2ZW50LXRvdWNoIil8fG4mJmcuaGFzQXR0cmlidXRlPy4oImRhdGEtbGVuaXMtcHJldmVudC13aGVlbCIpfHx0aGlzLm9wdGlvbnMuYWxsb3dOZXN0ZWRTY3JvbGwmJnRoaXMuY2hlY2tOZXN0ZWRTY3JvbGwoZyx7ZGVsdGFYOnQsZGVsdGFZOnJ9KSkpKXJldHVybjtpZih0aGlzLmlzU3RvcHBlZHx8dGhpcy5pc0xvY2tlZCl7YS5jYW5jZWxhYmxlJiZhLnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWlmKCEodGhpcy5vcHRpb25zLnN5bmNUb3VjaCYmaXx8dGhpcy5vcHRpb25zLnNtb290aFdoZWVsJiZuKSl7dGhpcy5pc1Njcm9sbGluZz0ibmF0aXZlIix0aGlzLmFuaW1hdGUuc3RvcCgpLGEubGVuaXNTdG9wUHJvcGFnYXRpb249ITA7cmV0dXJufWxldCBoPXI7dGhpcy5vcHRpb25zLmdlc3R1cmVPcmllbnRhdGlvbj09PSJib3RoIj9oPU1hdGguYWJzKHIpPk1hdGguYWJzKHQpP3I6dDp0aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uPT09Imhvcml6b250YWwiJiYoaD10KSwoIXRoaXMub3B0aW9ucy5vdmVyc2Nyb2xsfHx0aGlzLm9wdGlvbnMuaW5maW5pdGV8fHRoaXMub3B0aW9ucy53cmFwcGVyIT09d2luZG93JiZ0aGlzLmxpbWl0PjAmJih0aGlzLmFuaW1hdGVkU2Nyb2xsPjAmJnRoaXMuYW5pbWF0ZWRTY3JvbGw8dGhpcy5saW1pdHx8dGhpcy5hbmltYXRlZFNjcm9sbD09PTAmJnI+MHx8dGhpcy5hbmltYXRlZFNjcm9sbD09PXRoaXMubGltaXQmJnI8MCkpJiYoYS5sZW5pc1N0b3BQcm9wYWdhdGlvbj0hMCksYS5jYW5jZWxhYmxlJiZhLnByZXZlbnREZWZhdWx0KCk7bGV0IG09aSYmdGhpcy5vcHRpb25zLnN5bmNUb3VjaCxiPWkmJmEudHlwZT09PSJ0b3VjaGVuZCI7YiYmKGg9TWF0aC5zaWduKHRoaXMudmVsb2NpdHkpKk1hdGgucG93KE1hdGguYWJzKHRoaXMudmVsb2NpdHkpLHRoaXMub3B0aW9ucy50b3VjaEluZXJ0aWFFeHBvbmVudCkpLHRoaXMuc2Nyb2xsVG8odGhpcy50YXJnZXRTY3JvbGwraCx7cHJvZ3JhbW1hdGljOiExLC4uLm0/e2xlcnA6Yj90aGlzLm9wdGlvbnMuc3luY1RvdWNoTGVycDoxfTp7bGVycDp0aGlzLm9wdGlvbnMubGVycCxkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZHVyYXRpb24sZWFzaW5nOnRoaXMub3B0aW9ucy5lYXNpbmd9fSl9O3Jlc2l6ZSgpe3RoaXMuZGltZW5zaW9ucy5yZXNpemUoKSx0aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMudGFyZ2V0U2Nyb2xsPXRoaXMuYWN0dWFsU2Nyb2xsLHRoaXMuZW1pdCgpfWVtaXQoKXt0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix0aGlzKX1vbk5hdGl2ZVNjcm9sbD0oKT0+e2lmKHRoaXMuX3Jlc2V0VmVsb2NpdHlUaW1lb3V0IT09bnVsbCYmKGNsZWFyVGltZW91dCh0aGlzLl9yZXNldFZlbG9jaXR5VGltZW91dCksdGhpcy5fcmVzZXRWZWxvY2l0eVRpbWVvdXQ9bnVsbCksdGhpcy5fcHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudCl7dGhpcy5fcHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudD0hMTtyZXR1cm59aWYodGhpcy5pc1Njcm9sbGluZz09PSExfHx0aGlzLmlzU2Nyb2xsaW5nPT09Im5hdGl2ZSIpe2xldCBlPXRoaXMuYW5pbWF0ZWRTY3JvbGw7dGhpcy5hbmltYXRlZFNjcm9sbD10aGlzLnRhcmdldFNjcm9sbD10aGlzLmFjdHVhbFNjcm9sbCx0aGlzLmxhc3RWZWxvY2l0eT10aGlzLnZlbG9jaXR5LHRoaXMudmVsb2NpdHk9dGhpcy5hbmltYXRlZFNjcm9sbC1lLHRoaXMuZGlyZWN0aW9uPU1hdGguc2lnbih0aGlzLmFuaW1hdGVkU2Nyb2xsLWUpLHRoaXMuaXNTdG9wcGVkfHwodGhpcy5pc1Njcm9sbGluZz0ibmF0aXZlIiksdGhpcy5lbWl0KCksdGhpcy52ZWxvY2l0eSE9PTAmJih0aGlzLl9yZXNldFZlbG9jaXR5VGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5sYXN0VmVsb2NpdHk9dGhpcy52ZWxvY2l0eSx0aGlzLnZlbG9jaXR5PTAsdGhpcy5pc1Njcm9sbGluZz0hMSx0aGlzLmVtaXQoKX0sNDAwKSl9fTtyZXNldCgpe3RoaXMuaXNMb2NrZWQ9ITEsdGhpcy5pc1Njcm9sbGluZz0hMSx0aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMudGFyZ2V0U2Nyb2xsPXRoaXMuYWN0dWFsU2Nyb2xsLHRoaXMubGFzdFZlbG9jaXR5PXRoaXMudmVsb2NpdHk9MCx0aGlzLmFuaW1hdGUuc3RvcCgpfXN0YXJ0KCl7aWYodGhpcy5pc1N0b3BwZWQpe2lmKHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlKXt0aGlzLnJvb3RFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCJvdmVyZmxvdyIpO3JldHVybn10aGlzLmludGVybmFsU3RhcnQoKX19aW50ZXJuYWxTdGFydCgpe3RoaXMuaXNTdG9wcGVkJiYodGhpcy5yZXNldCgpLHRoaXMuaXNTdG9wcGVkPSExLHRoaXMuZW1pdCgpKX1zdG9wKCl7aWYoIXRoaXMuaXNTdG9wcGVkKXtpZih0aGlzLm9wdGlvbnMuYXV0b1RvZ2dsZSl7dGhpcy5yb290RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgib3ZlcmZsb3ciLCJjbGlwIik7cmV0dXJufXRoaXMuaW50ZXJuYWxTdG9wKCl9fWludGVybmFsU3RvcCgpe3RoaXMuaXNTdG9wcGVkfHwodGhpcy5yZXNldCgpLHRoaXMuaXNTdG9wcGVkPSEwLHRoaXMuZW1pdCgpKX1yYWY9ZT0+e2xldCB0PWUtKHRoaXMudGltZXx8ZSk7dGhpcy50aW1lPWUsdGhpcy5hbmltYXRlLmFkdmFuY2UodCouMDAxKSx0aGlzLm9wdGlvbnMuYXV0b1JhZiYmKHRoaXMuX3JhZklkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJhZikpfTtzY3JvbGxUbyhlLHtvZmZzZXQ6dD0wLGltbWVkaWF0ZTpyPSExLGxvY2s6YT0hMSxwcm9ncmFtbWF0aWM6aT0hMCxsZXJwOm49aT90aGlzLm9wdGlvbnMubGVycDp2b2lkIDAsZHVyYXRpb246cz1pP3RoaXMub3B0aW9ucy5kdXJhdGlvbjp2b2lkIDAsZWFzaW5nOm89aT90aGlzLm9wdGlvbnMuZWFzaW5nOnZvaWQgMCxvblN0YXJ0OmMsb25Db21wbGV0ZTpsLGZvcmNlOnU9ITEsdXNlckRhdGE6ZH09e30pe2lmKCEoKHRoaXMuaXNTdG9wcGVkfHx0aGlzLmlzTG9ja2VkKSYmIXUpKXtpZih0eXBlb2YgZT09InN0cmluZyImJlsidG9wIiwibGVmdCIsInN0YXJ0IiwiIyJdLmluY2x1ZGVzKGUpKWU9MDtlbHNlIGlmKHR5cGVvZiBlPT0ic3RyaW5nIiYmWyJib3R0b20iLCJyaWdodCIsImVuZCJdLmluY2x1ZGVzKGUpKWU9dGhpcy5saW1pdDtlbHNle2xldCBoO2lmKHR5cGVvZiBlPT0ic3RyaW5nIj8oaD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpLGh8fChlPT09IiN0b3AiP2U9MDpjb25zb2xlLndhcm4oIkxlbmlzOiBUYXJnZXQgbm90IGZvdW5kIixlKSkpOmUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZT8ubm9kZVR5cGUmJihoPWUpLGgpe2lmKHRoaXMub3B0aW9ucy53cmFwcGVyIT09d2luZG93KXtsZXQgdj10aGlzLnJvb3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3QtPXRoaXMuaXNIb3Jpem9udGFsP3YubGVmdDp2LnRvcH1sZXQgbT1oLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2U9KHRoaXMuaXNIb3Jpem9udGFsP20ubGVmdDptLnRvcCkrdGhpcy5hbmltYXRlZFNjcm9sbH19aWYodHlwZW9mIGU9PSJudW1iZXIiKXtpZihlKz10LGU9TWF0aC5yb3VuZChlKSx0aGlzLm9wdGlvbnMuaW5maW5pdGUpe2lmKGkpe3RoaXMudGFyZ2V0U2Nyb2xsPXRoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy5zY3JvbGw7bGV0IGg9ZS10aGlzLmFuaW1hdGVkU2Nyb2xsO2g+dGhpcy5saW1pdC8yP2U9ZS10aGlzLmxpbWl0Omg8LXRoaXMubGltaXQvMiYmKGU9ZSt0aGlzLmxpbWl0KX19ZWxzZSBlPW1BZSgwLGUsdGhpcy5saW1pdCk7aWYoZT09PXRoaXMudGFyZ2V0U2Nyb2xsKXtjPy4odGhpcyksbD8uKHRoaXMpO3JldHVybn1pZih0aGlzLnVzZXJEYXRhPWQ/P3t9LHIpe3RoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9ZSx0aGlzLnNldFNjcm9sbCh0aGlzLnNjcm9sbCksdGhpcy5yZXNldCgpLHRoaXMucHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudCgpLHRoaXMuZW1pdCgpLGw/Lih0aGlzKSx0aGlzLnVzZXJEYXRhPXt9LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuZGlzcGF0Y2hTY3JvbGxlbmRFdmVudCgpfSk7cmV0dXJufWl8fCh0aGlzLnRhcmdldFNjcm9sbD1lKSx0eXBlb2Ygcz09Im51bWJlciImJnR5cGVvZiBvIT0iZnVuY3Rpb24iP289dkFlOnR5cGVvZiBvPT0iZnVuY3Rpb24iJiZ0eXBlb2YgcyE9Im51bWJlciImJihzPTEpLHRoaXMuYW5pbWF0ZS5mcm9tVG8odGhpcy5hbmltYXRlZFNjcm9sbCxlLHtkdXJhdGlvbjpzLGVhc2luZzpvLGxlcnA6bixvblN0YXJ0OigpPT57YSYmKHRoaXMuaXNMb2NrZWQ9ITApLHRoaXMuaXNTY3JvbGxpbmc9InNtb290aCIsYz8uKHRoaXMpfSxvblVwZGF0ZTooaCxtKT0+e3RoaXMuaXNTY3JvbGxpbmc9InNtb290aCIsdGhpcy5sYXN0VmVsb2NpdHk9dGhpcy52ZWxvY2l0eSx0aGlzLnZlbG9jaXR5PWgtdGhpcy5hbmltYXRlZFNjcm9sbCx0aGlzLmRpcmVjdGlvbj1NYXRoLnNpZ24odGhpcy52ZWxvY2l0eSksdGhpcy5hbmltYXRlZFNjcm9sbD1oLHRoaXMuc2V0U2Nyb2xsKHRoaXMuc2Nyb2xsKSxpJiYodGhpcy50YXJnZXRTY3JvbGw9aCksbXx8dGhpcy5lbWl0KCksbSYmKHRoaXMucmVzZXQoKSx0aGlzLmVtaXQoKSxsPy4odGhpcyksdGhpcy51c2VyRGF0YT17fSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmRpc3BhdGNoU2Nyb2xsZW5kRXZlbnQoKX0pLHRoaXMucHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudCgpKX19KX19fXByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQoKXt0aGlzLl9wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50PSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuX3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITF9KX1jaGVja05lc3RlZFNjcm9sbChlLHtkZWx0YVg6dCxkZWx0YVk6cn0pe2xldCBhPURhdGUubm93KCksaT1lLl9sZW5pcz8/PXt9LG4scyxvLGMsbCx1LGQsaCxtPXRoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb247aWYoYS0oaS50aW1lPz8wKT4yZTMpe2kudGltZT1EYXRlLm5vdygpO2xldCBDPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpO2kuY29tcHV0ZWRTdHlsZT1DO2xldCBTPUMub3ZlcmZsb3dYLE89Qy5vdmVyZmxvd1k7aWYobj1bImF1dG8iLCJvdmVybGF5Iiwic2Nyb2xsIl0uaW5jbHVkZXMoUykscz1bImF1dG8iLCJvdmVybGF5Iiwic2Nyb2xsIl0uaW5jbHVkZXMoTyksaS5oYXNPdmVyZmxvd1g9bixpLmhhc092ZXJmbG93WT1zLCFuJiYhc3x8bT09PSJ2ZXJ0aWNhbCImJiFzfHxtPT09Imhvcml6b250YWwiJiYhbilyZXR1cm4hMTtsPWUuc2Nyb2xsV2lkdGgsdT1lLnNjcm9sbEhlaWdodCxkPWUuY2xpZW50V2lkdGgsaD1lLmNsaWVudEhlaWdodCxvPWw+ZCxjPXU+aCxpLmlzU2Nyb2xsYWJsZVg9byxpLmlzU2Nyb2xsYWJsZVk9YyxpLnNjcm9sbFdpZHRoPWwsaS5zY3JvbGxIZWlnaHQ9dSxpLmNsaWVudFdpZHRoPWQsaS5jbGllbnRIZWlnaHQ9aH1lbHNlIG89aS5pc1Njcm9sbGFibGVYLGM9aS5pc1Njcm9sbGFibGVZLG49aS5oYXNPdmVyZmxvd1gscz1pLmhhc092ZXJmbG93WSxsPWkuc2Nyb2xsV2lkdGgsdT1pLnNjcm9sbEhlaWdodCxkPWkuY2xpZW50V2lkdGgsaD1pLmNsaWVudEhlaWdodDtpZighbiYmIXN8fCFvJiYhY3x8bT09PSJ2ZXJ0aWNhbCImJighc3x8IWMpfHxtPT09Imhvcml6b250YWwiJiYoIW58fCFvKSlyZXR1cm4hMTtsZXQgdjtpZihtPT09Imhvcml6b250YWwiKXY9IngiO2Vsc2UgaWYobT09PSJ2ZXJ0aWNhbCIpdj0ieSI7ZWxzZXtsZXQgQz10IT09MCxTPXIhPT0wO0MmJm4mJm8mJih2PSJ4IiksUyYmcyYmYyYmKHY9InkiKX1pZighdilyZXR1cm4hMTtsZXQgYixnLHksdyxrO2lmKHY9PT0ieCIpYj1lLnNjcm9sbExlZnQsZz1sLWQseT10LHc9bixrPW87ZWxzZSBpZih2PT09InkiKWI9ZS5zY3JvbGxUb3AsZz11LWgseT1yLHc9cyxrPWM7ZWxzZSByZXR1cm4hMTtyZXR1cm4oeT4wP2I8ZzpiPjApJiZ3JiZrfWdldCByb290RWxlbWVudCgpe3JldHVybiB0aGlzLm9wdGlvbnMud3JhcHBlcj09PXdpbmRvdz9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6dGhpcy5vcHRpb25zLndyYXBwZXJ9Z2V0IGxpbWl0KCl7cmV0dXJuIHRoaXMub3B0aW9ucy5uYWl2ZURpbWVuc2lvbnM/dGhpcy5pc0hvcml6b250YWw/dGhpcy5yb290RWxlbWVudC5zY3JvbGxXaWR0aC10aGlzLnJvb3RFbGVtZW50LmNsaWVudFdpZHRoOnRoaXMucm9vdEVsZW1lbnQuc2Nyb2xsSGVpZ2h0LXRoaXMucm9vdEVsZW1lbnQuY2xpZW50SGVpZ2h0OnRoaXMuZGltZW5zaW9ucy5saW1pdFt0aGlzLmlzSG9yaXpvbnRhbD8ieCI6InkiXX1nZXQgaXNIb3Jpem9udGFsKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIn1nZXQgYWN0dWFsU2Nyb2xsKCl7bGV0IGU9dGhpcy5vcHRpb25zLndyYXBwZXI7cmV0dXJuIHRoaXMuaXNIb3Jpem9udGFsP2Uuc2Nyb2xsWD8/ZS5zY3JvbGxMZWZ0OmUuc2Nyb2xsWT8/ZS5zY3JvbGxUb3B9Z2V0IHNjcm9sbCgpe3JldHVybiB0aGlzLm9wdGlvbnMuaW5maW5pdGU/WF9yKHRoaXMuYW5pbWF0ZWRTY3JvbGwsdGhpcy5saW1pdCk6dGhpcy5hbmltYXRlZFNjcm9sbH1nZXQgcHJvZ3Jlc3MoKXtyZXR1cm4gdGhpcy5saW1pdD09PTA/MTp0aGlzLnNjcm9sbC90aGlzLmxpbWl0fWdldCBpc1Njcm9sbGluZygpe3JldHVybiB0aGlzLl9pc1Njcm9sbGluZ31zZXQgaXNTY3JvbGxpbmcoZSl7dGhpcy5faXNTY3JvbGxpbmchPT1lJiYodGhpcy5faXNTY3JvbGxpbmc9ZSx0aGlzLnVwZGF0ZUNsYXNzTmFtZSgpKX1nZXQgaXNTdG9wcGVkKCl7cmV0dXJuIHRoaXMuX2lzU3RvcHBlZH1zZXQgaXNTdG9wcGVkKGUpe3RoaXMuX2lzU3RvcHBlZCE9PWUmJih0aGlzLl9pc1N0b3BwZWQ9ZSx0aGlzLnVwZGF0ZUNsYXNzTmFtZSgpKX1nZXQgaXNMb2NrZWQoKXtyZXR1cm4gdGhpcy5faXNMb2NrZWR9c2V0IGlzTG9ja2VkKGUpe3RoaXMuX2lzTG9ja2VkIT09ZSYmKHRoaXMuX2lzTG9ja2VkPWUsdGhpcy51cGRhdGVDbGFzc05hbWUoKSl9Z2V0IGlzU21vb3RoKCl7cmV0dXJuIHRoaXMuaXNTY3JvbGxpbmc9PT0ic21vb3RoIn1nZXQgY2xhc3NOYW1lKCl7bGV0IGU9ImxlbmlzIjtyZXR1cm4gdGhpcy5vcHRpb25zLmF1dG9Ub2dnbGUmJihlKz0iIGxlbmlzLWF1dG9Ub2dnbGUiKSx0aGlzLmlzU3RvcHBlZCYmKGUrPSIgbGVuaXMtc3RvcHBlZCIpLHRoaXMuaXNMb2NrZWQmJihlKz0iIGxlbmlzLWxvY2tlZCIpLHRoaXMuaXNTY3JvbGxpbmcmJihlKz0iIGxlbmlzLXNjcm9sbGluZyIpLHRoaXMuaXNTY3JvbGxpbmc9PT0ic21vb3RoIiYmKGUrPSIgbGVuaXMtc21vb3RoIiksZX11cGRhdGVDbGFzc05hbWUoKXt0aGlzLmNsZWFuVXBDbGFzc05hbWUoKSx0aGlzLnJvb3RFbGVtZW50LmNsYXNzTmFtZT1gJHt0aGlzLnJvb3RFbGVtZW50LmNsYXNzTmFtZX0gJHt0aGlzLmNsYXNzTmFtZX1gLnRyaW0oKX1jbGVhblVwQ2xhc3NOYW1lKCl7dGhpcy5yb290RWxlbWVudC5jbGFzc05hbWU9dGhpcy5yb290RWxlbWVudC5jbGFzc05hbWUucmVwbGFjZSgvbGVuaXMoLVx3Kyk/L2csIiIpLnRyaW0oKX19fSk7dmFyIGtZPWplKCh3WSxNWSk9PnsoZnVuY3Rpb24oZSx0KXt0eXBlb2Ygd1k9PSJvYmplY3QiJiZ0eXBlb2YgTVk8InUiP01ZLmV4cG9ydHM9dCgpOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKHQpOihlPWV8fHNlbGYsZS5Td2VldFNjcm9sbD10KCkpfSkod1ksZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4gZT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbigkKXtmb3IodmFyIGosSD0xLFk9YXJndW1lbnRzLmxlbmd0aDtIPFk7SCsrKXtqPWFyZ3VtZW50c1tIXTtmb3IodmFyIGRlIGluIGopT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGosZGUpJiYoJFtkZV09altkZV0pfXJldHVybiAkfSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdD0hISh0eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93LmRvY3VtZW50JiZ3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCkscj10P3dpbmRvdy5oaXN0b3J5JiYicHVzaFN0YXRlImluIHdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cubG9jYXRpb24ucHJvdG9jb2whPT0iZmlsZToiOiExLGE9KGZ1bmN0aW9uKCl7dmFyIEE9ITE7aWYoIXQpcmV0dXJuIEE7dHJ5e3ZhciAkPXdpbmRvdyxqPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0E9ITB9fSk7JC5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLGopLCQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCxqKX1jYXRjaHt9cmV0dXJuIEF9KSgpLGk9ZnVuY3Rpb24oQSl7cmV0dXJuIHR5cGVvZiBBPT0ic3RyaW5nIn0sbj1mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIEE9PSJmdW5jdGlvbiJ9LHM9ZnVuY3Rpb24oQSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoQSl9LG89ZnVuY3Rpb24oQSl7cmV0dXJuIXMoQSkmJkEtcGFyc2VGbG9hdChBKSsxPj0wfSxjPWZ1bmN0aW9uKEEsJCl7cmV0dXJuIEEmJkEuaGFzT3duUHJvcGVydHkoJCl9LGw9dD93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpudWxsLHU9dD93aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOm51bGwsZD1NYXRoLmNvcyxoPU1hdGguc2luLG09TWF0aC5wb3csdj1NYXRoLnNxcnQsYj1NYXRoLlBJLGc9e2xpbmVhcjpmdW5jdGlvbihBKXtyZXR1cm4gQX0sZWFzZUluUXVhZDpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybiBIKigkLz1ZKSokK2p9LGVhc2VPdXRRdWFkOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuLUgqKCQvPVkpKigkLTIpK2p9LGVhc2VJbk91dFF1YWQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4oJC89WS8yKTwxP0gvMiokKiQrajotSC8yKigtLSQqKCQtMiktMSkran0sZWFzZUluQ3ViaWM6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCooJC89WSkqJCokK2p9LGVhc2VPdXRDdWJpYzpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybiBIKigoJD0kL1ktMSkqJCokKzEpK2p9LGVhc2VJbk91dEN1YmljOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuKCQvPVkvMik8MT9ILzIqJCokKiQrajpILzIqKCgkLT0yKSokKiQrMikran0sZWFzZUluUXVhcnQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCooJC89WSkqJCokKiQran0sZWFzZU91dFF1YXJ0OmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuLUgqKCgkPSQvWS0xKSokKiQqJC0xKStqfSxlYXNlSW5PdXRRdWFydDpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybigkLz1ZLzIpPDE/SC8yKiQqJCokKiQrajotSC8yKigoJC09MikqJCokKiQtMikran0sZWFzZUluUXVpbnQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCooJC89WSkqJCokKiQqJCtqfSxlYXNlT3V0UXVpbnQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCooKCQ9JC9ZLTEpKiQqJCokKiQrMSkran0sZWFzZUluT3V0UXVpbnQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4oJC89WS8yKTwxP0gvMiokKiQqJCokKiQrajpILzIqKCgkLT0yKSokKiQqJCokKzIpK2p9LGVhc2VJblNpbmU6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4tSCpkKCQvWSooYi8yKSkrSCtqfSxlYXNlT3V0U2luZTpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybiBIKmgoJC9ZKihiLzIpKStqfSxlYXNlSW5PdXRTaW5lOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuLUgvMiooZChiKiQvWSktMSkran0sZWFzZUluRXhwbzpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybiAkPT09MD9qOkgqbSgyLDEwKigkL1ktMSkpK2p9LGVhc2VPdXRFeHBvOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuICQ9PT1ZP2orSDpIKigtbSgyLC0xMCokL1kpKzEpK2p9LGVhc2VJbk91dEV4cG86ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gJD09PTA/ajokPT09WT9qK0g6KCQvPVkvMik8MT9ILzIqbSgyLDEwKigkLTEpKStqOkgvMiooLW0oMiwtMTAqLS0kKSsyKStqfSxlYXNlSW5DaXJjOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuLUgqKHYoMS0oJC89WSkqJCktMSkran0sZWFzZU91dENpcmM6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCp2KDEtKCQ9JC9ZLTEpKiQpK2p9LGVhc2VJbk91dENpcmM6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4oJC89WS8yKTwxPy1ILzIqKHYoMS0kKiQpLTEpK2o6SC8yKih2KDEtKCQtPTIpKiQpKzEpK2p9fSx5PWZ1bmN0aW9uKEEpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChBP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoQSk6W10pfSx3PWZ1bmN0aW9uKEEpe3JldHVybiB5KEEpLnNoaWZ0KCl8fG51bGx9LGs9ZnVuY3Rpb24oQSl7cmV0dXJuIEEgaW5zdGFuY2VvZiBFbGVtZW50fSxSPWZ1bmN0aW9uKEEpe3JldHVybiBBPT09d2luZG93fSxDPWZ1bmN0aW9uKEEpe3JldHVybiBBPT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fHxBPT09ZG9jdW1lbnQuYm9keX0sUz1mdW5jdGlvbihBLCQpe2lmKGsoJCkpcmV0dXJuIEE9PT0kO2Zvcih2YXIgaj15KCQpLEg9ai5sZW5ndGg7LS1IPj0wJiZqW0hdIT09QTspO3JldHVybiBIPi0xfSxPPWZ1bmN0aW9uKEEpe3JldHVybiBNYXRoLm1heChBLnNjcm9sbEhlaWdodCxBLmNsaWVudEhlaWdodCxBLm9mZnNldEhlaWdodCl9LEQ9ZnVuY3Rpb24oQSl7cmV0dXJuIE1hdGgubWF4KEEuc2Nyb2xsV2lkdGgsQS5jbGllbnRXaWR0aCxBLm9mZnNldFdpZHRoKX0sTj1mdW5jdGlvbihBKXtyZXR1cm57d2lkdGg6RChBKSxoZWlnaHQ6TyhBKX19LHE9ZnVuY3Rpb24oQSl7dmFyICQ9UihBKXx8QyhBKTtyZXR1cm57dmlld3BvcnQ6e3dpZHRoOiQ/TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKTpBLmNsaWVudFdpZHRoLGhlaWdodDokP3dpbmRvdy5pbm5lckhlaWdodDpBLmNsaWVudEhlaWdodH0sc2l6ZTokP3t3aWR0aDpNYXRoLm1heChEKGRvY3VtZW50LmJvZHkpLEQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSksaGVpZ2h0Ok1hdGgubWF4KE8oZG9jdW1lbnQuYm9keSksTyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKX06TihBKX19LF89e3k6InNjcm9sbFRvcCIseDoic2Nyb2xsTGVmdCJ9LHo9e3k6InBhZ2VZT2Zmc2V0Iix4OiJwYWdlWE9mZnNldCJ9LEU9ZnVuY3Rpb24oQSwkKXtyZXR1cm4gUihBKT9BW3pbJF1dOkFbX1skXV19LFQ9ZnVuY3Rpb24oQSwkLGope2lmKFIoQSkpe3ZhciBIPWo9PT0ieSI7QS5zY3JvbGxUbyhIP0EucGFnZVhPZmZzZXQ6JCxIPyQ6QS5wYWdlWU9mZnNldCl9ZWxzZSBBW19bal1dPSR9LEw9ZnVuY3Rpb24oQSwkKXt2YXIgaj1BLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGoud2lkdGh8fGouaGVpZ2h0KXt2YXIgSD17dG9wOjAsbGVmdDowfSxZPXZvaWQgMDtpZihSKCQpfHxDKCQpKVk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LEgudG9wPXdpbmRvd1t6LnldLEgubGVmdD13aW5kb3dbei54XTtlbHNle1k9JDt2YXIgZGU9WS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtILnRvcD1kZS50b3AqLTErWVtfLnldLEgubGVmdD1kZS5sZWZ0Ki0xK1lbXy54XX1yZXR1cm57dG9wOmoudG9wK0gudG9wLVkuY2xpZW50VG9wLGxlZnQ6ai5sZWZ0K0gubGVmdC1ZLmNsaWVudExlZnR9fXJldHVybiBqfSxWPShmdW5jdGlvbigpe3JldHVybiB0PyJvbndoZWVsImluIGRvY3VtZW50PyJ3aGVlbCI6Im1vdXNld2hlZWwiOiJ3aGVlbCJ9KSgpLEI9ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT0id2hlZWwiP1Y6QX0sVT1mdW5jdGlvbihBLCQsaixILFkpe2ouc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKGRlKXtBWyRdKEIoZGUpLEgsYT97cGFzc2l2ZTpZfTohMSl9KX0sSz1mdW5jdGlvbihBLCQsaixIKXtyZXR1cm4gVShBLCJhZGRFdmVudExpc3RlbmVyIiwkLGosSCl9LEk9ZnVuY3Rpb24oQSwkLGosSCl7cmV0dXJuIFUoQSwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsJCxqLEgpfSx2ZT0vXihcK3wtKT0oXGQrKD86XC5cZCspPykkLyxNZT1mdW5jdGlvbihBLCQpe3ZhciBqPXt0b3A6MCxsZWZ0OjAscmVsYXRpdmU6ITF9O2lmKGMoQSwidG9wIil8fGMoQSwibGVmdCIpKWo9ZSh7fSxqLEEpO2Vsc2UgaWYocyhBKSlpZihBLmxlbmd0aD4xKWoudG9wPUFbMF0sai5sZWZ0PUFbMV07ZWxzZSBpZihBLmxlbmd0aD09PTEpai50b3A9JD9BWzBdOjAsai5sZWZ0PSQ/MDpBWzBdO2Vsc2UgcmV0dXJuIG51bGw7ZWxzZSBpZihvKEEpKSQ/ai50b3A9QTpqLmxlZnQ9QTtlbHNlIGlmKGkoQSkpe3ZhciBIPUEudHJpbSgpLm1hdGNoKHZlKTtpZighSClyZXR1cm4gbnVsbDt2YXIgWT1IWzFdLGRlPXBhcnNlSW50KEhbMl0sMTApO1k9PT0iKyI/KGoudG9wPSQ/ZGU6MCxqLmxlZnQ9JD8wOmRlKTooai50b3A9JD8tZGU6MCxqLmxlZnQ9JD8wOi1kZSksai5yZWxhdGl2ZT0hMH1lbHNlIHJldHVybiBudWxsO3JldHVybiBqfSxQPXt0cmlnZ2VyOiJbZGF0YS1zY3JvbGxdIixoZWFkZXI6IltkYXRhLXNjcm9sbC1oZWFkZXJdIixkdXJhdGlvbjoxZTMsZWFzaW5nOiJlYXNlT3V0UXVpbnQiLG9mZnNldDowLHZlcnRpY2FsOiEwLGhvcml6b250YWw6ITEsY2FuY2VsbGFibGU6ITAsdXBkYXRlVVJMOiExLHByZXZlbnREZWZhdWx0OiEwLHN0b3BQcm9wYWdhdGlvbjohMCxiZWZvcmU6bnVsbCxhZnRlcjpudWxsLGNhbmNlbDpudWxsLGNvbXBsZXRlOm51bGwsc3RlcDpudWxsfSxsZT0iY2xpY2siLFNlPSJ3aGVlbCB0b3VjaHN0YXJ0IHRvdWNobW92ZSIsWj0oZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCQsail7dmFyIEg9dGhpczt0aGlzLiRlbD1udWxsLHRoaXMuY3R4PXskdHJpZ2dlcjpudWxsLG9wdHM6bnVsbCxwcm9ncmVzczohMSxwb3M6bnVsbCxzdGFydFBvczpudWxsLGVhc2luZzpudWxsLHN0YXJ0OjAsaWQ6MCxjYW5jZWw6ITEsaGFzaDpudWxsfSx0aGlzLmxvb3A9ZnVuY3Rpb24oZGUpe3ZhciB3ZT1ILExlPXdlLiRlbCxHPXdlLmN0eDtpZihHLnN0YXJ0fHwoRy5zdGFydD1kZSksIUcucHJvZ3Jlc3N8fCFMZSl7SC5zdG9wKCk7cmV0dXJufXZhciBXPUcub3B0cyxhZT1HLnBvcyx5ZT1HLnN0YXJ0LG1lPUcuc3RhcnRQb3MsQ2U9Ry5lYXNpbmcsYmU9Vy5kdXJhdGlvbixuZT17dG9wOiJ5IixsZWZ0OiJ4In0semU9ZGUteWUsSWU9TWF0aC5taW4oMSxNYXRoLm1heCh6ZS9iZSwwKSk7T2JqZWN0LmtleXMoYWUpLmZvckVhY2goZnVuY3Rpb24oWmUpe3ZhciB0ZT1hZVtaZV0sWD1tZVtaZV0sZWU9dGUtWDtpZihlZSE9PTApe3ZhciB4ZT1DZShJZSxiZSpJZSwwLDEsYmUpO1QoTGUsTWF0aC5yb3VuZChYK2VlKnhlKSxuZVtaZV0pfX0pLHplPD1iZT8oSC5ob29rKFcsInN0ZXAiLEllKSxHLmlkPUEucmFmKEgubG9vcCkpOkguc3RvcCghMCl9LHRoaXMuaGFuZGxlQ2xpY2s9ZnVuY3Rpb24oZGUpe2Zvcih2YXIgd2U9SC5vcHRzLExlPWRlLnRhcmdldDtMZSYmTGUhPT1kb2N1bWVudDtMZT1MZS5wYXJlbnROb2RlKWlmKFMoTGUsd2UudHJpZ2dlcikpe3ZhciBHPUpTT04ucGFyc2UoTGUuZ2V0QXR0cmlidXRlKCJkYXRhLXNjcm9sbC1vcHRpb25zIil8fCJ7fSIpLFc9TGUuZ2V0QXR0cmlidXRlKCJkYXRhLXNjcm9sbCIpLGFlPVd8fExlLmdldEF0dHJpYnV0ZSgiaHJlZiIpLHllPWUoe30sd2UsRyksbWU9eWUucHJldmVudERlZmF1bHQsQ2U9eWUuc3RvcFByb3BhZ2F0aW9uLGJlPXllLnZlcnRpY2FsLG5lPXllLmhvcml6b250YWw7bWUmJmRlLnByZXZlbnREZWZhdWx0KCksQ2UmJmRlLnN0b3BQcm9wYWdhdGlvbigpLEguY3R4LiR0cmlnZ2VyPUxlLG5lJiZiZT9ILnRvKGFlLHllKTpiZT9ILnRvVG9wKGFlLHllKTpuZSYmSC50b0xlZnQoYWUseWUpO2JyZWFrfX0sdGhpcy5oYW5kbGVTdG9wPWZ1bmN0aW9uKGRlKXt2YXIgd2U9SC5jdHgsTGU9d2Uub3B0cztMZSYmTGUuY2FuY2VsbGFibGU/KHdlLmNhbmNlbD0hMCxILnN0b3AoKSk6ZGUucHJldmVudERlZmF1bHQoKX0sdGhpcy5vcHRzPWUoe30sUCwkfHx7fSk7dmFyIFk9bnVsbDt0JiYodHlwZW9mIGo9PSJzdHJpbmciP1k9dyhqKTpqIT1udWxsP1k9ajpZPXdpbmRvdyksdGhpcy4kZWw9WSxZJiZ0aGlzLmJpbmQoITAsITEpfXJldHVybiBBLmNyZWF0ZT1mdW5jdGlvbigkLGope3JldHVybiBuZXcgQSgkLGopfSxBLnByb3RvdHlwZS50bz1mdW5jdGlvbigkLGope2lmKHQpe3ZhciBIPXRoaXMsWT1ILiRlbCxkZT1ILmN0eCx3ZT1ILm9wdHMsTGU9ZGUuJHRyaWdnZXIsRz1lKHt9LHdlLGp8fHt9KSxXPUcub2Zmc2V0LGFlPUcudmVydGljYWwseWU9Ry5ob3Jpem9udGFsLG1lPWsoRy5oZWFkZXIpP0cuaGVhZGVyOncoRy5oZWFkZXIpLENlPS9eIy8sYmU9aSgkKSYmQ2UudGVzdCgkKT8kOm51bGw7aWYoZGUub3B0cz1HLGRlLmNhbmNlbD0hMSxkZS5oYXNoPWJlLHRoaXMuc3RvcCgpLCEhWSl7dmFyIG5lPU1lKFcsYWUpLHplPU1lKCQsYWUpLEllPXt0b3A6MCxsZWZ0OjB9O2lmKHplKWlmKHplLnJlbGF0aXZlKXt2YXIgWmU9RShZLGFlPyJ5IjoieCIpO0llLnRvcD1hZT9aZSt6ZS50b3A6emUudG9wLEllLmxlZnQ9YWU/emUubGVmdDpaZSt6ZS5sZWZ0fWVsc2UgSWU9emU7ZWxzZSBpZihpKCQpJiYkIT09IiMiKXt2YXIgdGU9dygkKTtpZighdGUpcmV0dXJuO0llPUwodGUsWSl9bmUmJihJZS50b3ArPW5lLnRvcCxJZS5sZWZ0Kz1uZS5sZWZ0KSxtZSYmKEllLnRvcD1NYXRoLm1heCgwLEllLnRvcC1OKG1lKS5oZWlnaHQpKTt2YXIgWD1xKFkpLGVlPVgudmlld3BvcnQseGU9WC5zaXplO2lmKEllLnRvcD1hZT9NYXRoLm1heCgwLE1hdGgubWluKHhlLmhlaWdodC1lZS5oZWlnaHQsSWUudG9wKSk6RShZLCJ5IiksSWUubGVmdD15ZT9NYXRoLm1heCgwLE1hdGgubWluKHhlLndpZHRoLWVlLndpZHRoLEllLmxlZnQpKTpFKFksIngiKSx0aGlzLmhvb2soRywiYmVmb3JlIixJZSxMZSk9PT0hMSl7ZGUub3B0cz1udWxsO3JldHVybn1kZS5wb3M9SWUsdGhpcy5zdGFydChHKSx0aGlzLmJpbmQoITEsITApfX19LEEucHJvdG90eXBlLnRvVG9wPWZ1bmN0aW9uKCQsail7dGhpcy50bygkLGUoe30sanx8e30se3ZlcnRpY2FsOiEwLGhvcml6b250YWw6ITF9KSl9LEEucHJvdG90eXBlLnRvTGVmdD1mdW5jdGlvbigkLGope3RoaXMudG8oJCxlKHt9LGp8fHt9LHt2ZXJ0aWNhbDohMSxob3Jpem9udGFsOiEwfSkpfSxBLnByb3RvdHlwZS50b0VsZW1lbnQ9ZnVuY3Rpb24oJCxqKXt2YXIgSD10aGlzLiRlbDshdHx8IUh8fHRoaXMudG8oTCgkLEgpLGp8fHt9KX0sQS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigkKXskPT09dm9pZCAwJiYoJD0hMSk7dmFyIGo9dGhpcyxIPWouJGVsLFk9ai5jdHgsZGU9WS5wb3M7IUh8fCFZLnByb2dyZXNzfHwoQS5jYWYoWS5pZCksWS5wcm9ncmVzcz0hMSxZLnN0YXJ0PTAsWS5pZD0wLCQmJmRlJiYoVChILGRlLmxlZnQsIngiKSxUKEgsZGUudG9wLCJ5IikpLHRoaXMuY29tcGxldGUoKSl9LEEucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigkKXtpZih0aGlzLiRlbCl7dmFyIGo9ZSh7fSx0aGlzLm9wdHMsJCk7dGhpcy5zdG9wKCksdGhpcy51bmJpbmQoITAsITApLHRoaXMub3B0cz1qLHRoaXMuYmluZCghMCwhMSl9fSxBLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy4kZWwmJih0aGlzLnN0b3AoKSx0aGlzLnVuYmluZCghMCwhMCksdGhpcy4kZWw9bnVsbCl9LEEucHJvdG90eXBlLm9uQmVmb3JlPWZ1bmN0aW9uKCQsail7cmV0dXJuITB9LEEucHJvdG90eXBlLm9uU3RlcD1mdW5jdGlvbigkKXt9LEEucHJvdG90eXBlLm9uQWZ0ZXI9ZnVuY3Rpb24oJCxqKXt9LEEucHJvdG90eXBlLm9uQ2FuY2VsPWZ1bmN0aW9uKCl7fSxBLnByb3RvdHlwZS5vbkNvbXBsZXRlPWZ1bmN0aW9uKCQpe30sQS5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oJCl7dmFyIGo9dGhpcy5jdHg7ai5vcHRzPSQsai5wcm9ncmVzcz0hMCxqLmVhc2luZz1uKCQuZWFzaW5nKT8kLmVhc2luZzpnWyQuZWFzaW5nXTt2YXIgSD10aGlzLiRlbCxZPXt0b3A6RShILCJ5IiksbGVmdDpFKEgsIngiKX07ai5zdGFydFBvcz1ZLGouaWQ9QS5yYWYodGhpcy5sb29wKX0sQS5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgJD10aGlzLGo9JC4kZWwsSD0kLmN0eCxZPUguaGFzaCxkZT1ILmNhbmNlbCx3ZT1ILm9wdHMsTGU9SC5wb3MsRz1ILiR0cmlnZ2VyO2lmKCEoIWp8fCF3ZSkpe2lmKFkhPW51bGwmJlkhPT13aW5kb3cubG9jYXRpb24uaGFzaCl7dmFyIFc9d2UudXBkYXRlVVJMO3QmJnImJlchPT0hMSYmd2luZG93Lmhpc3RvcnlbVz09PSJyZXBsYWNlIj8icmVwbGFjZVN0YXRlIjoicHVzaFN0YXRlIl0obnVsbCwiIixZKX10aGlzLnVuYmluZCghMSwhMCksSC5vcHRzPW51bGwsSC4kdHJpZ2dlcj1udWxsLGRlP3RoaXMuaG9vayh3ZSwiY2FuY2VsIik6dGhpcy5ob29rKHdlLCJhZnRlciIsTGUsRyksdGhpcy5ob29rKHdlLCJjb21wbGV0ZSIsZGUpfX0sQS5wcm90b3R5cGUuaG9vaz1mdW5jdGlvbigkLGope2Zvcih2YXIgSD1bXSxZPTI7WTxhcmd1bWVudHMubGVuZ3RoO1krKylIW1ktMl09YXJndW1lbnRzW1ldO3ZhciBkZSx3ZT0kW2pdLExlLEc7cmV0dXJuIG4od2UpJiYoTGU9d2UuYXBwbHkodGhpcyxILmNvbmNhdChbdGhpc10pKSksRz0oZGU9dGhpcylbIm9uIisoalswXS50b1VwcGVyQ2FzZSgpK2ouc2xpY2UoMSkpXS5hcHBseShkZSxIKSxMZSE9PXZvaWQgMD9MZTpHfSxBLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCQsail7dmFyIEg9dGhpcyxZPUguJGVsLGRlPUguY3R4Lm9wdHM7WSYmKCQmJksoWSxsZSx0aGlzLmhhbmRsZUNsaWNrLCExKSxqJiZLKFksU2UsdGhpcy5oYW5kbGVTdG9wLGRlP2RlLmNhbmNlbGxhYmxlOiEwKSl9LEEucHJvdG90eXBlLnVuYmluZD1mdW5jdGlvbigkLGope3ZhciBIPXRoaXMsWT1ILiRlbCxkZT1ILmN0eC5vcHRzO1kmJigkJiZJKFksbGUsdGhpcy5oYW5kbGVDbGljaywhMSksaiYmSShZLFNlLHRoaXMuaGFuZGxlU3RvcCxkZT9kZS5jYW5jZWxsYWJsZTohMCkpfSxBLnJhZj1sLEEuY2FmPXUsQX0pKCk7cmV0dXJuIFp9KX0pO3ZhciBEUyxtNyxvcD1mKCgpPT57VHdlKCk7U20oKTt0MigpO0M1KCk7ekcoKTtsbigpO0VHKCk7b28oKTtVRygpO2NtKCk7R0coKTt1RGUoKTtUUygpO2dtKCk7ZkFlKCk7aEFlKCk7eVkoKTt4QWUoKTtEUz1zcihrWSgpLDEpLG03PXtPYmplY3RNYXA6TFMsU3RyaW5nbWFwOiRTLEZhc3RNYXA6c3B9fSk7dmFyIFQyPXt9O1JlKFQyLHtjc3NGb3JEZXNrdG9wOigpPT50THIsY3NzRm9yTm90ZWJvb2s6KCk9PnJMcixjc3NGb3JQaGFibGV0OigpPT5pTHIsY3NzRm9yUGhvbmU6KCk9Pm5Mcixjc3NGb3JUYWJsZXQ6KCk9PmFMcixkZXNrdG9wOigpPT5TWSxub3RlYm9vazooKT0+elkscGhhYmxldDooKT0+VFkscGhvbmU6KCk9Pl9ZLHRhYmxldDooKT0+Q1l9KTt2YXIgU1kselksQ1ksVFksX1ksdExyLHJMcixhTHIsaUxyLG5McixMWT1mKCgpPT57bHAoKTtKbygpO1NZPTE2MDAselk9MTI0MCxDWT0xMDI0LFRZPTYwMCxfWT00MDAsdExyPWU9PmthKGAKICAgIEBjb250YWluZXIgd2NjVG9vbHNWaWV3cG9ydCAobWluLXdpZHRoOiAke1NZfXB4KSB7CiAgICAgICR7ZS5jc3NUZXh0fQogICAgfQogICAgQG1lZGlhIChtaW4td2lkdGg6ICR7U1l9cHgpIHsKICAgICAgJHtlLmNzc1RleHR9CiAgICB9CiAgYCksckxyPWU9PmthKGAKICAgIEBjb250YWluZXIgd2NjVG9vbHNWaWV3cG9ydCAobWF4LXdpZHRoOiAke3pZfXB4KSB7CiAgICAgICR7ZS5jc3NUZXh0fQogICAgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6ICR7ell9cHgpIHsKICAgICAgJHtlLmNzc1RleHR9CiAgICB9CiAgYCksYUxyPWU9PmthKGAKICAgIEBjb250YWluZXIgd2NjVG9vbHNWaWV3cG9ydCAobWF4LXdpZHRoOiAke0NZfXB4KSB7CiAgICAgICR7ZS5jc3NUZXh0fQogICAgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6ICR7Q1l9cHgpIHsKICAgICAgJHtlLmNzc1RleHR9CiAgICB9CiAgYCksaUxyPWU9PmthKGAKICAgIEBjb250YWluZXIgd2NjVG9vbHNWaWV3cG9ydCAobWF4LXdpZHRoOiAke1RZfXB4KSB7CiAgICAgICR7ZS5jc3NUZXh0fQogICAgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6ICR7VFl9cHgpIHsKICAgICAgJHtlLmNzc1RleHR9CiAgICB9CiAgYCksbkxyPWU9PmthKGAKICAgIEBjb250YWluZXIgd2NjVG9vbHNWaWV3cG9ydCAobWF4LXdpZHRoOiAke19ZfXB4KSB7CiAgICAgICR7ZS5jc3NUZXh0fQogICAgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6ICR7X1l9cHgpIHsKICAgICAgJHtlLmNzc1RleHR9CiAgICB9CiAgYCl9KTt2YXIgRVMseUFlPWYoKCk9PntvcCgpO0VTPWNsYXNze2RvbXRvb2xzSW5zdGFuY2U7c2Nyb2xsQ2FsbGJhY2tzPVtdO2xlbmlzSW5zdGFuY2U9bnVsbDtoYW5kbGVOYXRpdmVTY3JvbGw9dD0+e3RoaXMuZXhlY3V0ZVNjcm9sbENhbGxiYWNrcygpfTtoYW5kbGVMZW5pc1Njcm9sbD10PT57dGhpcy5leGVjdXRlU2Nyb2xsQ2FsbGJhY2tzKCl9O2NvbnN0cnVjdG9yKHQpe3RoaXMuZG9tdG9vbHNJbnN0YW5jZT10LHRoaXMuYXR0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKX1zd2VldFNjcm9sbGVyPW5ldyBEUy5kZWZhdWx0KHt9KTthc3luYyB0b0VsZW1lbnQodCxyKXt0aGlzLnN3ZWV0U2Nyb2xsZXIudG9FbGVtZW50KHQsciksYXdhaXQgVHQuZGVsYXlGb3Ioci5kdXJhdGlvbil9YXN5bmMgZGV0ZWN0TmF0aXZlU21vb3RoU2Nyb2xsKCl7bGV0IHQ9SmUuZGVmZXIoKSxyPTEwMCxhPTMsaT0uNzUsbj1bXTtmdW5jdGlvbiBzKGMpe24ucHVzaChjLmRlbHRhWSksbi5sZW5ndGg+PXImJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLHMpLG8oKSl9ZnVuY3Rpb24gbygpe2xldCBjPW4ubGVuZ3RoLTEsbD0wO2ZvcihsZXQgZD0wO2Q8YztkKyspTWF0aC5hYnMobltkKzFdLW5bZF0pPD1hJiZsKys7bC9jPj1pPyhjb25zb2xlLmxvZygiU21vb3RoIHNjcm9sbGluZyBkZXRlY3RlZC4iKSx0LnJlc29sdmUoITApKTooY29uc29sZS5sb2coIlNtb290aCBzY3JvbGxpbmcgTk9UIGRldGVjdGVkLiIpLHQucmVzb2x2ZSghMSkpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLHMpLHQucHJvbWlzZX1hc3luYyBlbmFibGVMZW5pc1Njcm9sbCh0KXtsZXQgcj1uZXcgaDcoe2F1dG9SYWY6ITB9KTtpZih0Py5kaXNhYmxlT25OYXRpdmVTbW9vdGhTY3JvbGwmJmF3YWl0IHRoaXMuZGV0ZWN0TmF0aXZlU21vb3RoU2Nyb2xsKCkpe3IuZGVzdHJveSgpO3JldHVybn10aGlzLmxlbmlzSW5zdGFuY2U9cix0aGlzLmRldGFjaE5hdGl2ZVNjcm9sbExpc3RlbmVyKCksdGhpcy5hdHRhY2hMZW5pc1Njcm9sbExpc3RlbmVyKCk7bGV0IGE9ci5kZXN0cm95LmJpbmQocik7ci5kZXN0cm95PSgpPT57YSgpLHRoaXMuZGV0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpLHRoaXMuYXR0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKSx0aGlzLmxlbmlzSW5zdGFuY2U9bnVsbH19b25TY3JvbGwodCl7dGhpcy5zY3JvbGxDYWxsYmFja3MucHVzaCh0KX1leGVjdXRlU2Nyb2xsQ2FsbGJhY2tzKCl7dGhpcy5zY3JvbGxDYWxsYmFja3MuZm9yRWFjaCh0PT57dHJ5e3QoKX1jYXRjaChyKXtjb25zb2xlLmVycm9yKCJFcnJvciBpbiBzY3JvbGwgY2FsbGJhY2s6IixyKX19KX1hdHRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpe3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuaGFuZGxlTmF0aXZlU2Nyb2xsKX1kZXRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuaGFuZGxlTmF0aXZlU2Nyb2xsKX1hdHRhY2hMZW5pc1Njcm9sbExpc3RlbmVyKCl7dGhpcy5sZW5pc0luc3RhbmNlJiZ0aGlzLmxlbmlzSW5zdGFuY2Uub24oInNjcm9sbCIsdGhpcy5oYW5kbGVMZW5pc1Njcm9sbCl9ZGV0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpe3RoaXMubGVuaXNJbnN0YW5jZSYmdGhpcy5sZW5pc0luc3RhbmNlLm9mZigic2Nyb2xsIix0aGlzLmhhbmRsZUxlbmlzU2Nyb2xsKX19fSk7dmFyIElTLHdBZT1mKCgpPT57bHAoKTtvcCgpO0lTPWNsYXNze2RvbXRvb2xzUmVmO2dvQnJpZ2h0Qm9vbGVhbj0hMTtwcmVmZXJyZWRDb2xvclNjaGVtZU1lZGlhTWF0Y2g9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpIik7dGhlbWVPYnNlcnZhYmxlPW5ldyByci5yeGpzLlJlcGxheVN1YmplY3QoMSk7Y29uc3RydWN0b3IodCl7dGhpcy5kb210b29sc1JlZj10LHRoaXMuZ29CcmlnaHRCb29sZWFuPXRoaXMucHJlZmVycmVkQ29sb3JTY2hlbWVNZWRpYU1hdGNoLm1hdGNoZXMsdGhpcy5wcmVmZXJyZWRDb2xvclNjaGVtZU1lZGlhTWF0Y2guYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixyPT57dGhpcy5nb0JyaWdodEJvb2xlYW49ci5tYXRjaGVzLHRoaXMudXBkYXRlQWxsQ29ubmVjdGVkRWxlbWVudHMoKX0pLHRoaXMudXBkYXRlQWxsQ29ubmVjdGVkRWxlbWVudHMoKX1hc3luYyBlbmFibGVBdXRvbWF0aWNHbG9iYWxUaGVtZUNoYW5nZSgpe2RvY3VtZW50LmJvZHkmJmRvY3VtZW50LmJvZHkuc3R5bGUmJnRoaXMudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZSh7bmV4dDp0PT57ZG9jdW1lbnQuYm9keS5zdHlsZS5iYWNrZ3JvdW5kPXQ/IiNmZmYiOiIjMDAwIn19KX1hc3luYyB1cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpe3RoaXMudGhlbWVPYnNlcnZhYmxlLm5leHQodGhpcy5nb0JyaWdodEJvb2xlYW4pfWdvQnJpZ2h0KCl7dGhpcy5nb0JyaWdodEJvb2xlYW49ITAsdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfWdvRGFyaygpe3RoaXMuZ29CcmlnaHRCb29sZWFuPSExLHRoaXMudXBkYXRlQWxsQ29ubmVjdGVkRWxlbWVudHMoKX10b2dnbGVEYXJrQnJpZ2h0KCl7dGhpcy5nb0JyaWdodEJvb2xlYW49IXRoaXMuZ29CcmlnaHRCb29sZWFuLHRoaXMudXBkYXRlQWxsQ29ubmVjdGVkRWxlbWVudHMoKX19fSk7dmFyICRZLFBTLE1BZT1mKCgpPT57b3AoKTsoZnVuY3Rpb24oZSl7ZVtlLkJhY2tzcGFjZT04XT0iQmFja3NwYWNlIixlW2UuVGFiPTldPSJUYWIiLGVbZS5FbnRlcj0xM109IkVudGVyIixlW2UuU2hpZnQ9MTZdPSJTaGlmdCIsZVtlLkN0cmw9MTddPSJDdHJsIixlW2UuQWx0PTE4XT0iQWx0IixlW2UuUGF1c2VCcmVhaz0xOV09IlBhdXNlQnJlYWsiLGVbZS5DYXBzTG9jaz0yMF09IkNhcHNMb2NrIixlW2UuRXNjYXBlPTI3XT0iRXNjYXBlIixlW2UuU3BhY2U9MzJdPSJTcGFjZSIsZVtlLlBhZ2VVcD0zM109IlBhZ2VVcCIsZVtlLlBhZ2VEb3duPTM0XT0iUGFnZURvd24iLGVbZS5FbmQ9MzVdPSJFbmQiLGVbZS5Ib21lPTM2XT0iSG9tZSIsZVtlLkxlZnRBcnJvdz0zN109IkxlZnRBcnJvdyIsZVtlLlVwQXJyb3c9MzhdPSJVcEFycm93IixlW2UuUmlnaHRBcnJvdz0zOV09IlJpZ2h0QXJyb3ciLGVbZS5Eb3duQXJyb3c9NDBdPSJEb3duQXJyb3ciLGVbZS5JbnNlcnQ9NDVdPSJJbnNlcnQiLGVbZS5EZWxldGU9NDZdPSJEZWxldGUiLGVbZS5aZXJvPTQ4XT0iWmVybyIsZVtlLkNsb3NlZFBhcmVuPTQ4XT0iQ2xvc2VkUGFyZW4iLGVbZS5PbmU9NDldPSJPbmUiLGVbZS5FeGNsYW1hdGlvbk1hcms9NDldPSJFeGNsYW1hdGlvbk1hcmsiLGVbZS5Ud289NTBdPSJUd28iLGVbZS5BdFNpZ249NTBdPSJBdFNpZ24iLGVbZS5UaHJlZT01MV09IlRocmVlIixlW2UuUG91bmRTaWduPTUxXT0iUG91bmRTaWduIixlW2UuSGFzaD01MV09Ikhhc2giLGVbZS5Gb3VyPTUyXT0iRm91ciIsZVtlLkRvbGxhclNpZ249NTJdPSJEb2xsYXJTaWduIixlW2UuRml2ZT01M109IkZpdmUiLGVbZS5QZXJjZW50U2lnbj01M109IlBlcmNlbnRTaWduIixlW2UuU2l4PTU0XT0iU2l4IixlW2UuQ2FyZXQ9NTRdPSJDYXJldCIsZVtlLkhhdD01NF09IkhhdCIsZVtlLlNldmVuPTU1XT0iU2V2ZW4iLGVbZS5BbXBlcnNhbmQ9NTVdPSJBbXBlcnNhbmQiLGVbZS5FaWdodD01Nl09IkVpZ2h0IixlW2UuU3Rhcj01Nl09IlN0YXIiLGVbZS5Bc3RlcmlrPTU2XT0iQXN0ZXJpayIsZVtlLk5pbmU9NTddPSJOaW5lIixlW2UuT3BlblBhcmVuPTU3XT0iT3BlblBhcmVuIixlW2UuQT02NV09IkEiLGVbZS5CPTY2XT0iQiIsZVtlLkM9NjddPSJDIixlW2UuRD02OF09IkQiLGVbZS5FPTY5XT0iRSIsZVtlLkY9NzBdPSJGIixlW2UuRz03MV09IkciLGVbZS5IPTcyXT0iSCIsZVtlLkk9NzNdPSJJIixlW2UuSj03NF09IkoiLGVbZS5LPTc1XT0iSyIsZVtlLkw9NzZdPSJMIixlW2UuTT03N109Ik0iLGVbZS5OPTc4XT0iTiIsZVtlLk89NzldPSJPIixlW2UuUD04MF09IlAiLGVbZS5RPTgxXT0iUSIsZVtlLlI9ODJdPSJSIixlW2UuUz04M109IlMiLGVbZS5UPTg0XT0iVCIsZVtlLlU9ODVdPSJVIixlW2UuVj04Nl09IlYiLGVbZS5XPTg3XT0iVyIsZVtlLlg9ODhdPSJYIixlW2UuWT04OV09IlkiLGVbZS5aPTkwXT0iWiIsZVtlLkxlZnRXaW5kb3dLZXk9OTFdPSJMZWZ0V2luZG93S2V5IixlW2UuUmlnaHRXaW5kb3dLZXk9OTJdPSJSaWdodFdpbmRvd0tleSIsZVtlLlNlbGVjdEtleT05M109IlNlbGVjdEtleSIsZVtlLk51bXBhZDA9OTZdPSJOdW1wYWQwIixlW2UuTnVtcGFkMT05N109Ik51bXBhZDEiLGVbZS5OdW1wYWQyPTk4XT0iTnVtcGFkMiIsZVtlLk51bXBhZDM9OTldPSJOdW1wYWQzIixlW2UuTnVtcGFkND0xMDBdPSJOdW1wYWQ0IixlW2UuTnVtcGFkNT0xMDFdPSJOdW1wYWQ1IixlW2UuTnVtcGFkNj0xMDJdPSJOdW1wYWQ2IixlW2UuTnVtcGFkNz0xMDNdPSJOdW1wYWQ3IixlW2UuTnVtcGFkOD0xMDRdPSJOdW1wYWQ4IixlW2UuTnVtcGFkOT0xMDVdPSJOdW1wYWQ5IixlW2UuTXVsdGlwbHk9MTA2XT0iTXVsdGlwbHkiLGVbZS5BZGQ9MTA3XT0iQWRkIixlW2UuU3VidHJhY3Q9MTA5XT0iU3VidHJhY3QiLGVbZS5EZWNpbWFsUG9pbnQ9MTEwXT0iRGVjaW1hbFBvaW50IixlW2UuRGl2aWRlPTExMV09IkRpdmlkZSIsZVtlLkYxPTExMl09IkYxIixlW2UuRjI9MTEzXT0iRjIiLGVbZS5GMz0xMTRdPSJGMyIsZVtlLkY0PTExNV09IkY0IixlW2UuRjU9MTE2XT0iRjUiLGVbZS5GNj0xMTddPSJGNiIsZVtlLkY3PTExOF09IkY3IixlW2UuRjg9MTE5XT0iRjgiLGVbZS5GOT0xMjBdPSJGOSIsZVtlLkYxMD0xMjFdPSJGMTAiLGVbZS5GMTE9MTIyXT0iRjExIixlW2UuRjEyPTEyM109IkYxMiIsZVtlLk51bUxvY2s9MTQ0XT0iTnVtTG9jayIsZVtlLlNjcm9sbExvY2s9MTQ1XT0iU2Nyb2xsTG9jayIsZVtlLlNlbWlDb2xvbj0xODZdPSJTZW1pQ29sb24iLGVbZS5FcXVhbHM9MTg3XT0iRXF1YWxzIixlW2UuQ29tbWE9MTg4XT0iQ29tbWEiLGVbZS5EYXNoPTE4OV09IkRhc2giLGVbZS5QZXJpb2Q9MTkwXT0iUGVyaW9kIixlW2UuVW5kZXJTY29yZT0xODldPSJVbmRlclNjb3JlIixlW2UuUGx1c1NpZ249MTg3XT0iUGx1c1NpZ24iLGVbZS5Gb3J3YXJkU2xhc2g9MTkxXT0iRm9yd2FyZFNsYXNoIixlW2UuVGlsZGU9MTkyXT0iVGlsZGUiLGVbZS5HcmF2ZUFjY2VudD0xOTJdPSJHcmF2ZUFjY2VudCIsZVtlLk9wZW5CcmFja2V0PTIxOV09Ik9wZW5CcmFja2V0IixlW2UuQ2xvc2VkQnJhY2tldD0yMjFdPSJDbG9zZWRCcmFja2V0IixlW2UuUXVvdGU9MjIyXT0iUXVvdGUifSkoJFl8fCgkWT17fSkpO1BTPWNsYXNze2RvbU5vZGU7bWFwQ29tYm9zVG9IYW5kbGVycz1uZXcgTWFwO3ByZXNzZWRLZXlzPW5ldyBTZXQ7Y29uc3RydWN0b3IodCl7dGhpcy5kb21Ob2RlPXQsdGhpcy5zdGFydExpc3RlbmluZygpfWtleUVudW09JFk7b24odCl7bGV0IHI9bmV3IHJyLnJ4anMuU3ViamVjdDtyZXR1cm4gdGhpcy5yZWdpc3RlcktleXModCxyKSxyfXRyaWdnZXJLZXlQcmVzcyh0KXtmb3IobGV0IHIgb2YgdCl0aGlzLnByZXNzZWRLZXlzLmFkZChyKTt0aGlzLmNoZWNrTWF0Y2hpbmdLZXlib2FyZFN1YmplY3RzKCk7Zm9yKGxldCByIG9mIHQpdGhpcy5wcmVzc2VkS2V5cy5kZWxldGUocil9c3RhcnRMaXN0ZW5pbmcoKXt0aGlzLmRvbU5vZGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlEb3duKSx0aGlzLmRvbU5vZGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuaGFuZGxlS2V5VXApfXN0b3BMaXN0ZW5pbmcoKXt0aGlzLmRvbU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlEb3duKSx0aGlzLmRvbU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuaGFuZGxlS2V5VXApfWNsZWFyKCl7dGhpcy5zdG9wTGlzdGVuaW5nKCksdGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmNsZWFyKCksdGhpcy5wcmVzc2VkS2V5cy5jbGVhcigpfWhhbmRsZUtleURvd249dD0+e3RoaXMucHJlc3NlZEtleXMuYWRkKHQua2V5Q29kZSksdGhpcy5jaGVja01hdGNoaW5nS2V5Ym9hcmRTdWJqZWN0cyh0KX07Y2hlY2tNYXRjaGluZ0tleWJvYXJkU3ViamVjdHModCl7dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmZvckVhY2goKHIsYSk9Pnt0aGlzLmFyZUFsbEtleXNQcmVzc2VkKGEpJiZyLm5leHQodCl9KX1oYW5kbGVLZXlVcD10PT57dGhpcy5wcmVzc2VkS2V5cy5kZWxldGUodC5rZXlDb2RlKX07YXJlQWxsS2V5c1ByZXNzZWQodCl7bGV0IHI9ITA7cmV0dXJuIHQuZm9yRWFjaChhPT57dGhpcy5wcmVzc2VkS2V5cy5oYXMoYSl8fChyPSExKX0pLHJ9cmVnaXN0ZXJLZXlzKHQscil7aWYoIXRoaXMubWFwQ29tYm9zVG9IYW5kbGVycy5oYXModCkpdGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLnNldCh0LHIpO2Vsc2UgcmV0dXJuIHRoaXMubWFwQ29tYm9zVG9IYW5kbGVycy5nZXQodCl9fX0pO3ZhciBfMixscD1mKCgpPT57b3AoKTtMWSgpO3lBZSgpO1RTKCk7d0FlKCk7TUFlKCk7XzI9Y2xhc3MgZXtzdGF0aWMgaW5pdGlhbGl6YXRpb25Qcm9taXNlPW51bGw7c3RhdGljIGFzeW5jIHNldHVwRG9tVG9vbHModD17fSl7cmV0dXJuIXQuaWdub3JlR2xvYmFsJiZlLmluaXRpYWxpemF0aW9uUHJvbWlzZT9hd2FpdCBlLmluaXRpYWxpemF0aW9uUHJvbWlzZTp0Lmlnbm9yZUdsb2JhbD9uZXcgZSh0KTooZS5pbml0aWFsaXphdGlvblByb21pc2U9KGFzeW5jKCk9PntsZXQgcjtpZihnbG9iYWxUaGlzLmRlZXNEb21Ub29scylyPWdsb2JhbFRoaXMuZGVlc0RvbVRvb2xzO2Vsc2V7Z2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM9bmV3IGUodCkscj1nbG9iYWxUaGlzLmRlZXNEb21Ub29scztsZXQgYT0oKT0+eyhkb2N1bWVudC5yZWFkeVN0YXRlPT09ImludGVyYWN0aXZlInx8ZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpJiYoci5lbGVtZW50cy5oZWFkRWxlbWVudD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJoZWFkIiksci5lbGVtZW50cy5ib2R5RWxlbWVudD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJib2R5Iiksci5rZXlib2FyZD1uZXcgUFMoZG9jdW1lbnQuYm9keSksci5kb21SZWFkeS5yZXNvbHZlKCkpfTtkb2N1bWVudC5yZWFkeVN0YXRlPT09ImludGVyYWN0aXZlInx8ZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSI/YSgpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGEpLHIuZG9tVG9vbHNSZWFkeS5yZXNvbHZlKCl9cmV0dXJuIGF3YWl0IHIuZG9tVG9vbHNSZWFkeS5wcm9taXNlLHJ9KSgpLGF3YWl0IGUuaW5pdGlhbGl6YXRpb25Qcm9taXNlKX1zdGF0aWMgZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCl7aWYoIWdsb2JhbFRoaXMuZGVlc0RvbVRvb2xzKXRocm93IG5ldyBFcnJvcigiWW91IHRyaWVkIHRvIGFjY2VzcyBkb210b29scyBzeW5jaHJvbm91c2x5IHRvbyBlYXJseSIpO3JldHVybiBnbG9iYWxUaGlzLmRlZXNEb21Ub29sc31lbGVtZW50cz17aGVhZEVsZW1lbnQ6bnVsbCxib2R5RWxlbWVudDpudWxsfTt3ZWJzZXR1cD1uZXcgZjcoe21ldGFPYmplY3Q6e3RpdGxlOiIifX0pO3NtYXJ0c3RhdGU9bmV3IFYwLlNtYXJ0c3RhdGU7ZG9tVG9vbHNTdGF0ZVBhcnQ9dGhpcy5zbWFydHN0YXRlLmdldFN0YXRlUGFydCgiZG9tdG9vbHMiLHt2aXJ0dWFsVmlld3BvcnQ6Im5hdGl2ZSIsand0Om51bGx9KTtyb3V0ZXI9bmV3IGowLlNtYXJ0Um91dGVyKHtkZWJ1ZzohMX0pO2NvbnZlbmllbmNlPXt0eXBlZHJlcXVlc3Q6VW4sc21hcnRkZWxheTpUdCxzbWFydGpzb246d2Esc21hcnR1cmw6VTB9O2RlZXNDb21tcz1uZXcgVG0uRGVlc0NvbW1zO3Njcm9sbGVyPW5ldyBFUyh0aGlzKTt0aGVtZU1hbmFnZXI9bmV3IElTKHRoaXMpO2tleWJvYXJkPW51bGw7ZG9tVG9vbHNSZWFkeT1KZS5kZWZlcigpO2RvbVJlYWR5PUplLmRlZmVyKCk7Z2xvYmFsU3R5bGVzUmVhZHk9SmUuZGVmZXIoKTtjb25zdHJ1Y3Rvcih0KXt9cnVuT25jZVRyYWNrZXJTdHJpbmdNYXA9bmV3IG03LlN0cmluZ21hcDtydW5PbmNlUmVzdWx0TWFwPW5ldyBtNy5GYXN0TWFwO3J1bk9uY2VFcnJvck1hcD1uZXcgbTcuRmFzdE1hcDthc3luYyBydW5PbmNlKHQscil7bGV0IGE9YCR7dH0rcnVubmluZ0NoZWNrYDtpZighdGhpcy5ydW5PbmNlVHJhY2tlclN0cmluZ01hcC5jaGVja1N0cmluZyh0KSl7dGhpcy5ydW5PbmNlVHJhY2tlclN0cmluZ01hcC5hZGRTdHJpbmcodCksdGhpcy5ydW5PbmNlVHJhY2tlclN0cmluZ01hcC5hZGRTdHJpbmcoYSk7dHJ5e2xldCBpPWF3YWl0IHIoKTt0aGlzLnJ1bk9uY2VSZXN1bHRNYXAuYWRkVG9NYXAodCxpKX1jYXRjaChpKXt0aGlzLnJ1bk9uY2VFcnJvck1hcC5hZGRUb01hcCh0LGkpfWZpbmFsbHl7dGhpcy5ydW5PbmNlVHJhY2tlclN0cmluZ01hcC5yZW1vdmVTdHJpbmcoYSl9fXJldHVybiBhd2FpdCB0aGlzLnJ1bk9uY2VUcmFja2VyU3RyaW5nTWFwLnJlZ2lzdGVyVW50aWxUcnVlKGk9PiFpLmluY2x1ZGVzKGEpLCgpPT57bGV0IGk9dGhpcy5ydW5PbmNlRXJyb3JNYXAuZ2V0QnlLZXkodCk7aWYoaSl0aHJvdyBpO3JldHVybiB0aGlzLnJ1bk9uY2VSZXN1bHRNYXAuZ2V0QnlLZXkodCl9KX1hc3luYyBzZXRHbG9iYWxTdHlsZXModCl7YXdhaXQgdGhpcy5kb21SZWFkeS5wcm9taXNlO2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7ci50eXBlPSJ0ZXh0L2NzcyIsci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KSksdGhpcy5lbGVtZW50cy5oZWFkRWxlbWVudC5hcHBlbmRDaGlsZChyKX1hc3luYyBzZXRFeHRlcm5hbFNjcmlwdCh0KXthd2FpdCB0aGlzLmRvbVJlYWR5LnByb21pc2U7bGV0IHI9SmUuZGVmZXIoKSxhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2Euc3JjPXQsYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3IucmVzb2x2ZSgpfSksKGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmJvZHkpLmFwcGVuZChhKSxhd2FpdCByLnByb21pc2V9YXN5bmMgc2V0RXh0ZXJuYWxDc3ModCl7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO3IucmVsPSJzdHlsZXNoZWV0IixyLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLHIuaHJlZj10LGRvY3VtZW50LmhlYWQuYXBwZW5kKHIpfWFzeW5jIHNldFdlYnNpdGVJbmZvKHQpe2F3YWl0IHRoaXMud2Vic2V0dXAuc2V0dXAodCksYXdhaXQgdGhpcy53ZWJzZXR1cC5yZWFkeVByb21pc2V9fX0pO3ZhciBOUyxrQWUsU0FlPWYoKCk9PntscCgpO0pvKCk7TlM9KCgpPT57bGV0IGU9bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNYWMgT1MgWCIpPT09LTE/Q3JgYC5jc3NUZXh0OiIiO3JldHVybiBDcmAKICAgIC8qIHdpZHRoICovCiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgd2lkdGg6IDBweDsKICAgIH0KICAgIGJvZHkgewogICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7CiAgICB9CiAgYC5jc3NUZXh0fSkoKSxrQWU9Q3JgCiAgLyoKICBAZm9udC1mYWNlIHsKICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tYXRlcmlhbGljb25zL3Y0Mi9mbFVoUnE2dHpaY2xRRUotVmRnLUl1aWFEc05jSWhROHRRLndvZmYyKQogICAgICBmb3JtYXQoJ3dvZmYyJyk7CiAgfSAqLwoKICAvKiBnbG9iYWwgYm9keSBzdHlsZXMgKi8KICBib2R5IHsKICAgIG1hcmdpbjogMHB4OwogICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgfQoKICAvKiBzY3JvbGwgYmFyIHN0eWxlcyAqLwogICR7a2EoTlMpfQpgLmNzc1RleHR9KTt2YXIgY3A9e307UmUoY3Ase3NldHVwOigpPT5sTHIsc3RhdGljU3R5bGVzOigpPT5zTHIsc3R5bGVzOigpPT5vTHJ9KTt2YXIgc0xyLG9McixsTHIsekFlPWYoKCk9PntvcCgpO2xwKCk7U0FlKCk7Sm8oKTtzTHI9Q3JgCiAgKiB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMsIGNvbG9yIDAuMXM7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIH0KCiAgOmhvc3QgewogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgfQoKICAke2thKE5TKX0KYCxvTHI9aHJgCiAgPHN0eWxlPgogICAgKiB7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcywgY29sb3IgMC4xczsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIH0KCiAgICA6aG9zdCB7CiAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICB9CgogICAgJHtOU30KICA8L3N0eWxlPgpgLGxMcj1hc3luYyhlLHQ9e30pPT57bGV0IHI9YXdhaXQgXzIuc2V0dXBEb21Ub29scyh0KTtyZXR1cm4gci5ydW5PbmNlKCJlbGVtZW50QmFzaWNTZXR1cCIsYXN5bmMoKT0+e3Iuc2V0R2xvYmFsU3R5bGVzKGtBZSl9KSxyfX0pO3ZhciBGUz17fTtSZShGUyx7Y3NzR3JpZENvbHVtbnM6KCk9PmNMcn0pO3ZhciBjTHIsQ0FlPWYoKCk9PntjTHI9KGUsdCk9PntsZXQgcj0iIjtmb3IobGV0IGE9MDthPGU7YSsrKXIrPWAgY2FsYygoMTAwJS8ke2V9KSAtICgke3QqKGUtMSl9cHgvJHtlfSkpYDtyZXR1cm4gcn19KTt2YXIgT1M9e307UmUoT1Mse1N3ZWV0U2Nyb2xsOigpPT5EWS5kZWZhdWx0LHNtYXJ0ZGVsYXk6KCk9PlR0LHNtYXJ0bWFya2Rvd246KCk9PmlwLHNtYXJ0cHJvbWlzZTooKT0+SmUsc21hcnRyb3V0ZXI6KCk9PmowLHNtYXJ0cng6KCk9PnJyLHNtYXJ0c3RhdGU6KCk9PlYwLHNtYXJ0c3RyaW5nOigpPT5ibixzbWFydHVybDooKT0+VTAsdHlwZWRyZXF1ZXN0OigpPT5Vbn0pO3ZhciBEWSxUQWU9ZigoKT0+e3QyKCk7ekcoKTtsbigpO0RZPXNyKGtZKCksMSk7VUcoKTtFRygpO29vKCk7Y20oKTtHRygpO1NtKCl9KTt2YXIgeHM9e307UmUoeHMse0RvbVRvb2xzOigpPT5fMixUeXBlZFJlcXVlc3Q6KCk9PmttLGJyZWFrcG9pbnRzOigpPT5UMixjc3M6KCk9PkZTLGVsZW1lbnRCYXNpYzooKT0+Y3AscGx1Z2luczooKT0+T1N9KTt2YXIgUlM9ZigoKT0+e1NmZSgpO3pBZSgpO0xZKCk7Q0FlKCk7bHAoKTtTbSgpO1RTKCk7VEFlKCl9KTt2YXIgQVksWTAsRVk9ZigoKT0+e0FZPXNyKFh2KCksMSk7b28oKTtKbygpO2tmZSgpO1JTKCk7WTA9e2NzczpDcix1bnNhZmVDU1M6a2EsTGl0RWxlbWVudDp3bCxwcm9wZXJ0eTpfM319KTt2YXIgQlMsTEFlPWYoKCk9PntKbygpO0VZKCk7UlMoKTtCUz1jbGFzcyBle3N0YXRpYyBpbnN0YW5jZT1udWxsO3N0YXRpYyBnZXRTaW5nbGV0b24oKXtyZXR1cm4gZS5pbnN0YW5jZXx8KGUuaW5zdGFuY2U9bmV3IGUpLGUuaW5zdGFuY2V9ZG9tdG9vbHNQcm9taXNlPV8yLnNldHVwRG9tVG9vbHMoKTtnb0JyaWdodD0hMTtiZFZhclRyaXBsZXRTdG9yZT1bXTtjb25zdHJ1Y3Rvcigpe3RoaXMuZG9tdG9vbHNQcm9taXNlLnRoZW4oYXN5bmMgdD0+e3QudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoYXN5bmMgcj0+e3RoaXMuZ29CcmlnaHQ9cixhd2FpdCB0LmRvbVJlYWR5LnByb21pc2U7Zm9yKGxldCBhIG9mIHRoaXMuYmRWYXJUcmlwbGV0U3RvcmUpZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eShhLmNzc1Zhck5hbWUsdGhpcy5nb0JyaWdodD9hLmJyaWdodFZhbHVlOmEuZGFya1ZhbHVlKX0pfSl9Z2V0IGRlZmF1bHRTdHlsZXMoKXtyZXR1cm4gY3Auc3RhdGljU3R5bGVzfWNzc0ZvckRlc2t0b3AodCl7cmV0dXJuIGthKFQyLmNzc0ZvckRlc2t0b3AodCkpfWNzc0Zvck5vdGVib29rKHQpe3JldHVybiBrYShUMi5jc3NGb3JOb3RlYm9vayh0KSl9Y3NzRm9yVGFibGV0KHQpe3JldHVybiBrYShUMi5jc3NGb3JUYWJsZXQodCkpfWNzc0ZvclBoYWJsZXQodCl7cmV0dXJuIGthKFQyLmNzc0ZvclBoYWJsZXQodCkpfWNzc0ZvclBob25lKHQpe3JldHVybiBrYShUMi5jc3NGb3JQaG9uZSh0KSl9YmRUaGVtZSh0LHIpe2xldCBhLGk7XzIuZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCk/aT1fMi5nZXRHbG9iYWxEb21Ub29sc1N5bmMoKS50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuP3Q6cjppPXI7bGV0IG49dGhpcy5iZFZhclRyaXBsZXRTdG9yZS5maW5kKHM9PnMuZGFya1ZhbHVlPT09ciYmcy5icmlnaHRWYWx1ZT09PXQpO2lmKG4pYT1uLmNzc1Zhck5hbWU7ZWxzZXtsZXQgcz17Y3NzVmFyTmFtZTpgLS0ke0FZLnVuaSgpfWAsYnJpZ2h0VmFsdWU6dCxkYXJrVmFsdWU6cn07dGhpcy5iZFZhclRyaXBsZXRTdG9yZS5wdXNoKHMpLHRoaXMuZG9tdG9vbHNQcm9taXNlLnRoZW4oYXN5bmMgbz0+e2F3YWl0IG8uZG9tUmVhZHkucHJvbWlzZSxkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KHMuY3NzVmFyTmFtZSxpKX0pLGE9cy5jc3NWYXJOYW1lfXJldHVybiBZMC51bnNhZmVDU1MoYHZhcigke2F9LCAke2l9KWApfWNzc0dyaWRDb2x1bW5zPSh0LHIpPT57bGV0IGE9IiI7Zm9yKGxldCBpPTA7aTx0O2krKylhKz1gIGNhbGMoKDEwMCUvJHt0fSkgLSAoJHtyKih0LTEpfXB4LyR7dH0pKWA7cmV0dXJuIFkwLnVuc2FmZUNTUyhhKX19fSk7dmFyIElZLGRMcixQWSx1THIsJEFlLEhTLE5ZLHBMcixmTHIsREFlPWYoKCk9PnthbygpO0lZPVN5bWJvbC5mb3IoIiIpLGRMcj1lPT57aWYoZT8ucj09PUlZKXJldHVybiBlPy5fJGxpdFN0YXRpYyR9LFBZPWU9Pih7XyRsaXRTdGF0aWMkOmUscjpJWX0pLHVMcj0oZSwuLi50KT0+KHtfJGxpdFN0YXRpYyQ6dC5yZWR1Y2UoKHIsYSxpKT0+cisobj0+e2lmKG4uXyRsaXRTdGF0aWMkIT09dm9pZCAwKXJldHVybiBuLl8kbGl0U3RhdGljJDt0aHJvdyBFcnJvcihgVmFsdWUgcGFzc2VkIHRvICdsaXRlcmFsJyBmdW5jdGlvbiBtdXN0IGJlIGEgJ2xpdGVyYWwnIHJlc3VsdDogJHtufS4gVXNlICd1bnNhZmVTdGF0aWMnIHRvIHBhc3Mgbm9uLWxpdGVyYWwgdmFsdWVzLCBidXQKICAgICAgICAgICAgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LmApfSkoYSkrZVtpKzFdLGVbMF0pLHI6SVl9KSwkQWU9bmV3IE1hcCxIUz1lPT4odCwuLi5yKT0+e2xldCBhPXIubGVuZ3RoLGksbixzPVtdLG89W10sYyxsPTAsdT0hMTtmb3IoO2w8YTspe2ZvcihjPXRbbF07bDxhJiYobj1yW2xdLChpPWRMcihuKSkhPT12b2lkIDApOyljKz1pK3RbKytsXSx1PSEwO2whPT1hJiZvLnB1c2gobikscy5wdXNoKGMpLGwrK31pZihsPT09YSYmcy5wdXNoKHRbYV0pLHUpe2xldCBkPXMuam9pbigiJCRsaXQkJCIpOyh0PSRBZS5nZXQoZCkpPT09dm9pZCAwJiYocy5yYXc9cywkQWUuc2V0KGQsdD1zKSkscj1vfXJldHVybiBlKHQsLi4ucil9LE5ZPUhTKGhyKSxwTHI9SFMoVE8pLGZMcj1IUyhfTyl9KTt2YXIgQUFlPWYoKCk9PntEQWUoKX0pO3ZhciBMMix0aSx5cyxVbD1mKCgpPT57TDI9e0FUVFJJQlVURToxLENISUxEOjIsUFJPUEVSVFk6MyxCT09MRUFOX0FUVFJJQlVURTo0LEVWRU5UOjUsRUxFTUVOVDo2fSx0aT1lPT4oLi4udCk9Pih7XyRsaXREaXJlY3RpdmUkOmUsdmFsdWVzOnR9KSx5cz1jbGFzc3tjb25zdHJ1Y3Rvcih0KXt9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9XyRBVCh0LHIsYSl7dGhpcy5fJEN0PXQsdGhpcy5fJEFNPXIsdGhpcy5fJENpPWF9XyRBUyh0LHIpe3JldHVybiB0aGlzLnVwZGF0ZSh0LHIpfXVwZGF0ZSh0LHIpe3JldHVybiB0aGlzLnJlbmRlciguLi5yKX19fSk7dmFyIGRwLEZZLEVBZT1mKCgpPT57YW8oKTtVbCgpO2RwPWNsYXNzIGV4dGVuZHMgeXN7Y29uc3RydWN0b3IodCl7aWYoc3VwZXIodCksdGhpcy5pdD15YSx0LnR5cGUhPT1MMi5DSElMRCl0aHJvdyBFcnJvcih0aGlzLmNvbnN0cnVjdG9yLmRpcmVjdGl2ZU5hbWUrIigpIGNhbiBvbmx5IGJlIHVzZWQgaW4gY2hpbGQgYmluZGluZ3MiKX1yZW5kZXIodCl7aWYodD09PXlhfHx0PT1udWxsKXJldHVybiB0aGlzLl90PXZvaWQgMCx0aGlzLml0PXQ7aWYodD09PWNhKXJldHVybiB0O2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBFcnJvcih0aGlzLmNvbnN0cnVjdG9yLmRpcmVjdGl2ZU5hbWUrIigpIGNhbGxlZCB3aXRoIGEgbm9uLXN0cmluZyB2YWx1ZSIpO2lmKHQ9PT10aGlzLml0KXJldHVybiB0aGlzLl90O3RoaXMuaXQ9dDtsZXQgcj1bdF07cmV0dXJuIHIucmF3PXIsdGhpcy5fdD17XyRsaXRUeXBlJDp0aGlzLmNvbnN0cnVjdG9yLnJlc3VsdFR5cGUsc3RyaW5nczpyLHZhbHVlczpbXX19fTtkcC5kaXJlY3RpdmVOYW1lPSJ1bnNhZmVIVE1MIixkcC5yZXN1bHRUeXBlPTE7Rlk9dGkoZHApfSk7dmFyIElBZT1mKCgpPT57RUFlKCl9KTt2YXIgaGksT1k9ZigoKT0+e2hpPWU9Pih0LHIpPT57ciE9PXZvaWQgMD9yLmFkZEluaXRpYWxpemVyKCgpPT57Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGUsdCl9KTpjdXN0b21FbGVtZW50cy5kZWZpbmUoZSx0KX19KTt2YXIgUEFlPWYoKCk9PntPWSgpfSk7ZnVuY3Rpb24gJHIoZSl7cmV0dXJuIF8zKHsuLi5lLHN0YXRlOiEwLGF0dHJpYnV0ZTohMX0pfXZhciBOQWU9ZigoKT0+e1V4KCk7fSk7ZnVuY3Rpb24gaExyKGUpe3JldHVybih0LHIpPT57bGV0IGE9dHlwZW9mIHQ9PSJmdW5jdGlvbiI/dDp0W3JdO09iamVjdC5hc3NpZ24oYSxlKX19dmFyIEZBZT1mKCgpPT57fSk7dmFyIHdzLHVwPWYoKCk9Pnt3cz0oZSx0LHIpPT4oci5jb25maWd1cmFibGU9ITAsci5lbnVtZXJhYmxlPSEwLFJlZmxlY3QuZGVjb3JhdGUmJnR5cGVvZiB0IT0ib2JqZWN0IiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxyKSxyKX0pO2Z1bmN0aW9uIFJZKGUsdCl7cmV0dXJuKHIsYSxpKT0+e2xldCBuPXM9PnMucmVuZGVyUm9vdD8ucXVlcnlTZWxlY3RvcihlKT8/bnVsbDtpZih0KXtsZXR7Z2V0OnMsc2V0Om99PXR5cGVvZiBhPT0ib2JqZWN0Ij9yOmk/PygoKT0+e2xldCBjPVN5bWJvbCgpO3JldHVybntnZXQoKXtyZXR1cm4gdGhpc1tjXX0sc2V0KGwpe3RoaXNbY109bH19fSkoKTtyZXR1cm4gd3MocixhLHtnZXQoKXtsZXQgYz1zLmNhbGwodGhpcyk7cmV0dXJuIGM9PT12b2lkIDAmJihjPW4odGhpcyksKGMhPT1udWxsfHx0aGlzLmhhc1VwZGF0ZWQpJiZvLmNhbGwodGhpcyxjKSksY319KX1yZXR1cm4gd3MocixhLHtnZXQoKXtyZXR1cm4gbih0aGlzKX19KX19dmFyIE9BZT1mKCgpPT57dXAoKTt9KTtmdW5jdGlvbiBCWShlKXtyZXR1cm4odCxyKT0+d3ModCxyLHtnZXQoKXtyZXR1cm4odGhpcy5yZW5kZXJSb290Pz8obUxyPz89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSkucXVlcnlTZWxlY3RvckFsbChlKX19KX12YXIgbUxyLFJBZT1mKCgpPT57dXAoKTt9KTtmdW5jdGlvbiBIWShlKXtyZXR1cm4odCxyKT0+d3ModCxyLHthc3luYyBnZXQoKXtyZXR1cm4gYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLnJlbmRlclJvb3Q/LnF1ZXJ5U2VsZWN0b3IoZSk/P251bGx9fSl9dmFyIEJBZT1mKCgpPT57dXAoKTt9KTtmdW5jdGlvbiBnTHIoZSl7cmV0dXJuKHQscik9PntsZXR7c2xvdDphLHNlbGVjdG9yOml9PWU/P3t9LG49InNsb3QiKyhhP2BbbmFtZT0ke2F9XWA6Ijpub3QoW25hbWVdKSIpO3JldHVybiB3cyh0LHIse2dldCgpe2xldCBzPXRoaXMucmVuZGVyUm9vdD8ucXVlcnlTZWxlY3RvcihuKSxvPXM/LmFzc2lnbmVkRWxlbWVudHMoZSk/P1tdO3JldHVybiBpPT09dm9pZCAwP286by5maWx0ZXIoYz0+Yy5tYXRjaGVzKGkpKX19KX19dmFyIEhBZT1mKCgpPT57dXAoKTt9KTtmdW5jdGlvbiBiTHIoZSl7cmV0dXJuKHQscik9PntsZXR7c2xvdDphfT1lPz97fSxpPSJzbG90IisoYT9gW25hbWU9JHthfV1gOiI6bm90KFtuYW1lXSkiKTtyZXR1cm4gd3ModCxyLHtnZXQoKXtyZXR1cm4gdGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKGkpPy5hc3NpZ25lZE5vZGVzKGUpPz9bXX19KX19dmFyIHFBZT1mKCgpPT57dXAoKTt9KTt2YXIgakFlPWYoKCk9PntPWSgpO1V4KCk7TkFlKCk7RkFlKCk7T0FlKCk7UkFlKCk7QkFlKCk7SEFlKCk7cUFlKCl9KTt2YXIgVkFlLHFTLERpLFVBZT1mKCgpPT57RVkoKTtWQWU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxxUz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sRGk9KCgpPT57bGV0IGU9WTAuTGl0RWxlbWVudCx0LHI9W10sYT1bXSxpLG49W10scz1bXTtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBle3N0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShlW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDt0PVtZMC5wcm9wZXJ0eSh7dHlwZTpCb29sZWFufSldLGk9W1kwLnByb3BlcnR5KCldLFZBZSh0aGlzLG51bGwsdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImdvQnJpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsPT4iZ29CcmlnaHQiaW4gbCxnZXQ6bD0+bC5nb0JyaWdodCxzZXQ6KGwsdSk9PntsLmdvQnJpZ2h0PXV9fSxtZXRhZGF0YTpjfSxyLGEpLFZBZSh0aGlzLG51bGwsaSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvbXRvb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsPT4iZG9tdG9vbHMiaW4gbCxnZXQ6bD0+bC5kb210b29scyxzZXQ6KGwsdSk9PntsLmRvbXRvb2xzPXV9fSxtZXRhZGF0YTpjfSxuLHMpLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfSNlPXFTKHRoaXMsciwhMSk7Z2V0IGdvQnJpZ2h0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGdvQnJpZ2h0KGMpe3RoaXMuI2U9Y31kb210b29sc1Byb21pc2U9cVModGhpcyxhKTsjdD1xUyh0aGlzLG4sdm9pZCAwKTtnZXQgZG9tdG9vbHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZG9tdG9vbHMoYyl7dGhpcy4jdD1jfXJ4U3Vic2NyaXB0aW9ucz0ocVModGhpcyxzKSxbXSk7dGhlbWVTdWJzY3JpcHRpb247ZWxlbWVudERvbVJlYWR5RGVmZXJyZWQ9eHMucGx1Z2lucy5zbWFydHByb21pc2UuZGVmZXIoKTtlbGVtZW50RG9tUmVhZHk9dGhpcy5lbGVtZW50RG9tUmVhZHlEZWZlcnJlZC5wcm9taXNlO2NvbnN0cnVjdG9yKGM9e30pe3N1cGVyKCksdGhpcy5kb210b29sc1Byb21pc2U9eHMuZWxlbWVudEJhc2ljLnNldHVwKHRoaXMsYyksdGhpcy5kb210b29sc1Byb21pc2UudGhlbihsPT57dGhpcy5kb210b29scz1sfSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO2xldCBjPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMudGhlbWVTdWJzY3JpcHRpb249Yy50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShsPT57dGhpcy5nb0JyaWdodD1sLHRoaXMudGhlbWVDaGFuZ2VkJiZ0aGlzLnRoZW1lQ2hhbmdlZChsKX0pLHRoaXMucnhTdWJzY3JpcHRpb25zLnB1c2godGhpcy50aGVtZVN1YnNjcmlwdGlvbik7Zm9yKGxldCBsIG9mIHRoaXMuc3RhcnR1cEZ1bmN0aW9ucylhd2FpdCBsKCk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVlc0VsZW1lbnRDb25uZWN0ZWQiKSl9Zmlyc3RVcGRhdGVkKGMpe3N1cGVyLmZpcnN0VXBkYXRlZChjKSx0aGlzLmVsZW1lbnREb21SZWFkeURlZmVycmVkLnJlc29sdmUoKX1zdGFydHVwRnVuY3Rpb25zPVtdO3JlZ2lzdGVyU3RhcnR1cEZ1bmN0aW9uKGMpe3RoaXMuc3RhcnR1cEZ1bmN0aW9ucy5wdXNoKGMpfWdhcmJhZ2VGdW5jdGlvbnM9W107cmVnaXN0ZXJHYXJiYWdlRnVuY3Rpb24oYyl7dGhpcy5nYXJiYWdlRnVuY3Rpb25zLnB1c2goYyl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO2ZvcihsZXQgYyBvZiB0aGlzLnJ4U3Vic2NyaXB0aW9ucyljLnVuc3Vic2NyaWJlKCk7Zm9yKGxldCBjIG9mIHRoaXMuZ2FyYmFnZUZ1bmN0aW9ucylhd2FpdCBjKCk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVlc0VsZW1lbnREaXNjb25uZWN0ZWQiKSl9fX0pKCl9KTt2YXIgdkxyLFdBZSxxWSx4THIseUxyLHdMcixNTHIsa0xyLGpZLEdBZSxXbCxtbyxTTHIsZzcsVlksYjcsVVkscHA9ZigoKT0+e2FvKCk7KHtJOnZMcn09TE8pLFdBZT1lPT5lLHFZPWU9PmU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCImJnR5cGVvZiBlIT0iZnVuY3Rpb24iLHhMcj17SFRNTDoxLFNWRzoyLE1BVEhNTDozfSx5THI9KGUsdCk9PnQ9PT12b2lkIDA/ZT8uXyRsaXRUeXBlJCE9PXZvaWQgMDplPy5fJGxpdFR5cGUkPT09dCx3THI9ZT0+ZT8uXyRsaXRUeXBlJD8uaCE9bnVsbCxNTHI9ZT0+ZT8uXyRsaXREaXJlY3RpdmUkIT09dm9pZCAwLGtMcj1lPT5lPy5fJGxpdERpcmVjdGl2ZSQsalk9ZT0+ZS5zdHJpbmdzPT09dm9pZCAwLEdBZT0oKT0+ZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIiksV2w9KGUsdCxyKT0+e2xldCBhPWUuXyRBQS5wYXJlbnROb2RlLGk9dD09PXZvaWQgMD9lLl8kQUI6dC5fJEFBO2lmKHI9PT12b2lkIDApe2xldCBuPWEuaW5zZXJ0QmVmb3JlKEdBZSgpLGkpLHM9YS5pbnNlcnRCZWZvcmUoR0FlKCksaSk7cj1uZXcgdkxyKG4scyxlLGUub3B0aW9ucyl9ZWxzZXtsZXQgbj1yLl8kQUIubmV4dFNpYmxpbmcscz1yLl8kQU0sbz1zIT09ZTtpZihvKXtsZXQgYztyLl8kQVE/LihlKSxyLl8kQU09ZSxyLl8kQVAhPT12b2lkIDAmJihjPWUuXyRBVSkhPT1zLl8kQVUmJnIuXyRBUChjKX1pZihuIT09aXx8byl7bGV0IGM9ci5fJEFBO2Zvcig7YyE9PW47KXtsZXQgbD1XQWUoYykubmV4dFNpYmxpbmc7V0FlKGEpLmluc2VydEJlZm9yZShjLGkpLGM9bH19fXJldHVybiByfSxtbz0oZSx0LHI9ZSk9PihlLl8kQUkodCxyKSxlKSxTTHI9e30sZzc9KGUsdD1TTHIpPT5lLl8kQUg9dCxWWT1lPT5lLl8kQUgsYjc9ZT0+e2UuXyRBUigpLGUuXyRBQS5yZW1vdmUoKX0sVVk9ZT0+e2UuXyRBUigpfX0pO2Z1bmN0aW9uIHpMcihlKXt0aGlzLl8kQU4hPT12b2lkIDA/KGpTKHRoaXMpLHRoaXMuXyRBTT1lLFlBZSh0aGlzKSk6dGhpcy5fJEFNPWV9ZnVuY3Rpb24gQ0xyKGUsdD0hMSxyPTApe2xldCBhPXRoaXMuXyRBSCxpPXRoaXMuXyRBTjtpZihpIT09dm9pZCAwJiZpLnNpemUhPT0wKWlmKHQpaWYoQXJyYXkuaXNBcnJheShhKSlmb3IobGV0IG49cjtuPGEubGVuZ3RoO24rKyl2NyhhW25dLCExKSxqUyhhW25dKTtlbHNlIGEhPW51bGwmJih2NyhhLCExKSxqUyhhKSk7ZWxzZSB2Nyh0aGlzLGUpfXZhciB2NyxqUyxZQWUsVExyLHExLFZTPWYoKCk9PntwcCgpO1VsKCk7VWwoKTt2Nz0oZSx0KT0+e2xldCByPWUuXyRBTjtpZihyPT09dm9pZCAwKXJldHVybiExO2ZvcihsZXQgYSBvZiByKWEuXyRBTz8uKHQsITEpLHY3KGEsdCk7cmV0dXJuITB9LGpTPWU9PntsZXQgdCxyO2Rve2lmKCh0PWUuXyRBTSk9PT12b2lkIDApYnJlYWs7cj10Ll8kQU4sci5kZWxldGUoZSksZT10fXdoaWxlKHI/LnNpemU9PT0wKX0sWUFlPWU9Pntmb3IobGV0IHQ7dD1lLl8kQU07ZT10KXtsZXQgcj10Ll8kQU47aWYocj09PXZvaWQgMCl0Ll8kQU49cj1uZXcgU2V0O2Vsc2UgaWYoci5oYXMoZSkpYnJlYWs7ci5hZGQoZSksVExyKHQpfX07VExyPWU9PntlLnR5cGU9PUwyLkNISUxEJiYoZS5fJEFQPz89Q0xyLGUuXyRBUT8/PXpMcil9LHExPWNsYXNzIGV4dGVuZHMgeXN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuXyRBTj12b2lkIDB9XyRBVCh0LHIsYSl7c3VwZXIuXyRBVCh0LHIsYSksWUFlKHRoaXMpLHRoaXMuaXNDb25uZWN0ZWQ9dC5fJEFVfV8kQU8odCxyPSEwKXt0IT09dGhpcy5pc0Nvbm5lY3RlZCYmKHRoaXMuaXNDb25uZWN0ZWQ9dCx0P3RoaXMucmVjb25uZWN0ZWQ/LigpOnRoaXMuZGlzY29ubmVjdGVkPy4oKSksciYmKHY3KHRoaXMsdCksalModGhpcykpfXNldFZhbHVlKHQpe2lmKGpZKHRoaXMuXyRDdCkpdGhpcy5fJEN0Ll8kQUkodCx0aGlzKTtlbHNle2xldCByPVsuLi50aGlzLl8kQ3QuXyRBSF07clt0aGlzLl8kQ2ldPXQsdGhpcy5fJEN0Ll8kQUkocix0aGlzLDApfX1kaXNjb25uZWN0ZWQoKXt9cmVjb25uZWN0ZWQoKXt9fX0pO3ZhciBVUz1mKCgpPT57VlMoKX0pO3ZhciBXWSxaQWUsX0xyLFhBZT1mKCgpPT57Sm8oKTtVUygpO1dZPWNsYXNzIGV4dGVuZHMgcTF7cHJvbWlzZTtoYXNQcm9taXNlU2V0dGxlZD0hMTtyZW5kZXIodCl7cmV0dXJuIHRoaXMucHJvbWlzZSE9PXQmJih0aGlzLnByb21pc2U9dCx0aGlzLmlzQ29ubmVjdGVkJiZ0aGlzLmhhbmRsZVByb21pc2UodCkpLGNhfWhhbmRsZVByb21pc2UodCl7dGhpcy5oYXNQcm9taXNlU2V0dGxlZD0hMSx0LnRoZW4ocj0+e3RoaXMucHJvbWlzZT09PXQmJiF0aGlzLmhhc1Byb21pc2VTZXR0bGVkJiYodGhpcy5zZXRWYWx1ZShyKSx0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSEwKX0pLmNhdGNoKHI9Pnt0aGlzLnByb21pc2U9PT10JiYhdGhpcy5oYXNQcm9taXNlU2V0dGxlZCYmKHRoaXMuc2V0VmFsdWUociksdGhpcy5oYXNQcm9taXNlU2V0dGxlZD0hMCl9KX1kaXNjb25uZWN0ZWQoKXt0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSEwfXJlY29ubmVjdGVkKCl7dGhpcy5oYXNQcm9taXNlU2V0dGxlZHx8dGhpcy5oYW5kbGVQcm9taXNlKHRoaXMucHJvbWlzZSl9fSxaQWU9dGkoV1kpLF9Mcj1lPT5aQWUoZSgpKX0pO3ZhciBHWSxMTHIsUUFlPWYoKCk9PntKbygpO1VTKCk7b28oKTtHWT1jbGFzcyBleHRlbmRzIHExe29ic2VydmFibGU7c3ViPW51bGw7cmVuZGVyKHQpe3JldHVybiB0aGlzLm9ic2VydmFibGUhPT10JiYodGhpcy5zdWI/LnVuc3Vic2NyaWJlKCksdGhpcy5vYnNlcnZhYmxlPXQsdGhpcy5pc0Nvbm5lY3RlZCYmdGhpcy5zdWJzY3JpYmUodCkpLGNhfXN1YnNjcmliZSh0KXt0aGlzLnN1Yj10LnN1YnNjcmliZShyPT57dGhpcy5zZXRWYWx1ZShyKX0pfWRpc2Nvbm5lY3RlZCgpe3RoaXMuc3ViPy51bnN1YnNjcmliZSgpfXJlY29ubmVjdGVkKCl7dGhpcy5zdWJzY3JpYmUodGhpcy5vYnNlcnZhYmxlKX19LExMcj10aShHWSl9KTt2YXIgWVksSkFlLEtBZT1mKCgpPT57Sm8oKTtVUygpO29vKCk7WVk9Y2xhc3MgZXh0ZW5kcyBxMXtvYnNlcnZhYmxlO3RlbXBsYXRlRm47c3ViPW51bGw7cmVuZGVyKHQscil7cmV0dXJuKHRoaXMub2JzZXJ2YWJsZSE9PXR8fHRoaXMudGVtcGxhdGVGbiE9PXIpJiYodGhpcy5zdWI/LnVuc3Vic2NyaWJlKCksdGhpcy5vYnNlcnZhYmxlPXQsdGhpcy50ZW1wbGF0ZUZuPXIsdGhpcy5pc0Nvbm5lY3RlZCYmdGhpcy5zdGFydFN1YnNjcmlwdGlvbigpKSxjYX1zdGFydFN1YnNjcmlwdGlvbigpe3RoaXMuc3ViPXRoaXMub2JzZXJ2YWJsZS5zdWJzY3JpYmUodD0+e2xldCByPXRoaXMudGVtcGxhdGVGbih0KTt0aGlzLnNldFZhbHVlKHIpfSl9ZGlzY29ubmVjdGVkKCl7dGhpcy5zdWI/LnVuc3Vic2NyaWJlKCl9cmVjb25uZWN0ZWQoKXt0aGlzLnN0YXJ0U3Vic2NyaXB0aW9uKCl9fSxKQWU9dGkoWVkpfSk7dmFyIFpZLHpkLENkLFhZPWYoKCk9PntaWT1hc3luYyhlLHQpPT57Zm9yIGF3YWl0KGxldCByIG9mIGUpaWYoYXdhaXQgdChyKT09PSExKXJldHVybn0semQ9Y2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5HPXR9ZGlzY29ubmVjdCgpe3RoaXMuRz12b2lkIDB9cmVjb25uZWN0KHQpe3RoaXMuRz10fWRlcmVmKCl7cmV0dXJuIHRoaXMuR319LENkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5ZPXZvaWQgMCx0aGlzLlo9dm9pZCAwfWdldCgpe3JldHVybiB0aGlzLll9cGF1c2UoKXt0aGlzLlk/Pz1uZXcgUHJvbWlzZSh0PT50aGlzLlo9dCl9cmVzdW1lKCl7dGhpcy5aPy4oKSx0aGlzLlk9dGhpcy5aPXZvaWQgMH19fSk7dmFyIGVFZSx0RWUsV1MsUVksckVlPWYoKCk9PnthbygpO3BwKCk7VlMoKTtYWSgpO1VsKCk7ZUVlPWU9PiFxWShlKSYmdHlwZW9mIGUudGhlbj09ImZ1bmN0aW9uIix0RWU9MTA3Mzc0MTgyMyxXUz1jbGFzcyBleHRlbmRzIHExe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl8kQ3d0PXRFZSx0aGlzLl8kQ2J0PVtdLHRoaXMuXyRDSz1uZXcgemQodGhpcyksdGhpcy5fJENYPW5ldyBDZH1yZW5kZXIoLi4udCl7cmV0dXJuIHQuZmluZChyPT4hZUVlKHIpKT8/Y2F9dXBkYXRlKHQscil7bGV0IGE9dGhpcy5fJENidCxpPWEubGVuZ3RoO3RoaXMuXyRDYnQ9cjtsZXQgbj10aGlzLl8kQ0sscz10aGlzLl8kQ1g7dGhpcy5pc0Nvbm5lY3RlZHx8dGhpcy5kaXNjb25uZWN0ZWQoKTtmb3IobGV0IG89MDtvPHIubGVuZ3RoJiYhKG8+dGhpcy5fJEN3dCk7bysrKXtsZXQgYz1yW29dO2lmKCFlRWUoYykpcmV0dXJuIHRoaXMuXyRDd3Q9byxjO288aSYmYz09PWFbb118fCh0aGlzLl8kQ3d0PXRFZSxpPTAsUHJvbWlzZS5yZXNvbHZlKGMpLnRoZW4oYXN5bmMgbD0+e2Zvcig7cy5nZXQoKTspYXdhaXQgcy5nZXQoKTtsZXQgdT1uLmRlcmVmKCk7aWYodSE9PXZvaWQgMCl7bGV0IGQ9dS5fJENidC5pbmRleE9mKGMpO2Q+LTEmJmQ8dS5fJEN3dCYmKHUuXyRDd3Q9ZCx1LnNldFZhbHVlKGwpKX19KSl9cmV0dXJuIGNhfWRpc2Nvbm5lY3RlZCgpe3RoaXMuXyRDSy5kaXNjb25uZWN0KCksdGhpcy5fJENYLnBhdXNlKCl9cmVjb25uZWN0ZWQoKXt0aGlzLl8kQ0sucmVjb25uZWN0KHRoaXMpLHRoaXMuXyRDWC5yZXN1bWUoKX19LFFZPXRpKFdTKX0pO3ZhciBhRWU9ZigoKT0+e3JFZSgpfSk7dmFyIGZwLCRMcixpRWU9ZigoKT0+e2FvKCk7VlMoKTtYWSgpO1VsKCk7ZnA9Y2xhc3MgZXh0ZW5kcyBxMXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fJENLPW5ldyB6ZCh0aGlzKSx0aGlzLl8kQ1g9bmV3IENkfXJlbmRlcih0LHIpe3JldHVybiBjYX11cGRhdGUodCxbcixhXSl7aWYodGhpcy5pc0Nvbm5lY3RlZHx8dGhpcy5kaXNjb25uZWN0ZWQoKSxyPT09dGhpcy5fJENKKXJldHVybiBjYTt0aGlzLl8kQ0o9cjtsZXQgaT0wLHtfJENLOm4sXyRDWDpzfT10aGlzO3JldHVybiBaWShyLGFzeW5jIG89Pntmb3IoO3MuZ2V0KCk7KWF3YWl0IHMuZ2V0KCk7bGV0IGM9bi5kZXJlZigpO2lmKGMhPT12b2lkIDApe2lmKGMuXyRDSiE9PXIpcmV0dXJuITE7YSE9PXZvaWQgMCYmKG89YShvLGkpKSxjLmNvbW1pdFZhbHVlKG8saSksaSsrfXJldHVybiEwfSksY2F9Y29tbWl0VmFsdWUodCxyKXt0aGlzLnNldFZhbHVlKHQpfWRpc2Nvbm5lY3RlZCgpe3RoaXMuXyRDSy5kaXNjb25uZWN0KCksdGhpcy5fJENYLnBhdXNlKCl9cmVjb25uZWN0ZWQoKXt0aGlzLl8kQ0sucmVjb25uZWN0KHRoaXMpLHRoaXMuXyRDWC5yZXN1bWUoKX19LCRMcj10aShmcCl9KTt2YXIgSlksbkVlPWYoKCk9PntVbCgpO2lFZSgpO3BwKCk7Slk9dGkoY2xhc3MgZXh0ZW5kcyBmcHtjb25zdHJ1Y3RvcihlKXtpZihzdXBlcihlKSxlLnR5cGUhPT1MMi5DSElMRCl0aHJvdyBFcnJvcigiYXN5bmNBcHBlbmQgY2FuIG9ubHkgYmUgdXNlZCBpbiBjaGlsZCBleHByZXNzaW9ucyIpfXVwZGF0ZShlLHQpe3JldHVybiB0aGlzLl8kQ3R0PWUsc3VwZXIudXBkYXRlKGUsdCl9Y29tbWl0VmFsdWUoZSx0KXt0PT09MCYmVVkodGhpcy5fJEN0dCk7bGV0IHI9V2wodGhpcy5fJEN0dCk7bW8ocixlKX19KX0pO3ZhciBzRWU9ZigoKT0+e25FZSgpfSk7dmFyIEtZLG9FZT1mKCgpPT57YW8oKTtVbCgpO3BwKCk7S1k9dGkoY2xhc3MgZXh0ZW5kcyB5c3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZXk9eWF9cmVuZGVyKGUsdCl7cmV0dXJuIHRoaXMua2V5PWUsdH11cGRhdGUoZSxbdCxyXSl7cmV0dXJuIHQhPT10aGlzLmtleSYmKGc3KGUpLHRoaXMua2V5PXQpLHJ9fSl9KTt2YXIgbEVlPWYoKCk9PntvRWUoKX0pO3ZhciBjRWUsZVosZEVlPWYoKCk9PnthbygpO1VsKCk7cHAoKTtjRWU9KGUsdCxyKT0+e2xldCBhPW5ldyBNYXA7Zm9yKGxldCBpPXQ7aTw9cjtpKyspYS5zZXQoZVtpXSxpKTtyZXR1cm4gYX0sZVo9dGkoY2xhc3MgZXh0ZW5kcyB5c3tjb25zdHJ1Y3RvcihlKXtpZihzdXBlcihlKSxlLnR5cGUhPT1MMi5DSElMRCl0aHJvdyBFcnJvcigicmVwZWF0KCkgY2FuIG9ubHkgYmUgdXNlZCBpbiB0ZXh0IGV4cHJlc3Npb25zIil9ZHQoZSx0LHIpe2xldCBhO3I9PT12b2lkIDA/cj10OnQhPT12b2lkIDAmJihhPXQpO2xldCBpPVtdLG49W10scz0wO2ZvcihsZXQgbyBvZiBlKWlbc109YT9hKG8scyk6cyxuW3NdPXIobyxzKSxzKys7cmV0dXJue3ZhbHVlczpuLGtleXM6aX19cmVuZGVyKGUsdCxyKXtyZXR1cm4gdGhpcy5kdChlLHQscikudmFsdWVzfXVwZGF0ZShlLFt0LHIsYV0pe2xldCBpPVZZKGUpLHt2YWx1ZXM6bixrZXlzOnN9PXRoaXMuZHQodCxyLGEpO2lmKCFBcnJheS5pc0FycmF5KGkpKXJldHVybiB0aGlzLnV0PXMsbjtsZXQgbz10aGlzLnV0Pz89W10sYz1bXSxsLHUsZD0wLGg9aS5sZW5ndGgtMSxtPTAsdj1uLmxlbmd0aC0xO2Zvcig7ZDw9aCYmbTw9djspaWYoaVtkXT09PW51bGwpZCsrO2Vsc2UgaWYoaVtoXT09PW51bGwpaC0tO2Vsc2UgaWYob1tkXT09PXNbbV0pY1ttXT1tbyhpW2RdLG5bbV0pLGQrKyxtKys7ZWxzZSBpZihvW2hdPT09c1t2XSljW3ZdPW1vKGlbaF0sblt2XSksaC0tLHYtLTtlbHNlIGlmKG9bZF09PT1zW3ZdKWNbdl09bW8oaVtkXSxuW3ZdKSxXbChlLGNbdisxXSxpW2RdKSxkKyssdi0tO2Vsc2UgaWYob1toXT09PXNbbV0pY1ttXT1tbyhpW2hdLG5bbV0pLFdsKGUsaVtkXSxpW2hdKSxoLS0sbSsrO2Vsc2UgaWYobD09PXZvaWQgMCYmKGw9Y0VlKHMsbSx2KSx1PWNFZShvLGQsaCkpLGwuaGFzKG9bZF0pKWlmKGwuaGFzKG9baF0pKXtsZXQgYj11LmdldChzW21dKSxnPWIhPT12b2lkIDA/aVtiXTpudWxsO2lmKGc9PT1udWxsKXtsZXQgeT1XbChlLGlbZF0pO21vKHksblttXSksY1ttXT15fWVsc2UgY1ttXT1tbyhnLG5bbV0pLFdsKGUsaVtkXSxnKSxpW2JdPW51bGw7bSsrfWVsc2UgYjcoaVtoXSksaC0tO2Vsc2UgYjcoaVtkXSksZCsrO2Zvcig7bTw9djspe2xldCBiPVdsKGUsY1t2KzFdKTttbyhiLG5bbV0pLGNbbSsrXT1ifWZvcig7ZDw9aDspe2xldCBiPWlbZCsrXTtiIT09bnVsbCYmYjcoYil9cmV0dXJuIHRoaXMudXQ9cyxnNyhlLGMpLGNhfX0pfSk7dmFyIHVFZT1mKCgpPT57ZEVlKCl9KTt2YXIgR1M9e307UmUoR1Mse2FzeW5jQXBwZW5kOigpPT5KWSxrZXllZDooKT0+S1kscmVwZWF0OigpPT5lWixyZXNvbHZlOigpPT5aQWUscmVzb2x2ZUV4ZWM6KCk9Pl9McixzdWJzY3JpYmU6KCk9PkxMcixzdWJzY3JpYmVXaXRoVGVtcGxhdGU6KCk9PkpBZSx1bnRpbDooKT0+UVl9KTt2YXIgcEVlPWYoKCk9PntYQWUoKTtRQWUoKTtLQWUoKTthRWUoKTtzRWUoKTtsRWUoKTt1RWUoKX0pO3ZhciB4Nz17fTtSZSh4Nyx7RGVlc0VsZW1lbnQ6KCk9PkRpLGNzczooKT0+Q3IsY3NzTWFuYWdlcjooKT0+QWksY3VzdG9tRWxlbWVudDooKT0+aGksZGlyZWN0aXZlczooKT0+R1MsZG9tdG9vbHM6KCk9PnhzLGh0bWw6KCk9PmhyLHByb3BlcnR5OigpPT5fMyxxdWVyeTooKT0+UlkscXVlcnlBbGw6KCk9PkJZLHF1ZXJ5QXN5bmM6KCk9PkhZLHJlbmRlcjooKT0+bGgsc3RhdGU6KCk9PiRyLHN0YXRpYzooKT0+TlksdW5zYWZlQ1NTOigpPT5rYSx1bnNhZmVIVE1MOigpPT5GWSx1bnNhZmVTdGF0aWM6KCk9PlBZfSk7dmFyIEFpLE1zPWYoKCk9PntMQWUoKTtKbygpO0FBZSgpO0lBZSgpO1BBZSgpO2pBZSgpO1JTKCk7VUFlKCk7cEVlKCk7QWk9QlMuZ2V0U2luZ2xldG9uKCl9KTtmdW5jdGlvbiBETHIoZSx0KXtsZXQgcj1taVtlXTtyZXR1cm4gdHlwZW9mIHI9PSJvYmplY3QiJiZ0P3JbdF18fCJhdXRvIjp0eXBlb2Ygcj09Im51bWJlciI/cjoiYXV0byJ9dmFyIG1pLEFMcixZUyxyYSxrcz1mKCgpPT57bWk9e2Jhc2U6e2NvbnRlbnQ6ImF1dG8iLGlucHV0RWxlbWVudHM6MX0sZml4ZWQ6e2FwcEJhcjoxMCxzaWRlTWVudToxMCxtb2JpbGVOYXY6MjUwfSxiYWNrZHJvcDp7ZHJvcGRvd246MTk5OSxtb2RhbDoyOTk5LGNvbnRleHRNZW51OjM5OTl9LG92ZXJsYXk6e2Ryb3Bkb3duOjJlMyxtb2RhbDozZTMsY29udGV4dE1lbnU6NGUzLHRvYXN0OjVlM30sbW9kYWxEcm9wZG93bjozNTAwLHd5c2l3eWdNZW51czo0NTAwfTtBTHI9eyJkZWVzLW1vZGFsIjptaS5vdmVybGF5Lm1vZGFsLCJkZWVzLXdpbmRvd2xheWVyIjptaS5vdmVybGF5LmRyb3Bkb3duLCJkZWVzLWNvbnRleHRtZW51IjptaS5vdmVybGF5LmNvbnRleHRNZW51LCJkZWVzLXRvYXN0IjptaS5vdmVybGF5LnRvYXN0LCJkZWVzLWFwcHVpLW1haW5tZW51IjptaS5maXhlZC5hcHBCYXIsImRlZXMtbW9iaWxlbmF2aWdhdGlvbiI6bWkuZml4ZWQubW9iaWxlTmF2LCJkZWVzLXNsYXNoLW1lbnUiOm1pLnd5c2l3eWdNZW51cywiZGVlcy1mb3JtYXR0aW5nLW1lbnUiOm1pLnd5c2l3eWdNZW51c30sWVM9Y2xhc3MgZXtzdGF0aWMgaW5zdGFuY2U7YWN0aXZlRWxlbWVudHM9bmV3IFNldDtlbGVtZW50WkluZGV4TWFwPW5ldyBXZWFrTWFwO2N1cnJlbnRaSW5kZXg9MWUzO2NvbnN0cnVjdG9yKCl7fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBlLmluc3RhbmNlfHwoZS5pbnN0YW5jZT1uZXcgZSksZS5pbnN0YW5jZX1nZXROZXh0WkluZGV4KCl7cmV0dXJuIHRoaXMuY3VycmVudFpJbmRleCs9MTAsdGhpcy5jdXJyZW50WkluZGV4fXJlZ2lzdGVyKHQscil7dGhpcy5hY3RpdmVFbGVtZW50cy5hZGQodCksdGhpcy5lbGVtZW50WkluZGV4TWFwLnNldCh0LHIpfXVucmVnaXN0ZXIodCl7dGhpcy5hY3RpdmVFbGVtZW50cy5kZWxldGUodCksdGhpcy5lbGVtZW50WkluZGV4TWFwLmRlbGV0ZSh0KSx0aGlzLmFjdGl2ZUVsZW1lbnRzLnNpemU9PT0wJiYodGhpcy5jdXJyZW50WkluZGV4PTFlMyl9Z2V0RWxlbWVudFpJbmRleCh0KXtyZXR1cm4gdGhpcy5lbGVtZW50WkluZGV4TWFwLmdldCh0KX1nZXRBY3RpdmVDb3VudCgpe3JldHVybiB0aGlzLmFjdGl2ZUVsZW1lbnRzLnNpemV9Z2V0Q3VycmVudFpJbmRleCgpe3JldHVybiB0aGlzLmN1cnJlbnRaSW5kZXh9Y2xlYXIoKXt0aGlzLmFjdGl2ZUVsZW1lbnRzLmNsZWFyKCksdGhpcy5lbGVtZW50WkluZGV4TWFwPW5ldyBXZWFrTWFwLHRoaXMuY3VycmVudFpJbmRleD0xZTN9Z2V0QWN0aXZlRWxlbWVudHNJbk9yZGVyKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5hY3RpdmVFbGVtZW50cykuc29ydCgodCxyKT0+e2xldCBhPXRoaXMuZWxlbWVudFpJbmRleE1hcC5nZXQodCl8fDAsaT10aGlzLmVsZW1lbnRaSW5kZXhNYXAuZ2V0KHIpfHwwO3JldHVybiBhLWl9KX19LHJhPVlTLmdldEluc3RhbmNlKCl9KTt2YXIgWlMseTcsdFosZkVlLGhwLHdyLEosWFMsdzcsclo9ZigoKT0+e1pTPWdsb2JhbFRoaXMseTc9WlMuU2hhZG93Um9vdCYmKFpTLlNoYWR5Q1NTPT09dm9pZCAwfHxaUy5TaGFkeUNTUy5uYXRpdmVTaGFkb3cpJiYiYWRvcHRlZFN0eWxlU2hlZXRzImluIERvY3VtZW50LnByb3RvdHlwZSYmInJlcGxhY2UiaW4gQ1NTU3R5bGVTaGVldC5wcm90b3R5cGUsdFo9U3ltYm9sKCksZkVlPW5ldyBXZWFrTWFwLGhwPWNsYXNze2NvbnN0cnVjdG9yKHQscixhKXtpZih0aGlzLl8kY3NzUmVzdWx0JD0hMCxhIT09dFopdGhyb3cgRXJyb3IoIkNTU1Jlc3VsdCBpcyBub3QgY29uc3RydWN0YWJsZS4gVXNlIGB1bnNhZmVDU1NgIG9yIGBjc3NgIGluc3RlYWQuIik7dGhpcy5jc3NUZXh0PXQsdGhpcy50PXJ9Z2V0IHN0eWxlU2hlZXQoKXtsZXQgdD10aGlzLm8scj10aGlzLnQ7aWYoeTcmJnQ9PT12b2lkIDApe2xldCBhPXIhPT12b2lkIDAmJnIubGVuZ3RoPT09MTthJiYodD1mRWUuZ2V0KHIpKSx0PT09dm9pZCAwJiYoKHRoaXMubz10PW5ldyBDU1NTdHlsZVNoZWV0KS5yZXBsYWNlU3luYyh0aGlzLmNzc1RleHQpLGEmJmZFZS5zZXQocix0KSl9cmV0dXJuIHR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jc3NUZXh0fX0sd3I9ZT0+bmV3IGhwKHR5cGVvZiBlPT0ic3RyaW5nIj9lOmUrIiIsdm9pZCAwLHRaKSxKPShlLC4uLnQpPT57bGV0IHI9ZS5sZW5ndGg9PT0xP2VbMF06dC5yZWR1Y2UoKChhLGksbik9PmErKHM9PntpZihzLl8kY3NzUmVzdWx0JD09PSEwKXJldHVybiBzLmNzc1RleHQ7aWYodHlwZW9mIHM9PSJudW1iZXIiKXJldHVybiBzO3Rocm93IEVycm9yKCJWYWx1ZSBwYXNzZWQgdG8gJ2NzcycgZnVuY3Rpb24gbXVzdCBiZSBhICdjc3MnIGZ1bmN0aW9uIHJlc3VsdDogIitzKyIuIFVzZSAndW5zYWZlQ1NTJyB0byBwYXNzIG5vbi1saXRlcmFsIHZhbHVlcywgYnV0IHRha2UgY2FyZSB0byBlbnN1cmUgcGFnZSBzZWN1cml0eS4iKX0pKGkpK2VbbisxXSksZVswXSk7cmV0dXJuIG5ldyBocChyLGUsdFopfSxYUz0oZSx0KT0+e2lmKHk3KWUuYWRvcHRlZFN0eWxlU2hlZXRzPXQubWFwKChyPT5yIGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD9yOnIuc3R5bGVTaGVldCkpO2Vsc2UgZm9yKGxldCByIG9mIHQpe2xldCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksaT1aUy5saXROb25jZTtpIT09dm9pZCAwJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGkpLGEudGV4dENvbnRlbnQ9ci5jc3NUZXh0LGUuYXBwZW5kQ2hpbGQoYSl9fSx3Nz15Nz9lPT5lOmU9PmUgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0Pyh0PT57bGV0IHI9IiI7Zm9yKGxldCBhIG9mIHQuY3NzUnVsZXMpcis9YS5jc3NUZXh0O3JldHVybiB3cihyKX0pKGUpOmV9KTt2YXIgRUxyLElMcixQTHIsTkxyLEZMcixPTHIsUVMsaEVlLFJMcixCTHIsTTcsbXAsazcsbUVlLCQyLFM3PWYoKCk9PntyWigpO3JaKCk7KHtpczpFTHIsZGVmaW5lUHJvcGVydHk6SUxyLGdldE93blByb3BlcnR5RGVzY3JpcHRvcjpQTHIsZ2V0T3duUHJvcGVydHlOYW1lczpOTHIsZ2V0T3duUHJvcGVydHlTeW1ib2xzOkZMcixnZXRQcm90b3R5cGVPZjpPTHJ9PU9iamVjdCksUVM9Z2xvYmFsVGhpcyxoRWU9UVMudHJ1c3RlZFR5cGVzLFJMcj1oRWU/aEVlLmVtcHR5U2NyaXB0OiIiLEJMcj1RUy5yZWFjdGl2ZUVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQsTTc9KGUsdCk9PmUsbXA9e3RvQXR0cmlidXRlKGUsdCl7c3dpdGNoKHQpe2Nhc2UgQm9vbGVhbjplPWU/UkxyOm51bGw7YnJlYWs7Y2FzZSBPYmplY3Q6Y2FzZSBBcnJheTplPWU9PW51bGw/ZTpKU09OLnN0cmluZ2lmeShlKX1yZXR1cm4gZX0sZnJvbUF0dHJpYnV0ZShlLHQpe2xldCByPWU7c3dpdGNoKHQpe2Nhc2UgQm9vbGVhbjpyPWUhPT1udWxsO2JyZWFrO2Nhc2UgTnVtYmVyOnI9ZT09PW51bGw/bnVsbDpOdW1iZXIoZSk7YnJlYWs7Y2FzZSBPYmplY3Q6Y2FzZSBBcnJheTp0cnl7cj1KU09OLnBhcnNlKGUpfWNhdGNoe3I9bnVsbH19cmV0dXJuIHJ9fSxrNz0oZSx0KT0+IUVMcihlLHQpLG1FZT17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjptcCxyZWZsZWN0OiExLHVzZURlZmF1bHQ6ITEsaGFzQ2hhbmdlZDprN307U3ltYm9sLm1ldGFkYXRhPz89U3ltYm9sKCJtZXRhZGF0YSIpLFFTLmxpdFByb3BlcnR5TWV0YWRhdGE/Pz1uZXcgV2Vha01hcDskMj1jbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50e3N0YXRpYyBhZGRJbml0aWFsaXplcih0KXt0aGlzLl8kRWkoKSwodGhpcy5sPz89W10pLnB1c2godCl9c3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKXtyZXR1cm4gdGhpcy5maW5hbGl6ZSgpLHRoaXMuXyRFaCYmWy4uLnRoaXMuXyRFaC5rZXlzKCldfXN0YXRpYyBjcmVhdGVQcm9wZXJ0eSh0LHI9bUVlKXtpZihyLnN0YXRlJiYoci5hdHRyaWJ1dGU9ITEpLHRoaXMuXyRFaSgpLHRoaXMucHJvdG90eXBlLmhhc093blByb3BlcnR5KHQpJiYoKHI9T2JqZWN0LmNyZWF0ZShyKSkud3JhcHBlZD0hMCksdGhpcy5lbGVtZW50UHJvcGVydGllcy5zZXQodCxyKSwhci5ub0FjY2Vzc29yKXtsZXQgYT1TeW1ib2woKSxpPXRoaXMuZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHQsYSxyKTtpIT09dm9pZCAwJiZJTHIodGhpcy5wcm90b3R5cGUsdCxpKX19c3RhdGljIGdldFByb3BlcnR5RGVzY3JpcHRvcih0LHIsYSl7bGV0e2dldDppLHNldDpufT1QTHIodGhpcy5wcm90b3R5cGUsdCk/P3tnZXQoKXtyZXR1cm4gdGhpc1tyXX0sc2V0KHMpe3RoaXNbcl09c319O3JldHVybntnZXQ6aSxzZXQocyl7bGV0IG89aT8uY2FsbCh0aGlzKTtuPy5jYWxsKHRoaXMscyksdGhpcy5yZXF1ZXN0VXBkYXRlKHQsbyxhKX0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9fXN0YXRpYyBnZXRQcm9wZXJ0eU9wdGlvbnModCl7cmV0dXJuIHRoaXMuZWxlbWVudFByb3BlcnRpZXMuZ2V0KHQpPz9tRWV9c3RhdGljIF8kRWkoKXtpZih0aGlzLmhhc093blByb3BlcnR5KE03KCJlbGVtZW50UHJvcGVydGllcyIpKSlyZXR1cm47bGV0IHQ9T0xyKHRoaXMpO3QuZmluYWxpemUoKSx0LmwhPT12b2lkIDAmJih0aGlzLmw9Wy4uLnQubF0pLHRoaXMuZWxlbWVudFByb3BlcnRpZXM9bmV3IE1hcCh0LmVsZW1lbnRQcm9wZXJ0aWVzKX1zdGF0aWMgZmluYWxpemUoKXtpZih0aGlzLmhhc093blByb3BlcnR5KE03KCJmaW5hbGl6ZWQiKSkpcmV0dXJuO2lmKHRoaXMuZmluYWxpemVkPSEwLHRoaXMuXyRFaSgpLHRoaXMuaGFzT3duUHJvcGVydHkoTTcoInByb3BlcnRpZXMiKSkpe2xldCByPXRoaXMucHJvcGVydGllcyxhPVsuLi5OTHIociksLi4uRkxyKHIpXTtmb3IobGV0IGkgb2YgYSl0aGlzLmNyZWF0ZVByb3BlcnR5KGkscltpXSl9bGV0IHQ9dGhpc1tTeW1ib2wubWV0YWRhdGFdO2lmKHQhPT1udWxsKXtsZXQgcj1saXRQcm9wZXJ0eU1ldGFkYXRhLmdldCh0KTtpZihyIT09dm9pZCAwKWZvcihsZXRbYSxpXW9mIHIpdGhpcy5lbGVtZW50UHJvcGVydGllcy5zZXQoYSxpKX10aGlzLl8kRWg9bmV3IE1hcDtmb3IobGV0W3IsYV1vZiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzKXtsZXQgaT10aGlzLl8kRXUocixhKTtpIT09dm9pZCAwJiZ0aGlzLl8kRWguc2V0KGkscil9dGhpcy5lbGVtZW50U3R5bGVzPXRoaXMuZmluYWxpemVTdHlsZXModGhpcy5zdHlsZXMpfXN0YXRpYyBmaW5hbGl6ZVN0eWxlcyh0KXtsZXQgcj1bXTtpZihBcnJheS5pc0FycmF5KHQpKXtsZXQgYT1uZXcgU2V0KHQuZmxhdCgxLzApLnJldmVyc2UoKSk7Zm9yKGxldCBpIG9mIGEpci51bnNoaWZ0KHc3KGkpKX1lbHNlIHQhPT12b2lkIDAmJnIucHVzaCh3Nyh0KSk7cmV0dXJuIHJ9c3RhdGljIF8kRXUodCxyKXtsZXQgYT1yLmF0dHJpYnV0ZTtyZXR1cm4gYT09PSExP3ZvaWQgMDp0eXBlb2YgYT09InN0cmluZyI/YTp0eXBlb2YgdD09InN0cmluZyI/dC50b0xvd2VyQ2FzZSgpOnZvaWQgMH1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fJEVwPXZvaWQgMCx0aGlzLmlzVXBkYXRlUGVuZGluZz0hMSx0aGlzLmhhc1VwZGF0ZWQ9ITEsdGhpcy5fJEVtPW51bGwsdGhpcy5fJEV2KCl9XyRFdigpe3RoaXMuXyRFUz1uZXcgUHJvbWlzZSgodD0+dGhpcy5lbmFibGVVcGRhdGluZz10KSksdGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5fJEVfKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5jb25zdHJ1Y3Rvci5sPy5mb3JFYWNoKCh0PT50KHRoaXMpKSl9YWRkQ29udHJvbGxlcih0KXsodGhpcy5fJEVPPz89bmV3IFNldCkuYWRkKHQpLHRoaXMucmVuZGVyUm9vdCE9PXZvaWQgMCYmdGhpcy5pc0Nvbm5lY3RlZCYmdC5ob3N0Q29ubmVjdGVkPy4oKX1yZW1vdmVDb250cm9sbGVyKHQpe3RoaXMuXyRFTz8uZGVsZXRlKHQpfV8kRV8oKXtsZXQgdD1uZXcgTWFwLHI9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztmb3IobGV0IGEgb2Ygci5rZXlzKCkpdGhpcy5oYXNPd25Qcm9wZXJ0eShhKSYmKHQuc2V0KGEsdGhpc1thXSksZGVsZXRlIHRoaXNbYV0pO3Quc2l6ZT4wJiYodGhpcy5fJEVwPXQpfWNyZWF0ZVJlbmRlclJvb3QoKXtsZXQgdD10aGlzLnNoYWRvd1Jvb3Q/P3RoaXMuYXR0YWNoU2hhZG93KHRoaXMuY29uc3RydWN0b3Iuc2hhZG93Um9vdE9wdGlvbnMpO3JldHVybiBYUyh0LHRoaXMuY29uc3RydWN0b3IuZWxlbWVudFN0eWxlcyksdH1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuZW5hYmxlVXBkYXRpbmcoITApLHRoaXMuXyRFTz8uZm9yRWFjaCgodD0+dC5ob3N0Q29ubmVjdGVkPy4oKSkpfWVuYWJsZVVwZGF0aW5nKHQpe31kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuXyRFTz8uZm9yRWFjaCgodD0+dC5ob3N0RGlzY29ubmVjdGVkPy4oKSkpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LHIsYSl7dGhpcy5fJEFLKHQsYSl9XyRFVCh0LHIpe2xldCBhPXRoaXMuY29uc3RydWN0b3IuZWxlbWVudFByb3BlcnRpZXMuZ2V0KHQpLGk9dGhpcy5jb25zdHJ1Y3Rvci5fJEV1KHQsYSk7aWYoaSE9PXZvaWQgMCYmYS5yZWZsZWN0PT09ITApe2xldCBuPShhLmNvbnZlcnRlcj8udG9BdHRyaWJ1dGUhPT12b2lkIDA/YS5jb252ZXJ0ZXI6bXApLnRvQXR0cmlidXRlKHIsYS50eXBlKTt0aGlzLl8kRW09dCxuPT1udWxsP3RoaXMucmVtb3ZlQXR0cmlidXRlKGkpOnRoaXMuc2V0QXR0cmlidXRlKGksbiksdGhpcy5fJEVtPW51bGx9fV8kQUsodCxyKXtsZXQgYT10aGlzLmNvbnN0cnVjdG9yLGk9YS5fJEVoLmdldCh0KTtpZihpIT09dm9pZCAwJiZ0aGlzLl8kRW0hPT1pKXtsZXQgbj1hLmdldFByb3BlcnR5T3B0aW9ucyhpKSxzPXR5cGVvZiBuLmNvbnZlcnRlcj09ImZ1bmN0aW9uIj97ZnJvbUF0dHJpYnV0ZTpuLmNvbnZlcnRlcn06bi5jb252ZXJ0ZXI/LmZyb21BdHRyaWJ1dGUhPT12b2lkIDA/bi5jb252ZXJ0ZXI6bXA7dGhpcy5fJEVtPWk7bGV0IG89cy5mcm9tQXR0cmlidXRlKHIsbi50eXBlKTt0aGlzW2ldPW8/P3RoaXMuXyRFaj8uZ2V0KGkpPz9vLHRoaXMuXyRFbT1udWxsfX1yZXF1ZXN0VXBkYXRlKHQscixhKXtpZih0IT09dm9pZCAwKXtsZXQgaT10aGlzLmNvbnN0cnVjdG9yLG49dGhpc1t0XTtpZihhPz89aS5nZXRQcm9wZXJ0eU9wdGlvbnModCksISgoYS5oYXNDaGFuZ2VkPz9rNykobixyKXx8YS51c2VEZWZhdWx0JiZhLnJlZmxlY3QmJm49PT10aGlzLl8kRWo/LmdldCh0KSYmIXRoaXMuaGFzQXR0cmlidXRlKGkuXyRFdSh0LGEpKSkpcmV0dXJuO3RoaXMuQyh0LHIsYSl9dGhpcy5pc1VwZGF0ZVBlbmRpbmc9PT0hMSYmKHRoaXMuXyRFUz10aGlzLl8kRVAoKSl9Qyh0LHIse3VzZURlZmF1bHQ6YSxyZWZsZWN0Omksd3JhcHBlZDpufSxzKXthJiYhKHRoaXMuXyRFaj8/PW5ldyBNYXApLmhhcyh0KSYmKHRoaXMuXyRFai5zZXQodCxzPz9yPz90aGlzW3RdKSxuIT09ITB8fHMhPT12b2lkIDApfHwodGhpcy5fJEFMLmhhcyh0KXx8KHRoaXMuaGFzVXBkYXRlZHx8YXx8KHI9dm9pZCAwKSx0aGlzLl8kQUwuc2V0KHQscikpLGk9PT0hMCYmdGhpcy5fJEVtIT09dCYmKHRoaXMuXyRFcT8/PW5ldyBTZXQpLmFkZCh0KSl9YXN5bmMgXyRFUCgpe3RoaXMuaXNVcGRhdGVQZW5kaW5nPSEwO3RyeXthd2FpdCB0aGlzLl8kRVN9Y2F0Y2gocil7UHJvbWlzZS5yZWplY3Qocil9bGV0IHQ9dGhpcy5zY2hlZHVsZVVwZGF0ZSgpO3JldHVybiB0IT1udWxsJiZhd2FpdCB0LCF0aGlzLmlzVXBkYXRlUGVuZGluZ31zY2hlZHVsZVVwZGF0ZSgpe3JldHVybiB0aGlzLnBlcmZvcm1VcGRhdGUoKX1wZXJmb3JtVXBkYXRlKCl7aWYoIXRoaXMuaXNVcGRhdGVQZW5kaW5nKXJldHVybjtpZighdGhpcy5oYXNVcGRhdGVkKXtpZih0aGlzLnJlbmRlclJvb3Q/Pz10aGlzLmNyZWF0ZVJlbmRlclJvb3QoKSx0aGlzLl8kRXApe2ZvcihsZXRbaSxuXW9mIHRoaXMuXyRFcCl0aGlzW2ldPW47dGhpcy5fJEVwPXZvaWQgMH1sZXQgYT10aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRQcm9wZXJ0aWVzO2lmKGEuc2l6ZT4wKWZvcihsZXRbaSxuXW9mIGEpe2xldHt3cmFwcGVkOnN9PW4sbz10aGlzW2ldO3MhPT0hMHx8dGhpcy5fJEFMLmhhcyhpKXx8bz09PXZvaWQgMHx8dGhpcy5DKGksdm9pZCAwLG4sbyl9fWxldCB0PSExLHI9dGhpcy5fJEFMO3RyeXt0PXRoaXMuc2hvdWxkVXBkYXRlKHIpLHQ/KHRoaXMud2lsbFVwZGF0ZShyKSx0aGlzLl8kRU8/LmZvckVhY2goKGE9PmEuaG9zdFVwZGF0ZT8uKCkpKSx0aGlzLnVwZGF0ZShyKSk6dGhpcy5fJEVNKCl9Y2F0Y2goYSl7dGhyb3cgdD0hMSx0aGlzLl8kRU0oKSxhfXQmJnRoaXMuXyRBRShyKX13aWxsVXBkYXRlKHQpe31fJEFFKHQpe3RoaXMuXyRFTz8uZm9yRWFjaCgocj0+ci5ob3N0VXBkYXRlZD8uKCkpKSx0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLmhhc1VwZGF0ZWQ9ITAsdGhpcy5maXJzdFVwZGF0ZWQodCkpLHRoaXMudXBkYXRlZCh0KX1fJEVNKCl7dGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITF9Z2V0IHVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuZ2V0VXBkYXRlQ29tcGxldGUoKX1nZXRVcGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLl8kRVN9c2hvdWxkVXBkYXRlKHQpe3JldHVybiEwfXVwZGF0ZSh0KXt0aGlzLl8kRXEmJj10aGlzLl8kRXEuZm9yRWFjaCgocj0+dGhpcy5fJEVUKHIsdGhpc1tyXSkpKSx0aGlzLl8kRU0oKX11cGRhdGVkKHQpe31maXJzdFVwZGF0ZWQodCl7fX07JDIuZWxlbWVudFN0eWxlcz1bXSwkMi5zaGFkb3dSb290T3B0aW9ucz17bW9kZToib3BlbiJ9LCQyW003KCJlbGVtZW50UHJvcGVydGllcyIpXT1uZXcgTWFwLCQyW003KCJmaW5hbGl6ZWQiKV09bmV3IE1hcCxCTHI/Lih7UmVhY3RpdmVFbGVtZW50OiQyfSksKFFTLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zPz89W10pLnB1c2goIjIuMS4xIil9KTtmdW5jdGlvbiBTRWUoZSx0KXtpZighc1ooZSl8fCFlLmhhc093blByb3BlcnR5KCJyYXciKSl0aHJvdyBFcnJvcigiaW52YWxpZCB0ZW1wbGF0ZSBzdHJpbmdzIGFycmF5Iik7cmV0dXJuIGdFZSE9PXZvaWQgMD9nRWUuY3JlYXRlSFRNTCh0KTp0fWZ1bmN0aW9uICRkKGUsdCxyPWUsYSl7aWYodD09PXVhKXJldHVybiB0O2xldCBpPWEhPT12b2lkIDA/ci5fJENvPy5bYV06ci5fJENsLG49QzcodCk/dm9pZCAwOnQuXyRsaXREaXJlY3RpdmUkO3JldHVybiBpPy5jb25zdHJ1Y3RvciE9PW4mJihpPy5fJEFPPy4oITEpLG49PT12b2lkIDA/aT12b2lkIDA6KGk9bmV3IG4oZSksaS5fJEFUKGUscixhKSksYSE9PXZvaWQgMD8oci5fJENvPz89W10pW2FdPWk6ci5fJENsPWkpLGkhPT12b2lkIDAmJih0PSRkKGUsaS5fJEFTKGUsdC52YWx1ZXMpLGksYSkpLHR9dmFyIGFaLEpTLGdFZSxpWixHbCxuWixITHIsVGQsejcsQzcsc1osYkVlLG9aLFQ3LHZFZSx4RWUsX2QseUVlLHdFZSxNRWUsbFosTSxjWixkWix1YSxNYSxrRWUsTGQsekVlLF83LEtTLGdwLERkLGV6LHR6LHJ6LGF6LHVaLHFMcixBZCxnbz1mKCgpPT57YVo9Z2xvYmFsVGhpcyxKUz1hWi50cnVzdGVkVHlwZXMsZ0VlPUpTP0pTLmNyZWF0ZVBvbGljeSgibGl0LWh0bWwiLHtjcmVhdGVIVE1MOmU9PmV9KTp2b2lkIDAsaVo9IiRsaXQkIixHbD1gbGl0JCR7TWF0aC5yYW5kb20oKS50b0ZpeGVkKDkpLnNsaWNlKDIpfSRgLG5aPSI/IitHbCxITHI9YDwke25afT5gLFRkPWRvY3VtZW50LHo3PSgpPT5UZC5jcmVhdGVDb21tZW50KCIiKSxDNz1lPT5lPT09bnVsbHx8dHlwZW9mIGUhPSJvYmplY3QiJiZ0eXBlb2YgZSE9ImZ1bmN0aW9uIixzWj1BcnJheS5pc0FycmF5LGJFZT1lPT5zWihlKXx8dHlwZW9mIGU/LltTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iLG9aPWBbIAkKXGZccl1gLFQ3PS88KD86KCEtLXxcL1teYS16QS1aXSl8KFwvP1thLXpBLVpdW14+XHNdKil8KFwvPyQpKS9nLHZFZT0vLS0+L2cseEVlPS8+L2csX2Q9UmVnRXhwKGA+fCR7b1p9KD86KFteXFxzIic+PS9dKykoJHtvWn0qPSR7b1p9Kig/OlteIAkKXGZcciInXGA8Pj1dfCgifCcpfCkpfCQpYCwiZyIpLHlFZT0vJy9nLHdFZT0vIi9nLE1FZT0vXig/OnNjcmlwdHxzdHlsZXx0ZXh0YXJlYXx0aXRsZSkkL2ksbFo9ZT0+KHQsLi4ucik9Pih7XyRsaXRUeXBlJDplLHN0cmluZ3M6dCx2YWx1ZXM6cn0pLE09bFooMSksY1o9bFooMiksZFo9bFooMyksdWE9U3ltYm9sLmZvcigibGl0LW5vQ2hhbmdlIiksTWE9U3ltYm9sLmZvcigibGl0LW5vdGhpbmciKSxrRWU9bmV3IFdlYWtNYXAsTGQ9VGQuY3JlYXRlVHJlZVdhbGtlcihUZCwxMjkpO3pFZT0oZSx0KT0+e2xldCByPWUubGVuZ3RoLTEsYT1bXSxpLG49dD09PTI/Ijxzdmc+Ijp0PT09Mz8iPG1hdGg+IjoiIixzPVQ3O2ZvcihsZXQgbz0wO288cjtvKyspe2xldCBjPWVbb10sbCx1LGQ9LTEsaD0wO2Zvcig7aDxjLmxlbmd0aCYmKHMubGFzdEluZGV4PWgsdT1zLmV4ZWMoYyksdSE9PW51bGwpOyloPXMubGFzdEluZGV4LHM9PT1UNz91WzFdPT09IiEtLSI/cz12RWU6dVsxXSE9PXZvaWQgMD9zPXhFZTp1WzJdIT09dm9pZCAwPyhNRWUudGVzdCh1WzJdKSYmKGk9UmVnRXhwKCI8LyIrdVsyXSwiZyIpKSxzPV9kKTp1WzNdIT09dm9pZCAwJiYocz1fZCk6cz09PV9kP3VbMF09PT0iPiI/KHM9aT8/VDcsZD0tMSk6dVsxXT09PXZvaWQgMD9kPS0yOihkPXMubGFzdEluZGV4LXVbMl0ubGVuZ3RoLGw9dVsxXSxzPXVbM109PT12b2lkIDA/X2Q6dVszXT09PSciJz93RWU6eUVlKTpzPT09d0VlfHxzPT09eUVlP3M9X2Q6cz09PXZFZXx8cz09PXhFZT9zPVQ3OihzPV9kLGk9dm9pZCAwKTtsZXQgbT1zPT09X2QmJmVbbysxXS5zdGFydHNXaXRoKCIvPiIpPyIgIjoiIjtuKz1zPT09VDc/YytITHI6ZD49MD8oYS5wdXNoKGwpLGMuc2xpY2UoMCxkKStpWitjLnNsaWNlKGQpK0dsK20pOmMrR2wrKGQ9PT0tMj9vOm0pfXJldHVybltTRWUoZSxuKyhlW3JdfHwiPD8+IikrKHQ9PT0yPyI8L3N2Zz4iOnQ9PT0zPyI8L21hdGg+IjoiIikpLGFdfSxfNz1jbGFzcyBle2NvbnN0cnVjdG9yKHtzdHJpbmdzOnQsXyRsaXRUeXBlJDpyfSxhKXtsZXQgaTt0aGlzLnBhcnRzPVtdO2xldCBuPTAscz0wLG89dC5sZW5ndGgtMSxjPXRoaXMucGFydHMsW2wsdV09ekVlKHQscik7aWYodGhpcy5lbD1lLmNyZWF0ZUVsZW1lbnQobCxhKSxMZC5jdXJyZW50Tm9kZT10aGlzLmVsLmNvbnRlbnQscj09PTJ8fHI9PT0zKXtsZXQgZD10aGlzLmVsLmNvbnRlbnQuZmlyc3RDaGlsZDtkLnJlcGxhY2VXaXRoKC4uLmQuY2hpbGROb2Rlcyl9Zm9yKDsoaT1MZC5uZXh0Tm9kZSgpKSE9PW51bGwmJmMubGVuZ3RoPG87KXtpZihpLm5vZGVUeXBlPT09MSl7aWYoaS5oYXNBdHRyaWJ1dGVzKCkpZm9yKGxldCBkIG9mIGkuZ2V0QXR0cmlidXRlTmFtZXMoKSlpZihkLmVuZHNXaXRoKGlaKSl7bGV0IGg9dVtzKytdLG09aS5nZXRBdHRyaWJ1dGUoZCkuc3BsaXQoR2wpLHY9LyhbLj9AXSk/KC4qKS8uZXhlYyhoKTtjLnB1c2goe3R5cGU6MSxpbmRleDpuLG5hbWU6dlsyXSxzdHJpbmdzOm0sY3Rvcjp2WzFdPT09Ii4iP2V6OnZbMV09PT0iPyI/dHo6dlsxXT09PSJAIj9yejpEZH0pLGkucmVtb3ZlQXR0cmlidXRlKGQpfWVsc2UgZC5zdGFydHNXaXRoKEdsKSYmKGMucHVzaCh7dHlwZTo2LGluZGV4Om59KSxpLnJlbW92ZUF0dHJpYnV0ZShkKSk7aWYoTUVlLnRlc3QoaS50YWdOYW1lKSl7bGV0IGQ9aS50ZXh0Q29udGVudC5zcGxpdChHbCksaD1kLmxlbmd0aC0xO2lmKGg+MCl7aS50ZXh0Q29udGVudD1KUz9KUy5lbXB0eVNjcmlwdDoiIjtmb3IobGV0IG09MDttPGg7bSsrKWkuYXBwZW5kKGRbbV0sejcoKSksTGQubmV4dE5vZGUoKSxjLnB1c2goe3R5cGU6MixpbmRleDorK259KTtpLmFwcGVuZChkW2hdLHo3KCkpfX19ZWxzZSBpZihpLm5vZGVUeXBlPT09OClpZihpLmRhdGE9PT1uWiljLnB1c2goe3R5cGU6MixpbmRleDpufSk7ZWxzZXtsZXQgZD0tMTtmb3IoOyhkPWkuZGF0YS5pbmRleE9mKEdsLGQrMSkpIT09LTE7KWMucHVzaCh7dHlwZTo3LGluZGV4Om59KSxkKz1HbC5sZW5ndGgtMX1uKyt9fXN0YXRpYyBjcmVhdGVFbGVtZW50KHQscil7bGV0IGE9VGQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyZXR1cm4gYS5pbm5lckhUTUw9dCxhfX07S1M9Y2xhc3N7Y29uc3RydWN0b3IodCxyKXt0aGlzLl8kQVY9W10sdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQUQ9dCx0aGlzLl8kQU09cn1nZXQgcGFyZW50Tm9kZSgpe3JldHVybiB0aGlzLl8kQU0ucGFyZW50Tm9kZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX11KHQpe2xldHtlbDp7Y29udGVudDpyfSxwYXJ0czphfT10aGlzLl8kQUQsaT0odD8uY3JlYXRpb25TY29wZT8/VGQpLmltcG9ydE5vZGUociwhMCk7TGQuY3VycmVudE5vZGU9aTtsZXQgbj1MZC5uZXh0Tm9kZSgpLHM9MCxvPTAsYz1hWzBdO2Zvcig7YyE9PXZvaWQgMDspe2lmKHM9PT1jLmluZGV4KXtsZXQgbDtjLnR5cGU9PT0yP2w9bmV3IGdwKG4sbi5uZXh0U2libGluZyx0aGlzLHQpOmMudHlwZT09PTE/bD1uZXcgYy5jdG9yKG4sYy5uYW1lLGMuc3RyaW5ncyx0aGlzLHQpOmMudHlwZT09PTYmJihsPW5ldyBheihuLHRoaXMsdCkpLHRoaXMuXyRBVi5wdXNoKGwpLGM9YVsrK29dfXMhPT1jPy5pbmRleCYmKG49TGQubmV4dE5vZGUoKSxzKyspfXJldHVybiBMZC5jdXJyZW50Tm9kZT1UZCxpfXAodCl7bGV0IHI9MDtmb3IobGV0IGEgb2YgdGhpcy5fJEFWKWEhPT12b2lkIDAmJihhLnN0cmluZ3MhPT12b2lkIDA/KGEuXyRBSSh0LGEscikscis9YS5zdHJpbmdzLmxlbmd0aC0yKTphLl8kQUkodFtyXSkpLHIrK319LGdwPWNsYXNzIGV7Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNPy5fJEFVPz90aGlzLl8kQ3Z9Y29uc3RydWN0b3IodCxyLGEsaSl7dGhpcy50eXBlPTIsdGhpcy5fJEFIPU1hLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFBPXQsdGhpcy5fJEFCPXIsdGhpcy5fJEFNPWEsdGhpcy5vcHRpb25zPWksdGhpcy5fJEN2PWk/LmlzQ29ubmVjdGVkPz8hMH1nZXQgcGFyZW50Tm9kZSgpe2xldCB0PXRoaXMuXyRBQS5wYXJlbnROb2RlLHI9dGhpcy5fJEFNO3JldHVybiByIT09dm9pZCAwJiZ0Py5ub2RlVHlwZT09PTExJiYodD1yLnBhcmVudE5vZGUpLHR9Z2V0IHN0YXJ0Tm9kZSgpe3JldHVybiB0aGlzLl8kQUF9Z2V0IGVuZE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFCfV8kQUkodCxyPXRoaXMpe3Q9JGQodGhpcyx0LHIpLEM3KHQpP3Q9PT1NYXx8dD09bnVsbHx8dD09PSIiPyh0aGlzLl8kQUghPT1NYSYmdGhpcy5fJEFSKCksdGhpcy5fJEFIPU1hKTp0IT09dGhpcy5fJEFIJiZ0IT09dWEmJnRoaXMuXyh0KTp0Ll8kbGl0VHlwZSQhPT12b2lkIDA/dGhpcy4kKHQpOnQubm9kZVR5cGUhPT12b2lkIDA/dGhpcy5UKHQpOmJFZSh0KT90aGlzLmsodCk6dGhpcy5fKHQpfU8odCl7cmV0dXJuIHRoaXMuXyRBQS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0LHRoaXMuXyRBQil9VCh0KXt0aGlzLl8kQUghPT10JiYodGhpcy5fJEFSKCksdGhpcy5fJEFIPXRoaXMuTyh0KSl9Xyh0KXt0aGlzLl8kQUghPT1NYSYmQzcodGhpcy5fJEFIKT90aGlzLl8kQUEubmV4dFNpYmxpbmcuZGF0YT10OnRoaXMuVChUZC5jcmVhdGVUZXh0Tm9kZSh0KSksdGhpcy5fJEFIPXR9JCh0KXtsZXR7dmFsdWVzOnIsXyRsaXRUeXBlJDphfT10LGk9dHlwZW9mIGE9PSJudW1iZXIiP3RoaXMuXyRBQyh0KTooYS5lbD09PXZvaWQgMCYmKGEuZWw9XzcuY3JlYXRlRWxlbWVudChTRWUoYS5oLGEuaFswXSksdGhpcy5vcHRpb25zKSksYSk7aWYodGhpcy5fJEFIPy5fJEFEPT09aSl0aGlzLl8kQUgucChyKTtlbHNle2xldCBuPW5ldyBLUyhpLHRoaXMpLHM9bi51KHRoaXMub3B0aW9ucyk7bi5wKHIpLHRoaXMuVChzKSx0aGlzLl8kQUg9bn19XyRBQyh0KXtsZXQgcj1rRWUuZ2V0KHQuc3RyaW5ncyk7cmV0dXJuIHI9PT12b2lkIDAmJmtFZS5zZXQodC5zdHJpbmdzLHI9bmV3IF83KHQpKSxyfWsodCl7c1oodGhpcy5fJEFIKXx8KHRoaXMuXyRBSD1bXSx0aGlzLl8kQVIoKSk7bGV0IHI9dGhpcy5fJEFILGEsaT0wO2ZvcihsZXQgbiBvZiB0KWk9PT1yLmxlbmd0aD9yLnB1c2goYT1uZXcgZSh0aGlzLk8oejcoKSksdGhpcy5PKHo3KCkpLHRoaXMsdGhpcy5vcHRpb25zKSk6YT1yW2ldLGEuXyRBSShuKSxpKys7aTxyLmxlbmd0aCYmKHRoaXMuXyRBUihhJiZhLl8kQUIubmV4dFNpYmxpbmcsaSksci5sZW5ndGg9aSl9XyRBUih0PXRoaXMuXyRBQS5uZXh0U2libGluZyxyKXtmb3IodGhpcy5fJEFQPy4oITEsITAscik7dCE9PXRoaXMuXyRBQjspe2xldCBhPXQubmV4dFNpYmxpbmc7dC5yZW1vdmUoKSx0PWF9fXNldENvbm5lY3RlZCh0KXt0aGlzLl8kQU09PT12b2lkIDAmJih0aGlzLl8kQ3Y9dCx0aGlzLl8kQVA/Lih0KSl9fSxEZD1jbGFzc3tnZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1jb25zdHJ1Y3Rvcih0LHIsYSxpLG4pe3RoaXMudHlwZT0xLHRoaXMuXyRBSD1NYSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuZWxlbWVudD10LHRoaXMubmFtZT1yLHRoaXMuXyRBTT1pLHRoaXMub3B0aW9ucz1uLGEubGVuZ3RoPjJ8fGFbMF0hPT0iInx8YVsxXSE9PSIiPyh0aGlzLl8kQUg9QXJyYXkoYS5sZW5ndGgtMSkuZmlsbChuZXcgU3RyaW5nKSx0aGlzLnN0cmluZ3M9YSk6dGhpcy5fJEFIPU1hfV8kQUkodCxyPXRoaXMsYSxpKXtsZXQgbj10aGlzLnN0cmluZ3Mscz0hMTtpZihuPT09dm9pZCAwKXQ9JGQodGhpcyx0LHIsMCkscz0hQzcodCl8fHQhPT10aGlzLl8kQUgmJnQhPT11YSxzJiYodGhpcy5fJEFIPXQpO2Vsc2V7bGV0IG89dCxjLGw7Zm9yKHQ9blswXSxjPTA7YzxuLmxlbmd0aC0xO2MrKylsPSRkKHRoaXMsb1thK2NdLHIsYyksbD09PXVhJiYobD10aGlzLl8kQUhbY10pLHN8fD0hQzcobCl8fGwhPT10aGlzLl8kQUhbY10sbD09PU1hP3Q9TWE6dCE9PU1hJiYodCs9KGw/PyIiKStuW2MrMV0pLHRoaXMuXyRBSFtjXT1sfXMmJiFpJiZ0aGlzLmoodCl9aih0KXt0PT09TWE/dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpOnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLHQ/PyIiKX19LGV6PWNsYXNzIGV4dGVuZHMgRGR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT0zfWoodCl7dGhpcy5lbGVtZW50W3RoaXMubmFtZV09dD09PU1hP3ZvaWQgMDp0fX0sdHo9Y2xhc3MgZXh0ZW5kcyBEZHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy50eXBlPTR9aih0KXt0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKHRoaXMubmFtZSwhIXQmJnQhPT1NYSl9fSxyej1jbGFzcyBleHRlbmRzIERke2NvbnN0cnVjdG9yKHQscixhLGksbil7c3VwZXIodCxyLGEsaSxuKSx0aGlzLnR5cGU9NX1fJEFJKHQscj10aGlzKXtpZigodD0kZCh0aGlzLHQsciwwKT8/TWEpPT09dWEpcmV0dXJuO2xldCBhPXRoaXMuXyRBSCxpPXQ9PT1NYSYmYSE9PU1hfHx0LmNhcHR1cmUhPT1hLmNhcHR1cmV8fHQub25jZSE9PWEub25jZXx8dC5wYXNzaXZlIT09YS5wYXNzaXZlLG49dCE9PU1hJiYoYT09PU1hfHxpKTtpJiZ0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxhKSxuJiZ0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyx0KSx0aGlzLl8kQUg9dH1oYW5kbGVFdmVudCh0KXt0eXBlb2YgdGhpcy5fJEFIPT0iZnVuY3Rpb24iP3RoaXMuXyRBSC5jYWxsKHRoaXMub3B0aW9ucz8uaG9zdD8/dGhpcy5lbGVtZW50LHQpOnRoaXMuXyRBSC5oYW5kbGVFdmVudCh0KX19LGF6PWNsYXNze2NvbnN0cnVjdG9yKHQscixhKXt0aGlzLmVsZW1lbnQ9dCx0aGlzLnR5cGU9Nix0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBTT1yLHRoaXMub3B0aW9ucz1hfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfV8kQUkodCl7JGQodGhpcyx0KX19LHVaPXtNOmlaLFA6R2wsQTpuWixDOjEsTDp6RWUsUjpLUyxEOmJFZSxWOiRkLEk6Z3AsSDpEZCxOOnR6LFU6cnosQjpleixGOmF6fSxxTHI9YVoubGl0SHRtbFBvbHlmaWxsU3VwcG9ydDtxTHI/LihfNyxncCksKGFaLmxpdEh0bWxWZXJzaW9ucz8/PVtdKS5wdXNoKCIzLjMuMSIpO0FkPShlLHQscik9PntsZXQgYT1yPy5yZW5kZXJCZWZvcmU/P3QsaT1hLl8kbGl0UGFydCQ7aWYoaT09PXZvaWQgMCl7bGV0IG49cj8ucmVuZGVyQmVmb3JlPz9udWxsO2EuXyRsaXRQYXJ0JD1pPW5ldyBncCh0Lmluc2VydEJlZm9yZSh6NygpLG4pLG4sdm9pZCAwLHI/P3t9KX1yZXR1cm4gaS5fJEFJKGUpLGl9fSk7dmFyIHBaLFlsLGpMcixWTHIsQ0VlPWYoKCk9PntTNygpO1M3KCk7Z28oKTtnbygpO3BaPWdsb2JhbFRoaXMsWWw9Y2xhc3MgZXh0ZW5kcyAkMntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5yZW5kZXJPcHRpb25zPXtob3N0OnRoaXN9LHRoaXMuXyREbz12b2lkIDB9Y3JlYXRlUmVuZGVyUm9vdCgpe2xldCB0PXN1cGVyLmNyZWF0ZVJlbmRlclJvb3QoKTtyZXR1cm4gdGhpcy5yZW5kZXJPcHRpb25zLnJlbmRlckJlZm9yZT8/PXQuZmlyc3RDaGlsZCx0fXVwZGF0ZSh0KXtsZXQgcj10aGlzLnJlbmRlcigpO3RoaXMuaGFzVXBkYXRlZHx8KHRoaXMucmVuZGVyT3B0aW9ucy5pc0Nvbm5lY3RlZD10aGlzLmlzQ29ubmVjdGVkKSxzdXBlci51cGRhdGUodCksdGhpcy5fJERvPUFkKHIsdGhpcy5yZW5kZXJSb290LHRoaXMucmVuZGVyT3B0aW9ucyl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuXyREbz8uc2V0Q29ubmVjdGVkKCEwKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fJERvPy5zZXRDb25uZWN0ZWQoITEpfXJlbmRlcigpe3JldHVybiB1YX19O1lsLl8kbGl0RWxlbWVudCQ9ITAsWWwuZmluYWxpemVkPSEwLHBaLmxpdEVsZW1lbnRIeWRyYXRlU3VwcG9ydD8uKHtMaXRFbGVtZW50OllsfSk7akxyPXBaLmxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQ7akxyPy4oe0xpdEVsZW1lbnQ6WWx9KTtWTHI9e18kQUs6KGUsdCxyKT0+e2UuXyRBSyh0LHIpfSxfJEFMOmU9PmUuXyRBTH07KHBaLmxpdEVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKCI0LjIuMSIpfSk7dmFyIFVMcixURWU9ZigoKT0+e1VMcj0hMX0pO3ZhciBEMj1mKCgpPT57UzcoKTtnbygpO0NFZSgpO1RFZSgpfSk7dmFyIG56PWplKGl6PT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShpeiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksaXoudW5pPXZvaWQgMDt2YXIgV0xyPShlPSJ1bmkiKT0+YCR7ZX1fJHsieHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4Ii5yZXBsYWNlKC9beHldL2csdD0+e2xldCByPU1hdGgucmFuZG9tKCkqMTZ8MDtyZXR1cm4odD09PSJ4Ij9yOnImM3w4KS50b1N0cmluZygxNil9KX1gO2l6LnVuaT1XTHJ9KTt2YXIgc3osWjAsb3o9ZigoKT0+e3N6PWNsYXNze2NsYWltKCl7aWYodGhpcy5jbGFpbWVkKXRocm93IG5ldyBFcnJvcigiRGVmZXJyZWQgYWxyZWFkeSBjbGFpbWVkIik7dGhpcy5jbGFpbWVkPSEwfWdldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLnN0b3BwZWRBdD90aGlzLnN0b3BwZWRBdC10aGlzLnN0YXJ0ZWRBdDpEYXRlLm5vdygpLXRoaXMuc3RhcnRlZEF0fWNvbnN0cnVjdG9yKCl7dGhpcy5jbGFpbWVkPSExLHRoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgodCxyKT0+e3RoaXMucmVzb2x2ZT1hPT57dGhpcy5zdGF0dXM9ImZ1bGZpbGxlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSx0KGEpfSx0aGlzLnJlamVjdD1hPT57dGhpcy5zdGF0dXM9InJlamVjdGVkIix0aGlzLnN0b3BwZWRBdD1EYXRlLm5vdygpLHIoYSl9LHRoaXMuc3RhcnRlZEF0PURhdGUubm93KCksdGhpcy5zdGF0dXM9InBlbmRpbmcifSl9fSxaMD0oKT0+bmV3IHN6fSk7dmFyIGx6LEdMcixfRWU9ZigoKT0+e296KCk7bHo9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXM9W10sdGhpcy5kZWZlcnJlZD1aMCgpLHRoaXMucHJvbWlzZT10aGlzLmRlZmVycmVkLnByb21pc2Usc2V0VGltZW91dChhc3luYygpPT57Zm9yKDt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMubGVuZ3RoPjA7KWF3YWl0IHRoaXMuYWNjdW11bGF0ZWRQcm9taXNlcy5zaGlmdCgpO3RoaXMuZGVmZXJyZWQucmVzb2x2ZSgpfSwwKX1zdWJEZWZlcigpe2xldCB0PVowKCk7cmV0dXJuIHRoaXMuYWRkUHJvbWlzZSh0LnByb21pc2UpLHR9YWRkUHJvbWlzZSh0KXt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMucHVzaCh0KX19LEdMcj0oKT0+bmV3IGx6fSk7dmFyIEtlPXt9O1JlKEtlLHtDdW11bGF0aXZlRGVmZXJyZWQ6KCk9Pmx6LERlZmVycmVkOigpPT5zeixjdW11bGF0aXZlRGVmZXI6KCk9PkdMcixkZWZlcjooKT0+WjAsZnJvbUNhbGxiYWNrOigpPT5LTHIsZ2V0Rmlyc3RUcnVlT3JGYWxzZTooKT0+SkxyLG1hcDooKT0+WExyLHJlamVjdGVkUHJvbWlzZTooKT0+WkxyLHJlc29sdmVkUHJvbWlzZTooKT0+WUxyLHRpbWVvdXRBbmRDb250aW51ZTooKT0+UUxyLHRpbWVvdXRXcmFwOigpPT5MRWV9KTt2YXIgWUxyLFpMcixYTHIsTEVlLFFMcixKTHIsS0xyLFVpPWYoKCk9PntveigpO19FZSgpO296KCk7WUxyPWU9PlByb21pc2UucmVzb2x2ZShlKSxaTHI9ZT0+UHJvbWlzZS5yZWplY3QoZSksWExyPWFzeW5jKGUsdCk9PntsZXQgcj1bXSxhPVtdO2ZvcihsZXQgaSBvZiBlKXtsZXQgbj10KGkpO3IucHVzaChuKSxuLnRoZW4ocz0+e2EucHVzaChzKX0pfXJldHVybiBhd2FpdCBQcm9taXNlLmFsbChyKSxhfSxMRWU9YXN5bmMoZSx0LHI9ITApPT5uZXcgUHJvbWlzZSgoYSxpKT0+e3NldFRpbWVvdXQoKCk9PntyP2kobmV3IEVycm9yKCJ0aW1lb3V0IikpOmEobnVsbCl9LHQpLGUudGhlbihhLGkpfSksUUxyPWFzeW5jKGUsdD02ZTQpPT5MRWUoZSx0LCExKSxKTHI9YXN5bmMgZT0+e2xldCB0PVowKCk7Zm9yKGxldCByIG9mIGUpci50aGVuKGE9PnthPT09ITAmJnQucmVzb2x2ZSghMCl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoZSkudGhlbigoKT0+e3QucmVzb2x2ZSghMSl9KSx0LnByb21pc2V9LEtMcj1lPT5uZXcgUHJvbWlzZSgodCxyKT0+e2UoKGEsaSk9PnthP3IoYSk6dChpKX0pfSl9KTt2YXIgY3o9ZigoKT0+e1VpKCl9KTtmdW5jdGlvbiBadChlLHQpe2lmKHR5cGVvZiB0IT0iZnVuY3Rpb24iJiZ0IT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKHQpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2ZaKGUsdCk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9ZX1lLnByb3RvdHlwZT10PT09bnVsbD9PYmplY3QuY3JlYXRlKHQpOihyLnByb3RvdHlwZT10LnByb3RvdHlwZSxuZXcgcil9ZnVuY3Rpb24gdCRyKGUsdCl7dmFyIHI9e307Zm9yKHZhciBhIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSkmJnQuaW5kZXhPZihhKTwwJiYoclthXT1lW2FdKTtpZihlIT1udWxsJiZ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz09ImZ1bmN0aW9uIilmb3IodmFyIGk9MCxhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7aTxhLmxlbmd0aDtpKyspdC5pbmRleE9mKGFbaV0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLGFbaV0pJiYoclthW2ldXT1lW2FbaV1dKTtyZXR1cm4gcn1mdW5jdGlvbiByJHIoZSx0LHIsYSl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aCxuPWk8Mz90OmE9PT1udWxsP2E9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpOmEscztpZih0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0LmRlY29yYXRlPT0iZnVuY3Rpb24iKW49UmVmbGVjdC5kZWNvcmF0ZShlLHQscixhKTtlbHNlIGZvcih2YXIgbz1lLmxlbmd0aC0xO28+PTA7by0tKShzPWVbb10pJiYobj0oaTwzP3Mobik6aT4zP3ModCxyLG4pOnModCxyKSl8fG4pO3JldHVybiBpPjMmJm4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIsbiksbn1mdW5jdGlvbiBhJHIoZSx0KXtyZXR1cm4gZnVuY3Rpb24ocixhKXt0KHIsYSxlKX19ZnVuY3Rpb24gaSRyKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH1mdW5jdGlvbiBuJHIoZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9ZnVuY3Rpb24gcyRyKGUpe3JldHVybiB0eXBlb2YgZT09InN5bWJvbCI/ZToiIi5jb25jYXQoZSl9ZnVuY3Rpb24gbyRyKGUsdCxyKXtyZXR1cm4gdHlwZW9mIHQ9PSJzeW1ib2wiJiYodD10LmRlc2NyaXB0aW9uPyJbIi5jb25jYXQodC5kZXNjcmlwdGlvbiwiXSIpOiIiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwibmFtZSIse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTpyPyIiLmNvbmNhdChyLCIgIix0KTp0fSl9ZnVuY3Rpb24gbCRyKGUsdCl7aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShlLHQpfWZ1bmN0aW9uIGJaKGUsdCxyLGEpe2Z1bmN0aW9uIGkobil7cmV0dXJuIG4gaW5zdGFuY2VvZiByP246bmV3IHIoZnVuY3Rpb24ocyl7cyhuKX0pfXJldHVybiBuZXcocnx8KHI9UHJvbWlzZSkpKGZ1bmN0aW9uKG4scyl7ZnVuY3Rpb24gbyh1KXt0cnl7bChhLm5leHQodSkpfWNhdGNoKGQpe3MoZCl9fWZ1bmN0aW9uIGModSl7dHJ5e2woYS50aHJvdyh1KSl9Y2F0Y2goZCl7cyhkKX19ZnVuY3Rpb24gbCh1KXt1LmRvbmU/bih1LnZhbHVlKTppKHUudmFsdWUpLnRoZW4obyxjKX1sKChhPWEuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KX1mdW5jdGlvbiBMNyhlLHQpe3ZhciByPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihuWzBdJjEpdGhyb3cgblsxXTtyZXR1cm4gblsxXX0sdHJ5czpbXSxvcHM6W119LGEsaSxuLHM9T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT0iZnVuY3Rpb24iP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gcy5uZXh0PW8oMCkscy50aHJvdz1vKDEpLHMucmV0dXJuPW8oMiksdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmKHNbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSkscztmdW5jdGlvbiBvKGwpe3JldHVybiBmdW5jdGlvbih1KXtyZXR1cm4gYyhbbCx1XSl9fWZ1bmN0aW9uIGMobCl7aWYoYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtzJiYocz0wLGxbMF0mJihyPTApKSxyOyl0cnl7aWYoYT0xLGkmJihuPWxbMF0mMj9pLnJldHVybjpsWzBdP2kudGhyb3d8fCgobj1pLnJldHVybikmJm4uY2FsbChpKSwwKTppLm5leHQpJiYhKG49bi5jYWxsKGksbFsxXSkpLmRvbmUpcmV0dXJuIG47c3dpdGNoKGk9MCxuJiYobD1bbFswXSYyLG4udmFsdWVdKSxsWzBdKXtjYXNlIDA6Y2FzZSAxOm49bDticmVhaztjYXNlIDQ6cmV0dXJuIHIubGFiZWwrKyx7dmFsdWU6bFsxXSxkb25lOiExfTtjYXNlIDU6ci5sYWJlbCsrLGk9bFsxXSxsPVswXTtjb250aW51ZTtjYXNlIDc6bD1yLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZihuPXIudHJ5cywhKG49bi5sZW5ndGg+MCYmbltuLmxlbmd0aC0xXSkmJihsWzBdPT09Nnx8bFswXT09PTIpKXtyPTA7Y29udGludWV9aWYobFswXT09PTMmJighbnx8bFsxXT5uWzBdJiZsWzFdPG5bM10pKXtyLmxhYmVsPWxbMV07YnJlYWt9aWYobFswXT09PTYmJnIubGFiZWw8blsxXSl7ci5sYWJlbD1uWzFdLG49bDticmVha31pZihuJiZyLmxhYmVsPG5bMl0pe3IubGFiZWw9blsyXSxyLm9wcy5wdXNoKGwpO2JyZWFrfW5bMl0mJnIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZX1sPXQuY2FsbChlLHIpfWNhdGNoKHUpe2w9WzYsdV0saT0wfWZpbmFsbHl7YT1uPTB9aWYobFswXSY1KXRocm93IGxbMV07cmV0dXJue3ZhbHVlOmxbMF0/bFsxXTp2b2lkIDAsZG9uZTohMH19fWZ1bmN0aW9uIGMkcihlLHQpe2Zvcih2YXIgciBpbiBlKXIhPT0iZGVmYXVsdCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmbVoodCxlLHIpfWZ1bmN0aW9uIHduKGUpe3ZhciB0PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5pdGVyYXRvcixyPXQmJmVbdF0sYT0wO2lmKHIpcmV0dXJuIHIuY2FsbChlKTtpZihlJiZ0eXBlb2YgZS5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGUmJmE+PWUubGVuZ3RoJiYoZT12b2lkIDApLHt2YWx1ZTplJiZlW2ErK10sZG9uZTohZX19fTt0aHJvdyBuZXcgVHlwZUVycm9yKHQ/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfWZ1bmN0aW9uIHJpKGUsdCl7dmFyIHI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmZVtTeW1ib2wuaXRlcmF0b3JdO2lmKCFyKXJldHVybiBlO3ZhciBhPXIuY2FsbChlKSxpLG49W10sczt0cnl7Zm9yKDsodD09PXZvaWQgMHx8dC0tID4wKSYmIShpPWEubmV4dCgpKS5kb25lOyluLnB1c2goaS52YWx1ZSl9Y2F0Y2gobyl7cz17ZXJyb3I6b319ZmluYWxseXt0cnl7aSYmIWkuZG9uZSYmKHI9YS5yZXR1cm4pJiZyLmNhbGwoYSl9ZmluYWxseXtpZihzKXRocm93IHMuZXJyb3J9fXJldHVybiBufWZ1bmN0aW9uIGQkcigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllPWUuY29uY2F0KHJpKGFyZ3VtZW50c1t0XSkpO3JldHVybiBlfWZ1bmN0aW9uIHUkcigpe2Zvcih2YXIgZT0wLHQ9MCxyPWFyZ3VtZW50cy5sZW5ndGg7dDxyO3QrKyllKz1hcmd1bWVudHNbdF0ubGVuZ3RoO2Zvcih2YXIgYT1BcnJheShlKSxpPTAsdD0wO3Q8cjt0KyspZm9yKHZhciBuPWFyZ3VtZW50c1t0XSxzPTAsbz1uLmxlbmd0aDtzPG87cysrLGkrKylhW2ldPW5bc107cmV0dXJuIGF9ZnVuY3Rpb24gV2koZSx0LHIpe2lmKHJ8fGFyZ3VtZW50cy5sZW5ndGg9PT0yKWZvcih2YXIgYT0wLGk9dC5sZW5ndGgsbjthPGk7YSsrKShufHwhKGEgaW4gdCkpJiYobnx8KG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLGEpKSxuW2FdPXRbYV0pO3JldHVybiBlLmNvbmNhdChufHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KSl9ZnVuY3Rpb24gWmwoZSl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBabD8odGhpcy52PWUsdGhpcyk6bmV3IFpsKGUpfWZ1bmN0aW9uIHZaKGUsdCxyKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIGE9ci5hcHBseShlLHR8fFtdKSxpLG49W107cmV0dXJuIGk9T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEFzeW5jSXRlcmF0b3I9PSJmdW5jdGlvbiI/QXN5bmNJdGVyYXRvcjpPYmplY3QpLnByb3RvdHlwZSksbygibmV4dCIpLG8oInRocm93IiksbygicmV0dXJuIixzKSxpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxpO2Z1bmN0aW9uIHMobSl7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBQcm9taXNlLnJlc29sdmUodikudGhlbihtLGQpfX1mdW5jdGlvbiBvKG0sdil7YVttXSYmKGlbbV09ZnVuY3Rpb24oYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGcseSl7bi5wdXNoKFttLGIsZyx5XSk+MXx8YyhtLGIpfSl9LHYmJihpW21dPXYoaVttXSkpKX1mdW5jdGlvbiBjKG0sdil7dHJ5e2woYVttXSh2KSl9Y2F0Y2goYil7aChuWzBdWzNdLGIpfX1mdW5jdGlvbiBsKG0pe20udmFsdWUgaW5zdGFuY2VvZiBabD9Qcm9taXNlLnJlc29sdmUobS52YWx1ZS52KS50aGVuKHUsZCk6aChuWzBdWzJdLG0pfWZ1bmN0aW9uIHUobSl7YygibmV4dCIsbSl9ZnVuY3Rpb24gZChtKXtjKCJ0aHJvdyIsbSl9ZnVuY3Rpb24gaChtLHYpe20odiksbi5zaGlmdCgpLG4ubGVuZ3RoJiZjKG5bMF1bMF0sblswXVsxXSl9fWZ1bmN0aW9uIHAkcihlKXt2YXIgdCxyO3JldHVybiB0PXt9LGEoIm5leHQiKSxhKCJ0aHJvdyIsZnVuY3Rpb24oaSl7dGhyb3cgaX0pLGEoInJldHVybiIpLHRbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSx0O2Z1bmN0aW9uIGEoaSxuKXt0W2ldPWVbaV0/ZnVuY3Rpb24ocyl7cmV0dXJuKHI9IXIpP3t2YWx1ZTpabChlW2ldKHMpKSxkb25lOiExfTpuP24ocyk6c306bn19ZnVuY3Rpb24geFooZSl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciB0PWVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdLHI7cmV0dXJuIHQ/dC5jYWxsKGUpOihlPXR5cGVvZiB3bj09ImZ1bmN0aW9uIj93bihlKTplW1N5bWJvbC5pdGVyYXRvcl0oKSxyPXt9LGEoIm5leHQiKSxhKCJ0aHJvdyIpLGEoInJldHVybiIpLHJbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHIpO2Z1bmN0aW9uIGEobil7cltuXT1lW25dJiZmdW5jdGlvbihzKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obyxjKXtzPWVbbl0ocyksaShvLGMscy5kb25lLHMudmFsdWUpfSl9fWZ1bmN0aW9uIGkobixzLG8sYyl7UHJvbWlzZS5yZXNvbHZlKGMpLnRoZW4oZnVuY3Rpb24obCl7bih7dmFsdWU6bCxkb25lOm99KX0scyl9fWZ1bmN0aW9uIGYkcihlLHQpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsInJhdyIse3ZhbHVlOnR9KTplLnJhdz10LGV9ZnVuY3Rpb24gbSRyKGUpe2lmKGUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgdD17fTtpZihlIT1udWxsKWZvcih2YXIgcj1nWihlKSxhPTA7YTxyLmxlbmd0aDthKyspclthXSE9PSJkZWZhdWx0IiYmbVoodCxlLHJbYV0pO3JldHVybiBoJHIodCxlKSx0fWZ1bmN0aW9uIGckcihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19ZnVuY3Rpb24gYiRyKGUsdCxyLGEpe2lmKHI9PT0iYSImJiFhKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpO2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iP2UhPT10fHwhYTohdC5oYXMoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIHI9PT0ibSI/YTpyPT09ImEiP2EuY2FsbChlKTphP2EudmFsdWU6dC5nZXQoZSl9ZnVuY3Rpb24gdiRyKGUsdCxyLGEsaSl7aWYoYT09PSJtIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGUiKTtpZihhPT09ImEiJiYhaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXIiKTtpZih0eXBlb2YgdD09ImZ1bmN0aW9uIj9lIT09dHx8IWk6IXQuaGFzKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIGE9PT0iYSI/aS5jYWxsKGUscik6aT9pLnZhbHVlPXI6dC5zZXQoZSxyKSxyfWZ1bmN0aW9uIHgkcihlLHQpe2lmKHQ9PT1udWxsfHx0eXBlb2YgdCE9Im9iamVjdCImJnR5cGVvZiB0IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0Iik7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24iP3Q9PT1lOmUuaGFzKHQpfWZ1bmN0aW9uIHkkcihlLHQscil7aWYodCE9bnVsbCl7aWYodHlwZW9mIHQhPSJvYmplY3QiJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQuIik7dmFyIGEsaTtpZihyKXtpZighU3ltYm9sLmFzeW5jRGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNEaXNwb3NlIGlzIG5vdCBkZWZpbmVkLiIpO2E9dFtTeW1ib2wuYXN5bmNEaXNwb3NlXX1pZihhPT09dm9pZCAwKXtpZighU3ltYm9sLmRpc3Bvc2UpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmRpc3Bvc2UgaXMgbm90IGRlZmluZWQuIik7YT10W1N5bWJvbC5kaXNwb3NlXSxyJiYoaT1hKX1pZih0eXBlb2YgYSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3Qgbm90IGRpc3Bvc2FibGUuIik7aSYmKGE9ZnVuY3Rpb24oKXt0cnl7aS5jYWxsKHRoaXMpfWNhdGNoKG4pe3JldHVybiBQcm9taXNlLnJlamVjdChuKX19KSxlLnN0YWNrLnB1c2goe3ZhbHVlOnQsZGlzcG9zZTphLGFzeW5jOnJ9KX1lbHNlIHImJmUuc3RhY2sucHVzaCh7YXN5bmM6ITB9KTtyZXR1cm4gdH1mdW5jdGlvbiBNJHIoZSl7ZnVuY3Rpb24gdChuKXtlLmVycm9yPWUuaGFzRXJyb3I/bmV3IHckcihuLGUuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpuLGUuaGFzRXJyb3I9ITB9dmFyIHIsYT0wO2Z1bmN0aW9uIGkoKXtmb3IoO3I9ZS5zdGFjay5wb3AoKTspdHJ5e2lmKCFyLmFzeW5jJiZhPT09MSlyZXR1cm4gYT0wLGUuc3RhY2sucHVzaChyKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKGkpO2lmKHIuZGlzcG9zZSl7dmFyIG49ci5kaXNwb3NlLmNhbGwoci52YWx1ZSk7aWYoci5hc3luYylyZXR1cm4gYXw9MixQcm9taXNlLnJlc29sdmUobikudGhlbihpLGZ1bmN0aW9uKHMpe3JldHVybiB0KHMpLGkoKX0pfWVsc2UgYXw9MX1jYXRjaChzKXt0KHMpfWlmKGE9PT0xKXJldHVybiBlLmhhc0Vycm9yP1Byb21pc2UucmVqZWN0KGUuZXJyb3IpOlByb21pc2UucmVzb2x2ZSgpO2lmKGUuaGFzRXJyb3IpdGhyb3cgZS5lcnJvcn1yZXR1cm4gaSgpfWZ1bmN0aW9uIGskcihlLHQpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJi9eXC5cLj9cLy8udGVzdChlKT9lLnJlcGxhY2UoL1wuKHRzeCkkfCgoPzpcLmQpPykoKD86XC5bXi4vXSs/KT8pXC4oW2NtXT8pdHMkL2ksZnVuY3Rpb24ocixhLGksbixzKXtyZXR1cm4gYT90PyIuanN4IjoiLmpzIjppJiYoIW58fCFzKT9yOmkrbisiLiIrcy50b0xvd2VyQ2FzZSgpKyJqcyJ9KTplfXZhciBmWixoWixtWixoJHIsZ1osdyRyLEV0aSxqcj1mKCgpPT57Zlo9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZlo9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHIsYSl7ci5fX3Byb3RvX189YX18fGZ1bmN0aW9uKHIsYSl7Zm9yKHZhciBpIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsaSkmJihyW2ldPWFbaV0pfSxmWihlLHQpfTtoWj1mdW5jdGlvbigpe3JldHVybiBoWj1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIHIsYT0xLGk9YXJndW1lbnRzLmxlbmd0aDthPGk7YSsrKXtyPWFyZ3VtZW50c1thXTtmb3IodmFyIG4gaW4gcilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixuKSYmKHRbbl09cltuXSl9cmV0dXJuIHR9LGhaLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07bVo9T2JqZWN0LmNyZWF0ZT8oZnVuY3Rpb24oZSx0LHIsYSl7YT09PXZvaWQgMCYmKGE9cik7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpOyghaXx8KCJnZXQiaW4gaT8hdC5fX2VzTW9kdWxlOmkud3JpdGFibGV8fGkuY29uZmlndXJhYmxlKSkmJihpPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGEsaSl9KTooZnVuY3Rpb24oZSx0LHIsYSl7YT09PXZvaWQgMCYmKGE9ciksZVthXT10W3JdfSk7aCRyPU9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX0pOmZ1bmN0aW9uKGUsdCl7ZS5kZWZhdWx0PXR9LGdaPWZ1bmN0aW9uKGUpe3JldHVybiBnWj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc3x8ZnVuY3Rpb24odCl7dmFyIHI9W107Zm9yKHZhciBhIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsYSkmJihyW3IubGVuZ3RoXT1hKTtyZXR1cm4gcn0sZ1ooZSl9O3ckcj10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iP1N1cHByZXNzZWRFcnJvcjpmdW5jdGlvbihlLHQscil7dmFyIGE9bmV3IEVycm9yKHIpO3JldHVybiBhLm5hbWU9IlN1cHByZXNzZWRFcnJvciIsYS5lcnJvcj1lLGEuc3VwcHJlc3NlZD10LGF9O0V0aT17X19leHRlbmRzOlp0LF9fYXNzaWduOmhaLF9fcmVzdDp0JHIsX19kZWNvcmF0ZTpyJHIsX19wYXJhbTphJHIsX19lc0RlY29yYXRlOmkkcixfX3J1bkluaXRpYWxpemVyczpuJHIsX19wcm9wS2V5OnMkcixfX3NldEZ1bmN0aW9uTmFtZTpvJHIsX19tZXRhZGF0YTpsJHIsX19hd2FpdGVyOmJaLF9fZ2VuZXJhdG9yOkw3LF9fY3JlYXRlQmluZGluZzptWixfX2V4cG9ydFN0YXI6YyRyLF9fdmFsdWVzOnduLF9fcmVhZDpyaSxfX3NwcmVhZDpkJHIsX19zcHJlYWRBcnJheXM6dSRyLF9fc3ByZWFkQXJyYXk6V2ksX19hd2FpdDpabCxfX2FzeW5jR2VuZXJhdG9yOnZaLF9fYXN5bmNEZWxlZ2F0b3I6cCRyLF9fYXN5bmNWYWx1ZXM6eFosX19tYWtlVGVtcGxhdGVPYmplY3Q6ZiRyLF9faW1wb3J0U3RhcjptJHIsX19pbXBvcnREZWZhdWx0OmckcixfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0OmIkcixfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0OnYkcixfX2NsYXNzUHJpdmF0ZUZpZWxkSW46eCRyLF9fYWRkRGlzcG9zYWJsZVJlc291cmNlOnkkcixfX2Rpc3Bvc2VSZXNvdXJjZXM6TSRyLF9fcmV3cml0ZVJlbGF0aXZlSW1wb3J0RXh0ZW5zaW9uOmskcn19KTtmdW5jdGlvbiBMdChlKXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiJ9dmFyIEVpPWYoKCk9Pnt9KTtmdW5jdGlvbiBNMShlKXt2YXIgdD1mdW5jdGlvbihhKXtFcnJvci5jYWxsKGEpLGEuc3RhY2s9bmV3IEVycm9yKCkuc3RhY2t9LHI9ZSh0KTtyZXR1cm4gci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIscn12YXIgWDA9ZigoKT0+e30pO3ZhciAkNyx5Wj1mKCgpPT57WDAoKTskNz1NMShmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7ZSh0aGlzKSx0aGlzLm1lc3NhZ2U9cj9yLmxlbmd0aCtgIGVycm9ycyBvY2N1cnJlZCBkdXJpbmcgdW5zdWJzY3JpcHRpb246CmArci5tYXAoZnVuY3Rpb24oYSxpKXtyZXR1cm4gaSsxKyIpICIrYS50b1N0cmluZygpfSkuam9pbihgCiAgYCk6IiIsdGhpcy5uYW1lPSJVbnN1YnNjcmlwdGlvbkVycm9yIix0aGlzLmVycm9ycz1yfX0pfSk7ZnVuY3Rpb24gYm8oZSx0KXtpZihlKXt2YXIgcj1lLmluZGV4T2YodCk7MDw9ciYmZS5zcGxpY2UociwxKX19dmFyIGJwPWYoKCk9Pnt9KTtmdW5jdGlvbiBkeihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFZhfHxlJiYiY2xvc2VkImluIGUmJkx0KGUucmVtb3ZlKSYmTHQoZS5hZGQpJiZMdChlLnVuc3Vic2NyaWJlKX1mdW5jdGlvbiAkRWUoZSl7THQoZSk/ZSgpOmUudW5zdWJzY3JpYmUoKX12YXIgVmEsd1osQTI9ZigoKT0+e2pyKCk7RWkoKTt5WigpO2JwKCk7VmE9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXt0aGlzLmluaXRpYWxUZWFyZG93bj10LHRoaXMuY2xvc2VkPSExLHRoaXMuX3BhcmVudGFnZT1udWxsLHRoaXMuX2ZpbmFsaXplcnM9bnVsbH1yZXR1cm4gZS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt2YXIgdCxyLGEsaSxuO2lmKCF0aGlzLmNsb3NlZCl7dGhpcy5jbG9zZWQ9ITA7dmFyIHM9dGhpcy5fcGFyZW50YWdlO2lmKHMpaWYodGhpcy5fcGFyZW50YWdlPW51bGwsQXJyYXkuaXNBcnJheShzKSl0cnl7Zm9yKHZhciBvPXduKHMpLGM9by5uZXh0KCk7IWMuZG9uZTtjPW8ubmV4dCgpKXt2YXIgbD1jLnZhbHVlO2wucmVtb3ZlKHRoaXMpfX1jYXRjaChiKXt0PXtlcnJvcjpifX1maW5hbGx5e3RyeXtjJiYhYy5kb25lJiYocj1vLnJldHVybikmJnIuY2FsbChvKX1maW5hbGx5e2lmKHQpdGhyb3cgdC5lcnJvcn19ZWxzZSBzLnJlbW92ZSh0aGlzKTt2YXIgdT10aGlzLmluaXRpYWxUZWFyZG93bjtpZihMdCh1KSl0cnl7dSgpfWNhdGNoKGIpe249YiBpbnN0YW5jZW9mICQ3P2IuZXJyb3JzOltiXX12YXIgZD10aGlzLl9maW5hbGl6ZXJzO2lmKGQpe3RoaXMuX2ZpbmFsaXplcnM9bnVsbDt0cnl7Zm9yKHZhciBoPXduKGQpLG09aC5uZXh0KCk7IW0uZG9uZTttPWgubmV4dCgpKXt2YXIgdj1tLnZhbHVlO3RyeXskRWUodil9Y2F0Y2goYil7bj1uPz9bXSxiIGluc3RhbmNlb2YgJDc/bj1XaShXaShbXSxyaShuKSkscmkoYi5lcnJvcnMpKTpuLnB1c2goYil9fX1jYXRjaChiKXthPXtlcnJvcjpifX1maW5hbGx5e3RyeXttJiYhbS5kb25lJiYoaT1oLnJldHVybikmJmkuY2FsbChoKX1maW5hbGx5e2lmKGEpdGhyb3cgYS5lcnJvcn19fWlmKG4pdGhyb3cgbmV3ICQ3KG4pfX0sZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3ZhciByO2lmKHQmJnQhPT10aGlzKWlmKHRoaXMuY2xvc2VkKSRFZSh0KTtlbHNle2lmKHQgaW5zdGFuY2VvZiBlKXtpZih0LmNsb3NlZHx8dC5faGFzUGFyZW50KHRoaXMpKXJldHVybjt0Ll9hZGRQYXJlbnQodGhpcyl9KHRoaXMuX2ZpbmFsaXplcnM9KHI9dGhpcy5fZmluYWxpemVycykhPT1udWxsJiZyIT09dm9pZCAwP3I6W10pLnB1c2godCl9fSxlLnByb3RvdHlwZS5faGFzUGFyZW50PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuX3BhcmVudGFnZTtyZXR1cm4gcj09PXR8fEFycmF5LmlzQXJyYXkocikmJnIuaW5jbHVkZXModCl9LGUucHJvdG90eXBlLl9hZGRQYXJlbnQ9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fcGFyZW50YWdlO3RoaXMuX3BhcmVudGFnZT1BcnJheS5pc0FycmF5KHIpPyhyLnB1c2godCkscik6cj9bcix0XTp0fSxlLnByb3RvdHlwZS5fcmVtb3ZlUGFyZW50PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuX3BhcmVudGFnZTtyPT09dD90aGlzLl9wYXJlbnRhZ2U9bnVsbDpBcnJheS5pc0FycmF5KHIpJiZibyhyLHQpfSxlLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fZmluYWxpemVycztyJiZibyhyLHQpLHQgaW5zdGFuY2VvZiBlJiZ0Ll9yZW1vdmVQYXJlbnQodGhpcyl9LGUuRU1QVFk9KGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGU7cmV0dXJuIHQuY2xvc2VkPSEwLHR9KSgpLGV9KSgpLHdaPVZhLkVNUFRZfSk7dmFyIFNzLHZwPWYoKCk9PntTcz17b25VbmhhbmRsZWRFcnJvcjpudWxsLG9uU3RvcHBlZE5vdGlmaWNhdGlvbjpudWxsLFByb21pc2U6dm9pZCAwLHVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmc6ITEsdXNlRGVwcmVjYXRlZE5leHRDb250ZXh0OiExfX0pO3ZhciB4cCxNWj1mKCgpPT57anIoKTt4cD17c2V0VGltZW91dDpmdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1bXSxhPTI7YTxhcmd1bWVudHMubGVuZ3RoO2ErKylyW2EtMl09YXJndW1lbnRzW2FdO3ZhciBpPXhwLmRlbGVnYXRlO3JldHVybiBpPy5zZXRUaW1lb3V0P2kuc2V0VGltZW91dC5hcHBseShpLFdpKFtlLHRdLHJpKHIpKSk6c2V0VGltZW91dC5hcHBseSh2b2lkIDAsV2koW2UsdF0scmkocikpKX0sY2xlYXJUaW1lb3V0OmZ1bmN0aW9uKGUpe3ZhciB0PXhwLmRlbGVnYXRlO3JldHVybih0Py5jbGVhclRpbWVvdXR8fGNsZWFyVGltZW91dCkoZSl9LGRlbGVnYXRlOnZvaWQgMH19KTtmdW5jdGlvbiB1eihlKXt4cC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIHQ9U3Mub25VbmhhbmRsZWRFcnJvcjtpZih0KXQoZSk7ZWxzZSB0aHJvdyBlfSl9dmFyIGtaPWYoKCk9Pnt2cCgpO01aKCl9KTtmdW5jdGlvbiB6cygpe312YXIgRWQ9ZigoKT0+e30pO2Z1bmN0aW9uIEFFZShlKXtyZXR1cm4gU1ooIkUiLHZvaWQgMCxlKX1mdW5jdGlvbiBFRWUoZSl7cmV0dXJuIFNaKCJOIixlLHZvaWQgMCl9ZnVuY3Rpb24gU1ooZSx0LHIpe3JldHVybntraW5kOmUsdmFsdWU6dCxlcnJvcjpyfX12YXIgREVlLElFZT1mKCgpPT57REVlPShmdW5jdGlvbigpe3JldHVybiBTWigiQyIsdm9pZCAwLHZvaWQgMCl9KSgpfSk7ZnVuY3Rpb24geXAoZSl7aWYoU3MudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyl7dmFyIHQ9IUlkO2lmKHQmJihJZD17ZXJyb3JUaHJvd246ITEsZXJyb3I6bnVsbH0pLGUoKSx0KXt2YXIgcj1JZCxhPXIuZXJyb3JUaHJvd24saT1yLmVycm9yO2lmKElkPW51bGwsYSl0aHJvdyBpfX1lbHNlIGUoKX1mdW5jdGlvbiBQRWUoZSl7U3MudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyYmSWQmJihJZC5lcnJvclRocm93bj0hMCxJZC5lcnJvcj1lKX12YXIgSWQscHo9ZigoKT0+e3ZwKCk7SWQ9bnVsbH0pO2Z1bmN0aW9uIHpaKGUsdCl7cmV0dXJuIFMkci5jYWxsKGUsdCl9ZnVuY3Rpb24gZnooZSl7U3MudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZz9QRWUoZSk6dXooZSl9ZnVuY3Rpb24gQyRyKGUpe3Rocm93IGV9ZnVuY3Rpb24gQ1ooZSx0KXt2YXIgcj1Tcy5vblN0b3BwZWROb3RpZmljYXRpb247ciYmeHAuc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiByKGUsdCl9KX12YXIgUGQsUyRyLHokcixENyxUJHIsaHo9ZigoKT0+e2pyKCk7RWkoKTtBMigpO3ZwKCk7a1ooKTtFZCgpO0lFZSgpO01aKCk7cHooKTtQZD0oZnVuY3Rpb24oZSl7WnQodCxlKTtmdW5jdGlvbiB0KHIpe3ZhciBhPWUuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gYS5pc1N0b3BwZWQ9ITEscj8oYS5kZXN0aW5hdGlvbj1yLGR6KHIpJiZyLmFkZChhKSk6YS5kZXN0aW5hdGlvbj1UJHIsYX1yZXR1cm4gdC5jcmVhdGU9ZnVuY3Rpb24ocixhLGkpe3JldHVybiBuZXcgRDcocixhLGkpfSx0LnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHIpe3RoaXMuaXNTdG9wcGVkP0NaKEVFZShyKSx0aGlzKTp0aGlzLl9uZXh0KHIpfSx0LnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbihyKXt0aGlzLmlzU3RvcHBlZD9DWihBRWUociksdGhpcyk6KHRoaXMuaXNTdG9wcGVkPSEwLHRoaXMuX2Vycm9yKHIpKX0sdC5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt0aGlzLmlzU3RvcHBlZD9DWihERWUsdGhpcyk6KHRoaXMuaXNTdG9wcGVkPSEwLHRoaXMuX2NvbXBsZXRlKCkpfSx0LnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3RoaXMuY2xvc2VkfHwodGhpcy5pc1N0b3BwZWQ9ITAsZS5wcm90b3R5cGUudW5zdWJzY3JpYmUuY2FsbCh0aGlzKSx0aGlzLmRlc3RpbmF0aW9uPW51bGwpfSx0LnByb3RvdHlwZS5fbmV4dD1mdW5jdGlvbihyKXt0aGlzLmRlc3RpbmF0aW9uLm5leHQocil9LHQucHJvdG90eXBlLl9lcnJvcj1mdW5jdGlvbihyKXt0cnl7dGhpcy5kZXN0aW5hdGlvbi5lcnJvcihyKX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19LHQucHJvdG90eXBlLl9jb21wbGV0ZT1mdW5jdGlvbigpe3RyeXt0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCl9ZmluYWxseXt0aGlzLnVuc3Vic2NyaWJlKCl9fSx0fSkoVmEpLFMkcj1GdW5jdGlvbi5wcm90b3R5cGUuYmluZDt6JHI9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXt0aGlzLnBhcnRpYWxPYnNlcnZlcj10fXJldHVybiBlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMucGFydGlhbE9ic2VydmVyO2lmKHIubmV4dCl0cnl7ci5uZXh0KHQpfWNhdGNoKGEpe2Z6KGEpfX0sZS5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5wYXJ0aWFsT2JzZXJ2ZXI7aWYoci5lcnJvcil0cnl7ci5lcnJvcih0KX1jYXRjaChhKXtmeihhKX1lbHNlIGZ6KHQpfSxlLnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucGFydGlhbE9ic2VydmVyO2lmKHQuY29tcGxldGUpdHJ5e3QuY29tcGxldGUoKX1jYXRjaChyKXtmeihyKX19LGV9KSgpLEQ3PShmdW5jdGlvbihlKXtadCh0LGUpO2Z1bmN0aW9uIHQocixhLGkpe3ZhciBuPWUuY2FsbCh0aGlzKXx8dGhpcyxzO2lmKEx0KHIpfHwhcilzPXtuZXh0OnI/P3ZvaWQgMCxlcnJvcjphPz92b2lkIDAsY29tcGxldGU6aT8/dm9pZCAwfTtlbHNle3ZhciBvO24mJlNzLnVzZURlcHJlY2F0ZWROZXh0Q29udGV4dD8obz1PYmplY3QuY3JlYXRlKHIpLG8udW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXtyZXR1cm4gbi51bnN1YnNjcmliZSgpfSxzPXtuZXh0OnIubmV4dCYmelooci5uZXh0LG8pLGVycm9yOnIuZXJyb3ImJnpaKHIuZXJyb3IsbyksY29tcGxldGU6ci5jb21wbGV0ZSYmelooci5jb21wbGV0ZSxvKX0pOnM9cn1yZXR1cm4gbi5kZXN0aW5hdGlvbj1uZXcgeiRyKHMpLG59cmV0dXJuIHR9KShQZCk7VCRyPXtjbG9zZWQ6ITAsbmV4dDp6cyxlcnJvcjpDJHIsY29tcGxldGU6enN9fSk7dmFyIE5kLEE3PWYoKCk9PntOZD0oZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUifSkoKX0pO2Z1bmN0aW9uIEU3KGUpe3JldHVybiBlfXZhciBtej1mKCgpPT57fSk7ZnVuY3Rpb24gXyRyKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3JldHVybiBUWihlKX1mdW5jdGlvbiBUWihlKXtyZXR1cm4gZS5sZW5ndGg9PT0wP0U3OmUubGVuZ3RoPT09MT9lWzBdOmZ1bmN0aW9uKHIpe3JldHVybiBlLnJlZHVjZShmdW5jdGlvbihhLGkpe3JldHVybiBpKGEpfSxyKX19dmFyIF9aPWYoKCk9PntteigpfSk7ZnVuY3Rpb24gTkVlKGUpe3ZhciB0O3JldHVybih0PWU/P1NzLlByb21pc2UpIT09bnVsbCYmdCE9PXZvaWQgMD90OlByb21pc2V9ZnVuY3Rpb24gTCRyKGUpe3JldHVybiBlJiZMdChlLm5leHQpJiZMdChlLmVycm9yKSYmTHQoZS5jb21wbGV0ZSl9ZnVuY3Rpb24gJCRyKGUpe3JldHVybiBlJiZlIGluc3RhbmNlb2YgUGR8fEwkcihlKSYmZHooZSl9dmFyIHF0LGsxPWYoKCk9PntoeigpO0EyKCk7QTcoKTtfWigpO3ZwKCk7RWkoKTtweigpO3F0PShmdW5jdGlvbigpe2Z1bmN0aW9uIGUodCl7dCYmKHRoaXMuX3N1YnNjcmliZT10KX1yZXR1cm4gZS5wcm90b3R5cGUubGlmdD1mdW5jdGlvbih0KXt2YXIgcj1uZXcgZTtyZXR1cm4gci5zb3VyY2U9dGhpcyxyLm9wZXJhdG9yPXQscn0sZS5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKHQscixhKXt2YXIgaT10aGlzLG49JCRyKHQpP3Q6bmV3IEQ3KHQscixhKTtyZXR1cm4geXAoZnVuY3Rpb24oKXt2YXIgcz1pLG89cy5vcGVyYXRvcixjPXMuc291cmNlO24uYWRkKG8/by5jYWxsKG4sYyk6Yz9pLl9zdWJzY3JpYmUobik6aS5fdHJ5U3Vic2NyaWJlKG4pKX0pLG59LGUucHJvdG90eXBlLl90cnlTdWJzY3JpYmU9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0aGlzLl9zdWJzY3JpYmUodCl9Y2F0Y2gocil7dC5lcnJvcihyKX19LGUucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24odCxyKXt2YXIgYT10aGlzO3JldHVybiByPU5FZShyKSxuZXcgcihmdW5jdGlvbihpLG4pe3ZhciBzPW5ldyBENyh7bmV4dDpmdW5jdGlvbihvKXt0cnl7dChvKX1jYXRjaChjKXtuKGMpLHMudW5zdWJzY3JpYmUoKX19LGVycm9yOm4sY29tcGxldGU6aX0pO2Euc3Vic2NyaWJlKHMpfSl9LGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dmFyIHI7cmV0dXJuKHI9dGhpcy5zb3VyY2UpPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5zdWJzY3JpYmUodCl9LGUucHJvdG90eXBlW05kXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbcl09YXJndW1lbnRzW3JdO3JldHVybiBUWih0KSh0aGlzKX0sZS5wcm90b3R5cGUudG9Qcm9taXNlPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXM7cmV0dXJuIHQ9TkVlKHQpLG5ldyB0KGZ1bmN0aW9uKGEsaSl7dmFyIG47ci5zdWJzY3JpYmUoZnVuY3Rpb24ocyl7cmV0dXJuIG49c30sZnVuY3Rpb24ocyl7cmV0dXJuIGkocyl9LGZ1bmN0aW9uKCl7cmV0dXJuIGEobil9KX0pfSxlLmNyZWF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGUodCl9LGV9KSgpfSk7ZnVuY3Rpb24gTFooZSl7cmV0dXJuIEx0KGU/LmxpZnQpfWZ1bmN0aW9uIERyKGUpe3JldHVybiBmdW5jdGlvbih0KXtpZihMWih0KSlyZXR1cm4gdC5saWZ0KGZ1bmN0aW9uKHIpe3RyeXtyZXR1cm4gZShyLHRoaXMpfWNhdGNoKGEpe3RoaXMuZXJyb3IoYSl9fSk7dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5hYmxlIHRvIGxpZnQgdW5rbm93biBPYnNlcnZhYmxlIHR5cGUiKX19dmFyIEdpPWYoKCk9PntFaSgpfSk7ZnVuY3Rpb24geHIoZSx0LHIsYSxpKXtyZXR1cm4gbmV3IEZFZShlLHQscixhLGkpfXZhciBGRWUsR249ZigoKT0+e2pyKCk7aHooKTtGRWU9KGZ1bmN0aW9uKGUpe1p0KHQsZSk7ZnVuY3Rpb24gdChyLGEsaSxuLHMsbyl7dmFyIGM9ZS5jYWxsKHRoaXMscil8fHRoaXM7cmV0dXJuIGMub25GaW5hbGl6ZT1zLGMuc2hvdWxkVW5zdWJzY3JpYmU9byxjLl9uZXh0PWE/ZnVuY3Rpb24obCl7dHJ5e2EobCl9Y2F0Y2godSl7ci5lcnJvcih1KX19OmUucHJvdG90eXBlLl9uZXh0LGMuX2Vycm9yPW4/ZnVuY3Rpb24obCl7dHJ5e24obCl9Y2F0Y2godSl7ci5lcnJvcih1KX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19OmUucHJvdG90eXBlLl9lcnJvcixjLl9jb21wbGV0ZT1pP2Z1bmN0aW9uKCl7dHJ5e2koKX1jYXRjaChsKXtyLmVycm9yKGwpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX06ZS5wcm90b3R5cGUuX2NvbXBsZXRlLGN9cmV0dXJuIHQucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dmFyIHI7aWYoIXRoaXMuc2hvdWxkVW5zdWJzY3JpYmV8fHRoaXMuc2hvdWxkVW5zdWJzY3JpYmUoKSl7dmFyIGE9dGhpcy5jbG9zZWQ7ZS5wcm90b3R5cGUudW5zdWJzY3JpYmUuY2FsbCh0aGlzKSwhYSYmKChyPXRoaXMub25GaW5hbGl6ZSk9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwodGhpcykpfX0sdH0pKFBkKX0pO2Z1bmN0aW9uIGd6KCl7cmV0dXJuIERyKGZ1bmN0aW9uKGUsdCl7dmFyIHI9bnVsbDtlLl9yZWZDb3VudCsrO3ZhciBhPXhyKHQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtpZighZXx8ZS5fcmVmQ291bnQ8PTB8fDA8LS1lLl9yZWZDb3VudCl7cj1udWxsO3JldHVybn12YXIgaT1lLl9jb25uZWN0aW9uLG49cjtyPW51bGwsaSYmKCFufHxpPT09bikmJmkudW5zdWJzY3JpYmUoKSx0LnVuc3Vic2NyaWJlKCl9KTtlLnN1YnNjcmliZShhKSxhLmNsb3NlZHx8KHI9ZS5jb25uZWN0KCkpfSl9dmFyIGJ6PWYoKCk9PntHaSgpO0duKCl9KTt2YXIgT0VlLFJFZT1mKCgpPT57anIoKTtrMSgpO0EyKCk7YnooKTtHbigpO0dpKCk7T0VlPShmdW5jdGlvbihlKXtadCh0LGUpO2Z1bmN0aW9uIHQocixhKXt2YXIgaT1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGkuc291cmNlPXIsaS5zdWJqZWN0RmFjdG9yeT1hLGkuX3N1YmplY3Q9bnVsbCxpLl9yZWZDb3VudD0wLGkuX2Nvbm5lY3Rpb249bnVsbCxMWihyKSYmKGkubGlmdD1yLmxpZnQpLGl9cmV0dXJuIHQucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuZ2V0U3ViamVjdCgpLnN1YnNjcmliZShyKX0sdC5wcm90b3R5cGUuZ2V0U3ViamVjdD1mdW5jdGlvbigpe3ZhciByPXRoaXMuX3N1YmplY3Q7cmV0dXJuKCFyfHxyLmlzU3RvcHBlZCkmJih0aGlzLl9zdWJqZWN0PXRoaXMuc3ViamVjdEZhY3RvcnkoKSksdGhpcy5fc3ViamVjdH0sdC5wcm90b3R5cGUuX3RlYXJkb3duPWZ1bmN0aW9uKCl7dGhpcy5fcmVmQ291bnQ9MDt2YXIgcj10aGlzLl9jb25uZWN0aW9uO3RoaXMuX3N1YmplY3Q9dGhpcy5fY29ubmVjdGlvbj1udWxsLHI/LnVuc3Vic2NyaWJlKCl9LHQucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGE9dGhpcy5fY29ubmVjdGlvbjtpZighYSl7YT10aGlzLl9jb25uZWN0aW9uPW5ldyBWYTt2YXIgaT10aGlzLmdldFN1YmplY3QoKTthLmFkZCh0aGlzLnNvdXJjZS5zdWJzY3JpYmUoeHIoaSx2b2lkIDAsZnVuY3Rpb24oKXtyLl90ZWFyZG93bigpLGkuY29tcGxldGUoKX0sZnVuY3Rpb24obil7ci5fdGVhcmRvd24oKSxpLmVycm9yKG4pfSxmdW5jdGlvbigpe3JldHVybiByLl90ZWFyZG93bigpfSkpKSxhLmNsb3NlZCYmKHRoaXMuX2Nvbm5lY3Rpb249bnVsbCxhPVZhLkVNUFRZKX1yZXR1cm4gYX0sdC5wcm90b3R5cGUucmVmQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gZ3ooKSh0aGlzKX0sdH0pKHF0KX0pO3ZhciAkWixCRWU9ZigoKT0+eyRaPXtub3c6ZnVuY3Rpb24oKXtyZXR1cm4oJFouZGVsZWdhdGV8fHBlcmZvcm1hbmNlKS5ub3coKX0sZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciBYbCxEWj1mKCgpPT57anIoKTtBMigpO1hsPXtzY2hlZHVsZTpmdW5jdGlvbihlKXt2YXIgdD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUscj1jYW5jZWxBbmltYXRpb25GcmFtZSxhPVhsLmRlbGVnYXRlO2EmJih0PWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lLHI9YS5jYW5jZWxBbmltYXRpb25GcmFtZSk7dmFyIGk9dChmdW5jdGlvbihuKXtyPXZvaWQgMCxlKG4pfSk7cmV0dXJuIG5ldyBWYShmdW5jdGlvbigpe3JldHVybiByPy4oaSl9KX0scmVxdWVzdEFuaW1hdGlvbkZyYW1lOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3ZhciByPVhsLmRlbGVnYXRlO3JldHVybihyPy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHJlcXVlc3RBbmltYXRpb25GcmFtZSkuYXBwbHkodm9pZCAwLFdpKFtdLHJpKGUpKSl9LGNhbmNlbEFuaW1hdGlvbkZyYW1lOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3ZhciByPVhsLmRlbGVnYXRlO3JldHVybihyPy5jYW5jZWxBbmltYXRpb25GcmFtZXx8Y2FuY2VsQW5pbWF0aW9uRnJhbWUpLmFwcGx5KHZvaWQgMCxXaShbXSxyaShlKSkpfSxkZWxlZ2F0ZTp2b2lkIDB9fSk7ZnVuY3Rpb24gRCRyKGUpe3JldHVybiBlP0hFZShlKTpBJHJ9ZnVuY3Rpb24gSEVlKGUpe3JldHVybiBuZXcgcXQoZnVuY3Rpb24odCl7dmFyIHI9ZXx8JFosYT1yLm5vdygpLGk9MCxuPWZ1bmN0aW9uKCl7dC5jbG9zZWR8fChpPVhsLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbihzKXtpPTA7dmFyIG89ci5ub3coKTt0Lm5leHQoe3RpbWVzdGFtcDplP286cyxlbGFwc2VkOm8tYX0pLG4oKX0pKX07cmV0dXJuIG4oKSxmdW5jdGlvbigpe2kmJlhsLmNhbmNlbEFuaW1hdGlvbkZyYW1lKGkpfX0pfXZhciBBJHIscUVlPWYoKCk9PntrMSgpO0JFZSgpO0RaKCk7QSRyPUhFZSgpfSk7dmFyIEFaLEVaPWYoKCk9PntYMCgpO0FaPU0xKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe2UodGhpcyksdGhpcy5uYW1lPSJPYmplY3RVbnN1YnNjcmliZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJvYmplY3QgdW5zdWJzY3JpYmVkIn19KX0pO3ZhciBTMSxJWixJNz1mKCgpPT57anIoKTtrMSgpO0EyKCk7RVooKTticCgpO3B6KCk7UzE9KGZ1bmN0aW9uKGUpe1p0KHQsZSk7ZnVuY3Rpb24gdCgpe3ZhciByPWUuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gci5jbG9zZWQ9ITEsci5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsci5vYnNlcnZlcnM9W10sci5pc1N0b3BwZWQ9ITEsci5oYXNFcnJvcj0hMSxyLnRocm93bkVycm9yPW51bGwscn1yZXR1cm4gdC5wcm90b3R5cGUubGlmdD1mdW5jdGlvbihyKXt2YXIgYT1uZXcgSVoodGhpcyx0aGlzKTtyZXR1cm4gYS5vcGVyYXRvcj1yLGF9LHQucHJvdG90eXBlLl90aHJvd0lmQ2xvc2VkPWZ1bmN0aW9uKCl7aWYodGhpcy5jbG9zZWQpdGhyb3cgbmV3IEFafSx0LnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHIpe3ZhciBhPXRoaXM7eXAoZnVuY3Rpb24oKXt2YXIgaSxuO2lmKGEuX3Rocm93SWZDbG9zZWQoKSwhYS5pc1N0b3BwZWQpe2EuY3VycmVudE9ic2VydmVyc3x8KGEuY3VycmVudE9ic2VydmVycz1BcnJheS5mcm9tKGEub2JzZXJ2ZXJzKSk7dHJ5e2Zvcih2YXIgcz13bihhLmN1cnJlbnRPYnNlcnZlcnMpLG89cy5uZXh0KCk7IW8uZG9uZTtvPXMubmV4dCgpKXt2YXIgYz1vLnZhbHVlO2MubmV4dChyKX19Y2F0Y2gobCl7aT17ZXJyb3I6bH19ZmluYWxseXt0cnl7byYmIW8uZG9uZSYmKG49cy5yZXR1cm4pJiZuLmNhbGwocyl9ZmluYWxseXtpZihpKXRocm93IGkuZXJyb3J9fX19KX0sdC5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24ocil7dmFyIGE9dGhpczt5cChmdW5jdGlvbigpe2lmKGEuX3Rocm93SWZDbG9zZWQoKSwhYS5pc1N0b3BwZWQpe2EuaGFzRXJyb3I9YS5pc1N0b3BwZWQ9ITAsYS50aHJvd25FcnJvcj1yO2Zvcih2YXIgaT1hLm9ic2VydmVycztpLmxlbmd0aDspaS5zaGlmdCgpLmVycm9yKHIpfX0pfSx0LnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlvbigpe3ZhciByPXRoaXM7eXAoZnVuY3Rpb24oKXtpZihyLl90aHJvd0lmQ2xvc2VkKCksIXIuaXNTdG9wcGVkKXtyLmlzU3RvcHBlZD0hMDtmb3IodmFyIGE9ci5vYnNlcnZlcnM7YS5sZW5ndGg7KWEuc2hpZnQoKS5jb21wbGV0ZSgpfX0pfSx0LnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3RoaXMuaXNTdG9wcGVkPXRoaXMuY2xvc2VkPSEwLHRoaXMub2JzZXJ2ZXJzPXRoaXMuY3VycmVudE9ic2VydmVycz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsIm9ic2VydmVkIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHI7cmV0dXJuKChyPXRoaXMub2JzZXJ2ZXJzKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIubGVuZ3RoKT4wfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLl90cnlTdWJzY3JpYmU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxlLnByb3RvdHlwZS5fdHJ5U3Vic2NyaWJlLmNhbGwodGhpcyxyKX0sdC5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5fdGhyb3dJZkNsb3NlZCgpLHRoaXMuX2NoZWNrRmluYWxpemVkU3RhdHVzZXMociksdGhpcy5faW5uZXJTdWJzY3JpYmUocil9LHQucHJvdG90eXBlLl9pbm5lclN1YnNjcmliZT1mdW5jdGlvbihyKXt2YXIgYT10aGlzLGk9dGhpcyxuPWkuaGFzRXJyb3Iscz1pLmlzU3RvcHBlZCxvPWkub2JzZXJ2ZXJzO3JldHVybiBufHxzP3daOih0aGlzLmN1cnJlbnRPYnNlcnZlcnM9bnVsbCxvLnB1c2gociksbmV3IFZhKGZ1bmN0aW9uKCl7YS5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsYm8obyxyKX0pKX0sdC5wcm90b3R5cGUuX2NoZWNrRmluYWxpemVkU3RhdHVzZXM9ZnVuY3Rpb24ocil7dmFyIGE9dGhpcyxpPWEuaGFzRXJyb3Isbj1hLnRocm93bkVycm9yLHM9YS5pc1N0b3BwZWQ7aT9yLmVycm9yKG4pOnMmJnIuY29tcGxldGUoKX0sdC5wcm90b3R5cGUuYXNPYnNlcnZhYmxlPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHF0O3JldHVybiByLnNvdXJjZT10aGlzLHJ9LHQuY3JlYXRlPWZ1bmN0aW9uKHIsYSl7cmV0dXJuIG5ldyBJWihyLGEpfSx0fSkocXQpLElaPShmdW5jdGlvbihlKXtadCh0LGUpO2Z1bmN0aW9uIHQocixhKXt2YXIgaT1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGkuZGVzdGluYXRpb249cixpLnNvdXJjZT1hLGl9cmV0dXJuIHQucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24ocil7dmFyIGEsaTsoaT0oYT10aGlzLmRlc3RpbmF0aW9uKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEubmV4dCk9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwoYSxyKX0sdC5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24ocil7dmFyIGEsaTsoaT0oYT10aGlzLmRlc3RpbmF0aW9uKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEuZXJyb3IpPT09bnVsbHx8aT09PXZvaWQgMHx8aS5jYWxsKGEscil9LHQucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHIsYTsoYT0ocj10aGlzLmRlc3RpbmF0aW9uKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIuY29tcGxldGUpPT09bnVsbHx8YT09PXZvaWQgMHx8YS5jYWxsKHIpfSx0LnByb3RvdHlwZS5fc3Vic2NyaWJlPWZ1bmN0aW9uKHIpe3ZhciBhLGk7cmV0dXJuKGk9KGE9dGhpcy5zb3VyY2UpPT09bnVsbHx8YT09PXZvaWQgMD92b2lkIDA6YS5zdWJzY3JpYmUocikpIT09bnVsbCYmaSE9PXZvaWQgMD9pOndafSx0fSkoUzEpfSk7dmFyIGpFZSxWRWU9ZigoKT0+e2pyKCk7STcoKTtqRWU9KGZ1bmN0aW9uKGUpe1p0KHQsZSk7ZnVuY3Rpb24gdChyKXt2YXIgYT1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGEuX3ZhbHVlPXIsYX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJ2YWx1ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFZhbHVlKCl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksdC5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihyKXt2YXIgYT1lLnByb3RvdHlwZS5fc3Vic2NyaWJlLmNhbGwodGhpcyxyKTtyZXR1cm4hYS5jbG9zZWQmJnIubmV4dCh0aGlzLl92YWx1ZSksYX0sdC5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGE9ci5oYXNFcnJvcixpPXIudGhyb3duRXJyb3Isbj1yLl92YWx1ZTtpZihhKXRocm93IGk7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxufSx0LnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHIpe2UucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLHRoaXMuX3ZhbHVlPXIpfSx0fSkoUzEpfSk7dmFyIFA3LFBaPWYoKCk9PntQNz17bm93OmZ1bmN0aW9uKCl7cmV0dXJuKFA3LmRlbGVnYXRlfHxEYXRlKS5ub3coKX0sZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciB2eixVRWU9ZigoKT0+e2pyKCk7STcoKTtQWigpO3Z6PShmdW5jdGlvbihlKXtadCh0LGUpO2Z1bmN0aW9uIHQocixhLGkpe3I9PT12b2lkIDAmJihyPTEvMCksYT09PXZvaWQgMCYmKGE9MS8wKSxpPT09dm9pZCAwJiYoaT1QNyk7dmFyIG49ZS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBuLl9idWZmZXJTaXplPXIsbi5fd2luZG93VGltZT1hLG4uX3RpbWVzdGFtcFByb3ZpZGVyPWksbi5fYnVmZmVyPVtdLG4uX2luZmluaXRlVGltZVdpbmRvdz0hMCxuLl9pbmZpbml0ZVRpbWVXaW5kb3c9YT09PTEvMCxuLl9idWZmZXJTaXplPU1hdGgubWF4KDEsciksbi5fd2luZG93VGltZT1NYXRoLm1heCgxLGEpLG59cmV0dXJuIHQucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24ocil7dmFyIGE9dGhpcyxpPWEuaXNTdG9wcGVkLG49YS5fYnVmZmVyLHM9YS5faW5maW5pdGVUaW1lV2luZG93LG89YS5fdGltZXN0YW1wUHJvdmlkZXIsYz1hLl93aW5kb3dUaW1lO2l8fChuLnB1c2gociksIXMmJm4ucHVzaChvLm5vdygpK2MpKSx0aGlzLl90cmltQnVmZmVyKCksZS5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMscil9LHQucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24ocil7dGhpcy5fdGhyb3dJZkNsb3NlZCgpLHRoaXMuX3RyaW1CdWZmZXIoKTtmb3IodmFyIGE9dGhpcy5faW5uZXJTdWJzY3JpYmUociksaT10aGlzLG49aS5faW5maW5pdGVUaW1lV2luZG93LHM9aS5fYnVmZmVyLG89cy5zbGljZSgpLGM9MDtjPG8ubGVuZ3RoJiYhci5jbG9zZWQ7Yys9bj8xOjIpci5uZXh0KG9bY10pO3JldHVybiB0aGlzLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzKHIpLGF9LHQucHJvdG90eXBlLl90cmltQnVmZmVyPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxhPXIuX2J1ZmZlclNpemUsaT1yLl90aW1lc3RhbXBQcm92aWRlcixuPXIuX2J1ZmZlcixzPXIuX2luZmluaXRlVGltZVdpbmRvdyxvPShzPzE6MikqYTtpZihhPDEvMCYmbzxuLmxlbmd0aCYmbi5zcGxpY2UoMCxuLmxlbmd0aC1vKSwhcyl7Zm9yKHZhciBjPWkubm93KCksbD0wLHU9MTt1PG4ubGVuZ3RoJiZuW3VdPD1jO3UrPTIpbD11O2wmJm4uc3BsaWNlKDAsbCsxKX19LHR9KShTMSl9KTt2YXIgV0VlLEdFZT1mKCgpPT57anIoKTtJNygpO1dFZT0oZnVuY3Rpb24oZSl7WnQodCxlKTtmdW5jdGlvbiB0KCl7dmFyIHI9ZSE9PW51bGwmJmUuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiByLl92YWx1ZT1udWxsLHIuX2hhc1ZhbHVlPSExLHIuX2lzQ29tcGxldGU9ITEscn1yZXR1cm4gdC5wcm90b3R5cGUuX2NoZWNrRmluYWxpemVkU3RhdHVzZXM9ZnVuY3Rpb24ocil7dmFyIGE9dGhpcyxpPWEuaGFzRXJyb3Isbj1hLl9oYXNWYWx1ZSxzPWEuX3ZhbHVlLG89YS50aHJvd25FcnJvcixjPWEuaXNTdG9wcGVkLGw9YS5faXNDb21wbGV0ZTtpP3IuZXJyb3Iobyk6KGN8fGwpJiYobiYmci5uZXh0KHMpLHIuY29tcGxldGUoKSl9LHQucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24ocil7dGhpcy5pc1N0b3BwZWR8fCh0aGlzLl92YWx1ZT1yLHRoaXMuX2hhc1ZhbHVlPSEwKX0sdC5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGE9ci5faGFzVmFsdWUsaT1yLl92YWx1ZSxuPXIuX2lzQ29tcGxldGU7bnx8KHRoaXMuX2lzQ29tcGxldGU9ITAsYSYmZS5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMsaSksZS5wcm90b3R5cGUuY29tcGxldGUuY2FsbCh0aGlzKSl9LHR9KShTMSl9KTt2YXIgTlosWUVlPWYoKCk9PntqcigpO0EyKCk7Tlo9KGZ1bmN0aW9uKGUpe1p0KHQsZSk7ZnVuY3Rpb24gdChyLGEpe3JldHVybiBlLmNhbGwodGhpcyl8fHRoaXN9cmV0dXJuIHQucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHIsYSl7cmV0dXJuIGE9PT12b2lkIDAmJihhPTApLHRoaXN9LHR9KShWYSl9KTt2YXIgTjcsWkVlPWYoKCk9PntqcigpO043PXtzZXRJbnRlcnZhbDpmdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1bXSxhPTI7YTxhcmd1bWVudHMubGVuZ3RoO2ErKylyW2EtMl09YXJndW1lbnRzW2FdO3ZhciBpPU43LmRlbGVnYXRlO3JldHVybiBpPy5zZXRJbnRlcnZhbD9pLnNldEludGVydmFsLmFwcGx5KGksV2koW2UsdF0scmkocikpKTpzZXRJbnRlcnZhbC5hcHBseSh2b2lkIDAsV2koW2UsdF0scmkocikpKX0sY2xlYXJJbnRlcnZhbDpmdW5jdGlvbihlKXt2YXIgdD1ONy5kZWxlZ2F0ZTtyZXR1cm4odD8uY2xlYXJJbnRlcnZhbHx8Y2xlYXJJbnRlcnZhbCkoZSl9LGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgdm8sd3A9ZigoKT0+e2pyKCk7WUVlKCk7WkVlKCk7YnAoKTt2bz0oZnVuY3Rpb24oZSl7WnQodCxlKTtmdW5jdGlvbiB0KHIsYSl7dmFyIGk9ZS5jYWxsKHRoaXMscixhKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9cixpLndvcms9YSxpLnBlbmRpbmc9ITEsaX1yZXR1cm4gdC5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24ocixhKXt2YXIgaTtpZihhPT09dm9pZCAwJiYoYT0wKSx0aGlzLmNsb3NlZClyZXR1cm4gdGhpczt0aGlzLnN0YXRlPXI7dmFyIG49dGhpcy5pZCxzPXRoaXMuc2NoZWR1bGVyO3JldHVybiBuIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKHMsbixhKSksdGhpcy5wZW5kaW5nPSEwLHRoaXMuZGVsYXk9YSx0aGlzLmlkPShpPXRoaXMuaWQpIT09bnVsbCYmaSE9PXZvaWQgMD9pOnRoaXMucmVxdWVzdEFzeW5jSWQocyx0aGlzLmlkLGEpLHRoaXN9LHQucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHIsYSxpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksTjcuc2V0SW50ZXJ2YWwoci5mbHVzaC5iaW5kKHIsdGhpcyksaSl9LHQucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHIsYSxpKXtpZihpPT09dm9pZCAwJiYoaT0wKSxpIT1udWxsJiZ0aGlzLmRlbGF5PT09aSYmdGhpcy5wZW5kaW5nPT09ITEpcmV0dXJuIGE7YSE9bnVsbCYmTjcuY2xlYXJJbnRlcnZhbChhKX0sdC5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihyLGEpe2lmKHRoaXMuY2xvc2VkKXJldHVybiBuZXcgRXJyb3IoImV4ZWN1dGluZyBhIGNhbmNlbGxlZCBhY3Rpb24iKTt0aGlzLnBlbmRpbmc9ITE7dmFyIGk9dGhpcy5fZXhlY3V0ZShyLGEpO2lmKGkpcmV0dXJuIGk7dGhpcy5wZW5kaW5nPT09ITEmJnRoaXMuaWQhPW51bGwmJih0aGlzLmlkPXRoaXMucmVjeWNsZUFzeW5jSWQodGhpcy5zY2hlZHVsZXIsdGhpcy5pZCxudWxsKSl9LHQucHJvdG90eXBlLl9leGVjdXRlPWZ1bmN0aW9uKHIsYSl7dmFyIGk9ITEsbjt0cnl7dGhpcy53b3JrKHIpfWNhdGNoKHMpe2k9ITAsbj1zfHxuZXcgRXJyb3IoIlNjaGVkdWxlZCBhY3Rpb24gdGhyZXcgZmFsc3kgZXJyb3IiKX1pZihpKXJldHVybiB0aGlzLnVuc3Vic2NyaWJlKCksbn0sdC5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXtpZighdGhpcy5jbG9zZWQpe3ZhciByPXRoaXMsYT1yLmlkLGk9ci5zY2hlZHVsZXIsbj1pLmFjdGlvbnM7dGhpcy53b3JrPXRoaXMuc3RhdGU9dGhpcy5zY2hlZHVsZXI9bnVsbCx0aGlzLnBlbmRpbmc9ITEsYm8obix0aGlzKSxhIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKGksYSxudWxsKSksdGhpcy5kZWxheT1udWxsLGUucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyl9fSx0fSkoTlopfSk7ZnVuY3Rpb24gWEVlKGUpe3JldHVybiBlIGluIHh6PyhkZWxldGUgeHpbZV0sITApOiExfXZhciBFJHIsRloseHosT1osTWFpLFFFZT1mKCgpPT57RSRyPTEseHo9e307T1o9e3NldEltbWVkaWF0ZTpmdW5jdGlvbihlKXt2YXIgdD1FJHIrKztyZXR1cm4geHpbdF09ITAsRlp8fChGWj1Qcm9taXNlLnJlc29sdmUoKSksRloudGhlbihmdW5jdGlvbigpe3JldHVybiBYRWUodCkmJmUoKX0pLHR9LGNsZWFySW1tZWRpYXRlOmZ1bmN0aW9uKGUpe1hFZShlKX19LE1haT17cGVuZGluZzpmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh4eikubGVuZ3RofX19KTt2YXIgSSRyLFAkcixGNyxKRWU9ZigoKT0+e2pyKCk7UUVlKCk7SSRyPU9aLnNldEltbWVkaWF0ZSxQJHI9T1ouY2xlYXJJbW1lZGlhdGUsRjc9e3NldEltbWVkaWF0ZTpmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgcj1GNy5kZWxlZ2F0ZTtyZXR1cm4ocj8uc2V0SW1tZWRpYXRlfHxJJHIpLmFwcGx5KHZvaWQgMCxXaShbXSxyaShlKSkpfSxjbGVhckltbWVkaWF0ZTpmdW5jdGlvbihlKXt2YXIgdD1GNy5kZWxlZ2F0ZTtyZXR1cm4odD8uY2xlYXJJbW1lZGlhdGV8fFAkcikoZSl9LGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgUlosS0VlPWYoKCk9PntqcigpO3dwKCk7SkVlKCk7Ulo9KGZ1bmN0aW9uKGUpe1p0KHQsZSk7ZnVuY3Rpb24gdChyLGEpe3ZhciBpPWUuY2FsbCh0aGlzLHIsYSl8fHRoaXM7cmV0dXJuIGkuc2NoZWR1bGVyPXIsaS53b3JrPWEsaX1yZXR1cm4gdC5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQ9ZnVuY3Rpb24ocixhLGkpe3JldHVybiBpPT09dm9pZCAwJiYoaT0wKSxpIT09bnVsbCYmaT4wP2UucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkLmNhbGwodGhpcyxyLGEsaSk6KHIuYWN0aW9ucy5wdXNoKHRoaXMpLHIuX3NjaGVkdWxlZHx8KHIuX3NjaGVkdWxlZD1GNy5zZXRJbW1lZGlhdGUoci5mbHVzaC5iaW5kKHIsdm9pZCAwKSkpKX0sdC5wcm90b3R5cGUucmVjeWNsZUFzeW5jSWQ9ZnVuY3Rpb24ocixhLGkpe3ZhciBuO2lmKGk9PT12b2lkIDAmJihpPTApLGkhPW51bGw/aT4wOnRoaXMuZGVsYXk+MClyZXR1cm4gZS5wcm90b3R5cGUucmVjeWNsZUFzeW5jSWQuY2FsbCh0aGlzLHIsYSxpKTt2YXIgcz1yLmFjdGlvbnM7YSE9bnVsbCYmKChuPXNbcy5sZW5ndGgtMV0pPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5pZCkhPT1hJiYoRjcuY2xlYXJJbW1lZGlhdGUoYSksci5fc2NoZWR1bGVkPT09YSYmKHIuX3NjaGVkdWxlZD12b2lkIDApKX0sdH0pKHZvKX0pO3ZhciBPNyxCWj1mKCgpPT57UFooKTtPNz0oZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQscil7cj09PXZvaWQgMCYmKHI9ZS5ub3cpLHRoaXMuc2NoZWR1bGVyQWN0aW9uQ3Rvcj10LHRoaXMubm93PXJ9cmV0dXJuIGUucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHQscixhKXtyZXR1cm4gcj09PXZvaWQgMCYmKHI9MCksbmV3IHRoaXMuc2NoZWR1bGVyQWN0aW9uQ3Rvcih0aGlzLHQpLnNjaGVkdWxlKGEscil9LGUubm93PVA3Lm5vdyxlfSkoKX0pO3ZhciB4byxNcD1mKCgpPT57anIoKTtCWigpO3hvPShmdW5jdGlvbihlKXtadCh0LGUpO2Z1bmN0aW9uIHQocixhKXthPT09dm9pZCAwJiYoYT1PNy5ub3cpO3ZhciBpPWUuY2FsbCh0aGlzLHIsYSl8fHRoaXM7cmV0dXJuIGkuYWN0aW9ucz1bXSxpLl9hY3RpdmU9ITEsaX1yZXR1cm4gdC5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24ocil7dmFyIGE9dGhpcy5hY3Rpb25zO2lmKHRoaXMuX2FjdGl2ZSl7YS5wdXNoKHIpO3JldHVybn12YXIgaTt0aGlzLl9hY3RpdmU9ITA7ZG8gaWYoaT1yLmV4ZWN1dGUoci5zdGF0ZSxyLmRlbGF5KSlicmVhazt3aGlsZShyPWEuc2hpZnQoKSk7aWYodGhpcy5fYWN0aXZlPSExLGkpe2Zvcig7cj1hLnNoaWZ0KCk7KXIudW5zdWJzY3JpYmUoKTt0aHJvdyBpfX0sdH0pKE83KX0pO3ZhciBIWixlSWU9ZigoKT0+e2pyKCk7TXAoKTtIWj0oZnVuY3Rpb24oZSl7WnQodCxlKTtmdW5jdGlvbiB0KCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gdC5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24ocil7dGhpcy5fYWN0aXZlPSEwO3ZhciBhPXRoaXMuX3NjaGVkdWxlZDt0aGlzLl9zY2hlZHVsZWQ9dm9pZCAwO3ZhciBpPXRoaXMuYWN0aW9ucyxuO3I9cnx8aS5zaGlmdCgpO2RvIGlmKG49ci5leGVjdXRlKHIuc3RhdGUsci5kZWxheSkpYnJlYWs7d2hpbGUoKHI9aVswXSkmJnIuaWQ9PT1hJiZpLnNoaWZ0KCkpO2lmKHRoaXMuX2FjdGl2ZT0hMSxuKXtmb3IoOyhyPWlbMF0pJiZyLmlkPT09YSYmaS5zaGlmdCgpOylyLnVuc3Vic2NyaWJlKCk7dGhyb3cgbn19LHR9KSh4byl9KTt2YXIgdEllLE4kcixySWU9ZigoKT0+e0tFZSgpO2VJZSgpO3RJZT1uZXcgSFooUlopLE4kcj10SWV9KTt2YXIgRTIscVosRmQ9ZigoKT0+e3dwKCk7TXAoKTtFMj1uZXcgeG8odm8pLHFaPUUyfSk7dmFyIGpaLGFJZT1mKCgpPT57anIoKTt3cCgpO2paPShmdW5jdGlvbihlKXtadCh0LGUpO2Z1bmN0aW9uIHQocixhKXt2YXIgaT1lLmNhbGwodGhpcyxyLGEpfHx0aGlzO3JldHVybiBpLnNjaGVkdWxlcj1yLGkud29yaz1hLGl9cmV0dXJuIHQucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHIsYSl7cmV0dXJuIGE9PT12b2lkIDAmJihhPTApLGE+MD9lLnByb3RvdHlwZS5zY2hlZHVsZS5jYWxsKHRoaXMscixhKToodGhpcy5kZWxheT1hLHRoaXMuc3RhdGU9cix0aGlzLnNjaGVkdWxlci5mbHVzaCh0aGlzKSx0aGlzKX0sdC5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihyLGEpe3JldHVybiBhPjB8fHRoaXMuY2xvc2VkP2UucHJvdG90eXBlLmV4ZWN1dGUuY2FsbCh0aGlzLHIsYSk6dGhpcy5fZXhlY3V0ZShyLGEpfSx0LnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbihyLGEsaSl7cmV0dXJuIGk9PT12b2lkIDAmJihpPTApLGkhPW51bGwmJmk+MHx8aT09bnVsbCYmdGhpcy5kZWxheT4wP2UucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkLmNhbGwodGhpcyxyLGEsaSk6KHIuZmx1c2godGhpcyksMCl9LHR9KSh2byl9KTt2YXIgVlosaUllPWYoKCk9PntqcigpO01wKCk7Vlo9KGZ1bmN0aW9uKGUpe1p0KHQsZSk7ZnVuY3Rpb24gdCgpe3JldHVybiBlIT09bnVsbCYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHR9KSh4byl9KTt2YXIgbkllLEYkcixzSWU9ZigoKT0+e2FJZSgpO2lJZSgpO25JZT1uZXcgVlooalopLEYkcj1uSWV9KTt2YXIgVVosb0llPWYoKCk9PntqcigpO3dwKCk7RFooKTtVWj0oZnVuY3Rpb24oZSl7WnQodCxlKTtmdW5jdGlvbiB0KHIsYSl7dmFyIGk9ZS5jYWxsKHRoaXMscixhKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9cixpLndvcms9YSxpfXJldHVybiB0LnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbihyLGEsaSl7cmV0dXJuIGk9PT12b2lkIDAmJihpPTApLGkhPT1udWxsJiZpPjA/ZS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLHIsYSxpKTooci5hY3Rpb25zLnB1c2godGhpcyksci5fc2NoZWR1bGVkfHwoci5fc2NoZWR1bGVkPVhsLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3JldHVybiByLmZsdXNoKHZvaWQgMCl9KSkpfSx0LnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihyLGEsaSl7dmFyIG47aWYoaT09PXZvaWQgMCYmKGk9MCksaSE9bnVsbD9pPjA6dGhpcy5kZWxheT4wKXJldHVybiBlLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZC5jYWxsKHRoaXMscixhLGkpO3ZhciBzPXIuYWN0aW9uczthIT1udWxsJiZhPT09ci5fc2NoZWR1bGVkJiYoKG49c1tzLmxlbmd0aC0xXSk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmlkKSE9PWEmJihYbC5jYW5jZWxBbmltYXRpb25GcmFtZShhKSxyLl9zY2hlZHVsZWQ9dm9pZCAwKX0sdH0pKHZvKX0pO3ZhciBXWixsSWU9ZigoKT0+e2pyKCk7TXAoKTtXWj0oZnVuY3Rpb24oZSl7WnQodCxlKTtmdW5jdGlvbiB0KCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gdC5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24ocil7dGhpcy5fYWN0aXZlPSEwO3ZhciBhO3I/YT1yLmlkOihhPXRoaXMuX3NjaGVkdWxlZCx0aGlzLl9zY2hlZHVsZWQ9dm9pZCAwKTt2YXIgaT10aGlzLmFjdGlvbnMsbjtyPXJ8fGkuc2hpZnQoKTtkbyBpZihuPXIuZXhlY3V0ZShyLnN0YXRlLHIuZGVsYXkpKWJyZWFrO3doaWxlKChyPWlbMF0pJiZyLmlkPT09YSYmaS5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsbil7Zm9yKDsocj1pWzBdKSYmci5pZD09PWEmJmkuc2hpZnQoKTspci51bnN1YnNjcmliZSgpO3Rocm93IG59fSx0fSkoeG8pfSk7dmFyIGNJZSxPJHIsZEllPWYoKCk9PntvSWUoKTtsSWUoKTtjSWU9bmV3IFdaKFVaKSxPJHI9Y0llfSk7dmFyIHVJZSxHWixwSWU9ZigoKT0+e2pyKCk7d3AoKTtBMigpO01wKCk7dUllPShmdW5jdGlvbihlKXtadCh0LGUpO2Z1bmN0aW9uIHQocixhKXtyPT09dm9pZCAwJiYocj1HWiksYT09PXZvaWQgMCYmKGE9MS8wKTt2YXIgaT1lLmNhbGwodGhpcyxyLGZ1bmN0aW9uKCl7cmV0dXJuIGkuZnJhbWV9KXx8dGhpcztyZXR1cm4gaS5tYXhGcmFtZXM9YSxpLmZyYW1lPTAsaS5pbmRleD0tMSxpfXJldHVybiB0LnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgcj10aGlzLGE9ci5hY3Rpb25zLGk9ci5tYXhGcmFtZXMsbixzOyhzPWFbMF0pJiZzLmRlbGF5PD1pJiYoYS5zaGlmdCgpLHRoaXMuZnJhbWU9cy5kZWxheSwhKG49cy5leGVjdXRlKHMuc3RhdGUscy5kZWxheSkpKTspO2lmKG4pe2Zvcig7cz1hLnNoaWZ0KCk7KXMudW5zdWJzY3JpYmUoKTt0aHJvdyBufX0sdC5mcmFtZVRpbWVGYWN0b3I9MTAsdH0pKHhvKSxHWj0oZnVuY3Rpb24oZSl7WnQodCxlKTtmdW5jdGlvbiB0KHIsYSxpKXtpPT09dm9pZCAwJiYoaT1yLmluZGV4Kz0xKTt2YXIgbj1lLmNhbGwodGhpcyxyLGEpfHx0aGlzO3JldHVybiBuLnNjaGVkdWxlcj1yLG4ud29yaz1hLG4uaW5kZXg9aSxuLmFjdGl2ZT0hMCxuLmluZGV4PXIuaW5kZXg9aSxufXJldHVybiB0LnByb3RvdHlwZS5zY2hlZHVsZT1mdW5jdGlvbihyLGEpe2lmKGE9PT12b2lkIDAmJihhPTApLE51bWJlci5pc0Zpbml0ZShhKSl7aWYoIXRoaXMuaWQpcmV0dXJuIGUucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcyxyLGEpO3RoaXMuYWN0aXZlPSExO3ZhciBpPW5ldyB0KHRoaXMuc2NoZWR1bGVyLHRoaXMud29yayk7cmV0dXJuIHRoaXMuYWRkKGkpLGkuc2NoZWR1bGUocixhKX1lbHNlIHJldHVybiBWYS5FTVBUWX0sdC5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQ9ZnVuY3Rpb24ocixhLGkpe2k9PT12b2lkIDAmJihpPTApLHRoaXMuZGVsYXk9ci5mcmFtZStpO3ZhciBuPXIuYWN0aW9ucztyZXR1cm4gbi5wdXNoKHRoaXMpLG4uc29ydCh0LnNvcnRBY3Rpb25zKSwxfSx0LnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihyLGEsaSl7aT09PXZvaWQgMCYmKGk9MCl9LHQucHJvdG90eXBlLl9leGVjdXRlPWZ1bmN0aW9uKHIsYSl7aWYodGhpcy5hY3RpdmU9PT0hMClyZXR1cm4gZS5wcm90b3R5cGUuX2V4ZWN1dGUuY2FsbCh0aGlzLHIsYSl9LHQuc29ydEFjdGlvbnM9ZnVuY3Rpb24ocixhKXtyZXR1cm4gci5kZWxheT09PWEuZGVsYXk/ci5pbmRleD09PWEuaW5kZXg/MDpyLmluZGV4PmEuaW5kZXg/MTotMTpyLmRlbGF5PmEuZGVsYXk/MTotMX0sdH0pKHZvKX0pO2Z1bmN0aW9uIFIkcihlKXtyZXR1cm4gZT9CJHIoZSk6eXp9ZnVuY3Rpb24gQiRyKGUpe3JldHVybiBuZXcgcXQoZnVuY3Rpb24odCl7cmV0dXJuIGUuc2NoZWR1bGUoZnVuY3Rpb24oKXtyZXR1cm4gdC5jb21wbGV0ZSgpfSl9KX12YXIgeXosd3o9ZigoKT0+e2sxKCk7eXo9bmV3IHF0KGZ1bmN0aW9uKGUpe3JldHVybiBlLmNvbXBsZXRlKCl9KX0pO2Z1bmN0aW9uIE16KGUpe3JldHVybiBlJiZMdChlLnNjaGVkdWxlKX12YXIgWVo9ZigoKT0+e0VpKCl9KTtmdW5jdGlvbiBaWihlKXtyZXR1cm4gZVtlLmxlbmd0aC0xXX1mdW5jdGlvbiB3aWkoZSl7cmV0dXJuIEx0KFpaKGUpKT9lLnBvcCgpOnZvaWQgMH1mdW5jdGlvbiBRMChlKXtyZXR1cm4gTXooWlooZSkpP2UucG9wKCk6dm9pZCAwfWZ1bmN0aW9uIE1paShlLHQpe3JldHVybiB0eXBlb2YgWlooZSk9PSJudW1iZXIiP2UucG9wKCk6dH12YXIgUjc9ZigoKT0+e0VpKCk7WVooKX0pO3ZhciBrcCxrej1mKCgpPT57a3A9KGZ1bmN0aW9uKGUpe3JldHVybiBlJiZ0eXBlb2YgZS5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgZSE9ImZ1bmN0aW9uIn0pfSk7ZnVuY3Rpb24gU3ooZSl7cmV0dXJuIEx0KGU/LnRoZW4pfXZhciBYWj1mKCgpPT57RWkoKX0pO2Z1bmN0aW9uIHp6KGUpe3JldHVybiBMdChlW05kXSl9dmFyIFFaPWYoKCk9PntBNygpO0VpKCl9KTtmdW5jdGlvbiBDeihlKXtyZXR1cm4gU3ltYm9sLmFzeW5jSXRlcmF0b3ImJkx0KGU/LltTeW1ib2wuYXN5bmNJdGVyYXRvcl0pfXZhciBKWj1mKCgpPT57RWkoKX0pO2Z1bmN0aW9uIFR6KGUpe3JldHVybiBuZXcgVHlwZUVycm9yKCJZb3UgcHJvdmlkZWQgIisoZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0Ij8iYW4gaW52YWxpZCBvYmplY3QiOiInIitlKyInIikrIiB3aGVyZSBhIHN0cmVhbSB3YXMgZXhwZWN0ZWQuIFlvdSBjYW4gcHJvdmlkZSBhbiBPYnNlcnZhYmxlLCBQcm9taXNlLCBSZWFkYWJsZVN0cmVhbSwgQXJyYXksIEFzeW5jSXRlcmFibGUsIG9yIEl0ZXJhYmxlLiIpfXZhciBLWj1mKCgpPT57fSk7ZnVuY3Rpb24gSCRyKCl7cmV0dXJuIHR5cGVvZiBTeW1ib2whPSJmdW5jdGlvbiJ8fCFTeW1ib2wuaXRlcmF0b3I/IkBAaXRlcmF0b3IiOlN5bWJvbC5pdGVyYXRvcn12YXIgX3osZVg9ZigoKT0+e196PUgkcigpfSk7ZnVuY3Rpb24gTHooZSl7cmV0dXJuIEx0KGU/Lltfel0pfXZhciB0WD1mKCgpPT57ZVgoKTtFaSgpfSk7ZnVuY3Rpb24gJHooZSl7cmV0dXJuIHZaKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKCl7dmFyIHIsYSxpLG47cmV0dXJuIEw3KHRoaXMsZnVuY3Rpb24ocyl7c3dpdGNoKHMubGFiZWwpe2Nhc2UgMDpyPWUuZ2V0UmVhZGVyKCkscy5sYWJlbD0xO2Nhc2UgMTpzLnRyeXMucHVzaChbMSwsOSwxMF0pLHMubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzQsWmwoci5yZWFkKCkpXTtjYXNlIDM6cmV0dXJuIGE9cy5zZW50KCksaT1hLnZhbHVlLG49YS5kb25lLG4/WzQsWmwodm9pZCAwKV06WzMsNV07Y2FzZSA0OnJldHVyblsyLHMuc2VudCgpXTtjYXNlIDU6cmV0dXJuWzQsWmwoaSldO2Nhc2UgNjpyZXR1cm5bNCxzLnNlbnQoKV07Y2FzZSA3OnJldHVybiBzLnNlbnQoKSxbMywyXTtjYXNlIDg6cmV0dXJuWzMsMTBdO2Nhc2UgOTpyZXR1cm4gci5yZWxlYXNlTG9jaygpLFs3XTtjYXNlIDEwOnJldHVyblsyXX19KX0pfWZ1bmN0aW9uIER6KGUpe3JldHVybiBMdChlPy5nZXRSZWFkZXIpfXZhciBBej1mKCgpPT57anIoKTtFaSgpfSk7ZnVuY3Rpb24gRWEoZSl7aWYoZSBpbnN0YW5jZW9mIHF0KXJldHVybiBlO2lmKGUhPW51bGwpe2lmKHp6KGUpKXJldHVybiBxJHIoZSk7aWYoa3AoZSkpcmV0dXJuIGokcihlKTtpZihTeihlKSlyZXR1cm4gViRyKGUpO2lmKEN6KGUpKXJldHVybiBmSWUoZSk7aWYoTHooZSkpcmV0dXJuIFUkcihlKTtpZihEeihlKSlyZXR1cm4gVyRyKGUpfXRocm93IFR6KGUpfWZ1bmN0aW9uIHEkcihlKXtyZXR1cm4gbmV3IHF0KGZ1bmN0aW9uKHQpe3ZhciByPWVbTmRdKCk7aWYoTHQoci5zdWJzY3JpYmUpKXJldHVybiByLnN1YnNjcmliZSh0KTt0aHJvdyBuZXcgVHlwZUVycm9yKCJQcm92aWRlZCBvYmplY3QgZG9lcyBub3QgY29ycmVjdGx5IGltcGxlbWVudCBTeW1ib2wub2JzZXJ2YWJsZSIpfSl9ZnVuY3Rpb24gaiRyKGUpe3JldHVybiBuZXcgcXQoZnVuY3Rpb24odCl7Zm9yKHZhciByPTA7cjxlLmxlbmd0aCYmIXQuY2xvc2VkO3IrKyl0Lm5leHQoZVtyXSk7dC5jb21wbGV0ZSgpfSl9ZnVuY3Rpb24gViRyKGUpe3JldHVybiBuZXcgcXQoZnVuY3Rpb24odCl7ZS50aGVuKGZ1bmN0aW9uKHIpe3QuY2xvc2VkfHwodC5uZXh0KHIpLHQuY29tcGxldGUoKSl9LGZ1bmN0aW9uKHIpe3JldHVybiB0LmVycm9yKHIpfSkudGhlbihudWxsLHV6KX0pfWZ1bmN0aW9uIFUkcihlKXtyZXR1cm4gbmV3IHF0KGZ1bmN0aW9uKHQpe3ZhciByLGE7dHJ5e2Zvcih2YXIgaT13bihlKSxuPWkubmV4dCgpOyFuLmRvbmU7bj1pLm5leHQoKSl7dmFyIHM9bi52YWx1ZTtpZih0Lm5leHQocyksdC5jbG9zZWQpcmV0dXJufX1jYXRjaChvKXtyPXtlcnJvcjpvfX1maW5hbGx5e3RyeXtuJiYhbi5kb25lJiYoYT1pLnJldHVybikmJmEuY2FsbChpKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19dC5jb21wbGV0ZSgpfSl9ZnVuY3Rpb24gZkllKGUpe3JldHVybiBuZXcgcXQoZnVuY3Rpb24odCl7RyRyKGUsdCkuY2F0Y2goZnVuY3Rpb24ocil7cmV0dXJuIHQuZXJyb3Iocil9KX0pfWZ1bmN0aW9uIFckcihlKXtyZXR1cm4gZkllKCR6KGUpKX1mdW5jdGlvbiBHJHIoZSx0KXt2YXIgcixhLGksbjtyZXR1cm4gYloodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHMsbztyZXR1cm4gTDcodGhpcyxmdW5jdGlvbihjKXtzd2l0Y2goYy5sYWJlbCl7Y2FzZSAwOmMudHJ5cy5wdXNoKFswLDUsNiwxMV0pLHI9eFooZSksYy5sYWJlbD0xO2Nhc2UgMTpyZXR1cm5bNCxyLm5leHQoKV07Y2FzZSAyOmlmKGE9Yy5zZW50KCksISFhLmRvbmUpcmV0dXJuWzMsNF07aWYocz1hLnZhbHVlLHQubmV4dChzKSx0LmNsb3NlZClyZXR1cm5bMl07Yy5sYWJlbD0zO2Nhc2UgMzpyZXR1cm5bMywxXTtjYXNlIDQ6cmV0dXJuWzMsMTFdO2Nhc2UgNTpyZXR1cm4gbz1jLnNlbnQoKSxpPXtlcnJvcjpvfSxbMywxMV07Y2FzZSA2OnJldHVybiBjLnRyeXMucHVzaChbNiwsOSwxMF0pLGEmJiFhLmRvbmUmJihuPXIucmV0dXJuKT9bNCxuLmNhbGwocildOlszLDhdO2Nhc2UgNzpjLnNlbnQoKSxjLmxhYmVsPTg7Y2FzZSA4OnJldHVyblszLDEwXTtjYXNlIDk6aWYoaSl0aHJvdyBpLmVycm9yO3JldHVybls3XTtjYXNlIDEwOnJldHVybls3XTtjYXNlIDExOnJldHVybiB0LmNvbXBsZXRlKCksWzJdfX0pfSl9dmFyIENzPWYoKCk9PntqcigpO2t6KCk7WFooKTtrMSgpO1FaKCk7SlooKTtLWigpO3RYKCk7QXooKTtFaSgpO2taKCk7QTcoKX0pO2Z1bmN0aW9uIFlpKGUsdCxyLGEsaSl7YT09PXZvaWQgMCYmKGE9MCksaT09PXZvaWQgMCYmKGk9ITEpO3ZhciBuPXQuc2NoZWR1bGUoZnVuY3Rpb24oKXtyKCksaT9lLmFkZCh0aGlzLnNjaGVkdWxlKG51bGwsYSkpOnRoaXMudW5zdWJzY3JpYmUoKX0sYSk7aWYoZS5hZGQobiksIWkpcmV0dXJuIG59dmFyIE9kPWYoKCk9Pnt9KTtmdW5jdGlvbiBTcChlLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSxEcihmdW5jdGlvbihyLGEpe3Iuc3Vic2NyaWJlKHhyKGEsZnVuY3Rpb24oaSl7cmV0dXJuIFlpKGEsZSxmdW5jdGlvbigpe3JldHVybiBhLm5leHQoaSl9LHQpfSxmdW5jdGlvbigpe3JldHVybiBZaShhLGUsZnVuY3Rpb24oKXtyZXR1cm4gYS5jb21wbGV0ZSgpfSx0KX0sZnVuY3Rpb24oaSl7cmV0dXJuIFlpKGEsZSxmdW5jdGlvbigpe3JldHVybiBhLmVycm9yKGkpfSx0KX0pKX0pfXZhciBCNz1mKCgpPT57T2QoKTtHaSgpO0duKCl9KTtmdW5jdGlvbiB6cChlLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSxEcihmdW5jdGlvbihyLGEpe2EuYWRkKGUuc2NoZWR1bGUoZnVuY3Rpb24oKXtyZXR1cm4gci5zdWJzY3JpYmUoYSl9LHQpKX0pfXZhciBINz1mKCgpPT57R2koKX0pO2Z1bmN0aW9uIGhJZShlLHQpe3JldHVybiBFYShlKS5waXBlKHpwKHQpLFNwKHQpKX12YXIgbUllPWYoKCk9PntDcygpO0I3KCk7SDcoKX0pO2Z1bmN0aW9uIGdJZShlLHQpe3JldHVybiBFYShlKS5waXBlKHpwKHQpLFNwKHQpKX12YXIgYkllPWYoKCk9PntDcygpO0I3KCk7SDcoKX0pO2Z1bmN0aW9uIHZJZShlLHQpe3JldHVybiBuZXcgcXQoZnVuY3Rpb24ocil7dmFyIGE9MDtyZXR1cm4gdC5zY2hlZHVsZShmdW5jdGlvbigpe2E9PT1lLmxlbmd0aD9yLmNvbXBsZXRlKCk6KHIubmV4dChlW2ErK10pLHIuY2xvc2VkfHx0aGlzLnNjaGVkdWxlKCkpfSl9KX12YXIgeEllPWYoKCk9PntrMSgpfSk7ZnVuY3Rpb24geUllKGUsdCl7cmV0dXJuIG5ldyBxdChmdW5jdGlvbihyKXt2YXIgYTtyZXR1cm4gWWkocix0LGZ1bmN0aW9uKCl7YT1lW196XSgpLFlpKHIsdCxmdW5jdGlvbigpe3ZhciBpLG4sczt0cnl7aT1hLm5leHQoKSxuPWkudmFsdWUscz1pLmRvbmV9Y2F0Y2gobyl7ci5lcnJvcihvKTtyZXR1cm59cz9yLmNvbXBsZXRlKCk6ci5uZXh0KG4pfSwwLCEwKX0pLGZ1bmN0aW9uKCl7cmV0dXJuIEx0KGE/LnJldHVybikmJmEucmV0dXJuKCl9fSl9dmFyIHdJZT1mKCgpPT57azEoKTtlWCgpO0VpKCk7T2QoKX0pO2Z1bmN0aW9uIEV6KGUsdCl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJJdGVyYWJsZSBjYW5ub3QgYmUgbnVsbCIpO3JldHVybiBuZXcgcXQoZnVuY3Rpb24ocil7WWkocix0LGZ1bmN0aW9uKCl7dmFyIGE9ZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKTtZaShyLHQsZnVuY3Rpb24oKXthLm5leHQoKS50aGVuKGZ1bmN0aW9uKGkpe2kuZG9uZT9yLmNvbXBsZXRlKCk6ci5uZXh0KGkudmFsdWUpfSl9LDAsITApfSl9KX12YXIgclg9ZigoKT0+e2sxKCk7T2QoKX0pO2Z1bmN0aW9uIE1JZShlLHQpe3JldHVybiBFeigkeihlKSx0KX12YXIga0llPWYoKCk9PntyWCgpO0F6KCl9KTtmdW5jdGlvbiBhWChlLHQpe2lmKGUhPW51bGwpe2lmKHp6KGUpKXJldHVybiBoSWUoZSx0KTtpZihrcChlKSlyZXR1cm4gdkllKGUsdCk7aWYoU3ooZSkpcmV0dXJuIGdJZShlLHQpO2lmKEN6KGUpKXJldHVybiBFeihlLHQpO2lmKEx6KGUpKXJldHVybiB5SWUoZSx0KTtpZihEeihlKSlyZXR1cm4gTUllKGUsdCl9dGhyb3cgVHooZSl9dmFyIGlYPWYoKCk9PnttSWUoKTtiSWUoKTt4SWUoKTt3SWUoKTtyWCgpO1FaKCk7WFooKTtreigpO3RYKCk7SlooKTtLWigpO0F6KCk7a0llKCl9KTtmdW5jdGlvbiBSZChlLHQpe3JldHVybiB0P2FYKGUsdCk6RWEoZSl9dmFyIEl6PWYoKCk9PntpWCgpO0NzKCl9KTtmdW5jdGlvbiBxNygpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgcj1RMChlKTtyZXR1cm4gUmQoZSxyKX12YXIgblg9ZigoKT0+e1I3KCk7SXooKX0pO2Z1bmN0aW9uIHNYKGUsdCl7dmFyIHI9THQoZSk/ZTpmdW5jdGlvbigpe3JldHVybiBlfSxhPWZ1bmN0aW9uKGkpe3JldHVybiBpLmVycm9yKHIoKSl9O3JldHVybiBuZXcgcXQodD9mdW5jdGlvbihpKXtyZXR1cm4gdC5zY2hlZHVsZShhLDAsaSl9OmEpfXZhciBvWD1mKCgpPT57azEoKTtFaSgpfSk7ZnVuY3Rpb24gWSRyKGUsdCl7dmFyIHIsYSxpLG49ZSxzPW4ua2luZCxvPW4udmFsdWUsYz1uLmVycm9yO2lmKHR5cGVvZiBzIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vdGlmaWNhdGlvbiwgbWlzc2luZyAia2luZCInKTtzPT09Ik4iPyhyPXQubmV4dCk9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwodCxvKTpzPT09IkUiPyhhPXQuZXJyb3IpPT09bnVsbHx8YT09PXZvaWQgMHx8YS5jYWxsKHQsYyk6KGk9dC5jb21wbGV0ZSk9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwodCl9dmFyIGxYLFNJZSx6SWU9ZigoKT0+e3d6KCk7blgoKTtvWCgpO0VpKCk7KGZ1bmN0aW9uKGUpe2UuTkVYVD0iTiIsZS5FUlJPUj0iRSIsZS5DT01QTEVURT0iQyJ9KShsWHx8KGxYPXt9KSk7U0llPShmdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxyLGEpe3RoaXMua2luZD10LHRoaXMudmFsdWU9cix0aGlzLmVycm9yPWEsdGhpcy5oYXNWYWx1ZT10PT09Ik4ifXJldHVybiBlLnByb3RvdHlwZS5vYnNlcnZlPWZ1bmN0aW9uKHQpe3JldHVybiBZJHIodGhpcyx0KX0sZS5wcm90b3R5cGUuZG89ZnVuY3Rpb24odCxyLGEpe3ZhciBpPXRoaXMsbj1pLmtpbmQscz1pLnZhbHVlLG89aS5lcnJvcjtyZXR1cm4gbj09PSJOIj90Py4ocyk6bj09PSJFIj9yPy4obyk6YT8uKCl9LGUucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbih0LHIsYSl7dmFyIGk7cmV0dXJuIEx0KChpPXQpPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS5uZXh0KT90aGlzLm9ic2VydmUodCk6dGhpcy5kbyh0LHIsYSl9LGUucHJvdG90eXBlLnRvT2JzZXJ2YWJsZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMscj10LmtpbmQsYT10LnZhbHVlLGk9dC5lcnJvcixuPXI9PT0iTiI/cTcoYSk6cj09PSJFIj9zWChmdW5jdGlvbigpe3JldHVybiBpfSk6cj09PSJDIj95ejowO2lmKCFuKXRocm93IG5ldyBUeXBlRXJyb3IoIlVuZXhwZWN0ZWQgbm90aWZpY2F0aW9uIGtpbmQgIityKTtyZXR1cm4gbn0sZS5jcmVhdGVOZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZSgiTiIsdCl9LGUuY3JlYXRlRXJyb3I9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBlKCJFIix2b2lkIDAsdCl9LGUuY3JlYXRlQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gZS5jb21wbGV0ZU5vdGlmaWNhdGlvbn0sZS5jb21wbGV0ZU5vdGlmaWNhdGlvbj1uZXcgZSgiQyIpLGV9KSgpfSk7dmFyIENJZT1mKCgpPT57fSk7dmFyIFokcixUSWU9ZigoKT0+e1gwKCk7WiRyPU0xKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe2UodGhpcyksdGhpcy5uYW1lPSJFbXB0eUVycm9yIix0aGlzLm1lc3NhZ2U9Im5vIGVsZW1lbnRzIGluIHNlcXVlbmNlIn19KX0pO3ZhciBfSWU9ZigoKT0+e30pO3ZhciBMSWU9ZigoKT0+e30pO3ZhciBYJHIsJEllPWYoKCk9PntYMCgpO1gkcj1NMShmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtlKHRoaXMpLHRoaXMubmFtZT0iQXJndW1lbnRPdXRPZlJhbmdlRXJyb3IiLHRoaXMubWVzc2FnZT0iYXJndW1lbnQgb3V0IG9mIHJhbmdlIn19KX0pO3ZhciBRJHIsREllPWYoKCk9PntYMCgpO1Ekcj1NMShmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7ZSh0aGlzKSx0aGlzLm5hbWU9Ik5vdEZvdW5kRXJyb3IiLHRoaXMubWVzc2FnZT1yfX0pfSk7dmFyIEokcixBSWU9ZigoKT0+e1gwKCk7SiRyPU0xKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihyKXtlKHRoaXMpLHRoaXMubmFtZT0iU2VxdWVuY2VFcnJvciIsdGhpcy5tZXNzYWdlPXJ9fSl9KTtmdW5jdGlvbiBQeihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIERhdGUmJiFpc05hTihlKX12YXIgY1g9ZigoKT0+e30pO2Z1bmN0aW9uIElJZShlLHQpe3ZhciByPVB6KGUpP3tmaXJzdDplfTp0eXBlb2YgZT09Im51bWJlciI/e2VhY2g6ZX06ZSxhPXIuZmlyc3QsaT1yLmVhY2gsbj1yLndpdGgscz1uPT09dm9pZCAwP0skcjpuLG89ci5zY2hlZHVsZXIsYz1vPT09dm9pZCAwP3Q/P0UyOm8sbD1yLm1ldGEsdT1sPT09dm9pZCAwP251bGw6bDtpZihhPT1udWxsJiZpPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIk5vIHRpbWVvdXQgcHJvdmlkZWQuIik7cmV0dXJuIERyKGZ1bmN0aW9uKGQsaCl7dmFyIG0sdixiPW51bGwsZz0wLHk9ZnVuY3Rpb24odyl7dj1ZaShoLGMsZnVuY3Rpb24oKXt0cnl7bS51bnN1YnNjcmliZSgpLEVhKHMoe21ldGE6dSxsYXN0VmFsdWU6YixzZWVuOmd9KSkuc3Vic2NyaWJlKGgpfWNhdGNoKGspe2guZXJyb3Ioayl9fSx3KX07bT1kLnN1YnNjcmliZSh4cihoLGZ1bmN0aW9uKHcpe3Y/LnVuc3Vic2NyaWJlKCksZysrLGgubmV4dChiPXcpLGk+MCYmeShpKX0sdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3Y/LmNsb3NlZHx8dj8udW5zdWJzY3JpYmUoKSxiPW51bGx9KSksIWcmJnkoYSE9bnVsbD90eXBlb2YgYT09Im51bWJlciI/YTorYS1jLm5vdygpOmkpfSl9ZnVuY3Rpb24gSyRyKGUpe3Rocm93IG5ldyBFSWUoZSl9dmFyIEVJZSxOej1mKCgpPT57RmQoKTtjWCgpO0dpKCk7Q3MoKTtYMCgpO0duKCk7T2QoKTtFSWU9TTEoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3I9PT12b2lkIDAmJihyPW51bGwpLGUodGhpcyksdGhpcy5tZXNzYWdlPSJUaW1lb3V0IGhhcyBvY2N1cnJlZCIsdGhpcy5uYW1lPSJUaW1lb3V0RXJyb3IiLHRoaXMuaW5mbz1yfX0pfSk7ZnVuY3Rpb24gSjAoZSx0KXtyZXR1cm4gRHIoZnVuY3Rpb24ocixhKXt2YXIgaT0wO3Iuc3Vic2NyaWJlKHhyKGEsZnVuY3Rpb24obil7YS5uZXh0KGUuY2FsbCh0LG4saSsrKSl9KSl9KX12YXIgajc9ZigoKT0+e0dpKCk7R24oKX0pO2Z1bmN0aW9uIHREcihlLHQpe3JldHVybiBlRHIodCk/ZS5hcHBseSh2b2lkIDAsV2koW10scmkodCkpKTplKHQpfWZ1bmN0aW9uIFBJZShlKXtyZXR1cm4gSjAoZnVuY3Rpb24odCl7cmV0dXJuIHREcihlLHQpfSl9dmFyIGVEcixOSWU9ZigoKT0+e2pyKCk7ajcoKTtlRHI9QXJyYXkuaXNBcnJheX0pO3ZhciBGSWU9ZigoKT0+e30pO3ZhciBPSWU9ZigoKT0+e30pO3ZhciBSSWU9ZigoKT0+e30pO2Z1bmN0aW9uIEJJZShlLHQscixhLGksbixzLG8pe3ZhciBjPVtdLGw9MCx1PTAsZD0hMSxoPWZ1bmN0aW9uKCl7ZCYmIWMubGVuZ3RoJiYhbCYmdC5jb21wbGV0ZSgpfSxtPWZ1bmN0aW9uKGIpe3JldHVybiBsPGE/dihiKTpjLnB1c2goYil9LHY9ZnVuY3Rpb24oYil7biYmdC5uZXh0KGIpLGwrKzt2YXIgZz0hMTtFYShyKGIsdSsrKSkuc3Vic2NyaWJlKHhyKHQsZnVuY3Rpb24oeSl7aT8uKHkpLG4/bSh5KTp0Lm5leHQoeSl9LGZ1bmN0aW9uKCl7Zz0hMH0sdm9pZCAwLGZ1bmN0aW9uKCl7aWYoZyl0cnl7bC0tO2Zvcih2YXIgeT1mdW5jdGlvbigpe3ZhciB3PWMuc2hpZnQoKTtzP1lpKHQscyxmdW5jdGlvbigpe3JldHVybiB2KHcpfSk6dih3KX07Yy5sZW5ndGgmJmw8YTspeSgpO2goKX1jYXRjaCh3KXt0LmVycm9yKHcpfX0pKX07cmV0dXJuIGUuc3Vic2NyaWJlKHhyKHQsbSxmdW5jdGlvbigpe2Q9ITAsaCgpfSkpLGZ1bmN0aW9uKCl7bz8uKCl9fXZhciBISWU9ZigoKT0+e0NzKCk7T2QoKTtHbigpfSk7ZnVuY3Rpb24gQmQoZSx0LHIpe3JldHVybiByPT09dm9pZCAwJiYocj0xLzApLEx0KHQpP0JkKGZ1bmN0aW9uKGEsaSl7cmV0dXJuIEowKGZ1bmN0aW9uKG4scyl7cmV0dXJuIHQoYSxuLGkscyl9KShFYShlKGEsaSkpKX0scik6KHR5cGVvZiB0PT0ibnVtYmVyIiYmKHI9dCksRHIoZnVuY3Rpb24oYSxpKXtyZXR1cm4gQkllKGEsaSxlLHIpfSkpfXZhciBWNz1mKCgpPT57ajcoKTtDcygpO0dpKCk7SEllKCk7RWkoKX0pO2Z1bmN0aW9uIEZ6KGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT0xLzApLEJkKEU3LGUpfXZhciBPej1mKCgpPT57VjcoKTtteigpfSk7ZnVuY3Rpb24gUnooKXtyZXR1cm4gRnooMSl9dmFyIEJ6PWYoKCk9PntPeigpfSk7ZnVuY3Rpb24gSHooKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuIFJ6KCkoUmQoZSxRMChlKSkpfXZhciBkWD1mKCgpPT57QnooKTtSNygpO0l6KCl9KTt2YXIgcUllPWYoKCk9Pnt9KTt2YXIgakllPWYoKCk9Pnt9KTt2YXIgVkllPWYoKCk9Pnt9KTtmdW5jdGlvbiBIZChlLHQscixhKXtpZihMdChyKSYmKGE9cixyPXZvaWQgMCksYSlyZXR1cm4gSGQoZSx0LHIpLnBpcGUoUEllKGEpKTt2YXIgaT1yaShvRHIoZSk/YURyLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIGVbb10odCxjLHIpfX0pOm5EcihlKT9yRHIubWFwKFVJZShlLHQpKTpzRHIoZSk/aURyLm1hcChVSWUoZSx0KSk6W10sMiksbj1pWzBdLHM9aVsxXTtpZighbiYma3AoZSkpcmV0dXJuIEJkKGZ1bmN0aW9uKG8pe3JldHVybiBIZChvLHQscil9KShFYShlKSk7aWYoIW4pdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBldmVudCB0YXJnZXQiKTtyZXR1cm4gbmV3IHF0KGZ1bmN0aW9uKG8pe3ZhciBjPWZ1bmN0aW9uKCl7Zm9yKHZhciBsPVtdLHU9MDt1PGFyZ3VtZW50cy5sZW5ndGg7dSsrKWxbdV09YXJndW1lbnRzW3VdO3JldHVybiBvLm5leHQoMTxsLmxlbmd0aD9sOmxbMF0pfTtyZXR1cm4gbihjKSxmdW5jdGlvbigpe3JldHVybiBzKGMpfX0pfWZ1bmN0aW9uIFVJZShlLHQpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGVbcl0odCxhKX19fWZ1bmN0aW9uIG5EcihlKXtyZXR1cm4gTHQoZS5hZGRMaXN0ZW5lcikmJkx0KGUucmVtb3ZlTGlzdGVuZXIpfWZ1bmN0aW9uIHNEcihlKXtyZXR1cm4gTHQoZS5vbikmJkx0KGUub2ZmKX1mdW5jdGlvbiBvRHIoZSl7cmV0dXJuIEx0KGUuYWRkRXZlbnRMaXN0ZW5lcikmJkx0KGUucmVtb3ZlRXZlbnRMaXN0ZW5lcil9dmFyIHJEcixhRHIsaURyLFdJZT1mKCgpPT57anIoKTtDcygpO2sxKCk7VjcoKTtreigpO0VpKCk7TkllKCk7ckRyPVsiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciJdLGFEcj1bImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0saURyPVsib24iLCJvZmYiXX0pO3ZhciBHSWU9ZigoKT0+e30pO3ZhciBZSWU9ZigoKT0+e30pO3ZhciBaSWU9ZigoKT0+e30pO2Z1bmN0aW9uIHVYKGUsdCxyKXtlPT09dm9pZCAwJiYoZT0wKSxyPT09dm9pZCAwJiYocj1xWik7dmFyIGE9LTE7cmV0dXJuIHQhPW51bGwmJihNeih0KT9yPXQ6YT10KSxuZXcgcXQoZnVuY3Rpb24oaSl7dmFyIG49UHooZSk/K2Utci5ub3coKTplO248MCYmKG49MCk7dmFyIHM9MDtyZXR1cm4gci5zY2hlZHVsZShmdW5jdGlvbigpe2kuY2xvc2VkfHwoaS5uZXh0KHMrKyksMDw9YT90aGlzLnNjaGVkdWxlKHZvaWQgMCxhKTppLmNvbXBsZXRlKCkpfSxuKX0pfXZhciBwWD1mKCgpPT57azEoKTtGZCgpO1laKCk7Y1goKX0pO3ZhciBYSWU9ZigoKT0+e30pO3ZhciBRSWU9ZigoKT0+e30pO2Z1bmN0aW9uIGxEcigpe3JldHVybiBKSWV9dmFyIEpJZSxmWD1mKCgpPT57azEoKTtFZCgpO0pJZT1uZXcgcXQoenMpfSk7dmFyIEtJZT1mKCgpPT57fSk7dmFyIGVQZT1mKCgpPT57fSk7ZnVuY3Rpb24gcXooZSx0KXtyZXR1cm4gRHIoZnVuY3Rpb24ocixhKXt2YXIgaT0wO3Iuc3Vic2NyaWJlKHhyKGEsZnVuY3Rpb24obil7cmV0dXJuIGUuY2FsbCh0LG4saSsrKSYmYS5uZXh0KG4pfSkpfSl9dmFyIGhYPWYoKCk9PntHaSgpO0duKCl9KTt2YXIgdFBlPWYoKCk9Pnt9KTt2YXIgclBlPWYoKCk9Pnt9KTt2YXIgYVBlPWYoKCk9Pnt9KTt2YXIgaVBlPWYoKCk9Pnt9KTt2YXIgblBlPWYoKCk9Pnt9KTt2YXIgc1BlPWYoKCk9Pnt9KTt2YXIgbVg9ZigoKT0+e30pO3ZhciBnWD1mKCgpPT57fSk7ZnVuY3Rpb24ganooZSl7cmV0dXJuIERyKGZ1bmN0aW9uKHQscil7dmFyIGE9W107cmV0dXJuIHQuc3Vic2NyaWJlKHhyKHIsZnVuY3Rpb24oaSl7cmV0dXJuIGEucHVzaChpKX0sZnVuY3Rpb24oKXtyLm5leHQoYSksci5jb21wbGV0ZSgpfSkpLEVhKGUpLnN1YnNjcmliZSh4cihyLGZ1bmN0aW9uKCl7dmFyIGk9YTthPVtdLHIubmV4dChpKX0senMpKSxmdW5jdGlvbigpe2E9bnVsbH19KX12YXIgYlg9ZigoKT0+e0dpKCk7RWQoKTtHbigpO0NzKCl9KTtmdW5jdGlvbiBWeihlLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD1udWxsKSx0PXQ/P2UsRHIoZnVuY3Rpb24ocixhKXt2YXIgaT1bXSxuPTA7ci5zdWJzY3JpYmUoeHIoYSxmdW5jdGlvbihzKXt2YXIgbyxjLGwsdSxkPW51bGw7bisrJXQ9PT0wJiZpLnB1c2goW10pO3RyeXtmb3IodmFyIGg9d24oaSksbT1oLm5leHQoKTshbS5kb25lO209aC5uZXh0KCkpe3ZhciB2PW0udmFsdWU7di5wdXNoKHMpLGU8PXYubGVuZ3RoJiYoZD1kPz9bXSxkLnB1c2godikpfX1jYXRjaCh5KXtvPXtlcnJvcjp5fX1maW5hbGx5e3RyeXttJiYhbS5kb25lJiYoYz1oLnJldHVybikmJmMuY2FsbChoKX1maW5hbGx5e2lmKG8pdGhyb3cgby5lcnJvcn19aWYoZCl0cnl7Zm9yKHZhciBiPXduKGQpLGc9Yi5uZXh0KCk7IWcuZG9uZTtnPWIubmV4dCgpKXt2YXIgdj1nLnZhbHVlO2JvKGksdiksYS5uZXh0KHYpfX1jYXRjaCh5KXtsPXtlcnJvcjp5fX1maW5hbGx5e3RyeXtnJiYhZy5kb25lJiYodT1iLnJldHVybikmJnUuY2FsbChiKX1maW5hbGx5e2lmKGwpdGhyb3cgbC5lcnJvcn19fSxmdW5jdGlvbigpe3ZhciBzLG87dHJ5e2Zvcih2YXIgYz13bihpKSxsPWMubmV4dCgpOyFsLmRvbmU7bD1jLm5leHQoKSl7dmFyIHU9bC52YWx1ZTthLm5leHQodSl9fWNhdGNoKGQpe3M9e2Vycm9yOmR9fWZpbmFsbHl7dHJ5e2wmJiFsLmRvbmUmJihvPWMucmV0dXJuKSYmby5jYWxsKGMpfWZpbmFsbHl7aWYocyl0aHJvdyBzLmVycm9yfX1hLmNvbXBsZXRlKCl9LHZvaWQgMCxmdW5jdGlvbigpe2k9bnVsbH0pKX0pfXZhciB2WD1mKCgpPT57anIoKTtHaSgpO0duKCk7YnAoKX0pO2Z1bmN0aW9uIFV6KGUpe2Zvcih2YXIgdCxyLGE9W10saT0xO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspYVtpLTFdPWFyZ3VtZW50c1tpXTt2YXIgbj0odD1RMChhKSkhPT1udWxsJiZ0IT09dm9pZCAwP3Q6RTIscz0ocj1hWzBdKSE9PW51bGwmJnIhPT12b2lkIDA/cjpudWxsLG89YVsxXXx8MS8wO3JldHVybiBEcihmdW5jdGlvbihjLGwpe3ZhciB1PVtdLGQ9ITEsaD1mdW5jdGlvbihiKXt2YXIgZz1iLmJ1ZmZlcix5PWIuc3Viczt5LnVuc3Vic2NyaWJlKCksYm8odSxiKSxsLm5leHQoZyksZCYmbSgpfSxtPWZ1bmN0aW9uKCl7aWYodSl7dmFyIGI9bmV3IFZhO2wuYWRkKGIpO3ZhciBnPVtdLHk9e2J1ZmZlcjpnLHN1YnM6Yn07dS5wdXNoKHkpLFlpKGIsbixmdW5jdGlvbigpe3JldHVybiBoKHkpfSxlKX19O3MhPT1udWxsJiZzPj0wP1lpKGwsbixtLHMsITApOmQ9ITAsbSgpO3ZhciB2PXhyKGwsZnVuY3Rpb24oYil7dmFyIGcseSx3PXUuc2xpY2UoKTt0cnl7Zm9yKHZhciBrPXduKHcpLFI9ay5uZXh0KCk7IVIuZG9uZTtSPWsubmV4dCgpKXt2YXIgQz1SLnZhbHVlLFM9Qy5idWZmZXI7Uy5wdXNoKGIpLG88PVMubGVuZ3RoJiZoKEMpfX1jYXRjaChPKXtnPXtlcnJvcjpPfX1maW5hbGx5e3RyeXtSJiYhUi5kb25lJiYoeT1rLnJldHVybikmJnkuY2FsbChrKX1maW5hbGx5e2lmKGcpdGhyb3cgZy5lcnJvcn19fSxmdW5jdGlvbigpe2Zvcig7dT8ubGVuZ3RoOylsLm5leHQodS5zaGlmdCgpLmJ1ZmZlcik7dj8udW5zdWJzY3JpYmUoKSxsLmNvbXBsZXRlKCksbC51bnN1YnNjcmliZSgpfSx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gdT1udWxsfSk7Yy5zdWJzY3JpYmUodil9KX12YXIgeFg9ZigoKT0+e2pyKCk7QTIoKTtHaSgpO0duKCk7YnAoKTtGZCgpO1I3KCk7T2QoKX0pO3ZhciB5WD1mKCgpPT57fSk7dmFyIHdYPWYoKCk9Pnt9KTt2YXIgTVg9ZigoKT0+e30pO3ZhciBrWD1mKCgpPT57fSk7dmFyIFNYPWYoKCk9Pnt9KTt2YXIgelg9ZigoKT0+e30pO3ZhciBDWD1mKCgpPT57fSk7dmFyIG9QZT1mKCgpPT57fSk7dmFyIFRYPWYoKCk9Pnt9KTt2YXIgX1g9ZigoKT0+e30pO3ZhciBMWD1mKCgpPT57fSk7dmFyIGxQZT1mKCgpPT57fSk7dmFyICRYPWYoKCk9Pnt9KTt2YXIgRFg9ZigoKT0+e30pO3ZhciBBWD1mKCgpPT57fSk7ZnVuY3Rpb24gV3ooZSl7cmV0dXJuIERyKGZ1bmN0aW9uKHQscil7dmFyIGE9ITEsaT1udWxsLG49bnVsbCxzPWZ1bmN0aW9uKCl7aWYobj8udW5zdWJzY3JpYmUoKSxuPW51bGwsYSl7YT0hMTt2YXIgbz1pO2k9bnVsbCxyLm5leHQobyl9fTt0LnN1YnNjcmliZSh4cihyLGZ1bmN0aW9uKG8pe24/LnVuc3Vic2NyaWJlKCksYT0hMCxpPW8sbj14cihyLHMsenMpLEVhKGUobykpLnN1YnNjcmliZShuKX0sZnVuY3Rpb24oKXtzKCksci5jb21wbGV0ZSgpfSx2b2lkIDAsZnVuY3Rpb24oKXtpPW49bnVsbH0pKX0pfXZhciBFWD1mKCgpPT57R2koKTtFZCgpO0duKCk7Q3MoKX0pO2Z1bmN0aW9uIEd6KGUsdCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PUUyKSxEcihmdW5jdGlvbihyLGEpe3ZhciBpPW51bGwsbj1udWxsLHM9bnVsbCxvPWZ1bmN0aW9uKCl7aWYoaSl7aS51bnN1YnNjcmliZSgpLGk9bnVsbDt2YXIgbD1uO249bnVsbCxhLm5leHQobCl9fTtmdW5jdGlvbiBjKCl7dmFyIGw9cytlLHU9dC5ub3coKTtpZih1PGwpe2k9dGhpcy5zY2hlZHVsZSh2b2lkIDAsbC11KSxhLmFkZChpKTtyZXR1cm59bygpfXIuc3Vic2NyaWJlKHhyKGEsZnVuY3Rpb24obCl7bj1sLHM9dC5ub3coKSxpfHwoaT10LnNjaGVkdWxlKGMsZSksYS5hZGQoaSkpfSxmdW5jdGlvbigpe28oKSxhLmNvbXBsZXRlKCl9LHZvaWQgMCxmdW5jdGlvbigpe249aT1udWxsfSkpfSl9dmFyIElYPWYoKCk9PntGZCgpO0dpKCk7R24oKX0pO3ZhciBQWD1mKCgpPT57fSk7dmFyIE5YPWYoKCk9Pnt9KTt2YXIgRlg9ZigoKT0+e30pO3ZhciBPWD1mKCgpPT57fSk7dmFyIFJYPWYoKCk9Pnt9KTt2YXIgQlg9ZigoKT0+e30pO3ZhciBIWD1mKCgpPT57fSk7dmFyIHFYPWYoKCk9Pnt9KTt2YXIgalg9ZigoKT0+e30pO3ZhciBWWD1mKCgpPT57fSk7dmFyIFVYPWYoKCk9Pnt9KTt2YXIgV1g9ZigoKT0+e30pO3ZhciBHWD1mKCgpPT57fSk7dmFyIFlYPWYoKCk9Pnt9KTt2YXIgWlg9ZigoKT0+e30pO3ZhciBYWD1mKCgpPT57fSk7dmFyIFFYPWYoKCk9Pnt9KTt2YXIgSlg9ZigoKT0+e30pO3ZhciBLWD1mKCgpPT57fSk7dmFyIGVRPWYoKCk9Pnt9KTt2YXIgdFE9ZigoKT0+e30pO3ZhciByUT1mKCgpPT57fSk7dmFyIGFRPWYoKCk9Pnt9KTt2YXIgaVE9ZigoKT0+e30pO3ZhciBuUT1mKCgpPT57fSk7dmFyIHNRPWYoKCk9Pnt9KTt2YXIgb1E9ZigoKT0+e30pO3ZhciBsUT1mKCgpPT57fSk7dmFyIGNRPWYoKCk9Pnt9KTt2YXIgZFE9ZigoKT0+e30pO3ZhciB1UT1mKCgpPT57fSk7dmFyIGNQZT1mKCgpPT57fSk7dmFyIHBRPWYoKCk9Pnt9KTt2YXIgZlE9ZigoKT0+e30pO3ZhciBoUT1mKCgpPT57fSk7dmFyIG1RPWYoKCk9Pnt9KTt2YXIgZ1E9ZigoKT0+e30pO3ZhciBiUT1mKCgpPT57fSk7dmFyIHZRPWYoKCk9Pnt9KTt2YXIgeFE9ZigoKT0+e30pO3ZhciB5UT1mKCgpPT57fSk7dmFyIHdRPWYoKCk9Pnt9KTt2YXIgTVE9ZigoKT0+e30pO3ZhciBrUT1mKCgpPT57fSk7dmFyIFNRPWYoKCk9Pnt9KTt2YXIgelE9ZigoKT0+e30pO3ZhciBDUT1mKCgpPT57fSk7dmFyIFRRPWYoKCk9Pnt9KTt2YXIgX1E9ZigoKT0+e30pO3ZhciBMUT1mKCgpPT57fSk7dmFyICRRPWYoKCk9Pnt9KTt2YXIgRFE9ZigoKT0+e30pO3ZhciBBUT1mKCgpPT57fSk7dmFyIEVRPWYoKCk9Pnt9KTt2YXIgSVE9ZigoKT0+e30pO3ZhciBQUT1mKCgpPT57fSk7dmFyIE5RPWYoKCk9Pnt9KTt2YXIgRlE9ZigoKT0+e30pO2Z1bmN0aW9uIFl6KCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3ZhciByPVEwKGUpO3JldHVybiBEcihmdW5jdGlvbihhLGkpeyhyP0h6KGUsYSxyKTpIeihlLGEpKS5zdWJzY3JpYmUoaSl9KX12YXIgT1E9ZigoKT0+e2RYKCk7UjcoKTtHaSgpfSk7dmFyIFJRPWYoKCk9Pnt9KTt2YXIgQlE9ZigoKT0+e30pO3ZhciBIUT1mKCgpPT57fSk7dmFyIHFRPWYoKCk9Pnt9KTtmdW5jdGlvbiBaeihlKXtyZXR1cm4gRHIoZnVuY3Rpb24odCxyKXtFYShlKS5zdWJzY3JpYmUoeHIocixmdW5jdGlvbigpe3JldHVybiByLmNvbXBsZXRlKCl9LHpzKSksIXIuY2xvc2VkJiZ0LnN1YnNjcmliZShyKX0pfXZhciBqUT1mKCgpPT57R2koKTtHbigpO0NzKCk7RWQoKX0pO3ZhciBWUT1mKCgpPT57fSk7dmFyIFVRPWYoKCk9Pnt9KTtmdW5jdGlvbiBYeihlLHQpe3JldHVybiBEcihmdW5jdGlvbihyLGEpe3ZhciBpPXQ/P3t9LG49aS5sZWFkaW5nLHM9bj09PXZvaWQgMD8hMDpuLG89aS50cmFpbGluZyxjPW89PT12b2lkIDA/ITE6byxsPSExLHU9bnVsbCxkPW51bGwsaD0hMSxtPWZ1bmN0aW9uKCl7ZD8udW5zdWJzY3JpYmUoKSxkPW51bGwsYyYmKGcoKSxoJiZhLmNvbXBsZXRlKCkpfSx2PWZ1bmN0aW9uKCl7ZD1udWxsLGgmJmEuY29tcGxldGUoKX0sYj1mdW5jdGlvbih5KXtyZXR1cm4gZD1FYShlKHkpKS5zdWJzY3JpYmUoeHIoYSxtLHYpKX0sZz1mdW5jdGlvbigpe2lmKGwpe2w9ITE7dmFyIHk9dTt1PW51bGwsYS5uZXh0KHkpLCFoJiZiKHkpfX07ci5zdWJzY3JpYmUoeHIoYSxmdW5jdGlvbih5KXtsPSEwLHU9eSwhKGQmJiFkLmNsb3NlZCkmJihzP2coKTpiKHkpKX0sZnVuY3Rpb24oKXtoPSEwLCEoYyYmbCYmZCYmIWQuY2xvc2VkKSYmYS5jb21wbGV0ZSgpfSkpfSl9dmFyIFF6PWYoKCk9PntHaSgpO0duKCk7Q3MoKX0pO2Z1bmN0aW9uIEp6KGUsdCxyKXt0PT09dm9pZCAwJiYodD1FMik7dmFyIGE9dVgoZSx0KTtyZXR1cm4gWHooZnVuY3Rpb24oKXtyZXR1cm4gYX0scil9dmFyIFdRPWYoKCk9PntGZCgpO1F6KCk7cFgoKX0pO3ZhciBHUT1mKCgpPT57fSk7dmFyIFlRPWYoKCk9Pnt9KTt2YXIgWlE9ZigoKT0+e30pO3ZhciBYUT1mKCgpPT57fSk7dmFyIFFRPWYoKCk9Pnt9KTt2YXIgSlE9ZigoKT0+e30pO3ZhciBLUT1mKCgpPT57fSk7dmFyIGVKPWYoKCk9Pnt9KTt2YXIgdEo9ZigoKT0+e30pO3ZhciBySj1mKCgpPT57fSk7dmFyIGRQZT1mKCgpPT57fSk7dmFyIGFKPWYoKCk9Pnt9KTt2YXIgaUo9ZigoKT0+e2sxKCk7UkVlKCk7QTcoKTtxRWUoKTtJNygpO1ZFZSgpO1VFZSgpO0dFZSgpO3JJZSgpO0ZkKCk7c0llKCk7ZEllKCk7cEllKCk7QlooKTtBMigpO2h6KCk7ekllKCk7X1ooKTtFZCgpO216KCk7Q0llKCk7X0llKCk7TEllKCk7JEllKCk7VEllKCk7REllKCk7RVooKTtBSWUoKTtOeigpO3laKCk7RkllKCk7T0llKCk7UkllKCk7ZFgoKTtqSWUoKTtxSWUoKTt3eigpO1ZJZSgpO0l6KCk7V0llKCk7R0llKCk7WUllKCk7WkllKCk7WEllKCk7UUllKCk7ZlgoKTtuWCgpO0tJZSgpO2VQZSgpO3RQZSgpO3JQZSgpO2FQZSgpO29YKCk7cFgoKTtpUGUoKTtuUGUoKTtpWCgpO3d6KCk7ZlgoKTtzUGUoKTt2cCgpO21YKCk7Z1goKTtiWCgpO3ZYKCk7eFgoKTt5WCgpO3dYKCk7TVgoKTtDWCgpO3pYKCk7VFgoKTtCeigpO19YKCk7TFgoKTskWCgpO0RYKCk7QVgoKTtFWCgpO0lYKCk7UFgoKTtCWCgpO1JYKCk7SFgoKTtxWCgpO2pYKCk7VlgoKTtXWCgpO0dYKCk7WVgoKTtRWCgpO1hYKCk7WlgoKTtKWCgpO2hYKCk7S1goKTtlUSgpO3RRKCk7clEoKTthUSgpO0ZYKCk7aVEoKTtzUSgpO2o3KCk7T1goKTtvUSgpO2xRKCk7T3ooKTtjUSgpO1Y3KCk7ZFEoKTt1USgpO3BRKCk7ZlEoKTtoUSgpO0I3KCk7bVEoKTtnUSgpO2JRKCk7dlEoKTt4USgpO3lRKCk7d1EoKTtNUSgpO2tYKCk7a1EoKTtTUSgpO3pRKCk7Q1EoKTtieigpO1RRKCk7X1EoKTtMUSgpOyRRKCk7RFEoKTtBUSgpO0VRKCk7SVEoKTtQUSgpO05RKCk7RlEoKTtPUSgpO0g3KCk7QlEoKTtSUSgpO0hRKCk7cVEoKTtOWCgpO25RKCk7alEoKTtWUSgpO1VRKCk7UXooKTtXUSgpO1VYKCk7R1EoKTtOeigpO1lRKCk7WlEoKTtTWCgpO1hRKCk7UVEoKTtKUSgpO0tRKCk7ZUooKTt0SigpO3JKKCk7YUooKX0pO3ZhciB1UGU9ZigoKT0+e30pO3ZhciBwUGU9ZigoKT0+e30pO3ZhciBmUGU9ZigoKT0+e21YKCk7Z1goKTtiWCgpO3ZYKCk7eFgoKTt5WCgpO3dYKCk7TVgoKTtDWCgpO3pYKCk7b1BlKCk7VFgoKTtsUGUoKTtCeigpO19YKCk7TFgoKTskWCgpO0RYKCk7QVgoKTtFWCgpO0lYKCk7UFgoKTtCWCgpO1JYKCk7SFgoKTtxWCgpO2pYKCk7VlgoKTtXWCgpO0dYKCk7WVgoKTtRWCgpO1hYKCk7WlgoKTtKWCgpO2hYKCk7S1goKTtlUSgpO3RRKCk7clEoKTthUSgpO0ZYKCk7aVEoKTtzUSgpO2o3KCk7T1goKTtvUSgpO2xRKCk7Y1BlKCk7T3ooKTtjUSgpO1Y3KCk7ZFEoKTt1USgpO3BRKCk7ZlEoKTtoUSgpO0I3KCk7bVEoKTtnUSgpO3VQZSgpO2JRKCk7dlEoKTt4USgpO3lRKCk7d1EoKTtwUGUoKTtNUSgpO2tYKCk7a1EoKTtTUSgpO3pRKCk7Q1EoKTtieigpO1RRKCk7X1EoKTtMUSgpOyRRKCk7RFEoKTtBUSgpO0VRKCk7SVEoKTtQUSgpO05RKCk7RlEoKTtPUSgpO0g3KCk7QlEoKTtSUSgpO0hRKCk7cVEoKTtOWCgpO25RKCk7alEoKTtWUSgpO1VRKCk7UXooKTtXUSgpO1VYKCk7R1EoKTtOeigpO1lRKCk7WlEoKTtTWCgpO1hRKCk7UVEoKTtKUSgpO0tRKCk7ZUooKTt0SigpO2RQZSgpO3JKKCk7YUooKX0pO3ZhciBDcD17fTtSZShDcCx7T2JzZXJ2YWJsZTooKT0+cXQsUmVwbGF5U3ViamVjdDooKT0+dnosU3ViamVjdDooKT0+UzEsU3Vic2NyaXB0aW9uOigpPT5WYSxmcm9tOigpPT5SZCxmcm9tRXZlbnQ6KCk9PkhkLG9mOigpPT5xNyxvcHM6KCk9PmpBcn0pO3ZhciBqQXIsS3o9ZigoKT0+e2lKKCk7ZlBlKCk7akFyPXtidWZmZXI6anosYnVmZmVyQ291bnQ6VnosYnVmZmVyVGltZTpVeixkZWJvdW5jZTpXeixkZWJvdW5jZVRpbWU6R3osZmlsdGVyOnF6LG1hcDpKMCxzdGFydFdpdGg6WXosdGFrZVVudGlsOlp6LHRocm90dGxlVGltZTpKen19KTt2YXIgbkosaFBlPWYoKCk9PntjeigpO0t6KCk7bko9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm9ic2VydmFibGVFdmVudEVtaXR0ZXJCdW5kbGVBcnJheT1uZXcgQXJyYXksdGhpcy5vYnNlcnZhYmxlRXZlbnRUYXJnZXRCdW5kbGVBcnJheT1uZXcgQXJyYXl9Z2V0U3ViamVjdEZvckVtaXR0ZXJFdmVudCh0LHIpe2xldCBhPXRoaXMub2JzZXJ2YWJsZUV2ZW50RW1pdHRlckJ1bmRsZUFycmF5LmZpbmQoaT0+aS5ldmVudFJlZj09PXQmJmkuZXZlbnQ9PT1yKTtpZihhKXJldHVybiBhLnN1YmplY3Q7e2xldCBpPUhkKHQsciksbj1uZXcgUzE7aS5zdWJzY3JpYmUobik7bGV0IHM9e3N1YmplY3Q6bixldmVudFJlZjp0LGV2ZW50OnJ9O3JldHVybiB0aGlzLm9ic2VydmFibGVFdmVudEVtaXR0ZXJCdW5kbGVBcnJheS5wdXNoKHMpLHMuc3ViamVjdH19Z2V0U3ViamVjdEZvckV2ZW50VGFyZ2V0KHQscil7bGV0IGE9dGhpcy5vYnNlcnZhYmxlRXZlbnRUYXJnZXRCdW5kbGVBcnJheS5maW5kKGk9PmkuZXZlbnRSZWY9PT10JiZpLmV2ZW50PT09cik7aWYoYSlyZXR1cm4gYS5zdWJqZWN0O3tsZXQgbj17c3ViamVjdDpuZXcgUzEsZXZlbnRSZWY6dCxldmVudDpyfTtyZXR1cm4gdGhpcy5vYnNlcnZhYmxlRXZlbnRUYXJnZXRCdW5kbGVBcnJheS5wdXNoKG4pLG4uc3ViamVjdH19fX0pO3ZhciBzSixtUGU9ZigoKT0+e2N6KCk7S3ooKTtzSj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMub2JzZXJ2YWJsZUZ1bmN0aW9ucz17bmV4dDp0PT57fSxjb21wbGV0ZTp0PT57fX0sdGhpcy5nZW5lcmF0b3I9bnVsbCx0aGlzLmJ1ZmZlcmVkPSExLHRoaXMucGF5bG9hZEJ1ZmZlcj1bXSx0aGlzLm9ic2VydmFibGU9bmV3IHF0KHQ9Pnt0aGlzLm9ic2VydmFibGVGdW5jdGlvbnMubmV4dD0oLi4ucik9PnQubmV4dChyKSx0aGlzLm9ic2VydmFibGVGdW5jdGlvbnMuY29tcGxldGU9KCk9Pih0aGlzLmNvbXBsZXRlZERlZmZlcmVkLnJlc29sdmUoKSx0LmNvbXBsZXRlKCkpfSksdGhpcy5jb21wbGV0ZWREZWZmZXJlZD1LZS5kZWZlcigpLHRoaXMuY29tcGxldGVkPXRoaXMuY29tcGxldGVkRGVmZmVyZWQucHJvbWlzZX1zZXRPYnNlcnZhYmxlKHQpe3RoaXMub2JzZXJ2YWJsZT10fXB1c2godCl7dGhpcy5idWZmZXJlZD90aGlzLnBheWxvYWRCdWZmZXIucHVzaCh0KTp0aGlzLmludGVybmFsUHVzaCh0KX1wdXNoTWFueSh0KXtmb3IobGV0IHIgb2YgdCl0aGlzLnB1c2gocil9c2V0R2VuZXJhdG9yKHQpe3RoaXMuZ2VuZXJhdG9yPXR9bWFrZUJ1ZmZlcmVkKCl7dGhpcy5idWZmZXJlZD0hMH1zdWJzY3JpYmUoLi4udCl7cmV0dXJuIHRoaXMub2JzZXJ2YWJsZS5zdWJzY3JpYmUoLi4udCl9cmVxdWVzdCh0KXtpZih0IT09MClmb3IobGV0IHI9MDtyIT09dDtyKyspaWYodGhpcy5wYXlsb2FkQnVmZmVyLmxlbmd0aD4wKXRoaXMuaW50ZXJuYWxQdXNoKHRoaXMucGF5bG9hZEJ1ZmZlci5zaGlmdCgpKTtlbHNle2xldCBhPXRoaXMuZ2VuZXJhdG9yLm5leHQoKTt0aGlzLmludGVybmFsUHVzaChhLnZhbHVlKX19c2lnbmFsQ29tcGxldGUoKXt0aGlzLm9ic2VydmFibGVGdW5jdGlvbnMuY29tcGxldGUoKX1pbnRlcm5hbFB1c2godCl7dGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLm5leHQodCl9fX0pO2Z1bmN0aW9uIFZBcihlKXtyZXR1cm4gbmV3IHF0KHQ9PntsZXQgcj0oKT0+ZS5wYXVzZSgpLGE9KCk9PnByb2Nlc3MubmV4dFRpY2soKCk9PmUucmVzdW1lKCkpLGk9bj0+e3IoKSx0Lm5leHQobiksYSgpfTtyZXR1cm4gZS5vbigiZGF0YSIsaSksZS5vbigiZXJyb3IiLG49PnQuZXJyb3IobikpLGUub24oImVuZCIsKCk9PnQuY29tcGxldGUoKSksZS5vbigiY2xvc2UiLCgpPT50LmNvbXBsZXRlKCkpLCgpPT57ZS5yZW1vdmVMaXN0ZW5lcigiZGF0YSIsaSksZS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLHQuZXJyb3IpLGUucmVtb3ZlTGlzdGVuZXIoImVuZCIsdC5jb21wbGV0ZSksZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHQuY29tcGxldGUpfX0pfXZhciBnUGU9ZigoKT0+e2lKKCl9KTt2YXIgYXI9e307UmUoYXIse09ic2VydmFibGVJbnRha2U6KCk9PnNKLE9ic2VydmFibGVtYXA6KCk9Pm5KLGZyb21TdHJlYW1XaXRoQmFja3ByZXNzdXJlOigpPT5WQXIscnhqczooKT0+Q3B9KTt2YXIgeW89ZigoKT0+e2N6KCk7aFBlKCk7bVBlKCk7Z1BlKCk7S3ooKX0pO2Z1bmN0aW9uIEYoZSl7cmV0dXJuKHQscik9PnR5cGVvZiByPT0ib2JqZWN0Ij9iUGUoZSx0LHIpOigoYSxpLG4pPT57bGV0IHM9aS5oYXNPd25Qcm9wZXJ0eShuKTtyZXR1cm4gaS5jb25zdHJ1Y3Rvci5jcmVhdGVQcm9wZXJ0eShuLGEpLHM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpLG4pOnZvaWQgMH0pKGUsdCxyKX12YXIgVUFyLGJQZSxlQz1mKCgpPT57UzcoKTtVQXI9e2F0dHJpYnV0ZTohMCx0eXBlOlN0cmluZyxjb252ZXJ0ZXI6bXAscmVmbGVjdDohMSxoYXNDaGFuZ2VkOms3fSxiUGU9KGU9VUFyLHQscik9PntsZXR7a2luZDphLG1ldGFkYXRhOml9PXIsbj1nbG9iYWxUaGlzLmxpdFByb3BlcnR5TWV0YWRhdGEuZ2V0KGkpO2lmKG49PT12b2lkIDAmJmdsb2JhbFRoaXMubGl0UHJvcGVydHlNZXRhZGF0YS5zZXQoaSxuPW5ldyBNYXApLGE9PT0ic2V0dGVyIiYmKChlPU9iamVjdC5jcmVhdGUoZSkpLndyYXBwZWQ9ITApLG4uc2V0KHIubmFtZSxlKSxhPT09ImFjY2Vzc29yIil7bGV0e25hbWU6c309cjtyZXR1cm57c2V0KG8pe2xldCBjPXQuZ2V0LmNhbGwodGhpcyk7dC5zZXQuY2FsbCh0aGlzLG8pLHRoaXMucmVxdWVzdFVwZGF0ZShzLGMsZSl9LGluaXQobyl7cmV0dXJuIG8hPT12b2lkIDAmJnRoaXMuQyhzLHZvaWQgMCxlLG8pLG99fX1pZihhPT09InNldHRlciIpe2xldHtuYW1lOnN9PXI7cmV0dXJuIGZ1bmN0aW9uKG8pe2xldCBjPXRoaXNbc107dC5jYWxsKHRoaXMsbyksdGhpcy5yZXF1ZXN0VXBkYXRlKHMsYyxlKX19dGhyb3cgRXJyb3IoIlVuc3VwcG9ydGVkIGRlY29yYXRvciBsb2NhdGlvbjogIithKX19KTt2YXIgdlBlPWYoKCk9PntlQygpfSk7dmFyIHhQZT1mKCgpPT57fSk7dmFyIEN0PXt9O1JlKEN0LHtUaW1lb3V0OigpPT50QyxkZWxheUZvcjooKT0+eVBlLGRlbGF5Rm9yUmFuZG9tOigpPT5XQXJ9KTt2YXIgeVBlLFdBcix0QyxJMj1mKCgpPT57VWkoKTt5UGU9YXN5bmMoZSx0LHI9ITEpPT4oYXdhaXQgbmV3IHRDKGUsbnVsbCxyKS5wcm9taXNlLHQpLFdBcj1hc3luYyhlLHQscixhPSExKT0+KGF3YWl0IHlQZShNYXRoLnJhbmRvbSgpKih0LWUpK2UsbnVsbCxhKSxyKSx0Qz1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIsYT0hMSl7dGhpcy5fY2FuY2VsbGVkPSExLHRoaXMudGltZW91dEluTWlsbGlzPXQsdGhpcy5fZGVmZXJyZWQ9WjAoKSx0aGlzLnByb21pc2U9dGhpcy5fZGVmZXJyZWQucHJvbWlzZSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLl9jYW5jZWxsZWR8fHRoaXMuX2RlZmVycmVkLnJlc29sdmUocil9LHQpLHRoaXMuc3RhcnRlZD1EYXRlLm5vdygpLGEmJnRoaXMubWFrZVVucmVmZWQoKX1tYWtlVW5yZWZlZCgpe3RoaXMuX3RpbWVvdXQudW5yZWYoKX1jYW5jZWwoKXt0aGlzLl9jYW5jZWxsZWQ9ITAsY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpfWdldFRpbWVMZWZ0KCl7bGV0IHQ9dGhpcy5zdGFydGVkK3RoaXMudGltZW91dEluTWlsbGlzLURhdGUubm93KCk7cmV0dXJuIHQ+MD90OjB9fX0pO3ZhciBUcD17fTt2YXIgckM9ZigoKT0+e30pO2Z1bmN0aW9uIHFkKGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIHN0cmluZyIpO3JldHVybiBlLnJlcGxhY2UoL1t8XFx7fSgpW1xdXiQrKj8uXS9nLCJcXCQmIikucmVwbGFjZSgvLS9nLCJcXHgyZCIpfXZhciBhQz1mKCgpPT57fSk7dmFyIFU3PXt9O1JlKFU3LHtpc01hdGNoOigpPT5aQXIsbWF0Y2hlcjooKT0+WUFyfSk7ZnVuY3Rpb24gWUFyKGUsdCxyKXtyZXR1cm4gTVBlKGUsdCxyLCExKX1mdW5jdGlvbiBaQXIoZSx0LHIpe3JldHVybiBNUGUoZSx0LHIsITApLmxlbmd0aD4wfXZhciBvSix3UGUsR0FyLE1QZSxrUGU9ZigoKT0+e2FDKCk7b0o9bmV3IE1hcCx3UGU9KGUsdCk9PntpZighQXJyYXkuaXNBcnJheShlKSlzd2l0Y2godHlwZW9mIGUpe2Nhc2Uic3RyaW5nIjplPVtlXTticmVhaztjYXNlInVuZGVmaW5lZCI6ZT1bXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkICcke3R9JyB0byBiZSBhIHN0cmluZyBvciBhbiBhcnJheSwgYnV0IGdvdCBhIHR5cGUgb2YgJyR7dHlwZW9mIGV9J2ApfXJldHVybiBlLmZpbHRlcihyPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXtpZih0eXBlb2Ygcj4idSIpcmV0dXJuITE7dGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgJyR7dH0nIHRvIGJlIGFuIGFycmF5IG9mIHN0cmluZ3MsIGJ1dCBmb3VuZCBhIHR5cGUgb2YgJyR7dHlwZW9mIHJ9JyBpbiB0aGUgYXJyYXlgKX1yZXR1cm4hMH0pfSxHQXI9KGUsdCk9Pnt0PXtjYXNlU2Vuc2l0aXZlOiExLC4uLnR9O2xldCByPWUrSlNPTi5zdHJpbmdpZnkodCk7aWYob0ouaGFzKHIpKXJldHVybiBvSi5nZXQocik7bGV0IGE9ZVswXT09PSIhIjthJiYoZT1lLnNsaWNlKDEpKSxlPXFkKGUpLnJlcGxhY2UoL1xcXCovZywiW1xcc1xcU10qIik7bGV0IGk9bmV3IFJlZ0V4cChgXiR7ZX0kYCx0LmNhc2VTZW5zaXRpdmU/IiI6ImkiKTtyZXR1cm4gaS5uZWdhdGVkPWEsb0ouc2V0KHIsaSksaX0sTVBlPShlLHQscixhKT0+e2lmKGU9d1BlKGUsImlucHV0cyIpLHQ9d1BlKHQsInBhdHRlcm5zIiksdC5sZW5ndGg9PT0wKXJldHVybltdO3Q9dC5tYXAocz0+R0FyKHMscikpO2xldHthbGxQYXR0ZXJuczppfT1yfHx7fSxuPVtdO2ZvcihsZXQgcyBvZiBlKXtsZXQgbyxjPVsuLi50XS5maWxsKCExKTtmb3IobGV0W2wsdV1vZiB0LmVudHJpZXMoKSlpZih1LnRlc3QocykmJihjW2xdPSEwLG89IXUubmVnYXRlZCwhbykpYnJlYWs7aWYoIShvPT09ITF8fG89PT12b2lkIDAmJnQuc29tZShsPT4hbC5uZWdhdGVkKXx8aSYmYy5zb21lKChsLHUpPT4hbCYmIXRbdV0ubmVnYXRlZCkpJiYobi5wdXNoKHMpLGEpKWJyZWFrfXJldHVybiBufX0pO3ZhciBTUGU9ZigoKT0+e2tQZSgpfSk7dmFyIFFsPXt9O1JlKFFsLHtTbWFydE1hdGNoOigpPT5sSn0pO3ZhciBsSixjSj1mKCgpPT57U1BlKCk7bEo9Y2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy53aWxkY2FyZD10fW1hdGNoKHQpe3JldHVybiBVNy5pc01hdGNoKHQsdGhpcy53aWxkY2FyZCl9fX0pO3ZhciBZNz17fTtSZShZNyx7Q3JvbjooKT0+TFBlLENyb25EYXRlOigpPT56MSxDcm9uUGF0dGVybjooKT0+aUMsc2NoZWR1bGVkSm9iczooKT0+X3B9KTtmdW5jdGlvbiBNbihlLHQscixhLGksbixzLG8pe3JldHVybiBNbi5mcm9tVFooTW4udHAoZSx0LHIsYSxpLG4scyksbyl9ZnVuY3Rpb24gZEooZSx0PW5ldyBEYXRlKXtsZXQgcj10LnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse3RpbWVab25lOmUsdGltZVpvbmVOYW1lOiJzaG9ydE9mZnNldCJ9KS5zcGxpdCgiICIpLnNsaWNlKC0xKVswXSxhPXQudG9Mb2NhbGVTdHJpbmcoImVuLVVTIikucmVwbGFjZSgvW1x1MjAyZl0vLCIgIik7cmV0dXJuIERhdGUucGFyc2UoYCR7YX0gR01UYCktRGF0ZS5wYXJzZShgJHthfSAke3J9YCl9ZnVuY3Rpb24gUUFyKGUsdCl7bGV0IHI9bmV3IERhdGUoRGF0ZS5wYXJzZShlKSk7aWYoaXNOYU4ocikpdGhyb3cgbmV3IEVycm9yKCJtaW5pdHo6IEludmFsaWQgSVNPODYwMSBwYXNzZWQgdG8gcGFyc2VyLiIpO2xldCBhPWUuc3Vic3RyaW5nKDkpO3JldHVybiBlLmluY2x1ZGVzKCJaIil8fGEuaW5jbHVkZXMoIi0iKXx8YS5pbmNsdWRlcygiKyIpP01uLnRwKHIuZ2V0VVRDRnVsbFllYXIoKSxyLmdldFVUQ01vbnRoKCkrMSxyLmdldFVUQ0RhdGUoKSxyLmdldFVUQ0hvdXJzKCksci5nZXRVVENNaW51dGVzKCksci5nZXRVVENTZWNvbmRzKCksIkV0Yy9VVEMiKTpNbi50cChyLmdldEZ1bGxZZWFyKCksci5nZXRNb250aCgpKzEsci5nZXREYXRlKCksci5nZXRIb3VycygpLHIuZ2V0TWludXRlcygpLHIuZ2V0U2Vjb25kcygpLHQpfWZ1bmN0aW9uIEpBcihlKXtpZihlPT09dm9pZCAwJiYoZT17fSksZGVsZXRlIGUubmFtZSxlLmxlZ2FjeU1vZGU9ZS5sZWdhY3lNb2RlPT09dm9pZCAwPyEwOmUubGVnYWN5TW9kZSxlLnBhdXNlZD1lLnBhdXNlZD09PXZvaWQgMD8hMTplLnBhdXNlZCxlLm1heFJ1bnM9ZS5tYXhSdW5zPT09dm9pZCAwPzEvMDplLm1heFJ1bnMsZS5jYXRjaD1lLmNhdGNoPT09dm9pZCAwPyExOmUuY2F0Y2gsZS5pbnRlcnZhbD1lLmludGVydmFsPT09dm9pZCAwPzA6cGFyc2VJbnQoZS5pbnRlcnZhbC50b1N0cmluZygpLDEwKSxlLnV0Y09mZnNldD1lLnV0Y09mZnNldD09PXZvaWQgMD92b2lkIDA6cGFyc2VJbnQoZS51dGNPZmZzZXQudG9TdHJpbmcoKSwxMCksZS51bnJlZj1lLnVucmVmPT09dm9pZCAwPyExOmUudW5yZWYsZS5zdGFydEF0JiYoZS5zdGFydEF0PW5ldyB6MShlLnN0YXJ0QXQsZS50aW1lem9uZSkpLGUuc3RvcEF0JiYoZS5zdG9wQXQ9bmV3IHoxKGUuc3RvcEF0LGUudGltZXpvbmUpKSxlLmludGVydmFsIT09bnVsbCl7aWYoaXNOYU4oZS5pbnRlcnZhbCkpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogU3VwcGxpZWQgdmFsdWUgZm9yIGludGVydmFsIGlzIG5vdCBhIG51bWJlciIpO2lmKGUuaW50ZXJ2YWw8MCl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBTdXBwbGllZCB2YWx1ZSBmb3IgaW50ZXJ2YWwgY2FuIG5vdCBiZSBuZWdhdGl2ZSIpfWlmKGUudXRjT2Zmc2V0IT09dm9pZCAwKXtpZihpc05hTihlLnV0Y09mZnNldCkpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogSW52YWxpZCB2YWx1ZSBwYXNzZWQgZm9yIHV0Y09mZnNldCwgc2hvdWxkIGJlIG51bWJlciByZXByZXNlbnRpbmcgbWludXRlcyBvZmZzZXQgZnJvbSBVVEMuIik7aWYoZS51dGNPZmZzZXQ8LTg3MHx8ZS51dGNPZmZzZXQ+ODcwKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IHV0Y09mZnNldCBvdXQgb2YgYm91bmRzLiIpO2lmKGUudXRjT2Zmc2V0IT09dm9pZCAwJiZlLnRpbWV6b25lKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IENvbWJpbmluZyAndXRjT2Zmc2V0JyB3aXRoICd0aW1lem9uZScgaXMgbm90IGFsbG93ZWQuIil9aWYoZS51bnJlZiE9PSEwJiZlLnVucmVmIT09ITEpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogVW5yZWYgc2hvdWxkIGJlIGVpdGhlciB0cnVlLCBmYWxzZSBvciB1bmRlZmluZWQoZmFsc2UpLiIpO3JldHVybiBlfWZ1bmN0aW9uIEc3KGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk9PT0iW29iamVjdCBGdW5jdGlvbl0ifHx0eXBlb2YgZT09ImZ1bmN0aW9uInx8ZSBpbnN0YW5jZW9mIEZ1bmN0aW9ufWZ1bmN0aW9uIEtBcihlKXtyZXR1cm4gRzcoZSl9ZnVuY3Rpb24gZUVyKGUpe3R5cGVvZiBEZW5vPCJ1IiYmdHlwZW9mIERlbm8udW5yZWZUaW1lcjwidSI/RGVuby51bnJlZlRpbWVyKGUpOmUmJnR5cGVvZiBlLnVucmVmPCJ1IiYmZS51bnJlZigpfXZhciB1SixXNyx6UGUsaUMsQ1BlLEpsLHoxLFRQZSxfcCxMUGUsJFBlPWYoKCk9PntNbi5mcm9tVFpJU089KGUsdCxyKT0+TW4uZnJvbVRaKFFBcihlLHQpLHIpLE1uLmZyb21UWj1mdW5jdGlvbihlLHQpe2xldCByPW5ldyBEYXRlKERhdGUuVVRDKGUueSxlLm0tMSxlLmQsZS5oLGUuaSxlLnMpKSxhPWRKKGUudHosciksaT1uZXcgRGF0ZShyLmdldFRpbWUoKS1hKSxuPWRKKGUudHosaSk7aWYobi1hPT09MClyZXR1cm4gaTt7bGV0IHM9bmV3IERhdGUoci5nZXRUaW1lKCktbiksbz1kSihlLnR6LHMpO2lmKG8tbj09PTB8fCF0JiZvLW4+MClyZXR1cm4gcztpZih0KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBkYXRlIHBhc3NlZCB0byBmcm9tVFooKSIpO3JldHVybiBpfX0sTW4udG9UWj1mdW5jdGlvbihlLHQpe2xldCByPWUudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7dGltZVpvbmU6dH0pLnJlcGxhY2UoL1tcdTIwMmZdLywiICIpLGE9bmV3IERhdGUocik7cmV0dXJue3k6YS5nZXRGdWxsWWVhcigpLG06YS5nZXRNb250aCgpKzEsZDphLmdldERhdGUoKSxoOmEuZ2V0SG91cnMoKSxpOmEuZ2V0TWludXRlcygpLHM6YS5nZXRTZWNvbmRzKCksdHo6dH19LE1uLnRwPShlLHQscixhLGksbixzKT0+KHt5OmUsbTp0LGQ6cixoOmEsaSxzOm4sdHo6c30pO01uLm1pbml0ej1Nbjt1Sj0zMixXNz0zMXx1Six6UGU9WzEsMiw0LDgsMTZdLGlDPWNsYXNze3BhdHRlcm47dGltZXpvbmU7c2Vjb25kO21pbnV0ZTtob3VyO2RheTttb250aDtkYXlPZldlZWs7bGFzdERheU9mTW9udGg7c3RhckRPTTtzdGFyRE9XO2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5wYXR0ZXJuPWUsdGhpcy50aW1lem9uZT10LHRoaXMuc2Vjb25kPUFycmF5KDYwKS5maWxsKDApLHRoaXMubWludXRlPUFycmF5KDYwKS5maWxsKDApLHRoaXMuaG91cj1BcnJheSgyNCkuZmlsbCgwKSx0aGlzLmRheT1BcnJheSgzMSkuZmlsbCgwKSx0aGlzLm1vbnRoPUFycmF5KDEyKS5maWxsKDApLHRoaXMuZGF5T2ZXZWVrPUFycmF5KDcpLmZpbGwoMCksdGhpcy5sYXN0RGF5T2ZNb250aD0hMSx0aGlzLnN0YXJET009ITEsdGhpcy5zdGFyRE9XPSExLHRoaXMucGFyc2UoKX1wYXJzZSgpe2lmKCEodHlwZW9mIHRoaXMucGF0dGVybj09InN0cmluZyJ8fHRoaXMucGF0dGVybiBpbnN0YW5jZW9mIFN0cmluZykpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFBhdHRlcm4gaGFzIHRvIGJlIG9mIHR5cGUgc3RyaW5nLiIpO3RoaXMucGF0dGVybi5pbmRleE9mKCJAIik+PTAmJih0aGlzLnBhdHRlcm49dGhpcy5oYW5kbGVOaWNrbmFtZXModGhpcy5wYXR0ZXJuKS50cmltKCkpO2xldCBlPXRoaXMucGF0dGVybi5yZXBsYWNlKC9ccysvZywiICIpLnNwbGl0KCIgIik7aWYoZS5sZW5ndGg8NXx8ZS5sZW5ndGg+Nil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogaW52YWxpZCBjb25maWd1cmF0aW9uIGZvcm1hdCAoJyIrdGhpcy5wYXR0ZXJuKyInKSwgZXhhY3RseSBmaXZlIG9yIHNpeCBzcGFjZSBzZXBhcmF0ZWQgcGFydHMgYXJlIHJlcXVpcmVkLiIpO2lmKGUubGVuZ3RoPT09NSYmZS51bnNoaWZ0KCIwIiksZVszXS5pbmRleE9mKCJMIik+PTAmJihlWzNdPWVbM10ucmVwbGFjZSgiTCIsIiIpLHRoaXMubGFzdERheU9mTW9udGg9ITApLGVbM109PSIqIiYmKHRoaXMuc3RhckRPTT0hMCksZVs0XS5sZW5ndGg+PTMmJihlWzRdPXRoaXMucmVwbGFjZUFscGhhTW9udGhzKGVbNF0pKSxlWzVdLmxlbmd0aD49MyYmKGVbNV09dGhpcy5yZXBsYWNlQWxwaGFEYXlzKGVbNV0pKSxlWzVdPT0iKiImJih0aGlzLnN0YXJET1c9ITApLHRoaXMucGF0dGVybi5pbmRleE9mKCI/Iik+PTApe2xldCB0PW5ldyB6MShuZXcgRGF0ZSx0aGlzLnRpbWV6b25lKS5nZXREYXRlKCEwKTtlWzBdPWVbMF0ucmVwbGFjZSgiPyIsdC5nZXRTZWNvbmRzKCkudG9TdHJpbmcoKSksZVsxXT1lWzFdLnJlcGxhY2UoIj8iLHQuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkpLGVbMl09ZVsyXS5yZXBsYWNlKCI/Iix0LmdldEhvdXJzKCkudG9TdHJpbmcoKSksdGhpcy5zdGFyRE9NfHwoZVszXT1lWzNdLnJlcGxhY2UoIj8iLHQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkpKSxlWzRdPWVbNF0ucmVwbGFjZSgiPyIsKHQuZ2V0TW9udGgoKSsxKS50b1N0cmluZygpKSx0aGlzLnN0YXJET1d8fChlWzVdPWVbNV0ucmVwbGFjZSgiPyIsdC5nZXREYXkoKS50b1N0cmluZygpKSl9dGhpcy50aHJvd0F0SWxsZWdhbENoYXJhY3RlcnMoZSksdGhpcy5wYXJ0VG9BcnJheSgic2Vjb25kIixlWzBdLDAsMSksdGhpcy5wYXJ0VG9BcnJheSgibWludXRlIixlWzFdLDAsMSksdGhpcy5wYXJ0VG9BcnJheSgiaG91ciIsZVsyXSwwLDEpLHRoaXMucGFydFRvQXJyYXkoImRheSIsZVszXSwtMSwxKSx0aGlzLnBhcnRUb0FycmF5KCJtb250aCIsZVs0XSwtMSwxKSx0aGlzLnBhcnRUb0FycmF5KCJkYXlPZldlZWsiLGVbNV0sMCxXNyksdGhpcy5kYXlPZldlZWtbN10mJih0aGlzLmRheU9mV2Vla1swXT10aGlzLmRheU9mV2Vla1s3XSl9cGFydFRvQXJyYXkoZSx0LHIsYSl7bGV0IGk9dGhpc1tlXSxuPWU9PT0iZGF5IiYmdGhpcy5sYXN0RGF5T2ZNb250aDtpZih0PT09IiImJiFuKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrZSsiICgiK3QrIikgaXMgZW1wdHksIGNoZWNrIGZvciB0cmFpbGluZyBzcGFjZXMuIik7aWYodD09PSIqIilyZXR1cm4gaS5maWxsKGEpO2xldCBzPXQuc3BsaXQoIiwiKTtpZihzLmxlbmd0aD4xKWZvcihsZXQgbz0wO288cy5sZW5ndGg7bysrKXRoaXMucGFydFRvQXJyYXkoZSxzW29dLHIsYSk7ZWxzZSB0LmluZGV4T2YoIi0iKSE9PS0xJiZ0LmluZGV4T2YoIi8iKSE9PS0xP3RoaXMuaGFuZGxlUmFuZ2VXaXRoU3RlcHBpbmcodCxlLHIsYSk6dC5pbmRleE9mKCItIikhPT0tMT90aGlzLmhhbmRsZVJhbmdlKHQsZSxyLGEpOnQuaW5kZXhPZigiLyIpIT09LTE/dGhpcy5oYW5kbGVTdGVwcGluZyh0LGUscixhKTp0IT09IiImJnRoaXMuaGFuZGxlTnVtYmVyKHQsZSxyLGEpfXRocm93QXRJbGxlZ2FsQ2hhcmFjdGVycyhlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZigodD09PTU/L1teLyowLTksXC0jTF0rLzovW14vKjAtOSwtXSsvKS50ZXN0KGVbdF0pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrdCsiICgiK2VbdF0rIikgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzLiIpfWhhbmRsZU51bWJlcihlLHQscixhKXtsZXQgaT10aGlzLmV4dHJhY3ROdGgoZSx0KSxuPXBhcnNlSW50KGlbMF0sMTApK3I7aWYoaXNOYU4obikpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46ICIrdCsiIGlzIG5vdCBhIG51bWJlcjogJyIrZSsiJyIpO3RoaXMuc2V0UGFydCh0LG4saVsxXXx8YSl9c2V0UGFydChlLHQscil7aWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHBhcnQgc3BlY2lmaWVkOiAiK2UpO2lmKGU9PT0iZGF5T2ZXZWVrIil7aWYodD09PTcmJih0PTApLHQ8MHx8dD42KXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgZGF5T2ZXZWVrOiAiK3QpO3RoaXMuc2V0TnRoV2Vla2RheU9mTW9udGgodCxyKTtyZXR1cm59aWYoZT09PSJzZWNvbmQifHxlPT09Im1pbnV0ZSIpe2lmKHQ8MHx8dD49NjApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK2UrIjogIit0KX1lbHNlIGlmKGU9PT0iaG91ciIpe2lmKHQ8MHx8dD49MjQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK2UrIjogIit0KX1lbHNlIGlmKGU9PT0iZGF5Iil7aWYodDwwfHx0Pj0zMSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yICIrZSsiOiAiK3QpfWVsc2UgaWYoZT09PSJtb250aCImJih0PDB8fHQ+PTEyKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yICIrZSsiOiAiK3QpO3RoaXNbZV1bdF09cn1oYW5kbGVSYW5nZVdpdGhTdGVwcGluZyhlLHQscixhKXtsZXQgaT10aGlzLmV4dHJhY3ROdGgoZSx0KSxuPWlbMF0ubWF0Y2goL14oXGQrKS0oXGQrKVwvKFxkKykkLyk7aWYobj09PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCByYW5nZSB3aXRoIHN0ZXBwaW5nOiAnIitlKyInIik7bGV0WyxzLG8sY109bixsPXBhcnNlSW50KHMsMTApK3IsdT1wYXJzZUludChvLDEwKStyLGQ9cGFyc2VJbnQoYywxMCk7aWYoaXNOYU4obCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBsb3dlciByYW5nZSAoTmFOKSIpO2lmKGlzTmFOKHUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgdXBwZXIgcmFuZ2UgKE5hTikiKTtpZihpc05hTihkKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHN0ZXBwaW5nOiAoTmFOKSIpO2lmKGQ9PT0wKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgc3RlcHBpbmc6IDAiKTtpZihkPnRoaXNbdF0ubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBzIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gbWF4aW11bSB2YWx1ZSBvZiBwYXJ0ICgiK3RoaXNbdF0ubGVuZ3RoKyIpIik7aWYobD51KXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBGcm9tIHZhbHVlIGlzIGxhcmdlciB0aGFuIHRvIHZhbHVlOiAnIitlKyInIik7Zm9yKGxldCBoPWw7aDw9dTtoKz1kKXRoaXMuc2V0UGFydCh0LGgsaVsxXXx8YSl9ZXh0cmFjdE50aChlLHQpe2xldCByPWUsYTtpZihyLmluY2x1ZGVzKCIjIikpe2lmKHQhPT0iZGF5T2ZXZWVrIil0aHJvdyBuZXcgRXJyb3IoIkNyb25QYXR0ZXJuOiBudGggKCMpIG9ubHkgYWxsb3dlZCBpbiBkYXktb2Ytd2VlayBmaWVsZCIpO2E9ci5zcGxpdCgiIyIpWzFdLHI9ci5zcGxpdCgiIyIpWzBdfXJldHVybltyLGFdfWhhbmRsZVJhbmdlKGUsdCxyLGEpe2xldCBpPXRoaXMuZXh0cmFjdE50aChlLHQpLG49aVswXS5zcGxpdCgiLSIpO2lmKG4ubGVuZ3RoIT09Mil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHJhbmdlOiAnIitlKyInIik7bGV0IHM9cGFyc2VJbnQoblswXSwxMCkrcixvPXBhcnNlSW50KG5bMV0sMTApK3I7aWYoaXNOYU4ocykpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBsb3dlciByYW5nZSAoTmFOKSIpO2lmKGlzTmFOKG8pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgdXBwZXIgcmFuZ2UgKE5hTikiKTtpZihzPm8pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IEZyb20gdmFsdWUgaXMgbGFyZ2VyIHRoYW4gdG8gdmFsdWU6ICciK2UrIiciKTtmb3IobGV0IGM9cztjPD1vO2MrKyl0aGlzLnNldFBhcnQodCxjLGlbMV18fGEpfWhhbmRsZVN0ZXBwaW5nKGUsdCxyLGEpe2xldCBpPXRoaXMuZXh0cmFjdE50aChlLHQpLG49aVswXS5zcGxpdCgiLyIpO2lmKG4ubGVuZ3RoIT09Mil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHN0ZXBwaW5nOiAnIitlKyInIik7blswXT09PSIiJiYoblswXT0iKiIpO2xldCBzPTA7blswXSE9PSIqIiYmKHM9cGFyc2VJbnQoblswXSwxMCkrcik7bGV0IG89cGFyc2VJbnQoblsxXSwxMCk7aWYoaXNOYU4obykpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogKE5hTikiKTtpZihvPT09MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHN0ZXBwaW5nOiAwIik7aWYobz50aGlzW3RdLmxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBtYXggc3RlcHMgZm9yIHBhcnQgaXMgKCIrdGhpc1t0XS5sZW5ndGgrIikiKTtmb3IobGV0IGM9cztjPHRoaXNbdF0ubGVuZ3RoO2MrPW8pdGhpcy5zZXRQYXJ0KHQsYyxpWzFdfHxhKX1yZXBsYWNlQWxwaGFEYXlzKGUpe3JldHVybiBlLnJlcGxhY2UoLy1zdW4vZ2ksIi03IikucmVwbGFjZSgvc3VuL2dpLCIwIikucmVwbGFjZSgvbW9uL2dpLCIxIikucmVwbGFjZSgvdHVlL2dpLCIyIikucmVwbGFjZSgvd2VkL2dpLCIzIikucmVwbGFjZSgvdGh1L2dpLCI0IikucmVwbGFjZSgvZnJpL2dpLCI1IikucmVwbGFjZSgvc2F0L2dpLCI2Iil9cmVwbGFjZUFscGhhTW9udGhzKGUpe3JldHVybiBlLnJlcGxhY2UoL2phbi9naSwiMSIpLnJlcGxhY2UoL2ZlYi9naSwiMiIpLnJlcGxhY2UoL21hci9naSwiMyIpLnJlcGxhY2UoL2Fwci9naSwiNCIpLnJlcGxhY2UoL21heS9naSwiNSIpLnJlcGxhY2UoL2p1bi9naSwiNiIpLnJlcGxhY2UoL2p1bC9naSwiNyIpLnJlcGxhY2UoL2F1Zy9naSwiOCIpLnJlcGxhY2UoL3NlcC9naSwiOSIpLnJlcGxhY2UoL29jdC9naSwiMTAiKS5yZXBsYWNlKC9ub3YvZ2ksIjExIikucmVwbGFjZSgvZGVjL2dpLCIxMiIpfWhhbmRsZU5pY2tuYW1lcyhlKXtsZXQgdD1lLnRyaW0oKS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09IkB5ZWFybHkifHx0PT09IkBhbm51YWxseSI/IjAgMCAxIDEgKiI6dD09PSJAbW9udGhseSI/IjAgMCAxICogKiI6dD09PSJAd2Vla2x5Ij8iMCAwICogKiAwIjp0PT09IkBkYWlseSI/IjAgMCAqICogKiI6dD09PSJAaG91cmx5Ij8iMCAqICogKiAqIjplfXNldE50aFdlZWtkYXlPZk1vbnRoKGUsdCl7aWYodHlwZW9mIHQhPSJudW1iZXIiJiZ0PT09IkwiKXRoaXMuZGF5T2ZXZWVrW2VdPXRoaXMuZGF5T2ZXZWVrW2VdfHVKO2Vsc2UgaWYodD09PVc3KXRoaXMuZGF5T2ZXZWVrW2VdPVc3O2Vsc2UgaWYodDw2JiZ0PjApdGhpcy5kYXlPZldlZWtbZV09dGhpcy5kYXlPZldlZWtbZV18elBlW3QtMV07ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKGBDcm9uUGF0dGVybjogbnRoIHdlZWtkYXkgb3V0IG9mIHJhbmdlLCBzaG91bGQgYmUgMS01IG9yIEwuIFZhbHVlOiAke3R9LCBUeXBlOiAke3R5cGVvZiB0fWApfX0sQ1BlPVszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sSmw9W1sibW9udGgiLCJ5ZWFyIiwwXSxbImRheSIsIm1vbnRoIiwtMV0sWyJob3VyIiwiZGF5IiwwXSxbIm1pbnV0ZSIsImhvdXIiLDBdLFsic2Vjb25kIiwibWludXRlIiwwXV0sejE9Y2xhc3MgX1Ble3R6O21zO3NlY29uZDttaW51dGU7aG91cjtkYXk7bW9udGg7eWVhcjtjb25zdHJ1Y3Rvcih0LHIpe2lmKHRoaXMudHo9cix0JiZ0IGluc3RhbmNlb2YgRGF0ZSlpZighaXNOYU4odCkpdGhpcy5mcm9tRGF0ZSh0KTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25EYXRlOiBJbnZhbGlkIGRhdGUgcGFzc2VkIHRvIENyb25EYXRlIGNvbnN0cnVjdG9yIik7ZWxzZSBpZih0PT09dm9pZCAwKXRoaXMuZnJvbURhdGUobmV3IERhdGUpO2Vsc2UgaWYodCYmdHlwZW9mIHQ9PSJzdHJpbmciKXRoaXMuZnJvbVN0cmluZyh0KTtlbHNlIGlmKHQgaW5zdGFuY2VvZiBfUGUpdGhpcy5mcm9tQ3JvbkRhdGUodCk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uRGF0ZTogSW52YWxpZCB0eXBlICgiK3R5cGVvZiB0KyIpIHBhc3NlZCB0byBDcm9uRGF0ZSBjb25zdHJ1Y3RvciIpfWlzTnRoV2Vla2RheU9mTW9udGgodCxyLGEsaSl7bGV0IG49bmV3IERhdGUoRGF0ZS5VVEModCxyLGEpKS5nZXRVVENEYXkoKSxzPTA7Zm9yKGxldCBvPTE7bzw9YTtvKyspbmV3IERhdGUoRGF0ZS5VVEModCxyLG8pKS5nZXRVVENEYXkoKT09PW4mJnMrKztpZihpJlc3JiZ6UGVbcy0xXSZpKXJldHVybiEwO2lmKGkmdUope2xldCBvPW5ldyBEYXRlKERhdGUuVVRDKHQscisxLDApKS5nZXRVVENEYXRlKCk7Zm9yKGxldCBjPWErMTtjPD1vO2MrKylpZihuZXcgRGF0ZShEYXRlLlVUQyh0LHIsYykpLmdldFVUQ0RheSgpPT09bilyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4hMX1mcm9tRGF0ZSh0KXtpZih0aGlzLnR6IT09dm9pZCAwKWlmKHR5cGVvZiB0aGlzLnR6PT0ibnVtYmVyIil0aGlzLm1zPXQuZ2V0VVRDTWlsbGlzZWNvbmRzKCksdGhpcy5zZWNvbmQ9dC5nZXRVVENTZWNvbmRzKCksdGhpcy5taW51dGU9dC5nZXRVVENNaW51dGVzKCkrdGhpcy50eix0aGlzLmhvdXI9dC5nZXRVVENIb3VycygpLHRoaXMuZGF5PXQuZ2V0VVRDRGF0ZSgpLHRoaXMubW9udGg9dC5nZXRVVENNb250aCgpLHRoaXMueWVhcj10LmdldFVUQ0Z1bGxZZWFyKCksdGhpcy5hcHBseSgpO2Vsc2V7bGV0IHI9TW4udG9UWih0LHRoaXMudHopO3RoaXMubXM9dC5nZXRNaWxsaXNlY29uZHMoKSx0aGlzLnNlY29uZD1yLnMsdGhpcy5taW51dGU9ci5pLHRoaXMuaG91cj1yLmgsdGhpcy5kYXk9ci5kLHRoaXMubW9udGg9ci5tLTEsdGhpcy55ZWFyPXIueX1lbHNlIHRoaXMubXM9dC5nZXRNaWxsaXNlY29uZHMoKSx0aGlzLnNlY29uZD10LmdldFNlY29uZHMoKSx0aGlzLm1pbnV0ZT10LmdldE1pbnV0ZXMoKSx0aGlzLmhvdXI9dC5nZXRIb3VycygpLHRoaXMuZGF5PXQuZ2V0RGF0ZSgpLHRoaXMubW9udGg9dC5nZXRNb250aCgpLHRoaXMueWVhcj10LmdldEZ1bGxZZWFyKCl9ZnJvbUNyb25EYXRlKHQpe3RoaXMudHo9dC50eix0aGlzLnllYXI9dC55ZWFyLHRoaXMubW9udGg9dC5tb250aCx0aGlzLmRheT10LmRheSx0aGlzLmhvdXI9dC5ob3VyLHRoaXMubWludXRlPXQubWludXRlLHRoaXMuc2Vjb25kPXQuc2Vjb25kLHRoaXMubXM9dC5tc31hcHBseSgpe2lmKHRoaXMubW9udGg+MTF8fHRoaXMuZGF5PkNQZVt0aGlzLm1vbnRoXXx8dGhpcy5ob3VyPjU5fHx0aGlzLm1pbnV0ZT41OXx8dGhpcy5zZWNvbmQ+NTl8fHRoaXMuaG91cjwwfHx0aGlzLm1pbnV0ZTwwfHx0aGlzLnNlY29uZDwwKXtsZXQgdD1uZXcgRGF0ZShEYXRlLlVUQyh0aGlzLnllYXIsdGhpcy5tb250aCx0aGlzLmRheSx0aGlzLmhvdXIsdGhpcy5taW51dGUsdGhpcy5zZWNvbmQsdGhpcy5tcykpO3JldHVybiB0aGlzLm1zPXQuZ2V0VVRDTWlsbGlzZWNvbmRzKCksdGhpcy5zZWNvbmQ9dC5nZXRVVENTZWNvbmRzKCksdGhpcy5taW51dGU9dC5nZXRVVENNaW51dGVzKCksdGhpcy5ob3VyPXQuZ2V0VVRDSG91cnMoKSx0aGlzLmRheT10LmdldFVUQ0RhdGUoKSx0aGlzLm1vbnRoPXQuZ2V0VVRDTW9udGgoKSx0aGlzLnllYXI9dC5nZXRVVENGdWxsWWVhcigpLCEwfWVsc2UgcmV0dXJuITF9ZnJvbVN0cmluZyh0KXtpZih0eXBlb2YgdGhpcy50ej09Im51bWJlciIpe2xldCByPU1uLmZyb21UWklTTyh0KTt0aGlzLm1zPXIuZ2V0VVRDTWlsbGlzZWNvbmRzKCksdGhpcy5zZWNvbmQ9ci5nZXRVVENTZWNvbmRzKCksdGhpcy5taW51dGU9ci5nZXRVVENNaW51dGVzKCksdGhpcy5ob3VyPXIuZ2V0VVRDSG91cnMoKSx0aGlzLmRheT1yLmdldFVUQ0RhdGUoKSx0aGlzLm1vbnRoPXIuZ2V0VVRDTW9udGgoKSx0aGlzLnllYXI9ci5nZXRVVENGdWxsWWVhcigpLHRoaXMuYXBwbHkoKX1lbHNlIHJldHVybiB0aGlzLmZyb21EYXRlKE1uLmZyb21UWklTTyh0LHRoaXMudHopKX1maW5kTmV4dCh0LHIsYSxpKXtsZXQgbj10aGlzW3JdLHM7YS5sYXN0RGF5T2ZNb250aCYmKHRoaXMubW9udGghPT0xP3M9Q1BlW3RoaXMubW9udGhdOnM9bmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLHRoaXMubW9udGgrMSwwLDAsMCwwLDApKS5nZXRVVENEYXRlKCkpO2xldCBvPSFhLnN0YXJET1cmJnI9PSJkYXkiP25ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLDEsMCwwLDAsMCkpLmdldFVUQ0RheSgpOnZvaWQgMDtmb3IobGV0IGM9dGhpc1tyXStpO2M8YVtyXS5sZW5ndGg7YysrKXtsZXQgbD1hW3JdW2NdO2lmKHI9PT0iZGF5IiYmYS5sYXN0RGF5T2ZNb250aCYmYy1pPT1zJiYobD0xKSxyPT09ImRheSImJiFhLnN0YXJET1cpe2xldCB1PWEuZGF5T2ZXZWVrWyhvKyhjLWktMSkpJTddO2lmKHUmJnUmVzcpdT10aGlzLmlzTnRoV2Vla2RheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgsYy1pLHUpPzE6MDtlbHNlIGlmKHUpdGhyb3cgbmV3IEVycm9yKGBDcm9uRGF0ZTogSW52YWxpZCB2YWx1ZSBmb3IgZGF5T2ZXZWVrIGVuY291bnRlcmVkLiAke3V9YCk7dC5sZWdhY3lNb2RlJiYhYS5zdGFyRE9NP2w9bHx8dTpsPWwmJnV9aWYobClyZXR1cm4gdGhpc1tyXT1jLWksbiE9PXRoaXNbcl0/MjoxfXJldHVybiAzfXJlY3Vyc2UodCxyLGEpe2xldCBpPXRoaXMuZmluZE5leHQocixKbFthXVswXSx0LEpsW2FdWzJdKTtpZihpPjEpe2xldCBuPWErMTtmb3IoO248SmwubGVuZ3RoOyl0aGlzW0psW25dWzBdXT0tSmxbbl1bMl0sbisrO2lmKGk9PT0zKXJldHVybiB0aGlzW0psW2FdWzFdXSsrLHRoaXNbSmxbYV1bMF1dPS1KbFthXVsyXSx0aGlzLmFwcGx5KCksdGhpcy5yZWN1cnNlKHQsciwwKTtpZih0aGlzLmFwcGx5KCkpcmV0dXJuIHRoaXMucmVjdXJzZSh0LHIsYS0xKX1yZXR1cm4gYSs9MSxhPj1KbC5sZW5ndGg/dGhpczp0aGlzLnllYXI+PTNlMz9udWxsOnRoaXMucmVjdXJzZSh0LHIsYSl9aW5jcmVtZW50KHQscixhKXtyZXR1cm4gdGhpcy5zZWNvbmQrPXIuaW50ZXJ2YWwhPT12b2lkIDAmJnIuaW50ZXJ2YWw+MSYmYT9yLmludGVydmFsOjEsdGhpcy5tcz0wLHRoaXMuYXBwbHkoKSx0aGlzLnJlY3Vyc2UodCxyLDApfWdldERhdGUodCl7cmV0dXJuIHR8fHRoaXMudHo9PT12b2lkIDA/bmV3IERhdGUodGhpcy55ZWFyLHRoaXMubW9udGgsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMubXMpOnR5cGVvZiB0aGlzLnR6PT0ibnVtYmVyIj9uZXcgRGF0ZShEYXRlLlVUQyh0aGlzLnllYXIsdGhpcy5tb250aCx0aGlzLmRheSx0aGlzLmhvdXIsdGhpcy5taW51dGUtdGhpcy50eix0aGlzLnNlY29uZCx0aGlzLm1zKSk6TW4uZnJvbVRaKE1uLnRwKHRoaXMueWVhcix0aGlzLm1vbnRoKzEsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMudHopLCExKX1nZXRUaW1lKCl7cmV0dXJuIHRoaXMuZ2V0RGF0ZSghMSkuZ2V0VGltZSgpfX07VFBlPTMwKjFlMyxfcD1bXSxMUGU9Y2xhc3N7bmFtZTtvcHRpb25zO19zdGF0ZXM7Zm47Y29uc3RydWN0b3IoZSx0LHIpe2xldCBhLGk7aWYoRzcodCkpaT10O2Vsc2UgaWYodHlwZW9mIHQ9PSJvYmplY3QiKWE9dDtlbHNlIGlmKHQhPT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJDcm9uOiBJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCBmb3Igb3B0aW9uc0luLiBTaG91bGQgYmUgb25lIG9mIGZ1bmN0aW9uLCBvciBvYmplY3QgKG9wdGlvbnMpLiIpO2lmKEc3KHIpKWk9cjtlbHNlIGlmKHR5cGVvZiByPT0ib2JqZWN0IilhPXI7ZWxzZSBpZihyIT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiQ3JvbjogSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgZm9yIGZ1bmNJbi4gU2hvdWxkIGJlIG9uZSBvZiBmdW5jdGlvbiwgb3Igb2JqZWN0IChvcHRpb25zKS4iKTtpZih0aGlzLm5hbWU9YT8ubmFtZSx0aGlzLm9wdGlvbnM9SkFyKGEpLHRoaXMuX3N0YXRlcz17a2lsbDohMSxibG9ja2luZzohMSxwcmV2aW91c1J1bjp2b2lkIDAsY3VycmVudFJ1bjp2b2lkIDAsb25jZTp2b2lkIDAsY3VycmVudFRpbWVvdXQ6dm9pZCAwLG1heFJ1bnM6YT9hLm1heFJ1bnM6dm9pZCAwLHBhdXNlZDphP2EucGF1c2VkOiExLHBhdHRlcm46bmV3IGlDKCIqICogKiAqICoiKX0sZSYmKGUgaW5zdGFuY2VvZiBEYXRlfHx0eXBlb2YgZT09InN0cmluZyImJmUuaW5kZXhPZigiOiIpPjApP3RoaXMuX3N0YXRlcy5vbmNlPW5ldyB6MShlLHRoaXMub3B0aW9ucy50aW1lem9uZXx8dGhpcy5vcHRpb25zLnV0Y09mZnNldCk6dGhpcy5fc3RhdGVzLnBhdHRlcm49bmV3IGlDKGUsdGhpcy5vcHRpb25zLnRpbWV6b25lKSx0aGlzLm5hbWUpe2lmKF9wLmZpbmQobj0+bi5uYW1lPT09dGhpcy5uYW1lKSl0aHJvdyBuZXcgRXJyb3IoIkNyb246IFRyaWVkIHRvIGluaXRpYWxpemUgbmV3IG5hbWVkIGpvYiAnIit0aGlzLm5hbWUrIicsIGJ1dCBuYW1lIGFscmVhZHkgdGFrZW4uIik7X3AucHVzaCh0aGlzKX1yZXR1cm4gaSE9PXZvaWQgMCYmS0FyKGkpJiYodGhpcy5mbj1pLHRoaXMuc2NoZWR1bGUoKSksdGhpc31uZXh0UnVuKGUpe2xldCB0PXRoaXMuX25leHQoZSk7cmV0dXJuIHQ/dC5nZXREYXRlKCExKTpudWxsfW5leHRSdW5zKGUsdCl7dGhpcy5fc3RhdGVzLm1heFJ1bnMhPT12b2lkIDAmJmU+dGhpcy5fc3RhdGVzLm1heFJ1bnMmJihlPXRoaXMuX3N0YXRlcy5tYXhSdW5zKTtsZXQgcj1bXSxhPXR8fHRoaXMuX3N0YXRlcy5jdXJyZW50UnVufHx2b2lkIDA7Zm9yKDtlLS0mJihhPXRoaXMubmV4dFJ1bihhKSk7KXIucHVzaChhKTtyZXR1cm4gcn1nZXRQYXR0ZXJuKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5wYXR0ZXJuP3RoaXMuX3N0YXRlcy5wYXR0ZXJuLnBhdHRlcm46dm9pZCAwfWlzUnVubmluZygpe2xldCBlPXRoaXMubmV4dFJ1bih0aGlzLl9zdGF0ZXMuY3VycmVudFJ1biksdD0hdGhpcy5fc3RhdGVzLnBhdXNlZCxyPXRoaXMuZm4hPT12b2lkIDAsYT0hdGhpcy5fc3RhdGVzLmtpbGw7cmV0dXJuIHQmJnImJmEmJmUhPT1udWxsfWlzU3RvcHBlZCgpe3JldHVybiB0aGlzLl9zdGF0ZXMua2lsbH1pc0J1c3koKXtyZXR1cm4gdGhpcy5fc3RhdGVzLmJsb2NraW5nfWN1cnJlbnRSdW4oKXtyZXR1cm4gdGhpcy5fc3RhdGVzLmN1cnJlbnRSdW4/dGhpcy5fc3RhdGVzLmN1cnJlbnRSdW4uZ2V0RGF0ZSgpOm51bGx9cHJldmlvdXNSdW4oKXtyZXR1cm4gdGhpcy5fc3RhdGVzLnByZXZpb3VzUnVuP3RoaXMuX3N0YXRlcy5wcmV2aW91c1J1bi5nZXREYXRlKCk6bnVsbH1tc1RvTmV4dChlKXtsZXQgdD10aGlzLl9uZXh0KGUpO3JldHVybiB0P2UgaW5zdGFuY2VvZiB6MXx8ZSBpbnN0YW5jZW9mIERhdGU/dC5nZXRUaW1lKCktZS5nZXRUaW1lKCk6dC5nZXRUaW1lKCktbmV3IHoxKGUpLmdldFRpbWUoKTpudWxsfXN0b3AoKXt0aGlzLl9zdGF0ZXMua2lsbD0hMCx0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQpO2xldCBlPV9wLmluZGV4T2YodGhpcyk7ZT49MCYmX3Auc3BsaWNlKGUsMSl9cGF1c2UoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLnBhdXNlZD0hMCwhdGhpcy5fc3RhdGVzLmtpbGx9cmVzdW1lKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5wYXVzZWQ9ITEsIXRoaXMuX3N0YXRlcy5raWxsfXNjaGVkdWxlKGUpe2lmKGUmJnRoaXMuZm4pdGhyb3cgbmV3IEVycm9yKCJDcm9uOiBJdCBpcyBub3QgYWxsb3dlZCB0byBzY2hlZHVsZSB0d28gZnVuY3Rpb25zIHVzaW5nIHRoZSBzYW1lIENyb25lciBpbnN0YW5jZS4iKTtlJiYodGhpcy5mbj1lKTtsZXQgdD10aGlzLm1zVG9OZXh0KCkscj10aGlzLm5leHRSdW4odGhpcy5fc3RhdGVzLmN1cnJlbnRSdW4pO3JldHVybiB0PT1udWxsfHxpc05hTih0KXx8cj09PW51bGw/dGhpczoodD5UUGUmJih0PVRQZSksdGhpcy5fc3RhdGVzLmN1cnJlbnRUaW1lb3V0PXNldFRpbWVvdXQoKCk9PnRoaXMuX2NoZWNrVHJpZ2dlcihyKSx0KSx0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQmJnRoaXMub3B0aW9ucy51bnJlZiYmZUVyKHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCksdGhpcyl9YXN5bmMgX3RyaWdnZXIoZSl7aWYodGhpcy5fc3RhdGVzLmJsb2NraW5nPSEwLHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuPW5ldyB6MSh2b2lkIDAsdGhpcy5vcHRpb25zLnRpbWV6b25lfHx0aGlzLm9wdGlvbnMudXRjT2Zmc2V0KSx0aGlzLm9wdGlvbnMuY2F0Y2gpdHJ5e3RoaXMuZm4hPT12b2lkIDAmJmF3YWl0IHRoaXMuZm4odGhpcyx0aGlzLm9wdGlvbnMuY29udGV4dCl9Y2F0Y2godCl7RzcodGhpcy5vcHRpb25zLmNhdGNoKSYmdGhpcy5vcHRpb25zLmNhdGNoKHQsdGhpcyl9ZWxzZSB0aGlzLmZuIT09dm9pZCAwJiZhd2FpdCB0aGlzLmZuKHRoaXMsdGhpcy5vcHRpb25zLmNvbnRleHQpO3RoaXMuX3N0YXRlcy5wcmV2aW91c1J1bj1uZXcgejEoZSx0aGlzLm9wdGlvbnMudGltZXpvbmV8fHRoaXMub3B0aW9ucy51dGNPZmZzZXQpLHRoaXMuX3N0YXRlcy5ibG9ja2luZz0hMX1hc3luYyB0cmlnZ2VyKCl7YXdhaXQgdGhpcy5fdHJpZ2dlcigpfXJ1bnNMZWZ0KCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5tYXhSdW5zfV9jaGVja1RyaWdnZXIoZSl7bGV0IHQ9bmV3IERhdGUscj0hdGhpcy5fc3RhdGVzLnBhdXNlZCYmdC5nZXRUaW1lKCk+PWUuZ2V0VGltZSgpLGE9dGhpcy5fc3RhdGVzLmJsb2NraW5nJiZ0aGlzLm9wdGlvbnMucHJvdGVjdDtyJiYhYT8odGhpcy5fc3RhdGVzLm1heFJ1bnMhPT12b2lkIDAmJnRoaXMuX3N0YXRlcy5tYXhSdW5zLS0sdGhpcy5fdHJpZ2dlcigpKTpyJiZhJiZHNyh0aGlzLm9wdGlvbnMucHJvdGVjdCkmJnNldFRpbWVvdXQoKCk9PnRoaXMub3B0aW9ucy5wcm90ZWN0KHRoaXMpLDApLHRoaXMuc2NoZWR1bGUoKX1fbmV4dChlKXtsZXQgdD0hIShlfHx0aGlzLl9zdGF0ZXMuY3VycmVudFJ1bikscj0hMTshZSYmdGhpcy5vcHRpb25zLnN0YXJ0QXQmJnRoaXMub3B0aW9ucy5pbnRlcnZhbCYmKFtlLHRdPXRoaXMuX2NhbGN1bGF0ZVByZXZpb3VzUnVuKGUsdCkscj0hZSksZT1uZXcgejEoZSx0aGlzLm9wdGlvbnMudGltZXpvbmV8fHRoaXMub3B0aW9ucy51dGNPZmZzZXQpLHRoaXMub3B0aW9ucy5zdGFydEF0JiZlJiZlLmdldFRpbWUoKTx0aGlzLm9wdGlvbnMuc3RhcnRBdC5nZXRUaW1lKCkmJihlPXRoaXMub3B0aW9ucy5zdGFydEF0KTtsZXQgYT10aGlzLl9zdGF0ZXMub25jZXx8bmV3IHoxKGUsdGhpcy5vcHRpb25zLnRpbWV6b25lfHx0aGlzLm9wdGlvbnMudXRjT2Zmc2V0KTtyZXR1cm4hciYmYSE9PXRoaXMuX3N0YXRlcy5vbmNlJiYoYT1hLmluY3JlbWVudCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMsdCkpLHRoaXMuX3N0YXRlcy5vbmNlJiZ0aGlzLl9zdGF0ZXMub25jZS5nZXRUaW1lKCk8PWUuZ2V0VGltZSgpfHxhPT09bnVsbHx8dGhpcy5fc3RhdGVzLm1heFJ1bnMhPT12b2lkIDAmJnRoaXMuX3N0YXRlcy5tYXhSdW5zPD0wfHx0aGlzLl9zdGF0ZXMua2lsbHx8dGhpcy5vcHRpb25zLnN0b3BBdCYmYS5nZXRUaW1lKCk+PXRoaXMub3B0aW9ucy5zdG9wQXQuZ2V0VGltZSgpP251bGw6YX1fY2FsY3VsYXRlUHJldmlvdXNSdW4oZSx0KXtsZXQgcj1uZXcgejEodm9pZCAwLHRoaXMub3B0aW9ucy50aW1lem9uZXx8dGhpcy5vcHRpb25zLnV0Y09mZnNldCksYT1lO2lmKHRoaXMub3B0aW9ucy5zdGFydEF0LmdldFRpbWUoKTw9ci5nZXRUaW1lKCkpe2E9dGhpcy5vcHRpb25zLnN0YXJ0QXQ7bGV0IGk9YS5nZXRUaW1lKCkrdGhpcy5vcHRpb25zLmludGVydmFsKjFlMztmb3IoO2k8PXIuZ2V0VGltZSgpOylhPW5ldyB6MShhLHRoaXMub3B0aW9ucy50aW1lem9uZXx8dGhpcy5vcHRpb25zLnV0Y09mZnNldCkuaW5jcmVtZW50KHRoaXMuX3N0YXRlcy5wYXR0ZXJuLHRoaXMub3B0aW9ucywhMCksaT1hLmdldFRpbWUoKSt0aGlzLm9wdGlvbnMuaW50ZXJ2YWwqMWUzO3Q9ITB9cmV0dXJuIGE9PT1udWxsJiYoYT12b2lkIDApLFthLHRdfX19KTt2YXIgc0MsWjcsdEVyLGg2aSxQMixvQyxrbixqMSxMcCxwSixLMCwkcCxsQyxjQyxkQyx1QyxqZCxEcCxuQyxEUGUsZkosaEosQVBlLG1KLFJ0PWYoKCk9PntzQz03LFo3PTM2NS4yNDI1LHRFcj1NYXRoLnBvdygxMCw4KSoyNCo2MCo2MCoxZTMsaDZpPS10RXIsUDI9NjA0OGU1LG9DPTg2NGU1LGtuPTZlNCxqMT0zNmU1LExwPTFlMyxwSj01MjU2MDAsSzA9NDMyMDAsJHA9MTQ0MCxsQz02MCxjQz0zLGRDPTEyLHVDPTQsamQ9MzYwMCxEcD02MCxuQz1qZCoyNCxEUGU9bkMqNyxmSj1uQyozNjUuMjQyNSxoSj1mSi8xMixBUGU9aEoqMyxtSj1TeW1ib2wuZm9yKCJjb25zdHJ1Y3REYXRlRnJvbSIpfSk7ZnVuY3Rpb24gTmUoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZSh0KTplJiZ0eXBlb2YgZT09Im9iamVjdCImJm1KIGluIGU/ZVttSl0odCk6ZSBpbnN0YW5jZW9mIERhdGU/bmV3IGUuY29uc3RydWN0b3IodCk6bmV3IERhdGUodCl9dmFyIGI2aSxndD1mKCgpPT57UnQoKTtiNmk9TmV9KTtmdW5jdGlvbiBmZShlLHQpe3JldHVybiBOZSh0fHxlLGUpfXZhciB5NmksT2U9ZigoKT0+e2d0KCk7eTZpPWZlfSk7ZnVuY3Rpb24gZ2koZSx0LHIpe2xldCBhPWZlKGUscj8uaW4pO3JldHVybiBpc05hTih0KT9OZShyPy5pbnx8ZSxOYU4pOih0JiZhLnNldERhdGUoYS5nZXREYXRlKCkrdCksYSl9dmFyIFM2aSxOMj1mKCgpPT57Z3QoKTtPZSgpO1M2aT1naX0pO2Z1bmN0aW9uIEYyKGUsdCxyKXtsZXQgYT1mZShlLHI/LmluKTtpZihpc05hTih0KSlyZXR1cm4gTmUocj8uaW58fGUsTmFOKTtpZighdClyZXR1cm4gYTtsZXQgaT1hLmdldERhdGUoKSxuPU5lKHI/LmlufHxlLGEuZ2V0VGltZSgpKTtuLnNldE1vbnRoKGEuZ2V0TW9udGgoKSt0KzEsMCk7bGV0IHM9bi5nZXREYXRlKCk7cmV0dXJuIGk+PXM/bjooYS5zZXRGdWxsWWVhcihuLmdldEZ1bGxZZWFyKCksbi5nZXRNb250aCgpLGkpLGEpfXZhciBfNmksQXA9ZigoKT0+e2d0KCk7T2UoKTtfNmk9RjJ9KTtmdW5jdGlvbiBlNChlLHQscil7bGV0e3llYXJzOmE9MCxtb250aHM6aT0wLHdlZWtzOm49MCxkYXlzOnM9MCxob3VyczpvPTAsbWludXRlczpjPTAsc2Vjb25kczpsPTB9PXQsdT1mZShlLHI/LmluKSxkPWl8fGE/RjIodSxpK2EqMTIpOnUsaD1zfHxuP2dpKGQscytuKjcpOmQsbT1jK28qNjAsYj0obCttKjYwKSoxZTM7cmV0dXJuIE5lKHI/LmlufHxlLCtoK2IpfXZhciBJNmksZ0o9ZigoKT0+e04yKCk7QXAoKTtndCgpO09lKCk7STZpPWU0fSk7ZnVuY3Rpb24gcEMoZSx0KXtyZXR1cm4gZmUoZSx0Py5pbikuZ2V0RGF5KCk9PT02fXZhciBGNmksYko9ZigoKT0+e09lKCk7RjZpPXBDfSk7ZnVuY3Rpb24gZkMoZSx0KXtyZXR1cm4gZmUoZSx0Py5pbikuZ2V0RGF5KCk9PT0wfXZhciBCNmksdko9ZigoKT0+e09lKCk7QjZpPWZDfSk7ZnVuY3Rpb24gTzIoZSx0KXtsZXQgcj1mZShlLHQ/LmluKS5nZXREYXkoKTtyZXR1cm4gcj09PTB8fHI9PT02fXZhciBqNmksWDc9ZigoKT0+e09lKCk7ajZpPU8yfSk7ZnVuY3Rpb24gaEMoZSx0LHIpe2xldCBhPWZlKGUscj8uaW4pLGk9TzIoYSxyKTtpZihpc05hTih0KSlyZXR1cm4gTmUocj8uaW4sTmFOKTtsZXQgbj1hLmdldEhvdXJzKCkscz10PDA/LTE6MSxvPU1hdGgudHJ1bmModC81KTthLnNldERhdGUoYS5nZXREYXRlKCkrbyo3KTtsZXQgYz1NYXRoLmFicyh0JTUpO2Zvcig7Yz4wOylhLnNldERhdGUoYS5nZXREYXRlKCkrcyksTzIoYSxyKXx8KGMtPTEpO3JldHVybiBpJiZPMihhLHIpJiZ0IT09MCYmKHBDKGEscikmJmEuc2V0RGF0ZShhLmdldERhdGUoKSsoczwwPzI6LTEpKSxmQyhhLHIpJiZhLnNldERhdGUoYS5nZXREYXRlKCkrKHM8MD8xOi0yKSkpLGEuc2V0SG91cnMobiksYX12YXIgWDZpLHhKPWYoKCk9PntndCgpO2JKKCk7dkooKTtYNygpO09lKCk7WDZpPWhDfSk7ZnVuY3Rpb24gdDQoZSx0LHIpe3JldHVybiBOZShyPy5pbnx8ZSwrZmUoZSkrdCl9dmFyIGV1aSxRNz1mKCgpPT57Z3QoKTtPZSgpO2V1aT10NH0pO2Z1bmN0aW9uIG1DKGUsdCxyKXtyZXR1cm4gdDQoZSx0KmoxLHIpfXZhciBpdWkseUo9ZigoKT0+e1E3KCk7UnQoKTtpdWk9bUN9KTtmdW5jdGlvbiBBcigpe3JldHVybiBFUGV9ZnVuY3Rpb24gSVBlKGUpe0VQZT1lfXZhciBFUGUsU249ZigoKT0+e0VQZT17fX0pO2Z1bmN0aW9uIGFhKGUsdCl7bGV0IHI9QXIoKSxhPXQ/LndlZWtTdGFydHNPbj8/dD8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P3Iud2Vla1N0YXJ0c09uPz9yLmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGk9ZmUoZSx0Py5pbiksbj1pLmdldERheSgpLHM9KG48YT83OjApK24tYTtyZXR1cm4gaS5zZXREYXRlKGkuZ2V0RGF0ZSgpLXMpLGkuc2V0SG91cnMoMCwwLDAsMCksaX12YXIgY3VpLHdvPWYoKCk9PntTbigpO09lKCk7Y3VpPWFhfSk7ZnVuY3Rpb24gYWkoZSx0KXtyZXR1cm4gYWEoZSx7Li4udCx3ZWVrU3RhcnRzT246MX0pfXZhciBwdWksUjI9ZigoKT0+e3dvKCk7cHVpPWFpfSk7ZnVuY3Rpb24gWW4oZSx0KXtsZXQgcj1mZShlLHQ/LmluKSxhPXIuZ2V0RnVsbFllYXIoKSxpPU5lKHIsMCk7aS5zZXRGdWxsWWVhcihhKzEsMCw0KSxpLnNldEhvdXJzKDAsMCwwLDApO2xldCBuPWFpKGkpLHM9TmUociwwKTtzLnNldEZ1bGxZZWFyKGEsMCw0KSxzLnNldEhvdXJzKDAsMCwwLDApO2xldCBvPWFpKHMpO3JldHVybiByLmdldFRpbWUoKT49bi5nZXRUaW1lKCk/YSsxOnIuZ2V0VGltZSgpPj1vLmdldFRpbWUoKT9hOmEtMX12YXIgYnVpLHI0PWYoKCk9PntndCgpO1IyKCk7T2UoKTtidWk9WW59KTtmdW5jdGlvbiBJYShlKXtsZXQgdD1mZShlKSxyPW5ldyBEYXRlKERhdGUuVVRDKHQuZ2V0RnVsbFllYXIoKSx0LmdldE1vbnRoKCksdC5nZXREYXRlKCksdC5nZXRIb3VycygpLHQuZ2V0TWludXRlcygpLHQuZ2V0U2Vjb25kcygpLHQuZ2V0TWlsbGlzZWNvbmRzKCkpKTtyZXR1cm4gci5zZXRVVENGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkpLCtlLStyfXZhciBLbD1mKCgpPT57T2UoKX0pO2Z1bmN0aW9uIHV0KGUsLi4udCl7bGV0IHI9TmUuYmluZChudWxsLGV8fHQuZmluZChhPT50eXBlb2YgYT09Im9iamVjdCIpKTtyZXR1cm4gdC5tYXAocil9dmFyIFZyPWYoKCk9PntndCgpfSk7ZnVuY3Rpb24gQjIoZSx0KXtsZXQgcj1mZShlLHQ/LmluKTtyZXR1cm4gci5zZXRIb3VycygwLDAsMCwwKSxyfXZhciBTdWksSjc9ZigoKT0+e09lKCk7U3VpPUIyfSk7ZnVuY3Rpb24gSWkoZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCksbj1CMihhKSxzPUIyKGkpLG89K24tSWEobiksYz0rcy1JYShzKTtyZXR1cm4gTWF0aC5yb3VuZCgoby1jKS9vQyl9dmFyICR1aSxlYz1mKCgpPT57S2woKTtWcigpO1J0KCk7SjcoKTskdWk9SWl9KTtmdW5jdGlvbiBWMShlLHQpe2xldCByPVluKGUsdCksYT1OZSh0Py5pbnx8ZSwwKTtyZXR1cm4gYS5zZXRGdWxsWWVhcihyLDAsNCksYS5zZXRIb3VycygwLDAsMCwwKSxhaShhKX12YXIgUHVpLEVwPWYoKCk9PntndCgpO3I0KCk7UjIoKTtQdWk9VjF9KTtmdW5jdGlvbiBnQyhlLHQscil7bGV0IGE9ZmUoZSxyPy5pbiksaT1JaShhLFYxKGEscikpLG49TmUocj8uaW58fGUsMCk7cmV0dXJuIG4uc2V0RnVsbFllYXIodCwwLDQpLG4uc2V0SG91cnMoMCwwLDAsMCksYT1WMShuKSxhLnNldERhdGUoYS5nZXREYXRlKCkraSksYX12YXIgSHVpLHdKPWYoKCk9PntndCgpO2VjKCk7RXAoKTtPZSgpO0h1aT1nQ30pO2Z1bmN0aW9uIGJDKGUsdCxyKXtyZXR1cm4gZ0MoZSxZbihlLHIpK3Qscil9dmFyIFV1aSxNSj1mKCgpPT57cjQoKTt3SigpO1V1aT1iQ30pO2Z1bmN0aW9uIElwKGUsdCxyKXtsZXQgYT1mZShlLHI/LmluKTtyZXR1cm4gYS5zZXRUaW1lKGEuZ2V0VGltZSgpK3Qqa24pLGF9dmFyIFp1aSx2Qz1mKCgpPT57UnQoKTtPZSgpO1p1aT1JcH0pO2Z1bmN0aW9uIFBwKGUsdCxyKXtyZXR1cm4gRjIoZSx0KjMscil9dmFyIEp1aSx4Qz1mKCgpPT57QXAoKTtKdWk9UHB9KTtmdW5jdGlvbiB5QyhlLHQscil7cmV0dXJuIHQ0KGUsdCoxZTMscil9dmFyIHQ1aSxrSj1mKCgpPT57UTcoKTt0NWk9eUN9KTtmdW5jdGlvbiBhNChlLHQscil7cmV0dXJuIGdpKGUsdCo3LHIpfXZhciBpNWksSzc9ZigoKT0+e04yKCk7aTVpPWE0fSk7ZnVuY3Rpb24gd0MoZSx0LHIpe3JldHVybiBGMihlLHQqMTIscil9dmFyIG81aSxTSj1mKCgpPT57QXAoKTtvNWk9d0N9KTtmdW5jdGlvbiBQUGUoZSx0LHIpe2xldFthLGldPVsrZmUoZS5zdGFydCxyPy5pbiksK2ZlKGUuZW5kLHI/LmluKV0uc29ydCgobyxjKT0+by1jKSxbbixzXT1bK2ZlKHQuc3RhcnQscj8uaW4pLCtmZSh0LmVuZCxyPy5pbildLnNvcnQoKG8sYyk9Pm8tYyk7cmV0dXJuIHI/LmluY2x1c2l2ZT9hPD1zJiZuPD1pOmE8cyYmbjxpfXZhciBkNWksTlBlPWYoKCk9PntPZSgpO2Q1aT1QUGV9KTtmdW5jdGlvbiBNQyhlLHQpe2xldCByLGE9dD8uaW47cmV0dXJuIGUuZm9yRWFjaChpPT57IWEmJnR5cGVvZiBpPT0ib2JqZWN0IiYmKGE9TmUuYmluZChudWxsLGkpKTtsZXQgbj1mZShpLGEpOyghcnx8cjxufHxpc05hTigrbikpJiYocj1uKX0pLE5lKGEscnx8TmFOKX12YXIgaDVpLHpKPWYoKCk9PntndCgpO09lKCk7aDVpPU1DfSk7ZnVuY3Rpb24ga0MoZSx0KXtsZXQgcixhPXQ/LmluO3JldHVybiBlLmZvckVhY2goaT0+eyFhJiZ0eXBlb2YgaT09Im9iamVjdCImJihhPU5lLmJpbmQobnVsbCxpKSk7bGV0IG49ZmUoaSxhKTsoIXJ8fHI+bnx8aXNOYU4oK24pKSYmKHI9bil9KSxOZShhLHJ8fE5hTil9dmFyIHY1aSxDSj1mKCgpPT57Z3QoKTtPZSgpO3Y1aT1rQ30pO2Z1bmN0aW9uIEZQZShlLHQscil7bGV0W2EsaSxuXT11dChyPy5pbixlLHQuc3RhcnQsdC5lbmQpO3JldHVybiBrQyhbTUMoW2EsaV0sciksbl0scil9dmFyIGs1aSxPUGU9ZigoKT0+e1ZyKCk7ekooKTtDSigpO2s1aT1GUGV9KTtmdW5jdGlvbiBTQyhlLHQpe2xldCByPStmZShlKTtpZihpc05hTihyKSlyZXR1cm4gTmFOO2xldCBhLGk7cmV0dXJuIHQuZm9yRWFjaCgobixzKT0+e2xldCBvPWZlKG4pO2lmKGlzTmFOKCtvKSl7YT1OYU4saT1OYU47cmV0dXJufWxldCBjPU1hdGguYWJzKHItK28pOyhhPT1udWxsfHxjPGkpJiYoYT1zLGk9Yyl9KSxhfXZhciBDNWksVEo9ZigoKT0+e09lKCk7QzVpPVNDfSk7ZnVuY3Rpb24gUlBlKGUsdCxyKXtsZXRbYSwuLi5pXT11dChyPy5pbixlLC4uLnQpLG49U0MoYSxpKTtpZih0eXBlb2Ygbj09Im51bWJlciImJmlzTmFOKG4pKXJldHVybiBOZShhLE5hTik7aWYobiE9PXZvaWQgMClyZXR1cm4gaVtuXX12YXIgRDVpLEJQZT1mKCgpPT57VnIoKTtUSigpO2d0KCk7RDVpPVJQZX0pO2Z1bmN0aW9uIHpuKGUsdCl7bGV0IHI9K2ZlKGUpLStmZSh0KTtyZXR1cm4gcjwwPy0xOnI+MD8xOnJ9dmFyIEk1aSxWZD1mKCgpPT57T2UoKTtJNWk9em59KTtmdW5jdGlvbiBIUGUoZSx0KXtsZXQgcj0rZmUoZSktK2ZlKHQpO3JldHVybiByPjA/LTE6cjwwPzE6cn12YXIgRjVpLHFQZT1mKCgpPT57T2UoKTtGNWk9SFBlfSk7ZnVuY3Rpb24gWHQoZSl7cmV0dXJuIE5lKGUsRGF0ZS5ub3coKSl9dmFyIEI1aSxiaT1mKCgpPT57Z3QoKTtCNWk9WHR9KTtmdW5jdGlvbiBqUGUoZSl7bGV0IHQ9TWF0aC50cnVuYyhlLzcpO3JldHVybiB0PT09MD8wOnR9dmFyIGo1aSxWUGU9ZigoKT0+e1J0KCk7ajVpPWpQZX0pO2Z1bmN0aW9uIEgyKGUsdCxyKXtsZXRbYSxpXT11dChyPy5pbixlLHQpO3JldHVybitCMihhKT09K0IyKGkpfXZhciBHNWksTnA9ZigoKT0+e1ZyKCk7SjcoKTtHNWk9SDJ9KTtmdW5jdGlvbiB6QyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIERhdGV8fHR5cGVvZiBlPT0ib2JqZWN0IiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPT09IltvYmplY3QgRGF0ZV0ifXZhciBaNWksX0o9ZigoKT0+e1o1aT16Q30pO2Z1bmN0aW9uIFppKGUpe3JldHVybiEoIXpDKGUpJiZ0eXBlb2YgZSE9Im51bWJlciJ8fGlzTmFOKCtmZShlKSkpfXZhciBLNWksdGM9ZigoKT0+e19KKCk7T2UoKTtLNWk9Wml9KTtmdW5jdGlvbiBVUGUoZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCk7aWYoIVppKGEpfHwhWmkoaSkpcmV0dXJuIE5hTjtsZXQgbj1JaShhLGkpLHM9bjwwPy0xOjEsbz1NYXRoLnRydW5jKG4vNyksYz1vKjUsbD1naShpLG8qNyk7Zm9yKDshSDIoYSxsKTspYys9TzIobCxyKT8wOnMsbD1naShsLHMpO3JldHVybiBjPT09MD8wOmN9dmFyIG9waSxXUGU9ZigoKT0+e1ZyKCk7TjIoKTtlYygpO05wKCk7dGMoKTtYNygpO29waT1VUGV9KTtmdW5jdGlvbiBDQyhlLHQscil7bGV0W2EsaV09dXQocj8uaW4sZSx0KTtyZXR1cm4gWW4oYSxyKS1ZbihpLHIpfXZhciB1cGksTEo9ZigoKT0+e1ZyKCk7cjQoKTt1cGk9Q0N9KTtmdW5jdGlvbiBHUGUoZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCksbj1haShhKSxzPWFpKGkpLG89K24tSWEobiksYz0rcy1JYShzKTtyZXR1cm4gTWF0aC5yb3VuZCgoby1jKS9QMil9dmFyIGJwaSxZUGU9ZigoKT0+e0tsKCk7VnIoKTtSdCgpO1IyKCk7YnBpPUdQZX0pO2Z1bmN0aW9uIFVkKGUsdCxyKXtsZXRbYSxpXT11dChyPy5pbixlLHQpLG49YS5nZXRGdWxsWWVhcigpLWkuZ2V0RnVsbFllYXIoKSxzPWEuZ2V0TW9udGgoKS1pLmdldE1vbnRoKCk7cmV0dXJuIG4qMTIrc312YXIgeXBpLFRDPWYoKCk9PntWcigpO3lwaT1VZH0pO2Z1bmN0aW9uIGU5KGUsdCl7bGV0IHI9ZmUoZSx0Py5pbik7cmV0dXJuIE1hdGgudHJ1bmMoci5nZXRNb250aCgpLzMpKzF9dmFyIGtwaSwkSj1mKCgpPT57T2UoKTtrcGk9ZTl9KTtmdW5jdGlvbiBGcChlLHQscil7bGV0W2EsaV09dXQocj8uaW4sZSx0KSxuPWEuZ2V0RnVsbFllYXIoKS1pLmdldEZ1bGxZZWFyKCkscz1lOShhKS1lOShpKTtyZXR1cm4gbio0K3N9dmFyIFRwaSxESj1mKCgpPT57VnIoKTskSigpO1RwaT1GcH0pO2Z1bmN0aW9uIFdkKGUsdCxyKXtsZXRbYSxpXT11dChyPy5pbixlLHQpLG49YWEoYSxyKSxzPWFhKGksciksbz0rbi1JYShuKSxjPStzLUlhKHMpO3JldHVybiBNYXRoLnJvdW5kKChvLWMpL1AyKX12YXIgRXBpLF9DPWYoKCk9PntLbCgpO1ZyKCk7UnQoKTt3bygpO0VwaT1XZH0pO2Z1bmN0aW9uIGk0KGUsdCxyKXtsZXRbYSxpXT11dChyPy5pbixlLHQpO3JldHVybiBhLmdldEZ1bGxZZWFyKCktaS5nZXRGdWxsWWVhcigpfXZhciBOcGksTEM9ZigoKT0+e1ZyKCk7TnBpPWk0fSk7ZnVuY3Rpb24gT3AoZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCksbj1aUGUoYSxpKSxzPU1hdGguYWJzKElpKGEsaSkpO2Euc2V0RGF0ZShhLmdldERhdGUoKS1uKnMpO2xldCBvPSsoWlBlKGEsaSk9PT0tbiksYz1uKihzLW8pO3JldHVybiBjPT09MD8wOmN9ZnVuY3Rpb24gWlBlKGUsdCl7bGV0IHI9ZS5nZXRGdWxsWWVhcigpLXQuZ2V0RnVsbFllYXIoKXx8ZS5nZXRNb250aCgpLXQuZ2V0TW9udGgoKXx8ZS5nZXREYXRlKCktdC5nZXREYXRlKCl8fGUuZ2V0SG91cnMoKS10LmdldEhvdXJzKCl8fGUuZ2V0TWludXRlcygpLXQuZ2V0TWludXRlcygpfHxlLmdldFNlY29uZHMoKS10LmdldFNlY29uZHMoKXx8ZS5nZXRNaWxsaXNlY29uZHMoKS10LmdldE1pbGxpc2Vjb25kcygpO3JldHVybiByPDA/LTE6cj4wPzE6cn12YXIgQnBpLCRDPWYoKCk9PntWcigpO2VjKCk7QnBpPU9wfSk7ZnVuY3Rpb24gQ24oZSl7cmV0dXJuIHQ9PntsZXQgYT0oZT9NYXRoW2VdOk1hdGgudHJ1bmMpKHQpO3JldHVybiBhPT09MD8wOmF9fXZhciByYz1mKCgpPT57fSk7ZnVuY3Rpb24gR2QoZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCksbj0oK2EtK2kpL2oxO3JldHVybiBDbihyPy5yb3VuZGluZ01ldGhvZCkobil9dmFyIFdwaSxEQz1mKCgpPT57cmMoKTtWcigpO1J0KCk7V3BpPUdkfSk7ZnVuY3Rpb24gQUMoZSx0LHIpe3JldHVybiBiQyhlLC10LHIpfXZhciBacGksQUo9ZigoKT0+e01KKCk7WnBpPUFDfSk7ZnVuY3Rpb24gWFBlKGUsdCxyKXtsZXRbYSxpXT11dChyPy5pbixlLHQpLG49em4oYSxpKSxzPU1hdGguYWJzKENDKGEsaSxyKSksbz1BQyhhLG4qcyxyKSxjPSsoem4obyxpKT09PS1uKSxsPW4qKHMtYyk7cmV0dXJuIGw9PT0wPzA6bH12YXIgdDhpLFFQZT1mKCgpPT57VnIoKTtWZCgpO0xKKCk7QUooKTt0OGk9WFBlfSk7ZnVuY3Rpb24gUnAoZSx0KXtyZXR1cm4rZmUoZSktK2ZlKHQpfXZhciBpOGksRUM9ZigoKT0+e09lKCk7aThpPVJwfSk7ZnVuY3Rpb24gWWQoZSx0LHIpe2xldCBhPVJwKGUsdCkva247cmV0dXJuIENuKHI/LnJvdW5kaW5nTWV0aG9kKShhKX12YXIgYzhpLElDPWYoKCk9PntyYygpO1J0KCk7RUMoKTtjOGk9WWR9KTtmdW5jdGlvbiBCcChlLHQpe2xldCByPWZlKGUsdD8uaW4pO3JldHVybiByLnNldEhvdXJzKDIzLDU5LDU5LDk5OSkscn12YXIgcDhpLFBDPWYoKCk9PntPZSgpO3A4aT1CcH0pO2Z1bmN0aW9uIEhwKGUsdCl7bGV0IHI9ZmUoZSx0Py5pbiksYT1yLmdldE1vbnRoKCk7cmV0dXJuIHIuc2V0RnVsbFllYXIoci5nZXRGdWxsWWVhcigpLGErMSwwKSxyLnNldEhvdXJzKDIzLDU5LDU5LDk5OSkscn12YXIgbThpLE5DPWYoKCk9PntPZSgpO204aT1IcH0pO2Z1bmN0aW9uIEZDKGUsdCl7bGV0IHI9ZmUoZSx0Py5pbik7cmV0dXJuK0JwKHIsdCk9PStIcChyLHQpfXZhciB5OGksRUo9ZigoKT0+e1BDKCk7TkMoKTtPZSgpO3k4aT1GQ30pO2Z1bmN0aW9uIG40KGUsdCxyKXtsZXRbYSxpLG5dPXV0KHI/LmluLGUsZSx0KSxzPXpuKGksbiksbz1NYXRoLmFicyhVZChpLG4pKTtpZihvPDEpcmV0dXJuIDA7aS5nZXRNb250aCgpPT09MSYmaS5nZXREYXRlKCk+MjcmJmkuc2V0RGF0ZSgzMCksaS5zZXRNb250aChpLmdldE1vbnRoKCktcypvKTtsZXQgYz16bihpLG4pPT09LXM7RkMoYSkmJm89PT0xJiZ6bihhLG4pPT09MSYmKGM9ITEpO2xldCBsPXMqKG8tK2MpO3JldHVybiBsPT09MD8wOmx9dmFyIEM4aSx0OT1mKCgpPT57VnIoKTtWZCgpO1RDKCk7RUooKTtDOGk9bjR9KTtmdW5jdGlvbiBKUGUoZSx0LHIpe2xldCBhPW40KGUsdCxyKS8zO3JldHVybiBDbihyPy5yb3VuZGluZ01ldGhvZCkoYSl9dmFyICQ4aSxLUGU9ZigoKT0+e3JjKCk7dDkoKTskOGk9SlBlfSk7ZnVuY3Rpb24gcTIoZSx0LHIpe2xldCBhPVJwKGUsdCkvMWUzO3JldHVybiBDbihyPy5yb3VuZGluZ01ldGhvZCkoYSl9dmFyIEk4aSxyOT1mKCgpPT57cmMoKTtFQygpO0k4aT1xMn0pO2Z1bmN0aW9uIGVOZShlLHQscil7bGV0IGE9T3AoZSx0LHIpLzc7cmV0dXJuIENuKHI/LnJvdW5kaW5nTWV0aG9kKShhKX12YXIgTzhpLHROZT1mKCgpPT57cmMoKTskQygpO084aT1lTmV9KTtmdW5jdGlvbiBPQyhlLHQscil7bGV0W2EsaV09dXQocj8uaW4sZSx0KSxuPXpuKGEsaSkscz1NYXRoLmFicyhpNChhLGkpKTthLnNldEZ1bGxZZWFyKDE1ODQpLGkuc2V0RnVsbFllYXIoMTU4NCk7bGV0IG89em4oYSxpKT09PS1uLGM9bioocy0rbyk7cmV0dXJuIGM9PT0wPzA6Y312YXIgajhpLElKPWYoKCk9PntWcigpO1ZkKCk7TEMoKTtqOGk9T0N9KTtmdW5jdGlvbiBQaShlLHQpe2xldFtyLGFdPXV0KGUsdC5zdGFydCx0LmVuZCk7cmV0dXJue3N0YXJ0OnIsZW5kOmF9fXZhciBqMj1mKCgpPT57VnIoKX0pO2Z1bmN0aW9uIFJDKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PVBpKHQ/LmluLGUpLGk9K3I+K2Esbj1pPytyOithLHM9aT9hOnI7cy5zZXRIb3VycygwLDAsMCwwKTtsZXQgbz10Py5zdGVwPz8xO2lmKCFvKXJldHVybltdO288MCYmKG89LW8saT0haSk7bGV0IGM9W107Zm9yKDsrczw9bjspYy5wdXNoKE5lKHIscykpLHMuc2V0RGF0ZShzLmdldERhdGUoKStvKSxzLnNldEhvdXJzKDAsMCwwLDApO3JldHVybiBpP2MucmV2ZXJzZSgpOmN9dmFyIFo4aSxQSj1mKCgpPT57ajIoKTtndCgpO1o4aT1SQ30pO2Z1bmN0aW9uIHJOZShlLHQpe2xldHtzdGFydDpyLGVuZDphfT1QaSh0Py5pbixlKSxpPStyPithLG49aT8rcjorYSxzPWk/YTpyO3Muc2V0TWludXRlcygwLDAsMCk7bGV0IG89dD8uc3RlcD8/MTtpZighbylyZXR1cm5bXTtvPDAmJihvPS1vLGk9IWkpO2xldCBjPVtdO2Zvcig7K3M8PW47KWMucHVzaChOZShyLHMpKSxzLnNldEhvdXJzKHMuZ2V0SG91cnMoKStvKTtyZXR1cm4gaT9jLnJldmVyc2UoKTpjfXZhciBLOGksYU5lPWYoKCk9PntqMigpO2d0KCk7SzhpPXJOZX0pO2Z1bmN0aW9uIGlOZShlLHQpe2xldHtzdGFydDpyLGVuZDphfT1QaSh0Py5pbixlKTtyLnNldFNlY29uZHMoMCwwKTtsZXQgaT0rcj4rYSxuPWk/K3I6K2Escz1pP2E6cixvPXQ/LnN0ZXA/PzE7aWYoIW8pcmV0dXJuW107bzwwJiYobz0tbyxpPSFpKTtsZXQgYz1bXTtmb3IoOytzPD1uOyljLnB1c2goTmUocixzKSkscz1JcChzLG8pO3JldHVybiBpP2MucmV2ZXJzZSgpOmN9dmFyIGlmaSxuTmU9ZigoKT0+e2oyKCk7dkMoKTtndCgpO2lmaT1pTmV9KTtmdW5jdGlvbiBzTmUoZSx0KXtsZXR7c3RhcnQ6cixlbmQ6YX09UGkodD8uaW4sZSksaT0rcj4rYSxuPWk/K3I6K2Escz1pP2E6cjtzLnNldEhvdXJzKDAsMCwwLDApLHMuc2V0RGF0ZSgxKTtsZXQgbz10Py5zdGVwPz8xO2lmKCFvKXJldHVybltdO288MCYmKG89LW8saT0haSk7bGV0IGM9W107Zm9yKDsrczw9bjspYy5wdXNoKE5lKHIscykpLHMuc2V0TW9udGgocy5nZXRNb250aCgpK28pO3JldHVybiBpP2MucmV2ZXJzZSgpOmN9dmFyIGxmaSxvTmU9ZigoKT0+e2oyKCk7Z3QoKTtsZmk9c05lfSk7ZnVuY3Rpb24gVjIoZSx0KXtsZXQgcj1mZShlLHQ/LmluKSxhPXIuZ2V0TW9udGgoKSxpPWEtYSUzO3JldHVybiByLnNldE1vbnRoKGksMSksci5zZXRIb3VycygwLDAsMCwwKSxyfXZhciB1ZmksQkM9ZigoKT0+e09lKCk7dWZpPVYyfSk7ZnVuY3Rpb24gbE5lKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PVBpKHQ/LmluLGUpLGk9K3I+K2Esbj1pPytWMihyKTorVjIoYSkscz1pP1YyKGEpOlYyKHIpLG89dD8uc3RlcD8/MTtpZighbylyZXR1cm5bXTtvPDAmJihvPS1vLGk9IWkpO2xldCBjPVtdO2Zvcig7K3M8PW47KWMucHVzaChOZShyLHMpKSxzPVBwKHMsbyk7cmV0dXJuIGk/Yy5yZXZlcnNlKCk6Y312YXIgYmZpLGNOZT1mKCgpPT57ajIoKTt4QygpO2d0KCk7QkMoKTtiZmk9bE5lfSk7ZnVuY3Rpb24gZE5lKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PVBpKHQ/LmluLGUpLGk9K3I+K2Esbj1pP2FhKGEsdCk6YWEocix0KSxzPWk/YWEocix0KTphYShhLHQpO24uc2V0SG91cnMoMTUpLHMuc2V0SG91cnMoMTUpO2xldCBvPStzLmdldFRpbWUoKSxjPW4sbD10Py5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IHU9W107Zm9yKDsrYzw9bzspYy5zZXRIb3VycygwKSx1LnB1c2goTmUocixjKSksYz1hNChjLGwpLGMuc2V0SG91cnMoMTUpO3JldHVybiBpP3UucmV2ZXJzZSgpOnV9dmFyIGtmaSx1TmU9ZigoKT0+e2oyKCk7SzcoKTtndCgpO3dvKCk7a2ZpPWROZX0pO2Z1bmN0aW9uIHFwKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PVBpKHQ/LmluLGUpLGk9UkMoe3N0YXJ0OnIsZW5kOmF9LHQpLG49W10scz0wO2Zvcig7czxpLmxlbmd0aDspe2xldCBvPWlbcysrXTtPMihvKSYmbi5wdXNoKE5lKHIsbykpfXJldHVybiBufXZhciBMZmksSEM9ZigoKT0+e2oyKCk7Z3QoKTtQSigpO1g3KCk7TGZpPXFwfSk7ZnVuY3Rpb24gczQoZSx0KXtsZXQgcj1mZShlLHQ/LmluKTtyZXR1cm4gci5zZXREYXRlKDEpLHIuc2V0SG91cnMoMCwwLDAsMCkscn12YXIgQWZpLGE5PWYoKCk9PntPZSgpO0FmaT1zNH0pO2Z1bmN0aW9uIHBOZShlLHQpe2xldCByPXM0KGUsdCksYT1IcChlLHQpO3JldHVybiBxcCh7c3RhcnQ6cixlbmQ6YX0sdCl9dmFyIEZmaSxmTmU9ZigoKT0+e0hDKCk7TkMoKTthOSgpO0ZmaT1wTmV9KTtmdW5jdGlvbiBxQyhlLHQpe2xldCByPWZlKGUsdD8uaW4pLGE9ci5nZXRGdWxsWWVhcigpO3JldHVybiByLnNldEZ1bGxZZWFyKGErMSwwLDApLHIuc2V0SG91cnMoMjMsNTksNTksOTk5KSxyfXZhciBCZmksTko9ZigoKT0+e09lKCk7QmZpPXFDfSk7ZnVuY3Rpb24ganAoZSx0KXtsZXQgcj1mZShlLHQ/LmluKTtyZXR1cm4gci5zZXRGdWxsWWVhcihyLmdldEZ1bGxZZWFyKCksMCwxKSxyLnNldEhvdXJzKDAsMCwwLDApLHJ9dmFyIGpmaSxqQz1mKCgpPT57T2UoKTtqZmk9anB9KTtmdW5jdGlvbiBoTmUoZSx0KXtsZXQgcj1qcChlLHQpLGE9cUMoZSx0KTtyZXR1cm4gcXAoe3N0YXJ0OnIsZW5kOmF9LHQpfXZhciBZZmksbU5lPWYoKCk9PntIQygpO05KKCk7akMoKTtZZmk9aE5lfSk7ZnVuY3Rpb24gZ05lKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PVBpKHQ/LmluLGUpLGk9K3I+K2Esbj1pPytyOithLHM9aT9hOnI7cy5zZXRIb3VycygwLDAsMCwwKSxzLnNldE1vbnRoKDAsMSk7bGV0IG89dD8uc3RlcD8/MTtpZighbylyZXR1cm5bXTtvPDAmJihvPS1vLGk9IWkpO2xldCBjPVtdO2Zvcig7K3M8PW47KWMucHVzaChOZShyLHMpKSxzLnNldEZ1bGxZZWFyKHMuZ2V0RnVsbFllYXIoKStvKTtyZXR1cm4gaT9jLnJldmVyc2UoKTpjfXZhciBKZmksYk5lPWYoKCk9PntqMigpO2d0KCk7SmZpPWdOZX0pO2Z1bmN0aW9uIHZOZShlLHQpe2xldCByPWZlKGUsdD8uaW4pLGE9ci5nZXRGdWxsWWVhcigpLGk9OStNYXRoLmZsb29yKGEvMTApKjEwO3JldHVybiByLnNldEZ1bGxZZWFyKGksMTEsMzEpLHIuc2V0SG91cnMoMjMsNTksNTksOTk5KSxyfXZhciB0aGkseE5lPWYoKCk9PntPZSgpO3RoaT12TmV9KTtmdW5jdGlvbiB5TmUoZSx0KXtsZXQgcj1mZShlLHQ/LmluKTtyZXR1cm4gci5zZXRNaW51dGVzKDU5LDU5LDk5OSkscn12YXIgaWhpLHdOZT1mKCgpPT57T2UoKTtpaGk9eU5lfSk7ZnVuY3Rpb24gVkMoZSx0KXtsZXQgcj1BcigpLGE9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/ci53ZWVrU3RhcnRzT24/P3IubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1mZShlLHQ/LmluKSxuPWkuZ2V0RGF5KCkscz0objxhPy03OjApKzYtKG4tYSk7cmV0dXJuIGkuc2V0RGF0ZShpLmdldERhdGUoKStzKSxpLnNldEhvdXJzKDIzLDU5LDU5LDk5OSksaX12YXIgbGhpLEZKPWYoKCk9PntTbigpO09lKCk7bGhpPVZDfSk7ZnVuY3Rpb24gTU5lKGUsdCl7cmV0dXJuIFZDKGUsey4uLnQsd2Vla1N0YXJ0c09uOjF9KX12YXIgdWhpLGtOZT1mKCgpPT57RkooKTt1aGk9TU5lfSk7ZnVuY3Rpb24gU05lKGUsdCl7bGV0IHI9WW4oZSx0KSxhPU5lKHQ/LmlufHxlLDApO2Euc2V0RnVsbFllYXIocisxLDAsNCksYS5zZXRIb3VycygwLDAsMCwwKTtsZXQgaT1haShhLHQpO3JldHVybiBpLnNldE1pbGxpc2Vjb25kcyhpLmdldE1pbGxpc2Vjb25kcygpLTEpLGl9dmFyIGdoaSx6TmU9ZigoKT0+e2d0KCk7cjQoKTtSMigpO2doaT1TTmV9KTtmdW5jdGlvbiBDTmUoZSx0KXtsZXQgcj1mZShlLHQ/LmluKTtyZXR1cm4gci5zZXRTZWNvbmRzKDU5LDk5OSkscn12YXIgeGhpLFROZT1mKCgpPT57T2UoKTt4aGk9Q05lfSk7ZnVuY3Rpb24gX05lKGUsdCl7bGV0IHI9ZmUoZSx0Py5pbiksYT1yLmdldE1vbnRoKCksaT1hLWElMyszO3JldHVybiByLnNldE1vbnRoKGksMCksci5zZXRIb3VycygyMyw1OSw1OSw5OTkpLHJ9dmFyIE1oaSxMTmU9ZigoKT0+e09lKCk7TWhpPV9OZX0pO2Z1bmN0aW9uICROZShlLHQpe2xldCByPWZlKGUsdD8uaW4pO3JldHVybiByLnNldE1pbGxpc2Vjb25kcyg5OTkpLHJ9dmFyIHpoaSxETmU9ZigoKT0+e09lKCk7emhpPSROZX0pO2Z1bmN0aW9uIEFOZShlKXtyZXR1cm4gQnAoRGF0ZS5ub3coKSxlKX12YXIgX2hpLEVOZT1mKCgpPT57UEMoKTtfaGk9QU5lfSk7ZnVuY3Rpb24gSU5lKGUpe2xldCB0PVh0KGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxhPXQuZ2V0TW9udGgoKSxpPXQuZ2V0RGF0ZSgpLG49WHQoZT8uaW4pO3JldHVybiBuLnNldEZ1bGxZZWFyKHIsYSxpKzEpLG4uc2V0SG91cnMoMjMsNTksNTksOTk5KSxlPy5pbj9lLmluKG4pOm59dmFyIERoaSxQTmU9ZigoKT0+e2JpKCk7RGhpPUlOZX0pO2Z1bmN0aW9uIE5OZShlKXtsZXQgdD1YdChlPy5pbikscj1OZShlPy5pbiwwKTtyZXR1cm4gci5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCksdC5nZXRNb250aCgpLHQuZ2V0RGF0ZSgpLTEpLHIuc2V0SG91cnMoMjMsNTksNTksOTk5KSxyfXZhciBQaGksRk5lPWYoKCk9PntndCgpO2JpKCk7UGhpPU5OZX0pO3ZhciByRXIsT05lLFJOZT1mKCgpPT57ckVyPXtsZXNzVGhhblhTZWNvbmRzOntvbmU6Imxlc3MgdGhhbiBhIHNlY29uZCIsb3RoZXI6Imxlc3MgdGhhbiB7e2NvdW50fX0gc2Vjb25kcyJ9LHhTZWNvbmRzOntvbmU6IjEgc2Vjb25kIixvdGhlcjoie3tjb3VudH19IHNlY29uZHMifSxoYWxmQU1pbnV0ZToiaGFsZiBhIG1pbnV0ZSIsbGVzc1RoYW5YTWludXRlczp7b25lOiJsZXNzIHRoYW4gYSBtaW51dGUiLG90aGVyOiJsZXNzIHRoYW4ge3tjb3VudH19IG1pbnV0ZXMifSx4TWludXRlczp7b25lOiIxIG1pbnV0ZSIsb3RoZXI6Int7Y291bnR9fSBtaW51dGVzIn0sYWJvdXRYSG91cnM6e29uZToiYWJvdXQgMSBob3VyIixvdGhlcjoiYWJvdXQge3tjb3VudH19IGhvdXJzIn0seEhvdXJzOntvbmU6IjEgaG91ciIsb3RoZXI6Int7Y291bnR9fSBob3VycyJ9LHhEYXlzOntvbmU6IjEgZGF5IixvdGhlcjoie3tjb3VudH19IGRheXMifSxhYm91dFhXZWVrczp7b25lOiJhYm91dCAxIHdlZWsiLG90aGVyOiJhYm91dCB7e2NvdW50fX0gd2Vla3MifSx4V2Vla3M6e29uZToiMSB3ZWVrIixvdGhlcjoie3tjb3VudH19IHdlZWtzIn0sYWJvdXRYTW9udGhzOntvbmU6ImFib3V0IDEgbW9udGgiLG90aGVyOiJhYm91dCB7e2NvdW50fX0gbW9udGhzIn0seE1vbnRoczp7b25lOiIxIG1vbnRoIixvdGhlcjoie3tjb3VudH19IG1vbnRocyJ9LGFib3V0WFllYXJzOntvbmU6ImFib3V0IDEgeWVhciIsb3RoZXI6ImFib3V0IHt7Y291bnR9fSB5ZWFycyJ9LHhZZWFyczp7b25lOiIxIHllYXIiLG90aGVyOiJ7e2NvdW50fX0geWVhcnMifSxvdmVyWFllYXJzOntvbmU6Im92ZXIgMSB5ZWFyIixvdGhlcjoib3ZlciB7e2NvdW50fX0geWVhcnMifSxhbG1vc3RYWWVhcnM6e29uZToiYWxtb3N0IDEgeWVhciIsb3RoZXI6ImFsbW9zdCB7e2NvdW50fX0geWVhcnMifX0sT05lPShlLHQscik9PntsZXQgYSxpPXJFcltlXTtyZXR1cm4gdHlwZW9mIGk9PSJzdHJpbmciP2E9aTp0PT09MT9hPWkub25lOmE9aS5vdGhlci5yZXBsYWNlKCJ7e2NvdW50fX0iLHQudG9TdHJpbmcoKSkscj8uYWRkU3VmZml4P3IuY29tcGFyaXNvbiYmci5jb21wYXJpc29uPjA/ImluICIrYTphKyIgYWdvIjphfX0pO2Z1bmN0aW9uIFVDKGUpe3JldHVybih0PXt9KT0+e2xldCByPXQud2lkdGg/U3RyaW5nKHQud2lkdGgpOmUuZGVmYXVsdFdpZHRoO3JldHVybiBlLmZvcm1hdHNbcl18fGUuZm9ybWF0c1tlLmRlZmF1bHRXaWR0aF19fXZhciBCTmU9ZigoKT0+e30pO3ZhciBhRXIsaUVyLG5FcixITmUscU5lPWYoKCk9PntCTmUoKTthRXI9e2Z1bGw6IkVFRUUsIE1NTU0gZG8sIHkiLGxvbmc6Ik1NTU0gZG8sIHkiLG1lZGl1bToiTU1NIGQsIHkiLHNob3J0OiJNTS9kZC95eXl5In0saUVyPXtmdWxsOiJoOm1tOnNzIGEgenp6eiIsbG9uZzoiaDptbTpzcyBhIHoiLG1lZGl1bToiaDptbTpzcyBhIixzaG9ydDoiaDptbSBhIn0sbkVyPXtmdWxsOiJ7e2RhdGV9fSAnYXQnIHt7dGltZX19Iixsb25nOiJ7e2RhdGV9fSAnYXQnIHt7dGltZX19IixtZWRpdW06Int7ZGF0ZX19LCB7e3RpbWV9fSIsc2hvcnQ6Int7ZGF0ZX19LCB7e3RpbWV9fSJ9LEhOZT17ZGF0ZTpVQyh7Zm9ybWF0czphRXIsZGVmYXVsdFdpZHRoOiJmdWxsIn0pLHRpbWU6VUMoe2Zvcm1hdHM6aUVyLGRlZmF1bHRXaWR0aDoiZnVsbCJ9KSxkYXRlVGltZTpVQyh7Zm9ybWF0czpuRXIsZGVmYXVsdFdpZHRoOiJmdWxsIn0pfX0pO3ZhciBzRXIsak5lLFZOZT1mKCgpPT57c0VyPXtsYXN0V2VlazoiJ2xhc3QnIGVlZWUgJ2F0JyBwIix5ZXN0ZXJkYXk6Iid5ZXN0ZXJkYXkgYXQnIHAiLHRvZGF5OiIndG9kYXkgYXQnIHAiLHRvbW9ycm93OiIndG9tb3Jyb3cgYXQnIHAiLG5leHRXZWVrOiJlZWVlICdhdCcgcCIsb3RoZXI6IlAifSxqTmU9KGUsdCxyLGEpPT5zRXJbZV19KTtmdW5jdGlvbiBWcChlKXtyZXR1cm4odCxyKT0+e2xldCBhPXI/LmNvbnRleHQ/U3RyaW5nKHIuY29udGV4dCk6InN0YW5kYWxvbmUiLGk7aWYoYT09PSJmb3JtYXR0aW5nIiYmZS5mb3JtYXR0aW5nVmFsdWVzKXtsZXQgcz1lLmRlZmF1bHRGb3JtYXR0aW5nV2lkdGh8fGUuZGVmYXVsdFdpZHRoLG89cj8ud2lkdGg/U3RyaW5nKHIud2lkdGgpOnM7aT1lLmZvcm1hdHRpbmdWYWx1ZXNbb118fGUuZm9ybWF0dGluZ1ZhbHVlc1tzXX1lbHNle2xldCBzPWUuZGVmYXVsdFdpZHRoLG89cj8ud2lkdGg/U3RyaW5nKHIud2lkdGgpOmUuZGVmYXVsdFdpZHRoO2k9ZS52YWx1ZXNbb118fGUudmFsdWVzW3NdfWxldCBuPWUuYXJndW1lbnRDYWxsYmFjaz9lLmFyZ3VtZW50Q2FsbGJhY2sodCk6dDtyZXR1cm4gaVtuXX19dmFyIFVOZT1mKCgpPT57fSk7dmFyIG9FcixsRXIsY0VyLGRFcix1RXIscEVyLGZFcixXTmUsR05lPWYoKCk9PntVTmUoKTtvRXI9e25hcnJvdzpbIkIiLCJBIl0sYWJicmV2aWF0ZWQ6WyJCQyIsIkFEIl0sd2lkZTpbIkJlZm9yZSBDaHJpc3QiLCJBbm5vIERvbWluaSJdfSxsRXI9e25hcnJvdzpbIjEiLCIyIiwiMyIsIjQiXSxhYmJyZXZpYXRlZDpbIlExIiwiUTIiLCJRMyIsIlE0Il0sd2lkZTpbIjFzdCBxdWFydGVyIiwiMm5kIHF1YXJ0ZXIiLCIzcmQgcXVhcnRlciIsIjR0aCBxdWFydGVyIl19LGNFcj17bmFycm93OlsiSiIsIkYiLCJNIiwiQSIsIk0iLCJKIiwiSiIsIkEiLCJTIiwiTyIsIk4iLCJEIl0sYWJicmV2aWF0ZWQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSx3aWRlOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXX0sZEVyPXtuYXJyb3c6WyJTIiwiTSIsIlQiLCJXIiwiVCIsIkYiLCJTIl0sc2hvcnQ6WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLGFiYnJldmlhdGVkOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sd2lkZTpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il19LHVFcj17bmFycm93OnthbToiYSIscG06InAiLG1pZG5pZ2h0OiJtaSIsbm9vbjoibiIsbW9ybmluZzoibW9ybmluZyIsYWZ0ZXJub29uOiJhZnRlcm5vb24iLGV2ZW5pbmc6ImV2ZW5pbmciLG5pZ2h0OiJuaWdodCJ9LGFiYnJldmlhdGVkOnthbToiQU0iLHBtOiJQTSIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sd2lkZTp7YW06ImEubS4iLHBtOiJwLm0uIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifX0scEVyPXtuYXJyb3c6e2FtOiJhIixwbToicCIsbWlkbmlnaHQ6Im1pIixub29uOiJuIixtb3JuaW5nOiJpbiB0aGUgbW9ybmluZyIsYWZ0ZXJub29uOiJpbiB0aGUgYWZ0ZXJub29uIixldmVuaW5nOiJpbiB0aGUgZXZlbmluZyIsbmlnaHQ6ImF0IG5pZ2h0In0sYWJicmV2aWF0ZWQ6e2FtOiJBTSIscG06IlBNIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6ImluIHRoZSBtb3JuaW5nIixhZnRlcm5vb246ImluIHRoZSBhZnRlcm5vb24iLGV2ZW5pbmc6ImluIHRoZSBldmVuaW5nIixuaWdodDoiYXQgbmlnaHQifSx3aWRlOnthbToiYS5tLiIscG06InAubS4iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoiaW4gdGhlIG1vcm5pbmciLGFmdGVybm9vbjoiaW4gdGhlIGFmdGVybm9vbiIsZXZlbmluZzoiaW4gdGhlIGV2ZW5pbmciLG5pZ2h0OiJhdCBuaWdodCJ9fSxmRXI9KGUsdCk9PntsZXQgcj1OdW1iZXIoZSksYT1yJTEwMDtpZihhPjIwfHxhPDEwKXN3aXRjaChhJTEwKXtjYXNlIDE6cmV0dXJuIHIrInN0IjtjYXNlIDI6cmV0dXJuIHIrIm5kIjtjYXNlIDM6cmV0dXJuIHIrInJkIn1yZXR1cm4gcisidGgifSxXTmU9e29yZGluYWxOdW1iZXI6ZkVyLGVyYTpWcCh7dmFsdWVzOm9FcixkZWZhdWx0V2lkdGg6IndpZGUifSkscXVhcnRlcjpWcCh7dmFsdWVzOmxFcixkZWZhdWx0V2lkdGg6IndpZGUiLGFyZ3VtZW50Q2FsbGJhY2s6ZT0+ZS0xfSksbW9udGg6VnAoe3ZhbHVlczpjRXIsZGVmYXVsdFdpZHRoOiJ3aWRlIn0pLGRheTpWcCh7dmFsdWVzOmRFcixkZWZhdWx0V2lkdGg6IndpZGUifSksZGF5UGVyaW9kOlZwKHt2YWx1ZXM6dUVyLGRlZmF1bHRXaWR0aDoid2lkZSIsZm9ybWF0dGluZ1ZhbHVlczpwRXIsZGVmYXVsdEZvcm1hdHRpbmdXaWR0aDoid2lkZSJ9KX19KTtmdW5jdGlvbiBVcChlKXtyZXR1cm4odCxyPXt9KT0+e2xldCBhPXIud2lkdGgsaT1hJiZlLm1hdGNoUGF0dGVybnNbYV18fGUubWF0Y2hQYXR0ZXJuc1tlLmRlZmF1bHRNYXRjaFdpZHRoXSxuPXQubWF0Y2goaSk7aWYoIW4pcmV0dXJuIG51bGw7bGV0IHM9blswXSxvPWEmJmUucGFyc2VQYXR0ZXJuc1thXXx8ZS5wYXJzZVBhdHRlcm5zW2UuZGVmYXVsdFBhcnNlV2lkdGhdLGM9QXJyYXkuaXNBcnJheShvKT9tRXIobyxkPT5kLnRlc3QocykpOmhFcihvLGQ9PmQudGVzdChzKSksbDtsPWUudmFsdWVDYWxsYmFjaz9lLnZhbHVlQ2FsbGJhY2soYyk6YyxsPXIudmFsdWVDYWxsYmFjaz9yLnZhbHVlQ2FsbGJhY2sobCk6bDtsZXQgdT10LnNsaWNlKHMubGVuZ3RoKTtyZXR1cm57dmFsdWU6bCxyZXN0OnV9fX1mdW5jdGlvbiBoRXIoZSx0KXtmb3IobGV0IHIgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmdChlW3JdKSlyZXR1cm4gcn1mdW5jdGlvbiBtRXIoZSx0KXtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKylpZih0KGVbcl0pKXJldHVybiByfXZhciBZTmU9ZigoKT0+e30pO2Z1bmN0aW9uIFpOZShlKXtyZXR1cm4odCxyPXt9KT0+e2xldCBhPXQubWF0Y2goZS5tYXRjaFBhdHRlcm4pO2lmKCFhKXJldHVybiBudWxsO2xldCBpPWFbMF0sbj10Lm1hdGNoKGUucGFyc2VQYXR0ZXJuKTtpZighbilyZXR1cm4gbnVsbDtsZXQgcz1lLnZhbHVlQ2FsbGJhY2s/ZS52YWx1ZUNhbGxiYWNrKG5bMF0pOm5bMF07cz1yLnZhbHVlQ2FsbGJhY2s/ci52YWx1ZUNhbGxiYWNrKHMpOnM7bGV0IG89dC5zbGljZShpLmxlbmd0aCk7cmV0dXJue3ZhbHVlOnMscmVzdDpvfX19dmFyIFhOZT1mKCgpPT57fSk7dmFyIGdFcixiRXIsdkVyLHhFcix5RXIsd0VyLE1FcixrRXIsU0VyLHpFcixDRXIsVEVyLFFOZSxKTmU9ZigoKT0+e1lOZSgpO1hOZSgpO2dFcj0vXihcZCspKHRofHN0fG5kfHJkKT8vaSxiRXI9L1xkKy9pLHZFcj17bmFycm93Oi9eKGJ8YSkvaSxhYmJyZXZpYXRlZDovXihiXC4/XHM/Y1wuP3xiXC4/XHM/Y1wuP1xzP2VcLj98YVwuP1xzP2RcLj98Y1wuP1xzP2VcLj8pL2ksd2lkZTovXihiZWZvcmUgY2hyaXN0fGJlZm9yZSBjb21tb24gZXJhfGFubm8gZG9taW5pfGNvbW1vbiBlcmEpL2l9LHhFcj17YW55OlsvXmIvaSwvXihhfGMpL2ldfSx5RXI9e25hcnJvdzovXlsxMjM0XS9pLGFiYnJldmlhdGVkOi9ecVsxMjM0XS9pLHdpZGU6L15bMTIzNF0odGh8c3R8bmR8cmQpPyBxdWFydGVyL2l9LHdFcj17YW55OlsvMS9pLC8yL2ksLzMvaSwvNC9pXX0sTUVyPXtuYXJyb3c6L15bamZtYXNvbmRdL2ksYWJicmV2aWF0ZWQ6L14oamFufGZlYnxtYXJ8YXByfG1heXxqdW58anVsfGF1Z3xzZXB8b2N0fG5vdnxkZWMpL2ksd2lkZTovXihqYW51YXJ5fGZlYnJ1YXJ5fG1hcmNofGFwcmlsfG1heXxqdW5lfGp1bHl8YXVndXN0fHNlcHRlbWJlcnxvY3RvYmVyfG5vdmVtYmVyfGRlY2VtYmVyKS9pfSxrRXI9e25hcnJvdzpbL15qL2ksL15mL2ksL15tL2ksL15hL2ksL15tL2ksL15qL2ksL15qL2ksL15hL2ksL15zL2ksL15vL2ksL15uL2ksL15kL2ldLGFueTpbL15qYS9pLC9eZi9pLC9ebWFyL2ksL15hcC9pLC9ebWF5L2ksL15qdW4vaSwvXmp1bC9pLC9eYXUvaSwvXnMvaSwvXm8vaSwvXm4vaSwvXmQvaV19LFNFcj17bmFycm93Oi9eW3NtdHdmXS9pLHNob3J0Oi9eKHN1fG1vfHR1fHdlfHRofGZyfHNhKS9pLGFiYnJldmlhdGVkOi9eKHN1bnxtb258dHVlfHdlZHx0aHV8ZnJpfHNhdCkvaSx3aWRlOi9eKHN1bmRheXxtb25kYXl8dHVlc2RheXx3ZWRuZXNkYXl8dGh1cnNkYXl8ZnJpZGF5fHNhdHVyZGF5KS9pfSx6RXI9e25hcnJvdzpbL15zL2ksL15tL2ksL150L2ksL153L2ksL150L2ksL15mL2ksL15zL2ldLGFueTpbL15zdS9pLC9ebS9pLC9edHUvaSwvXncvaSwvXnRoL2ksL15mL2ksL15zYS9pXX0sQ0VyPXtuYXJyb3c6L14oYXxwfG1pfG58KGluIHRoZXxhdCkgKG1vcm5pbmd8YWZ0ZXJub29ufGV2ZW5pbmd8bmlnaHQpKS9pLGFueTovXihbYXBdXC4/XHM/bVwuP3xtaWRuaWdodHxub29ufChpbiB0aGV8YXQpIChtb3JuaW5nfGFmdGVybm9vbnxldmVuaW5nfG5pZ2h0KSkvaX0sVEVyPXthbnk6e2FtOi9eYS9pLHBtOi9ecC9pLG1pZG5pZ2h0Oi9ebWkvaSxub29uOi9ebm8vaSxtb3JuaW5nOi9tb3JuaW5nL2ksYWZ0ZXJub29uOi9hZnRlcm5vb24vaSxldmVuaW5nOi9ldmVuaW5nL2ksbmlnaHQ6L25pZ2h0L2l9fSxRTmU9e29yZGluYWxOdW1iZXI6Wk5lKHttYXRjaFBhdHRlcm46Z0VyLHBhcnNlUGF0dGVybjpiRXIsdmFsdWVDYWxsYmFjazplPT5wYXJzZUludChlLDEwKX0pLGVyYTpVcCh7bWF0Y2hQYXR0ZXJuczp2RXIsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6eEVyLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSkscXVhcnRlcjpVcCh7bWF0Y2hQYXR0ZXJuczp5RXIsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6d0VyLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkiLHZhbHVlQ2FsbGJhY2s6ZT0+ZSsxfSksbW9udGg6VXAoe21hdGNoUGF0dGVybnM6TUVyLGRlZmF1bHRNYXRjaFdpZHRoOiJ3aWRlIixwYXJzZVBhdHRlcm5zOmtFcixkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pLGRheTpVcCh7bWF0Y2hQYXR0ZXJuczpTRXIsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6ekVyLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSksZGF5UGVyaW9kOlVwKHttYXRjaFBhdHRlcm5zOkNFcixkZWZhdWx0TWF0Y2hXaWR0aDoiYW55IixwYXJzZVBhdHRlcm5zOlRFcixkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pfX0pO3ZhciBDMSx0bWksS05lPWYoKCk9PntSTmUoKTtxTmUoKTtWTmUoKTtHTmUoKTtKTmUoKTtDMT17Y29kZToiZW4tVVMiLGZvcm1hdERpc3RhbmNlOk9OZSxmb3JtYXRMb25nOkhOZSxmb3JtYXRSZWxhdGl2ZTpqTmUsbG9jYWxpemU6V05lLG1hdGNoOlFOZSxvcHRpb25zOnt3ZWVrU3RhcnRzT246MCxmaXJzdFdlZWtDb250YWluc0RhdGU6MX19LHRtaT1DMX0pO3ZhciBaZD1mKCgpPT57S05lKCl9KTtmdW5jdGlvbiBXQyhlLHQpe2xldCByPWZlKGUsdD8uaW4pO3JldHVybiBJaShyLGpwKHIpKSsxfXZhciBsbWksT0o9ZigoKT0+e2VjKCk7akMoKTtPZSgpO2xtaT1XQ30pO2Z1bmN0aW9uIFdwKGUsdCl7bGV0IHI9ZmUoZSx0Py5pbiksYT0rYWkociktK1YxKHIpO3JldHVybiBNYXRoLnJvdW5kKGEvUDIpKzF9dmFyIGhtaSxHQz1mKCgpPT57UnQoKTtSMigpO0VwKCk7T2UoKTtobWk9V3B9KTtmdW5jdGlvbiBvNChlLHQpe2xldCByPWZlKGUsdD8uaW4pLGE9ci5nZXRGdWxsWWVhcigpLGk9QXIoKSxuPXQ/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/dD8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P2kuZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9pLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLHM9TmUodD8uaW58fGUsMCk7cy5zZXRGdWxsWWVhcihhKzEsMCxuKSxzLnNldEhvdXJzKDAsMCwwLDApO2xldCBvPWFhKHMsdCksYz1OZSh0Py5pbnx8ZSwwKTtjLnNldEZ1bGxZZWFyKGEsMCxuKSxjLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPWFhKGMsdCk7cmV0dXJuK3I+PStvP2ErMTorcj49K2w/YTphLTF9dmFyIHltaSxpOT1mKCgpPT57U24oKTtndCgpO3dvKCk7T2UoKTt5bWk9bzR9KTtmdW5jdGlvbiBYZChlLHQpe2xldCByPUFyKCksYT10Py5maXJzdFdlZWtDb250YWluc0RhdGU/P3Q/LmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/MSxpPW80KGUsdCksbj1OZSh0Py5pbnx8ZSwwKTtyZXR1cm4gbi5zZXRGdWxsWWVhcihpLDAsYSksbi5zZXRIb3VycygwLDAsMCwwKSxhYShuLHQpfXZhciBDbWksWUM9ZigoKT0+e1NuKCk7Z3QoKTtpOSgpO3dvKCk7Q21pPVhkfSk7ZnVuY3Rpb24gR3AoZSx0KXtsZXQgcj1mZShlLHQ/LmluKSxhPSthYShyLHQpLStYZChyLHQpO3JldHVybiBNYXRoLnJvdW5kKGEvUDIpKzF9dmFyIEFtaSxaQz1mKCgpPT57UnQoKTt3bygpO1lDKCk7T2UoKTtBbWk9R3B9KTtmdW5jdGlvbiBpdChlLHQpe2xldCByPWU8MD8iLSI6IiIsYT1NYXRoLmFicyhlKS50b1N0cmluZygpLnBhZFN0YXJ0KHQsIjAiKTtyZXR1cm4gcithfXZhciBRZD1mKCgpPT57fSk7dmFyIFUxLFJKPWYoKCk9PntRZCgpO1UxPXt5KGUsdCl7bGV0IHI9ZS5nZXRGdWxsWWVhcigpLGE9cj4wP3I6MS1yO3JldHVybiBpdCh0PT09Inl5Ij9hJTEwMDphLHQubGVuZ3RoKX0sTShlLHQpe2xldCByPWUuZ2V0TW9udGgoKTtyZXR1cm4gdD09PSJNIj9TdHJpbmcocisxKTppdChyKzEsMil9LGQoZSx0KXtyZXR1cm4gaXQoZS5nZXREYXRlKCksdC5sZW5ndGgpfSxhKGUsdCl7bGV0IHI9ZS5nZXRIb3VycygpLzEyPj0xPyJwbSI6ImFtIjtzd2l0Y2godCl7Y2FzZSJhIjpjYXNlImFhIjpyZXR1cm4gci50b1VwcGVyQ2FzZSgpO2Nhc2UiYWFhIjpyZXR1cm4gcjtjYXNlImFhYWFhIjpyZXR1cm4gclswXTtkZWZhdWx0OnJldHVybiByPT09ImFtIj8iYS5tLiI6InAubS4ifX0saChlLHQpe3JldHVybiBpdChlLmdldEhvdXJzKCklMTJ8fDEyLHQubGVuZ3RoKX0sSChlLHQpe3JldHVybiBpdChlLmdldEhvdXJzKCksdC5sZW5ndGgpfSxtKGUsdCl7cmV0dXJuIGl0KGUuZ2V0TWludXRlcygpLHQubGVuZ3RoKX0scyhlLHQpe3JldHVybiBpdChlLmdldFNlY29uZHMoKSx0Lmxlbmd0aCl9LFMoZSx0KXtsZXQgcj10Lmxlbmd0aCxhPWUuZ2V0TWlsbGlzZWNvbmRzKCksaT1NYXRoLnRydW5jKGEqTWF0aC5wb3coMTAsci0zKSk7cmV0dXJuIGl0KGksdC5sZW5ndGgpfX19KTtmdW5jdGlvbiBlRmUoZSx0PSIiKXtsZXQgcj1lPjA/Ii0iOiIrIixhPU1hdGguYWJzKGUpLGk9TWF0aC50cnVuYyhhLzYwKSxuPWElNjA7cmV0dXJuIG49PT0wP3IrU3RyaW5nKGkpOnIrU3RyaW5nKGkpK3QraXQobiwyKX1mdW5jdGlvbiB0RmUoZSx0KXtyZXR1cm4gZSU2MD09PTA/KGU+MD8iLSI6IisiKStpdChNYXRoLmFicyhlKS82MCwyKTpKZChlLHQpfWZ1bmN0aW9uIEpkKGUsdD0iIil7bGV0IHI9ZT4wPyItIjoiKyIsYT1NYXRoLmFicyhlKSxpPWl0KE1hdGgudHJ1bmMoYS82MCksMiksbj1pdChhJTYwLDIpO3JldHVybiByK2krdCtufXZhciBZcCxuOSxyRmU9ZigoKT0+e09KKCk7R0MoKTtyNCgpO1pDKCk7aTkoKTtRZCgpO1JKKCk7WXA9e2FtOiJhbSIscG06InBtIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifSxuOT17RzpmdW5jdGlvbihlLHQscil7bGV0IGE9ZS5nZXRGdWxsWWVhcigpPjA/MTowO3N3aXRjaCh0KXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gci5lcmEoYSx7d2lkdGg6ImFiYnJldmlhdGVkIn0pO2Nhc2UiR0dHR0ciOnJldHVybiByLmVyYShhLHt3aWR0aDoibmFycm93In0pO2RlZmF1bHQ6cmV0dXJuIHIuZXJhKGEse3dpZHRoOiJ3aWRlIn0pfX0seTpmdW5jdGlvbihlLHQscil7aWYodD09PSJ5byIpe2xldCBhPWUuZ2V0RnVsbFllYXIoKSxpPWE+MD9hOjEtYTtyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6InllYXIifSl9cmV0dXJuIFUxLnkoZSx0KX0sWTpmdW5jdGlvbihlLHQscixhKXtsZXQgaT1vNChlLGEpLG49aT4wP2k6MS1pO2lmKHQ9PT0iWVkiKXtsZXQgcz1uJTEwMDtyZXR1cm4gaXQocywyKX1yZXR1cm4gdD09PSJZbyI/ci5vcmRpbmFsTnVtYmVyKG4se3VuaXQ6InllYXIifSk6aXQobix0Lmxlbmd0aCl9LFI6ZnVuY3Rpb24oZSx0KXtsZXQgcj1ZbihlKTtyZXR1cm4gaXQocix0Lmxlbmd0aCl9LHU6ZnVuY3Rpb24oZSx0KXtsZXQgcj1lLmdldEZ1bGxZZWFyKCk7cmV0dXJuIGl0KHIsdC5sZW5ndGgpfSxROmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1NYXRoLmNlaWwoKGUuZ2V0TW9udGgoKSsxKS8zKTtzd2l0Y2godCl7Y2FzZSJRIjpyZXR1cm4gU3RyaW5nKGEpO2Nhc2UiUVEiOnJldHVybiBpdChhLDIpO2Nhc2UiUW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoicXVhcnRlciJ9KTtjYXNlIlFRUSI6cmV0dXJuIHIucXVhcnRlcihhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJRUVFRUSI6cmV0dXJuIHIucXVhcnRlcihhLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIucXVhcnRlcihhLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LHE6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPU1hdGguY2VpbCgoZS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaCh0KXtjYXNlInEiOnJldHVybiBTdHJpbmcoYSk7Y2FzZSJxcSI6cmV0dXJuIGl0KGEsMik7Y2FzZSJxbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihhLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UicXFxIjpyZXR1cm4gci5xdWFydGVyKGEse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlInFxcXFxIjpyZXR1cm4gci5xdWFydGVyKGEse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gci5xdWFydGVyKGEse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX0sTTpmdW5jdGlvbihlLHQscil7bGV0IGE9ZS5nZXRNb250aCgpO3N3aXRjaCh0KXtjYXNlIk0iOmNhc2UiTU0iOnJldHVybiBVMS5NKGUsdCk7Y2FzZSJNbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihhKzEse3VuaXQ6Im1vbnRoIn0pO2Nhc2UiTU1NIjpyZXR1cm4gci5tb250aChhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJNTU1NTSI6cmV0dXJuIHIubW9udGgoYSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLm1vbnRoKGEse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sTDpmdW5jdGlvbihlLHQscil7bGV0IGE9ZS5nZXRNb250aCgpO3N3aXRjaCh0KXtjYXNlIkwiOnJldHVybiBTdHJpbmcoYSsxKTtjYXNlIkxMIjpyZXR1cm4gaXQoYSsxLDIpO2Nhc2UiTG8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoYSsxLHt1bml0OiJtb250aCJ9KTtjYXNlIkxMTCI6cmV0dXJuIHIubW9udGgoYSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiTExMTEwiOnJldHVybiByLm1vbnRoKGEse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gci5tb250aChhLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LHc6ZnVuY3Rpb24oZSx0LHIsYSl7bGV0IGk9R3AoZSxhKTtyZXR1cm4gdD09PSJ3byI/ci5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6IndlZWsifSk6aXQoaSx0Lmxlbmd0aCl9LEk6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPVdwKGUpO3JldHVybiB0PT09IklvIj9yLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoid2VlayJ9KTppdChhLHQubGVuZ3RoKX0sZDpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9PT0iZG8iP3Iub3JkaW5hbE51bWJlcihlLmdldERhdGUoKSx7dW5pdDoiZGF0ZSJ9KTpVMS5kKGUsdCl9LEQ6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPVdDKGUpO3JldHVybiB0PT09IkRvIj9yLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoiZGF5T2ZZZWFyIn0pOml0KGEsdC5sZW5ndGgpfSxFOmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1lLmdldERheSgpO3N3aXRjaCh0KXtjYXNlIkUiOmNhc2UiRUUiOmNhc2UiRUVFIjpyZXR1cm4gci5kYXkoYSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiRUVFRUUiOnJldHVybiByLmRheShhLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiRUVFRUVFIjpyZXR1cm4gci5kYXkoYSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIuZGF5KGEse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sZTpmdW5jdGlvbihlLHQscixhKXtsZXQgaT1lLmdldERheSgpLG49KGktYS53ZWVrU3RhcnRzT24rOCklN3x8Nztzd2l0Y2godCl7Y2FzZSJlIjpyZXR1cm4gU3RyaW5nKG4pO2Nhc2UiZWUiOnJldHVybiBpdChuLDIpO2Nhc2UiZW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIobix7dW5pdDoiZGF5In0pO2Nhc2UiZWVlIjpyZXR1cm4gci5kYXkoaSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWUiOnJldHVybiByLmRheShpLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWVlIjpyZXR1cm4gci5kYXkoaSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIuZGF5KGkse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sYzpmdW5jdGlvbihlLHQscixhKXtsZXQgaT1lLmdldERheSgpLG49KGktYS53ZWVrU3RhcnRzT24rOCklN3x8Nztzd2l0Y2godCl7Y2FzZSJjIjpyZXR1cm4gU3RyaW5nKG4pO2Nhc2UiY2MiOnJldHVybiBpdChuLHQubGVuZ3RoKTtjYXNlImNvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKG4se3VuaXQ6ImRheSJ9KTtjYXNlImNjYyI6cmV0dXJuIHIuZGF5KGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjIjpyZXR1cm4gci5kYXkoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjYyI6cmV0dXJuIHIuZGF5KGkse3dpZHRoOiJzaG9ydCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiByLmRheShpLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LGk6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0RGF5KCksaT1hPT09MD83OmE7c3dpdGNoKHQpe2Nhc2UiaSI6cmV0dXJuIFN0cmluZyhpKTtjYXNlImlpIjpyZXR1cm4gaXQoaSx0Lmxlbmd0aCk7Y2FzZSJpbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihpLHt1bml0OiJkYXkifSk7Y2FzZSJpaWkiOnJldHVybiByLmRheShhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJpaWlpaSI6cmV0dXJuIHIuZGF5KGEse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJpaWlpaWkiOnJldHVybiByLmRheShhLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXkoYSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSxhOmZ1bmN0aW9uKGUsdCxyKXtsZXQgaT1lLmdldEhvdXJzKCkvMTI+PTE/InBtIjoiYW0iO3N3aXRjaCh0KXtjYXNlImEiOmNhc2UiYWEiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJhYWEiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkudG9Mb3dlckNhc2UoKTtjYXNlImFhYWFhIjpyZXR1cm4gci5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LGI6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0SG91cnMoKSxpO3N3aXRjaChhPT09MTI/aT1ZcC5ub29uOmE9PT0wP2k9WXAubWlkbmlnaHQ6aT1hLzEyPj0xPyJwbSI6ImFtIix0KXtjYXNlImIiOmNhc2UiYmIiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJiYmIiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkudG9Mb3dlckNhc2UoKTtjYXNlImJiYmJiIjpyZXR1cm4gci5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LEI6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0SG91cnMoKSxpO3N3aXRjaChhPj0xNz9pPVlwLmV2ZW5pbmc6YT49MTI/aT1ZcC5hZnRlcm5vb246YT49ND9pPVlwLm1vcm5pbmc6aT1ZcC5uaWdodCx0KXtjYXNlIkIiOmNhc2UiQkIiOmNhc2UiQkJCIjpyZXR1cm4gci5kYXlQZXJpb2QoaSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiQkJCQkIiOnJldHVybiByLmRheVBlcmlvZChpLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIuZGF5UGVyaW9kKGkse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0saDpmdW5jdGlvbihlLHQscil7aWYodD09PSJobyIpe2xldCBhPWUuZ2V0SG91cnMoKSUxMjtyZXR1cm4gYT09PTAmJihhPTEyKSxyLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoiaG91ciJ9KX1yZXR1cm4gVTEuaChlLHQpfSxIOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdD09PSJIbyI/ci5vcmRpbmFsTnVtYmVyKGUuZ2V0SG91cnMoKSx7dW5pdDoiaG91ciJ9KTpVMS5IKGUsdCl9LEs6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0SG91cnMoKSUxMjtyZXR1cm4gdD09PSJLbyI/ci5vcmRpbmFsTnVtYmVyKGEse3VuaXQ6ImhvdXIifSk6aXQoYSx0Lmxlbmd0aCl9LGs6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0SG91cnMoKTtyZXR1cm4gYT09PTAmJihhPTI0KSx0PT09ImtvIj9yLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoiaG91ciJ9KTppdChhLHQubGVuZ3RoKX0sbTpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9PT0ibW8iP3Iub3JkaW5hbE51bWJlcihlLmdldE1pbnV0ZXMoKSx7dW5pdDoibWludXRlIn0pOlUxLm0oZSx0KX0sczpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9PT0ic28iP3Iub3JkaW5hbE51bWJlcihlLmdldFNlY29uZHMoKSx7dW5pdDoic2Vjb25kIn0pOlUxLnMoZSx0KX0sUzpmdW5jdGlvbihlLHQpe3JldHVybiBVMS5TKGUsdCl9LFg6ZnVuY3Rpb24oZSx0LHIpe2xldCBhPWUuZ2V0VGltZXpvbmVPZmZzZXQoKTtpZihhPT09MClyZXR1cm4iWiI7c3dpdGNoKHQpe2Nhc2UiWCI6cmV0dXJuIHRGZShhKTtjYXNlIlhYWFgiOmNhc2UiWFgiOnJldHVybiBKZChhKTtkZWZhdWx0OnJldHVybiBKZChhLCI6Iil9fSx4OmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2UieCI6cmV0dXJuIHRGZShhKTtjYXNlInh4eHgiOmNhc2UieHgiOnJldHVybiBKZChhKTtkZWZhdWx0OnJldHVybiBKZChhLCI6Iil9fSxPOmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2UiTyI6Y2FzZSJPTyI6Y2FzZSJPT08iOnJldHVybiJHTVQiK2VGZShhLCI6Iik7ZGVmYXVsdDpyZXR1cm4iR01UIitKZChhLCI6Iil9fSx6OmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2UieiI6Y2FzZSJ6eiI6Y2FzZSJ6enoiOnJldHVybiJHTVQiK2VGZShhLCI6Iik7ZGVmYXVsdDpyZXR1cm4iR01UIitKZChhLCI6Iil9fSx0OmZ1bmN0aW9uKGUsdCxyKXtsZXQgYT1NYXRoLnRydW5jKCtlLzFlMyk7cmV0dXJuIGl0KGEsdC5sZW5ndGgpfSxUOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gaXQoK2UsdC5sZW5ndGgpfX19KTt2YXIgYUZlLGlGZSxfRXIsbDQsQko9ZigoKT0+e2FGZT0oZSx0KT0+e3N3aXRjaChlKXtjYXNlIlAiOnJldHVybiB0LmRhdGUoe3dpZHRoOiJzaG9ydCJ9KTtjYXNlIlBQIjpyZXR1cm4gdC5kYXRlKHt3aWR0aDoibWVkaXVtIn0pO2Nhc2UiUFBQIjpyZXR1cm4gdC5kYXRlKHt3aWR0aDoibG9uZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRhdGUoe3dpZHRoOiJmdWxsIn0pfX0saUZlPShlLHQpPT57c3dpdGNoKGUpe2Nhc2UicCI6cmV0dXJuIHQudGltZSh7d2lkdGg6InNob3J0In0pO2Nhc2UicHAiOnJldHVybiB0LnRpbWUoe3dpZHRoOiJtZWRpdW0ifSk7Y2FzZSJwcHAiOnJldHVybiB0LnRpbWUoe3dpZHRoOiJsb25nIn0pO2RlZmF1bHQ6cmV0dXJuIHQudGltZSh7d2lkdGg6ImZ1bGwifSl9fSxfRXI9KGUsdCk9PntsZXQgcj1lLm1hdGNoKC8oUCspKHArKT8vKXx8W10sYT1yWzFdLGk9clsyXTtpZighaSlyZXR1cm4gYUZlKGUsdCk7bGV0IG47c3dpdGNoKGEpe2Nhc2UiUCI6bj10LmRhdGVUaW1lKHt3aWR0aDoic2hvcnQifSk7YnJlYWs7Y2FzZSJQUCI6bj10LmRhdGVUaW1lKHt3aWR0aDoibWVkaXVtIn0pO2JyZWFrO2Nhc2UiUFBQIjpuPXQuZGF0ZVRpbWUoe3dpZHRoOiJsb25nIn0pO2JyZWFrO2RlZmF1bHQ6bj10LmRhdGVUaW1lKHt3aWR0aDoiZnVsbCJ9KTticmVha31yZXR1cm4gbi5yZXBsYWNlKCJ7e2RhdGV9fSIsYUZlKGEsdCkpLnJlcGxhY2UoInt7dGltZX19IixpRmUoaSx0KSl9LGw0PXtwOmlGZSxQOl9Fcn19KTtmdW5jdGlvbiBYQyhlKXtyZXR1cm4gTEVyLnRlc3QoZSl9ZnVuY3Rpb24gUUMoZSl7cmV0dXJuICRFci50ZXN0KGUpfWZ1bmN0aW9uIHM5KGUsdCxyKXtsZXQgYT1BRXIoZSx0LHIpO2lmKGNvbnNvbGUud2FybihhKSxERXIuaW5jbHVkZXMoZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYSl9ZnVuY3Rpb24gQUVyKGUsdCxyKXtsZXQgYT1lWzBdPT09IlkiPyJ5ZWFycyI6ImRheXMgb2YgdGhlIG1vbnRoIjtyZXR1cm5gVXNlIFxgJHtlLnRvTG93ZXJDYXNlKCl9XGAgaW5zdGVhZCBvZiBcYCR7ZX1cYCAoaW4gXGAke3R9XGApIGZvciBmb3JtYXR0aW5nICR7YX0gdG8gdGhlIGlucHV0IFxgJHtyfVxgOyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VuaWNvZGVUb2tlbnMubWRgfXZhciBMRXIsJEVyLERFcixISj1mKCgpPT57TEVyPS9eRCskLywkRXI9L15ZKyQvLERFcj1bIkQiLCJERCIsIllZIiwiWVlZWSJdfSk7ZnVuY3Rpb24gbzkoZSx0LHIpe2xldCBhPUFyKCksaT1yPy5sb2NhbGU/P2EubG9jYWxlPz9DMSxuPXI/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/cj8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P2EuZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9hLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLHM9cj8ud2Vla1N0YXJ0c09uPz9yPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/YS53ZWVrU3RhcnRzT24/P2EubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsbz1mZShlLHI/LmluKTtpZighWmkobykpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCBjPXQubWF0Y2goSUVyKS5tYXAodT0+e2xldCBkPXVbMF07aWYoZD09PSJwInx8ZD09PSJQIil7bGV0IGg9bDRbZF07cmV0dXJuIGgodSxpLmZvcm1hdExvbmcpfXJldHVybiB1fSkuam9pbigiIikubWF0Y2goRUVyKS5tYXAodT0+e2lmKHU9PT0iJyciKXJldHVybntpc1Rva2VuOiExLHZhbHVlOiInIn07bGV0IGQ9dVswXTtpZihkPT09IiciKXJldHVybntpc1Rva2VuOiExLHZhbHVlOk9Fcih1KX07aWYobjlbZF0pcmV0dXJue2lzVG9rZW46ITAsdmFsdWU6dX07aWYoZC5tYXRjaChGRXIpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrZCsiYCIpO3JldHVybntpc1Rva2VuOiExLHZhbHVlOnV9fSk7aS5sb2NhbGl6ZS5wcmVwcm9jZXNzb3ImJihjPWkubG9jYWxpemUucHJlcHJvY2Vzc29yKG8sYykpO2xldCBsPXtmaXJzdFdlZWtDb250YWluc0RhdGU6bix3ZWVrU3RhcnRzT246cyxsb2NhbGU6aX07cmV0dXJuIGMubWFwKHU9PntpZighdS5pc1Rva2VuKXJldHVybiB1LnZhbHVlO2xldCBkPXUudmFsdWU7KCFyPy51c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnMmJlFDKGQpfHwhcj8udXNlQWRkaXRpb25hbERheU9mWWVhclRva2VucyYmWEMoZCkpJiZzOShkLHQsU3RyaW5nKGUpKTtsZXQgaD1uOVtkWzBdXTtyZXR1cm4gaChvLGQsaS5sb2NhbGl6ZSxsKX0pLmpvaW4oIiIpfWZ1bmN0aW9uIE9FcihlKXtsZXQgdD1lLm1hdGNoKFBFcik7cmV0dXJuIHQ/dFsxXS5yZXBsYWNlKE5FciwiJyIpOmV9dmFyIEVFcixJRXIsUEVyLE5FcixGRXIsZTdpLHFKPWYoKCk9PntaZCgpO1NuKCk7ckZlKCk7QkooKTtISigpO3RjKCk7T2UoKTtFRXI9L1t5WVFxTUx3SWREZWNpaEhLa21zXW98KFx3KVwxKnwnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyxJRXI9L1ArcCt8UCt8cCt8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csUEVyPS9eJyhbXl0qPyknPyQvLE5Fcj0vJycvZyxGRXI9L1thLXpBLVpdLztlN2k9bzl9KTtmdW5jdGlvbiBKQyhlLHQscil7bGV0IGE9QXIoKSxpPXI/LmxvY2FsZT8/YS5sb2NhbGU/P0MxLG49MjUyMCxzPXpuKGUsdCk7aWYoaXNOYU4ocykpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCBvPU9iamVjdC5hc3NpZ24oe30scix7YWRkU3VmZml4OnI/LmFkZFN1ZmZpeCxjb21wYXJpc29uOnN9KSxbYyxsXT11dChyPy5pbiwuLi5zPjA/W3QsZV06W2UsdF0pLHU9cTIobCxjKSxkPShJYShsKS1JYShjKSkvMWUzLGg9TWF0aC5yb3VuZCgodS1kKS82MCksbTtpZihoPDIpcmV0dXJuIHI/LmluY2x1ZGVTZWNvbmRzP3U8NT9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhTZWNvbmRzIiw1LG8pOnU8MTA/aS5mb3JtYXREaXN0YW5jZSgibGVzc1RoYW5YU2Vjb25kcyIsMTAsbyk6dTwyMD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhTZWNvbmRzIiwyMCxvKTp1PDQwP2kuZm9ybWF0RGlzdGFuY2UoImhhbGZBTWludXRlIiwwLG8pOnU8NjA/aS5mb3JtYXREaXN0YW5jZSgibGVzc1RoYW5YTWludXRlcyIsMSxvKTppLmZvcm1hdERpc3RhbmNlKCJ4TWludXRlcyIsMSxvKTpoPT09MD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhNaW51dGVzIiwxLG8pOmkuZm9ybWF0RGlzdGFuY2UoInhNaW51dGVzIixoLG8pO2lmKGg8NDUpcmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhNaW51dGVzIixoLG8pO2lmKGg8OTApcmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoImFib3V0WEhvdXJzIiwxLG8pO2lmKGg8JHApe2xldCB2PU1hdGgucm91bmQoaC82MCk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoImFib3V0WEhvdXJzIix2LG8pfWVsc2V7aWYoaDxuKXJldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4RGF5cyIsMSxvKTtpZihoPEswKXtsZXQgdj1NYXRoLnJvdW5kKGgvJHApO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4RGF5cyIsdixvKX1lbHNlIGlmKGg8SzAqMilyZXR1cm4gbT1NYXRoLnJvdW5kKGgvSzApLGkuZm9ybWF0RGlzdGFuY2UoImFib3V0WE1vbnRocyIsbSxvKX1pZihtPW40KGwsYyksbTwxMil7bGV0IHY9TWF0aC5yb3VuZChoL0swKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1vbnRocyIsdixvKX1lbHNle2xldCB2PW0lMTIsYj1NYXRoLnRydW5jKG0vMTIpO3JldHVybiB2PDM/aS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYWWVhcnMiLGIsbyk6djw5P2kuZm9ybWF0RGlzdGFuY2UoIm92ZXJYWWVhcnMiLGIsbyk6aS5mb3JtYXREaXN0YW5jZSgiYWxtb3N0WFllYXJzIixiKzEsbyl9fXZhciBkN2ksako9ZigoKT0+e1pkKCk7U24oKTtLbCgpO1ZyKCk7VmQoKTtSdCgpO3Q5KCk7cjkoKTtkN2k9SkN9KTtmdW5jdGlvbiBLQyhlLHQscil7bGV0IGE9QXIoKSxpPXI/LmxvY2FsZT8/YS5sb2NhbGU/P0MxLG49em4oZSx0KTtpZihpc05hTihuKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHM9T2JqZWN0LmFzc2lnbih7fSxyLHthZGRTdWZmaXg6cj8uYWRkU3VmZml4LGNvbXBhcmlzb246bn0pLFtvLGNdPXV0KHI/LmluLC4uLm4+MD9bdCxlXTpbZSx0XSksbD1DbihyPy5yb3VuZGluZ01ldGhvZD8/InJvdW5kIiksdT1jLmdldFRpbWUoKS1vLmdldFRpbWUoKSxkPXUva24saD1JYShjKS1JYShvKSxtPSh1LWgpL2tuLHY9cj8udW5pdCxiO2lmKHY/Yj12OmQ8MT9iPSJzZWNvbmQiOmQ8NjA/Yj0ibWludXRlIjpkPCRwP2I9ImhvdXIiOm08SzA/Yj0iZGF5IjptPHBKP2I9Im1vbnRoIjpiPSJ5ZWFyIixiPT09InNlY29uZCIpe2xldCBnPWwodS8xZTMpO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4U2Vjb25kcyIsZyxzKX1lbHNlIGlmKGI9PT0ibWludXRlIil7bGV0IGc9bChkKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLGcscyl9ZWxzZSBpZihiPT09ImhvdXIiKXtsZXQgZz1sKGQvNjApO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4SG91cnMiLGcscyl9ZWxzZSBpZihiPT09ImRheSIpe2xldCBnPWwobS8kcCk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIixnLHMpfWVsc2UgaWYoYj09PSJtb250aCIpe2xldCBnPWwobS9LMCk7cmV0dXJuIGc9PT0xMiYmdiE9PSJtb250aCI/aS5mb3JtYXREaXN0YW5jZSgieFllYXJzIiwxLHMpOmkuZm9ybWF0RGlzdGFuY2UoInhNb250aHMiLGcscyl9ZWxzZXtsZXQgZz1sKG0vcEopO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4WWVhcnMiLGcscyl9fXZhciB4N2ksVko9ZigoKT0+e1pkKCk7U24oKTtyYygpO0tsKCk7VnIoKTtWZCgpO1J0KCk7eDdpPUtDfSk7ZnVuY3Rpb24gbkZlKGUsdCl7cmV0dXJuIEpDKGUsWHQoZSksdCl9dmFyIGs3aSxzRmU9ZigoKT0+e2JpKCk7akooKTtrN2k9bkZlfSk7ZnVuY3Rpb24gb0ZlKGUsdCl7cmV0dXJuIEtDKGUsWHQoZSksdCl9dmFyIFQ3aSxsRmU9ZigoKT0+e2JpKCk7VkooKTtUN2k9b0ZlfSk7ZnVuY3Rpb24gY0ZlKGUsdCl7bGV0IHI9QXIoKSxhPXQ/LmxvY2FsZT8/ci5sb2NhbGU/P0MxLGk9dD8uZm9ybWF0Pz9SRXIsbj10Py56ZXJvPz8hMSxzPXQ/LmRlbGltaXRlcj8/IiAiO3JldHVybiBhLmZvcm1hdERpc3RhbmNlP2kucmVkdWNlKChjLGwpPT57bGV0IHU9YHgke2wucmVwbGFjZSgvKF4uKS8saD0+aC50b1VwcGVyQ2FzZSgpKX1gLGQ9ZVtsXTtyZXR1cm4gZCE9PXZvaWQgMCYmKG58fGVbbF0pP2MuY29uY2F0KGEuZm9ybWF0RGlzdGFuY2UodSxkKSk6Y30sW10pLmpvaW4ocyk6IiJ9dmFyIFJFcixEN2ksZEZlPWYoKCk9PntaZCgpO1NuKCk7UkVyPVsieWVhcnMiLCJtb250aHMiLCJ3ZWVrcyIsImRheXMiLCJob3VycyIsIm1pbnV0ZXMiLCJzZWNvbmRzIl07RDdpPWNGZX0pO2Z1bmN0aW9uIHVGZShlLHQpe2xldCByPWZlKGUsdD8uaW4pO2lmKGlzTmFOKCtyKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGE9dD8uZm9ybWF0Pz8iZXh0ZW5kZWQiLGk9dD8ucmVwcmVzZW50YXRpb24/PyJjb21wbGV0ZSIsbj0iIixzPSIiLG89YT09PSJleHRlbmRlZCI/Ii0iOiIiLGM9YT09PSJleHRlbmRlZCI/IjoiOiIiO2lmKGkhPT0idGltZSIpe2xldCBsPWl0KHIuZ2V0RGF0ZSgpLDIpLHU9aXQoci5nZXRNb250aCgpKzEsMik7bj1gJHtpdChyLmdldEZ1bGxZZWFyKCksNCl9JHtvfSR7dX0ke299JHtsfWB9aWYoaSE9PSJkYXRlIil7bGV0IGw9ci5nZXRUaW1lem9uZU9mZnNldCgpO2lmKGwhPT0wKXtsZXQgYj1NYXRoLmFicyhsKSxnPWl0KE1hdGgudHJ1bmMoYi82MCksMikseT1pdChiJTYwLDIpO3M9YCR7bDwwPyIrIjoiLSJ9JHtnfToke3l9YH1lbHNlIHM9IloiO2xldCB1PWl0KHIuZ2V0SG91cnMoKSwyKSxkPWl0KHIuZ2V0TWludXRlcygpLDIpLGg9aXQoci5nZXRTZWNvbmRzKCksMiksbT1uPT09IiI/IiI6IlQiLHY9W3UsZCxoXS5qb2luKGMpO249YCR7bn0ke219JHt2fSR7c31gfXJldHVybiBufXZhciBQN2kscEZlPWYoKCk9PntRZCgpO09lKCk7UDdpPXVGZX0pO2Z1bmN0aW9uIGZGZShlLHQpe2xldCByPWZlKGUsdD8uaW4pO2lmKCFaaShyKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGE9dD8uZm9ybWF0Pz8iZXh0ZW5kZWQiLGk9dD8ucmVwcmVzZW50YXRpb24/PyJjb21wbGV0ZSIsbj0iIixzPWE9PT0iZXh0ZW5kZWQiPyItIjoiIixvPWE9PT0iZXh0ZW5kZWQiPyI6IjoiIjtpZihpIT09InRpbWUiKXtsZXQgYz1pdChyLmdldERhdGUoKSwyKSxsPWl0KHIuZ2V0TW9udGgoKSsxLDIpO249YCR7aXQoci5nZXRGdWxsWWVhcigpLDQpfSR7c30ke2x9JHtzfSR7Y31gfWlmKGkhPT0iZGF0ZSIpe2xldCBjPWl0KHIuZ2V0SG91cnMoKSwyKSxsPWl0KHIuZ2V0TWludXRlcygpLDIpLHU9aXQoci5nZXRTZWNvbmRzKCksMik7bj1gJHtufSR7bj09PSIiPyIiOiIgIn0ke2N9JHtvfSR7bH0ke299JHt1fWB9cmV0dXJuIG59dmFyIEI3aSxoRmU9ZigoKT0+e1FkKCk7dGMoKTtPZSgpO0I3aT1mRmV9KTtmdW5jdGlvbiBtRmUoZSl7bGV0e3llYXJzOnQ9MCxtb250aHM6cj0wLGRheXM6YT0wLGhvdXJzOmk9MCxtaW51dGVzOm49MCxzZWNvbmRzOnM9MH09ZTtyZXR1cm5gUCR7dH1ZJHtyfU0ke2F9RFQke2l9SCR7bn1NJHtzfVNgfXZhciBxN2ksZ0ZlPWYoKCk9PntxN2k9bUZlfSk7ZnVuY3Rpb24gYkZlKGUsdCl7bGV0IHI9ZmUoZSx0Py5pbik7aWYoIVppKHIpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgYT10Py5mcmFjdGlvbkRpZ2l0cz8/MCxpPWl0KHIuZ2V0RGF0ZSgpLDIpLG49aXQoci5nZXRNb250aCgpKzEsMikscz1yLmdldEZ1bGxZZWFyKCksbz1pdChyLmdldEhvdXJzKCksMiksYz1pdChyLmdldE1pbnV0ZXMoKSwyKSxsPWl0KHIuZ2V0U2Vjb25kcygpLDIpLHU9IiI7aWYoYT4wKXtsZXQgbT1yLmdldE1pbGxpc2Vjb25kcygpLHY9TWF0aC50cnVuYyhtKk1hdGgucG93KDEwLGEtMykpO3U9Ii4iK2l0KHYsYSl9bGV0IGQ9IiIsaD1yLmdldFRpbWV6b25lT2Zmc2V0KCk7aWYoaCE9PTApe2xldCBtPU1hdGguYWJzKGgpLHY9aXQoTWF0aC50cnVuYyhtLzYwKSwyKSxiPWl0KG0lNjAsMik7ZD1gJHtoPDA/IisiOiItIn0ke3Z9OiR7Yn1gfWVsc2UgZD0iWiI7cmV0dXJuYCR7c30tJHtufS0ke2l9VCR7b306JHtjfToke2x9JHt1fSR7ZH1gfXZhciBHN2ksdkZlPWYoKCk9PntRZCgpO3RjKCk7T2UoKTtHN2k9YkZlfSk7ZnVuY3Rpb24geEZlKGUpe2xldCB0PWZlKGUpO2lmKCFaaSh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHI9QkVyW3QuZ2V0VVRDRGF5KCldLGE9aXQodC5nZXRVVENEYXRlKCksMiksaT1IRXJbdC5nZXRVVENNb250aCgpXSxuPXQuZ2V0VVRDRnVsbFllYXIoKSxzPWl0KHQuZ2V0VVRDSG91cnMoKSwyKSxvPWl0KHQuZ2V0VVRDTWludXRlcygpLDIpLGM9aXQodC5nZXRVVENTZWNvbmRzKCksMik7cmV0dXJuYCR7cn0sICR7YX0gJHtpfSAke259ICR7c306JHtvfToke2N9IEdNVGB9dmFyIEJFcixIRXIsSjdpLHlGZT1mKCgpPT57UWQoKTt0YygpO09lKCk7QkVyPVsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sSEVyPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07SjdpPXhGZX0pO2Z1bmN0aW9uIHdGZShlLHQscil7bGV0W2EsaV09dXQocj8uaW4sZSx0KSxuPUFyKCkscz1yPy5sb2NhbGU/P24ubG9jYWxlPz9DMSxvPXI/LndlZWtTdGFydHNPbj8/cj8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P24ud2Vla1N0YXJ0c09uPz9uLmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGM9SWkoYSxpKTtpZihpc05hTihjKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGw7YzwtNj9sPSJvdGhlciI6YzwtMT9sPSJsYXN0V2VlayI6YzwwP2w9Inllc3RlcmRheSI6YzwxP2w9InRvZGF5IjpjPDI/bD0idG9tb3Jyb3ciOmM8Nz9sPSJuZXh0V2VlayI6bD0ib3RoZXIiO2xldCB1PXMuZm9ybWF0UmVsYXRpdmUobCxhLGkse2xvY2FsZTpzLHdlZWtTdGFydHNPbjpvfSk7cmV0dXJuIG85KGEsdSx7bG9jYWxlOnMsd2Vla1N0YXJ0c09uOm99KX12YXIgbjlpLE1GZT1mKCgpPT57WmQoKTtTbigpO1ZyKCk7ZWMoKTtxSigpO245aT13RmV9KTtmdW5jdGlvbiBrRmUoZSx0KXtyZXR1cm4gZmUoZSoxZTMsdD8uaW4pfXZhciBsOWksU0ZlPWYoKCk9PntPZSgpO2w5aT1rRmV9KTtmdW5jdGlvbiBlVChlLHQpe3JldHVybiBmZShlLHQ/LmluKS5nZXREYXRlKCl9dmFyIHU5aSxVSj1mKCgpPT57T2UoKTt1OWk9ZVR9KTtmdW5jdGlvbiBjNChlLHQpe3JldHVybiBmZShlLHQ/LmluKS5nZXREYXkoKX12YXIgaDlpLGw5PWYoKCk9PntPZSgpO2g5aT1jNH0pO2Z1bmN0aW9uIHRUKGUsdCl7bGV0IHI9ZmUoZSx0Py5pbiksYT1yLmdldEZ1bGxZZWFyKCksaT1yLmdldE1vbnRoKCksbj1OZShyLDApO3JldHVybiBuLnNldEZ1bGxZZWFyKGEsaSsxLDApLG4uc2V0SG91cnMoMCwwLDAsMCksbi5nZXREYXRlKCl9dmFyIHY5aSxXSj1mKCgpPT57Z3QoKTtPZSgpO3Y5aT10VH0pO2Z1bmN0aW9uIHJUKGUsdCl7bGV0IGE9ZmUoZSx0Py5pbikuZ2V0RnVsbFllYXIoKTtyZXR1cm4gYSU0MDA9PT0wfHxhJTQ9PT0wJiZhJTEwMCE9PTB9dmFyIHc5aSxHSj1mKCgpPT57T2UoKTt3OWk9clR9KTtmdW5jdGlvbiB6RmUoZSx0KXtsZXQgcj1mZShlLHQ/LmluKTtyZXR1cm4gTnVtYmVyLmlzTmFOKCtyKT9OYU46clQocik/MzY2OjM2NX12YXIgejlpLENGZT1mKCgpPT57R0ooKTtPZSgpO3o5aT16RmV9KTtmdW5jdGlvbiBURmUoZSx0KXtsZXQgYT1mZShlLHQ/LmluKS5nZXRGdWxsWWVhcigpO3JldHVybiBNYXRoLmZsb29yKGEvMTApKjEwfXZhciBfOWksX0ZlPWYoKCk9PntPZSgpO185aT1URmV9KTtmdW5jdGlvbiBhVCgpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LEFyKCkpfXZhciBEOWksWUo9ZigoKT0+e1NuKCk7RDlpPWFUfSk7ZnVuY3Rpb24gTEZlKGUsdCl7cmV0dXJuIGZlKGUsdD8uaW4pLmdldEhvdXJzKCl9dmFyIEk5aSwkRmU9ZigoKT0+e09lKCk7STlpPUxGZX0pO2Z1bmN0aW9uIGlUKGUsdCl7bGV0IHI9ZmUoZSx0Py5pbikuZ2V0RGF5KCk7cmV0dXJuIHI9PT0wPzc6cn12YXIgRjlpLFpKPWYoKCk9PntPZSgpO0Y5aT1pVH0pO2Z1bmN0aW9uIERGZShlLHQpe2xldCByPVYxKGUsdCksaT0rVjEoYTQociw2MCkpLStyO3JldHVybiBNYXRoLnJvdW5kKGkvUDIpfXZhciBxOWksQUZlPWYoKCk9PntLNygpO1J0KCk7RXAoKTtxOWk9REZlfSk7ZnVuY3Rpb24gRUZlKGUpe3JldHVybiBmZShlKS5nZXRNaWxsaXNlY29uZHMoKX12YXIgVTlpLElGZT1mKCgpPT57T2UoKTtVOWk9RUZlfSk7ZnVuY3Rpb24gUEZlKGUsdCl7cmV0dXJuIGZlKGUsdD8uaW4pLmdldE1pbnV0ZXMoKX12YXIgWTlpLE5GZT1mKCgpPT57T2UoKTtZOWk9UEZlfSk7ZnVuY3Rpb24gRkZlKGUsdCl7cmV0dXJuIGZlKGUsdD8uaW4pLmdldE1vbnRoKCl9dmFyIFE5aSxPRmU9ZigoKT0+e09lKCk7UTlpPUZGZX0pO2Z1bmN0aW9uIFJGZShlLHQpe2xldFtyLGFdPVsrZmUoZS5zdGFydCksK2ZlKGUuZW5kKV0uc29ydCgoZCxoKT0+ZC1oKSxbaSxuXT1bK2ZlKHQuc3RhcnQpLCtmZSh0LmVuZCldLnNvcnQoKGQsaCk9PmQtaCk7aWYoIShyPG4mJmk8YSkpcmV0dXJuIDA7bGV0IG89aTxyP3I6aSxjPW8tSWEobyksbD1uPmE/YTpuLHU9bC1JYShsKTtyZXR1cm4gTWF0aC5jZWlsKCh1LWMpL29DKX12YXIgcmdpLEJGZT1mKCgpPT57S2woKTtSdCgpO09lKCk7cmdpPVJGZX0pO2Z1bmN0aW9uIEhGZShlKXtyZXR1cm4gZmUoZSkuZ2V0U2Vjb25kcygpfXZhciBuZ2kscUZlPWYoKCk9PntPZSgpO25naT1IRmV9KTtmdW5jdGlvbiBqRmUoZSl7cmV0dXJuK2ZlKGUpfXZhciBsZ2ksVkZlPWYoKCk9PntPZSgpO2xnaT1qRmV9KTtmdW5jdGlvbiBVRmUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoK2ZlKGUpLzFlMyl9dmFyIHVnaSxXRmU9ZigoKT0+e09lKCk7dWdpPVVGZX0pO2Z1bmN0aW9uIEdGZShlLHQpe2xldCByPUFyKCksYT10Py53ZWVrU3RhcnRzT24/P3Q/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9yLndlZWtTdGFydHNPbj8/ci5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxpPWVUKGZlKGUsdD8uaW4pKTtpZihpc05hTihpKSlyZXR1cm4gTmFOO2xldCBuPWM0KHM0KGUsdCkpLHM9YS1uO3M8PTAmJihzKz03KTtsZXQgbz1pLXM7cmV0dXJuIE1hdGguY2VpbChvLzcpKzF9dmFyIHZnaSxZRmU9ZigoKT0+e1NuKCk7VUooKTtsOSgpO2E5KCk7T2UoKTt2Z2k9R0ZlfSk7ZnVuY3Rpb24gblQoZSx0KXtsZXQgcj1mZShlLHQ/LmluKSxhPXIuZ2V0TW9udGgoKTtyZXR1cm4gci5zZXRGdWxsWWVhcihyLmdldEZ1bGxZZWFyKCksYSsxLDApLHIuc2V0SG91cnMoMCwwLDAsMCksZmUocix0Py5pbil9dmFyIHdnaSxYSj1mKCgpPT57T2UoKTt3Z2k9blR9KTtmdW5jdGlvbiBaRmUoZSx0KXtsZXQgcj1mZShlLHQ/LmluKTtyZXR1cm4gV2QoblQocix0KSxzNChyLHQpLHQpKzF9dmFyIFRnaSxYRmU9ZigoKT0+e19DKCk7WEooKTthOSgpO09lKCk7VGdpPVpGZX0pO2Z1bmN0aW9uIFFGZShlLHQpe3JldHVybiBmZShlLHQ/LmluKS5nZXRGdWxsWWVhcigpfXZhciAkZ2ksSkZlPWYoKCk9PntPZSgpOyRnaT1RRmV9KTtmdW5jdGlvbiBLRmUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSpqMSl9dmFyIEVnaSxlT2U9ZigoKT0+e1J0KCk7RWdpPUtGZX0pO2Z1bmN0aW9uIHRPZShlKXtyZXR1cm4gTWF0aC50cnVuYyhlKmxDKX12YXIgTmdpLHJPZT1mKCgpPT57UnQoKTtOZ2k9dE9lfSk7ZnVuY3Rpb24gYU9lKGUpe3JldHVybiBNYXRoLnRydW5jKGUqamQpfXZhciBSZ2ksaU9lPWYoKCk9PntSdCgpO1JnaT1hT2V9KTtmdW5jdGlvbiBuT2UoZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCk7aWYoaXNOYU4oK2EpKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0YXJ0IGRhdGUgaXMgaW52YWxpZCIpO2lmKGlzTmFOKCtpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFbmQgZGF0ZSBpcyBpbnZhbGlkIik7aWYocj8uYXNzZXJ0UG9zaXRpdmUmJithPitpKXRocm93IG5ldyBUeXBlRXJyb3IoIkVuZCBkYXRlIG11c3QgYmUgYWZ0ZXIgc3RhcnQgZGF0ZSIpO3JldHVybntzdGFydDphLGVuZDppfX12YXIgcWdpLHNPZT1mKCgpPT57VnIoKTtxZ2k9bk9lfSk7ZnVuY3Rpb24gb09lKGUsdCl7bGV0e3N0YXJ0OnIsZW5kOmF9PVBpKHQ/LmluLGUpLGk9e30sbj1PQyhhLHIpO24mJihpLnllYXJzPW4pO2xldCBzPWU0KHIse3llYXJzOmkueWVhcnN9KSxvPW40KGEscyk7byYmKGkubW9udGhzPW8pO2xldCBjPWU0KHMse21vbnRoczppLm1vbnRoc30pLGw9T3AoYSxjKTtsJiYoaS5kYXlzPWwpO2xldCB1PWU0KGMse2RheXM6aS5kYXlzfSksZD1HZChhLHUpO2QmJihpLmhvdXJzPWQpO2xldCBoPWU0KHUse2hvdXJzOmkuaG91cnN9KSxtPVlkKGEsaCk7bSYmKGkubWludXRlcz1tKTtsZXQgdj1lNChoLHttaW51dGVzOmkubWludXRlc30pLGI9cTIoYSx2KTtyZXR1cm4gYiYmKGkuc2Vjb25kcz1iKSxpfXZhciBKZ2ksbE9lPWYoKCk9PntqMigpO2dKKCk7JEMoKTtEQygpO0lDKCk7dDkoKTtyOSgpO0lKKCk7SmdpPW9PZX0pO2Z1bmN0aW9uIGNPZShlLHQscil7bGV0IGE7cmV0dXJuIHFFcih0KT9hPXQ6cj10LG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHI/LmxvY2FsZSxhKS5mb3JtYXQoZmUoZSkpfWZ1bmN0aW9uIHFFcihlKXtyZXR1cm4gZSE9PXZvaWQgMCYmISgibG9jYWxlImluIGUpfXZhciB0YmksZE9lPWYoKCk9PntPZSgpO3RiaT1jT2V9KTtmdW5jdGlvbiB1T2UoZSx0LHIpe2xldCBhPTAsaSxbbixzXT11dChyPy5pbixlLHQpO2lmKHI/LnVuaXQpaT1yPy51bml0LGk9PT0ic2Vjb25kIj9hPXEyKG4scyk6aT09PSJtaW51dGUiP2E9WWQobixzKTppPT09ImhvdXIiP2E9R2QobixzKTppPT09ImRheSI/YT1JaShuLHMpOmk9PT0id2VlayI/YT1XZChuLHMpOmk9PT0ibW9udGgiP2E9VWQobixzKTppPT09InF1YXJ0ZXIiP2E9RnAobixzKTppPT09InllYXIiJiYoYT1pNChuLHMpKTtlbHNle2xldCBjPXEyKG4scyk7TWF0aC5hYnMoYyk8RHA/KGE9cTIobixzKSxpPSJzZWNvbmQiKTpNYXRoLmFicyhjKTxqZD8oYT1ZZChuLHMpLGk9Im1pbnV0ZSIpOk1hdGguYWJzKGMpPG5DJiZNYXRoLmFicyhJaShuLHMpKTwxPyhhPUdkKG4scyksaT0iaG91ciIpOk1hdGguYWJzKGMpPERQZSYmKGE9SWkobixzKSkmJk1hdGguYWJzKGEpPDc/aT0iZGF5IjpNYXRoLmFicyhjKTxoSj8oYT1XZChuLHMpLGk9IndlZWsiKTpNYXRoLmFicyhjKTxBUGU/KGE9VWQobixzKSxpPSJtb250aCIpOk1hdGguYWJzKGMpPGZKP0ZwKG4scyk8ND8oYT1GcChuLHMpLGk9InF1YXJ0ZXIiKTooYT1pNChuLHMpLGk9InllYXIiKTooYT1pNChuLHMpLGk9InllYXIiKX1yZXR1cm4gbmV3IEludGwuUmVsYXRpdmVUaW1lRm9ybWF0KHI/LmxvY2FsZSx7bnVtZXJpYzoiYXV0byIsLi4ucn0pLmZvcm1hdChhLGkpfXZhciBmYmkscE9lPWYoKCk9PntWcigpO1J0KCk7ZWMoKTtUQygpO0RKKCk7X0MoKTtMQygpO0RDKCk7SUMoKTtyOSgpO2ZiaT11T2V9KTtmdW5jdGlvbiBmT2UoZSx0KXtyZXR1cm4rZmUoZSk+K2ZlKHQpfXZhciBnYmksaE9lPWYoKCk9PntPZSgpO2diaT1mT2V9KTtmdW5jdGlvbiBtT2UoZSx0KXtyZXR1cm4rZmUoZSk8K2ZlKHQpfXZhciB4YmksZ09lPWYoKCk9PntPZSgpO3hiaT1tT2V9KTtmdW5jdGlvbiBiT2UoZSx0KXtyZXR1cm4rZmUoZSk9PStmZSh0KX12YXIgTWJpLHZPZT1mKCgpPT57T2UoKTtNYmk9Yk9lfSk7ZnVuY3Rpb24geE9lKGUsdCxyKXtsZXQgYT1uZXcgRGF0ZShlLHQscik7cmV0dXJuIGEuZ2V0RnVsbFllYXIoKT09PWUmJmEuZ2V0TW9udGgoKT09PXQmJmEuZ2V0RGF0ZSgpPT09cn12YXIgU2JpLHlPZT1mKCgpPT57U2JpPXhPZX0pO2Z1bmN0aW9uIHdPZShlLHQpe3JldHVybiBmZShlLHQ/LmluKS5nZXREYXRlKCk9PT0xfXZhciBUYmksTU9lPWYoKCk9PntPZSgpO1RiaT13T2V9KTtmdW5jdGlvbiBrT2UoZSx0KXtyZXR1cm4gZmUoZSx0Py5pbikuZ2V0RGF5KCk9PT01fXZhciAkYmksU09lPWYoKCk9PntPZSgpOyRiaT1rT2V9KTtmdW5jdGlvbiB6T2UoZSl7cmV0dXJuK2ZlKGUpPkRhdGUubm93KCl9dmFyIEViaSxDT2U9ZigoKT0+e09lKCk7RWJpPXpPZX0pO2Z1bmN0aW9uIHNUKGUsdCl7bGV0IHI9akVyKHQpP25ldyB0KDApOk5lKHQsMCk7cmV0dXJuIHIuc2V0RnVsbFllYXIoZS5nZXRGdWxsWWVhcigpLGUuZ2V0TW9udGgoKSxlLmdldERhdGUoKSksci5zZXRIb3VycyhlLmdldEhvdXJzKCksZS5nZXRNaW51dGVzKCksZS5nZXRTZWNvbmRzKCksZS5nZXRNaWxsaXNlY29uZHMoKSkscn1mdW5jdGlvbiBqRXIoZSl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlLnByb3RvdHlwZT8uY29uc3RydWN0b3I9PT1lfXZhciBOYmksUUo9ZigoKT0+e2d0KCk7TmJpPXNUfSk7dmFyIFZFcixvVCxsVCxjVCxKSj1mKCgpPT57Z3QoKTtRSigpO1ZFcj0xMCxvVD1jbGFzc3tzdWJQcmlvcml0eT0wO3ZhbGlkYXRlKHQscil7cmV0dXJuITB9fSxsVD1jbGFzcyBleHRlbmRzIG9Ue2NvbnN0cnVjdG9yKHQscixhLGksbil7c3VwZXIoKSx0aGlzLnZhbHVlPXQsdGhpcy52YWxpZGF0ZVZhbHVlPXIsdGhpcy5zZXRWYWx1ZT1hLHRoaXMucHJpb3JpdHk9aSxuJiYodGhpcy5zdWJQcmlvcml0eT1uKX12YWxpZGF0ZSh0LHIpe3JldHVybiB0aGlzLnZhbGlkYXRlVmFsdWUodCx0aGlzLnZhbHVlLHIpfXNldCh0LHIsYSl7cmV0dXJuIHRoaXMuc2V0VmFsdWUodCxyLHRoaXMudmFsdWUsYSl9fSxjVD1jbGFzcyBleHRlbmRzIG9Ue3ByaW9yaXR5PVZFcjtzdWJQcmlvcml0eT0tMTtjb25zdHJ1Y3Rvcih0LHIpe3N1cGVyKCksdGhpcy5jb250ZXh0PXR8fChhPT5OZShyLGEpKX1zZXQodCxyKXtyZXR1cm4gci50aW1lc3RhbXBJc1NldD90Ok5lKHQsc1QodCx0aGlzLmNvbnRleHQpKX19fSk7dmFyIHR0LHlyPWYoKCk9PntKSigpO3R0PWNsYXNze3J1bih0LHIsYSxpKXtsZXQgbj10aGlzLnBhcnNlKHQscixhLGkpO3JldHVybiBuP3tzZXR0ZXI6bmV3IGxUKG4udmFsdWUsdGhpcy52YWxpZGF0ZSx0aGlzLnNldCx0aGlzLnByaW9yaXR5LHRoaXMuc3ViUHJpb3JpdHkpLHJlc3Q6bi5yZXN0fTpudWxsfXZhbGlkYXRlKHQscixhKXtyZXR1cm4hMH19fSk7dmFyIGRULFRPZT1mKCgpPT57eXIoKTtkVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTE0MDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiRyI6Y2FzZSJHRyI6Y2FzZSJHR0ciOnJldHVybiBhLmVyYSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQifSl8fGEuZXJhKHQse3dpZHRoOiJuYXJyb3cifSk7Y2FzZSJHR0dHRyI6cmV0dXJuIGEuZXJhKHQse3dpZHRoOiJuYXJyb3cifSk7ZGVmYXVsdDpyZXR1cm4gYS5lcmEodCx7d2lkdGg6IndpZGUifSl8fGEuZXJhKHQse3dpZHRoOiJhYmJyZXZpYXRlZCJ9KXx8YS5lcmEodCx7d2lkdGg6Im5hcnJvdyJ9KX19c2V0KHQscixhKXtyZXR1cm4gci5lcmE9YSx0LnNldEZ1bGxZZWFyKGEsMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiUiIsInUiLCJ0IiwiVCJdfX0pO3ZhciB1cixUcyxUbj1mKCgpPT57dXI9e21vbnRoOi9eKDFbMC0yXXwwP1xkKS8sZGF0ZTovXigzWzAtMV18WzAtMl0/XGQpLyxkYXlPZlllYXI6L14oMzZbMC02XXwzWzAtNV1cZHxbMC0yXT9cZD9cZCkvLHdlZWs6L14oNVswLTNdfFswLTRdP1xkKS8saG91cjIzaDovXigyWzAtM118WzAtMV0/XGQpLyxob3VyMjRoOi9eKDJbMC00XXxbMC0xXT9cZCkvLGhvdXIxMWg6L14oMVswLTFdfDA/XGQpLyxob3VyMTJoOi9eKDFbMC0yXXwwP1xkKS8sbWludXRlOi9eWzAtNV0/XGQvLHNlY29uZDovXlswLTVdP1xkLyxzaW5nbGVEaWdpdDovXlxkLyx0d29EaWdpdHM6L15cZHsxLDJ9Lyx0aHJlZURpZ2l0czovXlxkezEsM30vLGZvdXJEaWdpdHM6L15cZHsxLDR9LyxhbnlEaWdpdHNTaWduZWQ6L14tP1xkKy8sc2luZ2xlRGlnaXRTaWduZWQ6L14tP1xkLyx0d29EaWdpdHNTaWduZWQ6L14tP1xkezEsMn0vLHRocmVlRGlnaXRzU2lnbmVkOi9eLT9cZHsxLDN9Lyxmb3VyRGlnaXRzU2lnbmVkOi9eLT9cZHsxLDR9L30sVHM9e2Jhc2ljT3B0aW9uYWxNaW51dGVzOi9eKFsrLV0pKFxkezJ9KShcZHsyfSk/fFovLGJhc2ljOi9eKFsrLV0pKFxkezJ9KShcZHsyfSl8Wi8sYmFzaWNPcHRpb25hbFNlY29uZHM6L14oWystXSkoXGR7Mn0pKFxkezJ9KSgoXGR7Mn0pKT98Wi8sZXh0ZW5kZWQ6L14oWystXSkoXGR7Mn0pOihcZHsyfSl8Wi8sZXh0ZW5kZWRPcHRpb25hbFNlY29uZHM6L14oWystXSkoXGR7Mn0pOihcZHsyfSkoOihcZHsyfSkpP3xaL319KTtmdW5jdGlvbiBVcihlLHQpe3JldHVybiBlJiZ7dmFsdWU6dChlLnZhbHVlKSxyZXN0OmUucmVzdH19ZnVuY3Rpb24gbHIoZSx0KXtsZXQgcj10Lm1hdGNoKGUpO3JldHVybiByP3t2YWx1ZTpwYXJzZUludChyWzBdLDEwKSxyZXN0OnQuc2xpY2UoclswXS5sZW5ndGgpfTpudWxsfWZ1bmN0aW9uIF9zKGUsdCl7bGV0IHI9dC5tYXRjaChlKTtpZighcilyZXR1cm4gbnVsbDtpZihyWzBdPT09IloiKXJldHVybnt2YWx1ZTowLHJlc3Q6dC5zbGljZSgxKX07bGV0IGE9clsxXT09PSIrIj8xOi0xLGk9clsyXT9wYXJzZUludChyWzJdLDEwKTowLG49clszXT9wYXJzZUludChyWzNdLDEwKTowLHM9cls1XT9wYXJzZUludChyWzVdLDEwKTowO3JldHVybnt2YWx1ZTphKihpKmoxK24qa24rcypMcCkscmVzdDp0LnNsaWNlKHJbMF0ubGVuZ3RoKX19ZnVuY3Rpb24gdVQoZSl7cmV0dXJuIGxyKHVyLmFueURpZ2l0c1NpZ25lZCxlKX1mdW5jdGlvbiBOdChlLHQpe3N3aXRjaChlKXtjYXNlIDE6cmV0dXJuIGxyKHVyLnNpbmdsZURpZ2l0LHQpO2Nhc2UgMjpyZXR1cm4gbHIodXIudHdvRGlnaXRzLHQpO2Nhc2UgMzpyZXR1cm4gbHIodXIudGhyZWVEaWdpdHMsdCk7Y2FzZSA0OnJldHVybiBscih1ci5mb3VyRGlnaXRzLHQpO2RlZmF1bHQ6cmV0dXJuIGxyKG5ldyBSZWdFeHAoIl5cXGR7MSwiK2UrIn0iKSx0KX19ZnVuY3Rpb24gWnAoZSx0KXtzd2l0Y2goZSl7Y2FzZSAxOnJldHVybiBscih1ci5zaW5nbGVEaWdpdFNpZ25lZCx0KTtjYXNlIDI6cmV0dXJuIGxyKHVyLnR3b0RpZ2l0c1NpZ25lZCx0KTtjYXNlIDM6cmV0dXJuIGxyKHVyLnRocmVlRGlnaXRzU2lnbmVkLHQpO2Nhc2UgNDpyZXR1cm4gbHIodXIuZm91ckRpZ2l0c1NpZ25lZCx0KTtkZWZhdWx0OnJldHVybiBscihuZXcgUmVnRXhwKCJeLT9cXGR7MSwiK2UrIn0iKSx0KX19ZnVuY3Rpb24gWHAoZSl7c3dpdGNoKGUpe2Nhc2UibW9ybmluZyI6cmV0dXJuIDQ7Y2FzZSJldmVuaW5nIjpyZXR1cm4gMTc7Y2FzZSJwbSI6Y2FzZSJub29uIjpjYXNlImFmdGVybm9vbiI6cmV0dXJuIDEyO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIHBUKGUsdCl7bGV0IHI9dD4wLGE9cj90OjEtdCxpO2lmKGE8PTUwKWk9ZXx8MTAwO2Vsc2V7bGV0IG49YSs1MCxzPU1hdGgudHJ1bmMobi8xMDApKjEwMCxvPWU+PW4lMTAwO2k9ZStzLShvPzEwMDowKX1yZXR1cm4gcj9pOjEtaX1mdW5jdGlvbiBmVChlKXtyZXR1cm4gZSU0MDA9PT0wfHxlJTQ9PT0wJiZlJTEwMCE9PTB9dmFyIEVyPWYoKCk9PntSdCgpO1RuKCl9KTt2YXIgaFQsX09lPWYoKCk9Pnt5cigpO0VyKCk7aFQ9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT0xMzA7aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJ1IiwidyIsIkkiLCJpIiwiZSIsImMiLCJ0IiwiVCJdO3BhcnNlKHQscixhKXtsZXQgaT1uPT4oe3llYXI6bixpc1R3b0RpZ2l0WWVhcjpyPT09Inl5In0pO3N3aXRjaChyKXtjYXNlInkiOnJldHVybiBVcihOdCg0LHQpLGkpO2Nhc2UieW8iOnJldHVybiBVcihhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoieWVhciJ9KSxpKTtkZWZhdWx0OnJldHVybiBVcihOdChyLmxlbmd0aCx0KSxpKX19dmFsaWRhdGUodCxyKXtyZXR1cm4gci5pc1R3b0RpZ2l0WWVhcnx8ci55ZWFyPjB9c2V0KHQscixhKXtsZXQgaT10LmdldEZ1bGxZZWFyKCk7aWYoYS5pc1R3b0RpZ2l0WWVhcil7bGV0IHM9cFQoYS55ZWFyLGkpO3JldHVybiB0LnNldEZ1bGxZZWFyKHMsMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9bGV0IG49ISgiZXJhImluIHIpfHxyLmVyYT09PTE/YS55ZWFyOjEtYS55ZWFyO3JldHVybiB0LnNldEZ1bGxZZWFyKG4sMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9fX0pO3ZhciBtVCxMT2U9ZigoKT0+e2k5KCk7d28oKTt5cigpO0VyKCk7bVQ9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT0xMzA7cGFyc2UodCxyLGEpe2xldCBpPW49Pih7eWVhcjpuLGlzVHdvRGlnaXRZZWFyOnI9PT0iWVkifSk7c3dpdGNoKHIpe2Nhc2UiWSI6cmV0dXJuIFVyKE50KDQsdCksaSk7Y2FzZSJZbyI6cmV0dXJuIFVyKGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJ5ZWFyIn0pLGkpO2RlZmF1bHQ6cmV0dXJuIFVyKE50KHIubGVuZ3RoLHQpLGkpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByLmlzVHdvRGlnaXRZZWFyfHxyLnllYXI+MH1zZXQodCxyLGEsaSl7bGV0IG49bzQodCxpKTtpZihhLmlzVHdvRGlnaXRZZWFyKXtsZXQgbz1wVChhLnllYXIsbik7cmV0dXJuIHQuc2V0RnVsbFllYXIobywwLGkuZmlyc3RXZWVrQ29udGFpbnNEYXRlKSx0LnNldEhvdXJzKDAsMCwwLDApLGFhKHQsaSl9bGV0IHM9ISgiZXJhImluIHIpfHxyLmVyYT09PTE/YS55ZWFyOjEtYS55ZWFyO3JldHVybiB0LnNldEZ1bGxZZWFyKHMsMCxpLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSksdC5zZXRIb3VycygwLDAsMCwwKSxhYSh0LGkpfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsIlEiLCJxIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJpIiwidCIsIlQiXX19KTt2YXIgZ1QsJE9lPWYoKCk9PntSMigpO2d0KCk7eXIoKTtFcigpO2dUPWNsYXNzIGV4dGVuZHMgdHR7cHJpb3JpdHk9MTMwO3BhcnNlKHQscil7cmV0dXJuIHI9PT0iUiI/WnAoNCx0KTpacChyLmxlbmd0aCx0KX1zZXQodCxyLGEpe2xldCBpPU5lKHQsMCk7cmV0dXJuIGkuc2V0RnVsbFllYXIoYSwwLDQpLGkuc2V0SG91cnMoMCwwLDAsMCksYWkoaSl9aW5jb21wYXRpYmxlVG9rZW5zPVsiRyIsInkiLCJZIiwidSIsIlEiLCJxIiwiTSIsIkwiLCJ3IiwiZCIsIkQiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIGJULERPZT1mKCgpPT57eXIoKTtFcigpO2JUPWNsYXNzIGV4dGVuZHMgdHR7cHJpb3JpdHk9MTMwO3BhcnNlKHQscil7cmV0dXJuIHI9PT0idSI/WnAoNCx0KTpacChyLmxlbmd0aCx0KX1zZXQodCxyLGEpe3JldHVybiB0LnNldEZ1bGxZZWFyKGEsMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiRyIsInkiLCJZIiwiUiIsInciLCJJIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgdlQsQU9lPWYoKCk9Pnt5cigpO0VyKCk7dlQ9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT0xMjA7cGFyc2UodCxyLGEpe3N3aXRjaChyKXtjYXNlIlEiOmNhc2UiUVEiOnJldHVybiBOdChyLmxlbmd0aCx0KTtjYXNlIlFvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6InF1YXJ0ZXIifSk7Y2FzZSJRUVEiOnJldHVybiBhLnF1YXJ0ZXIodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLnF1YXJ0ZXIodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIlFRUVFRIjpyZXR1cm4gYS5xdWFydGVyKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gYS5xdWFydGVyKHQse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLnF1YXJ0ZXIodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLnF1YXJ0ZXIodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19dmFsaWRhdGUodCxyKXtyZXR1cm4gcj49MSYmcjw9NH1zZXQodCxyLGEpe3JldHVybiB0LnNldE1vbnRoKChhLTEpKjMsMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIk0iLCJMIiwidyIsIkkiLCJkIiwiRCIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIHhULEVPZT1mKCgpPT57eXIoKTtFcigpO3hUPWNsYXNzIGV4dGVuZHMgdHR7cHJpb3JpdHk9MTIwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJxIjpjYXNlInFxIjpyZXR1cm4gTnQoci5sZW5ndGgsdCk7Y2FzZSJxbyI6cmV0dXJuIGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJxdWFydGVyIn0pO2Nhc2UicXFxIjpyZXR1cm4gYS5xdWFydGVyKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5xdWFydGVyKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJxcXFxcSI6cmV0dXJuIGEucXVhcnRlcih0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2RlZmF1bHQ6cmV0dXJuIGEucXVhcnRlcih0LHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5xdWFydGVyKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5xdWFydGVyKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTEmJnI8PTR9c2V0KHQscixhKXtyZXR1cm4gdC5zZXRNb250aCgoYS0xKSozLDEpLHQuc2V0SG91cnMoMCwwLDAsMCksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsIlEiLCJNIiwiTCIsInciLCJJIiwiZCIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciB5VCxJT2U9ZigoKT0+e1RuKCk7eXIoKTtFcigpO3lUPWNsYXNzIGV4dGVuZHMgdHR7aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiUSIsIkwiLCJ3IiwiSSIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdO3ByaW9yaXR5PTExMDtwYXJzZSh0LHIsYSl7bGV0IGk9bj0+bi0xO3N3aXRjaChyKXtjYXNlIk0iOnJldHVybiBVcihscih1ci5tb250aCx0KSxpKTtjYXNlIk1NIjpyZXR1cm4gVXIoTnQoMix0KSxpKTtjYXNlIk1vIjpyZXR1cm4gVXIoYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6Im1vbnRoIn0pLGkpO2Nhc2UiTU1NIjpyZXR1cm4gYS5tb250aCh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEubW9udGgodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIk1NTU1NIjpyZXR1cm4gYS5tb250aCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIGEubW9udGgodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEubW9udGgodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLm1vbnRoKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTAmJnI8PTExfXNldCh0LHIsYSl7cmV0dXJuIHQuc2V0TW9udGgoYSwxKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9fX0pO3ZhciB3VCxQT2U9ZigoKT0+e1RuKCk7eXIoKTtFcigpO3dUPWNsYXNzIGV4dGVuZHMgdHR7cHJpb3JpdHk9MTEwO3BhcnNlKHQscixhKXtsZXQgaT1uPT5uLTE7c3dpdGNoKHIpe2Nhc2UiTCI6cmV0dXJuIFVyKGxyKHVyLm1vbnRoLHQpLGkpO2Nhc2UiTEwiOnJldHVybiBVcihOdCgyLHQpLGkpO2Nhc2UiTG8iOnJldHVybiBVcihhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoibW9udGgifSksaSk7Y2FzZSJMTEwiOnJldHVybiBhLm1vbnRoKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5tb250aCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiTExMTEwiOnJldHVybiBhLm1vbnRoKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gYS5tb250aCh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5tb250aCh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fGEubW9udGgodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19dmFsaWRhdGUodCxyKXtyZXR1cm4gcj49MCYmcjw9MTF9c2V0KHQscixhKXtyZXR1cm4gdC5zZXRNb250aChhLDEpLHQuc2V0SG91cnMoMCwwLDAsMCksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInEiLCJRIiwiTSIsInciLCJJIiwiRCIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7ZnVuY3Rpb24gTVQoZSx0LHIpe2xldCBhPWZlKGUscj8uaW4pLGk9R3AoYSxyKS10O3JldHVybiBhLnNldERhdGUoYS5nZXREYXRlKCktaSo3KSxmZShhLHI/LmluKX12YXIgVHZpLEtKPWYoKCk9PntaQygpO09lKCk7VHZpPU1UfSk7dmFyIGtULE5PZT1mKCgpPT57S0ooKTt3bygpO1RuKCk7eXIoKTtFcigpO2tUPWNsYXNzIGV4dGVuZHMgdHR7cHJpb3JpdHk9MTAwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJ3IjpyZXR1cm4gbHIodXIud2Vlayx0KTtjYXNlIndvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6IndlZWsifSk7ZGVmYXVsdDpyZXR1cm4gTnQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTEmJnI8PTUzfXNldCh0LHIsYSxpKXtyZXR1cm4gYWEoTVQodCxhLGkpLGkpfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsInEiLCJRIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJpIiwidCIsIlQiXX19KTtmdW5jdGlvbiBTVChlLHQscil7bGV0IGE9ZmUoZSxyPy5pbiksaT1XcChhLHIpLXQ7cmV0dXJuIGEuc2V0RGF0ZShhLmdldERhdGUoKS1pKjcpLGF9dmFyIEZ2aSxlSz1mKCgpPT57R0MoKTtPZSgpO0Z2aT1TVH0pO3ZhciB6VCxGT2U9ZigoKT0+e2VLKCk7UjIoKTtUbigpO3lyKCk7RXIoKTt6VD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTEwMDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiSSI6cmV0dXJuIGxyKHVyLndlZWssdCk7Y2FzZSJJbyI6cmV0dXJuIGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJ3ZWVrIn0pO2RlZmF1bHQ6cmV0dXJuIE50KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0xJiZyPD01M31zZXQodCxyLGEpe3JldHVybiBhaShTVCh0LGEpKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiWSIsInUiLCJxIiwiUSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBVRXIsV0VyLENULE9PZT1mKCgpPT57VG4oKTt5cigpO0VyKCk7VUVyPVszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sV0VyPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sQ1Q9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT05MDtzdWJQcmlvcml0eT0xO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJkIjpyZXR1cm4gbHIodXIuZGF0ZSx0KTtjYXNlImRvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImRhdGUifSk7ZGVmYXVsdDpyZXR1cm4gTnQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7bGV0IGE9dC5nZXRGdWxsWWVhcigpLGk9ZlQoYSksbj10LmdldE1vbnRoKCk7cmV0dXJuIGk/cj49MSYmcjw9V0VyW25dOnI+PTEmJnI8PVVFcltuXX1zZXQodCxyLGEpe3JldHVybiB0LnNldERhdGUoYSksdC5zZXRIb3VycygwLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIlEiLCJ3IiwiSSIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBUVCxST2U9ZigoKT0+e1RuKCk7eXIoKTtFcigpO1RUPWNsYXNzIGV4dGVuZHMgdHR7cHJpb3JpdHk9OTA7c3VicHJpb3JpdHk9MTtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiRCI6Y2FzZSJERCI6cmV0dXJuIGxyKHVyLmRheU9mWWVhcix0KTtjYXNlIkRvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImRhdGUifSk7ZGVmYXVsdDpyZXR1cm4gTnQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7bGV0IGE9dC5nZXRGdWxsWWVhcigpO3JldHVybiBmVChhKT9yPj0xJiZyPD0zNjY6cj49MSYmcjw9MzY1fXNldCh0LHIsYSl7cmV0dXJuIHQuc2V0TW9udGgoMCxhKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiUSIsIk0iLCJMIiwidyIsIkkiLCJkIiwiRSIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7ZnVuY3Rpb24gZDQoZSx0LHIpe2xldCBhPUFyKCksaT1yPy53ZWVrU3RhcnRzT24/P3I/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9hLndlZWtTdGFydHNPbj8/YS5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxuPWZlKGUscj8uaW4pLHM9bi5nZXREYXkoKSxjPSh0JTcrNyklNyxsPTctaSx1PXQ8MHx8dD42P3QtKHMrbCklNzooYytsKSU3LShzK2wpJTc7cmV0dXJuIGdpKG4sdSxyKX12YXIgcnhpLGM5PWYoKCk9PntTbigpO04yKCk7T2UoKTtyeGk9ZDR9KTt2YXIgX1QsQk9lPWYoKCk9PntjOSgpO3lyKCk7X1Q9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT05MDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiRSI6Y2FzZSJFRSI6Y2FzZSJFRUUiOnJldHVybiBhLmRheSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFIjpyZXR1cm4gYS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFRSI6cmV0dXJuIGEuZGF5KHQse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheSh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTAmJnI8PTZ9c2V0KHQscixhLGkpe3JldHVybiB0PWQ0KHQsYSxpKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiRCIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIExULEhPZT1mKCgpPT57YzkoKTt5cigpO0VyKCk7TFQ9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT05MDtwYXJzZSh0LHIsYSxpKXtsZXQgbj1zPT57bGV0IG89TWF0aC5mbG9vcigocy0xKS83KSo3O3JldHVybihzK2kud2Vla1N0YXJ0c09uKzYpJTcrb307c3dpdGNoKHIpe2Nhc2UiZSI6Y2FzZSJlZSI6cmV0dXJuIFVyKE50KHIubGVuZ3RoLHQpLG4pO2Nhc2UiZW8iOnJldHVybiBVcihhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoiZGF5In0pLG4pO2Nhc2UiZWVlIjpyZXR1cm4gYS5kYXkodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZSI6cmV0dXJuIGEuZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZWUiOnJldHVybiBhLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gYS5kYXkodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0wJiZyPD02fXNldCh0LHIsYSxpKXtyZXR1cm4gdD1kNCh0LGEsaSksdC5zZXRIb3VycygwLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsInEiLCJRIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJFIiwiaSIsImMiLCJ0IiwiVCJdfX0pO3ZhciAkVCxxT2U9ZigoKT0+e2M5KCk7eXIoKTtFcigpOyRUPWNsYXNzIGV4dGVuZHMgdHR7cHJpb3JpdHk9OTA7cGFyc2UodCxyLGEsaSl7bGV0IG49cz0+e2xldCBvPU1hdGguZmxvb3IoKHMtMSkvNykqNztyZXR1cm4ocytpLndlZWtTdGFydHNPbis2KSU3K299O3N3aXRjaChyKXtjYXNlImMiOmNhc2UiY2MiOnJldHVybiBVcihOdChyLmxlbmd0aCx0KSxuKTtjYXNlImNvIjpyZXR1cm4gVXIoYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImRheSJ9KSxuKTtjYXNlImNjYyI6cmV0dXJuIGEuZGF5KHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiY2NjY2MiOnJldHVybiBhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiY2NjY2NjIjpyZXR1cm4gYS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2RlZmF1bHQ6cmV0dXJuIGEuZGF5KHQse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxhLmRheSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fGEuZGF5KHQse3dpZHRoOiJzaG9ydCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8YS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19dmFsaWRhdGUodCxyKXtyZXR1cm4gcj49MCYmcjw9Nn1zZXQodCxyLGEsaSl7cmV0dXJuIHQ9ZDQodCxhLGkpLHQuc2V0SG91cnMoMCwwLDAsMCksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiUiIsInUiLCJxIiwiUSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiRSIsImkiLCJlIiwidCIsIlQiXX19KTtmdW5jdGlvbiBEVChlLHQscil7bGV0IGE9ZmUoZSxyPy5pbiksaT1pVChhLHIpLG49dC1pO3JldHVybiBnaShhLG4scil9dmFyIHZ4aSx0Sz1mKCgpPT57TjIoKTtaSigpO09lKCk7dnhpPURUfSk7dmFyIEFULGpPZT1mKCgpPT57dEsoKTt5cigpO0VyKCk7QVQ9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT05MDtwYXJzZSh0LHIsYSl7bGV0IGk9bj0+bj09PTA/NzpuO3N3aXRjaChyKXtjYXNlImkiOmNhc2UiaWkiOnJldHVybiBOdChyLmxlbmd0aCx0KTtjYXNlImlvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImRheSJ9KTtjYXNlImlpaSI6cmV0dXJuIFVyKGEuZGF5KHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWkiOnJldHVybiBVcihhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWlpIjpyZXR1cm4gVXIoYS5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2RlZmF1bHQ6cmV0dXJuIFVyKGEuZGF5KHQse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fGEuZGF5KHQse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KSxpKX19dmFsaWRhdGUodCxyKXtyZXR1cm4gcj49MSYmcjw9N31zZXQodCxyLGEpe3JldHVybiB0PURUKHQsYSksdC5zZXRIb3VycygwLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJZIiwidSIsInEiLCJRIiwiTSIsIkwiLCJ3IiwiZCIsIkQiLCJFIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBFVCxWT2U9ZigoKT0+e3lyKCk7RXIoKTtFVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTgwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJhIjpjYXNlImFhIjpjYXNlImFhYSI6cmV0dXJuIGEuZGF5UGVyaW9kKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImFhYWFhIjpyZXR1cm4gYS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheVBlcmlvZCh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheVBlcmlvZCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX1zZXQodCxyLGEpe3JldHVybiB0LnNldEhvdXJzKFhwKGEpLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImIiLCJCIiwiSCIsImsiLCJ0IiwiVCJdfX0pO3ZhciBJVCxVT2U9ZigoKT0+e3lyKCk7RXIoKTtJVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTgwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJiIjpjYXNlImJiIjpjYXNlImJiYiI6cmV0dXJuIGEuZGF5UGVyaW9kKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImJiYmJiIjpyZXR1cm4gYS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheVBlcmlvZCh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheVBlcmlvZCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX1zZXQodCxyLGEpe3JldHVybiB0LnNldEhvdXJzKFhwKGEpLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImEiLCJCIiwiSCIsImsiLCJ0IiwiVCJdfX0pO3ZhciBQVCxXT2U9ZigoKT0+e3lyKCk7RXIoKTtQVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTgwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJCIjpjYXNlIkJCIjpjYXNlIkJCQiI6cmV0dXJuIGEuZGF5UGVyaW9kKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkJCQkJCIjpyZXR1cm4gYS5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheVBlcmlvZCh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8YS5kYXlQZXJpb2QodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxhLmRheVBlcmlvZCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX1zZXQodCxyLGEpe3JldHVybiB0LnNldEhvdXJzKFhwKGEpLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImEiLCJiIiwidCIsIlQiXX19KTt2YXIgTlQsR09lPWYoKCk9PntUbigpO3lyKCk7RXIoKTtOVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTcwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJoIjpyZXR1cm4gbHIodXIuaG91cjEyaCx0KTtjYXNlImhvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImhvdXIifSk7ZGVmYXVsdDpyZXR1cm4gTnQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTEmJnI8PTEyfXNldCh0LHIsYSl7bGV0IGk9dC5nZXRIb3VycygpPj0xMjtyZXR1cm4gaSYmYTwxMj90LnNldEhvdXJzKGErMTIsMCwwLDApOiFpJiZhPT09MTI/dC5zZXRIb3VycygwLDAsMCwwKTp0LnNldEhvdXJzKGEsMCwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsiSCIsIksiLCJrIiwidCIsIlQiXX19KTt2YXIgRlQsWU9lPWYoKCk9PntUbigpO3lyKCk7RXIoKTtGVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTcwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJIIjpyZXR1cm4gbHIodXIuaG91cjIzaCx0KTtjYXNlIkhvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImhvdXIifSk7ZGVmYXVsdDpyZXR1cm4gTnQoci5sZW5ndGgsdCl9fXZhbGlkYXRlKHQscil7cmV0dXJuIHI+PTAmJnI8PTIzfXNldCh0LHIsYSl7cmV0dXJuIHQuc2V0SG91cnMoYSwwLDAsMCksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiYiIsImgiLCJLIiwiayIsInQiLCJUIl19fSk7dmFyIE9ULFpPZT1mKCgpPT57VG4oKTt5cigpO0VyKCk7T1Q9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT03MDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiSyI6cmV0dXJuIGxyKHVyLmhvdXIxMWgsdCk7Y2FzZSJLbyI6cmV0dXJuIGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIE50KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0wJiZyPD0xMX1zZXQodCxyLGEpe3JldHVybiB0LmdldEhvdXJzKCk+PTEyJiZhPDEyP3Quc2V0SG91cnMoYSsxMiwwLDAsMCk6dC5zZXRIb3VycyhhLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImgiLCJIIiwiayIsInQiLCJUIl19fSk7dmFyIFJULFhPZT1mKCgpPT57VG4oKTt5cigpO0VyKCk7UlQ9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT03MDtwYXJzZSh0LHIsYSl7c3dpdGNoKHIpe2Nhc2UiayI6cmV0dXJuIGxyKHVyLmhvdXIyNGgsdCk7Y2FzZSJrbyI6cmV0dXJuIGEub3JkaW5hbE51bWJlcih0LHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIE50KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0xJiZyPD0yNH1zZXQodCxyLGEpe2xldCBpPWE8PTI0P2ElMjQ6YTtyZXR1cm4gdC5zZXRIb3VycyhpLDAsMCwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bImEiLCJiIiwiaCIsIkgiLCJLIiwidCIsIlQiXX19KTt2YXIgQlQsUU9lPWYoKCk9PntUbigpO3lyKCk7RXIoKTtCVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTYwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJtIjpyZXR1cm4gbHIodXIubWludXRlLHQpO2Nhc2UibW8iOnJldHVybiBhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoibWludXRlIn0pO2RlZmF1bHQ6cmV0dXJuIE50KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0wJiZyPD01OX1zZXQodCxyLGEpe3JldHVybiB0LnNldE1pbnV0ZXMoYSwwLDApLHR9aW5jb21wYXRpYmxlVG9rZW5zPVsidCIsIlQiXX19KTt2YXIgSFQsSk9lPWYoKCk9PntUbigpO3lyKCk7RXIoKTtIVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTUwO3BhcnNlKHQscixhKXtzd2l0Y2gocil7Y2FzZSJzIjpyZXR1cm4gbHIodXIuc2Vjb25kLHQpO2Nhc2Uic28iOnJldHVybiBhLm9yZGluYWxOdW1iZXIodCx7dW5pdDoic2Vjb25kIn0pO2RlZmF1bHQ6cmV0dXJuIE50KHIubGVuZ3RoLHQpfX12YWxpZGF0ZSh0LHIpe3JldHVybiByPj0wJiZyPD01OX1zZXQodCxyLGEpe3JldHVybiB0LnNldFNlY29uZHMoYSwwKSx0fWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIl19fSk7dmFyIHFULEtPZT1mKCgpPT57eXIoKTtFcigpO3FUPWNsYXNzIGV4dGVuZHMgdHR7cHJpb3JpdHk9MzA7cGFyc2UodCxyKXtsZXQgYT1pPT5NYXRoLnRydW5jKGkqTWF0aC5wb3coMTAsLXIubGVuZ3RoKzMpKTtyZXR1cm4gVXIoTnQoci5sZW5ndGgsdCksYSl9c2V0KHQscixhKXtyZXR1cm4gdC5zZXRNaWxsaXNlY29uZHMoYSksdH1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCJdfX0pO3ZhciBqVCxlUmU9ZigoKT0+e2d0KCk7S2woKTtUbigpO3lyKCk7RXIoKTtqVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTEwO3BhcnNlKHQscil7c3dpdGNoKHIpe2Nhc2UiWCI6cmV0dXJuIF9zKFRzLmJhc2ljT3B0aW9uYWxNaW51dGVzLHQpO2Nhc2UiWFgiOnJldHVybiBfcyhUcy5iYXNpYyx0KTtjYXNlIlhYWFgiOnJldHVybiBfcyhUcy5iYXNpY09wdGlvbmFsU2Vjb25kcyx0KTtjYXNlIlhYWFhYIjpyZXR1cm4gX3MoVHMuZXh0ZW5kZWRPcHRpb25hbFNlY29uZHMsdCk7ZGVmYXVsdDpyZXR1cm4gX3MoVHMuZXh0ZW5kZWQsdCl9fXNldCh0LHIsYSl7cmV0dXJuIHIudGltZXN0YW1wSXNTZXQ/dDpOZSh0LHQuZ2V0VGltZSgpLUlhKHQpLWEpfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIiwieCJdfX0pO3ZhciBWVCx0UmU9ZigoKT0+e2d0KCk7S2woKTtUbigpO3lyKCk7RXIoKTtWVD1jbGFzcyBleHRlbmRzIHR0e3ByaW9yaXR5PTEwO3BhcnNlKHQscil7c3dpdGNoKHIpe2Nhc2UieCI6cmV0dXJuIF9zKFRzLmJhc2ljT3B0aW9uYWxNaW51dGVzLHQpO2Nhc2UieHgiOnJldHVybiBfcyhUcy5iYXNpYyx0KTtjYXNlInh4eHgiOnJldHVybiBfcyhUcy5iYXNpY09wdGlvbmFsU2Vjb25kcyx0KTtjYXNlInh4eHh4IjpyZXR1cm4gX3MoVHMuZXh0ZW5kZWRPcHRpb25hbFNlY29uZHMsdCk7ZGVmYXVsdDpyZXR1cm4gX3MoVHMuZXh0ZW5kZWQsdCl9fXNldCh0LHIsYSl7cmV0dXJuIHIudGltZXN0YW1wSXNTZXQ/dDpOZSh0LHQuZ2V0VGltZSgpLUlhKHQpLWEpfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIiwiWCJdfX0pO3ZhciBVVCxyUmU9ZigoKT0+e2d0KCk7eXIoKTtFcigpO1VUPWNsYXNzIGV4dGVuZHMgdHR7cHJpb3JpdHk9NDA7cGFyc2UodCl7cmV0dXJuIHVUKHQpfXNldCh0LHIsYSl7cmV0dXJuW05lKHQsYSoxZTMpLHt0aW1lc3RhbXBJc1NldDohMH1dfWluY29tcGF0aWJsZVRva2Vucz0iKiJ9fSk7dmFyIFdULGFSZT1mKCgpPT57Z3QoKTt5cigpO0VyKCk7V1Q9Y2xhc3MgZXh0ZW5kcyB0dHtwcmlvcml0eT0yMDtwYXJzZSh0KXtyZXR1cm4gdVQodCl9c2V0KHQscixhKXtyZXR1cm5bTmUodCxhKSx7dGltZXN0YW1wSXNTZXQ6ITB9XX1pbmNvbXBhdGlibGVUb2tlbnM9IioifX0pO3ZhciBHVCxpUmU9ZigoKT0+e1RPZSgpO19PZSgpO0xPZSgpOyRPZSgpO0RPZSgpO0FPZSgpO0VPZSgpO0lPZSgpO1BPZSgpO05PZSgpO0ZPZSgpO09PZSgpO1JPZSgpO0JPZSgpO0hPZSgpO3FPZSgpO2pPZSgpO1ZPZSgpO1VPZSgpO1dPZSgpO0dPZSgpO1lPZSgpO1pPZSgpO1hPZSgpO1FPZSgpO0pPZSgpO0tPZSgpO2VSZSgpO3RSZSgpO3JSZSgpO2FSZSgpO0dUPXtHOm5ldyBkVCx5Om5ldyBoVCxZOm5ldyBtVCxSOm5ldyBnVCx1Om5ldyBiVCxROm5ldyB2VCxxOm5ldyB4VCxNOm5ldyB5VCxMOm5ldyB3VCx3Om5ldyBrVCxJOm5ldyB6VCxkOm5ldyBDVCxEOm5ldyBUVCxFOm5ldyBfVCxlOm5ldyBMVCxjOm5ldyAkVCxpOm5ldyBBVCxhOm5ldyBFVCxiOm5ldyBJVCxCOm5ldyBQVCxoOm5ldyBOVCxIOm5ldyBGVCxLOm5ldyBPVCxrOm5ldyBSVCxtOm5ldyBCVCxzOm5ldyBIVCxTOm5ldyBxVCxYOm5ldyBqVCx4Om5ldyBWVCx0Om5ldyBVVCxUOm5ldyBXVH19KTtmdW5jdGlvbiBZVChlLHQscixhKXtsZXQgaT0oKT0+TmUoYT8uaW58fHIsTmFOKSxuPWFUKCkscz1hPy5sb2NhbGU/P24ubG9jYWxlPz9DMSxvPWE/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/YT8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P24uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9uLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLGM9YT8ud2Vla1N0YXJ0c09uPz9hPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/bi53ZWVrU3RhcnRzT24/P24ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzA7aWYoIXQpcmV0dXJuIGU/aSgpOmZlKHIsYT8uaW4pO2xldCBsPXtmaXJzdFdlZWtDb250YWluc0RhdGU6byx3ZWVrU3RhcnRzT246Yyxsb2NhbGU6c30sdT1bbmV3IGNUKGE/LmluLHIpXSxkPXQubWF0Y2goWUVyKS5tYXAoZz0+e2xldCB5PWdbMF07aWYoeSBpbiBsNCl7bGV0IHc9bDRbeV07cmV0dXJuIHcoZyxzLmZvcm1hdExvbmcpfXJldHVybiBnfSkuam9pbigiIikubWF0Y2goR0VyKSxoPVtdO2ZvcihsZXQgZyBvZiBkKXshYT8udXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zJiZRQyhnKSYmczkoZyx0LGUpLCFhPy51c2VBZGRpdGlvbmFsRGF5T2ZZZWFyVG9rZW5zJiZYQyhnKSYmczkoZyx0LGUpO2xldCB5PWdbMF0sdz1HVFt5XTtpZih3KXtsZXR7aW5jb21wYXRpYmxlVG9rZW5zOmt9PXc7aWYoQXJyYXkuaXNBcnJheShrKSl7bGV0IEM9aC5maW5kKFM9PmsuaW5jbHVkZXMoUy50b2tlbil8fFMudG9rZW49PT15KTtpZihDKXRocm93IG5ldyBSYW5nZUVycm9yKGBUaGUgZm9ybWF0IHN0cmluZyBtdXN0bid0IGNvbnRhaW4gXGAke0MuZnVsbFRva2VufVxgIGFuZCBcYCR7Z31cYCBhdCB0aGUgc2FtZSB0aW1lYCl9ZWxzZSBpZih3LmluY29tcGF0aWJsZVRva2Vucz09PSIqIiYmaC5sZW5ndGg+MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlIGZvcm1hdCBzdHJpbmcgbXVzdG4ndCBjb250YWluIFxgJHtnfVxgIGFuZCBhbnkgb3RoZXIgdG9rZW4gYXQgdGhlIHNhbWUgdGltZWApO2gucHVzaCh7dG9rZW46eSxmdWxsVG9rZW46Z30pO2xldCBSPXcucnVuKGUsZyxzLm1hdGNoLGwpO2lmKCFSKXJldHVybiBpKCk7dS5wdXNoKFIuc2V0dGVyKSxlPVIucmVzdH1lbHNle2lmKHkubWF0Y2goSkVyKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAiK3krImAiKTtpZihnPT09IicnIj9nPSInIjp5PT09IiciJiYoZz1LRXIoZykpLGUuaW5kZXhPZihnKT09PTApZT1lLnNsaWNlKGcubGVuZ3RoKTtlbHNlIHJldHVybiBpKCl9fWlmKGUubGVuZ3RoPjAmJlFFci50ZXN0KGUpKXJldHVybiBpKCk7bGV0IG09dS5tYXAoZz0+Zy5wcmlvcml0eSkuc29ydCgoZyx5KT0+eS1nKS5maWx0ZXIoKGcseSx3KT0+dy5pbmRleE9mKGcpPT09eSkubWFwKGc9PnUuZmlsdGVyKHk9PnkucHJpb3JpdHk9PT1nKS5zb3J0KCh5LHcpPT53LnN1YlByaW9yaXR5LXkuc3ViUHJpb3JpdHkpKS5tYXAoZz0+Z1swXSksdj1mZShyLGE/LmluKTtpZihpc05hTigrdikpcmV0dXJuIGkoKTtsZXQgYj17fTtmb3IobGV0IGcgb2YgbSl7aWYoIWcudmFsaWRhdGUodixsKSlyZXR1cm4gaSgpO2xldCB5PWcuc2V0KHYsYixsKTtBcnJheS5pc0FycmF5KHkpPyh2PXlbMF0sT2JqZWN0LmFzc2lnbihiLHlbMV0pKTp2PXl9cmV0dXJuIHZ9ZnVuY3Rpb24gS0VyKGUpe3JldHVybiBlLm1hdGNoKFpFcilbMV0ucmVwbGFjZShYRXIsIiciKX12YXIgR0VyLFlFcixaRXIsWEVyLFFFcixKRXIscHdpLHJLPWYoKCk9PntaZCgpO0JKKCk7SEooKTtndCgpO1lKKCk7T2UoKTtKSigpO2lSZSgpO0dFcj0vW3lZUXFNTHdJZERlY2loSEtrbXNdb3woXHcpXDEqfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLFlFcj0vUCtwK3xQK3xwK3wnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyxaRXI9L14nKFteXSo/KSc/JC8sWEVyPS8nJy9nLFFFcj0vXFMvLEpFcj0vW2EtekEtWl0vO3B3aT1ZVH0pO2Z1bmN0aW9uIG5SZShlLHQscil7cmV0dXJuIFppKFlUKGUsdCxuZXcgRGF0ZSxyKSl9dmFyIGd3aSxzUmU9ZigoKT0+e3RjKCk7cksoKTtnd2k9blJlfSk7ZnVuY3Rpb24gb1JlKGUsdCl7cmV0dXJuIGZlKGUsdD8uaW4pLmdldERheSgpPT09MX12YXIgeHdpLGxSZT1mKCgpPT57T2UoKTt4d2k9b1JlfSk7ZnVuY3Rpb24gY1JlKGUpe3JldHVybitmZShlKTxEYXRlLm5vdygpfXZhciBNd2ksZFJlPWYoKCk9PntPZSgpO013aT1jUmV9KTtmdW5jdGlvbiBkOShlLHQpe2xldCByPWZlKGUsdD8uaW4pO3JldHVybiByLnNldE1pbnV0ZXMoMCwwLDApLHJ9dmFyIHp3aSxhSz1mKCgpPT57T2UoKTt6d2k9ZDl9KTtmdW5jdGlvbiBaVChlLHQscil7bGV0W2EsaV09dXQocj8uaW4sZSx0KTtyZXR1cm4rZDkoYSk9PStkOShpKX12YXIgTHdpLGlLPWYoKCk9PntWcigpO2FLKCk7THdpPVpUfSk7ZnVuY3Rpb24gUXAoZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCk7cmV0dXJuK2FhKGEscik9PSthYShpLHIpfXZhciBFd2ksWFQ9ZigoKT0+e1ZyKCk7d28oKTtFd2k9UXB9KTtmdW5jdGlvbiBRVChlLHQscil7cmV0dXJuIFFwKGUsdCx7Li4ucix3ZWVrU3RhcnRzT246MX0pfXZhciBOd2ksbks9ZigoKT0+e1hUKCk7TndpPVFUfSk7ZnVuY3Rpb24gdVJlKGUsdCxyKXtsZXRbYSxpXT11dChyPy5pbixlLHQpO3JldHVybitWMShhKT09K1YxKGkpfXZhciBCd2kscFJlPWYoKCk9PntFcCgpO1ZyKCk7QndpPXVSZX0pO2Z1bmN0aW9uIHU5KGUsdCl7bGV0IHI9ZmUoZSx0Py5pbik7cmV0dXJuIHIuc2V0U2Vjb25kcygwLDApLHJ9dmFyIGp3aSxzSz1mKCgpPT57T2UoKTtqd2k9dTl9KTtmdW5jdGlvbiBKVChlLHQpe3JldHVybit1OShlKT09K3U5KHQpfXZhciBXd2ksb0s9ZigoKT0+e3NLKCk7V3dpPUpUfSk7ZnVuY3Rpb24gS1QoZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCk7cmV0dXJuIGEuZ2V0RnVsbFllYXIoKT09PWkuZ2V0RnVsbFllYXIoKSYmYS5nZXRNb250aCgpPT09aS5nZXRNb250aCgpfXZhciBad2ksbEs9ZigoKT0+e1ZyKCk7WndpPUtUfSk7ZnVuY3Rpb24gZV8oZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCk7cmV0dXJuK1YyKGEpPT0rVjIoaSl9dmFyIEt3aSxjSz1mKCgpPT57VnIoKTtCQygpO0t3aT1lX30pO2Z1bmN0aW9uIHA5KGUsdCl7bGV0IHI9ZmUoZSx0Py5pbik7cmV0dXJuIHIuc2V0TWlsbGlzZWNvbmRzKDApLHJ9dmFyIHJNaSxkSz1mKCgpPT57T2UoKTtyTWk9cDl9KTtmdW5jdGlvbiB0XyhlLHQpe3JldHVybitwOShlKT09K3A5KHQpfXZhciBuTWksdUs9ZigoKT0+e2RLKCk7bk1pPXRffSk7ZnVuY3Rpb24gcl8oZSx0LHIpe2xldFthLGldPXV0KHI/LmluLGUsdCk7cmV0dXJuIGEuZ2V0RnVsbFllYXIoKT09PWkuZ2V0RnVsbFllYXIoKX12YXIgbE1pLHBLPWYoKCk9PntWcigpO2xNaT1yX30pO2Z1bmN0aW9uIGZSZShlLHQpe3JldHVybiBaVChmZShlLHQ/LmluKSxYdCh0Py5pbnx8ZSkpfXZhciBmTWksaFJlPWYoKCk9PntiaSgpO2lLKCk7T2UoKTtmTWk9ZlJlfSk7ZnVuY3Rpb24gbVJlKGUsdCl7cmV0dXJuIFFUKE5lKHQ/LmlufHxlLGUpLFh0KHQ/LmlufHxlKSl9dmFyIHZNaSxnUmU9ZigoKT0+e2d0KCk7YmkoKTtuSygpO3ZNaT1tUmV9KTtmdW5jdGlvbiBiUmUoZSl7cmV0dXJuIEpUKGUsWHQoZSkpfXZhciBNTWksdlJlPWYoKCk9PntiaSgpO29LKCk7TU1pPWJSZX0pO2Z1bmN0aW9uIHhSZShlLHQpe3JldHVybiBLVChOZSh0Py5pbnx8ZSxlKSxYdCh0Py5pbnx8ZSkpfXZhciBUTWkseVJlPWYoKCk9PntndCgpO2JpKCk7bEsoKTtUTWk9eFJlfSk7ZnVuY3Rpb24gd1JlKGUsdCl7cmV0dXJuIGVfKE5lKHQ/LmlufHxlLGUpLFh0KHQ/LmlufHxlKSl9dmFyIEFNaSxNUmU9ZigoKT0+e2d0KCk7YmkoKTtjSygpO0FNaT13UmV9KTtmdW5jdGlvbiBrUmUoZSl7cmV0dXJuIHRfKGUsWHQoZSkpfXZhciBOTWksU1JlPWYoKCk9PntiaSgpO3VLKCk7Tk1pPWtSZX0pO2Z1bmN0aW9uIHpSZShlLHQpe3JldHVybiBRcChOZSh0Py5pbnx8ZSxlKSxYdCh0Py5pbnx8ZSksdCl9dmFyIEhNaSxDUmU9ZigoKT0+e2d0KCk7YmkoKTtYVCgpO0hNaT16UmV9KTtmdW5jdGlvbiBUUmUoZSx0KXtyZXR1cm4gcl8oTmUodD8uaW58fGUsZSksWHQodD8uaW58fGUpKX12YXIgV01pLF9SZT1mKCgpPT57Z3QoKTtiaSgpO3BLKCk7V01pPVRSZX0pO2Z1bmN0aW9uIExSZShlLHQpe3JldHVybiBmZShlLHQ/LmluKS5nZXREYXkoKT09PTR9dmFyIFpNaSwkUmU9ZigoKT0+e09lKCk7Wk1pPUxSZX0pO2Z1bmN0aW9uIERSZShlLHQpe3JldHVybiBIMihOZSh0Py5pbnx8ZSxlKSxYdCh0Py5pbnx8ZSkpfXZhciBla2ksQVJlPWYoKCk9PntndCgpO2JpKCk7TnAoKTtla2k9RFJlfSk7ZnVuY3Rpb24gRVJlKGUsdCl7cmV0dXJuIEgyKGUsZ2koWHQodD8uaW58fGUpLDEpLHQpfXZhciBua2ksSVJlPWYoKCk9PntOMigpO2JpKCk7TnAoKTtua2k9RVJlfSk7ZnVuY3Rpb24gUFJlKGUsdCl7cmV0dXJuIGZlKGUsdD8uaW4pLmdldERheSgpPT09Mn12YXIgbGtpLE5SZT1mKCgpPT57T2UoKTtsa2k9UFJlfSk7ZnVuY3Rpb24gRlJlKGUsdCl7cmV0dXJuIGZlKGUsdD8uaW4pLmdldERheSgpPT09M312YXIgdWtpLE9SZT1mKCgpPT57T2UoKTt1a2k9RlJlfSk7ZnVuY3Rpb24gUlJlKGUsdCxyKXtsZXQgYT0rZmUoZSxyPy5pbiksW2ksbl09WytmZSh0LnN0YXJ0LHI/LmluKSwrZmUodC5lbmQscj8uaW4pXS5zb3J0KChzLG8pPT5zLW8pO3JldHVybiBhPj1pJiZhPD1ufXZhciBoa2ksQlJlPWYoKCk9PntPZSgpO2hraT1SUmV9KTtmdW5jdGlvbiB1NChlLHQscil7cmV0dXJuIGdpKGUsLXQscil9dmFyIGJraSxmOT1mKCgpPT57TjIoKTtia2k9dTR9KTtmdW5jdGlvbiBIUmUoZSx0KXtyZXR1cm4gSDIoTmUodD8uaW58fGUsZSksdTQoWHQodD8uaW58fGUpLDEpKX12YXIga2tpLHFSZT1mKCgpPT57Z3QoKTtiaSgpO05wKCk7ZjkoKTtra2k9SFJlfSk7ZnVuY3Rpb24galJlKGUsdCl7bGV0IHI9ZmUoZSx0Py5pbiksYT1yLmdldEZ1bGxZZWFyKCksaT05K01hdGguZmxvb3IoYS8xMCkqMTA7cmV0dXJuIHIuc2V0RnVsbFllYXIoaSsxLDAsMCksci5zZXRIb3VycygwLDAsMCwwKSxmZShyLHQ/LmluKX12YXIgQ2tpLFZSZT1mKCgpPT57T2UoKTtDa2k9alJlfSk7ZnVuY3Rpb24gYV8oZSx0KXtsZXQgcj1BcigpLGE9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/ci53ZWVrU3RhcnRzT24/P3IubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1mZShlLHQ/LmluKSxuPWkuZ2V0RGF5KCkscz0objxhPy03OjApKzYtKG4tYSk7cmV0dXJuIGkuc2V0SG91cnMoMCwwLDAsMCksaS5zZXREYXRlKGkuZ2V0RGF0ZSgpK3MpLGl9dmFyICRraSxmSz1mKCgpPT57U24oKTtPZSgpOyRraT1hX30pO2Z1bmN0aW9uIFVSZShlLHQpe3JldHVybiBhXyhlLHsuLi50LHdlZWtTdGFydHNPbjoxfSl9dmFyIEVraSxXUmU9ZigoKT0+e2ZLKCk7RWtpPVVSZX0pO2Z1bmN0aW9uIEdSZShlLHQpe2xldCByPVluKGUsdCksYT1OZSh0Py5pbnx8ZSwwKTthLnNldEZ1bGxZZWFyKHIrMSwwLDQpLGEuc2V0SG91cnMoMCwwLDAsMCk7bGV0IGk9YWkoYSx0KTtyZXR1cm4gaS5zZXREYXRlKGkuZ2V0RGF0ZSgpLTEpLGl9dmFyIE9raSxZUmU9ZigoKT0+e2d0KCk7cjQoKTtSMigpO09raT1HUmV9KTtmdW5jdGlvbiBaUmUoZSx0KXtsZXQgcj1mZShlLHQ/LmluKSxhPXIuZ2V0TW9udGgoKSxpPWEtYSUzKzM7cmV0dXJuIHIuc2V0TW9udGgoaSwwKSxyLnNldEhvdXJzKDAsMCwwLDApLHJ9dmFyIEhraSxYUmU9ZigoKT0+e09lKCk7SGtpPVpSZX0pO2Z1bmN0aW9uIFFSZShlLHQpe2xldCByPWZlKGUsdD8uaW4pLGE9ci5nZXRGdWxsWWVhcigpO3JldHVybiByLnNldEZ1bGxZZWFyKGErMSwwLDApLHIuc2V0SG91cnMoMCwwLDAsMCkscn12YXIgVmtpLEpSZT1mKCgpPT57T2UoKTtWa2k9UVJlfSk7ZnVuY3Rpb24gS1JlKGUsdCl7bGV0IHI9ZmUoZSk7aWYoIVppKHIpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgYT10Lm1hdGNoKGVJcik7cmV0dXJuIGE/YS5tYXAobj0+e2lmKG49PT0iJyciKXJldHVybiInIjtsZXQgcz1uWzBdO2lmKHM9PT0iJyIpcmV0dXJuIGlJcihuKTtsZXQgbz1VMVtzXTtpZihvKXJldHVybiBvKHIsbik7aWYocy5tYXRjaChhSXIpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrcysiYCIpO3JldHVybiBufSkuam9pbigiIik6IiJ9ZnVuY3Rpb24gaUlyKGUpe2xldCB0PWUubWF0Y2godElyKTtyZXR1cm4gdD90WzFdLnJlcGxhY2UocklyLCInIik6ZX12YXIgZUlyLHRJcixySXIsYUlyLFpraSxlQmU9ZigoKT0+e1JKKCk7dGMoKTtPZSgpO2VJcj0vKFx3KVwxKnwnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyx0SXI9L14nKFteXSo/KSc/JC8scklyPS8nJy9nLGFJcj0vW2EtekEtWl0vO1praT1LUmV9KTtmdW5jdGlvbiB0QmUoe3llYXJzOmUsbW9udGhzOnQsd2Vla3M6cixkYXlzOmEsaG91cnM6aSxtaW51dGVzOm4sc2Vjb25kczpzfSl7bGV0IG89MDtlJiYobys9ZSozNjUuMjQyNSksdCYmKG8rPXQqKDM2NS4yNDI1LzEyKSksciYmKG8rPXIqNyksYSYmKG8rPWEpO2xldCBjPW8qMjQqNjAqNjA7cmV0dXJuIGkmJihjKz1pKjYwKjYwKSxuJiYoYys9bio2MCkscyYmKGMrPXMpLE1hdGgudHJ1bmMoYyoxZTMpfXZhciBKa2ksckJlPWYoKCk9PntSdCgpO0praT10QmV9KTtmdW5jdGlvbiBhQmUoZSl7bGV0IHQ9ZS9qMTtyZXR1cm4gTWF0aC50cnVuYyh0KX12YXIgdFNpLGlCZT1mKCgpPT57UnQoKTt0U2k9YUJlfSk7ZnVuY3Rpb24gbkJlKGUpe2xldCB0PWUva247cmV0dXJuIE1hdGgudHJ1bmModCl9dmFyIGlTaSxzQmU9ZigoKT0+e1J0KCk7aVNpPW5CZX0pO2Z1bmN0aW9uIG9CZShlKXtsZXQgdD1lL0xwO3JldHVybiBNYXRoLnRydW5jKHQpfXZhciBvU2ksbEJlPWYoKCk9PntSdCgpO29TaT1vQmV9KTtmdW5jdGlvbiBjQmUoZSl7bGV0IHQ9ZS9sQztyZXR1cm4gTWF0aC50cnVuYyh0KX12YXIgZFNpLGRCZT1mKCgpPT57UnQoKTtkU2k9Y0JlfSk7ZnVuY3Rpb24gdUJlKGUpe3JldHVybiBNYXRoLnRydW5jKGUqa24pfXZhciBmU2kscEJlPWYoKCk9PntSdCgpO2ZTaT11QmV9KTtmdW5jdGlvbiBmQmUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSpEcCl9dmFyIGdTaSxoQmU9ZigoKT0+e1J0KCk7Z1NpPWZCZX0pO2Z1bmN0aW9uIG1CZShlKXtsZXQgdD1lL2NDO3JldHVybiBNYXRoLnRydW5jKHQpfXZhciB4U2ksZ0JlPWYoKCk9PntSdCgpO3hTaT1tQmV9KTtmdW5jdGlvbiBiQmUoZSl7bGV0IHQ9ZS9kQztyZXR1cm4gTWF0aC50cnVuYyh0KX12YXIgTVNpLHZCZT1mKCgpPT57UnQoKTtNU2k9YkJlfSk7ZnVuY3Rpb24gX24oZSx0LHIpe2xldCBhPXQtYzQoZSxyKTtyZXR1cm4gYTw9MCYmKGErPTcpLGdpKGUsYSxyKX12YXIgQ1NpLGFjPWYoKCk9PntOMigpO2w5KCk7Q1NpPV9ufSk7ZnVuY3Rpb24geEJlKGUsdCl7cmV0dXJuIF9uKGUsNSx0KX12YXIgTFNpLHlCZT1mKCgpPT57YWMoKTtMU2k9eEJlfSk7ZnVuY3Rpb24gd0JlKGUsdCl7cmV0dXJuIF9uKGUsMSx0KX12YXIgQVNpLE1CZT1mKCgpPT57YWMoKTtBU2k9d0JlfSk7ZnVuY3Rpb24ga0JlKGUsdCl7cmV0dXJuIF9uKGUsNix0KX12YXIgUFNpLFNCZT1mKCgpPT57YWMoKTtQU2k9a0JlfSk7ZnVuY3Rpb24gekJlKGUsdCl7cmV0dXJuIF9uKGUsMCx0KX12YXIgT1NpLENCZT1mKCgpPT57YWMoKTtPU2k9ekJlfSk7ZnVuY3Rpb24gVEJlKGUsdCl7cmV0dXJuIF9uKGUsNCx0KX12YXIgSFNpLF9CZT1mKCgpPT57YWMoKTtIU2k9VEJlfSk7ZnVuY3Rpb24gTEJlKGUsdCl7cmV0dXJuIF9uKGUsMix0KX12YXIgVlNpLCRCZT1mKCgpPT57YWMoKTtWU2k9TEJlfSk7ZnVuY3Rpb24gREJlKGUsdCl7cmV0dXJuIF9uKGUsMyx0KX12YXIgR1NpLEFCZT1mKCgpPT57YWMoKTtHU2k9REJlfSk7ZnVuY3Rpb24gSUJlKGUsdCl7bGV0IHI9KCk9Pk5lKHQ/LmluLE5hTiksYT10Py5hZGRpdGlvbmFsRGlnaXRzPz8yLGk9bElyKGUpLG47aWYoaS5kYXRlKXtsZXQgbD1jSXIoaS5kYXRlLGEpO249ZElyKGwucmVzdERhdGVTdHJpbmcsbC55ZWFyKX1pZighbnx8aXNOYU4oK24pKXJldHVybiByKCk7bGV0IHM9K24sbz0wLGM7aWYoaS50aW1lJiYobz11SXIoaS50aW1lKSxpc05hTihvKSkpcmV0dXJuIHIoKTtpZihpLnRpbWV6b25lKXtpZihjPXBJcihpLnRpbWV6b25lKSxpc05hTihjKSlyZXR1cm4gcigpfWVsc2V7bGV0IGw9bmV3IERhdGUocytvKSx1PWZlKDAsdD8uaW4pO3JldHVybiB1LnNldEZ1bGxZZWFyKGwuZ2V0VVRDRnVsbFllYXIoKSxsLmdldFVUQ01vbnRoKCksbC5nZXRVVENEYXRlKCkpLHUuc2V0SG91cnMobC5nZXRVVENIb3VycygpLGwuZ2V0VVRDTWludXRlcygpLGwuZ2V0VVRDU2Vjb25kcygpLGwuZ2V0VVRDTWlsbGlzZWNvbmRzKCkpLHV9cmV0dXJuIGZlKHMrbytjLHQ/LmluKX1mdW5jdGlvbiBsSXIoZSl7bGV0IHQ9e30scj1lLnNwbGl0KGlfLmRhdGVUaW1lRGVsaW1pdGVyKSxhO2lmKHIubGVuZ3RoPjIpcmV0dXJuIHQ7aWYoLzovLnRlc3QoclswXSk/YT1yWzBdOih0LmRhdGU9clswXSxhPXJbMV0saV8udGltZVpvbmVEZWxpbWl0ZXIudGVzdCh0LmRhdGUpJiYodC5kYXRlPWUuc3BsaXQoaV8udGltZVpvbmVEZWxpbWl0ZXIpWzBdLGE9ZS5zdWJzdHIodC5kYXRlLmxlbmd0aCxlLmxlbmd0aCkpKSxhKXtsZXQgaT1pXy50aW1lem9uZS5leGVjKGEpO2k/KHQudGltZT1hLnJlcGxhY2UoaVsxXSwiIiksdC50aW1lem9uZT1pWzFdKTp0LnRpbWU9YX1yZXR1cm4gdH1mdW5jdGlvbiBjSXIoZSx0KXtsZXQgcj1uZXcgUmVnRXhwKCJeKD86KFxcZHs0fXxbKy1dXFxkeyIrKDQrdCkrIn0pfChcXGR7Mn18WystXVxcZHsiKygyK3QpKyJ9KSQpIiksYT1lLm1hdGNoKHIpO2lmKCFhKXJldHVybnt5ZWFyOk5hTixyZXN0RGF0ZVN0cmluZzoiIn07bGV0IGk9YVsxXT9wYXJzZUludChhWzFdKTpudWxsLG49YVsyXT9wYXJzZUludChhWzJdKTpudWxsO3JldHVybnt5ZWFyOm49PT1udWxsP2k6bioxMDAscmVzdERhdGVTdHJpbmc6ZS5zbGljZSgoYVsxXXx8YVsyXSkubGVuZ3RoKX19ZnVuY3Rpb24gZElyKGUsdCl7aWYodD09PW51bGwpcmV0dXJuIG5ldyBEYXRlKE5hTik7bGV0IHI9ZS5tYXRjaChuSXIpO2lmKCFyKXJldHVybiBuZXcgRGF0ZShOYU4pO2xldCBhPSEhcls0XSxpPWg5KHJbMV0pLG49aDkoclsyXSktMSxzPWg5KHJbM10pLG89aDkocls0XSksYz1oOShyWzVdKS0xO2lmKGEpcmV0dXJuIGJJcih0LG8sYyk/ZklyKHQsbyxjKTpuZXcgRGF0ZShOYU4pO3tsZXQgbD1uZXcgRGF0ZSgwKTtyZXR1cm4hbUlyKHQsbixzKXx8IWdJcih0LGkpP25ldyBEYXRlKE5hTik6KGwuc2V0VVRDRnVsbFllYXIodCxuLE1hdGgubWF4KGkscykpLGwpfX1mdW5jdGlvbiBoOShlKXtyZXR1cm4gZT9wYXJzZUludChlKToxfWZ1bmN0aW9uIHVJcihlKXtsZXQgdD1lLm1hdGNoKHNJcik7aWYoIXQpcmV0dXJuIE5hTjtsZXQgcj1oSyh0WzFdKSxhPWhLKHRbMl0pLGk9aEsodFszXSk7cmV0dXJuIHZJcihyLGEsaSk/cipqMSthKmtuK2kqMWUzOk5hTn1mdW5jdGlvbiBoSyhlKXtyZXR1cm4gZSYmcGFyc2VGbG9hdChlLnJlcGxhY2UoIiwiLCIuIikpfHwwfWZ1bmN0aW9uIHBJcihlKXtpZihlPT09IloiKXJldHVybiAwO2xldCB0PWUubWF0Y2gob0lyKTtpZighdClyZXR1cm4gMDtsZXQgcj10WzFdPT09IisiPy0xOjEsYT1wYXJzZUludCh0WzJdKSxpPXRbM10mJnBhcnNlSW50KHRbM10pfHwwO3JldHVybiB4SXIoYSxpKT9yKihhKmoxK2kqa24pOk5hTn1mdW5jdGlvbiBmSXIoZSx0LHIpe2xldCBhPW5ldyBEYXRlKDApO2Euc2V0VVRDRnVsbFllYXIoZSwwLDQpO2xldCBpPWEuZ2V0VVRDRGF5KCl8fDcsbj0odC0xKSo3K3IrMS1pO3JldHVybiBhLnNldFVUQ0RhdGUoYS5nZXRVVENEYXRlKCkrbiksYX1mdW5jdGlvbiBFQmUoZSl7cmV0dXJuIGUlNDAwPT09MHx8ZSU0PT09MCYmZSUxMDAhPT0wfWZ1bmN0aW9uIG1JcihlLHQscil7cmV0dXJuIHQ+PTAmJnQ8PTExJiZyPj0xJiZyPD0oaElyW3RdfHwoRUJlKGUpPzI5OjI4KSl9ZnVuY3Rpb24gZ0lyKGUsdCl7cmV0dXJuIHQ+PTEmJnQ8PShFQmUoZSk/MzY2OjM2NSl9ZnVuY3Rpb24gYklyKGUsdCxyKXtyZXR1cm4gdD49MSYmdDw9NTMmJnI+PTAmJnI8PTZ9ZnVuY3Rpb24gdklyKGUsdCxyKXtyZXR1cm4gZT09PTI0P3Q9PT0wJiZyPT09MDpyPj0wJiZyPDYwJiZ0Pj0wJiZ0PDYwJiZlPj0wJiZlPDI1fWZ1bmN0aW9uIHhJcihlLHQpe3JldHVybiB0Pj0wJiZ0PD01OX12YXIgaV8sbklyLHNJcixvSXIsaElyLEpTaSxQQmU9ZigoKT0+e1J0KCk7Z3QoKTtPZSgpO2lfPXtkYXRlVGltZURlbGltaXRlcjovW1QgXS8sdGltZVpvbmVEZWxpbWl0ZXI6L1taIF0vaSx0aW1lem9uZTovKFtaKy1dLiopJC99LG5Jcj0vXi0/KD86KFxkezN9KXwoXGR7Mn0pKD86LT8oXGR7Mn0pKT98VyhcZHsyfSkoPzotPyhcZHsxfSkpP3wpJC8sc0lyPS9eKFxkezJ9KD86Wy4sXVxkKik/KSg/Ojo/KFxkezJ9KD86Wy4sXVxkKik/KSk/KD86Oj8oXGR7Mn0oPzpbLixdXGQqKT8pKT8kLyxvSXI9L14oWystXSkoXGR7Mn0pKD86Oj8oXGR7Mn0pKT8kLztoSXI9WzMxLG51bGwsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO0pTaT1JQmV9KTtmdW5jdGlvbiBOQmUoZSx0KXtsZXQgcj1lLm1hdGNoKC8oXGR7NH0pLShcZHsyfSktKFxkezJ9KVtUIF0oXGR7Mn0pOihcZHsyfSk6KFxkezJ9KSg/OlwuKFxkezAsN30pKT8oPzpafCguKShcZHsyfSk6PyhcZHsyfSk/KT8vKTtyZXR1cm4gcj9mZShEYXRlLlVUQygrclsxXSwrclsyXS0xLCtyWzNdLCtyWzRdLSgrcls5XXx8MCkqKHJbOF09PSItIj8tMToxKSwrcls1XS0oK3JbMTBdfHwwKSoocls4XT09Ii0iPy0xOjEpLCtyWzZdLCsoKHJbN118fCIwIikrIjAwIikuc3Vic3RyaW5nKDAsMykpLHQ/LmluKTpmZShOYU4sdD8uaW4pfXZhciB0emksRkJlPWYoKCk9PntPZSgpO3R6aT1OQmV9KTtmdW5jdGlvbiBMbihlLHQscil7bGV0IGE9YzQoZSxyKS10O3JldHVybiBhPD0wJiYoYSs9NyksdTQoZSxhLHIpfXZhciBuemksaWM9ZigoKT0+e2w5KCk7ZjkoKTtuemk9TG59KTtmdW5jdGlvbiBPQmUoZSx0KXtyZXR1cm4gTG4oZSw1LHQpfXZhciBsemksUkJlPWYoKCk9PntpYygpO2x6aT1PQmV9KTtmdW5jdGlvbiBCQmUoZSx0KXtyZXR1cm4gTG4oZSwxLHQpfXZhciB1emksSEJlPWYoKCk9PntpYygpO3V6aT1CQmV9KTtmdW5jdGlvbiBxQmUoZSx0KXtyZXR1cm4gTG4oZSw2LHQpfXZhciBoemksakJlPWYoKCk9PntpYygpO2h6aT1xQmV9KTtmdW5jdGlvbiBWQmUoZSx0KXtyZXR1cm4gTG4oZSwwLHQpfXZhciBiemksVUJlPWYoKCk9PntpYygpO2J6aT1WQmV9KTtmdW5jdGlvbiBXQmUoZSx0KXtyZXR1cm4gTG4oZSw0LHQpfXZhciB5emksR0JlPWYoKCk9PntpYygpO3l6aT1XQmV9KTtmdW5jdGlvbiBZQmUoZSx0KXtyZXR1cm4gTG4oZSwyLHQpfXZhciBremksWkJlPWYoKCk9PntpYygpO2t6aT1ZQmV9KTtmdW5jdGlvbiBYQmUoZSx0KXtyZXR1cm4gTG4oZSwzLHQpfXZhciBDemksUUJlPWYoKCk9PntpYygpO0N6aT1YQmV9KTtmdW5jdGlvbiBKQmUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSpjQyl9dmFyIEx6aSxLQmU9ZigoKT0+e1J0KCk7THppPUpCZX0pO2Z1bmN0aW9uIGVIZShlKXtsZXQgdD1lL3VDO3JldHVybiBNYXRoLnRydW5jKHQpfXZhciBBemksdEhlPWYoKCk9PntSdCgpO0F6aT1lSGV9KTtmdW5jdGlvbiBySGUoZSx0KXtsZXQgcj10Py5uZWFyZXN0VG8/PzE7aWYocjwxfHxyPjEyKXJldHVybiBOZSh0Py5pbnx8ZSxOYU4pO2xldCBhPWZlKGUsdD8uaW4pLGk9YS5nZXRNaW51dGVzKCkvNjAsbj1hLmdldFNlY29uZHMoKS82MC82MCxzPWEuZ2V0TWlsbGlzZWNvbmRzKCkvMWUzLzYwLzYwLG89YS5nZXRIb3VycygpK2krbitzLGM9dD8ucm91bmRpbmdNZXRob2Q/PyJyb3VuZCIsdT1DbihjKShvL3IpKnI7cmV0dXJuIGEuc2V0SG91cnModSwwLDAsMCksYX12YXIgRnppLGFIZT1mKCgpPT57cmMoKTtndCgpO09lKCk7RnppPXJIZX0pO2Z1bmN0aW9uIGlIZShlLHQpe2xldCByPXQ/Lm5lYXJlc3RUbz8/MTtpZihyPDF8fHI+MzApcmV0dXJuIE5lKGUsTmFOKTtsZXQgYT1mZShlLHQ/LmluKSxpPWEuZ2V0U2Vjb25kcygpLzYwLG49YS5nZXRNaWxsaXNlY29uZHMoKS8xZTMvNjAscz1hLmdldE1pbnV0ZXMoKStpK24sbz10Py5yb3VuZGluZ01ldGhvZD8/InJvdW5kIixsPUNuKG8pKHMvcikqcjtyZXR1cm4gYS5zZXRNaW51dGVzKGwsMCwwKSxhfXZhciBxemksbkhlPWYoKCk9PntyYygpO2d0KCk7T2UoKTtxemk9aUhlfSk7ZnVuY3Rpb24gc0hlKGUpe2xldCB0PWUvamQ7cmV0dXJuIE1hdGgudHJ1bmModCl9dmFyIFV6aSxvSGU9ZigoKT0+e1J0KCk7VXppPXNIZX0pO2Z1bmN0aW9uIGxIZShlKXtyZXR1cm4gZSpMcH12YXIgWXppLGNIZT1mKCgpPT57UnQoKTtZemk9bEhlfSk7ZnVuY3Rpb24gZEhlKGUpe2xldCB0PWUvRHA7cmV0dXJuIE1hdGgudHJ1bmModCl9dmFyIFF6aSx1SGU9ZigoKT0+e1J0KCk7UXppPWRIZX0pO2Z1bmN0aW9uIEpwKGUsdCxyKXtsZXQgYT1mZShlLHI/LmluKSxpPWEuZ2V0RnVsbFllYXIoKSxuPWEuZ2V0RGF0ZSgpLHM9TmUocj8uaW58fGUsMCk7cy5zZXRGdWxsWWVhcihpLHQsMTUpLHMuc2V0SG91cnMoMCwwLDAsMCk7bGV0IG89dFQocyk7cmV0dXJuIGEuc2V0TW9udGgodCxNYXRoLm1pbihuLG8pKSxhfXZhciByQ2ksbl89ZigoKT0+e2d0KCk7V0ooKTtPZSgpO3JDaT1KcH0pO2Z1bmN0aW9uIHBIZShlLHQscil7bGV0IGE9ZmUoZSxyPy5pbik7cmV0dXJuIGlzTmFOKCthKT9OZShyPy5pbnx8ZSxOYU4pOih0LnllYXIhPW51bGwmJmEuc2V0RnVsbFllYXIodC55ZWFyKSx0Lm1vbnRoIT1udWxsJiYoYT1KcChhLHQubW9udGgpKSx0LmRhdGUhPW51bGwmJmEuc2V0RGF0ZSh0LmRhdGUpLHQuaG91cnMhPW51bGwmJmEuc2V0SG91cnModC5ob3VycyksdC5taW51dGVzIT1udWxsJiZhLnNldE1pbnV0ZXModC5taW51dGVzKSx0LnNlY29uZHMhPW51bGwmJmEuc2V0U2Vjb25kcyh0LnNlY29uZHMpLHQubWlsbGlzZWNvbmRzIT1udWxsJiZhLnNldE1pbGxpc2Vjb25kcyh0Lm1pbGxpc2Vjb25kcyksYSl9dmFyIG9DaSxmSGU9ZigoKT0+e2d0KCk7bl8oKTtPZSgpO29DaT1wSGV9KTtmdW5jdGlvbiBoSGUoZSx0LHIpe2xldCBhPWZlKGUscj8uaW4pO3JldHVybiBhLnNldERhdGUodCksYX12YXIgZENpLG1IZT1mKCgpPT57T2UoKTtkQ2k9aEhlfSk7ZnVuY3Rpb24gZ0hlKGUsdCxyKXtsZXQgYT1mZShlLHI/LmluKTtyZXR1cm4gYS5zZXRNb250aCgwKSxhLnNldERhdGUodCksYX12YXIgZkNpLGJIZT1mKCgpPT57T2UoKTtmQ2k9Z0hlfSk7ZnVuY3Rpb24gdkhlKGUpe2xldCB0PXt9LHI9QXIoKTtmb3IobGV0IGEgaW4gcilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixhKSYmKHRbYV09clthXSk7Zm9yKGxldCBhIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSkmJihlW2FdPT09dm9pZCAwP2RlbGV0ZSB0W2FdOnRbYV09ZVthXSk7SVBlKHQpfXZhciBnQ2kseEhlPWYoKCk9PntTbigpO2dDaT12SGV9KTtmdW5jdGlvbiB5SGUoZSx0LHIpe2xldCBhPWZlKGUscj8uaW4pO3JldHVybiBhLnNldEhvdXJzKHQpLGF9dmFyIHhDaSx3SGU9ZigoKT0+e09lKCk7eENpPXlIZX0pO2Z1bmN0aW9uIE1IZShlLHQscil7bGV0IGE9ZmUoZSxyPy5pbik7cmV0dXJuIGEuc2V0TWlsbGlzZWNvbmRzKHQpLGF9dmFyIE1DaSxrSGU9ZigoKT0+e09lKCk7TUNpPU1IZX0pO2Z1bmN0aW9uIFNIZShlLHQscil7bGV0IGE9ZmUoZSxyPy5pbik7cmV0dXJuIGEuc2V0TWludXRlcyh0KSxhfXZhciB6Q2ksekhlPWYoKCk9PntPZSgpO3pDaT1TSGV9KTtmdW5jdGlvbiBDSGUoZSx0LHIpe2xldCBhPWZlKGUscj8uaW4pLGk9TWF0aC50cnVuYyhhLmdldE1vbnRoKCkvMykrMSxuPXQtaTtyZXR1cm4gSnAoYSxhLmdldE1vbnRoKCkrbiozKX12YXIgTENpLFRIZT1mKCgpPT57bl8oKTtPZSgpO0xDaT1DSGV9KTtmdW5jdGlvbiBfSGUoZSx0LHIpe2xldCBhPWZlKGUscj8uaW4pO3JldHVybiBhLnNldFNlY29uZHModCksYX12YXIgQUNpLExIZT1mKCgpPT57T2UoKTtBQ2k9X0hlfSk7ZnVuY3Rpb24gJEhlKGUsdCxyKXtsZXQgYT1BcigpLGk9cj8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/YS5maXJzdFdlZWtDb250YWluc0RhdGU/P2EubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsbj1JaShmZShlLHI/LmluKSxYZChlLHIpLHIpLHM9TmUocj8uaW58fGUsMCk7cy5zZXRGdWxsWWVhcih0LDAsaSkscy5zZXRIb3VycygwLDAsMCwwKTtsZXQgbz1YZChzLHIpO3JldHVybiBvLnNldERhdGUoby5nZXREYXRlKCkrbiksb312YXIgUkNpLERIZT1mKCgpPT57U24oKTtndCgpO2VjKCk7WUMoKTtPZSgpO1JDaT0kSGV9KTtmdW5jdGlvbiBBSGUoZSx0LHIpe2xldCBhPWZlKGUscj8uaW4pO3JldHVybiBpc05hTigrYSk/TmUocj8uaW58fGUsTmFOKTooYS5zZXRGdWxsWWVhcih0KSxhKX12YXIgakNpLEVIZT1mKCgpPT57Z3QoKTtPZSgpO2pDaT1BSGV9KTtmdW5jdGlvbiBJSGUoZSx0KXtsZXQgcj1mZShlLHQ/LmluKSxhPXIuZ2V0RnVsbFllYXIoKSxpPU1hdGguZmxvb3IoYS8xMCkqMTA7cmV0dXJuIHIuc2V0RnVsbFllYXIoaSwwLDEpLHIuc2V0SG91cnMoMCwwLDAsMCkscn12YXIgV0NpLFBIZT1mKCgpPT57T2UoKTtXQ2k9SUhlfSk7ZnVuY3Rpb24gTkhlKGUpe3JldHVybiBCMihEYXRlLm5vdygpLGUpfXZhciBaQ2ksRkhlPWYoKCk9PntKNygpO1pDaT1OSGV9KTtmdW5jdGlvbiBPSGUoZSl7bGV0IHQ9WHQoZT8uaW4pLHI9dC5nZXRGdWxsWWVhcigpLGE9dC5nZXRNb250aCgpLGk9dC5nZXREYXRlKCksbj1OZShlPy5pbiwwKTtyZXR1cm4gbi5zZXRGdWxsWWVhcihyLGEsaSsxKSxuLnNldEhvdXJzKDAsMCwwLDApLG59dmFyIEtDaSxSSGU9ZigoKT0+e2d0KCk7YmkoKTtLQ2k9T0hlfSk7ZnVuY3Rpb24gQkhlKGUpe2xldCB0PVh0KGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxhPXQuZ2V0TW9udGgoKSxpPXQuZ2V0RGF0ZSgpLG49WHQoZT8uaW4pO3JldHVybiBuLnNldEZ1bGxZZWFyKHIsYSxpLTEpLG4uc2V0SG91cnMoMCwwLDAsMCksbn12YXIgclRpLEhIZT1mKCgpPT57YmkoKTtyVGk9QkhlfSk7ZnVuY3Rpb24gc18oZSx0LHIpe3JldHVybiBGMihlLC10LHIpfXZhciBuVGksbUs9ZigoKT0+e0FwKCk7blRpPXNffSk7ZnVuY3Rpb24gcUhlKGUsdCxyKXtsZXR7eWVhcnM6YT0wLG1vbnRoczppPTAsd2Vla3M6bj0wLGRheXM6cz0wLGhvdXJzOm89MCxtaW51dGVzOmM9MCxzZWNvbmRzOmw9MH09dCx1PXNfKGUsaSthKjEyLHIpLGQ9dTQodSxzK24qNyxyKSxoPWMrbyo2MCx2PShsK2gqNjApKjFlMztyZXR1cm4gTmUocj8uaW58fGUsK2Qtdil9dmFyIGRUaSxqSGU9ZigoKT0+e2d0KCk7ZjkoKTttSygpO2RUaT1xSGV9KTtmdW5jdGlvbiBWSGUoZSx0LHIpe3JldHVybiBoQyhlLC10LHIpfXZhciBmVGksVUhlPWYoKCk9Pnt4SigpO2ZUaT1WSGV9KTtmdW5jdGlvbiBXSGUoZSx0LHIpe3JldHVybiBtQyhlLC10LHIpfXZhciBnVGksR0hlPWYoKCk9Pnt5SigpO2dUaT1XSGV9KTtmdW5jdGlvbiBZSGUoZSx0LHIpe3JldHVybiB0NChlLC10LHIpfXZhciB4VGksWkhlPWYoKCk9PntRNygpO3hUaT1ZSGV9KTtmdW5jdGlvbiBYSGUoZSx0LHIpe3JldHVybiBJcChlLC10LHIpfXZhciBNVGksUUhlPWYoKCk9Pnt2QygpO01UaT1YSGV9KTtmdW5jdGlvbiBKSGUoZSx0LHIpe3JldHVybiBQcChlLC10LHIpfXZhciB6VGksS0hlPWYoKCk9Pnt4QygpO3pUaT1KSGV9KTtmdW5jdGlvbiBlcWUoZSx0LHIpe3JldHVybiB5QyhlLC10LHIpfXZhciBfVGksdHFlPWYoKCk9PntrSigpO19UaT1lcWV9KTtmdW5jdGlvbiBycWUoZSx0LHIpe3JldHVybiBhNChlLC10LHIpfXZhciBEVGksYXFlPWYoKCk9PntLNygpO0RUaT1ycWV9KTtmdW5jdGlvbiBpcWUoZSx0LHIpe3JldHVybiB3QyhlLC10LHIpfXZhciBJVGksbnFlPWYoKCk9PntTSigpO0lUaT1pcWV9KTtmdW5jdGlvbiBzcWUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSo3KX12YXIgRlRpLG9xZT1mKCgpPT57UnQoKTtGVGk9c3FlfSk7ZnVuY3Rpb24gbHFlKGUpe3JldHVybiBNYXRoLnRydW5jKGUqMzY1LjI0MjUpfXZhciBCVGksY3FlPWYoKCk9PntSdCgpO0JUaT1scWV9KTtmdW5jdGlvbiBkcWUoZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSpkQyl9dmFyIGpUaSx1cWU9ZigoKT0+e1J0KCk7alRpPWRxZX0pO2Z1bmN0aW9uIHBxZShlKXtyZXR1cm4gTWF0aC50cnVuYyhlKnVDKX12YXIgV1RpLGZxZT1mKCgpPT57UnQoKTtXVGk9cHFlfSk7dmFyIG05PXt9O1JlKG05LHthZGQ6KCk9PmU0LGFkZEJ1c2luZXNzRGF5czooKT0+aEMsYWRkRGF5czooKT0+Z2ksYWRkSG91cnM6KCk9Pm1DLGFkZElTT1dlZWtZZWFyczooKT0+YkMsYWRkTWlsbGlzZWNvbmRzOigpPT50NCxhZGRNaW51dGVzOigpPT5JcCxhZGRNb250aHM6KCk9PkYyLGFkZFF1YXJ0ZXJzOigpPT5QcCxhZGRTZWNvbmRzOigpPT55QyxhZGRXZWVrczooKT0+YTQsYWRkWWVhcnM6KCk9PndDLGFyZUludGVydmFsc092ZXJsYXBwaW5nOigpPT5QUGUsY2xhbXA6KCk9PkZQZSxjbG9zZXN0SW5kZXhUbzooKT0+U0MsY2xvc2VzdFRvOigpPT5SUGUsY29tcGFyZUFzYzooKT0+em4sY29tcGFyZURlc2M6KCk9PkhQZSxjb25zdHJ1Y3RGcm9tOigpPT5OZSxjb25zdHJ1Y3ROb3c6KCk9Plh0LGRheXNUb1dlZWtzOigpPT5qUGUsZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzOigpPT5VUGUsZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzOigpPT5JaSxkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFyczooKT0+Q0MsZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrczooKT0+R1BlLGRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzOigpPT5VZCxkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzOigpPT5GcCxkaWZmZXJlbmNlSW5DYWxlbmRhcldlZWtzOigpPT5XZCxkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzOigpPT5pNCxkaWZmZXJlbmNlSW5EYXlzOigpPT5PcCxkaWZmZXJlbmNlSW5Ib3VyczooKT0+R2QsZGlmZmVyZW5jZUluSVNPV2Vla1llYXJzOigpPT5YUGUsZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzOigpPT5ScCxkaWZmZXJlbmNlSW5NaW51dGVzOigpPT5ZZCxkaWZmZXJlbmNlSW5Nb250aHM6KCk9Pm40LGRpZmZlcmVuY2VJblF1YXJ0ZXJzOigpPT5KUGUsZGlmZmVyZW5jZUluU2Vjb25kczooKT0+cTIsZGlmZmVyZW5jZUluV2Vla3M6KCk9PmVOZSxkaWZmZXJlbmNlSW5ZZWFyczooKT0+T0MsZWFjaERheU9mSW50ZXJ2YWw6KCk9PlJDLGVhY2hIb3VyT2ZJbnRlcnZhbDooKT0+ck5lLGVhY2hNaW51dGVPZkludGVydmFsOigpPT5pTmUsZWFjaE1vbnRoT2ZJbnRlcnZhbDooKT0+c05lLGVhY2hRdWFydGVyT2ZJbnRlcnZhbDooKT0+bE5lLGVhY2hXZWVrT2ZJbnRlcnZhbDooKT0+ZE5lLGVhY2hXZWVrZW5kT2ZJbnRlcnZhbDooKT0+cXAsZWFjaFdlZWtlbmRPZk1vbnRoOigpPT5wTmUsZWFjaFdlZWtlbmRPZlllYXI6KCk9PmhOZSxlYWNoWWVhck9mSW50ZXJ2YWw6KCk9PmdOZSxlbmRPZkRheTooKT0+QnAsZW5kT2ZEZWNhZGU6KCk9PnZOZSxlbmRPZkhvdXI6KCk9PnlOZSxlbmRPZklTT1dlZWs6KCk9Pk1OZSxlbmRPZklTT1dlZWtZZWFyOigpPT5TTmUsZW5kT2ZNaW51dGU6KCk9PkNOZSxlbmRPZk1vbnRoOigpPT5IcCxlbmRPZlF1YXJ0ZXI6KCk9Pl9OZSxlbmRPZlNlY29uZDooKT0+JE5lLGVuZE9mVG9kYXk6KCk9PkFOZSxlbmRPZlRvbW9ycm93OigpPT5JTmUsZW5kT2ZXZWVrOigpPT5WQyxlbmRPZlllYXI6KCk9PnFDLGVuZE9mWWVzdGVyZGF5OigpPT5OTmUsZm9ybWF0OigpPT5vOSxmb3JtYXREYXRlOigpPT5vOSxmb3JtYXREaXN0YW5jZTooKT0+SkMsZm9ybWF0RGlzdGFuY2VTdHJpY3Q6KCk9PktDLGZvcm1hdERpc3RhbmNlVG9Ob3c6KCk9Pm5GZSxmb3JtYXREaXN0YW5jZVRvTm93U3RyaWN0OigpPT5vRmUsZm9ybWF0RHVyYXRpb246KCk9PmNGZSxmb3JtYXRJU086KCk9PnVGZSxmb3JtYXRJU085MDc1OigpPT5mRmUsZm9ybWF0SVNPRHVyYXRpb246KCk9Pm1GZSxmb3JtYXRSRkMzMzM5OigpPT5iRmUsZm9ybWF0UkZDNzIzMTooKT0+eEZlLGZvcm1hdFJlbGF0aXZlOigpPT53RmUsZm9ybWF0dGVyczooKT0+bjksZnJvbVVuaXhUaW1lOigpPT5rRmUsZ2V0RGF0ZTooKT0+ZVQsZ2V0RGF5OigpPT5jNCxnZXREYXlPZlllYXI6KCk9PldDLGdldERheXNJbk1vbnRoOigpPT50VCxnZXREYXlzSW5ZZWFyOigpPT56RmUsZ2V0RGVjYWRlOigpPT5URmUsZ2V0RGVmYXVsdE9wdGlvbnM6KCk9PmFULGdldEhvdXJzOigpPT5MRmUsZ2V0SVNPRGF5OigpPT5pVCxnZXRJU09XZWVrOigpPT5XcCxnZXRJU09XZWVrWWVhcjooKT0+WW4sZ2V0SVNPV2Vla3NJblllYXI6KCk9PkRGZSxnZXRNaWxsaXNlY29uZHM6KCk9PkVGZSxnZXRNaW51dGVzOigpPT5QRmUsZ2V0TW9udGg6KCk9PkZGZSxnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFsczooKT0+UkZlLGdldFF1YXJ0ZXI6KCk9PmU5LGdldFNlY29uZHM6KCk9PkhGZSxnZXRUaW1lOigpPT5qRmUsZ2V0VW5peFRpbWU6KCk9PlVGZSxnZXRXZWVrOigpPT5HcCxnZXRXZWVrT2ZNb250aDooKT0+R0ZlLGdldFdlZWtZZWFyOigpPT5vNCxnZXRXZWVrc0luTW9udGg6KCk9PlpGZSxnZXRZZWFyOigpPT5RRmUsaG91cnNUb01pbGxpc2Vjb25kczooKT0+S0ZlLGhvdXJzVG9NaW51dGVzOigpPT50T2UsaG91cnNUb1NlY29uZHM6KCk9PmFPZSxpbnRlcnZhbDooKT0+bk9lLGludGVydmFsVG9EdXJhdGlvbjooKT0+b09lLGludGxGb3JtYXQ6KCk9PmNPZSxpbnRsRm9ybWF0RGlzdGFuY2U6KCk9PnVPZSxpc0FmdGVyOigpPT5mT2UsaXNCZWZvcmU6KCk9Pm1PZSxpc0RhdGU6KCk9PnpDLGlzRXF1YWw6KCk9PmJPZSxpc0V4aXN0czooKT0+eE9lLGlzRmlyc3REYXlPZk1vbnRoOigpPT53T2UsaXNGcmlkYXk6KCk9PmtPZSxpc0Z1dHVyZTooKT0+ek9lLGlzTGFzdERheU9mTW9udGg6KCk9PkZDLGlzTGVhcFllYXI6KCk9PnJULGlzTWF0Y2g6KCk9Pm5SZSxpc01vbmRheTooKT0+b1JlLGlzUGFzdDooKT0+Y1JlLGlzU2FtZURheTooKT0+SDIsaXNTYW1lSG91cjooKT0+WlQsaXNTYW1lSVNPV2VlazooKT0+UVQsaXNTYW1lSVNPV2Vla1llYXI6KCk9PnVSZSxpc1NhbWVNaW51dGU6KCk9PkpULGlzU2FtZU1vbnRoOigpPT5LVCxpc1NhbWVRdWFydGVyOigpPT5lXyxpc1NhbWVTZWNvbmQ6KCk9PnRfLGlzU2FtZVdlZWs6KCk9PlFwLGlzU2FtZVllYXI6KCk9PnJfLGlzU2F0dXJkYXk6KCk9PnBDLGlzU3VuZGF5OigpPT5mQyxpc1RoaXNIb3VyOigpPT5mUmUsaXNUaGlzSVNPV2VlazooKT0+bVJlLGlzVGhpc01pbnV0ZTooKT0+YlJlLGlzVGhpc01vbnRoOigpPT54UmUsaXNUaGlzUXVhcnRlcjooKT0+d1JlLGlzVGhpc1NlY29uZDooKT0+a1JlLGlzVGhpc1dlZWs6KCk9PnpSZSxpc1RoaXNZZWFyOigpPT5UUmUsaXNUaHVyc2RheTooKT0+TFJlLGlzVG9kYXk6KCk9PkRSZSxpc1RvbW9ycm93OigpPT5FUmUsaXNUdWVzZGF5OigpPT5QUmUsaXNWYWxpZDooKT0+WmksaXNXZWRuZXNkYXk6KCk9PkZSZSxpc1dlZWtlbmQ6KCk9Pk8yLGlzV2l0aGluSW50ZXJ2YWw6KCk9PlJSZSxpc1llc3RlcmRheTooKT0+SFJlLGxhc3REYXlPZkRlY2FkZTooKT0+alJlLGxhc3REYXlPZklTT1dlZWs6KCk9PlVSZSxsYXN0RGF5T2ZJU09XZWVrWWVhcjooKT0+R1JlLGxhc3REYXlPZk1vbnRoOigpPT5uVCxsYXN0RGF5T2ZRdWFydGVyOigpPT5aUmUsbGFzdERheU9mV2VlazooKT0+YV8sbGFzdERheU9mWWVhcjooKT0+UVJlLGxpZ2h0Rm9ybWF0OigpPT5LUmUsbGlnaHRGb3JtYXR0ZXJzOigpPT5VMSxsb25nRm9ybWF0dGVyczooKT0+bDQsbWF4OigpPT5NQyxtaWxsaXNlY29uZHM6KCk9PnRCZSxtaWxsaXNlY29uZHNUb0hvdXJzOigpPT5hQmUsbWlsbGlzZWNvbmRzVG9NaW51dGVzOigpPT5uQmUsbWlsbGlzZWNvbmRzVG9TZWNvbmRzOigpPT5vQmUsbWluOigpPT5rQyxtaW51dGVzVG9Ib3VyczooKT0+Y0JlLG1pbnV0ZXNUb01pbGxpc2Vjb25kczooKT0+dUJlLG1pbnV0ZXNUb1NlY29uZHM6KCk9PmZCZSxtb250aHNUb1F1YXJ0ZXJzOigpPT5tQmUsbW9udGhzVG9ZZWFyczooKT0+YkJlLG5leHREYXk6KCk9Pl9uLG5leHRGcmlkYXk6KCk9PnhCZSxuZXh0TW9uZGF5OigpPT53QmUsbmV4dFNhdHVyZGF5OigpPT5rQmUsbmV4dFN1bmRheTooKT0+ekJlLG5leHRUaHVyc2RheTooKT0+VEJlLG5leHRUdWVzZGF5OigpPT5MQmUsbmV4dFdlZG5lc2RheTooKT0+REJlLHBhcnNlOigpPT5ZVCxwYXJzZUlTTzooKT0+SUJlLHBhcnNlSlNPTjooKT0+TkJlLHBhcnNlcnM6KCk9PkdULHByZXZpb3VzRGF5OigpPT5MbixwcmV2aW91c0ZyaWRheTooKT0+T0JlLHByZXZpb3VzTW9uZGF5OigpPT5CQmUscHJldmlvdXNTYXR1cmRheTooKT0+cUJlLHByZXZpb3VzU3VuZGF5OigpPT5WQmUscHJldmlvdXNUaHVyc2RheTooKT0+V0JlLHByZXZpb3VzVHVlc2RheTooKT0+WUJlLHByZXZpb3VzV2VkbmVzZGF5OigpPT5YQmUscXVhcnRlcnNUb01vbnRoczooKT0+SkJlLHF1YXJ0ZXJzVG9ZZWFyczooKT0+ZUhlLHJvdW5kVG9OZWFyZXN0SG91cnM6KCk9PnJIZSxyb3VuZFRvTmVhcmVzdE1pbnV0ZXM6KCk9PmlIZSxzZWNvbmRzVG9Ib3VyczooKT0+c0hlLHNlY29uZHNUb01pbGxpc2Vjb25kczooKT0+bEhlLHNlY29uZHNUb01pbnV0ZXM6KCk9PmRIZSxzZXQ6KCk9PnBIZSxzZXREYXRlOigpPT5oSGUsc2V0RGF5OigpPT5kNCxzZXREYXlPZlllYXI6KCk9PmdIZSxzZXREZWZhdWx0T3B0aW9uczooKT0+dkhlLHNldEhvdXJzOigpPT55SGUsc2V0SVNPRGF5OigpPT5EVCxzZXRJU09XZWVrOigpPT5TVCxzZXRJU09XZWVrWWVhcjooKT0+Z0Msc2V0TWlsbGlzZWNvbmRzOigpPT5NSGUsc2V0TWludXRlczooKT0+U0hlLHNldE1vbnRoOigpPT5KcCxzZXRRdWFydGVyOigpPT5DSGUsc2V0U2Vjb25kczooKT0+X0hlLHNldFdlZWs6KCk9Pk1ULHNldFdlZWtZZWFyOigpPT4kSGUsc2V0WWVhcjooKT0+QUhlLHN0YXJ0T2ZEYXk6KCk9PkIyLHN0YXJ0T2ZEZWNhZGU6KCk9PklIZSxzdGFydE9mSG91cjooKT0+ZDksc3RhcnRPZklTT1dlZWs6KCk9PmFpLHN0YXJ0T2ZJU09XZWVrWWVhcjooKT0+VjEsc3RhcnRPZk1pbnV0ZTooKT0+dTksc3RhcnRPZk1vbnRoOigpPT5zNCxzdGFydE9mUXVhcnRlcjooKT0+VjIsc3RhcnRPZlNlY29uZDooKT0+cDksc3RhcnRPZlRvZGF5OigpPT5OSGUsc3RhcnRPZlRvbW9ycm93OigpPT5PSGUsc3RhcnRPZldlZWs6KCk9PmFhLHN0YXJ0T2ZXZWVrWWVhcjooKT0+WGQsc3RhcnRPZlllYXI6KCk9PmpwLHN0YXJ0T2ZZZXN0ZXJkYXk6KCk9PkJIZSxzdWI6KCk9PnFIZSxzdWJCdXNpbmVzc0RheXM6KCk9PlZIZSxzdWJEYXlzOigpPT51NCxzdWJIb3VyczooKT0+V0hlLHN1YklTT1dlZWtZZWFyczooKT0+QUMsc3ViTWlsbGlzZWNvbmRzOigpPT5ZSGUsc3ViTWludXRlczooKT0+WEhlLHN1Yk1vbnRoczooKT0+c18sc3ViUXVhcnRlcnM6KCk9PkpIZSxzdWJTZWNvbmRzOigpPT5lcWUsc3ViV2Vla3M6KCk9PnJxZSxzdWJZZWFyczooKT0+aXFlLHRvRGF0ZTooKT0+ZmUsdHJhbnNwb3NlOigpPT5zVCx3ZWVrc1RvRGF5czooKT0+c3FlLHllYXJzVG9EYXlzOigpPT5scWUseWVhcnNUb01vbnRoczooKT0+ZHFlLHllYXJzVG9RdWFydGVyczooKT0+cHFlfSk7dmFyIGhxZT1mKCgpPT57Z0ooKTt4SigpO04yKCk7eUooKTtNSigpO1E3KCk7dkMoKTtBcCgpO3hDKCk7a0ooKTtLNygpO1NKKCk7TlBlKCk7T1BlKCk7VEooKTtCUGUoKTtWZCgpO3FQZSgpO2d0KCk7YmkoKTtWUGUoKTtXUGUoKTtlYygpO0xKKCk7WVBlKCk7VEMoKTtESigpO19DKCk7TEMoKTskQygpO0RDKCk7UVBlKCk7RUMoKTtJQygpO3Q5KCk7S1BlKCk7cjkoKTt0TmUoKTtJSigpO1BKKCk7YU5lKCk7bk5lKCk7b05lKCk7Y05lKCk7dU5lKCk7SEMoKTtmTmUoKTttTmUoKTtiTmUoKTtQQygpO3hOZSgpO3dOZSgpO2tOZSgpO3pOZSgpO1ROZSgpO05DKCk7TE5lKCk7RE5lKCk7RU5lKCk7UE5lKCk7RkooKTtOSigpO0ZOZSgpO3FKKCk7akooKTtWSigpO3NGZSgpO2xGZSgpO2RGZSgpO3BGZSgpO2hGZSgpO2dGZSgpO3ZGZSgpO3lGZSgpO01GZSgpO1NGZSgpO1VKKCk7bDkoKTtPSigpO1dKKCk7Q0ZlKCk7X0ZlKCk7WUooKTskRmUoKTtaSigpO0dDKCk7cjQoKTtBRmUoKTtJRmUoKTtORmUoKTtPRmUoKTtCRmUoKTskSigpO3FGZSgpO1ZGZSgpO1dGZSgpO1pDKCk7WUZlKCk7aTkoKTtYRmUoKTtKRmUoKTtlT2UoKTtyT2UoKTtpT2UoKTtzT2UoKTtsT2UoKTtkT2UoKTtwT2UoKTtoT2UoKTtnT2UoKTtfSigpO3ZPZSgpO3lPZSgpO01PZSgpO1NPZSgpO0NPZSgpO0VKKCk7R0ooKTtzUmUoKTtsUmUoKTtkUmUoKTtOcCgpO2lLKCk7bksoKTtwUmUoKTtvSygpO2xLKCk7Y0soKTt1SygpO1hUKCk7cEsoKTtiSigpO3ZKKCk7aFJlKCk7Z1JlKCk7dlJlKCk7eVJlKCk7TVJlKCk7U1JlKCk7Q1JlKCk7X1JlKCk7JFJlKCk7QVJlKCk7SVJlKCk7TlJlKCk7dGMoKTtPUmUoKTtYNygpO0JSZSgpO3FSZSgpO1ZSZSgpO1dSZSgpO1lSZSgpO1hKKCk7WFJlKCk7ZksoKTtKUmUoKTtlQmUoKTt6SigpO3JCZSgpO2lCZSgpO3NCZSgpO2xCZSgpO0NKKCk7ZEJlKCk7cEJlKCk7aEJlKCk7Z0JlKCk7dkJlKCk7YWMoKTt5QmUoKTtNQmUoKTtTQmUoKTtDQmUoKTtfQmUoKTskQmUoKTtBQmUoKTtySygpO1BCZSgpO0ZCZSgpO2ljKCk7UkJlKCk7SEJlKCk7akJlKCk7VUJlKCk7R0JlKCk7WkJlKCk7UUJlKCk7S0JlKCk7dEhlKCk7YUhlKCk7bkhlKCk7b0hlKCk7Y0hlKCk7dUhlKCk7ZkhlKCk7bUhlKCk7YzkoKTtiSGUoKTt4SGUoKTt3SGUoKTt0SygpO2VLKCk7d0ooKTtrSGUoKTt6SGUoKTtuXygpO1RIZSgpO0xIZSgpO0tKKCk7REhlKCk7RUhlKCk7SjcoKTtQSGUoKTthSygpO1IyKCk7RXAoKTtzSygpO2E5KCk7QkMoKTtkSygpO0ZIZSgpO1JIZSgpO3dvKCk7WUMoKTtqQygpO0hIZSgpO2pIZSgpO1VIZSgpO2Y5KCk7R0hlKCk7QUooKTtaSGUoKTtRSGUoKTttSygpO0tIZSgpO3RxZSgpO2FxZSgpO25xZSgpO09lKCk7UUooKTtvcWUoKTtjcWUoKTt1cWUoKTtmcWUoKX0pO3ZhciBtcWU9amUoKGdLLGJLKT0+eyhmdW5jdGlvbihlLHQpe3R5cGVvZiBnSz09Im9iamVjdCImJnR5cGVvZiBiSzwidSI/YksuZXhwb3J0cz10KCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6ZXx8c2VsZikuZGF5anM9dCgpfSkoZ0ssKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlPTFlMyx0PTZlNCxyPTM2ZTUsYT0ibWlsbGlzZWNvbmQiLGk9InNlY29uZCIsbj0ibWludXRlIixzPSJob3VyIixvPSJkYXkiLGM9IndlZWsiLGw9Im1vbnRoIix1PSJxdWFydGVyIixkPSJ5ZWFyIixoPSJkYXRlIixtPSJJbnZhbGlkIERhdGUiLHY9L14oXGR7NH0pWy0vXT8oXGR7MSwyfSk/Wy0vXT8oXGR7MCwyfSlbVHRcc10qKFxkezEsMn0pPzo/KFxkezEsMn0pPzo/KFxkezEsMn0pP1suOl0/KFxkKyk/JC8sYj0vXFsoW15cXV0rKV18WXsxLDR9fE17MSw0fXxEezEsMn18ZHsxLDR9fEh7MSwyfXxoezEsMn18YXxBfG17MSwyfXxzezEsMn18WnsxLDJ9fFNTUy9nLGc9e25hbWU6ImVuIix3ZWVrZGF5czoiU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXkiLnNwbGl0KCJfIiksbW9udGhzOiJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyIi5zcGxpdCgiXyIpLG9yZGluYWw6ZnVuY3Rpb24oeil7dmFyIEU9WyJ0aCIsInN0IiwibmQiLCJyZCJdLFQ9eiUxMDA7cmV0dXJuIlsiK3orKEVbKFQtMjApJTEwXXx8RVtUXXx8RVswXSkrIl0ifX0seT1mdW5jdGlvbih6LEUsVCl7dmFyIEw9U3RyaW5nKHopO3JldHVybiFMfHxMLmxlbmd0aD49RT96OiIiK0FycmF5KEUrMS1MLmxlbmd0aCkuam9pbihUKSt6fSx3PXtzOnksejpmdW5jdGlvbih6KXt2YXIgRT0tei51dGNPZmZzZXQoKSxUPU1hdGguYWJzKEUpLEw9TWF0aC5mbG9vcihULzYwKSxWPVQlNjA7cmV0dXJuKEU8PTA/IisiOiItIikreShMLDIsIjAiKSsiOiIreShWLDIsIjAiKX0sbTpmdW5jdGlvbiB6KEUsVCl7aWYoRS5kYXRlKCk8VC5kYXRlKCkpcmV0dXJuLXooVCxFKTt2YXIgTD0xMiooVC55ZWFyKCktRS55ZWFyKCkpKyhULm1vbnRoKCktRS5tb250aCgpKSxWPUUuY2xvbmUoKS5hZGQoTCxsKSxCPVQtVjwwLFU9RS5jbG9uZSgpLmFkZChMKyhCPy0xOjEpLGwpO3JldHVybisoLShMKyhULVYpLyhCP1YtVTpVLVYpKXx8MCl9LGE6ZnVuY3Rpb24oeil7cmV0dXJuIHo8MD9NYXRoLmNlaWwoeil8fDA6TWF0aC5mbG9vcih6KX0scDpmdW5jdGlvbih6KXtyZXR1cm57TTpsLHk6ZCx3OmMsZDpvLEQ6aCxoOnMsbTpuLHM6aSxtczphLFE6dX1bel18fFN0cmluZyh6fHwiIikudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9zJC8sIiIpfSx1OmZ1bmN0aW9uKHope3JldHVybiB6PT09dm9pZCAwfX0saz0iZW4iLFI9e307UltrXT1nO3ZhciBDPSIkaXNEYXlqc09iamVjdCIsUz1mdW5jdGlvbih6KXtyZXR1cm4geiBpbnN0YW5jZW9mIHF8fCEoIXp8fCF6W0NdKX0sTz1mdW5jdGlvbiB6KEUsVCxMKXt2YXIgVjtpZighRSlyZXR1cm4gaztpZih0eXBlb2YgRT09InN0cmluZyIpe3ZhciBCPUUudG9Mb3dlckNhc2UoKTtSW0JdJiYoVj1CKSxUJiYoUltCXT1ULFY9Qik7dmFyIFU9RS5zcGxpdCgiLSIpO2lmKCFWJiZVLmxlbmd0aD4xKXJldHVybiB6KFVbMF0pfWVsc2V7dmFyIEs9RS5uYW1lO1JbS109RSxWPUt9cmV0dXJuIUwmJlYmJihrPVYpLFZ8fCFMJiZrfSxEPWZ1bmN0aW9uKHosRSl7aWYoUyh6KSlyZXR1cm4gei5jbG9uZSgpO3ZhciBUPXR5cGVvZiBFPT0ib2JqZWN0Ij9FOnt9O3JldHVybiBULmRhdGU9eixULmFyZ3M9YXJndW1lbnRzLG5ldyBxKFQpfSxOPXc7Ti5sPU8sTi5pPVMsTi53PWZ1bmN0aW9uKHosRSl7cmV0dXJuIEQoeix7bG9jYWxlOkUuJEwsdXRjOkUuJHUseDpFLiR4LCRvZmZzZXQ6RS4kb2Zmc2V0fSl9O3ZhciBxPShmdW5jdGlvbigpe2Z1bmN0aW9uIHooVCl7dGhpcy4kTD1PKFQubG9jYWxlLG51bGwsITApLHRoaXMucGFyc2UoVCksdGhpcy4keD10aGlzLiR4fHxULnh8fHt9LHRoaXNbQ109ITB9dmFyIEU9ei5wcm90b3R5cGU7cmV0dXJuIEUucGFyc2U9ZnVuY3Rpb24oVCl7dGhpcy4kZD0oZnVuY3Rpb24oTCl7dmFyIFY9TC5kYXRlLEI9TC51dGM7aWYoVj09PW51bGwpcmV0dXJuIG5ldyBEYXRlKE5hTik7aWYoTi51KFYpKXJldHVybiBuZXcgRGF0ZTtpZihWIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gbmV3IERhdGUoVik7aWYodHlwZW9mIFY9PSJzdHJpbmciJiYhL1okL2kudGVzdChWKSl7dmFyIFU9Vi5tYXRjaCh2KTtpZihVKXt2YXIgSz1VWzJdLTF8fDAsST0oVVs3XXx8IjAiKS5zdWJzdHJpbmcoMCwzKTtyZXR1cm4gQj9uZXcgRGF0ZShEYXRlLlVUQyhVWzFdLEssVVszXXx8MSxVWzRdfHwwLFVbNV18fDAsVVs2XXx8MCxJKSk6bmV3IERhdGUoVVsxXSxLLFVbM118fDEsVVs0XXx8MCxVWzVdfHwwLFVbNl18fDAsSSl9fXJldHVybiBuZXcgRGF0ZShWKX0pKFQpLHRoaXMuaW5pdCgpfSxFLmluaXQ9ZnVuY3Rpb24oKXt2YXIgVD10aGlzLiRkO3RoaXMuJHk9VC5nZXRGdWxsWWVhcigpLHRoaXMuJE09VC5nZXRNb250aCgpLHRoaXMuJEQ9VC5nZXREYXRlKCksdGhpcy4kVz1ULmdldERheSgpLHRoaXMuJEg9VC5nZXRIb3VycygpLHRoaXMuJG09VC5nZXRNaW51dGVzKCksdGhpcy4kcz1ULmdldFNlY29uZHMoKSx0aGlzLiRtcz1ULmdldE1pbGxpc2Vjb25kcygpfSxFLiR1dGlscz1mdW5jdGlvbigpe3JldHVybiBOfSxFLmlzVmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b1N0cmluZygpIT09bX0sRS5pc1NhbWU9ZnVuY3Rpb24oVCxMKXt2YXIgVj1EKFQpO3JldHVybiB0aGlzLnN0YXJ0T2YoTCk8PVYmJlY8PXRoaXMuZW5kT2YoTCl9LEUuaXNBZnRlcj1mdW5jdGlvbihULEwpe3JldHVybiBEKFQpPHRoaXMuc3RhcnRPZihMKX0sRS5pc0JlZm9yZT1mdW5jdGlvbihULEwpe3JldHVybiB0aGlzLmVuZE9mKEwpPEQoVCl9LEUuJGc9ZnVuY3Rpb24oVCxMLFYpe3JldHVybiBOLnUoVCk/dGhpc1tMXTp0aGlzLnNldChWLFQpfSxFLnVuaXg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5mbG9vcih0aGlzLnZhbHVlT2YoKS8xZTMpfSxFLnZhbHVlT2Y9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC5nZXRUaW1lKCl9LEUuc3RhcnRPZj1mdW5jdGlvbihULEwpe3ZhciBWPXRoaXMsQj0hIU4udShMKXx8TCxVPU4ucChUKSxLPWZ1bmN0aW9uKEEsJCl7dmFyIGo9Ti53KFYuJHU/RGF0ZS5VVEMoVi4keSwkLEEpOm5ldyBEYXRlKFYuJHksJCxBKSxWKTtyZXR1cm4gQj9qOmouZW5kT2Yobyl9LEk9ZnVuY3Rpb24oQSwkKXtyZXR1cm4gTi53KFYudG9EYXRlKClbQV0uYXBwbHkoVi50b0RhdGUoInMiKSwoQj9bMCwwLDAsMF06WzIzLDU5LDU5LDk5OV0pLnNsaWNlKCQpKSxWKX0sdmU9dGhpcy4kVyxNZT10aGlzLiRNLFA9dGhpcy4kRCxsZT0ic2V0IisodGhpcy4kdT8iVVRDIjoiIik7c3dpdGNoKFUpe2Nhc2UgZDpyZXR1cm4gQj9LKDEsMCk6SygzMSwxMSk7Y2FzZSBsOnJldHVybiBCP0soMSxNZSk6SygwLE1lKzEpO2Nhc2UgYzp2YXIgU2U9dGhpcy4kbG9jYWxlKCkud2Vla1N0YXJ0fHwwLFo9KHZlPFNlP3ZlKzc6dmUpLVNlO3JldHVybiBLKEI/UC1aOlArKDYtWiksTWUpO2Nhc2UgbzpjYXNlIGg6cmV0dXJuIEkobGUrIkhvdXJzIiwwKTtjYXNlIHM6cmV0dXJuIEkobGUrIk1pbnV0ZXMiLDEpO2Nhc2UgbjpyZXR1cm4gSShsZSsiU2Vjb25kcyIsMik7Y2FzZSBpOnJldHVybiBJKGxlKyJNaWxsaXNlY29uZHMiLDMpO2RlZmF1bHQ6cmV0dXJuIHRoaXMuY2xvbmUoKX19LEUuZW5kT2Y9ZnVuY3Rpb24oVCl7cmV0dXJuIHRoaXMuc3RhcnRPZihULCExKX0sRS4kc2V0PWZ1bmN0aW9uKFQsTCl7dmFyIFYsQj1OLnAoVCksVT0ic2V0IisodGhpcy4kdT8iVVRDIjoiIiksSz0oVj17fSxWW29dPVUrIkRhdGUiLFZbaF09VSsiRGF0ZSIsVltsXT1VKyJNb250aCIsVltkXT1VKyJGdWxsWWVhciIsVltzXT1VKyJIb3VycyIsVltuXT1VKyJNaW51dGVzIixWW2ldPVUrIlNlY29uZHMiLFZbYV09VSsiTWlsbGlzZWNvbmRzIixWKVtCXSxJPUI9PT1vP3RoaXMuJEQrKEwtdGhpcy4kVyk6TDtpZihCPT09bHx8Qj09PWQpe3ZhciB2ZT10aGlzLmNsb25lKCkuc2V0KGgsMSk7dmUuJGRbS10oSSksdmUuaW5pdCgpLHRoaXMuJGQ9dmUuc2V0KGgsTWF0aC5taW4odGhpcy4kRCx2ZS5kYXlzSW5Nb250aCgpKSkuJGR9ZWxzZSBLJiZ0aGlzLiRkW0tdKEkpO3JldHVybiB0aGlzLmluaXQoKSx0aGlzfSxFLnNldD1mdW5jdGlvbihULEwpe3JldHVybiB0aGlzLmNsb25lKCkuJHNldChULEwpfSxFLmdldD1mdW5jdGlvbihUKXtyZXR1cm4gdGhpc1tOLnAoVCldKCl9LEUuYWRkPWZ1bmN0aW9uKFQsTCl7dmFyIFYsQj10aGlzO1Q9TnVtYmVyKFQpO3ZhciBVPU4ucChMKSxLPWZ1bmN0aW9uKE1lKXt2YXIgUD1EKEIpO3JldHVybiBOLncoUC5kYXRlKFAuZGF0ZSgpK01hdGgucm91bmQoTWUqVCkpLEIpfTtpZihVPT09bClyZXR1cm4gdGhpcy5zZXQobCx0aGlzLiRNK1QpO2lmKFU9PT1kKXJldHVybiB0aGlzLnNldChkLHRoaXMuJHkrVCk7aWYoVT09PW8pcmV0dXJuIEsoMSk7aWYoVT09PWMpcmV0dXJuIEsoNyk7dmFyIEk9KFY9e30sVltuXT10LFZbc109cixWW2ldPWUsVilbVV18fDEsdmU9dGhpcy4kZC5nZXRUaW1lKCkrVCpJO3JldHVybiBOLncodmUsdGhpcyl9LEUuc3VidHJhY3Q9ZnVuY3Rpb24oVCxMKXtyZXR1cm4gdGhpcy5hZGQoLTEqVCxMKX0sRS5mb3JtYXQ9ZnVuY3Rpb24oVCl7dmFyIEw9dGhpcyxWPXRoaXMuJGxvY2FsZSgpO2lmKCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gVi5pbnZhbGlkRGF0ZXx8bTt2YXIgQj1UfHwiWVlZWS1NTS1ERFRISDptbTpzc1oiLFU9Ti56KHRoaXMpLEs9dGhpcy4kSCxJPXRoaXMuJG0sdmU9dGhpcy4kTSxNZT1WLndlZWtkYXlzLFA9Vi5tb250aHMsbGU9Vi5tZXJpZGllbSxTZT1mdW5jdGlvbigkLGosSCxZKXtyZXR1cm4gJCYmKCRbal18fCQoTCxCKSl8fEhbal0uc2xpY2UoMCxZKX0sWj1mdW5jdGlvbigkKXtyZXR1cm4gTi5zKEslMTJ8fDEyLCQsIjAiKX0sQT1sZXx8ZnVuY3Rpb24oJCxqLEgpe3ZhciBZPSQ8MTI/IkFNIjoiUE0iO3JldHVybiBIP1kudG9Mb3dlckNhc2UoKTpZfTtyZXR1cm4gQi5yZXBsYWNlKGIsKGZ1bmN0aW9uKCQsail7cmV0dXJuIGp8fChmdW5jdGlvbihIKXtzd2l0Y2goSCl7Y2FzZSJZWSI6cmV0dXJuIFN0cmluZyhMLiR5KS5zbGljZSgtMik7Y2FzZSJZWVlZIjpyZXR1cm4gTi5zKEwuJHksNCwiMCIpO2Nhc2UiTSI6cmV0dXJuIHZlKzE7Y2FzZSJNTSI6cmV0dXJuIE4ucyh2ZSsxLDIsIjAiKTtjYXNlIk1NTSI6cmV0dXJuIFNlKFYubW9udGhzU2hvcnQsdmUsUCwzKTtjYXNlIk1NTU0iOnJldHVybiBTZShQLHZlKTtjYXNlIkQiOnJldHVybiBMLiREO2Nhc2UiREQiOnJldHVybiBOLnMoTC4kRCwyLCIwIik7Y2FzZSJkIjpyZXR1cm4gU3RyaW5nKEwuJFcpO2Nhc2UiZGQiOnJldHVybiBTZShWLndlZWtkYXlzTWluLEwuJFcsTWUsMik7Y2FzZSJkZGQiOnJldHVybiBTZShWLndlZWtkYXlzU2hvcnQsTC4kVyxNZSwzKTtjYXNlImRkZGQiOnJldHVybiBNZVtMLiRXXTtjYXNlIkgiOnJldHVybiBTdHJpbmcoSyk7Y2FzZSJISCI6cmV0dXJuIE4ucyhLLDIsIjAiKTtjYXNlImgiOnJldHVybiBaKDEpO2Nhc2UiaGgiOnJldHVybiBaKDIpO2Nhc2UiYSI6cmV0dXJuIEEoSyxJLCEwKTtjYXNlIkEiOnJldHVybiBBKEssSSwhMSk7Y2FzZSJtIjpyZXR1cm4gU3RyaW5nKEkpO2Nhc2UibW0iOnJldHVybiBOLnMoSSwyLCIwIik7Y2FzZSJzIjpyZXR1cm4gU3RyaW5nKEwuJHMpO2Nhc2Uic3MiOnJldHVybiBOLnMoTC4kcywyLCIwIik7Y2FzZSJTU1MiOnJldHVybiBOLnMoTC4kbXMsMywiMCIpO2Nhc2UiWiI6cmV0dXJuIFV9cmV0dXJuIG51bGx9KSgkKXx8VS5yZXBsYWNlKCI6IiwiIil9KSl9LEUudXRjT2Zmc2V0PWZ1bmN0aW9uKCl7cmV0dXJuIDE1Ki1NYXRoLnJvdW5kKHRoaXMuJGQuZ2V0VGltZXpvbmVPZmZzZXQoKS8xNSl9LEUuZGlmZj1mdW5jdGlvbihULEwsVil7dmFyIEIsVT10aGlzLEs9Ti5wKEwpLEk9RChUKSx2ZT0oSS51dGNPZmZzZXQoKS10aGlzLnV0Y09mZnNldCgpKSp0LE1lPXRoaXMtSSxQPWZ1bmN0aW9uKCl7cmV0dXJuIE4ubShVLEkpfTtzd2l0Y2goSyl7Y2FzZSBkOkI9UCgpLzEyO2JyZWFrO2Nhc2UgbDpCPVAoKTticmVhaztjYXNlIHU6Qj1QKCkvMzticmVhaztjYXNlIGM6Qj0oTWUtdmUpLzYwNDhlNTticmVhaztjYXNlIG86Qj0oTWUtdmUpLzg2NGU1O2JyZWFrO2Nhc2UgczpCPU1lL3I7YnJlYWs7Y2FzZSBuOkI9TWUvdDticmVhaztjYXNlIGk6Qj1NZS9lO2JyZWFrO2RlZmF1bHQ6Qj1NZX1yZXR1cm4gVj9COk4uYShCKX0sRS5kYXlzSW5Nb250aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVuZE9mKGwpLiREfSxFLiRsb2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gUlt0aGlzLiRMXX0sRS5sb2NhbGU9ZnVuY3Rpb24oVCxMKXtpZighVClyZXR1cm4gdGhpcy4kTDt2YXIgVj10aGlzLmNsb25lKCksQj1PKFQsTCwhMCk7cmV0dXJuIEImJihWLiRMPUIpLFZ9LEUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gTi53KHRoaXMuJGQsdGhpcyl9LEUudG9EYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXRlKHRoaXMudmFsdWVPZigpKX0sRS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/dGhpcy50b0lTT1N0cmluZygpOm51bGx9LEUudG9JU09TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b0lTT1N0cmluZygpfSxFLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGQudG9VVENTdHJpbmcoKX0sen0pKCksXz1xLnByb3RvdHlwZTtyZXR1cm4gRC5wcm90b3R5cGU9XyxbWyIkbXMiLGFdLFsiJHMiLGldLFsiJG0iLG5dLFsiJEgiLHNdLFsiJFciLG9dLFsiJE0iLGxdLFsiJHkiLGRdLFsiJEQiLGhdXS5mb3JFYWNoKChmdW5jdGlvbih6KXtfW3pbMV1dPWZ1bmN0aW9uKEUpe3JldHVybiB0aGlzLiRnKEUselswXSx6WzFdKX19KSksRC5leHRlbmQ9ZnVuY3Rpb24oeixFKXtyZXR1cm4gei4kaXx8KHooRSxxLEQpLHouJGk9ITApLER9LEQubG9jYWxlPU8sRC5pc0RheWpzPVMsRC51bml4PWZ1bmN0aW9uKHope3JldHVybiBEKDFlMyp6KX0sRC5lbj1SW2tdLEQuTHM9UixELnA9e30sRH0pKX0pO3ZhciBncWU9amUoKHZLLHhLKT0+eyhmdW5jdGlvbihlLHQpe3R5cGVvZiB2Sz09Im9iamVjdCImJnR5cGVvZiB4SzwidSI/eEsuZXhwb3J0cz10KCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6ZXx8c2VsZikuZGF5anNfcGx1Z2luX2lzVG9kYXk9dCgpfSkodkssKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3JldHVybiBmdW5jdGlvbihlLHQscil7dC5wcm90b3R5cGUuaXNUb2RheT1mdW5jdGlvbigpe3ZhciBhPSJZWVlZLU1NLUREIixpPXIoKTtyZXR1cm4gdGhpcy5mb3JtYXQoYSk9PT1pLmZvcm1hdChhKX19fSkpfSk7ZnVuY3Rpb24geUlyKGUpe3JldHVybntkYXlzOk1hdGgudHJ1bmMoZS84NjRlNSksaG91cnM6TWF0aC50cnVuYyhlLzM2ZTUlMjQpLG1pbnV0ZXM6TWF0aC50cnVuYyhlLzZlNCU2MCksc2Vjb25kczpNYXRoLnRydW5jKGUvMWUzJTYwKSxtaWxsaXNlY29uZHM6TWF0aC50cnVuYyhlJTFlMyksbWljcm9zZWNvbmRzOk1hdGgudHJ1bmMoYnFlKGUqMWUzKSUxZTMpLG5hbm9zZWNvbmRzOk1hdGgudHJ1bmMoYnFlKGUqMWU2KSUxZTMpfX1mdW5jdGlvbiB3SXIoZSl7cmV0dXJue2RheXM6ZS84NjQwMDAwMG4saG91cnM6ZS8zNjAwMDAwbiUyNG4sbWludXRlczplLzYwMDAwbiU2MG4sc2Vjb25kczplLzEwMDBuJTYwbixtaWxsaXNlY29uZHM6ZSUxMDAwbixtaWNyb3NlY29uZHM6MG4sbmFub3NlY29uZHM6MG59fWZ1bmN0aW9uIHlLKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJudW1iZXIiOntpZihOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIHlJcihlKTticmVha31jYXNlImJpZ2ludCI6cmV0dXJuIHdJcihlKX10aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIgb3IgYmlnaW50Iil9dmFyIGJxZSx2cWU9ZigoKT0+e2JxZT1lPT5OdW1iZXIuaXNGaW5pdGUoZSk/ZTowfSk7ZnVuY3Rpb24gZzkoZSx0KXtsZXQgcj10eXBlb2YgZT09ImJpZ2ludCI7aWYoIXImJiFOdW1iZXIuaXNGaW5pdGUoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmaW5pdGUgbnVtYmVyIG9yIGJpZ2ludCIpO3Q9ey4uLnR9O2xldCBhPWU8MD8iLSI6IiI7ZT1lPDA/LWU6ZSx0LmNvbG9uTm90YXRpb24mJih0LmNvbXBhY3Q9ITEsdC5mb3JtYXRTdWJNaWxsaXNlY29uZHM9ITEsdC5zZXBhcmF0ZU1pbGxpc2Vjb25kcz0hMSx0LnZlcmJvc2U9ITEpLHQuY29tcGFjdCYmKHQudW5pdENvdW50PTEsdC5zZWNvbmRzRGVjaW1hbERpZ2l0cz0wLHQubWlsbGlzZWNvbmRzRGVjaW1hbERpZ2l0cz0wKTtsZXQgaT1bXSxuPSh1LGQpPT57bGV0IGg9TWF0aC5mbG9vcih1KjEwKipkK1NJcik7cmV0dXJuKE1hdGgucm91bmQoaCkvMTAqKmQpLnRvRml4ZWQoZCl9LHM9KHUsZCxoLG0pPT57aWYoISgoaS5sZW5ndGg9PT0wfHwhdC5jb2xvbk5vdGF0aW9uKSYmTUlyKHUpJiYhKHQuY29sb25Ob3RhdGlvbiYmaD09PSJtIikpKXtpZihtPz89U3RyaW5nKHUpLHQuY29sb25Ob3RhdGlvbil7bGV0IHY9bS5pbmNsdWRlcygiLiIpP20uc3BsaXQoIi4iKVswXS5sZW5ndGg6bS5sZW5ndGgsYj1pLmxlbmd0aD4wPzI6MTttPSIwIi5yZXBlYXQoTWF0aC5tYXgoMCxiLXYpKSttfWVsc2UgbSs9dC52ZXJib3NlPyIgIitrSXIoZCx1KTpoO2kucHVzaChtKX19LG89eUsoZSksYz1CaWdJbnQoby5kYXlzKTtpZih0LmhpZGVZZWFyQW5kRGF5cz9zKEJpZ0ludChjKSoyNG4rQmlnSW50KG8uaG91cnMpLCJob3VyIiwiaCIpOih0LmhpZGVZZWFyP3MoYywiZGF5IiwiZCIpOihzKGMvMzY1biwieWVhciIsInkiKSxzKGMlMzY1biwiZGF5IiwiZCIpKSxzKE51bWJlcihvLmhvdXJzKSwiaG91ciIsImgiKSkscyhOdW1iZXIoby5taW51dGVzKSwibWludXRlIiwibSIpLCF0LmhpZGVTZWNvbmRzKWlmKHQuc2VwYXJhdGVNaWxsaXNlY29uZHN8fHQuZm9ybWF0U3ViTWlsbGlzZWNvbmRzfHwhdC5jb2xvbk5vdGF0aW9uJiZlPDFlMyYmIXQuc3ViU2Vjb25kc0FzRGVjaW1hbHMpe2xldCB1PU51bWJlcihvLnNlY29uZHMpLGQ9TnVtYmVyKG8ubWlsbGlzZWNvbmRzKSxoPU51bWJlcihvLm1pY3Jvc2Vjb25kcyksbT1OdW1iZXIoby5uYW5vc2Vjb25kcyk7aWYocyh1LCJzZWNvbmQiLCJzIiksdC5mb3JtYXRTdWJNaWxsaXNlY29uZHMpcyhkLCJtaWxsaXNlY29uZCIsIm1zIikscyhoLCJtaWNyb3NlY29uZCIsIlx4QjVzIikscyhtLCJuYW5vc2Vjb25kIiwibnMiKTtlbHNle2xldCB2PWQraC8xZTMrbS8xZTYsYj10eXBlb2YgdC5taWxsaXNlY29uZHNEZWNpbWFsRGlnaXRzPT0ibnVtYmVyIj90Lm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM6MCxnPXY+PTE/TWF0aC5yb3VuZCh2KTpNYXRoLmNlaWwodikseT1iP3YudG9GaXhlZChiKTpnO3MoTnVtYmVyLnBhcnNlRmxvYXQoeSksIm1pbGxpc2Vjb25kIiwibXMiLHkpfX1lbHNle2xldCB1PShyP051bWJlcihlJXpJcik6ZSkvMWUzJTYwLGQ9dHlwZW9mIHQuc2Vjb25kc0RlY2ltYWxEaWdpdHM9PSJudW1iZXIiP3Quc2Vjb25kc0RlY2ltYWxEaWdpdHM6MSxoPW4odSxkKSxtPXQua2VlcERlY2ltYWxzT25XaG9sZVNlY29uZHM/aDpoLnJlcGxhY2UoL1wuMCskLywiIik7cyhOdW1iZXIucGFyc2VGbG9hdChtKSwic2Vjb25kIiwicyIsbSl9aWYoaS5sZW5ndGg9PT0wKXJldHVybiBhKyIwIisodC52ZXJib3NlPyIgbWlsbGlzZWNvbmRzIjoibXMiKTtsZXQgbD10LmNvbG9uTm90YXRpb24/IjoiOiIgIjtyZXR1cm4gdHlwZW9mIHQudW5pdENvdW50PT0ibnVtYmVyIiYmKGk9aS5zbGljZSgwLE1hdGgubWF4KHQudW5pdENvdW50LDEpKSksYStpLmpvaW4obCl9dmFyIE1JcixrSXIsU0lyLHpJcix4cWU9ZigoKT0+e3ZxZSgpO01Jcj1lPT5lPT09MHx8ZT09PTBuLGtJcj0oZSx0KT0+dD09PTF8fHQ9PT0xbj9lOmAke2V9c2AsU0lyPTFlLTcseklyPTI0bio2MG4qNjBuKjEwMDBufSk7dmFyIEtkLHlxZSxuYz1mKCgpPT57YjkoKTtJMigpO1VpKCk7JFBlKCk7aHFlKCk7S2Q9c3IobXFlKCksMSkseXFlPXNyKGdxZSgpLDEpO3hxZSgpO0tkLmRlZmF1bHQuZXh0ZW5kKHlxZS5kZWZhdWx0KX0pO3ZhciB3cWUsTXFlPWYoKCk9PntuYygpO3dxZT1jbGFzc3tnZXQgY3JvbkFycmF5KCl7cmV0dXJuIHRoaXMuY3JvbkV4cHJlc3Npb24uc3BsaXQoIiAiKX1jb25zdHJ1Y3Rvcih0KXtpZih0aGlzLmNyb25FeHByZXNzaW9uPXQsdGhpcy5jcm9uQXJyYXkubGVuZ3RoPDYpdGhyb3cgbmV3IEVycm9yKCJDcm9uUGFyc2VyIG5lZWRzIHNlY29uZCBsZXZlbCBhY2N1cmFjeSIpfWdldE5leHRQYXJ0TWF0Y2godCxyLGEpe2lmKHQ9PT0iKiIpcmV0dXJuIHI7aWYodC5pbmNsdWRlcygiLyIpKXtsZXQgaT1wYXJzZUludCh0LnNwbGl0KCIvIilbMV0sMTApLG49cz0+cyVpPT09MD9zOm4ocysxKTtyZXR1cm4gbihyKX1pZihwYXJzZUludCh0LDEwKXx8dD09PSIwIilyZXR1cm4gcGFyc2VJbnQodCwxMCl9bXNUb05leHQoKXtsZXQgdD10aGlzLmNyb25BcnJheSxyPXRbMF0sYT10WzFdLGk9dFsyXSxuPXRbM10scz10WzRdLG89dFs1XSxjPW5ldyBEYXRlLGw9Yy5nZXRTZWNvbmRzKCkrMSx1PWMuZ2V0TWludXRlcygpLGQ9Yy5nZXRIb3VycygpLGg9Yy5nZXREYXRlKCksbT1jLmdldE1vbnRoKCksdj1jLmdldEZ1bGxZZWFyKCksYj10aGlzLmdldE5leHRQYXJ0TWF0Y2gocixsLDU5KTtiPGwmJih1PSh1KzEpJTU5KTtsZXQgZz10aGlzLmdldE5leHRQYXJ0TWF0Y2goYSx1LDU5KTtnPHUmJihkPShkKzEpJTIzKTtsZXQgeT10aGlzLmdldE5leHRQYXJ0TWF0Y2goaSxkLDIzKTt5PGQmJihoPShoKzEpJTMwKTtsZXQgdz1oO3c8aCYmKG09KG0rMSklMTEpO2xldCBrPW07azxtJiYodj12KzEpO2xldCBSPXY7cmV0dXJuIG5ldyBEYXRlKFIsayx3LHksZyxiKS5nZXRUaW1lKCktRGF0ZS5ub3coKX19fSk7dmFyIHY5LHdLPWYoKCk9PntuYygpO01LKCk7TXFlKCk7djk9Y2xhc3N7Y29uc3RydWN0b3IodCxyLGEpe3RoaXMuc3RhdHVzPSJpbml0aWFsIix0aGlzLm5leHRFeGVjdXRpb25Vbml4PTAsdGhpcy5jcm9uRXhwcmVzc2lvbj1yLHRoaXMuam9iRnVuY3Rpb249YSx0aGlzLmNyb25QYXJzZXI9bmV3IFk3LkNyb24ocil9Y2hlY2tFeGVjdXRpb24oKXtpZih0aGlzLm5leHRFeGVjdXRpb25Vbml4PT09MCYmdGhpcy5nZXROZXh0RXhlY3V0aW9uVGltZSgpLERhdGUubm93KCk+dGhpcy5uZXh0RXhlY3V0aW9uVW5peCl7bGV0IHQ9dGhpcy5qb2JGdW5jdGlvbih0aGlzLm5leHRFeGVjdXRpb25Vbml4KTt0IGluc3RhbmNlb2YgUHJvbWlzZSYmdC5jYXRjaChyPT5jb25zb2xlLmxvZyhyKSksdGhpcy5uZXh0RXhlY3V0aW9uVW5peD10aGlzLmdldE5leHRFeGVjdXRpb25UaW1lKCl9cmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXh9Z2V0TmV4dEV4ZWN1dGlvblRpbWUoKXtyZXR1cm4gdGhpcy5uZXh0RXhlY3V0aW9uVW5peD1EYXRlLm5vdygpK3RoaXMuZ2V0VGltZVRvTmV4dEV4ZWN1dGlvbigpfWdldFRpbWVUb05leHRFeGVjdXRpb24oKXtyZXR1cm4gdGhpcy5jcm9uUGFyc2VyLm1zVG9OZXh0KCl9c3RhcnQoKXt0aGlzLnN0YXR1cz0ic3RhcnRlZCJ9c3RvcCgpe3RoaXMuc3RhdHVzPSJzdG9wcGVkIn19fSk7dmFyIHA0LGtLLFNLLENJcixvXz1mKCgpPT57bmMoKTtwND17eWVhcnM6KGU9MSk9PmUqMzE1NGU3LG1vbnRoczooZT0xKT0+ZSoyNjI4ZTYsd2Vla3M6KGU9MSk9PmUqNjA0OGU1LGRheXM6KGU9MSk9PmUqODY0ZTUsaG91cnM6KGU9MSk9PmUqMzZlNSxtaW51dGVzOihlPTEpPT5lKjZlNCxzZWNvbmRzOihlPTEpPT5lKjFlM30sa0s9ZT0+e2xldCB0PTAscj1hPT57dD10K2F9O3JldHVybiBlLnllYXJzJiZyKHA0LnllYXJzKGUueWVhcnMpKSxlLm1vbnRocyYmcihwNC5tb250aHMoZS5tb250aHMpKSxlLndlZWtzJiZyKHA0LndlZWtzKGUud2Vla3MpKSxlLmRheXMmJnIocDQuZGF5cyhlLmRheXMpKSxlLmhvdXJzJiZyKHA0LmhvdXJzKGUuaG91cnMpKSxlLm1pbnV0ZXMmJnIocDQubWludXRlcyhlLm1pbnV0ZXMpKSxlLnNlY29uZHMmJnIocDQuc2Vjb25kcyhlLnNlY29uZHMpKSx0fSxTSz1lPT5nOShlKSxDSXI9ZT0+bTkuZm9ybWF0RGlzdGFuY2VUb05vdyhuZXcgRGF0ZShlKSl9KTt2YXIgekssTUs9ZigoKT0+e25jKCk7d0soKTtvXygpO3pLPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuY3JvbmpvYnM9bmV3IHZpLk9iamVjdE1hcH1hZGRDcm9uam9iKHQscil7bGV0IGE9bmV3IHY5KHRoaXMsdCxyKTtyZXR1cm4gdGhpcy5jcm9uam9icy5hZGQoYSksdGhpcy5zdGF0dXM9PT0ic3RhcnRlZCImJmEuc3RhcnQoKSxhfXJlbW92ZUNyb25qb2IodCl7dC5zdG9wKCksdGhpcy5jcm9uam9icy5yZW1vdmUodCl9c3RhcnQoKXtpZih0aGlzLnN0YXR1cyE9PSJzdGFydGVkIil7dGhpcy5zdGF0dXM9InN0YXJ0ZWQiO2ZvcihsZXQgdCBvZiB0aGlzLmNyb25qb2JzLmdldEFycmF5KCkpdC5zdGFydCgpO3RoaXMucnVuQ3JvbkN5Y2xlKCl9fWFzeW5jIHJ1bkNyb25DeWNsZSgpe3RoaXMuZXhlY3V0aW9uVGltZW91dD1uZXcgQ3QuVGltZW91dCgwKTtkb3tsZXQgdDtmb3IobGV0IHIgb2YgdGhpcy5jcm9uam9icy5nZXRBcnJheSgpKXIuY2hlY2tFeGVjdXRpb24oKSwoIXR8fHIuZ2V0VGltZVRvTmV4dEV4ZWN1dGlvbigpPHQuZ2V0VGltZVRvTmV4dEV4ZWN1dGlvbigpKSYmKHQ9cik7dD8odGhpcy5leGVjdXRpb25UaW1lb3V0PW5ldyBDdC5UaW1lb3V0KHQuZ2V0VGltZVRvTmV4dEV4ZWN1dGlvbigpKSxjb25zb2xlLmxvZyhgTmV4dCBDcm9uSm9iIHNjaGVkdWxlZCBpbiAke1NLKHRoaXMuZXhlY3V0aW9uVGltZW91dC5nZXRUaW1lTGVmdCgpKX1gKSk6KHRoaXMuZXhlY3V0aW9uVGltZW91dD1uZXcgQ3QuVGltZW91dCgxZTMpLGNvbnNvbGUubG9nKCJubyBjcm9uam9icyBzcGVjaWZpZWQhIENoZWNraW5nIGFnYWluIGluIDEgc2Vjb25kIikpLGF3YWl0IHRoaXMuZXhlY3V0aW9uVGltZW91dC5wcm9taXNlfXdoaWxlKHRoaXMuc3RhdHVzPT09InN0YXJ0ZWQiKX1zdG9wKCl7dGhpcy5zdGF0dXM9PT0ic3RhcnRlZCI/KHRoaXMuc3RhdHVzPSJzdG9wcGVkIix0aGlzLmV4ZWN1dGlvblRpbWVvdXQuY2FuY2VsKCkpOmNvbnNvbGUubG9nKCJZb3UgdHJpZWQgdG8gc3RvcCBhIENyb25NYW5hZ2VyIHRoYXQgd2FzIG5vdCBhY3R1YWxseSBzdGFydGVkLiIpO2ZvcihsZXQgdCBvZiB0aGlzLmNyb25qb2JzLmdldEFycmF5KCkpdC5zdG9wKCl9fX0pO3ZhciBDSyxrcWU9ZigoKT0+e25jKCk7b18oKTtDSz1jbGFzcyBlIGV4dGVuZHMgRGF0ZXtzdGF0aWMgZnJvbU1pbGxpcyh0KXtyZXR1cm4gbmV3IGUodCl9c3RhdGljIGZyb21EYXRlKHQpe3JldHVybiBuZXcgZSh0LmdldFRpbWUoKSl9c3RhdGljIGZyb21FdXJvcGVhbkRhdGUodCl7bGV0IHI9LyguKilcLiguKilcLiguKikvLmV4ZWModCksaT1uZXcgRGF0ZShwYXJzZUZsb2F0KHJbM10pLHBhcnNlRmxvYXQoclsyXSktMSxwYXJzZUZsb2F0KHJbMV0pKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyBlKGkpfXN0YXRpYyBmcm9tSHlwaGVkRGF0ZSh0KXtsZXQgcj1uZXcgRGF0ZSh0KS5nZXRUaW1lKCk7cmV0dXJuIG5ldyBlKHIpfXN0YXRpYyBmcm9tRXVyb3BlYW5EYXRlQW5kVGltZSh0LHI9IjEyOjAwOjAwIixhPSJFdXJvcGUvQmVybGluIil7bGV0IGk9LyguKilcLiguKilcLiguKikvLmV4ZWModCksbj1sPT5gMCR7bH1gLnNsaWNlKC0yKSxzPWAke2lbM119LSR7bihpWzJdKX0tJHtuKGlbMV0pfVQke3J9YCxjPUtkLmRlZmF1bHQocykudG9EYXRlKCkuZ2V0VGltZSgpO3JldHVybiBuZXcgZShjKX1jb25zdHJ1Y3Rvcih0PURhdGUubm93KCkpe3N1cGVyKHQpfWV4cG9ydFRvRXVyb3BlYW5EYXRlKCl7bGV0IHQ9dGhpcy5leHBvcnRUb1VuaXRzKCk7cmV0dXJuYCR7dC5kYXlTdHJpbmd9LiR7dC5tb250aFN0cmluZ30uJHt0LnllYXJTdHJpbmd9YH1leHBvcnRUb0h5cGhlZFNvcnRhYmxlRGF0ZSgpe2xldCB0PXRoaXMuZXhwb3J0VG9Vbml0cygpO3JldHVybmAke3QueWVhclN0cmluZ30tJHt0Lm1vbnRoU3RyaW5nfS0ke3QuZGF5U3RyaW5nfWB9ZXhwb3J0VG9Vbml0cygpe2xldCB0PVsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxyPVsiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiLCJTdW5kYXkiXTtyZXR1cm57eWVhcjp0aGlzLmdldEZ1bGxZZWFyKCkseWVhclN0cmluZzpgJHt0aGlzLmdldEZ1bGxZZWFyKCl9YCxtb250aDp0aGlzLmdldE1vbnRoKCkrMSxtb250aFN0cmluZzooIjAiKyh0aGlzLmdldE1vbnRoKCkrMSkpLnNsaWNlKC0yKSxtb250aE5hbWU6dFt0aGlzLmdldE1vbnRoKCldLGRheTp0aGlzLmdldERhdGUoKSxkYXlTdHJpbmc6KCIwIit0aGlzLmdldERhdGUoKSkuc2xpY2UoLTIpLGRheU9mVGhlV2Vlazp0aGlzLmdldERheSgpLGRheU9mVGhlV2Vla05hbWU6clt0aGlzLmdldERheSgpXX19Zm9ybWF0KHQpe3JldHVybiBLZC5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5mb3JtYXQodCl9aXNUb2RheSgpe3JldHVybiBLZC5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5pc1RvZGF5KCl9bGVzc1RpbWVQYXNzZWRUb05vdyh0KXtsZXQgcj1rSyh0KTtyZXR1cm4gRGF0ZS5ub3coKS10aGlzLmdldFRpbWUoKTxyfW1vcmVUaW1lUGFzc2VkVG9Ob3codCl7cmV0dXJuIXRoaXMubGVzc1RpbWVQYXNzZWRUb05vdyh0KX19fSk7dmFyIFRLLFNxZT1mKCgpPT57VEs9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm5hbm9TZWNvbmRzPW51bGwsdGhpcy5taWxsaVNlY29uZHM9bnVsbCx0aGlzLl9taWxsaVN0YXJ0PW51bGwsdGhpcy5fbWlsbGlEaWZmPW51bGwsdGhpcy5fc3RhcnRlZD0hMX1zdGFydCgpe3RoaXMuX3N0YXJ0ZWQ9ITAsdGhpcy5fbWlsbGlTdGFydD1EYXRlLm5vdygpfXN0b3AoKXtpZih0aGlzLl9zdGFydGVkPT09ITEpe2NvbnNvbGUubG9nKCJIYXNuJ3Qgc3RhcnRlZCB5ZXQiKTtyZXR1cm59cmV0dXJuIHRoaXMuX21pbGxpRGlmZj1EYXRlLm5vdygpLXRoaXMuX21pbGxpU3RhcnQsdGhpcy5uYW5vU2Vjb25kcz10aGlzLl9taWxsaURpZmYqMWUzLHRoaXMubWlsbGlTZWNvbmRzPXRoaXMuX21pbGxpRGlmZix0aGlzfXJlc2V0KCl7dGhpcy5uYW5vU2Vjb25kcz1udWxsLHRoaXMubWlsbGlTZWNvbmRzPW51bGwsdGhpcy5fbWlsbGlTdGFydD1udWxsLHRoaXMuX21pbGxpRGlmZj1udWxsLHRoaXMuX3N0YXJ0ZWQ9ITF9fX0pO3ZhciBfSyx6cWU9ZigoKT0+e25jKCk7X0s9Y2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5zdGF0dXM9ImluaXRpYWwiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsLHRoaXMuaW50ZXJ2YWxKb2JzPVtdLHRoaXMuaW50ZXJ2YWxNaWxsaXNlY29uZHM9dH1zdGFydCgpe3RoaXMuc3RhdHVzPSJzdGFydGVkIjtsZXQgdD1uZXcgRGF0ZTt0aGlzLnN0YXR1c0F1dGhvcml6YXRpb249dCwoYXN5bmMoKT0+e2Zvcig7dGhpcy5zdGF0dXM9PT0ic3RhcnRlZCImJnRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj09PXQ7KWF3YWl0IEN0LmRlbGF5Rm9yKHRoaXMuaW50ZXJ2YWxNaWxsaXNlY29uZHMpLHRoaXMuZXhlY3V0ZUludGVydmFsSm9icygpfSkoKX1zdG9wKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsfWFkZEludGVydmFsSm9iKHQpe3RoaXMuaW50ZXJ2YWxKb2JzLnB1c2godCl9ZXhlY3V0ZUludGVydmFsSm9icygpe2ZvcihsZXQgdCBvZiB0aGlzLmludGVydmFsSm9icyl0KCl9fX0pO3ZhciBlOCxMSz1mKCgpPT57bmMoKTtlOD1jbGFzcyBle3N0YXRpYyBmcm9tTWlsbGlTZWNvbmRzKHQpe3JldHVybiBuZXcgZSh0KX1zdGF0aWMgZnJvbVRpbWVTdGFtcCh0KXtsZXQgcj1uZXcgZTtyZXR1cm4gci5jaGFuZ2U9ci5taWxsaVNlY29uZHMtdC5taWxsaVNlY29uZHMscn1jb25zdHJ1Y3Rvcih0KXt0aGlzLmNoYW5nZT1udWxsLHQ/dHlwZW9mIHQ9PSJudW1iZXIiJiYodGhpcy5kYXRlPW5ldyBEYXRlKHQpKTp0aGlzLmRhdGU9bmV3IERhdGUsdGhpcy5taWxsaVNlY29uZHM9dGhpcy5kYXRlLmdldFRpbWUoKSx0aGlzLmVwb2NodGltZT1NYXRoLmZsb29yKHRoaXMubWlsbGlTZWNvbmRzLzFlMyl9aXNPbGRlclRoYW5PdGhlclRpbWVTdGFtcCh0LHI9MCl7cmV0dXJuIHRoaXMubWlsbGlTZWNvbmRzPHQubWlsbGlTZWNvbmRzLXJ9aXNPbGRlclRoYW4odCxyPTApe3JldHVybiB0aGlzLm1pbGxpU2Vjb25kcytyPHQubWlsbGlTZWNvbmRzfWlzWW91bmdlclRoYW5PdGhlclRpbWVTdGFtcCh0LHI9MCl7cmV0dXJuIHRoaXMubWlsbGlTZWNvbmRzPnQubWlsbGlTZWNvbmRzK3J9aXNZb3VuZ2VyVGhhbk1pbGxpU2Vjb25kcyh0KXtsZXQgYT1uZXcgZSgpLmVwb2NodGltZS10LGk9bmV3IGUoYSk7cmV0dXJuIHRoaXMuaXNZb3VuZ2VyVGhhbk90aGVyVGltZVN0YW1wKGkpfX19KTt2YXIgJEssQ3FlPWYoKCk9PntuYygpO0xLKCk7JEs9Y2xhc3N7Z2V0IHRpbWVMZWZ0KCl7cmV0dXJuIHRoaXMudGltZUluTWlsbGlzZWNvbmRzLXRoaXMucGF1c2VkQXQuY2hhbmdlfWNvbnN0cnVjdG9yKHQpe3RoaXMuc3RhdGU9ImluaXRpYXRlZCIsdGhpcy5jb21wbGV0ZWREZWZlcnJlZD1LZS5kZWZlcigpLHRoaXMudGltZUluTWlsbGlzZWNvbmRzPXQsdGhpcy5jb21wbGV0ZWQ9dGhpcy5jb21wbGV0ZWREZWZlcnJlZC5wcm9taXNlfXN0YXJ0KCl7aWYoIXRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVJbk1pbGxpc2Vjb25kcyksdGhpcy5zdGFydGVkQXQ9bmV3IGU4O2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJ0aW1lciBoYXMgYmVlbiBzdGFydGVkIGJlZm9yZS4gUGxlYXNlIHVzZSByZXN1bWUgaW5zdGVhZCIpfXBhdXNlKCl7dGhpcy5zdGFydGVkQXQmJihjbGVhclRpbWVvdXQodGhpcy5jdXJyZW50VGltZW91dCksdGhpcy5jdXJyZW50VGltZW91dD1udWxsLHRoaXMucGF1c2VkQXQ9ZTguZnJvbVRpbWVTdGFtcCh0aGlzLnN0YXJ0ZWRBdCkpfXJlc3VtZSgpe2lmKHRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVMZWZ0KTtlbHNlIHRocm93IG5ldyBFcnJvcigidGltZXIgaGFzIE5PVCBiZWVuIHN0YXJ0ZWQgYmVmb3JlLiBQbGVhc2UgdXNlIC5zdGFydCgpIGluc3RlYWQiKX1yZXNldCgpe3RoaXMucGF1c2UoKSx0aGlzLnN0YXJ0ZWRBdD1udWxsLHRoaXMucGF1c2VkQXQ9bnVsbH19fSk7dmFyIHNjPXt9O1JlKHNjLHtDcm9uSm9iOigpPT52OSxDcm9uTWFuYWdlcjooKT0+ekssRXh0ZW5kZWREYXRlOigpPT5DSyxIcnRNZWFzdXJlbWVudDooKT0+VEssSW50ZXJ2YWw6KCk9Pl9LLFRpbWVTdGFtcDooKT0+ZTgsVGltZXI6KCk9PiRLLGdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZUFnb1RpbWU6KCk9PkNJcixnZXRNaWxsaVNlY29uZHNBc0h1bWFuUmVhZGFibGVTdHJpbmc6KCk9PlNLLGdldE1pbGxpU2Vjb25kc0Zyb21Vbml0czooKT0+a0ssdW5pdHM6KCk9PnA0fSk7dmFyIERLPWYoKCk9PntNSygpO3dLKCk7a3FlKCk7U3FlKCk7enFlKCk7Q3FlKCk7TEsoKTtvXygpfSk7dmFyIF9xZT1qZSgoS0FpLFRxZSk9PnsidXNlIHN0cmljdCI7VHFlLmV4cG9ydHM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnBhcmVudD1udWxsLHRoaXMucHJldmlvdXNTaWJsaW5nPW51bGwsdGhpcy5uZXh0U2libGluZz1udWxsLHRoaXMuZmlyc3RDaGlsZD1udWxsLHRoaXMubGFzdENoaWxkPW51bGwsdGhpcy5jaGlsZHJlblZlcnNpb249MCx0aGlzLmNoaWxkSW5kZXhDYWNoZWRVcFRvPW51bGwsdGhpcy5jYWNoZWRJbmRleD0tMSx0aGlzLmNhY2hlZEluZGV4VmVyc2lvbj1OYU59Z2V0IGlzQXR0YWNoZWQoKXtyZXR1cm4hISh0aGlzLnBhcmVudHx8dGhpcy5wcmV2aW91c1NpYmxpbmd8fHRoaXMubmV4dFNpYmxpbmcpfWdldCBoYXNDaGlsZHJlbigpe3JldHVybiEhdGhpcy5maXJzdENoaWxkfWNoaWxkcmVuQ2hhbmdlZCgpe3RoaXMuY2hpbGRyZW5WZXJzaW9uPXRoaXMuY2hpbGRyZW5WZXJzaW9uKzEmNDI5NDk2NzI5NSx0aGlzLmNoaWxkSW5kZXhDYWNoZWRVcFRvPW51bGx9Z2V0Q2FjaGVkSW5kZXgodCl7cmV0dXJuIHRoaXMuY2FjaGVkSW5kZXhWZXJzaW9uIT09dC5jaGlsZHJlblZlcnNpb24/KHRoaXMuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTiwtMSk6dGhpcy5jYWNoZWRJbmRleH1zZXRDYWNoZWRJbmRleCh0LHIpe3RoaXMuY2FjaGVkSW5kZXhWZXJzaW9uPXQuY2hpbGRyZW5WZXJzaW9uLHRoaXMuY2FjaGVkSW5kZXg9cn19fSk7dmFyICRxZT1qZSgoZUVpLExxZSk9PnsidXNlIHN0cmljdCI7THFlLmV4cG9ydHM9T2JqZWN0LmZyZWV6ZSh7RElTQ09OTkVDVEVEOjEsUFJFQ0VESU5HOjIsRk9MTE9XSU5HOjQsQ09OVEFJTlM6OCxDT05UQUlORURfQlk6MTZ9KX0pO3ZhciBQcWU9amUoKHRFaSxJcWUpPT57InVzZSBzdHJpY3QiO3ZhciBEcWU9U3ltYm9sKCksQXFlPVN5bWJvbCgpLGY0PVN5bWJvbCgpLEVxZT1TeW1ib2woKSxNbz1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIsYSxpKXt0aGlzW0RxZV09dCx0aGlzW0FxZV09cix0aGlzW2Y0XT1hLHRoaXNbRXFlXT1pfW5leHQoKXtsZXQgdD10aGlzW0RxZV0scj10aGlzW0VxZV0sYT10aGlzW0FxZV07aWYoIXRoaXNbZjRdKXJldHVybntkb25lOiEwLHZhbHVlOmF9O2xldCBpPXRoaXNbZjRdO3JldHVybiByPT09MT90aGlzW2Y0XT10Ll9ub2RlKGkpLnByZXZpb3VzU2libGluZzpyPT09Mj90aGlzW2Y0XT10Ll9ub2RlKGkpLm5leHRTaWJsaW5nOnI9PT0zP3RoaXNbZjRdPXQuX25vZGUoaSkucGFyZW50OnI9PT00P3RoaXNbZjRdPXQucHJlY2VkaW5nKGkse3Jvb3Q6YX0pOnRoaXNbZjRdPXQuZm9sbG93aW5nKGkse3Jvb3Q6YX0pLHtkb25lOiExLHZhbHVlOml9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KE1vLnByb3RvdHlwZSxTeW1ib2wuaXRlcmF0b3Ise3ZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHdyaXRhYmxlOiExfSksTW8uUFJFVj0xLE1vLk5FWFQ9MixNby5QQVJFTlQ9MyxNby5QUkVDRURJTkc9NCxNby5GT0xMT1dJTkc9NSxPYmplY3QuZnJlZXplKE1vKSxPYmplY3QuZnJlZXplKE1vLnByb3RvdHlwZSksSXFlLmV4cG9ydHM9TW99KTt2YXIgRUs9amUoKHJFaSxOcWUpPT57InVzZSBzdHJpY3QiO3ZhciBfSXI9X3FlKCksaDQ9JHFlKCksTHM9UHFlKCk7ZnVuY3Rpb24gQUsoKXtyZXR1cm4hMH1mdW5jdGlvbiB0OChlLHQpe3JldHVybiBlW2UubGVuZ3RoLTEtdF19dmFyIGxfPWNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMuc3ltYm9sPVN5bWJvbCh0fHwiU3ltYm9sVHJlZSBkYXRhIil9aW5pdGlhbGl6ZSh0KXtyZXR1cm4gdGhpcy5fbm9kZSh0KSx0fV9ub2RlKHQpe2lmKCF0KXJldHVybiBudWxsO2xldCByPXRbdGhpcy5zeW1ib2xdO3JldHVybiByfHwodFt0aGlzLnN5bWJvbF09bmV3IF9Jcil9aGFzQ2hpbGRyZW4odCl7cmV0dXJuIHRoaXMuX25vZGUodCkuaGFzQ2hpbGRyZW59Zmlyc3RDaGlsZCh0KXtyZXR1cm4gdGhpcy5fbm9kZSh0KS5maXJzdENoaWxkfWxhc3RDaGlsZCh0KXtyZXR1cm4gdGhpcy5fbm9kZSh0KS5sYXN0Q2hpbGR9cHJldmlvdXNTaWJsaW5nKHQpe3JldHVybiB0aGlzLl9ub2RlKHQpLnByZXZpb3VzU2libGluZ31uZXh0U2libGluZyh0KXtyZXR1cm4gdGhpcy5fbm9kZSh0KS5uZXh0U2libGluZ31wYXJlbnQodCl7cmV0dXJuIHRoaXMuX25vZGUodCkucGFyZW50fWxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KHQpe2xldCByLGE9dDtmb3IoO3I9dGhpcy5fbm9kZShhKS5sYXN0Q2hpbGQ7KWE9cjtyZXR1cm4gYX1wcmVjZWRpbmcodCxyKXtsZXQgYT1yJiZyLnJvb3Q7aWYodD09PWEpcmV0dXJuIG51bGw7bGV0IGk9dGhpcy5fbm9kZSh0KS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGk/dGhpcy5sYXN0SW5jbHVzaXZlRGVzY2VuZGFudChpKTp0aGlzLl9ub2RlKHQpLnBhcmVudH1mb2xsb3dpbmcodCxyKXtsZXQgYT1yJiZyLnJvb3Qsbj0hKHImJnIuc2tpcENoaWxkcmVuKSYmdGhpcy5fbm9kZSh0KS5maXJzdENoaWxkO2lmKG4pcmV0dXJuIG47bGV0IHM9dDtkb3tpZihzPT09YSlyZXR1cm4gbnVsbDtsZXQgbz10aGlzLl9ub2RlKHMpLm5leHRTaWJsaW5nO2lmKG8pcmV0dXJuIG87cz10aGlzLl9ub2RlKHMpLnBhcmVudH13aGlsZShzKTtyZXR1cm4gbnVsbH1jaGlsZHJlblRvQXJyYXkodCxyKXtsZXQgYT1yJiZyLmFycmF5fHxbXSxpPXImJnIuZmlsdGVyfHxBSyxuPXImJnIudGhpc0FyZ3x8dm9pZCAwLHM9dGhpcy5fbm9kZSh0KSxvPXMuZmlyc3RDaGlsZCxjPTA7Zm9yKDtvOyl7bGV0IGw9dGhpcy5fbm9kZShvKTtsLnNldENhY2hlZEluZGV4KHMsYyksaS5jYWxsKG4sbykmJmEucHVzaChvKSxvPWwubmV4dFNpYmxpbmcsKytjfXJldHVybiBhfWFuY2VzdG9yc1RvQXJyYXkodCxyKXtsZXQgYT1yJiZyLmFycmF5fHxbXSxpPXImJnIuZmlsdGVyfHxBSyxuPXImJnIudGhpc0FyZ3x8dm9pZCAwLHM9dDtmb3IoO3M7KWkuY2FsbChuLHMpJiZhLnB1c2gocykscz10aGlzLl9ub2RlKHMpLnBhcmVudDtyZXR1cm4gYX10cmVlVG9BcnJheSh0LHIpe2xldCBhPXImJnIuYXJyYXl8fFtdLGk9ciYmci5maWx0ZXJ8fEFLLG49ciYmci50aGlzQXJnfHx2b2lkIDAscz10O2Zvcig7czspaS5jYWxsKG4scykmJmEucHVzaChzKSxzPXRoaXMuZm9sbG93aW5nKHMse3Jvb3Q6dH0pO3JldHVybiBhfWNoaWxkcmVuSXRlcmF0b3IodCxyKXtsZXQgYT1yJiZyLnJldmVyc2UsaT10aGlzLl9ub2RlKHQpO3JldHVybiBuZXcgTHModGhpcyx0LGE/aS5sYXN0Q2hpbGQ6aS5maXJzdENoaWxkLGE/THMuUFJFVjpMcy5ORVhUKX1wcmV2aW91c1NpYmxpbmdzSXRlcmF0b3IodCl7cmV0dXJuIG5ldyBMcyh0aGlzLHQsdGhpcy5fbm9kZSh0KS5wcmV2aW91c1NpYmxpbmcsTHMuUFJFVil9bmV4dFNpYmxpbmdzSXRlcmF0b3IodCl7cmV0dXJuIG5ldyBMcyh0aGlzLHQsdGhpcy5fbm9kZSh0KS5uZXh0U2libGluZyxMcy5ORVhUKX1hbmNlc3RvcnNJdGVyYXRvcih0KXtyZXR1cm4gbmV3IExzKHRoaXMsdCx0LExzLlBBUkVOVCl9dHJlZUl0ZXJhdG9yKHQscil7bGV0IGE9ciYmci5yZXZlcnNlO3JldHVybiBuZXcgTHModGhpcyx0LGE/dGhpcy5sYXN0SW5jbHVzaXZlRGVzY2VuZGFudCh0KTp0LGE/THMuUFJFQ0VESU5HOkxzLkZPTExPV0lORyl9aW5kZXgodCl7bGV0IHI9dGhpcy5fbm9kZSh0KSxhPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKCFhKXJldHVybi0xO2xldCBpPXIuZ2V0Q2FjaGVkSW5kZXgoYSk7aWYoaT49MClyZXR1cm4gaTtpPTA7bGV0IG49YS5maXJzdENoaWxkO2lmKGEuY2hpbGRJbmRleENhY2hlZFVwVG8pe2xldCBzPXRoaXMuX25vZGUoYS5jaGlsZEluZGV4Q2FjaGVkVXBUbyk7bj1zLm5leHRTaWJsaW5nLGk9cy5nZXRDYWNoZWRJbmRleChhKSsxfWZvcig7bjspe2xldCBzPXRoaXMuX25vZGUobik7aWYocy5zZXRDYWNoZWRJbmRleChhLGkpLG49PT10KWJyZWFrOysraSxuPXMubmV4dFNpYmxpbmd9cmV0dXJuIGEuY2hpbGRJbmRleENhY2hlZFVwVG89dCxpfWNoaWxkcmVuQ291bnQodCl7bGV0IHI9dGhpcy5fbm9kZSh0KTtyZXR1cm4gci5sYXN0Q2hpbGQ/dGhpcy5pbmRleChyLmxhc3RDaGlsZCkrMTowfWNvbXBhcmVUcmVlUG9zaXRpb24odCxyKXtpZih0PT09cilyZXR1cm4gMDtsZXQgYT1bXTt7bGV0IHU9dDtmb3IoO3U7KXtpZih1PT09cilyZXR1cm4gaDQuQ09OVEFJTlN8aDQuUFJFQ0VESU5HO2EucHVzaCh1KSx1PXRoaXMucGFyZW50KHUpfX1sZXQgaT1bXTt7bGV0IHU9cjtmb3IoO3U7KXtpZih1PT09dClyZXR1cm4gaDQuQ09OVEFJTkVEX0JZfGg0LkZPTExPV0lORztpLnB1c2godSksdT10aGlzLnBhcmVudCh1KX19bGV0IG49dDgoYSwwKTtpZighbnx8biE9PXQ4KGksMCkpcmV0dXJuIGg0LkRJU0NPTk5FQ1RFRDtsZXQgcz0wLG89TWF0aC5taW4oYS5sZW5ndGgsaS5sZW5ndGgpO2ZvcihsZXQgdT0wO3U8bzsrK3Upe2xldCBkPXQ4KGEsdSksaD10OChpLHUpO2lmKGQhPT1oKWJyZWFrO3M9dX1sZXQgYz10aGlzLmluZGV4KHQ4KGEscysxKSk7cmV0dXJuIHRoaXMuaW5kZXgodDgoaSxzKzEpKTxjP2g0LlBSRUNFRElORzpoNC5GT0xMT1dJTkd9cmVtb3ZlKHQpe2xldCByPXRoaXMuX25vZGUodCksYT10aGlzLl9ub2RlKHIucGFyZW50KSxpPXRoaXMuX25vZGUoci5wcmV2aW91c1NpYmxpbmcpLG49dGhpcy5fbm9kZShyLm5leHRTaWJsaW5nKTtyZXR1cm4gYSYmKGEuZmlyc3RDaGlsZD09PXQmJihhLmZpcnN0Q2hpbGQ9ci5uZXh0U2libGluZyksYS5sYXN0Q2hpbGQ9PT10JiYoYS5sYXN0Q2hpbGQ9ci5wcmV2aW91c1NpYmxpbmcpKSxpJiYoaS5uZXh0U2libGluZz1yLm5leHRTaWJsaW5nKSxuJiYobi5wcmV2aW91c1NpYmxpbmc9ci5wcmV2aW91c1NpYmxpbmcpLHIucGFyZW50PW51bGwsci5wcmV2aW91c1NpYmxpbmc9bnVsbCxyLm5leHRTaWJsaW5nPW51bGwsci5jYWNoZWRJbmRleD0tMSxyLmNhY2hlZEluZGV4VmVyc2lvbj1OYU4sYSYmYS5jaGlsZHJlbkNoYW5nZWQoKSx0fWluc2VydEJlZm9yZSh0LHIpe2xldCBhPXRoaXMuX25vZGUodCksaT10aGlzLl9ub2RlKGEucHJldmlvdXNTaWJsaW5nKSxuPXRoaXMuX25vZGUocikscz10aGlzLl9ub2RlKGEucGFyZW50KTtpZihuLmlzQXR0YWNoZWQpdGhyb3cgRXJyb3IoIkdpdmVuIG9iamVjdCBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhpcyBTeW1ib2xUcmVlLCByZW1vdmUgaXQgZmlyc3QiKTtyZXR1cm4gbi5wYXJlbnQ9YS5wYXJlbnQsbi5wcmV2aW91c1NpYmxpbmc9YS5wcmV2aW91c1NpYmxpbmcsbi5uZXh0U2libGluZz10LGEucHJldmlvdXNTaWJsaW5nPXIsaSYmKGkubmV4dFNpYmxpbmc9cikscyYmcy5maXJzdENoaWxkPT09dCYmKHMuZmlyc3RDaGlsZD1yKSxzJiZzLmNoaWxkcmVuQ2hhbmdlZCgpLHJ9aW5zZXJ0QWZ0ZXIodCxyKXtsZXQgYT10aGlzLl9ub2RlKHQpLGk9dGhpcy5fbm9kZShhLm5leHRTaWJsaW5nKSxuPXRoaXMuX25vZGUocikscz10aGlzLl9ub2RlKGEucGFyZW50KTtpZihuLmlzQXR0YWNoZWQpdGhyb3cgRXJyb3IoIkdpdmVuIG9iamVjdCBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhpcyBTeW1ib2xUcmVlLCByZW1vdmUgaXQgZmlyc3QiKTtyZXR1cm4gbi5wYXJlbnQ9YS5wYXJlbnQsbi5wcmV2aW91c1NpYmxpbmc9dCxuLm5leHRTaWJsaW5nPWEubmV4dFNpYmxpbmcsYS5uZXh0U2libGluZz1yLGkmJihpLnByZXZpb3VzU2libGluZz1yKSxzJiZzLmxhc3RDaGlsZD09PXQmJihzLmxhc3RDaGlsZD1yKSxzJiZzLmNoaWxkcmVuQ2hhbmdlZCgpLHJ9cHJlcGVuZENoaWxkKHQscil7bGV0IGE9dGhpcy5fbm9kZSh0KSxpPXRoaXMuX25vZGUocik7aWYoaS5pc0F0dGFjaGVkKXRocm93IEVycm9yKCJHaXZlbiBvYmplY3QgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoaXMgU3ltYm9sVHJlZSwgcmVtb3ZlIGl0IGZpcnN0Iik7cmV0dXJuIGEuaGFzQ2hpbGRyZW4/dGhpcy5pbnNlcnRCZWZvcmUoYS5maXJzdENoaWxkLHIpOihpLnBhcmVudD10LGEuZmlyc3RDaGlsZD1yLGEubGFzdENoaWxkPXIsYS5jaGlsZHJlbkNoYW5nZWQoKSkscn1hcHBlbmRDaGlsZCh0LHIpe2xldCBhPXRoaXMuX25vZGUodCksaT10aGlzLl9ub2RlKHIpO2lmKGkuaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBhLmhhc0NoaWxkcmVuP3RoaXMuaW5zZXJ0QWZ0ZXIoYS5sYXN0Q2hpbGQscik6KGkucGFyZW50PXQsYS5maXJzdENoaWxkPXIsYS5sYXN0Q2hpbGQ9cixhLmNoaWxkcmVuQ2hhbmdlZCgpKSxyfX07TnFlLmV4cG9ydHM9bF8sbF8uVHJlZVBvc2l0aW9uPWg0fSk7dmFyIGNfLCRzPWYoKCk9PntJMigpO2NKKCk7VWkoKTt5bygpO0RLKCk7Y189c3IoRUsoKSwxKX0pO3ZhciBJSyxGcWU9ZigoKT0+eyRzKCk7SUs9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmV4ZWN1dGlvblNsb3RzPVtdLHRoaXMuaXNQcm9jZXNzaW5nPSExLHRoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3k9MS8wLHRoaXMubm9uRXhjbHVzaXZlQ3VycmVudENvdW50PTAsdGhpcy5ub25FeGNsdXNpdmVQZW5kaW5nUXVldWU9W119YXN5bmMgZ2V0RXhjbHVzaXZlRXhlY3V0aW9uU2xvdCh0LHIpe2xldCBhPUtlLmRlZmVyKCksaT17ZnVuY1RvRXhlY3V0ZTp0LGV4ZWN1dGlvbkRlZmVycmVkOmEsdGltZW91dDpyLG1vZGU6ImV4Y2x1c2l2ZSJ9O3JldHVybiB0aGlzLmV4ZWN1dGlvblNsb3RzLnB1c2goaSksdGhpcy5wcm9jZXNzRXhlY3V0aW9uU2xvdHMoKSxhLnByb21pc2V9YXN5bmMgZ2V0Tm9uRXhjbHVzaXZlRXhlY3V0aW9uU2xvdCh0LHIpe2xldCBhPUtlLmRlZmVyKCksaT17ZnVuY1RvRXhlY3V0ZTp0LGV4ZWN1dGlvbkRlZmVycmVkOmEsdGltZW91dDpyLG1vZGU6Im5vbmV4Y2x1c2l2ZSJ9O3JldHVybiB0aGlzLmV4ZWN1dGlvblNsb3RzLnB1c2goaSksdGhpcy5wcm9jZXNzRXhlY3V0aW9uU2xvdHMoKSxhLnByb21pc2V9c2V0Tm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3kodCl7aWYoIU51bWJlci5pc0Zpbml0ZSh0KXx8dDwxKXRocm93IG5ldyBFcnJvcigibm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3kgbXVzdCBiZSBhIGZpbml0ZSBudW1iZXIgPj0gMSIpO3RoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3k9dH1nZXROb25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeSgpe3JldHVybiB0aGlzLm5vbkV4Y2x1c2l2ZU1heENvbmN1cnJlbmN5fWdldEFjdGl2ZU5vbkV4Y2x1c2l2ZUNvdW50KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlQ3VycmVudENvdW50fWdldFBlbmRpbmdOb25FeGNsdXNpdmVDb3VudCgpe3JldHVybiB0aGlzLm5vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZS5sZW5ndGh9YXN5bmMgcHJvY2Vzc0V4ZWN1dGlvblNsb3RzKCl7aWYoIXRoaXMuaXNQcm9jZXNzaW5nKXtmb3IodGhpcy5pc1Byb2Nlc3Npbmc9ITA7dGhpcy5leGVjdXRpb25TbG90cy5sZW5ndGg+MDspe2xldCB0PXRoaXMuZXhlY3V0aW9uU2xvdHNbMF07aWYodC5tb2RlPT09ImV4Y2x1c2l2ZSIpYXdhaXQgdGhpcy5leGVjdXRlRXhjbHVzaXZlU2xvdCh0KSx0aGlzLmV4ZWN1dGlvblNsb3RzLnNoaWZ0KCk7ZWxzZXtsZXQgcj1bXTtmb3IoO3RoaXMuZXhlY3V0aW9uU2xvdHMubGVuZ3RoPjAmJnRoaXMuZXhlY3V0aW9uU2xvdHNbMF0ubW9kZT09PSJub25leGNsdXNpdmUiOylyLnB1c2godGhpcy5leGVjdXRpb25TbG90cy5zaGlmdCgpKTthd2FpdCB0aGlzLmV4ZWN1dGVOb25FeGNsdXNpdmVTbG90cyhyKX19dGhpcy5pc1Byb2Nlc3Npbmc9ITF9fWFzeW5jIGV4ZWN1dGVFeGNsdXNpdmVTbG90KHQpe3RyeXtpZih0LnRpbWVvdXQpe2xldCByPWF3YWl0IFByb21pc2UucmFjZShbdC5mdW5jVG9FeGVjdXRlKCksQ3QuZGVsYXlGb3IodC50aW1lb3V0KS50aGVuKCgpPT57dGhyb3cgbmV3IEVycm9yKCJUaW1lb3V0IHJlYWNoZWQiKX0pXSk7dC5leGVjdXRpb25EZWZlcnJlZC5yZXNvbHZlKHIpfWVsc2V7bGV0IHI9YXdhaXQgdC5mdW5jVG9FeGVjdXRlKCk7dC5leGVjdXRpb25EZWZlcnJlZC5yZXNvbHZlKHIpfX1jYXRjaChyKXt0LmV4ZWN1dGlvbkRlZmVycmVkLnJlamVjdChyKX19YXN5bmMgZXhlY3V0ZU5vbkV4Y2x1c2l2ZVNsb3RzKHQpe2xldCByPXQubWFwKGFzeW5jIGE9Pnthd2FpdCB0aGlzLndhaXRGb3JOb25FeGNsdXNpdmVTbG90KCk7dHJ5e2lmKGEudGltZW91dCl7bGV0IGk9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmZ1bmNUb0V4ZWN1dGUoKSxDdC5kZWxheUZvcihhLnRpbWVvdXQpLnRoZW4oKCk9Pnt0aHJvdyBuZXcgRXJyb3IoIlRpbWVvdXQgcmVhY2hlZCIpfSldKTthLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUoaSl9ZWxzZXtsZXQgaT1hd2FpdCBhLmZ1bmNUb0V4ZWN1dGUoKTthLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUoaSl9fWNhdGNoKGkpe2EuZXhlY3V0aW9uRGVmZXJyZWQucmVqZWN0KGkpfWZpbmFsbHl7dGhpcy5yZWxlYXNlTm9uRXhjbHVzaXZlU2xvdCgpfX0pO2F3YWl0IFByb21pc2UuYWxsKHIpfXdhaXRGb3JOb25FeGNsdXNpdmVTbG90KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlQ3VycmVudENvdW50PHRoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3k/KHRoaXMubm9uRXhjbHVzaXZlQ3VycmVudENvdW50KyssUHJvbWlzZS5yZXNvbHZlKCkpOm5ldyBQcm9taXNlKHQ9Pnt0aGlzLm5vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZS5wdXNoKCgpPT57dGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQrKyx0KCl9KX0pfXJlbGVhc2VOb25FeGNsdXNpdmVTbG90KCl7dGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQtLTtsZXQgdD10aGlzLm5vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZS5zaGlmdCgpO3QmJnQoKX19fSk7dmFyIFBLLE9xZT1mKCgpPT57JHMoKTtQSz1jbGFzc3tjb25zdHJ1Y3Rvcih0PTE2KXt0aGlzLmhhc1NwYWNlPW5ldyBhci5yeGpzLlN1YmplY3QsdGhpcy5pdGVtc0F2YWlsYWJsZT1uZXcgYXIucnhqcy5TdWJqZWN0LHRoaXMuZGF0YT1bXSx0aGlzLmhpZ2hXYXRlck1hcms9dH1wdXNoKHQpe3RoaXMuZGF0YS5wdXNoKHQpLHRoaXMuaXRlbXNBdmFpbGFibGUubmV4dCgiaXRlbXNBdmFpbGFibGUiKTtsZXQgcj10aGlzLmNoZWNrU3BhY2VBdmFpbGFibGUoKTtyZXR1cm4gciYmdGhpcy5oYXNTcGFjZS5uZXh0KCJoYXNTcGFjZSIpLHJ9c2hpZnQoKXtsZXQgdD10aGlzLmRhdGEuc2hpZnQoKTtyZXR1cm4gdGhpcy5jaGVja1NwYWNlQXZhaWxhYmxlKCkmJnRoaXMuaGFzU3BhY2UubmV4dCgiaGFzU3BhY2UiKSx0fWNoZWNrU3BhY2VBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDx0aGlzLmhpZ2hXYXRlck1hcmt9Y2hlY2tIYXNJdGVtcygpe3JldHVybiB0aGlzLmRhdGEubGVuZ3RoPjB9d2FpdEZvclNwYWNlKCl7cmV0dXJuIG5ldyBQcm9taXNlKHQ9PntpZih0aGlzLmNoZWNrU3BhY2VBdmFpbGFibGUoKSl0KCk7ZWxzZXtsZXQgcj10aGlzLmhhc1NwYWNlLnN1YnNjcmliZSgoKT0+e3IudW5zdWJzY3JpYmUoKSx0KCl9KX19KX13YWl0Rm9ySXRlbXMoKXtyZXR1cm4gbmV3IFByb21pc2UodD0+e2lmKHRoaXMuZGF0YS5sZW5ndGg+MCl0KCk7ZWxzZXtsZXQgcj10aGlzLml0ZW1zQXZhaWxhYmxlLnN1YnNjcmliZSgoKT0+e3IudW5zdWJzY3JpYmUoKSx0KCl9KX19KX19fSk7dmFyIHg5LE5LPWYoKCk9PnskcygpO3g5PWNsYXNzIGV7Y29uc3RydWN0b3IoKXt0aGlzLm1hcE9iamVjdD17fX1pc1VuaXF1ZUtleSh0KXtyZXR1cm4hdGhpcy5tYXBPYmplY3RbdF19YWRkVG9NYXAodCxyLGEpe3JldHVybiB0aGlzLmlzVW5pcXVlS2V5KHQpfHxhJiZhLmZvcmNlPyh0aGlzLm1hcE9iamVjdFt0XT1yLCEwKTohMX1nZXRCeUtleSh0KXtyZXR1cm4gdGhpcy5tYXBPYmplY3RbdF19cmVtb3ZlRnJvbU1hcCh0KXtsZXQgcj10aGlzLmdldEJ5S2V5KHQpO3JldHVybiBkZWxldGUgdGhpcy5tYXBPYmplY3RbdF0scn1nZXRLZXlzKCl7bGV0IHQ9W107Zm9yKGxldCByIGluIHRoaXMubWFwT2JqZWN0KXRoaXMubWFwT2JqZWN0W3JdJiZ0LnB1c2gocik7cmV0dXJuIHR9Y2xlYW4oKXt0aGlzLm1hcE9iamVjdD17fX1jb25jYXQodCl7bGV0IHI9bmV3IGU7Zm9yKGxldCBhIG9mIHRoaXMuZ2V0S2V5cygpKXIuYWRkVG9NYXAoYSx0aGlzLmdldEJ5S2V5KGEpKTtmb3IobGV0IGEgb2YgdC5nZXRLZXlzKCkpci5hZGRUb01hcChhLHQuZ2V0QnlLZXkoYSkse2ZvcmNlOiEwfSk7cmV0dXJuIHJ9YWRkQWxsRnJvbU90aGVyKHQpe2ZvcihsZXQgciBvZiB0LmdldEtleXMoKSl0aGlzLmFkZFRvTWFwKHIsdC5nZXRCeUtleShyKSx7Zm9yY2U6ITB9KX1hc3luYyBmaW5kKHQpe2ZvcihsZXQgciBvZiB0aGlzLmdldEtleXMoKSl7bGV0IGE9dGhpcy5nZXRCeUtleShyKTtpZihhd2FpdCB0KGEpKXJldHVybiBhfX19fSk7dmFyIFJxZSxlNixkXz1mKCgpPT57JHMoKTtOSygpO1JxZT0oZT0idW5pIik9PmAke2V9eHh4eHh4eHh4eHhgLnJlcGxhY2UoL1t4eV0vZyx0PT57bGV0IHI9TWF0aC5yYW5kb20oKSoxNnwwO3JldHVybih0PT09IngiP3I6ciYzfDgpLnRvU3RyaW5nKDE2KX0pLGU2PWNsYXNzIGV7Y29uc3RydWN0b3IoKXt0aGlzLmZhc3RNYXA9bmV3IHg5LHRoaXMuZXZlbnRTdWJqZWN0PW5ldyBhci5yeGpzLlN1YmplY3R9YWRkTWFwcGVkVW5pcXVlKHQscil7dGhpcy5mYXN0TWFwLmFkZFRvTWFwKHQscil9Z2V0TWFwcGVkVW5pcXVlKHQpe3JldHVybiB0aGlzLmZhc3RNYXAuZ2V0QnlLZXkodCl9cmVtb3ZlTWFwcGVkVW5pcXVlKHQpe2xldCByPXRoaXMuZ2V0TWFwcGVkVW5pcXVlKHQpfWFkZCh0KXtmb3IobGV0IGEgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlpZih0aGlzLmZhc3RNYXAuZ2V0QnlLZXkoYSk9PT10KXJldHVybiBhO2xldCByPVJxZSgia2V5Iik7cmV0dXJuIHRoaXMuYWRkTWFwcGVkVW5pcXVlKHIsdCksdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJhZGQiLHBheWxvYWQ6dH0pLHJ9YWRkQXJyYXkodCl7Zm9yKGxldCByIG9mIHQpdGhpcy5hZGQocil9Y2hlY2tGb3JPYmplY3QodCl7cmV0dXJuISF0aGlzLmdldEtleUZvck9iamVjdCh0KX1nZXRLZXlGb3JPYmplY3QodCl7bGV0IHI9bnVsbDtmb3IobGV0IGEgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlpZighciYmdGhpcy5mYXN0TWFwLmdldEJ5S2V5KGEpPT09dClyPWE7ZWxzZSBjb250aW51ZTtyZXR1cm4gcn1hc3luYyBmaW5kKHQpe3JldHVybiB0aGlzLmZhc3RNYXAuZmluZCh0KX1maW5kU3luYyh0KXtmb3IobGV0IHIgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlpZih0KHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKSkpcmV0dXJuIHRoaXMuZ2V0TWFwcGVkVW5pcXVlKHIpfWFzeW5jIGZpbmRPbmVBbmRSZW1vdmUodCl7bGV0IHI9YXdhaXQgdGhpcy5maW5kKHQpO3JldHVybiByJiZ0aGlzLnJlbW92ZShyKSxyfWZpbmRPbmVBbmRSZW1vdmVTeW5jKHQpe2xldCByPXRoaXMuZmluZFN5bmModCk7cmV0dXJuIHImJnRoaXMucmVtb3ZlKHIpLHJ9YXN5bmMgZm9yRWFjaCh0KXtmb3IobGV0IHIgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSlhd2FpdCB0KHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKSl9Z2V0T25lQW5kUmVtb3ZlKCl7bGV0IHQ9dGhpcy5mYXN0TWFwLmdldEtleXMoKTtpZih0Lmxlbmd0aD09PTApcmV0dXJuIG51bGw7e2xldCByPXRbMF0sYT10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcChyKTtyZXR1cm4gdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6YX0pLGF9fWdldEFycmF5KCl7bGV0IHQ9W107Zm9yKGxldCByIG9mIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkpdC5wdXNoKHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKSk7cmV0dXJuIHR9aXNFbXB0eSgpe3JldHVybiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpLmxlbmd0aD09PTB9cmVtb3ZlKHQpe2lmKHRoaXMuY2hlY2tGb3JPYmplY3QodCkpe2xldCByPXRoaXMuZ2V0S2V5Rm9yT2JqZWN0KHQpLGE9dGhpcy5mYXN0TWFwLnJlbW92ZUZyb21NYXAocik7cmV0dXJuIHRoaXMuZXZlbnRTdWJqZWN0Lm5leHQoe29wZXJhdGlvbjoicmVtb3ZlIixwYXlsb2FkOmF9KSxhfXJldHVybiBudWxsfXdpcGUoKXtmb3IobGV0IHQgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSl0aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcCh0KX1jb25jYXQodCl7bGV0IHI9bmV3IGU7cmV0dXJuIHIuZmFzdE1hcC5hZGRBbGxGcm9tT3RoZXIodGhpcy5mYXN0TWFwKSxyLmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKHQuZmFzdE1hcCkscn1hZGRBbGxGcm9tT3RoZXIodCl7dGhpcy5mYXN0TWFwLmFkZEFsbEZyb21PdGhlcih0LmZhc3RNYXApfX19KTt2YXIgeTksRks9ZigoKT0+eyRzKCk7T0soKTt5OT1jbGFzc3tnZXQgY29tcGFyaXNvblN0cmluZygpe3JldHVybiB0aGlzLmNvbXBhcmlzb25GdW5jKHRoaXMub3JpZ2luYWxJbnRlcmVzdCl9ZnVsbGZpbGxJbnRlcmVzdCh0KXt0aGlzLmlzRnVsbGZpbGxlZD0hMCx0aGlzLmZ1bGxmaWxsbWVudFN0b3JlPVtdLHRoaXMuaW50ZXJlc3REZWZlcnJlZC5yZXNvbHZlKHQpfWNvbnN0cnVjdG9yKHQscixhLGkpe3RoaXMuZGVzdHJ1Y3Rpb25UaW1lcj1uZXcgc2MuVGltZXIoMWU0KSx0aGlzLmlzRnVsbGZpbGxlZD0hMSx0aGlzLmZ1bGxmaWxsbWVudFN0b3JlPVtdLHRoaXMuaW50ZXJlc3REZWZlcnJlZD1uZXcgS2UuRGVmZXJyZWQsdGhpcy5pbnRlcmVzdEZ1bGxmaWxsZWQ9dGhpcy5pbnRlcmVzdERlZmVycmVkLnByb21pc2UsdGhpcy5pbnRlcmVzdE1hcFJlZj10LHRoaXMub3JpZ2luYWxJbnRlcmVzdD1yLHRoaXMuY29tcGFyaXNvbkZ1bmM9YSx0aGlzLm9wdGlvbnM9aSx0aGlzLmRlc3RydWN0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9Pnt0aGlzLmRlc3Ryb3koKX0pLHRoaXMub3B0aW9ucz8ubWFya0xvc3RBZnRlckRlZmF1bHQmJkN0LmRlbGF5Rm9yKHRoaXMub3B0aW9ucy5tYXJrTG9zdEFmdGVyRGVmYXVsdCkudGhlbih0aGlzLm1hcmtMb3N0KX1kZXN0cm95KCl7dGhpcy5pbnRlcmVzdE1hcFJlZi5yZW1vdmVJbnRlcmVzdCh0aGlzKSwhdGhpcy5pc0Z1bGxmaWxsZWQmJnRoaXMub3B0aW9ucy5kZWZhdWx0RnVsbGZpbGxtZW50JiZ0aGlzLmZ1bGxmaWxsSW50ZXJlc3QodGhpcy5vcHRpb25zLmRlZmF1bHRGdWxsZmlsbG1lbnQpfW1hcmtMb3N0KCl7dGhpcy5kZXN0cnVjdGlvblRpbWVyLnN0YXJ0KCl9cmVuZXcoKXt0aGlzLmRlc3RydWN0aW9uVGltZXIucmVzZXQoKX19fSk7dmFyIFJLLE9LPWYoKCk9PnskcygpO2RfKCk7RksoKTtSSz1jbGFzc3tjb25zdHJ1Y3Rvcih0LHI9e30pe3RoaXMuaW50ZXJlc3RPYmplY3RNYXA9bmV3IGU2LHRoaXMuaW50ZXJlc3RPYnNlcnZhYmxlPW5ldyBhci5PYnNlcnZhYmxlSW50YWtlLHRoaXMuY29tcGFyaXNvbkZ1bmM9dCx0aGlzLm9wdGlvbnM9cn1hc3luYyBhZGRJbnRlcmVzdCh0LHIpe2xldCBhPXRoaXMuY29tcGFyaXNvbkZ1bmModCksaSxuPW5ldyB5OSh0aGlzLHQsdGhpcy5jb21wYXJpc29uRnVuYyx7bWFya0xvc3RBZnRlckRlZmF1bHQ6dGhpcy5vcHRpb25zLm1hcmtMb3N0QWZ0ZXJEZWZhdWx0LGRlZmF1bHRGdWxsZmlsbG1lbnQ6cn0pLHM9ITE7cmV0dXJuIGF3YWl0IHRoaXMuaW50ZXJlc3RPYmplY3RNYXAuZm9yRWFjaChvPT57IXMmJm8uY29tcGFyaXNvblN0cmluZz09PW4uY29tcGFyaXNvblN0cmluZyYmKGNvbnNvbGUubG9nKCJpbmZvIixgaW50ZXJlc3QgYWxyZWFkeSBleGlzdHMgZm9yICR7bi5jb21wYXJpc29uU3RyaW5nfWApLHM9ITAsaT1vLGkucmVuZXcoKSl9KSxpfHwoaT1uLHRoaXMuaW50ZXJlc3RPYmplY3RNYXAuYWRkKGkpKSx0aGlzLmludGVyZXN0T2JzZXJ2YWJsZS5wdXNoKGkpLGl9cmVtb3ZlSW50ZXJlc3QodCl7bGV0IHI9dGhpcy5pbnRlcmVzdE9iamVjdE1hcC5maW5kT25lQW5kUmVtb3ZlU3luYyhhPT50LmNvbXBhcmlzb25TdHJpbmc9PT1hLmNvbXBhcmlzb25TdHJpbmcpfWNoZWNrSW50ZXJlc3QodCl7bGV0IHI9dGhpcy5jb21wYXJpc29uRnVuYyh0KTtyZXR1cm4gdGhpcy5jaGVja0ludGVyZXN0QnlTdHJpbmcocil9Y2hlY2tJbnRlcmVzdEJ5U3RyaW5nKHQpe3JldHVybiEhdGhpcy5pbnRlcmVzdE9iamVjdE1hcC5maW5kU3luYyhhPT5hLmNvbXBhcmlzb25TdHJpbmc9PT10KX1pbmZvcm1Mb3N0SW50ZXJlc3QodCl7bGV0IHI9dGhpcy5maW5kSW50ZXJlc3QodCk7ciYmci5tYXJrTG9zdCgpfWZpbmRJbnRlcmVzdCh0KXtsZXQgcj10aGlzLmNvbXBhcmlzb25GdW5jKHQpO3JldHVybiB0aGlzLmludGVyZXN0T2JqZWN0TWFwLmZpbmRTeW5jKGk9PmkuY29tcGFyaXNvblN0cmluZz09PXIpfX19KTt2YXIgQkssQnFlPWYoKCk9PnskcygpO0JLPWNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMuYXJyYXk9W10sdGhpcy5hcnJheUxpbWl0PXR9YWRkT25lKHQpe3RoaXMuYXJyYXkudW5zaGlmdCh0KSx0aGlzLmFycmF5Lmxlbmd0aD50aGlzLmFycmF5TGltaXQmJih0aGlzLmFycmF5Lmxlbmd0aD10aGlzLmFycmF5TGltaXQpfWFkZE1hbnkodCl7Zm9yKGxldCByIG9mIHQpdGhpcy5hZGRPbmUocil9c2V0TGltaXQodCl7dGhpcy5hcnJheUxpbWl0PXQsdGhpcy5hcnJheS5sZW5ndGg+dGhpcy5hcnJheUxpbWl0JiYodGhpcy5hcnJheS5sZW5ndGg9dGhpcy5hcnJheUxpbWl0KX1nZXRBdmVyYWdlKCl7aWYodHlwZW9mIHRoaXMuYXJyYXlbMF09PSJudW1iZXIiKXtsZXQgdD0wO2ZvcihsZXQgciBvZiB0aGlzLmFycmF5KXQ9dCtyO3JldHVybiB0L3RoaXMuYXJyYXkubGVuZ3RofWVsc2UgcmV0dXJuIG51bGx9fX0pO3ZhciBISyxIcWU9ZigoKT0+eyRzKCk7ZF8oKTtISz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVmZXJlbmNlT2JqZWN0TWFwPW5ldyBlNn1jaGVja0FuZFRyYWNrKHQpe3JldHVybiB0aGlzLnJlZmVyZW5jZU9iamVjdE1hcC5jaGVja0Zvck9iamVjdCh0KT8hMToodGhpcy5yZWZlcmVuY2VPYmplY3RNYXAuYWRkKHQpLCEwKX19fSk7dmFyIHFLLHFxZT1mKCgpPT57JHMoKTtxSz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PVtdfWFkZFN0cmluZyh0KXt0aGlzLl9zdHJpbmdBcnJheS5wdXNoKHQpLHRoaXMubm90aWZ5VHJpZ2dlcigpfWFkZFN0cmluZ0FycmF5KHQpe2ZvcihsZXQgciBvZiB0KXRoaXMuYWRkU3RyaW5nKHIpfXJlbW92ZVN0cmluZyh0KXtmb3IobGV0IHIgaW4gdGhpcy5fc3RyaW5nQXJyYXkpdGhpcy5fc3RyaW5nQXJyYXlbcl09PT10JiZ0aGlzLl9zdHJpbmdBcnJheS5zcGxpY2UocGFyc2VJbnQociksMSk7dGhpcy5ub3RpZnlUcmlnZ2VyKCl9d2lwZSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMubm90aWZ5VHJpZ2dlcigpfWNoZWNrU3RyaW5nKHQpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5pbmRleE9mKHQpIT09LTF9Y2hlY2tNaW5pbWF0Y2godCl7bGV0IHI9bmV3IFFsLlNtYXJ0TWF0Y2godCksYT0hMTtmb3IobGV0IGkgb2YgdGhpcy5fc3RyaW5nQXJyYXkpci5tYXRjaChpKSYmKGE9ITApO3JldHVybiBhfWNoZWNrSXNFbXB0eSgpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5sZW5ndGg9PT0wfWdldFN0cmluZ0FycmF5KCl7bGV0IHQ9W107Zm9yKGxldCByIG9mIHRoaXMuX3N0cmluZ0FycmF5KXQucHVzaChyKTtyZXR1cm4gdH1yZWdpc3RlclVudGlsVHJ1ZSh0LHIpe2xldCBhPUtlLmRlZmVyKCk7cmV0dXJuIHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5LnB1c2goKCk9PntsZXQgaT10KHRoaXMuZ2V0U3RyaW5nQXJyYXkoKSk7cmV0dXJuIGk9PT0hMCYmKHImJnIoKSxhLnJlc29sdmUoKSksaX0pLHRoaXMubm90aWZ5VHJpZ2dlcigpLGEucHJvbWlzZX1ub3RpZnlUcmlnZ2VyKCl7bGV0IHQ9dGhpcy5fdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXkuZmlsdGVyKHI9PiFyKCkpO3RoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PXR9fX0pO3ZhciBqSyxqcWU9ZigoKT0+eyRzKCk7aks9Y2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yYWdlQXJyYXk9W10sdGhpcy5vcHRpb25zPXR9Y2hlY2tBZ2dyZWdhdGlvblN0YXR1cygpe2xldCB0PSgpPT57dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW5ldyBzYy5UaW1lcih0aGlzLm9wdGlvbnMuYWdncmVnYXRpb25JbnRlcnZhbEluTWlsbGlzKSx0aGlzLmFnZ3JlZ2F0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9PntsZXQgcj10aGlzLnN0b3JhZ2VBcnJheTtpZihyLmxlbmd0aD09PTApe3RoaXMuYWdncmVnYXRpb25UaW1lcj1udWxsO3JldHVybn10aGlzLnN0b3JhZ2VBcnJheT1bXSx0KCksdGhpcy5vcHRpb25zLmZ1bmN0aW9uRm9yQWdncmVnYXRpb24ocil9KSx0aGlzLmFnZ3JlZ2F0aW9uVGltZXIuc3RhcnQoKX07dGhpcy5hZ2dyZWdhdGlvblRpbWVyfHx0KCl9YWRkKHQpe3RoaXMuc3RvcmFnZUFycmF5LnB1c2godCksdGhpcy5jaGVja0FnZ3JlZ2F0aW9uU3RhdHVzKCl9fX0pO3ZhciBWSyxWcWU9ZigoKT0+eyRzKCk7Vks9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN5bWJvbFRyZWU9bmV3IGNfLmRlZmF1bHR9aW5pdGlhbGl6ZSh0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmluaXRpYWxpemUodCl9aGFzQ2hpbGRyZW4odCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5oYXNDaGlsZHJlbih0KX1maXJzdENoaWxkKHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuZmlyc3RDaGlsZCh0KX1sYXN0Q2hpbGQodCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5sYXN0Q2hpbGQodCl9cHJldmlvdXNTaWJsaW5nKHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJldmlvdXNTaWJsaW5nKHQpfW5leHRTaWJsaW5nKHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubmV4dFNpYmxpbmcodCl9cGFyZW50KHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucGFyZW50KHQpfWxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubGFzdEluY2x1c2l2ZURlc2NlbmRhbnQodCl9cHJlY2VkaW5nKHQscil7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5wcmVjZWRpbmcodCxyKX1mb2xsb3dpbmcodCxyKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmZvbGxvd2luZyh0LHIpfWNoaWxkcmVuVG9BcnJheSh0LHIpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuY2hpbGRyZW5Ub0FycmF5KHQscil9YW5jZXN0b3JzVG9BcnJheSh0LHIpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuYW5jZXN0b3JzVG9BcnJheSh0LHIpfXRyZWVUb0FycmF5KHQscil7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS50cmVlVG9BcnJheSh0LHIpfWNoaWxkcmVuSXRlcmF0b3IodCxyKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuSXRlcmF0b3IodCxyKX1wcmV2aW91c1NpYmxpbmdzSXRlcmF0b3IodCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5wcmV2aW91c1NpYmxpbmdzSXRlcmF0b3IodCl9bmV4dFNpYmxpbmdzSXRlcmF0b3IodCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5uZXh0U2libGluZ3NJdGVyYXRvcigpfWFuY2VzdG9yc0l0ZXJhdG9yKHQpe3RoaXMuc3ltYm9sVHJlZS5hbmNlc3RvcnNJdGVyYXRvcigpfXRyZWVJdGVyYXRvcih0LHIpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUudHJlZUl0ZXJhdG9yKHQpfWluZGV4KHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaW5kZXgodCl9Y2hpbGRyZW5Db3VudCh0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuQ291bnQodCl9Y29tcGFyZVRyZWVQb3NpdGlvbih0LHIpe3JldHVybiB0aGlzLmNvbXBhcmVUcmVlUG9zaXRpb24odCxyKX1yZW1vdmUodCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5yZW1vdmUodCl9aW5zZXJ0QmVmb3JlKHQscil7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5pbnNlcnRCZWZvcmUodCxyKX1pbnNlcnRBZnRlcih0LHIpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaW5zZXJ0QWZ0ZXIodCxyKX1wcmVwZW5kQ2hpbGQodCxyKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnByZXBlbmRDaGlsZCh0LHIpfWFwcGVuZENoaWxkKHQscil7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5hcHBlbmRDaGlsZCh0LHIpfXRvSnNvbldpdGhIaWVyYWNoeSh0KXtsZXQgcj10aGlzLnRyZWVJdGVyYXRvcih0LHt9KTtmb3IobGV0IGEgb2Ygciljb25zb2xlLmxvZyhhKX1mcm9tSnNvbldpdGhIaWVyYWNoeSh0KXt9fX0pO3ZhciB2aT17fTtSZSh2aSx7QXN5bmNFeGVjdXRpb25TdGFjazooKT0+SUssQmFja3ByZXNzdXJlZEFycmF5OigpPT5QSyxGYXN0TWFwOigpPT54OSxJbnRlcmVzdDooKT0+eTksSW50ZXJlc3RNYXA6KCk9PlJLLExpbWl0ZWRBcnJheTooKT0+QkssTG9vcFRyYWNrZXI6KCk9PkhLLE9iamVjdE1hcDooKT0+ZTYsU3RyaW5nbWFwOigpPT5xSyxUaW1lZEFnZ3JlZ3RvcjooKT0+akssVHJlZTooKT0+VkssdW5pOigpPT5ScWV9KTt2YXIgYjk9ZigoKT0+e0ZxZSgpO09xZSgpO05LKCk7T0soKTtGSygpO0JxZSgpO0hxZSgpO2RfKCk7cXFlKCk7anFlKCk7VnFlKCl9KTt2YXIgYjQ9e307UmUoYjQse2FyZVVpbnQ4QXJyYXlzRXF1YWw6KCk9Pk5Jcixhc3NlcnRVaW50OEFycmF5OigpPT5nNCxhc3NlcnRVaW50OEFycmF5T3JBcnJheUJ1ZmZlcjooKT0+WnFlLGJhc2U2NFRvU3RyaW5nOigpPT5xSXIsYmFzZTY0VG9VaW50OEFycmF5OigpPT5LcWUsY29tcGFyZVVpbnQ4QXJyYXlzOigpPT5GSXIsY29uY2F0VWludDhBcnJheXM6KCk9PlBJcixnZXRVaW50QkU6KCk9PldJcixoZXhUb1VpbnQ4QXJyYXk6KCk9PlVJcixpbmNsdWRlczooKT0+R0lyLGluZGV4T2Y6KCk9PmVqZSxpc1VpbnQ4QXJyYXk6KCk9PlVLLHN0cmluZ1RvQmFzZTY0OigpPT5ISXIsc3RyaW5nVG9VaW50OEFycmF5OigpPT5RcWUsdG9VaW50OEFycmF5OigpPT5JSXIsdWludDhBcnJheVRvQmFzZTY0OigpPT5KcWUsdWludDhBcnJheVRvSGV4OigpPT5WSXIsdWludDhBcnJheVRvU3RyaW5nOigpPT5YcWV9KTtmdW5jdGlvbiBVcWUoZSx0LHIpe3JldHVybiBlP2UuY29uc3RydWN0b3I9PT10PyEwOkxJci5jYWxsKGUpPT09cjohMX1mdW5jdGlvbiBVSyhlKXtyZXR1cm4gVXFlKGUsVWludDhBcnJheSwkSXIpfWZ1bmN0aW9uIEFJcihlKXtyZXR1cm4gVXFlKGUsQXJyYXlCdWZmZXIsRElyKX1mdW5jdGlvbiBFSXIoZSl7cmV0dXJuIFVLKGUpfHxBSXIoZSl9ZnVuY3Rpb24gZzQoZSl7aWYoIVVLKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFxgVWludDhBcnJheVxgLCBnb3QgXGAke3R5cGVvZiBlfVxgYCl9ZnVuY3Rpb24gWnFlKGUpe2lmKCFFSXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXGBVaW50OEFycmF5XGAgb3IgXGBBcnJheUJ1ZmZlclxgLCBnb3QgXGAke3R5cGVvZiBlfVxgYCl9ZnVuY3Rpb24gSUlyKGUpe2lmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSk7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKXJldHVybiBuZXcgVWludDhBcnJheShlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKTt0aHJvdyBuZXcgVHlwZUVycm9yKGBVbnN1cHBvcnRlZCB2YWx1ZSwgZ290IFxgJHt0eXBlb2YgZX1cYC5gKX1mdW5jdGlvbiBQSXIoZSx0KXtpZihlLmxlbmd0aD09PTApcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO3Q/Pz1lLnJlZHVjZSgoaSxuKT0+aStuLmxlbmd0aCwwKTtsZXQgcj1uZXcgVWludDhBcnJheSh0KSxhPTA7Zm9yKGxldCBpIG9mIGUpZzQoaSksci5zZXQoaSxhKSxhKz1pLmxlbmd0aDtyZXR1cm4gcn1mdW5jdGlvbiBOSXIoZSx0KXtpZihnNChlKSxnNCh0KSxlPT09dClyZXR1cm4hMDtpZihlLmxlbmd0aCE9PXQubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKGVbcl0hPT10W3JdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIEZJcihlLHQpe2c0KGUpLGc0KHQpO2xldCByPU1hdGgubWluKGUubGVuZ3RoLHQubGVuZ3RoKTtmb3IobGV0IGE9MDthPHI7YSsrKXtsZXQgaT1lW2FdLXRbYV07aWYoaSE9PTApcmV0dXJuIE1hdGguc2lnbihpKX1yZXR1cm4gTWF0aC5zaWduKGUubGVuZ3RoLXQubGVuZ3RoKX1mdW5jdGlvbiBYcWUoZSx0PSJ1dGY4Iil7cmV0dXJuIFpxZShlKSxXcWVbdF0/Pz1uZXcgZ2xvYmFsVGhpcy5UZXh0RGVjb2Rlcih0KSxXcWVbdF0uZGVjb2RlKGUpfWZ1bmN0aW9uIHc5KGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcYHN0cmluZ1xgLCBnb3QgXGAke3R5cGVvZiBlfVxgYCl9ZnVuY3Rpb24gUXFlKGUpe3JldHVybiB3OShlKSxPSXIuZW5jb2RlKGUpfWZ1bmN0aW9uIFJJcihlKXtyZXR1cm4gZS5yZXBsYWNlQWxsKCIrIiwiLSIpLnJlcGxhY2VBbGwoIi8iLCJfIikucmVwbGFjZSgvPSskLywiIil9ZnVuY3Rpb24gQklyKGUpe2xldCB0PWUucmVwbGFjZUFsbCgiLSIsIisiKS5yZXBsYWNlQWxsKCJfIiwiLyIpLHI9KDQtdC5sZW5ndGglNCklNDtyZXR1cm4gdCsiPSIucmVwZWF0KHIpfWZ1bmN0aW9uIEpxZShlLHt1cmxTYWZlOnQ9ITF9PXt9KXtnNChlKTtsZXQgcj0iIjtmb3IobGV0IGE9MDthPGUubGVuZ3RoO2ErPUdxZSl7bGV0IGk9ZS5zdWJhcnJheShhLGErR3FlKTtyKz1nbG9iYWxUaGlzLmJ0b2EoU3RyaW5nLmZyb21Db2RlUG9pbnQuYXBwbHkodm9pZCAwLGkpKX1yZXR1cm4gdD9SSXIocik6cn1mdW5jdGlvbiBLcWUoZSl7cmV0dXJuIHc5KGUpLFVpbnQ4QXJyYXkuZnJvbShnbG9iYWxUaGlzLmF0b2IoQklyKGUpKSx0PT50LmNvZGVQb2ludEF0KDApKX1mdW5jdGlvbiBISXIoZSx7dXJsU2FmZTp0PSExfT17fSl7cmV0dXJuIHc5KGUpLEpxZShRcWUoZSkse3VybFNhZmU6dH0pfWZ1bmN0aW9uIHFJcihlKXtyZXR1cm4gdzkoZSksWHFlKEtxZShlKSl9ZnVuY3Rpb24gVklyKGUpe2c0KGUpO2xldCB0PSIiO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKXQrPWpJcltlW3JdXTtyZXR1cm4gdH1mdW5jdGlvbiBVSXIoZSl7aWYodzkoZSksZS5sZW5ndGglMiE9PTApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIEhleCBzdHJpbmcgbGVuZ3RoLiIpO2xldCB0PWUubGVuZ3RoLzIscj1uZXcgVWludDhBcnJheSh0KTtmb3IobGV0IGE9MDthPHQ7YSsrKXtsZXQgaT1ZcWVbZVthKjJdXSxuPVlxZVtlW2EqMisxXV07aWYoaT09PXZvaWQgMHx8bj09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSGV4IGNoYXJhY3RlciBlbmNvdW50ZXJlZCBhdCBwb3NpdGlvbiAke2EqMn1gKTtyW2FdPWk8PDR8bn1yZXR1cm4gcn1mdW5jdGlvbiBXSXIoZSl7bGV0e2J5dGVMZW5ndGg6dH09ZTtpZih0PT09NilyZXR1cm4gZS5nZXRVaW50MTYoMCkqMioqMzIrZS5nZXRVaW50MzIoMik7aWYodD09PTUpcmV0dXJuIGUuZ2V0VWludDgoMCkqMioqMzIrZS5nZXRVaW50MzIoMSk7aWYodD09PTQpcmV0dXJuIGUuZ2V0VWludDMyKDApO2lmKHQ9PT0zKXJldHVybiBlLmdldFVpbnQ4KDApKjIqKjE2K2UuZ2V0VWludDE2KDEpO2lmKHQ9PT0yKXJldHVybiBlLmdldFVpbnQxNigwKTtpZih0PT09MSlyZXR1cm4gZS5nZXRVaW50OCgwKX1mdW5jdGlvbiBlamUoZSx0KXtsZXQgcj1lLmxlbmd0aCxhPXQubGVuZ3RoO2lmKGE9PT0wfHxhPnIpcmV0dXJuLTE7bGV0IGk9ci1hO2ZvcihsZXQgbj0wO248PWk7bisrKXtsZXQgcz0hMDtmb3IobGV0IG89MDtvPGE7bysrKWlmKGVbbitvXSE9PXRbb10pe3M9ITE7YnJlYWt9aWYocylyZXR1cm4gbn1yZXR1cm4tMX1mdW5jdGlvbiBHSXIoZSx0KXtyZXR1cm4gZWplKGUsdCkhPT0tMX12YXIgTElyLCRJcixESXIsV3FlLE9JcixHcWUsaklyLFlxZSx0amU9ZigoKT0+e0xJcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLCRJcj0iW29iamVjdCBVaW50OEFycmF5XSIsRElyPSJbb2JqZWN0IEFycmF5QnVmZmVyXSI7V3FlPXt1dGY4Om5ldyBnbG9iYWxUaGlzLlRleHREZWNvZGVyKCJ1dGY4Iil9O09Jcj1uZXcgZ2xvYmFsVGhpcy5UZXh0RW5jb2RlcjtHcWU9NjU1MzU7aklyPUFycmF5LmZyb20oe2xlbmd0aDoyNTZ9LChlLHQpPT50LnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpO1lxZT17MDowLDE6MSwyOjIsMzozLDQ6NCw1OjUsNjo2LDc6Nyw4OjgsOTo5LGE6MTAsYjoxMSxjOjEyLGQ6MTMsZToxNCxmOjE1LEE6MTAsQjoxMSxDOjEyLEQ6MTMsRToxNCxGOjE1fX0pO3ZhciByamU9ZigoKT0+e3RqZSgpfSk7dmFyIHI4PXt9O1JlKHI4LHtiYXNlNjRUb1VpbnQ4QXJyYXk6KCk9PlFJcixlbnN1cmVQdXJlVWludDhBcnJheTooKT0+ZVByLGlzQnVmZmVyTGlrZTooKT0+S0lyLGlzVWludDhBcnJheTooKT0+SklyLHVJbnQ4QXJyYXlFeHRyYXM6KCk9PlpJcix1SW50OEFycmF5VG9CYXNlNjQ6KCk9PlhJcn0pO2Z1bmN0aW9uIFhJcihlKXtyZXR1cm4gYjQudWludDhBcnJheVRvQmFzZTY0KGUpfWZ1bmN0aW9uIFFJcihlKXtyZXR1cm4gYjQuYmFzZTY0VG9VaW50OEFycmF5KGUpfWZ1bmN0aW9uIEtJcihlKXtyZXR1cm4gZSYmdHlwZW9mIGUuYnl0ZUxlbmd0aD09Im51bWJlciI/ITA6dHlwZW9mIEJ1ZmZlcjwidSImJkJ1ZmZlci5pc0J1ZmZlcj9CdWZmZXIuaXNCdWZmZXIoZSk6ITF9ZnVuY3Rpb24gZVByKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKTtyZXR1cm4gdC5zZXQoZSksdH12YXIgWklyLEpJcixhamU9ZigoKT0+e3JqZSgpO1pJcj1iNDtKSXI9ZT0+YjQuaXNVaW50OEFycmF5KGUpfSk7dmFyIE05PWYoKCk9PntVaSgpfSk7dmFyIGs5LHVfPWYoKCk9PntNOSgpO2s5PWNsYXNze2NvbnN0cnVjdG9yKHQscil7dGhpcy5ndWFyZEZ1bmN0aW9uPXQsdGhpcy5vcHRpb25zPXJ9YXN5bmMgZXhlYyh0KXtyZXR1cm4gYXdhaXQgdGhpcy5ndWFyZEZ1bmN0aW9uKHQpfWFzeW5jIGdldEZhaWxlZEhpbnQodCl7cmV0dXJuIGF3YWl0IHRoaXMuZXhlYyh0KT9udWxsOnRoaXMub3B0aW9ucy5mYWlsZWRIaW50fX19KTt2YXIgUzksV0s9ZigoKT0+e005KCk7Uzk9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9Ikd1YXJkRXJyb3IifX19KTt2YXIgejksR0s9ZigoKT0+e005KCk7dV8oKTt6OT1jbGFzcyBleHRlbmRzIGs5e2NvbnN0cnVjdG9yKHQ9W10pe3N1cGVyKGFzeW5jIHI9PnRoaXMuYWxsR3VhcmRzUGFzcyhyKSksdGhpcy5ndWFyZHM9dH1hc3luYyBleGVjQWxsV2l0aERhdGEodCxyPXttb2RlOiJwYXJhbGxlbCIsc3RvcE9uRmFpbDohMX0pe2xldCBhPVtdO2ZvcihsZXQgbiBvZiB0aGlzLmd1YXJkcyl7bGV0IHM9bi5leGVjKHQpO2lmKHIubW9kZT09PSJzZXJpYWwiJiZhd2FpdCBzLGEucHVzaChzKSxyLnN0b3BPbkZhaWwmJiFhd2FpdCBzKXJldHVybiBhd2FpdCBQcm9taXNlLmFsbChhKX1yZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoYSl9YXN5bmMgYWxsR3VhcmRzUGFzcyh0LHI9e21vZGU6InBhcmFsbGVsIixzdG9wT25GYWlsOiExfSl7cmV0dXJuKGF3YWl0IHRoaXMuZXhlY0FsbFdpdGhEYXRhKHQscikpLmV2ZXJ5KGk9PmkpfWFzeW5jIGFueUd1YXJkc1Bhc3ModCl7cmV0dXJuKGF3YWl0IHRoaXMuZXhlY0FsbFdpdGhEYXRhKHQse21vZGU6InBhcmFsbGVsIixzdG9wT25GYWlsOiExfSkpLnNvbWUoYT0+YSl9Z2V0RmFpbGVkSGludCh0KXtmb3IobGV0IHIgb2YgdGhpcy5ndWFyZHMpe2xldCBhPXIuZ2V0RmFpbGVkSGludCh0KTtpZihhKXJldHVybiBhfX19fSk7dmFyIEM5PXt9O1JlKEM5LHtHdWFyZDooKT0+azksR3VhcmRFcnJvcjooKT0+UzksR3VhcmRTZXQ6KCk9Pno5LHBhc3NHdWFyZHNPclJlamVjdDooKT0+dFByfSk7dmFyIHRQcixpamU9ZigoKT0+e005KCk7dV8oKTtXSygpO3VfKCk7R0soKTtHSygpO1dLKCk7dFByPWFzeW5jKGUsdCk9PntsZXQgcj1uZXcgejkodCk7aWYoIWF3YWl0IHIuYWxsR3VhcmRzUGFzcyhlKSl7bGV0IGk9YXdhaXQgci5nZXRGYWlsZWRIaW50KGUpO3Rocm93IG5ldyBTOShgR3VhcmRzIGZhaWxlZDoKJHtpfQogICAgYCl9fX0pO3ZhciBhOCxZSz1mKCgpPT57YTg9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnM9W10sdGhpcy5yZXNwb25zZUludGVyY2VwdG9ycz1bXSx0aGlzLmVycm9ySW50ZXJjZXB0b3JzPVtdfWFkZFJlcXVlc3RJbnRlcmNlcHRvcih0KXt0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMucHVzaCh0KX1hZGRSZXNwb25zZUludGVyY2VwdG9yKHQpe3RoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMucHVzaCh0KX1hZGRFcnJvckludGVyY2VwdG9yKHQpe3RoaXMuZXJyb3JJbnRlcmNlcHRvcnMucHVzaCh0KX1yZW1vdmVSZXF1ZXN0SW50ZXJjZXB0b3IodCl7bGV0IHI9dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLmluZGV4T2YodCk7cj4tMSYmdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLnNwbGljZShyLDEpfXJlbW92ZVJlc3BvbnNlSW50ZXJjZXB0b3IodCl7bGV0IHI9dGhpcy5yZXNwb25zZUludGVyY2VwdG9ycy5pbmRleE9mKHQpO3I+LTEmJnRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMuc3BsaWNlKHIsMSl9cmVtb3ZlRXJyb3JJbnRlcmNlcHRvcih0KXtsZXQgcj10aGlzLmVycm9ySW50ZXJjZXB0b3JzLmluZGV4T2YodCk7cj4tMSYmdGhpcy5lcnJvckludGVyY2VwdG9ycy5zcGxpY2UociwxKX1jbGVhckFsbCgpe3RoaXMucmVxdWVzdEludGVyY2VwdG9ycz1bXSx0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzPVtdLHRoaXMuZXJyb3JJbnRlcmNlcHRvcnM9W119YXN5bmMgcHJvY2Vzc1JlcXVlc3QodCl7bGV0IHI9dDtmb3IobGV0IGEgb2YgdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzKXRyeXtyPWF3YWl0IGEocil9Y2F0Y2goaSl7dGhyb3cgYXdhaXQgdGhpcy5wcm9jZXNzRXJyb3IoaSBpbnN0YW5jZW9mIEVycm9yP2k6bmV3IEVycm9yKFN0cmluZyhpKSkpfXJldHVybiByfWFzeW5jIHByb2Nlc3NSZXNwb25zZSh0KXtsZXQgcj10O2ZvcihsZXQgYSBvZiB0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzKXRyeXtyPWF3YWl0IGEocil9Y2F0Y2goaSl7dGhyb3cgYXdhaXQgdGhpcy5wcm9jZXNzRXJyb3IoaSBpbnN0YW5jZW9mIEVycm9yP2k6bmV3IEVycm9yKFN0cmluZyhpKSkpfXJldHVybiByfWFzeW5jIHByb2Nlc3NFcnJvcih0KXtsZXQgcj10O2ZvcihsZXQgYSBvZiB0aGlzLmVycm9ySW50ZXJjZXB0b3JzKXRyeXtyPWF3YWl0IGEocil9Y2F0Y2goaSl7cj1pIGluc3RhbmNlb2YgRXJyb3I/aTpuZXcgRXJyb3IoU3RyaW5nKGkpKX1yZXR1cm4gcn1nZXRJbnRlcmNlcHRvckNvdW50cygpe3JldHVybntyZXF1ZXN0OnRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5sZW5ndGgscmVzcG9uc2U6dGhpcy5yZXNwb25zZUludGVyY2VwdG9ycy5sZW5ndGgsZXJyb3I6dGhpcy5lcnJvckludGVyY2VwdG9ycy5sZW5ndGh9fX19KTt2YXIgbmplPWYoKCk9PntVaSgpfSk7dmFyIHNqZT1mKCgpPT57fSk7dmFyIFpLLG9qZT1mKCgpPT57bmplKCk7c2plKCk7Wks9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmxvYWRlZFNjcmlwdHM9W119YXN5bmMgZ2V0RW52QXdhcmVNb2R1bGUodCl7aWYodGhpcy5pc05vZGUpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUodC5ub2RlTW9kdWxlTmFtZSk7aWYodGhpcy5pc0Jyb3dzZXIpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZVdlYk1vZHVsZSh0LndlYlVybEFyZyx0LmdldEZ1bmN0aW9uKTtjb25zb2xlLmVycm9yKCJwbGF0Zm9ybSBmb3IgbG9hZGluZyBub3Qgc3VwcG9ydGVkIGJ5IHNtYXJ0ZW52Iil9YXN5bmMgZ2V0U2FmZU5vZGVNb2R1bGUodCxyKXtpZighdGhpcy5pc05vZGUpe2NvbnNvbGUuZXJyb3IoYFlvdSB0cmllZCB0byBsb2FkIGEgbm9kZSBtb2R1bGUgaW4gYSB3cm9uZyBjb250ZXh0OiAke3R9LiBUaGlzIGRvZXMgbm90IHRocm93LmApO3JldHVybn1sZXQgYT1hd2FpdCBuZXcgRnVuY3Rpb24oYHJldHVybiBpbXBvcnQoJyR7dH0nKWApKCk7cmV0dXJuIHImJmF3YWl0IHIoYSksYX1hc3luYyBnZXRTYWZlV2ViTW9kdWxlKHQscil7aWYoIXRoaXMuaXNCcm93c2VyKXtjb25zb2xlLmVycm9yKCJZb3UgdHJpZWQgdG8gbG9hZCBhIHdlYiBtb2R1bGUgaW4gYSB3cm9uZyBjb250ZXh0Iik7cmV0dXJufWlmKHRoaXMubG9hZGVkU2NyaXB0cy5pbmNsdWRlcyh0KSlyZXR1cm4gcigpO3RoaXMubG9hZGVkU2NyaXB0cy5wdXNoKHQpO2xldCBhPUtlLmRlZmVyKCk7aWYoZ2xvYmFsVGhpcy5pbXBvcnRTY3JpcHRzKWdsb2JhbFRoaXMuaW1wb3J0U2NyaXB0cyh0KSxhLnJlc29sdmUoKTtlbHNle2xldCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2kub25sb2FkPSgpPT57YS5yZXNvbHZlKCl9LGkuc3JjPXQsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpKX1yZXR1cm4gYXdhaXQgYS5wcm9taXNlLHIoKX1nZXQgcnVudGltZUVudigpe3JldHVybiB0eXBlb2YgcHJvY2VzczwidSI/Im5vZGUiOiJicm93c2VyIn1nZXQgaXNCcm93c2VyKCl7cmV0dXJuIXRoaXMuaXNOb2RlfWdldCB1c2VyQWdlbnQoKXtyZXR1cm4gdGhpcy5pc0Jyb3dzZXI/bmF2aWdhdG9yLnVzZXJBZ2VudDoidW5kZWZpbmVkIn1nZXQgaXNOb2RlKCl7cmV0dXJuIHRoaXMucnVudGltZUVudj09PSJub2RlIn1nZXQgbm9kZVZlcnNpb24oKXtyZXR1cm4gcHJvY2Vzcy52ZXJzaW9ufWdldCBpc0NJKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyEhcHJvY2Vzcy5lbnYuQ0k6ITF9YXN5bmMgaXNNYWNBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJkYXJ3aW4iOiExfWFzeW5jIGlzV2luZG93c0FzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09IndpbjMyIjohMX1hc3luYyBpc0xpbnV4QXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0ibGludXgiOiExfWFzeW5jIHByaW50RW52KCl7dGhpcy5pc05vZGU/KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIE5PREUiKSxjb25zb2xlLmxvZygibm9kZSB2ZXJzaW9uIGlzICIrdGhpcy5ub2RlVmVyc2lvbikpOihjb25zb2xlLmxvZygicnVubmluZyBvbiBCUk9XU0VSIiksY29uc29sZS5sb2coImJyb3dzZXIgaXMgIit0aGlzLnVzZXJBZ2VudCkpfX19KTt2YXIgVzE9e307UmUoVzEse1NtYXJ0ZW52OigpPT5aS30pO3ZhciBpOD1mKCgpPT57b2plKCl9KTt2YXIgWEssbjg9ZigoKT0+e1hLPXNyKG56KCksMSl9KTt2YXIgcF89e307UmUocF8se2NyZWF0ZUNyeXB0b1JhbmRvbVN0cmluZzooKT0+b1ByLGNyZWF0ZVJhbmRvbVN0cmluZzooKT0+c1ByfSk7dmFyIGlQcixuUHIsc1ByLG9QcixsamU9ZigoKT0+e244KCk7aVByPShlLHQpPT57aWYodHlwZW9mIGdsb2JhbFRoaXM8InUiJiZnbG9iYWxUaGlzLmNyeXB0byYmZ2xvYmFsVGhpcy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXtsZXQgcj10LWUsYT1uZXcgVWludDMyQXJyYXkoMSk7cmV0dXJuIGdsb2JhbFRoaXMuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhKSxlK2FbMF0lcn1lbHNlIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKHQtZSkpK2V9LG5Qcj0oZSx0LHIpPT57bGV0IGE9e0E6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIixhOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsMDoiMDEyMzQ1Njc4OSIsIiEiOiIhQCMkJV4mKigpXystPVtde318OzosLjw+PyIsIioiOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSFAIyQlXiYqKClfKy09W117fXw7OiwuPD4/In0saT1lO3QmJnQ+ZS5sZW5ndGg/aT1lLnJlcGVhdChNYXRoLmNlaWwodC9lLmxlbmd0aCkpLnNsaWNlKDAsdCk6dCYmKGk9ZS5zbGljZSgwLHQpKTtsZXQgbj0iIjtmb3IobGV0IHMgb2YgaSlpZihhW3NdKXtsZXQgbz1hW3NdLGM9aVByKDAsby5sZW5ndGgpO24rPW9bY119ZWxzZSBuKz1zO3JldHVybiBufSxzUHI9KGUsdCxyKT0+blByKGUsdCxyKSxvUHI9KCk9PlhLLnVuaSgpfSk7dmFyIGZfPXt9O1JlKGZfLHttYWtlRW52T2JqZWN0OigpPT5sUHJ9KTt2YXIgbFByLGNqZT1mKCgpPT57bjgoKTtsUHI9ZnVuY3Rpb24oZSl7bGV0IHQ9e30scj0vKC4qKT0oLiopLztpZih0eXBlb2YgZTwidSIpZm9yKGxldCBhIGluIGUpe2xldCBpPXIuZXhlYyhlW2FdKTt0W2lbMV1dPWlbMl19cmV0dXJuIHR9fSk7dmFyIHQ2PXt9O1JlKHQ2LHtpbmRlbnQ6KCk9PmRQcixpbmRlbnRXaXRoUHJlZml4OigpPT51UHIsbm9ybWFsaXplOigpPT5wUHJ9KTt2YXIgUUssSkssY1ByLGRQcix1UHIscFByLGRqZT1mKCgpPT57bjgoKTtRSz1lPT57bGV0IHQ9ZS5zcGxpdChgCmApO3JldHVybiBjUHIodCl9LEpLPWU9PntsZXQgdD0iIjtmb3IobGV0IHIgb2YgZSl0PXQrcitgCmA7cmV0dXJuIHR9LGNQcj1lPT57bGV0IHQ9L15bXHNdKiQvO3JldHVybiB0LnRlc3QoZVswXSkmJmUuc2hpZnQoKSx0LnRlc3QoZVtlLmxlbmd0aC0xXSkmJmUucG9wKCksZX0sZFByPShlLHQpPT57bGV0IHI9UUsoZSk7Zm9yKGxldCBpIG9mIHIpaT0iICIucmVwZWF0KHQpK2k7cmV0dXJuIEpLKHIpfSx1UHI9KGUsdCk9PntsZXQgcixhPVFLKGUpLGk9W107Zm9yKGxldCBuIG9mIGEpaS5wdXNoKHQrbik7cmV0dXJuIHI9SksoaSkscn0scFByPWU9PntsZXQgdCxyPVFLKGUpLGEsaT0vXihccyopLyxuPS9eKFxzKikkLztmb3IobGV0IG8gb2Ygcil7bGV0IGM9aS5leGVjKG8pWzFdOyh0eXBlb2YgYT4idSJ8fGMubGVuZ3RoPGEpJiYhbi50ZXN0KG8pJiYoYT1jLmxlbmd0aCl9bGV0IHM9W107Zm9yKGxldCBvIG9mIHIpcy5wdXNoKG8uc3Vic3RyKGEpKTtyZXR1cm4gdD1KSyhzKSx0fX0pO3ZhciBoXz17fTtSZShoXyx7cmVwbGFjZUFsbDooKT0+dWplLHN0YW5kYXJkOigpPT5oUHJ9KTt2YXIgdWplLGZQcixoUHIscGplPWYoKCk9Pnt1amU9KGUsdCxyKT0+ZS5yZXBsYWNlKG5ldyBSZWdFeHAodCwiZyIpLHIpLGZQcj1lPT57bGV0IHQ9ZS5zcGxpdChgCmApLHI9MS8wO2ZvcihsZXQgYSBvZiB0KWlmKGEudHJpbSgpLmxlbmd0aD4wKXtsZXQgaT1hLm1hdGNoKC9eKFxzKikvKTtpJiYocj1NYXRoLm1pbihyLGlbMV0ubGVuZ3RoKSl9cmV0dXJuIHI9PT0xLzB8fHI9PT0wP2U6dC5tYXAoYT0+YS5sZW5ndGg+PXI/YS5zbGljZShyKTphKS5qb2luKGAKYCl9LGhQcj0oZSx0KT0+e2xldCByPWU7cmV0dXJuKCF0fHx0LnN0cmlwSW5kZW50KSYmKHI9ZlByKHIpKSwoIXR8fHQubm9ybWFsaXplTmV3bGluZSkmJihyPXIucmVwbGFjZSgvXHJcbi9nLGAKYCkpLCghdHx8dC5yZXBsYWNlVGFicykmJihyPXVqZShyLCIJLyIsIiAiKSksKCF0fHx0LnN0cmlwTGVhZGluZ1RyYWlsaW5nRW1wdHlMaW5lcykmJihyPXIucmVwbGFjZSgvXlxzKltcclxuXS9nbSwiIikucmVwbGFjZSgvXHMqW1xyXG5dJC9nbSwiIikpLCghdHx8dC5zdHJpcEFsbEVtcHR5TGluZXMpJiYocj1yLnJlcGxhY2UoL15ccypbXHJcbl0vZ20sIiIpKSxyfX0pO3ZhciBLSyxtXyxzOCxlZWU9ZigoKT0+e0tLPXtlbmNvZGU6ZT0+e2lmKHR5cGVvZiBCdWZmZXI8InUiKXJldHVybiBCdWZmZXIuZnJvbShlLCJ1dGY4IikudG9TdHJpbmcoImJhc2U2NCIpO2lmKHR5cGVvZiBidG9hPCJ1Iil7bGV0IHQ9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUpLHI9QXJyYXkuZnJvbSh0LGE9PlN0cmluZy5mcm9tQ2hhckNvZGUoYSkpLmpvaW4oIiIpO3JldHVybiBidG9hKHIpfWVsc2V7bGV0IHQ9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLHI9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUpLGE9IiIsaT0wO2Zvcig7aTxyLmxlbmd0aDspe2xldCBuPXJbaSsrXSxzPWk8ci5sZW5ndGg/cltpKytdOjAsbz1pPHIubGVuZ3RoP3JbaSsrXTowLGM9bjw8MTZ8czw8OHxvO2ErPXQuY2hhckF0KGM+PjE4JjYzKSxhKz10LmNoYXJBdChjPj4xMiY2MyksYSs9aS0yPHIubGVuZ3RoP3QuY2hhckF0KGM+PjYmNjMpOiI9IixhKz1pLTE8ci5sZW5ndGg/dC5jaGFyQXQoYyY2Myk6Ij0ifXJldHVybiBhfX0sZGVjb2RlOmU9PntsZXQgdD1lLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpLnBhZEVuZChlLmxlbmd0aCsoNC1lLmxlbmd0aCU0KSU0LCI9Iik7aWYodHlwZW9mIEJ1ZmZlcjwidSIpcmV0dXJuIEJ1ZmZlci5mcm9tKHQsImJhc2U2NCIpLnRvU3RyaW5nKCJ1dGY4Iik7aWYodHlwZW9mIGF0b2I8InUiKXtsZXQgcj1hdG9iKHQpLGE9bmV3IFVpbnQ4QXJyYXkoci5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGg7aSsrKWFbaV09ci5jaGFyQ29kZUF0KGkpO3JldHVybiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYSl9ZWxzZXtsZXQgcj0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsYT1bXSxpPTA7Zm9yKDtpPHQubGVuZ3RoOyl7bGV0IG49ci5pbmRleE9mKHQuY2hhckF0KGkrKykpLHM9ci5pbmRleE9mKHQuY2hhckF0KGkrKykpLG89ci5pbmRleE9mKHQuY2hhckF0KGkrKykpLGM9ci5pbmRleE9mKHQuY2hhckF0KGkrKykpLGw9bjw8MTh8czw8MTJ8bzw8NnxjO2EucHVzaChsPj4xNiYyNTUpLG8hPT02NCYmYS5wdXNoKGw+PjgmMjU1KSxjIT09NjQmJmEucHVzaChsJjI1NSl9cmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShuZXcgVWludDhBcnJheShhKSl9fX0sbV89Y2xhc3N7Y29uc3RydWN0b3IodCxyKXtzd2l0Y2gocil7Y2FzZSJzdHJpbmciOnRoaXMucmVmU3RyaW5nPXQ7YnJlYWs7Y2FzZSJiYXNlNjQiOnRoaXMucmVmU3RyaW5nPXM4LmRlY29kZSh0KTticmVhaztjYXNlImJhc2U2NHVyaSI6dGhpcy5yZWZTdHJpbmc9czguZGVjb2RlKHQpfX1nZXQgc2ltcGxlU3RyaW5nKCl7cmV0dXJuIHRoaXMucmVmU3RyaW5nfWdldCBiYXNlNjRTdHJpbmcoKXtyZXR1cm4gczguZW5jb2RlKHRoaXMucmVmU3RyaW5nKX1nZXQgYmFzZTY0VXJpU3RyaW5nKCl7cmV0dXJuIHM4LmVuY29kZVVyaSh0aGlzLnJlZlN0cmluZyl9fSxzOD17ZW5jb2RlOmU9PktLLmVuY29kZShlKSxlbmNvZGVVcmk6ZT0+S0suZW5jb2RlKGUpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPS9nLCIiKSxkZWNvZGU6ZT0+S0suZGVjb2RlKGUpLGlzQmFzZTY0OmU9Pi9eKFtBLVphLXowLTkrL117NH0pKihbQS1aYS16MC05Ky9dezN9PXxbQS1aYS16MC05Ky9dezJ9PT0pPyQvLnRlc3QoZSl9fSk7dmFyIGdfPXt9O1JlKGdfLHtpc0Jhc2U2NDooKT0+Z1ByLGlzVXRmODooKT0+bVByfSk7dmFyIG1QcixnUHIsZmplPWYoKCk9PntuOCgpO2VlZSgpO21Qcj1lPT57bGV0IHI9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUpLGE9MDtmb3IoO2E8ci5sZW5ndGg7KXtpZihyW2FdPT09OXx8clthXT09PTEwfHxyW2FdPT09MTN8fDMyPD1yW2FdJiZyW2FdPD0xMjYpe2ErPTE7Y29udGludWV9aWYoMTk0PD1yW2FdJiZyW2FdPD0yMjMmJjEyODw9clthKzFdJiZyW2ErMV08PTE5MSl7YSs9Mjtjb250aW51ZX1pZihyW2FdPT09MjI0JiYxNjA8PXJbYSsxXSYmclthKzFdPD0xOTEmJjEyODw9clthKzJdJiZyW2ErMl08PTE5MXx8KDIyNTw9clthXSYmclthXTw9MjM2fHxyW2FdPT09MjM4fHxyW2FdPT09MjM5KSYmMTI4PD1yW2ErMV0mJnJbYSsxXTw9MTkxJiYxMjg8PXJbYSsyXSYmclthKzJdPD0xOTF8fHJbYV09PT0yMzcmJjEyODw9clthKzFdJiZyW2ErMV08PTE1OSYmMTI4PD1yW2ErMl0mJnJbYSsyXTw9MTkxKXthKz0zO2NvbnRpbnVlfWlmKHJbYV09PT0yNDAmJjE0NDw9clthKzFdJiZyW2ErMV08PTE5MSYmMTI4PD1yW2ErMl0mJnJbYSsyXTw9MTkxJiYxMjg8PXJbYSszXSYmclthKzNdPD0xOTF8fDI0MTw9clthXSYmclthXTw9MjQzJiYxMjg8PXJbYSsxXSYmclthKzFdPD0xOTEmJjEyODw9clthKzJdJiZyW2ErMl08PTE5MSYmMTI4PD1yW2ErM10mJnJbYSszXTw9MTkxfHxyW2FdPT09MjQ0JiYxMjg8PXJbYSsxXSYmclthKzFdPD0xNDMmJjEyODw9clthKzJdJiZyW2ErMl08PTE5MSYmMTI4PD1yW2ErM10mJnJbYSszXTw9MTkxKXthKz00O2NvbnRpbnVlfXJldHVybiExfXJldHVybiEwfSxnUHI9ZT0+e2xldCB0PS9bXkEtWjAtOStcLz1dL2kscj1lLmxlbmd0aDtpZighcnx8ciU0IT09MHx8dC50ZXN0KGUpKXJldHVybiExO2xldCBhPWUuaW5kZXhPZigiPSIpO3JldHVybiBhPT09LTF8fGE9PT1yLTF8fGE9PT1yLTImJmVbci0xXT09PSI9In19KTt2YXIgYl8saGplPWYoKCk9PntiXz1jbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLnByb3RvY29sPXRoaXMuX3Byb3RvY29sUmVnZXgodCksdGhpcy5wcm90b2NvbHx8KHQ9YGh0dHBzOi8vJHt0fWApLHRoaXMubm9kZVBhcnNlZFVybD1uZXcgVVJMKHQpLHRoaXMucG9ydD10aGlzLm5vZGVQYXJzZWRVcmwucG9ydDtsZXQgcj10aGlzLl9kb21haW5SZWdleCh0LnJlcGxhY2UodGhpcy5ub2RlUGFyc2VkVXJsLnBhdGhuYW1lLCIiKSk7dGhpcy5mdWxsTmFtZT0iIjtmb3IobGV0IGE9MTthPD01O2ErKylpZihyW2EtMV0pe2xldCBpPXJbYS0xXTt0aGlzWyJsZXZlbCIrYS50b1N0cmluZygpXT1pLHRoaXMuZnVsbE5hbWU9PT0iIj90aGlzLmZ1bGxOYW1lPWk6dGhpcy5mdWxsTmFtZT1pKyIuIit0aGlzLmZ1bGxOYW1lfWVsc2UgdGhpc1sibGV2ZWwiK2EudG9TdHJpbmcoKV09dm9pZCAwO3RoaXMuem9uZU5hbWU9dGhpcy5sZXZlbDIrIi4iK3RoaXMubGV2ZWwxLHRoaXMudG9wTGV2ZWw9dGhpcy5sZXZlbDEsdGhpcy5kb21haW5OYW1lPXRoaXMubGV2ZWwyLHRoaXMuc3ViRG9tYWluPXRoaXMubGV2ZWwzfV9kb21haW5SZWdleCh0KXtsZXQgYT0vKFthLXpBLVowLTlcLVxfXSopXC57MCwxfShbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9KFthLXpBLVowLTlcLVxfXSopXC57MCwxfShbYS16QS1aMC05XC1cX10qKVwuezAsMX0kLy5leGVjKHQpO3JldHVybiBhLnJldmVyc2UoKSxhLnBvcCgpLGEuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiBuIT09IiJ9KX1fcHJvdG9jb2xSZWdleCh0KXtsZXQgYT0vXihbYS16QS1aMC05XSopOlwvXC8vLmV4ZWModCk7aWYoYSlyZXR1cm4gYVsxXX1fcG9ydFJlZ2V4KHQpe2xldCBhPS9eKFthLXpBLVowLTldKik6XC9cLy8uZXhlYyh0KTtpZihhKXJldHVybiBhWzFdfX19KTt2YXIgdl8sYlByLG1qZSxnamU9ZigoKT0+e244KCk7dl89Y2xhc3N7Y29uc3RydWN0b3IodCxyKXtsZXQgYT1iUHIodCk7dGhpcy5ob3N0PWFbMV0sdGhpcy51c2VyPWFbMl0sdGhpcy5yZXBvPWFbM10sdGhpcy5hY2Nlc3NUb2tlbj1yLHRoaXMuc3NoVXJsPW1qZSh0aGlzLmhvc3QsdGhpcy51c2VyLHRoaXMucmVwbyx0aGlzLmFjY2Vzc1Rva2VuLCJzc2giKSx0aGlzLmh0dHBzVXJsPW1qZSh0aGlzLmhvc3QsdGhpcy51c2VyLHRoaXMucmVwbyx0aGlzLmFjY2Vzc1Rva2VuLCJodHRwcyIpfX0sYlByPWZ1bmN0aW9uKGUpe3JldHVybi8oW2EtekEtWjAtOVwtX1wuXSopKD86XC98XDopKFthLXpBLVowLTlcLV9cLl0qKSg/OlwvKShbYS16QS1aMC05XC1fXC5dKikoPzpcLmdpdCkvLmV4ZWMoZSl9LG1qZT1mdW5jdGlvbihlLHQscixhPSIiLGkpe2xldCBuO3N3aXRjaChhIT09IiImJihhPWErIkAiKSxpKXtjYXNlImh0dHBzIjpuPSJodHRwczovLyIrYStlKyIvIit0KyIvIityKyIuZ2l0IjticmVhaztjYXNlInNzaCI6bj0iZ2l0QCIrZSsiOiIrdCsiLyIrcisiLmdpdCI7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmVycm9yKCJMaW5rIFR5cGUgIitpKyIgbm90IGtub3duIik7YnJlYWt9cmV0dXJuIG59fSk7dmFyIERzPXt9O1JlKERzLHtCYXNlNjQ6KCk9Pm1fLERvbWFpbjooKT0+Yl8sR2l0UmVwbzooKT0+dl8sYmFzZTY0OigpPT5zOCxjcmVhdGU6KCk9PnBfLGRvY2tlcjooKT0+Zl8saW5kZW50OigpPT50Nixub3JtYWxpemU6KCk9PmhfLHR5cGU6KCk9PmdffSk7dmFyIFQ5PWYoKCk9PntsamUoKTtjamUoKTtkamUoKTtwamUoKTtmamUoKTtlZWUoKTtoamUoKTtnamUoKX0pO3ZhciBpVmU9amUoKCQ5LGQ4KT0+e3ZhciB2UHI9MjAwLGJqZT0iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIsdmplPTkwMDcxOTkyNTQ3NDA5OTEsdGVlPSJbb2JqZWN0IEFyZ3VtZW50c10iLHhQcj0iW29iamVjdCBBcnJheV0iLHhqZT0iW29iamVjdCBCb29sZWFuXSIseWplPSJbb2JqZWN0IERhdGVdIix5UHI9IltvYmplY3QgRXJyb3JdIixyZWU9IltvYmplY3QgRnVuY3Rpb25dIix3amU9IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIix4Xz0iW29iamVjdCBNYXBdIixNamU9IltvYmplY3QgTnVtYmVyXSIsYWVlPSJbb2JqZWN0IE9iamVjdF0iLGtqZT0iW29iamVjdCBQcm9taXNlXSIsU2plPSJbb2JqZWN0IFJlZ0V4cF0iLHlfPSJbb2JqZWN0IFNldF0iLHpqZT0iW29iamVjdCBTdHJpbmddIixDamU9IltvYmplY3QgU3ltYm9sXSIsaWVlPSJbb2JqZWN0IFdlYWtNYXBdIixUamU9IltvYmplY3QgQXJyYXlCdWZmZXJdIix3Xz0iW29iamVjdCBEYXRhVmlld10iLF9qZT0iW29iamVjdCBGbG9hdDMyQXJyYXldIixMamU9IltvYmplY3QgRmxvYXQ2NEFycmF5XSIsJGplPSJbb2JqZWN0IEludDhBcnJheV0iLERqZT0iW29iamVjdCBJbnQxNkFycmF5XSIsQWplPSJbb2JqZWN0IEludDMyQXJyYXldIixFamU9IltvYmplY3QgVWludDhBcnJheV0iLElqZT0iW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iLFBqZT0iW29iamVjdCBVaW50MTZBcnJheV0iLE5qZT0iW29iamVjdCBVaW50MzJBcnJheV0iLHdQcj0vW1xcXiQuKis/KClbXF17fXxdL2csTVByPS9cdyokLyxrUHI9L15cW29iamVjdCAuKz9Db25zdHJ1Y3RvclxdJC8sU1ByPS9eKD86MHxbMS05XVxkKikkLyxvYT17fTtvYVt0ZWVdPW9hW3hQcl09b2FbVGplXT1vYVt3X109b2FbeGplXT1vYVt5amVdPW9hW19qZV09b2FbTGplXT1vYVskamVdPW9hW0RqZV09b2FbQWplXT1vYVt4X109b2FbTWplXT1vYVthZWVdPW9hW1NqZV09b2FbeV9dPW9hW3pqZV09b2FbQ2plXT1vYVtFamVdPW9hW0lqZV09b2FbUGplXT1vYVtOamVdPSEwLG9hW3lQcl09b2FbcmVlXT1vYVtpZWVdPSExO3ZhciB6UHI9dHlwZW9mIGdsb2JhbD09Im9iamVjdCImJmdsb2JhbCYmZ2xvYmFsLk9iamVjdD09PU9iamVjdCYmZ2xvYmFsLENQcj10eXBlb2Ygc2VsZj09Im9iamVjdCImJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLG9jPXpQcnx8Q1ByfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpLEZqZT10eXBlb2YgJDk9PSJvYmplY3QiJiYkOSYmISQ5Lm5vZGVUeXBlJiYkOSxPamU9RmplJiZ0eXBlb2YgZDg9PSJvYmplY3QiJiZkOCYmIWQ4Lm5vZGVUeXBlJiZkOCxUUHI9T2plJiZPamUuZXhwb3J0cz09PUZqZTtmdW5jdGlvbiBfUHIoZSx0KXtyZXR1cm4gZS5zZXQodFswXSx0WzFdKSxlfWZ1bmN0aW9uIExQcihlLHQpe3JldHVybiBlLmFkZCh0KSxlfWZ1bmN0aW9uICRQcihlLHQpe2Zvcih2YXIgcj0tMSxhPWU/ZS5sZW5ndGg6MDsrK3I8YSYmdChlW3JdLHIsZSkhPT0hMTspO3JldHVybiBlfWZ1bmN0aW9uIERQcihlLHQpe2Zvcih2YXIgcj0tMSxhPXQubGVuZ3RoLGk9ZS5sZW5ndGg7KytyPGE7KWVbaStyXT10W3JdO3JldHVybiBlfWZ1bmN0aW9uIFJqZShlLHQscixhKXt2YXIgaT0tMSxuPWU/ZS5sZW5ndGg6MDtmb3IoYSYmbiYmKHI9ZVsrK2ldKTsrK2k8bjspcj10KHIsZVtpXSxpLGUpO3JldHVybiByfWZ1bmN0aW9uIEFQcihlLHQpe2Zvcih2YXIgcj0tMSxhPUFycmF5KGUpOysrcjxlOylhW3JdPXQocik7cmV0dXJuIGF9ZnVuY3Rpb24gRVByKGUsdCl7cmV0dXJuIGU/Llt0XX1mdW5jdGlvbiBCamUoZSl7dmFyIHQ9ITE7aWYoZSE9bnVsbCYmdHlwZW9mIGUudG9TdHJpbmchPSJmdW5jdGlvbiIpdHJ5e3Q9ISEoZSsiIil9Y2F0Y2h7fXJldHVybiB0fWZ1bmN0aW9uIEhqZShlKXt2YXIgdD0tMSxyPUFycmF5KGUuc2l6ZSk7cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihhLGkpe3JbKyt0XT1baSxhXX0pLHJ9ZnVuY3Rpb24gbmVlKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBlKHQocikpfX1mdW5jdGlvbiBxamUoZSl7dmFyIHQ9LTEscj1BcnJheShlLnNpemUpO3JldHVybiBlLmZvckVhY2goZnVuY3Rpb24oYSl7clsrK3RdPWF9KSxyfXZhciBJUHI9QXJyYXkucHJvdG90eXBlLFBQcj1GdW5jdGlvbi5wcm90b3R5cGUsTV89T2JqZWN0LnByb3RvdHlwZSxzZWU9b2NbIl9fY29yZS1qc19zaGFyZWRfXyJdLGpqZT0oZnVuY3Rpb24oKXt2YXIgZT0vW14uXSskLy5leGVjKHNlZSYmc2VlLmtleXMmJnNlZS5rZXlzLklFX1BST1RPfHwiIik7cmV0dXJuIGU/IlN5bWJvbChzcmMpXzEuIitlOiIifSkoKSxWamU9UFByLnRvU3RyaW5nLHY0PU1fLmhhc093blByb3BlcnR5LGtfPU1fLnRvU3RyaW5nLE5Qcj1SZWdFeHAoIl4iK1ZqZS5jYWxsKHY0KS5yZXBsYWNlKHdQciwiXFwkJiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKSxVamU9VFByP29jLkJ1ZmZlcjp2b2lkIDAsV2plPW9jLlN5bWJvbCxHamU9b2MuVWludDhBcnJheSxGUHI9bmVlKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLE9Qcj1PYmplY3QuY3JlYXRlLFJQcj1NXy5wcm9wZXJ0eUlzRW51bWVyYWJsZSxCUHI9SVByLnNwbGljZSxZamU9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxIUHI9VWplP1VqZS5pc0J1ZmZlcjp2b2lkIDAscVByPW5lZShPYmplY3Qua2V5cyxPYmplY3QpLG9lZT1jOChvYywiRGF0YVZpZXciKSxfOT1jOChvYywiTWFwIiksbGVlPWM4KG9jLCJQcm9taXNlIiksY2VlPWM4KG9jLCJTZXQiKSxkZWU9Yzgob2MsIldlYWtNYXAiKSxMOT1jOChPYmplY3QsImNyZWF0ZSIpLGpQcj1pNihvZWUpLFZQcj1pNihfOSksVVByPWk2KGxlZSksV1ByPWk2KGNlZSksR1ByPWk2KGRlZSksWmplPVdqZT9XamUucHJvdG90eXBlOnZvaWQgMCxYamU9WmplP1pqZS52YWx1ZU9mOnZvaWQgMDtmdW5jdGlvbiByNihlKXt2YXIgdD0tMSxyPWU/ZS5sZW5ndGg6MDtmb3IodGhpcy5jbGVhcigpOysrdDxyOyl7dmFyIGE9ZVt0XTt0aGlzLnNldChhWzBdLGFbMV0pfX1mdW5jdGlvbiBZUHIoKXt0aGlzLl9fZGF0YV9fPUw5P0w5KG51bGwpOnt9fWZ1bmN0aW9uIFpQcihlKXtyZXR1cm4gdGhpcy5oYXMoZSkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW2VdfWZ1bmN0aW9uIFhQcihlKXt2YXIgdD10aGlzLl9fZGF0YV9fO2lmKEw5KXt2YXIgcj10W2VdO3JldHVybiByPT09YmplP3ZvaWQgMDpyfXJldHVybiB2NC5jYWxsKHQsZSk/dFtlXTp2b2lkIDB9ZnVuY3Rpb24gUVByKGUpe3ZhciB0PXRoaXMuX19kYXRhX187cmV0dXJuIEw5P3RbZV0hPT12b2lkIDA6djQuY2FsbCh0LGUpfWZ1bmN0aW9uIEpQcihlLHQpe3ZhciByPXRoaXMuX19kYXRhX187cmV0dXJuIHJbZV09TDkmJnQ9PT12b2lkIDA/YmplOnQsdGhpc31yNi5wcm90b3R5cGUuY2xlYXI9WVByLHI2LnByb3RvdHlwZS5kZWxldGU9WlByLHI2LnByb3RvdHlwZS5nZXQ9WFByLHI2LnByb3RvdHlwZS5oYXM9UVByLHI2LnByb3RvdHlwZS5zZXQ9SlByO2Z1bmN0aW9uIGxjKGUpe3ZhciB0PS0xLHI9ZT9lLmxlbmd0aDowO2Zvcih0aGlzLmNsZWFyKCk7Kyt0PHI7KXt2YXIgYT1lW3RdO3RoaXMuc2V0KGFbMF0sYVsxXSl9fWZ1bmN0aW9uIEtQcigpe3RoaXMuX19kYXRhX189W119ZnVuY3Rpb24gZU5yKGUpe3ZhciB0PXRoaXMuX19kYXRhX18scj1TXyh0LGUpO2lmKHI8MClyZXR1cm4hMTt2YXIgYT10Lmxlbmd0aC0xO3JldHVybiByPT1hP3QucG9wKCk6QlByLmNhbGwodCxyLDEpLCEwfWZ1bmN0aW9uIHROcihlKXt2YXIgdD10aGlzLl9fZGF0YV9fLHI9U18odCxlKTtyZXR1cm4gcjwwP3ZvaWQgMDp0W3JdWzFdfWZ1bmN0aW9uIHJOcihlKXtyZXR1cm4gU18odGhpcy5fX2RhdGFfXyxlKT4tMX1mdW5jdGlvbiBhTnIoZSx0KXt2YXIgcj10aGlzLl9fZGF0YV9fLGE9U18ocixlKTtyZXR1cm4gYTwwP3IucHVzaChbZSx0XSk6clthXVsxXT10LHRoaXN9bGMucHJvdG90eXBlLmNsZWFyPUtQcixsYy5wcm90b3R5cGUuZGVsZXRlPWVOcixsYy5wcm90b3R5cGUuZ2V0PXROcixsYy5wcm90b3R5cGUuaGFzPXJOcixsYy5wcm90b3R5cGUuc2V0PWFOcjtmdW5jdGlvbiBvOChlKXt2YXIgdD0tMSxyPWU/ZS5sZW5ndGg6MDtmb3IodGhpcy5jbGVhcigpOysrdDxyOyl7dmFyIGE9ZVt0XTt0aGlzLnNldChhWzBdLGFbMV0pfX1mdW5jdGlvbiBpTnIoKXt0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyByNixtYXA6bmV3KF85fHxsYyksc3RyaW5nOm5ldyByNn19ZnVuY3Rpb24gbk5yKGUpe3JldHVybiB6Xyh0aGlzLGUpLmRlbGV0ZShlKX1mdW5jdGlvbiBzTnIoZSl7cmV0dXJuIHpfKHRoaXMsZSkuZ2V0KGUpfWZ1bmN0aW9uIG9OcihlKXtyZXR1cm4gel8odGhpcyxlKS5oYXMoZSl9ZnVuY3Rpb24gbE5yKGUsdCl7cmV0dXJuIHpfKHRoaXMsZSkuc2V0KGUsdCksdGhpc31vOC5wcm90b3R5cGUuY2xlYXI9aU5yLG84LnByb3RvdHlwZS5kZWxldGU9bk5yLG84LnByb3RvdHlwZS5nZXQ9c05yLG84LnByb3RvdHlwZS5oYXM9b05yLG84LnByb3RvdHlwZS5zZXQ9bE5yO2Z1bmN0aW9uIGw4KGUpe3RoaXMuX19kYXRhX189bmV3IGxjKGUpfWZ1bmN0aW9uIGNOcigpe3RoaXMuX19kYXRhX189bmV3IGxjfWZ1bmN0aW9uIGROcihlKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5kZWxldGUoZSl9ZnVuY3Rpb24gdU5yKGUpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldChlKX1mdW5jdGlvbiBwTnIoZSl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKGUpfWZ1bmN0aW9uIGZOcihlLHQpe3ZhciByPXRoaXMuX19kYXRhX187aWYociBpbnN0YW5jZW9mIGxjKXt2YXIgYT1yLl9fZGF0YV9fO2lmKCFfOXx8YS5sZW5ndGg8dlByLTEpcmV0dXJuIGEucHVzaChbZSx0XSksdGhpcztyPXRoaXMuX19kYXRhX189bmV3IG84KGEpfXJldHVybiByLnNldChlLHQpLHRoaXN9bDgucHJvdG90eXBlLmNsZWFyPWNOcixsOC5wcm90b3R5cGUuZGVsZXRlPWROcixsOC5wcm90b3R5cGUuZ2V0PXVOcixsOC5wcm90b3R5cGUuaGFzPXBOcixsOC5wcm90b3R5cGUuc2V0PWZOcjtmdW5jdGlvbiBoTnIoZSx0KXt2YXIgcj1mZWUoZSl8fE9OcihlKT9BUHIoZS5sZW5ndGgsU3RyaW5nKTpbXSxhPXIubGVuZ3RoLGk9ISFhO2Zvcih2YXIgbiBpbiBlKSh0fHx2NC5jYWxsKGUsbikpJiYhKGkmJihuPT0ibGVuZ3RoInx8SU5yKG4sYSkpKSYmci5wdXNoKG4pO3JldHVybiByfWZ1bmN0aW9uIFFqZShlLHQscil7dmFyIGE9ZVt0XTsoISh2NC5jYWxsKGUsdCkmJnRWZShhLHIpKXx8cj09PXZvaWQgMCYmISh0IGluIGUpKSYmKGVbdF09cil9ZnVuY3Rpb24gU18oZSx0KXtmb3IodmFyIHI9ZS5sZW5ndGg7ci0tOylpZih0VmUoZVtyXVswXSx0KSlyZXR1cm4gcjtyZXR1cm4tMX1mdW5jdGlvbiBtTnIoZSx0KXtyZXR1cm4gZSYmSmplKHQsaGVlKHQpLGUpfWZ1bmN0aW9uIHVlZShlLHQscixhLGksbixzKXt2YXIgbztpZihhJiYobz1uP2EoZSxpLG4scyk6YShlKSksbyE9PXZvaWQgMClyZXR1cm4gbztpZighQ18oZSkpcmV0dXJuIGU7dmFyIGM9ZmVlKGUpO2lmKGMpe2lmKG89RE5yKGUpLCF0KXJldHVybiBfTnIoZSxvKX1lbHNle3ZhciBsPWE2KGUpLHU9bD09cmVlfHxsPT13amU7aWYoQk5yKGUpKXJldHVybiB3TnIoZSx0KTtpZihsPT1hZWV8fGw9PXRlZXx8dSYmIW4pe2lmKEJqZShlKSlyZXR1cm4gbj9lOnt9O2lmKG89QU5yKHU/e306ZSksIXQpcmV0dXJuIExOcihlLG1OcihvLGUpKX1lbHNle2lmKCFvYVtsXSlyZXR1cm4gbj9lOnt9O289RU5yKGUsbCx1ZWUsdCl9fXN8fChzPW5ldyBsOCk7dmFyIGQ9cy5nZXQoZSk7aWYoZClyZXR1cm4gZDtpZihzLnNldChlLG8pLCFjKXZhciBoPXI/JE5yKGUpOmhlZShlKTtyZXR1cm4gJFByKGh8fGUsZnVuY3Rpb24obSx2KXtoJiYodj1tLG09ZVt2XSksUWplKG8sdix1ZWUobSx0LHIsYSx2LGUscykpfSksb31mdW5jdGlvbiBnTnIoZSl7cmV0dXJuIENfKGUpP09QcihlKTp7fX1mdW5jdGlvbiBiTnIoZSx0LHIpe3ZhciBhPXQoZSk7cmV0dXJuIGZlZShlKT9hOkRQcihhLHIoZSkpfWZ1bmN0aW9uIHZOcihlKXtyZXR1cm4ga18uY2FsbChlKX1mdW5jdGlvbiB4TnIoZSl7aWYoIUNfKGUpfHxOTnIoZSkpcmV0dXJuITE7dmFyIHQ9YVZlKGUpfHxCamUoZSk/TlByOmtQcjtyZXR1cm4gdC50ZXN0KGk2KGUpKX1mdW5jdGlvbiB5TnIoZSl7aWYoIWVWZShlKSlyZXR1cm4gcVByKGUpO3ZhciB0PVtdO2Zvcih2YXIgciBpbiBPYmplY3QoZSkpdjQuY2FsbChlLHIpJiZyIT0iY29uc3RydWN0b3IiJiZ0LnB1c2gocik7cmV0dXJuIHR9ZnVuY3Rpb24gd05yKGUsdCl7aWYodClyZXR1cm4gZS5zbGljZSgpO3ZhciByPW5ldyBlLmNvbnN0cnVjdG9yKGUubGVuZ3RoKTtyZXR1cm4gZS5jb3B5KHIpLHJ9ZnVuY3Rpb24gcGVlKGUpe3ZhciB0PW5ldyBlLmNvbnN0cnVjdG9yKGUuYnl0ZUxlbmd0aCk7cmV0dXJuIG5ldyBHamUodCkuc2V0KG5ldyBHamUoZSkpLHR9ZnVuY3Rpb24gTU5yKGUsdCl7dmFyIHI9dD9wZWUoZS5idWZmZXIpOmUuYnVmZmVyO3JldHVybiBuZXcgZS5jb25zdHJ1Y3RvcihyLGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpfWZ1bmN0aW9uIGtOcihlLHQscil7dmFyIGE9dD9yKEhqZShlKSwhMCk6SGplKGUpO3JldHVybiBSamUoYSxfUHIsbmV3IGUuY29uc3RydWN0b3IpfWZ1bmN0aW9uIFNOcihlKXt2YXIgdD1uZXcgZS5jb25zdHJ1Y3RvcihlLnNvdXJjZSxNUHIuZXhlYyhlKSk7cmV0dXJuIHQubGFzdEluZGV4PWUubGFzdEluZGV4LHR9ZnVuY3Rpb24gek5yKGUsdCxyKXt2YXIgYT10P3IocWplKGUpLCEwKTpxamUoZSk7cmV0dXJuIFJqZShhLExQcixuZXcgZS5jb25zdHJ1Y3Rvcil9ZnVuY3Rpb24gQ05yKGUpe3JldHVybiBYamU/T2JqZWN0KFhqZS5jYWxsKGUpKTp7fX1mdW5jdGlvbiBUTnIoZSx0KXt2YXIgcj10P3BlZShlLmJ1ZmZlcik6ZS5idWZmZXI7cmV0dXJuIG5ldyBlLmNvbnN0cnVjdG9yKHIsZS5ieXRlT2Zmc2V0LGUubGVuZ3RoKX1mdW5jdGlvbiBfTnIoZSx0KXt2YXIgcj0tMSxhPWUubGVuZ3RoO2Zvcih0fHwodD1BcnJheShhKSk7KytyPGE7KXRbcl09ZVtyXTtyZXR1cm4gdH1mdW5jdGlvbiBKamUoZSx0LHIsYSl7cnx8KHI9e30pO2Zvcih2YXIgaT0tMSxuPXQubGVuZ3RoOysraTxuOyl7dmFyIHM9dFtpXSxvPWE/YShyW3NdLGVbc10scyxyLGUpOnZvaWQgMDtRamUocixzLG89PT12b2lkIDA/ZVtzXTpvKX1yZXR1cm4gcn1mdW5jdGlvbiBMTnIoZSx0KXtyZXR1cm4gSmplKGUsS2plKGUpLHQpfWZ1bmN0aW9uICROcihlKXtyZXR1cm4gYk5yKGUsaGVlLEtqZSl9ZnVuY3Rpb24gel8oZSx0KXt2YXIgcj1lLl9fZGF0YV9fO3JldHVybiBQTnIodCk/clt0eXBlb2YgdD09InN0cmluZyI/InN0cmluZyI6Imhhc2giXTpyLm1hcH1mdW5jdGlvbiBjOChlLHQpe3ZhciByPUVQcihlLHQpO3JldHVybiB4TnIocik/cjp2b2lkIDB9dmFyIEtqZT1ZamU/bmVlKFlqZSxPYmplY3QpOmpOcixhNj12TnI7KG9lZSYmYTYobmV3IG9lZShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9d198fF85JiZhNihuZXcgXzkpIT14X3x8bGVlJiZhNihsZWUucmVzb2x2ZSgpKSE9a2plfHxjZWUmJmE2KG5ldyBjZWUpIT15X3x8ZGVlJiZhNihuZXcgZGVlKSE9aWVlKSYmKGE2PWZ1bmN0aW9uKGUpe3ZhciB0PWtfLmNhbGwoZSkscj10PT1hZWU/ZS5jb25zdHJ1Y3Rvcjp2b2lkIDAsYT1yP2k2KHIpOnZvaWQgMDtpZihhKXN3aXRjaChhKXtjYXNlIGpQcjpyZXR1cm4gd187Y2FzZSBWUHI6cmV0dXJuIHhfO2Nhc2UgVVByOnJldHVybiBramU7Y2FzZSBXUHI6cmV0dXJuIHlfO2Nhc2UgR1ByOnJldHVybiBpZWV9cmV0dXJuIHR9KTtmdW5jdGlvbiBETnIoZSl7dmFyIHQ9ZS5sZW5ndGgscj1lLmNvbnN0cnVjdG9yKHQpO3JldHVybiB0JiZ0eXBlb2YgZVswXT09InN0cmluZyImJnY0LmNhbGwoZSwiaW5kZXgiKSYmKHIuaW5kZXg9ZS5pbmRleCxyLmlucHV0PWUuaW5wdXQpLHJ9ZnVuY3Rpb24gQU5yKGUpe3JldHVybiB0eXBlb2YgZS5jb25zdHJ1Y3Rvcj09ImZ1bmN0aW9uIiYmIWVWZShlKT9nTnIoRlByKGUpKTp7fX1mdW5jdGlvbiBFTnIoZSx0LHIsYSl7dmFyIGk9ZS5jb25zdHJ1Y3Rvcjtzd2l0Y2godCl7Y2FzZSBUamU6cmV0dXJuIHBlZShlKTtjYXNlIHhqZTpjYXNlIHlqZTpyZXR1cm4gbmV3IGkoK2UpO2Nhc2Ugd186cmV0dXJuIE1OcihlLGEpO2Nhc2UgX2plOmNhc2UgTGplOmNhc2UgJGplOmNhc2UgRGplOmNhc2UgQWplOmNhc2UgRWplOmNhc2UgSWplOmNhc2UgUGplOmNhc2UgTmplOnJldHVybiBUTnIoZSxhKTtjYXNlIHhfOnJldHVybiBrTnIoZSxhLHIpO2Nhc2UgTWplOmNhc2UgemplOnJldHVybiBuZXcgaShlKTtjYXNlIFNqZTpyZXR1cm4gU05yKGUpO2Nhc2UgeV86cmV0dXJuIHpOcihlLGEscik7Y2FzZSBDamU6cmV0dXJuIENOcihlKX19ZnVuY3Rpb24gSU5yKGUsdCl7cmV0dXJuIHQ9dD8/dmplLCEhdCYmKHR5cGVvZiBlPT0ibnVtYmVyInx8U1ByLnRlc3QoZSkpJiZlPi0xJiZlJTE9PTAmJmU8dH1mdW5jdGlvbiBQTnIoZSl7dmFyIHQ9dHlwZW9mIGU7cmV0dXJuIHQ9PSJzdHJpbmcifHx0PT0ibnVtYmVyInx8dD09InN5bWJvbCJ8fHQ9PSJib29sZWFuIj9lIT09Il9fcHJvdG9fXyI6ZT09PW51bGx9ZnVuY3Rpb24gTk5yKGUpe3JldHVybiEhamplJiZqamUgaW4gZX1mdW5jdGlvbiBlVmUoZSl7dmFyIHQ9ZSYmZS5jb25zdHJ1Y3RvcixyPXR5cGVvZiB0PT0iZnVuY3Rpb24iJiZ0LnByb3RvdHlwZXx8TV87cmV0dXJuIGU9PT1yfWZ1bmN0aW9uIGk2KGUpe2lmKGUhPW51bGwpe3RyeXtyZXR1cm4gVmplLmNhbGwoZSl9Y2F0Y2h7fXRyeXtyZXR1cm4gZSsiIn1jYXRjaHt9fXJldHVybiIifWZ1bmN0aW9uIEZOcihlKXtyZXR1cm4gdWVlKGUsITAsITApfWZ1bmN0aW9uIHRWZShlLHQpe3JldHVybiBlPT09dHx8ZSE9PWUmJnQhPT10fWZ1bmN0aW9uIE9OcihlKXtyZXR1cm4gUk5yKGUpJiZ2NC5jYWxsKGUsImNhbGxlZSIpJiYoIVJQci5jYWxsKGUsImNhbGxlZSIpfHxrXy5jYWxsKGUpPT10ZWUpfXZhciBmZWU9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiByVmUoZSl7cmV0dXJuIGUhPW51bGwmJkhOcihlLmxlbmd0aCkmJiFhVmUoZSl9ZnVuY3Rpb24gUk5yKGUpe3JldHVybiBxTnIoZSkmJnJWZShlKX12YXIgQk5yPUhQcnx8Vk5yO2Z1bmN0aW9uIGFWZShlKXt2YXIgdD1DXyhlKT9rXy5jYWxsKGUpOiIiO3JldHVybiB0PT1yZWV8fHQ9PXdqZX1mdW5jdGlvbiBITnIoZSl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIiYmZT4tMSYmZSUxPT0wJiZlPD12amV9ZnVuY3Rpb24gQ18oZSl7dmFyIHQ9dHlwZW9mIGU7cmV0dXJuISFlJiYodD09Im9iamVjdCJ8fHQ9PSJmdW5jdGlvbiIpfWZ1bmN0aW9uIHFOcihlKXtyZXR1cm4hIWUmJnR5cGVvZiBlPT0ib2JqZWN0In1mdW5jdGlvbiBoZWUoZSl7cmV0dXJuIHJWZShlKT9oTnIoZSk6eU5yKGUpfWZ1bmN0aW9uIGpOcigpe3JldHVybltdfWZ1bmN0aW9uIFZOcigpe3JldHVybiExfWQ4LmV4cG9ydHM9Rk5yfSk7dmFyIHNWZT1qZSgocElpLG5WZSk9PnsidXNlIHN0cmljdCI7blZlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHwodD17fSksdHlwZW9mIHQ9PSJmdW5jdGlvbiImJih0PXtjbXA6dH0pO3ZhciByPXR5cGVvZiB0LmN5Y2xlcz09ImJvb2xlYW4iP3QuY3ljbGVzOiExLGE9dC5jbXAmJihmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24ocyl7cmV0dXJuIGZ1bmN0aW9uKG8sYyl7dmFyIGw9e2tleTpvLHZhbHVlOnNbb119LHU9e2tleTpjLHZhbHVlOnNbY119O3JldHVybiBuKGwsdSl9fX0pKHQuY21wKSxpPVtdO3JldHVybihmdW5jdGlvbiBuKHMpe2lmKHMmJnMudG9KU09OJiZ0eXBlb2Ygcy50b0pTT049PSJmdW5jdGlvbiImJihzPXMudG9KU09OKCkpLHMhPT12b2lkIDApe2lmKHR5cGVvZiBzPT0ibnVtYmVyIilyZXR1cm4gaXNGaW5pdGUocyk/IiIrczoibnVsbCI7aWYodHlwZW9mIHMhPSJvYmplY3QiKXJldHVybiBKU09OLnN0cmluZ2lmeShzKTt2YXIgbyxjO2lmKEFycmF5LmlzQXJyYXkocykpe2ZvcihjPSJbIixvPTA7bzxzLmxlbmd0aDtvKyspbyYmKGMrPSIsIiksYys9bihzW29dKXx8Im51bGwiO3JldHVybiBjKyJdIn1pZihzPT09bnVsbClyZXR1cm4ibnVsbCI7aWYoaS5pbmRleE9mKHMpIT09LTEpe2lmKHIpcmV0dXJuIEpTT04uc3RyaW5naWZ5KCJfX2N5Y2xlX18iKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OIil9dmFyIGw9aS5wdXNoKHMpLTEsdT1PYmplY3Qua2V5cyhzKS5zb3J0KGEmJmEocykpO2ZvcihjPSIiLG89MDtvPHUubGVuZ3RoO28rKyl7dmFyIGQ9dVtvXSxoPW4oc1tkXSk7aCYmKGMmJihjKz0iLCIpLGMrPUpTT04uc3RyaW5naWZ5KGQpKyI6IitoKX1yZXR1cm4gaS5zcGxpY2UobCwxKSwieyIrYysifSJ9fSkoZSl9fSk7dmFyIFRfLG9WZSxfXyxtZWU9ZigoKT0+e2k4KCk7VDkoKTtUXz1zcihpVmUoKSwxKSxvVmU9c3Ioc1ZlKCksMSksX189b1ZlLmRlZmF1bHR9KTtmdW5jdGlvbiBXTnIoZSl7cmV0dXJuIHR5cGVvZiBCdWZmZXI8InUiP0J1ZmZlci5mcm9tKGUpLnRvU3RyaW5nKCJiYXNlNjQiKTpidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUoLi4uZSkpfWZ1bmN0aW9uIEdOcihlKXtpZih0eXBlb2YgQnVmZmVyPCJ1Iil7bGV0IHQ9QnVmZmVyLmZyb20oZSwiYmFzZTY0Iik7cmV0dXJuIG5ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpfXJldHVybiBuZXcgVWludDhBcnJheShBcnJheS5mcm9tKGF0b2IoZSkpLm1hcCh0PT50LmNoYXJDb2RlQXQoMCkpKX1mdW5jdGlvbiBiZWUoZSx0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSxMXyx0KX1mdW5jdGlvbiB2ZWUoZSl7cmV0dXJuIEpTT04ucGFyc2UoZSxsVmUpfWZ1bmN0aW9uIFlOcihlKXtyZXR1cm4gZFZlKGUpJiZlLnR5cGU9PT0iRW5jb2RlZEJ1ZmZlciImJmdlZShlLmRhdGEpfWZ1bmN0aW9uIFpOcihlKXtyZXR1cm4gZFZlKGUpJiZlLnR5cGU9PT0iQnVmZmVyIiYmKGNWZShlLmRhdGEpfHxnZWUoZS5kYXRhKSl8fGUgaW5zdGFuY2VvZiBVaW50OEFycmF5fWZ1bmN0aW9uIGNWZShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKX1mdW5jdGlvbiBnZWUoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIn1mdW5jdGlvbiBkVmUoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZSE9PW51bGx9dmFyIExfLGxWZSx1VmU9ZigoKT0+e21lZSgpO0xfPShlLHQpPT57aWYoWk5yKHQpKXtsZXQgcjtpZigiZGF0YSJpbiB0JiZjVmUodC5kYXRhKSlyPW5ldyBVaW50OEFycmF5KHQuZGF0YSk7ZWxzZSBpZih0IGluc3RhbmNlb2YgVWludDhBcnJheSlyPXQ7ZWxzZSByZXR1cm4gdDtyZXR1cm57dHlwZToiRW5jb2RlZEJ1ZmZlciIsZGF0YToiYmFzZTY0OiIrV05yKHIpfX1yZXR1cm4gdH0sbFZlPShlLHQpPT57aWYoWU5yKHQpJiZnZWUodC5kYXRhKSYmdC5kYXRhLnN0YXJ0c1dpdGgoImJhc2U2NDoiKSl7bGV0IHI9dC5kYXRhLnNsaWNlKDcpO3JldHVybiBHTnIocil9cmV0dXJuIHR9fSk7dmFyIFhyPXt9O1JlKFhyLHtTbWFydGpzb246KCk9PnllZSxkZWVwRXF1YWxKc29uTFN0cmluZ3M6KCk9PmFGcixkZWVwRXF1YWxPYmplY3RzOigpPT5wVmUsZm9sZERlYzooKT0+ckZyLHBhcnNlOigpPT4kXyxwYXJzZUJhc2U2NDooKT0+dEZyLHBhcnNlSnNvbkw6KCk9PnhlZSxzdGFibGVPbmVXYXlTdHJpbmdpZnk6KCk9PkpOcixzdHJpbmdpZnk6KCk9Pm42LHN0cmluZ2lmeUJhc2U2NDooKT0+ZUZyLHN0cmluZ2lmeUpzb25MOigpPT5RTnIsc3RyaW5naWZ5UHJldHR5OigpPT5LTnJ9KTt2YXIgJF8seGVlLFFOcixKTnIsbjYsS05yLGVGcix0RnIseWVlLHJGcixwVmUsYUZyLHM2PWYoKCk9PnttZWUoKTt1VmUoKTskXz12ZWUseGVlPWU9PmUuc3BsaXQoYApgKS5yZWR1Y2UoKGEsaSk9PntsZXQgbj1pLnRyaW0oKTtyZXR1cm4gbi5sZW5ndGg+MCYmYS5wdXNoKCRfKG4pKSxhfSxbXSksUU5yPWU9PmUubWFwKHQ9Pm42KHQpKS5qb2luKGAKYCksSk5yPShlLHQscj17fSk9PntsZXQgYT1uZXcgV2Vha1NldCxpPW89PntpZihvPT09bnVsbHx8dHlwZW9mIG8hPSJvYmplY3QiKXJldHVybiBvO2xldCBjPUxfKCIiLG8pO2lmKGMmJmMudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGMuZGF0YT09InN0cmluZyIpcmV0dXJuIGM7aWYoYS5oYXMobykpcmV0dXJuIl9fY3ljbGVfXyI7aWYoYS5hZGQobyksQXJyYXkuaXNBcnJheShvKSlyZXR1cm4gby5tYXAodT0+aSh1KSk7bGV0IGw9e307Zm9yKGxldCB1IG9mIE9iamVjdC5rZXlzKG8pKXRyeXtsW3VdPWkob1t1XSl9Y2F0Y2h7bFt1XT0iX191bnNlcmlhbGl6YWJsZV9fIn1yZXR1cm4gbH0sbj1pKGUpLHM9ey4uLnIsY3ljbGVzOiEwfTtpZih0JiYhcy5jbXApe2xldCBvPW5ldyBNYXA7dC5mb3JFYWNoKChjLGwpPT5vLnNldChjLGwpKSxzLmNtcD0oYyxsKT0+e2xldCB1PW8uaGFzKGMua2V5KT9vLmdldChjLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGQ9by5oYXMobC5rZXkpP28uZ2V0KGwua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIHUhPT1kP3UtZDpjLmtleTxsLmtleT8tMTpjLmtleT5sLmtleT8xOjB9fXJldHVybiBfXyhuLHMpfSxuNj0oZSx0LHI9e30pPT57bGV0IGE9YmVlKGUpO2U9SlNPTi5wYXJzZShhKTtsZXQgaT17Li4ucn07aWYodCYmIWkuY21wKXtsZXQgcz1uZXcgTWFwO3QuZm9yRWFjaCgobyxjKT0+cy5zZXQobyxjKSksaS5jbXA9KG8sYyk9PntsZXQgbD1zLmhhcyhvLmtleSk/cy5nZXQoby5rZXkpOk51bWJlci5QT1NJVElWRV9JTkZJTklUWSx1PXMuaGFzKGMua2V5KT9zLmdldChjLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO3JldHVybiBsIT09dT9sLXU6by5rZXk8Yy5rZXk/LTE6by5rZXk+Yy5rZXk/MTowfX1yZXR1cm4gX18oZSxpKX0sS05yPWU9PntsZXQgdD1uNihlKSxyPUpTT04ucGFyc2UodCk7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHIsbnVsbCwyKX0sZUZyPSguLi5lKT0+e2xldCB0PW42KC4uLmUpO3JldHVybiBEcy5iYXNlNjQuZW5jb2RlVXJpKHQpfSx0RnI9ZT0+e2xldCB0PURzLmJhc2U2NCxhPSh0LmRlY29kZVVyaXx8dC5kZWNvZGUpKGUpO3JldHVybiAkXyhhKX0seWVlPWNsYXNzIGV7c3RhdGljIGVuZm9sZEZyb21PYmplY3QodCl7bGV0IHI9bmV3IHRoaXMsYT1yLnNhdmVhYmxlUHJvcGVydGllc3x8W107Zm9yKGxldCBpIGluIHQpYS5pbmRleE9mKGkpIT09LTEmJihyW2ldPXRbaV0pO3JldHVybiByfXN0YXRpYyBlbmZvbGRGcm9tSnNvbih0KXtsZXQgcj0kXyh0KTtyZXR1cm4gdGhpcy5lbmZvbGRGcm9tT2JqZWN0KHIpfWZvbGRUb09iamVjdCgpe2xldCB0PW5ldyBTZXQ7cmV0dXJuIHQuYWRkKHRoaXMpLHRoaXMuZm9sZFRvT2JqZWN0SW50ZXJuYWwodCl9Zm9sZFRvT2JqZWN0SW50ZXJuYWwodCl7bGV0IHI9e30sYT1uPT57aWYobiBpbnN0YW5jZW9mIGUpe2lmKHQuaGFzKG4pKXRocm93IG5ldyBFcnJvcigiY3ljbGUgZGV0ZWN0ZWQiKTtyZXR1cm4gdC5hZGQobiksbi5mb2xkVG9PYmplY3RJbnRlcm5hbCh0KX1yZXR1cm4gQXJyYXkuaXNBcnJheShuKT9uLm1hcChzPT5hKHMpKTpUXy5kZWZhdWx0KG4pfSxpPXRoaXMuc2F2ZWFibGVQcm9wZXJ0aWVzfHxbXTtmb3IobGV0IG4gb2YgaSl7bGV0IHM9dGhpc1tuXTtyW25dPWEocyl9cmV0dXJuIHJ9Zm9sZFRvSnNvbigpe2xldCB0PXRoaXMuZm9sZFRvT2JqZWN0KCk7cmV0dXJuIG42KHQpfX0sckZyPSgpPT4oZSx0KT0+e2Uuc2F2ZWFibGVQcm9wZXJ0aWVzfHwoZS5zYXZlYWJsZVByb3BlcnRpZXM9W10pLGUuc2F2ZWFibGVQcm9wZXJ0aWVzLnB1c2godCl9LHBWZT0oZSx0KT0+e2xldCByPW42KGUpLGE9bjYodCk7cmV0dXJuIHI9PT1hfSxhRnI9KGUsdCk9PntsZXQgcj14ZWUoZSksYT14ZWUodCk7cmV0dXJuIHBWZShyLGEpfX0pO3ZhciBBOT17fTtSZShBOSx7ZGVsZXRlREI6KCk9PndWZSxvcGVuREI6KCk9PnlWZSx1bndyYXA6KCk9PkQ5LHdyYXA6KCk9PlUyfSk7ZnVuY3Rpb24gaUZyKCl7cmV0dXJuIGZWZXx8KGZWZT1bSURCRGF0YWJhc2UsSURCT2JqZWN0U3RvcmUsSURCSW5kZXgsSURCQ3Vyc29yLElEQlRyYW5zYWN0aW9uXSl9ZnVuY3Rpb24gbkZyKCl7cmV0dXJuIGhWZXx8KGhWZT1bSURCQ3Vyc29yLnByb3RvdHlwZS5hZHZhbmNlLElEQkN1cnNvci5wcm90b3R5cGUuY29udGludWUsSURCQ3Vyc29yLnByb3RvdHlwZS5jb250aW51ZVByaW1hcnlLZXldKX1mdW5jdGlvbiBzRnIoZSl7bGV0IHQ9bmV3IFByb21pc2UoKHIsYSk9PntsZXQgaT0oKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsbiksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIscyl9LG49KCk9PntyKFUyKGUucmVzdWx0KSksaSgpfSxzPSgpPT57YShlLmVycm9yKSxpKCl9O2UuYWRkRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsbiksZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIscyl9KTtyZXR1cm4gRF8uc2V0KHQsZSksdH1mdW5jdGlvbiBvRnIoZSl7aWYoTWVlLmhhcyhlKSlyZXR1cm47bGV0IHQ9bmV3IFByb21pc2UoKHIsYSk9PntsZXQgaT0oKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tcGxldGUiLG4pLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHMpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHMpfSxuPSgpPT57cigpLGkoKX0scz0oKT0+e2EoZS5lcnJvcnx8bmV3IERPTUV4Y2VwdGlvbigiQWJvcnRFcnJvciIsIkFib3J0RXJyb3IiKSksaSgpfTtlLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIixuKSxlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixzKSxlLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixzKX0pO01lZS5zZXQoZSx0KX1mdW5jdGlvbiBtVmUoZSl7U2VlPWUoU2VlKX1mdW5jdGlvbiBsRnIoZSl7cmV0dXJuIG5GcigpLmluY2x1ZGVzKGUpP2Z1bmN0aW9uKC4uLnQpe3JldHVybiBlLmFwcGx5KEQ5KHRoaXMpLHQpLFUyKHRoaXMucmVxdWVzdCl9OmZ1bmN0aW9uKC4uLnQpe3JldHVybiBVMihlLmFwcGx5KEQ5KHRoaXMpLHQpKX19ZnVuY3Rpb24gY0ZyKGUpe3JldHVybiB0eXBlb2YgZT09ImZ1bmN0aW9uIj9sRnIoZSk6KGUgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiYmb0ZyKGUpLHdlZShlLGlGcigpKT9uZXcgUHJveHkoZSxTZWUpOmUpfWZ1bmN0aW9uIFUyKGUpe2lmKGUgaW5zdGFuY2VvZiBJREJSZXF1ZXN0KXJldHVybiBzRnIoZSk7aWYoa2VlLmhhcyhlKSlyZXR1cm4ga2VlLmdldChlKTtsZXQgdD1jRnIoZSk7cmV0dXJuIHQhPT1lJiYoa2VlLnNldChlLHQpLERfLnNldCh0LGUpKSx0fWZ1bmN0aW9uIHlWZShlLHQse2Jsb2NrZWQ6cix1cGdyYWRlOmEsYmxvY2tpbmc6aSx0ZXJtaW5hdGVkOm59PXt9KXtsZXQgcz1pbmRleGVkREIub3BlbihlLHQpLG89VTIocyk7cmV0dXJuIGEmJnMuYWRkRXZlbnRMaXN0ZW5lcigidXBncmFkZW5lZWRlZCIsYz0+e2EoVTIocy5yZXN1bHQpLGMub2xkVmVyc2lvbixjLm5ld1ZlcnNpb24sVTIocy50cmFuc2FjdGlvbiksYyl9KSxyJiZzLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLGM9PnIoYy5vbGRWZXJzaW9uLGMubmV3VmVyc2lvbixjKSksby50aGVuKGM9PntuJiZjLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwoKT0+bigpKSxpJiZjLmFkZEV2ZW50TGlzdGVuZXIoInZlcnNpb25jaGFuZ2UiLGw9PmkobC5vbGRWZXJzaW9uLGwubmV3VmVyc2lvbixsKSl9KS5jYXRjaCgoKT0+e30pLG99ZnVuY3Rpb24gd1ZlKGUse2Jsb2NrZWQ6dH09e30pe2xldCByPWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShlKTtyZXR1cm4gdCYmci5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIixhPT50KGEub2xkVmVyc2lvbixhKSksVTIocikudGhlbigoKT0+e30pfWZ1bmN0aW9uIGdWZShlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIElEQkRhdGFiYXNlJiYhKHQgaW4gZSkmJnR5cGVvZiB0PT0ic3RyaW5nIikpcmV0dXJuO2lmKHplZS5nZXQodCkpcmV0dXJuIHplZS5nZXQodCk7bGV0IHI9dC5yZXBsYWNlKC9Gcm9tSW5kZXgkLywiIiksYT10IT09cixpPXVGci5pbmNsdWRlcyhyKTtpZighKHIgaW4oYT9JREJJbmRleDpJREJPYmplY3RTdG9yZSkucHJvdG90eXBlKXx8IShpfHxkRnIuaW5jbHVkZXMocikpKXJldHVybjtsZXQgbj1hc3luYyBmdW5jdGlvbihzLC4uLm8pe2xldCBjPXRoaXMudHJhbnNhY3Rpb24ocyxpPyJyZWFkd3JpdGUiOiJyZWFkb25seSIpLGw9Yy5zdG9yZTtyZXR1cm4gYSYmKGw9bC5pbmRleChvLnNoaWZ0KCkpKSwoYXdhaXQgUHJvbWlzZS5hbGwoW2xbcl0oLi4ubyksaSYmYy5kb25lXSkpWzBdfTtyZXR1cm4gemVlLnNldCh0LG4pLG59YXN5bmMgZnVuY3Rpb24qaEZyKC4uLmUpe2xldCB0PXRoaXM7aWYodCBpbnN0YW5jZW9mIElEQkN1cnNvcnx8KHQ9YXdhaXQgdC5vcGVuQ3Vyc29yKC4uLmUpKSwhdClyZXR1cm47dD10O2xldCByPW5ldyBQcm94eSh0LGZGcik7Zm9yKHZWZS5zZXQocix0KSxEXy5zZXQocixEOSh0KSk7dDspeWllbGQgcix0PWF3YWl0KENlZS5nZXQocil8fHQuY29udGludWUoKSksQ2VlLmRlbGV0ZShyKX1mdW5jdGlvbiB4VmUoZSx0KXtyZXR1cm4gdD09PVN5bWJvbC5hc3luY0l0ZXJhdG9yJiZ3ZWUoZSxbSURCSW5kZXgsSURCT2JqZWN0U3RvcmUsSURCQ3Vyc29yXSl8fHQ9PT0iaXRlcmF0ZSImJndlZShlLFtJREJJbmRleCxJREJPYmplY3RTdG9yZV0pfXZhciB3ZWUsZlZlLGhWZSxNZWUsa2VlLERfLFNlZSxEOSxkRnIsdUZyLHplZSxwRnIsYlZlLENlZSx2VmUsZkZyLE1WZT1mKCgpPT57d2VlPShlLHQpPT50LnNvbWUocj0+ZSBpbnN0YW5jZW9mIHIpO01lZT1uZXcgV2Vha01hcCxrZWU9bmV3IFdlYWtNYXAsRF89bmV3IFdlYWtNYXA7U2VlPXtnZXQoZSx0LHIpe2lmKGUgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbil7aWYodD09PSJkb25lIilyZXR1cm4gTWVlLmdldChlKTtpZih0PT09InN0b3JlIilyZXR1cm4gci5vYmplY3RTdG9yZU5hbWVzWzFdP3ZvaWQgMDpyLm9iamVjdFN0b3JlKHIub2JqZWN0U3RvcmVOYW1lc1swXSl9cmV0dXJuIFUyKGVbdF0pfSxzZXQoZSx0LHIpe3JldHVybiBlW3RdPXIsITB9LGhhcyhlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24mJih0PT09ImRvbmUifHx0PT09InN0b3JlIik/ITA6dCBpbiBlfX07RDk9ZT0+RF8uZ2V0KGUpO2RGcj1bImdldCIsImdldEtleSIsImdldEFsbCIsImdldEFsbEtleXMiLCJjb3VudCJdLHVGcj1bInB1dCIsImFkZCIsImRlbGV0ZSIsImNsZWFyIl0semVlPW5ldyBNYXA7bVZlKGU9Pih7Li4uZSxnZXQ6KHQscixhKT0+Z1ZlKHQscil8fGUuZ2V0KHQscixhKSxoYXM6KHQscik9PiEhZ1ZlKHQscil8fGUuaGFzKHQscil9KSk7cEZyPVsiY29udGludWUiLCJjb250aW51ZVByaW1hcnlLZXkiLCJhZHZhbmNlIl0sYlZlPXt9LENlZT1uZXcgV2Vha01hcCx2VmU9bmV3IFdlYWtNYXAsZkZyPXtnZXQoZSx0KXtpZighcEZyLmluY2x1ZGVzKHQpKXJldHVybiBlW3RdO2xldCByPWJWZVt0XTtyZXR1cm4gcnx8KHI9YlZlW3RdPWZ1bmN0aW9uKC4uLmEpe0NlZS5zZXQodGhpcyx2VmUuZ2V0KHRoaXMpW3RdKC4uLmEpKX0pLHJ9fTttVmUoZT0+KHsuLi5lLGdldCh0LHIsYSl7cmV0dXJuIHhWZSh0LHIpP2hGcjplLmdldCh0LHIsYSl9LGhhcyh0LHIpe3JldHVybiB4VmUodCxyKXx8ZS5oYXModCxyKX19KSl9KTt2YXIgVGVlPWYoKCk9PntiOSgpO2k4KCk7czYoKTtVaSgpO3lvKCk7ckMoKTtNVmUoKX0pO3ZhciBFOSxfZWU9ZigoKT0+e1RlZSgpO0U5PWNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMuaW5pdENhbGxlZD0hMSx0aGlzLnJlYWR5RGVmZXJyZWQ9S2UuZGVmZXIoKSx0aGlzLm9wdGlvbnM9dH1hc3luYyBpbml0KCl7aWYodGhpcy5pbml0Q2FsbGVkKXthd2FpdCB0aGlzLnJlYWR5RGVmZXJyZWQucHJvbWlzZTtyZXR1cm59dGhpcy5pbml0Q2FsbGVkPSEwO2xldCB0PW5ldyBXMS5TbWFydGVudjtpZighdC5pc0Jyb3dzZXImJiFnbG9iYWxUaGlzLmluZGV4ZWREQiYmKGNvbnNvbGUubG9nKCJoZXkiKSxjb25zb2xlLmxvZyhnbG9iYWxUaGlzLmluZGV4ZWREQiksYXdhaXQgdC5nZXRTYWZlTm9kZU1vZHVsZSgiZmFrZS1pbmRleGVkZGIvYXV0byIpLCFnbG9iYWxUaGlzLmluZGV4ZWREQikpe2xldCByPWF3YWl0IHQuZ2V0U2FmZU5vZGVNb2R1bGUoImZha2UtaW5kZXhlZGRiIik7Z2xvYmFsVGhpcy5pbmRleGVkREI9bmV3IHIuSURCRmFjdG9yeX10aGlzLmRiPWF3YWl0IEE5Lm9wZW5EQih0aGlzLm9wdGlvbnMuZGJOYW1lLDEse3VwZ3JhZGU6cj0+e3IuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSl9fSksdGhpcy5yZWFkeURlZmVycmVkLnJlc29sdmUoKX1hc3luYyBnZXQodCl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdCgpLHRoaXMuZGIuZ2V0KHRoaXMub3B0aW9ucy5zdG9yZU5hbWUsdCl9YXN5bmMgY2hlY2sodCl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdCgpLCEhYXdhaXQgdGhpcy5nZXQodCl9YXN5bmMgc2V0KHQscil7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdCgpLHRoaXMuZGIucHV0KHRoaXMub3B0aW9ucy5zdG9yZU5hbWUscix0KX1hc3luYyBkZWxldGUodCl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdCgpLHRoaXMuZGIuZGVsZXRlKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUsdCl9YXN5bmMgY2xlYXIoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5jbGVhcih0aGlzLm9wdGlvbnMuc3RvcmVOYW1lKX1hc3luYyBrZXlzKCl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdCgpLHRoaXMuZGIuZ2V0QWxsS2V5cyh0aGlzLm9wdGlvbnMuc3RvcmVOYW1lKX19fSk7dmFyIExlZSxTVmU9ZigoKT0+e19lZSgpO1RlZSgpO0xlZT1jbGFzc3tjb25zdHJ1Y3Rvcih0PSJkZWZhdWx0Iil7dGhpcy53ZWJzdG9yZT1uZXcgRTkoe2RiTmFtZToidHJTdG9yZSIsc3RvcmVOYW1lOmB0clN0b3JlLSR7dH1gfSl9YnVpbGRLZXkodCl7cmV0dXJuIFhyLnN0cmluZ2lmeSh7bWV0aG9kOnQubWV0aG9kLHJlcXVlc3Q6dC5yZXF1ZXN0fSl9YXN5bmMgc2V0QnlSZXF1ZXN0KHQpe2lmKCF0LnJlc3BvbnNlKXRocm93IG5ldyBFcnJvcigiWW91IGNhbm5vdCBzdG9yZSByZXF1ZXN0cyB3aXRob3V0IGEgcmVzcG9uc2UgcHJlc2VudCIpO2F3YWl0IHRoaXMud2Vic3RvcmUuc2V0KHRoaXMuYnVpbGRLZXkodCksdCl9YXN5bmMgZ2V0QnlSZXF1ZXN0KHQpe3JldHVybiBhd2FpdCB0aGlzLndlYnN0b3JlLmdldCh0aGlzLmJ1aWxkS2V5KHQpKX19fSk7dmFyIFpuPXt9O1JlKFpuLHtUeXBlZHJlcXVlc3RDYWNoZTooKT0+TGVlLFdlYlN0b3JlOigpPT5FOX0pO3ZhciBJOT1mKCgpPT57U1ZlKCk7X2VlKCl9KTt2YXIgUDk9ZigoKT0+e0kyKCk7aTgoKTtzNigpO1VpKCk7STkoKX0pO3ZhciB1OCxFXz1mKCgpPT57UDkoKTt1OD1jbGFzc3tjb25zdHJ1Y3Rvcih0PSJ3ZWJyZXF1ZXN0LXY0IixyPSJjYWNoZSIpe3RoaXMud2Vic3RvcmU9bmV3IFpuLldlYlN0b3JlKHtkYk5hbWU6dCxzdG9yZU5hbWU6cn0pLHRoaXMuaW5pdFByb21pc2U9dGhpcy5pbml0KCl9YXN5bmMgaW5pdCgpe31nZW5lcmF0ZUNhY2hlS2V5KHQpe2xldCByPXQudXJsLGE9dC5tZXRob2Q7cmV0dXJuIGE9PT0iR0VUIj9yOmAke2F9OiR7cn1gfWFzeW5jIHNldCh0LHIpe2F3YWl0IHRoaXMuaW5pdFByb21pc2UsYXdhaXQgdGhpcy53ZWJzdG9yZS5zZXQodCxyKX1hc3luYyBnZXQodCl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZTt0cnl7cmV0dXJuIGF3YWl0IHRoaXMud2Vic3RvcmUuZ2V0KHQpfHxudWxsfWNhdGNoe3JldHVybiBudWxsfX1hc3luYyBoYXModCl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdFByb21pc2UsYXdhaXQgdGhpcy53ZWJzdG9yZS5jaGVjayh0KX1hc3luYyBkZWxldGUodCl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmRlbGV0ZSh0KX1hc3luYyBjbGVhcigpe2F3YWl0IHRoaXMuaW5pdFByb21pc2UsYXdhaXQgdGhpcy53ZWJzdG9yZS5jbGVhcigpfXJlc3BvbnNlRnJvbUNhY2hlRW50cnkodCl7bGV0IHI9bmV3IEhlYWRlcnModC5oZWFkZXJzKTtyZXR1cm4gbmV3IFJlc3BvbnNlKHQucmVzcG9uc2Use3N0YXR1czp0LnN0YXR1cyxzdGF0dXNUZXh0OnQuc3RhdHVzVGV4dCxoZWFkZXJzOnJ9KX1hc3luYyBjYWNoZUVudHJ5RnJvbVJlc3BvbnNlKHQscixhKXtsZXQgaT1yLmNsb25lKCksbj1hd2FpdCBpLmFycmF5QnVmZmVyKCkscz17fTtyZXR1cm4gaS5oZWFkZXJzLmZvckVhY2goKG8sYyk9PntzW2NdPW99KSx7cmVzcG9uc2U6bixoZWFkZXJzOnMsdGltZXN0YW1wOkRhdGUubm93KCksZXRhZzphPy5ldGFnfHxpLmhlYWRlcnMuZ2V0KCJldGFnIil8fHZvaWQgMCxsYXN0TW9kaWZpZWQ6YT8ubGFzdE1vZGlmaWVkfHxpLmhlYWRlcnMuZ2V0KCJsYXN0LW1vZGlmaWVkIil8fHZvaWQgMCxtYXhBZ2U6YT8ubWF4QWdlLHVybDp0LHN0YXR1czppLnN0YXR1cyxzdGF0dXNUZXh0Omkuc3RhdHVzVGV4dH19YXN5bmMgcHJ1bmVFeHBpcmVkKCl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdFByb21pc2UsMH19fSk7ZnVuY3Rpb24gbUZyKGUpe2xldCB0PXttYXhBZ2U6MCxpbW11dGFibGU6ITEsbm9DYWNoZTohMSxub1N0b3JlOiExLG11c3RSZXZhbGlkYXRlOiExfTtpZighZSlyZXR1cm4gdDtsZXQgcj1lLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKS5tYXAoYT0+YS50cmltKCkpO2ZvcihsZXQgYSBvZiByKWlmKGE9PT0ibm8tY2FjaGUiKXQubm9DYWNoZT0hMDtlbHNlIGlmKGE9PT0ibm8tc3RvcmUiKXQubm9TdG9yZT0hMDtlbHNlIGlmKGE9PT0iaW1tdXRhYmxlIil0LmltbXV0YWJsZT0hMDtlbHNlIGlmKGE9PT0ibXVzdC1yZXZhbGlkYXRlIil0Lm11c3RSZXZhbGlkYXRlPSEwO2Vsc2UgaWYoYS5zdGFydHNXaXRoKCJtYXgtYWdlPSIpKXtsZXQgaT1wYXJzZUludChhLnNwbGl0KCI9IilbMV0sMTApO2lzTmFOKGkpfHwodC5tYXhBZ2U9aSoxZTMpfXJldHVybiB0fWZ1bmN0aW9uIGdGcihlKXtpZihlKXRyeXtyZXR1cm4gbmV3IERhdGUoZSkuZ2V0VGltZSgpfWNhdGNoe3JldHVybn19ZnVuY3Rpb24gVzIoZSl7bGV0IHQ9ZS5nZXQoImNhY2hlLWNvbnRyb2wiKSxyPWUuZ2V0KCJleHBpcmVzIiksYT1lLmdldCgiZXRhZyIpLGk9ZS5nZXQoImxhc3QtbW9kaWZpZWQiKSxuPW1Gcih0KTtpZihuLm1heEFnZT09PTAmJnIpe2xldCBzPWdGcihyKTtzJiYobi5tYXhBZ2U9TWF0aC5tYXgoMCxzLURhdGUubm93KCkpKX1yZXR1cm57bWF4QWdlOm4ubWF4QWdlfHwwLGV0YWc6YXx8dm9pZCAwLGxhc3RNb2RpZmllZDppfHx2b2lkIDAsaW1tdXRhYmxlOm4uaW1tdXRhYmxlfHwhMSxub0NhY2hlOm4ubm9DYWNoZXx8ITEsbm9TdG9yZTpuLm5vU3RvcmV8fCExLG11c3RSZXZhbGlkYXRlOm4ubXVzdFJldmFsaWRhdGV8fCExfX1mdW5jdGlvbiBOOShlLHQpe2lmKHQubm9TdG9yZSlyZXR1cm4hMTtpZih0LmltbXV0YWJsZSlyZXR1cm4hMDtsZXQgcj1EYXRlLm5vdygpLWUudGltZXN0YW1wLGE9ZS5tYXhBZ2V8fHQubWF4QWdlfHwwO3JldHVybiBhPT09MD8hMTpyPGF9ZnVuY3Rpb24gRjkoZSl7cmV0dXJuIGUubm9DYWNoZXx8ZS5tdXN0UmV2YWxpZGF0ZX1mdW5jdGlvbiBJXyhlKXtsZXQgdD17fTtyZXR1cm4gZS5ldGFnJiYodFsiaWYtbm9uZS1tYXRjaCJdPWUuZXRhZyksZS5sYXN0TW9kaWZpZWQmJih0WyJpZi1tb2RpZmllZC1zaW5jZSJdPWUubGFzdE1vZGlmaWVkKSx0fWZ1bmN0aW9uIFBfKGUpe2xldCB0PXt9O3JldHVybiBlLmZvckVhY2goKHIsYSk9Pnt0W2FdPXJ9KSx0fWZ1bmN0aW9uIHpWZShlKXtsZXQgdD1uZXcgSGVhZGVycztyZXR1cm4gT2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoW3IsYV0pPT57dC5zZXQocixhKX0pLHR9dmFyIE5fPWYoKCk9Pnt9KTtmdW5jdGlvbiBDVmUoZSl7c3dpdGNoKGUpe2Nhc2UibmV0d29yay1maXJzdCI6cmV0dXJuIG5ldyBGXztjYXNlImNhY2hlLWZpcnN0IjpyZXR1cm4gbmV3ICRlZTtjYXNlInN0YWxlLXdoaWxlLXJldmFsaWRhdGUiOnJldHVybiBuZXcgRGVlO2Nhc2UibmV0d29yay1vbmx5IjpyZXR1cm4gbmV3IEFlZTtjYXNlImNhY2hlLW9ubHkiOnJldHVybiBuZXcgRWVlO2RlZmF1bHQ6cmV0dXJuIG5ldyBGX319dmFyIEZfLCRlZSxEZWUsQWVlLEVlZSxUVmU9ZigoKT0+e0VfKCk7Tl8oKTtGXz1jbGFzc3thc3luYyBleGVjdXRlKHQpe3RyeXtsZXQgcj1hd2FpdCB0LmZldGNoRm4odC5yZXF1ZXN0KTtyZXR1cm4gci5vayYmYXdhaXQgdGhpcy5jYWNoZVJlc3BvbnNlKHQscikse3Jlc3BvbnNlOnIsZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfX1jYXRjaChyKXt0LmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gTmV0d29yayBmYWlsZWQsIHRyeWluZyBjYWNoZToiLHIpO2xldCBhPWF3YWl0IHQuY2FjaGVTdG9yZS5nZXQodC5jYWNoZUtleSk7aWYoYSlyZXR1cm57cmVzcG9uc2U6dC5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkoYSksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfTt0aHJvdyByfX1hc3luYyBjYWNoZVJlc3BvbnNlKHQscil7bGV0IGE9VzIoci5oZWFkZXJzKTtpZihhLm5vU3RvcmUpcmV0dXJuO2xldCBpPWF3YWl0IHQuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKHQucmVxdWVzdC51cmwscixhKTthd2FpdCB0LmNhY2hlU3RvcmUuc2V0KHQuY2FjaGVLZXksaSl9fSwkZWU9Y2xhc3N7YXN5bmMgZXhlY3V0ZSh0KXtsZXQgcj1hd2FpdCB0LmNhY2hlU3RvcmUuZ2V0KHQuY2FjaGVLZXkpO2lmKHIpe2xldCBuPVcyKG5ldyBIZWFkZXJzKHIuaGVhZGVycykpO2lmKE45KHIsbikpcmV0dXJuIHQubG9nZ2luZyYmY29uc29sZS5sb2coIlt3ZWJyZXF1ZXN0XSBDYWNoZSBoaXQgKGZyZXNoKToiLHQucmVxdWVzdC51cmwpLHtyZXNwb25zZTp0LmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeShyKSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITF9O2lmKEY5KG4pJiYoci5ldGFnfHxyLmxhc3RNb2RpZmllZCkpcmV0dXJuIGF3YWl0IHRoaXMucmV2YWxpZGF0ZSh0LHIpfXQubG9nZ2luZyYmY29uc29sZS5sb2coIlt3ZWJyZXF1ZXN0XSBDYWNoZSBtaXNzLCBmZXRjaGluZzoiLHQucmVxdWVzdC51cmwpO2xldCBhPWF3YWl0IHQuZmV0Y2hGbih0LnJlcXVlc3QpLGk9VzIoYS5oZWFkZXJzKTtpZighaS5ub1N0b3JlKXtsZXQgbj1hd2FpdCB0LmNhY2hlU3RvcmUuY2FjaGVFbnRyeUZyb21SZXNwb25zZSh0LnJlcXVlc3QudXJsLGEsaSk7YXdhaXQgdC5jYWNoZVN0b3JlLnNldCh0LmNhY2hlS2V5LG4pfXJldHVybntyZXNwb25zZTphLGZyb21DYWNoZTohMSxyZXZhbGlkYXRlZDohMX19YXN5bmMgcmV2YWxpZGF0ZSh0LHIpe2xldCBhPUlfKHIpLGk9bmV3IFJlcXVlc3QodC5yZXF1ZXN0LnVybCx7bWV0aG9kOnQucmVxdWVzdC5tZXRob2QsaGVhZGVyczp7Li4uUF8odC5yZXF1ZXN0LmhlYWRlcnMpLC4uLmF9fSk7dHJ5e2xldCBuPWF3YWl0IHQuZmV0Y2hGbihpKTtpZihuLnN0YXR1cz09PTMwNClyZXR1cm4gdC5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIENhY2hlIHJldmFsaWRhdGVkICgzMDQpOiIsdC5yZXF1ZXN0LnVybCksci50aW1lc3RhbXA9RGF0ZS5ub3coKSxhd2FpdCB0LmNhY2hlU3RvcmUuc2V0KHQuY2FjaGVLZXkscikse3Jlc3BvbnNlOnQuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KHIpLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMH07aWYobi5vayl7bGV0IHM9VzIobi5oZWFkZXJzKTtpZighcy5ub1N0b3JlKXtsZXQgbz1hd2FpdCB0LmNhY2hlU3RvcmUuY2FjaGVFbnRyeUZyb21SZXNwb25zZSh0LnJlcXVlc3QudXJsLG4scyk7YXdhaXQgdC5jYWNoZVN0b3JlLnNldCh0LmNhY2hlS2V5LG8pfX1yZXR1cm57cmVzcG9uc2U6bixmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITB9fWNhdGNoKG4pe3JldHVybiB0LmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gUmV2YWxpZGF0aW9uIGZhaWxlZCwgdXNpbmcgY2FjaGU6IixuKSx7cmVzcG9uc2U6dC5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkociksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfX19fSxEZWU9Y2xhc3N7YXN5bmMgZXhlY3V0ZSh0KXtsZXQgcj1hd2FpdCB0LmNhY2hlU3RvcmUuZ2V0KHQuY2FjaGVLZXkpO2lmKHIpe2xldCBuPXQuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KHIpO3JldHVybiB0aGlzLnJldmFsaWRhdGVJbkJhY2tncm91bmQodCxyKS5jYXRjaChzPT57dC5sb2dnaW5nJiZjb25zb2xlLndhcm4oIlt3ZWJyZXF1ZXN0XSBCYWNrZ3JvdW5kIHJldmFsaWRhdGlvbiBmYWlsZWQ6IixzKX0pLHtyZXNwb25zZTpuLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX19bGV0IGE9YXdhaXQgdC5mZXRjaEZuKHQucmVxdWVzdCksaT1XMihhLmhlYWRlcnMpO2lmKCFpLm5vU3RvcmUmJmEub2spe2xldCBuPWF3YWl0IHQuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKHQucmVxdWVzdC51cmwsYSxpKTthd2FpdCB0LmNhY2hlU3RvcmUuc2V0KHQuY2FjaGVLZXksbil9cmV0dXJue3Jlc3BvbnNlOmEsZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfX1hc3luYyByZXZhbGlkYXRlSW5CYWNrZ3JvdW5kKHQscil7bGV0IGE9VzIobmV3IEhlYWRlcnMoci5oZWFkZXJzKSk7aWYoIShOOShyLGEpJiYhRjkoYSkpKXRyeXtsZXQgaT1hd2FpdCB0LmZldGNoRm4odC5yZXF1ZXN0KTtpZihpLm9rKXtsZXQgbj1XMihpLmhlYWRlcnMpO2lmKCFuLm5vU3RvcmUpe2xldCBzPWF3YWl0IHQuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKHQucmVxdWVzdC51cmwsaSxuKTthd2FpdCB0LmNhY2hlU3RvcmUuc2V0KHQuY2FjaGVLZXkscyksdC5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIEJhY2tncm91bmQgcmV2YWxpZGF0aW9uIGNvbXBsZXRlOiIsdC5yZXF1ZXN0LnVybCl9fX1jYXRjaChpKXt0LmxvZ2dpbmcmJmNvbnNvbGUud2FybigiW3dlYnJlcXVlc3RdIEJhY2tncm91bmQgcmV2YWxpZGF0aW9uIGZhaWxlZDoiLGkpfX19LEFlZT1jbGFzc3thc3luYyBleGVjdXRlKHQpe3JldHVybntyZXNwb25zZTphd2FpdCB0LmZldGNoRm4odC5yZXF1ZXN0KSxmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fX0sRWVlPWNsYXNze2FzeW5jIGV4ZWN1dGUodCl7bGV0IHI9YXdhaXQgdC5jYWNoZVN0b3JlLmdldCh0LmNhY2hlS2V5KTtpZighcil0aHJvdyBuZXcgRXJyb3IoYENhY2hlIG1pc3MgZm9yICR7dC5yZXF1ZXN0LnVybH0gKGNhY2hlLW9ubHkgbW9kZSlgKTtyZXR1cm57cmVzcG9uc2U6dC5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkociksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfX19fSk7dmFyIHA4LEllZT1mKCgpPT57RV8oKTtUVmUoKTtOXygpO3A4PWNsYXNze2NvbnN0cnVjdG9yKHQscil7dGhpcy5jYWNoZVN0b3JlPW5ldyB1OCh0LHIpfWFzeW5jIGV4ZWN1dGUodCxyLGEpe2xldCBpPXRoaXMuZGV0ZXJtaW5lU3RyYXRlZ3kodCxyKTtpZihpPT09Im5ldHdvcmstb25seSIpcmV0dXJue3Jlc3BvbnNlOmF3YWl0IGEodCksZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfTtsZXQgbj10aGlzLmdlbmVyYXRlQ2FjaGVLZXkodCxyKSxzPUNWZShpKSxvPXtyZXF1ZXN0OnQsY2FjaGVLZXk6bixjYWNoZVN0b3JlOnRoaXMuY2FjaGVTdG9yZSxmZXRjaEZuOmEsbG9nZ2luZzpyLmxvZ2dpbmd9O3JldHVybiBhd2FpdCBzLmV4ZWN1dGUobyl9ZGV0ZXJtaW5lU3RyYXRlZ3kodCxyKXtyZXR1cm4gci5jYWNoZVN0cmF0ZWd5P3IuY2FjaGVTdHJhdGVneTpyLmNhY2hlP3RoaXMubWFwQ2FjaGVNb2RlVG9TdHJhdGVneShyLmNhY2hlKTp0LmNhY2hlP3RoaXMubWFwQ2FjaGVNb2RlVG9TdHJhdGVneSh0LmNhY2hlKToibmV0d29yay1maXJzdCJ9bWFwQ2FjaGVNb2RlVG9TdHJhdGVneSh0KXtzd2l0Y2godCl7Y2FzZSJkZWZhdWx0IjpyZXR1cm4ibmV0d29yay1maXJzdCI7Y2FzZSJuby1zdG9yZSI6Y2FzZSJyZWxvYWQiOnJldHVybiJuZXR3b3JrLW9ubHkiO2Nhc2Uibm8tY2FjaGUiOnJldHVybiJuZXR3b3JrLWZpcnN0IjtjYXNlImZvcmNlLWNhY2hlIjpyZXR1cm4iY2FjaGUtZmlyc3QiO2Nhc2Uib25seS1pZi1jYWNoZWQiOnJldHVybiJjYWNoZS1vbmx5IjtkZWZhdWx0OnJldHVybiJuZXR3b3JrLWZpcnN0In19Z2VuZXJhdGVDYWNoZUtleSh0LHIpe3JldHVybiByLmNhY2hlS2V5P3R5cGVvZiByLmNhY2hlS2V5PT0iZnVuY3Rpb24iP3IuY2FjaGVLZXkodCk6ci5jYWNoZUtleTp0aGlzLmNhY2hlU3RvcmUuZ2VuZXJhdGVDYWNoZUtleSh0KX1hc3luYyBjbGVhcigpe2F3YWl0IHRoaXMuY2FjaGVTdG9yZS5jbGVhcigpfWFzeW5jIGRlbGV0ZSh0KXthd2FpdCB0aGlzLmNhY2hlU3RvcmUuZGVsZXRlKHQpfWFzeW5jIGhhcyh0KXtyZXR1cm4gYXdhaXQgdGhpcy5jYWNoZVN0b3JlLmhhcyh0KX1nZXRTdG9yZSgpe3JldHVybiB0aGlzLmNhY2hlU3RvcmV9fX0pO2Z1bmN0aW9uIF9WZShlKXtzd2l0Y2goZSl7Y2FzZSJleHBvbmVudGlhbCI6cmV0dXJuIG5ldyBPXztjYXNlImxpbmVhciI6cmV0dXJuIG5ldyBQZWU7Y2FzZSJjb25zdGFudCI6cmV0dXJuIG5ldyBOZWU7ZGVmYXVsdDpyZXR1cm4gbmV3IE9ffX1mdW5jdGlvbiBMVmUoZSx0PS4xKXtsZXQgcj1lKnQqTWF0aC5yYW5kb20oKTtyZXR1cm4gZStyfXZhciBPXyxQZWUsTmVlLCRWZT1mKCgpPT57T189Y2xhc3N7Y2FsY3VsYXRlKHQscixhKXtsZXQgaT1yKk1hdGgucG93KDIsdC0xKTtyZXR1cm4gTWF0aC5taW4oaSxhKX19LFBlZT1jbGFzc3tjYWxjdWxhdGUodCxyLGEpe2xldCBpPXIqdDtyZXR1cm4gTWF0aC5taW4oaSxhKX19LE5lZT1jbGFzc3tjYWxjdWxhdGUodCxyLGEpe3JldHVybiBNYXRoLm1pbihyLGEpfX19KTt2YXIgZjgsRmVlPWYoKCk9PntQOSgpOyRWZSgpO2Y4PWNsYXNze2NvbnN0cnVjdG9yKHQ9e30pe3RoaXMub3B0aW9ucz17bWF4QXR0ZW1wdHM6dC5tYXhBdHRlbXB0cz8/MyxiYWNrb2ZmOnQuYmFja29mZj8/ImV4cG9uZW50aWFsIixpbml0aWFsRGVsYXk6dC5pbml0aWFsRGVsYXk/PzFlMyxtYXhEZWxheTp0Lm1heERlbGF5Pz8zZTQscmV0cnlPbjp0LnJldHJ5T24/P1s0MDgsNDI5LDUwMCw1MDIsNTAzLDUwNF0sb25SZXRyeTp0Lm9uUmV0cnk/PygoKT0+e30pfX1hc3luYyBleGVjdXRlKHQscil7bGV0IGEsaTtmb3IobGV0IG49MTtuPD10aGlzLm9wdGlvbnMubWF4QXR0ZW1wdHM7bisrKXRyeXtsZXQgcz1hd2FpdCB0KCk7aWYocyBpbnN0YW5jZW9mIFJlc3BvbnNlJiZ0aGlzLnNob3VsZFJldHJ5UmVzcG9uc2Uocykpe2lmKGk9cyxuPT09dGhpcy5vcHRpb25zLm1heEF0dGVtcHRzKXJldHVybiBzO2xldCBvPXRoaXMuY2FsY3VsYXRlRGVsYXkobik7dGhpcy5vcHRpb25zLm9uUmV0cnkobixuZXcgRXJyb3IoYEhUVFAgJHtzLnN0YXR1c31gKSxvKSxhd2FpdCB0aGlzLmRlbGF5KG8pO2NvbnRpbnVlfXJldHVybiBzfWNhdGNoKHMpe2E9cyBpbnN0YW5jZW9mIEVycm9yP3M6bmV3IEVycm9yKFN0cmluZyhzKSk7bGV0IG89cj9yKHMsbik6dGhpcy5zaG91bGRSZXRyeUVycm9yKHMpO2lmKG49PT10aGlzLm9wdGlvbnMubWF4QXR0ZW1wdHN8fCFvKXRocm93IGE7bGV0IGM9dGhpcy5jYWxjdWxhdGVEZWxheShuKTt0aGlzLm9wdGlvbnMub25SZXRyeShuLGEsYyksYXdhaXQgdGhpcy5kZWxheShjKX10aHJvdyBhfHxuZXcgRXJyb3IoIk1heCByZXRyeSBhdHRlbXB0cyByZWFjaGVkIil9YXN5bmMgZXhlY3V0ZVdpdGhGYWxsYmFja3ModCxyLGEpe2lmKHQubGVuZ3RoPT09MCl0aHJvdyBuZXcgRXJyb3IoIk5vIFVSTHMgcHJvdmlkZWQgZm9yIGZhbGxiYWNrIGV4ZWN1dGlvbiIpO2xldCBpLG49W107Zm9yKGxldCBzIG9mIHQpdHJ5e2xldCBvPWF3YWl0IHRoaXMuZXhlY3V0ZShhc3luYygpPT5hd2FpdCBhKHMscikpO2lmKG8uc3RhdHVzPDQwMHx8by5zdGF0dXM+PTQwMCYmby5zdGF0dXM8NTAwJiZvLnN0YXR1cyE9PTQwOClyZXR1cm4gbztuLnB1c2gocyksaT1uZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzICR7by5zdGF0dXN9YCl9Y2F0Y2gobyl7bi5wdXNoKHMpLGk9byBpbnN0YW5jZW9mIEVycm9yP286bmV3IEVycm9yKFN0cmluZyhvKSl9dGhyb3cgbmV3IEVycm9yKGBBbGwgVVJMcyBmYWlsZWQ6ICR7bi5qb2luKCIsICIpfS4gTGFzdCBlcnJvcjogJHtpPy5tZXNzYWdlfHwiVW5rbm93biBlcnJvciJ9YCl9c2hvdWxkUmV0cnlSZXNwb25zZSh0KXtsZXQgcj10aGlzLm9wdGlvbnMucmV0cnlPbjtyZXR1cm4gdHlwZW9mIHI9PSJmdW5jdGlvbiI/cih0KTpBcnJheS5pc0FycmF5KHIpP3IuaW5jbHVkZXModC5zdGF0dXMpOiExfXNob3VsZFJldHJ5RXJyb3IodCl7aWYodCBpbnN0YW5jZW9mIFR5cGVFcnJvciYmdC5tZXNzYWdlLmluY2x1ZGVzKCJmZXRjaCIpfHx0Lm5hbWU9PT0iQWJvcnRFcnJvciJ8fHQubWVzc2FnZS5pbmNsdWRlcygidGltZW91dCIpKXJldHVybiEwO2xldCByPXRoaXMub3B0aW9ucy5yZXRyeU9uO3JldHVybiB0eXBlb2Ygcj09ImZ1bmN0aW9uIj9yKHZvaWQgMCx0KTohMX1jYWxjdWxhdGVEZWxheSh0KXtsZXQgYT1fVmUodGhpcy5vcHRpb25zLmJhY2tvZmYpLmNhbGN1bGF0ZSh0LHRoaXMub3B0aW9ucy5pbml0aWFsRGVsYXksdGhpcy5vcHRpb25zLm1heERlbGF5KTtyZXR1cm4gTFZlKGEpfWFzeW5jIGRlbGF5KHQpe2F3YWl0IEN0LmRlbGF5Rm9yKHQpfX19KTt2YXIgaDgsT2VlPWYoKCk9PntQOSgpO2g4PWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5pbkZsaWdodFJlcXVlc3RzPW5ldyBNYXB9Z2VuZXJhdGVLZXkodCl7bGV0IHI9dC51cmwsYT10Lm1ldGhvZDtyZXR1cm4gYT09PSJHRVQifHxhPT09IkhFQUQiP2Ake2F9OiR7cn1gOmAke2F9OiR7cn06JHtEYXRlLm5vdygpfWB9YXN5bmMgZXhlY3V0ZSh0LHIpe2xldCBhPXRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5nZXQodCk7aWYoYSlyZXR1cm57cmVzcG9uc2U6KGF3YWl0IGEucHJvbWlzZSkuY2xvbmUoKSx3YXNEZWR1cGxpY2F0ZWQ6ITB9O2xldCBpPUtlLmRlZmVyKCk7dGhpcy5pbkZsaWdodFJlcXVlc3RzLnNldCh0LGkpO3RyeXtsZXQgbj1hd2FpdCByKCk7cmV0dXJuIGkucmVzb2x2ZShuKSx0aGlzLmluRmxpZ2h0UmVxdWVzdHMuZGVsZXRlKHQpLHtyZXNwb25zZTpuLHdhc0RlZHVwbGljYXRlZDohMX19Y2F0Y2gobil7dGhyb3cgaS5yZWplY3QobiksdGhpcy5pbkZsaWdodFJlcXVlc3RzLmRlbGV0ZSh0KSxufX1pc0luRmxpZ2h0KHQpe3JldHVybiB0aGlzLmluRmxpZ2h0UmVxdWVzdHMuaGFzKHQpfWdldEluRmxpZ2h0Q291bnQoKXtyZXR1cm4gdGhpcy5pbkZsaWdodFJlcXVlc3RzLnNpemV9Y2xlYXIoKXt0aGlzLmluRmxpZ2h0UmVxdWVzdHMuY2xlYXIoKX19fSk7ZnVuY3Rpb24gYkZyKGUpe2xldCB0PW5ldyBBYm9ydENvbnRyb2xsZXIscjtyZXR1cm4gQ3QuZGVsYXlGb3IoZSkudGhlbigoKT0+e3QuYWJvcnQoKX0pLnRoZW4oaT0+e3I9aX0pLHtjb250cm9sbGVyOnQsY2xlYW51cDooKT0+e319fWFzeW5jIGZ1bmN0aW9uIFJlZShlLHQscil7bGV0e2NvbnRyb2xsZXI6YSxjbGVhbnVwOml9PWJGcihyKTt0cnl7bGV0IG49YXdhaXQgZmV0Y2goZSx7Li4udCxzaWduYWw6YS5zaWduYWx9KTtyZXR1cm4gaSgpLG59Y2F0Y2gobil7dGhyb3cgaSgpLG4gaW5zdGFuY2VvZiBFcnJvciYmbi5uYW1lPT09IkFib3J0RXJyb3IiP25ldyBFcnJvcihgUmVxdWVzdCB0aW1lb3V0IGFmdGVyICR7cn1tczogJHtlfWApOm59fXZhciBEVmU9ZigoKT0+e1A5KCl9KTt2YXIgbzYsQmVlPWYoKCk9PntZSygpO0llZSgpO0ZlZSgpO09lZSgpO0RWZSgpO282PWNsYXNze2NvbnN0cnVjdG9yKHQ9e30pe3RoaXMuZGVmYXVsdE9wdGlvbnM9dCx0aGlzLmludGVyY2VwdG9yTWFuYWdlcj1uZXcgYTgsdGhpcy5jYWNoZU1hbmFnZXI9bmV3IHA4LHRoaXMuZGVkdXBsaWNhdG9yPW5ldyBoOH1hZGRSZXF1ZXN0SW50ZXJjZXB0b3IodCl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVxdWVzdEludGVyY2VwdG9yKHQpfWFkZFJlc3BvbnNlSW50ZXJjZXB0b3IodCl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcih0KX1hZGRFcnJvckludGVyY2VwdG9yKHQpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLmFkZEVycm9ySW50ZXJjZXB0b3IodCl9cmVtb3ZlUmVxdWVzdEludGVyY2VwdG9yKHQpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlcXVlc3RJbnRlcmNlcHRvcih0KX1yZW1vdmVSZXNwb25zZUludGVyY2VwdG9yKHQpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlc3BvbnNlSW50ZXJjZXB0b3IodCl9cmVtb3ZlRXJyb3JJbnRlcmNlcHRvcih0KXt0aGlzLmludGVyY2VwdG9yTWFuYWdlci5yZW1vdmVFcnJvckludGVyY2VwdG9yKHQpfWNsZWFySW50ZXJjZXB0b3JzKCl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuY2xlYXJBbGwoKX1hc3luYyBjbGVhckNhY2hlKCl7YXdhaXQgdGhpcy5jYWNoZU1hbmFnZXIuY2xlYXIoKX1hc3luYyByZXF1ZXN0KHQscj17fSl7bGV0IGE9ey4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsLi4ucn0saTtpZih0eXBlb2YgdD09InN0cmluZyI/aT1uZXcgUmVxdWVzdCh0LGEpOmk9dCxpPWF3YWl0IHRoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3NSZXF1ZXN0KGkpLGEuaW50ZXJjZXB0b3JzPy5yZXF1ZXN0KWZvcihsZXQgcyBvZiBhLmludGVyY2VwdG9ycy5yZXF1ZXN0KWk9YXdhaXQgcyhpKTtpZihhLmRlZHVwbGljYXRlPz8hMSl7bGV0IHM9dGhpcy5kZWR1cGxpY2F0b3IuZ2VuZXJhdGVLZXkoaSk7cmV0dXJuKGF3YWl0IHRoaXMuZGVkdXBsaWNhdG9yLmV4ZWN1dGUocyxhc3luYygpPT5hd2FpdCB0aGlzLmV4ZWN1dGVSZXF1ZXN0KGksYSkpKS5yZXNwb25zZX1yZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRlUmVxdWVzdChpLGEpfWFzeW5jIGV4ZWN1dGVSZXF1ZXN0KHQscil7dHJ5e2xldCBhPXR5cGVvZiByLnJldHJ5PT0ib2JqZWN0Ij9yLnJldHJ5OnIucmV0cnk/e306dm9pZCAwLGk9YXN5bmMgbz0+e2xldCBjPXIudGltZW91dD8/NmU0O3JldHVybiBhd2FpdCBSZWUoby51cmwse21ldGhvZDpvLm1ldGhvZCxoZWFkZXJzOm8uaGVhZGVycyxib2R5Om8uYm9keSwuLi5yfSxjKX0sbj1hc3luYyhvLGMpPT57bGV0IGw9ci50aW1lb3V0Pz82ZTQ7cmV0dXJuIGF3YWl0IFJlZShvLGMsbCl9LHM7aWYoYSl7bGV0IG89bmV3IGY4KGEpO2lmKHIuZmFsbGJhY2tVcmxzJiZyLmZhbGxiYWNrVXJscy5sZW5ndGg+MCl7bGV0IGM9W3QudXJsLC4uLnIuZmFsbGJhY2tVcmxzXTtzPWF3YWl0IG8uZXhlY3V0ZVdpdGhGYWxsYmFja3MoYyx7bWV0aG9kOnQubWV0aG9kLGhlYWRlcnM6dC5oZWFkZXJzLGJvZHk6dC5ib2R5LC4uLnJ9LG4pfWVsc2Ugcz1hd2FpdCBvLmV4ZWN1dGUoYXN5bmMoKT0+KGF3YWl0IHRoaXMuY2FjaGVNYW5hZ2VyLmV4ZWN1dGUodCxyLGkpKS5yZXNwb25zZSl9ZWxzZSBzPShhd2FpdCB0aGlzLmNhY2hlTWFuYWdlci5leGVjdXRlKHQscixpKSkucmVzcG9uc2U7aWYocz1hd2FpdCB0aGlzLmludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzUmVzcG9uc2Uocyksci5pbnRlcmNlcHRvcnM/LnJlc3BvbnNlKWZvcihsZXQgbyBvZiByLmludGVyY2VwdG9ycy5yZXNwb25zZSlzPWF3YWl0IG8ocyk7cmV0dXJuIHN9Y2F0Y2goYSl7dGhyb3cgYXdhaXQgdGhpcy5pbnRlcmNlcHRvck1hbmFnZXIucHJvY2Vzc0Vycm9yKGEgaW5zdGFuY2VvZiBFcnJvcj9hOm5ldyBFcnJvcihTdHJpbmcoYSkpKX19YXN5bmMgZ2V0SnNvbih0LHI9e30pe2xldCBhPWF3YWl0IHRoaXMucmVxdWVzdCh0LHsuLi5yLG1ldGhvZDoiR0VUIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLnIuaGVhZGVyc3x8e319fSk7aWYoIWEub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7YS5zdGF0dXN9OiAke2Euc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgYS5qc29uKCl9YXN5bmMgcG9zdEpzb24odCxyLGE9e30pe2xldCBpPWF3YWl0IHRoaXMucmVxdWVzdCh0LHsuLi5hLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLEFjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsLi4uYS5oZWFkZXJzfHx7fX0sYm9keTpKU09OLnN0cmluZ2lmeShyKX0pO2lmKCFpLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke2kuc3RhdHVzfTogJHtpLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IGkuanNvbigpfWFzeW5jIHB1dEpzb24odCxyLGE9e30pe2xldCBpPWF3YWl0IHRoaXMucmVxdWVzdCh0LHsuLi5hLG1ldGhvZDoiUFVUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwuLi5hLmhlYWRlcnN8fHt9fSxib2R5OkpTT04uc3RyaW5naWZ5KHIpfSk7aWYoIWkub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7aS5zdGF0dXN9OiAke2kuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgaS5qc29uKCl9YXN5bmMgZGVsZXRlSnNvbih0LHI9e30pe2xldCBhPWF3YWl0IHRoaXMucmVxdWVzdCh0LHsuLi5yLG1ldGhvZDoiREVMRVRFIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLnIuaGVhZGVyc3x8e319fSk7aWYoIWEub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7YS5zdGF0dXN9OiAke2Euc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgYS5qc29uKCl9fX0pO2FzeW5jIGZ1bmN0aW9uIEcxKGUsdCl7bGV0IHI9ZSBpbnN0YW5jZW9mIFJlcXVlc3Q/ZS51cmw6U3RyaW5nKGUpLGE9ZSBpbnN0YW5jZW9mIFJlcXVlc3Q/ZTpuZXcgUmVxdWVzdChyLHQpO3JldHVybiBhd2FpdCBrby5yZXF1ZXN0KGEsdCl9dmFyIGtvLEFWZT1mKCgpPT57QmVlKCk7a289bmV3IG82O0cxLmdldEpzb249YXN5bmMgZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXdhaXQga28uZ2V0SnNvbihlLHQpfSxHMS5wb3N0SnNvbj1hc3luYyBmdW5jdGlvbihlLHQscil7cmV0dXJuIGF3YWl0IGtvLnBvc3RKc29uKGUsdCxyKX0sRzEucHV0SnNvbj1hc3luYyBmdW5jdGlvbihlLHQscil7cmV0dXJuIGF3YWl0IGtvLnB1dEpzb24oZSx0LHIpfSxHMS5kZWxldGVKc29uPWFzeW5jIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGF3YWl0IGtvLmRlbGV0ZUpzb24oZSx0KX0sRzEuYWRkUmVxdWVzdEludGVyY2VwdG9yPWZ1bmN0aW9uKGUpe2tvLmFkZFJlcXVlc3RJbnRlcmNlcHRvcihlKX0sRzEuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcj1mdW5jdGlvbihlKXtrby5hZGRSZXNwb25zZUludGVyY2VwdG9yKGUpfSxHMS5hZGRFcnJvckludGVyY2VwdG9yPWZ1bmN0aW9uKGUpe2tvLmFkZEVycm9ySW50ZXJjZXB0b3IoZSl9LEcxLmNsZWFySW50ZXJjZXB0b3JzPWZ1bmN0aW9uKCl7a28uY2xlYXJJbnRlcmNlcHRvcnMoKX0sRzEuY2xlYXJDYWNoZT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IGtvLmNsZWFyQ2FjaGUoKX0sRzEuY3JlYXRlQ2xpZW50PWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbzYoZSl9LEcxLmdldERlZmF1bHRDbGllbnQ9ZnVuY3Rpb24oKXtyZXR1cm4ga299fSk7dmFyIE85PXt9O1JlKE85LHtDYWNoZU1hbmFnZXI6KCk9PnA4LENhY2hlU3RvcmU6KCk9PnU4LEludGVyY2VwdG9yTWFuYWdlcjooKT0+YTgsUmVxdWVzdERlZHVwbGljYXRvcjooKT0+aDgsUmV0cnlNYW5hZ2VyOigpPT5mOCxXZWJyZXF1ZXN0Q2xpZW50OigpPT5vNixjcmVhdGVDb25kaXRpb25hbEhlYWRlcnM6KCk9PklfLGV4dHJhY3RDYWNoZU1ldGFkYXRhOigpPT5XMixoZWFkZXJzVG9PYmplY3Q6KCk9PlBfLGlzRnJlc2g6KCk9Pk45LG9iamVjdFRvSGVhZGVyczooKT0+elZlLHJlcXVpcmVzUmV2YWxpZGF0aW9uOigpPT5GOSx3ZWJyZXF1ZXN0OigpPT5HMX0pO3ZhciBFVmU9ZigoKT0+e0FWZSgpO0JlZSgpO0llZSgpO0VfKCk7RmVlKCk7WUsoKTtPZWUoKTtOXygpfSk7dmFyIHg0LHk0PWYoKCk9PntyQygpO3g0PXNyKG56KCksMSk7YjkoKTthamUoKTtJMigpO2lqZSgpO1VpKCk7RVZlKCl9KTt2YXIgY2MsUjk9ZigoKT0+e3k0KCk7Y2M9Y2xhc3N7Y29uc3RydWN0b3IodCxyKXt0aGlzLmVycm9yVGV4dD10LHRoaXMuZXJyb3JEYXRhPXJ9fX0pO3ZhciBCXyxJVmU9ZigoKT0+e1I5KCk7eTQoKTtCXz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubG9jYWxEYXRhPXt9fWFzeW5jIHBhc3NHdWFyZHModCxyKXtsZXQgYT1uZXcgQzkuR3VhcmRTZXQodCk7aWYoIWF3YWl0IGEuYWxsR3VhcmRzUGFzcyhyKSl7bGV0IG49YXdhaXQgYS5nZXRGYWlsZWRIaW50KHIpO3Rocm93IG5ldyBjYyhgZ3VhcmQgZmFpbGVkOiAke259YCx7ZmFpbGVkSGludDpufSl9fX19KTt2YXIgSGVlLHFlZT1mKCgpPT57eTQoKTtSOSgpO0lWZSgpO0hlZT1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIpe3RoaXMubWV0aG9kPXQsdGhpcy5oYW5kbGVyRnVuY3Rpb249cn1hc3luYyBhZGRSZXNwb25zZSh0KXtpZih0Lm1ldGhvZCE9PXRoaXMubWV0aG9kKXRocm93IG5ldyBFcnJvcigidGhpcyBoYW5kbGVyIGhhcyBiZWVuIGdpdmVuIGEgd3JvbmcgbWV0aG9kIHRvIGFuc3dlciB0by4gUGxlYXNlIHVzZSBhIFR5cGVkUm91dGVyIHRvIGZpbHRlciByZXF1ZXN0cyIpO2xldCByLGE9bmV3IEJfO3QubG9jYWxEYXRhJiYoYS5sb2NhbERhdGE9dC5sb2NhbERhdGEpO2xldCBpPWF3YWl0IHRoaXMuaGFuZGxlckZ1bmN0aW9uKHQucmVxdWVzdCxhKS5jYXRjaChuPT57biBpbnN0YW5jZW9mIGNjP3I9bjpjb25zb2xlLmxvZyhuKX0pO3JldHVybiByJiYodC5lcnJvcj17dGV4dDpyLmVycm9yVGV4dCxkYXRhOnIuZXJyb3JEYXRhfSksaSYmKHQucmVzcG9uc2U9aSksdD8uY29ycmVsYXRpb24/LnBoYXNlJiYodC5jb3JyZWxhdGlvbi5waGFzZT0icmVzcG9uc2UiKSx0fX19KTt2YXIgbDYsQjk9ZigoKT0+e3k0KCk7SF8oKTtxZWUoKTtqZWUoKTtsNj1jbGFzcyBle2NvbnN0cnVjdG9yKCl7dGhpcy5ob29rcz17fSx0aGlzLnJvdXRlck1hcD1uZXcgdmkuT2JqZWN0TWFwLHRoaXMuaGFuZGxlck1hcD1uZXcgdmkuT2JqZWN0TWFwLHRoaXMucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zPW5ldyB2aS5PYmplY3RNYXAsdGhpcy5maXJlRXZlbnRJbnRlcmVzdE1hcD1uZXcgdmkuSW50ZXJlc3RNYXAodD0+dCl9c3RhdGljIGdldCBnbG9iYWxIb29rcygpe3JldHVybiBnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rc3x8KGdsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzPXt9KSxnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rc31zdGF0aWMgc2V0IGdsb2JhbEhvb2tzKHQpe2dsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzPXR9c3RhdGljIHNldEdsb2JhbEhvb2tzKHQpe2xldCByPWUuZ2xvYmFsSG9va3M7ZS5nbG9iYWxIb29rcz17Li4uciwuLi50fX1zdGF0aWMgY2xlYXJHbG9iYWxIb29rcygpe2dsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzPXt9fXNldEhvb2tzKHQpe3RoaXMuaG9va3M9ey4uLnRoaXMuaG9va3MsLi4udH19Y2FsbEhvb2sodCxyKXt0cnl7ZS5nbG9iYWxIb29rc1t0XT8uKHIpLHRoaXMuaG9va3NbdF0/LihyKX1jYXRjaChhKXtjb25zb2xlLmVycm9yKGBUeXBlZFJvdXRlciBob29rIGVycm9yICgke3R9KTpgLGEpfX1hZGRUeXBlZEhhbmRsZXIodCl7aWYodGhpcy5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QodC5tZXRob2QpKXRocm93IG5ldyBFcnJvcihgYSBUeXBlZEhhbmRsZXIgZm9yICR7dC5tZXRob2R9IGFscmVkeSBleGlzdHMhIENhbid0IGFkZCBhbm90aGVyIG9uZS5gKTt0aGlzLmhhbmRsZXJNYXAuYWRkKHQpfWFkZFR5cGVkUm91dGVyKHQpe3RoaXMucm91dGVyTWFwLmZpbmRTeW5jKGE9PmE9PT10KXx8KHRoaXMucm91dGVyTWFwLmFkZCh0KSx0LmFkZFR5cGVkUm91dGVyKHRoaXMpKX1jaGVja0ZvclR5cGVkSGFuZGxlcih0KXtyZXR1cm4hIXRoaXMuZ2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKHQpfWdldFR5cGVkSGFuZGxlckZvck1ldGhvZCh0LHI9W10pe3IucHVzaCh0aGlzKTtsZXQgYTtyZXR1cm4gYT10aGlzLmhhbmRsZXJNYXAuZmluZFN5bmMoaT0+aS5tZXRob2Q9PT10KSxhfHx0aGlzLnJvdXRlck1hcC5nZXRBcnJheSgpLmZvckVhY2goaT0+eyFhJiYhci5pbmNsdWRlcyhpKSYmKGE9aS5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QodCxyKSl9KSxhfXN0YXRpY3t0aGlzLmRlZmF1bHRSb3V0ZU9wdGlvbnM9e2xvY2FsUmVxdWVzdDohMSxza2lwSG9va3M6ITF9fWFzeW5jIHJvdXRlQW5kQWRkUmVzcG9uc2UodCxyPXt9KXtsZXQgYT17Li4uZS5kZWZhdWx0Um91dGVPcHRpb25zLC4uLnJ9O2lmKHQ9RzIuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKHQse3R5cGVkcm91dGVyOnRoaXN9KSx0LmxvY2FsRGF0YT10LmxvY2FsRGF0YXx8e30sdC5sb2NhbERhdGEuZmlyc3RUeXBlZHJvdXRlcj10aGlzLHQubWV0aG9kPT09IiMjVmlydHVhbFN0cmVhbSMjIil7bGV0IGk9YXdhaXQgdGhpcy5oYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QodCk7cmV0dXJuIGkubG9jYWxEYXRhPW51bGwsaX1pZih0Py5jb3JyZWxhdGlvbj8ucGhhc2U9PT0icmVxdWVzdCJ8fGEubG9jYWxSZXF1ZXN0KXtsZXQgaT1EYXRlLm5vdygpO2Euc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVxdWVzdCIse2NvcnJlbGF0aW9uSWQ6dC5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6dC5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlcXVlc3QiLHRpbWVzdGFtcDppLHBheWxvYWQ6dC5yZXF1ZXN0fSk7bGV0IG49dGhpcy5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QodC5tZXRob2QpO3JldHVybiBuPyh0PWF3YWl0IG4uYWRkUmVzcG9uc2UodCksdC5sb2NhbERhdGE9bnVsbCx0PUcyLmVuY29kZVBheWxvYWRGb3JOZXR3b3JrKHQse3R5cGVkcm91dGVyOnRoaXN9KSxhLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25PdXRnb2luZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDp0LmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDp0Lm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLGR1cmF0aW9uTXM6RGF0ZS5ub3coKS1pLHBheWxvYWQ6dC5yZXNwb25zZSxlcnJvcjp0LmVycm9yPy50ZXh0fSksdCk6KGNvbnNvbGUubG9nKGBDYW5ub3QgZmluZCBoYW5kbGVyIGZvciBtZXRob2RuYW1lICR7dC5tZXRob2R9YCksdC5lcnJvcj17dGV4dDoiVGhlcmUgaXMgbm8gYXZhaWxhYmxlIG1ldGhvZCBmb3IgdGhpcyBjYWxsIG9uIHRoZSBzZXJ2ZXIgc2lkZSIsZGF0YTp7fX0sdC5jb3JyZWxhdGlvbi5waGFzZT0icmVzcG9uc2UiLHQubG9jYWxEYXRhPW51bGwsdD1HMi5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayh0LHt0eXBlZHJvdXRlcjp0aGlzfSksYS5za2lwSG9va3N8fHRoaXMuY2FsbEhvb2soIm9uT3V0Z29pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6dC5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6dC5tZXRob2QsZGlyZWN0aW9uOiJvdXRnb2luZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktaSxwYXlsb2FkOnQucmVzcG9uc2UsZXJyb3I6dC5lcnJvcj8udGV4dH0pLHQpfWVsc2UgcmV0dXJuIHQ/LmNvcnJlbGF0aW9uPy5waGFzZT09PSJyZXNwb25zZSI/KGEuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOnQuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOnQubWV0aG9kLGRpcmVjdGlvbjoiaW5jb21pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCkscGF5bG9hZDp0LnJlc3BvbnNlLGVycm9yOnQuZXJyb3I/LnRleHR9KSx0aGlzLmZpcmVFdmVudEludGVyZXN0TWFwLmZpbmRJbnRlcmVzdCh0LmNvcnJlbGF0aW9uLmlkKT8uZnVsbGZpbGxJbnRlcmVzdCh0KSxudWxsKTooY29uc29sZS5sb2coInJlY2VpdmVkIHdlaXJkbHkgc2hhcGVkIHJlcXVlc3QiKSxjb25zb2xlLmxvZyh0KSxudWxsKX1hc3luYyBoYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QodCl7bGV0IHI9YXdhaXQgdGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZmluZChhc3luYyBpPT5pLnN0cmVhbUlkPT09dC5yZXF1ZXN0LnN0cmVhbUlkKTtpZihyKWNvbnNvbGUubG9nKGBzdWNjZXNzOiBmb3VuZCByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSB3aXRoIGlkICR7dC5yZXF1ZXN0LnN0cmVhbUlkfWApO2Vsc2UgcmV0dXJuIGNvbnNvbGUubG9nKGBubyByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSBmb3VuZCBmb3Igc3RyZWFtIHdpdGggaWQgJHt0LnJlcXVlc3Quc3RyZWFtSWR9YCksY29uc29sZS5sb2codGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZ2V0QXJyYXkoKSksdDtyZXR1cm4gYXdhaXQgci5oYW5kbGVTdHJlYW1Ucih0KX19fSk7dmFyIFBWZSxHMixIXz1mKCgpPT57eTQoKTtCOSgpO1BWZT0iIyMjIyMjIyMjIyMjI0NMT1NJTkcgQklUIyMjIyMjIyMjIyMjIyIsRzI9Y2xhc3MgZXtzdGF0aWMgZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsodCxyLGEsaT1bXSl7cmV0dXJuIXR8fHI4LmlzQnVmZmVyTGlrZSh0KT90OnQgaW5zdGFuY2VvZiBlPyghdC5zaWRlJiZyLnNlbmRNZXRob2QmJih0LnNpZGU9InJlcXVlc3RpbmciLHQuc2VuZE1ldGhvZD1yLnNlbmRNZXRob2QpLCF0LnNpZGUmJnIudHlwZWRyb3V0ZXImJih0LnNpZGU9InJlc3BvbmRpbmciLHQudHlwZWRyb3V0ZXI9ci50eXBlZHJvdXRlcixyLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5hZGQodCkpLCFhLnJlc3BvbnNlfHxpLmluY2x1ZGVzKCJyZXNwb25zZSIpPyh0LnN0YXJ0S2VlcEFsaXZlTG9vcCgpLHtfaXNWaXJ0dWFsU3RyZWFtOiEwLHN0cmVhbUlkOnQuc3RyZWFtSWR9KTp7X09CTUlUVEVEX1ZJUlRVQUxfU1RSRUFNOiEwLHJlYXNvbjoicGF0aCBpcyB1bmRlciAucmVxdWVzdDogb2JtaXR0ZWQgZm9yIGRlZHVwbGljYXRpb24gcmVhc29ucyBpbiByZXNwb25zZSBjeWNsZS4ifSk6QXJyYXkuaXNBcnJheSh0KT90Lm1hcCgobixzKT0+ZS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhuLHIsYXx8dCxpLmNvbmNhdChTdHJpbmcocykpKSk6dCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0Ij9PYmplY3QuZW50cmllcyh0KS5yZWR1Y2UoKG4sW3Msb10pPT57bGV0IGM9aS5jb25jYXQocyk7cmV0dXJuIG5bc109ZS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhvLHIsYXx8dCxjKSxufSx7fSk6dH1zdGF0aWMgZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKHQscil7aWYocjguaXNCdWZmZXJMaWtlKHQpfHx0IGluc3RhbmNlb2YgbDYpcmV0dXJuIHQ7aWYodCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0Iil7aWYodCBpbnN0YW5jZW9mIFNldHx8dCBpbnN0YW5jZW9mIE1hcHx8dCBpbnN0YW5jZW9mIERhdGV8fHQgaW5zdGFuY2VvZiBSZWdFeHB8fHQgaW5zdGFuY2VvZiBFcnJvcnx8dCBpbnN0YW5jZW9mIFByb21pc2V8fHR5cGVvZiB0LnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIHQ7aWYodC5faXNWaXJ0dWFsU3RyZWFtKXtsZXQgYT1uZXcgZTtyZXR1cm4gYS5zdHJlYW1JZD10LnN0cmVhbUlkLCFhLnNpZGUmJnIuc2VuZE1ldGhvZCYmKGEuc2lkZT0icmVxdWVzdGluZyIsYS5zZW5kTWV0aG9kPXIuc2VuZE1ldGhvZCksIWEuc2lkZSYmci50eXBlZHJvdXRlciYmKGEuc2lkZT0icmVzcG9uZGluZyIsYS50eXBlZHJvdXRlcj1yLnR5cGVkcm91dGVyLHIudHlwZWRyb3V0ZXIucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zLmFkZChhKSksYS5zdGFydEtlZXBBbGl2ZUxvb3AoKSxhfWVsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7bGV0IGE9W107Zm9yKGxldCBpIG9mIHQpYS5wdXNoKGUuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGkscikpO3JldHVybiBhfWVsc2UgcmV0dXJuIE9iamVjdC5rZXlzKHQpLnJlZHVjZSgoYSxpKT0+KGFbaV09ZS5kZWNvZGVQYXlsb2FkRnJvbU5ldHdvcmsodFtpXSxyKSxhKSx7fSl9ZWxzZSByZXR1cm4gdH1jb25zdHJ1Y3Rvcigpe3RoaXMuc3RyZWFtSWQ9eDQudW5pKCksdGhpcy5rZWVwQWxpdmU9ITAsdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5PW5ldyB2aS5CYWNrcHJlc3N1cmVkQXJyYXkoMTYpLHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheT1uZXcgdmkuQmFja3ByZXNzdXJlZEFycmF5KDE2KX1hc3luYyB3b3JrT25RdWV1ZSgpe2lmKHRoaXMud29ya2luZ0RlZmVycmVkKXJldHVybiB0aGlzLndvcmtpbmdEZWZlcnJlZC5wcm9taXNlO2lmKHRoaXMud29ya2luZ0RlZmVycmVkPUtlLmRlZmVyKCksdGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtsZXQgdD0hdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKSxyPSExLGE9ITEsaT1hc3luYygpPT57bGV0IG49YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6eDQudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9LHJlc3BvbnNlOm51bGx9KS5jYXRjaCgoKT0+e2NvbnNvbGUubG9nKCJzdHJlYW0gZW5kZWQgaW1tYXR1cmVseSIpLHRoaXMua2VlcEFsaXZlPSExfSk7biYmbi5yZXNwb25zZSYmKGE9bi5yZXNwb25zZS5iYWNrcHJlc3N1cmUscj1uLnJlc3BvbnNlLm5leHQpfTtmb3IoYXdhaXQgaSgpO3RoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wfHxyOyl7aWYoYSlmb3IoO2E7KWNvbnNvbGUubG9nKCJ3YWl0aW5nIGZvciBmZWVkYmFjayBiZWNhdXNlIG9mIGJhY2twcmVzc3VyZS4uLiIpLGF3YWl0IEN0LmRlbGF5Rm9yKDUwKSxhd2FpdCBpKCk7bGV0IG47dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJihuPXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpKTtsZXQgcztzPWF3YWl0IHRoaXMuc2VuZE1ldGhvZCh7bWV0aG9kOiIjI1ZpcnR1YWxTdHJlYW0jIyIscmVxdWVzdDp7c3RyZWFtSWQ6dGhpcy5zdHJlYW1JZCxjeWNsZUlkOng0LnVuaSgpLGN5Y2xlOiJyZXF1ZXN0IixtYWluUHVycG9zZTpuPyJjaHVuayI6InJlYWQiLGJhY2twcmVzc3VyZTp0LG5leHQ6dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAsLi4ubj97Y2h1bmtEYXRhOm59Ont9fSxyZXNwb25zZTpudWxsfSkuY2F0Y2goKCk9Pihjb25zb2xlLmxvZygic3RyZWFtIGVuZGVkIGltbWF0dXJlbHkiKSx0aGlzLmtlZXBBbGl2ZT0hMSxudWxsKSkscyYmcy5yZXNwb25zZSYmcy5yZXNwb25zZS5jaHVua0RhdGEmJnRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5wdXNoKHMucmVzcG9uc2UuY2h1bmtEYXRhKSxhPXMmJnMucmVzcG9uc2UmJnMucmVzcG9uc2UuYmFja3ByZXNzdXJlLHQ9IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCkscj1zJiZzLnJlc3BvbnNlJiZzLnJlc3BvbnNlLm5leHR9fXRoaXMud29ya2luZ0RlZmVycmVkLnJlc29sdmUoKSx0aGlzLndvcmtpbmdEZWZlcnJlZD1udWxsfWFzeW5jIGhhbmRsZVN0cmVhbVRyKHQpe2lmKHQucmVxdWVzdC5rZWVwQWxpdmU9PT0hMCYmdGhpcy5rZWVwQWxpdmU9PT0hMD90aGlzLmxhc3RLZWVwQWxpdmVFdmVudD1EYXRlLm5vdygpOnQucmVxdWVzdC5rZWVwQWxpdmU9PT0hMSYmKHRoaXMua2VlcEFsaXZlPSExKSx0LnJlcXVlc3QubWFpblB1cnBvc2U9PT0ia2VlcEFsaXZlIiYmKHQucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDp0LnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZSxuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0pLHQucmVxdWVzdC5tYWluUHVycG9zZT09PSJmZWVkYmFjayImJih0LnJlc3BvbnNlPXtzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6dC5yZXF1ZXN0LmN5Y2xlSWQsY3ljbGU6InJlc3BvbnNlIixtYWluUHVycG9zZToiZmVlZGJhY2siLG5leHQ6dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAsYmFja3ByZXNzdXJlOiF0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuY2hlY2tTcGFjZUF2YWlsYWJsZSgpfSksdC5yZXF1ZXN0Lm1haW5QdXJwb3NlPT09ImNodW5rIil7aWYodGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LnB1c2godC5yZXF1ZXN0LmNodW5rRGF0YSksdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJnQucmVzcG9uc2UuYmFja3ByZXNzdXJlPT09ITEpe2xldCByPXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpO3QucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDp0LnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJjaHVuayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MSxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCksY2h1bmtEYXRhOnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpfX1lbHNlIHQucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDp0LnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9O3QucmVxdWVzdD1udWxsfXJldHVybiB0fWFzeW5jIGNsZWFudXAoKXt0aGlzLnR5cGVkcm91dGVyJiZ0aGlzLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5yZW1vdmUodGhpcyl9YXN5bmMgc3RhcnRLZWVwQWxpdmVMb29wKCl7aWYodGhpcy5zaWRlPT09InJlc3BvbmRpbmciKXJldHVybjthd2FpdCBDdC5kZWxheUZvcigwKSxjb25zb2xlLmxvZyhgc3RhcnRpbmcga2VlcGFsaXZlIGxvb3Agb24gc2lkZSAke3RoaXMuc2lkZX1gKTtsZXQgdD0wO2Zvcig7dGhpcy5rZWVwQWxpdmU7KWF3YWl0IHRoaXMudHJpZ2dlcktlZXBBbGl2ZSgpLGF3YWl0IEN0LmRlbGF5Rm9yKDFlMyk7YXdhaXQgQ3QuZGVsYXlGb3IoMWUzKSxhd2FpdCB0aGlzLmNsZWFudXAoKSxjb25zb2xlLmxvZyhgY2xlYW5lZCB1cCBmb3Igc3RyZWFtICR7dGhpcy5zdHJlYW1JZH1gKX1hc3luYyB0cmlnZ2VyS2VlcEFsaXZlKCl7aWYodGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtjb25zb2xlLmxvZygia2VlcGFsaXZlIHNlbnQuIik7bGV0IHQ9YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6eDQudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57dGhpcy5rZWVwQWxpdmU9ITF9KTt0JiZ0LnJlc3BvbnNlJiZ0LnJlc3BvbnNlLmtlZXBBbGl2ZT09PSExP3RoaXMua2VlcEFsaXZlPSExOnRoaXMubGFzdEtlZXBBbGl2ZUV2ZW50PURhdGUubm93KCksdCYmdC5yZXNwb25zZSYmdC5yZXNwb25zZS5uZXh0JiZ0aGlzLndvcmtPblF1ZXVlKCl9RGF0ZS5ub3coKS10aGlzLmxhc3RLZWVwQWxpdmVFdmVudD4xZTQmJihjb25zb2xlLmxvZyhgY2xvc2luZyBzdHJlYW0gZm9yICR7dGhpcy5zdHJlYW1JZH1gKSx0aGlzLmtlZXBBbGl2ZT0hMSl9YXN5bmMgc2VuZERhdGEodCl7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnB1c2godCksdGhpcy53b3JrT25RdWV1ZSgpLGF3YWl0IHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9yU3BhY2UoKX1hc3luYyBmZXRjaERhdGEoKXtyZXR1cm4gdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5Lmhhc1NwYWNlLGF3YWl0IHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9ySXRlbXMoKSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuc2hpZnQoKX1hc3luYyByZWFkRnJvbVdlYnN0cmVhbSh0LHI9ITApe2xldCBhPXQuZ2V0UmVhZGVyKCksaT0hMTtmb3IoOyFpOyl7bGV0e3ZhbHVlOm4sZG9uZTpzfT1hd2FpdCBhLnJlYWQoKTtuJiZhd2FpdCB0aGlzLnNlbmREYXRhKG4pLGk9c31yJiZhd2FpdCB0aGlzLmNsb3NlKCEwKX1hc3luYyB3cml0ZVRvV2Vic3RyZWFtKHQpe2xldCByPXQuZ2V0V3JpdGVyKCk7Zm9yKDt0aGlzLmtlZXBBbGl2ZXx8dGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrSGFzSXRlbXMoKTspe2xldCBhPWF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7aWYoYT09PVBWZSl7ci5yZWxlYXNlTG9jaygpLGF3YWl0IHQuY2xvc2UoKTticmVha31hd2FpdCByLndyaXRlKGEpfX1hc3luYyBjbG9zZSh0PSExKXt0JiZ0aGlzLnNlbmREYXRhKFBWZSksdGhpcy5rZWVwQWxpdmU9ITF9fX0pO3ZhciBWZWUsVWVlPWYoKCk9PntCOSgpO3k0KCk7VmVlPWNsYXNze2NvbnN0cnVjdG9yKHQpe2lmKHQucG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlciYmIXQudHlwZWRSb3V0ZXJSZWYpdGhyb3cgbmV3IEVycm9yKCJ5b3UgaGF2ZSB0byBzcGVjaWZ5IGEgdHlwZWRyb3V0ZXIgd2hlbiB1c2luZyBwb3N0bWV0aG9kIHdpdGggdHlwZWRyb3V0ZXIiKTt0aGlzLm9wdGlvbnM9dH1hc3luYyBwb3N0KHQpe2xldCByO3RoaXMub3B0aW9ucy50eXBlZFJvdXRlclJlZiYmKHI9YXdhaXQgdGhpcy5vcHRpb25zLnR5cGVkUm91dGVyUmVmLmZpcmVFdmVudEludGVyZXN0TWFwLmFkZEludGVyZXN0KHQuY29ycmVsYXRpb24uaWQsdCkpO2xldCBpPWF3YWl0KHRoaXMub3B0aW9ucy5wb3N0TWV0aG9kfHx0aGlzLm9wdGlvbnMucG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlcikodCksbjtyZXR1cm4gcj9uPWF3YWl0IHIuaW50ZXJlc3RGdWxsZmlsbGVkOmk/bj1pOm49dCxufX19KTtmdW5jdGlvbiBOVmUoZSx0KXt0cnl7bDYuZ2xvYmFsSG9va3NbZV0/Lih0KX1jYXRjaChyKXtjb25zb2xlLmVycm9yKGBUeXBlZFJlcXVlc3QgaG9vayBlcnJvciAoJHtlfSk6YCxyKX19dmFyIHZGcixIOSxqZWU9ZigoKT0+e3k0KCk7SF8oKTtSOSgpO0I5KCk7VWVlKCk7dkZyPW5ldyBPOS5XZWJyZXF1ZXN0Q2xpZW50O0g5PWNsYXNze2NvbnN0cnVjdG9yKHQscil7dGhpcy5za2lwSG9va3M9ITEsdHlwZW9mIHQ9PSJzdHJpbmciP3RoaXMudXJsRW5kUG9pbnQ9dDp0aGlzLnR5cGVkVGFyZ2V0PXQsdGhpcy5tZXRob2Q9cn1hc3luYyBmaXJlKHQscj0hMSl7bGV0IGE9RGF0ZS5ub3coKSxpPXttZXRob2Q6dGhpcy5tZXRob2QscmVxdWVzdDp0LHJlc3BvbnNlOm51bGwsY29ycmVsYXRpb246e2lkOng0LnVuaSgpLHBoYXNlOiJyZXF1ZXN0In19O2k9RzIuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoaSx7c2VuZE1ldGhvZDpzPT50aGlzLnBvc3RUck9iamVjdChzKX0pLHRoaXMuc2tpcEhvb2tzfHxOVmUoIm9uT3V0Z29pbmdSZXF1ZXN0Iix7Y29ycmVsYXRpb25JZDppLmNvcnJlbGF0aW9uLmlkLG1ldGhvZDp0aGlzLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVxdWVzdCIsdGltZXN0YW1wOmEscGF5bG9hZDp0fSk7bGV0IG47cmV0dXJuIG49YXdhaXQgdGhpcy5wb3N0VHJPYmplY3QoaSxyKSxuPUcyLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhuLHtzZW5kTWV0aG9kOnM9PnRoaXMucG9zdFRyT2JqZWN0KHMpfSksdGhpcy5za2lwSG9va3N8fE5WZSgib25JbmNvbWluZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDppLmNvcnJlbGF0aW9uLmlkLG1ldGhvZDp0aGlzLm1ldGhvZCxkaXJlY3Rpb246ImluY29taW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLGR1cmF0aW9uTXM6RGF0ZS5ub3coKS1hLHBheWxvYWQ6bj8ucmVzcG9uc2UsZXJyb3I6bj8uZXJyb3I/LnRleHR9KSxuLnJlc3BvbnNlfWFzeW5jIHBvc3RUck9iamVjdCh0LHI9ITEpe2xldCBhO2lmKHRoaXMudXJsRW5kUG9pbnQ/YT1hd2FpdCB2RnIucG9zdEpzb24odGhpcy51cmxFbmRQb2ludCx0LHI/e2NhY2hlU3RyYXRlZ3k6ImNhY2hlLWZpcnN0In06e30pOmE9YXdhaXQgdGhpcy50eXBlZFRhcmdldC5wb3N0KHQpLGEuZXJyb3Ipe2lmKGNvbnNvbGUuZXJyb3IoYG1ldGhvZDogPj4ke3RoaXMubWV0aG9kfTw8IGdvdCBhbiBFUlJPUjogIiR7YS5lcnJvci50ZXh0fSIgd2l0aCBkYXRhICR7SlNPTi5zdHJpbmdpZnkoYS5lcnJvci5kYXRhLG51bGwsMil9YCksIWEucmV0cnkpdGhyb3cgbmV3IGNjKGEuZXJyb3IudGV4dCxhLmVycm9yLmRhdGEpO3JldHVybiBudWxsfXJldHVybiBhLnJldHJ5JiYoY29uc29sZS5sb2coYHNlcnZlciByZXF1ZXN0ZWQgcmV0cnkgZm9yIHRoZSBmb2xsb3dpbmcgcmVhc29uOiAke2EucmV0cnkucmVhc29ufWApLGF3YWl0IEN0LmRlbGF5Rm9yKGEucmV0cnkud2FpdEZvck1zKSxhPWF3YWl0IHRoaXMucG9zdFRyT2JqZWN0KHQscikpLGF9fX0pO3ZhciBYbj17fTtSZShYbix7VHlwZWRIYW5kbGVyOigpPT5IZWUsVHlwZWRSZXF1ZXN0OigpPT5IOSxUeXBlZFJlc3BvbnNlRXJyb3I6KCk9PmNjLFR5cGVkUm91dGVyOigpPT5sNixUeXBlZFRhcmdldDooKT0+VmVlLFZpcnR1YWxTdHJlYW06KCk9PkcyfSk7dmFyIHE5PWYoKCk9PntqZWUoKTtxZWUoKTtCOSgpO1I5KCk7VWVlKCk7SF8oKX0pO2Z1bmN0aW9uIEZWZShlKXtyZXR1cm4gZSYmdHlwZW9mIGUudGhlbj09ImZ1bmN0aW9uIn1mdW5jdGlvbiBZMihlLHQpe3JldHVybiBlfHwoZT0wKSxuZXcgUHJvbWlzZShmdW5jdGlvbihyKXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiByKHQpfSxlKX0pfWZ1bmN0aW9uIEJWZShlLHQpe3JldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKHQtZSsxKStlKX1mdW5jdGlvbiBkYygpe3JldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMil9ZnVuY3Rpb24gdWMoKXt2YXIgZT1EYXRlLm5vdygpKjFlMztyZXR1cm4gZTw9V2VlJiYoZT1XZWUrMSksV2VlPWUsZX1mdW5jdGlvbiBIVmUoKXtyZXR1cm4gdHlwZW9mIG5hdmlnYXRvcjwidSImJnR5cGVvZiBuYXZpZ2F0b3IubG9ja3M8InUiJiZ0eXBlb2YgbmF2aWdhdG9yLmxvY2tzLnJlcXVlc3Q9PSJmdW5jdGlvbiJ9dmFyIE9WZSxSVmUsWTEsV2VlLHc0PWYoKCk9PntPVmU9UHJvbWlzZS5yZXNvbHZlKCExKSxSVmU9UHJvbWlzZS5yZXNvbHZlKCEwKSxZMT1Qcm9taXNlLnJlc29sdmUoKTtXZWU9MH0pO2Z1bmN0aW9uIHdGcihlKXt2YXIgdD17dGltZTp1YygpLG1lc3NhZ2VzQ2FsbGJhY2s6bnVsbCxiYzpuZXcgQnJvYWRjYXN0Q2hhbm5lbChlKSxzdWJGbnM6W119O3JldHVybiB0LmJjLm9ubWVzc2FnZT1mdW5jdGlvbihyKXt0Lm1lc3NhZ2VzQ2FsbGJhY2smJnQubWVzc2FnZXNDYWxsYmFjayhyLmRhdGEpfSx0fWZ1bmN0aW9uIE1GcihlKXtlLmJjLmNsb3NlKCksZS5zdWJGbnM9W119ZnVuY3Rpb24ga0ZyKGUsdCl7dHJ5e3JldHVybiBlLmJjLnBvc3RNZXNzYWdlKHQsITEpLFkxfWNhdGNoKHIpe3JldHVybiBQcm9taXNlLnJlamVjdChyKX19ZnVuY3Rpb24gU0ZyKGUsdCl7ZS5tZXNzYWdlc0NhbGxiYWNrPXR9ZnVuY3Rpb24gekZyKCl7aWYodHlwZW9mIGdsb2JhbFRoaXM8InUiJiZnbG9iYWxUaGlzLkRlbm8mJmdsb2JhbFRoaXMuRGVuby5hcmdzKXJldHVybiEwO2lmKCh0eXBlb2Ygd2luZG93PCJ1Inx8dHlwZW9mIHNlbGY8InUiKSYmdHlwZW9mIEJyb2FkY2FzdENoYW5uZWw9PSJmdW5jdGlvbiIpe2lmKEJyb2FkY2FzdENoYW5uZWwuX3B1YmtleSl0aHJvdyBuZXcgRXJyb3IoIkJyb2FkY2FzdENoYW5uZWw6IERvIG5vdCBvdmVyd3JpdGUgd2luZG93LkJyb2FkY2FzdENoYW5uZWwgd2l0aCB0aGlzIG1vZHVsZSwgdGhpcyBpcyBub3QgYSBwb2x5ZmlsbCIpO3JldHVybiEwfWVsc2UgcmV0dXJuITF9ZnVuY3Rpb24gQ0ZyKCl7cmV0dXJuIDE1MH12YXIgeEZyLHlGcixxVmUsalZlPWYoKCk9Pnt3NCgpO3hGcj11Yyx5RnI9Im5hdGl2ZSI7cVZlPXtjcmVhdGU6d0ZyLGNsb3NlOk1Gcixvbk1lc3NhZ2U6U0ZyLHBvc3RNZXNzYWdlOmtGcixjYW5CZVVzZWQ6ekZyLHR5cGU6eUZyLGF2ZXJhZ2VSZXNwb25zZVRpbWU6Q0ZyLG1pY3JvU2Vjb25kczp4RnJ9fSk7ZnVuY3Rpb24gVEZyKGUpe2xldCB0PUdlZSgpLWUudHRsLHI9ZS5tYXBbU3ltYm9sLml0ZXJhdG9yXSgpO2Zvcig7Oyl7bGV0IGE9ci5uZXh0KCkudmFsdWU7aWYoIWEpYnJlYWs7bGV0IGk9YVswXTtpZihhWzFdPHQpZS5tYXAuZGVsZXRlKGkpO2Vsc2UgYnJlYWt9fWZ1bmN0aW9uIEdlZSgpe3JldHVybiBEYXRlLm5vdygpfXZhciBtOCxZZWU9ZigoKT0+e204PWNsYXNze3R0bDttYXA9bmV3IE1hcDtfdG89ITE7Y29uc3RydWN0b3IodCl7dGhpcy50dGw9dH1oYXModCl7bGV0IHI9dGhpcy5tYXAuZ2V0KHQpO3JldHVybiB0eXBlb2Ygcj4idSI/ITE6cjxHZWUoKS10aGlzLnR0bD8odGhpcy5tYXAuZGVsZXRlKHQpLCExKTohMH1hZGQodCl7dGhpcy5tYXAuZGVsZXRlKHQpLHRoaXMubWFwLnNldCh0LEdlZSgpKSx0aGlzLl90b3x8KHRoaXMuX3RvPSEwLHNldFRpbWVvdXQoKCk9Pnt0aGlzLl90bz0hMSxURnIodGhpcyl9LDApKX1jbGVhcigpe3RoaXMubWFwLmNsZWFyKCl9fX0pO2Z1bmN0aW9uIGM2KCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LHQ9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShlKSk7cmV0dXJuIHR5cGVvZiB0LndlYldvcmtlclN1cHBvcnQ+InUiJiYodC53ZWJXb3JrZXJTdXBwb3J0PSEwKSx0LmlkYnx8KHQuaWRiPXt9KSx0LmlkYi50dGx8fCh0LmlkYi50dGw9MWUzKjQ1KSx0LmlkYi5mYWxsYmFja0ludGVydmFsfHwodC5pZGIuZmFsbGJhY2tJbnRlcnZhbD0xNTApLGUuaWRiJiZ0eXBlb2YgZS5pZGIub25jbG9zZT09ImZ1bmN0aW9uIiYmKHQuaWRiLm9uY2xvc2U9ZS5pZGIub25jbG9zZSksdC5sb2NhbHN0b3JhZ2V8fCh0LmxvY2Fsc3RvcmFnZT17fSksdC5sb2NhbHN0b3JhZ2UucmVtb3ZlVGltZW91dHx8KHQubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQ9MWUzKjYwKSxlLm1ldGhvZHMmJih0Lm1ldGhvZHM9ZS5tZXRob2RzKSx0Lm5vZGV8fCh0Lm5vZGU9e30pLHQubm9kZS50dGx8fCh0Lm5vZGUudHRsPTFlMyo2MCoyKSx0Lm5vZGUubWF4UGFyYWxsZWxXcml0ZXN8fCh0Lm5vZGUubWF4UGFyYWxsZWxXcml0ZXM9MjA0OCksdHlwZW9mIHQubm9kZS51c2VGYXN0UGF0aD4idSImJih0Lm5vZGUudXNlRmFzdFBhdGg9ITApLHR9dmFyIHFfPWYoKCk9Pnt9KTtmdW5jdGlvbiBWVmUoKXtpZih0eXBlb2YgaW5kZXhlZERCPCJ1IilyZXR1cm4gaW5kZXhlZERCO2lmKHR5cGVvZiB3aW5kb3c8InUiKXtpZih0eXBlb2Ygd2luZG93Lm1vekluZGV4ZWREQjwidSIpcmV0dXJuIHdpbmRvdy5tb3pJbmRleGVkREI7aWYodHlwZW9mIHdpbmRvdy53ZWJraXRJbmRleGVkREI8InUiKXJldHVybiB3aW5kb3cud2Via2l0SW5kZXhlZERCO2lmKHR5cGVvZiB3aW5kb3cubXNJbmRleGVkREI8InUiKXJldHVybiB3aW5kb3cubXNJbmRleGVkREJ9cmV0dXJuITF9ZnVuY3Rpb24gal8oZSl7ZS5jb21taXQmJmUuY29tbWl0KCl9ZnVuY3Rpb24gREZyKGUpe3ZhciB0PVZWZSgpLHI9TEZyK2UsYT10Lm9wZW4ocik7cmV0dXJuIGEub251cGdyYWRlbmVlZGVkPWZ1bmN0aW9uKGkpe3ZhciBuPWkudGFyZ2V0LnJlc3VsdDtuLmNyZWF0ZU9iamVjdFN0b3JlKFNvLHtrZXlQYXRoOiJpZCIsYXV0b0luY3JlbWVudDohMH0pfSxuZXcgUHJvbWlzZShmdW5jdGlvbihpLG4pe2Eub25lcnJvcj1mdW5jdGlvbihzKXtyZXR1cm4gbihzKX0sYS5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXtpKGEucmVzdWx0KX19KX1mdW5jdGlvbiBBRnIoZSx0LHIpe3ZhciBhPURhdGUubm93KCksaT17dXVpZDp0LHRpbWU6YSxkYXRhOnJ9LG49ZS50cmFuc2FjdGlvbihbU29dLCJyZWFkd3JpdGUiLGo5KTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocyxvKXtuLm9uY29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gcygpfSxuLm9uZXJyb3I9ZnVuY3Rpb24obCl7cmV0dXJuIG8obCl9O3ZhciBjPW4ub2JqZWN0U3RvcmUoU28pO2MuYWRkKGkpLGpfKG4pfSl9ZnVuY3Rpb24gRlBpKGUpe3ZhciB0PWUudHJhbnNhY3Rpb24oU28sInJlYWRvbmx5IixqOSkscj10Lm9iamVjdFN0b3JlKFNvKSxhPVtdO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihpKXtyLm9wZW5DdXJzb3IoKS5vbnN1Y2Nlc3M9ZnVuY3Rpb24obil7dmFyIHM9bi50YXJnZXQucmVzdWx0O3M/KGEucHVzaChzLnZhbHVlKSxzLmNvbnRpbnVlKCkpOihqXyh0KSxpKGEpKX19KX1mdW5jdGlvbiBFRnIoZSx0KXt2YXIgcj1lLnRyYW5zYWN0aW9uKFNvLCJyZWFkb25seSIsajkpLGE9ci5vYmplY3RTdG9yZShTbyksaT1bXSxuPUlEQktleVJhbmdlLmJvdW5kKHQrMSwxLzApO2lmKGEuZ2V0QWxsKXt2YXIgcz1hLmdldEFsbChuKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oYyxsKXtzLm9uZXJyb3I9ZnVuY3Rpb24odSl7cmV0dXJuIGwodSl9LHMub25zdWNjZXNzPWZ1bmN0aW9uKHUpe2ModS50YXJnZXQucmVzdWx0KX19KX1mdW5jdGlvbiBvKCl7dHJ5e3JldHVybiBuPUlEQktleVJhbmdlLmJvdW5kKHQrMSwxLzApLGEub3BlbkN1cnNvcihuKX1jYXRjaHtyZXR1cm4gYS5vcGVuQ3Vyc29yKCl9fXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihjLGwpe3ZhciB1PW8oKTt1Lm9uZXJyb3I9ZnVuY3Rpb24oZCl7cmV0dXJuIGwoZCl9LHUub25zdWNjZXNzPWZ1bmN0aW9uKGQpe3ZhciBoPWQudGFyZ2V0LnJlc3VsdDtoP2gudmFsdWUuaWQ8dCsxP2guY29udGludWUodCsxKTooaS5wdXNoKGgudmFsdWUpLGguY29udGludWUoKSk6KGpfKHIpLGMoaSkpfX0pfWZ1bmN0aW9uIElGcihlLHQpe2lmKGUuY2xvc2VkKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO3ZhciByPWUuZGIudHJhbnNhY3Rpb24oU28sInJlYWR3cml0ZSIsajkpLGE9ci5vYmplY3RTdG9yZShTbyk7cmV0dXJuIFByb21pc2UuYWxsKHQubWFwKGZ1bmN0aW9uKGkpe3ZhciBuPWEuZGVsZXRlKGkpO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihzKXtuLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3JldHVybiBzKCl9fSl9KSl9ZnVuY3Rpb24gUEZyKGUsdCl7dmFyIHI9RGF0ZS5ub3coKS10LGE9ZS50cmFuc2FjdGlvbihTbywicmVhZG9ubHkiLGo5KSxpPWEub2JqZWN0U3RvcmUoU28pLG49W107cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHMpe2kub3BlbkN1cnNvcigpLm9uc3VjY2Vzcz1mdW5jdGlvbihvKXt2YXIgYz1vLnRhcmdldC5yZXN1bHQ7aWYoYyl7dmFyIGw9Yy52YWx1ZTtsLnRpbWU8cj8obi5wdXNoKGwpLGMuY29udGludWUoKSk6KGpfKGEpLHMobikpfWVsc2UgcyhuKX19KX1mdW5jdGlvbiBORnIoZSl7cmV0dXJuIFBGcihlLmRiLGUub3B0aW9ucy5pZGIudHRsKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBJRnIoZSx0Lm1hcChmdW5jdGlvbihyKXtyZXR1cm4gci5pZH0pKX0pfWZ1bmN0aW9uIEZGcihlLHQpe3JldHVybiB0PWM2KHQpLERGcihlKS50aGVuKGZ1bmN0aW9uKHIpe3ZhciBhPXtjbG9zZWQ6ITEsbGFzdEN1cnNvcklkOjAsY2hhbm5lbE5hbWU6ZSxvcHRpb25zOnQsdXVpZDpkYygpLGVNSXM6bmV3IG04KHQuaWRiLnR0bCoyKSx3cml0ZUJsb2NrUHJvbWlzZTpZMSxtZXNzYWdlc0NhbGxiYWNrOm51bGwscmVhZFF1ZXVlUHJvbWlzZXM6W10sZGI6cn07cmV0dXJuIHIub25jbG9zZT1mdW5jdGlvbigpe2EuY2xvc2VkPSEwLHQuaWRiLm9uY2xvc2UmJnQuaWRiLm9uY2xvc2UoKX0sVVZlKGEpLGF9KX1mdW5jdGlvbiBVVmUoZSl7ZS5jbG9zZWR8fFdWZShlKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIFkyKGUub3B0aW9ucy5pZGIuZmFsbGJhY2tJbnRlcnZhbCl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIFVWZShlKX0pfWZ1bmN0aW9uIE9GcihlLHQpe3JldHVybiEoZS51dWlkPT09dC51dWlkfHx0LmVNSXMuaGFzKGUuaWQpfHxlLmRhdGEudGltZTx0Lm1lc3NhZ2VzQ2FsbGJhY2tUaW1lKX1mdW5jdGlvbiBXVmUoZSl7cmV0dXJuIGUuY2xvc2VkP1kxOmUubWVzc2FnZXNDYWxsYmFjaz9FRnIoZS5kYixlLmxhc3RDdXJzb3JJZCkudGhlbihmdW5jdGlvbih0KXt2YXIgcj10LmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4hIWF9KS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ+ZS5sYXN0Q3Vyc29ySWQmJihlLmxhc3RDdXJzb3JJZD1hLmlkKSxhfSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBPRnIoYSxlKX0pLnNvcnQoZnVuY3Rpb24oYSxpKXtyZXR1cm4gYS50aW1lLWkudGltZX0pO3JldHVybiByLmZvckVhY2goZnVuY3Rpb24oYSl7ZS5tZXNzYWdlc0NhbGxiYWNrJiYoZS5lTUlzLmFkZChhLmlkKSxlLm1lc3NhZ2VzQ2FsbGJhY2soYS5kYXRhKSl9KSxZMX0pOlkxfWZ1bmN0aW9uIFJGcihlKXtlLmNsb3NlZD0hMCxlLmRiLmNsb3NlKCl9ZnVuY3Rpb24gQkZyKGUsdCl7cmV0dXJuIGUud3JpdGVCbG9ja1Byb21pc2U9ZS53cml0ZUJsb2NrUHJvbWlzZS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIEFGcihlLmRiLGUudXVpZCx0KX0pLnRoZW4oZnVuY3Rpb24oKXtCVmUoMCwxMCk9PT0wJiZORnIoZSl9KSxlLndyaXRlQmxvY2tQcm9taXNlfWZ1bmN0aW9uIEhGcihlLHQscil7ZS5tZXNzYWdlc0NhbGxiYWNrVGltZT1yLGUubWVzc2FnZXNDYWxsYmFjaz10LFdWZShlKX1mdW5jdGlvbiBxRnIoKXtyZXR1cm4hIVZWZSgpfWZ1bmN0aW9uIGpGcihlKXtyZXR1cm4gZS5pZGIuZmFsbGJhY2tJbnRlcnZhbCoyfXZhciBfRnIsTEZyLFNvLGo5LCRGcixHVmUsWVZlPWYoKCk9Pnt3NCgpO1llZSgpO3FfKCk7X0ZyPXVjLExGcj0icHVia2V5LmJyb2FkY2FzdC1jaGFubmVsLTAtIixTbz0ibWVzc2FnZXMiLGo5PXtkdXJhYmlsaXR5OiJyZWxheGVkIn0sJEZyPSJpZGIiO0dWZT17Y3JlYXRlOkZGcixjbG9zZTpSRnIsb25NZXNzYWdlOkhGcixwb3N0TWVzc2FnZTpCRnIsY2FuQmVVc2VkOnFGcix0eXBlOiRGcixhdmVyYWdlUmVzcG9uc2VUaW1lOmpGcixtaWNyb1NlY29uZHM6X0ZyfX0pO2Z1bmN0aW9uIFpWZSgpe3ZhciBlO2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybiBudWxsO3RyeXtlPXdpbmRvdy5sb2NhbFN0b3JhZ2UsZT13aW5kb3dbImllOC1ldmVudGxpc3RlbmVyL3N0b3JhZ2UiXXx8d2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24gWFZlKGUpe3JldHVybiBVRnIrZX1mdW5jdGlvbiBHRnIoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocil7WTIoKS50aGVuKGZ1bmN0aW9uKCl7dmFyIGE9WFZlKGUuY2hhbm5lbE5hbWUpLGk9e3Rva2VuOmRjKCksdGltZTpEYXRlLm5vdygpLGRhdGE6dCx1dWlkOmUudXVpZH0sbj1KU09OLnN0cmluZ2lmeShpKTtaVmUoKS5zZXRJdGVtKGEsbik7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iik7cy5pbml0RXZlbnQoInN0b3JhZ2UiLCEwLCEwKSxzLmtleT1hLHMubmV3VmFsdWU9bix3aW5kb3cuZGlzcGF0Y2hFdmVudChzKSxyKCl9KX0pfWZ1bmN0aW9uIFlGcihlLHQpe3ZhciByPVhWZShlKSxhPWZ1bmN0aW9uKG4pe24ua2V5PT09ciYmdChKU09OLnBhcnNlKG4ubmV3VmFsdWUpKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIixhKSxhfWZ1bmN0aW9uIFpGcihlKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsZSl9ZnVuY3Rpb24gWEZyKGUsdCl7aWYodD1jNih0KSwhUVZlKCkpdGhyb3cgbmV3IEVycm9yKCJCcm9hZGNhc3RDaGFubmVsOiBsb2NhbHN0b3JhZ2UgY2Fubm90IGJlIHVzZWQiKTt2YXIgcj1kYygpLGE9bmV3IG04KHQubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQpLGk9e2NoYW5uZWxOYW1lOmUsdXVpZDpyLGVNSXM6YX07cmV0dXJuIGkubGlzdGVuZXI9WUZyKGUsZnVuY3Rpb24obil7aS5tZXNzYWdlc0NhbGxiYWNrJiZuLnV1aWQhPT1yJiYoIW4udG9rZW58fGEuaGFzKG4udG9rZW4pfHxuLmRhdGEudGltZSYmbi5kYXRhLnRpbWU8aS5tZXNzYWdlc0NhbGxiYWNrVGltZXx8KGEuYWRkKG4udG9rZW4pLGkubWVzc2FnZXNDYWxsYmFjayhuLmRhdGEpKSl9KSxpfWZ1bmN0aW9uIFFGcihlKXtaRnIoZS5saXN0ZW5lcil9ZnVuY3Rpb24gSkZyKGUsdCxyKXtlLm1lc3NhZ2VzQ2FsbGJhY2tUaW1lPXIsZS5tZXNzYWdlc0NhbGxiYWNrPXR9ZnVuY3Rpb24gUVZlKCl7dmFyIGU9WlZlKCk7aWYoIWUpcmV0dXJuITE7dHJ5e3ZhciB0PSJfX2Jyb2FkY2FzdGNoYW5uZWxfY2hlY2siO2Uuc2V0SXRlbSh0LCJ3b3JrcyIpLGUucmVtb3ZlSXRlbSh0KX1jYXRjaHtyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBLRnIoKXt2YXIgZT0xMjAsdD1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQuaW5jbHVkZXMoInNhZmFyaSIpJiYhdC5pbmNsdWRlcygiY2hyb21lIik/ZSoyOmV9dmFyIFZGcixVRnIsV0ZyLEpWZSxLVmU9ZigoKT0+e1llZSgpO3FfKCk7dzQoKTtWRnI9dWMsVUZyPSJwdWJrZXkuYnJvYWRjYXN0Q2hhbm5lbC0iLFdGcj0ibG9jYWxzdG9yYWdlIjtKVmU9e2NyZWF0ZTpYRnIsY2xvc2U6UUZyLG9uTWVzc2FnZTpKRnIscG9zdE1lc3NhZ2U6R0ZyLGNhbkJlVXNlZDpRVmUsdHlwZTpXRnIsYXZlcmFnZVJlc3BvbnNlVGltZTpLRnIsbWljcm9TZWNvbmRzOlZGcn19KTtmdW5jdGlvbiB0T3IoZSl7dmFyIHQ9e3RpbWU6ZVVlKCksbmFtZTplLG1lc3NhZ2VzQ2FsbGJhY2s6bnVsbH07cmV0dXJuIFplZS5hZGQodCksdH1mdW5jdGlvbiByT3IoZSl7WmVlLmRlbGV0ZShlKX1mdW5jdGlvbiBhT3IoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocil7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYT1BcnJheS5mcm9tKFplZSk7YS5mb3JFYWNoKGZ1bmN0aW9uKGkpe2kubmFtZT09PWUubmFtZSYmaSE9PWUmJmkubWVzc2FnZXNDYWxsYmFjayYmaS50aW1lPHQudGltZSYmaS5tZXNzYWdlc0NhbGxiYWNrKHQpfSkscigpfSx0VWUpfSl9ZnVuY3Rpb24gaU9yKGUsdCl7ZS5tZXNzYWdlc0NhbGxiYWNrPXR9ZnVuY3Rpb24gbk9yKCl7cmV0dXJuITB9ZnVuY3Rpb24gc09yKCl7cmV0dXJuIHRVZX12YXIgZVVlLGVPcixaZWUsdFVlLHJVZSxhVWU9ZigoKT0+e3c0KCk7ZVVlPXVjLGVPcj0ic2ltdWxhdGUiLFplZT1uZXcgU2V0O3RVZT01O3JVZT17Y3JlYXRlOnRPcixjbG9zZTpyT3Isb25NZXNzYWdlOmlPcixwb3N0TWVzc2FnZTphT3IsY2FuQmVVc2VkOm5Pcix0eXBlOmVPcixhdmVyYWdlUmVzcG9uc2VUaW1lOnNPcixtaWNyb1NlY29uZHM6ZVVlfX0pO2Z1bmN0aW9uIFhlZShlKXt2YXIgdD1bXS5jb25jYXQoZS5tZXRob2RzLGlVZSkuZmlsdGVyKEJvb2xlYW4pO2lmKGUudHlwZSl7aWYoZS50eXBlPT09InNpbXVsYXRlIilyZXR1cm4gclVlO3ZhciByPXQuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS50eXBlPT09ZS50eXBlfSk7aWYocilyZXR1cm4gcjt0aHJvdyBuZXcgRXJyb3IoIm1ldGhvZC10eXBlICIrZS50eXBlKyIgbm90IGZvdW5kIil9ZS53ZWJXb3JrZXJTdXBwb3J0fHwodD10LmZpbHRlcihmdW5jdGlvbihpKXtyZXR1cm4gaS50eXBlIT09ImlkYiJ9KSk7dmFyIGE9dC5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmNhbkJlVXNlZCgpfSk7aWYoYSlyZXR1cm4gYTt0aHJvdyBuZXcgRXJyb3IoIk5vIHVzYWJsZSBtZXRob2QgZm91bmQgaW4gIitKU09OLnN0cmluZ2lmeShpVWUubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBpLnR5cGV9KSkpfXZhciBpVWUsblVlPWYoKCk9PntqVmUoKTtZVmUoKTtLVmUoKTthVWUoKTtpVWU9W3FWZSxHVmUsSlZlXX0pO2Z1bmN0aW9uIGxPcihlKXtlPWM2KGUpO3ZhciB0PVhlZShlKTtyZXR1cm4gdC50eXBlPT09Im5vZGUiP3QuY2xlYXJOb2RlRm9sZGVyKCkudGhlbihmdW5jdGlvbigpe3JldHVybiEwfSk6T1ZlfWZ1bmN0aW9uIGNPcihlKXtRZWU9ZX1mdW5jdGlvbiBzVWUoZSx0LHIpe3ZhciBhPWUubWV0aG9kLm1pY3JvU2Vjb25kcygpLGk9e3RpbWU6YSx0eXBlOnQsZGF0YTpyfSxuPWUuX3ByZXBQP2UuX3ByZXBQOlkxO3JldHVybiBuLnRoZW4oZnVuY3Rpb24oKXt2YXIgcz1lLm1ldGhvZC5wb3N0TWVzc2FnZShlLl9zdGF0ZSxpKTtyZXR1cm4gZS5fdU1QLmFkZChzKSxzLmNhdGNoKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBlLl91TVAuZGVsZXRlKHMpfSksc30pfWZ1bmN0aW9uIGRPcihlKXt2YXIgdD1lLm1ldGhvZC5jcmVhdGUoZS5uYW1lLGUub3B0aW9ucyk7RlZlKHQpPyhlLl9wcmVwUD10LHQudGhlbihmdW5jdGlvbihyKXtlLl9zdGF0ZT1yfSkpOmUuX3N0YXRlPXR9ZnVuY3Rpb24gb1VlKGUpe3JldHVybiBlLl9hZGRFTC5tZXNzYWdlLmxlbmd0aD4wfHxlLl9hZGRFTC5pbnRlcm5hbC5sZW5ndGg+MH1mdW5jdGlvbiBsVWUoZSx0LHIpe2UuX2FkZEVMW3RdLnB1c2gociksdU9yKGUpfWZ1bmN0aW9uIGNVZShlLHQscil7ZS5fYWRkRUxbdF09ZS5fYWRkRUxbdF0uZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhIT09cn0pLHBPcihlKX1mdW5jdGlvbiB1T3IoZSl7aWYoIWUuX2lMJiZvVWUoZSkpe3ZhciB0PWZ1bmN0aW9uKGkpe2UuX2FkZEVMW2kudHlwZV0uZm9yRWFjaChmdW5jdGlvbihuKXtpLnRpbWU+PW4udGltZSYmbi5mbihpLmRhdGEpfSl9LHI9ZS5tZXRob2QubWljcm9TZWNvbmRzKCk7ZS5fcHJlcFA/ZS5fcHJlcFAudGhlbihmdW5jdGlvbigpe2UuX2lMPSEwLGUubWV0aG9kLm9uTWVzc2FnZShlLl9zdGF0ZSx0LHIpfSk6KGUuX2lMPSEwLGUubWV0aG9kLm9uTWVzc2FnZShlLl9zdGF0ZSx0LHIpKX19ZnVuY3Rpb24gcE9yKGUpe2lmKGUuX2lMJiYhb1VlKGUpKXtlLl9pTD0hMTt2YXIgdD1lLm1ldGhvZC5taWNyb1NlY29uZHMoKTtlLm1ldGhvZC5vbk1lc3NhZ2UoZS5fc3RhdGUsbnVsbCx0KX19dmFyIEplZSxvT3IsZDYsUWVlLGRVZT1mKCgpPT57dzQoKTtuVWUoKTtxXygpO0plZT1uZXcgU2V0LG9Pcj0wLGQ2PWZ1bmN0aW9uKHQscil7dGhpcy5pZD1vT3IrKyxKZWUuYWRkKHRoaXMpLHRoaXMubmFtZT10LFFlZSYmKHI9UWVlKSx0aGlzLm9wdGlvbnM9YzYociksdGhpcy5tZXRob2Q9WGVlKHRoaXMub3B0aW9ucyksdGhpcy5faUw9ITEsdGhpcy5fb25NTD1udWxsLHRoaXMuX2FkZEVMPXttZXNzYWdlOltdLGludGVybmFsOltdfSx0aGlzLl91TVA9bmV3IFNldCx0aGlzLl9iZWZDPVtdLHRoaXMuX3ByZXBQPW51bGwsZE9yKHRoaXMpfTtkNi5fcHVia2V5PSEwO2Q2LnByb3RvdHlwZT17cG9zdE1lc3NhZ2U6ZnVuY3Rpb24odCl7aWYodGhpcy5jbG9zZWQpdGhyb3cgbmV3IEVycm9yKCJCcm9hZGNhc3RDaGFubmVsLnBvc3RNZXNzYWdlKCk6IENhbm5vdCBwb3N0IG1lc3NhZ2UgYWZ0ZXIgY2hhbm5lbCBoYXMgY2xvc2VkICIrSlNPTi5zdHJpbmdpZnkodCkpO3JldHVybiBzVWUodGhpcywibWVzc2FnZSIsdCl9LHBvc3RJbnRlcm5hbDpmdW5jdGlvbih0KXtyZXR1cm4gc1VlKHRoaXMsImludGVybmFsIix0KX0sc2V0IG9ubWVzc2FnZShlKXt2YXIgdD10aGlzLm1ldGhvZC5taWNyb1NlY29uZHMoKSxyPXt0aW1lOnQsZm46ZX07Y1VlKHRoaXMsIm1lc3NhZ2UiLHRoaXMuX29uTUwpLGUmJnR5cGVvZiBlPT0iZnVuY3Rpb24iPyh0aGlzLl9vbk1MPXIsbFVlKHRoaXMsIm1lc3NhZ2UiLHIpKTp0aGlzLl9vbk1MPW51bGx9LGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24odCxyKXt2YXIgYT10aGlzLm1ldGhvZC5taWNyb1NlY29uZHMoKSxpPXt0aW1lOmEsZm46cn07bFVlKHRoaXMsdCxpKX0scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LHIpe3ZhciBhPXRoaXMuX2FkZEVMW3RdLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkuZm49PT1yfSk7Y1VlKHRoaXMsdCxhKX0sY2xvc2U6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCF0aGlzLmNsb3NlZCl7SmVlLmRlbGV0ZSh0aGlzKSx0aGlzLmNsb3NlZD0hMDt2YXIgcj10aGlzLl9wcmVwUD90aGlzLl9wcmVwUDpZMTtyZXR1cm4gdGhpcy5fb25NTD1udWxsLHRoaXMuX2FkZEVMLm1lc3NhZ2U9W10sci50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UuYWxsKEFycmF5LmZyb20odC5fdU1QKSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UuYWxsKHQuX2JlZkMubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhKCl9KSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHQubWV0aG9kLmNsb3NlKHQuX3N0YXRlKX0pfX0sZ2V0IHR5cGUoKXtyZXR1cm4gdGhpcy5tZXRob2QudHlwZX0sZ2V0IGlzQ2xvc2VkKCl7cmV0dXJuIHRoaXMuY2xvc2VkfX19KTtmdW5jdGlvbiB1VWUoZSl7aWYodHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlPT0iZnVuY3Rpb24iJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUpe3ZhciB0PXNlbGYuY2xvc2UuYmluZChzZWxmKTtzZWxmLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuIGUoKSx0KCl9fWVsc2V7aWYodHlwZW9mIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyIT0iZnVuY3Rpb24iKXJldHVybjt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe2UoKX0sITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGZ1bmN0aW9uKCl7ZSgpfSwhMCl9fXZhciBwVWU9ZigoKT0+e30pO2Z1bmN0aW9uIGZVZShlKXtwcm9jZXNzLm9uKCJleGl0IixmdW5jdGlvbigpe3JldHVybiBlKCl9KSxwcm9jZXNzLm9uKCJiZWZvcmVFeGl0IixmdW5jdGlvbigpe3JldHVybiBlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBwcm9jZXNzLmV4aXQoKX0pfSkscHJvY2Vzcy5vbigiU0lHSU5UIixmdW5jdGlvbigpe3JldHVybiBlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBwcm9jZXNzLmV4aXQoKX0pfSkscHJvY2Vzcy5vbigidW5jYXVnaHRFeGNlcHRpb24iLGZ1bmN0aW9uKHQpe3JldHVybiBlKCkudGhlbihmdW5jdGlvbigpe2NvbnNvbGUudHJhY2UodCkscHJvY2Vzcy5leGl0KDEwMSl9KX0pfXZhciBoVWU9ZigoKT0+e30pO2Z1bmN0aW9uIG1Pcigpe21VZXx8KG1VZT0hMCxoT3IoZ09yKSl9ZnVuY3Rpb24gZ1VlKGUpe2lmKG1PcigpLHR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBFcnJvcigiTGlzdGVuZXIgaXMgbm8gZnVuY3Rpb24iKTt1Ni5hZGQoZSk7dmFyIHQ9e3JlbW92ZTpmdW5jdGlvbigpe3JldHVybiB1Ni5kZWxldGUoZSl9LHJ1bjpmdW5jdGlvbigpe3JldHVybiB1Ni5kZWxldGUoZSksZSgpfX07cmV0dXJuIHR9ZnVuY3Rpb24gZ09yKCl7dmFyIGU9W107cmV0dXJuIHU2LmZvckVhY2goZnVuY3Rpb24odCl7ZS5wdXNoKHQoKSksdTYuZGVsZXRlKHQpfSksUHJvbWlzZS5hbGwoZSl9ZnVuY3Rpb24gaU5pKCl7dTYuY2xlYXIoKX1mdW5jdGlvbiBuTmkoKXtyZXR1cm4gdTYuc2l6ZX12YXIgZk9yLGhPcix1NixtVWUsYlVlPWYoKCk9PntwVWUoKTtoVWUoKTtmT3I9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHR5cGVvZiBwcm9jZXNzPCJ1Ij9wcm9jZXNzOjApPT09IltvYmplY3QgcHJvY2Vzc10iLGhPcj1mT3I/ZlVlOnVVZSx1Nj1uZXcgU2V0LG1VZT0hMX0pO2Z1bmN0aW9uIHBjKGUsdCl7dmFyIHI9e2NvbnRleHQ6ImxlYWRlciIsYWN0aW9uOnQsdG9rZW46ZS50b2tlbn07cmV0dXJuIGUuYnJvYWRjYXN0Q2hhbm5lbC5wb3N0SW50ZXJuYWwocil9ZnVuY3Rpb24gVjkoZSl7ZS5pc0xlYWRlcj0hMCxlLl9oYXNMZWFkZXI9ITA7dmFyIHQ9Z1VlKGZ1bmN0aW9uKCl7cmV0dXJuIGUuZGllKCl9KTtlLl91bmwucHVzaCh0KTt2YXIgcj1mdW5jdGlvbihpKXtpLmNvbnRleHQ9PT0ibGVhZGVyIiYmaS5hY3Rpb249PT0iYXBwbHkiJiZwYyhlLCJ0ZWxsIiksaS5jb250ZXh0PT09ImxlYWRlciImJmkuYWN0aW9uPT09InRlbGwiJiYhZS5fZHBMQyYmKGUuX2RwTEM9ITAsZS5fZHBMKCkscGMoZSwidGVsbCIpKX07cmV0dXJuIGUuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIsciksZS5fbHN0bnMucHVzaChyKSxwYyhlLCJ0ZWxsIil9dmFyIFZfPWYoKCk9PntiVWUoKX0pO3ZhciBLZWUsdlVlPWYoKCk9Pnt3NCgpO1ZfKCk7S2VlPWZ1bmN0aW9uKHQscil7dmFyIGE9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9dCx0Ll9iZWZDLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gYS5kaWUoKX0pLHRoaXMuX29wdGlvbnM9cix0aGlzLmlzTGVhZGVyPSExLHRoaXMuaXNEZWFkPSExLHRoaXMudG9rZW49ZGMoKSx0aGlzLl9sc3Rucz1bXSx0aGlzLl91bmw9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExLHRoaXMuX3dLTUM9e30sdGhpcy5sTj0icHVia2V5LWJjfHwiK3QubWV0aG9kLnR5cGUrInx8Iit0Lm5hbWV9O0tlZS5wcm90b3R5cGU9e2hhc0xlYWRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIG5hdmlnYXRvci5sb2Nrcy5xdWVyeSgpLnRoZW4oZnVuY3Rpb24ocil7dmFyIGE9ci5oZWxkP3IuaGVsZC5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGkubmFtZT09PXQubE59KTpbXTtyZXR1cm4hIShhJiZhLmxlbmd0aD4wKX0pfSxhd2FpdExlYWRlcnNoaXA6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCF0aGlzLl93TE1QKXt0aGlzLl93S01DLmM9bmV3IEFib3J0Q29udHJvbGxlcjt2YXIgcj1uZXcgUHJvbWlzZShmdW5jdGlvbihhLGkpe3QuX3dLTUMucmVzPWEsdC5fd0tNQy5yZWo9aX0pO3RoaXMuX3dMTVA9bmV3IFByb21pc2UoZnVuY3Rpb24oYSxpKXtuYXZpZ2F0b3IubG9ja3MucmVxdWVzdCh0LmxOLHtzaWduYWw6dC5fd0tNQy5jLnNpZ25hbH0sZnVuY3Rpb24oKXtyZXR1cm4gdC5fd0tNQy5jPXZvaWQgMCxWOSh0KSxhKCkscn0pLmNhdGNoKGZ1bmN0aW9uKG4pe3QuX3dLTUMucmVqJiZ0Ll93S01DLnJlaihuKSxpKG4pfSl9KX1yZXR1cm4gdGhpcy5fd0xNUH0sc2V0IG9uZHVwbGljYXRlKGUpe30sZGllOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gdGhpcy5fbHN0bnMuZm9yRWFjaChmdW5jdGlvbihyKXtyZXR1cm4gdC5icm9hZGNhc3RDaGFubmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImludGVybmFsIixyKX0pLHRoaXMuX2xzdG5zPVtdLHRoaXMuX3VubC5mb3JFYWNoKGZ1bmN0aW9uKHIpe3JldHVybiByLnJlbW92ZSgpfSksdGhpcy5fdW5sPVtdLHRoaXMuaXNMZWFkZXImJih0aGlzLmlzTGVhZGVyPSExKSx0aGlzLmlzRGVhZD0hMCx0aGlzLl93S01DLnJlcyYmdGhpcy5fd0tNQy5yZXMoKSx0aGlzLl93S01DLmMmJnRoaXMuX3dLTUMuYy5hYm9ydCgiTGVhZGVyRWxlY3Rpb25XZWJMb2NrLmRpZSgpIGNhbGxlZCIpLHBjKHRoaXMsImRlYXRoIil9fX0pO2Z1bmN0aW9uIGJPcihlKXtyZXR1cm4gZS5pc0xlYWRlcj9ZMTpuZXcgUHJvbWlzZShmdW5jdGlvbih0KXt2YXIgcj0hMTtmdW5jdGlvbiBhKCl7cnx8KHI9ITAsZS5icm9hZGNhc3RDaGFubmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImludGVybmFsIixuKSx0KCEwKSl9ZS5hcHBseU9uY2UoKS50aGVuKGZ1bmN0aW9uKCl7ZS5pc0xlYWRlciYmYSgpfSk7dmFyIGk9ZnVuY3Rpb24oKXtyZXR1cm4gWTIoZS5fb3B0aW9ucy5mYWxsYmFja0ludGVydmFsKS50aGVuKGZ1bmN0aW9uKCl7aWYoIShlLmlzRGVhZHx8cikpaWYoZS5pc0xlYWRlcilhKCk7ZWxzZSByZXR1cm4gZS5hcHBseU9uY2UoITApLnRoZW4oZnVuY3Rpb24oKXtlLmlzTGVhZGVyP2EoKTppKCl9KX0pfTtpKCk7dmFyIG49ZnVuY3Rpb24obyl7by5jb250ZXh0PT09ImxlYWRlciImJm8uYWN0aW9uPT09ImRlYXRoIiYmKGUuX2hhc0xlYWRlcj0hMSxlLmFwcGx5T25jZSgpLnRoZW4oZnVuY3Rpb24oKXtlLmlzTGVhZGVyJiZhKCl9KSl9O2UuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIsbiksZS5fbHN0bnMucHVzaChuKX0pfWZ1bmN0aW9uIHZPcihlLHQpe3JldHVybiBlfHwoZT17fSksZT1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGUpKSxlLmZhbGxiYWNrSW50ZXJ2YWx8fChlLmZhbGxiYWNrSW50ZXJ2YWw9M2UzKSxlLnJlc3BvbnNlVGltZXx8KGUucmVzcG9uc2VUaW1lPXQubWV0aG9kLmF2ZXJhZ2VSZXNwb25zZVRpbWUodC5vcHRpb25zKSksZX1mdW5jdGlvbiB4T3IoZSx0KXtpZihlLl9sZWFkZXJFbGVjdG9yKXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbCBhbHJlYWR5IGhhcyBhIGxlYWRlci1lbGVjdG9yIik7dD12T3IodCxlKTt2YXIgcj1IVmUoKT9uZXcgS2VlKGUsdCk6bmV3IHhVZShlLHQpO3JldHVybiBlLl9iZWZDLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gci5kaWUoKX0pLGUuX2xlYWRlckVsZWN0b3I9cixyfXZhciB4VWUseVVlPWYoKCk9Pnt3NCgpO1ZfKCk7dlVlKCk7eFVlPWZ1bmN0aW9uKHQscil7dmFyIGE9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9dCx0aGlzLl9vcHRpb25zPXIsdGhpcy5pc0xlYWRlcj0hMSx0aGlzLl9oYXNMZWFkZXI9ITEsdGhpcy5pc0RlYWQ9ITEsdGhpcy50b2tlbj1kYygpLHRoaXMuX2FwbFE9WTEsdGhpcy5fYXBsUUM9MCx0aGlzLl91bmw9W10sdGhpcy5fbHN0bnM9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExO3ZhciBpPWZ1bmN0aW9uKHMpe3MuY29udGV4dD09PSJsZWFkZXIiJiYocy5hY3Rpb249PT0iZGVhdGgiJiYoYS5faGFzTGVhZGVyPSExKSxzLmFjdGlvbj09PSJ0ZWxsIiYmKGEuX2hhc0xlYWRlcj0hMCkpfTt0aGlzLmJyb2FkY2FzdENoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLGkpLHRoaXMuX2xzdG5zLnB1c2goaSl9O3hVZS5wcm90b3R5cGU9e2hhc0xlYWRlcjpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5faGFzTGVhZGVyKX0sYXBwbHlPbmNlOmZ1bmN0aW9uKHQpe3ZhciByPXRoaXM7aWYodGhpcy5pc0xlYWRlcilyZXR1cm4gWTIoMCwhMCk7aWYodGhpcy5pc0RlYWQpcmV0dXJuIFkyKDAsITEpO2lmKHRoaXMuX2FwbFFDPjEpcmV0dXJuIHRoaXMuX2FwbFE7dmFyIGE9ZnVuY3Rpb24oKXtpZihyLmlzTGVhZGVyKXJldHVybiBSVmU7dmFyIG49ITEscyxvPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHUpe3M9ZnVuY3Rpb24oKXtuPSEwLHUoKX19KSxjPWZ1bmN0aW9uKGQpe2QuY29udGV4dD09PSJsZWFkZXIiJiZkLnRva2VuIT1yLnRva2VuJiYoZC5hY3Rpb249PT0iYXBwbHkiJiZkLnRva2VuPnIudG9rZW4mJnMoKSxkLmFjdGlvbj09PSJ0ZWxsIiYmKHMoKSxyLl9oYXNMZWFkZXI9ITApKX07ci5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoImludGVybmFsIixjKTt2YXIgbD10P3IuX29wdGlvbnMucmVzcG9uc2VUaW1lKjQ6ci5fb3B0aW9ucy5yZXNwb25zZVRpbWU7cmV0dXJuIHBjKHIsImFwcGx5IikudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJhY2UoW1kyKGwpLG8udGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IpfSldKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcGMociwiYXBwbHkiKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yYWNlKFtZMihsKSxvLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKX0pXSl9KS5jYXRjaChmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gci5icm9hZGNhc3RDaGFubmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImludGVybmFsIixjKSxuPyExOlY5KHIpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pfSl9O3JldHVybiB0aGlzLl9hcGxRQz10aGlzLl9hcGxRQysxLHRoaXMuX2FwbFE9dGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEoKX0pLnRoZW4oZnVuY3Rpb24oKXtyLl9hcGxRQz1yLl9hcGxRQy0xfSksdGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHIuaXNMZWFkZXJ9KX0sYXdhaXRMZWFkZXJzaGlwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FMUHx8KHRoaXMuX2FMUD1iT3IodGhpcykpLHRoaXMuX2FMUH0sc2V0IG9uZHVwbGljYXRlKGUpe3RoaXMuX2RwTD1lfSxkaWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLl9sc3Rucy5mb3JFYWNoKGZ1bmN0aW9uKHIpe3JldHVybiB0LmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLHIpfSksdGhpcy5fbHN0bnM9W10sdGhpcy5fdW5sLmZvckVhY2goZnVuY3Rpb24ocil7cmV0dXJuIHIucmVtb3ZlKCl9KSx0aGlzLl91bmw9W10sdGhpcy5pc0xlYWRlciYmKHRoaXMuX2hhc0xlYWRlcj0hMSx0aGlzLmlzTGVhZGVyPSExKSx0aGlzLmlzRGVhZD0hMCxwYyh0aGlzLCJkZWF0aCIpfX19KTt2YXIgd1VlPWYoKCk9PntkVWUoKTt5VWUoKTtWXygpfSk7dmFyIE1VZT1mKCgpPT57STIoKTtyQygpO3E5KCk7d1VlKCl9KTt2YXIgZXRlLHR0ZSxrVWU9ZigoKT0+e01VZSgpO2V0ZT1nbG9iYWxUaGlzLkJyb2FkY2FzdENoYW5uZWw7ZXRlfHwoZXRlPWQ2KTt0dGU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmJyb2FkY2FzdENoYW5uZWw9bmV3IGV0ZSgiZGVlcy1jb21tcyIpLHRoaXMudHlwZWRyb3V0ZXI9bmV3IFhuLlR5cGVkUm91dGVyLHRoaXMudHlwZWR0YXJnZXQ9bmV3IFhuLlR5cGVkVGFyZ2V0KHtwb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyOmFzeW5jIHQ9Pnt0aGlzLnBvc3RNZXNzYWdlKHQpfSx0eXBlZFJvdXRlclJlZjp0aGlzLnR5cGVkcm91dGVyfSksdGhpcy5icm9hZGNhc3RDaGFubmVsLm9ubWVzc2FnZT1hc3luYyB0PT57bGV0IHI9dC5tZXRob2Q/dDp0LmRhdGE7Y29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkocikpO2xldCBhPWF3YWl0IHRoaXMudHlwZWRyb3V0ZXIucm91dGVBbmRBZGRSZXNwb25zZShyLHtza2lwSG9va3M6ITB9KTthJiYhYS5lcnJvciYmdGhpcy5wb3N0TWVzc2FnZShhKX19Y3JlYXRlVHlwZWRSZXF1ZXN0KHQpe3JldHVybiBuZXcgWG4uVHlwZWRSZXF1ZXN0KHRoaXMudHlwZWR0YXJnZXQsdCl9YXN5bmMgcG9zdE1lc3NhZ2UodCl7dGhpcy5icm9hZGNhc3RDaGFubmVsLnBvc3RNZXNzYWdlKHQpfWFzeW5jIGNyZWF0ZVR5cGVkSGFuZGxlcih0LHIpe3RoaXMudHlwZWRyb3V0ZXIuYWRkVHlwZWRIYW5kbGVyKG5ldyBYbi5UeXBlZEhhbmRsZXIodCxyKSl9fX0pO3ZhciBVOT17fTtSZShVOSx7RGVlc0NvbW1zOigpPT50dGV9KTt2YXIgU1VlPWYoKCk9PntrVWUoKX0pO3ZhciBmNj1qZSgoa05pLHA2KT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB6VWUoZSl7cmV0dXJuIHR5cGVvZiBlPiJ1Inx8ZT09PW51bGx9ZnVuY3Rpb24gd09yKGUpe3JldHVybiB0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsfWZ1bmN0aW9uIE1PcihlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOnpVZShlKT9bXTpbZV19ZnVuY3Rpb24ga09yKGUsdCl7dmFyIHIsYSxpLG47aWYodClmb3Iobj1PYmplY3Qua2V5cyh0KSxyPTAsYT1uLmxlbmd0aDtyPGE7cis9MSlpPW5bcl0sZVtpXT10W2ldO3JldHVybiBlfWZ1bmN0aW9uIFNPcihlLHQpe3ZhciByPSIiLGE7Zm9yKGE9MDthPHQ7YSs9MSlyKz1lO3JldHVybiByfWZ1bmN0aW9uIHpPcihlKXtyZXR1cm4gZT09PTAmJk51bWJlci5ORUdBVElWRV9JTkZJTklUWT09PTEvZX1wNi5leHBvcnRzLmlzTm90aGluZz16VWUscDYuZXhwb3J0cy5pc09iamVjdD13T3IscDYuZXhwb3J0cy50b0FycmF5PU1PcixwNi5leHBvcnRzLnJlcGVhdD1TT3IscDYuZXhwb3J0cy5pc05lZ2F0aXZlWmVybz16T3IscDYuZXhwb3J0cy5leHRlbmQ9a09yfSk7dmFyIGc4PWplKChTTmksQ1VlKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBXOShlLHQpe0Vycm9yLmNhbGwodGhpcyksdGhpcy5uYW1lPSJZQU1MRXhjZXB0aW9uIix0aGlzLnJlYXNvbj1lLHRoaXMubWFyaz10LHRoaXMubWVzc2FnZT0odGhpcy5yZWFzb258fCIodW5rbm93biByZWFzb24pIikrKHRoaXMubWFyaz8iICIrdGhpcy5tYXJrLnRvU3RyaW5nKCk6IiIpLEVycm9yLmNhcHR1cmVTdGFja1RyYWNlP0Vycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsdGhpcy5jb25zdHJ1Y3Rvcik6dGhpcy5zdGFjaz1uZXcgRXJyb3IoKS5zdGFja3x8IiJ9VzkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxXOS5wcm90b3R5cGUuY29uc3RydWN0b3I9VzksVzkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMubmFtZSsiOiAiO3JldHVybiByKz10aGlzLnJlYXNvbnx8Iih1bmtub3duIHJlYXNvbikiLCF0JiZ0aGlzLm1hcmsmJihyKz0iICIrdGhpcy5tYXJrLnRvU3RyaW5nKCkpLHJ9LENVZS5leHBvcnRzPVc5fSk7dmFyIExVZT1qZSgoek5pLF9VZSk9PnsidXNlIHN0cmljdCI7dmFyIFRVZT1mNigpO2Z1bmN0aW9uIHJ0ZShlLHQscixhLGkpe3RoaXMubmFtZT1lLHRoaXMuYnVmZmVyPXQsdGhpcy5wb3NpdGlvbj1yLHRoaXMubGluZT1hLHRoaXMuY29sdW1uPWl9cnRlLnByb3RvdHlwZS5nZXRTbmlwcGV0PWZ1bmN0aW9uKHQscil7dmFyIGEsaSxuLHMsbztpZighdGhpcy5idWZmZXIpcmV0dXJuIG51bGw7Zm9yKHQ9dHx8NCxyPXJ8fDc1LGE9IiIsaT10aGlzLnBvc2l0aW9uO2k+MCYmYFwwXHIKXHg4NVx1MjAyOFx1MjAyOWAuaW5kZXhPZih0aGlzLmJ1ZmZlci5jaGFyQXQoaS0xKSk9PT0tMTspaWYoaS09MSx0aGlzLnBvc2l0aW9uLWk+ci8yLTEpe2E9IiAuLi4gIixpKz01O2JyZWFrfWZvcihuPSIiLHM9dGhpcy5wb3NpdGlvbjtzPHRoaXMuYnVmZmVyLmxlbmd0aCYmYFwwXHIKXHg4NVx1MjAyOFx1MjAyOWAuaW5kZXhPZih0aGlzLmJ1ZmZlci5jaGFyQXQocykpPT09LTE7KWlmKHMrPTEscy10aGlzLnBvc2l0aW9uPnIvMi0xKXtuPSIgLi4uICIscy09NTticmVha31yZXR1cm4gbz10aGlzLmJ1ZmZlci5zbGljZShpLHMpLFRVZS5yZXBlYXQoIiAiLHQpK2ErbytuK2AKYCtUVWUucmVwZWF0KCIgIix0K3RoaXMucG9zaXRpb24taSthLmxlbmd0aCkrIl4ifSxydGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3ZhciByLGE9IiI7cmV0dXJuIHRoaXMubmFtZSYmKGErPSdpbiAiJyt0aGlzLm5hbWUrJyIgJyksYSs9ImF0IGxpbmUgIisodGhpcy5saW5lKzEpKyIsIGNvbHVtbiAiKyh0aGlzLmNvbHVtbisxKSx0fHwocj10aGlzLmdldFNuaXBwZXQoKSxyJiYoYSs9YDoKYCtyKSksYX0sX1VlLmV4cG9ydHM9cnRlfSk7dmFyIHhpPWplKChDTmksRFVlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgJFVlPWc4KCksQ09yPVsia2luZCIsInJlc29sdmUiLCJjb25zdHJ1Y3QiLCJpbnN0YW5jZU9mIiwicHJlZGljYXRlIiwicmVwcmVzZW50IiwiZGVmYXVsdFN0eWxlIiwic3R5bGVBbGlhc2VzIl0sVE9yPVsic2NhbGFyIiwic2VxdWVuY2UiLCJtYXBwaW5nIl07ZnVuY3Rpb24gX09yKGUpe3ZhciB0PXt9O3JldHVybiBlIT09bnVsbCYmT2JqZWN0LmtleXMoZSkuZm9yRWFjaChmdW5jdGlvbihyKXtlW3JdLmZvckVhY2goZnVuY3Rpb24oYSl7dFtTdHJpbmcoYSldPXJ9KX0pLHR9ZnVuY3Rpb24gTE9yKGUsdCl7aWYodD10fHx7fSxPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKENPci5pbmRleE9mKHIpPT09LTEpdGhyb3cgbmV3ICRVZSgnVW5rbm93biBvcHRpb24gIicrcisnIiBpcyBtZXQgaW4gZGVmaW5pdGlvbiBvZiAiJytlKyciIFlBTUwgdHlwZS4nKX0pLHRoaXMudGFnPWUsdGhpcy5raW5kPXQua2luZHx8bnVsbCx0aGlzLnJlc29sdmU9dC5yZXNvbHZlfHxmdW5jdGlvbigpe3JldHVybiEwfSx0aGlzLmNvbnN0cnVjdD10LmNvbnN0cnVjdHx8ZnVuY3Rpb24ocil7cmV0dXJuIHJ9LHRoaXMuaW5zdGFuY2VPZj10Lmluc3RhbmNlT2Z8fG51bGwsdGhpcy5wcmVkaWNhdGU9dC5wcmVkaWNhdGV8fG51bGwsdGhpcy5yZXByZXNlbnQ9dC5yZXByZXNlbnR8fG51bGwsdGhpcy5kZWZhdWx0U3R5bGU9dC5kZWZhdWx0U3R5bGV8fG51bGwsdGhpcy5zdHlsZUFsaWFzZXM9X09yKHQuc3R5bGVBbGlhc2VzfHxudWxsKSxUT3IuaW5kZXhPZih0aGlzLmtpbmQpPT09LTEpdGhyb3cgbmV3ICRVZSgnVW5rbm93biBraW5kICInK3RoaXMua2luZCsnIiBpcyBzcGVjaWZpZWQgZm9yICInK2UrJyIgWUFNTCB0eXBlLicpfURVZS5leHBvcnRzPUxPcn0pO3ZhciBoNj1qZSgoVE5pLEVVZSk9PnsidXNlIHN0cmljdCI7dmFyIEFVZT1mNigpLFVfPWc4KCksJE9yPXhpKCk7ZnVuY3Rpb24gYXRlKGUsdCxyKXt2YXIgYT1bXTtyZXR1cm4gZS5pbmNsdWRlLmZvckVhY2goZnVuY3Rpb24oaSl7cj1hdGUoaSx0LHIpfSksZVt0XS5mb3JFYWNoKGZ1bmN0aW9uKGkpe3IuZm9yRWFjaChmdW5jdGlvbihuLHMpe24udGFnPT09aS50YWcmJm4ua2luZD09PWkua2luZCYmYS5wdXNoKHMpfSksci5wdXNoKGkpfSksci5maWx0ZXIoZnVuY3Rpb24oaSxuKXtyZXR1cm4gYS5pbmRleE9mKG4pPT09LTF9KX1mdW5jdGlvbiBET3IoKXt2YXIgZT17c2NhbGFyOnt9LHNlcXVlbmNlOnt9LG1hcHBpbmc6e30sZmFsbGJhY2s6e319LHQscjtmdW5jdGlvbiBhKGkpe2VbaS5raW5kXVtpLnRhZ109ZS5mYWxsYmFja1tpLnRhZ109aX1mb3IodD0wLHI9YXJndW1lbnRzLmxlbmd0aDt0PHI7dCs9MSlhcmd1bWVudHNbdF0uZm9yRWFjaChhKTtyZXR1cm4gZX1mdW5jdGlvbiBiOChlKXt0aGlzLmluY2x1ZGU9ZS5pbmNsdWRlfHxbXSx0aGlzLmltcGxpY2l0PWUuaW1wbGljaXR8fFtdLHRoaXMuZXhwbGljaXQ9ZS5leHBsaWNpdHx8W10sdGhpcy5pbXBsaWNpdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKHQubG9hZEtpbmQmJnQubG9hZEtpbmQhPT0ic2NhbGFyIil0aHJvdyBuZXcgVV8oIlRoZXJlIGlzIGEgbm9uLXNjYWxhciB0eXBlIGluIHRoZSBpbXBsaWNpdCBsaXN0IG9mIGEgc2NoZW1hLiBJbXBsaWNpdCByZXNvbHZpbmcgb2Ygc3VjaCB0eXBlcyBpcyBub3Qgc3VwcG9ydGVkLiIpfSksdGhpcy5jb21waWxlZEltcGxpY2l0PWF0ZSh0aGlzLCJpbXBsaWNpdCIsW10pLHRoaXMuY29tcGlsZWRFeHBsaWNpdD1hdGUodGhpcywiZXhwbGljaXQiLFtdKSx0aGlzLmNvbXBpbGVkVHlwZU1hcD1ET3IodGhpcy5jb21waWxlZEltcGxpY2l0LHRoaXMuY29tcGlsZWRFeHBsaWNpdCl9YjguREVGQVVMVD1udWxsLGI4LmNyZWF0ZT1mdW5jdGlvbigpe3ZhciB0LHI7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTp0PWI4LkRFRkFVTFQscj1hcmd1bWVudHNbMF07YnJlYWs7Y2FzZSAyOnQ9YXJndW1lbnRzWzBdLHI9YXJndW1lbnRzWzFdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFVfKCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIGZvciBTY2hlbWEuY3JlYXRlIGZ1bmN0aW9uIil9aWYodD1BVWUudG9BcnJheSh0KSxyPUFVZS50b0FycmF5KHIpLCF0LmV2ZXJ5KGZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgYjh9KSl0aHJvdyBuZXcgVV8oIlNwZWNpZmllZCBsaXN0IG9mIHN1cGVyIHNjaGVtYXMgKG9yIGEgc2luZ2xlIFNjaGVtYSBvYmplY3QpIGNvbnRhaW5zIGEgbm9uLVNjaGVtYSBvYmplY3QuIik7aWYoIXIuZXZlcnkoZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiAkT3J9KSl0aHJvdyBuZXcgVV8oIlNwZWNpZmllZCBsaXN0IG9mIFlBTUwgdHlwZXMgKG9yIGEgc2luZ2xlIFR5cGUgb2JqZWN0KSBjb250YWlucyBhIG5vbi1UeXBlIG9iamVjdC4iKTtyZXR1cm4gbmV3IGI4KHtpbmNsdWRlOnQsZXhwbGljaXQ6cn0pfSxFVWUuZXhwb3J0cz1iOH0pO3ZhciBQVWU9amUoKF9OaSxJVWUpPT57InVzZSBzdHJpY3QiO3ZhciBBT3I9eGkoKTtJVWUuZXhwb3J0cz1uZXcgQU9yKCJ0YWc6eWFtbC5vcmcsMjAwMjpzdHIiLHtraW5kOiJzY2FsYXIiLGNvbnN0cnVjdDpmdW5jdGlvbihlKXtyZXR1cm4gZSE9PW51bGw/ZToiIn19KX0pO3ZhciBGVWU9amUoKExOaSxOVWUpPT57InVzZSBzdHJpY3QiO3ZhciBFT3I9eGkoKTtOVWUuZXhwb3J0cz1uZXcgRU9yKCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXEiLHtraW5kOiJzZXF1ZW5jZSIsY29uc3RydWN0OmZ1bmN0aW9uKGUpe3JldHVybiBlIT09bnVsbD9lOltdfX0pfSk7dmFyIFJVZT1qZSgoJE5pLE9VZSk9PnsidXNlIHN0cmljdCI7dmFyIElPcj14aSgpO09VZS5leHBvcnRzPW5ldyBJT3IoInRhZzp5YW1sLm9yZywyMDAyOm1hcCIse2tpbmQ6Im1hcHBpbmciLGNvbnN0cnVjdDpmdW5jdGlvbihlKXtyZXR1cm4gZSE9PW51bGw/ZTp7fX19KX0pO3ZhciBXXz1qZSgoRE5pLEJVZSk9PnsidXNlIHN0cmljdCI7dmFyIFBPcj1oNigpO0JVZS5leHBvcnRzPW5ldyBQT3Ioe2V4cGxpY2l0OltQVWUoKSxGVWUoKSxSVWUoKV19KX0pO3ZhciBxVWU9amUoKEFOaSxIVWUpPT57InVzZSBzdHJpY3QiO3ZhciBOT3I9eGkoKTtmdW5jdGlvbiBGT3IoZSl7aWYoZT09PW51bGwpcmV0dXJuITA7dmFyIHQ9ZS5sZW5ndGg7cmV0dXJuIHQ9PT0xJiZlPT09In4ifHx0PT09NCYmKGU9PT0ibnVsbCJ8fGU9PT0iTnVsbCJ8fGU9PT0iTlVMTCIpfWZ1bmN0aW9uIE9Pcigpe3JldHVybiBudWxsfWZ1bmN0aW9uIFJPcihlKXtyZXR1cm4gZT09PW51bGx9SFVlLmV4cG9ydHM9bmV3IE5PcigidGFnOnlhbWwub3JnLDIwMDI6bnVsbCIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTpGT3IsY29uc3RydWN0Ok9PcixwcmVkaWNhdGU6Uk9yLHJlcHJlc2VudDp7Y2Fub25pY2FsOmZ1bmN0aW9uKCl7cmV0dXJuIn4ifSxsb3dlcmNhc2U6ZnVuY3Rpb24oKXtyZXR1cm4ibnVsbCJ9LHVwcGVyY2FzZTpmdW5jdGlvbigpe3JldHVybiJOVUxMIn0sY2FtZWxjYXNlOmZ1bmN0aW9uKCl7cmV0dXJuIk51bGwifX0sZGVmYXVsdFN0eWxlOiJsb3dlcmNhc2UifSl9KTt2YXIgVlVlPWplKChFTmksalVlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgQk9yPXhpKCk7ZnVuY3Rpb24gSE9yKGUpe2lmKGU9PT1udWxsKXJldHVybiExO3ZhciB0PWUubGVuZ3RoO3JldHVybiB0PT09NCYmKGU9PT0idHJ1ZSJ8fGU9PT0iVHJ1ZSJ8fGU9PT0iVFJVRSIpfHx0PT09NSYmKGU9PT0iZmFsc2UifHxlPT09IkZhbHNlInx8ZT09PSJGQUxTRSIpfWZ1bmN0aW9uIHFPcihlKXtyZXR1cm4gZT09PSJ0cnVlInx8ZT09PSJUcnVlInx8ZT09PSJUUlVFIn1mdW5jdGlvbiBqT3IoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT09PSJbb2JqZWN0IEJvb2xlYW5dIn1qVWUuZXhwb3J0cz1uZXcgQk9yKCJ0YWc6eWFtbC5vcmcsMjAwMjpib29sIix7a2luZDoic2NhbGFyIixyZXNvbHZlOkhPcixjb25zdHJ1Y3Q6cU9yLHByZWRpY2F0ZTpqT3IscmVwcmVzZW50Ontsb3dlcmNhc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/InRydWUiOiJmYWxzZSJ9LHVwcGVyY2FzZTpmdW5jdGlvbihlKXtyZXR1cm4gZT8iVFJVRSI6IkZBTFNFIn0sY2FtZWxjYXNlOmZ1bmN0aW9uKGUpe3JldHVybiBlPyJUcnVlIjoiRmFsc2UifX0sZGVmYXVsdFN0eWxlOiJsb3dlcmNhc2UifSl9KTt2YXIgV1VlPWplKChJTmksVVVlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgVk9yPWY2KCksVU9yPXhpKCk7ZnVuY3Rpb24gV09yKGUpe3JldHVybiA0ODw9ZSYmZTw9NTd8fDY1PD1lJiZlPD03MHx8OTc8PWUmJmU8PTEwMn1mdW5jdGlvbiBHT3IoZSl7cmV0dXJuIDQ4PD1lJiZlPD01NX1mdW5jdGlvbiBZT3IoZSl7cmV0dXJuIDQ4PD1lJiZlPD01N31mdW5jdGlvbiBaT3IoZSl7aWYoZT09PW51bGwpcmV0dXJuITE7dmFyIHQ9ZS5sZW5ndGgscj0wLGE9ITEsaTtpZighdClyZXR1cm4hMTtpZihpPWVbcl0sKGk9PT0iLSJ8fGk9PT0iKyIpJiYoaT1lWysrcl0pLGk9PT0iMCIpe2lmKHIrMT09PXQpcmV0dXJuITA7aWYoaT1lWysrcl0saT09PSJiIil7Zm9yKHIrKztyPHQ7cisrKWlmKGk9ZVtyXSxpIT09Il8iKXtpZihpIT09IjAiJiZpIT09IjEiKXJldHVybiExO2E9ITB9cmV0dXJuIGEmJmkhPT0iXyJ9aWYoaT09PSJ4Iil7Zm9yKHIrKztyPHQ7cisrKWlmKGk9ZVtyXSxpIT09Il8iKXtpZighV09yKGUuY2hhckNvZGVBdChyKSkpcmV0dXJuITE7YT0hMH1yZXR1cm4gYSYmaSE9PSJfIn1mb3IoO3I8dDtyKyspaWYoaT1lW3JdLGkhPT0iXyIpe2lmKCFHT3IoZS5jaGFyQ29kZUF0KHIpKSlyZXR1cm4hMTthPSEwfXJldHVybiBhJiZpIT09Il8ifWlmKGk9PT0iXyIpcmV0dXJuITE7Zm9yKDtyPHQ7cisrKWlmKGk9ZVtyXSxpIT09Il8iKXtpZihpPT09IjoiKWJyZWFrO2lmKCFZT3IoZS5jaGFyQ29kZUF0KHIpKSlyZXR1cm4hMTthPSEwfXJldHVybiFhfHxpPT09Il8iPyExOmkhPT0iOiI/ITA6L14oOlswLTVdP1swLTldKSskLy50ZXN0KGUuc2xpY2UocikpfWZ1bmN0aW9uIFhPcihlKXt2YXIgdD1lLHI9MSxhLGksbj1bXTtyZXR1cm4gdC5pbmRleE9mKCJfIikhPT0tMSYmKHQ9dC5yZXBsYWNlKC9fL2csIiIpKSxhPXRbMF0sKGE9PT0iLSJ8fGE9PT0iKyIpJiYoYT09PSItIiYmKHI9LTEpLHQ9dC5zbGljZSgxKSxhPXRbMF0pLHQ9PT0iMCI/MDphPT09IjAiP3RbMV09PT0iYiI/cipwYXJzZUludCh0LnNsaWNlKDIpLDIpOnRbMV09PT0ieCI/cipwYXJzZUludCh0LDE2KTpyKnBhcnNlSW50KHQsOCk6dC5pbmRleE9mKCI6IikhPT0tMT8odC5zcGxpdCgiOiIpLmZvckVhY2goZnVuY3Rpb24ocyl7bi51bnNoaWZ0KHBhcnNlSW50KHMsMTApKX0pLHQ9MCxpPTEsbi5mb3JFYWNoKGZ1bmN0aW9uKHMpe3QrPXMqaSxpKj02MH0pLHIqdCk6cipwYXJzZUludCh0LDEwKX1mdW5jdGlvbiBRT3IoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT09PSJbb2JqZWN0IE51bWJlcl0iJiZlJTE9PT0wJiYhVk9yLmlzTmVnYXRpdmVaZXJvKGUpfVVVZS5leHBvcnRzPW5ldyBVT3IoInRhZzp5YW1sLm9yZywyMDAyOmludCIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTpaT3IsY29uc3RydWN0OlhPcixwcmVkaWNhdGU6UU9yLHJlcHJlc2VudDp7YmluYXJ5OmZ1bmN0aW9uKGUpe3JldHVybiBlPj0wPyIwYiIrZS50b1N0cmluZygyKToiLTBiIitlLnRvU3RyaW5nKDIpLnNsaWNlKDEpfSxvY3RhbDpmdW5jdGlvbihlKXtyZXR1cm4gZT49MD8iMCIrZS50b1N0cmluZyg4KToiLTAiK2UudG9TdHJpbmcoOCkuc2xpY2UoMSl9LGRlY2ltYWw6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9TdHJpbmcoMTApfSxoZXhhZGVjaW1hbDpmdW5jdGlvbihlKXtyZXR1cm4gZT49MD8iMHgiK2UudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk6Ii0weCIrZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKS5zbGljZSgxKX19LGRlZmF1bHRTdHlsZToiZGVjaW1hbCIsc3R5bGVBbGlhc2VzOntiaW5hcnk6WzIsImJpbiJdLG9jdGFsOls4LCJvY3QiXSxkZWNpbWFsOlsxMCwiZGVjIl0saGV4YWRlY2ltYWw6WzE2LCJoZXgiXX19KX0pO3ZhciBaVWU9amUoKFBOaSxZVWUpPT57InVzZSBzdHJpY3QiO3ZhciBHVWU9ZjYoKSxKT3I9eGkoKSxLT3I9bmV3IFJlZ0V4cCgiXig/OlstK10/KD86MHxbMS05XVswLTlfXSopKD86XFwuWzAtOV9dKik/KD86W2VFXVstK10/WzAtOV0rKT98XFwuWzAtOV9dKyg/OltlRV1bLStdP1swLTldKyk/fFstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKStcXC5bMC05X10qfFstK10/XFwuKD86aW5mfEluZnxJTkYpfFxcLig/Om5hbnxOYU58TkFOKSkkIik7ZnVuY3Rpb24gZVJyKGUpe3JldHVybiEoZT09PW51bGx8fCFLT3IudGVzdChlKXx8ZVtlLmxlbmd0aC0xXT09PSJfIil9ZnVuY3Rpb24gdFJyKGUpe3ZhciB0LHIsYSxpO3JldHVybiB0PWUucmVwbGFjZSgvXy9nLCIiKS50b0xvd2VyQ2FzZSgpLHI9dFswXT09PSItIj8tMToxLGk9W10sIistIi5pbmRleE9mKHRbMF0pPj0wJiYodD10LnNsaWNlKDEpKSx0PT09Ii5pbmYiP3I9PT0xP051bWJlci5QT1NJVElWRV9JTkZJTklUWTpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk6dD09PSIubmFuIj9OYU46dC5pbmRleE9mKCI6Iik+PTA/KHQuc3BsaXQoIjoiKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2kudW5zaGlmdChwYXJzZUZsb2F0KG4sMTApKX0pLHQ9MCxhPTEsaS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3QrPW4qYSxhKj02MH0pLHIqdCk6cipwYXJzZUZsb2F0KHQsMTApfXZhciByUnI9L15bLStdP1swLTldK2UvO2Z1bmN0aW9uIGFScihlLHQpe3ZhciByO2lmKGlzTmFOKGUpKXN3aXRjaCh0KXtjYXNlImxvd2VyY2FzZSI6cmV0dXJuIi5uYW4iO2Nhc2UidXBwZXJjYXNlIjpyZXR1cm4iLk5BTiI7Y2FzZSJjYW1lbGNhc2UiOnJldHVybiIuTmFOIn1lbHNlIGlmKE51bWJlci5QT1NJVElWRV9JTkZJTklUWT09PWUpc3dpdGNoKHQpe2Nhc2UibG93ZXJjYXNlIjpyZXR1cm4iLmluZiI7Y2FzZSJ1cHBlcmNhc2UiOnJldHVybiIuSU5GIjtjYXNlImNhbWVsY2FzZSI6cmV0dXJuIi5JbmYifWVsc2UgaWYoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZPT09ZSlzd2l0Y2godCl7Y2FzZSJsb3dlcmNhc2UiOnJldHVybiItLmluZiI7Y2FzZSJ1cHBlcmNhc2UiOnJldHVybiItLklORiI7Y2FzZSJjYW1lbGNhc2UiOnJldHVybiItLkluZiJ9ZWxzZSBpZihHVWUuaXNOZWdhdGl2ZVplcm8oZSkpcmV0dXJuIi0wLjAiO3JldHVybiByPWUudG9TdHJpbmcoMTApLHJSci50ZXN0KHIpP3IucmVwbGFjZSgiZSIsIi5lIik6cn1mdW5jdGlvbiBpUnIoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT09PSJbb2JqZWN0IE51bWJlcl0iJiYoZSUxIT09MHx8R1VlLmlzTmVnYXRpdmVaZXJvKGUpKX1ZVWUuZXhwb3J0cz1uZXcgSk9yKCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTplUnIsY29uc3RydWN0OnRScixwcmVkaWNhdGU6aVJyLHJlcHJlc2VudDphUnIsZGVmYXVsdFN0eWxlOiJsb3dlcmNhc2UifSl9KTt2YXIgaXRlPWplKChOTmksWFVlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgblJyPWg2KCk7WFVlLmV4cG9ydHM9bmV3IG5Scih7aW5jbHVkZTpbV18oKV0saW1wbGljaXQ6W3FVZSgpLFZVZSgpLFdVZSgpLFpVZSgpXX0pfSk7dmFyIG50ZT1qZSgoRk5pLFFVZSk9PnsidXNlIHN0cmljdCI7dmFyIHNScj1oNigpO1FVZS5leHBvcnRzPW5ldyBzUnIoe2luY2x1ZGU6W2l0ZSgpXX0pfSk7dmFyIHRXZT1qZSgoT05pLGVXZSk9PnsidXNlIHN0cmljdCI7dmFyIG9Scj14aSgpLEpVZT1uZXcgUmVnRXhwKCJeKFswLTldWzAtOV1bMC05XVswLTldKS0oWzAtOV1bMC05XSktKFswLTldWzAtOV0pJCIpLEtVZT1uZXcgUmVnRXhwKCJeKFswLTldWzAtOV1bMC05XVswLTldKS0oWzAtOV1bMC05XT8pLShbMC05XVswLTldPykoPzpbVHRdfFsgXFx0XSspKFswLTldWzAtOV0/KTooWzAtOV1bMC05XSk6KFswLTldWzAtOV0pKD86XFwuKFswLTldKikpPyg/OlsgXFx0XSooWnwoWy0rXSkoWzAtOV1bMC05XT8pKD86OihbMC05XVswLTldKSk/KSk/JCIpO2Z1bmN0aW9uIGxScihlKXtyZXR1cm4gZT09PW51bGw/ITE6SlVlLmV4ZWMoZSkhPT1udWxsfHxLVWUuZXhlYyhlKSE9PW51bGx9ZnVuY3Rpb24gY1JyKGUpe3ZhciB0LHIsYSxpLG4scyxvLGM9MCxsPW51bGwsdSxkLGg7aWYodD1KVWUuZXhlYyhlKSx0PT09bnVsbCYmKHQ9S1VlLmV4ZWMoZSkpLHQ9PT1udWxsKXRocm93IG5ldyBFcnJvcigiRGF0ZSByZXNvbHZlIGVycm9yIik7aWYocj0rdFsxXSxhPSt0WzJdLTEsaT0rdFszXSwhdFs0XSlyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMocixhLGkpKTtpZihuPSt0WzRdLHM9K3RbNV0sbz0rdFs2XSx0WzddKXtmb3IoYz10WzddLnNsaWNlKDAsMyk7Yy5sZW5ndGg8MzspYys9IjAiO2M9K2N9cmV0dXJuIHRbOV0mJih1PSt0WzEwXSxkPSsodFsxMV18fDApLGw9KHUqNjArZCkqNmU0LHRbOV09PT0iLSImJihsPS1sKSksaD1uZXcgRGF0ZShEYXRlLlVUQyhyLGEsaSxuLHMsbyxjKSksbCYmaC5zZXRUaW1lKGguZ2V0VGltZSgpLWwpLGh9ZnVuY3Rpb24gZFJyKGUpe3JldHVybiBlLnRvSVNPU3RyaW5nKCl9ZVdlLmV4cG9ydHM9bmV3IG9ScigidGFnOnlhbWwub3JnLDIwMDI6dGltZXN0YW1wIix7a2luZDoic2NhbGFyIixyZXNvbHZlOmxScixjb25zdHJ1Y3Q6Y1JyLGluc3RhbmNlT2Y6RGF0ZSxyZXByZXNlbnQ6ZFJyfSl9KTt2YXIgYVdlPWplKChSTmkscldlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdVJyPXhpKCk7ZnVuY3Rpb24gcFJyKGUpe3JldHVybiBlPT09Ijw8Inx8ZT09PW51bGx9cldlLmV4cG9ydHM9bmV3IHVScigidGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6cFJyfSl9KTt2YXIgc1dlPWplKChCTmksbldlKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbTY7dHJ5e2lXZT10MCxtNj1pV2UoImJ1ZmZlciIpLkJ1ZmZlcn1jYXRjaHt9dmFyIGZScj14aSgpLHN0ZT1gQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0KXHJgO2Z1bmN0aW9uIGhScihlKXtpZihlPT09bnVsbClyZXR1cm4hMTt2YXIgdCxyLGE9MCxpPWUubGVuZ3RoLG49c3RlO2ZvcihyPTA7cjxpO3IrKylpZih0PW4uaW5kZXhPZihlLmNoYXJBdChyKSksISh0PjY0KSl7aWYodDwwKXJldHVybiExO2ErPTZ9cmV0dXJuIGElOD09PTB9ZnVuY3Rpb24gbVJyKGUpe3ZhciB0LHIsYT1lLnJlcGxhY2UoL1tcclxuPV0vZywiIiksaT1hLmxlbmd0aCxuPXN0ZSxzPTAsbz1bXTtmb3IodD0wO3Q8aTt0KyspdCU0PT09MCYmdCYmKG8ucHVzaChzPj4xNiYyNTUpLG8ucHVzaChzPj44JjI1NSksby5wdXNoKHMmMjU1KSkscz1zPDw2fG4uaW5kZXhPZihhLmNoYXJBdCh0KSk7cmV0dXJuIHI9aSU0KjYscj09PTA/KG8ucHVzaChzPj4xNiYyNTUpLG8ucHVzaChzPj44JjI1NSksby5wdXNoKHMmMjU1KSk6cj09PTE4PyhvLnB1c2gocz4+MTAmMjU1KSxvLnB1c2gocz4+MiYyNTUpKTpyPT09MTImJm8ucHVzaChzPj40JjI1NSksbTY/bTYuZnJvbT9tNi5mcm9tKG8pOm5ldyBtNihvKTpvfWZ1bmN0aW9uIGdScihlKXt2YXIgdD0iIixyPTAsYSxpLG49ZS5sZW5ndGgscz1zdGU7Zm9yKGE9MDthPG47YSsrKWElMz09PTAmJmEmJih0Kz1zW3I+PjE4JjYzXSx0Kz1zW3I+PjEyJjYzXSx0Kz1zW3I+PjYmNjNdLHQrPXNbciY2M10pLHI9KHI8PDgpK2VbYV07cmV0dXJuIGk9biUzLGk9PT0wPyh0Kz1zW3I+PjE4JjYzXSx0Kz1zW3I+PjEyJjYzXSx0Kz1zW3I+PjYmNjNdLHQrPXNbciY2M10pOmk9PT0yPyh0Kz1zW3I+PjEwJjYzXSx0Kz1zW3I+PjQmNjNdLHQrPXNbcjw8MiY2M10sdCs9c1s2NF0pOmk9PT0xJiYodCs9c1tyPj4yJjYzXSx0Kz1zW3I8PDQmNjNdLHQrPXNbNjRdLHQrPXNbNjRdKSx0fWZ1bmN0aW9uIGJScihlKXtyZXR1cm4gbTYmJm02LmlzQnVmZmVyKGUpfW5XZS5leHBvcnRzPW5ldyBmUnIoInRhZzp5YW1sLm9yZywyMDAyOmJpbmFyeSIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTpoUnIsY29uc3RydWN0Om1ScixwcmVkaWNhdGU6YlJyLHJlcHJlc2VudDpnUnJ9KTt2YXIgaVdlfSk7dmFyIGxXZT1qZSgocU5pLG9XZSk9PnsidXNlIHN0cmljdCI7dmFyIHZScj14aSgpLHhScj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHlScj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIHdScihlKXtpZihlPT09bnVsbClyZXR1cm4hMDt2YXIgdD1bXSxyLGEsaSxuLHMsbz1lO2ZvcihyPTAsYT1vLmxlbmd0aDtyPGE7cis9MSl7aWYoaT1vW3JdLHM9ITEseVJyLmNhbGwoaSkhPT0iW29iamVjdCBPYmplY3RdIilyZXR1cm4hMTtmb3IobiBpbiBpKWlmKHhSci5jYWxsKGksbikpaWYoIXMpcz0hMDtlbHNlIHJldHVybiExO2lmKCFzKXJldHVybiExO2lmKHQuaW5kZXhPZihuKT09PS0xKXQucHVzaChuKTtlbHNlIHJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIE1ScihlKXtyZXR1cm4gZSE9PW51bGw/ZTpbXX1vV2UuZXhwb3J0cz1uZXcgdlJyKCJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIix7a2luZDoic2VxdWVuY2UiLHJlc29sdmU6d1JyLGNvbnN0cnVjdDpNUnJ9KX0pO3ZhciBkV2U9amUoKGpOaSxjV2UpPT57InVzZSBzdHJpY3QiO3ZhciBrUnI9eGkoKSxTUnI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiB6UnIoZSl7aWYoZT09PW51bGwpcmV0dXJuITA7dmFyIHQscixhLGksbixzPWU7Zm9yKG49bmV3IEFycmF5KHMubGVuZ3RoKSx0PTAscj1zLmxlbmd0aDt0PHI7dCs9MSl7aWYoYT1zW3RdLFNSci5jYWxsKGEpIT09IltvYmplY3QgT2JqZWN0XSJ8fChpPU9iamVjdC5rZXlzKGEpLGkubGVuZ3RoIT09MSkpcmV0dXJuITE7blt0XT1baVswXSxhW2lbMF1dXX1yZXR1cm4hMH1mdW5jdGlvbiBDUnIoZSl7aWYoZT09PW51bGwpcmV0dXJuW107dmFyIHQscixhLGksbixzPWU7Zm9yKG49bmV3IEFycmF5KHMubGVuZ3RoKSx0PTAscj1zLmxlbmd0aDt0PHI7dCs9MSlhPXNbdF0saT1PYmplY3Qua2V5cyhhKSxuW3RdPVtpWzBdLGFbaVswXV1dO3JldHVybiBufWNXZS5leHBvcnRzPW5ldyBrUnIoInRhZzp5YW1sLm9yZywyMDAyOnBhaXJzIix7a2luZDoic2VxdWVuY2UiLHJlc29sdmU6elJyLGNvbnN0cnVjdDpDUnJ9KX0pO3ZhciBwV2U9amUoKFZOaSx1V2UpPT57InVzZSBzdHJpY3QiO3ZhciBUUnI9eGkoKSxfUnI9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBMUnIoZSl7aWYoZT09PW51bGwpcmV0dXJuITA7dmFyIHQscj1lO2Zvcih0IGluIHIpaWYoX1JyLmNhbGwocix0KSYmclt0XSE9PW51bGwpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gJFJyKGUpe3JldHVybiBlIT09bnVsbD9lOnt9fXVXZS5leHBvcnRzPW5ldyBUUnIoInRhZzp5YW1sLm9yZywyMDAyOnNldCIse2tpbmQ6Im1hcHBpbmciLHJlc29sdmU6TFJyLGNvbnN0cnVjdDokUnJ9KX0pO3ZhciB2OD1qZSgoVU5pLGZXZSk9PnsidXNlIHN0cmljdCI7dmFyIERScj1oNigpO2ZXZS5leHBvcnRzPW5ldyBEUnIoe2luY2x1ZGU6W250ZSgpXSxpbXBsaWNpdDpbdFdlKCksYVdlKCldLGV4cGxpY2l0OltzV2UoKSxsV2UoKSxkV2UoKSxwV2UoKV19KX0pO3ZhciBtV2U9amUoKFdOaSxoV2UpPT57InVzZSBzdHJpY3QiO3ZhciBBUnI9eGkoKTtmdW5jdGlvbiBFUnIoKXtyZXR1cm4hMH1mdW5jdGlvbiBJUnIoKXt9ZnVuY3Rpb24gUFJyKCl7cmV0dXJuIiJ9ZnVuY3Rpb24gTlJyKGUpe3JldHVybiB0eXBlb2YgZT4idSJ9aFdlLmV4cG9ydHM9bmV3IEFScigidGFnOnlhbWwub3JnLDIwMDI6anMvdW5kZWZpbmVkIix7a2luZDoic2NhbGFyIixyZXNvbHZlOkVScixjb25zdHJ1Y3Q6SVJyLHByZWRpY2F0ZTpOUnIscmVwcmVzZW50OlBScn0pfSk7dmFyIGJXZT1qZSgoR05pLGdXZSk9PnsidXNlIHN0cmljdCI7dmFyIEZScj14aSgpO2Z1bmN0aW9uIE9ScihlKXtpZihlPT09bnVsbHx8ZS5sZW5ndGg9PT0wKXJldHVybiExO3ZhciB0PWUscj0vXC8oW2dpbV0qKSQvLmV4ZWMoZSksYT0iIjtyZXR1cm4hKHRbMF09PT0iLyImJihyJiYoYT1yWzFdKSxhLmxlbmd0aD4zfHx0W3QubGVuZ3RoLWEubGVuZ3RoLTFdIT09Ii8iKSl9ZnVuY3Rpb24gUlJyKGUpe3ZhciB0PWUscj0vXC8oW2dpbV0qKSQvLmV4ZWMoZSksYT0iIjtyZXR1cm4gdFswXT09PSIvIiYmKHImJihhPXJbMV0pLHQ9dC5zbGljZSgxLHQubGVuZ3RoLWEubGVuZ3RoLTEpKSxuZXcgUmVnRXhwKHQsYSl9ZnVuY3Rpb24gQlJyKGUpe3ZhciB0PSIvIitlLnNvdXJjZSsiLyI7cmV0dXJuIGUuZ2xvYmFsJiYodCs9ImciKSxlLm11bHRpbGluZSYmKHQrPSJtIiksZS5pZ25vcmVDYXNlJiYodCs9ImkiKSx0fWZ1bmN0aW9uIEhScihlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPT09IltvYmplY3QgUmVnRXhwXSJ9Z1dlLmV4cG9ydHM9bmV3IEZScigidGFnOnlhbWwub3JnLDIwMDI6anMvcmVnZXhwIix7a2luZDoic2NhbGFyIixyZXNvbHZlOk9Scixjb25zdHJ1Y3Q6UlJyLHByZWRpY2F0ZTpIUnIscmVwcmVzZW50OkJScn0pfSk7dmFyIHlXZT1qZSgoWU5pLHhXZSk9PnsidXNlIHN0cmljdCI7dmFyIEdfO3RyeXt2V2U9dDAsR189dldlKCJlc3ByaW1hIil9Y2F0Y2h7dHlwZW9mIHdpbmRvdzwidSImJihHXz13aW5kb3cuZXNwcmltYSl9dmFyIHFScj14aSgpO2Z1bmN0aW9uIGpScihlKXtpZihlPT09bnVsbClyZXR1cm4hMTt0cnl7dmFyIHQ9IigiK2UrIikiLHI9R18ucGFyc2UodCx7cmFuZ2U6ITB9KTtyZXR1cm4hKHIudHlwZSE9PSJQcm9ncmFtInx8ci5ib2R5Lmxlbmd0aCE9PTF8fHIuYm9keVswXS50eXBlIT09IkV4cHJlc3Npb25TdGF0ZW1lbnQifHxyLmJvZHlbMF0uZXhwcmVzc2lvbi50eXBlIT09IkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiYmci5ib2R5WzBdLmV4cHJlc3Npb24udHlwZSE9PSJGdW5jdGlvbkV4cHJlc3Npb24iKX1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gVlJyKGUpe3ZhciB0PSIoIitlKyIpIixyPUdfLnBhcnNlKHQse3JhbmdlOiEwfSksYT1bXSxpO2lmKHIudHlwZSE9PSJQcm9ncmFtInx8ci5ib2R5Lmxlbmd0aCE9PTF8fHIuYm9keVswXS50eXBlIT09IkV4cHJlc3Npb25TdGF0ZW1lbnQifHxyLmJvZHlbMF0uZXhwcmVzc2lvbi50eXBlIT09IkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiYmci5ib2R5WzBdLmV4cHJlc3Npb24udHlwZSE9PSJGdW5jdGlvbkV4cHJlc3Npb24iKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIHJlc29sdmUgZnVuY3Rpb24iKTtyZXR1cm4gci5ib2R5WzBdLmV4cHJlc3Npb24ucGFyYW1zLmZvckVhY2goZnVuY3Rpb24obil7YS5wdXNoKG4ubmFtZSl9KSxpPXIuYm9keVswXS5leHByZXNzaW9uLmJvZHkucmFuZ2Usci5ib2R5WzBdLmV4cHJlc3Npb24uYm9keS50eXBlPT09IkJsb2NrU3RhdGVtZW50Ij9uZXcgRnVuY3Rpb24oYSx0LnNsaWNlKGlbMF0rMSxpWzFdLTEpKTpuZXcgRnVuY3Rpb24oYSwicmV0dXJuICIrdC5zbGljZShpWzBdLGlbMV0pKX1mdW5jdGlvbiBVUnIoZSl7cmV0dXJuIGUudG9TdHJpbmcoKX1mdW5jdGlvbiBXUnIoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT09PSJbb2JqZWN0IEZ1bmN0aW9uXSJ9eFdlLmV4cG9ydHM9bmV3IHFScigidGFnOnlhbWwub3JnLDIwMDI6anMvZnVuY3Rpb24iLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6alJyLGNvbnN0cnVjdDpWUnIscHJlZGljYXRlOldScixyZXByZXNlbnQ6VVJyfSk7dmFyIHZXZX0pO3ZhciBHOT1qZSgoWE5pLE1XZSk9PnsidXNlIHN0cmljdCI7dmFyIHdXZT1oNigpO01XZS5leHBvcnRzPXdXZS5ERUZBVUxUPW5ldyB3V2Uoe2luY2x1ZGU6W3Y4KCldLGV4cGxpY2l0OlttV2UoKSxiV2UoKSx5V2UoKV19KX0pO3ZhciBxV2U9amUoKFFOaSxZOSk9PnsidXNlIHN0cmljdCI7dmFyIGZjPWY2KCksa1dlPWc4KCksR1JyPUxVZSgpLFNXZT12OCgpLFlScj1HOSgpLE00PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksWV89MSx6V2U9MixDV2U9MyxaXz00LG90ZT0xLFpScj0yLFRXZT0zLFhScj0vW1x4MDAtXHgwOFx4MEJceDBDXHgwRS1ceDFGXHg3Ri1ceDg0XHg4Ni1ceDlGXHVGRkZFXHVGRkZGXXxbXHVEODAwLVx1REJGRl0oPyFbXHVEQzAwLVx1REZGRl0pfCg/OlteXHVEODAwLVx1REJGRl18XilbXHVEQzAwLVx1REZGRl0vLFFScj0vW1x4ODVcdTIwMjhcdTIwMjldLyxKUnI9L1ssXFtcXVx7XH1dLyxfV2U9L14oPzohfCEhfCFbYS16XC1dKyEpJC9pLExXZT0vXig/OiF8W14sXFtcXVx7XH1dKSg/OiVbMC05YS1mXXsyfXxbMC05YS16XC0jO1wvXD86QCY9XCtcJCxfXC4hflwqJ1woXClcW1xdXSkqJC9pO2Z1bmN0aW9uICRXZShlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWZ1bmN0aW9uIFoyKGUpe3JldHVybiBlPT09MTB8fGU9PT0xM31mdW5jdGlvbiBnNihlKXtyZXR1cm4gZT09PTl8fGU9PT0zMn1mdW5jdGlvbiBUMShlKXtyZXR1cm4gZT09PTl8fGU9PT0zMnx8ZT09PTEwfHxlPT09MTN9ZnVuY3Rpb24geDgoZSl7cmV0dXJuIGU9PT00NHx8ZT09PTkxfHxlPT09OTN8fGU9PT0xMjN8fGU9PT0xMjV9ZnVuY3Rpb24gS1JyKGUpe3ZhciB0O3JldHVybiA0ODw9ZSYmZTw9NTc/ZS00ODoodD1lfDMyLDk3PD10JiZ0PD0xMDI/dC05NysxMDotMSl9ZnVuY3Rpb24gZUJyKGUpe3JldHVybiBlPT09MTIwPzI6ZT09PTExNz80OmU9PT04NT84OjB9ZnVuY3Rpb24gdEJyKGUpe3JldHVybiA0ODw9ZSYmZTw9NTc/ZS00ODotMX1mdW5jdGlvbiBEV2UoZSl7cmV0dXJuIGU9PT00OD8iXDAiOmU9PT05Nz8iXHgwNyI6ZT09PTk4PyJcYiI6ZT09PTExNnx8ZT09PTk/IgkiOmU9PT0xMTA/YApgOmU9PT0xMTg/Ilx2IjplPT09MTAyPyJcZiI6ZT09PTExND8iXHIiOmU9PT0xMDE/Ilx4MUIiOmU9PT0zMj8iICI6ZT09PTM0PyciJzplPT09NDc/Ii8iOmU9PT05Mj8iXFwiOmU9PT03OD8iXHg4NSI6ZT09PTk1PyJceEEwIjplPT09NzY/Ilx1MjAyOCI6ZT09PTgwPyJcdTIwMjkiOiIifWZ1bmN0aW9uIHJCcihlKXtyZXR1cm4gZTw9NjU1MzU/U3RyaW5nLmZyb21DaGFyQ29kZShlKTpTdHJpbmcuZnJvbUNoYXJDb2RlKChlLTY1NTM2Pj4xMCkrNTUyOTYsKGUtNjU1MzYmMTAyMykrNTYzMjApfWZ1bmN0aW9uIEFXZShlLHQscil7dD09PSJfX3Byb3RvX18iP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTplW3RdPXJ9dmFyIEVXZT1uZXcgQXJyYXkoMjU2KSxJV2U9bmV3IEFycmF5KDI1Nik7Zm9yKGI2PTA7YjY8MjU2O2I2KyspRVdlW2I2XT1EV2UoYjYpPzE6MCxJV2VbYjZdPURXZShiNik7ZnVuY3Rpb24gYUJyKGUsdCl7dGhpcy5pbnB1dD1lLHRoaXMuZmlsZW5hbWU9dC5maWxlbmFtZXx8bnVsbCx0aGlzLnNjaGVtYT10LnNjaGVtYXx8WVJyLHRoaXMub25XYXJuaW5nPXQub25XYXJuaW5nfHxudWxsLHRoaXMubGVnYWN5PXQubGVnYWN5fHwhMSx0aGlzLmpzb249dC5qc29ufHwhMSx0aGlzLmxpc3RlbmVyPXQubGlzdGVuZXJ8fG51bGwsdGhpcy5pbXBsaWNpdFR5cGVzPXRoaXMuc2NoZW1hLmNvbXBpbGVkSW1wbGljaXQsdGhpcy50eXBlTWFwPXRoaXMuc2NoZW1hLmNvbXBpbGVkVHlwZU1hcCx0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLnBvc2l0aW9uPTAsdGhpcy5saW5lPTAsdGhpcy5saW5lU3RhcnQ9MCx0aGlzLmxpbmVJbmRlbnQ9MCx0aGlzLmRvY3VtZW50cz1bXX1mdW5jdGlvbiBQV2UoZSx0KXtyZXR1cm4gbmV3IGtXZSh0LG5ldyBHUnIoZS5maWxlbmFtZSxlLmlucHV0LGUucG9zaXRpb24sZS5saW5lLGUucG9zaXRpb24tZS5saW5lU3RhcnQpKX1mdW5jdGlvbiB3dChlLHQpe3Rocm93IFBXZShlLHQpfWZ1bmN0aW9uIFhfKGUsdCl7ZS5vbldhcm5pbmcmJmUub25XYXJuaW5nLmNhbGwobnVsbCxQV2UoZSx0KSl9dmFyIE5XZT17WUFNTDpmdW5jdGlvbih0LHIsYSl7dmFyIGksbixzO3QudmVyc2lvbiE9PW51bGwmJnd0KHQsImR1cGxpY2F0aW9uIG9mICVZQU1MIGRpcmVjdGl2ZSIpLGEubGVuZ3RoIT09MSYmd3QodCwiWUFNTCBkaXJlY3RpdmUgYWNjZXB0cyBleGFjdGx5IG9uZSBhcmd1bWVudCIpLGk9L14oWzAtOV0rKVwuKFswLTldKykkLy5leGVjKGFbMF0pLGk9PT1udWxsJiZ3dCh0LCJpbGwtZm9ybWVkIGFyZ3VtZW50IG9mIHRoZSBZQU1MIGRpcmVjdGl2ZSIpLG49cGFyc2VJbnQoaVsxXSwxMCkscz1wYXJzZUludChpWzJdLDEwKSxuIT09MSYmd3QodCwidW5hY2NlcHRhYmxlIFlBTUwgdmVyc2lvbiBvZiB0aGUgZG9jdW1lbnQiKSx0LnZlcnNpb249YVswXSx0LmNoZWNrTGluZUJyZWFrcz1zPDIscyE9PTEmJnMhPT0yJiZYXyh0LCJ1bnN1cHBvcnRlZCBZQU1MIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50Iil9LFRBRzpmdW5jdGlvbih0LHIsYSl7dmFyIGksbjthLmxlbmd0aCE9PTImJnd0KHQsIlRBRyBkaXJlY3RpdmUgYWNjZXB0cyBleGFjdGx5IHR3byBhcmd1bWVudHMiKSxpPWFbMF0sbj1hWzFdLF9XZS50ZXN0KGkpfHx3dCh0LCJpbGwtZm9ybWVkIHRhZyBoYW5kbGUgKGZpcnN0IGFyZ3VtZW50KSBvZiB0aGUgVEFHIGRpcmVjdGl2ZSIpLE00LmNhbGwodC50YWdNYXAsaSkmJnd0KHQsJ3RoZXJlIGlzIGEgcHJldmlvdXNseSBkZWNsYXJlZCBzdWZmaXggZm9yICInK2krJyIgdGFnIGhhbmRsZScpLExXZS50ZXN0KG4pfHx3dCh0LCJpbGwtZm9ybWVkIHRhZyBwcmVmaXggKHNlY29uZCBhcmd1bWVudCkgb2YgdGhlIFRBRyBkaXJlY3RpdmUiKSx0LnRhZ01hcFtpXT1ufX07ZnVuY3Rpb24gazQoZSx0LHIsYSl7dmFyIGksbixzLG87aWYodDxyKXtpZihvPWUuaW5wdXQuc2xpY2UodCxyKSxhKWZvcihpPTAsbj1vLmxlbmd0aDtpPG47aSs9MSlzPW8uY2hhckNvZGVBdChpKSxzPT09OXx8MzI8PXMmJnM8PTExMTQxMTF8fHd0KGUsImV4cGVjdGVkIHZhbGlkIEpTT04gY2hhcmFjdGVyIik7ZWxzZSBYUnIudGVzdChvKSYmd3QoZSwidGhlIHN0cmVhbSBjb250YWlucyBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMiKTtlLnJlc3VsdCs9b319ZnVuY3Rpb24gRldlKGUsdCxyLGEpe3ZhciBpLG4scyxvO2ZvcihmYy5pc09iamVjdChyKXx8d3QoZSwiY2Fubm90IG1lcmdlIG1hcHBpbmdzOyB0aGUgcHJvdmlkZWQgc291cmNlIG9iamVjdCBpcyB1bmFjY2VwdGFibGUiKSxpPU9iamVjdC5rZXlzKHIpLHM9MCxvPWkubGVuZ3RoO3M8bztzKz0xKW49aVtzXSxNNC5jYWxsKHQsbil8fChBV2UodCxuLHJbbl0pLGFbbl09ITApfWZ1bmN0aW9uIHk4KGUsdCxyLGEsaSxuLHMsbyl7dmFyIGMsbDtpZihBcnJheS5pc0FycmF5KGkpKWZvcihpPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGkpLGM9MCxsPWkubGVuZ3RoO2M8bDtjKz0xKUFycmF5LmlzQXJyYXkoaVtjXSkmJnd0KGUsIm5lc3RlZCBhcnJheXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW5zaWRlIGtleXMiKSx0eXBlb2YgaT09Im9iamVjdCImJiRXZShpW2NdKT09PSJbb2JqZWN0IE9iamVjdF0iJiYoaVtjXT0iW29iamVjdCBPYmplY3RdIik7aWYodHlwZW9mIGk9PSJvYmplY3QiJiYkV2UoaSk9PT0iW29iamVjdCBPYmplY3RdIiYmKGk9IltvYmplY3QgT2JqZWN0XSIpLGk9U3RyaW5nKGkpLHQ9PT1udWxsJiYodD17fSksYT09PSJ0YWc6eWFtbC5vcmcsMjAwMjptZXJnZSIpaWYoQXJyYXkuaXNBcnJheShuKSlmb3IoYz0wLGw9bi5sZW5ndGg7YzxsO2MrPTEpRldlKGUsdCxuW2NdLHIpO2Vsc2UgRldlKGUsdCxuLHIpO2Vsc2UhZS5qc29uJiYhTTQuY2FsbChyLGkpJiZNNC5jYWxsKHQsaSkmJihlLmxpbmU9c3x8ZS5saW5lLGUucG9zaXRpb249b3x8ZS5wb3NpdGlvbix3dChlLCJkdXBsaWNhdGVkIG1hcHBpbmcga2V5IikpLEFXZSh0LGksbiksZGVsZXRlIHJbaV07cmV0dXJuIHR9ZnVuY3Rpb24gbHRlKGUpe3ZhciB0O3Q9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLHQ9PT0xMD9lLnBvc2l0aW9uKys6dD09PTEzPyhlLnBvc2l0aW9uKyssZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pPT09MTAmJmUucG9zaXRpb24rKyk6d3QoZSwiYSBsaW5lIGJyZWFrIGlzIGV4cGVjdGVkIiksZS5saW5lKz0xLGUubGluZVN0YXJ0PWUucG9zaXRpb259ZnVuY3Rpb24gaWkoZSx0LHIpe2Zvcih2YXIgYT0wLGk9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pO2khPT0wOyl7Zm9yKDtnNihpKTspaT1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtpZih0JiZpPT09MzUpZG8gaT1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTt3aGlsZShpIT09MTAmJmkhPT0xMyYmaSE9PTApO2lmKFoyKGkpKWZvcihsdGUoZSksaT1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbiksYSsrLGUubGluZUluZGVudD0wO2k9PT0zMjspZS5saW5lSW5kZW50KyssaT1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtlbHNlIGJyZWFrfXJldHVybiByIT09LTEmJmEhPT0wJiZlLmxpbmVJbmRlbnQ8ciYmWF8oZSwiZGVmaWNpZW50IGluZGVudGF0aW9uIiksYX1mdW5jdGlvbiBRXyhlKXt2YXIgdD1lLnBvc2l0aW9uLHI7cmV0dXJuIHI9ZS5pbnB1dC5jaGFyQ29kZUF0KHQpLCEhKChyPT09NDV8fHI9PT00NikmJnI9PT1lLmlucHV0LmNoYXJDb2RlQXQodCsxKSYmcj09PWUuaW5wdXQuY2hhckNvZGVBdCh0KzIpJiYodCs9MyxyPWUuaW5wdXQuY2hhckNvZGVBdCh0KSxyPT09MHx8VDEocikpKX1mdW5jdGlvbiBjdGUoZSx0KXt0PT09MT9lLnJlc3VsdCs9IiAiOnQ+MSYmKGUucmVzdWx0Kz1mYy5yZXBlYXQoYApgLHQtMSkpfWZ1bmN0aW9uIGlCcihlLHQscil7dmFyIGEsaSxuLHMsbyxjLGwsdSxkPWUua2luZCxoPWUucmVzdWx0LG07aWYobT1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbiksVDEobSl8fHg4KG0pfHxtPT09MzV8fG09PT0zOHx8bT09PTQyfHxtPT09MzN8fG09PT0xMjR8fG09PT02Mnx8bT09PTM5fHxtPT09MzR8fG09PT0zN3x8bT09PTY0fHxtPT09OTZ8fChtPT09NjN8fG09PT00NSkmJihpPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKzEpLFQxKGkpfHxyJiZ4OChpKSkpcmV0dXJuITE7Zm9yKGUua2luZD0ic2NhbGFyIixlLnJlc3VsdD0iIixuPXM9ZS5wb3NpdGlvbixvPSExO20hPT0wOyl7aWYobT09PTU4KXtpZihpPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKzEpLFQxKGkpfHxyJiZ4OChpKSlicmVha31lbHNlIGlmKG09PT0zNSl7aWYoYT1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbi0xKSxUMShhKSlicmVha31lbHNle2lmKGUucG9zaXRpb249PT1lLmxpbmVTdGFydCYmUV8oZSl8fHImJng4KG0pKWJyZWFrO2lmKFoyKG0pKWlmKGM9ZS5saW5lLGw9ZS5saW5lU3RhcnQsdT1lLmxpbmVJbmRlbnQsaWkoZSwhMSwtMSksZS5saW5lSW5kZW50Pj10KXtvPSEwLG09ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pO2NvbnRpbnVlfWVsc2V7ZS5wb3NpdGlvbj1zLGUubGluZT1jLGUubGluZVN0YXJ0PWwsZS5saW5lSW5kZW50PXU7YnJlYWt9fW8mJihrNChlLG4scywhMSksY3RlKGUsZS5saW5lLWMpLG49cz1lLnBvc2l0aW9uLG89ITEpLGc2KG0pfHwocz1lLnBvc2l0aW9uKzEpLG09ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbil9cmV0dXJuIGs0KGUsbixzLCExKSxlLnJlc3VsdD8hMDooZS5raW5kPWQsZS5yZXN1bHQ9aCwhMSl9ZnVuY3Rpb24gbkJyKGUsdCl7dmFyIHIsYSxpO2lmKHI9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLHIhPT0zOSlyZXR1cm4hMTtmb3IoZS5raW5kPSJzY2FsYXIiLGUucmVzdWx0PSIiLGUucG9zaXRpb24rKyxhPWk9ZS5wb3NpdGlvbjsocj1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbikpIT09MDspaWYocj09PTM5KWlmKGs0KGUsYSxlLnBvc2l0aW9uLCEwKSxyPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pLHI9PT0zOSlhPWUucG9zaXRpb24sZS5wb3NpdGlvbisrLGk9ZS5wb3NpdGlvbjtlbHNlIHJldHVybiEwO2Vsc2UgWjIocik/KGs0KGUsYSxpLCEwKSxjdGUoZSxpaShlLCExLHQpKSxhPWk9ZS5wb3NpdGlvbik6ZS5wb3NpdGlvbj09PWUubGluZVN0YXJ0JiZRXyhlKT93dChlLCJ1bmV4cGVjdGVkIGVuZCBvZiB0aGUgZG9jdW1lbnQgd2l0aGluIGEgc2luZ2xlIHF1b3RlZCBzY2FsYXIiKTooZS5wb3NpdGlvbisrLGk9ZS5wb3NpdGlvbik7d3QoZSwidW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbSB3aXRoaW4gYSBzaW5nbGUgcXVvdGVkIHNjYWxhciIpfWZ1bmN0aW9uIHNCcihlLHQpe3ZhciByLGEsaSxuLHMsbztpZihvPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKSxvIT09MzQpcmV0dXJuITE7Zm9yKGUua2luZD0ic2NhbGFyIixlLnJlc3VsdD0iIixlLnBvc2l0aW9uKysscj1hPWUucG9zaXRpb247KG89ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pKSE9PTA7KXtpZihvPT09MzQpcmV0dXJuIGs0KGUscixlLnBvc2l0aW9uLCEwKSxlLnBvc2l0aW9uKyssITA7aWYobz09PTkyKXtpZihrNChlLHIsZS5wb3NpdGlvbiwhMCksbz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSxaMihvKSlpaShlLCExLHQpO2Vsc2UgaWYobzwyNTYmJkVXZVtvXSllLnJlc3VsdCs9SVdlW29dLGUucG9zaXRpb24rKztlbHNlIGlmKChzPWVCcihvKSk+MCl7Zm9yKGk9cyxuPTA7aT4wO2ktLSlvPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pLChzPUtScihvKSk+PTA/bj0objw8NCkrczp3dChlLCJleHBlY3RlZCBoZXhhZGVjaW1hbCBjaGFyYWN0ZXIiKTtlLnJlc3VsdCs9ckJyKG4pLGUucG9zaXRpb24rK31lbHNlIHd0KGUsInVua25vd24gZXNjYXBlIHNlcXVlbmNlIik7cj1hPWUucG9zaXRpb259ZWxzZSBaMihvKT8oazQoZSxyLGEsITApLGN0ZShlLGlpKGUsITEsdCkpLHI9YT1lLnBvc2l0aW9uKTplLnBvc2l0aW9uPT09ZS5saW5lU3RhcnQmJlFfKGUpP3d0KGUsInVuZXhwZWN0ZWQgZW5kIG9mIHRoZSBkb2N1bWVudCB3aXRoaW4gYSBkb3VibGUgcXVvdGVkIHNjYWxhciIpOihlLnBvc2l0aW9uKyssYT1lLnBvc2l0aW9uKX13dChlLCJ1bmV4cGVjdGVkIGVuZCBvZiB0aGUgc3RyZWFtIHdpdGhpbiBhIGRvdWJsZSBxdW90ZWQgc2NhbGFyIil9ZnVuY3Rpb24gb0JyKGUsdCl7dmFyIHI9ITAsYSxpPWUudGFnLG4scz1lLmFuY2hvcixvLGMsbCx1LGQsaD17fSxtLHYsYixnO2lmKGc9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLGc9PT05MSljPTkzLGQ9ITEsbj1bXTtlbHNlIGlmKGc9PT0xMjMpYz0xMjUsZD0hMCxuPXt9O2Vsc2UgcmV0dXJuITE7Zm9yKGUuYW5jaG9yIT09bnVsbCYmKGUuYW5jaG9yTWFwW2UuYW5jaG9yXT1uKSxnPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO2chPT0wOyl7aWYoaWkoZSwhMCx0KSxnPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKSxnPT09YylyZXR1cm4gZS5wb3NpdGlvbisrLGUudGFnPWksZS5hbmNob3I9cyxlLmtpbmQ9ZD8ibWFwcGluZyI6InNlcXVlbmNlIixlLnJlc3VsdD1uLCEwO3J8fHd0KGUsIm1pc3NlZCBjb21tYSBiZXR3ZWVuIGZsb3cgY29sbGVjdGlvbiBlbnRyaWVzIiksdj1tPWI9bnVsbCxsPXU9ITEsZz09PTYzJiYobz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbisxKSxUMShvKSYmKGw9dT0hMCxlLnBvc2l0aW9uKyssaWkoZSwhMCx0KSkpLGE9ZS5saW5lLHc4KGUsdCxZXywhMSwhMCksdj1lLnRhZyxtPWUucmVzdWx0LGlpKGUsITAsdCksZz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbiksKHV8fGUubGluZT09PWEpJiZnPT09NTgmJihsPSEwLGc9ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbiksaWkoZSwhMCx0KSx3OChlLHQsWV8sITEsITApLGI9ZS5yZXN1bHQpLGQ/eTgoZSxuLGgsdixtLGIpOmw/bi5wdXNoKHk4KGUsbnVsbCxoLHYsbSxiKSk6bi5wdXNoKG0pLGlpKGUsITAsdCksZz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbiksZz09PTQ0PyhyPSEwLGc9ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbikpOnI9ITF9d3QoZSwidW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbSB3aXRoaW4gYSBmbG93IGNvbGxlY3Rpb24iKX1mdW5jdGlvbiBsQnIoZSx0KXt2YXIgcixhLGk9b3RlLG49ITEscz0hMSxvPXQsYz0wLGw9ITEsdSxkO2lmKGQ9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLGQ9PT0xMjQpYT0hMTtlbHNlIGlmKGQ9PT02MilhPSEwO2Vsc2UgcmV0dXJuITE7Zm9yKGUua2luZD0ic2NhbGFyIixlLnJlc3VsdD0iIjtkIT09MDspaWYoZD1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSxkPT09NDN8fGQ9PT00NSlvdGU9PT1pP2k9ZD09PTQzP1RXZTpaUnI6d3QoZSwicmVwZWF0IG9mIGEgY2hvbXBpbmcgbW9kZSBpZGVudGlmaWVyIik7ZWxzZSBpZigodT10QnIoZCkpPj0wKXU9PT0wP3d0KGUsImJhZCBleHBsaWNpdCBpbmRlbnRhdGlvbiB3aWR0aCBvZiBhIGJsb2NrIHNjYWxhcjsgaXQgY2Fubm90IGJlIGxlc3MgdGhhbiBvbmUiKTpzP3d0KGUsInJlcGVhdCBvZiBhbiBpbmRlbnRhdGlvbiB3aWR0aCBpZGVudGlmaWVyIik6KG89dCt1LTEscz0hMCk7ZWxzZSBicmVhaztpZihnNihkKSl7ZG8gZD1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTt3aGlsZShnNihkKSk7aWYoZD09PTM1KWRvIGQ9ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbik7d2hpbGUoIVoyKGQpJiZkIT09MCl9Zm9yKDtkIT09MDspe2ZvcihsdGUoZSksZS5saW5lSW5kZW50PTAsZD1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbik7KCFzfHxlLmxpbmVJbmRlbnQ8bykmJmQ9PT0zMjspZS5saW5lSW5kZW50KyssZD1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtpZighcyYmZS5saW5lSW5kZW50Pm8mJihvPWUubGluZUluZGVudCksWjIoZCkpe2MrKztjb250aW51ZX1pZihlLmxpbmVJbmRlbnQ8byl7aT09PVRXZT9lLnJlc3VsdCs9ZmMucmVwZWF0KGAKYCxuPzErYzpjKTppPT09b3RlJiZuJiYoZS5yZXN1bHQrPWAKYCk7YnJlYWt9Zm9yKGE/ZzYoZCk/KGw9ITAsZS5yZXN1bHQrPWZjLnJlcGVhdChgCmAsbj8xK2M6YykpOmw/KGw9ITEsZS5yZXN1bHQrPWZjLnJlcGVhdChgCmAsYysxKSk6Yz09PTA/biYmKGUucmVzdWx0Kz0iICIpOmUucmVzdWx0Kz1mYy5yZXBlYXQoYApgLGMpOmUucmVzdWx0Kz1mYy5yZXBlYXQoYApgLG4/MStjOmMpLG49ITAscz0hMCxjPTAscj1lLnBvc2l0aW9uOyFaMihkKSYmZCE9PTA7KWQ9ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbik7azQoZSxyLGUucG9zaXRpb24sITEpfXJldHVybiEwfWZ1bmN0aW9uIE9XZShlLHQpe3ZhciByLGE9ZS50YWcsaT1lLmFuY2hvcixuPVtdLHMsbz0hMSxjO2ZvcihlLmFuY2hvciE9PW51bGwmJihlLmFuY2hvck1hcFtlLmFuY2hvcl09biksYz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbik7YyE9PTAmJiEoYyE9PTQ1fHwocz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbisxKSwhVDEocykpKTspe2lmKG89ITAsZS5wb3NpdGlvbisrLGlpKGUsITAsLTEpJiZlLmxpbmVJbmRlbnQ8PXQpe24ucHVzaChudWxsKSxjPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKTtjb250aW51ZX1pZihyPWUubGluZSx3OChlLHQsQ1dlLCExLCEwKSxuLnB1c2goZS5yZXN1bHQpLGlpKGUsITAsLTEpLGM9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLChlLmxpbmU9PT1yfHxlLmxpbmVJbmRlbnQ+dCkmJmMhPT0wKXd0KGUsImJhZCBpbmRlbnRhdGlvbiBvZiBhIHNlcXVlbmNlIGVudHJ5Iik7ZWxzZSBpZihlLmxpbmVJbmRlbnQ8dClicmVha31yZXR1cm4gbz8oZS50YWc9YSxlLmFuY2hvcj1pLGUua2luZD0ic2VxdWVuY2UiLGUucmVzdWx0PW4sITApOiExfWZ1bmN0aW9uIGNCcihlLHQscil7dmFyIGEsaSxuLHMsbz1lLnRhZyxjPWUuYW5jaG9yLGw9e30sdT17fSxkPW51bGwsaD1udWxsLG09bnVsbCx2PSExLGI9ITEsZztmb3IoZS5hbmNob3IhPT1udWxsJiYoZS5hbmNob3JNYXBbZS5hbmNob3JdPWwpLGc9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pO2chPT0wOyl7aWYoYT1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbisxKSxuPWUubGluZSxzPWUucG9zaXRpb24sKGc9PT02M3x8Zz09PTU4KSYmVDEoYSkpZz09PTYzPyh2JiYoeTgoZSxsLHUsZCxoLG51bGwpLGQ9aD1tPW51bGwpLGI9ITAsdj0hMCxpPSEwKTp2Pyh2PSExLGk9ITApOnd0KGUsImluY29tcGxldGUgZXhwbGljaXQgbWFwcGluZyBwYWlyOyBhIGtleSBub2RlIGlzIG1pc3NlZDsgb3IgZm9sbG93ZWQgYnkgYSBub24tdGFidWxhdGVkIGVtcHR5IGxpbmUiKSxlLnBvc2l0aW9uKz0xLGc9YTtlbHNlIGlmKHc4KGUscix6V2UsITEsITApKWlmKGUubGluZT09PW4pe2ZvcihnPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKTtnNihnKTspZz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtpZihnPT09NTgpZz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSxUMShnKXx8d3QoZSwiYSB3aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBleHBlY3RlZCBhZnRlciB0aGUga2V5LXZhbHVlIHNlcGFyYXRvciB3aXRoaW4gYSBibG9jayBtYXBwaW5nIiksdiYmKHk4KGUsbCx1LGQsaCxudWxsKSxkPWg9bT1udWxsKSxiPSEwLHY9ITEsaT0hMSxkPWUudGFnLGg9ZS5yZXN1bHQ7ZWxzZSBpZihiKXd0KGUsImNhbiBub3QgcmVhZCBhbiBpbXBsaWNpdCBtYXBwaW5nIHBhaXI7IGEgY29sb24gaXMgbWlzc2VkIik7ZWxzZSByZXR1cm4gZS50YWc9byxlLmFuY2hvcj1jLCEwfWVsc2UgaWYoYil3dChlLCJjYW4gbm90IHJlYWQgYSBibG9jayBtYXBwaW5nIGVudHJ5OyBhIG11bHRpbGluZSBrZXkgbWF5IG5vdCBiZSBhbiBpbXBsaWNpdCBrZXkiKTtlbHNlIHJldHVybiBlLnRhZz1vLGUuYW5jaG9yPWMsITA7ZWxzZSBicmVhaztpZigoZS5saW5lPT09bnx8ZS5saW5lSW5kZW50PnQpJiYodzgoZSx0LFpfLCEwLGkpJiYodj9oPWUucmVzdWx0Om09ZS5yZXN1bHQpLHZ8fCh5OChlLGwsdSxkLGgsbSxuLHMpLGQ9aD1tPW51bGwpLGlpKGUsITAsLTEpLGc9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pKSxlLmxpbmVJbmRlbnQ+dCYmZyE9PTApd3QoZSwiYmFkIGluZGVudGF0aW9uIG9mIGEgbWFwcGluZyBlbnRyeSIpO2Vsc2UgaWYoZS5saW5lSW5kZW50PHQpYnJlYWt9cmV0dXJuIHYmJnk4KGUsbCx1LGQsaCxudWxsKSxiJiYoZS50YWc9byxlLmFuY2hvcj1jLGUua2luZD0ibWFwcGluZyIsZS5yZXN1bHQ9bCksYn1mdW5jdGlvbiBkQnIoZSl7dmFyIHQscj0hMSxhPSExLGksbixzO2lmKHM9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLHMhPT0zMylyZXR1cm4hMTtpZihlLnRhZyE9PW51bGwmJnd0KGUsImR1cGxpY2F0aW9uIG9mIGEgdGFnIHByb3BlcnR5Iikscz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSxzPT09NjA/KHI9ITAscz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSk6cz09PTMzPyhhPSEwLGk9IiEhIixzPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pKTppPSIhIix0PWUucG9zaXRpb24scil7ZG8gcz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTt3aGlsZShzIT09MCYmcyE9PTYyKTtlLnBvc2l0aW9uPGUubGVuZ3RoPyhuPWUuaW5wdXQuc2xpY2UodCxlLnBvc2l0aW9uKSxzPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pKTp3dChlLCJ1bmV4cGVjdGVkIGVuZCBvZiB0aGUgc3RyZWFtIHdpdGhpbiBhIHZlcmJhdGltIHRhZyIpfWVsc2V7Zm9yKDtzIT09MCYmIVQxKHMpOylzPT09MzMmJihhP3d0KGUsInRhZyBzdWZmaXggY2Fubm90IGNvbnRhaW4gZXhjbGFtYXRpb24gbWFya3MiKTooaT1lLmlucHV0LnNsaWNlKHQtMSxlLnBvc2l0aW9uKzEpLF9XZS50ZXN0KGkpfHx3dChlLCJuYW1lZCB0YWcgaGFuZGxlIGNhbm5vdCBjb250YWluIHN1Y2ggY2hhcmFjdGVycyIpLGE9ITAsdD1lLnBvc2l0aW9uKzEpKSxzPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO249ZS5pbnB1dC5zbGljZSh0LGUucG9zaXRpb24pLEpSci50ZXN0KG4pJiZ3dChlLCJ0YWcgc3VmZml4IGNhbm5vdCBjb250YWluIGZsb3cgaW5kaWNhdG9yIGNoYXJhY3RlcnMiKX1yZXR1cm4gbiYmIUxXZS50ZXN0KG4pJiZ3dChlLCJ0YWcgbmFtZSBjYW5ub3QgY29udGFpbiBzdWNoIGNoYXJhY3RlcnM6ICIrbikscj9lLnRhZz1uOk00LmNhbGwoZS50YWdNYXAsaSk/ZS50YWc9ZS50YWdNYXBbaV0rbjppPT09IiEiP2UudGFnPSIhIituOmk9PT0iISEiP2UudGFnPSJ0YWc6eWFtbC5vcmcsMjAwMjoiK246d3QoZSwndW5kZWNsYXJlZCB0YWcgaGFuZGxlICInK2krJyInKSwhMH1mdW5jdGlvbiB1QnIoZSl7dmFyIHQscjtpZihyPWUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKSxyIT09MzgpcmV0dXJuITE7Zm9yKGUuYW5jaG9yIT09bnVsbCYmd3QoZSwiZHVwbGljYXRpb24gb2YgYW4gYW5jaG9yIHByb3BlcnR5Iikscj1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSx0PWUucG9zaXRpb247ciE9PTAmJiFUMShyKSYmIXg4KHIpOylyPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO3JldHVybiBlLnBvc2l0aW9uPT09dCYmd3QoZSwibmFtZSBvZiBhbiBhbmNob3Igbm9kZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3Qgb25lIGNoYXJhY3RlciIpLGUuYW5jaG9yPWUuaW5wdXQuc2xpY2UodCxlLnBvc2l0aW9uKSwhMH1mdW5jdGlvbiBwQnIoZSl7dmFyIHQscixhO2lmKGE9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLGEhPT00MilyZXR1cm4hMTtmb3IoYT1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSx0PWUucG9zaXRpb247YSE9PTAmJiFUMShhKSYmIXg4KGEpOylhPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO3JldHVybiBlLnBvc2l0aW9uPT09dCYmd3QoZSwibmFtZSBvZiBhbiBhbGlhcyBub2RlIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIikscj1lLmlucHV0LnNsaWNlKHQsZS5wb3NpdGlvbiksTTQuY2FsbChlLmFuY2hvck1hcCxyKXx8d3QoZSwndW5pZGVudGlmaWVkIGFsaWFzICInK3IrJyInKSxlLnJlc3VsdD1lLmFuY2hvck1hcFtyXSxpaShlLCEwLC0xKSwhMH1mdW5jdGlvbiB3OChlLHQscixhLGkpe3ZhciBuLHMsbyxjPTEsbD0hMSx1PSExLGQsaCxtLHYsYjtpZihlLmxpc3RlbmVyIT09bnVsbCYmZS5saXN0ZW5lcigib3BlbiIsZSksZS50YWc9bnVsbCxlLmFuY2hvcj1udWxsLGUua2luZD1udWxsLGUucmVzdWx0PW51bGwsbj1zPW89Wl89PT1yfHxDV2U9PT1yLGEmJmlpKGUsITAsLTEpJiYobD0hMCxlLmxpbmVJbmRlbnQ+dD9jPTE6ZS5saW5lSW5kZW50PT09dD9jPTA6ZS5saW5lSW5kZW50PHQmJihjPS0xKSksYz09PTEpZm9yKDtkQnIoZSl8fHVCcihlKTspaWkoZSwhMCwtMSk/KGw9ITAsbz1uLGUubGluZUluZGVudD50P2M9MTplLmxpbmVJbmRlbnQ9PT10P2M9MDplLmxpbmVJbmRlbnQ8dCYmKGM9LTEpKTpvPSExO2lmKG8mJihvPWx8fGkpLChjPT09MXx8Wl89PT1yKSYmKFlfPT09cnx8eldlPT09cj92PXQ6dj10KzEsYj1lLnBvc2l0aW9uLWUubGluZVN0YXJ0LGM9PT0xP28mJihPV2UoZSxiKXx8Y0JyKGUsYix2KSl8fG9CcihlLHYpP3U9ITA6KHMmJmxCcihlLHYpfHxuQnIoZSx2KXx8c0JyKGUsdik/dT0hMDpwQnIoZSk/KHU9ITAsKGUudGFnIT09bnVsbHx8ZS5hbmNob3IhPT1udWxsKSYmd3QoZSwiYWxpYXMgbm9kZSBzaG91bGQgbm90IGhhdmUgYW55IHByb3BlcnRpZXMiKSk6aUJyKGUsdixZXz09PXIpJiYodT0hMCxlLnRhZz09PW51bGwmJihlLnRhZz0iPyIpKSxlLmFuY2hvciE9PW51bGwmJihlLmFuY2hvck1hcFtlLmFuY2hvcl09ZS5yZXN1bHQpKTpjPT09MCYmKHU9byYmT1dlKGUsYikpKSxlLnRhZyE9PW51bGwmJmUudGFnIT09IiEiKWlmKGUudGFnPT09Ij8iKXtmb3IoZS5yZXN1bHQhPT1udWxsJiZlLmtpbmQhPT0ic2NhbGFyIiYmd3QoZSwndW5hY2NlcHRhYmxlIG5vZGUga2luZCBmb3IgITw/PiB0YWc7IGl0IHNob3VsZCBiZSAic2NhbGFyIiwgbm90ICInK2Uua2luZCsnIicpLGQ9MCxoPWUuaW1wbGljaXRUeXBlcy5sZW5ndGg7ZDxoO2QrPTEpaWYobT1lLmltcGxpY2l0VHlwZXNbZF0sbS5yZXNvbHZlKGUucmVzdWx0KSl7ZS5yZXN1bHQ9bS5jb25zdHJ1Y3QoZS5yZXN1bHQpLGUudGFnPW0udGFnLGUuYW5jaG9yIT09bnVsbCYmKGUuYW5jaG9yTWFwW2UuYW5jaG9yXT1lLnJlc3VsdCk7YnJlYWt9fWVsc2UgTTQuY2FsbChlLnR5cGVNYXBbZS5raW5kfHwiZmFsbGJhY2siXSxlLnRhZyk/KG09ZS50eXBlTWFwW2Uua2luZHx8ImZhbGxiYWNrIl1bZS50YWddLGUucmVzdWx0IT09bnVsbCYmbS5raW5kIT09ZS5raW5kJiZ3dChlLCJ1bmFjY2VwdGFibGUgbm9kZSBraW5kIGZvciAhPCIrZS50YWcrJz4gdGFnOyBpdCBzaG91bGQgYmUgIicrbS5raW5kKyciLCBub3QgIicrZS5raW5kKyciJyksbS5yZXNvbHZlKGUucmVzdWx0KT8oZS5yZXN1bHQ9bS5jb25zdHJ1Y3QoZS5yZXN1bHQpLGUuYW5jaG9yIT09bnVsbCYmKGUuYW5jaG9yTWFwW2UuYW5jaG9yXT1lLnJlc3VsdCkpOnd0KGUsImNhbm5vdCByZXNvbHZlIGEgbm9kZSB3aXRoICE8IitlLnRhZysiPiBleHBsaWNpdCB0YWciKSk6d3QoZSwidW5rbm93biB0YWcgITwiK2UudGFnKyI+Iik7cmV0dXJuIGUubGlzdGVuZXIhPT1udWxsJiZlLmxpc3RlbmVyKCJjbG9zZSIsZSksZS50YWchPT1udWxsfHxlLmFuY2hvciE9PW51bGx8fHV9ZnVuY3Rpb24gZkJyKGUpe3ZhciB0PWUucG9zaXRpb24scixhLGksbj0hMSxzO2ZvcihlLnZlcnNpb249bnVsbCxlLmNoZWNrTGluZUJyZWFrcz1lLmxlZ2FjeSxlLnRhZ01hcD17fSxlLmFuY2hvck1hcD17fTsocz1lLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbikpIT09MCYmKGlpKGUsITAsLTEpLHM9ZS5pbnB1dC5jaGFyQ29kZUF0KGUucG9zaXRpb24pLCEoZS5saW5lSW5kZW50PjB8fHMhPT0zNykpOyl7Zm9yKG49ITAscz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKSxyPWUucG9zaXRpb247cyE9PTAmJiFUMShzKTspcz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtmb3IoYT1lLmlucHV0LnNsaWNlKHIsZS5wb3NpdGlvbiksaT1bXSxhLmxlbmd0aDwxJiZ3dChlLCJkaXJlY3RpdmUgbmFtZSBtdXN0IG5vdCBiZSBsZXNzIHRoYW4gb25lIGNoYXJhY3RlciBpbiBsZW5ndGgiKTtzIT09MDspe2Zvcig7ZzYocyk7KXM9ZS5pbnB1dC5jaGFyQ29kZUF0KCsrZS5wb3NpdGlvbik7aWYocz09PTM1KXtkbyBzPWUuaW5wdXQuY2hhckNvZGVBdCgrK2UucG9zaXRpb24pO3doaWxlKHMhPT0wJiYhWjIocykpO2JyZWFrfWlmKFoyKHMpKWJyZWFrO2ZvcihyPWUucG9zaXRpb247cyE9PTAmJiFUMShzKTspcz1lLmlucHV0LmNoYXJDb2RlQXQoKytlLnBvc2l0aW9uKTtpLnB1c2goZS5pbnB1dC5zbGljZShyLGUucG9zaXRpb24pKX1zIT09MCYmbHRlKGUpLE00LmNhbGwoTldlLGEpP05XZVthXShlLGEsaSk6WF8oZSwndW5rbm93biBkb2N1bWVudCBkaXJlY3RpdmUgIicrYSsnIicpfWlmKGlpKGUsITAsLTEpLGUubGluZUluZGVudD09PTAmJmUuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKT09PTQ1JiZlLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbisxKT09PTQ1JiZlLmlucHV0LmNoYXJDb2RlQXQoZS5wb3NpdGlvbisyKT09PTQ1PyhlLnBvc2l0aW9uKz0zLGlpKGUsITAsLTEpKTpuJiZ3dChlLCJkaXJlY3RpdmVzIGVuZCBtYXJrIGlzIGV4cGVjdGVkIiksdzgoZSxlLmxpbmVJbmRlbnQtMSxaXywhMSwhMCksaWkoZSwhMCwtMSksZS5jaGVja0xpbmVCcmVha3MmJlFSci50ZXN0KGUuaW5wdXQuc2xpY2UodCxlLnBvc2l0aW9uKSkmJlhfKGUsIm5vbi1BU0NJSSBsaW5lIGJyZWFrcyBhcmUgaW50ZXJwcmV0ZWQgYXMgY29udGVudCIpLGUuZG9jdW1lbnRzLnB1c2goZS5yZXN1bHQpLGUucG9zaXRpb249PT1lLmxpbmVTdGFydCYmUV8oZSkpe2UuaW5wdXQuY2hhckNvZGVBdChlLnBvc2l0aW9uKT09PTQ2JiYoZS5wb3NpdGlvbis9MyxpaShlLCEwLC0xKSk7cmV0dXJufWlmKGUucG9zaXRpb248ZS5sZW5ndGgtMSl3dChlLCJlbmQgb2YgdGhlIHN0cmVhbSBvciBhIGRvY3VtZW50IHNlcGFyYXRvciBpcyBleHBlY3RlZCIpO2Vsc2UgcmV0dXJufWZ1bmN0aW9uIFJXZShlLHQpe2U9U3RyaW5nKGUpLHQ9dHx8e30sZS5sZW5ndGghPT0wJiYoZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpIT09MTAmJmUuY2hhckNvZGVBdChlLmxlbmd0aC0xKSE9PTEzJiYoZSs9YApgKSxlLmNoYXJDb2RlQXQoMCk9PT02NTI3OSYmKGU9ZS5zbGljZSgxKSkpO3ZhciByPW5ldyBhQnIoZSx0KSxhPWUuaW5kZXhPZigiXDAiKTtmb3IoYSE9PS0xJiYoci5wb3NpdGlvbj1hLHd0KHIsIm51bGwgYnl0ZSBpcyBub3QgYWxsb3dlZCBpbiBpbnB1dCIpKSxyLmlucHV0Kz0iXDAiO3IuaW5wdXQuY2hhckNvZGVBdChyLnBvc2l0aW9uKT09PTMyOylyLmxpbmVJbmRlbnQrPTEsci5wb3NpdGlvbis9MTtmb3IoO3IucG9zaXRpb248ci5sZW5ndGgtMTspZkJyKHIpO3JldHVybiByLmRvY3VtZW50c31mdW5jdGlvbiBCV2UoZSx0LHIpe3QhPT1udWxsJiZ0eXBlb2YgdD09Im9iamVjdCImJnR5cGVvZiByPiJ1IiYmKHI9dCx0PW51bGwpO3ZhciBhPVJXZShlLHIpO2lmKHR5cGVvZiB0IT0iZnVuY3Rpb24iKXJldHVybiBhO2Zvcih2YXIgaT0wLG49YS5sZW5ndGg7aTxuO2krPTEpdChhW2ldKX1mdW5jdGlvbiBIV2UoZSx0KXt2YXIgcj1SV2UoZSx0KTtpZihyLmxlbmd0aCE9PTApe2lmKHIubGVuZ3RoPT09MSlyZXR1cm4gclswXTt0aHJvdyBuZXcga1dlKCJleHBlY3RlZCBhIHNpbmdsZSBkb2N1bWVudCBpbiB0aGUgc3RyZWFtLCBidXQgZm91bmQgbW9yZSIpfX1mdW5jdGlvbiBoQnIoZSx0LHIpe3JldHVybiB0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsJiZ0eXBlb2Ygcj4idSImJihyPXQsdD1udWxsKSxCV2UoZSx0LGZjLmV4dGVuZCh7c2NoZW1hOlNXZX0scikpfWZ1bmN0aW9uIG1CcihlLHQpe3JldHVybiBIV2UoZSxmYy5leHRlbmQoe3NjaGVtYTpTV2V9LHQpKX1ZOS5leHBvcnRzLmxvYWRBbGw9QldlLFk5LmV4cG9ydHMubG9hZD1IV2UsWTkuZXhwb3J0cy5zYWZlTG9hZEFsbD1oQnIsWTkuZXhwb3J0cy5zYWZlTG9hZD1tQnI7dmFyIGI2fSk7dmFyIHVHZT1qZSgoSk5pLGZ0ZSk9PnsidXNlIHN0cmljdCI7dmFyIFo5PWY2KCksWDk9ZzgoKSxnQnI9RzkoKSxiQnI9djgoKSxqV2U9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxWV2U9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx2QnI9OSxROT0xMCx4QnI9MTMseUJyPTMyLHdCcj0zMyxNQnI9MzQsVVdlPTM1LGtCcj0zNyxTQnI9MzgsekJyPTM5LENCcj00MixXV2U9NDQsVEJyPTQ1LEdXZT01OCxfQnI9NjEsTEJyPTYyLCRCcj02MyxEQnI9NjQsWVdlPTkxLFpXZT05MyxBQnI9OTYsWFdlPTEyMyxFQnI9MTI0LFFXZT0xMjUsJG49e307JG5bMF09IlxcMCIsJG5bN109IlxcYSIsJG5bOF09IlxcYiIsJG5bOV09IlxcdCIsJG5bMTBdPSJcXG4iLCRuWzExXT0iXFx2IiwkblsxMl09IlxcZiIsJG5bMTNdPSJcXHIiLCRuWzI3XT0iXFxlIiwkblszNF09J1xcIicsJG5bOTJdPSJcXFxcIiwkblsxMzNdPSJcXE4iLCRuWzE2MF09IlxcXyIsJG5bODIzMl09IlxcTCIsJG5bODIzM109IlxcUCI7dmFyIElCcj1bInkiLCJZIiwieWVzIiwiWWVzIiwiWUVTIiwib24iLCJPbiIsIk9OIiwibiIsIk4iLCJubyIsIk5vIiwiTk8iLCJvZmYiLCJPZmYiLCJPRkYiXTtmdW5jdGlvbiBQQnIoZSx0KXt2YXIgcixhLGksbixzLG8sYztpZih0PT09bnVsbClyZXR1cm57fTtmb3Iocj17fSxhPU9iamVjdC5rZXlzKHQpLGk9MCxuPWEubGVuZ3RoO2k8bjtpKz0xKXM9YVtpXSxvPVN0cmluZyh0W3NdKSxzLnNsaWNlKDAsMik9PT0iISEiJiYocz0idGFnOnlhbWwub3JnLDIwMDI6IitzLnNsaWNlKDIpKSxjPWUuY29tcGlsZWRUeXBlTWFwLmZhbGxiYWNrW3NdLGMmJlZXZS5jYWxsKGMuc3R5bGVBbGlhc2VzLG8pJiYobz1jLnN0eWxlQWxpYXNlc1tvXSkscltzXT1vO3JldHVybiByfWZ1bmN0aW9uIEpXZShlKXt2YXIgdCxyLGE7aWYodD1lLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpLGU8PTI1NSlyPSJ4IixhPTI7ZWxzZSBpZihlPD02NTUzNSlyPSJ1IixhPTQ7ZWxzZSBpZihlPD00Mjk0OTY3Mjk1KXI9IlUiLGE9ODtlbHNlIHRocm93IG5ldyBYOSgiY29kZSBwb2ludCB3aXRoaW4gYSBzdHJpbmcgbWF5IG5vdCBiZSBncmVhdGVyIHRoYW4gMHhGRkZGRkZGRiIpO3JldHVybiJcXCIrcitaOS5yZXBlYXQoIjAiLGEtdC5sZW5ndGgpK3R9ZnVuY3Rpb24gTkJyKGUpe3RoaXMuc2NoZW1hPWUuc2NoZW1hfHxnQnIsdGhpcy5pbmRlbnQ9TWF0aC5tYXgoMSxlLmluZGVudHx8MiksdGhpcy5ub0FycmF5SW5kZW50PWUubm9BcnJheUluZGVudHx8ITEsdGhpcy5za2lwSW52YWxpZD1lLnNraXBJbnZhbGlkfHwhMSx0aGlzLmZsb3dMZXZlbD1aOS5pc05vdGhpbmcoZS5mbG93TGV2ZWwpPy0xOmUuZmxvd0xldmVsLHRoaXMuc3R5bGVNYXA9UEJyKHRoaXMuc2NoZW1hLGUuc3R5bGVzfHxudWxsKSx0aGlzLnNvcnRLZXlzPWUuc29ydEtleXN8fCExLHRoaXMubGluZVdpZHRoPWUubGluZVdpZHRofHw4MCx0aGlzLm5vUmVmcz1lLm5vUmVmc3x8ITEsdGhpcy5ub0NvbXBhdE1vZGU9ZS5ub0NvbXBhdE1vZGV8fCExLHRoaXMuY29uZGVuc2VGbG93PWUuY29uZGVuc2VGbG93fHwhMSx0aGlzLmltcGxpY2l0VHlwZXM9dGhpcy5zY2hlbWEuY29tcGlsZWRJbXBsaWNpdCx0aGlzLmV4cGxpY2l0VHlwZXM9dGhpcy5zY2hlbWEuY29tcGlsZWRFeHBsaWNpdCx0aGlzLnRhZz1udWxsLHRoaXMucmVzdWx0PSIiLHRoaXMuZHVwbGljYXRlcz1bXSx0aGlzLnVzZWREdXBsaWNhdGVzPW51bGx9ZnVuY3Rpb24gS1dlKGUsdCl7Zm9yKHZhciByPVo5LnJlcGVhdCgiICIsdCksYT0wLGk9LTEsbj0iIixzLG89ZS5sZW5ndGg7YTxvOylpPWUuaW5kZXhPZihgCmAsYSksaT09PS0xPyhzPWUuc2xpY2UoYSksYT1vKToocz1lLnNsaWNlKGEsaSsxKSxhPWkrMSkscy5sZW5ndGgmJnMhPT1gCmAmJihuKz1yKSxuKz1zO3JldHVybiBufWZ1bmN0aW9uIGR0ZShlLHQpe3JldHVybmAKYCtaOS5yZXBlYXQoIiAiLGUuaW5kZW50KnQpfWZ1bmN0aW9uIEZCcihlLHQpe3ZhciByLGEsaTtmb3Iocj0wLGE9ZS5pbXBsaWNpdFR5cGVzLmxlbmd0aDtyPGE7cis9MSlpZihpPWUuaW1wbGljaXRUeXBlc1tyXSxpLnJlc29sdmUodCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gdXRlKGUpe3JldHVybiBlPT09eUJyfHxlPT09dkJyfWZ1bmN0aW9uIE04KGUpe3JldHVybiAzMjw9ZSYmZTw9MTI2fHwxNjE8PWUmJmU8PTU1Mjk1JiZlIT09ODIzMiYmZSE9PTgyMzN8fDU3MzQ0PD1lJiZlPD02NTUzMyYmZSE9PTY1Mjc5fHw2NTUzNjw9ZSYmZTw9MTExNDExMX1mdW5jdGlvbiBPQnIoZSl7cmV0dXJuIE04KGUpJiYhdXRlKGUpJiZlIT09NjUyNzkmJmUhPT14QnImJmUhPT1ROX1mdW5jdGlvbiBlR2UoZSx0KXtyZXR1cm4gTTgoZSkmJmUhPT02NTI3OSYmZSE9PVdXZSYmZSE9PVlXZSYmZSE9PVpXZSYmZSE9PVhXZSYmZSE9PVFXZSYmZSE9PUdXZSYmKGUhPT1VV2V8fHQmJk9Ccih0KSl9ZnVuY3Rpb24gUkJyKGUpe3JldHVybiBNOChlKSYmZSE9PTY1Mjc5JiYhdXRlKGUpJiZlIT09VEJyJiZlIT09JEJyJiZlIT09R1dlJiZlIT09V1dlJiZlIT09WVdlJiZlIT09WldlJiZlIT09WFdlJiZlIT09UVdlJiZlIT09VVdlJiZlIT09U0JyJiZlIT09Q0JyJiZlIT09d0JyJiZlIT09RUJyJiZlIT09X0JyJiZlIT09TEJyJiZlIT09ekJyJiZlIT09TUJyJiZlIT09a0JyJiZlIT09REJyJiZlIT09QUJyfWZ1bmN0aW9uIHRHZShlKXt2YXIgdD0vXlxuKiAvO3JldHVybiB0LnRlc3QoZSl9dmFyIHJHZT0xLGFHZT0yLGlHZT0zLG5HZT00LEpfPTU7ZnVuY3Rpb24gQkJyKGUsdCxyLGEsaSl7dmFyIG4scyxvLGM9ITEsbD0hMSx1PWEhPT0tMSxkPS0xLGg9UkJyKGUuY2hhckNvZGVBdCgwKSkmJiF1dGUoZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpKTtpZih0KWZvcihuPTA7bjxlLmxlbmd0aDtuKyspe2lmKHM9ZS5jaGFyQ29kZUF0KG4pLCFNOChzKSlyZXR1cm4gSl87bz1uPjA/ZS5jaGFyQ29kZUF0KG4tMSk6bnVsbCxoPWgmJmVHZShzLG8pfWVsc2V7Zm9yKG49MDtuPGUubGVuZ3RoO24rKyl7aWYocz1lLmNoYXJDb2RlQXQobikscz09PVE5KWM9ITAsdSYmKGw9bHx8bi1kLTE+YSYmZVtkKzFdIT09IiAiLGQ9bik7ZWxzZSBpZighTTgocykpcmV0dXJuIEpfO289bj4wP2UuY2hhckNvZGVBdChuLTEpOm51bGwsaD1oJiZlR2UocyxvKX1sPWx8fHUmJm4tZC0xPmEmJmVbZCsxXSE9PSIgIn1yZXR1cm4hYyYmIWw/aCYmIWkoZSk/ckdlOmFHZTpyPjkmJnRHZShlKT9KXzpsP25HZTppR2V9ZnVuY3Rpb24gSEJyKGUsdCxyLGEpe2UuZHVtcD0oZnVuY3Rpb24oKXtpZih0Lmxlbmd0aD09PTApcmV0dXJuIicnIjtpZighZS5ub0NvbXBhdE1vZGUmJklCci5pbmRleE9mKHQpIT09LTEpcmV0dXJuIiciK3QrIiciO3ZhciBpPWUuaW5kZW50Kk1hdGgubWF4KDEsciksbj1lLmxpbmVXaWR0aD09PS0xPy0xOk1hdGgubWF4KE1hdGgubWluKGUubGluZVdpZHRoLDQwKSxlLmxpbmVXaWR0aC1pKSxzPWF8fGUuZmxvd0xldmVsPi0xJiZyPj1lLmZsb3dMZXZlbDtmdW5jdGlvbiBvKGMpe3JldHVybiBGQnIoZSxjKX1zd2l0Y2goQkJyKHQscyxlLmluZGVudCxuLG8pKXtjYXNlIHJHZTpyZXR1cm4gdDtjYXNlIGFHZTpyZXR1cm4iJyIrdC5yZXBsYWNlKC8nL2csIicnIikrIiciO2Nhc2UgaUdlOnJldHVybiJ8IitzR2UodCxlLmluZGVudCkrb0dlKEtXZSh0LGkpKTtjYXNlIG5HZTpyZXR1cm4iPiIrc0dlKHQsZS5pbmRlbnQpK29HZShLV2UocUJyKHQsbiksaSkpO2Nhc2UgSl86cmV0dXJuJyInK2pCcih0LG4pKyciJztkZWZhdWx0OnRocm93IG5ldyBYOSgiaW1wb3NzaWJsZSBlcnJvcjogaW52YWxpZCBzY2FsYXIgc3R5bGUiKX19KSgpfWZ1bmN0aW9uIHNHZShlLHQpe3ZhciByPXRHZShlKT9TdHJpbmcodCk6IiIsYT1lW2UubGVuZ3RoLTFdPT09YApgLGk9YSYmKGVbZS5sZW5ndGgtMl09PT1gCmB8fGU9PT1gCmApLG49aT8iKyI6YT8iIjoiLSI7cmV0dXJuIHIrbitgCmB9ZnVuY3Rpb24gb0dlKGUpe3JldHVybiBlW2UubGVuZ3RoLTFdPT09YApgP2Uuc2xpY2UoMCwtMSk6ZX1mdW5jdGlvbiBxQnIoZSx0KXtmb3IodmFyIHI9LyhcbispKFteXG5dKikvZyxhPShmdW5jdGlvbigpe3ZhciBsPWUuaW5kZXhPZihgCmApO3JldHVybiBsPWwhPT0tMT9sOmUubGVuZ3RoLHIubGFzdEluZGV4PWwsbEdlKGUuc2xpY2UoMCxsKSx0KX0pKCksaT1lWzBdPT09YApgfHxlWzBdPT09IiAiLG4scztzPXIuZXhlYyhlKTspe3ZhciBvPXNbMV0sYz1zWzJdO249Y1swXT09PSIgIixhKz1vKyghaSYmIW4mJmMhPT0iIj9gCmA6IiIpK2xHZShjLHQpLGk9bn1yZXR1cm4gYX1mdW5jdGlvbiBsR2UoZSx0KXtpZihlPT09IiJ8fGVbMF09PT0iICIpcmV0dXJuIGU7Zm9yKHZhciByPS8gW14gXS9nLGEsaT0wLG4scz0wLG89MCxjPSIiO2E9ci5leGVjKGUpOylvPWEuaW5kZXgsby1pPnQmJihuPXM+aT9zOm8sYys9YApgK2Uuc2xpY2UoaSxuKSxpPW4rMSkscz1vO3JldHVybiBjKz1gCmAsZS5sZW5ndGgtaT50JiZzPmk/Yys9ZS5zbGljZShpLHMpK2AKYCtlLnNsaWNlKHMrMSk6Yys9ZS5zbGljZShpKSxjLnNsaWNlKDEpfWZ1bmN0aW9uIGpCcihlKXtmb3IodmFyIHQ9IiIscixhLGksbj0wO248ZS5sZW5ndGg7bisrKXtpZihyPWUuY2hhckNvZGVBdChuKSxyPj01NTI5NiYmcjw9NTYzMTkmJihhPWUuY2hhckNvZGVBdChuKzEpLGE+PTU2MzIwJiZhPD01NzM0Mykpe3QrPUpXZSgoci01NTI5NikqMTAyNCthLTU2MzIwKzY1NTM2KSxuKys7Y29udGludWV9aT0kbltyXSx0Kz0haSYmTTgocik/ZVtuXTppfHxKV2Uocil9cmV0dXJuIHR9ZnVuY3Rpb24gVkJyKGUsdCxyKXt2YXIgYT0iIixpPWUudGFnLG4scztmb3Iobj0wLHM9ci5sZW5ndGg7bjxzO24rPTEpdjYoZSx0LHJbbl0sITEsITEpJiYobiE9PTAmJihhKz0iLCIrKGUuY29uZGVuc2VGbG93PyIiOiIgIikpLGErPWUuZHVtcCk7ZS50YWc9aSxlLmR1bXA9IlsiK2ErIl0ifWZ1bmN0aW9uIFVCcihlLHQscixhKXt2YXIgaT0iIixuPWUudGFnLHMsbztmb3Iocz0wLG89ci5sZW5ndGg7czxvO3MrPTEpdjYoZSx0KzEscltzXSwhMCwhMCkmJigoIWF8fHMhPT0wKSYmKGkrPWR0ZShlLHQpKSxlLmR1bXAmJlE5PT09ZS5kdW1wLmNoYXJDb2RlQXQoMCk/aSs9Ii0iOmkrPSItICIsaSs9ZS5kdW1wKTtlLnRhZz1uLGUuZHVtcD1pfHwiW10ifWZ1bmN0aW9uIFdCcihlLHQscil7dmFyIGE9IiIsaT1lLnRhZyxuPU9iamVjdC5rZXlzKHIpLHMsbyxjLGwsdTtmb3Iocz0wLG89bi5sZW5ndGg7czxvO3MrPTEpdT0iIixzIT09MCYmKHUrPSIsICIpLGUuY29uZGVuc2VGbG93JiYodSs9JyInKSxjPW5bc10sbD1yW2NdLHY2KGUsdCxjLCExLCExKSYmKGUuZHVtcC5sZW5ndGg+MTAyNCYmKHUrPSI/ICIpLHUrPWUuZHVtcCsoZS5jb25kZW5zZUZsb3c/JyInOiIiKSsiOiIrKGUuY29uZGVuc2VGbG93PyIiOiIgIiksdjYoZSx0LGwsITEsITEpJiYodSs9ZS5kdW1wLGErPXUpKTtlLnRhZz1pLGUuZHVtcD0ieyIrYSsifSJ9ZnVuY3Rpb24gR0JyKGUsdCxyLGEpe3ZhciBpPSIiLG49ZS50YWcscz1PYmplY3Qua2V5cyhyKSxvLGMsbCx1LGQsaDtpZihlLnNvcnRLZXlzPT09ITApcy5zb3J0KCk7ZWxzZSBpZih0eXBlb2YgZS5zb3J0S2V5cz09ImZ1bmN0aW9uIilzLnNvcnQoZS5zb3J0S2V5cyk7ZWxzZSBpZihlLnNvcnRLZXlzKXRocm93IG5ldyBYOSgic29ydEtleXMgbXVzdCBiZSBhIGJvb2xlYW4gb3IgYSBmdW5jdGlvbiIpO2ZvcihvPTAsYz1zLmxlbmd0aDtvPGM7bys9MSloPSIiLCghYXx8byE9PTApJiYoaCs9ZHRlKGUsdCkpLGw9c1tvXSx1PXJbbF0sdjYoZSx0KzEsbCwhMCwhMCwhMCkmJihkPWUudGFnIT09bnVsbCYmZS50YWchPT0iPyJ8fGUuZHVtcCYmZS5kdW1wLmxlbmd0aD4xMDI0LGQmJihlLmR1bXAmJlE5PT09ZS5kdW1wLmNoYXJDb2RlQXQoMCk/aCs9Ij8iOmgrPSI/ICIpLGgrPWUuZHVtcCxkJiYoaCs9ZHRlKGUsdCkpLHY2KGUsdCsxLHUsITAsZCkmJihlLmR1bXAmJlE5PT09ZS5kdW1wLmNoYXJDb2RlQXQoMCk/aCs9IjoiOmgrPSI6ICIsaCs9ZS5kdW1wLGkrPWgpKTtlLnRhZz1uLGUuZHVtcD1pfHwie30ifWZ1bmN0aW9uIGNHZShlLHQscil7dmFyIGEsaSxuLHMsbyxjO2ZvcihpPXI/ZS5leHBsaWNpdFR5cGVzOmUuaW1wbGljaXRUeXBlcyxuPTAscz1pLmxlbmd0aDtuPHM7bis9MSlpZihvPWlbbl0sKG8uaW5zdGFuY2VPZnx8by5wcmVkaWNhdGUpJiYoIW8uaW5zdGFuY2VPZnx8dHlwZW9mIHQ9PSJvYmplY3QiJiZ0IGluc3RhbmNlb2Ygby5pbnN0YW5jZU9mKSYmKCFvLnByZWRpY2F0ZXx8by5wcmVkaWNhdGUodCkpKXtpZihlLnRhZz1yP28udGFnOiI/IixvLnJlcHJlc2VudCl7aWYoYz1lLnN0eWxlTWFwW28udGFnXXx8by5kZWZhdWx0U3R5bGUsaldlLmNhbGwoby5yZXByZXNlbnQpPT09IltvYmplY3QgRnVuY3Rpb25dIilhPW8ucmVwcmVzZW50KHQsYyk7ZWxzZSBpZihWV2UuY2FsbChvLnJlcHJlc2VudCxjKSlhPW8ucmVwcmVzZW50W2NdKHQsYyk7ZWxzZSB0aHJvdyBuZXcgWDkoIiE8IitvLnRhZysnPiB0YWcgcmVzb2x2ZXIgYWNjZXB0cyBub3QgIicrYysnIiBzdHlsZScpO2UuZHVtcD1hfXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIHY2KGUsdCxyLGEsaSxuKXtlLnRhZz1udWxsLGUuZHVtcD1yLGNHZShlLHIsITEpfHxjR2UoZSxyLCEwKTt2YXIgcz1qV2UuY2FsbChlLmR1bXApO2EmJihhPWUuZmxvd0xldmVsPDB8fGUuZmxvd0xldmVsPnQpO3ZhciBvPXM9PT0iW29iamVjdCBPYmplY3RdInx8cz09PSJbb2JqZWN0IEFycmF5XSIsYyxsO2lmKG8mJihjPWUuZHVwbGljYXRlcy5pbmRleE9mKHIpLGw9YyE9PS0xKSwoZS50YWchPT1udWxsJiZlLnRhZyE9PSI/Inx8bHx8ZS5pbmRlbnQhPT0yJiZ0PjApJiYoaT0hMSksbCYmZS51c2VkRHVwbGljYXRlc1tjXSllLmR1bXA9IipyZWZfIitjO2Vsc2V7aWYobyYmbCYmIWUudXNlZER1cGxpY2F0ZXNbY10mJihlLnVzZWREdXBsaWNhdGVzW2NdPSEwKSxzPT09IltvYmplY3QgT2JqZWN0XSIpYSYmT2JqZWN0LmtleXMoZS5kdW1wKS5sZW5ndGghPT0wPyhHQnIoZSx0LGUuZHVtcCxpKSxsJiYoZS5kdW1wPSImcmVmXyIrYytlLmR1bXApKTooV0JyKGUsdCxlLmR1bXApLGwmJihlLmR1bXA9IiZyZWZfIitjKyIgIitlLmR1bXApKTtlbHNlIGlmKHM9PT0iW29iamVjdCBBcnJheV0iKXt2YXIgdT1lLm5vQXJyYXlJbmRlbnQmJnQ+MD90LTE6dDthJiZlLmR1bXAubGVuZ3RoIT09MD8oVUJyKGUsdSxlLmR1bXAsaSksbCYmKGUuZHVtcD0iJnJlZl8iK2MrZS5kdW1wKSk6KFZCcihlLHUsZS5kdW1wKSxsJiYoZS5kdW1wPSImcmVmXyIrYysiICIrZS5kdW1wKSl9ZWxzZSBpZihzPT09IltvYmplY3QgU3RyaW5nXSIpZS50YWchPT0iPyImJkhCcihlLGUuZHVtcCx0LG4pO2Vsc2V7aWYoZS5za2lwSW52YWxpZClyZXR1cm4hMTt0aHJvdyBuZXcgWDkoInVuYWNjZXB0YWJsZSBraW5kIG9mIGFuIG9iamVjdCB0byBkdW1wICIrcyl9ZS50YWchPT1udWxsJiZlLnRhZyE9PSI/IiYmKGUuZHVtcD0iITwiK2UudGFnKyI+ICIrZS5kdW1wKX1yZXR1cm4hMH1mdW5jdGlvbiBZQnIoZSx0KXt2YXIgcj1bXSxhPVtdLGksbjtmb3IocHRlKGUscixhKSxpPTAsbj1hLmxlbmd0aDtpPG47aSs9MSl0LmR1cGxpY2F0ZXMucHVzaChyW2FbaV1dKTt0LnVzZWREdXBsaWNhdGVzPW5ldyBBcnJheShuKX1mdW5jdGlvbiBwdGUoZSx0LHIpe3ZhciBhLGksbjtpZihlIT09bnVsbCYmdHlwZW9mIGU9PSJvYmplY3QiKWlmKGk9dC5pbmRleE9mKGUpLGkhPT0tMSlyLmluZGV4T2YoaSk9PT0tMSYmci5wdXNoKGkpO2Vsc2UgaWYodC5wdXNoKGUpLEFycmF5LmlzQXJyYXkoZSkpZm9yKGk9MCxuPWUubGVuZ3RoO2k8bjtpKz0xKXB0ZShlW2ldLHQscik7ZWxzZSBmb3IoYT1PYmplY3Qua2V5cyhlKSxpPTAsbj1hLmxlbmd0aDtpPG47aSs9MSlwdGUoZVthW2ldXSx0LHIpfWZ1bmN0aW9uIGRHZShlLHQpe3Q9dHx8e307dmFyIHI9bmV3IE5Ccih0KTtyZXR1cm4gci5ub1JlZnN8fFlCcihlLHIpLHY2KHIsMCxlLCEwLCEwKT9yLmR1bXArYApgOiIifWZ1bmN0aW9uIFpCcihlLHQpe3JldHVybiBkR2UoZSxaOS5leHRlbmQoe3NjaGVtYTpiQnJ9LHQpKX1mdGUuZXhwb3J0cy5kdW1wPWRHZSxmdGUuZXhwb3J0cy5zYWZlRHVtcD1aQnJ9KTt2YXIgZkdlPWplKChLTmksUGEpPT57InVzZSBzdHJpY3QiO3ZhciBLXz1xV2UoKSxwR2U9dUdlKCk7ZnVuY3Rpb24gZUwoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJGdW5jdGlvbiAiK2UrIiBpcyBkZXByZWNhdGVkIGFuZCBjYW5ub3QgYmUgdXNlZC4iKX19UGEuZXhwb3J0cy5UeXBlPXhpKCksUGEuZXhwb3J0cy5TY2hlbWE9aDYoKSxQYS5leHBvcnRzLkZBSUxTQUZFX1NDSEVNQT1XXygpLFBhLmV4cG9ydHMuSlNPTl9TQ0hFTUE9aXRlKCksUGEuZXhwb3J0cy5DT1JFX1NDSEVNQT1udGUoKSxQYS5leHBvcnRzLkRFRkFVTFRfU0FGRV9TQ0hFTUE9djgoKSxQYS5leHBvcnRzLkRFRkFVTFRfRlVMTF9TQ0hFTUE9RzkoKSxQYS5leHBvcnRzLmxvYWQ9S18ubG9hZCxQYS5leHBvcnRzLmxvYWRBbGw9S18ubG9hZEFsbCxQYS5leHBvcnRzLnNhZmVMb2FkPUtfLnNhZmVMb2FkLFBhLmV4cG9ydHMuc2FmZUxvYWRBbGw9S18uc2FmZUxvYWRBbGwsUGEuZXhwb3J0cy5kdW1wPXBHZS5kdW1wLFBhLmV4cG9ydHMuc2FmZUR1bXA9cEdlLnNhZmVEdW1wLFBhLmV4cG9ydHMuWUFNTEV4Y2VwdGlvbj1nOCgpLFBhLmV4cG9ydHMuTUlOSU1BTF9TQ0hFTUE9V18oKSxQYS5leHBvcnRzLlNBRkVfU0NIRU1BPXY4KCksUGEuZXhwb3J0cy5ERUZBVUxUX1NDSEVNQT1HOSgpLFBhLmV4cG9ydHMuc2Nhbj1lTCgic2NhbiIpLFBhLmV4cG9ydHMucGFyc2U9ZUwoInBhcnNlIiksUGEuZXhwb3J0cy5jb21wb3NlPWVMKCJjb21wb3NlIiksUGEuZXhwb3J0cy5hZGRDb25zdHJ1Y3Rvcj1lTCgiYWRkQ29uc3RydWN0b3IiKX0pO3ZhciBtR2U9amUoKGVGaSxoR2UpPT57InVzZSBzdHJpY3QiO3ZhciBYQnI9ZkdlKCk7aEdlLmV4cG9ydHM9WEJyfSk7dmFyIGdHZT1qZShYMj0+eyJ1c2Ugc3RyaWN0Ijt2YXIgUUJyPVgyJiZYMi5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQscixhKXthPT09dm9pZCAwJiYoYT1yKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxhLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pfSk6KGZ1bmN0aW9uKGUsdCxyLGEpe2E9PT12b2lkIDAmJihhPXIpLGVbYV09dFtyXX0pKSxKQnI9WDImJlgyLl9fc2V0TW9kdWxlRGVmYXVsdHx8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX0pOmZ1bmN0aW9uKGUsdCl7ZS5kZWZhdWx0PXR9KSxLQnI9WDImJlgyLl9faW1wb3J0U3Rhcnx8ZnVuY3Rpb24oZSl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKGUhPW51bGwpZm9yKHZhciByIGluIGUpciE9PSJkZWZhdWx0IiYmT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmUUJyKHQsZSxyKTtyZXR1cm4gSkJyKHQsZSksdH07T2JqZWN0LmRlZmluZVByb3BlcnR5KFgyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxYMi5qc1lhbWw9dm9pZCAwO3ZhciBlSHI9S0JyKG1HZSgpKTtYMi5qc1lhbWw9ZUhyfSk7dmFyIHZHZT1qZShBcz0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdEhyPUFzJiZBcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQscixhKXthPT09dm9pZCAwJiYoYT1yKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxhLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pfSk6KGZ1bmN0aW9uKGUsdCxyLGEpe2E9PT12b2lkIDAmJihhPXIpLGVbYV09dFtyXX0pKSxySHI9QXMmJkFzLl9fc2V0TW9kdWxlRGVmYXVsdHx8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX0pOmZ1bmN0aW9uKGUsdCl7ZS5kZWZhdWx0PXR9KSxhSHI9QXMmJkFzLl9faW1wb3J0U3Rhcnx8ZnVuY3Rpb24oZSl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKGUhPW51bGwpZm9yKHZhciByIGluIGUpciE9PSJkZWZhdWx0IiYmT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmdEhyKHQsZSxyKTtyZXR1cm4gckhyKHQsZSksdH07T2JqZWN0LmRlZmluZVByb3BlcnR5KEFzLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBcy5vYmplY3RUb1lhbWxTdHJpbmc9QXMueWFtbFN0cmluZ1RvT2JqZWN0PXZvaWQgMDt2YXIgYkdlPWFIcihnR2UoKSk7QXMueWFtbFN0cmluZ1RvT2JqZWN0PWFzeW5jKGUsdD17fSk9PmJHZS5qc1lhbWwuc2FmZUxvYWQoZSksQXMub2JqZWN0VG9ZYW1sU3RyaW5nPWFzeW5jKGUsdD17fSk9PmJHZS5qc1lhbWwuc2FmZUR1bXAoZSl9KTtmdW5jdGlvbiBodGUoZSl7aWYoZSl0aHJvdyBlfXZhciB4R2U9ZigoKT0+e30pO3ZhciBfR2U9amUoKGlGaSxUR2UpPT57InVzZSBzdHJpY3QiO3ZhciB0TD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHlHZT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLHdHZT1PYmplY3QuZGVmaW5lUHJvcGVydHksTUdlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Isa0dlPWZ1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgQXJyYXkuaXNBcnJheT09ImZ1bmN0aW9uIj9BcnJheS5pc0FycmF5KHQpOnlHZS5jYWxsKHQpPT09IltvYmplY3QgQXJyYXldIn0sU0dlPWZ1bmN0aW9uKHQpe2lmKCF0fHx5R2UuY2FsbCh0KSE9PSJbb2JqZWN0IE9iamVjdF0iKXJldHVybiExO3ZhciByPXRMLmNhbGwodCwiY29uc3RydWN0b3IiKSxhPXQuY29uc3RydWN0b3ImJnQuY29uc3RydWN0b3IucHJvdG90eXBlJiZ0TC5jYWxsKHQuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIik7aWYodC5jb25zdHJ1Y3RvciYmIXImJiFhKXJldHVybiExO3ZhciBpO2ZvcihpIGluIHQpO3JldHVybiB0eXBlb2YgaT4idSJ8fHRMLmNhbGwodCxpKX0sekdlPWZ1bmN0aW9uKHQscil7d0dlJiZyLm5hbWU9PT0iX19wcm90b19fIj93R2UodCxyLm5hbWUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHZhbHVlOnIubmV3VmFsdWUsd3JpdGFibGU6ITB9KTp0W3IubmFtZV09ci5uZXdWYWx1ZX0sQ0dlPWZ1bmN0aW9uKHQscil7aWYocj09PSJfX3Byb3RvX18iKWlmKHRMLmNhbGwodCxyKSl7aWYoTUdlKXJldHVybiBNR2UodCxyKS52YWx1ZX1lbHNlIHJldHVybjtyZXR1cm4gdFtyXX07VEdlLmV4cG9ydHM9ZnVuY3Rpb24gZSgpe3ZhciB0LHIsYSxpLG4scyxvPWFyZ3VtZW50c1swXSxjPTEsbD1hcmd1bWVudHMubGVuZ3RoLHU9ITE7Zm9yKHR5cGVvZiBvPT0iYm9vbGVhbiImJih1PW8sbz1hcmd1bWVudHNbMV18fHt9LGM9MiksKG89PW51bGx8fHR5cGVvZiBvIT0ib2JqZWN0IiYmdHlwZW9mIG8hPSJmdW5jdGlvbiIpJiYobz17fSk7YzxsOysrYylpZih0PWFyZ3VtZW50c1tjXSx0IT1udWxsKWZvcihyIGluIHQpYT1DR2UobyxyKSxpPUNHZSh0LHIpLG8hPT1pJiYodSYmaSYmKFNHZShpKXx8KG49a0dlKGkpKSk/KG4/KG49ITEscz1hJiZrR2UoYSk/YTpbXSk6cz1hJiZTR2UoYSk/YTp7fSx6R2Uobyx7bmFtZTpyLG5ld1ZhbHVlOmUodSxzLGkpfSkpOnR5cGVvZiBpPCJ1IiYmekdlKG8se25hbWU6cixuZXdWYWx1ZTppfSkpO3JldHVybiBvfX0pO3ZhciBTND1mKCgpPT57fSk7ZnVuY3Rpb24gSjkoZSl7aWYodHlwZW9mIGUhPSJvYmplY3QifHxlPT09bnVsbClyZXR1cm4hMTtsZXQgdD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuKHQ9PT1udWxsfHx0PT09T2JqZWN0LnByb3RvdHlwZXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09bnVsbCkmJiEoU3ltYm9sLnRvU3RyaW5nVGFnIGluIGUpJiYhKFN5bWJvbC5pdGVyYXRvciBpbiBlKX12YXIgTEdlPWYoKCk9Pnt9KTtmdW5jdGlvbiBtdGUoKXtsZXQgZT1bXSx0PXtydW46cix1c2U6YX07cmV0dXJuIHQ7ZnVuY3Rpb24gciguLi5pKXtsZXQgbj0tMSxzPWkucG9wKCk7aWYodHlwZW9mIHMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgZnVuY3Rpb24gYXMgbGFzdCBhcmd1bWVudCwgbm90ICIrcyk7byhudWxsLC4uLmkpO2Z1bmN0aW9uIG8oYywuLi5sKXtsZXQgdT1lWysrbl0sZD0tMTtpZihjKXtzKGMpO3JldHVybn1mb3IoOysrZDxpLmxlbmd0aDspKGxbZF09PT1udWxsfHxsW2RdPT09dm9pZCAwKSYmKGxbZF09aVtkXSk7aT1sLHU/JEdlKHUsbykoLi4ubCk6cyhudWxsLC4uLmwpfX1mdW5jdGlvbiBhKGkpe2lmKHR5cGVvZiBpIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGBtaWRkZWx3YXJlYCB0byBiZSBhIGZ1bmN0aW9uLCBub3QgIitpKTtyZXR1cm4gZS5wdXNoKGkpLHR9fWZ1bmN0aW9uICRHZShlLHQpe2xldCByO3JldHVybiBhO2Z1bmN0aW9uIGEoLi4ucyl7bGV0IG89ZS5sZW5ndGg+cy5sZW5ndGgsYztvJiZzLnB1c2goaSk7dHJ5e2M9ZS5hcHBseSh0aGlzLHMpfWNhdGNoKGwpe2xldCB1PWw7aWYobyYmcil0aHJvdyB1O3JldHVybiBpKHUpfW98fChjJiZjLnRoZW4mJnR5cGVvZiBjLnRoZW49PSJmdW5jdGlvbiI/Yy50aGVuKG4saSk6YyBpbnN0YW5jZW9mIEVycm9yP2koYyk6bihjKSl9ZnVuY3Rpb24gaShzLC4uLm8pe3J8fChyPSEwLHQocywuLi5vKSl9ZnVuY3Rpb24gbihzKXtpKG51bGwscyl9fXZhciBER2U9ZigoKT0+e30pO3ZhciBBR2U9ZigoKT0+e0RHZSgpfSk7ZnVuY3Rpb24gejQoZSl7cmV0dXJuIWV8fHR5cGVvZiBlIT0ib2JqZWN0Ij8iIjoicG9zaXRpb24iaW4gZXx8InR5cGUiaW4gZT9FR2UoZS5wb3NpdGlvbik6InN0YXJ0ImluIGV8fCJlbmQiaW4gZT9FR2UoZSk6ImxpbmUiaW4gZXx8ImNvbHVtbiJpbiBlP2d0ZShlKToiIn1mdW5jdGlvbiBndGUoZSl7cmV0dXJuIElHZShlJiZlLmxpbmUpKyI6IitJR2UoZSYmZS5jb2x1bW4pfWZ1bmN0aW9uIEVHZShlKXtyZXR1cm4gZ3RlKGUmJmUuc3RhcnQpKyItIitndGUoZSYmZS5lbmQpfWZ1bmN0aW9uIElHZShlKXtyZXR1cm4gZSYmdHlwZW9mIGU9PSJudW1iZXIiP2U6MX12YXIgUEdlPWYoKCk9Pnt9KTt2YXIgYnRlPWYoKCk9PntQR2UoKX0pO3ZhciBOaSxOR2U9ZigoKT0+e2J0ZSgpO05pPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IodCxyLGEpe3N1cGVyKCksdHlwZW9mIHI9PSJzdHJpbmciJiYoYT1yLHI9dm9pZCAwKTtsZXQgaT0iIixuPXt9LHM9ITE7aWYociYmKCJsaW5lImluIHImJiJjb2x1bW4iaW4gcj9uPXtwbGFjZTpyfToic3RhcnQiaW4gciYmImVuZCJpbiByP249e3BsYWNlOnJ9OiJ0eXBlImluIHI/bj17YW5jZXN0b3JzOltyXSxwbGFjZTpyLnBvc2l0aW9ufTpuPXsuLi5yfSksdHlwZW9mIHQ9PSJzdHJpbmciP2k9dDohbi5jYXVzZSYmdCYmKHM9ITAsaT10Lm1lc3NhZ2Usbi5jYXVzZT10KSwhbi5ydWxlSWQmJiFuLnNvdXJjZSYmdHlwZW9mIGE9PSJzdHJpbmciKXtsZXQgYz1hLmluZGV4T2YoIjoiKTtjPT09LTE/bi5ydWxlSWQ9YToobi5zb3VyY2U9YS5zbGljZSgwLGMpLG4ucnVsZUlkPWEuc2xpY2UoYysxKSl9aWYoIW4ucGxhY2UmJm4uYW5jZXN0b3JzJiZuLmFuY2VzdG9ycyl7bGV0IGM9bi5hbmNlc3RvcnNbbi5hbmNlc3RvcnMubGVuZ3RoLTFdO2MmJihuLnBsYWNlPWMucG9zaXRpb24pfWxldCBvPW4ucGxhY2UmJiJzdGFydCJpbiBuLnBsYWNlP24ucGxhY2Uuc3RhcnQ6bi5wbGFjZTt0aGlzLmFuY2VzdG9ycz1uLmFuY2VzdG9yc3x8dm9pZCAwLHRoaXMuY2F1c2U9bi5jYXVzZXx8dm9pZCAwLHRoaXMuY29sdW1uPW8/by5jb2x1bW46dm9pZCAwLHRoaXMuZmF0YWw9dm9pZCAwLHRoaXMuZmlsZT0iIix0aGlzLm1lc3NhZ2U9aSx0aGlzLmxpbmU9bz9vLmxpbmU6dm9pZCAwLHRoaXMubmFtZT16NChuLnBsYWNlKXx8IjE6MSIsdGhpcy5wbGFjZT1uLnBsYWNlfHx2b2lkIDAsdGhpcy5yZWFzb249dGhpcy5tZXNzYWdlLHRoaXMucnVsZUlkPW4ucnVsZUlkfHx2b2lkIDAsdGhpcy5zb3VyY2U9bi5zb3VyY2V8fHZvaWQgMCx0aGlzLnN0YWNrPXMmJm4uY2F1c2UmJnR5cGVvZiBuLmNhdXNlLnN0YWNrPT0ic3RyaW5nIj9uLmNhdXNlLnN0YWNrOiIiLHRoaXMuYWN0dWFsPXZvaWQgMCx0aGlzLmV4cGVjdGVkPXZvaWQgMCx0aGlzLm5vdGU9dm9pZCAwLHRoaXMudXJsPXZvaWQgMH19O05pLnByb3RvdHlwZS5maWxlPSIiLE5pLnByb3RvdHlwZS5uYW1lPSIiLE5pLnByb3RvdHlwZS5yZWFzb249IiIsTmkucHJvdG90eXBlLm1lc3NhZ2U9IiIsTmkucHJvdG90eXBlLnN0YWNrPSIiLE5pLnByb3RvdHlwZS5jb2x1bW49dm9pZCAwLE5pLnByb3RvdHlwZS5saW5lPXZvaWQgMCxOaS5wcm90b3R5cGUuYW5jZXN0b3JzPXZvaWQgMCxOaS5wcm90b3R5cGUuY2F1c2U9dm9pZCAwLE5pLnByb3RvdHlwZS5mYXRhbD12b2lkIDAsTmkucHJvdG90eXBlLnBsYWNlPXZvaWQgMCxOaS5wcm90b3R5cGUucnVsZUlkPXZvaWQgMCxOaS5wcm90b3R5cGUuc291cmNlPXZvaWQgMH0pO3ZhciBGR2U9ZigoKT0+e05HZSgpfSk7ZnVuY3Rpb24gaUhyKGUsdCl7aWYodCE9PXZvaWQgMCYmdHlwZW9mIHQhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoJyJleHQiIGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnKTtLOShlKTtsZXQgcj0wLGE9LTEsaT1lLmxlbmd0aCxuO2lmKHQ9PT12b2lkIDB8fHQubGVuZ3RoPT09MHx8dC5sZW5ndGg+ZS5sZW5ndGgpe2Zvcig7aS0tOylpZihlLmNvZGVQb2ludEF0KGkpPT09NDcpe2lmKG4pe3I9aSsxO2JyZWFrfX1lbHNlIGE8MCYmKG49ITAsYT1pKzEpO3JldHVybiBhPDA/IiI6ZS5zbGljZShyLGEpfWlmKHQ9PT1lKXJldHVybiIiO2xldCBzPS0xLG89dC5sZW5ndGgtMTtmb3IoO2ktLTspaWYoZS5jb2RlUG9pbnRBdChpKT09PTQ3KXtpZihuKXtyPWkrMTticmVha319ZWxzZSBzPDAmJihuPSEwLHM9aSsxKSxvPi0xJiYoZS5jb2RlUG9pbnRBdChpKT09PXQuY29kZVBvaW50QXQoby0tKT9vPDAmJihhPWkpOihvPS0xLGE9cykpO3JldHVybiByPT09YT9hPXM6YTwwJiYoYT1lLmxlbmd0aCksZS5zbGljZShyLGEpfWZ1bmN0aW9uIG5IcihlKXtpZihLOShlKSxlLmxlbmd0aD09PTApcmV0dXJuIi4iO2xldCB0PS0xLHI9ZS5sZW5ndGgsYTtmb3IoOy0tcjspaWYoZS5jb2RlUG9pbnRBdChyKT09PTQ3KXtpZihhKXt0PXI7YnJlYWt9fWVsc2UgYXx8KGE9ITApO3JldHVybiB0PDA/ZS5jb2RlUG9pbnRBdCgwKT09PTQ3PyIvIjoiLiI6dD09PTEmJmUuY29kZVBvaW50QXQoMCk9PT00Nz8iLy8iOmUuc2xpY2UoMCx0KX1mdW5jdGlvbiBzSHIoZSl7SzkoZSk7bGV0IHQ9ZS5sZW5ndGgscj0tMSxhPTAsaT0tMSxuPTAscztmb3IoO3QtLTspe2xldCBvPWUuY29kZVBvaW50QXQodCk7aWYobz09PTQ3KXtpZihzKXthPXQrMTticmVha31jb250aW51ZX1yPDAmJihzPSEwLHI9dCsxKSxvPT09NDY/aTwwP2k9dDpuIT09MSYmKG49MSk6aT4tMSYmKG49LTEpfXJldHVybiBpPDB8fHI8MHx8bj09PTB8fG49PT0xJiZpPT09ci0xJiZpPT09YSsxPyIiOmUuc2xpY2UoaSxyKX1mdW5jdGlvbiBvSHIoLi4uZSl7bGV0IHQ9LTEscjtmb3IoOysrdDxlLmxlbmd0aDspSzkoZVt0XSksZVt0XSYmKHI9cj09PXZvaWQgMD9lW3RdOnIrIi8iK2VbdF0pO3JldHVybiByPT09dm9pZCAwPyIuIjpsSHIocil9ZnVuY3Rpb24gbEhyKGUpe0s5KGUpO2xldCB0PWUuY29kZVBvaW50QXQoMCk9PT00NyxyPWNIcihlLCF0KTtyZXR1cm4gci5sZW5ndGg9PT0wJiYhdCYmKHI9Ii4iKSxyLmxlbmd0aD4wJiZlLmNvZGVQb2ludEF0KGUubGVuZ3RoLTEpPT09NDcmJihyKz0iLyIpLHQ/Ii8iK3I6cn1mdW5jdGlvbiBjSHIoZSx0KXtsZXQgcj0iIixhPTAsaT0tMSxuPTAscz0tMSxvLGM7Zm9yKDsrK3M8PWUubGVuZ3RoOyl7aWYoczxlLmxlbmd0aClvPWUuY29kZVBvaW50QXQocyk7ZWxzZXtpZihvPT09NDcpYnJlYWs7bz00N31pZihvPT09NDcpe2lmKCEoaT09PXMtMXx8bj09PTEpKWlmKGkhPT1zLTEmJm49PT0yKXtpZihyLmxlbmd0aDwyfHxhIT09Mnx8ci5jb2RlUG9pbnRBdChyLmxlbmd0aC0xKSE9PTQ2fHxyLmNvZGVQb2ludEF0KHIubGVuZ3RoLTIpIT09NDYpe2lmKHIubGVuZ3RoPjIpe2lmKGM9ci5sYXN0SW5kZXhPZigiLyIpLGMhPT1yLmxlbmd0aC0xKXtjPDA/KHI9IiIsYT0wKToocj1yLnNsaWNlKDAsYyksYT1yLmxlbmd0aC0xLXIubGFzdEluZGV4T2YoIi8iKSksaT1zLG49MDtjb250aW51ZX19ZWxzZSBpZihyLmxlbmd0aD4wKXtyPSIiLGE9MCxpPXMsbj0wO2NvbnRpbnVlfX10JiYocj1yLmxlbmd0aD4wP3IrIi8uLiI6Ii4uIixhPTIpfWVsc2Ugci5sZW5ndGg+MD9yKz0iLyIrZS5zbGljZShpKzEscyk6cj1lLnNsaWNlKGkrMSxzKSxhPXMtaS0xO2k9cyxuPTB9ZWxzZSBvPT09NDYmJm4+LTE/bisrOm49LTF9cmV0dXJuIHJ9ZnVuY3Rpb24gSzkoZSl7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIlBhdGggbXVzdCBiZSBhIHN0cmluZy4gUmVjZWl2ZWQgIitKU09OLnN0cmluZ2lmeShlKSl9dmFyIHpvLE9HZT1mKCgpPT57em89e2Jhc2VuYW1lOmlIcixkaXJuYW1lOm5IcixleHRuYW1lOnNIcixqb2luOm9IcixzZXA6Ii8ifX0pO2Z1bmN0aW9uIGRIcigpe3JldHVybiIvIn12YXIgUkdlLEJHZT1mKCgpPT57UkdlPXtjd2Q6ZEhyfX0pO2Z1bmN0aW9uIGs4KGUpe3JldHVybiEhKGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCImJiJocmVmImluIGUmJmUuaHJlZiYmInByb3RvY29sImluIGUmJmUucHJvdG9jb2wmJmUuYXV0aD09PXZvaWQgMCl9dmFyIHZ0ZT1mKCgpPT57fSk7ZnVuY3Rpb24gSEdlKGUpe2lmKHR5cGVvZiBlPT0ic3RyaW5nIillPW5ldyBVUkwoZSk7ZWxzZSBpZighazgoZSkpe2xldCB0PW5ldyBUeXBlRXJyb3IoJ1RoZSAicGF0aCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZyBvciBhbiBpbnN0YW5jZSBvZiBVUkwuIFJlY2VpdmVkIGAnK2UrImAiKTt0aHJvdyB0LmNvZGU9IkVSUl9JTlZBTElEX0FSR19UWVBFIix0fWlmKGUucHJvdG9jb2whPT0iZmlsZToiKXtsZXQgdD1uZXcgVHlwZUVycm9yKCJUaGUgVVJMIG11c3QgYmUgb2Ygc2NoZW1lIGZpbGUiKTt0aHJvdyB0LmNvZGU9IkVSUl9JTlZBTElEX1VSTF9TQ0hFTUUiLHR9cmV0dXJuIHVIcihlKX1mdW5jdGlvbiB1SHIoZSl7aWYoZS5ob3N0bmFtZSE9PSIiKXtsZXQgYT1uZXcgVHlwZUVycm9yKCdGaWxlIFVSTCBob3N0IG11c3QgYmUgImxvY2FsaG9zdCIgb3IgZW1wdHkgb24gZGFyd2luJyk7dGhyb3cgYS5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9IT1NUIixhfWxldCB0PWUucGF0aG5hbWUscj0tMTtmb3IoOysrcjx0Lmxlbmd0aDspaWYodC5jb2RlUG9pbnRBdChyKT09PTM3JiZ0LmNvZGVQb2ludEF0KHIrMSk9PT01MCl7bGV0IGE9dC5jb2RlUG9pbnRBdChyKzIpO2lmKGE9PT03MHx8YT09PTEwMil7bGV0IGk9bmV3IFR5cGVFcnJvcigiRmlsZSBVUkwgcGF0aCBtdXN0IG5vdCBpbmNsdWRlIGVuY29kZWQgLyBjaGFyYWN0ZXJzIik7dGhyb3cgaS5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9QQVRIIixpfX1yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQpfXZhciBxR2U9ZigoKT0+e3Z0ZSgpO3Z0ZSgpfSk7ZnVuY3Rpb24geXRlKGUsdCl7aWYoZSYmZS5pbmNsdWRlcyh6by5zZXApKXRocm93IG5ldyBFcnJvcigiYCIrdCsiYCBjYW5ub3QgYmUgYSBwYXRoOiBkaWQgbm90IGV4cGVjdCBgIit6by5zZXArImAiKX1mdW5jdGlvbiB3dGUoZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoImAiK3QrImAgY2Fubm90IGJlIGVtcHR5Iil9ZnVuY3Rpb24gakdlKGUsdCl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJTZXR0aW5nIGAiK3QrImAgcmVxdWlyZXMgYHBhdGhgIHRvIGJlIHNldCB0b28iKX1mdW5jdGlvbiBwSHIoZSl7cmV0dXJuISEoZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYiYnl0ZUxlbmd0aCJpbiBlJiYiYnl0ZU9mZnNldCJpbiBlKX12YXIgeHRlLGVnLFZHZT1mKCgpPT57RkdlKCk7T0dlKCk7QkdlKCk7cUdlKCk7eHRlPVsiaGlzdG9yeSIsInBhdGgiLCJiYXNlbmFtZSIsInN0ZW0iLCJleHRuYW1lIiwiZGlybmFtZSJdLGVnPWNsYXNze2NvbnN0cnVjdG9yKHQpe2xldCByO3Q/azgodCk/cj17cGF0aDp0fTp0eXBlb2YgdD09InN0cmluZyJ8fHBIcih0KT9yPXt2YWx1ZTp0fTpyPXQ6cj17fSx0aGlzLmN3ZD0iY3dkImluIHI/IiI6UkdlLmN3ZCgpLHRoaXMuZGF0YT17fSx0aGlzLmhpc3Rvcnk9W10sdGhpcy5tZXNzYWdlcz1bXSx0aGlzLnZhbHVlLHRoaXMubWFwLHRoaXMucmVzdWx0LHRoaXMuc3RvcmVkO2xldCBhPS0xO2Zvcig7KythPHh0ZS5sZW5ndGg7KXtsZXQgbj14dGVbYV07biBpbiByJiZyW25dIT09dm9pZCAwJiZyW25dIT09bnVsbCYmKHRoaXNbbl09bj09PSJoaXN0b3J5Ij9bLi4ucltuXV06cltuXSl9bGV0IGk7Zm9yKGkgaW4gcil4dGUuaW5jbHVkZXMoaSl8fCh0aGlzW2ldPXJbaV0pfWdldCBiYXNlbmFtZSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj96by5iYXNlbmFtZSh0aGlzLnBhdGgpOnZvaWQgMH1zZXQgYmFzZW5hbWUodCl7d3RlKHQsImJhc2VuYW1lIikseXRlKHQsImJhc2VuYW1lIiksdGhpcy5wYXRoPXpvLmpvaW4odGhpcy5kaXJuYW1lfHwiIix0KX1nZXQgZGlybmFtZSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj96by5kaXJuYW1lKHRoaXMucGF0aCk6dm9pZCAwfXNldCBkaXJuYW1lKHQpe2pHZSh0aGlzLmJhc2VuYW1lLCJkaXJuYW1lIiksdGhpcy5wYXRoPXpvLmpvaW4odHx8IiIsdGhpcy5iYXNlbmFtZSl9Z2V0IGV4dG5hbWUoKXtyZXR1cm4gdHlwZW9mIHRoaXMucGF0aD09InN0cmluZyI/em8uZXh0bmFtZSh0aGlzLnBhdGgpOnZvaWQgMH1zZXQgZXh0bmFtZSh0KXtpZih5dGUodCwiZXh0bmFtZSIpLGpHZSh0aGlzLmRpcm5hbWUsImV4dG5hbWUiKSx0KXtpZih0LmNvZGVQb2ludEF0KDApIT09NDYpdGhyb3cgbmV3IEVycm9yKCJgZXh0bmFtZWAgbXVzdCBzdGFydCB3aXRoIGAuYCIpO2lmKHQuaW5jbHVkZXMoIi4iLDEpKXRocm93IG5ldyBFcnJvcigiYGV4dG5hbWVgIGNhbm5vdCBjb250YWluIG11bHRpcGxlIGRvdHMiKX10aGlzLnBhdGg9em8uam9pbih0aGlzLmRpcm5hbWUsdGhpcy5zdGVtKyh0fHwiIikpfWdldCBwYXRoKCl7cmV0dXJuIHRoaXMuaGlzdG9yeVt0aGlzLmhpc3RvcnkubGVuZ3RoLTFdfXNldCBwYXRoKHQpe2s4KHQpJiYodD1IR2UodCkpLHd0ZSh0LCJwYXRoIiksdGhpcy5wYXRoIT09dCYmdGhpcy5oaXN0b3J5LnB1c2godCl9Z2V0IHN0ZW0oKXtyZXR1cm4gdHlwZW9mIHRoaXMucGF0aD09InN0cmluZyI/em8uYmFzZW5hbWUodGhpcy5wYXRoLHRoaXMuZXh0bmFtZSk6dm9pZCAwfXNldCBzdGVtKHQpe3d0ZSh0LCJzdGVtIikseXRlKHQsInN0ZW0iKSx0aGlzLnBhdGg9em8uam9pbih0aGlzLmRpcm5hbWV8fCIiLHQrKHRoaXMuZXh0bmFtZXx8IiIpKX1mYWlsKHQscixhKXtsZXQgaT10aGlzLm1lc3NhZ2UodCxyLGEpO3Rocm93IGkuZmF0YWw9ITAsaX1pbmZvKHQscixhKXtsZXQgaT10aGlzLm1lc3NhZ2UodCxyLGEpO3JldHVybiBpLmZhdGFsPXZvaWQgMCxpfW1lc3NhZ2UodCxyLGEpe2xldCBpPW5ldyBOaSh0LHIsYSk7cmV0dXJuIHRoaXMucGF0aCYmKGkubmFtZT10aGlzLnBhdGgrIjoiK2kubmFtZSxpLmZpbGU9dGhpcy5wYXRoKSxpLmZhdGFsPSExLHRoaXMubWVzc2FnZXMucHVzaChpKSxpfXRvU3RyaW5nKHQpe3JldHVybiB0aGlzLnZhbHVlPT09dm9pZCAwPyIiOnR5cGVvZiB0aGlzLnZhbHVlPT0ic3RyaW5nIj90aGlzLnZhbHVlOm5ldyBUZXh0RGVjb2Rlcih0fHx2b2lkIDApLmRlY29kZSh0aGlzLnZhbHVlKX19fSk7dmFyIFVHZT1mKCgpPT57VkdlKCl9KTt2YXIgV0dlLEdHZT1mKCgpPT57V0dlPShmdW5jdGlvbihlKXtsZXQgYT10aGlzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxpPWFbZV0sbj1mdW5jdGlvbigpe3JldHVybiBpLmFwcGx5KG4sYXJndW1lbnRzKX07cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihuLGEpLG59KX0pO2Z1bmN0aW9uIGt0ZShlLHQpe2lmKHR5cGVvZiB0IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBgIitlKyJgIHdpdGhvdXQgYHBhcnNlcmAiKX1mdW5jdGlvbiBTdGUoZSx0KXtpZih0eXBlb2YgdCE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYCIrZSsiYCB3aXRob3V0IGBjb21waWxlcmAiKX1mdW5jdGlvbiB6dGUoZSx0KXtpZih0KXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNhbGwgYCIrZSsiYCBvbiBhIGZyb3plbiBwcm9jZXNzb3IuXG5DcmVhdGUgYSBuZXcgcHJvY2Vzc29yIGZpcnN0LCBieSBjYWxsaW5nIGl0OiB1c2UgYHByb2Nlc3NvcigpYCBpbnN0ZWFkIG9mIGBwcm9jZXNzb3JgLiIpfWZ1bmN0aW9uIFlHZShlKXtpZighSjkoZSl8fHR5cGVvZiBlLnR5cGUhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIG5vZGUsIGdvdCBgIitlKyJgIil9ZnVuY3Rpb24gWkdlKGUsdCxyKXtpZighcil0aHJvdyBuZXcgRXJyb3IoImAiK2UrImAgZmluaXNoZWQgYXN5bmMuIFVzZSBgIit0KyJgIGluc3RlYWQiKX1mdW5jdGlvbiByTChlKXtyZXR1cm4gaEhyKGUpP2U6bmV3IGVnKGUpfWZ1bmN0aW9uIGhIcihlKXtyZXR1cm4hIShlJiZ0eXBlb2YgZT09Im9iamVjdCImJiJtZXNzYWdlImluIGUmJiJtZXNzYWdlcyJpbiBlKX1mdW5jdGlvbiBtSHIoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nInx8Z0hyKGUpfWZ1bmN0aW9uIGdIcihlKXtyZXR1cm4hIShlJiZ0eXBlb2YgZT09Im9iamVjdCImJiJieXRlTGVuZ3RoImluIGUmJiJieXRlT2Zmc2V0ImluIGUpfXZhciBhTCxmSHIsTXRlLHRnLFhHZT1mKCgpPT57eEdlKCk7YUw9c3IoX0dlKCksMSk7UzQoKTtMR2UoKTtBR2UoKTtVR2UoKTtHR2UoKTtmSHI9e30uaGFzT3duUHJvcGVydHksTXRlPWNsYXNzIGUgZXh0ZW5kcyBXR2V7Y29uc3RydWN0b3IoKXtzdXBlcigiY29weSIpLHRoaXMuQ29tcGlsZXI9dm9pZCAwLHRoaXMuUGFyc2VyPXZvaWQgMCx0aGlzLmF0dGFjaGVycz1bXSx0aGlzLmNvbXBpbGVyPXZvaWQgMCx0aGlzLmZyZWV6ZUluZGV4PS0xLHRoaXMuZnJvemVuPXZvaWQgMCx0aGlzLm5hbWVzcGFjZT17fSx0aGlzLnBhcnNlcj12b2lkIDAsdGhpcy50cmFuc2Zvcm1lcnM9bXRlKCl9Y29weSgpe2xldCB0PW5ldyBlLHI9LTE7Zm9yKDsrK3I8dGhpcy5hdHRhY2hlcnMubGVuZ3RoOyl7bGV0IGE9dGhpcy5hdHRhY2hlcnNbcl07dC51c2UoLi4uYSl9cmV0dXJuIHQuZGF0YSgoMCxhTC5kZWZhdWx0KSghMCx7fSx0aGlzLm5hbWVzcGFjZSkpLHR9ZGF0YSh0LHIpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyI/YXJndW1lbnRzLmxlbmd0aD09PTI/KHp0ZSgiZGF0YSIsdGhpcy5mcm96ZW4pLHRoaXMubmFtZXNwYWNlW3RdPXIsdGhpcyk6ZkhyLmNhbGwodGhpcy5uYW1lc3BhY2UsdCkmJnRoaXMubmFtZXNwYWNlW3RdfHx2b2lkIDA6dD8oenRlKCJkYXRhIix0aGlzLmZyb3plbiksdGhpcy5uYW1lc3BhY2U9dCx0aGlzKTp0aGlzLm5hbWVzcGFjZX1mcmVlemUoKXtpZih0aGlzLmZyb3plbilyZXR1cm4gdGhpcztsZXQgdD10aGlzO2Zvcig7Kyt0aGlzLmZyZWV6ZUluZGV4PHRoaXMuYXR0YWNoZXJzLmxlbmd0aDspe2xldFtyLC4uLmFdPXRoaXMuYXR0YWNoZXJzW3RoaXMuZnJlZXplSW5kZXhdO2lmKGFbMF09PT0hMSljb250aW51ZTthWzBdPT09ITAmJihhWzBdPXZvaWQgMCk7bGV0IGk9ci5jYWxsKHQsLi4uYSk7dHlwZW9mIGk9PSJmdW5jdGlvbiImJnRoaXMudHJhbnNmb3JtZXJzLnVzZShpKX1yZXR1cm4gdGhpcy5mcm96ZW49ITAsdGhpcy5mcmVlemVJbmRleD1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksdGhpc31wYXJzZSh0KXt0aGlzLmZyZWV6ZSgpO2xldCByPXJMKHQpLGE9dGhpcy5wYXJzZXJ8fHRoaXMuUGFyc2VyO3JldHVybiBrdGUoInBhcnNlIixhKSxhKFN0cmluZyhyKSxyKX1wcm9jZXNzKHQscil7bGV0IGE9dGhpcztyZXR1cm4gdGhpcy5mcmVlemUoKSxrdGUoInByb2Nlc3MiLHRoaXMucGFyc2VyfHx0aGlzLlBhcnNlciksU3RlKCJwcm9jZXNzIix0aGlzLmNvbXBpbGVyfHx0aGlzLkNvbXBpbGVyKSxyP2kodm9pZCAwLHIpOm5ldyBQcm9taXNlKGkpO2Z1bmN0aW9uIGkobixzKXtsZXQgbz1yTCh0KSxjPWEucGFyc2Uobyk7YS5ydW4oYyxvLGZ1bmN0aW9uKHUsZCxoKXtpZih1fHwhZHx8IWgpcmV0dXJuIGwodSk7bGV0IG09ZCx2PWEuc3RyaW5naWZ5KG0saCk7bUhyKHYpP2gudmFsdWU9djpoLnJlc3VsdD12LGwodSxoKX0pO2Z1bmN0aW9uIGwodSxkKXt1fHwhZD9zKHUpOm4/bihkKTpyKHZvaWQgMCxkKX19fXByb2Nlc3NTeW5jKHQpe2xldCByPSExLGE7cmV0dXJuIHRoaXMuZnJlZXplKCksa3RlKCJwcm9jZXNzU3luYyIsdGhpcy5wYXJzZXJ8fHRoaXMuUGFyc2VyKSxTdGUoInByb2Nlc3NTeW5jIix0aGlzLmNvbXBpbGVyfHx0aGlzLkNvbXBpbGVyKSx0aGlzLnByb2Nlc3ModCxpKSxaR2UoInByb2Nlc3NTeW5jIiwicHJvY2VzcyIsciksYTtmdW5jdGlvbiBpKG4scyl7cj0hMCxodGUobiksYT1zfX1ydW4odCxyLGEpe1lHZSh0KSx0aGlzLmZyZWV6ZSgpO2xldCBpPXRoaXMudHJhbnNmb3JtZXJzO3JldHVybiFhJiZ0eXBlb2Ygcj09ImZ1bmN0aW9uIiYmKGE9cixyPXZvaWQgMCksYT9uKHZvaWQgMCxhKTpuZXcgUHJvbWlzZShuKTtmdW5jdGlvbiBuKHMsbyl7bGV0IGM9ckwocik7aS5ydW4odCxjLGwpO2Z1bmN0aW9uIGwodSxkLGgpe2xldCBtPWR8fHQ7dT9vKHUpOnM/cyhtKTphKHZvaWQgMCxtLGgpfX19cnVuU3luYyh0LHIpe2xldCBhPSExLGk7cmV0dXJuIHRoaXMucnVuKHQscixuKSxaR2UoInJ1blN5bmMiLCJydW4iLGEpLGk7ZnVuY3Rpb24gbihzLG8pe2h0ZShzKSxpPW8sYT0hMH19c3RyaW5naWZ5KHQscil7dGhpcy5mcmVlemUoKTtsZXQgYT1yTChyKSxpPXRoaXMuY29tcGlsZXJ8fHRoaXMuQ29tcGlsZXI7cmV0dXJuIFN0ZSgic3RyaW5naWZ5IixpKSxZR2UodCksaSh0LGEpfXVzZSh0LC4uLnIpe2xldCBhPXRoaXMuYXR0YWNoZXJzLGk9dGhpcy5uYW1lc3BhY2U7aWYoenRlKCJ1c2UiLHRoaXMuZnJvemVuKSx0IT1udWxsKWlmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKWModCxyKTtlbHNlIGlmKHR5cGVvZiB0PT0ib2JqZWN0IilBcnJheS5pc0FycmF5KHQpP28odCk6cyh0KTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHVzYWJsZSB2YWx1ZSwgbm90IGAiK3QrImAiKTtyZXR1cm4gdGhpcztmdW5jdGlvbiBuKGwpe2lmKHR5cGVvZiBsPT0iZnVuY3Rpb24iKWMobCxbXSk7ZWxzZSBpZih0eXBlb2YgbD09Im9iamVjdCIpaWYoQXJyYXkuaXNBcnJheShsKSl7bGV0W3UsLi4uZF09bDtjKHUsZCl9ZWxzZSBzKGwpO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgdXNhYmxlIHZhbHVlLCBub3QgYCIrbCsiYCIpfWZ1bmN0aW9uIHMobCl7aWYoISgicGx1Z2lucyJpbiBsKSYmISgic2V0dGluZ3MiaW4gbCkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCB1c2FibGUgdmFsdWUgYnV0IHJlY2VpdmVkIGFuIGVtcHR5IHByZXNldCwgd2hpY2ggaXMgcHJvYmFibHkgYSBtaXN0YWtlOiBwcmVzZXRzIHR5cGljYWxseSBjb21lIHdpdGggYHBsdWdpbnNgIGFuZCBzb21ldGltZXMgd2l0aCBgc2V0dGluZ3NgLCBidXQgdGhpcyBoYXMgbmVpdGhlciIpO28obC5wbHVnaW5zKSxsLnNldHRpbmdzJiYoaS5zZXR0aW5ncz0oMCxhTC5kZWZhdWx0KSghMCxpLnNldHRpbmdzLGwuc2V0dGluZ3MpKX1mdW5jdGlvbiBvKGwpe2xldCB1PS0xO2lmKGwhPW51bGwpaWYoQXJyYXkuaXNBcnJheShsKSlmb3IoOysrdTxsLmxlbmd0aDspe2xldCBkPWxbdV07bihkKX1lbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgbGlzdCBvZiBwbHVnaW5zLCBub3QgYCIrbCsiYCIpfWZ1bmN0aW9uIGMobCx1KXtsZXQgZD0tMSxoPS0xO2Zvcig7KytkPGEubGVuZ3RoOylpZihhW2RdWzBdPT09bCl7aD1kO2JyZWFrfWlmKGg9PT0tMSlhLnB1c2goW2wsLi4udV0pO2Vsc2UgaWYodS5sZW5ndGg+MCl7bGV0W20sLi4udl09dSxiPWFbaF1bMV07SjkoYikmJko5KG0pJiYobT0oMCxhTC5kZWZhdWx0KSghMCxiLG0pKSxhW2hdPVtsLG0sLi4udl19fX19LHRnPW5ldyBNdGUoKS5mcmVlemUoKX0pO3ZhciBRR2U9ZigoKT0+e1hHZSgpfSk7ZnVuY3Rpb24gejgoZSx0KXtsZXQgcj1TdHJpbmcoZSk7aWYodHlwZW9mIHQhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGNoYXJhY3RlciIpO2xldCBhPTAsaT1yLmluZGV4T2YodCk7Zm9yKDtpIT09LTE7KWErKyxpPXIuaW5kZXhPZih0LGkrdC5sZW5ndGgpO3JldHVybiBhfXZhciBDdGU9ZigoKT0+e30pO2Z1bmN0aW9uIHg2KGUpe3JldHVybiBlIT09bnVsbCYmKGU8MzJ8fGU9PT0xMjcpfWZ1bmN0aW9uIEdlKGUpe3JldHVybiBlIT09bnVsbCYmZTwtMn1mdW5jdGlvbiBRdChlKXtyZXR1cm4gZSE9PW51bGwmJihlPDB8fGU9PT0zMil9ZnVuY3Rpb24gbHQoZSl7cmV0dXJuIGU9PT0tMnx8ZT09PS0xfHxlPT09MzJ9ZnVuY3Rpb24gQzQoZSl7cmV0dXJuIHQ7ZnVuY3Rpb24gdChyKXtyZXR1cm4gciE9PW51bGwmJnI+LTEmJmUudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKHIpKX19dmFyIHlpLE5hLEpHZSxyZyxLR2UsZVllLHk2LFEyLGVyPWYoKCk9Pnt5aT1DNCgvW0EtWmEtel0vKSxOYT1DNCgvW1xkQS1aYS16XS8pLEpHZT1DNCgvWyMtJyorXC0tOT0/QS1aXi1+XS8pO3JnPUM0KC9cZC8pLEtHZT1DNCgvW1xkQS1GYS1mXS8pLGVZZT1DNCgvWyEtLzotQFstYHstfl0vKTt5Nj1DNCgvXHB7UH18XHB7U30vdSksUTI9QzQoL1xzLyl9KTtmdW5jdGlvbiBiSHIoZSl7bGV0IHQ9W10scj0tMTtmb3IoOysrcjxlLmxlbmd0aDspdFtyXT1oYyhlW3JdKTtyZXR1cm4gaUwoYSk7ZnVuY3Rpb24gYSguLi5pKXtsZXQgbj0tMTtmb3IoOysrbjx0Lmxlbmd0aDspaWYodFtuXS5hcHBseSh0aGlzLGkpKXJldHVybiEwO3JldHVybiExfX1mdW5jdGlvbiB2SHIoZSl7bGV0IHQ9ZTtyZXR1cm4gaUwocik7ZnVuY3Rpb24gcihhKXtsZXQgaT1hLG47Zm9yKG4gaW4gZSlpZihpW25dIT09dFtuXSlyZXR1cm4hMTtyZXR1cm4hMH19ZnVuY3Rpb24geEhyKGUpe3JldHVybiBpTCh0KTtmdW5jdGlvbiB0KHIpe3JldHVybiByJiZyLnR5cGU9PT1lfX1mdW5jdGlvbiBpTChlKXtyZXR1cm4gdDtmdW5jdGlvbiB0KHIsYSxpKXtyZXR1cm4hISh0WWUocikmJmUuY2FsbCh0aGlzLHIsdHlwZW9mIGE9PSJudW1iZXIiP2E6dm9pZCAwLGl8fHZvaWQgMCkpfX1mdW5jdGlvbiB5SHIoKXtyZXR1cm4hMH1mdW5jdGlvbiB0WWUoZSl7cmV0dXJuIGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCImJiJ0eXBlImluIGV9dmFyIHJZZSxoYyxhWWU9ZigoKT0+e3JZZT0oZnVuY3Rpb24oZSx0LHIsYSxpKXtsZXQgbj1oYyh0KTtpZihyIT1udWxsJiYodHlwZW9mIHIhPSJudW1iZXIifHxyPDB8fHI9PT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgcG9zaXRpdmUgZmluaXRlIGluZGV4Iik7aWYoYSE9bnVsbCYmKCFyWWUoYSl8fCFhLmNoaWxkcmVuKSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHBhcmVudCBub2RlIik7aWYoYT09bnVsbCE9KHI9PW51bGwpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYm90aCBwYXJlbnQgYW5kIGluZGV4Iik7cmV0dXJuIHRZZShlKT9uLmNhbGwoaSxlLHIsYSk6ITF9KSxoYz0oZnVuY3Rpb24oZSl7aWYoZT09bnVsbClyZXR1cm4geUhyO2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKXJldHVybiBpTChlKTtpZih0eXBlb2YgZT09Im9iamVjdCIpcmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/YkhyKGUpOnZIcihlKTtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIHhIcihlKTt0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIGZ1bmN0aW9uLCBzdHJpbmcsIG9yIG9iamVjdCBhcyB0ZXN0Iil9KX0pO3ZhciBuTD1mKCgpPT57YVllKCl9KTt2YXIgaVllPWYoKCk9Pnt9KTtmdW5jdGlvbiBhZyhlLHQscixhKXtsZXQgaTt0eXBlb2YgdD09ImZ1bmN0aW9uIiYmdHlwZW9mIHIhPSJmdW5jdGlvbiI/KGE9cixyPXQpOmk9dDtsZXQgbj1oYyhpKSxzPWE/LTE6MTtvKGUsdm9pZCAwLFtdKSgpO2Z1bmN0aW9uIG8oYyxsLHUpe2xldCBkPWMmJnR5cGVvZiBjPT0ib2JqZWN0Ij9jOnt9O2lmKHR5cGVvZiBkLnR5cGU9PSJzdHJpbmciKXtsZXQgbT10eXBlb2YgZC50YWdOYW1lPT0ic3RyaW5nIj9kLnRhZ05hbWU6dHlwZW9mIGQubmFtZT09InN0cmluZyI/ZC5uYW1lOnZvaWQgMDtPYmplY3QuZGVmaW5lUHJvcGVydHkoaCwibmFtZSIse3ZhbHVlOiJub2RlICgiKyhjLnR5cGUrKG0/IjwiK20rIj4iOiIiKSkrIikifSl9cmV0dXJuIGg7ZnVuY3Rpb24gaCgpe2xldCBtPW5ZZSx2LGIsZztpZigoIXR8fG4oYyxsLHVbdS5sZW5ndGgtMV18fHZvaWQgMCkpJiYobT13SHIocihjLHUpKSxtWzBdPT09dzYpKXJldHVybiBtO2lmKCJjaGlsZHJlbiJpbiBjJiZjLmNoaWxkcmVuKXtsZXQgeT1jO2lmKHkuY2hpbGRyZW4mJm1bMF0hPT1vTClmb3IoYj0oYT95LmNoaWxkcmVuLmxlbmd0aDotMSkrcyxnPXUuY29uY2F0KHkpO2I+LTEmJmI8eS5jaGlsZHJlbi5sZW5ndGg7KXtsZXQgdz15LmNoaWxkcmVuW2JdO2lmKHY9byh3LGIsZykoKSx2WzBdPT09dzYpcmV0dXJuIHY7Yj10eXBlb2YgdlsxXT09Im51bWJlciI/dlsxXTpiK3N9fXJldHVybiBtfX19ZnVuY3Rpb24gd0hyKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2U6dHlwZW9mIGU9PSJudW1iZXIiP1tzTCxlXTplPT1udWxsP25ZZTpbZV19dmFyIG5ZZSxzTCx3NixvTCxzWWU9ZigoKT0+e25MKCk7aVllKCk7blllPVtdLHNMPSEwLHc2PSExLG9MPSJza2lwIn0pO3ZhciBsTD1mKCgpPT57c1llKCl9KTtmdW5jdGlvbiBUdGUoZSx0LHIpe2xldCBpPWhjKChyfHx7fSkuaWdub3JlfHxbXSksbj1NSHIodCkscz0tMTtmb3IoOysrczxuLmxlbmd0aDspYWcoZSwidGV4dCIsbyk7ZnVuY3Rpb24gbyhsLHUpe2xldCBkPS0xLGg7Zm9yKDsrK2Q8dS5sZW5ndGg7KXtsZXQgbT11W2RdLHY9aD9oLmNoaWxkcmVuOnZvaWQgMDtpZihpKG0sdj92LmluZGV4T2YobSk6dm9pZCAwLGgpKXJldHVybjtoPW19aWYoaClyZXR1cm4gYyhsLHUpfWZ1bmN0aW9uIGMobCx1KXtsZXQgZD11W3UubGVuZ3RoLTFdLGg9bltzXVswXSxtPW5bc11bMV0sdj0wLGc9ZC5jaGlsZHJlbi5pbmRleE9mKGwpLHk9ITEsdz1bXTtoLmxhc3RJbmRleD0wO2xldCBrPWguZXhlYyhsLnZhbHVlKTtmb3IoO2s7KXtsZXQgUj1rLmluZGV4LEM9e2luZGV4OmsuaW5kZXgsaW5wdXQ6ay5pbnB1dCxzdGFjazpbLi4udSxsXX0sUz1tKC4uLmssQyk7aWYodHlwZW9mIFM9PSJzdHJpbmciJiYoUz1TLmxlbmd0aD4wP3t0eXBlOiJ0ZXh0Iix2YWx1ZTpTfTp2b2lkIDApLFM9PT0hMT9oLmxhc3RJbmRleD1SKzE6KHYhPT1SJiZ3LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmwudmFsdWUuc2xpY2UodixSKX0pLEFycmF5LmlzQXJyYXkoUyk/dy5wdXNoKC4uLlMpOlMmJncucHVzaChTKSx2PVIra1swXS5sZW5ndGgseT0hMCksIWguZ2xvYmFsKWJyZWFrO2s9aC5leGVjKGwudmFsdWUpfXJldHVybiB5Pyh2PGwudmFsdWUubGVuZ3RoJiZ3LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmwudmFsdWUuc2xpY2Uodil9KSxkLmNoaWxkcmVuLnNwbGljZShnLDEsLi4udykpOnc9W2xdLGcrdy5sZW5ndGh9fWZ1bmN0aW9uIE1IcihlKXtsZXQgdD1bXTtpZighQXJyYXkuaXNBcnJheShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBmaW5kIGFuZCByZXBsYWNlIHR1cGxlIG9yIGxpc3Qgb2YgdHVwbGVzIik7bGV0IHI9IWVbMF18fEFycmF5LmlzQXJyYXkoZVswXSk/ZTpbZV0sYT0tMTtmb3IoOysrYTxyLmxlbmd0aDspe2xldCBpPXJbYV07dC5wdXNoKFtrSHIoaVswXSksU0hyKGlbMV0pXSl9cmV0dXJuIHR9ZnVuY3Rpb24ga0hyKGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyI/bmV3IFJlZ0V4cChxZChlKSwiZyIpOmV9ZnVuY3Rpb24gU0hyKGUpe3JldHVybiB0eXBlb2YgZT09ImZ1bmN0aW9uIj9lOmZ1bmN0aW9uKCl7cmV0dXJuIGV9fXZhciBvWWU9ZigoKT0+e2FDKCk7bEwoKTtuTCgpfSk7dmFyIGxZZT1mKCgpPT57b1llKCl9KTtmdW5jdGlvbiBEdGUoKXtyZXR1cm57dHJhbnNmb3JtczpbJEhyXSxlbnRlcjp7bGl0ZXJhbEF1dG9saW5rOnpIcixsaXRlcmFsQXV0b2xpbmtFbWFpbDokdGUsbGl0ZXJhbEF1dG9saW5rSHR0cDokdGUsbGl0ZXJhbEF1dG9saW5rV3d3OiR0ZX0sZXhpdDp7bGl0ZXJhbEF1dG9saW5rOkxIcixsaXRlcmFsQXV0b2xpbmtFbWFpbDpfSHIsbGl0ZXJhbEF1dG9saW5rSHR0cDpDSHIsbGl0ZXJhbEF1dG9saW5rV3d3OlRIcn19fWZ1bmN0aW9uIEF0ZSgpe3JldHVybnt1bnNhZmU6W3tjaGFyYWN0ZXI6IkAiLGJlZm9yZToiWytcXC0uXFx3XSIsYWZ0ZXI6IltcXC0uXFx3XSIsaW5Db25zdHJ1Y3Q6X3RlLG5vdEluQ29uc3RydWN0Okx0ZX0se2NoYXJhY3RlcjoiLiIsYmVmb3JlOiJbV3ddIixhZnRlcjoiW1xcLS5cXHddIixpbkNvbnN0cnVjdDpfdGUsbm90SW5Db25zdHJ1Y3Q6THRlfSx7Y2hhcmFjdGVyOiI6IixiZWZvcmU6Iltwc10iLGFmdGVyOiJcXC8iLGluQ29uc3RydWN0Ol90ZSxub3RJbkNvbnN0cnVjdDpMdGV9XX19ZnVuY3Rpb24gekhyKGUpe3RoaXMuZW50ZXIoe3R5cGU6ImxpbmsiLHRpdGxlOm51bGwsdXJsOiIiLGNoaWxkcmVuOltdfSxlKX1mdW5jdGlvbiAkdGUoZSl7dGhpcy5jb25maWcuZW50ZXIuYXV0b2xpbmtQcm90b2NvbC5jYWxsKHRoaXMsZSl9ZnVuY3Rpb24gQ0hyKGUpe3RoaXMuY29uZmlnLmV4aXQuYXV0b2xpbmtQcm90b2NvbC5jYWxsKHRoaXMsZSl9ZnVuY3Rpb24gVEhyKGUpe3RoaXMuY29uZmlnLmV4aXQuZGF0YS5jYWxsKHRoaXMsZSk7bGV0IHQ9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTt0LnR5cGUsdC51cmw9Imh0dHA6Ly8iK3RoaXMuc2xpY2VTZXJpYWxpemUoZSl9ZnVuY3Rpb24gX0hyKGUpe3RoaXMuY29uZmlnLmV4aXQuYXV0b2xpbmtFbWFpbC5jYWxsKHRoaXMsZSl9ZnVuY3Rpb24gTEhyKGUpe3RoaXMuZXhpdChlKX1mdW5jdGlvbiAkSHIoZSl7VHRlKGUsW1svKGh0dHBzPzpcL1wvfHd3dyg/PVwuKSkoWy0uXHddKykoW14gXHRcclxuXSopL2dpLERIcl0sWy8oPzw9Xnxcc3xccHtQfXxccHtTfSkoWy0uXHcrXSspQChbLVx3XSsoPzpcLlstXHddKykrKS9ndSxBSHJdXSx7aWdub3JlOlsibGluayIsImxpbmtSZWZlcmVuY2UiXX0pfWZ1bmN0aW9uIERIcihlLHQscixhLGkpe2xldCBuPSIiO2lmKCFjWWUoaSl8fCgvXncvaS50ZXN0KHQpJiYocj10K3IsdD0iIixuPSJodHRwOi8vIiksIUVIcihyKSkpcmV0dXJuITE7bGV0IHM9SUhyKHIrYSk7aWYoIXNbMF0pcmV0dXJuITE7bGV0IG89e3R5cGU6ImxpbmsiLHRpdGxlOm51bGwsdXJsOm4rdCtzWzBdLGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6dCtzWzBdfV19O3JldHVybiBzWzFdP1tvLHt0eXBlOiJ0ZXh0Iix2YWx1ZTpzWzFdfV06b31mdW5jdGlvbiBBSHIoZSx0LHIsYSl7cmV0dXJuIWNZZShhLCEwKXx8L1stXGRfXSQvLnRlc3Qocik/ITE6e3R5cGU6ImxpbmsiLHRpdGxlOm51bGwsdXJsOiJtYWlsdG86Iit0KyJAIityLGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6dCsiQCIrcn1dfX1mdW5jdGlvbiBFSHIoZSl7bGV0IHQ9ZS5zcGxpdCgiLiIpO3JldHVybiEodC5sZW5ndGg8Mnx8dFt0Lmxlbmd0aC0xXSYmKC9fLy50ZXN0KHRbdC5sZW5ndGgtMV0pfHwhL1thLXpBLVpcZF0vLnRlc3QodFt0Lmxlbmd0aC0xXSkpfHx0W3QubGVuZ3RoLTJdJiYoL18vLnRlc3QodFt0Lmxlbmd0aC0yXSl8fCEvW2EtekEtWlxkXS8udGVzdCh0W3QubGVuZ3RoLTJdKSkpfWZ1bmN0aW9uIElIcihlKXtsZXQgdD0vWyEiJicpLC46Ozw+P1xdfV0rJC8uZXhlYyhlKTtpZighdClyZXR1cm5bZSx2b2lkIDBdO2U9ZS5zbGljZSgwLHQuaW5kZXgpO2xldCByPXRbMF0sYT1yLmluZGV4T2YoIikiKSxpPXo4KGUsIigiKSxuPXo4KGUsIikiKTtmb3IoO2EhPT0tMSYmaT5uOyllKz1yLnNsaWNlKDAsYSsxKSxyPXIuc2xpY2UoYSsxKSxhPXIuaW5kZXhPZigiKSIpLG4rKztyZXR1cm5bZSxyXX1mdW5jdGlvbiBjWWUoZSx0KXtsZXQgcj1lLmlucHV0LmNoYXJDb2RlQXQoZS5pbmRleC0xKTtyZXR1cm4oZS5pbmRleD09PTB8fFEyKHIpfHx5NihyKSkmJighdHx8ciE9PTQ3KX12YXIgX3RlLEx0ZSxkWWU9ZigoKT0+e0N0ZSgpO1M0KCk7ZXIoKTtsWWUoKTtfdGU9InBocmFzaW5nIixMdGU9WyJhdXRvbGluayIsImxpbmsiLCJpbWFnZSIsImxhYmVsIl19KTt2YXIgdVllPWYoKCk9PntkWWUoKX0pO2Z1bmN0aW9uIEZhKGUpe3JldHVybiBlLnJlcGxhY2UoL1tcdFxuXHIgXSsvZywiICIpLnJlcGxhY2UoL14gfCAkL2csIiIpLnRvTG93ZXJDYXNlKCkudG9VcHBlckNhc2UoKX12YXIgVDQ9ZigoKT0+e30pO2Z1bmN0aW9uIFBIcigpe3RoaXMuYnVmZmVyKCl9ZnVuY3Rpb24gTkhyKGUpe3RoaXMuZW50ZXIoe3R5cGU6ImZvb3Rub3RlUmVmZXJlbmNlIixpZGVudGlmaWVyOiIiLGxhYmVsOiIifSxlKX1mdW5jdGlvbiBGSHIoKXt0aGlzLmJ1ZmZlcigpfWZ1bmN0aW9uIE9IcihlKXt0aGlzLmVudGVyKHt0eXBlOiJmb290bm90ZURlZmluaXRpb24iLGlkZW50aWZpZXI6IiIsbGFiZWw6IiIsY2hpbGRyZW46W119LGUpfWZ1bmN0aW9uIFJIcihlKXtsZXQgdD10aGlzLnJlc3VtZSgpLHI9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtyLnR5cGUsci5pZGVudGlmaWVyPUZhKHRoaXMuc2xpY2VTZXJpYWxpemUoZSkpLnRvTG93ZXJDYXNlKCksci5sYWJlbD10fWZ1bmN0aW9uIEJIcihlKXt0aGlzLmV4aXQoZSl9ZnVuY3Rpb24gSEhyKGUpe2xldCB0PXRoaXMucmVzdW1lKCkscj10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3IudHlwZSxyLmlkZW50aWZpZXI9RmEodGhpcy5zbGljZVNlcmlhbGl6ZShlKSkudG9Mb3dlckNhc2UoKSxyLmxhYmVsPXR9ZnVuY3Rpb24gcUhyKGUpe3RoaXMuZXhpdChlKX1mdW5jdGlvbiBqSHIoKXtyZXR1cm4iWyJ9ZnVuY3Rpb24gcFllKGUsdCxyLGEpe2xldCBpPXIuY3JlYXRlVHJhY2tlcihhKSxuPWkubW92ZSgiW14iKSxzPXIuZW50ZXIoImZvb3Rub3RlUmVmZXJlbmNlIiksbz1yLmVudGVyKCJyZWZlcmVuY2UiKTtyZXR1cm4gbis9aS5tb3ZlKHIuc2FmZShyLmFzc29jaWF0aW9uSWQoZSkse2FmdGVyOiJdIixiZWZvcmU6bn0pKSxvKCkscygpLG4rPWkubW92ZSgiXSIpLG59ZnVuY3Rpb24gRXRlKCl7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZUNhbGxTdHJpbmc6UEhyLGdmbUZvb3Rub3RlQ2FsbDpOSHIsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmc6RkhyLGdmbUZvb3Rub3RlRGVmaW5pdGlvbjpPSHJ9LGV4aXQ6e2dmbUZvb3Rub3RlQ2FsbFN0cmluZzpSSHIsZ2ZtRm9vdG5vdGVDYWxsOkJIcixnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZzpISHIsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uOnFIcn19fWZ1bmN0aW9uIEl0ZShlKXtsZXQgdD0hMTtyZXR1cm4gZSYmZS5maXJzdExpbmVCbGFuayYmKHQ9ITApLHtoYW5kbGVyczp7Zm9vdG5vdGVEZWZpbml0aW9uOnIsZm9vdG5vdGVSZWZlcmVuY2U6cFllfSx1bnNhZmU6W3tjaGFyYWN0ZXI6IlsiLGluQ29uc3RydWN0OlsibGFiZWwiLCJwaHJhc2luZyIsInJlZmVyZW5jZSJdfV19O2Z1bmN0aW9uIHIoYSxpLG4scyl7bGV0IG89bi5jcmVhdGVUcmFja2VyKHMpLGM9by5tb3ZlKCJbXiIpLGw9bi5lbnRlcigiZm9vdG5vdGVEZWZpbml0aW9uIiksdT1uLmVudGVyKCJsYWJlbCIpO3JldHVybiBjKz1vLm1vdmUobi5zYWZlKG4uYXNzb2NpYXRpb25JZChhKSx7YmVmb3JlOmMsYWZ0ZXI6Il0ifSkpLHUoKSxjKz1vLm1vdmUoIl06IiksYS5jaGlsZHJlbiYmYS5jaGlsZHJlbi5sZW5ndGg+MCYmKG8uc2hpZnQoNCksYys9by5tb3ZlKCh0P2AKYDoiICIpK24uaW5kZW50TGluZXMobi5jb250YWluZXJGbG93KGEsby5jdXJyZW50KCkpLHQ/ZlllOlZIcikpKSxsKCksY319ZnVuY3Rpb24gVkhyKGUsdCxyKXtyZXR1cm4gdD09PTA/ZTpmWWUoZSx0LHIpfWZ1bmN0aW9uIGZZZShlLHQscil7cmV0dXJuKHI/IiI6IiAgICAiKStlfXZhciBoWWU9ZigoKT0+e1M0KCk7VDQoKTtwWWUucGVlaz1qSHJ9KTt2YXIgbVllPWYoKCk9PntoWWUoKX0pO2Z1bmN0aW9uIFB0ZSgpe3JldHVybntjYW5Db250YWluRW9sczpbImRlbGV0ZSJdLGVudGVyOntzdHJpa2V0aHJvdWdoOldIcn0sZXhpdDp7c3RyaWtldGhyb3VnaDpHSHJ9fX1mdW5jdGlvbiBOdGUoKXtyZXR1cm57dW5zYWZlOlt7Y2hhcmFjdGVyOiJ+IixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OlVIcn1dLGhhbmRsZXJzOntkZWxldGU6Z1llfX19ZnVuY3Rpb24gV0hyKGUpe3RoaXMuZW50ZXIoe3R5cGU6ImRlbGV0ZSIsY2hpbGRyZW46W119LGUpfWZ1bmN0aW9uIEdIcihlKXt0aGlzLmV4aXQoZSl9ZnVuY3Rpb24gZ1llKGUsdCxyLGEpe2xldCBpPXIuY3JlYXRlVHJhY2tlcihhKSxuPXIuZW50ZXIoInN0cmlrZXRocm91Z2giKSxzPWkubW92ZSgifn4iKTtyZXR1cm4gcys9ci5jb250YWluZXJQaHJhc2luZyhlLHsuLi5pLmN1cnJlbnQoKSxiZWZvcmU6cyxhZnRlcjoifiJ9KSxzKz1pLm1vdmUoIn5+IiksbigpLHN9ZnVuY3Rpb24gWUhyKCl7cmV0dXJuIn4ifXZhciBVSHIsYlllPWYoKCk9PntVSHI9WyJhdXRvbGluayIsImRlc3RpbmF0aW9uTGl0ZXJhbCIsImRlc3RpbmF0aW9uUmF3IiwicmVmZXJlbmNlIiwidGl0bGVRdW90ZSIsInRpdGxlQXBvc3Ryb3BoZSJdO2dZZS5wZWVrPVlIcn0pO3ZhciB2WWU9ZigoKT0+e2JZZSgpfSk7ZnVuY3Rpb24gWkhyKGUpe3JldHVybiBlLmxlbmd0aH1mdW5jdGlvbiB5WWUoZSx0KXtsZXQgcj10fHx7fSxhPShyLmFsaWdufHxbXSkuY29uY2F0KCksaT1yLnN0cmluZ0xlbmd0aHx8WkhyLG49W10scz1bXSxvPVtdLGM9W10sbD0wLHU9LTE7Zm9yKDsrK3U8ZS5sZW5ndGg7KXtsZXQgYj1bXSxnPVtdLHk9LTE7Zm9yKGVbdV0ubGVuZ3RoPmwmJihsPWVbdV0ubGVuZ3RoKTsrK3k8ZVt1XS5sZW5ndGg7KXtsZXQgdz1YSHIoZVt1XVt5XSk7aWYoci5hbGlnbkRlbGltaXRlcnMhPT0hMSl7bGV0IGs9aSh3KTtnW3ldPWssKGNbeV09PT12b2lkIDB8fGs+Y1t5XSkmJihjW3ldPWspfWIucHVzaCh3KX1zW3VdPWIsb1t1XT1nfWxldCBkPS0xO2lmKHR5cGVvZiBhPT0ib2JqZWN0IiYmImxlbmd0aCJpbiBhKWZvcig7KytkPGw7KW5bZF09eFllKGFbZF0pO2Vsc2V7bGV0IGI9eFllKGEpO2Zvcig7KytkPGw7KW5bZF09Yn1kPS0xO2xldCBoPVtdLG09W107Zm9yKDsrK2Q8bDspe2xldCBiPW5bZF0sZz0iIix5PSIiO2I9PT05OT8oZz0iOiIseT0iOiIpOmI9PT0xMDg/Zz0iOiI6Yj09PTExNCYmKHk9IjoiKTtsZXQgdz1yLmFsaWduRGVsaW1pdGVycz09PSExPzE6TWF0aC5tYXgoMSxjW2RdLWcubGVuZ3RoLXkubGVuZ3RoKSxrPWcrIi0iLnJlcGVhdCh3KSt5O3IuYWxpZ25EZWxpbWl0ZXJzIT09ITEmJih3PWcubGVuZ3RoK3creS5sZW5ndGgsdz5jW2RdJiYoY1tkXT13KSxtW2RdPXcpLGhbZF09a31zLnNwbGljZSgxLDAsaCksby5zcGxpY2UoMSwwLG0pLHU9LTE7bGV0IHY9W107Zm9yKDsrK3U8cy5sZW5ndGg7KXtsZXQgYj1zW3VdLGc9b1t1XTtkPS0xO2xldCB5PVtdO2Zvcig7KytkPGw7KXtsZXQgdz1iW2RdfHwiIixrPSIiLFI9IiI7aWYoci5hbGlnbkRlbGltaXRlcnMhPT0hMSl7bGV0IEM9Y1tkXS0oZ1tkXXx8MCksUz1uW2RdO1M9PT0xMTQ/az0iICIucmVwZWF0KEMpOlM9PT05OT9DJTI/KGs9IiAiLnJlcGVhdChDLzIrLjUpLFI9IiAiLnJlcGVhdChDLzItLjUpKTooaz0iICIucmVwZWF0KEMvMiksUj1rKTpSPSIgIi5yZXBlYXQoQyl9ci5kZWxpbWl0ZXJTdGFydCE9PSExJiYhZCYmeS5wdXNoKCJ8Iiksci5wYWRkaW5nIT09ITEmJiEoci5hbGlnbkRlbGltaXRlcnM9PT0hMSYmdz09PSIiKSYmKHIuZGVsaW1pdGVyU3RhcnQhPT0hMXx8ZCkmJnkucHVzaCgiICIpLHIuYWxpZ25EZWxpbWl0ZXJzIT09ITEmJnkucHVzaChrKSx5LnB1c2godyksci5hbGlnbkRlbGltaXRlcnMhPT0hMSYmeS5wdXNoKFIpLHIucGFkZGluZyE9PSExJiZ5LnB1c2goIiAiKSwoci5kZWxpbWl0ZXJFbmQhPT0hMXx8ZCE9PWwtMSkmJnkucHVzaCgifCIpfXYucHVzaChyLmRlbGltaXRlckVuZD09PSExP3kuam9pbigiIikucmVwbGFjZSgvICskLywiIik6eS5qb2luKCIiKSl9cmV0dXJuIHYuam9pbihgCmApfWZ1bmN0aW9uIFhIcihlKXtyZXR1cm4gZT09bnVsbD8iIjpTdHJpbmcoZSl9ZnVuY3Rpb24geFllKGUpe2xldCB0PXR5cGVvZiBlPT0ic3RyaW5nIj9lLmNvZGVQb2ludEF0KDApOjA7cmV0dXJuIHQ9PT02N3x8dD09PTk5Pzk5OnQ9PT03Nnx8dD09PTEwOD8xMDg6dD09PTgyfHx0PT09MTE0PzExNDowfXZhciB3WWU9ZigoKT0+e30pO2Z1bmN0aW9uIGNMKGUsdCl7bGV0IHI9dHx8e307ZnVuY3Rpb24gYShpLC4uLm4pe2xldCBzPWEuaW52YWxpZCxvPWEuaGFuZGxlcnM7aWYoaSYmTVllLmNhbGwoaSxlKSl7bGV0IGM9U3RyaW5nKGlbZV0pO3M9TVllLmNhbGwobyxjKT9vW2NdOmEudW5rbm93bn1pZihzKXJldHVybiBzLmNhbGwodGhpcyxpLC4uLm4pfXJldHVybiBhLmhhbmRsZXJzPXIuaGFuZGxlcnN8fHt9LGEuaW52YWxpZD1yLmludmFsaWQsYS51bmtub3duPXIudW5rbm93bixhfXZhciBNWWUsRnRlPWYoKCk9PntNWWU9e30uaGFzT3duUHJvcGVydHl9KTtmdW5jdGlvbiBPdGUoZSx0KXtsZXQgcj0tMSxhO2lmKHQuZXh0ZW5zaW9ucylmb3IoOysrcjx0LmV4dGVuc2lvbnMubGVuZ3RoOylPdGUoZSx0LmV4dGVuc2lvbnNbcl0pO2ZvcihhIGluIHQpaWYoUUhyLmNhbGwodCxhKSlzd2l0Y2goYSl7Y2FzZSJleHRlbnNpb25zIjpicmVhaztjYXNlInVuc2FmZSI6e2tZZShlW2FdLHRbYV0pO2JyZWFrfWNhc2Uiam9pbiI6e2tZZShlW2FdLHRbYV0pO2JyZWFrfWNhc2UiaGFuZGxlcnMiOntKSHIoZVthXSx0W2FdKTticmVha31kZWZhdWx0OmUub3B0aW9uc1thXT10W2FdfXJldHVybiBlfWZ1bmN0aW9uIGtZZShlLHQpe3QmJmUucHVzaCguLi50KX1mdW5jdGlvbiBKSHIoZSx0KXt0JiZPYmplY3QuYXNzaWduKGUsdCl9dmFyIFFIcixTWWU9ZigoKT0+e1FIcj17fS5oYXNPd25Qcm9wZXJ0eX0pO2Z1bmN0aW9uIHpZZShlLHQscixhKXtsZXQgaT1yLmVudGVyKCJibG9ja3F1b3RlIiksbj1yLmNyZWF0ZVRyYWNrZXIoYSk7bi5tb3ZlKCI+ICIpLG4uc2hpZnQoMik7bGV0IHM9ci5pbmRlbnRMaW5lcyhyLmNvbnRhaW5lckZsb3coZSxuLmN1cnJlbnQoKSksS0hyKTtyZXR1cm4gaSgpLHN9ZnVuY3Rpb24gS0hyKGUsdCxyKXtyZXR1cm4iPiIrKHI/IiI6IiAiKStlfXZhciBDWWU9ZigoKT0+e30pO2Z1bmN0aW9uIGRMKGUsdCl7cmV0dXJuIFRZZShlLHQuaW5Db25zdHJ1Y3QsITApJiYhVFllKGUsdC5ub3RJbkNvbnN0cnVjdCwhMSl9ZnVuY3Rpb24gVFllKGUsdCxyKXtpZih0eXBlb2YgdD09InN0cmluZyImJih0PVt0XSksIXR8fHQubGVuZ3RoPT09MClyZXR1cm4gcjtsZXQgYT0tMTtmb3IoOysrYTx0Lmxlbmd0aDspaWYoZS5pbmNsdWRlcyh0W2FdKSlyZXR1cm4hMDtyZXR1cm4hMX12YXIgUnRlPWYoKCk9Pnt9KTtmdW5jdGlvbiBCdGUoZSx0LHIsYSl7bGV0IGk9LTE7Zm9yKDsrK2k8ci51bnNhZmUubGVuZ3RoOylpZihyLnVuc2FmZVtpXS5jaGFyYWN0ZXI9PT1gCmAmJmRMKHIuc3RhY2ssci51bnNhZmVbaV0pKXJldHVybi9bIFx0XS8udGVzdChhLmJlZm9yZSk/IiI6IiAiO3JldHVybmBcXApgfXZhciBfWWU9ZigoKT0+e1J0ZSgpfSk7ZnVuY3Rpb24gTFllKGUsdCl7bGV0IHI9U3RyaW5nKGUpLGE9ci5pbmRleE9mKHQpLGk9YSxuPTAscz0wO2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBzdWJzdHJpbmciKTtmb3IoO2EhPT0tMTspYT09PWk/KytuPnMmJihzPW4pOm49MSxpPWErdC5sZW5ndGgsYT1yLmluZGV4T2YodCxpKTtyZXR1cm4gc312YXIgJFllPWYoKCk9Pnt9KTtmdW5jdGlvbiBpZyhlLHQpe3JldHVybiEhKHQub3B0aW9ucy5mZW5jZXM9PT0hMSYmZS52YWx1ZSYmIWUubGFuZyYmL1teIFxyXG5dLy50ZXN0KGUudmFsdWUpJiYhL15bXHQgXSooPzpbXHJcbl18JCl8KD86XnxbXHJcbl0pW1x0IF0qJC8udGVzdChlLnZhbHVlKSl9dmFyIEh0ZT1mKCgpPT57fSk7ZnVuY3Rpb24gRFllKGUpe2xldCB0PWUub3B0aW9ucy5mZW5jZXx8ImAiO2lmKHQhPT0iYCImJnQhPT0ifiIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGNvZGUgd2l0aCBgIit0KyJgIGZvciBgb3B0aW9ucy5mZW5jZWAsIGV4cGVjdGVkIGBgIGAgYGAgb3IgYH5gIik7cmV0dXJuIHR9dmFyIEFZZT1mKCgpPT57fSk7ZnVuY3Rpb24gRVllKGUsdCxyLGEpe2xldCBpPURZZShyKSxuPWUudmFsdWV8fCIiLHM9aT09PSJgIj8iR3JhdmVBY2NlbnQiOiJUaWxkZSI7aWYoaWcoZSxyKSl7bGV0IGQ9ci5lbnRlcigiY29kZUluZGVudGVkIiksaD1yLmluZGVudExpbmVzKG4sZXFyKTtyZXR1cm4gZCgpLGh9bGV0IG89ci5jcmVhdGVUcmFja2VyKGEpLGM9aS5yZXBlYXQoTWF0aC5tYXgoTFllKG4saSkrMSwzKSksbD1yLmVudGVyKCJjb2RlRmVuY2VkIiksdT1vLm1vdmUoYyk7aWYoZS5sYW5nKXtsZXQgZD1yLmVudGVyKGBjb2RlRmVuY2VkTGFuZyR7c31gKTt1Kz1vLm1vdmUoci5zYWZlKGUubGFuZyx7YmVmb3JlOnUsYWZ0ZXI6IiAiLGVuY29kZTpbImAiXSwuLi5vLmN1cnJlbnQoKX0pKSxkKCl9aWYoZS5sYW5nJiZlLm1ldGEpe2xldCBkPXIuZW50ZXIoYGNvZGVGZW5jZWRNZXRhJHtzfWApO3UrPW8ubW92ZSgiICIpLHUrPW8ubW92ZShyLnNhZmUoZS5tZXRhLHtiZWZvcmU6dSxhZnRlcjpgCmAsZW5jb2RlOlsiYCJdLC4uLm8uY3VycmVudCgpfSkpLGQoKX1yZXR1cm4gdSs9by5tb3ZlKGAKYCksbiYmKHUrPW8ubW92ZShuK2AKYCkpLHUrPW8ubW92ZShjKSxsKCksdX1mdW5jdGlvbiBlcXIoZSx0LHIpe3JldHVybihyPyIiOiIgICAgIikrZX12YXIgSVllPWYoKCk9PnskWWUoKTtIdGUoKTtBWWUoKX0pO2Z1bmN0aW9uIEM4KGUpe2xldCB0PWUub3B0aW9ucy5xdW90ZXx8JyInO2lmKHQhPT0nIicmJnQhPT0iJyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIHRpdGxlIHdpdGggYCIrdCsiYCBmb3IgYG9wdGlvbnMucXVvdGVgLCBleHBlY3RlZCBgXCJgLCBvciBgJ2AiKTtyZXR1cm4gdH12YXIgdUw9ZigoKT0+e30pO2Z1bmN0aW9uIFBZZShlLHQscixhKXtsZXQgaT1DOChyKSxuPWk9PT0nIic/IlF1b3RlIjoiQXBvc3Ryb3BoZSIscz1yLmVudGVyKCJkZWZpbml0aW9uIiksbz1yLmVudGVyKCJsYWJlbCIpLGM9ci5jcmVhdGVUcmFja2VyKGEpLGw9Yy5tb3ZlKCJbIik7cmV0dXJuIGwrPWMubW92ZShyLnNhZmUoci5hc3NvY2lhdGlvbklkKGUpLHtiZWZvcmU6bCxhZnRlcjoiXSIsLi4uYy5jdXJyZW50KCl9KSksbCs9Yy5tb3ZlKCJdOiAiKSxvKCksIWUudXJsfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGUudXJsKT8obz1yLmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxsKz1jLm1vdmUoIjwiKSxsKz1jLm1vdmUoci5zYWZlKGUudXJsLHtiZWZvcmU6bCxhZnRlcjoiPiIsLi4uYy5jdXJyZW50KCl9KSksbCs9Yy5tb3ZlKCI+IikpOihvPXIuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksbCs9Yy5tb3ZlKHIuc2FmZShlLnVybCx7YmVmb3JlOmwsYWZ0ZXI6ZS50aXRsZT8iICI6YApgLC4uLmMuY3VycmVudCgpfSkpKSxvKCksZS50aXRsZSYmKG89ci5lbnRlcihgdGl0bGUke259YCksbCs9Yy5tb3ZlKCIgIitpKSxsKz1jLm1vdmUoci5zYWZlKGUudGl0bGUse2JlZm9yZTpsLGFmdGVyOmksLi4uYy5jdXJyZW50KCl9KSksbCs9Yy5tb3ZlKGkpLG8oKSkscygpLGx9dmFyIE5ZZT1mKCgpPT57dUwoKX0pO2Z1bmN0aW9uIEZZZShlKXtsZXQgdD1lLm9wdGlvbnMuZW1waGFzaXN8fCIqIjtpZih0IT09IioiJiZ0IT09Il8iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBlbXBoYXNpcyB3aXRoIGAiK3QrImAgZm9yIGBvcHRpb25zLmVtcGhhc2lzYCwgZXhwZWN0ZWQgYCpgLCBvciBgX2AiKTtyZXR1cm4gdH12YXIgT1llPWYoKCk9Pnt9KTtmdW5jdGlvbiBaMShlKXtyZXR1cm4iJiN4IitlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKyI7In12YXIgVDg9ZigoKT0+e30pO2Z1bmN0aW9uIG1jKGUpe2lmKGU9PT1udWxsfHxRdChlKXx8UTIoZSkpcmV0dXJuIDE7aWYoeTYoZSkpcmV0dXJuIDJ9dmFyIHBMPWYoKCk9PntlcigpfSk7ZnVuY3Rpb24gXzgoZSx0LHIpe2xldCBhPW1jKGUpLGk9bWModCk7cmV0dXJuIGE9PT12b2lkIDA/aT09PXZvaWQgMD9yPT09Il8iP3tpbnNpZGU6ITAsb3V0c2lkZTohMH06e2luc2lkZTohMSxvdXRzaWRlOiExfTppPT09MT97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMH06YT09PTE/aT09PXZvaWQgMD97aW5zaWRlOiExLG91dHNpZGU6ITF9Omk9PT0xP3tpbnNpZGU6ITAsb3V0c2lkZTohMH06e2luc2lkZTohMSxvdXRzaWRlOiExfTppPT09dm9pZCAwP3tpbnNpZGU6ITEsb3V0c2lkZTohMX06aT09PTE/e2luc2lkZTohMCxvdXRzaWRlOiExfTp7aW5zaWRlOiExLG91dHNpZGU6ITF9fXZhciBxdGU9ZigoKT0+e3BMKCl9KTtmdW5jdGlvbiBqdGUoZSx0LHIsYSl7bGV0IGk9RlllKHIpLG49ci5lbnRlcigiZW1waGFzaXMiKSxzPXIuY3JlYXRlVHJhY2tlcihhKSxvPXMubW92ZShpKSxjPXMubW92ZShyLmNvbnRhaW5lclBocmFzaW5nKGUse2FmdGVyOmksYmVmb3JlOm8sLi4ucy5jdXJyZW50KCl9KSksbD1jLmNoYXJDb2RlQXQoMCksdT1fOChhLmJlZm9yZS5jaGFyQ29kZUF0KGEuYmVmb3JlLmxlbmd0aC0xKSxsLGkpO3UuaW5zaWRlJiYoYz1aMShsKStjLnNsaWNlKDEpKTtsZXQgZD1jLmNoYXJDb2RlQXQoYy5sZW5ndGgtMSksaD1fOChhLmFmdGVyLmNoYXJDb2RlQXQoMCksZCxpKTtoLmluc2lkZSYmKGM9Yy5zbGljZSgwLC0xKStaMShkKSk7bGV0IG09cy5tb3ZlKGkpO3JldHVybiBuKCksci5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm89e2FmdGVyOmgub3V0c2lkZSxiZWZvcmU6dS5vdXRzaWRlfSxvK2MrbX1mdW5jdGlvbiB0cXIoZSx0LHIpe3JldHVybiByLm9wdGlvbnMuZW1waGFzaXN8fCIqIn12YXIgUlllPWYoKCk9PntPWWUoKTtUOCgpO3F0ZSgpO2p0ZS5wZWVrPXRxcn0pO2Z1bmN0aW9uIG5nKGUsdCxyLGEpe2xldCBpLG4sczt0eXBlb2YgdD09ImZ1bmN0aW9uIiYmdHlwZW9mIHIhPSJmdW5jdGlvbiI/KG49dm9pZCAwLHM9dCxpPXIpOihuPXQscz1yLGk9YSksYWcoZSxuLG8saSk7ZnVuY3Rpb24gbyhjLGwpe2xldCB1PWxbbC5sZW5ndGgtMV0sZD11P3UuY2hpbGRyZW4uaW5kZXhPZihjKTp2b2lkIDA7cmV0dXJuIHMoYyxkLHUpfX12YXIgQlllPWYoKCk9PntsTCgpO2xMKCl9KTt2YXIgVnRlPWYoKCk9PntCWWUoKX0pO2Z1bmN0aW9uIE02KGUsdCl7bGV0IHI9dHx8cnFyLGE9dHlwZW9mIHIuaW5jbHVkZUltYWdlQWx0PT0iYm9vbGVhbiI/ci5pbmNsdWRlSW1hZ2VBbHQ6ITAsaT10eXBlb2Ygci5pbmNsdWRlSHRtbD09ImJvb2xlYW4iP3IuaW5jbHVkZUh0bWw6ITA7cmV0dXJuIEhZZShlLGEsaSl9ZnVuY3Rpb24gSFllKGUsdCxyKXtpZihhcXIoZSkpe2lmKCJ2YWx1ZSJpbiBlKXJldHVybiBlLnR5cGU9PT0iaHRtbCImJiFyPyIiOmUudmFsdWU7aWYodCYmImFsdCJpbiBlJiZlLmFsdClyZXR1cm4gZS5hbHQ7aWYoImNoaWxkcmVuImluIGUpcmV0dXJuIHFZZShlLmNoaWxkcmVuLHQscil9cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/cVllKGUsdCxyKToiIn1mdW5jdGlvbiBxWWUoZSx0LHIpe2xldCBhPVtdLGk9LTE7Zm9yKDsrK2k8ZS5sZW5ndGg7KWFbaV09SFllKGVbaV0sdCxyKTtyZXR1cm4gYS5qb2luKCIiKX1mdW5jdGlvbiBhcXIoZSl7cmV0dXJuISEoZSYmdHlwZW9mIGU9PSJvYmplY3QiKX12YXIgcnFyLGpZZT1mKCgpPT57cnFyPXt9fSk7dmFyIGZMPWYoKCk9PntqWWUoKX0pO2Z1bmN0aW9uIGhMKGUsdCl7bGV0IHI9ITE7cmV0dXJuIG5nKGUsZnVuY3Rpb24oYSl7aWYoInZhbHVlImluIGEmJi9ccj9cbnxcci8udGVzdChhLnZhbHVlKXx8YS50eXBlPT09ImJyZWFrIilyZXR1cm4gcj0hMCx3Nn0pLCEhKCghZS5kZXB0aHx8ZS5kZXB0aDwzKSYmTTYoZSkmJih0Lm9wdGlvbnMuc2V0ZXh0fHxyKSl9dmFyIFV0ZT1mKCgpPT57VnRlKCk7ZkwoKX0pO2Z1bmN0aW9uIFZZZShlLHQscixhKXtsZXQgaT1NYXRoLm1heChNYXRoLm1pbig2LGUuZGVwdGh8fDEpLDEpLG49ci5jcmVhdGVUcmFja2VyKGEpO2lmKGhMKGUscikpe2xldCB1PXIuZW50ZXIoImhlYWRpbmdTZXRleHQiKSxkPXIuZW50ZXIoInBocmFzaW5nIiksaD1yLmNvbnRhaW5lclBocmFzaW5nKGUsey4uLm4uY3VycmVudCgpLGJlZm9yZTpgCmAsYWZ0ZXI6YApgfSk7cmV0dXJuIGQoKSx1KCksaCtgCmArKGk9PT0xPyI9IjoiLSIpLnJlcGVhdChoLmxlbmd0aC0oTWF0aC5tYXgoaC5sYXN0SW5kZXhPZigiXHIiKSxoLmxhc3RJbmRleE9mKGAKYCkpKzEpKX1sZXQgcz0iIyIucmVwZWF0KGkpLG89ci5lbnRlcigiaGVhZGluZ0F0eCIpLGM9ci5lbnRlcigicGhyYXNpbmciKTtuLm1vdmUocysiICIpO2xldCBsPXIuY29udGFpbmVyUGhyYXNpbmcoZSx7YmVmb3JlOiIjICIsYWZ0ZXI6YApgLC4uLm4uY3VycmVudCgpfSk7cmV0dXJuL15bXHQgXS8udGVzdChsKSYmKGw9WjEobC5jaGFyQ29kZUF0KDApKStsLnNsaWNlKDEpKSxsPWw/cysiICIrbDpzLHIub3B0aW9ucy5jbG9zZUF0eCYmKGwrPSIgIitzKSxjKCksbygpLGx9dmFyIFVZZT1mKCgpPT57VDgoKTtVdGUoKX0pO2Z1bmN0aW9uIFd0ZShlKXtyZXR1cm4gZS52YWx1ZXx8IiJ9ZnVuY3Rpb24gaXFyKCl7cmV0dXJuIjwifXZhciBXWWU9ZigoKT0+e1d0ZS5wZWVrPWlxcn0pO2Z1bmN0aW9uIEd0ZShlLHQscixhKXtsZXQgaT1DOChyKSxuPWk9PT0nIic/IlF1b3RlIjoiQXBvc3Ryb3BoZSIscz1yLmVudGVyKCJpbWFnZSIpLG89ci5lbnRlcigibGFiZWwiKSxjPXIuY3JlYXRlVHJhY2tlcihhKSxsPWMubW92ZSgiIVsiKTtyZXR1cm4gbCs9Yy5tb3ZlKHIuc2FmZShlLmFsdCx7YmVmb3JlOmwsYWZ0ZXI6Il0iLC4uLmMuY3VycmVudCgpfSkpLGwrPWMubW92ZSgiXSgiKSxvKCksIWUudXJsJiZlLnRpdGxlfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGUudXJsKT8obz1yLmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxsKz1jLm1vdmUoIjwiKSxsKz1jLm1vdmUoci5zYWZlKGUudXJsLHtiZWZvcmU6bCxhZnRlcjoiPiIsLi4uYy5jdXJyZW50KCl9KSksbCs9Yy5tb3ZlKCI+IikpOihvPXIuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksbCs9Yy5tb3ZlKHIuc2FmZShlLnVybCx7YmVmb3JlOmwsYWZ0ZXI6ZS50aXRsZT8iICI6IikiLC4uLmMuY3VycmVudCgpfSkpKSxvKCksZS50aXRsZSYmKG89ci5lbnRlcihgdGl0bGUke259YCksbCs9Yy5tb3ZlKCIgIitpKSxsKz1jLm1vdmUoci5zYWZlKGUudGl0bGUse2JlZm9yZTpsLGFmdGVyOmksLi4uYy5jdXJyZW50KCl9KSksbCs9Yy5tb3ZlKGkpLG8oKSksbCs9Yy5tb3ZlKCIpIikscygpLGx9ZnVuY3Rpb24gbnFyKCl7cmV0dXJuIiEifXZhciBHWWU9ZigoKT0+e3VMKCk7R3RlLnBlZWs9bnFyfSk7ZnVuY3Rpb24gWXRlKGUsdCxyLGEpe2xldCBpPWUucmVmZXJlbmNlVHlwZSxuPXIuZW50ZXIoImltYWdlUmVmZXJlbmNlIikscz1yLmVudGVyKCJsYWJlbCIpLG89ci5jcmVhdGVUcmFja2VyKGEpLGM9by5tb3ZlKCIhWyIpLGw9ci5zYWZlKGUuYWx0LHtiZWZvcmU6YyxhZnRlcjoiXSIsLi4uby5jdXJyZW50KCl9KTtjKz1vLm1vdmUobCsiXVsiKSxzKCk7bGV0IHU9ci5zdGFjaztyLnN0YWNrPVtdLHM9ci5lbnRlcigicmVmZXJlbmNlIik7bGV0IGQ9ci5zYWZlKHIuYXNzb2NpYXRpb25JZChlKSx7YmVmb3JlOmMsYWZ0ZXI6Il0iLC4uLm8uY3VycmVudCgpfSk7cmV0dXJuIHMoKSxyLnN0YWNrPXUsbigpLGk9PT0iZnVsbCJ8fCFsfHxsIT09ZD9jKz1vLm1vdmUoZCsiXSIpOmk9PT0ic2hvcnRjdXQiP2M9Yy5zbGljZSgwLC0xKTpjKz1vLm1vdmUoIl0iKSxjfWZ1bmN0aW9uIHNxcigpe3JldHVybiIhIn12YXIgWVllPWYoKCk9PntZdGUucGVlaz1zcXJ9KTtmdW5jdGlvbiBadGUoZSx0LHIpe2xldCBhPWUudmFsdWV8fCIiLGk9ImAiLG49LTE7Zm9yKDtuZXcgUmVnRXhwKCIoXnxbXmBdKSIraSsiKFteYF18JCkiKS50ZXN0KGEpOylpKz0iYCI7Zm9yKC9bXiBcclxuXS8udGVzdChhKSYmKC9eWyBcclxuXS8udGVzdChhKSYmL1sgXHJcbl0kLy50ZXN0KGEpfHwvXmB8YCQvLnRlc3QoYSkpJiYoYT0iICIrYSsiICIpOysrbjxyLnVuc2FmZS5sZW5ndGg7KXtsZXQgcz1yLnVuc2FmZVtuXSxvPXIuY29tcGlsZVBhdHRlcm4ocyksYztpZihzLmF0QnJlYWspZm9yKDtjPW8uZXhlYyhhKTspe2xldCBsPWMuaW5kZXg7YS5jaGFyQ29kZUF0KGwpPT09MTAmJmEuY2hhckNvZGVBdChsLTEpPT09MTMmJmwtLSxhPWEuc2xpY2UoMCxsKSsiICIrYS5zbGljZShjLmluZGV4KzEpfX1yZXR1cm4gaSthK2l9ZnVuY3Rpb24gb3FyKCl7cmV0dXJuImAifXZhciBaWWU9ZigoKT0+e1p0ZS5wZWVrPW9xcn0pO2Z1bmN0aW9uIFh0ZShlLHQpe2xldCByPU02KGUpO3JldHVybiEhKCF0Lm9wdGlvbnMucmVzb3VyY2VMaW5rJiZlLnVybCYmIWUudGl0bGUmJmUuY2hpbGRyZW4mJmUuY2hpbGRyZW4ubGVuZ3RoPT09MSYmZS5jaGlsZHJlblswXS50eXBlPT09InRleHQiJiYocj09PWUudXJsfHwibWFpbHRvOiIrcj09PWUudXJsKSYmL15bYS16XVthLXorLi1dKzovaS50ZXN0KGUudXJsKSYmIS9bXDAtIDw+XHUwMDdGXS8udGVzdChlLnVybCkpfXZhciBYWWU9ZigoKT0+e2ZMKCl9KTtmdW5jdGlvbiBRdGUoZSx0LHIsYSl7bGV0IGk9Qzgociksbj1pPT09JyInPyJRdW90ZSI6IkFwb3N0cm9waGUiLHM9ci5jcmVhdGVUcmFja2VyKGEpLG8sYztpZihYdGUoZSxyKSl7bGV0IHU9ci5zdGFjaztyLnN0YWNrPVtdLG89ci5lbnRlcigiYXV0b2xpbmsiKTtsZXQgZD1zLm1vdmUoIjwiKTtyZXR1cm4gZCs9cy5tb3ZlKHIuY29udGFpbmVyUGhyYXNpbmcoZSx7YmVmb3JlOmQsYWZ0ZXI6Ij4iLC4uLnMuY3VycmVudCgpfSkpLGQrPXMubW92ZSgiPiIpLG8oKSxyLnN0YWNrPXUsZH1vPXIuZW50ZXIoImxpbmsiKSxjPXIuZW50ZXIoImxhYmVsIik7bGV0IGw9cy5tb3ZlKCJbIik7cmV0dXJuIGwrPXMubW92ZShyLmNvbnRhaW5lclBocmFzaW5nKGUse2JlZm9yZTpsLGFmdGVyOiJdKCIsLi4ucy5jdXJyZW50KCl9KSksbCs9cy5tb3ZlKCJdKCIpLGMoKSwhZS51cmwmJmUudGl0bGV8fC9bXDAtIFx1MDA3Rl0vLnRlc3QoZS51cmwpPyhjPXIuZW50ZXIoImRlc3RpbmF0aW9uTGl0ZXJhbCIpLGwrPXMubW92ZSgiPCIpLGwrPXMubW92ZShyLnNhZmUoZS51cmwse2JlZm9yZTpsLGFmdGVyOiI+IiwuLi5zLmN1cnJlbnQoKX0pKSxsKz1zLm1vdmUoIj4iKSk6KGM9ci5lbnRlcigiZGVzdGluYXRpb25SYXciKSxsKz1zLm1vdmUoci5zYWZlKGUudXJsLHtiZWZvcmU6bCxhZnRlcjplLnRpdGxlPyIgIjoiKSIsLi4ucy5jdXJyZW50KCl9KSkpLGMoKSxlLnRpdGxlJiYoYz1yLmVudGVyKGB0aXRsZSR7bn1gKSxsKz1zLm1vdmUoIiAiK2kpLGwrPXMubW92ZShyLnNhZmUoZS50aXRsZSx7YmVmb3JlOmwsYWZ0ZXI6aSwuLi5zLmN1cnJlbnQoKX0pKSxsKz1zLm1vdmUoaSksYygpKSxsKz1zLm1vdmUoIikiKSxvKCksbH1mdW5jdGlvbiBscXIoZSx0LHIpe3JldHVybiBYdGUoZSxyKT8iPCI6IlsifXZhciBRWWU9ZigoKT0+e3VMKCk7WFllKCk7UXRlLnBlZWs9bHFyfSk7ZnVuY3Rpb24gSnRlKGUsdCxyLGEpe2xldCBpPWUucmVmZXJlbmNlVHlwZSxuPXIuZW50ZXIoImxpbmtSZWZlcmVuY2UiKSxzPXIuZW50ZXIoImxhYmVsIiksbz1yLmNyZWF0ZVRyYWNrZXIoYSksYz1vLm1vdmUoIlsiKSxsPXIuY29udGFpbmVyUGhyYXNpbmcoZSx7YmVmb3JlOmMsYWZ0ZXI6Il0iLC4uLm8uY3VycmVudCgpfSk7Yys9by5tb3ZlKGwrIl1bIikscygpO2xldCB1PXIuc3RhY2s7ci5zdGFjaz1bXSxzPXIuZW50ZXIoInJlZmVyZW5jZSIpO2xldCBkPXIuc2FmZShyLmFzc29jaWF0aW9uSWQoZSkse2JlZm9yZTpjLGFmdGVyOiJdIiwuLi5vLmN1cnJlbnQoKX0pO3JldHVybiBzKCksci5zdGFjaz11LG4oKSxpPT09ImZ1bGwifHwhbHx8bCE9PWQ/Yys9by5tb3ZlKGQrIl0iKTppPT09InNob3J0Y3V0Ij9jPWMuc2xpY2UoMCwtMSk6Yys9by5tb3ZlKCJdIiksY31mdW5jdGlvbiBjcXIoKXtyZXR1cm4iWyJ9dmFyIEpZZT1mKCgpPT57SnRlLnBlZWs9Y3FyfSk7ZnVuY3Rpb24gTDgoZSl7bGV0IHQ9ZS5vcHRpb25zLmJ1bGxldHx8IioiO2lmKHQhPT0iKiImJnQhPT0iKyImJnQhPT0iLSIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGl0ZW1zIHdpdGggYCIrdCsiYCBmb3IgYG9wdGlvbnMuYnVsbGV0YCwgZXhwZWN0ZWQgYCpgLCBgK2AsIG9yIGAtYCIpO3JldHVybiB0fXZhciBtTD1mKCgpPT57fSk7ZnVuY3Rpb24gS1llKGUpe2xldCB0PUw4KGUpLHI9ZS5vcHRpb25zLmJ1bGxldE90aGVyO2lmKCFyKXJldHVybiB0PT09IioiPyItIjoiKiI7aWYociE9PSIqIiYmciE9PSIrIiYmciE9PSItIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIityKyJgIGZvciBgb3B0aW9ucy5idWxsZXRPdGhlcmAsIGV4cGVjdGVkIGAqYCwgYCtgLCBvciBgLWAiKTtpZihyPT09dCl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIGBidWxsZXRgIChgIit0KyJgKSBhbmQgYGJ1bGxldE90aGVyYCAoYCIrcisiYCkgdG8gYmUgZGlmZmVyZW50Iik7cmV0dXJuIHJ9dmFyIGVaZT1mKCgpPT57bUwoKX0pO2Z1bmN0aW9uIHRaZShlKXtsZXQgdD1lLm9wdGlvbnMuYnVsbGV0T3JkZXJlZHx8Ii4iO2lmKHQhPT0iLiImJnQhPT0iKSIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGl0ZW1zIHdpdGggYCIrdCsiYCBmb3IgYG9wdGlvbnMuYnVsbGV0T3JkZXJlZGAsIGV4cGVjdGVkIGAuYCBvciBgKWAiKTtyZXR1cm4gdH12YXIgclplPWYoKCk9Pnt9KTtmdW5jdGlvbiBnTChlKXtsZXQgdD1lLm9wdGlvbnMucnVsZXx8IioiO2lmKHQhPT0iKiImJnQhPT0iLSImJnQhPT0iXyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIHJ1bGVzIHdpdGggYCIrdCsiYCBmb3IgYG9wdGlvbnMucnVsZWAsIGV4cGVjdGVkIGAqYCwgYC1gLCBvciBgX2AiKTtyZXR1cm4gdH12YXIgS3RlPWYoKCk9Pnt9KTtmdW5jdGlvbiBhWmUoZSx0LHIsYSl7bGV0IGk9ci5lbnRlcigibGlzdCIpLG49ci5idWxsZXRDdXJyZW50LHM9ZS5vcmRlcmVkP3RaZShyKTpMOChyKSxvPWUub3JkZXJlZD9zPT09Ii4iPyIpIjoiLiI6S1llKHIpLGM9dCYmci5idWxsZXRMYXN0VXNlZD9zPT09ci5idWxsZXRMYXN0VXNlZDohMTtpZighZS5vcmRlcmVkKXtsZXQgdT1lLmNoaWxkcmVuP2UuY2hpbGRyZW5bMF06dm9pZCAwO2lmKChzPT09IioifHxzPT09Ii0iKSYmdSYmKCF1LmNoaWxkcmVufHwhdS5jaGlsZHJlblswXSkmJnIuc3RhY2tbci5zdGFjay5sZW5ndGgtMV09PT0ibGlzdCImJnIuc3RhY2tbci5zdGFjay5sZW5ndGgtMl09PT0ibGlzdEl0ZW0iJiZyLnN0YWNrW3Iuc3RhY2subGVuZ3RoLTNdPT09Imxpc3QiJiZyLnN0YWNrW3Iuc3RhY2subGVuZ3RoLTRdPT09Imxpc3RJdGVtIiYmci5pbmRleFN0YWNrW3IuaW5kZXhTdGFjay5sZW5ndGgtMV09PT0wJiZyLmluZGV4U3RhY2tbci5pbmRleFN0YWNrLmxlbmd0aC0yXT09PTAmJnIuaW5kZXhTdGFja1tyLmluZGV4U3RhY2subGVuZ3RoLTNdPT09MCYmKGM9ITApLGdMKHIpPT09cyYmdSl7bGV0IGQ9LTE7Zm9yKDsrK2Q8ZS5jaGlsZHJlbi5sZW5ndGg7KXtsZXQgaD1lLmNoaWxkcmVuW2RdO2lmKGgmJmgudHlwZT09PSJsaXN0SXRlbSImJmguY2hpbGRyZW4mJmguY2hpbGRyZW5bMF0mJmguY2hpbGRyZW5bMF0udHlwZT09PSJ0aGVtYXRpY0JyZWFrIil7Yz0hMDticmVha319fX1jJiYocz1vKSxyLmJ1bGxldEN1cnJlbnQ9cztsZXQgbD1yLmNvbnRhaW5lckZsb3coZSxhKTtyZXR1cm4gci5idWxsZXRMYXN0VXNlZD1zLHIuYnVsbGV0Q3VycmVudD1uLGkoKSxsfXZhciBpWmU9ZigoKT0+e21MKCk7ZVplKCk7clplKCk7S3RlKCl9KTtmdW5jdGlvbiBuWmUoZSl7bGV0IHQ9ZS5vcHRpb25zLmxpc3RJdGVtSW5kZW50fHwib25lIjtpZih0IT09InRhYiImJnQhPT0ib25lIiYmdCE9PSJtaXhlZCIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGl0ZW1zIHdpdGggYCIrdCsiYCBmb3IgYG9wdGlvbnMubGlzdEl0ZW1JbmRlbnRgLCBleHBlY3RlZCBgdGFiYCwgYG9uZWAsIG9yIGBtaXhlZGAiKTtyZXR1cm4gdH12YXIgc1plPWYoKCk9Pnt9KTtmdW5jdGlvbiBvWmUoZSx0LHIsYSl7bGV0IGk9blplKHIpLG49ci5idWxsZXRDdXJyZW50fHxMOChyKTt0JiZ0LnR5cGU9PT0ibGlzdCImJnQub3JkZXJlZCYmKG49KHR5cGVvZiB0LnN0YXJ0PT0ibnVtYmVyIiYmdC5zdGFydD4tMT90LnN0YXJ0OjEpKyhyLm9wdGlvbnMuaW5jcmVtZW50TGlzdE1hcmtlcj09PSExPzA6dC5jaGlsZHJlbi5pbmRleE9mKGUpKStuKTtsZXQgcz1uLmxlbmd0aCsxOyhpPT09InRhYiJ8fGk9PT0ibWl4ZWQiJiYodCYmdC50eXBlPT09Imxpc3QiJiZ0LnNwcmVhZHx8ZS5zcHJlYWQpKSYmKHM9TWF0aC5jZWlsKHMvNCkqNCk7bGV0IG89ci5jcmVhdGVUcmFja2VyKGEpO28ubW92ZShuKyIgIi5yZXBlYXQocy1uLmxlbmd0aCkpLG8uc2hpZnQocyk7bGV0IGM9ci5lbnRlcigibGlzdEl0ZW0iKSxsPXIuaW5kZW50TGluZXMoci5jb250YWluZXJGbG93KGUsby5jdXJyZW50KCkpLHUpO3JldHVybiBjKCksbDtmdW5jdGlvbiB1KGQsaCxtKXtyZXR1cm4gaD8obT8iIjoiICIucmVwZWF0KHMpKStkOihtP246bisiICIucmVwZWF0KHMtbi5sZW5ndGgpKStkfX12YXIgbFplPWYoKCk9PnttTCgpO3NaZSgpfSk7ZnVuY3Rpb24gY1plKGUsdCxyLGEpe2xldCBpPXIuZW50ZXIoInBhcmFncmFwaCIpLG49ci5lbnRlcigicGhyYXNpbmciKSxzPXIuY29udGFpbmVyUGhyYXNpbmcoZSxhKTtyZXR1cm4gbigpLGkoKSxzfXZhciBkWmU9ZigoKT0+e30pO3ZhciBlcmUsdVplPWYoKCk9PntuTCgpO2VyZT1oYyhbImJyZWFrIiwiZGVsZXRlIiwiZW1waGFzaXMiLCJmb290bm90ZSIsImZvb3Rub3RlUmVmZXJlbmNlIiwiaW1hZ2UiLCJpbWFnZVJlZmVyZW5jZSIsImlubGluZUNvZGUiLCJpbmxpbmVNYXRoIiwibGluayIsImxpbmtSZWZlcmVuY2UiLCJtZHhKc3hUZXh0RWxlbWVudCIsIm1keFRleHRFeHByZXNzaW9uIiwic3Ryb25nIiwidGV4dCIsInRleHREaXJlY3RpdmUiXSl9KTt2YXIgcFplPWYoKCk9Pnt1WmUoKX0pO2Z1bmN0aW9uIGZaZShlLHQscixhKXtyZXR1cm4oZS5jaGlsZHJlbi5zb21lKGZ1bmN0aW9uKHMpe3JldHVybiBlcmUocyl9KT9yLmNvbnRhaW5lclBocmFzaW5nOnIuY29udGFpbmVyRmxvdykuY2FsbChyLGUsYSl9dmFyIGhaZT1mKCgpPT57cFplKCl9KTtmdW5jdGlvbiBtWmUoZSl7bGV0IHQ9ZS5vcHRpb25zLnN0cm9uZ3x8IioiO2lmKHQhPT0iKiImJnQhPT0iXyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIHN0cm9uZyB3aXRoIGAiK3QrImAgZm9yIGBvcHRpb25zLnN0cm9uZ2AsIGV4cGVjdGVkIGAqYCwgb3IgYF9gIik7cmV0dXJuIHR9dmFyIGdaZT1mKCgpPT57fSk7ZnVuY3Rpb24gdHJlKGUsdCxyLGEpe2xldCBpPW1aZShyKSxuPXIuZW50ZXIoInN0cm9uZyIpLHM9ci5jcmVhdGVUcmFja2VyKGEpLG89cy5tb3ZlKGkraSksYz1zLm1vdmUoci5jb250YWluZXJQaHJhc2luZyhlLHthZnRlcjppLGJlZm9yZTpvLC4uLnMuY3VycmVudCgpfSkpLGw9Yy5jaGFyQ29kZUF0KDApLHU9XzgoYS5iZWZvcmUuY2hhckNvZGVBdChhLmJlZm9yZS5sZW5ndGgtMSksbCxpKTt1Lmluc2lkZSYmKGM9WjEobCkrYy5zbGljZSgxKSk7bGV0IGQ9Yy5jaGFyQ29kZUF0KGMubGVuZ3RoLTEpLGg9XzgoYS5hZnRlci5jaGFyQ29kZUF0KDApLGQsaSk7aC5pbnNpZGUmJihjPWMuc2xpY2UoMCwtMSkrWjEoZCkpO2xldCBtPXMubW92ZShpK2kpO3JldHVybiBuKCksci5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm89e2FmdGVyOmgub3V0c2lkZSxiZWZvcmU6dS5vdXRzaWRlfSxvK2MrbX1mdW5jdGlvbiBkcXIoZSx0LHIpe3JldHVybiByLm9wdGlvbnMuc3Ryb25nfHwiKiJ9dmFyIGJaZT1mKCgpPT57Z1plKCk7VDgoKTtxdGUoKTt0cmUucGVlaz1kcXJ9KTtmdW5jdGlvbiB2WmUoZSx0LHIsYSl7cmV0dXJuIHIuc2FmZShlLnZhbHVlLGEpfXZhciB4WmU9ZigoKT0+e30pO2Z1bmN0aW9uIHlaZShlKXtsZXQgdD1lLm9wdGlvbnMucnVsZVJlcGV0aXRpb258fDM7aWYodDwzKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBydWxlcyB3aXRoIHJlcGV0aXRpb24gYCIrdCsiYCBmb3IgYG9wdGlvbnMucnVsZVJlcGV0aXRpb25gLCBleHBlY3RlZCBgM2Agb3IgbW9yZSIpO3JldHVybiB0fXZhciB3WmU9ZigoKT0+e30pO2Z1bmN0aW9uIE1aZShlLHQscil7bGV0IGE9KGdMKHIpKyhyLm9wdGlvbnMucnVsZVNwYWNlcz8iICI6IiIpKS5yZXBlYXQoeVplKHIpKTtyZXR1cm4gci5vcHRpb25zLnJ1bGVTcGFjZXM/YS5zbGljZSgwLC0xKTphfXZhciBrWmU9ZigoKT0+e3daZSgpO0t0ZSgpfSk7dmFyIGs2LHJyZT1mKCgpPT57Q1llKCk7X1llKCk7SVllKCk7TlllKCk7UlllKCk7VVllKCk7V1llKCk7R1llKCk7WVllKCk7WlllKCk7UVllKCk7SlllKCk7aVplKCk7bFplKCk7ZFplKCk7aFplKCk7YlplKCk7eFplKCk7a1plKCk7azY9e2Jsb2NrcXVvdGU6elllLGJyZWFrOkJ0ZSxjb2RlOkVZZSxkZWZpbml0aW9uOlBZZSxlbXBoYXNpczpqdGUsaGFyZEJyZWFrOkJ0ZSxoZWFkaW5nOlZZZSxodG1sOld0ZSxpbWFnZTpHdGUsaW1hZ2VSZWZlcmVuY2U6WXRlLGlubGluZUNvZGU6WnRlLGxpbms6UXRlLGxpbmtSZWZlcmVuY2U6SnRlLGxpc3Q6YVplLGxpc3RJdGVtOm9aZSxwYXJhZ3JhcGg6Y1plLHJvb3Q6ZlplLHN0cm9uZzp0cmUsdGV4dDp2WmUsdGhlbWF0aWNCcmVhazpNWmV9fSk7ZnVuY3Rpb24gdXFyKGUsdCxyLGEpe2lmKHQudHlwZT09PSJjb2RlIiYmaWcodCxhKSYmKGUudHlwZT09PSJsaXN0Inx8ZS50eXBlPT09dC50eXBlJiZpZyhlLGEpKSlyZXR1cm4hMTtpZigic3ByZWFkImluIHImJnR5cGVvZiByLnNwcmVhZD09ImJvb2xlYW4iKXJldHVybiBlLnR5cGU9PT0icGFyYWdyYXBoIiYmKGUudHlwZT09PXQudHlwZXx8dC50eXBlPT09ImRlZmluaXRpb24ifHx0LnR5cGU9PT0iaGVhZGluZyImJmhMKHQsYSkpP3ZvaWQgMDpyLnNwcmVhZD8xOjB9dmFyIFNaZSx6WmU9ZigoKT0+e0h0ZSgpO1V0ZSgpO1NaZT1bdXFyXX0pO3ZhciBTNixDWmUsVFplPWYoKCk9PntTNj1bImF1dG9saW5rIiwiZGVzdGluYXRpb25MaXRlcmFsIiwiZGVzdGluYXRpb25SYXciLCJyZWZlcmVuY2UiLCJ0aXRsZVF1b3RlIiwidGl0bGVBcG9zdHJvcGhlIl0sQ1plPVt7Y2hhcmFjdGVyOiIJIixhZnRlcjoiW1xcclxcbl0iLGluQ29uc3RydWN0OiJwaHJhc2luZyJ9LHtjaGFyYWN0ZXI6IgkiLGJlZm9yZToiW1xcclxcbl0iLGluQ29uc3RydWN0OiJwaHJhc2luZyJ9LHtjaGFyYWN0ZXI6IgkiLGluQ29uc3RydWN0OlsiY29kZUZlbmNlZExhbmdHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRMYW5nVGlsZGUiXX0se2NoYXJhY3RlcjoiXHIiLGluQ29uc3RydWN0OlsiY29kZUZlbmNlZExhbmdHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRMYW5nVGlsZGUiLCJjb2RlRmVuY2VkTWV0YUdyYXZlQWNjZW50IiwiY29kZUZlbmNlZE1ldGFUaWxkZSIsImRlc3RpbmF0aW9uTGl0ZXJhbCIsImhlYWRpbmdBdHgiXX0se2NoYXJhY3RlcjpgCmAsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSIsImNvZGVGZW5jZWRNZXRhR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTWV0YVRpbGRlIiwiZGVzdGluYXRpb25MaXRlcmFsIiwiaGVhZGluZ0F0eCJdfSx7Y2hhcmFjdGVyOiIgIixhZnRlcjoiW1xcclxcbl0iLGluQ29uc3RydWN0OiJwaHJhc2luZyJ9LHtjaGFyYWN0ZXI6IiAiLGJlZm9yZToiW1xcclxcbl0iLGluQ29uc3RydWN0OiJwaHJhc2luZyJ9LHtjaGFyYWN0ZXI6IiAiLGluQ29uc3RydWN0OlsiY29kZUZlbmNlZExhbmdHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRMYW5nVGlsZGUiXX0se2NoYXJhY3RlcjoiISIsYWZ0ZXI6IlxcWyIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpTNn0se2NoYXJhY3RlcjonIicsaW5Db25zdHJ1Y3Q6InRpdGxlUXVvdGUifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IiMifSx7Y2hhcmFjdGVyOiIjIixpbkNvbnN0cnVjdDoiaGVhZGluZ0F0eCIsYWZ0ZXI6YCg/OltccgpdfCQpYH0se2NoYXJhY3RlcjoiJiIsYWZ0ZXI6IlsjQS1aYS16XSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiJyIsaW5Db25zdHJ1Y3Q6InRpdGxlQXBvc3Ryb3BoZSJ9LHtjaGFyYWN0ZXI6IigiLGluQ29uc3RydWN0OiJkZXN0aW5hdGlvblJhdyJ9LHtiZWZvcmU6IlxcXSIsY2hhcmFjdGVyOiIoIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OlM2fSx7YXRCcmVhazohMCxiZWZvcmU6IlxcZCsiLGNoYXJhY3RlcjoiKSJ9LHtjaGFyYWN0ZXI6IikiLGluQ29uc3RydWN0OiJkZXN0aW5hdGlvblJhdyJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiKiIsYWZ0ZXI6YCg/OlsgCVxyCipdKWB9LHtjaGFyYWN0ZXI6IioiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6UzZ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiKyIsYWZ0ZXI6YCg/OlsgCVxyCl0pYH0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiItIixhZnRlcjpgKD86WyAJXHIKLV0pYH0se2F0QnJlYWs6ITAsYmVmb3JlOiJcXGQrIixjaGFyYWN0ZXI6Ii4iLGFmdGVyOmAoPzpbIAlccgpdfCQpYH0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiI8IixhZnRlcjoiWyEvP0EtWmEtel0ifSx7Y2hhcmFjdGVyOiI8IixhZnRlcjoiWyEvP0EtWmEtel0iLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6UzZ9LHtjaGFyYWN0ZXI6IjwiLGluQ29uc3RydWN0OiJkZXN0aW5hdGlvbkxpdGVyYWwifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ij0ifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ij4ifSx7Y2hhcmFjdGVyOiI+IixpbkNvbnN0cnVjdDoiZGVzdGluYXRpb25MaXRlcmFsIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJbIn0se2NoYXJhY3RlcjoiWyIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpTNn0se2NoYXJhY3RlcjoiWyIsaW5Db25zdHJ1Y3Q6WyJsYWJlbCIsInJlZmVyZW5jZSJdfSx7Y2hhcmFjdGVyOiJcXCIsYWZ0ZXI6IltcXHJcXG5dIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiJdIixpbkNvbnN0cnVjdDpbImxhYmVsIiwicmVmZXJlbmNlIl19LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiXyJ9LHtjaGFyYWN0ZXI6Il8iLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6UzZ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiYCJ9LHtjaGFyYWN0ZXI6ImAiLGluQ29uc3RydWN0OlsiY29kZUZlbmNlZExhbmdHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRNZXRhR3JhdmVBY2NlbnQiXX0se2NoYXJhY3RlcjoiYCIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpTNn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJ+In1dfSk7ZnVuY3Rpb24gXzQoZSl7bGV0IHQ9IiYiK2UrIjsiO19aZS5pbm5lckhUTUw9dDtsZXQgcj1fWmUudGV4dENvbnRlbnQ7cmV0dXJuIHIuY2hhckNvZGVBdChyLmxlbmd0aC0xKT09PTU5JiZlIT09InNlbWkifHxyPT09dD8hMTpyfXZhciBfWmUsc2c9ZigoKT0+e19aZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpIil9KTtmdW5jdGlvbiAkOChlLHQpe2xldCByPU51bWJlci5wYXJzZUludChlLHQpO3JldHVybiByPDl8fHI9PT0xMXx8cj4xMyYmcjwzMnx8cj4xMjYmJnI8MTYwfHxyPjU1Mjk1JiZyPDU3MzQ0fHxyPjY0OTc1JiZyPDY1MDA4fHwociY2NTUzNSk9PT02NTUzNXx8KHImNjU1MzUpPT09NjU1MzR8fHI+MTExNDExMT8iXHVGRkZEIjpTdHJpbmcuZnJvbUNvZGVQb2ludChyKX12YXIgYkw9ZigoKT0+e30pO2Z1bmN0aW9uIHZMKGUpe3JldHVybiBlLnJlcGxhY2UocHFyLGZxcil9ZnVuY3Rpb24gZnFyKGUsdCxyKXtpZih0KXJldHVybiB0O2lmKHIuY2hhckNvZGVBdCgwKT09PTM1KXtsZXQgaT1yLmNoYXJDb2RlQXQoMSksbj1pPT09MTIwfHxpPT09ODg7cmV0dXJuICQ4KHIuc2xpY2Uobj8yOjEpLG4/MTY6MTApfXJldHVybiBfNChyKXx8ZX12YXIgcHFyLGFyZT1mKCgpPT57c2coKTtiTCgpO3Bxcj0vXFwoWyEtLzotQFstYHstfl0pfCYoIyg/OlxkezEsN318eFtcZGEtZl17MSw2fSl8W1xkYS16XXsxLDMxfSk7L2dpfSk7ZnVuY3Rpb24gTFplKGUpe3JldHVybiBlLmxhYmVsfHwhZS5pZGVudGlmaWVyP2UubGFiZWx8fCIiOnZMKGUuaWRlbnRpZmllcil9dmFyICRaZT1mKCgpPT57YXJlKCl9KTtmdW5jdGlvbiBEWmUoZSl7aWYoIWUuX2NvbXBpbGVkKXtsZXQgdD0oZS5hdEJyZWFrPyJbXFxyXFxuXVtcXHQgXSoiOiIiKSsoZS5iZWZvcmU/Iig/OiIrZS5iZWZvcmUrIikiOiIiKTtlLl9jb21waWxlZD1uZXcgUmVnRXhwKCh0PyIoIit0KyIpIjoiIikrKC9bfFxce30oKVtcXV4kKyo/Li1dLy50ZXN0KGUuY2hhcmFjdGVyKT8iXFwiOiIiKStlLmNoYXJhY3RlcisoZS5hZnRlcj8iKD86IitlLmFmdGVyKyIpIjoiIiksImciKX1yZXR1cm4gZS5fY29tcGlsZWR9dmFyIEFaZT1mKCgpPT57fSk7ZnVuY3Rpb24gRVplKGUsdCxyKXtsZXQgYT10LmluZGV4U3RhY2ssaT1lLmNoaWxkcmVufHxbXSxuPVtdLHM9LTEsbz1yLmJlZm9yZSxjO2EucHVzaCgtMSk7bGV0IGw9dC5jcmVhdGVUcmFja2VyKHIpO2Zvcig7KytzPGkubGVuZ3RoOyl7bGV0IHU9aVtzXSxkO2lmKGFbYS5sZW5ndGgtMV09cyxzKzE8aS5sZW5ndGgpe2xldCB2PXQuaGFuZGxlLmhhbmRsZXJzW2lbcysxXS50eXBlXTt2JiZ2LnBlZWsmJih2PXYucGVlayksZD12P3YoaVtzKzFdLGUsdCx7YmVmb3JlOiIiLGFmdGVyOiIiLC4uLmwuY3VycmVudCgpfSkuY2hhckF0KDApOiIifWVsc2UgZD1yLmFmdGVyO24ubGVuZ3RoPjAmJihvPT09IlxyInx8bz09PWAKYCkmJnUudHlwZT09PSJodG1sIiYmKG5bbi5sZW5ndGgtMV09bltuLmxlbmd0aC0xXS5yZXBsYWNlKC8oXHI/XG58XHIpJC8sIiAiKSxvPSIgIixsPXQuY3JlYXRlVHJhY2tlcihyKSxsLm1vdmUobi5qb2luKCIiKSkpO2xldCBoPXQuaGFuZGxlKHUsZSx0LHsuLi5sLmN1cnJlbnQoKSxhZnRlcjpkLGJlZm9yZTpvfSk7YyYmYz09PWguc2xpY2UoMCwxKSYmKGg9WjEoYy5jaGFyQ29kZUF0KDApKStoLnNsaWNlKDEpKTtsZXQgbT10LmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbzt0LmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbz12b2lkIDAsYz12b2lkIDAsbSYmKG4ubGVuZ3RoPjAmJm0uYmVmb3JlJiZvPT09bltuLmxlbmd0aC0xXS5zbGljZSgtMSkmJihuW24ubGVuZ3RoLTFdPW5bbi5sZW5ndGgtMV0uc2xpY2UoMCwtMSkrWjEoby5jaGFyQ29kZUF0KDApKSksbS5hZnRlciYmKGM9ZCkpLGwubW92ZShoKSxuLnB1c2goaCksbz1oLnNsaWNlKC0xKX1yZXR1cm4gYS5wb3AoKSxuLmpvaW4oIiIpfXZhciBJWmU9ZigoKT0+e1Q4KCl9KTtmdW5jdGlvbiBQWmUoZSx0LHIpe2xldCBhPXQuaW5kZXhTdGFjayxpPWUuY2hpbGRyZW58fFtdLG49dC5jcmVhdGVUcmFja2VyKHIpLHM9W10sbz0tMTtmb3IoYS5wdXNoKC0xKTsrK288aS5sZW5ndGg7KXtsZXQgYz1pW29dO2FbYS5sZW5ndGgtMV09byxzLnB1c2gobi5tb3ZlKHQuaGFuZGxlKGMsZSx0LHtiZWZvcmU6YApgLGFmdGVyOmAKYCwuLi5uLmN1cnJlbnQoKX0pKSksYy50eXBlIT09Imxpc3QiJiYodC5idWxsZXRMYXN0VXNlZD12b2lkIDApLG88aS5sZW5ndGgtMSYmcy5wdXNoKG4ubW92ZShocXIoYyxpW28rMV0sZSx0KSkpfXJldHVybiBhLnBvcCgpLHMuam9pbigiIil9ZnVuY3Rpb24gaHFyKGUsdCxyLGEpe2xldCBpPWEuam9pbi5sZW5ndGg7Zm9yKDtpLS07KXtsZXQgbj1hLmpvaW5baV0oZSx0LHIsYSk7aWYobj09PSEwfHxuPT09MSlicmVhaztpZih0eXBlb2Ygbj09Im51bWJlciIpcmV0dXJuYApgLnJlcGVhdCgxK24pO2lmKG49PT0hMSlyZXR1cm5gCgo8IS0tLS0+CgpgfXJldHVybmAKCmB9dmFyIE5aZT1mKCgpPT57fSk7ZnVuY3Rpb24gRlplKGUsdCl7bGV0IHI9W10sYT0wLGk9MCxuO2Zvcig7bj1tcXIuZXhlYyhlKTspcyhlLnNsaWNlKGEsbi5pbmRleCkpLHIucHVzaChuWzBdKSxhPW4uaW5kZXgrblswXS5sZW5ndGgsaSsrO3JldHVybiBzKGUuc2xpY2UoYSkpLHIuam9pbigiIik7ZnVuY3Rpb24gcyhvKXtyLnB1c2godChvLGksIW8pKX19dmFyIG1xcixPWmU9ZigoKT0+e21xcj0vXHI/XG58XHIvZ30pO2Z1bmN0aW9uIEJaZShlLHQscil7bGV0IGE9KHIuYmVmb3JlfHwiIikrKHR8fCIiKSsoci5hZnRlcnx8IiIpLGk9W10sbj1bXSxzPXt9LG89LTE7Zm9yKDsrK288ZS51bnNhZmUubGVuZ3RoOyl7bGV0IHU9ZS51bnNhZmVbb107aWYoIWRMKGUuc3RhY2ssdSkpY29udGludWU7bGV0IGQ9ZS5jb21waWxlUGF0dGVybih1KSxoO2Zvcig7aD1kLmV4ZWMoYSk7KXtsZXQgbT0iYmVmb3JlImluIHV8fCEhdS5hdEJyZWFrLHY9ImFmdGVyImluIHUsYj1oLmluZGV4KyhtP2hbMV0ubGVuZ3RoOjApO2kuaW5jbHVkZXMoYik/KHNbYl0uYmVmb3JlJiYhbSYmKHNbYl0uYmVmb3JlPSExKSxzW2JdLmFmdGVyJiYhdiYmKHNbYl0uYWZ0ZXI9ITEpKTooaS5wdXNoKGIpLHNbYl09e2JlZm9yZTptLGFmdGVyOnZ9KX19aS5zb3J0KGdxcik7bGV0IGM9ci5iZWZvcmU/ci5iZWZvcmUubGVuZ3RoOjAsbD1hLmxlbmd0aC0oci5hZnRlcj9yLmFmdGVyLmxlbmd0aDowKTtmb3Iobz0tMTsrK288aS5sZW5ndGg7KXtsZXQgdT1pW29dO3U8Y3x8dT49bHx8dSsxPGwmJmlbbysxXT09PXUrMSYmc1t1XS5hZnRlciYmIXNbdSsxXS5iZWZvcmUmJiFzW3UrMV0uYWZ0ZXJ8fGlbby0xXT09PXUtMSYmc1t1XS5iZWZvcmUmJiFzW3UtMV0uYmVmb3JlJiYhc1t1LTFdLmFmdGVyfHwoYyE9PXUmJm4ucHVzaChSWmUoYS5zbGljZShjLHUpLCJcXCIpKSxjPXUsL1shLS86LUBbLWB7LX5dLy50ZXN0KGEuY2hhckF0KHUpKSYmKCFyLmVuY29kZXx8IXIuZW5jb2RlLmluY2x1ZGVzKGEuY2hhckF0KHUpKSk/bi5wdXNoKCJcXCIpOihuLnB1c2goWjEoYS5jaGFyQ29kZUF0KHUpKSksYysrKSl9cmV0dXJuIG4ucHVzaChSWmUoYS5zbGljZShjLGwpLHIuYWZ0ZXIpKSxuLmpvaW4oIiIpfWZ1bmN0aW9uIGdxcihlLHQpe3JldHVybiBlLXR9ZnVuY3Rpb24gUlplKGUsdCl7bGV0IHI9L1xcKD89WyEtLzotQFstYHstfl0pL2csYT1bXSxpPVtdLG49ZSt0LHM9LTEsbz0wLGM7Zm9yKDtjPXIuZXhlYyhuKTspYS5wdXNoKGMuaW5kZXgpO2Zvcig7KytzPGEubGVuZ3RoOylvIT09YVtzXSYmaS5wdXNoKGUuc2xpY2UobyxhW3NdKSksaS5wdXNoKCJcXCIpLG89YVtzXTtyZXR1cm4gaS5wdXNoKGUuc2xpY2UobykpLGkuam9pbigiIil9dmFyIEhaZT1mKCgpPT57VDgoKTtSdGUoKX0pO2Z1bmN0aW9uIHFaZShlKXtsZXQgdD1lfHx7fSxyPXQubm93fHx7fSxhPXQubGluZVNoaWZ0fHwwLGk9ci5saW5lfHwxLG49ci5jb2x1bW58fDE7cmV0dXJue21vdmU6YyxjdXJyZW50OnMsc2hpZnQ6b307ZnVuY3Rpb24gcygpe3JldHVybntub3c6e2xpbmU6aSxjb2x1bW46bn0sbGluZVNoaWZ0OmF9fWZ1bmN0aW9uIG8obCl7YSs9bH1mdW5jdGlvbiBjKGwpe2xldCB1PWx8fCIiLGQ9dS5zcGxpdCgvXHI/XG58XHIvZyksaD1kW2QubGVuZ3RoLTFdO3JldHVybiBpKz1kLmxlbmd0aC0xLG49ZC5sZW5ndGg9PT0xP24raC5sZW5ndGg6MStoLmxlbmd0aCthLHV9fXZhciBqWmU9ZigoKT0+e30pO2Z1bmN0aW9uIGlyZShlLHQpe2xldCByPXR8fHt9LGE9e2Fzc29jaWF0aW9uSWQ6TFplLGNvbnRhaW5lclBocmFzaW5nOnlxcixjb250YWluZXJGbG93OndxcixjcmVhdGVUcmFja2VyOnFaZSxjb21waWxlUGF0dGVybjpEWmUsZW50ZXI6bixoYW5kbGVyczp7Li4uazZ9LGhhbmRsZTp2b2lkIDAsaW5kZW50TGluZXM6RlplLGluZGV4U3RhY2s6W10sam9pbjpbLi4uU1plXSxvcHRpb25zOnt9LHNhZmU6TXFyLHN0YWNrOltdLHVuc2FmZTpbLi4uQ1plXX07T3RlKGEsciksYS5vcHRpb25zLnRpZ2h0RGVmaW5pdGlvbnMmJmEuam9pbi5wdXNoKHhxciksYS5oYW5kbGU9Y0woInR5cGUiLHtpbnZhbGlkOmJxcix1bmtub3duOnZxcixoYW5kbGVyczphLmhhbmRsZXJzfSk7bGV0IGk9YS5oYW5kbGUoZSx2b2lkIDAsYSx7YmVmb3JlOmAKYCxhZnRlcjpgCmAsbm93OntsaW5lOjEsY29sdW1uOjF9LGxpbmVTaGlmdDowfSk7cmV0dXJuIGkmJmkuY2hhckNvZGVBdChpLmxlbmd0aC0xKSE9PTEwJiZpLmNoYXJDb2RlQXQoaS5sZW5ndGgtMSkhPT0xMyYmKGkrPWAKYCksaTtmdW5jdGlvbiBuKHMpe3JldHVybiBhLnN0YWNrLnB1c2gocyksbztmdW5jdGlvbiBvKCl7YS5zdGFjay5wb3AoKX19fWZ1bmN0aW9uIGJxcihlKXt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBoYW5kbGUgdmFsdWUgYCIrZSsiYCwgZXhwZWN0ZWQgbm9kZSIpfWZ1bmN0aW9uIHZxcihlKXtsZXQgdD1lO3Rocm93IG5ldyBFcnJvcigiQ2Fubm90IGhhbmRsZSB1bmtub3duIG5vZGUgYCIrdC50eXBlKyJgIil9ZnVuY3Rpb24geHFyKGUsdCl7aWYoZS50eXBlPT09ImRlZmluaXRpb24iJiZlLnR5cGU9PT10LnR5cGUpcmV0dXJuIDB9ZnVuY3Rpb24geXFyKGUsdCl7cmV0dXJuIEVaZShlLHRoaXMsdCl9ZnVuY3Rpb24gd3FyKGUsdCl7cmV0dXJuIFBaZShlLHRoaXMsdCl9ZnVuY3Rpb24gTXFyKGUsdCl7cmV0dXJuIEJaZSh0aGlzLGUsdCl9dmFyIFZaZT1mKCgpPT57RnRlKCk7U1llKCk7cnJlKCk7elplKCk7VFplKCk7JFplKCk7QVplKCk7SVplKCk7TlplKCk7T1plKCk7SFplKCk7alplKCl9KTt2YXIgeEw9ZigoKT0+e1ZaZSgpO3JyZSgpfSk7ZnVuY3Rpb24gc3JlKCl7cmV0dXJue2VudGVyOnt0YWJsZTprcXIsdGFibGVEYXRhOlVaZSx0YWJsZUhlYWRlcjpVWmUsdGFibGVSb3c6enFyfSxleGl0Ontjb2RlVGV4dDpDcXIsdGFibGU6U3FyLHRhYmxlRGF0YTpucmUsdGFibGVIZWFkZXI6bnJlLHRhYmxlUm93Om5yZX19fWZ1bmN0aW9uIGtxcihlKXtsZXQgdD1lLl9hbGlnbjt0aGlzLmVudGVyKHt0eXBlOiJ0YWJsZSIsYWxpZ246dC5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHI9PT0ibm9uZSI/bnVsbDpyfSksY2hpbGRyZW46W119LGUpLHRoaXMuZGF0YS5pblRhYmxlPSEwfWZ1bmN0aW9uIFNxcihlKXt0aGlzLmV4aXQoZSksdGhpcy5kYXRhLmluVGFibGU9dm9pZCAwfWZ1bmN0aW9uIHpxcihlKXt0aGlzLmVudGVyKHt0eXBlOiJ0YWJsZVJvdyIsY2hpbGRyZW46W119LGUpfWZ1bmN0aW9uIG5yZShlKXt0aGlzLmV4aXQoZSl9ZnVuY3Rpb24gVVplKGUpe3RoaXMuZW50ZXIoe3R5cGU6InRhYmxlQ2VsbCIsY2hpbGRyZW46W119LGUpfWZ1bmN0aW9uIENxcihlKXtsZXQgdD10aGlzLnJlc3VtZSgpO3RoaXMuZGF0YS5pblRhYmxlJiYodD10LnJlcGxhY2UoL1xcKFtcXHxdKS9nLFRxcikpO2xldCByPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ci50eXBlLHIudmFsdWU9dCx0aGlzLmV4aXQoZSl9ZnVuY3Rpb24gVHFyKGUsdCl7cmV0dXJuIHQ9PT0ifCI/dDplfWZ1bmN0aW9uIG9yZShlKXtsZXQgdD1lfHx7fSxyPXQudGFibGVDZWxsUGFkZGluZyxhPXQudGFibGVQaXBlQWxpZ24saT10LnN0cmluZ0xlbmd0aCxuPXI/IiAiOiJ8IjtyZXR1cm57dW5zYWZlOlt7Y2hhcmFjdGVyOiJcciIsaW5Db25zdHJ1Y3Q6InRhYmxlQ2VsbCJ9LHtjaGFyYWN0ZXI6YApgLGluQ29uc3RydWN0OiJ0YWJsZUNlbGwifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6InwiLGFmdGVyOiJbCSA6LV0ifSx7Y2hhcmFjdGVyOiJ8IixpbkNvbnN0cnVjdDoidGFibGVDZWxsIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiI6IixhZnRlcjoiLSJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiLSIsYWZ0ZXI6Ils6fC1dIn1dLGhhbmRsZXJzOntpbmxpbmVDb2RlOmgsdGFibGU6cyx0YWJsZUNlbGw6Yyx0YWJsZVJvdzpvfX07ZnVuY3Rpb24gcyhtLHYsYixnKXtyZXR1cm4gbCh1KG0sYixnKSxtLmFsaWduKX1mdW5jdGlvbiBvKG0sdixiLGcpe2xldCB5PWQobSxiLGcpLHc9bChbeV0pO3JldHVybiB3LnNsaWNlKDAsdy5pbmRleE9mKGAKYCkpfWZ1bmN0aW9uIGMobSx2LGIsZyl7bGV0IHk9Yi5lbnRlcigidGFibGVDZWxsIiksdz1iLmVudGVyKCJwaHJhc2luZyIpLGs9Yi5jb250YWluZXJQaHJhc2luZyhtLHsuLi5nLGJlZm9yZTpuLGFmdGVyOm59KTtyZXR1cm4gdygpLHkoKSxrfWZ1bmN0aW9uIGwobSx2KXtyZXR1cm4geVllKG0se2FsaWduOnYsYWxpZ25EZWxpbWl0ZXJzOmEscGFkZGluZzpyLHN0cmluZ0xlbmd0aDppfSl9ZnVuY3Rpb24gdShtLHYsYil7bGV0IGc9bS5jaGlsZHJlbix5PS0xLHc9W10saz12LmVudGVyKCJ0YWJsZSIpO2Zvcig7Kyt5PGcubGVuZ3RoOyl3W3ldPWQoZ1t5XSx2LGIpO3JldHVybiBrKCksd31mdW5jdGlvbiBkKG0sdixiKXtsZXQgZz1tLmNoaWxkcmVuLHk9LTEsdz1bXSxrPXYuZW50ZXIoInRhYmxlUm93Iik7Zm9yKDsrK3k8Zy5sZW5ndGg7KXdbeV09YyhnW3ldLG0sdixiKTtyZXR1cm4gaygpLHd9ZnVuY3Rpb24gaChtLHYsYil7bGV0IGc9azYuaW5saW5lQ29kZShtLHYsYik7cmV0dXJuIGIuc3RhY2suaW5jbHVkZXMoInRhYmxlQ2VsbCIpJiYoZz1nLnJlcGxhY2UoL1x8L2csIlxcJCYiKSksZ319dmFyIFdaZT1mKCgpPT57UzQoKTt3WWUoKTt4TCgpfSk7dmFyIEdaZT1mKCgpPT57V1plKCl9KTtmdW5jdGlvbiBscmUoKXtyZXR1cm57ZXhpdDp7dGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZDpZWmUsdGFza0xpc3RDaGVja1ZhbHVlVW5jaGVja2VkOllaZSxwYXJhZ3JhcGg6X3FyfX19ZnVuY3Rpb24gY3JlKCl7cmV0dXJue3Vuc2FmZTpbe2F0QnJlYWs6ITAsY2hhcmFjdGVyOiItIixhZnRlcjoiWzp8LV0ifV0saGFuZGxlcnM6e2xpc3RJdGVtOkxxcn19fWZ1bmN0aW9uIFlaZShlKXtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTJdO3QudHlwZSx0LmNoZWNrZWQ9ZS50eXBlPT09InRhc2tMaXN0Q2hlY2tWYWx1ZUNoZWNrZWQifWZ1bmN0aW9uIF9xcihlKXtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTJdO2lmKHQmJnQudHlwZT09PSJsaXN0SXRlbSImJnR5cGVvZiB0LmNoZWNrZWQ9PSJib29sZWFuIil7bGV0IHI9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtyLnR5cGU7bGV0IGE9ci5jaGlsZHJlblswXTtpZihhJiZhLnR5cGU9PT0idGV4dCIpe2xldCBpPXQuY2hpbGRyZW4sbj0tMSxzO2Zvcig7KytuPGkubGVuZ3RoOyl7bGV0IG89aVtuXTtpZihvLnR5cGU9PT0icGFyYWdyYXBoIil7cz1vO2JyZWFrfX1zPT09ciYmKGEudmFsdWU9YS52YWx1ZS5zbGljZSgxKSxhLnZhbHVlLmxlbmd0aD09PTA/ci5jaGlsZHJlbi5zaGlmdCgpOnIucG9zaXRpb24mJmEucG9zaXRpb24mJnR5cGVvZiBhLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldD09Im51bWJlciImJihhLnBvc2l0aW9uLnN0YXJ0LmNvbHVtbisrLGEucG9zaXRpb24uc3RhcnQub2Zmc2V0Kyssci5wb3NpdGlvbi5zdGFydD1PYmplY3QuYXNzaWduKHt9LGEucG9zaXRpb24uc3RhcnQpKSl9fXRoaXMuZXhpdChlKX1mdW5jdGlvbiBMcXIoZSx0LHIsYSl7bGV0IGk9ZS5jaGlsZHJlblswXSxuPXR5cGVvZiBlLmNoZWNrZWQ9PSJib29sZWFuIiYmaSYmaS50eXBlPT09InBhcmFncmFwaCIscz0iWyIrKGUuY2hlY2tlZD8ieCI6IiAiKSsiXSAiLG89ci5jcmVhdGVUcmFja2VyKGEpO24mJm8ubW92ZShzKTtsZXQgYz1rNi5saXN0SXRlbShlLHQscix7Li4uYSwuLi5vLmN1cnJlbnQoKX0pO3JldHVybiBuJiYoYz1jLnJlcGxhY2UoL14oPzpbKistXXxcZCtcLikoW1xyXG5dfCB7MSwzfSkvLGwpKSxjO2Z1bmN0aW9uIGwodSl7cmV0dXJuIHUrc319dmFyIFpaZT1mKCgpPT57UzQoKTt4TCgpfSk7dmFyIFhaZT1mKCgpPT57WlplKCl9KTtmdW5jdGlvbiBkcmUoKXtyZXR1cm5bRHRlKCksRXRlKCksUHRlKCksc3JlKCksbHJlKCldfWZ1bmN0aW9uIHVyZShlKXtyZXR1cm57ZXh0ZW5zaW9uczpbQXRlKCksSXRlKGUpLE50ZSgpLG9yZShlKSxjcmUoKV19fXZhciBRWmU9ZigoKT0+e3VZZSgpO21ZZSgpO3ZZZSgpO0daZSgpO1haZSgpfSk7dmFyIEpaZT1mKCgpPT57UVplKCl9KTtmdW5jdGlvbiBVYShlLHQscixhKXtsZXQgaT1lLmxlbmd0aCxuPTAscztpZih0PDA/dD0tdD5pPzA6aSt0OnQ9dD5pP2k6dCxyPXI+MD9yOjAsYS5sZW5ndGg8MWU0KXM9QXJyYXkuZnJvbShhKSxzLnVuc2hpZnQodCxyKSxlLnNwbGljZSguLi5zKTtlbHNlIGZvcihyJiZlLnNwbGljZSh0LHIpO248YS5sZW5ndGg7KXM9YS5zbGljZShuLG4rMWU0KSxzLnVuc2hpZnQodCwwKSxlLnNwbGljZSguLi5zKSxuKz0xZTQsdCs9MWU0fWZ1bmN0aW9uIG5pKGUsdCl7cmV0dXJuIGUubGVuZ3RoPjA/KFVhKGUsZS5sZW5ndGgsMCx0KSxlKTp0fXZhciBKMj1mKCgpPT57fSk7ZnVuY3Rpb24geUwoZSl7bGV0IHQ9e30scj0tMTtmb3IoOysrcjxlLmxlbmd0aDspJHFyKHQsZVtyXSk7cmV0dXJuIHR9ZnVuY3Rpb24gJHFyKGUsdCl7bGV0IHI7Zm9yKHIgaW4gdCl7bGV0IGk9KHByZS5jYWxsKGUscik/ZVtyXTp2b2lkIDApfHwoZVtyXT17fSksbj10W3JdLHM7aWYobilmb3IocyBpbiBuKXtwcmUuY2FsbChpLHMpfHwoaVtzXT1bXSk7bGV0IG89bltzXTtEcXIoaVtzXSxBcnJheS5pc0FycmF5KG8pP286bz9bb106W10pfX19ZnVuY3Rpb24gRHFyKGUsdCl7bGV0IHI9LTEsYT1bXTtmb3IoOysrcjx0Lmxlbmd0aDspKHRbcl0uYWRkPT09ImFmdGVyIj9lOmEpLnB1c2godFtyXSk7VWEoZSwwLDAsYSl9ZnVuY3Rpb24gd0woZSl7bGV0IHQ9e30scj0tMTtmb3IoOysrcjxlLmxlbmd0aDspQXFyKHQsZVtyXSk7cmV0dXJuIHR9ZnVuY3Rpb24gQXFyKGUsdCl7bGV0IHI7Zm9yKHIgaW4gdCl7bGV0IGk9KHByZS5jYWxsKGUscik/ZVtyXTp2b2lkIDApfHwoZVtyXT17fSksbj10W3JdLHM7aWYobilmb3IocyBpbiBuKWlbc109bltzXX19dmFyIHByZSxNTD1mKCgpPT57SjIoKTtwcmU9e30uaGFzT3duUHJvcGVydHl9KTtmdW5jdGlvbiBtcmUoKXtyZXR1cm57dGV4dDpLMn19ZnVuY3Rpb24gUHFyKGUsdCxyKXtsZXQgYT10aGlzLGksbjtyZXR1cm4gcztmdW5jdGlvbiBzKGQpe3JldHVybiFmcmUoZCl8fCFzWGUuY2FsbChhLGEucHJldmlvdXMpfHxocmUoYS5ldmVudHMpP3IoZCk6KGUuZW50ZXIoImxpdGVyYWxBdXRvbGluayIpLGUuZW50ZXIoImxpdGVyYWxBdXRvbGlua0VtYWlsIiksbyhkKSl9ZnVuY3Rpb24gbyhkKXtyZXR1cm4gZnJlKGQpPyhlLmNvbnN1bWUoZCksbyk6ZD09PTY0PyhlLmNvbnN1bWUoZCksYyk6cihkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBkPT09NDY/ZS5jaGVjayhJcXIsdSxsKShkKTpkPT09NDV8fGQ9PT05NXx8TmEoZCk/KG49ITAsZS5jb25zdW1lKGQpLGMpOnUoZCl9ZnVuY3Rpb24gbChkKXtyZXR1cm4gZS5jb25zdW1lKGQpLGk9ITAsY31mdW5jdGlvbiB1KGQpe3JldHVybiBuJiZpJiZ5aShhLnByZXZpb3VzKT8oZS5leGl0KCJsaXRlcmFsQXV0b2xpbmtFbWFpbCIpLGUuZXhpdCgibGl0ZXJhbEF1dG9saW5rIiksdChkKSk6cihkKX19ZnVuY3Rpb24gTnFyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkocyl7cmV0dXJuIHMhPT04NyYmcyE9PTExOXx8IWlYZS5jYWxsKGEsYS5wcmV2aW91cyl8fGhyZShhLmV2ZW50cyk/cihzKTooZS5lbnRlcigibGl0ZXJhbEF1dG9saW5rIiksZS5lbnRlcigibGl0ZXJhbEF1dG9saW5rV3d3IiksZS5jaGVjayhFcXIsZS5hdHRlbXB0KEtaZSxlLmF0dGVtcHQoZVhlLG4pLHIpLHIpKHMpKX1mdW5jdGlvbiBuKHMpe3JldHVybiBlLmV4aXQoImxpdGVyYWxBdXRvbGlua1d3dyIpLGUuZXhpdCgibGl0ZXJhbEF1dG9saW5rIiksdChzKX19ZnVuY3Rpb24gRnFyKGUsdCxyKXtsZXQgYT10aGlzLGk9IiIsbj0hMTtyZXR1cm4gcztmdW5jdGlvbiBzKGQpe3JldHVybihkPT09NzJ8fGQ9PT0xMDQpJiZuWGUuY2FsbChhLGEucHJldmlvdXMpJiYhaHJlKGEuZXZlbnRzKT8oZS5lbnRlcigibGl0ZXJhbEF1dG9saW5rIiksZS5lbnRlcigibGl0ZXJhbEF1dG9saW5rSHR0cCIpLGkrPVN0cmluZy5mcm9tQ29kZVBvaW50KGQpLGUuY29uc3VtZShkKSxvKTpyKGQpfWZ1bmN0aW9uIG8oZCl7aWYoeWkoZCkmJmkubGVuZ3RoPDUpcmV0dXJuIGkrPVN0cmluZy5mcm9tQ29kZVBvaW50KGQpLGUuY29uc3VtZShkKSxvO2lmKGQ9PT01OCl7bGV0IGg9aS50b0xvd2VyQ2FzZSgpO2lmKGg9PT0iaHR0cCJ8fGg9PT0iaHR0cHMiKXJldHVybiBlLmNvbnN1bWUoZCksY31yZXR1cm4gcihkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBkPT09NDc/KGUuY29uc3VtZShkKSxuP2w6KG49ITAsYykpOnIoZCl9ZnVuY3Rpb24gbChkKXtyZXR1cm4gZD09PW51bGx8fHg2KGQpfHxRdChkKXx8UTIoZCl8fHk2KGQpP3IoZCk6ZS5hdHRlbXB0KEtaZSxlLmF0dGVtcHQoZVhlLHUpLHIpKGQpfWZ1bmN0aW9uIHUoZCl7cmV0dXJuIGUuZXhpdCgibGl0ZXJhbEF1dG9saW5rSHR0cCIpLGUuZXhpdCgibGl0ZXJhbEF1dG9saW5rIiksdChkKX19ZnVuY3Rpb24gT3FyKGUsdCxyKXtsZXQgYT0wO3JldHVybiBpO2Z1bmN0aW9uIGkocyl7cmV0dXJuKHM9PT04N3x8cz09PTExOSkmJmE8Mz8oYSsrLGUuY29uc3VtZShzKSxpKTpzPT09NDYmJmE9PT0zPyhlLmNvbnN1bWUocyksbik6cihzKX1mdW5jdGlvbiBuKHMpe3JldHVybiBzPT09bnVsbD9yKHMpOnQocyl9fWZ1bmN0aW9uIFJxcihlLHQscil7bGV0IGEsaSxuO3JldHVybiBzO2Z1bmN0aW9uIHMobCl7cmV0dXJuIGw9PT00Nnx8bD09PTk1P2UuY2hlY2sodFhlLGMsbykobCk6bD09PW51bGx8fFF0KGwpfHxRMihsKXx8bCE9PTQ1JiZ5NihsKT9jKGwpOihuPSEwLGUuY29uc3VtZShsKSxzKX1mdW5jdGlvbiBvKGwpe3JldHVybiBsPT09OTU/YT0hMDooaT1hLGE9dm9pZCAwKSxlLmNvbnN1bWUobCksc31mdW5jdGlvbiBjKGwpe3JldHVybiBpfHxhfHwhbj9yKGwpOnQobCl9fWZ1bmN0aW9uIEJxcihlLHQpe2xldCByPTAsYT0wO3JldHVybiBpO2Z1bmN0aW9uIGkocyl7cmV0dXJuIHM9PT00MD8ocisrLGUuY29uc3VtZShzKSxpKTpzPT09NDEmJmE8cj9uKHMpOnM9PT0zM3x8cz09PTM0fHxzPT09Mzh8fHM9PT0zOXx8cz09PTQxfHxzPT09NDJ8fHM9PT00NHx8cz09PTQ2fHxzPT09NTh8fHM9PT01OXx8cz09PTYwfHxzPT09NjN8fHM9PT05M3x8cz09PTk1fHxzPT09MTI2P2UuY2hlY2sodFhlLHQsbikocyk6cz09PW51bGx8fFF0KHMpfHxRMihzKT90KHMpOihlLmNvbnN1bWUocyksaSl9ZnVuY3Rpb24gbihzKXtyZXR1cm4gcz09PTQxJiZhKyssZS5jb25zdW1lKHMpLGl9fWZ1bmN0aW9uIEhxcihlLHQscil7cmV0dXJuIGE7ZnVuY3Rpb24gYShvKXtyZXR1cm4gbz09PTMzfHxvPT09MzR8fG89PT0zOXx8bz09PTQxfHxvPT09NDJ8fG89PT00NHx8bz09PTQ2fHxvPT09NTh8fG89PT01OXx8bz09PTYzfHxvPT09OTV8fG89PT0xMjY/KGUuY29uc3VtZShvKSxhKTpvPT09Mzg/KGUuY29uc3VtZShvKSxuKTpvPT09OTM/KGUuY29uc3VtZShvKSxpKTpvPT09NjB8fG89PT1udWxsfHxRdChvKXx8UTIobyk/dChvKTpyKG8pfWZ1bmN0aW9uIGkobyl7cmV0dXJuIG89PT1udWxsfHxvPT09NDB8fG89PT05MXx8UXQobyl8fFEyKG8pP3Qobyk6YShvKX1mdW5jdGlvbiBuKG8pe3JldHVybiB5aShvKT9zKG8pOnIobyl9ZnVuY3Rpb24gcyhvKXtyZXR1cm4gbz09PTU5PyhlLmNvbnN1bWUobyksYSk6eWkobyk/KGUuY29uc3VtZShvKSxzKTpyKG8pfX1mdW5jdGlvbiBxcXIoZSx0LHIpe3JldHVybiBhO2Z1bmN0aW9uIGEobil7cmV0dXJuIGUuY29uc3VtZShuKSxpfWZ1bmN0aW9uIGkobil7cmV0dXJuIE5hKG4pP3Iobik6dChuKX19ZnVuY3Rpb24gaVhlKGUpe3JldHVybiBlPT09bnVsbHx8ZT09PTQwfHxlPT09NDJ8fGU9PT05NXx8ZT09PTkxfHxlPT09OTN8fGU9PT0xMjZ8fFF0KGUpfWZ1bmN0aW9uIG5YZShlKXtyZXR1cm4heWkoZSl9ZnVuY3Rpb24gc1hlKGUpe3JldHVybiEoZT09PTQ3fHxmcmUoZSkpfWZ1bmN0aW9uIGZyZShlKXtyZXR1cm4gZT09PTQzfHxlPT09NDV8fGU9PT00Nnx8ZT09PTk1fHxOYShlKX1mdW5jdGlvbiBocmUoZSl7bGV0IHQ9ZS5sZW5ndGgscj0hMTtmb3IoO3QtLTspe2xldCBhPWVbdF1bMV07aWYoKGEudHlwZT09PSJsYWJlbExpbmsifHxhLnR5cGU9PT0ibGFiZWxJbWFnZSIpJiYhYS5fYmFsYW5jZWQpe3I9ITA7YnJlYWt9aWYoYS5fZ2ZtQXV0b2xpbmtMaXRlcmFsV2Fsa2VkSW50byl7cj0hMTticmVha319cmV0dXJuIGUubGVuZ3RoPjAmJiFyJiYoZVtlLmxlbmd0aC0xXVsxXS5fZ2ZtQXV0b2xpbmtMaXRlcmFsV2Fsa2VkSW50bz0hMCkscn12YXIgRXFyLEtaZSxlWGUsdFhlLElxcixyWGUsYVhlLGdjLEsyLG9YZT1mKCgpPT57ZXIoKTtFcXI9e3Rva2VuaXplOk9xcixwYXJ0aWFsOiEwfSxLWmU9e3Rva2VuaXplOlJxcixwYXJ0aWFsOiEwfSxlWGU9e3Rva2VuaXplOkJxcixwYXJ0aWFsOiEwfSx0WGU9e3Rva2VuaXplOkhxcixwYXJ0aWFsOiEwfSxJcXI9e3Rva2VuaXplOnFxcixwYXJ0aWFsOiEwfSxyWGU9e25hbWU6Ind3d0F1dG9saW5rIix0b2tlbml6ZTpOcXIscHJldmlvdXM6aVhlfSxhWGU9e25hbWU6InByb3RvY29sQXV0b2xpbmsiLHRva2VuaXplOkZxcixwcmV2aW91czpuWGV9LGdjPXtuYW1lOiJlbWFpbEF1dG9saW5rIix0b2tlbml6ZTpQcXIscHJldmlvdXM6c1hlfSxLMj17fTtmb3IodmFyIHo2PTQ4O3o2PDEyMzspSzJbejZdPWdjLHo2KyssejY9PT01OD96Nj02NTp6Nj09PTkxJiYoejY9OTcpO0syWzQzXT1nYyxLMls0NV09Z2MsSzJbNDZdPWdjLEsyWzk1XT1nYyxLMls3Ml09W2djLGFYZV0sSzJbMTA0XT1bZ2MsYVhlXSxLMls4N109W2djLHJYZV0sSzJbMTE5XT1bZ2MsclhlXX0pO2Z1bmN0aW9uIGtMKGUpe3JldHVybiBlLnJlcGxhY2UoL1siJjw+XS9nLHQpO2Z1bmN0aW9uIHQocil7cmV0dXJuIiYiK2pxcltyXSsiOyJ9fXZhciBqcXIsZ3JlPWYoKCk9PntqcXI9eyciJzoicXVvdCIsIiYiOiJhbXAiLCI8IjoibHQiLCI+IjoiZ3QifX0pO2Z1bmN0aW9uIGVsKGUsdCl7bGV0IHI9a0woWDEoZXx8IiIpKTtpZighdClyZXR1cm4gcjtsZXQgYT1yLmluZGV4T2YoIjoiKSxpPXIuaW5kZXhPZigiPyIpLG49ci5pbmRleE9mKCIjIikscz1yLmluZGV4T2YoIi8iKTtyZXR1cm4gYTwwfHxzPi0xJiZhPnN8fGk+LTEmJmE+aXx8bj4tMSYmYT5ufHx0LnRlc3Qoci5zbGljZSgwLGEpKT9yOiIifWZ1bmN0aW9uIFgxKGUpe2xldCB0PVtdLHI9LTEsYT0wLGk9MDtmb3IoOysrcjxlLmxlbmd0aDspe2xldCBuPWUuY2hhckNvZGVBdChyKSxzPSIiO2lmKG49PT0zNyYmTmEoZS5jaGFyQ29kZUF0KHIrMSkpJiZOYShlLmNoYXJDb2RlQXQocisyKSkpaT0yO2Vsc2UgaWYobjwxMjgpL1shIyQmLTs9Py1aX2Eten5dLy50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUobikpfHwocz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pKTtlbHNlIGlmKG4+NTUyOTUmJm48NTczNDQpe2xldCBvPWUuY2hhckNvZGVBdChyKzEpO248NTYzMjAmJm8+NTYzMTkmJm88NTczNDQ/KHM9U3RyaW5nLmZyb21DaGFyQ29kZShuLG8pLGk9MSk6cz0iXHVGRkZEIn1lbHNlIHM9U3RyaW5nLmZyb21DaGFyQ29kZShuKTtzJiYodC5wdXNoKGUuc2xpY2UoYSxyKSxlbmNvZGVVUklDb21wb25lbnQocykpLGE9citpKzEscz0iIiksaSYmKHIrPWksaT0wKX1yZXR1cm4gdC5qb2luKCIiKStlLnNsaWNlKGEpfXZhciB0bD1mKCgpPT57ZXIoKTtncmUoKX0pO2Z1bmN0aW9uIHZyZSgpe3JldHVybntleGl0OntsaXRlcmFsQXV0b2xpbmtFbWFpbDpVcXIsbGl0ZXJhbEF1dG9saW5rSHR0cDpXcXIsbGl0ZXJhbEF1dG9saW5rV3d3OlZxcn19fWZ1bmN0aW9uIFZxcihlKXticmUuY2FsbCh0aGlzLGUsImh0dHA6Ly8iKX1mdW5jdGlvbiBVcXIoZSl7YnJlLmNhbGwodGhpcyxlLCJtYWlsdG86Iil9ZnVuY3Rpb24gV3FyKGUpe2JyZS5jYWxsKHRoaXMsZSl9ZnVuY3Rpb24gYnJlKGUsdCl7bGV0IHI9dGhpcy5zbGljZVNlcmlhbGl6ZShlKTt0aGlzLnRhZygnPGEgaHJlZj0iJytlbCgodHx8IiIpK3IpKyciPicpLHRoaXMucmF3KHRoaXMuZW5jb2RlKHIpKSx0aGlzLnRhZygiPC9hPiIpfXZhciBsWGU9ZigoKT0+e3RsKCl9KTt2YXIgY1hlPWYoKCk9PntvWGUoKTtsWGUoKX0pO2Z1bmN0aW9uIEw0KGUsdCxyKXtsZXQgYT1bXSxpPS0xO2Zvcig7KytpPGUubGVuZ3RoOyl7bGV0IG49ZVtpXS5yZXNvbHZlQWxsO24mJiFhLmluY2x1ZGVzKG4pJiYodD1uKHQsciksYS5wdXNoKG4pKX1yZXR1cm4gdH12YXIgb2c9ZigoKT0+e30pO2Z1bmN0aW9uIEdxcihlLHQpe2xldCByPS0xLGEsaSxuLHMsbyxjLGwsdTtmb3IoOysrcjxlLmxlbmd0aDspaWYoZVtyXVswXT09PSJlbnRlciImJmVbcl1bMV0udHlwZT09PSJhdHRlbnRpb25TZXF1ZW5jZSImJmVbcl1bMV0uX2Nsb3NlKXtmb3IoYT1yO2EtLTspaWYoZVthXVswXT09PSJleGl0IiYmZVthXVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmZVthXVsxXS5fb3BlbiYmdC5zbGljZVNlcmlhbGl6ZShlW2FdWzFdKS5jaGFyQ29kZUF0KDApPT09dC5zbGljZVNlcmlhbGl6ZShlW3JdWzFdKS5jaGFyQ29kZUF0KDApKXtpZigoZVthXVsxXS5fY2xvc2V8fGVbcl1bMV0uX29wZW4pJiYoZVtyXVsxXS5lbmQub2Zmc2V0LWVbcl1bMV0uc3RhcnQub2Zmc2V0KSUzJiYhKChlW2FdWzFdLmVuZC5vZmZzZXQtZVthXVsxXS5zdGFydC5vZmZzZXQrZVtyXVsxXS5lbmQub2Zmc2V0LWVbcl1bMV0uc3RhcnQub2Zmc2V0KSUzKSljb250aW51ZTtjPWVbYV1bMV0uZW5kLm9mZnNldC1lW2FdWzFdLnN0YXJ0Lm9mZnNldD4xJiZlW3JdWzFdLmVuZC5vZmZzZXQtZVtyXVsxXS5zdGFydC5vZmZzZXQ+MT8yOjE7bGV0IGQ9ey4uLmVbYV1bMV0uZW5kfSxoPXsuLi5lW3JdWzFdLnN0YXJ0fTtkWGUoZCwtYyksZFhlKGgsYykscz17dHlwZTpjPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6ZCxlbmQ6ey4uLmVbYV1bMV0uZW5kfX0sbz17dHlwZTpjPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6ey4uLmVbcl1bMV0uc3RhcnR9LGVuZDpofSxuPXt0eXBlOmM+MT8ic3Ryb25nVGV4dCI6ImVtcGhhc2lzVGV4dCIsc3RhcnQ6ey4uLmVbYV1bMV0uZW5kfSxlbmQ6ey4uLmVbcl1bMV0uc3RhcnR9fSxpPXt0eXBlOmM+MT8ic3Ryb25nIjoiZW1waGFzaXMiLHN0YXJ0OnsuLi5zLnN0YXJ0fSxlbmQ6ey4uLm8uZW5kfX0sZVthXVsxXS5lbmQ9ey4uLnMuc3RhcnR9LGVbcl1bMV0uc3RhcnQ9ey4uLm8uZW5kfSxsPVtdLGVbYV1bMV0uZW5kLm9mZnNldC1lW2FdWzFdLnN0YXJ0Lm9mZnNldCYmKGw9bmkobCxbWyJlbnRlciIsZVthXVsxXSx0XSxbImV4aXQiLGVbYV1bMV0sdF1dKSksbD1uaShsLFtbImVudGVyIixpLHRdLFsiZW50ZXIiLHMsdF0sWyJleGl0IixzLHRdLFsiZW50ZXIiLG4sdF1dKSxsPW5pKGwsTDQodC5wYXJzZXIuY29uc3RydWN0cy5pbnNpZGVTcGFuLm51bGwsZS5zbGljZShhKzEsciksdCkpLGw9bmkobCxbWyJleGl0IixuLHRdLFsiZW50ZXIiLG8sdF0sWyJleGl0IixvLHRdLFsiZXhpdCIsaSx0XV0pLGVbcl1bMV0uZW5kLm9mZnNldC1lW3JdWzFdLnN0YXJ0Lm9mZnNldD8odT0yLGw9bmkobCxbWyJlbnRlciIsZVtyXVsxXSx0XSxbImV4aXQiLGVbcl1bMV0sdF1dKSk6dT0wLFVhKGUsYS0xLHItYSszLGwpLHI9YStsLmxlbmd0aC11LTI7YnJlYWt9fWZvcihyPS0xOysrcjxlLmxlbmd0aDspZVtyXVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmKGVbcl1bMV0udHlwZT0iZGF0YSIpO3JldHVybiBlfWZ1bmN0aW9uIFlxcihlLHQpe2xldCByPXRoaXMucGFyc2VyLmNvbnN0cnVjdHMuYXR0ZW50aW9uTWFya2Vycy5udWxsLGE9dGhpcy5wcmV2aW91cyxpPW1jKGEpLG47cmV0dXJuIHM7ZnVuY3Rpb24gcyhjKXtyZXR1cm4gbj1jLGUuZW50ZXIoImF0dGVudGlvblNlcXVlbmNlIiksbyhjKX1mdW5jdGlvbiBvKGMpe2lmKGM9PT1uKXJldHVybiBlLmNvbnN1bWUoYyksbztsZXQgbD1lLmV4aXQoImF0dGVudGlvblNlcXVlbmNlIiksdT1tYyhjKSxkPSF1fHx1PT09MiYmaXx8ci5pbmNsdWRlcyhjKSxoPSFpfHxpPT09MiYmdXx8ci5pbmNsdWRlcyhhKTtyZXR1cm4gbC5fb3Blbj0hIShuPT09NDI/ZDpkJiYoaXx8IWgpKSxsLl9jbG9zZT0hIShuPT09NDI/aDpoJiYodXx8IWQpKSx0KGMpfX1mdW5jdGlvbiBkWGUoZSx0KXtlLmNvbHVtbis9dCxlLm9mZnNldCs9dCxlLl9idWZmZXJJbmRleCs9dH12YXIgbGcsdVhlPWYoKCk9PntKMigpO3BMKCk7b2coKTtsZz17bmFtZToiYXR0ZW50aW9uIixyZXNvbHZlQWxsOkdxcix0b2tlbml6ZTpZcXJ9fSk7ZnVuY3Rpb24gWnFyKGUsdCxyKXtsZXQgYT0wO3JldHVybiBpO2Z1bmN0aW9uIGkobSl7cmV0dXJuIGUuZW50ZXIoImF1dG9saW5rIiksZS5lbnRlcigiYXV0b2xpbmtNYXJrZXIiKSxlLmNvbnN1bWUobSksZS5leGl0KCJhdXRvbGlua01hcmtlciIpLGUuZW50ZXIoImF1dG9saW5rUHJvdG9jb2wiKSxufWZ1bmN0aW9uIG4obSl7cmV0dXJuIHlpKG0pPyhlLmNvbnN1bWUobSkscyk6bT09PTY0P3IobSk6bChtKX1mdW5jdGlvbiBzKG0pe3JldHVybiBtPT09NDN8fG09PT00NXx8bT09PTQ2fHxOYShtKT8oYT0xLG8obSkpOmwobSl9ZnVuY3Rpb24gbyhtKXtyZXR1cm4gbT09PTU4PyhlLmNvbnN1bWUobSksYT0wLGMpOihtPT09NDN8fG09PT00NXx8bT09PTQ2fHxOYShtKSkmJmErKzwzMj8oZS5jb25zdW1lKG0pLG8pOihhPTAsbChtKSl9ZnVuY3Rpb24gYyhtKXtyZXR1cm4gbT09PTYyPyhlLmV4aXQoImF1dG9saW5rUHJvdG9jb2wiKSxlLmVudGVyKCJhdXRvbGlua01hcmtlciIpLGUuY29uc3VtZShtKSxlLmV4aXQoImF1dG9saW5rTWFya2VyIiksZS5leGl0KCJhdXRvbGluayIpLHQpOm09PT1udWxsfHxtPT09MzJ8fG09PT02MHx8eDYobSk/cihtKTooZS5jb25zdW1lKG0pLGMpfWZ1bmN0aW9uIGwobSl7cmV0dXJuIG09PT02ND8oZS5jb25zdW1lKG0pLHUpOkpHZShtKT8oZS5jb25zdW1lKG0pLGwpOnIobSl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gTmEobSk/ZChtKTpyKG0pfWZ1bmN0aW9uIGQobSl7cmV0dXJuIG09PT00Nj8oZS5jb25zdW1lKG0pLGE9MCx1KTptPT09NjI/KGUuZXhpdCgiYXV0b2xpbmtQcm90b2NvbCIpLnR5cGU9ImF1dG9saW5rRW1haWwiLGUuZW50ZXIoImF1dG9saW5rTWFya2VyIiksZS5jb25zdW1lKG0pLGUuZXhpdCgiYXV0b2xpbmtNYXJrZXIiKSxlLmV4aXQoImF1dG9saW5rIiksdCk6aChtKX1mdW5jdGlvbiBoKG0pe2lmKChtPT09NDV8fE5hKG0pKSYmYSsrPDYzKXtsZXQgdj1tPT09NDU/aDpkO3JldHVybiBlLmNvbnN1bWUobSksdn1yZXR1cm4gcihtKX19dmFyIHhyZSxwWGU9ZigoKT0+e2VyKCk7eHJlPXtuYW1lOiJhdXRvbGluayIsdG9rZW5pemU6WnFyfX0pO2Z1bmN0aW9uIGJ0KGUsdCxyLGEpe2xldCBpPWE/YS0xOk51bWJlci5QT1NJVElWRV9JTkZJTklUWSxuPTA7cmV0dXJuIHM7ZnVuY3Rpb24gcyhjKXtyZXR1cm4gbHQoYyk/KGUuZW50ZXIociksbyhjKSk6dChjKX1mdW5jdGlvbiBvKGMpe3JldHVybiBsdChjKSYmbisrPGk/KGUuY29uc3VtZShjKSxvKTooZS5leGl0KHIpLHQoYykpfX12YXIgV2E9ZigoKT0+e2VyKCl9KTtmdW5jdGlvbiBYcXIoZSx0LHIpe3JldHVybiBhO2Z1bmN0aW9uIGEobil7cmV0dXJuIGx0KG4pP2J0KGUsaSwibGluZVByZWZpeCIpKG4pOmkobil9ZnVuY3Rpb24gaShuKXtyZXR1cm4gbj09PW51bGx8fEdlKG4pP3Qobik6cihuKX19dmFyIHJsLFNMPWYoKCk9PntXYSgpO2VyKCk7cmw9e3BhcnRpYWw6ITAsdG9rZW5pemU6WHFyfX0pO2Z1bmN0aW9uIFFxcihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKHMpe2lmKHM9PT02Mil7bGV0IG89YS5jb250YWluZXJTdGF0ZTtyZXR1cm4gby5vcGVufHwoZS5lbnRlcigiYmxvY2tRdW90ZSIse19jb250YWluZXI6ITB9KSxvLm9wZW49ITApLGUuZW50ZXIoImJsb2NrUXVvdGVQcmVmaXgiKSxlLmVudGVyKCJibG9ja1F1b3RlTWFya2VyIiksZS5jb25zdW1lKHMpLGUuZXhpdCgiYmxvY2tRdW90ZU1hcmtlciIpLG59cmV0dXJuIHIocyl9ZnVuY3Rpb24gbihzKXtyZXR1cm4gbHQocyk/KGUuZW50ZXIoImJsb2NrUXVvdGVQcmVmaXhXaGl0ZXNwYWNlIiksZS5jb25zdW1lKHMpLGUuZXhpdCgiYmxvY2tRdW90ZVByZWZpeFdoaXRlc3BhY2UiKSxlLmV4aXQoImJsb2NrUXVvdGVQcmVmaXgiKSx0KTooZS5leGl0KCJibG9ja1F1b3RlUHJlZml4IiksdChzKSl9fWZ1bmN0aW9uIEpxcihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKHMpe3JldHVybiBsdChzKT9idChlLG4sImxpbmVQcmVmaXgiLGEucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCkocyk6bihzKX1mdW5jdGlvbiBuKHMpe3JldHVybiBlLmF0dGVtcHQoekwsdCxyKShzKX19ZnVuY3Rpb24gS3FyKGUpe2UuZXhpdCgiYmxvY2tRdW90ZSIpfXZhciB6TCxmWGU9ZigoKT0+e1dhKCk7ZXIoKTt6TD17Y29udGludWF0aW9uOnt0b2tlbml6ZTpKcXJ9LGV4aXQ6S3FyLG5hbWU6ImJsb2NrUXVvdGUiLHRva2VuaXplOlFxcn19KTtmdW5jdGlvbiBlanIoZSx0LHIpe3JldHVybiBhO2Z1bmN0aW9uIGEobil7cmV0dXJuIGUuZW50ZXIoImNoYXJhY3RlckVzY2FwZSIpLGUuZW50ZXIoImVzY2FwZU1hcmtlciIpLGUuY29uc3VtZShuKSxlLmV4aXQoImVzY2FwZU1hcmtlciIpLGl9ZnVuY3Rpb24gaShuKXtyZXR1cm4gZVllKG4pPyhlLmVudGVyKCJjaGFyYWN0ZXJFc2NhcGVWYWx1ZSIpLGUuY29uc3VtZShuKSxlLmV4aXQoImNoYXJhY3RlckVzY2FwZVZhbHVlIiksZS5leGl0KCJjaGFyYWN0ZXJFc2NhcGUiKSx0KTpyKG4pfX12YXIgQ0wsaFhlPWYoKCk9PntlcigpO0NMPXtuYW1lOiJjaGFyYWN0ZXJFc2NhcGUiLHRva2VuaXplOmVqcn19KTtmdW5jdGlvbiB0anIoZSx0LHIpe2xldCBhPXRoaXMsaT0wLG4scztyZXR1cm4gbztmdW5jdGlvbiBvKGQpe3JldHVybiBlLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2UiKSxlLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXIiKSxlLmNvbnN1bWUoZCksZS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXIiKSxjfWZ1bmN0aW9uIGMoZCl7cmV0dXJuIGQ9PT0zNT8oZS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYyIpLGUuY29uc3VtZShkKSxlLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlck51bWVyaWMiKSxsKTooZS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWUiKSxuPTMxLHM9TmEsdShkKSl9ZnVuY3Rpb24gbChkKXtyZXR1cm4gZD09PTg4fHxkPT09MTIwPyhlLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJIZXhhZGVjaW1hbCIpLGUuY29uc3VtZShkKSxlLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlckhleGFkZWNpbWFsIiksZS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWUiKSxuPTYscz1LR2UsdSk6KGUuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZVZhbHVlIiksbj03LHM9cmcsdShkKSl9ZnVuY3Rpb24gdShkKXtpZihkPT09NTkmJmkpe2xldCBoPWUuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWUiKTtyZXR1cm4gcz09PU5hJiYhXzQoYS5zbGljZVNlcmlhbGl6ZShoKSk/cihkKTooZS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyIiksZS5jb25zdW1lKGQpLGUuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyIiksZS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2UiKSx0KX1yZXR1cm4gcyhkKSYmaSsrPG4/KGUuY29uc3VtZShkKSx1KTpyKGQpfX12YXIgVEwsbVhlPWYoKCk9PntzZygpO2VyKCk7VEw9e25hbWU6ImNoYXJhY3RlclJlZmVyZW5jZSIsdG9rZW5pemU6dGpyfX0pO2Z1bmN0aW9uIHJqcihlLHQscil7bGV0IGE9dGhpcyxpPXtwYXJ0aWFsOiEwLHRva2VuaXplOkN9LG49MCxzPTAsbztyZXR1cm4gYztmdW5jdGlvbiBjKFMpe3JldHVybiBsKFMpfWZ1bmN0aW9uIGwoUyl7bGV0IE89YS5ldmVudHNbYS5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBuPU8mJk9bMV0udHlwZT09PSJsaW5lUHJlZml4Ij9PWzJdLnNsaWNlU2VyaWFsaXplKE9bMV0sITApLmxlbmd0aDowLG89UyxlLmVudGVyKCJjb2RlRmVuY2VkIiksZS5lbnRlcigiY29kZUZlbmNlZEZlbmNlIiksZS5lbnRlcigiY29kZUZlbmNlZEZlbmNlU2VxdWVuY2UiKSx1KFMpfWZ1bmN0aW9uIHUoUyl7cmV0dXJuIFM9PT1vPyhzKyssZS5jb25zdW1lKFMpLHUpOnM8Mz9yKFMpOihlLmV4aXQoImNvZGVGZW5jZWRGZW5jZVNlcXVlbmNlIiksbHQoUyk/YnQoZSxkLCJ3aGl0ZXNwYWNlIikoUyk6ZChTKSl9ZnVuY3Rpb24gZChTKXtyZXR1cm4gUz09PW51bGx8fEdlKFMpPyhlLmV4aXQoImNvZGVGZW5jZWRGZW5jZSIpLGEuaW50ZXJydXB0P3QoUyk6ZS5jaGVjayhnWGUsYixSKShTKSk6KGUuZW50ZXIoImNvZGVGZW5jZWRGZW5jZUluZm8iKSxlLmVudGVyKCJjaHVua1N0cmluZyIse2NvbnRlbnRUeXBlOiJzdHJpbmcifSksaChTKSl9ZnVuY3Rpb24gaChTKXtyZXR1cm4gUz09PW51bGx8fEdlKFMpPyhlLmV4aXQoImNodW5rU3RyaW5nIiksZS5leGl0KCJjb2RlRmVuY2VkRmVuY2VJbmZvIiksZChTKSk6bHQoUyk/KGUuZXhpdCgiY2h1bmtTdHJpbmciKSxlLmV4aXQoImNvZGVGZW5jZWRGZW5jZUluZm8iKSxidChlLG0sIndoaXRlc3BhY2UiKShTKSk6Uz09PTk2JiZTPT09bz9yKFMpOihlLmNvbnN1bWUoUyksaCl9ZnVuY3Rpb24gbShTKXtyZXR1cm4gUz09PW51bGx8fEdlKFMpP2QoUyk6KGUuZW50ZXIoImNvZGVGZW5jZWRGZW5jZU1ldGEiKSxlLmVudGVyKCJjaHVua1N0cmluZyIse2NvbnRlbnRUeXBlOiJzdHJpbmcifSksdihTKSl9ZnVuY3Rpb24gdihTKXtyZXR1cm4gUz09PW51bGx8fEdlKFMpPyhlLmV4aXQoImNodW5rU3RyaW5nIiksZS5leGl0KCJjb2RlRmVuY2VkRmVuY2VNZXRhIiksZChTKSk6Uz09PTk2JiZTPT09bz9yKFMpOihlLmNvbnN1bWUoUyksdil9ZnVuY3Rpb24gYihTKXtyZXR1cm4gZS5hdHRlbXB0KGksUixnKShTKX1mdW5jdGlvbiBnKFMpe3JldHVybiBlLmVudGVyKCJsaW5lRW5kaW5nIiksZS5jb25zdW1lKFMpLGUuZXhpdCgibGluZUVuZGluZyIpLHl9ZnVuY3Rpb24geShTKXtyZXR1cm4gbj4wJiZsdChTKT9idChlLHcsImxpbmVQcmVmaXgiLG4rMSkoUyk6dyhTKX1mdW5jdGlvbiB3KFMpe3JldHVybiBTPT09bnVsbHx8R2UoUyk/ZS5jaGVjayhnWGUsYixSKShTKTooZS5lbnRlcigiY29kZUZsb3dWYWx1ZSIpLGsoUykpfWZ1bmN0aW9uIGsoUyl7cmV0dXJuIFM9PT1udWxsfHxHZShTKT8oZS5leGl0KCJjb2RlRmxvd1ZhbHVlIiksdyhTKSk6KGUuY29uc3VtZShTKSxrKX1mdW5jdGlvbiBSKFMpe3JldHVybiBlLmV4aXQoImNvZGVGZW5jZWQiKSx0KFMpfWZ1bmN0aW9uIEMoUyxPLEQpe2xldCBOPTA7cmV0dXJuIHE7ZnVuY3Rpb24gcShMKXtyZXR1cm4gUy5lbnRlcigibGluZUVuZGluZyIpLFMuY29uc3VtZShMKSxTLmV4aXQoImxpbmVFbmRpbmciKSxffWZ1bmN0aW9uIF8oTCl7cmV0dXJuIFMuZW50ZXIoImNvZGVGZW5jZWRGZW5jZSIpLGx0KEwpP2J0KFMseiwibGluZVByZWZpeCIsYS5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShMKTp6KEwpfWZ1bmN0aW9uIHooTCl7cmV0dXJuIEw9PT1vPyhTLmVudGVyKCJjb2RlRmVuY2VkRmVuY2VTZXF1ZW5jZSIpLEUoTCkpOkQoTCl9ZnVuY3Rpb24gRShMKXtyZXR1cm4gTD09PW8/KE4rKyxTLmNvbnN1bWUoTCksRSk6Tj49cz8oUy5leGl0KCJjb2RlRmVuY2VkRmVuY2VTZXF1ZW5jZSIpLGx0KEwpP2J0KFMsVCwid2hpdGVzcGFjZSIpKEwpOlQoTCkpOkQoTCl9ZnVuY3Rpb24gVChMKXtyZXR1cm4gTD09PW51bGx8fEdlKEwpPyhTLmV4aXQoImNvZGVGZW5jZWRGZW5jZSIpLE8oTCkpOkQoTCl9fX1mdW5jdGlvbiBhanIoZSx0LHIpe2xldCBhPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShzKXtyZXR1cm4gcz09PW51bGw/cihzKTooZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShzKSxlLmV4aXQoImxpbmVFbmRpbmciKSxuKX1mdW5jdGlvbiBuKHMpe3JldHVybiBhLnBhcnNlci5sYXp5W2Eubm93KCkubGluZV0/cihzKTp0KHMpfX12YXIgZ1hlLF9MLGJYZT1mKCgpPT57V2EoKTtlcigpO2dYZT17cGFydGlhbDohMCx0b2tlbml6ZTphanJ9LF9MPXtjb25jcmV0ZTohMCxuYW1lOiJjb2RlRmVuY2VkIix0b2tlbml6ZTpyanJ9fSk7ZnVuY3Rpb24gbmpyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobCl7cmV0dXJuIGUuZW50ZXIoImNvZGVJbmRlbnRlZCIpLGJ0KGUsbiwibGluZVByZWZpeCIsNSkobCl9ZnVuY3Rpb24gbihsKXtsZXQgdT1hLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIHUmJnVbMV0udHlwZT09PSJsaW5lUHJlZml4IiYmdVsyXS5zbGljZVNlcmlhbGl6ZSh1WzFdLCEwKS5sZW5ndGg+PTQ/cyhsKTpyKGwpfWZ1bmN0aW9uIHMobCl7cmV0dXJuIGw9PT1udWxsP2MobCk6R2UobCk/ZS5hdHRlbXB0KGlqcixzLGMpKGwpOihlLmVudGVyKCJjb2RlRmxvd1ZhbHVlIiksbyhsKSl9ZnVuY3Rpb24gbyhsKXtyZXR1cm4gbD09PW51bGx8fEdlKGwpPyhlLmV4aXQoImNvZGVGbG93VmFsdWUiKSxzKGwpKTooZS5jb25zdW1lKGwpLG8pfWZ1bmN0aW9uIGMobCl7cmV0dXJuIGUuZXhpdCgiY29kZUluZGVudGVkIiksdChsKX19ZnVuY3Rpb24gc2pyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkocyl7cmV0dXJuIGEucGFyc2VyLmxhenlbYS5ub3coKS5saW5lXT9yKHMpOkdlKHMpPyhlLmVudGVyKCJsaW5lRW5kaW5nIiksZS5jb25zdW1lKHMpLGUuZXhpdCgibGluZUVuZGluZyIpLGkpOmJ0KGUsbiwibGluZVByZWZpeCIsNSkocyl9ZnVuY3Rpb24gbihzKXtsZXQgbz1hLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIG8mJm9bMV0udHlwZT09PSJsaW5lUHJlZml4IiYmb1syXS5zbGljZVNlcmlhbGl6ZShvWzFdLCEwKS5sZW5ndGg+PTQ/dChzKTpHZShzKT9pKHMpOnIocyl9fXZhciBjZyxpanIsdlhlPWYoKCk9PntXYSgpO2VyKCk7Y2c9e25hbWU6ImNvZGVJbmRlbnRlZCIsdG9rZW5pemU6bmpyfSxpanI9e3BhcnRpYWw6ITAsdG9rZW5pemU6c2pyfX0pO2Z1bmN0aW9uIG9qcihlKXtsZXQgdD1lLmxlbmd0aC00LHI9MyxhLGk7aWYoKGVbcl1bMV0udHlwZT09PSJsaW5lRW5kaW5nInx8ZVtyXVsxXS50eXBlPT09InNwYWNlIikmJihlW3RdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fGVbdF1bMV0udHlwZT09PSJzcGFjZSIpKXtmb3IoYT1yOysrYTx0OylpZihlW2FdWzFdLnR5cGU9PT0iY29kZVRleHREYXRhIil7ZVtyXVsxXS50eXBlPSJjb2RlVGV4dFBhZGRpbmciLGVbdF1bMV0udHlwZT0iY29kZVRleHRQYWRkaW5nIixyKz0yLHQtPTI7YnJlYWt9fWZvcihhPXItMSx0Kys7KythPD10OylpPT09dm9pZCAwP2EhPT10JiZlW2FdWzFdLnR5cGUhPT0ibGluZUVuZGluZyImJihpPWEpOihhPT09dHx8ZVthXVsxXS50eXBlPT09ImxpbmVFbmRpbmciKSYmKGVbaV1bMV0udHlwZT0iY29kZVRleHREYXRhIixhIT09aSsyJiYoZVtpXVsxXS5lbmQ9ZVthLTFdWzFdLmVuZCxlLnNwbGljZShpKzIsYS1pLTIpLHQtPWEtaS0yLGE9aSsyKSxpPXZvaWQgMCk7cmV0dXJuIGV9ZnVuY3Rpb24gbGpyKGUpe3JldHVybiBlIT09OTZ8fHRoaXMuZXZlbnRzW3RoaXMuZXZlbnRzLmxlbmd0aC0xXVsxXS50eXBlPT09ImNoYXJhY3RlckVzY2FwZSJ9ZnVuY3Rpb24gY2pyKGUsdCxyKXtsZXQgYT10aGlzLGk9MCxuLHM7cmV0dXJuIG87ZnVuY3Rpb24gbyhoKXtyZXR1cm4gZS5lbnRlcigiY29kZVRleHQiKSxlLmVudGVyKCJjb2RlVGV4dFNlcXVlbmNlIiksYyhoKX1mdW5jdGlvbiBjKGgpe3JldHVybiBoPT09OTY/KGUuY29uc3VtZShoKSxpKyssYyk6KGUuZXhpdCgiY29kZVRleHRTZXF1ZW5jZSIpLGwoaCkpfWZ1bmN0aW9uIGwoaCl7cmV0dXJuIGg9PT1udWxsP3IoaCk6aD09PTMyPyhlLmVudGVyKCJzcGFjZSIpLGUuY29uc3VtZShoKSxlLmV4aXQoInNwYWNlIiksbCk6aD09PTk2PyhzPWUuZW50ZXIoImNvZGVUZXh0U2VxdWVuY2UiKSxuPTAsZChoKSk6R2UoaCk/KGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUoaCksZS5leGl0KCJsaW5lRW5kaW5nIiksbCk6KGUuZW50ZXIoImNvZGVUZXh0RGF0YSIpLHUoaCkpfWZ1bmN0aW9uIHUoaCl7cmV0dXJuIGg9PT1udWxsfHxoPT09MzJ8fGg9PT05Nnx8R2UoaCk/KGUuZXhpdCgiY29kZVRleHREYXRhIiksbChoKSk6KGUuY29uc3VtZShoKSx1KX1mdW5jdGlvbiBkKGgpe3JldHVybiBoPT09OTY/KGUuY29uc3VtZShoKSxuKyssZCk6bj09PWk/KGUuZXhpdCgiY29kZVRleHRTZXF1ZW5jZSIpLGUuZXhpdCgiY29kZVRleHQiKSx0KGgpKToocy50eXBlPSJjb2RlVGV4dERhdGEiLHUoaCkpfX12YXIgeXJlLHhYZT1mKCgpPT57ZXIoKTt5cmU9e25hbWU6ImNvZGVUZXh0IixwcmV2aW91czpsanIscmVzb2x2ZTpvanIsdG9rZW5pemU6Y2pyfX0pO2Z1bmN0aW9uIGRnKGUsdCl7bGV0IHI9MDtpZih0Lmxlbmd0aDwxZTQpZS5wdXNoKC4uLnQpO2Vsc2UgZm9yKDtyPHQubGVuZ3RoOyllLnB1c2goLi4udC5zbGljZShyLHIrMWU0KSkscis9MWU0fXZhciB1Zyx3cmU9ZigoKT0+e3VnPWNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMubGVmdD10P1suLi50XTpbXSx0aGlzLnJpZ2h0PVtdfWdldCh0KXtpZih0PDB8fHQ+PXRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNhbm5vdCBhY2Nlc3MgaW5kZXggYCIrdCsiYCBpbiBhIHNwbGljZSBidWZmZXIgb2Ygc2l6ZSBgIisodGhpcy5sZWZ0Lmxlbmd0aCt0aGlzLnJpZ2h0Lmxlbmd0aCkrImAiKTtyZXR1cm4gdDx0aGlzLmxlZnQubGVuZ3RoP3RoaXMubGVmdFt0XTp0aGlzLnJpZ2h0W3RoaXMucmlnaHQubGVuZ3RoLXQrdGhpcy5sZWZ0Lmxlbmd0aC0xXX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGh9c2hpZnQoKXtyZXR1cm4gdGhpcy5zZXRDdXJzb3IoMCksdGhpcy5yaWdodC5wb3AoKX1zbGljZSh0LHIpe2xldCBhPXI/P051bWJlci5QT1NJVElWRV9JTkZJTklUWTtyZXR1cm4gYTx0aGlzLmxlZnQubGVuZ3RoP3RoaXMubGVmdC5zbGljZSh0LGEpOnQ+dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLnJpZ2h0LnNsaWNlKHRoaXMucmlnaHQubGVuZ3RoLWErdGhpcy5sZWZ0Lmxlbmd0aCx0aGlzLnJpZ2h0Lmxlbmd0aC10K3RoaXMubGVmdC5sZW5ndGgpLnJldmVyc2UoKTp0aGlzLmxlZnQuc2xpY2UodCkuY29uY2F0KHRoaXMucmlnaHQuc2xpY2UodGhpcy5yaWdodC5sZW5ndGgtYSt0aGlzLmxlZnQubGVuZ3RoKS5yZXZlcnNlKCkpfXNwbGljZSh0LHIsYSl7bGV0IGk9cnx8MDt0aGlzLnNldEN1cnNvcihNYXRoLnRydW5jKHQpKTtsZXQgbj10aGlzLnJpZ2h0LnNwbGljZSh0aGlzLnJpZ2h0Lmxlbmd0aC1pLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7cmV0dXJuIGEmJmRnKHRoaXMubGVmdCxhKSxuLnJldmVyc2UoKX1wb3AoKXtyZXR1cm4gdGhpcy5zZXRDdXJzb3IoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSx0aGlzLmxlZnQucG9wKCl9cHVzaCh0KXt0aGlzLnNldEN1cnNvcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLHRoaXMubGVmdC5wdXNoKHQpfXB1c2hNYW55KHQpe3RoaXMuc2V0Q3Vyc29yKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSksZGcodGhpcy5sZWZ0LHQpfXVuc2hpZnQodCl7dGhpcy5zZXRDdXJzb3IoMCksdGhpcy5yaWdodC5wdXNoKHQpfXVuc2hpZnRNYW55KHQpe3RoaXMuc2V0Q3Vyc29yKDApLGRnKHRoaXMucmlnaHQsdC5yZXZlcnNlKCkpfXNldEN1cnNvcih0KXtpZighKHQ9PT10aGlzLmxlZnQubGVuZ3RofHx0PnRoaXMubGVmdC5sZW5ndGgmJnRoaXMucmlnaHQubGVuZ3RoPT09MHx8dDwwJiZ0aGlzLmxlZnQubGVuZ3RoPT09MCkpaWYodDx0aGlzLmxlZnQubGVuZ3RoKXtsZXQgcj10aGlzLmxlZnQuc3BsaWNlKHQsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTtkZyh0aGlzLnJpZ2h0LHIucmV2ZXJzZSgpKX1lbHNle2xldCByPXRoaXMucmlnaHQuc3BsaWNlKHRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGgtdCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO2RnKHRoaXMubGVmdCxyLnJldmVyc2UoKSl9fX19KTtmdW5jdGlvbiBMTChlKXtsZXQgdD17fSxyPS0xLGEsaSxuLHMsbyxjLGwsdT1uZXcgdWcoZSk7Zm9yKDsrK3I8dS5sZW5ndGg7KXtmb3IoO3IgaW4gdDspcj10W3JdO2lmKGE9dS5nZXQociksciYmYVsxXS50eXBlPT09ImNodW5rRmxvdyImJnUuZ2V0KHItMSlbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCImJihjPWFbMV0uX3Rva2VuaXplci5ldmVudHMsbj0wLG48Yy5sZW5ndGgmJmNbbl1bMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiJiYobis9MiksbjxjLmxlbmd0aCYmY1tuXVsxXS50eXBlPT09ImNvbnRlbnQiKSlmb3IoOysrbjxjLmxlbmd0aCYmY1tuXVsxXS50eXBlIT09ImNvbnRlbnQiOyljW25dWzFdLnR5cGU9PT0iY2h1bmtUZXh0IiYmKGNbbl1bMV0uX2lzSW5GaXJzdENvbnRlbnRPZkxpc3RJdGVtPSEwLG4rKyk7aWYoYVswXT09PSJlbnRlciIpYVsxXS5jb250ZW50VHlwZSYmKE9iamVjdC5hc3NpZ24odCxkanIodSxyKSkscj10W3JdLGw9ITApO2Vsc2UgaWYoYVsxXS5fY29udGFpbmVyKXtmb3Iobj1yLGk9dm9pZCAwO24tLTspaWYocz11LmdldChuKSxzWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fHNbMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKXNbMF09PT0iZW50ZXIiJiYoaSYmKHUuZ2V0KGkpWzFdLnR5cGU9ImxpbmVFbmRpbmdCbGFuayIpLHNbMV0udHlwZT0ibGluZUVuZGluZyIsaT1uKTtlbHNlIGlmKCEoc1sxXS50eXBlPT09ImxpbmVQcmVmaXgifHxzWzFdLnR5cGU9PT0ibGlzdEl0ZW1JbmRlbnQiKSlicmVhaztpJiYoYVsxXS5lbmQ9ey4uLnUuZ2V0KGkpWzFdLnN0YXJ0fSxvPXUuc2xpY2UoaSxyKSxvLnVuc2hpZnQoYSksdS5zcGxpY2UoaSxyLWkrMSxvKSl9fXJldHVybiBVYShlLDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHUuc2xpY2UoMCkpLCFsfWZ1bmN0aW9uIGRqcihlLHQpe2xldCByPWUuZ2V0KHQpWzFdLGE9ZS5nZXQodClbMl0saT10LTEsbj1bXSxzPXIuX3Rva2VuaXplcjtzfHwocz1hLnBhcnNlcltyLmNvbnRlbnRUeXBlXShyLnN0YXJ0KSxyLl9jb250ZW50VHlwZVRleHRUcmFpbGluZyYmKHMuX2NvbnRlbnRUeXBlVGV4dFRyYWlsaW5nPSEwKSk7bGV0IG89cy5ldmVudHMsYz1bXSxsPXt9LHUsZCxoPS0xLG09cix2PTAsYj0wLGc9W2JdO2Zvcig7bTspe2Zvcig7ZS5nZXQoKytpKVsxXSE9PW07KTtuLnB1c2goaSksbS5fdG9rZW5pemVyfHwodT1hLnNsaWNlU3RyZWFtKG0pLG0ubmV4dHx8dS5wdXNoKG51bGwpLGQmJnMuZGVmaW5lU2tpcChtLnN0YXJ0KSxtLl9pc0luRmlyc3RDb250ZW50T2ZMaXN0SXRlbSYmKHMuX2dmbVRhc2tsaXN0Rmlyc3RDb250ZW50T2ZMaXN0SXRlbT0hMCkscy53cml0ZSh1KSxtLl9pc0luRmlyc3RDb250ZW50T2ZMaXN0SXRlbSYmKHMuX2dmbVRhc2tsaXN0Rmlyc3RDb250ZW50T2ZMaXN0SXRlbT12b2lkIDApKSxkPW0sbT1tLm5leHR9Zm9yKG09cjsrK2g8by5sZW5ndGg7KW9baF1bMF09PT0iZXhpdCImJm9baC0xXVswXT09PSJlbnRlciImJm9baF1bMV0udHlwZT09PW9baC0xXVsxXS50eXBlJiZvW2hdWzFdLnN0YXJ0LmxpbmUhPT1vW2hdWzFdLmVuZC5saW5lJiYoYj1oKzEsZy5wdXNoKGIpLG0uX3Rva2VuaXplcj12b2lkIDAsbS5wcmV2aW91cz12b2lkIDAsbT1tLm5leHQpO2ZvcihzLmV2ZW50cz1bXSxtPyhtLl90b2tlbml6ZXI9dm9pZCAwLG0ucHJldmlvdXM9dm9pZCAwKTpnLnBvcCgpLGg9Zy5sZW5ndGg7aC0tOyl7bGV0IHk9by5zbGljZShnW2hdLGdbaCsxXSksdz1uLnBvcCgpO2MucHVzaChbdyx3K3kubGVuZ3RoLTFdKSxlLnNwbGljZSh3LDIseSl9Zm9yKGMucmV2ZXJzZSgpLGg9LTE7KytoPGMubGVuZ3RoOylsW3YrY1toXVswXV09ditjW2hdWzFdLHYrPWNbaF1bMV0tY1toXVswXS0xO3JldHVybiBsfXZhciBNcmU9ZigoKT0+e0oyKCk7d3JlKCk7d3JlKCl9KTtmdW5jdGlvbiBwanIoZSl7cmV0dXJuIExMKGUpLGV9ZnVuY3Rpb24gZmpyKGUsdCl7bGV0IHI7cmV0dXJuIGE7ZnVuY3Rpb24gYShvKXtyZXR1cm4gZS5lbnRlcigiY29udGVudCIpLHI9ZS5lbnRlcigiY2h1bmtDb250ZW50Iix7Y29udGVudFR5cGU6ImNvbnRlbnQifSksaShvKX1mdW5jdGlvbiBpKG8pe3JldHVybiBvPT09bnVsbD9uKG8pOkdlKG8pP2UuY2hlY2sodWpyLHMsbikobyk6KGUuY29uc3VtZShvKSxpKX1mdW5jdGlvbiBuKG8pe3JldHVybiBlLmV4aXQoImNodW5rQ29udGVudCIpLGUuZXhpdCgiY29udGVudCIpLHQobyl9ZnVuY3Rpb24gcyhvKXtyZXR1cm4gZS5jb25zdW1lKG8pLGUuZXhpdCgiY2h1bmtDb250ZW50Iiksci5uZXh0PWUuZW50ZXIoImNodW5rQ29udGVudCIse2NvbnRlbnRUeXBlOiJjb250ZW50IixwcmV2aW91czpyfSkscj1yLm5leHQsaX19ZnVuY3Rpb24gaGpyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkocyl7cmV0dXJuIGUuZXhpdCgiY2h1bmtDb250ZW50IiksZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShzKSxlLmV4aXQoImxpbmVFbmRpbmciKSxidChlLG4sImxpbmVQcmVmaXgiKX1mdW5jdGlvbiBuKHMpe2lmKHM9PT1udWxsfHxHZShzKSlyZXR1cm4gcihzKTtsZXQgbz1hLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIWEucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKSYmbyYmb1sxXS50eXBlPT09ImxpbmVQcmVmaXgiJiZvWzJdLnNsaWNlU2VyaWFsaXplKG9bMV0sITApLmxlbmd0aD49ND90KHMpOmUuaW50ZXJydXB0KGEucGFyc2VyLmNvbnN0cnVjdHMuZmxvdyxyLHQpKHMpfX12YXIga3JlLHVqcix5WGU9ZigoKT0+e1dhKCk7ZXIoKTtNcmUoKTtrcmU9e3Jlc29sdmU6cGpyLHRva2VuaXplOmZqcn0sdWpyPXtwYXJ0aWFsOiEwLHRva2VuaXplOmhqcn19KTtmdW5jdGlvbiAkTChlLHQscixhLGksbixzLG8sYyl7bGV0IGw9Y3x8TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHU9MDtyZXR1cm4gZDtmdW5jdGlvbiBkKHkpe3JldHVybiB5PT09NjA/KGUuZW50ZXIoYSksZS5lbnRlcihpKSxlLmVudGVyKG4pLGUuY29uc3VtZSh5KSxlLmV4aXQobiksaCk6eT09PW51bGx8fHk9PT0zMnx8eT09PTQxfHx4Nih5KT9yKHkpOihlLmVudGVyKGEpLGUuZW50ZXIocyksZS5lbnRlcihvKSxlLmVudGVyKCJjaHVua1N0cmluZyIse2NvbnRlbnRUeXBlOiJzdHJpbmcifSksYih5KSl9ZnVuY3Rpb24gaCh5KXtyZXR1cm4geT09PTYyPyhlLmVudGVyKG4pLGUuY29uc3VtZSh5KSxlLmV4aXQobiksZS5leGl0KGkpLGUuZXhpdChhKSx0KTooZS5lbnRlcihvKSxlLmVudGVyKCJjaHVua1N0cmluZyIse2NvbnRlbnRUeXBlOiJzdHJpbmcifSksbSh5KSl9ZnVuY3Rpb24gbSh5KXtyZXR1cm4geT09PTYyPyhlLmV4aXQoImNodW5rU3RyaW5nIiksZS5leGl0KG8pLGgoeSkpOnk9PT1udWxsfHx5PT09NjB8fEdlKHkpP3IoeSk6KGUuY29uc3VtZSh5KSx5PT09OTI/djptKX1mdW5jdGlvbiB2KHkpe3JldHVybiB5PT09NjB8fHk9PT02Mnx8eT09PTkyPyhlLmNvbnN1bWUoeSksbSk6bSh5KX1mdW5jdGlvbiBiKHkpe3JldHVybiF1JiYoeT09PW51bGx8fHk9PT00MXx8UXQoeSkpPyhlLmV4aXQoImNodW5rU3RyaW5nIiksZS5leGl0KG8pLGUuZXhpdChzKSxlLmV4aXQoYSksdCh5KSk6dTxsJiZ5PT09NDA/KGUuY29uc3VtZSh5KSx1KyssYik6eT09PTQxPyhlLmNvbnN1bWUoeSksdS0tLGIpOnk9PT1udWxsfHx5PT09MzJ8fHk9PT00MHx8eDYoeSk/cih5KTooZS5jb25zdW1lKHkpLHk9PT05Mj9nOmIpfWZ1bmN0aW9uIGcoeSl7cmV0dXJuIHk9PT00MHx8eT09PTQxfHx5PT09OTI/KGUuY29uc3VtZSh5KSxiKTpiKHkpfX12YXIgU3JlPWYoKCk9PntlcigpfSk7ZnVuY3Rpb24gREwoZSx0LHIsYSxpLG4pe2xldCBzPXRoaXMsbz0wLGM7cmV0dXJuIGw7ZnVuY3Rpb24gbChtKXtyZXR1cm4gZS5lbnRlcihhKSxlLmVudGVyKGkpLGUuY29uc3VtZShtKSxlLmV4aXQoaSksZS5lbnRlcihuKSx1fWZ1bmN0aW9uIHUobSl7cmV0dXJuIG8+OTk5fHxtPT09bnVsbHx8bT09PTkxfHxtPT09OTMmJiFjfHxtPT09OTQmJiFvJiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiBzLnBhcnNlci5jb25zdHJ1Y3RzP3IobSk6bT09PTkzPyhlLmV4aXQobiksZS5lbnRlcihpKSxlLmNvbnN1bWUobSksZS5leGl0KGkpLGUuZXhpdChhKSx0KTpHZShtKT8oZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShtKSxlLmV4aXQoImxpbmVFbmRpbmciKSx1KTooZS5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLGQobSkpfWZ1bmN0aW9uIGQobSl7cmV0dXJuIG09PT1udWxsfHxtPT09OTF8fG09PT05M3x8R2UobSl8fG8rKz45OTk/KGUuZXhpdCgiY2h1bmtTdHJpbmciKSx1KG0pKTooZS5jb25zdW1lKG0pLGN8fChjPSFsdChtKSksbT09PTkyP2g6ZCl9ZnVuY3Rpb24gaChtKXtyZXR1cm4gbT09PTkxfHxtPT09OTJ8fG09PT05Mz8oZS5jb25zdW1lKG0pLG8rKyxkKTpkKG0pfX12YXIgenJlPWYoKCk9PntlcigpfSk7ZnVuY3Rpb24gQUwoZSx0LHIsYSxpLG4pe2xldCBzO3JldHVybiBvO2Z1bmN0aW9uIG8oaCl7cmV0dXJuIGg9PT0zNHx8aD09PTM5fHxoPT09NDA/KGUuZW50ZXIoYSksZS5lbnRlcihpKSxlLmNvbnN1bWUoaCksZS5leGl0KGkpLHM9aD09PTQwPzQxOmgsYyk6cihoKX1mdW5jdGlvbiBjKGgpe3JldHVybiBoPT09cz8oZS5lbnRlcihpKSxlLmNvbnN1bWUoaCksZS5leGl0KGkpLGUuZXhpdChhKSx0KTooZS5lbnRlcihuKSxsKGgpKX1mdW5jdGlvbiBsKGgpe3JldHVybiBoPT09cz8oZS5leGl0KG4pLGMocykpOmg9PT1udWxsP3IoaCk6R2UoaCk/KGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUoaCksZS5leGl0KCJsaW5lRW5kaW5nIiksYnQoZSxsLCJsaW5lUHJlZml4IikpOihlLmVudGVyKCJjaHVua1N0cmluZyIse2NvbnRlbnRUeXBlOiJzdHJpbmcifSksdShoKSl9ZnVuY3Rpb24gdShoKXtyZXR1cm4gaD09PXN8fGg9PT1udWxsfHxHZShoKT8oZS5leGl0KCJjaHVua1N0cmluZyIpLGwoaCkpOihlLmNvbnN1bWUoaCksaD09PTkyP2Q6dSl9ZnVuY3Rpb24gZChoKXtyZXR1cm4gaD09PXN8fGg9PT05Mj8oZS5jb25zdW1lKGgpLHUpOnUoaCl9fXZhciBDcmU9ZigoKT0+e1dhKCk7ZXIoKX0pO2Z1bmN0aW9uIEM2KGUsdCl7bGV0IHI7cmV0dXJuIGE7ZnVuY3Rpb24gYShpKXtyZXR1cm4gR2UoaSk/KGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUoaSksZS5leGl0KCJsaW5lRW5kaW5nIikscj0hMCxhKTpsdChpKT9idChlLGEscj8ibGluZVByZWZpeCI6ImxpbmVTdWZmaXgiKShpKTp0KGkpfX12YXIgVHJlPWYoKCk9PntXYSgpO2VyKCl9KTtmdW5jdGlvbiBnanIoZSx0LHIpe2xldCBhPXRoaXMsaTtyZXR1cm4gbjtmdW5jdGlvbiBuKG0pe3JldHVybiBlLmVudGVyKCJkZWZpbml0aW9uIikscyhtKX1mdW5jdGlvbiBzKG0pe3JldHVybiBETC5jYWxsKGEsZSxvLHIsImRlZmluaXRpb25MYWJlbCIsImRlZmluaXRpb25MYWJlbE1hcmtlciIsImRlZmluaXRpb25MYWJlbFN0cmluZyIpKG0pfWZ1bmN0aW9uIG8obSl7cmV0dXJuIGk9RmEoYS5zbGljZVNlcmlhbGl6ZShhLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV1bMV0pLnNsaWNlKDEsLTEpKSxtPT09NTg/KGUuZW50ZXIoImRlZmluaXRpb25NYXJrZXIiKSxlLmNvbnN1bWUobSksZS5leGl0KCJkZWZpbml0aW9uTWFya2VyIiksYyk6cihtKX1mdW5jdGlvbiBjKG0pe3JldHVybiBRdChtKT9DNihlLGwpKG0pOmwobSl9ZnVuY3Rpb24gbChtKXtyZXR1cm4gJEwoZSx1LHIsImRlZmluaXRpb25EZXN0aW5hdGlvbiIsImRlZmluaXRpb25EZXN0aW5hdGlvbkxpdGVyYWwiLCJkZWZpbml0aW9uRGVzdGluYXRpb25MaXRlcmFsTWFya2VyIiwiZGVmaW5pdGlvbkRlc3RpbmF0aW9uUmF3IiwiZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nIikobSl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gZS5hdHRlbXB0KG1qcixkLGQpKG0pfWZ1bmN0aW9uIGQobSl7cmV0dXJuIGx0KG0pP2J0KGUsaCwid2hpdGVzcGFjZSIpKG0pOmgobSl9ZnVuY3Rpb24gaChtKXtyZXR1cm4gbT09PW51bGx8fEdlKG0pPyhlLmV4aXQoImRlZmluaXRpb24iKSxhLnBhcnNlci5kZWZpbmVkLnB1c2goaSksdChtKSk6cihtKX19ZnVuY3Rpb24gYmpyKGUsdCxyKXtyZXR1cm4gYTtmdW5jdGlvbiBhKG8pe3JldHVybiBRdChvKT9DNihlLGkpKG8pOnIobyl9ZnVuY3Rpb24gaShvKXtyZXR1cm4gQUwoZSxuLHIsImRlZmluaXRpb25UaXRsZSIsImRlZmluaXRpb25UaXRsZU1hcmtlciIsImRlZmluaXRpb25UaXRsZVN0cmluZyIpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIGx0KG8pP2J0KGUscywid2hpdGVzcGFjZSIpKG8pOnMobyl9ZnVuY3Rpb24gcyhvKXtyZXR1cm4gbz09PW51bGx8fEdlKG8pP3Qobyk6cihvKX19dmFyIF9yZSxtanIsd1hlPWYoKCk9PntTcmUoKTt6cmUoKTtXYSgpO0NyZSgpO1RyZSgpO2VyKCk7VDQoKTtfcmU9e25hbWU6ImRlZmluaXRpb24iLHRva2VuaXplOmdqcn0sbWpyPXtwYXJ0aWFsOiEwLHRva2VuaXplOmJqcn19KTtmdW5jdGlvbiB2anIoZSx0LHIpe3JldHVybiBhO2Z1bmN0aW9uIGEobil7cmV0dXJuIGUuZW50ZXIoImhhcmRCcmVha0VzY2FwZSIpLGUuY29uc3VtZShuKSxpfWZ1bmN0aW9uIGkobil7cmV0dXJuIEdlKG4pPyhlLmV4aXQoImhhcmRCcmVha0VzY2FwZSIpLHQobikpOnIobil9fXZhciBMcmUsTVhlPWYoKCk9PntlcigpO0xyZT17bmFtZToiaGFyZEJyZWFrRXNjYXBlIix0b2tlbml6ZTp2anJ9fSk7ZnVuY3Rpb24geGpyKGUsdCl7bGV0IHI9ZS5sZW5ndGgtMixhPTMsaSxuO3JldHVybiBlW2FdWzFdLnR5cGU9PT0id2hpdGVzcGFjZSImJihhKz0yKSxyLTI+YSYmZVtyXVsxXS50eXBlPT09IndoaXRlc3BhY2UiJiYoci09MiksZVtyXVsxXS50eXBlPT09ImF0eEhlYWRpbmdTZXF1ZW5jZSImJihhPT09ci0xfHxyLTQ+YSYmZVtyLTJdWzFdLnR5cGU9PT0id2hpdGVzcGFjZSIpJiYoci09YSsxPT09cj8yOjQpLHI+YSYmKGk9e3R5cGU6ImF0eEhlYWRpbmdUZXh0IixzdGFydDplW2FdWzFdLnN0YXJ0LGVuZDplW3JdWzFdLmVuZH0sbj17dHlwZToiY2h1bmtUZXh0IixzdGFydDplW2FdWzFdLnN0YXJ0LGVuZDplW3JdWzFdLmVuZCxjb250ZW50VHlwZToidGV4dCJ9LFVhKGUsYSxyLWErMSxbWyJlbnRlciIsaSx0XSxbImVudGVyIixuLHRdLFsiZXhpdCIsbix0XSxbImV4aXQiLGksdF1dKSksZX1mdW5jdGlvbiB5anIoZSx0LHIpe2xldCBhPTA7cmV0dXJuIGk7ZnVuY3Rpb24gaSh1KXtyZXR1cm4gZS5lbnRlcigiYXR4SGVhZGluZyIpLG4odSl9ZnVuY3Rpb24gbih1KXtyZXR1cm4gZS5lbnRlcigiYXR4SGVhZGluZ1NlcXVlbmNlIikscyh1KX1mdW5jdGlvbiBzKHUpe3JldHVybiB1PT09MzUmJmErKzw2PyhlLmNvbnN1bWUodSkscyk6dT09PW51bGx8fFF0KHUpPyhlLmV4aXQoImF0eEhlYWRpbmdTZXF1ZW5jZSIpLG8odSkpOnIodSl9ZnVuY3Rpb24gbyh1KXtyZXR1cm4gdT09PTM1PyhlLmVudGVyKCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxjKHUpKTp1PT09bnVsbHx8R2UodSk/KGUuZXhpdCgiYXR4SGVhZGluZyIpLHQodSkpOmx0KHUpP2J0KGUsbywid2hpdGVzcGFjZSIpKHUpOihlLmVudGVyKCJhdHhIZWFkaW5nVGV4dCIpLGwodSkpfWZ1bmN0aW9uIGModSl7cmV0dXJuIHU9PT0zNT8oZS5jb25zdW1lKHUpLGMpOihlLmV4aXQoImF0eEhlYWRpbmdTZXF1ZW5jZSIpLG8odSkpfWZ1bmN0aW9uIGwodSl7cmV0dXJuIHU9PT1udWxsfHx1PT09MzV8fFF0KHUpPyhlLmV4aXQoImF0eEhlYWRpbmdUZXh0Iiksbyh1KSk6KGUuY29uc3VtZSh1KSxsKX19dmFyICRyZSxrWGU9ZigoKT0+e1dhKCk7ZXIoKTtKMigpOyRyZT17bmFtZToiaGVhZGluZ0F0eCIscmVzb2x2ZTp4anIsdG9rZW5pemU6eWpyfX0pO3ZhciBTWGUsRHJlLHpYZT1mKCgpPT57U1hlPVsiYWRkcmVzcyIsImFydGljbGUiLCJhc2lkZSIsImJhc2UiLCJiYXNlZm9udCIsImJsb2NrcXVvdGUiLCJib2R5IiwiY2FwdGlvbiIsImNlbnRlciIsImNvbCIsImNvbGdyb3VwIiwiZGQiLCJkZXRhaWxzIiwiZGlhbG9nIiwiZGlyIiwiZGl2IiwiZGwiLCJkdCIsImZpZWxkc2V0IiwiZmlnY2FwdGlvbiIsImZpZ3VyZSIsImZvb3RlciIsImZvcm0iLCJmcmFtZSIsImZyYW1lc2V0IiwiaDEiLCJoMiIsImgzIiwiaDQiLCJoNSIsImg2IiwiaGVhZCIsImhlYWRlciIsImhyIiwiaHRtbCIsImlmcmFtZSIsImxlZ2VuZCIsImxpIiwibGluayIsIm1haW4iLCJtZW51IiwibWVudWl0ZW0iLCJuYXYiLCJub2ZyYW1lcyIsIm9sIiwib3B0Z3JvdXAiLCJvcHRpb24iLCJwIiwicGFyYW0iLCJzZWFyY2giLCJzZWN0aW9uIiwic3VtbWFyeSIsInRhYmxlIiwidGJvZHkiLCJ0ZCIsInRmb290IiwidGgiLCJ0aGVhZCIsInRpdGxlIiwidHIiLCJ0cmFjayIsInVsIl0sRHJlPVsicHJlIiwic2NyaXB0Iiwic3R5bGUiLCJ0ZXh0YXJlYSJdfSk7ZnVuY3Rpb24ga2pyKGUpe2xldCB0PWUubGVuZ3RoO2Zvcig7dC0tJiYhKGVbdF1bMF09PT0iZW50ZXIiJiZlW3RdWzFdLnR5cGU9PT0iaHRtbEZsb3ciKTspO3JldHVybiB0PjEmJmVbdC0yXVsxXS50eXBlPT09ImxpbmVQcmVmaXgiJiYoZVt0XVsxXS5zdGFydD1lW3QtMl1bMV0uc3RhcnQsZVt0KzFdWzFdLnN0YXJ0PWVbdC0yXVsxXS5zdGFydCxlLnNwbGljZSh0LTIsMikpLGV9ZnVuY3Rpb24gU2pyKGUsdCxyKXtsZXQgYT10aGlzLGksbixzLG8sYztyZXR1cm4gbDtmdW5jdGlvbiBsKFApe3JldHVybiB1KFApfWZ1bmN0aW9uIHUoUCl7cmV0dXJuIGUuZW50ZXIoImh0bWxGbG93IiksZS5lbnRlcigiaHRtbEZsb3dEYXRhIiksZS5jb25zdW1lKFApLGR9ZnVuY3Rpb24gZChQKXtyZXR1cm4gUD09PTMzPyhlLmNvbnN1bWUoUCksaCk6UD09PTQ3PyhlLmNvbnN1bWUoUCksbj0hMCxiKTpQPT09NjM/KGUuY29uc3VtZShQKSxpPTMsYS5pbnRlcnJ1cHQ/dDpJKTp5aShQKT8oZS5jb25zdW1lKFApLHM9U3RyaW5nLmZyb21DaGFyQ29kZShQKSxnKTpyKFApfWZ1bmN0aW9uIGgoUCl7cmV0dXJuIFA9PT00NT8oZS5jb25zdW1lKFApLGk9MixtKTpQPT09OTE/KGUuY29uc3VtZShQKSxpPTUsbz0wLHYpOnlpKFApPyhlLmNvbnN1bWUoUCksaT00LGEuaW50ZXJydXB0P3Q6SSk6cihQKX1mdW5jdGlvbiBtKFApe3JldHVybiBQPT09NDU/KGUuY29uc3VtZShQKSxhLmludGVycnVwdD90OkkpOnIoUCl9ZnVuY3Rpb24gdihQKXtsZXQgbGU9IkNEQVRBWyI7cmV0dXJuIFA9PT1sZS5jaGFyQ29kZUF0KG8rKyk/KGUuY29uc3VtZShQKSxvPT09bGUubGVuZ3RoP2EuaW50ZXJydXB0P3Q6ejp2KTpyKFApfWZ1bmN0aW9uIGIoUCl7cmV0dXJuIHlpKFApPyhlLmNvbnN1bWUoUCkscz1TdHJpbmcuZnJvbUNoYXJDb2RlKFApLGcpOnIoUCl9ZnVuY3Rpb24gZyhQKXtpZihQPT09bnVsbHx8UD09PTQ3fHxQPT09NjJ8fFF0KFApKXtsZXQgbGU9UD09PTQ3LFNlPXMudG9Mb3dlckNhc2UoKTtyZXR1cm4hbGUmJiFuJiZEcmUuaW5jbHVkZXMoU2UpPyhpPTEsYS5pbnRlcnJ1cHQ/dChQKTp6KFApKTpTWGUuaW5jbHVkZXMocy50b0xvd2VyQ2FzZSgpKT8oaT02LGxlPyhlLmNvbnN1bWUoUCkseSk6YS5pbnRlcnJ1cHQ/dChQKTp6KFApKTooaT03LGEuaW50ZXJydXB0JiYhYS5wYXJzZXIubGF6eVthLm5vdygpLmxpbmVdP3IoUCk6bj93KFApOmsoUCkpfXJldHVybiBQPT09NDV8fE5hKFApPyhlLmNvbnN1bWUoUCkscys9U3RyaW5nLmZyb21DaGFyQ29kZShQKSxnKTpyKFApfWZ1bmN0aW9uIHkoUCl7cmV0dXJuIFA9PT02Mj8oZS5jb25zdW1lKFApLGEuaW50ZXJydXB0P3Q6eik6cihQKX1mdW5jdGlvbiB3KFApe3JldHVybiBsdChQKT8oZS5jb25zdW1lKFApLHcpOnEoUCl9ZnVuY3Rpb24gayhQKXtyZXR1cm4gUD09PTQ3PyhlLmNvbnN1bWUoUCkscSk6UD09PTU4fHxQPT09OTV8fHlpKFApPyhlLmNvbnN1bWUoUCksUik6bHQoUCk/KGUuY29uc3VtZShQKSxrKTpxKFApfWZ1bmN0aW9uIFIoUCl7cmV0dXJuIFA9PT00NXx8UD09PTQ2fHxQPT09NTh8fFA9PT05NXx8TmEoUCk/KGUuY29uc3VtZShQKSxSKTpDKFApfWZ1bmN0aW9uIEMoUCl7cmV0dXJuIFA9PT02MT8oZS5jb25zdW1lKFApLFMpOmx0KFApPyhlLmNvbnN1bWUoUCksQyk6ayhQKX1mdW5jdGlvbiBTKFApe3JldHVybiBQPT09bnVsbHx8UD09PTYwfHxQPT09NjF8fFA9PT02Mnx8UD09PTk2P3IoUCk6UD09PTM0fHxQPT09Mzk/KGUuY29uc3VtZShQKSxjPVAsTyk6bHQoUCk/KGUuY29uc3VtZShQKSxTKTpEKFApfWZ1bmN0aW9uIE8oUCl7cmV0dXJuIFA9PT1jPyhlLmNvbnN1bWUoUCksYz1udWxsLE4pOlA9PT1udWxsfHxHZShQKT9yKFApOihlLmNvbnN1bWUoUCksTyl9ZnVuY3Rpb24gRChQKXtyZXR1cm4gUD09PW51bGx8fFA9PT0zNHx8UD09PTM5fHxQPT09NDd8fFA9PT02MHx8UD09PTYxfHxQPT09NjJ8fFA9PT05Nnx8UXQoUCk/QyhQKTooZS5jb25zdW1lKFApLEQpfWZ1bmN0aW9uIE4oUCl7cmV0dXJuIFA9PT00N3x8UD09PTYyfHxsdChQKT9rKFApOnIoUCl9ZnVuY3Rpb24gcShQKXtyZXR1cm4gUD09PTYyPyhlLmNvbnN1bWUoUCksXyk6cihQKX1mdW5jdGlvbiBfKFApe3JldHVybiBQPT09bnVsbHx8R2UoUCk/eihQKTpsdChQKT8oZS5jb25zdW1lKFApLF8pOnIoUCl9ZnVuY3Rpb24geihQKXtyZXR1cm4gUD09PTQ1JiZpPT09Mj8oZS5jb25zdW1lKFApLFYpOlA9PT02MCYmaT09PTE/KGUuY29uc3VtZShQKSxCKTpQPT09NjImJmk9PT00PyhlLmNvbnN1bWUoUCksdmUpOlA9PT02MyYmaT09PTM/KGUuY29uc3VtZShQKSxJKTpQPT09OTMmJmk9PT01PyhlLmNvbnN1bWUoUCksSyk6R2UoUCkmJihpPT09Nnx8aT09PTcpPyhlLmV4aXQoImh0bWxGbG93RGF0YSIpLGUuY2hlY2sod2pyLE1lLEUpKFApKTpQPT09bnVsbHx8R2UoUCk/KGUuZXhpdCgiaHRtbEZsb3dEYXRhIiksRShQKSk6KGUuY29uc3VtZShQKSx6KX1mdW5jdGlvbiBFKFApe3JldHVybiBlLmNoZWNrKE1qcixULE1lKShQKX1mdW5jdGlvbiBUKFApe3JldHVybiBlLmVudGVyKCJsaW5lRW5kaW5nIiksZS5jb25zdW1lKFApLGUuZXhpdCgibGluZUVuZGluZyIpLEx9ZnVuY3Rpb24gTChQKXtyZXR1cm4gUD09PW51bGx8fEdlKFApP0UoUCk6KGUuZW50ZXIoImh0bWxGbG93RGF0YSIpLHooUCkpfWZ1bmN0aW9uIFYoUCl7cmV0dXJuIFA9PT00NT8oZS5jb25zdW1lKFApLEkpOnooUCl9ZnVuY3Rpb24gQihQKXtyZXR1cm4gUD09PTQ3PyhlLmNvbnN1bWUoUCkscz0iIixVKTp6KFApfWZ1bmN0aW9uIFUoUCl7aWYoUD09PTYyKXtsZXQgbGU9cy50b0xvd2VyQ2FzZSgpO3JldHVybiBEcmUuaW5jbHVkZXMobGUpPyhlLmNvbnN1bWUoUCksdmUpOnooUCl9cmV0dXJuIHlpKFApJiZzLmxlbmd0aDw4PyhlLmNvbnN1bWUoUCkscys9U3RyaW5nLmZyb21DaGFyQ29kZShQKSxVKTp6KFApfWZ1bmN0aW9uIEsoUCl7cmV0dXJuIFA9PT05Mz8oZS5jb25zdW1lKFApLEkpOnooUCl9ZnVuY3Rpb24gSShQKXtyZXR1cm4gUD09PTYyPyhlLmNvbnN1bWUoUCksdmUpOlA9PT00NSYmaT09PTI/KGUuY29uc3VtZShQKSxJKTp6KFApfWZ1bmN0aW9uIHZlKFApe3JldHVybiBQPT09bnVsbHx8R2UoUCk/KGUuZXhpdCgiaHRtbEZsb3dEYXRhIiksTWUoUCkpOihlLmNvbnN1bWUoUCksdmUpfWZ1bmN0aW9uIE1lKFApe3JldHVybiBlLmV4aXQoImh0bWxGbG93IiksdChQKX19ZnVuY3Rpb24gempyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkocyl7cmV0dXJuIEdlKHMpPyhlLmVudGVyKCJsaW5lRW5kaW5nIiksZS5jb25zdW1lKHMpLGUuZXhpdCgibGluZUVuZGluZyIpLG4pOnIocyl9ZnVuY3Rpb24gbihzKXtyZXR1cm4gYS5wYXJzZXIubGF6eVthLm5vdygpLmxpbmVdP3Iocyk6dChzKX19ZnVuY3Rpb24gQ2pyKGUsdCxyKXtyZXR1cm4gYTtmdW5jdGlvbiBhKGkpe3JldHVybiBlLmVudGVyKCJsaW5lRW5kaW5nIiksZS5jb25zdW1lKGkpLGUuZXhpdCgibGluZUVuZGluZyIpLGUuYXR0ZW1wdChybCx0LHIpfX12YXIgQXJlLHdqcixNanIsQ1hlPWYoKCk9PntlcigpO3pYZSgpO1NMKCk7QXJlPXtjb25jcmV0ZTohMCxuYW1lOiJodG1sRmxvdyIscmVzb2x2ZVRvOmtqcix0b2tlbml6ZTpTanJ9LHdqcj17cGFydGlhbDohMCx0b2tlbml6ZTpDanJ9LE1qcj17cGFydGlhbDohMCx0b2tlbml6ZTp6anJ9fSk7ZnVuY3Rpb24gVGpyKGUsdCxyKXtsZXQgYT10aGlzLGksbixzO3JldHVybiBvO2Z1bmN0aW9uIG8oSSl7cmV0dXJuIGUuZW50ZXIoImh0bWxUZXh0IiksZS5lbnRlcigiaHRtbFRleHREYXRhIiksZS5jb25zdW1lKEkpLGN9ZnVuY3Rpb24gYyhJKXtyZXR1cm4gST09PTMzPyhlLmNvbnN1bWUoSSksbCk6ST09PTQ3PyhlLmNvbnN1bWUoSSksQyk6ST09PTYzPyhlLmNvbnN1bWUoSSksayk6eWkoSSk/KGUuY29uc3VtZShJKSxEKTpyKEkpfWZ1bmN0aW9uIGwoSSl7cmV0dXJuIEk9PT00NT8oZS5jb25zdW1lKEkpLHUpOkk9PT05MT8oZS5jb25zdW1lKEkpLG49MCx2KTp5aShJKT8oZS5jb25zdW1lKEkpLHcpOnIoSSl9ZnVuY3Rpb24gdShJKXtyZXR1cm4gST09PTQ1PyhlLmNvbnN1bWUoSSksbSk6cihJKX1mdW5jdGlvbiBkKEkpe3JldHVybiBJPT09bnVsbD9yKEkpOkk9PT00NT8oZS5jb25zdW1lKEkpLGgpOkdlKEkpPyhzPWQsQihJKSk6KGUuY29uc3VtZShJKSxkKX1mdW5jdGlvbiBoKEkpe3JldHVybiBJPT09NDU/KGUuY29uc3VtZShJKSxtKTpkKEkpfWZ1bmN0aW9uIG0oSSl7cmV0dXJuIEk9PT02Mj9WKEkpOkk9PT00NT9oKEkpOmQoSSl9ZnVuY3Rpb24gdihJKXtsZXQgdmU9IkNEQVRBWyI7cmV0dXJuIEk9PT12ZS5jaGFyQ29kZUF0KG4rKyk/KGUuY29uc3VtZShJKSxuPT09dmUubGVuZ3RoP2I6dik6cihJKX1mdW5jdGlvbiBiKEkpe3JldHVybiBJPT09bnVsbD9yKEkpOkk9PT05Mz8oZS5jb25zdW1lKEkpLGcpOkdlKEkpPyhzPWIsQihJKSk6KGUuY29uc3VtZShJKSxiKX1mdW5jdGlvbiBnKEkpe3JldHVybiBJPT09OTM/KGUuY29uc3VtZShJKSx5KTpiKEkpfWZ1bmN0aW9uIHkoSSl7cmV0dXJuIEk9PT02Mj9WKEkpOkk9PT05Mz8oZS5jb25zdW1lKEkpLHkpOmIoSSl9ZnVuY3Rpb24gdyhJKXtyZXR1cm4gST09PW51bGx8fEk9PT02Mj9WKEkpOkdlKEkpPyhzPXcsQihJKSk6KGUuY29uc3VtZShJKSx3KX1mdW5jdGlvbiBrKEkpe3JldHVybiBJPT09bnVsbD9yKEkpOkk9PT02Mz8oZS5jb25zdW1lKEkpLFIpOkdlKEkpPyhzPWssQihJKSk6KGUuY29uc3VtZShJKSxrKX1mdW5jdGlvbiBSKEkpe3JldHVybiBJPT09NjI/VihJKTprKEkpfWZ1bmN0aW9uIEMoSSl7cmV0dXJuIHlpKEkpPyhlLmNvbnN1bWUoSSksUyk6cihJKX1mdW5jdGlvbiBTKEkpe3JldHVybiBJPT09NDV8fE5hKEkpPyhlLmNvbnN1bWUoSSksUyk6TyhJKX1mdW5jdGlvbiBPKEkpe3JldHVybiBHZShJKT8ocz1PLEIoSSkpOmx0KEkpPyhlLmNvbnN1bWUoSSksTyk6VihJKX1mdW5jdGlvbiBEKEkpe3JldHVybiBJPT09NDV8fE5hKEkpPyhlLmNvbnN1bWUoSSksRCk6ST09PTQ3fHxJPT09NjJ8fFF0KEkpP04oSSk6cihJKX1mdW5jdGlvbiBOKEkpe3JldHVybiBJPT09NDc/KGUuY29uc3VtZShJKSxWKTpJPT09NTh8fEk9PT05NXx8eWkoSSk/KGUuY29uc3VtZShJKSxxKTpHZShJKT8ocz1OLEIoSSkpOmx0KEkpPyhlLmNvbnN1bWUoSSksTik6VihJKX1mdW5jdGlvbiBxKEkpe3JldHVybiBJPT09NDV8fEk9PT00Nnx8ST09PTU4fHxJPT09OTV8fE5hKEkpPyhlLmNvbnN1bWUoSSkscSk6XyhJKX1mdW5jdGlvbiBfKEkpe3JldHVybiBJPT09NjE/KGUuY29uc3VtZShJKSx6KTpHZShJKT8ocz1fLEIoSSkpOmx0KEkpPyhlLmNvbnN1bWUoSSksXyk6TihJKX1mdW5jdGlvbiB6KEkpe3JldHVybiBJPT09bnVsbHx8ST09PTYwfHxJPT09NjF8fEk9PT02Mnx8ST09PTk2P3IoSSk6ST09PTM0fHxJPT09Mzk/KGUuY29uc3VtZShJKSxpPUksRSk6R2UoSSk/KHM9eixCKEkpKTpsdChJKT8oZS5jb25zdW1lKEkpLHopOihlLmNvbnN1bWUoSSksVCl9ZnVuY3Rpb24gRShJKXtyZXR1cm4gST09PWk/KGUuY29uc3VtZShJKSxpPXZvaWQgMCxMKTpJPT09bnVsbD9yKEkpOkdlKEkpPyhzPUUsQihJKSk6KGUuY29uc3VtZShJKSxFKX1mdW5jdGlvbiBUKEkpe3JldHVybiBJPT09bnVsbHx8ST09PTM0fHxJPT09Mzl8fEk9PT02MHx8ST09PTYxfHxJPT09OTY/cihJKTpJPT09NDd8fEk9PT02Mnx8UXQoSSk/TihJKTooZS5jb25zdW1lKEkpLFQpfWZ1bmN0aW9uIEwoSSl7cmV0dXJuIEk9PT00N3x8ST09PTYyfHxRdChJKT9OKEkpOnIoSSl9ZnVuY3Rpb24gVihJKXtyZXR1cm4gST09PTYyPyhlLmNvbnN1bWUoSSksZS5leGl0KCJodG1sVGV4dERhdGEiKSxlLmV4aXQoImh0bWxUZXh0IiksdCk6cihJKX1mdW5jdGlvbiBCKEkpe3JldHVybiBlLmV4aXQoImh0bWxUZXh0RGF0YSIpLGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUoSSksZS5leGl0KCJsaW5lRW5kaW5nIiksVX1mdW5jdGlvbiBVKEkpe3JldHVybiBsdChJKT9idChlLEssImxpbmVQcmVmaXgiLGEucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCkoSSk6SyhJKX1mdW5jdGlvbiBLKEkpe3JldHVybiBlLmVudGVyKCJodG1sVGV4dERhdGEiKSxzKEkpfX12YXIgRXJlLFRYZT1mKCgpPT57V2EoKTtlcigpO0VyZT17bmFtZToiaHRtbFRleHQiLHRva2VuaXplOlRqcn19KTtmdW5jdGlvbiBEanIoZSl7bGV0IHQ9LTEscj1bXTtmb3IoOysrdDxlLmxlbmd0aDspe2xldCBhPWVbdF1bMV07aWYoci5wdXNoKGVbdF0pLGEudHlwZT09PSJsYWJlbEltYWdlInx8YS50eXBlPT09ImxhYmVsTGluayJ8fGEudHlwZT09PSJsYWJlbEVuZCIpe2xldCBpPWEudHlwZT09PSJsYWJlbEltYWdlIj80OjI7YS50eXBlPSJkYXRhIix0Kz1pfX1yZXR1cm4gZS5sZW5ndGghPT1yLmxlbmd0aCYmVWEoZSwwLGUubGVuZ3RoLHIpLGV9ZnVuY3Rpb24gQWpyKGUsdCl7bGV0IHI9ZS5sZW5ndGgsYT0wLGksbixzLG87Zm9yKDtyLS07KWlmKGk9ZVtyXVsxXSxuKXtpZihpLnR5cGU9PT0ibGluayJ8fGkudHlwZT09PSJsYWJlbExpbmsiJiZpLl9pbmFjdGl2ZSlicmVhaztlW3JdWzBdPT09ImVudGVyIiYmaS50eXBlPT09ImxhYmVsTGluayImJihpLl9pbmFjdGl2ZT0hMCl9ZWxzZSBpZihzKXtpZihlW3JdWzBdPT09ImVudGVyIiYmKGkudHlwZT09PSJsYWJlbEltYWdlInx8aS50eXBlPT09ImxhYmVsTGluayIpJiYhaS5fYmFsYW5jZWQmJihuPXIsaS50eXBlIT09ImxhYmVsTGluayIpKXthPTI7YnJlYWt9fWVsc2UgaS50eXBlPT09ImxhYmVsRW5kIiYmKHM9cik7bGV0IGM9e3R5cGU6ZVtuXVsxXS50eXBlPT09ImxhYmVsTGluayI/ImxpbmsiOiJpbWFnZSIsc3RhcnQ6ey4uLmVbbl1bMV0uc3RhcnR9LGVuZDp7Li4uZVtlLmxlbmd0aC0xXVsxXS5lbmR9fSxsPXt0eXBlOiJsYWJlbCIsc3RhcnQ6ey4uLmVbbl1bMV0uc3RhcnR9LGVuZDp7Li4uZVtzXVsxXS5lbmR9fSx1PXt0eXBlOiJsYWJlbFRleHQiLHN0YXJ0OnsuLi5lW24rYSsyXVsxXS5lbmR9LGVuZDp7Li4uZVtzLTJdWzFdLnN0YXJ0fX07cmV0dXJuIG89W1siZW50ZXIiLGMsdF0sWyJlbnRlciIsbCx0XV0sbz1uaShvLGUuc2xpY2UobisxLG4rYSszKSksbz1uaShvLFtbImVudGVyIix1LHRdXSksbz1uaShvLEw0KHQucGFyc2VyLmNvbnN0cnVjdHMuaW5zaWRlU3Bhbi5udWxsLGUuc2xpY2UobithKzQscy0zKSx0KSksbz1uaShvLFtbImV4aXQiLHUsdF0sZVtzLTJdLGVbcy0xXSxbImV4aXQiLGwsdF1dKSxvPW5pKG8sZS5zbGljZShzKzEpKSxvPW5pKG8sW1siZXhpdCIsYyx0XV0pLFVhKGUsbixlLmxlbmd0aCxvKSxlfWZ1bmN0aW9uIEVqcihlLHQscil7bGV0IGE9dGhpcyxpPWEuZXZlbnRzLmxlbmd0aCxuLHM7Zm9yKDtpLS07KWlmKChhLmV2ZW50c1tpXVsxXS50eXBlPT09ImxhYmVsSW1hZ2UifHxhLmV2ZW50c1tpXVsxXS50eXBlPT09ImxhYmVsTGluayIpJiYhYS5ldmVudHNbaV1bMV0uX2JhbGFuY2VkKXtuPWEuZXZlbnRzW2ldWzFdO2JyZWFrfXJldHVybiBvO2Z1bmN0aW9uIG8oaCl7cmV0dXJuIG4/bi5faW5hY3RpdmU/ZChoKToocz1hLnBhcnNlci5kZWZpbmVkLmluY2x1ZGVzKEZhKGEuc2xpY2VTZXJpYWxpemUoe3N0YXJ0Om4uZW5kLGVuZDphLm5vdygpfSkpKSxlLmVudGVyKCJsYWJlbEVuZCIpLGUuZW50ZXIoImxhYmVsTWFya2VyIiksZS5jb25zdW1lKGgpLGUuZXhpdCgibGFiZWxNYXJrZXIiKSxlLmV4aXQoImxhYmVsRW5kIiksYyk6cihoKX1mdW5jdGlvbiBjKGgpe3JldHVybiBoPT09NDA/ZS5hdHRlbXB0KF9qcix1LHM/dTpkKShoKTpoPT09OTE/ZS5hdHRlbXB0KExqcix1LHM/bDpkKShoKTpzP3UoaCk6ZChoKX1mdW5jdGlvbiBsKGgpe3JldHVybiBlLmF0dGVtcHQoJGpyLHUsZCkoaCl9ZnVuY3Rpb24gdShoKXtyZXR1cm4gdChoKX1mdW5jdGlvbiBkKGgpe3JldHVybiBuLl9iYWxhbmNlZD0hMCxyKGgpfX1mdW5jdGlvbiBJanIoZSx0LHIpe3JldHVybiBhO2Z1bmN0aW9uIGEoZCl7cmV0dXJuIGUuZW50ZXIoInJlc291cmNlIiksZS5lbnRlcigicmVzb3VyY2VNYXJrZXIiKSxlLmNvbnN1bWUoZCksZS5leGl0KCJyZXNvdXJjZU1hcmtlciIpLGl9ZnVuY3Rpb24gaShkKXtyZXR1cm4gUXQoZCk/QzYoZSxuKShkKTpuKGQpfWZ1bmN0aW9uIG4oZCl7cmV0dXJuIGQ9PT00MT91KGQpOiRMKGUscyxvLCJyZXNvdXJjZURlc3RpbmF0aW9uIiwicmVzb3VyY2VEZXN0aW5hdGlvbkxpdGVyYWwiLCJyZXNvdXJjZURlc3RpbmF0aW9uTGl0ZXJhbE1hcmtlciIsInJlc291cmNlRGVzdGluYXRpb25SYXciLCJyZXNvdXJjZURlc3RpbmF0aW9uU3RyaW5nIiwzMikoZCl9ZnVuY3Rpb24gcyhkKXtyZXR1cm4gUXQoZCk/QzYoZSxjKShkKTp1KGQpfWZ1bmN0aW9uIG8oZCl7cmV0dXJuIHIoZCl9ZnVuY3Rpb24gYyhkKXtyZXR1cm4gZD09PTM0fHxkPT09Mzl8fGQ9PT00MD9BTChlLGwsciwicmVzb3VyY2VUaXRsZSIsInJlc291cmNlVGl0bGVNYXJrZXIiLCJyZXNvdXJjZVRpdGxlU3RyaW5nIikoZCk6dShkKX1mdW5jdGlvbiBsKGQpe3JldHVybiBRdChkKT9DNihlLHUpKGQpOnUoZCl9ZnVuY3Rpb24gdShkKXtyZXR1cm4gZD09PTQxPyhlLmVudGVyKCJyZXNvdXJjZU1hcmtlciIpLGUuY29uc3VtZShkKSxlLmV4aXQoInJlc291cmNlTWFya2VyIiksZS5leGl0KCJyZXNvdXJjZSIpLHQpOnIoZCl9fWZ1bmN0aW9uIFBqcihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG8pe3JldHVybiBETC5jYWxsKGEsZSxuLHMsInJlZmVyZW5jZSIsInJlZmVyZW5jZU1hcmtlciIsInJlZmVyZW5jZVN0cmluZyIpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIGEucGFyc2VyLmRlZmluZWQuaW5jbHVkZXMoRmEoYS5zbGljZVNlcmlhbGl6ZShhLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV1bMV0pLnNsaWNlKDEsLTEpKSk/dChvKTpyKG8pfWZ1bmN0aW9uIHMobyl7cmV0dXJuIHIobyl9fWZ1bmN0aW9uIE5qcihlLHQscil7cmV0dXJuIGE7ZnVuY3Rpb24gYShuKXtyZXR1cm4gZS5lbnRlcigicmVmZXJlbmNlIiksZS5lbnRlcigicmVmZXJlbmNlTWFya2VyIiksZS5jb25zdW1lKG4pLGUuZXhpdCgicmVmZXJlbmNlTWFya2VyIiksaX1mdW5jdGlvbiBpKG4pe3JldHVybiBuPT09OTM/KGUuZW50ZXIoInJlZmVyZW5jZU1hcmtlciIpLGUuY29uc3VtZShuKSxlLmV4aXQoInJlZmVyZW5jZU1hcmtlciIpLGUuZXhpdCgicmVmZXJlbmNlIiksdCk6cihuKX19dmFyIFQ2LF9qcixManIsJGpyLEVMPWYoKCk9PntTcmUoKTt6cmUoKTtDcmUoKTtUcmUoKTtlcigpO0oyKCk7VDQoKTtvZygpO1Q2PXtuYW1lOiJsYWJlbEVuZCIscmVzb2x2ZUFsbDpEanIscmVzb2x2ZVRvOkFqcix0b2tlbml6ZTpFanJ9LF9qcj17dG9rZW5pemU6SWpyfSxManI9e3Rva2VuaXplOlBqcn0sJGpyPXt0b2tlbml6ZTpOanJ9fSk7ZnVuY3Rpb24gRmpyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobyl7cmV0dXJuIGUuZW50ZXIoImxhYmVsSW1hZ2UiKSxlLmVudGVyKCJsYWJlbEltYWdlTWFya2VyIiksZS5jb25zdW1lKG8pLGUuZXhpdCgibGFiZWxJbWFnZU1hcmtlciIpLG59ZnVuY3Rpb24gbihvKXtyZXR1cm4gbz09PTkxPyhlLmVudGVyKCJsYWJlbE1hcmtlciIpLGUuY29uc3VtZShvKSxlLmV4aXQoImxhYmVsTWFya2VyIiksZS5leGl0KCJsYWJlbEltYWdlIikscyk6cihvKX1mdW5jdGlvbiBzKG8pe3JldHVybiBvPT09OTQmJiJfaGlkZGVuRm9vdG5vdGVTdXBwb3J0ImluIGEucGFyc2VyLmNvbnN0cnVjdHM/cihvKTp0KG8pfX12YXIgSXJlLF9YZT1mKCgpPT57RUwoKTtJcmU9e25hbWU6ImxhYmVsU3RhcnRJbWFnZSIscmVzb2x2ZUFsbDpUNi5yZXNvbHZlQWxsLHRva2VuaXplOkZqcn19KTtmdW5jdGlvbiBPanIoZSx0LHIpe2xldCBhPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShzKXtyZXR1cm4gZS5lbnRlcigibGFiZWxMaW5rIiksZS5lbnRlcigibGFiZWxNYXJrZXIiKSxlLmNvbnN1bWUocyksZS5leGl0KCJsYWJlbE1hcmtlciIpLGUuZXhpdCgibGFiZWxMaW5rIiksbn1mdW5jdGlvbiBuKHMpe3JldHVybiBzPT09OTQmJiJfaGlkZGVuRm9vdG5vdGVTdXBwb3J0ImluIGEucGFyc2VyLmNvbnN0cnVjdHM/cihzKTp0KHMpfX12YXIgUHJlLExYZT1mKCgpPT57RUwoKTtQcmU9e25hbWU6ImxhYmVsU3RhcnRMaW5rIixyZXNvbHZlQWxsOlQ2LnJlc29sdmVBbGwsdG9rZW5pemU6T2pyfX0pO2Z1bmN0aW9uIFJqcihlLHQpe3JldHVybiByO2Z1bmN0aW9uIHIoYSl7cmV0dXJuIGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUoYSksZS5leGl0KCJsaW5lRW5kaW5nIiksYnQoZSx0LCJsaW5lUHJlZml4Iil9fXZhciBwZywkWGU9ZigoKT0+e1dhKCk7ZXIoKTtwZz17bmFtZToibGluZUVuZGluZyIsdG9rZW5pemU6UmpyfX0pO2Z1bmN0aW9uIEJqcihlLHQscil7bGV0IGE9MCxpO3JldHVybiBuO2Z1bmN0aW9uIG4obCl7cmV0dXJuIGUuZW50ZXIoInRoZW1hdGljQnJlYWsiKSxzKGwpfWZ1bmN0aW9uIHMobCl7cmV0dXJuIGk9bCxvKGwpfWZ1bmN0aW9uIG8obCl7cmV0dXJuIGw9PT1pPyhlLmVudGVyKCJ0aGVtYXRpY0JyZWFrU2VxdWVuY2UiKSxjKGwpKTphPj0zJiYobD09PW51bGx8fEdlKGwpKT8oZS5leGl0KCJ0aGVtYXRpY0JyZWFrIiksdChsKSk6cihsKX1mdW5jdGlvbiBjKGwpe3JldHVybiBsPT09aT8oZS5jb25zdW1lKGwpLGErKyxjKTooZS5leGl0KCJ0aGVtYXRpY0JyZWFrU2VxdWVuY2UiKSxsdChsKT9idChlLG8sIndoaXRlc3BhY2UiKShsKTpvKGwpKX19dmFyIF82LE5yZT1mKCgpPT57V2EoKTtlcigpO182PXtuYW1lOiJ0aGVtYXRpY0JyZWFrIix0b2tlbml6ZTpCanJ9fSk7ZnVuY3Rpb24gampyKGUsdCxyKXtsZXQgYT10aGlzLGk9YS5ldmVudHNbYS5ldmVudHMubGVuZ3RoLTFdLG49aSYmaVsxXS50eXBlPT09ImxpbmVQcmVmaXgiP2lbMl0uc2xpY2VTZXJpYWxpemUoaVsxXSwhMCkubGVuZ3RoOjAscz0wO3JldHVybiBvO2Z1bmN0aW9uIG8obSl7bGV0IHY9YS5jb250YWluZXJTdGF0ZS50eXBlfHwobT09PTQyfHxtPT09NDN8fG09PT00NT8ibGlzdFVub3JkZXJlZCI6Imxpc3RPcmRlcmVkIik7aWYodj09PSJsaXN0VW5vcmRlcmVkIj8hYS5jb250YWluZXJTdGF0ZS5tYXJrZXJ8fG09PT1hLmNvbnRhaW5lclN0YXRlLm1hcmtlcjpyZyhtKSl7aWYoYS5jb250YWluZXJTdGF0ZS50eXBlfHwoYS5jb250YWluZXJTdGF0ZS50eXBlPXYsZS5lbnRlcih2LHtfY29udGFpbmVyOiEwfSkpLHY9PT0ibGlzdFVub3JkZXJlZCIpcmV0dXJuIGUuZW50ZXIoImxpc3RJdGVtUHJlZml4IiksbT09PTQyfHxtPT09NDU/ZS5jaGVjayhfNixyLGwpKG0pOmwobSk7aWYoIWEuaW50ZXJydXB0fHxtPT09NDkpcmV0dXJuIGUuZW50ZXIoImxpc3RJdGVtUHJlZml4IiksZS5lbnRlcigibGlzdEl0ZW1WYWx1ZSIpLGMobSl9cmV0dXJuIHIobSl9ZnVuY3Rpb24gYyhtKXtyZXR1cm4gcmcobSkmJisrczwxMD8oZS5jb25zdW1lKG0pLGMpOighYS5pbnRlcnJ1cHR8fHM8MikmJihhLmNvbnRhaW5lclN0YXRlLm1hcmtlcj9tPT09YS5jb250YWluZXJTdGF0ZS5tYXJrZXI6bT09PTQxfHxtPT09NDYpPyhlLmV4aXQoImxpc3RJdGVtVmFsdWUiKSxsKG0pKTpyKG0pfWZ1bmN0aW9uIGwobSl7cmV0dXJuIGUuZW50ZXIoImxpc3RJdGVtTWFya2VyIiksZS5jb25zdW1lKG0pLGUuZXhpdCgibGlzdEl0ZW1NYXJrZXIiKSxhLmNvbnRhaW5lclN0YXRlLm1hcmtlcj1hLmNvbnRhaW5lclN0YXRlLm1hcmtlcnx8bSxlLmNoZWNrKHJsLGEuaW50ZXJydXB0P3I6dSxlLmF0dGVtcHQoSGpyLGgsZCkpfWZ1bmN0aW9uIHUobSl7cmV0dXJuIGEuY29udGFpbmVyU3RhdGUuaW5pdGlhbEJsYW5rTGluZT0hMCxuKyssaChtKX1mdW5jdGlvbiBkKG0pe3JldHVybiBsdChtKT8oZS5lbnRlcigibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIiksZS5jb25zdW1lKG0pLGUuZXhpdCgibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIiksaCk6cihtKX1mdW5jdGlvbiBoKG0pe3JldHVybiBhLmNvbnRhaW5lclN0YXRlLnNpemU9bithLnNsaWNlU2VyaWFsaXplKGUuZXhpdCgibGlzdEl0ZW1QcmVmaXgiKSwhMCkubGVuZ3RoLHQobSl9fWZ1bmN0aW9uIFZqcihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gYS5jb250YWluZXJTdGF0ZS5fY2xvc2VGbG93PXZvaWQgMCxlLmNoZWNrKHJsLGksbik7ZnVuY3Rpb24gaShvKXtyZXR1cm4gYS5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lcz1hLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzfHxhLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmUsYnQoZSx0LCJsaXN0SXRlbUluZGVudCIsYS5jb250YWluZXJTdGF0ZS5zaXplKzEpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIGEuY29udGFpbmVyU3RhdGUuZnVydGhlckJsYW5rTGluZXN8fCFsdChvKT8oYS5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lcz12b2lkIDAsYS5jb250YWluZXJTdGF0ZS5pbml0aWFsQmxhbmtMaW5lPXZvaWQgMCxzKG8pKTooYS5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lcz12b2lkIDAsYS5jb250YWluZXJTdGF0ZS5pbml0aWFsQmxhbmtMaW5lPXZvaWQgMCxlLmF0dGVtcHQocWpyLHQscykobykpfWZ1bmN0aW9uIHMobyl7cmV0dXJuIGEuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdz0hMCxhLmludGVycnVwdD12b2lkIDAsYnQoZSxlLmF0dGVtcHQoRG4sdCxyKSwibGluZVByZWZpeCIsYS5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShvKX19ZnVuY3Rpb24gVWpyKGUsdCxyKXtsZXQgYT10aGlzO3JldHVybiBidChlLGksImxpc3RJdGVtSW5kZW50IixhLmNvbnRhaW5lclN0YXRlLnNpemUrMSk7ZnVuY3Rpb24gaShuKXtsZXQgcz1hLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIHMmJnNbMV0udHlwZT09PSJsaXN0SXRlbUluZGVudCImJnNbMl0uc2xpY2VTZXJpYWxpemUoc1sxXSwhMCkubGVuZ3RoPT09YS5jb250YWluZXJTdGF0ZS5zaXplP3Qobik6cihuKX19ZnVuY3Rpb24gV2pyKGUpe2UuZXhpdCh0aGlzLmNvbnRhaW5lclN0YXRlLnR5cGUpfWZ1bmN0aW9uIEdqcihlLHQscil7bGV0IGE9dGhpcztyZXR1cm4gYnQoZSxpLCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiLGEucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NSk7ZnVuY3Rpb24gaShuKXtsZXQgcz1hLmV2ZW50c1thLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIWx0KG4pJiZzJiZzWzFdLnR5cGU9PT0ibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIj90KG4pOnIobil9fXZhciBEbixIanIscWpyLERYZT1mKCgpPT57V2EoKTtlcigpO1NMKCk7TnJlKCk7RG49e2NvbnRpbnVhdGlvbjp7dG9rZW5pemU6VmpyfSxleGl0OldqcixuYW1lOiJsaXN0Iix0b2tlbml6ZTpqanJ9LEhqcj17cGFydGlhbDohMCx0b2tlbml6ZTpHanJ9LHFqcj17cGFydGlhbDohMCx0b2tlbml6ZTpVanJ9fSk7ZnVuY3Rpb24gWWpyKGUsdCl7bGV0IHI9ZS5sZW5ndGgsYSxpLG47Zm9yKDtyLS07KWlmKGVbcl1bMF09PT0iZW50ZXIiKXtpZihlW3JdWzFdLnR5cGU9PT0iY29udGVudCIpe2E9cjticmVha31lW3JdWzFdLnR5cGU9PT0icGFyYWdyYXBoIiYmKGk9cil9ZWxzZSBlW3JdWzFdLnR5cGU9PT0iY29udGVudCImJmUuc3BsaWNlKHIsMSksIW4mJmVbcl1bMV0udHlwZT09PSJkZWZpbml0aW9uIiYmKG49cik7bGV0IHM9e3R5cGU6InNldGV4dEhlYWRpbmciLHN0YXJ0OnsuLi5lW2FdWzFdLnN0YXJ0fSxlbmQ6ey4uLmVbZS5sZW5ndGgtMV1bMV0uZW5kfX07cmV0dXJuIGVbaV1bMV0udHlwZT0ic2V0ZXh0SGVhZGluZ1RleHQiLG4/KGUuc3BsaWNlKGksMCxbImVudGVyIixzLHRdKSxlLnNwbGljZShuKzEsMCxbImV4aXQiLGVbYV1bMV0sdF0pLGVbYV1bMV0uZW5kPXsuLi5lW25dWzFdLmVuZH0pOmVbYV1bMV09cyxlLnB1c2goWyJleGl0IixzLHRdKSxlfWZ1bmN0aW9uIFpqcihlLHQscil7bGV0IGE9dGhpcyxpO3JldHVybiBuO2Z1bmN0aW9uIG4obCl7bGV0IHU9YS5ldmVudHMubGVuZ3RoLGQ7Zm9yKDt1LS07KWlmKGEuZXZlbnRzW3VdWzFdLnR5cGUhPT0ibGluZUVuZGluZyImJmEuZXZlbnRzW3VdWzFdLnR5cGUhPT0ibGluZVByZWZpeCImJmEuZXZlbnRzW3VdWzFdLnR5cGUhPT0iY29udGVudCIpe2Q9YS5ldmVudHNbdV1bMV0udHlwZT09PSJwYXJhZ3JhcGgiO2JyZWFrfXJldHVybiFhLnBhcnNlci5sYXp5W2Eubm93KCkubGluZV0mJihhLmludGVycnVwdHx8ZCk/KGUuZW50ZXIoInNldGV4dEhlYWRpbmdMaW5lIiksaT1sLHMobCkpOnIobCl9ZnVuY3Rpb24gcyhsKXtyZXR1cm4gZS5lbnRlcigic2V0ZXh0SGVhZGluZ0xpbmVTZXF1ZW5jZSIpLG8obCl9ZnVuY3Rpb24gbyhsKXtyZXR1cm4gbD09PWk/KGUuY29uc3VtZShsKSxvKTooZS5leGl0KCJzZXRleHRIZWFkaW5nTGluZVNlcXVlbmNlIiksbHQobCk/YnQoZSxjLCJsaW5lU3VmZml4IikobCk6YyhsKSl9ZnVuY3Rpb24gYyhsKXtyZXR1cm4gbD09PW51bGx8fEdlKGwpPyhlLmV4aXQoInNldGV4dEhlYWRpbmdMaW5lIiksdChsKSk6cihsKX19dmFyIElMLEFYZT1mKCgpPT57V2EoKTtlcigpO0lMPXtuYW1lOiJzZXRleHRVbmRlcmxpbmUiLHJlc29sdmVUbzpZanIsdG9rZW5pemU6WmpyfX0pO3ZhciBQTD1mKCgpPT57dVhlKCk7cFhlKCk7U0woKTtmWGUoKTtoWGUoKTttWGUoKTtiWGUoKTt2WGUoKTt4WGUoKTt5WGUoKTt3WGUoKTtNWGUoKTtrWGUoKTtDWGUoKTtUWGUoKTtFTCgpO19YZSgpO0xYZSgpOyRYZSgpO0RYZSgpO0FYZSgpO05yZSgpfSk7ZnVuY3Rpb24gRnJlKCl7cmV0dXJue2RvY3VtZW50Ons5MTp7bmFtZToiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uIix0b2tlbml6ZTplVnIsY29udGludWF0aW9uOnt0b2tlbml6ZTp0VnJ9LGV4aXQ6clZyfX0sdGV4dDp7OTE6e25hbWU6ImdmbUZvb3Rub3RlQ2FsbCIsdG9rZW5pemU6S2pyfSw5Mzp7bmFtZToiZ2ZtUG90ZW50aWFsRm9vdG5vdGVDYWxsIixhZGQ6ImFmdGVyIix0b2tlbml6ZTpRanIscmVzb2x2ZVRvOkpqcn19fX1mdW5jdGlvbiBRanIoZSx0LHIpe2xldCBhPXRoaXMsaT1hLmV2ZW50cy5sZW5ndGgsbj1hLnBhcnNlci5nZm1Gb290bm90ZXN8fChhLnBhcnNlci5nZm1Gb290bm90ZXM9W10pLHM7Zm9yKDtpLS07KXtsZXQgYz1hLmV2ZW50c1tpXVsxXTtpZihjLnR5cGU9PT0ibGFiZWxJbWFnZSIpe3M9YzticmVha31pZihjLnR5cGU9PT0iZ2ZtRm9vdG5vdGVDYWxsInx8Yy50eXBlPT09ImxhYmVsTGluayJ8fGMudHlwZT09PSJsYWJlbCJ8fGMudHlwZT09PSJpbWFnZSJ8fGMudHlwZT09PSJsaW5rIilicmVha31yZXR1cm4gbztmdW5jdGlvbiBvKGMpe2lmKCFzfHwhcy5fYmFsYW5jZWQpcmV0dXJuIHIoYyk7bGV0IGw9RmEoYS5zbGljZVNlcmlhbGl6ZSh7c3RhcnQ6cy5lbmQsZW5kOmEubm93KCl9KSk7cmV0dXJuIGwuY29kZVBvaW50QXQoMCkhPT05NHx8IW4uaW5jbHVkZXMobC5zbGljZSgxKSk/cihjKTooZS5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxlLmNvbnN1bWUoYyksZS5leGl0KCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLHQoYykpfX1mdW5jdGlvbiBKanIoZSx0KXtsZXQgcj1lLmxlbmd0aCxhO2Zvcig7ci0tOylpZihlW3JdWzFdLnR5cGU9PT0ibGFiZWxJbWFnZSImJmVbcl1bMF09PT0iZW50ZXIiKXthPWVbcl1bMV07YnJlYWt9ZVtyKzFdWzFdLnR5cGU9ImRhdGEiLGVbciszXVsxXS50eXBlPSJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciI7bGV0IGk9e3R5cGU6ImdmbUZvb3Rub3RlQ2FsbCIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxlW3IrM11bMV0uc3RhcnQpLGVuZDpPYmplY3QuYXNzaWduKHt9LGVbZS5sZW5ndGgtMV1bMV0uZW5kKX0sbj17dHlwZToiZ2ZtRm9vdG5vdGVDYWxsTWFya2VyIixzdGFydDpPYmplY3QuYXNzaWduKHt9LGVbciszXVsxXS5lbmQpLGVuZDpPYmplY3QuYXNzaWduKHt9LGVbciszXVsxXS5lbmQpfTtuLmVuZC5jb2x1bW4rKyxuLmVuZC5vZmZzZXQrKyxuLmVuZC5fYnVmZmVySW5kZXgrKztsZXQgcz17dHlwZToiZ2ZtRm9vdG5vdGVDYWxsU3RyaW5nIixzdGFydDpPYmplY3QuYXNzaWduKHt9LG4uZW5kKSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxlW2UubGVuZ3RoLTFdWzFdLnN0YXJ0KX0sbz17dHlwZToiY2h1bmtTdHJpbmciLGNvbnRlbnRUeXBlOiJzdHJpbmciLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30scy5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30scy5lbmQpfSxjPVtlW3IrMV0sZVtyKzJdLFsiZW50ZXIiLGksdF0sZVtyKzNdLGVbcis0XSxbImVudGVyIixuLHRdLFsiZXhpdCIsbix0XSxbImVudGVyIixzLHRdLFsiZW50ZXIiLG8sdF0sWyJleGl0IixvLHRdLFsiZXhpdCIscyx0XSxlW2UubGVuZ3RoLTJdLGVbZS5sZW5ndGgtMV0sWyJleGl0IixpLHRdXTtyZXR1cm4gZS5zcGxpY2UocixlLmxlbmd0aC1yKzEsLi4uYyksZX1mdW5jdGlvbiBLanIoZSx0LHIpe2xldCBhPXRoaXMsaT1hLnBhcnNlci5nZm1Gb290bm90ZXN8fChhLnBhcnNlci5nZm1Gb290bm90ZXM9W10pLG49MCxzO3JldHVybiBvO2Z1bmN0aW9uIG8oZCl7cmV0dXJuIGUuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbCIpLGUuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksZS5jb25zdW1lKGQpLGUuZXhpdCgiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxjfWZ1bmN0aW9uIGMoZCl7cmV0dXJuIGQhPT05ND9yKGQpOihlLmVudGVyKCJnZm1Gb290bm90ZUNhbGxNYXJrZXIiKSxlLmNvbnN1bWUoZCksZS5leGl0KCJnZm1Gb290bm90ZUNhbGxNYXJrZXIiKSxlLmVudGVyKCJnZm1Gb290bm90ZUNhbGxTdHJpbmciKSxlLmVudGVyKCJjaHVua1N0cmluZyIpLmNvbnRlbnRUeXBlPSJzdHJpbmciLGwpfWZ1bmN0aW9uIGwoZCl7aWYobj45OTl8fGQ9PT05MyYmIXN8fGQ9PT1udWxsfHxkPT09OTF8fFF0KGQpKXJldHVybiByKGQpO2lmKGQ9PT05Myl7ZS5leGl0KCJjaHVua1N0cmluZyIpO2xldCBoPWUuZXhpdCgiZ2ZtRm9vdG5vdGVDYWxsU3RyaW5nIik7cmV0dXJuIGkuaW5jbHVkZXMoRmEoYS5zbGljZVNlcmlhbGl6ZShoKSkpPyhlLmVudGVyKCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLGUuY29uc3VtZShkKSxlLmV4aXQoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksZS5leGl0KCJnZm1Gb290bm90ZUNhbGwiKSx0KTpyKGQpfXJldHVybiBRdChkKXx8KHM9ITApLG4rKyxlLmNvbnN1bWUoZCksZD09PTkyP3U6bH1mdW5jdGlvbiB1KGQpe3JldHVybiBkPT09OTF8fGQ9PT05Mnx8ZD09PTkzPyhlLmNvbnN1bWUoZCksbisrLGwpOmwoZCl9fWZ1bmN0aW9uIGVWcihlLHQscil7bGV0IGE9dGhpcyxpPWEucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KGEucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbixzPTAsbztyZXR1cm4gYztmdW5jdGlvbiBjKHYpe3JldHVybiBlLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb24iKS5fY29udGFpbmVyPSEwLGUuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsIiksZS5lbnRlcigiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxNYXJrZXIiKSxlLmNvbnN1bWUodiksZS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGx9ZnVuY3Rpb24gbCh2KXtyZXR1cm4gdj09PTk0PyhlLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25NYXJrZXIiKSxlLmNvbnN1bWUodiksZS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25NYXJrZXIiKSxlLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZyIpLGUuZW50ZXIoImNodW5rU3RyaW5nIikuY29udGVudFR5cGU9InN0cmluZyIsdSk6cih2KX1mdW5jdGlvbiB1KHYpe2lmKHM+OTk5fHx2PT09OTMmJiFvfHx2PT09bnVsbHx8dj09PTkxfHxRdCh2KSlyZXR1cm4gcih2KTtpZih2PT09OTMpe2UuZXhpdCgiY2h1bmtTdHJpbmciKTtsZXQgYj1lLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nIik7cmV0dXJuIG49RmEoYS5zbGljZVNlcmlhbGl6ZShiKSksZS5lbnRlcigiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxNYXJrZXIiKSxlLmNvbnN1bWUodiksZS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGUuZXhpdCgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWwiKSxofXJldHVybiBRdCh2KXx8KG89ITApLHMrKyxlLmNvbnN1bWUodiksdj09PTkyP2Q6dX1mdW5jdGlvbiBkKHYpe3JldHVybiB2PT09OTF8fHY9PT05Mnx8dj09PTkzPyhlLmNvbnN1bWUodikscysrLHUpOnUodil9ZnVuY3Rpb24gaCh2KXtyZXR1cm4gdj09PTU4PyhlLmVudGVyKCJkZWZpbml0aW9uTWFya2VyIiksZS5jb25zdW1lKHYpLGUuZXhpdCgiZGVmaW5pdGlvbk1hcmtlciIpLGkuaW5jbHVkZXMobil8fGkucHVzaChuKSxidChlLG0sImdmbUZvb3Rub3RlRGVmaW5pdGlvbldoaXRlc3BhY2UiKSk6cih2KX1mdW5jdGlvbiBtKHYpe3JldHVybiB0KHYpfX1mdW5jdGlvbiB0VnIoZSx0LHIpe3JldHVybiBlLmNoZWNrKHJsLHQsZS5hdHRlbXB0KFhqcix0LHIpKX1mdW5jdGlvbiByVnIoZSl7ZS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb24iKX1mdW5jdGlvbiBhVnIoZSx0LHIpe2xldCBhPXRoaXM7cmV0dXJuIGJ0KGUsaSwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uSW5kZW50Iiw1KTtmdW5jdGlvbiBpKG4pe2xldCBzPWEuZXZlbnRzW2EuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4gcyYmc1sxXS50eXBlPT09ImdmbUZvb3Rub3RlRGVmaW5pdGlvbkluZGVudCImJnNbMl0uc2xpY2VTZXJpYWxpemUoc1sxXSwhMCkubGVuZ3RoPT09ND90KG4pOnIobil9fXZhciBYanIsRVhlPWYoKCk9PntQTCgpO1dhKCk7ZXIoKTtUNCgpO1hqcj17dG9rZW5pemU6YVZyLHBhcnRpYWw6ITB9fSk7ZnVuY3Rpb24gSVhlKGUsdCl7cmV0dXJuIkJhY2sgdG8gcmVmZXJlbmNlICIrKGUrMSkrKHQ+MT8iLSIrdDoiIil9ZnVuY3Rpb24gT3JlKGUpe2xldCB0PWV8fG5WcixyPXQubGFiZWx8fCJGb290bm90ZXMiLGE9dC5sYWJlbFRhZ05hbWV8fCJoMiIsaT10LmxhYmVsQXR0cmlidXRlcz09PW51bGx8fHQubGFiZWxBdHRyaWJ1dGVzPT09dm9pZCAwPydjbGFzcz0ic3Itb25seSInOnQubGFiZWxBdHRyaWJ1dGVzLG49dC5iYWNrTGFiZWx8fElYZSxzPXQuY2xvYmJlclByZWZpeD09PW51bGx8fHQuY2xvYmJlclByZWZpeD09PXZvaWQgMD8idXNlci1jb250ZW50LSI6dC5jbG9iYmVyUHJlZml4O3JldHVybntlbnRlcjp7Z2ZtRm9vdG5vdGVEZWZpbml0aW9uKCl7dGhpcy5nZXREYXRhKCJ0aWdodFN0YWNrIikucHVzaCghMSl9LGdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nKCl7dGhpcy5idWZmZXIoKX0sZ2ZtRm9vdG5vdGVDYWxsU3RyaW5nKCl7dGhpcy5idWZmZXIoKX19LGV4aXQ6e2dmbUZvb3Rub3RlRGVmaW5pdGlvbigpe2xldCBvPXRoaXMuZ2V0RGF0YSgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9ucyIpLGM9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25TdGFjayIpLGw9dGhpcy5nZXREYXRhKCJ0aWdodFN0YWNrIiksdT1jLnBvcCgpLGQ9dGhpcy5yZXN1bWUoKTtvfHx0aGlzLnNldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvbnMiLG89e30pLGlWci5jYWxsKG8sdSl8fChvW3VdPWQpLGwucG9wKCksdGhpcy5zZXREYXRhKCJzbHVycE9uZUxpbmVFbmRpbmciLCEwKSx0aGlzLnNldERhdGEoImxhc3RXYXNUYWciKX0sZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmcobyl7bGV0IGM9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25TdGFjayIpO2N8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uU3RhY2siLGM9W10pLGMucHVzaChGYSh0aGlzLnNsaWNlU2VyaWFsaXplKG8pKSksdGhpcy5yZXN1bWUoKSx0aGlzLmJ1ZmZlcigpfSxnZm1Gb290bm90ZUNhbGxTdHJpbmcobyl7bGV0IGM9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZUNhbGxPcmRlciIpLGw9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZUNhbGxDb3VudHMiKSx1PUZhKHRoaXMuc2xpY2VTZXJpYWxpemUobykpLGQ7dGhpcy5yZXN1bWUoKSxjfHx0aGlzLnNldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIixjPVtdKSxsfHx0aGlzLnNldERhdGEoImdmbUZvb3Rub3RlQ2FsbENvdW50cyIsbD17fSk7bGV0IGg9Yy5pbmRleE9mKHUpLG09ZWwodS50b0xvd2VyQ2FzZSgpKTtoPT09LTE/KGMucHVzaCh1KSxsW3VdPTEsZD1jLmxlbmd0aCk6KGxbdV0rKyxkPWgrMSk7bGV0IHY9bFt1XTt0aGlzLnRhZygnPHN1cD48YSBocmVmPSIjJytzKyJmbi0iK20rJyIgaWQ9IicrcysiZm5yZWYtIittKyh2PjE/Ii0iK3Y6IiIpKyciIGRhdGEtZm9vdG5vdGUtcmVmPSIiIGFyaWEtZGVzY3JpYmVkYnk9ImZvb3Rub3RlLWxhYmVsIj4nK1N0cmluZyhkKSsiPC9hPjwvc3VwPiIpfSxudWxsKCl7bGV0IG89dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZUNhbGxPcmRlciIpfHxbXSxjPXRoaXMuZ2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsQ291bnRzIil8fHt9LGw9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25zIil8fHt9LHU9LTE7Zm9yKG8ubGVuZ3RoPjAmJih0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCc8c2VjdGlvbiBkYXRhLWZvb3Rub3Rlcz0iIiBjbGFzcz0iZm9vdG5vdGVzIj48JythKycgaWQ9ImZvb3Rub3RlLWxhYmVsIicrKGk/IiAiK2k6IiIpKyI+IiksdGhpcy5yYXcodGhpcy5lbmNvZGUocikpLHRoaXMudGFnKCI8LyIrYSsiPiIpLHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjxvbD4iKSk7Kyt1PG8ubGVuZ3RoOyl7bGV0IGQ9b1t1XSxoPWVsKGQudG9Mb3dlckNhc2UoKSksbT0wLHY9W107Zm9yKDsrK208PWNbZF07KXYucHVzaCgnPGEgaHJlZj0iIycrcysiZm5yZWYtIitoKyhtPjE/Ii0iK206IiIpKyciIGRhdGEtZm9vdG5vdGUtYmFja3JlZj0iIiBhcmlhLWxhYmVsPSInK3RoaXMuZW5jb2RlKHR5cGVvZiBuPT0ic3RyaW5nIj9uOm4odSxtKSkrJyIgY2xhc3M9ImRhdGEtZm9vdG5vdGUtYmFja3JlZiI+XHUyMUE5JysobT4xPyI8c3VwPiIrbSsiPC9zdXA+IjoiIikrIjwvYT4iKTtsZXQgYj12LmpvaW4oIiAiKSxnPSExO3RoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoJzxsaSBpZD0iJytzKyJmbi0iK2grJyI+JyksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZyhsW2RdLnJlcGxhY2UoLzxcL3A+KD86XHI/XG58XHIpPyQvLGZ1bmN0aW9uKHkpe3JldHVybiBnPSEwLCIgIitiK3l9KSksZ3x8KHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoYikpLHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjwvbGk+Iil9by5sZW5ndGg+MCYmKHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjwvb2w+IiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9zZWN0aW9uPiIpKX19fX12YXIgaVZyLG5WcixQWGU9ZigoKT0+e1Q0KCk7dGwoKTtpVnI9e30uaGFzT3duUHJvcGVydHksblZyPXt9fSk7dmFyIE5YZT1mKCgpPT57RVhlKCk7UFhlKCl9KTtmdW5jdGlvbiBScmUoKXtyZXR1cm57ZW50ZXI6e3N0cmlrZXRocm91Z2goKXt0aGlzLnRhZygiPGRlbD4iKX19LGV4aXQ6e3N0cmlrZXRocm91Z2goKXt0aGlzLnRhZygiPC9kZWw+Iil9fX19dmFyIEZYZT1mKCgpPT57fSk7ZnVuY3Rpb24gQnJlKGUpe2xldCByPShlfHx7fSkuc2luZ2xlVGlsZGUsYT17bmFtZToic3RyaWtldGhyb3VnaCIsdG9rZW5pemU6bixyZXNvbHZlQWxsOml9O3JldHVybiByPT1udWxsJiYocj0hMCkse3RleHQ6ezEyNjphfSxpbnNpZGVTcGFuOntudWxsOlthXX0sYXR0ZW50aW9uTWFya2Vyczp7bnVsbDpbMTI2XX19O2Z1bmN0aW9uIGkocyxvKXtsZXQgYz0tMTtmb3IoOysrYzxzLmxlbmd0aDspaWYoc1tjXVswXT09PSJlbnRlciImJnNbY11bMV0udHlwZT09PSJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiJiZzW2NdWzFdLl9jbG9zZSl7bGV0IGw9Yztmb3IoO2wtLTspaWYoc1tsXVswXT09PSJleGl0IiYmc1tsXVsxXS50eXBlPT09InN0cmlrZXRocm91Z2hTZXF1ZW5jZVRlbXBvcmFyeSImJnNbbF1bMV0uX29wZW4mJnNbY11bMV0uZW5kLm9mZnNldC1zW2NdWzFdLnN0YXJ0Lm9mZnNldD09PXNbbF1bMV0uZW5kLm9mZnNldC1zW2xdWzFdLnN0YXJ0Lm9mZnNldCl7c1tjXVsxXS50eXBlPSJzdHJpa2V0aHJvdWdoU2VxdWVuY2UiLHNbbF1bMV0udHlwZT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlIjtsZXQgdT17dHlwZToic3RyaWtldGhyb3VnaCIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxzW2xdWzFdLnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxzW2NdWzFdLmVuZCl9LGQ9e3R5cGU6InN0cmlrZXRocm91Z2hUZXh0IixzdGFydDpPYmplY3QuYXNzaWduKHt9LHNbbF1bMV0uZW5kKSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxzW2NdWzFdLnN0YXJ0KX0saD1bWyJlbnRlciIsdSxvXSxbImVudGVyIixzW2xdWzFdLG9dLFsiZXhpdCIsc1tsXVsxXSxvXSxbImVudGVyIixkLG9dXSxtPW8ucGFyc2VyLmNvbnN0cnVjdHMuaW5zaWRlU3Bhbi5udWxsO20mJlVhKGgsaC5sZW5ndGgsMCxMNChtLHMuc2xpY2UobCsxLGMpLG8pKSxVYShoLGgubGVuZ3RoLDAsW1siZXhpdCIsZCxvXSxbImVudGVyIixzW2NdWzFdLG9dLFsiZXhpdCIsc1tjXVsxXSxvXSxbImV4aXQiLHUsb11dKSxVYShzLGwtMSxjLWwrMyxoKSxjPWwraC5sZW5ndGgtMjticmVha319Zm9yKGM9LTE7KytjPHMubGVuZ3RoOylzW2NdWzFdLnR5cGU9PT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IiYmKHNbY11bMV0udHlwZT0iZGF0YSIpO3JldHVybiBzfWZ1bmN0aW9uIG4ocyxvLGMpe2xldCBsPXRoaXMucHJldmlvdXMsdT10aGlzLmV2ZW50cyxkPTA7cmV0dXJuIGg7ZnVuY3Rpb24gaCh2KXtyZXR1cm4gbD09PTEyNiYmdVt1Lmxlbmd0aC0xXVsxXS50eXBlIT09ImNoYXJhY3RlckVzY2FwZSI/Yyh2KToocy5lbnRlcigic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IiksbSh2KSl9ZnVuY3Rpb24gbSh2KXtsZXQgYj1tYyhsKTtpZih2PT09MTI2KXJldHVybiBkPjE/Yyh2KToocy5jb25zdW1lKHYpLGQrKyxtKTtpZihkPDImJiFyKXJldHVybiBjKHYpO2xldCBnPXMuZXhpdCgic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IikseT1tYyh2KTtyZXR1cm4gZy5fb3Blbj0heXx8eT09PTImJiEhYixnLl9jbG9zZT0hYnx8Yj09PTImJiEheSxvKHYpfX19dmFyIE9YZT1mKCgpPT57SjIoKTtwTCgpO29nKCl9KTt2YXIgUlhlPWYoKCk9PntGWGUoKTtPWGUoKX0pO2Z1bmN0aW9uIHFyZSgpe3JldHVybntlbnRlcjp7dGFibGUoZSl7bGV0IHQ9ZS5fYWxpZ247dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRhYmxlPiIpLHRoaXMuc2V0RGF0YSgidGFibGVBbGlnbiIsdCl9LHRhYmxlQm9keSgpe3RoaXMudGFnKCI8dGJvZHk+Iil9LHRhYmxlRGF0YSgpe2xldCBlPXRoaXMuZ2V0RGF0YSgidGFibGVBbGlnbiIpLHQ9dGhpcy5nZXREYXRhKCJ0YWJsZUNvbHVtbiIpLHI9SHJlW2VbdF1dO3I9PT12b2lkIDA/dGhpcy5idWZmZXIoKToodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRkIityKyI+IikpfSx0YWJsZUhlYWQoKXt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGhlYWQ+Iil9LHRhYmxlSGVhZGVyKCl7bGV0IGU9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksdD10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIikscj1IcmVbZVt0XV07dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRoIityKyI+Iil9LHRhYmxlUm93KCl7dGhpcy5zZXREYXRhKCJ0YWJsZUNvbHVtbiIsMCksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRyPiIpfX0sZXhpdDp7Y29kZVRleHREYXRhKGUpe2xldCB0PXRoaXMuc2xpY2VTZXJpYWxpemUoZSk7dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIikmJih0PXQucmVwbGFjZSgvXFwoW1xcfF0pL2csc1ZyKSksdGhpcy5yYXcodGhpcy5lbmNvZGUodCkpfSx0YWJsZSgpe3RoaXMuc2V0RGF0YSgidGFibGVBbGlnbiIpLHRoaXMuc2V0RGF0YSgic2x1cnBBbGxMaW5lRW5kaW5ncyIpLHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjwvdGFibGU+Iil9LHRhYmxlQm9keSgpe3RoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjwvdGJvZHk+Iil9LHRhYmxlRGF0YSgpe2xldCBlPXRoaXMuZ2V0RGF0YSgidGFibGVBbGlnbiIpLHQ9dGhpcy5nZXREYXRhKCJ0YWJsZUNvbHVtbiIpO3QgaW4gZT8odGhpcy50YWcoIjwvdGQ+IiksdGhpcy5zZXREYXRhKCJ0YWJsZUNvbHVtbiIsdCsxKSk6dGhpcy5yZXN1bWUoKX0sdGFibGVIZWFkKCl7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90aGVhZD4iKX0sdGFibGVIZWFkZXIoKXtsZXQgZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIik7dGhpcy50YWcoIjwvdGg+IiksdGhpcy5zZXREYXRhKCJ0YWJsZUNvbHVtbiIsZSsxKX0sdGFibGVSb3coKXtsZXQgZT10aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSx0PXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKTtmb3IoO3Q8ZS5sZW5ndGg7KXRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjx0ZCIrSHJlW2VbdF1dKyI+PC90ZD4iKSx0Kys7dGhpcy5zZXREYXRhKCJ0YWJsZUNvbHVtbiIsdCksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90cj4iKX19fX1mdW5jdGlvbiBzVnIoZSx0KXtyZXR1cm4gdD09PSJ8Ij90OmV9dmFyIEhyZSxCWGU9ZigoKT0+e0hyZT17bm9uZToiIixsZWZ0OicgYWxpZ249ImxlZnQiJyxyaWdodDonIGFsaWduPSJyaWdodCInLGNlbnRlcjonIGFsaWduPSJjZW50ZXIiJ319KTtmdW5jdGlvbiBvVnIoZSx0LHIsYSl7bGV0IGk9MDtpZighKHI9PT0wJiZhLmxlbmd0aD09PTApKXtmb3IoO2k8ZS5tYXAubGVuZ3RoOyl7aWYoZS5tYXBbaV1bMF09PT10KXtlLm1hcFtpXVsxXSs9cixlLm1hcFtpXVsyXS5wdXNoKC4uLmEpO3JldHVybn1pKz0xfWUubWFwLnB1c2goW3QscixhXSl9fXZhciBOTCxIWGU9ZigoKT0+e05MPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9W119YWRkKHQscixhKXtvVnIodGhpcyx0LHIsYSl9Y29uc3VtZSh0KXtpZih0aGlzLm1hcC5zb3J0KGZ1bmN0aW9uKG4scyl7cmV0dXJuIG5bMF0tc1swXX0pLHRoaXMubWFwLmxlbmd0aD09PTApcmV0dXJuO2xldCByPXRoaXMubWFwLmxlbmd0aCxhPVtdO2Zvcig7cj4wOylyLT0xLGEucHVzaCh0LnNsaWNlKHRoaXMubWFwW3JdWzBdK3RoaXMubWFwW3JdWzFdKSx0aGlzLm1hcFtyXVsyXSksdC5sZW5ndGg9dGhpcy5tYXBbcl1bMF07YS5wdXNoKHQuc2xpY2UoKSksdC5sZW5ndGg9MDtsZXQgaT1hLnBvcCgpO2Zvcig7aTspe2ZvcihsZXQgbiBvZiBpKXQucHVzaChuKTtpPWEucG9wKCl9dGhpcy5tYXAubGVuZ3RoPTB9fX0pO2Z1bmN0aW9uIHFYZShlLHQpe2xldCByPSExLGE9W107Zm9yKDt0PGUubGVuZ3RoOyl7bGV0IGk9ZVt0XTtpZihyKXtpZihpWzBdPT09ImVudGVyIilpWzFdLnR5cGU9PT0idGFibGVDb250ZW50IiYmYS5wdXNoKGVbdCsxXVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyTWFya2VyIj8ibGVmdCI6Im5vbmUiKTtlbHNlIGlmKGlbMV0udHlwZT09PSJ0YWJsZUNvbnRlbnQiKXtpZihlW3QtMV1bMV0udHlwZT09PSJ0YWJsZURlbGltaXRlck1hcmtlciIpe2xldCBuPWEubGVuZ3RoLTE7YVtuXT1hW25dPT09ImxlZnQiPyJjZW50ZXIiOiJyaWdodCJ9fWVsc2UgaWYoaVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93IilicmVha31lbHNlIGlbMF09PT0iZW50ZXIiJiZpWzFdLnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciJiYocj0hMCk7dCs9MX1yZXR1cm4gYX12YXIgalhlPWYoKCk9Pnt9KTtmdW5jdGlvbiBqcmUoKXtyZXR1cm57Zmxvdzp7bnVsbDp7bmFtZToidGFibGUiLHRva2VuaXplOmxWcixyZXNvbHZlQWxsOmNWcn19fX1mdW5jdGlvbiBsVnIoZSx0LHIpe2xldCBhPXRoaXMsaT0wLG49MCxzO3JldHVybiBvO2Z1bmN0aW9uIG8ocSl7bGV0IF89YS5ldmVudHMubGVuZ3RoLTE7Zm9yKDtfPi0xOyl7bGV0IFQ9YS5ldmVudHNbX11bMV0udHlwZTtpZihUPT09ImxpbmVFbmRpbmcifHxUPT09ImxpbmVQcmVmaXgiKV8tLTtlbHNlIGJyZWFrfWxldCB6PV8+LTE/YS5ldmVudHNbX11bMV0udHlwZTpudWxsLEU9ej09PSJ0YWJsZUhlYWQifHx6PT09InRhYmxlUm93Ij9TOmM7cmV0dXJuIEU9PT1TJiZhLnBhcnNlci5sYXp5W2Eubm93KCkubGluZV0/cihxKTpFKHEpfWZ1bmN0aW9uIGMocSl7cmV0dXJuIGUuZW50ZXIoInRhYmxlSGVhZCIpLGUuZW50ZXIoInRhYmxlUm93IiksbChxKX1mdW5jdGlvbiBsKHEpe3JldHVybiBxPT09MTI0fHwocz0hMCxuKz0xKSx1KHEpfWZ1bmN0aW9uIHUocSl7cmV0dXJuIHE9PT1udWxsP3IocSk6R2UocSk/bj4xPyhuPTAsYS5pbnRlcnJ1cHQ9ITAsZS5leGl0KCJ0YWJsZVJvdyIpLGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUocSksZS5leGl0KCJsaW5lRW5kaW5nIiksbSk6cihxKTpsdChxKT9idChlLHUsIndoaXRlc3BhY2UiKShxKToobis9MSxzJiYocz0hMSxpKz0xKSxxPT09MTI0PyhlLmVudGVyKCJ0YWJsZUNlbGxEaXZpZGVyIiksZS5jb25zdW1lKHEpLGUuZXhpdCgidGFibGVDZWxsRGl2aWRlciIpLHM9ITAsdSk6KGUuZW50ZXIoImRhdGEiKSxkKHEpKSl9ZnVuY3Rpb24gZChxKXtyZXR1cm4gcT09PW51bGx8fHE9PT0xMjR8fFF0KHEpPyhlLmV4aXQoImRhdGEiKSx1KHEpKTooZS5jb25zdW1lKHEpLHE9PT05Mj9oOmQpfWZ1bmN0aW9uIGgocSl7cmV0dXJuIHE9PT05Mnx8cT09PTEyND8oZS5jb25zdW1lKHEpLGQpOmQocSl9ZnVuY3Rpb24gbShxKXtyZXR1cm4gYS5pbnRlcnJ1cHQ9ITEsYS5wYXJzZXIubGF6eVthLm5vdygpLmxpbmVdP3IocSk6KGUuZW50ZXIoInRhYmxlRGVsaW1pdGVyUm93Iikscz0hMSxsdChxKT9idChlLHYsImxpbmVQcmVmaXgiLGEucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCkocSk6dihxKSl9ZnVuY3Rpb24gdihxKXtyZXR1cm4gcT09PTQ1fHxxPT09NTg/ZyhxKTpxPT09MTI0PyhzPSEwLGUuZW50ZXIoInRhYmxlQ2VsbERpdmlkZXIiKSxlLmNvbnN1bWUocSksZS5leGl0KCJ0YWJsZUNlbGxEaXZpZGVyIiksYik6QyhxKX1mdW5jdGlvbiBiKHEpe3JldHVybiBsdChxKT9idChlLGcsIndoaXRlc3BhY2UiKShxKTpnKHEpfWZ1bmN0aW9uIGcocSl7cmV0dXJuIHE9PT01OD8obis9MSxzPSEwLGUuZW50ZXIoInRhYmxlRGVsaW1pdGVyTWFya2VyIiksZS5jb25zdW1lKHEpLGUuZXhpdCgidGFibGVEZWxpbWl0ZXJNYXJrZXIiKSx5KTpxPT09NDU/KG4rPTEseShxKSk6cT09PW51bGx8fEdlKHEpP1IocSk6QyhxKX1mdW5jdGlvbiB5KHEpe3JldHVybiBxPT09NDU/KGUuZW50ZXIoInRhYmxlRGVsaW1pdGVyRmlsbGVyIiksdyhxKSk6QyhxKX1mdW5jdGlvbiB3KHEpe3JldHVybiBxPT09NDU/KGUuY29uc3VtZShxKSx3KTpxPT09NTg/KHM9ITAsZS5leGl0KCJ0YWJsZURlbGltaXRlckZpbGxlciIpLGUuZW50ZXIoInRhYmxlRGVsaW1pdGVyTWFya2VyIiksZS5jb25zdW1lKHEpLGUuZXhpdCgidGFibGVEZWxpbWl0ZXJNYXJrZXIiKSxrKTooZS5leGl0KCJ0YWJsZURlbGltaXRlckZpbGxlciIpLGsocSkpfWZ1bmN0aW9uIGsocSl7cmV0dXJuIGx0KHEpP2J0KGUsUiwid2hpdGVzcGFjZSIpKHEpOlIocSl9ZnVuY3Rpb24gUihxKXtyZXR1cm4gcT09PTEyND92KHEpOnE9PT1udWxsfHxHZShxKT8hc3x8aSE9PW4/QyhxKTooZS5leGl0KCJ0YWJsZURlbGltaXRlclJvdyIpLGUuZXhpdCgidGFibGVIZWFkIiksdChxKSk6QyhxKX1mdW5jdGlvbiBDKHEpe3JldHVybiByKHEpfWZ1bmN0aW9uIFMocSl7cmV0dXJuIGUuZW50ZXIoInRhYmxlUm93IiksTyhxKX1mdW5jdGlvbiBPKHEpe3JldHVybiBxPT09MTI0PyhlLmVudGVyKCJ0YWJsZUNlbGxEaXZpZGVyIiksZS5jb25zdW1lKHEpLGUuZXhpdCgidGFibGVDZWxsRGl2aWRlciIpLE8pOnE9PT1udWxsfHxHZShxKT8oZS5leGl0KCJ0YWJsZVJvdyIpLHQocSkpOmx0KHEpP2J0KGUsTywid2hpdGVzcGFjZSIpKHEpOihlLmVudGVyKCJkYXRhIiksRChxKSl9ZnVuY3Rpb24gRChxKXtyZXR1cm4gcT09PW51bGx8fHE9PT0xMjR8fFF0KHEpPyhlLmV4aXQoImRhdGEiKSxPKHEpKTooZS5jb25zdW1lKHEpLHE9PT05Mj9OOkQpfWZ1bmN0aW9uIE4ocSl7cmV0dXJuIHE9PT05Mnx8cT09PTEyND8oZS5jb25zdW1lKHEpLEQpOkQocSl9fWZ1bmN0aW9uIGNWcihlLHQpe2xldCByPS0xLGE9ITAsaT0wLG49WzAsMCwwLDBdLHM9WzAsMCwwLDBdLG89ITEsYz0wLGwsdSxkLGg9bmV3IE5MO2Zvcig7KytyPGUubGVuZ3RoOyl7bGV0IG09ZVtyXSx2PW1bMV07bVswXT09PSJlbnRlciI/di50eXBlPT09InRhYmxlSGVhZCI/KG89ITEsYyE9PTAmJihWWGUoaCx0LGMsbCx1KSx1PXZvaWQgMCxjPTApLGw9e3R5cGU6InRhYmxlIixzdGFydDpPYmplY3QuYXNzaWduKHt9LHYuc3RhcnQpLGVuZDpPYmplY3QuYXNzaWduKHt9LHYuZW5kKX0saC5hZGQociwwLFtbImVudGVyIixsLHRdXSkpOnYudHlwZT09PSJ0YWJsZVJvdyJ8fHYudHlwZT09PSJ0YWJsZURlbGltaXRlclJvdyI/KGE9ITAsZD12b2lkIDAsbj1bMCwwLDAsMF0scz1bMCxyKzEsMCwwXSxvJiYobz0hMSx1PXt0eXBlOiJ0YWJsZUJvZHkiLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sdi5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sdi5lbmQpfSxoLmFkZChyLDAsW1siZW50ZXIiLHUsdF1dKSksaT12LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciPzI6dT8zOjEpOmkmJih2LnR5cGU9PT0iZGF0YSJ8fHYudHlwZT09PSJ0YWJsZURlbGltaXRlck1hcmtlciJ8fHYudHlwZT09PSJ0YWJsZURlbGltaXRlckZpbGxlciIpPyhhPSExLHNbMl09PT0wJiYoblsxXSE9PTAmJihzWzBdPXNbMV0sZD1GTChoLHQsbixpLHZvaWQgMCxkKSxuPVswLDAsMCwwXSksc1syXT1yKSk6di50eXBlPT09InRhYmxlQ2VsbERpdmlkZXIiJiYoYT9hPSExOihuWzFdIT09MCYmKHNbMF09c1sxXSxkPUZMKGgsdCxuLGksdm9pZCAwLGQpKSxuPXMscz1bblsxXSxyLDAsMF0pKTp2LnR5cGU9PT0idGFibGVIZWFkIj8obz0hMCxjPXIpOnYudHlwZT09PSJ0YWJsZVJvdyJ8fHYudHlwZT09PSJ0YWJsZURlbGltaXRlclJvdyI/KGM9cixuWzFdIT09MD8oc1swXT1zWzFdLGQ9RkwoaCx0LG4saSxyLGQpKTpzWzFdIT09MCYmKGQ9RkwoaCx0LHMsaSxyLGQpKSxpPTApOmkmJih2LnR5cGU9PT0iZGF0YSJ8fHYudHlwZT09PSJ0YWJsZURlbGltaXRlck1hcmtlciJ8fHYudHlwZT09PSJ0YWJsZURlbGltaXRlckZpbGxlciIpJiYoc1szXT1yKX1mb3IoYyE9PTAmJlZYZShoLHQsYyxsLHUpLGguY29uc3VtZSh0LmV2ZW50cykscj0tMTsrK3I8dC5ldmVudHMubGVuZ3RoOyl7bGV0IG09dC5ldmVudHNbcl07bVswXT09PSJlbnRlciImJm1bMV0udHlwZT09PSJ0YWJsZSImJihtWzFdLl9hbGlnbj1xWGUodC5ldmVudHMscikpfXJldHVybiBlfWZ1bmN0aW9uIEZMKGUsdCxyLGEsaSxuKXtsZXQgcz1hPT09MT8idGFibGVIZWFkZXIiOmE9PT0yPyJ0YWJsZURlbGltaXRlciI6InRhYmxlRGF0YSIsbz0idGFibGVDb250ZW50IjtyWzBdIT09MCYmKG4uZW5kPU9iamVjdC5hc3NpZ24oe30sRDgodC5ldmVudHMsclswXSkpLGUuYWRkKHJbMF0sMCxbWyJleGl0IixuLHRdXSkpO2xldCBjPUQ4KHQuZXZlbnRzLHJbMV0pO2lmKG49e3R5cGU6cyxzdGFydDpPYmplY3QuYXNzaWduKHt9LGMpLGVuZDpPYmplY3QuYXNzaWduKHt9LGMpfSxlLmFkZChyWzFdLDAsW1siZW50ZXIiLG4sdF1dKSxyWzJdIT09MCl7bGV0IGw9RDgodC5ldmVudHMsclsyXSksdT1EOCh0LmV2ZW50cyxyWzNdKSxkPXt0eXBlOm8sc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxsKSxlbmQ6T2JqZWN0LmFzc2lnbih7fSx1KX07aWYoZS5hZGQoclsyXSwwLFtbImVudGVyIixkLHRdXSksYSE9PTIpe2xldCBoPXQuZXZlbnRzW3JbMl1dLG09dC5ldmVudHNbclszXV07aWYoaFsxXS5lbmQ9T2JqZWN0LmFzc2lnbih7fSxtWzFdLmVuZCksaFsxXS50eXBlPSJjaHVua1RleHQiLGhbMV0uY29udGVudFR5cGU9InRleHQiLHJbM10+clsyXSsxKXtsZXQgdj1yWzJdKzEsYj1yWzNdLXJbMl0tMTtlLmFkZCh2LGIsW10pfX1lLmFkZChyWzNdKzEsMCxbWyJleGl0IixkLHRdXSl9cmV0dXJuIGkhPT12b2lkIDAmJihuLmVuZD1PYmplY3QuYXNzaWduKHt9LEQ4KHQuZXZlbnRzLGkpKSxlLmFkZChpLDAsW1siZXhpdCIsbix0XV0pLG49dm9pZCAwKSxufWZ1bmN0aW9uIFZYZShlLHQscixhLGkpe2xldCBuPVtdLHM9RDgodC5ldmVudHMscik7aSYmKGkuZW5kPU9iamVjdC5hc3NpZ24oe30scyksbi5wdXNoKFsiZXhpdCIsaSx0XSkpLGEuZW5kPU9iamVjdC5hc3NpZ24oe30scyksbi5wdXNoKFsiZXhpdCIsYSx0XSksZS5hZGQocisxLDAsbil9ZnVuY3Rpb24gRDgoZSx0KXtsZXQgcj1lW3RdLGE9clswXT09PSJlbnRlciI/InN0YXJ0IjoiZW5kIjtyZXR1cm4gclsxXVthXX12YXIgVVhlPWYoKCk9PntXYSgpO2VyKCk7SFhlKCk7alhlKCl9KTt2YXIgV1hlPWYoKCk9PntCWGUoKTtVWGUoKX0pO2Z1bmN0aW9uIFZyZSgpe3JldHVybntleGl0OntodG1sRmxvd0RhdGEoZSl7WVhlLmNhbGwodGhpcyxlLEdYZSl9LGh0bWxUZXh0RGF0YShlKXtZWGUuY2FsbCh0aGlzLGUsZFZyKX19fX1mdW5jdGlvbiBZWGUoZSx0KXtsZXQgcj10aGlzLnNsaWNlU2VyaWFsaXplKGUpO3RoaXMub3B0aW9ucy5hbGxvd0Rhbmdlcm91c0h0bWwmJihyPXIucmVwbGFjZSh0LCImbHQ7JDEkMiIpKSx0aGlzLnJhdyh0aGlzLmVuY29kZShyKSl9dmFyIEdYZSxkVnIsWlhlPWYoKCk9PntHWGU9LzwoXC8/KShpZnJhbWV8bm9lbWJlZHxub2ZyYW1lc3xwbGFpbnRleHR8c2NyaXB0fHN0eWxlfHRpdGxlfHRleHRhcmVhfHhtcCkoPz1bXHRcblxmXHIgLz5dKS9naSxkVnI9bmV3IFJlZ0V4cCgiXiIrR1hlLnNvdXJjZSwiaSIpfSk7dmFyIFhYZT1mKCgpPT57WlhlKCl9KTtmdW5jdGlvbiBVcmUoKXtyZXR1cm57ZW50ZXI6e3Rhc2tMaXN0Q2hlY2soKXt0aGlzLnRhZygnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBkaXNhYmxlZD0iIiAnKX19LGV4aXQ6e3Rhc2tMaXN0Q2hlY2soKXt0aGlzLnRhZygiLz4iKX0sdGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCgpe3RoaXMudGFnKCdjaGVja2VkPSIiICcpfX19fXZhciBRWGU9ZigoKT0+e30pO2Z1bmN0aW9uIFdyZSgpe3JldHVybnt0ZXh0Ons5MTp1VnJ9fX1mdW5jdGlvbiBwVnIoZSx0LHIpe2xldCBhPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShjKXtyZXR1cm4gYS5wcmV2aW91cyE9PW51bGx8fCFhLl9nZm1UYXNrbGlzdEZpcnN0Q29udGVudE9mTGlzdEl0ZW0/cihjKTooZS5lbnRlcigidGFza0xpc3RDaGVjayIpLGUuZW50ZXIoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSxlLmNvbnN1bWUoYyksZS5leGl0KCJ0YXNrTGlzdENoZWNrTWFya2VyIiksbil9ZnVuY3Rpb24gbihjKXtyZXR1cm4gUXQoYyk/KGUuZW50ZXIoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLGUuY29uc3VtZShjKSxlLmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLHMpOmM9PT04OHx8Yz09PTEyMD8oZS5lbnRlcigidGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCIpLGUuY29uc3VtZShjKSxlLmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZUNoZWNrZWQiKSxzKTpyKGMpfWZ1bmN0aW9uIHMoYyl7cmV0dXJuIGM9PT05Mz8oZS5lbnRlcigidGFza0xpc3RDaGVja01hcmtlciIpLGUuY29uc3VtZShjKSxlLmV4aXQoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSxlLmV4aXQoInRhc2tMaXN0Q2hlY2siKSxvKTpyKGMpfWZ1bmN0aW9uIG8oYyl7cmV0dXJuIEdlKGMpP3QoYyk6bHQoYyk/ZS5jaGVjayh7dG9rZW5pemU6ZlZyfSx0LHIpKGMpOnIoYyl9fWZ1bmN0aW9uIGZWcihlLHQscil7cmV0dXJuIGJ0KGUsYSwid2hpdGVzcGFjZSIpO2Z1bmN0aW9uIGEoaSl7cmV0dXJuIGk9PT1udWxsP3IoaSk6dChpKX19dmFyIHVWcixKWGU9ZigoKT0+e1dhKCk7ZXIoKTt1VnI9e25hbWU6InRhc2tsaXN0Q2hlY2siLHRva2VuaXplOnBWcn19KTt2YXIgS1hlPWYoKCk9PntRWGUoKTtKWGUoKX0pO2Z1bmN0aW9uIGVRZShlKXtyZXR1cm4geUwoW21yZSgpLEZyZSgpLEJyZShlKSxqcmUoKSxXcmUoKV0pfWZ1bmN0aW9uIE5WaShlKXtyZXR1cm4gd0woW3ZyZSgpLE9yZShlKSxScmUoKSxxcmUoKSxWcmUoKSxVcmUoKV0pfXZhciB0UWU9ZigoKT0+e01MKCk7Y1hlKCk7TlhlKCk7UlhlKCk7V1hlKCk7WFhlKCk7S1hlKCl9KTtmdW5jdGlvbiBBOChlKXtsZXQgdD10aGlzLHI9ZXx8aFZyLGE9dC5kYXRhKCksaT1hLm1pY3JvbWFya0V4dGVuc2lvbnN8fChhLm1pY3JvbWFya0V4dGVuc2lvbnM9W10pLG49YS5mcm9tTWFya2Rvd25FeHRlbnNpb25zfHwoYS5mcm9tTWFya2Rvd25FeHRlbnNpb25zPVtdKSxzPWEudG9NYXJrZG93bkV4dGVuc2lvbnN8fChhLnRvTWFya2Rvd25FeHRlbnNpb25zPVtdKTtpLnB1c2goZVFlKHIpKSxuLnB1c2goZHJlKCkpLHMucHVzaCh1cmUocikpfXZhciBoVnIsclFlPWYoKCk9PntKWmUoKTt0UWUoKTtoVnI9e319KTt2YXIgYVFlPWYoKCk9PntyUWUoKX0pO2Z1bmN0aW9uIEdyZShlKXtsZXQgdD1lfHx7fSxyPSEwLGE9e30saT1bW11dLG49W10scz1bXSxjPXdMKFt7ZW50ZXI6e2Jsb2NrUXVvdGU6TCxjb2RlRmVuY2VkOkssY29kZUZlbmNlZEZlbmNlSW5mbzpnLGNvZGVGZW5jZWRGZW5jZU1ldGE6Zyxjb2RlSW5kZW50ZWQ6TWUsY29kZVRleHQ6b2UsY29udGVudDpDZSxkZWZpbml0aW9uOkxlLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpXLGRlZmluaXRpb25MYWJlbFN0cmluZzpnLGRlZmluaXRpb25UaXRsZVN0cmluZzpnLGVtcGhhc2lzOiR0LGh0bWxGbG93OlVlLGh0bWxUZXh0OnJ0LGltYWdlOmxlLGxhYmVsOmcsbGluazpTZSxsaXN0SXRlbU1hcmtlcjpfLGxpc3RJdGVtVmFsdWU6cSxsaXN0T3JkZXJlZDpELGxpc3RVbm9yZGVyZWQ6TixwYXJhZ3JhcGg6QixyZWZlcmVuY2U6ZyxyZXNvdXJjZTpqLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6SCxyZXNvdXJjZVRpdGxlU3RyaW5nOmcsc2V0ZXh0SGVhZGluZzpuZSxzdHJvbmc6VXR9LGV4aXQ6e2F0eEhlYWRpbmc6SWUsYXR4SGVhZGluZ1NlcXVlbmNlOmJlLGF1dG9saW5rRW1haWw6SnMsYXV0b2xpbmtQcm90b2NvbDpRcyxibG9ja1F1b3RlOlYsY2hhcmFjdGVyRXNjYXBlVmFsdWU6WCxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJIZXhhZGVjaW1hbDpacixjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljOlpyLGNoYXJhY3RlclJlZmVyZW5jZVZhbHVlOmgxLGNvZGVGZW5jZWQ6UCxjb2RlRmVuY2VkRmVuY2U6dmUsY29kZUZlbmNlZEZlbmNlSW5mbzpJLGNvZGVGZW5jZWRGZW5jZU1ldGE6Tyxjb2RlRmxvd1ZhbHVlOnhlLGNvZGVJbmRlbnRlZDpQLGNvZGVUZXh0OmNlLGNvZGVUZXh0RGF0YTpYLGRhdGE6WCxkZWZpbml0aW9uOm1lLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzphZSxkZWZpbml0aW9uTGFiZWxTdHJpbmc6RyxkZWZpbml0aW9uVGl0bGVTdHJpbmc6eWUsZW1waGFzaXM6X2UsaGFyZEJyZWFrRXNjYXBlOkFlLGhhcmRCcmVha1RyYWlsaW5nOkFlLGh0bWxGbG93Omt0LGh0bWxGbG93RGF0YTpYLGh0bWxUZXh0Omt0LGh0bWxUZXh0RGF0YTpYLGltYWdlOndlLGxhYmVsOkEsbGFiZWxUZXh0OlosbGluZUVuZGluZzplZSxsaW5rOndlLGxpc3RPcmRlcmVkOnosbGlzdFVub3JkZXJlZDpFLHBhcmFncmFwaDpVLHJlZmVyZW5jZTpPLHJlZmVyZW5jZVN0cmluZzokLHJlc291cmNlOk8scmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZzpZLHJlc291cmNlVGl0bGVTdHJpbmc6ZGUsc2V0ZXh0SGVhZGluZzp0ZSxzZXRleHRIZWFkaW5nTGluZVNlcXVlbmNlOlplLHNldGV4dEhlYWRpbmdUZXh0OnplLHN0cm9uZzp2dCx0aGVtYXRpY0JyZWFrOnp0fX0sLi4udC5odG1sRXh0ZW5zaW9uc3x8W11dKSxsPXtkZWZpbml0aW9uczphLHRpZ2h0U3RhY2s6c30sdT17YnVmZmVyOmcsZW5jb2RlOlMsZ2V0RGF0YTpiLGxpbmVFbmRpbmdJZk5lZWRlZDpDLG9wdGlvbnM6dCxyYXc6ayxyZXN1bWU6eSxzZXREYXRhOnYsdGFnOnd9LGQ9dC5kZWZhdWx0TGluZUVuZGluZztyZXR1cm4gaDtmdW5jdGlvbiBoKGtlKXtsZXQgRWU9LTEsQnQ9MCxPcj1bXSxRcj1bXSxsYT1bXTtmb3IoOysrRWU8a2UubGVuZ3RoOykhZCYmKGtlW0VlXVsxXS50eXBlPT09ImxpbmVFbmRpbmcifHxrZVtFZV1bMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKSYmKGQ9a2VbRWVdWzJdLnNsaWNlU2VyaWFsaXplKGtlW0VlXVsxXSkpLChrZVtFZV1bMV0udHlwZT09PSJsaXN0T3JkZXJlZCJ8fGtlW0VlXVsxXS50eXBlPT09Imxpc3RVbm9yZGVyZWQiKSYmKGtlW0VlXVswXT09PSJlbnRlciI/T3IucHVzaChFZSk6bShrZS5zbGljZShPci5wb3AoKSxFZSkpKSxrZVtFZV1bMV0udHlwZT09PSJkZWZpbml0aW9uIiYmKGtlW0VlXVswXT09PSJlbnRlciI/KGxhPW5pKGxhLGtlLnNsaWNlKEJ0LEVlKSksQnQ9RWUpOihRcj1uaShRcixrZS5zbGljZShCdCxFZSsxKSksQnQ9RWUrMSkpO1FyPW5pKFFyLGxhKSxRcj1uaShRcixrZS5zbGljZShCdCkpLEVlPS0xO2xldCBKcj1Rcjtmb3IoYy5lbnRlci5udWxsJiZjLmVudGVyLm51bGwuY2FsbCh1KTsrK0VlPGtlLmxlbmd0aDspe2xldCBLcz1jW0pyW0VlXVswXV0sZW89SnJbRWVdWzFdLnR5cGUsdG89S3NbZW9dO2lRZS5jYWxsKEtzLGVvKSYmdG8mJnRvLmNhbGwoe3NsaWNlU2VyaWFsaXplOkpyW0VlXVsyXS5zbGljZVNlcmlhbGl6ZSwuLi51fSxKcltFZV1bMV0pfXJldHVybiBjLmV4aXQubnVsbCYmYy5leGl0Lm51bGwuY2FsbCh1KSxpWzBdLmpvaW4oIiIpfWZ1bmN0aW9uIG0oa2Upe2xldCBFZT1rZS5sZW5ndGgsQnQ9MCxPcj0wLFFyPSExLGxhO2Zvcig7KytCdDxFZTspe2xldCBKcj1rZVtCdF07aWYoSnJbMV0uX2NvbnRhaW5lcilsYT12b2lkIDAsSnJbMF09PT0iZW50ZXIiP09yKys6T3ItLTtlbHNlIHN3aXRjaChKclsxXS50eXBlKXtjYXNlImxpc3RJdGVtUHJlZml4Ijp7SnJbMF09PT0iZXhpdCImJihsYT0hMCk7YnJlYWt9Y2FzZSJsaW5lUHJlZml4IjpicmVhaztjYXNlImxpbmVFbmRpbmdCbGFuayI6e0pyWzBdPT09ImVudGVyIiYmIU9yJiYobGE/bGE9dm9pZCAwOlFyPSEwKTticmVha31kZWZhdWx0OmxhPXZvaWQgMH19a2VbMF1bMV0uX2xvb3NlPVFyfWZ1bmN0aW9uIHYoa2UsRWUpe2xba2VdPUVlfWZ1bmN0aW9uIGIoa2Upe3JldHVybiBsW2tlXX1mdW5jdGlvbiBnKCl7aS5wdXNoKFtdKX1mdW5jdGlvbiB5KCl7cmV0dXJuIGkucG9wKCkuam9pbigiIil9ZnVuY3Rpb24gdyhrZSl7ciYmKHYoImxhc3RXYXNUYWciLCEwKSxpW2kubGVuZ3RoLTFdLnB1c2goa2UpKX1mdW5jdGlvbiBrKGtlKXt2KCJsYXN0V2FzVGFnIiksaVtpLmxlbmd0aC0xXS5wdXNoKGtlKX1mdW5jdGlvbiBSKCl7ayhkfHxgCmApfWZ1bmN0aW9uIEMoKXtsZXQga2U9aVtpLmxlbmd0aC0xXSxFZT1rZVtrZS5sZW5ndGgtMV0sQnQ9RWU/RWUuY2hhckNvZGVBdChFZS5sZW5ndGgtMSk6bnVsbDtCdD09PTEwfHxCdD09PTEzfHxCdD09PW51bGx8fFIoKX1mdW5jdGlvbiBTKGtlKXtyZXR1cm4gYigiaWdub3JlRW5jb2RlIik/a2U6a0woa2UpfWZ1bmN0aW9uIE8oKXt5KCl9ZnVuY3Rpb24gRChrZSl7cy5wdXNoKCFrZS5fbG9vc2UpLEMoKSx3KCI8b2wiKSx2KCJleHBlY3RGaXJzdEl0ZW0iLCEwKX1mdW5jdGlvbiBOKGtlKXtzLnB1c2goIWtlLl9sb29zZSksQygpLHcoIjx1bCIpLHYoImV4cGVjdEZpcnN0SXRlbSIsITApfWZ1bmN0aW9uIHEoa2Upe2lmKGIoImV4cGVjdEZpcnN0SXRlbSIpKXtsZXQgRWU9TnVtYmVyLnBhcnNlSW50KHRoaXMuc2xpY2VTZXJpYWxpemUoa2UpLDEwKTtFZSE9PTEmJncoJyBzdGFydD0iJytTKFN0cmluZyhFZSkpKyciJyl9fWZ1bmN0aW9uIF8oKXtiKCJleHBlY3RGaXJzdEl0ZW0iKT93KCI+Iik6VCgpLEMoKSx3KCI8bGk+IiksdigiZXhwZWN0Rmlyc3RJdGVtIiksdigibGFzdFdhc1RhZyIpfWZ1bmN0aW9uIHooKXtUKCkscy5wb3AoKSxSKCksdygiPC9vbD4iKX1mdW5jdGlvbiBFKCl7VCgpLHMucG9wKCksUigpLHcoIjwvdWw+Iil9ZnVuY3Rpb24gVCgpe2IoImxhc3RXYXNUYWciKSYmIWIoInNsdXJwQWxsTGluZUVuZGluZ3MiKSYmQygpLHcoIjwvbGk+Iiksdigic2x1cnBBbGxMaW5lRW5kaW5ncyIpfWZ1bmN0aW9uIEwoKXtzLnB1c2goITEpLEMoKSx3KCI8YmxvY2txdW90ZT4iKX1mdW5jdGlvbiBWKCl7cy5wb3AoKSxDKCksdygiPC9ibG9ja3F1b3RlPiIpLHYoInNsdXJwQWxsTGluZUVuZGluZ3MiKX1mdW5jdGlvbiBCKCl7c1tzLmxlbmd0aC0xXXx8KEMoKSx3KCI8cD4iKSksdigic2x1cnBBbGxMaW5lRW5kaW5ncyIpfWZ1bmN0aW9uIFUoKXtzW3MubGVuZ3RoLTFdP3YoInNsdXJwQWxsTGluZUVuZGluZ3MiLCEwKTp3KCI8L3A+Iil9ZnVuY3Rpb24gSygpe0MoKSx3KCI8cHJlPjxjb2RlIiksdigiZmVuY2VzQ291bnQiLDApfWZ1bmN0aW9uIEkoKXtsZXQga2U9eSgpO3coJyBjbGFzcz0ibGFuZ3VhZ2UtJytrZSsnIicpfWZ1bmN0aW9uIHZlKCl7bGV0IGtlPWIoImZlbmNlc0NvdW50Iil8fDA7a2V8fCh3KCI+Iiksdigic2x1cnBPbmVMaW5lRW5kaW5nIiwhMCkpLHYoImZlbmNlc0NvdW50IixrZSsxKX1mdW5jdGlvbiBNZSgpe0MoKSx3KCI8cHJlPjxjb2RlPiIpfWZ1bmN0aW9uIFAoKXtsZXQga2U9YigiZmVuY2VzQ291bnQiKTtrZSE9PXZvaWQgMCYma2U8MiYmbC50aWdodFN0YWNrLmxlbmd0aD4wJiYhYigibGFzdFdhc1RhZyIpJiZSKCksYigiZmxvd0NvZGVTZWVuRGF0YSIpJiZDKCksdygiPC9jb2RlPjwvcHJlPiIpLGtlIT09dm9pZCAwJiZrZTwyJiZDKCksdigiZmxvd0NvZGVTZWVuRGF0YSIpLHYoImZlbmNlc0NvdW50Iiksdigic2x1cnBPbmVMaW5lRW5kaW5nIil9ZnVuY3Rpb24gbGUoKXtuLnB1c2goe2ltYWdlOiEwfSkscj12b2lkIDB9ZnVuY3Rpb24gU2UoKXtuLnB1c2goe30pfWZ1bmN0aW9uIFooa2Upe25bbi5sZW5ndGgtMV0ubGFiZWxJZD10aGlzLnNsaWNlU2VyaWFsaXplKGtlKX1mdW5jdGlvbiBBKCl7bltuLmxlbmd0aC0xXS5sYWJlbD15KCl9ZnVuY3Rpb24gJChrZSl7bltuLmxlbmd0aC0xXS5yZWZlcmVuY2VJZD10aGlzLnNsaWNlU2VyaWFsaXplKGtlKX1mdW5jdGlvbiBqKCl7ZygpLG5bbi5sZW5ndGgtMV0uZGVzdGluYXRpb249IiJ9ZnVuY3Rpb24gSCgpe2coKSx2KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiBZKCl7bltuLmxlbmd0aC0xXS5kZXN0aW5hdGlvbj15KCksdigiaWdub3JlRW5jb2RlIil9ZnVuY3Rpb24gZGUoKXtuW24ubGVuZ3RoLTFdLnRpdGxlPXkoKX1mdW5jdGlvbiB3ZSgpe2xldCBrZT1uLmxlbmd0aC0xLEVlPW5ba2VdLEJ0PUVlLnJlZmVyZW5jZUlkfHxFZS5sYWJlbElkLE9yPUVlLmRlc3RpbmF0aW9uPT09dm9pZCAwP2FbRmEoQnQpXTpFZTtmb3Iocj0hMDtrZS0tOylpZihuW2tlXS5pbWFnZSl7cj12b2lkIDA7YnJlYWt9RWUuaW1hZ2U/KHcoJzxpbWcgc3JjPSInK2VsKE9yLmRlc3RpbmF0aW9uLHQuYWxsb3dEYW5nZXJvdXNQcm90b2NvbD92b2lkIDA6bVZyKSsnIiBhbHQ9IicpLGsoRWUubGFiZWwpLHcoJyInKSk6dygnPGEgaHJlZj0iJytlbChPci5kZXN0aW5hdGlvbix0LmFsbG93RGFuZ2Vyb3VzUHJvdG9jb2w/dm9pZCAwOm5RZSkrJyInKSx3KE9yLnRpdGxlPycgdGl0bGU9IicrT3IudGl0bGUrJyInOiIiKSxFZS5pbWFnZT93KCIgLz4iKToodygiPiIpLGsoRWUubGFiZWwpLHcoIjwvYT4iKSksbi5wb3AoKX1mdW5jdGlvbiBMZSgpe2coKSxuLnB1c2goe30pfWZ1bmN0aW9uIEcoa2Upe3koKSxuW24ubGVuZ3RoLTFdLmxhYmVsSWQ9dGhpcy5zbGljZVNlcmlhbGl6ZShrZSl9ZnVuY3Rpb24gVygpe2coKSx2KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiBhZSgpe25bbi5sZW5ndGgtMV0uZGVzdGluYXRpb249eSgpLHYoImlnbm9yZUVuY29kZSIpfWZ1bmN0aW9uIHllKCl7bltuLmxlbmd0aC0xXS50aXRsZT15KCl9ZnVuY3Rpb24gbWUoKXtsZXQga2U9bltuLmxlbmd0aC0xXSxFZT1GYShrZS5sYWJlbElkKTt5KCksaVFlLmNhbGwoYSxFZSl8fChhW0VlXT1uW24ubGVuZ3RoLTFdKSxuLnBvcCgpfWZ1bmN0aW9uIENlKCl7digic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApfWZ1bmN0aW9uIGJlKGtlKXtiKCJoZWFkaW5nUmFuayIpfHwodigiaGVhZGluZ1JhbmsiLHRoaXMuc2xpY2VTZXJpYWxpemUoa2UpLmxlbmd0aCksQygpLHcoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IikpfWZ1bmN0aW9uIG5lKCl7ZygpLHYoInNsdXJwQWxsTGluZUVuZGluZ3MiKX1mdW5jdGlvbiB6ZSgpe3YoInNsdXJwQWxsTGluZUVuZGluZ3MiLCEwKX1mdW5jdGlvbiBJZSgpe3coIjwvaCIrYigiaGVhZGluZ1JhbmsiKSsiPiIpLHYoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gWmUoa2Upe3YoImhlYWRpbmdSYW5rIix0aGlzLnNsaWNlU2VyaWFsaXplKGtlKS5jaGFyQ29kZUF0KDApPT09NjE/MToyKX1mdW5jdGlvbiB0ZSgpe2xldCBrZT15KCk7QygpLHcoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IiksayhrZSksdygiPC9oIitiKCJoZWFkaW5nUmFuayIpKyI+Iiksdigic2x1cnBBbGxMaW5lRW5kaW5ncyIpLHYoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gWChrZSl7ayhTKHRoaXMuc2xpY2VTZXJpYWxpemUoa2UpKSl9ZnVuY3Rpb24gZWUoa2Upe2lmKCFiKCJzbHVycEFsbExpbmVFbmRpbmdzIikpe2lmKGIoInNsdXJwT25lTGluZUVuZGluZyIpKXt2KCJzbHVycE9uZUxpbmVFbmRpbmciKTtyZXR1cm59aWYoYigiaW5Db2RlVGV4dCIpKXtrKCIgIik7cmV0dXJufWsoUyh0aGlzLnNsaWNlU2VyaWFsaXplKGtlKSkpfX1mdW5jdGlvbiB4ZShrZSl7ayhTKHRoaXMuc2xpY2VTZXJpYWxpemUoa2UpKSksdigiZmxvd0NvZGVTZWVuRGF0YSIsITApfWZ1bmN0aW9uIEFlKCl7dygiPGJyIC8+Iil9ZnVuY3Rpb24gVWUoKXtDKCkscnQoKX1mdW5jdGlvbiBrdCgpe3YoImlnbm9yZUVuY29kZSIpfWZ1bmN0aW9uIHJ0KCl7dC5hbGxvd0Rhbmdlcm91c0h0bWwmJnYoImlnbm9yZUVuY29kZSIsITApfWZ1bmN0aW9uICR0KCl7dygiPGVtPiIpfWZ1bmN0aW9uIFV0KCl7dygiPHN0cm9uZz4iKX1mdW5jdGlvbiBvZSgpe3YoImluQ29kZVRleHQiLCEwKSx3KCI8Y29kZT4iKX1mdW5jdGlvbiBjZSgpe3YoImluQ29kZVRleHQiKSx3KCI8L2NvZGU+Iil9ZnVuY3Rpb24gX2UoKXt3KCI8L2VtPiIpfWZ1bmN0aW9uIHZ0KCl7dygiPC9zdHJvbmc+Iil9ZnVuY3Rpb24genQoKXtDKCksdygiPGhyIC8+Iil9ZnVuY3Rpb24gWnIoa2Upe3YoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiLGtlLnR5cGUpfWZ1bmN0aW9uIGgxKGtlKXtsZXQgRWU9dGhpcy5zbGljZVNlcmlhbGl6ZShrZSksQnQ9YigiY2hhcmFjdGVyUmVmZXJlbmNlVHlwZSIpPyQ4KEVlLGIoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiKT09PSJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIj8xMDoxNik6XzQoRWUpO2soUyhCdCkpLHYoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiKX1mdW5jdGlvbiBRcyhrZSl7bGV0IEVlPXRoaXMuc2xpY2VTZXJpYWxpemUoa2UpO3coJzxhIGhyZWY9IicrZWwoRWUsdC5hbGxvd0Rhbmdlcm91c1Byb3RvY29sP3ZvaWQgMDpuUWUpKyciPicpLGsoUyhFZSkpLHcoIjwvYT4iKX1mdW5jdGlvbiBKcyhrZSl7bGV0IEVlPXRoaXMuc2xpY2VTZXJpYWxpemUoa2UpO3coJzxhIGhyZWY9IicrZWwoIm1haWx0bzoiK0VlKSsnIj4nKSxrKFMoRWUpKSx3KCI8L2E+Iil9fXZhciBpUWUsblFlLG1WcixZcmU9ZigoKT0+e3NnKCk7SjIoKTtNTCgpO2JMKCk7Z3JlKCk7VDQoKTt0bCgpO2lRZT17fS5oYXNPd25Qcm9wZXJ0eSxuUWU9L14oaHR0cHM/fGlyY3M/fG1haWx0b3x4bXBwKSQvaSxtVnI9L15odHRwcz8kL2l9KTtmdW5jdGlvbiBnVnIoZSl7bGV0IHQ9ZS5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuY29udGVudEluaXRpYWwsYSxpKSxyO3JldHVybiB0O2Z1bmN0aW9uIGEobyl7aWYobz09PW51bGwpe2UuY29uc3VtZShvKTtyZXR1cm59cmV0dXJuIGUuZW50ZXIoImxpbmVFbmRpbmciKSxlLmNvbnN1bWUobyksZS5leGl0KCJsaW5lRW5kaW5nIiksYnQoZSx0LCJsaW5lUHJlZml4Iil9ZnVuY3Rpb24gaShvKXtyZXR1cm4gZS5lbnRlcigicGFyYWdyYXBoIiksbihvKX1mdW5jdGlvbiBuKG8pe2xldCBjPWUuZW50ZXIoImNodW5rVGV4dCIse2NvbnRlbnRUeXBlOiJ0ZXh0IixwcmV2aW91czpyfSk7cmV0dXJuIHImJihyLm5leHQ9Yykscj1jLHMobyl9ZnVuY3Rpb24gcyhvKXtpZihvPT09bnVsbCl7ZS5leGl0KCJjaHVua1RleHQiKSxlLmV4aXQoInBhcmFncmFwaCIpLGUuY29uc3VtZShvKTtyZXR1cm59cmV0dXJuIEdlKG8pPyhlLmNvbnN1bWUobyksZS5leGl0KCJjaHVua1RleHQiKSxuKTooZS5jb25zdW1lKG8pLHMpfX12YXIgc1FlLG9RZT1mKCgpPT57V2EoKTtlcigpO3NRZT17dG9rZW5pemU6Z1ZyfX0pO2Z1bmN0aW9uIGJWcihlKXtsZXQgdD10aGlzLHI9W10sYT0wLGksbixzO3JldHVybiBvO2Z1bmN0aW9uIG8oayl7aWYoYTxyLmxlbmd0aCl7bGV0IFI9clthXTtyZXR1cm4gdC5jb250YWluZXJTdGF0ZT1SWzFdLGUuYXR0ZW1wdChSWzBdLmNvbnRpbnVhdGlvbixjLGwpKGspfXJldHVybiBsKGspfWZ1bmN0aW9uIGMoayl7aWYoYSsrLHQuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdyl7dC5jb250YWluZXJTdGF0ZS5fY2xvc2VGbG93PXZvaWQgMCxpJiZ3KCk7bGV0IFI9dC5ldmVudHMubGVuZ3RoLEM9UixTO2Zvcig7Qy0tOylpZih0LmV2ZW50c1tDXVswXT09PSJleGl0IiYmdC5ldmVudHNbQ11bMV0udHlwZT09PSJjaHVua0Zsb3ciKXtTPXQuZXZlbnRzW0NdWzFdLmVuZDticmVha315KGEpO2xldCBPPVI7Zm9yKDtPPHQuZXZlbnRzLmxlbmd0aDspdC5ldmVudHNbT11bMV0uZW5kPXsuLi5TfSxPKys7cmV0dXJuIFVhKHQuZXZlbnRzLEMrMSwwLHQuZXZlbnRzLnNsaWNlKFIpKSx0LmV2ZW50cy5sZW5ndGg9TyxsKGspfXJldHVybiBvKGspfWZ1bmN0aW9uIGwoayl7aWYoYT09PXIubGVuZ3RoKXtpZighaSlyZXR1cm4gaChrKTtpZihpLmN1cnJlbnRDb25zdHJ1Y3QmJmkuY3VycmVudENvbnN0cnVjdC5jb25jcmV0ZSlyZXR1cm4gdihrKTt0LmludGVycnVwdD0hIShpLmN1cnJlbnRDb25zdHJ1Y3QmJiFpLl9nZm1UYWJsZUR5bmFtaWNJbnRlcnJ1cHRIYWNrKX1yZXR1cm4gdC5jb250YWluZXJTdGF0ZT17fSxlLmNoZWNrKGxRZSx1LGQpKGspfWZ1bmN0aW9uIHUoayl7cmV0dXJuIGkmJncoKSx5KGEpLGgoayl9ZnVuY3Rpb24gZChrKXtyZXR1cm4gdC5wYXJzZXIubGF6eVt0Lm5vdygpLmxpbmVdPWEhPT1yLmxlbmd0aCxzPXQubm93KCkub2Zmc2V0LHYoayl9ZnVuY3Rpb24gaChrKXtyZXR1cm4gdC5jb250YWluZXJTdGF0ZT17fSxlLmF0dGVtcHQobFFlLG0sdikoayl9ZnVuY3Rpb24gbShrKXtyZXR1cm4gYSsrLHIucHVzaChbdC5jdXJyZW50Q29uc3RydWN0LHQuY29udGFpbmVyU3RhdGVdKSxoKGspfWZ1bmN0aW9uIHYoayl7aWYoaz09PW51bGwpe2kmJncoKSx5KDApLGUuY29uc3VtZShrKTtyZXR1cm59cmV0dXJuIGk9aXx8dC5wYXJzZXIuZmxvdyh0Lm5vdygpKSxlLmVudGVyKCJjaHVua0Zsb3ciLHtfdG9rZW5pemVyOmksY29udGVudFR5cGU6ImZsb3ciLHByZXZpb3VzOm59KSxiKGspfWZ1bmN0aW9uIGIoayl7aWYoaz09PW51bGwpe2coZS5leGl0KCJjaHVua0Zsb3ciKSwhMCkseSgwKSxlLmNvbnN1bWUoayk7cmV0dXJufXJldHVybiBHZShrKT8oZS5jb25zdW1lKGspLGcoZS5leGl0KCJjaHVua0Zsb3ciKSksYT0wLHQuaW50ZXJydXB0PXZvaWQgMCxvKTooZS5jb25zdW1lKGspLGIpfWZ1bmN0aW9uIGcoayxSKXtsZXQgQz10LnNsaWNlU3RyZWFtKGspO2lmKFImJkMucHVzaChudWxsKSxrLnByZXZpb3VzPW4sbiYmKG4ubmV4dD1rKSxuPWssaS5kZWZpbmVTa2lwKGsuc3RhcnQpLGkud3JpdGUoQyksdC5wYXJzZXIubGF6eVtrLnN0YXJ0LmxpbmVdKXtsZXQgUz1pLmV2ZW50cy5sZW5ndGg7Zm9yKDtTLS07KWlmKGkuZXZlbnRzW1NdWzFdLnN0YXJ0Lm9mZnNldDxzJiYoIWkuZXZlbnRzW1NdWzFdLmVuZHx8aS5ldmVudHNbU11bMV0uZW5kLm9mZnNldD5zKSlyZXR1cm47bGV0IE89dC5ldmVudHMubGVuZ3RoLEQ9TyxOLHE7Zm9yKDtELS07KWlmKHQuZXZlbnRzW0RdWzBdPT09ImV4aXQiJiZ0LmV2ZW50c1tEXVsxXS50eXBlPT09ImNodW5rRmxvdyIpe2lmKE4pe3E9dC5ldmVudHNbRF1bMV0uZW5kO2JyZWFrfU49ITB9Zm9yKHkoYSksUz1PO1M8dC5ldmVudHMubGVuZ3RoOyl0LmV2ZW50c1tTXVsxXS5lbmQ9ey4uLnF9LFMrKztVYSh0LmV2ZW50cyxEKzEsMCx0LmV2ZW50cy5zbGljZShPKSksdC5ldmVudHMubGVuZ3RoPVN9fWZ1bmN0aW9uIHkoayl7bGV0IFI9ci5sZW5ndGg7Zm9yKDtSLS0gPms7KXtsZXQgQz1yW1JdO3QuY29udGFpbmVyU3RhdGU9Q1sxXSxDWzBdLmV4aXQuY2FsbCh0LGUpfXIubGVuZ3RoPWt9ZnVuY3Rpb24gdygpe2kud3JpdGUoW251bGxdKSxuPXZvaWQgMCxpPXZvaWQgMCx0LmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3c9dm9pZCAwfX1mdW5jdGlvbiB2VnIoZSx0LHIpe3JldHVybiBidChlLGUuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmRvY3VtZW50LHQsciksImxpbmVQcmVmaXgiLHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCl9dmFyIGNRZSxsUWUsZFFlPWYoKCk9PntXYSgpO2VyKCk7SjIoKTtjUWU9e3Rva2VuaXplOmJWcn0sbFFlPXt0b2tlbml6ZTp2VnJ9fSk7ZnVuY3Rpb24geFZyKGUpe2xldCB0PXRoaXMscj1lLmF0dGVtcHQocmwsYSxlLmF0dGVtcHQodGhpcy5wYXJzZXIuY29uc3RydWN0cy5mbG93SW5pdGlhbCxpLGJ0KGUsZS5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZmxvdyxpLGUuYXR0ZW1wdChrcmUsaSkpLCJsaW5lUHJlZml4IikpKTtyZXR1cm4gcjtmdW5jdGlvbiBhKG4pe2lmKG49PT1udWxsKXtlLmNvbnN1bWUobik7cmV0dXJufXJldHVybiBlLmVudGVyKCJsaW5lRW5kaW5nQmxhbmsiKSxlLmNvbnN1bWUobiksZS5leGl0KCJsaW5lRW5kaW5nQmxhbmsiKSx0LmN1cnJlbnRDb25zdHJ1Y3Q9dm9pZCAwLHJ9ZnVuY3Rpb24gaShuKXtpZihuPT09bnVsbCl7ZS5jb25zdW1lKG4pO3JldHVybn1yZXR1cm4gZS5lbnRlcigibGluZUVuZGluZyIpLGUuY29uc3VtZShuKSxlLmV4aXQoImxpbmVFbmRpbmciKSx0LmN1cnJlbnRDb25zdHJ1Y3Q9dm9pZCAwLHJ9fXZhciB1UWUscFFlPWYoKCk9PntQTCgpO1dhKCk7ZXIoKTt1UWU9e3Rva2VuaXplOnhWcn19KTtmdW5jdGlvbiBmUWUoZSl7cmV0dXJue3Jlc29sdmVBbGw6aFFlKGU9PT0idGV4dCI/eVZyOnZvaWQgMCksdG9rZW5pemU6dH07ZnVuY3Rpb24gdChyKXtsZXQgYT10aGlzLGk9dGhpcy5wYXJzZXIuY29uc3RydWN0c1tlXSxuPXIuYXR0ZW1wdChpLHMsbyk7cmV0dXJuIHM7ZnVuY3Rpb24gcyh1KXtyZXR1cm4gbCh1KT9uKHUpOm8odSl9ZnVuY3Rpb24gbyh1KXtpZih1PT09bnVsbCl7ci5jb25zdW1lKHUpO3JldHVybn1yZXR1cm4gci5lbnRlcigiZGF0YSIpLHIuY29uc3VtZSh1KSxjfWZ1bmN0aW9uIGModSl7cmV0dXJuIGwodSk/KHIuZXhpdCgiZGF0YSIpLG4odSkpOihyLmNvbnN1bWUodSksYyl9ZnVuY3Rpb24gbCh1KXtpZih1PT09bnVsbClyZXR1cm4hMDtsZXQgZD1pW3VdLGg9LTE7aWYoZClmb3IoOysraDxkLmxlbmd0aDspe2xldCBtPWRbaF07aWYoIW0ucHJldmlvdXN8fG0ucHJldmlvdXMuY2FsbChhLGEucHJldmlvdXMpKXJldHVybiEwfXJldHVybiExfX19ZnVuY3Rpb24gaFFlKGUpe3JldHVybiB0O2Z1bmN0aW9uIHQocixhKXtsZXQgaT0tMSxuO2Zvcig7KytpPD1yLmxlbmd0aDspbj09PXZvaWQgMD9yW2ldJiZyW2ldWzFdLnR5cGU9PT0iZGF0YSImJihuPWksaSsrKTooIXJbaV18fHJbaV1bMV0udHlwZSE9PSJkYXRhIikmJihpIT09bisyJiYocltuXVsxXS5lbmQ9cltpLTFdWzFdLmVuZCxyLnNwbGljZShuKzIsaS1uLTIpLGk9bisyKSxuPXZvaWQgMCk7cmV0dXJuIGU/ZShyLGEpOnJ9fWZ1bmN0aW9uIHlWcihlLHQpe2xldCByPTA7Zm9yKDsrK3I8PWUubGVuZ3RoOylpZigocj09PWUubGVuZ3RofHxlW3JdWzFdLnR5cGU9PT0ibGluZUVuZGluZyIpJiZlW3ItMV1bMV0udHlwZT09PSJkYXRhIil7bGV0IGE9ZVtyLTFdWzFdLGk9dC5zbGljZVN0cmVhbShhKSxuPWkubGVuZ3RoLHM9LTEsbz0wLGM7Zm9yKDtuLS07KXtsZXQgbD1pW25dO2lmKHR5cGVvZiBsPT0ic3RyaW5nIil7Zm9yKHM9bC5sZW5ndGg7bC5jaGFyQ29kZUF0KHMtMSk9PT0zMjspbysrLHMtLTtpZihzKWJyZWFrO3M9LTF9ZWxzZSBpZihsPT09LTIpYz0hMCxvKys7ZWxzZSBpZihsIT09LTEpe24rKzticmVha319aWYodC5fY29udGVudFR5cGVUZXh0VHJhaWxpbmcmJnI9PT1lLmxlbmd0aCYmKG89MCksbyl7bGV0IGw9e3R5cGU6cj09PWUubGVuZ3RofHxjfHxvPDI/ImxpbmVTdWZmaXgiOiJoYXJkQnJlYWtUcmFpbGluZyIsc3RhcnQ6e19idWZmZXJJbmRleDpuP3M6YS5zdGFydC5fYnVmZmVySW5kZXgrcyxfaW5kZXg6YS5zdGFydC5faW5kZXgrbixsaW5lOmEuZW5kLmxpbmUsY29sdW1uOmEuZW5kLmNvbHVtbi1vLG9mZnNldDphLmVuZC5vZmZzZXQtb30sZW5kOnsuLi5hLmVuZH19O2EuZW5kPXsuLi5sLnN0YXJ0fSxhLnN0YXJ0Lm9mZnNldD09PWEuZW5kLm9mZnNldD9PYmplY3QuYXNzaWduKGEsbCk6KGUuc3BsaWNlKHIsMCxbImVudGVyIixsLHRdLFsiZXhpdCIsbCx0XSkscis9Mil9cisrfXJldHVybiBlfXZhciBtUWUsZ1FlLGJRZSxacmU9ZigoKT0+e21RZT17cmVzb2x2ZUFsbDpoUWUoKX0sZ1FlPWZRZSgic3RyaW5nIiksYlFlPWZRZSgidGV4dCIpfSk7dmFyIFhyZT17fTtSZShYcmUse2F0dGVudGlvbk1hcmtlcnM6KCk9Pl9Wcixjb250ZW50SW5pdGlhbDooKT0+TVZyLGRpc2FibGU6KCk9PkxWcixkb2N1bWVudDooKT0+d1ZyLGZsb3c6KCk9PlNWcixmbG93SW5pdGlhbDooKT0+a1ZyLGluc2lkZVNwYW46KCk9PlRWcixzdHJpbmc6KCk9PnpWcix0ZXh0OigpPT5DVnJ9KTt2YXIgd1ZyLE1WcixrVnIsU1ZyLHpWcixDVnIsVFZyLF9WcixMVnIsdlFlPWYoKCk9PntQTCgpO1pyZSgpO3dWcj17NDI6RG4sNDM6RG4sNDU6RG4sNDg6RG4sNDk6RG4sNTA6RG4sNTE6RG4sNTI6RG4sNTM6RG4sNTQ6RG4sNTU6RG4sNTY6RG4sNTc6RG4sNjI6ekx9LE1Wcj17OTE6X3JlfSxrVnI9e1stMl06Y2csWy0xXTpjZywzMjpjZ30sU1ZyPXszNTokcmUsNDI6XzYsNDU6W0lMLF82XSw2MDpBcmUsNjE6SUwsOTU6XzYsOTY6X0wsMTI2Ol9MfSx6VnI9ezM4OlRMLDkyOkNMfSxDVnI9e1stNV06cGcsWy00XTpwZyxbLTNdOnBnLDMzOklyZSwzODpUTCw0MjpsZyw2MDpbeHJlLEVyZV0sOTE6UHJlLDkyOltMcmUsQ0xdLDkzOlQ2LDk1OmxnLDk2OnlyZX0sVFZyPXtudWxsOltsZyxtUWVdfSxfVnI9e251bGw6WzQyLDk1XX0sTFZyPXtudWxsOltdfX0pO2Z1bmN0aW9uIHhRZShlLHQscil7bGV0IGE9e19idWZmZXJJbmRleDotMSxfaW5kZXg6MCxsaW5lOnImJnIubGluZXx8MSxjb2x1bW46ciYmci5jb2x1bW58fDEsb2Zmc2V0OnImJnIub2Zmc2V0fHwwfSxpPXt9LG49W10scz1bXSxvPVtdLGM9ITAsbD17YXR0ZW1wdDpOKE8pLGNoZWNrOk4oRCksY29uc3VtZTpSLGVudGVyOkMsZXhpdDpTLGludGVycnVwdDpOKEQse2ludGVycnVwdDohMH0pfSx1PXtjb2RlOm51bGwsY29udGFpbmVyU3RhdGU6e30sZGVmaW5lU2tpcDp5LGV2ZW50czpbXSxub3c6ZyxwYXJzZXI6ZSxwcmV2aW91czpudWxsLHNsaWNlU2VyaWFsaXplOnYsc2xpY2VTdHJlYW06Yix3cml0ZTptfSxkPXQudG9rZW5pemUuY2FsbCh1LGwpLGg7cmV0dXJuIHQucmVzb2x2ZUFsbCYmbi5wdXNoKHQpLHU7ZnVuY3Rpb24gbShFKXtyZXR1cm4gcz1uaShzLEUpLHcoKSxzW3MubGVuZ3RoLTFdIT09bnVsbD9bXToocSh0LDApLHUuZXZlbnRzPUw0KG4sdS5ldmVudHMsdSksdS5ldmVudHMpfWZ1bmN0aW9uIHYoRSxUKXtyZXR1cm4gRFZyKGIoRSksVCl9ZnVuY3Rpb24gYihFKXtyZXR1cm4gJFZyKHMsRSl9ZnVuY3Rpb24gZygpe2xldHtfYnVmZmVySW5kZXg6RSxfaW5kZXg6VCxsaW5lOkwsY29sdW1uOlYsb2Zmc2V0OkJ9PWE7cmV0dXJue19idWZmZXJJbmRleDpFLF9pbmRleDpULGxpbmU6TCxjb2x1bW46VixvZmZzZXQ6Qn19ZnVuY3Rpb24geShFKXtpW0UubGluZV09RS5jb2x1bW4seigpfWZ1bmN0aW9uIHcoKXtsZXQgRTtmb3IoO2EuX2luZGV4PHMubGVuZ3RoOyl7bGV0IFQ9c1thLl9pbmRleF07aWYodHlwZW9mIFQ9PSJzdHJpbmciKWZvcihFPWEuX2luZGV4LGEuX2J1ZmZlckluZGV4PDAmJihhLl9idWZmZXJJbmRleD0wKTthLl9pbmRleD09PUUmJmEuX2J1ZmZlckluZGV4PFQubGVuZ3RoOylrKFQuY2hhckNvZGVBdChhLl9idWZmZXJJbmRleCkpO2Vsc2UgayhUKX19ZnVuY3Rpb24gayhFKXtjPXZvaWQgMCxoPUUsZD1kKEUpfWZ1bmN0aW9uIFIoRSl7R2UoRSk/KGEubGluZSsrLGEuY29sdW1uPTEsYS5vZmZzZXQrPUU9PT0tMz8yOjEseigpKTpFIT09LTEmJihhLmNvbHVtbisrLGEub2Zmc2V0KyspLGEuX2J1ZmZlckluZGV4PDA/YS5faW5kZXgrKzooYS5fYnVmZmVySW5kZXgrKyxhLl9idWZmZXJJbmRleD09PXNbYS5faW5kZXhdLmxlbmd0aCYmKGEuX2J1ZmZlckluZGV4PS0xLGEuX2luZGV4KyspKSx1LnByZXZpb3VzPUUsYz0hMH1mdW5jdGlvbiBDKEUsVCl7bGV0IEw9VHx8e307cmV0dXJuIEwudHlwZT1FLEwuc3RhcnQ9ZygpLHUuZXZlbnRzLnB1c2goWyJlbnRlciIsTCx1XSksby5wdXNoKEwpLEx9ZnVuY3Rpb24gUyhFKXtsZXQgVD1vLnBvcCgpO3JldHVybiBULmVuZD1nKCksdS5ldmVudHMucHVzaChbImV4aXQiLFQsdV0pLFR9ZnVuY3Rpb24gTyhFLFQpe3EoRSxULmZyb20pfWZ1bmN0aW9uIEQoRSxUKXtULnJlc3RvcmUoKX1mdW5jdGlvbiBOKEUsVCl7cmV0dXJuIEw7ZnVuY3Rpb24gTChWLEIsVSl7bGV0IEssSSx2ZSxNZTtyZXR1cm4gQXJyYXkuaXNBcnJheShWKT9sZShWKToidG9rZW5pemUiaW4gVj9sZShbVl0pOlAoVik7ZnVuY3Rpb24gUCgkKXtyZXR1cm4gajtmdW5jdGlvbiBqKEgpe2xldCBZPUghPT1udWxsJiYkW0hdLGRlPUghPT1udWxsJiYkLm51bGwsd2U9Wy4uLkFycmF5LmlzQXJyYXkoWSk/WTpZP1tZXTpbXSwuLi5BcnJheS5pc0FycmF5KGRlKT9kZTpkZT9bZGVdOltdXTtyZXR1cm4gbGUod2UpKEgpfX1mdW5jdGlvbiBsZSgkKXtyZXR1cm4gSz0kLEk9MCwkLmxlbmd0aD09PTA/VTpTZSgkW0ldKX1mdW5jdGlvbiBTZSgkKXtyZXR1cm4gajtmdW5jdGlvbiBqKEgpe3JldHVybiBNZT1fKCksdmU9JCwkLnBhcnRpYWx8fCh1LmN1cnJlbnRDb25zdHJ1Y3Q9JCksJC5uYW1lJiZ1LnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygkLm5hbWUpP0EoSCk6JC50b2tlbml6ZS5jYWxsKFQ/T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHUpLFQpOnUsbCxaLEEpKEgpfX1mdW5jdGlvbiBaKCQpe3JldHVybiBjPSEwLEUodmUsTWUpLEJ9ZnVuY3Rpb24gQSgkKXtyZXR1cm4gYz0hMCxNZS5yZXN0b3JlKCksKytJPEsubGVuZ3RoP1NlKEtbSV0pOlV9fX1mdW5jdGlvbiBxKEUsVCl7RS5yZXNvbHZlQWxsJiYhbi5pbmNsdWRlcyhFKSYmbi5wdXNoKEUpLEUucmVzb2x2ZSYmVWEodS5ldmVudHMsVCx1LmV2ZW50cy5sZW5ndGgtVCxFLnJlc29sdmUodS5ldmVudHMuc2xpY2UoVCksdSkpLEUucmVzb2x2ZVRvJiYodS5ldmVudHM9RS5yZXNvbHZlVG8odS5ldmVudHMsdSkpfWZ1bmN0aW9uIF8oKXtsZXQgRT1nKCksVD11LnByZXZpb3VzLEw9dS5jdXJyZW50Q29uc3RydWN0LFY9dS5ldmVudHMubGVuZ3RoLEI9QXJyYXkuZnJvbShvKTtyZXR1cm57ZnJvbTpWLHJlc3RvcmU6VX07ZnVuY3Rpb24gVSgpe2E9RSx1LnByZXZpb3VzPVQsdS5jdXJyZW50Q29uc3RydWN0PUwsdS5ldmVudHMubGVuZ3RoPVYsbz1CLHooKX19ZnVuY3Rpb24geigpe2EubGluZSBpbiBpJiZhLmNvbHVtbjwyJiYoYS5jb2x1bW49aVthLmxpbmVdLGEub2Zmc2V0Kz1pW2EubGluZV0tMSl9fWZ1bmN0aW9uICRWcihlLHQpe2xldCByPXQuc3RhcnQuX2luZGV4LGE9dC5zdGFydC5fYnVmZmVySW5kZXgsaT10LmVuZC5faW5kZXgsbj10LmVuZC5fYnVmZmVySW5kZXgscztpZihyPT09aSlzPVtlW3JdLnNsaWNlKGEsbildO2Vsc2V7aWYocz1lLnNsaWNlKHIsaSksYT4tMSl7bGV0IG89c1swXTt0eXBlb2Ygbz09InN0cmluZyI/c1swXT1vLnNsaWNlKGEpOnMuc2hpZnQoKX1uPjAmJnMucHVzaChlW2ldLnNsaWNlKDAsbikpfXJldHVybiBzfWZ1bmN0aW9uIERWcihlLHQpe2xldCByPS0xLGE9W10saTtmb3IoOysrcjxlLmxlbmd0aDspe2xldCBuPWVbcl0scztpZih0eXBlb2Ygbj09InN0cmluZyIpcz1uO2Vsc2Ugc3dpdGNoKG4pe2Nhc2UtNTp7cz0iXHIiO2JyZWFrfWNhc2UtNDp7cz1gCmA7YnJlYWt9Y2FzZS0zOntzPWBccgpgO2JyZWFrfWNhc2UtMjp7cz10PyIgIjoiCSI7YnJlYWt9Y2FzZS0xOntpZighdCYmaSljb250aW51ZTtzPSIgIjticmVha31kZWZhdWx0OnM9U3RyaW5nLmZyb21DaGFyQ29kZShuKX1pPW49PT0tMixhLnB1c2gocyl9cmV0dXJuIGEuam9pbigiIil9dmFyIHlRZT1mKCgpPT57ZXIoKTtKMigpO29nKCl9KTtmdW5jdGlvbiBmZyhlKXtsZXQgYT17Y29uc3RydWN0czp5TChbWHJlLC4uLihlfHx7fSkuZXh0ZW5zaW9uc3x8W11dKSxjb250ZW50Omkoc1FlKSxkZWZpbmVkOltdLGRvY3VtZW50OmkoY1FlKSxmbG93OmkodVFlKSxsYXp5Ont9LHN0cmluZzppKGdRZSksdGV4dDppKGJRZSl9O3JldHVybiBhO2Z1bmN0aW9uIGkobil7cmV0dXJuIHM7ZnVuY3Rpb24gcyhvKXtyZXR1cm4geFFlKGEsbixvKX19fXZhciBRcmU9ZigoKT0+e01MKCk7b1FlKCk7ZFFlKCk7cFFlKCk7WnJlKCk7dlFlKCk7eVFlKCl9KTtmdW5jdGlvbiBoZyhlKXtmb3IoOyFMTChlKTspO3JldHVybiBlfXZhciBKcmU9ZigoKT0+e01yZSgpfSk7ZnVuY3Rpb24gbWcoKXtsZXQgZT0xLHQ9IiIscj0hMCxhO3JldHVybiBpO2Z1bmN0aW9uIGkobixzLG8pe2xldCBjPVtdLGwsdSxkLGgsbTtmb3Iobj10Kyh0eXBlb2Ygbj09InN0cmluZyI/bi50b1N0cmluZygpOm5ldyBUZXh0RGVjb2RlcihzfHx2b2lkIDApLmRlY29kZShuKSksZD0wLHQ9IiIsciYmKG4uY2hhckNvZGVBdCgwKT09PTY1Mjc5JiZkKysscj12b2lkIDApO2Q8bi5sZW5ndGg7KXtpZih3UWUubGFzdEluZGV4PWQsbD13UWUuZXhlYyhuKSxoPWwmJmwuaW5kZXghPT12b2lkIDA/bC5pbmRleDpuLmxlbmd0aCxtPW4uY2hhckNvZGVBdChoKSwhbCl7dD1uLnNsaWNlKGQpO2JyZWFrfWlmKG09PT0xMCYmZD09PWgmJmEpYy5wdXNoKC0zKSxhPXZvaWQgMDtlbHNlIHN3aXRjaChhJiYoYy5wdXNoKC01KSxhPXZvaWQgMCksZDxoJiYoYy5wdXNoKG4uc2xpY2UoZCxoKSksZSs9aC1kKSxtKXtjYXNlIDA6e2MucHVzaCg2NTUzMyksZSsrO2JyZWFrfWNhc2UgOTp7Zm9yKHU9TWF0aC5jZWlsKGUvNCkqNCxjLnB1c2goLTIpO2UrKzx1OyljLnB1c2goLTEpO2JyZWFrfWNhc2UgMTA6e2MucHVzaCgtNCksZT0xO2JyZWFrfWRlZmF1bHQ6YT0hMCxlPTF9ZD1oKzF9cmV0dXJuIG8mJihhJiZjLnB1c2goLTUpLHQmJmMucHVzaCh0KSxjLnB1c2gobnVsbCkpLGN9fXZhciB3UWUsS3JlPWYoKCk9Pnt3UWU9L1tcMFx0XG5ccl0vZ30pO2Z1bmN0aW9uICRVaShlLHQscil7cmV0dXJuIHR5cGVvZiB0IT0ic3RyaW5nIiYmKHI9dCx0PXZvaWQgMCksR3JlKHIpKGhnKGZnKHIpLmRvY3VtZW50KCkud3JpdGUobWcoKShlLHQsITApKSkpfXZhciBNUWU9ZigoKT0+e1lyZSgpO1FyZSgpO0pyZSgpO0tyZSgpO1lyZSgpO1FyZSgpO0pyZSgpO0tyZSgpfSk7ZnVuY3Rpb24gZWFlKGUsdCxyKXtyZXR1cm4gdHlwZW9mIHQhPSJzdHJpbmciJiYocj10LHQ9dm9pZCAwKSxBVnIocikoaGcoZmcocikuZG9jdW1lbnQoKS53cml0ZShtZygpKGUsdCwhMCkpKSl9ZnVuY3Rpb24gQVZyKGUpe2xldCB0PXt0cmFuc2Zvcm1zOltdLGNhbkNvbnRhaW5Fb2xzOlsiZW1waGFzaXMiLCJmcmFnbWVudCIsImhlYWRpbmciLCJwYXJhZ3JhcGgiLCJzdHJvbmciXSxlbnRlcjp7YXV0b2xpbms6bihtZSksYXV0b2xpbmtQcm90b2NvbDpOLGF1dG9saW5rRW1haWw6TixhdHhIZWFkaW5nOm4oRyksYmxvY2tRdW90ZTpuKEgpLGNoYXJhY3RlckVzY2FwZTpOLGNoYXJhY3RlclJlZmVyZW5jZTpOLGNvZGVGZW5jZWQ6bihZKSxjb2RlRmVuY2VkRmVuY2VJbmZvOnMsY29kZUZlbmNlZEZlbmNlTWV0YTpzLGNvZGVJbmRlbnRlZDpuKFkscyksY29kZVRleHQ6bihkZSxzKSxjb2RlVGV4dERhdGE6TixkYXRhOk4sY29kZUZsb3dWYWx1ZTpOLGRlZmluaXRpb246bih3ZSksZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nOnMsZGVmaW5pdGlvbkxhYmVsU3RyaW5nOnMsZGVmaW5pdGlvblRpdGxlU3RyaW5nOnMsZW1waGFzaXM6bihMZSksaGFyZEJyZWFrRXNjYXBlOm4oVyksaGFyZEJyZWFrVHJhaWxpbmc6bihXKSxodG1sRmxvdzpuKGFlLHMpLGh0bWxGbG93RGF0YTpOLGh0bWxUZXh0Om4oYWUscyksaHRtbFRleHREYXRhOk4saW1hZ2U6bih5ZSksbGFiZWw6cyxsaW5rOm4obWUpLGxpc3RJdGVtOm4oYmUpLGxpc3RJdGVtVmFsdWU6aCxsaXN0T3JkZXJlZDpuKENlLGQpLGxpc3RVbm9yZGVyZWQ6bihDZSkscGFyYWdyYXBoOm4obmUpLHJlZmVyZW5jZTpQLHJlZmVyZW5jZVN0cmluZzpzLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6cyxyZXNvdXJjZVRpdGxlU3RyaW5nOnMsc2V0ZXh0SGVhZGluZzpuKEcpLHN0cm9uZzpuKHplKSx0aGVtYXRpY0JyZWFrOm4oWmUpfSxleGl0OnthdHhIZWFkaW5nOmMoKSxhdHhIZWFkaW5nU2VxdWVuY2U6QyxhdXRvbGluazpjKCksYXV0b2xpbmtFbWFpbDpqLGF1dG9saW5rUHJvdG9jb2w6JCxibG9ja1F1b3RlOmMoKSxjaGFyYWN0ZXJFc2NhcGVWYWx1ZTpxLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlckhleGFkZWNpbWFsOlNlLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlck51bWVyaWM6U2UsY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWU6WixjaGFyYWN0ZXJSZWZlcmVuY2U6QSxjb2RlRmVuY2VkOmMoZyksY29kZUZlbmNlZEZlbmNlOmIsY29kZUZlbmNlZEZlbmNlSW5mbzptLGNvZGVGZW5jZWRGZW5jZU1ldGE6dixjb2RlRmxvd1ZhbHVlOnEsY29kZUluZGVudGVkOmMoeSksY29kZVRleHQ6YyhMKSxjb2RlVGV4dERhdGE6cSxkYXRhOnEsZGVmaW5pdGlvbjpjKCksZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nOlIsZGVmaW5pdGlvbkxhYmVsU3RyaW5nOncsZGVmaW5pdGlvblRpdGxlU3RyaW5nOmssZW1waGFzaXM6YygpLGhhcmRCcmVha0VzY2FwZTpjKHopLGhhcmRCcmVha1RyYWlsaW5nOmMoeiksaHRtbEZsb3c6YyhFKSxodG1sRmxvd0RhdGE6cSxodG1sVGV4dDpjKFQpLGh0bWxUZXh0RGF0YTpxLGltYWdlOmMoQiksbGFiZWw6SyxsYWJlbFRleHQ6VSxsaW5lRW5kaW5nOl8sbGluazpjKFYpLGxpc3RJdGVtOmMoKSxsaXN0T3JkZXJlZDpjKCksbGlzdFVub3JkZXJlZDpjKCkscGFyYWdyYXBoOmMoKSxyZWZlcmVuY2VTdHJpbmc6bGUscmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZzpJLHJlc291cmNlVGl0bGVTdHJpbmc6dmUscmVzb3VyY2U6TWUsc2V0ZXh0SGVhZGluZzpjKEQpLHNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2U6TyxzZXRleHRIZWFkaW5nVGV4dDpTLHN0cm9uZzpjKCksdGhlbWF0aWNCcmVhazpjKCl9fTtTUWUodCwoZXx8e30pLm1kYXN0RXh0ZW5zaW9uc3x8W10pO2xldCByPXt9O3JldHVybiBhO2Z1bmN0aW9uIGEodGUpe2xldCBYPXt0eXBlOiJyb290IixjaGlsZHJlbjpbXX0sZWU9e3N0YWNrOltYXSx0b2tlblN0YWNrOltdLGNvbmZpZzp0LGVudGVyOm8sZXhpdDpsLGJ1ZmZlcjpzLHJlc3VtZTp1LGRhdGE6cn0seGU9W10sQWU9LTE7Zm9yKDsrK0FlPHRlLmxlbmd0aDspaWYodGVbQWVdWzFdLnR5cGU9PT0ibGlzdE9yZGVyZWQifHx0ZVtBZV1bMV0udHlwZT09PSJsaXN0VW5vcmRlcmVkIilpZih0ZVtBZV1bMF09PT0iZW50ZXIiKXhlLnB1c2goQWUpO2Vsc2V7bGV0IFVlPXhlLnBvcCgpO0FlPWkodGUsVWUsQWUpfWZvcihBZT0tMTsrK0FlPHRlLmxlbmd0aDspe2xldCBVZT10W3RlW0FlXVswXV07a1FlLmNhbGwoVWUsdGVbQWVdWzFdLnR5cGUpJiZVZVt0ZVtBZV1bMV0udHlwZV0uY2FsbChPYmplY3QuYXNzaWduKHtzbGljZVNlcmlhbGl6ZTp0ZVtBZV1bMl0uc2xpY2VTZXJpYWxpemV9LGVlKSx0ZVtBZV1bMV0pfWlmKGVlLnRva2VuU3RhY2subGVuZ3RoPjApe2xldCBVZT1lZS50b2tlblN0YWNrW2VlLnRva2VuU3RhY2subGVuZ3RoLTFdOyhVZVsxXXx8elFlKS5jYWxsKGVlLHZvaWQgMCxVZVswXSl9Zm9yKFgucG9zaXRpb249e3N0YXJ0OiQ0KHRlLmxlbmd0aD4wP3RlWzBdWzFdLnN0YXJ0OntsaW5lOjEsY29sdW1uOjEsb2Zmc2V0OjB9KSxlbmQ6JDQodGUubGVuZ3RoPjA/dGVbdGUubGVuZ3RoLTJdWzFdLmVuZDp7bGluZToxLGNvbHVtbjoxLG9mZnNldDowfSl9LEFlPS0xOysrQWU8dC50cmFuc2Zvcm1zLmxlbmd0aDspWD10LnRyYW5zZm9ybXNbQWVdKFgpfHxYO3JldHVybiBYfWZ1bmN0aW9uIGkodGUsWCxlZSl7bGV0IHhlPVgtMSxBZT0tMSxVZT0hMSxrdCxydCwkdCxVdDtmb3IoOysreGU8PWVlOyl7bGV0IG9lPXRlW3hlXTtzd2l0Y2gob2VbMV0udHlwZSl7Y2FzZSJsaXN0VW5vcmRlcmVkIjpjYXNlImxpc3RPcmRlcmVkIjpjYXNlImJsb2NrUXVvdGUiOntvZVswXT09PSJlbnRlciI/QWUrKzpBZS0tLFV0PXZvaWQgMDticmVha31jYXNlImxpbmVFbmRpbmdCbGFuayI6e29lWzBdPT09ImVudGVyIiYmKGt0JiYhVXQmJiFBZSYmISR0JiYoJHQ9eGUpLFV0PXZvaWQgMCk7YnJlYWt9Y2FzZSJsaW5lUHJlZml4IjpjYXNlImxpc3RJdGVtVmFsdWUiOmNhc2UibGlzdEl0ZW1NYXJrZXIiOmNhc2UibGlzdEl0ZW1QcmVmaXgiOmNhc2UibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIjpicmVhaztkZWZhdWx0OlV0PXZvaWQgMH1pZighQWUmJm9lWzBdPT09ImVudGVyIiYmb2VbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCJ8fEFlPT09LTEmJm9lWzBdPT09ImV4aXQiJiYob2VbMV0udHlwZT09PSJsaXN0VW5vcmRlcmVkInx8b2VbMV0udHlwZT09PSJsaXN0T3JkZXJlZCIpKXtpZihrdCl7bGV0IGNlPXhlO2ZvcihydD12b2lkIDA7Y2UtLTspe2xldCBfZT10ZVtjZV07aWYoX2VbMV0udHlwZT09PSJsaW5lRW5kaW5nInx8X2VbMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKXtpZihfZVswXT09PSJleGl0Iiljb250aW51ZTtydCYmKHRlW3J0XVsxXS50eXBlPSJsaW5lRW5kaW5nQmxhbmsiLFVlPSEwKSxfZVsxXS50eXBlPSJsaW5lRW5kaW5nIixydD1jZX1lbHNlIGlmKCEoX2VbMV0udHlwZT09PSJsaW5lUHJlZml4Inx8X2VbMV0udHlwZT09PSJibG9ja1F1b3RlUHJlZml4Inx8X2VbMV0udHlwZT09PSJibG9ja1F1b3RlUHJlZml4V2hpdGVzcGFjZSJ8fF9lWzFdLnR5cGU9PT0iYmxvY2tRdW90ZU1hcmtlciJ8fF9lWzFdLnR5cGU9PT0ibGlzdEl0ZW1JbmRlbnQiKSlicmVha30kdCYmKCFydHx8JHQ8cnQpJiYoa3QuX3NwcmVhZD0hMCksa3QuZW5kPU9iamVjdC5hc3NpZ24oe30scnQ/dGVbcnRdWzFdLnN0YXJ0Om9lWzFdLmVuZCksdGUuc3BsaWNlKHJ0fHx4ZSwwLFsiZXhpdCIsa3Qsb2VbMl1dKSx4ZSsrLGVlKyt9aWYob2VbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCIpe2xldCBjZT17dHlwZToibGlzdEl0ZW0iLF9zcHJlYWQ6ITEsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxvZVsxXS5zdGFydCksZW5kOnZvaWQgMH07a3Q9Y2UsdGUuc3BsaWNlKHhlLDAsWyJlbnRlciIsY2Usb2VbMl1dKSx4ZSsrLGVlKyssJHQ9dm9pZCAwLFV0PSEwfX19cmV0dXJuIHRlW1hdWzFdLl9zcHJlYWQ9VWUsZWV9ZnVuY3Rpb24gbih0ZSxYKXtyZXR1cm4gZWU7ZnVuY3Rpb24gZWUoeGUpe28uY2FsbCh0aGlzLHRlKHhlKSx4ZSksWCYmWC5jYWxsKHRoaXMseGUpfX1mdW5jdGlvbiBzKCl7dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJmcmFnbWVudCIsY2hpbGRyZW46W119KX1mdW5jdGlvbiBvKHRlLFgsZWUpe3RoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0uY2hpbGRyZW4ucHVzaCh0ZSksdGhpcy5zdGFjay5wdXNoKHRlKSx0aGlzLnRva2VuU3RhY2sucHVzaChbWCxlZXx8dm9pZCAwXSksdGUucG9zaXRpb249e3N0YXJ0OiQ0KFguc3RhcnQpLGVuZDp2b2lkIDB9fWZ1bmN0aW9uIGModGUpe3JldHVybiBYO2Z1bmN0aW9uIFgoZWUpe3RlJiZ0ZS5jYWxsKHRoaXMsZWUpLGwuY2FsbCh0aGlzLGVlKX19ZnVuY3Rpb24gbCh0ZSxYKXtsZXQgZWU9dGhpcy5zdGFjay5wb3AoKSx4ZT10aGlzLnRva2VuU3RhY2sucG9wKCk7aWYoeGUpeGVbMF0udHlwZSE9PXRlLnR5cGUmJihYP1guY2FsbCh0aGlzLHRlLHhlWzBdKTooeGVbMV18fHpRZSkuY2FsbCh0aGlzLHRlLHhlWzBdKSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjbG9zZSBgIit0ZS50eXBlKyJgICgiK3o0KHtzdGFydDp0ZS5zdGFydCxlbmQ6dGUuZW5kfSkrIik6IGl0XHUyMDE5cyBub3Qgb3BlbiIpO2VlLnBvc2l0aW9uLmVuZD0kNCh0ZS5lbmQpfWZ1bmN0aW9uIHUoKXtyZXR1cm4gTTYodGhpcy5zdGFjay5wb3AoKSl9ZnVuY3Rpb24gZCgpe3RoaXMuZGF0YS5leHBlY3RpbmdGaXJzdExpc3RJdGVtVmFsdWU9ITB9ZnVuY3Rpb24gaCh0ZSl7aWYodGhpcy5kYXRhLmV4cGVjdGluZ0ZpcnN0TGlzdEl0ZW1WYWx1ZSl7bGV0IFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0yXTtYLnN0YXJ0PU51bWJlci5wYXJzZUludCh0aGlzLnNsaWNlU2VyaWFsaXplKHRlKSwxMCksdGhpcy5kYXRhLmV4cGVjdGluZ0ZpcnN0TGlzdEl0ZW1WYWx1ZT12b2lkIDB9fWZ1bmN0aW9uIG0oKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC5sYW5nPXRlfWZ1bmN0aW9uIHYoKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC5tZXRhPXRlfWZ1bmN0aW9uIGIoKXt0aGlzLmRhdGEuZmxvd0NvZGVJbnNpZGV8fCh0aGlzLmJ1ZmZlcigpLHRoaXMuZGF0YS5mbG93Q29kZUluc2lkZT0hMCl9ZnVuY3Rpb24gZygpe2xldCB0ZT10aGlzLnJlc3VtZSgpLFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtYLnZhbHVlPXRlLnJlcGxhY2UoL14oXHI/XG58XHIpfChccj9cbnxccikkL2csIiIpLHRoaXMuZGF0YS5mbG93Q29kZUluc2lkZT12b2lkIDB9ZnVuY3Rpb24geSgpe2xldCB0ZT10aGlzLnJlc3VtZSgpLFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtYLnZhbHVlPXRlLnJlcGxhY2UoLyhccj9cbnxccikkL2csIiIpfWZ1bmN0aW9uIHcodGUpe2xldCBYPXRoaXMucmVzdW1lKCksZWU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtlZS5sYWJlbD1YLGVlLmlkZW50aWZpZXI9RmEodGhpcy5zbGljZVNlcmlhbGl6ZSh0ZSkpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gaygpe2xldCB0ZT10aGlzLnJlc3VtZSgpLFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtYLnRpdGxlPXRlfWZ1bmN0aW9uIFIoKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC51cmw9dGV9ZnVuY3Rpb24gQyh0ZSl7bGV0IFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZighWC5kZXB0aCl7bGV0IGVlPXRoaXMuc2xpY2VTZXJpYWxpemUodGUpLmxlbmd0aDtYLmRlcHRoPWVlfX1mdW5jdGlvbiBTKCl7dGhpcy5kYXRhLnNldGV4dEhlYWRpbmdTbHVycExpbmVFbmRpbmc9ITB9ZnVuY3Rpb24gTyh0ZSl7bGV0IFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtYLmRlcHRoPXRoaXMuc2xpY2VTZXJpYWxpemUodGUpLmNvZGVQb2ludEF0KDApPT09NjE/MToyfWZ1bmN0aW9uIEQoKXt0aGlzLmRhdGEuc2V0ZXh0SGVhZGluZ1NsdXJwTGluZUVuZGluZz12b2lkIDB9ZnVuY3Rpb24gTih0ZSl7bGV0IGVlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0uY2hpbGRyZW4seGU9ZWVbZWUubGVuZ3RoLTFdOygheGV8fHhlLnR5cGUhPT0idGV4dCIpJiYoeGU9SWUoKSx4ZS5wb3NpdGlvbj17c3RhcnQ6JDQodGUuc3RhcnQpLGVuZDp2b2lkIDB9LGVlLnB1c2goeGUpKSx0aGlzLnN0YWNrLnB1c2goeGUpfWZ1bmN0aW9uIHEodGUpe2xldCBYPXRoaXMuc3RhY2sucG9wKCk7WC52YWx1ZSs9dGhpcy5zbGljZVNlcmlhbGl6ZSh0ZSksWC5wb3NpdGlvbi5lbmQ9JDQodGUuZW5kKX1mdW5jdGlvbiBfKHRlKXtsZXQgWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5hdEhhcmRCcmVhayl7bGV0IGVlPVguY2hpbGRyZW5bWC5jaGlsZHJlbi5sZW5ndGgtMV07ZWUucG9zaXRpb24uZW5kPSQ0KHRlLmVuZCksdGhpcy5kYXRhLmF0SGFyZEJyZWFrPXZvaWQgMDtyZXR1cm59IXRoaXMuZGF0YS5zZXRleHRIZWFkaW5nU2x1cnBMaW5lRW5kaW5nJiZ0LmNhbkNvbnRhaW5Fb2xzLmluY2x1ZGVzKFgudHlwZSkmJihOLmNhbGwodGhpcyx0ZSkscS5jYWxsKHRoaXMsdGUpKX1mdW5jdGlvbiB6KCl7dGhpcy5kYXRhLmF0SGFyZEJyZWFrPSEwfWZ1bmN0aW9uIEUoKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC52YWx1ZT10ZX1mdW5jdGlvbiBUKCl7bGV0IHRlPXRoaXMucmVzdW1lKCksWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO1gudmFsdWU9dGV9ZnVuY3Rpb24gTCgpe2xldCB0ZT10aGlzLnJlc3VtZSgpLFg9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtYLnZhbHVlPXRlfWZ1bmN0aW9uIFYoKXtsZXQgdGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZih0aGlzLmRhdGEuaW5SZWZlcmVuY2Upe2xldCBYPXRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlfHwic2hvcnRjdXQiO3RlLnR5cGUrPSJSZWZlcmVuY2UiLHRlLnJlZmVyZW5jZVR5cGU9WCxkZWxldGUgdGUudXJsLGRlbGV0ZSB0ZS50aXRsZX1lbHNlIGRlbGV0ZSB0ZS5pZGVudGlmaWVyLGRlbGV0ZSB0ZS5sYWJlbDt0aGlzLmRhdGEucmVmZXJlbmNlVHlwZT12b2lkIDB9ZnVuY3Rpb24gQigpe2xldCB0ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5pblJlZmVyZW5jZSl7bGV0IFg9dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGV8fCJzaG9ydGN1dCI7dGUudHlwZSs9IlJlZmVyZW5jZSIsdGUucmVmZXJlbmNlVHlwZT1YLGRlbGV0ZSB0ZS51cmwsZGVsZXRlIHRlLnRpdGxlfWVsc2UgZGVsZXRlIHRlLmlkZW50aWZpZXIsZGVsZXRlIHRlLmxhYmVsO3RoaXMuZGF0YS5yZWZlcmVuY2VUeXBlPXZvaWQgMH1mdW5jdGlvbiBVKHRlKXtsZXQgWD10aGlzLnNsaWNlU2VyaWFsaXplKHRlKSxlZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTJdO2VlLmxhYmVsPXZMKFgpLGVlLmlkZW50aWZpZXI9RmEoWCkudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBLKCl7bGV0IHRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0sWD10aGlzLnJlc3VtZSgpLGVlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07aWYodGhpcy5kYXRhLmluUmVmZXJlbmNlPSEwLGVlLnR5cGU9PT0ibGluayIpe2xldCB4ZT10ZS5jaGlsZHJlbjtlZS5jaGlsZHJlbj14ZX1lbHNlIGVlLmFsdD1YfWZ1bmN0aW9uIEkoKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC51cmw9dGV9ZnVuY3Rpb24gdmUoKXtsZXQgdGU9dGhpcy5yZXN1bWUoKSxYPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WC50aXRsZT10ZX1mdW5jdGlvbiBNZSgpe3RoaXMuZGF0YS5pblJlZmVyZW5jZT12b2lkIDB9ZnVuY3Rpb24gUCgpe3RoaXMuZGF0YS5yZWZlcmVuY2VUeXBlPSJjb2xsYXBzZWQifWZ1bmN0aW9uIGxlKHRlKXtsZXQgWD10aGlzLnJlc3VtZSgpLGVlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZWUubGFiZWw9WCxlZS5pZGVudGlmaWVyPUZhKHRoaXMuc2xpY2VTZXJpYWxpemUodGUpKS50b0xvd2VyQ2FzZSgpLHRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlPSJmdWxsIn1mdW5jdGlvbiBTZSh0ZSl7dGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGU9dGUudHlwZX1mdW5jdGlvbiBaKHRlKXtsZXQgWD10aGlzLnNsaWNlU2VyaWFsaXplKHRlKSxlZT10aGlzLmRhdGEuY2hhcmFjdGVyUmVmZXJlbmNlVHlwZSx4ZTtlZT8oeGU9JDgoWCxlZT09PSJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIj8xMDoxNiksdGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGU9dm9pZCAwKTp4ZT1fNChYKTtsZXQgQWU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtBZS52YWx1ZSs9eGV9ZnVuY3Rpb24gQSh0ZSl7bGV0IFg9dGhpcy5zdGFjay5wb3AoKTtYLnBvc2l0aW9uLmVuZD0kNCh0ZS5lbmQpfWZ1bmN0aW9uICQodGUpe3EuY2FsbCh0aGlzLHRlKTtsZXQgWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO1gudXJsPXRoaXMuc2xpY2VTZXJpYWxpemUodGUpfWZ1bmN0aW9uIGoodGUpe3EuY2FsbCh0aGlzLHRlKTtsZXQgWD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO1gudXJsPSJtYWlsdG86Iit0aGlzLnNsaWNlU2VyaWFsaXplKHRlKX1mdW5jdGlvbiBIKCl7cmV0dXJue3R5cGU6ImJsb2NrcXVvdGUiLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBZKCl7cmV0dXJue3R5cGU6ImNvZGUiLGxhbmc6bnVsbCxtZXRhOm51bGwsdmFsdWU6IiJ9fWZ1bmN0aW9uIGRlKCl7cmV0dXJue3R5cGU6ImlubGluZUNvZGUiLHZhbHVlOiIifX1mdW5jdGlvbiB3ZSgpe3JldHVybnt0eXBlOiJkZWZpbml0aW9uIixpZGVudGlmaWVyOiIiLGxhYmVsOm51bGwsdGl0bGU6bnVsbCx1cmw6IiJ9fWZ1bmN0aW9uIExlKCl7cmV0dXJue3R5cGU6ImVtcGhhc2lzIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gRygpe3JldHVybnt0eXBlOiJoZWFkaW5nIixkZXB0aDowLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBXKCl7cmV0dXJue3R5cGU6ImJyZWFrIn19ZnVuY3Rpb24gYWUoKXtyZXR1cm57dHlwZToiaHRtbCIsdmFsdWU6IiJ9fWZ1bmN0aW9uIHllKCl7cmV0dXJue3R5cGU6ImltYWdlIix0aXRsZTpudWxsLHVybDoiIixhbHQ6bnVsbH19ZnVuY3Rpb24gbWUoKXtyZXR1cm57dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6IiIsY2hpbGRyZW46W119fWZ1bmN0aW9uIENlKHRlKXtyZXR1cm57dHlwZToibGlzdCIsb3JkZXJlZDp0ZS50eXBlPT09Imxpc3RPcmRlcmVkIixzdGFydDpudWxsLHNwcmVhZDp0ZS5fc3ByZWFkLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBiZSh0ZSl7cmV0dXJue3R5cGU6Imxpc3RJdGVtIixzcHJlYWQ6dGUuX3NwcmVhZCxjaGVja2VkOm51bGwsY2hpbGRyZW46W119fWZ1bmN0aW9uIG5lKCl7cmV0dXJue3R5cGU6InBhcmFncmFwaCIsY2hpbGRyZW46W119fWZ1bmN0aW9uIHplKCl7cmV0dXJue3R5cGU6InN0cm9uZyIsY2hpbGRyZW46W119fWZ1bmN0aW9uIEllKCl7cmV0dXJue3R5cGU6InRleHQiLHZhbHVlOiIifX1mdW5jdGlvbiBaZSgpe3JldHVybnt0eXBlOiJ0aGVtYXRpY0JyZWFrIn19fWZ1bmN0aW9uICQ0KGUpe3JldHVybntsaW5lOmUubGluZSxjb2x1bW46ZS5jb2x1bW4sb2Zmc2V0OmUub2Zmc2V0fX1mdW5jdGlvbiBTUWUoZSx0KXtsZXQgcj0tMTtmb3IoOysrcjx0Lmxlbmd0aDspe2xldCBhPXRbcl07QXJyYXkuaXNBcnJheShhKT9TUWUoZSxhKTpFVnIoZSxhKX19ZnVuY3Rpb24gRVZyKGUsdCl7bGV0IHI7Zm9yKHIgaW4gdClpZihrUWUuY2FsbCh0LHIpKXN3aXRjaChyKXtjYXNlImNhbkNvbnRhaW5Fb2xzIjp7bGV0IGE9dFtyXTthJiZlW3JdLnB1c2goLi4uYSk7YnJlYWt9Y2FzZSJ0cmFuc2Zvcm1zIjp7bGV0IGE9dFtyXTthJiZlW3JdLnB1c2goLi4uYSk7YnJlYWt9Y2FzZSJlbnRlciI6Y2FzZSJleGl0Ijp7bGV0IGE9dFtyXTthJiZPYmplY3QuYXNzaWduKGVbcl0sYSk7YnJlYWt9fX1mdW5jdGlvbiB6UWUoZSx0KXt0aHJvdyBlP25ldyBFcnJvcigiQ2Fubm90IGNsb3NlIGAiK2UudHlwZSsiYCAoIit6NCh7c3RhcnQ6ZS5zdGFydCxlbmQ6ZS5lbmR9KSsiKTogYSBkaWZmZXJlbnQgdG9rZW4gKGAiK3QudHlwZSsiYCwgIit6NCh7c3RhcnQ6dC5zdGFydCxlbmQ6dC5lbmR9KSsiKSBpcyBvcGVuIik6bmV3IEVycm9yKCJDYW5ub3QgY2xvc2UgZG9jdW1lbnQsIGEgdG9rZW4gKGAiK3QudHlwZSsiYCwgIit6NCh7c3RhcnQ6dC5zdGFydCxlbmQ6dC5lbmR9KSsiKSBpcyBzdGlsbCBvcGVuIil9dmFyIGtRZSxDUWU9ZigoKT0+e2ZMKCk7TVFlKCk7YkwoKTthcmUoKTtUNCgpO3NnKCk7YnRlKCk7a1FlPXt9Lmhhc093blByb3BlcnR5fSk7dmFyIFRRZT1mKCgpPT57Q1FlKCl9KTtmdW5jdGlvbiBFOChlKXtsZXQgdD10aGlzO3QucGFyc2VyPXI7ZnVuY3Rpb24gcihhKXtyZXR1cm4gZWFlKGEsey4uLnQuZGF0YSgic2V0dGluZ3MiKSwuLi5lLGV4dGVuc2lvbnM6dC5kYXRhKCJtaWNyb21hcmtFeHRlbnNpb25zIil8fFtdLG1kYXN0RXh0ZW5zaW9uczp0LmRhdGEoImZyb21NYXJrZG93bkV4dGVuc2lvbnMiKXx8W119KX19dmFyIF9RZT1mKCgpPT57VFFlKCl9KTt2YXIgTFFlPWYoKCk9PntfUWUoKX0pO3ZhciAkUWU9amUoKFhVaSx0YWUpPT57KGZ1bmN0aW9uKCl7dmFyIGU7dHlwZW9mIHRhZTwidSI/ZT10YWUuZXhwb3J0cz1hOmU9KGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN8fCgwLGV2YWwpKCJ0aGlzIil9KSgpLGUuZm9ybWF0PWEsZS52c3ByaW50Zj1yLHR5cGVvZiBjb25zb2xlPCJ1IiYmdHlwZW9mIGNvbnNvbGUubG9nPT0iZnVuY3Rpb24iJiYoZS5wcmludGY9dCk7ZnVuY3Rpb24gdCgpe2NvbnNvbGUubG9nKGEuYXBwbHkobnVsbCxhcmd1bWVudHMpKX1mdW5jdGlvbiByKGksbil7cmV0dXJuIGEuYXBwbHkobnVsbCxbaV0uY29uY2F0KG4pKX1mdW5jdGlvbiBhKGkpe2Zvcih2YXIgbj0xLHM9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLG89MCxjPWkubGVuZ3RoLGw9IiIsdSxkPSExLGgsbSx2PSExLGIsZz1mdW5jdGlvbigpe3JldHVybiBzW24rK119LHk9ZnVuY3Rpb24oKXtmb3IodmFyIHc9IiI7L1xkLy50ZXN0KGlbb10pOyl3Kz1pW28rK10sdT1pW29dO3JldHVybiB3Lmxlbmd0aD4wP3BhcnNlSW50KHcpOm51bGx9O288YzsrK28paWYodT1pW29dLGQpc3dpdGNoKGQ9ITEsdT09Ii4iPyh2PSExLHU9aVsrK29dKTp1PT0iMCImJmlbbysxXT09Ii4iPyh2PSEwLG8rPTIsdT1pW29dKTp2PSEwLGI9eSgpLHUpe2Nhc2UiYiI6bCs9cGFyc2VJbnQoZygpLDEwKS50b1N0cmluZygyKTticmVhaztjYXNlImMiOmg9ZygpLHR5cGVvZiBoPT0ic3RyaW5nInx8aCBpbnN0YW5jZW9mIFN0cmluZz9sKz1oOmwrPVN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoaCwxMCkpO2JyZWFrO2Nhc2UiZCI6bCs9cGFyc2VJbnQoZygpLDEwKTticmVhaztjYXNlImYiOm09U3RyaW5nKHBhcnNlRmxvYXQoZygpKS50b0ZpeGVkKGJ8fDYpKSxsKz12P206bS5yZXBsYWNlKC9eMC8sIiIpO2JyZWFrO2Nhc2UiaiI6bCs9SlNPTi5zdHJpbmdpZnkoZygpKTticmVhaztjYXNlIm8iOmwrPSIwIitwYXJzZUludChnKCksMTApLnRvU3RyaW5nKDgpO2JyZWFrO2Nhc2UicyI6bCs9ZygpO2JyZWFrO2Nhc2UieCI6bCs9IjB4IitwYXJzZUludChnKCksMTApLnRvU3RyaW5nKDE2KTticmVhaztjYXNlIlgiOmwrPSIweCIrcGFyc2VJbnQoZygpLDEwKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTticmVhaztkZWZhdWx0OmwrPXU7YnJlYWt9ZWxzZSB1PT09IiUiP2Q9ITA6bCs9dTtyZXR1cm4gbH19KSgpfSk7ZnVuY3Rpb24gTDYoZSl7cmV0dXJuIHQuZGlzcGxheU5hbWU9ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lLHQ7ZnVuY3Rpb24gdChyLC4uLmEpe2xldCBpPXImJigwLERRZS5kZWZhdWx0KShyLC4uLmEpO3JldHVybiBuZXcgZShpKX19dmFyIERRZSxnZyxBUWU9ZigoKT0+e0RRZT1zcigkUWUoKSwxKSxnZz1PYmplY3QuYXNzaWduKEw2KEVycm9yKSx7ZXZhbDpMNihFdmFsRXJyb3IpLHJhbmdlOkw2KFJhbmdlRXJyb3IpLHJlZmVyZW5jZTpMNihSZWZlcmVuY2VFcnJvciksc3ludGF4Okw2KFN5bnRheEVycm9yKSx0eXBlOkw2KFR5cGVFcnJvciksdXJpOkw2KFVSSUVycm9yKX0pfSk7ZnVuY3Rpb24gSTgoZSl7bGV0IHQ9W10scj0tMSxhPUFycmF5LmlzQXJyYXkoZSk/ZTplP1tlXTpbInlhbWwiXTtmb3IoOysrcjxhLmxlbmd0aDspdFtyXT1JVnIoYVtyXSk7cmV0dXJuIHR9ZnVuY3Rpb24gSVZyKGUpe2xldCB0PWU7aWYodHlwZW9mIHQ9PSJzdHJpbmciKXtpZighT0wuY2FsbChFUWUsdCkpdGhyb3cgZ2coIk1pc3NpbmcgbWF0dGVyIGRlZmluaXRpb24gZm9yIGAlc2AiLHQpO3Q9e3R5cGU6dCxtYXJrZXI6RVFlW3RdfX1lbHNlIGlmKHR5cGVvZiB0IT0ib2JqZWN0Iil0aHJvdyBnZygiRXhwZWN0ZWQgbWF0dGVyIHRvIGJlIGFuIG9iamVjdCwgbm90IGAlamAiLHQpO2lmKCFPTC5jYWxsKHQsInR5cGUiKSl0aHJvdyBnZygiTWlzc2luZyBgdHlwZWAgaW4gbWF0dGVyIGAlamAiLHQpO2lmKCFPTC5jYWxsKHQsImZlbmNlIikmJiFPTC5jYWxsKHQsIm1hcmtlciIpKXRocm93IGdnKCJNaXNzaW5nIGBtYXJrZXJgIG9yIGBmZW5jZWAgaW4gbWF0dGVyIGAlamAiLHQpO3JldHVybiB0fXZhciBPTCxFUWUscmFlPWYoKCk9PntBUWUoKTtPTD17fS5oYXNPd25Qcm9wZXJ0eSxFUWU9e3lhbWw6Ii0iLHRvbWw6IisifX0pO2Z1bmN0aW9uIGlhZShlKXtsZXQgdD1JOChlKSxyPXt9LGE9LTE7Zm9yKDsrK2E8dC5sZW5ndGg7KXtsZXQgaT10W2FdLG49YWFlKGksIm9wZW4iKS5jaGFyQ29kZUF0KDApLHM9UFZyKGkpLG89cltuXTtBcnJheS5pc0FycmF5KG8pP28ucHVzaChzKTpyW25dPVtzXX1yZXR1cm57ZmxvdzpyfX1mdW5jdGlvbiBQVnIoZSl7bGV0IHQ9ZS5hbnl3aGVyZSxyPWUudHlwZSxhPXIrIkZlbmNlIixpPWErIlNlcXVlbmNlIixuPXIrIlZhbHVlIixzPXt0b2tlbml6ZTp1LHBhcnRpYWw6ITB9LG8sYz0wO3JldHVybnt0b2tlbml6ZTpsLGNvbmNyZXRlOiEwfTtmdW5jdGlvbiBsKGQsaCxtKXtsZXQgdj10aGlzO3JldHVybiBiO2Z1bmN0aW9uIGIoTyl7bGV0IEQ9di5ub3coKTtyZXR1cm4gRC5jb2x1bW49PT0xJiYoRC5saW5lPT09MXx8dCkmJihvPWFhZShlLCJvcGVuIiksYz0wLE89PT1vLmNoYXJDb2RlQXQoYykpPyhkLmVudGVyKHIpLGQuZW50ZXIoYSksZC5lbnRlcihpKSxnKE8pKTptKE8pfWZ1bmN0aW9uIGcoTyl7cmV0dXJuIGM9PT1vLmxlbmd0aD8oZC5leGl0KGkpLGx0KE8pPyhkLmVudGVyKCJ3aGl0ZXNwYWNlIikseShPKSk6dyhPKSk6Tz09PW8uY2hhckNvZGVBdChjKyspPyhkLmNvbnN1bWUoTyksZyk6bShPKX1mdW5jdGlvbiB5KE8pe3JldHVybiBsdChPKT8oZC5jb25zdW1lKE8pLHkpOihkLmV4aXQoIndoaXRlc3BhY2UiKSx3KE8pKX1mdW5jdGlvbiB3KE8pe3JldHVybiBHZShPKT8oZC5leGl0KGEpLGQuZW50ZXIoImxpbmVFbmRpbmciKSxkLmNvbnN1bWUoTyksZC5leGl0KCJsaW5lRW5kaW5nIiksbz1hYWUoZSwiY2xvc2UiKSxjPTAsZC5hdHRlbXB0KHMsUyxrKSk6bShPKX1mdW5jdGlvbiBrKE8pe3JldHVybiBPPT09bnVsbHx8R2UoTyk/QyhPKTooZC5lbnRlcihuKSxSKE8pKX1mdW5jdGlvbiBSKE8pe3JldHVybiBPPT09bnVsbHx8R2UoTyk/KGQuZXhpdChuKSxDKE8pKTooZC5jb25zdW1lKE8pLFIpfWZ1bmN0aW9uIEMoTyl7cmV0dXJuIE89PT1udWxsP20oTyk6KGQuZW50ZXIoImxpbmVFbmRpbmciKSxkLmNvbnN1bWUoTyksZC5leGl0KCJsaW5lRW5kaW5nIiksZC5hdHRlbXB0KHMsUyxrKSl9ZnVuY3Rpb24gUyhPKXtyZXR1cm4gZC5leGl0KHIpLGgoTyl9fWZ1bmN0aW9uIHUoZCxoLG0pe2xldCB2PTA7cmV0dXJuIGI7ZnVuY3Rpb24gYihrKXtyZXR1cm4gaz09PW8uY2hhckNvZGVBdCh2KT8oZC5lbnRlcihhKSxkLmVudGVyKGkpLGcoaykpOm0oayl9ZnVuY3Rpb24gZyhrKXtyZXR1cm4gdj09PW8ubGVuZ3RoPyhkLmV4aXQoaSksbHQoayk/KGQuZW50ZXIoIndoaXRlc3BhY2UiKSx5KGspKTp3KGspKTprPT09by5jaGFyQ29kZUF0KHYrKyk/KGQuY29uc3VtZShrKSxnKTptKGspfWZ1bmN0aW9uIHkoayl7cmV0dXJuIGx0KGspPyhkLmNvbnN1bWUoaykseSk6KGQuZXhpdCgid2hpdGVzcGFjZSIpLHcoaykpfWZ1bmN0aW9uIHcoayl7cmV0dXJuIGs9PT1udWxsfHxHZShrKT8oZC5leGl0KGEpLGgoaykpOm0oayl9fX1mdW5jdGlvbiBhYWUoZSx0KXtyZXR1cm4gZS5tYXJrZXI/SVFlKGUubWFya2VyLHQpLnJlcGVhdCgzKTpJUWUoZS5mZW5jZSx0KX1mdW5jdGlvbiBJUWUoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2U6ZVt0XX12YXIgUFFlPWYoKCk9PntlcigpO3JhZSgpfSk7dmFyIE5RZT1mKCgpPT57fSk7dmFyIG5hZT1mKCgpPT57UFFlKCk7TlFlKCk7cmFlKCl9KTtmdW5jdGlvbiBvYWUoZSl7bGV0IHQ9STgoZSkscj17fSxhPXt9LGk9LTE7Zm9yKDsrK2k8dC5sZW5ndGg7KXtsZXQgbj10W2ldO3Jbbi50eXBlXT1OVnIobiksYVtuLnR5cGVdPUZWcixhW24udHlwZSsiVmFsdWUiXT1PVnJ9cmV0dXJue2VudGVyOnIsZXhpdDphfX1mdW5jdGlvbiBOVnIoZSl7cmV0dXJuIHQ7ZnVuY3Rpb24gdChyKXt0aGlzLmVudGVyKHt0eXBlOmUudHlwZSx2YWx1ZToiIn0sciksdGhpcy5idWZmZXIoKX19ZnVuY3Rpb24gRlZyKGUpe2xldCB0PXRoaXMucmVzdW1lKCkscj10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdOyJ2YWx1ZSJpbiByLHRoaXMuZXhpdChlKSxyLnZhbHVlPXQucmVwbGFjZSgvXihccj9cbnxccil8KFxyP1xufFxyKSQvZywiIil9ZnVuY3Rpb24gT1ZyKGUpe3RoaXMuY29uZmlnLmVudGVyLmRhdGEuY2FsbCh0aGlzLGUpLHRoaXMuY29uZmlnLmV4aXQuZGF0YS5jYWxsKHRoaXMsZSl9ZnVuY3Rpb24gbGFlKGUpe2xldCB0PVtdLHI9e30sYT1JOChlKSxpPS0xO2Zvcig7KytpPGEubGVuZ3RoOyl7bGV0IG49YVtpXTtyW24udHlwZV09UlZyKG4pO2xldCBzPXNhZShuLCJvcGVuIik7dC5wdXNoKHthdEJyZWFrOiEwLGNoYXJhY3RlcjpzLmNoYXJBdCgwKSxhZnRlcjpxZChzLmNoYXJBdCgxKSl9KX1yZXR1cm57dW5zYWZlOnQsaGFuZGxlcnM6cn19ZnVuY3Rpb24gUlZyKGUpe2xldCB0PXNhZShlLCJvcGVuIikscj1zYWUoZSwiY2xvc2UiKTtyZXR1cm4gYTtmdW5jdGlvbiBhKGkpe3JldHVybiB0KyhpLnZhbHVlP2AKYCtpLnZhbHVlOiIiKStgCmArcn19ZnVuY3Rpb24gc2FlKGUsdCl7cmV0dXJuIGUubWFya2VyP0ZRZShlLm1hcmtlcix0KS5yZXBlYXQoMyk6RlFlKGUuZmVuY2UsdCl9ZnVuY3Rpb24gRlFlKGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIj9lOmVbdF19dmFyIE9RZT1mKCgpPT57UzQoKTtuYWUoKTthQygpfSk7dmFyIFJRZT1mKCgpPT57T1FlKCl9KTtmdW5jdGlvbiBQOChlKXtsZXQgdD10aGlzLHI9ZXx8QlZyLGE9dC5kYXRhKCksaT1hLm1pY3JvbWFya0V4dGVuc2lvbnN8fChhLm1pY3JvbWFya0V4dGVuc2lvbnM9W10pLG49YS5mcm9tTWFya2Rvd25FeHRlbnNpb25zfHwoYS5mcm9tTWFya2Rvd25FeHRlbnNpb25zPVtdKSxzPWEudG9NYXJrZG93bkV4dGVuc2lvbnN8fChhLnRvTWFya2Rvd25FeHRlbnNpb25zPVtdKTtpLnB1c2goaWFlKHIpKSxuLnB1c2gob2FlKHIpKSxzLnB1c2gobGFlKHIpKX12YXIgQlZyLEJRZT1mKCgpPT57UlFlKCk7bmFlKCk7QlZyPSJ5YW1sIn0pO3ZhciBIUWU9ZigoKT0+e0JRZSgpfSk7dmFyIGNhZT1mKCgpPT57fSk7dmFyIHFRZSxIVnIsakwsalFlPWYoKCk9PntjYWUoKTtxUWU9dHlwZW9mIHNlbGY9PSJvYmplY3QiP3NlbGY6Z2xvYmFsVGhpcyxIVnI9KGUsdCk9PntsZXQgcj0oaSxuKT0+KGUuc2V0KG4saSksaSksYT1pPT57aWYoZS5oYXMoaSkpcmV0dXJuIGUuZ2V0KGkpO2xldFtuLHNdPXRbaV07c3dpdGNoKG4pe2Nhc2UgMDpjYXNlLTE6cmV0dXJuIHIocyxpKTtjYXNlIDE6e2xldCBvPXIoW10saSk7Zm9yKGxldCBjIG9mIHMpby5wdXNoKGEoYykpO3JldHVybiBvfWNhc2UgMjp7bGV0IG89cih7fSxpKTtmb3IobGV0W2MsbF1vZiBzKW9bYShjKV09YShsKTtyZXR1cm4gb31jYXNlIDM6cmV0dXJuIHIobmV3IERhdGUocyksaSk7Y2FzZSA0OntsZXR7c291cmNlOm8sZmxhZ3M6Y309cztyZXR1cm4gcihuZXcgUmVnRXhwKG8sYyksaSl9Y2FzZSA1OntsZXQgbz1yKG5ldyBNYXAsaSk7Zm9yKGxldFtjLGxdb2YgcylvLnNldChhKGMpLGEobCkpO3JldHVybiBvfWNhc2UgNjp7bGV0IG89cihuZXcgU2V0LGkpO2ZvcihsZXQgYyBvZiBzKW8uYWRkKGEoYykpO3JldHVybiBvfWNhc2UgNzp7bGV0e25hbWU6byxtZXNzYWdlOmN9PXM7cmV0dXJuIHIobmV3IHFRZVtvXShjKSxpKX1jYXNlIDg6cmV0dXJuIHIoQmlnSW50KHMpLGkpO2Nhc2UiQmlnSW50IjpyZXR1cm4gcihPYmplY3QoQmlnSW50KHMpKSxpKTtjYXNlIkFycmF5QnVmZmVyIjpyZXR1cm4gcihuZXcgVWludDhBcnJheShzKS5idWZmZXIscyk7Y2FzZSJEYXRhVmlldyI6e2xldHtidWZmZXI6b309bmV3IFVpbnQ4QXJyYXkocyk7cmV0dXJuIHIobmV3IERhdGFWaWV3KG8pLHMpfX1yZXR1cm4gcihuZXcgcVFlW25dKHMpLGkpfTtyZXR1cm4gYX0sakw9ZT0+SFZyKG5ldyBNYXAsZSkoMCl9KTt2YXIgRjgscVZyLGpWcix4ZyxWTCxWVnIsVUwsVlFlPWYoKCk9PntjYWUoKTtGOD0iIix7dG9TdHJpbmc6cVZyfT17fSx7a2V5czpqVnJ9PU9iamVjdCx4Zz1lPT57bGV0IHQ9dHlwZW9mIGU7aWYodCE9PSJvYmplY3QifHwhZSlyZXR1cm5bMCx0XTtsZXQgcj1xVnIuY2FsbChlKS5zbGljZSg4LC0xKTtzd2l0Y2gocil7Y2FzZSJBcnJheSI6cmV0dXJuWzEsRjhdO2Nhc2UiT2JqZWN0IjpyZXR1cm5bMixGOF07Y2FzZSJEYXRlIjpyZXR1cm5bMyxGOF07Y2FzZSJSZWdFeHAiOnJldHVybls0LEY4XTtjYXNlIk1hcCI6cmV0dXJuWzUsRjhdO2Nhc2UiU2V0IjpyZXR1cm5bNixGOF07Y2FzZSJEYXRhVmlldyI6cmV0dXJuWzEscl19cmV0dXJuIHIuaW5jbHVkZXMoIkFycmF5Iik/WzEscl06ci5pbmNsdWRlcygiRXJyb3IiKT9bNyxyXTpbMixyXX0sVkw9KFtlLHRdKT0+ZT09PTAmJih0PT09ImZ1bmN0aW9uInx8dD09PSJzeW1ib2wiKSxWVnI9KGUsdCxyLGEpPT57bGV0IGk9KHMsbyk9PntsZXQgYz1hLnB1c2gocyktMTtyZXR1cm4gci5zZXQobyxjKSxjfSxuPXM9PntpZihyLmhhcyhzKSlyZXR1cm4gci5nZXQocyk7bGV0W28sY109eGcocyk7c3dpdGNoKG8pe2Nhc2UgMDp7bGV0IHU9cztzd2l0Y2goYyl7Y2FzZSJiaWdpbnQiOm89OCx1PXMudG9TdHJpbmcoKTticmVhaztjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6aWYoZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ1bmFibGUgdG8gc2VyaWFsaXplICIrYyk7dT1udWxsO2JyZWFrO2Nhc2UidW5kZWZpbmVkIjpyZXR1cm4gaShbLTFdLHMpfXJldHVybiBpKFtvLHVdLHMpfWNhc2UgMTp7aWYoYyl7bGV0IGg9cztyZXR1cm4gYz09PSJEYXRhVmlldyI/aD1uZXcgVWludDhBcnJheShzLmJ1ZmZlcik6Yz09PSJBcnJheUJ1ZmZlciImJihoPW5ldyBVaW50OEFycmF5KHMpKSxpKFtjLFsuLi5oXV0scyl9bGV0IHU9W10sZD1pKFtvLHVdLHMpO2ZvcihsZXQgaCBvZiBzKXUucHVzaChuKGgpKTtyZXR1cm4gZH1jYXNlIDI6e2lmKGMpc3dpdGNoKGMpe2Nhc2UiQmlnSW50IjpyZXR1cm4gaShbYyxzLnRvU3RyaW5nKCldLHMpO2Nhc2UiQm9vbGVhbiI6Y2FzZSJOdW1iZXIiOmNhc2UiU3RyaW5nIjpyZXR1cm4gaShbYyxzLnZhbHVlT2YoKV0scyl9aWYodCYmInRvSlNPTiJpbiBzKXJldHVybiBuKHMudG9KU09OKCkpO2xldCB1PVtdLGQ9aShbbyx1XSxzKTtmb3IobGV0IGggb2YgalZyKHMpKShlfHwhVkwoeGcoc1toXSkpKSYmdS5wdXNoKFtuKGgpLG4oc1toXSldKTtyZXR1cm4gZH1jYXNlIDM6cmV0dXJuIGkoW28scy50b0lTT1N0cmluZygpXSxzKTtjYXNlIDQ6e2xldHtzb3VyY2U6dSxmbGFnczpkfT1zO3JldHVybiBpKFtvLHtzb3VyY2U6dSxmbGFnczpkfV0scyl9Y2FzZSA1OntsZXQgdT1bXSxkPWkoW28sdV0scyk7Zm9yKGxldFtoLG1db2YgcykoZXx8IShWTCh4ZyhoKSl8fFZMKHhnKG0pKSkpJiZ1LnB1c2goW24oaCksbihtKV0pO3JldHVybiBkfWNhc2UgNjp7bGV0IHU9W10sZD1pKFtvLHVdLHMpO2ZvcihsZXQgaCBvZiBzKShlfHwhVkwoeGcoaCkpKSYmdS5wdXNoKG4oaCkpO3JldHVybiBkfX1sZXR7bWVzc2FnZTpsfT1zO3JldHVybiBpKFtvLHtuYW1lOmMsbWVzc2FnZTpsfV0scyl9O3JldHVybiBufSxVTD0oZSx7anNvbjp0LGxvc3N5OnJ9PXt9KT0+e2xldCBhPVtdO3JldHVybiBWVnIoISh0fHxyKSwhIXQsbmV3IE1hcCxhKShlKSxhfX0pO3ZhciBENCxXTD1mKCgpPT57alFlKCk7VlFlKCk7RDQ9dHlwZW9mIHN0cnVjdHVyZWRDbG9uZT09ImZ1bmN0aW9uIj8oZSx0KT0+dCYmKCJqc29uImluIHR8fCJsb3NzeSJpbiB0KT9qTChVTChlLHQpKTpzdHJ1Y3R1cmVkQ2xvbmUoZSk6KGUsdCk9PmpMKFVMKGUsdCkpfSk7ZnVuY3Rpb24gVVFlKGUpe3JldHVybiB0O2Z1bmN0aW9uIHQocil7bGV0IGE9ciYmci5wb3NpdGlvbiYmci5wb3NpdGlvbltlXXx8e307aWYodHlwZW9mIGEubGluZT09Im51bWJlciImJmEubGluZT4wJiZ0eXBlb2YgYS5jb2x1bW49PSJudW1iZXIiJiZhLmNvbHVtbj4wKXJldHVybntsaW5lOmEubGluZSxjb2x1bW46YS5jb2x1bW4sb2Zmc2V0OnR5cGVvZiBhLm9mZnNldD09Im51bWJlciImJmEub2Zmc2V0Pi0xP2Eub2Zmc2V0OnZvaWQgMH19fWZ1bmN0aW9uIHlnKGUpe2xldCB0PVlMKGUpLHI9R0woZSk7aWYodCYmcilyZXR1cm57c3RhcnQ6dCxlbmQ6cn19dmFyIEdMLFlMLFdRZT1mKCgpPT57R0w9VVFlKCJlbmQiKSxZTD1VUWUoInN0YXJ0Iil9KTt2YXIgWkw9ZigoKT0+e1dRZSgpfSk7dmFyICQ2LFhMLGZhZT1mKCgpPT57JDY9WyJhcmlhRGVzY3JpYmVkQnkiLCJhcmlhTGFiZWwiLCJhcmlhTGFiZWxsZWRCeSJdLFhMPXthbmNlc3RvcnM6e3Rib2R5OlsidGFibGUiXSx0ZDpbInRhYmxlIl0sdGg6WyJ0YWJsZSJdLHRoZWFkOlsidGFibGUiXSx0Zm9vdDpbInRhYmxlIl0sdHI6WyJ0YWJsZSJdfSxhdHRyaWJ1dGVzOnthOlsuLi4kNiwiZGF0YUZvb3Rub3RlQmFja3JlZiIsImRhdGFGb290bm90ZVJlZiIsWyJjbGFzc05hbWUiLCJkYXRhLWZvb3Rub3RlLWJhY2tyZWYiXSwiaHJlZiJdLGJsb2NrcXVvdGU6WyJjaXRlIl0sY29kZTpbWyJjbGFzc05hbWUiLC9ebGFuZ3VhZ2UtLi9dXSxkZWw6WyJjaXRlIl0sZGl2OlsiaXRlbVNjb3BlIiwiaXRlbVR5cGUiXSxkbDpbLi4uJDZdLGgyOltbImNsYXNzTmFtZSIsInNyLW9ubHkiXV0saW1nOlsuLi4kNiwibG9uZ0Rlc2MiLCJzcmMiXSxpbnB1dDpbWyJkaXNhYmxlZCIsITBdLFsidHlwZSIsImNoZWNrYm94Il1dLGluczpbImNpdGUiXSxsaTpbWyJjbGFzc05hbWUiLCJ0YXNrLWxpc3QtaXRlbSJdXSxvbDpbLi4uJDYsWyJjbGFzc05hbWUiLCJjb250YWlucy10YXNrLWxpc3QiXV0scTpbImNpdGUiXSxzZWN0aW9uOlsiZGF0YUZvb3Rub3RlcyIsWyJjbGFzc05hbWUiLCJmb290bm90ZXMiXV0sc291cmNlOlsic3JjU2V0Il0sc3VtbWFyeTpbLi4uJDZdLHRhYmxlOlsuLi4kNl0sdWw6Wy4uLiQ2LFsiY2xhc3NOYW1lIiwiY29udGFpbnMtdGFzay1saXN0Il1dLCIqIjpbImFiYnIiLCJhY2NlcHQiLCJhY2NlcHRDaGFyc2V0IiwiYWNjZXNzS2V5IiwiYWN0aW9uIiwiYWxpZ24iLCJhbHQiLCJheGlzIiwiYm9yZGVyIiwiY2VsbFBhZGRpbmciLCJjZWxsU3BhY2luZyIsImNoYXIiLCJjaGFyT2ZmIiwiY2hhclNldCIsImNoZWNrZWQiLCJjbGVhciIsImNvbFNwYW4iLCJjb2xvciIsImNvbHMiLCJjb21wYWN0IiwiY29vcmRzIiwiZGF0ZVRpbWUiLCJkaXIiLCJlbmNUeXBlIiwiZnJhbWUiLCJoU3BhY2UiLCJoZWFkZXJzIiwiaGVpZ2h0IiwiaHJlZkxhbmciLCJodG1sRm9yIiwiaWQiLCJpc01hcCIsIml0ZW1Qcm9wIiwibGFiZWwiLCJsYW5nIiwibWF4TGVuZ3RoIiwibWVkaWEiLCJtZXRob2QiLCJtdWx0aXBsZSIsIm5hbWUiLCJub0hyZWYiLCJub1NoYWRlIiwibm9XcmFwIiwib3BlbiIsInByb21wdCIsInJlYWRPbmx5IiwicmV2Iiwicm93U3BhbiIsInJvd3MiLCJydWxlcyIsInNjb3BlIiwic2VsZWN0ZWQiLCJzaGFwZSIsInNpemUiLCJzcGFuIiwic3RhcnQiLCJzdW1tYXJ5IiwidGFiSW5kZXgiLCJ0aXRsZSIsInVzZU1hcCIsInZBbGlnbiIsInZhbHVlIiwid2lkdGgiXX0sY2xvYmJlcjpbImFyaWFEZXNjcmliZWRCeSIsImFyaWFMYWJlbGxlZEJ5IiwiaWQiLCJuYW1lIl0sY2xvYmJlclByZWZpeDoidXNlci1jb250ZW50LSIscHJvdG9jb2xzOntjaXRlOlsiaHR0cCIsImh0dHBzIl0saHJlZjpbImh0dHAiLCJodHRwcyIsImlyYyIsImlyY3MiLCJtYWlsdG8iLCJ4bXBwIl0sbG9uZ0Rlc2M6WyJodHRwIiwiaHR0cHMiXSxzcmM6WyJodHRwIiwiaHR0cHMiXX0scmVxdWlyZWQ6e2lucHV0OntkaXNhYmxlZDohMCx0eXBlOiJjaGVja2JveCJ9fSxzdHJpcDpbInNjcmlwdCJdLHRhZ05hbWVzOlsiYSIsImIiLCJibG9ja3F1b3RlIiwiYnIiLCJjb2RlIiwiZGQiLCJkZWwiLCJkZXRhaWxzIiwiZGl2IiwiZGwiLCJkdCIsImVtIiwiaDEiLCJoMiIsImgzIiwiaDQiLCJoNSIsImg2IiwiaHIiLCJpIiwiaW1nIiwiaW5wdXQiLCJpbnMiLCJrYmQiLCJsaSIsIm9sIiwicCIsInBpY3R1cmUiLCJwcmUiLCJxIiwicnAiLCJydCIsInJ1YnkiLCJzIiwic2FtcCIsInNlY3Rpb24iLCJzb3VyY2UiLCJzcGFuIiwic3RyaWtlIiwic3Ryb25nIiwic3ViIiwic3VtbWFyeSIsInN1cCIsInRhYmxlIiwidGJvZHkiLCJ0ZCIsInRmb290IiwidGgiLCJ0aGVhZCIsInRyIiwidHQiLCJ1bCIsInZhciJdfX0pO2Z1bmN0aW9uIGhhZShlLHQpe2xldCByPXt0eXBlOiJyb290IixjaGlsZHJlbjpbXX0sYT17c2NoZW1hOnQ/ey4uLlhMLC4uLnR9OlhMLHN0YWNrOltdfSxpPUdRZShhLGUpO3JldHVybiBpJiYoQXJyYXkuaXNBcnJheShpKT9pLmxlbmd0aD09PTE/cj1pWzBdOnIuY2hpbGRyZW49aTpyPWkpLHJ9ZnVuY3Rpb24gR1FlKGUsdCl7aWYodCYmdHlwZW9mIHQ9PSJvYmplY3QiKXtsZXQgcj10O3N3aXRjaCh0eXBlb2Ygci50eXBlPT0ic3RyaW5nIj9yLnR5cGU6IiIpe2Nhc2UiY29tbWVudCI6cmV0dXJuIFVWcihlLHIpO2Nhc2UiZG9jdHlwZSI6cmV0dXJuIFdWcihlLHIpO2Nhc2UiZWxlbWVudCI6cmV0dXJuIEdWcihlLHIpO2Nhc2Uicm9vdCI6cmV0dXJuIFlWcihlLHIpO2Nhc2UidGV4dCI6cmV0dXJuIFpWcihlLHIpO2RlZmF1bHQ6fX19ZnVuY3Rpb24gVVZyKGUsdCl7aWYoZS5zY2hlbWEuYWxsb3dDb21tZW50cyl7bGV0IHI9dHlwZW9mIHQudmFsdWU9PSJzdHJpbmciP3QudmFsdWU6IiIsYT1yLmluZGV4T2YoIi0tPiIpLG49e3R5cGU6ImNvbW1lbnQiLHZhbHVlOmE8MD9yOnIuc2xpY2UoMCxhKX07cmV0dXJuIHdnKG4sdCksbn19ZnVuY3Rpb24gV1ZyKGUsdCl7aWYoZS5zY2hlbWEuYWxsb3dEb2N0eXBlcyl7bGV0IHI9e3R5cGU6ImRvY3R5cGUifTtyZXR1cm4gd2cocix0KSxyfX1mdW5jdGlvbiBHVnIoZSx0KXtsZXQgcj10eXBlb2YgdC50YWdOYW1lPT0ic3RyaW5nIj90LnRhZ05hbWU6IiI7ZS5zdGFjay5wdXNoKHIpO2xldCBhPVlRZShlLHQuY2hpbGRyZW4pLGk9WFZyKGUsdC5wcm9wZXJ0aWVzKTtlLnN0YWNrLnBvcCgpO2xldCBuPSExO2lmKHImJnIhPT0iKiImJighZS5zY2hlbWEudGFnTmFtZXN8fGUuc2NoZW1hLnRhZ05hbWVzLmluY2x1ZGVzKHIpKSYmKG49ITAsZS5zY2hlbWEuYW5jZXN0b3JzJiZBNC5jYWxsKGUuc2NoZW1hLmFuY2VzdG9ycyxyKSkpe2xldCBvPWUuc2NoZW1hLmFuY2VzdG9yc1tyXSxjPS0xO2ZvcihuPSExOysrYzxvLmxlbmd0aDspZS5zdGFjay5pbmNsdWRlcyhvW2NdKSYmKG49ITApfWlmKCFuKXJldHVybiBlLnNjaGVtYS5zdHJpcCYmIWUuc2NoZW1hLnN0cmlwLmluY2x1ZGVzKHIpP2E6dm9pZCAwO2xldCBzPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOnIscHJvcGVydGllczppLGNoaWxkcmVuOmF9O3JldHVybiB3ZyhzLHQpLHN9ZnVuY3Rpb24gWVZyKGUsdCl7bGV0IGE9e3R5cGU6InJvb3QiLGNoaWxkcmVuOllRZShlLHQuY2hpbGRyZW4pfTtyZXR1cm4gd2coYSx0KSxhfWZ1bmN0aW9uIFpWcihlLHQpe2xldCBhPXt0eXBlOiJ0ZXh0Iix2YWx1ZTp0eXBlb2YgdC52YWx1ZT09InN0cmluZyI/dC52YWx1ZToiIn07cmV0dXJuIHdnKGEsdCksYX1mdW5jdGlvbiBZUWUoZSx0KXtsZXQgcj1bXTtpZihBcnJheS5pc0FycmF5KHQpKXtsZXQgYT10LGk9LTE7Zm9yKDsrK2k8YS5sZW5ndGg7KXtsZXQgbj1HUWUoZSxhW2ldKTtuJiYoQXJyYXkuaXNBcnJheShuKT9yLnB1c2goLi4ubik6ci5wdXNoKG4pKX19cmV0dXJuIHJ9ZnVuY3Rpb24gWFZyKGUsdCl7bGV0IHI9ZS5zdGFja1tlLnN0YWNrLmxlbmd0aC0xXSxhPWUuc2NoZW1hLmF0dHJpYnV0ZXMsaT1lLnNjaGVtYS5yZXF1aXJlZCxuPWEmJkE0LmNhbGwoYSxyKT9hW3JdOnZvaWQgMCxzPWEmJkE0LmNhbGwoYSwiKiIpP2FbIioiXTp2b2lkIDAsbz10JiZ0eXBlb2YgdD09Im9iamVjdCI/dDp7fSxjPXt9LGw7Zm9yKGwgaW4gbylpZihBNC5jYWxsKG8sbCkpe2xldCB1PW9bbF0sZD1aUWUoZSxRUWUobixsKSxsLHUpO2Q9PW51bGwmJihkPVpRZShlLFFRZShzLGwpLGwsdSkpLGQhPW51bGwmJihjW2xdPWQpfWlmKGkmJkE0LmNhbGwoaSxyKSl7bGV0IHU9aVtyXTtmb3IobCBpbiB1KUE0LmNhbGwodSxsKSYmIUE0LmNhbGwoYyxsKSYmKGNbbF09dVtsXSl9cmV0dXJuIGN9ZnVuY3Rpb24gWlFlKGUsdCxyLGEpe3JldHVybiB0P0FycmF5LmlzQXJyYXkoYSk/UVZyKGUsdCxyLGEpOlhRZShlLHQscixhKTp2b2lkIDB9ZnVuY3Rpb24gUVZyKGUsdCxyLGEpe2xldCBpPS0xLG49W107Zm9yKDsrK2k8YS5sZW5ndGg7KXtsZXQgcz1YUWUoZSx0LHIsYVtpXSk7KHR5cGVvZiBzPT0ibnVtYmVyInx8dHlwZW9mIHM9PSJzdHJpbmciKSYmbi5wdXNoKHMpfXJldHVybiBufWZ1bmN0aW9uIFhRZShlLHQscixhKXtpZighKHR5cGVvZiBhIT0iYm9vbGVhbiImJnR5cGVvZiBhIT0ibnVtYmVyIiYmdHlwZW9mIGEhPSJzdHJpbmciKSYmSlZyKGUscixhKSl7aWYodHlwZW9mIHQ9PSJvYmplY3QiJiZ0Lmxlbmd0aD4xKXtsZXQgaT0hMSxuPTA7Zm9yKDsrK248dC5sZW5ndGg7KXtsZXQgcz10W25dO2lmKHMmJnR5cGVvZiBzPT0ib2JqZWN0IiYmImZsYWdzImluIHMpe2lmKHMudGVzdChTdHJpbmcoYSkpKXtpPSEwO2JyZWFrfX1lbHNlIGlmKHM9PT1hKXtpPSEwO2JyZWFrfX1pZighaSlyZXR1cm59cmV0dXJuIGUuc2NoZW1hLmNsb2JiZXImJmUuc2NoZW1hLmNsb2JiZXJQcmVmaXgmJmUuc2NoZW1hLmNsb2JiZXIuaW5jbHVkZXMocik/ZS5zY2hlbWEuY2xvYmJlclByZWZpeCthOmF9fWZ1bmN0aW9uIEpWcihlLHQscil7bGV0IGE9ZS5zY2hlbWEucHJvdG9jb2xzJiZBNC5jYWxsKGUuc2NoZW1hLnByb3RvY29scyx0KT9lLnNjaGVtYS5wcm90b2NvbHNbdF06dm9pZCAwO2lmKCFhfHxhLmxlbmd0aD09PTApcmV0dXJuITA7bGV0IGk9U3RyaW5nKHIpLG49aS5pbmRleE9mKCI6Iikscz1pLmluZGV4T2YoIj8iKSxvPWkuaW5kZXhPZigiIyIpLGM9aS5pbmRleE9mKCIvIik7aWYobjwwfHxjPi0xJiZuPmN8fHM+LTEmJm4+c3x8bz4tMSYmbj5vKXJldHVybiEwO2xldCBsPS0xO2Zvcig7KytsPGEubGVuZ3RoOyl7bGV0IHU9YVtsXTtpZihuPT09dS5sZW5ndGgmJmkuc2xpY2UoMCx1Lmxlbmd0aCk9PT11KXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIHdnKGUsdCl7bGV0IHI9eWcodCk7dC5kYXRhJiYoZS5kYXRhPUQ0KHQuZGF0YSkpLHImJihlLnBvc2l0aW9uPXIpfWZ1bmN0aW9uIFFRZShlLHQpe2xldCByLGE9LTE7aWYoZSlmb3IoOysrYTxlLmxlbmd0aDspe2xldCBpPWVbYV0sbj10eXBlb2YgaT09InN0cmluZyI/aTppWzBdO2lmKG49PT10KXJldHVybiBpO249PT0iZGF0YSoiJiYocj1pKX1pZih0Lmxlbmd0aD40JiZ0LnNsaWNlKDAsNCkudG9Mb3dlckNhc2UoKT09PSJkYXRhIilyZXR1cm4gcn12YXIgQTQsSlFlPWYoKCk9PntXTCgpO1pMKCk7ZmFlKCk7QTQ9e30uaGFzT3duUHJvcGVydHl9KTt2YXIgS1FlPWYoKCk9PntKUWUoKTtmYWUoKX0pO2Z1bmN0aW9uIGVKZShlLHQpe2xldCByPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJibG9ja3F1b3RlIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUud3JhcChlLmFsbCh0KSwhMCl9O3JldHVybiBlLnBhdGNoKHQsciksZS5hcHBseURhdGEodCxyKX12YXIgdEplPWYoKCk9Pnt9KTtmdW5jdGlvbiBySmUoZSx0KXtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiYnIiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W119O3JldHVybiBlLnBhdGNoKHQsciksW2UuYXBwbHlEYXRhKHQscikse3R5cGU6InRleHQiLHZhbHVlOmAKYH1dfXZhciBhSmU9ZigoKT0+e30pO2Z1bmN0aW9uIGlKZShlLHQpe2xldCByPXQudmFsdWU/dC52YWx1ZStgCmA6IiIsYT17fSxpPXQubGFuZz90Lmxhbmcuc3BsaXQoL1xzKy8pOltdO2kubGVuZ3RoPjAmJihhLmNsYXNzTmFtZT1bImxhbmd1YWdlLSIraVswXV0pO2xldCBuPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJjb2RlIixwcm9wZXJ0aWVzOmEsY2hpbGRyZW46W3t0eXBlOiJ0ZXh0Iix2YWx1ZTpyfV19O3JldHVybiB0Lm1ldGEmJihuLmRhdGE9e21ldGE6dC5tZXRhfSksZS5wYXRjaCh0LG4pLG49ZS5hcHBseURhdGEodCxuKSxuPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJwcmUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W25dfSxlLnBhdGNoKHQsbiksbn12YXIgbkplPWYoKCk9Pnt9KTtmdW5jdGlvbiBzSmUoZSx0KXtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiZGVsIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUuYWxsKHQpfTtyZXR1cm4gZS5wYXRjaCh0LHIpLGUuYXBwbHlEYXRhKHQscil9dmFyIG9KZT1mKCgpPT57fSk7ZnVuY3Rpb24gbEplKGUsdCl7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImVtIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUuYWxsKHQpfTtyZXR1cm4gZS5wYXRjaCh0LHIpLGUuYXBwbHlEYXRhKHQscil9dmFyIGNKZT1mKCgpPT57fSk7ZnVuY3Rpb24gZEplKGUsdCl7bGV0IHI9dHlwZW9mIGUub3B0aW9ucy5jbG9iYmVyUHJlZml4PT0ic3RyaW5nIj9lLm9wdGlvbnMuY2xvYmJlclByZWZpeDoidXNlci1jb250ZW50LSIsYT1TdHJpbmcodC5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpLGk9WDEoYS50b0xvd2VyQ2FzZSgpKSxuPWUuZm9vdG5vdGVPcmRlci5pbmRleE9mKGEpLHMsbz1lLmZvb3Rub3RlQ291bnRzLmdldChhKTtvPT09dm9pZCAwPyhvPTAsZS5mb290bm90ZU9yZGVyLnB1c2goYSkscz1lLmZvb3Rub3RlT3JkZXIubGVuZ3RoKTpzPW4rMSxvKz0xLGUuZm9vdG5vdGVDb3VudHMuc2V0KGEsbyk7bGV0IGM9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6e2hyZWY6IiMiK3IrImZuLSIraSxpZDpyKyJmbnJlZi0iK2krKG8+MT8iLSIrbzoiIiksZGF0YUZvb3Rub3RlUmVmOiEwLGFyaWFEZXNjcmliZWRCeTpbImZvb3Rub3RlLWxhYmVsIl19LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKHMpfV19O2UucGF0Y2godCxjKTtsZXQgbD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltjXX07cmV0dXJuIGUucGF0Y2godCxsKSxlLmFwcGx5RGF0YSh0LGwpfXZhciB1SmU9ZigoKT0+e3RsKCl9KTtmdW5jdGlvbiBwSmUoZSx0KXtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaCIrdC5kZXB0aCxwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUuYWxsKHQpfTtyZXR1cm4gZS5wYXRjaCh0LHIpLGUuYXBwbHlEYXRhKHQscil9dmFyIGZKZT1mKCgpPT57fSk7ZnVuY3Rpb24gaEplKGUsdCl7aWYoZS5vcHRpb25zLmFsbG93RGFuZ2Vyb3VzSHRtbCl7bGV0IHI9e3R5cGU6InJhdyIsdmFsdWU6dC52YWx1ZX07cmV0dXJuIGUucGF0Y2godCxyKSxlLmFwcGx5RGF0YSh0LHIpfX12YXIgbUplPWYoKCk9Pnt9KTtmdW5jdGlvbiBRTChlLHQpe2xldCByPXQucmVmZXJlbmNlVHlwZSxhPSJdIjtpZihyPT09ImNvbGxhcHNlZCI/YSs9IltdIjpyPT09ImZ1bGwiJiYoYSs9IlsiKyh0LmxhYmVsfHx0LmlkZW50aWZpZXIpKyJdIiksdC50eXBlPT09ImltYWdlUmVmZXJlbmNlIilyZXR1cm5be3R5cGU6InRleHQiLHZhbHVlOiIhWyIrdC5hbHQrYX1dO2xldCBpPWUuYWxsKHQpLG49aVswXTtuJiZuLnR5cGU9PT0idGV4dCI/bi52YWx1ZT0iWyIrbi52YWx1ZTppLnVuc2hpZnQoe3R5cGU6InRleHQiLHZhbHVlOiJbIn0pO2xldCBzPWlbaS5sZW5ndGgtMV07cmV0dXJuIHMmJnMudHlwZT09PSJ0ZXh0Ij9zLnZhbHVlKz1hOmkucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YX0pLGl9dmFyIG1hZT1mKCgpPT57fSk7ZnVuY3Rpb24gZ0plKGUsdCl7bGV0IHI9U3RyaW5nKHQuaWRlbnRpZmllcikudG9VcHBlckNhc2UoKSxhPWUuZGVmaW5pdGlvbkJ5SWQuZ2V0KHIpO2lmKCFhKXJldHVybiBRTChlLHQpO2xldCBpPXtzcmM6WDEoYS51cmx8fCIiKSxhbHQ6dC5hbHR9O2EudGl0bGUhPT1udWxsJiZhLnRpdGxlIT09dm9pZCAwJiYoaS50aXRsZT1hLnRpdGxlKTtsZXQgbj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaW1nIixwcm9wZXJ0aWVzOmksY2hpbGRyZW46W119O3JldHVybiBlLnBhdGNoKHQsbiksZS5hcHBseURhdGEodCxuKX12YXIgYkplPWYoKCk9Pnt0bCgpO21hZSgpfSk7ZnVuY3Rpb24gdkplKGUsdCl7bGV0IHI9e3NyYzpYMSh0LnVybCl9O3QuYWx0IT09bnVsbCYmdC5hbHQhPT12b2lkIDAmJihyLmFsdD10LmFsdCksdC50aXRsZSE9PW51bGwmJnQudGl0bGUhPT12b2lkIDAmJihyLnRpdGxlPXQudGl0bGUpO2xldCBhPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJpbWciLHByb3BlcnRpZXM6cixjaGlsZHJlbjpbXX07cmV0dXJuIGUucGF0Y2godCxhKSxlLmFwcGx5RGF0YSh0LGEpfXZhciB4SmU9ZigoKT0+e3RsKCl9KTtmdW5jdGlvbiB5SmUoZSx0KXtsZXQgcj17dHlwZToidGV4dCIsdmFsdWU6dC52YWx1ZS5yZXBsYWNlKC9ccj9cbnxcci9nLCIgIil9O2UucGF0Y2godCxyKTtsZXQgYT17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiY29kZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbcl19O3JldHVybiBlLnBhdGNoKHQsYSksZS5hcHBseURhdGEodCxhKX12YXIgd0plPWYoKCk9Pnt9KTtmdW5jdGlvbiBNSmUoZSx0KXtsZXQgcj1TdHJpbmcodC5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpLGE9ZS5kZWZpbml0aW9uQnlJZC5nZXQocik7aWYoIWEpcmV0dXJuIFFMKGUsdCk7bGV0IGk9e2hyZWY6WDEoYS51cmx8fCIiKX07YS50aXRsZSE9PW51bGwmJmEudGl0bGUhPT12b2lkIDAmJihpLnRpdGxlPWEudGl0bGUpO2xldCBuPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOmksY2hpbGRyZW46ZS5hbGwodCl9O3JldHVybiBlLnBhdGNoKHQsbiksZS5hcHBseURhdGEodCxuKX12YXIga0plPWYoKCk9Pnt0bCgpO21hZSgpfSk7ZnVuY3Rpb24gU0plKGUsdCl7bGV0IHI9e2hyZWY6WDEodC51cmwpfTt0LnRpdGxlIT09bnVsbCYmdC50aXRsZSE9PXZvaWQgMCYmKHIudGl0bGU9dC50aXRsZSk7bGV0IGE9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6cixjaGlsZHJlbjplLmFsbCh0KX07cmV0dXJuIGUucGF0Y2godCxhKSxlLmFwcGx5RGF0YSh0LGEpfXZhciB6SmU9ZigoKT0+e3RsKCl9KTtmdW5jdGlvbiBUSmUoZSx0LHIpe2xldCBhPWUuYWxsKHQpLGk9cj9LVnIocik6Q0plKHQpLG49e30scz1bXTtpZih0eXBlb2YgdC5jaGVja2VkPT0iYm9vbGVhbiIpe2xldCB1PWFbMF0sZDt1JiZ1LnR5cGU9PT0iZWxlbWVudCImJnUudGFnTmFtZT09PSJwIj9kPXU6KGQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InAiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W119LGEudW5zaGlmdChkKSksZC5jaGlsZHJlbi5sZW5ndGg+MCYmZC5jaGlsZHJlbi51bnNoaWZ0KHt0eXBlOiJ0ZXh0Iix2YWx1ZToiICJ9KSxkLmNoaWxkcmVuLnVuc2hpZnQoe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImlucHV0Iixwcm9wZXJ0aWVzOnt0eXBlOiJjaGVja2JveCIsY2hlY2tlZDp0LmNoZWNrZWQsZGlzYWJsZWQ6ITB9LGNoaWxkcmVuOltdfSksbi5jbGFzc05hbWU9WyJ0YXNrLWxpc3QtaXRlbSJdfWxldCBvPS0xO2Zvcig7KytvPGEubGVuZ3RoOyl7bGV0IHU9YVtvXTsoaXx8byE9PTB8fHUudHlwZSE9PSJlbGVtZW50Inx8dS50YWdOYW1lIT09InAiKSYmcy5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSx1LnR5cGU9PT0iZWxlbWVudCImJnUudGFnTmFtZT09PSJwIiYmIWk/cy5wdXNoKC4uLnUuY2hpbGRyZW4pOnMucHVzaCh1KX1sZXQgYz1hW2EubGVuZ3RoLTFdO2MmJihpfHxjLnR5cGUhPT0iZWxlbWVudCJ8fGMudGFnTmFtZSE9PSJwIikmJnMucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSk7bGV0IGw9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImxpIixwcm9wZXJ0aWVzOm4sY2hpbGRyZW46c307cmV0dXJuIGUucGF0Y2godCxsKSxlLmFwcGx5RGF0YSh0LGwpfWZ1bmN0aW9uIEtWcihlKXtsZXQgdD0hMTtpZihlLnR5cGU9PT0ibGlzdCIpe3Q9ZS5zcHJlYWR8fCExO2xldCByPWUuY2hpbGRyZW4sYT0tMTtmb3IoOyF0JiYrK2E8ci5sZW5ndGg7KXQ9Q0plKHJbYV0pfXJldHVybiB0fWZ1bmN0aW9uIENKZShlKXtsZXQgdD1lLnNwcmVhZDtyZXR1cm4gdD8/ZS5jaGlsZHJlbi5sZW5ndGg+MX12YXIgX0plPWYoKCk9Pnt9KTtmdW5jdGlvbiBMSmUoZSx0KXtsZXQgcj17fSxhPWUuYWxsKHQpLGk9LTE7Zm9yKHR5cGVvZiB0LnN0YXJ0PT0ibnVtYmVyIiYmdC5zdGFydCE9PTEmJihyLnN0YXJ0PXQuc3RhcnQpOysraTxhLmxlbmd0aDspe2xldCBzPWFbaV07aWYocy50eXBlPT09ImVsZW1lbnQiJiZzLnRhZ05hbWU9PT0ibGkiJiZzLnByb3BlcnRpZXMmJkFycmF5LmlzQXJyYXkocy5wcm9wZXJ0aWVzLmNsYXNzTmFtZSkmJnMucHJvcGVydGllcy5jbGFzc05hbWUuaW5jbHVkZXMoInRhc2stbGlzdC1pdGVtIikpe3IuY2xhc3NOYW1lPVsiY29udGFpbnMtdGFzay1saXN0Il07YnJlYWt9fWxldCBuPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOnQub3JkZXJlZD8ib2wiOiJ1bCIscHJvcGVydGllczpyLGNoaWxkcmVuOmUud3JhcChhLCEwKX07cmV0dXJuIGUucGF0Y2godCxuKSxlLmFwcGx5RGF0YSh0LG4pfXZhciAkSmU9ZigoKT0+e30pO2Z1bmN0aW9uIERKZShlLHQpe2xldCByPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUuYWxsKHQpfTtyZXR1cm4gZS5wYXRjaCh0LHIpLGUuYXBwbHlEYXRhKHQscil9dmFyIEFKZT1mKCgpPT57fSk7ZnVuY3Rpb24gRUplKGUsdCl7bGV0IHI9e3R5cGU6InJvb3QiLGNoaWxkcmVuOmUud3JhcChlLmFsbCh0KSl9O3JldHVybiBlLnBhdGNoKHQsciksZS5hcHBseURhdGEodCxyKX12YXIgSUplPWYoKCk9Pnt9KTtmdW5jdGlvbiBQSmUoZSx0KXtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3Ryb25nIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUuYWxsKHQpfTtyZXR1cm4gZS5wYXRjaCh0LHIpLGUuYXBwbHlEYXRhKHQscil9dmFyIE5KZT1mKCgpPT57fSk7ZnVuY3Rpb24gRkplKGUsdCl7bGV0IHI9ZS5hbGwodCksYT1yLnNoaWZ0KCksaT1bXTtpZihhKXtsZXQgcz17dHlwZToiZWxlbWVudCIsdGFnTmFtZToidGhlYWQiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46ZS53cmFwKFthXSwhMCl9O2UucGF0Y2godC5jaGlsZHJlblswXSxzKSxpLnB1c2gocyl9aWYoci5sZW5ndGg+MCl7bGV0IHM9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRib2R5Iixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUud3JhcChyLCEwKX0sbz1ZTCh0LmNoaWxkcmVuWzFdKSxjPUdMKHQuY2hpbGRyZW5bdC5jaGlsZHJlbi5sZW5ndGgtMV0pO28mJmMmJihzLnBvc2l0aW9uPXtzdGFydDpvLGVuZDpjfSksaS5wdXNoKHMpfWxldCBuPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJ0YWJsZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjplLndyYXAoaSwhMCl9O3JldHVybiBlLnBhdGNoKHQsbiksZS5hcHBseURhdGEodCxuKX12YXIgT0plPWYoKCk9PntaTCgpfSk7ZnVuY3Rpb24gUkplKGUsdCxyKXtsZXQgYT1yP3IuY2hpbGRyZW46dm9pZCAwLG49KGE/YS5pbmRleE9mKHQpOjEpPT09MD8idGgiOiJ0ZCIscz1yJiZyLnR5cGU9PT0idGFibGUiP3IuYWxpZ246dm9pZCAwLG89cz9zLmxlbmd0aDp0LmNoaWxkcmVuLmxlbmd0aCxjPS0xLGw9W107Zm9yKDsrK2M8bzspe2xldCBkPXQuY2hpbGRyZW5bY10saD17fSxtPXM/c1tjXTp2b2lkIDA7bSYmKGguYWxpZ249bSk7bGV0IHY9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6bixwcm9wZXJ0aWVzOmgsY2hpbGRyZW46W119O2QmJih2LmNoaWxkcmVuPWUuYWxsKGQpLGUucGF0Y2goZCx2KSx2PWUuYXBwbHlEYXRhKGQsdikpLGwucHVzaCh2KX1sZXQgdT17dHlwZToiZWxlbWVudCIsdGFnTmFtZToidHIiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46ZS53cmFwKGwsITApfTtyZXR1cm4gZS5wYXRjaCh0LHUpLGUuYXBwbHlEYXRhKHQsdSl9dmFyIEJKZT1mKCgpPT57fSk7ZnVuY3Rpb24gSEplKGUsdCl7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmUuYWxsKHQpfTtyZXR1cm4gZS5wYXRjaCh0LHIpLGUuYXBwbHlEYXRhKHQscil9dmFyIHFKZT1mKCgpPT57fSk7ZnVuY3Rpb24gVkplKGUpe2xldCB0PVN0cmluZyhlKSxyPS9ccj9cbnxcci9nLGE9ci5leGVjKHQpLGk9MCxuPVtdO2Zvcig7YTspbi5wdXNoKGpKZSh0LnNsaWNlKGksYS5pbmRleCksaT4wLCEwKSxhWzBdKSxpPWEuaW5kZXgrYVswXS5sZW5ndGgsYT1yLmV4ZWModCk7cmV0dXJuIG4ucHVzaChqSmUodC5zbGljZShpKSxpPjAsITEpKSxuLmpvaW4oIiIpfWZ1bmN0aW9uIGpKZShlLHQscil7bGV0IGE9MCxpPWUubGVuZ3RoO2lmKHQpe2xldCBuPWUuY29kZVBvaW50QXQoYSk7Zm9yKDtuPT09OXx8bj09PTMyOylhKyssbj1lLmNvZGVQb2ludEF0KGEpfWlmKHIpe2xldCBuPWUuY29kZVBvaW50QXQoaS0xKTtmb3IoO249PT05fHxuPT09MzI7KWktLSxuPWUuY29kZVBvaW50QXQoaS0xKX1yZXR1cm4gaT5hP2Uuc2xpY2UoYSxpKToiIn12YXIgbUdpLGdHaSxVSmU9ZigoKT0+e21HaT05LGdHaT0zMn0pO2Z1bmN0aW9uIFdKZShlLHQpe2xldCByPXt0eXBlOiJ0ZXh0Iix2YWx1ZTpWSmUoU3RyaW5nKHQudmFsdWUpKX07cmV0dXJuIGUucGF0Y2godCxyKSxlLmFwcGx5RGF0YSh0LHIpfXZhciBHSmU9ZigoKT0+e1VKZSgpfSk7ZnVuY3Rpb24gWUplKGUsdCl7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImhyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltdfTtyZXR1cm4gZS5wYXRjaCh0LHIpLGUuYXBwbHlEYXRhKHQscil9dmFyIFpKZT1mKCgpPT57fSk7ZnVuY3Rpb24gSkwoKXt9dmFyIGdhZSxiYWU9ZigoKT0+e3RKZSgpO2FKZSgpO25KZSgpO29KZSgpO2NKZSgpO3VKZSgpO2ZKZSgpO21KZSgpO2JKZSgpO3hKZSgpO3dKZSgpO2tKZSgpO3pKZSgpO19KZSgpOyRKZSgpO0FKZSgpO0lKZSgpO05KZSgpO09KZSgpO0JKZSgpO3FKZSgpO0dKZSgpO1pKZSgpO2dhZT17YmxvY2txdW90ZTplSmUsYnJlYWs6ckplLGNvZGU6aUplLGRlbGV0ZTpzSmUsZW1waGFzaXM6bEplLGZvb3Rub3RlUmVmZXJlbmNlOmRKZSxoZWFkaW5nOnBKZSxodG1sOmhKZSxpbWFnZVJlZmVyZW5jZTpnSmUsaW1hZ2U6dkplLGlubGluZUNvZGU6eUplLGxpbmtSZWZlcmVuY2U6TUplLGxpbms6U0plLGxpc3RJdGVtOlRKZSxsaXN0OkxKZSxwYXJhZ3JhcGg6REplLHJvb3Q6RUplLHN0cm9uZzpQSmUsdGFibGU6RkplLHRhYmxlQ2VsbDpISmUsdGFibGVSb3c6UkplLHRleHQ6V0plLHRoZW1hdGljQnJlYWs6WUplLHRvbWw6SkwseWFtbDpKTCxkZWZpbml0aW9uOkpMLGZvb3Rub3RlRGVmaW5pdGlvbjpKTH19KTtmdW5jdGlvbiBYSmUoZSx0KXtsZXQgcj1be3R5cGU6InRleHQiLHZhbHVlOiJcdTIxQTkifV07cmV0dXJuIHQ+MSYmci5wdXNoKHt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJzdXAiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W3t0eXBlOiJ0ZXh0Iix2YWx1ZTpTdHJpbmcodCl9XX0pLHJ9ZnVuY3Rpb24gUUplKGUsdCl7cmV0dXJuIkJhY2sgdG8gcmVmZXJlbmNlICIrKGUrMSkrKHQ+MT8iLSIrdDoiIil9ZnVuY3Rpb24gSkplKGUpe2xldCB0PXR5cGVvZiBlLm9wdGlvbnMuY2xvYmJlclByZWZpeD09InN0cmluZyI/ZS5vcHRpb25zLmNsb2JiZXJQcmVmaXg6InVzZXItY29udGVudC0iLHI9ZS5vcHRpb25zLmZvb3Rub3RlQmFja0NvbnRlbnR8fFhKZSxhPWUub3B0aW9ucy5mb290bm90ZUJhY2tMYWJlbHx8UUplLGk9ZS5vcHRpb25zLmZvb3Rub3RlTGFiZWx8fCJGb290bm90ZXMiLG49ZS5vcHRpb25zLmZvb3Rub3RlTGFiZWxUYWdOYW1lfHwiaDIiLHM9ZS5vcHRpb25zLmZvb3Rub3RlTGFiZWxQcm9wZXJ0aWVzfHx7Y2xhc3NOYW1lOlsic3Itb25seSJdfSxvPVtdLGM9LTE7Zm9yKDsrK2M8ZS5mb290bm90ZU9yZGVyLmxlbmd0aDspe2xldCBsPWUuZm9vdG5vdGVCeUlkLmdldChlLmZvb3Rub3RlT3JkZXJbY10pO2lmKCFsKWNvbnRpbnVlO2xldCB1PWUuYWxsKGwpLGQ9U3RyaW5nKGwuaWRlbnRpZmllcikudG9VcHBlckNhc2UoKSxoPVgxKGQudG9Mb3dlckNhc2UoKSksbT0wLHY9W10sYj1lLmZvb3Rub3RlQ291bnRzLmdldChkKTtmb3IoO2IhPT12b2lkIDAmJisrbTw9Yjspe3YubGVuZ3RoPjAmJnYucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6IiAifSk7bGV0IHc9dHlwZW9mIHI9PSJzdHJpbmciP3I6cihjLG0pO3R5cGVvZiB3PT0ic3RyaW5nIiYmKHc9e3R5cGU6InRleHQiLHZhbHVlOnd9KSx2LnB1c2goe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6e2hyZWY6IiMiK3QrImZucmVmLSIraCsobT4xPyItIittOiIiKSxkYXRhRm9vdG5vdGVCYWNrcmVmOiIiLGFyaWFMYWJlbDp0eXBlb2YgYT09InN0cmluZyI/YTphKGMsbSksY2xhc3NOYW1lOlsiZGF0YS1mb290bm90ZS1iYWNrcmVmIl19LGNoaWxkcmVuOkFycmF5LmlzQXJyYXkodyk/dzpbd119KX1sZXQgZz11W3UubGVuZ3RoLTFdO2lmKGcmJmcudHlwZT09PSJlbGVtZW50IiYmZy50YWdOYW1lPT09InAiKXtsZXQgdz1nLmNoaWxkcmVuW2cuY2hpbGRyZW4ubGVuZ3RoLTFdO3cmJncudHlwZT09PSJ0ZXh0Ij93LnZhbHVlKz0iICI6Zy5jaGlsZHJlbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZToiICJ9KSxnLmNoaWxkcmVuLnB1c2goLi4udil9ZWxzZSB1LnB1c2goLi4udik7bGV0IHk9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImxpIixwcm9wZXJ0aWVzOntpZDp0KyJmbi0iK2h9LGNoaWxkcmVuOmUud3JhcCh1LCEwKX07ZS5wYXRjaChsLHkpLG8ucHVzaCh5KX1pZihvLmxlbmd0aCE9PTApcmV0dXJue3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InNlY3Rpb24iLHByb3BlcnRpZXM6e2RhdGFGb290bm90ZXM6ITAsY2xhc3NOYW1lOlsiZm9vdG5vdGVzIl19LGNoaWxkcmVuOlt7dHlwZToiZWxlbWVudCIsdGFnTmFtZTpuLHByb3BlcnRpZXM6ey4uLkQ0KHMpLGlkOiJmb290bm90ZS1sYWJlbCJ9LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6aX1dfSx7dHlwZToidGV4dCIsdmFsdWU6YApgfSx7dHlwZToiZWxlbWVudCIsdGFnTmFtZToib2wiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46ZS53cmFwKG8sITApfSx7dHlwZToidGV4dCIsdmFsdWU6YApgfV19fXZhciB2YWU9ZigoKT0+e1dMKCk7dGwoKX0pO2Z1bmN0aW9uIGVLZShlLHQpe2xldCByPXR8fGVVcixhPW5ldyBNYXAsaT1uZXcgTWFwLG49bmV3IE1hcCxzPXsuLi5nYWUsLi4uci5oYW5kbGVyc30sbz17YWxsOmwsYXBwbHlEYXRhOnJVcixkZWZpbml0aW9uQnlJZDphLGZvb3Rub3RlQnlJZDppLGZvb3Rub3RlQ291bnRzOm4sZm9vdG5vdGVPcmRlcjpbXSxoYW5kbGVyczpzLG9uZTpjLG9wdGlvbnM6cixwYXRjaDp0VXIsd3JhcDppVXJ9O3JldHVybiBuZyhlLGZ1bmN0aW9uKHUpe2lmKHUudHlwZT09PSJkZWZpbml0aW9uInx8dS50eXBlPT09ImZvb3Rub3RlRGVmaW5pdGlvbiIpe2xldCBkPXUudHlwZT09PSJkZWZpbml0aW9uIj9hOmksaD1TdHJpbmcodS5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpO2QuaGFzKGgpfHxkLnNldChoLHUpfX0pLG87ZnVuY3Rpb24gYyh1LGQpe2xldCBoPXUudHlwZSxtPW8uaGFuZGxlcnNbaF07aWYoeGFlLmNhbGwoby5oYW5kbGVycyxoKSYmbSlyZXR1cm4gbShvLHUsZCk7aWYoby5vcHRpb25zLnBhc3NUaHJvdWdoJiZvLm9wdGlvbnMucGFzc1Rocm91Z2guaW5jbHVkZXMoaCkpe2lmKCJjaGlsZHJlbiJpbiB1KXtsZXR7Y2hpbGRyZW46YiwuLi5nfT11LHk9RDQoZyk7cmV0dXJuIHkuY2hpbGRyZW49by5hbGwodSkseX1yZXR1cm4gRDQodSl9cmV0dXJuKG8ub3B0aW9ucy51bmtub3duSGFuZGxlcnx8YVVyKShvLHUsZCl9ZnVuY3Rpb24gbCh1KXtsZXQgZD1bXTtpZigiY2hpbGRyZW4iaW4gdSl7bGV0IGg9dS5jaGlsZHJlbixtPS0xO2Zvcig7KyttPGgubGVuZ3RoOyl7bGV0IHY9by5vbmUoaFttXSx1KTtpZih2KXtpZihtJiZoW20tMV0udHlwZT09PSJicmVhayImJighQXJyYXkuaXNBcnJheSh2KSYmdi50eXBlPT09InRleHQiJiYodi52YWx1ZT1LSmUodi52YWx1ZSkpLCFBcnJheS5pc0FycmF5KHYpJiZ2LnR5cGU9PT0iZWxlbWVudCIpKXtsZXQgYj12LmNoaWxkcmVuWzBdO2ImJmIudHlwZT09PSJ0ZXh0IiYmKGIudmFsdWU9S0plKGIudmFsdWUpKX1BcnJheS5pc0FycmF5KHYpP2QucHVzaCguLi52KTpkLnB1c2godil9fX1yZXR1cm4gZH19ZnVuY3Rpb24gdFVyKGUsdCl7ZS5wb3NpdGlvbiYmKHQucG9zaXRpb249eWcoZSkpfWZ1bmN0aW9uIHJVcihlLHQpe2xldCByPXQ7aWYoZSYmZS5kYXRhKXtsZXQgYT1lLmRhdGEuaE5hbWUsaT1lLmRhdGEuaENoaWxkcmVuLG49ZS5kYXRhLmhQcm9wZXJ0aWVzO2lmKHR5cGVvZiBhPT0ic3RyaW5nIilpZihyLnR5cGU9PT0iZWxlbWVudCIpci50YWdOYW1lPWE7ZWxzZXtsZXQgcz0iY2hpbGRyZW4iaW4gcj9yLmNoaWxkcmVuOltyXTtyPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOmEscHJvcGVydGllczp7fSxjaGlsZHJlbjpzfX1yLnR5cGU9PT0iZWxlbWVudCImJm4mJk9iamVjdC5hc3NpZ24oci5wcm9wZXJ0aWVzLEQ0KG4pKSwiY2hpbGRyZW4iaW4gciYmci5jaGlsZHJlbiYmaSE9PW51bGwmJmkhPT12b2lkIDAmJihyLmNoaWxkcmVuPWkpfXJldHVybiByfWZ1bmN0aW9uIGFVcihlLHQpe2xldCByPXQuZGF0YXx8e30sYT0idmFsdWUiaW4gdCYmISh4YWUuY2FsbChyLCJoUHJvcGVydGllcyIpfHx4YWUuY2FsbChyLCJoQ2hpbGRyZW4iKSk/e3R5cGU6InRleHQiLHZhbHVlOnQudmFsdWV9Ont0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJkaXYiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46ZS5hbGwodCl9O3JldHVybiBlLnBhdGNoKHQsYSksZS5hcHBseURhdGEodCxhKX1mdW5jdGlvbiBpVXIoZSx0KXtsZXQgcj1bXSxhPS0xO2Zvcih0JiZyLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmAKYH0pOysrYTxlLmxlbmd0aDspYSYmci5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSxyLnB1c2goZVthXSk7cmV0dXJuIHQmJmUubGVuZ3RoPjAmJnIucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSkscn1mdW5jdGlvbiBLSmUoZSl7bGV0IHQ9MCxyPWUuY2hhckNvZGVBdCh0KTtmb3IoO3I9PT05fHxyPT09MzI7KXQrKyxyPWUuY2hhckNvZGVBdCh0KTtyZXR1cm4gZS5zbGljZSh0KX12YXIgeGFlLGVVcix0S2U9ZigoKT0+e1dMKCk7VnRlKCk7WkwoKTtiYWUoKTt4YWU9e30uaGFzT3duUHJvcGVydHksZVVyPXt9fSk7ZnVuY3Rpb24geWFlKGUsdCl7bGV0IHI9ZUtlKGUsdCksYT1yLm9uZShlLHZvaWQgMCksaT1KSmUociksbj1BcnJheS5pc0FycmF5KGEpP3t0eXBlOiJyb290IixjaGlsZHJlbjphfTphfHx7dHlwZToicm9vdCIsY2hpbGRyZW46W119O3JldHVybiBpJiYoImNoaWxkcmVuImluIG4sbi5jaGlsZHJlbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9LGkpKSxufXZhciByS2U9ZigoKT0+e1M0KCk7dmFlKCk7dEtlKCl9KTt2YXIgYUtlPWYoKCk9PntiYWUoKTtyS2UoKTt2YWUoKX0pO3ZhciBpS2UsbktlPWYoKCk9PntpS2U9WyJhcmVhIiwiYmFzZSIsImJhc2Vmb250IiwiYmdzb3VuZCIsImJyIiwiY29sIiwiY29tbWFuZCIsImVtYmVkIiwiZnJhbWUiLCJociIsImltYWdlIiwiaW1nIiwiaW5wdXQiLCJrZXlnZW4iLCJsaW5rIiwibWV0YSIsInBhcmFtIiwic291cmNlIiwidHJhY2siLCJ3YnIiXX0pO3ZhciBiYyx3YWU9ZigoKT0+e2JjPWNsYXNze2NvbnN0cnVjdG9yKHQscixhKXt0aGlzLm5vcm1hbD1yLHRoaXMucHJvcGVydHk9dCxhJiYodGhpcy5zcGFjZT1hKX19O2JjLnByb3RvdHlwZS5ub3JtYWw9e30sYmMucHJvdG90eXBlLnByb3BlcnR5PXt9LGJjLnByb3RvdHlwZS5zcGFjZT12b2lkIDB9KTtmdW5jdGlvbiBNYWUoZSx0KXtsZXQgcj17fSxhPXt9O2ZvcihsZXQgaSBvZiBlKU9iamVjdC5hc3NpZ24ocixpLnByb3BlcnR5KSxPYmplY3QuYXNzaWduKGEsaS5ub3JtYWwpO3JldHVybiBuZXcgYmMocixhLHQpfXZhciBzS2U9ZigoKT0+e3dhZSgpfSk7ZnVuY3Rpb24gTzgoZSl7cmV0dXJuIGUudG9Mb3dlckNhc2UoKX12YXIgS0w9ZigoKT0+e30pO3ZhciBGaSxrYWU9ZigoKT0+e0ZpPWNsYXNze2NvbnN0cnVjdG9yKHQscil7dGhpcy5hdHRyaWJ1dGU9cix0aGlzLnByb3BlcnR5PXR9fTtGaS5wcm90b3R5cGUuYXR0cmlidXRlPSIiLEZpLnByb3RvdHlwZS5ib29sZWFuaXNoPSExLEZpLnByb3RvdHlwZS5ib29sZWFuPSExLEZpLnByb3RvdHlwZS5jb21tYU9yU3BhY2VTZXBhcmF0ZWQ9ITEsRmkucHJvdG90eXBlLmNvbW1hU2VwYXJhdGVkPSExLEZpLnByb3RvdHlwZS5kZWZpbmVkPSExLEZpLnByb3RvdHlwZS5tdXN0VXNlUHJvcGVydHk9ITEsRmkucHJvdG90eXBlLm51bWJlcj0hMSxGaS5wcm90b3R5cGUub3ZlcmxvYWRlZEJvb2xlYW49ITEsRmkucHJvdG90eXBlLnByb3BlcnR5PSIiLEZpLnByb3RvdHlwZS5zcGFjZVNlcGFyYXRlZD0hMSxGaS5wcm90b3R5cGUuc3BhY2U9dm9pZCAwfSk7dmFyIE1nPXt9O1JlKE1nLHtib29sZWFuOigpPT5FdCxib29sZWFuaXNoOigpPT5PYSxjb21tYU9yU3BhY2VTZXBhcmF0ZWQ6KCk9Pl8xLGNvbW1hU2VwYXJhdGVkOigpPT5FNCxudW1iZXI6KCk9PnFlLG92ZXJsb2FkZWRCb29sZWFuOigpPT5lJCxzcGFjZVNlcGFyYXRlZDooKT0+V3J9KTtmdW5jdGlvbiBENigpe3JldHVybiAyKiorK25Vcn12YXIgblVyLEV0LE9hLGUkLHFlLFdyLEU0LF8xLGtnPWYoKCk9PntuVXI9MCxFdD1ENigpLE9hPUQ2KCksZSQ9RDYoKSxxZT1ENigpLFdyPUQ2KCksRTQ9RDYoKSxfMT1ENigpfSk7ZnVuY3Rpb24gb0tlKGUsdCxyKXtyJiYoZVt0XT1yKX12YXIgU2FlLEE2LHphZT1mKCgpPT57a2FlKCk7a2coKTtTYWU9T2JqZWN0LmtleXMoTWcpLEE2PWNsYXNzIGV4dGVuZHMgRml7Y29uc3RydWN0b3IodCxyLGEsaSl7bGV0IG49LTE7aWYoc3VwZXIodCxyKSxvS2UodGhpcywic3BhY2UiLGkpLHR5cGVvZiBhPT0ibnVtYmVyIilmb3IoOysrbjxTYWUubGVuZ3RoOyl7bGV0IHM9U2FlW25dO29LZSh0aGlzLFNhZVtuXSwoYSZNZ1tzXSk9PT1NZ1tzXSl9fX07QTYucHJvdG90eXBlLmRlZmluZWQ9ITB9KTtmdW5jdGlvbiBFcyhlKXtsZXQgdD17fSxyPXt9O2ZvcihsZXRbYSxpXW9mIE9iamVjdC5lbnRyaWVzKGUucHJvcGVydGllcykpe2xldCBuPW5ldyBBNihhLGUudHJhbnNmb3JtKGUuYXR0cmlidXRlc3x8e30sYSksaSxlLnNwYWNlKTtlLm11c3RVc2VQcm9wZXJ0eSYmZS5tdXN0VXNlUHJvcGVydHkuaW5jbHVkZXMoYSkmJihuLm11c3RVc2VQcm9wZXJ0eT0hMCksdFthXT1uLHJbTzgoYSldPWEscltPOChuLmF0dHJpYnV0ZSldPWF9cmV0dXJuIG5ldyBiYyh0LHIsZS5zcGFjZSl9dmFyIEU2PWYoKCk9PntLTCgpO3phZSgpO3dhZSgpfSk7dmFyIENhZSxsS2U9ZigoKT0+e0U2KCk7a2coKTtDYWU9RXMoe3Byb3BlcnRpZXM6e2FyaWFBY3RpdmVEZXNjZW5kYW50Om51bGwsYXJpYUF0b21pYzpPYSxhcmlhQXV0b0NvbXBsZXRlOm51bGwsYXJpYUJ1c3k6T2EsYXJpYUNoZWNrZWQ6T2EsYXJpYUNvbENvdW50OnFlLGFyaWFDb2xJbmRleDpxZSxhcmlhQ29sU3BhbjpxZSxhcmlhQ29udHJvbHM6V3IsYXJpYUN1cnJlbnQ6bnVsbCxhcmlhRGVzY3JpYmVkQnk6V3IsYXJpYURldGFpbHM6bnVsbCxhcmlhRGlzYWJsZWQ6T2EsYXJpYURyb3BFZmZlY3Q6V3IsYXJpYUVycm9yTWVzc2FnZTpudWxsLGFyaWFFeHBhbmRlZDpPYSxhcmlhRmxvd1RvOldyLGFyaWFHcmFiYmVkOk9hLGFyaWFIYXNQb3B1cDpudWxsLGFyaWFIaWRkZW46T2EsYXJpYUludmFsaWQ6bnVsbCxhcmlhS2V5U2hvcnRjdXRzOm51bGwsYXJpYUxhYmVsOm51bGwsYXJpYUxhYmVsbGVkQnk6V3IsYXJpYUxldmVsOnFlLGFyaWFMaXZlOm51bGwsYXJpYU1vZGFsOk9hLGFyaWFNdWx0aUxpbmU6T2EsYXJpYU11bHRpU2VsZWN0YWJsZTpPYSxhcmlhT3JpZW50YXRpb246bnVsbCxhcmlhT3duczpXcixhcmlhUGxhY2Vob2xkZXI6bnVsbCxhcmlhUG9zSW5TZXQ6cWUsYXJpYVByZXNzZWQ6T2EsYXJpYVJlYWRPbmx5Ok9hLGFyaWFSZWxldmFudDpudWxsLGFyaWFSZXF1aXJlZDpPYSxhcmlhUm9sZURlc2NyaXB0aW9uOldyLGFyaWFSb3dDb3VudDpxZSxhcmlhUm93SW5kZXg6cWUsYXJpYVJvd1NwYW46cWUsYXJpYVNlbGVjdGVkOk9hLGFyaWFTZXRTaXplOnFlLGFyaWFTb3J0Om51bGwsYXJpYVZhbHVlTWF4OnFlLGFyaWFWYWx1ZU1pbjpxZSxhcmlhVmFsdWVOb3c6cWUsYXJpYVZhbHVlVGV4dDpudWxsLHJvbGU6bnVsbH0sdHJhbnNmb3JtKGUsdCl7cmV0dXJuIHQ9PT0icm9sZSI/dDoiYXJpYS0iK3Quc2xpY2UoNCkudG9Mb3dlckNhc2UoKX19KX0pO2Z1bmN0aW9uIHQkKGUsdCl7cmV0dXJuIHQgaW4gZT9lW3RdOnR9dmFyIFRhZT1mKCgpPT57fSk7ZnVuY3Rpb24gciQoZSx0KXtyZXR1cm4gdCQoZSx0LnRvTG93ZXJDYXNlKCkpfXZhciBfYWU9ZigoKT0+e1RhZSgpfSk7dmFyIGNLZSxkS2U9ZigoKT0+e19hZSgpO0U2KCk7a2coKTtjS2U9RXMoe2F0dHJpYnV0ZXM6e2FjY2VwdGNoYXJzZXQ6ImFjY2VwdC1jaGFyc2V0IixjbGFzc25hbWU6ImNsYXNzIixodG1sZm9yOiJmb3IiLGh0dHBlcXVpdjoiaHR0cC1lcXVpdiJ9LG11c3RVc2VQcm9wZXJ0eTpbImNoZWNrZWQiLCJtdWx0aXBsZSIsIm11dGVkIiwic2VsZWN0ZWQiXSxwcm9wZXJ0aWVzOnthYmJyOm51bGwsYWNjZXB0OkU0LGFjY2VwdENoYXJzZXQ6V3IsYWNjZXNzS2V5OldyLGFjdGlvbjpudWxsLGFsbG93Om51bGwsYWxsb3dGdWxsU2NyZWVuOkV0LGFsbG93UGF5bWVudFJlcXVlc3Q6RXQsYWxsb3dVc2VyTWVkaWE6RXQsYWx0Om51bGwsYXM6bnVsbCxhc3luYzpFdCxhdXRvQ2FwaXRhbGl6ZTpudWxsLGF1dG9Db21wbGV0ZTpXcixhdXRvRm9jdXM6RXQsYXV0b1BsYXk6RXQsYmxvY2tpbmc6V3IsY2FwdHVyZTpudWxsLGNoYXJTZXQ6bnVsbCxjaGVja2VkOkV0LGNpdGU6bnVsbCxjbGFzc05hbWU6V3IsY29sczpxZSxjb2xTcGFuOm51bGwsY29udGVudDpudWxsLGNvbnRlbnRFZGl0YWJsZTpPYSxjb250cm9sczpFdCxjb250cm9sc0xpc3Q6V3IsY29vcmRzOnFlfEU0LGNyb3NzT3JpZ2luOm51bGwsZGF0YTpudWxsLGRhdGVUaW1lOm51bGwsZGVjb2Rpbmc6bnVsbCxkZWZhdWx0OkV0LGRlZmVyOkV0LGRpcjpudWxsLGRpck5hbWU6bnVsbCxkaXNhYmxlZDpFdCxkb3dubG9hZDplJCxkcmFnZ2FibGU6T2EsZW5jVHlwZTpudWxsLGVudGVyS2V5SGludDpudWxsLGZldGNoUHJpb3JpdHk6bnVsbCxmb3JtOm51bGwsZm9ybUFjdGlvbjpudWxsLGZvcm1FbmNUeXBlOm51bGwsZm9ybU1ldGhvZDpudWxsLGZvcm1Ob1ZhbGlkYXRlOkV0LGZvcm1UYXJnZXQ6bnVsbCxoZWFkZXJzOldyLGhlaWdodDpxZSxoaWRkZW46ZSQsaGlnaDpxZSxocmVmOm51bGwsaHJlZkxhbmc6bnVsbCxodG1sRm9yOldyLGh0dHBFcXVpdjpXcixpZDpudWxsLGltYWdlU2l6ZXM6bnVsbCxpbWFnZVNyY1NldDpudWxsLGluZXJ0OkV0LGlucHV0TW9kZTpudWxsLGludGVncml0eTpudWxsLGlzOm51bGwsaXNNYXA6RXQsaXRlbUlkOm51bGwsaXRlbVByb3A6V3IsaXRlbVJlZjpXcixpdGVtU2NvcGU6RXQsaXRlbVR5cGU6V3Isa2luZDpudWxsLGxhYmVsOm51bGwsbGFuZzpudWxsLGxhbmd1YWdlOm51bGwsbGlzdDpudWxsLGxvYWRpbmc6bnVsbCxsb29wOkV0LGxvdzpxZSxtYW5pZmVzdDpudWxsLG1heDpudWxsLG1heExlbmd0aDpxZSxtZWRpYTpudWxsLG1ldGhvZDpudWxsLG1pbjpudWxsLG1pbkxlbmd0aDpxZSxtdWx0aXBsZTpFdCxtdXRlZDpFdCxuYW1lOm51bGwsbm9uY2U6bnVsbCxub01vZHVsZTpFdCxub1ZhbGlkYXRlOkV0LG9uQWJvcnQ6bnVsbCxvbkFmdGVyUHJpbnQ6bnVsbCxvbkF1eENsaWNrOm51bGwsb25CZWZvcmVNYXRjaDpudWxsLG9uQmVmb3JlUHJpbnQ6bnVsbCxvbkJlZm9yZVRvZ2dsZTpudWxsLG9uQmVmb3JlVW5sb2FkOm51bGwsb25CbHVyOm51bGwsb25DYW5jZWw6bnVsbCxvbkNhblBsYXk6bnVsbCxvbkNhblBsYXlUaHJvdWdoOm51bGwsb25DaGFuZ2U6bnVsbCxvbkNsaWNrOm51bGwsb25DbG9zZTpudWxsLG9uQ29udGV4dExvc3Q6bnVsbCxvbkNvbnRleHRNZW51Om51bGwsb25Db250ZXh0UmVzdG9yZWQ6bnVsbCxvbkNvcHk6bnVsbCxvbkN1ZUNoYW5nZTpudWxsLG9uQ3V0Om51bGwsb25EYmxDbGljazpudWxsLG9uRHJhZzpudWxsLG9uRHJhZ0VuZDpudWxsLG9uRHJhZ0VudGVyOm51bGwsb25EcmFnRXhpdDpudWxsLG9uRHJhZ0xlYXZlOm51bGwsb25EcmFnT3ZlcjpudWxsLG9uRHJhZ1N0YXJ0Om51bGwsb25Ecm9wOm51bGwsb25EdXJhdGlvbkNoYW5nZTpudWxsLG9uRW1wdGllZDpudWxsLG9uRW5kZWQ6bnVsbCxvbkVycm9yOm51bGwsb25Gb2N1czpudWxsLG9uRm9ybURhdGE6bnVsbCxvbkhhc2hDaGFuZ2U6bnVsbCxvbklucHV0Om51bGwsb25JbnZhbGlkOm51bGwsb25LZXlEb3duOm51bGwsb25LZXlQcmVzczpudWxsLG9uS2V5VXA6bnVsbCxvbkxhbmd1YWdlQ2hhbmdlOm51bGwsb25Mb2FkOm51bGwsb25Mb2FkZWREYXRhOm51bGwsb25Mb2FkZWRNZXRhZGF0YTpudWxsLG9uTG9hZEVuZDpudWxsLG9uTG9hZFN0YXJ0Om51bGwsb25NZXNzYWdlOm51bGwsb25NZXNzYWdlRXJyb3I6bnVsbCxvbk1vdXNlRG93bjpudWxsLG9uTW91c2VFbnRlcjpudWxsLG9uTW91c2VMZWF2ZTpudWxsLG9uTW91c2VNb3ZlOm51bGwsb25Nb3VzZU91dDpudWxsLG9uTW91c2VPdmVyOm51bGwsb25Nb3VzZVVwOm51bGwsb25PZmZsaW5lOm51bGwsb25PbmxpbmU6bnVsbCxvblBhZ2VIaWRlOm51bGwsb25QYWdlU2hvdzpudWxsLG9uUGFzdGU6bnVsbCxvblBhdXNlOm51bGwsb25QbGF5Om51bGwsb25QbGF5aW5nOm51bGwsb25Qb3BTdGF0ZTpudWxsLG9uUHJvZ3Jlc3M6bnVsbCxvblJhdGVDaGFuZ2U6bnVsbCxvblJlamVjdGlvbkhhbmRsZWQ6bnVsbCxvblJlc2V0Om51bGwsb25SZXNpemU6bnVsbCxvblNjcm9sbDpudWxsLG9uU2Nyb2xsRW5kOm51bGwsb25TZWN1cml0eVBvbGljeVZpb2xhdGlvbjpudWxsLG9uU2Vla2VkOm51bGwsb25TZWVraW5nOm51bGwsb25TZWxlY3Q6bnVsbCxvblNsb3RDaGFuZ2U6bnVsbCxvblN0YWxsZWQ6bnVsbCxvblN0b3JhZ2U6bnVsbCxvblN1Ym1pdDpudWxsLG9uU3VzcGVuZDpudWxsLG9uVGltZVVwZGF0ZTpudWxsLG9uVG9nZ2xlOm51bGwsb25VbmhhbmRsZWRSZWplY3Rpb246bnVsbCxvblVubG9hZDpudWxsLG9uVm9sdW1lQ2hhbmdlOm51bGwsb25XYWl0aW5nOm51bGwsb25XaGVlbDpudWxsLG9wZW46RXQsb3B0aW11bTpxZSxwYXR0ZXJuOm51bGwscGluZzpXcixwbGFjZWhvbGRlcjpudWxsLHBsYXlzSW5saW5lOkV0LHBvcG92ZXI6bnVsbCxwb3BvdmVyVGFyZ2V0Om51bGwscG9wb3ZlclRhcmdldEFjdGlvbjpudWxsLHBvc3RlcjpudWxsLHByZWxvYWQ6bnVsbCxyZWFkT25seTpFdCxyZWZlcnJlclBvbGljeTpudWxsLHJlbDpXcixyZXF1aXJlZDpFdCxyZXZlcnNlZDpFdCxyb3dzOnFlLHJvd1NwYW46cWUsc2FuZGJveDpXcixzY29wZTpudWxsLHNjb3BlZDpFdCxzZWFtbGVzczpFdCxzZWxlY3RlZDpFdCxzaGFkb3dSb290Q2xvbmFibGU6RXQsc2hhZG93Um9vdERlbGVnYXRlc0ZvY3VzOkV0LHNoYWRvd1Jvb3RNb2RlOm51bGwsc2hhcGU6bnVsbCxzaXplOnFlLHNpemVzOm51bGwsc2xvdDpudWxsLHNwYW46cWUsc3BlbGxDaGVjazpPYSxzcmM6bnVsbCxzcmNEb2M6bnVsbCxzcmNMYW5nOm51bGwsc3JjU2V0Om51bGwsc3RhcnQ6cWUsc3RlcDpudWxsLHN0eWxlOm51bGwsdGFiSW5kZXg6cWUsdGFyZ2V0Om51bGwsdGl0bGU6bnVsbCx0cmFuc2xhdGU6bnVsbCx0eXBlOm51bGwsdHlwZU11c3RNYXRjaDpFdCx1c2VNYXA6bnVsbCx2YWx1ZTpPYSx3aWR0aDpxZSx3cmFwOm51bGwsd3JpdGluZ1N1Z2dlc3Rpb25zOm51bGwsYWxpZ246bnVsbCxhTGluazpudWxsLGFyY2hpdmU6V3IsYXhpczpudWxsLGJhY2tncm91bmQ6bnVsbCxiZ0NvbG9yOm51bGwsYm9yZGVyOnFlLGJvcmRlckNvbG9yOm51bGwsYm90dG9tTWFyZ2luOnFlLGNlbGxQYWRkaW5nOm51bGwsY2VsbFNwYWNpbmc6bnVsbCxjaGFyOm51bGwsY2hhck9mZjpudWxsLGNsYXNzSWQ6bnVsbCxjbGVhcjpudWxsLGNvZGU6bnVsbCxjb2RlQmFzZTpudWxsLGNvZGVUeXBlOm51bGwsY29sb3I6bnVsbCxjb21wYWN0OkV0LGRlY2xhcmU6RXQsZXZlbnQ6bnVsbCxmYWNlOm51bGwsZnJhbWU6bnVsbCxmcmFtZUJvcmRlcjpudWxsLGhTcGFjZTpxZSxsZWZ0TWFyZ2luOnFlLGxpbms6bnVsbCxsb25nRGVzYzpudWxsLGxvd1NyYzpudWxsLG1hcmdpbkhlaWdodDpxZSxtYXJnaW5XaWR0aDpxZSxub1Jlc2l6ZTpFdCxub0hyZWY6RXQsbm9TaGFkZTpFdCxub1dyYXA6RXQsb2JqZWN0Om51bGwscHJvZmlsZTpudWxsLHByb21wdDpudWxsLHJldjpudWxsLHJpZ2h0TWFyZ2luOnFlLHJ1bGVzOm51bGwsc2NoZW1lOm51bGwsc2Nyb2xsaW5nOk9hLHN0YW5kYnk6bnVsbCxzdW1tYXJ5Om51bGwsdGV4dDpudWxsLHRvcE1hcmdpbjpxZSx2YWx1ZVR5cGU6bnVsbCx2ZXJzaW9uOm51bGwsdkFsaWduOm51bGwsdkxpbms6bnVsbCx2U3BhY2U6cWUsYWxsb3dUcmFuc3BhcmVuY3k6bnVsbCxhdXRvQ29ycmVjdDpudWxsLGF1dG9TYXZlOm51bGwsZGlzYWJsZVBpY3R1cmVJblBpY3R1cmU6RXQsZGlzYWJsZVJlbW90ZVBsYXliYWNrOkV0LHByZWZpeDpudWxsLHByb3BlcnR5Om51bGwscmVzdWx0czpxZSxzZWN1cml0eTpudWxsLHVuc2VsZWN0YWJsZTpudWxsfSxzcGFjZToiaHRtbCIsdHJhbnNmb3JtOnIkfSl9KTt2YXIgdUtlLHBLZT1mKCgpPT57VGFlKCk7RTYoKTtrZygpO3VLZT1Fcyh7YXR0cmlidXRlczp7YWNjZW50SGVpZ2h0OiJhY2NlbnQtaGVpZ2h0IixhbGlnbm1lbnRCYXNlbGluZToiYWxpZ25tZW50LWJhc2VsaW5lIixhcmFiaWNGb3JtOiJhcmFiaWMtZm9ybSIsYmFzZWxpbmVTaGlmdDoiYmFzZWxpbmUtc2hpZnQiLGNhcEhlaWdodDoiY2FwLWhlaWdodCIsY2xhc3NOYW1lOiJjbGFzcyIsY2xpcFBhdGg6ImNsaXAtcGF0aCIsY2xpcFJ1bGU6ImNsaXAtcnVsZSIsY29sb3JJbnRlcnBvbGF0aW9uOiJjb2xvci1pbnRlcnBvbGF0aW9uIixjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOiJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMiLGNvbG9yUHJvZmlsZToiY29sb3ItcHJvZmlsZSIsY29sb3JSZW5kZXJpbmc6ImNvbG9yLXJlbmRlcmluZyIsY3Jvc3NPcmlnaW46ImNyb3Nzb3JpZ2luIixkYXRhVHlwZToiZGF0YXR5cGUiLGRvbWluYW50QmFzZWxpbmU6ImRvbWluYW50LWJhc2VsaW5lIixlbmFibGVCYWNrZ3JvdW5kOiJlbmFibGUtYmFja2dyb3VuZCIsZmlsbE9wYWNpdHk6ImZpbGwtb3BhY2l0eSIsZmlsbFJ1bGU6ImZpbGwtcnVsZSIsZmxvb2RDb2xvcjoiZmxvb2QtY29sb3IiLGZsb29kT3BhY2l0eToiZmxvb2Qtb3BhY2l0eSIsZm9udEZhbWlseToiZm9udC1mYW1pbHkiLGZvbnRTaXplOiJmb250LXNpemUiLGZvbnRTaXplQWRqdXN0OiJmb250LXNpemUtYWRqdXN0Iixmb250U3RyZXRjaDoiZm9udC1zdHJldGNoIixmb250U3R5bGU6ImZvbnQtc3R5bGUiLGZvbnRWYXJpYW50OiJmb250LXZhcmlhbnQiLGZvbnRXZWlnaHQ6ImZvbnQtd2VpZ2h0IixnbHlwaE5hbWU6ImdseXBoLW5hbWUiLGdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsOiJnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIixnbHlwaE9yaWVudGF0aW9uVmVydGljYWw6ImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIixocmVmTGFuZzoiaHJlZmxhbmciLGhvcml6QWR2WDoiaG9yaXotYWR2LXgiLGhvcml6T3JpZ2luWDoiaG9yaXotb3JpZ2luLXgiLGhvcml6T3JpZ2luWToiaG9yaXotb3JpZ2luLXkiLGltYWdlUmVuZGVyaW5nOiJpbWFnZS1yZW5kZXJpbmciLGxldHRlclNwYWNpbmc6ImxldHRlci1zcGFjaW5nIixsaWdodGluZ0NvbG9yOiJsaWdodGluZy1jb2xvciIsbWFya2VyRW5kOiJtYXJrZXItZW5kIixtYXJrZXJNaWQ6Im1hcmtlci1taWQiLG1hcmtlclN0YXJ0OiJtYXJrZXItc3RhcnQiLG5hdkRvd246Im5hdi1kb3duIixuYXZEb3duTGVmdDoibmF2LWRvd24tbGVmdCIsbmF2RG93blJpZ2h0OiJuYXYtZG93bi1yaWdodCIsbmF2TGVmdDoibmF2LWxlZnQiLG5hdk5leHQ6Im5hdi1uZXh0IixuYXZQcmV2OiJuYXYtcHJldiIsbmF2UmlnaHQ6Im5hdi1yaWdodCIsbmF2VXA6Im5hdi11cCIsbmF2VXBMZWZ0OiJuYXYtdXAtbGVmdCIsbmF2VXBSaWdodDoibmF2LXVwLXJpZ2h0IixvbkFib3J0OiJvbmFib3J0IixvbkFjdGl2YXRlOiJvbmFjdGl2YXRlIixvbkFmdGVyUHJpbnQ6Im9uYWZ0ZXJwcmludCIsb25CZWZvcmVQcmludDoib25iZWZvcmVwcmludCIsb25CZWdpbjoib25iZWdpbiIsb25DYW5jZWw6Im9uY2FuY2VsIixvbkNhblBsYXk6Im9uY2FucGxheSIsb25DYW5QbGF5VGhyb3VnaDoib25jYW5wbGF5dGhyb3VnaCIsb25DaGFuZ2U6Im9uY2hhbmdlIixvbkNsaWNrOiJvbmNsaWNrIixvbkNsb3NlOiJvbmNsb3NlIixvbkNvcHk6Im9uY29weSIsb25DdWVDaGFuZ2U6Im9uY3VlY2hhbmdlIixvbkN1dDoib25jdXQiLG9uRGJsQ2xpY2s6Im9uZGJsY2xpY2siLG9uRHJhZzoib25kcmFnIixvbkRyYWdFbmQ6Im9uZHJhZ2VuZCIsb25EcmFnRW50ZXI6Im9uZHJhZ2VudGVyIixvbkRyYWdFeGl0OiJvbmRyYWdleGl0IixvbkRyYWdMZWF2ZToib25kcmFnbGVhdmUiLG9uRHJhZ092ZXI6Im9uZHJhZ292ZXIiLG9uRHJhZ1N0YXJ0OiJvbmRyYWdzdGFydCIsb25Ecm9wOiJvbmRyb3AiLG9uRHVyYXRpb25DaGFuZ2U6Im9uZHVyYXRpb25jaGFuZ2UiLG9uRW1wdGllZDoib25lbXB0aWVkIixvbkVuZDoib25lbmQiLG9uRW5kZWQ6Im9uZW5kZWQiLG9uRXJyb3I6Im9uZXJyb3IiLG9uRm9jdXM6Im9uZm9jdXMiLG9uRm9jdXNJbjoib25mb2N1c2luIixvbkZvY3VzT3V0OiJvbmZvY3Vzb3V0Iixvbkhhc2hDaGFuZ2U6Im9uaGFzaGNoYW5nZSIsb25JbnB1dDoib25pbnB1dCIsb25JbnZhbGlkOiJvbmludmFsaWQiLG9uS2V5RG93bjoib25rZXlkb3duIixvbktleVByZXNzOiJvbmtleXByZXNzIixvbktleVVwOiJvbmtleXVwIixvbkxvYWQ6Im9ubG9hZCIsb25Mb2FkZWREYXRhOiJvbmxvYWRlZGRhdGEiLG9uTG9hZGVkTWV0YWRhdGE6Im9ubG9hZGVkbWV0YWRhdGEiLG9uTG9hZFN0YXJ0OiJvbmxvYWRzdGFydCIsb25NZXNzYWdlOiJvbm1lc3NhZ2UiLG9uTW91c2VEb3duOiJvbm1vdXNlZG93biIsb25Nb3VzZUVudGVyOiJvbm1vdXNlZW50ZXIiLG9uTW91c2VMZWF2ZToib25tb3VzZWxlYXZlIixvbk1vdXNlTW92ZToib25tb3VzZW1vdmUiLG9uTW91c2VPdXQ6Im9ubW91c2VvdXQiLG9uTW91c2VPdmVyOiJvbm1vdXNlb3ZlciIsb25Nb3VzZVVwOiJvbm1vdXNldXAiLG9uTW91c2VXaGVlbDoib25tb3VzZXdoZWVsIixvbk9mZmxpbmU6Im9ub2ZmbGluZSIsb25PbmxpbmU6Im9ub25saW5lIixvblBhZ2VIaWRlOiJvbnBhZ2VoaWRlIixvblBhZ2VTaG93OiJvbnBhZ2VzaG93IixvblBhc3RlOiJvbnBhc3RlIixvblBhdXNlOiJvbnBhdXNlIixvblBsYXk6Im9ucGxheSIsb25QbGF5aW5nOiJvbnBsYXlpbmciLG9uUG9wU3RhdGU6Im9ucG9wc3RhdGUiLG9uUHJvZ3Jlc3M6Im9ucHJvZ3Jlc3MiLG9uUmF0ZUNoYW5nZToib25yYXRlY2hhbmdlIixvblJlcGVhdDoib25yZXBlYXQiLG9uUmVzZXQ6Im9ucmVzZXQiLG9uUmVzaXplOiJvbnJlc2l6ZSIsb25TY3JvbGw6Im9uc2Nyb2xsIixvblNlZWtlZDoib25zZWVrZWQiLG9uU2Vla2luZzoib25zZWVraW5nIixvblNlbGVjdDoib25zZWxlY3QiLG9uU2hvdzoib25zaG93IixvblN0YWxsZWQ6Im9uc3RhbGxlZCIsb25TdG9yYWdlOiJvbnN0b3JhZ2UiLG9uU3VibWl0OiJvbnN1Ym1pdCIsb25TdXNwZW5kOiJvbnN1c3BlbmQiLG9uVGltZVVwZGF0ZToib250aW1ldXBkYXRlIixvblRvZ2dsZToib250b2dnbGUiLG9uVW5sb2FkOiJvbnVubG9hZCIsb25Wb2x1bWVDaGFuZ2U6Im9udm9sdW1lY2hhbmdlIixvbldhaXRpbmc6Im9ud2FpdGluZyIsb25ab29tOiJvbnpvb20iLG92ZXJsaW5lUG9zaXRpb246Im92ZXJsaW5lLXBvc2l0aW9uIixvdmVybGluZVRoaWNrbmVzczoib3ZlcmxpbmUtdGhpY2tuZXNzIixwYWludE9yZGVyOiJwYWludC1vcmRlciIscGFub3NlMToicGFub3NlLTEiLHBvaW50ZXJFdmVudHM6InBvaW50ZXItZXZlbnRzIixyZWZlcnJlclBvbGljeToicmVmZXJyZXJwb2xpY3kiLHJlbmRlcmluZ0ludGVudDoicmVuZGVyaW5nLWludGVudCIsc2hhcGVSZW5kZXJpbmc6InNoYXBlLXJlbmRlcmluZyIsc3RvcENvbG9yOiJzdG9wLWNvbG9yIixzdG9wT3BhY2l0eToic3RvcC1vcGFjaXR5IixzdHJpa2V0aHJvdWdoUG9zaXRpb246InN0cmlrZXRocm91Z2gtcG9zaXRpb24iLHN0cmlrZXRocm91Z2hUaGlja25lc3M6InN0cmlrZXRocm91Z2gtdGhpY2tuZXNzIixzdHJva2VEYXNoQXJyYXk6InN0cm9rZS1kYXNoYXJyYXkiLHN0cm9rZURhc2hPZmZzZXQ6InN0cm9rZS1kYXNob2Zmc2V0IixzdHJva2VMaW5lQ2FwOiJzdHJva2UtbGluZWNhcCIsc3Ryb2tlTGluZUpvaW46InN0cm9rZS1saW5lam9pbiIsc3Ryb2tlTWl0ZXJMaW1pdDoic3Ryb2tlLW1pdGVybGltaXQiLHN0cm9rZU9wYWNpdHk6InN0cm9rZS1vcGFjaXR5IixzdHJva2VXaWR0aDoic3Ryb2tlLXdpZHRoIix0YWJJbmRleDoidGFiaW5kZXgiLHRleHRBbmNob3I6InRleHQtYW5jaG9yIix0ZXh0RGVjb3JhdGlvbjoidGV4dC1kZWNvcmF0aW9uIix0ZXh0UmVuZGVyaW5nOiJ0ZXh0LXJlbmRlcmluZyIsdHJhbnNmb3JtT3JpZ2luOiJ0cmFuc2Zvcm0tb3JpZ2luIix0eXBlT2Y6InR5cGVvZiIsdW5kZXJsaW5lUG9zaXRpb246InVuZGVybGluZS1wb3NpdGlvbiIsdW5kZXJsaW5lVGhpY2tuZXNzOiJ1bmRlcmxpbmUtdGhpY2tuZXNzIix1bmljb2RlQmlkaToidW5pY29kZS1iaWRpIix1bmljb2RlUmFuZ2U6InVuaWNvZGUtcmFuZ2UiLHVuaXRzUGVyRW06InVuaXRzLXBlci1lbSIsdkFscGhhYmV0aWM6InYtYWxwaGFiZXRpYyIsdkhhbmdpbmc6InYtaGFuZ2luZyIsdklkZW9ncmFwaGljOiJ2LWlkZW9ncmFwaGljIix2TWF0aGVtYXRpY2FsOiJ2LW1hdGhlbWF0aWNhbCIsdmVjdG9yRWZmZWN0OiJ2ZWN0b3ItZWZmZWN0Iix2ZXJ0QWR2WToidmVydC1hZHYteSIsdmVydE9yaWdpblg6InZlcnQtb3JpZ2luLXgiLHZlcnRPcmlnaW5ZOiJ2ZXJ0LW9yaWdpbi15Iix3b3JkU3BhY2luZzoid29yZC1zcGFjaW5nIix3cml0aW5nTW9kZToid3JpdGluZy1tb2RlIix4SGVpZ2h0OiJ4LWhlaWdodCIscGxheWJhY2tPcmRlcjoicGxheWJhY2tvcmRlciIsdGltZWxpbmVCZWdpbjoidGltZWxpbmViZWdpbiJ9LHByb3BlcnRpZXM6e2Fib3V0Ol8xLGFjY2VudEhlaWdodDpxZSxhY2N1bXVsYXRlOm51bGwsYWRkaXRpdmU6bnVsbCxhbGlnbm1lbnRCYXNlbGluZTpudWxsLGFscGhhYmV0aWM6cWUsYW1wbGl0dWRlOnFlLGFyYWJpY0Zvcm06bnVsbCxhc2NlbnQ6cWUsYXR0cmlidXRlTmFtZTpudWxsLGF0dHJpYnV0ZVR5cGU6bnVsbCxhemltdXRoOnFlLGJhbmR3aWR0aDpudWxsLGJhc2VsaW5lU2hpZnQ6bnVsbCxiYXNlRnJlcXVlbmN5Om51bGwsYmFzZVByb2ZpbGU6bnVsbCxiYm94Om51bGwsYmVnaW46bnVsbCxiaWFzOnFlLGJ5Om51bGwsY2FsY01vZGU6bnVsbCxjYXBIZWlnaHQ6cWUsY2xhc3NOYW1lOldyLGNsaXA6bnVsbCxjbGlwUGF0aDpudWxsLGNsaXBQYXRoVW5pdHM6bnVsbCxjbGlwUnVsZTpudWxsLGNvbG9yOm51bGwsY29sb3JJbnRlcnBvbGF0aW9uOm51bGwsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczpudWxsLGNvbG9yUHJvZmlsZTpudWxsLGNvbG9yUmVuZGVyaW5nOm51bGwsY29udGVudDpudWxsLGNvbnRlbnRTY3JpcHRUeXBlOm51bGwsY29udGVudFN0eWxlVHlwZTpudWxsLGNyb3NzT3JpZ2luOm51bGwsY3Vyc29yOm51bGwsY3g6bnVsbCxjeTpudWxsLGQ6bnVsbCxkYXRhVHlwZTpudWxsLGRlZmF1bHRBY3Rpb246bnVsbCxkZXNjZW50OnFlLGRpZmZ1c2VDb25zdGFudDpxZSxkaXJlY3Rpb246bnVsbCxkaXNwbGF5Om51bGwsZHVyOm51bGwsZGl2aXNvcjpxZSxkb21pbmFudEJhc2VsaW5lOm51bGwsZG93bmxvYWQ6RXQsZHg6bnVsbCxkeTpudWxsLGVkZ2VNb2RlOm51bGwsZWRpdGFibGU6bnVsbCxlbGV2YXRpb246cWUsZW5hYmxlQmFja2dyb3VuZDpudWxsLGVuZDpudWxsLGV2ZW50Om51bGwsZXhwb25lbnQ6cWUsZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDpudWxsLGZpbGw6bnVsbCxmaWxsT3BhY2l0eTpxZSxmaWxsUnVsZTpudWxsLGZpbHRlcjpudWxsLGZpbHRlclJlczpudWxsLGZpbHRlclVuaXRzOm51bGwsZmxvb2RDb2xvcjpudWxsLGZsb29kT3BhY2l0eTpudWxsLGZvY3VzYWJsZTpudWxsLGZvY3VzSGlnaGxpZ2h0Om51bGwsZm9udEZhbWlseTpudWxsLGZvbnRTaXplOm51bGwsZm9udFNpemVBZGp1c3Q6bnVsbCxmb250U3RyZXRjaDpudWxsLGZvbnRTdHlsZTpudWxsLGZvbnRWYXJpYW50Om51bGwsZm9udFdlaWdodDpudWxsLGZvcm1hdDpudWxsLGZyOm51bGwsZnJvbTpudWxsLGZ4Om51bGwsZnk6bnVsbCxnMTpFNCxnMjpFNCxnbHlwaE5hbWU6RTQsZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWw6bnVsbCxnbHlwaE9yaWVudGF0aW9uVmVydGljYWw6bnVsbCxnbHlwaFJlZjpudWxsLGdyYWRpZW50VHJhbnNmb3JtOm51bGwsZ3JhZGllbnRVbml0czpudWxsLGhhbmRsZXI6bnVsbCxoYW5naW5nOnFlLGhhdGNoQ29udGVudFVuaXRzOm51bGwsaGF0Y2hVbml0czpudWxsLGhlaWdodDpudWxsLGhyZWY6bnVsbCxocmVmTGFuZzpudWxsLGhvcml6QWR2WDpxZSxob3Jpek9yaWdpblg6cWUsaG9yaXpPcmlnaW5ZOnFlLGlkOm51bGwsaWRlb2dyYXBoaWM6cWUsaW1hZ2VSZW5kZXJpbmc6bnVsbCxpbml0aWFsVmlzaWJpbGl0eTpudWxsLGluOm51bGwsaW4yOm51bGwsaW50ZXJjZXB0OnFlLGs6cWUsazE6cWUsazI6cWUsazM6cWUsazQ6cWUsa2VybmVsTWF0cml4Ol8xLGtlcm5lbFVuaXRMZW5ndGg6bnVsbCxrZXlQb2ludHM6bnVsbCxrZXlTcGxpbmVzOm51bGwsa2V5VGltZXM6bnVsbCxrZXJuaW5nOm51bGwsbGFuZzpudWxsLGxlbmd0aEFkanVzdDpudWxsLGxldHRlclNwYWNpbmc6bnVsbCxsaWdodGluZ0NvbG9yOm51bGwsbGltaXRpbmdDb25lQW5nbGU6cWUsbG9jYWw6bnVsbCxtYXJrZXJFbmQ6bnVsbCxtYXJrZXJNaWQ6bnVsbCxtYXJrZXJTdGFydDpudWxsLG1hcmtlckhlaWdodDpudWxsLG1hcmtlclVuaXRzOm51bGwsbWFya2VyV2lkdGg6bnVsbCxtYXNrOm51bGwsbWFza0NvbnRlbnRVbml0czpudWxsLG1hc2tVbml0czpudWxsLG1hdGhlbWF0aWNhbDpudWxsLG1heDpudWxsLG1lZGlhOm51bGwsbWVkaWFDaGFyYWN0ZXJFbmNvZGluZzpudWxsLG1lZGlhQ29udGVudEVuY29kaW5nczpudWxsLG1lZGlhU2l6ZTpxZSxtZWRpYVRpbWU6bnVsbCxtZXRob2Q6bnVsbCxtaW46bnVsbCxtb2RlOm51bGwsbmFtZTpudWxsLG5hdkRvd246bnVsbCxuYXZEb3duTGVmdDpudWxsLG5hdkRvd25SaWdodDpudWxsLG5hdkxlZnQ6bnVsbCxuYXZOZXh0Om51bGwsbmF2UHJldjpudWxsLG5hdlJpZ2h0Om51bGwsbmF2VXA6bnVsbCxuYXZVcExlZnQ6bnVsbCxuYXZVcFJpZ2h0Om51bGwsbnVtT2N0YXZlczpudWxsLG9ic2VydmVyOm51bGwsb2Zmc2V0Om51bGwsb25BYm9ydDpudWxsLG9uQWN0aXZhdGU6bnVsbCxvbkFmdGVyUHJpbnQ6bnVsbCxvbkJlZm9yZVByaW50Om51bGwsb25CZWdpbjpudWxsLG9uQ2FuY2VsOm51bGwsb25DYW5QbGF5Om51bGwsb25DYW5QbGF5VGhyb3VnaDpudWxsLG9uQ2hhbmdlOm51bGwsb25DbGljazpudWxsLG9uQ2xvc2U6bnVsbCxvbkNvcHk6bnVsbCxvbkN1ZUNoYW5nZTpudWxsLG9uQ3V0Om51bGwsb25EYmxDbGljazpudWxsLG9uRHJhZzpudWxsLG9uRHJhZ0VuZDpudWxsLG9uRHJhZ0VudGVyOm51bGwsb25EcmFnRXhpdDpudWxsLG9uRHJhZ0xlYXZlOm51bGwsb25EcmFnT3ZlcjpudWxsLG9uRHJhZ1N0YXJ0Om51bGwsb25Ecm9wOm51bGwsb25EdXJhdGlvbkNoYW5nZTpudWxsLG9uRW1wdGllZDpudWxsLG9uRW5kOm51bGwsb25FbmRlZDpudWxsLG9uRXJyb3I6bnVsbCxvbkZvY3VzOm51bGwsb25Gb2N1c0luOm51bGwsb25Gb2N1c091dDpudWxsLG9uSGFzaENoYW5nZTpudWxsLG9uSW5wdXQ6bnVsbCxvbkludmFsaWQ6bnVsbCxvbktleURvd246bnVsbCxvbktleVByZXNzOm51bGwsb25LZXlVcDpudWxsLG9uTG9hZDpudWxsLG9uTG9hZGVkRGF0YTpudWxsLG9uTG9hZGVkTWV0YWRhdGE6bnVsbCxvbkxvYWRTdGFydDpudWxsLG9uTWVzc2FnZTpudWxsLG9uTW91c2VEb3duOm51bGwsb25Nb3VzZUVudGVyOm51bGwsb25Nb3VzZUxlYXZlOm51bGwsb25Nb3VzZU1vdmU6bnVsbCxvbk1vdXNlT3V0Om51bGwsb25Nb3VzZU92ZXI6bnVsbCxvbk1vdXNlVXA6bnVsbCxvbk1vdXNlV2hlZWw6bnVsbCxvbk9mZmxpbmU6bnVsbCxvbk9ubGluZTpudWxsLG9uUGFnZUhpZGU6bnVsbCxvblBhZ2VTaG93Om51bGwsb25QYXN0ZTpudWxsLG9uUGF1c2U6bnVsbCxvblBsYXk6bnVsbCxvblBsYXlpbmc6bnVsbCxvblBvcFN0YXRlOm51bGwsb25Qcm9ncmVzczpudWxsLG9uUmF0ZUNoYW5nZTpudWxsLG9uUmVwZWF0Om51bGwsb25SZXNldDpudWxsLG9uUmVzaXplOm51bGwsb25TY3JvbGw6bnVsbCxvblNlZWtlZDpudWxsLG9uU2Vla2luZzpudWxsLG9uU2VsZWN0Om51bGwsb25TaG93Om51bGwsb25TdGFsbGVkOm51bGwsb25TdG9yYWdlOm51bGwsb25TdWJtaXQ6bnVsbCxvblN1c3BlbmQ6bnVsbCxvblRpbWVVcGRhdGU6bnVsbCxvblRvZ2dsZTpudWxsLG9uVW5sb2FkOm51bGwsb25Wb2x1bWVDaGFuZ2U6bnVsbCxvbldhaXRpbmc6bnVsbCxvblpvb206bnVsbCxvcGFjaXR5Om51bGwsb3BlcmF0b3I6bnVsbCxvcmRlcjpudWxsLG9yaWVudDpudWxsLG9yaWVudGF0aW9uOm51bGwsb3JpZ2luOm51bGwsb3ZlcmZsb3c6bnVsbCxvdmVybGF5Om51bGwsb3ZlcmxpbmVQb3NpdGlvbjpxZSxvdmVybGluZVRoaWNrbmVzczpxZSxwYWludE9yZGVyOm51bGwscGFub3NlMTpudWxsLHBhdGg6bnVsbCxwYXRoTGVuZ3RoOnFlLHBhdHRlcm5Db250ZW50VW5pdHM6bnVsbCxwYXR0ZXJuVHJhbnNmb3JtOm51bGwscGF0dGVyblVuaXRzOm51bGwscGhhc2U6bnVsbCxwaW5nOldyLHBpdGNoOm51bGwscGxheWJhY2tPcmRlcjpudWxsLHBvaW50ZXJFdmVudHM6bnVsbCxwb2ludHM6bnVsbCxwb2ludHNBdFg6cWUscG9pbnRzQXRZOnFlLHBvaW50c0F0WjpxZSxwcmVzZXJ2ZUFscGhhOm51bGwscHJlc2VydmVBc3BlY3RSYXRpbzpudWxsLHByaW1pdGl2ZVVuaXRzOm51bGwscHJvcGFnYXRlOm51bGwscHJvcGVydHk6XzEscjpudWxsLHJhZGl1czpudWxsLHJlZmVycmVyUG9saWN5Om51bGwscmVmWDpudWxsLHJlZlk6bnVsbCxyZWw6XzEscmV2Ol8xLHJlbmRlcmluZ0ludGVudDpudWxsLHJlcGVhdENvdW50Om51bGwscmVwZWF0RHVyOm51bGwscmVxdWlyZWRFeHRlbnNpb25zOl8xLHJlcXVpcmVkRmVhdHVyZXM6XzEscmVxdWlyZWRGb250czpfMSxyZXF1aXJlZEZvcm1hdHM6XzEscmVzb3VyY2U6bnVsbCxyZXN0YXJ0Om51bGwscmVzdWx0Om51bGwscm90YXRlOm51bGwscng6bnVsbCxyeTpudWxsLHNjYWxlOm51bGwsc2VlZDpudWxsLHNoYXBlUmVuZGVyaW5nOm51bGwsc2lkZTpudWxsLHNsb3BlOm51bGwsc25hcHNob3RUaW1lOm51bGwsc3BlY3VsYXJDb25zdGFudDpxZSxzcGVjdWxhckV4cG9uZW50OnFlLHNwcmVhZE1ldGhvZDpudWxsLHNwYWNpbmc6bnVsbCxzdGFydE9mZnNldDpudWxsLHN0ZERldmlhdGlvbjpudWxsLHN0ZW1oOm51bGwsc3RlbXY6bnVsbCxzdGl0Y2hUaWxlczpudWxsLHN0b3BDb2xvcjpudWxsLHN0b3BPcGFjaXR5Om51bGwsc3RyaWtldGhyb3VnaFBvc2l0aW9uOnFlLHN0cmlrZXRocm91Z2hUaGlja25lc3M6cWUsc3RyaW5nOm51bGwsc3Ryb2tlOm51bGwsc3Ryb2tlRGFzaEFycmF5Ol8xLHN0cm9rZURhc2hPZmZzZXQ6bnVsbCxzdHJva2VMaW5lQ2FwOm51bGwsc3Ryb2tlTGluZUpvaW46bnVsbCxzdHJva2VNaXRlckxpbWl0OnFlLHN0cm9rZU9wYWNpdHk6cWUsc3Ryb2tlV2lkdGg6bnVsbCxzdHlsZTpudWxsLHN1cmZhY2VTY2FsZTpxZSxzeW5jQmVoYXZpb3I6bnVsbCxzeW5jQmVoYXZpb3JEZWZhdWx0Om51bGwsc3luY01hc3RlcjpudWxsLHN5bmNUb2xlcmFuY2U6bnVsbCxzeW5jVG9sZXJhbmNlRGVmYXVsdDpudWxsLHN5c3RlbUxhbmd1YWdlOl8xLHRhYkluZGV4OnFlLHRhYmxlVmFsdWVzOm51bGwsdGFyZ2V0Om51bGwsdGFyZ2V0WDpxZSx0YXJnZXRZOnFlLHRleHRBbmNob3I6bnVsbCx0ZXh0RGVjb3JhdGlvbjpudWxsLHRleHRSZW5kZXJpbmc6bnVsbCx0ZXh0TGVuZ3RoOm51bGwsdGltZWxpbmVCZWdpbjpudWxsLHRpdGxlOm51bGwsdHJhbnNmb3JtQmVoYXZpb3I6bnVsbCx0eXBlOm51bGwsdHlwZU9mOl8xLHRvOm51bGwsdHJhbnNmb3JtOm51bGwsdHJhbnNmb3JtT3JpZ2luOm51bGwsdTE6bnVsbCx1MjpudWxsLHVuZGVybGluZVBvc2l0aW9uOnFlLHVuZGVybGluZVRoaWNrbmVzczpxZSx1bmljb2RlOm51bGwsdW5pY29kZUJpZGk6bnVsbCx1bmljb2RlUmFuZ2U6bnVsbCx1bml0c1BlckVtOnFlLHZhbHVlczpudWxsLHZBbHBoYWJldGljOnFlLHZNYXRoZW1hdGljYWw6cWUsdmVjdG9yRWZmZWN0Om51bGwsdkhhbmdpbmc6cWUsdklkZW9ncmFwaGljOnFlLHZlcnNpb246bnVsbCx2ZXJ0QWR2WTpxZSx2ZXJ0T3JpZ2luWDpxZSx2ZXJ0T3JpZ2luWTpxZSx2aWV3Qm94Om51bGwsdmlld1RhcmdldDpudWxsLHZpc2liaWxpdHk6bnVsbCx3aWR0aDpudWxsLHdpZHRoczpudWxsLHdvcmRTcGFjaW5nOm51bGwsd3JpdGluZ01vZGU6bnVsbCx4Om51bGwseDE6bnVsbCx4MjpudWxsLHhDaGFubmVsU2VsZWN0b3I6bnVsbCx4SGVpZ2h0OnFlLHk6bnVsbCx5MTpudWxsLHkyOm51bGwseUNoYW5uZWxTZWxlY3RvcjpudWxsLHo6bnVsbCx6b29tQW5kUGFuOm51bGx9LHNwYWNlOiJzdmciLHRyYW5zZm9ybTp0JH0pfSk7dmFyIExhZSxmS2U9ZigoKT0+e0U2KCk7TGFlPUVzKHtwcm9wZXJ0aWVzOnt4TGlua0FjdHVhdGU6bnVsbCx4TGlua0FyY1JvbGU6bnVsbCx4TGlua0hyZWY6bnVsbCx4TGlua1JvbGU6bnVsbCx4TGlua1Nob3c6bnVsbCx4TGlua1RpdGxlOm51bGwseExpbmtUeXBlOm51bGx9LHNwYWNlOiJ4bGluayIsdHJhbnNmb3JtKGUsdCl7cmV0dXJuInhsaW5rOiIrdC5zbGljZSg1KS50b0xvd2VyQ2FzZSgpfX0pfSk7dmFyICRhZSxoS2U9ZigoKT0+e0U2KCk7X2FlKCk7JGFlPUVzKHthdHRyaWJ1dGVzOnt4bWxuc3hsaW5rOiJ4bWxuczp4bGluayJ9LHByb3BlcnRpZXM6e3htbG5zWExpbms6bnVsbCx4bWxuczpudWxsfSxzcGFjZToieG1sbnMiLHRyYW5zZm9ybTpyJH0pfSk7dmFyIERhZSxtS2U9ZigoKT0+e0U2KCk7RGFlPUVzKHtwcm9wZXJ0aWVzOnt4bWxCYXNlOm51bGwseG1sTGFuZzpudWxsLHhtbFNwYWNlOm51bGx9LHNwYWNlOiJ4bWwiLHRyYW5zZm9ybShlLHQpe3JldHVybiJ4bWw6Iit0LnNsaWNlKDMpLnRvTG93ZXJDYXNlKCl9fSl9KTt2YXIgZ0tlPWYoKCk9Pnt9KTtmdW5jdGlvbiBBYWUoZSx0KXtsZXQgcj1POCh0KSxhPXQsaT1GaTtpZihyIGluIGUubm9ybWFsKXJldHVybiBlLnByb3BlcnR5W2Uubm9ybWFsW3JdXTtpZihyLmxlbmd0aD40JiZyLnNsaWNlKDAsNCk9PT0iZGF0YSImJm9Vci50ZXN0KHQpKXtpZih0LmNoYXJBdCg0KT09PSItIil7bGV0IG49dC5zbGljZSg1KS5yZXBsYWNlKGJLZSxjVXIpO2E9ImRhdGEiK24uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrbi5zbGljZSgxKX1lbHNle2xldCBuPXQuc2xpY2UoNCk7aWYoIWJLZS50ZXN0KG4pKXtsZXQgcz1uLnJlcGxhY2Uoc1VyLGxVcik7cy5jaGFyQXQoMCkhPT0iLSImJihzPSItIitzKSx0PSJkYXRhIitzfX1pPUE2fXJldHVybiBuZXcgaShhLHQpfWZ1bmN0aW9uIGxVcihlKXtyZXR1cm4iLSIrZS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGNVcihlKXtyZXR1cm4gZS5jaGFyQXQoMSkudG9VcHBlckNhc2UoKX12YXIgc1VyLGJLZSxvVXIsdktlPWYoKCk9Pnt6YWUoKTtrYWUoKTtLTCgpO3NVcj0vW0EtWl0vZyxiS2U9Ly1bYS16XS9nLG9Vcj0vXmRhdGFbLVx3LjpdKyQvaX0pO3ZhciB4S2UsYSQsRWFlPWYoKCk9PntzS2UoKTtsS2UoKTtkS2UoKTtwS2UoKTtmS2UoKTtoS2UoKTttS2UoKTtnS2UoKTt2S2UoKTtLTCgpO3hLZT1NYWUoW0NhZSxjS2UsTGFlLCRhZSxEYWVdLCJodG1sIiksYSQ9TWFlKFtDYWUsdUtlLExhZSwkYWUsRGFlXSwic3ZnIil9KTtmdW5jdGlvbiBJYWUoZSx0KXtpZihlPWUucmVwbGFjZSh0LnN1YnNldD9oVXIodC5zdWJzZXQpOmRVcixhKSx0LnN1YnNldHx8dC5lc2NhcGVPbmx5KXJldHVybiBlO3JldHVybiBlLnJlcGxhY2UodVVyLHIpLnJlcGxhY2UocFVyLGEpO2Z1bmN0aW9uIHIoaSxuLHMpe3JldHVybiB0LmZvcm1hdCgoaS5jaGFyQ29kZUF0KDApLTU1Mjk2KSoxMDI0K2kuY2hhckNvZGVBdCgxKS01NjMyMCs2NTUzNixzLmNoYXJDb2RlQXQobisyKSx0KX1mdW5jdGlvbiBhKGksbixzKXtyZXR1cm4gdC5mb3JtYXQoaS5jaGFyQ29kZUF0KDApLHMuY2hhckNvZGVBdChuKzEpLHQpfX1mdW5jdGlvbiBoVXIoZSl7bGV0IHQ9eUtlLmdldChlKTtyZXR1cm4gdHx8KHQ9bVVyKGUpLHlLZS5zZXQoZSx0KSksdH1mdW5jdGlvbiBtVXIoZSl7bGV0IHQ9W10scj0tMTtmb3IoOysrcjxlLmxlbmd0aDspdC5wdXNoKGVbcl0ucmVwbGFjZShmVXIsIlxcJCYiKSk7cmV0dXJuIG5ldyBSZWdFeHAoIig/OiIrdC5qb2luKCJ8IikrIikiLCJnIil9dmFyIGRVcix1VXIscFVyLGZVcix5S2Usd0tlPWYoKCk9PntkVXI9L1siJic8PmBdL2csdVVyPS9bXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl0vZyxwVXI9L1tceDAxLVx0XHZcZlx4MEUtXHgxRlx4N0ZceDgxXHg4RFx4OEZceDkwXHg5RFx4QTAtXHVGRkZGXS9nLGZVcj0vW3xcXHt9KClbXF1eJCsqPy5dL2cseUtlPW5ldyBXZWFrTWFwfSk7ZnVuY3Rpb24gTUtlKGUsdCxyKXtsZXQgYT0iJiN4IitlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO3JldHVybiByJiZ0JiYhZ1VyLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZSh0KSk/YTphKyI7In12YXIgZ1VyLGtLZT1mKCgpPT57Z1VyPS9bXGRBLUZhLWZdL30pO2Z1bmN0aW9uIFNLZShlLHQscil7bGV0IGE9IiYjIitTdHJpbmcoZSk7cmV0dXJuIHImJnQmJiFiVXIudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKT9hOmErIjsifXZhciBiVXIsektlPWYoKCk9PntiVXI9L1xkL30pO3ZhciBDS2UsVEtlPWYoKCk9PntDS2U9WyJBRWxpZyIsIkFNUCIsIkFhY3V0ZSIsIkFjaXJjIiwiQWdyYXZlIiwiQXJpbmciLCJBdGlsZGUiLCJBdW1sIiwiQ09QWSIsIkNjZWRpbCIsIkVUSCIsIkVhY3V0ZSIsIkVjaXJjIiwiRWdyYXZlIiwiRXVtbCIsIkdUIiwiSWFjdXRlIiwiSWNpcmMiLCJJZ3JhdmUiLCJJdW1sIiwiTFQiLCJOdGlsZGUiLCJPYWN1dGUiLCJPY2lyYyIsIk9ncmF2ZSIsIk9zbGFzaCIsIk90aWxkZSIsIk91bWwiLCJRVU9UIiwiUkVHIiwiVEhPUk4iLCJVYWN1dGUiLCJVY2lyYyIsIlVncmF2ZSIsIlV1bWwiLCJZYWN1dGUiLCJhYWN1dGUiLCJhY2lyYyIsImFjdXRlIiwiYWVsaWciLCJhZ3JhdmUiLCJhbXAiLCJhcmluZyIsImF0aWxkZSIsImF1bWwiLCJicnZiYXIiLCJjY2VkaWwiLCJjZWRpbCIsImNlbnQiLCJjb3B5IiwiY3VycmVuIiwiZGVnIiwiZGl2aWRlIiwiZWFjdXRlIiwiZWNpcmMiLCJlZ3JhdmUiLCJldGgiLCJldW1sIiwiZnJhYzEyIiwiZnJhYzE0IiwiZnJhYzM0IiwiZ3QiLCJpYWN1dGUiLCJpY2lyYyIsImlleGNsIiwiaWdyYXZlIiwiaXF1ZXN0IiwiaXVtbCIsImxhcXVvIiwibHQiLCJtYWNyIiwibWljcm8iLCJtaWRkb3QiLCJuYnNwIiwibm90IiwibnRpbGRlIiwib2FjdXRlIiwib2NpcmMiLCJvZ3JhdmUiLCJvcmRmIiwib3JkbSIsIm9zbGFzaCIsIm90aWxkZSIsIm91bWwiLCJwYXJhIiwicGx1c21uIiwicG91bmQiLCJxdW90IiwicmFxdW8iLCJyZWciLCJzZWN0Iiwic2h5Iiwic3VwMSIsInN1cDIiLCJzdXAzIiwic3psaWciLCJ0aG9ybiIsInRpbWVzIiwidWFjdXRlIiwidWNpcmMiLCJ1Z3JhdmUiLCJ1bWwiLCJ1dW1sIiwieWFjdXRlIiwieWVuIiwieXVtbCJdfSk7dmFyIGkkLF9LZT1mKCgpPT57aSQ9e25ic3A6Ilx4QTAiLGlleGNsOiJceEExIixjZW50OiJceEEyIixwb3VuZDoiXHhBMyIsY3VycmVuOiJceEE0Iix5ZW46Ilx4QTUiLGJydmJhcjoiXHhBNiIsc2VjdDoiXHhBNyIsdW1sOiJceEE4Iixjb3B5OiJceEE5IixvcmRmOiJceEFBIixsYXF1bzoiXHhBQiIsbm90OiJceEFDIixzaHk6Ilx4QUQiLHJlZzoiXHhBRSIsbWFjcjoiXHhBRiIsZGVnOiJceEIwIixwbHVzbW46Ilx4QjEiLHN1cDI6Ilx4QjIiLHN1cDM6Ilx4QjMiLGFjdXRlOiJceEI0IixtaWNybzoiXHhCNSIscGFyYToiXHhCNiIsbWlkZG90OiJceEI3IixjZWRpbDoiXHhCOCIsc3VwMToiXHhCOSIsb3JkbToiXHhCQSIscmFxdW86Ilx4QkIiLGZyYWMxNDoiXHhCQyIsZnJhYzEyOiJceEJEIixmcmFjMzQ6Ilx4QkUiLGlxdWVzdDoiXHhCRiIsQWdyYXZlOiJceEMwIixBYWN1dGU6Ilx4QzEiLEFjaXJjOiJceEMyIixBdGlsZGU6Ilx4QzMiLEF1bWw6Ilx4QzQiLEFyaW5nOiJceEM1IixBRWxpZzoiXHhDNiIsQ2NlZGlsOiJceEM3IixFZ3JhdmU6Ilx4QzgiLEVhY3V0ZToiXHhDOSIsRWNpcmM6Ilx4Q0EiLEV1bWw6Ilx4Q0IiLElncmF2ZToiXHhDQyIsSWFjdXRlOiJceENEIixJY2lyYzoiXHhDRSIsSXVtbDoiXHhDRiIsRVRIOiJceEQwIixOdGlsZGU6Ilx4RDEiLE9ncmF2ZToiXHhEMiIsT2FjdXRlOiJceEQzIixPY2lyYzoiXHhENCIsT3RpbGRlOiJceEQ1IixPdW1sOiJceEQ2Iix0aW1lczoiXHhENyIsT3NsYXNoOiJceEQ4IixVZ3JhdmU6Ilx4RDkiLFVhY3V0ZToiXHhEQSIsVWNpcmM6Ilx4REIiLFV1bWw6Ilx4REMiLFlhY3V0ZToiXHhERCIsVEhPUk46Ilx4REUiLHN6bGlnOiJceERGIixhZ3JhdmU6Ilx4RTAiLGFhY3V0ZToiXHhFMSIsYWNpcmM6Ilx4RTIiLGF0aWxkZToiXHhFMyIsYXVtbDoiXHhFNCIsYXJpbmc6Ilx4RTUiLGFlbGlnOiJceEU2IixjY2VkaWw6Ilx4RTciLGVncmF2ZToiXHhFOCIsZWFjdXRlOiJceEU5IixlY2lyYzoiXHhFQSIsZXVtbDoiXHhFQiIsaWdyYXZlOiJceEVDIixpYWN1dGU6Ilx4RUQiLGljaXJjOiJceEVFIixpdW1sOiJceEVGIixldGg6Ilx4RjAiLG50aWxkZToiXHhGMSIsb2dyYXZlOiJceEYyIixvYWN1dGU6Ilx4RjMiLG9jaXJjOiJceEY0IixvdGlsZGU6Ilx4RjUiLG91bWw6Ilx4RjYiLGRpdmlkZToiXHhGNyIsb3NsYXNoOiJceEY4Iix1Z3JhdmU6Ilx4RjkiLHVhY3V0ZToiXHhGQSIsdWNpcmM6Ilx4RkIiLHV1bWw6Ilx4RkMiLHlhY3V0ZToiXHhGRCIsdGhvcm46Ilx4RkUiLHl1bWw6Ilx4RkYiLGZub2Y6Ilx1MDE5MiIsQWxwaGE6Ilx1MDM5MSIsQmV0YToiXHUwMzkyIixHYW1tYToiXHUwMzkzIixEZWx0YToiXHUwMzk0IixFcHNpbG9uOiJcdTAzOTUiLFpldGE6Ilx1MDM5NiIsRXRhOiJcdTAzOTciLFRoZXRhOiJcdTAzOTgiLElvdGE6Ilx1MDM5OSIsS2FwcGE6Ilx1MDM5QSIsTGFtYmRhOiJcdTAzOUIiLE11OiJcdTAzOUMiLE51OiJcdTAzOUQiLFhpOiJcdTAzOUUiLE9taWNyb246Ilx1MDM5RiIsUGk6Ilx1MDNBMCIsUmhvOiJcdTAzQTEiLFNpZ21hOiJcdTAzQTMiLFRhdToiXHUwM0E0IixVcHNpbG9uOiJcdTAzQTUiLFBoaToiXHUwM0E2IixDaGk6Ilx1MDNBNyIsUHNpOiJcdTAzQTgiLE9tZWdhOiJcdTAzQTkiLGFscGhhOiJcdTAzQjEiLGJldGE6Ilx1MDNCMiIsZ2FtbWE6Ilx1MDNCMyIsZGVsdGE6Ilx1MDNCNCIsZXBzaWxvbjoiXHUwM0I1Iix6ZXRhOiJcdTAzQjYiLGV0YToiXHUwM0I3Iix0aGV0YToiXHUwM0I4Iixpb3RhOiJcdTAzQjkiLGthcHBhOiJcdTAzQkEiLGxhbWJkYToiXHUwM0JCIixtdToiXHUwM0JDIixudToiXHUwM0JEIix4aToiXHUwM0JFIixvbWljcm9uOiJcdTAzQkYiLHBpOiJcdTAzQzAiLHJobzoiXHUwM0MxIixzaWdtYWY6Ilx1MDNDMiIsc2lnbWE6Ilx1MDNDMyIsdGF1OiJcdTAzQzQiLHVwc2lsb246Ilx1MDNDNSIscGhpOiJcdTAzQzYiLGNoaToiXHUwM0M3Iixwc2k6Ilx1MDNDOCIsb21lZ2E6Ilx1MDNDOSIsdGhldGFzeW06Ilx1MDNEMSIsdXBzaWg6Ilx1MDNEMiIscGl2OiJcdTAzRDYiLGJ1bGw6Ilx1MjAyMiIsaGVsbGlwOiJcdTIwMjYiLHByaW1lOiJcdTIwMzIiLFByaW1lOiJcdTIwMzMiLG9saW5lOiJcdTIwM0UiLGZyYXNsOiJcdTIwNDQiLHdlaWVycDoiXHUyMTE4IixpbWFnZToiXHUyMTExIixyZWFsOiJcdTIxMUMiLHRyYWRlOiJcdTIxMjIiLGFsZWZzeW06Ilx1MjEzNSIsbGFycjoiXHUyMTkwIix1YXJyOiJcdTIxOTEiLHJhcnI6Ilx1MjE5MiIsZGFycjoiXHUyMTkzIixoYXJyOiJcdTIxOTQiLGNyYXJyOiJcdTIxQjUiLGxBcnI6Ilx1MjFEMCIsdUFycjoiXHUyMUQxIixyQXJyOiJcdTIxRDIiLGRBcnI6Ilx1MjFEMyIsaEFycjoiXHUyMUQ0Iixmb3JhbGw6Ilx1MjIwMCIscGFydDoiXHUyMjAyIixleGlzdDoiXHUyMjAzIixlbXB0eToiXHUyMjA1IixuYWJsYToiXHUyMjA3Iixpc2luOiJcdTIyMDgiLG5vdGluOiJcdTIyMDkiLG5pOiJcdTIyMEIiLHByb2Q6Ilx1MjIwRiIsc3VtOiJcdTIyMTEiLG1pbnVzOiJcdTIyMTIiLGxvd2FzdDoiXHUyMjE3IixyYWRpYzoiXHUyMjFBIixwcm9wOiJcdTIyMUQiLGluZmluOiJcdTIyMUUiLGFuZzoiXHUyMjIwIixhbmQ6Ilx1MjIyNyIsb3I6Ilx1MjIyOCIsY2FwOiJcdTIyMjkiLGN1cDoiXHUyMjJBIixpbnQ6Ilx1MjIyQiIsdGhlcmU0OiJcdTIyMzQiLHNpbToiXHUyMjNDIixjb25nOiJcdTIyNDUiLGFzeW1wOiJcdTIyNDgiLG5lOiJcdTIyNjAiLGVxdWl2OiJcdTIyNjEiLGxlOiJcdTIyNjQiLGdlOiJcdTIyNjUiLHN1YjoiXHUyMjgyIixzdXA6Ilx1MjI4MyIsbnN1YjoiXHUyMjg0IixzdWJlOiJcdTIyODYiLHN1cGU6Ilx1MjI4NyIsb3BsdXM6Ilx1MjI5NSIsb3RpbWVzOiJcdTIyOTciLHBlcnA6Ilx1MjJBNSIsc2RvdDoiXHUyMkM1IixsY2VpbDoiXHUyMzA4IixyY2VpbDoiXHUyMzA5IixsZmxvb3I6Ilx1MjMwQSIscmZsb29yOiJcdTIzMEIiLGxhbmc6Ilx1MjMyOSIscmFuZzoiXHUyMzJBIixsb3o6Ilx1MjVDQSIsc3BhZGVzOiJcdTI2NjAiLGNsdWJzOiJcdTI2NjMiLGhlYXJ0czoiXHUyNjY1IixkaWFtczoiXHUyNjY2IixxdW90OiciJyxhbXA6IiYiLGx0OiI8IixndDoiPiIsT0VsaWc6Ilx1MDE1MiIsb2VsaWc6Ilx1MDE1MyIsU2Nhcm9uOiJcdTAxNjAiLHNjYXJvbjoiXHUwMTYxIixZdW1sOiJcdTAxNzgiLGNpcmM6Ilx1MDJDNiIsdGlsZGU6Ilx1MDJEQyIsZW5zcDoiXHUyMDAyIixlbXNwOiJcdTIwMDMiLHRoaW5zcDoiXHUyMDA5Iix6d25qOiJcdTIwMEMiLHp3ajoiXHUyMDBEIixscm06Ilx1MjAwRSIscmxtOiJcdTIwMEYiLG5kYXNoOiJcdTIwMTMiLG1kYXNoOiJcdTIwMTQiLGxzcXVvOiJcdTIwMTgiLHJzcXVvOiJcdTIwMTkiLHNicXVvOiJcdTIwMUEiLGxkcXVvOiJcdTIwMUMiLHJkcXVvOiJcdTIwMUQiLGJkcXVvOiJcdTIwMUUiLGRhZ2dlcjoiXHUyMDIwIixEYWdnZXI6Ilx1MjAyMSIscGVybWlsOiJcdTIwMzAiLGxzYXF1bzoiXHUyMDM5Iixyc2FxdW86Ilx1MjAzQSIsZXVybzoiXHUyMEFDIn19KTt2YXIgTEtlLCRLZT1mKCgpPT57TEtlPVsiY2VudCIsImNvcHkiLCJkaXZpZGUiLCJndCIsImx0Iiwibm90IiwicGFyYSIsInRpbWVzIl19KTtmdW5jdGlvbiBBS2UoZSx0LHIsYSl7bGV0IGk9U3RyaW5nLmZyb21DaGFyQ29kZShlKTtpZihES2UuY2FsbChQYWUsaSkpe2xldCBuPVBhZVtpXSxzPSImIituO3JldHVybiByJiZDS2UuaW5jbHVkZXMobikmJiFMS2UuaW5jbHVkZXMobikmJighYXx8dCYmdCE9PTYxJiZ2VXIudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKSk/czpzKyI7In1yZXR1cm4iIn12YXIgREtlLFBhZSxuJCx2VXIsRUtlPWYoKCk9PntUS2UoKTtfS2UoKTskS2UoKTtES2U9e30uaGFzT3duUHJvcGVydHksUGFlPXt9O2ZvcihuJCBpbiBpJClES2UuY2FsbChpJCxuJCkmJihQYWVbaSRbbiRdXT1uJCk7dlVyPS9bXlxkQS1aYS16XS99KTtmdW5jdGlvbiBJS2UoZSx0LHIpe2xldCBhPU1LZShlLHQsci5vbWl0T3B0aW9uYWxTZW1pY29sb25zKSxpO2lmKChyLnVzZU5hbWVkUmVmZXJlbmNlc3x8ci51c2VTaG9ydGVzdFJlZmVyZW5jZXMpJiYoaT1BS2UoZSx0LHIub21pdE9wdGlvbmFsU2VtaWNvbG9ucyxyLmF0dHJpYnV0ZSkpLChyLnVzZVNob3J0ZXN0UmVmZXJlbmNlc3x8IWkpJiZyLnVzZVNob3J0ZXN0UmVmZXJlbmNlcyl7bGV0IG49U0tlKGUsdCxyLm9taXRPcHRpb25hbFNlbWljb2xvbnMpO24ubGVuZ3RoPGEubGVuZ3RoJiYoYT1uKX1yZXR1cm4gaSYmKCFyLnVzZVNob3J0ZXN0UmVmZXJlbmNlc3x8aS5sZW5ndGg8YS5sZW5ndGgpP2k6YX12YXIgUEtlPWYoKCk9PntrS2UoKTt6S2UoKTtFS2UoKX0pO2Z1bmN0aW9uIE5LZShlKXtyZXR1cm4iJiN4IitlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKyI7In12YXIgRktlPWYoKCk9Pnt9KTtmdW5jdGlvbiB2YyhlLHQpe3JldHVybiBJYWUoZSxPYmplY3QuYXNzaWduKHtmb3JtYXQ6SUtlfSx0KSl9ZnVuY3Rpb24gd1ppKGUsdCl7cmV0dXJuIElhZShlLE9iamVjdC5hc3NpZ24oe2Zvcm1hdDpOS2V9LHQpKX12YXIgT0tlPWYoKCk9Pnt3S2UoKTtQS2UoKTtGS2UoKX0pO3ZhciBzJD1mKCgpPT57T0tlKCl9KTtmdW5jdGlvbiBSS2UoZSx0LHIsYSl7cmV0dXJuIGEuc2V0dGluZ3MuYm9ndXNDb21tZW50cz8iPD8iK3ZjKGUudmFsdWUsT2JqZWN0LmFzc2lnbih7fSxhLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDp5VXJ9KSkrIj4iOiI8IS0tIitlLnZhbHVlLnJlcGxhY2UoeFVyLGkpKyItLT4iO2Z1bmN0aW9uIGkobil7cmV0dXJuIHZjKG4sT2JqZWN0LmFzc2lnbih7fSxhLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDp3VXJ9KSl9fXZhciB4VXIseVVyLHdVcixCS2U9ZigoKT0+e3MkKCk7eFVyPS9ePnxeLT58PCEtLXwtLT58LS0hPnw8IS0kL2cseVVyPVsiPiJdLHdVcj1bIjwiLCI+Il19KTtmdW5jdGlvbiBIS2UoZSx0LHIsYSl7cmV0dXJuIjwhIisoYS5zZXR0aW5ncy51cHBlckRvY3R5cGU/IkRPQ1RZUEUiOiJkb2N0eXBlIikrKGEuc2V0dGluZ3MudGlnaHREb2N0eXBlPyIiOiIgIikrImh0bWw+In12YXIgcUtlPWYoKCk9Pnt9KTtmdW5jdGlvbiBfWmkoZSl7bGV0IHQ9W10scj1TdHJpbmcoZXx8IiIpLGE9ci5pbmRleE9mKCIsIiksaT0wLG49ITE7Zm9yKDshbjspe2E9PT0tMSYmKGE9ci5sZW5ndGgsbj0hMCk7bGV0IHM9ci5zbGljZShpLGEpLnRyaW0oKTsoc3x8IW4pJiZ0LnB1c2gocyksaT1hKzEsYT1yLmluZGV4T2YoIiwiLGkpfXJldHVybiB0fWZ1bmN0aW9uIGpLZShlLHQpe2xldCByPXR8fHt9O3JldHVybihlW2UubGVuZ3RoLTFdPT09IiI/Wy4uLmUsIiJdOmUpLmpvaW4oKHIucGFkUmlnaHQ/IiAiOiIiKSsiLCIrKHIucGFkTGVmdD09PSExPyIiOiIgIikpLnRyaW0oKX12YXIgVktlPWYoKCk9Pnt9KTtmdW5jdGlvbiAkWmkoZSl7bGV0IHQ9U3RyaW5nKGV8fCIiKS50cmltKCk7cmV0dXJuIHQ/dC5zcGxpdCgvWyBcdFxuXHJcZl0rL2cpOltdfWZ1bmN0aW9uIFVLZShlKXtyZXR1cm4gZS5qb2luKCIgIikudHJpbSgpfXZhciBXS2U9ZigoKT0+e30pO2Z1bmN0aW9uIEk2KGUpe3JldHVybiB0eXBlb2YgZT09Im9iamVjdCI/ZS50eXBlPT09InRleHQiP0dLZShlLnZhbHVlKTohMTpHS2UoZSl9ZnVuY3Rpb24gR0tlKGUpe3JldHVybiBlLnJlcGxhY2UoTVVyLCIiKT09PSIifXZhciBNVXIsWUtlPWYoKCk9PntNVXI9L1sgXHRcblxmXHJdL2d9KTt2YXIgbyQ9ZigoKT0+e1lLZSgpfSk7ZnVuY3Rpb24gWktlKGUpe3JldHVybiB0O2Z1bmN0aW9uIHQocixhLGkpe2xldCBuPXI/ci5jaGlsZHJlbjprVXIscz0oYXx8MCkrZSxvPW5bc107aWYoIWkpZm9yKDtvJiZJNihvKTspcys9ZSxvPW5bc107cmV0dXJuIG99fXZhciBHYSxOYWUsa1VyLEZhZT1mKCgpPT57byQoKTtHYT1aS2UoMSksTmFlPVpLZSgtMSksa1VyPVtdfSk7ZnVuY3Rpb24gbCQoZSl7cmV0dXJuIHQ7ZnVuY3Rpb24gdChyLGEsaSl7cmV0dXJuIFNVci5jYWxsKGUsci50YWdOYW1lKSYmZVtyLnRhZ05hbWVdKHIsYSxpKX19dmFyIFNVcixPYWU9ZigoKT0+e1NVcj17fS5oYXNPd25Qcm9wZXJ0eX0pO2Z1bmN0aW9uIFJhZShlLHQscil7bGV0IGE9R2Eocix0LCEwKTtyZXR1cm4hYXx8YS50eXBlIT09ImNvbW1lbnQiJiYhKGEudHlwZT09PSJ0ZXh0IiYmSTYoYS52YWx1ZS5jaGFyQXQoMCkpKX1mdW5jdGlvbiB6VXIoZSx0LHIpe2xldCBhPUdhKHIsdCk7cmV0dXJuIWF8fGEudHlwZSE9PSJjb21tZW50In1mdW5jdGlvbiBDVXIoZSx0LHIpe2xldCBhPUdhKHIsdCk7cmV0dXJuIWF8fGEudHlwZSE9PSJjb21tZW50In1mdW5jdGlvbiBUVXIoZSx0LHIpe2xldCBhPUdhKHIsdCk7cmV0dXJuIGE/YS50eXBlPT09ImVsZW1lbnQiJiYoYS50YWdOYW1lPT09ImFkZHJlc3MifHxhLnRhZ05hbWU9PT0iYXJ0aWNsZSJ8fGEudGFnTmFtZT09PSJhc2lkZSJ8fGEudGFnTmFtZT09PSJibG9ja3F1b3RlInx8YS50YWdOYW1lPT09ImRldGFpbHMifHxhLnRhZ05hbWU9PT0iZGl2Inx8YS50YWdOYW1lPT09ImRsInx8YS50YWdOYW1lPT09ImZpZWxkc2V0Inx8YS50YWdOYW1lPT09ImZpZ2NhcHRpb24ifHxhLnRhZ05hbWU9PT0iZmlndXJlInx8YS50YWdOYW1lPT09ImZvb3RlciJ8fGEudGFnTmFtZT09PSJmb3JtInx8YS50YWdOYW1lPT09ImgxInx8YS50YWdOYW1lPT09ImgyInx8YS50YWdOYW1lPT09ImgzInx8YS50YWdOYW1lPT09Img0Inx8YS50YWdOYW1lPT09Img1Inx8YS50YWdOYW1lPT09Img2Inx8YS50YWdOYW1lPT09ImhlYWRlciJ8fGEudGFnTmFtZT09PSJoZ3JvdXAifHxhLnRhZ05hbWU9PT0iaHIifHxhLnRhZ05hbWU9PT0ibWFpbiJ8fGEudGFnTmFtZT09PSJtZW51Inx8YS50YWdOYW1lPT09Im5hdiJ8fGEudGFnTmFtZT09PSJvbCJ8fGEudGFnTmFtZT09PSJwInx8YS50YWdOYW1lPT09InByZSJ8fGEudGFnTmFtZT09PSJzZWN0aW9uInx8YS50YWdOYW1lPT09InRhYmxlInx8YS50YWdOYW1lPT09InVsIik6IXJ8fCEoci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09ImEifHxyLnRhZ05hbWU9PT0iYXVkaW8ifHxyLnRhZ05hbWU9PT0iZGVsInx8ci50YWdOYW1lPT09ImlucyJ8fHIudGFnTmFtZT09PSJtYXAifHxyLnRhZ05hbWU9PT0ibm9zY3JpcHQifHxyLnRhZ05hbWU9PT0idmlkZW8iKSl9ZnVuY3Rpb24gX1VyKGUsdCxyKXtsZXQgYT1HYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJmEudGFnTmFtZT09PSJsaSJ9ZnVuY3Rpb24gTFVyKGUsdCxyKXtsZXQgYT1HYShyLHQpO3JldHVybiEhKGEmJmEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJkdCJ8fGEudGFnTmFtZT09PSJkZCIpKX1mdW5jdGlvbiAkVXIoZSx0LHIpe2xldCBhPUdhKHIsdCk7cmV0dXJuIWF8fGEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJkdCJ8fGEudGFnTmFtZT09PSJkZCIpfWZ1bmN0aW9uIFhLZShlLHQscil7bGV0IGE9R2Eocix0KTtyZXR1cm4hYXx8YS50eXBlPT09ImVsZW1lbnQiJiYoYS50YWdOYW1lPT09InJwInx8YS50YWdOYW1lPT09InJ0Iil9ZnVuY3Rpb24gRFVyKGUsdCxyKXtsZXQgYT1HYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJmEudGFnTmFtZT09PSJvcHRncm91cCJ9ZnVuY3Rpb24gQVVyKGUsdCxyKXtsZXQgYT1HYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJihhLnRhZ05hbWU9PT0ib3B0aW9uInx8YS50YWdOYW1lPT09Im9wdGdyb3VwIil9ZnVuY3Rpb24gRVVyKGUsdCxyKXtsZXQgYT1HYShyLHQpO3JldHVybiEhKGEmJmEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJ0Ym9keSJ8fGEudGFnTmFtZT09PSJ0Zm9vdCIpKX1mdW5jdGlvbiBJVXIoZSx0LHIpe2xldCBhPUdhKHIsdCk7cmV0dXJuIWF8fGEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJ0Ym9keSJ8fGEudGFnTmFtZT09PSJ0Zm9vdCIpfWZ1bmN0aW9uIFBVcihlLHQscil7cmV0dXJuIUdhKHIsdCl9ZnVuY3Rpb24gTlVyKGUsdCxyKXtsZXQgYT1HYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJmEudGFnTmFtZT09PSJ0ciJ9ZnVuY3Rpb24gUUtlKGUsdCxyKXtsZXQgYT1HYShyLHQpO3JldHVybiFhfHxhLnR5cGU9PT0iZWxlbWVudCImJihhLnRhZ05hbWU9PT0idGQifHxhLnRhZ05hbWU9PT0idGgiKX12YXIgU2csQmFlPWYoKCk9PntvJCgpO0ZhZSgpO09hZSgpO1NnPWwkKHtib2R5OkNVcixjYXB0aW9uOlJhZSxjb2xncm91cDpSYWUsZGQ6JFVyLGR0OkxVcixoZWFkOlJhZSxodG1sOnpVcixsaTpfVXIsb3B0Z3JvdXA6RFVyLG9wdGlvbjpBVXIscDpUVXIscnA6WEtlLHJ0OlhLZSx0Ym9keTpJVXIsdGQ6UUtlLHRmb290OlBVcix0aDpRS2UsdGhlYWQ6RVVyLHRyOk5Vcn0pfSk7ZnVuY3Rpb24gRlVyKGUpe2xldCB0PUdhKGUsLTEpO3JldHVybiF0fHx0LnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gT1VyKGUpe2xldCB0PW5ldyBTZXQ7Zm9yKGxldCBhIG9mIGUuY2hpbGRyZW4paWYoYS50eXBlPT09ImVsZW1lbnQiJiYoYS50YWdOYW1lPT09ImJhc2UifHxhLnRhZ05hbWU9PT0idGl0bGUiKSl7aWYodC5oYXMoYS50YWdOYW1lKSlyZXR1cm4hMTt0LmFkZChhLnRhZ05hbWUpfWxldCByPWUuY2hpbGRyZW5bMF07cmV0dXJuIXJ8fHIudHlwZT09PSJlbGVtZW50In1mdW5jdGlvbiBSVXIoZSl7bGV0IHQ9R2EoZSwtMSwhMCk7cmV0dXJuIXR8fHQudHlwZSE9PSJjb21tZW50IiYmISh0LnR5cGU9PT0idGV4dCImJkk2KHQudmFsdWUuY2hhckF0KDApKSkmJiEodC50eXBlPT09ImVsZW1lbnQiJiYodC50YWdOYW1lPT09Im1ldGEifHx0LnRhZ05hbWU9PT0ibGluayJ8fHQudGFnTmFtZT09PSJzY3JpcHQifHx0LnRhZ05hbWU9PT0ic3R5bGUifHx0LnRhZ05hbWU9PT0idGVtcGxhdGUiKSl9ZnVuY3Rpb24gQlVyKGUsdCxyKXtsZXQgYT1OYWUocix0KSxpPUdhKGUsLTEsITApO3JldHVybiByJiZhJiZhLnR5cGU9PT0iZWxlbWVudCImJmEudGFnTmFtZT09PSJjb2xncm91cCImJlNnKGEsci5jaGlsZHJlbi5pbmRleE9mKGEpLHIpPyExOiEhKGkmJmkudHlwZT09PSJlbGVtZW50IiYmaS50YWdOYW1lPT09ImNvbCIpfWZ1bmN0aW9uIEhVcihlLHQscil7bGV0IGE9TmFlKHIsdCksaT1HYShlLC0xKTtyZXR1cm4gciYmYSYmYS50eXBlPT09ImVsZW1lbnQiJiYoYS50YWdOYW1lPT09InRoZWFkInx8YS50YWdOYW1lPT09InRib2R5IikmJlNnKGEsci5jaGlsZHJlbi5pbmRleE9mKGEpLHIpPyExOiEhKGkmJmkudHlwZT09PSJlbGVtZW50IiYmaS50YWdOYW1lPT09InRyIil9dmFyIEpLZSxLS2U9ZigoKT0+e28kKCk7RmFlKCk7QmFlKCk7T2FlKCk7SktlPWwkKHtib2R5OlJVcixjb2xncm91cDpCVXIsaGVhZDpPVXIsaHRtbDpGVXIsdGJvZHk6SFVyfSl9KTtmdW5jdGlvbiBlZXQoZSx0LHIsYSl7bGV0IGk9YS5zY2hlbWEsbj1pLnNwYWNlPT09InN2ZyI/ITE6YS5zZXR0aW5ncy5vbWl0T3B0aW9uYWxUYWdzLHM9aS5zcGFjZT09PSJzdmciP2Euc2V0dGluZ3MuY2xvc2VFbXB0eUVsZW1lbnRzOmEuc2V0dGluZ3Mudm9pZHMuaW5jbHVkZXMoZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkpLG89W10sYztpLnNwYWNlPT09Imh0bWwiJiZlLnRhZ05hbWU9PT0ic3ZnIiYmKGEuc2NoZW1hPWEkKTtsZXQgbD1xVXIoYSxlLnByb3BlcnRpZXMpLHU9YS5hbGwoaS5zcGFjZT09PSJodG1sIiYmZS50YWdOYW1lPT09InRlbXBsYXRlIj9lLmNvbnRlbnQ6ZSk7cmV0dXJuIGEuc2NoZW1hPWksdSYmKHM9ITEpLChsfHwhbnx8IUpLZShlLHQscikpJiYoby5wdXNoKCI8IixlLnRhZ05hbWUsbD8iICIrbDoiIikscyYmKGkuc3BhY2U9PT0ic3ZnInx8YS5zZXR0aW5ncy5jbG9zZVNlbGZDbG9zaW5nKSYmKGM9bC5jaGFyQXQobC5sZW5ndGgtMSksKCFhLnNldHRpbmdzLnRpZ2h0U2VsZkNsb3Npbmd8fGM9PT0iLyJ8fGMmJmMhPT0nIicmJmMhPT0iJyIpJiZvLnB1c2goIiAiKSxvLnB1c2goIi8iKSksby5wdXNoKCI+IikpLG8ucHVzaCh1KSwhcyYmKCFufHwhU2coZSx0LHIpKSYmby5wdXNoKCI8LyIrZS50YWdOYW1lKyI+Iiksby5qb2luKCIiKX1mdW5jdGlvbiBxVXIoZSx0KXtsZXQgcj1bXSxhPS0xLGk7aWYodCl7Zm9yKGkgaW4gdClpZih0W2ldIT09bnVsbCYmdFtpXSE9PXZvaWQgMCl7bGV0IG49alVyKGUsaSx0W2ldKTtuJiZyLnB1c2gobil9fWZvcig7KythPHIubGVuZ3RoOyl7bGV0IG49ZS5zZXR0aW5ncy50aWdodEF0dHJpYnV0ZXM/clthXS5jaGFyQXQoclthXS5sZW5ndGgtMSk6dm9pZCAwO2EhPT1yLmxlbmd0aC0xJiZuIT09JyInJiZuIT09IiciJiYoclthXSs9IiAiKX1yZXR1cm4gci5qb2luKCIiKX1mdW5jdGlvbiBqVXIoZSx0LHIpe2xldCBhPUFhZShlLnNjaGVtYSx0KSxpPWUuc2V0dGluZ3MuYWxsb3dQYXJzZUVycm9ycyYmZS5zY2hlbWEuc3BhY2U9PT0iaHRtbCI/MDoxLG49ZS5zZXR0aW5ncy5hbGxvd0Rhbmdlcm91c0NoYXJhY3RlcnM/MDoxLHM9ZS5xdW90ZSxvO2lmKGEub3ZlcmxvYWRlZEJvb2xlYW4mJihyPT09YS5hdHRyaWJ1dGV8fHI9PT0iIik/cj0hMDooYS5ib29sZWFufHxhLm92ZXJsb2FkZWRCb29sZWFuKSYmKHR5cGVvZiByIT0ic3RyaW5nInx8cj09PWEuYXR0cmlidXRlfHxyPT09IiIpJiYocj0hIXIpLHI9PW51bGx8fHI9PT0hMXx8dHlwZW9mIHI9PSJudW1iZXIiJiZOdW1iZXIuaXNOYU4ocikpcmV0dXJuIiI7bGV0IGM9dmMoYS5hdHRyaWJ1dGUsT2JqZWN0LmFzc2lnbih7fSxlLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDpjJC5uYW1lW2ldW25dfSkpO3JldHVybiByPT09ITB8fChyPUFycmF5LmlzQXJyYXkocik/KGEuY29tbWFTZXBhcmF0ZWQ/aktlOlVLZSkocix7cGFkTGVmdDohZS5zZXR0aW5ncy50aWdodENvbW1hU2VwYXJhdGVkTGlzdHN9KTpTdHJpbmcociksZS5zZXR0aW5ncy5jb2xsYXBzZUVtcHR5QXR0cmlidXRlcyYmIXIpP2M6KGUuc2V0dGluZ3MucHJlZmVyVW5xdW90ZWQmJihvPXZjKHIsT2JqZWN0LmFzc2lnbih7fSxlLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse2F0dHJpYnV0ZTohMCxzdWJzZXQ6YyQudW5xdW90ZWRbaV1bbl19KSkpLG8hPT1yJiYoZS5zZXR0aW5ncy5xdW90ZVNtYXJ0JiZ6OChyLHMpPno4KHIsZS5hbHRlcm5hdGl2ZSkmJihzPWUuYWx0ZXJuYXRpdmUpLG89cyt2YyhyLE9iamVjdC5hc3NpZ24oe30sZS5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6KHM9PT0iJyI/YyQuc2luZ2xlOmMkLmRvdWJsZSlbaV1bbl0sYXR0cmlidXRlOiEwfSkpK3MpLGMrKG8mJiI9IitvKSl9dmFyIGMkLHRldD1mKCgpPT57Q3RlKCk7VktlKCk7RWFlKCk7V0tlKCk7cyQoKTtCYWUoKTtLS2UoKTtjJD17bmFtZTpbW2AJClxmXHIgJi89PmAuc3BsaXQoIiIpLGAJClxmXHIgIiYnLz0+XGBgLnNwbGl0KCIiKV0sW2BcMAkKXGZcciAiJicvPD0+YC5zcGxpdCgiIiksYFwwCQpcZlxyICImJy88PT5cYGAuc3BsaXQoIiIpXV0sdW5xdW90ZWQ6W1tgCQpcZlxyICY+YC5zcGxpdCgiIiksYFwwCQpcZlxyICImJzw9PlxgYC5zcGxpdCgiIildLFtgXDAJClxmXHIgIiYnPD0+XGBgLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnPD0+XGBgLnNwbGl0KCIiKV1dLHNpbmdsZTpbWyImJyIuc3BsaXQoIiIpLCJcIiYnYCIuc3BsaXQoIiIpXSxbIlwwJiciLnNwbGl0KCIiKSwiXDBcIiYnYCIuc3BsaXQoIiIpXV0sZG91YmxlOltbJyImJy5zcGxpdCgiIiksIlwiJidgIi5zcGxpdCgiIildLFsnXDAiJicuc3BsaXQoIiIpLCJcMFwiJidgIi5zcGxpdCgiIildXX19KTtmdW5jdGlvbiBkJChlLHQscixhKXtyZXR1cm4gciYmci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09InNjcmlwdCJ8fHIudGFnTmFtZT09PSJzdHlsZSIpP2UudmFsdWU6dmMoZS52YWx1ZSxPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7c3Vic2V0OlZVcn0pKX12YXIgVlVyLEhhZT1mKCgpPT57cyQoKTtWVXI9WyI8IiwiJiJdfSk7ZnVuY3Rpb24gcmV0KGUsdCxyLGEpe3JldHVybiBhLnNldHRpbmdzLmFsbG93RGFuZ2Vyb3VzSHRtbD9lLnZhbHVlOmQkKGUsdCxyLGEpfXZhciBhZXQ9ZigoKT0+e0hhZSgpfSk7ZnVuY3Rpb24gaWV0KGUsdCxyLGEpe3JldHVybiBhLmFsbChlKX12YXIgbmV0PWYoKCk9Pnt9KTtmdW5jdGlvbiBVVXIoZSl7dGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBub2RlLCBub3QgYCIrZSsiYCIpfWZ1bmN0aW9uIFdVcihlKXtsZXQgdD1lO3Rocm93IG5ldyBFcnJvcigiQ2Fubm90IGNvbXBpbGUgdW5rbm93biBub2RlIGAiK3QudHlwZSsiYCIpfXZhciBzZXQsb2V0PWYoKCk9PntGdGUoKTtCS2UoKTtxS2UoKTt0ZXQoKTthZXQoKTtuZXQoKTtIYWUoKTtzZXQ9Y0woInR5cGUiLHtpbnZhbGlkOlVVcix1bmtub3duOldVcixoYW5kbGVyczp7Y29tbWVudDpSS2UsZG9jdHlwZTpIS2UsZWxlbWVudDplZXQscmF3OnJldCxyb290OmlldCx0ZXh0OmQkfX0pfSk7ZnVuY3Rpb24gcWFlKGUsdCl7bGV0IHI9dHx8R1VyLGE9ci5xdW90ZXx8JyInLGk9YT09PSciJz8iJyI6JyInO2lmKGEhPT0nIicmJmEhPT0iJyIpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHF1b3RlIGAiK2ErImAsIGV4cGVjdGVkIGAnYCBvciBgXCJgIik7cmV0dXJue29uZTpYVXIsYWxsOlFVcixzZXR0aW5nczp7b21pdE9wdGlvbmFsVGFnczpyLm9taXRPcHRpb25hbFRhZ3N8fCExLGFsbG93UGFyc2VFcnJvcnM6ci5hbGxvd1BhcnNlRXJyb3JzfHwhMSxhbGxvd0Rhbmdlcm91c0NoYXJhY3RlcnM6ci5hbGxvd0Rhbmdlcm91c0NoYXJhY3RlcnN8fCExLHF1b3RlU21hcnQ6ci5xdW90ZVNtYXJ0fHwhMSxwcmVmZXJVbnF1b3RlZDpyLnByZWZlclVucXVvdGVkfHwhMSx0aWdodEF0dHJpYnV0ZXM6ci50aWdodEF0dHJpYnV0ZXN8fCExLHVwcGVyRG9jdHlwZTpyLnVwcGVyRG9jdHlwZXx8ITEsdGlnaHREb2N0eXBlOnIudGlnaHREb2N0eXBlfHwhMSxib2d1c0NvbW1lbnRzOnIuYm9ndXNDb21tZW50c3x8ITEsdGlnaHRDb21tYVNlcGFyYXRlZExpc3RzOnIudGlnaHRDb21tYVNlcGFyYXRlZExpc3RzfHwhMSx0aWdodFNlbGZDbG9zaW5nOnIudGlnaHRTZWxmQ2xvc2luZ3x8ITEsY29sbGFwc2VFbXB0eUF0dHJpYnV0ZXM6ci5jb2xsYXBzZUVtcHR5QXR0cmlidXRlc3x8ITEsYWxsb3dEYW5nZXJvdXNIdG1sOnIuYWxsb3dEYW5nZXJvdXNIdG1sfHwhMSx2b2lkczpyLnZvaWRzfHxpS2UsY2hhcmFjdGVyUmVmZXJlbmNlczpyLmNoYXJhY3RlclJlZmVyZW5jZXN8fFlVcixjbG9zZVNlbGZDbG9zaW5nOnIuY2xvc2VTZWxmQ2xvc2luZ3x8ITEsY2xvc2VFbXB0eUVsZW1lbnRzOnIuY2xvc2VFbXB0eUVsZW1lbnRzfHwhMX0sc2NoZW1hOnIuc3BhY2U9PT0ic3ZnIj9hJDp4S2UscXVvdGU6YSxhbHRlcm5hdGl2ZTppfS5vbmUoQXJyYXkuaXNBcnJheShlKT97dHlwZToicm9vdCIsY2hpbGRyZW46ZX06ZSx2b2lkIDAsdm9pZCAwKX1mdW5jdGlvbiBYVXIoZSx0LHIpe3JldHVybiBzZXQoZSx0LHIsdGhpcyl9ZnVuY3Rpb24gUVVyKGUpe2xldCB0PVtdLHI9ZSYmZS5jaGlsZHJlbnx8WlVyLGE9LTE7Zm9yKDsrK2E8ci5sZW5ndGg7KXRbYV09dGhpcy5vbmUoclthXSxhLGUpO3JldHVybiB0LmpvaW4oIiIpfXZhciBHVXIsWVVyLFpVcixjZXQ9ZigoKT0+e25LZSgpO0VhZSgpO29ldCgpO0dVcj17fSxZVXI9e30sWlVyPVtdfSk7dmFyIGRldD1mKCgpPT57Y2V0KCl9KTtmdW5jdGlvbiBSOChlKXtsZXQgdD10aGlzLHtoYW5kbGVyczpyLHNhbml0aXplOmEsLi4uaX09ZXx8SlVyLG49ITEsczt0eXBlb2YgYT09ImJvb2xlYW4iP249IWE6YSYmKHM9YSksdC5jb21waWxlcj1vO2Z1bmN0aW9uIG8oYyxsKXtsZXQgdT15YWUoYyx7aGFuZGxlcnM6cixhbGxvd0Rhbmdlcm91c0h0bWw6bn0pLGQ9bj91OmhhZSh1LHMpLGg9cWFlKGQsey4uLmksYWxsb3dEYW5nZXJvdXNIdG1sOm59KTtyZXR1cm4gbC5leHRuYW1lJiYobC5leHRuYW1lPSIuaHRtbCIpLGMmJmMudHlwZT09PSJyb290IiYmaCYmL1teXHJcbl0vLnRlc3QoaC5jaGFyQXQoaC5sZW5ndGgtMSkpP2grYApgOmh9fXZhciBKVXIsdWV0PWYoKCk9PntLUWUoKTthS2UoKTtkZXQoKTtKVXI9e319KTt2YXIgcGV0PWYoKCk9Pnt1ZXQoKX0pO2Z1bmN0aW9uIEI4KGUpe2xldCB0PXRoaXM7dC5jb21waWxlcj1yO2Z1bmN0aW9uIHIoYSl7cmV0dXJuIGlyZShhLHsuLi50LmRhdGEoInNldHRpbmdzIiksLi4uZSxleHRlbnNpb25zOnQuZGF0YSgidG9NYXJrZG93bkV4dGVuc2lvbnMiKXx8W119KX19dmFyIGZldD1mKCgpPT57eEwoKX0pO3ZhciBoZXQ9ZigoKT0+e2ZldCgpfSk7ZnVuY3Rpb24gS1VyKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciByPWFyZ3VtZW50c1t0XTtmb3IodmFyIGEgaW4gcilyLmhhc093blByb3BlcnR5KGEpJiYoZVthXT1yW2FdKX1yZXR1cm4gZX1mdW5jdGlvbiBqYWUoZSx0KXtyZXR1cm4gQXJyYXkodCsxKS5qb2luKGUpfWZ1bmN0aW9uIG1ldChlKXtyZXR1cm4gZS5yZXBsYWNlKC9eXG4qLywiIil9ZnVuY3Rpb24gZ2V0KGUpe2Zvcih2YXIgdD1lLmxlbmd0aDt0PjAmJmVbdC0xXT09PWAKYDspdC0tO3JldHVybiBlLnN1YnN0cmluZygwLHQpfWZ1bmN0aW9uIGJldChlKXtyZXR1cm4gZ2V0KG1ldChlKSl9ZnVuY3Rpb24gVmFlKGUpe3JldHVybiBVYWUoZSxlV3IpfWZ1bmN0aW9uIHhldChlKXtyZXR1cm4gVWFlKGUsdmV0KX1mdW5jdGlvbiB0V3IoZSl7cmV0dXJuIHdldChlLHZldCl9ZnVuY3Rpb24gcldyKGUpe3JldHVybiBVYWUoZSx5ZXQpfWZ1bmN0aW9uIGFXcihlKXtyZXR1cm4gd2V0KGUseWV0KX1mdW5jdGlvbiBVYWUoZSx0KXtyZXR1cm4gdC5pbmRleE9mKGUubm9kZU5hbWUpPj0wfWZ1bmN0aW9uIHdldChlLHQpe3JldHVybiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZ0LnNvbWUoZnVuY3Rpb24ocil7cmV0dXJuIGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUocikubGVuZ3RofSl9ZnVuY3Rpb24gdSQoZSl7cmV0dXJuIGU/ZS5yZXBsYWNlKC8oXG4rXHMqKSsvZyxgCmApOiIifWZ1bmN0aW9uIE1ldChlKXt0aGlzLm9wdGlvbnM9ZSx0aGlzLl9rZWVwPVtdLHRoaXMuX3JlbW92ZT1bXSx0aGlzLmJsYW5rUnVsZT17cmVwbGFjZW1lbnQ6ZS5ibGFua1JlcGxhY2VtZW50fSx0aGlzLmtlZXBSZXBsYWNlbWVudD1lLmtlZXBSZXBsYWNlbWVudCx0aGlzLmRlZmF1bHRSdWxlPXtyZXBsYWNlbWVudDplLmRlZmF1bHRSZXBsYWNlbWVudH0sdGhpcy5hcnJheT1bXTtmb3IodmFyIHQgaW4gZS5ydWxlcyl0aGlzLmFycmF5LnB1c2goZS5ydWxlc1t0XSl9ZnVuY3Rpb24gV2FlKGUsdCxyKXtmb3IodmFyIGE9MDthPGUubGVuZ3RoO2ErKyl7dmFyIGk9ZVthXTtpZihpV3IoaSx0LHIpKXJldHVybiBpfX1mdW5jdGlvbiBpV3IoZSx0LHIpe3ZhciBhPWUuZmlsdGVyO2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7aWYoYT09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4hMH1lbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkpe2lmKGEuaW5kZXhPZih0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpPi0xKXJldHVybiEwfWVsc2UgaWYodHlwZW9mIGE9PSJmdW5jdGlvbiIpe2lmKGEuY2FsbChlLHQscikpcmV0dXJuITB9ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJgZmlsdGVyYCBuZWVkcyB0byBiZSBhIHN0cmluZywgYXJyYXksIG9yIGZ1bmN0aW9uIil9ZnVuY3Rpb24gbldyKGUpe3ZhciB0PWUuZWxlbWVudCxyPWUuaXNCbG9jayxhPWUuaXNWb2lkLGk9ZS5pc1ByZXx8ZnVuY3Rpb24oZCl7cmV0dXJuIGQubm9kZU5hbWU9PT0iUFJFIn07aWYoISghdC5maXJzdENoaWxkfHxpKHQpKSl7Zm9yKHZhciBuPW51bGwscz0hMSxvPW51bGwsYz1rZXQobyx0LGkpO2MhPT10Oyl7aWYoYy5ub2RlVHlwZT09PTN8fGMubm9kZVR5cGU9PT00KXt2YXIgbD1jLmRhdGEucmVwbGFjZSgvWyBcclxuXHRdKy9nLCIgIik7aWYoKCFufHwvICQvLnRlc3Qobi5kYXRhKSkmJiFzJiZsWzBdPT09IiAiJiYobD1sLnN1YnN0cigxKSksIWwpe2M9R2FlKGMpO2NvbnRpbnVlfWMuZGF0YT1sLG49Y31lbHNlIGlmKGMubm9kZVR5cGU9PT0xKXIoYyl8fGMubm9kZU5hbWU9PT0iQlIiPyhuJiYobi5kYXRhPW4uZGF0YS5yZXBsYWNlKC8gJC8sIiIpKSxuPW51bGwscz0hMSk6YShjKXx8aShjKT8obj1udWxsLHM9ITApOm4mJihzPSExKTtlbHNle2M9R2FlKGMpO2NvbnRpbnVlfXZhciB1PWtldChvLGMsaSk7bz1jLGM9dX1uJiYobi5kYXRhPW4uZGF0YS5yZXBsYWNlKC8gJC8sIiIpLG4uZGF0YXx8R2FlKG4pKX19ZnVuY3Rpb24gR2FlKGUpe3ZhciB0PWUubmV4dFNpYmxpbmd8fGUucGFyZW50Tm9kZTtyZXR1cm4gZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpLHR9ZnVuY3Rpb24ga2V0KGUsdCxyKXtyZXR1cm4gZSYmZS5wYXJlbnROb2RlPT09dHx8cih0KT90Lm5leHRTaWJsaW5nfHx0LnBhcmVudE5vZGU6dC5maXJzdENoaWxkfHx0Lm5leHRTaWJsaW5nfHx0LnBhcmVudE5vZGV9ZnVuY3Rpb24gc1dyKCl7dmFyIGU9WWFlLkRPTVBhcnNlcix0PSExO3RyeXtuZXcgZSgpLnBhcnNlRnJvbVN0cmluZygiIiwidGV4dC9odG1sIikmJih0PSEwKX1jYXRjaHt9cmV0dXJuIHR9ZnVuY3Rpb24gb1dyKCl7dmFyIGU9ZnVuY3Rpb24oKXt9O3JldHVybiBsV3IoKT9lLnByb3RvdHlwZS5wYXJzZUZyb21TdHJpbmc9ZnVuY3Rpb24odCl7dmFyIHI9bmV3IHdpbmRvdy5BY3RpdmVYT2JqZWN0KCJodG1sZmlsZSIpO3JldHVybiByLmRlc2lnbk1vZGU9Im9uIixyLm9wZW4oKSxyLndyaXRlKHQpLHIuY2xvc2UoKSxyfTplLnByb3RvdHlwZS5wYXJzZUZyb21TdHJpbmc9ZnVuY3Rpb24odCl7dmFyIHI9ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKTtyZXR1cm4gci5vcGVuKCksci53cml0ZSh0KSxyLmNsb3NlKCkscn0sZX1mdW5jdGlvbiBsV3IoKXt2YXIgZT0hMTt0cnl7ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKS5vcGVuKCl9Y2F0Y2h7WWFlLkFjdGl2ZVhPYmplY3QmJihlPSEwKX1yZXR1cm4gZX1mdW5jdGlvbiBkV3IoZSx0KXt2YXIgcjtpZih0eXBlb2YgZT09InN0cmluZyIpe3ZhciBhPXVXcigpLnBhcnNlRnJvbVN0cmluZygnPHgtdHVybmRvd24gaWQ9InR1cm5kb3duLXJvb3QiPicrZSsiPC94LXR1cm5kb3duPiIsInRleHQvaHRtbCIpO3I9YS5nZXRFbGVtZW50QnlJZCgidHVybmRvd24tcm9vdCIpfWVsc2Ugcj1lLmNsb25lTm9kZSghMCk7cmV0dXJuIG5Xcih7ZWxlbWVudDpyLGlzQmxvY2s6VmFlLGlzVm9pZDp4ZXQsaXNQcmU6dC5wcmVmb3JtYXR0ZWRDb2RlP3BXcjpudWxsfSkscn1mdW5jdGlvbiB1V3IoKXtyZXR1cm4gWmFlPVphZXx8bmV3IGNXcixaYWV9ZnVuY3Rpb24gcFdyKGUpe3JldHVybiBlLm5vZGVOYW1lPT09IlBSRSJ8fGUubm9kZU5hbWU9PT0iQ09ERSJ9ZnVuY3Rpb24gZldyKGUsdCl7cmV0dXJuIGUuaXNCbG9jaz1WYWUoZSksZS5pc0NvZGU9ZS5ub2RlTmFtZT09PSJDT0RFInx8ZS5wYXJlbnROb2RlLmlzQ29kZSxlLmlzQmxhbms9aFdyKGUpLGUuZmxhbmtpbmdXaGl0ZXNwYWNlPW1XcihlLHQpLGV9ZnVuY3Rpb24gaFdyKGUpe3JldHVybiF4ZXQoZSkmJiFyV3IoZSkmJi9eXHMqJC9pLnRlc3QoZS50ZXh0Q29udGVudCkmJiF0V3IoZSkmJiFhV3IoZSl9ZnVuY3Rpb24gbVdyKGUsdCl7aWYoZS5pc0Jsb2NrfHx0LnByZWZvcm1hdHRlZENvZGUmJmUuaXNDb2RlKXJldHVybntsZWFkaW5nOiIiLHRyYWlsaW5nOiIifTt2YXIgcj1nV3IoZS50ZXh0Q29udGVudCk7cmV0dXJuIHIubGVhZGluZ0FzY2lpJiZ6ZXQoImxlZnQiLGUsdCkmJihyLmxlYWRpbmc9ci5sZWFkaW5nTm9uQXNjaWkpLHIudHJhaWxpbmdBc2NpaSYmemV0KCJyaWdodCIsZSx0KSYmKHIudHJhaWxpbmc9ci50cmFpbGluZ05vbkFzY2lpKSx7bGVhZGluZzpyLmxlYWRpbmcsdHJhaWxpbmc6ci50cmFpbGluZ319ZnVuY3Rpb24gZ1dyKGUpe3ZhciB0PWUubWF0Y2goL14oKFsgXHRcclxuXSopKFxzKikpKD86KD89XFMpW1xzXFNdKlxTKT8oKFxzKj8pKFsgXHRcclxuXSopKSQvKTtyZXR1cm57bGVhZGluZzp0WzFdLGxlYWRpbmdBc2NpaTp0WzJdLGxlYWRpbmdOb25Bc2NpaTp0WzNdLHRyYWlsaW5nOnRbNF0sdHJhaWxpbmdOb25Bc2NpaTp0WzVdLHRyYWlsaW5nQXNjaWk6dFs2XX19ZnVuY3Rpb24gemV0KGUsdCxyKXt2YXIgYSxpLG47cmV0dXJuIGU9PT0ibGVmdCI/KGE9dC5wcmV2aW91c1NpYmxpbmcsaT0vICQvKTooYT10Lm5leHRTaWJsaW5nLGk9L14gLyksYSYmKGEubm9kZVR5cGU9PT0zP249aS50ZXN0KGEubm9kZVZhbHVlKTpyLnByZWZvcm1hdHRlZENvZGUmJmEubm9kZU5hbWU9PT0iQ09ERSI/bj0hMTphLm5vZGVUeXBlPT09MSYmIVZhZShhKSYmKG49aS50ZXN0KGEudGV4dENvbnRlbnQpKSksbn1mdW5jdGlvbiBwJChlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBwJCkpcmV0dXJuIG5ldyBwJChlKTt2YXIgdD17cnVsZXM6QW4saGVhZGluZ1N0eWxlOiJzZXRleHQiLGhyOiIqICogKiIsYnVsbGV0TGlzdE1hcmtlcjoiKiIsY29kZUJsb2NrU3R5bGU6ImluZGVudGVkIixmZW5jZToiYGBgIixlbURlbGltaXRlcjoiXyIsc3Ryb25nRGVsaW1pdGVyOiIqKiIsbGlua1N0eWxlOiJpbmxpbmVkIixsaW5rUmVmZXJlbmNlU3R5bGU6ImZ1bGwiLGJyOiIgICIscHJlZm9ybWF0dGVkQ29kZTohMSxibGFua1JlcGxhY2VtZW50OmZ1bmN0aW9uKHIsYSl7cmV0dXJuIGEuaXNCbG9jaz9gCgpgOiIifSxrZWVwUmVwbGFjZW1lbnQ6ZnVuY3Rpb24ocixhKXtyZXR1cm4gYS5pc0Jsb2NrP2AKCmArYS5vdXRlckhUTUwrYAoKYDphLm91dGVySFRNTH0sZGVmYXVsdFJlcGxhY2VtZW50OmZ1bmN0aW9uKHIsYSl7cmV0dXJuIGEuaXNCbG9jaz9gCgpgK3IrYAoKYDpyfX07dGhpcy5vcHRpb25zPUtVcih7fSx0LGUpLHRoaXMucnVsZXM9bmV3IE1ldCh0aGlzLm9wdGlvbnMpfWZ1bmN0aW9uIENldChlKXt2YXIgdD10aGlzO3JldHVybiBiV3IuY2FsbChlLmNoaWxkTm9kZXMsZnVuY3Rpb24ocixhKXthPW5ldyBmV3IoYSx0Lm9wdGlvbnMpO3ZhciBpPSIiO3JldHVybiBhLm5vZGVUeXBlPT09Mz9pPWEuaXNDb2RlP2Eubm9kZVZhbHVlOnQuZXNjYXBlKGEubm9kZVZhbHVlKTphLm5vZGVUeXBlPT09MSYmKGk9eVdyLmNhbGwodCxhKSksVGV0KHIsaSl9LCIiKX1mdW5jdGlvbiB4V3IoZSl7dmFyIHQ9dGhpcztyZXR1cm4gdGhpcy5ydWxlcy5mb3JFYWNoKGZ1bmN0aW9uKHIpe3R5cGVvZiByLmFwcGVuZD09ImZ1bmN0aW9uIiYmKGU9VGV0KGUsci5hcHBlbmQodC5vcHRpb25zKSkpfSksZS5yZXBsYWNlKC9eW1x0XHJcbl0rLywiIikucmVwbGFjZSgvW1x0XHJcblxzXSskLywiIil9ZnVuY3Rpb24geVdyKGUpe3ZhciB0PXRoaXMucnVsZXMuZm9yTm9kZShlKSxyPUNldC5jYWxsKHRoaXMsZSksYT1lLmZsYW5raW5nV2hpdGVzcGFjZTtyZXR1cm4oYS5sZWFkaW5nfHxhLnRyYWlsaW5nKSYmKHI9ci50cmltKCkpLGEubGVhZGluZyt0LnJlcGxhY2VtZW50KHIsZSx0aGlzLm9wdGlvbnMpK2EudHJhaWxpbmd9ZnVuY3Rpb24gVGV0KGUsdCl7dmFyIHI9Z2V0KGUpLGE9bWV0KHQpLGk9TWF0aC5tYXgoZS5sZW5ndGgtci5sZW5ndGgsdC5sZW5ndGgtYS5sZW5ndGgpLG49YAoKYC5zdWJzdHJpbmcoMCxpKTtyZXR1cm4gcituK2F9ZnVuY3Rpb24gd1dyKGUpe3JldHVybiBlIT1udWxsJiYodHlwZW9mIGU9PSJzdHJpbmcifHxlLm5vZGVUeXBlJiYoZS5ub2RlVHlwZT09PTF8fGUubm9kZVR5cGU9PT05fHxlLm5vZGVUeXBlPT09MTEpKX12YXIgZVdyLHZldCx5ZXQsQW4sWWFlLGNXcixaYWUsYldyLHZXcixmJCxfZXQ9ZigoKT0+e2VXcj1bIkFERFJFU1MiLCJBUlRJQ0xFIiwiQVNJREUiLCJBVURJTyIsIkJMT0NLUVVPVEUiLCJCT0RZIiwiQ0FOVkFTIiwiQ0VOVEVSIiwiREQiLCJESVIiLCJESVYiLCJETCIsIkRUIiwiRklFTERTRVQiLCJGSUdDQVBUSU9OIiwiRklHVVJFIiwiRk9PVEVSIiwiRk9STSIsIkZSQU1FU0VUIiwiSDEiLCJIMiIsIkgzIiwiSDQiLCJINSIsIkg2IiwiSEVBREVSIiwiSEdST1VQIiwiSFIiLCJIVE1MIiwiSVNJTkRFWCIsIkxJIiwiTUFJTiIsIk1FTlUiLCJOQVYiLCJOT0ZSQU1FUyIsIk5PU0NSSVBUIiwiT0wiLCJPVVRQVVQiLCJQIiwiUFJFIiwiU0VDVElPTiIsIlRBQkxFIiwiVEJPRFkiLCJURCIsIlRGT09UIiwiVEgiLCJUSEVBRCIsIlRSIiwiVUwiXTt2ZXQ9WyJBUkVBIiwiQkFTRSIsIkJSIiwiQ09MIiwiQ09NTUFORCIsIkVNQkVEIiwiSFIiLCJJTUciLCJJTlBVVCIsIktFWUdFTiIsIkxJTksiLCJNRVRBIiwiUEFSQU0iLCJTT1VSQ0UiLCJUUkFDSyIsIldCUiJdO3lldD1bIkEiLCJUQUJMRSIsIlRIRUFEIiwiVEJPRFkiLCJURk9PVCIsIlRIIiwiVEQiLCJJRlJBTUUiLCJTQ1JJUFQiLCJBVURJTyIsIlZJREVPIl07QW49e307QW4ucGFyYWdyYXBoPXtmaWx0ZXI6InAiLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUpe3JldHVybmAKCmArZStgCgpgfX0sQW4ubGluZUJyZWFrPXtmaWx0ZXI6ImJyIixyZXBsYWNlbWVudDpmdW5jdGlvbihlLHQscil7cmV0dXJuIHIuYnIrYApgfX0sQW4uaGVhZGluZz17ZmlsdGVyOlsiaDEiLCJoMiIsImgzIiwiaDQiLCJoNSIsImg2Il0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0LHIpe3ZhciBhPU51bWJlcih0Lm5vZGVOYW1lLmNoYXJBdCgxKSk7aWYoci5oZWFkaW5nU3R5bGU9PT0ic2V0ZXh0IiYmYTwzKXt2YXIgaT1qYWUoYT09PTE/Ij0iOiItIixlLmxlbmd0aCk7cmV0dXJuYAoKYCtlK2AKYCtpK2AKCmB9ZWxzZSByZXR1cm5gCgpgK2phZSgiIyIsYSkrIiAiK2UrYAoKYH19LEFuLmJsb2NrcXVvdGU9e2ZpbHRlcjoiYmxvY2txdW90ZSIscmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9YmV0KGUpLnJlcGxhY2UoL14vZ20sIj4gIiksYAoKYCtlK2AKCmB9fSxBbi5saXN0PXtmaWx0ZXI6WyJ1bCIsIm9sIl0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0KXt2YXIgcj10LnBhcmVudE5vZGU7cmV0dXJuIHIubm9kZU5hbWU9PT0iTEkiJiZyLmxhc3RFbGVtZW50Q2hpbGQ9PT10P2AKYCtlOmAKCmArZStgCgpgfX0sQW4ubGlzdEl0ZW09e2ZpbHRlcjoibGkiLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCxyKXt2YXIgYT1yLmJ1bGxldExpc3RNYXJrZXIrIiAgICIsaT10LnBhcmVudE5vZGU7aWYoaS5ub2RlTmFtZT09PSJPTCIpe3ZhciBuPWkuZ2V0QXR0cmlidXRlKCJzdGFydCIpLHM9QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChpLmNoaWxkcmVuLHQpO2E9KG4/TnVtYmVyKG4pK3M6cysxKSsiLiAgIn12YXIgbz0vXG4kLy50ZXN0KGUpO3JldHVybiBlPWJldChlKSsobz9gCmA6IiIpLGU9ZS5yZXBsYWNlKC9cbi9nbSxgCmArIiAiLnJlcGVhdChhLmxlbmd0aCkpLGErZSsodC5uZXh0U2libGluZz9gCmA6IiIpfX0sQW4uaW5kZW50ZWRDb2RlQmxvY2s9e2ZpbHRlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0LmNvZGVCbG9ja1N0eWxlPT09ImluZGVudGVkIiYmZS5ub2RlTmFtZT09PSJQUkUiJiZlLmZpcnN0Q2hpbGQmJmUuZmlyc3RDaGlsZC5ub2RlTmFtZT09PSJDT0RFIn0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0LHIpe3JldHVybmAKCiAgICBgK3QuZmlyc3RDaGlsZC50ZXh0Q29udGVudC5yZXBsYWNlKC9cbi9nLGAKICAgIGApK2AKCmB9fSxBbi5mZW5jZWRDb2RlQmxvY2s9e2ZpbHRlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0LmNvZGVCbG9ja1N0eWxlPT09ImZlbmNlZCImJmUubm9kZU5hbWU9PT0iUFJFIiYmZS5maXJzdENoaWxkJiZlLmZpcnN0Q2hpbGQubm9kZU5hbWU9PT0iQ09ERSJ9LHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9dC5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIsaT0oYS5tYXRjaCgvbGFuZ3VhZ2UtKFxTKykvKXx8W251bGwsIiJdKVsxXSxuPXQuZmlyc3RDaGlsZC50ZXh0Q29udGVudCxzPXIuZmVuY2UuY2hhckF0KDApLG89MyxjPW5ldyBSZWdFeHAoIl4iK3MrInszLH0iLCJnbSIpLGw7bD1jLmV4ZWMobik7KWxbMF0ubGVuZ3RoPj1vJiYobz1sWzBdLmxlbmd0aCsxKTt2YXIgdT1qYWUocyxvKTtyZXR1cm5gCgpgK3UraStgCmArbi5yZXBsYWNlKC9cbiQvLCIiKStgCmArdStgCgpgfX0sQW4uaG9yaXpvbnRhbFJ1bGU9e2ZpbHRlcjoiaHIiLHJlcGxhY2VtZW50OmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm5gCgpgK3IuaHIrYAoKYH19LEFuLmlubGluZUxpbms9e2ZpbHRlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0LmxpbmtTdHlsZT09PSJpbmxpbmVkIiYmZS5ub2RlTmFtZT09PSJBIiYmZS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0KXt2YXIgcj10LmdldEF0dHJpYnV0ZSgiaHJlZiIpO3ImJihyPXIucmVwbGFjZSgvKFsoKV0pL2csIlxcJDEiKSk7dmFyIGE9dSQodC5nZXRBdHRyaWJ1dGUoInRpdGxlIikpO3JldHVybiBhJiYoYT0nICInK2EucmVwbGFjZSgvIi9nLCdcXCInKSsnIicpLCJbIitlKyJdKCIrcithKyIpIn19LEFuLnJlZmVyZW5jZUxpbms9e2ZpbHRlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0LmxpbmtTdHlsZT09PSJyZWZlcmVuY2VkIiYmZS5ub2RlTmFtZT09PSJBIiYmZS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0LHIpe3ZhciBhPXQuZ2V0QXR0cmlidXRlKCJocmVmIiksaT11JCh0LmdldEF0dHJpYnV0ZSgidGl0bGUiKSk7aSYmKGk9JyAiJytpKyciJyk7dmFyIG4scztzd2l0Y2goci5saW5rUmVmZXJlbmNlU3R5bGUpe2Nhc2UiY29sbGFwc2VkIjpuPSJbIitlKyJdW10iLHM9IlsiK2UrIl06ICIrYStpO2JyZWFrO2Nhc2Uic2hvcnRjdXQiOm49IlsiK2UrIl0iLHM9IlsiK2UrIl06ICIrYStpO2JyZWFrO2RlZmF1bHQ6dmFyIG89dGhpcy5yZWZlcmVuY2VzLmxlbmd0aCsxO249IlsiK2UrIl1bIitvKyJdIixzPSJbIitvKyJdOiAiK2EraX1yZXR1cm4gdGhpcy5yZWZlcmVuY2VzLnB1c2gocyksbn0scmVmZXJlbmNlczpbXSxhcHBlbmQ6ZnVuY3Rpb24oZSl7dmFyIHQ9IiI7cmV0dXJuIHRoaXMucmVmZXJlbmNlcy5sZW5ndGgmJih0PWAKCmArdGhpcy5yZWZlcmVuY2VzLmpvaW4oYApgKStgCgpgLHRoaXMucmVmZXJlbmNlcz1bXSksdH19LEFuLmVtcGhhc2lzPXtmaWx0ZXI6WyJlbSIsImkiXSxyZXBsYWNlbWVudDpmdW5jdGlvbihlLHQscil7cmV0dXJuIGUudHJpbSgpP3IuZW1EZWxpbWl0ZXIrZStyLmVtRGVsaW1pdGVyOiIifX0sQW4uc3Ryb25nPXtmaWx0ZXI6WyJzdHJvbmciLCJiIl0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlLnRyaW0oKT9yLnN0cm9uZ0RlbGltaXRlcitlK3Iuc3Ryb25nRGVsaW1pdGVyOiIifX0sQW4uY29kZT17ZmlsdGVyOmZ1bmN0aW9uKGUpe3ZhciB0PWUucHJldmlvdXNTaWJsaW5nfHxlLm5leHRTaWJsaW5nLHI9ZS5wYXJlbnROb2RlLm5vZGVOYW1lPT09IlBSRSImJiF0O3JldHVybiBlLm5vZGVOYW1lPT09IkNPREUiJiYhcn0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIiI7ZT1lLnJlcGxhY2UoL1xyP1xufFxyL2csIiAiKTtmb3IodmFyIHQ9L15gfF4gLio/W14gXS4qICR8YCQvLnRlc3QoZSk/IiAiOiIiLHI9ImAiLGE9ZS5tYXRjaCgvYCsvZ20pfHxbXTthLmluZGV4T2YocikhPT0tMTspcj1yKyJgIjtyZXR1cm4gcit0K2UrdCtyfX0sQW4uaW1hZ2U9e2ZpbHRlcjoiaW1nIixyZXBsYWNlbWVudDpmdW5jdGlvbihlLHQpe3ZhciByPXUkKHQuZ2V0QXR0cmlidXRlKCJhbHQiKSksYT10LmdldEF0dHJpYnV0ZSgic3JjIil8fCIiLGk9dSQodC5nZXRBdHRyaWJ1dGUoInRpdGxlIikpLG49aT8nICInK2krJyInOiIiO3JldHVybiBhPyIhWyIrcisiXSgiK2ErbisiKSI6IiJ9fTtNZXQucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24oZSx0KXt0aGlzLmFycmF5LnVuc2hpZnQodCl9LGtlZXA6ZnVuY3Rpb24oZSl7dGhpcy5fa2VlcC51bnNoaWZ0KHtmaWx0ZXI6ZSxyZXBsYWNlbWVudDp0aGlzLmtlZXBSZXBsYWNlbWVudH0pfSxyZW1vdmU6ZnVuY3Rpb24oZSl7dGhpcy5fcmVtb3ZlLnVuc2hpZnQoe2ZpbHRlcjplLHJlcGxhY2VtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIiJ9fSl9LGZvck5vZGU6ZnVuY3Rpb24oZSl7aWYoZS5pc0JsYW5rKXJldHVybiB0aGlzLmJsYW5rUnVsZTt2YXIgdDtyZXR1cm4odD1XYWUodGhpcy5hcnJheSxlLHRoaXMub3B0aW9ucykpfHwodD1XYWUodGhpcy5fa2VlcCxlLHRoaXMub3B0aW9ucykpfHwodD1XYWUodGhpcy5fcmVtb3ZlLGUsdGhpcy5vcHRpb25zKSk/dDp0aGlzLmRlZmF1bHRSdWxlfSxmb3JFYWNoOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8dGhpcy5hcnJheS5sZW5ndGg7dCsrKWUodGhpcy5hcnJheVt0XSx0KX19O1lhZT10eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3c6e307Y1dyPXNXcigpP1lhZS5ET01QYXJzZXI6b1dyKCk7YldyPUFycmF5LnByb3RvdHlwZS5yZWR1Y2UsdldyPVtbL1xcL2csIlxcXFwiXSxbL1wqL2csIlxcKiJdLFsvXi0vZywiXFwtIl0sWy9eXCsgL2csIlxcKyAiXSxbL14oPSspL2csIlxcJDEiXSxbL14oI3sxLDZ9KSAvZywiXFwkMSAiXSxbL2AvZywiXFxgIl0sWy9efn5+L2csIlxcfn5+Il0sWy9cWy9nLCJcXFsiXSxbL1xdL2csIlxcXSJdLFsvXj4vZywiXFw+Il0sWy9fL2csIlxcXyJdLFsvXihcZCspXC4gL2csIiQxXFwuICJdXTtwJC5wcm90b3R5cGU9e3R1cm5kb3duOmZ1bmN0aW9uKGUpe2lmKCF3V3IoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihlKyIgaXMgbm90IGEgc3RyaW5nLCBvciBhbiBlbGVtZW50L2RvY3VtZW50L2ZyYWdtZW50IG5vZGUuIik7aWYoZT09PSIiKXJldHVybiIiO3ZhciB0PUNldC5jYWxsKHRoaXMsbmV3IGRXcihlLHRoaXMub3B0aW9ucykpO3JldHVybiB4V3IuY2FsbCh0aGlzLHQpfSx1c2U6ZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLnVzZShlW3RdKTtlbHNlIGlmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKWUodGhpcyk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJwbHVnaW4gbXVzdCBiZSBhIEZ1bmN0aW9uIG9yIGFuIEFycmF5IG9mIEZ1bmN0aW9ucyIpO3JldHVybiB0aGlzfSxhZGRSdWxlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucnVsZXMuYWRkKGUsdCksdGhpc30sa2VlcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ydWxlcy5rZWVwKGUpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ydWxlcy5yZW1vdmUoZSksdGhpc30sZXNjYXBlOmZ1bmN0aW9uKGUpe3JldHVybiB2V3IucmVkdWNlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHQucmVwbGFjZShyWzBdLHJbMV0pfSxlKX19O2YkPXAkfSk7dmFyIHpnPXt9O1JlKHpnLHtnZm06KCk9PkRldCxoaWdobGlnaHRlZENvZGVCbG9jazooKT0+UWFlLHN0cmlrZXRocm91Z2g6KCk9PkphZSx0YWJsZXM6KCk9PkthZSx0YXNrTGlzdEl0ZW1zOigpPT5laWV9KTtmdW5jdGlvbiBRYWUoZSl7ZS5hZGRSdWxlKCJoaWdobGlnaHRlZENvZGVCbG9jayIse2ZpbHRlcjpmdW5jdGlvbih0KXt2YXIgcj10LmZpcnN0Q2hpbGQ7cmV0dXJuIHQubm9kZU5hbWU9PT0iRElWIiYmTGV0LnRlc3QodC5jbGFzc05hbWUpJiZyJiZyLm5vZGVOYW1lPT09IlBSRSJ9LHJlcGxhY2VtZW50OmZ1bmN0aW9uKHQscixhKXt2YXIgaT1yLmNsYXNzTmFtZXx8IiIsbj0oaS5tYXRjaChMZXQpfHxbbnVsbCwiIl0pWzFdO3JldHVybmAKCmArYS5mZW5jZStuK2AKYCtyLmZpcnN0Q2hpbGQudGV4dENvbnRlbnQrYApgK2EuZmVuY2UrYAoKYH19KX1mdW5jdGlvbiBKYWUoZSl7ZS5hZGRSdWxlKCJzdHJpa2V0aHJvdWdoIix7ZmlsdGVyOlsiZGVsIiwicyIsInN0cmlrZSJdLHJlcGxhY2VtZW50OmZ1bmN0aW9uKHQpe3JldHVybiJ+Iit0KyJ+In19KX1mdW5jdGlvbiBYYWUoZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0Lm5vZGVOYW1lPT09IlRIRUFEInx8dC5maXJzdENoaWxkPT09ZSYmKHQubm9kZU5hbWU9PT0iVEFCTEUifHxTV3IodCkpJiZrV3IuY2FsbChlLmNoaWxkTm9kZXMsZnVuY3Rpb24ocil7cmV0dXJuIHIubm9kZU5hbWU9PT0iVEgifSl9ZnVuY3Rpb24gU1dyKGUpe3ZhciB0PWUucHJldmlvdXNTaWJsaW5nO3JldHVybiBlLm5vZGVOYW1lPT09IlRCT0RZIiYmKCF0fHx0Lm5vZGVOYW1lPT09IlRIRUFEIiYmL15ccyokL2kudGVzdCh0LnRleHRDb250ZW50KSl9ZnVuY3Rpb24gJGV0KGUsdCl7dmFyIHI9TVdyLmNhbGwodC5wYXJlbnROb2RlLmNoaWxkTm9kZXMsdCksYT0iICI7cmV0dXJuIHI9PT0wJiYoYT0ifCAiKSxhK2UrIiB8In1mdW5jdGlvbiBLYWUoZSl7ZS5rZWVwKGZ1bmN0aW9uKHIpe3JldHVybiByLm5vZGVOYW1lPT09IlRBQkxFIiYmIVhhZShyLnJvd3NbMF0pfSk7Zm9yKHZhciB0IGluIEg4KWUuYWRkUnVsZSh0LEg4W3RdKX1mdW5jdGlvbiBlaWUoZSl7ZS5hZGRSdWxlKCJ0YXNrTGlzdEl0ZW1zIix7ZmlsdGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0LnR5cGU9PT0iY2hlY2tib3giJiZ0LnBhcmVudE5vZGUubm9kZU5hbWU9PT0iTEkifSxyZXBsYWNlbWVudDpmdW5jdGlvbih0LHIpe3JldHVybihyLmNoZWNrZWQ/Ilt4XSI6IlsgXSIpKyIgIn19KX1mdW5jdGlvbiBEZXQoZSl7ZS51c2UoW1FhZSxKYWUsS2FlLGVpZV0pfXZhciBMZXQsTVdyLGtXcixIOCxBZXQ9ZigoKT0+e0xldD0vaGlnaGxpZ2h0LSg/OnRleHR8c291cmNlKS0oW2EtejAtOV0rKS87TVdyPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLGtXcj1BcnJheS5wcm90b3R5cGUuZXZlcnksSDg9e307SDgudGFibGVDZWxsPXtmaWx0ZXI6WyJ0aCIsInRkIl0scmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJGV0KGUsdCl9fSxIOC50YWJsZVJvdz17ZmlsdGVyOiJ0ciIscmVwbGFjZW1lbnQ6ZnVuY3Rpb24oZSx0KXt2YXIgcj0iIixhPXtsZWZ0OiI6LS0iLHJpZ2h0OiItLToiLGNlbnRlcjoiOi06In07aWYoWGFlKHQpKWZvcih2YXIgaT0wO2k8dC5jaGlsZE5vZGVzLmxlbmd0aDtpKyspe3ZhciBuPSItLS0iLHM9KHQuY2hpbGROb2Rlc1tpXS5nZXRBdHRyaWJ1dGUoImFsaWduIil8fCIiKS50b0xvd2VyQ2FzZSgpO3MmJihuPWFbc118fG4pLHIrPSRldChuLHQuY2hpbGROb2Rlc1tpXSl9cmV0dXJuYApgK2UrKHI/YApgK3I6IiIpfX0sSDgudGFibGU9e2ZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZT09PSJUQUJMRSImJlhhZShlLnJvd3NbMF0pfSxyZXBsYWNlbWVudDpmdW5jdGlvbihlKXtyZXR1cm4gZT1lLnJlcGxhY2UoYAoKYCxgCmApLGAKCmArZStgCgpgfX0sSDgudGFibGVTZWN0aW9uPXtmaWx0ZXI6WyJ0aGVhZCIsInRib2R5IiwidGZvb3QiXSxyZXBsYWNlbWVudDpmdW5jdGlvbihlKXtyZXR1cm4gZX19fSk7dmFyIHRpZSxyaWU9ZigoKT0+e3RpZT1zcih2R2UoKSwxKTtRR2UoKTthUWUoKTtMUWUoKTtIUWUoKTtwZXQoKTtoZXQoKTtfZXQoKTtBZXQoKX0pO3ZhciBoJCxJZXQ9ZigoKT0+e3JpZSgpO2gkPWNsYXNzIGV7c3RhdGljIGFzeW5jIGNyZWF0ZUZyb21NYXJrZG93blN0cmluZyh0KXtsZXQgcj1uZXcgZTtyZXR1cm4gYXdhaXQgci51cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcodCkscn1hc3luYyB1cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcodCl7bGV0IHIsYT1hd2FpdCB0ZygpLnVzZShFOCkudXNlKEE4KS51c2UoUDgsWyJ5YW1sIiwidG9tbCJdKS51c2UoQjgpLnVzZShSOCkudXNlKCgpPT5pPT57Y29uc29sZS5kaXIoaSk7bGV0IG49aS5jaGlsZHJlbi5maW5kKHM9PnMudHlwZT09PSJ5YW1sIik7biYmKHI9bi52YWx1ZSl9KS5wcm9jZXNzKHQpO3RoaXMuaHRtbD1hLnRvU3RyaW5nKCkscj90aGlzLmZyb250bWF0dGVyRGF0YT1hd2FpdCB0aWUueWFtbFN0cmluZ1RvT2JqZWN0KHIpOnRoaXMuZnJvbnRtYXR0ZXJEYXRhPXt9fX19KTt2YXIgcTg9e307UmUocTgse1NtYXJ0TWFya2Rvd246KCk9PmFpZX0pO3ZhciBhaWUsaWllPWYoKCk9PntyaWUoKTtJZXQoKTthaWU9Y2xhc3MgZXtzdGF0aWMgYXN5bmMgZWFzeU1hcmtkb3duVG9IdG1sKHQpe3JldHVybihhd2FpdCBuZXcgZSgpLmdldE1kUGFyc2VkUmVzdWx0RnJvbU1hcmtkb3duKHQpKS5odG1sfWNvbnN0cnVjdG9yKCl7fWFzeW5jIGdldE1kUGFyc2VkUmVzdWx0RnJvbU1hcmtkb3duKHQpe3JldHVybiBhd2FpdCBoJC5jcmVhdGVGcm9tTWFya2Rvd25TdHJpbmcodCl9aHRtbFRvTWFya2Rvd24odCl7bGV0IHI9bmV3IGYkKHtoZWFkaW5nU3R5bGU6ImF0eCIsY29kZUJsb2NrU3R5bGU6ImZlbmNlZCJ9KTtyZXR1cm4gci51c2UoemcuZ2ZtKSxyLnR1cm5kb3duKHQpfX19KTt2YXIgQmV0PWplKENvPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShDbywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQ28uUGF0aEVycm9yPUNvLlRva2VuRGF0YT12b2lkIDAsQ28ucGFyc2U9bGllLENvLmNvbXBpbGU9VFdyLENvLm1hdGNoPUxXcixDby5wYXRoVG9SZWdleHA9RmV0LENvLnN0cmluZ2lmeT1BV3I7dmFyIG5pZT0iLyIsc2llPWU9PmUsUGV0PS9eWyRfXHB7SURfU3RhcnR9XSQvdSxvaWU9L15bJFx1MjAwY1x1MjAwZFxwe0lEX0NvbnRpbnVlfV0kL3UseldyPXsieyI6InsiLCJ9IjoifSIsIigiOiIoIiwiKSI6IikiLCJbIjoiWyIsIl0iOiJdIiwiKyI6IisiLCI/IjoiPyIsIiEiOiIhIn07ZnVuY3Rpb24gQ1dyKGUpe3JldHVybiBlLnJlcGxhY2UoL1t7fSgpXFtcXSs/IToqXFxdL2csIlxcJCYiKX1mdW5jdGlvbiBhbChlKXtyZXR1cm4gZS5yZXBsYWNlKC9bLisqP14ke30oKVtcXXwvXFxdL2csIlxcJCYiKX12YXIgbSQ9Y2xhc3N7Y29uc3RydWN0b3IodCxyKXt0aGlzLnRva2Vucz10LHRoaXMub3JpZ2luYWxQYXRoPXJ9fTtDby5Ub2tlbkRhdGE9bSQ7dmFyIFA2PWNsYXNzIGV4dGVuZHMgVHlwZUVycm9ye2NvbnN0cnVjdG9yKHQscil7bGV0IGE9dDtyJiYoYSs9YDogJHtyfWApLGErPSI7IHZpc2l0IGh0dHBzOi8vZ2l0Lm5ldy9wYXRoVG9SZWdleHBFcnJvciBmb3IgaW5mbyIsc3VwZXIoYSksdGhpcy5vcmlnaW5hbFBhdGg9cn19O0NvLlBhdGhFcnJvcj1QNjtmdW5jdGlvbiBsaWUoZSx0PXt9KXtsZXR7ZW5jb2RlUGF0aDpyPXNpZX09dCxhPVsuLi5lXSxpPVtdLG49MCxzPTA7ZnVuY3Rpb24gbygpe2xldCBsPSIiO2lmKFBldC50ZXN0KGFbbl0pKWRvIGwrPWFbbisrXTt3aGlsZShvaWUudGVzdChhW25dKSk7ZWxzZSBpZihhW25dPT09JyInKXtsZXQgdT1uO2Zvcig7bisrPGEubGVuZ3RoOyl7aWYoYVtuXT09PSciJyl7bisrLHU9MDticmVha31hW25dPT09IlxcIiYmbisrLGwrPWFbbl19aWYodSl0aHJvdyBuZXcgUDYoYFVudGVybWluYXRlZCBxdW90ZSBhdCBpbmRleCAke3V9YCxlKX1pZighbCl0aHJvdyBuZXcgUDYoYE1pc3NpbmcgcGFyYW1ldGVyIG5hbWUgYXQgaW5kZXggJHtufWAsZSk7cmV0dXJuIGx9Zm9yKDtuPGEubGVuZ3RoOyl7bGV0IGw9YVtuXSx1PXpXcltsXTt1P2kucHVzaCh7dHlwZTp1LGluZGV4Om4rKyx2YWx1ZTpsfSk6bD09PSJcXCI/aS5wdXNoKHt0eXBlOiJlc2NhcGUiLGluZGV4Om4rKyx2YWx1ZTphW24rK119KTpsPT09IjoiP2kucHVzaCh7dHlwZToicGFyYW0iLGluZGV4Om4rKyx2YWx1ZTpvKCl9KTpsPT09IioiP2kucHVzaCh7dHlwZToid2lsZGNhcmQiLGluZGV4Om4rKyx2YWx1ZTpvKCl9KTppLnB1c2goe3R5cGU6ImNoYXIiLGluZGV4Om4rKyx2YWx1ZTpsfSl9aS5wdXNoKHt0eXBlOiJlbmQiLGluZGV4Om4sdmFsdWU6IiJ9KTtmdW5jdGlvbiBjKGwpe2xldCB1PVtdO2Zvcig7Oyl7bGV0IGQ9aVtzKytdO2lmKGQudHlwZT09PWwpYnJlYWs7aWYoZC50eXBlPT09ImNoYXIifHxkLnR5cGU9PT0iZXNjYXBlIil7bGV0IGg9ZC52YWx1ZSxtPWlbc107Zm9yKDttLnR5cGU9PT0iY2hhciJ8fG0udHlwZT09PSJlc2NhcGUiOyloKz1tLnZhbHVlLG09aVsrK3NdO3UucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6cihoKX0pO2NvbnRpbnVlfWlmKGQudHlwZT09PSJwYXJhbSJ8fGQudHlwZT09PSJ3aWxkY2FyZCIpe3UucHVzaCh7dHlwZTpkLnR5cGUsbmFtZTpkLnZhbHVlfSk7Y29udGludWV9aWYoZC50eXBlPT09InsiKXt1LnB1c2goe3R5cGU6Imdyb3VwIix0b2tlbnM6YygifSIpfSk7Y29udGludWV9dGhyb3cgbmV3IFA2KGBVbmV4cGVjdGVkICR7ZC50eXBlfSBhdCBpbmRleCAke2QuaW5kZXh9LCBleHBlY3RlZCAke2x9YCxlKX1yZXR1cm4gdX1yZXR1cm4gbmV3IG0kKGMoImVuZCIpLGUpfWZ1bmN0aW9uIFRXcihlLHQ9e30pe2xldHtlbmNvZGU6cj1lbmNvZGVVUklDb21wb25lbnQsZGVsaW1pdGVyOmE9bmllfT10LGk9dHlwZW9mIGU9PSJvYmplY3QiP2U6bGllKGUsdCksbj1OZXQoaS50b2tlbnMsYSxyKTtyZXR1cm4gZnVuY3Rpb24obz17fSl7bGV0W2MsLi4ubF09bihvKTtpZihsLmxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKGBNaXNzaW5nIHBhcmFtZXRlcnM6ICR7bC5qb2luKCIsICIpfWApO3JldHVybiBjfX1mdW5jdGlvbiBOZXQoZSx0LHIpe2xldCBhPWUubWFwKGk9Pl9XcihpLHQscikpO3JldHVybiBpPT57bGV0IG49WyIiXTtmb3IobGV0IHMgb2YgYSl7bGV0W28sLi4uY109cyhpKTtuWzBdKz1vLG4ucHVzaCguLi5jKX1yZXR1cm4gbn19ZnVuY3Rpb24gX1dyKGUsdCxyKXtpZihlLnR5cGU9PT0idGV4dCIpcmV0dXJuKCk9PltlLnZhbHVlXTtpZihlLnR5cGU9PT0iZ3JvdXAiKXtsZXQgaT1OZXQoZS50b2tlbnMsdCxyKTtyZXR1cm4gbj0+e2xldFtzLC4uLm9dPWkobik7cmV0dXJuIG8ubGVuZ3RoP1siIl06W3NdfX1sZXQgYT1yfHxzaWU7cmV0dXJuIGUudHlwZT09PSJ3aWxkY2FyZCImJnIhPT0hMT9pPT57bGV0IG49aVtlLm5hbWVdO2lmKG49PW51bGwpcmV0dXJuWyIiLGUubmFtZV07aWYoIUFycmF5LmlzQXJyYXkobil8fG4ubGVuZ3RoPT09MCl0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAiJHtlLm5hbWV9IiB0byBiZSBhIG5vbi1lbXB0eSBhcnJheWApO3JldHVybltuLm1hcCgocyxvKT0+e2lmKHR5cGVvZiBzIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAiJHtlLm5hbWV9LyR7b30iIHRvIGJlIGEgc3RyaW5nYCk7cmV0dXJuIGEocyl9KS5qb2luKHQpXX06aT0+e2xldCBuPWlbZS5uYW1lXTtpZihuPT1udWxsKXJldHVyblsiIixlLm5hbWVdO2lmKHR5cGVvZiBuIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAiJHtlLm5hbWV9IiB0byBiZSBhIHN0cmluZ2ApO3JldHVyblthKG4pXX19ZnVuY3Rpb24gTFdyKGUsdD17fSl7bGV0e2RlY29kZTpyPWRlY29kZVVSSUNvbXBvbmVudCxkZWxpbWl0ZXI6YT1uaWV9PXQse3JlZ2V4cDppLGtleXM6bn09RmV0KGUsdCkscz1uLm1hcChvPT5yPT09ITE/c2llOm8udHlwZT09PSJwYXJhbSI/cjpjPT5jLnNwbGl0KGEpLm1hcChyKSk7cmV0dXJuIGZ1bmN0aW9uKGMpe2xldCBsPWkuZXhlYyhjKTtpZighbClyZXR1cm4hMTtsZXQgdT1sWzBdLGQ9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IGg9MTtoPGwubGVuZ3RoO2grKyl7aWYobFtoXT09PXZvaWQgMCljb250aW51ZTtsZXQgbT1uW2gtMV0sdj1zW2gtMV07ZFttLm5hbWVdPXYobFtoXSl9cmV0dXJue3BhdGg6dSxwYXJhbXM6ZH19fWZ1bmN0aW9uIEZldChlLHQ9e30pe2xldHtkZWxpbWl0ZXI6cj1uaWUsZW5kOmE9ITAsc2Vuc2l0aXZlOmk9ITEsdHJhaWxpbmc6bj0hMH09dCxzPVtdLG89aT8iIjoiaSIsYz1bXTtmb3IobGV0IGQgb2YgT2V0KGUsW10pKXtsZXQgaD10eXBlb2YgZD09Im9iamVjdCI/ZDpsaWUoZCx0KTtmb3IobGV0IG0gb2YgZyQoaC50b2tlbnMsMCxbXSkpYy5wdXNoKCRXcihtLHIscyxoLm9yaWdpbmFsUGF0aCkpfWxldCBsPWBeKD86JHtjLmpvaW4oInwiKX0pYDtyZXR1cm4gbiYmKGwrPWAoPzoke2FsKHIpfSQpP2ApLGwrPWE/IiQiOmAoPz0ke2FsKHIpfXwkKWAse3JlZ2V4cDpuZXcgUmVnRXhwKGwsbyksa2V5czpzfX1mdW5jdGlvbiBPZXQoZSx0KXtpZihBcnJheS5pc0FycmF5KGUpKWZvcihsZXQgciBvZiBlKU9ldChyLHQpO2Vsc2UgdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uKmckKGUsdCxyKXtpZih0PT09ZS5sZW5ndGgpcmV0dXJuIHlpZWxkIHI7bGV0IGE9ZVt0XTtpZihhLnR5cGU9PT0iZ3JvdXAiKWZvcihsZXQgaSBvZiBnJChhLnRva2VucywwLHIuc2xpY2UoKSkpeWllbGQqZyQoZSx0KzEsaSk7ZWxzZSByLnB1c2goYSk7eWllbGQqZyQoZSx0KzEscil9ZnVuY3Rpb24gJFdyKGUsdCxyLGEpe2xldCBpPSIiLG49IiIscz0hMDtmb3IobGV0IG8gb2YgZSl7aWYoby50eXBlPT09InRleHQiKXtpKz1hbChvLnZhbHVlKSxuKz1vLnZhbHVlLHN8fChzPW8udmFsdWUuaW5jbHVkZXModCkpO2NvbnRpbnVlfWlmKG8udHlwZT09PSJwYXJhbSJ8fG8udHlwZT09PSJ3aWxkY2FyZCIpe2lmKCFzJiYhbil0aHJvdyBuZXcgUDYoYE1pc3NpbmcgdGV4dCBiZWZvcmUgIiR7by5uYW1lfSIgJHtvLnR5cGV9YCxhKTtvLnR5cGU9PT0icGFyYW0iP2krPWAoJHtEV3IodCxzPyIiOm4pfSspYDppKz0iKFtcXHNcXFNdKykiLHIucHVzaChvKSxuPSIiLHM9ITE7Y29udGludWV9fXJldHVybiBpfWZ1bmN0aW9uIERXcihlLHQpe3JldHVybiB0Lmxlbmd0aDwyP2UubGVuZ3RoPDI/YFteJHthbChlK3QpfV1gOmAoPzooPyEke2FsKGUpfSlbXiR7YWwodCl9XSlgOmUubGVuZ3RoPDI/YCg/Oig/ISR7YWwodCl9KVteJHthbChlKX1dKWA6YCg/Oig/ISR7YWwodCl9fCR7YWwoZSl9KVtcXHNcXFNdKWB9ZnVuY3Rpb24gUmV0KGUpe2xldCB0PSIiLHI9MDtmdW5jdGlvbiBhKGkpe3JldHVybiBFV3IoaSkmJklXcihlW3JdKT9pOkpTT04uc3RyaW5naWZ5KGkpfWZvcig7cjxlLmxlbmd0aDspe2xldCBpPWVbcisrXTtpZihpLnR5cGU9PT0idGV4dCIpe3QrPUNXcihpLnZhbHVlKTtjb250aW51ZX1pZihpLnR5cGU9PT0iZ3JvdXAiKXt0Kz1geyR7UmV0KGkudG9rZW5zKX19YDtjb250aW51ZX1pZihpLnR5cGU9PT0icGFyYW0iKXt0Kz1gOiR7YShpLm5hbWUpfWA7Y29udGludWV9aWYoaS50eXBlPT09IndpbGRjYXJkIil7dCs9YCoke2EoaS5uYW1lKX1gO2NvbnRpbnVlfXRocm93IG5ldyBUeXBlRXJyb3IoYFVua25vd24gdG9rZW4gdHlwZTogJHtpLnR5cGV9YCl9cmV0dXJuIHR9ZnVuY3Rpb24gQVdyKGUpe3JldHVybiBSZXQoZS50b2tlbnMpfWZ1bmN0aW9uIEVXcihlKXtsZXRbdCwuLi5yXT1lO3JldHVybiBQZXQudGVzdCh0KSYmci5ldmVyeShhPT5vaWUudGVzdChhKSl9ZnVuY3Rpb24gSVdyKGUpe3JldHVybiBlJiZlLnR5cGU9PT0idGV4dCI/IW9pZS50ZXN0KGUudmFsdWVbMF0pOiEwfX0pO3ZhciBjaWUsZGllPWYoKCk9PntiOSgpO3lvKCk7Y2llPXNyKEJldCgpLDEpfSk7dmFyIGIkLEhldD1mKCgpPT57ZGllKCk7YiQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt9Z2V0QWxsQXNPYmplY3QoKXtsZXQgdD1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO3JldHVybiBPYmplY3QuZnJvbUVudHJpZXModC5lbnRyaWVzKCkpfXNldFF1ZXJ5UGFyYW0odCxyLGE9InJlcGxhY2UiKXt2YXIgaT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2kuc2V0KHQsciksYT09PSJwdXNoIj9oaXN0b3J5LnB1c2hTdGF0ZShudWxsLG51bGwsIj8iK2kudG9TdHJpbmcoKSk6aGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxudWxsLCI/IitpLnRvU3RyaW5nKCkpfWRlbGV0ZVF1ZXJ5UGFyYW0odCxyPSJyZXBsYWNlIil7dmFyIGE9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTthLmRlbGV0ZSh0KSxyPT09InB1c2giP2hpc3RvcnkucHVzaFN0YXRlKG51bGwsbnVsbCwiPyIrYS50b1N0cmluZygpKTpoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLG51bGwsIj8iK2EudG9TdHJpbmcoKSl9Z2V0UXVlcnlQYXJhbSh0KXtyZXR1cm4gdGhpcy5nZXRBbGxBc09iamVjdCgpW3RdfX19KTt2YXIgVlhpLHVpZSxxZXQ9ZigoKT0+e2RpZSgpO0hldCgpO1ZYaT1lPT57Y29uc29sZS5sb2coYCVjW1JvdXRlcl0lYyAke2V9YCwiY29sb3I6IHJnYigyNTUsIDEwNSwgMTAwKTsiLCJjb2xvcjogaW5oZXJpdCIpfSx1aWU9Y2xhc3MgZXtjb25zdHJ1Y3Rvcih0LHI9IiIpe3RoaXMub3B0aW9ucz17ZGVidWc6ITF9LHRoaXMucXVlcnlQYXJhbXM9bmV3IGIkLHRoaXMucm91dGVzPVtdLHRoaXMub3B0aW9ucz17Li4udGhpcy5vcHRpb25zLC4uLnR9LHRoaXMuYmFzZVBhdGg9cix0aGlzLnBvcHN0YXRlTGlzdGVuZXI9YT0+e2EucHJldmVudERlZmF1bHQoKSx0aGlzLl9oYW5kbGVSb3V0ZVN0YXRlKCl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsdGhpcy5wb3BzdGF0ZUxpc3RlbmVyKX1jcmVhdGVTdWJSb3V0ZXIodCxyKXtsZXQgYT1gJHt0aGlzLmJhc2VQYXRofSR7dH1gO3JldHVybiBuZXcgZSh7Li4udGhpcy5vcHRpb25zLC4uLnJ9LGEpfWFzeW5jIHB1c2hVcmwodD0iLyIscj17fSl7bGV0IGE9YCR7dGhpcy5iYXNlUGF0aH0ke3R9YDthIT09d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lP3dpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShyLHdpbmRvdy5kb2N1bWVudC50aXRsZSxhKTp3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUocix3aW5kb3cuZG9jdW1lbnQudGl0bGUsYSksYXdhaXQgdGhpcy5faGFuZGxlUm91dGVTdGF0ZSgpfW9uKHQscil7bGV0IGE9YCR7dGhpcy5iYXNlUGF0aH0ke3R9YCxpPXttYXRjaEZ1bmN0aW9uOmNpZS5tYXRjaChhKSxoYW5kbGVyOnJ9O3JldHVybiB0aGlzLnJvdXRlcy5wdXNoKGkpLCgpPT57dGhpcy5yb3V0ZXMuc3BsaWNlKHRoaXMucm91dGVzLmluZGV4T2YoaSksMSl9fWFzeW5jIF9oYW5kbGVSb3V0ZVN0YXRlKCl7bGV0IHQ9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHI9dGhpcy5yb3V0ZXMuZmlsdGVyKGE9PiEhYS5tYXRjaEZ1bmN0aW9uKHQpKTtmb3IobGV0IGEgb2Ygcil7bGV0IGk9YS5tYXRjaEZ1bmN0aW9uKHQpO2EuaGFuZGxlcih7Li4uaS52YWx1ZU9mKCkscXVlcnlQYXJhbXM6dGhpcy5xdWVyeVBhcmFtcy5nZXRBbGxBc09iamVjdCgpfSl9fWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLHRoaXMucG9wc3RhdGVMaXN0ZW5lciksdGhpcy5yb3V0ZXM9W119fX0pO3ZhciBJND17fTtSZShJNCx7U21hcnRSb3V0ZXI6KCk9PnVpZX0pO3ZhciBwaWU9ZigoKT0+e3FldCgpfSk7dmFyIGpldD1mKCgpPT57aTgoKTtzNigpfSk7ZnVuY3Rpb24gaWwoZSx0KXtyZXR1cm4gZT4+PnR8ZTw8MzItdH1mdW5jdGlvbiBSV3IoZSx0KXtsZXQgcj10WzBdLGE9dFsxXSxpPXRbMl0sbj10WzNdLHM9dFs0XSxvPXRbNV0sYz10WzZdLGw9dFs3XTtmb3IobGV0IHU9MDt1PDY0O3UrKyl7aWYodT49MTYpe2xldCB5PWlsKGVbdS0xNV0sNyleaWwoZVt1LTE1XSwxOCleZVt1LTE1XT4+PjMsdz1pbChlW3UtMl0sMTcpXmlsKGVbdS0yXSwxOSleZVt1LTJdPj4+MTA7ZVt1XT1lW3UtMTZdK3krZVt1LTddK3c+Pj4wfWxldCBkPWlsKHMsNileaWwocywxMSleaWwocywyNSksaD1zJm9efnMmYyxtPWwrZCtoK0ZXclt1XStlW3VdPj4+MCx2PWlsKHIsMileaWwociwxMyleaWwociwyMiksYj1yJmFeciZpXmEmaSxnPXYrYj4+PjA7bD1jLGM9byxvPXMscz1uK20+Pj4wLG49aSxpPWEsYT1yLHI9bStnPj4+MH10WzBdPXRbMF0rcj4+PjAsdFsxXT10WzFdK2E+Pj4wLHRbMl09dFsyXStpPj4+MCx0WzNdPXRbM10rbj4+PjAsdFs0XT10WzRdK3M+Pj4wLHRbNV09dFs1XStvPj4+MCx0WzZdPXRbNl0rYz4+PjAsdFs3XT10WzddK2w+Pj4wfWZ1bmN0aW9uIGZpZShlKXtsZXQgdD1bLi4uT1dyXSxyPWUubGVuZ3RoLGE9cio4LGk9ciU2NDw1Nj81Ni1yJTY0OjEyMC1yJTY0LG49bmV3IFVpbnQ4QXJyYXkocitpKzgpO24uc2V0KGUpLG5bcl09MTI4O2xldCBzPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcik7cy5zZXRVaW50MzIobi5sZW5ndGgtOCwwLCExKSxzLnNldFVpbnQzMihuLmxlbmd0aC00LGE+Pj4wLCExKTtmb3IobGV0IGM9MDtjPG4ubGVuZ3RoO2MrPTY0KXtsZXQgbD1uZXcgQXJyYXkoNjQpO2ZvcihsZXQgdT0wO3U8MTY7dSsrKWxbdV09cy5nZXRVaW50MzIoYyt1KjQsITEpO1JXcihsLHQpfWxldCBvPSIiO2ZvcihsZXQgYz0wO2M8ODtjKyspbys9dFtjXS50b1N0cmluZygxNikucGFkU3RhcnQoOCwiMCIpO3JldHVybiBvfXZhciBGV3IsT1dyLFZldD1mKCgpPT57RldyPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsNDA5NDU3MTkwOSwyNzU0MjMzNDQsNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdLE9Xcj1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdfSk7dmFyIENnPXt9O1JlKENnLHttZDVGcm9tU3RyaW5nOigpPT5VV3Isc2hhMjU2RnJvbUJ1ZmZlcjooKT0+SFdyLHNoYTI1NkZyb21GaWxlOigpPT5WV3Isc2hhMjU2RnJvbVN0cmVhbTooKT0+aldyLHNoYTI1NkZyb21TdHJpbmc6KCk9PkdldCxzaGEyNTZGcm9tU3RyaW5nU3luYzooKT0+QldyLHNoYTI2NUZyb21PYmplY3Q6KCk9PnFXcn0pO3ZhciBVZXQsV2V0LEdldCxCV3IsSFdyLHFXcixqV3IsVldyLFVXcixZZXQ9ZigoKT0+e2pldCgpO1ZldCgpO1VldD1lPT57bGV0IHQ9W10scj1uZXcgRGF0YVZpZXcoZSk7Zm9yKGxldCBhPTA7YTxyLmJ5dGVMZW5ndGg7YSs9NCl7bGV0IG49ci5nZXRVaW50MzIoYSkudG9TdHJpbmcoMTYpLHM9IjAwMDAwMDAwIixvPShzK24pLnNsaWNlKC1zLmxlbmd0aCk7dC5wdXNoKG8pfXJldHVybiB0LmpvaW4oIiIpfSxXZXQ9KCk9PnR5cGVvZiBjcnlwdG88InUiJiZjcnlwdG8uc3VidGxlIT09dm9pZCAwLEdldD1hc3luYyBlPT57bGV0IHQ9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUpO2lmKFdldCgpKXtsZXQgcj1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsdCk7cmV0dXJuIFVldChyKX1lbHNlIHJldHVybiBmaWUodCl9LEJXcj1lPT57dGhyb3cgY29uc29sZS53YXJuKCJzaGEyNTZGcm9tU3RyaW5nU3luYyBpcyBub3QgdHJ1bHkgc3luY2hyb25vdXMgaW4gYnJvd3NlciBlbnZpcm9ubWVudCIpLG5ldyBFcnJvcigic2hhMjU2RnJvbVN0cmluZ1N5bmMgaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIGVudmlyb25tZW50LiBVc2Ugc2hhMjU2RnJvbVN0cmluZyBpbnN0ZWFkLiIpfSxIV3I9YXN5bmMgZT0+e2lmKFdldCgpKXtsZXQgdDtpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSl7bGV0IGk9ZTt0PWkuYnVmZmVyLnNsaWNlKGkuYnl0ZU9mZnNldCxpLmJ5dGVPZmZzZXQraS5ieXRlTGVuZ3RoKX1lbHNlIHQ9ZTtsZXQgcj1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsdCk7cmV0dXJuIFVldChyKX1lbHNle2xldCB0PWUgaW5zdGFuY2VvZiBVaW50OEFycmF5P2U6bmV3IFVpbnQ4QXJyYXkoZSk7cmV0dXJuIGZpZSh0KX19LHFXcj1hc3luYyBlPT57bGV0IHQ9WHIuc3RyaW5naWZ5KGUpO3JldHVybiBhd2FpdCBHZXQodCl9LGpXcj1lPT57dGhyb3cgbmV3IEVycm9yKCJzaGEyNTZGcm9tU3RyZWFtIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudCIpfSxWV3I9YXN5bmMgZT0+e3Rocm93IG5ldyBFcnJvcigic2hhMjU2RnJvbUZpbGUgaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIGVudmlyb25tZW50Iil9LFVXcj1hc3luYyBlPT57dGhyb3cgbmV3IEVycm9yKCJtZDVGcm9tU3RyaW5nIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudC4gV2ViIENyeXB0byBBUEkgZG9lcyBub3Qgc3VwcG9ydCBNRDUuIil9fSk7dmFyIHYkPWYoKCk9PntZZXQoKTtzNigpO1VpKCk7eW8oKTtJOSgpfSk7dmFyIFRnLGhpZT1mKCgpPT57diQoKTt4JCgpO1RnPWNsYXNze2NvbnN0cnVjdG9yKHQscil7dGhpcy5zdGF0ZVBhcnRSZWY9dCx0aGlzLmFjdGlvbkRlZj1yfXRyaWdnZXIodCl7cmV0dXJuIHRoaXMuc3RhdGVQYXJ0UmVmLmRpc3BhdGNoQWN0aW9uKHRoaXMsdCl9fX0pO3ZhciBfZyx4JD1mKCgpPT57diQoKTtoaWUoKTtfZz1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIpe3RoaXMuc3RhdGU9bmV3IGFyLnJ4anMuU3ViamVjdCx0aGlzLmN1bXVsYXRpdmVEZWZlcnJlZD1LZS5jdW11bGF0aXZlRGVmZXIoKSx0aGlzLndlYlN0b3JlPW51bGwsdGhpcy5uYW1lPXQsciYmKHRoaXMud2ViU3RvcmVPcHRpb25zPXIpfWFzeW5jIGluaXQoKXtpZih0aGlzLndlYlN0b3JlT3B0aW9ucyl7dGhpcy53ZWJTdG9yZT1uZXcgWm4uV2ViU3RvcmUodGhpcy53ZWJTdG9yZU9wdGlvbnMpLGF3YWl0IHRoaXMud2ViU3RvcmUuaW5pdCgpO2xldCB0PWF3YWl0IHRoaXMud2ViU3RvcmUuZ2V0KFN0cmluZyh0aGlzLm5hbWUpKTt0JiZ0aGlzLnZhbGlkYXRlU3RhdGUodCkmJih0aGlzLnN0YXRlU3RvcmU9dCxhd2FpdCB0aGlzLm5vdGlmeUNoYW5nZSgpKX19Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZVN0b3JlfWFzeW5jIHNldFN0YXRlKHQpe2lmKCF0aGlzLnZhbGlkYXRlU3RhdGUodCkpdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN0YXRlIHN0cnVjdHVyZSBmb3Igc3RhdGUgcGFydCAnJHt0aGlzLm5hbWV9J2ApO3JldHVybiB0aGlzLnN0YXRlU3RvcmU9dCxhd2FpdCB0aGlzLm5vdGlmeUNoYW5nZSgpLHRoaXMud2ViU3RvcmUmJmF3YWl0IHRoaXMud2ViU3RvcmUuc2V0KFN0cmluZyh0aGlzLm5hbWUpLHQpLHRoaXMuc3RhdGVTdG9yZX12YWxpZGF0ZVN0YXRlKHQpe3JldHVybiB0IT1udWxsfWFzeW5jIG5vdGlmeUNoYW5nZSgpe2lmKCF0aGlzLnN0YXRlU3RvcmUpcmV0dXJuO2xldCByPWF3YWl0KGFzeW5jIGE9PmF3YWl0IENnLnNoYTI1NkZyb21TdHJpbmcoWHIuc3RhYmxlT25lV2F5U3RyaW5naWZ5KGEpKSkodGhpcy5zdGF0ZVN0b3JlKTt0aGlzLmxhc3RTdGF0ZU5vdGlmaWNhdGlvblBheWxvYWRIYXNoJiZyPT09dGhpcy5sYXN0U3RhdGVOb3RpZmljYXRpb25QYXlsb2FkSGFzaHx8KHRoaXMubGFzdFN0YXRlTm90aWZpY2F0aW9uUGF5bG9hZEhhc2g9cix0aGlzLnN0YXRlLm5leHQodGhpcy5zdGF0ZVN0b3JlKSl9bm90aWZ5Q2hhbmdlQ3VtdWxhdGl2ZSgpe3NldFRpbWVvdXQoYXN5bmMoKT0+e3RoaXMuc3RhdGVTdG9yZSYmYXdhaXQgdGhpcy5ub3RpZnlDaGFuZ2UoKX0sMCl9c2VsZWN0KHQpe3JldHVybiB0fHwodD1hPT5hKSx0aGlzLnN0YXRlLnBpcGUoYXIucnhqcy5vcHMuc3RhcnRXaXRoKHRoaXMuZ2V0U3RhdGUoKSksYXIucnhqcy5vcHMuZmlsdGVyKGE9PmEhPT12b2lkIDApLGFyLnJ4anMub3BzLm1hcChhPT57dHJ5e3JldHVybiB0KGEpfWNhdGNoe319KSl9Y3JlYXRlQWN0aW9uKHQpe3JldHVybiBuZXcgVGcodGhpcyx0KX1hc3luYyBkaXNwYXRjaEFjdGlvbih0LHIpe2F3YWl0IHRoaXMuY3VtdWxhdGl2ZURlZmVycmVkLnByb21pc2U7bGV0IGE9YXdhaXQgdC5hY3Rpb25EZWYodGhpcyxyKTtyZXR1cm4gYXdhaXQgdGhpcy5zZXRTdGF0ZShhKSx0aGlzLmdldFN0YXRlKCl9YXN5bmMgd2FpdFVudGlsUHJlc2VudCh0KXtsZXQgcj1LZS5kZWZlcigpLGk9dGhpcy5zZWxlY3QodCkuc3Vic2NyaWJlKGFzeW5jIHM9PntzJiZyLnJlc29sdmUocyl9KSxuPWF3YWl0IHIucHJvbWlzZTtyZXR1cm4gaS51bnN1YnNjcmliZSgpLG59YXN5bmMgc3RhdGVTZXR1cCh0KXtsZXQgcj10KHRoaXMpO3RoaXMuY3VtdWxhdGl2ZURlZmVycmVkLmFkZFByb21pc2UociksdGhpcy5zZXRTdGF0ZShhd2FpdCByKX19fSk7dmFyIG1pZSxaZXQ9ZigoKT0+e3YkKCk7eCQoKTttaWU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlUGFydE1hcD17fX1hc3luYyBnZXRTdGF0ZVBhcnQodCxyLGE9InNvZnQiKXtsZXQgaT10aGlzLnN0YXRlUGFydE1hcFt0XTtpZihpKXN3aXRjaChhKXtjYXNlIm1hbmRhdG9yeSI6dGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBwYXJ0ICcke3R9JyBhbHJlYWR5IGV4aXN0cywgYnV0IGluaXRNb2RlIGlzICdtYW5kYXRvcnknYCk7Y2FzZSJmb3JjZSI6cmV0dXJuIHRoaXMuY3JlYXRlU3RhdGVQYXJ0KHQscixhKTtkZWZhdWx0OnJldHVybiBpfWVsc2V7aWYoIXIpdGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBwYXJ0ICcke3R9JyBkb2VzIG5vdCBleGlzdCBhbmQgbm8gaW5pdGlhbCBzdGF0ZSBwcm92aWRlZGApO3JldHVybiB0aGlzLmNyZWF0ZVN0YXRlUGFydCh0LHIsYSl9fWFzeW5jIGNyZWF0ZVN0YXRlUGFydCh0LHIsYT0ic29mdCIpe2xldCBpPW5ldyBfZyh0LGE9PT0icGVyc2lzdGVudCI/e2RiTmFtZToic21hcnRzdGF0ZSIsc3RvcmVOYW1lOnR9Om51bGwpO2F3YWl0IGkuaW5pdCgpO2xldCBuPWkuZ2V0U3RhdGUoKTtyZXR1cm4gYXdhaXQgaS5zZXRTdGF0ZSh7Li4ubiwuLi5yfSksdGhpcy5zdGF0ZVBhcnRNYXBbdF09aSxpfX19KTt2YXIgUDQ9e307UmUoUDQse1NtYXJ0c3RhdGU6KCk9Pm1pZSxTdGF0ZUFjdGlvbjooKT0+VGcsU3RhdGVQYXJ0OigpPT5fZ30pO3ZhciBnaWU9ZigoKT0+e1pldCgpO3gkKCk7aGllKCl9KTt2YXIgWGV0PWYoKCk9Pnt9KTt2YXIgYmllLFFldD1mKCgpPT57WGV0KCk7YmllPWNsYXNzIGV7c3RhdGljIGNyZWF0ZUZyb21VcmwodCxyKXtsZXQgYT1uZXcgVVJMKHQpLGk9e30sbj1bXTthLnNlYXJjaCYmYS5zZWFyY2gucmVwbGFjZSgiPyIsIiIpLnNwbGl0KCImIikubWFwKGw9PntuLnB1c2goe2tleTpsLnNwbGl0KCI9IilbMF0sdmFsdWU6bC5zcGxpdCgiPSIpWzFdfSl9KTtmb3IobGV0IGwgb2YgbilpW2wua2V5XT1sLnZhbHVlO2lmKHI/LnNlYXJjaFBhcmFtcylmb3IobGV0IGwgb2YgT2JqZWN0LmtleXMoci5zZWFyY2hQYXJhbXMpKWlbbF09ci5zZWFyY2hQYXJhbXNbbF07bGV0IHM9YS5wYXRobmFtZXx8IiI7aWYoT2JqZWN0LmtleXMoaSkubGVuZ3RoPjApe3MrPSI/IjtsZXQgbD0hMDtmb3IobGV0IHUgb2YgT2JqZWN0LmtleXMoaSkpbD9sPSExOnMrPSImIixzKz1gJHt1fT0ke2lbdV19YH1sZXQgbz17Li4uYSxocmVmOmEuaHJlZixvcmlnaW46YS5vcmlnaW4scHJvdG9jb2w6YS5wcm90b2NvbCx1c2VybmFtZTphLnVzZXJuYW1lLHBhc3N3b3JkOmEucGFzc3dvcmQsaG9zdDphLmhvc3QsaG9zdG5hbWU6YS5ob3N0bmFtZSxwb3J0OmEucG9ydCxwYXRoOnMscGF0aG5hbWU6YS5wYXRobmFtZSxzZWFyY2g6YS5zZWFyY2gsc2VhcmNoUGFyYW1zOmksaGFzaDphLmhhc2h9OyFvLnBvcnQmJm8ucHJvdG9jb2w9PT0iaHR0cHM6IiYmKG8ucG9ydD0iNDQzIiksIW8ucG9ydCYmby5wcm90b2NvbD09PSJodHRwOiImJihvLnBvcnQ9IjgwIik7bGV0IGM9bmV3IGU7cmV0dXJuIE9iamVjdC5hc3NpZ24oYyxvKSxjfXN0YXRpYyBjcmVhdGVGcm9tUGFyc2VkVXJsKHQpe2xldCByPW5ldyBlO3JldHVybiBPYmplY3QuYXNzaWduKHIsdCkscn1jb25zdHJ1Y3Rvcigpe3RoaXMuc2VhcmNoUGFyYW1zPXt9fWNsb25lKCl7bGV0IHQ9bmV3IGU7cmV0dXJuIE9iamVjdC5hc3NpZ24odCx0aGlzKSx0LnNlYXJjaFBhcmFtcz17Li4udGhpcy5zZWFyY2hQYXJhbXN9LHR9c2V0KHQscil7cmV0dXJuIHRoaXNbdF09cix0aGlzfXRvU3RyaW5nKCl7bGV0IHQ9IiI7cmV0dXJuIHRoaXMudXNlcm5hbWUmJiF0aGlzLnBhc3N3b3JkJiYodD1gJHt0aGlzLnVzZXJuYW1lfUBgKSx0aGlzLnVzZXJuYW1lJiZ0aGlzLnBhc3N3b3JkJiYodD1gJHt0aGlzLnVzZXJuYW1lfToke3RoaXMucGFzc3dvcmR9QGApLGAke3RoaXMucHJvdG9jb2x9Ly8ke3R9JHt0aGlzLmhvc3RuYW1lfToke3RoaXMucG9ydH0ke3RoaXMucGF0aH1gfX19KTt2YXIgTjQ9e307UmUoTjQse1NtYXJ0dXJsOigpPT5iaWV9KTt2YXIgdmllPWYoKCk9PntRZXQoKX0pO3ZhciBKZXQ9ZigoKT0+e0kyKCk7aTgoKTtzNigpO1VpKCk7STkoKX0pO3ZhciB5aWU9e307UmUoeWllLHtXZWJSZXF1ZXN0OigpPT54aWV9KTt2YXIgeGllLEtldD1mKCgpPT57SmV0KCk7eGllPWNsYXNze2NvbnN0cnVjdG9yKHQ9e30pe3RoaXMub3B0aW9uc0FyZz10LHRoaXMuY2FjaGVTdG9yZT1uZXcgWm4uV2ViU3RvcmUoe2RiTmFtZToid2VicmVxdWVzdCIsc3RvcmVOYW1lOiJ3ZWJyZXF1ZXN0In0pLHRoaXMub3B0aW9ucz17bG9nZ2luZzohMCwuLi50fX1hc3luYyBnZXRKc29uKHQscj0hMSl7bGV0IGk9YXdhaXQoYXdhaXQgdGhpcy5yZXF1ZXN0KHQse21ldGhvZDoiR0VUIix1c2VDYWNoZTpyfSkpLnRleHQoKTtyZXR1cm4gWHIucGFyc2UoaSl9YXN5bmMgcG9zdEpzb24odCxyLGE9ITEpe2xldCBuPWF3YWl0KGF3YWl0IHRoaXMucmVxdWVzdCh0LHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpYci5zdHJpbmdpZnkociksdXNlQ2FjaGU6YX0pKS50ZXh0KCk7cmV0dXJuIFhyLnBhcnNlKG4pfWFzeW5jIHB1dEpzb24odCxyLGE9ITEpe2xldCBuPWF3YWl0KGF3YWl0IHRoaXMucmVxdWVzdCh0LHttZXRob2Q6IlBVVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OlhyLnN0cmluZ2lmeShyKX0pKS50ZXh0KCk7cmV0dXJuIFhyLnBhcnNlKG4pfWFzeW5jIGRlbGV0ZUpzb24odCxyPSExKXtsZXQgaT1hd2FpdChhd2FpdCB0aGlzLnJlcXVlc3QodCx7aGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IkdFVCJ9KSkudGV4dCgpO3JldHVybiBYci5wYXJzZShpKX1hc3luYyByZXF1ZXN0KHQscil7cj17dGltZW91dE1zOjZlNCx1c2VDYWNoZTohMSwuLi5yfTtsZXQgYT1uZXcgQWJvcnRDb250cm9sbGVyO0N0LmRlbGF5Rm9yKHIudGltZW91dE1zKS50aGVuKCgpPT57YS5hYm9ydCgpfSk7bGV0IGk9S2UuZGVmZXIoKSxuPSExO2lmKHIudXNlQ2FjaGUmJmF3YWl0IHRoaXMuY2FjaGVTdG9yZS5jaGVjayh0KSl7bGV0IG89YXdhaXQgdGhpcy5jYWNoZVN0b3JlLmdldCh0KTtpLnJlc29sdmUobmV3IFJlc3BvbnNlKG8se30pKX1lbHNlIGkucmVzb2x2ZShudWxsKTtsZXQgcz1hd2FpdCBmZXRjaCh0LHtzaWduYWw6YS5zaWduYWwsbWV0aG9kOnIubWV0aG9kLGhlYWRlcnM6ey4uLnIuaGVhZGVyc3x8e319LGJvZHk6ci5ib2R5fSkuY2F0Y2goYXN5bmMgbz0+ci51c2VDYWNoZSYmYXdhaXQgaS5wcm9taXNlPyhuPSEwLGkucHJvbWlzZSk6byk7aWYoci51c2VDYWNoZSYmYXdhaXQgaS5wcm9taXNlJiZzLnN0YXR1cz09PTUwMCYmKG49ITAscz1hd2FpdCBpLnByb21pc2UpLCFuJiZyLnVzZUNhY2hlJiZzLnN0YXR1czwzMDApe2xldCBvPWF3YWl0IHMuY2xvbmUoKS5hcnJheUJ1ZmZlcigpO2F3YWl0IHRoaXMuY2FjaGVTdG9yZS5zZXQodCxvKX1yZXR1cm4gdGhpcy5sb2coYCR7dH0gYW5zd2VycyB3aXRoIHN0YXR1czogJHtzLnN0YXR1c31gKSxzfWFzeW5jIHJlcXVlc3RNdWx0aUVuZHBvaW50KHQscil7bGV0IGEsaT0wO0FycmF5LmlzQXJyYXkodCk/YT10OmE9W3RdO2xldCBuPVtdLHM9YXN5bmMgbD0+e24ucHVzaChsKSxsPT09IjQyOSImJihjb25zb2xlLmxvZygiZ290IDQyOSwgc28gd2FpdGluZyBhIGxpdHRsZSBiaXQuIiksYXdhaXQgQ3QuZGVsYXlGb3IoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMDEpKzFlMykpO2xldCB1PTA7Zm9yKGxldCBkIG9mIG4pZD09PWwmJnUrKzt1PjIqYS5sZW5ndGgqaSYmaSsrfSxvPWFzeW5jIGw9PntpZighbCl0aHJvdyBuZXcgRXJyb3IoInJlcXVlc3QgZmFpbGVkIHBlcm1hbmVudGx5Iik7dGhpcy5sb2coYEdldHRpbmcgJHtsfSB3aXRoIG1ldGhvZCAke3IubWV0aG9kfWApO2xldCB1PWF3YWl0IGZldGNoKGwse21ldGhvZDpyLm1ldGhvZCxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsLi4uci5oZWFkZXJzfHx7fX0sYm9keTpyLmJvZHl9KTtyZXR1cm4gdGhpcy5sb2coYCR7bH0gYW5zd2VycyB3aXRoIHN0YXR1czogJHt1LnN0YXR1c31gKSx1LnN0YXR1cz49MjAwJiZ1LnN0YXR1czwzMDA/dTooYXdhaXQgcyh1LnN0YXR1cy50b1N0cmluZygpKSxhd2FpdCBvKGFbaV0pKX07cmV0dXJuIGF3YWl0IG8oYVtpXSl9bG9nKHQpe3RoaXMub3B0aW9ucy5sb2dnaW5nJiZjb25zb2xlLmxvZyh0KX19fSk7dmFyIHkkLE42LHckPWYoKCk9Pnt5JD1jbGFzc3tjbGFpbSgpe2lmKHRoaXMuY2xhaW1lZCl0aHJvdyBuZXcgRXJyb3IoIkRlZmVycmVkIGFscmVhZHkgY2xhaW1lZCIpO3RoaXMuY2xhaW1lZD0hMH1nZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy5zdG9wcGVkQXQ/dGhpcy5zdG9wcGVkQXQtdGhpcy5zdGFydGVkQXQ6RGF0ZS5ub3coKS10aGlzLnN0YXJ0ZWRBdH1jb25zdHJ1Y3Rvcigpe3RoaXMuY2xhaW1lZD0hMSx0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKHQscik9Pnt0aGlzLnJlc29sdmU9YT0+e3RoaXMuc3RhdHVzPSJmdWxmaWxsZWQiLHRoaXMuc3RvcHBlZEF0PURhdGUubm93KCksdChhKX0sdGhpcy5yZWplY3Q9YT0+e3RoaXMuc3RhdHVzPSJyZWplY3RlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSxyKGEpfSx0aGlzLnN0YXJ0ZWRBdD1EYXRlLm5vdygpLHRoaXMuc3RhdHVzPSJwZW5kaW5nIn0pfX0sTjY9KCk9Pm5ldyB5JH0pO3ZhciBNJCxZV3IsZXR0PWYoKCk9Pnt3JCgpO00kPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzPVtdLHRoaXMuZGVmZXJyZWQ9TjYoKSx0aGlzLnByb21pc2U9dGhpcy5kZWZlcnJlZC5wcm9taXNlLHNldFRpbWVvdXQoYXN5bmMoKT0+e2Zvcig7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzLmxlbmd0aD4wOylhd2FpdCB0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMuc2hpZnQoKTt0aGlzLmRlZmVycmVkLnJlc29sdmUoKX0sMCl9YWRkUHJvbWlzZSh0KXt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMucHVzaCh0KX19LFlXcj0oKT0+bmV3IE0kfSk7dmFyIEY2PXt9O1JlKEY2LHtDdW11bGF0aXZlRGVmZXJyZWQ6KCk9Pk0kLERlZmVycmVkOigpPT55JCxjdW11bGF0aXZlRGVmZXI6KCk9PllXcixkZWZlcjooKT0+TjYsZ2V0Rmlyc3RUcnVlT3JGYWxzZTooKT0+S1dyLG1hcDooKT0+UVdyLHJlamVjdGVkUHJvbWlzZTooKT0+WFdyLHJlc29sdmVkUHJvbWlzZTooKT0+WldyLHRpbWVvdXRBbmRDb250aW51ZTooKT0+SldyLHRpbWVvdXRXcmFwOigpPT50dHR9KTt2YXIgWldyLFhXcixRV3IsdHR0LEpXcixLV3Isd2llPWYoKCk9Pnt3JCgpO2V0dCgpO3ckKCk7WldyPWU9PlByb21pc2UucmVzb2x2ZShlKSxYV3I9ZT0+UHJvbWlzZS5yZWplY3QoZSksUVdyPWFzeW5jKGUsdCk9PntsZXQgcj1bXSxhPVtdO2ZvcihsZXQgaSBvZiBlKXtsZXQgbj10KGkpO3IucHVzaChuKSxuLnRoZW4ocz0+e2EucHVzaChzKX0pfXJldHVybiBhd2FpdCBQcm9taXNlLmFsbChyKSxhfSx0dHQ9YXN5bmMoZSx0LHI9ITApPT5uZXcgUHJvbWlzZSgoYSxpKT0+e3NldFRpbWVvdXQoKCk9PntyP2kobmV3IEVycm9yKCJ0aW1lb3V0IikpOmEobnVsbCl9LHQpLGUudGhlbihhLGkpfSksSldyPWFzeW5jKGUsdD02ZTQpPT50dHQoZSx0LCExKSxLV3I9YXN5bmMgZT0+e2xldCB0PU42KCk7Zm9yKGxldCByIG9mIGUpci50aGVuKGE9PnthPT09ITAmJnQucmVzb2x2ZSghMCl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoZSkudGhlbigoKT0+e3QucmVzb2x2ZSghMSl9KSx0LnByb21pc2V9fSk7dmFyIE1pZT17fTtSZShNaWUse1RpbWVvdXQ6KCk9PmskLGRlbGF5Rm9yOigpPT5ydHQsZGVsYXlGb3JSYW5kb206KCk9PmVHcn0pO3ZhciBydHQsZUdyLGskLGF0dD1mKCgpPT57d2llKCk7cnR0PWFzeW5jKGUsdCxyPSExKT0+KGF3YWl0IG5ldyBrJChlLG51bGwscikucHJvbWlzZSx0KSxlR3I9YXN5bmMoZSx0LHIsYT0hMSk9Pihhd2FpdCBydHQoTWF0aC5yYW5kb20oKSoodC1lKStlLG51bGwsYSksciksayQ9Y2xhc3N7Y29uc3RydWN0b3IodCxyLGE9ITEpe3RoaXMuX2NhbmNlbGxlZD0hMSx0aGlzLnRpbWVvdXRJbk1pbGxpcz10LHRoaXMuX2RlZmVycmVkPU42KCksdGhpcy5wcm9taXNlPXRoaXMuX2RlZmVycmVkLnByb21pc2UsdGhpcy5fdGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5fY2FuY2VsbGVkfHx0aGlzLl9kZWZlcnJlZC5yZXNvbHZlKHIpfSx0KSx0aGlzLnN0YXJ0ZWQ9RGF0ZS5ub3coKSxhJiZ0aGlzLm1ha2VVbnJlZmVkKCl9bWFrZVVucmVmZWQoKXt0aGlzLl90aW1lb3V0LnVucmVmKCl9Y2FuY2VsKCl7dGhpcy5fY2FuY2VsbGVkPSEwLGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KX1nZXRUaW1lTGVmdCgpe2xldCB0PXRoaXMuc3RhcnRlZCt0aGlzLnRpbWVvdXRJbk1pbGxpcy1EYXRlLm5vdygpO3JldHVybiB0PjA/dDowfX19KTt2YXIgaXR0PWYoKCk9Pnt9KTt2YXIgUyQ9ZigoKT0+e25sKCl9KTt2YXIgeiQ9ZigoKT0+e25sKCk7bmwoKX0pO3ZhciBudHQ9ZigoKT0+e25sKCl9KTt2YXIgc3R0PWYoKCk9Pnt9KTt2YXIgb3R0PWYoKCk9PntubCgpfSk7dmFyIGx0dD1mKCgpPT57bmwoKX0pO3ZhciBjdHQ9ZigoKT0+e30pO3ZhciBkdHQ9ZigoKT0+e30pO3ZhciBraWU9e307dmFyIEMkPWYoKCk9PntudHQoKTtzdHQoKTtvdHQoKTtsdHQoKTtjdHQoKTtkdHQoKX0pO3ZhciBTaWUsdXR0PWYoKCk9PntDJCgpO1MkKCk7eiQoKTtTaWU9Y2xhc3N7fX0pO3ZhciBwdHQ9ZigoKT0+e30pO3ZhciBmdHQ9ZigoKT0+e30pO3ZhciBodHQ9ZigoKT0+e30pO3ZhciBtdHQ9ZigoKT0+e30pO3ZhciB6aWU9e307dmFyIENpZT1mKCgpPT57cHR0KCk7ZnR0KCk7aHR0KCk7bXR0KCl9KTt2YXIgZ3R0PWYoKCk9PntUaWUoKTtDJCgpO0NpZSgpfSk7dmFyIGJ0dD1mKCgpPT57fSk7dmFyIHZ0dD1mKCgpPT57eiQoKX0pO3ZhciB4dHQ9ZigoKT0+e30pO3ZhciBUJD17fTtSZShUJCx7SUpvYjooKT0+U2llfSk7dmFyIFRpZT1mKCgpPT57aXR0KCk7UyQoKTt6JCgpO3V0dCgpO2d0dCgpO2J0dCgpO3Z0dCgpO3h0dCgpfSk7dmFyIHl0dD1mKCgpPT57fSk7dmFyIHd0dD1mKCgpPT57fSk7dmFyIF9pZT17fTt2YXIgTXR0PWYoKCk9Pnt5dHQoKTt3dHQoKX0pO3ZhciBrdHQ9ZigoKT0+e30pO3ZhciBTdHQ9ZigoKT0+e30pO3ZhciBMaWU9e307dmFyIHp0dD1mKCgpPT57a3R0KCk7U3R0KCl9KTt2YXIgJGllPWYoKCk9PntubCgpfSk7dmFyIEN0dD1mKCgpPT57bmwoKX0pO3ZhciBUdHQ9ZigoKT0+eyRpZSgpfSk7dmFyIERpZT17fTt2YXIgX3R0PWYoKCk9PnskaWUoKTtDdHQoKTtUdHQoKX0pO3ZhciBMdHQ9ZigoKT0+e30pO3ZhciAkdHQ9ZigoKT0+e30pO3ZhciBBaWU9e307dmFyIER0dD1mKCgpPT57THR0KCk7JHR0KCl9KTt2YXIgRWllPWYoKCk9Pnt9KTt2YXIgSWllLEF0dD1mKCgpPT57RWllKCk7SWllPWNsYXNze319KTt2YXIgRXR0PWYoKCk9Pnt9KTt2YXIgSXR0PWYoKCk9Pnt9KTt2YXIgUHR0PWYoKCk9Pnt9KTt2YXIgTnR0PWYoKCk9Pnt9KTt2YXIgRnR0PWYoKCk9Pnt9KTt2YXIgT3R0PWYoKCk9Pnt9KTt2YXIgUnR0PWYoKCk9Pnt9KTt2YXIgQnR0PWYoKCk9Pnt9KTt2YXIgSHR0PWYoKCk9Pnt9KTt2YXIgXyQ9e307UmUoXyQse0lDbmFtZURlc2NyaXB0b3I6KCk9PklpZX0pO3ZhciBxdHQ9ZigoKT0+e0VpZSgpO0F0dCgpO0V0dCgpO0l0dCgpO1B0dCgpO050dCgpO0Z0dCgpO090dCgpO1J0dCgpO0J0dCgpO0h0dCgpfSk7dmFyIFBpZT1mKCgpPT57UyQoKX0pO3ZhciBqdHQ9ZigoKT0+e1BpZSgpfSk7dmFyIE5pZT17fTt2YXIgVnR0PWYoKCk9PntqdHQoKTtQaWUoKX0pO3ZhciBGaWU9e307dmFyIFV0dD1mKCgpPT57fSk7dmFyIFd0dD1mKCgpPT57fSk7dmFyIEd0dD1mKCgpPT57fSk7dmFyIFl0dD1mKCgpPT57fSk7dmFyIE9pZT17fTt2YXIgWnR0PWYoKCk9PntXdHQoKTtHdHQoKTtZdHQoKX0pO3ZhciBYdHQ9ZigoKT0+e30pO3ZhciBSaWU9e307UmUoUmllLHtidXNpbmVzczooKT0+VCQsY29kZTooKT0+X2llLGNvbnRhaW5lcjooKT0+TGllLGNvbnRlbnQ6KCk9PkRpZSxkYXRhYmFzZTooKT0+emllLGZpbmFuY2U6KCk9PmtpZSxnZW5lcmFsOigpPT5BaWUsbmV0d29yazooKT0+XyQsc2FhczooKT0+TmllLHN0b3JhZ2U6KCk9PkZpZSx3ZWJzaXRlOigpPT5PaWV9KTt2YXIgbmw9ZigoKT0+e1RpZSgpO010dCgpO3p0dCgpO0NpZSgpO0MkKCk7X3R0KCk7RHR0KCk7cXR0KCk7VnR0KCk7VXR0KCk7WnR0KCk7WHR0KCl9KTt2YXIgeGM9ZigoKT0+e2F0dCgpO3dpZSgpO25sKCl9KTt2YXIgTCQ9ZigoKT0+e3hjKCl9KTt2YXIgRjQsTGc9ZigoKT0+e3hjKCk7RjQ9Y2xhc3N7YXBwZW5kVG9Eb20oKXshdGhpcy5lbGVtZW50UmVmLnBhcmVudEVsZW1lbnQmJiF0aGlzLmVsZW1lbnRSZWYucGFyZW50Tm9kZSYmZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnRSZWYpfXJlbW92ZUZyb21Eb20oKXt0aGlzLmVsZW1lbnRSZWYucGFyZW50RWxlbWVudD90aGlzLmVsZW1lbnRSZWYucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYpOnRoaXMuZWxlbWVudFJlZi5wYXJlbnROb2RlJiZ0aGlzLmVsZW1lbnRSZWYucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYpfX19KTt2YXIgTzYsJCQ9ZigoKT0+e3hjKCk7TCQoKTtMZygpO082PWNsYXNzIGUgZXh0ZW5kcyBGNHtzdGF0aWMgY3JlYXRlQ29tcGFueUpzb25MZCh0KXtsZXQgcj17IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJDb3Jwb3JhdGlvbiIsbmFtZTp0Lm5hbWUsYWx0ZXJuYXRlTmFtZTp0Lm5hbWUucmVwbGFjZSgiIEdtYkgiLCIiKSx1cmw6dC5jb250YWN0LndlYnNpdGUsbG9nbzp0LmNvbnRhY3QubG9nb1VybCxjb250YWN0UG9pbnQ6eyJAdHlwZSI6IkNvbnRhY3RQb2ludCIsdGVsZXBob25lOnQuY29udGFjdC5waG9uZSxjb250YWN0VHlwZToiY3VzdG9tZXIgc2VydmljZSIsYXJlYVNlcnZlZDoiREUiLGF2YWlsYWJsZUxhbmd1YWdlOlsiZW4iLCJHZXJtYW4iXX0sc2FtZUFzOltdfTtyZXR1cm4gdC5jb250YWN0LmZhY2Vib29rVXJsJiZyLnNhbWVBcy5wdXNoKHQuY29udGFjdC5mYWNlYm9va1VybCksdC5jb250YWN0LnR3aXR0ZXJVcmwmJnIuc2FtZUFzLnB1c2godC5jb250YWN0LnR3aXR0ZXJVcmwpLG5ldyBlKHIpfXN0YXRpYyBjcmVhdGVOZXdzQXJ0aWNsZUpzb25MZCh0KXtsZXQgcj17IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJOZXdzQXJ0aWNsZSIsbWFpbkVudGl0eU9mUGFnZTp7IkB0eXBlIjoiV2ViUGFnZSIsIkBpZCI6d2luZG93LmxvY2F0aW9uLmhyZWZ9LGhlYWRsaW5lOiJBcnRpY2xlIGhlYWRsaW5lIixpbWFnZTpbdC5mZWF0dXJlZEltYWdlVXJsXSxkYXRlUHVibGlzaGVkOm5ldyBEYXRlKHQudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGRhdGVNb2RpZmllZDpuZXcgRGF0ZSh0LnRpbWVzdGFtcCkudG9JU09TdHJpbmcoKSxhdXRob3I6eyJAdHlwZSI6IlBlcnNvbiIsbmFtZTpgJHt0LmF1dGhvci5maXJzdE5hbWV9ICR7dC5hdXRob3Iuc3VyTmFtZX1gfSxwdWJsaXNoZXI6eyJAdHlwZSI6Ik9yZ2FuaXphdGlvbiIsbmFtZTp0LmF1dGhvci5zdXJOYW1lLGxvZ286eyJAdHlwZSI6IkltYWdlT2JqZWN0Iix1cmw6dC5hdXRob3Iuc3VyTmFtZX19LGRlc2NyaXB0aW9uOnQuYXV0aG9yLmZpcnN0TmFtZX07cmV0dXJuIG5ldyBlKHIpfXN0YXRpYyBjcmVhdGVQcm9kdWN0SnNvbkxkKHQscil7bGV0IGE9eyJAY29udGV4dCI6Imh0dHBzOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiU29mdHdhcmVBcHBsaWNhdGlvbiIsbmFtZTp0Lm5hbWUsZGVzY3JpcHRpb246dC5kZXNjcmlwdGlvbixvcGVyYXRpbmdTeXN0ZW06dC5vcyxhcHBsaWNhdGlvbkNhdGVnb3J5OnQuY2F0ZWdvcnksb2ZmZXJzOnsiQHR5cGUiOiJPZmZlciIsbmFtZToiVXNlci1iYXNlZCBQbGFuIixwcmljZVNwZWNpZmljYXRpb246eyJAdHlwZSI6IlByb3BlcnR5VmFsdWVTcGVjaWZpY2F0aW9uIix2YWx1ZU5hbWU6Ik51bWJlciBvZiBVc2VycyIsdmFsdWVSZXF1aXJlZDohMCxwcmljZToiNC45OSIscHJpY2VDdXJyZW5jeToiRVVSIn19LHB1Ymxpc2hlcjp0aGlzLmNyZWF0ZUNvbXBhbnlKc29uTGQocikuZWxlbWVudFJlZi50ZXh0Q29udGVudCxzY3JlZW5zaG90OiJodHRwczovL3d3dy5zb2NpYWwuaW8vc2NyZWVuc2hvdC5wbmciLHVybDoiaHR0cHM6Ly93d3cuc29jaWFsLmlvLyJ9O3JldHVybiBuZXcgZShhKX1jb25zdHJ1Y3Rvcih0KXtzdXBlcigpO2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3IudHlwZT0iYXBwbGljYXRpb24vbGQranNvbiIsci50ZXh0PUpTT04uc3RyaW5naWZ5KHQpLHRoaXMuZWxlbWVudFJlZj1yfX19KTt2YXIgUW4sRCQ9ZigoKT0+e3hjKCk7TGcoKTtRbj1jbGFzcyBlIGV4dGVuZHMgRjR7c3RhdGljIGNyZWF0ZU5ld3NBcnRpY2xlT2dUYWdzKHQpe2xldCByPVtdO3JldHVybiByLnB1c2gobmV3IGUoIm9nOnVybCIsdC51cmwpKSxyLnB1c2gobmV3IGUoIm9nOnRpdGxlIix0LnRpdGxlKSksci5wdXNoKG5ldyBlKCJvZzpkZXNjcmlwdGlvbiIsdC5jb250ZW50KSksci5wdXNoKG5ldyBlKCJvZzppbWFnZSIsdC5mZWF0dXJlZEltYWdlVXJsKSkscn1zdGF0aWMgY3JlYXRlUHJvZHVjdE9nVGFncyh0KXtsZXQgcj1bXTtyZXR1cm4gci5wdXNoKG5ldyBlKCJvZzp1cmwiLGdsb2JhbFRoaXMubG9jYXRpb24uaHJlZikpLHIucHVzaChuZXcgZSgib2c6dGl0bGUiLGAke3QubmFtZX0gLSAke3Quc2xvZ2FufWApKSxyLnB1c2gobmV3IGUoIm9nOnNpdGVfbmFtZSIsdC5uYW1lKSksci5wdXNoKG5ldyBlKCJvZzpkZXNjcmlwdGlvbiIsdC5kZXNjcmlwdGlvbikpLHIucHVzaChuZXcgZSgib2c6aW1hZ2UiLHQubG9nb0xpbmspKSxyfWNvbnN0cnVjdG9yKHQscil7c3VwZXIoKTtsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJtZXRhIik7YS5zZXRBdHRyaWJ1dGUoInByb3BlcnR5Iix0KSxhLmNvbnRlbnQ9cix0aGlzLmVsZW1lbnRSZWY9YX19fSk7dmFyIGo4LEJpZT1mKCgpPT57TGcoKTskJCgpO0QkKCk7SGllKCk7eGMoKTtqOD1jbGFzc3tzZXQgdGl0bGUodCl7dGhpcy50aXRsZVN0b3JlPXQsdGhpcy5zdGF0ZT09PSJlbmFibGVkIiYmKGRvY3VtZW50LnRpdGxlPXRoaXMudGl0bGVTdG9yZSl9Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMudGl0bGVTdG9yZX1jb25zdHJ1Y3Rvcih0LHIpe3RoaXMudGFncz1bXSx0aGlzLnN0YXRlPSJkaXNhYmxlZCIsdGhpcy50YWdNYW5hZ2VyUmVmPXR9YWRkVGFnKHQpe2lmKHQgaW5zdGFuY2VvZiBBcnJheSlmb3IobGV0IHIgb2YgdCl0aGlzLmFkZFRhZyhyKTtlbHNlIHRoaXMudGFncy5wdXNoKHQpLHRoaXMuc3RhdGU9PT0iZW5hYmxlZCImJnQuYXBwZW5kVG9Eb20oKX1hc3luYyBhZGRDb21wYW55SW5mbyh0KXt0aGlzLmFkZFRhZyhPNi5jcmVhdGVDb21wYW55SnNvbkxkKHQpKSx0aGlzLmFkZFRhZyhuZXcgUW4oIm9nOnR5cGUiLCJidXNpbmVzcy5idXNpbmVzcyIpKSx0aGlzLmFkZFRhZyhuZXcgUW4oIm9nOnRpdGxlIix0Lm5hbWUpKSx0aGlzLmFkZFRhZyhuZXcgUW4oIm9nOnVybCIsdC5jb250YWN0LndlYnNpdGUpKSx0aGlzLmFkZFRhZyhuZXcgUW4oIm9nOmltYWdlIix0LmNvbnRhY3QubG9nb1VybCkpLHRoaXMuYWRkVGFnKG5ldyBRbigiYnVzaW5lc3M6Y29udGFjdF9kYXRhOnN0cmVldF9hZGRyZXNzIixgJHt0LmNvbnRhY3QuYWRkcmVzcy5zdHJlZXROYW1lfSAke3QuY29udGFjdC5hZGRyZXNzLmhvdXNlTnVtYmVyfWApKSx0aGlzLmFkZFRhZyhuZXcgUW4oImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpsb2NhbGl0eSIsdC5jb250YWN0LmFkZHJlc3MucG9zdGFsQ29kZSkpLHRoaXMuYWRkVGFnKG5ldyBRbigiYnVzaW5lc3M6Y29udGFjdF9kYXRhOnJlZ2lvbiIsdC5jb250YWN0LmFkZHJlc3MuY2l0eSkpLHRoaXMuYWRkVGFnKG5ldyBRbigiYnVzaW5lc3M6Y29udGFjdF9kYXRhOnBvc3RhbF9jb2RlIix0LmNvbnRhY3QuYWRkcmVzcy5wb3N0YWxDb2RlKSksdGhpcy5hZGRUYWcobmV3IFFuKCJidXNpbmVzczpjb250YWN0X2RhdGE6Y291bnRyeV9uYW1lIix0LmNvbnRhY3QuYWRkcmVzcy5jb3VudHJ5KSl9YWRkTmV3c0FydGljbGVJbmZvKHQpe3RoaXMuYWRkVGFnKE82LmNyZWF0ZU5ld3NBcnRpY2xlSnNvbkxkKHQpKSx0aGlzLmFkZFRhZyhRbi5jcmVhdGVOZXdzQXJ0aWNsZU9nVGFncyh0KSl9YWRkUHJvZHVjdEluZm8odCxyKXt0aGlzLmFkZFRhZyhPNi5jcmVhdGVQcm9kdWN0SnNvbkxkKHQscikpLHRoaXMuYWRkVGFnKFFuLmNyZWF0ZVByb2R1Y3RPZ1RhZ3ModCkpfWFzeW5jIGVuYWJsZSgpe3RoaXMudGl0bGUmJihkb2N1bWVudC50aXRsZT10aGlzLnRpdGxlKTtmb3IobGV0IHQgb2YgdGhpcy50YWdzKXQuYXBwZW5kVG9Eb20oKTt0aGlzLnN0YXRlPSJlbmFibGVkIn1hc3luYyBkaXNhYmxlKCl7Zm9yKGxldCB0IG9mIHRoaXMudGFncyl0LnJlbW92ZUZyb21Eb20oKTt0aGlzLnN0YXRlPSJkaXNhYmxlZCJ9fX0pO3ZhciBJcyxxaWU9ZigoKT0+e0xnKCk7SXM9Y2xhc3MgZXh0ZW5kcyBGNHtjb25zdHJ1Y3Rvcih0LHIpe3N1cGVyKCk7bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibWV0YSIpO2EubmFtZT10LGEuY29udGVudD1yLHRoaXMuZWxlbWVudFJlZj1hfX19KTt2YXIgQSQsSGllPWYoKCk9PntCaWUoKTt4YygpO0wkKCk7cWllKCk7JCQoKTtEJCgpO0EkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5nbG9iYWxMZXZlbD1uZXcgajgodGhpcywiZ2xvYmFsIiksdGhpcy5iYXNlTGV2ZWw9bmV3IGo4KHRoaXMsImJhc2UiKX1hc3luYyBzZXR1cCh0KXtzd2l0Y2godGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IElzKCJnb29nbGUiLCJub3RyYW5zbGF0ZSIpKSx0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgSXMoInJldmlzaXQtYWZ0ZXIiLCIxIGRheXMiKSksdC50d2l0dGVySGFuZGxlJiYodGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IElzKCJ0d2l0dGVyOmNhcmQiLCJzdW1tYXJ5X2xhcmdlX2ltYWdlIikpLHRoaXMuZ2xvYmFsTGV2ZWwuYWRkVGFnKG5ldyBJcygidHdpdHRlcjpzaXRlIix0LnR3aXR0ZXJIYW5kbGUpKSx0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgSXMoInR3aXR0ZXI6Y3JlYXRvciIsdC50d2l0dGVySGFuZGxlKSkpLHRoaXMuYmFzZUxldmVsLnRpdGxlPXQudGl0bGUsdC5kZXNjcmlwdGlvbiYmdGhpcy5iYXNlTGV2ZWwuYWRkVGFnKG5ldyBJcygiZGVzY3JpcHRpb24iLHQuZGVzY3JpcHRpb24pKSx0LmNhbm9uaWNhbERvbWFpbiYmdGhpcy5iYXNlTGV2ZWwuYWRkVGFnKG5ldyBJcygiY2Fub25pY2FsIix0LmNhbm9uaWNhbERvbWFpbikpLCEwKXtjYXNlKHQubGRDb21wYW55JiYhdC5sZFByb2R1Y3QpOnRoaXMuYmFzZUxldmVsLmFkZENvbXBhbnlJbmZvKHQubGRDb21wYW55KTticmVhaztjYXNlISF0LmxkUHJvZHVjdDp0aGlzLmJhc2VMZXZlbC5hZGRQcm9kdWN0SW5mbyh0LmxkUHJvZHVjdCx0LmxkQ29tcGFueSk7YnJlYWt9YXdhaXQgdGhpcy5nbG9iYWxMZXZlbC5lbmFibGUoKSx0aGlzLmFjdGl2ZUxldmVsPXRoaXMuYmFzZUxldmVsLGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZW5hYmxlKCl9YXN5bmMgc2V0U3ViUGFnZUxldmVsKHQpe2xldCByPW5ldyBqOCh0aGlzLCJzdWJwYWdlIik7cmV0dXJuIHIudGl0bGU9dC50aXRsZSx0LmRlc2NyaXB0aW9uJiZyLmFkZFRhZyhuZXcgSXMoImRlc2NyaXB0aW9uIix0LmRlc2NyaXB0aW9uKSksYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5kaXNhYmxlKCksdGhpcy5hY3RpdmVMZXZlbD1yLGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZW5hYmxlKCkscn1hc3luYyByZXZlcnRUb0Jhc2VMZXZlbCgpe3RoaXMuYWN0aXZlTGV2ZWwhPT10aGlzLmJhc2VMZXZlbCYmKGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZGlzYWJsZSgpLHRoaXMuYWN0aXZlTGV2ZWw9dGhpcy5iYXNlTGV2ZWwsYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5lbmFibGUoKSl9fX0pO3ZhciAkZyxRdHQ9ZigoKT0+e3hjKCk7TCQoKTtIaWUoKTtCaWUoKTskZz1jbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLnRhZ01hbmFnZXI9bmV3IEEkLHRoaXMucmVhZHlEZWZlcnJlZD1GNi5kZWZlcigpLHRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkPUY2LmRlZmVyKCksdGhpcy5yZWFkeVByb21pc2U9dGhpcy5yZWFkeURlZmVycmVkLnByb21pc2UsdGhpcy5yZWFkeUZvclNtYXJ0c3NyUHJvbWlzZT10aGlzLnJlYWR5Rm9yU21hcnRzc3JEZWZlcnJlZC5wcm9taXNlLHRoaXMub3B0aW9ucz10LHRoaXMuc2V0dXAoKS50aGVuKCgpPT57dGhpcy5yZWFkeURlZmVycmVkLnJlc29sdmUoKSx0aGlzLm9wdGlvbnMuc21hcnRzc3JXYWl0Rm9yUmVhZHlTaWduYWx8fHRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkLnJlc29sdmUoKX0pfWFzeW5jIHNldHVwKHQpe3QmJih0aGlzLm9wdGlvbnM9dCksYXdhaXQgdGhpcy50YWdNYW5hZ2VyLnNldHVwKHRoaXMub3B0aW9ucy5tZXRhT2JqZWN0KX1yZXZlcnRUb0Jhc2VMZXZlbCgpe3RoaXMudGFnTWFuYWdlci5yZXZlcnRUb0Jhc2VMZXZlbCgpfWFzeW5jIHNldFN1YkxldmVsKHQpe3JldHVybiBhd2FpdCB0aGlzLnRhZ01hbmFnZXIuc2V0U3ViUGFnZUxldmVsKHQpfWZsYXNoVGl0bGUodCl7fWluZm9ybVJlYWR5Rm9yU21hcnRzc3IoKXt0aGlzLm9wdGlvbnMuc21hcnRzc3JXYWl0Rm9yUmVhZHlTaWduYWx8fGNvbnNvbGUuZXJyb3IoIllvdSBoYXZlIG5vdCBpbmRpY2F0ZWQgdGhhdCB5b3UgaW5mb3JtIHNtYXJ0c3NyIGJ5IGEgZGVkaWNhdGVkIHNpZ25hbCEgUGxlYXNlIGNvbnNpZGVyIGRvaW5nIHNvISIpLHRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkLnJlc29sdmUoKX19fSk7dmFyIGppZSxKdHQ9ZigoKT0+e3hjKCk7amllPWNsYXNze319KTt2YXIgVmllPXt9O1JlKFZpZSx7SnNvbkxkVGFnOigpPT5PNixNZXRhVGFnOigpPT5JcyxPcGVuZ3JhcGhUYWc6KCk9PlFuLFRpdGxlOigpPT5qaWUsV2ViU2V0dXA6KCk9PiRnfSk7dmFyIEUkPWYoKCk9PntRdHQoKTtxaWUoKTtEJCgpOyQkKCk7SnR0KCl9KTt2YXIgS3R0LEkkPWYoKCk9PntJMigpO2NKKCk7VWkoKTt5bygpO0RLKCk7S3R0PXNyKEVLKCksMSl9KTt2YXIgVjgsVWllPWYoKCk9PntJJCgpO1Y4PWNsYXNzIGV7Y29uc3RydWN0b3IoKXt0aGlzLm1hcE9iamVjdD17fX1pc1VuaXF1ZUtleSh0KXtyZXR1cm4hdGhpcy5tYXBPYmplY3RbdF19YWRkVG9NYXAodCxyLGEpe3JldHVybiB0aGlzLmlzVW5pcXVlS2V5KHQpfHxhJiZhLmZvcmNlPyh0aGlzLm1hcE9iamVjdFt0XT1yLCEwKTohMX1nZXRCeUtleSh0KXtyZXR1cm4gdGhpcy5tYXBPYmplY3RbdF19cmVtb3ZlRnJvbU1hcCh0KXtsZXQgcj10aGlzLmdldEJ5S2V5KHQpO3JldHVybiBkZWxldGUgdGhpcy5tYXBPYmplY3RbdF0scn1nZXRLZXlzKCl7bGV0IHQ9W107Zm9yKGxldCByIGluIHRoaXMubWFwT2JqZWN0KXRoaXMubWFwT2JqZWN0W3JdJiZ0LnB1c2gocik7cmV0dXJuIHR9Y2xlYW4oKXt0aGlzLm1hcE9iamVjdD17fX1jb25jYXQodCl7bGV0IHI9bmV3IGU7Zm9yKGxldCBhIG9mIHRoaXMuZ2V0S2V5cygpKXIuYWRkVG9NYXAoYSx0aGlzLmdldEJ5S2V5KGEpKTtmb3IobGV0IGEgb2YgdC5nZXRLZXlzKCkpci5hZGRUb01hcChhLHQuZ2V0QnlLZXkoYSkse2ZvcmNlOiEwfSk7cmV0dXJuIHJ9YWRkQWxsRnJvbU90aGVyKHQpe2ZvcihsZXQgciBvZiB0LmdldEtleXMoKSl0aGlzLmFkZFRvTWFwKHIsdC5nZXRCeUtleShyKSx7Zm9yY2U6ITB9KX1hc3luYyBmaW5kKHQpe2ZvcihsZXQgciBvZiB0aGlzLmdldEtleXMoKSl7bGV0IGE9dGhpcy5nZXRCeUtleShyKTtpZihhd2FpdCB0KGEpKXJldHVybiBhfX19fSk7dmFyIHJHcixQJCx0cnQ9ZigoKT0+e0kkKCk7VWllKCk7ckdyPShlPSJ1bmkiKT0+YCR7ZX14eHh4eHh4eHh4eGAucmVwbGFjZSgvW3h5XS9nLHQ9PntsZXQgcj1NYXRoLnJhbmRvbSgpKjE2fDA7cmV0dXJuKHQ9PT0ieCI/cjpyJjN8OCkudG9TdHJpbmcoMTYpfSksUCQ9Y2xhc3MgZXtjb25zdHJ1Y3Rvcigpe3RoaXMuZmFzdE1hcD1uZXcgVjgsdGhpcy5ldmVudFN1YmplY3Q9bmV3IGFyLnJ4anMuU3ViamVjdH1hZGRNYXBwZWRVbmlxdWUodCxyKXt0aGlzLmZhc3RNYXAuYWRkVG9NYXAodCxyKX1nZXRNYXBwZWRVbmlxdWUodCl7cmV0dXJuIHRoaXMuZmFzdE1hcC5nZXRCeUtleSh0KX1yZW1vdmVNYXBwZWRVbmlxdWUodCl7bGV0IHI9dGhpcy5nZXRNYXBwZWRVbmlxdWUodCl9YWRkKHQpe2ZvcihsZXQgYSBvZiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpKWlmKHRoaXMuZmFzdE1hcC5nZXRCeUtleShhKT09PXQpcmV0dXJuIGE7bGV0IHI9ckdyKCJrZXkiKTtyZXR1cm4gdGhpcy5hZGRNYXBwZWRVbmlxdWUocix0KSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246ImFkZCIscGF5bG9hZDp0fSkscn1hZGRBcnJheSh0KXtmb3IobGV0IHIgb2YgdCl0aGlzLmFkZChyKX1jaGVja0Zvck9iamVjdCh0KXtyZXR1cm4hIXRoaXMuZ2V0S2V5Rm9yT2JqZWN0KHQpfWdldEtleUZvck9iamVjdCh0KXtsZXQgcj1udWxsO2ZvcihsZXQgYSBvZiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpKWlmKCFyJiZ0aGlzLmZhc3RNYXAuZ2V0QnlLZXkoYSk9PT10KXI9YTtlbHNlIGNvbnRpbnVlO3JldHVybiByfWFzeW5jIGZpbmQodCl7cmV0dXJuIHRoaXMuZmFzdE1hcC5maW5kKHQpfWZpbmRTeW5jKHQpe2ZvcihsZXQgciBvZiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpKWlmKHQodGhpcy5mYXN0TWFwLmdldEJ5S2V5KHIpKSlyZXR1cm4gdGhpcy5nZXRNYXBwZWRVbmlxdWUocil9YXN5bmMgZmluZE9uZUFuZFJlbW92ZSh0KXtsZXQgcj1hd2FpdCB0aGlzLmZpbmQodCk7cmV0dXJuIHImJnRoaXMucmVtb3ZlKHIpLHJ9ZmluZE9uZUFuZFJlbW92ZVN5bmModCl7bGV0IHI9dGhpcy5maW5kU3luYyh0KTtyZXR1cm4gciYmdGhpcy5yZW1vdmUocikscn1hc3luYyBmb3JFYWNoKHQpe2ZvcihsZXQgciBvZiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpKWF3YWl0IHQodGhpcy5mYXN0TWFwLmdldEJ5S2V5KHIpKX1nZXRPbmVBbmRSZW1vdmUoKXtsZXQgdD10aGlzLmZhc3RNYXAuZ2V0S2V5cygpO2lmKHQubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt7bGV0IHI9dFswXSxhPXRoaXMuZmFzdE1hcC5yZW1vdmVGcm9tTWFwKHIpO3JldHVybiB0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246InJlbW92ZSIscGF5bG9hZDphfSksYX19Z2V0QXJyYXkoKXtsZXQgdD1bXTtmb3IobGV0IHIgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSl0LnB1c2godGhpcy5mYXN0TWFwLmdldEJ5S2V5KHIpKTtyZXR1cm4gdH1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkubGVuZ3RoPT09MH1yZW1vdmUodCl7aWYodGhpcy5jaGVja0Zvck9iamVjdCh0KSl7bGV0IHI9dGhpcy5nZXRLZXlGb3JPYmplY3QodCksYT10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcChyKTtyZXR1cm4gdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6YX0pLGF9cmV0dXJuIG51bGx9d2lwZSgpe2ZvcihsZXQgdCBvZiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpKXRoaXMuZmFzdE1hcC5yZW1vdmVGcm9tTWFwKHQpfWNvbmNhdCh0KXtsZXQgcj1uZXcgZTtyZXR1cm4gci5mYXN0TWFwLmFkZEFsbEZyb21PdGhlcih0aGlzLmZhc3RNYXApLHIuZmFzdE1hcC5hZGRBbGxGcm9tT3RoZXIodC5mYXN0TWFwKSxyfWFkZEFsbEZyb21PdGhlcih0KXt0aGlzLmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKHQuZmFzdE1hcCl9fX0pO3ZhciBOJCxycnQ9ZigoKT0+e0kkKCk7TiQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9zdHJpbmdBcnJheT1bXSx0aGlzLl90cmlnZ2VyVW50aWxUcnVlRnVuY3Rpb25BcnJheT1bXX1hZGRTdHJpbmcodCl7dGhpcy5fc3RyaW5nQXJyYXkucHVzaCh0KSx0aGlzLm5vdGlmeVRyaWdnZXIoKX1hZGRTdHJpbmdBcnJheSh0KXtmb3IobGV0IHIgb2YgdCl0aGlzLmFkZFN0cmluZyhyKX1yZW1vdmVTdHJpbmcodCl7Zm9yKGxldCByIGluIHRoaXMuX3N0cmluZ0FycmF5KXRoaXMuX3N0cmluZ0FycmF5W3JdPT09dCYmdGhpcy5fc3RyaW5nQXJyYXkuc3BsaWNlKHBhcnNlSW50KHIpLDEpO3RoaXMubm90aWZ5VHJpZ2dlcigpfXdpcGUoKXt0aGlzLl9zdHJpbmdBcnJheT1bXSx0aGlzLm5vdGlmeVRyaWdnZXIoKX1jaGVja1N0cmluZyh0KXtyZXR1cm4gdGhpcy5fc3RyaW5nQXJyYXkuaW5kZXhPZih0KSE9PS0xfWNoZWNrTWluaW1hdGNoKHQpe2xldCByPW5ldyBRbC5TbWFydE1hdGNoKHQpLGE9ITE7Zm9yKGxldCBpIG9mIHRoaXMuX3N0cmluZ0FycmF5KXIubWF0Y2goaSkmJihhPSEwKTtyZXR1cm4gYX1jaGVja0lzRW1wdHkoKXtyZXR1cm4gdGhpcy5fc3RyaW5nQXJyYXkubGVuZ3RoPT09MH1nZXRTdHJpbmdBcnJheSgpe2xldCB0PVtdO2ZvcihsZXQgciBvZiB0aGlzLl9zdHJpbmdBcnJheSl0LnB1c2gocik7cmV0dXJuIHR9cmVnaXN0ZXJVbnRpbFRydWUodCxyKXtsZXQgYT1LZS5kZWZlcigpO3JldHVybiB0aGlzLl90cmlnZ2VyVW50aWxUcnVlRnVuY3Rpb25BcnJheS5wdXNoKCgpPT57bGV0IGk9dCh0aGlzLmdldFN0cmluZ0FycmF5KCkpO3JldHVybiBpPT09ITAmJihyJiZyKCksYS5yZXNvbHZlKCkpLGl9KSx0aGlzLm5vdGlmeVRyaWdnZXIoKSxhLnByb21pc2V9bm90aWZ5VHJpZ2dlcigpe2xldCB0PXRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5LmZpbHRlcihyPT4hcigpKTt0aGlzLl90cmlnZ2VyVW50aWxUcnVlRnVuY3Rpb25BcnJheT10fX19KTtmdW5jdGlvbiBhcnQoZSx0LHIpe3JldHVybiBNYXRoLm1heChlLE1hdGgubWluKHQscikpfWZ1bmN0aW9uIGlHcihlLHQscil7cmV0dXJuKDEtcikqZStyKnR9ZnVuY3Rpb24gbkdyKGUsdCxyLGEpe3JldHVybiBpR3IoZSx0LDEtTWF0aC5leHAoLXIqYSkpfWZ1bmN0aW9uIHNHcihlLHQpe3JldHVybihlJXQrdCkldH1mdW5jdGlvbiBsR3IoZSx0KXtsZXQgcjtyZXR1cm4gZnVuY3Rpb24oLi4uYSl7bGV0IGk9dGhpcztjbGVhclRpbWVvdXQocikscj1zZXRUaW1lb3V0KCgpPT57cj12b2lkIDAsZS5hcHBseShpLGEpfSx0KX19dmFyIGFHcixvR3IsY0dyLGlydCxucnQsTzQsZEdyLHNydCxEZyxvcnQ9ZigoKT0+e2FHcj0iMS4zLjE3IjtvR3I9Y2xhc3N7aXNSdW5uaW5nPSExO3ZhbHVlPTA7ZnJvbT0wO3RvPTA7Y3VycmVudFRpbWU9MDtsZXJwO2R1cmF0aW9uO2Vhc2luZztvblVwZGF0ZTthZHZhbmNlKGUpe2lmKCF0aGlzLmlzUnVubmluZylyZXR1cm47bGV0IHQ9ITE7aWYodGhpcy5kdXJhdGlvbiYmdGhpcy5lYXNpbmcpe3RoaXMuY3VycmVudFRpbWUrPWU7bGV0IHI9YXJ0KDAsdGhpcy5jdXJyZW50VGltZS90aGlzLmR1cmF0aW9uLDEpO3Q9cj49MTtsZXQgYT10PzE6dGhpcy5lYXNpbmcocik7dGhpcy52YWx1ZT10aGlzLmZyb20rKHRoaXMudG8tdGhpcy5mcm9tKSphfWVsc2UgdGhpcy5sZXJwPyh0aGlzLnZhbHVlPW5Hcih0aGlzLnZhbHVlLHRoaXMudG8sdGhpcy5sZXJwKjYwLGUpLE1hdGgucm91bmQodGhpcy52YWx1ZSk9PT10aGlzLnRvJiYodGhpcy52YWx1ZT10aGlzLnRvLHQ9ITApKToodGhpcy52YWx1ZT10aGlzLnRvLHQ9ITApO3QmJnRoaXMuc3RvcCgpLHRoaXMub25VcGRhdGU/Lih0aGlzLnZhbHVlLHQpfXN0b3AoKXt0aGlzLmlzUnVubmluZz0hMX1mcm9tVG8oZSx0LHtsZXJwOnIsZHVyYXRpb246YSxlYXNpbmc6aSxvblN0YXJ0Om4sb25VcGRhdGU6c30pe3RoaXMuZnJvbT10aGlzLnZhbHVlPWUsdGhpcy50bz10LHRoaXMubGVycD1yLHRoaXMuZHVyYXRpb249YSx0aGlzLmVhc2luZz1pLHRoaXMuY3VycmVudFRpbWU9MCx0aGlzLmlzUnVubmluZz0hMCxuPy4oKSx0aGlzLm9uVXBkYXRlPXN9fTtjR3I9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LHthdXRvUmVzaXplOnI9ITAsZGVib3VuY2U6YT0yNTB9PXt9KXt0aGlzLndyYXBwZXI9ZSx0aGlzLmNvbnRlbnQ9dCxyJiYodGhpcy5kZWJvdW5jZWRSZXNpemU9bEdyKHRoaXMucmVzaXplLGEpLHRoaXMud3JhcHBlciBpbnN0YW5jZW9mIFdpbmRvdz93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmRlYm91bmNlZFJlc2l6ZSwhMSk6KHRoaXMud3JhcHBlclJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcih0aGlzLmRlYm91bmNlZFJlc2l6ZSksdGhpcy53cmFwcGVyUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLndyYXBwZXIpKSx0aGlzLmNvbnRlbnRSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5kZWJvdW5jZWRSZXNpemUpLHRoaXMuY29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5jb250ZW50KSksdGhpcy5yZXNpemUoKX13aWR0aD0wO2hlaWdodD0wO3Njcm9sbEhlaWdodD0wO3Njcm9sbFdpZHRoPTA7ZGVib3VuY2VkUmVzaXplO3dyYXBwZXJSZXNpemVPYnNlcnZlcjtjb250ZW50UmVzaXplT2JzZXJ2ZXI7ZGVzdHJveSgpe3RoaXMud3JhcHBlclJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCksdGhpcy5jb250ZW50UmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLndyYXBwZXI9PT13aW5kb3cmJnRoaXMuZGVib3VuY2VkUmVzaXplJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmRlYm91bmNlZFJlc2l6ZSwhMSl9cmVzaXplPSgpPT57dGhpcy5vbldyYXBwZXJSZXNpemUoKSx0aGlzLm9uQ29udGVudFJlc2l6ZSgpfTtvbldyYXBwZXJSZXNpemU9KCk9Pnt0aGlzLndyYXBwZXIgaW5zdGFuY2VvZiBXaW5kb3c/KHRoaXMud2lkdGg9d2luZG93LmlubmVyV2lkdGgsdGhpcy5oZWlnaHQ9d2luZG93LmlubmVySGVpZ2h0KToodGhpcy53aWR0aD10aGlzLndyYXBwZXIuY2xpZW50V2lkdGgsdGhpcy5oZWlnaHQ9dGhpcy53cmFwcGVyLmNsaWVudEhlaWdodCl9O29uQ29udGVudFJlc2l6ZT0oKT0+e3RoaXMud3JhcHBlciBpbnN0YW5jZW9mIFdpbmRvdz8odGhpcy5zY3JvbGxIZWlnaHQ9dGhpcy5jb250ZW50LnNjcm9sbEhlaWdodCx0aGlzLnNjcm9sbFdpZHRoPXRoaXMuY29udGVudC5zY3JvbGxXaWR0aCk6KHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMud3JhcHBlci5zY3JvbGxIZWlnaHQsdGhpcy5zY3JvbGxXaWR0aD10aGlzLndyYXBwZXIuc2Nyb2xsV2lkdGgpfTtnZXQgbGltaXQoKXtyZXR1cm57eDp0aGlzLnNjcm9sbFdpZHRoLXRoaXMud2lkdGgseTp0aGlzLnNjcm9sbEhlaWdodC10aGlzLmhlaWdodH19fSxpcnQ9Y2xhc3N7ZXZlbnRzPXt9O2VtaXQoZSwuLi50KXtsZXQgcj10aGlzLmV2ZW50c1tlXXx8W107Zm9yKGxldCBhPTAsaT1yLmxlbmd0aDthPGk7YSsrKXJbYV0/LiguLi50KX1vbihlLHQpe3JldHVybiB0aGlzLmV2ZW50c1tlXT8ucHVzaCh0KXx8KHRoaXMuZXZlbnRzW2VdPVt0XSksKCk9Pnt0aGlzLmV2ZW50c1tlXT10aGlzLmV2ZW50c1tlXT8uZmlsdGVyKHI9PnQhPT1yKX19b2ZmKGUsdCl7dGhpcy5ldmVudHNbZV09dGhpcy5ldmVudHNbZV0/LmZpbHRlcihyPT50IT09cil9ZGVzdHJveSgpe3RoaXMuZXZlbnRzPXt9fX0sbnJ0PTEwMC82LE80PXtwYXNzaXZlOiExfSxkR3I9Y2xhc3N7Y29uc3RydWN0b3IoZSx0PXt3aGVlbE11bHRpcGxpZXI6MSx0b3VjaE11bHRpcGxpZXI6MX0pe3RoaXMuZWxlbWVudD1lLHRoaXMub3B0aW9ucz10LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMub25XaW5kb3dSZXNpemUsITEpLHRoaXMub25XaW5kb3dSZXNpemUoKSx0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLHRoaXMub25XaGVlbCxPNCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMub25Ub3VjaFN0YXJ0LE80KSx0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0aGlzLm9uVG91Y2hNb3ZlLE80KSx0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMub25Ub3VjaEVuZCxPNCl9dG91Y2hTdGFydD17eDowLHk6MH07bGFzdERlbHRhPXt4OjAseTowfTt3aW5kb3c9e3dpZHRoOjAsaGVpZ2h0OjB9O2VtaXR0ZXI9bmV3IGlydDtvbihlLHQpe3JldHVybiB0aGlzLmVtaXR0ZXIub24oZSx0KX1kZXN0cm95KCl7dGhpcy5lbWl0dGVyLmRlc3Ryb3koKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLm9uV2luZG93UmVzaXplLCExKSx0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLHRoaXMub25XaGVlbCxPNCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMub25Ub3VjaFN0YXJ0LE80KSx0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0aGlzLm9uVG91Y2hNb3ZlLE80KSx0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMub25Ub3VjaEVuZCxPNCl9b25Ub3VjaFN0YXJ0PWU9PntsZXR7Y2xpZW50WDp0LGNsaWVudFk6cn09ZS50YXJnZXRUb3VjaGVzP2UudGFyZ2V0VG91Y2hlc1swXTplO3RoaXMudG91Y2hTdGFydC54PXQsdGhpcy50b3VjaFN0YXJ0Lnk9cix0aGlzLmxhc3REZWx0YT17eDowLHk6MH0sdGhpcy5lbWl0dGVyLmVtaXQoInNjcm9sbCIse2RlbHRhWDowLGRlbHRhWTowLGV2ZW50OmV9KX07b25Ub3VjaE1vdmU9ZT0+e2xldHtjbGllbnRYOnQsY2xpZW50WTpyfT1lLnRhcmdldFRvdWNoZXM/ZS50YXJnZXRUb3VjaGVzWzBdOmUsYT0tKHQtdGhpcy50b3VjaFN0YXJ0LngpKnRoaXMub3B0aW9ucy50b3VjaE11bHRpcGxpZXIsaT0tKHItdGhpcy50b3VjaFN0YXJ0LnkpKnRoaXMub3B0aW9ucy50b3VjaE11bHRpcGxpZXI7dGhpcy50b3VjaFN0YXJ0Lng9dCx0aGlzLnRvdWNoU3RhcnQueT1yLHRoaXMubGFzdERlbHRhPXt4OmEseTppfSx0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix7ZGVsdGFYOmEsZGVsdGFZOmksZXZlbnQ6ZX0pfTtvblRvdWNoRW5kPWU9Pnt0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix7ZGVsdGFYOnRoaXMubGFzdERlbHRhLngsZGVsdGFZOnRoaXMubGFzdERlbHRhLnksZXZlbnQ6ZX0pfTtvbldoZWVsPWU9PntsZXR7ZGVsdGFYOnQsZGVsdGFZOnIsZGVsdGFNb2RlOmF9PWUsaT1hPT09MT9ucnQ6YT09PTI/dGhpcy53aW5kb3cud2lkdGg6MSxuPWE9PT0xP25ydDphPT09Mj90aGlzLndpbmRvdy5oZWlnaHQ6MTt0Kj1pLHIqPW4sdCo9dGhpcy5vcHRpb25zLndoZWVsTXVsdGlwbGllcixyKj10aGlzLm9wdGlvbnMud2hlZWxNdWx0aXBsaWVyLHRoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHtkZWx0YVg6dCxkZWx0YVk6cixldmVudDplfSl9O29uV2luZG93UmVzaXplPSgpPT57dGhpcy53aW5kb3c9e3dpZHRoOndpbmRvdy5pbm5lcldpZHRoLGhlaWdodDp3aW5kb3cuaW5uZXJIZWlnaHR9fX0sc3J0PWU9Pk1hdGgubWluKDEsMS4wMDEtTWF0aC5wb3coMiwtMTAqZSkpLERnPWNsYXNze19pc1Njcm9sbGluZz0hMTtfaXNTdG9wcGVkPSExO19pc0xvY2tlZD0hMTtfcHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudD0hMTtfcmVzZXRWZWxvY2l0eVRpbWVvdXQ9bnVsbDtfcmFmSWQ9bnVsbDtpc1RvdWNoaW5nO3RpbWU9MDt1c2VyRGF0YT17fTtsYXN0VmVsb2NpdHk9MDt2ZWxvY2l0eT0wO2RpcmVjdGlvbj0wO29wdGlvbnM7dGFyZ2V0U2Nyb2xsO2FuaW1hdGVkU2Nyb2xsO2FuaW1hdGU9bmV3IG9HcjtlbWl0dGVyPW5ldyBpcnQ7ZGltZW5zaW9uczt2aXJ0dWFsU2Nyb2xsO2NvbnN0cnVjdG9yKHt3cmFwcGVyOmU9d2luZG93LGNvbnRlbnQ6dD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZXZlbnRzVGFyZ2V0OnI9ZSxzbW9vdGhXaGVlbDphPSEwLHN5bmNUb3VjaDppPSExLHN5bmNUb3VjaExlcnA6bj0uMDc1LHRvdWNoSW5lcnRpYUV4cG9uZW50OnM9MS43LGR1cmF0aW9uOm8sZWFzaW5nOmMsbGVycDpsPS4xLGluZmluaXRlOnU9ITEsb3JpZW50YXRpb246ZD0idmVydGljYWwiLGdlc3R1cmVPcmllbnRhdGlvbjpoPWQ9PT0iaG9yaXpvbnRhbCI/ImJvdGgiOiJ2ZXJ0aWNhbCIsdG91Y2hNdWx0aXBsaWVyOm09MSx3aGVlbE11bHRpcGxpZXI6dj0xLGF1dG9SZXNpemU6Yj0hMCxwcmV2ZW50OmcsdmlydHVhbFNjcm9sbDp5LG92ZXJzY3JvbGw6dz0hMCxhdXRvUmFmOms9ITEsYW5jaG9yczpSPSExLGF1dG9Ub2dnbGU6Qz0hMSxhbGxvd05lc3RlZFNjcm9sbDpTPSExLF9fZXhwZXJpbWVudGFsX19uYWl2ZURpbWVuc2lvbnM6Tz0hMSxuYWl2ZURpbWVuc2lvbnM6RD1PLHN0b3BJbmVydGlhT25OYXZpZ2F0ZTpOPSExfT17fSl7d2luZG93LmxlbmlzVmVyc2lvbj1hR3IsKCFlfHxlPT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmKGU9d2luZG93KSx0eXBlb2Ygbz09Im51bWJlciImJnR5cGVvZiBjIT0iZnVuY3Rpb24iP2M9c3J0OnR5cGVvZiBjPT0iZnVuY3Rpb24iJiZ0eXBlb2YgbyE9Im51bWJlciImJihvPTEpLHRoaXMub3B0aW9ucz17d3JhcHBlcjplLGNvbnRlbnQ6dCxldmVudHNUYXJnZXQ6cixzbW9vdGhXaGVlbDphLHN5bmNUb3VjaDppLHN5bmNUb3VjaExlcnA6bix0b3VjaEluZXJ0aWFFeHBvbmVudDpzLGR1cmF0aW9uOm8sZWFzaW5nOmMsbGVycDpsLGluZmluaXRlOnUsZ2VzdHVyZU9yaWVudGF0aW9uOmgsb3JpZW50YXRpb246ZCx0b3VjaE11bHRpcGxpZXI6bSx3aGVlbE11bHRpcGxpZXI6dixhdXRvUmVzaXplOmIscHJldmVudDpnLHZpcnR1YWxTY3JvbGw6eSxvdmVyc2Nyb2xsOncsYXV0b1JhZjprLGFuY2hvcnM6UixhdXRvVG9nZ2xlOkMsYWxsb3dOZXN0ZWRTY3JvbGw6UyxuYWl2ZURpbWVuc2lvbnM6RCxzdG9wSW5lcnRpYU9uTmF2aWdhdGU6Tn0sdGhpcy5kaW1lbnNpb25zPW5ldyBjR3IoZSx0LHthdXRvUmVzaXplOmJ9KSx0aGlzLnVwZGF0ZUNsYXNzTmFtZSgpLHRoaXMudGFyZ2V0U2Nyb2xsPXRoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLm9uTmF0aXZlU2Nyb2xsLCExKSx0aGlzLm9wdGlvbnMud3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLHRoaXMub25TY3JvbGxFbmQse2NhcHR1cmU6ITB9KSwodGhpcy5vcHRpb25zLmFuY2hvcnN8fHRoaXMub3B0aW9ucy5zdG9wSW5lcnRpYU9uTmF2aWdhdGUpJiZ0aGlzLm9wdGlvbnMud3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5vbkNsaWNrLCExKSx0aGlzLm9wdGlvbnMud3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsdGhpcy5vblBvaW50ZXJEb3duLCExKSx0aGlzLnZpcnR1YWxTY3JvbGw9bmV3IGRHcihyLHt0b3VjaE11bHRpcGxpZXI6bSx3aGVlbE11bHRpcGxpZXI6dn0pLHRoaXMudmlydHVhbFNjcm9sbC5vbigic2Nyb2xsIix0aGlzLm9uVmlydHVhbFNjcm9sbCksdGhpcy5vcHRpb25zLmF1dG9Ub2dnbGUmJih0aGlzLmNoZWNrT3ZlcmZsb3coKSx0aGlzLnJvb3RFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLHRoaXMub25UcmFuc2l0aW9uRW5kLHtwYXNzaXZlOiEwfSkpLHRoaXMub3B0aW9ucy5hdXRvUmFmJiYodGhpcy5fcmFmSWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMucmFmKSl9ZGVzdHJveSgpe3RoaXMuZW1pdHRlci5kZXN0cm95KCksdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLm9uTmF0aXZlU2Nyb2xsLCExKSx0aGlzLm9wdGlvbnMud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLHRoaXMub25TY3JvbGxFbmQse2NhcHR1cmU6ITB9KSx0aGlzLm9wdGlvbnMud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsdGhpcy5vblBvaW50ZXJEb3duLCExKSwodGhpcy5vcHRpb25zLmFuY2hvcnN8fHRoaXMub3B0aW9ucy5zdG9wSW5lcnRpYU9uTmF2aWdhdGUpJiZ0aGlzLm9wdGlvbnMud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5vbkNsaWNrLCExKSx0aGlzLnZpcnR1YWxTY3JvbGwuZGVzdHJveSgpLHRoaXMuZGltZW5zaW9ucy5kZXN0cm95KCksdGhpcy5jbGVhblVwQ2xhc3NOYW1lKCksdGhpcy5fcmFmSWQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZklkKX1vbihlLHQpe3JldHVybiB0aGlzLmVtaXR0ZXIub24oZSx0KX1vZmYoZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9mZihlLHQpfW9uU2Nyb2xsRW5kPWU9PntlIGluc3RhbmNlb2YgQ3VzdG9tRXZlbnR8fCh0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCJ8fHRoaXMuaXNTY3JvbGxpbmc9PT0hMSkmJmUuc3RvcFByb3BhZ2F0aW9uKCl9O2Rpc3BhdGNoU2Nyb2xsZW5kRXZlbnQ9KCk9Pnt0aGlzLm9wdGlvbnMud3JhcHBlci5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2Nyb2xsZW5kIix7YnViYmxlczp0aGlzLm9wdGlvbnMud3JhcHBlcj09PXdpbmRvdyxkZXRhaWw6e2xlbmlzU2Nyb2xsRW5kOiEwfX0pKX07Z2V0IG92ZXJmbG93KCl7bGV0IGU9dGhpcy5pc0hvcml6b250YWw/Im92ZXJmbG93LXgiOiJvdmVyZmxvdy15IjtyZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnJvb3RFbGVtZW50KVtlXX1jaGVja092ZXJmbG93KCl7WyJoaWRkZW4iLCJjbGlwIl0uaW5jbHVkZXModGhpcy5vdmVyZmxvdyk/dGhpcy5pbnRlcm5hbFN0b3AoKTp0aGlzLmludGVybmFsU3RhcnQoKX1vblRyYW5zaXRpb25FbmQ9ZT0+e2UucHJvcGVydHlOYW1lLmluY2x1ZGVzKCJvdmVyZmxvdyIpJiZ0aGlzLmNoZWNrT3ZlcmZsb3coKX07c2V0U2Nyb2xsKGUpe3RoaXMuaXNIb3Jpem9udGFsP3RoaXMub3B0aW9ucy53cmFwcGVyLnNjcm9sbFRvKHtsZWZ0OmUsYmVoYXZpb3I6Imluc3RhbnQifSk6dGhpcy5vcHRpb25zLndyYXBwZXIuc2Nyb2xsVG8oe3RvcDplLGJlaGF2aW9yOiJpbnN0YW50In0pfW9uQ2xpY2s9ZT0+e2xldCByPWUuY29tcG9zZWRQYXRoKCkuZmlsdGVyKGE9PmEgaW5zdGFuY2VvZiBIVE1MQW5jaG9yRWxlbWVudCYmYS5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYodGhpcy5vcHRpb25zLmFuY2hvcnMpe2xldCBhPXIuZmluZChpPT5pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPy5pbmNsdWRlcygiIyIpKTtpZihhKXtsZXQgaT1hLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKGkpe2xldCBuPXR5cGVvZiB0aGlzLm9wdGlvbnMuYW5jaG9ycz09Im9iamVjdCImJnRoaXMub3B0aW9ucy5hbmNob3JzP3RoaXMub3B0aW9ucy5hbmNob3JzOnZvaWQgMCxzPWAjJHtpLnNwbGl0KCIjIilbMV19YDt0aGlzLnNjcm9sbFRvKHMsbil9fX10aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlJiZyLmZpbmQoaT0+aS5ob3N0PT09d2luZG93LmxvY2F0aW9uLmhvc3QpJiZ0aGlzLnJlc2V0KCl9O29uUG9pbnRlckRvd249ZT0+e2UuYnV0dG9uPT09MSYmdGhpcy5yZXNldCgpfTtvblZpcnR1YWxTY3JvbGw9ZT0+e2lmKHR5cGVvZiB0aGlzLm9wdGlvbnMudmlydHVhbFNjcm9sbD09ImZ1bmN0aW9uIiYmdGhpcy5vcHRpb25zLnZpcnR1YWxTY3JvbGwoZSk9PT0hMSlyZXR1cm47bGV0e2RlbHRhWDp0LGRlbHRhWTpyLGV2ZW50OmF9PWU7aWYodGhpcy5lbWl0dGVyLmVtaXQoInZpcnR1YWwtc2Nyb2xsIix7ZGVsdGFYOnQsZGVsdGFZOnIsZXZlbnQ6YX0pLGEuY3RybEtleXx8YS5sZW5pc1N0b3BQcm9wYWdhdGlvbilyZXR1cm47bGV0IGk9YS50eXBlLmluY2x1ZGVzKCJ0b3VjaCIpLG49YS50eXBlLmluY2x1ZGVzKCJ3aGVlbCIpO3RoaXMuaXNUb3VjaGluZz1hLnR5cGU9PT0idG91Y2hzdGFydCJ8fGEudHlwZT09PSJ0b3VjaG1vdmUiO2xldCBzPXQ9PT0wJiZyPT09MDtpZih0aGlzLm9wdGlvbnMuc3luY1RvdWNoJiZpJiZhLnR5cGU9PT0idG91Y2hzdGFydCImJnMmJiF0aGlzLmlzU3RvcHBlZCYmIXRoaXMuaXNMb2NrZWQpe3RoaXMucmVzZXQoKTtyZXR1cm59bGV0IGM9dGhpcy5vcHRpb25zLmdlc3R1cmVPcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCImJnI9PT0wfHx0aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uPT09Imhvcml6b250YWwiJiZ0PT09MDtpZihzfHxjKXJldHVybjtsZXQgbD1hLmNvbXBvc2VkUGF0aCgpO2w9bC5zbGljZSgwLGwuaW5kZXhPZih0aGlzLnJvb3RFbGVtZW50KSk7bGV0IHU9dGhpcy5vcHRpb25zLnByZXZlbnQ7aWYobC5maW5kKGc9PmcgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKHR5cGVvZiB1PT0iZnVuY3Rpb24iJiZ1Py4oZyl8fGcuaGFzQXR0cmlidXRlPy4oImRhdGEtbGVuaXMtcHJldmVudCIpfHxpJiZnLmhhc0F0dHJpYnV0ZT8uKCJkYXRhLWxlbmlzLXByZXZlbnQtdG91Y2giKXx8biYmZy5oYXNBdHRyaWJ1dGU/LigiZGF0YS1sZW5pcy1wcmV2ZW50LXdoZWVsIil8fHRoaXMub3B0aW9ucy5hbGxvd05lc3RlZFNjcm9sbCYmdGhpcy5jaGVja05lc3RlZFNjcm9sbChnLHtkZWx0YVg6dCxkZWx0YVk6cn0pKSkpcmV0dXJuO2lmKHRoaXMuaXNTdG9wcGVkfHx0aGlzLmlzTG9ja2VkKXthLmNhbmNlbGFibGUmJmEucHJldmVudERlZmF1bHQoKTtyZXR1cm59aWYoISh0aGlzLm9wdGlvbnMuc3luY1RvdWNoJiZpfHx0aGlzLm9wdGlvbnMuc21vb3RoV2hlZWwmJm4pKXt0aGlzLmlzU2Nyb2xsaW5nPSJuYXRpdmUiLHRoaXMuYW5pbWF0ZS5zdG9wKCksYS5sZW5pc1N0b3BQcm9wYWdhdGlvbj0hMDtyZXR1cm59bGV0IGg9cjt0aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uPT09ImJvdGgiP2g9TWF0aC5hYnMocik+TWF0aC5hYnModCk/cjp0OnRoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCImJihoPXQpLCghdGhpcy5vcHRpb25zLm92ZXJzY3JvbGx8fHRoaXMub3B0aW9ucy5pbmZpbml0ZXx8dGhpcy5vcHRpb25zLndyYXBwZXIhPT13aW5kb3cmJnRoaXMubGltaXQ+MCYmKHRoaXMuYW5pbWF0ZWRTY3JvbGw+MCYmdGhpcy5hbmltYXRlZFNjcm9sbDx0aGlzLmxpbWl0fHx0aGlzLmFuaW1hdGVkU2Nyb2xsPT09MCYmcj4wfHx0aGlzLmFuaW1hdGVkU2Nyb2xsPT09dGhpcy5saW1pdCYmcjwwKSkmJihhLmxlbmlzU3RvcFByb3BhZ2F0aW9uPSEwKSxhLmNhbmNlbGFibGUmJmEucHJldmVudERlZmF1bHQoKTtsZXQgbT1pJiZ0aGlzLm9wdGlvbnMuc3luY1RvdWNoLGI9aSYmYS50eXBlPT09InRvdWNoZW5kIjtiJiYoaD1NYXRoLnNpZ24odGhpcy52ZWxvY2l0eSkqTWF0aC5wb3coTWF0aC5hYnModGhpcy52ZWxvY2l0eSksdGhpcy5vcHRpb25zLnRvdWNoSW5lcnRpYUV4cG9uZW50KSksdGhpcy5zY3JvbGxUbyh0aGlzLnRhcmdldFNjcm9sbCtoLHtwcm9ncmFtbWF0aWM6ITEsLi4ubT97bGVycDpiP3RoaXMub3B0aW9ucy5zeW5jVG91Y2hMZXJwOjF9OntsZXJwOnRoaXMub3B0aW9ucy5sZXJwLGR1cmF0aW9uOnRoaXMub3B0aW9ucy5kdXJhdGlvbixlYXNpbmc6dGhpcy5vcHRpb25zLmVhc2luZ319KX07cmVzaXplKCl7dGhpcy5kaW1lbnNpb25zLnJlc2l6ZSgpLHRoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5lbWl0KCl9ZW1pdCgpe3RoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHRoaXMpfW9uTmF0aXZlU2Nyb2xsPSgpPT57aWYodGhpcy5fcmVzZXRWZWxvY2l0eVRpbWVvdXQhPT1udWxsJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2V0VmVsb2NpdHlUaW1lb3V0KSx0aGlzLl9yZXNldFZlbG9jaXR5VGltZW91dD1udWxsKSx0aGlzLl9wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50KXt0aGlzLl9wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50PSExO3JldHVybn1pZih0aGlzLmlzU2Nyb2xsaW5nPT09ITF8fHRoaXMuaXNTY3JvbGxpbmc9PT0ibmF0aXZlIil7bGV0IGU9dGhpcy5hbmltYXRlZFNjcm9sbDt0aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMudGFyZ2V0U2Nyb2xsPXRoaXMuYWN0dWFsU2Nyb2xsLHRoaXMubGFzdFZlbG9jaXR5PXRoaXMudmVsb2NpdHksdGhpcy52ZWxvY2l0eT10aGlzLmFuaW1hdGVkU2Nyb2xsLWUsdGhpcy5kaXJlY3Rpb249TWF0aC5zaWduKHRoaXMuYW5pbWF0ZWRTY3JvbGwtZSksdGhpcy5pc1N0b3BwZWR8fCh0aGlzLmlzU2Nyb2xsaW5nPSJuYXRpdmUiKSx0aGlzLmVtaXQoKSx0aGlzLnZlbG9jaXR5IT09MCYmKHRoaXMuX3Jlc2V0VmVsb2NpdHlUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxhc3RWZWxvY2l0eT10aGlzLnZlbG9jaXR5LHRoaXMudmVsb2NpdHk9MCx0aGlzLmlzU2Nyb2xsaW5nPSExLHRoaXMuZW1pdCgpfSw0MDApKX19O3Jlc2V0KCl7dGhpcy5pc0xvY2tlZD0hMSx0aGlzLmlzU2Nyb2xsaW5nPSExLHRoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5sYXN0VmVsb2NpdHk9dGhpcy52ZWxvY2l0eT0wLHRoaXMuYW5pbWF0ZS5zdG9wKCl9c3RhcnQoKXtpZih0aGlzLmlzU3RvcHBlZCl7aWYodGhpcy5vcHRpb25zLmF1dG9Ub2dnbGUpe3RoaXMucm9vdEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoIm92ZXJmbG93Iik7cmV0dXJufXRoaXMuaW50ZXJuYWxTdGFydCgpfX1pbnRlcm5hbFN0YXJ0KCl7dGhpcy5pc1N0b3BwZWQmJih0aGlzLnJlc2V0KCksdGhpcy5pc1N0b3BwZWQ9ITEsdGhpcy5lbWl0KCkpfXN0b3AoKXtpZighdGhpcy5pc1N0b3BwZWQpe2lmKHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlKXt0aGlzLnJvb3RFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJvdmVyZmxvdyIsImNsaXAiKTtyZXR1cm59dGhpcy5pbnRlcm5hbFN0b3AoKX19aW50ZXJuYWxTdG9wKCl7dGhpcy5pc1N0b3BwZWR8fCh0aGlzLnJlc2V0KCksdGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5lbWl0KCkpfXJhZj1lPT57bGV0IHQ9ZS0odGhpcy50aW1lfHxlKTt0aGlzLnRpbWU9ZSx0aGlzLmFuaW1hdGUuYWR2YW5jZSh0Ki4wMDEpLHRoaXMub3B0aW9ucy5hdXRvUmFmJiYodGhpcy5fcmFmSWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMucmFmKSl9O3Njcm9sbFRvKGUse29mZnNldDp0PTAsaW1tZWRpYXRlOnI9ITEsbG9jazphPSExLHByb2dyYW1tYXRpYzppPSEwLGxlcnA6bj1pP3RoaXMub3B0aW9ucy5sZXJwOnZvaWQgMCxkdXJhdGlvbjpzPWk/dGhpcy5vcHRpb25zLmR1cmF0aW9uOnZvaWQgMCxlYXNpbmc6bz1pP3RoaXMub3B0aW9ucy5lYXNpbmc6dm9pZCAwLG9uU3RhcnQ6YyxvbkNvbXBsZXRlOmwsZm9yY2U6dT0hMSx1c2VyRGF0YTpkfT17fSl7aWYoISgodGhpcy5pc1N0b3BwZWR8fHRoaXMuaXNMb2NrZWQpJiYhdSkpe2lmKHR5cGVvZiBlPT0ic3RyaW5nIiYmWyJ0b3AiLCJsZWZ0Iiwic3RhcnQiLCIjIl0uaW5jbHVkZXMoZSkpZT0wO2Vsc2UgaWYodHlwZW9mIGU9PSJzdHJpbmciJiZbImJvdHRvbSIsInJpZ2h0IiwiZW5kIl0uaW5jbHVkZXMoZSkpZT10aGlzLmxpbWl0O2Vsc2V7bGV0IGg7aWYodHlwZW9mIGU9PSJzdHJpbmciPyhoPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSksaHx8KGU9PT0iI3RvcCI/ZT0wOmNvbnNvbGUud2FybigiTGVuaXM6IFRhcmdldCBub3QgZm91bmQiLGUpKSk6ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlPy5ub2RlVHlwZSYmKGg9ZSksaCl7aWYodGhpcy5vcHRpb25zLndyYXBwZXIhPT13aW5kb3cpe2xldCB2PXRoaXMucm9vdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dC09dGhpcy5pc0hvcml6b250YWw/di5sZWZ0OnYudG9wfWxldCBtPWguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT0odGhpcy5pc0hvcml6b250YWw/bS5sZWZ0Om0udG9wKSt0aGlzLmFuaW1hdGVkU2Nyb2xsfX1pZih0eXBlb2YgZT09Im51bWJlciIpe2lmKGUrPXQsZT1NYXRoLnJvdW5kKGUpLHRoaXMub3B0aW9ucy5pbmZpbml0ZSl7aWYoaSl7dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hbmltYXRlZFNjcm9sbD10aGlzLnNjcm9sbDtsZXQgaD1lLXRoaXMuYW5pbWF0ZWRTY3JvbGw7aD50aGlzLmxpbWl0LzI/ZT1lLXRoaXMubGltaXQ6aDwtdGhpcy5saW1pdC8yJiYoZT1lK3RoaXMubGltaXQpfX1lbHNlIGU9YXJ0KDAsZSx0aGlzLmxpbWl0KTtpZihlPT09dGhpcy50YXJnZXRTY3JvbGwpe2M/Lih0aGlzKSxsPy4odGhpcyk7cmV0dXJufWlmKHRoaXMudXNlckRhdGE9ZD8/e30scil7dGhpcy5hbmltYXRlZFNjcm9sbD10aGlzLnRhcmdldFNjcm9sbD1lLHRoaXMuc2V0U2Nyb2xsKHRoaXMuc2Nyb2xsKSx0aGlzLnJlc2V0KCksdGhpcy5wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50KCksdGhpcy5lbWl0KCksbD8uKHRoaXMpLHRoaXMudXNlckRhdGE9e30scmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5kaXNwYXRjaFNjcm9sbGVuZEV2ZW50KCl9KTtyZXR1cm59aXx8KHRoaXMudGFyZ2V0U2Nyb2xsPWUpLHR5cGVvZiBzPT0ibnVtYmVyIiYmdHlwZW9mIG8hPSJmdW5jdGlvbiI/bz1zcnQ6dHlwZW9mIG89PSJmdW5jdGlvbiImJnR5cGVvZiBzIT0ibnVtYmVyIiYmKHM9MSksdGhpcy5hbmltYXRlLmZyb21Ubyh0aGlzLmFuaW1hdGVkU2Nyb2xsLGUse2R1cmF0aW9uOnMsZWFzaW5nOm8sbGVycDpuLG9uU3RhcnQ6KCk9PnthJiYodGhpcy5pc0xvY2tlZD0hMCksdGhpcy5pc1Njcm9sbGluZz0ic21vb3RoIixjPy4odGhpcyl9LG9uVXBkYXRlOihoLG0pPT57dGhpcy5pc1Njcm9sbGluZz0ic21vb3RoIix0aGlzLmxhc3RWZWxvY2l0eT10aGlzLnZlbG9jaXR5LHRoaXMudmVsb2NpdHk9aC10aGlzLmFuaW1hdGVkU2Nyb2xsLHRoaXMuZGlyZWN0aW9uPU1hdGguc2lnbih0aGlzLnZlbG9jaXR5KSx0aGlzLmFuaW1hdGVkU2Nyb2xsPWgsdGhpcy5zZXRTY3JvbGwodGhpcy5zY3JvbGwpLGkmJih0aGlzLnRhcmdldFNjcm9sbD1oKSxtfHx0aGlzLmVtaXQoKSxtJiYodGhpcy5yZXNldCgpLHRoaXMuZW1pdCgpLGw/Lih0aGlzKSx0aGlzLnVzZXJEYXRhPXt9LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuZGlzcGF0Y2hTY3JvbGxlbmRFdmVudCgpfSksdGhpcy5wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50KCkpfX0pfX19cHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudCgpe3RoaXMuX3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5fcHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudD0hMX0pfWNoZWNrTmVzdGVkU2Nyb2xsKGUse2RlbHRhWDp0LGRlbHRhWTpyfSl7bGV0IGE9RGF0ZS5ub3coKSxpPWUuX2xlbmlzPz89e30sbixzLG8sYyxsLHUsZCxoLG09dGhpcy5vcHRpb25zLmdlc3R1cmVPcmllbnRhdGlvbjtpZihhLShpLnRpbWU/PzApPjJlMyl7aS50aW1lPURhdGUubm93KCk7bGV0IEM9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSk7aS5jb21wdXRlZFN0eWxlPUM7bGV0IFM9Qy5vdmVyZmxvd1gsTz1DLm92ZXJmbG93WTtpZihuPVsiYXV0byIsIm92ZXJsYXkiLCJzY3JvbGwiXS5pbmNsdWRlcyhTKSxzPVsiYXV0byIsIm92ZXJsYXkiLCJzY3JvbGwiXS5pbmNsdWRlcyhPKSxpLmhhc092ZXJmbG93WD1uLGkuaGFzT3ZlcmZsb3dZPXMsIW4mJiFzfHxtPT09InZlcnRpY2FsIiYmIXN8fG09PT0iaG9yaXpvbnRhbCImJiFuKXJldHVybiExO2w9ZS5zY3JvbGxXaWR0aCx1PWUuc2Nyb2xsSGVpZ2h0LGQ9ZS5jbGllbnRXaWR0aCxoPWUuY2xpZW50SGVpZ2h0LG89bD5kLGM9dT5oLGkuaXNTY3JvbGxhYmxlWD1vLGkuaXNTY3JvbGxhYmxlWT1jLGkuc2Nyb2xsV2lkdGg9bCxpLnNjcm9sbEhlaWdodD11LGkuY2xpZW50V2lkdGg9ZCxpLmNsaWVudEhlaWdodD1ofWVsc2Ugbz1pLmlzU2Nyb2xsYWJsZVgsYz1pLmlzU2Nyb2xsYWJsZVksbj1pLmhhc092ZXJmbG93WCxzPWkuaGFzT3ZlcmZsb3dZLGw9aS5zY3JvbGxXaWR0aCx1PWkuc2Nyb2xsSGVpZ2h0LGQ9aS5jbGllbnRXaWR0aCxoPWkuY2xpZW50SGVpZ2h0O2lmKCFuJiYhc3x8IW8mJiFjfHxtPT09InZlcnRpY2FsIiYmKCFzfHwhYyl8fG09PT0iaG9yaXpvbnRhbCImJighbnx8IW8pKXJldHVybiExO2xldCB2O2lmKG09PT0iaG9yaXpvbnRhbCIpdj0ieCI7ZWxzZSBpZihtPT09InZlcnRpY2FsIil2PSJ5IjtlbHNle2xldCBDPXQhPT0wLFM9ciE9PTA7QyYmbiYmbyYmKHY9IngiKSxTJiZzJiZjJiYodj0ieSIpfWlmKCF2KXJldHVybiExO2xldCBiLGcseSx3LGs7aWYodj09PSJ4IiliPWUuc2Nyb2xsTGVmdCxnPWwtZCx5PXQsdz1uLGs9bztlbHNlIGlmKHY9PT0ieSIpYj1lLnNjcm9sbFRvcCxnPXUtaCx5PXIsdz1zLGs9YztlbHNlIHJldHVybiExO3JldHVybih5PjA/YjxnOmI+MCkmJncmJmt9Z2V0IHJvb3RFbGVtZW50KCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cmFwcGVyPT09d2luZG93P2RvY3VtZW50LmRvY3VtZW50RWxlbWVudDp0aGlzLm9wdGlvbnMud3JhcHBlcn1nZXQgbGltaXQoKXtyZXR1cm4gdGhpcy5vcHRpb25zLm5haXZlRGltZW5zaW9ucz90aGlzLmlzSG9yaXpvbnRhbD90aGlzLnJvb3RFbGVtZW50LnNjcm9sbFdpZHRoLXRoaXMucm9vdEVsZW1lbnQuY2xpZW50V2lkdGg6dGhpcy5yb290RWxlbWVudC5zY3JvbGxIZWlnaHQtdGhpcy5yb290RWxlbWVudC5jbGllbnRIZWlnaHQ6dGhpcy5kaW1lbnNpb25zLmxpbWl0W3RoaXMuaXNIb3Jpem9udGFsPyJ4IjoieSJdfWdldCBpc0hvcml6b250YWwoKXtyZXR1cm4gdGhpcy5vcHRpb25zLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwifWdldCBhY3R1YWxTY3JvbGwoKXtsZXQgZT10aGlzLm9wdGlvbnMud3JhcHBlcjtyZXR1cm4gdGhpcy5pc0hvcml6b250YWw/ZS5zY3JvbGxYPz9lLnNjcm9sbExlZnQ6ZS5zY3JvbGxZPz9lLnNjcm9sbFRvcH1nZXQgc2Nyb2xsKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5pbmZpbml0ZT9zR3IodGhpcy5hbmltYXRlZFNjcm9sbCx0aGlzLmxpbWl0KTp0aGlzLmFuaW1hdGVkU2Nyb2xsfWdldCBwcm9ncmVzcygpe3JldHVybiB0aGlzLmxpbWl0PT09MD8xOnRoaXMuc2Nyb2xsL3RoaXMubGltaXR9Z2V0IGlzU2Nyb2xsaW5nKCl7cmV0dXJuIHRoaXMuX2lzU2Nyb2xsaW5nfXNldCBpc1Njcm9sbGluZyhlKXt0aGlzLl9pc1Njcm9sbGluZyE9PWUmJih0aGlzLl9pc1Njcm9sbGluZz1lLHRoaXMudXBkYXRlQ2xhc3NOYW1lKCkpfWdldCBpc1N0b3BwZWQoKXtyZXR1cm4gdGhpcy5faXNTdG9wcGVkfXNldCBpc1N0b3BwZWQoZSl7dGhpcy5faXNTdG9wcGVkIT09ZSYmKHRoaXMuX2lzU3RvcHBlZD1lLHRoaXMudXBkYXRlQ2xhc3NOYW1lKCkpfWdldCBpc0xvY2tlZCgpe3JldHVybiB0aGlzLl9pc0xvY2tlZH1zZXQgaXNMb2NrZWQoZSl7dGhpcy5faXNMb2NrZWQhPT1lJiYodGhpcy5faXNMb2NrZWQ9ZSx0aGlzLnVwZGF0ZUNsYXNzTmFtZSgpKX1nZXQgaXNTbW9vdGgoKXtyZXR1cm4gdGhpcy5pc1Njcm9sbGluZz09PSJzbW9vdGgifWdldCBjbGFzc05hbWUoKXtsZXQgZT0ibGVuaXMiO3JldHVybiB0aGlzLm9wdGlvbnMuYXV0b1RvZ2dsZSYmKGUrPSIgbGVuaXMtYXV0b1RvZ2dsZSIpLHRoaXMuaXNTdG9wcGVkJiYoZSs9IiBsZW5pcy1zdG9wcGVkIiksdGhpcy5pc0xvY2tlZCYmKGUrPSIgbGVuaXMtbG9ja2VkIiksdGhpcy5pc1Njcm9sbGluZyYmKGUrPSIgbGVuaXMtc2Nyb2xsaW5nIiksdGhpcy5pc1Njcm9sbGluZz09PSJzbW9vdGgiJiYoZSs9IiBsZW5pcy1zbW9vdGgiKSxlfXVwZGF0ZUNsYXNzTmFtZSgpe3RoaXMuY2xlYW5VcENsYXNzTmFtZSgpLHRoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lPWAke3RoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lfSAke3RoaXMuY2xhc3NOYW1lfWAudHJpbSgpfWNsZWFuVXBDbGFzc05hbWUoKXt0aGlzLnJvb3RFbGVtZW50LmNsYXNzTmFtZT10aGlzLnJvb3RFbGVtZW50LmNsYXNzTmFtZS5yZXBsYWNlKC9sZW5pcygtXHcrKT8vZywiIikudHJpbSgpfX19KTt2YXIgWWllPWplKChXaWUsR2llKT0+eyhmdW5jdGlvbihlLHQpe3R5cGVvZiBXaWU9PSJvYmplY3QiJiZ0eXBlb2YgR2llPCJ1Ij9HaWUuZXhwb3J0cz10KCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9ZXx8c2VsZixlLlN3ZWV0U2Nyb2xsPXQoKSl9KShXaWUsZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4gZT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbigkKXtmb3IodmFyIGosSD0xLFk9YXJndW1lbnRzLmxlbmd0aDtIPFk7SCsrKXtqPWFyZ3VtZW50c1tIXTtmb3IodmFyIGRlIGluIGopT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGosZGUpJiYoJFtkZV09altkZV0pfXJldHVybiAkfSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdD0hISh0eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93LmRvY3VtZW50JiZ3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCkscj10P3dpbmRvdy5oaXN0b3J5JiYicHVzaFN0YXRlImluIHdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cubG9jYXRpb24ucHJvdG9jb2whPT0iZmlsZToiOiExLGE9KGZ1bmN0aW9uKCl7dmFyIEE9ITE7aWYoIXQpcmV0dXJuIEE7dHJ5e3ZhciAkPXdpbmRvdyxqPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0E9ITB9fSk7JC5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLGopLCQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCxqKX1jYXRjaHt9cmV0dXJuIEF9KSgpLGk9ZnVuY3Rpb24oQSl7cmV0dXJuIHR5cGVvZiBBPT0ic3RyaW5nIn0sbj1mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIEE9PSJmdW5jdGlvbiJ9LHM9ZnVuY3Rpb24oQSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoQSl9LG89ZnVuY3Rpb24oQSl7cmV0dXJuIXMoQSkmJkEtcGFyc2VGbG9hdChBKSsxPj0wfSxjPWZ1bmN0aW9uKEEsJCl7cmV0dXJuIEEmJkEuaGFzT3duUHJvcGVydHkoJCl9LGw9dD93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpudWxsLHU9dD93aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOm51bGwsZD1NYXRoLmNvcyxoPU1hdGguc2luLG09TWF0aC5wb3csdj1NYXRoLnNxcnQsYj1NYXRoLlBJLGc9e2xpbmVhcjpmdW5jdGlvbihBKXtyZXR1cm4gQX0sZWFzZUluUXVhZDpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybiBIKigkLz1ZKSokK2p9LGVhc2VPdXRRdWFkOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuLUgqKCQvPVkpKigkLTIpK2p9LGVhc2VJbk91dFF1YWQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4oJC89WS8yKTwxP0gvMiokKiQrajotSC8yKigtLSQqKCQtMiktMSkran0sZWFzZUluQ3ViaWM6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCooJC89WSkqJCokK2p9LGVhc2VPdXRDdWJpYzpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybiBIKigoJD0kL1ktMSkqJCokKzEpK2p9LGVhc2VJbk91dEN1YmljOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuKCQvPVkvMik8MT9ILzIqJCokKiQrajpILzIqKCgkLT0yKSokKiQrMikran0sZWFzZUluUXVhcnQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCooJC89WSkqJCokKiQran0sZWFzZU91dFF1YXJ0OmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuLUgqKCgkPSQvWS0xKSokKiQqJC0xKStqfSxlYXNlSW5PdXRRdWFydDpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybigkLz1ZLzIpPDE/SC8yKiQqJCokKiQrajotSC8yKigoJC09MikqJCokKiQtMikran0sZWFzZUluUXVpbnQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCooJC89WSkqJCokKiQqJCtqfSxlYXNlT3V0UXVpbnQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCooKCQ9JC9ZLTEpKiQqJCokKiQrMSkran0sZWFzZUluT3V0UXVpbnQ6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4oJC89WS8yKTwxP0gvMiokKiQqJCokKiQrajpILzIqKCgkLT0yKSokKiQqJCokKzIpK2p9LGVhc2VJblNpbmU6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4tSCpkKCQvWSooYi8yKSkrSCtqfSxlYXNlT3V0U2luZTpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybiBIKmgoJC9ZKihiLzIpKStqfSxlYXNlSW5PdXRTaW5lOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuLUgvMiooZChiKiQvWSktMSkran0sZWFzZUluRXhwbzpmdW5jdGlvbihBLCQsaixILFkpe3JldHVybiAkPT09MD9qOkgqbSgyLDEwKigkL1ktMSkpK2p9LGVhc2VPdXRFeHBvOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuICQ9PT1ZP2orSDpIKigtbSgyLC0xMCokL1kpKzEpK2p9LGVhc2VJbk91dEV4cG86ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gJD09PTA/ajokPT09WT9qK0g6KCQvPVkvMik8MT9ILzIqbSgyLDEwKigkLTEpKStqOkgvMiooLW0oMiwtMTAqLS0kKSsyKStqfSxlYXNlSW5DaXJjOmZ1bmN0aW9uKEEsJCxqLEgsWSl7cmV0dXJuLUgqKHYoMS0oJC89WSkqJCktMSkran0sZWFzZU91dENpcmM6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4gSCp2KDEtKCQ9JC9ZLTEpKiQpK2p9LGVhc2VJbk91dENpcmM6ZnVuY3Rpb24oQSwkLGosSCxZKXtyZXR1cm4oJC89WS8yKTwxPy1ILzIqKHYoMS0kKiQpLTEpK2o6SC8yKih2KDEtKCQtPTIpKiQpKzEpK2p9fSx5PWZ1bmN0aW9uKEEpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChBP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoQSk6W10pfSx3PWZ1bmN0aW9uKEEpe3JldHVybiB5KEEpLnNoaWZ0KCl8fG51bGx9LGs9ZnVuY3Rpb24oQSl7cmV0dXJuIEEgaW5zdGFuY2VvZiBFbGVtZW50fSxSPWZ1bmN0aW9uKEEpe3JldHVybiBBPT09d2luZG93fSxDPWZ1bmN0aW9uKEEpe3JldHVybiBBPT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fHxBPT09ZG9jdW1lbnQuYm9keX0sUz1mdW5jdGlvbihBLCQpe2lmKGsoJCkpcmV0dXJuIEE9PT0kO2Zvcih2YXIgaj15KCQpLEg9ai5sZW5ndGg7LS1IPj0wJiZqW0hdIT09QTspO3JldHVybiBIPi0xfSxPPWZ1bmN0aW9uKEEpe3JldHVybiBNYXRoLm1heChBLnNjcm9sbEhlaWdodCxBLmNsaWVudEhlaWdodCxBLm9mZnNldEhlaWdodCl9LEQ9ZnVuY3Rpb24oQSl7cmV0dXJuIE1hdGgubWF4KEEuc2Nyb2xsV2lkdGgsQS5jbGllbnRXaWR0aCxBLm9mZnNldFdpZHRoKX0sTj1mdW5jdGlvbihBKXtyZXR1cm57d2lkdGg6RChBKSxoZWlnaHQ6TyhBKX19LHE9ZnVuY3Rpb24oQSl7dmFyICQ9UihBKXx8QyhBKTtyZXR1cm57dmlld3BvcnQ6e3dpZHRoOiQ/TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKTpBLmNsaWVudFdpZHRoLGhlaWdodDokP3dpbmRvdy5pbm5lckhlaWdodDpBLmNsaWVudEhlaWdodH0sc2l6ZTokP3t3aWR0aDpNYXRoLm1heChEKGRvY3VtZW50LmJvZHkpLEQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSksaGVpZ2h0Ok1hdGgubWF4KE8oZG9jdW1lbnQuYm9keSksTyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKX06TihBKX19LF89e3k6InNjcm9sbFRvcCIseDoic2Nyb2xsTGVmdCJ9LHo9e3k6InBhZ2VZT2Zmc2V0Iix4OiJwYWdlWE9mZnNldCJ9LEU9ZnVuY3Rpb24oQSwkKXtyZXR1cm4gUihBKT9BW3pbJF1dOkFbX1skXV19LFQ9ZnVuY3Rpb24oQSwkLGope2lmKFIoQSkpe3ZhciBIPWo9PT0ieSI7QS5zY3JvbGxUbyhIP0EucGFnZVhPZmZzZXQ6JCxIPyQ6QS5wYWdlWU9mZnNldCl9ZWxzZSBBW19bal1dPSR9LEw9ZnVuY3Rpb24oQSwkKXt2YXIgaj1BLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGoud2lkdGh8fGouaGVpZ2h0KXt2YXIgSD17dG9wOjAsbGVmdDowfSxZPXZvaWQgMDtpZihSKCQpfHxDKCQpKVk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LEgudG9wPXdpbmRvd1t6LnldLEgubGVmdD13aW5kb3dbei54XTtlbHNle1k9JDt2YXIgZGU9WS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtILnRvcD1kZS50b3AqLTErWVtfLnldLEgubGVmdD1kZS5sZWZ0Ki0xK1lbXy54XX1yZXR1cm57dG9wOmoudG9wK0gudG9wLVkuY2xpZW50VG9wLGxlZnQ6ai5sZWZ0K0gubGVmdC1ZLmNsaWVudExlZnR9fXJldHVybiBqfSxWPShmdW5jdGlvbigpe3JldHVybiB0PyJvbndoZWVsImluIGRvY3VtZW50PyJ3aGVlbCI6Im1vdXNld2hlZWwiOiJ3aGVlbCJ9KSgpLEI9ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT0id2hlZWwiP1Y6QX0sVT1mdW5jdGlvbihBLCQsaixILFkpe2ouc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKGRlKXtBWyRdKEIoZGUpLEgsYT97cGFzc2l2ZTpZfTohMSl9KX0sSz1mdW5jdGlvbihBLCQsaixIKXtyZXR1cm4gVShBLCJhZGRFdmVudExpc3RlbmVyIiwkLGosSCl9LEk9ZnVuY3Rpb24oQSwkLGosSCl7cmV0dXJuIFUoQSwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsJCxqLEgpfSx2ZT0vXihcK3wtKT0oXGQrKD86XC5cZCspPykkLyxNZT1mdW5jdGlvbihBLCQpe3ZhciBqPXt0b3A6MCxsZWZ0OjAscmVsYXRpdmU6ITF9O2lmKGMoQSwidG9wIil8fGMoQSwibGVmdCIpKWo9ZSh7fSxqLEEpO2Vsc2UgaWYocyhBKSlpZihBLmxlbmd0aD4xKWoudG9wPUFbMF0sai5sZWZ0PUFbMV07ZWxzZSBpZihBLmxlbmd0aD09PTEpai50b3A9JD9BWzBdOjAsai5sZWZ0PSQ/MDpBWzBdO2Vsc2UgcmV0dXJuIG51bGw7ZWxzZSBpZihvKEEpKSQ/ai50b3A9QTpqLmxlZnQ9QTtlbHNlIGlmKGkoQSkpe3ZhciBIPUEudHJpbSgpLm1hdGNoKHZlKTtpZighSClyZXR1cm4gbnVsbDt2YXIgWT1IWzFdLGRlPXBhcnNlSW50KEhbMl0sMTApO1k9PT0iKyI/KGoudG9wPSQ/ZGU6MCxqLmxlZnQ9JD8wOmRlKTooai50b3A9JD8tZGU6MCxqLmxlZnQ9JD8wOi1kZSksai5yZWxhdGl2ZT0hMH1lbHNlIHJldHVybiBudWxsO3JldHVybiBqfSxQPXt0cmlnZ2VyOiJbZGF0YS1zY3JvbGxdIixoZWFkZXI6IltkYXRhLXNjcm9sbC1oZWFkZXJdIixkdXJhdGlvbjoxZTMsZWFzaW5nOiJlYXNlT3V0UXVpbnQiLG9mZnNldDowLHZlcnRpY2FsOiEwLGhvcml6b250YWw6ITEsY2FuY2VsbGFibGU6ITAsdXBkYXRlVVJMOiExLHByZXZlbnREZWZhdWx0OiEwLHN0b3BQcm9wYWdhdGlvbjohMCxiZWZvcmU6bnVsbCxhZnRlcjpudWxsLGNhbmNlbDpudWxsLGNvbXBsZXRlOm51bGwsc3RlcDpudWxsfSxsZT0iY2xpY2siLFNlPSJ3aGVlbCB0b3VjaHN0YXJ0IHRvdWNobW92ZSIsWj0oZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCQsail7dmFyIEg9dGhpczt0aGlzLiRlbD1udWxsLHRoaXMuY3R4PXskdHJpZ2dlcjpudWxsLG9wdHM6bnVsbCxwcm9ncmVzczohMSxwb3M6bnVsbCxzdGFydFBvczpudWxsLGVhc2luZzpudWxsLHN0YXJ0OjAsaWQ6MCxjYW5jZWw6ITEsaGFzaDpudWxsfSx0aGlzLmxvb3A9ZnVuY3Rpb24oZGUpe3ZhciB3ZT1ILExlPXdlLiRlbCxHPXdlLmN0eDtpZihHLnN0YXJ0fHwoRy5zdGFydD1kZSksIUcucHJvZ3Jlc3N8fCFMZSl7SC5zdG9wKCk7cmV0dXJufXZhciBXPUcub3B0cyxhZT1HLnBvcyx5ZT1HLnN0YXJ0LG1lPUcuc3RhcnRQb3MsQ2U9Ry5lYXNpbmcsYmU9Vy5kdXJhdGlvbixuZT17dG9wOiJ5IixsZWZ0OiJ4In0semU9ZGUteWUsSWU9TWF0aC5taW4oMSxNYXRoLm1heCh6ZS9iZSwwKSk7T2JqZWN0LmtleXMoYWUpLmZvckVhY2goZnVuY3Rpb24oWmUpe3ZhciB0ZT1hZVtaZV0sWD1tZVtaZV0sZWU9dGUtWDtpZihlZSE9PTApe3ZhciB4ZT1DZShJZSxiZSpJZSwwLDEsYmUpO1QoTGUsTWF0aC5yb3VuZChYK2VlKnhlKSxuZVtaZV0pfX0pLHplPD1iZT8oSC5ob29rKFcsInN0ZXAiLEllKSxHLmlkPUEucmFmKEgubG9vcCkpOkguc3RvcCghMCl9LHRoaXMuaGFuZGxlQ2xpY2s9ZnVuY3Rpb24oZGUpe2Zvcih2YXIgd2U9SC5vcHRzLExlPWRlLnRhcmdldDtMZSYmTGUhPT1kb2N1bWVudDtMZT1MZS5wYXJlbnROb2RlKWlmKFMoTGUsd2UudHJpZ2dlcikpe3ZhciBHPUpTT04ucGFyc2UoTGUuZ2V0QXR0cmlidXRlKCJkYXRhLXNjcm9sbC1vcHRpb25zIil8fCJ7fSIpLFc9TGUuZ2V0QXR0cmlidXRlKCJkYXRhLXNjcm9sbCIpLGFlPVd8fExlLmdldEF0dHJpYnV0ZSgiaHJlZiIpLHllPWUoe30sd2UsRyksbWU9eWUucHJldmVudERlZmF1bHQsQ2U9eWUuc3RvcFByb3BhZ2F0aW9uLGJlPXllLnZlcnRpY2FsLG5lPXllLmhvcml6b250YWw7bWUmJmRlLnByZXZlbnREZWZhdWx0KCksQ2UmJmRlLnN0b3BQcm9wYWdhdGlvbigpLEguY3R4LiR0cmlnZ2VyPUxlLG5lJiZiZT9ILnRvKGFlLHllKTpiZT9ILnRvVG9wKGFlLHllKTpuZSYmSC50b0xlZnQoYWUseWUpO2JyZWFrfX0sdGhpcy5oYW5kbGVTdG9wPWZ1bmN0aW9uKGRlKXt2YXIgd2U9SC5jdHgsTGU9d2Uub3B0cztMZSYmTGUuY2FuY2VsbGFibGU/KHdlLmNhbmNlbD0hMCxILnN0b3AoKSk6ZGUucHJldmVudERlZmF1bHQoKX0sdGhpcy5vcHRzPWUoe30sUCwkfHx7fSk7dmFyIFk9bnVsbDt0JiYodHlwZW9mIGo9PSJzdHJpbmciP1k9dyhqKTpqIT1udWxsP1k9ajpZPXdpbmRvdyksdGhpcy4kZWw9WSxZJiZ0aGlzLmJpbmQoITAsITEpfXJldHVybiBBLmNyZWF0ZT1mdW5jdGlvbigkLGope3JldHVybiBuZXcgQSgkLGopfSxBLnByb3RvdHlwZS50bz1mdW5jdGlvbigkLGope2lmKHQpe3ZhciBIPXRoaXMsWT1ILiRlbCxkZT1ILmN0eCx3ZT1ILm9wdHMsTGU9ZGUuJHRyaWdnZXIsRz1lKHt9LHdlLGp8fHt9KSxXPUcub2Zmc2V0LGFlPUcudmVydGljYWwseWU9Ry5ob3Jpem9udGFsLG1lPWsoRy5oZWFkZXIpP0cuaGVhZGVyOncoRy5oZWFkZXIpLENlPS9eIy8sYmU9aSgkKSYmQ2UudGVzdCgkKT8kOm51bGw7aWYoZGUub3B0cz1HLGRlLmNhbmNlbD0hMSxkZS5oYXNoPWJlLHRoaXMuc3RvcCgpLCEhWSl7dmFyIG5lPU1lKFcsYWUpLHplPU1lKCQsYWUpLEllPXt0b3A6MCxsZWZ0OjB9O2lmKHplKWlmKHplLnJlbGF0aXZlKXt2YXIgWmU9RShZLGFlPyJ5IjoieCIpO0llLnRvcD1hZT9aZSt6ZS50b3A6emUudG9wLEllLmxlZnQ9YWU/emUubGVmdDpaZSt6ZS5sZWZ0fWVsc2UgSWU9emU7ZWxzZSBpZihpKCQpJiYkIT09IiMiKXt2YXIgdGU9dygkKTtpZighdGUpcmV0dXJuO0llPUwodGUsWSl9bmUmJihJZS50b3ArPW5lLnRvcCxJZS5sZWZ0Kz1uZS5sZWZ0KSxtZSYmKEllLnRvcD1NYXRoLm1heCgwLEllLnRvcC1OKG1lKS5oZWlnaHQpKTt2YXIgWD1xKFkpLGVlPVgudmlld3BvcnQseGU9WC5zaXplO2lmKEllLnRvcD1hZT9NYXRoLm1heCgwLE1hdGgubWluKHhlLmhlaWdodC1lZS5oZWlnaHQsSWUudG9wKSk6RShZLCJ5IiksSWUubGVmdD15ZT9NYXRoLm1heCgwLE1hdGgubWluKHhlLndpZHRoLWVlLndpZHRoLEllLmxlZnQpKTpFKFksIngiKSx0aGlzLmhvb2soRywiYmVmb3JlIixJZSxMZSk9PT0hMSl7ZGUub3B0cz1udWxsO3JldHVybn1kZS5wb3M9SWUsdGhpcy5zdGFydChHKSx0aGlzLmJpbmQoITEsITApfX19LEEucHJvdG90eXBlLnRvVG9wPWZ1bmN0aW9uKCQsail7dGhpcy50bygkLGUoe30sanx8e30se3ZlcnRpY2FsOiEwLGhvcml6b250YWw6ITF9KSl9LEEucHJvdG90eXBlLnRvTGVmdD1mdW5jdGlvbigkLGope3RoaXMudG8oJCxlKHt9LGp8fHt9LHt2ZXJ0aWNhbDohMSxob3Jpem9udGFsOiEwfSkpfSxBLnByb3RvdHlwZS50b0VsZW1lbnQ9ZnVuY3Rpb24oJCxqKXt2YXIgSD10aGlzLiRlbDshdHx8IUh8fHRoaXMudG8oTCgkLEgpLGp8fHt9KX0sQS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigkKXskPT09dm9pZCAwJiYoJD0hMSk7dmFyIGo9dGhpcyxIPWouJGVsLFk9ai5jdHgsZGU9WS5wb3M7IUh8fCFZLnByb2dyZXNzfHwoQS5jYWYoWS5pZCksWS5wcm9ncmVzcz0hMSxZLnN0YXJ0PTAsWS5pZD0wLCQmJmRlJiYoVChILGRlLmxlZnQsIngiKSxUKEgsZGUudG9wLCJ5IikpLHRoaXMuY29tcGxldGUoKSl9LEEucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigkKXtpZih0aGlzLiRlbCl7dmFyIGo9ZSh7fSx0aGlzLm9wdHMsJCk7dGhpcy5zdG9wKCksdGhpcy51bmJpbmQoITAsITApLHRoaXMub3B0cz1qLHRoaXMuYmluZCghMCwhMSl9fSxBLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy4kZWwmJih0aGlzLnN0b3AoKSx0aGlzLnVuYmluZCghMCwhMCksdGhpcy4kZWw9bnVsbCl9LEEucHJvdG90eXBlLm9uQmVmb3JlPWZ1bmN0aW9uKCQsail7cmV0dXJuITB9LEEucHJvdG90eXBlLm9uU3RlcD1mdW5jdGlvbigkKXt9LEEucHJvdG90eXBlLm9uQWZ0ZXI9ZnVuY3Rpb24oJCxqKXt9LEEucHJvdG90eXBlLm9uQ2FuY2VsPWZ1bmN0aW9uKCl7fSxBLnByb3RvdHlwZS5vbkNvbXBsZXRlPWZ1bmN0aW9uKCQpe30sQS5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oJCl7dmFyIGo9dGhpcy5jdHg7ai5vcHRzPSQsai5wcm9ncmVzcz0hMCxqLmVhc2luZz1uKCQuZWFzaW5nKT8kLmVhc2luZzpnWyQuZWFzaW5nXTt2YXIgSD10aGlzLiRlbCxZPXt0b3A6RShILCJ5IiksbGVmdDpFKEgsIngiKX07ai5zdGFydFBvcz1ZLGouaWQ9QS5yYWYodGhpcy5sb29wKX0sQS5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgJD10aGlzLGo9JC4kZWwsSD0kLmN0eCxZPUguaGFzaCxkZT1ILmNhbmNlbCx3ZT1ILm9wdHMsTGU9SC5wb3MsRz1ILiR0cmlnZ2VyO2lmKCEoIWp8fCF3ZSkpe2lmKFkhPW51bGwmJlkhPT13aW5kb3cubG9jYXRpb24uaGFzaCl7dmFyIFc9d2UudXBkYXRlVVJMO3QmJnImJlchPT0hMSYmd2luZG93Lmhpc3RvcnlbVz09PSJyZXBsYWNlIj8icmVwbGFjZVN0YXRlIjoicHVzaFN0YXRlIl0obnVsbCwiIixZKX10aGlzLnVuYmluZCghMSwhMCksSC5vcHRzPW51bGwsSC4kdHJpZ2dlcj1udWxsLGRlP3RoaXMuaG9vayh3ZSwiY2FuY2VsIik6dGhpcy5ob29rKHdlLCJhZnRlciIsTGUsRyksdGhpcy5ob29rKHdlLCJjb21wbGV0ZSIsZGUpfX0sQS5wcm90b3R5cGUuaG9vaz1mdW5jdGlvbigkLGope2Zvcih2YXIgSD1bXSxZPTI7WTxhcmd1bWVudHMubGVuZ3RoO1krKylIW1ktMl09YXJndW1lbnRzW1ldO3ZhciBkZSx3ZT0kW2pdLExlLEc7cmV0dXJuIG4od2UpJiYoTGU9d2UuYXBwbHkodGhpcyxILmNvbmNhdChbdGhpc10pKSksRz0oZGU9dGhpcylbIm9uIisoalswXS50b1VwcGVyQ2FzZSgpK2ouc2xpY2UoMSkpXS5hcHBseShkZSxIKSxMZSE9PXZvaWQgMD9MZTpHfSxBLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCQsail7dmFyIEg9dGhpcyxZPUguJGVsLGRlPUguY3R4Lm9wdHM7WSYmKCQmJksoWSxsZSx0aGlzLmhhbmRsZUNsaWNrLCExKSxqJiZLKFksU2UsdGhpcy5oYW5kbGVTdG9wLGRlP2RlLmNhbmNlbGxhYmxlOiEwKSl9LEEucHJvdG90eXBlLnVuYmluZD1mdW5jdGlvbigkLGope3ZhciBIPXRoaXMsWT1ILiRlbCxkZT1ILmN0eC5vcHRzO1kmJigkJiZJKFksbGUsdGhpcy5oYW5kbGVDbGljaywhMSksaiYmSShZLFNlLHRoaXMuaGFuZGxlU3RvcCxkZT9kZS5jYW5jZWxsYWJsZTohMCkpfSxBLnJhZj1sLEEuY2FmPXUsQX0pKCk7cmV0dXJuIFp9KX0pO3ZhciBGJCxBZyxVOD1mKCgpPT57U1VlKCk7cTkoKTtJMigpO3M2KCk7aWllKCk7VWkoKTtwaWUoKTt5bygpO2dpZSgpO1Q5KCk7dmllKCk7S2V0KCk7RSQoKTtJOSgpO3RydCgpO3JydCgpO1VpZSgpO29ydCgpO0YkPXNyKFlpZSgpLDEpLEFnPXtPYmplY3RNYXA6UCQsU3RyaW5nbWFwOk4kLEZhc3RNYXA6Vjh9fSk7dmFyIHNsPXt9O1JlKHNsLHtjc3NGb3JEZXNrdG9wOigpPT51R3IsY3NzRm9yTm90ZWJvb2s6KCk9PnBHcixjc3NGb3JQaGFibGV0OigpPT5oR3IsY3NzRm9yUGhvbmU6KCk9Pm1Hcixjc3NGb3JUYWJsZXQ6KCk9PmZHcixkZXNrdG9wOigpPT5aaWUsbm90ZWJvb2s6KCk9PlhpZSxwaGFibGV0OigpPT5KaWUscGhvbmU6KCk9PktpZSx0YWJsZXQ6KCk9PlFpZX0pO3ZhciBaaWUsWGllLFFpZSxKaWUsS2llLHVHcixwR3IsZkdyLGhHcixtR3IsZW5lPWYoKCk9PntXOCgpO0QyKCk7WmllPTE2MDAsWGllPTEyNDAsUWllPTEwMjQsSmllPTYwMCxLaWU9NDAwLHVHcj1lPT53cihgCiAgICBAY29udGFpbmVyIHdjY1Rvb2xzVmlld3BvcnQgKG1pbi13aWR0aDogJHtaaWV9cHgpIHsKICAgICAgJHtlLmNzc1RleHR9CiAgICB9CiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtaaWV9cHgpIHsKICAgICAgJHtlLmNzc1RleHR9CiAgICB9CiAgYCkscEdyPWU9PndyKGAKICAgIEBjb250YWluZXIgd2NjVG9vbHNWaWV3cG9ydCAobWF4LXdpZHRoOiAke1hpZX1weCkgewogICAgICAke2UuY3NzVGV4dH0KICAgIH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiAke1hpZX1weCkgewogICAgICAke2UuY3NzVGV4dH0KICAgIH0KICBgKSxmR3I9ZT0+d3IoYAogICAgQGNvbnRhaW5lciB3Y2NUb29sc1ZpZXdwb3J0IChtYXgtd2lkdGg6ICR7UWllfXB4KSB7CiAgICAgICR7ZS5jc3NUZXh0fQogICAgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6ICR7UWllfXB4KSB7CiAgICAgICR7ZS5jc3NUZXh0fQogICAgfQogIGApLGhHcj1lPT53cihgCiAgICBAY29udGFpbmVyIHdjY1Rvb2xzVmlld3BvcnQgKG1heC13aWR0aDogJHtKaWV9cHgpIHsKICAgICAgJHtlLmNzc1RleHR9CiAgICB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogJHtKaWV9cHgpIHsKICAgICAgJHtlLmNzc1RleHR9CiAgICB9CiAgYCksbUdyPWU9PndyKGAKICAgIEBjb250YWluZXIgd2NjVG9vbHNWaWV3cG9ydCAobWF4LXdpZHRoOiAke0tpZX1weCkgewogICAgICAke2UuY3NzVGV4dH0KICAgIH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiAke0tpZX1weCkgewogICAgICAke2UuY3NzVGV4dH0KICAgIH0KICBgKX0pO3ZhciBSJCxscnQ9ZigoKT0+e1U4KCk7UiQ9Y2xhc3N7ZG9tdG9vbHNJbnN0YW5jZTtzY3JvbGxDYWxsYmFja3M9W107bGVuaXNJbnN0YW5jZT1udWxsO2hhbmRsZU5hdGl2ZVNjcm9sbD10PT57dGhpcy5leGVjdXRlU2Nyb2xsQ2FsbGJhY2tzKCl9O2hhbmRsZUxlbmlzU2Nyb2xsPXQ9Pnt0aGlzLmV4ZWN1dGVTY3JvbGxDYWxsYmFja3MoKX07Y29uc3RydWN0b3IodCl7dGhpcy5kb210b29sc0luc3RhbmNlPXQsdGhpcy5hdHRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpfXN3ZWV0U2Nyb2xsZXI9bmV3IEYkLmRlZmF1bHQoe30pO2FzeW5jIHRvRWxlbWVudCh0LHIpe3RoaXMuc3dlZXRTY3JvbGxlci50b0VsZW1lbnQodCxyKSxhd2FpdCBDdC5kZWxheUZvcihyLmR1cmF0aW9uKX1hc3luYyBkZXRlY3ROYXRpdmVTbW9vdGhTY3JvbGwoKXtsZXQgdD1LZS5kZWZlcigpLHI9MTAwLGE9MyxpPS43NSxuPVtdO2Z1bmN0aW9uIHMoYyl7bi5wdXNoKGMuZGVsdGFZKSxuLmxlbmd0aD49ciYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIscyksbygpKX1mdW5jdGlvbiBvKCl7bGV0IGM9bi5sZW5ndGgtMSxsPTA7Zm9yKGxldCBkPTA7ZDxjO2QrKylNYXRoLmFicyhuW2QrMV0tbltkXSk8PWEmJmwrKztsL2M+PWk/KGNvbnNvbGUubG9nKCJTbW9vdGggc2Nyb2xsaW5nIGRldGVjdGVkLiIpLHQucmVzb2x2ZSghMCkpOihjb25zb2xlLmxvZygiU21vb3RoIHNjcm9sbGluZyBOT1QgZGV0ZWN0ZWQuIiksdC5yZXNvbHZlKCExKSl9cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIscyksdC5wcm9taXNlfWFzeW5jIGVuYWJsZUxlbmlzU2Nyb2xsKHQpe2xldCByPW5ldyBEZyh7YXV0b1JhZjohMH0pO2lmKHQ/LmRpc2FibGVPbk5hdGl2ZVNtb290aFNjcm9sbCYmYXdhaXQgdGhpcy5kZXRlY3ROYXRpdmVTbW9vdGhTY3JvbGwoKSl7ci5kZXN0cm95KCk7cmV0dXJufXRoaXMubGVuaXNJbnN0YW5jZT1yLHRoaXMuZGV0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKSx0aGlzLmF0dGFjaExlbmlzU2Nyb2xsTGlzdGVuZXIoKTtsZXQgYT1yLmRlc3Ryb3kuYmluZChyKTtyLmRlc3Ryb3k9KCk9PnthKCksdGhpcy5kZXRhY2hMZW5pc1Njcm9sbExpc3RlbmVyKCksdGhpcy5hdHRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpLHRoaXMubGVuaXNJbnN0YW5jZT1udWxsfX1vblNjcm9sbCh0KXt0aGlzLnNjcm9sbENhbGxiYWNrcy5wdXNoKHQpfWV4ZWN1dGVTY3JvbGxDYWxsYmFja3MoKXt0aGlzLnNjcm9sbENhbGxiYWNrcy5mb3JFYWNoKHQ9Pnt0cnl7dCgpfWNhdGNoKHIpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGluIHNjcm9sbCBjYWxsYmFjazoiLHIpfX0pfWF0dGFjaE5hdGl2ZVNjcm9sbExpc3RlbmVyKCl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVOYXRpdmVTY3JvbGwpfWRldGFjaE5hdGl2ZVNjcm9sbExpc3RlbmVyKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVOYXRpdmVTY3JvbGwpfWF0dGFjaExlbmlzU2Nyb2xsTGlzdGVuZXIoKXt0aGlzLmxlbmlzSW5zdGFuY2UmJnRoaXMubGVuaXNJbnN0YW5jZS5vbigic2Nyb2xsIix0aGlzLmhhbmRsZUxlbmlzU2Nyb2xsKX1kZXRhY2hMZW5pc1Njcm9sbExpc3RlbmVyKCl7dGhpcy5sZW5pc0luc3RhbmNlJiZ0aGlzLmxlbmlzSW5zdGFuY2Uub2ZmKCJzY3JvbGwiLHRoaXMuaGFuZGxlTGVuaXNTY3JvbGwpfX19KTt2YXIgQiQsY3J0PWYoKCk9PntXOCgpO1U4KCk7QiQ9Y2xhc3N7ZG9tdG9vbHNSZWY7Z29CcmlnaHRCb29sZWFuPSExO3ByZWZlcnJlZENvbG9yU2NoZW1lTWVkaWFNYXRjaD13aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCkiKTt0aGVtZU9ic2VydmFibGU9bmV3IGFyLnJ4anMuUmVwbGF5U3ViamVjdCgxKTtjb25zdHJ1Y3Rvcih0KXt0aGlzLmRvbXRvb2xzUmVmPXQsdGhpcy5nb0JyaWdodEJvb2xlYW49dGhpcy5wcmVmZXJyZWRDb2xvclNjaGVtZU1lZGlhTWF0Y2gubWF0Y2hlcyx0aGlzLnByZWZlcnJlZENvbG9yU2NoZW1lTWVkaWFNYXRjaC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHI9Pnt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj1yLm1hdGNoZXMsdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfSksdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfWFzeW5jIGVuYWJsZUF1dG9tYXRpY0dsb2JhbFRoZW1lQ2hhbmdlKCl7ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYm9keS5zdHlsZSYmdGhpcy50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKHtuZXh0OnQ9Pntkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmQ9dD8iI2ZmZiI6IiMwMDAifX0pfWFzeW5jIHVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl7dGhpcy50aGVtZU9ic2VydmFibGUubmV4dCh0aGlzLmdvQnJpZ2h0Qm9vbGVhbil9Z29CcmlnaHQoKXt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj0hMCx0aGlzLnVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl9Z29EYXJrKCl7dGhpcy5nb0JyaWdodEJvb2xlYW49ITEsdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfXRvZ2dsZURhcmtCcmlnaHQoKXt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj0hdGhpcy5nb0JyaWdodEJvb2xlYW4sdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfX19KTt2YXIgdG5lLEgkLGRydD1mKCgpPT57VTgoKTsoZnVuY3Rpb24oZSl7ZVtlLkJhY2tzcGFjZT04XT0iQmFja3NwYWNlIixlW2UuVGFiPTldPSJUYWIiLGVbZS5FbnRlcj0xM109IkVudGVyIixlW2UuU2hpZnQ9MTZdPSJTaGlmdCIsZVtlLkN0cmw9MTddPSJDdHJsIixlW2UuQWx0PTE4XT0iQWx0IixlW2UuUGF1c2VCcmVhaz0xOV09IlBhdXNlQnJlYWsiLGVbZS5DYXBzTG9jaz0yMF09IkNhcHNMb2NrIixlW2UuRXNjYXBlPTI3XT0iRXNjYXBlIixlW2UuU3BhY2U9MzJdPSJTcGFjZSIsZVtlLlBhZ2VVcD0zM109IlBhZ2VVcCIsZVtlLlBhZ2VEb3duPTM0XT0iUGFnZURvd24iLGVbZS5FbmQ9MzVdPSJFbmQiLGVbZS5Ib21lPTM2XT0iSG9tZSIsZVtlLkxlZnRBcnJvdz0zN109IkxlZnRBcnJvdyIsZVtlLlVwQXJyb3c9MzhdPSJVcEFycm93IixlW2UuUmlnaHRBcnJvdz0zOV09IlJpZ2h0QXJyb3ciLGVbZS5Eb3duQXJyb3c9NDBdPSJEb3duQXJyb3ciLGVbZS5JbnNlcnQ9NDVdPSJJbnNlcnQiLGVbZS5EZWxldGU9NDZdPSJEZWxldGUiLGVbZS5aZXJvPTQ4XT0iWmVybyIsZVtlLkNsb3NlZFBhcmVuPTQ4XT0iQ2xvc2VkUGFyZW4iLGVbZS5PbmU9NDldPSJPbmUiLGVbZS5FeGNsYW1hdGlvbk1hcms9NDldPSJFeGNsYW1hdGlvbk1hcmsiLGVbZS5Ud289NTBdPSJUd28iLGVbZS5BdFNpZ249NTBdPSJBdFNpZ24iLGVbZS5UaHJlZT01MV09IlRocmVlIixlW2UuUG91bmRTaWduPTUxXT0iUG91bmRTaWduIixlW2UuSGFzaD01MV09Ikhhc2giLGVbZS5Gb3VyPTUyXT0iRm91ciIsZVtlLkRvbGxhclNpZ249NTJdPSJEb2xsYXJTaWduIixlW2UuRml2ZT01M109IkZpdmUiLGVbZS5QZXJjZW50U2lnbj01M109IlBlcmNlbnRTaWduIixlW2UuU2l4PTU0XT0iU2l4IixlW2UuQ2FyZXQ9NTRdPSJDYXJldCIsZVtlLkhhdD01NF09IkhhdCIsZVtlLlNldmVuPTU1XT0iU2V2ZW4iLGVbZS5BbXBlcnNhbmQ9NTVdPSJBbXBlcnNhbmQiLGVbZS5FaWdodD01Nl09IkVpZ2h0IixlW2UuU3Rhcj01Nl09IlN0YXIiLGVbZS5Bc3RlcmlrPTU2XT0iQXN0ZXJpayIsZVtlLk5pbmU9NTddPSJOaW5lIixlW2UuT3BlblBhcmVuPTU3XT0iT3BlblBhcmVuIixlW2UuQT02NV09IkEiLGVbZS5CPTY2XT0iQiIsZVtlLkM9NjddPSJDIixlW2UuRD02OF09IkQiLGVbZS5FPTY5XT0iRSIsZVtlLkY9NzBdPSJGIixlW2UuRz03MV09IkciLGVbZS5IPTcyXT0iSCIsZVtlLkk9NzNdPSJJIixlW2UuSj03NF09IkoiLGVbZS5LPTc1XT0iSyIsZVtlLkw9NzZdPSJMIixlW2UuTT03N109Ik0iLGVbZS5OPTc4XT0iTiIsZVtlLk89NzldPSJPIixlW2UuUD04MF09IlAiLGVbZS5RPTgxXT0iUSIsZVtlLlI9ODJdPSJSIixlW2UuUz04M109IlMiLGVbZS5UPTg0XT0iVCIsZVtlLlU9ODVdPSJVIixlW2UuVj04Nl09IlYiLGVbZS5XPTg3XT0iVyIsZVtlLlg9ODhdPSJYIixlW2UuWT04OV09IlkiLGVbZS5aPTkwXT0iWiIsZVtlLkxlZnRXaW5kb3dLZXk9OTFdPSJMZWZ0V2luZG93S2V5IixlW2UuUmlnaHRXaW5kb3dLZXk9OTJdPSJSaWdodFdpbmRvd0tleSIsZVtlLlNlbGVjdEtleT05M109IlNlbGVjdEtleSIsZVtlLk51bXBhZDA9OTZdPSJOdW1wYWQwIixlW2UuTnVtcGFkMT05N109Ik51bXBhZDEiLGVbZS5OdW1wYWQyPTk4XT0iTnVtcGFkMiIsZVtlLk51bXBhZDM9OTldPSJOdW1wYWQzIixlW2UuTnVtcGFkND0xMDBdPSJOdW1wYWQ0IixlW2UuTnVtcGFkNT0xMDFdPSJOdW1wYWQ1IixlW2UuTnVtcGFkNj0xMDJdPSJOdW1wYWQ2IixlW2UuTnVtcGFkNz0xMDNdPSJOdW1wYWQ3IixlW2UuTnVtcGFkOD0xMDRdPSJOdW1wYWQ4IixlW2UuTnVtcGFkOT0xMDVdPSJOdW1wYWQ5IixlW2UuTXVsdGlwbHk9MTA2XT0iTXVsdGlwbHkiLGVbZS5BZGQ9MTA3XT0iQWRkIixlW2UuU3VidHJhY3Q9MTA5XT0iU3VidHJhY3QiLGVbZS5EZWNpbWFsUG9pbnQ9MTEwXT0iRGVjaW1hbFBvaW50IixlW2UuRGl2aWRlPTExMV09IkRpdmlkZSIsZVtlLkYxPTExMl09IkYxIixlW2UuRjI9MTEzXT0iRjIiLGVbZS5GMz0xMTRdPSJGMyIsZVtlLkY0PTExNV09IkY0IixlW2UuRjU9MTE2XT0iRjUiLGVbZS5GNj0xMTddPSJGNiIsZVtlLkY3PTExOF09IkY3IixlW2UuRjg9MTE5XT0iRjgiLGVbZS5GOT0xMjBdPSJGOSIsZVtlLkYxMD0xMjFdPSJGMTAiLGVbZS5GMTE9MTIyXT0iRjExIixlW2UuRjEyPTEyM109IkYxMiIsZVtlLk51bUxvY2s9MTQ0XT0iTnVtTG9jayIsZVtlLlNjcm9sbExvY2s9MTQ1XT0iU2Nyb2xsTG9jayIsZVtlLlNlbWlDb2xvbj0xODZdPSJTZW1pQ29sb24iLGVbZS5FcXVhbHM9MTg3XT0iRXF1YWxzIixlW2UuQ29tbWE9MTg4XT0iQ29tbWEiLGVbZS5EYXNoPTE4OV09IkRhc2giLGVbZS5QZXJpb2Q9MTkwXT0iUGVyaW9kIixlW2UuVW5kZXJTY29yZT0xODldPSJVbmRlclNjb3JlIixlW2UuUGx1c1NpZ249MTg3XT0iUGx1c1NpZ24iLGVbZS5Gb3J3YXJkU2xhc2g9MTkxXT0iRm9yd2FyZFNsYXNoIixlW2UuVGlsZGU9MTkyXT0iVGlsZGUiLGVbZS5HcmF2ZUFjY2VudD0xOTJdPSJHcmF2ZUFjY2VudCIsZVtlLk9wZW5CcmFja2V0PTIxOV09Ik9wZW5CcmFja2V0IixlW2UuQ2xvc2VkQnJhY2tldD0yMjFdPSJDbG9zZWRCcmFja2V0IixlW2UuUXVvdGU9MjIyXT0iUXVvdGUifSkodG5lfHwodG5lPXt9KSk7SCQ9Y2xhc3N7ZG9tTm9kZTttYXBDb21ib3NUb0hhbmRsZXJzPW5ldyBNYXA7cHJlc3NlZEtleXM9bmV3IFNldDtjb25zdHJ1Y3Rvcih0KXt0aGlzLmRvbU5vZGU9dCx0aGlzLnN0YXJ0TGlzdGVuaW5nKCl9a2V5RW51bT10bmU7b24odCl7bGV0IHI9bmV3IGFyLnJ4anMuU3ViamVjdDtyZXR1cm4gdGhpcy5yZWdpc3RlcktleXModCxyKSxyfXRyaWdnZXJLZXlQcmVzcyh0KXtmb3IobGV0IHIgb2YgdCl0aGlzLnByZXNzZWRLZXlzLmFkZChyKTt0aGlzLmNoZWNrTWF0Y2hpbmdLZXlib2FyZFN1YmplY3RzKCk7Zm9yKGxldCByIG9mIHQpdGhpcy5wcmVzc2VkS2V5cy5kZWxldGUocil9c3RhcnRMaXN0ZW5pbmcoKXt0aGlzLmRvbU5vZGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlEb3duKSx0aGlzLmRvbU5vZGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuaGFuZGxlS2V5VXApfXN0b3BMaXN0ZW5pbmcoKXt0aGlzLmRvbU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlEb3duKSx0aGlzLmRvbU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuaGFuZGxlS2V5VXApfWNsZWFyKCl7dGhpcy5zdG9wTGlzdGVuaW5nKCksdGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmNsZWFyKCksdGhpcy5wcmVzc2VkS2V5cy5jbGVhcigpfWhhbmRsZUtleURvd249dD0+e3RoaXMucHJlc3NlZEtleXMuYWRkKHQua2V5Q29kZSksdGhpcy5jaGVja01hdGNoaW5nS2V5Ym9hcmRTdWJqZWN0cyh0KX07Y2hlY2tNYXRjaGluZ0tleWJvYXJkU3ViamVjdHModCl7dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmZvckVhY2goKHIsYSk9Pnt0aGlzLmFyZUFsbEtleXNQcmVzc2VkKGEpJiZyLm5leHQodCl9KX1oYW5kbGVLZXlVcD10PT57dGhpcy5wcmVzc2VkS2V5cy5kZWxldGUodC5rZXlDb2RlKX07YXJlQWxsS2V5c1ByZXNzZWQodCl7bGV0IHI9ITA7cmV0dXJuIHQuZm9yRWFjaChhPT57dGhpcy5wcmVzc2VkS2V5cy5oYXMoYSl8fChyPSExKX0pLHJ9cmVnaXN0ZXJLZXlzKHQscil7aWYoIXRoaXMubWFwQ29tYm9zVG9IYW5kbGVycy5oYXModCkpdGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLnNldCh0LHIpO2Vsc2UgcmV0dXJuIHRoaXMubWFwQ29tYm9zVG9IYW5kbGVycy5nZXQodCl9fX0pO3ZhciBFbixXOD1mKCgpPT57VTgoKTtlbmUoKTtscnQoKTtFJCgpO2NydCgpO2RydCgpO0VuPWNsYXNzIGV7c3RhdGljIGluaXRpYWxpemF0aW9uUHJvbWlzZT1udWxsO3N0YXRpYyBhc3luYyBzZXR1cERvbVRvb2xzKHQ9e30pe3JldHVybiF0Lmlnbm9yZUdsb2JhbCYmZS5pbml0aWFsaXphdGlvblByb21pc2U/YXdhaXQgZS5pbml0aWFsaXphdGlvblByb21pc2U6dC5pZ25vcmVHbG9iYWw/bmV3IGUodCk6KGUuaW5pdGlhbGl6YXRpb25Qcm9taXNlPShhc3luYygpPT57bGV0IHI7aWYoZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHMpcj1nbG9iYWxUaGlzLmRlZXNEb21Ub29scztlbHNle2dsb2JhbFRoaXMuZGVlc0RvbVRvb2xzPW5ldyBlKHQpLHI9Z2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM7bGV0IGE9KCk9PnsoZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJpbnRlcmFjdGl2ZSJ8fGRvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKSYmKHIuZWxlbWVudHMuaGVhZEVsZW1lbnQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaGVhZCIpLHIuZWxlbWVudHMuYm9keUVsZW1lbnQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYm9keSIpLHIua2V5Ym9hcmQ9bmV3IEgkKGRvY3VtZW50LmJvZHkpLHIuZG9tUmVhZHkucmVzb2x2ZSgpKX07ZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJpbnRlcmFjdGl2ZSJ8fGRvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiP2EoKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIixhKSxyLmRvbVRvb2xzUmVhZHkucmVzb2x2ZSgpfXJldHVybiBhd2FpdCByLmRvbVRvb2xzUmVhZHkucHJvbWlzZSxyfSkoKSxhd2FpdCBlLmluaXRpYWxpemF0aW9uUHJvbWlzZSl9c3RhdGljIGdldEdsb2JhbERvbVRvb2xzU3luYygpe2lmKCFnbG9iYWxUaGlzLmRlZXNEb21Ub29scyl0aHJvdyBuZXcgRXJyb3IoIllvdSB0cmllZCB0byBhY2Nlc3MgZG9tdG9vbHMgc3luY2hyb25vdXNseSB0b28gZWFybHkiKTtyZXR1cm4gZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHN9ZWxlbWVudHM9e2hlYWRFbGVtZW50Om51bGwsYm9keUVsZW1lbnQ6bnVsbH07d2Vic2V0dXA9bmV3ICRnKHttZXRhT2JqZWN0Ont0aXRsZToiIn19KTtzbWFydHN0YXRlPW5ldyBQNC5TbWFydHN0YXRlO2RvbVRvb2xzU3RhdGVQYXJ0PXRoaXMuc21hcnRzdGF0ZS5nZXRTdGF0ZVBhcnQoImRvbXRvb2xzIix7dmlydHVhbFZpZXdwb3J0OiJuYXRpdmUiLGp3dDpudWxsfSk7cm91dGVyPW5ldyBJNC5TbWFydFJvdXRlcih7ZGVidWc6ITF9KTtjb252ZW5pZW5jZT17dHlwZWRyZXF1ZXN0OlhuLHNtYXJ0ZGVsYXk6Q3Qsc21hcnRqc29uOlhyLHNtYXJ0dXJsOk40fTtkZWVzQ29tbXM9bmV3IFU5LkRlZXNDb21tcztzY3JvbGxlcj1uZXcgUiQodGhpcyk7dGhlbWVNYW5hZ2VyPW5ldyBCJCh0aGlzKTtrZXlib2FyZD1udWxsO2RvbVRvb2xzUmVhZHk9S2UuZGVmZXIoKTtkb21SZWFkeT1LZS5kZWZlcigpO2dsb2JhbFN0eWxlc1JlYWR5PUtlLmRlZmVyKCk7Y29uc3RydWN0b3IodCl7fXJ1bk9uY2VUcmFja2VyU3RyaW5nTWFwPW5ldyBBZy5TdHJpbmdtYXA7cnVuT25jZVJlc3VsdE1hcD1uZXcgQWcuRmFzdE1hcDtydW5PbmNlRXJyb3JNYXA9bmV3IEFnLkZhc3RNYXA7YXN5bmMgcnVuT25jZSh0LHIpe2xldCBhPWAke3R9K3J1bm5pbmdDaGVja2A7aWYoIXRoaXMucnVuT25jZVRyYWNrZXJTdHJpbmdNYXAuY2hlY2tTdHJpbmcodCkpe3RoaXMucnVuT25jZVRyYWNrZXJTdHJpbmdNYXAuYWRkU3RyaW5nKHQpLHRoaXMucnVuT25jZVRyYWNrZXJTdHJpbmdNYXAuYWRkU3RyaW5nKGEpO3RyeXtsZXQgaT1hd2FpdCByKCk7dGhpcy5ydW5PbmNlUmVzdWx0TWFwLmFkZFRvTWFwKHQsaSl9Y2F0Y2goaSl7dGhpcy5ydW5PbmNlRXJyb3JNYXAuYWRkVG9NYXAodCxpKX1maW5hbGx5e3RoaXMucnVuT25jZVRyYWNrZXJTdHJpbmdNYXAucmVtb3ZlU3RyaW5nKGEpfX1yZXR1cm4gYXdhaXQgdGhpcy5ydW5PbmNlVHJhY2tlclN0cmluZ01hcC5yZWdpc3RlclVudGlsVHJ1ZShpPT4haS5pbmNsdWRlcyhhKSwoKT0+e2xldCBpPXRoaXMucnVuT25jZUVycm9yTWFwLmdldEJ5S2V5KHQpO2lmKGkpdGhyb3cgaTtyZXR1cm4gdGhpcy5ydW5PbmNlUmVzdWx0TWFwLmdldEJ5S2V5KHQpfSl9YXN5bmMgc2V0R2xvYmFsU3R5bGVzKHQpe2F3YWl0IHRoaXMuZG9tUmVhZHkucHJvbWlzZTtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3IudHlwZT0idGV4dC9jc3MiLHIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodCkpLHRoaXMuZWxlbWVudHMuaGVhZEVsZW1lbnQuYXBwZW5kQ2hpbGQocil9YXN5bmMgc2V0RXh0ZXJuYWxTY3JpcHQodCl7YXdhaXQgdGhpcy5kb21SZWFkeS5wcm9taXNlO2xldCByPUtlLmRlZmVyKCksYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTthLnNyYz10LGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtyLnJlc29sdmUoKX0pLChkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5ib2R5KS5hcHBlbmQoYSksYXdhaXQgci5wcm9taXNlfWFzeW5jIHNldEV4dGVybmFsQ3NzKHQpe2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtyLnJlbD0ic3R5bGVzaGVldCIsci5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixyLmhyZWY9dCxkb2N1bWVudC5oZWFkLmFwcGVuZChyKX1hc3luYyBzZXRXZWJzaXRlSW5mbyh0KXthd2FpdCB0aGlzLndlYnNldHVwLnNldHVwKHQpLGF3YWl0IHRoaXMud2Vic2V0dXAucmVhZHlQcm9taXNlfX19KTt2YXIgcSQsdXJ0LHBydD1mKCgpPT57VzgoKTtEMigpO3EkPSgoKT0+e2xldCBlPW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTWFjIE9TIFgiKT09PS0xP0pgYC5jc3NUZXh0OiIiO3JldHVybiBKYAogICAgLyogd2lkdGggKi8KICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICB3aWR0aDogMHB4OwogICAgfQogICAgYm9keSB7CiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsKICAgIH0KICBgLmNzc1RleHR9KSgpLHVydD1KYAogIC8qCiAgQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJzsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbWF0ZXJpYWxpY29ucy92NDIvZmxVaFJxNnR6WmNsUUVKLVZkZy1JdWlhRHNOY0loUTh0US53b2ZmMikKICAgICAgZm9ybWF0KCd3b2ZmMicpOwogIH0gKi8KCiAgLyogZ2xvYmFsIGJvZHkgc3R5bGVzICovCiAgYm9keSB7CiAgICBtYXJnaW46IDBweDsKICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIH0KCiAgLyogc2Nyb2xsIGJhciBzdHlsZXMgKi8KICAke3dyKHEkKX0KYC5jc3NUZXh0fSk7dmFyIHBhPXt9O1JlKHBhLHtzZXR1cDooKT0+dkdyLHN0YXRpY1N0eWxlczooKT0+Z0dyLHN0eWxlczooKT0+YkdyfSk7dmFyIGdHcixiR3IsdkdyLGZydD1mKCgpPT57VTgoKTtXOCgpO3BydCgpO0QyKCk7Z0dyPUpgCiAgKiB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMsIGNvbG9yIDAuMXM7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIH0KCiAgOmhvc3QgewogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgfQoKICAke3dyKHEkKX0KYCxiR3I9TWAKICA8c3R5bGU+CiAgICAqIHsKICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzLCBjb2xvciAwLjFzOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgfQoKICAgIDpob3N0IHsKICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgIH0KCiAgICAke3EkfQogIDwvc3R5bGU+CmAsdkdyPWFzeW5jKGUsdD17fSk9PntsZXQgcj1hd2FpdCBFbi5zZXR1cERvbVRvb2xzKHQpO3JldHVybiByLnJ1bk9uY2UoImVsZW1lbnRCYXNpY1NldHVwIixhc3luYygpPT57ci5zZXRHbG9iYWxTdHlsZXModXJ0KX0pLHJ9fSk7dmFyIGokPXt9O1JlKGokLHtjc3NHcmlkQ29sdW1uczooKT0+eEdyfSk7dmFyIHhHcixocnQ9ZigoKT0+e3hHcj0oZSx0KT0+e2xldCByPSIiO2ZvcihsZXQgYT0wO2E8ZTthKyspcis9YCBjYWxjKCgxMDAlLyR7ZX0pIC0gKCR7dCooZS0xKX1weC8ke2V9KSlgO3JldHVybiByfX0pO3ZhciBqdD17fTtSZShqdCx7U3dlZXRTY3JvbGw6KCk9PnJuZS5kZWZhdWx0LHNtYXJ0ZGVsYXk6KCk9PkN0LHNtYXJ0bWFya2Rvd246KCk9PnE4LHNtYXJ0cHJvbWlzZTooKT0+S2Usc21hcnRyb3V0ZXI6KCk9Pkk0LHNtYXJ0cng6KCk9PmFyLHNtYXJ0c3RhdGU6KCk9PlA0LHNtYXJ0c3RyaW5nOigpPT5EcyxzbWFydHVybDooKT0+TjQsdHlwZWRyZXF1ZXN0OigpPT5Ybn0pO3ZhciBybmUsbXJ0PWYoKCk9PntJMigpO2lpZSgpO1VpKCk7cm5lPXNyKFlpZSgpLDEpO2dpZSgpO3BpZSgpO3lvKCk7VDkoKTt2aWUoKTtxOSgpfSk7dmFyIFN0PXt9O1JlKFN0LHtEb21Ub29sczooKT0+RW4sVHlwZWRSZXF1ZXN0OigpPT5IOSxicmVha3BvaW50czooKT0+c2wsY3NzOigpPT5qJCxlbGVtZW50QmFzaWM6KCk9PnBhLHBsdWdpbnM6KCk9Pmp0fSk7dmFyIEp0PWYoKCk9Pnt4UGUoKTtmcnQoKTtlbmUoKTtocnQoKTtXOCgpO3E5KCk7RSQoKTttcnQoKX0pO3ZhciBhbmUsUjQsaW5lPWYoKCk9PnthbmU9c3IobnooKSwxKTt5bygpO0QyKCk7dlBlKCk7SnQoKTtSND17Y3NzOkosdW5zYWZlQ1NTOndyLExpdEVsZW1lbnQ6WWwscHJvcGVydHk6Rn19KTt2YXIgViQsYnJ0PWYoKCk9PntEMigpO2luZSgpO0p0KCk7ViQ9Y2xhc3MgZXtzdGF0aWMgaW5zdGFuY2U9bnVsbDtzdGF0aWMgZ2V0U2luZ2xldG9uKCl7cmV0dXJuIGUuaW5zdGFuY2V8fChlLmluc3RhbmNlPW5ldyBlKSxlLmluc3RhbmNlfWRvbXRvb2xzUHJvbWlzZT1Fbi5zZXR1cERvbVRvb2xzKCk7Z29CcmlnaHQ9ITE7YmRWYXJUcmlwbGV0U3RvcmU9W107Y29uc3RydWN0b3IoKXt0aGlzLmRvbXRvb2xzUHJvbWlzZS50aGVuKGFzeW5jIHQ9Pnt0LnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKGFzeW5jIHI9Pnt0aGlzLmdvQnJpZ2h0PXIsYXdhaXQgdC5kb21SZWFkeS5wcm9taXNlO2ZvcihsZXQgYSBvZiB0aGlzLmJkVmFyVHJpcGxldFN0b3JlKWRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoYS5jc3NWYXJOYW1lLHRoaXMuZ29CcmlnaHQ/YS5icmlnaHRWYWx1ZTphLmRhcmtWYWx1ZSl9KX0pfWdldCBkZWZhdWx0U3R5bGVzKCl7cmV0dXJuIHBhLnN0YXRpY1N0eWxlc31jc3NGb3JEZXNrdG9wKHQpe3JldHVybiB3cihzbC5jc3NGb3JEZXNrdG9wKHQpKX1jc3NGb3JOb3RlYm9vayh0KXtyZXR1cm4gd3Ioc2wuY3NzRm9yTm90ZWJvb2sodCkpfWNzc0ZvclRhYmxldCh0KXtyZXR1cm4gd3Ioc2wuY3NzRm9yVGFibGV0KHQpKX1jc3NGb3JQaGFibGV0KHQpe3JldHVybiB3cihzbC5jc3NGb3JQaGFibGV0KHQpKX1jc3NGb3JQaG9uZSh0KXtyZXR1cm4gd3Ioc2wuY3NzRm9yUGhvbmUodCkpfWJkVGhlbWUodCxyKXtsZXQgYSxpO0VuLmdldEdsb2JhbERvbVRvb2xzU3luYygpP2k9RW4uZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCkudGhlbWVNYW5hZ2VyLmdvQnJpZ2h0Qm9vbGVhbj90OnI6aT1yO2xldCBuPXRoaXMuYmRWYXJUcmlwbGV0U3RvcmUuZmluZChzPT5zLmRhcmtWYWx1ZT09PXImJnMuYnJpZ2h0VmFsdWU9PT10KTtpZihuKWE9bi5jc3NWYXJOYW1lO2Vsc2V7bGV0IHM9e2Nzc1Zhck5hbWU6YC0tJHthbmUudW5pKCl9YCxicmlnaHRWYWx1ZTp0LGRhcmtWYWx1ZTpyfTt0aGlzLmJkVmFyVHJpcGxldFN0b3JlLnB1c2gocyksdGhpcy5kb210b29sc1Byb21pc2UudGhlbihhc3luYyBvPT57YXdhaXQgby5kb21SZWFkeS5wcm9taXNlLGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkocy5jc3NWYXJOYW1lLGkpfSksYT1zLmNzc1Zhck5hbWV9cmV0dXJuIFI0LnVuc2FmZUNTUyhgdmFyKCR7YX0sICR7aX0pYCl9Y3NzR3JpZENvbHVtbnM9KHQscik9PntsZXQgYT0iIjtmb3IobGV0IGk9MDtpPHQ7aSsrKWErPWAgY2FsYygoMTAwJS8ke3R9KSAtICgke3IqKHQtMSl9cHgvJHt0fSkpYDtyZXR1cm4gUjQudW5zYWZlQ1NTKGEpfX19KTt2YXIgbm5lLHlHcix4cnQsd0dyLHZydCxVJCxCNCxNR3Isa0dyLHlydD1mKCgpPT57Z28oKTtubmU9U3ltYm9sLmZvcigiIikseUdyPWU9PntpZihlPy5yPT09bm5lKXJldHVybiBlPy5fJGxpdFN0YXRpYyR9LHhydD1lPT4oe18kbGl0U3RhdGljJDplLHI6bm5lfSksd0dyPShlLC4uLnQpPT4oe18kbGl0U3RhdGljJDp0LnJlZHVjZSgoKHIsYSxpKT0+cisobj0+e2lmKG4uXyRsaXRTdGF0aWMkIT09dm9pZCAwKXJldHVybiBuLl8kbGl0U3RhdGljJDt0aHJvdyBFcnJvcihgVmFsdWUgcGFzc2VkIHRvICdsaXRlcmFsJyBmdW5jdGlvbiBtdXN0IGJlIGEgJ2xpdGVyYWwnIHJlc3VsdDogJHtufS4gVXNlICd1bnNhZmVTdGF0aWMnIHRvIHBhc3Mgbm9uLWxpdGVyYWwgdmFsdWVzLCBidXQKICAgICAgICAgICAgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LmApfSkoYSkrZVtpKzFdKSxlWzBdKSxyOm5uZX0pLHZydD1uZXcgTWFwLFUkPWU9Pih0LC4uLnIpPT57bGV0IGE9ci5sZW5ndGgsaSxuLHM9W10sbz1bXSxjLGw9MCx1PSExO2Zvcig7bDxhOyl7Zm9yKGM9dFtsXTtsPGEmJihuPXJbbF0sKGk9eUdyKG4pKSE9PXZvaWQgMCk7KWMrPWkrdFsrK2xdLHU9ITA7bCE9PWEmJm8ucHVzaChuKSxzLnB1c2goYyksbCsrfWlmKGw9PT1hJiZzLnB1c2godFthXSksdSl7bGV0IGQ9cy5qb2luKCIkJGxpdCQkIik7KHQ9dnJ0LmdldChkKSk9PT12b2lkIDAmJihzLnJhdz1zLHZydC5zZXQoZCx0PXMpKSxyPW99cmV0dXJuIGUodCwuLi5yKX0sQjQ9VSQoTSksTUdyPVUkKGNaKSxrR3I9VSQoZFopfSk7dmFyIHdydD1mKCgpPT57eXJ0KCl9KTt2YXIgb2wsc2ksUHMseWM9ZigoKT0+e29sPXtBVFRSSUJVVEU6MSxDSElMRDoyLFBST1BFUlRZOjMsQk9PTEVBTl9BVFRSSUJVVEU6NCxFVkVOVDo1LEVMRU1FTlQ6Nn0sc2k9ZT0+KC4uLnQpPT4oe18kbGl0RGlyZWN0aXZlJDplLHZhbHVlczp0fSksUHM9Y2xhc3N7Y29uc3RydWN0b3IodCl7fWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfV8kQVQodCxyLGEpe3RoaXMuXyRDdD10LHRoaXMuXyRBTT1yLHRoaXMuXyRDaT1hfV8kQVModCxyKXtyZXR1cm4gdGhpcy51cGRhdGUodCxyKX11cGRhdGUodCxyKXtyZXR1cm4gdGhpcy5yZW5kZXIoLi4ucil9fX0pO3ZhciBHOCxXJCxNcnQ9ZigoKT0+e2dvKCk7eWMoKTtHOD1jbGFzcyBleHRlbmRzIFBze2NvbnN0cnVjdG9yKHQpe2lmKHN1cGVyKHQpLHRoaXMuaXQ9TWEsdC50eXBlIT09b2wuQ0hJTEQpdGhyb3cgRXJyb3IodGhpcy5jb25zdHJ1Y3Rvci5kaXJlY3RpdmVOYW1lKyIoKSBjYW4gb25seSBiZSB1c2VkIGluIGNoaWxkIGJpbmRpbmdzIil9cmVuZGVyKHQpe2lmKHQ9PT1NYXx8dD09bnVsbClyZXR1cm4gdGhpcy5fdD12b2lkIDAsdGhpcy5pdD10O2lmKHQ9PT11YSlyZXR1cm4gdDtpZih0eXBlb2YgdCE9InN0cmluZyIpdGhyb3cgRXJyb3IodGhpcy5jb25zdHJ1Y3Rvci5kaXJlY3RpdmVOYW1lKyIoKSBjYWxsZWQgd2l0aCBhIG5vbi1zdHJpbmcgdmFsdWUiKTtpZih0PT09dGhpcy5pdClyZXR1cm4gdGhpcy5fdDt0aGlzLml0PXQ7bGV0IHI9W3RdO3JldHVybiByLnJhdz1yLHRoaXMuX3Q9e18kbGl0VHlwZSQ6dGhpcy5jb25zdHJ1Y3Rvci5yZXN1bHRUeXBlLHN0cmluZ3M6cix2YWx1ZXM6W119fX07RzguZGlyZWN0aXZlTmFtZT0idW5zYWZlSFRNTCIsRzgucmVzdWx0VHlwZT0xO1ckPXNpKEc4KX0pO3ZhciBrcnQ9ZigoKT0+e01ydCgpfSk7dmFyIHJlLHNuZT1mKCgpPT57cmU9ZT0+KHQscik9PntyIT09dm9pZCAwP3IuYWRkSW5pdGlhbGl6ZXIoKCgpPT57Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGUsdCl9KSk6Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGUsdCl9fSk7dmFyIFNydD1mKCgpPT57c25lKCl9KTtmdW5jdGlvbiBzZShlKXtyZXR1cm4gRih7Li4uZSxzdGF0ZTohMCxhdHRyaWJ1dGU6ITF9KX12YXIgenJ0PWYoKCk9PntlQygpO30pO2Z1bmN0aW9uIFNHcihlKXtyZXR1cm4odCxyKT0+e2xldCBhPXR5cGVvZiB0PT0iZnVuY3Rpb24iP3Q6dFtyXTtPYmplY3QuYXNzaWduKGEsZSl9fXZhciBDcnQ9ZigoKT0+e30pO3ZhciBOcyxZOD1mKCgpPT57TnM9KGUsdCxyKT0+KHIuY29uZmlndXJhYmxlPSEwLHIuZW51bWVyYWJsZT0hMCxSZWZsZWN0LmRlY29yYXRlJiZ0eXBlb2YgdCE9Im9iamVjdCImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQscikscil9KTtmdW5jdGlvbiBUcnQoZSx0KXtyZXR1cm4ocixhLGkpPT57bGV0IG49cz0+cy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKGUpPz9udWxsO2lmKHQpe2xldHtnZXQ6cyxzZXQ6b309dHlwZW9mIGE9PSJvYmplY3QiP3I6aT8/KCgpPT57bGV0IGM9U3ltYm9sKCk7cmV0dXJue2dldCgpe3JldHVybiB0aGlzW2NdfSxzZXQobCl7dGhpc1tjXT1sfX19KSgpO3JldHVybiBOcyhyLGEse2dldCgpe2xldCBjPXMuY2FsbCh0aGlzKTtyZXR1cm4gYz09PXZvaWQgMCYmKGM9bih0aGlzKSwoYyE9PW51bGx8fHRoaXMuaGFzVXBkYXRlZCkmJm8uY2FsbCh0aGlzLGMpKSxjfX0pfXJldHVybiBOcyhyLGEse2dldCgpe3JldHVybiBuKHRoaXMpfX0pfX12YXIgX3J0PWYoKCk9PntZOCgpO30pO2Z1bmN0aW9uIExydChlKXtyZXR1cm4odCxyKT0+TnModCxyLHtnZXQoKXtyZXR1cm4odGhpcy5yZW5kZXJSb290Pz8oekdyPz89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSkucXVlcnlTZWxlY3RvckFsbChlKX19KX12YXIgekdyLCRydD1mKCgpPT57WTgoKTt9KTtmdW5jdGlvbiBEcnQoZSl7cmV0dXJuKHQscik9Pk5zKHQscix7YXN5bmMgZ2V0KCl7cmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKGUpPz9udWxsfX0pfXZhciBBcnQ9ZigoKT0+e1k4KCk7fSk7ZnVuY3Rpb24gQ0dyKGUpe3JldHVybih0LHIpPT57bGV0e3Nsb3Q6YSxzZWxlY3RvcjppfT1lPz97fSxuPSJzbG90IisoYT9gW25hbWU9JHthfV1gOiI6bm90KFtuYW1lXSkiKTtyZXR1cm4gTnModCxyLHtnZXQoKXtsZXQgcz10aGlzLnJlbmRlclJvb3Q/LnF1ZXJ5U2VsZWN0b3Iobiksbz1zPy5hc3NpZ25lZEVsZW1lbnRzKGUpPz9bXTtyZXR1cm4gaT09PXZvaWQgMD9vOm8uZmlsdGVyKChjPT5jLm1hdGNoZXMoaSkpKX19KX19dmFyIEVydD1mKCgpPT57WTgoKTt9KTtmdW5jdGlvbiBUR3IoZSl7cmV0dXJuKHQscik9PntsZXR7c2xvdDphfT1lPz97fSxpPSJzbG90IisoYT9gW25hbWU9JHthfV1gOiI6bm90KFtuYW1lXSkiKTtyZXR1cm4gTnModCxyLHtnZXQoKXtyZXR1cm4gdGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKGkpPy5hc3NpZ25lZE5vZGVzKGUpPz9bXX19KX19dmFyIElydD1mKCgpPT57WTgoKTt9KTt2YXIgUHJ0PWYoKCk9PntzbmUoKTtlQygpO3pydCgpO0NydCgpO19ydCgpOyRydCgpO0FydCgpO0VydCgpO0lydCgpfSk7dmFyIE5ydCxHJCxoZSxGcnQ9ZigoKT0+e2luZSgpO05ydD1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LEckPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxoZT0oKCk9PntsZXQgZT1SNC5MaXRFbGVtZW50LHQscj1bXSxhPVtdLGksbj1bXSxzPVtdO3JldHVybiBjbGFzcyBleHRlbmRzIGV7c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGVbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO3Q9W1I0LnByb3BlcnR5KHt0eXBlOkJvb2xlYW59KV0saT1bUjQucHJvcGVydHkoKV0sTnJ0KHRoaXMsbnVsbCx0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ29CcmlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmw9PiJnb0JyaWdodCJpbiBsLGdldDpsPT5sLmdvQnJpZ2h0LHNldDoobCx1KT0+e2wuZ29CcmlnaHQ9dX19LG1ldGFkYXRhOmN9LHIsYSksTnJ0KHRoaXMsbnVsbCxpLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG9tdG9vbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmw9PiJkb210b29scyJpbiBsLGdldDpsPT5sLmRvbXRvb2xzLHNldDoobCx1KT0+e2wuZG9tdG9vbHM9dX19LG1ldGFkYXRhOmN9LG4scyksYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9I2U9RyQodGhpcyxyLCExKTtnZXQgZ29CcmlnaHQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZ29CcmlnaHQoYyl7dGhpcy4jZT1jfWRvbXRvb2xzUHJvbWlzZT1HJCh0aGlzLGEpOyN0PUckKHRoaXMsbix2b2lkIDApO2dldCBkb210b29scygpe3JldHVybiB0aGlzLiN0fXNldCBkb210b29scyhjKXt0aGlzLiN0PWN9cnhTdWJzY3JpcHRpb25zPShHJCh0aGlzLHMpLFtdKTt0aGVtZVN1YnNjcmlwdGlvbjtlbGVtZW50RG9tUmVhZHlEZWZlcnJlZD1TdC5wbHVnaW5zLnNtYXJ0cHJvbWlzZS5kZWZlcigpO2VsZW1lbnREb21SZWFkeT10aGlzLmVsZW1lbnREb21SZWFkeURlZmVycmVkLnByb21pc2U7Y29uc3RydWN0b3IoYz17fSl7c3VwZXIoKSx0aGlzLmRvbXRvb2xzUHJvbWlzZT1TdC5lbGVtZW50QmFzaWMuc2V0dXAodGhpcyxjKSx0aGlzLmRvbXRvb2xzUHJvbWlzZS50aGVuKGw9Pnt0aGlzLmRvbXRvb2xzPWx9KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7bGV0IGM9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy50aGVtZVN1YnNjcmlwdGlvbj1jLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKGw9Pnt0aGlzLmdvQnJpZ2h0PWwsdGhpcy50aGVtZUNoYW5nZWQmJnRoaXMudGhlbWVDaGFuZ2VkKGwpfSksdGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnRoZW1lU3Vic2NyaXB0aW9uKTtmb3IobGV0IGwgb2YgdGhpcy5zdGFydHVwRnVuY3Rpb25zKWF3YWl0IGwoKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWVzRWxlbWVudENvbm5lY3RlZCIpKX1maXJzdFVwZGF0ZWQoYyl7c3VwZXIuZmlyc3RVcGRhdGVkKGMpLHRoaXMuZWxlbWVudERvbVJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfXN0YXJ0dXBGdW5jdGlvbnM9W107cmVnaXN0ZXJTdGFydHVwRnVuY3Rpb24oYyl7dGhpcy5zdGFydHVwRnVuY3Rpb25zLnB1c2goYyl9Z2FyYmFnZUZ1bmN0aW9ucz1bXTtyZWdpc3RlckdhcmJhZ2VGdW5jdGlvbihjKXt0aGlzLmdhcmJhZ2VGdW5jdGlvbnMucHVzaChjKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7Zm9yKGxldCBjIG9mIHRoaXMucnhTdWJzY3JpcHRpb25zKWMudW5zdWJzY3JpYmUoKTtmb3IobGV0IGMgb2YgdGhpcy5nYXJiYWdlRnVuY3Rpb25zKWF3YWl0IGMoKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWVzRWxlbWVudERpc2Nvbm5lY3RlZCIpKX19fSkoKX0pO3ZhciBfR3Isb25lLExHciwkR3IsREdyLEFHcixFR3IsbG5lLE9ydCx3YyxUbyxJR3IsRWcsY25lLElnLGRuZSxaOD1mKCgpPT57Z28oKTsoe0k6X0dyfT11Wiksb25lPWU9PmU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCImJnR5cGVvZiBlIT0iZnVuY3Rpb24iLExHcj17SFRNTDoxLFNWRzoyLE1BVEhNTDozfSwkR3I9KGUsdCk9PnQ9PT12b2lkIDA/ZT8uXyRsaXRUeXBlJCE9PXZvaWQgMDplPy5fJGxpdFR5cGUkPT09dCxER3I9ZT0+ZT8uXyRsaXRUeXBlJD8uaCE9bnVsbCxBR3I9ZT0+ZT8uXyRsaXREaXJlY3RpdmUkIT09dm9pZCAwLEVHcj1lPT5lPy5fJGxpdERpcmVjdGl2ZSQsbG5lPWU9PmUuc3RyaW5ncz09PXZvaWQgMCxPcnQ9KCk9PmRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoIiIpLHdjPShlLHQscik9PntsZXQgYT1lLl8kQUEucGFyZW50Tm9kZSxpPXQ9PT12b2lkIDA/ZS5fJEFCOnQuXyRBQTtpZihyPT09dm9pZCAwKXtsZXQgbj1hLmluc2VydEJlZm9yZShPcnQoKSxpKSxzPWEuaW5zZXJ0QmVmb3JlKE9ydCgpLGkpO3I9bmV3IF9HcihuLHMsZSxlLm9wdGlvbnMpfWVsc2V7bGV0IG49ci5fJEFCLm5leHRTaWJsaW5nLHM9ci5fJEFNLG89cyE9PWU7aWYobyl7bGV0IGM7ci5fJEFRPy4oZSksci5fJEFNPWUsci5fJEFQIT09dm9pZCAwJiYoYz1lLl8kQVUpIT09cy5fJEFVJiZyLl8kQVAoYyl9aWYobiE9PWl8fG8pe2xldCBjPXIuXyRBQTtmb3IoO2MhPT1uOyl7bGV0IGw9Yy5uZXh0U2libGluZzthLmluc2VydEJlZm9yZShjLGkpLGM9bH19fXJldHVybiByfSxUbz0oZSx0LHI9ZSk9PihlLl8kQUkodCxyKSxlKSxJR3I9e30sRWc9KGUsdD1JR3IpPT5lLl8kQUg9dCxjbmU9ZT0+ZS5fJEFILElnPWU9PntlLl8kQVIoKSxlLl8kQUEucmVtb3ZlKCl9LGRuZT1lPT57ZS5fJEFSKCl9fSk7ZnVuY3Rpb24gUEdyKGUpe3RoaXMuXyRBTiE9PXZvaWQgMD8oWSQodGhpcyksdGhpcy5fJEFNPWUsUnJ0KHRoaXMpKTp0aGlzLl8kQU09ZX1mdW5jdGlvbiBOR3IoZSx0PSExLHI9MCl7bGV0IGE9dGhpcy5fJEFILGk9dGhpcy5fJEFOO2lmKGkhPT12b2lkIDAmJmkuc2l6ZSE9PTApaWYodClpZihBcnJheS5pc0FycmF5KGEpKWZvcihsZXQgbj1yO248YS5sZW5ndGg7bisrKVBnKGFbbl0sITEpLFkkKGFbbl0pO2Vsc2UgYSE9bnVsbCYmKFBnKGEsITEpLFkkKGEpKTtlbHNlIFBnKHRoaXMsZSl9dmFyIFBnLFkkLFJydCxGR3IsUTEsWiQ9ZigoKT0+e1o4KCk7eWMoKTt5YygpO1BnPShlLHQpPT57bGV0IHI9ZS5fJEFOO2lmKHI9PT12b2lkIDApcmV0dXJuITE7Zm9yKGxldCBhIG9mIHIpYS5fJEFPPy4odCwhMSksUGcoYSx0KTtyZXR1cm4hMH0sWSQ9ZT0+e2xldCB0LHI7ZG97aWYoKHQ9ZS5fJEFNKT09PXZvaWQgMClicmVhaztyPXQuXyRBTixyLmRlbGV0ZShlKSxlPXR9d2hpbGUocj8uc2l6ZT09PTApfSxScnQ9ZT0+e2ZvcihsZXQgdDt0PWUuXyRBTTtlPXQpe2xldCByPXQuXyRBTjtpZihyPT09dm9pZCAwKXQuXyRBTj1yPW5ldyBTZXQ7ZWxzZSBpZihyLmhhcyhlKSlicmVhaztyLmFkZChlKSxGR3IodCl9fTtGR3I9ZT0+e2UudHlwZT09b2wuQ0hJTEQmJihlLl8kQVA/Pz1OR3IsZS5fJEFRPz89UEdyKX0sUTE9Y2xhc3MgZXh0ZW5kcyBQc3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fJEFOPXZvaWQgMH1fJEFUKHQscixhKXtzdXBlci5fJEFUKHQscixhKSxScnQodGhpcyksdGhpcy5pc0Nvbm5lY3RlZD10Ll8kQVV9XyRBTyh0LHI9ITApe3QhPT10aGlzLmlzQ29ubmVjdGVkJiYodGhpcy5pc0Nvbm5lY3RlZD10LHQ/dGhpcy5yZWNvbm5lY3RlZD8uKCk6dGhpcy5kaXNjb25uZWN0ZWQ/LigpKSxyJiYoUGcodGhpcyx0KSxZJCh0aGlzKSl9c2V0VmFsdWUodCl7aWYobG5lKHRoaXMuXyRDdCkpdGhpcy5fJEN0Ll8kQUkodCx0aGlzKTtlbHNle2xldCByPVsuLi50aGlzLl8kQ3QuXyRBSF07clt0aGlzLl8kQ2ldPXQsdGhpcy5fJEN0Ll8kQUkocix0aGlzLDApfX1kaXNjb25uZWN0ZWQoKXt9cmVjb25uZWN0ZWQoKXt9fX0pO3ZhciBYJD1mKCgpPT57WiQoKX0pO3ZhciB1bmUsQnJ0LE9HcixIcnQ9ZigoKT0+e0QyKCk7WCQoKTt1bmU9Y2xhc3MgZXh0ZW5kcyBRMXtwcm9taXNlO2hhc1Byb21pc2VTZXR0bGVkPSExO3JlbmRlcih0KXtyZXR1cm4gdGhpcy5wcm9taXNlIT09dCYmKHRoaXMucHJvbWlzZT10LHRoaXMuaXNDb25uZWN0ZWQmJnRoaXMuaGFuZGxlUHJvbWlzZSh0KSksdWF9aGFuZGxlUHJvbWlzZSh0KXt0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSExLHQudGhlbihyPT57dGhpcy5wcm9taXNlPT09dCYmIXRoaXMuaGFzUHJvbWlzZVNldHRsZWQmJih0aGlzLnNldFZhbHVlKHIpLHRoaXMuaGFzUHJvbWlzZVNldHRsZWQ9ITApfSkuY2F0Y2gocj0+e3RoaXMucHJvbWlzZT09PXQmJiF0aGlzLmhhc1Byb21pc2VTZXR0bGVkJiYodGhpcy5zZXRWYWx1ZShyKSx0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSEwKX0pfWRpc2Nvbm5lY3RlZCgpe3RoaXMuaGFzUHJvbWlzZVNldHRsZWQ9ITB9cmVjb25uZWN0ZWQoKXt0aGlzLmhhc1Byb21pc2VTZXR0bGVkfHx0aGlzLmhhbmRsZVByb21pc2UodGhpcy5wcm9taXNlKX19LEJydD1zaSh1bmUpLE9Hcj1lPT5CcnQoZSgpKX0pO3ZhciBwbmUsUkdyLHFydD1mKCgpPT57RDIoKTtYJCgpO3lvKCk7cG5lPWNsYXNzIGV4dGVuZHMgUTF7b2JzZXJ2YWJsZTtzdWI9bnVsbDtyZW5kZXIodCl7cmV0dXJuIHRoaXMub2JzZXJ2YWJsZSE9PXQmJih0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKSx0aGlzLm9ic2VydmFibGU9dCx0aGlzLmlzQ29ubmVjdGVkJiZ0aGlzLnN1YnNjcmliZSh0KSksdWF9c3Vic2NyaWJlKHQpe3RoaXMuc3ViPXQuc3Vic2NyaWJlKHI9Pnt0aGlzLnNldFZhbHVlKHIpfSl9ZGlzY29ubmVjdGVkKCl7dGhpcy5zdWI/LnVuc3Vic2NyaWJlKCl9cmVjb25uZWN0ZWQoKXt0aGlzLnN1YnNjcmliZSh0aGlzLm9ic2VydmFibGUpfX0sUkdyPXNpKHBuZSl9KTt2YXIgZm5lLGpydCxWcnQ9ZigoKT0+e0QyKCk7WCQoKTt5bygpO2ZuZT1jbGFzcyBleHRlbmRzIFExe29ic2VydmFibGU7dGVtcGxhdGVGbjtzdWI9bnVsbDtyZW5kZXIodCxyKXtyZXR1cm4odGhpcy5vYnNlcnZhYmxlIT09dHx8dGhpcy50ZW1wbGF0ZUZuIT09cikmJih0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKSx0aGlzLm9ic2VydmFibGU9dCx0aGlzLnRlbXBsYXRlRm49cix0aGlzLmlzQ29ubmVjdGVkJiZ0aGlzLnN0YXJ0U3Vic2NyaXB0aW9uKCkpLHVhfXN0YXJ0U3Vic2NyaXB0aW9uKCl7dGhpcy5zdWI9dGhpcy5vYnNlcnZhYmxlLnN1YnNjcmliZSh0PT57bGV0IHI9dGhpcy50ZW1wbGF0ZUZuKHQpO3RoaXMuc2V0VmFsdWUocil9KX1kaXNjb25uZWN0ZWQoKXt0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKX1yZWNvbm5lY3RlZCgpe3RoaXMuc3RhcnRTdWJzY3JpcHRpb24oKX19LGpydD1zaShmbmUpfSk7dmFyIGhuZSxSNixCNixtbmU9ZigoKT0+e2huZT1hc3luYyhlLHQpPT57Zm9yIGF3YWl0KGxldCByIG9mIGUpaWYoYXdhaXQgdChyKT09PSExKXJldHVybn0sUjY9Y2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5HPXR9ZGlzY29ubmVjdCgpe3RoaXMuRz12b2lkIDB9cmVjb25uZWN0KHQpe3RoaXMuRz10fWRlcmVmKCl7cmV0dXJuIHRoaXMuR319LEI2PWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5ZPXZvaWQgMCx0aGlzLlo9dm9pZCAwfWdldCgpe3JldHVybiB0aGlzLll9cGF1c2UoKXt0aGlzLlk/Pz1uZXcgUHJvbWlzZSgodD0+dGhpcy5aPXQpKX1yZXN1bWUoKXt0aGlzLlo/LigpLHRoaXMuWT10aGlzLlo9dm9pZCAwfX19KTt2YXIgVXJ0LFdydCxRJCxnbmUsR3J0PWYoKCk9PntnbygpO1o4KCk7WiQoKTttbmUoKTt5YygpO1VydD1lPT4hb25lKGUpJiZ0eXBlb2YgZS50aGVuPT0iZnVuY3Rpb24iLFdydD0xMDczNzQxODIzLFEkPWNsYXNzIGV4dGVuZHMgUTF7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuXyRDd3Q9V3J0LHRoaXMuXyRDYnQ9W10sdGhpcy5fJENLPW5ldyBSNih0aGlzKSx0aGlzLl8kQ1g9bmV3IEI2fXJlbmRlciguLi50KXtyZXR1cm4gdC5maW5kKChyPT4hVXJ0KHIpKSk/P3VhfXVwZGF0ZSh0LHIpe2xldCBhPXRoaXMuXyRDYnQsaT1hLmxlbmd0aDt0aGlzLl8kQ2J0PXI7bGV0IG49dGhpcy5fJENLLHM9dGhpcy5fJENYO3RoaXMuaXNDb25uZWN0ZWR8fHRoaXMuZGlzY29ubmVjdGVkKCk7Zm9yKGxldCBvPTA7bzxyLmxlbmd0aCYmIShvPnRoaXMuXyRDd3QpO28rKyl7bGV0IGM9cltvXTtpZighVXJ0KGMpKXJldHVybiB0aGlzLl8kQ3d0PW8sYztvPGkmJmM9PT1hW29dfHwodGhpcy5fJEN3dD1XcnQsaT0wLFByb21pc2UucmVzb2x2ZShjKS50aGVuKChhc3luYyBsPT57Zm9yKDtzLmdldCgpOylhd2FpdCBzLmdldCgpO2xldCB1PW4uZGVyZWYoKTtpZih1IT09dm9pZCAwKXtsZXQgZD11Ll8kQ2J0LmluZGV4T2YoYyk7ZD4tMSYmZDx1Ll8kQ3d0JiYodS5fJEN3dD1kLHUuc2V0VmFsdWUobCkpfX0pKSl9cmV0dXJuIHVhfWRpc2Nvbm5lY3RlZCgpe3RoaXMuXyRDSy5kaXNjb25uZWN0KCksdGhpcy5fJENYLnBhdXNlKCl9cmVjb25uZWN0ZWQoKXt0aGlzLl8kQ0sucmVjb25uZWN0KHRoaXMpLHRoaXMuXyRDWC5yZXN1bWUoKX19LGduZT1zaShRJCl9KTt2YXIgWXJ0PWYoKCk9PntHcnQoKX0pO3ZhciBYOCxCR3IsWnJ0PWYoKCk9PntnbygpO1okKCk7bW5lKCk7eWMoKTtYOD1jbGFzcyBleHRlbmRzIFExe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl8kQ0s9bmV3IFI2KHRoaXMpLHRoaXMuXyRDWD1uZXcgQjZ9cmVuZGVyKHQscil7cmV0dXJuIHVhfXVwZGF0ZSh0LFtyLGFdKXtpZih0aGlzLmlzQ29ubmVjdGVkfHx0aGlzLmRpc2Nvbm5lY3RlZCgpLHI9PT10aGlzLl8kQ0opcmV0dXJuIHVhO3RoaXMuXyRDSj1yO2xldCBpPTAse18kQ0s6bixfJENYOnN9PXRoaXM7cmV0dXJuIGhuZShyLChhc3luYyBvPT57Zm9yKDtzLmdldCgpOylhd2FpdCBzLmdldCgpO2xldCBjPW4uZGVyZWYoKTtpZihjIT09dm9pZCAwKXtpZihjLl8kQ0ohPT1yKXJldHVybiExO2EhPT12b2lkIDAmJihvPWEobyxpKSksYy5jb21taXRWYWx1ZShvLGkpLGkrK31yZXR1cm4hMH0pKSx1YX1jb21taXRWYWx1ZSh0LHIpe3RoaXMuc2V0VmFsdWUodCl9ZGlzY29ubmVjdGVkKCl7dGhpcy5fJENLLmRpc2Nvbm5lY3QoKSx0aGlzLl8kQ1gucGF1c2UoKX1yZWNvbm5lY3RlZCgpe3RoaXMuXyRDSy5yZWNvbm5lY3QodGhpcyksdGhpcy5fJENYLnJlc3VtZSgpfX0sQkdyPXNpKFg4KX0pO3ZhciBibmUsWHJ0PWYoKCk9Pnt5YygpO1pydCgpO1o4KCk7Ym5lPXNpKGNsYXNzIGV4dGVuZHMgWDh7Y29uc3RydWN0b3IoZSl7aWYoc3VwZXIoZSksZS50eXBlIT09b2wuQ0hJTEQpdGhyb3cgRXJyb3IoImFzeW5jQXBwZW5kIGNhbiBvbmx5IGJlIHVzZWQgaW4gY2hpbGQgZXhwcmVzc2lvbnMiKX11cGRhdGUoZSx0KXtyZXR1cm4gdGhpcy5fJEN0dD1lLHN1cGVyLnVwZGF0ZShlLHQpfWNvbW1pdFZhbHVlKGUsdCl7dD09PTAmJmRuZSh0aGlzLl8kQ3R0KTtsZXQgcj13Yyh0aGlzLl8kQ3R0KTtUbyhyLGUpfX0pfSk7dmFyIFFydD1mKCgpPT57WHJ0KCl9KTt2YXIgdm5lLEpydD1mKCgpPT57Z28oKTt5YygpO1o4KCk7dm5lPXNpKGNsYXNzIGV4dGVuZHMgUHN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMua2V5PU1hfXJlbmRlcihlLHQpe3JldHVybiB0aGlzLmtleT1lLHR9dXBkYXRlKGUsW3Qscl0pe3JldHVybiB0IT09dGhpcy5rZXkmJihFZyhlKSx0aGlzLmtleT10KSxyfX0pfSk7dmFyIEtydD1mKCgpPT57SnJ0KCl9KTt2YXIgZWF0LHhuZSx0YXQ9ZigoKT0+e2dvKCk7eWMoKTtaOCgpO2VhdD0oZSx0LHIpPT57bGV0IGE9bmV3IE1hcDtmb3IobGV0IGk9dDtpPD1yO2krKylhLnNldChlW2ldLGkpO3JldHVybiBhfSx4bmU9c2koY2xhc3MgZXh0ZW5kcyBQc3tjb25zdHJ1Y3RvcihlKXtpZihzdXBlcihlKSxlLnR5cGUhPT1vbC5DSElMRCl0aHJvdyBFcnJvcigicmVwZWF0KCkgY2FuIG9ubHkgYmUgdXNlZCBpbiB0ZXh0IGV4cHJlc3Npb25zIil9ZHQoZSx0LHIpe2xldCBhO3I9PT12b2lkIDA/cj10OnQhPT12b2lkIDAmJihhPXQpO2xldCBpPVtdLG49W10scz0wO2ZvcihsZXQgbyBvZiBlKWlbc109YT9hKG8scyk6cyxuW3NdPXIobyxzKSxzKys7cmV0dXJue3ZhbHVlczpuLGtleXM6aX19cmVuZGVyKGUsdCxyKXtyZXR1cm4gdGhpcy5kdChlLHQscikudmFsdWVzfXVwZGF0ZShlLFt0LHIsYV0pe2xldCBpPWNuZShlKSx7dmFsdWVzOm4sa2V5czpzfT10aGlzLmR0KHQscixhKTtpZighQXJyYXkuaXNBcnJheShpKSlyZXR1cm4gdGhpcy51dD1zLG47bGV0IG89dGhpcy51dD8/PVtdLGM9W10sbCx1LGQ9MCxoPWkubGVuZ3RoLTEsbT0wLHY9bi5sZW5ndGgtMTtmb3IoO2Q8PWgmJm08PXY7KWlmKGlbZF09PT1udWxsKWQrKztlbHNlIGlmKGlbaF09PT1udWxsKWgtLTtlbHNlIGlmKG9bZF09PT1zW21dKWNbbV09VG8oaVtkXSxuW21dKSxkKyssbSsrO2Vsc2UgaWYob1toXT09PXNbdl0pY1t2XT1UbyhpW2hdLG5bdl0pLGgtLSx2LS07ZWxzZSBpZihvW2RdPT09c1t2XSljW3ZdPVRvKGlbZF0sblt2XSksd2MoZSxjW3YrMV0saVtkXSksZCsrLHYtLTtlbHNlIGlmKG9baF09PT1zW21dKWNbbV09VG8oaVtoXSxuW21dKSx3YyhlLGlbZF0saVtoXSksaC0tLG0rKztlbHNlIGlmKGw9PT12b2lkIDAmJihsPWVhdChzLG0sdiksdT1lYXQobyxkLGgpKSxsLmhhcyhvW2RdKSlpZihsLmhhcyhvW2hdKSl7bGV0IGI9dS5nZXQoc1ttXSksZz1iIT09dm9pZCAwP2lbYl06bnVsbDtpZihnPT09bnVsbCl7bGV0IHk9d2MoZSxpW2RdKTtUbyh5LG5bbV0pLGNbbV09eX1lbHNlIGNbbV09VG8oZyxuW21dKSx3YyhlLGlbZF0sZyksaVtiXT1udWxsO20rK31lbHNlIElnKGlbaF0pLGgtLTtlbHNlIElnKGlbZF0pLGQrKztmb3IoO208PXY7KXtsZXQgYj13YyhlLGNbdisxXSk7VG8oYixuW21dKSxjW20rK109Yn1mb3IoO2Q8PWg7KXtsZXQgYj1pW2QrK107YiE9PW51bGwmJklnKGIpfXJldHVybiB0aGlzLnV0PXMsRWcoZSxjKSx1YX19KX0pO3ZhciByYXQ9ZigoKT0+e3RhdCgpfSk7dmFyIEZzPXt9O1JlKEZzLHthc3luY0FwcGVuZDooKT0+Ym5lLGtleWVkOigpPT52bmUscmVwZWF0OigpPT54bmUscmVzb2x2ZTooKT0+QnJ0LHJlc29sdmVFeGVjOigpPT5PR3Isc3Vic2NyaWJlOigpPT5SR3Isc3Vic2NyaWJlV2l0aFRlbXBsYXRlOigpPT5qcnQsdW50aWw6KCk9PmduZX0pO3ZhciBhYXQ9ZigoKT0+e0hydCgpO3FydCgpO1ZydCgpO1lydCgpO1FydCgpO0tydCgpO3JhdCgpfSk7dmFyIHAsdWU9ZigoKT0+e2JydCgpO0QyKCk7d3J0KCk7a3J0KCk7U3J0KCk7UHJ0KCk7SnQoKTtGcnQoKTthYXQoKTtwPVYkLmdldFNpbmdsZXRvbigpfSk7dmFyIEg0LERlLFFlPWYoKCk9Pnt1ZSgpO0g0PXtjb2xvcnM6e2xpZ2h0OntiZ1ByaW1hcnk6IiNmZmZmZmYiLGJnU2Vjb25kYXJ5OiIjZmFmYWZhIixiZ1RlcnRpYXJ5OiIjZjRmNGY1Iix0ZXh0UHJpbWFyeToiIzA5MDkwYiIsdGV4dFNlY29uZGFyeToiIzM3NDE1MSIsdGV4dE11dGVkOiIjNzE3MTdhIixib3JkZXJEZWZhdWx0OiIjZTVlN2ViIixib3JkZXJTdWJ0bGU6IiNmNGY0ZjUiLGJvcmRlclN0cm9uZzoiI2QxZDVkYiIsYWNjZW50UHJpbWFyeToiIzNiODJmNiIsYWNjZW50U3VjY2VzczoiIzIyYzU1ZSIsYWNjZW50V2FybmluZzoiI2Y1OWUwYiIsYWNjZW50RXJyb3I6IiNlZjQ0NDQifSxkYXJrOntiZ1ByaW1hcnk6IiMwOTA5MGIiLGJnU2Vjb25kYXJ5OiIjMGEwYTBhIixiZ1RlcnRpYXJ5OiIjMTgxODFiIix0ZXh0UHJpbWFyeToiI2ZhZmFmYSIsdGV4dFNlY29uZGFyeToiI2Q0ZDRkOCIsdGV4dE11dGVkOiIjYTFhMWFhIixib3JkZXJEZWZhdWx0OiIjMjcyNzJhIixib3JkZXJTdWJ0bGU6IiMxYTFhMWEiLGJvcmRlclN0cm9uZzoiIzNmM2Y0NiIsYWNjZW50UHJpbWFyeToiIzNiODJmNiIsYWNjZW50U3VjY2VzczoiIzIyYzU1ZSIsYWNjZW50V2FybmluZzoiI2Y1OWUwYiIsYWNjZW50RXJyb3I6IiNlZjQ0NDQifX0sc3BhY2luZzp7eHM6IjRweCIsc206IjhweCIsbWQ6IjEycHgiLGxnOiIxNnB4Iix4bDoiMjRweCIsIjJ4bCI6IjMycHgiLCIzeGwiOiI0OHB4In0scmFkaXVzOnt4czoiMnB4IixzbToiNHB4IixtZDoiNnB4IixsZzoiOHB4Iix4bDoiMTJweCIsZnVsbDoiOTk5cHgifSxzaGFkb3dzOnt4czoiMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSkiLHNtOiIwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpIixtZDoiMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLGxnOiIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkifSx0cmFuc2l0aW9uczp7ZmFzdDoiMC4xcyIsZGVmYXVsdDoiMC4xNXMiLHNsb3c6IjAuMnMiLHNsb3dlcjoiMC4zcyJ9LGNvbnRyb2xIZWlnaHRzOntzbToiMzJweCIsbWQ6IjM2cHgiLGxnOiI0MHB4Iix4bDoiNDhweCJ9fSxEZT1KYAogIDpob3N0IHsKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIFNwYWNpbmcgU2NhbGUKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1zcGFjaW5nLXhzOiA0cHg7CiAgICAtLWRlZXMtc3BhY2luZy1zbTogOHB4OwogICAgLS1kZWVzLXNwYWNpbmctbWQ6IDEycHg7CiAgICAtLWRlZXMtc3BhY2luZy1sZzogMTZweDsKICAgIC0tZGVlcy1zcGFjaW5nLXhsOiAyNHB4OwogICAgLS1kZWVzLXNwYWNpbmctMnhsOiAzMnB4OwogICAgLS1kZWVzLXNwYWNpbmctM3hsOiA0OHB4OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIEJvcmRlciBSYWRpdXMgU2NhbGUKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1yYWRpdXMteHM6IDJweDsKICAgIC0tZGVlcy1yYWRpdXMtc206IDRweDsKICAgIC0tZGVlcy1yYWRpdXMtbWQ6IDZweDsKICAgIC0tZGVlcy1yYWRpdXMtbGc6IDhweDsKICAgIC0tZGVlcy1yYWRpdXMteGw6IDEycHg7CiAgICAtLWRlZXMtcmFkaXVzLWZ1bGw6IDk5OXB4OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIFNoYWRvdyBFbGV2YXRpb24gU2NhbGUKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1zaGFkb3cteHM6IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpOwogICAgLS1kZWVzLXNoYWRvdy1zbTogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgIC0tZGVlcy1zaGFkb3ctbWQ6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgLS1kZWVzLXNoYWRvdy1sZzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIFRyYW5zaXRpb24gRHVyYXRpb24gU2NhbGUKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy10cmFuc2l0aW9uLWZhc3Q6IDAuMXM7CiAgICAtLWRlZXMtdHJhbnNpdGlvbi1kZWZhdWx0OiAwLjE1czsKICAgIC0tZGVlcy10cmFuc2l0aW9uLXNsb3c6IDAuMnM7CiAgICAtLWRlZXMtdHJhbnNpdGlvbi1zbG93ZXI6IDAuM3M7CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29udHJvbCBIZWlnaHQgU2NhbGUKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb250cm9sLWhlaWdodC1zbTogMzJweDsKICAgIC0tZGVlcy1jb250cm9sLWhlaWdodC1tZDogMzZweDsKICAgIC0tZGVlcy1jb250cm9sLWhlaWdodC1sZzogNDBweDsKICAgIC0tZGVlcy1jb250cm9sLWhlaWdodC14bDogNDhweDsKICB9CmB9KTt2YXIgaWF0PWYoKCk9Pnt9KTt2YXIgeW5lPWYoKCk9PntfbygpO19vKCl9KTt2YXIgbmF0PWYoKCk9Pnt9KTt2YXIgc2F0PWYoKCk9Pnt9KTt2YXIgb2F0PWYoKCk9Pnt9KTt2YXIgbGF0PWYoKCk9Pnt9KTt2YXIgd25lPXt9O3ZhciBNbmU9ZigoKT0+e25hdCgpO3NhdCgpO29hdCgpO2xhdCgpfSk7dmFyIGNhdD1mKCgpPT57TW5lKCk7SiQoKX0pO3ZhciBkYXQ9ZigoKT0+e19vKCl9KTt2YXIgdWF0PWYoKCk9Pnt9KTt2YXIgcGF0PWYoKCk9PntfbygpfSk7dmFyIGZhdD1mKCgpPT57X28oKX0pO3ZhciBoYXQ9ZigoKT0+e30pO3ZhciBtYXQ9ZigoKT0+e30pO3ZhciBnYXQ9ZigoKT0+e30pO3ZhciBrbmU9e307dmFyIEskPWYoKCk9PntkYXQoKTt1YXQoKTtwYXQoKTtmYXQoKTtoYXQoKTttYXQoKTtnYXQoKX0pO3ZhciBiYXQ9ZigoKT0+e0skKCk7eW5lKCl9KTt2YXIgdmF0PWYoKCk9PntKJCgpO0skKCl9KTt2YXIgeGF0PWYoKCk9Pnt9KTt2YXIgeWF0PWYoKCk9Pnt9KTt2YXIgU25lPXt9O3ZhciBKJD1mKCgpPT57aWF0KCk7eW5lKCk7Y2F0KCk7YmF0KCk7dmF0KCk7eGF0KCk7eWF0KCl9KTt2YXIgd2F0PWYoKCk9Pnt9KTt2YXIgTWF0PWYoKCk9Pnt9KTt2YXIgem5lPXt9O3ZhciBrYXQ9ZigoKT0+e3dhdCgpO01hdCgpfSk7dmFyIFNhdD1mKCgpPT57fSk7dmFyIHphdD1mKCgpPT57fSk7dmFyIENuZT17fTt2YXIgQ2F0PWYoKCk9PntTYXQoKTt6YXQoKX0pO3ZhciBUbmU9e307dmFyIFRhdD1mKCgpPT57fSk7dmFyIF9uZT1mKCgpPT57X28oKX0pO3ZhciBfYXQ9ZigoKT0+e19vKCl9KTt2YXIgTGF0PWYoKCk9PntfbmUoKX0pO3ZhciBMbmU9e307dmFyICRhdD1mKCgpPT57X25lKCk7X2F0KCk7TGF0KCl9KTt2YXIgRGF0PWYoKCk9Pnt9KTt2YXIgQWF0PWYoKCk9Pnt9KTt2YXIgJG5lPXt9O3ZhciBFYXQ9ZigoKT0+e0RhdCgpO0FhdCgpfSk7dmFyIERuZT1mKCgpPT57fSk7dmFyIEFuZSxJYXQ9ZigoKT0+e0RuZSgpO0FuZT1jbGFzc3t9fSk7dmFyIFBhdD1mKCgpPT57fSk7dmFyIE5hdD1mKCgpPT57fSk7dmFyIEZhdD1mKCgpPT57fSk7dmFyIE9hdD1mKCgpPT57fSk7dmFyIFJhdD1mKCgpPT57fSk7dmFyIEJhdD1mKCgpPT57fSk7dmFyIEhhdD1mKCgpPT57fSk7dmFyIHFhdD1mKCgpPT57fSk7dmFyIGphdD1mKCgpPT57fSk7dmFyIFZhdD1mKCgpPT57fSk7dmFyIGVEPXt9O1JlKGVELHtJQ25hbWVEZXNjcmlwdG9yOigpPT5BbmV9KTt2YXIgVWF0PWYoKCk9PntEbmUoKTtJYXQoKTtQYXQoKTtOYXQoKTtGYXQoKTtPYXQoKTtSYXQoKTtCYXQoKTtIYXQoKTtxYXQoKTtqYXQoKTtWYXQoKX0pO3ZhciBFbmU9ZigoKT0+e30pO3ZhciBXYXQ9ZigoKT0+e0VuZSgpfSk7dmFyIEluZT17fTt2YXIgR2F0PWYoKCk9PntXYXQoKTtFbmUoKX0pO3ZhciBQbmU9e307dmFyIFlhdD1mKCgpPT57fSk7dmFyIFphdD1mKCgpPT57fSk7dmFyIFhhdD1mKCgpPT57fSk7dmFyIFFhdD1mKCgpPT57fSk7dmFyIE5uZT17fTt2YXIgSmF0PWYoKCk9PntaYXQoKTtYYXQoKTtRYXQoKX0pO3ZhciBLYXQ9ZigoKT0+e30pO3ZhciBGbmU9e307UmUoRm5lLHtidXNpbmVzczooKT0+U25lLGNvZGU6KCk9PnpuZSxjb250YWluZXI6KCk9PkNuZSxjb250ZW50OigpPT5MbmUsZGF0YWJhc2U6KCk9PnduZSxkZXNjcmlwdG9yczooKT0+VG5lLGZpbmFuY2U6KCk9PmtuZSxnZW5lcmFsOigpPT4kbmUsbmV0d29yazooKT0+ZUQsc2FhczooKT0+SW5lLHN0b3JhZ2U6KCk9PlBuZSx3ZWJzaXRlOigpPT5ObmV9KTt2YXIgX289ZigoKT0+e0okKCk7a2F0KCk7Q2F0KCk7TW5lKCk7VGF0KCk7SyQoKTskYXQoKTtFYXQoKTtVYXQoKTtHYXQoKTtZYXQoKTtKYXQoKTtLYXQoKX0pO3ZhciB3aT1mKCgpPT57VWkoKTtfbygpfSk7dmFyIGVpdCx0aXQ9ZigoKT0+e3VlKCk7d2koKTtNaSgpO2VpdD0oKT0+TWAKPHN0eWxlPgogIC53aXRoTWFyZ2luIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiAyMHB4OwogIH0KICAuZGVtby1jb250YWluZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDIwcHg7CiAgICBwYWRkaW5nOiAyMHB4OwogICAgbWluLWhlaWdodDogNDAwcHg7CiAgfQogIC5kZW1vLWFyZWEgewogICAgcGFkZGluZzogNDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGN1cnNvcjogY29udGV4dC1tZW51OwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzOwogIH0KICAuZGVtby1hcmVhOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMik7CiAgfQo8L3N0eWxlPgo8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgPGRlZXMtcGFuZWwgaGVhZGluZz0iQmFzaWMgQ29udGV4dCBNZW51IHdpdGggTmVzdGVkIFN1Ym1lbnVzIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tYXJlYSIgQGNvbnRleHRtZW51PSR7ZT0+e01yLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGUsW3tuYW1lOiJGaWxlIixpY29uTmFtZToiZmlsZVRleHQiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiTmV3IixpY29uTmFtZToiZmlsZVBsdXMiLHNob3J0Y3V0OiJDbWQrTiIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJOZXcgZmlsZSIpfSx7bmFtZToiT3BlbiIsaWNvbk5hbWU6ImZvbGRlck9wZW4iLHNob3J0Y3V0OiJDbWQrTyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIGZpbGUiKX0se25hbWU6IlNhdmUiLGljb25OYW1lOiJzYXZlIixzaG9ydGN1dDoiQ21kK1MiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiU2F2ZSIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkV4cG9ydCBhcyBQREYiLGljb25OYW1lOiJkb3dubG9hZCIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJFeHBvcnQgUERGIil9LHtuYW1lOiJFeHBvcnQgYXMgSFRNTCIsaWNvbk5hbWU6ImNvZGUiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiRXhwb3J0IEhUTUwiKX1dfSx7bmFtZToiRWRpdCIsaWNvbk5hbWU6ImVkaXQzIixhY3Rpb246YXN5bmMoKT0+e30sc3VibWVudTpbe25hbWU6IkN1dCIsaWNvbk5hbWU6InNjaXNzb3JzIixzaG9ydGN1dDoiQ21kK1giLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiQ3V0Iil9LHtuYW1lOiJDb3B5IixpY29uTmFtZToiY29weSIsc2hvcnRjdXQ6IkNtZCtDIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkNvcHkiKX0se25hbWU6IlBhc3RlIixpY29uTmFtZToiY2xpcGJvYXJkIixzaG9ydGN1dDoiQ21kK1YiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiUGFzdGUiKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJGaW5kIixpY29uTmFtZToic2VhcmNoIixzaG9ydGN1dDoiQ21kK0YiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiRmluZCIpfSx7bmFtZToiUmVwbGFjZSIsaWNvbk5hbWU6InJlcGVhdCIsc2hvcnRjdXQ6IkNtZCtIIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlJlcGxhY2UiKX1dfSx7bmFtZToiVmlldyIsaWNvbk5hbWU6ImV5ZSIsYWN0aW9uOmFzeW5jKCk9Pnt9LHN1Ym1lbnU6W3tuYW1lOiJab29tIEluIixpY29uTmFtZToiem9vbUluIixzaG9ydGN1dDoiQ21kKysiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBpbiIpfSx7bmFtZToiWm9vbSBPdXQiLGljb25OYW1lOiJ6b29tT3V0IixzaG9ydGN1dDoiQ21kKy0iLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBvdXQiKX0se25hbWU6IlJlc2V0IFpvb20iLGljb25OYW1lOiJtYXhpbWl6ZTIiLHNob3J0Y3V0OiJDbWQrMCIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZXNldCB6b29tIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRnVsbCBTY3JlZW4iLGljb25OYW1lOiJtYXhpbWl6ZSIsc2hvcnRjdXQ6IkYxMSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJGdWxsIHNjcmVlbiIpfV19LHtkaXZpZGVyOiEwfSx7bmFtZToiU2V0dGluZ3MiLGljb25OYW1lOiJzZXR0aW5ncyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpfSx7bmFtZToiSGVscCIsaWNvbk5hbWU6ImhlbHBDaXJjbGUiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiRG9jdW1lbnRhdGlvbiIsaWNvbk5hbWU6ImJvb2siLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiRG9jdW1lbnRhdGlvbiIpfSx7bmFtZToiS2V5Ym9hcmQgU2hvcnRjdXRzIixpY29uTmFtZToia2V5Ym9hcmQiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiU2hvcnRjdXRzIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiQWJvdXQiLGljb25OYW1lOiJpbmZvIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkFib3V0Iil9XX1dKX19PgogICAgICA8aDM+UmlnaHQtY2xpY2sgYW55d2hlcmUgaW4gdGhpcyBhcmVhPC9oMz4KICAgICAgPHA+QSBjb250ZXh0IG1lbnUgd2l0aCBuZXN0ZWQgc3VibWVudXMgd2lsbCBhcHBlYXI8L3A+CiAgICA8L2Rpdj4KICA8L2RlZXMtcGFuZWw+CiAgPGRlZXMtcGFuZWwgaGVhZGluZz0iQ29tcG9uZW50LVNwZWNpZmljIENvbnRleHQgTWVudSI+CiAgICA8ZGVlcy1idXR0b24gc3R5bGU9Im1hcmdpbjogMjBweDsiIEBjb250ZXh0bWVudT0ke2U9PntNci5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhlLFt7bmFtZToiQnV0dG9uIEFjdGlvbnMiLGljb25OYW1lOiJtb3VzZVBvaW50ZXIiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiQ2xpY2siLGljb25OYW1lOiJtb3VzZSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJDbGljayBhY3Rpb24iKX0se25hbWU6IkRvdWJsZSBDbGljayIsaWNvbk5hbWU6InphcCIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJEb3VibGUgY2xpY2siKX0se25hbWU6IkxvbmcgUHJlc3MiLGljb25OYW1lOiJjbG9jayIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJMb25nIHByZXNzIil9XX0se25hbWU6IkJ1dHRvbiBTdGF0ZSIsaWNvbk5hbWU6InRvZ2dsZUxlZnQiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiRW5hYmxlIixpY29uTmFtZToiY2hlY2tDaXJjbGUiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiRW5hYmxlIil9LHtuYW1lOiJEaXNhYmxlIixpY29uTmFtZToieENpcmNsZSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJEaXNhYmxlIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2hvdyIsaWNvbk5hbWU6ImV5ZSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaG93Iil9LHtuYW1lOiJIaWRlIixpY29uTmFtZToiZXllT2ZmIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkhpZGUiKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IkRpc2FibGVkIEFjdGlvbiIsaWNvbk5hbWU6ImJhbiIsZGlzYWJsZWQ6ITAsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJUaGlzIHNob3VsZCBub3QgcnVuIil9LHtuYW1lOiJQcm9wZXJ0aWVzIixpY29uTmFtZToic2V0dGluZ3MiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiQnV0dG9uIHByb3BlcnRpZXMiKX1dKX19PlJpZ2h0LWNsaWNrIG9uIHRoaXMgYnV0dG9uPC9kZWVzLWJ1dHRvbj4KICA8L2RlZXMtcGFuZWw+CgogIDxkZWVzLXBhbmVsIGhlYWRpbmc9IkFkdmFuY2VkIENvbnRleHQgTWVudSBFeGFtcGxlIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tYXJlYSIgQGNvbnRleHRtZW51PSR7ZT0+e01yLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGUsW3tuYW1lOiJGb3JtYXQiLGljb25OYW1lOiJ0eXBlIixhY3Rpb246YXN5bmMoKT0+e30sc3VibWVudTpbe25hbWU6IkJvbGQiLGljb25OYW1lOiJib2xkIixzaG9ydGN1dDoiQ21kK0IiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiQm9sZCIpfSx7bmFtZToiSXRhbGljIixpY29uTmFtZToiaXRhbGljIixzaG9ydGN1dDoiQ21kK0kiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiSXRhbGljIil9LHtuYW1lOiJVbmRlcmxpbmUiLGljb25OYW1lOiJ1bmRlcmxpbmUiLHNob3J0Y3V0OiJDbWQrVSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJVbmRlcmxpbmUiKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJGb250IFNpemUiLGljb25OYW1lOiJ0eXBlIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkZvbnQgc2l6ZSBtZW51Iil9LHtuYW1lOiJGb250IENvbG9yIixpY29uTmFtZToicGFsZXR0ZSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJGb250IGNvbG9yIG1lbnUiKX1dfSx7bmFtZToiVHJhbnNmb3JtIixpY29uTmFtZToic2h1ZmZsZSIsYWN0aW9uOmFzeW5jKCk9Pnt9LHN1Ym1lbnU6W3tuYW1lOiJUbyBVcHBlcmNhc2UiLGljb25OYW1lOiJhcnJvd1VwIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlVwcGVyY2FzZSIpfSx7bmFtZToiVG8gTG93ZXJjYXNlIixpY29uTmFtZToiYXJyb3dEb3duIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkxvd2VyY2FzZSIpfSx7bmFtZToiQ2FwaXRhbGl6ZSIsaWNvbk5hbWU6InR5cGUiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiQ2FwaXRhbGl6ZSIpfV19LHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToidHJhc2gyIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkRlbGV0ZSIpfV0pfX0+CiAgICAgIDxoMz5BZHZhbmNlZCBOZXN0ZWQgTWVudSBFeGFtcGxlPC9oMz4KICAgICAgPHA+VGhpcyBzaG93cyBkZWVwbHkgbmVzdGVkIHN1Ym1lbnVzIGFuZCB2YXJpb3VzIGZvcm1hdHRpbmcgb3B0aW9uczwvcD4KICAgIDwvZGl2PgogIDwvZGVlcy1wYW5lbD4KICAKICA8ZGVlcy1wYW5lbCBoZWFkaW5nPSJTdGF0aWMgQ29udGV4dCBNZW51IChBbHdheXMgVmlzaWJsZSkiPgogICAgPGRlZXMtY29udGV4dG1lbnUKICAgICAgY2xhc3M9IndpdGhNYXJnaW4iCiAgICAgIC5tZW51SXRlbXM9JHtbe25hbWU6IlByb2plY3QiLGljb25OYW1lOiJmb2xkZXIiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiTmV3IFByb2plY3QiLGljb25OYW1lOiJmb2xkZXJQbHVzIixzaG9ydGN1dDoiQ21kK1NoaWZ0K04iLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiTmV3IHByb2plY3QiKX0se25hbWU6Ik9wZW4gUHJvamVjdCIsaWNvbk5hbWU6ImZvbGRlck9wZW4iLHNob3J0Y3V0OiJDbWQrU2hpZnQrTyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIHByb2plY3QiKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJSZWNlbnQgUHJvamVjdHMiLGljb25OYW1lOiJjbG9jayIsYWN0aW9uOmFzeW5jKCk9Pnt9LHN1Ym1lbnU6W3tuYW1lOiJQcm9qZWN0IEFscGhhIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gQWxwaGEiKX0se25hbWU6IlByb2plY3QgQmV0YSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIEJldGEiKX0se25hbWU6IlByb2plY3QgR2FtbWEiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiBHYW1tYSIpfV19XX0se25hbWU6IlRvb2xzIixpY29uTmFtZToidG9vbCIsYWN0aW9uOmFzeW5jKCk9Pnt9LHN1Ym1lbnU6W3tuYW1lOiJUZXJtaW5hbCIsaWNvbk5hbWU6InRlcm1pbmFsIixzaG9ydGN1dDoiQ21kK1QiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiVGVybWluYWwiKX0se25hbWU6IkNvbnNvbGUiLGljb25OYW1lOiJtb25pdG9yIixzaG9ydGN1dDoiQ21kK0siLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiQ29uc29sZSIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkV4dGVuc2lvbnMiLGljb25OYW1lOiJwYWNrYWdlIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkV4dGVuc2lvbnMiKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IlByZWZlcmVuY2VzIixpY29uTmFtZToic2xpZGVycyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJQcmVmZXJlbmNlcyIpfV19CiAgICA+PC9kZWVzLWNvbnRleHRtZW51PgogIDwvZGVlcy1wYW5lbD4KPC9kaXY+CmB9KTt2YXIgTmcsTWMsT3Msa2M9ZigoKT0+e3VlKCk7a3MoKTtOZz1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LE1jPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxPcz0oKCk9PntsZXQgZT1bcmUoImRlZXMtd2luZG93bGF5ZXIiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IHc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bc2UoKV0sYz1bc2UoKV0sZD1bc2UoKV0sdj1bRih7dHlwZTpCb29sZWFufSldLE5nKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+Im9wdGlvbnMiaW4gayxnZXQ6az0+ay5vcHRpb25zLHNldDooayxSKT0+e2sub3B0aW9ucz1SfX0sbWV0YWRhdGE6d30scyxvKSxOZyh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhY2tkcm9wWkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4iYmFja2Ryb3BaSW5kZXgiaW4gayxnZXQ6az0+ay5iYWNrZHJvcFpJbmRleCxzZXQ6KGssUik9PntrLmJhY2tkcm9wWkluZGV4PVJ9fSxtZXRhZGF0YTp3fSxsLHUpLE5nKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImNvbnRlbnRaSW5kZXgiaW4gayxnZXQ6az0+ay5jb250ZW50WkluZGV4LHNldDooayxSKT0+e2suY29udGVudFpJbmRleD1SfX0sbWV0YWRhdGE6d30saCxtKSxOZyh0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJ2aXNpYmxlImluIGssZ2V0Oms9PmsudmlzaWJsZSxzZXQ6KGssUik9PntrLnZpc2libGU9Un19LG1ldGFkYXRhOnd9LGIsZyksTmcobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6d30sbnVsbCxyKSx5PWE9dC52YWx1ZSx3JiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnd9KX1zdGF0aWMgZGVtbz0oKT0+TWA8ZGVlcy13aW5kb3dsYXllcj48L2RlZXMtd2luZG93bGF5ZXI+YDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk92ZXJsYXkiXTtzdGF0aWMgYXN5bmMgY3JlYXRlQW5kU2hvdyh3KXtsZXQgaz1TdC5Eb21Ub29scy5nZXRHbG9iYWxEb21Ub29sc1N5bmMoKSxSPW5ldyB5O3JldHVybiBSLm9wdGlvbnM9ey4uLlIub3B0aW9ucywuLi53fSxkb2N1bWVudC5ib2R5LmFwcGVuZChSKSxhd2FpdCBrLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksUi5zaG93KCksUn0jZT1NYyh0aGlzLHMse2JsdXI6ITF9KTtnZXQgb3B0aW9ucygpe3JldHVybiB0aGlzLiNlfXNldCBvcHRpb25zKHcpe3RoaXMuI2U9d30jdD0oTWModGhpcyxvKSxNYyh0aGlzLGwsMWUzKSk7Z2V0IGJhY2tkcm9wWkluZGV4KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJhY2tkcm9wWkluZGV4KHcpe3RoaXMuI3Q9d30jcj0oTWModGhpcyx1KSxNYyh0aGlzLGgsMTAwMSkpO2dldCBjb250ZW50WkluZGV4KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNvbnRlbnRaSW5kZXgodyl7dGhpcy4jcj13fSNhPShNYyh0aGlzLG0pLE1jKHRoaXMsYiwhMSkpO2dldCB2aXNpYmxlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHZpc2libGUodyl7dGhpcy4jYT13fWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxNYyh0aGlzLGcpLFN0LmVsZW1lbnRCYXNpYy5zZXR1cCgpfXJlbmRlcigpe3JldHVybiBNYAogICAgICAke1N0LmVsZW1lbnRCYXNpYy5zdHlsZXN9CiAgICAgIDxzdHlsZT4KICAgICAgICAud2luZG93T3ZlcmxheSB7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICB0b3A6IDBweDsKICAgICAgICAgIGxlZnQ6IDBweDsKICAgICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgICB3aWR0aDogMTAwdnc7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjApOwogICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBicmlnaHRuZXNzKDEpICR7dGhpcy5vcHRpb25zLmJsdXI/ImJsdXIoMHB4KSI6IiJ9OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgICB6LWluZGV4OiAke3RoaXMuYmFja2Ryb3BaSW5kZXh9OwogICAgICAgIH0KICAgICAgICAuc2xvdENvbnRlbnQgewogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgICAgIHdpZHRoOiAxMDB2dzsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICB6LWluZGV4OiAke3RoaXMuY29udGVudFpJbmRleH07CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNsb3RDb250ZW50ID4gKiB7CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnZpc2libGUgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBicmlnaHRuZXNzKDAuOSkgJHt0aGlzLm9wdGlvbnMuYmx1cj8iYmx1cigycHgpIjoiIn07CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBAY2xpY2s9JHt0aGlzLmRpc3BhdGNoQ2xpY2tlZH0gY2xhc3M9IndpbmRvd092ZXJsYXkgJHt0aGlzLnZpc2libGU/InZpc2libGUiOm51bGx9Ij4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNsb3RDb250ZW50Ij4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgYH1maXJzdFVwZGF0ZWQoKXtzZXRUaW1lb3V0KCgpPT57dGhpcy52aXNpYmxlPSEwfSwxMDApfWRpc3BhdGNoQ2xpY2tlZCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNsaWNrZWQiKSl9dG9nZ2xlVmlzaWJpbGl0eSgpe3RoaXMudmlzaWJsZT0hdGhpcy52aXNpYmxlfWdldENvbnRlbnRaSW5kZXgoKXtyZXR1cm4gdGhpcy5jb250ZW50WkluZGV4fWFzeW5jIHNob3coKXtsZXQgdz1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLmJhY2tkcm9wWkluZGV4PXJhLmdldE5leHRaSW5kZXgoKSx0aGlzLmNvbnRlbnRaSW5kZXg9cmEuZ2V0TmV4dFpJbmRleCgpLHJhLnJlZ2lzdGVyKHRoaXMsdGhpcy5iYWNrZHJvcFpJbmRleCksYXdhaXQgdy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMudmlzaWJsZT0hMH1hc3luYyBoaWRlKCl7YXdhaXQoYXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UpLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksdGhpcy52aXNpYmxlPSExfWFzeW5jIGRlc3Ryb3koKXtsZXQgdz1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTthd2FpdCB0aGlzLmhpZGUoKSxhd2FpdCB3LmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzAwKSxyYS51bnJlZ2lzdGVyKHRoaXMpLHRoaXMucmVtb3ZlKCl9c3RhdGlje01jKGEscil9fTtyZXR1cm4geT1hfSkoKX0pO2Z1bmN0aW9uIE9uZShlLHQpeyh0PT1udWxsfHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgcj0wLGE9QXJyYXkodCk7cjx0O3IrKylhW3JdPWVbcl07cmV0dXJuIGF9ZnVuY3Rpb24gcUdyKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9ZnVuY3Rpb24gakdyKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIE9uZShlKX1mdW5jdGlvbiBWR3IoZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiByaXQoZSx0KXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGE9dFtyXTthLmVudW1lcmFibGU9YS5lbnVtZXJhYmxlfHwhMSxhLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gYSYmKGEud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGlpdChhLmtleSksYSl9fWZ1bmN0aW9uIFVHcihlLHQscil7cmV0dXJuIHQmJnJpdChlLnByb3RvdHlwZSx0KSxyJiZyaXQoZSxyKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxlfWZ1bmN0aW9uIHREKGUsdCl7dmFyIHI9dHlwZW9mIFN5bWJvbDwidSImJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFyKXtpZihBcnJheS5pc0FycmF5KGUpfHwocj1SbmUoZSkpfHx0JiZlJiZ0eXBlb2YgZS5sZW5ndGg9PSJudW1iZXIiKXtyJiYoZT1yKTt2YXIgYT0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBhPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVthKytdfX0sZTpmdW5jdGlvbihjKXt0aHJvdyBjfSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS4KSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLmApfXZhciBuLHM9ITAsbz0hMTtyZXR1cm57czpmdW5jdGlvbigpe3I9ci5jYWxsKGUpfSxuOmZ1bmN0aW9uKCl7dmFyIGM9ci5uZXh0KCk7cmV0dXJuIHM9Yy5kb25lLGN9LGU6ZnVuY3Rpb24oYyl7bz0hMCxuPWN9LGY6ZnVuY3Rpb24oKXt0cnl7c3x8ci5yZXR1cm49PW51bGx8fHIucmV0dXJuKCl9ZmluYWxseXtpZihvKXRocm93IG59fX19ZnVuY3Rpb24gSXQoZSx0LHIpe3JldHVybih0PWlpdCh0KSlpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPXIsZX1mdW5jdGlvbiBXR3IoZSx0KXtpZih0eXBlb2YgdCE9ImZ1bmN0aW9uIiYmdCE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTtlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6ZSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksdCYmckQoZSx0KX1mdW5jdGlvbiBHR3IoZSl7aWYodHlwZW9mIFN5bWJvbDwidSImJmVbU3ltYm9sLml0ZXJhdG9yXSE9bnVsbHx8ZVsiQEBpdGVyYXRvciJdIT1udWxsKXJldHVybiBBcnJheS5mcm9tKGUpfWZ1bmN0aW9uIFlHcihlLHQpe3ZhciByPWU9PW51bGw/bnVsbDp0eXBlb2YgU3ltYm9sPCJ1IiYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYociE9bnVsbCl7dmFyIGEsaSxuLHMsbz1bXSxjPSEwLGw9ITE7dHJ5e2lmKG49KHI9ci5jYWxsKGUpKS5uZXh0LHQ9PT0wKXtpZihPYmplY3QocikhPT1yKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KGE9bi5jYWxsKHIpKS5kb25lKSYmKG8ucHVzaChhLnZhbHVlKSxvLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaCh1KXtsPSEwLGk9dX1maW5hbGx5e3RyeXtpZighYyYmci5yZXR1cm4hPW51bGwmJihzPXIucmV0dXJuKCksT2JqZWN0KHMpIT09cykpcmV0dXJufWZpbmFsbHl7aWYobCl0aHJvdyBpfX1yZXR1cm4gb319ZnVuY3Rpb24gWkdyKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS4KSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLmApfWZ1bmN0aW9uIFhHcigpe3Rocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLgpJbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuYCl9ZnVuY3Rpb24gYWl0KGUsdCl7dmFyIHI9T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGE9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYoYT1hLmZpbHRlcihmdW5jdGlvbihpKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGkpLmVudW1lcmFibGV9KSksci5wdXNoLmFwcGx5KHIsYSl9cmV0dXJuIHJ9ZnVuY3Rpb24gVmUoZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIHI9YXJndW1lbnRzW3RdIT1udWxsP2FyZ3VtZW50c1t0XTp7fTt0JTI/YWl0KE9iamVjdChyKSwhMCkuZm9yRWFjaChmdW5jdGlvbihhKXtJdChlLGEsclthXSl9KTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHIpKTphaXQoT2JqZWN0KHIpKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGEsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGEpKX0pfXJldHVybiBlfWZ1bmN0aW9uIHJEKGUsdCl7cmV0dXJuIHJEPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKHIsYSl7cmV0dXJuIHIuX19wcm90b19fPWEscn0sckQoZSx0KX1mdW5jdGlvbiBhRChlLHQpe3JldHVybiBxR3IoZSl8fFlHcihlLHQpfHxSbmUoZSx0KXx8WkdyKCl9ZnVuY3Rpb24gTG8oZSl7cmV0dXJuIGpHcihlKXx8R0dyKGUpfHxSbmUoZSl8fFhHcigpfWZ1bmN0aW9uIFFHcihlLHQpe2lmKHR5cGVvZiBlIT0ib2JqZWN0Inx8IWUpcmV0dXJuIGU7dmFyIHI9ZVtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHIhPT12b2lkIDApe3ZhciBhPXIuY2FsbChlLHR8fCJkZWZhdWx0Iik7aWYodHlwZW9mIGEhPSJvYmplY3QiKXJldHVybiBhO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKHQ9PT0ic3RyaW5nIj9TdHJpbmc6TnVtYmVyKShlKX1mdW5jdGlvbiBpaXQoZSl7dmFyIHQ9UUdyKGUsInN0cmluZyIpO3JldHVybiB0eXBlb2YgdD09InN5bWJvbCI/dDp0KyIifWZ1bmN0aW9uIGlEKGUpeyJAYmFiZWwvaGVscGVycyAtIHR5cGVvZiI7cmV0dXJuIGlEPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJnR5cGVvZiBTeW1ib2wuaXRlcmF0b3I9PSJzeW1ib2wiP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxpRChlKX1mdW5jdGlvbiBSbmUoZSx0KXtpZihlKXtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIE9uZShlLHQpO3ZhciByPXt9LnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuIHI9PT0iT2JqZWN0IiYmZS5jb25zdHJ1Y3RvciYmKHI9ZS5jb25zdHJ1Y3Rvci5uYW1lKSxyPT09Ik1hcCJ8fHI9PT0iU2V0Ij9BcnJheS5mcm9tKGUpOnI9PT0iQXJndW1lbnRzInx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qocik/T25lKGUsdCk6dm9pZCAwfX1mdW5jdGlvbiBJbigpe0luPWZ1bmN0aW9uKGksbil7cmV0dXJuIG5ldyByKGksdm9pZCAwLG4pfTt2YXIgZT1SZWdFeHAucHJvdG90eXBlLHQ9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gcihpLG4scyl7dmFyIG89UmVnRXhwKGksbik7cmV0dXJuIHQuc2V0KG8sc3x8dC5nZXQoaSkpLHJEKG8sci5wcm90b3R5cGUpfWZ1bmN0aW9uIGEoaSxuKXt2YXIgcz10LmdldChuKTtyZXR1cm4gT2JqZWN0LmtleXMocykucmVkdWNlKGZ1bmN0aW9uKG8sYyl7dmFyIGw9c1tjXTtpZih0eXBlb2YgbD09Im51bWJlciIpb1tjXT1pW2xdO2Vsc2V7Zm9yKHZhciB1PTA7aVtsW3VdXT09PXZvaWQgMCYmdSsxPGwubGVuZ3RoOyl1Kys7b1tjXT1pW2xbdV1dfXJldHVybiBvfSxPYmplY3QuY3JlYXRlKG51bGwpKX1yZXR1cm4gV0dyKHIsUmVnRXhwKSxyLnByb3RvdHlwZS5leGVjPWZ1bmN0aW9uKGkpe3ZhciBuPWUuZXhlYy5jYWxsKHRoaXMsaSk7aWYobil7bi5ncm91cHM9YShuLHRoaXMpO3ZhciBzPW4uaW5kaWNlcztzJiYocy5ncm91cHM9YShzLHRoaXMpKX1yZXR1cm4gbn0sci5wcm90b3R5cGVbU3ltYm9sLnJlcGxhY2VdPWZ1bmN0aW9uKGksbil7aWYodHlwZW9mIG49PSJzdHJpbmciKXt2YXIgcz10LmdldCh0aGlzKTtyZXR1cm4gZVtTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLGksbi5yZXBsYWNlKC9cJDwoW14+XSspKD58JCkvZyxmdW5jdGlvbihjLGwsdSl7aWYodT09PSIiKXJldHVybiBjO3ZhciBkPXNbbF07cmV0dXJuIEFycmF5LmlzQXJyYXkoZCk/IiQiK2Quam9pbigiJCIpOnR5cGVvZiBkPT0ibnVtYmVyIj8iJCIrZDoiIn0pKX1pZih0eXBlb2Ygbj09ImZ1bmN0aW9uIil7dmFyIG89dGhpcztyZXR1cm4gZVtTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLGksZnVuY3Rpb24oKXt2YXIgYz1hcmd1bWVudHM7cmV0dXJuIHR5cGVvZiBjW2MubGVuZ3RoLTFdIT0ib2JqZWN0IiYmKGM9W10uc2xpY2UuY2FsbChjKSkucHVzaChhKGMsbykpLG4uYXBwbHkodGhpcyxjKX0pfXJldHVybiBlW1N5bWJvbC5yZXBsYWNlXS5jYWxsKHRoaXMsaSxuKX0sSW4uYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIE9nKGUpe3JldHVybiBuZXcgUHJveHkoZSx7Z2V0OmZ1bmN0aW9uKHIsYSl7cmV0dXJuIGEgaW4gcj9yW2FdOnJbWGldfX0pfWZ1bmN0aW9uIFJacihlKXt2YXIgdD1mYS5xdWVyeVNlbGVjdG9yKCJzY3JpcHRbIitlKyJdIik7aWYodClyZXR1cm4gdC5nZXRBdHRyaWJ1dGUoZSl9ZnVuY3Rpb24gQlpyKGUpe3JldHVybiBlPT09IiI/ITA6ZT09PSJmYWxzZSI/ITE6ZT09PSJ0cnVlIj8hMDplfWZ1bmN0aW9uIEhacihlKXtyZXR1cm4gQmcucHVzaChlKSxmdW5jdGlvbigpe0JnLnNwbGljZShCZy5pbmRleE9mKGUpLDEpfX1mdW5jdGlvbiBxWnIoZSl7aWYoISghZXx8IVNjKSl7dmFyIHQ9ZmEuY3JlYXRlRWxlbWVudCgic3R5bGUiKTt0LnNldEF0dHJpYnV0ZSgidHlwZSIsInRleHQvY3NzIiksdC5pbm5lckhUTUw9ZTtmb3IodmFyIHI9ZmEuaGVhZC5jaGlsZE5vZGVzLGE9bnVsbCxpPXIubGVuZ3RoLTE7aT4tMTtpLS0pe3ZhciBuPXJbaV0scz0obi50YWdOYW1lfHwiIikudG9VcHBlckNhc2UoKTtbIlNUWUxFIiwiTElOSyJdLmluZGV4T2Yocyk+LTEmJihhPW4pfXJldHVybiBmYS5oZWFkLmluc2VydEJlZm9yZSh0LGEpLGV9fWZ1bmN0aW9uIFlpdCgpe2Zvcih2YXIgZT0xMix0PSIiO2UtLSA+MDspdCs9alpyW01hdGgucmFuZG9tKCkqNjJ8MF07cmV0dXJuIHR9ZnVuY3Rpb24gSjgoZSl7Zm9yKHZhciB0PVtdLHI9KGV8fFtdKS5sZW5ndGg+Pj4wO3ItLTspdFtyXT1lW3JdO3JldHVybiB0fWZ1bmN0aW9uIEtuZShlKXtyZXR1cm4gZS5jbGFzc0xpc3Q/SjgoZS5jbGFzc0xpc3QpOihlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpLnNwbGl0KCIgIikuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0fSl9ZnVuY3Rpb24gWml0KGUpe3JldHVybiIiLmNvbmNhdChlKS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csIiYjMzk7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7Iil9ZnVuY3Rpb24gVlpyKGUpe3JldHVybiBPYmplY3Qua2V5cyhlfHx7fSkucmVkdWNlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHQrIiIuY29uY2F0KHIsJz0iJykuY29uY2F0KFppdChlW3JdKSwnIiAnKX0sIiIpLnRyaW0oKX1mdW5jdGlvbiBvRChlKXtyZXR1cm4gT2JqZWN0LmtleXMoZXx8e30pLnJlZHVjZShmdW5jdGlvbih0LHIpe3JldHVybiB0KyIiLmNvbmNhdChyLCI6ICIpLmNvbmNhdChlW3JdLnRyaW0oKSwiOyIpfSwiIil9ZnVuY3Rpb24gZTFlKGUpe3JldHVybiBlLnNpemUhPT1sbC5zaXplfHxlLnghPT1sbC54fHxlLnkhPT1sbC55fHxlLnJvdGF0ZSE9PWxsLnJvdGF0ZXx8ZS5mbGlwWHx8ZS5mbGlwWX1mdW5jdGlvbiBVWnIoZSl7dmFyIHQ9ZS50cmFuc2Zvcm0scj1lLmNvbnRhaW5lcldpZHRoLGE9ZS5pY29uV2lkdGgsaT17dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIi5jb25jYXQoci8yLCIgMjU2KSIpfSxuPSJ0cmFuc2xhdGUoIi5jb25jYXQodC54KjMyLCIsICIpLmNvbmNhdCh0LnkqMzIsIikgIikscz0ic2NhbGUoIi5jb25jYXQodC5zaXplLzE2Kih0LmZsaXBYPy0xOjEpLCIsICIpLmNvbmNhdCh0LnNpemUvMTYqKHQuZmxpcFk/LTE6MSksIikgIiksbz0icm90YXRlKCIuY29uY2F0KHQucm90YXRlLCIgMCAwKSIpLGM9e3RyYW5zZm9ybToiIi5jb25jYXQobiwiICIpLmNvbmNhdChzLCIgIikuY29uY2F0KG8pfSxsPXt0cmFuc2Zvcm06InRyYW5zbGF0ZSgiLmNvbmNhdChhLzIqLTEsIiAtMjU2KSIpfTtyZXR1cm57b3V0ZXI6aSxpbm5lcjpjLHBhdGg6bH19ZnVuY3Rpb24gV1pyKGUpe3ZhciB0PWUudHJhbnNmb3JtLHI9ZS53aWR0aCxhPXI9PT12b2lkIDA/Vm5lOnIsaT1lLmhlaWdodCxuPWk9PT12b2lkIDA/Vm5lOmkscz1lLnN0YXJ0Q2VudGVyZWQsbz1zPT09dm9pZCAwPyExOnMsYz0iIjtyZXR1cm4gbyYmcGl0P2MrPSJ0cmFuc2xhdGUoIi5jb25jYXQodC54L2o0LWEvMiwiZW0sICIpLmNvbmNhdCh0LnkvajQtbi8yLCJlbSkgIik6bz9jKz0idHJhbnNsYXRlKGNhbGMoLTUwJSArICIuY29uY2F0KHQueC9qNCwiZW0pLCBjYWxjKC01MCUgKyAiKS5jb25jYXQodC55L2o0LCJlbSkpICIpOmMrPSJ0cmFuc2xhdGUoIi5jb25jYXQodC54L2o0LCJlbSwgIikuY29uY2F0KHQueS9qNCwiZW0pICIpLGMrPSJzY2FsZSgiLmNvbmNhdCh0LnNpemUvajQqKHQuZmxpcFg/LTE6MSksIiwgIikuY29uY2F0KHQuc2l6ZS9qNCoodC5mbGlwWT8tMToxKSwiKSAiKSxjKz0icm90YXRlKCIuY29uY2F0KHQucm90YXRlLCJkZWcpICIpLGN9ZnVuY3Rpb24gWGl0KCl7dmFyIGU9T2l0LHQ9Uml0LHI9cHQuY3NzUHJlZml4LGE9cHQucmVwbGFjZW1lbnRDbGFzcyxpPUdacjtpZihyIT09ZXx8YSE9PXQpe3ZhciBuPW5ldyBSZWdFeHAoIlxcLiIuY29uY2F0KGUsIlxcLSIpLCJnIikscz1uZXcgUmVnRXhwKCJcXC0tIi5jb25jYXQoZSwiXFwtIiksImciKSxvPW5ldyBSZWdFeHAoIlxcLiIuY29uY2F0KHQpLCJnIik7aT1pLnJlcGxhY2UobiwiLiIuY29uY2F0KHIsIi0iKSkucmVwbGFjZShzLCItLSIuY29uY2F0KHIsIi0iKSkucmVwbGFjZShvLCIuIi5jb25jYXQoYSkpfXJldHVybiBpfWZ1bmN0aW9uIHQxZSgpe3B0LmF1dG9BZGRDc3MmJiFRaXQmJihxWnIoWGl0KCkpLFFpdD0hMCl9ZnVuY3Rpb24gWlpyKGUpe1NjJiYobEQ/c2V0VGltZW91dChlLDApOkppdC5wdXNoKGUpKX1mdW5jdGlvbiBIZyhlKXt2YXIgdD1lLnRhZyxyPWUuYXR0cmlidXRlcyxhPXI9PT12b2lkIDA/e306cixpPWUuY2hpbGRyZW4sbj1pPT09dm9pZCAwP1tdOmk7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIj9aaXQoZSk6IjwiLmNvbmNhdCh0LCIgIikuY29uY2F0KFZacihhKSwiPiIpLmNvbmNhdChuLm1hcChIZykuam9pbigiIiksIjwvIikuY29uY2F0KHQsIj4iKX1mdW5jdGlvbiBlbnQoZSx0LHIpe2lmKGUmJmVbdF0mJmVbdF1bcl0pcmV0dXJue3ByZWZpeDp0LGljb25OYW1lOnIsaWNvbjplW3RdW3JdfX1mdW5jdGlvbiB0bnQoZSl7cmV0dXJuIExvKGUpLmxlbmd0aCE9PTE/bnVsbDplLmNvZGVQb2ludEF0KDApLnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBybnQoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZShmdW5jdGlvbih0LHIpe3ZhciBhPWVbcl0saT0hIWEuaWNvbjtyZXR1cm4gaT90W2EuaWNvbk5hbWVdPWEuaWNvbjp0W3JdPWEsdH0se30pfWZ1bmN0aW9uIGExZShlLHQpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MiYmYXJndW1lbnRzWzJdIT09dm9pZCAwP2FyZ3VtZW50c1syXTp7fSxhPXIuc2tpcEhvb2tzLGk9YT09PXZvaWQgMD8hMTphLG49cm50KHQpO3R5cGVvZiAkby5ob29rcy5hZGRQYWNrPT0iZnVuY3Rpb24iJiYhaT8kby5ob29rcy5hZGRQYWNrKGUscm50KHQpKTokby5zdHlsZXNbZV09VmUoVmUoe30sJG8uc3R5bGVzW2VdfHx7fSksbiksZT09PSJmYXMiJiZhMWUoImZhIix0KX1mdW5jdGlvbiBLWnIoZSl7cmV0dXJufk9aci5pbmRleE9mKGUpfWZ1bmN0aW9uIGVYcihlLHQpe3ZhciByPXQuc3BsaXQoIi0iKSxhPXJbMF0saT1yLnNsaWNlKDEpLmpvaW4oIi0iKTtyZXR1cm4gYT09PWUmJmkhPT0iIiYmIUtacihpKT9pOm51bGx9ZnVuY3Rpb24gczFlKGUsdCl7cmV0dXJuKGludFtlXXx8e30pW3RdfWZ1bmN0aW9uIHRYcihlLHQpe3JldHVybihubnRbZV18fHt9KVt0XX1mdW5jdGlvbiBxNihlLHQpe3JldHVybihsbnRbZV18fHt9KVt0XX1mdW5jdGlvbiBkbnQoZSl7cmV0dXJuIHNudFtlXXx8e3ByZWZpeDpudWxsLGljb25OYW1lOm51bGx9fWZ1bmN0aW9uIHJYcihlKXt2YXIgdD1vbnRbZV0scj1zMWUoImZhcyIsZSk7cmV0dXJuIHR8fChyP3twcmVmaXg6ImZhcyIsaWNvbk5hbWU6cn06bnVsbCl8fHtwcmVmaXg6bnVsbCxpY29uTmFtZTpudWxsfX1mdW5jdGlvbiBWNCgpe3JldHVybiBuMWV9ZnVuY3Rpb24gYVhyKGUpe3ZhciB0PVhpLHI9YW50LnJlZHVjZShmdW5jdGlvbihhLGkpe3JldHVybiBhW2ldPSIiLmNvbmNhdChwdC5jc3NQcmVmaXgsIi0iKS5jb25jYXQoaSksYX0se30pO3JldHVybiBBaXQuZm9yRWFjaChmdW5jdGlvbihhKXsoZS5pbmNsdWRlcyhyW2FdKXx8ZS5zb21lKGZ1bmN0aW9uKGkpe3JldHVybiBKWnJbYV0uaW5jbHVkZXMoaSl9KSkmJih0PWEpfSksdH1mdW5jdGlvbiBjRChlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30scj10LmZhbWlseSxhPXI9PT12b2lkIDA/WGk6cixpPUVaclthXVtlXTtpZihhPT09RmcmJiFlKXJldHVybiJmYWQiO3ZhciBuPVZpdFthXVtlXXx8Vml0W2FdW2ldLHM9ZSBpbiAkby5zdHlsZXM/ZTpudWxsLG89bnx8c3x8bnVsbDtyZXR1cm4gb31mdW5jdGlvbiBpWHIoZSl7dmFyIHQ9W10scj1udWxsO3JldHVybiBlLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGk9ZVhyKHB0LmNzc1ByZWZpeCxhKTtpP3I9aTphJiZ0LnB1c2goYSl9KSx7aWNvbk5hbWU6cixyZXN0OnR9fWZ1bmN0aW9uIHBudChlKXtyZXR1cm4gZS5zb3J0KCkuZmlsdGVyKGZ1bmN0aW9uKHQscixhKXtyZXR1cm4gYS5pbmRleE9mKHQpPT09cn0pfWZ1bmN0aW9uIGREKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxyPXQuc2tpcExvb2t1cHMsYT1yPT09dm9pZCAwPyExOnIsaT1udWxsLG49cG50KGUuZmlsdGVyKGZ1bmN0aW9uKG0pe3JldHVybiBmbnQuaW5jbHVkZXMobSl9KSkscz1wbnQoZS5maWx0ZXIoZnVuY3Rpb24obSl7cmV0dXJuIWZudC5pbmNsdWRlcyhtKX0pKSxvPW4uZmlsdGVyKGZ1bmN0aW9uKG0pe3JldHVybiBpPW0sIWhpdC5pbmNsdWRlcyhtKX0pLGM9YUQobywxKSxsPWNbMF0sdT1sPT09dm9pZCAwP251bGw6bCxkPWFYcihuKSxoPVZlKFZlKHt9LGlYcihzKSkse30se3ByZWZpeDpjRCh1LHtmYW1pbHk6ZH0pfSk7cmV0dXJuIFZlKFZlKFZlKHt9LGgpLGxYcih7dmFsdWVzOmUsZmFtaWx5OmQsc3R5bGVzOnFnLGNvbmZpZzpwdCxjYW5vbmljYWw6aCxnaXZlblByZWZpeDppfSkpLG5YcihhLGksaCkpfWZ1bmN0aW9uIG5YcihlLHQscil7dmFyIGE9ci5wcmVmaXgsaT1yLmljb25OYW1lO2lmKGV8fCFhfHwhaSlyZXR1cm57cHJlZml4OmEsaWNvbk5hbWU6aX07dmFyIG49dD09PSJmYSI/ZG50KGkpOnt9LHM9cTYoYSxpKTtyZXR1cm4gaT1uLmljb25OYW1lfHxzfHxpLGE9bi5wcmVmaXh8fGEsYT09PSJmYXIiJiYhcWcuZmFyJiZxZy5mYXMmJiFwdC5hdXRvRmV0Y2hTdmcmJihhPSJmYXMiKSx7cHJlZml4OmEsaWNvbk5hbWU6aX19ZnVuY3Rpb24gbFhyKGUpe3ZhciB0PWUudmFsdWVzLHI9ZS5mYW1pbHksYT1lLmNhbm9uaWNhbCxpPWUuZ2l2ZW5QcmVmaXgsbj1pPT09dm9pZCAwPyIiOmkscz1lLnN0eWxlcyxvPXM9PT12b2lkIDA/e306cyxjPWUuY29uZmlnLGw9Yz09PXZvaWQgMD97fTpjLHU9cj09PUZnLGQ9dC5pbmNsdWRlcygiZmEtZHVvdG9uZSIpfHx0LmluY2x1ZGVzKCJmYWQiKSxoPWwuZmFtaWx5RGVmYXVsdD09PSJkdW90b25lIixtPWEucHJlZml4PT09ImZhZCJ8fGEucHJlZml4PT09ImZhLWR1b3RvbmUiO2lmKCF1JiYoZHx8aHx8bSkmJihhLnByZWZpeD0iZmFkIiksKHQuaW5jbHVkZXMoImZhLWJyYW5kcyIpfHx0LmluY2x1ZGVzKCJmYWIiKSkmJihhLnByZWZpeD0iZmFiIiksIWEucHJlZml4JiZzWHIuaW5jbHVkZXMocikpe3ZhciB2PU9iamVjdC5rZXlzKG8pLmZpbmQoZnVuY3Rpb24oZyl7cmV0dXJuIG9Yci5pbmNsdWRlcyhnKX0pO2lmKHZ8fGwuYXV0b0ZldGNoU3ZnKXt2YXIgYj1rWXIuZ2V0KHIpLmRlZmF1bHRTaG9ydFByZWZpeElkO2EucHJlZml4PWIsYS5pY29uTmFtZT1xNihhLnByZWZpeCxhLmljb25OYW1lKXx8YS5pY29uTmFtZX19cmV0dXJuKGEucHJlZml4PT09ImZhInx8bj09PSJmYSIpJiYoYS5wcmVmaXg9VjQoKXx8ImZhcyIpLGF9ZnVuY3Rpb24gdVhyKGUsdCl7dmFyIHI9dC5taXhvdXRzVG87cmV0dXJuIGhudD1lLEs4PXt9LE9iamVjdC5rZXlzKGVmKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2RYci5pbmRleE9mKGEpPT09LTEmJmRlbGV0ZSBlZlthXX0pLGhudC5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBpPWEubWl4b3V0P2EubWl4b3V0KCk6e307aWYoT2JqZWN0LmtleXMoaSkuZm9yRWFjaChmdW5jdGlvbihzKXt0eXBlb2YgaVtzXT09ImZ1bmN0aW9uIiYmKHJbc109aVtzXSksaUQoaVtzXSk9PT0ib2JqZWN0IiYmT2JqZWN0LmtleXMoaVtzXSkuZm9yRWFjaChmdW5jdGlvbihvKXtyW3NdfHwocltzXT17fSkscltzXVtvXT1pW3NdW29dfSl9KSxhLmhvb2tzKXt2YXIgbj1hLmhvb2tzKCk7T2JqZWN0LmtleXMobikuZm9yRWFjaChmdW5jdGlvbihzKXtLOFtzXXx8KEs4W3NdPVtdKSxLOFtzXS5wdXNoKG5bc10pfSl9YS5wcm92aWRlcyYmYS5wcm92aWRlcyhlZil9KSxyfWZ1bmN0aW9uIG8xZShlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLGE9bmV3IEFycmF5KHI+Mj9yLTI6MCksaT0yO2k8cjtpKyspYVtpLTJdPWFyZ3VtZW50c1tpXTt2YXIgbj1LOFtlXXx8W107cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbihzKXt0PXMuYXBwbHkobnVsbCxbdF0uY29uY2F0KGEpKX0pLHR9ZnVuY3Rpb24gajYoZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkodD4xP3QtMTowKSxhPTE7YTx0O2ErKylyW2EtMV09YXJndW1lbnRzW2FdO3ZhciBpPUs4W2VdfHxbXTtpLmZvckVhY2goZnVuY3Rpb24obil7bi5hcHBseShudWxsLHIpfSl9ZnVuY3Rpb24gVTQoKXt2YXIgZT1hcmd1bWVudHNbMF0sdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGVmW2VdP2VmW2VdLmFwcGx5KG51bGwsdCk6dm9pZCAwfWZ1bmN0aW9uIGwxZShlKXtlLnByZWZpeD09PSJmYSImJihlLnByZWZpeD0iZmFzIik7dmFyIHQ9ZS5pY29uTmFtZSxyPWUucHJlZml4fHxWNCgpO2lmKHQpcmV0dXJuIHQ9cTYocix0KXx8dCxlbnQobW50LmRlZmluaXRpb25zLHIsdCl8fGVudCgkby5zdHlsZXMscix0KX1mdW5jdGlvbiB1RChlLHQpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiYWJzdHJhY3QiLHtnZXQ6dH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJodG1sIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGUuYWJzdHJhY3QubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBIZyhhKX0pfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJub2RlIix7Z2V0OmZ1bmN0aW9uKCl7aWYoU2Mpe3ZhciBhPWZhLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBhLmlubmVySFRNTD1lLmh0bWwsYS5jaGlsZHJlbn19fSksZX1mdW5jdGlvbiBnWHIoZSl7dmFyIHQ9ZS5jaGlsZHJlbixyPWUubWFpbixhPWUubWFzayxpPWUuYXR0cmlidXRlcyxuPWUuc3R5bGVzLHM9ZS50cmFuc2Zvcm07aWYoZTFlKHMpJiZyLmZvdW5kJiYhYS5mb3VuZCl7dmFyIG89ci53aWR0aCxjPXIuaGVpZ2h0LGw9e3g6by9jLzIseTouNX07aS5zdHlsZT1vRChWZShWZSh7fSxuKSx7fSx7InRyYW5zZm9ybS1vcmlnaW4iOiIiLmNvbmNhdChsLngrcy54LzE2LCJlbSAiKS5jb25jYXQobC55K3MueS8xNiwiZW0iKX0pKX1yZXR1cm5be3RhZzoic3ZnIixhdHRyaWJ1dGVzOmksY2hpbGRyZW46dH1dfWZ1bmN0aW9uIGJYcihlKXt2YXIgdD1lLnByZWZpeCxyPWUuaWNvbk5hbWUsYT1lLmNoaWxkcmVuLGk9ZS5hdHRyaWJ1dGVzLG49ZS5zeW1ib2wscz1uPT09ITA/IiIuY29uY2F0KHQsIi0iKS5jb25jYXQocHQuY3NzUHJlZml4LCItIikuY29uY2F0KHIpOm47cmV0dXJuW3t0YWc6InN2ZyIsYXR0cmlidXRlczp7c3R5bGU6ImRpc3BsYXk6IG5vbmU7In0sY2hpbGRyZW46W3t0YWc6InN5bWJvbCIsYXR0cmlidXRlczpWZShWZSh7fSxpKSx7fSx7aWQ6c30pLGNoaWxkcmVuOmF9XX1dfWZ1bmN0aW9uIHZYcihlKXt2YXIgdD1bImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJ0aXRsZSIsInJvbGUiXTtyZXR1cm4gdC5zb21lKGZ1bmN0aW9uKHIpe3JldHVybiByIGluIGV9KX1mdW5jdGlvbiBjMWUoZSl7dmFyIHQ9ZS5pY29ucyxyPXQubWFpbixhPXQubWFzayxpPWUucHJlZml4LG49ZS5pY29uTmFtZSxzPWUudHJhbnNmb3JtLG89ZS5zeW1ib2wsYz1lLm1hc2tJZCxsPWUuZXh0cmEsdT1lLndhdGNoYWJsZSxkPXU9PT12b2lkIDA/ITE6dSxoPWEuZm91bmQ/YTpyLG09aC53aWR0aCx2PWguaGVpZ2h0LGI9W3B0LnJlcGxhY2VtZW50Q2xhc3Msbj8iIi5jb25jYXQocHQuY3NzUHJlZml4LCItIikuY29uY2F0KG4pOiIiXS5maWx0ZXIoZnVuY3Rpb24oQyl7cmV0dXJuIGwuY2xhc3Nlcy5pbmRleE9mKEMpPT09LTF9KS5maWx0ZXIoZnVuY3Rpb24oQyl7cmV0dXJuIEMhPT0iInx8ISFDfSkuY29uY2F0KGwuY2xhc3Nlcykuam9pbigiICIpLGc9e2NoaWxkcmVuOltdLGF0dHJpYnV0ZXM6VmUoVmUoe30sbC5hdHRyaWJ1dGVzKSx7fSx7ImRhdGEtcHJlZml4IjppLCJkYXRhLWljb24iOm4sY2xhc3M6Yixyb2xlOmwuYXR0cmlidXRlcy5yb2xlfHwiaW1nIix2aWV3Qm94OiIwIDAgIi5jb25jYXQobSwiICIpLmNvbmNhdCh2KX0pfTshdlhyKGwuYXR0cmlidXRlcykmJiFsLmF0dHJpYnV0ZXNbImFyaWEtaGlkZGVuIl0mJihnLmF0dHJpYnV0ZXNbImFyaWEtaGlkZGVuIl09InRydWUiKSxkJiYoZy5hdHRyaWJ1dGVzW0g2XT0iIik7dmFyIHk9VmUoVmUoe30sZykse30se3ByZWZpeDppLGljb25OYW1lOm4sbWFpbjpyLG1hc2s6YSxtYXNrSWQ6Yyx0cmFuc2Zvcm06cyxzeW1ib2w6byxzdHlsZXM6VmUoe30sbC5zdHlsZXMpfSksdz1hLmZvdW5kJiZyLmZvdW5kP1U0KCJnZW5lcmF0ZUFic3RyYWN0TWFzayIseSl8fHtjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOnt9fTpVNCgiZ2VuZXJhdGVBYnN0cmFjdEljb24iLHkpfHx7Y2hpbGRyZW46W10sYXR0cmlidXRlczp7fX0saz13LmNoaWxkcmVuLFI9dy5hdHRyaWJ1dGVzO3JldHVybiB5LmNoaWxkcmVuPWsseS5hdHRyaWJ1dGVzPVIsbz9iWHIoeSk6Z1hyKHkpfWZ1bmN0aW9uIGdudChlKXt2YXIgdD1lLmNvbnRlbnQscj1lLndpZHRoLGE9ZS5oZWlnaHQsaT1lLnRyYW5zZm9ybSxuPWUuZXh0cmEscz1lLndhdGNoYWJsZSxvPXM9PT12b2lkIDA/ITE6cyxjPVZlKFZlKHt9LG4uYXR0cmlidXRlcykse30se2NsYXNzOm4uY2xhc3Nlcy5qb2luKCIgIil9KTtvJiYoY1tINl09IiIpO3ZhciBsPVZlKHt9LG4uc3R5bGVzKTtlMWUoaSkmJihsLnRyYW5zZm9ybT1XWnIoe3RyYW5zZm9ybTppLHN0YXJ0Q2VudGVyZWQ6ITAsd2lkdGg6cixoZWlnaHQ6YX0pLGxbIi13ZWJraXQtdHJhbnNmb3JtIl09bC50cmFuc2Zvcm0pO3ZhciB1PW9EKGwpO3UubGVuZ3RoPjAmJihjLnN0eWxlPXUpO3ZhciBkPVtdO3JldHVybiBkLnB1c2goe3RhZzoic3BhbiIsYXR0cmlidXRlczpjLGNoaWxkcmVuOlt0XX0pLGR9ZnVuY3Rpb24geFhyKGUpe3ZhciB0PWUuY29udGVudCxyPWUuZXh0cmEsYT1WZShWZSh7fSxyLmF0dHJpYnV0ZXMpLHt9LHtjbGFzczpyLmNsYXNzZXMuam9pbigiICIpfSksaT1vRChyLnN0eWxlcyk7aS5sZW5ndGg+MCYmKGEuc3R5bGU9aSk7dmFyIG49W107cmV0dXJuIG4ucHVzaCh7dGFnOiJzcGFuIixhdHRyaWJ1dGVzOmEsY2hpbGRyZW46W3RdfSksbn1mdW5jdGlvbiB1MWUoZSl7dmFyIHQ9ZVswXSxyPWVbMV0sYT1lLnNsaWNlKDQpLGk9YUQoYSwxKSxuPWlbMF0scz1udWxsO3JldHVybiBBcnJheS5pc0FycmF5KG4pP3M9e3RhZzoiZyIsYXR0cmlidXRlczp7Y2xhc3M6IiIuY29uY2F0KHB0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChKbmUuR1JPVVApfSxjaGlsZHJlbjpbe3RhZzoicGF0aCIsYXR0cmlidXRlczp7Y2xhc3M6IiIuY29uY2F0KHB0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChKbmUuU0VDT05EQVJZKSxmaWxsOiJjdXJyZW50Q29sb3IiLGQ6blswXX19LHt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6e2NsYXNzOiIiLmNvbmNhdChwdC5jc3NQcmVmaXgsIi0iKS5jb25jYXQoSm5lLlBSSU1BUlkpLGZpbGw6ImN1cnJlbnRDb2xvciIsZDpuWzFdfX1dfTpzPXt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6e2ZpbGw6ImN1cnJlbnRDb2xvciIsZDpufX0se2ZvdW5kOiEwLHdpZHRoOnQsaGVpZ2h0OnIsaWNvbjpzfX1mdW5jdGlvbiB3WHIoZSx0KXshcWl0JiYhcHQuc2hvd01pc3NpbmdJY29ucyYmZSYmY29uc29sZS5lcnJvcignSWNvbiB3aXRoIG5hbWUgIicuY29uY2F0KGUsJyIgYW5kIHByZWZpeCAiJykuY29uY2F0KHQsJyIgaXMgbWlzc2luZy4nKSl9ZnVuY3Rpb24gcDFlKGUsdCl7dmFyIHI9dDtyZXR1cm4gdD09PSJmYSImJnB0LnN0eWxlRGVmYXVsdCE9PW51bGwmJih0PVY0KCkpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGEsaSl7aWYocj09PSJmYSIpe3ZhciBuPWRudChlKXx8e307ZT1uLmljb25OYW1lfHxlLHQ9bi5wcmVmaXh8fHR9aWYoZSYmdCYmZDFlW3RdJiZkMWVbdF1bZV0pe3ZhciBzPWQxZVt0XVtlXTtyZXR1cm4gYSh1MWUocykpfXdYcihlLHQpLGEoVmUoVmUoe30seVhyKSx7fSx7aWNvbjpwdC5zaG93TWlzc2luZ0ljb25zJiZlP1U0KCJtaXNzaW5nSWNvbkFic3RyYWN0Iil8fHt9Ont9fSkpfSl9ZnVuY3Rpb24geG50KGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlP2UuZ2V0QXR0cmlidXRlKEg2KTpudWxsO3JldHVybiB0eXBlb2YgdD09InN0cmluZyJ9ZnVuY3Rpb24ga1hyKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlP2UuZ2V0QXR0cmlidXRlKFduZSk6bnVsbCxyPWUuZ2V0QXR0cmlidXRlP2UuZ2V0QXR0cmlidXRlKEduZSk6bnVsbDtyZXR1cm4gdCYmcn1mdW5jdGlvbiBTWHIoZSl7cmV0dXJuIGUmJmUuY2xhc3NMaXN0JiZlLmNsYXNzTGlzdC5jb250YWlucyYmZS5jbGFzc0xpc3QuY29udGFpbnMocHQucmVwbGFjZW1lbnRDbGFzcyl9ZnVuY3Rpb24gelhyKCl7aWYocHQuYXV0b1JlcGxhY2VTdmc9PT0hMClyZXR1cm4gZkQucmVwbGFjZTt2YXIgZT1mRFtwdC5hdXRvUmVwbGFjZVN2Z107cmV0dXJuIGV8fGZELnJlcGxhY2V9ZnVuY3Rpb24gQ1hyKGUpe3JldHVybiBmYS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlKX1mdW5jdGlvbiBUWHIoZSl7cmV0dXJuIGZhLmNyZWF0ZUVsZW1lbnQoZSl9ZnVuY3Rpb24geW50KGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxyPXQuY2VGbixhPXI9PT12b2lkIDA/ZS50YWc9PT0ic3ZnIj9DWHI6VFhyOnI7aWYodHlwZW9mIGU9PSJzdHJpbmciKXJldHVybiBmYS5jcmVhdGVUZXh0Tm9kZShlKTt2YXIgaT1hKGUudGFnKTtPYmplY3Qua2V5cyhlLmF0dHJpYnV0ZXN8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKHMpe2kuc2V0QXR0cmlidXRlKHMsZS5hdHRyaWJ1dGVzW3NdKX0pO3ZhciBuPWUuY2hpbGRyZW58fFtdO3JldHVybiBuLmZvckVhY2goZnVuY3Rpb24ocyl7aS5hcHBlbmRDaGlsZCh5bnQocyx7Y2VGbjphfSkpfSksaX1mdW5jdGlvbiBfWHIoZSl7dmFyIHQ9IiAiLmNvbmNhdChlLm91dGVySFRNTCwiICIpO3JldHVybiB0PSIiLmNvbmNhdCh0LCJGb250IEF3ZXNvbWUgZm9udGF3ZXNvbWUuY29tICIpLHR9ZnVuY3Rpb24gd250KGUpe2UoKX1mdW5jdGlvbiBNbnQoZSx0KXt2YXIgcj10eXBlb2YgdD09ImZ1bmN0aW9uIj90OnBEO2lmKGUubGVuZ3RoPT09MClyKCk7ZWxzZXt2YXIgYT13bnQ7cHQubXV0YXRlQXBwcm9hY2g9PT1EWnImJihhPXE0LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8d250KSxhKGZ1bmN0aW9uKCl7dmFyIGk9elhyKCksbj1oMWUuYmVnaW4oIm11dGF0ZSIpO2UubWFwKGkpLG4oKSxyKCl9KX19ZnVuY3Rpb24ga250KCl7bTFlPSEwfWZ1bmN0aW9uIGcxZSgpe20xZT0hMX1mdW5jdGlvbiBTbnQoZSl7aWYodWl0JiZwdC5vYnNlcnZlTXV0YXRpb25zKXt2YXIgdD1lLnRyZWVDYWxsYmFjayxyPXQ9PT12b2lkIDA/cEQ6dCxhPWUubm9kZUNhbGxiYWNrLGk9YT09PXZvaWQgMD9wRDphLG49ZS5wc2V1ZG9FbGVtZW50c0NhbGxiYWNrLHM9bj09PXZvaWQgMD9wRDpuLG89ZS5vYnNlcnZlTXV0YXRpb25zUm9vdCxjPW89PT12b2lkIDA/ZmE6bztoRD1uZXcgdWl0KGZ1bmN0aW9uKGwpe2lmKCFtMWUpe3ZhciB1PVY0KCk7SjgobCkuZm9yRWFjaChmdW5jdGlvbihkKXtpZihkLnR5cGU9PT0iY2hpbGRMaXN0IiYmZC5hZGRlZE5vZGVzLmxlbmd0aD4wJiYheG50KGQuYWRkZWROb2Rlc1swXSkmJihwdC5zZWFyY2hQc2V1ZG9FbGVtZW50cyYmcyhkLnRhcmdldCkscihkLnRhcmdldCkpLGQudHlwZT09PSJhdHRyaWJ1dGVzIiYmZC50YXJnZXQucGFyZW50Tm9kZSYmcHQuc2VhcmNoUHNldWRvRWxlbWVudHMmJnMoW2QudGFyZ2V0XSwhMCksZC50eXBlPT09ImF0dHJpYnV0ZXMiJiZ4bnQoZC50YXJnZXQpJiZ+RlpyLmluZGV4T2YoZC5hdHRyaWJ1dGVOYW1lKSlpZihkLmF0dHJpYnV0ZU5hbWU9PT0iY2xhc3MiJiZrWHIoZC50YXJnZXQpKXt2YXIgaD1kRChLbmUoZC50YXJnZXQpKSxtPWgucHJlZml4LHY9aC5pY29uTmFtZTtkLnRhcmdldC5zZXRBdHRyaWJ1dGUoV25lLG18fHUpLHYmJmQudGFyZ2V0LnNldEF0dHJpYnV0ZShHbmUsdil9ZWxzZSBTWHIoZC50YXJnZXQpJiZpKGQudGFyZ2V0KX0pfX0pLFNjJiZoRC5vYnNlcnZlKGMse2NoaWxkTGlzdDohMCxhdHRyaWJ1dGVzOiEwLGNoYXJhY3RlckRhdGE6ITAsc3VidHJlZTohMH0pfX1mdW5jdGlvbiBMWHIoKXtoRCYmaEQuZGlzY29ubmVjdCgpfWZ1bmN0aW9uICRYcihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgic3R5bGUiKSxyPVtdO3JldHVybiB0JiYocj10LnNwbGl0KCI7IikucmVkdWNlKGZ1bmN0aW9uKGEsaSl7dmFyIG49aS5zcGxpdCgiOiIpLHM9blswXSxvPW4uc2xpY2UoMSk7cmV0dXJuIHMmJm8ubGVuZ3RoPjAmJihhW3NdPW8uam9pbigiOiIpLnRyaW0oKSksYX0se30pKSxyfWZ1bmN0aW9uIERYcihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVmaXgiKSxyPWUuZ2V0QXR0cmlidXRlKCJkYXRhLWljb24iKSxhPWUuaW5uZXJUZXh0IT09dm9pZCAwP2UuaW5uZXJUZXh0LnRyaW0oKToiIixpPWREKEtuZShlKSk7cmV0dXJuIGkucHJlZml4fHwoaS5wcmVmaXg9VjQoKSksdCYmciYmKGkucHJlZml4PXQsaS5pY29uTmFtZT1yKSxpLmljb25OYW1lJiZpLnByZWZpeHx8KGkucHJlZml4JiZhLmxlbmd0aD4wJiYoaS5pY29uTmFtZT10WHIoaS5wcmVmaXgsZS5pbm5lclRleHQpfHxzMWUoaS5wcmVmaXgsdG50KGUuaW5uZXJUZXh0KSkpLCFpLmljb25OYW1lJiZwdC5hdXRvRmV0Y2hTdmcmJmUuZmlyc3RDaGlsZCYmZS5maXJzdENoaWxkLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihpLmljb25OYW1lPWUuZmlyc3RDaGlsZC5kYXRhKSksaX1mdW5jdGlvbiBBWHIoZSl7dmFyIHQ9SjgoZS5hdHRyaWJ1dGVzKS5yZWR1Y2UoZnVuY3Rpb24ocixhKXtyZXR1cm4gci5uYW1lIT09ImNsYXNzIiYmci5uYW1lIT09InN0eWxlIiYmKHJbYS5uYW1lXT1hLnZhbHVlKSxyfSx7fSk7cmV0dXJuIHR9ZnVuY3Rpb24gRVhyKCl7cmV0dXJue2ljb25OYW1lOm51bGwscHJlZml4Om51bGwsdHJhbnNmb3JtOmxsLHN5bWJvbDohMSxtYXNrOntpY29uTmFtZTpudWxsLHByZWZpeDpudWxsLHJlc3Q6W119LG1hc2tJZDpudWxsLGV4dHJhOntjbGFzc2VzOltdLHN0eWxlczp7fSxhdHRyaWJ1dGVzOnt9fX19ZnVuY3Rpb24gem50KGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7c3R5bGVQYXJzZXI6ITB9LHI9RFhyKGUpLGE9ci5pY29uTmFtZSxpPXIucHJlZml4LG49ci5yZXN0LHM9QVhyKGUpLG89bzFlKCJwYXJzZU5vZGVBdHRyaWJ1dGVzIix7fSxlKSxjPXQuc3R5bGVQYXJzZXI/JFhyKGUpOltdO3JldHVybiBWZSh7aWNvbk5hbWU6YSxwcmVmaXg6aSx0cmFuc2Zvcm06bGwsbWFzazp7aWNvbk5hbWU6bnVsbCxwcmVmaXg6bnVsbCxyZXN0OltdfSxtYXNrSWQ6bnVsbCxzeW1ib2w6ITEsZXh0cmE6e2NsYXNzZXM6bixzdHlsZXM6YyxhdHRyaWJ1dGVzOnN9fSxvKX1mdW5jdGlvbiBDbnQoZSl7dmFyIHQ9cHQuYXV0b1JlcGxhY2VTdmc9PT0ibmVzdCI/em50KGUse3N0eWxlUGFyc2VyOiExfSk6em50KGUpO3JldHVybn50LmV4dHJhLmNsYXNzZXMuaW5kZXhPZihVaXQpP1U0KCJnZW5lcmF0ZUxheWVyc1RleHQiLGUsdCk6VTQoImdlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbiIsZSx0KX1mdW5jdGlvbiBQWHIoKXtyZXR1cm5bXS5jb25jYXQoTG8oRWl0KSxMbyhOaXQpKX1mdW5jdGlvbiBUbnQoZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOm51bGw7aWYoIVNjKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgcj1mYS5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LGE9ZnVuY3Rpb24oZCl7cmV0dXJuIHIuYWRkKCIiLmNvbmNhdChCaXQsIi0iKS5jb25jYXQoZCkpfSxpPWZ1bmN0aW9uKGQpe3JldHVybiByLnJlbW92ZSgiIi5jb25jYXQoQml0LCItIikuY29uY2F0KGQpKX0sbj1wdC5hdXRvRmV0Y2hTdmc/UFhyKCk6aGl0LmNvbmNhdChPYmplY3Qua2V5cyhJWHIpKTtuLmluY2x1ZGVzKCJmYSIpfHxuLnB1c2goImZhIik7dmFyIHM9WyIuIi5jb25jYXQoVWl0LCI6bm90KFsiKS5jb25jYXQoSDYsIl0pIildLmNvbmNhdChuLm1hcChmdW5jdGlvbih1KXtyZXR1cm4iLiIuY29uY2F0KHUsIjpub3QoWyIpLmNvbmNhdChINiwiXSkiKX0pKS5qb2luKCIsICIpO2lmKHMubGVuZ3RoPT09MClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIG89W107dHJ5e289SjgoZS5xdWVyeVNlbGVjdG9yQWxsKHMpKX1jYXRjaHt9aWYoby5sZW5ndGg+MClhKCJwZW5kaW5nIiksaSgiY29tcGxldGUiKTtlbHNlIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgYz1oMWUuYmVnaW4oIm9uVHJlZSIpLGw9by5yZWR1Y2UoZnVuY3Rpb24odSxkKXt0cnl7dmFyIGg9Q250KGQpO2gmJnUucHVzaChoKX1jYXRjaChtKXtxaXR8fG0ubmFtZT09PSJNaXNzaW5nSWNvbiImJmNvbnNvbGUuZXJyb3IobSl9cmV0dXJuIHV9LFtdKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odSxkKXtQcm9taXNlLmFsbChsKS50aGVuKGZ1bmN0aW9uKGgpe01udChoLGZ1bmN0aW9uKCl7YSgiYWN0aXZlIiksYSgiY29tcGxldGUiKSxpKCJwZW5kaW5nIiksdHlwZW9mIHQ9PSJmdW5jdGlvbiImJnQoKSxjKCksdSgpfSl9KS5jYXRjaChmdW5jdGlvbihoKXtjKCksZChoKX0pfSl9ZnVuY3Rpb24gTlhyKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTpudWxsO0NudChlKS50aGVuKGZ1bmN0aW9uKHIpe3ImJk1udChbcl0sdCl9KX1mdW5jdGlvbiBGWHIoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxhPSh0fHx7fSkuaWNvbj90OmwxZSh0fHx7fSksaT1yLm1hc2s7cmV0dXJuIGkmJihpPShpfHx7fSkuaWNvbj9pOmwxZShpfHx7fSkpLGUoYSxWZShWZSh7fSxyKSx7fSx7bWFzazppfSkpfX1mdW5jdGlvbiBWWHIoZSl7dmFyIHQ9ZS5yZXBsYWNlKF9udCwiIik7cmV0dXJuIHRudChMbyh0KVswXXx8IiIpfWZ1bmN0aW9uIFVYcihlKXt2YXIgdD1lLmdldFByb3BlcnR5VmFsdWUoImZvbnQtZmVhdHVyZS1zZXR0aW5ncyIpLmluY2x1ZGVzKCJzczAxIikscj1lLmdldFByb3BlcnR5VmFsdWUoImNvbnRlbnQiKSxhPXIucmVwbGFjZShfbnQsIiIpLGk9YS5jb2RlUG9pbnRBdCgwKSxuPWk+PUxudFswXSYmaTw9TG50WzFdLHM9YS5sZW5ndGg9PT0yP2FbMF09PT1hWzFdOiExO3JldHVybiBufHxzfHx0fWZ1bmN0aW9uIFdYcihlLHQpe3ZhciByPWUucmVwbGFjZSgvXlsnIl18WyciXSQvZywiIikudG9Mb3dlckNhc2UoKSxhPXBhcnNlSW50KHQpLGk9aXNOYU4oYSk/Im5vcm1hbCI6YTtyZXR1cm4oYjFlW3JdfHx7fSlbaV18fGpYcltyXX1mdW5jdGlvbiBEbnQoZSx0KXt2YXIgcj0iIi5jb25jYXQoJFpyKS5jb25jYXQodC5yZXBsYWNlKCI6IiwiLSIpKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oYSxpKXtpZihlLmdldEF0dHJpYnV0ZShyKSE9PW51bGwpcmV0dXJuIGEoKTt2YXIgbj1KOChlLmNoaWxkcmVuKSxzPW4uZmlsdGVyKGZ1bmN0aW9uKFMpe3JldHVybiBTLmdldEF0dHJpYnV0ZShVbmUpPT09dH0pWzBdLG89cTQuZ2V0Q29tcHV0ZWRTdHlsZShlLHQpLGM9by5nZXRQcm9wZXJ0eVZhbHVlKCJmb250LWZhbWlseSIpLGw9Yy5tYXRjaChQWnIpLHU9by5nZXRQcm9wZXJ0eVZhbHVlKCJmb250LXdlaWdodCIpLGQ9by5nZXRQcm9wZXJ0eVZhbHVlKCJjb250ZW50Iik7aWYocyYmIWwpcmV0dXJuIGUucmVtb3ZlQ2hpbGQocyksYSgpO2lmKGwmJmQhPT0ibm9uZSImJmQhPT0iIil7dmFyIGg9by5nZXRQcm9wZXJ0eVZhbHVlKCJjb250ZW50IiksbT1XWHIoYyx1KSx2PVZYcihoKSxiPWxbMF0uc3RhcnRzV2l0aCgiRm9udEF3ZXNvbWUiKSxnPVVYcihvKSx5PXMxZShtLHYpLHc9eTtpZihiKXt2YXIgaz1yWHIodik7ay5pY29uTmFtZSYmay5wcmVmaXgmJih5PWsuaWNvbk5hbWUsbT1rLnByZWZpeCl9aWYoeSYmIWcmJighc3x8cy5nZXRBdHRyaWJ1dGUoV25lKSE9PW18fHMuZ2V0QXR0cmlidXRlKEduZSkhPT13KSl7ZS5zZXRBdHRyaWJ1dGUocix3KSxzJiZlLnJlbW92ZUNoaWxkKHMpO3ZhciBSPUVYcigpLEM9Ui5leHRyYTtDLmF0dHJpYnV0ZXNbVW5lXT10LHAxZSh5LG0pLnRoZW4oZnVuY3Rpb24oUyl7dmFyIE89YzFlKFZlKFZlKHt9LFIpLHt9LHtpY29uczp7bWFpbjpTLG1hc2s6dW50KCl9LHByZWZpeDptLGljb25OYW1lOncsZXh0cmE6Qyx3YXRjaGFibGU6ITB9KSksRD1mYS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwic3ZnIik7dD09PSI6OmJlZm9yZSI/ZS5pbnNlcnRCZWZvcmUoRCxlLmZpcnN0Q2hpbGQpOmUuYXBwZW5kQ2hpbGQoRCksRC5vdXRlckhUTUw9Ty5tYXAoZnVuY3Rpb24oTil7cmV0dXJuIEhnKE4pfSkuam9pbihgCmApLGUucmVtb3ZlQXR0cmlidXRlKHIpLGEoKX0pLmNhdGNoKGkpfWVsc2UgYSgpfWVsc2UgYSgpfSl9ZnVuY3Rpb24gR1hyKGUpe3JldHVybiBQcm9taXNlLmFsbChbRG50KGUsIjo6YmVmb3JlIiksRG50KGUsIjo6YWZ0ZXIiKV0pfWZ1bmN0aW9uIFlYcihlKXtyZXR1cm4gZS5wYXJlbnROb2RlIT09ZG9jdW1lbnQuaGVhZCYmIX5BWnIuaW5kZXhPZihlLnRhZ05hbWUudG9VcHBlckNhc2UoKSkmJiFlLmdldEF0dHJpYnV0ZShVbmUpJiYoIWUucGFyZW50Tm9kZXx8ZS5wYXJlbnROb2RlLnRhZ05hbWUhPT0ic3ZnIil9ZnVuY3Rpb24gQW50KGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTohMTtpZihTYyl7dmFyIHI7aWYodClyPWU7ZWxzZSBpZihwdC5zZWFyY2hQc2V1ZG9FbGVtZW50c0Z1bGxTY2FuKXI9ZS5xdWVyeVNlbGVjdG9yQWxsKCIqIik7ZWxzZXt2YXIgYT1uZXcgU2V0LGk9dEQoZG9jdW1lbnQuc3R5bGVTaGVldHMpLG47dHJ5e2ZvcihpLnMoKTshKG49aS5uKCkpLmRvbmU7KXt2YXIgcz1uLnZhbHVlO3RyeXt2YXIgbz10RChzLmNzc1J1bGVzKSxjO3RyeXtmb3Ioby5zKCk7IShjPW8ubigpKS5kb25lOyl7dmFyIGw9Yy52YWx1ZSx1PVhYcihsLnNlbGVjdG9yVGV4dCksZD10RCh1KSxoO3RyeXtmb3IoZC5zKCk7IShoPWQubigpKS5kb25lOyl7dmFyIG09aC52YWx1ZTthLmFkZChtKX19Y2F0Y2goYil7ZC5lKGIpfWZpbmFsbHl7ZC5mKCl9fX1jYXRjaChiKXtvLmUoYil9ZmluYWxseXtvLmYoKX19Y2F0Y2goYil7cHQuc2VhcmNoUHNldWRvRWxlbWVudHNXYXJuaW5ncyYmY29uc29sZS53YXJuKCJGb250IEF3ZXNvbWU6IGNhbm5vdCBwYXJzZSBzdHlsZXNoZWV0OiAiLmNvbmNhdChzLmhyZWYsIiAoIikuY29uY2F0KGIubWVzc2FnZSxgKQpJZiBpdCBkZWNsYXJlcyBhbnkgRm9udCBBd2Vzb21lIENTUyBwc2V1ZG8tZWxlbWVudHMsIHRoZXkgd2lsbCBub3QgYmUgcmVuZGVyZWQgYXMgU1ZHIGljb25zLiBBZGQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgdG8gdGhlIDxsaW5rPiwgZW5hYmxlIHNlYXJjaFBzZXVkb0VsZW1lbnRzRnVsbFNjYW4gZm9yIHNsb3dlciBidXQgbW9yZSB0aG9yb3VnaCBET00gcGFyc2luZywgb3Igc3VwcHJlc3MgdGhpcyB3YXJuaW5nIGJ5IHNldHRpbmcgc2VhcmNoUHNldWRvRWxlbWVudHNXYXJuaW5ncyB0byBmYWxzZS5gKSl9fX1jYXRjaChiKXtpLmUoYil9ZmluYWxseXtpLmYoKX1pZighYS5zaXplKXJldHVybjt2YXIgdj1BcnJheS5mcm9tKGEpLmpvaW4oIiwgIik7dHJ5e3I9ZS5xdWVyeVNlbGVjdG9yQWxsKHYpfWNhdGNoe319cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGIsZyl7dmFyIHk9SjgocikuZmlsdGVyKFlYcikubWFwKEdYciksdz1oMWUuYmVnaW4oInNlYXJjaFBzZXVkb0VsZW1lbnRzIik7a250KCksUHJvbWlzZS5hbGwoeSkudGhlbihmdW5jdGlvbigpe3coKSxnMWUoKSxiKCl9KS5jYXRjaChmdW5jdGlvbigpe3coKSxnMWUoKSxnKCl9KX0pfX1mdW5jdGlvbiBQbnQoZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOiEwO3JldHVybiBlLmF0dHJpYnV0ZXMmJihlLmF0dHJpYnV0ZXMuZmlsbHx8dCkmJihlLmF0dHJpYnV0ZXMuZmlsbD0iYmxhY2siKSxlfWZ1bmN0aW9uIGVRcihlKXtyZXR1cm4gZS50YWc9PT0iZyI/ZS5jaGlsZHJlbjpbZV19dmFyIG5pdCxCbmUsc2l0LG9pdCxsaXQsSkdyLGNpdCxkaXQscTQsZmEsdWl0LG5ELFVhbixTYyxwaXQsSG5lLEtHcixlWXIsZml0LHRZcixoaXQsWGksRmcsbWl0LGdpdCxiaXQsdml0LHhpdCx5aXQsd2l0LE1pdCxraXQsU2l0LHppdCxDaXQsVGl0LF9pdCxMaXQsJGl0LERpdCxyWXIsYVlyLGlZcixuWXIsc1lyLG9ZcixsWXIsY1lyLGRZcix1WXIscFlyLGZZcixoWXIsbVlyLGdZcixiWXIsdllyLHhZcix5WXIsQWl0LFdhbix3WXIsTVlyLGtZcixTWXIsRWl0LElpdCx6WXIsQ1lyLFRZcixfWXIsTFlyLEdhbiwkWXIsRFlyLEFZcixQaXQscW5lLHNELEVZcixJWXIsUFlyLE5ZcixGWXIsT1lyLFJZcixCWXIsSFlyLHFZcixqWXIsVllyLFVZcixXWXIsR1lyLFlZcixaWXIsWFlyLFFZcixKWXIsS1lyLGVacix0WnIsclpyLGFacixpWnIsblpyLHNacixvWnIsbFpyLGNacixkWnIsdVpyLHBacixmWnIsaFpyLG1acixnWnIsYlpyLFlhbix2WnIseFpyLHlacix3WnIsWmFuLE1acixrWnIsam5lLFNacixOaXQselpyLEZpdCxDWnIsVFpyLF9acixMWnIsemMsVm5lLE9pdCxSaXQsSDYsVW5lLCRacixXbmUsR25lLEJpdCxEWnIsQVpyLEhpdCxxaXQsaml0LEVacixZbmUsVml0LFpuZSxYbmUsUW5lLFhhbixJWnIsVWl0LFBacixOWnIsUWFuLEZacixKbmUsT1pyLFJnLEdpdCxROCxwdCxCZyxqNCxsbCxqWnIsR1pyLFFpdCxZWnIsQ2MsJG8sSml0LEtpdCxsRCxYWnIscjFlLGkxZSxEbyxKYW4sS2FuLHFnLFFacixhbnQsSlpyLG4xZSxpbnQsbm50LHNudCxvbnQsbG50LGNudCx1bnQsZm50LHNYcixvWHIsY1hyLGhudCxLOCxlZixkWHIsbW50LHBYcixmWHIsaFhyLEwxLG1YcixkMWUseVhyLGJudCxmMWUsamcsTVhyLHZudCxoMWUscEQsZkQsbTFlLGhELElYcixPWHIsUlhyLEJYcixIWHIscVhyLF9udCxMbnQsJG50LGIxZSxqWHIsWlhyLFhYcixRWHIsRW50LEpYcixJbnQsS1hyLHYxZSx0UXIsclFyLGFRcixpUXIsblFyLHNRcixvUXIsbFFyLGNRcixkUXIsdVFyLHgxZSxwUXIsZlFyLGhRcixXaXQsTm50PWYoKCk9PntuaXQ9ZnVuY3Rpb24oKXt9LEJuZT17fSxzaXQ9e30sb2l0PW51bGwsbGl0PXttYXJrOm5pdCxtZWFzdXJlOm5pdH07dHJ5e3R5cGVvZiB3aW5kb3c8InUiJiYoQm5lPXdpbmRvdyksdHlwZW9mIGRvY3VtZW50PCJ1IiYmKHNpdD1kb2N1bWVudCksdHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXI8InUiJiYob2l0PU11dGF0aW9uT2JzZXJ2ZXIpLHR5cGVvZiBwZXJmb3JtYW5jZTwidSImJihsaXQ9cGVyZm9ybWFuY2UpfWNhdGNoe31KR3I9Qm5lLm5hdmlnYXRvcnx8e30sY2l0PUpHci51c2VyQWdlbnQsZGl0PWNpdD09PXZvaWQgMD8iIjpjaXQscTQ9Qm5lLGZhPXNpdCx1aXQ9b2l0LG5EPWxpdCxVYW49ISFxNC5kb2N1bWVudCxTYz0hIWZhLmRvY3VtZW50RWxlbWVudCYmISFmYS5oZWFkJiZ0eXBlb2YgZmEuYWRkRXZlbnRMaXN0ZW5lcj09ImZ1bmN0aW9uIiYmdHlwZW9mIGZhLmNyZWF0ZUVsZW1lbnQ9PSJmdW5jdGlvbiIscGl0PX5kaXQuaW5kZXhPZigiTVNJRSIpfHx+ZGl0LmluZGV4T2YoIlRyaWRlbnQvIiksS0dyPS9mYShrfGtkfHN8cnxsfHR8ZHxkcnxkbHxkdHxifHNscnxzbHByfHdzYnx0bHxuc3xuZHN8ZXN8Z3R8anJ8amZyfGpkcnx1c2J8dWZzYnx1ZHNifGNyfHNzfHNyfHNsfHN0fHNkc3xzZHJ8c2RsfHNkdCk/W1wtXCBdLyxlWXI9L0ZvbnQgP0F3ZXNvbWUgPyhbNTY3IF0qKShTb2xpZHxSZWd1bGFyfExpZ2h0fFRoaW58RHVvdG9uZXxCcmFuZHN8RnJlZXxQcm98U2hhcnAgRHVvdG9uZXxTaGFycHxLaXR8Tm90ZG9nIER1b3xOb3Rkb2d8Q2hpc2VsfEV0Y2h8R3JhcGhpdGV8VGh1bWJwcmludHxKZWxseSBGaWxsfEplbGx5IER1b3xKZWxseXxVdGlsaXR5fFV0aWxpdHkgRmlsbHxVdGlsaXR5IER1b3xTbGFiIFByZXNzfFNsYWJ8V2hpdGVib2FyZCk/LiovaSxmaXQ9e2NsYXNzaWM6e2ZhOiJzb2xpZCIsZmFzOiJzb2xpZCIsImZhLXNvbGlkIjoic29saWQiLGZhcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWw6ImxpZ2h0IiwiZmEtbGlnaHQiOiJsaWdodCIsZmF0OiJ0aGluIiwiZmEtdGhpbiI6InRoaW4iLGZhYjoiYnJhbmRzIiwiZmEtYnJhbmRzIjoiYnJhbmRzIn0sZHVvdG9uZTp7ZmE6InNvbGlkIixmYWQ6InNvbGlkIiwiZmEtc29saWQiOiJzb2xpZCIsImZhLWR1b3RvbmUiOiJzb2xpZCIsZmFkcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWRsOiJsaWdodCIsImZhLWxpZ2h0IjoibGlnaHQiLGZhZHQ6InRoaW4iLCJmYS10aGluIjoidGhpbiJ9LHNoYXJwOntmYToic29saWQiLGZhc3M6InNvbGlkIiwiZmEtc29saWQiOiJzb2xpZCIsZmFzcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNsOiJsaWdodCIsImZhLWxpZ2h0IjoibGlnaHQiLGZhc3Q6InRoaW4iLCJmYS10aGluIjoidGhpbiJ9LCJzaGFycC1kdW90b25lIjp7ZmE6InNvbGlkIixmYXNkczoic29saWQiLCJmYS1zb2xpZCI6InNvbGlkIixmYXNkcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNkbDoibGlnaHQiLCJmYS1saWdodCI6ImxpZ2h0IixmYXNkdDoidGhpbiIsImZhLXRoaW4iOiJ0aGluIn0sc2xhYjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNscjoicmVndWxhciJ9LCJzbGFiLXByZXNzIjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNscHI6InJlZ3VsYXIifSx0aHVtYnByaW50OnsiZmEtbGlnaHQiOiJsaWdodCIsZmF0bDoibGlnaHQifSx3aGl0ZWJvYXJkOnsiZmEtc2VtaWJvbGQiOiJzZW1pYm9sZCIsZmF3c2I6InNlbWlib2xkIn0sbm90ZG9nOnsiZmEtc29saWQiOiJzb2xpZCIsZmFuczoic29saWQifSwibm90ZG9nLWR1byI6eyJmYS1zb2xpZCI6InNvbGlkIixmYW5kczoic29saWQifSxldGNoOnsiZmEtc29saWQiOiJzb2xpZCIsZmFlczoic29saWQifSxncmFwaGl0ZTp7ImZhLXRoaW4iOiJ0aGluIixmYWd0OiJ0aGluIn0samVsbHk6eyJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFqcjoicmVndWxhciJ9LCJqZWxseS1maWxsIjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWpmcjoicmVndWxhciJ9LCJqZWxseS1kdW8iOnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhamRyOiJyZWd1bGFyIn0sY2hpc2VsOnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhY3I6InJlZ3VsYXIifSx1dGlsaXR5OnsiZmEtc2VtaWJvbGQiOiJzZW1pYm9sZCIsZmF1c2I6InNlbWlib2xkIn0sInV0aWxpdHktZHVvIjp7ImZhLXNlbWlib2xkIjoic2VtaWJvbGQiLGZhdWRzYjoic2VtaWJvbGQifSwidXRpbGl0eS1maWxsIjp7ImZhLXNlbWlib2xkIjoic2VtaWJvbGQiLGZhdWZzYjoic2VtaWJvbGQifX0sdFlyPXtHUk9VUDoiZHVvdG9uZS1ncm91cCIsU1dBUF9PUEFDSVRZOiJzd2FwLW9wYWNpdHkiLFBSSU1BUlk6InByaW1hcnkiLFNFQ09OREFSWToic2Vjb25kYXJ5In0saGl0PVsiZmEtY2xhc3NpYyIsImZhLWR1b3RvbmUiLCJmYS1zaGFycCIsImZhLXNoYXJwLWR1b3RvbmUiLCJmYS10aHVtYnByaW50IiwiZmEtd2hpdGVib2FyZCIsImZhLW5vdGRvZyIsImZhLW5vdGRvZy1kdW8iLCJmYS1jaGlzZWwiLCJmYS1ldGNoIiwiZmEtZ3JhcGhpdGUiLCJmYS1qZWxseSIsImZhLWplbGx5LWZpbGwiLCJmYS1qZWxseS1kdW8iLCJmYS1zbGFiIiwiZmEtc2xhYi1wcmVzcyIsImZhLXV0aWxpdHkiLCJmYS11dGlsaXR5LWR1byIsImZhLXV0aWxpdHktZmlsbCJdLFhpPSJjbGFzc2ljIixGZz0iZHVvdG9uZSIsbWl0PSJzaGFycCIsZ2l0PSJzaGFycC1kdW90b25lIixiaXQ9ImNoaXNlbCIsdml0PSJldGNoIix4aXQ9ImdyYXBoaXRlIix5aXQ9ImplbGx5Iix3aXQ9ImplbGx5LWR1byIsTWl0PSJqZWxseS1maWxsIixraXQ9Im5vdGRvZyIsU2l0PSJub3Rkb2ctZHVvIix6aXQ9InNsYWIiLENpdD0ic2xhYi1wcmVzcyIsVGl0PSJ0aHVtYnByaW50IixfaXQ9InV0aWxpdHkiLExpdD0idXRpbGl0eS1kdW8iLCRpdD0idXRpbGl0eS1maWxsIixEaXQ9IndoaXRlYm9hcmQiLHJZcj0iQ2xhc3NpYyIsYVlyPSJEdW90b25lIixpWXI9IlNoYXJwIixuWXI9IlNoYXJwIER1b3RvbmUiLHNZcj0iQ2hpc2VsIixvWXI9IkV0Y2giLGxZcj0iR3JhcGhpdGUiLGNZcj0iSmVsbHkiLGRZcj0iSmVsbHkgRHVvIix1WXI9IkplbGx5IEZpbGwiLHBZcj0iTm90ZG9nIixmWXI9Ik5vdGRvZyBEdW8iLGhZcj0iU2xhYiIsbVlyPSJTbGFiIFByZXNzIixnWXI9IlRodW1icHJpbnQiLGJZcj0iVXRpbGl0eSIsdllyPSJVdGlsaXR5IER1byIseFlyPSJVdGlsaXR5IEZpbGwiLHlZcj0iV2hpdGVib2FyZCIsQWl0PVtYaSxGZyxtaXQsZ2l0LGJpdCx2aXQseGl0LHlpdCx3aXQsTWl0LGtpdCxTaXQseml0LENpdCxUaXQsX2l0LExpdCwkaXQsRGl0XSxXYW49KEhuZT17fSxJdChJdChJdChJdChJdChJdChJdChJdChJdChJdChIbmUsWGkscllyKSxGZyxhWXIpLG1pdCxpWXIpLGdpdCxuWXIpLGJpdCxzWXIpLHZpdCxvWXIpLHhpdCxsWXIpLHlpdCxjWXIpLHdpdCxkWXIpLE1pdCx1WXIpLEl0KEl0KEl0KEl0KEl0KEl0KEl0KEl0KEl0KEhuZSxraXQscFlyKSxTaXQsZllyKSx6aXQsaFlyKSxDaXQsbVlyKSxUaXQsZ1lyKSxfaXQsYllyKSxMaXQsdllyKSwkaXQseFlyKSxEaXQseVlyKSksd1lyPXtjbGFzc2ljOns5MDA6ImZhcyIsNDAwOiJmYXIiLG5vcm1hbDoiZmFyIiwzMDA6ImZhbCIsMTAwOiJmYXQifSxkdW90b25lOns5MDA6ImZhZCIsNDAwOiJmYWRyIiwzMDA6ImZhZGwiLDEwMDoiZmFkdCJ9LHNoYXJwOns5MDA6ImZhc3MiLDQwMDoiZmFzciIsMzAwOiJmYXNsIiwxMDA6ImZhc3QifSwic2hhcnAtZHVvdG9uZSI6ezkwMDoiZmFzZHMiLDQwMDoiZmFzZHIiLDMwMDoiZmFzZGwiLDEwMDoiZmFzZHQifSxzbGFiOns0MDA6ImZhc2xyIn0sInNsYWItcHJlc3MiOns0MDA6ImZhc2xwciJ9LHdoaXRlYm9hcmQ6ezYwMDoiZmF3c2IifSx0aHVtYnByaW50OnszMDA6ImZhdGwifSxub3Rkb2c6ezkwMDoiZmFucyJ9LCJub3Rkb2ctZHVvIjp7OTAwOiJmYW5kcyJ9LGV0Y2g6ezkwMDoiZmFlcyJ9LGdyYXBoaXRlOnsxMDA6ImZhZ3QifSxjaGlzZWw6ezQwMDoiZmFjciJ9LGplbGx5Ons0MDA6ImZhanIifSwiamVsbHktZmlsbCI6ezQwMDoiZmFqZnIifSwiamVsbHktZHVvIjp7NDAwOiJmYWpkciJ9LHV0aWxpdHk6ezYwMDoiZmF1c2IifSwidXRpbGl0eS1kdW8iOns2MDA6ImZhdWRzYiJ9LCJ1dGlsaXR5LWZpbGwiOns2MDA6ImZhdWZzYiJ9fSxNWXI9eyJGb250IEF3ZXNvbWUgNyBGcmVlIjp7OTAwOiJmYXMiLDQwMDoiZmFyIn0sIkZvbnQgQXdlc29tZSA3IFBybyI6ezkwMDoiZmFzIiw0MDA6ImZhciIsbm9ybWFsOiJmYXIiLDMwMDoiZmFsIiwxMDA6ImZhdCJ9LCJGb250IEF3ZXNvbWUgNyBCcmFuZHMiOns0MDA6ImZhYiIsbm9ybWFsOiJmYWIifSwiRm9udCBBd2Vzb21lIDcgRHVvdG9uZSI6ezkwMDoiZmFkIiw0MDA6ImZhZHIiLG5vcm1hbDoiZmFkciIsMzAwOiJmYWRsIiwxMDA6ImZhZHQifSwiRm9udCBBd2Vzb21lIDcgU2hhcnAiOns5MDA6ImZhc3MiLDQwMDoiZmFzciIsbm9ybWFsOiJmYXNyIiwzMDA6ImZhc2wiLDEwMDoiZmFzdCJ9LCJGb250IEF3ZXNvbWUgNyBTaGFycCBEdW90b25lIjp7OTAwOiJmYXNkcyIsNDAwOiJmYXNkciIsbm9ybWFsOiJmYXNkciIsMzAwOiJmYXNkbCIsMTAwOiJmYXNkdCJ9LCJGb250IEF3ZXNvbWUgNyBKZWxseSI6ezQwMDoiZmFqciIsbm9ybWFsOiJmYWpyIn0sIkZvbnQgQXdlc29tZSA3IEplbGx5IEZpbGwiOns0MDA6ImZhamZyIixub3JtYWw6ImZhamZyIn0sIkZvbnQgQXdlc29tZSA3IEplbGx5IER1byI6ezQwMDoiZmFqZHIiLG5vcm1hbDoiZmFqZHIifSwiRm9udCBBd2Vzb21lIDcgU2xhYiI6ezQwMDoiZmFzbHIiLG5vcm1hbDoiZmFzbHIifSwiRm9udCBBd2Vzb21lIDcgU2xhYiBQcmVzcyI6ezQwMDoiZmFzbHByIixub3JtYWw6ImZhc2xwciJ9LCJGb250IEF3ZXNvbWUgNyBUaHVtYnByaW50Ijp7MzAwOiJmYXRsIixub3JtYWw6ImZhdGwifSwiRm9udCBBd2Vzb21lIDcgTm90ZG9nIjp7OTAwOiJmYW5zIixub3JtYWw6ImZhbnMifSwiRm9udCBBd2Vzb21lIDcgTm90ZG9nIER1byI6ezkwMDoiZmFuZHMiLG5vcm1hbDoiZmFuZHMifSwiRm9udCBBd2Vzb21lIDcgRXRjaCI6ezkwMDoiZmFlcyIsbm9ybWFsOiJmYWVzIn0sIkZvbnQgQXdlc29tZSA3IEdyYXBoaXRlIjp7MTAwOiJmYWd0Iixub3JtYWw6ImZhZ3QifSwiRm9udCBBd2Vzb21lIDcgQ2hpc2VsIjp7NDAwOiJmYWNyIixub3JtYWw6ImZhY3IifSwiRm9udCBBd2Vzb21lIDcgV2hpdGVib2FyZCI6ezYwMDoiZmF3c2IiLG5vcm1hbDoiZmF3c2IifSwiRm9udCBBd2Vzb21lIDcgVXRpbGl0eSI6ezYwMDoiZmF1c2IiLG5vcm1hbDoiZmF1c2IifSwiRm9udCBBd2Vzb21lIDcgVXRpbGl0eSBEdW8iOns2MDA6ImZhdWRzYiIsbm9ybWFsOiJmYXVkc2IifSwiRm9udCBBd2Vzb21lIDcgVXRpbGl0eSBGaWxsIjp7NjAwOiJmYXVmc2IiLG5vcm1hbDoiZmF1ZnNiIn19LGtZcj1uZXcgTWFwKFtbImNsYXNzaWMiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFzIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiLCJyZWd1bGFyIiwibGlnaHQiLCJ0aGluIiwiYnJhbmRzIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJkdW90b25lIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhZCIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsic2hhcnAiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFzcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsic2hhcnAtZHVvdG9uZSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNkcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsiY2hpc2VsIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhY3IiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbImV0Y2giLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFlcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJncmFwaGl0ZSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWd0IixkZWZhdWx0U3R5bGVJZDoidGhpbiIsc3R5bGVJZHM6WyJ0aGluIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6MTAwfV0sWyJqZWxseSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWpyIixkZWZhdWx0U3R5bGVJZDoicmVndWxhciIsc3R5bGVJZHM6WyJyZWd1bGFyIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NDAwfV0sWyJqZWxseS1kdW8iLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFqZHIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbImplbGx5LWZpbGwiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFqZnIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbIm5vdGRvZyIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYW5zIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo5MDB9XSxbIm5vdGRvZy1kdW8iLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFuZHMiLGRlZmF1bHRTdHlsZUlkOiJzb2xpZCIsc3R5bGVJZHM6WyJzb2xpZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsic2xhYiIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNsciIsZGVmYXVsdFN0eWxlSWQ6InJlZ3VsYXIiLHN0eWxlSWRzOlsicmVndWxhciJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjQwMH1dLFsic2xhYi1wcmVzcyIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNscHIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbInRodW1icHJpbnQiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF0bCIsZGVmYXVsdFN0eWxlSWQ6ImxpZ2h0IixzdHlsZUlkczpbImxpZ2h0Il0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6MzAwfV0sWyJ1dGlsaXR5Iix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhdXNiIixkZWZhdWx0U3R5bGVJZDoic2VtaWJvbGQiLHN0eWxlSWRzOlsic2VtaWJvbGQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo2MDB9XSxbInV0aWxpdHktZHVvIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhdWRzYiIsZGVmYXVsdFN0eWxlSWQ6InNlbWlib2xkIixzdHlsZUlkczpbInNlbWlib2xkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NjAwfV0sWyJ1dGlsaXR5LWZpbGwiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF1ZnNiIixkZWZhdWx0U3R5bGVJZDoic2VtaWJvbGQiLHN0eWxlSWRzOlsic2VtaWJvbGQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo2MDB9XSxbIndoaXRlYm9hcmQiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF3c2IiLGRlZmF1bHRTdHlsZUlkOiJzZW1pYm9sZCIsc3R5bGVJZHM6WyJzZW1pYm9sZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjYwMH1dXSksU1lyPXtjaGlzZWw6e3JlZ3VsYXI6ImZhY3IifSxjbGFzc2ljOnticmFuZHM6ImZhYiIsbGlnaHQ6ImZhbCIscmVndWxhcjoiZmFyIixzb2xpZDoiZmFzIix0aGluOiJmYXQifSxkdW90b25lOntsaWdodDoiZmFkbCIscmVndWxhcjoiZmFkciIsc29saWQ6ImZhZCIsdGhpbjoiZmFkdCJ9LGV0Y2g6e3NvbGlkOiJmYWVzIn0sZ3JhcGhpdGU6e3RoaW46ImZhZ3QifSxqZWxseTp7cmVndWxhcjoiZmFqciJ9LCJqZWxseS1kdW8iOntyZWd1bGFyOiJmYWpkciJ9LCJqZWxseS1maWxsIjp7cmVndWxhcjoiZmFqZnIifSxub3Rkb2c6e3NvbGlkOiJmYW5zIn0sIm5vdGRvZy1kdW8iOntzb2xpZDoiZmFuZHMifSxzaGFycDp7bGlnaHQ6ImZhc2wiLHJlZ3VsYXI6ImZhc3IiLHNvbGlkOiJmYXNzIix0aGluOiJmYXN0In0sInNoYXJwLWR1b3RvbmUiOntsaWdodDoiZmFzZGwiLHJlZ3VsYXI6ImZhc2RyIixzb2xpZDoiZmFzZHMiLHRoaW46ImZhc2R0In0sc2xhYjp7cmVndWxhcjoiZmFzbHIifSwic2xhYi1wcmVzcyI6e3JlZ3VsYXI6ImZhc2xwciJ9LHRodW1icHJpbnQ6e2xpZ2h0OiJmYXRsIn0sdXRpbGl0eTp7c2VtaWJvbGQ6ImZhdXNiIn0sInV0aWxpdHktZHVvIjp7c2VtaWJvbGQ6ImZhdWRzYiJ9LCJ1dGlsaXR5LWZpbGwiOntzZW1pYm9sZDoiZmF1ZnNiIn0sd2hpdGVib2FyZDp7c2VtaWJvbGQ6ImZhd3NiIn19LEVpdD1bImZhayIsImZhLWtpdCIsImZha2QiLCJmYS1raXQtZHVvdG9uZSJdLElpdD17a2l0OntmYWs6ImtpdCIsImZhLWtpdCI6ImtpdCJ9LCJraXQtZHVvdG9uZSI6e2Zha2Q6ImtpdC1kdW90b25lIiwiZmEta2l0LWR1b3RvbmUiOiJraXQtZHVvdG9uZSJ9fSx6WXI9WyJraXQiXSxDWXI9ImtpdCIsVFlyPSJraXQtZHVvdG9uZSIsX1lyPSJLaXQiLExZcj0iS2l0IER1b3RvbmUiLEdhbj1JdChJdCh7fSxDWXIsX1lyKSxUWXIsTFlyKSwkWXI9e2tpdDp7ImZhLWtpdCI6ImZhayJ9LCJraXQtZHVvdG9uZSI6eyJmYS1raXQtZHVvdG9uZSI6ImZha2QifX0sRFlyPXsiRm9udCBBd2Vzb21lIEtpdCI6ezQwMDoiZmFrIixub3JtYWw6ImZhayJ9LCJGb250IEF3ZXNvbWUgS2l0IER1b3RvbmUiOns0MDA6ImZha2QiLG5vcm1hbDoiZmFrZCJ9fSxBWXI9e2tpdDp7ZmFrOiJmYS1raXQifSwia2l0LWR1b3RvbmUiOntmYWtkOiJmYS1raXQtZHVvdG9uZSJ9fSxQaXQ9e2tpdDp7a2l0OiJmYWsifSwia2l0LWR1b3RvbmUiOnsia2l0LWR1b3RvbmUiOiJmYWtkIn19LHNEPXtHUk9VUDoiZHVvdG9uZS1ncm91cCIsU1dBUF9PUEFDSVRZOiJzd2FwLW9wYWNpdHkiLFBSSU1BUlk6InByaW1hcnkiLFNFQ09OREFSWToic2Vjb25kYXJ5In0sRVlyPVsiZmEtY2xhc3NpYyIsImZhLWR1b3RvbmUiLCJmYS1zaGFycCIsImZhLXNoYXJwLWR1b3RvbmUiLCJmYS10aHVtYnByaW50IiwiZmEtd2hpdGVib2FyZCIsImZhLW5vdGRvZyIsImZhLW5vdGRvZy1kdW8iLCJmYS1jaGlzZWwiLCJmYS1ldGNoIiwiZmEtZ3JhcGhpdGUiLCJmYS1qZWxseSIsImZhLWplbGx5LWZpbGwiLCJmYS1qZWxseS1kdW8iLCJmYS1zbGFiIiwiZmEtc2xhYi1wcmVzcyIsImZhLXV0aWxpdHkiLCJmYS11dGlsaXR5LWR1byIsImZhLXV0aWxpdHktZmlsbCJdLElZcj0iY2xhc3NpYyIsUFlyPSJkdW90b25lIixOWXI9InNoYXJwIixGWXI9InNoYXJwLWR1b3RvbmUiLE9Zcj0iY2hpc2VsIixSWXI9ImV0Y2giLEJZcj0iZ3JhcGhpdGUiLEhZcj0iamVsbHkiLHFZcj0iamVsbHktZHVvIixqWXI9ImplbGx5LWZpbGwiLFZZcj0ibm90ZG9nIixVWXI9Im5vdGRvZy1kdW8iLFdZcj0ic2xhYiIsR1lyPSJzbGFiLXByZXNzIixZWXI9InRodW1icHJpbnQiLFpZcj0idXRpbGl0eSIsWFlyPSJ1dGlsaXR5LWR1byIsUVlyPSJ1dGlsaXR5LWZpbGwiLEpZcj0id2hpdGVib2FyZCIsS1lyPSJDbGFzc2ljIixlWnI9IkR1b3RvbmUiLHRacj0iU2hhcnAiLHJacj0iU2hhcnAgRHVvdG9uZSIsYVpyPSJDaGlzZWwiLGlacj0iRXRjaCIsblpyPSJHcmFwaGl0ZSIsc1pyPSJKZWxseSIsb1pyPSJKZWxseSBEdW8iLGxacj0iSmVsbHkgRmlsbCIsY1pyPSJOb3Rkb2ciLGRacj0iTm90ZG9nIER1byIsdVpyPSJTbGFiIixwWnI9IlNsYWIgUHJlc3MiLGZacj0iVGh1bWJwcmludCIsaFpyPSJVdGlsaXR5IixtWnI9IlV0aWxpdHkgRHVvIixnWnI9IlV0aWxpdHkgRmlsbCIsYlpyPSJXaGl0ZWJvYXJkIixZYW49KHFuZT17fSxJdChJdChJdChJdChJdChJdChJdChJdChJdChJdChxbmUsSVlyLEtZciksUFlyLGVaciksTllyLHRaciksRllyLHJaciksT1lyLGFaciksUllyLGlaciksQllyLG5aciksSFlyLHNacikscVlyLG9aciksallyLGxaciksSXQoSXQoSXQoSXQoSXQoSXQoSXQoSXQoSXQocW5lLFZZcixjWnIpLFVZcixkWnIpLFdZcix1WnIpLEdZcixwWnIpLFlZcixmWnIpLFpZcixoWnIpLFhZcixtWnIpLFFZcixnWnIpLEpZcixiWnIpKSx2WnI9ImtpdCIseFpyPSJraXQtZHVvdG9uZSIseVpyPSJLaXQiLHdacj0iS2l0IER1b3RvbmUiLFphbj1JdChJdCh7fSx2WnIseVpyKSx4WnIsd1pyKSxNWnI9e2NsYXNzaWM6eyJmYS1icmFuZHMiOiJmYWIiLCJmYS1kdW90b25lIjoiZmFkIiwiZmEtbGlnaHQiOiJmYWwiLCJmYS1yZWd1bGFyIjoiZmFyIiwiZmEtc29saWQiOiJmYXMiLCJmYS10aGluIjoiZmF0In0sZHVvdG9uZTp7ImZhLXJlZ3VsYXIiOiJmYWRyIiwiZmEtbGlnaHQiOiJmYWRsIiwiZmEtdGhpbiI6ImZhZHQifSxzaGFycDp7ImZhLXNvbGlkIjoiZmFzcyIsImZhLXJlZ3VsYXIiOiJmYXNyIiwiZmEtbGlnaHQiOiJmYXNsIiwiZmEtdGhpbiI6ImZhc3QifSwic2hhcnAtZHVvdG9uZSI6eyJmYS1zb2xpZCI6ImZhc2RzIiwiZmEtcmVndWxhciI6ImZhc2RyIiwiZmEtbGlnaHQiOiJmYXNkbCIsImZhLXRoaW4iOiJmYXNkdCJ9LHNsYWI6eyJmYS1yZWd1bGFyIjoiZmFzbHIifSwic2xhYi1wcmVzcyI6eyJmYS1yZWd1bGFyIjoiZmFzbHByIn0sd2hpdGVib2FyZDp7ImZhLXNlbWlib2xkIjoiZmF3c2IifSx0aHVtYnByaW50OnsiZmEtbGlnaHQiOiJmYXRsIn0sbm90ZG9nOnsiZmEtc29saWQiOiJmYW5zIn0sIm5vdGRvZy1kdW8iOnsiZmEtc29saWQiOiJmYW5kcyJ9LGV0Y2g6eyJmYS1zb2xpZCI6ImZhZXMifSxncmFwaGl0ZTp7ImZhLXRoaW4iOiJmYWd0In0samVsbHk6eyJmYS1yZWd1bGFyIjoiZmFqciJ9LCJqZWxseS1maWxsIjp7ImZhLXJlZ3VsYXIiOiJmYWpmciJ9LCJqZWxseS1kdW8iOnsiZmEtcmVndWxhciI6ImZhamRyIn0sY2hpc2VsOnsiZmEtcmVndWxhciI6ImZhY3IifSx1dGlsaXR5OnsiZmEtc2VtaWJvbGQiOiJmYXVzYiJ9LCJ1dGlsaXR5LWR1byI6eyJmYS1zZW1pYm9sZCI6ImZhdWRzYiJ9LCJ1dGlsaXR5LWZpbGwiOnsiZmEtc2VtaWJvbGQiOiJmYXVmc2IifX0sa1pyPXtjbGFzc2ljOlsiZmFzIiwiZmFyIiwiZmFsIiwiZmF0IiwiZmFkIl0sZHVvdG9uZTpbImZhZHIiLCJmYWRsIiwiZmFkdCJdLHNoYXJwOlsiZmFzcyIsImZhc3IiLCJmYXNsIiwiZmFzdCJdLCJzaGFycC1kdW90b25lIjpbImZhc2RzIiwiZmFzZHIiLCJmYXNkbCIsImZhc2R0Il0sc2xhYjpbImZhc2xyIl0sInNsYWItcHJlc3MiOlsiZmFzbHByIl0sd2hpdGVib2FyZDpbImZhd3NiIl0sdGh1bWJwcmludDpbImZhdGwiXSxub3Rkb2c6WyJmYW5zIl0sIm5vdGRvZy1kdW8iOlsiZmFuZHMiXSxldGNoOlsiZmFlcyJdLGdyYXBoaXRlOlsiZmFndCJdLGplbGx5OlsiZmFqciJdLCJqZWxseS1maWxsIjpbImZhamZyIl0sImplbGx5LWR1byI6WyJmYWpkciJdLGNoaXNlbDpbImZhY3IiXSx1dGlsaXR5OlsiZmF1c2IiXSwidXRpbGl0eS1kdW8iOlsiZmF1ZHNiIl0sInV0aWxpdHktZmlsbCI6WyJmYXVmc2IiXX0sam5lPXtjbGFzc2ljOntmYWI6ImZhLWJyYW5kcyIsZmFkOiJmYS1kdW90b25lIixmYWw6ImZhLWxpZ2h0IixmYXI6ImZhLXJlZ3VsYXIiLGZhczoiZmEtc29saWQiLGZhdDoiZmEtdGhpbiJ9LGR1b3RvbmU6e2ZhZHI6ImZhLXJlZ3VsYXIiLGZhZGw6ImZhLWxpZ2h0IixmYWR0OiJmYS10aGluIn0sc2hhcnA6e2Zhc3M6ImZhLXNvbGlkIixmYXNyOiJmYS1yZWd1bGFyIixmYXNsOiJmYS1saWdodCIsZmFzdDoiZmEtdGhpbiJ9LCJzaGFycC1kdW90b25lIjp7ZmFzZHM6ImZhLXNvbGlkIixmYXNkcjoiZmEtcmVndWxhciIsZmFzZGw6ImZhLWxpZ2h0IixmYXNkdDoiZmEtdGhpbiJ9LHNsYWI6e2Zhc2xyOiJmYS1yZWd1bGFyIn0sInNsYWItcHJlc3MiOntmYXNscHI6ImZhLXJlZ3VsYXIifSx3aGl0ZWJvYXJkOntmYXdzYjoiZmEtc2VtaWJvbGQifSx0aHVtYnByaW50OntmYXRsOiJmYS1saWdodCJ9LG5vdGRvZzp7ZmFuczoiZmEtc29saWQifSwibm90ZG9nLWR1byI6e2ZhbmRzOiJmYS1zb2xpZCJ9LGV0Y2g6e2ZhZXM6ImZhLXNvbGlkIn0sZ3JhcGhpdGU6e2ZhZ3Q6ImZhLXRoaW4ifSxqZWxseTp7ZmFqcjoiZmEtcmVndWxhciJ9LCJqZWxseS1maWxsIjp7ZmFqZnI6ImZhLXJlZ3VsYXIifSwiamVsbHktZHVvIjp7ZmFqZHI6ImZhLXJlZ3VsYXIifSxjaGlzZWw6e2ZhY3I6ImZhLXJlZ3VsYXIifSx1dGlsaXR5OntmYXVzYjoiZmEtc2VtaWJvbGQifSwidXRpbGl0eS1kdW8iOntmYXVkc2I6ImZhLXNlbWlib2xkIn0sInV0aWxpdHktZmlsbCI6e2ZhdWZzYjoiZmEtc2VtaWJvbGQifX0sU1pyPVsiZmEtc29saWQiLCJmYS1yZWd1bGFyIiwiZmEtbGlnaHQiLCJmYS10aGluIiwiZmEtZHVvdG9uZSIsImZhLWJyYW5kcyIsImZhLXNlbWlib2xkIl0sTml0PVsiZmEiLCJmYXMiLCJmYXIiLCJmYWwiLCJmYXQiLCJmYWQiLCJmYWRyIiwiZmFkbCIsImZhZHQiLCJmYWIiLCJmYXNzIiwiZmFzciIsImZhc2wiLCJmYXN0IiwiZmFzZHMiLCJmYXNkciIsImZhc2RsIiwiZmFzZHQiLCJmYXNsciIsImZhc2xwciIsImZhd3NiIiwiZmF0bCIsImZhbnMiLCJmYW5kcyIsImZhZXMiLCJmYWd0IiwiZmFqciIsImZhamZyIiwiZmFqZHIiLCJmYWNyIiwiZmF1c2IiLCJmYXVkc2IiLCJmYXVmc2IiXS5jb25jYXQoRVlyLFNacikselpyPVsic29saWQiLCJyZWd1bGFyIiwibGlnaHQiLCJ0aGluIiwiZHVvdG9uZSIsImJyYW5kcyIsInNlbWlib2xkIl0sRml0PVsxLDIsMyw0LDUsNiw3LDgsOSwxMF0sQ1pyPUZpdC5jb25jYXQoWzExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwXSksVFpyPVsiYXciLCJmdyIsInB1bGwtbGVmdCIsInB1bGwtcmlnaHQiXSxfWnI9W10uY29uY2F0KExvKE9iamVjdC5rZXlzKGtacikpLHpacixUWnIsWyIyeHMiLCJ4cyIsInNtIiwibGciLCJ4bCIsIjJ4bCIsImJlYXQiLCJib3JkZXIiLCJmYWRlIiwiYmVhdC1mYWRlIiwiYm91bmNlIiwiZmxpcC1ib3RoIiwiZmxpcC1ob3Jpem9udGFsIiwiZmxpcC12ZXJ0aWNhbCIsImZsaXAiLCJpbnZlcnNlIiwibGF5ZXJzIiwibGF5ZXJzLWJvdHRvbS1sZWZ0IiwibGF5ZXJzLWJvdHRvbS1yaWdodCIsImxheWVycy1jb3VudGVyIiwibGF5ZXJzLXRleHQiLCJsYXllcnMtdG9wLWxlZnQiLCJsYXllcnMtdG9wLXJpZ2h0IiwibGkiLCJwdWxsLWVuZCIsInB1bGwtc3RhcnQiLCJwdWxzZSIsInJvdGF0ZS0xODAiLCJyb3RhdGUtMjcwIiwicm90YXRlLTkwIiwicm90YXRlLWJ5Iiwic2hha2UiLCJzcGluLXB1bHNlIiwic3Bpbi1yZXZlcnNlIiwic3BpbiIsInN0YWNrLTF4Iiwic3RhY2stMngiLCJzdGFjayIsInVsIiwid2lkdGgtYXV0byIsIndpZHRoLWZpeGVkIixzRC5HUk9VUCxzRC5TV0FQX09QQUNJVFksc0QuUFJJTUFSWSxzRC5TRUNPTkRBUlldKS5jb25jYXQoRml0Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4iIi5jb25jYXQoZSwieCIpfSkpLmNvbmNhdChDWnIubWFwKGZ1bmN0aW9uKGUpe3JldHVybiJ3LSIuY29uY2F0KGUpfSkpLExacj17IkZvbnQgQXdlc29tZSA1IEZyZWUiOns5MDA6ImZhcyIsNDAwOiJmYXIifSwiRm9udCBBd2Vzb21lIDUgUHJvIjp7OTAwOiJmYXMiLDQwMDoiZmFyIixub3JtYWw6ImZhciIsMzAwOiJmYWwifSwiRm9udCBBd2Vzb21lIDUgQnJhbmRzIjp7NDAwOiJmYWIiLG5vcm1hbDoiZmFiIn0sIkZvbnQgQXdlc29tZSA1IER1b3RvbmUiOns5MDA6ImZhZCJ9fSx6Yz0iX19fRk9OVF9BV0VTT01FX19fIixWbmU9MTYsT2l0PSJmYSIsUml0PSJzdmctaW5saW5lLS1mYSIsSDY9ImRhdGEtZmEtaTJzdmciLFVuZT0iZGF0YS1mYS1wc2V1ZG8tZWxlbWVudCIsJFpyPSJkYXRhLWZhLXBzZXVkby1lbGVtZW50LXBlbmRpbmciLFduZT0iZGF0YS1wcmVmaXgiLEduZT0iZGF0YS1pY29uIixCaXQ9ImZvbnRhd2Vzb21lLWkyc3ZnIixEWnI9ImFzeW5jIixBWnI9WyJIVE1MIiwiSEVBRCIsIlNUWUxFIiwiU0NSSVBUIl0sSGl0PVsiOjpiZWZvcmUiLCI6OmFmdGVyIiwiOmJlZm9yZSIsIjphZnRlciJdLHFpdD0oZnVuY3Rpb24oKXt0cnl7cmV0dXJuITB9Y2F0Y2h7cmV0dXJuITF9fSkoKTtqaXQ9VmUoe30sZml0KTtqaXRbWGldPVZlKFZlKFZlKFZlKHt9LHsiZmEtZHVvdG9uZSI6ImR1b3RvbmUifSksZml0W1hpXSksSWl0LmtpdCksSWl0WyJraXQtZHVvdG9uZSJdKTtFWnI9T2coaml0KSxZbmU9VmUoe30sU1lyKTtZbmVbWGldPVZlKFZlKFZlKFZlKHt9LHtkdW90b25lOiJmYWQifSksWW5lW1hpXSksUGl0LmtpdCksUGl0WyJraXQtZHVvdG9uZSJdKTtWaXQ9T2coWW5lKSxabmU9VmUoe30sam5lKTtabmVbWGldPVZlKFZlKHt9LFpuZVtYaV0pLEFZci5raXQpO1huZT1PZyhabmUpLFFuZT1WZSh7fSxNWnIpO1FuZVtYaV09VmUoVmUoe30sUW5lW1hpXSksJFlyLmtpdCk7WGFuPU9nKFFuZSksSVpyPUtHcixVaXQ9ImZhLWxheWVycy10ZXh0IixQWnI9ZVlyLE5acj1WZSh7fSx3WXIpLFFhbj1PZyhOWnIpLEZacj1bImNsYXNzIiwiZGF0YS1wcmVmaXgiLCJkYXRhLWljb24iLCJkYXRhLWZhLXRyYW5zZm9ybSIsImRhdGEtZmEtbWFzayJdLEpuZT10WXIsT1pyPVtdLmNvbmNhdChMbyh6WXIpLExvKF9acikpLFJnPXE0LkZvbnRBd2Vzb21lQ29uZmlnfHx7fTtmYSYmdHlwZW9mIGZhLnF1ZXJ5U2VsZWN0b3I9PSJmdW5jdGlvbiImJihXaXQ9W1siZGF0YS1mYW1pbHktcHJlZml4IiwiZmFtaWx5UHJlZml4Il0sWyJkYXRhLWNzcy1wcmVmaXgiLCJjc3NQcmVmaXgiXSxbImRhdGEtZmFtaWx5LWRlZmF1bHQiLCJmYW1pbHlEZWZhdWx0Il0sWyJkYXRhLXN0eWxlLWRlZmF1bHQiLCJzdHlsZURlZmF1bHQiXSxbImRhdGEtcmVwbGFjZW1lbnQtY2xhc3MiLCJyZXBsYWNlbWVudENsYXNzIl0sWyJkYXRhLWF1dG8tcmVwbGFjZS1zdmciLCJhdXRvUmVwbGFjZVN2ZyJdLFsiZGF0YS1hdXRvLWFkZC1jc3MiLCJhdXRvQWRkQ3NzIl0sWyJkYXRhLXNlYXJjaC1wc2V1ZG8tZWxlbWVudHMiLCJzZWFyY2hQc2V1ZG9FbGVtZW50cyJdLFsiZGF0YS1zZWFyY2gtcHNldWRvLWVsZW1lbnRzLXdhcm5pbmdzIiwic2VhcmNoUHNldWRvRWxlbWVudHNXYXJuaW5ncyJdLFsiZGF0YS1zZWFyY2gtcHNldWRvLWVsZW1lbnRzLWZ1bGwtc2NhbiIsInNlYXJjaFBzZXVkb0VsZW1lbnRzRnVsbFNjYW4iXSxbImRhdGEtb2JzZXJ2ZS1tdXRhdGlvbnMiLCJvYnNlcnZlTXV0YXRpb25zIl0sWyJkYXRhLW11dGF0ZS1hcHByb2FjaCIsIm11dGF0ZUFwcHJvYWNoIl0sWyJkYXRhLWtlZXAtb3JpZ2luYWwtc291cmNlIiwia2VlcE9yaWdpbmFsU291cmNlIl0sWyJkYXRhLW1lYXN1cmUtcGVyZm9ybWFuY2UiLCJtZWFzdXJlUGVyZm9ybWFuY2UiXSxbImRhdGEtc2hvdy1taXNzaW5nLWljb25zIiwic2hvd01pc3NpbmdJY29ucyJdXSxXaXQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1hRChlLDIpLHI9dFswXSxhPXRbMV0saT1CWnIoUlpyKHIpKTtpIT1udWxsJiYoUmdbYV09aSl9KSk7R2l0PXtzdHlsZURlZmF1bHQ6InNvbGlkIixmYW1pbHlEZWZhdWx0OlhpLGNzc1ByZWZpeDpPaXQscmVwbGFjZW1lbnRDbGFzczpSaXQsYXV0b1JlcGxhY2VTdmc6ITAsYXV0b0FkZENzczohMCxzZWFyY2hQc2V1ZG9FbGVtZW50czohMSxzZWFyY2hQc2V1ZG9FbGVtZW50c1dhcm5pbmdzOiEwLHNlYXJjaFBzZXVkb0VsZW1lbnRzRnVsbFNjYW46ITEsb2JzZXJ2ZU11dGF0aW9uczohMCxtdXRhdGVBcHByb2FjaDoiYXN5bmMiLGtlZXBPcmlnaW5hbFNvdXJjZTohMCxtZWFzdXJlUGVyZm9ybWFuY2U6ITEsc2hvd01pc3NpbmdJY29uczohMH07UmcuZmFtaWx5UHJlZml4JiYoUmcuY3NzUHJlZml4PVJnLmZhbWlseVByZWZpeCk7UTg9VmUoVmUoe30sR2l0KSxSZyk7UTguYXV0b1JlcGxhY2VTdmd8fChROC5vYnNlcnZlTXV0YXRpb25zPSExKTtwdD17fTtPYmplY3Qua2V5cyhHaXQpLmZvckVhY2goZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHB0LGUse2VudW1lcmFibGU6ITAsc2V0OmZ1bmN0aW9uKHIpe1E4W2VdPXIsQmcuZm9yRWFjaChmdW5jdGlvbihhKXtyZXR1cm4gYShwdCl9KX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFE4W2VdfX0pfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHB0LCJmYW1pbHlQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLHNldDpmdW5jdGlvbih0KXtROC5jc3NQcmVmaXg9dCxCZy5mb3JFYWNoKGZ1bmN0aW9uKHIpe3JldHVybiByKHB0KX0pfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUTguY3NzUHJlZml4fX0pLHE0LkZvbnRBd2Vzb21lQ29uZmlnPXB0O0JnPVtdO2o0PVZuZSxsbD17c2l6ZToxNix4OjAseTowLHJvdGF0ZTowLGZsaXBYOiExLGZsaXBZOiExfTtqWnI9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjtHWnI9YDpyb290LCA6aG9zdCB7CiAgLS1mYS1mb250LXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBGcmVlJzsKICAtLWZhLWZvbnQtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRnJlZSc7CiAgLS1mYS1mb250LWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBQcm8nOwogIC0tZmEtZm9udC10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBQcm8nOwogIC0tZmEtZm9udC1kdW90b25lOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBEdW90b25lJzsKICAtLWZhLWZvbnQtZHVvdG9uZS1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBEdW90b25lJzsKICAtLWZhLWZvbnQtZHVvdG9uZS1saWdodDogbm9ybWFsIDMwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRHVvdG9uZSc7CiAgLS1mYS1mb250LWR1b3RvbmUtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRHVvdG9uZSc7CiAgLS1mYS1mb250LWJyYW5kczogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgQnJhbmRzJzsKICAtLWZhLWZvbnQtc2hhcnAtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwJzsKICAtLWZhLWZvbnQtc2hhcnAtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAnOwogIC0tZmEtZm9udC1zaGFycC1saWdodDogbm9ybWFsIDMwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAnOwogIC0tZmEtZm9udC1zaGFycC10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCc7CiAgLS1mYS1mb250LXNoYXJwLWR1b3RvbmUtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwIER1b3RvbmUnOwogIC0tZmEtZm9udC1zaGFycC1kdW90b25lLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwIER1b3RvbmUnOwogIC0tZmEtZm9udC1zaGFycC1kdW90b25lLWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCBEdW90b25lJzsKICAtLWZhLWZvbnQtc2hhcnAtZHVvdG9uZS10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCBEdW90b25lJzsKICAtLWZhLWZvbnQtc2xhYi1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTbGFiJzsKICAtLWZhLWZvbnQtc2xhYi1wcmVzcy1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTbGFiIFByZXNzJzsKICAtLWZhLWZvbnQtd2hpdGVib2FyZC1zZW1pYm9sZDogbm9ybWFsIDYwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgV2hpdGVib2FyZCc7CiAgLS1mYS1mb250LXRodW1icHJpbnQtbGlnaHQ6IG5vcm1hbCAzMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFRodW1icHJpbnQnOwogIC0tZmEtZm9udC1ub3Rkb2ctc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IE5vdGRvZyc7CiAgLS1mYS1mb250LW5vdGRvZy1kdW8tc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IE5vdGRvZyBEdW8nOwogIC0tZmEtZm9udC1ldGNoLXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBFdGNoJzsKICAtLWZhLWZvbnQtZ3JhcGhpdGUtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgR3JhcGhpdGUnOwogIC0tZmEtZm9udC1qZWxseS1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBKZWxseSc7CiAgLS1mYS1mb250LWplbGx5LWZpbGwtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgSmVsbHkgRmlsbCc7CiAgLS1mYS1mb250LWplbGx5LWR1by1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBKZWxseSBEdW8nOwogIC0tZmEtZm9udC1jaGlzZWwtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgQ2hpc2VsJzsKICAtLWZhLWZvbnQtdXRpbGl0eS1zZW1pYm9sZDogbm9ybWFsIDYwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgVXRpbGl0eSc7CiAgLS1mYS1mb250LXV0aWxpdHktZHVvLXNlbWlib2xkOiBub3JtYWwgNjAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBVdGlsaXR5IER1byc7CiAgLS1mYS1mb250LXV0aWxpdHktZmlsbC1zZW1pYm9sZDogbm9ybWFsIDYwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgVXRpbGl0eSBGaWxsJzsKfQoKLnN2Zy1pbmxpbmUtLWZhIHsKICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICBkaXNwbGF5OiB2YXIoLS1mYS1kaXNwbGF5LCBpbmxpbmUtYmxvY2spOwogIGhlaWdodDogMWVtOwogIG92ZXJmbG93OiB2aXNpYmxlOwogIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTsKICB3aWR0aDogdmFyKC0tZmEtd2lkdGgsIDEuMjVlbSk7Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLTJ4cyB7CiAgdmVydGljYWwtYWxpZ246IDAuMWVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS14cyB7CiAgdmVydGljYWwtYWxpZ246IDBlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEtc20gewogIHZlcnRpY2FsLWFsaWduOiAtMC4wNzE0Mjg1NzE0ZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLWxnIHsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMmVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS14bCB7CiAgdmVydGljYWwtYWxpZ246IC0wLjI1ZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLTJ4bCB7CiAgdmVydGljYWwtYWxpZ246IC0wLjMxMjVlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEtcHVsbC1sZWZ0LAouc3ZnLWlubGluZS0tZmEgLmZhLXB1bGwtc3RhcnQgewogIGZsb2F0OiBpbmxpbmUtc3RhcnQ7CiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXB1bGwtcmlnaHQsCi5zdmctaW5saW5lLS1mYSAuZmEtcHVsbC1lbmQgewogIGZsb2F0OiBpbmxpbmUtZW5kOwogIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLWxpIHsKICB3aWR0aDogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSk7CiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSkpOwogIGluc2V0LWJsb2NrLXN0YXJ0OiAwLjI1ZW07IC8qIHN5bmNpbmcgdmVydGljYWwgYWxpZ25tZW50IHdpdGggV2ViIEZvbnQgcmVuZGVyaW5nICovCn0KCi5mYS1sYXllcnMtY291bnRlciwgLmZhLWxheWVycy10ZXh0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmZhLWxheWVycyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogMWVtOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtOwogIHdpZHRoOiB2YXIoLS1mYS13aWR0aCwgMS4yNWVtKTsKfQouZmEtbGF5ZXJzIC5zdmctaW5saW5lLS1mYSB7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwp9CgouZmEtbGF5ZXJzLXRleHQgewogIGxlZnQ6IDUwJTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwp9CgouZmEtbGF5ZXJzLWNvdW50ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZhLWNvdW50ZXItYmFja2dyb3VuZC1jb2xvciwgI2ZmMjUzYSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZmEtY291bnRlci1ib3JkZXItcmFkaXVzLCAxZW0pOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgY29sb3I6IHZhcigtLWZhLWludmVyc2UsICNmZmYpOwogIGxpbmUtaGVpZ2h0OiB2YXIoLS1mYS1jb3VudGVyLWxpbmUtaGVpZ2h0LCAxKTsKICBtYXgtd2lkdGg6IHZhcigtLWZhLWNvdW50ZXItbWF4LXdpZHRoLCA1ZW0pOwogIG1pbi13aWR0aDogdmFyKC0tZmEtY291bnRlci1taW4td2lkdGgsIDEuNWVtKTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IHZhcigtLWZhLWNvdW50ZXItcGFkZGluZywgMC4yNWVtIDAuNWVtKTsKICByaWdodDogdmFyKC0tZmEtcmlnaHQsIDApOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHRvcDogdmFyKC0tZmEtdG9wLCAwKTsKICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWNvdW50ZXItc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7Cn0KCi5mYS1sYXllcnMtYm90dG9tLXJpZ2h0IHsKICBib3R0b206IHZhcigtLWZhLWJvdHRvbSwgMCk7CiAgcmlnaHQ6IHZhcigtLWZhLXJpZ2h0LCAwKTsKICB0b3A6IGF1dG87CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7Cn0KCi5mYS1sYXllcnMtYm90dG9tLWxlZnQgewogIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTsKICBsZWZ0OiB2YXIoLS1mYS1sZWZ0LCAwKTsKICByaWdodDogYXV0bzsKICB0b3A6IGF1dG87CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDsKfQoKLmZhLWxheWVycy10b3AtcmlnaHQgewogIHRvcDogdmFyKC0tZmEtdG9wLCAwKTsKICByaWdodDogdmFyKC0tZmEtcmlnaHQsIDApOwogIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CgouZmEtbGF5ZXJzLXRvcC1sZWZ0IHsKICBsZWZ0OiB2YXIoLS1mYS1sZWZ0LCAwKTsKICByaWdodDogYXV0bzsKICB0b3A6IHZhcigtLWZhLXRvcCwgMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKfQoKLmZhLTF4IHsKICBmb250LXNpemU6IDFlbTsKfQoKLmZhLTJ4IHsKICBmb250LXNpemU6IDJlbTsKfQoKLmZhLTN4IHsKICBmb250LXNpemU6IDNlbTsKfQoKLmZhLTR4IHsKICBmb250LXNpemU6IDRlbTsKfQoKLmZhLTV4IHsKICBmb250LXNpemU6IDVlbTsKfQoKLmZhLTZ4IHsKICBmb250LXNpemU6IDZlbTsKfQoKLmZhLTd4IHsKICBmb250LXNpemU6IDdlbTsKfQoKLmZhLTh4IHsKICBmb250LXNpemU6IDhlbTsKfQoKLmZhLTl4IHsKICBmb250LXNpemU6IDllbTsKfQoKLmZhLTEweCB7CiAgZm9udC1zaXplOiAxMGVtOwp9CgouZmEtMnhzIHsKICBmb250LXNpemU6IGNhbGMoMTAgLyAxNiAqIDFlbSk7IC8qIGNvbnZlcnRzIGEgMTBweCBzaXplIGludG8gYW4gZW0tYmFzZWQgdmFsdWUgdGhhdCdzIHJlbGF0aXZlIHRvIHRoZSBzY2FsZSdzIDE2cHggYmFzZSAqLwogIGxpbmUtaGVpZ2h0OiBjYWxjKDEgLyAxMCAqIDFlbSk7IC8qIHNldHMgdGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBpY29uIGJhY2sgdG8gdGhhdCBvZiBpdCdzIHBhcmVudCAqLwogIHZlcnRpY2FsLWFsaWduOiBjYWxjKCg2IC8gMTAgLSAwLjM3NSkgKiAxZW0pOyAvKiB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGljb24gdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3Vycm91bmRpbmcgdGV4dCdzIGRlc2NlbmRlciAqLwp9CgouZmEteHMgewogIGZvbnQtc2l6ZTogY2FsYygxMiAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAxMnB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDEyICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAxMiAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS1zbSB7CiAgZm9udC1zaXplOiBjYWxjKDE0IC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDE0cHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMTQgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDE0IC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLWxnIHsKICBmb250LXNpemU6IGNhbGMoMjAgLyAxNiAqIDFlbSk7IC8qIGNvbnZlcnRzIGEgMjBweCBzaXplIGludG8gYW4gZW0tYmFzZWQgdmFsdWUgdGhhdCdzIHJlbGF0aXZlIHRvIHRoZSBzY2FsZSdzIDE2cHggYmFzZSAqLwogIGxpbmUtaGVpZ2h0OiBjYWxjKDEgLyAyMCAqIDFlbSk7IC8qIHNldHMgdGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBpY29uIGJhY2sgdG8gdGhhdCBvZiBpdCdzIHBhcmVudCAqLwogIHZlcnRpY2FsLWFsaWduOiBjYWxjKCg2IC8gMjAgLSAwLjM3NSkgKiAxZW0pOyAvKiB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGljb24gdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3Vycm91bmRpbmcgdGV4dCdzIGRlc2NlbmRlciAqLwp9CgouZmEteGwgewogIGZvbnQtc2l6ZTogY2FsYygyNCAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAyNHB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDI0ICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAyNCAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS0yeGwgewogIGZvbnQtc2l6ZTogY2FsYygzMiAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAzMnB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDMyICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAzMiAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS13aWR0aC1hdXRvIHsKICAtLWZhLXdpZHRoOiBhdXRvOwp9CgouZmEtZncsCi5mYS13aWR0aC1maXhlZCB7CiAgLS1mYS13aWR0aDogMS4yNWVtOwp9CgouZmEtdWwgewogIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1mYS1saS1tYXJnaW4sIDIuNWVtKTsKICBwYWRkaW5nLWlubGluZS1zdGFydDogMDsKfQouZmEtdWwgPiBsaSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouZmEtbGkgewogIGluc2V0LWlubGluZS1zdGFydDogY2FsYygtMSAqIHZhcigtLWZhLWxpLXdpZHRoLCAyZW0pKTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHdpZHRoOiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKTsKICBsaW5lLWhlaWdodDogaW5oZXJpdDsKfQoKLyogSGVhZHMgVXA6IEJvcmRlcmVkIEljb25zIHdpbGwgbm90IGJlIHN1cHBvcnRlZCBpbiB0aGUgZnV0dXJlIQogIC0gVGhpcyBmZWF0dXJlIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlIG9mIEZvbnQgQXdlc29tZSAodjgpIQogIC0gWW91IG1heSBjb250aW51ZSB0byB1c2UgaXQgaW4gdGhpcyB2ZXJzaW9uICp2NyksIGJ1dCBpdCB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQgaW4gRm9udCBBd2Vzb21lIHY4LgoqLwovKiBOb3RlczoKKiAtLUB7di4kY3NzLXByZWZpeH0tYm9yZGVyLXdpZHRoID0gMS8xNiBieSBkZWZhdWx0ICh0byByZW5kZXIgYXMgfjFweCBiYXNlZCBvbiBhIDE2cHggZGVmYXVsdCBmb250LXNpemUpCiogLS1Ae3YuJGNzcy1wcmVmaXh9LWJvcmRlci1wYWRkaW5nID0KICAqKiAzLzE2IGZvciB2ZXJ0aWNhbCBwYWRkaW5nICh0byBnaXZlIH4ycHggb2YgdmVydGljYWwgd2hpdGVzcGFjZSBhcm91bmQgYW4gaWNvbiBjb25zaWRlcmluZyBpdCdzIHZlcnRpY2FsIGFsaWdubWVudCkKICAqKiA0LzE2IGZvciBob3Jpem9udGFsIHBhZGRpbmcgKHRvIGdpdmUgfjRweCBvZiBob3Jpem9udGFsIHdoaXRlc3BhY2UgYXJvdW5kIGFuIGljb24pCiovCi5mYS1ib3JkZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tZmEtYm9yZGVyLWNvbG9yLCAjZWVlKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1mYS1ib3JkZXItcmFkaXVzLCAwLjFlbSk7CiAgYm9yZGVyLXN0eWxlOiB2YXIoLS1mYS1ib3JkZXItc3R5bGUsIHNvbGlkKTsKICBib3JkZXItd2lkdGg6IHZhcigtLWZhLWJvcmRlci13aWR0aCwgMC4wNjI1ZW0pOwogIGJveC1zaXppbmc6IHZhcigtLWZhLWJvcmRlci1ib3gtc2l6aW5nLCBjb250ZW50LWJveCk7CiAgcGFkZGluZzogdmFyKC0tZmEtYm9yZGVyLXBhZGRpbmcsIDAuMTg3NWVtIDAuMjVlbSk7Cn0KCi5mYS1wdWxsLWxlZnQsCi5mYS1wdWxsLXN0YXJ0IHsKICBmbG9hdDogaW5saW5lLXN0YXJ0OwogIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pOwp9CgouZmEtcHVsbC1yaWdodCwKLmZhLXB1bGwtZW5kIHsKICBmbG9hdDogaW5saW5lLWVuZDsKICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pOwp9CgouZmEtYmVhdCB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLWJlYXQ7CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGVhc2UtaW4tb3V0KTsKfQoKLmZhLWJvdW5jZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLWJvdW5jZTsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuMjgsIDAuODQsIDAuNDIsIDEpKTsKfQoKLmZhLWZhZGUgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1mYWRlOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpKTsKfQoKLmZhLWJlYXQtZmFkZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLWJlYXQtZmFkZTsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSk7Cn0KCi5mYS1mbGlwIHsKICBhbmltYXRpb24tbmFtZTogZmEtZmxpcDsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgZWFzZS1pbi1vdXQpOwp9CgouZmEtc2hha2UgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1zaGFrZTsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgbGluZWFyKTsKfQoKLmZhLXNwaW4gewogIGFuaW1hdGlvbi1uYW1lOiBmYS1zcGluOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMnMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBsaW5lYXIpOwp9CgouZmEtc3Bpbi1yZXZlcnNlIHsKICAtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7Cn0KCi5mYS1wdWxzZSwKLmZhLXNwaW4tcHVsc2UgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1zcGluOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgc3RlcHMoOCkpOwp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogIC5mYS1iZWF0LAogIC5mYS1ib3VuY2UsCiAgLmZhLWZhZGUsCiAgLmZhLWJlYXQtZmFkZSwKICAuZmEtZmxpcCwKICAuZmEtcHVsc2UsCiAgLmZhLXNoYWtlLAogIC5mYS1zcGluLAogIC5mYS1zcGluLXB1bHNlIHsKICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogIH0KfQpAa2V5ZnJhbWVzIGZhLWJlYXQgewogIDAlLCA5MCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB9CiAgNDUlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1zY2FsZSwgMS4yNSkpOwogIH0KfQpAa2V5ZnJhbWVzIGZhLWJvdW5jZSB7CiAgMCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOwogIH0KICAxMCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwgMS4xKSwgdmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXksIDAuOSkpIHRyYW5zbGF0ZVkoMCk7CiAgfQogIDMwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXgsIDAuOSksIHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXksIDEuMSkpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLWhlaWdodCwgLTAuNWVtKSk7CiAgfQogIDUwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXgsIDEuMDUpLCB2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS15LCAwLjk1KSkgdHJhbnNsYXRlWSgwKTsKICB9CiAgNTclIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtcmVib3VuZCwgLTAuMTI1ZW0pKTsKICB9CiAgNjQlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTsKICB9CiAgMTAwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtZmFkZSB7CiAgNTAlIHsKICAgIG9wYWNpdHk6IHZhcigtLWZhLWZhZGUtb3BhY2l0eSwgMC40KTsKICB9Cn0KQGtleWZyYW1lcyBmYS1iZWF0LWZhZGUgewogIDAlLCAxMDAlIHsKICAgIG9wYWNpdHk6IHZhcigtLWZhLWJlYXQtZmFkZS1vcGFjaXR5LCAwLjQpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB9CiAgNTAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtZmFkZS1zY2FsZSwgMS4xMjUpKTsKICB9Cn0KQGtleWZyYW1lcyBmYS1mbGlwIHsKICA1MCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUzZCh2YXIoLS1mYS1mbGlwLXgsIDApLCB2YXIoLS1mYS1mbGlwLXksIDEpLCB2YXIoLS1mYS1mbGlwLXosIDApLCB2YXIoLS1mYS1mbGlwLWFuZ2xlLCAtMTgwZGVnKSk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtc2hha2UgewogIDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZyk7CiAgfQogIDQlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsKICB9CiAgOCUsIDI0JSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMThkZWcpOwogIH0KICAxMiUsIDI4JSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7CiAgfQogIDE2JSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjJkZWcpOwogIH0KICAyMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMjJkZWcpOwogIH0KICAzMiUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyZGVnKTsKICB9CiAgMzYlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDEyZGVnKTsKICB9CiAgNDAlLCAxMDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KfQpAa2V5ZnJhbWVzIGZhLXNwaW4gewogIDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgfQp9Ci5mYS1yb3RhdGUtOTAgewogIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKfQoKLmZhLXJvdGF0ZS0xODAgewogIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7Cn0KCi5mYS1yb3RhdGUtMjcwIHsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOwp9CgouZmEtZmxpcC1ob3Jpem9udGFsIHsKICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsKfQoKLmZhLWZsaXAtdmVydGljYWwgewogIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOwp9CgouZmEtZmxpcC1ib3RoLAouZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWwgewogIHRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTsKfQoKLmZhLXJvdGF0ZS1ieSB7CiAgdHJhbnNmb3JtOiByb3RhdGUodmFyKC0tZmEtcm90YXRlLWFuZ2xlLCAwKSk7Cn0KCi5zdmctaW5saW5lLS1mYSAuZmEtcHJpbWFyeSB7CiAgZmlsbDogdmFyKC0tZmEtcHJpbWFyeS1jb2xvciwgY3VycmVudENvbG9yKTsKICBvcGFjaXR5OiB2YXIoLS1mYS1wcmltYXJ5LW9wYWNpdHksIDEpOwp9Cgouc3ZnLWlubGluZS0tZmEgLmZhLXNlY29uZGFyeSB7CiAgZmlsbDogdmFyKC0tZmEtc2Vjb25kYXJ5LWNvbG9yLCBjdXJyZW50Q29sb3IpOwogIG9wYWNpdHk6IHZhcigtLWZhLXNlY29uZGFyeS1vcGFjaXR5LCAwLjQpOwp9Cgouc3ZnLWlubGluZS0tZmEuZmEtc3dhcC1vcGFjaXR5IC5mYS1wcmltYXJ5IHsKICBvcGFjaXR5OiB2YXIoLS1mYS1zZWNvbmRhcnktb3BhY2l0eSwgMC40KTsKfQoKLnN2Zy1pbmxpbmUtLWZhLmZhLXN3YXAtb3BhY2l0eSAuZmEtc2Vjb25kYXJ5IHsKICBvcGFjaXR5OiB2YXIoLS1mYS1wcmltYXJ5LW9wYWNpdHksIDEpOwp9Cgouc3ZnLWlubGluZS0tZmEgbWFzayAuZmEtcHJpbWFyeSwKLnN2Zy1pbmxpbmUtLWZhIG1hc2sgLmZhLXNlY29uZGFyeSB7CiAgZmlsbDogYmxhY2s7Cn0KCi5zdmctaW5saW5lLS1mYS5mYS1pbnZlcnNlIHsKICBmaWxsOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTsKfQoKLmZhLXN0YWNrIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgaGVpZ2h0OiAyZW07CiAgbGluZS1oZWlnaHQ6IDJlbTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogMi41ZW07Cn0KCi5mYS1pbnZlcnNlIHsKICBjb2xvcjogdmFyKC0tZmEtaW52ZXJzZSwgI2ZmZik7Cn0KCi5zdmctaW5saW5lLS1mYS5mYS1zdGFjay0xeCB7CiAgLS1mYS13aWR0aDogMS4yNWVtOwogIGhlaWdodDogMWVtOwogIHdpZHRoOiB2YXIoLS1mYS13aWR0aCk7Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXN0YWNrLTJ4IHsKICAtLWZhLXdpZHRoOiAyLjVlbTsKICBoZWlnaHQ6IDJlbTsKICB3aWR0aDogdmFyKC0tZmEtd2lkdGgpOwp9CgouZmEtc3RhY2stMXgsCi5mYS1zdGFjay0yeCB7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiB2YXIoLS1mYS1zdGFjay16LWluZGV4LCBhdXRvKTsKfWA7UWl0PSExO1lacj17bWl4b3V0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbTp7Y3NzOlhpdCxpbnNlcnRDc3M6dDFlfX19LGhvb2tzOmZ1bmN0aW9uKCl7cmV0dXJue2JlZm9yZURPTUVsZW1lbnRDcmVhdGlvbjpmdW5jdGlvbigpe3QxZSgpfSxiZWZvcmVJMnN2ZzpmdW5jdGlvbigpe3QxZSgpfX19fSxDYz1xNHx8e307Q2NbemNdfHwoQ2NbemNdPXt9KSxDY1t6Y10uc3R5bGVzfHwoQ2NbemNdLnN0eWxlcz17fSksQ2NbemNdLmhvb2tzfHwoQ2NbemNdLmhvb2tzPXt9KSxDY1t6Y10uc2hpbXN8fChDY1t6Y10uc2hpbXM9W10pOyRvPUNjW3pjXSxKaXQ9W10sS2l0PWZ1bmN0aW9uKCl7ZmEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsS2l0KSxsRD0xLEppdC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQoKX0pfSxsRD0hMTtTYyYmKGxEPShmYS5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGw/L15sb2FkZWR8XmMvOi9ebG9hZGVkfF5pfF5jLykudGVzdChmYS5yZWFkeVN0YXRlKSxsRHx8ZmEuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsS2l0KSk7WFpyPWZ1bmN0aW9uKHQscil7cmV0dXJuIGZ1bmN0aW9uKGEsaSxuLHMpe3JldHVybiB0LmNhbGwocixhLGksbixzKX19LHIxZT1mdW5jdGlvbih0LHIsYSxpKXt2YXIgbj1PYmplY3Qua2V5cyh0KSxzPW4ubGVuZ3RoLG89aSE9PXZvaWQgMD9YWnIocixpKTpyLGMsbCx1O2ZvcihhPT09dm9pZCAwPyhjPTEsdT10W25bMF1dKTooYz0wLHU9YSk7YzxzO2MrKylsPW5bY10sdT1vKHUsdFtsXSxsLHQpO3JldHVybiB1fTtpMWU9MSxEbz0yLEphbj1bW0RvLEluKC9wYXRoIG9wYWNpdHk9IihbXiJdKikiLipkPSIoW14iXSopIi4qcGF0aC4qZD0iKFteIl0qKSIvLHtkMjoyLGQxOjN9KV0sW0RvLEluKC9wYXRoIG9wYWNpdHk9IihbXiJdKikiLipkPSIoW14iXSopIi8se2QyOjJ9KV0sW2kxZSxJbigvcGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiLipkPSIoW14iXSspIi8se2QxOjF9KV1dLEthbj1bW0RvLEluKC9wYXRoIGNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipkPSIoW14iXSspIi4qcGF0aCBjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIuKmQ9IihbXiJdKykiLyx7YXR0cjI6MSxkMjoyLGF0dHIxOjMsZDE6NH0pXSxbRG8sSW4oL3BhdGggY2xhc3M9IihbXiJdKnByaW1hcnlbXiJdKikiLipkPSIoW14iXSspIi4qcGF0aCBjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi4qZD0iKFteIl0rKSIvLHthdHRyMToxLGQxOjIsYXR0cjI6MyxkMjo0fSldLFtEbyxJbigvcGF0aCBjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIuKmQ9IihbXiJdKykiLyx7YXR0cjE6MSxkMToyfSldLFtEbyxJbigvcGF0aCBjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi4qZD0iKFteIl0rKSIvLHthdHRyMjoxLGQyOjJ9KV0sW0RvLEluKC9wYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi4qcGF0aCBkPSIoW14iXSspIi4qY2xhc3M9IihbXiJdKnByaW1hcnlbXiJdKikiLyx7ZDI6MSxhdHRyMjoyLGQxOjMsYXR0cjE6NH0pXSxbRG8sSW4oL3BhdGggZD0iKFteIl0rKSIuKmNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi4qcGF0aCBkPSIoW14iXSspIi4qY2xhc3M9IihbXiJdKnNlY29uZGFyeVteIl0qKSIvLHtkMToxLGF0dHIxOjIsZDI6MyxhdHRyMjo0fSldLFtEbyxJbigvcGF0aCBkPSIoW14iXSspIi4qY2xhc3M9IihbXiJdKnByaW1hcnlbXiJdKikiLyx7ZDE6MSxhdHRyMToyfSldLFtEbyxJbigvcGF0aCBkPSIoW14iXSspIi4qY2xhc3M9IihbXiJdKnNlY29uZGFyeVteIl0qKSIvLHtkMjoxLGF0dHIyOjJ9KV0sW0RvLEluKC9wYXRoIGQ9IihbXiJdKykiLipwYXRoIGQ9IihbXiJdKykiLyx7ZDE6MSxkMjoyfSldLFtpMWUsSW4oL3BhdGggZD0iKFteIl0rKSIvLHtkMToxfSldLFtpMWUsSW4oL3BhdGggc3R5bGU9IihbXiJdKykiLipkPSIoW14iXSspIi8se2F0dHIxOjEsZDE6Mn0pXV0scWc9JG8uc3R5bGVzLFFacj0kby5zaGltcyxhbnQ9T2JqZWN0LmtleXMoWG5lKSxKWnI9YW50LnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlW3RdPU9iamVjdC5rZXlzKFhuZVt0XSksZX0se30pLG4xZT1udWxsLGludD17fSxubnQ9e30sc250PXt9LG9udD17fSxsbnQ9e307Y250PWZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24obil7cmV0dXJuIHIxZShxZyxmdW5jdGlvbihzLG8sYyl7cmV0dXJuIHNbY109cjFlKG8sbix7fSksc30se30pfTtpbnQ9dChmdW5jdGlvbihpLG4scyl7aWYoblszXSYmKGlbblszXV09cyksblsyXSl7dmFyIG89blsyXS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIHR5cGVvZiBjPT0ibnVtYmVyIn0pO28uZm9yRWFjaChmdW5jdGlvbihjKXtpW2MudG9TdHJpbmcoMTYpXT1zfSl9cmV0dXJuIGl9KSxubnQ9dChmdW5jdGlvbihpLG4scyl7aWYoaVtzXT1zLG5bMl0pe3ZhciBvPW5bMl0uZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiB0eXBlb2YgYz09InN0cmluZyJ9KTtvLmZvckVhY2goZnVuY3Rpb24oYyl7aVtjXT1zfSl9cmV0dXJuIGl9KSxsbnQ9dChmdW5jdGlvbihpLG4scyl7dmFyIG89blsyXTtyZXR1cm4gaVtzXT1zLG8uZm9yRWFjaChmdW5jdGlvbihjKXtpW2NdPXN9KSxpfSk7dmFyIHI9ImZhciJpbiBxZ3x8cHQuYXV0b0ZldGNoU3ZnLGE9cjFlKFFacixmdW5jdGlvbihpLG4pe3ZhciBzPW5bMF0sbz1uWzFdLGM9blsyXTtyZXR1cm4gbz09PSJmYXIiJiYhciYmKG89ImZhcyIpLHR5cGVvZiBzPT0ic3RyaW5nIiYmKGkubmFtZXNbc109e3ByZWZpeDpvLGljb25OYW1lOmN9KSx0eXBlb2Ygcz09Im51bWJlciImJihpLnVuaWNvZGVzW3MudG9TdHJpbmcoMTYpXT17cHJlZml4Om8saWNvbk5hbWU6Y30pLGl9LHtuYW1lczp7fSx1bmljb2Rlczp7fX0pO3NudD1hLm5hbWVzLG9udD1hLnVuaWNvZGVzLG4xZT1jRChwdC5zdHlsZURlZmF1bHQse2ZhbWlseTpwdC5mYW1pbHlEZWZhdWx0fSl9O0hacihmdW5jdGlvbihlKXtuMWU9Y0QoZS5zdHlsZURlZmF1bHQse2ZhbWlseTpwdC5mYW1pbHlEZWZhdWx0fSl9KSxjbnQoKTt1bnQ9ZnVuY3Rpb24oKXtyZXR1cm57cHJlZml4Om51bGwsaWNvbk5hbWU6bnVsbCxyZXN0OltdfX07Zm50PU5pdC5jb25jYXQoRWl0KTtzWHI9QWl0LmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZSE9PVhpfHxlIT09Rmd9KSxvWHI9T2JqZWN0LmtleXMoam5lKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT1YaX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmtleXMoam5lW2VdKX0pLmZsYXQoKTtjWHI9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe1ZHcih0aGlzLGUpLHRoaXMuZGVmaW5pdGlvbnM9e319cmV0dXJuIFVHcihlLFt7a2V5OiJhZGQiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciByPXRoaXMsYT1hcmd1bWVudHMubGVuZ3RoLGk9bmV3IEFycmF5KGEpLG49MDtuPGE7bisrKWlbbl09YXJndW1lbnRzW25dO3ZhciBzPWkucmVkdWNlKHRoaXMuX3B1bGxEZWZpbml0aW9ucyx7fSk7T2JqZWN0LmtleXMocykuZm9yRWFjaChmdW5jdGlvbihvKXtyLmRlZmluaXRpb25zW29dPVZlKFZlKHt9LHIuZGVmaW5pdGlvbnNbb118fHt9KSxzW29dKSxhMWUobyxzW29dKTt2YXIgYz1YbmVbWGldW29dO2MmJmExZShjLHNbb10pLGNudCgpfSl9fSx7a2V5OiJyZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmRlZmluaXRpb25zPXt9fX0se2tleToiX3B1bGxEZWZpbml0aW9ucyIsdmFsdWU6ZnVuY3Rpb24ocixhKXt2YXIgaT1hLnByZWZpeCYmYS5pY29uTmFtZSYmYS5pY29uP3swOmF9OmE7cmV0dXJuIE9iamVjdC5rZXlzKGkpLm1hcChmdW5jdGlvbihuKXt2YXIgcz1pW25dLG89cy5wcmVmaXgsYz1zLmljb25OYW1lLGw9cy5pY29uLHU9bFsyXTtyW29dfHwocltvXT17fSksdS5sZW5ndGg+MCYmdS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3R5cGVvZiBkPT0ic3RyaW5nIiYmKHJbb11bZF09bCl9KSxyW29dW2NdPWx9KSxyfX1dKX0pKCksaG50PVtdLEs4PXt9LGVmPXt9LGRYcj1PYmplY3Qua2V5cyhlZik7bW50PW5ldyBjWHIscFhyPWZ1bmN0aW9uKCl7cHQuYXV0b1JlcGxhY2VTdmc9ITEscHQub2JzZXJ2ZU11dGF0aW9ucz0hMSxqNigibm9BdXRvIil9LGZYcj17aTJzdmc6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXZvaWQgMD9hcmd1bWVudHNbMF06e307cmV0dXJuIFNjPyhqNigiYmVmb3JlSTJzdmciLHQpLFU0KCJwc2V1ZG9FbGVtZW50czJzdmciLHQpLFU0KCJpMnN2ZyIsdCkpOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiT3BlcmF0aW9uIHJlcXVpcmVzIGEgRE9NIG9mIHNvbWUga2luZC4iKSl9LHdhdGNoOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LHI9dC5hdXRvUmVwbGFjZVN2Z1Jvb3Q7cHQuYXV0b1JlcGxhY2VTdmc9PT0hMSYmKHB0LmF1dG9SZXBsYWNlU3ZnPSEwKSxwdC5vYnNlcnZlTXV0YXRpb25zPSEwLFpacihmdW5jdGlvbigpe21Ycih7YXV0b1JlcGxhY2VTdmdSb290OnJ9KSxqNigid2F0Y2giLHQpfSl9fSxoWHI9e2ljb246ZnVuY3Rpb24odCl7aWYodD09PW51bGwpcmV0dXJuIG51bGw7aWYoaUQodCk9PT0ib2JqZWN0IiYmdC5wcmVmaXgmJnQuaWNvbk5hbWUpcmV0dXJue3ByZWZpeDp0LnByZWZpeCxpY29uTmFtZTpxNih0LnByZWZpeCx0Lmljb25OYW1lKXx8dC5pY29uTmFtZX07aWYoQXJyYXkuaXNBcnJheSh0KSYmdC5sZW5ndGg9PT0yKXt2YXIgcj10WzFdLmluZGV4T2YoImZhLSIpPT09MD90WzFdLnNsaWNlKDMpOnRbMV0sYT1jRCh0WzBdKTtyZXR1cm57cHJlZml4OmEsaWNvbk5hbWU6cTYoYSxyKXx8cn19aWYodHlwZW9mIHQ9PSJzdHJpbmciJiYodC5pbmRleE9mKCIiLmNvbmNhdChwdC5jc3NQcmVmaXgsIi0iKSk+LTF8fHQubWF0Y2goSVpyKSkpe3ZhciBpPWREKHQuc3BsaXQoIiAiKSx7c2tpcExvb2t1cHM6ITB9KTtyZXR1cm57cHJlZml4OmkucHJlZml4fHxWNCgpLGljb25OYW1lOnE2KGkucHJlZml4LGkuaWNvbk5hbWUpfHxpLmljb25OYW1lfX1pZih0eXBlb2YgdD09InN0cmluZyIpe3ZhciBuPVY0KCk7cmV0dXJue3ByZWZpeDpuLGljb25OYW1lOnE2KG4sdCl8fHR9fX19LEwxPXtub0F1dG86cFhyLGNvbmZpZzpwdCxkb206ZlhyLHBhcnNlOmhYcixsaWJyYXJ5Om1udCxmaW5kSWNvbkRlZmluaXRpb246bDFlLHRvSHRtbDpIZ30sbVhyPWZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LHI9dC5hdXRvUmVwbGFjZVN2Z1Jvb3QsYT1yPT09dm9pZCAwP2ZhOnI7KE9iamVjdC5rZXlzKCRvLnN0eWxlcykubGVuZ3RoPjB8fHB0LmF1dG9GZXRjaFN2ZykmJlNjJiZwdC5hdXRvUmVwbGFjZVN2ZyYmTDEuZG9tLmkyc3ZnKHtub2RlOmF9KX07ZDFlPSRvLnN0eWxlczt5WHI9e2ZvdW5kOiExLHdpZHRoOjUxMixoZWlnaHQ6NTEyfTtibnQ9ZnVuY3Rpb24oKXt9LGYxZT1wdC5tZWFzdXJlUGVyZm9ybWFuY2UmJm5EJiZuRC5tYXJrJiZuRC5tZWFzdXJlP25EOnttYXJrOmJudCxtZWFzdXJlOmJudH0samc9J0ZBICI3LjIuMCInLE1Ycj1mdW5jdGlvbih0KXtyZXR1cm4gZjFlLm1hcmsoIiIuY29uY2F0KGpnLCIgIikuY29uY2F0KHQsIiBiZWdpbnMiKSksZnVuY3Rpb24oKXtyZXR1cm4gdm50KHQpfX0sdm50PWZ1bmN0aW9uKHQpe2YxZS5tYXJrKCIiLmNvbmNhdChqZywiICIpLmNvbmNhdCh0LCIgZW5kcyIpKSxmMWUubWVhc3VyZSgiIi5jb25jYXQoamcsIiAiKS5jb25jYXQodCksIiIuY29uY2F0KGpnLCIgIikuY29uY2F0KHQsIiBiZWdpbnMiKSwiIi5jb25jYXQoamcsIiAiKS5jb25jYXQodCwiIGVuZHMiKSl9LGgxZT17YmVnaW46TVhyLGVuZDp2bnR9LHBEPWZ1bmN0aW9uKCl7fTtmRD17cmVwbGFjZTpmdW5jdGlvbih0KXt2YXIgcj10WzBdO2lmKHIucGFyZW50Tm9kZSlpZih0WzFdLmZvckVhY2goZnVuY3Rpb24oaSl7ci5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh5bnQoaSkscil9KSxyLmdldEF0dHJpYnV0ZShINik9PT1udWxsJiZwdC5rZWVwT3JpZ2luYWxTb3VyY2Upe3ZhciBhPWZhLmNyZWF0ZUNvbW1lbnQoX1hyKHIpKTtyLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGEscil9ZWxzZSByLnJlbW92ZSgpfSxuZXN0OmZ1bmN0aW9uKHQpe3ZhciByPXRbMF0sYT10WzFdO2lmKH5LbmUocikuaW5kZXhPZihwdC5yZXBsYWNlbWVudENsYXNzKSlyZXR1cm4gZkQucmVwbGFjZSh0KTt2YXIgaT1uZXcgUmVnRXhwKCIiLmNvbmNhdChwdC5jc3NQcmVmaXgsIi0uKiIpKTtpZihkZWxldGUgYVswXS5hdHRyaWJ1dGVzLmlkLGFbMF0uYXR0cmlidXRlcy5jbGFzcyl7dmFyIG49YVswXS5hdHRyaWJ1dGVzLmNsYXNzLnNwbGl0KCIgIikucmVkdWNlKGZ1bmN0aW9uKG8sYyl7cmV0dXJuIGM9PT1wdC5yZXBsYWNlbWVudENsYXNzfHxjLm1hdGNoKGkpP28udG9TdmcucHVzaChjKTpvLnRvTm9kZS5wdXNoKGMpLG99LHt0b05vZGU6W10sdG9Tdmc6W119KTthWzBdLmF0dHJpYnV0ZXMuY2xhc3M9bi50b1N2Zy5qb2luKCIgIiksbi50b05vZGUubGVuZ3RoPT09MD9yLnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKTpyLnNldEF0dHJpYnV0ZSgiY2xhc3MiLG4udG9Ob2RlLmpvaW4oIiAiKSl9dmFyIHM9YS5tYXAoZnVuY3Rpb24obyl7cmV0dXJuIEhnKG8pfSkuam9pbihgCmApO3Iuc2V0QXR0cmlidXRlKEg2LCIiKSxyLmlubmVySFRNTD1zfX07bTFlPSExO2hEPW51bGw7SVhyPSRvLnN0eWxlcztPWHI9ZnVuY3Rpb24odCl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LGE9ci50cmFuc2Zvcm0saT1hPT09dm9pZCAwP2xsOmEsbj1yLnN5bWJvbCxzPW49PT12b2lkIDA/ITE6bixvPXIubWFzayxjPW89PT12b2lkIDA/bnVsbDpvLGw9ci5tYXNrSWQsdT1sPT09dm9pZCAwP251bGw6bCxkPXIuY2xhc3NlcyxoPWQ9PT12b2lkIDA/W106ZCxtPXIuYXR0cmlidXRlcyx2PW09PT12b2lkIDA/e306bSxiPXIuc3R5bGVzLGc9Yj09PXZvaWQgMD97fTpiO2lmKHQpe3ZhciB5PXQucHJlZml4LHc9dC5pY29uTmFtZSxrPXQuaWNvbjtyZXR1cm4gdUQoVmUoe3R5cGU6Imljb24ifSx0KSxmdW5jdGlvbigpe3JldHVybiBqNigiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIix7aWNvbkRlZmluaXRpb246dCxwYXJhbXM6cn0pLGMxZSh7aWNvbnM6e21haW46dTFlKGspLG1hc2s6Yz91MWUoYy5pY29uKTp7Zm91bmQ6ITEsd2lkdGg6bnVsbCxoZWlnaHQ6bnVsbCxpY29uOnt9fX0scHJlZml4OnksaWNvbk5hbWU6dyx0cmFuc2Zvcm06VmUoVmUoe30sbGwpLGkpLHN5bWJvbDpzLG1hc2tJZDp1LGV4dHJhOnthdHRyaWJ1dGVzOnYsc3R5bGVzOmcsY2xhc3NlczpofX0pfSl9fSxSWHI9e21peG91dDpmdW5jdGlvbigpe3JldHVybntpY29uOkZYcihPWHIpfX0saG9va3M6ZnVuY3Rpb24oKXtyZXR1cm57bXV0YXRpb25PYnNlcnZlckNhbGxiYWNrczpmdW5jdGlvbihyKXtyZXR1cm4gci50cmVlQ2FsbGJhY2s9VG50LHIubm9kZUNhbGxiYWNrPU5YcixyfX19LHByb3ZpZGVzOmZ1bmN0aW9uKHQpe3QuaTJzdmc9ZnVuY3Rpb24ocil7dmFyIGE9ci5ub2RlLGk9YT09PXZvaWQgMD9mYTphLG49ci5jYWxsYmFjayxzPW49PT12b2lkIDA/ZnVuY3Rpb24oKXt9Om47cmV0dXJuIFRudChpLHMpfSx0LmdlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbj1mdW5jdGlvbihyLGEpe3ZhciBpPWEuaWNvbk5hbWUsbj1hLnByZWZpeCxzPWEudHJhbnNmb3JtLG89YS5zeW1ib2wsYz1hLm1hc2ssbD1hLm1hc2tJZCx1PWEuZXh0cmE7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGQsaCl7UHJvbWlzZS5hbGwoW3AxZShpLG4pLGMuaWNvbk5hbWU/cDFlKGMuaWNvbk5hbWUsYy5wcmVmaXgpOlByb21pc2UucmVzb2x2ZSh7Zm91bmQ6ITEsd2lkdGg6NTEyLGhlaWdodDo1MTIsaWNvbjp7fX0pXSkudGhlbihmdW5jdGlvbihtKXt2YXIgdj1hRChtLDIpLGI9dlswXSxnPXZbMV07ZChbcixjMWUoe2ljb25zOnttYWluOmIsbWFzazpnfSxwcmVmaXg6bixpY29uTmFtZTppLHRyYW5zZm9ybTpzLHN5bWJvbDpvLG1hc2tJZDpsLGV4dHJhOnUsd2F0Y2hhYmxlOiEwfSldKX0pLmNhdGNoKGgpfSl9LHQuZ2VuZXJhdGVBYnN0cmFjdEljb249ZnVuY3Rpb24ocil7dmFyIGE9ci5jaGlsZHJlbixpPXIuYXR0cmlidXRlcyxuPXIubWFpbixzPXIudHJhbnNmb3JtLG89ci5zdHlsZXMsYz1vRChvKTtjLmxlbmd0aD4wJiYoaS5zdHlsZT1jKTt2YXIgbDtyZXR1cm4gZTFlKHMpJiYobD1VNCgiZ2VuZXJhdGVBYnN0cmFjdFRyYW5zZm9ybUdyb3VwaW5nIix7bWFpbjpuLHRyYW5zZm9ybTpzLGNvbnRhaW5lcldpZHRoOm4ud2lkdGgsaWNvbldpZHRoOm4ud2lkdGh9KSksYS5wdXNoKGx8fG4uaWNvbikse2NoaWxkcmVuOmEsYXR0cmlidXRlczppfX19fSxCWHI9e21peG91dDpmdW5jdGlvbigpe3JldHVybntsYXllcjpmdW5jdGlvbihyKXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30saT1hLmNsYXNzZXMsbj1pPT09dm9pZCAwP1tdOmk7cmV0dXJuIHVEKHt0eXBlOiJsYXllciJ9LGZ1bmN0aW9uKCl7ajYoImJlZm9yZURPTUVsZW1lbnRDcmVhdGlvbiIse2Fzc2VtYmxlcjpyLHBhcmFtczphfSk7dmFyIHM9W107cmV0dXJuIHIoZnVuY3Rpb24obyl7QXJyYXkuaXNBcnJheShvKT9vLm1hcChmdW5jdGlvbihjKXtzPXMuY29uY2F0KGMuYWJzdHJhY3QpfSk6cz1zLmNvbmNhdChvLmFic3RyYWN0KX0pLFt7dGFnOiJzcGFuIixhdHRyaWJ1dGVzOntjbGFzczpbIiIuY29uY2F0KHB0LmNzc1ByZWZpeCwiLWxheWVycyIpXS5jb25jYXQoTG8obikpLmpvaW4oIiAiKX0sY2hpbGRyZW46c31dfSl9fX19LEhYcj17bWl4b3V0OmZ1bmN0aW9uKCl7cmV0dXJue2NvdW50ZXI6ZnVuY3Rpb24ocil7dmFyIGE9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LGk9YS50aXRsZSxuPWk9PT12b2lkIDA/bnVsbDppLHM9YS5jbGFzc2VzLG89cz09PXZvaWQgMD9bXTpzLGM9YS5hdHRyaWJ1dGVzLGw9Yz09PXZvaWQgMD97fTpjLHU9YS5zdHlsZXMsZD11PT09dm9pZCAwP3t9OnU7cmV0dXJuIHVEKHt0eXBlOiJjb3VudGVyIixjb250ZW50OnJ9LGZ1bmN0aW9uKCl7cmV0dXJuIGo2KCJiZWZvcmVET01FbGVtZW50Q3JlYXRpb24iLHtjb250ZW50OnIscGFyYW1zOmF9KSx4WHIoe2NvbnRlbnQ6ci50b1N0cmluZygpLHRpdGxlOm4sZXh0cmE6e2F0dHJpYnV0ZXM6bCxzdHlsZXM6ZCxjbGFzc2VzOlsiIi5jb25jYXQocHQuY3NzUHJlZml4LCItbGF5ZXJzLWNvdW50ZXIiKV0uY29uY2F0KExvKG8pKX19KX0pfX19fSxxWHI9e21peG91dDpmdW5jdGlvbigpe3JldHVybnt0ZXh0OmZ1bmN0aW9uKHIpe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxpPWEudHJhbnNmb3JtLG49aT09PXZvaWQgMD9sbDppLHM9YS5jbGFzc2VzLG89cz09PXZvaWQgMD9bXTpzLGM9YS5hdHRyaWJ1dGVzLGw9Yz09PXZvaWQgMD97fTpjLHU9YS5zdHlsZXMsZD11PT09dm9pZCAwP3t9OnU7cmV0dXJuIHVEKHt0eXBlOiJ0ZXh0Iixjb250ZW50OnJ9LGZ1bmN0aW9uKCl7cmV0dXJuIGo2KCJiZWZvcmVET01FbGVtZW50Q3JlYXRpb24iLHtjb250ZW50OnIscGFyYW1zOmF9KSxnbnQoe2NvbnRlbnQ6cix0cmFuc2Zvcm06VmUoVmUoe30sbGwpLG4pLGV4dHJhOnthdHRyaWJ1dGVzOmwsc3R5bGVzOmQsY2xhc3NlczpbIiIuY29uY2F0KHB0LmNzc1ByZWZpeCwiLWxheWVycy10ZXh0IildLmNvbmNhdChMbyhvKSl9fSl9KX19fSxwcm92aWRlczpmdW5jdGlvbih0KXt0LmdlbmVyYXRlTGF5ZXJzVGV4dD1mdW5jdGlvbihyLGEpe3ZhciBpPWEudHJhbnNmb3JtLG49YS5leHRyYSxzPW51bGwsbz1udWxsO2lmKHBpdCl7dmFyIGM9cGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShyKS5mb250U2l6ZSwxMCksbD1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3M9bC53aWR0aC9jLG89bC5oZWlnaHQvY31yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtyLGdudCh7Y29udGVudDpyLmlubmVySFRNTCx3aWR0aDpzLGhlaWdodDpvLHRyYW5zZm9ybTppLGV4dHJhOm4sd2F0Y2hhYmxlOiEwfSldKX19fSxfbnQ9bmV3IFJlZ0V4cCgnIicsInVnIiksTG50PVsxMTA1OTIwLDExMTIzMTldLCRudD1WZShWZShWZShWZSh7fSx7Rm9udEF3ZXNvbWU6e25vcm1hbDoiZmFzIiw0MDA6ImZhcyJ9fSksTVlyKSxMWnIpLERZciksYjFlPU9iamVjdC5rZXlzKCRudCkucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGVbdC50b0xvd2VyQ2FzZSgpXT0kbnRbdF0sZX0se30pLGpYcj1PYmplY3Qua2V5cyhiMWUpLnJlZHVjZShmdW5jdGlvbihlLHQpe3ZhciByPWIxZVt0XTtyZXR1cm4gZVt0XT1yWzkwMF18fExvKE9iamVjdC5lbnRyaWVzKHIpKVswXVsxXSxlfSx7fSk7WlhyPWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmSGl0LnNvbWUoZnVuY3Rpb24ocil7cmV0dXJuIHQuaW5jbHVkZXMocil9KX0sWFhyPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybltdO3ZhciByPW5ldyBTZXQsYT10LnNwbGl0KC8sKD8hW14oKV0qXCkpLykubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnRyaW0oKX0pO2E9YS5mbGF0TWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLmluY2x1ZGVzKCIoIik/YzpjLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBsLnRyaW0oKX0pfSk7dmFyIGk9dEQoYSksbjt0cnl7Zm9yKGkucygpOyEobj1pLm4oKSkuZG9uZTspe3ZhciBzPW4udmFsdWU7aWYoWlhyKHMpKXt2YXIgbz1IaXQucmVkdWNlKGZ1bmN0aW9uKGMsbCl7cmV0dXJuIGMucmVwbGFjZShsLCIiKX0scyk7byE9PSIiJiZvIT09IioiJiZyLmFkZChvKX19fWNhdGNoKGMpe2kuZShjKX1maW5hbGx5e2kuZigpfXJldHVybiByfTtRWHI9e2hvb2tzOmZ1bmN0aW9uKCl7cmV0dXJue211dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3M6ZnVuY3Rpb24ocil7cmV0dXJuIHIucHNldWRvRWxlbWVudHNDYWxsYmFjaz1BbnQscn19fSxwcm92aWRlczpmdW5jdGlvbih0KXt0LnBzZXVkb0VsZW1lbnRzMnN2Zz1mdW5jdGlvbihyKXt2YXIgYT1yLm5vZGUsaT1hPT09dm9pZCAwP2ZhOmE7cHQuc2VhcmNoUHNldWRvRWxlbWVudHMmJkFudChpKX19fSxFbnQ9ITEsSlhyPXttaXhvdXQ6ZnVuY3Rpb24oKXtyZXR1cm57ZG9tOnt1bndhdGNoOmZ1bmN0aW9uKCl7a250KCksRW50PSEwfX19fSxob29rczpmdW5jdGlvbigpe3JldHVybntib290c3RyYXA6ZnVuY3Rpb24oKXtTbnQobzFlKCJtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzIix7fSkpfSxub0F1dG86ZnVuY3Rpb24oKXtMWHIoKX0sd2F0Y2g6ZnVuY3Rpb24ocil7dmFyIGE9ci5vYnNlcnZlTXV0YXRpb25zUm9vdDtFbnQ/ZzFlKCk6U250KG8xZSgibXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyIse29ic2VydmVNdXRhdGlvbnNSb290OmF9KSl9fX19LEludD1mdW5jdGlvbih0KXt2YXIgcj17c2l6ZToxNix4OjAseTowLGZsaXBYOiExLGZsaXBZOiExLHJvdGF0ZTowfTtyZXR1cm4gdC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIgIikucmVkdWNlKGZ1bmN0aW9uKGEsaSl7dmFyIG49aS50b0xvd2VyQ2FzZSgpLnNwbGl0KCItIikscz1uWzBdLG89bi5zbGljZSgxKS5qb2luKCItIik7aWYocyYmbz09PSJoIilyZXR1cm4gYS5mbGlwWD0hMCxhO2lmKHMmJm89PT0idiIpcmV0dXJuIGEuZmxpcFk9ITAsYTtpZihvPXBhcnNlRmxvYXQobyksaXNOYU4obykpcmV0dXJuIGE7c3dpdGNoKHMpe2Nhc2UiZ3JvdyI6YS5zaXplPWEuc2l6ZStvO2JyZWFrO2Nhc2Uic2hyaW5rIjphLnNpemU9YS5zaXplLW87YnJlYWs7Y2FzZSJsZWZ0IjphLng9YS54LW87YnJlYWs7Y2FzZSJyaWdodCI6YS54PWEueCtvO2JyZWFrO2Nhc2UidXAiOmEueT1hLnktbzticmVhaztjYXNlImRvd24iOmEueT1hLnkrbzticmVhaztjYXNlInJvdGF0ZSI6YS5yb3RhdGU9YS5yb3RhdGUrbzticmVha31yZXR1cm4gYX0scil9LEtYcj17bWl4b3V0OmZ1bmN0aW9uKCl7cmV0dXJue3BhcnNlOnt0cmFuc2Zvcm06ZnVuY3Rpb24ocil7cmV0dXJuIEludChyKX19fX0saG9va3M6ZnVuY3Rpb24oKXtyZXR1cm57cGFyc2VOb2RlQXR0cmlidXRlczpmdW5jdGlvbihyLGEpe3ZhciBpPWEuZ2V0QXR0cmlidXRlKCJkYXRhLWZhLXRyYW5zZm9ybSIpO3JldHVybiBpJiYoci50cmFuc2Zvcm09SW50KGkpKSxyfX19LHByb3ZpZGVzOmZ1bmN0aW9uKHQpe3QuZ2VuZXJhdGVBYnN0cmFjdFRyYW5zZm9ybUdyb3VwaW5nPWZ1bmN0aW9uKHIpe3ZhciBhPXIubWFpbixpPXIudHJhbnNmb3JtLG49ci5jb250YWluZXJXaWR0aCxzPXIuaWNvbldpZHRoLG89e3RyYW5zZm9ybToidHJhbnNsYXRlKCIuY29uY2F0KG4vMiwiIDI1NikiKX0sYz0idHJhbnNsYXRlKCIuY29uY2F0KGkueCozMiwiLCAiKS5jb25jYXQoaS55KjMyLCIpICIpLGw9InNjYWxlKCIuY29uY2F0KGkuc2l6ZS8xNiooaS5mbGlwWD8tMToxKSwiLCAiKS5jb25jYXQoaS5zaXplLzE2KihpLmZsaXBZPy0xOjEpLCIpICIpLHU9InJvdGF0ZSgiLmNvbmNhdChpLnJvdGF0ZSwiIDAgMCkiKSxkPXt0cmFuc2Zvcm06IiIuY29uY2F0KGMsIiAiKS5jb25jYXQobCwiICIpLmNvbmNhdCh1KX0saD17dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIi5jb25jYXQocy8yKi0xLCIgLTI1NikiKX0sbT17b3V0ZXI6byxpbm5lcjpkLHBhdGg6aH07cmV0dXJue3RhZzoiZyIsYXR0cmlidXRlczpWZSh7fSxtLm91dGVyKSxjaGlsZHJlbjpbe3RhZzoiZyIsYXR0cmlidXRlczpWZSh7fSxtLmlubmVyKSxjaGlsZHJlbjpbe3RhZzphLmljb24udGFnLGNoaWxkcmVuOmEuaWNvbi5jaGlsZHJlbixhdHRyaWJ1dGVzOlZlKFZlKHt9LGEuaWNvbi5hdHRyaWJ1dGVzKSxtLnBhdGgpfV19XX19fX0sdjFlPXt4OjAseTowLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifTt0UXI9e2hvb2tzOmZ1bmN0aW9uKCl7cmV0dXJue3BhcnNlTm9kZUF0dHJpYnV0ZXM6ZnVuY3Rpb24ocixhKXt2YXIgaT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS1tYXNrIiksbj1pP2REKGkuc3BsaXQoIiAiKS5tYXAoZnVuY3Rpb24ocyl7cmV0dXJuIHMudHJpbSgpfSkpOnVudCgpO3JldHVybiBuLnByZWZpeHx8KG4ucHJlZml4PVY0KCkpLHIubWFzaz1uLHIubWFza0lkPWEuZ2V0QXR0cmlidXRlKCJkYXRhLWZhLW1hc2staWQiKSxyfX19LHByb3ZpZGVzOmZ1bmN0aW9uKHQpe3QuZ2VuZXJhdGVBYnN0cmFjdE1hc2s9ZnVuY3Rpb24ocil7dmFyIGE9ci5jaGlsZHJlbixpPXIuYXR0cmlidXRlcyxuPXIubWFpbixzPXIubWFzayxvPXIubWFza0lkLGM9ci50cmFuc2Zvcm0sbD1uLndpZHRoLHU9bi5pY29uLGQ9cy53aWR0aCxoPXMuaWNvbixtPVVacih7dHJhbnNmb3JtOmMsY29udGFpbmVyV2lkdGg6ZCxpY29uV2lkdGg6bH0pLHY9e3RhZzoicmVjdCIsYXR0cmlidXRlczpWZShWZSh7fSx2MWUpLHt9LHtmaWxsOiJ3aGl0ZSJ9KX0sYj11LmNoaWxkcmVuP3tjaGlsZHJlbjp1LmNoaWxkcmVuLm1hcChQbnQpfTp7fSxnPXt0YWc6ImciLGF0dHJpYnV0ZXM6VmUoe30sbS5pbm5lciksY2hpbGRyZW46W1BudChWZSh7dGFnOnUudGFnLGF0dHJpYnV0ZXM6VmUoVmUoe30sdS5hdHRyaWJ1dGVzKSxtLnBhdGgpfSxiKSldfSx5PXt0YWc6ImciLGF0dHJpYnV0ZXM6VmUoe30sbS5vdXRlciksY2hpbGRyZW46W2ddfSx3PSJtYXNrLSIuY29uY2F0KG98fFlpdCgpKSxrPSJjbGlwLSIuY29uY2F0KG98fFlpdCgpKSxSPXt0YWc6Im1hc2siLGF0dHJpYnV0ZXM6VmUoVmUoe30sdjFlKSx7fSx7aWQ6dyxtYXNrVW5pdHM6InVzZXJTcGFjZU9uVXNlIixtYXNrQ29udGVudFVuaXRzOiJ1c2VyU3BhY2VPblVzZSJ9KSxjaGlsZHJlbjpbdix5XX0sQz17dGFnOiJkZWZzIixjaGlsZHJlbjpbe3RhZzoiY2xpcFBhdGgiLGF0dHJpYnV0ZXM6e2lkOmt9LGNoaWxkcmVuOmVRcihoKX0sUl19O3JldHVybiBhLnB1c2goQyx7dGFnOiJyZWN0IixhdHRyaWJ1dGVzOlZlKHtmaWxsOiJjdXJyZW50Q29sb3IiLCJjbGlwLXBhdGgiOiJ1cmwoIyIuY29uY2F0KGssIikiKSxtYXNrOiJ1cmwoIyIuY29uY2F0KHcsIikiKX0sdjFlKX0pLHtjaGlsZHJlbjphLGF0dHJpYnV0ZXM6aX19fX0sclFyPXtwcm92aWRlczpmdW5jdGlvbih0KXt2YXIgcj0hMTtxNC5tYXRjaE1lZGlhJiYocj1xNC5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXMpLHQubWlzc2luZ0ljb25BYnN0cmFjdD1mdW5jdGlvbigpe3ZhciBhPVtdLGk9e2ZpbGw6ImN1cnJlbnRDb2xvciJ9LG49e2F0dHJpYnV0ZVR5cGU6IlhNTCIscmVwZWF0Q291bnQ6ImluZGVmaW5pdGUiLGR1cjoiMnMifTthLnB1c2goe3RhZzoicGF0aCIsYXR0cmlidXRlczpWZShWZSh7fSxpKSx7fSx7ZDoiTTE1Ni41LDQ0Ny43bC0xMi42LDI5LjVjLTE4LjctOS41LTM1LjktMjEuMi01MS41LTM0LjlsMjIuNy0yMi43QzEyNy42LDQzMC41LDE0MS41LDQ0MCwxNTYuNSw0NDcuN3ogTTQwLjYsMjcySDguNSBjMS40LDIxLjIsNS40LDQxLjcsMTEuNyw2MS4xTDUwLDMyMS4yQzQ1LjEsMzA1LjUsNDEuOCwyODksNDAuNiwyNzJ6IE00MC42LDI0MGMxLjQtMTguOCw1LjItMzcsMTEuMS01NC4xbC0yOS41LTEyLjYgQzE0LjcsMTk0LjMsMTAsMjE2LjcsOC41LDI0MEg0MC42eiBNNjQuMywxNTYuNWM3LjgtMTQuOSwxNy4yLTI4LjgsMjguMS00MS41TDY5LjcsOTIuM2MtMTMuNywxNS42LTI1LjUsMzIuOC0zNC45LDUxLjUgTDY0LjMsMTU2LjV6IE0zOTcsNDE5LjZjLTEzLjksMTItMjkuNCwyMi4zLTQ2LjEsMzAuNGwxMS45LDI5LjhjMjAuNy05LjksMzkuOC0yMi42LDU2LjktMzcuNkwzOTcsNDE5LjZ6IE0xMTUsOTIuNCBjMTMuOS0xMiwyOS40LTIyLjMsNDYuMS0zMC40bC0xMS45LTI5LjhjLTIwLjcsOS45LTM5LjgsMjIuNi01Ni44LDM3LjZMMTE1LDkyLjR6IE00NDcuNywzNTUuNWMtNy44LDE0LjktMTcuMiwyOC44LTI4LjEsNDEuNSBsMjIuNywyMi43YzEzLjctMTUuNiwyNS41LTMyLjksMzQuOS01MS41TDQ0Ny43LDM1NS41eiBNNDcxLjQsMjcyYy0xLjQsMTguOC01LjIsMzctMTEuMSw1NC4xbDI5LjUsMTIuNiBjNy41LTIxLjEsMTIuMi00My41LDEzLjYtNjYuOEg0NzEuNHogTTMyMS4yLDQ2MmMtMTUuNyw1LTMyLjIsOC4yLTQ5LjIsOS40djMyLjFjMjEuMi0xLjQsNDEuNy01LjQsNjEuMS0xMS43TDMyMS4yLDQ2MnogTTI0MCw0NzEuNGMtMTguOC0xLjQtMzctNS4yLTU0LjEtMTEuMWwtMTIuNiwyOS41YzIxLjEsNy41LDQzLjUsMTIuMiw2Ni44LDEzLjZWNDcxLjR6IE00NjIsMTkwLjhjNSwxNS43LDguMiwzMi4yLDkuNCw0OS4yaDMyLjEgYy0xLjQtMjEuMi01LjQtNDEuNy0xMS43LTYxLjFMNDYyLDE5MC44eiBNOTIuNCwzOTdjLTEyLTEzLjktMjIuMy0yOS40LTMwLjQtNDYuMWwtMjkuOCwxMS45YzkuOSwyMC43LDIyLjYsMzkuOCwzNy42LDU2LjkgTDkyLjQsMzk3eiBNMjcyLDQwLjZjMTguOCwxLjQsMzYuOSw1LjIsNTQuMSwxMS4xbDEyLjYtMjkuNUMzMTcuNywxNC43LDI5NS4zLDEwLDI3Miw4LjVWNDAuNnogTTE5MC44LDUwIGMxNS43LTUsMzIuMi04LjIsNDkuMi05LjRWOC41Yy0yMS4yLDEuNC00MS43LDUuNC02MS4xLDExLjdMMTkwLjgsNTB6IE00NDIuMyw5Mi4zTDQxOS42LDExNWMxMiwxMy45LDIyLjMsMjkuNCwzMC41LDQ2LjEgbDI5LjgtMTEuOUM0NzAsMTI4LjUsNDU3LjMsMTA5LjQsNDQyLjMsOTIuM3ogTTM5Nyw5Mi40bDIyLjctMjIuN2MtMTUuNi0xMy43LTMyLjgtMjUuNS01MS41LTM0LjlsLTEyLjYsMjkuNSBDMzcwLjQsNzIuMSwzODQuNCw4MS41LDM5Nyw5Mi40eiJ9KX0pO3ZhciBzPVZlKFZlKHt9LG4pLHt9LHthdHRyaWJ1dGVOYW1lOiJvcGFjaXR5In0pLG89e3RhZzoiY2lyY2xlIixhdHRyaWJ1dGVzOlZlKFZlKHt9LGkpLHt9LHtjeDoiMjU2IixjeToiMzY0IixyOiIyOCJ9KSxjaGlsZHJlbjpbXX07cmV0dXJuIHJ8fG8uY2hpbGRyZW4ucHVzaCh7dGFnOiJhbmltYXRlIixhdHRyaWJ1dGVzOlZlKFZlKHt9LG4pLHt9LHthdHRyaWJ1dGVOYW1lOiJyIix2YWx1ZXM6IjI4OzE0OzI4OzI4OzE0OzI4OyJ9KX0se3RhZzoiYW5pbWF0ZSIsYXR0cmlidXRlczpWZShWZSh7fSxzKSx7fSx7dmFsdWVzOiIxOzA7MTsxOzA7MTsifSl9KSxhLnB1c2gobyksYS5wdXNoKHt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6VmUoVmUoe30saSkse30se29wYWNpdHk6IjEiLGQ6Ik0yNjMuNywzMTJoLTE2Yy02LjYsMC0xMi01LjQtMTItMTJjMC03MSw3Ny40LTYzLjksNzcuNC0xMDcuOGMwLTIwLTE3LjgtNDAuMi01Ny40LTQwLjJjLTI5LjEsMC00NC4zLDkuNi01OS4yLDI4LjcgYy0zLjksNS0xMS4xLDYtMTYuMiwyLjRsLTEzLjEtOS4yYy01LjYtMy45LTYuOS0xMS44LTIuNi0xNy4yYzIxLjItMjcuMiw0Ni40LTQ0LjcsOTEuMi00NC43YzUyLjMsMCw5Ny40LDI5LjgsOTcuNCw4MC4yIGMwLDY3LjYtNzcuNCw2My41LTc3LjQsMTA3LjhDMjc1LjcsMzA2LjYsMjcwLjMsMzEyLDI2My43LDMxMnoifSksY2hpbGRyZW46cj9bXTpbe3RhZzoiYW5pbWF0ZSIsYXR0cmlidXRlczpWZShWZSh7fSxzKSx7fSx7dmFsdWVzOiIxOzA7MDswOzA7MTsifSl9XX0pLHJ8fGEucHVzaCh7dGFnOiJwYXRoIixhdHRyaWJ1dGVzOlZlKFZlKHt9LGkpLHt9LHtvcGFjaXR5OiIwIixkOiJNMjMyLjUsMTM0LjVsNywxNjhjMC4zLDYuNCw1LjYsMTEuNSwxMiwxMS41aDljNi40LDAsMTEuNy01LjEsMTItMTEuNWw3LTE2OGMwLjMtNi44LTUuMi0xMi41LTEyLTEyLjVoLTIzIEMyMzcuNywxMjIsMjMyLjIsMTI3LjcsMjMyLjUsMTM0LjV6In0pLGNoaWxkcmVuOlt7dGFnOiJhbmltYXRlIixhdHRyaWJ1dGVzOlZlKFZlKHt9LHMpLHt9LHt2YWx1ZXM6IjA7MDsxOzE7MDswOyJ9KX1dfSkse3RhZzoiZyIsYXR0cmlidXRlczp7Y2xhc3M6Im1pc3NpbmcifSxjaGlsZHJlbjphfX19fSxhUXI9e2hvb2tzOmZ1bmN0aW9uKCl7cmV0dXJue3BhcnNlTm9kZUF0dHJpYnV0ZXM6ZnVuY3Rpb24ocixhKXt2YXIgaT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS1zeW1ib2wiKSxuPWk9PT1udWxsPyExOmk9PT0iIj8hMDppO3JldHVybiByLnN5bWJvbD1uLHJ9fX19LGlRcj1bWVpyLFJYcixCWHIsSFhyLHFYcixRWHIsSlhyLEtYcix0UXIsclFyLGFRcl07dVhyKGlRcix7bWl4b3V0c1RvOkwxfSk7blFyPUwxLm5vQXV0byxzUXI9TDEuY29uZmlnLG9Rcj1MMS5saWJyYXJ5LGxRcj1MMS5kb20sY1FyPUwxLnBhcnNlLGRRcj1MMS5maW5kSWNvbkRlZmluaXRpb24sdVFyPUwxLnRvSHRtbCx4MWU9TDEuaWNvbixwUXI9TDEubGF5ZXIsZlFyPUwxLnRleHQsaFFyPUwxLmNvdW50ZXJ9KTt2YXIgbVFyLHkxZSxGbnQsT250LFJudCxCbnQsdzFlLEhudCxxbnQsam50LFZudCxVbnQsV250LEdudCxZbnQsWm50LFhudCxRbnQsSm50LEtudCxlMXQsdDF0LHIxdCxhMXQsaTF0LG4xdCxzMXQsbzF0LGwxdCxNMWUsYzF0LGQxdCx1MXQscDF0LGYxdCxoMXQsbTF0LGcxdCxiMXQsdjF0LHgxdCx5MXQsdzF0LE0xdCxrMXQsUzF0LHoxdCxDMXQsVDF0LGsxZSxfMXQsTDF0LCQxdCxEMXQsQTF0LEUxdCxJMXQsUDF0LE4xdCxGMXQsTzF0LFIxdCxCMXQsSDF0LHExdCxqMXQsVjF0LFUxdCxXMXQsRzF0LFkxdCxTMWUsWjF0LFgxdCxRMXQsSjF0LEsxdCxlc3QsdHN0LHJzdCxhc3QsaXN0LG5zdCxzc3Qsb3N0LGxzdCxjc3QsZHN0LHVzdCxwc3QsZnN0LGhzdCxtc3QsZ3N0LGJzdCx2c3QseHN0LHlzdCx3c3QsTXN0LGtzdCxTc3QsenN0LENzdCxUc3QsX3N0LExzdCwkc3QsRHN0LEFzdCxFc3QsSXN0LFBzdCxnRCxOc3QsRnN0LHoxZSxPc3QsUnN0LEJzdCxDMWUsSHN0LHFzdCxtRCxqc3QsVnN0LFQxZSxVc3QsV3N0LEdzdCxZc3QsWnN0LF8xZSxYc3QsUXN0LEpzdCxLc3QsZW90LHRvdCxyb3QsYW90LGlvdCxub3QsTDFlLHNvdCxvb3QsbG90LGNvdCxkb3QsdW90LHBvdCxmb3QsaG90LCQxZSxtb3QsZ290LGJvdCx2b3QseG90LHlvdCx3b3QsTW90LEQxZSxrb3QsU290LHpvdCxBMWUsQ290LFRvdCxfb3QsTG90LCRvdCxEb3QsQW90LEVvdCxJb3QsUG90LE5vdCxGb3QsT290LFJvdCxCb3QsSG90LHFvdCxqb3QsVm90LFVvdCxXb3QsR290LFlvdCxab3QsWG90LFFvdCxKb3QsRTFlLEtvdCxlMnQsdDJ0LHIydCxhMnQsaTJ0LG4ydCxJMWUsczJ0LG8ydCxsMnQsYzJ0LGQydCx1MnQscDJ0LGYydCxoMnQsbTJ0LGcydCxiMnQsdjJ0LHgydCx5MnQsdzJ0LE0ydCxrMnQsUzJ0LHoydCxDMnQsVDJ0LF8ydCxMMnQsJDJ0LEQydCxBMnQsRTJ0LEkydCxQMnQsTjJ0LEYydCxPMnQsUjJ0LEIydCxIMnQscTJ0LGoydCxWMnQsVTJ0LFcydCxHMnQsYkQsWTJ0LFoydCxYMnQsUTJ0LEoydCxQMWUsSzJ0LGVsdCx0bHQsdkQscmx0LGFsdCxpbHQsbmx0LHNsdCxvbHQsTjFlLGxsdCxjbHQsZGx0LHVsdCxwbHQsZmx0LGhsdCxtbHQsZ2x0LGJsdCx2bHQseGx0LHlsdCx3bHQsTWx0LGtsdCxWZyxTbHQsemx0LENsdCxUbHQsX2x0LExsdCwkbHQsRGx0LEFsdCxFbHQsSWx0LFBsdCxObHQsRmx0LE9sdCxSbHQsQmx0LEhsdCxxbHQsamx0LFZsdCxVbHQsV2x0LEdsdCxZbHQsWmx0LFhsdCxRbHQsSmx0LEtsdCxlY3QsdGN0LHJjdCxhY3QsaWN0LG5jdCxzY3Qsb2N0LGxjdCxGMWUsY2N0LGRjdCx1Y3QscGN0LGZjdCxoY3QsbWN0LGdjdCxiY3QsdmN0LHhjdCx5Y3Qsd2N0LE1jdCxrY3QsTzFlLFNjdCx6Y3QsQ2N0LFRjdCxfY3QsTGN0LFIxZSwkY3QsRGN0LEFjdCxFY3QsSWN0LFBjdCxOY3QsRmN0LE9jdCxSY3QsQmN0LEhjdCxxY3QsamN0LFZjdCxVY3QsV2N0LEdjdCxZY3QsWmN0LFhjdCxRY3QsSmN0LEtjdCxlMHQsdDB0LHIwdCxhMHQsQjFlLHhELGkwdCxuMHQsczB0LG8wdCxsMHQsYzB0LGQwdCx1MHQscDB0LGYwdCxoMHQsbTB0LEgxZSxnMHQsYjB0LHYwdCx4MHQseTB0LHcwdCxNMHQsazB0LHlELFMwdCx6MHQsQzB0LFQwdCxfMHQsTDB0LCQwdCxEMHQsQTB0LEUwdCxJMHQsUDB0LE4wdCxxMWUsRjB0LE8wdCxSMHQsQjB0LEgwdCxxMHQsajB0LFYwdCxVMHQsVzB0LEcwdCxZMHQsWjB0LFgwdCxRMHQsSjB0LEswdCxqMWUsZTR0LHQ0dCxyNHQsVjFlLGE0dCxpNHQsbjR0LHM0dCx3RCxvNHQsVTFlLGw0dCxjNHQsZDR0LHU0dCxwNHQsZjR0LFcxZSxoNHQsbTR0LGc0dCxiNHQsdjR0LHg0dCx5NHQsdzR0LE00dCxrNHQsUzR0LHo0dCxDNHQsVDR0LF80dCxMNHQsJDR0LEQ0dCxBNHQsRTR0LEk0dCxQNHQsTjR0LEY0dCxPNHQsRzFlLFI0dCxCNHQsSDR0LHE0dCxqNHQsVjR0LFU0dCxXNHQsWTFlLEc0dCxZNHQsWjR0LFg0dCxRNHQsSjR0LEs0dCxlM3QsdDN0LHIzdCxhM3QsaTN0LG4zdCxzM3QsWjFlLG8zdCxsM3QsYzN0LGQzdCx1M3QscDN0LGYzdCxoM3QsbTN0LGczdCxiM3QsdjN0LHgzdCx5M3QsdzN0LFgxZSxNM3QsazN0LFMzdCx6M3QsQzN0LFQzdCxfM3QsTDN0LCQzdCxEM3QsQTN0LEUzdCxJM3QsUDN0LE1ELE4zdCxGM3QsTzN0LFIzdCxCM3QsSDN0LHEzdCxqM3QsVjN0LFUzdCxRMWUsVzN0LEczdCxZM3QsWjN0LFgzdCxRM3QsSjN0LEszdCxlZHQsdGR0LHJkdCxhZHQsaWR0LG5kdCxzZHQsb2R0LGxkdCxjZHQsZGR0LHVkdCxwZHQsZmR0LGhkdCxtZHQsZ2R0LGJkdCx2ZHQseGR0LHlkdCx3ZHQsTWR0LGtkdCxTZHQsemR0LENkdCxUZHQsX2R0LExkdCxKMWUsJGR0LERkdCxBZHQsRWR0LElkdCxLMWUsUGR0LE5kdCxGZHQsT2R0LFJkdCxCZHQsZ1FyLEhkdD1mKCgpPT57bVFyPSJmYWIiLHkxZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZ2l0aHViIixpY29uOls0NDgsNTEyLFsiZ2l0aHViLXNxdWFyZSJdLCJmMDkyIiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0yNjUuOCA0MDcuN2MwLTEuOCAwLTYgLjEtMTEuNiAuMS0xMS40IC4xLTI4LjggLjEtNDMuNyAwLTE1LjYtNS4yLTI1LjUtMTEuMy0zMC43IDM3LTQuMSA3Ni05LjIgNzYtNzMuMSAwLTE4LjItNi41LTI3LjMtMTcuMS0zOSAxLjctNC4zIDcuNC0yMi0xLjctNDUtMTMuOS00LjMtNDUuNyAxNy45LTQ1LjcgMTcuOS0yNi42LTcuNS01Ni42LTcuNS04My4yIDAgMCAwLTMxLjgtMjIuMi00NS43LTE3LjktOS4xIDIyLjktMy41IDQwLjYtMS43IDQ1LTEwLjYgMTEuNy0xNS42IDIwLjgtMTUuNiAzOSAwIDYzLjYgMzcuMyA2OSA3NC4zIDczLjEtNC44IDQuMy05LjEgMTEuNy0xMC42IDIyLjMtOS41IDQuMy0zMy44IDExLjctNDguMy0xMy45LTkuMS0xNS44LTI1LjUtMTcuMS0yNS41LTE3LjEtMTYuMi0uMi0xLjEgMTAuMi0xLjEgMTAuMiAxMC44IDUgMTguNCAyNC4yIDE4LjQgMjQuMiA5LjcgMjkuNyA1Ni4xIDE5LjcgNTYuMSAxOS43IDAgOSAuMSAyMS43IC4xIDMwLjYgMCA0LjggLjEgOC42IC4xIDEwIDAgNC4zLTMgOS41LTExLjUgOC02Ni0yMi4xLTExMi4yLTg0LjktMTEyLjItMTU4LjMgMC05MS44IDcwLjItMTYxLjUgMTYyLTE2MS41UzM4OCAxNjUuNiAzODggMjU3LjRjLjEgNzMuNC00NC43IDEzNi4zLTExMC43IDE1OC4zLTguNCAxLjUtMTEuNS0zLjctMTEuNS04em0tOTAuNS01NC44Yy0uMi0xLjUgMS4xLTIuOCAzLTMuMiAxLjktLjIgMy43IC42IDMuOSAxLjkgLjMgMS4zLTEgMi42LTMgMy0xLjkgLjQtMy43LS40LTMuOS0xLjd6bS05LjEgMy4yYy0yLjIgLjItMy43LS45LTMuNy0yLjQgMC0xLjMgMS41LTIuNCAzLjUtMi40IDEuOS0uMiAzLjcgLjkgMy43IDIuNCAwIDEuMy0xLjUgMi40LTMuNSAyLjR6bS0xNC4zLTIuMmMtMS45LS40LTMuMi0xLjktMi44LTMuMnMyLjQtMS45IDQuMS0xLjVjMiAuNiAzLjMgMi4xIDIuOCAzLjQtLjQgMS4zLTIuNCAxLjktNC4xIDEuM3ptLTEyLjUtNy4zYy0xLjUtMS4zLTEuOS0zLjItLjktNC4xIC45LTEuMSAyLjgtLjkgNC4zIC42IDEuMyAxLjMgMS44IDMuMyAuOSA0LjEtLjkgMS4xLTIuOCAuOS00LjMtLjZ6bS04LjUtMTBjLTEuMS0xLjUtMS4xLTMuMiAwLTMuOSAxLjEtLjkgMi44LS4yIDMuNyAxLjMgMS4xIDEuNSAxLjEgMy4zIDAgNC4xLS45IC42LTIuNiAwLTMuNy0xLjV6bS02LjMtOC44Yy0xLjEtMS4zLTEuMy0yLjgtLjQtMy41IC45LS45IDIuNC0uNCAzLjUgLjYgMS4xIDEuMyAxLjMgMi44IC40IDMuNS0uOSAuOS0yLjQgLjQtMy41LS42em0tNi02LjRjLTEuMy0uNi0xLjktMS43LTEuNS0yLjYgLjQtLjYgMS41LS45IDIuOC0uNCAxLjMgLjcgMS45IDEuOCAxLjUgMi42LS40IC45LTEuNyAxLjEtMi44IC40eiJdfSxGbnQ9eTFlLE9udD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGluay1wZWFrcyIsaWNvbjpbNTc2LDUxMixbXSwiZjczMSIsIk00NjUuNCA0MDkuNGw4Ny4xLTE1MC4yLTMyLS4zLTU1LjEgOTUtMjA2LjItMzUzLjktMjM2LjIgNDA3LjQgMzIgLjMgMjA0LjItMzUyLjEgMjA2LjIgMzUzLjh6TTExMC4xIDM2NS4zbDMyLjEgMCAxMTcuNC0yMDIuNSAyMDMuNCAzNDkuMSAzMi41IC4xLTIzNS44LTQwNC42LTE0OS42IDI1Ny45eiJdfSxSbnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLWRyaXZlIixpY29uOls1MTIsNTEyLFtdLCJmM2FhIiwiTTMzOSAzMTQuOUwxNzUuNCAzMiAzMzYuNiAzMiA1MDAuMiAzMTQuOSAzMzkgMzE0Ljl6TTIwMS41IDMzOC41bC04MC42IDE0MS41IDMxMC41IDAgODAuNi0xNDEuNS0zMTAuNSAwek0xNTQuMSA2Ny40TDAgMzM4LjUgODAuNiA0ODAgMjM3IDIwOC44IDE1NC4xIDY3LjR6Il19LEJudD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdXRvcHJlZml4ZXIiLGljb246WzY0MCw1MTIsW10sImY0MWMiLCJNMzE4LjQgMTZsLTE2MSA0ODAgNzcuNSAwIDI1LjQtODEuNCAxMTkuNSAwIDI1LjIgODEuNCA3Ny41IDAtMTY0LjEtNDgwek0yNzguMSAzNTcuOWw0MS4yLTEzMC40IDEuNSAwIDQwLjkgMTMwLjQtODMuNiAwek02NDAgNDA1TDYzMCAzNzMuNiA0NjIuMSAzNTggNDgxLjUgNDE0LjUgNjQwIDQwNXpNMTc3LjkgMzU4TDEwIDM3My43IDAgNDA1IDE1OC41IDQxNC40IDE3Ny45IDM1OHoiXX0sdzFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS12aWFkZW8iLGljb246WzQ0OCw1MTIsWyJ2aWFkZW8tc3F1YXJlIl0sImYyYWEiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTExOC4zIDM4MS4yYy02OC03My42LTE5LjgtMTk2LjEgODEuMi0xOTYuMSAxMy4zIDAgMjYuNiAyLjEgMzkuMSA2LjctNC4zIDguNC03LjMgMTcuNi04LjQgMjcuMS05LjctNC4xLTIwLjItNi0zMC43LTYtNDguOCAwLTg0LjYgNDEuNy04NC42IDg4LjkgMCA0MyAyOC41IDc4LjcgNjkuNSA4NS45IDYxLjUtMjQgNzIuOS0xMTcuNiA3Mi45LTE3NSAwLTcuMyAwLTE0LjgtLjYtMjIuMS0xMS4yLTMyLjktMjYuNi02NC42LTQ0LjItOTQuNSAyNy4xIDE4LjMgNDEuOSA2Mi41IDQ0LjIgOTQuMWwwIC40YzcuNyAyMi41IDExLjggNDYuMiAxMS44IDcwIDAgNTQuMS0yMS45IDk5LTY4LjMgMTI4LjJsLTIuNCAuMmM1MCAxIDg2LjItMzguNiA4Ni4yLTg3LjIgMC0xMi4yLTIuMS0yNC4zLTYuOS0zNS43IDkuNS0xLjkgMTguNS01LjYgMjYuNC0xMC41IDE1LjMgMzYuNiAxMi42IDg3LjMtMjIuOCAxMjUuNi00Mi40IDQ2LjItMTIwIDQ2LjYtMTYyLjQgMHpNMjc0LjYgMjE3LjZjMjEuOS0xMiA0OS42LTMwLjcgNjIuMy01MyAxLjUtMyA0LjEtOC42IDQuNS0xMi0xMi41IDI3LjktNDQuMiA0OS44LTczLjkgNTYuNy00LjctNy4zLTcuNS0xNS41LTcuNS0yNC4zIDAtMTAuMyA1LjItMjQuMSAxMi45LTMxLjYgOC4zLTcuOSAxOC0xMC45IDI3LjktMTQuMSAxNi01LjEgMzIuNS0xMC4zIDQ0LjUtMzUuOSAzMi41IDQ2LjIgMTMuMSAxMzAuMy0zNi4zIDEzMC4zLTEzLjMgMC0yNS4xLTcuMS0zNC40LTE2LjF6Il19LEhudD13MWUscW50PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNwYW5lbCIsaWNvbjpbNjQwLDUxMixbXSwiZjM4OCIsIk0yMTAuMyAyMjAuMmMtNS42LTI0LjgtMjYuOS00MS4yLTUxLTQxLjJsLTM3IDBjLTcuMSAwLTEyLjUgNC41LTE0LjMgMTAuOUw3My4xIDMyMCA5Ny44IDMxOS45YzYuOCAwIDEyLjMtNC41IDE0LjItMTAuN2wyNS44LTk1LjcgMTkuOCAwYzguNCAwIDE2LjIgNS42IDE4LjMgMTQuOCAyLjUgMTAuOS01LjkgMjIuNi0xOC4zIDIyLjZsLTEwLjMgMGMtNyAwLTEyLjUgNC42LTE0LjMgMTAuOGwtNi40IDIzLjggMzIgMGMzNy4yIDAgNTguMy0zNi4yIDUxLjctNjUuM3ptLTE1Ni41IDI4bDE4LjYgMGM2LjkgMCAxMi40LTQuNCAxNC4zLTEwLjlsNi4yLTIzLjYtNDAgMEMzMCAyMTMuNyA5IDIyNy44IDEuNyAyNTQuOC03IDI4OC42IDE4LjUgMzIwIDUyIDMyMGwxMi40IDAgNy4xLTI2LjFjMS4yLTQuNC0yLjItOC4zLTYuNC04LjNsLTExLjMgMGMtMjQuNyAwLTI0LjktMzcuNCAwLTM3LjR6bTI0Ny41LTM0LjhsLTc3LjkgMC0zLjUgMTMuNGMtMi40IDkuNiA0LjUgMTguNSAxNC4yIDE4LjVsNTcuNSAwYzQgMCAyLjQgNC4zIDIuMSA1LjNsLTguNiAzMS44Yy0uNCAxLjQtLjkgNS4zLTUuNSA1LjNsLTM0LjkgMGMtNS4zIDAtNS4zLTcuOSAwLTcuOWwyMS42IDBjNi44IDAgMTIuMy00LjYgMTQuMi0xMC44bDMuNS0xMy4yLTQ4LjQgMGMtMzkuMiAwLTQzLjYgNjMuOC0uNyA2My44bDU3LjUgLjJjMTEuMiAwIDIwLjYtNy4yIDIzLjQtMTcuOGwxNC01MS44YzQuOC0xOS4yLTkuNy0zNi44LTI4LjUtMzYuOHpNNjMzLjEgMTc5bC0xOC45IDBjLTQuOSAwLTkuMiAzLjItMTAuNCA3LjlMNTY4LjIgMzIwYzIwLjcgMCAzOS44LTEzLjggNDQuOS0zNC41bDI2LjUtOTguMmMxLjItNC4zLTItOC4zLTYuNS04LjN6TTM5Ni44IDIxMy43bDAgLjEtNDguMyAwLTI2LjIgOThjLTEuMiA0LjQgMi4yIDguMyA2LjQgOC4zbDE4LjkgMGM0LjggMCA5LjItMyAxMC40LTcuOGwxNy4yLTY0IDE5LjggMGMxMi41IDAgMjEuNCAxMS44IDE4LjEgMjMuNGwtMTAuNiA0MGMtMS4yIDQuMyAxLjkgOC4zIDYuNCA4LjNsMTkuMSAwYzQuNiAwIDkuMS0yLjkgMTAuMy03LjhsOC44LTMzLjFjOS0zMy4xLTE1LjktNjUuNC01MC4zLTY1LjR6bTk4LjMgNzQuNmMtMy42IDAtNi0zLjQtNS4xLTYuN2w4LTMwYy45LTMuOSAzLjctNiA3LjgtNmwzMi45IDBjMi42IDAgNC42IDIuNCAzLjkgNS4xbC0uNyAyLjZjLS42IDItMS45IDMtMy45IDNsLTIxLjYgMGMtNyAwLTEyLjYgNC42LTE0LjIgMTAuOGwtMy41IDEzIDUzLjQgMGMxMC41IDAgMjAuMy02LjYgMjMuMi0xNy42bDMuMi0xMmM0LjktMTkuMS05LjMtMzYuOC0yOC4zLTM2LjhsLTQ3LjMgMGMtMTcuOSAwLTMzLjggMTItMzguNiAyOS42bC0xMC44IDQwYy01IDE3LjcgOC4zIDM2LjcgMjguMyAzNi43bDY2LjcgMGM2LjggMCAxMi4zLTQuNSAxNC4yLTEwLjdsNS43LTIxLTczLjMgMHoiXX0sam50PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lbmRlbGV5IixpY29uOls2NDAsNTEyLFtdLCJmN2IzIiwiTTYyNC42IDMyNS4yYy0xMi4zLTEyLjQtMjkuNy0xOS4yLTQ4LjQtMTcuMi00My4zLTEtNDkuNy0zNC45LTM3LjUtOTguOCAyMi44LTU3LjUtMTQuOS0xMzEuNS04Ny40LTEzMC44LTc3LjQgLjctODEuNyA4Mi0xMzAuOSA4Mi00OC4xIDAtNTQtODEuMy0xMzAuOS04Mi03Mi45LS44LTExMC4xIDczLjMtODcuNCAxMzAuOCAxMi4yIDYzLjkgNS44IDk3LjgtMzcuNSA5OC44LTIxLjItMi4zLTM3IDYuNS01MyAyMi41LTE5LjkgMTkuNy0xOS4zIDk0LjggNDIuNiAxMDIuNiA0Ny4xIDUuOSA4MS42LTQyLjkgNjEuMi04Ny44LTQ3LjMtMTAzLjcgMTg1LjktMTA2LjEgMTQ2LjUtOC4yLS4xIC4xLS4yIC4yLS4zIC40LTI2LjggNDIuOCA2LjggOTcuNCA1OC44IDk1LjIgNTIuMSAyLjEgODUuNC01Mi42IDU4LjgtOTUuMi0uMS0uMi0uMi0uMy0uMy0uNC0zOS40LTk3LjkgMTkzLjgtOTUuNSAxNDYuNSA4LjItNC42IDEwLTYuNyAyMS4zLTUuNyAzMyA0LjkgNTMuNCA2OC43IDc0LjEgMTA0LjkgMzUuMiAxNy44LTE0LjggMjMuMS02NS42IDAtODguM3pNMzIwLjcgMzA2LjFsLS42IDBjLTQzLjQgMC02Mi44LTM3LjUtNjIuOC02Mi44IDAtMzQuNyAyOC4yLTYyLjggNjIuOC02Mi44bC42IDBjMzQuNyAwIDYyLjggMjguMSA2Mi44IDYyLjggMCAyNS0xOS4yIDYyLjgtNjIuOCA2Mi44eiJdfSxWbnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHJhZnQyZGlnaXRhbCIsaWNvbjpbNTEyLDUxMixbXSwiZjM5NiIsIk00OTYgMzk4LjFsLTE0NC04Mi4yIDAgNjQuNy05MS4zIDBjMzAuOC0zNSA4MS44LTk1LjkgMTExLjgtMTQ5LjMgMzUuMi02Mi42IDE2LjEtMTIzLjQtMTIuOC0xNTMuMy00LjQtNC42LTYyLjItNjIuOS0xNjYtNDEuMi01OS4xIDEyLjQtODkuNCA0My40LTEwNC4zIDY3LjMtMTMuMSAyMC45LTE3IDM5LjgtMTguMiA0Ny43LTUuNSAzMyAxOS40IDY3LjEgNTYuNyA2Ny4xIDMxLjcgMCA1Ny4zLTI1LjcgNTcuMy01Ny40IDAtMjcuMS0xOS43LTUyLjEtNDgtNTYuOCAxLjgtNy4zIDE3LjctMjEuMSAyNi4zLTI0LjcgNDEuMS0xNy4zIDc4IDUuMiA4My4zIDMzLjUgOC4zIDQ0LjMtMzcuMSA5MC40LTY5LjcgMTI3LjYtNzYuNiA4Ny0xNDIuOCAxNTUuNy0xNjEuMSAxNzQuOGwzMzYtLjEgMCA2NC4yIDE0NC04MS45ek0zODUuOSAzNzFsNDcuMSAyNy4yLTQ3LjEgMjcuMiAwLTU0LjR6TTEwNS40IDE2MS40YTIyLjQgMjIuNCAwIDEgMSA0NC44IDAgMjIuNCAyMi40IDAgMSAxIC00NC44IDB6TTk4LjUgMzgwLjVjMjUuNi0yNy40IDk3LjctMTA0LjcgMTUwLjgtMTY5LjkgMzUuMS00My4xIDQwLjMtODIuNCAyOC40LTExMi43LTcuNC0xOC44LTE3LjUtMzAuMi0yNC4zLTM1LjcgNDUuMyAyLjEgNjggMjMuNCA4Mi4yIDM4LjMgMCAwIDQyLjQgNDguMiA1LjggMTEzLjMtMzcgNjUuOS0xMTAuOSAxNDcuNS0xMjguNSAxNjYuN2wtMTE0LjQgMHoiXX0sVW50PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlcGx5ZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlNiIsIk0zMjAgNDgwbC0xOTIgMEM1Ny42IDQ4MCAwIDQyMi40IDAgMzUyTDAgMTYwQzAgODkuNiA1Ny42IDMyIDEyOCAzMmwxOTIgMGM3MC40IDAgMTI4IDU3LjYgMTI4IDEyOGwwIDE5MmMwIDcwLjQtNTcuNiAxMjgtMTI4IDEyOHpNMTkzLjQgMjczLjJjLTYuMS0yLTExLjYtMy4xLTE2LjQtMy4xLTcuMiAwLTEzLjUgMS45LTE4LjkgNS42cy05LjYgOS0xMi44IDE1LjhsLTEuMSAwLTQuMi0xOC4zLTI4IDAgMCAxMzguOSAzNi4xIDAgMC04OS43YzEuNS01LjQgNC40LTkuOCA4LjctMTMuMnM5LjgtNS4xIDE2LjItNS4xYzQuNiAwIDkuOCAxIDE1LjYgMy4xbDQuOC0zNHpNMzA4LjYgMzc2LjZjLTMuMiAyLjQtNy43IDQuOC0xMy43IDcuMXMtMTIuOCAzLjUtMjAuNCAzLjVjLTEyLjIgMC0yMS4xLTMtMjYuNS04LjktNS41LTUuOS04LjUtMTQuNy05LTI2LjRsODMuMyAwYy45LTQuOCAxLjYtOS40IDIuMS0xMy45IC41LTQuNCAuNy04LjYgLjctMTIuNSAwLTEwLjctMS42LTE5LjctNC43LTI2LjktMy4yLTcuMi03LjMtMTMtMTIuNS0xNy4yLTUuMi00LjMtMTEuMS03LjMtMTcuOC05LjItNi43LTEuOC0xMy41LTIuOC0yMC42LTIuOC0yMS4xIDAtMzcuNSA2LjEtNDkuMiAxOC4zcy0xNy41IDMwLjUtMTcuNSA1NWMwIDIyLjggNS4yIDQwLjcgMTUuNiA1My43IDEwLjQgMTMuMSAyNi44IDE5LjYgNDkuMiAxOS42IDEwLjcgMCAyMC45LTEuNSAzMC40LTQuNnMxNy4xLTYuOCAyMi42LTExLjJsLTEyLTIzLjZ6bS0yMS44LTcwLjNjMy44IDUuNCA1LjMgMTMuMSA0LjYgMjMuMWwtNTEuNyAwYy45LTkuNCAzLjctMTcgOC4yLTIyLjZzMTEuNS04LjUgMjEtOC41YzguMi0uMSAxNC4xIDIuNiAxNy45IDh6bTc5LjkgMi41YzQuMSAzLjkgOS40IDUuOCAxNi4xIDUuOCA3IDAgMTIuNi0xLjkgMTYuNy01LjhzNi4xLTkuMSA2LjEtMTUuNi0yLTExLjYtNi4xLTE1LjQtOS42LTUuNy0xNi43LTUuN2MtNi43IDAtMTIgMS45LTE2LjEgNS43cy02LjEgOC45LTYuMSAxNS40IDIgMTEuNyA2LjEgMTUuNnptMCAxMDAuNWM0LjEgMy45IDkuNCA1LjggMTYuMSA1LjggNyAwIDEyLjYtMS45IDE2LjctNS44czYuMS05LjEgNi4xLTE1LjYtMi0xMS42LTYuMS0xNS40LTkuNi01LjctMTYuNy01LjdjLTYuNyAwLTEyIDEuOS0xNi4xIDUuN3MtNi4xIDguOS02LjEgMTUuNGMwIDYuNiAyIDExLjcgNi4xIDE1LjZ6Il19LFdudD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbXBpcmUiLGljb246WzUxMiw1MTIsW10sImYxZDEiLCJNMjk1LjYgNTQuMmMtMTAuOC0yLjItMjIuMS0zLjMtMzMuNS0zLjZsMC0xOC4yYzc4LjEgMi4yIDE0Ni4xIDQ0IDE4NC42IDEwNi42bC0xNS44IDkuMWMtNi4xLTkuNy0xMi43LTE4LjgtMjAuMi0yNy4xbC0xOCAxNS41Yy0yNi0yOS42LTYxLjQtNTAuNy0xMDEuOS01OC40bDQuOC0yMy45ek02MS40IDMyMi40bDIzLTcuN2MtNi40LTE4LjMtMTAtMzguMi0xMC01OC43czMuMy00MC40IDkuNy01OC43bC0yMi43LTcuN2MzLjYtMTAuOCA4LjMtMjEuMyAxMy42LTMxbC0xNS44LTkuMUM0MiAxODEgMzIuMSAyMTcuNSAzMi4xIDI1NnMxMCA3NSAyNy4xIDEwNi42TDc1IDM1My41Yy01LjMtMTAtOS43LTIwLjMtMTMuNi0zMS4xek0yMjEuMSA0MzRjLTQwLjQtOC03NS44LTI5LjEtMTAxLjktNTguN2wtMTggMTUuOGMtNy41LTguNi0xNC40LTE3LjctMjAuMi0yNy40bC0xNiA5LjRjMzguNSA2Mi4zIDEwNi44IDEwNC4zIDE4NC45IDEwNi42bDAtMTguM2MtMTEuMy0uMy0yMi43LTEuNy0zMy41LTMuNmw0LjctMjMuOHpNMTAxLjMgMTIwLjlsMTggMTUuNWMyNi0yOS42IDYxLjQtNTAuNyAxMDEuOS01OC40bC00LjctMjMuOGMxMC44LTIuMiAyMi4xLTMuMyAzMy41LTMuNmwwLTE4LjJDMTcxLjkgMzQuNiAxMDMuOSA3Ni40IDY1LjQgMTM5bDE1LjggOS4xYzYtOS43IDEyLjYtMTguOSAyMC4xLTI3LjJ6TTQxMC43IDM5MS4xbC0xOC0xNS44Yy0yNiAyOS42LTYxLjQgNTAuNy0xMDEuOSA1OC43bDQuNyAyMy44Yy0xMC44IDEuOS0yMi4xIDMuMy0zMy41IDMuNmwwIDE4LjNjNzguMS0yLjIgMTQ2LjQtNDQuMyAxODQuOS0xMDYuNmwtMTYuMS05LjRjLTUuNyA5LjctMTIuNiAxOC44LTIwLjEgMjcuNHpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptNDgzLjggMGEyMzUuOCAyMzUuOCAwIDEgMCAtNDcxLjYgMCAyMzUuOCAyMzUuOCAwIDEgMCA0NzEuNiAwem0tMzktMTA2LjZMNDM3IDE1OC41YzUuMyA5LjcgMTAgMjAuMiAxMy42IDMxbC0yMi43IDcuN2M2LjQgMTguMyA5LjcgMzguMiA5LjcgNTguN3MtMy42IDQwLjQtMTAgNTguN2wyMyA3LjdjLTMuOSAxMC44LTguMyAyMS0xMy42IDMxbDE1LjggOS4xQzQ3MCAzMzEgNDc5LjkgMjk0LjUgNDc5LjkgMjU2cy05LjktNzUtMjcuMS0xMDYuNnptLTE4MyAxNzcuN2MxNi4zLTMuMyAzMC40LTExLjYgNDAuNy0yMy41bDUxLjIgNDQuOGMxMS45LTEzLjYgMjEuMy0yOS4zIDI3LjEtNDYuOGwtNjQuMi0yMi4xYzIuNS03LjUgMy45LTE1LjIgMy45LTIzLjVzLTEuNC0xNi4xLTMuOS0yMy41bDY0LjUtMjIuMWMtNi4xLTE3LjQtMTUuNS0zMy4yLTI3LjQtNDYuOGwtNTEuMiA0NC44Yy0xMC4yLTExLjktMjQuNC0yMC41LTQwLjctMjMuOGwxMy4zLTY2LjRjLTguNi0xLjktMTcuNy0yLjgtMjcuMS0yLjhzLTE4LjUgLjgtMjcuMSAyLjhsMTMuMyA2Ni40Yy0xNi4zIDMuMy0zMC40IDExLjktNDAuNyAyMy44bC01MS4yLTQ0LjhjLTExLjkgMTMuNi0yMS4zIDI5LjMtMjcuNCA0Ni44bDY0LjUgMjIuMWMtMi41IDcuNS0zLjkgMTUuMi0zLjkgMjMuNXMxLjQgMTYuMSAzLjkgMjMuNWwtNjQuMiAyMi4xYzUuOCAxNy40IDE1LjIgMzMuMiAyNy4xIDQ2LjhsNTEuMi00NC44YzEwLjIgMTEuOSAyNC40IDIwLjIgNDAuNyAyMy41bC0xMy4zIDY2LjdjOC42IDEuNyAxNy43IDIuOCAyNy4xIDIuOHMxOC41LTEuMSAyNy4xLTIuOGwtMTMuMy02Ni43eiJdfSxHbnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWNjZXNzaWJsZS1pY29uIixpY29uOls0NDgsNTEyLFs2MjEwN10sImYzNjgiLCJNNDIzLjkgMjU1LjhMNDExIDQxMy4xYy0zLjMgNDAuNy02My45IDM1LjEtNjAuNi00LjlsMTAtMTIyLjUtNDEuMSAyLjNjMTAuMSAyMC43IDE1LjggNDMuOSAxNS44IDY4LjUgMCA0MS4yLTE2LjEgNzguNy00Mi4zIDEwNi41bC0zOS4zLTM5LjNjNTcuOS02My43IDEzLjEtMTY3LjItNzQtMTY3LjItMjUuOSAwLTQ5LjUgOS45LTY3LjIgMjZMNzMgMjQzLjJjMjItMjAuNyA1MC4xLTM1LjEgODEuNC00MC4ybDc1LjMtODUuNy00Mi42LTI0LjgtNTEuNiA0NkMxMDUuNSAxNjUuMyA2NC45IDEyMCA5NSA5My4xbDY4LTYwLjdjOS44LTguOCAyNC4xLTEwLjIgMzUuNS0zLjYgMCAwIDEzOS4zIDgwLjkgMTM5LjUgODEuMSAxNi4yIDEwLjEgMjAuNyAzNiA2LjEgNTIuNmwtNTguNCA2Ni41IDEwNi4xLTUuOWMxOC41LTEuMSAzMy42IDE0LjQgMzIuMSAzMi43ek0zNTkgMTAxLjhBNTAuOSA1MC45IDAgMSAwIDM1OSAwIDUwLjkgNTAuOSAwIDEgMCAzNTkgMTAxLjh6TTE3OS42IDQ1Ni41Yy04MC42IDAtMTI3LjQtOTAuNi04Mi43LTE1Ni4xTDU3LjIgMjYwLjdDMzYuNCAyODcgMjQgMzIwLjMgMjQgMzU2LjQgMjQgNDg3LjEgMTc0LjcgNTU3LjggMjc1LjQgNDc4LjlsLTM5LjctMzkuN2MtMTYgMTAuOS0zNS4zIDE3LjMtNTYuMSAxNy4zeiJdfSxZbnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicXVvcmEiLGljb246WzQ0OCw1MTIsW10sImYyYzQiLCJNNDQwLjcgMzg2LjdsLTI5LjMgMGMtMS41IDEzLjUtMTAuNSAzMC44LTMzIDMwLjgtMjAuNSAwLTM1LjMtMTQuMi00OS41LTM1LjggNDQuMi0zNC4yIDc0LjctODcuNSA3NC43LTE1MyAuMS0xMTcuNS05Ni42LTE5Ni43LTE5OC40LTE5Ni43LTk5LjcgMC0xOTcuNyA3OS43LTE5Ny43IDE5Ni43IDAgMTM0LjEgMTMxLjMgMjIxLjYgMjQ5IDE4OSAxOS43IDMzLjYgNDUuNyA2Mi4zIDk1LjIgNjIuMyA4MS44IDAgOTAuOC03NS4zIDg5LTkzLjN6TTI5Ny4yIDMyOS4yYy0xOS41LTI5LjItNDMuNy01Mi4yLTkxLjUtNTIuMi0zMC41IDAtNTQuMyAxMC02OSAyMi44bDEyLjIgMjQuM2M2LjItMyAxMy00IDE5LjgtNCAzNS41IDAgNTMuNyAzMC44IDY5LjIgNjEuMy0xMCAzLTIwLjcgNC4yLTMyLjcgNC4yLTc1IDAtMTA3LjUtNTMtMTA3LjUtMTU2LjcgMC0xMDQuNCAzMi41LTE1Ny45IDEwNy41LTE1Ny45IDc2LjIgMCAxMDguNyA1My41IDEwOC43IDE1Ny43IC4xIDQxLjgtNS40IDc1LjYtMTYuNyAxMDAuNXoiXX0sWm50PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWpjYiIsaWNvbjpbNTc2LDUxMixbXSwiZjI0YiIsIk00MzEuNSAyNDQuM2wwLTMyLjNjNDEuMiAwIDM4LjUgLjIgMzguNSAuMiA3LjMgMS4zIDEzLjMgNy4zIDEzLjMgMTYgMCA4LjgtNiAxNC41LTEzLjMgMTUuOC0xLjIgLjQtMy4zIC4zLTM4LjUgLjN6bTQyLjggMjAuMmMtMi44LS43LTMuMy0uNS00Mi44LS41bDAgMzVjMzkuNiAwIDQwIC4yIDQyLjgtLjUgNy41LTEuNSAxMy41LTggMTMuNS0xNyAwLTguNy02LTE1LjUtMTMuNS0xN3pNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTgyIDE5Mi4zbC01NyAwYzAgNjcuMSAxMC43IDEwOS43LTM1LjggMTA5LjctMTkuNSAwLTM4LjgtNS43LTU3LjItMTQuOGwwIDI4YzMwIDguMyA2OCA4LjMgNjggOC4zIDk3LjkgMCA4Mi00Ny43IDgyLTEzMS4yem0xNzguNSA0LjVjLTYzLjQtMTYtMTY1LTE0LjktMTY1IDU5LjMgMCA3Ny4xIDEwOC4yIDczLjYgMTY1IDU5LjJsMC0yOC4zQzMxMi45IDMxMS43IDI1MyAzMDkgMjUzIDI1NnM1OS44LTU1LjYgMTA3LjUtMzEuMmwwLTI4ek01NDQgMjg2LjVjMC0xOC41LTE2LjUtMzAuNS0zOC0zMmwwLS44YzE5LjUtMi43IDMwLjMtMTUuNSAzMC4zLTMwLjIgMC0xOS0xNS43LTMwLTM3LTMxIDAgMCA2LjMtLjMtMTIwLjMtLjNsMCAxMjcuNSAxMjIuNyAwYzI0LjMgLjEgNDIuMy0xMi45IDQyLjMtMzMuMnoiXX0sWG50PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZlZG9yYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjc5OCIsIk0wIDI1NS44Qy4xIDEzMi4yIDEwMC4zIDMyIDIyNCAzMlM0NDggMTMyLjMgNDQ4IDI1NiAzNDcuOCA0NzkuOSAyMjQuMSA0ODBMNTAuOSA0ODBDMjIuOCA0ODAgLjEgNDU3LjMgMCA0MjkuMmwwIDAgMC0xNzMuNCAwIDB6bTM0Mi42LTYzLjFjMC0zOS43LTM1LjYtNjguNS03My4yLTY4LjUtMzQuOSAwLTY1LjggMjYuMy03MC4xIDU5LjktLjIgMy44LS40IDUtLjQgOC41LS4xIDIxLjEgMCA0Mi44LS44IDY0LjQgLjkgMjYuMSAxIDUyLjEgMCA3Ni42IDAgMjcuMS0xOS40IDQ1LjUtNDQuNyA0NS41cy00NS44LTIwLjItNDUuOC00NS41Yy41LTI3LjcgMjIuNi00NS4zIDQ4LjUtNDYuMWwuMiAwIDI2LjMtLjIgMC0zNy4zLTI2LjMgLjJjLTQ3LjEtLjQtODQuNiAzNi41LTg1LjkgODMuNCAwIDQ1LjYgMzcuNSA4Mi45IDgzIDgyLjkgNDMgMCA3OC43LTMzLjYgODIuNi03NS42bC4yLTUzLjUgMzIuNi0uM2MyNS4zIC4yIDI1LTM3LjgtLjItMzcuM2wtMzIuNCAuM2MwLTYuNCAuMS0xMi44IC4xLTE5LjIgLjEtMTIuNyAuMS0yNS40LS4xLTM4LjIgLjEtMTYuNSAxNS44LTMxLjIgMzMuMi0zMS4yIDE3LjUgMCAzNS45IDguNyAzNS45IDMxLjIgMCAzLjItLjEgNS4xLS4zIDYuMy0xLjkgMTAuNSA1LjIgMjAuNCAxNS43IDIxLjkgMTAuNiAxLjUgMjAuMi02LjEgMjEuMi0xNi42IC42LTQuMiAuNy03LjkgLjctMTEuNnoiXX0sUW50PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImR1b2xpbmdvIixpY29uOls1NzYsNTEyLFtdLCJlODEyIiwiTTUwNC4zIDIzMC41YzEwLjQgODguNS00My40IDE3Mi4xLTEyOC4yIDE5OXMtMTc2LjYtMTAuMy0yMTguOS04OC43Yy03MiAzLTEzNy40LTM5LjgtMTYzLjItMTA1LjUtMi42LTYuNi0xLjktMTQgMS45LTE5LjlzMTAuMi05LjcgMTcuMi0xMC4xbDk2LjEtNi0yMy44LTc1LjljLTYuMy0yMC0yLjItNDEuOSAxMS01OC4zczMzLjctMjUgNTQuNS0yM2M1Mi4yIDUgODYuOCA0LjggMTA0LS42UzMwMCAxNi43IDMzOS0xNi45YzE1LjktMTMuNyAzNy43LTE4LjUgNTcuOC0xMi43czM2LjEgMjEuMyA0Mi40IDQxLjRMNDYyLjggODcgNTQzLjYgMzcuM2M2LTMuNyAxMy40LTQuMyAxOS45LTEuNnMxMS4zIDguMyAxMi45IDE1LjJjMTYuMiA2OC4yLTEyLjQgMTQwLjMtNzIuMSAxNzkuNXpNMjU4LjUgNDc1LjlsMCAwYzE1LjEgNy41IDIxLjUgMjUuOCAxNC4yIDQxcy0yNS40IDIxLjktNDAuNyAxNC45bC00My45LTIxYy0xNS4xLTcuNS0yMS41LTI1LjgtMTQuMi00MXMyNS40LTIxLjkgNDAuNy0xNC45bDQzLjggMjF6TTU2NC42IDM0NS43YzE0LjggOC40IDIwIDI3LjMgMTEuNiA0Mi4ybC0yMy45IDQyLjRjLTguNyAxNC4zLTI3LjEgMTkuMi00MS42IDEwLjlzLTE5LjktMjYuNi0xMi00MS40bDIzLjktNDIuNGM0LTcuMSAxMC43LTEyLjQgMTguNi0xNC42czE2LjMtMS4yIDIzLjQgMi45eiJdfSxKbnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmlyc3RkcmFmdCIsaWNvbjpbMzg0LDUxMixbXSwiZjNhMSIsIk0zODQgMTkybC02NCAwIDAgMTI4LTEyOCAwIDAgMTI4LTE5MiAwIDAtMjUuNiAxNjYuNCAwIDAtMTI4IDEyOCAwIDAtMTI4IDg5LjYgMCAwIDI1LjZ6bS0yNS42IDM4LjRsMCAxMjgtMTI4IDAgMCAxMjgtMTY2LjQgMCAwIDI1LjYgMTkyIDAgMC0xMjggMTI4IDAgMC0xNTMuNi0yNS42IDB6bTI1LjYgMTkybC04OS42IDAgMCA4OS42IDI1LjYgMCAwLTY0IDY0IDAgMC0yNS42ek0wIDBsMCAzODQgMTI4IDAgMC0xMjggMTI4IDAgMC0xMjggMTI4IDAgMC0xMjgtMzg0IDB6Il19LEtudD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmcmVlYnNkIixpY29uOls0NDgsNTEyLFtdLCJmM2E0IiwiTTMwMy43IDk2LjJjMTEuMS0xMS4xIDExNS41LTc3IDEzOS4yLTUzLjIgMjMuNyAyMy43LTQyLjEgMTI4LjEtNTMuMiAxMzkuMnMtMzkuNCAuOS02My4xLTIyLjljLTIzLjgtMjMuNy0zNC4xLTUyLTIyLjktNjMuMXpNMTA5LjkgNjguMUM3My42IDQ3LjUgMjIgMjQuNiA1LjYgNDEuMS0xMSA1Ny43IDEyLjcgMTEwLjUgMzMuNSAxNDYuOCA1MiAxMTQuNiA3OC4zIDg3LjUgMTA5LjkgNjguMXpNNDA2LjcgMTc0YzMuMyAxMS4zIDIuNyAyMC43LTIuNyAyNi4xLTIwLjMgMjAuMy04Ny41LTI3LTEwOS4zLTcwLjEtMTgtMzIuMy0xMS4xLTUzLjQgMTQuOS00OC43IDUuNy0zLjYgMTIuMy03LjYgMTkuNi0xMS42LTI5LjgtMTUuNS02My42LTI0LjMtOTkuNS0yNC4zLTExOS4xIDAtMjE1LjYgOTYuNS0yMTUuNiAyMTUuNiAwIDExOSA5Ni41IDIxNS42IDIxNS42IDIxNS42UzQ0NS4zIDM4MC4xIDQ0NS4zIDI2MWMwLTM4LjQtMTAuMS03NC41LTI3LjctMTA1LjgtMy45IDctNy42IDEzLjMtMTAuOSAxOC44eiJdfSxlMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib2R5c2VlIixpY29uOls1MTIsNTEyLFtdLCJlNWM2IiwiTTQwNi43IDQ2M2MtNDIuMyAzMC44LTk0LjQgNDktMTUwLjcgNDktMTExLjEgMC0yMDUuNy03MC44LTI0MS4xLTE2OS44IDIuNCAxLjcgNS45IDMuNiA3LjkgNC40IDE2LjMgNy40IDQwLjEtNS40IDYyLjktMjguNyA2LjktNi45IDE0LjQtMTIuNCAyMi44LTE3LjMgMTguMy0xMS45IDM3LjYtMjAuOCA1OC40LTI3LjIgMCAwIDIyLjMgMzQuMiA0My4xIDc0LjhzLTIyLjMgNTQtMjcuMiA1NGMtLjMgMC0uOCAwLTEuNS0uMS0xMS0uNS03MC0zLTU2IDUxLjEgMTQuOSA1Ny40IDk3LjUgMzYuNiAxMzkuNiA4LjlzMzEuNy0xMTguMyAzMS43LTExOC4zYzQxLjEtNi40IDU0IDM3LjEgNTcuOSA1OS40IC44IDQuNiAxLjEgOS45IDEuNCAxNS41IDEuMSAyMS4yIDIuMyA0NS42IDM1LjMgNDYuNCA1LjMgMCAxMC42LS44IDE1LjUtMmwwLS4xem0tOTUuMy0yMy43Yy0yLS41LTMuNS0yLjUtMy01IDEtMi41IDMtMy41IDUtM3MzLjUgMyAzIDUtMi41IDMuNS01IDN6bS0yMDctOTUuNmMxLjUtLjUgMy41IDEgNCAzIDAgMi0xIDQtMyA0LTEuNSAuNS0zLjUtMS00LTMtLjUtMS41IDEtMy41IDMtNHpNNDUxLjggNDIxYzM3LjUtNDQuNiA2MC4yLTEwMi4yIDYwLjItMTY1IDAtNjcuNS0yNi4xLTEyOC45LTY4LjgtMTc0LjctLjEgMjMuNS02LjEgNDguMi0xNi44IDY5LjItMTEuOSAyMC4zLTQ5IDU4LjktNjkuOCA3OC43LS43IC4zLTEuMSAuOS0xLjUgMS40LS4yIC4yLS4zIC40LS41IC42LTUgNi45LTQgMTYuOCAzIDIxLjggMjEuMyAxNS44IDU2LjQgNDUuNiA1OS40IDcyLjggMy41IDM0LjkgMjcuOSA3NS42IDM0LjIgODYuMiAuOCAxLjMgMS4zIDIuMSAxLjQgMi40IDAgMi4yLS40IDQuMy0uOCA2LjVsMCAuMXpNMzkwLjcgMjUxYy0uNSAzIDEgNS45IDQgNi40czUuOS0xIDYuNC00LTEtNS45LTQtNi40Yy0zLTEtNS45IDEtNi40IDR6bTYxLjQtNjAuOWwtMTEuNCA1LjQtMyAxMi45LTUuNC0xMS40LTEyLjktMyAxMS40LTUuNCAzLTEyLjkgNS40IDExLjQgMTIuOSAzek0zOTUuNSA0MS4zYy0xNi4yIDguMi0yMi4xIDMyLjgtMjkgNjEuNC0uMyAxLjQtLjcgMi44LTEgNC4yLTkuNSAzOC41LTMwLjYgMzcuNi00MS43IDM3LjItMS4xIDAtMi0uMS0yLjktLjEtNS4xIDAtNi00LTguOS0xNy4xLTIuNi0xMi4xLTYuOS0zMi0xNy45LTYzLjYtMjIuNy02NS44LTgyLjctNDkuNC0xMjguMi0yMi4yLTU1LjMgMzMuMS0zNC40IDEwMS45LTE5LjggMTQ5LjQgLjcgMi4yIDEuNCA0LjQgMiA2LjYtNCA0LTEzLjggNy41LTI2IDExLjktMTIuMSA0LjMtMjYuNiA5LjUtNDAuMyAxNi45LTMzLjkgMTgtNzAuMyA0OS03OS44IDYyLjYtMS4zLTEwLjctMi0yMS41LTItMzIuNSAwLTE0MS40IDExNC42LTI1NiAyNTYtMjU2IDUxLjQgMCA5OS40IDE1LjIgMTM5LjUgNDEuM3pNNTguOSAxODkuNmMtMS41LTItNC41LTMtNi40LTEuNXMtMyA0LjUtMS41IDYuNCA0LjUgMyA2LjQgMS41YzIuNS0xLjUgMy00LjUgMS41LTYuNHpNMzI3LjMgNjQuOWMyLTEuNSA1LS41IDYuNCAxLjUgMS41IDIuNSAxIDUuNC0xLjUgNi40LTIgMS41LTUgLjUtNi40LTEuNXMtLjUtNSAxLjUtNi40ek05NS4xIDEwNWMtLjUgMS41IC41IDMgMiAzIDEuNSAuNSAzLS41IDMtMiAuNS0xLjUtLjUtMy0yLTNzLTMgLjUtMyAyem04NC43LS41Yy0zLjUtNDMuMSAzNy4xLTU0IDM3LjEtNTQgNDQuMS0xNS40IDU2IDUuOSA2Ni40IDM3LjZzMyA0Mi42LTM4LjYgNTguOS02MS45LTQuNS02NC45LTQyLjZsMCAuMXptODkuNiAxNC45bDEgMGMyLjUgMCA1LTIgNS01IDItNi45IDEtMTQuNC0yLTIwLjgtMS41LTItNC0zLjUtNi40LTIuNS0zIDEtNC41IDQtMy41IDYuOSAyIDQuNSAzIDkuOSAxLjUgMTQuOS0uNSAzIDEuNSA1LjkgNC41IDYuNGwtLjEgLjF6bS05LjktNDEuNmMtMiAwLTQtMS01LTNzLTItMy41LTMtNWMtMi0yLTItNS40IDAtNy40czUuNC0yIDcuNCAwYzIgMi41IDMuNSA1IDUgNy40cy41IDUuOS0yLjUgNy40Yy0uNiAwLTEgLjItMS4zIC4zLS4yIC4xLS40IC4yLS42IC4ybDAgLjF6Il19LHQxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnZy1jaXJjbGUiLGljb246WzUxMiw1MTIsW10sImYyNjEiLCJNMjU3LjUgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTIwOCAzODIuOGwtMTI1LjctMTI1LjcgMTI1LjctMTI1LjcgMzUuMiAzNS40LTI0LjIgMjQuMi0xMS4xLTExLjEtNzcuMiA3Ny4yIDc3LjIgNzcuMiAyNi42LTI2LjYtNTMuMS01Mi45IDI0LjQtMjQuNCA3Ny4yIDc3LjItNzUgNzUuMnptOTktMi4ybC0zNS4yLTM1LjIgMjQuMS0yNC40IDExLjEgMTEuMSA3Ny4yLTc3LjItNzcuMi03Ny4yLTI2LjUgMjYuNSA1My4xIDUyLjktMjQuNCAyNC40LTc3LjItNzcuMiA3NS03NSAxMjUuNyAxMjUuNy0xMjUuNyAxMjUuNnoiXX0scjF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNsb3VkZmxhcmUiLGljb246WzY0MCw1MTIsW10sImUwN2QiLCJNNDA3LjkgMzE5LjlMMTc3LjEgMzE3Yy0uNyAwLTEuNC0uMi0yLS41cy0xLjItLjgtMS42LTEuNGMtLjQtLjYtLjctMS4zLS43LTJzMC0xLjQgLjItMi4xYy40LTEuMSAxLjEtMi4xIDIuMS0yLjhzMi4xLTEuMiAzLjMtMS4ybDIzMi45LTIuOWMyNy42LTEuMyA1Ny41LTIzLjYgNjgtNTAuOGwxMy4zLTM0LjVjLjQtLjkgLjUtMS45IC41LTIuOSAwLS41LS4xLTEuMS0uMi0xLjYtNy40LTMyLjItMjUtNjEuMS01MC4zLTgyLjNzLTU2LjctMzMuNy04OS43LTM1LjUtNjUuNiA3LjMtOTMgMjUuNy00OCA0NS4zLTU4LjggNzYuNWMtMTEuMy04LjUtMjQuOS0xMy4zLTM5LTEzLjdzLTI4IDMuNS0zOS44IDExLjQtMjAuOCAxOS4xLTI1LjkgMzIuMy01LjkgMjcuNi0yLjQgNDEuM2MtNTIuMyAxLjUtOTQuMiA0NC4xLTk0LjIgOTYuNSAwIDQuNyAuMyA5LjMgMSAxNCAuMiAxLjEgLjcgMi4xIDEuNSAyLjhzMS45IDEuMSAyLjkgMS4xbDQyNi4xIC4xYzAgMCAuMSAwIC4xIDAgMS4yIDAgMi4zLS40IDMuMy0xLjFzMS42LTEuNyAyLTIuOWwzLjMtMTEuM2MzLjktMTMuNCAyLjQtMjUuOC00LjEtMzQuOS02LTguNC0xNi4xLTEzLjMtMjguMi0xMy45em0xMDUuOS05OC44Yy0yLjEgMC00LjMgLjEtNi40IC4yLS44IC4xLTEuNSAuMy0yLjEgLjhzLTEgMS4xLTEuMyAxLjhsLTkuMSAzMS4yYy0zLjkgMTMuNC0yLjQgMjUuOCA0LjEgMzQuOSA2IDguNCAxNi4xIDEzLjMgMjguMiAxMy45bDQ5LjIgMi45Yy43IDAgMS40IC4yIDIgLjVzMS4xIC44IDEuNSAxLjRjLjQgLjYgLjcgMS4zIC44IDJzMCAxLjUtLjIgMi4xYy0uNCAxLjEtMS4xIDIuMS0yLjEgMi44cy0yLjEgMS4yLTMuMyAxLjJsLTUxLjEgMi45Yy0yNy44IDEuMy01Ny43IDIzLjYtNjguMSA1MC44bC0zLjcgOS42Yy0uMiAuNC0uMiAuOC0uMiAxLjNzLjIgLjggLjQgMS4yIC42IC43IC45IC45IC44IC4zIDEuMiAuM2MwIDAgLjEgMCAuMSAwbDE3NS45IDBjMSAwIDItLjMgMi44LS45czEuNC0xLjUgMS43LTIuNGMzLjEtMTEuMSA0LjctMjIuNSA0LjctMzQgMC02OS4zLTU2LjUtMTI1LjUtMTI2LjEtMTI1LjV6Il19LGExdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoYWNrZXJyYW5rIixpY29uOls1MTIsNTEyLFtdLCJmNWY3IiwiTTQ3Ny45IDEyOEM0NjMuNCAxMDMgMjg1LjUgMCAyNTYuNSAwcy0yMDYuOSAxMDIuOC0yMjEuMyAxMjgtMTQuNSAyMzAuOCAwIDI1NiAxOTIuNCAxMjggMjIxLjMgMTI4IDIwNi44LTEwMi45IDIyMS4zLTEyOCAxNC41LTIzMSAwLTI1NnpNMzE2LjUgNDE0LjJjLTQgMC00MC45LTM1LjgtMzgtMzguNyAuOS0uOSA2LjMtMS41IDE3LjUtMS44IDAtMjYuMiAuNi02OC42IC45LTg2LjMgMC0yLS40LTMuNC0uNC01LjhsLTc5LjkgMGMwIDcuMS0uNSAzNi4yIDEuNCA3Mi45IC4yIDQuNS0xLjYgNi01LjcgNS45LTEwLjEgMC0yMC4zLS4xLTMwLjQtLjEtNC4xIDAtNS45LTEuNS01LjctNi4xIC45LTMzLjQgMy04NC0uMi0yMTIuN2wwLTMuMmMtOS43LS40LTE2LjQtMS0xNy4zLTEuOC0yLjktMi45IDM0LjUtMzguNyAzOC41LTM4LjdzNDEuMiAzNS44IDM4LjMgMzguN2MtLjkgLjktNy45IDEuNS0xNi44IDEuOGwwIDMuMmMtMi40IDI1LjgtMiA3OS42LTIuNiAxMDUuNGw4MC4zIDBjMC00LjYgLjQtMzQuNy0xLjItODMuNi0uMS0zLjQgMS01LjIgNC4yLTUuMiAxMS4xLS4xIDIyLjItLjEgMzMuMi0uMSAzLjUgMCA0LjYgMS43IDQuNSA1LjQtMy43IDE5MS4zLS43IDE3Ny45LS43IDIxMC4zIDguOSAuNCAxNi44IDEgMTcuNyAxLjggMi45IDIuOS0zMy42IDM4LjctMzcuNiAzOC43bDAgMHoiXX0saTF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNreWF0bGFzIixpY29uOls2NDAsNTEyLFtdLCJmMjE2IiwiTTY0MCAzMjkuM2MwIDY1LjktNTIuNSAxMTQuNC0xMTcuNSAxMTQuNC0xNjUuOSAwLTE5Ni42LTI0OS43LTM1OS43LTI0OS43LTE0Ni45IDAtMTQ3LjEgMjEyLjIgNS42IDIxMi4yIDQyLjUgMCA5MC45LTE3LjggMTI1LjMtNDIuNSA1LjYtNC4xIDE2LjktMTYuMyAyMi44LTE2LjNzMTAuOSA1IDEwLjkgMTAuOWMwIDcuOC0xMy4xIDE5LjEtMTguNyAyNC4xLTQwLjkgMzUuNi0xMDAuMyA2MS4yLTE1NC43IDYxLjItODMuNCAuMS0xNTQtNTktMTU0LTE0NC45UzY3LjUgMTQ5LjYgMTUyLjggMTQ5LjZjMTg1LjMgMCAyMjIuNSAyNDUuOSAzNjEuOSAyNDUuOSA5OS45IDAgOTQuOC0xMzkuNyAzLjQtMTM5LjctMTcuNSAwLTM1IDExLjYtNDYuOSAxMS42LTguNCAwLTE1LjktNy4yLTE1LjktMTUuNiAwLTExLjYgNS4zLTIzLjcgNS4zLTM2LjMgMC02Ni42LTUwLjktMTE0LjctMTE2LjktMTE0LjctNTMuMSAwLTgwIDM2LjktODguOCAzNi45LTYuMiAwLTExLjItNS0xMS4yLTExLjIgMC01LjYgNC4xLTEwLjMgNy44LTE0LjQgMjUuMy0yOC44IDY0LjctNDMuNyAxMDIuOC00My43IDc5LjQgMCAxMzkuMSA1OC40IDEzOS4xIDEzNy44IDAgNi45LS4zIDEzLjctMS4yIDIwLjYgMTEuOS0zLjEgMjQuMS00LjcgMzUuOS00LjcgNjAuNyAwIDExMS45IDQ1LjMgMTExLjkgMTA3LjJ6Il19LG4xdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXNrcHJvIixpY29uOls0NDgsNTEyLFtdLCJmMzhmIiwiTTEyMiA0MDYuMmw4NCAwYzIzLjEgMCA0My45LTMuNSA2Mi42LTEwLjcgMTguNy03LjEgMzQuNy0xNy4xIDQ4LTMwLjEgMTMuMy0xMy40IDIzLjYtMjkuMiAzMC43LTQ3LjUgMy45LTkuNiA2LjgtMTkuOCA4LjYtMzAuNmw3My43IDBjLTIuNSAyMS4zLTcuNyA0MS4zLTE1LjUgNjAtMTEuMSAyNy4yLTI2LjkgNTAuOC00Ny4zIDcwLjktMjAgMTkuNi00NC4yIDM0LjgtNzIuNiA0NS40cy02MCAxNi05NC43IDE2bC0xNDkuOCAuMiAwLTE5Mi40IDcyLjMtLjIgMCAxMTguOHpNMTk5LjQgMzJjMzQuNyAwIDY2LjIgNS40IDk0LjcgMTYgMjguNSAxMC43IDUyLjkgMjYuMSA3My4zIDQ2LjIgMjAuNCAxOS42IDM2LjIgNDMuMiA0Ny4zIDcwLjkgNy41IDE4LjMgMTIuNCAzOC4xIDE0LjkgNTkuM2wtNzMuNy0uMWMtMS45LTEwLjUtNC43LTIwLjUtOC42LTI5LjktNy4xLTE4LjctMTcuMy0zNC41LTMwLjctNDcuNS0xMy4zLTEzLjQtMjkuMy0yMy42LTQ4LTMwLjgtMTguNi03LjEtMzkuNS0xMC43LTYyLjctMTAuN2wtODQgMCAwIDExOC44LTcyLjIgLjIgMC0xOTIuMyAxNDkuNy0uMXoiXX0sczF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlc29sdmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjNlNyIsIk0yODkuMiAyNzguMmM0Ni0xMy4zIDQ5LjYtMjMuNSA0NC00My40TDMyMiAxOTUuNWMtNi4xLTIwLjktMTguNC0yOC4xLTcxLjEtMTIuOGwtMTg4LjIgNTQuMSAyOC42IDk4LjYgMTk3LjktNTcuMnpNMjU2LjUgOEMxMzkuNCA4IDQxLjIgODguNyAxNS4yIDE5Ny41bDIyMS45LTYzLjljMzQuOC0xMC4yIDU0LjItMTEuNyA3OS4zLTguMiAzNi4zIDYuMSA1Mi43IDI1IDYxLjQgNTUuMmwxMC43IDM3LjhjOC4yIDI4LjEgMSA1MC42LTIzLjUgNzMuNi0xOS40IDE3LjQtMzEuMiAyNC41LTYxLjQgMzMuMmwtOTIuNiAyNi42IDIyMC40IDI3LjEgOS43IDM0LjItNDguMSAxMy4zLTI4Ni44LTM3LjMgMjMgODAuMkMxNjYgNDkxLjMgMjA5LjUgNTA0IDI1NS41IDUwNCAzOTIuNSA1MDQgNTA0IDM5Mi42IDUwNCAyNTUuNyA1MDUgMTE5LjQgMzkzLjUgOCAyNTYuNSA4ek00Ni4zIDM4OC42TDggMjU2LjhjMCA0OC41IDE0LjMgOTMuNCAzOC4zIDEzMS44eiJdfSxvMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmxhY2tiZXJyeSIsaWNvbjpbNTEyLDUxMixbXSwiZjM3YiIsIk0xNjYgMTE2LjljMCAyMy40LTE2LjQgNDkuMS03Mi41IDQ5LjFsLTcwLjEgMCAyMS04OC44IDY3LjggMGM0Mi4xIDAgNTMuOCAyMy4zIDUzLjggMzkuN3pNMjkyLjIgNzcuMmwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTMuOCAwIDcwLjEtMjUuNyA3MC4xLTQ5LjEgLjEtMTYuNC0xMS42LTM5LjctNTMuNy0zOS43ek04OC44IDIwOC4xbC02Ny44IDAtMjEgODguOCA3MC4xIDBjNTYuMSAwIDcyLjUtMjMuNCA3Mi41LTQ5LjEgMC0xNi4zLTExLjctMzkuNy01My44LTM5Ljd6bTE4MC4xIDBsLTY3LjggMC0xOC43IDg4LjggNzAuMSAwYzUzLjggMCA3MC4xLTIzLjQgNzAuMS00OS4xIDAtMTYuMy0xMS43LTM5LjctNTMuNy0zOS43em0xODkuMy01My44bC02Ny44IDAtMTguNyA4OC44IDcwLjEgMGM1My44IDAgNzAuMS0yMy40IDcwLjEtNDkuMSAuMS0xNi4zLTExLjYtMzkuNy01My43LTM5Ljd6bS0yOCAxMzcuOWwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTYuMSAwIDcwLjEtMjMuNCA3MC4xLTQ5LjEgMC0xNi4zLTExLjYtMzkuNy01My43LTM5Ljd6TTI0MC44IDM0NmwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTYuMSAwIDcwLjEtMjUuNyA3MC4xLTQ5LjEgLjEtMTYuMy0xMS42LTM5LjctNTMuNy0zOS43eiJdfSxsMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RyaXBlLXMiLGljb246WzM4NCw1MTIsW10sImY0MmEiLCJNMTU1LjYgMTU0LjZjMC0yMi4zIDE4LjYtMzAuOSA0OC40LTMwLjkgNDMuNCAwIDk4LjUgMTMuMyAxNDEuOSAzNi43bDAtMTM0LjNjLTQ3LjMtMTguOS05NC41LTI2LjEtMTQxLjgtMjYuMS0xMTUuNyAwLTE5Mi44IDYwLjQtMTkyLjggMTYxLjQgMCAxNTcuOSAyMTYuOCAxMzIuMyAyMTYuOCAyMDAuNCAwIDI2LjQtMjIuOSAzNC45LTU0LjcgMzQuOS00Ny4yIDAtMTA4LjItMTkuNS0xNTYuMS00NS41bDAgMTI4LjVjNDkuMyAyMS4zIDEwMi4zIDMyLjMgMTU2IDMyLjQgMTE4LjYgMCAyMDAuMy01MSAyMDAuMy0xNTMuNiAwLTE3MC4yLTIxOC0xMzkuNy0yMTgtMjAzLjl6Il19LE0xZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtYmVoYW5jZSIsaWNvbjpbNDQ4LDUxMixbImJlaGFuY2Utc3F1YXJlIl0sImYxYjUiLCJNMTU1LjMgMzE4LjRjMTcuMiAwIDMxLjItNi4xIDMxLjItMjUuNCAwLTE5LjctMTEuNy0yNy40LTMwLjMtMjcuNWwtNDYgMCAwIDUyLjkgNDUuMSAwem0tNS40LTEyOS42bC0zOS42IDAgMCA0NC44IDQyLjcgMGMxNS4xIDAgMjUuOC02LjYgMjUuOC0yMi45IDAtMTcuNy0xMy43LTIxLjktMjguOS0yMS45em0xMjkuNSA3NC44bDYyLjIgMGMtMS43LTE4LjUtMTEuMy0yOS43LTMwLjUtMjkuNy0xOC4zIDAtMzAuNSAxMS40LTMxLjcgMjkuN3pNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTM0OS41IDE4NWwtNzcuOCAwIDAtMTguOSA3Ny44IDAgMCAxOC45ek0xOTMuNyAyNDMuN2MyMy42IDYuNyAzNSAyNy41IDM1IDUxLjYgMCAzOS0zMi43IDU1LjctNjcuNiA1NS45bC05My4xIDAgMC0xOTIgOTAuNSAwYzMyLjkgMCA2MS40IDkuMyA2MS40IDQ3LjUgMCAxOS4zLTkgMjguOC0yNi4yIDM3em0xMTguNy0zOC42YzQzLjUgMCA2Ny42IDM0LjMgNjcuNiA3NS40IDAgMS42LS4xIDMuMy0uMiA1IDAgLjgtLjEgMS41LS4xIDIuMmwtMTAwLjIgMGMwIDIyLjIgMTEuNyAzNS4zIDM0LjEgMzUuMyAxMS42IDAgMjYuNS02LjIgMzAuMi0xOC4xbDMzLjcgMGMtMTAuNCAzMS45LTMxLjkgNDYuOC02NS4xIDQ2LjgtNDMuOCAwLTcxLjEtMjkuNy03MS4xLTczIDAtNDEuOCAyOC43LTczLjYgNzEuMS03My42eiJdfSxjMXQ9TTFlLGQxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzZXJ2aWNlc3RhY2siLGljb246WzUxMiw1MTIsW10sImYzZWMiLCJNOTYgMjE2YzgxLjcgMTAuMiAyNzMuNyAxMDIuMyAzMDQgMjMyTDggNDQ4Yzk5LjUtOC4xIDE4NC41LTEzNyA4OC0yMzJ6TTEyOCA2NGMzMi4zIDM1LjYgNDcuNyA4My45IDQ2LjQgMTMzLjYgODIuOSAzMy43IDIwNy4zIDEyMy43IDIzMy42IDI1MC40bDk2IDBDNDYzLjMgMjMxLjkgMjMwLjggNzkuNSAxMjggNjR6Il19LHUxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyb2NrZXRjaGF0IixpY29uOls1NzYsNTEyLFtdLCJmM2U4IiwiTTI4NC41IDIyNC44Yy02LjcgMC0xMy4zIDIuMS0xOC45IDUuOHMtOS45IDkuMS0xMi41IDE1LjQtMy4yIDEzLjEtMS45IDE5LjcgNC42IDEyLjcgOS40IDE3LjQgMTAuOSA4IDE3LjUgOS4zIDEzLjUgLjYgMTkuNy0yIDExLjUtNyAxNS4zLTEyLjYgNS43LTEyLjIgNS43LTE4LjljMC05LjEtMy43LTE3LjgtMTAuMS0yNC4ycy0xNS4xLTEwLTI0LjItOS45em0tMTEwLjQgMGMtNi43IDAtMTMuMyAyLjEtMTguOSA1LjhzLTkuOSA5LjEtMTIuNSAxNS40LTMuMiAxMy4xLTEuOSAxOS43IDQuNiAxMi43IDkuNCAxNy40IDEwLjkgOCAxNy41IDkuMyAxMy41IC42IDE5LjctMiAxMS41LTcgMTUuMy0xMi42IDUuNy0xMi4yIDUuNy0xOC45YzAtOS4xLTMuNy0xNy44LTEwLjEtMjQuMnMtMTUuMS0xMC0yNC4yLTEwbDAgMHptMjIwLjkgMGEzNC4xIDM0LjEgMCAxIDAgLjQgNjguMiAzNC4xIDM0LjEgMCAxIDAgLS40LTY4LjJ6bTE1My44LTU1LjNjLTE1LjUtMjQuMi0zNy4zLTQ1LjYtNjQuNy02My42LTUyLjktMzQuOC0xMjIuNC01NC0xOTUuNy01NC0yNC4yIDAtNDguMyAyLjEtNzIgNi40LTE0LjktMTQuMy0zMS41LTI2LjYtNDkuNS0zNi42LTY2LjgtMzMuMy0xMjUuNi0yMC45LTE1NS4zLTEwLjItMi4zIC44LTQuMyAyLjEtNS45IDMuOXMtMi43IDMuOS0zLjMgNi4yLS41IDQuNyAuMSA3LjEgMS44IDQuNCAzLjUgNi4xQzI3IDU2LjUgNjEuNiA5OS4zIDUzLjEgMTM4LjMgMjAgMTcyLjIgMiAyMTMgMiAyNTUuNiAyIDI5OSAyMCAzMzkuOCA1My4xIDM3My43IDYxLjYgNDEyLjcgMjcgNDU1LjYgNiA0NzcuMiA0LjMgNDc5IDMuMiA0ODEuMSAyLjUgNDgzLjRzLS43IDQuNy0uMSA3IDEuNyA0LjUgMy4zIDYuMiAzLjYgMy4xIDUuOSAzLjljMjkuNyAxMC43IDg4LjUgMjMuMSAxNTUuMy0xMC4yIDE4LTEwIDM0LjctMjIuMyA0OS41LTM2LjYgMjMuOCA0LjMgNDcuOSA2LjQgNzIgNi40IDczLjMgMCAxNDIuOC0xOS4yIDE5NS43LTU0IDI3LjQtMTggNDkuMS0zOS40IDY0LjctNjMuNiAxNy4zLTI2LjkgMjYuMS01NS45IDI2LjEtODYuMSAwLTMxLTguOC02MC0yNi4xLTg2LjlsMCAwek0yODUuNCA0MDkuOWMtMzAuMiAuMS02MC4zLTMuOC04OS40LTExLjVsLTIwLjEgMTkuNGMtMTEuMiAxMC43LTIzLjYgMjAtMzcuMSAyNy42LTE2LjQgOC4yLTM0LjIgMTMuMy01Mi41IDE0LjkgMS0xLjggMS45LTMuNiAyLjgtNS40IDIwLjItMzcuMSAyNS42LTcwLjUgMTYuMy0xMDAuMS0zMy0yNi01Mi44LTU5LjItNTIuOC05NS40IDAtODMuMSAxMDQuMy0xNTAuNSAyMzIuOC0xNTAuNXMyMzIuOSA2Ny40IDIzMi45IDE1MC41YzAgODMuMS0xMDQuMyAxNTAuNS0yMzIuOSAxNTAuNXoiXX0scDF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlYmVsIixpY29uOls1MTIsNTEyLFtdLCJmMWQwIiwiTTI1Ni45IDUwNGMtMTM5LjMgMC0yNDcuNS0xMTYuMi0yNDMuMy0yNTQuMSAyLjgtNzkuMiA0My4yLTE1Mi4yIDExNi41LTIwMC40IC4zIDAgMS45LS42IDEuMSAuOC01LjggNS41LTExMS4zIDEyOS44LTE0LjEgMjI2LjQgNDkuOCA0OS41IDkwIDIuNSA5MCAyLjUgMzguNS01MC4xLS42LTEyNS45LS42LTEyNS45LTEwLTI0LjktNDUuNy00MC4xLTQ1LjctNDAuMWwyOC44LTMxLjhjMjQuNCAxMC41IDQzLjIgMzguNyA0My4yIDM4LjcgLjgtMjkuNi0yMS45LTYxLjQtMjEuOS02MS40TDI1NS41IDggMjk5LjggNTguMWMtMjAuNSAyOC44LTIxLjkgNjIuNi0yMS45IDYyLjYgMTMuOC0yMyA0My41LTM5LjMgNDMuNS0zOS4zbDI4LjUgMzEuOGMtMjcuNCA4LjktNDUuNCAzOS45LTQ1LjQgMzkuOS0xNS44IDI4LjUtMjcuMSA4OS40IC42IDEyNy4zIDMyLjQgNDQuNiA4Ny43LTIuOCA4Ny43LTIuOCAxMDIuNy05MS45LTEwLjUtMjI1LTEwLjUtMjI1LTYuMS01LjUgLjgtMi44IC44LTIuOCA1MC4xIDM2LjUgMTE0LjYgODQuNCAxMTYuMiAyMDQuOCAyIDE0NS42LTk5LjkgMjQ5LjQtMjQyLjQgMjQ5LjR6Il19LGYxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtd2ViLWF3ZXNvbWUiLGljb246WzQ0OCw1MTIsW10sImU2ODMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjM1IDE3Ny42bDUzIDQ2LjQgNTIuMi0xMC40Yy0yLjYtMy45LTQuMi04LjUtNC4yLTEzLjYgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDEzLTEwLjMgMjMuNi0yMy4yIDI0TDMwNC41IDM0OS4xYy01LjIgMTEuNS0xNi42IDE4LjktMjkuMiAxOC45bC0xMDIuNiAwYy0xMi42IDAtMjQtNy40LTI5LjItMTguOUw4Ny4yIDIyNGMtMTIuOS0uNC0yMy4yLTExLTIzLjItMjQgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDUtMS41IDkuNy00LjIgMTMuNkwxNjAgMjI0IDIxMy4xIDE3Ny42Yy04LjktNC4xLTE1LTEzLjEtMTUtMjMuNiAwLTE0LjQgMTEuNi0yNiAyNi0yNnMyNiAxMS42IDI2IDI2YzAgMTAuNS02LjIgMTkuNS0xNS4xIDIzLjZ6Il19LGgxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsaW5rdHJlZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTdkOCIsIk0xNiAxNzMuNGwxMjUuOCAwLTg5LjQtODUuNCA0OS41LTUxIDg1LjIgODcuOCAwLTEyNC44IDczLjkgMCAwIDEyNC44IDg1LjItODcuNiA0OS40IDUwLjgtODkuNCA4NS4yIDEyNS43IDAgMCA3MC41LTEyNi40IDAgOTAgODcuNi00OS4zIDQ5LjgtMTIyLjItMTIzLTEyMi4yIDEyMy00OS41LTQ5LjYgOTAtODcuNi0xMjYuNCAwIDAtNzAuNXpNMTg2LjkgMzQ0LjhsNzMuOSAwIDAgMTY3LjItNzMuOSAwIDAtMTY3LjJ6Il19LG0xdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaW1wbHlidWlsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjIxNSIsIk00ODEuNiA2NGwtMTA2IDBDMzYxLjEgNjQgMzQ5IDc1LjggMzQ5IDkwLjNsMCAzOS42LTE4NS4zIDAgMC0zOS42YzAtMTQuNS0xMi0yNi4zLTI2LjYtMjYuM2wtMTA2IDBDMTYuNSA2NCA0LjcgNzUuOCA0LjcgOTAuM2wwIDMzMS40YzAgMTQuNSAxMS44IDI2LjMgMjYuNiAyNi4zbDQ1MC40IDBjMTQuOCAwIDI2LjYtMTEuOCAyNi42LTI2LjNsMC0zMzEuNGMtLjItMTQuNS0xMi0yNi4zLTI2LjctMjYuM3pNMTUwLjUgMjIyLjdhNjYuNSA2Ni41IDAgMSAxIC0uMyAxMzMuMSA2Ni41IDY2LjUgMCAxIDEgLjMtMTMzLjF6bTIxMS45IC4xYTY2LjUgNjYuNSAwIDEgMSAuMyAxMzIuOSA2Ni41IDY2LjUgMCAxIDEgLS4zLTEzMi45eiJdfSxnMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3R1YmJlciIsaWNvbjpbNDQ4LDUxMixbXSwiZTVjNyIsIk0xMzYuNSAyOTQuMmw1OC44IDIyLjljOS4xLTM2LjggMjUuNC02MS4xIDU1LTYxLjEgNDkuNCAwIDcxLjQgNjMuNiAxNDIuNCA2My42IDE1LjYgMCAzNS45LTIuOCA1NS4zLTEzLjNsMCA2MS43YzAgNjEuOC01MC40IDExMi0xMTIuMyAxMTJMMCA0ODAgNDEuOCA0MjQgMCAzNjggNDEuNyAzMTIgMCAyNTYuMSA0MS44IDIwMC4xIDAgMTQ0LjEgNDEuOCA4OCAwIDMyIDMzNS43IDMyQzM5Ny42IDMyIDQ0OCA4Mi4zIDQ0OCAxNDQuMWwwIDUxLjNjLTkuMiAzNi4zLTI1LjkgNjAuNi01NSA2MC42LTQ5LjYgMC03MS42LTYzLjUtMTQyLjQtNjMuNS0zNS45IDAtOTUuMiAxNC42LTExNC4xIDEwMS42bDAgLjF6Il19LGIxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHBlciIsaWNvbjpbNjQwLDUxMixbXSwiZjM3MSIsIk00Mi4xIDIzOS4xYzIyLjIgMCAyOSAyLjggMzMuNSAxNC42bC44IDAgMC0yMi45YzAtMTEuMy00LjgtMTUuNC0xNy45LTE1LjQtMTEuMyAwLTE0LjQgMi41LTE1LjEgMTIuOGwtMzguNiAwYy4zLTEzLjkgMS41LTE5LjEgNS44LTI0LjQgNy4zLTguOCAxOC45LTExLjggNDYuMS0xMS44IDMzIDAgNDcuMSA1IDUzLjkgMTguOSAyIDQuMyA0IDE1LjYgNCAyMy43bDAgNzYuMy0zOC4zIDAgMS4zLTE5LjEtMSAwYy01LjMgMTUuNi0xMy42IDIwLjQtMzUuNSAyMC40LTMwLjMgMC00MS4xLTEwLjEtNDEuMS0zNy4zIDAtMjUuMiAxMi4zLTM1LjggNDIuMS0zNS44em0xNy4xIDQ4LjFjMTMuMSAwIDE2LjktMyAxNi45LTEzLjQgMC05LjEtNC4zLTExLjYtMTkuNi0xMS42LTEzLjEgMC0xNy45IDMtMTcuOSAxMi4xLS4xIDEwLjQgMy43IDEyLjkgMjAuNiAxMi45ek0xMzcgMTkyLjNsMzguMyAwLTEuNSAyMC42IC44IDBjOS4xLTE3LjEgMTUuOS0yMC45IDM3LjUtMjAuOSAxNC40IDAgMjQuNyAzIDMxLjUgOS4xIDkuOCA4LjYgMTIuOCAyMC40IDEyLjggNDguMSAwIDMwLTMgNDMuMS0xMi4xIDUyLjktNi44IDcuMy0xNi40IDEwLjEtMzMuMiAxMC4xLTIwLjQgMC0yOS4yLTUuNS0zMy44LTIxLjJsLS44IDAgMCA3MC4zLTM5LjUgMCAwLTE2OXpNMjE3LjkgMjUzYzAtMjcuNS0zLjMtMzIuNS0yMC43LTMyLjUtMTYuOSAwLTIwLjcgNS0yMC43IDI4LjcgMCAyOCAzLjUgMzMuNSAyMS4yIDMzLjUgMTYuNCAwIDIwLjItNS42IDIwLjItMjkuN3ptNTcuOS02MC43bDM4LjMgMC0xLjUgMjAuNiAuOCAwYzkuMS0xNy4xIDE1LjktMjAuOSAzNy41LTIwLjkgMTQuNCAwIDI0LjcgMyAzMS41IDkuMSA5LjggOC42IDEyLjggMjAuNCAxMi44IDQ4LjEgMCAzMC0zIDQzLjEtMTIuMSA1Mi45LTYuOCA3LjMtMTYuNCAxMC4xLTMzLjMgMTAuMS0yMC40IDAtMjkuMi01LjUtMzMuOC0yMS4ybC0uOCAwIDAgNzAuMy0zOS41IDAgMC0xNjkgLjEgMHpNMzU2LjcgMjUzYzAtMjcuNS0zLjMtMzIuNS0yMC43LTMyLjUtMTYuOSAwLTIwLjcgNS0yMC43IDI4LjcgMCAyOCAzLjUgMzMuNSAyMS4yIDMzLjUgMTYuNCAwIDIwLjItNS42IDIwLjItMjkuN3ptNTMuOC0zLjhjMC0yNS40IDMuMy0zNy44IDEyLjMtNDUuOCA4LjgtOC4xIDIyLjItMTEuMyA0NS4xLTExLjMgNDIuOCAwIDU1LjcgMTIuOCA1NS43IDU1LjdsMCAxMS4xLTc1LjMgMGMtLjMgMi0uMyA0LS4zIDQuOCAwIDE2LjkgNC41IDIxLjkgMjAuMSAyMS45IDEzLjkgMCAxNy45LTMgMTcuOS0xMy45bDM3LjUgMCAwIDIuM2MwIDkuOC0yLjUgMTguOS02LjggMjQuNy03LjMgOS44LTE5LjYgMTMuNi00NC4zIDEzLjYtMjcuNSAwLTQxLjYtMy4zLTUwLjYtMTIuMy04LjUtOC41LTExLjMtMjEuMy0xMS4zLTUwLjh6bTc2LjQtMTEuNmMtLjMtMS44LS4zLTMuMy0uMy0zLjggMC0xMi4zLTMuMy0xNC42LTE5LjYtMTQuNi0xNC40IDAtMTcuMSAzLTE4LjEgMTUuMWwtLjMgMy4zIDM4LjMgMHptNTUuNi00NS4zbDM4LjMgMC0xLjggMTkuOSAuNyAwYzYuOC0xNC45IDE0LjQtMjAuMiAyOS43LTIwLjIgMTAuOCAwIDE5LjEgMy4zIDIzLjQgOS4zIDUuMyA3LjMgNi44IDE0LjQgNi44IDM0IDAgMS41IDAgNSAuMiA5LjNsLTM1IDBjLjMtMS44IC4zLTMuMyAuMy00IDAtMTUuNC0yLTE5LjQtMTAuMy0xOS40LTYuMyAwLTEwLjggMy4zLTEzLjEgOS4zLTEgMy0xIDQuMy0xIDEyLjNsMCA2OC0zOC4zIDAgMC0xMTguNSAuMSAweiJdfSx2MXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXNjaG9sYXIiLGljb246WzUxMiw1MTIsW10sImU2M2IiLCJNMzkwLjkgMjk4LjVzMCAuMSAuMSAuMWM5LjIgMTkuNCAxNC40IDQxLjEgMTQuNCA2NC0uMSA4Mi41LTY2LjkgMTQ5LjQtMTQ5LjQgMTQ5LjRTMTA2LjcgNDQ1LjEgMTA2LjcgMzYyLjdjMC0yMi45IDUuMi00NC42IDE0LjQtNjQgMS43LTMuNiAzLjYtNy4yIDUuNi0xMC43IDQuNC03LjYgOS40LTE0LjcgMTUtMjEuMyAyNy40LTMyLjYgNjguNS01My4zIDExNC40LTUzLjMgMzMuNiAwIDY0LjYgMTEuMSA4OS42IDI5LjkgOS4xIDYuOSAxNy40IDE0LjcgMjQuOCAyMy41IDUuNiA2LjYgMTAuNiAxMy44IDE1IDIxLjMgMiAzLjQgMy44IDcgNS41IDEwLjVsLS4xLS4xem0yNi40LTE4LjhjLTMwLjEtNTguNC05MS05OC40LTE2MS4zLTk4LjRzLTEzMS4yIDQwLTE2MS4zIDk4LjRsLTk0LjctNzcgMjU2LTIwMi43IDI1NiAyMDIuNy05NC43IDc3LjEgMC0uMXoiXX0seDF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Inlhcm4iLGljb246WzUxMiw1MTIsW10sImY3ZTMiLCJNNDAxLjkgMzQ1LjJjLTM5IDkuMy00OC40IDMyLjEtMTA0IDQ3LjQgMCAwLTIuNyA0LTEwLjQgNS44LTEzLjQgMy4zLTYzLjkgNi02OC41IDYuMS0xMi40IC4xLTE5LjktMy4yLTIyLTguMi02LjQtMTUuMyA5LjItMjIgOS4yLTIyLTguMS01LTktOS45LTkuOC04LjEtMi40IDUuOC0zLjYgMjAuMS0xMC4xIDI2LjUtOC44IDguOS0yNS41IDUuOS0zNS4zIC44LTEwLjgtNS43IC44LTE5LjIgLjgtMTkuMnMtNS44IDMuNC0xMC41LTMuNmMtNi05LjMtMTcuMS0zNy4zIDExLjUtNjItMS4zLTEwLjEtNC42LTUzLjcgNDAuNi04NS42IDAgMC0yMC42LTIyLjgtMTIuOS00My4zIDUtMTMuNCA3LTEzLjMgOC42LTEzLjkgNS43LTIuMiAxMS4zLTQuNiAxNS40LTkuMSAyMC42LTIyLjIgNDYuOC0xOCA0Ni44LTE4czEyLjQtMzcuOCAyMy45LTMwLjRjMy41IDIuMyAxNi4zIDMwLjYgMTYuMyAzMC42czEzLjYtNy45IDE1LjEtNWM4LjIgMTYgOS4yIDQ2LjUgNS42IDY1LjEtNi4xIDMwLjYtMjEuNCA0Ny4xLTI3LjYgNTcuNS0xLjQgMi40IDE2LjUgMTAgMjcuOCA0MS4zIDEwLjQgMjguNiAxLjEgNTIuNyAyLjggNTUuMyAuOCAxLjQgMTMuNyAuOCAzNi40LTEzLjIgMTIuOC03LjkgMjguMS0xNi45IDQ1LjQtMTcgMTYuNy0uNSAxNy42IDE5LjIgNC45IDIyLjJ6TTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTQxNi43IDc1LjJjLTEuNy0xMy42LTEzLjItMjMtMjgtMjIuOC0yMiAuMy00MC41IDExLjctNTIuOCAxOS4yLTQuOCAzLTguOSA1LjItMTIuNCA2LjggMy4xLTQ0LjUtMjIuNS03My4xLTI4LjctNzkuNCA3LjgtMTEuMyAxOC40LTI3LjggMjMuNC01My4yIDQuMy0yMS43IDMtNTUuNS02LjktNzQuNS0xLjYtMy4xLTcuNC0xMS4yLTIxLTcuNC05LjctMjAtMTMtMjIuMS0xNS42LTIzLjgtMS4xLS43LTIzLjYtMTYuNC00MS40IDI4LTEyLjIgLjktMzEuMyA1LjMtNDcuNSAyMi44LTIgMi4yLTUuOSAzLjgtMTAuMSA1LjRsLjEgMGMtOC40IDMtMTIuMyA5LjktMTYuOSAyMi4zLTYuNSAxNy40IC4yIDM0LjYgNi44IDQ1LjctMTcuOCAxNS45LTM3IDM5LjgtMzUuNyA4Mi41LTM0IDM2LTExLjggNzMtNS42IDc5LjYtMS42IDExLjEgMy43IDE5LjQgMTIgMjMuOCAxMi42IDYuNyAzMC4zIDkuNiA0My45IDIuOCA0LjkgNS4yIDEzLjggMTAuMSAzMCAxMC4xIDYuOCAwIDU4LTIuOSA3Mi42LTYuNSA2LjgtMS42IDExLjUtNC41IDE0LjYtNy4xIDkuOC0zLjEgMzYuOC0xMi4zIDYyLjItMjguNyAxOC0xMS43IDI0LjItMTQuMiAzNy42LTE3LjQgMTIuOS0zLjIgMjEtMTUuMSAxOS40LTI4LjJ6Il19LHkxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGFjay1vdmVyZmxvdyIsaWNvbjpbMzg0LDUxMixbXSwiZjE2YyIsIk0yOTEgMzExbC0xOTUuNy00MS4zLTguMiAzOS4zIDE5NS43IDQxIDguMi0zOXptNTEtODdMMTg4LjUgOTUuNyAxNjMgMTI2LjUgMzE2LjUgMjU0LjggMzQyIDIyNHptLTMxLjIgMzkuN0wxMjkuNSAxNzkgMTEyLjggMjE1LjUgMjk0IDMwMCAzMTAuOCAyNjMuN3pNMjYyLjMgMzJsLTMyIDI0IDExOS4zIDE2MC4zIDMyLTI0LTExOS4zLTE2MC4zem0yMC41IDMyOGwtMjAwIDAgMCAzOS43IDIwMCAwIDAtMzkuN3ptMzkuNyA4MGwtMjc5LjUgMCAwLTEyMC00MCAwIDAgMTYwIDM1OS41IDAgMC0xNjAtNDAgMCAwIDEyMHoiXX0sdzF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsdWV0b290aCIsaWNvbjpbMzg0LDUxMixbXSwiZjI5MyIsIk0yNjAuNiAxNzEuMWwtNDIuOSA0Mi45LS4zLTg2IDQzLjIgNDMuMXpNMjE3LjQgMzkwLjlsNDMuMS00My4xLTQyLjktNDIuOS0uMiA4NnpNMzg0IDI1OS40QzM4NCA0NjUgMzEyLjEgNTEyIDE5OC45IDUxMlMwIDQ2NSAwIDI1OS40IDgzLjQgMCAxOTYuNiAwIDM4NCA1My45IDM4NCAyNTkuNHptLTE1OC41IDBsNzkuNC04OC42LTEyNS4xLTEzNC4zIDAgMTc2LjktNzMuOC03My44LTI3IDI2LjkgOTIuNyA5My05Mi43IDkzIDI2LjkgMjYuOSA3My44LTczLjggMi4zIDE3MCAxMjcuNC0xMjcuNS04My45LTg4Ljd6Il19LE0xdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5jLWpwIixpY29uOls1MTIsNTEyLFtdLCJmNGVhIiwiTTI1NS43IDhDMTExLjYgOCA4IDEyNC44IDggMjU2IDggMzkyLjQgMTE5LjggNTA0IDI1NS43IDUwNCAzODUuOSA1MDQgNTA0IDQwMy4yIDUwNCAyNTYgNTA0IDExNy4yIDM5Ni41IDggMjU1LjcgOHptLjYgNDUwLjdjLTExMiAwLTIwMy42LTkyLjUtMjAzLjYtMjAyLjcgMC0yMS4xIDMtNDEuMiA5LTYwLjNsMTI3IDU2LjUtMjcuOSAwIDAgMzguNiA1OC4xIDAgNS43IDExLjggMCAxOC43LTYzLjggMCAwIDM4LjcgNjMuOCAwIDAgNTYgNjEuNyAwIDAtNTYgNjQuMiAwIDAtMzUuNyA4MSAzNi4xYy0xLjUgMi4yLTU3LjEgOTguMy0xNzUuMiA5OC4zem04Ny42LTEzNy4zbC01Ny42IDAgMC0xOC43IDIuOS01LjYgNTQuNyAyNC4zem02LjUtNTEuNGwwLTE3LjgtMzguNiAwIDYzLTExNi02NS44IDAtNDMuNCA5Ni0yMy0xMC4yLTM5LjYtODUuNy02NS44IDAgMjcuMyA1MS04MS45LTM2LjVjMjcuOC00NC4xIDgyLjYtOTguMSAxNzMuNy05OC4xIDExMi44IDAgMjAzIDkwIDIwMyAyMDMuNCAwIDIxLTIuNyA0MC42LTcuOSA1OUwzNTAuNCAyNzB6Il19LGsxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWRkaXQiLGljb246WzUxMiw1MTIsW10sImYxYTEiLCJNMCAyNTZDMCAxMTQuNiAxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2IDM5Ny40IDUxMiAyNTYgNTEyTDM3LjEgNTEyYy0xMy43IDAtMjAuNS0xNi41LTEwLjktMjYuMkw3NSA0MzdDMjguNyAzOTAuNyAwIDMyNi43IDAgMjU2ek0zNDkuNiAxNTMuNmMyMy42IDAgNDIuNy0xOS4xIDQyLjctNDIuN3MtMTkuMS00Mi43LTQyLjctNDIuN2MtMjAuNiAwLTM3LjggMTQuNi00MS44IDM0LTM0LjUgMy43LTYxLjQgMzMtNjEuNCA2OC40bDAgLjJjLTM3LjUgMS42LTcxLjggMTIuMy05OSAyOS4xLTEwLjEtNy44LTIyLjgtMTIuNS0zNi41LTEyLjUtMzMgMC01OS44IDI2LjgtNTkuOCA1OS44IDAgMjQgMTQuMSA0NC42IDM0LjQgNTQuMSAyIDY5LjQgNzcuNiAxMjUuMiAxNzAuNiAxMjUuMnMxNjguNy01NS45IDE3MC42LTEyNS4zYzIwLjItOS42IDM0LjEtMzAuMiAzNC4xLTU0IDAtMzMtMjYuOC01OS44LTU5LjgtNTkuOC0xMy43IDAtMjYuMyA0LjYtMzYuNCAxMi40LTI3LjQtMTctNjIuMS0yNy43LTEwMC0yOS4xbDAtLjJjMC0yNS40IDE4LjktNDYuNSA0My40LTQ5LjkgNC40IDE4LjggMjEuMyAzMi44IDQxLjUgMzIuOGwuMSAuMnpNMTc3LjEgMjQ2LjljMTYuNyAwIDI5LjUgMTcuNiAyOC41IDM5LjNzLTEzLjUgMjkuNi0zMC4zIDI5LjYtMzEuNC04LjgtMzAuNC0zMC41IDE1LjQtMzguMyAzMi4xLTM4LjNsLjEtLjF6bTE5MC4xIDM4LjNjMSAyMS43LTEzLjcgMzAuNS0zMC40IDMwLjVzLTI5LjMtNy45LTMwLjMtMjkuNiAxMS44LTM5LjMgMjguNS0zOS4zIDMxLjIgMTYuNiAzMi4xIDM4LjNsLjEgLjF6bS00OC4xIDU2LjdjLTEwLjMgMjQuNi0zNC42IDQxLjktNjMgNDEuOXMtNTIuNy0xNy4zLTYzLTQxLjljLTEuMi0yLjkgLjgtNi4yIDMuOS02LjUgMTguNC0xLjkgMzguMy0yLjkgNTkuMS0yLjlzNDAuNyAxIDU5LjEgMi45YzMuMSAuMyA1LjEgMy42IDMuOSA2LjV6Il19LFMxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb25uZWN0ZGV2ZWxvcCIsaWNvbjpbNTc2LDUxMixbXSwiZjIwZSIsIk01NTAuOCAyNDFsLTUwLjEtODYuOGMxLjEtMi4xIDEuOS00LjYgMS45LTcuMiAwLTgtNi43LTE0LjctMTQuNy0xNUw0MzIuNCAzNi4xYy41LTEuNiAxLjEtMy4yIDEuMS00LjggMC04LjYtNy0xNS4zLTE1LjMtMTUuMy00LjggMC04LjggMi4xLTExLjggNS42bC0xMDYuNiAwYy0yLjctMy41LTYuNy01LjYtMTEuNS01LjZzLTguOCAyLjEtMTEuNSA1LjZsLTEwNi4xIDBjLTIuOS0zLjUtNy01LjYtMTEuOC01LjYtOC4zIDAtMTUuMyA2LjctMTUuMyAxNS4zIDAgMS42IC41IDMuNSAxLjEgNC44bC01NiA5Ny4yYy01LjQgMi40LTkuMSA3LjUtOS4xIDEzLjcgMCAuNSAuMyAxLjEgLjMgMS42TDI2LjYgMjQwLjdjLTcuMiAxLjMtMTIuNiA3LjUtMTIuNiAxNSAwIDcuMiA1LjEgMTMuNCAxMi4xIDE1bDU1LjIgOTUuNGMtLjUgMS42LS44IDIuOS0uOCA0LjggMCA3LjIgNS4xIDEzLjQgMTIuMSAxNC43bDUxLjcgODkuN2MtLjUgMS42LTEuMSAzLjUtMS4xIDUuNCAwIDguNiA3IDE1LjMgMTUuMyAxNS4zIDQuOCAwIDguOC0yLjEgMTEuNS01LjRsMTA2LjkgMGMyLjcgMy4yIDcgNS40IDExLjUgNS40czguOC0yLjEgMTEuNS01LjRsMTA3LjEgMGMyLjcgMi45IDYuNyA0LjggMTEgNC44IDguNiAwIDE1LjMtNyAxNS4zLTE1LjMgMC0xLjYtLjMtMi45LS44LTQuM2w1MS43LTkwLjNjNy0xLjMgMTIuMS03LjUgMTIuMS0xNC43IDAtMS42LS4zLTMuMi0uOC00LjhsNTQuOS05NS40YzctMS4zIDEyLjMtNy41IDEyLjMtMTUgMC03LjItNS4xLTEzLjQtMTEuOC0xNC43em0tMzk3IDIwOS43bC00My43LTc1LjggNDMuNyAwIDAgNzUuOHptMC04My44bC00My43IDBjLS4zLTEuMS0uOC0yLjEtMS4zLTMuMmw0NS00Ny40IDAgNTAuNnptMC02Mi40bC01MC40IDUzLjNjLTEuMy0uNS0yLjctMS4zLTQtMS42TDQzLjcgMjU5LjhjLjUtMS4zIC41LTIuNyAuNS00czAtMi40LS4zLTMuNWw1Mi05MGMyLjctLjMgNS40LTEuMSA3LjgtMi43bDUwLjEgNTIgMCA5Mi45em0wLTEwMi4zTDEwOCAxNTQuOGMxLjMtMi4xIDIuMS00LjggMi4xLTcuOCAwLS4zLS4zLS44LS4zLTEuMWw0My45LTE1LjggMCA3Mi4xem0wLTgwLjZsLTQzLjcgMTUuOCA0My43LTc1LjUgMCA1OS43em0zMjYuNSAzOS4xbC44IDEuMy0zNS40IDE2Ny4xLTYzLjgtNjcuMiA5OC0xMDEuNSAuMyAuM3pNMjkyLjEgMzU1LjFsMTEuNSAxMS44LTIyLjggMCAxMS4zLTExLjh6bS0uMy0xMS4zbC04My4zLTg1LjQgNzkuNi04NC40IDgzIDg3LjYtNzkuMyA4Mi4yem01LjQgNS45bDc5LjMtODIuMiA2Ny41IDcxLjMtNS45IDI4LjEtMTI0IDAtMTYuOS0xNy4xek00MTAuNyA0NC40YzEuMSAuNSAyLjEgMS4xIDMuNSAxLjNsNTcuOSAxMDAuNyAwIC41YzAgMi45IC44IDUuNiAyLjEgNy44bC05Ny41IDEwMS4yLTgzLTg3LjYgMTE3LjEtMTI0em0tOS4xLTIuMWwtMTEzLjYgMTIwLjMtNTcuMS02MC4zIDE2Ni4zLTYwIDQuMyAwem0tMTIzLjUgMGMyLjcgMi43IDYuMiA0LjMgMTAuMiA0LjNzNy41LTEuNiAxMC4yLTQuM2w3NSAwLTE0OC40IDUzLjYtNTAuOS01My42IDEwMy45IDB6TTE2MS45IDQ3LjlsMS4xLTIuMWMuOS0uMiAxLjgtLjUgMi43LS44bDUxLjIgNTMuOC01NC45IDE5LjggMC03MC43em0wIDc5LjNsNjAuOC0yMiA1OS43IDYzLjItNzkuNiA4NC4xLTQxLTQyLjEgMC04My4zem0wIDkyLjdsMzYuNCAzNy44LTM2LjQgMzguMyAwLTc2LjF6bTAgODcuOWw0Mi4xLTQ0LjUgODIuOCA4Ni0xNy4xIDE3LjctMTA3LjcgMCAwLTU5LjJ6bTcgMTYyLjFjLTEuNi0xLjYtMy41LTIuNy01LjktMy41bC0xLjEtMS42IDAtODkuNyA5OS45IDAtOTEuNiA5NC44LTEuMyAwem0xMjkuOSAwYy0yLjctMi40LTYuNC00LjMtMTAuNC00LjNzLTcuOCAxLjktMTAuNCA0LjNsLTk2LjQgMCA5MS42LTk0LjggMzguMyAwIDkxLjYgOTQuOC0xMDQuMiAwem0xMjAtMTEuOGwtNC4zIDcuNWMtMS4zIC4zLTIuNCAuOC0zLjUgMS4zbC04OS4yLTkxLjkgMTE0LjQgMC0xNy40IDgzem0xMi45LTIyLjJsMTIuOS02MC44IDIyIDAtMzQuOCA2MC44em0zNC44LTY4LjhsLTIwLjQgMCA0LjYtMjEuMiAxNy4xIDE4LjJjLS41IC44LTEuMSAxLjktMS4zIDIuOXptNjYuMi0xMDcuNGwtNTUuNCA5Ni43Yy0xLjMgLjUtMi43IDEuMS00IDEuOWwtMjAuNi0yMiAzNC42LTE2My45IDQ1LjggNzkuM2MtLjMgMS4zLS44IDIuNy0uOCA0LjMgMCAxLjMgLjMgMi40IC41IDMuN3oiXX0sejF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlc2VhcmNoZ2F0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjRmOCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0yNjIuMiAzNjYuNGMtNi42IDMtMzMuMiA2LTUwLTE0LjItOS4yLTEwLjYtMjUuMy0zMy4zLTQyLjItNjMuNi04LjkgMC0xNC43IDAtMjEuNC0uNmwwIDQ2LjRjMCAyMy41IDYgMjEuMiAyNS44IDIzLjlsMCA4LjFjLTYuOS0uMy0yMy4xLS44LTM1LjYtLjgtMTMuMSAwLTI2LjEgLjYtMzMuNiAuOGwwLTguMWMxNS41LTIuOSAyMi0xLjMgMjItMjMuOWwwLTEwOS40YzAtMjIuNi02LjQtMjEtMjItMjMuOWwwLTguMWMyNS44IDEgNTMuMS0uNiA3MC45LS42IDMxLjcgMCA1NS45IDE0LjQgNTUuOSA0NS42IDAgMjEuMS0xNi43IDQyLjItMzkuMiA0Ny41IDEzLjYgMjQuMiAzMCA0NS42IDQyLjIgNTguOSA3LjIgNy44IDE3LjIgMTQuNyAyNy4yIDE0LjdsMCA3LjN6bTIyLjktMTM1Yy0yMy4zIDAtMzIuMi0xNS43LTMyLjItMzIuMmwwLTMyLjJjMC0xMi4yIDguOC0zMC40IDM0LTMwLjRzMzAuNCAxNy45IDMwLjQgMTcuOWwtMTAuNyA3LjJzLTUuNS0xMi41LTE5LjctMTIuNWMtNy45IDAtMTkuNyA3LjMtMTkuNyAxOS43bDAgMjYuOGMwIDEzLjQgNi42IDIzLjMgMTcuOSAyMy4zIDE0LjEgMCAyMS41LTEwLjkgMjEuNS0yNi44bC0xNy45IDAgMC0xMC43IDMwLjQgMGMwIDIwLjUgNC43IDQ5LjktMzQgNDkuOXpNMTY4LjYgMjc2LjFjLTkuNCAwLTEzLjYtLjMtMjAtLjhsMC02OS43YzYuNC0uNiAxNS0uNiAyMi41LS42IDIzLjMgMCAzNy4yIDEyLjIgMzcuMiAzNC41IDAgMjEuOS0xNSAzNi42LTM5LjcgMzYuNnoiXX0sQzF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNpZ25hbC1tZXNzZW5nZXIiLGljb246WzUxMiw1MTIsW10sImU2NjMiLCJNMjU2IDBjLTEzLjMgMC0yNi4zIDEtMzkuMSAzbDMuNyAyMy43QzIzMi4xIDI0LjkgMjQ0IDI0IDI1NiAyNHMyMy45IC45IDM1LjQgMi43TDI5NS4xIDNDMjgyLjMgMSAyNjkuMyAwIDI1NiAwem02MC44IDcuM2wtNS43IDIzLjNjMjMuNCA1LjcgNDUuNCAxNC45IDY1LjQgMjcuMWwxMi41LTIwLjVjLTIyLjEtMTMuNC00Ni40LTIzLjYtNzIuMi0yOS45em03Ni40IDYxLjZjMTkuMSAxNCAzNiAzMC45IDUwLjEgNTAuMWwxOS40LTE0LjJDNDQ3IDgzLjYgNDI4LjQgNjUgNDA3LjMgNDkuNUwzOTMuMSA2OC44em04MS43IDU0LjJsLTIwLjUgMTIuNWMxMi4yIDIwIDIxLjQgNDIgMjcuMSA2NS40bDIzLjMtNS43Yy02LjMtMjUuOC0xNi41LTUwLjEtMjkuOS03Mi4yem0xMC41IDk3LjVjMS44IDExLjUgMi43IDIzLjQgMi43IDM1LjRzLS45IDIzLjktMi43IDM1LjRsMjMuNyAzLjdjMS45LTEyLjcgMy0yNS44IDMtMzkuMXMtMS0yNi4zLTMtMzkuMWwtMjMuNyAzLjd6bS0zMSAxNTUuOWwyMC41IDEyLjVjMTMuNC0yMi4xIDIzLjYtNDYuNCAyOS45LTcyLjJsLTIzLjMtNS43Yy01LjcgMjMuNC0xNC45IDQ1LjQtMjcuMSA2NS40em04LjIgMzAuOGwtMTkuNC0xNC4yYy0xNCAxOS4xLTMwLjkgMzYtNTAuMSA1MC4xbDE0LjIgMTkuNGMyMS4xLTE1LjUgMzkuOC0zNC4xIDU1LjItNTUuMnptLTg2LjEgNDdjLTIwIDEyLjItNDIgMjEuNC02NS40IDI3LjFsNS43IDIzLjNjMjUuOC02LjMgNTAuMS0xNi41IDcyLjItMjkuOWwtMTIuNS0yMC41ek0yOTUuMSA1MDlsLTMuNy0yMy43QzI3OS45IDQ4Ny4xIDI2OCA0ODggMjU2IDQ4OHMtMjMuOS0uOS0zNS40LTIuN0wyMTYuOSA1MDljMTIuNyAxLjkgMjUuOCAzIDM5LjEgM3MyNi4zLTEgMzkuMS0zem0tOTQuMS0yNy42Yy0xNy42LTQuMy0zNC40LTEwLjYtNTAuMS0xOC42bC03LjgtNC0zMi44IDcuNyA1LjUgMjMuNCAyNC4zLTUuN2MxNy40IDguOSAzNS45IDE1LjggNTUuMyAyMC41bDUuNy0yMy4zek05NS40IDQ5NC42TDkwIDQ3MS4zIDQ4LjMgNDgxYy0xMC40IDIuNC0xOS43LTYuOS0xNy4zLTE3LjNsOS43LTQxLjYtMjMuNC01LjUtOS43IDQxLjZDMS4yIDQ4NiAyNiA1MTAuOCA1My44IDUwNC40bDQxLjYtOS43em0tNTAtOTIuOWw3LjctMzIuOC00LTcuOGMtOC0xNS43LTE0LjMtMzIuNS0xOC42LTUwLjFMNy4zIDMxNi43QzEyIDMzNi4xIDE4LjkgMzU0LjcgMjcuNyAzNzJsLTUuNyAyNC4zIDIzLjQgNS41ek0zIDI5NS4xbDIzLjctMy43QzI0LjkgMjc5LjkgMjQgMjY4IDI0IDI1NnMuOS0yMy45IDIuNy0zNS40TDMgMjE2LjlDMSAyMjkuNyAwIDI0Mi43IDAgMjU2czEgMjYuMyAzIDM5LjF6bTI3LjYtOTQuMWM1LjctMjMuNCAxNC45LTQ1LjQgMjcuMS02NS40TDM3LjIgMTIzLjFjLTEzLjQgMjIuMS0yMy42IDQ2LjQtMjkuOSA3Mi4ybDIzLjMgNS43em0xOC45LTk2LjJsMTkuNCAxNC4yYzE0LTE5LjEgMzAuOS0zNiA1MC4xLTUwLjFMMTA0LjcgNDkuNUM4My42IDY1IDY1IDgzLjYgNDkuNSAxMDQuN3ptODYuMS00N2MyMC0xMi4yIDQyLTIxLjQgNjUuNC0yNy4xTDE5NS4yIDcuM2MtMjUuOCA2LjMtNTAuMSAxNi41LTcyLjIgMjkuOWwxMi41IDIwLjV6TTI1NiA0NjRjMTE0LjkgMCAyMDgtOTMuMSAyMDgtMjA4UzM3MC45IDQ4IDI1NiA0OCA0OCAxNDEuMSA0OCAyNTZjMCAzNi40IDkuNCA3MC43IDI1LjggMTAwLjUgMS42IDIuOSAyLjEgNi4yIDEuNCA5LjRsLTIxLjYgOTIuNSA5Mi41LTIxLjZjMy4yLS43IDYuNS0uMiA5LjQgMS40IDI5LjggMTYuNSA2NCAyNS44IDEwMC41IDI1Ljh6Il19LFQxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ4aW5nIixpY29uOlszODQsNTEyLFtdLCJmMTY4IiwiTTE2Mi43IDIxMGMtMS44IDMuMy0yNS4yIDQ0LjQtNzAuMSAxMjMuNS00LjkgOC4zLTEwLjggMTIuNS0xNy43IDEyLjVMOS44IDM0NmMtNy43IDAtMTIuMS03LjUtOC41LTE0LjRsNjktMTIxLjNjLjIgMCAuMi0uMSAwLS4zTDI2LjQgMTM0LjRjLTQuMy03LjggLjMtMTQuMSA4LjUtMTQuMWw2NS4xIDBjNy4zIDAgMTMuMyA0LjEgMTggMTIuMkwxNjIuNyAyMTB6TTM4Mi42IDQ2LjFsLTE0NCAyNTMgMCAuMyA5MS42IDE2Ni42YzMuOSA3LjEgLjIgMTQuMS04LjUgMTQuMWwtNjUuMiAwYy03LjYgMC0xMy42LTQtMTgtMTIuMkwxNDYuMSAyOTkuNGMzLjMtNS44IDUxLjUtOTAuOCAxNDQuOC0yNTUuMiA0LjYtOC4xIDEwLjQtMTIuMiAxNy41LTEyLjJsNjUuNyAwYzggMCAxMi4zIDYuNyA4LjUgMTQuMXoiXX0sazFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1qcyIsaWNvbjpbNDQ4LDUxMixbImpzLXNxdWFyZSJdLCJmM2I5IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0xODAuOSA0NDQuOWMtMzMuNyAwLTUzLjItMTcuNC02My4yLTM4LjVMMTUyIDM4NS43YzYuNiAxMS43IDEyLjYgMjEuNiAyNy4xIDIxLjYgMTMuOCAwIDIyLjYtNS40IDIyLjYtMjYuNWwwLTE0My4xIDQyLjEgMCAwIDE0My43YzAgNDMuNi0yNS42IDYzLjUtNjIuOSA2My41em04NS44LTQzTDMwMSAzODIuMWM5IDE0LjcgMjAuOCAyNS42IDQxLjUgMjUuNiAxNy40IDAgMjguNi04LjcgMjguNi0yMC44IDAtMTQuNC0xMS40LTE5LjUtMzAuNy0yOGwtMTAuNS00LjVjLTMwLjQtMTIuOS01MC41LTI5LjItNTAuNS02My41IDAtMzEuNiAyNC4xLTU1LjYgNjEuNi01NS42IDI2LjggMCA0NiA5LjMgNTkuOCAzMy43TDM2OCAyOTBjLTcuMi0xMi45LTE1LTE4LTI3LjEtMTgtMTIuMyAwLTIwLjEgNy44LTIwLjEgMTggMCAxMi42IDcuOCAxNy43IDI1LjkgMjUuNmwxMC41IDQuNWMzNS44IDE1LjMgNTUuOSAzMSA1NS45IDY2LjIgMCAzNy44LTI5LjggNTguNi02OS43IDU4LjYtMzkuMSAwLTY0LjQtMTguNi03Ni43LTQzeiJdfSxfMXQ9azFlLEwxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb250aWNvbnMiLGljb246WzQ0OCw1MTIsW10sImYyODAiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMTg3IDE3Mi45Yy0xOC40IDAtMTkgOS45LTE5IDI3LjRsMCAyMy4zYzAgMi40LTMuNSA0LjQtLjYgNC40bDY3LjQgMC0xMS4xIDM3LjMtNTUuNyAwIDAgMTEyLjljMCA1LjgtMiA2LjcgMy4yIDcuM2w0My41IDQuMSAwIDI1LjEtMTMwLjcgMCAwLTI1LjcgMjEuMy0yYzUuMi0uNiA2LjctMi4zIDYuNy03LjlsMC0xMTEuNGMwLTIuMy0yLjktMi4zLTUuOC0yLjNsLTIyLjIgMCAwLTM3LjQgMjggMCAwLTIxYzAtNDkuNiAyNi41LTcwIDc3LjMtNzAgMzQuMSAwIDY0LjcgOC4yIDY0LjcgNTIuOGwtNTAuNyA2LjFjLjMtMTguNy00LjQtMjMtMTYuMy0yM3ptNzQuMyAyNDEuOGwwLTI1LjEgMjAuNC0yLjZjNS4yLS42IDcuNi0xLjcgNy42LTcuM2wwLTEwNy45YzAtNC4xLTIuOS02LjctNi43LTcuOWwtMjQuMi02LjQgNi43LTI5LjUgODAuMiAwIDAgMTUxLjdjMCA1LjgtMi42IDYuNCAyLjkgNy4zbDE1LjcgMi42IDAgMjUuMS0xMDIuNiAwem04MC44LTI1NS41bDkgMzMuMi03LjMgNy4zLTMxLjItMTYuNi0zMS4yIDE2LjYtNy4zLTcuMyA5LTMzLjItMjEuOC0yNC4yIDMuNS05LjYgMjcuNyAwIDE1LjUtMjggOS4zIDAgMTUuNSAyOCAyNy43IDAgMy41IDkuNi0yMS45IDI0LjJ6Il19LCQxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1cHMiLGljb246WzM4NCw1MTIsW10sImY3ZTAiLCJNMTAzLjIgMzAzYy01LjIgMy42LTMyLjYgMTMuMS0zMi42LTE5bDAtMTA0LTMyLjcgMCAwIDEwMi42YzAgNzQuOSA4MC4yIDUxLjEgOTcuOSAzOWwwLTE0MS42LTMyLjYgMCAwIDEyM3pNNCA3NC44TDQgMjk1LjdjMCAxMDMuNyA3NC45IDEzNS4yIDE4Ny43IDE4NC4xIDExMi40LTQ4LjkgMTg3LjctODAuMiAxODcuNy0xODQuMWwwLTIyMC45QzI2My4xIDEzLjIgOTcuNiAyNS4yIDQgNzQuOHpNMzYyLjEgMjk1LjdjMCA4Ni42LTUzLjIgMTEzLjYtMTcwLjQgMTY1LjMtMTE3LjUtNTEuOC0xNzAuNS03OC43LTE3MC41LTE2NS4zbDAtMTI2LjRjMTAyLjMtOTMuOCAyMzEuNi0xMDAgMzQwLjktODkuOGwwIDIxNi4yek0xNTIuNSAxODguM2wwIDIxMi44IDMyLjcgMCAwLTY4LjdjMjQuNCA3LjMgNzEuNy0yLjYgNzEuNy03OC41IDAtOTcuNC04MC43LTgwLjktMTA0LjQtNjUuNnptMzIuNyAxMTcuM2wwLTEwMC4zYzguNC00LjIgMzguNC0xMi43IDM4LjQgNDkuMyAwIDY3LjktMzYuNCA1MS44LTM4LjQgNTF6bTc5LjEtODYuNGMuMSA0Ny4zIDUxLjYgNDIuNSA1Mi4yIDcwLjQgLjYgMjMuNS0zMC40IDIzLTUwLjggNC45bDAgMzAuMWMzNi4yIDIxLjUgODEuOSA4LjEgODMuMi0zMy41IDEuNy01MS41LTU0LjEtNDYuNi01My40LTczLjIgLjYtMjAuMyAzMC42LTIwLjUgNDguNS0yLjJsMC0yOC40Yy0yOC41LTIyLTc5LjktOS4yLTc5LjcgMzEuOXoiXX0sRDF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFtYXpvbi1wYXkiLGljb246WzY0MCw1MTIsW10sImY0MmMiLCJNMTQgMzI1LjNjMi4zLTQuMiA1LjItNC45IDkuNy0yLjUgMTAuNCA1LjYgMjAuNiAxMS40IDMxLjIgMTYuNyA0MC42IDIwLjIgODMuMyAzNS44IDEyNy40IDQ2LjMgMjAuOCA1IDQxLjkgOSA2My4yIDExLjggMzEuNSA0LjIgNjMuMiA2IDk1IDUuMiAxNy40LS40IDM0LjgtMS44IDUyLjEtMy44IDU2LjItNi42IDExMS4xLTIxIDE2My4zLTQyLjggMi45LTEuMiA1LjktMiA5LjEtMS4yIDYuNyAxLjggOSA5IDQuMSAxMy45LTMgMi43LTYuMiA1LjItOS42IDcuNC0zMC43IDIxLjEtNjQuMiAzNi40LTk5LjYgNDcuOS0yNC41IDcuOS00OS42IDEzLjgtNzUuMSAxNy42LTE3LjYgMi43LTM1LjQgNC4zLTUzLjIgNC44LS44IDAtMS43IC4yLTIuNSAuM2wtMjEuMSAwYy0uOC0uMS0xLjctLjItMi41LS4zLTMuNi0uMi03LjItLjMtMTAuNy0uNC0xNi45LS44LTMzLjctMi41LTUwLjQtNS4zLTI3LjQtNC41LTU0LjMtMTEuNS04MC40LTIwLjktNTMuNy0xOS40LTEwMy4xLTQ4LjktMTQ1LjYtODctMS44LTEuNi0zLTMuOC00LjQtNS43bDAtMnpNMTcyIDY1LjFsLTQuMyAuNmMtMTMuOCAxLjctMjYuOCA2LjktMzggMTUuMS0yLjQgMS43LTQuNiAzLjUtNy4xIDUuNC0uMi0uNC0uMy0uOS0uNC0xLjQtLjQtMi43LS44LTUuNS0xLjMtOC4yLS43LTQuNi0zLTYuNi03LjYtNi42bC0xMS41IDBjLTYuOSAwLTguMiAxLjMtOC4yIDguMmwwIDIwOS4zYzAgMSAwIDIgLjEgMyAuMiAzIDIgNC45IDQuOSA1IDcgLjEgMTQuMSAuMSAyMS4xIDAgMi45IDAgNC43LTIgNS01IC4xLTEgLjEtMiAuMS0zbDAtNzIuNGMxLjEgLjkgMS43IDEuNCAyLjIgMS45IDE3LjkgMTQuOSAzOC41IDE5LjggNjEgMTUuNCAyMC40LTQgMzQuNi0xNi41IDQzLjgtMzQuOSA3LTEzLjkgOS45LTI4LjcgMTAuMy00NC4xIC41LTE3LjEtMS4yLTMzLjktOC4xLTQ5LjgtOC41LTE5LjYtMjIuNi0zMi41LTQzLjktMzYuOS0zLjItLjctNi41LTEtOS44LTEuNS0yLjgtLjEtNS41LS4xLTguMy0uMXpNMTI0LjYgMTA3Yy0uMS0uNyAuMS0xLjMgLjQtMS45cy44LTEuMSAxLjMtMS40YzEzLjctOS41IDI4LjgtMTQuNSA0NS42LTEzLjIgMTQuOSAxLjEgMjcuMSA4LjQgMzMuNSAyNS45IDMuOSAxMC43IDQuOSAyMS44IDQuOSAzMyAwIDEwLjQtLjggMjAuNi00IDMwLjYtNi44IDIxLjMtMjIuNCAyOS40LTQyLjYgMjguNS0xNC0uNi0yNi4yLTYtMzcuNC0xMy45LS42LS4zLTEtLjgtMS4zLTEuNHMtLjQtMS4yLS40LTEuOWMuMS0xNC4xIDAtMjguMSAwLTQyLjJzLjEtMjggMC00Mi4xek0zMzAuMyA2NS4xYy0xIC4xLTIgLjMtMi45IC40LTkuNyAuNC0xOS40IDEuOC0yOC45IDQuMS02LjEgMS42LTEyIDMuOC0xNy45IDUuOC0zLjYgMS4yLTUuNCAzLjgtNS4zIDcuNyAuMSAzLjMtLjEgNi42IDAgOS45IC4xIDQuOCAyLjEgNi4xIDYuOCA0LjkgNy44LTIgMTUuNi00LjIgMjMuNS01LjcgMTIuMy0yLjMgMjQuNy0zLjMgMzcuMi0xLjQgNi41IDEgMTIuNiAyLjkgMTYuOCA4LjQgMy43IDQuOCA1LjEgMTAuNSA1LjMgMTYuNCAuMyA4LjMgLjIgMTYuNiAuMyAyNC45IDAgLjUtLjEgLjktLjIgMS40LS41LS4xLS45IDAtMS4zLS4xLTEwLjUtMi42LTIxLjItNC4yLTMyLTQuOS0xMS4zLS42LTIyLjUgLjEtMzMuMyAzLjktMTIuOSA0LjUtMjMuMyAxMi4zLTI5LjQgMjQuOS00LjcgOS44LTUuNCAyMC4yLTMuOSAzMC43IDIgMTQgOSAyNC44IDIxLjQgMzEuNyAxMS45IDYuNiAyNC44IDcuNCAzNy45IDUuNCAxNS4xLTIuMyAyOC41LTguNyA0MC4zLTE4LjQgLjUtLjQgMS0uOCAxLjYtMS4xIC42IDMuOCAxLjEgNy40IDEuOCAxMSAuNiAzLjEgMi41IDUuMSA1LjQgNS4yIDUuNCAuMSAxMC45IC4xIDE2LjMgMCAxLjMgMCAyLjUtLjUgMy40LTEuNHMxLjQtMi4xIDEuNS0zLjNjLjEtLjkgLjEtMS45IC4xLTIuOGwwLTEwNmMwLTQuMy0uMy04LjYtLjktMTIuOS0xLjktMTIuOS03LjQtMjMuNS0xOS0zMC40LTYuNy00LTE0LjEtNi0yMS44LTcuMS0zLjYtLjUtNy4yLS44LTEwLjgtMS4zLTMuOSAuMS03LjkgLjEtMTEuOSAuMXptMzUgMTI3LjdjMCAuNi0uMSAxLjItLjMgMS43cy0uNyAxLTEuMiAxLjNjLTExLjIgOC4xLTIzLjUgMTMuNS0zNy40IDE0LjktNS43IC42LTExLjQgLjQtMTYuOC0xLjgtMy0xLjEtNS42LTIuOS03LjgtNS4ycy0zLjctNS4xLTQuNi04LjFjLTItNi4zLTItMTMuMS0uMS0xOS40IDIuNS04LjMgOC40LTEzIDE2LjQtMTUuNiA4LTIuNCAxNi41LTMuMiAyNC44LTIuMiA4LjQgLjcgMTYuNiAyLjMgMjUgMy40IDEuNiAuMiAyLjEgMSAyLjEgMi42LS4xIDQuOCAwIDkuNSAwIDE0LjNzLS4yIDkuNC0uMSAxNC4xek02MjUuMiAzMjIuMmMtMS01LTQuOC02LjktOS4xLTguMy02LjgtMi4xLTEzLjktMy41LTIxLTMuOS0xMy4xLTEuMS0yNi4zLS41LTM5LjIgMS45LTE0LjMgMi43LTI3LjkgNy4zLTQwIDE1LjYtMS40IC45LTIuNyAyLjEtMy43IDMuNS0uNCAuNi0uNiAxLjMtLjcgMS45czAgMS40IC4yIDIuMWMuNCAxLjUgMi4xIDEuOSAzLjYgMS44IC43IDAgMS41IDAgMi4yLS4xIDcuOC0uOCAxNS41LTEuNyAyMy4zLTIuNSAxMS40LTEuMSAyMi45LTEuOCAzNC4zLS45IDQuOSAuNCA5LjcgMS4zIDE0LjQgMi43IDUuMSAxLjQgNy40IDUuMiA3LjYgMTAuNCAuNCA4LTEuNCAxNS43LTMuNSAyMy4zLTQuMSAxNS40LTEwIDMwLjMtMTUuOCA0NS4xLS40IDEtLjggMi0xIDMtLjUgMi45IDEuMiA0LjggNC4xIDQuMSAxLjgtLjQgMy40LTEuMyA0LjgtMi41IDQuNS00LjIgOC44LTguNyAxMi43LTEzLjQgMTIuOC0xNi40IDIwLjMtMzUuMyAyNC43LTU1LjYgLjgtMy42IDEuNC03LjMgMi4xLTEwLjlsMC0xNy4zek00OTMuMSAxOTljLTEyLjktMzUuNy0yNS44LTcxLjQtMzguNy0xMDcuMi0yLTUuNy00LjItMTEuMy02LjMtMTYuOS0xLjEtMi45LTMuMi00LjgtNi40LTQuOC03LjYtLjEtMTUuMi0uMi0yMi45LS4xLTIuNSAwLTMuNyAyLTMuMiA0LjUgLjUgMi4xIDEuMSA0LjEgMS45IDYuMSAxOS42IDQ4LjUgMzkuMyA5NyA1OS4xIDE0NS41IDEuNyA0LjEgMi4xIDcuNiAuMiAxMS44LTMuMyA3LjMtNS45IDE1LTkuMyAyMi4zLTMgNi41LTggMTEuNC0xNS4yIDEzLjMtNSAxLjMtMTAuMiAxLjctMTUuNCAxLjEtMi41LS4yLTUtLjgtNy41LTEtMy40LS4yLTUuMSAxLjMtNS4yIDQuOC0uMSAzLjMtLjEgNi42IDAgOS45IC4xIDUuNSAyIDggNy40IDguOSA1LjYgMS4xIDExLjIgMS44IDE2LjkgMiAxNy4xIC40IDMwLjctNi41IDM5LjUtMjEuNCAzLjUtNS45IDYuNi0xMiA5LjItMTguNCAyMy43LTU5LjggNDcuMi0xMTkuNyA3MC42LTE3OS42IC43LTEuOCAxLjMtMy42IDEuNi01LjUgLjQtMi44LS45LTQuNC0zLjctNC40LTYuNi0uMS0xMy4zIDAtMTkuOSAwLTEuNy0uMS0zLjQgLjMtNC43IDEuM3MtMi40IDIuMy0zIDMuOWMtLjUgMS40LTEuMSAyLjctMS42IDQuMWwtMzQuOCAxMDBjLTIuNSA3LjItNS4xIDE0LjUtNy43IDIyLjItLjQtMS4xLS42LTEuNy0uOS0yLjR6Il19LEExdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYW5kb3JhIixpY29uOlszODQsNTEyLFtdLCJlN2RhIiwiTTIwMS4zIDMyTDAgMzIgMCA0ODAgMTIwLjIgNDgwYzExLjIgMCAyMC4zLTkuMSAyMC4zLTIwLjNsMC04Ni4xIDMwLjEgMGMxNDcuMSAwIDIwNy4zLTgyLjkgMjA3LjMtMTc5LjkgMC0xMTkuNy05MC45LTE2MS44LTE3Ni41LTE2MS44eiJdfSxFMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3BlbmlkIixpY29uOls0NDgsNTEyLFtdLCJmMTliIiwiTTI3MS41IDQzMmwtNjggMzJDODguNSA0NTMuNyAwIDM5Mi41IDAgMzE4LjIgMCAyNDYuNyA4Mi41IDE4Ny4yIDE5MS43IDE3My45bDAgNDNjLTcxLjUgMTIuNS0xMjQgNTMtMTI0IDEwMS4zIDAgNTEgNTguNSA5My4zIDEzNS43IDEwM2wwLTM0MCA2OC0zMy4yIDAgMzg0IC4xIDB6TTQ0OCAyOTFsLTEzMS4zLTI4LjUgMzYuOC0yMC43Yy0xOS41LTExLjUtNDMuNS0yMC03MC0yNC44bDAtNDNjNDYuMiA1LjUgODcuNyAxOS41IDEyMC4zIDM5LjNsMzUtMTkuOCA5LjIgOTcuNXoiXX0sSTF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZzY28iLGljb246WzUxMiw1MTIsW10sImU3ZGQiLCJNMzU3LjYgMjU2YzAtMjcuMS0xMC42LTUyLjUtMjkuNy03MS43cy00NC42LTI5LjctNzEuNy0yOS43bC0uMSAwYy0yNy4xIDAtNTIuNiAxMC42LTcxLjcgMjkuN3MtMjkuNyA0NC42LTI5LjcgNzEuN2MwIDI3LjEgMTAuNiA1Mi41IDI5LjcgNzEuNyAxOS4yIDE5LjIgNDQuNiAyOS43IDcxLjcgMjkuN2wuMSAwYzI3LjEgMCA1Mi42LTEwLjYgNzEuNy0yOS43IDE5LjItMTkuMiAyOS43LTQ0LjYgMjkuNy03MS43ek0xNzYuMyA0ODIuMWMyMyA4LjEgNDcgMTIuNiA3MS42IDEzLjRsMC01OS4xYy0xNy4xLS43LTMzLjUtMy44LTQ5LTguOWwtMjIuNiA1NC42em0xMzctNTQuNmMtMTUuNSA1LjEtMzIgOC4yLTQ5IDguOWwwIDU5LjFjMjQuNi0uOCA0OC42LTUuMyA3MS42LTEzLjRsLTIyLjYtNTQuNnpNOTIuNSA0MzEuMmMyMC4yIDE4LjkgNDMuMyAzNCA2OC43IDQ1bDIyLjUtNTQuNWMtMTguMy03LjktMzUuMS0xOC44LTQ5LjgtMzEuOUw5Mi41IDQzMS4yem0yODUuOS00MS40Yy0xNC42IDEzLjItMzEuNCAyNC00OS44IDMxLjlsMjIuNSA1NC41YzI1LjQtMTEgNDguNC0yNi4xIDY4LjctNDVsLTQxLjQtNDEuNHpNMTQ1LjQgMzc4LjJjMTMuNiAxMi4xIDI5IDIxLjkgNDUuOCAyOSAxOCA3LjYgMzcuMSAxMiA1Ni43IDEyLjlsMC00Ni44Yy0yNi40LTEuOC01MC4zLTEyLjMtNjkuMS0yOC42bC0zMy40IDMzLjR6bTE4OC0zMy40Yy0xOC44IDE2LjMtNDIuNyAyNi44LTY5LjEgMjguNmwwIDQ2LjhjMTkuNi0uOSAzOC43LTUuMyA1Ni43LTEyLjkgMTYuOC03LjEgMzIuMi0xNi45IDQ1LjgtMjlsLTMzLjQtMzMuNHpNMzguNSAzNTYuNmMxMC43IDIzLjIgMjUgNDQuMyA0Mi41IDYzLjFsNDEuMy00MS4zYy0xMi40LTEzLjQtMjIuOS0yOC42LTMwLjktNDUuMkwzOC41IDM1Ni42em0zODIuNC0yMy41Yy04IDE2LjYtMTguNSAzMS45LTMwLjkgNDUuMmw0MS4zIDQxLjNjMTcuNS0xOC43IDMxLjgtMzkuOSA0Mi41LTYzLjFsLTUyLjktMjMuNXptLTMzMS02OWMxLjEgMTguOCA1LjQgMzcuMiAxMi44IDU0LjUgNy41IDE3LjggMTggMzQgMzEuMiA0OC4ybDMzLjUtMzMuNWMtMTYuNC0xOC44LTI2LjktNDIuOC0yOC43LTY5LjJsLTQ4LjggMHptMjgzLjcgMGMtMS44IDI2LjQtMTIuMyA1MC40LTI4LjcgNjkuMmwzMy41IDMzLjVjMTMuMS0xNC4yIDIzLjYtMzAuNCAzMS4yLTQ4LjIgNy4zLTE3LjQgMTEuNi0zNS43IDEyLjctNTQuNWwtNDguNyAwem0tMzU3LjEgMGMuOSAyNi43IDYuMSA1Mi43IDE1LjYgNzcuNUw4NSAzMTguMmMtNi40LTE3LTEwLjMtMzUuMS0xMS4zLTU0bC01Ny4xIDB6bTQyMi4xIDBjLTEgMTguOS01IDM3LjEtMTEuMyA1NGw1Mi44IDIzLjVjOS41LTI0LjggMTQuNy01MC44IDE1LjYtNzcuNWwtNTcuMSAwek0zMi4xIDE3MC40Yy05LjUgMjQuOC0xNC43IDUwLjgtMTUuNiA3Ny41bDU3LjEgMGMxLTE4LjkgNS0zNy4xIDExLjMtNTRMMzIuMSAxNzAuNHptMTAxLjctMjUuMmMtMTMuMSAxNC4yLTIzLjYgMzAuNC0zMS4yIDQ4LjItNy4zIDE3LjQtMTEuNiAzNS43LTEyLjggNTQuNWw0OC44IDBjMS44LTI2LjQgMTIuMy01MC40IDI4LjctNjkuMmwtMzMuNS0zMy41em0yMTEuMSAzMy41YzE2LjQgMTguOCAyNi45IDQyLjggMjguNyA2OS4ybDQ4LjcgMGMtMS4xLTE4LjgtNS40LTM3LjItMTIuNy01NC41LTcuNS0xNy44LTE4LTM0LTMxLjItNDguMmwtMzMuNSAzMy41em04Mi40IDE1LjJjNi40IDE3IDEwLjMgMzUuMSAxMS4zIDU0bDU3LjEgMGMtLjktMjYuNy02LjEtNTIuNy0xNS42LTc3LjVsLTUyLjggMjMuNXpNODEgOTIuM0M2My40IDExMSA0OS4yIDEzMi4yIDM4LjUgMTU1LjRsNTIuOSAyMy41YzgtMTYuNiAxOC41LTMxLjkgMzAuOS00NS4yTDgxIDkyLjN6bTMwOSA0MS4zYzEyLjQgMTMuNCAyMi45IDI4LjYgMzAuOSA0NS4ybDUyLjktMjMuNWMtMTAuNy0yMy4yLTI1LTQ0LjMtNDIuNS02My4xTDM5MCAxMzMuN3pNMjQ4IDkxLjhjLTE5LjYgLjktMzguNyA1LjMtNTYuNyAxMi45LTE2LjggNy4xLTMyLjIgMTYuOS00NS44IDI5bDMzLjQgMzMuNGMxOC44LTE2LjMgNDIuNy0yNi44IDY5LjEtMjguNmwwLTQ2Ljd6bTE2LjMgNDYuN2MyNi40IDEuOCA1MC4zIDEyLjMgNjkuMSAyOC42bDMzLjQtMzMuNGMtMTMuNi0xMi4xLTI5LTIxLjktNDUuOC0yOS0xOC03LjYtMzcuMS0xMi01Ni43LTEyLjlsMCA0Ni43ek0xNjEuMiAzNS44Yy0yNS40IDExLTQ4LjQgMjYuMS02OC43IDQ1bDQxLjQgNDEuNGMxNC43LTEzLjIgMzEuNC0yNCA0OS44LTMxLjlMMTYxLjIgMzUuOHpNMzI4LjYgOTAuM2MxOC4zIDcuOSAzNS4xIDE4LjggNDkuOCAzMS45bDQxLjQtNDEuNGMtMjAuMi0xOC45LTQzLjMtMzQtNjguNy00NUwzMjguNiA5MC4zek0yNDggMTYuNGMtMjQuNiAuOC00OC42IDUuMy03MS42IDEzLjRsMjIuNiA1NC42YzE1LjUtNS4xIDMyLTguMiA0OS04LjlsMC01OS4xem0xNi4zIDU5LjFjMTcuMSAuNyAzMy41IDMuOCA0OSA4LjlsMjIuNi01NC42Yy0yMy04LjEtNDctMTIuNi03MS42LTEzLjRsMCA1OS4xek01MTIuMiAyNjQuMmwtLjIgMEM1MDcuOCAzOTkgMzk5LjIgNTA3LjcgMjY0LjMgNTExLjlsMCAuMS0xNi4zIDAgMC0uMUMxMTMuMSA1MDcuNyA0LjUgMzk5IC4yIDI2NC4xbC0uMiAwIDAtMTYuMyAuMiAwQzQuNSAxMTMgMTEzLjEgNC4zIDI0OCAuMWwwLS4xIDE2LjMgMCAwIC4xQzM5OS4yIDQuMyA1MDcuOCAxMTMgNTEyIDI0Ny45bC4yIDAgMCAxNi4zeiJdfSxQMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2xvYmFsZWFrcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg1ZCIsIk00MTEuMiAzMi4yYzIwLjIgMCAzNi44IDE2LjYgMzYuOCAzNi45bDAgMzczLjhjMCAyMC4yLTE2LjYgMzYuOS0zNi44IDM2LjlsLTk0LjQgMCAyOC03OS40YzMuMS04LjgtMS42LTE4LjctMTAuNC0yMS44LTEuNi0uNS0yLjYtMS00LjItMXMtMy42IDAtNS4yIC41Yy01LjIgMS05LjkgNS4yLTExLjkgMTAuOWwtNi4yIDE2LjYgMC02Ny41YzAtMTAuOS03LjgtMTkuNy0xOC4yLTIxLjhsLTcuMiAwYy0uNSAwLTEgMC0xLjYgLjUtLjUgMC0xIC41LTEuNiAuNS0yLjYgMS01LjIgMi42LTcuMiA0LjFsMC00LjFjMC01LjctMi42LTEwLjQtNS43LTE0bC0xLTFjLTEtMS0yLjYtMi4xLTQuMi0yLjZsMC0yNi41YzAtNS4yLTQuMS05LjMtOS4zLTkuM2wtMzkuOSAwYy02LjcgMC0xMS40LTcuMy04LjMtMTMuNUwyODMuMSA4NC4xYzE0LjUtMzEuMSA0NS42LTUxLjQgODAuNC01MS45bDQ3LjcgMHptLTE2NiAwYzE3LjYgMCAzMC4xIDE2LjEgMjggMzIuMi0yLjYgMy42LTQuNyA3LjgtNi4yIDEwLjlMMTg2LjYgMjQxLjVjLTguOCAxOC43IDQuMiA0MCAyNC40IDQwbDMwLjYgMCAwIDE2LjFjLTcuOCAzLjEtMTMgMTAuOS0xMyAxOS43bDAgMy42Yy0zLjYtMy42LTguOC01LjctMTQuNS01LjctMTEuOSAwLTIxLjggOS45LTIxLjggMjEuOGwwIDE5LjItMy4xIDBjLTkuMyAwLTE3LjEgNy44LTE3LjEgMTcuMWwwIDEwNS45LTk1LjQgMGMtNDIgMC03Mi42LTQwLjUtNjEuMi04MS41IDEtMy4xIDQuMi01LjIgNy4zLTQuN2wyMS4yIDBjMjQuNCAwIDQ0LjYtMjAuMiA0NC42LTQ1LjJsMC00LjJjMC0yNC45LTE5LjctNDUuMi00NC42LTQ1LjItLjUgMC0xLS41LTEtMWw4LjgtMzIuN2MyLjEtNi4yLTIuNi0xMS45LTguOC0xMS45bC0zMy4yIDBjLTYuNyAwLTExLjQtNy4zLTguMy0xMy41TDc2LjcgODQuN2MxNi4xLTMyLjIgNDguMi01Mi40IDg0LTUyLjRsODQuNSAwek0xMzMuNyAxNDQuNGMtMTAuNCAwLTE4LjcgOC4zLTE4LjcgMTguNyAwIDkuOSA4LjMgMTguNyAxOC43IDE4LjcgMTAuNCAwIDE4LjctOC4zIDE4LjctMTguN3MtOC4zLTE4LjctMTguNy0xOC43em0yMDIuOCAwYTE4LjYgMTguNiAwIDEgMCAtLjIgMzcuMiAxOC42IDE4LjYgMCAxIDAgLjItMzcuMnoiXX0sTjF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZlbm1vIixpY29uOls2NDAsNTEyLFtdLCJlODVhIiwiTTY3LjggMjAyLjdjMi40IDUgMy45IDExIDMuOSAxOS44IDAgMTYuMi0xMS41IDM5LjgtMjAuNyA1NC45bC05LjktNzkuNy00MSAzLjkgMTguOCAxMTIgNDYuOSAwYzIwLjUtMjYuOSA0NS44LTY1LjMgNDUuOC05NC44IDAtOS4zLTEuOS0xNi42LTYuMy0yMy43bC0zNy40IDcuNXptMTEzLTcuMWMtNDIuOCAwLTYzLjUgMzctNjMuNSA3MS45IDAgMjYuOSAxMi44IDQ4LjUgNDguNCA0OC41IDE0IDAgMjguNS0zIDM3LjgtNy41bDUtMzMuNmMtMTMuMiA2LjctMjMuMyA5LjMtMzMuOSA5LjMtOS43IDAtMTcuMS01LjItMTcuMS0xOC4zIDIyLS4yIDYwLTkuMyA2MC0zOC44IDAtMTguMy0xMy4yLTMxLjUtMzYuNy0zMS41bDAgMHptLTIyLjUgNDguOWMxLjEtMTIuOSAxMS0yMiAxOC42LTIyIDQuMyAwIDggMi42IDggNy43IDAgMTAuOC0xOSAxNC4yLTI2LjYgMTQuMmwwIDB6bTE1MC4yLTQ4LjljLTE1LjMgMC0yNi4xIDUuOC0zNC4zIDExLjJsLS40LTkuMy0zNC44IDAtMTguNCAxMTYuMSA0MC4yIDAgMTIuNy04MS40YzMuNS0xLjcgOC42LTQuMSAxMy44LTQuMSAzLjkgMCA3LjEgMS4zIDcuMSA2LjUgMCAyLjItLjcgNi0uOSA4bC0xMS4yIDcxLjEgNDAgMCAxMi4zLTc3LjVjLjctNC4xIDEuMy0xMC4zIDEuMy0xNC42IDAtMTUuNS03LjEtMjUuOS0yNy40LTI1Ljl6bTE4My4yIDBjLTE0LjkgMC0yNS43IDQuNS0zNy4yIDEyLjctNC4xLTcuMy0xMi4zLTEyLjctMjQuOC0xMi43LTE0LjUgMC0yNS4zIDUuOC0zMy4zIDExLjZsLTEuMS05LjctMzQuNCAwLTE4LjQgMTE2LjEgNDAuMiAwIDEyLjgtODEuNGMzLjUtMS43IDguNi00LjEgMTMuOC00LjEgMy45IDAgNy4xIDEuMyA3LjEgNy4xIDAgMS41LS40IDMuOS0uNiA1LjhsLTExLjQgNzIuNiA0MCAwIDEyLjctODEuNGMzLjctMS45IDguNi00LjEgMTMuNi00LjEgMy45IDAgNy4xIDEuMyA3LjEgNy4xIDAgMS41LS40IDMuOS0uNyA1LjhsLTExLjQgNzIuNiA0MCAwIDEyLjMtNzcuNWMuNy00LjEgMS4zLTEwLjMgMS4zLTE0LjYgMC0xNS41LTcuMS0yNS45LTI3LjctMjUuOWwwIDB6bTEwMi4yIDBjLTQ0LjcgMC02NC4yIDM0LjMtNjQuMiA3MC45IDAgMjcuOCAxMS4yIDUwIDQ1LjEgNTAgNDUuOCAwIDY1LTM3LjUgNjUtNzMuNyAwLTI3LjQtMTIuMy00Ny4yLTQ2LTQ3LjJ6bS0xMy40IDkwYy03LjEgMC0xMC4xLTYuNy0xMC4xLTE3LjUgMC0xNC4yIDMuMi00MiAxOS00MiA3LjEgMCA5LjUgNi41IDkuNSAxNS45IDAgMTQuMi0zLjUgNDMuNS0xOC40IDQzLjV6Il19LEYxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1YnVudHUiLGljb246WzU3Niw1MTIsW10sImY3ZGYiLCJNNDY5LjIgNzVjMC0yMC4xLTgtMzkuMy0yMi4yLTUzLjVzLTMzLjQtMjIuMi01My41LTIyLjItMzkuMyA4LTUzLjUgMjIuMi0yMi4yIDMzLjQtMjIuMiA1My41YzAgMjAuMSA4IDM5LjMgMjIuMSA1My41czMzLjQgMjIuMSA1My41IDIyLjEgMzkuMy04IDUzLjUtMjIuMSAyMi4xLTMzLjQgMjIuMS01My41bC4xIDB6bS0zMTUgMTY1LjdhNzUuNiA3NS42IDAgMSAwIC0xNTEuMiAwIDc1LjYgNzUuNiAwIDEgMCAxNTEuMiAwek01NyAzNDZjMTguNiA0Ni45IDUxIDg3IDkzIDExNS4xczkxLjUgNDIuNiAxNDIgNDEuN2MtMTQuNy0xOC42LTIyLjktNDEuNS0yMy4yLTY1LjItNi44LS45LTEzLjMtMi4xLTE5LjUtMy40LTI2LjgtNS43LTUxLjktMTcuMy03My42LTM0cy0zOS4zLTM4LjEtNTEuNy02Mi41Yy0yMC45IDkuOS00NC41IDEyLjgtNjcuMSA4LjJsLjEgLjF6bTM5NS4xIDg5LjhhNzUuNiA3NS42IDAgMSAwIC0xNTEuMiAwIDc1LjYgNzUuNiAwIDEgMCAxNTEuMiAwek00NDQgMzUxLjZjMTguNSAxNC44IDMxLjYgMzUuMiAzNy4yIDU4LjIgMzMuMy00MS4zIDUyLjYtOTIuMiA1NC44LTE0NS4ycy0xMi41LTEwNS40LTQyLjItMTQ5LjRjLTguNiAyMS41LTI0IDM5LjYtNDMuOCA1MS42IDE1LjQgMjguNiAyMi45IDYwLjggMjEuOSA5My4ycy0xMC43IDY0LTI4IDkxLjZsLjEgMHpNMTAxLjEgMTM1LjRjMTIuNCAyLjcgMjQuMyA3LjUgMzUuMSAxNC4zIDE2LjYtMjQuMiAzOC45LTQ0LjEgNjQuOC01OFMyNTUuOCA3MC40IDI4NS4yIDcwYy4yLTUuOSAuOS0xMS45IDItMTcuNyAzLjYtMTYuNyAxMS4xLTMyLjMgMjEuOC00NS41LTQ3LjctMy44LTk1LjQgNi0xMzcuNiAyOC41Uzk0LjMgOTEuNyA3MC44IDEzMy40YzIuNy0uMiA1LjMtLjMgOC0uMyA3LjUgMCAxNSAuOCAyMi40IDIuM2wtLjEgMHoiXX0sTzF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpYWNvaW4iLGljb246WzM4NCw1MTIsW10sImYyMzciLCJNMzg0IDMybC02NCAwLTgwLjcgMTkyLTk0LjUgMC04MC44LTE5Mi02NCAwIDQ4IDExMi00OCAwIDAgNDggNjguNSAwIDEzLjggMzItODIuMyAwIDAgNDggMTAyLjggMCA4OS4yIDIwOCA4OS4yLTIwOCAxMDIuOCAwIDAtNDgtODIuMyAwIDEzLjgtMzIgNjguNSAwIDAtNDgtNDggMCA0OC0xMTJ6TTE5MiAzMzZsLTI3LTY0IDU0IDAtMjcgNjR6Il19LFIxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ6aGlodSIsaWNvbjpbNjQwLDUxMixbXSwiZjYzZiIsIk0xNzAuNSAxNDguMWwwIDIxNy41IDIzLjQgMCA3LjcgMjYuNCA0Mi0yNi40IDQ5LjUgMCAwLTIxNy41LTEyMi43IDB6bTk3LjggMTkzLjlsLTI3LjkgMC0yNy45IDE3LjUtNS4xLTE3LjUtMTEuOSAwIDAtMTcwLjMgNzIuOCAwIDAgMTcwLjN6TTE0OS44IDI0Ny43bC01Mi4zIDBjMS43LTI3LjEgMi4yLTUxLjYgMi4yLTczLjVsNTEuMiAwczItMjIuNi04LjYtMjIuM2wtODguNSAwYzMuNS0xMy4xIDcuOS0yNi43IDEzLjEtNDAuNyAwIDAtMjQuMSAwLTMyLjMgMjEuNi0zLjQgOC45LTEzLjIgNDMuMS0zMC43IDc4LjEgNS45LS42IDI1LjQtMS4yIDM2LjgtMjIuMiAyLjEtNS45IDIuNS02LjcgNS4xLTE0LjVsMjguOSAwYzAgMTAuNS0xLjIgNjYuOS0xLjcgNzMuNGwtNTIuMyAwYy0xMS43IDAtMTUuNiAyMy42LTE1LjYgMjMuNmw2NS42IDBjLTQuNCA0OS45LTI4IDkxLjktNzAuOCAxMjUuMSAyMC41IDUuOSA0MC45LS45IDUxLTkuOSAwIDAgMjMtMjAuOSAzNS42LTY5LjNsNTQgNjQuOXM3LjktMjYuOS0xLjItNDBjLTcuNi04LjktMjguMS0zMy4xLTM2LjgtNDEuOEw4Ny45IDMxMmM0LjQtMTQgNy0yNy42IDcuOS00MC43bDYxLjYgMHMtLjEtMjMuNi03LjYtMjMuNmwwIDB6bTQxMi0xLjZjMjAuOC0yNS42IDQ1LTU4LjYgNDUtNTguNnMtMTguNi0xNC44LTI3LjQtNC4xYy02IDguMi0zNi44IDQ4LjItMzYuOCA0OC4ybDE5LjIgMTQuNHpNNDExLjggMTg3Yy05LTguMi0yNS45IDIuMS0yNS45IDIuMXMzOS41IDU1IDQxLjEgNTcuNGwxOS41LTEzLjdzLTI1LjctMzcuNi0zNC43LTQ1LjlsMCAwIDAgMHpNNjQwIDI1OC40Yy0xOS44IDAtMTMwLjkgLjktMTMxLjEgLjlsMC0xMDFjNC44IDAgMTIuNC0uNCAyMi44LTEuMiA0MC45LTIuNCA3MC4xLTQgODcuOC00LjggMCAwIDEyLjItMjcuMi0uNi0zMy40LTMuMS0xLjItMjMuMiA0LjYtMjMuMiA0LjZzLTE2NS4yIDE2LjUtMjMyLjQgMThjMS42IDguOCA3LjYgMTcuMSAxNS44IDE5LjYgMTMuMyAzLjUgMjIuNyAxLjcgNDkuMiAuOSAyNC44LTEuNiA0My43LTIuNCA1Ni41LTIuNGwwIDk5LjgtMTMzLjUgMHMyLjggMjIuMyAyNS41IDIyLjlsMTA3LjkgMCAwIDcwLjljMCAxNC0xMS4yIDIyLTI0LjUgMjEuMS0xNC4xIC4xLTI2LjEtMS4xLTQxLjctMS44IDIgNCA2LjMgMTQuNCAxOS4zIDIxLjggOS45IDQuOCAxNi4yIDYuNiAyNiA2LjYgMjkuNiAwIDQ1LjctMTcuMyA0NC45LTQ1LjNsMC03My4zIDEyMi40IDBjOS43IDAgOC43LTIzLjggOC43LTIzLjhsMCAweiJdfSxCMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFuZGV4IixpY29uOlsyNTYsNTEyLFtdLCJmNDEzIiwiTTE1My4xIDMxNS44TDY1LjcgNTEyIDIgNTEyIDk4IDMwMi4yQzUyLjkgMjc5LjMgMjIuOCAyMzcuOCAyMi44IDE2MS4xIDIyLjcgNTMuNyA5MC44IDAgMTcxLjcgMGw4Mi4zIDAgMCA1MTItNTUuMSAwIDAtMTk2LjItNDUuOCAwek0xOTguOSA0Ni41bC0yOS40IDBjLTQ0LjQgMC04Ny40IDI5LjQtODcuNCAxMTQuNiAwIDgyLjMgMzkuNCAxMDguOCA4Ny40IDEwOC44bDI5LjQgMCAwLTIyMy40eiJdfSxIMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGl4aXYiLGljb246WzQ0OCw1MTIsW10sImU2NDAiLCJNOTYgMzJDNDMgMzIgMCA3NSAwIDEyOEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0yNTZjMC01My00My05Ni05Ni05Nkw5NiAzMnptNzcuNyAyMTcuM2E2MC4xIDYwLjEgMCAxIDAgMTIwLjMgMCA2MC4xIDYwLjEgMCAxIDAgLTEyMC4zIDB6TTExOS4xIDM4Ny44Yy0uMy0uOC0uNS0xLjctLjUtMi42bDAtMjQ0LjNjMC0xLjggLjctMy42IDItNC45czMtMiA0LjktMmwxNi45IDBjMS4yIDAgMi4zIC4zIDMuMyAuOHMxLjkgMS4zIDIuNSAyLjNsMTQgMjEuOGMxOS43LTE1LjYgNDQuNS0yNSA3MS42LTI1IDYzLjYgMCAxMTUuMiA1MS42IDExNS4yIDExNS4yUzI5Ny41IDM2NC41IDIzMy44IDM2NC41Yy0yMiAwLTQyLjYtNi4yLTYwLjEtMTYuOWwwIDM3LjZjMCAuOS0uMiAxLjgtLjUgMi42cy0uOSAxLjYtMS41IDIuMi0xLjQgMS4xLTIuMiAxLjUtMS43IC41LTIuNiAuNWwtNDEuMyAwYy0uOSAwLTEuOC0uMi0yLjYtLjVzLTEuNi0uOS0yLjItMS41LTEuMS0xLjQtMS41LTIuMnoiXX0scTF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5haSIsaWNvbjpbNTEyLDUxMixbXSwiZTdjZiIsIk0xOTYuNCAxODUuOGwwLTQ4LjZjMC00LjEgMS41LTcuMiA1LjEtOS4ybDk3LjgtNTYuM2MxMy4zLTcuNyAyOS4yLTExLjMgNDUuNi0xMS4zIDYxLjQgMCAxMDAuNCA0Ny42IDEwMC40IDk4LjMgMCAzLjYgMCA3LjctLjUgMTEuOEwzNDMuMyAxMTEuMWMtNi4xLTMuNi0xMi4zLTMuNi0xOC40IDBMMTk2LjQgMTg1Ljh6TTQyNC43IDM3NS4ybDAtMTE2LjJjMC03LjItMy4xLTEyLjMtOS4yLTE1LjlMMjg3IDE2OC40IDMyOSAxNDQuM2MzLjYtMiA2LjctMiAxMC4yIDBMNDM3IDIwMC43YzI4LjIgMTYuNCA0Ny4xIDUxLjIgNDcuMSA4NSAwIDM4LjktMjMgNzQuOC01OS40IDg5LjZsMCAwek0xNjYuMiAyNzIuOGwtNDItMjQuNmMtMy42LTItNS4xLTUuMS01LjEtOS4ybDAtMTEyLjZjMC01NC44IDQyLTk2LjMgOTguOC05Ni4zIDIxLjUgMCA0MS41IDcuMiA1OC40IDIwTDE3NS40IDEwOC41Yy02LjEgMy42LTkuMiA4LjctOS4yIDE1LjlsMCAxNDguNSAwIDB6bTkwLjQgNTIuMmwtNjAuMi0zMy44IDAtNzEuNyA2MC4yLTMzLjggNjAuMiAzMy44IDAgNzEuNy02MC4yIDMzLjh6bTM4LjcgMTU1LjdjLTIxLjUgMC00MS41LTcuMi01OC40LTIwbDEwMC45LTU4LjRjNi4xLTMuNiA5LjItOC43IDkuMi0xNS45bDAtMTQ4LjUgNDIuNSAyNC42YzMuNiAyIDUuMSA1LjEgNS4xIDkuMmwwIDExMi42YzAgNTQuOC00Mi41IDk2LjMtOTkuMyA5Ni4zbDAgMHpNMTczLjggMzY2LjVMNzYuMSAzMTAuMmMtMjguMi0xNi40LTQ3LjEtNTEuMi00Ny4xLTg1IDAtMzkuNCAyMy42LTc0LjggNTkuOS04OS42bDAgMTE2LjdjMCA3LjIgMy4xIDEyLjMgOS4yIDE1LjlsMTI4IDc0LjItNDIgMjQuMWMtMy42IDItNi43IDItMTAuMiAwem0tNS42IDg0Yy01Ny45IDAtMTAwLjQtNDMuNS0xMDAuNC05Ny4zIDAtNC4xIC41LTguMiAxLTEyLjNsMTAwLjkgNTguNGM2LjEgMy42IDEyLjMgMy42IDE4LjQgMGwxMjguNS03NC4yIDAgNDguNmMwIDQuMS0xLjUgNy4yLTUuMSA5LjJsLTk3LjggNTYuM2MtMTMuMyA3LjctMjkuMiAxMS4zLTQ1LjYgMTEuM2wwIDB6bTEyNyA2MC45YzYyIDAgMTEzLjctNDQgMTI1LjQtMTAyLjQgNTcuMy0xNC45IDk0LjItNjguNiA5NC4yLTEyMy40IDAtMzUuOC0xNS40LTcwLjctNDMtOTUuNyAyLjYtMTAuOCA0LjEtMjEuNSA0LjEtMzIuMyAwLTczLjItNTkuNC0xMjgtMTI4LTEyOC0xMy44IDAtMjcuMSAyLTQwLjQgNi43LTIzLTIyLjUtNTQuOC0zNi45LTg5LjYtMzYuOS02MiAwLTExMy43IDQ0LTEyNS40IDEwMi40LTU3LjMgMTQuOC05NC4yIDY4LjYtOTQuMiAxMjMuNCAwIDM1LjggMTUuNCA3MC43IDQzIDk1LjctMi42IDEwLjgtNC4xIDIxLjUtNC4xIDMyLjMgMCA3My4yIDU5LjQgMTI4IDEyOCAxMjggMTMuOCAwIDI3LjEtMiA0MC40LTYuNyAyMyAyMi41IDU0LjggMzYuOSA4OS42IDM2Ljl6Il19LGoxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaXRoIixpY29uOls0NDgsNTEyLFtdLCJmNTEyIiwiTTAgMzJsNjkuNyAxMTguOC01OC45LTExLjUgNjkuOCA5MWMtMyAxNy0zIDM0LjQgMCA1MS40bC02OS44IDkxIDU4LjktMTEuNS02OS43IDExOC44IDExOC44LTY5LjctMTEuNSA1OC45IDkxLTY5LjhjMTcgMyAzNC41IDMgNTEuNSAwbDkxIDY5LjgtMTEuNS01OC45IDExOC43IDY5LjctNjkuNy0xMTguOCA1OC45IDExLjUtNjkuOC05MWMzLTE3IDMtMzQuNCAwLTUxLjRsNjkuOC05MS01OC45IDExLjUgNjkuNy0xMTguOC0xMTguNyA2OS43IDExLjUtNTguOS05MS4xIDY5LjljLTguNS0xLjUtMTcuMS0yLjMtMjUuNy0yLjNzLTE3LjIgLjgtMjUuNyAyLjNMMTA3LjIgNDIuOCAxMTguOCAxMDEuNyAwIDMyek0yMjQgMzgwLjJhMTI0LjIgMTI0LjIgMCAxIDEgMC0yNDguNCAxMjQuMiAxMjQuMiAwIDEgMSAwIDI0OC40em0wLTIxMS44YTg3LjYgODcuNiAwIDEgMCAwIDE3NS4xIDg3LjYgODcuNiAwIDEgMCAwLTE3NS4xeiJdfSxWMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToianVsaWEiLGljb246WzY0MCw1MTIsW10sImU4NTIiLCJNMTI0IDQwNi41YzAgMTYuMS0xLjggMjkuMS01LjQgMzlzLTguOCAxNy42LTE1LjUgMjMuMS0xNC43IDkuMS0yNC4xIDExLTE5LjggMi44LTMxLjIgMi44Yy0xNS41IDAtMjcuMy0yLjQtMzUuNS03LjNTMCA0NjQuNSAwIDQ1Ny43YzAtNS42IDIuMy0xMC40IDYuOS0xNC4zczEwLjgtNS44IDE4LjUtNS44YzUuOCAwIDEwLjQgMS42IDEzLjkgNC43czYuMyA2LjIgOC42IDkuM2MyLjYgMy40IDQuOCA1LjYgNi41IDYuOHMzLjQgMS43IDQuOCAxLjdjMy4xIDAgNS40LTEuOCA3LTUuNHMyLjQtMTAuNyAyLjQtMjEuMmwwLTE5OC43IDU1LjQtMTUuMiAwIDE4Ni45em03OC45LTE4MS42bDAgMTI3LjljMCAzLjYgLjcgNi45IDIuMSAxMHMzLjMgNS44IDUuNyA4LjEgNS4yIDQuMSA4LjUgNS40IDYuNyAyLjEgMTAuNCAyLjFjNC4yIDAgOC45LTIuMyAxNC43LTYuNCA5LjItNi40IDE0LjctMTAuOSAxNC43LTE2LjFsMC0xMzEgNTUuMSAwIDAgMTgxLjYtNTUuMSAwIDAtMTYuOWMtNy4zIDYuMS0xNSAxMS0yMy4yIDE0LjdzLTE2LjIgNS42LTIzLjkgNS42Yy05IDAtMTcuNC0xLjUtMjUuMS00LjVzLTE0LjUtNy0yMC4zLTEyLjItMTAuNC0xMS4yLTEzLjctMTguMWMtMy4zLTYuOS01LTE0LjMtNS0yMi4ybDAtMTI3LjkgNTUuMSAwek0zOTEuNCA0MDYuNWwtNTQuOSAwIDAtMjU0LjYgNTQuOS0xNS4yIDAgMjY5Ljh6bTIyLjktMTcxLjdsNTUuMS0xNS4yIDAgMTg2LjktNTUuMSAwIDAtMTcxLjd6bTE3MC4zIDc3LjljLTUuMyAyLjMtMTAuNyA0LjktMTYuMSA3LjlzLTEwLjMgNi4yLTE0LjcgOS44LTggNy4zLTEwLjggMTEuNC00LjEgOC4yLTQuMSAxMi42YzAgMy40IC40IDYuNiAxLjMgOS44czIuMSA1LjggMy44IDguMSAzLjQgNC4xIDUuMyA1LjQgNCAyLjEgNi4zIDIuMWM0LjUgMCA5LjEtMS40IDEzLjctNC4xczkuNy02LjIgMTUuNC0xMC40bDAtNTIuNXpNNjQwIDQwNi41bC01NS40IDAgMC0xNC41Yy0zLjEgMi42LTYgNS04LjkgNy4xcy02LjIgNC4xLTkuOCA1LjctNy43IDIuOS0xMi4yIDMuOGMtNC41IC45LTkuOCAxLjMtMTUuOSAxLjMtOC40IDAtMTUuOS0xLjItMjIuNi0zLjYtNi43LTIuNC0xMi40LTUuNy0xNy05LjlzLTguMy05LjEtMTAuOC0xNC45Yy0yLjUtNS43LTMuOC0xMi0zLjgtMTguNyAwLTYuOSAxLjMtMTMuMiA0LTE4LjkgMi43LTUuNiA2LjMtMTAuNyAxMC45LTE1LjIgNC42LTQuNSA5LjktOC41IDE2LjEtMTIuMXMxMi43LTYuOCAxOS43LTkuOCAxNC4zLTUuNyAyMS45LTguMiAxNS4xLTQuOSAyMi41LTcuMWw2LTEuNSAwLTE3LjljMC0xMS42LTIuMi0xOS44LTYuNi0yNC43cy0xMC40LTcuMy0xNy44LTcuM2MtOC43IDAtMTQuOCAyLjEtMTguMSA2LjNzLTUuMSA5LjMtNS4xIDE1LjJjMCAzLjQtLjQgNi43LTEuMSA5LjktLjcgMy4yLTIgNi0zLjcgOC41cy00LjMgNC40LTcuNiA1LjhjLTMuMyAxLjUtNy41IDIuMi0xMi41IDIuMi03LjcgMC0xNC0yLjItMTguOS02LjYtNC44LTQuNC03LjMtMTAtNy4zLTE2LjggMC02LjMgMi4xLTEyLjEgNi40LTE3LjUgNC4zLTUuNCAxMC0xMCAxNy4zLTEzLjkgNy4zLTMuOSAxNS42LTYuOSAyNS4xLTkuMnMxOS42LTMuNCAzMC4yLTMuNGMxMy4xIDAgMjQuMyAxLjIgMzMuNyAzLjVzMTcuMiA1LjcgMjMuMyAxMCAxMC42IDkuNiAxMy41IDE1LjcgNC40IDEzIDQuNCAyMC42bDAgMTM2LjF6TTYwIDE3Mi45YTM3LjQgMzcuNCAwIDEgMSA3NC45IDAgMzcuNCAzNy40IDAgMSAxIC03NC45IDB6TTQ1Mi4yIDk1YTM3LjQgMzcuNCAwIDEgMSA3NC45IDAgMzcuNCAzNy40IDAgMSAxIC03NC45IDB6bTQ1IDc3LjlhMzcuNCAzNy40IDAgMSAxIDc0LjkgMCAzNy40IDM3LjQgMCAxIDEgLTc0LjkgMHptLTg5LjkgMGEzNy40IDM3LjQgMCAxIDEgNzQuOSAwIDM3LjQgMzcuNCAwIDEgMSAtNzQuOSAweiJdfSxVMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibmZjLWRpcmVjdGlvbmFsIixpY29uOls1MTIsNTEyLFtdLCJlNTMwIiwiTTIxMS44IDQ4OC42YzEuNiAyLjUgMi4xIDUuNiAxLjQgOC41LS42IDIuOS0yLjQgNS41LTQuOSA3LjEtMi42IDEuNi01LjYgMi4xLTguNiAxLjUtNjEuNC0xMy45LTExNS42LTQ5LjktMTUyLjItMTAxLjJTLTUuNCAyOTAuMyAxLjYgMjI3LjdjNy02Mi43IDM2LjgtMTIwLjUgODMuNy0xNjIuNSA0Ni45LTQyIDEwNy43LTY1LjIgMTcwLjctNjUuMiAxLjUgMCAyLjEgLjMgNC4zIC45IDEuNCAuNiAxLjggMS40IDMuNyAyLjUgMS4xIDEuMSAxLjkgMi4zIDIuNSAzLjcgLjUgMS40IC44IDIuOCAuOCA0LjNsMCAxMDEgMjQuNS0yNS45YzEtMS4xIDIuMi0yIDMuNi0yLjYgMS4zLS42IDIuOC0uOSA0LjMtMSAxLjUtLjEgMi45IC4yIDQuMyAuN3MyLjcgMS4zIDMuOCAyLjRjMSAxIDEuOSAyLjIgMi41IDMuNiAuNiAxLjMgMSAyLjggMSA0LjNzLS4yIDMtLjcgNC4zYy0uNiAxLjQtMS40IDIuNi0yLjQgMy43bC00NCA0Ni42Yy0xLjEgMS4xLTIuMyAyLTMuNyAyLjYtMS41IC42LTMgLjktNS40IC45LS42IDAtMi4yLS4zLTMuNi0uOXMtMi43LTEuNS0zLjctMi42bC00NC4xLTQ2LjZjLTItMi4yLTMuMS01LjEtMy04LjEgMC0zIDEuMy02LjcgMy41LTcuOSAyLjItMi4xIDUuMS0zLjIgOC4xLTMuMSAzIC4xIDUuOCAxLjMgNy45IDMuNWwyNC41IDI2IDAtODkuNWMtNTYuNCAyLjgtMTA5LjggMjUuOC0xNTAuNSA2NS00MC42IDM5LjEtNjUuNyA5MS43LTcwLjYgMTQ3LjlTMzQuNCAzNDguMSA2Ny43IDM5My43YzMyLjQgNDUuNSA4MiA3Ny41IDEzNyA4OS45IDIuOSAuNyA1LjUgMi41IDcuMSA1ek0xNzEuNCAxMjYuMWMtLjggMS4zLTEuOSAyLjQtMy4xIDMuMi0yMC41IDEzLjktMzcuMiAzMi42LTQ4LjggNTQuNXMtMTcuNyA0Ni4zLTE3LjcgNzEuMSA2LjEgNDkuMiAxNy43IDcwLjJjMTEuNiAyMi44IDI4LjMgNDEuNSA0OC44IDU1LjQgMi41IDEuNyA0LjIgNC4zIDQuNyA3LjMgLjYgMi45LS45IDYtMS43IDguNC0xLjcgMi41LTUuMiA0LjItNy4zIDMuOS0yLjkgMS40LTYgLjgtOC40LS45LTIzLjYtMTYtNDIuOC0zNy41LTU2LjEtNjIuNy0xMy4zLTI1LjEtMjAuMy01My4xLTIwLjMtODEuNiAwLTI4LjQgNy01Ni41IDIwLjMtODEuNiAxMy4zLTI1LjIgMzIuNS00Ni43IDU2LjEtNjIuNyAxLjItLjggMi42LTEuNCA0LTEuOCAxLjUtLjMgMy0uMyA0LjUgMCAxLjQgLjIgMi44IC44IDQuMSAxLjZzMi4zIDEuOSAzLjIgMy4xYy44IDEuMiAxLjQgMi42IDEuNyA0LjFzLjMgMyAwIDQuNGMtLjMgMS41LS44IDIuOS0xLjcgNC4xek0zNDAuOSAzODMuNWMuOC0xLjIgMS45LTIuMyAyLjItMy4xbDAtLjFjMjEuMy0xNCAzOC0zMi43IDQ5LjYtNTQuNiAxMS41LTIxLjggMTcuNS00Ni4yIDE3LjUtNzAuOXMtNi00OS4xLTE3LjUtNzFjLTExLjYtMjIuNy0yOC4zLTQwLjUtNDkuNi01NC41LS4zLS44LTEuNC0xLjktMi4yLTMuMS0uOC0xLjMtMS40LTIuNy0xLjYtNC4xLTEuMi0xLjUtLjMtMyAwLTQuNCAuMy0xLjUgLjktMi45IDEuNy00LjEgLjktMS4yIDEuMS0yLjMgMy4yLTMuMSAxLjItLjggMi42LTEuMyA0LjEtMS42czIuOS0uMyA0LjQgMCAyLjggLjkgNC4xIDEuOGMyMy40IDE2IDQyLjcgMzcuNSA1NS45IDYyLjYgMTMuMyAyNS4xIDE5LjQgNTMuMSAxOS40IDgxLjUgMCAyOC41LTYuMSA1Ni41LTE5LjQgODEuNi0xMy4yIDI1LjEtMzIuNSA0Ni42LTU1LjkgNjIuNi0xLjMgLjktMi42IDEuNS00LjEgMS44cy0yLjkgLjMtNC40IDAtMi45LTEuNy00LjEtMS42Yy0yLjEtLjgtMi4zLTEuOS0zLjItMy4xLS44LTEuMi0xLjQtMi42LTEuNy00LjEtLjMtMS40LTEuMi0yLjkgMC00LjQgLjItMS40IC44LTIuOCAxLjYtNC4xek0zMTIuMyA2LjNjNTYuMiAxMi43IDEwNi40IDQ0IDE0Mi43IDg4LjcgMzAuNCAzNy42IDQ5LjYgODMgNTUuMyAxMzEgNS42IDQ4LTIuNCA5Ni43LTIzLjIgMTQwLjMtMjAuOSA0My42LTUzLjYgODAuNS05NC41IDEwNi4zLTQwLjkgMjUuNy04OC4yIDM5LjQtMTM2LjYgMzkuNC0xLjUgMC0yLjktLjMtNC4zLS45LTEuNC0uNS0yLjYtMS40LTMuNy0yLjQtMS45LTEuMS0xLjktMi4zLTIuNC0zLjctLjYtMS40LS45LTIuOC0uOS00LjNsMC05OS4yLTI0LjUgMjZjLTIuMSAyLjItNC45IDIuNi03LjkgMy42LTMgLjEtNS45LTEuMS04LjEtNC0yLjItMS4yLTMuNS00LTMuNS03LS4xLTMgMS01LjkgMy04LjFsNDQuMS00Ni42YzEuMy0yLjIgNS4xLTMuNCA3LjMtMy40IDQgMCA2LjkgMS4yIDkuMSAzLjRsNDQgNDYuNmMyLjEgMi4yIDMuMiA1LjEgMy4xIDguMXMtMS40IDUuOC0zLjUgN2MtMi4yIDIuOS01LjEgNC4xLTguMSA0LTMtMS01LjktMS40LTcuOS0zLjZsLTI0LjUtMjUuOSAwIDg3LjVjNTYuNC0yLjggMTA5LjgtMjUuOCAxNTAuNS02NSA0MC43LTQwIDY1LjgtOTEuNyA3MC43LTE0Ny45IDQuOC01Ny4xLTEwLjgtMTEyLjMtNDQuMS0xNTcuOS0zMy4zLTQ1LjYtODItNzcuNS0xMzctODkuOS0xLjUtLjMtMi44LS45LTQuMS0xLjgtMS4yLS45LTIuMi0xLjktMy0zLjItLjgtMS4yLTIuMi0yLjYtMS42LTQuMS0uMi0xLjUtLjItMyAuMS00LjQgLjQtMS40IDEtMi44IDEuOC00IC45LTEuMiAyLTIuMiAzLjItMyAxLjMtLjggMi43LTEuMyA0LjEtMS42IDEuNS0uMyAzLS4yIDQuNCAuMXptNDAuOCAyNDkuOGMwIDMxLjQtMTcuNSA2MS4xLTQ5LjMgODMuNS0yLjEgMS41LTQuOCAyLjMtNy40IDItMi43LS4yLTUuMi0xLjMtNy0zLjJsLTcwLjEtNjkuOGMtMi4yLTIuMS00LjItNS0zLjQtOCAwLTMgMS4yLTUuOSAzLjMtOCAyLjItMi4xIDUtMy4zIDgtMy4zczUuOSAxLjIgOCAzLjNsNjMuMSA2Mi44YzIwLjgtMTcuMSAzMi4yLTM3LjkgMzIuMi01OS4zIDAtMjMuOS0xNC4xLTQ3LTM5LjctNjUuMS0yLjUtMS43LTQuMS00LjMtNC42LTcuMy0uNS0yLjkgLjEtNiAxLjktOC40IDEuNy0yLjUgNC4zLTQuMSA3LjMtNC42IDIuOS0uNSA2IC4xIDguNCAxLjkgMzEuOCAyMi40IDQ5LjMgNTIuMSA0OS4zIDgzLjV6TTIxNi43IDM0MS41Yy0zIC41LTYtLjItOC41LTEuOS0zMS43LTIyLjQtNTAuMS01Mi4xLTUwLjEtODMuNXMxOC40LTYxLjEgNTAuMS04My41YzIuMi0xLjYgNC45LTIuMyA3LjUtMi4xIDIuNyAuMyA1LjEgMS40IDcgMy4zbDcwLjEgNjkuOGMyLjEgMi4xIDMuMyA1IDMuMyA4cy0yIDUuOC0zLjMgOGMtMi4xIDIuMS01IDMuMy03LjkgMy4zLTMgMC02LjgtMS4yLTgtMy4zbC02My4xLTYyLjljLTIwLjkgMTcuMy0zMi4yIDM4LTMyLjIgNTkuNCAwIDIzIDE0LjEgNDcgMzkuNyA2NSAyLjQgMS44IDQuMSA0LjQgNC42IDcuNCAuNSAyLjktLjIgNS45LTEuOSA4LjQtMS43IDIuNC00LjQgNC4xLTcuMyA0LjZ6Il19LFcxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLWJ5IixpY29uOls1MTIsNTEyLFtdLCJmNGU3IiwiTTMyMi45IDE5NC40bDAgMTAxLjQtMjguMyAwIDAgMTIwLjUtNzcuMSAwIDAtMTIwLjQtMjguMyAwIDAtMTAxLjVjMC00LjQgMS42LTguMiA0LjYtMTEuMyAzLjEtMy4xIDYuOS00LjcgMTEuMy00LjdsMTAxLjkgMGM0LjEgMCA3LjggMS42IDExLjEgNC43IDMuMSAzLjIgNC44IDYuOSA0LjggMTEuM3ptLTMyLjUtNjQuNWEzNC41IDM0LjUgMCAxIDEgLTY5IC44IDM0LjUgMzQuNSAwIDEgMSA2OS0uOHpNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zeiJdfSxHMXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW1icmFjbyIsaWNvbjpbNTEyLDUxMixbXSwiZjhlOCIsIk0yNTYuMyA4YTI0OCAyNDggMCAxIDAgLS43IDQ5NiAyNDggMjQ4IDAgMSAwIC43LTQ5NnptMTQ1IDI2NmMtLjggMjcuMS01LjQgNDguOC0xNCA2NXMtMjMuMSAyNy45LTQzLjUgMzVjLTIwLjQgNy4xLTQ4LjkgMTAuNi04NS40IDEwLjVsLTQuNiAwYy0zNi41IC4xLTY1LTMuMy04NS40LTEwLjVzLTM0LjktMTguOC00My41LTM1Yy04LjYtMTYuMi0xMy4yLTM3LjktMTQtNjUtLjctMTAuMi0uNy0yMC41IDAtMzAuNyAuNC0xNC43IDEuNi0yOS4zIDMuNi00My45IDEuOS0xMy40IDMuNi0yMi42IDUuNC0zMiAxLTQuOSAxLjMtNi40IDEuOC04LjQgLjMtMS4xIC45LTIuMSAxLjgtMi44czItMS4xIDMuMS0xLjFsLjcgMCAzMiA1YzEuMiAuMiAyLjIgLjggMyAxLjdzMS4yIDIuMSAxLjIgMy4zYzAgLjMgMCAuNSAwIC44bC0xLjcgOC44Yy0xLjYgOC44LTMuMiAyMC4xLTQuOCAzMy43LTEuNyAxNC0yLjUgMjguMS0yLjYgNDIuMi0uMiAyNyAyLjUgNDYuOSA4LjEgNTkuOCAyLjggNi40IDcuMiAxMiAxMi42IDE2LjRzMTEuOSA3LjQgMTguNyA4LjhjMTguOCA0IDM4LjEgNS43IDU3LjMgNS4xbDEwLjMgMGMxOS4yIC42IDM4LjUtMS4yIDU3LjMtNS4yIDYuOC0xLjQgMTMuMi00LjUgMTguNi04LjhzOS43LTEwIDEyLjUtMTYuNGM1LjctMTIuOSA4LjQtMzIuOSA4LjEtNTkuOC0uMS0xNC4xLTEtMjguMi0yLjYtNDIuMS0xLjctMTMuNi0zLjMtMjQuOC00LjktMzMuN2wtMS43LTguOGMwLS4zIDAtLjUgMC0uOCAwLTEuMiAuNC0yLjQgMS4yLTMuM3MxLjgtMS41IDMtMS43bDMyLTUgLjggMGMxLjEgMCAyLjIgLjQgMy4xIDEuMXMxLjUgMS43IDEuOCAyLjhjLjYgMiAuOCAzLjYgMS44IDguNCAxLjggOS42IDMuNSAxOC44IDUuNCAzMiAyIDE0LjYgMy4yIDI5LjIgMy42IDQzLjkgLjcgMTAuMiAuNyAyMC41IDAgMzAuN2wwIDB6Il19LFkxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJob29saSIsaWNvbjpbNjQwLDUxMixbXSwiZjQyNyIsIk0xNDQuNSAzNTJsMzguMyAuOGMtMTMuMi00LjYtMjYtMTAuMi0zOC4zLTE2LjhsMCAxNnptNTcuNy01LjNsMCA1LjMtMTkuNCAuOGMzNi41IDEyLjUgNjkuOSAxNC4yIDk0LjcgNy4yLTE5LjkgLjItNDUuOC0yLjYtNzUuMy0xMy4zek02MTEuMSAyMzEuNWMxNS45IDAgMjguOS0xMi45IDI4LjktMjguOXMtMTIuOS0yNC41LTI4LjktMjQuNWMtMTUuOSAwLTI4LjkgOC42LTI4LjkgMjQuNXMxMi45IDI4LjkgMjguOSAyOC45ek01ODIuMSAzNTJsNTcuOSAwIDAtMTEwLjUtNTcuOSAwIDAgMTEwLjV6bS03My43IDBsNTcuOSAwIDAtMTk1LjMtNTcuOSAyNy4zIDAgMTY4em0tMzEtMTE5LjRjLTE4LjItMTguMi01MC40LTE3LjEtNTAuNC0xNy4xcy0zMi4zLTEuMS01MC40IDE3LjFjLTE4LjIgMTguMi0xNi44IDMzLjktMTYuOCA1Mi42cy0xLjQgMzQuMyAxNi44IDUyLjUgNTAuNCAxNy4xIDUwLjQgMTcuMSAzMi4zIDEuMSA1MC40LTE3LjFjMTguMi0xOC4yIDE2LjgtMzMuOCAxNi44LTUyLjUtLjEtMTguOCAxLjMtMzQuNS0xNi44LTUyLjZ6bS0zOS44IDcxLjljMCAzLjYtMS44IDEyLjUtMTAuNyAxMi41cy0xMC43LTguOS0xMC43LTEyLjVsMC00MC40YzAtOC43IDcuMy0xMC45IDEwLjctMTAuOXMxMC43IDIuMSAxMC43IDEwLjlsMCA0MC40ek0zMzEuNCAyMzIuNmMtMTguMi0xOC4yLTUwLjQtMTcuMS01MC40LTE3LjFzLTMyLjItMS4xLTUwLjQgMTcuMWMtMS45IDEuOS0zLjcgMy45LTUuMyA2LTM4LjItMjkuNi03Mi41LTQ2LjUtMTAyLjEtNjEuMWwwLTIwLjctMjIuNSAxMC42Yy01NC40LTIyLjEtODktMTguMi05Ny4zIC4xIDAgMC0yNC45IDMyLjggNjEuOCAxMTAuOGwwIDczLjcgNTcuOSAwIDAtMjguNmMtNi41LTQuMi0xMy04LjctMTkuNC0xMy42LTE0LjgtMTEuMi0yNy40LTIxLjYtMzguNC0zMS40bDAtMzFjMTMuMSAxNC43IDMwLjUgMzEuNCA1My40IDUwLjNsNC41IDMuNiAwLTI5LjhjMC02LjkgMS43LTE4LjIgMTAuOC0xOC4yczEwLjYgNi45IDEwLjYgMTVsMCA0OC43YzE4IDEyLjIgMzcuMyAyMi4xIDU3LjcgMjkuNmwwLTkzLjljMC0xOC43LTEzLjQtMzcuNC00MC42LTM3LjQtMTUuOC0uMS0zMC41IDguMi0zOC41IDIxLjlsMC01NC4zYzQxLjkgMjAuOSA4My45IDQ2LjUgOTkuOSA1OC4zLTEwLjIgMTQuNi05LjMgMjguMS05LjMgNDMuNyAwIDE4LjctMS40IDM0LjMgMTYuOCA1Mi41czUwLjQgMTcuMSA1MC40IDE3LjEgMzIuMyAxLjEgNTAuNC0xNy4xYzE4LjItMTguMiAxNi43LTMzLjggMTYuNy01Mi41IDAtMTguNSAxLjUtMzQuMi0xNi43LTUyLjN6TTY1LjIgMTg0bDAgNjMuM2MtNDguNy01NC41LTM4LjktNzYtMzUuMi03OS4xIDEzLjUtMTEuNCAzNy41LTggNjQuNCAyLjFMNjUuMiAxODR6TTI5MS43IDMwNC41YzAgMy42LTEuOCAxMi41LTEwLjcgMTIuNXMtMTAuNy04LjktMTAuNy0xMi41bDAtNDAuNGMwLTguNyA3LjMtMTAuOSAxMC43LTEwLjlzMTAuNyAyLjEgMTAuNyAxMC45bDAgNDAuNHoiXX0sUzFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1naXQiLGljb246WzQ0OCw1MTIsWyJnaXQtc3F1YXJlIl0sImYxZDIiLCJNMTIwLjggMzM1LjVjLTUuOS0uNC0xMi42LS44LTIwLjItMS4zLTMuMyA0LjEtNi42IDguNC02LjYgMTMuNSAwIDE4LjUgNjUuNSAxOC41IDY1LjUtMS41IDAtOC4zLTcuNC04LjctMzguOC0xMC43bC4xIDB6bTcuOC0xMTcuOWMtMzIuMyAwLTMzLjcgNDQuNS0uNyA0NC41IDMyLjUgMCAzMS43LTQ0LjUgLjctNDQuNXpNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTI0My45IDE3Mi4yYy0xNC41IDAtMjIuOS04LjQtMjIuOS0yMi45czguNC0yMi4zIDIyLjktMjIuM2MxNC43IDAgMjMuMSA3LjggMjMuMSAyMi4zcy04LjQgMjIuOS0yMy4xIDIyLjl6TTE0OS42IDE5NWw0OS41IDAgMCAyMS42LTIzLjQgMS44YzQuNiA1LjggOS40IDE0IDkuNCAyNS43IDAgNDguNy01Ny4yIDQ3LjItNzQuMiA0Mi40bC04LjQgMTMuNGM1IC4zIDkuOCAuNiAxNC4zIC44IDU2LjMgMy4yIDgwLjUgNC42IDgwLjUgMzguNSAwIDI5LjItMjUuNyA0NS43LTY5LjkgNDUuNy00NiAwLTYzLjUtMTEuNi02My41LTMxLjcgMC0xMS40IDUuMS0xNy41IDE0LTI1LjktOC40LTMuNS0xMS4yLTkuOS0xMS4yLTE2LjggMC05LjYgNy40LTE2LjMgMjMtMzAuNmwuMi0uMmMtMTIuNC02LjEtMjEuOC0xOS4zLTIxLjgtMzguMSAwLTUxLjYgNTYuNi01My4zIDgxLjYtNDYuOGwtLjEgLjJ6TTI3MC41IDMwMy4xbDEzIDEuOCAwIDIwLjEtNzIuNCAwIDAtMjAuMWMyLjctLjQgNS0uNyA2LjktLjkgOS45LTEuMiAxMC4xLTEuMyAxMC4xLTZsMC03NC43YzAtNC40LS45LTQuNy0xMC4xLTcuOC0xLjktLjctNC4yLTEuNC02LjktMi40bDIuOC0yMC42IDUyLjYgMCAwIDEwNS41YzAgNC4xIC4yIDQuNiA0LjEgNS4xbC0uMSAwem0xMDYuNi0xMC40TDM4NCAzMTVjLTEwLjkgNS40LTI2LjkgMTAuMi00MS40IDEwLjItMzAuMiAwLTQxLjctMTIuMi00MS43LTQwLjlsMC02Ni42YzAtLjggMC0xLjQtLjItMS44LS44LTEuMi00LjItLjctMTkuNi0uN2wwLTIyLjZjMjIuMy0yLjUgMzEuMi0xMy43IDM0LTQxLjRsMjQuMiAwYzAgMzMuMy0uNiAzOCAuNyAzOC42IC4zIC4xIC43IDAgMS4zIDBsMzUuOCAwIDAgMjUuNC0zNy44IDAgMCA2MS42Yy0uMiA2LjMtLjkgMzAuNCAzNy45IDE1LjlsLS4xIDB6Il19LFoxdD1TMWUsWDF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9kbm9rbGFzc25pa2kiLGljb246WzMyMCw1MTIsW10sImYyNjMiLCJNMjc1LjEgMzM0Yy0yNy40IDE3LjQtNjUuMSAyNC4zLTkwIDI2LjlsMjAuOSAyMC42IDc2LjMgNzYuM2MyNy45IDI4LjYtMTcuNSA3My4zLTQ1LjcgNDUuNy0xOS4xLTE5LjQtNDcuMS00Ny40LTc2LjMtNzYuNkw4NCA1MDMuNGMtMjguMiAyNy41LTczLjYtMTcuNi00NS40LTQ1LjcgMTkuNC0xOS40IDQ3LjEtNDcuNCA3Ni4zLTc2LjNsMjAuNi0yMC42Yy0yNC42LTIuNi02Mi45LTkuMS05MC42LTI2LjktMzIuNi0yMS00Ni45LTMzLjMtMzQuMy01OSA3LjQtMTQuNiAyNy43LTI2LjkgNTQuNi01LjcgMCAwIDM2LjMgMjguOSA5NC45IDI4LjlTMjU1IDI2OS4yIDI1NSAyNjkuMmMyNi45LTIxLjEgNDcuMS04LjkgNTQuNiA1LjcgMTIuNCAyNS43LTEuOSAzOC0zNC41IDU5LjF6bTE0LjYtMjA0LjdhMTI5LjcgMTI5LjcgMCAxIDEgLTI1OS40IC40IDEyOS43IDEyOS43IDAgMSAxIDI1OS40LS40em0tMTkzLjQgLjRhNjMuNyA2My43IDAgMSAwIDEyNy40LS40IDYzLjcgNjMuNyAwIDEgMCAtMTI3LjQgLjR6Il19LFExdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkcnVwYWwiLGljb246WzM4NCw1MTIsW10sImYxYTkiLCJNMjcyLjMgMTA4LjFDMjM2LjUgNzIuNSAyMDIuNSAzOC40IDE5Mi40IDAgMTgyLjQgMzguNCAxNDguMSA3Mi41IDExMi40IDEwOC4xIDU4LjggMTYxLjctMS45IDIyMi40LTEuOSAzMTMuNC00LjMgNDIwLjcgODAuOCA1MDkuNiAxODguMSA1MTJzMTk2LjItODIuOCAxOTguNS0xOTAuMWMuMS0yLjggLjEtNS42IDAtOC41IDAtOTEuMS02MC44LTE1MS43LTExNC4zLTIwNS4zek05OCAzMzEuMWMtNS45IDcuNS0xMSAxNS42LTE1LjIgMjQuMi0uMyAuNy0uOCAxLjMtMS4zIDEuOHMtMS4yIC44LTIgMWwtMS43IDBjLTQuMyAwLTkuMi04LjUtOS4yLTguNS0xLjMtMi0yLjUtNC4yLTMuNy02LjRsLS44LTEuOGMtMTEuMi0yNS43LTEuNS02Mi4zLTEuNS02Mi4zIDQuOC0xNy44IDEyLjctMzQuNyAyMy4yLTQ5LjkgNi40LTkuNiAxMy41LTE4LjkgMjEtMjcuN2w5LjIgOS4yIDQzLjUgNDQuNGMuOCAuOSAxLjMgMi4xIDEuMyAzLjNzLS41IDIuNC0xLjMgMy4zTDExNC4xIDMxMi4zIDk4IDMzMS4xem05Ni42IDEyNy4zYy0xMi45LS4xLTI1LjYtMy45LTM2LjQtMTFzLTE5LjQtMTcuMS0yNC42LTI4LjktNy0yNC45LTUtMzcuNyA3LjYtMjQuNyAxNi4yLTM0LjRjMTQuMi0xNi45IDMxLjUtMzMuNSA1MC4zLTU1LjMgMjIuMyAyMy44IDM2LjkgNDAuMSA1MS4yIDU4IDEuMSAxLjQgMi4xIDIuOSAzIDQuNCA3LjggMTEuMSAxMiAyNC40IDEyIDM4IDAgOC44LTEuNyAxNy40LTUgMjUuNXMtOC4yIDE1LjUtMTQuNCAyMS43LTEzLjUgMTEuMS0yMS42IDE0LjUtMTYuNyA1LjEtMjUuNSA1LjFsLS4yIDB6TTMyMC43IDM1MS42Yy0uNCAxLjQtMS4yIDIuNi0yLjMgMy42cy0yLjQgMS42LTMuOCAxLjhsLTEuMyAwYy0yLjYtLjktNC45LTIuNy02LjMtNS4xLTExLjYtMTcuNS0yNC45LTMzLjktMzkuNS00OWwtMTcuOC0xOC40LTU5LjEtNjEuM2MtMTIuNC0xMS41LTI0LjItMjMuNi0zNS40LTM2LjMtLjMtLjUtLjYtLjktLjktMS40LTItMi44LTMuNi01LjktNC43LTkuMmwwLTEuOGMtLjgtNS0uNC0xMC4xIDEuMi0xNXM0LjQtOS4yIDgtMTIuN2MxMS40LTExLjQgMjMtMjMgMzMuOC0zNC45IDEyIDEzLjMgMjQuOCAyNiAzNy40IDM4LjYgMjUuOCAyNCA0OS4xIDUwLjUgNjkuNiA3OS4xIDE3LjMgMjQuNSAyNi43IDUzLjggMjcgODMuOC0uMSAxMi45LTIuMiAyNS44LTYgMzguMnoiXX0sSjF0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsb2dnZXItYiIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3ZCIsIk00NDYuNiAyMjIuN2MtMS44LTgtNi44LTE1LjQtMTIuNS0xOC41LTEuOC0xLTEzLTIuMi0yNS0yLjctMjAuMS0uOS0yMi4zLTEuMy0yOC43LTUtMTAuMS01LjktMTIuOC0xMi4zLTEyLjktMjkuNS0uMS0zMy0xMy44LTYzLjctNDAuOS05MS4zLTE5LjMtMTkuNy00MC45LTMzLTY1LjUtNDAuNS01LjktMS44LTE5LjEtMi40LTYzLjMtMi45LTY5LjQtLjgtODQuOCAuNi0xMDguNCAxMC00My41IDE3LjItNzQuNyA1My44LTg2LjEgMTAwLjYtMi4xIDguOC0yLjYgMjIuOS0zLjEgMTAzLjktLjYgMTAxLjUgLjEgMTE2LjQgNi40IDEzNi41IDE1LjYgNDkuNiA1OS45IDg2LjMgMTA0LjQgOTQuMyAxNC44IDIuNyAxOTcuMyAzLjMgMjE2IC44IDMyLjUtNC40IDU4LTE3LjUgODEuOS00MS45IDE3LjMtMTcuNyAyOC4xLTM2LjggMzUuMi02Mi4xIDQuOS0xNy42IDQuNS0xNDIuOCAyLjUtMTUxLjd6TTEyNC41IDE1OS4xYzcuOC03LjkgMTAtOC4yIDU4LjgtOC4yIDQzLjkgMCA0NS40IC4xIDUxLjggMy40IDkuMyA0LjcgMTMuNCAxMS4zIDEzLjQgMjEuOSAwIDkuNS0zLjggMTYuMi0xMi4zIDIxLjYtNC42IDIuOS03LjMgMy4xLTUwLjMgMy4zLTI2LjUgLjItNDcuNy0uNC01MC44LTEuMi0xNi42LTQuNy0yMi44LTI4LjUtMTAuNi00MC44ek0zMTYuMyAzNTguOWwtMTQuOSAyLjQtNzcuNSAuOWMtNjguMSAuOC04Ny4zLS40LTkwLjktMi03LjEtMy4xLTEzLjgtMTEuNy0xNC45LTE5LjQtMS4xLTcuMyAyLjYtMTcuMyA4LjItMjIuNCA3LjEtNi40IDEwLjItNi42IDk3LjMtNi43IDg5LjYtLjEgODkuMS0uMSA5Ny42IDcuOCAxMi4xIDExLjMgOS41IDMxLjItNC45IDM5LjR6Il19LEsxdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnZpc2lvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjdiMCIsIk00MDcuNCAzMkw0MC42IDMyQzE4LjIgMzIgMCA1MC4yIDAgNzIuNkwwIDQzOS40QzAgNDYxLjggMTguMiA0ODAgNDAuNiA0ODBsMzY2LjggMGMyMi40IDAgNDAuNi0xOC4yIDQwLjYtNDAuNmwwLTM2Ni44QzQ0OCA1MC4yIDQyOS44IDMyIDQwNy40IDMyek0xNzYuMSAxNDUuNmMuNCAyMy40LTIyLjQgMjcuMy0yNi42IDI3LjQtMTQuOSAwLTI3LjEtMTItMjcuMS0yNyAuMS0zNS4yIDUzLjEtMzUuNSA1My43LS40ek0zMzIuOCAzNzdjLTY1LjYgMC0zNC4xLTc0LTI1LTEwNi42IDE0LjEtNDYuNC00NS4yLTU5LTU5LjkgLjdsLTI1LjggMTAzLjMtNDUuMSAwIDguMS0zMi41Yy0zMS41IDUxLjgtOTQuNiA0NC40LTk0LjYtNC4zIC4xLTE0LjMgLjktMTQgMjMtMTA0LjFsLTMxLjggMCA5LjctMzUuNiA3Ni40IDBjLTMzLjYgMTMzLjctMzIuNiAxMjYuOS0zMi45IDEzOC4yIDAgMjAuOSA0MC45IDEzLjUgNTcuNC0yMy4ybDE5LjgtNzkuNC0zMi4zIDAgOS43LTM1LjYgNjguOCAwLTguOSA0MC41YzQwLjUtNzUuNSAxMjcuOS00Ny44IDEwMS44IDM4LTE0LjIgNTEuMS0xNC42IDUwLjctMTQuOSA1OC44IDAgMTUuNSAxNy41IDIyLjYgMzEuOC0xNi45TDM4NiAzMjVjLTEwLjUgMzYuNy0yOS40IDUyLTUzLjIgNTJ6Il19LGVzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmYWNlYm9vay1mIixpY29uOlszMjAsNTEyLFtdLCJmMzllIiwiTTgwIDI5OS4zbDAgMjEyLjcgMTE2IDAgMC0yMTIuNyA4Ni41IDAgMTgtOTcuOC0xMDQuNSAwIDAtMzQuNmMwLTUxLjcgMjAuMy03MS41IDcyLjctNzEuNSAxNi4zIDAgMjkuNCAuNCAzNyAxLjJsMC04OC43QzI5MS40IDQgMjU2LjQgMCAyMzYuMiAwIDEyOS4zIDAgODAgNTAuNSA4MCAxNTkuNGwwIDQyLjEtNjYgMCAwIDk3LjggNjYgMHoiXX0sdHN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNlbnRvcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjc4OSIsIk0yODkuNiA5Ny41bDMxLjYgMzEuNy03Ni4zIDc2LjUgMC0xMDguMiA0NC43IDB6TTEyNy4yIDEyOS4ybDc2LjMgNzYuNSAwLTEwOC4yLTQ0LjcgMC0zMS42IDMxLjd6bTQxLjUtNDEuNmw0NC43IDAgMCAxMjcuOSAxMC44IDEwLjggMTAuOC0xMC44IDAtMTI3LjkgNDQuNyAwLTU1LjUtNTUuNi01NS41IDU1LjZ6bTI2LjIgMTY4LjFsLTEwLjgtMTAuOC0xMjguNiAwIDAtNDQuOC01NS41IDU1LjYgNTUuNSA1NS42IDAtNDQuOCAxMjguNiAwIDEwLjgtMTAuOHpNMjc0LjIgMjM1bDEwNy45IDAgMC00NC44LTMxLjYtMzEuNy03Ni4zIDc2LjV6bTE3My4zIDIwLjdsLTU1LjUtNTUuNiAwIDQ0LjgtMTI3LjcgMC0xMC44IDEwLjggMTAuOCAxMC44IDEyNy43IDAgMCA0NC44IDU1LjUtNTUuNnpNNjUuNCAxNzYuMmwzMi41LTMxLjcgOTAuMyA5MC41IDE1LjMgMCAwLTE1LjMtOTAuMy05MC41IDMxLjYtMzEuNy03OS40IDAgMCA3OC43ek0zODIuMSA5Ny41bC03OC41IDAgMzEuNiAzMS43LTkwLjMgOTAuNSAwIDE1LjMgMTUuMyAwIDkwLjMtOTAuNSAzMS42IDMxLjcgMC03OC43ek0yMDMuNSA0MTMuOWwwLTEwOC4xLTc2LjMgNzYuNSAzMS42IDMxLjcgNDQuNyAwIDAtLjF6TTY1LjQgMjM1bDEwOC44IDAtNzYuMy03Ni41LTMyLjUgMzEuNyAwIDQ0Ljh6TTM4Mi4xIDMzNS4ybC0zMS42IDMxLjctOTAuMy05MC41LTE1LjMgMCAwIDE1LjMgOTAuMyA5MC41LTMxLjYgMzEuNyA3OC41IDAgMC03OC43em0wLTU4LjhsLTEwNy45IDAgNzYuMyA3Ni41IDMxLjYtMzEuNyAwLTQ0Ljh6TTMyMS4yIDM4Mi4ybC03Ni4zLTc2LjUgMCAxMDguMSA0NC43IDAgMzEuNi0zMS42ek05Ny45IDM1Mi45bDc2LjMtNzYuNS0xMDguOCAwIDAgNDQuOCAzMi41IDMxLjd6bTE4MS44IDcwLjlsLTQ0LjcgMCAwLTEyNy45LTEwLjgtMTAuOC0xMC44IDEwLjggMCAxMjcuOS00NC43IDAgNTUuNSA1NS42IDU1LjUtNTUuNnpNMTEzLjIgMzgyLjJsOTAuMy05MC41IDAtMTUuMy0xNS4zIDAtOTAuMyA5MC41LTMyLjUtMzEuNyAwIDc4LjcgNzkuNCAwLTMxLjYtMzEuN3oiXX0scnN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNjYWxld2F5IixpY29uOls0NDgsNTEyLFtdLCJlODU5IiwiTTI0My40IDExNy4zbC04NC4zIDBjLTE4LjUgMi4xLTMyLjcgMTcuNS0zMy40IDM2bDAgMTIxLjljMCA4LjIgMy4yIDE1LjMgOC41IDIwLjdzMTIuNSA4LjYgMjAuNiA4LjZjMTYgMCAyOS4yLTEzLjIgMjkuMi0yOS4ybDAtNzcuNGMwLTEyLjEgMTAtMjIuMSAyMi4xLTIyLjFsMzguMSAwYzguMiAwIDE1LjMtMy4yIDIwLjYtOC42czguNS0xMi44IDguNS0yMWMwLTE2LTEzLjktMjguOS0yOS45LTI4Ljl6TTIwNS4zIDM5NS40bDg0LjMgMGMxOC41LTIuMSAzMi43LTE3LjUgMzMuNC0zNmwwLTEyMS45YzAtOC4yLTMuMi0xNS4zLTguNS0yMC43cy0xMi41LTguNi0yMC42LTguNmMtMTYgMC0yOS4yIDEzLjItMjkuMiAyOS4ybDAgNzcuNGMwIDEyLjEtMTAgMjIuMS0yMi4xIDIyLjFsLTM4LjEgMGMtOC4yIDAtMTUuMyAzLjItMjAuNiA4LjZzLTguNSAxMi44LTguNSAyMWMuNCAxNiAxMy45IDI4LjkgMjkuOSAyOC45ek0xMDQuMyAwTDI1Ny42IDBjMTAxIDAgMTgyLjUgODEuNiAxODIuMSAxODIuOWwwIDI0Mi44Yy00LjYgNDYtNDIgODIuNC04OC4yIDg2LjNMMTkwIDUxMkM4OS4zIDUxMiA3LjUgNDMwIDcuNSAzMjkuMUw3LjUgOTdjMC01My41IDQzLjQtOTcgOTYuOC05N3pNMzgxLjcgMTgyLjljMC02OC41LTU1LjktMTI0LjQtMTI0LjItMTI0LjRsLTE1MyAwQzgzLjMgNTguNSA2Ni4yIDc1LjYgNjYuMiA5N2wwIDIzMi4xYzAgNjguOCA1NS41IDEyNC40IDEyNC4yIDEyNC40bDE1OC43IDBjMTYuNy0yLjEgMjkuOS0xNSAzMi43LTMxLjRsMC0yMzkuMnoiXX0sYXN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWFtYXpvbi1wYXkiLGljb246WzU3Niw1MTIsW10sImY0MmQiLCJNMTI0LjcgMjAxLjhjLjEtMTEuOCAwLTIzLjUgMC0zNS4zbDAtMzUuM2MwLTEuMyAuNC0yIDEuNC0yLjcgMTEuNS04IDI0LjEtMTIuMSAzOC4yLTExLjEgMTIuNSAuOSAyMi43IDcgMjguMSAyMS43IDMuMyA4LjkgNC4xIDE4LjIgNC4xIDI3LjcgMCA4LjctLjcgMTcuMy0zLjQgMjUuNi01LjcgMTcuOC0xOC43IDI0LjctMzUuNyAyMy45LTExLjctLjUtMjEuOS01LTMxLjQtMTEuNy0uOS0uOC0xLjQtMS42LTEuMy0yLjh6bTE1NC45IDE0LjZjNC42IDEuOCA5LjMgMiAxNC4xIDEuNSAxMS42LTEuMiAyMS45LTUuNyAzMS4zLTEyLjUgLjktLjYgMS4zLTEuMyAxLjMtMi41LS4xLTMuOSAwLTcuOSAwLTExLjggMC00LS4xLTggMC0xMiAwLTEuNC0uNC0yLTEuOC0yLjItNy0uOS0xMy45LTIuMi0yMC45LTIuOS03LS42LTE0LS4zLTIwLjggMS45LTYuNyAyLjItMTEuNyA2LjItMTMuNyAxMy4xLTEuNiA1LjQtMS42IDEwLjggLjEgMTYuMiAxLjYgNS41IDUuMiA5LjIgMTAuNCAxMS4yek01NzYgODBsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0zNjguNSAxMDMuOWMuNCAxLjcgLjkgMy40IDEuNiA1LjEgMTYuNSA0MC42IDMyLjkgODEuMyA0OS41IDEyMS45IDEuNCAzLjUgMS43IDYuNCAuMiA5LjktMi44IDYuMi00LjkgMTIuNi03LjggMTguNy0yLjYgNS41LTYuNyA5LjUtMTIuNyAxMS4yLTQuMiAxLjEtOC41IDEuMy0xMi45IC45LTIuMS0uMi00LjItLjctNi4zLS44LTIuOC0uMi00LjIgMS4xLTQuMyA0LS4xIDIuOC0uMSA1LjYgMCA4LjMgLjEgNC42IDEuNiA2LjcgNi4yIDcuNSA0LjcgLjggOS40IDEuNiAxNC4yIDEuNyAxNC4zIC4zIDI1LjctNS40IDMzLjEtMTcuOSAyLjktNC45IDUuNi0xMC4xIDcuNy0xNS40IDE5LjgtNTAuMSAzOS41LTEwMC4zIDU5LjItMTUwLjUgLjYtMS41IDEuMS0zIDEuMy00LjYgLjQtMi40LS43LTMuNi0zLjEtMy43LTUuNi0uMS0xMS4xIDAtMTYuNyAwLTMuMSAwLTUuMyAxLjQtNi40IDQuMy0uNCAxLjEtLjkgMi4zLTEuMyAzLjRsLTI5LjEgODMuN2MtMi4xIDYuMS00LjIgMTIuMS02LjUgMTguNi0uNC0uOS0uNi0xLjQtLjgtMS45LTEwLjgtMjkuOS0yMS42LTU5LjktMzIuNC04OS44LTEuNy00LjctMy41LTkuNS01LjMtMTQuMi0uOS0yLjUtMi43LTQtNS40LTQtNi40LS4xLTEyLjgtLjItMTkuMi0uMS0yLjIgMC0zLjMgMS42LTIuOCAzLjd6TTI0Mi40IDIwNmMxLjcgMTEuNyA3LjYgMjAuOCAxOCAyNi42IDkuOSA1LjUgMjAuNyA2LjIgMzEuNyA0LjYgMTIuNy0xLjkgMjMuOS03LjMgMzMuOC0xNS41IC40LS4zIC44LS42IDEuNC0xIC41IDMuMiAuOSA2LjIgMS41IDkuMiAuNSAyLjYgMi4xIDQuMyA0LjUgNC40IDQuNiAuMSA5LjEgLjEgMTMuNyAwIDIuMy0uMSAzLjgtMS42IDQtMy45IC4xLS44IC4xLTEuNiAuMS0yLjNsMC04OC44YzAtMy42LS4yLTcuMi0uNy0xMC44LTEuNi0xMC44LTYuMi0xOS43LTE1LjktMjUuNC01LjYtMy4zLTExLjgtNS0xOC4yLTUuOS0zLS40LTYtLjctOS4xLTEuMWwtMTAgMGMtLjggLjEtMS42IC4zLTIuNSAuMy04LjIgLjQtMTYuMyAxLjQtMjQuMiAzLjUtNS4xIDEuMy0xMCAzLjItMTUgNC45LTMgMS00LjUgMy4yLTQuNCA2LjUgLjEgMi44LS4xIDUuNiAwIDguMyAuMSA0LjEgMS44IDUuMiA1LjcgNC4xIDYuNS0xLjcgMTMuMS0zLjUgMTkuNy00LjggMTAuMy0xLjkgMjAuNy0yLjcgMzEuMS0xLjIgNS40IC44IDEwLjUgMi40IDE0LjEgNyAzLjEgNCA0LjIgOC44IDQuNCAxMy43IC4zIDYuOSAuMiAxMy45IC4zIDIwLjggMCAuNC0uMSAuNy0uMiAxLjItLjQgMC0uOCAwLTEuMS0uMS04LjgtMi4xLTE3LjctMy42LTI2LjgtNC4xLTkuNS0uNS0xOC45IC4xLTI3LjkgMy4yLTEwLjggMy44LTE5LjUgMTAuMy0yNC42IDIwLjgtNC4xIDguMy00LjYgMTctMy40IDI1Ljh6TTk4LjcgMTA2LjlsMCAxNzUuM2MwIC44IDAgMS43IC4xIDIuNSAuMiAyLjUgMS43IDQuMSA0LjEgNC4yIDUuOSAuMSAxMS44IC4xIDE3LjcgMCAyLjUgMCA0LTEuNyA0LjEtNC4xIC4xLS44IC4xLTEuNyAuMS0yLjVsMC02MC43Yy45IC43IDEuNCAxLjIgMS45IDEuNiAxNSAxMi41IDMyLjIgMTYuNiA1MS4xIDEyLjkgMTcuMS0zLjQgMjguOS0xMy45IDM2LjctMjkuMiA1LjgtMTEuNiA4LjMtMjQuMSA4LjctMzcgLjUtMTQuMy0xLTI4LjQtNi44LTQxLjctNy4xLTE2LjQtMTguOS0yNy4zLTM2LjctMzAuOS0yLjctLjYtNS41LS44LTguMi0xLjJsLTcgMGMtMS4yIC4yLTIuNCAuMy0zLjYgLjUtMTEuNyAxLjQtMjIuMyA1LjgtMzEuOCAxMi43LTIgMS40LTMuOSAzLTUuOSA0LjUtLjEtLjUtLjMtLjgtLjQtMS4yLS40LTIuMy0uNy00LjYtMS4xLTYuOS0uNi0zLjktMi41LTUuNS02LjQtNS42bC05LjcgMGMtNS45LS4xLTYuOSAxLTYuOSA2Ljh6TTQ5My42IDMzOWMtMi43LS43LTUuMSAwLTcuNiAxLTQzLjkgMTguNC04OS41IDMwLjItMTM2LjggMzUuOC0xNC41IDEuNy0yOS4xIDIuOC00My43IDMuMi0yNi42IC43LTUzLjItLjgtNzkuNi00LjMtMTcuOC0yLjQtMzUuNS01LjctNTMtOS45LTM3LTguOS03Mi43LTIxLjctMTA2LjctMzguOC04LjgtNC40LTE3LjQtOS4zLTI2LjEtMTQtMy44LTIuMS02LjItMS41LTguMiAyLjFsMCAxLjdjMS4yIDEuNiAyLjIgMy40IDMuNyA0LjggMzYgMzIuMiA3Ni42IDU2LjUgMTIyIDcyLjkgMjEuOSA3LjkgNDQuNCAxMy43IDY3LjMgMTcuNSAxNCAyLjMgMjggMy44IDQyLjIgNC41IDMgLjEgNiAuMiA5IC40IC43IDAgMS40IC4yIDIuMSAuM2wxNy43IDBjLjctLjEgMS40LS4zIDIuMS0uMyAxNC45LS40IDI5LjgtMS44IDQ0LjYtNCAyMS40LTMuMiA0Mi40LTguMSA2Mi45LTE0LjcgMjkuNi05LjYgNTcuNy0yMi40IDgzLjQtNDAuMSAyLjgtMS45IDUuNy0zLjggOC02LjIgNC4zLTQuNCAyLjMtMTAuNC0zLjMtMTEuOXpNNTQ0IDMxMS4zYy0uOC00LjItNC01LjgtNy42LTctNS43LTEuOS0xMS42LTIuOC0xNy42LTMuMy0xMS0uOS0yMi0uNC0zMi44IDEuNi0xMiAyLjItMjMuNCA2LjEtMzMuNSAxMy4xLTEuMiAuOC0yLjQgMS44LTMuMSAzLS42IC45LS43IDIuMy0uNSAzLjQgLjMgMS4zIDEuNyAxLjYgMyAxLjUgLjYgMCAxLjIgMCAxLjgtLjFsMTkuNS0yLjFjOS42LS45IDE5LjItMS41IDI4LjgtLjggNC4xIC4zIDguMSAxLjIgMTIgMi4yIDQuMyAxLjEgNi4yIDQuNCA2LjQgOC43IC4zIDYuNy0xLjIgMTMuMS0yLjkgMTkuNS0zLjUgMTIuOS04LjMgMjUuNC0xMy4zIDM3LjgtLjMgLjgtLjcgMS43LS44IDIuNS0uNCAyLjUgMSA0IDMuNCAzLjUgMS40LS4zIDMtMS4xIDQtMi4xIDMuNy0zLjYgNy41LTcuMiAxMC42LTExLjIgMTAuNy0xMy44IDE3LTI5LjYgMjAuNy00Ni42IC43LTMgMS4yLTYuMSAxLjctOS4xIC4yLTQuNyAuMi05LjYgLjItMTQuNXoiXX0saXN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImViYXkiLGljb246WzY0MCw1MTIsW10sImY0ZjQiLCJNNjA2LjUgMTg5LjVsLTU0LjggMTA5LjktNTQuOS0xMDkuOS0zNy41IDAgMTAuOSAyMC42Yy0xMS41LTE5LTM1LjktMjYtNjMuMy0yNi0zMS44IDAtNjcuOSA4LjctNzEuNSA0My4xbDMzLjcgMGMxLjQtMTMuOCAxNS43LTIxLjggMzUtMjEuOCAyNiAwIDQxIDkuNiA0MSAzM2wwIDMuNGMtMTIuNyAwLTI4IC4xLTQxLjcgLjQtNDIuNCAuOS02OS42IDEwLTc2LjcgMzQuNCAxLTUuMiAxLjUtMTAuNiAxLjUtMTYuMiAwLTUyLjEtMzkuNy03Ni4yLTc1LjQtNzYuMi0yMS4zIDAtNDMgNS41LTU4LjcgMjQuMmwwLTgwLjYtMzIuMSAwIDAgMTY5LjVjMCAxMC4zLS42IDIyLjktMS4xIDMzLjFsMzEuNSAwYy43LTYuMyAxLjEtMTIuOSAxLjEtMTkuNSAxMy42IDE2LjYgMzUuNCAyNC45IDU4LjcgMjQuOSAzNi45IDAgNjQuOS0yMS45IDczLjMtNTQuMi0uNSAyLjgtLjcgNS44LS43IDkgMCAyNC4xIDIxLjEgNDUgNjAuNiA0NSAyNi42IDAgNDUuOC01LjcgNjEuOS0yNS41IDAgNi42IC4zIDEzLjMgMS4xIDIwLjJsMjkuOCAwYy0uNy04LjItMS0xNy41LTEtMjYuOGwwLTY1LjZjMC05LjMtMS43LTE3LjItNC44LTIzLjhsNjEuNSAxMTYuMS0yOC41IDU0LjEgMzUuOSAwIDk5LjItMTk0LjgtMzQgMHpNMjQ0LjIgMzEzLjhjLTI5LjYgMC01MC4yLTIxLjUtNTAuMi01My44IDAtMzIuNCAyMC42LTUzLjggNTAuMi01My44IDI5LjggMCA1MC4yIDIxLjQgNTAuMiA1My44IDAgMzIuMy0yMC40IDUzLjgtNTAuMiA1My44em0yMDAuOS00Ny4zYzAgMzAtMTcuOSA0OC40LTUxLjYgNDguNC0yNS4xIDAtMzUtMTMuNC0zNS0yNS44IDAtMTkuMSAxOC4xLTI0LjQgNDcuMi0yNS4zIDEzLjEtLjUgMjcuNi0uNiAzOS40LS42bDAgMy4zek0zMy4yIDI2OC4xbDEyOC44IDAgMC04LjVjMC01MS43LTMzLjEtNzUuNC03OC40LTc1LjQtNTYuOCAwLTgzIDMwLjgtODMgNzcuNiAwIDQyLjUgMjUuMyA3NCA4Mi41IDc0IDMxLjQgMCA2OC0xMS43IDc0LjQtNDYuMWwtMzMuMSAwYy0xMiAzNS44LTg3LjcgMzYuNy05MS4yLTIxLjZ6bTk1LTIxLjRsLTk0LjQgMGM2LjktNTYuNiA5Mi4xLTU0LjcgOTQuNCAweiJdfSxuc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29udGFvIixpY29uOls1MTIsNTEyLFtdLCJmMjZkIiwiTTQ1LjQgMzA1YzE0LjQgNjcuMSAyNi40IDEyOSA2OC4yIDE3NUwzNCA0ODBjLTE4LjcgMC0zNC0xNS4yLTM0LTM0TDAgNjZDMCA0Ny4zIDE1LjIgMzIgMzQgMzJsNTcuNyAwYy0xMy44IDEyLjYtMjYuMSAyNy4yLTM2LjkgNDMuNi00NS40IDcwLTI3IDE0Ni44LTkuNCAyMjkuNHpNNDc4IDMybC05MC4yIDBjMjEuNCAyMS40IDM5LjIgNDkuNSA1Mi43IDg0LjFMMzAzLjQgMTQ1LjRjLTE0LjktMjktMzcuOC01My4zLTgyLjYtNDMuOS0yNC42IDUuMy00MSAxOS4zLTQ4LjMgMzQuNi04LjggMTguNy0xMy4yIDM5LjggOC4yIDE0MC4zIDIxLjEgMTAwLjIgMzMuNyAxMTcuNyA0OS41IDEzMS4yIDEyLjkgMTEuMSAzMy40IDE3IDU4LjMgMTEuNyA0NC41LTkuNCA1NS43LTQwLjcgNTcuNC03My4ybDEzNy40LTI5LjZjMy4yIDcxLjUtMTguNyAxMjUuMi01Ny40IDE2My42bDUyLjEgMGMxOC43IDAgMzQtMTUuMiAzNC0zNEw1MTIgNjZjMC0xOC44LTE1LjItMzQtMzQtMzR6Il19LHNzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbGxvIixpY29uOls1MTIsNTEyLFtdLCJmNWYxIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzk5LjggMjkzLjJDMzgzLjMgMzU4LjUgMzIzLjggNDA0LjggMjU2IDQwNC44UzEyOC43IDM1OC41IDExMi4yIDI5My4yYy0xLjYtNy40IDIuNS0xNS43IDkuOS0xNy40czE1LjcgMi41IDE3LjQgOS45YzE0IDUyLjkgNjIgOTAuMSAxMTYuNiA5MC4xczEwMi41LTM3LjIgMTE2LjYtOTAuMWMxLjctNy40IDkuOS0xMi40IDE3LjQtOS45IDcuNCAxLjcgMTIuNCA5LjkgOS45IDE3LjR6Il19LG9zdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaXN0cml4IixpY29uOls0NDgsNTEyLFtdLCJmM2VlIiwiTTQ0OCA0NDlMMzAxLjIgMzAwLjJjMjAtMjcuOSAzMS45LTYyLjIgMzEuOS05OS4yIDAtOTMuMS03NC43LTE2OC45LTE2Ni41LTE2OC45LTkxLjktLjEtMTY2LjYgNzUuNy0xNjYuNiAxNjguOFM3NC43IDM2OS44IDE2Ni41IDM2OS44YzM5LjggMCA3Ni4zLTE0LjIgMTA1LTM3LjlMNDE3LjUgNDgwIDQ0OCA0NDl6TTE2Ni41IDMzMC44Yy03MC42IDAtMTI4LjEtNTguMy0xMjguMS0xMjkuOVM5NS45IDcxIDE2Ni41IDcxIDI5NC42IDEyOS4zIDI5NC42IDIwMC45IDIzNy4yIDMzMC44IDE2Ni41IDMzMC44eiJdfSxsc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGVyaXNjb3BlIixpY29uOls0NDgsNTEyLFtdLCJmM2RhIiwiTTM3MCA2My42Yy0zOC42LTQxLTg5LjUtNjMuNi0xNDMuNC02My42LTExNC43IDAtMjA4LjEgOTYuMi0yMDguMSAyMTQuNCAwIDc1LjEgNTcuOCAxNTkuOCA4Mi43IDE5Mi43IDM2LjYgNDguNCA5MS40IDEwNC45IDEyNS40IDEwNC45IDQxLjYgMCAxMTIuOS05NC4yIDEyMC45LTEwNSAyNC42LTMzLjEgODItMTE4LjMgODItMTkyLjYgMC01Ni41LTIxLjEtMTEwLjEtNTkuNS0xNTAuOHpNMjI2LjYgNDkzLjljLTQyLjUgMC0xOTAtMTY3LjMtMTkwLTI3OS40IDAtMTA3LjQgODMuOS0xOTYuMyAxOTAtMTk2LjMgMTAwLjggMCAxODQuNyA4OSAxODQuNyAxOTYuMyAuMSAxMTIuMS0xNDcuNCAyNzkuNC0xODQuNyAyNzkuNHpNMzM4IDIwNi44YzAgNTkuMS01MS4xIDEwOS43LTExMC44IDEwOS43LTEwMC42IDAtMTUwLjctMTA4LjItOTIuOS0xODEuOGwwIC40YzAgMjQuNSAyMC4xIDQ0LjQgNDQuOCA0NC40czQ0LjgtMTkuOSA0NC44LTQ0LjRjMC0xOC4yLTExLjEtMzMuOC0yNi45LTQwLjcgNzYuNi0xOS4yIDE0MSAzOS4zIDE0MSAxMTIuNHoiXX0sY3N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImV4cGVkaXRlZHNzbCIsaWNvbjpbNTEyLDUxMixbXSwiZjIzZSIsIk0yNTYgNDMuNGEyMTIuNiAyMTIuNiAwIDEgMCAwIDQyNS4yIDIxMi42IDIxMi42IDAgMSAwIDAtNDI1LjJ6TTE1OC42IDE3Ni4zYzAtNTMuNyA0My43LTk3LjQgOTcuNC05Ny40czk3LjQgNDMuNyA5Ny40IDk3LjRsMCAyNi42YzAgNS0zLjkgOC45LTguOSA4LjlsLTE3LjcgMGMtNSAwLTguOS0zLjktOC45LTguOWwwLTI2LjZjMC04Mi4xLTEyNC04Mi4xLTEyNCAwbDAgMjYuNmMwIDUtMy45IDguOS04LjkgOC45bC0xNy43IDBjLTUgMC04LjktMy45LTguOS04LjlsMC0yNi42IC4yIDB6TTM5Ny43IDM4MGMwIDkuNy04IDE3LjctMTcuNyAxNy43bC0yNDggMGMtOS43IDAtMTcuNy04LTE3LjctMTcuN2wwLTE0MS43YzAtOS43IDgtMTcuNyAxNy43LTE3LjdsMjQ4IDBjOS43IDAgMTcuNyA4IDE3LjcgMTcuN2wwIDE0MS43em0tMjQ4LTEzNy4zbDAgMTMyLjljMCAyLjUtMS45IDQuNC00LjQgNC40bC04LjkgMGMtMi41IDAtNC40LTEuOS00LjQtNC40bDAtMTMyLjljMC0yLjUgMS45LTQuNCA0LjQtNC40bDguOSAwYzIuNSAwIDQuNCAxLjkgNC40IDQuNHptMTQxLjcgNDguN2MwIDEzLTcuMiAyNC40LTE3LjcgMzAuNGwwIDMxLjZjMCA1LTMuOSA4LjktOC45IDguOWwtMTcuNyAwYy01IDAtOC45LTMuOS04LjktOC45bDAtMzEuNmMtMTAuNS02LjEtMTcuNy0xNy40LTE3LjctMzAuNCAwLTE5LjcgMTUuOC0zNS40IDM1LjQtMzUuNHMzNS41IDE1LjggMzUuNSAzNS40ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6bTAgMTcuN2EyMzAuMyAyMzAuMyAwIDEgMSAwIDQ2MC42IDIzMC4zIDIzMC4zIDAgMSAxIDAtNDYwLjZ6Il19LGRzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuYXBzdGVyIixpY29uOls1MTIsNTEyLFtdLCJmM2QyIiwiTTMwNi4zIDM3My42Yy0xNC4yIDEzLjYtMzEuMyAyNC4xLTUwLjQgMzAuNS0xOS02LjQtMzYuMi0xNi45LTUwLjMtMzAuNWwxMDAuNyAwem00NC0xOTkuNmMyMC0xNi45IDQzLjYtMjkuMiA2OS42LTM2LjJsMCAxNjEuMmMwIDIxOS40LTMyOCAyMTcuNi0zMjggLjNsMC0xNjEuNmMyNS45IDYuOSA0OS42IDE5LjYgNjkuNSAzNi40IDU2LjgtNDAgMTMyLjUtMzkuOSAxODguOS0uMXpNMTQxLjUgMTE1LjVjNjQuNC02MCAxNjQuMy02MC4xIDIyOC45LS4yLTcuMSAzLjUtMTMuOSA3LjMtMjAuNiAxMS41LTU4LjctMzAuNS0xMjkuMi0zMC40LTE4Ny45IC4xLTYuMy00LTEzLjktOC4yLTIwLjQtMTEuNHpNNTEuOCA5My4ybDAgNjkuM2MtNTguNCAzNi41LTU4LjQgMTIxLjEgLjEgMTU4LjMgMjYuNCAyNDUuMSAzODEuNyAyNDAuMyA0MDcuNiAxLjVsLjMtMS43YzU4LjctMzYuMyA1OC45LTEyMS43IC4yLTE1OC4ybDAtNjkuMmMtMTcuMyAuNS0zNCAzLTUwLjEgNy40LTgyLTkxLjUtMjI1LjUtOTEuNS0zMDcuNSAuMS0xNi4zLTQuNC0zMy4xLTctNTAuNi03LjV6TTI2Ny4yIDM1MnMzNi0uMyA2MS4zLTEuNWMxMC4yLS41IDIxLjEtNCAyNS41LTYuNSAyNi4zLTE1LjEgMjUuNC0zOS4yIDI2LjItNDcuNC03OS41LS42LTk5LjktMy45LTExMyA1NS40ek0xMzEuNyAyOTYuN2MuOCA4LjItLjEgMzIuMyAyNi4yIDQ3LjQgNC40IDIuNSAxNS4yIDYgMjUuNSA2LjUgMjUuMyAxLjEgNjEuMyAxLjUgNjEuMyAxLjUtMTMuMi01OS40LTMzLjctNTYuMS0xMTMtNTUuNHpNMzAwLjggNDIwLjFjLTMuMi01LjMtNi45LTcuMy02LjktNy4zLTI0LjggNy4zLTUyLjIgNi45LTc1LjkgMCAwIDAtMi45IDEuNS02LjQgNi42LTIuOCA0LjEtMy43IDkuNi0zLjcgOS42IDI5LjEgMTcuNiA2Ny4xIDE3LjYgOTYuMiAwLS4xLS4xLS4zLTQtMy4zLTguOXoiXX0sdXN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRlbGljaW91cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjFhNSIsIk00NDYuNiA2OGMtLjQtMS41LS45LTMtMS40LTQuNS0uOS0yLjUtMi00LjgtMy4zLTcuMS0xLjQtMi40LTMtNC44LTQuNy02LjktMi4xLTIuNS00LjQtNC44LTYuOS02LjgtMS4xLS45LTIuMi0xLjctMy4zLTIuNS0xLjMtLjktMi42LTEuNy00LTIuNC0xLjgtMS0zLjYtMS44LTUuNS0yLjUtMS43LS43LTMuNS0xLjMtNS40LTEuNy0zLjgtMS03LjktMS41LTEyLTEuNWwtMzUyIDBDMjEuNiAzMiAuMSA1My41IC4xIDgwbDAgMzUyYzAgNC4xIC41IDguMiAxLjUgMTIgMiA3LjcgNS44IDE0LjYgMTEgMjAuMyAxIDEuMSAyLjEgMi4yIDMuMyAzLjMgNS43IDUuMiAxMi42IDkgMjAuMyAxMSAzLjggMSA3LjkgMS41IDEyIDEuNWwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1Mi4xYy0uMS00LjEtLjYtOC4yLTEuNi0xMnpNNDE2LjEgNDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMTc2IDAgMC0xOTItMTkyIDAgMC0xNzZjMC04LjggNy4yLTE2IDE2LTE2bDE3NiAwIDAgMTkyIDE5MiAwIDAgMTc2eiJdfSxwc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3VpbGRlZCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA3ZSIsIk00NDMuOSA2NEw1IDY0YzAgMTAzLjMgMjIuMiAxODAuMSA0My40IDIyMi40IDY0LjEgMTI3LjggMTc2IDE2MS42IDE3Ny4zIDE2MS42IDU1LjctMjAuNSAxMDQuNS01Ni4zIDE0MC42LTEwMy41IDI1LjktMzMuOSA1My4xLTg3LjIgNjUuOS0xNDUuOGwtMjU5LjkgMGM0LjEgMzYuNCAyMi4yIDY3LjkgNDUuMSA4Ni45bDg4LjYgMGMtMTcgMjguMi00OC4yIDU0LjQtODAuNSA2OS41LTMxLjItMTMuMy02OS4xLTQ2LjUtOTYuNS05OC40LTI2LjctNTMuOC0yNy4xLTEwNS45LTI3LjEtMTA1LjlsMzM2LjEgMGM0LTI4LjggNS45LTU3LjkgNS45LTg2Ljl6Il19LGZzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvYnNpZGlhbiIsaWNvbjpbMzg0LDUxMixbXSwiZTg3OSIsIk0xNDIuMyAzMjAuM2MzNi4xLTguMiA3MC4zLTExIDEwMS4zIC43IDMxLjggMTEuOSA2MS43IDM5LjYgODYuNyA5Ni04LjEgMTcuNy0xMi40IDM2LjktMTQuNyA1My44LTMuMSAyMi45LTI1LjQgNDAuNy00Ny43IDM0LjYtMzEuNy04LjctNjguMy0yMi4zLTEwMS4zLTI0LjktNC40LS4zLTUwLjYtMy44LTUwLjYtMy44LTEuNy0uMS0zLjQtLjQtNS4xLS44IDMxLjUtNjQuMiAzOC4yLTExNS4xIDMxLjMtMTU1LjR6TTU1IDIxOS41YzIyLjMgMTQuOCA0OS41IDM3LjggNjQuMSA3My42IDE2LjEgMzkuNCAxNy44IDk1LjctMjEuNiAxNzYuMS0xLS44LTIuMS0xLjctMy0yLjdMNy40IDM3Ni44Yy05LjUtOS44LTEyLjEtMjQuNC02LjUtMzYuOSAuNi0xLjMgNDQuNi05OC4zIDU0LjEtMTIwLjR6bTI2NC4zLTkxLjNjNC45IDYuMiA3LjQgMTQgNy40IDIxLjkgLjEgMjAuOCAxLjggNjMuNiAxMy4zIDkxLjIgMTEuMiAyNi44IDMxLjggNTUuOCA0Mi41IDcwIDQuMSA1LjUgNC44IDEyLjkgMS4zIDE4LjctNy42IDEyLjgtMjIuNiAzNy41LTQzLjggNjkuMi0uMyAuNC0uNiAuOS0uOCAxLjMtMjUuMi01Mi4yLTU1LjktODAuNy05MC40LTkzLjYtOS42LTMuNi0xOS41LTYtMjkuNC03LjMtMTcuOC00NS44LTIzLjItNzkuNy0yMi0xMDYuNCAxLjItMjcuNCA5LjItNDcuOCAxOC4yLTY2LjMgOC45LTE4LjEgMTkuOC0zNS45IDI0LjktNTUuNyAzLjItMTIuNSA0LjItMjUuOCAxLjctNDAuOWw3Ny4xIDk4ek0xODQuMiAxNC4xYzEwLjMtOS4yIDI0LjYtMTAuOCAzNi4zLTUuNSA5LjYgMjQuNiA5LjcgNDIuOCA1LjYgNTguOC00LjYgMTcuOC0xNC4xIDMzLTIzLjkgNTIuOC05LjYgMTkuNS0xOC40IDQyLTE5LjcgNzIuMy0xLjIgMjcuOSA0LjEgNjEuOSAyMC40IDEwNS44LTIxLS42LTQyLjUgMi42LTYzLjcgNy40LTEuNy02LjQtMy44LTEyLjQtNi4xLTE4LjItMTcuMy00Mi4yLTQ5LjktNjcuOS03NC4xLTgzLjMgMy4xLTE4LjcgOC4yLTU1LjQgMTEuNi03Ny41IDEuMi03LjYgNC45LTE0LjYgMTAuNy0xOS44TDE4NC4yIDE0LjF6Il19LGhzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ4Ym94IixpY29uOls1MTIsNTEyLFtdLCJmNDEyIiwiTTM2OS45IDMxOC4yYzQ0LjMgNTQuMyA2NC43IDk4LjggNTQuNCAxMTguNy03LjkgMTUuMS01Ni43IDQ0LjYtOTIuNiA1NS45LTI5LjYgOS4zLTY4LjQgMTMuMy0xMDAuNCAxMC4yLTM4LjItMy43LTc2LjktMTcuNC0xMTAuMS0zOS0yNy45LTE4LjItMzQuMi0yNS43LTM0LjItNDAuNiAwLTI5LjkgMzIuOS04Mi4zIDg5LjItMTQyLjEgMzItMzMuOSA3Ni41LTczLjcgODEuNC03Mi42IDkuNCAyLjEgODQuMyA3NS4xIDExMi4zIDEwOS41ek0xODguNiAxNDMuOGMtMjkuNy0yNi45LTU4LjEtNTMuOS04Ni40LTYzLjQtMTUuMi01LjEtMTYuMy00LjgtMjguNyA4LjEtMjkuMiAzMC40LTUzLjUgNzkuNy02MC4zIDEyMi40LTUuNCAzNC4yLTYuMSA0My44LTQuMiA2MC41IDUuNiA1MC41IDE3LjMgODUuNCA0MC41IDEyMC45IDkuNSAxNC42IDEyLjEgMTcuMyA5LjMgOS45LTQuMi0xMS0uMy0zNy41IDkuNS02NCAxNC4zLTM5IDUzLjktMTEyLjkgMTIwLjMtMTk0LjR6bTMxMS42IDYzLjVjLTE2LjktODAtNjcuNS0xMzAuMy03NC42LTEzMC4zLTcuMyAwLTI0LjIgNi41LTM2IDEzLjktMjMuMyAxNC41LTQxIDMxLjQtNjQuMyA1Mi44IDQyLjQgNTMuMyAxMDIuMiAxMzkuNCAxMjIuOSAyMDIuMyA2LjggMjAuNyA5LjcgNDEuMSA3LjQgNTIuMy0xLjcgOC41LTEuNyA4LjUgMS40IDQuNiA2LjEtNy43IDE5LjktMzEuMyAyNS40LTQzLjUgNy40LTE2LjIgMTUtNDAuMiAxOC42LTU4LjcgNC4zLTIyLjUgMy45LTcwLjgtLjgtOTMuNHpNMTQxLjMgNDNjNDcuNy0yLjUgMTA5LjcgMzQuNSAxMTQuMyAzNS40IC43IC4xIDEwLjQtNC4yIDIxLjYtOS43IDYzLjktMzEuMSA5NC0yNS44IDEwNy40LTI1LjItNjMuOS0zOS4zLTE1Mi43LTUwLTIzMy45LTExLjctMjMuNCAxMS4xLTI0IDExLjktOS40IDExLjJ6Il19LG1zdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bnRhcHBkIixpY29uOls2NDAsNTEyLFtdLCJmNDA1IiwiTTQwMS41IDQ5LjlDMzIxLjcgMjEwIDMxNi45IDIwMi40IDMxMy42IDIyMy4xbC01LjIgMzIuOGMtMS45IDEyLTYuNiAyMy41LTEzLjcgMzMuNEwxNDUuOCA0OTcuMWMtNy42IDEwLjYtMjAuNCAxNi4yLTMzLjQgMTQuNi00MC4zLTUtNzcuOC0zMi4yLTk1LjMtNjguNS01LjctMTEuOC00LjUtMjUuOCAzLjEtMzYuNEwxNjkuMSAxOTguOWM3LjEtOS45IDE2LjQtMTggMjcuMi0yMy43bDI5LjMtMTUuNWMxOC41LTkuOCA5LjctMTEuOSAxMzUuNi0xMzguOSAxLTQuOCAxLTcuMyAzLjYtOCAzLS43IDYuNi0xIDYuMy00LjZsLS40LTQuNmMtLjItMS45IDEuMy0zLjYgMy4yLTMuNiA0LjUtLjEgMTMuMiAxLjIgMjUuNiAxMCAxMi4zIDguOSAxNi40IDE2LjggMTcuNyAyMS4xIC42IDEuOC0uNiAzLjctMi40IDQuMmwtNC41IDEuMWMtMy40IC45LTIuNSA0LjQtMi4zIDcuNCAuMSAyLjgtMi4zIDMuNi02LjUgNi4xek0yMzAuMyAzNi40YzMuNCAuOSAyLjUgNC40IDIuMyA3LjQtLjIgMi43IDIuMSAzLjUgNi40IDYgNy45IDE1LjkgMTUuMyAzMC41IDIyLjIgNDQgLjcgMS4zIDIuMyAxLjUgMy4zIC41IDExLjItMTIgMjQuNi0yNi4yIDQwLjUtNDIuNiAxLjMtMS40IDEuNC0zLjUgLjEtNC45LTgtOC4yLTE2LjUtMTYuOS0yNS42LTI2LjEtMS00LjctMS03LjMtMy42LTgtMy0uOC02LjYtMS02LjMtNC42IC4zLTMuMyAxLjQtOC4xLTIuOC04LjItNC41LS4xLTEzLjIgMS4xLTI1LjYgMTAtMTIuMyA4LjktMTYuNCAxNi44LTE3LjcgMjEuMS0xLjQgNC4yIDMuNiA0LjYgNi44IDUuNHpNNjIwLjIgNDA2LjdMNDcxLjQgMTk4LjhjLTEzLjItMTguNS0yNi42LTIzLjQtNTYuNC0zOS4xLTExLjItNS45LTE0LjItMTAuOS0zMC41LTI4LjktMS0xLjEtMi45LS45LTMuNiAuNS00Ni4zIDg4LjgtNDcuMSA4Mi44LTQ5IDk0LjgtMS43IDEwLjctMS4zIDIwIC4zIDI5LjggMS45IDEyIDYuNiAyMy41IDEzLjcgMzMuNEw0OTQuOCA0OTcuMmM3LjYgMTAuNiAyMC4yIDE2LjIgMzMuMSAxNC43IDQwLjMtNC45IDc4LTMyIDk1LjctNjguNiA1LjQtMTEuOSA0LjMtMjUuOS0zLjQtMzYuNnoiXX0sZ3N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1wbHVzLWciLGljb246WzY0MCw1MTIsW10sImYwZDUiLCJNMzg2LjMgMjI4LjVjMS44IDkuNyAzLjEgMTkuNCAzLjEgMzIgMCAxMDkuOC03My42IDE4Ny41LTE4NC40IDE4Ny41LTEwNi4xIDAtMTkyLTg1LjktMTkyLTE5MlM5OC45IDY0IDIwNSA2NGM1MS45IDAgOTUuMSAxOC45IDEyOC42IDUwLjNsLTUyLjEgNTBjLTE0LjEtMTMuNi0zOS0yOS42LTc2LjUtMjkuNi02NS41IDAtMTE4LjkgNTQuMi0xMTguOSAxMjEuM1MxMzkuNSAzNzcuMyAyMDUgMzc3LjNjNzYgMCAxMDQuNS01NC43IDEwOS04Mi44bC0xMDkgMCAwLTY2IDE4MS4zIDAgMCAwem0xODUuNCA2LjRsMC01NS43LTU2IDAgMCA1NS43LTU1LjcgMCAwIDU2IDU1LjcgMCAwIDU1LjcgNTYgMCAwLTU1LjcgNTUuNyAwIDAtNTYtNTUuNyAweiJdfSxic3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0aHViLWFsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjExMyIsIk0yMDIuMSAzMjguN2MwIDIwLjktMTAuOSA1NS4xLTM2LjcgNTUuMXMtMzYuNy0zNC4yLTM2LjctNTUuMSAxMC45LTU1LjEgMzYuNy01NS4xIDM2LjcgMzQuMiAzNi43IDU1LjF6TTQ5NiAyNzguMmMwIDMxLjktMy4yIDY1LjctMTcuNSA5NS0zNy45IDc2LjYtMTQyLjEgNzQuOC0yMTYuNyA3NC44LTc1LjggMC0xODYuMiAyLjctMjI1LjYtNzQuOC0xNC42LTI5LTIwLjItNjMuMS0yMC4yLTk1IDAtNDEuOSAxMy45LTgxLjUgNDEuNS0xMTMuNi01LjItMTUuOC03LjctMzIuNC03LjctNDguOCAwLTIxLjUgNC45LTMyLjMgMTQuNi01MS44IDQ1LjMgMCA3NC4zIDkgMTA4LjggMzYgMjktNi45IDU4LjgtMTAgODguNy0xMCAyNyAwIDU0LjIgMi45IDgwLjQgOS4yIDM0LTI2LjcgNjMtMzUuMiAxMDcuOC0zNS4yIDkuOCAxOS41IDE0LjYgMzAuMyAxNC42IDUxLjggMCAxNi40LTIuNiAzMi43LTcuNyA0OC4yIDI3LjUgMzIuNCAzOSA3Mi4zIDM5IDExNC4yem0tNjQuMyA1MC41YzAtNDMuOS0yNi43LTgyLjYtNzMuNS04Mi42LTE4LjkgMC0zNyAzLjQtNTYgNi0xNC45IDIuMy0yOS44IDMuMi00NS4xIDMuMi0xNS4yIDAtMzAuMS0uOS00NS4xLTMuMi0xOC43LTIuNi0zNy02LTU2LTYtNDYuOCAwLTczLjUgMzguNy03My41IDgyLjYgMCA4Ny44IDgwLjQgMTAxLjMgMTUwLjQgMTAxLjNsNDguMiAwYzcwLjMgMCAxNTAuNi0xMy40IDE1MC42LTEwMS4zem0tODIuNi01NS4xYy0yNS44IDAtMzYuNyAzNC4yLTM2LjcgNTUuMXMxMC45IDU1LjEgMzYuNyA1NS4xIDM2LjctMzQuMiAzNi43LTU1LjEtMTAuOS01NS4xLTM2LjctNTUuMXoiXX0sdnN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdldC1wb2NrZXQiLGljb246WzQ0OCw1MTIsW10sImYyNjUiLCJNNDA3LjYgNjRsLTM2NyAwQzE4LjUgNjQgMCA4Mi41IDAgMTA0LjZMMCAyMzkuOEMwIDM2NC41IDk5LjcgNDY0IDIyNC4yIDQ2NCAzNDguMiA0NjQgNDQ4IDM2NC41IDQ0OCAyMzkuOGwwLTEzNS4yQzQ0OCA4Mi4yIDQzMC4zIDY0IDQwNy42IDY0em0tMTYyIDI2OC41Yy0xMi40IDExLjgtMzEuNCAxMS4xLTQyLjQgMC0xMTMuNy0xMDguOS0xMTQuOS0xMDUuMS0xMTQuOS0xMjMuMiAwLTE2LjkgMTMuOC0zMC43IDMwLjctMzAuNyAxNyAwIDE2LjEgMy44IDEwNS4yIDg5LjMgOTAuNi04Ni45IDg4LjYtODkuMyAxMDUuNS04OS4zczMwLjcgMTMuOCAzMC43IDMwLjdjMCAxNy44LTIuOSAxNS43LTExNC44IDEyMy4yeiJdfSx4c3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2xpZGUiLGljb246WzQ0OCw1MTIsW10sImYyYTUiLCJNMjUyLjggMTQ4LjZjMCA4LjgtMS42IDE3LjctMy40IDI2LjQtNS44IDI3LjgtMTEuNiA1NS44LTE3LjMgODMuNi0xLjQgNi4zLTguMyA0LjktMTMuNyA0LjktMjMuOCAwLTMwLjUtMjYtMzAuNS00NS41IDAtMjkuMyAxMS4yLTY4LjEgMzguNS04My4xIDQuMy0yLjUgOS4yLTQuMiAxNC4xLTQuMiAxMS40IDAgMTIuMyA4LjMgMTIuMyAxNy45ek00NDggODBsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDM1MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0zODQgMjY3YzAtNS4xLTIwLjgtMzcuNy0yNS41LTM5LjUtMi4yLS45LTcuMi0yLjMtOS42LTIuMy0yMy4xIDAtMzguNyAxMC41LTU4LjIgMjEuNWwtLjUtLjVjNC4zLTI5LjQgMTQuNi01Ny4yIDE0LjYtODcuNCAwLTQ0LjYtMjMuOC02Mi43LTY3LjUtNjIuNy03MS43IDAtMTA4IDcwLjgtMTA4IDEyMy41IDAgNTQuNyAzMiA4NSA4Ni4zIDg1IDcuNSAwIDYuOS0uNiA2LjkgMi4zLTEwLjUgODAuMy01Ni41IDgyLjktNTYuNSA1OC45IDAtMjQuNCAyOC0zNi41IDI4LjMtMzgtLjItNy42LTI5LjMtMTcuMi0zNi43LTE3LjItMjEuMSAwLTMyLjcgMzMtMzIuNyA1MC42IDAgMzIuMyAyMC40IDU0LjcgNTMuMyA1NC43IDQ4LjIgMCA4My40LTQ5LjcgOTQuMy05MS43IDkuNC0zNy43IDctMzkuNCAxMi4zLTQyLjEgMjAtMTAuMSAzNS44LTE2LjggNTguNC0xNi44IDExLjEgMCAxOSAyLjMgMzYuNyA1LjIgMS44IC4xIDQuMS0xLjcgNC4xLTMuNXoiXX0seXN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpdHkiLGljb246WzUxMiw1MTIsW10sImYzN2EiLCJNODYuNSA2Ny4yYzk1LjQtODkuMiAyNDYuMS05MS4yIDM0My4xIDMuOCAxNC4zIDE0LjEtNi40IDM3LjEtMjIuNCAyMS41LTg0LjgtODIuNC0yMTUuOC04MC4zLTI5OC45LTMuMi0xNi4zIDE1LjEtMzYuNS04LjMtMjEuOC0yMi4xem05OC45IDQxOC42YzE5LjMgNS43IDI5LjMtMjMuNiA3LjktMzAtMTEyLjItMzMuOS0xNzUuOC0xNDkuNy0xNDcuNS0yNjEgNS0xOS42LTI0LjktMjguMS0zMC4yLTcuMS0zMi4xIDEyNy40IDQxLjEgMjU5LjggMTY5LjggMjk4LjF6bTE0OC4xLTJjMTIxLjktNDAuMiAxOTIuOS0xNjYuOSAxNjQuNC0yOTEtNC41LTE5LjctMzQuOS0xMy44LTMwIDcuOSAyNC4yIDEwNy43LTM3LjEgMjE3LjktMTQzLjIgMjUzLjQtMjEuMiA3LTEwLjQgMzYgOC44IDI5Ljd6bS02Mi45LTc5bC4yLTcxLjhjMC04LjItNi42LTE0LjgtMTQuOC0xNC44cy0xNC44IDYuNy0xNC44IDE0LjhsLS4yIDcxLjhjMCA4LjIgNi42IDE0LjggMTQuOCAxNC44czE0LjgtNi42IDE0LjgtMTQuOHptNzEtMjY5YzIuMSA5MC45IDQuNyAxMzEuOS04NS41IDEzMi41LTkyLjUtLjctODYuOS00NC4zLTg1LjUtMTMyLjUgMC0yMS44LTMyLjUtMTkuNi0zMi41IDBsMCA3MS42YzAgNjkuMyA2MC43IDkwLjkgMTE4IDkwLjEgNTcuMyAuOCAxMTgtMjAuOCAxMTgtOTAuMWwwLTcxLjZjMC0xOS42LTMyLjUtMjEuOC0zMi41IDB6Il19LHdzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cGV4cGxvcmVyIixpY29uOls1MTIsNTEyLFtdLCJmMmRlIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTQ4MCAwYTIyNCAyMjQgMCAxIDAgLTQ0OCAwIDIyNCAyMjQgMCAxIDAgNDQ4IDB6TTE2MC45IDEyNC42bDg2LjkgMzcuMS0zNy4xIDg2LjktODYuOS0zNy4xIDM3LjEtODYuOXptMTEwIDE2OS4xbDQ2LjYgOTQtMTQuNiAwLTUwLTEwMC00OC45IDEwMC0xNCAwIDUxLjEtMTA2LjktMjIuMy05LjQgNi0xNCA2OC42IDI5LjEtNiAxNC4zLTE2LjUtNy4xek0yNTkuMSAxNzcuNGw2OC42IDI5LjQtMjkuNCA2OC4zLTY4LjMtMjkuMSAyOS4xLTY4LjZ6bTgwLjMgNDIuOWw1NC42IDIzLjEtMjMuNCA1NC4zLTU0LjMtMjMuMSAyMy4xLTU0LjN6Il19LE1zdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZWdhcG9ydCIsaWNvbjpbNTEyLDUxMixbXSwiZjVhMyIsIk0yMjIuNSAyMDkuNmwwIDY2LjIgMzMuNSAzMy41IDMzLjMtMzMuMyAwLTY2LjQtMzMuNC0zMy40LTMzLjQgMzMuNHpNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MDEuMSA0MjIuNGwtMjYuMSAxOS4yLTI2LTE5LjIgMC02NS41LTMzLjQtMzMuNC0zMy40IDMzLjQgMCA2NS41LTI2LjIgMTkuMi0yNi4xLTE5LjIgMC02NS41LTMzLjQtMzMuNC0zMy41IDMzLjQgMCA2NS41LTI2LjEgMTkuMi0yNi4xLTE5LjIgMC04NyA1OS41LTU5LjUgMC04Ny45IDU5LjUtNTkuNSAwLTc1LjYgMjYuMS0xOS4yIDI2LjEgMTkuMiAwIDc1LjYgNTkuNSA1OS41IDAgODcuNiA1OS43IDU5LjcgMCA4Ny4xLS4xIDB6Il19LGtzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsZWV0Y29kZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTg2YSIsIk0yMzUuNCA5LjNDMjQ2LjUtMi41IDI2NS4xLTMuMiAyNzcgNy45czEyLjUgMjkuOCAxLjQgNDEuNmwtNDMgNDZjMjEuNSAzLjMgNDIuMSAxMS44IDU5LjEgMjUuNmw3NC42IDYwLjNjMTIuNiAxMC4yIDE0LjYgMjguOCA0LjQgNDEuNHMtMjguNyAxNC42LTQxLjQgNC40bC03NC42LTYwLjNjLTI2LjItMjEuMS03MS45LTE4LjItOTQuNSA1LjlMODEgMjYxYy0yMS41IDIzLTE5LjEgNjAgNS42IDg0LjJsOTEuMiA4OS40YzI0LjkgMjQgNjUuNiAyNCA5MC4xLS40bDUxLjEtNTFjMTEuNS0xMS41IDMwLjEtMTEuNSA0MS42IC4xczExLjQgMzAuMi0uMSA0MS43bC01MS4xIDUxYy00Ny4xIDQ3LjEtMTI0IDQ3LjctMTcxLjkgMS42bC05Mi05MC4yQy0xLjQgMzQxLjMtNiAyNjcuOSAzOCAyMjAuN0wyMzUuNCA5LjN6TTQxMS43IDI3My4yYzE2LjIgMCAyOS40IDEzLjIgMjkuNCAyOS41cy0xMy4yIDI5LjUtMjkuNCAyOS41bC0yMTYuOSAwYy0xNi4yIDAtMjkuNC0xMy4yLTI5LjQtMjkuNXMxMy4yLTI5LjUgMjkuNC0yOS41bDIxNi45IDB6Il19LFNzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZGIiLGljb246WzU3Niw1MTIsW10sImY4Y2EiLCJNMTcuNCAxNjAuNGwtMTAuNCAxOTEuNiA0My45IDAgNS42LTc5LjggMjcuOSA3OS44IDQ0LjcgMCAyNS41LTc3LjQgNC44IDc3LjQgNDUuNSAwLTEyLjgtMTkxLjYtNDUuNSAwLTQwLjcgMTE3LjMtNDIuMy0xMTcuMy00Ni4zIDB6bTI4MSAwbC00Ny45IDAgMCAxOTEuNiA0Ny45IDBzOTUgLjggOTQuMi05NS44Yy0uOC05NC4yLTk0LjItOTUuOC05NC4yLTk1LjhsMCAwem0tMS4yIDE0Ni41bDAtMTAyLjFzNDYgNC4zIDQ2LjggNTAuNi00Ni44IDUxLjUtNDYuOCA1MS41bDAgMHptMjM4LjMtNzQuMmM3LjItMTEuNCAxMC0yNSA4LTM4LjMtNS4zLTM1LjgtNTUuMS0zNC4zLTU1LjEtMzQuM2wtNTEuOSAwIDAgMTkxLjYgNDUuNSAwczg3IDQuOCA4Ny02My44YzAtNDMuMS0zMy41LTU1LjEtMzMuNS01NS4xbDAgMHptLTUxLjktMzEuOXMxMy42LTEuNiAxNiA5LjZjMS40IDYuNy00IDEyLTQgMTJsLTEyIDAgMC0yMS42em0tLjEgMTA5LjVsLjEtMjQuOSAwLTE4LjIgLjEgMHM0MS42LTQuNyA0MS4yIDIyLjRjLS4zIDI1LjctNDEuMyAyMC43LTQxLjMgMjAuN2wwIDB6Il19LHpzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYWdlNCIsaWNvbjpbNTEyLDUxMixbXSwiZjNkNyIsIk0yNTYgNTA0QzExOSA1MDQgOCAzOTMgOCAyNTZTMTE5IDggMjU2IDhjMjAuOSAwIDQxLjMgMi42IDYwLjcgNy41TDUwLjMgMzkyIDI1NiAzOTIgMjU2IDUwNHptMC0xNDMuNmwwLTIxMy42LTE0OS40IDIxMy42IDE0OS40IDB6TTM1MiAzOTJsMCA5Mi43YzQ1LjctMTkuMiA4NC41LTUxLjcgMTExLjQtOTIuN0wzNTIgMzkyem01Ny40LTEzOC4ybC0yMS4yIDguNCAyMS4yIDguMyAwLTE2Ljd6bS0yMC4zIDU0LjVjLTYuNyAwLTggNi4zLTggMTIuOWwwIDcuNyAxNi4yIDAgMC0xMGMwLTUuOS0yLjMtMTAuNi04LjItMTAuNnpNNTA0IDI1NmMwIDM3LjMtOC4yIDcyLjctMjMgMTA0LjRsLTEyOSAwIDAtMzMzLjFDNDQxLjMgNjQuOCA1MDQgMTUzLjEgNTA0IDI1NnpNMzY4LjQgMTQzLjZsNjguMiAwIDAtNDcuNi0xMy45IDAgMCAzMi42LTEzLjkgMCAwLTI5LjYtMTMuOSAwIDAgMjkuNi0xMi43IDAgMC0zMi42LTEzLjkgMCAwIDQ3LjYgLjEgMHptNjguMSAxODUuM2wtMjYuNSAwIDAtMTFjMC0xNS40LTUuNi0yNS4yLTIwLjktMjUuMi0xNS40IDAtMjAuNyAxMC42LTIwLjcgMjUuOWwwIDI1LjMgNjguMiAwIDAtMTUtLjEgMHptMC0xMDNsLTY4LjIgMjkuNyAwIDEyLjQgNjguMiAyOS41IDAtMTYuNi0xNC40LTUuNyAwLTI2LjUgMTQuNC01LjkgMC0xNi45em0tNC44LTY4LjVsLTM1LjYgMCAwIDI2LjYgMTMuOSAwIDAtMTIuMiAxMSAwYzguNiAxNS44IDEuMyAzNS4zLTE4LjYgMzUuMy0yMi41IDAtMjguMy0yNS4zLTE1LjUtMzcuN2wtMTEuNi0xMC42Yy0xNi4yIDE3LjUtMTIuMiA2My45IDI3LjEgNjMuOSAzNCAwIDQ0LjctMzUuOSAyOS4zLTY1LjN6Il19LENzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGUtcmVkLXlldGkiLGljb246WzUxMiw1MTIsW10sImY2OWQiLCJNNDg4LjcgMjQxLjdsMjAuNyA3LjFjLTkuNi0yMy45LTIzLjktMzctMzEuNy00NC44bDcuMS0xOC4yYy4yIDAgMTIuMy0yNy44LTIuNS0zMC43LS42LTExLjMtNi42LTI3LTE4LjQtMjctNy42LTEwLjYtMTcuNy0xMi4zLTMwLjctNS45LTkuMSA0LjQtMTcuNiAxMC0yNS4zIDE2LjUtNS4zLTYuNC0zIC40LTMtMjkuOC0zNy4xLTI0LjMtNDUuNC0xMS43LTc0LjggM2wuNSAuNWMtMjItNy43LTQ1LjEtMTIuMi02OC40LTEzLjMtNS41LTguNy0xOC42LTE5LjEtMjUuMS0yNS4xbDI0LjggNy4xYy01LjUtNS41LTI2LjgtMTIuOS0zNC4yLTE1LjIgMTguMi00LjEgMjkuOC0yMC44IDQyLjUtMzMtMzQuOS0xMC4xLTY3LjktNS45LTk3LjkgMTEuOGwxMi00NC4yLTEuOC0uNWMtMzEuNiAyNC4yLTMzIDQxLjktMzMuNyA0NS41LS45LTIuNC02LjMtMTkuNi0xNS4yLTI3LTMuMyA4LjEtMy41IDE3LjEtLjUgMjUuMyAzIDguNCA1LjkgMTQuOCA4LjQgMTguOS0xNi0zLjMtMjguMy00LjktNDkuMiAwbC0zLjcgMCAzMyAxNC4zYy0yMC4yIDE4LjktMzYuMSA0MS45LTQ2LjcgNjcuNGwtMS43IDguNCAxLjcgMS43IDcuNi00LjdjLTMuMyAxMS42LTUuMyAxOS40LTYuNiAyNS44LTEwLjkgMTIuMi0yMC4yIDI1LjgtMjcuOCA0MC4zLTE1IDEtMzEuOCAxMC44LTQwLjMgMTQuM2wzIDMuNCAyOC44IDFjLS41IDEtLjcgMi4yLTEuMiAzLjItNy4zIDYuNC0zOS44IDM3LjctMzMgODAuN2wyMC4yLTIyLjRjLjUgMS43IC43IDMuNCAxLjIgNS4yIDAgMjUuNSAuNCA4OS42IDY0LjkgMTUwLjUgNDMuNiA0MCA5NiA2MC4yIDE1Ny41IDYwLjIgMTIxLjcgMCAyMjMtODcuMyAyMjMtMjExLjUgNi44LTkuNy0xLjIgMyAxNi43LTI1LjFsMTMgMTQuMyAyLjUtLjVjLTEuOC0xMS43LTQuOC0yMy4xLTguOS0zNC4yLTEuNS00LjgtMy44LTkuMy02LjgtMTMuM2wwIDB6TTM5OC41IDExMS4ybC0uNSAyMS45YzUuNSAxOC4xIDE2LjkgMTcuMiAyMi40IDE3LjJsLTMuNC00LjcgMjIuNC01LjRjLTkgLjUtMTggLjUtMjcgMCAxMi44LTIuMSAzMy4zLTI5IDQzLTExLjMgMy40IDcuNiA2LjQgMTcuMiA5LjMgMjcuOGwxLjctNS45Yy0xLjMtNS0xLjgtMTAuMS0xLjctMTUuMiA1LjQgLjUgOC44IDMuNCA5LjMgMTAuMSAuNSA2LjQgMS43IDE0LjggMy40IDI1LjNsNC43LTExLjNjNC42IDAgNC41LTMuNi0yLjUgMjAuNy0yMC45LTguNy0zNS4xLTguNC00Ni41LTguNGwxOC4yLTE2Yy0yNS4zIDguMi0zMyAxMC44LTU0LjggMjAuOS0xLjEtNS40LTUtMTMuNS0xNi0xOS45LTMuMiAzLjgtMi44IC45LS43IDE0LjhsLTIuNSAwYy0xLjItOC4yLTQuMS0xNi04LjQtMjMuMWw0LjItMy40YzguNC03LjEgMTEuOC0xNC4zIDEwLjYtMjEuOS0uNS02LjQtNS40LTEzLjUtMTMuNS0yMC43IDUuNi0zLjQgMTUuMi0uNCAyOC4zIDguNXptLTM5LjYtMTAuMWMyLjcgMS45IDExLjQgNS40IDE4LjkgMTcuMiA0LjIgOC40IDQgOS44IDMuNCAxMS4xLS41IDIuNC0uNSA0LjMtMyA3LjEtMS43IDIuNS01LjQgNC43LTExLjggNy42LTcuNi0xMy0xNi41LTIzLjYtMjcuOC0zMS4ybDIwLjMtMTEuOHptLTI2Ny40IDQybDEuMi0xLjdjMS4yLTIuOSA0LjItNy42IDkuMy0xNS4ybDIuNS0zLjQtMTMgMTIuMyA1LjQtNC43LTEwLjEgOS4zLTQuMiAxLjJjMTIuMy0yNC4xIDIzLjEtNDEuMyAzMi41LTUwLjIgOS4zLTkuMyAxNi0xNiAyMC4yLTE5LjRsLTYuNCAxLjJjLTExLjMtNC4yLTE5LjQtNy4xLTI0LjgtOC40IDIuNS0uNSAzLjctLjUgMy4yLS41IDEwLjMgMCAxNy41IC41IDIwLjkgMS4yIDUuMiAxLjcgMTAuNiAyLjUgMTYgMi41bC41LTEuNy04LjQtMzUuOCAxMy41IDI5YzIuOC00LjQgNC44LTkuMiA1LjktMTQuMyAxLjctNi40IDUuNC0xMyAxMC4xLTE5LjRzNy42LTEwLjYgOS4zLTExLjNjLTIuNiA4LjMtNC43IDE2LjgtNi40IDI1LjNsLTEuNyA3LjEtLjUgNC43IDIuNSAyLjVjMjEuOS0xMy41IDQ1LjUtMTkuNCA3MS4zLTE4LjlsMjEuMSAuNWMtMTEuOCAxMy41LTI3LjggMjEuOS00OC41IDI0LjgtNy43IDEuNC0xNS42IDIuNC0yMy40IDIuOWwtLjItLjUtMi41LTEuMmMtNC44LTEtOS43LS4zLTE0IDItMi41LS4yLTQuOS0uNS03LjEtLjdsLTIuNSAxLjcgLjUgMS4yYzIgLjIgMy45IC41IDYuMiAuN2wtMiAzLjQgMy40LS41LTEwLjYgMTEuM2MtNC4yIDMtNS40IDYuNC00LjIgOS4zbDUuNC0zLjQgMS4yIDBjNi4xLTguMiAxNS4yLTEzLjYgMjUuMy0xNS4ybDAtM2M2LjQgLjUgMTMgMSAxOS40IDEuMiA2LjQgMCA4LjQgLjUgNS40IDEuMiA3LjIgNCAxNC4xIDguNiAyMC43IDEzLjUgMTMuNSAxMC4xIDIzLjYgMjEuOSAzMCAzNS40IDguOCAxOC4yIDEzLjUgMzcuMSAxMy41IDU2LjYgMCA5LjUtMSAxOS0zIDI4LjMtMy41IDE1LjktOC45IDMxLjMtMTYgNDZsMi41IC41YzE4LjItMTkuNyA0MS45LTE2IDQ5LjItMTZsLTYuNCA1LjkgMjIuNCAxNy43LTEuNyAzMC43Yy01LjQtMTIuMy0xNi41LTIxLjEtMzMtMjcuOCAxNi41IDE0LjggMjMuNiAyMS4xIDIxLjkgMjAuMi00LjgtMi44LTMuNS0xLjktMTAuOC0zLjcgNC4xIDQuMSAxNy41IDE4LjggMTguMiAyMC43bC4yIC4yLS4yIC4yYzAgMS44IDEuNi0xLjItMTQgMjIuOS03NS4yLTE1LjMtMTA2LjMtNDIuNy0xNDEuMi02My4ybDExLjggMS4yYy0xMS44LTE4LjUtMTUuNi0xNy43LTM4LjQtMjYuMWwxMC42LTguNGMtOC44LTMtMTguMi0zLTI4LjMgLjVsNy42LTEwLjYtMS4yLTEuN2MtMTQuOSA0LjMtMTkuOCA5LjItMjIuNiAxMS4zLTEuMS01LjUtMi44LTEyLjQtMTIuMy0yOC44bC0xLjIgMjctMTMuMi01YzEuNS0yNS4yIDUuNC01MC41IDEzLjItNzQuNnpNMzY4IDQ3My4xYy00OS45IDI1LTU2LjEgMjIuNC01OSAyMy45LTI5LjgtMTEuOC01MC45LTMxLjctNjMuNS01OC44bDMwIDE2LjVjLTkuOC05LjMtMTguMy0xNi41LTM4LjQtNDQuM2wxMS44IDIzLjEtMTcuNy03LjZjMTQuMiAyMS4xIDIzLjUgNTEuNyA2Ni42IDczLjUtMTIwLjggMjQuMi0xOTktNzIuMS0yMDAuOS03NC4zIDExLjEgOS4yIDIyLjkgMTcuNSAzNS40IDI0LjggMy40IDEuNyA3LjEgMi41IDEwLjEgMS4ybC0xNi0yMC43YzkuMiA0LjIgOS41IDQuNSA2OS4xIDI5LTQyLjUtMjAuNy03My44LTQwLjgtOTMuMi02MC4yLS41IDYuNC0xLjIgMTAuMS0xLjIgMTAuMSA4LjcgNy4zIDE1LjggMTYuNCAyMC43IDI2LjYtMzktMTguOS01Ny42LTQ3LjYtNzEuMy04Mi42IDQ5LjkgNTUuMSAxMTguOSAzNy41IDEyMC41IDM3LjEgMzQuOCAxNi40IDY5LjkgMjMuNiAxMTMuOSAxMC42IDMuMyAwIDIwLjMgMTcgMjUuMyAzOS4xbDQuMi0zLTIuNS0yMy42YzkgOSAyNC45IDIyLjYgMzQuNCAxMy0xNS42LTUuMy0yMy41LTkuNS0yOS41LTMxLjcgNC42IDQuMiA3LjYgOSAyNy44IDE1bDEuMi0xLjItMTAuNS0xNC4yYzExLjctNC44LTMuNSAxIDMyLTEwLjggNC4zIDM0LjMgOSA0OS4yIC43IDg5LjV6TTQ4My4zIDI1OC43bC0yLjUgLjUgMyA5LjNjLTMuNSA1LjktMjMuNyA0NC4zLTcxLjYgNzkuNy0zOS41IDI5LjgtNzYuNiAzOS4xLTgwLjkgNDAuM2wtNy42LTcuMS0xLjIgMyAxNC4zIDE2LTcuMS00LjcgMy40IDQuMi0xLjIgMC0yMS45LTEzLjUgOS4zIDI2LjYtMTktMjcuOS0xLjIgMi41IDcuNiAyOWMtNi4xLTguMi0yMS0zMi42LTU2LjgtMzkuNmwzMi41IDIxLjJjLTMxLjIgNC43LTYzIDIuNS05My4yLTYuNC00LjItMS4yLTguOS0yLjUtMTMuNS00LjJsMS4yLTMtNDQuOC0yMi40IDI2LjEgMjIuNGMtNTcuNyA5LjEtMTEzLTI1LjQtMTI2LjQtODMuNEwyOS4zIDI4NC44IDcgMzA3LjFjMTkuNS01Ny41IDI1LjYtNTcuOSA1MS40LTcwLjEtOS4xLTUuMy0xLjYtMy4zLTM4LjQtOS4zIDE1LjgtNS44IDMzLTE1LjQgNzMgNS4yIDEuMi0uNyAyLjQtMS4zIDMuNy0xLjcgLjYtMy4yIC40LS44IDEtMTEuOCAzLjkgMTAgMy42IDguNyAzIDkuM2wxLjcgLjVjMTIuNy02LjUgOC45LTQuNSAxNy04LjlsLTUuNCAxMy41IDIyLjMtNS44LTguNCA4LjQgMi41IDIuNWM0LjUtMS44IDMwLjMgMy40IDQwLjggMTZsLTIzLjYtMi41YzM5LjQgMjMgNTEuNSA1NCA1NS44IDY5LjZsMS43LTEuMmMtMi44LTIyLjMtMTIuNC0zMy45LTE2LTQwLjEgNC4yIDUgMzkuMiAzNC42IDExMC40IDQ2LTExLjMtLjUtMjMuMSA1LjQtMzQuOSAxOC45bDQ2LjctMjAuMi05LjMgMjEuOWM3LjYtMTAuMSAxNC44LTIzLjYgMjEuMi0zOS42bDAtLjUgMS4yLTMtMS4yIDE2YzEzLjUtNDEuOCAyNS4zLTc4LjUgMzUuNC0xMDkuN2wxMy41LTI3LjggMC0yLTUuNC00LjIgMTAuMSAwIDUuOSA0LjIgMi41LTEuMi0zLjQtMTYgMTIuMyAxOC45IDQxLjgtMjAuMi0xNC44IDEzIC41IDIuOSAxNy43LS41YzExLjEgLjQgMjIuMSAxLjggMzMgNC4ybC0yMy42IDIuNS0xLjIgMyAyNi42IDIzLjFjOS45IDkuOSAxOC45IDIwLjYgMjcgMzItMTEuMi0zLjMtMTAuMy0zLjQtMjEuMi0zLjRsMTIuMyAzMi41LTguOS0xMi44em0tNi4xLTcxLjNsLTMuOSAxMy0xNC4zLTExLjggMTguMi0xLjJ6bS0yNTQuOCA3LjFjMS43IDEwLjYgNC43IDE3LjcgOC44IDIxLjktOS4zIDYuNi0yNy41IDEzLjktNDYuNSAxNmwuNSAxLjJjOC4zIDEuMyAxNi45IC40IDI0LjgtMi41bC03LjEgMTNjNC4yLTEuNyAxMC4xLTcuMSAxNy43LTE0LjggMTEuOS01LjUgMTIuNy01LjEgMjAuMi0xNi0xMi43LTYuNC0xNS43LTEzLjctMTguNC0xOC44em0zLjctMTAyLjNjLTYuNC0zLjQtMTAuNiAzLTEyLjMgMTguOXMyLjUgMjkuNSAxMS44IDM5LjYgMTguMiAxMC42IDI2LjEgMyAzLjQtMjMuNi0xMS4zLTQ3LjdjLTMuNS01LjctOC40LTEwLjUtMTQuMy0xMy44bDAgMHptLTQuNyA0Ni4zYzUuNCAyLjIgMTAuNSAxLjkgMTIuMy0xMC42bDAtNC43LTEuMiAuNWMtNC4zLTMuMS0yLjUtNC41LTEuNy02LjJsLjUtLjVjLS45LTEuMi01LTguMS0xMi41IDQuNy0uNS0xMy41IC41LTIxLjkgMy0yNC44IDEuMi0yLjUgNC43LTEuMiAxMS4zIDQuMiA2LjQgNS40IDExLjMgMTYgMTUuMiAzMi41IDYuNSAyOC0xOS44IDI2LjItMjYuOSA0Ljl6bS00NS01LjVjMS42IC4zIDkuMy0xLjEgOS4zLTE0LjhsLS41IDBjLTUuNC0xLjEtMi4yLTUuNS0uNy01LjktMS43LTMtMy40LTQuMi01LjQtNC43LTguMSAwLTExLjYgMTIuNy04LjEgMjEuMiAuNSAxLjEgMS4zIDIgMi4yIDIuOHMyIDEuMiAzLjIgMS40bDAgMHptNDAuMS01MC4xbC0yLjUgLjUgLjUgM2M5LjEtLjUgMTguMSAxLjUgMjYuMSA1LjktMi41LTUuNS0xMC0xNC4zLTI4LjMtMTQuM2wuNSAyLjUgMy43IDIuNHptLTcxLjggNDkuNGMyMS43IDE2LjggMTYuNSAyMS40IDQ2LjUgMjMuNmwtMi45LTQuN2M4LjQtNy4yIDEzLjctMTcuMyAxNC44LTI4LjMgMS43LTE2LTEuMi0yOS41LTguOC00MS4zbDEzLTcuNmMwLS4zIDAtLjYtLjEtLjlzLS4yLS42LS40LS44Yy0yLjItLjktNC42LTEuMi03LS45cy00LjYgMS4yLTYuNSAyLjZjLTEyLjcgNi43LTI4IDIwLjktMjkgMjIuNC0xLjcgMS43LTMuNCA1LjktNS40IDEzLjUtMS45IDcuNy0yLjkgMTUuNi0yLjkgMjMuNi00LjctOC0xMC41LTYuNC0xOS45LTUuOWw3LjEgNy42Yy0xNi41IDAtMjMuMyAxNS40LTIzLjYgMTYgNi44IDAgNC42LTcuNiAzMC0xMi4zLTQuMy02LjMtMy4zLTUtNC45LTYuNnptMTguNy0xOC43YzEuMi03LjYgMy40LTEzIDYuNC0xNy4yIDUuNC02LjQgMTAuNi0xMC4xIDE2LTExLjggNC4yLTEuNyA3LjEgMS4yIDEwLjEgOS4zIDIuNSA4LjIgMy41IDE2LjggMyAyNS4zLS41IDkuMy0zLjQgMTcuMi04LjQgMjMuMS0yLjkgMy40LTUuNCA1LjktNi40IDcuNi0zLjggLjQtNy42IC4yLTExLjMtLjVsLTcuMS0zLjQtNS40LTYuNGMuOC0xMCAxLjMtMTguOCAzLjEtMjZ6bTQyIDU2LjFjLTM0LjggMTQuNC0zNC43IDE0LTM2LjEgMTQuMy0yMC44IDQuNy0xOS0yNC40LTE4LjktMjQuOGw1LjktMS4yLS41LTIuNWMtMjAuMi0yLjYtMzEgNC4yLTMyLjUgNC45IC41IC41IDMgMy40IDUuOSA5LjMgNC4yLTYuNCA4LjgtMTAuMSAxNS4yLTEwLjYtMS43IDExLjItMS4yIDIyLjcgMS43IDMzLjcgLjEgLjUgMi42IDE3LjQgMjcuNSAyNC4xIDExLjMgMyAyNyAxLjIgNDguOS01LjRsLTkuMiAuNWMtNC4yLTE0LjgtNi40LTI0LjgtNS45LTI5LjUgMTEuMy04LjggMjEuOS0xMS4zIDMwLjctNy42bDIuNSAwLTExLjgtNy42LTcuMSAuNWMtNS45IDEuMi0xMi4zIDQuMi0xOS40IDguNGwzLjEtNi41eiJdfSxUc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiamlyYSIsaWNvbjpbNTEyLDUxMixbXSwiZjdiMSIsIk00OTguNSAyNDEuN2MtNzIuOS03Mi43LTE2OS40LTE2OS45LTI0MS41LTI0MS43LTE2NS41IDE2NC45LTI0Mi41IDI0MS43LTI0Mi41IDI0MS43LTcuOSA3LjktNy45IDIwLjcgMCAyOC43IDEzMi44IDEzMi4zIDYxLjggNjEuNSAyNDIuNSAyNDEuNiAzNzkuNC0zNzggMTUuNy0xNi43IDI0MS41LTI0MS43IDgtNy45IDgtMjAuNyAwLTI4LjZ6TTI1NyAzMzEuN2wtNzYtNzUuNyA3Ni03NS43IDc2IDc1LjctNzYgNzUuN3oiXX0sX3N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZlZGV4IixpY29uOls2NDAsNTEyLFtdLCJmNzk3IiwiTTU4NiAyODQuNWw1My4zLTU5LjktNjIuNCAwLTIxLjcgMjQuOC0yMi41LTI0LjgtMTE4LjcgMCAwLTE2IDU2LjEgMCAwLTQ4LjEtMTUxLjIgMCAwIDc1LjUtLjUgMGMtOS42LTExLTIxLjUtMTQuOC0zNS40LTE0LjgtMjguNCAwLTQ5LjggMTkuNC01Ny4zIDQ0LjktMTgtNTkuNC05Ny40LTU3LjYtMTIxLjktMTRsMC0yNC4yLTU0LjggMCAwLTI2LjIgNjAgMCAwLTQxLjEtMTA5IDAgMCAxODQuNCA0OSAwIDAtNzcuNSA0OC45IDBjLTEuNSA1LjctMi4zIDExLjgtMi4zIDE4LjIgMCA3My4xIDEwMi42IDkxLjQgMTMwLjIgMjMuN2wtNDIgMGMtMTQuNyAyMC45LTQ1LjggOC45LTQ1LjgtMTQuNmw4NS41IDBjMy43IDMwLjUgMjcuNCA1Ni45IDYwLjEgNTYuOSAxNC4xIDAgMjctNi45IDM0LjktMTguNmwuNSAwIDAgMTEuOSAyMTIuMiAwIDIyLjEtMjUgMjIuMyAyNSA2NC40IDAtNTQtNjAuNXpNMTM5LjMgMjY3LjljNi4xLTI2LjMgNDEuNy0yNS42IDQ2LjUgMGwtNDYuNSAwem0xNTMuNCA0OC45Yy0zNC42IDAtMzQtNjIuOCAwLTYyLjggMzIuNiAwIDM0LjUgNjIuOCAwIDYyLjh6bTE2Ny44IDE5LjFsLTk0LjQgMCAwLTE2Ni41IDk1IDAgMCAzMC4yLTU2LjEgMCAwIDMzLjkgNTUuNSAwIDAgMjguMS01Ni4xIDAgMCA0NC43IDU2LjEgMCAwIDI5LjZ6bS00NS45LTM5LjhsMC0yNC40IDU2LjEgMCAwLTQ0IDUwLjcgNTctNTAuNyA1NyAwLTQ1LjYtNTYuMSAwem0xMzguNiAxMC4zbC0yNi4xIDI5LjUtMzguMSAwIDQ1LjYtNTEuMi00NS42LTUxLjIgMzkuNyAwIDI2LjYgMjkuMyAyNS42LTI5LjMgMzguNSAwLTQ1LjQgNTEgNDYgNTEuNC00MC41IDAtMjYuMy0yOS41eiJdfSxMc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXZlcm5vdGUiLGljb246WzM4NCw1MTIsW10sImY4MzkiLCJNMTIxLjEgMTMyLjJjMS42IDIyLjMtMTcuNiAyMS42LTIxLjYgMjEuNi02OC45IDAtNzMuNi0xLTgzLjYgMy4zLS42IC4yLS43IDAtLjQtLjRMMTI0LjEgNDYuNGMuNC0uNCAuNi0uMiAuNCAuNC00LjQgMTAtMy40IDE1LjEtMy40IDg1LjR6bTc5IDMwOGMtMTQuNy0zNy4xIDEzLTc2LjkgNTIuNS03Ni42IDE3LjUgMCAyMi42IDIzLjIgNy45IDMxLjQtNi4yIDMuMy0yNC45IDEuNy0yNS4xIDE5LjIgMCAxNy4xIDE5LjcgMjUgMzEuMiAyNC45IDYgMCAxMS45LTEuMiAxNy41LTMuNXMxMC42LTUuNyAxNC44LTkuOSA3LjYtOS4zIDkuOS0xNC44IDMuNS0xMS41IDMuNS0xNy41bDAtLjFjMC0xMS42LTcuOC00Ny4yLTQ3LjUtNTUuMy03LjctMS41LTY1LTYuMy02OC40LTUwLjUtMy43IDE2LjktMTcuNCA2My41LTQzLjEgNjkuMS04LjcgMS45LTY5LjcgNy42LTExMi45LTM2LjggMCAwLTE4LjYtMTUuMi0yOC4yLTU4LTMuNC0xNS43LTkuMy0zOS43LTExLjEtNjIgMC0xOCAxMS4xLTMwLjQgMjUuMS0zMi4yIDgxIDAgOTAgMi4zIDEwMS03LjggOS44LTkuMiA3LjgtMTUuNSA3LjgtMTAyLjggMS04LjMgNy44LTMwLjggNTMuNC0yNC4xIDYgLjkgMzEuOSA0LjIgMzcuNSAzMC42TDI5MCA3NC44YzIwLjQgMy43IDcwLjkgNyA4MC42IDU3LjkgMjIuNyAxMjEuMSA4LjkgMjM4LjUgNy44IDIzOC41LTE2IDExNC40LTExMS4xIDEwOC45LTExMS4xIDEwOC45LTE5LS4yLTU0LjItOS40LTY3LjMtMzkuOGwwIDB6TTI4MSAyMzUuNGMtMSAxLjktMi4yIDYgLjkgNyAxNC4xIDQuOSAzOS44IDYuOCA0NS45IDUuNSAzLjEtLjIgMy4xLTQuNCAyLjUtNi42LTMuNS0yMS44LTQwLjgtMjYuNS00OS4yLTUuOWwwIDB6Il19LCRzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1c2IiLGljb246WzY0MCw1MTIsW10sImYyODciLCJNNjMzLjUgMjU2YzAgMy4xLTEuNyA2LjEtNC41IDcuNUw1MzkuOSAzMTdjLTEuNCAuOC0yLjggMS40LTQuNSAxLjQtMS40IDAtMy4xLS4zLTQuNS0xLjEtMi44LTEuNy00LjUtNC41LTQuNS03LjhsMC0zNS42LTIzMC43IDBjMjUuMyAzOS42IDQwLjUgMTA2LjkgNjkuNiAxMDYuOWwyNi43IDAgMC0yNi44YzAtNSAzLjktOC45IDguOS04LjlsODkuMSAwYzUgMCA4LjkgMy45IDguOSA4LjlsMCA4OS4xYzAgNS0zLjkgOC45LTguOSA4LjlsLTg5LjEgMGMtNSAwLTguOS0zLjktOC45LTguOWwwLTI2LjctMjYuNyAwYy03NS40IDAtODEuMS0xNDIuNS0xMjQuNy0xNDIuNWwtMTAwLjMgMGMtOC4xIDMwLjYtMzUuOSA1My41LTY5IDUzLjUtMzkuMy0uMS03MS4zLTMyLjEtNzEuMy03MS40czMyLTcxLjMgNzEuMy03MS4zYzMzLjEgMCA2MSAyMi44IDY5IDUzLjUgMzkuMSAwIDQzLjkgOS41IDc0LjYtNjAuNCA0MC4xLTg5LjEgNTguMS04Mi4xIDEwOC45LTgyLjEgNy41LTIwLjkgMjctMzUuNiA1MC40LTM1LjYgMjkuNSAwIDUzLjUgMjMuOSA1My41IDUzLjVzLTIzLjkgNTMuNS01My41IDUzLjVjLTIzLjQgMC00Mi45LTE0LjgtNTAuNC0zNS42bC0yOS44IDBjLTI5LjEgMC00NC4zIDY3LjQtNjkuNiAxMDYuOWwzMDIuMSAwIDAtMzUuNmMwLTMuMyAxLjctNi4xIDQuNS03LjhzNi40LTEuNCA4LjkgLjNMNjI5IDI0OC44YzIuOCAxLjEgNC41IDQuMSA0LjUgNy4yeiJdfSxEc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW5ncnljcmVhdGl2ZSIsaWNvbjpbNjQwLDUxMixbXSwiZjM2ZSIsIk02NDAgMjM4LjJsLTMuMiAyOC4yLTM0LjUgMi4zLTIgMTguMSAzNC41LTIuMy0zLjIgMjguMi0zNC40IDIuMi0yLjMgMjAuMSAzNC40LTIuMi0zIDI2LjEtNjQuNyA0LjEgMTIuNy0xMTMuMi00Ny4zIDExNS40LTMxLjkgMi0yMy44LTExNy44IDMwLjMtMiAxMy42IDc5LjQgMzEuNy04Mi40IDkzLjEtNi4yek00MjYuOCAzNzEuNWwyOC4zLTEuOCAxMi45LTEyMC4xLTI4LjQgMS45LTEyLjggMTIwek0xNjIgMzg4LjFsLTE5LjQtMzYtMy41IDM3LjQtMjguMiAxLjcgMi43LTI5LjFjLTExIDE4LTMyIDM0LjMtNTYuOSAzNS44LTMyLjggMi01OS43LTIwLjktNTYuNC01OC4yIDIuNi0yOS4zIDI2LjctNjIuOCA2Ny41LTY1LjQgMzcuNy0yLjQgNDcuNiAyMy4yIDUxLjMgMjguOGwyLjgtMzAuOCAzOC45LTIuNWMyMC4xLTEuMyAzOC43IDMuNyA0Mi41IDIzLjdsMi42LTI2LjYgNjQuOC00LjItMi43IDI3LjktMzYuNCAyLjQtMS43IDE3LjkgMzYuNC0yLjMtMi43IDI3LjktMzYuNCAyLjMtMS45IDE5LjkgMzYuMy0yLjMtMi4xIDIwLjggNTUtMTE3LjIgMjMuOC0xLjYgMzIuMSAxMTAuNiA4LjktODUuNi0yMi4zIDEuNCAyLjktMjcuOSA3NS00LjktMyAyOC0yNC4zIDEuNi05LjcgOTEuOS01OCAzLjctNC4zLTE1LjYtMzkuNCAyLjUtOCAxNi4zLTEyNi4yIDcuN3ptLTQ0LjMtNzAuMmwtMjYuNCAxLjdjLTYuNy0xMi40LTE0LjQtMTYuNi0yNi4zLTE1LjgtMTkgMS4yLTMzLjMgMTcuNS0zNC42IDMzLjMtMS40IDE2IDcuMyAzMi41IDI4LjcgMzEuMiAxMi44LS44IDIxLjMtOC42IDI4LjktMTguOWwyNy0xLjcgMi43LTI5Ljh6bTU2LjEtNy43YzEuMi0xMi45LTcuNi0xMy42LTI2LjEtMTIuNEwxNDUgMzI2LjNjMTQuMi0uOSAyNy41LTIuMSAyOC44LTE2LjF6TTE5NC45IDM4MWw1LjgtNjBjLTUgMTMuNS0xNC43IDIxLjEtMjcuOSAyNi42TDE5NC45IDM4MXptMTM1LjQtNDVsLTcuOS0zNy44LTE1LjggMzkuMyAyMy43LTEuNXpNMTYwLjIgMjYxLjRsLTQuMy0xNy41LTM5LjYgMi42LTguMSAxOC4yLTMxLjkgMi4xIDU3LTEyMS45IDIzLjktMS42IDMwLjcgMTAyIDkuOS0xMDQuNyAyNy0xLjggMzcuOCA2My42IDYuNS02Ni42IDI4LjUtMS45LTQgNDEuMmM3LjQtMTMuNSAyMi45LTQ0LjcgNjMuNi00Ny41IDQwLjUtMi44IDUyLjQgMjkuMyA1My40IDMwLjNsMy4zLTMyIDM5LjMtMi43YzEyLjctLjkgMjcuOCAuMyAzNi4zIDkuN2wtNC40LTExLjkgMzIuMi0yLjIgMTIuOSA0My4yIDIzLTQ1LjcgMzEtMi4yLTQzLjYgNzguNC00LjggNDQuMy0yOC40IDEuOSA0LjgtNDQuMy0xNS44LTQzYzEgMjIuMy05LjIgNDAuMS0zMiA0OS42bDI1LjIgMzguOC0zNi40IDIuNC0xOS4yLTM2LjgtNCAzOC4zLTI4LjQgMS45IDMuMy0zMS41Yy02LjcgOS4zLTE5LjcgMzUuNC01OS42IDM4LTI2LjIgMS43LTQ1LjYtMTAuMy01NS40LTM5LjJsLTQgNDAuMy0yNSAxLjYtMzcuNi02My4zLTYuMyA2Ni4yLTU2LjggMy43em0yNzYuNi04Mi4xYzEwLjItLjcgMTcuNS0yLjEgMjEuNi00LjMgNC41LTIuNCA3LTYuNCA3LjYtMTIuMSAuNi01LjMtLjYtOC44LTMuNC0xMC40LTMuNi0yLjEtMTAuNi0yLjgtMjIuOS0ybC0yLjkgMjguOHpNMzI3LjcgMjE0YzUuNiA1LjkgMTIuNyA4LjUgMjEuMyA3LjkgNC43LS4zIDkuMS0xLjggMTMuMy00LjEgNS41LTMgMTAuNi04IDE1LjEtMTQuM2wtMzQuMiAyLjMgMi40LTIzLjkgNjMuMS00LjMgMS4yLTEyLTMxLjIgMi4xYy00LjEtMy43LTcuOC02LjYtMTEuMS04LjEtNC0xLjctOC4xLTIuOC0xMi4yLTIuNS04IC41LTE1LjMgMy42LTIyIDkuMi03LjcgNi40LTEyIDE0LjUtMTIuOSAyNC40LTEuMSA5LjYgMS40IDE3LjMgNy4yIDIzLjN6bS0yMDEuMyA4LjJsMjMuOC0xLjYtOC4zLTM3LjYtMTUuNSAzOS4yeiJdfSxBc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWl6dW5pIixpY29uOls1MTIsNTEyLFtdLCJmM2NjIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMTc2IDM1OS45Yy0zMS40IDEwLjYtNTguOCAyNy4zLTgwIDQ4LjJMOTYgMTM2YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAyMjMuOXpNMjk2IDM1MGMtMTIuOS0yLTI2LjItMy4xLTM5LjgtMy4xLTEzLjggMC0yNy4yIDEuMS00MC4yIDMuMWwwLTIxNGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjE0em0xMjAgNTcuN2MtMjEuMi0yMC44LTQ4LjYtMzcuNC04MC00OEwzMzYgMTM2YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAyNzEuN3oiXX0sRXN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Iml0Y2gtaW8iLGljb246WzUxMiw1MTIsW10sImY4M2EiLCJNNzEuOSAzNC44QzUwLjIgNDcuNyA3LjQgOTYuOCA3IDEwOS43bDAgMjEuM2MwIDI3LjEgMjUuMyA1MC44IDQ4LjIgNTAuOCAyNy42IDAgNTAuNS0yMi44IDUwLjUtNTAgMCAyNy4xIDIyLjIgNTAgNDkuOCA1MHM0OS0yMi44IDQ5LTUwYzAgMjcuMSAyMy42IDUwIDUxLjIgNTBsLjUgMGMyNy42IDAgNTEuMi0yMi44IDUxLjItNTAgMCAyNy4xIDIxLjUgNTAgNDkgNTBzNDkuOC0yMi44IDQ5LjgtNTBjMCAyNy4xIDIzIDUwIDUwLjUgNTAgMjMgMCA0OC4zLTIzLjggNDguMy01MC44bDAtMjEuM2MtLjQtMTIuOS00My4yLTYyLjEtNjQuOS03NS02Ny40LTIuMy0xMTQuMi0yLjctMTg0LTIuN1M5MS4xIDMzLjEgNzEuOSAzNC44ek0yMDQuMiAxNjkuMmMtMjIgMzguNC03Ny45IDM4LjctOTkuOCAuMi0xMy4yIDIzLjEtNDMuMiAzMi4xLTU2IDI3LjctMy45IDQwLjItMTMuNyAyMzcuMSAxNy43IDI2OS4yIDgwIDE4LjcgMzAyLjEgMTguMSAzNzkuOCAwIDMxLjYtMzIuMyAyMS4zLTIzMiAxNy43LTI2OS4yLTEyLjkgNC40LTQyLjktNC42LTU2LTI3LjctMjIgMzguNS03Ny44IDM4LjEtOTkuOC0uMi03LjEgMTIuNS0yMyAyOC45LTUxLjggMjguOS0xMC40IC4zLTIwLjgtMi4yLTI5LjktNy4zcy0xNi43LTEyLjYtMjEuOS0yMS42bDAgMHptLTQxLjYgNTMuOGMxNi41IDAgMzEuMSAwIDQ5LjIgMTkuOCAyOS4zLTMgNTguOS0zIDg4LjIgMCAxOC4yLTE5LjcgMzIuOC0xOS43IDQ5LjItMTkuNyA1Mi4zIDAgNjUuMiA3Ny41IDgzLjkgMTQ0LjQgMTcuMyA2Mi4yLTUuNSA2My43LTM0IDYzLjctNDIuMS0xLjYtNjUuNS0zMi4yLTY1LjUtNjIuOC0zOS4zIDYuNC0xMDEuOSA4LjgtMTU1LjYgMCAwIDMwLjYtMjMuMyA2MS4yLTY1LjUgNjIuOC0yOC40LS4xLTUxLjItMS42LTMzLjktNjMuNyAxOC43LTY3IDMxLjYtMTQ0LjQgODMuOS0xNDQuNGwwLS4xek0yNTYgMjcwLjhzLTQ0LjQgNDAuOC01Mi40IDU1LjJsMjktMS4yIDAgMjUuM2MwIDEuNSAyMS4zIC4yIDIzLjMgLjIgMTEuNiAuNSAyMy4zIDEgMjMuMy0uMmwwLTI1LjMgMjkgMS4yYy04LTE0LjUtNTIuNC01NS4yLTUyLjQtNTUuMmwuMSAweiJdfSxJc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2luZG93cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjE3YSIsIk0wIDkzLjdsMTgzLjYtMjUuMyAwIDE3Ny40LTE4My42IDAgMC0xNTIuMXpNMCA0MTguM2wxODMuNiAyNS4zIDAtMTc1LjItMTgzLjYgMCAwIDE0OS45em0yMDMuOCAyOGwyNDQuMiAzMy43IDAtMjExLjYtMjQ0LjIgMCAwIDE3Ny45em0wLTM4MC42bDAgMTgwLjEgMjQ0LjIgMCAwLTIxMy44LTI0NC4yIDMzLjd6Il19LFBzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHVtYmxldXBvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjFhNCIsIk01MDIuOSAyNjZsMCA2OS43YzAgNjIuMS01MC4zIDExMi40LTExMi40IDExMi40LTYxLjggMC0xMTIuNC00OS44LTExMi40LTExMS4zbDAtNzAuMiAzNC4zIDE2IDUxLjEtMTUuMiAwIDcwLjZjMCAxNC43IDEyIDI2LjUgMjYuNyAyNi41UzQxNyAzNTIuNyA0MTcgMzM4bDAtNzIgODUuOSAwek0yNzguMiAyMDcuOGwzNC4zIDE2IDUxLjEtMTUuMiAwLTM1LjZjMC02MC41LTUxLjEtMTA5LTExMi4xLTEwOS02MC44IDAtMTEyLjEgNDguMi0xMTIuMSAxMDguMmwwIDE2Mi40YzAgMTQuOS0xMiAyNi43LTI2LjcgMjYuN1M4NiAzNDkuNSA4NiAzMzQuNmwwLTY4LjYtODYgMCAwIDY5LjdjMCA2MiA1MC4zIDExMi4zIDExMi40IDExMi4zIDYxLjYgMCAxMTIuNC00OS41IDExMi40LTExMC44bDAtMTYwLjNjMC0xNC43IDEyLTI2LjcgMjYuNy0yNi43czI2LjcgMTIgMjYuNyAyNi43bDAgMzAuOXoiXX0sZ0Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlIixpY29uOls1MTIsNTEyLFtdLCJmMWEwIiwiTTUwMCAyNjEuOEM1MDAgNDAzLjMgNDAzLjEgNTA0IDI2MCA1MDQgMTIyLjggNTA0IDEyIDM5My4yIDEyIDI1NlMxMjIuOCA4IDI2MCA4YzY2LjggMCAxMjMgMjQuNSAxNjYuMyA2NC45bC02Ny41IDY0LjljLTg4LjMtODUuMi0yNTIuNS0yMS4yLTI1Mi41IDExOC4yIDAgODYuNSA2OS4xIDE1Ni42IDE1My43IDE1Ni42IDk4LjIgMCAxMzUtNzAuNCAxNDAuOC0xMDYuOWwtMTQwLjggMCAwLTg1LjMgMjM2LjEgMGMyLjMgMTIuNyAzLjkgMjQuOSAzLjkgNDEuNHoiXX0sTnN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRpc2NvcmQiLGljb246WzU3Niw1MTIsW10sImYzOTIiLCJNNDkyLjUgNjkuOGMtLjItLjMtLjQtLjYtLjgtLjctMzguMS0xNy41LTc4LjQtMzAtMTE5LjctMzcuMS0uNC0uMS0uOCAwLTEuMSAuMXMtLjYgLjQtLjggLjhjLTUuNSA5LjktMTAuNSAyMC4yLTE0LjkgMzAuNi00NC42LTYuOC04OS45LTYuOC0xMzQuNCAwLTQuNS0xMC41LTkuNS0yMC43LTE1LjEtMzAuNi0uMi0uMy0uNS0uNi0uOC0uOHMtLjctLjItMS4xLS4yYy00MS4zIDcuMS04MS42IDE5LjYtMTE5LjcgMzcuMS0uMyAuMS0uNiAuNC0uOCAuNy03Ni4yIDExMy44LTk3LjEgMjI0LjktODYuOSAzMzQuNSAwIC4zIC4xIC41IC4yIC44cy4zIC40IC41IC42YzQ0LjQgMzIuOSA5NCA1OCAxNDYuOCA3NC4yIC40IC4xIC44IC4xIDEuMSAwcy43LS40IC45LS43YzExLjMtMTUuNCAyMS40LTMxLjggMzAtNDguOCAuMS0uMiAuMi0uNSAuMi0uOHMwLS41LS4xLS44LS4yLS41LS40LS42LS40LS4zLS43LS40Yy0xNS44LTYuMS0zMS4yLTEzLjQtNDUuOS0yMS45LS4zLS4yLS41LS40LS43LS42cy0uMy0uNi0uMy0uOSAwLS42IC4yLS45IC4zLS41IC42LS43YzMuMS0yLjMgNi4yLTQuNyA5LjEtNy4xIC4zLS4yIC42LS40IC45LS40cy43IDAgMSAuMWM5Ni4yIDQzLjkgMjAwLjQgNDMuOSAyOTUuNSAwIC4zLS4xIC43LS4yIDEtLjJzLjcgLjIgLjkgLjRjMi45IDIuNCA2IDQuOSA5LjEgNy4yIC4yIC4yIC40IC40IC42IC43cy4yIC42IC4yIC45LS4xIC42LS4zIC45LS40IC41LS42IC42Yy0xNC43IDguNi0zMCAxNS45LTQ1LjkgMjEuOC0uMiAuMS0uNSAuMi0uNyAuNHMtLjMgLjQtLjQgLjctLjEgLjUtLjEgLjggLjEgLjUgLjIgLjhjOC44IDE3IDE4LjggMzMuMyAzMCA0OC44IC4yIC4zIC42IC42IC45IC43cy44IC4xIDEuMSAwYzUyLjktMTYuMiAxMDIuNi00MS4zIDE0Ny4xLTc0LjIgLjItLjIgLjQtLjQgLjUtLjZzLjItLjUgLjItLjhjMTIuMy0xMjYuOC0yMC41LTIzNi45LTg2LjktMzM0LjV6bS0zMDIgMjY3LjdjLTI5IDAtNTIuOC0yNi42LTUyLjgtNTkuMnMyMy40LTU5LjIgNTIuOC01OS4yYzI5LjcgMCA1My4zIDI2LjggNTIuOCA1OS4yIDAgMzIuNy0yMy40IDU5LjItNTIuOCA1OS4yem0xOTUuNCAwYy0yOSAwLTUyLjgtMjYuNi01Mi44LTU5LjJzMjMuNC01OS4yIDUyLjgtNTkuMmMyOS43IDAgNTMuMyAyNi44IDUyLjggNTkuMiAwIDMyLjctMjMuMiA1OS4yLTUyLjggNTkuMnoiXX0sRnN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhhY2tlci1uZXdzIixpY29uOls0NDgsNTEyLFtdLCJmMWQ0IiwiTTAgMzJsMCA0NDggNDQ4IDAgMC00NDgtNDQ4IDB6TTIxLjIgMjI5LjJsLS4yIDBjLjEtLjEgLjItLjMgLjMtLjQgMCAuMSAwIC4zLS4xIC40em0yMTggNTMuOWwwIDEwMC45LTMxLjQgMCAwLTEwMi43LTc5LjgtMTUzLjMgMzcuMyAwYzUyLjUgOTguMyA0OS4yIDEwMS4yIDU5LjMgMTI1LjYgMTIuMy0yNyA1LjgtMjQuNCA2MC42LTEyNS42bDM0LjggMC04MC44IDE1NS4xeiJdfSx6MWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZWxldmVudHkiLGljb246WzY0MCw1MTIsWyIxMXR5Il0sImU3ZDYiLCJNNjE1LjMgMTY4LjVjMi4zIDAgNC42IC43IDYuNiAyLjIgMS45IDEuNCAzLjEgMy4zIDMuOCA1IDEuNCAzLjMgMS44IDcuMyAxLjggMTEuMyAwIDIuMi0uMyA0LjktLjcgNy42bDAgLjQtNTAuOSAyNjQuOSAwIDBjLTQgMjIuMS04LjUgMzkuNC0xMy42IDUxLjctNSAxMi4xLTEwLjkgMjEuNi0xOC42IDI3bDAgMGMtNy41IDUuMy0xNi45IDcuNy0yNy42IDhsLTMgMGMtMTYgMC0yOS4zLTQuMi0zNi45LTE0LjgtLjEtLjEtLjEtLjEtLjItLjItLjEtLjItLjMtLjQtLjUtLjZsMCAwYy0xLjgtMi40LTIuNS01LjItMi45LTcuNC0uNS0yLjgtLjctNi4xLS43LTkuOCAwLTcuMyAuNi0xMy41IDIuMS0xOC4yIDEuNC00LjQgNC44LTEwLjQgMTIuMi0xMC40bDEuMyAuMWMuMiAwIC40IC4xIC41IC4xIC4zIC4xIC42IC4xIC44IC4yIC42IC4xIDEuMyAuMyAyLjIgLjZsNy42IDIuMiAuMSAwIDcuNiAyLjFjLjkgLjIgMS43IC40IDIuMiAuNSAuNCAuMSAuNiAuMSAuNyAuMSAwIDAgLjEgMCAuMi0uMSAuMS0uMSAuNC0uMiAuOC0uNiAuOS0uOSAyLjItMi42IDMuNi01LjcgMi42LTUuOCA0LjItMTQuNyA0LjItMjcuNCAwLS43LS4zLTMuNC0xLjMtOC45LS45LTUuMS0yLjMtMTIuMi00LjItMjEuMWwtNTYtMjMyLjktLjEtLjQgMC0uM2MtLjQtMi43LS43LTUuMy0uNy03LjMgMC0zLjcgLjQtNy41IDEuNy0xMC42IC43LTEuNiAxLjgtMy40IDMuNS00LjkgMS45LTEuNSA0LjItMi4zIDYuNS0yLjNsMzQuNiAwYzQuNiAwIDguNyAxLjcgMTEuOSA1bDEuMyAxLjVjMS4yIDEuNiAyIDMuNCAyLjcgNS4yIC45IDIuNCAxLjUgNS4xIDIgOC4xbDMwLjQgMTYxLjIgMjMuOC0xNjBjLjgtNS44IDIuMi0xMS40IDUuMS0xNS4xIDMtMy44IDcuMi01LjggMTItNS44bDI0IDB6TTM3NS4xIDM0LjZjMi42IDAgNS4xIC43IDcuNCAyLjMgMi4yIDEuNSAzLjcgMy42IDQuNyA1LjcgMS45IDQgMi41IDkuMSAyLjUgMTQuNWwwIDExMS4yYzAgLjEgMCAuMiAwIC4zbDMyLjQgMGMyLjUgMCA1IC42IDcuMiAyLjEgMi4yIDEuNCAzLjcgMy40IDQuOCA1LjUgMiAzLjkgMi42IDguOCAyLjYgMTMuOWwwIDE1LjRjMCA1LS42IDkuOC0yLjYgMTMuNy0xLjEgMi0yLjYgNC00LjggNS40LTIuMiAxLjQtNC43IDItNy4xIDJsLTMyLjUgMCAwIDE0NS44YzAgMTAuOCAuNyAxOS41IDIgMjYuMiAxLjQgNi45IDMuMSAxMC45IDQuNyAxMi45IDEuMiAxLjUgMi4yIDIuNSAzLjEgMy4ybDIuMiAxLjQgLjEgLjEgMi45IC44YzEuMiAuMiAyLjYgLjMgNC4zIC4zbDIwLjMgMGM0LjUgMCA4LjkgMS43IDExLjggNS44IDIuNiAzLjYgMy4zIDguMSAzLjMgMTIuMmwwIDE3LjJjMCA0LjUtLjggOS4zLTMuNCAxMy4xLTMgNC4yLTcuNSA2LTEyLjMgNmwwIDAtMjkuMSAuMWMtOCAwLTE1LS42LTIxLjItMS43LTYuNy0xLjMtMTMuNC00LjEtMjAuMS04LjEtNy4yLTQuNC0xMy0xMC4zLTE3LjUtMTcuOC00LjUtNy41LTcuOS0xNy41LTEwLjUtMjkuNS0yLjYtMTIuMi0zLjktMjYuNi0zLjktNDNsMC0xNDQuOS0xMy40IDBjLTIuNCAwLTQuOS0uNi03LjEtMi0yLjItMS40LTMuNy0zLjQtNC44LTUuNC0yLTMuOS0yLjYtOC43LTIuNi0xMy43bDAtMTUuNGMwLTUuMSAuNi0xMCAyLjYtMTMuOSAxLjEtMi4xIDIuNi00IDQuOC01LjUgMi4yLTEuNSA0LjctMi4xIDcuMi0yLjFsMTMuNCAwIDAtLjYgNS4yLTExMS4yIDAtLjEgLjMtMy45Yy41LTMuOCAxLjMtNy40IDIuNy0xMC4zIDIuMS00LjIgNi03LjkgMTEuOC03LjlsMjguNiAwem0tMjY4IDExLjdjMS44IC4zIDMuNiAuOSA1LjMgMi4xIDIuMSAxLjUgMy41IDMuNSA0LjQgNS40IDEuNyAzLjcgMi4zIDguNCAyLjMgMTMuMmwwIDM3Ny44YzAgNi43LS42IDEyLjYtMi40IDE3LjEtLjkgMi4zLTIuMyA0LjctNC40IDYuNS0yLjMgMi01LjEgMy04LjEgM2wtNDMuNyAwYy0zIDAtNS44LTEuMS04LjEtMy4xLTIuMS0xLjktMy40LTQuMy00LjItNi41LTEuNy00LjUtMi4zLTEwLjMtMi4zLTE3bDAtMzE1LjhjLTQuOCAxLjItOC43IDIuMi0xMS41IDIuOS0xLjkgLjUtMy40IC44LTQuNCAxLjEtLjUgLjEtLjkgLjItMS4yIC4zLS4xIDAtLjMgLjEtLjUgLjEtLjEgMC0uMiAwLS4zIC4xIDAgMC0uMiAwLS4zIDAgMCAwLS4yIDAtLjQgMGwwIDBjLS4xIDAtLjMgMC0uNCAwLS4xIDAtLjIgMC0uMiAwLTIuMiAuMS00LjUtLjQtNi42LTEuNy0yLjMtMS40LTMuOC0zLjQtNC43LTUuMy0xLjgtMy43LTIuMy04LjQtMi4zLTEzbDAtMjcuNGMwLTQuNCAuNy04LjggMi42LTEyLjQgMi4xLTMuOSA1LjUtNi42IDkuOC03LjZsNzUuNS0xOS41YzEuNC0uNCAyLjktLjUgNC40LS41bDEuOCAuMXptMTQzLjgtLjVjMS44IC4zIDMuNiAuOSA1LjIgMi4xIDIuMSAxLjUgMy41IDMuNSA0LjQgNS40IDEuNyAzLjcgMi4yIDguNCAyLjIgMTMuMmwwIDM3Ny44YzAgNi43LS42IDEyLjYtMi40IDE3LjEtLjkgMi4zLTIuMyA0LjctNC40IDYuNS0yLjMgMi01LjEgMy04LjEgM2wtNDMuNyAwYy0zIDAtNS44LTEuMS04LjEtMy4xLTIuMS0xLjktMy40LTQuMy00LjItNi41LTEuNy00LjUtMi4zLTEwLjMtMi4zLTE3bDAtMzE1LjhjLTQuOCAxLjItOC43IDIuMi0xMS41IDIuOS0xLjkgLjUtMy40IC44LTQuNCAxLjEtLjUgLjEtLjkgLjItMS4yIC4zLS4xIDAtLjMgLjEtLjUgLjEtLjEgMC0uMiAwLS4zIC4xLS4xIDAtLjIgMC0uMyAwIDAgMC0uMiAwLS40IDBsMCAwYy0uMSAwLS4yIDAtLjMgMC0uMSAwLS4yIDAtLjMgMC0yLjIgLjEtNC41LS40LTYuNi0xLjctMi4zLTEuNC0zLjgtMy40LTQuNy01LjMtMS44LTMuNy0yLjMtOC4zLTIuMy0xM2wwLTI3LjRjMC00LjQgLjctOC43IDIuNi0xMi40IDIuMS0zLjkgNS41LTYuNiA5LjgtNy42bDc1LjQtMTkuNGMxLjQtLjQgMi45LS41IDQuNC0uNWwxLjggLjF6Il19LE9zdD16MWUsUnN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRlYW1zcGVhayIsaWNvbjpbNTc2LDUxMixbXSwiZjRmOSIsIk0xNTIuOCAzNy4yYy0zMi4yIDM4LjEtNTYuMSA4Mi42LTY5LjkgMTMwLjUgMCAuMi0uMSAuMy0uMSAuNS0zOS4zIDE2LjItNjYuOCA1NC44LTY2LjggOTkuOCAwIDU5LjYgNDguNCAxMDggMTA4IDEwOHMxMDgtNDguNCAxMDgtMTA4YzAtNTMuNS0zOC45LTk3LjktOTAtMTA2LjUgMTUuNy00MS44IDQwLjQtNzkuNiA3Mi4zLTExMC43IDEuOC0xLjYgNC0yLjYgNi4zLTMuMSAzNy4yLTExLjUgNzYuNy0xMy4zIDExNC44LTUuMiAxMTkuMyAyNS4xIDE5OC42IDEzOC4yIDE4MS43IDI1OC44LTguNCA2Mi42LTM4LjYgMTEyLjctODcuNyAxNTEuNC01MC4xIDM5LjctMTA3LjUgNTQuMy0xNzAuMiA1Mi4ybC0yNC0xYzEyLjQgMi44IDI1IDQuOSAzNy42IDYuMyA0MC43IDQuMiA4MS40IDIuMSAxMjAuMS0xMi41IDk0LTM1LjUgMTQ5LjMtMTAyLjMgMTYyLjktMjAyLjUgNC44LTUyLjYtNS44LTEwNS40LTMwLjgtMTUyLTcwLjQtMTMxLjktMjM0LjItMTgxLjYtMzY2LTExMS4yLTIuNCAxLjQtNC41IDMuMS02LjMgNS4ybC4xIDB6TTMwOS40IDQzMy45Yy0yLjEgMTEuNS00LjIgMjEuOS0xNC42IDMxLjMgNTMuMi0xIDEyMy4yLTI5LjIgMTYxLjgtOTcuMSAzOS43LTY5LjkgMzcuNi0xMzkuOS02LjMtMjA3LjgtMzYuNS01NS4zLTg5LjgtODIuNC0xNTYuNi04Ni42IDEuNSAyLjMgMy4yIDQuNCA1LjIgNi4zbDUuMiA2LjNjMjUuMSAzMS4zIDM3LjYgNjcuOSA0Mi44IDEwNy41IDIuMSAxNS43LTEgMzAuMy0xMy42IDQxLjgtNC4yIDMuMS01LjIgNi4zLTQuMiAxMC40bDcuMyAxNy43IDI5LjMgNTQuM2M1LjIgMTEuNSA0LjIgMTkuOC02LjMgMjguMi0zLjIgMi41LTYuNyA0LjYtMTAuNCA2LjNsLTE4LjggOC40IDMuMSAxMy42YzMuMSA2LjMgMSAxMi41LTMuMSAxNy43LTIuNSAyLjQtMy44IDUuOS0zLjEgOS40IDIuMSAxMS41LTIuMSAxOS44LTEyLjUgMjUuMS0yLjEgMS00LjIgNS4yLTUuMiA3LjNsMC0uMXptLTEzMy42LTMuMWMxNi43IDExLjUgMzQuNSAyMC45IDUzLjIgMjYuMSAyNCA1LjIgNDEuOC02LjMgNDQuOS0zMC4zIDEtOC40IDUuMi0xNC42IDEyLjUtMTcuNyA3LjMtNC4yIDguNC03LjMgMi4xLTEzLjZsLTkuNC04LjQgMTMuNi00LjJjNi4zLTIuMSA3LjMtNS4yIDUuMi0xMS41LTEuNC0zLTIuNC02LjItMy4xLTkuNC0zLjEtMTQuNi0yLjEtMTUuNyAxMS41LTE4LjggOC40LTMuMSAxNS43LTYuMyAyMS45LTEyLjUgMy4xLTIuMSAzLjEtNC4yIDEtOC40bC0xNi43LTMwLjNjLTEtMS45LTIuMS0zLjgtMy4xLTUuNy02LjQtMTEuNy0xMy0yMy42LTE1LjctMzcuMS0yLjEtOS40LTEtMTcuNyA4LjQtMjQgNS4yLTQuMiA4LjQtOS40IDguNC0xNi43LS40LTEwLjEtMS41LTIwLjMtMy4xLTMwLjMtNi4zLTM3LjYtMjMtNjguOS01MS4yLTk1LTUuMi00LjItOS40LTYuMy0xNi43LTQuMmwtMzUuNiAxMi43IDYgMy42YzYuMyAzLjcgMTIuMiA3LjMgMTcgMTIuMSAzMC4zIDI2LjEgNDEuOCA2MS42IDQ1LjkgMTAwLjIgMSA4LjQgMCAxNi43LTcuMyAyMS45LTguNCA1LjItMTAuNCAxMi41LTcuMyAyMC45IDQuOSAxMy4yIDEwLjQgMjYgMTYuNyAzOC42TDI5MS42IDMxOGMtNi4zIDguNC0xMy42IDExLjUtMjEuOSAxNC42LTEyLjUgMy4xLTE0LjYgNy4zLTEwLjQgMjAuOSAuNiAxLjUgMS40IDIuOCAyLjEgNC4yIDIuMSA1LjIgMSA4LjQtNC4yIDEwLjRsLTEyLjUgMy4xIDUuMiA0LjIgNC4yIDQuMmM0LjIgNS4yIDQuMiA4LjQtMi4xIDEwLjQtNy4zIDQuMi0xMS41IDkuNC0xMS41IDE3LjcgMCAxMi41LTcuMyAxOS44LTE4LjggMjQtMy44IDEtNy42IDEuNS0xMS41IDFsLTM0LjUtMi4xIC4xIC4yeiJdfSxCc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3VwcGxlIixpY29uOls2NDAsNTEyLFtdLCJmM2Y5IiwiTTY0MCAyNjIuNWMwIDY0LjEtMTA5IDExNi4xLTI0My41IDExNi4xLTI0LjggMC00OC42LTEuOC03MS4xLTUgNy43IC40IDE1LjUgLjYgMjMuNCAuNiAxMzQuNSAwIDI0My41LTU2LjkgMjQzLjUtMTI3LjEgMC0yOS40LTE5LjEtNTYuNC01MS4yLTc4IDYwIDIxLjEgOTguOSA1NS4xIDk4LjkgOTMuNHpNNDcuNyAyMjcuOWMtLjEtNzAuMiAxMDguOC0xMjcuMyAyNDMuMy0xMjcuNiA3LjkgMCAxNS42IC4yIDIzLjMgLjUtMjIuNS0zLjItNDYuMy00LjktNzEtNC45LTEzNC41IC40LTI0My40IDUyLjYtMjQzLjMgMTE2LjcgLjEgMzguMyAzOS4xIDcyLjMgOTkuMyA5My4zLTMyLjMtMjEuNS01MS41LTQ4LjYtNTEuNi03OHptNjAuMiAzOS45UzExOC40IDI4MSAxMzcuMiAyODFjMTcuOSAwIDI4LjQtMTEuNSAyOC40LTI1LjEgMC0yOC00MC4yLTI1LjEtNDAuMi0zOS43IDAtNS40IDUuMy05LjEgMTIuNS05LjEgNS43IDAgMTEuMyAyLjYgMTEuMyA2LjZsMCAzLjkgMTQuMiAwIDAtNy45YzAtMTIuMS0xNS40LTE2LjgtMjUuNC0xNi44LTE2LjUgMC0yOC41IDEwLjItMjguNSAyNC4xIDAgMjYuNiA0MC4yIDI1LjQgNDAuMiAzOS45IDAgNi42LTUuOCAxMC4xLTEyLjMgMTAuMS0xMS45IDAtMjAuNy0xMC4xLTIwLjctMTAuMWwtOC44IDEwLjl6bTEyMC44LTczLjZsMCA1NC40YzAgMTEuMy03LjEgMTcuOC0xNy44IDE3LjhzLTE3LjgtNi41LTE3LjgtMTcuN2wwLTU0LjUtMTUuOCAwIDAgNTVjMCAxOC45IDEzLjQgMzEuOSAzMy43IDMxLjkgMjAuMSAwIDMzLjQtMTMgMzMuNC0zMS45bDAtNTUtMTUuNyAwem0zNC40IDg1LjRsMTUuOCAwIDAtMjkuNSAxNS41IDBjMTYgMCAyNy4yLTExLjUgMjcuMi0yOC4xcy0xMS4yLTI3LjgtMjcuMi0yNy44bC0zOS4xIDAgMCAxMy40IDcuOCAwIDAgNzJ6bTE1LjgtNDNsMC0yOS4xIDEyLjkgMGM4LjcgMCAxMy43IDUuNyAxMy43IDE0LjQgMCA4LjktNS4xIDE0LjctMTQgMTQuN2wtMTIuNiAwem01NyA0M2wxNS44IDAgMC0yOS41IDE1LjUgMGMxNiAwIDI3LjItMTEuNSAyNy4yLTI4LjFzLTExLjItMjcuOC0yNy4yLTI3LjhsLTM5LjEgMCAwIDEzLjQgNy44IDAgMCA3MnptMTUuNy00M2wwLTI5LjEgMTIuOSAwYzguNyAwIDEzLjcgNS43IDEzLjcgMTQuNCAwIDguOS01IDE0LjctMTQgMTQuN2wtMTIuNiAwem01Ny4xIDM0LjhjMCA1LjggMi40IDguMiA4LjIgOC4ybDM3LjYgMGM1LjggMCA4LjItMi40IDguMi04LjJsMC0xMy0xNC4zIDAgMCA1LjJjMCAxLjctMSAyLjYtMi42IDIuNmwtMTguNiAwYy0xLjcgMC0yLjYtMS0yLjYtMi42bDAtNjEuMmMwLTUuNy0yLjQtOC4yLTguMi04LjJsLTE1LjQgMCAwIDEzLjQgNS4yIDBjMS43IDAgMi42IDEgMi42IDIuNmwwIDYxLjItLjEgMHptNjMuNCAwYzAgNS44IDIuNCA4LjIgOC4yIDguMmwzOC43IDBjNS43IDAgOC4yLTIuNCA4LjItOC4ybDAtMTMtMTQuMyAwIDAgNS4yYzAgMS43LTEgMi42LTIuNiAyLjZsLTE5LjcgMGMtMS43IDAtMi42LTEtMi42LTIuNmwwLTIwLjMgMjcuNyAwIDAtMTMuNC0yNy43IDAgMC0yMi40IDE5LjIgMGMxLjcgMCAyLjYgMSAyLjYgMi42bDAgNS4yIDE0LjIgMCAwLTEzYzAtNS43LTIuNS04LjItOC4yLTguMmwtNTEuNiAwIDAgMTMuNCA3LjggMCAwIDYzLjkgLjEgMHptNTguOS03NmwwIDUuOSAxLjYgMCAwLTUuOSAyLjcgMCAwLTEuMi03IDAgMCAxLjIgMi43IDB6bTUuNy0xLjJsMCA3LjEgMS41IDAgMC01LjcgMi4zIDUuNyAxLjMgMCAyLjMtNS43IDAgNS43IDEuNSAwIDAtNy4xLTIuMyAwLTIuMSA1LjEtMi4xLTUuMS0yLjQgMHoiXX0sQzFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS10d2l0dGVyIixpY29uOls0NDgsNTEyLFsidHdpdHRlci1zcXVhcmUiXSwiZjA4MSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0zNTEuMyAxOTkuM2MwIDg2LjctNjYgMTg2LjYtMTg2LjYgMTg2LjYtMzcuMiAwLTcxLjctMTAuOC0xMDAuNy0yOS40IDUuMyAuNiAxMC40IC44IDE1LjggLjggMzAuNyAwIDU4LjktMTAuNCA4MS40LTI4LTI4LjgtLjYtNTMtMTkuNS02MS4zLTQ1LjUgMTAuMSAxLjUgMTkuMiAxLjUgMjkuNi0xLjItMzAtNi4xLTUyLjUtMzIuNS01Mi41LTY0LjRsMC0uOGM4LjcgNC45IDE4LjkgNy45IDI5LjYgOC4zLTktNi0xNi40LTE0LjEtMjEuNS0yMy42cy03LjgtMjAuMi03LjctMzFjMC0xMi4yIDMuMi0yMy40IDguOS0zMy4xIDMyLjMgMzkuOCA4MC44IDY1LjggMTM1LjIgNjguNi05LjMtNDQuNSAyNC04MC42IDY0LTgwLjYgMTguOSAwIDM1LjkgNy45IDQ3LjkgMjAuNyAxNC44LTIuOCAyOS04LjMgNDEuNi0xNS44LTQuOSAxNS4yLTE1LjIgMjgtMjguOCAzNi4xIDEzLjItMS40IDI2LTUuMSAzNy44LTEwLjItOC45IDEzLjEtMjAuMSAyNC43LTMyLjkgMzQgLjIgMi44IC4yIDUuNyAuMiA4LjV6Il19LEhzdD1DMWUscXN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpbSIsaWNvbjpbNTEyLDUxMixbXSwiZTg4YSIsIk0zMDMuMyA1NC41bDAtMTIuMyA0LTMuNyA3LjktNy4yIDMuNS0zLjIgMTY4IDAgMTUuMSAxNS4xIDAgMzguOS0zLjUgMy42LTgwLjkgODIuOSA4Ni45IDg2LjktOTEuMiA5MS4yIDguOSAwIDcuNi04LjMgMS0uOWMxLjEtLjggMi41LTEuMiAzLjktMS4ybDI4LjkgMCAxLjUgLjJjMS41IC40IDIuOCAxLjIgMy44IDIuNWw3LjYgMTAuMmMxLjMgMS43IDEuNiAzLjkgMSA1LjlsLTIyLjMgNzIuNSAxLjIgMGMyLjIgMCA0LjIgMS4xIDUuNSAyLjlzMS41IDQuMSAuNyA2LjFMNDU5IDQ0NWMtMSAyLjYtMy40IDQuMi02LjIgNC4ybC00MC40IDBjLTIuMSAwLTQuMS0xLTUuMy0yLjdzLTEuNi0zLjktMS01LjlsMjAtNjMuMi0yMi4yIDAtMTYuMiA1MC43YzIuMSAuMSA0LjEgMS4xIDUuMyAyLjkgMS4yIDEuOCAxLjQgNC4yIC42IDYuMmwtMy4zIDcuOWMtMSAyLjUtMy41IDQuMS02LjEgNC4xbC0zNi44IDBjLTIuMSAwLTQuMS0xLTUuNC0yLjdzLTEuNi0zLjktMS01LjlsMTAtMzIuMS0yMy45IDIzLjhjLjMgMS4yIC4zIDIuNS0uMSAzLjhsLTIuOSA4LjZjLS45IDIuNy0zLjQgNC41LTYuMyA0LjVsLTcuNCAwLTU0LjYgNTQuNi04My44LTgzLjgtMzEuNiAzMi41LTMuNiAzLjctNDkuMiAwLTIuOC0xLjdjLTguOC01LjEtMTQuOC04LjUtMTcuOS0xMC4zbDAtMTI5LjMtNTguNS01OC41IDIuNi0yLjYgNTUuOS01NiAwLTk5LjQtMTIuNiAwLTEwLjgtMTAuOC0zLjYtMy42IDAtNDAuNyAzLjItMy41IDcuOS04LjUgMy43LTMuOSAxNjYuNiAwIDggOCAyNy40LTI3LjQgNDYuNCA0Ni40em0tMjUxLTUuNmwwIDMwLjMgOS40IDcuOCAxOC45IDAgMCAzNDcuOSAxMS40IDEwLjMgMzguMiAwIDkxLTkzYzAtLjQgLjEtLjggLjItMS4xbDIuNi0xMC41Yy43LTIuOSAzLjQtNSA2LjQtNWw3LjEgMCAxNS41LTE1LjktMi0yYy0xLjgtMS44LTIuNC00LjUtMS41LTYuOWw2LjktMTkuM2MuNC0xLjEgMS4xLTIgMS45LTIuOGw2LjktNS45YzEuMi0xIDIuOC0xLjYgNC4zLTEuNmwxOS43IDAgMS4zIC4yYy4xIDAgLjEgLjEgLjIgLjFsMTk5LjItMjAzLjUgMC0yOC43LTguMi03LjQtMTU2LjIgMC03LjggNy44IDAgMzAuNSA4LjIgNy40IDIxIDAtMTQ3IDE0Ni40IDAtMTQ2LjYgMTYuOSAwIDguNy04LjcgMC0yNy43LTcuNC05LjktMTU3LjYgMC04IDh6TTIyNy42IDM1Mi43bDE0LjggMC0zMS44IDkwLjkgNDUuMyAwIDMtOS42LTEyLjUgMCAzMS41LTkxLjktNDcuNiAwLTIuNiAxMC41em0xMzYuOSAxbC0xNi40IDAtMTAuNS0xMC44LTM1LjggMC0zLjMgOS44IDExLjggMC0zMC41IDg5LjkgMzguMSAwIDIuOS04LjYtOC44IDAgMjAtNjMgMzcuOCAwLTIyLjMgNzEuNiAzNi44IDAgMy4zLTcuOS04LjggMCAyMC4zLTY0IDM2LjEgMC0yMi43IDcxLjkgNDAuNCAwIDMuMy04LjYtMTAuMiAwIDI1LTgxLjEtNy41LTEwLjItMjguOSAwLTkuNSAxMC41LTE3LjQgMC05LjktMTAuOC0yMy4zIDAtOS44IDExLjJ6TTI2Mi41IDI5My42bC02LjkgMTkuMyA1LjMgNS4zIDIxLjMgMCA1LjYtNS42IDUuOS0yMC4zLTQuNi00LjYtMTkuNyAwLTYuOSA1Ljl6Il19LG1EPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvbnQtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbNjI1MDEsNjI2OTQsImZvbnQtYXdlc29tZS1mbGFnIiwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbCJdLCJmMmI0IiwiTTkxLjcgOTZDMTA2LjMgODYuOCAxMTYgNzAuNSAxMTYgNTIgMTE2IDIzLjMgOTIuNyAwIDY0IDBTMTIgMjMuMyAxMiA1MmMwIDE2LjcgNy44IDMxLjUgMjAgNDFsMCA0MTkgNjQgMCAwLTY0IDM3My42IDBjMTQuNiAwIDI2LjQtMTEuOCAyNi40LTI2LjQgMC0zLjctLjgtNy4zLTIuMy0xMC43TDQzMiAyNzIgNDkzLjcgMTMzLjFjMS41LTMuNCAyLjMtNyAyLjMtMTAuNyAwLTE0LjYtMTEuOC0yNi40LTI2LjQtMjYuNEw5MS43IDk2eiJdfSxqc3Q9bUQsVnN0PW1ELFQxZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3aXJzaW5kaGFuZHdlcmsiLGljb246WzQ0OCw1MTIsWyJ3c2giXSwiZTJkMCIsIk0xOC45IDQ3OS44bDgzLjQgMCAwLTExMi04My40IDQ3IDAgNjV6bTMyOSAwbDgyLjQgMCAwLTY1LTgyLjQtNDcgMCAxMTJ6bTAtNDQ4bDAgMjE5LjgtMTIzLjYtNzIuNC0xMjEuNyA3Mi40IDAtMjE5LjgtODMuNyAwIDAgMzYwLjggMjA1LjQtMTIyLjMgMjA2IDEyMi4zIDAtMzYwLjgtODIuMyAweiJdfSxVc3Q9VDFlLFdzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ6b29tIixpY29uOls2NDAsNTEyLFtdLCJlODdiIiwiTTEzNC4yIDMyNi42bC0xMTQuNCAwYy04IDAtMTUuMi00LjgtMTguMy0xMi4yUy4xIDI5OC42IDUuOCAyOTIuOWw3OS4zLTc5LjMtNTYuOCAwQzEyLjcgMjEzLjYgMCAyMDEgMCAxODUuNGwxMDUuNSAwYzggMCAxNS4yIDQuOCAxOC4zIDEyLjJzMS40IDE1LjktNC4zIDIxLjZsLTc5LjMgNzkuMyA2NS43IDBjMTUuNiAwIDI4LjMgMTIuNiAyOC4zIDI4LjN6TTY0MCAyMzguM2MwLTMwLjQtMjQuNy01NS4xLTU1LjEtNTUuMS0xNi4yIDAtMzAuOSA3LjEtNDEgMTguMy0xMC4xLTExLjItMjQuNy0xOC4zLTQxLTE4LjMtMzAuNCAwLTU1LjEgMjQuNy01NS4xIDU1LjFsMCA4OC4zYzE1LjYgMCAyOC4zLTEyLjcgMjguMy0yOC4zbDAtNjBjMC0xNC44IDEyLTI2LjggMjYuOC0yNi44czI2LjggMTIgMjYuOCAyNi44bDAgNjBjMCAxNS42IDEyLjYgMjguMyAyOC4zIDI4LjNsMC04OC4zYzAtMTQuOCAxMi0yNi44IDI2LjgtMjYuOHMyNi44IDEyIDI2LjggMjYuOGwwIDYwYzAgMTUuNiAxMi42IDI4LjMgMjguMyAyOC4zbDAtODguM3pNMjg4LjIgMjU2YTcyLjggNzIuOCAwIDEgMSAxNDUuNSAwIDcyLjggNzIuOCAwIDEgMSAtMTQ1LjUgMHptMTE3LjMgMGE0NC41IDQ0LjUgMCAxIDAgLTg5IDAgNDQuNSA0NC41IDAgMSAwIDg5IDB6bS0yNzQuMSAwYTcyLjggNzIuOCAwIDEgMSAxNDUuNSAwIDcyLjggNzIuOCAwIDEgMSAtMTQ1LjUgMHptMTE3LjMgMGE0NC41IDQ0LjUgMCAxIDAgLTg5IDAgNDQuNSA0NC41IDAgMSAwIDg5IDB6Il19LEdzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb25mbHVlbmNlIixpY29uOls1MTIsNTEyLFtdLCJmNzhkIiwiTTIuOCA0MTIuMmMtNC41IDcuNi0yLjEgMTcuNSA1LjUgMjIuMmwxMDUuOSA2NS4yYzcuNyA0LjcgMTcuNyAyLjQgMjIuNC01LjMgMC0uMSAuMS0uMiAuMS0uMiA2Ny4xLTExMi4yIDgwLjUtOTUuOSAyODAuOS0uNyA4LjEgMy45IDE3LjggLjQgMjEuNy03LjcgLjEtLjEgLjEtLjMgLjItLjRsNTAuNC0xMTQuMWMzLjYtOC4xLS4xLTE3LjYtOC4xLTIxLjMtMjIuMi0xMC40LTY2LjItMzEuMi0xMDUuOS01MC4zLTI0Ny45LTEyMC42LTMzMC44IDQ1LjctMzczLjEgMTEyLjZ6TTUxMC4yIDEwMC4xYzQuNS03LjYgMi4xLTE3LjUtNS41LTIyLjJMMzk4LjkgMTIuOGMtNy41LTUtMTcuNi0zLjEtMjIuNiA0LjQtLjIgLjMtLjQgLjYtLjYgMS02Ny4zIDExMi42LTgxLjEgOTUuNi0yODAuNiAuOS04LjEtMy45LTE3LjgtLjQtMjEuNyA3LjctLjEgLjEtLjEgLjMtLjIgLjRMMjIuNyAxNDEuM2MtMy42IDguMSAuMSAxNy42IDguMSAyMS4zIDIyLjIgMTAuNCA2Ni4zIDMxLjIgMTA2IDUwLjQgMjQ4IDEyMCAzMzAuOC00NS40IDM3My40LTExMi45eiJdfSxZc3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGlnZyIsaWNvbjpbNTEyLDUxMixbXSwiZjFhNiIsIk04MS43IDE3Mi4zbC04MS43IDAgMCAxNzQuNCAxMzIuNyAwIDAtMjUwLjctNTEgMCAwIDc2LjN6bTAgMTMzLjRsLTMwLjggMCAwLTkyLjMgMzAuOCAwIDAgOTIuM3pNMzc4LjkgMTcyLjNsMCAxNzQuNCA4MS44IDAgMCAyOC41LTgxLjggMCAwIDQwLjggMTMzLjEgMCAwLTI0My43LTEzMy4xIDB6bTgxLjggMTMzLjRsLTMwLjggMCAwLTkyLjMgMzAuOCAwIDAgOTIuM3ptLTIzNS42IDQxbDgyLjEgMCAwIDI4LjUtODIuMSAwIDAgNDAuOCAxMzMuMyAwIDAtMjQzLjctMTMzLjMgMCAwIDE3NC40em01MS4yLTEzMy4zbDMwLjggMCAwIDkyLjMtMzAuOCAwIDAtOTIuM3pNMTUzLjMgOTZsNTEuMyAwIDAgNTEtNTEuMyAwIDAtNTF6bTAgNzYuM2w1MS4zIDAgMCAxNzQuNC01MS4zIDAgMC0xNzQuNHoiXX0sWnN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRocmVhZHMiLGljb246WzQ0OCw1MTIsW10sImU2MTgiLCJNMzMxLjUgMjM1LjdjMi4yIC45IDQuMiAxLjkgNi4zIDIuOCAyOS4yIDE0LjEgNTAuNiAzNS4yIDYxLjggNjEuNCAxNS43IDM2LjUgMTcuMiA5NS44LTMwLjMgMTQzLjItMzYuMiAzNi4yLTgwLjMgNTIuNS0xNDIuNiA1M2wtLjMgMGMtNzAuMi0uNS0xMjQuMS0yNC4xLTE2MC40LTcwLjItMzIuMy00MS00OC45LTk4LjEtNDkuNS0xNjkuNmwwLS41QzE3IDE4NC4zIDMzLjYgMTI3LjIgNjUuOSA4Ni4yIDEwMi4yIDQwLjEgMTU2LjIgMTYuNSAyMjYuNCAxNmwuMyAwYzcwLjMgLjUgMTI0LjkgMjQgMTYyLjMgNjkuOSAxOC40IDIyLjcgMzIgNTAgNDAuNiA4MS43bC00MC40IDEwLjhjLTcuMS0yNS44LTE3LjgtNDcuOC0zMi4yLTY1LjQtMjkuMi0zNS44LTczLTU0LjItMTMwLjUtNTQuNi01NyAuNS0xMDAuMSAxOC44LTEyOC4yIDU0LjQtMjYuMiAzMy4zLTM5LjggODEuNS00MC4zIDE0My4yIC41IDYxLjcgMTQuMSAxMDkuOSA0MC4zIDE0My4zIDI4IDM1LjYgNzEuMiA1My45IDEyOC4yIDU0LjQgNTEuNC0uNCA4NS40LTEyLjYgMTEzLjctNDAuOSAzMi4zLTMyLjIgMzEuNy03MS44IDIxLjQtOTUuOS02LjEtMTQuMi0xNy4xLTI2LTMxLjktMzQuOS0zLjcgMjYuOS0xMS44IDQ4LjMtMjQuNyA2NC44LTE3LjEgMjEuOC00MS40IDMzLjYtNzIuNyAzNS4zLTIzLjYgMS4zLTQ2LjMtNC40LTYzLjktMTYtMjAuOC0xMy44LTMzLTM0LjgtMzQuMy01OS4zLTIuNS00OC4zIDM1LjctODMgOTUuMi04Ni40IDIxLjEtMS4yIDQwLjktLjMgNTkuMiAyLjgtMi40LTE0LjgtNy4zLTI2LjYtMTQuNi0zNS4yLTEwLTExLjctMjUuNi0xNy43LTQ2LjItMTcuOGwtLjcgMGMtMTYuNiAwLTM5IDQuNi01My4zIDI2LjNsLTM0LjQtMjMuNmMxOS4yLTI5LjEgNTAuMy00NS4xIDg3LjgtNDUuMWwuOCAwYzYyLjYgLjQgOTkuOSAzOS41IDEwMy43IDEwNy43bC0uMiAuMiAuMSAwem0tMTU2IDY4LjhjMS4zIDI1LjEgMjguNCAzNi44IDU0LjYgMzUuMyAyNS42LTEuNCA1NC42LTExLjQgNTkuNS03My4yLTEzLjItMi45LTI3LjgtNC40LTQzLjQtNC40LTQuOCAwLTkuNiAuMS0xNC40IC40LTQyLjkgMi40LTU3LjIgMjMuMi01Ni4yIDQxLjhsLS4xIC4xeiJdfSxfMWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid3ByZXNzciIsaWNvbjpbNTEyLDUxMixbInJlbmRhY3QiXSwiZjNlNCIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTQyNy4zIDE2Ni42Yy0xNS4yIDM0LjUtMzAuNCA2OS00NS42IDEwMy41LTIuNCA1LjUtNi45IDguMi0xMyA4LjItMjMgMC00NiAuMS02OSAwLTUuMSAwLTguMiAxLjktMTAuMyA2LjctMTAuMiAyMy42LTIwLjYgNDctMzEgNzAuNS0xLjUgMy41LTQuMSA1LjMtNy45IDUuMy00NS45IDAtOTEuOSAwLTEzNy44IDAtMy4xIDAtNS42LTEuMS03LjctMy40LTExLjItMTIuMy0yMi41LTI0LjYtMzMuNy0zNi45LTIuNy0zLTIuOC02LjItMS4yLTkuNyA4LjctMTkuNSAxNy4zLTM5LjEgMjUuOS01OC43IDEyLjktMjkuNCAyNS45LTU4LjcgMzguNy04OC4xIDEuNy0zLjkgNC4zLTUuNyA4LjUtNS43IDE0LjIgLjEgMjguNSAwIDQyLjcgMCA2LjIgMCA5LjIgNC44IDYuNyAxMC42LTEzLjYgMzAuOC0yNy4yIDYxLjYtNDAuNyA5Mi4zLTUuNyAxMy0xMS40IDI2LTE3LjEgMzktMy45IDkgNy4xIDEyIDExIDUuNiAuMi0uNC0xLjQgNC4yIDMwLTY3LjcgMS40LTMuMSAzLjQtNC40IDYuOC00LjQgMTUuMiAuMSAzMC40IDAgNDUuNiAwIDUuNiAwIDcuOSAzLjYgNS43IDguNy04LjMgMTktMTYuNyAzNy45LTI1IDU2LjktNSAxMS40IDguMSAxMi41IDExLjMgNS4zIDAtLjEgMjcuOS02My4zIDMyLjItNzMuMiAyLTQuNiA1LjQtNi41IDEwLjMtNi41IDI2LjQgLjEgNTIuOSAwIDc5LjMgMCAxMi40IDAgMTMuOS0xMy42IDMuOS0xMy42LTI1LjMgMC01MC41IDAtNzUuOCAwLTYuMyAwLTcuOC0yLjUtNS4zLTguMyA1LjgtMTMuMSAxMS42LTI2LjEgMTcuMy0zOS4yIDEuNy00IDQuNS01LjggOC44LTUuOCAyMy4xIC4xIDI2IDAgMTMwLjggMCA2LjEgMCA4IDIuOCA1LjYgOC4zeiJdfSxYc3Q9XzFlLFFzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5b2FzdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjJiMSIsIk05MS4zIDc2bDE4NiAwLTcgMTguOS0xNzkgMGMtMzkuNyAwLTcxLjkgMzEuNi03MS45IDcwLjNsMCAyMDUuNGMwIDM1LjQgMjQuOSA3MC4zIDg0IDcwLjNsMCAxOS4xLTEyLjEgMEM0MS4yIDQ2MCAwIDQxOS44IDAgMzcwLjVMMCAxNjUuMkMwIDExNS45IDQwLjcgNzYgOTEuMyA3NnpNMzIwLjQgMjBsNjYuNSAwYy0xNDMuOCAzNzguMS0xNDUuNyAzOTguOS0xODQuNyA0MzkuMy0yMC44IDIxLjYtNDkuMyAzMS43LTc4LjMgMzIuN2wwLTUxLjFjNDkuMi03LjcgNjQuNi00OS45IDY0LjYtNzUuMyAwLTIwLjEgLjYtMTIuNi04Mi4xLTIyMy4ybDYxLjQgMCA1MC40IDE1Ni42IDEwMi4yLTI3OXpNNDQ4IDE2MS41bDAgMjk4LjUtMjE0IDBjNi42LTkuNiAxMC43LTE2LjMgMTIuMS0xOS40bDE4Mi41IDAgMC0yNzkuMWMwLTMyLjUtMTcuMS01MS45LTQ4LjItNjIuOUwzODcuMSA4MWM0MS43IDEzLjYgNjAuOSA0My4xIDYwLjkgODAuNXoiXX0sSnN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5pbWJsciIsaWNvbjpbMzg0LDUxMixbXSwiZjVhOCIsIk0yNDYuNiAzNTMuM2EyNyAyNyAwIDEgMSAwLTU0IDI3IDI3IDAgMSAxIDAgNTR6bS03OS40LTI3YTI3LjEgMjcuMSAwIDEgMSAtNTQuMyAwIDI3LjEgMjcuMSAwIDEgMSA1NC4zIDB6TTE5MS44IDE1OUMxNTcgMTU5IDg5LjQgMTc4LjggNTkuMiAyMjdMMTQgMCAxNCAzMzUuNUMxNCA0MzMuMSA5My42IDUxMiAxOTEuOCA1MTJTMzY5LjUgNDMzIDM2OS41IDMzNS41IDI5MC4xIDE1OSAxOTEuOCAxNTl6bTAgMzA4LjFjLTczLjMgMC0xMzIuNS01OC45LTEzMi41LTEzMS42czU5LjItMTMxLjYgMTMyLjUtMTMxLjYgMTMyLjUgNTguOSAxMzIuNSAxMzEuNS01OS4zIDEzMS42LTEzMi41IDEzMS42bDAgLjF6Il19LEtzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaXhlbGZlZCIsaWNvbjpbNTEyLDUxMixbXSwiZTdkYiIsIk0yNTYgMGEyNTYgMjU2IDAgMSAxIDAgNTEyIDI1NiAyNTYgMCAxIDEgMC01MTJ6TTIzNS43IDMxMS45bDQ3IDBjNDQuMiAwIDgwLjEtMzQuOSA4MC4xLTc4cy0zNS45LTc4LTgwLjEtNzhsLTY3LjggMGMtMjUuNSAwLTQ2LjIgMjAuMS00Ni4yIDQ1bDAgMTc1LjEgNjctNjQuMXoiXX0sZW90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InlhaG9vIixpY29uOls1MTIsNTEyLFtdLCJmMTllIiwiTTIyMy44IDE0MS4xbC01Ni43IDE0My4yLTU2LTE0My4yLTk2LjEgMCAxMDUuOCAyNDkuMS0zOC42IDg5LjggOTQuMiAwIDE0MC45LTMzOC45LTkzLjYgMHpNMzI5LjIgMjc2LjlhNTguMiA1OC4yIDAgMSAwIDAgMTE2LjQgNTguMiA1OC4yIDAgMSAwIDAtMTE2LjR6TTM5NC43IDMybC05MyAyMjMuNSAxMDQuOCAwIDkyLjYtMjIzLjUtMTA0LjQgMHoiXX0sdG90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsdWVza3kiLGljb246WzU3Niw1MTIsW10sImU2NzEiLCJNNDA3LjggMjk0LjdjLTMuMy0uNC02LjctLjgtMTAtMS4zIDMuNCAuNCA2LjcgLjkgMTAgMS4zek0yODggMjI3LjFDMjYxLjkgMTc2LjQgMTkwLjkgODEuOSAxMjQuOSAzNS4zIDYxLjYtOS40IDM3LjUtMS43IDIxLjYgNS41IDMuMyAxMy44IDAgNDEuOSAwIDU4LjRTOS4xIDE5NCAxNSAyMTMuOWMxOS41IDY1LjcgODkuMSA4Ny45IDE1My4yIDgwLjcgMy4zLS41IDYuNi0uOSAxMC0xLjQtMy4zIC41LTYuNiAxLTEwIDEuNC05My45IDE0LTE3Ny4zIDQ4LjItNjcuOSAxNjkuOSAxMjAuMyAxMjQuNiAxNjQuOC0yNi43IDE4Ny43LTEwMy40IDIyLjkgNzYuNyA0OS4yIDIyMi41IDE4NS42IDEwMy40IDEwMi40LTEwMy40IDI4LjEtMTU2LTY1LjgtMTY5LjktMy4zLS40LTYuNy0uOC0xMC0xLjMgMy40IC40IDYuNyAuOSAxMCAxLjMgNjQuMSA3LjEgMTMzLjYtMTUuMSAxNTMuMi04MC43IDUuOS0xOS45IDE1LTEzOC45IDE1LTE1NS41cy0zLjMtNDQuNy0yMS42LTUyLjljLTE1LjgtNy4xLTQwLTE0LjktMTAzLjIgMjkuOC02Ni4xIDQ2LjYtMTM3LjEgMTQxLjEtMTYzLjIgMTkxLjh6Il19LHJvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzY3JpYmQiLGljb246WzM4NCw1MTIsW10sImYyOGEiLCJNNDIuNiAyNTIuN2MtMTYuMS0xOS0yNC43LTQ1LjktMjQuOC03OS45IDAtMTAwLjQgNzUuMi0xNTMuMSAxNjcuMi0xNTMuMSA5OC42LTEuNiAxNTYuOCA0OSAxODQuMyA3MC42bC01MC41IDcyLjEtMzcuMy0yNC42IDI2LjktMzguNmMtMzYuNS0yNC03OS40LTM2LjUtMTIzLTM1LjgtNTAuNy0uOC0xMTEuNyAyNy4yLTExMS43IDc2LjIgMCAxOC43IDExLjIgMjAuNyAyOC42IDE1LjYgMjMuMy01LjMgNDEuOSAuNiA1NS44IDE0IDI2LjQgMjQuMyAyMy4yIDY3LjYtLjcgOTEuOS0yOS4yIDI5LjUtODUuMiAyNy4zLTExNC44LTguNHptMzE3LjcgNS45Yy0xNS41LTE4LjgtMzguOS0yOS40LTYzLjItMjguNi0zOC4xLTItNzEuMSAyOC03MC41IDY3LjItLjcgMTYuOCA2IDMzIDE4LjQgNDQuMyAxNC4xIDEzLjkgMzMgMTkuNyA1Ni4zIDE0LjQgMTcuNC01LjEgMjguNi0zLjEgMjguNiAxNS42IDAgNC4zLS41IDguNS0xLjQgMTIuNy0xNi43IDQwLjktNTkuNSA2NC40LTEyMS40IDY0LjQtNTEuOSAuMi0xMDIuNC0xNi40LTE0NC4xLTQ3LjNsMzMuNy0zOS40LTM1LjYtMjcuNC02MC44IDcxLjggMTUuNCAxMy44YzUyLjUgNDYuOCAxMjAuNCA3Mi41IDE5MC43IDcyLjIgNTEuNCAwIDk0LjQtMTAuNSAxMzMuNi00NC4xIDU3LjEtNTEuNCA1NC4yLTE0OS4yIDIwLjMtMTg5LjZ6Il19LGFvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLXBkIixpY29uOls1MTIsNTEyLFtdLCJmNGVjIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnptMCA0NDkuNWMtMTM5LjIgMC0yMzUuOC0xMzgtMTkwLjItMjY3LjlsNzguOCAzNS4xYy0yLjEgMTAuNS0zLjMgMjEuNS0zLjMgMzIuOSAwIDk5IDczLjkgMTI2LjkgMTIwLjQgMTI2LjkgMjIuOSAwIDUzLjUtNi43IDc5LjQtMjkuNUwzMDUgMzExLjFjLTUuNSA2LjMtMTcuNiAxNi43LTM2LjMgMTYuNy0zNy44IDAtNTMuNy0zOS45LTUzLjktNzEuOSAyMzAuNCAxMDIuNiAyMTYuNSA5Ni41IDIxNy45IDk2LjgtMzQuMyA2Mi40LTEwMC42IDEwNC44LTE3Ni43IDEwNC44em0xOTQuMi0xNTBsLTIyNC0xMDBjMTguOC0zNCA1NC45LTMwLjcgNzQuNy0xMWw0MC40LTQxLjZjLTI3LjEtMjMuMy01OC0yNy41LTc4LjEtMjcuNS00Ny40IDAtODAuOSAyMC41LTEwMC43IDUxLjZMODcuNiAxNDUuNmMzNi4xLTU0LjkgOTguMS05MS4yIDE2OC41LTkxLjIgMTExLjEgMCAyMDEuNSA5MC40IDIwMS41IDIwMS41IDAgMTgtMi40IDM1LjQtNi44IDUyLS4zLS4xLS40LS4yLS42LS40eiJdfSxpb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZWFybHliaXJkcyIsaWNvbjpbNTEyLDUxMixbXSwiZjM5YSIsIk0zMjkuMyA0Ny41YzEuMi0xMyAyMS4zLTE0IDM2LjYtOC43IC45IC4zIDI2LjIgOS43IDE5IDE1LjItMjcuOS03LjQtNTYuNCAxOC4yLTU1LjYtNi41em0tMjAxIDYuOWMzMC43LTguMSA2MiAyMCA2MS4xLTcuMS0xLjMtMTQuMi0yMy40LTE1LjMtNDAuMi05LjYtMSAuMy0yOC43IDEwLjUtMjAuOSAxNi43ek0zMzUuNSAxNjBhMTYgMTYgMCAxIDAgMCAzMiAxNiAxNiAwIDEgMCAwLTMyem0tMTU5LjcgMGExNiAxNiAwIDEgMCAwIDMyIDE2IDE2IDAgMSAwIDAtMzJ6TTQ5NC4zIDMyMy4yYy05LjkgMjQtNDAuNyAxMS02My45LTEuMi0xMy41IDY5LjEtNTguMSAxMTEuNC0xMjYuMyAxMjQuMiAuMyAuOS0yLS4xIDI0IDEgMzMuNiAxLjQgNjMuOC0zLjEgOTcuNC04LTE5LjgtMTMuOC0xMS40LTM3LjEtOS44LTM4LjEgMS40LS45IDE0LjcgMS43IDIxLjYgMTEuNSA4LjYtMTIuNSAyOC40LTE0LjggMzAuMi0xMy42IDEuNiAxLjEgNi42IDIwLjktNi45IDM0LjYgNC43LS45IDguMi0xLjYgOS44LTIuMSAyLjYtLjggMTcuNyAxMS4zIDMuMSAxMy4zLTE0LjMgMi4zLTIyLjYgNS4xLTQ3LjEgMTAuOC00NS45IDEwLjctODUuOSAxMS44LTExNy43IDEyLjhsMSAxMS42YzMuOCAxOC4xLTIzLjQgMjQuMy0yNy42IDYuMiAuOCAxNy45LTI3LjEgMjEuOC0yOC40LTFsLS41IDUuM2MtLjcgMTguNC0yOC40IDE3LjktMjguMy0uNi03LjUgMTMuNS0yOC4xIDYuOC0yNi40LTguNWwxLjItMTIuNGMtMzYuNyAuOS01OS43IDMuMS02MS44IDMuMS0yMC45IDAtMjAuOS0zMS42IDAtMzEuNiAyLjQgMCAyNy43IDEuMyA2My4yIDIuOC02MS4xLTE1LjUtMTAzLjctNTUtMTE0LjktMTE4LjItMjUgMTIuOC01Ny41IDI2LjgtNjguMiAuOC0xMC41LTI1LjQgMjEuNS00Mi42IDY2LjgtNzMuNCAuNy02LjYgMS42LTEzLjMgMi43LTE5LjgtMTQuNC0xOS42LTExLjYtMzYuMy0xNi4xLTYwLjQtMTYuOCAyLjQtMjMuMi05LjEtMjMuNi0yMy4xIC4zLTcuMyAyLjEtMTQuOSAyLjQtMTUuNCAxLjEtMS44IDEwLjEtMiAxMi43LTIuNiA2LTMxLjcgNTAuNi0zMy4yIDkwLjktMzQuNSAxOS43LTIxLjggNDUuMi00MS41IDgwLjktNDguMy0xNS4zLTE5LjQtMy40LTM5LjktMi40LTQwLjQgMS43LS44IDIxLjIgNC4zIDI2LjMgMjMuMiA1LjItOC44IDE4LjMtMTEuNCAxOS42LTEwLjcgMS4xIC42IDYuNCAxNS00LjkgMjUuOSA0MC4zIDMuNSA3Mi4yIDI0LjcgOTYgNTAuNyAzNi4xIDEuNSA3MS44IDUuOSA3Ny4xIDM0IDIuNyAuNiAxMS42IC44IDEyLjcgMi42IC4zIC41IDIuMSA4LjEgMi40IDE1LjQtLjUgMTMuOS02LjggMjUuNC0yMy42IDIzLjEtMy4yIDE3LjMtMi43IDMyLjktOC43IDQ3LjcgMi40IDExLjcgNCAyMy44IDQuOCAzNi40IDM3IDI1LjQgNzAuMyA0Mi41IDYwLjMgNjYuOXpNMjIzLjUgMTU5LjljLjktNDQtMzcuOS00Mi4yLTc4LjYtNDAuMy0yMS43IDEtMzguOSAxLjktNDUuNSAxMy45LTExLjQgMjAuOSA1LjkgOTIuOSAyMy4yIDEwMS4yIDkuOCA0LjcgNzMuNCA3LjkgODYuMy03LjEgOC4yLTkuNCAxNS00OS40IDE0LjYtNjcuN3ptNTIgNTguM2MtNC4zLTEyLjQtNi0zMC4xLTE1LjMtMzIuNy0yLS41LTktLjUtMTEgMC0xMCAyLjgtMTAuOCAyMi4xLTE3IDM3LjIgMTUuNCAwIDE5LjMgOS43IDIzLjcgOS43IDQuMyAwIDYuMy0xMS4zIDE5LjYtMTQuMnptMTM1LjctODQuN2MtNi42LTEyLjEtMjQuOC0xMi45LTQ2LjUtMTMuOS00MC4yLTEuOS03OC4yLTMuOC03Ny4zIDQwLjMtLjUgMTguMyA1IDU4LjMgMTMuMiA2Ny44IDEzIDE0LjkgNzYuNiAxMS44IDg2LjMgNy4xIDE1LjgtNy42IDM2LjUtNzguOSAyNC4zLTEwMS4zeiJdfSxub3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3ltZm9ueWNhc3RzIixpY29uOls1NzYsNTEyLFtdLCJlOGFiIiwiTTI5My44IDM0Mi41YzMuNC0xLjUgNi44LTEuNSAxMC4yIDBsNTQuMiAyMi42YzIuNiAuOSA0LjcgMi42IDYuMiA0LjhzMi4zIDQuOCAyLjMgNy42YzAgMTkuNC0zLjYgMzcuMi0xMC43IDUzLjQtNi4yIDEzLjYtMTQuNSAyNS40LTI0LjggMzUuNi04LjcgOC41LTE3LjcgMTQuNi0yNy4xIDE4LjQtMy40IDEuNS02LjggMS41LTEwLjIgMC0xMC43LTQuMy0yMC42LTExLjMtMjkuNy0yMC45LTEwLTEwLjQtMTcuOC0yMi41LTIzLjUtMzYuNC02LjQtMTUuNi05LjYtMzIuMy05LjYtNTAgMC0yLjggLjctNS40IDIuMi03LjYgMS41LTIuMyAzLjYtMy45IDYuMi00LjhsNTQuMi0yMi42ek00NzkuNyA0ODMuOGE3MC4xIDcwLjEgMCAxIDEgMC0xNDAuMiA3MC4xIDcwLjEgMCAxIDEgMCAxNDAuMnpNMjQ0LjYgMzc3LjZjMCAxNS4zIDIuNiAyOS43IDcuOSA0My4yIDQuOSAxMi40IDExLjYgMjMuMyAyMC4xIDMyLjUgOC4xIDguOSAxNi45IDE1LjMgMjYuMyAxOS4yIDkuMi0zLjggMTcuOC0xMCAyNS43LTE4LjcgOC43LTkuMiAxNS40LTE5LjkgMjAuMy0zMi4yIDUuNS0xMy43IDguMi0yOC40IDguMi00NC4xbC01NC4yLTIyLjYtNTQuMiAyMi42em0yMzUuMS0yMC4zYTU2LjUgNTYuNSAwIDEgMCAwIDExMyA1Ni41IDU2LjUgMCAxIDAgMC0xMTN6bS0zNTIuOCAyLjNjNC4xIDAgNy42IDEuMyAxMC40IDMuOSAyLjggMi42IDQuMiA1LjkgNC4yIDkuNmwwIDE2LjQgMzEuMS0xOS4yYzEuNS0xLjEgMy4yLTEuNyA1LjEtMS43IDIuNCAwIDQuNiAuOCA2LjMgMi41czIuNyAzLjggMi43IDYuMmwwIDcyLjZjMCAyLjYtLjkgNC44LTIuNyA2LjVzLTMuOSAyLjUtNi4zIDIuNWMtMS45IDAtMy42LS42LTUuMS0xLjdsLTMxLjEtMTkuMiAwIDE2LjRjMCAzLjgtMS40IDctNC4yIDkuNnMtNi4zIDQtMTAuNCA0bC04OC4yIDBjLTQuMSAwLTcuNi0xLjMtMTAuNS00cy00LjItNS44LTQuMi05LjZsMC04MS4zYzAtMy44IDEuNC03IDQuMi05LjZzNi4zLTMuOSAxMC41LTMuOWw4OC4yIDB6bTE3MiA5Ny44Yy0xMS4zLTctMjAuNC0xNi40LTI3LjQtMjguMy03LjUtMTIuNC0xMS45LTI2LjYtMTMtNDIuNGw0MC40LTE3IDAgODcuNnpNMzcuNSAzNzMuNGwwIDgwLjhjLjIgLjIgLjYgLjMgMS4yIC4zbDg4LjIgMGMuNCAwIC43LS4xIDEuMS0uM2wwLTgwLjhjLS4yLS4yLS42LS4zLTEuMi0uM2wtODguMSAwYy0uNCAwLS44IC4xLTEuMiAuM3ptNDE4LjQgNS4xYzIuMy0xLjMgNC41LTEuMyA2LjggMGw0OS44IDMwLjJjMi4zIDEuMyAzLjQgMy4zIDMuNCA1LjlzLTEuMSA0LjYtMy40IDUuOWwtNDkuOCAyOC42Yy0yLjMgMS4zLTQuNSAxLjMtNi44IDBzLTMuNC0zLjMtMy40LTUuOWwwLTU4LjhjMC0yLjYgMS4xLTQuNiAzLjQtNS45ek0xNDEuNSA0MDUuNWwwIDE2LjQgMzEuNyAxOS44IDAtNTYtMzEuNyAxOS44ek00NTEuMSA1LjJjMzUuOC0xLjIgNjIuOSAxNS4xIDYzLjggNDAuOCAuNCAxMC45LTUuOSAzMi4yLTI3LjggMzMtMTYuMyAuNi0yNy42LTkuMi0yOC4xLTI0LjEtLjItNS40IDEuMi0xMC4yIDQuOS0xNS44IDMuNi03LjEgNC40LTcuOSA0LjMtMTEtLjMtOS40LTE0LjUtOS43LTE4LjMtOS41LTUzIDEuOC02Ni45IDczLjMtNzguMiAxMzEuNWwtNS42IDMwLjdjMzAuNSA0LjUgNTIuMi0xIDY0LjItOC44IDE3LTExLTQuOC0yMi40LTItMzUgMi44LTEyLjggMTQuNC0xOSAyMy43LTE5LjIgMTIuOS0uMyAyMi4yIDEzLjEgMjEuOSAyNi43LS41IDIyLjYtMzAuNCA1My42LTkwLjIgNTIuMy03LjMtLjItMTQtLjctMjAuMi0xLjRsLTExLjMgNjIuM2MtMyAxNC02LjMgMjkuNS0xMC43IDQ1LjhsMjA0IDAgLjkgLjFjLjMgLjEgLjYgLjEgLjggLjIgMi4yIC42IDQgMi41IDQuNSA0LjggLjYgMi44LTEgNi0zLjcgNy4yLS41IC4yLTEuMSAuNC0xLjcgLjUtLjMgMC0uNiAwLS45IC4xbC01MTUuMyAwYy0uNy0uMS0uOSAwLTEuNy0uMi0yLjUtLjctNC40LTMuMS00LjYtNS43LS4yLTIuMyAxLTQuNiAzLTUuOCAuNy0uNSAxLjYtLjggMi40LS45IC4zIDAgLjYgMCAuOC0uMWw0OC40IDBjLTE3LjItMTYuOC0yMC0zNy4yLTE2LTUwLjUgNS40LTE3LjYgMTkuNC0yMC45IDMzLTE2LjcgMTQuNiA0LjUgMjAuMyAyMi4zIDE2LjIgMzYtLjUgMS41LTEuMiAzLjktMi44IDcuMi0xLjcgMy44LTQuOCA3LjEtNi4yIDExLjUtMS41IDQuOSAuNyA5LjEgNC41IDEyLjZsNTguOSAwYzQuMi00IDcuNC05IDkuMS0xNC42IDUuMy0xNy01LjUtMjguOS0xMC0zMy41bC0yMS43LTIzLjJjLTkuOS0xMS4xLTMxLjctNDEuOS0yMS4xLTc2LjUgNC4xLTEzLjQgMTIuOC0yNy41IDI1LjMtMzYuOSAyNi41LTE5LjcgNTUuMy0yMyA4Mi43LTE1LjEgMzUuNSAxMC4yIDUyLjUgMzMuNyA3NC42IDUxLjggMTIuNC0zNi4zIDI5LjUtNzEuOSA1NS4zLTEwMS45IDIzLjMtMjcuMyA1NC42LTQ3LjEgOTAuNC00OC4zek0yMjkuNiAxMjEuM2MtMjIuMi02LTM1LjctLjktNDUuMiAxMS4yLTExLjMgMTQuMy03LjUgMzIuOCAzLjMgNDMuN2wxOCAxOS45YzIyIDI1LjUgMzQuMSA0NS4zIDI5LjYgNzItMi4yIDEzLjEtOC41IDI1LjItMTcuOSAzNS4zbDU0LjIgMGMxLTUuMSAyLTEwLjQgMy4xLTE1LjhsMy42LTIxLjljNS45LTI5LjQgMTIuNC02Mi4yIDIyLjMtOTQuOC0yNC4xLTE4LjEtMzguNS00MC43LTcwLjktNDkuNXoiXX0sTDFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1vZG5va2xhc3NuaWtpIixpY29uOls0NDgsNTEyLFsib2Rub2tsYXNzbmlraS1zcXVhcmUiXSwiZjI2NCIsIk0yMjQgMTM3LjFjLTUuNC0uMy0xMC44IC42LTE1LjkgMi40cy05LjcgNC44LTEzLjYgOC41LTcgOC4yLTkuMiAxMy4yLTMuMiAxMC4zLTMuMiAxNS43IDEuMSAxMC44IDMuMiAxNS43IDUuMyA5LjUgOS4yIDEzLjIgOC42IDYuNiAxMy42IDguNSAxMC41IDIuNyAxNS45IDIuNGM1LjQgLjMgMTAuOC0uNiAxNS45LTIuNHM5LjctNC44IDEzLjYtOC41IDctOC4yIDkuMi0xMy4yIDMuMi0xMC4zIDMuMi0xNS43LTEuMS0xMC44LTMuMi0xNS43LTUuMy05LjUtOS4yLTEzLjItOC42LTYuNi0xMy42LTguNS0xMC41LTIuNy0xNS45LTIuNHpNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTIyNCAyNThhODEgODEgMCAxIDEgMC0xNjIuMSA4MSA4MSAwIDEgMSAwIDE2Mi4xem01OS4zIDYuMmMxNi44LTEzLjIgMjkuNS01LjUgMzQuMSAzLjYgNy44IDE2LTEuMSAyMy43LTIxLjUgMzctMTcuMSAxMC45LTQwLjcgMTUuMi01Ni4yIDE2LjhsMTMgMTIuOSA0Ny43IDQ3LjdjMTcuNCAxNy45LTExIDQ1LjgtMjguNiAyOC42LTEyLTEyLjItMjkuNS0yOS43LTQ3LjctNDcuOWwtNDcuNyA0Ny45Yy0xNy43IDE3LjItNDYtMTEtMjguNC0yOC42IDMuNy0zLjcgNy45LTcuOSAxMi41LTEyLjUgMTAuNC0xMC40IDIyLjYtMjIuNyAzNS4yLTM1LjJsMTIuOS0xMi45Yy0xNS40LTEuNi0zOS4zLTUuNy01Ni42LTE2LjgtMjAuMy0xMy4zLTI5LjMtMjAuOS0yMS40LTM3IDQuNi05LjEgMTcuMy0xNi44IDM0LjEtMy42IDAgMCAyMi43IDE4IDU5LjMgMThzNTkuMy0xOCA1OS4zLTE4eiJdfSxzb3Q9TDFlLG9vdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtYXJrZG93biIsaWNvbjpbNjQwLDUxMixbXSwiZjYwZiIsIk01OTMuOCA1OS4xbC01NDcuNiAwQzIwLjcgNTkuMSAwIDc5LjggMCAxMDUuMkwwIDQwNi43YzAgMjUuNSAyMC43IDQ2LjIgNDYuMiA0Ni4ybDU0Ny43IDBjMjUuNSAwIDQ2LjItMjAuNyA0Ni4xLTQ2LjFsMC0zMDEuNmMwLTI1LjQtMjAuNy00Ni4xLTQ2LjItNDYuMXpNMzM4LjUgMzYwLjZsLTYxLjUgMCAwLTEyMC02MS41IDc2LjktNjEuNS03Ni45IDAgMTIwLTYxLjcgMCAwLTIwOS4yIDYxLjUgMCA2MS41IDc2LjkgNjEuNS03Ni45IDYxLjUgMCAwIDIwOS4yIC4yIDB6bTEzNS4zIDMuMWwtOTIuMy0xMDcuNyA2MS41IDAgMC0xMDQuNiA2MS41IDAgMCAxMDQuNiA2MS41IDAtOTIuMiAxMDcuN3oiXX0sbG90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InR5cG8zIixpY29uOls0NDgsNTEyLFtdLCJmNDJiIiwiTTE3OC43IDc4LjRjMC0yNC43IDUuNC0zMi40IDEzLjktMzkuNC02OS41IDguNS0xNDkuMyAzNC0xNzYuMyA2Ni40LTUuNCA3LjctOS4zIDIwLjgtOS4zIDM3LjEgMCAxMDMuNSAxMDYuOCAzMzcuNSAxODQuMSAzMzcuNSAzNi4zIDAgOTcuMy01OS41IDE0Ni43LTEzOS03IDIuMy0xMS42IDIuMy0xOC41IDIuMy01Ny4yIDAtMTQwLjYtMTk4LjUtMTQwLjYtMjY0Ljl6TTMwMS41IDMyYy0zMC4xIDAtNDEuNyA1LjQtNDEuNyAzNi4zIDAgNjYuNCA1My44IDE5OC41IDEwMS43IDE5OC41IDI2LjMgMCA3OC44LTk5LjcgNzguOC0xODIuMyAwLTQwLjktNjctNTIuNS0xMzguOC01Mi41eiJdfSxjb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiam9vbWxhIixpY29uOls0NDgsNTEyLFtdLCJmMWFhIiwiTS42IDkyLjFjMC0zMy4zIDI2LjgtNjAuMSA1OS44LTYwLjEgMzAgMCA1NC41IDIxLjkgNTkuMiA1MC4yIDMyLjYtNy42IDY3LjEgLjYgOTYuNSAzMGwtNDQuMyA0NC4zYy0yMC41LTIwLjUtNDIuNi0xNi4zLTU1LjQtMy41LTE0LjMgMTQuMy0xNC4zIDM3LjkgMCA1Mi4ybDk5LjUgOTkuNS00NCA0NC4zYy04Ny43LTg3LjItNDkuNy00OS43LTk5LjgtOTkuNy0yNi44LTI2LjUtMzUtNjQuOC0yNC44LTk4LjktMjYuOS01LjgtNDYuNy0yOS43LTQ2LjctNTguM3pNMTMwLjEgMjA4LjVsNDQuMyA0NC4zYzEwLTEwIDg5LjctODkuNyA5OS43LTk5LjggMTQuMy0xNC4zIDM3LjYtMTQuMyA1MS45IDAgMTIuOCAxMi44IDE3IDM1LTMuNSA1NS40bDQ0IDQ0LjNjMzEuMi0zMS4yIDM4LjUtNjcuNiAyOC45LTEwMS4yIDI5LjItNC4xIDUxLjktMjkuMiA1MS45LTU5LjUgMC0zMy4yLTI2LjgtNjAuMS01OS44LTYwLjEtMzAuMyAwLTU1LjQgMjIuNS01OS41IDUxLjYtMzMuOC05LjktNzEuNy0xLjUtOTguMyAyNS4xLTE4LjMgMTkuMS03MS4xIDcxLjUtOTkuNiA5OS45ek0zOTYuNCAzNjAuN2M4LjItMzIuNy0uOS02OC41LTI2LjMtOTMuOS0xMS44LTEyLjIgNSA0LjctOTkuNS05OS43bC00NC4zIDQ0LjMgOTkuNyA5OS43YzE0LjMgMTQuMyAxNC4zIDM3LjYgMCA1MS45LTEyLjggMTIuOC0zNSAxNy01NS40LTMuNWwtNDQgNDQuM2MyNy42IDMwLjIgNjggMzguOCAxMDIuNyAyOCA1LjUgMjcuNCAyOS43IDQ4LjEgNTguOSA0OC4xIDMzIDAgNTkuOC0yNi44IDU5LjgtNjAuMSAwLTMwLjItMjIuNS01NS01MS42LTU5LjF6bS04NC4zLTUzLjFsLTQ0LTQ0LjNjLTg3IDg2LjQtNTAuNCA1MC40LTk5LjcgOTkuOC0xNC4zIDE0LjMtMzcuNiAxNC4zLTUxLjkgMC0xMy4xLTEzLjQtMTYuOS0zNS4zIDMuMi01NS40bC00NC00NC4zYy0zMC4yIDMwLjItMzggNjUuMi0yOS41IDk4LjMtMjYuNyA2LTQ2LjIgMjkuOS00Ni4yIDU4LjIgMCAzMy4zIDI2LjggNjAuMSA1OS44IDYwLjEgMjguNiAwIDUyLjUtMTkuOCA1OC42LTQ2LjcgMzIuNyA4LjIgNjguNS0uNiA5NC4yLTI2IDMyLjEtMzIgMTIuMi0xMi40IDk5LjUtOTkuN3oiXX0sZG90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndlaXhpbiIsaWNvbjpbNTc2LDUxMixbXSwiZjFkNyIsIk0zODUuMiAxNjcuNmM2LjQgMCAxMi42IC4zIDE4LjggMS4xLTE2LjYtNzguNC0xMDAuNy0xMzYuNy0xOTYuMy0xMzYuNy0xMDcuMiAwLTE5NC43IDcyLjgtMTk0LjcgMTY1LjQgMCA1My40IDI5LjMgOTcuNSA3Ny45IDEzMS42bC0xOS4zIDU4LjYgNjgtMzQuMWMyNC40IDQuOCA0My44IDkuNyA2OC4yIDkuNyA2LjIgMCAxMi4xLS4zIDE4LjMtLjgtNC0xMi45LTYuMi0yNi42LTYuMi00MC44LS4xLTg0LjkgNzIuOS0xNTQgMTY1LjMtMTU0ek0yODAuNyAxMTQuN2MxNC41IDAgMjQuMiA5LjcgMjQuMiAyNC40IDAgMTQuNS05LjcgMjQuMi0yNC4yIDI0LjItMTQuOCAwLTI5LjMtOS43LTI5LjMtMjQuMiAuMS0xNC43IDE0LjYtMjQuNCAyOS4zLTI0LjR6TTE0NC4zIDE2My4zYy0xNC41IDAtMjkuMy05LjctMjkuMy0yNC4yIDAtMTQuOCAxNC44LTI0LjQgMjkuMy0yNC40IDE0LjggMCAyNC40IDkuNyAyNC40IDI0LjQgMCAxNC42LTkuNiAyNC4yLTI0LjQgMjQuMnpNNTYzIDMxOS40YzAtNzcuOS03Ny45LTE0MS4zLTE2NS40LTE0MS4zLTkyLjcgMC0xNjUuNCA2My40LTE2NS40IDE0MS4zUzMwNSA0NjAuNyAzOTcuNiA0NjAuN2MxOS4zIDAgMzguOS01LjEgNTguNi05LjlsNTMuNCAyOS4zLTE0LjgtNDguNkM1MzQgNDAyLjEgNTYzIDM2My4yIDU2MyAzMTkuNHpNMzQzLjkgMjk0LjljLTkuNyAwLTE5LjMtOS43LTE5LjMtMTkuNiAwLTkuNyA5LjctMTkuMyAxOS4zLTE5LjMgMTQuOCAwIDI0LjQgOS43IDI0LjQgMTkuMyAwIDEwLTkuNyAxOS42LTI0LjQgMTkuNnptMTA3LjEgMGMtOS43IDAtMTkuMy05LjctMTkuMy0xOS42IDAtOS43IDkuNy0xOS4zIDE5LjMtMTkuMyAxNC41IDAgMjQuNCA5LjcgMjQuNCAxOS4zIC4xIDEwLTkuOSAxOS42LTI0LjQgMTkuNnoiXX0sdW90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdydW50IixpY29uOlszODQsNTEyLFtdLCJmM2FkIiwiTTYxLjYgMTg5LjNjLTEuMSAxMCA1LjIgMTkuMSA1LjIgMTkuMSAuNy03LjUgMi4yLTEyLjggNC0xNi42IC40IDEwLjMgMy4yIDIzLjUgMTIuOCAzNC4xIDYuOSA3LjYgMzUuNiAyMy4zIDU0LjkgNi4xIDEgMi40IDIuMSA1LjMgMyA4LjUgMi45IDEwLjMtMi43IDI1LjMtMi43IDI1LjNzMTUuMS0xNy4xIDEzLjktMzIuNWMxMC44LS41IDIxLjQtOC40IDIxLjEtMTkuNSAwIDAtMTguOSAxMC40LTM1LjUtOC44LTkuNy0xMS4yLTQwLjktNDItODMuMS0zMS44IDQuMyAxIDguOSAyLjQgMTMuNSA0LjFsLS4xIDBjLTQuMiAyLTYuNSA3LjEtNyAxMnptMjguMy0xLjhjMTkuNSAxMSAzNy40IDI1LjcgNDQuOSAzNy01LjcgMy4zLTIxLjcgMTAuNC0zOC0xLjctMTAuMy03LjYtOS44LTI2LjItNi45LTM1LjN6TTIzMiAyMzMuM2MtMS4yIDE1LjUgMTMuOSAzMi41IDEzLjkgMzIuNXMtNS42LTE1LTIuNy0yNS4zYy45LTMuMiAyLTYgMy04LjUgMTkuMyAxNy4zIDQ4IDEuNSA1NC44LTYuMSA5LjYtMTAuNiAxMi4zLTIzLjggMTIuOC0zNC4xIDEuOCAzLjggMy40IDkuMSA0IDE2LjYgMCAwIDYuNC05LjEgNS4yLTE5LjEtLjYtNS0yLjktMTAtNy0xMS44bC0uMSAwYzQuNi0xLjggOS4yLTMuMiAxMy41LTQuMS00Mi4zLTEwLjItNzMuNCAyMC42LTgzLjEgMzEuOC0xNi43IDE5LjItMzUuNSA4LjgtMzUuNSA4LjgtLjIgMTAuOSAxMC40IDE4LjkgMjEuMiAxOS4zem02Mi43LTQ1LjhjMyA5LjEgMy40IDI3LjctNyAzNS40LTE2LjMgMTIuMS0zMi4yIDUtMzcuOSAxLjYgNy41LTExLjQgMjUuNC0yNiA0NC45LTM3em0tMTM0LjQgMjMxbC0yOS40IDBjLTUuNSAwLTguMiAxLjYtOS41IDIuOS0xLjkgMi0yLjIgNC43LS45IDguMSAzLjUgOS4xIDExLjQgMTYuNSAxMy43IDE4LjYgMy4xIDIuNyA3LjUgNC4zIDExLjggNC4zIDQuNCAwIDguMy0xLjcgMTEtNC42IDcuNS04LjIgMTEuOS0xNy4xIDEzLTE5LjggLjYtMS41IDEuMy00LjUtLjktNi44LTEuOC0xLjgtNC43LTIuNy04LjgtMi43ek0zNDkuNSAzMTcuM2MtMi40IDE3LjktMTMgMzMuOC0yNC42IDQzLjctMy4xLTIyLjctMy43LTU1LjUtMy43LTYyLjQgMC0xNC43IDkuNS0yNC41IDEyLjItMjYuMSAyLjUtMS41IDUuNC0zIDguMy00LjYgMTgtOS42IDQwLjQtMjEuNiA0MC40LTQzLjcgMC0xNi4yLTkuMy0yMy4yLTE1LjQtMjcuOC0uOC0uNi0xLjUtMS4xLTIuMi0xLjctMi4xLTEuNy0zLjctMy00LjMtNC40LTQuNC05LjgtMy42LTM0LjItMS43LTM3LjYgLjYtLjYgMTYuNy0yMC45IDExLjgtMzkuMi0yLTcuNC02LjktMTMuMy0xNC4xLTE3LTUuMy0yLjctMTEuOS00LjItMTkuNS00LjUtLjEtMi0uNS0zLjktLjktNS45LS42LTIuNi0xLjEtNS4zLS45LTguMSAuNC00LjcgLjgtOSAyLjItMTEuMyA4LjQtMTMuMyAyOC44LTE3LjYgMjktMTcuNmwxMi4zLTIuNC04LjEtOS41Yy0uMS0uMi0xNy4zLTE3LjUtNDYuMy0xNy41LTcuOSAwLTE2IDEuMy0yNC4xIDMuOS0yNC4yIDcuOC00Mi45IDMwLjUtNDkuNCAzOS4zLTMuMS0xLTYuMy0xLjktOS42LTIuNy00LjItMTUuOCA5LTM4LjUgOS0zOC41cy0xMy42LTMtMzMuNyAxNS4yYy0yLjYtNi41LTguMS0yMC41LTEuOC0zNy4yLTI5LjUgMTAuNC0zNi45IDI2LjMtMzkuMSA0MC43LTcuNi01LjQtNi43LTIzLjEtNy4yLTI3LjYtNy41IC45LTI5LjIgMjEuOS0yOC4yIDQ4LjMtMiAuNS0zLjkgMS4xLTUuOSAxLjctNi41LTguOC0yNS4xLTMxLjUtNDkuNC0zOS4zLTcuOS0yLjItMTYtMy41LTIzLjktMy41LTI5IDAtNDYuMSAxNy4zLTQ2LjMgMTcuNWwtOC4xIDkuNCAxMi4zIDIuNGMuMiAwIDIwLjYgNC4zIDI5IDE3LjYgMS40IDIuMiAxLjggNi42IDIuMiAxMS4zIC4yIDIuOC0uNCA1LjUtLjkgOC4xLS40IDEuOS0uOCAzLjktLjkgNS45LTcuNyAuMy0xNC4yIDEuOC0xOS41IDQuNS03LjIgMy43LTEyLjEgOS42LTE0LjEgMTctNSAxOC4yIDExLjIgMzguNSAxMS44IDM5LjIgMS45IDMuNCAyLjcgMjcuOC0xLjcgMzcuNi0uNiAxLjQtMi4yIDIuNy00LjMgNC40LS43IC41LTEuNCAxLjEtMi4yIDEuNy02LjEgNC42LTE1LjQgMTEuNy0xNS40IDI3LjggMCAyMi4xIDIyLjQgMzQuMSA0MC40IDQzLjcgMyAxLjYgNS44IDMuMSA4LjMgNC42IDIuNyAxLjYgMTIuMiAxMS40IDEyLjIgMjYuMSAwIDYuOS0uNiAzOS43LTMuNyA2Mi40LTExLjYtOS45LTIyLjItMjUuOS0yNC42LTQzLjggMCAwLTI5LjIgMjIuNi0yMC42IDcwLjggNS4yIDI5LjUgMjMuMiA0Ni4xIDQ3IDU0LjcgOC44IDE5LjEgMjkuNCA0NS43IDY3LjMgNDkuNiAxNC40IDExLjggMzQuNCAxOS41IDYzLjYgMTkuNWwuMiAwYzI5LjEgMCA0OS4xLTcuNyA2My42LTE5LjUgMzcuOS0zLjkgNTguNS0zMC41IDY3LjMtNDkuNiAyMy44LTguNyA0MS43LTI1LjIgNDctNTQuNyA4LjItNDguNC0yMS4xLTcwLjktMjEuMS03MC45ek0zMDYgMzcuN2M1LjYtMS44IDExLjYtMi43IDE3LjctMi43IDExIDAgMTkuOSAzIDI0LjcgNS0zLjEgMS40LTYuNCAzLjItOS43IDUuMy0yLjQtLjQtNS42LS44LTkuMi0uOC0xMC41IDAtMjAuNSAzLjEtMjguNyA4LjktMTIuMyA4LjctMTggMTYuOS0yMC43IDIyLjQtMi4yLTEuMy00LjUtMi41LTcuMS0zLjctMS42LS44LTMuMS0xLjUtNC43LTIuMiA2LjEtOS4xIDE5LjktMjYuNSAzNy43LTMyLjJ6bTIxIDE4LjJjLS44IDEtMS42IDIuMS0yLjMgMy4yLTMuMyA1LjItMy45IDExLjYtNC40IDE3LjgtLjUgNi40LTEuMSAxMi41LTQuNCAxNy00LjIgLjgtOC4xIDEuNy0xMS41IDIuNy0yLjMtMy4xLTUuNi03LTEwLjUtMTEuMiAxLjQtNC44IDUuNS0xNi4xIDEzLjUtMjIuNSA1LjYtNC4zIDEyLjItNi43IDE5LjYtN3pNNDUuOSA0NS4zYy0zLjMtMi4yLTYuNi00LTkuNy01LjMgNC44LTIgMTMuNy01IDI0LjctNSA2LjEgMCAxMiAuOSAxNy43IDIuNyAxNy44IDUuOCAzMS42IDIzLjIgMzcuNyAzMi4xLTEuNiAuNy0zLjIgMS40LTQuOCAyLjItMi41IDEuMi00LjkgMi41LTcuMSAzLjctMi42LTUuNC04LjMtMTMuNy0yMC43LTIyLjQtOC4zLTUuOC0xOC4yLTguOS0yOC44LTguOS0zLjQgLjEtNi42IC41LTkgLjl6TTkwLjYgODUuNGMtNC45IDQuMi04LjMgOC0xMC41IDExLjItMy40LS45LTcuMy0xLjktMTEuNS0yLjctMy4zLTQuNC0zLjgtMTAuNS00LjMtMTYuOS0uNS02LjItMS4xLTEyLjYtNC40LTE3LjgtLjctMS4xLTEuNS0yLjItMi4zLTMuMiA3LjQgLjMgMTQgMi42IDE5LjUgNyA4IDYuMyAxMi4xIDE3LjYgMTMuNSAyMi40ek01OC40IDI1OS45Yy0yLjctMS42LTUuNi0zLjEtOC40LTQuNi0xNC45LTgtMzAuMi0xNi4zLTMwLjItMzAuNSAwLTExLjEgNC4zLTE0LjYgOC45LTE4LjJsLjUtLjRjLjctLjYgMS40LTEuMiAyLjItMS44LS45IDcuMi0xLjkgMTMuMy0yLjcgMTQuOSAwIDAgMTIuMS0xNSAxNS43LTQ0LjMgMS40LTExLjUtMS4xLTM0LjMtNS4xLTQzIC4yIDQuOSAwIDkuOC0uMyAxNC40LS40LS44LS44LTEuNi0xLjMtMi4yLTMuMi00LTExLjgtMTcuNS05LjQtMjYuNiAuOS0zLjUgMy4xLTYgNi43LTcuOCAzLjgtMS45IDguOC0yLjkgMTUuMS0yLjkgMTIuMyAwIDI1LjkgMy43IDMyLjkgNiAyNS4xIDggNTUuNCAzMC45IDY0LjEgMzcuNyAuMiAuMiAuNCAuMyAuNCAuM2w1LjYgMy45LTMuNS01LjhjLS4yLS4zLTE5LjEtMzEuNC01My4yLTQ2LjUgMi0yLjkgNy40LTguMSAyMS42LTE1LjEgMjEuNC0xMC41IDQ2LjUtMTUuOCA3NC4zLTE1LjggMjcuOSAwIDUyLjkgNS4zIDc0LjMgMTUuOCAxNC4yIDYuOSAxOS42IDEyLjIgMjEuNiAxNS4xLTM0IDE1LjEtNTIuOSA0Ni4yLTUzLjEgNDYuNWwtMy41IDUuOCA1LjYtMy45cy4yLS4xIC40LS4zYzguNy02LjggMzktMjkuOCA2NC4xLTM3LjcgNy0yLjIgMjAuNi02IDMyLjktNiA2LjMgMCAxMS4zIDEgMTUuMSAyLjkgMy41IDEuOCA1LjcgNC40IDYuNyA3LjggMi41IDkuMS02LjEgMjIuNi05LjQgMjYuNi0uNSAuNi0uOSAxLjMtMS4zIDIuMi0uMy00LjYtLjUtOS41LS4zLTE0LjQtNCA4LjgtNi41IDMxLjUtNS4xIDQzIDMuNiAyOS4zIDE1LjcgNDQuMyAxNS43IDQ0LjMtLjgtMS42LTEuOC03LjctMi43LTE0LjkgLjcgLjYgMS41IDEuMiAyLjIgMS44bC41IC40YzQuNiAzLjcgOC45IDcuMSA4LjkgMTguMiAwIDE0LjItMTUuNCAyMi41LTMwLjIgMzAuNS0yLjkgMS41LTUuNyAzLjEtOC40IDQuNi04LjcgNS0xOCAxNi43LTE5LjEgMzQuMi0uOSAxNC42IC45IDQ5LjkgMy40IDc1LjktMTIuNCA0LjgtMjYuNyA2LjQtMzkuNyA2LjgtMi00LjEtMy45LTguNS01LjUtMTMuMS0uNy0yLTE5LjYtNTEuMS0yNi40LTYyLjIgNS41IDM5IDE3LjUgNzMuNyAyMy41IDg5LjYtMy41LS41LTcuMy0uNy0xMS43LS43bC0xMTcgMGMtNC40IDAtOC4zIC4zLTExLjcgLjcgNi0xNS45IDE4LjEtNTAuNiAyMy41LTg5LjYtNi44IDExLjItMjUuNyA2MC4zLTI2LjQgNjIuMi0xLjYgNC42LTMuNSA5LTUuNSAxMy4xLTEzLS40LTI3LjItMi0zOS43LTYuOCAyLjUtMjYgNC4zLTYxLjIgMy40LTc1LjktLjktMTcuNC0xMC4zLTI5LjItMTktMzQuMnpNMzUuMSA0MDQuNmMtMTIuMS0yMC04LjctNTQuMS0zLjctNTkuMSAxMC45IDM0LjQgNDcuMiA0NC4zIDc0LjQgNDUuNC0yLjcgNC4yLTUuMiA3LjYtNyAxMGwtMS40IDEuNGMtNy4yIDcuOC04LjYgMTguNS00LjEgMzEuOC0yMi43LS4xLTQ2LjMtOS44LTU4LjItMjkuNXptNDUuNyA0My41YzYgMS4xIDEyLjIgMS45IDE4LjYgMi40IDMuNSA4IDcuNCAxNS45IDEyLjMgMjMuMS0xNC40LTUuOS0yNC40LTE2LTMwLjktMjUuNXptMTExLjUgNTAuMWMtNjAuNi0uMS03OC4zLTQ1LjgtODQuOS02NC43LTMuNy0xMC41LTMuNC0xOC4yIC45LTIzLjEgMi45LTMuMyA5LjUtNy4yIDI0LjYtNy4ybDExOC44IDBjMTUuMSAwIDIxLjggMy45IDI0LjYgNy4yIDQuMiA0LjggNC41IDEyLjYgLjkgMjMuMS02LjYgMTguOC0yNC4zIDY0LjYtODQuOSA2NC43em04MC42LTI0LjZjNC45LTcuMiA4LjgtMTUuMSAxMi4zLTIzLjEgNi40LS41IDEyLjYtMS4zIDE4LjYtMi40LTYuNSA5LjUtMTYuNSAxOS42LTMwLjkgMjUuNXptNzYuNi02OWMtMTIgMTkuNy0zNS42IDI5LjMtNTguMSAyOS43IDQuNS0xMy4zIDMuMS0yNC4xLTQuMS0zMS44LS40LS41LS45LTEtMS40LTEuNS0xLjgtMi40LTQuMy01LjgtNy0xMCAyNy4yLTEuMiA2My41LTExIDc0LjQtNDUuNCA1IDUgOC40IDM5LjEtMy44IDU5ek0xOTIuMiAxODcuN2wuMiAwYzEyLjctLjEgMjcuMi0xNy44IDI3LjItMTcuOC05LjkgNi0xOC44IDguMS0yNy4zIDguMy04LjUtLjItMTcuNC0yLjMtMjcuMy04LjMgMCAwIDE0LjUgMTcuNiAyNy4yIDE3Ljh6bTYxLjcgMjMwLjdsLTI5LjQgMGMtNC4yIDAtNy4yIC45LTguOSAyLjctMi4yIDIuMy0xLjUgNS4yLS45IDYuNyAxIDIuNiA1LjUgMTEuMyAxMyAxOS4zIDIuNyAyLjkgNi42IDQuNSAxMSA0LjVzOC43LTEuNiAxMS44LTQuMmMyLjMtMiAxMC4yLTkuMiAxMy43LTE4LjEgMS4zLTMuMyAxLTYtLjktNy45LTEuMy0xLjMtNC0yLjktOS40LTN6Il19LHBvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdXBwb3J0bm93IixpY29uOls2NDAsNTEyLFtdLCJlODMzIiwiTTAgMTkxLjlsMjAzLjktLjFjMS44LS42IDIuNS05LjUgMy4yLTEyLjIgMy4zLTEzLjUgOC40LTI2LjQgMTQuOC0zOC43bC0xNjAuMiAwIDAtNDguMiAyMzQuNSAwIDAgMzljLTUxLjIgMzYuMS01Ni40IDkyLjYtMjMuNiAxNDMuOSAzMy4xIDUxLjcgOTMuNCA4OC4xIDE0OS41IDExMC41IDY3LjgtMjUuMiAxNjQuOS04OS45IDE2OS40LTE2OS42IDMuMS01NS4zLTQyLjItMTAxLjgtOTguNy05MS44LTQxLjUgNy40LTYyLjEgNDYuNy01NC44IDg2LjRsLTQ4LjIgMGMtNy4zLTU2LjYgMjIuOC0xMTIuNiA3OC40LTEzMC4zIDc4LjctMjUuMSAxNTkuNSAyOCAxNzAuNCAxMDguOCAxNS4yIDExMi4zLTk1LjUgMTk5LjktMTg4LjEgMjM3LjgtNC40IDEuOC0yNC40IDEwLjEtMjcuNSAxMC4xbC0yODAuMyAwIDAtNDguMiAxNzguNSAwLTM4LjEtMjguOS0yMy4yLTIyLjEtMTk4LjMgMCAwLTQ4LjIgMTYzLjEgMGMtNy4xLTExLjYtMTIuMy0yNC4zLTE2LjEtMzcuNC0uNy0yLjUtMi4xLTEyLTMuOC0xMi42bC0yMDQuOS0uMSAwLTQ4LjIgMCAweiJdfSxmb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicm9ja3JtcyIsaWNvbjpbNTEyLDUxMixbXSwiZjNlOSIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTQxMy40IDQyNy41bC05MCAwLTExMi0xMzEuM2MtMTcuOS0yMC40LTMuOS01Ni4xIDI2LjYtNTYuMWw3NS4zIDAtODQuNi05OS4zLTg0LjMgOTguOS05MCAwIDE0Ny4xLTE3Mi41YzE0LjQtMTguNCA0MS4zLTE3LjMgNTQuNSAwTDQxMy43IDI1Mi4zYzE5IDIyLjggMiA1Ny4yLTI3LjYgNTYuMS0uNiAwLTc0LjIgLjItNzQuMiAuMkw0MTMuNCA0MjcuNXoiXX0saG90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVuc3BsYXNoIixpY29uOls0NDgsNTEyLFtdLCJlMDdjIiwiTTQ0OCAyMzAuMmwwIDI0OS44LTQ0OCAwIDAtMjQ5LjggMTQxLjEgMCAwIDEyNC45IDE2NS43IDAgMC0xMjQuOSAxNDEuMSAwek0zMDYuOSAzMmwtMTY1LjcgMCAwIDEyNC45IDE2NS43IDAgMC0xMjQuOXoiXX0sJDFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1pbnN0YWdyYW0iLGljb246WzQ0OCw1MTIsWyJpbnN0YWdyYW0tc3F1YXJlIl0sImUwNTUiLCJNMTk0LjQgMjExLjdhNTMuMyA1My4zIDAgMSAwIDU5LjIgODguNiA1My4zIDUzLjMgMCAxIDAgLTU5LjItODguNnptMTQyLjMtNjguNGMtNS4yLTUuMi0xMS41LTkuMy0xOC40LTEyLTE4LjEtNy4xLTU3LjYtNi44LTgzLjEtNi41LTQuMSAwLTcuOSAuMS0xMS4yIC4xcy03LjIgMC0xMS40LS4xYy0yNS41LS4zLTY0LjgtLjctODIuOSA2LjUtNi45IDIuNy0xMy4xIDYuOC0xOC40IDEycy05LjMgMTEuNS0xMiAxOC40Yy03LjEgMTguMS02LjcgNTcuNy02LjUgODMuMiAwIDQuMSAuMSA3LjkgLjEgMTEuMXMwIDctLjEgMTEuMWMtLjIgMjUuNS0uNiA2NS4xIDYuNSA4My4yIDIuNyA2LjkgNi44IDEzLjEgMTIgMTguNHMxMS41IDkuMyAxOC40IDEyYzE4LjEgNy4xIDU3LjYgNi44IDgzLjEgNi41IDQuMSAwIDcuOS0uMSAxMS4yLS4xczcuMiAwIDExLjQgLjFjMjUuNSAuMyA2NC44IC43IDgyLjktNi41IDYuOS0yLjcgMTMuMS02LjggMTguNC0xMnM5LjMtMTEuNSAxMi0xOC40YzcuMi0xOCA2LjgtNTcuNCA2LjUtODMgMC00LjItLjEtOC4xLS4xLTExLjRzMC03LjEgLjEtMTEuNGMuMy0yNS41IC43LTY0LjktNi41LTgzLTIuNy02LjktNi44LTEzLjEtMTItMTguNGwwIC4yem0tNjcuMSA0NC41YzE4LjEgMTIuMSAzMC42IDMwLjkgMzQuOSA1Mi4ycy0uMiA0My41LTEyLjMgNjEuNmMtNiA5LTEzLjcgMTYuNi0yMi42IDIyLjZzLTE5IDEwLjEtMjkuNiAxMi4yYy0yMS4zIDQuMi00My41LS4yLTYxLjYtMTIuM3MtMzAuNi0zMC45LTM0LjktNTIuMiAuMi00My41IDEyLjItNjEuNiAzMC45LTMwLjYgNTIuMi0zNC45IDQzLjUgLjIgNjEuNiAxMi4ybC4xIDB6bTI5LjItMS4zYy0zLjEtMi4xLTUuNi01LjEtNy4xLTguNnMtMS44LTcuMy0xLjEtMTEuMSAyLjYtNy4xIDUuMi05LjggNi4xLTQuNSA5LjgtNS4yIDcuNi0uNCAxMS4xIDEuMSA2LjUgMy45IDguNiA3IDMuMiA2LjggMy4yIDEwLjZjMCAyLjUtLjUgNS0xLjQgNy4zcy0yLjQgNC40LTQuMSA2LjItMy45IDMuMi02LjIgNC4yLTQuOCAxLjUtNy4zIDEuNWMtMy44IDAtNy41LTEuMS0xMC42LTMuMmwtLjEgMHpNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTM1NyAzODljLTE4LjcgMTguNy00MS40IDI0LjYtNjcgMjUuOS0yNi40IDEuNS0xMDUuNiAxLjUtMTMyIDAtMjUuNi0xLjMtNDguMy03LjItNjctMjUuOXMtMjQuNi00MS40LTI1LjgtNjdjLTEuNS0yNi40LTEuNS0xMDUuNiAwLTEzMiAxLjMtMjUuNiA3LjEtNDguMyAyNS44LTY3czQxLjUtMjQuNiA2Ny0yNS44YzI2LjQtMS41IDEwNS42LTEuNSAxMzIgMCAyNS42IDEuMyA0OC4zIDcuMSA2NyAyNS44czI0LjYgNDEuNCAyNS44IDY3YzEuNSAyNi4zIDEuNSAxMDUuNCAwIDEzMS45LTEuMyAyNS42LTcuMSA0OC4zLTI1LjggNjdsMCAuMXoiXX0sbW90PSQxZSxnb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmlyc3Qtb3JkZXItYWx0IixpY29uOls1MTIsNTEyLFtdLCJmNTBhIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnptMCA3LjhhMjQwLjIgMjQwLjIgMCAxIDEgMCA0ODAuNCAyNDAuMiAyNDAuMiAwIDEgMSAwLTQ4MC40em0wIDIwLjVhMjE5LjcgMjE5LjcgMCAxIDAgMCA0MzkuNCAyMTkuNyAyMTkuNyAwIDEgMCAwLTQzOS40em0wIDguMmEyMTEuNSAyMTEuNSAwIDEgMSAwIDQyMyAyMTEuNSAyMTEuNSAwIDEgMSAwLTQyM3ptMTg2LjIgMjYwYy00LjQgMTcuMS0xMS4yIDMzLjUtMjAuMSA0OC43bC03NC4xLTM1LjkgNjEuNSA1NC44Yy0xMC42IDE0LjEtMjMuMiAyNi42LTM3LjIgMzcuM2wtNTQuOC02MS42IDM1LjkgNzQuM2MtMTUuMiA5LTMxLjYgMTUuOC00OC42IDIwLjJsLTI3LjMtNzguNSA0LjggODIuOWMtOC42IDEuMi0xNy40IDEuOC0yNi4zIDEuOHMtMTcuNy0uNi0yNi4zLTEuOGw0LjgtODIuNS0yNy4yIDc4Yy0xNy4xLTQuNS0zMy40LTExLjMtNDguNy0yMC4ybDM1LjktNzQuMy01NC45IDYxLjZjLTE0LTEwLjctMjYuNi0yMy4yLTM3LjItMzcuM2w2MS42LTU0LjktNzQuMyAzNS45QzgwLjcgMzM4IDc0IDMyMS43IDY5LjUgMzA0LjZsNzcuOC0yNy4xLTgyLjIgNC44Yy0xLjItOC42LTEuOC0xNy4zLTEuOC0yNi4yIDAtOSAuNi0xNy44IDEuOC0yNi41bDgyLjQgNC44LTc3LjktMjcuMmM0LjUtMTcuMSAxMS4zLTMzLjUgMjAuMi00OC43bDc0LjIgMzUuOS02MS41LTU0LjljMTAuNy0xNCAyMy4yLTI2LjYgMzcuMy0zNy4ybDU0LjggNjEuNS0zNS44LTc0LjJjMTUuMi04LjkgMzEuNi0xNS43IDQ4LjYtMjAuMWwyNi45IDc3LjItNC43LTgxLjZjOC42LTEuMiAxNy40LTEuOCAyNi4zLTEuOHMxNy43IC42IDI2LjMgMS44bC00LjcgODIuMiAyNy03Ny44YzE3LjMgNC41IDMzLjYgMTEuNCA0OC42IDIwLjJsLTM1LjggNzQuMSA1NC43LTYxLjVjMTQuMSAxMC43IDI2LjYgMjMuMiAzNy4yIDM3LjJsLTYxLjQgNTQuOCA3NC4xLTM1LjljOC45IDE1LjIgMTUuNyAzMS42IDIwLjIgNDguNmwtNzcuOCAyNy4xIDgyLjItNC43YzEuMiA4LjcgMS44IDE3LjUgMS44IDI2LjUgMCA4LjktLjYgMTcuNi0xLjggMjYuMmwtODIuMS00LjcgNzcuNyAyNy4xeiJdfSxib3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZnVsY3J1bSIsaWNvbjpbMjU2LDUxMixbXSwiZjUwYiIsIk02My44IDE2NC4xTDI4LjQgMjA3LjctNyAxNjQuMSAyOC40IDEyMC42IDYzLjggMTY0LjF6TTExMi4yIDBsLTIwLjUgMTk4LjItNTEgNTcuOCA1MSA1Ny44IDIwLjUgMTk4LjIgMC0yMTEuMS00MS4xLTQ0LjkgNDEuMS00NC45IDAtMjExLjF6bTc5LjcgMTY0LjFsMzUuNCA0My42IDM1LjQtNDMuNi0zNS40LTQzLjUtMzUuNCA0My41em0tNDguNSA0N2w0MS4xIDQ0LjktNDEuMSA0NC45IDAgMjExLjEgMjAuNi0xOTguMiA1MS01Ny44LTUxLTU3LjgtMjAuNi0xOTguMiAwIDIxMS4xeiJdfSx2b3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXJjaC1saW51eCIsaWNvbjpbNTc2LDUxMixbXSwiZTg2NyIsIk0yODguNy03LjhjLTI0LjEgNTktMzguNiA5Ny43LTY1LjQgMTU1IDE2LjQgMTcuNCAzNi42IDM3LjYgNjkuNCA2MC41LTM1LjItMTQuNS01OS4yLTI4LjktNzcuMi00NC0zNC4zIDcxLjYtODguMSAxNzMuNS0xOTcuMiAzNjkuNCA4NS43LTQ5LjUgMTUyLjItODAgMjE0LjEtOTEuNi0yLjctMTEuNC00LjEtMjMuOC00LTM2LjdsLjEtMi43YzEuNC01NC45IDI5LjktOTcuMiA2My44LTk0LjRzNjAuMiA0OS44IDU4LjggMTA0LjdjLS4zIDEwLjMtMS40IDIwLjItMy40IDI5LjQgNjEuMiAxMiAxMjcgNDIuNCAyMTEuNiA5MS4yLTE2LjctMzAuNy0zMS42LTU4LjMtNDUuOC04NC43LTIyLjQtMTcuNC00NS43LTM5LjktOTMuMy02NC40IDMyLjcgOC41IDU2LjMgMTguMyA3NC41IDI5LjMtMTQ0LjUtMjY5LjEtMTU2LjItMzA0LjgtMjA1LjgtNDIxLjF6Il19LHhvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmZWRpdmVyc2UiLGljb246WzU3Niw1MTIsW10sImU4NjUiLCJNMzk0LjggNTI2LjlhNTQgNTQgMCAxIDEgNS44LTEwNy44IDU0IDU0IDAgMSAxIC01LjggMTA3Ljh6bS01MC4xLTgwLjZjLTUuNSAxMC45LTcuNCAyMy4zLTUuNiAzNS40TDE2OC43IDQ1NC40YzUuNS0xMC45IDcuNS0yMy4zIDUuNy0zNS40bDE3MC4zIDI3LjN6TTExMi43IDQ4MS42YTU0IDU0IDAgMSAxIDUuOS0xMDcuOCA1NCA1NCAwIDEgMSAtNS45IDEwNy44em0yNTcuNy02MS40Yy0xMC45IDUuNi0xOS43IDE0LjQtMjUuNCAyNS4zbC03MC42LTcwLjkgMzMuNi0xNyA2Mi40IDYyLjd6TTQ4Ni4xIDI2MWM4LjcgOC42IDE5LjggMTQuMyAzMS45IDE2LjRMNDM5LjQgNDMwLjhjLTguNy04LjYtMTkuOC0xNC4zLTMxLjktMTYuNEw0ODYuMSAyNjF6TTM3Ni43IDIxOS4zbDMwLjUgMTk1LjFjLTEyLjEtMS45LTI0LjUtLjEtMzUuNCA1LjNsLTMyLjItMjA2LjMgMzcuMiA2ek0zNTAuNCAzMjguOUwxNzQuMiA0MTguMmMtMi0xMi4xLTcuNi0yMy4yLTE2LjItMzJsMTg2LjYtOTQuNiA1LjggMzcuMnptLTE1Mi43LTIybC00MC4zIDc4LjdjLTguNy04LjYtMTkuOC0xNC4zLTMxLjktMTYuM2w0NS42LTg5IDI2LjYgMjYuN3pNMTI0LjcgMzY5Yy0xMi4xLTEuOC0yNC40IC4yLTM1LjQgNS42TDYyLjcgMjA0LjNjMTIuMSAxLjggMjQuNS0uMSAzNS40LTUuNkwxMjQuNyAzNjl6bTE0Ny4xLTQ3LjhsLTMzLjYgMTctMTM5LjQtMTM5LjljMTAuOS01LjYgMTkuNy0xNC40IDI1LjQtMjUuM0wyNzEuOCAzMjEuMnptMTk3LjUtOTIuOGMyIDEyLjEgNy42IDIzLjIgMTYuMiAzMS45bC04OS4zIDQ1LjItNS44LTM3LjIgNzguOS00MHptNTUuNiA0NC4zYTU0IDU0IDAgMSAxIDUuOS0xMDcuOCA1NCA1NCAwIDEgMSAtNS45IDEwNy44ek0yODQuNiA1OC43YzguNyA4LjYgMTkuOCAxNC4zIDMxLjggMTYuM2wtOTUuMyAxODYuMS0yNi42LTI2LjcgOTAtMTc1Ljh6TTQ3NC45IDE5Mi4xYy01LjUgMTAuOS03LjUgMjMuMy01LjcgMzUuM2wtMjA2LjQtMzMuMSAxNy4yLTMzLjUgMTk1IDMxLjN6TTY4LjcgMTk5LjZBNTQgNTQgMCAxIDEgNzQuNiA5MS44IDU0IDU0IDAgMSAxIDY4LjcgMTk5LjZ6bTQzMi0zMy40Yy0xMC45IDUuNi0xOS43IDE0LjQtMjUuNCAyNS4zTDM1My41IDY5LjNjMTAuOS01LjYgMTkuNy0xNC40IDI1LjQtMjUuM0w1MDAuNiAxNjYuMnpNMjI5LjMgMTUyLjZsLTE3LjIgMzMuNS04Ny40LTE0YzUuNC0xMC45IDcuNC0yMy4zIDUuNS0zNS40bDk5IDE1Ljl6bTEzOS41IDE1LjlsLTM3LjItNi0xMy42LTg3LjJjMTIuMSAxLjcgMjQuNS0uMyAzNS4zLTUuOWwxNS41IDk5LjF6TTI2Ny44IDI2LjJjMiAxMi4xIDcuNiAyMy4yIDE2LjIgMzEuOWwtMTUzLjkgNzhjLTItMTIuMS03LjYtMjMuMi0xNi4yLTMxLjlsMTUzLjktNzh6bTU1LjYgNDQuM2E1NCA1NCAwIDEgMSA1LjgtMTA3LjggNTQgNTQgMCAxIDEgLTUuOCAxMDcuOHoiXX0seW90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJyYXZlLXJldmVyc2UiLGljb246WzQ0OCw1MTIsW10sImU2M2QiLCJNMjk4LjUgMGMzIDAgNS44IDEuMyA3LjggMy42bDM4LjEgNDRjLjUtLjEgMS0uMiAxLjUtLjMgOS4yLTEuNiAxOC42LTIuMiAyNy43LTEuMiAxMS42IDEuNCAyMS41IDUuNCAyOC45IDEyLjkgNy43IDcuOCAxNS40IDE1LjggMjIuNiAyMy42IDIuNSAyLjcgNC45IDUuMiA2LjkgNy40IC43IC44IDEuNCAxLjUgMS45IDIgMy40IDMuNyA0LjIgOC4xIDIuNyAxMS45bC05LjggMjQuNiAxMy4xIDM4LjFjLjcgMiAuOCA0LjEgLjIgNi4yLS4xIC40LS4xIC40LS41IDIuMWwtMS41IDUuOGMtMS42IDYuMy0zLjUgMTMuMy01LjQgMjAuOS01LjYgMjEuNi0xMS4yIDQzLjItMTYuNCA2My40LTEyLjkgNDkuOS0yMS40IDgyLjctMjMuNCA5MC45LTExLjEgNDQuNS0xOS45IDYwLTQ4LjMgODAuMy0yNC45IDE3LjgtNzYuOCA1My42LTg2LjggNjAtMSAuNi0yIDEuMy0zLjQgMi4zLS41IC40LTMuMiAyLjItMy45IDIuNy00LjkgMy4zLTguMyA1LjUtMTIuMSA3LjMtNC43IDIuMi05LjMgMy41LTEzLjkgMy41cy05LjEtMS4yLTEzLjktMy41Yy0zLjctMS44LTcuMi0zLjktMTIuMS03LjMtLjgtLjUtMy40LTIuNC0zLjktMi43LTEuNC0xLTIuNS0xLjctMy40LTIuMy0xMC02LjQtNjEuOS00Mi4xLTg2LjgtNjAtMjguNC0yMC40LTM3LjItMzUuOC00OC4zLTgwLjMtMi04LjItMTAuNS00MS0yMy4zLTkwLjUtNS4zLTIwLjYtMTAuOS00Mi4yLTE2LjUtNjMuOC0yLTcuNi0zLjgtMTQuNi01LjQtMjAuOWwtMS41LTUuOC0uNS0yLjFjLS41LTItLjQtNC4yIC4yLTYuMmwxMy4xLTM4LjEtOS45LTI0LjVjLTEuNS0zLjgtLjctOC4yIDItMTEuMiAxLjItMS4zIDEuOC0yIDIuNi0yLjggMi0yLjIgNC40LTQuNyA2LjktNy40IDcuMy03LjcgMTUtMTUuNyAyMi43LTIzLjUgNy40LTcuNSAxNy4zLTExLjYgMjguOS0xMi45IDkuMS0xLjEgMTguNS0uNSAyNy43IDEuMiAuNSAuMSAxIC4yIDEuNSAuM2wzOC4xLTQ0YzItMi40IDQuOC0zLjcgNy44LTMuN2wxNDggMHptLTQuNyAyMS4xbC0xMzguNiAwLTM5LjEgNDUuMWMtMi42IDMtNi43IDQuMy0xMC42IDMuMi0uMi0uMS0uNy0uMi0xLjUtLjQtMS4zLS4zLTIuOS0uNi00LjUtLjktNy40LTEuMy0xNC45LTEuOC0yMS43LTEtNy4zIC45LTEzIDMuMi0xNi42IDYuOS03LjYgNy43LTE1LjIgMTUuNi0yMi4zIDIzLjMtMS43IDEuOC0zLjMgMy41LTQuOCA1LjFsOC44IDIyYzEgMi40IDEgNSAuMiA3LjVMMjkuNyAxNzAuNmMuNCAxLjQgLjUgMS45IDEuMiA0LjggMS42IDYuMyAzLjUgMTMuMyA1LjQgMjAuOSA1LjYgMjEuNiAxMS4yIDQzLjIgMTYuNCA2My40IDEyLjkgNTAgMjEuNCA4Mi44IDIzLjQgOTEgMTAuMSA0MC4xIDE2LjQgNTEuMyA0MC4yIDY4LjMgMjQuNiAxNy42IDc2LjMgNTMuMiA4NS45IDU5LjMgMS4yIC44IDIuNSAxLjYgNCAyLjcgLjYgLjQgMy4yIDIuMiAzLjkgMi43IDQgMi44IDYuNyA0LjQgOS4yIDUuNiAyLjIgMSAzLjkgMS41IDUuMSAxLjVzMi45LS41IDUuMS0xLjVjMi41LTEuMiA1LjItMi44IDkuMi01LjYgLjctLjUgMy4zLTIuMyAzLjktMi43IDEuNi0xLjEgMi44LTEuOSA0LTIuNyA5LjYtNi4xIDYxLjMtNDEuNyA4NS45LTU5LjMgMjMuOC0xNy4xIDMwLjItMjguMiA0MC4xLTY4LjMgMi4xLTguMyAxMC41LTQxLjEgMjMuMy05MC43IDUuMy0yMC42IDEwLjktNDIuMiAxNi41LTYzLjggMi03LjYgMy44LTE0LjYgNS40LTIwLjkgLjctMi45IC45LTMuNCAxLjItNC44bC0xMy4zLTM4LjhjLS44LTIuNC0uOC01LjEgLjItNy41bDguOC0yMmMtMS41LTEuNi0zLjEtMy4zLTQuOC01LjEtNy4yLTcuNi0xNC43LTE1LjUtMjIuMy0yMy4zLTMuNy0zLjctOS4zLTYtMTYuNi02LjktNi44LS44LTE0LjQtLjMtMjEuNyAxLTEuNyAuMy0zLjIgLjYtNC41IC45LS44IC4yLTEuMyAuMy0xLjUgLjQtMy44IDEuMS03LjktLjItMTAuNi0zLjJMMjkzLjggMjEuMXpNMjI0LjUgMzE2YzIuOCAwIDIwLjkgNi41IDM1LjQgMTQuMXMyNSAxMyAyOC4zIDE1LjIgMS4zIDYuMi0xLjcgOC40LTQ0LjEgMzQuNi00OC4xIDM4LjItOS44IDkuNS0xMy44IDkuNS05LjgtNS45LTEzLjgtOS41LTQ1LjEtMzYtNDguMS0zOC4yLTUuMS02LjItMS43LTguNCAxMy45LTcuNSAyOC4zLTE1LjIgMzIuNS0xNC4xIDM1LjQtMTQuMWwtLjIgMHptLjEtMjMwLjdjLjcgMCA4LjggLjIgMjAuNSA0LjIgMTIuMyA0LjIgMjUuNyA5LjQgMzEuOSA5LjRzNTEuOS04LjkgNTEuOS04LjkgNTQuMiA2Ni43IDU0LjIgODEtNi44IDE4LTEzLjcgMjUuNC0zNi44IDM5LjgtNDAuNyA0My45LTExLjkgMTAuNS03LjEgMjEuOCAxMS43IDI1LjggMy45IDQwLjQtMjEgMjQuNC0yOS40IDIyLjgtMjguNC0xMi4yLTM1LjctMTcuMS0zMC41LTI0LjMtMzAuNS0zMS44IDI0LTIwLjggMjguNC0yMy45IDI0LjctMTQuOCAyNS4xLTE5LjQgLjMtNi01LjctMTcuNC0xNi43LTI2LjctMTQuOS0zNi44IDE5LjEtMTUuNCAzMS41LTIwLjIgMzYuMi0xMy43IDM5LjItMTUuMSAyLjItMi43LTYuOC0zLjYtMzQuNi00LjMtNDYuMS0xLjEtMzEuMiA4LjItMzIuOCAxMC45LTMgMi43LTEuNCAxMS44IDEwLjEgNTIuOCAxMC45IDYwLjYgMi40IDEyLjktNS44IDE0LjgtMjIuMSA1LjItMjYuOCA1LjItMTguNi0zLjMtMjYuOC01LjItNi42LTctNS44LTE0LjggOS4zLTUxLjUgMTAuOS02MC42IC4yLTkuMi0xLjQtMTEuOC0yMS4zLTcuNi0zMi44LTEwLjktMzcuMSAuMi00Ni4xIDEuMS05LjggMi4yLTYuOCAzLjYgMjYuOCAxMC40IDM5LjIgMTUuMSAyOS43IDEwIDMxLjUgMjAuMi05IDI1LjQtMTQuOSAzNi44LTYuMSAxMi44LTUuNyAxNy40IDIwLjYgMTYuNCAyNS4xIDE5LjQgMjguNCAxNi40IDI4LjQgMjMuOS0yMy4yIDI3LTMwLjUgMzEuOC0yNy4yIDE1LjQtMzUuNyAxNy4xLTIxLjctOC4yLTI5LjQtMjIuOC0uOC0yOS4xIDMuOS00MC40LTMuMy0xNy43LTcuMS0yMS44LTMzLjgtMzYuNS00MC43LTQzLjktMTMuNy0xMS4yLTEzLjctMjUuNCA1NC4yLTgxIDU0LjItODEgNDUuOCA4LjkgNTEuOSA4LjkgMTkuNS01LjIgMzEuOS05LjQgMjAuNi00LjIgMjAuNi00LjJsLS4zIDB6Il19LHdvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdmlhbmV4IixpY29uOls1MTIsNTEyLFtdLCJmMzc0IiwiTTQ1My4yIDMybC0zMTIgMEMxMDIuMyAzMiA2NSA2My4yIDU3LjkgMTAxLjdMMS4zIDQxMC4zQy01LjggNDQ4LjggMjAgNDgwIDU5IDQ4MGwzMTIgMGMzOC45IDAgNzYuMi0zMS4yIDgzLjMtNjkuN0w1MTEgMTAxLjhDNTE4IDYzLjIgNDkyLjIgMzIgNDUzLjIgMzJ6TTM5NSAzNzkuM2wtMzIgMTMuNS0xMTUuNC0xMTBjLTE0LjcgMTAtMjkuMiAxOS41LTQxLjcgMjcuMWwyMi4xIDY0LjItMTcuOSAxMi43LTQwLjYtNjEtNTIuNC00OC4xIDE1LjctMTUuNCA1OCAzMS4xYzkuMy0xMC41IDIwLjgtMjIuNiAzMi44LTM0LjlsLTIwLjUtMjkuNi02OC44LTk5LjggMTguOC0yOC45IDguOS00LjggMTAzLjEgMTEyLjQgNC45IDQuNWMxOS40LTE4LjggMzMuOC0zMi40IDMzLjgtMzIuNCA3LjctNi41IDIxLjUtMi45IDMwLjcgNy45IDkgMTAuNSAxMC42IDI0LjcgMi43IDMxLjMtMS44IDEuMy0xNS41IDExLjQtMzUuMyAyNS42bDQuNSA3LjMgOTQuOSAxMTkuNC02LjMgNy45eiJdfSxNb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibnM4IixpY29uOls2NDAsNTEyLFtdLCJmM2Q1IiwiTTEwNC4zIDI2OS4ybDI2LjEgMCAwLTI2LjItMjYuMSAwIDAgMjYuMnpNMTU2LjggMjQzbC0uMS0yNi4yIDAtLjljLS4yLTEwLjQtNC40LTIwLjMtMTEuOS0yNy42cy0xNy41LTExLjMtMjcuOS0xMS4xLTIwLjMgNC40LTI3LjYgMTEuOC0xMS4zIDE3LjUtMTEuMiAyNy45bDAgLjIgMjYuNCAwIDAtLjJjLjEtMy40IDEuNS02LjYgMy45LTlzNS43LTMuNyA5LjEtMy43IDYuNyAxLjMgOS4xIDMuNyAzLjggNS42IDMuOSA5bDAgMjYuMiAyNi4zIDB6bTUyLjQgMjUuOGMwIDEyLTIuNCAyMy44LTYuOSAzNC45cy0xMS4zIDIxLjEtMTkuNyAyOS42LTE4LjUgMTUuMi0yOS42IDE5LjctMjIuOSA2LjktMzQuOSA2LjlsLS42IDBjLTI0LjIgMC00Ny4zLTkuNi02NC40LTI2LjdTMjYuMyAyOTMgMjYuMyAyNjguOGwtMjYuMyAwIDAgLjJjMCAxNS40IDMuMSAzMC43IDkgNDQuOXMxNC42IDI3LjIgMjUuNSAzOC4xIDIzLjkgMTkuNSAzOC4xIDI1LjQgMjkuNSA4LjkgNDQuOSA4LjlsLjggMGMxNS40IDAgMzAuNy0zIDQ0LjktOXMyNy4yLTE0LjYgMzguMS0yNS41IDE5LjUtMjMuOCAyNS40LTM4LjEgOC45LTI5LjUgOC45LTQ0LjlsMC0yNi0yNi4zIDAgMCAyNnptLTE1Ny4yIDBjLjEgMTcuMyA3IDMzLjkgMTkuMiA0Ni4xczI4LjggMTkuMSA0Ni4xIDE5LjEgMzMuOS02LjkgNDYuMS0xOS4xIDE5LjItMjguOCAxOS4yLTQ2LjFsLTI2LjMgMGMtLjIgMTAuMi00LjQgMjAtMTEuNyAyNy4ycy0xNy4xIDExLjItMjcuNCAxMS4yLTIwLjEtNC0yNy40LTExLjItMTEuNS0xNi45LTExLjctMjcuMmwwLTI2LTI2LjMgMCAwLTI2LjZjLjMtMTcuMyA3LjQtMzMuOCAxOS43LTQ1LjhzMjktMTguOCA0Ni4zLTE4LjYgMzMuOCA3LjIgNDUuOSAxOS41IDE4LjkgMjguOSAxOC45IDQ2LjJsMCAyNS4zIDI2LjMgMCAwLTI1LjNjMC0yNC4zLTkuNy00Ny43LTI2LjktNjQuOXMtNDAuNS0yNi45LTY0LjktMjYuOS00Ny43IDkuNy02NC45IDI2LjktMjYuOSA0MC41LTI2LjkgNjQuOWwwIDI1LjQgMjYuMyAwIDAgMjZ6bTQxOC40LTcxLjJjMTMuNyAwIDI0LjYgNi42IDMwLjEgMTguM2wuNyAxLjUgMjMuMi0xMS41LS42LTEuNGMtOC0xOS4zLTI4LjUtMzEuMy01My40LTMxLjMtMjMuMSAwLTQzLjYgMTEuNC01MSAyOC40LS4xIDI2LjktLjIgMjMuOSAwIDI0LjggNC43IDExIDE0LjYgMTkuNCAyOC43IDI0LjIgNi41IDIgMTMuMSAzLjMgMTkuOCA0IDUuNSAuNyAxMC42IDEuNCAxNS44IDMuMSA2LjQgMi4xIDEwLjUgNS4zIDEyLjggOS44bDAgOS45Yy0zLjcgNy41LTEzLjggMTIuMy0yNS44IDEyLjMtMTQuMyAwLTI2LTYuOS0zMS45LTE5bC0uNy0xLjUtMjMgMTEuNSAuNiAxLjRjNy45IDE5LjQgMjkuNiAzMiA1NS4zIDMyIDIzLjYgMCA0NC42LTExLjQgNTIuMy0yOC40bC4yLTI1LjktLjItLjdjLTQuOS0xMS0xNS4yLTE5LjYtMjguOS0yNC4yLTcuNy0yLjctMTQuMy0zLjYtMjAuNy00LjQtNS0uNS0xMC0xLjUtMTQuOC0yLjktNi4zLTEuOS0xMC40LTUuMS0xMi42LTkuNmwwLTguNGMzLjQtNy40IDEyLjktMTIuMSAyNC4yLTEyLjFsMCAwek0yODcuNiAzMTEuM2wyNi4xIDAgMC02OC40LTI2LjEgMCAwIDY4LjR6TTYzOS44IDI1OGMtMi45LTYuMy04LjMtMTItMTUuNC0xNi43IDUuNi0zLjggMTAuMS05LjEgMTMtMTUuM2wuMi0yNS4zLS4yLS43Yy03LjQtMTYtMjYuNy0yNi43LTQ4LjItMjYuN1M1NDguNSAxODQgNTQxLjEgMjAwbC0uMiAyNS4zIC4yIC43YzIuOSA2LjEgNy40IDExLjQgMTMgMTUuMy03LjIgNC43LTEyLjUgMTAuNS0xNS40IDE2LjdsLS4yIDI4LjkgLjIgLjdjNy42IDE2IDI3LjkgMjYuNyA1MC42IDI2LjdzNDMuMS0xMC43IDUwLjYtMjYuN2wuMi0yOC45LS4yLS43em0tNzMuMi01MC44YzMuNi02LjMgMTIuNi0xMC41IDIyLjYtMTAuNXMxOSA0LjIgMjIuNiAxMC41bDAgMTMuN2MtMy41IDYuMi0xMi42IDEwLjMtMjIuNiAxMC4zcy0xOS4xLTQuMi0yMi42LTEwLjNsMC0xMy43em00Ny4zIDcyLjJjLTMuOCA2LjYtMTMuMyAxMC45LTI0LjcgMTAuOS0xMS4xIDAtMjEtNC40LTI0LjctMTAuOWwwLTE2LjJjMy43LTYuMyAxMy41LTEwLjUgMjQuNy0xMC41IDExLjMgMCAyMC45IDQuMSAyNC43IDEwLjVsMCAxNi4yek0zNzYuNCAyNjZsLTU5LjgtODkuNy0yOSAwIDAgNDAuNiAyNi41IDAgMCAuNCA2Mi41IDk0LjEgMjUuNyAwIDAtMTM1LjEtMjUuOSAwIDAgODkuN3oiXX0sRDFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1waW50ZXJlc3QiLGljb246WzQ0OCw1MTIsWyJwaW50ZXJlc3Qtc3F1YXJlIl0sImYwZDMiLCJNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNzIuNiAwLTIuMi0uOGMtNS40LTQ4LjEtMy4xLTU3LjUgMTUuNy0xMzQuNyAzLjktMTYgOC41LTM1IDEzLjktNTcuOSAwIDAtNy4zLTE0LjgtNy4zLTM2LjUgMC03MC43IDc1LjUtNzggNzUuNS0yNSAwIDEzLjUtNS40IDMxLjEtMTEuMiA0OS44LTMuMyAxMC42LTYuNiAyMS41LTkuMSAzMi01LjcgMjQuNSAxMi4zIDQ0LjQgMzYuNCA0NC40IDQzLjcgMCA3Ny4yLTQ2IDc3LjItMTEyLjQgMC01OC44LTQyLjMtOTkuOS0xMDIuNi05OS45LTY5LjkgMC0xMTAuOSA1Mi40LTExMC45IDEwNi42IDAgMjEuMSA4LjIgNDMuNyAxOC4zIDU2IDIgMi40IDIuMyA0LjUgMS43IDctMS4xIDQuNy0zLjEgMTIuOS00LjcgMTkuMi0xIDQtMS44IDcuMy0yLjEgOC42LTEuMSA0LjUtMy41IDUuNS04LjIgMy4zLTMwLjYtMTQuMy00OS44LTU5LjEtNDkuOC05NS4xIDAtNzcuNSA1Ni4yLTE0OC42IDE2Mi4yLTE0OC42IDg1LjIgMCAxNTEuNCA2MC43IDE1MS40IDE0MS44IDAgODQuNi01My4zIDE1Mi43LTEyNy40IDE1Mi43LTI0LjkgMC00OC4zLTEyLjktNTYuMy0yOC4yIDAgMC0xMi4zIDQ2LjktMTUuMyA1OC40LTUgMTkuMy0xNy42IDQyLjktMjcuNCA1OS4zTDM4NCA0ODBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6Il19LGtvdD1EMWUsU290PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsdWV0b290aC1iIixpY29uOlsyNTYsNTEyLFtdLCJmMjk0IiwiTTE2NC45IDI2MEwyNTcuNSAxNTYuNyAxMTEuNiAwIDExMS42IDIwNi4zIDI1LjQgMTIwLjItNiAxNTEuNiAxMDIuMSAyNjAtNiAzNjguNCAyNS40IDM5OS44IDExMS42IDMxMy43IDExNC4zIDUxMiAyNjIuOCAzNjMuNCAxNjQuOSAyNjB6bTQwLjktMTAzbC01MCA1MC0uMy0xMDAuMyA1MC4zIDUwLjN6bS01MCAxNTZsNTAgNTAtNTAuMyA1MC4zIC4zLTEwMC4zeiJdfSx6b3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3JpcGZpcmUiLGljb246WzMyMCw1MTIsW10sImYzYWMiLCJNODAuNSAzMDEuNGMwLTczLjggMTA1LjEtMTIyLjUgMTA1LjEtMjAzIDAtNDcuMS0zNC04OC0zOS4xLTkwLjQgLjQgMy4zIC42IDYuNyAuNiAxMCAwIDkyLjEtMTQ3LjEgMTUzLjktMTQ3LjEgMjY4LjYgMCA0OS44IDMyLjIgNzkuMiA2Ni41IDEwOC4zIDY1LjEgNDYuNyA3OC4xIDcxLjQgNzguMSA4Ni42IDAgMTAuMS00LjggMTctNC44IDIyLjMgMTMuMS0xNi43IDE3LjQtMzEuOSAxNy41LTQ2LjQgMC0yOS42LTIxLjctNTYuMy00NC4yLTg2LjUtMTYtMjIuMy0zMi42LTQyLjYtMzIuNi02OS41em0yMDUuMy0zOWMtMTIuMS02Ni44LTc4LTEyNC40LTk0LjctMTMwLjlsNCA3LjJjMi40IDUuMSAzLjQgMTAuOSAzLjQgMTcuMSAwIDQ0LjctNTQuMiAxMTEuMi01Ni42IDExNi43LTIuMiA1LjEtMy4yIDEwLjUtMy4yIDE1LjggMCAyMC4xIDE1LjIgNDIuMSAxNy45IDQyLjEgMi40IDAgNTYuNi01NS40IDU4LjEtODcuNyA2LjQgMTEuNyA5LjEgMjIuNiA5LjEgMzMuNCAwIDQxLjItNDEuOCA5Ni45LTQxLjggOTYuOSAwIDExLjYgMzEuOSA1My4yIDM1LjUgNTMuMiAxIDAgMi4yLTEuNCAzLjItMi40IDM3LjktMzkuMyA2Ny4zLTg1IDY3LjMtMTM2LjggMC04LS43LTE2LjItMi4yLTI0LjZ6Il19LEExZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZ29vZ2xlLXBsdXMiLGljb246WzQ0OCw1MTIsWyJnb29nbGUtcGx1cy1zcXVhcmUiXSwiZjBkNCIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNNjQgMjU2YzAtNTUuMyA0NC43LTEwMCAxMDAtMTAwIDI3IDAgNDkuNSA5LjggNjcgMjYuMmwtMjcuMSAyNi4xYy03LjQtNy4xLTIwLjMtMTUuNC0zOS44LTE1LjQtMzQuMSAwLTYxLjkgMjguMi02MS45IDYzLjIgMCAzNC45IDI3LjggNjMuMiA2MS45IDYzLjIgMzkuNiAwIDU0LjQtMjguNSA1Ni44LTQzLjFsLTU2LjkgMCAwLTM0LjQgOTQuNCAwYzEgNSAxLjYgMTAuMSAxLjYgMTYuNiAwIDU3LjEtMzguMyA5Ny42LTk2IDk3LjYtNTUuMyAwLTEwMC00NC43LTEwMC0xMDB6bTI5MSAxOC4ybDAgMjktMjkuMiAwIDAtMjktMjkgMCAwLTI5LjIgMjkgMCAwLTI5IDI5LjIgMCAwIDI5IDI5IDAgMCAyOS4yLTI5IDB6Il19LENvdD1BMWUsVG90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdGVlIixpY29uOls1MTIsNTEyLFtdLCJlODYzIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyek0zODUuNiAxMTMuOGwwIDAtMTc3IDBjLTUyLjQgMC05NC44IDQyLjQtOTQuOCA5NC44bDAgMTc3YzAgNyA1LjcgMTIuNiAxMi42IDEyLjZsMTg2LjUgMGM0Ny4xIDAgODUuMy0zOC4yIDg1LjMtODUuM2wwLTcyLjdjMC03LTUuNy0xMi42LTEyLjYtMTIuNmwtMTQ1LjQgMGMtNyAwLTEyLjYgNS43LTEyLjYgMTIuNmwwIDMxLjZjMCA2LjYgNS4xIDEyLjEgMTEuNiAxMi42bDEgMCA4OC41IDBjNi42IDAgMTIuMSA1LjEgMTIuNiAxMS42bDAgMSAwIDYuM2MwIDIwLjktMTcgMzcuOS0zNy45IDM3LjlsLTEyMC4xIDBjLTcgMC0xMi42LTUuNy0xMi42LTEyLjZsMC0xMjAuMWMwLTIwLjQgMTYuMS0zNy4xIDM2LjQtMzcuOWwxLjYgMCAxNzcgMGM3IDAgMTIuNi01LjcgMTIuNi0xMi42bDAtMzEuNmMwLTctNS42LTEyLjYtMTIuNi0xMi42eiJdfSxfb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieG1wcCIsaWNvbjpbNTc2LDUxMixbXSwiZTg2NCIsIk0wIDQ3LjJjMy41IDEzNy4xIDExNy4xIDI3OC42IDI1Mi45IDM1Ni43LTMxLjUgMjUtNjcuMiA0NC4xLTEwNi4yIDUzLjlsMCA1LjRjNTYuNC0yLjMgOTguMS0yMC4xIDE0MS4zLTQwLjcgNjUuNyAzNC42IDEyMi4yIDM5LjkgMTQxLjQgNDAuN2wwLTUuNGMtMzktOS44LTc0LjctMjguOC0xMDYuMi01My44IDEzNS43LTc4LjIgMjQ5LjMtMjE5LjggMjUyLjgtMzU2LjgtNTguNCAyNS43LTExOS4xIDQ0LjItMTgwLjEgNjIuM2wwIDBjMy40IDU5LTIwLjIgMTcwLjQtMTA3LjkgMjYyLjMtODguNC05Mi4zLTExMS4yLTIwNC4xLTEwNy44LTI2Mi4zbDAgMEMxMTcuNyA5Mi42IDU5LjMgNzAuMiAwIDQ3LjJ6TTkzLjkgOTdsNzMuNiAyMS44QzE2NS40IDIxNiAyMjYuOCAzNTggMzQxLjMgNDMyLjIgMTkwLjUgMzc2LjkgODkuOSAyMTUuNyA5My45IDk3em0zODguMyAwYzMuMyA5OS02NS42IDIyNC43LTE3MS43IDI5Ni40LTQuNy00LjEtOS4zLTguNC0xMy44LTEyLjcgNzctODAuMiAxMTMuMi0xODYuMyAxMTEuOS0yNjEuOUw0ODIuMSA5N3pNMjY0LjUgNDEwLjVjMyAxLjYgNS45IDMuMiA4LjkgNC43LTEyLjUgNi40LTI1LjQgMTIuMS0zOC42IDE3IDEwLjMtNi43IDIwLjItMTMuOSAyOS43LTIxLjd6Il19LExvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHAtc3RvcmUiLGljb246WzUxMiw1MTIsW10sImYzNmYiLCJNMjU1LjkgMTIwLjlsOS4xLTE1LjdjNS42LTkuOCAxOC4xLTEzLjEgMjcuOS03LjVzMTMuMSAxOC4xIDcuNSAyNy45bC04Ny41IDE1MS41IDYzLjMgMGMyMC41IDAgMzIgMjQuMSAyMy4xIDQwLjhsLTE4NS41IDBjLTExLjMgMC0yMC40LTkuMS0yMC40LTIwLjRzOS4xLTIwLjQgMjAuNC0yMC40bDUyIDAgNjYuNi0xMTUuNC0yMC44LTM2LjFjLTUuNi05LjgtMi4zLTIyLjIgNy41LTI3LjkgOS44LTUuNiAyMi4yLTIuMyAyNy45IDcuNWw4LjkgMTUuN3ptLTc4LjcgMjE4bC0xOS42IDM0Yy01LjYgOS44LTE4LjEgMTMuMS0yNy45IDcuNXMtMTMuMS0xOC4xLTcuNS0yNy45bDE0LjYtMjUuMmMxNi40LTUuMSAyOS44LTEuMiA0MC40IDExLjZ6bTE2OC45LTYxLjdsNTMuMSAwYzExLjMgMCAyMC40IDkuMSAyMC40IDIwLjRTNDEwLjUgMzE4IDM5OS4yIDMxOGwtMjkuNSAwIDE5LjkgMzQuNWM1LjYgOS44IDIuMyAyMi4yLTcuNSAyNy45LTkuOCA1LjYtMjIuMiAyLjMtMjcuOS03LjUtMzMuNS01OC4xLTU4LjctMTAxLjYtNzUuNC0xMzAuNi0xNy4xLTI5LjUtNC45LTU5LjEgNy4yLTY5LjEgMTMuNCAyMyAzMy40IDU3LjcgNjAuMSAxMDR6TTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNNDAgMjU2YTIxNiAyMTYgMCAxIDEgNDMyIDAgMjE2IDIxNiAwIDEgMSAtNDMyIDB6Il19LCRvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3aXgiLGljb246WzY0MCw1MTIsW10sImY1Y2YiLCJNMzkzLjQgMTMxLjdjMCAxMyAyLjEgMzIuNy0yOC43IDQzLjgtOS41IDMuNC0xNiA5LjctMTYgOS43IDAtMzEgNC43LTQyLjIgMTcuNC00OC45IDkuOC01LjEgMjcuMi00LjYgMjcuMi00LjZ6TTI3Ny42IDE2Ny4ybC0zNC4yIDEzMi43LTI4LjUtMTA4LjZjLTcuNy0zMi0yMC44LTQ4LjUtNDguNC00OC41LTI3LjQgMC00MC43IDE2LjItNDguNCA0OC41TDg5LjUgMjk5LjkgNTUuMyAxNjcuMkM0OS43IDE0MC41IDIzLjkgMTI5IDAgMTMyTDY1LjYgMzc5LjlzMjEuNiAxLjYgMzIuNS00YzE0LjItNy4yIDIxLTEyLjggMjkuNi00Ni42IDcuNy0zMC4xIDI5LjEtMTE4LjQgMzEuMS0xMjQuNyA0LjgtMTQuOSAxMS4xLTEzLjggMTUuNCAwIDIgNi4zIDIzLjUgOTQuNiAzMS4xIDEyNC43IDguNiAzMy43IDE1LjQgMzkuMyAyOS42IDQ2LjYgMTAuOCA1LjUgMzIuNSA0IDMyLjUgNEwzMzIuOSAxMzJjLTI0LjQtMy4xLTQ5LjggOC45LTU1LjMgMzUuM3ptMTE1LjggNS4ycy00LjEgNi4zLTEzLjUgMTEuNmMtNiAzLjQtMTEuOCA1LjYtMTggOC42LTE1LjEgNy4zLTEzLjIgMTMuOS0xMy4yIDM1LjJsMCAxNTIuMXMxNi42IDIuMSAyNy40LTMuNGMxMy45LTcuMSAxNy4xLTE0IDE3LjMtNDQuOGwwLTE1MC4zIDAgMCAwLTl6bTE2My40IDg0LjFMNjQwIDEzMi44cy0zNS4xLTYtNTIuNSA5LjhjLTEzLjMgMTIuMS0yNC40IDI5LjYtNTQuMiA3Mi41LS41IC43LTYuMyAxMC41LTEzLjEgMC0yOS4zLTQyLjItNDAuOC02MC4zLTU0LjItNzIuNS0xNy40LTE1LjgtNTIuNS05LjgtNTIuNS05LjhsODMuMiAxMjMuNy04MyAxMjMuNHMzNi42IDQuNiA1NC0xMS4yYzExLjUtMTAuNSAxNy42LTIwLjQgNTIuNS03MC43IDYuOC0xMC41IDEyLjYtLjggMTMuMSAwIDI5LjQgNDIuNCAzOS4yIDU4LjEgNTMuMSA3MC43IDE3LjQgMTUuOCA1My4zIDExLjIgNTMuMyAxMS4ybC04My0xMjMuNHoiXX0sRG90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImludGVyY29tIixpY29uOls0NDgsNTEyLFtdLCJmN2FmIiwiTTM5MiAzMkw1NiAzMkMyNS4xIDMyIDAgNTcuMSAwIDg4TDAgNDI0YzAgMzAuOSAyNS4xIDU2IDU2IDU2bDMzNiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtMzM2YzAtMzAuOS0yNS4xLTU2LTU2LTU2ek0yODMuNyAxMTQuMWMwLTE5LjggMjkuOS0xOS44IDI5LjkgMGwwIDE5OS41YzAgMTkuOC0yOS45IDE5LjgtMjkuOSAwbDAtMTk5LjV6bS03NC42LTcuNWMwLTE5LjggMjkuOS0xOS44IDI5LjkgMGwwIDIxNi41YzAgMTkuOC0yOS45IDE5LjgtMjkuOSAwbDAtMjE2LjV6bS03NC43IDcuNWMwLTE5LjggMjkuOS0xOS44IDI5LjkgMGwwIDE5OS41YzAgMTkuOC0yOS45IDE5LjgtMjkuOSAwbDAtMTk5LjV6TTU5LjcgMTQ0YzAtMTkuOCAyOS45LTE5LjggMjkuOSAwbDAgMTM0LjNjMCAxOS44LTI5LjkgMTkuOC0yOS45IDBsMC0xMzQuM3pNMzgzLjEgMzcxLjhjLTcyLjggNjMtMjQxLjcgNjUuNC0zMTguMSAwLTE1LTEyLjggNC40LTM1LjUgMTkuNC0yMi43IDY1LjkgNTUuMyAyMTYuMSA1My45IDI3OS4zIDAgMTQuOS0xMi45IDM0LjMgOS44IDE5LjQgMjIuN3ptNS4yLTkzLjVjMCAxOS44LTI5LjkgMTkuOC0yOS45IDBsMC0xMzQuM2MwLTE5LjggMjkuOS0xOS44IDI5LjkgMGwwIDEzNC4zeiJdfSxBb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVhY3RldXJvcGUiLGljb246WzU3Niw1MTIsW10sImY3NWQiLCJNMjUwLjcgMjExLjdsNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjEtLjEtMi4zLTYuOC0yLjMgNi44LTcuMiAuMSA1LjcgNC4zLTIgNi44em02My43IDBsNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjItLjEtMi4zLTYuOC0yLjMgNi44LTcuMiAuMSA1LjcgNC4zLTEuOSA2Ljh6bS05MS4zIDUwLjVsLTMuNCAwYy00LjggMC0zLjggNC0zLjggMTIuMSAwIDQuNy0yLjMgNi4xLTUuOCA2LjFzLTUuOC0xLjQtNS44LTYuMWwwLTM2LjZjMC00LjcgMi4zLTYuMSA1LjgtNi4xczUuOCAxLjQgNS44IDYuMWMwIDcuMi0uNyAxMC41IDMuOCAxMC41bDMuNCAwYzQuNy0uMSAzLjgtMy45IDMuOC0xMi4zIDAtOS45LTYuNy0xNC4xLTE2LjgtMTQuMWwtLjIgMGMtMTAuMSAwLTE2LjggNC4yLTE2LjggMTQuMWwwIDQwLjFjMCAxMC40IDYuNyAxNC4xIDE2LjggMTQuMWwuMiAwYzEwLjEgMCAxNi44LTMuOCAxNi44LTE0LjEgMC05LjkgMS4xLTEzLjgtMy44LTEzLjh6bS04MC43IDE3LjRsLTE0LjcgMCAwLTE5LjMgMTEuNCAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwLTIuMWMwLTIuNS0xLjMtMy44LTMuOC0zLjhsLTExLjQgMCAwLTE4LjMgMTQuNCAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwLTIuMWMwLTIuNS0xLjMtMy44LTMuOC0zLjhsLTIxLjcgMGMtMi40LS4xLTMuNyAxLjMtMy43IDMuOGwwIDU5LjFjMCAyLjUgMS4zIDMuOCAzLjggMy44bDIxLjkgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMC0yLjFjMC0yLjUtMS4zLTMuOC0zLjgtMy44em0tNDItMTguNWM0LjYtMiA3LjMtNiA3LjMtMTIuNGwwLTExLjljMC0xMC4xLTYuNy0xNC4xLTE2LjgtMTQuMWwtMTMuNCAwYy0yLjUgMC0zLjggMS4zLTMuOCAzLjhsMCA1OS4xYzAgMi41IDEuMyAzLjggMy44IDMuOGwzLjQgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMC0yMi45IDUuNiAwIDcuNCAyMy41Yy4yIDEgLjggMS44IDEuNiAyLjRzMS44IC45IDIuNyAuOGwzLjMgMGMyLjggMCA0LTEuOCAzLjItNC40bC04LjEtMjMuOXptLTMuOC0xNGMwIDQuOC0yLjUgNi4xLTYuMSA2LjFsLTUuOCAwIDAtMjAuOSA1LjggMGMzLjYgMCA2LjEgMS4zIDYuMSA2LjFsMCA4Ljd6TTE3Ni4xIDIyNmMtLjEtLjUtLjItMS0uNC0xLjRzLS42LS44LTEtMS4xLS44LS42LTEuMy0uNy0xLS4yLTEuNS0uMWwtNi45IDBjLS41IDAtMSAwLTEuNCAuMnMtLjkgLjQtMS4zIC43LS43IC43LS45IDEuMS0uNCAuOS0uNCAxLjRsLTExIDU5LjJjLS41IDIuNyAuOSA0LjEgMy40IDQuMWwzIDBjLjUgLjEgMSAwIDEuNS0uMnMuOS0uNCAxLjMtLjcgLjctLjcgLjktMS4yIC40LS45IC40LTEuNGwxLjgtMTEuMyAxMi4yIDAgMS44IDExLjNjMCAuNSAuMiAxIC40IDEuNHMuNSAuOSAuOSAxLjIgLjggLjYgMS4zIC43IDEgLjIgMS41IC4ybDMuNSAwYzIuNiAwIDMuOS0xLjQgMy40LTQuMUwxNzYuMSAyMjZ6bS0xMi4zIDM5LjNsNC43LTI5LjcgNC43IDI5LjctOS40IDB6bTg5LjMgMjAuMmwwLTUzLjIgNy41IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAtMi4xYzAtMi41LTEuMy0zLjgtMy44LTMuOGwtMjUuOCAwYy0yLjUgMC0zLjggMS4zLTMuOCAzLjhsMCAyLjFjMCAyLjUgMS4zIDMuOCAzLjggMy44bDcuMyAwIDAgNTMuMmMwIDIuNSAxLjMgMy44IDMuOCAzLjhsMy40IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAgMHptMjQ4LS44bC0xOS40IDAgMC0yNi43IDE2LjEgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjctLjQgLjMtLjQgLjQtLjcgLjEtLjUgLjEtLjhsMC0uOGMwLS4zIDAtLjUtLjEtLjhzLS4yLS41LS40LS43LS40LS4zLS43LS40LS41LS4xLS44LS4xbC0xNi4xIDAgMC0yNS44IDE5LjEgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjctLjQgLjMtLjQgLjQtLjcgLjEtLjUgLjEtLjhsMC0uOGMwLS4zIDAtLjUtLjEtLjhzLS4yLS41LS40LS43LS40LS4zLS43LS40LS41LS4xLS44LS4xbC0yMi4yIDBjLS4zLS4xLS41LS4xLS44IDBzLS41IC4yLS43IC40LS4zIC40LS40IC43LS4xIC41LS4xIC44bDAgNjNjMCAuMyAwIC41IC4xIC44cy4yIC41IC40IC42IC40IC4zIC43IC40IC41IC4xIC44IC4xbDIyLjUgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjctLjQgLjMtLjQgLjQtLjYgLjEtLjUgLjEtLjhsMC0uOGMwLS4zIDAtLjUtLjEtLjhzLS4yLS41LS40LS43LS40LS4zLS43LS40LS41LS4xLS44LS4xbDAgMHpNNDA4IDIyMS44bC0uOCAwYy0xMC4xIDAtMTUuMyA0LjctMTUuMyAxNC4xbDAgNDAuMWMwIDkuMyA1LjIgMTQuMSAxNS4zIDE0LjFsLjggMGMxMC4xIDAgMTUuMy00LjggMTUuMy0xNC4xbDAtNDAuMWMwLTkuNC01LjItMTQuMS0xNS4zLTE0LjFsMCAwem0xMC4yIDUyLjRjLS4xIDgtMyAxMS4xLTEwLjUgMTEuMXMtMTAuNS0zLjEtMTAuNS0xMS4xbDAtMzYuNmMwLTcuOSAzLTExLjEgMTAuNS0xMS4xczEwLjUgMy4yIDEwLjUgMTEuMWwwIDM2LjZ6bS00Ni41LTE0LjVjNi4xLTEuNiA5LjItNi4xIDkuMi0xMy4zbDAtOS43YzAtOS40LTUuMi0xNC4xLTE1LjMtMTQuMWwtMTMuNyAwYy0uMyAwLS41IDAtLjggLjFzLS41IC4yLS43IC40LS4zIC40LS40IC42LS4xIC41LS4xIC44bDAgNjNjMCAuMyAwIC41IC4xIC44cy4yIC41IC40IC42IC40IC4zIC43IC40IC41IC4xIC44IC4xbDEuMiAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNi0uNCAuMy0uNCAuNC0uNiAuMS0uNSAuMS0uOGwwLTI2LjkgMTEuNiAwIDEwLjQgMjcuMmMuMiAuNSAuNSAuOSAuOSAxLjFzLjkgLjQgMS40IC40bDEuNSAwYzEuNCAwIDItMSAxLjUtMi4zbC0xMC42LTI3LjN6bS02LjQtMy45bC0xMC4yIDAgMC0yOC41IDEwLjIgMGM3LjUgMCAxMC41IDMuMSAxMC41IDExLjFsMCA2LjRjMCA3LjgtMyAxMS0xMC41IDExbDAgMHptODUuOS0zMy4xbC0xMy43IDBjLS4zLS4xLS41LS4xLS44IDBzLS41IC4yLS43IC40LS4zIC40LS40IC43LS4xIC41LS4xIC44bDAgNjNjMCAuMyAwIC41IC4xIC44cy4yIC41IC40IC42IC40IC4zIC43IC40IC41IC4xIC44IC4xbDEuMiAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNi0uNCAuMy0uNCAuNC0uNiAuMS0uNSAuMS0uOGwwLTI2LjEgMTAuNiAwYzEwLjEgMCAxNS4zLTQuOCAxNS4zLTE0LjFsMC0xMC41YzAtOS40LTUuMi0xNC4xLTE1LjMtMTQuMXptMTAuMiAyMi44YzAgNy45LTMgMTEuMS0xMC41IDExLjFsLTEwLjIgMCAwLTI5LjIgMTAuMiAwYzcuNS0uMSAxMC41IDMuMSAxMC41IDExbDAgNy4xek0yNTkuNiAzMDhsLTIuMy02LjgtMi4zIDYuOC03LjEgLjEgNS43IDQuMy0yLjEgNi44IDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4xLS4xek00ODcuMiAxNzEuOWMtMTEuNy00LjQtMjMuNS04LjEtMzUuNi0xMS4zIDE5LjYtNzggMTEuNi0xMzQuNy0yMi4zLTE1My45LTM0LjUtMTkuNC04NS45IDQuMy0xMzguMiA1NS4yIDMuNCAzLjMgNi44IDYuNyAxMC4yIDEwLjIgODIuNS04MCAxMTkuNi01My41IDEyMC45LTUyLjggMjIuNCAxMi43IDM2IDU1LjggMTUuNSAxMzcuOC0yNy44LTYuNC01Ni4xLTEwLjctODQuNi0xMy03MS45LTEwMC41LTE0MC42LTE0Mi4xLTE4Mi4yLTE0Mi4xLTMwLjggMC00My44IDIxLTQ3LjYgMjcuNy0xOC4xIDMyLTEzLjMgODQuMiAuMSAxMzMuOC03MC41IDIwLjMtMTIwLjcgNTQuMS0xMjAuMyA5NSAuNSA1OS42IDEwMy4yIDg3LjggMTIyLjEgOTIuOC0yMC41IDgxLjktMTAuMSAxMzUuNiAyMi4zIDE1My45IDI4IDE1LjggNzUuMSA2IDEzOC4yLTU1LjItMy40LTMuMy02LjgtNi43LTEwLjItMTAuMi04Mi41IDgwLTExOS43IDUzLjUtMTIwLjkgNTIuOC0yMi4zLTEyLjYtMzYtNTUuNi0xNS41LTEzNy45IDEyLjQgMi45IDQxLjggOS41IDg0LjYgMTMgNzEuOSAxMDAuNCAxNDAuNiAxNDIgMTgyLjEgMTQyIDMwLjggMCA0My44LTIxIDQ3LjYtMjcuNyAxOC0zMS45IDEzLjMtODQuMS0uMS0xMzMuOCAxNTIuMy00My44IDE1Ni4yLTEzMC4yIDMzLjktMTc2LjNsMCAwek0xMzYgMzYuOGMyLjktNS4xIDExLjktMjAuMyAzNC45LTIwLjMgMzYuOCAwIDk4LjggMzkuNiAxNjMuMyAxMjYuMi0zMS4zLTEuOC02Mi43LTEuNS05My45IC45IDEzLTE4LjMgMjcuMS0zNS44IDQyLjItNTIuNC0zLjQtMy41LTYuOC02LjktMTAuMi0xMC4yLTE4LjMgMjAuMi0zNS4zIDQxLjctNTAuNyA2NC4yLTI4LjUgMi43LTU2LjcgNy42LTg0LjQgMTQuNi0uMi0xLjQtMjQuMy04Mi4yLTEuMi0xMjNsMCAwek00NDAuOCA0NzUuMWMtMi45IDUuMS0xMS44IDIwLjMtMzQuOSAyMC4zLTM2LjcgMC05OC43LTM5LjQtMTYzLjMtMTI2LjIgMzEuMyAxLjggNjIuNyAxLjUgOTMuOS0uOS0xMyAxOC4zLTI3LjEgMzUuOC00Mi4yIDUyLjQgMy40IDMuNSA2LjggNi45IDEwLjIgMTAuMiAxOC40LTIwLjIgMzUuMy00MS43IDUwLjctNjQuMiA0Ny4zLTQuNyA4MC4zLTEzLjUgODQuNC0xNC42IDIyLjcgODQuNCA0LjUgMTE3IDEuMiAxMjN6bTkuMS0xMzguNmMtMy42LTExLjktNy43LTI0LjEtMTIuNC0zNi40LTIuMSAwLTQuMi0uNS02LjEtMS41cy0zLjUtMi40LTQuNi00LjJsLS4xIC4xYy0xLjYgMS41LTMuNCAyLjctNS40IDMuNiA1LjcgMTQuMyAxMC42IDI4LjQgMTQuNyA0Mi4yLTIzLjcgNi00Ny43IDEwLjMtNzIgMTMgMy41LTUuMyAxNy4yLTI2LjIgMzIuMi01NC4yLTIuMS0uOC00LjItMS45LTYtMy4yLTEuMSAxLjItMy42IDQuMi0xMC45IDQuMi02LjIgMTEuMi0xNy40IDMwLjktMzMuOSA1NS4yLTM3LjQgMy4zLTc1IDMuNi0xMTIuNCAxLTcuOS0xMS4yLTIxLjUtMzEuMS0zNi44LTU3LjgtMS0uNC0yLS45LTMtMS41LTEuOSAxLjYtMy45IDMuMi0xMi42IDMuMiA2LjMgMTEuMiAxNy41IDMwLjcgMzMuOCA1NC42LTI0LjMtMi4zLTQ4LjQtNi4yLTcyLjItMTEuNyAzLjktMTQgOC42LTI4LjMgMTQuMS00Mi45LTMuMiAwLTUuNCAuMi04LjQtMS0yLjIgLjgtNC42IDEuMS02LjkgMS00LjkgMTMuNC05LjEgMjYuNS0xMi43IDM5LjQtMTU5LjktNDIuNi0xNDAuMy0xMjMuNi0xLjUtMTY0IDMuNiAxMS45IDcuNyAyNC4xIDEyLjQgMzYuNCAxMC40IDAgMTIuOSAzLjQgMTQuNCA1LjMgLjctLjggMS40LTEuNiAyLjMtMi4yLTUuOC0xNC43LTEwLjktMjkuMi0xNS4yLTQzLjMgNy0xLjggMzIuNC04LjQgNzItMTMtMTUuOSAyNC4zLTI2LjcgNDMuOS0zMi44IDU1LjMgMy4xIDEuOCA1LjMgNC42IDYuNCA4IDIuNS0zLjcgNi4xLTYuNiAxMC4yLTguNCA2LjUtMTEuNyAxNy45LTMxLjkgMzQuOC01Ni45IDM3LjQtMy4zIDc1LTMuNiAxMTIuNC0xIDMxLjUgNDQuNiAyOC45IDQ4LjEgNDIuNSA2NC41IDIuNi0zLjUgNi4zLTYgMTAuNC03LjQtNi40LTExLjQtMTcuNi0zMS0zNC4zLTU1LjUgNDAuNCA0LjEgNjUgMTAgNzIuMiAxMS43LTQgMTQuNC04LjkgMjkuMi0xNC42IDQ0LjIgMi41IDEgNC44IDIuNCA2LjggNC4zbC4xIC4xYzEtMS41IDIuMy0yLjggMy44LTMuOHMzLjMtMS42IDUuMS0xLjhjNC45LTEzLjQgOS4yLTI2LjYgMTIuOC0zOS41IDExLjcgMy4xIDIzLjIgNi44IDM0LjUgMTEgMTA2LjEgMzkuOSA3NCA4Ny45IDcyLjYgOTAuNC0xOS44IDM1LjEtODAuMSA1NS4yLTEwNS43IDYyLjV6bS0xMTQuNC0xMTRsLTEuMiAwYy0uMyAwLS41IDAtLjggLjFzLS41IC4yLS42IC40LS4zIC40LS40IC42LS4xIC41LS4xIC44bDAgNDkuOGMwIDcuOS0yLjYgMTEuMS0xMC4xIDExLjFzLTEwLjEtMy4xLTEwLjEtMTEuMWwwLTQ5LjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwtMS4yIDBjLS4zIDAtLjUgMC0uOCAuMXMtLjUgLjItLjcgLjQtLjMgLjQtLjQgLjYtLjEgLjUtLjEgLjhsMCA1MS41YzAgOS42IDUgMTQuMSAxNS4xIDE0LjFsLjQgMGMxMC4xIDAgMTUuMS00LjYgMTUuMS0xNC4xbDAtNTEuNWMwLS4zLS4xLS41LS4yLS44cy0uMy0uNS0uNS0uNi0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMXpNMzIxLjggMzA4bC0yLjMtNi44LTIuMyA2LjgtNy4xIC4xIDUuNyA0LjMtMi4xIDYuOCA1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMS0uMXptLTMxLjEgNy40bC0yLjMtNi44LTIuMyA2LjgtNy4xIC4xIDUuNyA0LjMtMi4xIDYuOCA1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMS0uMXptNS4xLTMwLjhsLTE5LjQgMCAwLTI2LjcgMTYuMSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNyAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsLTE2LjEgMCAwLTI1LjggMTkuMSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNyAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsLTIyLjIgMGMtLjMgMC0uNSAwLS44IC4xcy0uNSAuMi0uNyAuNC0uMyAuNC0uNCAuNi0uMSAuNS0uMSAuOGwwIDYzYzAgLjMgMCAuNSAuMSAuOHMuMiAuNSAuNCAuNiAuNCAuMyAuNyAuNCAuNSAuMSAuOCAuMWwyMi41IDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS43IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS42LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uNC0uNy0uNC0uNS0uMS0uOC0uMWwwIDB6bS03LjQtOTkuNGwtMi4zIDYuOC03LjEgLjEgNS43IDQuMy0yLjEgNi44IDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4xLS4xLTIuMy02Ljh6Il19LEVvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3YXplIixpY29uOls1MTIsNTEyLFtdLCJmODNmIiwiTTUwMi42IDIwMS43YzE0LjUgODUuOS0zMC45IDE2Ny45LTExMy4yIDIwOC4xIDEzIDM0LjEtMTIuNCA3MC4yLTQ4LjMgNzAuMi0xMy4yIDAtMjYtNS4xLTM1LjYtMTQuMnMtMTUuMy0yMS42LTE2LTM0LjhjLTYuNCAuMi02NC4yIDAtNzYuMy0uNi0uMyA2LjgtMS45IDEzLjUtNC43IDE5LjZzLTYuOSAxMS43LTExLjkgMTYuMy0xMC44IDguMi0xNy4yIDEwLjUtMTMuMiAzLjQtMTkuOSAzLjFjLTMzLjktMS40LTU4LTM0LjgtNDctNjcuOS0zNy4yLTEzLjEtNzIuNS0zNC45LTk5LjYtNzAuOC0xMy0xNy4zLS41LTQxLjggMjAuOC00MS44IDQ2LjMgMCAzMi4yLTU0LjIgNDMuMi0xMTAuMyAxOC40LTkzLjkgMTE2LjgtMTU3LjEgMjExLjctMTU3LjEgMTAyLjUgMCAxOTcuMiA3MC43IDIxNC4xIDE2OS43ek0zNzMuOSAzODguM2M0Mi0xOS4yIDgxLjMtNTYuNyA5Ni4zLTEwMi4xIDQwLjUtMTIzLjEtNjQuMi0yMjgtMTgxLjctMjI4LTgzLjQgMC0xNzAuMyA1NS40LTE4Ni4xIDEzNi05LjUgNDguOSA1IDEzMS40LTY4LjcgMTMxLjQgMjQuOSAzMy4xIDU4LjMgNTIuNiA5My43IDY0IDI0LjctMjEuOCA2My45LTE1LjUgNzkuOCAxNC4zIDE0LjIgMSA3OS4yIDEuMiA4Ny45IC44IDMuNS02LjkgOC41LTEyLjkgMTQuNy0xNy41czEzLjItNy45IDIwLjgtOS41IDE1LjQtMS40IDIyLjkgLjQgMTQuNSA1LjMgMjAuNSAxMC4yek0yMDUuNSAxODcuMWMwLTM0LjcgNTAuOC0zNC43IDUwLjggMHMtNTAuOCAzNC43LTUwLjggMHptMTE2LjYgMGMwLTM0LjcgNTAuOS0zNC43IDUwLjkgMHMtNTAuOSAzNC44LTUwLjkgMHpNMTk5LjUgMjU3LjhjLTMuNC0xNi45IDIyLjItMjIuMiAyNS42LTUuMmwuMSAuM2M0LjEgMjEuNCAyOS44IDQ0IDY0LjEgNDMuMSAzNS43LS45IDU5LjMtMjIuMiA2NC4xLTQyLjggNC41LTE2LjEgMjguNi0xMC40IDI1LjUgNi01LjIgMjIuMi0zMS4yIDYyLTkxLjUgNjIuOS00Mi42IDAtODAuOS0yNy44LTg3LjktNjQuMmwwIDB6Il19LElvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLXJlbWl4IixpY29uOls1MTIsNTEyLFtdLCJmNGVlIiwiTTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3pNNDE4LjEgMjYwLjRsNC45IDIuMiAwIDcwYy03LjIgMy42LTYzLjQgMjcuNS02Ny4zIDI4LjgtNi41LTEuOC0xMTMuNy00Ni44LTEzNy4zLTU2LjJsLTY0LjIgMjYuNi02My4zLTI3LjUgMC02My44IDU5LjMtMjQuOGMtLjctLjctLjQgNS0uNC03MC40bDY3LjMtMjkuNyAxNTEuOSA2Mi45IDAgNjEuNiA0OS4xIDIwLjN6bS03MC40IDgxLjVsMC00My44LS40IDAgMC0xLjgtMTEzLjgtNDYuNSAwIDQ1LjIgMTEzLjggNDYuOSAwLS40IC40IC40em03LjUtNTcuNmwzOS45LTE2LjQtMzYuOC0xNS41LTM5IDE2LjQgMzUuOSAxNS41em01Mi4zIDM4LjFsMC00My00NC4zIDE4LjYgMCA0My40IDQ0LjMtMTl6Il19LFBvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiYW5kY2FtcCIsaWNvbjpbNTEyLDUxMixbXSwiZjJkNSIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6bTQ4LjIgMzI2LjFsLTE4MSAwIDg0LjctMTU2LjEgMTgxIDAtODQuNyAxNTYuMXoiXX0sTm90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS13ZWItYXdlc29tZS1zdHJva2UiLGljb246WzQ0OCw1MTIsW10sImU2ODQiLCJNNjQgNjRDNDYuMyA2NCAzMiA3OC4zIDMyIDk2bDAgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDY0IDY0ek0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptMjM1IDgxLjZsNTMgNDYuNCA1Mi4yLTEwLjRjLTIuNi0zLjktNC4yLTguNS00LjItMTMuNiAwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0YzAgMTMtMTAuMyAyMy42LTIzLjIgMjRMMzA0LjUgMzQ5LjFjLTUuMiAxMS41LTE2LjYgMTguOS0yOS4yIDE4LjlsLTEwMi42IDBjLTEyLjYgMC0yNC03LjQtMjkuMi0xOC45TDg3LjIgMjI0Yy0xMi45LS40LTIzLjItMTEtMjMuMi0yNCAwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0YzAgNS0xLjUgOS43LTQuMiAxMy42TDE2MCAyMjQgMjEzLjEgMTc3LjZjLTguOS00LjEtMTUtMTMuMS0xNS0yMy42IDAtMTQuNCAxMS42LTI2IDI2LTI2czI2IDExLjYgMjYgMjZjMCAxMC41LTYuMiAxOS41LTE1LjEgMjMuNnoiXX0sRm90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpbWVvLXYiLGljb246WzQ0OCw1MTIsW10sImYyN2QiLCJNNDQ3LjggMTUzLjZjLTIgNDMuNi0zMi40IDEwMy4zLTkxLjQgMTc5LjEtNjAuOSA3OS4yLTExMi40IDExOC44LTE1NC42IDExOC44LTI2LjEgMC00OC4yLTI0LjEtNjYuMy03Mi4zLTM1LjItMTI5LjItNTAuMi0yMDQuOS03OS4zLTIwNC45LTMuNCAwLTE1LjEgNy4xLTM1LjIgMjEuMUwwIDE2OC4yYzUxLjYtNDUuMyAxMDAuOS05NS43IDEzMS44LTk4LjUgMzQuOS0zLjQgNTYuMyAyMC41IDY0LjQgNzEuNSAyOC43IDE4MS41IDQxLjQgMjA4LjkgOTMuNiAxMjYuNyAxOC43LTI5LjYgMjguOC01Mi4xIDMwLjItNjcuNiA0LjgtNDUuOS0zNS44LTQyLjgtNjMuMy0zMSAyMi03Mi4xIDY0LjEtMTA3LjEgMTI2LjItMTA1LjEgNDUuOCAxLjIgNjcuNSAzMS4xIDY0LjkgODkuNHoiXX0sT290PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0cmF2YSIsaWNvbjpbMzg0LDUxMixbXSwiZjQyOCIsIk0xNTguNCAwTDcgMjkyIDk2LjIgMjkyIDE1OC40IDE3NS45IDIyMC4xIDI5MiAzMDguNiAyOTIgMTU4LjQgMHpNMzA4LjYgMjkybC00My45IDg4LjItNDQuNi04OC4yLTY3LjYgMCAxMTIuMiAyMjAgMTExLjUtMjIwLTY3LjYgMHoiXX0sUm90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVuaXJlZ2lzdHJ5IixpY29uOlszODQsNTEyLFtdLCJmNDA0IiwiTTE5MiA0ODBjMzkuNSAwIDc2LjItMTEuOCAxMDYuOC0zMi4ybC0yMTMuNSAwQzExNS44IDQ2OC4yIDE1Mi41IDQ4MCAxOTIgNDgwek0xMDIuOSAyODYuOWwwLTEyLjQtMTAyLjkgMCAwIDEyLjRjMCAyLjUgMCA1IC4xIDcuNGwxMDMuMSAwYy0uMi0yLjQtLjMtNC45LS4zLTcuNHptMjAuNSA1N2wtMTE0LjkgMGMyLjYgOC41IDUuOCAxNi44IDkuNiAyNC44bDEzOC4zIDBjLTEyLjktNS43LTI0LjEtMTQuMi0zMy0yNC44em0tMTcuNy0zNC43bC0xMDQuNCAwYy45IDcuNiAyLjIgMTUgMy45IDIyLjNsMTA5LjcgMGMtNC02LjktNy4yLTE0LjQtOS4yLTIyLjN6bS0yLjgtNjkuM2wtMTAyLjkgMCAwIDE3LjMgMTAyLjkgMCAwLTE3LjN6bTAtMTczLjJsLTEwMi45IDAgMCA0LjkgMTAyLjkgMCAwLTQuOXptMC0zNC43bC0xMDIuOSAwIDAgMi41IDEwMi45IDAgMC0yLjV6bTAgNjkuM2wtMTAyLjkgMCAwIDcuNCAxMDIuOSAwIDAtNy40em0wIDEwNGwtMTAyLjkgMCAwIDE0LjggMTAyLjkgMCAwLTE0Ljh6bTAtNjkuM2wtMTAyLjkgMCAwIDkuOSAxMDIuOSAwIDAtOS45em0wIDM0LjZsLTEwMi45IDAgMCAxMi40IDEwMi45IDAgMC0xMi40ek0yNjkuMSAzMzEuNWwxMDkuNyAwYzEuOC03LjMgMy4xLTE0LjcgMy45LTIyLjNsLTEwNC40IDBjLTIuMSA3LjktNS4yIDE1LjQtOS4yIDIyLjN6bTEyLTE4NS43bDEwMi45IDAgMC05LjgtMTAyLjkgMCAwIDkuOHptMCAzNy4ybDEwMi45IDAgMC0xMi40LTEwMi45IDAgMCAxMi40em0wLTc0LjNsMTAyLjkgMCAwLTcuNC0xMDIuOSAwIDAgNy40em0wLTc2LjdsMCAyLjUgMTAyLjkgMCAwLTIuNS0xMDIuOSAwek03OC4xIDQ0Mi45bDIyNy43IDBjMTEuOC04LjcgMjIuNy0xOC42IDMyLjItMjkuN2wtMjkzLjEgMGM5LjYgMTEgMjEuNCAyMSAzMy4yIDI5Ljd6bTIwMy0zNzEuM2wxMDIuOSAwIDAtNC45LTEwMi45IDAgMCA0Ljl6bTAgMTQ4LjVsMTAyLjkgMCAwLTE0LjgtMTAyLjkgMCAwIDE0Ljh6TTM4LjggNDA1LjdsMzA1LjMgMGM2LjctOC41IDEyLjYtMTcuNiAxNy44LTI3LjJMMjMgMzc4LjVjNS4yIDkuNiA5LjIgMTguNyAxNS44IDI3LjJ6bTE4OC44LTM3LjFsMTM5LjQgMGMzLjctOCA1LjgtMTYuMiA4LjUtMjQuOGwtMTE1IDBjLTguOCAxMC43LTIwLjEgMTkuMi0zMi45IDI0Ljh6bTUzLjUtODEuN2MwIDIuNS0uMSA1LS40IDcuNGwxMDMuMSAwYy4xLTIuNSAuMi00LjkgLjItNy40bDAtMTIuNC0xMDIuOSAwIDAgMTIuNHptMC0yOS43bDEwMi45IDAgMC0xNy4zLTEwMi45IDAgMCAxNy4zeiJdfSxCb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2MtZGluZXJzLWNsdWIiLGljb246WzU3Niw1MTIsW10sImYyNGMiLCJNMjM5LjcgNzkuOWExNzUuOCAxNzUuOCAwIDEgMCAwIDM1MS42IDE3NS44IDE3NS44IDAgMSAwIDAtMzUxLjZ6TTE5OS44IDM1OS41Yy00MS43LTE1LjktNzEuNC01Ni40LTcxLjQtMTAzLjhzMjkuNy04Ny45IDcxLjQtMTA0LjFsMCAyMDcuOXptNzkuOCAuM2wwLTIwOC4yYzQxLjcgMTYuMiA3MS40IDU2LjcgNzEuNCAxMDQuMXMtMjkuNyA4Ny45LTcxLjQgMTA0LjF6TTUyOCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQ4MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0zMjkuNyA0NDhsLTkwLjMgMEMxMzMuMiA0NDggNDUuNiAzNjIuNSA0NS42IDI1Ny44IDQ1LjYgMTQzLjIgMTMzLjIgNjQgMjM5LjQgNjRsOTAuMyAwYzEwNSAwIDIwMC43IDc5LjIgMjAwLjcgMTkzLjggMCAxMDQuNy05NS43IDE5MC4yLTIwMC43IDE5MC4yeiJdfSxIb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia3ViZXJuZXRlcyIsaWNvbjpbNTEyLDUxMixbXSwiZTg1NyIsIk0yNTYgMzE2LjFjMy41LS4xIDcuMiAyIDguOSA1LjFMMjkzIDM3MS43Yy0zLjYgMS4yLTcuMyAyLjMtMTEuMiAzLjEtMjEuNCA0LjktNDIuNyAzLjQtNjItMy4ybDI3LjktNTAuNGMxLjctMy4xIDQuOS01IDguMi01LjF6bTUwLjUtMjMuNGw1Ny4yIDkuN2MtOC40IDIzLjUtMjQuNCA0My45LTQ1LjggNTcuNWwtMjIuMi01My42Yy0yLTQuNyAuMS0xMC40IDQuOC0xMi42IDEuOS0uOSA0LjEtMS4zIDYtLjl6bS04OS4xIDcuN2MuNSAyLjEgLjMgNC4yLS41IDZsLTIxLjggNTMuM2MtMjAuNS0xMy4yLTM2LjktMzIuOS00NS43LTU3LjFsNTYuNy05LjZjNS4xLS45IDEwLjEgMi40IDExLjMgNy41em01OC44LTQxbC0zLjkgMTcuMS0xNS44IDcuNi0xNS45LTcuNy00LTE3LjEgMTEtMTMuNyAxNy43IDAgMTEgMTMuN3ptLTczLjctMTYuN2MzLjkgMy40IDQuNCA5LjUgMS4yIDEzLjYtMS4zIDEuNy0zLjEgMi44LTUgMy4zbC01NS4zIDE2LjJjLTIuOC0yNS43IDMuMy01MC43IDE2LjEtNzEuNmw0My4xIDM4LjZ6bTE1MC43LTM4LjVjNi40IDEwLjQgMTEuMiAyMiAxNC4xIDM0LjYgMi45IDEyLjQgMy42IDI0LjggMi40IDM2LjhsLTU1LjYtMTZjLTUtMS40LTguMS02LjctNi45LTExLjcgLjUtMi4xIDEuNi0zLjggMy4xLTUuMWw0Mi45LTM4LjV6bS0xMTMuOCA0LjRjLS4yIDUuMi00LjcgOS40LTkuOSA5LjQtMi4xIDAtNC4xLS43LTUuNy0xLjhsLTQ3LjMtMzMuNGMxNC41LTE0LjMgMzMuMS0yNC44IDU0LjUtMjkuNyAzLjktLjkgNy44LTEuNiAxMS43LTJsLTMuMyA1Ny42em0zMC44LTU3LjZjMjUgMy4xIDQ4LjEgMTQuNCA2NS44IDMxLjdsLTQ3LjEgMzMuMmMtNC4yIDMtMTAgMi4zLTEzLjMtMS44LTEuMy0xLjctMi0zLjYtMi4xLTUuNmwtMy4zLTU3LjV6TTI1NC41LTEuM2M1LjktLjMgMTEuNyAuOSAxNyAzLjRMNDU1IDg5LjdjNC43IDIuMyA4LjkgNS42IDEyLjIgOS43czUuNiA4LjggNi44IDEzLjlsNDUuMyAxOTYuOWMxLjIgNS4xIDEuMiAxMC40IDAgMTUuNXMtMy41IDkuOS02LjggMTMuOUwzODUuNiA0OTcuNmMtMy4zIDQuMS03LjUgNy40LTEyLjIgOS42cy0xMCAzLjQtMTUuMiAzLjRsLTIwMy42IDBjLTUuMyAwLTEwLjUtMS4yLTE1LjItMy40cy04LjktNS41LTEyLjItOS42TC4yIDMzOS43Yy0uNy0uOS0xLjQtMS44LTItMi44LTIuNi0zLjktNC4zLTguMy01LjEtMTIuOXMtLjctOS4zIC4zLTEzLjhMMzguNyAxMTMuNGMxLjItNS4xIDMuNS05LjkgNi44LTEzLjlzNy41LTcuNCAxMi4yLTkuN0wyNDEuMSAyLjFjNC4yLTIgOC44LTMuMiAxMy40LTMuNHptMS44IDY3Yy02LjEgMC0xMSA1LjUtMTEgMTIuMiAwIC4xIDAgLjIgMCAuMyAwIC45LS4xIDIgMCAyLjggLjEgMy45IDEgNi45IDEuNSAxMC40IC45IDcuNyAxLjcgMTQgMS4yIDE5LjktLjUgMi4yLTIuMSA0LjMtMy42IDUuN2wtLjIgNC42Yy02LjYgLjUtMTMuMiAxLjYtMTkuOCAzLjEtMjguNSA2LjUtNTMuMSAyMS4xLTcxLjggNDEtMS4yLS44LTMuMy0yLjMtNC0yLjgtMiAuMy00IC45LTYuNS0uNi00LjktMy4zLTkuNC03LjktMTQuOC0xMy40LTIuNS0yLjYtNC4zLTUuMS03LjItNy43LS43LS42LTEuNy0xLjQtMi40LTItMi4zLTEuOC01LTIuOC03LjctMi45LTMuNC0uMS02LjYgMS4yLTguOCAzLjktMy44IDQuNy0yLjUgMTIgMi43IDE2LjIgLjEgMCAuMSAuMSAuMiAuMSAuNyAuNiAxLjYgMS4zIDIuMyAxLjggMy4xIDIuMyA2IDMuNSA5LjEgNS4zIDYuNiA0LjEgMTIgNy40IDE2LjMgMTEuNSAxLjcgMS44IDIgNC45IDIuMiA2LjNsMy41IDMuMmMtMTguOCAyOC40LTI3LjYgNjMuNC0yMi40IDk5LjFsLTQuNiAxLjNjLTEuMiAxLjYtMi45IDQtNC43IDQuNy01LjYgMS44LTEyIDIuNC0xOS43IDMuMy0zLjYgLjMtNi43IC4xLTEwLjUgLjgtLjggLjItMiAuNC0yLjkgLjdsLS4xIDAtLjIgLjFjLTYuNSAxLjYtMTAuNyA3LjUtOS4zIDEzLjQgMS4zIDUuOSA3LjcgOS40IDE0LjIgOGwuMiAwYy4xIDAgLjEtLjEgLjItLjEgLjktLjIgMi4xLS40IDIuOC0uNiAzLjgtMSA2LjUtMi41IDkuOC0zLjggNy4zLTIuNiAxMy4zLTQuOCAxOS4yLTUuNiAyLjQtLjIgNSAxLjUgNi4zIDIuMmw0LjgtLjhjMTEgMzQuMSAzNC4xIDYxLjcgNjMuMyA3OS4xbC0yIDQuOGMuNyAxLjkgMS41IDQuNCAxIDYuMi0yLjEgNS41LTUuOCAxMS40LTkuOSAxNy45LTIgMy00LjEgNS4zLTUuOSA4LjgtLjQgLjgtMSAyLjEtMS40IDMtMi44IDYtLjggMTMgNC43IDE1LjYgNS41IDIuNiAxMi4yLS4xIDE1LjItNi4ybDAgMGMuNC0uOSAxLTIgMS40LTIuOCAxLjYtMy42IDIuMS02LjYgMy4yLTEwLjEgMi45LTcuMyA0LjUtMTQuOSA4LjUtMTkuNyAxLjEtMS4zIDIuOS0xLjggNC44LTIuM2wyLjUtNC41YzI1LjUgOS44IDU0IDEyLjQgODIuNSA1LjkgNi41LTEuNSAxMi44LTMuNCAxOC44LTUuNyAuNyAxLjIgMiAzLjYgMi4zIDQuMiAxLjkgLjYgMy45IC45IDUuNiAzLjQgMyA1LjEgNSAxMS4yIDcuNSAxOC41IDEuMSAzLjQgMS42IDYuNSAzLjIgMTAuMSAuNCAuOCAxIDIgMS40IDIuOCAyLjkgNi4xIDkuNyA4LjggMTUuMiA2LjIgNS40LTIuNiA3LjUtOS42IDQuNy0xNS42LS40LS45LTEtMi4xLTEuNC0zLTEuOC0zLjQtMy45LTUuNy01LjktOC43LTQuMi02LjUtNy42LTExLjktOS44LTE3LjQtLjktMi44IC4yLTQuNiAuOC02LjUtLjQtLjUtMS4zLTMuMi0xLjgtNC40IDMwLjQtMTcuOSA1Mi44LTQ2LjYgNjMuMy03OS42IDEuNCAuMiAzLjkgLjcgNC43IC44IDEuNy0xLjEgMy4yLTIuNSA2LjItMi4zIDUuOSAuOCAxMS45IDMgMTkuMiA1LjYgMy40IDEuMyA2LjEgMi44IDkuOCAzLjggLjggLjIgMS45IC40IDIuOCAuNiAuMSAwIC4xIDAgLjIgLjFsLjIgMGM2LjUgMS40IDEyLjgtMi4yIDE0LjItOHMtMi44LTExLjgtOS4zLTEzLjRjLS45LS4yLTIuMy0uNi0zLjItLjctMy44LS43LTYuOS0uNS0xMC41LS44LTcuNy0uOC0xNC0xLjQtMTkuNy0zLjItMi4zLS45LTQtMy43LTQuOC00LjhsLTQuNC0xLjNjMi4zLTE2LjYgMS43LTMzLjktMi4zLTUxLjMtNC0xNy41LTExLjEtMzMuNS0yMC42LTQ3LjYgMS4xLTEgMy4zLTIuOSAzLjktMy41IC4yLTIgMC00IDIuMS02LjIgNC4zLTQuMSA5LjgtNy40IDE2LjMtMTEuNSAzLjEtMS44IDYtMyA5LjEtNS4zIC43LS41IDEuNy0xLjMgMi40LTEuOSA1LjMtNC4yIDYuNS0xMS40IDIuNy0xNi4ycy0xMS4xLTUuMi0xNi40LTFjLS43IC42LTEuOCAxLjQtMi40IDItMi45IDIuNS00LjggNS03LjIgNy43LTUuNCA1LjUtOS45IDEwLjEtMTQuOCAxMy40LTIuMSAxLjItNS4zIC44LTYuNyAuN2wtNC4yIDNjLTIzLjgtMjUtNTYuMi00MS05MS4yLTQ0LjEtLjEtMS41LS4yLTQuMS0uMi00LjktMS40LTEuNC0zLjItMi41LTMuNi01LjUtLjUtNS45IC4zLTEyLjMgMS4zLTE5LjkgLjUtMy42IDEuNC02LjYgMS41LTEwLjQgMC0uOSAwLTIuMiAwLTMuMSAwLTYuNy00LjktMTIuMi0xMS0xMi4yeiJdfSxxb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGludGVyZXN0IixpY29uOls1MTIsNTEyLFtdLCJmMGQyIiwiTTUwNCAyNTZjMCAxMzctMTExIDI0OC0yNDggMjQ4LTI1LjYgMC01MC4yLTMuOS03My40LTExLjEgMTAuMS0xNi41IDI1LjItNDMuNSAzMC44LTY1IDMtMTEuNiAxNS40LTU5IDE1LjQtNTkgOC4xIDE1LjQgMzEuNyAyOC41IDU2LjggMjguNSA3NC44IDAgMTI4LjctNjguOCAxMjguNy0xNTQuMyAwLTgxLjktNjYuOS0xNDMuMi0xNTIuOS0xNDMuMi0xMDcgMC0xNjMuOSA3MS44LTE2My45IDE1MC4xIDAgMzYuNCAxOS40IDgxLjcgNTAuMyA5Ni4xIDQuNyAyLjIgNy4yIDEuMiA4LjMtMy4zIC44LTMuNCA1LTIwLjMgNi45LTI4LjEgLjYtMi41IC4zLTQuNy0xLjctNy4xLTEwLjEtMTIuNS0xOC4zLTM1LjMtMTguMy01Ni42IDAtNTQuNyA0MS40LTEwNy42IDExMi0xMDcuNiA2MC45IDAgMTAzLjYgNDEuNSAxMDMuNiAxMDAuOSAwIDY3LjEtMzMuOSAxMTMuNi03OCAxMTMuNi0yNC4zIDAtNDIuNi0yMC4xLTM2LjctNDQuOCA3LTI5LjUgMjAuNS02MS4zIDIwLjUtODIuNiAwLTE5LTEwLjItMzQuOS0zMS40LTM0LjktMjQuOSAwLTQ0LjkgMjUuNy00NC45IDYwLjIgMCAyMiA3LjQgMzYuOCA3LjQgMzYuOHMtMjQuNSAxMDMuOC0yOSAxMjMuMkMxNjEuNSA0MzcuMiAxNjMuNSA0NjcuNCAxNjUuNiA0ODcgNzMuNCA0NTAuOSA4IDM2MS4xIDggMjU2IDggMTE5IDExOSA4IDI1NiA4UzUwNCAxMTkgNTA0IDI1NnoiXX0sam90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFsZ29saWEiLGljb246WzUxMiw1MTIsW10sImYzNmMiLCJNMjU2IDBjLTEzOS45IDAtMjU0IDExMi43LTI1NiAyNTIuMS0yIDE0MS41IDExMi45IDI1OC43IDI1NC41IDI1OS41IDQzLjcgLjMgODUuOS0xMC40IDEyMy4zLTMwLjcgMy42LTIgNC4yLTcgMS4xLTkuN2wtMjQtMjEuMmMtNC45LTQuMy0xMS44LTUuNS0xNy44LTMtMjYuMSAxMS4xLTU0LjUgMTYuOC04My43IDE2LjQtMTE0LjQtMS41LTIwNi45LTk2LjYtMjA1LjEtMjExIDEuOC0xMTIuOSA5NC4zLTIwNC4yIDIwNy43LTIwNC4ybDIwNy43IDAgMCAzNjktMTE3LjgtMTA0LjdjLTMuOC0zLjQtOS43LTIuNy0xMi43IDEuMy0xOC45IDI1LTQ5LjcgNDAuNi04My45IDM4LjItNDcuNS0zLjMtODUuOS00MS41LTg5LjUtODguOS00LjItNTYuNiA0MC42LTEwMy45IDk2LjMtMTAzLjkgNTAuNCAwIDkxLjkgMzguOCA5Ni4yIDg4IC40IDQuNCAyLjQgOC41IDUuNyAxMS40bDMwLjcgMjcuMmMzLjUgMy4xIDkgMS4yIDkuOS0zLjQgMi4yLTExLjggMy0yNC4yIDIuMS0zNi44LTQuOS03Mi02My4zLTEzMC0xMzUuNC0xMzQuNC04Mi43LTUuMS0xNTEuOCA1OS41LTE1NCAxNDAuNi0yLjEgNzguOSA2Mi42IDE0NyAxNDEuNiAxNDguNyAzMyAuNyA2My42LTkuNiA4OC4zLTI3LjZMNDk1IDUwOS40YzYuNiA1LjggMTcgMS4yIDE3LTcuN2wwLTQ5MmMwLTUuNC00LjQtOS43LTkuNy05LjdMMjU2IDB6Il19LFZvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGFja3BhdGgiLGljb246WzQ0OCw1MTIsW10sImY4NDIiLCJNMjQ0LjYgMjMyLjRjMCA4LjUtNC4zIDIwLjUtMjEuMyAyMC41bC0xOS42IDAgMC00MS41IDE5LjYgMGMxNy4xIDAgMjEuMyAxMi40IDIxLjMgMjF6TTQ0OCAzMmwwIDQ0OC00NDggMCAwLTQ0OCA0NDggMHpNMTUxLjMgMjg3LjhjMC0yMS4yLTEyLjEtMzQuNS00Ni43LTQ0LjgtMjAuNi03LjQtMjYtMTAuOS0yNi0xOC42czctMTQuNiAyMC40LTE0LjZjMTQuMSAwIDIwLjggOC40IDIwLjggMTguNGwzMC43IDAgLjItLjZjLjUtMTkuNi0xNS4xLTQxLjYtNTEuMS00MS42LTIzLjQgMC01Mi42IDEwLjgtNTIuNiAzOC4zIDAgMTkuNCA5LjIgMzEuMyA1MC43IDQ0LjQgMTcuMyA2LjIgMjEuOSAxMC40IDIxLjkgMTkuNSAwIDE1LjItMTkuMSAxNC4yLTE5LjUgMTQuMi0yMC40IDAtMjUuNy05LjEtMjUuNy0yMS45bC0zMC44IDAtLjIgLjZjLS43IDMxLjMgMjguNCA0NS4yIDU2LjYgNDUuMiAzMCAwIDUxLjEtMTMuNiA1MS4xLTM4LjN6bTEyNS40LTU1LjZjMC0yNS4zLTE4LjQtNDUuNS01My40LTQ1LjVsLTUxLjggMCAwIDEzOC4yIDMyLjIgMCAwLTQ3LjQgMTkuNiAwYzMwLjMgMCA1My40LTE2IDUzLjQtNDUuNHpNMjk3LjkgMzI1bDQ5LjEtMTM4LjItMzEuMSAwLTQ3LjkgMTM4LjIgMjkuOSAwek00MDQuNSAxODYuOGwtMzEuMSAwLTQ3LjkgMTM4LjIgMjkuOSAwIDQ5LjEtMTM4LjJ6Il19LFVvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvY3RvcHVzLWRlcGxveSIsaWNvbjpbNTEyLDUxMixbXSwiZTA4MiIsIk00NTUuNyAzNDkuMmMtNDUuOS0zOS4xLTM2LjctNzcuOS0xNi4xLTEyOC4xIDM1LjctODctMjMuNS0xODYuOS0xMDkuNi0yMTIuOC05Mi45LTI3LjktMTk1LjcgMTYtMjMwLjMgMTA4LjgtOC43IDIzLjUtMTIuNSA0OC41LTExIDczLjUgMS43IDI5LjUgMTQuNyA1MyAyNC4xIDgwLjMgMTcuMiA1MC4yLTI4LjEgOTIuNy02Ni43IDExNy42LTQ2LjggMzAuMi0zNi4zIDM5LjktOC40IDQxLjkgMjMuNCAxLjcgNDQuNS00LjUgNjUuMy0xNSA5LjItNC42IDQwLjctMTguOSA0NS4xLTI4LjYtMTIuMiAyNi42LTM3IDcyLjctMjEuNSAxMDIuMSAxOS4xIDM2LjIgNjcuMS0zMS44IDc2LjctNDUuOCA4LjYtMTIuNiA0My04MS4zIDYzLjYtNDYuOSAxOC45IDMxLjQgOC42IDc2LjQgMzUuNyAxMDQuNiAzMi45IDM0LjIgNTEuMi0xOC4zIDUxLjQtNDQuMiAuMi0xNi40LTYuMS05NS45IDI5LjktNTkuOSAyMS40IDIxLjQgNTIuOSA3MS4yIDg4LjYgNjcgMzguNy00LjUtMjIuMS02OC0yOC4zLTc4LjcgNS40IDQuMyA1My43IDM0LjEgNTMuOCA5LjUgLjEtMTguOC0zMC4xLTM0LjctNDIuNS00NS4zeiJdfSxXb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFtbWVyIixpY29uOls1MTIsNTEyLFtdLCJmODQwIiwiTTUwMC43IDE1OS41Yy0uNC0xLjgtMS4yLTMuNC0yLjMtNC44cy0yLjUtMi42LTQuMS0zLjVjLTMuMS0xLjYtNi43LTItMTAuMS0xLjFsLTI2LjQgNi42IDAtLjItMjIuMyA1LjgtMS4yIC4zLS42LTIuMmMtMTUuNS01OC4zLTQ1LTExMS45LTg2LjEtMTU2LjItMi42LTIuNy02LjEtNC4yLTkuOC00LjNzLTcuMyAxLjMtMTAgMy44bC0xMDIuOSAxMDIuNy0xOTkuOSAwYy02LjYgMC0xMi45IDIuNi0xNy42IDcuM1MwIDEyNC44IDAgMTMxLjRsMCAyNDlDMCAzODcgMi42IDM5My4zIDcuMyAzOThzMTEgNy4zIDE3LjYgNy4zTDIyNSA0MDUuMyAzMjguMSA1MDhjMi42IDIuNiA2IDQgOS43IDRzNy4xLTEuNCA5LjctNGMuMS0uMSAuMi0uMyAuNC0uNCAyOS4zLTMxLjUgNTIuOC02Ny44IDY5LjYtMTA3LjQgNi45LTE2LjUgMTIuNy0zMy41IDE3LjMtNTAuOGwwIDAgMjAuNCA1LjMgMC0uMSAyOC4zIDcuM2MuOSAuMiAxLjcgLjQgMi42IC41IDEuNCAuMiAyLjggLjIgNC4xLS4xIDIuNS0uNSA0LjgtMS43IDYuNy0zLjRzMy4yLTQgMy44LTYuNWMxNS4yLTYzLjQgMTUuMi0xMjkuNiAuMS0xOTNsMCAwek0zMzcuMSAyNC43bDAgMCAwIDAgMCAwek0yMjYuOSAxODkuOGwtNTIuNiA5MS4zYy0xIDEuNy0xLjUgMy43LTEuNSA1LjdsMCA0Ni4yYzAgNS44LTIuMyAxMS40LTYuNSAxNS42cy05LjcgNi40LTE1LjYgNi40bC0zLjQgMGMtNS44IDAtMTEuNC0yLjMtMTUuNi02LjRzLTYuNS05LjctNi41LTE1LjZsMC00NS43YzAtMS45LS41LTMuOC0xLjQtNS41TDcyLjMgMTg5LjZjLTEuOS0zLjQtMi44LTcuMS0yLjgtMTFzMS4xLTcuNiAzLTEwLjkgNC43LTYuMSA4LjEtOCA3LjEtMi45IDExLTIuOWwzLjMgMGM0IDAgOCAxLjEgMTEuNSAzLjJzNi4zIDUuMSA4LjEgOC43bDM2LjQgNzAuMyAzNy41LTcwLjVjMS44LTMuNSA0LjYtNi40IDcuOS04LjRzNy4yLTMuMiAxMS4xLTMuMiA3LjggLjkgMTEuMiAyLjggNi4zIDQuNyA4LjIgOC4xYzIgMy4zIDMgNy4xIDMgMTFzLTEgNy43LTMgMTFsMCAwek0zMzcuMSAyNC43YzM1LjkgNDAuNiA2MS45IDg5IDc1LjggMTQxLjNsLjYgMi0xMTQuMSAyOS42IDAtNjYuMWMwLTYuNi0yLjctMTIuOS03LjMtMTcuNnMtMTEtNy4zLTE3LjYtNy4zbC0xOS40IDAgODIuMS04MS44ek0zOTcuNiAzOTJsMCAwIDAgMGMtMTQuNyAzNC44LTM1LjEgNjctNjAuMiA5NS4ybC04Mi4yLTgxLjkgMTkuMiAwYzYuNiAwIDEyLjktMi42IDE3LjYtNy4zczcuMy0xMSA3LjMtMTcuNmwwLTY2LjIgMTE0LjYgMjkuOWMtNC40IDE2LjMtOS44IDMyLjMtMTYuMyA0Ny45bDAgMHptODQtNTIuNGwwIDAtNTAuNi0xMy4xLTEzMS43LTM0LjMgMC03Mi41IDExOS43LTMxIDQuNS0xLjJjMjkuOS03LjcgNDkuMi0xMi44IDU4LjEtMTUuMSAxMiA1NS4xIDEyIDExMi4xIDAgMTY3LjJ6Il19LEdvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtb2R4IixpY29uOls0NDgsNTEyLFtdLCJmMjg1IiwiTTM1NiAyNDEuOGwzNi43IDIzLjcgMCAyMTQuNS0xMzMtODMuOCA5Ni4zLTE1NC40ek00NDAgNzVsLTIxMy43IDAtMjMgMzcuOCAxNTMuNSA5Ni41IDgzLjItMTM0LjN6TTM1MSAyMTcuOGwtMjk1LjgtMTg1LjggMCAyMTQuNSA0NiAyOSAyNDkuOC01Ny43ek05NyAyOTQuMkw4IDQzNyAyMjEuNyA0MzcgMzQ2LjcgMjM2LjUgOTcgMjk0LjJ6Il19LFlvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdGhyZWFkcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTYxOSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yOTQuMiAyNDQuM2MxOS41IDkuMyAzMy43IDIzLjUgNDEuMiA0MC45IDEwLjQgMjQuMyAxMS40IDYzLjktMjAuMiA5NS40LTI0LjIgMjQuMS01My41IDM1LTk1LjEgMzUuM2wtLjIgMGMtNDYuOC0uMy04Mi44LTE2LjEtMTA2LjktNDYuOC0yMS41LTI3LjMtMzIuNi02NS40LTMzLTExMy4xbDAtLjJjLjQtNDcuNyAxMS41LTg1LjcgMzMtMTEzLjEgMjQuMi0zMC43IDYwLjItNDYuNSAxMDYuOS00Ni44bC4yIDBjNDYuOSAuMyA4My4zIDE2IDEwOC4yIDQ2LjYgMTIuMyAxNS4xIDIxLjMgMzMuMyAyNyA1NC40bC0yNi45IDcuMmMtNC43LTE3LjItMTEuOS0zMS45LTIxLjQtNDMuNi0xOS40LTIzLjktNDguNy0zNi4xLTg3LTM2LjQtMzggLjMtNjYuOCAxMi41LTg1LjUgMzYuMi0xNy41IDIyLjMtMjYuNiA1NC40LTI2LjkgOTUuNSAuMyA0MS4xIDkuNCA3My4zIDI2LjkgOTUuNSAxOC43IDIzLjggNDcuNCAzNiA4NS41IDM2LjIgMzQuMy0uMyA1Ni45LTguNCA3NS44LTI3LjMgMjEuNS0yMS41IDIxLjEtNDcuOSAxNC4yLTY0LTQtOS40LTExLjQtMTcuMy0yMS4zLTIzLjMtMi40IDE4LTcuOSAzMi4yLTE2LjUgNDMuMi0xMS40IDE0LjUtMjcuNyAyMi40LTQ4LjQgMjMuNS0xNS43IC45LTMwLjgtMi45LTQyLjYtMTAuNy0xMy45LTkuMi0yMi0yMy4yLTIyLjktMzkuNS0xLjctMzIuMiAyMy44LTU1LjMgNjMuNS01Ny42IDE0LjEtLjggMjcuMy0uMiAzOS41IDEuOS0xLjYtOS45LTQuOS0xNy43LTkuOC0yMy40LTYuNy03LjgtMTcuMS0xMS44LTMwLjgtMTEuOWwtLjQgMGMtMTEgMC0yNiAzLjEtMzUuNiAxNy42bC0yMy0xNS44YzEyLjgtMTkuNCAzMy42LTMwLjEgNTguNS0zMC4xbC42IDBjNDEuOCAuMyA2Ni42IDI2LjMgNjkuMSA3MS44IDEuNCAuNiAyLjggMS4yIDQuMiAxLjlsLjEgLjV6bS03MS44IDY3LjVjMTctLjkgMzYuNC03LjYgMzkuNy00OC44LTguOC0xLjktMTguNi0yLjktMjktMi45LTMuMiAwLTYuNCAuMS05LjYgLjMtMjguNiAxLjYtMzguMSAxNS41LTM3LjQgMjcuOSAuOSAxNi43IDE5IDI0LjUgMzYuNCAyMy42bC0uMS0uMXoiXX0sWm90PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9sZC1yZXB1YmxpYyIsaWNvbjpbNTEyLDUxMixbXSwiZjUxMCIsIk0yNDMuOCAxMC4yYzcuNS0uMyAxNS0uMyAyMi41LS4xIDMuNiAuMSA3LjIgLjQgMTAuOCAuNyA0LjkgLjMgOS44IDEgMTQuNyAxLjYgMi45IC40IDUuOCAxIDguNyAxLjUgNy45IDEuMyAxNS43IDMuMyAyMy40IDUuNCAxMi4yIDMuNSAyNC4yIDcuOSAzNS44IDEzLjIgMjYuNiAxMi4yIDUwLjkgMjkuMiA3MS42IDQ5LjkgMjAgMjAuMSAzNi43IDQzLjUgNDguOSA2OS4yIDEuMSAyLjYgMi40IDUuMSAzLjUgNy43IDIuOCA2LjQgNS40IDEzIDcuNiAxOS42IDQuMSAxMi4zIDcuMyAyNSA5LjQgMzcuOCAuNiAzLjEgMSA2LjMgMS40IDkuNSAuNSAzLjggLjkgNy43IDEuMiAxMS42IC44IDguMyAuOCAxNi43IC44IDI1LjEtLjEgNS0uMyA5LjktLjcgMTQuOS0uMiAzLjQtLjUgNi44LTEgMTAuMS0uNCAyLjctLjYgNS41LTEuMSA4LjItLjkgNS4xLTEuNyAxMC4zLTIuOSAxNS40LTQuMSAxOC41LTEwLjMgMzYuNi0xOC41IDUzLjYtMTUuOCAzMi44LTM4LjggNjIuMi02Ny4xIDg1LjEtMTcuMyAxNC4xLTM2LjQgMjUuOS01Ni45IDM0LjktNi4yIDIuNy0xMi41IDUuMy0xOC45IDcuNC0zLjUgMS4yLTcgMi40LTEwLjYgMy40LTYuNiAxLjktMTMuMyAzLjYtMjAgNS00LjcgLjktOS4zIDEuNy0xNCAyLjUtNS4zIC43LTEwLjUgMS40LTE1LjggMS43LTYuNyAuNy0xMy40IC44LTIwLjEgLjgtNi44IDAtMTMuNi0uMS0yMC40LS44LTMuMy0uMi02LjYtLjUtOS44LTEtMi43LS40LTUuNS0uNi04LjItMS4xLTQuMS0uNy04LjItMS40LTEyLjQtMi4yLTQuMi0uOS04LjUtMS45LTEyLjctMy04LjYtMi4yLTE3LjEtNS0yNS40LTguMS0xMC41LTQuMS0yMC44LTguNy0zMC42LTE0LjItMi4xLTEuMi00LjMtMi4zLTYuNC0zLjYtMTEuMi02LjYtMjEuOS0xNC4xLTMxLjktMjIuMy0zNC43LTI4LjQtNjEuNC02Ni40LTc2LjQtMTA4LjctMy4xLTguNy01LjctMTcuNi03LjgtMjYuNy0xLjUtNi4yLTIuNS0xMi40LTMuNi0xOC43LS40LTIuMy0uNi00LjctMS03LjEtLjYtNC0uOC04LTEuMi0xMS45LS44LTkuNS0uNy0xOS0uNS0yOC41IC4xLTMuNSAuMy03IC43LTEwLjUgLjMtMy4yIC41LTYuNCAuOS05LjUgLjQtMi44IC43LTUuNiAxLjItOC40IC43LTMuOSAxLjMtNy45IDIuMS0xMS44IDMuNC0xNi41IDguNS0zMi43IDE1LjMtNDguMiAxLjItMi45IDIuNi01LjcgMy45LTguNiA4LjEtMTYuNyAxNy45LTMyLjYgMjkuNS00Ny4xIDIwLTI1LjQgNDUuMS00Ni43IDczLjMtNjIuNSA3LjUtNC4yIDE1LjItOCAyMy4xLTExLjQgMTUuOC02LjkgMzIuNC0xMiA0OS4zLTE1LjQgMy41LS43IDctMS4yIDEwLjYtMS44IDIuNi0uNSA1LjMtLjcgNy45LTEuMSAzLjUtLjUgNy4xLS43IDEwLjYtMSAyLjUtLjIgNC45LS40IDcuNC0uNXptOC42IDI0LjRjLTkuMiAuMS0xOC40IDEtMjcuNiAyLjItNy4zIDEuMS0xNC41IDIuNi0yMS43IDQuMy0xMy45IDMuNS0yNy41IDguMy00MC41IDE0LjQtMTAuNSA1LTIwLjYgMTAuNy0zMC4yIDE3LjItNC4yIDIuOS04LjQgNS44LTEyLjMgOS01LjEgNC0xMCA4LjItMTQuNyAxMi42LTIuNSAyLjItNC44IDQuNy03LjIgNy4xLTI4LjIgMjguOC00OC40IDY1LjQtNTcuNSAxMDQuNy0yIDguNC0zLjUgMTctNC40IDI1LjYtMS4xIDguOS0xLjQgMTcuOS0xLjQgMjYuOCAuMSA3LjEgLjQgMTQuMyAxLjIgMjEuNCAuNiA3LjEgMS45IDE0LjIgMy4yIDIxLjIgMS4xIDQuNiAyIDkuMyAzLjMgMTMuOSA2LjMgMjMuNCAxNi41IDQ1LjcgMzAuMSA2NS44IDguNiAxMyAxOC44IDI0LjkgMzAgMzUuOCAxNi4zIDE1LjggMzUgMjkgNTUuMyAzOS4yIDcuMyAzLjUgMTQuNyA2LjkgMjIuMyA5LjYgNSAxLjggMTAuMSAzLjYgMTUuMiA1IDExLjMgMy4yIDIyLjggNS42IDM0LjQgNy4xIDIuOSAuMyA1LjggLjYgOC43IC45IDEzLjggMS4xIDI3LjcgMSA0MS41LS40IDQuNC0uNiA4LjktMSAxMy4zLTEuOCAzLjYtLjcgNy4zLTEuMiAxMC45LTIuMSA0LjEtMSA4LjMtMS45IDEyLjQtMy4xIDI2LjUtNy4zIDUxLjYtMTkuNyA3My42LTM2LjIgMTUuOC0xMS44IDMwLTI1LjggNDIuMS00MS4zIDMuMy00IDYuMi04LjMgOS4xLTEyLjYgMy40LTUuMSA2LjYtMTAuMiA5LjYtMTUuNSAyLjQtNC40IDQuNy04LjkgNy0xMy40IDUuNy0xMi4xIDEwLjMtMjQuNiAxMy44LTM3LjUgMi42LTEwIDQuNy0yMC4yIDUuOS0zMC40IDEuOC0xMy41IDEuOS0yNy4xIDEuMy00MC43LS4zLTMuOS0uNy03LjgtMS0xMS43LTIuMi0xOS4xLTYuOC0zNy45LTEzLjgtNTUuOC02LTE1LjEtMTMuNS0yOS42LTIyLjYtNDMuMS0xMi43LTE4LjgtMjguMi0zNS43LTQ2LTQ5LjgtMjUtMjAtNTQuNS0zNC41LTg1LjYtNDIuMS03LjgtMS45LTE1LjctMy4zLTIzLjYtNC40LTMuOS0uNi03LjgtLjgtMTEuOC0xLjItNy40LS42LTE0LjgtLjctMjIuMi0uNnpNMTQ3LjMgODMuNWMxMy4zLTguOSAyOC4xLTE1LjQgNDMuMy0yMC4yLTMuMiAxLjgtNi40IDMuNC05LjUgNS4zLTExLjIgNi43LTIxLjUgMTQuOS0zMC40IDI0LjUtNi44IDcuNC0xMi44IDE1LjctMTcgMjQuOS0zLjMgNi45LTUuNiAxNC4yLTYuOSAyMS43LS45IDQuOC0xLjMgOS44LTEuMiAxNC44IC4xIDEzLjcgNC40IDI3LjEgMTEuMyAzOC44IDUuOSAxMC4yIDEzLjYgMTkuMyAyMi40IDI3LjMgNC45IDQuNCAxMC4yIDguMSAxNSAxMi42IDIuMyAyLjIgNC41IDQuNCA2LjQgNi45IDIuNiAzLjMgNC45IDcgNiAxMS4xIC45IDMgLjcgNi4yIC43IDkuMyAwIDQuMSAwIDguMiAwIDEyLjMgLjEgMy41IDAgNy4xIC4xIDEwLjYgLjEgMi40IDAgNC44IC4xIDcuMSAuMiA1LjggLjEgMTEuNSAuMSAxNy4zIC4xIDIuOSAwIDUuOCAuMSA4LjcgMCAxLjYgLjEgMy4zIDAgNC45LS45IC4xLTEuOCAuMi0yLjcgLjItMTEgMC0yMS45LTIuNi0zMi02LjktNi0yLjctMTEuOC01LjktMTcuMS05LjgtNS44LTQuMi0xMS4xLTktMTUuOC0xNC4zLTYuNS03LjItMTItMTUuNC0xNi42LTIzLjktMS4xLTItMi4yLTQtMy4yLTYuMS0xLjItMi42LTIuNi01LjEtMy43LTcuOC00LTkuNy02LjYtMTkuOS04LjEtMzAuMy0uNS00LjQtMS4xLTguOS0xLjItMTMuMy0uNy0xNS43IC44LTMxLjYgNC43LTQ2LjggMi4xLTguMiA0LjgtMTYuMiA4LjMtMjMuOCA2LjMtMTQuMiAxNS4zLTI3LjIgMjYuMy0zOC4yIDYuMy02LjIgMTMuMS0xMS44IDIwLjUtMTYuN3pNMzIyLjcgNjMuNGMyLjcgLjcgNS40IDEuNyA4LjEgMi43IDYuNCAyLjMgMTIuNyA0LjggMTguNyA4IDEzLjEgNi40IDI1LjMgMTQuOCAzNS44IDI1IDEwLjIgMTAgMTguNyAyMS42IDI1LjEgMzQuMyAxLjMgMi43IDIuNiA1LjUgMy44IDguMyA2LjMgMTUuMSAxMCAzMS4zIDExLjIgNDcuNiAuNCA0LjUgLjQgOS4xIC41IDEzLjYgLjEgMTEuNi0xLjUgMjMuMy00LjMgMzQuNS0yIDcuMy00LjMgMTQuNS03LjkgMjEuMi0zLjIgNi42LTYuNyAxMy4yLTEwLjggMTkuMi02LjkgMTAuNS0xNS42IDE5LjktMjUuOCAyNy4yLTEwLjUgNy42LTIyLjYgMTMtMzUuNCAxNS40LTMuNSAuNy03LjEgMS4xLTEwLjcgMS4yLTEuOCAuMS0zLjcgLjItNS42LS4xLS4zLTIuMSAwLTQuMyAwLTYuNSAwLTMuNyAuMS03LjQgLjEtMTEuMiAuMi03IDAtMTQuMSAuMi0yMS4xIDAtMi40IDAtNC44IDAtNy4xIC4yLTUuMSAwLTEwLjEgLjEtMTUuMiAuMS0zLS4yLTYgLjUtOSAuNy0yLjUgMS44LTQuOSAzLjEtNy4xIDQuNS03LjMgMTEuMS0xMyAxNy43LTE4LjMgNS40LTQuMiAxMC41LTguOCAxNS0xMy44IDcuNy04LjQgMTQuMi0xNy45IDE4LjgtMjguMyAyLjUtNS45IDQuNS0xMi4xIDUuNS0xOC41IC45LTQuNCAxLjEtOC44IDEtMTMuMyAwLTcuOC0xLjQtMTUuNi0zLjYtMjMuMi0xLjgtNS43LTQuMy0xMS4yLTcuMS0xNi40LTMuOS02LjktOC42LTEzLjMtMTQtMTkuMi05LjktMTAuOC0yMS44LTE5LjktMzQuNi0yNy4xLTEuOC0xLTMuOC0xLjgtNS42LTN6TTIyMS45IDEyMS45YzEtMS4yIDItMi4zIDMuMS0zLjQtLjYgLjktMS4zIDEuOC0yIDIuNy0zLjEgMy45LTUuNSA4LjMtNyAxMy4xLS45IDMuMy0xLjcgNi42LTEuNyAxMC0uMSAyLjUtLjEgNS4xIC4zIDcuNiAxLjEgNy42IDQuMyAxNC45IDguOCAyMS4xIDIgMi43IDQuMiA1LjMgNi45IDcuMyAxLjYgMS4zIDMuNSAyLjEgNS4zIDMgMy4xIDEuNyA2LjMgMy4yIDkuMSA1LjUgMi43IDIuMSA0LjYgNS4zIDQuNCA4LjggMCA3My43IDAgMTQ3LjMgMCAyMjEgMCAxLjQtLjEgMi43IDAgNCAuMSAxLjUgLjggMi44IDEuNSA0LjEgLjkgMS43IDEuOCAzLjMgMy4yIDQuNiAuOSAuOCAyIDEuNCAzLjIgMS4yIDEuNS0uMiAyLjctMS40IDMuNC0yLjYgMS0xLjUgMS43LTMuMiAyLjMtNC45IC44LTIuMSAuNC00LjQgLjUtNi42IC4xLTQgMC04LjEgLjEtMTIuMSAwLTUuOSAwLTExLjggLjEtMTcuNyAuMS0zLjYgMC03LjIgLjEtMTAuOSAuMi00IDAtOC4xIC4xLTEyLjEgMC02IDAtMTIgLjEtMTggLjEtMy42IDAtNy4yIC4xLTEwLjkgLjEtMy45IDAtNy45IC4xLTExLjggMC02IDAtMTIgLjEtMTggLjItMy45IDAtNy45IC4yLTExLjggLjMgMS40IC4xIDIuOSAuMiA0LjQgLjIgMy42IC40IDcuMiAuOCAxMC44IC4zIDMuNCAuNCA2LjkgLjkgMTAuMyAuNCAzLjEgLjUgNi4yIDEgOS4zIC42IDQuMSAuOSA4LjIgMS41IDEyLjMgMS41IDkgMi44IDE4LjEgNS4xIDI3IDEuMSA0LjggMi40IDkuNiA0IDE0LjMgMi41IDcuOSA1LjcgMTUuNyAxMC4zIDIyLjYgMS43IDIuNiAzLjkgNSA2LjEgNy4yIC4zIC4yIC42IC41IC45IC43IC42IC4zIDEuMy0uMSAxLjctLjYgLjctLjkgMS4yLTEuOSAxLjctMi45IDQuMS03LjggOC4yLTE1LjYgMTIuMy0yMy4zIC43LTEuMyAxLjQtMi42IDIuNi0zLjYgMS44LTEuNiAzLjgtMi43IDYtMy42IDIuOS0xLjIgNS45LTIuMiA5LTIuNCA2LjYtLjYgMTMuMSAuNyAxOS42IDEuOCAzLjcgLjYgNy40IDEuMiAxMS4xIDEuNCAzLjcgLjEgNy41IC4xIDExLjItLjMgOC42LS45IDE3LTMgMjQuOS02LjIgNS4zLTIuMiAxMC41LTQuOCAxNS4zLTcuOSAxMS41LTcuMiAyMS41LTE2LjYgMzAtMjcgMS4yLTEuNCAyLjItMi45IDMuNS00LjMtMS4yIDMuMi0yLjcgNi40LTQuMiA5LjUtMS4zIDIuOS0yLjggNS42LTQuMyA4LjQtNS4yIDkuNi0xMSAxOC45LTE3LjggMjcuNS00IDUuMi04LjUgMTAuMS0xMy4zIDE0LjYtNi42IDYuMS0xNC4xIDExLjQtMjIuNCAxNC44LTguMiAzLjQtMTcuMyA0LjYtMjYuMSAzLjMtMy42LS42LTctMS43LTEwLjQtMi45LTIuOC0xLTUuNC0yLjQtOC0zLjctMy40LTEuNy02LjYtMy44LTkuNy02LjEgMi43IDMuMSA1LjcgNS45IDguNyA4LjYgNC4zIDMuOCA4LjcgNy4zIDEzLjYgMTAuMiA0IDIuNSA4LjMgNC40IDEyLjggNS41IDEuNSAuNCAzIC41IDQuNSAuNi0xLjMgMS4xLTIuNiAyLTQgMy05LjYgNi41LTIwIDExLjktMzAuNyAxNi40LTIwLjkgOC43LTQzLjIgMTQtNjUuNyAxNS4zLTQuNyAuMi05LjMgLjQtMTQgLjQtNS0uMS0xMC0uMS0xNC45LS43LTExLjItLjgtMjIuMy0yLjctMzMuMi01LjQtMTAuNC0yLjctMjAuNi02LjEtMzAuMy0xMC42LTguNy0zLjktMTcuMS04LjQtMjUtMTMuOC0xLjgtMS4zLTMuNy0yLjUtNS40LTQuMSA2LjYtMS4yIDEzLTMuNCAxOS02LjUgNS43LTIuOSAxMS02LjcgMTUuNi0xMS4xIDIuMi0yLjIgNC4zLTQuNiA2LjItNy4xLTMuNCAyLjEtNi45IDQuMi0xMC42IDUuOC00LjQgMi4yLTkuMSAzLjgtMTMuOCA1LTUuNyAxLjUtMTEuNyAxLjctMTcuNiAxLjEtOC4xLTEtMTUuOS00LjMtMjIuNS05LTQuMy0yLjktOC4yLTYuNC0xMi0xMC4xLTkuOS0xMC4yLTE4LjItMjEuOC0yNS43LTMzLjktMy45LTYuMy03LjUtMTIuNy0xMS4xLTE5LjItMS0yLTIuMS00LjEtMy4yLTYuMSAyLjggMi45IDUuNiA2IDguNCA4LjkgMTkuMiAxOS4yIDM3LjYgMzIuMyA1My43IDM1LjUgMy4xIC43IDYuMyAuNSA5LjUgLjggMi44IC4zIDUuNiAuMiA4LjMgLjMgNSAuMSAxMC4xIDAgMTUuMi0uMiAzLjYtLjIgNy4zLS43IDEwLjktMS4xIDIuMS0uMiA0LjEtLjcgNi4xLTEuMiAzLjktMSA4LjEtMSAxMS44IC42IDQuOCAxLjggOC40IDUuNiAxMS40IDkuNyAyLjIgMyA0LjEgNi4yIDUuNyA5LjYgMS4yIDIuNCAyLjUgNC44IDMuNiA3LjMgMSAyLjIgMi4yIDQuNCAzLjQgNi41IC43IDEgMS40IDIuMiAyLjYgMi42IDEuMS0uOCAxLjctMS45IDIuMy0zIDIuMS00LjIgMy40LTguNiA0LjktMTMgMi02LjYgMy44LTEzLjMgNS4yLTIwIDIuMi05LjMgMy4yLTE4LjcgNC41LTI4LjEgLjYtNCAuOC04IDEuMy0xMiAuOS0xMC42IDEuOS0yMS4zIDIuMi0zMS45IC4xLTEuOSAuMi0zLjcgLjMtNS42IDAtNC4zIC4yLTguNyAuMi0xMyAwLTIuNCAwLTQuOCAwLTcuMSAwLTUuMS0uMi0xMC4xLS4yLTE1LjItLjItNi42LS43LTEzLjItMS4zLTE5LjgtLjctNS45LTEuNS0xMS44LTMuMS0xNy41LTItNy43LTUuNi0xNS05LjgtMjEuOC0zLjItNS4xLTYuOC05LjktMTEuMS0xNC0zLjktMy45LTguNi03LjEtMTMuOS04LjQtMS41LS40LTMuMS0uNC00LjYtLjYgLjEtMyAuNy01LjkgMS4zLTguOCAxLjYtNy43IDMuOC0xNS4zIDYuOC0yMi42IDEuNS00IDMuNC03LjkgNS40LTExLjcgMy40LTYuNiA3LjYtMTIuOCAxMi41LTE4LjV6bTMxLjMgMS43Yy40LS4xIC43LS4xIDEuMS0uMiAuMiAxLjggLjEgMy42IC4xIDUuNGwwIDM4LjFjMCAxLjcgLjEgMy41LS4yIDUuMi0uNCAwLS43IDAtMS4xIDAtLjktMy44LTEuNy03LjYtMi42LTExLjMtLjQtMS41LS42LTMuMS0xLjEtNC42LTEuNy0uMi0zLjQtLjItNS4yLS4yLTUuMSAwLTEwLjEgMC0xNS4yIDAtMS43IDAtMy4zIC4xLTUgMCAwLS40LS4zLS45IC4yLTEuMiAxLjMtLjcgMi43LS45IDQuMS0xLjQgMy40LTEuMSA2LjktMi4yIDEwLjMtMy4zIDEuNC0uNSAyLjktLjcgNC4yLTEuNSAwLS42IDAtMS4xIDAtMS43LTEuMi0uNi0yLjUtLjktMy44LTEuMy0zLjEtMS02LjMtMi05LjQtMy0xLjgtLjYtMy43LTEtNS40LTEuOCAwLS40LS4xLS43LS4xLTEuMSA1LjEtLjIgMTAuMiAuMSAxNS4zLS4xIDMuNC0uMSA2LjcgLjEgMTAuMS0uMSAuMS0uNCAuMy0uOCAuNC0xLjIgMS4xLTQuOSAyLjMtOS44IDMuNC0xNC43em02LS4yYy40IDAgLjcgLjEgMS4xIC4yIDEgMy44IDEuNyA3LjggMi43IDExLjYgLjQgMS40IC42IDIuOSAxIDQuMyAyLjUgLjIgNS4xIDAgNy42IDAgNS4yIC4xIDEwLjMgLjEgMTUuNSAuMSAuOCAwIDEuNSAwIDIuMyAuMSAwIC40LS4xIC43LS4xIDEuMS0xLjggLjgtMy44IDEuMi01LjcgMS45LTMuNyAxLjItNy41IDIuNC0xMS4yIDMuNi0uNiAuMi0xLjEgLjQtMS43IC42LS4yIC42LS4yIDEuMS0uMSAxLjcgLjkgLjUgMS44IC44IDIuOCAxLjEgNC45IDEuNSA5LjcgMy4xIDE0LjYgNC42IC40IC4xIC44IC4zIDEuMSAuNSAuNCAuMyAuMiAuOCAuMiAxLjItMS43IC4xLTMuMyAwLTUgMC01LjIgMC0xMC4zIDAtMTUuNSAwLTEuNiAwLTMuMiAwLTQuOCAuMi0uNSAxLjctLjcgMy40LTEuMiA1LjEtLjkgMy42LTEuNSA3LjItMi41IDEwLjgtLjQgMC0uNyAwLTEuMSAuMS0uMy0xLjctLjItMy41LS4yLTUuMmwwLTM4LjFjMC0xLjgtLjEtMy42IC4xLTUuNHptLTE4NiA0NWMxLjEtMi4yIDIuMS00LjQgMy40LTYuNS0xLjggNy42LTIuOSAxNS4zLTMuNiAyMy0uOCA3LjctLjggMTUuNS0uNSAyMy4yIDEuMSAxOS45IDUuNSAzOS44IDE0LjIgNTcuOSAzIDYgNi40IDExLjggMTAuNSAxNy4xIDYuMSA3LjUgMTIuNSAxNC44IDE5LjggMjEuMSA0LjggNC4xIDEwIDcuOCAxNS41IDEwLjggMy4zIDEuNyA2LjUgMy40IDkuOSA0LjcgNSAyIDEwLjIgMy42IDE1LjQgNC45IDMuOCAxIDcuOCAxLjQgMTEuNSAyLjcgNSAxLjYgOS41IDQuNiAxMyA4LjQgNC45IDUuMiA4LjEgMTEuOSAxMC4yIDE4LjcgMSAyLjkgMS42IDUuOSAyLjIgOC45IC4yIC44IC4yIDEuNSAuMiAyLjMtNi41IDIuOC0xMy4zIDUuMS0yMC4zIDYuMi00LjEgLjgtOC4zIDEtMTIuNSAxLjEtMTAuMiAuMi0yMC41LTEuOC0zMC4xLTUuMS0zLjctMS40LTcuNS0yLjktMTEtNC43LTguMS0zLjgtMTUuNi04LjctMjIuNS0xNC41LTIuOS0yLjYtNS44LTUuMS04LjQtOC05LjItOS44LTE2LjMtMjEuNC0yMS44LTMzLjctMi40LTUuNS00LjYtMTEuMi02LjQtMTctMS4yLTMuOS0yLjQtNy45LTMuMy0xMS45LS43LTIuOS0xLjItNS45LTEuOS04LjktLjUtMi4xLS43LTQuMy0xLTYuNS0uOC01LjQtMS4zLTEwLjktMS4zLTE2LjQgLjEtNi4yIC4yLTEyLjQgMS4xLTE4LjUgLjQtMi45IC43LTUuNyAxLjItOC42IDEtNS43IDIuMS0xMS40IDMuNy0xNi45IDMuMS0xMS42IDcuNS0yMyAxMi43LTMzLjh6bTM2My43LTYuNGMxLjEgMS43IDEuOSAzLjUgMi44IDUuMyAyLjEgNC41IDQuMiA4LjkgNiAxMy41IDcuNiAxOC44IDEyLjMgMzguOCAxMyA1OSAwIDEuOCAuMSAzLjUgLjEgNS4zIC4xIDkuNi0xLjMgMTkuMS0zLjIgMjguNS0uNyAzLjYtMS41IDcuMi0yLjYgMTAuNy00IDE0LjctMTAgMjktMTguNCA0MS44LTguMiAxMi42LTE5IDIzLjUtMzEuOCAzMS40LTUuNyAzLjYtMTEuOCA2LjYtMTggOS4yLTUuOCAyLjItMTEuNyA0LTE3LjggNS4xLTYuNCAxLTEyLjkgMS41LTE5LjQgMS4yLTcuOS0uNS0xNS44LTIuMS0yMy4yLTQuOC0xLjktLjgtMy45LTEuNS01LjgtMi4zLS4yLTEuNSAuMi0zIC41LTQuNSAxLjItNS43IDMtMTEuNCA1LjctMTYuNiAyLjQtNC41IDUuNS04LjcgOS41LTExLjkgMi40LTIuMSA1LjItMy42IDguMi00LjggMy42LTEuNSA3LjUtMiAxMS4yLTIuOCA3LjItMS43IDE0LjQtMy45IDIxLjItNyAxMC4zLTQuNyAxOS43LTExLjQgMjcuNi0xOS41IDEuNi0xLjYgMy4yLTMuMiA0LjctNC45IDMuNC0zLjggNi43LTcuNiA5LjgtMTEuNSA3LjUtMTAuMSAxMi44LTIxLjYgMTYuNy0zMy41IDEuNi01LjMgMy4yLTEwLjYgNC4yLTE2LjEgLjYtMi45IDEtNS44IDEuNS04LjcgLjktNi4xIDEuNi0xMi4yIDEuNy0xOC40IC4xLTYuNiAuMS0xMy4zLS41LTE5LjktLjctOC0xLjktMTYtMy43LTIzLjh6Il19LFhvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdXNlIixpY29uOls2NDAsNTEyLFtdLCJmN2Q2IiwiTTYwNC41IDIxMGExMC40IDEwLjQgMCAxIDEgLTExLjQtMTcuNCAxMC40IDEwLjQgMCAxIDEgMTEuNCAxNy40ek02MjEgMTg3LjJhMzguNSAzOC41IDAgMSAxIC03NSAxNy42IDM4LjUgMzguNSAwIDEgMSA3NS0xNy42ek00MzMuNyAzMzYuN2MzLjIgNC42IDUuOCA5IDcuMyAxMy40IDEgMy4xIDIuNCA3LjMgNS41IDguOSAuMiAuMSAuMyAuMiAuNSAuMiA1LjcgMi4xIDIwLjMgMS43IDIwLjMgMS43bDI2LjggMGMyLjMgMCAyMi40IDAgMjEuOS0yLjMtMi40LTEwLjgtMTQuOS0xMi43LTI0LjQtMTguMy04LjctNS4yLTE3LTExLjEtMjAuOC0yMS4zLTItNS4yLS44LTE3LjQgMi42LTIxLjggMi41LTMuMiA2LjEtNS4zIDEwLTYuMiA0LjMtLjkgOC44LS4xIDEzLjEgLjMgNS4zIC41IDEwLjYgMS41IDE1LjkgMi4yIDEwLjMgMS4zIDIwLjYgMS45IDMxIDEuNiAxNy4xLS41IDM0LjItMy4yIDUwLjQtOC43IDExLjMtMy44IDIyLjQtOC45IDMyLTE2LjEgMTAuOS04LjEgOC4xLTcuNC0zLTYuMi0xMy4zIDEuNC0yNi42IDEuNi0zOS45IC44LTEyLjQtLjctMjQuNy0yLjItMzUuOS03LjktOC44LTQuNi0xNi40LTkuMS0yMy40LTE2LjItMS0xLjEtMS43LTQuMiAuMi02LjIgMS45LTEuOSA1LjgtLjggNyAuMiAxMi4yIDEwLjIgMzAuNSAxOC42IDQ5LjMgMTkuNSAxMC4yIC41IDIwLjEgLjcgMzAuNCAuMyA1LjEtLjIgMTIuOC0uMiAxNy45LS4zIDIuNiAwIDkuOCAuNyAxMS4yLTIuMSAuNC0uOCAuNC0xLjggLjMtMi43LTEuNS00MC45LTQuNS04Ni45LTQ3LjMtMTA2LjUtMzEuOS0xNC42LTc5LjctMzcuMi05OS45LTQ2LjYtNC43LTIuMi0xMC4yIDEuMy0xMC4yIDYuNSAwIDEzLjYgLjcgMzMuMyAuNyA1MS4xLTkuNy05LjktMjYtMTYuMS0zOC40LTIxLjgtMTQuMS02LjUtMjguNy0xMi00My41LTE2LjYtMjkuOC05LjItNjAuNy0xNC45LTkxLjctMTgtMzUuMi0zLjUtNzEtMS44LTEwNS43IDUuMy01Ni45IDEyLjItMTEzLjEgMzkuNy0xNTUuNyA3OS44LTI2LjEgMjQuNi00Ni42IDU5LjctNDggOTUuMi0yIDUwLjMgMTIuMSA3Ny4zIDM4IDEwNS4yIDQxLjMgNDQuNCAxMzAuMiA1MC42IDE2Ni4yLTIgMTYuMi0yMy43IDE5LjctNTUuOCA4LTgyLTExLjgtMjYuMi0zOC44LTQ1LjEtNjcuNC00Ni0yMi4yLS43LTQ1LjkgMTAuNi01NC41IDMxLjEtNi41IDE1LjctMi44IDM1LjEgOSA0Ny4zIDQuNiA0LjggMTAuOSA4LjcgMTcuNyA3LjEgNC0uOSA3LjQtMy45IDgtOCAuOS02LTQuNC05LjktNy42LTE0LjUtNS44LTguMy00LjctMjAuOSAyLjctMjcuOSA2LjItNiAxNS4zLTcuOCAyMy45LTcuNyA4IDAgMTYuMiAxLjQgMjMuMSA1LjUgOS43IDUuNyAxNi4yIDE2LjIgMTguNCAyNy4yIDYuNyAzMy0yMC4yIDU5LjktNTYuNiA2Mi0xOC42IDEuMS0zNy42LTMuOC01Mi4xLTE1LjUtMzYuOS0yOS44LTQ1LjktOTAuMy0zLjgtMTIyLjcgNDAtMzAuNyA5MC40LTIyLjggMTIwLjItNi44IDIzLjggMTIuOCA0MS41IDMzLjYgNTUgNTYuNyA2LjcgMTEuNiAxMi41IDIzLjcgMTcuOCAzNi4xIDUuMSAxMS44IDkuOSAyMy44IDIwLjIgMzIuNSA2LjggNS44IDE1LjIgNS42IDI0LjEgNS42bDUwLjggMGM2LjkgMCA1LjItNC42IDIuMi03LjctNi43LTYuOS0xNi40LTguNC0yNS40LTEwLjktMjAuNS01LjYtMTguNC0zMi44LTEyLjctMzIuOCAxOC4zIDAgMTguOSAuNiAzNC45IC4zIDIzLjItLjMgMzAuMi0xLjcgNDguMyA1IDkuNyAzLjYgMTkgMTMuMSAyNS4xIDIxLjd6Il19LFFvdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHAtc3RvcmUtaW9zIixpY29uOls0NDgsNTEyLFtdLCJmMzcwIiwiTTQwMCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDM1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0xMjcgMzg0LjVjLTUuNSA5LjYtMTcuOCAxMi44LTI3LjMgNy4zLTkuNi01LjUtMTIuOC0xNy44LTcuMy0yNy4zbDE0LjMtMjQuN2MxNi4xLTQuOSAyOS4zLTEuMSAzOS42IDExLjRMMTI3IDM4NC41em0xMzguOS01My45TDg0IDMzMC42Yy0xMSAwLTIwLTktMjAtMjBzOS0yMCAyMC0yMGw1MSAwIDY1LjQtMTEzLjItMjAuNS0zNS40Yy01LjUtOS42LTIuMi0yMS44IDcuMy0yNy4zIDkuNi01LjUgMjEuOC0yLjIgMjcuMyA3LjNsOC45IDE1LjQgOC45LTE1LjRjNS41LTkuNiAxNy44LTEyLjggMjcuMy03LjMgOS42IDUuNSAxMi44IDE3LjggNy4zIDI3LjNsLTg1LjggMTQ4LjYgNjIuMSAwYzIwLjIgMCAzMS41IDIzLjcgMjIuNyA0MHptOTguMSAwbC0yOSAwIDE5LjYgMzMuOWM1LjUgOS42IDIuMiAyMS44LTcuMyAyNy4zLTkuNiA1LjUtMjEuOCAyLjItMjcuMy03LjMtMzIuOS01Ni45LTU3LjUtOTkuNy03NC0xMjguMS0xNi43LTI5LTQuOC01OCA3LjEtNjcuOCAxMy4xIDIyLjcgMzIuNyA1Ni43IDU4LjkgMTAybDUyIDBjMTEgMCAyMCA5IDIwIDIwIDAgMTEuMS05IDIwLTIwIDIweiJdfSxKb3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidWx0cmFseXRpY3MteW9sbyIsaWNvbjpbNTEyLDUxMixbXSwiZTg2ZiIsIk0zODMuNSAxMC44YzYxLjgtLjIgMTEyLjMgNTAuNiAxMTIuMyAxMTIuOS0uMiAyLjcgMCAwLS4xIDMuM2wuMyAuM2MtMS41IDg5LjktNTMgMTY4LjQtMTI3LjQgMjA4LjVsMCA1Mi44YzAgNjIuNi01MS4xIDExMy41LTExMy43IDExMi45LTYyLS42LTExMS40LTUyLjItMTExLjQtMTE0LjNsMC01MS4yYy00MC43LTIxLjktNzQuNS01NS4yLTk3LTk1LjYgMjMuMiAxNi41IDUxLjcgMjYgODIgMjUuOSA3OC42LS4yIDE0Mi4yLTY0IDE0Mi4zLTE0Mi41IC4xLTYyLjMgNTAuNS0xMTIuNyAxMTIuOS0xMTIuOXptLTI1NSAyMjUuOGExMTIuOSAxMTIuOSAwIDEgMSAwLTIyNS44IDExMi45IDExMi45IDAgMSAxIDAgMjI1Ljh6Il19LEUxZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZHJpYmJibGUiLGljb246WzQ0OCw1MTIsWyJkcmliYmJsZS1zcXVhcmUiXSwiZjM5NyIsIk0xNjUuOSAxMzIuNWMtMzguMyAxOC02Ni44IDUzLjMtNzUuNyA5NS43IDYuMSAuMSA2Mi40IC4zIDEyNi40LTE2LjctMjIuNy00MC4yLTQ3LjEtNzQuMS01MC43LTc5em0yNi4xLTkuMWMzLjggNS4xIDI4LjYgMzguOSA1MSA4MCA0OC42LTE4LjMgNjkuMS00NS45IDcxLjYtNDkuNC0zMy42LTI5LjgtNzkuMy00MS4xLTEyMi42LTMwLjZ6TTI3Ny40IDM4MmMtMi0xMi0xMC01My44LTI5LjItMTAzLjYtNTUuMSAxOC44LTkzLjggNTYuNC0xMDguMSA4NS42IDQwLjUgMzEuNiA5My4zIDM2LjcgMTM3LjMgMTh6TTIyNy44IDIzMi42QzE1OS42IDI1MyA5My40IDI1Mi4yIDg3LjQgMjUybDAgNC4yYzAgMzUuMSAxMy4zIDY3LjEgMzUuMSA5MS40IDIyLjItMzcuOSA2Ny4xLTc3LjkgMTE2LjUtOTEuOC0zLjQtNy44LTcuMi0xNS41LTExLjEtMjMuMmwtLjEgMHptNzIuNSAxMzYuOWMzMC43LTIwLjcgNTIuNS01My42IDU4LjYtOTEuNi00LjYtMS41LTQyLjMtMTIuNy04NS4xLTUuOCAxNy45IDQ5LjEgMjUuMSA4OS4xIDI2LjUgOTcuNHptLTM0LjgtMTE5YzQ1LjUtNS43IDkwLjcgMy40IDk1LjIgNC40LS4zLTMyLjMtMTEuOC02MS45LTMwLjktODUuMS0yLjkgMy45LTI1LjggMzMuMi03Ni4zIDUzLjkgNC44IDkuOCA4LjMgMTcuOCAxMiAyNi44ek0zODQgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NHpNMjI0IDk2YTE2MCAxNjAgMCAxIDEgMCAzMjAgMTYwIDE2MCAwIDEgMSAwLTMyMHoiXX0sS290PUUxZSxlMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidWlraXQiLGljb246WzQ0OCw1MTIsW10sImY0MDMiLCJNNDQzLjkgMTI4bDAgMjU2LTIyNS45IDEyOC0yMTgtMTI4IDAtMjE0LjMgODcuNiA0NS4xIDAgMTE3IDEzMy41IDc1LjUgMTM1LjgtNzUuNSAwLTE1MS0xMDEuMS01Ny42IDg3LjYtNTMuMSAxMDAuNSA1Ny45ek0zMDguNiA0OS4xbC04NC44LTQ5LjEtODguNiA1NC44IDg2IDQ3LjMgODcuNC01M3oiXX0sdDJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN1cGVycG93ZXJzIixpY29uOls0NDgsNTEyLFtdLCJmMmRkIiwiTTQ0OCAzMmMtODMuMyAxMS0xNjYuOCAyMi0yNTAgMzMtOTIgMTIuNS0xNjMuMyA4Ni43LTE2OSAxODAtMy4zIDU1LjUgMTggMTA5LjUgNTcuOCAxNDguMkwwIDQ4MGM4My4zLTExIDE2Ni41LTIyIDI0OS44LTMzIDkxLjgtMTIuNSAxNjMuMy04Ni44IDE2OC43LTE3OS44IDMuNS01NS41LTE4LTEwOS41LTU3LjctMTQ4LjJMNDQ4IDMyek0zNjguMyAyNjQuM2MtNC4yIDc5LjUtNzQgMTM5LjItMTUyLjggMTM0LjUtNzkuNS00LjctMTQwLjctNzEtMTM2LjMtMTUxIDQuNS03OS4yIDc0LjMtMTM5LjMgMTUzLTEzNC41IDc5LjMgNC43IDE0MC41IDcxIDEzNi4xIDE1MXoiXX0scjJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InlvdXR1YmUiLGljb246WzU3Niw1MTIsWzYxODAyXSwiZjE2NyIsIk01NDkuNyAxMjQuMUM1NDMuNSAxMDAuNCA1MjQuOSA4MS44IDUwMS40IDc1LjUgNDU4LjkgNjQgMjg4LjEgNjQgMjg4LjEgNjRTMTE3LjMgNjQgNzQuNyA3NS41QzUxLjIgODEuOCAzMi43IDEwMC40IDI2LjQgMTI0LjEgMTUgMTY3IDE1IDI1Ni40IDE1IDI1Ni40czAgODkuNCAxMS40IDEzMi4zYzYuMyAyMy42IDI0LjggNDEuNSA0OC4zIDQ3LjggNDIuNiAxMS41IDIxMy40IDExLjUgMjEzLjQgMTEuNXMxNzAuOCAwIDIxMy40LTExLjVjMjMuNS02LjMgNDItMjQuMiA0OC4zLTQ3LjggMTEuNC00Mi45IDExLjQtMTMyLjMgMTEuNC0xMzIuM3MwLTg5LjQtMTEuNC0xMzIuM3pNMjMyLjIgMzM3LjZsMC0xNjIuNCAxNDIuNyA4MS4yLTE0Mi43IDgxLjJ6Il19LGEydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbWJlciIsaWNvbjpbNjQwLDUxMixbXSwiZjQyMyIsIk02MzkuOSAyNTQuNmMtMS4xLTEwLjctMTAuNy02LjgtMTAuNy02LjhzLTE1LjYgMTIuMS0yOS4zIDEwLjdjLTEzLjctMS4zLTkuNC0zMi05LjQtMzJzMy0yOC4xLTUuMS0zMC40Yy04LjEtMi40LTE4IDcuMy0xOCA3LjNzLTEyLjQgMTMuNy0xOC4zIDMxLjJsLTEuNiAuNXMxLjktMzAuNi0uMy0zNy42Yy0xLjYtMy41LTE2LjQtMy4yLTE4LjggM3MtMTQuMiA0OS4yLTE1IDY3LjJjMCAwLTIzLjEgMTkuNi00My4zIDIyLjhzLTI1LTkuNC0yNS05LjQgNTQuOC0xNS4zIDUyLjktNTkuMS00NC4yLTI3LjYtNDktMjRjLTQuNiAzLjUtMjkuNCAxOC40LTM2LjYgNTkuNy0uMiAxLjQtLjcgNy41LS43IDcuNXMtMjEuMiAxNC4yLTMzIDE4YzAgMCAzMy01NS42LTcuMy04MC45LTExLjQtNi44LTIxLjMtLjUtMjcuMiA1LjMgMTMuNi0xNy4zIDQ2LjQtNjQuMiAzNi45LTEwNS4yLTUuOC0yNC40LTE4LTI3LjEtMjkuMi0yMy4xLTE3IDYuNy0yMy41IDE2LjctMjMuNSAxNi43cy0yMiAzMi0yNy4xIDc5LjUtMTIuNiAxMDUuMS0xMi42IDEwNS4xLTEwLjUgMTAuMi0yMC4yIDEwLjctNS40LTI4LjctNS40LTI4LjcgNy41LTQ0LjYgNy01Mi4xLTEuMS0xMS42LTkuOS0xNC4yYy04LjktMi43LTE4LjUgOC42LTE4LjUgOC42cy0yNS41IDM4LjctMjcuNyA0NC42bC0xLjMgMi40LTEuMy0xLjZzMTgtNTIuNyAuOC01My41LTI4LjUgMTguOC0yOC41IDE4LjgtMTkuNiAzMi44LTIwLjQgMzYuNWwtMS4zLTEuNnM4LjEtMzguMiA2LjQtNDcuNmMtMS42LTkuNC0xMC41LTcuNS0xMC41LTcuNXMtMTEuMy0xLjMtMTQuMiA1LjktMTMuNyA1NS4zLTE1IDcwLjdjMCAwLTI4LjIgMjAuMi00Ni44IDIwLjQtMTguNSAuMy0xNi43LTExLjgtMTYuNy0xMS44czY4LTIzLjMgNDkuNC02OS4yYy04LjMtMTEuOC0xOC0xNS41LTMxLjctMTUuMy0xMy43IC4zLTMwLjMgOC42LTQxLjMgMzMuMy01LjMgMTEuOC02LjggMjMtNy44IDMxLjUgMCAwLTEyLjMgMi40LTE4LjgtMi45cy0xMCAwLTEwIDAtMTEuMiAxNC0uMSAxOC4zIDI4LjEgNi4xIDI4LjEgNi4xYzEuNiA3LjUgNi4yIDE5LjUgMTkuNiAyOS43IDIwLjIgMTUuMyA1OC44LTEuMyA1OC44LTEuM2wxNS45LTguOHMuNSAxNC42IDEyLjEgMTYuNyAxNi40IDEgMzYuNS00Ny45YzExLjgtMjUgMTIuNi0yMy42IDEyLjYtMjMuNmwxLjMtLjNzLTkuMSA0Ni44LTUuNiA1OS43QzE4Ny43IDMxOS40IDIwMyAzMTggMjAzIDMxOHM4LjMgMi40IDE1LTIxLjIgMTkuNi00OS45IDE5LjYtNDkuOWwxLjYgMHMtNS42IDQ4LjEgMyA2My43IDMwLjkgNS4zIDMwLjkgNS4zIDE1LjYtNy44IDE4LTEwLjJjMCAwIDE4LjUgMTUuOCA0NC42IDEyLjkgNTguMy0xMS41IDc5LjEtMjUuOSA3OS4xLTI1LjlzMTAgMjQuNCA0MS4xIDI2LjdjMzUuNSAyLjcgNTQuOC0xOC42IDU0LjgtMTguNnMtLjMgMTMuNSAxMi4xIDE4LjYgMjAuNy0yMi44IDIwLjctMjIuOGwyMC43LTU3LjIgMS45IDBzMS4xIDM3LjMgMjEuNSA0My4yIDQ3LTEzLjcgNDctMTMuNyA2LjQtMy41IDUuMy0xNC4zem0tNTc4IDUuM2MuOC0zMiAyMS44LTQ1LjkgMjktMzkgNy4zIDcgNC42IDIyLTkuMSAzMS40LTEzLjcgOS41LTE5LjkgNy42LTE5LjkgNy42ek0zMzQuNyAxMzYuMXMxOS4xLTQ5LjcgMjMuNi0yNS41LTQwIDk2LjItNDAgOTYuMmMuNS0xNi4yIDE2LjQtNzAuNyAxNi40LTcwLjd6bTIyLjggMTM4LjRjLTEyLjYgMzMtNDMuMyAxOS42LTQzLjMgMTkuNnMtMy41LTExLjggNi40LTQ0LjkgMzMuMy0yMC4yIDMzLjMtMjAuMiAxNi4yIDEyLjQgMy42IDQ1LjV6bTg0LjYtMTQuNnMtMy0xMC41IDguMS0zMC42YzExLTIwLjIgMTkuNi05LjEgMTkuNi05LjFzOS40IDEwLjItMS4zIDI1LjUtMjYuNCAxNC4yLTI2LjQgMTQuMnoiXX0saTJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJvb3RzdHJhcCIsaWNvbjpbNTc2LDUxMixbXSwiZjgzNiIsIk0zMzMuNSAyMDEuNGMwLTIyLjEtMTUuNi0zNC4zLTQzLTM0LjNsLTUwLjQgMCAwIDcxLjIgNDIuNSAwYzMyLjgtLjEgNTAuOS0xMy4zIDUwLjktMzYuOXpNNTE3IDE4OC42Yy05LjUtMzAuOS0xMC45LTY4LjgtOS44LTk4LjEgMS4xLTMwLjUtMjIuNy01OC41LTU0LjctNTguNUwxMjMuNyAzMmMtMzIuMSAwLTU1LjggMjguMS01NC43IDU4LjUgMSAyOS4zLS4zIDY3LjItOS44IDk4LjEtOS42IDMxLTI1LjcgNTAuNi01Mi4yIDUzLjFsMCAyOC41YzI2LjQgMi41IDQyLjYgMjIuMSA1Mi4yIDUzLjEgOS41IDMwLjkgMTAuOSA2OC44IDkuOCA5OC4xLTEuMSAzMC41IDIyLjcgNTguNSA1NC43IDU4LjVsMzI4LjcgMGMzMi4xIDAgNTUuOC0yOC4xIDU0LjctNTguNS0xLTI5LjMgLjMtNjcuMiA5LjgtOTguMSA5LjYtMzEgMjUuNy01MC42IDUyLjEtNTMuMWwwLTI4LjVjLTI2LjMtMi41LTQyLjUtMjIuMS01Mi01My4xek0zMDAuMiAzNzUuMWwtOTcuOSAwIDAtMjM4LjMgOTcuNCAwYzQzLjMgMCA3MS43IDIzLjQgNzEuNyA1OS40IDAgMjUuMy0xOS4xIDQ3LjktNDMuNSA1MS44bDAgMS4zYzMzLjIgMy42IDU1LjUgMjYuNiA1NS41IDU4LjMgMCA0Mi4xLTMxLjMgNjcuNS04My4yIDY3LjV6bS0xMC0xMDguN2wtNTAuMSAwIDAgNzguNCA1Mi4zIDBjMzQuMiAwIDUyLjMtMTMuNyA1Mi4zLTM5LjUgMC0yNS43LTE4LjYtMzguOS01NC41LTM4Ljl6Il19LG4ydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpdHVuZXMiLGljb246WzQ0OCw1MTIsW10sImYzYjQiLCJNMjIzLjYgODAuM2ExNzEuMyAxNzEuMyAwIDEgMCAuMiAzNDIuNSAxNzEuMyAxNzEuMyAwIDEgMCAtLjItMzQyLjV6bTc5LjQgMjQwYy0zLjIgMTMuNi0xMy41IDIxLjItMjcuMyAyMy44LTEyLjEgMi4yLTIyLjIgMi44LTMxLjktNS0xMS44LTEwLTEyLTI2LjQtMS40LTM2LjggOC40LTggMjAuMy05LjYgMzgtMTIuOCAzLS41IDUuNi0xLjIgNy43LTMuNyAzLjItMy42IDIuMi0yIDIuMi04MC44IDAtNS42LTIuNy03LjEtOC40LTYuMS00IC43LTkxLjkgMTcuMS05MS45IDE3LjEtNSAxLjEtNi43IDIuNi02LjcgOC4zIDAgMTE2LjEgLjUgMTEwLjgtMS4yIDExOC41LTIuMSA5LTcuNiAxNS44LTE0LjkgMTkuNi04LjMgNC42LTIzLjQgNi42LTMxLjQgNS4yLTIxLjQtNC0yOC45LTI4LjctMTQuNC00Mi45IDguNC04IDIwLjMtOS42IDM4LTEyLjggMy0uNSA1LjYtMS4yIDcuNy0zLjcgNS01LjcgLjktMTI3IDIuNi0xMzMuNyAuNC0yLjYgMS41LTQuOCAzLjUtNi40IDIuMS0xLjcgNS44LTIuNyA2LjctMi43IDEwMS0xOSAxMTMuMy0yMS40IDExNS4xLTIxLjQgNS43LS40IDkgMyA5IDguNy0uMSAxNzAuNiAuNCAxNjEuNC0xIDE2Ny42ek0zNDUuMiAzMkwxMDIuOCAzMkM0NS45IDMyIDAgNzcuOSAwIDEzNC44TDAgMzc3LjJDMCA0MzQuMSA0NS45IDQ4MCAxMDIuOCA0ODBsMjQyLjQgMGM1NyAwIDEwMi44LTQ1LjkgMTAyLjgtMTAyLjhsMC0yNDIuNEM0NDggNzcuOSA0MDIuMSAzMiAzNDUuMiAzMnpNMjIzLjYgNTlhMTkyLjUgMTkyLjUgMCAxIDEgMCAzODUgMTkyLjUgMTkyLjUgMCAxIDEgMC0zODV6Il19LEkxZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUteGluZyIsaWNvbjpbNDQ4LDUxMixbInhpbmctc3F1YXJlIl0sImYxNjkiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTkzLjggMzIwLjJjLTUuNSAwLTguNy01LjMtNi0xMC4zbDQ5LjMtODYuN2MuMSAwIC4xLS4xIDAtLjJsLTMxLjQtNTRjLTMtNS42IC4yLTEwLjEgNi0xMC4xbDQ2LjYgMGM1LjIgMCA5LjUgMi45IDEyLjkgOC43bDMxLjkgNTUuM2MtMS4zIDIuMy0xOCAzMS43LTUwLjEgODguMi0zLjUgNi4yLTcuNyA5LjEtMTIuNiA5LjFsLTQ2LjYgMHptMTYzLjUtMzMuNGwwIC4yIDY1LjUgMTE5YzIuOCA1LjEgLjEgMTAuMS02IDEwLjFsLTQ2LjYgMGMtNS41IDAtOS43LTIuOS0xMi45LTguN2wtNjYtMTIwLjNjMS44LTMuMiAyMi45LTQwLjQgNjMuMy0xMTEuNiAxMS43LTIwLjcgMjUuMS00NC4zIDQwLjEtNzAuOCAzLjMtNS44IDcuNC04LjcgMTIuNS04LjdsNDYuOSAwYzUuNy0uMSA4LjggNC43IDYgMTBMMjU3LjMgMjg2Ljh6Il19LHMydD1JMWUsbzJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNzczMtYWx0IixpY29uOlszODQsNTEyLFtdLCJmMzhiIiwiTTAgMzJMMzQuOSA0MjcuOCAxOTIgNDgwIDM0OS4xIDQyNy44IDM4NCAzMiAwIDMyem0zMTMuMSA4MGwtNC44IDQ3LjMtMTE1LjMgNDkuMy0uMyAuMSAxMTEuNSAwLTEyLjggMTQ2LjYtOTguMiAyOC43LTk4LjgtMjkuMi02LjQtNzMuOSA0OC45IDAgMy4yIDM4LjMgNTIuNiAxMy4zIDU0LjctMTUuNCAzLjctNjEuNi0xNjYuMy0uNSAwLS4xLS4yIC4xLTMuNi00Ni4zIDExMi4xLTQ2LjcgNi41LTIuNy0xMjIuOSAwLTUuOC00Ny4zIDI0Mi4yIDB6Il19LGwydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmVzcGFjZSIsaWNvbjpbNTEyLDUxMixbXSwiZjViZSIsIk0xODYuMSAzNDMuM2MtOS43IDkuNy05LjcgMjUuMyAwIDM0LjlzMjUuMyA5LjYgMzQuOSAwTDM3OC4zIDIyMS4xYzE5LjMtMTkuMyA1MC42LTE5LjMgNjkuOSAwczE5LjMgNTAuNiAwIDY5LjlMMjk0IDQ0NS4xYzE5LjMgMTkuMyA1MC41IDE5LjMgNjkuOCAwbDAgMCAxMTkuMy0xMTkuMmMzOC42LTM4LjYgMzguNi0xMDEuMSAwLTEzOS43LTM4LjYtMzguNi0xMDEuMi0zOC42LTEzOS43IDBMMTg2LjEgMzQzLjN6TTQzMC43IDIzOC41Yy05LjctOS43LTI1LjMtOS43LTM0LjkgMEwyMzguNSAzOTUuN2MtMTkuMyAxOS4zLTUwLjUgMTkuMy02OS44IDBsMCAwYy05LjYtOS42LTI1LjMtOS43LTM0LjkgMGwwIDBjLTkuNyA5LjYtOS43IDI1LjMgMCAzNC45bDAgMGMzOC42IDM4LjYgMTAxLjEgMzguNiAxMzkuNyAwTDQzMC43IDI3My41YzkuNi05LjcgOS42LTI1LjMgMC0zNC45em0tMjYyIDg3LjNMMzI1LjkgMTY4LjdjOS42LTkuNiA5LjYtMjUuMyAwLTM0LjktOS42LTkuNi0yNS4zLTkuNi0zNC45IDBMMTMzLjcgMjkwLjljLTE5LjMgMTkuMy01MC42IDE5LjMtNjkuOSAwbDAgMGMtMTkuMy0xOS4zLTE5LjMtNTAuNSAwLTY5LjhsMCAwIDE1NC4yLTE1NC4yYy0xOS4zLTE5LjMtNTAuNS0xOS4zLTY5LjggMGwwIDAtMTE5LjIgMTE5LjNjLTM4LjYgMzguNi0zOC42IDEwMS4xIDAgMTM5LjcgMzguNiAzOC42IDEwMS4xIDM4LjYgMTM5LjcgMHpNODEuMyAyNzMuNWM5LjYgOS42IDI1LjMgOS42IDM0LjkgMEwyNzMuNSAxMTYuM2MxOS4zLTE5LjMgNTAuNi0xOS4zIDY5LjggMGwwIDBjOS43IDkuNiAyNS4zIDkuNiAzNC45IDBzOS42LTI1LjMgMC0zNC45Yy0zOC42LTM4LjYtMTAxLjEtMzguNi0xMzkuNyAwTDgxLjMgMjM4LjVjLTkuNiA5LjYtOS42IDI1LjMgMCAzNC45bDAgMHoiXX0sYzJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRyZWxsbyIsaWNvbjpbNDQ4LDUxMixbXSwiZjE4MSIsIk0zOTIuMyAzMkw1Ni4xIDMyYy0zMSAwLTU2LjEgMjUuMS01Ni4xIDU2LS4xIDAgMC00IDAgMzM2IDAgMzAuOSAyNS4xIDU2IDU2IDU2bDMzNi4yIDBjMzAuOC0uMiA1NS43LTI1LjIgNTUuNy01NmwwLTMzNmMuMS0zMC44LTI0LjgtNTUuOC01NS42LTU2ek0xOTcgMzcxLjNjLS4yIDE0LjctMTIuMSAyNi42LTI2LjkgMjYuNmwtODIuNyAwYy0xNC44IC4xLTI2LjktMTEuOC0yNy0yNi42bDAtMjU0LjJjMC0xNC44IDEyLTI2LjkgMjYuOS0yNi45bDgyLjkgMGMxNC44IDAgMjYuOSAxMiAyNi45IDI2LjlsMCAyNTQuMi0uMSAwem0xOTMuMS0xMTJjMCAxNC44LTEyIDI2LjktMjYuOSAyNi45bC04MSAwYy0xNC44IDAtMjYuOS0xMi0yNi45LTI2LjlsMC0xNDIuMWMwLTE0LjggMTItMjYuOSAyNi44LTI2LjlsODEuMSAwYzE0LjggMCAyNi45IDEyIDI2LjkgMjYuOWwwIDE0Mi4xeiJdfSxkMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmlhZGVvIixpY29uOls0NDgsNTEyLFtdLCJmMmE5IiwiTTI3Ni40IDE1MC41bDAgLjdjLTE3LjktNTIuNi00Mi42LTEwMy40LTcwLjgtMTUxLjIgNDMuMyAyOS4yIDY3IDEwMCA3MC44IDE1MC41em0zMi43IDEyMS43YzcuNiAxOC4yIDExIDM3LjUgMTEgNTcgMCA3Ny43LTU3LjggMTQxLTEzNy44IDEzOS40bDMuOC0uM2M3NC4yLTQ2LjcgMTA5LjMtMTE4LjYgMTA5LjMtMjA1LjEgMC0zOC4xLTYuNS03NS45LTE4LjktMTEyIDEgMTEuNyAxIDIzLjcgMSAzNS40IDAgOTEuOC0xOC4xIDI0MS42LTExNi42IDI4MC02NS43LTExLjQtMTExLjMtNjguNi0xMTEuMy0xMzcuNCAwLTc1LjYgNTcuNC0xNDIuMyAxMzUuNC0xNDIuMyAxNi44IDAgMzMuNyAzLjEgNDkuMSA5LjYgMS43LTE1LjEgNi41LTI5LjkgMTMuNC00My4zLTE5LjktNy4yLTQxLjItMTAuNy02Mi41LTEwLjctMTYxLjUgMC0yMzguNyAxOTUuOS0xMjkuOSAzMTMuNyA2Ny45IDc0LjYgMTkyIDczLjkgMjU5LjggMCA1Ni42LTYxLjMgNjAuOS0xNDIuNCAzNi40LTIwMS0xMi43IDgtMjcuMSAxMy45LTQyLjIgMTd6TTQxOC4zIDExLjdjLTMxIDY2LjUtODEuMyA0Ny4yLTExNS44IDgwLjEtMTIuNCAxMi0yMC42IDM0LTIwLjYgNTAuNSAwIDE0LjEgNC41IDI3LjEgMTIgMzguOCA0Ny40LTExIDk4LjMtNDYgMTE4LjItOTAuNy0uNyA1LjUtNC44IDE0LjQtNy4yIDE5LjItMjAuMyAzNS43LTY0LjYgNjUuNi05OS43IDg0LjkgMTQuOCAxNC40IDMzLjcgMjUuOCA1NSAyNS44IDc5IDAgMTEwLjEtMTM0LjYgNTguMS0yMDguNnoiXX0sdTJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNlYXJjaGVuZ2luIixpY29uOls0NDgsNTEyLFtdLCJmM2ViIiwiTTIxNC42IDEzMC4zbC02Ny4yIDI4LjIgMC0xMTUuMy01NC43IDE5MC4zIDU0LjctMjQuMiAwIDEzMC4zIDY3LjItMjA5LjN6TTEzMS40IDMzLjZsLTEuMyA0LjctMTUuMiA1Mi45Qzc0LjYgMTA2LjcgNDYgMTQ1LjggNDYgMTkxLjUgNDYgMjQzLjggODAuMyAyODcuNCAxMjkuNCAyOTdsMCA1My42QzUxLjUgMzQwLjEtNiAyNzIuNC02IDE5MS42LTYgMTExLjEgNTMuOCA0NC40IDEzMS40IDMzLjZ6TTQ0Mi44IDQ4MC44Yy0xMS4yIDExLjItMjMuMSAxMi4zLTI4LjYgMTAuNS01LjQtMS44LTI3LjEtMTkuOS02MC40LTQ0LjQtMzMuMy0yNC42LTMzLjYtMzUuNy00My01Ni43LTkuNC0yMC45LTMwLjQtNDIuNi01Ny41LTUyLjRsLTkuNy0xNC43Yy0yNC43IDE2LjktNTMgMjYuOS04MS4zIDI4LjdsMi4xLTYuNiAxNS45LTQ5LjVjNDYuNS0xMS45IDgwLjktNTQgODAuOS0xMDQuMiAwLTU0LjUtMzguNC0xMDIuMS05Ni0xMDcuMWwwLTUyLjFjODMuMiA1LjEgMTQ4LjggNzQuNSAxNDguOCAxNTkuMyAwIDMzLjYtMTEuMiA2NC43LTI5IDkwLjRsMTQuNiA5LjZjOS44IDI3LjEgMzEuNSA0OCA1Mi40IDU3LjRzMzIuMiA5LjcgNTYuOCA0M2MyNC42IDMzLjIgNDIuNyA1NC45IDQ0LjUgNjAuM3MuNyAxNy4zLTEwLjUgMjguNXptLTkuOS0xNy45YzAtNC40LTMuNi04LTgtOHMtOCAzLjYtOCA4IDMuNiA4IDggOCA4LTMuNiA4LTh6Il19LHAydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bnJlYWwtZW5naW5lIixpY29uOls1MTIsNTEyLFtdLCJlODVjIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem02NS41LTExMy43bC0yNS4xLTI4LjMtNDIuNCA0Mi42Yy0yNC4xLS4zLTQ3LjktNi4yLTY5LjMtMTcuMnMtNDAuMS0yNi45LTU0LjUtNDYuM2M0LjUgMS40IDkuMiAyLjMgMTMuOSAyLjYgNi45IC4xIDE0LjUtMi40IDE0LjUtMTQuMWwwLTExNS4xYy4xLTMtLjUtNS45LTEuNy04LjZzLTMuMS01LTUuNC02LjktNS0zLjEtNy45LTMuNy01LjktLjUtOC44IC4yYy0xOS42IDQuNS0zNS4zIDUzLjUtMzUuMyA1My41LS4yLTIyLjYgNC41LTQ1IDEzLjgtNjUuNnMyMy0zOSA0MC4xLTUzLjhjMjIuNS0xOS41IDUwLjEtMzIuMiA3OS42LTM2LjctMjEuNCAxMi4yLTMzLjUgMzIuMS0zMy41IDQ4LjkgMCAyNi45IDE2LjIgMjMuNiAyMSAxOS43bDAgMTU1LjNjLjggMS45IDEuOSAzLjggMy4yIDUuNSAyLjEgMyA1IDUuNCA4LjIgN3M2LjkgMi41IDEwLjUgMi41YzE2LjIgMCAzNy4zLTE4LjUgMzcuMy0xOC41bDAtMTI1LjdjMC0xMi44LTkuNi0yOC4yLTE5LjMtMzMuNSAwIDAgMTcuOS0zLjIgMzEuNyA3LjQgMi42LTMuMiA1LjMtNi4yIDguMi05LjEgMzIuMi0zMS42IDYyLjUtNDAuNiA4Ny43LTQ1LjEgMCAwLTQ1LjkgMzYuMS00NS45IDg0LjUgMCAzNiAuOSAxMjMuOCAuOSAxMjMuOCAxNyAxNi40IDQyLjQtNy4zIDY1LjItMzAuOC00LjQgMjEuMy0yNCA3NS45LTg2LjYgMTA1LjR6Il19LGYydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYXlwYWwiLGljb246WzM4NCw1MTIsW10sImYxZWQiLCJNMTExLjkgMjk1LjljLTMuNSAxOS4yLTE3LjQgMTA4LjctMjEuNSAxMzQtLjMgMS44LTEgMi41LTMgMi41bC03NC42IDBjLTcuNiAwLTEzLjEtNi42LTEyLjEtMTMuOUw1OS4zIDQ2LjZjMS41LTkuNiAxMC4xLTE2LjkgMjAtMTYuOSAxNTIuMyAwIDE2NS4xLTMuNyAyMDQgMTEuNCA2MC4xIDIzLjMgNjUuNiA3OS41IDQ0IDE0MC4zLTIxLjUgNjIuNi03Mi41IDg5LjUtMTQwLjEgOTAuMy00My40IC43LTY5LjUtNy03NS4zIDI0LjJ6TTM1Ny42IDE1MmMtMS44LTEuMy0yLjUtMS44LTMgMS4zLTIgMTEuNC01LjEgMjIuNS04LjggMzMuNi0zOS45IDExMy44LTE1MC41IDEwMy45LTIwNC41IDEwMy45LTYuMSAwLTEwLjEgMy4zLTEwLjkgOS40LTIyLjYgMTQwLjQtMjcuMSAxNjkuNy0yNy4xIDE2OS43LTEgNy4xIDMuNSAxMi45IDEwLjYgMTIuOWw2My41IDBjOC42IDAgMTUuNy02LjMgMTcuNC0xNC45IC43LTUuNC0xLjEgNi4xIDE0LjQtOTEuMyA0LjYtMjIgMTQuMy0xOS43IDI5LjMtMTkuNyA3MSAwIDEyNi40LTI4LjggMTQyLjktMTEyLjMgNi41LTM0LjggNC42LTcxLjQtMjMuOC05Mi42eiJdfSxoMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWJsdWVza3kiLGljb246WzQ0OCw1MTIsW10sImU2YTMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjI0IDI0Ny40YzE0LjUtMzAgNTQtODUuOCA5MC43LTExMy4zIDI2LjUtMTkuOSA2OS4zLTM1LjIgNjkuMyAxMy43IDAgOS44LTUuNiA4Mi4xLTguOSA5My44LTExLjQgNDAuOC01MyA1MS4yLTkwIDQ0LjkgNjQuNyAxMSA4MS4yIDQ3LjUgNDUuNiA4NC02Ny41IDY5LjMtOTctMTcuNC0xMDQuNi0zOS42bC0uMy0uOWMtLjktMi42LTEuNC00LjEtMS44LTQuMXMtLjkgMS41LTEuOCA0LjFjLS4xIC4zLS4yIC42LS4zIC45LTcuNiAyMi4yLTM3LjEgMTA4LjgtMTA0LjYgMzkuNi0zNS41LTM2LjUtMTkuMS03MyA0NS42LTg0LTM3IDYuMy03OC42LTQuMS05MC00NC45LTMuMy0xMS43LTguOS04NC04LjktOTMuOCAwLTQ4LjkgNDIuOS0zMy41IDY5LjMtMTMuNyAzNi43IDI3LjUgNzYuMiA4My40IDkwLjcgMTEzLjN6Il19LG0ydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkLWFuZC1kLWJleW9uZCIsaWNvbjpbNjQwLDUxMixbXSwiZjZjYSIsIk0zMTMuOCAyNDEuNWMxMy44IDAgMjEtMTAuMSAyNC44LTE3LjktMS0xLjEtNS00LjItNy40LTYuNi0yLjQgNC4zLTguMiAxMC43LTEzLjkgMTAuNy0xMC4yIDAtMTUuNC0xNC43LTMuMi0yNi42LS41LS4yLTQuMy0xLjgtOCAyLjQgMC0zIDEtNS4xIDIuMS02LjYtMy41IDEuMy05LjggNS42LTExLjQgNy45IC4yLTUuOCAxLjYtNy41IC42LTlsLS4yLS4ycy04LjUgNS42LTkuMyAxNC43YzAgMCAxLjEtMS42IDIuMS0xLjkgLjYtLjMgMS4zIDAgLjYgMS45LS4yIC42LTUuOCAxNS43IDUuMSAyNi0uNi0xLjYtMS45LTcuNiAyLjQtMS45LS4zIC4xIDUuOCA3LjEgMTUuNyA3LjF6bTUyLjQtMjEuMWMwLTQtNC45LTQuNC01LjYtNC41IDIgMy45IC45IDcuNSAuMiA5IDIuNS0uNCA1LjQtMS42IDUuNC00LjV6bTEwLjMgNS4yYzAtNi40LTYuMi0xMS40LTEzLjUtMTAuNyA4IDEuMyA1LjYgMTMuOC01IDExLjQgMy43LTIuNiAzLjItOS45LTEuMy0xMi41IDEuNCA0LjItMyA4LjItNy40IDQuNi0yLjQtMS45LTgtNi42LTEwLjYtOC42LTIuNC0yLjEtNS41LTEtNi42LTEuOC0xLjMtMS4xLS41LTMuOC0yLjItNS0xLjYtLjgtMy0uMy00LjgtMS0xLjYtLjYtMi43LTEuOS0yLjYtMy41LTIuNSA0LjQgMy40IDYuMyA0LjUgOC41IDEgMS45LS44IDQuOCA0IDguNSAxNC44IDExLjYgOS4xIDggMTAuNCAxOC4xIC42IDQuMyA0LjIgNi43IDYuNCA3LjQtMi4xLTEuOS0yLjktNi40IDAtOS4zIDAgMTMuOSAxOS4yIDEzLjMgMjMuMSA2LjQtMi40IDEuMS03LS4yLTktMS45IDcuNyAxIDE0LjItNC4xIDE0LjYtMTAuNnptLTM5LjQtMTguNGMyIC44IDEuNiAuNyA2LjQgNC41IDEwLjItMjQuNSAyMS43LTE1LjcgMjItMTUuNSAyLjItMS45IDkuOC0zLjggMTMuOC0yLjctMi40LTIuNy03LjUtNi4yLTEzLjMtNi4yLTQuNyAwLTcuNCAyLjItOCAxLjMtLjgtMS40IDMuMi0zLjQgMy4yLTMuNC01LjQgLjItOS42IDYuNy0xMS4yIDUuOS0xLjEtLjUgMS40LTMuNyAxLjQtMy43LTUuMSAyLjktOS4zIDkuMS0xMC4yIDEzIDQuNi01LjggMTMuOC05LjggMTkuNy05LTEwLjUgLjUtMTkuNSA5LjctMjMuOCAxNS44em0yNDIuNSA1MS45Yy0yMC43IDAtNDAgMS4zLTUwLjMgMi4xbDcuNCA4LjIgMCA3Ny4yLTcuNCA4LjJjMTAuNCAuOCAzMC45IDIuMSA1MS42IDIuMSA0Mi4xIDAgNTkuMS0yMC43IDU5LjEtNDguOSAwLTI5LjMtMjMuMi00OC45LTYwLjQtNDguOXptLTE1LjEgNzUuNmwwLTUzLjNjMzAuMS0zLjMgNDYuOCAzLjggNDYuOCAyNi4zIDAgMjUuNi0yMS40IDMwLjItNDYuOCAyN3pNMzAxLjYgMTgxYy0xLTMuNC0uMi02LjkgMS4xLTkuNCAxIDMgMi42IDYuNCA3LjUgOS0uNS0yLjQtLjItNS42IC41LTgtMS40LTUuNCAyLjEtOS45IDYuNC05LjkgNi45IDAgOC41IDguOCA0LjcgMTQuNCAyLjEgMy4yIDUuNSA1LjYgNy43IDcuOCAzLjItMy43IDUuNS05LjUgNS41LTEzLjggMC04LjItNS41LTE1LjktMTYuNy0xNi41LTIwLS45LTIwLjIgMTYuNi0yMCAxOC45IC41IDUuMiAzLjQgNy44IDMuMyA3LjV6bS0uNCA2Yy0uNSAxLjgtNyAzLjctMTAuMiA2LjkgNC44LTEgNy0uMiA3LjggMS44IC41IDEuNC0uMiAzLjQtLjUgNS42IDEuNi0xLjggNy01LjUgMTEtNi4yLTEtLjMtMy40LS44LTQuMy0uOCAyLjktMy40IDkuMy00LjUgMTIuOC0zLjctMi4yLS4yLTYuNyAxLjEtOC41IDIuNiAxLjYgLjMgMyAuNiA0LjMgMS4xLTIuMSAuOC00LjggMy40LTUuOCA2LjEgNy01IDEzLjEgNS4yIDcgOC4yIC44IC4yIDIuNyAwIDMuNS0uNS0uMyAxLjEtMS45IDMtMyAzLjQgMi45IDAgNy0xLjkgOC4yLTQuNiAwIDAtMS44IC42LTIuNi0uMnMuMy00LjMgLjMtNC4zYy0yLjMgMi45LTMuNC0xLjMtMS4zLTQuMi0xLS4zLTMuNS0uNi00LjYtLjUgMy4yLTEuMSAxMC40LTEuOCAxMS4yLS4zIC42IDEuMS0xIDMuNC0xIDMuNCA0LS41IDguMyAxLjEgNi43IDUuMSAyLjktMS40IDUuNS01LjkgNC44LTEwLjQtLjMgMS0xLjYgMi40LTIuOSAyLjcgLjItMS40LTEtMi4yLTEuOS0yLjYgMS43LTkuNi0xNC42LTE0LjItMTQuMS0yMy45LTEgMS4zLTEuOCA1LS44IDcuMSAyLjcgMy4yIDguNyA2LjcgMTAuMSAxMi4yLTIuNi02LjQtMTUuMS0xMS40LTE0LjYtMjAuMi0xLjYgMS42LTIuNiA3LjgtMS4zIDExIDIuNCAxLjQgNC41IDMuOCA0LjggNi4xLTIuMi01LjEtMTEuNC02LjEtMTMuOS0xMi4yLS42IDIuMi0uMyA1IDEgNi43IDAgMC0yLjItLjgtNy0uNiAxLjcgLjYgNS4xIDMuNSA0LjggNS4yem0yNS45IDcuNGMtMi43IDAtMy41LTIuMS00LjItNC4zIDMuMyAxLjMgNC4yIDQuMyA0LjIgNC4zem0zOC45IDMuN2wtMS0uNmMtMS4xLTEtMi45LTEuNC00LjctMS40LTIuOSAwLTUuOCAxLjMtNy41IDMuNC0uOCAuOC0xLjQgMS44LTIuMSAyLjZsMCAxNS43YzMuNSAyLjYgNy4xLTIuOSAzLTcuMiAxLjUgLjMgNC42IDIuNyA1LjEgMy4yIDAgMCAyLjYtLjUgNS0uNSAyLjEgMCAzLjkgLjMgNS42IDEuMWwwLTE4LjRjLTEuMSAuNS0yLjIgMS0yLjcgMS40bC0uNyAuN3pNNzkuOSAzMDUuOWMxNy4yLTQuNiAxNi4yLTE4IDE2LjItMTkuOSAwLTIwLjYtMjQuMS0yNS0zNy0yNWwtNTYuMSAwIDguMyA4LjYgMCAyOS41LTExLjMgMCAxMS40IDE0LjYgMCAzMi4zLTguNCA4LjZjNjEuNyAwIDczLjggMS41IDg2LjQtNS45IDYuNy00IDkuOS05LjggOS45LTE3LjYgMC01LjEgMi42LTE4LjgtMTkuNC0yNS4yek0zOC42IDI3OC40YzIwIDAgMjkuNi0uOCAyOS42IDkuMWwwIDNjMCAxMi4xLTE5IDguOC0yOS42IDguOGwwLTIwLjl6bTAgNTkuMmwwLTIyLjZjMTIuMiAwIDMyLjctMi4zIDMyLjcgOC44bDAgNC41IC4yIDBjMCAxMS4yLTEyLjUgOS4zLTMyLjkgOS4zem0xMDEuMi0xOS4zbDIzLjEgLjIgMC0uMiAxNC4xLTIxLjItMzcuMiAwIDAtMTQuOSA1Mi40IDAtMTQuMS0yMSAwLS4yLTczLjUgLjIgNy40IDguMiAwIDc3LjEtNy40IDguMiA4MS4yIDAgMTQuMS0yMS4yLTYwLjEgLjIgMC0xNS40em0yMTQuNy02MC4xYy03My45IDAtNzcuNSA5OS4zLS4zIDk5LjMgNzcuOSAwIDc0LjEtOTkuMyAuMy05OS4zem0tLjMgNzcuNWMtMzcuNCAwLTM2LjktNTUuMyAuMi01NS4zIDM2LjggLjEgMzguOCA1NS4zLS4yIDU1LjN6bS05MS4zLTguM2w0NC4xLTY2LjItNDEuNyAwIDYuMSA3LjItMjAuNSAzNy4yLS4zIDAtMjEtMzcuMiA2LjQtNy4yLTQ0LjkgMCA0NC4xIDY1LjggLjIgMTkuNC03LjcgOC4yIDQyLjYgMC03LjItOC4yLS4yLTE5ek0yMzQuNSAxNzYuMWMxLjYgMS4zIDIuOSAyLjQgMi45IDYuNmwwIDM4LjhjMCA0LjItLjggNS4zLTIuNyA2LjQtLjEgLjEtNy41IDQuNS03LjkgNC42bDM1LjEgMGMxMCAwIDE3LjQtMS41IDI2LTguNi0uNi01IC4yLTkuNSAuOC0xMiAwLS4yLTEuOCAxLjQtMi43IDMuNSAwLTUuNyAxLjYtMTUuNCA5LjYtMjAuNS0uMSAwLTMuNy0uOC05IDEuMSAyLTMuMSAxMC03LjkgMTAuNC03LjktOC4yLTI2LTM4LTIyLjktMzIuMi0yMi45LTMwLjkgMC0zMi42IC4zLTM5LjktNCAuMSAuOCAuNSA4LjIgOS42IDE0Ljl6bTIxLjUgNS41YzQuNiAwIDIzLjEtMy4zIDIzLjEgMTcuMyAwIDIwLjctMTguNCAxNy4zLTIzLjEgMTcuM2wwLTM0LjZ6bTIyOC45IDc5LjZsNyA4LjMgMCA0Mi41LS4zIDBjLTUuNC0xNC40LTQyLjMtNDEuNS00NS4yLTUwLjlsLTMxLjYgMCA3LjQgOC41IDAgNzYuOS03LjIgOC4zIDM5IDAtNy40LTguMiAwLTQ3LjQgLjMgMGMzLjcgMTAuNiA0NC41IDQyLjkgNDguNSA1NS42bDIxLjMgMCAwLTg1LjIgNy40LTguMy0zOS4yLS4xek0zNzguMiAxNjUuMWMtMzIuMiAwLTMyLjggLjItMzkuOS00IC4xIC43IC41IDguMyA5LjYgMTQuOSAzLjEgMiAyLjkgNC4zIDIuOSA5LjUgMS44LTEuMSAzLjgtMi4yIDYuMS0zLTEuMSAxLjEtMi43IDIuNy0zLjUgNC41IDEtMS4xIDcuNS01LjEgMTQuNi0zLjUtMS42IC4zLTQgMS4xLTYuMSAyLjkgLjEgMCAyLjEtMS4xIDcuNS0uM2wwLTQuM2M0LjcgMCAyMy4xLTMuNCAyMy4xIDE3LjMgMCAyMC41LTE4LjUgMTcuMy0xOS43IDE3LjMgNS43IDQuNCA1LjggMTIgMi4yIDE2LjNsLjMgMGMzMy40IDAgMzYuNy0yNy4zIDM2LjctMzQgMC0zLjgtMS4xLTMyLTMzLjgtMzMuNnoiXX0sZzJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1pY3Jvc29mdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNjYSIsIk0wIDMybDIxNC42IDAgMCAyMTQuNi0yMTQuNiAwIDAtMjE0LjZ6bTIzMy40IDBsMjE0LjYgMCAwIDIxNC42LTIxNC42IDAgMC0yMTQuNnpNMCAyNjUuNGwyMTQuNiAwIDAgMjE0LjYtMjE0LjYgMCAwLTIxNC42em0yMzMuNCAwbDIxNC42IDAgMCAyMTQuNi0yMTQuNiAwIDAtMjE0LjZ6Il19LGIydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmbHkiLGljb246WzMyMCw1MTIsW10sImY0MTciLCJNMTY1LjkgNDI3LjhjMTIuOSAxMS43IDMzLjcgMzMuMyAzMy4yIDUwLjcgMCAuOC0uMSAxLjYtLjEgMi41LTEuOCAxOS44LTE4LjggMzEuMS0zOS4xIDMxLTI1LS4xLTM5LjktMTYuOC0zOC43LTM1LjggMS0xNi4yIDIwLjUtMzYuNyAzMi40LTQ3LjYgMi4zLTIuMSAyLjctMi43IDUuNi0zLjYgMy40IDAgMy45IC4zIDYuNyAyLjh6TTMwMCA2Ny4zYy0xNi4zLTI1LjctMzguNi00MC42LTYzLjMtNTIuMS0yNS41LTEwLjctNTQuNi0xNS40LTc2LjYtMTUuMi00NC4xIDAtNzEuMiAxMy4yLTgxLjEgMTcuMy01My42IDI3LjktODQuNCA2OS45LTgyLjkgMTQxLjMgNy4xIDgyLjIgOTcgMTc2IDE1NS44IDIzMy44IDEuNyAxLjYgNC41IDQuNSA2LjIgNS4xbDMuMyAuMWMyLjEtLjcgMS44LS41IDMuNS0yLjEgNTIuMy00OS4yIDE0MC43LTE0NS44IDE1NS45LTIxNS43IDctMzkuMiAzLjEtNzIuNS0yMC44LTExMi41ek0xNTQuOSAzNTEuOWMtMjgtNTEuMS02NS4yLTEzMC43LTY5LjMtMTg5LTMuNC00Ny41IDExLjQtMTMxLjIgNjkuMy0xMzYuN2wwIDMyNS43ek0yOTYuOCAxODBjLTE2LjQgNTYuOC03Ny4zIDEyOC0xMTguOSAxNzAuMyAyNy44LTUxLjkgNjUuMi0xMzMuMyA2Ny4yLTE5MS45IDEuNi00NS45LTkuOC0xMDUuOC00OC0xMzEuNCA4OC44IDE4LjMgMTE1LjUgOTguMSA5OS43IDE1M3oiXX0sdjJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLXN0cmlwZSIsaWNvbjpbNTc2LDUxMixbXSwiZjFmNSIsIk00OTIuNCAyMjAuOGMtOC45IDAtMTguNyA2LjctMTguNyAyMi43bDM2LjcgMGMwLTE2LTkuMy0yMi43LTE4LTIyLjd6TTM3NSAyMjMuNGMtOC4yIDAtMTMuMyAyLjktMTcgN2wuMiA1Mi44YzMuNSAzLjcgOC41IDYuNyAxNi44IDYuNyAxMy4xIDAgMjEuOS0xNC4zIDIxLjktMzMuNCAwLTE4LjYtOS0zMy4yLTIxLjktMzMuMXpNNTI4IDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTEyMi4yIDI4MS4xYzAgMjUuNi0yMC4zIDQwLjEtNDkuOSA0MC4zLTEyLjIgMC0yNS42LTIuNC0zOC44LTguMWwwLTMzLjljMTIgNi40IDI3LjEgMTEuMyAzOC45IDExLjMgNy45IDAgMTMuNi0yLjEgMTMuNi04LjcgMC0xNy01NC0xMC42LTU0LTQ5LjkgMC0yNS4yIDE5LjItNDAuMiA0OC00MC4yIDExLjggMCAyMy41IDEuOCAzNS4zIDYuNWwwIDMzLjRjLTEwLjgtNS44LTI0LjUtOS4xLTM1LjMtOS4xLTcuNSAwLTEyLjEgMi4yLTEyLjEgNy43IDAgMTYgNTQuMyA4LjQgNTQuMyA1MC43ek0xOTEgMjI0LjVsLTI3IDAgMCA1MC41YzAgMjAuOSAyMi41IDE0LjQgMjcgMTIuNmwwIDI4LjljLTQuNyAyLjYtMTMuMyA0LjctMjQuOSA0LjctMjEuMSAwLTM2LjktMTUuNS0zNi45LTM2LjVsLjItMTEzLjkgMzQuNy03LjQgMCAzMC44IDI2LjkgMCAwIDMwLjN6bTc0IDIuNGMtNC41LTEuNS0xOC43LTMuNi0yNy4xIDcuNGwwIDg0LjQtMzUuNSAwIDAtMTI0LjUgMzAuNyAwIDIuMiAxMC41YzguMy0xNS4zIDI0LjktMTIuMiAyOS42LTEwLjVsLjEgMCAwIDMyLjd6bTQ0LjEgOTEuOGwtMzUuNyAwIDAtMTI0LjUgMzUuNyAwIDAgMTI0LjV6bTAtMTQyLjlsLTM1LjcgNy42IDAtMjguOSAzNS43LTcuNiAwIDI4Ljl6bTc0LjEgMTQ1LjVjLTEyLjQgMC0yMC01LjMtMjUuMS05bC0uMSA0MC4yLTM1LjUgNy41IDAtMTY1LjggMzEuMyAwIDEuOCA4LjhjNC45LTQuNSAxMy45LTExLjEgMjcuOC0xMS4xIDI0LjkgMCA0OC40IDIyLjUgNDguNCA2My44IDAgNDUuMS0yMy4yIDY1LjUtNDguNiA2NS42em0xNjAuNC01MS41bC02OS41IDBjMS42IDE2LjYgMTMuOCAyMS41IDI3LjYgMjEuNSAxNC4xIDAgMjUuMi0zIDM0LjktNy45bDAgMjguNmMtOS43IDUuMy0yMi40IDkuMi0zOS40IDkuMi0zNC42IDAtNTguOC0yMS43LTU4LjgtNjQuNSAwLTM2LjIgMjAuNS02NC45IDU0LjMtNjQuOSAzMy43IDAgNTEuMyAyOC43IDUxLjMgNjUuMSAwIDMuNS0uMyAxMC45LS40IDEyLjl6Il19LHgydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3b3JkcHJlc3Mtc2ltcGxlIixpY29uOls1MTIsNTEyLFtdLCJmNDExIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzMgMjU2YzAtMzIuMyA2LjktNjMgMTkuMy05MC43TDE1OC43IDQ1Ni43Qzg0LjMgNDIwLjUgMzMgMzQ0LjIgMzMgMjU2ek0yNTYgNDc5Yy0yMS45IDAtNDMtMy4yLTYzLTkuMWw2Ni45LTE5NC40IDY4LjUgMTg3LjhjLjUgMS4xIDEgMi4xIDEuNiAzLjEtMjMuMSA4LjEtNDggMTIuNi03NCAxMi42em0zMC43LTMyNy41YzEzLjQtLjcgMjUuNS0yLjEgMjUuNS0yLjEgMTItMS40IDEwLjYtMTkuMS0xLjQtMTguNCAwIDAtMzYuMSAyLjgtNTkuNCAyLjgtMjEuOSAwLTU4LjctMi44LTU4LjctMi44LTEyLS43LTEzLjQgMTcuNy0xLjQgMTguNCAwIDAgMTEuNCAxLjQgMjMuNCAyLjFsMzQuNyA5NS4yLTQ4LjggMTQ2LjMtODEuMi0yNDEuNWMxMy40LS43IDI1LjUtMi4xIDI1LjUtMi4xIDEyLTEuNCAxMC42LTE5LjEtMS40LTE4LjQgMCAwLTM2LjEgMi44LTU5LjQgMi44LTQuMiAwLTkuMS0uMS0xNC40LS4zIDM5LjktNjAuNSAxMDguNC0xMDAuNSAxODYuMy0xMDAuNSA1OCAwIDExMC45IDIyLjIgMTUwLjYgNTguNS0xLS4xLTEuOS0uMi0yLjktLjItMjEuOSAwLTM3LjQgMTkuMS0zNy40IDM5LjYgMCAxOC40IDEwLjYgMzMuOSAyMS45IDUyLjMgOC41IDE0LjggMTguNCAzMy45IDE4LjQgNjEuNSAwIDE5LjEtNy4zIDQxLjItMTcgNzIuMWwtMjIuMiA3NC4zLTgwLjctMjM5LjZ6bTgxLjQgMjk3LjJsNjguMS0xOTYuOWMxMi43LTMxLjggMTctNTcuMiAxNy03OS45IDAtOC4yLS41LTE1LjgtMS41LTIyLjkgMTcuNCAzMS44IDI3LjMgNjguMiAyNy4zIDEwNyAwIDgyLjMtNDQuNiAxNTQuMS0xMTAuOSAxOTIuN3oiXX0seTJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNlbGxzeSIsaWNvbjpbNjQwLDUxMixbXSwiZjIxMyIsIk01NDAgMjM3LjNjMy4xLTEyLjMgNC4zLTI0LjggNC4zLTM3LjQgMC05Mi41LTc1LjQtMTY3LjktMTY3LjktMTY3LjktNzcuMiAwLTE0NC42IDUzLTE2MyAxMjcuOC0xNS4zLTEzLjItMzQuOS0yMC41LTU1LjItMjAuNS00Ni4zIDAtODQgMzcuNy04NCA4NCAwIDcuNCAuOSAxNSAzLjEgMjIuNC00Mi45IDIwLjItNzAuOCA2My43LTcwLjggMTExLjIgMCA2OCA1NS41IDEyMy4yIDEyMy4yIDEyMy4ybDM4MS4yIDBjNjcuNyAwIDEyMy4yLTU1LjIgMTIzLjItMTIzLjIgMC01Ni40LTM4LjktMTA2LTk0LjEtMTE5LjV6TTIwMC4yIDQwMS42YzAgOC4zLTcgMTUuMy0xNS4zIDE1LjNsLTMwLjkgMGMtOC4zIDAtMTUuMy03LTE1LjMtMTUuM2wwLTExMC45YzAtOC4zIDctMTUuMyAxNS4zLTE1LjNsMzAuOSAwYzguMyAwIDE1LjMgNyAxNS4zIDE1LjNsMCAxMTAuOXptODkuNSAwYzAgOC4zLTcgMTUuMy0xNS4zIDE1LjNsLTMwLjkgMGMtOC4zIDAtMTUuMy03LTE1LjMtMTUuM2wwLTEzMS41YzAtOC4zIDctMTUuMyAxNS4zLTE1LjNsMzAuOSAwYzguMyAwIDE1LjMgNyAxNS4zIDE1LjNsMCAxMzEuNXptODkuNSAwYzAgOC4zLTcgMTUuMy0xNS4zIDE1LjNsLTMxIDBjLTguMyAwLTE1LjMtNy0xNS4zLTE1LjNsMC0xNjIuN2MwLTguMyA3LTE1LjMgMTUuMy0xNS4zbDMxIDBjOC4zIDAgMTUuMyA3IDE1LjMgMTUuM2wwIDE2Mi43em04NyAwYzAgOC4zLTcgMTUuMy0xNS4zIDE1LjNsLTI4LjUgMGMtOC4zIDAtMTUuMy03LTE1LjMtMTUuM2wwLTIyNC42YzAtOC42IDctMTUuNiAxNS4zLTE1LjZsMjguNSAwYzguMyAwIDE1LjMgNyAxNS4zIDE1LjZsMCAyMjQuNnoiXX0sdzJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRhc2hjdWJlIixpY29uOls0NDgsNTEyLFtdLCJmMjEwIiwiTTMyNi45IDEwNGwtMjE2LjIgMGMtNTEuMSAwLTkxLjIgNDMuMy05MS4yIDkzLjVsMCAyMjkuNWMwIDUwLjUgNDAuMSA4NSA5MS4yIDg1bDIyNy4yIDBjNTEuMSAwIDkxLjItMzQuNSA5MS4yLTg1bDAtNDI3LTEwMi4yIDEwNHpNMTU0LjIgNDE2LjVjLTE3LjcgMC0zMi40LTE1LjEtMzIuNC0zMi44bDAtMTQyLjljMC0xNy43IDE0LjctMzIuNSAzMi40LTMyLjVsMTQwLjcgMGMxNy43IDAgMzIgMTQuOCAzMiAzMi41bDAgMTIzLjUgNTEuMSA1Mi4zLTIyMy44IDAgMC0uMXoiXX0sTTJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdHRlciIsaWNvbjpbMzg0LDUxMixbXSwiZjQyNiIsIk02Ni40IDMyMi41bC01MC40IDAgMC0zMjIuNSA1MC40IDAgMCAzMjIuNXpNMTY2LjkgNzYuMWwtNTAuNCAwIDAgNDM1LjkgNTAuNCAwIDAtNDM1Ljl6bTEwMC42IDBsLTUwLjQgMCAwIDQzNS45IDUwLjQgMCAwLTQzNS45ek0zNjggNzZsLTUwLjQgMCAwIDI0NyA1MC40IDAgMC0yNDd6Il19LGsydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3b2xmLXBhY2stYmF0dGFsaW9uIixpY29uOls0NDgsNTEyLFtdLCJmNTE0IiwiTTIzNi4yIDQ3MS41bDEwLjYgMTUuOCA1LjMtMTIuMyA1LjMgNyAwIDI5LjljMjEuMS03LjkgMjEuMS02Ni45IDI1LjUtOTcuMiA0LjYtMzEuOS0uOS05Mi44IDgxLjQtMTQ5LjEtOC45LTIzLjYtMTItNDkuNC0yLjYtODAgMjcuOSAzLjQgNTMuOSAxMC42IDYzLjMgNTQuMWwtMzAuMyA4LjRjMTEuMSAyMyAxNyA0Ni44IDEzLjIgNzIuMWwtMjcuMy03LTYuMiAzMy40LTE4LjUtNy04LjggMzMuNC0xOS40LTcgMjYuNCAyMS4xIDguOC0yOC4yIDI0LjYgNS4yIDctMzUuNiAyNi40IDE0LjVjLjItMjAgNy01OC4xLTguOC04NC41bDI2LjQgNS4zYzQtMjIuMS0yLjQtMzkuMi03LjktNTYuN2wyMi40IDkuN2MtLjQtMjUuMS0yOS45LTU2LjgtNjEuNi01OC41LTIwLjItMS4xLTU2LjctMjUuMi01NC4xLTUxLjkgMi0xOS45IDE3LjQtNDIuNiA0My4xLTQ5LjctNDQgMzYuNS05LjcgNjcuMyA1LjMgNzMuNSA0LjQtMTEuNCAxNy41LTY5LjEgMC0xMzAuMi00MC40IDIyLjktODkuNyA2NS4xLTkzLjIgMTQ3LjhsLTU4IDM4LjctMy41IDkzLjIgMTA3LjMtNTkuOCA3IDctMTcuNiAzLjUtNDQgMzguNy0xNS44LTUuMy0yOC4xIDQ5LjMtMy41IDExOS42IDIxLjEgMTUuOC0zMi41IDE1LjgtMzIuNi0xNS44IDIxLjEtMTUuOC0zLjUtMTE5LjYtMjguMi00OS4zLTE1LjggNS4zLTQ0LTM4LjctMTcuNi0zLjUgNy03IDEwNy4zIDU5LjgtMy41LTkzLjMtNTguMS0zOC43Yy0zLjUtODIuOC01Mi43LTEyNS05My4yLTE0Ny45LTE3LjUgNjEuMS00LjQgMTE4LjggMCAxMzAuMiAxNS02LjIgNDkuMy0zNyA1LjMtNzMuNSAyNS43IDcuMSA0MS4xIDI5LjggNDMuMSA0OS43IDIuNiAyNi43LTMzLjkgNTAuOC01NC4xIDUxLjktMzEuNyAxLjctNjEuMiAzMy40LTYxLjYgNTguNWwyMi40LTkuN0MxMy40IDIyNC43IDcgMjQxLjggMTEgMjYzLjlsMjYuNC01LjNjLTE1LjggMjYuNC05LjEgNjQuNC04LjggODQuNGwyNi40LTE0LjUgNyAzNS42IDI0LjYtNS4zIDguOCAyOC4yIDI2LjQtMjEuMS0xOS40IDctOC44LTMzLjQtMTguNSA3LTYuMi0zMy40LTI3LjMgN0MzOCAyOTQuOCA0My44IDI3MSA1NSAyNDhsLTMwLjMtOC40YzkuNC00My41IDM1LjUtNTAuOCA2My4zLTU0LjEgOS40IDMwLjYgNi4yIDU2LjUtMi42IDgwLjEgODIuMyA1Ni4zIDc2LjggMTE3LjIgODEuNCAxNDkuMSA0LjQgMzAuMyA0LjQgODkuMyAyNS41IDk3LjJsMC0yOS44IDUuMy03IDUuMyAxMi4zIDEwLjYtMTUuOCAxMS40IDIxLjEgMTEuNC0yMS4xIDAgMHptNzkuMi05NUwyOTkuNSAzNjZjNy41LTQuNCAxMy44LTguNCAxOS40LTEyLjMtLjYgNy4yLS4zIDEzLjgtMy41IDIyLjhsMCAwem0yOC4yLTQ5LjNjLS40IDEwLjktLjkgMjEuNy0xLjggMzEuNy03LjgtMS45LTE1LjYtMy44LTIxLjEtNyA4LjItNy45IDE1LjYtMTYuMyAyMi45LTI0LjdsMCAwem0yNC42IDUuM2MwLTEzLjQtMi4xLTI0LjItNS4zLTMzLjQtNS41IDkuNS0xMS43IDE4LjYtMTguNSAyNy4zbDIzLjggNi4yem0zLjUtODAuOWMxOS40IDEyLjggMjcuOCAzMy43IDI5LjkgNTYuMy0xMi4zLTQuNS0yNC42LTkuMy0zNy0xMC42IDUuMS0xMiA2LjYtMjguMSA3LTQ1LjdsMCAwem0tMS44LTQ1LjdjLjggMTQuMyAxLjggMjguOCAxLjggNDIuMiAxOS4yLTguMSAyOS44LTkuNyA0NC0xNC4xLTEwLjYtMTktMjcuMi0yNS41LTQ1LjgtMjguMmwwIDB6TTEzNC4yIDM3Ni41TDE1MCAzNjZjLTcuNS00LjQtMTMuOC04LjQtMTkuNC0xMi4zIC42IDcuMyAuMyAxMy45IDMuNSAyMi45bDAgMHpNMTA2IDMyNy4zYy40IDEwLjkgLjkgMjEuNyAxLjggMzEuNyA3LjgtMS45IDE1LjYtMy44IDIxLjEtNy04LjItNy45LTE1LjYtMTYuMy0yMi45LTI0Ljd6bS0yNC42IDUuM2MwLTEzLjQgMi0yNC4yIDUuMy0zMy40IDUuNSA5LjUgMTEuNyAxOC42IDE4LjUgMjcuM2wtMjMuOCA2LjJ6bS0zLjUtODAuOWMtMTkuNCAxMi44LTI3LjggMzMuNy0yOS45IDU2LjMgMTIuMy00LjUgMjQuNi05LjMgMzctMTAuNi01LTEyLTYuNi0yOC4xLTctNDUuN2wtLjEgMHptMS44LTQ1LjdjLS44IDE0LjMtMS44IDI4LjgtMS44IDQyLjItMTkuMi04LjEtMjkuOC05LjctNDQtMTQuMSAxMC42LTE5IDI3LjItMjUuNSA0NS44LTI4LjF6Il19LFMydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsYXN0Zm0iLGljb246WzUxMiw1MTIsW10sImYyMDIiLCJNMjI1LjggMzY3LjFsLTE4LjgtNTFzLTMwLjUgMzQtNzYuMiAzNGMtNDAuNSAwLTY5LjItMzUuMi02OS4yLTkxLjUgMC03Mi4xIDM2LjQtOTcuOSA3Mi4xLTk3LjkgNjYuNSAwIDc0LjggNTMuMyAxMDAuOSAxMzQuOSAxOC44IDU2LjkgNTQgMTAyLjYgMTU1LjQgMTAyLjYgNzIuNyAwIDEyMi0yMi4zIDEyMi04MC45IDAtNzIuOS02Mi43LTgwLjYtMTE1LTkyLjEtMjUuOC01LjktMzMuNC0xNi40LTMzLjQtMzQgMC0xOS45IDE1LjgtMzEuNyA0MS42LTMxLjcgMjguMiAwIDQzLjQgMTAuNiA0NS43IDM1LjhsNTguNi03Yy00LjctNTIuOC00MS4xLTc0LjUtMTAwLjktNzQuNS01Mi44IDAtMTA0LjQgMTkuOS0xMDQuNCA4My45IDAgMzkuOSAxOS40IDY1LjEgNjggNzYuOCA0NC45IDEwLjYgNzkuOCAxMy44IDc5LjggNDUuNyAwIDIxLjctMjEuMSAzMC41LTYxIDMwLjUtNTkuMiAwLTgzLjktMzEuMS05Ny45LTczLjktMzItOTYuOC00My42LTE2My0xNjEuMy0xNjMtODYuMSAwLTEzMS44IDU0LjUtMTMxLjggMTQ3LjIgMCA4OS4xIDQ1LjcgMTM3LjIgMTI3LjkgMTM3LjIgNjYuMiAwIDk3LjktMzEuMSA5Ny45LTMxLjF6Il19LHoydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaG9wd2FyZSIsaWNvbjpbNTEyLDUxMixbXSwiZjViNSIsIk00MDMuNSA0NTUuNGMtNDIuNiAzMS43LTk0LjQgNDguNy0xNDcuNSA0OC42LTEzNy4yIDAtMjQ4LTExMS0yNDgtMjQ4IDAtMTM3LjIgMTExLTI0OCAyNDgtMjQ4IDYxLjItLjEgMTIwLjIgMjIuNiAxNjUuNyA2My41IC42IC41IC45IDEuMiAxLjEgMS45cy4xIDEuNS0uMyAyLjItLjggMS4zLTEuNSAxLjYtMS40IC41LTIuMiAuNGMtMTguOC0yLjUtMzcuNy0zLjctNTYuNy0zLjctMTI5LjQgMC0yMjIuNCA1My41LTIyMi40IDE1NS40IDAgMTA5IDkyLjEgMTQ1LjkgMTc2LjggMTc4LjcgMzMuNiAxMyA2NS40IDI1LjQgODcgNDEuNiAuNCAuMyAuOCAuOCAxLjEgMS4zcy40IDEgLjQgMS42LS4xIDEuMS0uNCAxLjYtLjYgLjktMS4xIDEuM2wtLjEgMHpNNTAzIDIzMy4xYy0uMS0uOS0uNS0xLjgtMS4zLTIuNC01MS44LTQzLTkzLjYtNjAuNS0xNDQuNS02MC41LTg0LjEgMC04MC4zIDUyLjItODAuMyA1My42IDAgNDIuNiA1Mi4xIDYyIDExMi4zIDg0LjUgMzEuMSAxMS42IDYzLjIgMjMuNiA5Mi43IDM5LjkgLjQgLjIgLjkgLjQgMS40IC40czEgMCAxLjUtLjIgLjktLjQgMS4zLS44IC42LS44IC44LTEuMmMxNC4xLTM2IDE5LjUtNzQuOCAxNi0xMTMuM3oiXX0sQzJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsb2dnZXIiLGljb246WzQ0OCw1MTIsW10sImYzN2MiLCJNMTYyLjQgMTk2YzQuOC00LjkgNi4yLTUuMSAzNi40LTUuMSAyNy4yIDAgMjguMSAuMSAzMi4xIDIuMSA1LjggMi45IDguMyA3IDguMyAxMy42IDAgNS45LTIuNCAxMC03LjYgMTMuNC0yLjggMS44LTQuNSAxLjktMzEuMSAyLjEtMTYuNCAuMS0yOS41LS4yLTMxLjUtLjgtMTAuMy0yLjktMTQuMS0xNy43LTYuNi0yNS4zem02MS40IDk0LjVjLTUzLjkgMC01NS44IC4yLTYwLjIgNC4xLTMuNSAzLjEtNS43IDkuNC01LjEgMTMuOSAuNyA0LjcgNC44IDEwLjEgOS4yIDEyIDIuMiAxIDE0LjEgMS43IDU2LjMgMS4ybDQ3LjktLjYgOS4yLTEuNWM5LTUuMSAxMC41LTE3LjQgMy4xLTI0LjQtNS4zLTQuNy01LTQuNy02MC40LTQuN3pNNDQ3LjIgNDIwLjZjLTMuNSAyOC40LTIzIDUwLjQtNTEuMSA1Ny41LTcuMiAxLjgtOS43IDEuOS0xNzIuOSAxLjgtMTU3LjggMC0xNjUuOS0uMS0xNzItMS44LTguNC0yLjItMTUuNi01LjUtMjIuMy0xMC01LjYtMy44LTEzLjktMTEuOC0xNy0xNi40LTMuOC01LjYtOC4yLTE1LjMtMTAtMjJTMCA0MjAuMyAwIDI1Ni4zYzAtMTYzLjEgMC0xNjYuNiAxLjgtMTczLjcgNi4zLTI0LjcgMjUuOS00My42IDUxLjItNDkuMiA3LjMtMS42IDMzMi4xLTEuOSAzNDAtLjMgMjEuMiA0LjMgMzcuOSAxNy4xIDQ3LjYgMzYuNCA3LjcgMTUuMyA3LTEuNSA3LjMgMTgwLjYgLjIgMTE1LjggMCAxNjQuNS0uNyAxNzAuNXpNMzYxLjggMjM1LjRjLTEuMS01LTQuMi05LjYtNy43LTExLjUtMS4xLS42LTgtMS4zLTE1LjUtMS43LTEyLjQtLjYtMTMuOC0uOC0xNy44LTMuMS02LjItMy42LTcuOS03LjYtOC0xOC4zIDAtMjAuNC04LjUtMzkuNC0yNS4zLTU2LjUtMTItMTIuMi0yNS4zLTIwLjUtNDAuNi0yNS4xLTMuNi0xLjEtMTEuOC0xLjUtMzkuMi0xLjgtNDIuOS0uNS01Mi41IC40LTY3LjEgNi4yLTI3IDEwLjctNDYuMyAzMy40LTUzLjQgNjIuNC0xLjMgNS40LTEuNiAxNC4yLTEuOSA2NC4zLS40IDYyLjggMCA3Mi4xIDQgODQuNSA5LjcgMzAuNyAzNy4xIDUzLjQgNjQuNiA1OC40IDkuMiAxLjcgMTIyLjIgMi4xIDEzMy43IC41IDIwLjEtMi43IDM1LjktMTAuOCA1MC43LTI1LjkgMTAuNy0xMC45IDE3LjQtMjIuOCAyMS44LTM4LjUgMy4yLTEwLjkgMi45LTg4LjQgMS43LTkzLjl6Il19LFQydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlZGdlIixpY29uOls1MTIsNTEyLFtdLCJmMjgyIiwiTTEyMC4xIDM3LjRjNDEtMjUuMiA4Ny42LTM4LjIgMTM0LjktMzcuNCAxNjggMCAyNTcgMTIzLjggMjU3IDIxOS41LS4xIDMyLjctMTMgNjMuOS0zNS45IDg3LjItMjIuOSAyMy4yLTU0IDM2LjUtODYuNyAzNy03NS4yIDAtOTEuNS0yMy4xLTkxLjUtMzIgMC0zLjggMS4yLTYuMiA0LjgtOS40bDEtMS4yIC40LTEuNmMxMC41LTExLjUgMTUuOS0yNi4yIDE1LjktNDEuNiAwLTc4LjctODIuMi0xNDIuNy0xODQtMTQyLjctMzcuNS0uMy03NC41IDguOS0xMDcuNSAyNi45IDI3LTU3LjUgODIuNy05Ny42IDkxLjMtMTAzLjggLjgtLjYgLjMtLjggLjMtLjh6bTE1LjYgMzE4LjFjLTEuNCAzMCA0LjYgNjAgMTYuNCA4Ny4yIDEzLjYgMjYuNCAzMi43IDUxIDU2LjUgNjkuMy01OS41LTExLjUtMTExLjUtNDMuOS0xNDkuNC04OS4zLTM4LjEtNDYuNC01OS4yLTEwNC4zLTU5LjItMTY0LjggMC01MS4yIDYyLjQtOTQuNCAxMzYtOTQuNCAzNi42LS42IDcyLjQgMTAuOSAxMDEuOCAzMi43bC0zLjYgMS4yYy01MS41IDE3LjYtOTguNSA5MC43LTk4LjUgMTU4LjF6TTQ2OS44IDQwMGwtLjcgLjFjLTExLjggMTguOC0yNS45IDM1LjEtNDIuMiA0OS41LTMwLjggMjgtNjguMSA0NS41LTEwOC44IDQ5LjktMTguNiAuMy0zNi44LTMuMi01My44LTExLjQtMjUuNi0xMC4zLTQ3LjEtMzAtNjEuNi01My0xNC40LTIzLjktMjEuMS01MS43LTE5LTc5LjYtLjYtMjAuMSA1LjQtNDAuMyAxNS01OC4yIDEzLjkgMzMuMSAzNy41IDYxLjMgNjcuNiA4MC44czY1LjUgMjkuNSAxMDEuNCAyOC42YzMxIC4zIDYyLjEtNi43IDkwLjItMjAuNWwxLjktLjljMy45LTIuMyA3LjctMy45IDExLjYgMCA0LjUgNC45IDEuOCA5LjItMS4yIDE0LS4yIC4yLS4zIC41LS40IC43eiJdfSxfMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW94aG9zdCIsaWNvbjpbNjQwLDUxMixbXSwiZjIwOCIsIk02MTYgMTYwbC02Ny4zIDBDNTExLjIgNzAuNyA0MjIuOSA4IDMyMCA4IDE4MyA4IDcyIDExOSA3MiAyNTYgNzIgMjcyLjQgNzMuNiAyODguNSA3Ni43IDMwNEwyNCAzMDRjLTEzLjMgMC0yNCAxMC44LTI0IDI0IDAgMTMuMyAxMC43IDI0IDI0IDI0bDY3LjMgMGMzNy41IDg5LjMgMTI1LjggMTUyIDIyOC43IDE1MiAxMzcgMCAyNDgtMTExIDI0OC0yNDggMC0xNi40LTEuNi0zMi41LTQuNy00OGw1Mi43IDBjMTMuMyAwIDI0LTEwLjggMjQtMjQgMC0xMy4zLTEwLjctMjQtMjQtMjR6bS05NiA5NmMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDAtNzUuNyAwLTE0MS42LTQyLTE3NS41LTEwNEw0MjQgMzUyYzEzLjMgMCAyNC0xMC44IDI0LTI0IDAtMTMuMy0xMC43LTI0LTI0LTI0bC0yOTguMiAwYy0zLjgtMTUuNC01LjgtMzEuNC01LjgtNDggMC0xMTAuNSA4OS41LTIwMCAyMDAtMjAwIDc1LjcgMCAxNDEuNiA0MiAxNzUuNSAxMDRMMjE2IDE2MGMtMTMuMyAwLTI0IDEwLjgtMjQgMjQgMCAxMy4zIDEwLjcgMjQgMjQgMjRsMjk4LjIgMGMzLjggMTUuNCA1LjggMzEuNCA1LjggNDh6TTIxNiAyMzJsMjA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjQgMCAxMy4yLTEwLjcgMjQtMjQgMjRsLTIwOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNCAwLTEzLjIgMTAuNy0yNCAyNC0yNHoiXX0sTDJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNjaGxpeCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlYSIsIk0zNTAuNSAxNTcuN2wtNTQuMi00Ni4xIDczLjQtMzkgNzguMyA0NC4yLTk3LjUgNDAuOXpNMTkyIDEyMi4xbDQ1LjctMjguMiAzNC43IDM0LjYtNTUuNCAyOS0yNS0zNS40em0tNjUuMSA2LjZsMzEuOS0yMi4xIDE3LjIgMjguNC0zNi43IDIyLjUtMTIuNC0yOC44em0tMjMuMyA4OC4ybC04LjgtMzQuOCAyOS42LTE4LjMgMTMuMSAzNS4zLTMzLjkgMTcuOHpNODIuNCAxMzMuMmwyMy45LTE4LjEgOC45IDI0LTI2LjcgMTguMy02LjEtMjQuMnpNNTkgMjA2LjVsLTMuNi0yOC40IDIyLjMtMTUuNSA2LjEgMjguNy0yNC44IDE1LjJ6TTI4LjQgMjIzLjFsMjAuOC0xMi44IDMuMyAzMy40LTIyLjkgMTItMS4yLTMyLjZ6TTEuNCAyNjhMMjAuNiAyNTcuOCAyMSAyOTYgMCAzMDQuOCAxLjQgMjY4em01OS4xIDU5LjNsLTI4LjMgOC4zLTEuNi00Ni44IDI1LjEtMTAuNyA0LjggNDkuMnpNOTkgMjYzLjJsLTMxLjEgMTMtNS4yLTQwLjggMjcuNC0xNC40IDguOSA0Mi4yek0xMjMuMiAzNzdsLTQxLjYgNS45LTguMS02My41IDM1LjItMTAuOCAxNC41IDY4LjR6bTI4LjUtMTM5LjlsMjEuMiA1Ny4xLTQ2LjIgMTMuNi0xMy43LTU0LjEgMzguNy0xNi42em04NS43IDIzMC41bC03MC45LTMuMy0yNC4zLTk1LjggNTUuMi04LjYgNDAgMTA3Ljd6TTE1Mi41IDE4Ny45bDQyLjItMjIuNCAyOCA0NS45LTUwLjggMjEuMy0xOS40LTQ0Ljh6bTQxIDk0LjlsNjEuMy0xOC43IDUyLjggODYuNi03OS44IDExLjMtMzQuMy03OS4yem01MS40LTg1LjZsNjcuMy0yOC44IDY1LjUgNjUuNC04OC42IDI2LjItNDQuMi02Mi44eiJdfSwkMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZC1hbmQtZCIsaWNvbjpbNTc2LDUxMixbXSwiZjM4ZCIsIk04Mi45IDk4LjljLS42LTE3LjIgMi0zMy44IDEyLjctNDguMiAuMyA3LjQgMS4yIDE0LjUgNC4yIDIxLjYgNS45LTI3LjUgMTkuNy00OS4zIDQyLjMtNjUuNS0xLjkgNS45LTMuNSAxMS44LTMgMTcuNyA4LjctNy40IDE4LjgtMTcuOCA0NC40LTIyLjcgMTQuNy0yLjggMjkuNy0yIDQyLjEgMSAzOC41IDkuMyA2MSAzNC4zIDY5LjcgNzIuMyA1LjMgMjMuMSAuNyA0NS04LjMgNjYuNC01LjIgMTIuNC0xMiAyNC40LTIwLjcgMzUuMS0yLTEuOS0zLjktMy44LTUuOC01LjYtNDIuOC00MC44LTI2LjgtMjUuMi0zNy40LTM3LjQtMS4xLTEuMi0xLTIuMi0uMS0zLjYgOC4zLTEzLjUgMTEuOC0yOC4yIDEwLTQ0LTEuMS05LjgtNC4zLTE4LjktMTEuMy0yNi4yLTE0LjUtMTUuMy0zOS4yLTE1LTUzLjUgLjYtMTEuNCAxMi41LTE0LjEgMjcuNC0xMC45IDQzLjYgLjIgMS4zIC40IDIuNyAwIDMuOS0zLjQgMTMuNy00LjYgMjcuNi0yLjUgNDEuNiAuMSAuNSAuMSAxLjEgLjEgMS42IDAgLjMtLjEgLjUtLjIgMS4xLTIxLjgtMTEtMzYtMjguMy00My4yLTUyLjItOC4zIDE3LjgtMTEuMSAzNS41LTYuNiA1NC4xLTE1LjYtMTUuMi0yMS4zLTM0LjMtMjItNTUuMnpNNTUyLjUgMjIyLjFjLTExLjYtMTEuNi0yNS0yMC40LTQwLjEtMjYuNi0xMi44LTUuMi0yNi03LjktMzkuOS03LjEtMTAgLjYtMTkuNiAzLjEtMjkgNi40LTIuNSAuOS01LjEgMS42LTcuNyAyLjItNC45IDEuMi03LjMtMy4xLTQuNy02LjggMy4yLTQuNiAzLjQtNC4yIDE1LTEyIC42LS40IDEuMi0uOCAyLjItMS41bC0yLjUgMGMtLjYgMC0xLjIgLjItMS45IC4zLTE5LjMgMy4zLTMwLjcgMTUuNS00OC45IDI5LjYtMTAuNCA4LjEtMTMuOCAzLjgtMTItLjUgMS40LTMuNSAzLjMtNi43IDUuMS0xMCAxLTEuOCAyLjMtMy40IDMuNS01LjEtLjItLjItLjUtLjMtLjctLjUtMjcgMTguMy00Ni43IDQyLjQtNTcuNyA3My4zIC4zIC4zIC43IC42IDEgLjkgLjMtLjYgLjUtMS4yIC45LTEuNyAxMC40LTEyLjEgMjIuOC0yMS44IDM2LjYtMjkuOCAxOC4yLTEwLjYgMzcuNS0xOC4zIDU4LjctMjAuMiA0LjMtLjQgOC43LS4xIDEzLjEtLjEtMS44IC43LTMuNSAuOS01LjMgMS4xLTE4LjUgMi40LTM1LjUgOS01MS41IDE4LjUtMzAuMiAxNy45LTU0LjUgNDIuMi03NS4xIDcwLjQtLjMgLjQtLjQgLjktLjcgMS4zIDE0LjUgNS4zIDI0IDE3LjMgMzYuMSAyNS42IC4yLS4xIC4zLS4yIC40LS40bDEuMi0yLjdjMTIuMi0yNi45IDI3LTUyLjMgNDYuNy03NC41IDE2LjctMTguOCAzOC0yNS4zIDYyLjUtMjAgNS45IDEuMyAxMS40IDQuNCAxNy4yIDYuOCAyLjMtMS40IDUuMS0zLjIgOC00LjcgOC40LTQuMyAxNy40LTcgMjYuNy05IDE0LjctMy4xIDI5LjUtNC45IDQ0LjUtMS4zbDAtLjVjLS41LS40LTEuMi0uOC0xLjctMS40ek0zMTcuMSAzOTcuNmMtMzkuNC0zMy0yMi44LTE5LjUtNDIuNy0zNS42LS44IC45IDAtLjItMS45IDMtMTEuMiAxOS4xLTI1LjUgMzUuMy00NCA0Ny42LTEwLjMgNi44LTIxLjUgMTEuOC0zNC4xIDExLjgtMjEuNiAwLTM4LjItOS41LTQ5LjQtMjcuOC0xMi0xOS41LTEzLjMtNDAuNy04LjItNjIuNiA3LjgtMzMuOCAzMC4xLTU1LjIgMzguNi02NC4zLTE4LjctNi4yLTMzIDEuNy00Ni40IDEzLjkgLjgtMTMuOSA0LjMtMjYuMiAxMS44LTM3LjMtMjQuMyAxMC42LTQ1LjkgMjUtNjQuOCA0My45LS4zLTUuOCA1LjQtNDMuNyA1LjYtNDQuNyAuMy0yLjctLjYtNS4zLTMtNy40LTI0LjIgMjQuNy00NC41IDUxLjgtNTYuMSA4NC42IDcuNC01LjkgMTQuOS0xMS40IDIzLjYtMTYuMi04LjMgMjIuMy0xOS42IDUyLjgtNy44IDEwMS4xIDQuNiAxOSAxMS45IDM2LjggMjQuMSA1Mi4zIDIuOSAzLjcgNi4zIDYuOSA5LjUgMTAuMyAuMi0uMiAuNC0uMyAuNi0uNS0xLjQtNy0yLjItMTQuMS0xLjUtMjEuOSAyLjIgMy4yIDMuOSA2IDUuOSA4LjYgMTIuNiAxNiAyOC43IDI3LjQgNDcuMiAzNS42IDI1IDExLjMgNTEuMSAxMy4zIDc3LjkgOC42IDU0LjktOS43IDkwLjctNDguNiAxMTYtOTguOCAxLTEuOCAuNi0yLjktLjktNC4yem0xNzItNDYuNGMtOS41LTMuMS0yMi4yLTQuMi0yOC43LTIuOSA5LjkgNCAxNC4xIDYuNiAxOC44IDEyIDEyLjYgMTQuNCAxMC40IDM0LjctNS40IDQ1LjYtMTEuNyA4LjEtMjQuOSAxMC41LTM4LjkgOS4xLTEuMi0uMS0yLjMtLjQtMy0uNiAyLjgtMy43IDYtNyA4LjEtMTAuOCA5LjQtMTYuOCA1LjQtNDIuMS04LjctNTYuMS0yLjEtMi4xLTQuNi0zLjktNy01LjktLjMgMS4zLS4xIDIuMSAuMSAyLjggNC4yIDE2LjYtOC4xIDMyLjQtMjQuOCAzMS44LTcuNi0uMy0xMy45LTMuOC0xOS42LTguNS0xOS41LTE2LjEtMzkuMS0zMi4xLTU4LjUtNDguMy01LjktNC45LTEyLjUtOC4xLTIwLjEtOC43LTQuNi0uNC05LjMtLjYtMTMuOS0uOS01LjktLjQtOC44LTIuOC0xMC40LTguNC0uOS0zLjQtMS41LTYuOC0yLjItMTAuMi0xLjUtOC4xLTYuMi0xMy0xNC4zLTE0LjItNC40LS43LTguOS0xLTEzLjMtMS41LTEzLTEuNC0xOS44LTcuNC0yMi42LTIwLjMtNSAxMS0xLjYgMjIuNCA3LjMgMjkuOSA0LjUgMy44IDkuMyA3LjMgMTMuOCAxMS4yIDQuNiAzLjggNy40IDguNyA3LjkgMTQuOCAuNCA0LjcgLjggOS41IDEuOCAxNC4xIDIuMiAxMC42IDguOSAxOC40IDE3IDI1LjEgMTYuNSAxMy43IDMzIDI3LjMgNDkuNSA0MS4xIDE3LjkgMTUgMTMuOSAzMi44IDEzIDU2LS45IDIyLjkgMTIuMiA0Mi45IDMzLjUgNTEuMiAxIC40IDIgLjYgMy42IDEuMS0xNS43LTE4LjItMTAuMS00NC4xIC43LTUyLjMgLjMgMi4yIC40IDQuMyAuOSA2LjQgOS40IDQ0LjEgNDUuNCA2NC4yIDg1IDU2LjkgMTYtMi45IDMwLjYtOC45IDQyLjktMTkuOCAyLTEuOCAzLjctNC4xIDUuOS02LjUtMTkuMyA0LjYtMzUuOCAuMS01MC45LTEwLjYgLjctLjMgMS4zLS4zIDEuOS0uMyAyMS4zIDEuOCA0MC42LTMuNCA1Ny0xNy40IDE5LjUtMTYuNiAyNi42LTQyLjkgMTcuNC02Ni04LjMtMjAuMS0yMy42LTMyLjMtNDMuOC0zOC45ek05OS44IDE3OS4zYy01LjMtOS4yLTEzLjItMTUuNi0yMi4xLTIxLjMgMTMuNy0uNSAyNi42IC4yIDM5LjYgMy43LTctMTIuMi04LjUtMjQuNy01LTM4LjcgNS4zIDExLjkgMTMuNyAyMC4xIDIzLjYgMjYuOCAxOS43IDEzLjIgMzUuNyAxOS42IDQ2LjcgMzAuMiAzLjQgMy4zIDYuMyA3LjEgOS42IDEwLjktLjgtMi4xLTEuNC00LjEtMi4yLTYtNS0xMC42LTEzLTE4LjYtMjIuNi0yNS0xLjgtMS4yLTIuOC0yLjUtMy40LTQuNS0zLjMtMTIuNS0zLTI1LjEtLjctMzcuNiAxLTUuNSAyLjgtMTAuOSA0LjUtMTYuMyAuOC0yLjQgMi4zLTQuNiA0LTYuNiAuNiA2LjkgMCAyNS41IDE5LjYgNDYgMTAuOCAxMS4zIDIyLjQgMjEuOSAzMy45IDMyLjcgOSA4LjUgMTguMyAxNi43IDI1LjUgMjYuOCAxLjEgMS42IDIuMiAzLjMgMy44IDQuNy01LTEzLTE0LjItMjQuMS0yNC4yLTMzLjgtOS42LTkuMy0xOS40LTE4LjQtMjkuMi0yNy40LTMuMy0zLTQuNi02LjctNS4xLTEwLjktMS4yLTEwLjQgMC0yMC42IDQuMy0zMC4yIC41LTEgMS4xLTIgMS45LTMuMyAuNSA0LjIgLjYgNy45IDEuNCAxMS42IDQuOCAyMy4xIDIwLjQgMzYuMyA0OS4zIDYzLjUgMTAgOS40IDE5LjMgMTkuMiAyNS42IDMxLjYgNC44IDkuMyA3LjMgMTkgNS43IDI5LjYtLjEgLjYgLjUgMS43IDEuMSAyIDYuMiAyLjYgMTAgNi45IDkuNyAxNC4zIDcuNy0yLjYgMTIuNS04IDE2LjQtMTQuNSA0LjIgMjAuMi05LjEgNTAuMy0yNy4yIDU4LjcgLjQtNC41IDUtMjMuNC0xNi41LTI3LjctNi44LTEuMy0xMi44LTEuMy0yMi45LTIuMSA0LjctOSAxMC40LTIwLjYgLjUtMjIuNC0yNC45LTQuNi01Mi44IDEuOS01Ny44IDQuNiA4LjIgLjQgMTYuMyAxIDIzLjUgMy4zLTIgNi41LTQgMTIuNy01LjggMTguOS0xLjkgNi41IDIuMSAxNC42IDkuMyA5LjYgMS4yLS45IDIuMy0xLjkgMy4zLTIuNy0zLjEgMTcuOS0yLjkgMTUuOS0yLjggMTguMyAuMyAxMC4yIDkuNSA3LjggMTUuNyA3LjMtMi41IDExLjgtMjkuNSAyNy4zLTQ1LjQgMjUuOCA3LTQuNyAxMi43LTEwLjMgMTUuOS0xNy45LTYuNSAuOC0xMi45IDEuNi0xOS4yIDIuNGwtLjMtLjljNC43LTMuNCA4LTcuOCAxMC4yLTEzLjEgOC43LTIxLjEtMy42LTM4LTI1LTM5LjktOS4xLS44LTE3LjggLjgtMjUuOSA1LjUgNi4yLTE1LjYgMTcuMi0yNi42IDMyLjYtMzQuNS0xNS4yLTQuMy04LjktMi43LTI0LjYtNi4zIDE0LjYtOS4zIDMwLjItMTMuMiA0Ni41LTE0LjYtNS4yLTMuMi00OC4xLTMuNi03MC4yIDIwLjkgNy45IDEuNCAxNS41IDIuOCAyMy4yIDQuMi0yMy44IDctNDQgMTkuNy02Mi40IDM1LjYgMS4xLTQuOCAyLjctOS41IDMuMy0xNC4zIC42LTQuNSAuOC05LjIgLjEtMTMuNi0xLjUtOS40LTguOS0xNS4xLTE5LjctMTYuMy03LjktLjktMTUuNiAuMS0yMy4zIDEuMy0uOSAuMS0xLjcgLjMtMi45IDAgMTUuOC0xNC44IDM2LTIxLjcgNTMuMS0zMy41IDYtNC41IDYuOC04LjIgMy0xNC45em0xMjguNCAyNi44YzMuMyAxNiAxMi42IDI1LjUgMjMuOCAyNC4zLTQuNi0xMS4zLTEyLjEtMTkuNS0yMy44LTI0LjN6Il19LEQydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2dWVqcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjQxZiIsIk0zNTYuOSA2NC4zbC03Ni45IDAtNTYgODguNi00OC04OC42LTE3NiAwIDIyNCAzODMuNyAyMjQtMzgzLjctOTEuMSAwek01NS43IDk2LjNsNTMuOCAwIDExNC41IDE5OC4yIDExNC40LTE5OC4yIDUzLjggMC0xNjguMiAyODguMi0xNjguMy0yODguMnoiXX0sQTJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1ldGEiLGljb246WzY0MCw1MTIsW10sImU0OWIiLCJNNjQwIDMxNy45YzAgOTEuMy0zOS40IDE0OC41LTExMC4zIDE0OC41LTYyLjYgMC05NS44LTM0LjYtMTU2LjktMTM2LjZsLTMxLjQtNTIuNmMtOC4zLTEyLjUtMTQuNS0yNC4yLTIxLjItMzUtMjAuMSAzMy44LTQ3LjEgODMtNDcuMSA4My02NyAxMTYuNi0xMDQuNiAxNDEuMi0xNTYuOSAxNDEuMi03Mi44IDAtMTE2LjItNTcuMy0xMTYuMi0xNDUuOSAwLTE0MyA3OS44LTI3OC4xIDE4My45LTI3OC4xIDUwLjIgMCA5My44IDI0LjcgMTQ0LjggODkuNSAzNy4xLTUwLjEgNzguMS04OS41IDEzMC42LTg5LjUgOTkuMSAwIDE4MC43IDEyNS43IDE4MC43IDI3NS41ek0yODcuNCAxOTIuMmMtNDIuOS02Mi4xLTcwLjktODAuNS0xMDQuNC04MC41LTYxLjkgMC0xMTMuOCAxMDYuMS0xMTMuOCAyMTAgMCA0OC41IDE4LjUgNzUuNyA0OS42IDc1LjcgMzAuMiAwIDQ5LTE5IDEwMy4yLTEwMy44IDAgMCAyNC43LTM5LjEgNjUuNC0xMDEuNHpNNTMxLjIgMzk3LjRjMzIuMiAwIDQ2LjktMjcuNSA0Ni45LTc0LjkgMC0xMjQuMi01NC4zLTIyNS40LTEyMy4yLTIyNS40LTMzLjIgMC02MS4xIDI1LjktOTQuOSA3OCA5LjQgMTMuOCAxOS4xIDI5IDI5LjMgNDUuNGwzNy41IDYyLjRjNTguNyA5NC4xIDczLjUgMTE0LjUgMTA0LjQgMTE0LjV6Il19LEUydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLXNoYXJlIixpY29uOls1MTIsNTEyLFtdLCJmNGYyIiwiTTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3ptMTAxIDEzMi40YzcuOCAwIDEzLjcgNi4xIDEzLjcgMTMuN2wwIDE4Mi41YzAgNy43LTYuMSAxMy43LTEzLjcgMTMuN2wtMTM1LjEgMGMtNy43IDAtMTMuNy02LTEzLjctMTMuN2wwLTU0LTU0IDBjLTcuOCAwLTEzLjctNi0xMy43LTEzLjdsMC0xODIuNWMwLTguMiA2LjYtMTIuNyAxMi40LTEzLjdsMTM2LjQgMGM3LjcgMCAxMy43IDYgMTMuNyAxMy43bDAgNTQgNTQgMHpNMTY3LjkgMzAwLjNsNDAuNyAwIDAtMTAxLjRjMC03LjQgNS44LTEyLjYgMTItMTMuN2w1NS44IDAgMC00MC4zLTEwOC41IDAgMCAxNTUuNHptMTc2LjItODguMWwtMTA4LjUgMCAwIDE1NS40IDEwOC41IDAgMC0xNTUuNHoiXX0sSTJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0dWRpb3ZpbmFyaSIsaWNvbjpbNTEyLDUxMixbXSwiZjNmOCIsIk00ODAuNyAxODcuN2w0LjIgMjggMCAyOC0yNS4xIDQ0LjEtMzkuOCA3OC40LTU2LjEgNjcuNS03OS4xIDM3LjgtMTcuNyAyNC41LTcuNyAxMi05LjYgNHMxNy4zLTYzLjYgMTkuNC02My42IDIwLjMgLjcgMjAuMyAuN2w2Ni43LTM4LjYtOTIuNSAyNi4xLTU1LjkgMzYuOC0yMi44IDI4LTYuNiAxLjQgMjAuOC03My42IDYuOS01LjUgMjAuNyAxMi45IDg4LjMtNDUuMiA1Ni44LTUxLjUgMTQuOC02OC40LTEyNS40IDIzLjMgMTUuMi0xOC4yLTE3My40LTUzLjMgODEuOS0xMC41LTE2Ni0xMjIuOSAxMTQuOSAxOC4xLTEwMS4zLTEwOCAyNTIuOSAxMjYuNi0zMS41LTM4IDEyNC40IDc0LjQtMTQzLjMtOTkgMTguNyAzOC40LTQ5LjYtMTguMS00NS41LTg0LjMgMTk0LjYgMTIyLTQyLjktNTUuOCAxMDggOTYuNCAxMi04LjktMjEtMTYuNCA0LjItMzcuOCAzNy44LTEwLjQgMjkuMiAyNC43IDExLjUgNC4yLTcgNi4yIDguNSAxMi0xMy4xIDcuNC0xMC4zIDIwLjIgMTAuNSAyMy45eiJdfSxQMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYml0YnVja2V0IixpY29uOls1MTIsNTEyLFs2MTgxMF0sImYxNzEiLCJNMjIuMiAzMmMtMi4xIDAtNC4yIC40LTYuMSAxLjFzLTMuNyAxLjktNS4yIDMuNC0yLjcgMy4yLTMuNSA1LjEtMS4zIDQtMS4zIDYuMWMwIC45IC4xIDEuOSAuMiAyLjhMNzQuMSA0NjIuN2MuOCA1LjEgMy40IDkuNyA3LjMgMTNzOC44IDUuMiAxNCA1LjJsMzI1LjcgMGMzLjggLjEgNy41LTEuMyAxMC41LTMuN3M0LjktNS45IDUuNS05LjdMNTA1IDUwLjdjLjctNC4yLS4zLTguNC0yLjgtMTEuOXMtNi4yLTUuNy0xMC40LTYuNGMtLjktLjEtMS45LS4yLTIuOC0uMkwyMi4yIDMyek0zMDguMSAzMjkuOGwtMTA0IDAtMjguMS0xNDcgMTU3LjMgMC0yNS4yIDE0N3oiXX0sTjJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZrIixpY29uOls0NDgsNTEyLFtdLCJmMTg5IiwiTTMxLjUgNjMuNUMwIDk1IDAgMTQ1LjcgMCAyNDdMMCAyNjVDMCAzNjYuMyAwIDQxNyAzMS41IDQ0OC41UzExMy43IDQ4MCAyMTUgNDgwbDE3LjkgMGMxMDEuNCAwIDE1Mi4xIDAgMTgzLjUtMzEuNVM0NDggMzY2LjMgNDQ4IDI2NWwwLTE3LjljMC0xMDEuNCAwLTE1Mi4xLTMxLjUtMTgzLjVTMzM0LjMgMzIgMjMzIDMyTDIxNSAzMkMxMTMuNyAzMiA2MyAzMiAzMS41IDYzLjV6TTc1LjYgMTY4LjNsNTEuMSAwYzEuNyA4NS41IDM5LjQgMTIxLjcgNjkuMyAxMjkuMmwwLTEyOS4yIDQ4LjIgMCAwIDczLjdjMjkuNS0zLjIgNjAuNS0zNi44IDcwLjktNzMuN2w0OC4yIDBjLTMuOSAxOS4yLTExLjggMzcuMy0yMy4xIDUzLjNzLTI1LjcgMjkuNS00Mi41IDM5LjZjMTguNyA5LjMgMzUuMiAyMi40IDQ4LjQgMzguNXMyMi45IDM0LjkgMjguMyA1NWwtNTMgMGMtNC45LTE3LjUtMTQuOC0zMy4xLTI4LjYtNDVzLTMwLjctMTkuNC00OC43LTIxLjZsMCA2Ni42LTUuOCAwYy0xMDIuMSAwLTE2MC4zLTcwLTE2Mi44LTE4Ni41eiJdfSxGMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0aHViIixpY29uOls1MTIsNTEyLFtdLCJmMDliIiwiTTE3My45IDM5Ny40YzAgMi0yLjMgMy42LTUuMiAzLjYtMy4zIC4zLTUuNi0xLjMtNS42LTMuNiAwLTIgMi4zLTMuNiA1LjItMy42IDMtLjMgNS42IDEuMyA1LjYgMy42em0tMzEuMS00LjVjLS43IDIgMS4zIDQuMyA0LjMgNC45IDIuNiAxIDUuNiAwIDYuMi0ycy0xLjMtNC4zLTQuMy01LjJjLTIuNi0uNy01LjUgLjMtNi4yIDIuM3ptNDQuMi0xLjdjLTIuOSAuNy00LjkgMi42LTQuNiA0LjkgLjMgMiAyLjkgMy4zIDUuOSAyLjYgMi45LS43IDQuOS0yLjYgNC42LTQuNi0uMy0xLjktMy0zLjItNS45LTIuOXpNMjUyLjggOGMtMTM4LjcgMC0yNDQuOCAxMDUuMy0yNDQuOCAyNDQgMCAxMTAuOSA2OS44IDIwNS44IDE2OS41IDIzOS4yIDEyLjggMi4zIDE3LjMtNS42IDE3LjMtMTIuMSAwLTYuMi0uMy00MC40LS4zLTYxLjQgMCAwLTcwIDE1LTg0LjctMjkuOCAwIDAtMTEuNC0yOS4xLTI3LjgtMzYuNiAwIDAtMjIuOS0xNS43IDEuNi0xNS40IDAgMCAyNC45IDIgMzguNiAyNS44IDIxLjkgMzguNiA1OC42IDI3LjUgNzIuOSAyMC45IDIuMy0xNiA4LjgtMjcuMSAxNi0zMy43LTU1LjktNi4yLTExMi4zLTE0LjMtMTEyLjMtMTEwLjUgMC0yNy41IDcuNi00MS4zIDIzLjYtNTguOS0yLjYtNi41LTExLjEtMzMuMyAyLjYtNjcuOSAyMC45LTYuNSA2OSAyNyA2OSAyNyAyMC01LjYgNDEuNS04LjUgNjIuOC04LjVzNDIuOCAyLjkgNjIuOCA4LjVjMCAwIDQ4LjEtMzMuNiA2OS0yNyAxMy43IDM0LjcgNS4yIDYxLjQgMi42IDY3LjkgMTYgMTcuNyAyNS44IDMxLjUgMjUuOCA1OC45IDAgOTYuNS01OC45IDEwNC4yLTExNC44IDExMC41IDkuMiA3LjkgMTcgMjIuOSAxNyA0Ni40IDAgMzMuNy0uMyA3NS40LS4zIDgzLjYgMCA2LjUgNC42IDE0LjQgMTcuMyAxMi4xIDEwMC0zMy4yIDE2Ny44LTEyOC4xIDE2Ny44LTIzOSAwLTEzOC43LTExMi41LTI0NC0yNTEuMi0yNDR6TTEwNS4yIDM1Mi45Yy0xLjMgMS0xIDMuMyAuNyA1LjIgMS42IDEuNiAzLjkgMi4zIDUuMiAxIDEuMy0xIDEtMy4zLS43LTUuMi0xLjYtMS42LTMuOS0yLjMtNS4yLTF6bS0xMC44LTguMWMtLjcgMS4zIC4zIDIuOSAyLjMgMy45IDEuNiAxIDMuNiAuNyA0LjMtLjcgLjctMS4zLS4zLTIuOS0yLjMtMy45LTItLjYtMy42LS4zLTQuMyAuN3ptMzIuNCAzNS42Yy0xLjYgMS4zLTEgNC4zIDEuMyA2LjIgMi4zIDIuMyA1LjIgMi42IDYuNSAxIDEuMy0xLjMgLjctNC4zLTEuMy02LjItMi4yLTIuMy01LjItMi42LTYuNS0xem0tMTEuNC0xNC43Yy0xLjYgMS0xLjYgMy42IDAgNS45czQuMyAzLjMgNS42IDIuM2MxLjYtMS4zIDEuNi0zLjkgMC02LjItMS40LTIuMy00LTMuMy01LjYtMnoiXX0sTzJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNvZGllcGllIixpY29uOls1MTIsNTEyLFtdLCJmMjg0IiwiTTQ0Mi41IDIwMi45YzMwLjcgMCAzMy41IDUzLjEtLjMgNTMuMWwtMTAuOCAwIDAgNDQuMy0yNi42IDAgMC05Ny40IDM3LjcgMHpNNDkyIDM1Mi42QzQ0OS45IDQ0NC41IDM3MC40IDUwNCAyNjggNTA0IDEzMSA1MDQgMjAgMzkzIDIwIDI1NlMxMzEgOCAyNjggOGM5Ny40IDAgMTcyLjggNTMuNyAyMTguMiAxMzguNEwzMDAuMiAyNTUuMiA0OTIgMzUyLjZ6bS0zOC41IDEyLjVsLTYwLjMtMzAuN2MtMjcuMSA0NC4zLTcwLjQgNzEuNC0xMjIuNCA3MS40LTgyLjUgMC0xNDkuMi02Ni43LTE0OS4yLTE0OC45IDAtODIuNSA2Ni43LTE0OS4yIDE0OS4yLTE0OS4yIDQ4LjQgMCA4OC45IDIzLjUgMTE2LjkgNjMuNGw1OS41LTM0LjZDNDA2LjUgNzMuOSAzNDIuNSAzNi41IDI2OCAzNi41IDE0Ni44IDM2LjUgNDguNSAxMzQuOCA0OC41IDI1NlMxNDYuOCA0NzUuNSAyNjggNDc1LjVjNzguNiAwIDE0Ni41LTQyLjEgMTg1LjUtMTEwLjR6Il19LFIydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaWVkLXBpcGVyIixpY29uOls0NDgsNTEyLFtdLCJmMmFlIiwiTTQ0MC4yIDIzLjJjLTI2LjcgNi44LTY4LjEgMjguNS0xMTQuNiA2Ny41LTMwLjktMTcuNS02NS44LTI2LjctMTAxLjQtMjYuNy0xMTQuOSAwLTIwOCA5My4xLTIwOCAyMDhzOTMuMSAyMDggMjA4IDIwOCAyMDgtOTMuMSAyMDgtMjA4Yy4xLTU0LjEtMjEtMTA2LjEtNTguNy0xNDQuOC02LjYgOC41LTEyLjMgMTcuNy0xNyAyNy40IDI4LjkgMzIuMyA0NC44IDc0LjEgNDQuOSAxMTcuNCAwIDk3LjctNzkuNCAxNzcuMS0xNzcuMSAxNzcuMS0zMC44IDAtNjEtOC4xLTg3LjYtMjMuNCA4Mi45LTEwNy4zIDE1MC44LTM3LjggMTg0LjMtMjI2LjYgNS44LTMyLjYgMjgtOTQuMyAxMjYuMi0xNjAuMiA4LjEtNS40IDIuNC0xOC4xLTctMTUuN3pNMTA5LjMgNDA2LjRDODkuOCAzODkuOCA3NC4yIDM2OS4yIDYzLjUgMzQ2cy0xNi4zLTQ4LjUtMTYuMy03NGMwLTk3LjcgNzkuNC0xNzcuMSAxNzcuMS0xNzcuMSAyNi42IDAgNTIuOCA2LjEgNzYuNiAxNy44LTY2IDYyLjEtMTI2LjkgMTUyLjktMTkxLjYgMjkzLjh6Il19LEIydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyYXNwYmVycnktcGkiLGljb246WzQ0OCw1MTIsW10sImY3YmIiLCJNMzkyLjUgMjMyLjVsLTMuNy02LjVjLjEtNDYuNC0yMS40LTY1LjMtNDYuNS03OS43IDcuNi0yIDE1LjQtMy42IDE3LjYtMTMuMiAxMy4xLTMuMyAxNS44LTkuNCAxNy4xLTE1LjggMy40LTIuMyAxNC44LTguNyAxMy42LTE5LjcgNi40LTQuNCAxMC0xMC4xIDguMS0xOC4xIDYuOS03LjUgOC43LTEzLjcgNS44LTE5LjQgOC4zLTEwLjMgNC42LTE1LjYgMS4xLTIwLjkgNi4yLTExLjIgLjctMjMuMi0xNi42LTIxLjItNi45LTEwLjEtMjEuOS03LjgtMjQuMi03LjgtMi42LTMuMi02LTYtMTYuNS00LjctNi44LTYuMS0xNC40LTUtMjIuMy0yLjEtOS4zLTcuMy0xNS41LTEuNC0yMi42IC44LTExLjMtMy42LTEzLjkgMS4zLTE5LjQgMy40LTEyLjMtMi42LTE2LjEgMy0yMiA4LjlsLTYuOS0uMWMtMTguNiAxMC44LTI3LjggMzIuOC0zMS4xIDQ0LjEtMy4zLTExLjMtMTIuNS0zMy4zLTMxLjEtNDQuMWwtNi45IC4xYy01LjktNS45LTkuNy0xMS41LTIyLTguOS01LjYtMi04LjEtNy0xOS40LTMuNC00LjYtMS40LTguOS00LjQtMTMuOS00LjMtMi42IC4xLTUuNSAxLTguNyAzLjUtNy45LTMtMTUuNS00LTIyLjMgMi4xLTEwLjUtMS4zLTE0IDEuNC0xNi41IDQuNy0yLjMgMC0xNy4zLTIuMy0yNC4yIDcuOC0xNy4zLTItMjIuNyAxMC0xNi41IDIxLjItMy41IDUuNC03LjIgMTAuNyAxLjEgMjAuOS0yLjkgNS43LTEuMSAxMS45IDUuOCAxOS40LTEuOCA4IDEuOCAxMy43IDguMSAxOC4xLTEuMiAxMSAxMC4yIDE3LjQgMTMuNiAxOS43IDEuMyA2LjQgNCAxMi40IDE3LjEgMTUuOCAyLjIgOS41IDEwIDExLjIgMTcuNiAxMy4yLTI1LjEgMTQuNC00Ni42IDMzLjMtNDYuNSA3OS43bC0zLjcgNi41Yy0yOC44IDE3LjItNTQuNyA3Mi43LTE0LjIgMTE3LjcgMi42IDE0LjEgNy4xIDI0LjIgMTEgMzUuNCA1LjkgNDUuMiA0NC41IDY2LjMgNTQuNiA2OC44IDE0LjkgMTEuMiAzMC44IDIxLjggNTIuMiAyOS4yIDIwLjMgMjAuNiA0Mi4zIDI4LjQgNjQuMyAyOC40bDEgMGMyMi4xIDAgNDQtNy44IDY0LjItMjguNCAyMS41LTcuNCAzNy4zLTE4IDUyLjItMjkuMiAxMC4yLTIuNSA0OC43LTIzLjYgNTQuNi02OC44IDMuOS0xMS4yIDguNC0yMS4zIDExLTM1LjQgNDAuNi00NS4xIDE0LjctMTAwLjUtMTQtMTE3Ljd6bS0yMi4yLThjLTEuNSAxOC43LTk4LjktNjUuMS04Mi4xLTY3LjkgNDUuNy03LjUgODMuNiAxOS4yIDgyLjEgNjcuOXptLTQzIDkzLjFjLTI0LjUgMTUuOC01OS44IDUuNi03OC44LTIyLjhzLTE0LjYtNjQuMiA5LjktODAgNTkuOC01LjYgNzguOCAyMi44IDE0LjYgNjQuMi05LjkgODB6TTI1OS40IDI5LjNjLjggNC4yIDEuOCA2LjggMi45IDcuNiA1LjQtNS44IDkuOC0xMS43IDE2LjgtMTcuMyAwIDMuMy0xLjcgNi44IDIuNSA5LjQgMy43LTUgOC44LTkuNSAxNS41LTEzLjMtMy4yIDUuNi0uNiA3LjMgMS4yIDkuNiA1LjEtNC40IDEwLTguOCAxOS40LTEyLjMtMi42IDMuMS02LjIgNi4yLTIuNCA5LjggNS4zLTMuMyAxMC42LTYuNiAyMy4xLTguOS0yLjggMy4xLTguNyA2LjMtNS4xIDkuNCA2LjYtMi41IDE0LTQuNCAyMi4xLTUuNC0zLjkgMy4yLTcuMSA2LjMtMy45IDguOCA3LjEtMi4yIDE2LjktNS4xIDI2LjQtMi42bC02IDYuMWMtLjcgLjggMTQuMSAuNiAyMy45IC44LTMuNiA1LTcuMiA5LjctOS4zIDE4LjIgMSAxIDUuOCAuNCAxMC40IDAtNC43IDkuOS0xMi44IDEyLjMtMTQuNyAxNi42IDIuOSAyLjIgNi44IDEuNiAxMS4yIC4xLTMuNCA2LjktMTAuNCAxMS43LTE2IDE3LjMgMS40IDEgMy45IDEuNiA5LjcgLjktNS4yIDUuNS0xMS40IDEwLjUtMTguOCAxNSAxLjMgMS41IDUuOCAxLjUgMTAgMS42LTYuNyA2LjUtMTUuMyA5LjktMjMuNCAxNC4yIDQgMi43IDYuOSAyLjEgMTAgMi4xLTUuNyA0LjctMTUuNCA3LjEtMjQuNCAxMCAxLjcgMi43IDMuNCAzLjQgNy4xIDQuMS05LjUgNS4zLTIzLjIgMi45LTI3IDUuNiAuOSAyLjcgMy42IDQuNCA2LjcgNS44LTE1LjQgLjktNTcuMy0uNi02NS40LTMyLjMgMTUuNy0xNy4zIDQ0LjQtMzcuNSA5My43LTYyLjYtMzguNCAxMi44LTczIDMwLTEwMiA1My41LTM0LjMtMTUuOS0xMC44LTU1LjkgNS44LTcxLjh6TTIyNSAxNDMuOWMyNC4yLS4zIDU0LjEgMTcuOCA1NCAzNC43LS4xIDE1LTIxIDI3LjEtNTMuOCAyNi45LTMyLjEtLjQtNTMuNy0xNS4yLTUzLjYtMjkuOCAwLTExLjkgMjYuMi0zMi41IDUzLjQtMzEuOHpNMTAyIDEzMS4xYzMuNy0uNyA1LjQtMS41IDcuMS00LjEtOS0yLjgtMTguNy01LjMtMjQuNC0xMCAzLjEgMCA2IC43IDEwLTIuMS04LjEtNC4zLTE2LjctNy43LTIzLjQtMTQuMiA0LjItLjEgOC43IDAgMTAtMS42LTcuNC00LjUtMTMuNi05LjUtMTguOC0xNSA1LjggLjcgOC4zIC4xIDkuNy0uOS01LjYtNS42LTEyLjctMTAuNC0xNi0xNy4zIDQuMyAxLjUgOC4zIDIgMTEuMi0uMS0xLjktNC4yLTEwLTYuNy0xNC43LTE2LjYgNC42IC40IDkuNCAxIDEwLjQgMC0yLjEtOC41LTUuOC0xMy4zLTkuMy0xOC4yIDkuOC0uMSAyNC42IDAgMjMuOS0uOGwtNi02LjFjOS41LTIuNSAxOS4zIC40IDI2LjQgMi42IDMuMi0yLjUtLjEtNS42LTMuOS04LjggOC4xIDEuMSAxNS40IDIuOSAyMi4xIDUuNCAzLjUtMy4xLTIuMy02LjMtNS4xLTkuNCAxMi41IDIuMyAxNy44IDUuNiAyMy4xIDguOSAzLjgtMy42IC4yLTYuNy0yLjQtOS44IDkuNCAzLjQgMTQuMyA3LjkgMTkuNCAxMi4zIDEuNy0yLjMgNC40LTQgMS4yLTkuNiA2LjcgMy44IDExLjggOC4zIDE1LjUgMTMuMyA0LjEtMi42IDIuNS02LjIgMi41LTkuNCA3IDUuNiAxMS40IDExLjUgMTYuOCAxNy4zIDEuMS0uOCAyLTMuNCAyLjktNy42IDE2LjYgMTUuOSA0MC4xIDU1LjkgNiA3MS44LTI5LTIzLjUtNjMuNi00MC43LTEwMi01My41IDQ5LjMgMjUgNzggNDUuMyA5My43IDYyLjYtOCAzMS44LTUwIDMzLjItNjUuNCAzMi4zIDMuMS0xLjQgNS44LTMuMiA2LjctNS44LTQtMi44LTE3LjYtLjQtMjcuMi01LjZ6bTYwLjEgMjQuMWMxNi44IDIuOC04MC42IDg2LjUtODIuMSA2Ny45LTEuNS00OC43IDM2LjUtNzUuNSA4Mi4xLTY3Ljl6TTU4LjcgMzQyYy0yMy43LTE4LjgtMzEuMy03My43IDEyLjYtOTguMyAyNi41LTcgOSAxMDcuOC0xMi42IDk4LjN6bTkxIDk4LjJjLTEzLjMgNy45LTQ1LjggNC43LTY4LjgtMjcuOS0xNS41LTI3LjQtMTMuNS01NS4yLTIuNi02My40IDE2LjMtOS44IDQxLjUgMy40IDYwLjkgMjUuNiAxNi45IDIwIDI0LjYgNTUuMyAxMC41IDY1Ljd6TTEyMy4zIDMyMC41Yy0yNC41LTE1LjgtMjguOS01MS42LTkuOS04MHM1NC4zLTM4LjYgNzguOC0yMi44IDI4LjkgNTEuNiA5LjkgODBjLTE5LjEgMjguNC01NC40IDM4LjYtNzguOCAyMi44ek0yMjUuNSA0OTZjLTI5LjQgMS4yLTU4LjItMjMuNy01Ny44LTMyLjMtLjQtMTIuNyAzNS44LTIyLjYgNTkuMy0yMiAyMy43LTEgNTUuNiA3LjUgNTUuNyAxOC45IC41IDExLTI4LjggMzUuOS01Ny4yIDM1LjR6bTU4LjktMTI0LjljLjIgMjkuNy0yNi4yIDUzLjgtNTguOCA1NHMtNTkuMi0yMy44LTU5LjQtNTMuNGwwLS42Yy0uMi0yOS43IDI2LjItNTMuOCA1OC44LTU0czU5LjIgMjMuOCA1OS40IDUzLjRsMCAuNnptODIuMiA0Mi43Yy0yNS4zIDM0LjYtNTkuNiAzNS45LTcyLjMgMjYuMy0xMy4zLTEyLjQtMy4yLTUwLjkgMTUuMS03MiAyMC45LTIzLjMgNDMuMy0zOC41IDU4LjktMjYuNiAxMC41IDEwLjMgMTYuNyA0OS4xLTEuNyA3Mi4zem0yMi45LTczLjJjLTIxLjUgOS40LTM5LTEwNS4zLTEyLjYtOTguMyA0My45IDI0LjcgMzYuMyA3OS42IDEyLjYgOTguM3oiXX0sSDJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNzczMiLGljb246WzUxMiw1MTIsW10sImYxM2MiLCJNNDgwIDMybC02NCAzNjgtMjIzLjMgODAtMTkyLjctODAgMTkuNi05NC44IDgyIDAtOCA0MC42IDExNi40IDQ0LjQgMTM0LjEtNDQuNCAxOC44LTk3LjEtMzMzLjQgMCAxNi04MiAzMzMuNyAwIDEwLjUtNTIuNy0zMzMuNCAwIDE2LjMtODIgNDA3LjQgMHoiXX0scTJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imh1YnNwb3QiLGljb246WzQ0OCw1MTIsW10sImYzYjIiLCJNMjM1LjggMjExLjZjLTI1LjEgMjMuNy00MC44IDU3LjMtNDAuOCA5NC42IDAgMjkuMyA5LjcgNTYuMyAyNiA3OEwxNzEuNSA0MzRjLTQuNC0xLjYtOS4xLTIuNS0xNC0yLjUtMTAuOCAwLTIwLjkgNC4yLTI4LjUgMTEuOHMtMTEuOCAxNy44LTExLjggMjguNiA0LjIgMjAuOSAxMS44IDI4LjUgMTcuOCAxMS42IDI4LjUgMTEuNmMxMC44IDAgMjAuOS0zLjkgMjguNi0xMS42IDcuNi03LjYgMTEuOC0xNy44IDExLjgtMjguNSAwLTQuMi0uNi04LjItMS45LTEyLjFsNTAtNTAuMmMyMiAxNi45IDQ5LjQgMjYuOSA3OS4zIDI2LjkgNzEuOSAwIDEzMC01OC4zIDEzMC0xMzAuMiAwLTY1LjItNDcuNy0xMTkuMi0xMTAuMi0xMjguN2wwLTYxLjZjMTcuNS03LjQgMjguMi0yMy44IDI4LjItNDIuOSAwLTI2LjEtMjAuOS00Ny45LTQ3LTQ3LjlTMjc5LjYgNDcgMjc5LjYgNzMuMWMwIDE5LjEgMTAuNyAzNS41IDI4LjIgNDIuOWwwIDYxLjJjLTE1LjIgMi4xLTI5LjYgNi43LTQyLjcgMTMuNi0yNy42LTIwLjktMTE3LjUtODUuNy0xNjguOS0xMjQuOCAxLjItNC40IDItOSAyLTEzLjggMC0yOC44LTIzLjUtNTIuMi01Mi40LTUyLjItMjguOCAwLTUyLjIgMjMuNC01Mi4yIDUyLjIgMCAyOC45IDIzLjQgNTIuMyA1Mi4yIDUyLjMgOS44IDAgMTguOS0yLjkgMjYuOC03LjZMMjM1LjggMjExLjZ6bTg5LjUgMjUuNmE2OSA2OSAwIDEgMSAwIDEzOCA2OSA2OSAwIDEgMSAwLTEzOHoiXX0sajJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNtcGxpZCIsaWNvbjpbNjQwLDUxMixbXSwiZTM2MCIsIk0yMjYuMSAzODguMmMwLS43LS4yLTEuNS0uNi0yLjFzLTEtMS4xLTEuNy0xLjRjLS41LS4yLTEuMS0uNC0xLjYtLjRsLTE0OS42IDBjLTMuMSAwLTYuMi0uOC04LjktMi4ycy01LjEtMy41LTYuOS02LjEtMi45LTUuNS0zLjMtOC42IDAtNi4yIDEuMS05LjFMODEuNiAyNTUuN2MyLTcuMiA2LjItMTMuNSAxMi0xOC4yczEyLjktNy40IDIwLjQtNy44bDE0OC42IDBjMS41LS4xIDIuOS0uNiA0LTEuNnMyLTIuMiAyLjQtMy42bDEwLjgtNDEuMWMuNC0xIC4zLTItLjEtMi45cy0xLjItMS42LTIuMS0yYy0uNC0uMi0uOS0uMy0xLjQtLjMtLjEgMC0uMSAwLS4yIDBsLTE0OC41IDBjLTIyLjIgMS4yLTQzLjQgOS4yLTYwLjggMjNzLTMwIDMyLjctMzYuMiA1NC4xTDMuNSAzNTguOGMtMy4yIDguNy00LjIgMTgtMyAyNy4xczQuNiAxNy45IDkuOSAyNS41IDEyLjMgMTMuOCAyMC41IDE4IDE3LjMgNi41IDI2LjUgNi42YzEgMCAxLjkgMCAyLjktLjFsMTQ4LjYgMGMxLjUtLjEgMi45LS43IDQtMS42czItMi4yIDIuNC0zLjZsMTAuNy00MS4xYy4yLS41IC4zLS45IC4zLTEuNHptODAuNS0zMDdjLjItLjQgLjMtLjkgLjMtMS40IDAtLjUtLjEtMS0uMy0xLjVzLS41LS45LS44LTEuMi0uOC0uNi0xLjItLjgtMS0uMy0xLjUtLjNsLTQxLjIgMGMtMS41IC4xLTIuOSAuNi00IDEuNnMtMiAyLjItMi40IDMuNmwtMjEuMyA4MC45IDUxLjEgMCAyMS40LTgwLjl6bS0xMjYuMyAyODdsNTEuMSAwIDMyLTEyMi42LTUxLjEgMC0zMiAxMjIuNnpNNTExLjkgNzkuN2MwLTEtLjUtMS45LTEuMi0yLjZzLTEuNy0xLjEtMi42LTEuMWMtLjEgMC0uMSAwLS4yIDBsLTQxIDBjLTEuNSAuMS0yLjkgLjYtNC4xIDEuNXMtMiAyLjItMi41IDMuNkwzNjguOSA0MzAuNmMtLjIgLjQtLjMgLjktLjMgMS4zIDAgMSAuNCAyIDEuMSAyLjdzMS43IDEuMSAyLjcgMS4xbDQxLjIgMGMxLjUtLjEgMi45LS42IDQtMS42czItMi4yIDIuNC0zLjZMNTExLjUgODEuMmMuMi0uNSAuMy0xIC4zLTEuNXpNMzI0LjYgMzg0LjVsLTQxIDBjLTEuNSAuMS0yLjkgLjctNCAxLjZzLTIgMi4yLTIuNCAzLjZsLTEwLjcgNDEuMWMtLjIgLjQtLjMgLjktLjMgMS40IDAgLjUgLjEgMSAuMyAxLjVzLjUgLjkgLjggMS4yIC44IC42IDEuMiAuOCAxIC4zIDEuNSAuM2MuMSAwIC4yIDAgLjMgMGw0MC45IDBjMS41LS4xIDIuOS0uNiA0LTEuNnMyLTIuMiAyLjQtMy42bDEwLjgtNDEuMWMuMi0uNiAuMy0xLjIgLjMtMS44cy0uMy0xLjItLjYtMS43LS44LS45LTEuMy0xLjItMS4yLS40LTEuOC0uNGMtLjEgMC0uMiAwLS4zIDBsMCAwek02MzYgNzYuMWwtNDEgMGMtMS41IC4xLTIuOSAuNi00IDEuNXMtMiAyLjItMi40IDMuNkw0OTcuMSA0MzAuNmMtLjIgLjQtLjIgLjktLjIgMS4zIDAgMSAuNCAyIDEuMSAyLjdzMS43IDEuMSAyLjcgMS4xbDQxLjEgMGMxLjUtLjEgMi45LS42IDQtMS42czItMi4yIDIuNC0zLjZMNjM5LjcgODEuMmMuMi0uNSAuMy0xIC4zLTEuNS0uMS0xLS41LTEuOS0xLjItMi41cy0xLjYtMS0yLjYtMWMtLjEgMC0uMSAwLS4yIDBsMC0uMXpNMzcxLjYgMjI1LjJsMTAuOC00MS4xYy4yLS40IC4yLS45IC4yLTEuNCAwLTEtLjQtMi0xLjEtMi43cy0xLjctMS4xLTIuNy0xLjFsLTQxLjMgMGMtMS41IC4xLTIuOSAuNy00IDEuNnMtMiAyLjItMi40IDMuNmwtMTAuOCA0MS4xYy0uMiAuNS0uMyAxLS4zIDEuNWwwIC4yYy4xIDEgLjUgMS44IDEuMiAyLjVzMS42IDEgMi42IDFjLjEgMCAuMiAwIC4zIDBsNDEuMSAwYzEuNS0uMSAyLjktLjYgNC0xLjZzMi0yLjIgMi40LTMuNnoiXX0sVjJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImR5YWxvZyIsaWNvbjpbNDQ4LDUxMixbXSwiZjM5OSIsIk0xNiAzMmwwIDExOS4yIDY0IDAgMC01NS4yIDEwNy4yIDBDMzAwLjYgOTYgMzY4IDE3Ni4yIDM2OCAyNTUuOSAzNjggMzMyIDMwOS40IDQxNiAxODcuMiA0MTZsLTE3MS4yIDAgMCA2NCAxNzEuMiAwQzM0Ny45IDQ4MCA0MzIgMzY3LjMgNDMyIDI1NS45IDQzMiAxOTcuMiA0MDkuOSAxNDIuNSAzNjkuNyAxMDEuNiAzMjQuOSA1NiAyNjEuNyAzMiAxODcuMiAzMkwxNiAzMnoiXX0sVTJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVsZW1lbnRvciIsaWNvbjpbNTEyLDUxMixbXSwiZjQzMCIsIk0uNSAyNTZjMCAxNDEgMTEzLjYgMjU1IDI1NC42IDI1NSAxNDIgMCAyNTYtMTE0IDI1Ni0yNTUgMC0xNDAtMTE0LTI1My45LTI1Ni0yNTMuOS0xNDEgMC0yNTQuNiAxMTMuOS0yNTQuNiAyNTMuOXpNMTkyLjEgMTUwbDAgMjEzLTQzIDAgMC0yMTMgNDMgMHptNDIgMGwxMjggMCAwIDQzLTEyOCAwIDAtNDN6bTEyOCA4NWwwIDQzLTEyOCAwIDAtNDMgMTI4IDB6bS0xMjggODVsMTI4IDAgMCA0My0xMjggMCAwLTQzeiJdfSxXMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmlyc3Qtb3JkZXIiLGljb246WzQ0OCw1MTIsW10sImYyYjAiLCJNMTMuMyAyMjkuMmMuMS0uMSAuMi0uMyAuMy0uNCAwIC4xIDAgLjMtLjEgLjRsLS4yIDB6TTIyNC40IDk2LjZjLTcuMSAwLTE0LjYgLjYtMjEuNCAxLjdsMy43IDY3LjQtMjItNjRjLTE0LjMgMy43LTI3LjcgOS40LTQwIDE2LjZsMjkuNCA2MS40LTQ1LjEtNTAuOWMtMTEuNCA4LjktMjEuNyAxOS4xLTMwLjYgMzAuOWw1MC42IDQ1LjQtNjEuMS0yOS43Yy03LjEgMTIuMy0xMi45IDI1LjctMTYuNiA0MGw2NC4zIDIyLjYtNjgtNGMtLjkgNy4xLTEuNCAxNC42LTEuNCAyMnMuNiAxNC42IDEuNCAyMS43bDY3LjctNC02NCAyMi42YzMuNyAxNC4zIDkuNCAyNy43IDE2LjYgNDAuM0wxNDkgMzA2LjkgOTguMSAzNTJjOC45IDExLjcgMTkuMSAyMi4zIDMwLjkgMzAuOWw0NC45LTUwLjktMjkuNSA2MS40YzEyLjMgNy40IDI1LjcgMTMuMSA0MCAxNi45bDIyLjMtNjQuNi00IDY4YzcuMSAxLjEgMTQuNiAxLjcgMjEuNyAxLjcgNy40IDAgMTQuNi0uNiAyMS43LTEuN2wtNC02OC42IDIyLjYgNjUuMWMxNC4zLTQgMjcuNy05LjQgNDAtMTYuOWwtMjkuNC02MS4zIDQ0LjkgNTAuOWMxMS43LTguOSAyMi0xOS4xIDMwLjYtMzAuOWwtNTAuNi00NS4xIDYxLjEgMjkuNGM3LjEtMTIuMyAxMi45LTI1LjcgMTYuNi00MC4zbC02NC0yMi4zIDY3LjQgNGMxLjEtNy4xIDEuNC0xNC4zIDEuNC0yMS43cy0uMy0xNC45LTEuNC0yMmwtNjcuNyA0IDY0LTIyLjNjLTMuNy0xNC4zLTkuMS0yOC0xNi42LTQwLjNsLTYwLjkgMjkuNyA1MC42LTQ1LjRjLTguOS0xMS43LTE5LjEtMjItMzAuNi0zMC45bC00NS4xIDUwLjkgMjkuNC02MS4xYy0xMi4zLTcuNC0yNS43LTEzLjEtNDAtMTYuOWwtMjIuMyA2NC4zIDQtNjcuN2MtNy4xLTEuMi0xNC4zLTEuNy0yMS43LTEuN3pNNDQzLjggMTI4TDQ0My44IDM4NCAyMjQuNCA1MTIgNSAzODQgNSAxMjggMjI0LjQgMCA0NDMuOCAxMjh6bS0xNy4xIDEwLjNsLTIwMi4zLTExNy40LTIwMi4zIDExNy40IDAgMjM1LjEgMjAyLjMgMTE3LjcgMjAyLjMtMTE3LjcgMC0yMzUuMXpNMjI0LjQgMzcuMWwxODcuNyAxMDkuNCAwIDIxOC45LTE4Ny43IDEwOS41LTE4Ny43LTEwOS41IDAtMjE4LjggMTg3LjctMTA5LjV6bTAgNTAuOWMtOTIuMyAwLTE2Ni45IDc1LjEtMTY2LjkgMTY4IDAgOTIuNiA3NC42IDE2Ny43IDE2Ni45IDE2Ny43IDkyIDAgMTY2LjktNzUuMSAxNjYuOS0xNjcuNyAwLTkyLjktNzQuOS0xNjgtMTY2LjktMTY4eiJdfSxHMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHJpYmJibGUiLGljb246WzUxMiw1MTIsW10sImYxN2QiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MjAgMTIyLjRjMjkuNSAzNiA0Ny40IDgyIDQ3LjggMTMyLTctMS41LTc3LTE1LjctMTQ3LjUtNi44LTUuOC0xNC0xMS4yLTI2LjQtMTguNi00MS42IDc4LjMtMzIgMTEzLjgtNzcuNSAxMTguMy04My41ek0zOTYuNCA5Ny45Yy0zLjggNS40LTM1LjcgNDguMy0xMTEgNzYuNS0zNC43LTYzLjgtNzMuMi0xMTYuMi03OS0xMjQgNjcuMi0xNi4yIDEzOCAxLjMgMTkwLjEgNDcuNXpNMTY1LjkgNjQuNmM1LjYgNy43IDQzLjQgNjAuMSA3OC41IDEyMi41LTk5LjEgMjYuMy0xODYuNCAyNS45LTE5NS44IDI1LjggMTMuNy02NS43IDU4LTEyMC40IDExNy4zLTE0OC4zek00NC4yIDI1Ni4zYzAtMi4yIDAtNC4zIC4xLTYuNSA5LjMgLjIgMTExLjkgMS41IDIxNy43LTMwLjEgNi4xIDExLjkgMTEuOSAyMy45IDE3LjIgMzUuOS03Ni42IDIxLjYtMTQ2LjIgODMuNS0xODAuNSAxNDIuMy0zMy44LTM3LjYtNTQuNS04Ny4yLTU0LjUtMTQxLjZ6TTEyNiA0MjMuNGMyMi4xLTQ1LjIgODIuMi0xMDMuNiAxNjcuNi0xMzIuOCAyOS43IDc3LjMgNDIgMTQyLjEgNDUuMiAxNjAuNi02OC4xIDI5LTE1MCAyMS4xLTIxMi44LTI3Ljl6bTI0OC40IDguNWMtMi4yLTEyLjktMTMuNC03NC45LTQxLjItMTUxIDY2LjQtMTAuNiAxMjQuNyA2LjggMTMxLjkgOS4xLTkuNCA1OC45LTQzLjMgMTA5LjgtOTAuOCAxNDJ6Il19LGJEPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxpbmtlZGluIixpY29uOls0NDgsNTEyLFtdLCJmMDhjIiwiTTQxNiAzMkwzMS45IDMyQzE0LjMgMzIgMCA0Ni41IDAgNjQuM0wwIDQ0Ny43QzAgNDY1LjUgMTQuMyA0ODAgMzEuOSA0ODBMNDE2IDQ4MGMxNy42IDAgMzItMTQuNSAzMi0zMi4zbDAtMzgzLjRDNDQ4IDQ2LjUgNDMzLjYgMzIgNDE2IDMyek0xMzUuNCA0MTZsLTY2LjQgMCAwLTIxMy44IDY2LjUgMCAwIDIxMy44LS4xIDB6TTEwMi4yIDk2YTM4LjUgMzguNSAwIDEgMSAwIDc3IDM4LjUgMzguNSAwIDEgMSAwLTc3ek0zODQuMyA0MTZsLTY2LjQgMCAwLTEwNGMwLTI0LjgtLjUtNTYuNy0zNC41LTU2LjctMzQuNiAwLTM5LjkgMjctMzkuOSA1NC45bDAgMTA1LjgtNjYuNCAwIDAtMjEzLjggNjMuNyAwIDAgMjkuMiAuOSAwYzguOS0xNi44IDMwLjYtMzQuNSA2Mi45LTM0LjUgNjcuMiAwIDc5LjcgNDQuMyA3OS43IDEwMS45bDAgMTE3LjJ6Il19LFkydD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1wYXlwYWwiLGljb246WzU3Niw1MTIsW10sImYxZjQiLCJNMTg2LjMgMjU4LjJjMCAxMi4yLTkuNyAyMS41LTIyIDIxLjUtOS4yIDAtMTYtNS4yLTE2LTE1IDAtMTIuMiA5LjUtMjIgMjEuNy0yMiA5LjMgMCAxNi4zIDUuNyAxNi4zIDE1LjV6TTgwLjUgMjA5LjdsLTQuNyAwYy0xLjUgMC0zIDEtMy4yIDIuN2wtNC4zIDI2LjcgOC4yLS4zYzExIDAgMTkuNS0xLjUgMjEuNS0xNC4yIDIuMy0xMy40LTYuMi0xNC45LTE3LjUtMTQuOXptMjg0IDBsLTQuNSAwYy0xLjggMC0zIDEtMy4yIDIuN2wtNC4yIDI2LjcgOC0uM2MxMyAwIDIyLTMgMjItMTgtLjEtMTAuNi05LjYtMTEuMS0xOC4xLTExLjF6TTU3NiA4MGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsNDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTEyOC4zIDIxNS40YzAtMjEtMTYuMi0yOC0zNC43LTI4bC00MCAwYy0yLjUgMC01IDItNS4yIDQuN0wzMiAyOTQuMmMtLjMgMiAxLjIgNCAzLjIgNGwxOSAwYzIuNyAwIDUuMi0yLjkgNS41LTUuN2w0LjUtMjYuNmMxLTcuMiAxMy4yLTQuNyAxOC00LjcgMjguNiAwIDQ2LjEtMTcgNDYuMS00NS44em04NC4yIDguOGwtMTkgMGMtMy44IDAtNCA1LjUtNC4yIDguMi01LjgtOC41LTE0LjItMTAtMjMuNy0xMC0yNC41IDAtNDMuMiAyMS41LTQzLjIgNDUuMiAwIDE5LjUgMTIuMiAzMi4yIDMxLjcgMzIuMiA5IDAgMjAuMi00LjkgMjYuNS0xMS45LS41IDEuNS0xIDQuNy0xIDYuMiAwIDIuMyAxIDQgMy4yIDRsMTcuMiAwYzIuNyAwIDUtMi45IDUuNS01LjdsMTAuMi02NC4zYy4zLTEuOS0xLjItMy45LTMuMi0zLjl6TTI1MyAzMjIuMWw2My43LTkyLjZjLjUtLjUgLjUtMSAuNS0xLjcgMC0xLjctMS41LTMuNS0zLjItMy41bC0xOS4yIDBjLTEuNyAwLTMuNSAxLTQuNSAyLjVsLTI2LjUgMzktMTEtMzcuNWMtLjgtMi4yLTMtNC01LjUtNGwtMTguNyAwYy0xLjcgMC0zLjIgMS44LTMuMiAzLjUgMCAxLjIgMTkuNSA1Ni44IDIxLjIgNjIuMS0yLjcgMy44LTIwLjUgMjguNi0yMC41IDMxLjYgMCAxLjggMS41IDMuMiAzLjIgMy4ybDE5LjIgMGMxLjgtLjEgMy41LTEuMSA0LjUtMi42ek00MTIuMyAyMTUuNGMwLTIxLTE2LjItMjgtMzQuNy0yOGwtMzkuNyAwYy0yLjcgMC01LjIgMi01LjUgNC43bC0xNi4yIDEwMmMtLjIgMiAxLjMgNCAzLjIgNGwyMC41IDBjMiAwIDMuNS0xLjUgNC0zLjJsNC41LTI5YzEtNy4yIDEzLjItNC43IDE4LTQuNyAyOC40IDAgNDUuOS0xNyA0NS45LTQ1Ljh6bTg0LjIgOC44bC0xOSAwYy0zLjggMC00IDUuNS00LjMgOC4yLTUuNS04LjUtMTQtMTAtMjMuNy0xMC0yNC41IDAtNDMuMiAyMS41LTQzLjIgNDUuMiAwIDE5LjUgMTIuMiAzMi4yIDMxLjcgMzIuMiA5LjMgMCAyMC41LTQuOSAyNi41LTExLjktLjMgMS41LTEgNC43LTEgNi4yIDAgMi4zIDEgNCAzLjIgNGwxNy4zIDBjMi43IDAgNS0yLjkgNS41LTUuN2wxMC4yLTY0LjNjLjMtMS45LTEuMi0zLjktMy4yLTMuOXpNNTQ0IDE5MC45YzAtMi0xLjUtMy41LTMuMi0zLjVsLTE4LjUgMGMtMS41IDAtMyAxLjItMy4yIDIuN2wtMTYuMiAxMDQtLjMgLjVjMCAxLjggMS41IDMuNSAzLjUgMy41bDE2LjUgMGMyLjUgMCA1LTIuOSA1LjItNS43bDE2LjItMTAxLjIgMC0uM3ptLTkwIDUxLjhjLTEyLjIgMC0yMS43IDkuNy0yMS43IDIyIDAgOS43IDcgMTUgMTYuMiAxNSAxMiAwIDIxLjctOS4yIDIxLjctMjEuNSAuMS05LjgtNi45LTE1LjUtMTYuMi0xNS41eiJdfSxaMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGhsIixpY29uOls2NDAsNTEyLFtdLCJmNzkwIiwiTTIzOCAzMDEuMmw1OC43IDAgMjIuMy0zMC4yLTU4LjcgMC0yMi4zIDMwLjJ6TTAgMjgyLjlsMCA2LjQgODEuOCAwIDQuNy02LjQtODYuNSAwek0xNzIuOSAyNzFjLTguNyAwLTYtMy42LTQuNi01LjUgMi44LTMuOCA3LjYtMTAuNCAxMC40LTE0LjFzMi44LTUuOS0yLjgtNS45bC01MSAwLTQxLjEgNTUuOCAxMDAuMSAwYzMzLjEgMCA1MS41LTIyLjUgNTcuMi0zMC4zbC02OC4yIDB6bTMxNy41LTYuOWwzOS4zLTUzLjQtNjIuMiAwLTM5LjMgNTMuNCA2Mi4yIDB6TTk1LjMgMjcxbC05NS4zIDAgMCA2LjQgOTAuNiAwIDQuNy02LjR6bTExMS0yNi42Yy0yLjggMy44LTcuNSAxMC40LTEwLjMgMTQuMi0xLjQgMi00LjEgNS41IDQuNiA1LjVsNDUuNiAwczcuMy0xMCAxMy41LTE4LjRjOC40LTExLjQgLjctMzUtMjkuMi0zNWwtMTE3LjkgMC0yMC40IDI3LjggMTExLjQgMGM1LjYgMCA1LjUgMi4yIDIuNyA1Ljl6TTAgMzAxLjJsNzMuMSAwIDQuNy02LjQtNzcuOCAwIDAgNi40em0zMjMgMGw1OC43IDAgMjIuMy0zMC4yLTU4LjcgMGMtLjEgMC0yMi4zIDMwLjItMjIuMyAzMC4yem0yMjIgLjFsOTUgMCAwLTYuNC05MC4zIDAtNC43IDYuNHpNNTY3LjMgMjcxbC00LjcgNi40IDc3LjQgMCAwLTYuNC03Mi43IDB6bS0xMy41IDE4LjNsODYuMiAwIDAtNi40LTgxLjUgMC00LjcgNi40ek0zODkuNiAyMTAuN2wtMjIuNSAzMC42LTI2LjIgMCAyMi41LTMwLjYtNTguNyAwLTM5LjMgNTMuNCAxNDMuNiAwIDM5LjMtNTMuNC01OC43IDB6TTQyMy4xIDI3MXMtNC4zIDUuOS02LjQgOC43Yy03LjQgMTAtLjkgMjEuNiAyMy4yIDIxLjZsOTQuMyAwIDIyLjMtMzAuMy0xMzMuNCAweiJdfSxYMnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGV4IixpY29uOls2NDAsNTEyLFtdLCJlN2ZmIiwiTTYyMC44IDk1LjRjLTMwLjggLjQtNDIuMSAxNi42LTQ3LjcgMjQuNWwtLjEgLjEtNTUuNyA4MC41IDgyLjggMTIxLjFjNy41IDEwLjYgMTEuMyAxMi41IDM1LjQgMTIuNWwwIDkuMWMtOS4xLS43LTI4LS43LTM3LjctLjctMTIuNCAwLTMwLjggMC00Mi45IC43bDAtOS4xYzEzLjItLjggMTYuNi03LjMgMTYuNi0xMC4yIDAtMS4xIDAtMi4zLTMtNi40bC02NS41LTk2LjMtNjAuMiA4Ny45Yy0xLjkgMi43LTMuOCA1LjQtMy44IDEwLjIgMCA2LjEgMy40IDEzLjYgMTUgMTQuN2wwIDkuMWMtOS40LS43LTI3LjEtLjctMzcuMi0uN2wtMi44IDAtMTEuNyA4Mi42LTE5NS45IDAgMC05LjFjMjYuNyAwIDMwLjkgMCAzMC45LTE2LjlsMC0yMDMuMmMwLTE2LjktNC4zLTE2LjktMzAuOS0xNi45bDAtMTAuMyAxOS44IDBjLTQuOC02MS4xLTEwLjgtNzEuNy02OC03MS44bC0yMC43IDBjLTYuOCAxLjUtNi44IDYuMS02LjggMTQuNGwwIDIwNWMwIDEzLjYgMS4xIDE3LjggMzIuNCAxNy44bDEwLjUgMCAwIDkuMS0uNCAwYy0xNy45LS4zLTM2LjctLjctNTQuOS0uN3MtMzYuOSAuMy01NC44IC43bC0uNiAwIDAtOS4xIDEwLjcgMGMzMS43IDAgMzIuOC00LjEgMzIuOC0xNy44bDAtMjA1YzAtOC43IDAtMTMuMi03LjItMTQuM2wtMjAuOCAwYy01OC40IDAtNjMuNyAxMC45LTY4LjYgNzMuM2wtNi44IDAgNi4zLTgzLjMgMjE3LjUgMCA2LjEgODEuOCAxNjQuMSAwIDkgODMuMy02LjggMGMtNS4zLTQ5LjgtMTIuMS03My03MC4zLTczbC01MS41IDBjLTE1IDAtMTUuOCAxLjktMTUuOCAxNC42bDAgOTMuMyAzNS41IDBjMzUuNSAwIDM4LjktMTIuOCAzOC45LTQ0bDYgMCAwIDk3LjktNiAwYzAtMzEuOC0zLjQtNDQuOC0zOC45LTQ0LjhsLTM1LjUgMCAwIDEwNS4yYzAgMTMgLjcgMTQuOCAxNS44IDE0LjhsNTIuMiAwYzYxLjEgMCA2OS45LTI1LjggNzcuNC03My42LTcuNyAwLTE2LjMgLjItMjIuMiAuN2wwLTkuMWM3LjIgMCAzMS43LS40IDQ3LjgtMjMuOGw2NS41LTk1LjctNzIuNy0xMDYuN2MtOC4zLTExLjctMTUuMS0xMi41LTM1LjgtMTIuNWwwLTkuMWM5LjEgLjcgMjcuOSAuNyAzNy43IC43IDEyLjQgMCAzMC44IDAgNDIuOS0uN2wwIDkuMWMtMTIuNSAuNC0xNi42IDYuOC0xNi42IDEwLjIgMCAxLjEgLjQgMi4zIDMgNi40bDU1LjcgODEuNiA0OS43LTcyLjFjMi43LTMuNyA0LjUtNi44IDQuNS0xMS4zIDAtNi4xLTMtMTMuNi0xNS0xNC44bDAtOS4xYzkuNCAuNyAyNC44IC43IDM3LjIgLjcgOSAwIDIzLjMgMCAzMi0uN2wwIDkuMXoiXX0sUTJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNsYXVkZSIsaWNvbjpbNTEyLDUxMixbXSwiZTg2MSIsIk0xMDAuNCAzNDAuNWwxMDAuNy01Ni41IDEuNy00LjktMS43LTIuNy00LjkgMC0xNi44LTEtNTcuNS0xLjYtNDkuOS0yLjEtNDguMy0yLjYtMTIuMi0yLjYtMTEuNC0xNSAxLjItNy41IDEwLjItNi45IDE0LjcgMS4zYzE4LjkgMS4zIDQ1LjkgMy4xIDgxIDUuNmwzNS4yIDIuMSA1Mi4yIDUuNCA4LjMgMCAxLjItMy40LTIuOC0yLjEtMi4yLTIuMS01MC4zLTM0LjEtNTQuNC0zNi0yOC41LTIwLjctMTUuNC0xMC41LTcuOC05LjgtMy40LTIxLjUgMTQtMTUuNCAxOC44IDEuMyA0LjggMS4zIDE5IDE0LjcgNDAuNyAzMS41IDUzLjEgMzkuMSA3LjggNi41IDMuMS0yLjIgLjQtMS42LTMuNS01LjgtMjguOS01Mi4yLTMwLjgtNTMuMS0xMy43LTIyLTMuNi0xMy4yYy0xLjMtNS40LTIuMi0xMC0yLjItMTUuNWwxNS45LTIxLjYgOC44LTIuOCAyMS4yIDIuOCA4LjkgNy44IDEzLjIgMzAuMiAyMS40IDQ3LjUgMzMuMiA2NC42IDkuNyAxOS4yIDUuMiAxNy44IDEuOSA1LjQgMy40IDAgMC0zLjEgMi43LTM2LjQgNS00NC43IDQuOS01Ny41IDEuNy0xNi4yIDgtMTkuNCAxNS45LTEwLjUgMTIuNCA1LjkgMTAuMiAxNC43LTEuNCA5LjUtNi4xIDM5LjUtMTEuOSA2MS45LTcuOCA0MS41IDQuNSAwIDUuMi01LjIgMjEtMjcuOCAzNS4yLTQ0LjEgMTUuNS0xNy41IDE4LjEtMTkuMyAxMS42LTkuMiAyMiAwIDE2LjIgMjQuMS03LjMgMjQuOS0yMi43IDI4LjctMTguOCAyNC40LTI3IDM2LjMtMTYuOCAyOSAxLjYgMi4zIDQtLjQgNjAuOS0xMyAzMi45LTUuOSAzOS4zLTYuNyAxNy44IDguMyAxLjkgOC40LTcgMTcuMi00MiAxMC40LTQ5LjIgOS44LTczLjMgMTcuMy0uOSAuNyAxIDEuMyAzMyAzLjEgMTQuMSAuOCAzNC42IDAgNjQuNCA0LjggMTYuOCAxMS4xIDEwLjEgMTMuNi0xLjcgMTAuNC0yNS45IDEzLjJjLTE1LjUtMy43LTU0LjQtMTIuOS0xMTYuNi0yNy43bC0yOC03LTMuOSAwIDAgMi4zIDIzLjMgMjIuOCA0Mi43IDM4LjYgNTMuNSA0OS44IDIuNyAxMi4zLTYuOSA5LjctNy4zLTEtNDctMzUuNC0xOC4xLTE1LjktNDEuMS0zNC42LTIuNyAwIDAgMy42IDkuNSAxMy45IDUwIDc1LjIgMi42IDIzLTMuNiA3LjUtMTMgNC41LTE0LjItMi42LTI5LjMtNDEuMS0zMC4yLTQ2LjMtMjQuNC00MS41LTMgMS43LTE0LjQgMTU0LjgtNi43IDcuOS0xNS41IDUuOS0xMy05LjgtNi45LTE1LjkgNi45LTMxLjUgOC4zLTQxLjEgNi43LTMyLjcgNi4xLTQwLjYgMy42LTEzLjUtLjItLjktMyAuNC0zMC42IDQyLTQ2LjUgNjIuOS0zNi44IDM5LjQtOC44IDMuNS0xNS4zLTcuOSAxLjQtMTQuMSA4LjUtMTIuNiA1MC45LTY0LjggMzAuNy00MC4yIDE5LjgtMjMuMi0uMS0zLjQtMS4yIDAtMTM1LjMgODcuOC0yNC4xIDMuMS0xMC40LTkuNyAxLjMtMTUuOSA0LjktNS4yIDQwLjctMjgtLjEgLjEgMCAuMXoiXX0sSjJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNob3BpZnkiLGljb246WzQ0OCw1MTIsW10sImUwNTciLCJNMzg4LjUgMTA0LjFjLS4yLTEuMS0uNy0yLjEtMS41LTIuOHMtMS44LTEuMi0yLjktMS4yYy0yIDAtMzcuMi0uOC0zNy4yLS44cy0yMS42LTIwLjgtMjkuNi0yOC44bDAgNDMyLjcgMTI1LjctMzEuMnMtNTQtMzY1LjUtNTQuNC0zNjcuOXpNMjg4LjkgNzAuNWMtMS45LTYuMS00LjMtMTEuOS03LjItMTcuNi0xMC40LTIwLTI2LTMwLjktNDQuNC0zMC45LTEuMyAwLTIuNyAuMS00IC40LS40LS44LTEuMi0xLjItMS42LTItOC04LjgtMTguNC0xMi44LTMwLjgtMTIuNC0yNCAuOC00OCAxOC02Ny4yIDQ4LjgtMTMuNiAyMS42LTI0IDQ4LjgtMjYuOCA3MC4xLTI3LjYgOC40LTQ2LjggMTQuNC00Ny4yIDE0LjgtMTQgNC40LTE0LjQgNC44LTE2IDE4LTEuMiAxMC0zOCAyOTEuOC0zOCAyOTEuOGwzMDIuNiA1Mi41IDAtNDM4LjNjLTEuNSAuMS0yLjkgLjItNC40IC40IDAgMC01LjYgMS42LTE0LjggNC40ek0yMzMuNiA4Ny43Yy0xNiA0LjgtMzMuNiAxMC40LTUwLjggMTUuNiA0LjgtMTguOCAxNC40LTM3LjYgMjUuNi01MCA0LjQtNC40IDEwLjQtOS42IDE3LjItMTIuOCA2LjggMTQuNCA4LjQgMzQgOCA0Ny4yek0yMDAuOCAyNC40YzUtLjIgMTAgMS4xIDE0LjQgMy42LTYuNCAzLjItMTIuOCA4LjQtMTguOCAxNC40LTE1LjIgMTYuNC0yNi44IDQyLTMxLjYgNjYuNS0xNC40IDQuNC0yOC44IDguOC00MiAxMi44IDguOC0zOC40IDQxLjItOTYuNCA3OC05Ny4yek0xNTQuNCAyNDQuNmMxLjYgMjUuNiA2OS4yIDMxLjIgNzMuMiA5MS43IDIuOCA0Ny42LTI1LjIgODAuMS02NS42IDgyLjUtNDguOCAzLjItNzUuNi0yNS42LTc1LjYtMjUuNmwxMC40LTQ0czI2LjggMjAuNCA0OC40IDE4LjhjMTQtLjggMTkuMi0xMi40IDE4LjgtMjAuNC0yLTMzLjYtNTcuMi0zMS42LTYwLjgtODYuOS0zLjItNDYuNCAyNy4yLTkzLjMgOTQuNS05Ny43IDI2LTEuNiAzOS4yIDQuOCAzOS4yIDQuOGwtMTUuMiA1Ny42cy0xNy4yLTgtMzcuNi02LjRjLTI5LjYgMi0zMCAyMC44LTI5LjYgMjUuNnpNMjQ5LjYgODIuOWMwLTEyLTEuNi0yOS4yLTcuMi00My42IDE4LjQgMy42IDI3LjIgMjQgMzEuMiAzNi40LTcuMiAyLTE1LjIgNC40LTI0IDcuMnoiXX0sUDFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1yZWRkaXQiLGljb246WzQ0OCw1MTIsWyJyZWRkaXQtc3F1YXJlIl0sImYxYTIiLCJNNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMyek0zMDUuOSAxNjYuNGMyMC42IDAgMzcuMy0xNi43IDM3LjMtMzcuM3MtMTYuNy0zNy4zLTM3LjMtMzcuM2MtMTggMC0zMy4xIDEyLjgtMzYuNiAyOS44LTMwLjIgMy4yLTUzLjggMjguOC01My44IDU5LjlsMCAuMmMtMzIuOCAxLjQtNjIuOCAxMC43LTg2LjYgMjUuNS04LjgtNi44LTE5LjktMTAuOS0zMi0xMC45LTI4LjkgMC01Mi4zIDIzLjQtNTIuMyA1Mi4zIDAgMjEgMTIuMyAzOSAzMC4xIDQ3LjQgMS43IDYwLjcgNjcuOSAxMDkuNiAxNDkuMyAxMDkuNnMxNDcuNi00OC45IDE0OS4zLTEwOS43YzE3LjctOC40IDI5LjktMjYuNCAyOS45LTQ3LjMgMC0yOC45LTIzLjQtNTIuMy01Mi4zLTUyLjMtMTIgMC0yMyA0LTMxLjkgMTAuOC0yNC0xNC45LTU0LjMtMjQuMi04Ny41LTI1LjRsMC0uMWMwLTIyLjIgMTYuNS00MC43IDM3LjktNDMuNyAzLjkgMTYuNSAxOC43IDI4LjcgMzYuMyAyOC43bC4yLS4yek0xNTUgMjQ4LjFjMTQuNiAwIDI1LjggMTUuNCAyNSAzNC40cy0xMS44IDI1LjktMjYuNSAyNS45LTI3LjUtNy43LTI2LjYtMjYuNyAxMy41LTMzLjUgMjguMS0zMy41bDAtLjF6bTE2Ni40IDMzLjVjLjkgMTktMTIgMjYuNy0yNi42IDI2LjdzLTI1LjYtNi45LTI2LjUtMjUuOSAxMC4zLTM0LjQgMjUtMzQuNCAyNy4zIDE0LjYgMjguMSAzMy41bDAgLjF6bS00Mi4xIDQ5LjZjLTkgMjEuNS0zMC4zIDM2LjctNTUuMSAzNi43cy00Ni4xLTE1LjEtNTUuMS0zNi43Yy0xLjEtMi42IC43LTUuNCAzLjQtNS43IDE2LjEtMS42IDMzLjUtMi41IDUxLjctMi41czM1LjYgLjkgNTEuNyAyLjVjMi43IC4zIDQuNSAzLjEgMy40IDUuN3oiXX0sSzJ0PVAxZSxlbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1uYyIsaWNvbjpbNTEyLDUxMixbXSwiZjRlOCIsIk0yNTUuNiA4QzM5NS40IDggNTA0IDExNS45IDUwNCAyNTYgNTA0IDQwMy4yIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjEgNTA0IDggMzkzLjIgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6TTYzLjggMTg5LjFjLTcuNCAyMC40LTExLjEgNDIuNy0xMS4xIDY2LjkgMCAxMTAuOSA5Mi4xIDIwMi40IDIwMy43IDIwMi40IDEyMi40IDAgMTc3LjItMTAxLjggMTc4LjUtMTA0LjFsLTkzLjQtNDEuNmMtNy43IDM3LjEtNDEuMiA1My02OC4yIDU1LjRsMCAzOC4xLTI4LjggMCAwLTM4LjJjLTI3LjUtLjMtNTIuNi0xMC4yLTc1LjMtMjkuN2wzNC4xLTM0LjVjMzEuNyAyOS40IDg2LjQgMzEuOCA4Ni40LTIuMiAwLTYuMi0yLjItMTEuMi02LjYtMTUuMS0xNC4yLTYtMS44LS4xLTIxOS4zLTk3LjR6TTI1Ni40IDUyLjNDMjE4IDUyLjMgMTQ0IDYxIDg1LjkgMTQ1LjNsOTQuOCA0Mi41YzEwLTMxLjMgNDAuNC00Mi45IDYzLjgtNDQuM2wwLTM4LjEgMjguOCAwIDAgMzguMWMyMi43IDEuMiA0My40IDguOSA2MiAyM0wzMDMgMTk5LjdjLTQyLjctMjkuOS04My41LTgtNzAgMTEuMSA1My40IDI0LjEgNDMuOCAxOS44IDkzIDQxLjZsMTI3LjEgNTYuN2M0LjEtMTcuNCA2LjItMzUuMSA2LjItNTMuMSAwLTU3LTE5LjgtMTA1LTU5LjMtMTQzLjktMzkuMy0zOS45LTg3LjItNTkuOC0xNDMuNi01OS44eiJdfSx0bHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2FsYWN0aWMtcmVwdWJsaWMiLGljb246WzUxMiw1MTIsW10sImY1MGMiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMSAwIDQ5NiAyNDggMjQ4IDAgMSAxIDAtNDk2em0wIDE2LjVhMjMxLjUgMjMxLjUgMCAxIDAgMCA0NjIuOSAyMzEuNSAyMzEuNSAwIDEgMCAwLTQ2Mi45em0yNy42IDIxLjhsMCAyNC42YzMwLjMgNC41IDU5IDE2LjMgODMuNiAzNC41bDE3LjQtMTcuNGMtMjguNy0yMi4xLTYzLjMtMzYuOS0xMDEtNDEuOHptLTU1LjQgLjFjLTM3LjYgNC45LTcyLjIgMTkuOC0xMDAuOSA0MS45bDE3LjMgMTcuNCAuMSAwYzI0LjEtMTcuOCA1Mi42LTMwLjEgODMuNS0zNC43bDAtMjQuNXptMTIuMiA1MC4ybDAgODIuOWMtMTAgMi0xOS40IDUuOS0yNy43IDExLjRsLTU4LjYtNTguNi0yMS45IDIxLjkgNTguNyA1OC43Yy01LjUgOC4yLTkuNCAxNy42LTExLjUgMjcuNmwtODIuOSAwIDAgMzEgODIuOSAwYzIgMTAgNiAxOS4zIDExLjUgMjcuNWwtNTguNyA1OC43IDIxLjkgMjEuOSA1OC42LTU4LjZjOC40IDUuNiAxNy44IDkuNSAyNy43IDExLjVsMCA4Mi45IDMxIDAgMC04Mi45YzEwLTIgMTkuNC02LjEgMjcuNi0xMS41bDU4LjcgNTguNyAyMS45LTIxLjktNTguNy01OC43YzUuNS04LjIgOS41LTE3LjUgMTEuNS0yNy41bDgyLjkgMCAwLTMxLTgyLjkgMGMtMi0xMC02LTE5LjQtMTEuNS0yNy42bDU4LjctNTguNy0yMS45LTIxLjktNTguNyA1OC43Yy04LjItNS41LTE3LjYtOS41LTI3LjYtMTEuNWwwLTgyLjktMzEgMHptMTgzLjIgMzAuN2wtMTcuNCAxNy40YzE4LjMgMjQuNiAzMC4yIDUzLjQgMzQuNyA4My43bDI0LjYgMGMtNS0zNy43LTE5LjgtNzIuMy00MS45LTEwMXptLTMzNS42IC4xYy0yMi4xIDI4LjctMzYuOSA2My4zLTQxLjggMTAwLjlsMjQuNiAwYzQuNi0zMSAxNi44LTU5LjQgMzQuNi04My41TDg4LjIgMTI3LjR6TTQ2LjMgMjgzLjdjNC45IDM3LjYgMTkuNyA3Mi4yIDQxLjggMTAwLjlsMTcuNC0xNy40Qzg3LjcgMzQzLjEgNzUuNiAzMTQuNiA3MSAyODMuN2wtMjQuNiAwIDAgMHptMzk0LjcgMGMtNC42IDMxLTE2LjggNTkuNS0zNC43IDgzLjZsMTcuNCAxNy40YzIyLjEtMjguNyAzNy02My4zIDQxLjktMTAxbC0yNC42IDB6TTE0NC43IDQwNi40bC0xNy40IDE3LjRjMjguNyAyMi4xIDYzLjMgMzcgMTAxIDQxLjlsMC0yNC42Yy0zMS00LjYtNTkuNS0xNi44LTgzLjYtMzQuNnptMjIyLjUgMGMtMjQuMSAxNy44LTUyLjYgMzAuMS04My42IDM0LjdsMCAyNC42YzM3LjctNC45IDcyLjItMTkuOCAxMDEtNDEuOGwtMTcuMy0xNy40LS4xIDB6Il19LHZEPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZhY2Vib29rIixpY29uOls1MTIsNTEyLFs2MmUzXSwiZjA5YSIsIk01MTIgMjU2QzUxMiAxMTQuNiAzOTcuNCAwIDI1NiAwUzAgMTE0LjYgMCAyNTZDMCAzNzYgODIuNyA0NzYuOCAxOTQuMiA1MDQuNWwwLTE3MC4zLTUyLjggMCAwLTc4LjIgNTIuOCAwIDAtMzMuN2MwLTg3LjEgMzkuNC0xMjcuNSAxMjUtMTI3LjUgMTYuMiAwIDQ0LjIgMy4yIDU1LjcgNi40bDAgNzAuOGMtNi0uNi0xNi41LTEtMjkuNi0xLTQyIDAtNTguMiAxNS45LTU4LjIgNTcuMmwwIDI3LjggODMuNiAwLTE0LjQgNzguMi02OS4zIDAgMCAxNzUuOUM0MTMuOCA0OTQuOCA1MTIgMzg2LjkgNTEyIDI1NnoiXX0scmx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdGxhYiIsaWNvbjpbNTEyLDUxMixbXSwiZjI5NiIsIk01MDQgMjA0LjZsLS43LTEuOC02OS43LTE4MS44Yy0xLjQtMy42LTMuOS02LjYtNy4yLTguNi0yLjQtMS42LTUuMS0yLjUtOC0yLjhzLTUuNyAuMS04LjQgMS4xLTUuMSAyLjctNy4xIDQuOGMtMS45IDIuMS0zLjMgNC43LTQuMSA3LjRsLTQ3IDE0NC0xOTAuNSAwLTQ3LjEtMTQ0Yy0uOC0yLjgtMi4yLTUuMy00LjEtNy40LTItMi4xLTQuNC0zLjctNy4xLTQuOC0yLjYtMS01LjUtMS40LTguNC0xLjFzLTUuNiAxLjItOCAyLjhjLTMuMiAyLTUuOCA1LjEtNy4yIDguNkw5LjggMjAyLjggOSAyMDQuNmMtMTAgMjYuMi0xMS4zIDU1LTMuNSA4MiA3LjcgMjYuOSAyNCA1MC43IDQ2LjQgNjcuNmwuMyAuMiAuNiAuNCAxMDYgNzkuNWMzOC41IDI5LjEgNjYuNyA1MC4zIDg0LjYgNjMuOSAzLjcgMS45IDguMyA0LjMgMTMgNC4zczkuMy0yLjQgMTMtNC4zYzE3LjktMTMuNSA0Ni4xLTM0LjkgODQuNi02My45bDEwNi43LTc5LjkgLjMtLjNjMjIuNC0xNi45IDM4LjctNDAuNiA0NS42LTY3LjUgOC42LTI3IDcuNC01NS44LTIuNi04MnoiXX0sYWx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InFxIixpY29uOls0NDgsNTEyLFtdLCJmMWQ2IiwiTTQzNC4xIDQyMC40Yy0xMS41IDEuNC00NC45LTUyLjctNDQuOS01Mi43IDAgMzEuMy0xNi4xIDcyLjItNTEgMTAxLjggMTYuOCA1LjIgNTQuOCAxOS4yIDQ1LjggMzQuNC03LjMgMTIuMy0xMjUuNSA3LjktMTU5LjYgNC0zNC4xIDMuOC0xNTIuMyA4LjMtMTU5LjYtNC05LTE1LjIgMjguOS0yOS4yIDQ1LjgtMzQuNC0zNC45LTI5LjUtNTEuMS03MC40LTUxLjEtMTAxLjggMCAwLTMzLjMgNTQuMS00NC45IDUyLjctNS40LS42LTEyLjQtMjkuNiA5LjMtOTkuNyAxMC4zLTMzIDIyLTYwLjUgNDAuMS0xMDUuOC0zLjEtMTE2LjkgNDUuMi0yMTUgMTYwLjMtMjE1IDExMy43IDAgMTYzLjIgOTYuMSAxNjAuMyAyMTUgMTguMSA0NS4yIDI5LjkgNzIuOSA0MC4xIDEwNS44IDIxLjggNzAuMSAxNC43IDk5LjEgOS4zIDk5Ljd6Il19LGlsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHJpcGUiLGljb246WzY0MCw1MTIsW10sImY0MjkiLCJNMTY1IDE0NC43bC00My4zIDkuMi0uMiAxNDIuNGMwIDI2LjMgMTkuOCA0My4zIDQ2LjEgNDMuMyAxNC42IDAgMjUuMy0yLjcgMzEuMi01LjlsMC0zMy44Yy01LjcgMi4zLTMzLjcgMTAuNS0zMy43LTE1LjdsMC02My4yIDMzLjcgMCAwLTM3LjgtMzMuNyAwLS4xLTM4LjV6bTg5LjEgNTEuNmwtMi43LTEzLjEtMzguNCAwIDAgMTUzLjIgNDQuMyAwIDAtMTAzLjFjMTAuNS0xMy44IDI4LjItMTEuMSAzMy45LTkuM2wwLTQwLjhjLTYtMi4xLTI2LjctNi0zNy4xIDEzLjF6TTM0Ni40IDEyNGwtNDQuNiA5LjUgMCAzNi4yIDQ0LjYtOS41IDAtMzYuMnpNNDQuOSAyMjguM2MwLTYuOSA1LjgtOS42IDE1LjEtOS43IDEzLjUgMCAzMC43IDQuMSA0NC4yIDExLjRsMC00MS44Yy0xNC43LTUuOC0yOS40LTguMS00NC4xLTguMS0zNiAwLTYwIDE4LjgtNjAgNTAuMiAwIDQ5LjIgNjcuNSA0MS4yIDY3LjUgNjIuNCAwIDguMi03LjEgMTAuOS0xNyAxMC45LTE0LjcgMC0zMy43LTYuMS00OC42LTE0LjJsMCA0MGMxNi41IDcuMSAzMy4yIDEwLjEgNDguNSAxMC4xIDM2LjkgMCA2Mi4zLTE1LjggNjIuMy00Ny44IDAtNTIuOS02Ny45LTQzLjQtNjcuOS02My40ek02NDAgMjYxLjZjMC00NS41LTIyLTgxLjQtNjQuMi04MS40cy02Ny45IDM1LjktNjcuOSA4MS4xYzAgNTMuNSAzMC4zIDc4LjIgNzMuNSA3OC4yIDIxLjIgMCAzNy4xLTQuOCA0OS4yLTExLjVsMC0zMy40Yy0xMi4xIDYuMS0yNiA5LjgtNDMuNiA5LjgtMTcuMyAwLTMyLjUtNi4xLTM0LjUtMjYuOWw4Ni45IDBjLjItMi4zIC42LTExLjYgLjYtMTUuOXptLTg3LjktMTYuOGMwLTIwIDEyLjMtMjguNCAyMy40LTI4LjQgMTAuOSAwIDIyLjUgOC40IDIyLjUgMjguNGwtNDUuOSAwek00MzkuMiAxODAuMmMtMTcuNCAwLTI4LjYgOC4yLTM0LjggMTMuOWwtMi4zLTExLTM5LjEgMCAwIDIwNC44IDQ0LjQtOS40IC4xLTUwLjJjNi40IDQuNyAxNS45IDExLjIgMzEuNCAxMS4yIDMxLjggMCA2MC44LTIzLjIgNjAuOC03OS42IC4xLTUxLjYtMjkuMy03OS43LTYwLjUtNzkuN3pNNDI4LjYgMzAyLjdjLTEwLjQgMC0xNi42LTMuOC0yMC45LTguNGwtLjMtNjZjNC42LTUuMSAxMS04LjggMjEuMi04LjggMTYuMiAwIDI3LjQgMTguMiAyNy40IDQxLjQgLjEgMjMuOS0xMC45IDQxLjgtMjcuNCA0MS44ek0zMDEuOSAzMzYuNGw0NC42IDAgMC0xNTMuMi00NC42IDAgMCAxNTMuMnoiXX0sbmx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRhaWx5bW90aW9uIixpY29uOls0NDgsNTEyLFtdLCJlMDUyIiwiTTI5OC45IDI2N2MtNy40LTQuMi0xNS44LTYuMy0yNC40LTYuMi0xMy4yIDAtMjQuNCA0LjQtMzMuNCAxMy4zcy0xMy42IDIwLTEzLjYgMzMuNGMwIDE0LjEgNC40IDI1LjYgMTMuMyAzNC42czIwIDEzLjQgMzMuNCAxMy40YzEzLjcgMCAyNS00LjYgMzQuMS0xMy44UzMyMiAzMjEuMSAzMjIgMzA3LjVjMC04LjItMi4xLTE2LjMtNi4xLTIzLjUtNC03LjEtOS44LTEzLTE3LTE3ek0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0zNzQuNyA0MDUuM2wtNTMuMSAwIDAtMjMuOS0uNyAwYy0xMC41IDE3LjUtMjkuMSAyNi4yLTU1LjggMjYuMi0xOC40IDAtMzQuNy00LjQtNDguOS0xMy4xLTE0LjEtOC42LTI1LjUtMjEtMzIuOS0zNS44LTcuNy0xNS4xLTExLjYtMzIuMS0xMS42LTUwLjkgMC0xOC40IDMuOS0zNS4xIDExLjgtNTAuMiA3LjUtMTQuNyAxOC45LTI3LjEgMzIuOS0zNS44IDE0LjEtOC43IDMwLTEzLjEgNDcuNy0xMy4xIDEwLjItLjEgMjAuMiAxLjYgMjkuNyA1LjIgOC45IDMuNSAxNy4yIDkuMSAyNSAxN2wwLTc3LjkgNTUuOC0xMi4xIDAgMjY0LjR6Il19LHNsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGVhbSIsaWNvbjpbNTEyLDUxMixbXSwiZjFiNiIsIk01MDQgMjU2YzAgMTM3LTExMS4yIDI0OC0yNDguNCAyNDgtMTEzLjggMC0yMDkuNi03Ni4zLTIzOS0xODAuNGw5NS4yIDM5LjNjNi40IDMyLjEgMzQuOSA1Ni40IDY4LjkgNTYuNCAzOS4yIDAgNzEuOS0zMi40IDcwLjItNzMuNWw4NC41LTYwLjJjNTIuMSAxLjMgOTUuOC00MC45IDk1LjgtOTMuNSAwLTUxLjYtNDItOTMuNS05My43LTkzLjVzLTkzLjcgNDItOTMuNyA5My41bDAgMS4yLTU5LjIgODUuN2MtMTUuNS0uOS0zMC43IDMuNC00My41IDEyLjFMOCAyMzYuMUMxOC4yIDEwOC40IDEyNS4xIDggMjU1LjYgOCAzOTIuOCA4IDUwNCAxMTkgNTA0IDI1NnpNMTYzLjcgMzg0LjNsLTMwLjUtMTIuNmM1LjYgMTEuNiAxNS4zIDIwLjggMjcuMiAyNS44IDI2LjkgMTEuMiA1Ny44LTEuNiA2OS0yOC40IDUuNC0xMyA1LjUtMjcuMyAuMS00MC4zUzIxNCAzMDUuNiAyMDEgMzAwLjJjLTEyLjktNS40LTI2LjctNS4yLTM4LjktLjZsMzEuNSAxM2MxOS44IDguMiAyOS4yIDMwLjkgMjAuOSA1MC43LTguMyAxOS45LTMxIDI5LjItNTAuOCAyMXpNMzM3LjUgMTI5LjhhNjIuMyA2Mi4zIDAgMSAxIDAgMTI0LjYgNjIuMyA2Mi4zIDAgMSAxIDAtMTI0LjZ6bS4xIDEwOWE0Ni44IDQ2LjggMCAxIDAgMC05My42IDQ2LjggNDYuOCAwIDEgMCAwIDkzLjZ6Il19LG9sdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2ZW5tby12IixpY29uOls1MTIsNTEyLFtdLCJlODViIiwiTTQ2Ni41IDE0LjhjMTcuNCAyOC43IDI1LjMgNTguMiAyNS4zIDk1LjUgMCAxMTktMTAxLjkgMjczLjUtMTg0LjcgMzgyLjFsLTE4OC45IDAtNzUuOC00NTEuNSAxNjUuNC0xNS43IDQwLjEgMzIxLjNjMzcuNC02MC44IDgzLjYtMTU2LjMgODMuNi0yMjEuNCAwLTM1LjYtNi4xLTU5LjktMTUuNy03OS45TDQ2Ni41IDE0Ljh6Il19LE4xZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzbmFwY2hhdCIsaWNvbjpbNTEyLDUxMixbNjIxMjQsInNuYXBjaGF0LWdob3N0Il0sImYyYWIiLCJNNDk3LjEgMzY2LjZjLTMuNC05LjItOS44LTE0LjEtMTcuMS0xOC4yLTEuNC0uOC0yLjYtMS41LTMuNy0xLjktMi4yLTEuMS00LjQtMi4yLTYuNi0zLjQtMjIuOC0xMi4xLTQwLjYtMjcuMy01My00NS40LTMuNS01LjEtNi42LTEwLjUtOS4xLTE2LjEtMS4xLTMtMS00LjctLjItNi4zIC44LTEuMiAxLjctMi4yIDIuOS0zIDMuOS0yLjYgOC01LjIgMTAuNy03IDQuOS0zLjIgOC44LTUuNyAxMS4yLTcuNCA5LjQtNi41IDE1LjktMTMuNSAyMC0yMS4zIDIuOS01LjQgNC41LTExLjMgNC45LTE3LjRzLS42LTEyLjItMi44LTE3LjhjLTYuMi0xNi4zLTIxLjYtMjYuNC00MC4zLTI2LjQtMy45IDAtNy45IC40LTExLjcgMS4yLTEgLjItMi4xIC41LTMuMSAuNyAuMi0xMS4yLS4xLTIyLjktMS4xLTM0LjUtMy41LTQwLjgtMTcuOC02Mi4xLTMyLjctNzkuMi05LjUtMTAuNy0yMC43LTE5LjctMzMuMi0yNi43LTIyLjYtMTIuOS00OC4yLTE5LjQtNzYuMS0xOS40cy01My40IDYuNS03NiAxOS40Yy0xMi41IDctMjMuNyAxNi4xLTMzLjMgMjYuOC0xNC45IDE3LTI5LjIgMzguNC0zMi43IDc5LjItMSAxMS42LTEuMiAyMy40LTEuMSAzNC41LTEtLjMtMi0uNS0zLjEtLjctMy45LS44LTcuOC0xLjItMTEuNy0xLjItMTguNyAwLTM0LjEgMTAuMS00MC4zIDI2LjQtMi4yIDUuNy0zLjIgMTEuOC0yLjggMTcuOHMyIDEyIDQuOSAxNy40YzQuMSA3LjggMTAuNyAxNC43IDIwIDIxLjMgMi41IDEuNyA2LjQgNC4yIDExLjIgNy40IDIuNiAxLjcgNi41IDQuMiAxMC4zIDYuNyAxLjMgLjkgMi40IDIgMy4zIDMuMyAuOCAxLjYgLjggMy40LS40IDYuNi0yLjUgNS41LTUuNSAxMC44LTguOSAxNS44LTEyLjEgMTcuNy0yOS40IDMyLjYtNTEuNCA0NC42LTExLjcgNi4yLTIzLjkgMTAuMy0yOSAyNC4zLTMuOSAxMC41LTEuMyAyMi41IDguNSAzMi42IDMuNiAzLjggNy44IDYuOSAxMi40IDkuNCA5LjYgNS4zIDE5LjggOS4zIDMwLjMgMTIuMSAyLjIgLjYgNC4zIDEuNSA2LjEgMi43IDMuNiAzLjEgMy4xIDcuOSA3LjggMTQuOCAyLjQgMy42IDUuNCA2LjcgOSA5LjEgMTAgNi45IDIxLjMgNy40IDMzLjIgNy44IDEwLjggLjQgMjMgLjkgMzYuOSA1LjUgNS44IDEuOSAxMS44IDUuNiAxOC43IDkuOSAxNi43IDEwLjMgMzkuNiAyNC4zIDc3LjggMjQuM3M2MS4zLTE0LjEgNzguMS0yNC40YzYuOS00LjIgMTIuOS03LjkgMTguNS05LjggMTMuOS00LjYgMjYuMi01LjEgMzYuOS01LjUgMTEuOS0uNSAyMy4yLS45IDMzLjItNy44IDQuMi0yLjkgNy43LTYuNyAxMC4yLTExLjIgMy40LTUuOCAzLjQtOS45IDYuNi0xMi44IDEuOC0xLjIgMy43LTIuMSA1LjgtMi42IDEwLjctMi44IDIxLTYuOSAzMC44LTEyLjIgNC45LTIuNiA5LjMtNi4xIDEzLTEwLjJsLjEtLjJjOS4yLTkuOSAxMS41LTIxLjUgNy44LTMxLjh6bS0zNCAxOC4zYy0yMC43IDExLjUtMzQuNSAxMC4yLTQ1LjMgMTcuMS05LjEgNS45LTMuNyAxOC41LTEwLjMgMjMuMS04LjEgNS42LTMyLjItLjQtNjMuMiA5LjktMjUuNiA4LjUtNDIgMzIuOC04OCAzMi44cy02Mi0yNC4zLTg4LjEtMzIuOWMtMzEtMTAuMy01NS4xLTQuMi02My4yLTkuOS02LjYtNC42LTEuMi0xNy4yLTEwLjMtMjMuMS0xMC43LTYuOS0yNC41LTUuNy00NS4zLTE3LjEtMTMuMi03LjMtNS43LTExLjgtMS4zLTEzLjkgNzUuMS0zNi40IDg3LjEtOTIuNiA4Ny43LTk2LjcgLjYtNSAxLjQtOS00LjItMTQuMS01LjQtNS0yOS4yLTE5LjctMzUuOC0yNC4zLTEwLjktNy42LTE1LjctMTUuMy0xMi4yLTI0LjYgMi41LTYuNSA4LjUtOC45IDE0LjktOC45IDIgMCA0IC4yIDYgLjcgMTIgMi42IDIzLjcgOC42IDMwLjQgMTAuMiAuOCAuMiAxLjYgLjMgMi41IC4zIDMuNiAwIDQuOS0xLjggNC42LTUuOS0uOC0xMy4xLTIuNi0zOC43LS42LTYyLjYgMi44LTMyLjkgMTMuNC00OS4yIDI2LTYzLjYgNi4xLTYuOSAzNC41LTM3IDg4LjktMzdTMzM5IDc0LjIgMzQ1IDgxLjFjMTIuNiAxNC40IDIzLjIgMzAuNyAyNiA2My42IDIuMSAyMy45IC4zIDQ5LjUtLjYgNjIuNi0uMyA0LjMgMSA1LjkgNC42IDUuOSAuOCAwIDEuNy0uMSAyLjUtLjMgNi43LTEuNiAxOC40LTcuNiAzMC40LTEwLjIgMi0uNCA0LS43IDYtLjcgNi40IDAgMTIuNCAyLjUgMTQuOSA4LjkgMy41IDkuNC0xLjIgMTctMTIuMiAyNC42LTYuNiA0LjYtMzAuNCAxOS4zLTM1LjggMjQuMy01LjYgNS4xLTQuOCA5LjEtNC4yIDE0LjIgLjUgNC4yIDEyLjUgNjAuNCA4Ny43IDk2LjcgNC40IDIuMiAxMS45IDYuNy0xLjMgMTQuMXoiXX0sbGx0PU4xZSxjbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2FsYWN0aWMtc2VuYXRlIixpY29uOls1MTIsNTEyLFtdLCJmNTBkIiwiTTI0OS45IDMzLjVsMCAyNi4xYy0xMy42IDIwLjYtMjMuOSAxMDguNi0yNC41IDIxNS4zIDExLjctMTUuNiAxOS4xLTMzLjMgMTkuMS00OC4ybDAtMTYuOWMwLTUuMyAuOC0xMC41IDIuMi0xNS42IC42LTIuMSAxLjQtNC4xIDIuNi01LjhzMy40LTMuOCA2LjctMy44IDUuNCAyLjEgNi43IDMuOGMxLjIgMS44IDIgMy43IDIuNiA1LjggMS40IDUuMSAyLjIgMTAuMyAyLjIgMTUuNmwwIDE2LjljMCAxNC45IDcuNCAzMi42IDE5LjEgNDguMi0uNi0xMDYuOC0xMC45LTE5NC43LTI0LjUtMjE1LjNsMC0yNi4xLTEyLjMgMHpNMjIzLjUgMTgxLjNjLTkuNSAyLjEtMTguNyA1LjItMjcuNSA5LjEgOC45IDE2LjEgOS44IDMyLjYgMS43IDM3LjMtOCA0LjYtMjEuOC00LjItMzEuNC0xOS44LTExLjYgOC44LTIxLjkgMTkuMy0zMC42IDMxLjEgMTQuNyA5LjYgMjIuOSAyMi45IDE4LjMgMzAuNy00LjUgNy43LTIwIDcuMS0zNS41LTEtNS44IDEzLjItOS43IDI3LjUtMTEuNiA0Mi40IDkuNyAuMiAxOC43IDIuNCAyNi4yIDYgMTcuOC0uMyAzMi44LTIgNDAuNS00LjIgNS42LTI2LjQgMjMtNDguMiA0Ni4zLTU5LjUgLjctMjUuNiAxLjktNDkuNyAzLjUtNzIuMXptNjUgMGMxLjYgMjIuNCAyLjcgNDYuNSAzLjUgNzIuMSAyMy4zIDExLjMgNDAuOCAzMy4yIDQ2LjMgNTkuNSA3LjcgMi4zIDIyLjcgMy45IDQwLjUgNC4yIDcuNS0zLjcgMTYuNS01LjggMjYuMi02LTEuOS0xNC45LTUuOS0yOS4yLTExLjctNDIuNC0xNS40IDguMS0zMC45IDguNy0zNS41IDEtNC42LTcuNyAzLjYtMjEuMSAxOC4zLTMwLjctOC43LTExLjgtMTktMjIuMy0zMC42LTMxLjEtOS41IDE1LjYtMjMuNCAyNC40LTMxLjQgMTkuOC04LjEtNC42LTcuMi0yMS4yIDEuNy0zNy4zLTguOC0zLjktMTgtNy0yNy40LTkuMXpNMjU2IDE4OS45Yy0zLjIgMC01LjkgOC44LTYuMSAxOS45bDAgMCAwIDE2LjljMCA0MS40LTQ5IDk1LTkzLjUgOTUtNTIgMC0xMjIuOC0xLjQtMTU2LjQgMjkuMmwwIDIuNWM5LjQgMTcuMSAyMC42IDMzLjIgMzMuMiA0OCAxMi41LTIxLjEgNTEuNi00MSAxMDgtNDEuNCA0NS43IDEgNzkgMjAuMyA5MC44IDQwLjkgMCAwIDAgMCAwIC4xIDcuNyAyLjEgMTUuOCAzLjIgMjQgMy4yIDguMiAwIDE2LjQtMS4xIDI0LTMuMiAwIDAgMCAwIDAtLjEgMTEuNy0yMC41IDQ1LjEtMzkuOCA5MC44LTQwLjkgNTYuNCAuNCA5NS41IDIwLjMgMTA4IDQxLjQgMTIuNi0xNC44IDIzLjgtMzAuOSAzMy4yLTQ4bDAtMi41Yy0zMy42LTMwLjYtMTA0LjQtMjkuMi0xNTYuNC0yOS4yLTQ0LjUgMC05My41LTUzLjYtOTMuNS05NWwwLTE2LjktLjEgMGMtLjItMTEuMS0yLjktMTkuOS02LjEtMTkuOXptMCAxNzcuOWE0MC42IDQwLjYgMCAxIDEgMC04MS4zIDQwLjYgNDAuNiAwIDEgMSAwIDgxLjN6bTAtNzMuNmEzMyAzMyAwIDEgMCAwIDY1LjkgMzMgMzMgMCAxIDAgMC02NS45em0wIDU5LjhhMjYuOCAyNi44IDAgMSAxIDAtNTMuNiAyNi44IDI2LjggMCAxIDEgMCA1My42em0tMTE0LjggMTNjLTEwLjIgLjEtMjEuNiAuNC0zMC41IDEuNyAuNCA0LjQgMS41IDE4LjYgNy4xIDI5LjggOS4xLTIuNiAxOC40LTMuOSAyNy42LTMuOSA0MS4zIC45IDcxLjUgMzQuNCA3OC4zIDc0LjVsLjEgNC43YzEwLjQgMS45IDIxLjIgMi45IDMyLjIgMi45IDExIDAgMjEuOC0xIDMyLjItMi45bC4xLTQuN2M2LjgtNDAuMSAzNy03My41IDc4LjMtNzQuNSA5LjMgMCAxOC41IDEuMyAyNy42IDMuOSA1LjYtMTEuMSA2LjctMjUuMyA3LjEtMjkuOC04LjktMS4zLTIwLjMtMS42LTMwLjUtMS43LTE4LjggLjQtMzUuMiA0LjItNDguNiA5LjctMTIuNSAxNi0yOS4yIDMwLTQ5LjYgMzMuMS0uMSAwLS4yIDAtLjMgMCAwIDAtLjEgMC0uMiAuMS01LjIgMS4xLTEwLjYgMS42LTE2LjIgMS42LTUuNSAwLTEwLjktLjUtMTYuMi0xLjYtLjEgMC0uMSAwLS4yLS4xLS4xIDAtLjIgMC0uMyAwLTIwLjQtMy0zNy0xNy00OS42LTMzLjEtMTMuNC01LjUtMjkuOS05LjItNDguNi05Ljd6Il19LGRsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaG9lbml4LWZyYW1ld29yayIsaWNvbjpbNjQwLDUxMixbXSwiZjNkYyIsIk0yMTIuOSAzNDQuM2MzLjgtLjEgMjIuOC0xLjQgMjUuNi0yLjItMi40LTIuNi00My42LTEtNjgtNDkuNi00LjMtOC42LTcuNS0xNy42LTYuNC0yNy42IDIuOS0yNS41IDMyLjktMzAgNTItMTguNSAzNiAyMS42IDYzLjMgOTEuMyAxMTMuNyA5Ny41IDM3IDQuNSA4NC42LTE3IDEwOC4yLTQ1LjQtLjYtLjEtLjgtLjItMS0uMS0uNCAuMS0uOCAuMi0xLjEgLjMtMzMuMyAxMi4xLTk0LjMgOS43LTEzNC43LTE0LjgtMzcuNi0yMi44LTUzLjEtNTguNy01MS44LTc0LjYgMS44LTIxLjMgMjIuOS0yMy4yIDM1LjktMTkuNiAxNC40IDMuOSAyNC40IDE3LjYgMzguOSAyNy40IDE1LjYgMTAuNCAzMi45IDEzLjcgNTEuMyAxMC4zIDE0LjktMi43IDM0LjQtMTIuMyAzNi41LTE0LjUtMS4xLS4xLTEuOC0uMS0yLjUtLjItNi4yLS42LTEyLjQtLjgtMTguNS0xLjctMTExLjItMTYuNS0xMjguOS0xNjMuNi0yNTIuNS0xNzMuMS00NC4zLTMuNC05OS40IDguMS0xMzYuMyAzNS0uOCAuNi0xLjUgMS4yLTIuMiAxLjggLjEgLjIgLjEgLjMgLjIgLjUgLjggMCAxLjYtLjEgMi40LS4yIDYuMy0xIDEyLjUtLjggMTguNyAuMyAyMy44IDQuMyA0Ny43IDIzLjEgNTUuOSA3Ni41IDUuMyAzNC4zLS43IDUwLjggOCA4Ni4xIDE5IDc3LjEgOTEgMTA3LjYgMTI3LjcgMTA2LjR6TTc1LjMgNjQuOWMtLjktMS0uOS0xLjItMS4zLTIgMTIuMS0yLjYgMjQuMi00LjEgMzYuNi00LjgtMS4xIDE0LjctMjIuMiAyMS4zLTM1LjMgNi44ek0yNzIuMiA0MTUuNGMtNDIuOCAxLjItOTItMjYuNy0xMjMuNS02MS40LTQuNi01LTE2LjgtMjAuMi0xOC42LTIzLjRsLjQtLjRjNi42IDQuMSAyNS43IDE4LjYgNTQuOCAyNyAyNC4yIDcgNDguMSA2LjMgNzEuNi0zLjMgMjIuNy05LjMgNDEtLjUgNDMuMSAyLjktMTguNSAzLjgtMjAuMSA0LjQtMjQgNy45LTUuMSA0LjQtNC42IDExLjcgNyAxNy4yIDI2LjIgMTIuNCA2My0yLjggOTcuMiAyNS40IDIuNCAyIDguMSA3LjggMTAuMSAxMC43LS4xIC4yLS4zIC4zLS40IC41LTQuOC0xLjUtMTYuNC03LjUtNDAuMi05LjMtMjQuNy0yLTQ2LjMgNS4zLTc3LjUgNi4yek00NDcgMTYzLjRjMTYuNC01LjIgNDEuMy0xMy40IDY2LjUtMy4zIDE2LjEgNi41IDI2LjIgMTguNyAzMi4xIDM0LjYgMy41IDkuNCA1LjEgMTkuNyA1LjEgMjguNy0uMiAwLS40IDAtLjYgLjEtLjItLjQtLjQtLjktLjUtMS4zLTUtMjItMjkuOS00My44LTY3LjYtMjkuOS01MC4yIDE4LjYtMTMwLjQgOS43LTE3Ni45LTQ4LS43LS45LTIuNC0xLjctMS4zLTMuMiAuMS0uMiAyLjEgLjYgMyAxLjMgMTguMSAxMy40IDM4LjMgMjEuOSA2MC4zIDI2LjIgMzAuNSA2LjEgNTQuNiAyLjkgNzkuOS01LjJ6TTU0OS43IDI4MC45Yy0zMi40IC4yLTMzLjggNTAuMS0xMDMuNiA2NC40LTE4LjIgMy43LTM4LjcgNC42LTQ0LjkgNC4ybDAtLjRjMi44LTEuNSAxNC43LTIuNiAyOS43LTE2LjYgNy45LTcuMyAxNS4zLTE1LjEgMjIuOC0yMi45IDE5LjUtMjAuMiA0MS40LTQyLjIgODEuOS0zOSAyMy4xIDEuOCAyOS4zIDguMiAzNi4xIDEyLjcgLjMgLjIgLjQgLjUgLjcgLjktLjUgMC0uNyAuMS0uOSAwLTctMi43LTE0LjMtMy4zLTIxLjgtMy4zem0tMTIuMy0yNC4xYy0uMSAuMi0uMSAuNC0uMiAuNi0yOC45LTQuNC00OC03LjktNjguNSA0LTE3IDkuOS0zMS40IDIwLjUtNjIgMjQuNC0yNy4xIDMuNC00NS4xIDIuNC02Ni4xLTgtLjMtLjItLjYtLjQtMS0uNiAwLS4yIC4xLS4zIC4xLS41IDI0LjkgMy44IDM2LjQgNS4xIDU1LjUtNS44IDIyLjMtMTIuOSA0MC4xLTI2LjYgNzEuMy0zMSAyOS42LTQuMSA1MS4zIDIuNSA3MC45IDE2Ljl6TTI2OC42IDk3LjNjLS42LS42LTEuMS0xLjItMi4xLTIuMyA3LjYgMCAyOS43LTEuMiA1My40IDguNCAxOS43IDggMzIuMiAyMSA1MC4yIDMyLjkgMTEuMSA3LjMgMjMuNCA5LjMgMzYuNCA4LjEgNC4zLS40IDguNS0xLjIgMTIuOC0xLjcgLjQtLjEgLjkgMCAxLjUgLjMtLjYgLjQtMS4yIC45LTEuOCAxLjItOC4xIDQtMTYuNyA2LjMtMjUuNiA3LjEtMjYuMSAyLjYtNTAuMy0zLjctNzMuNC0xNS40LTE5LjMtOS45LTM2LjQtMjIuOS01MS40LTM4LjZ6TTY0MCAzMzUuN2MtMy41IDMuMS0yMi43IDExLjYtNDIuNyA1LjMtMTIuMy0zLjktMTkuNS0xNC45LTMxLjYtMjQuMS0xMC03LjYtMjAuOS03LjktMjguMS04LjQgLjYtLjggLjktMS4yIDEuMi0xLjQgMTQuOC05LjIgMzAuNS0xMi4yIDQ3LjMtNi41IDEyLjUgNC4yIDE5LjIgMTMuNSAzMC40IDI0LjIgMTAuOCAxMC40IDIxIDkuOSAyMy4xIDEwLjUgLjEtLjEgLjIgMCAuNCAuNHptLTIxMi41IDEzN2MyLjIgMS4yIDEuNiAxLjUgMS41IDItMTguNS0xLjQtMzMuOS03LjYtNDYuOC0yMi4yLTIxLjgtMjQuNy00MS43LTI3LjktNDguNi0yOS43IC41LS4yIC44LS40IDEuMS0uNCAxMy4xIC4xIDI2LjEgLjcgMzguOSAzLjkgMjUuMyA2LjQgMzUgMjUuNCA0MS42IDM1LjMgMy4yIDQuOCA3LjMgOC4zIDEyLjMgMTEuMXoiXX0sdWx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdCIsaWNvbjpbNTEyLDUxMixbXSwiZjFkMyIsIk0yMTYuMyAxNTguNGwtNzkuMyAwYy00MC0xMC41LTEzMC41LTcuOC0xMzAuNSA3NC44IDAgMzAuMSAxNSA1MS4yIDM1IDYxLTI1LjEgMjMtMzcgMzMuOC0zNyA0OS4yIDAgMTEgNC41IDIxLjEgMTcuOSAyNi44LTE0LjMgMTMuNC0yMi40IDIzLjEtMjIuNCA0MS40IDAgMzIuMSAyOCA1MC44IDEwMS42IDUwLjggNzAuOCAwIDExMS44LTI2LjQgMTExLjgtNzMuMiAwLTU4LjctNDUuMi01Ni41LTE1MS42LTYzbDEzLjQtMjEuNmMyNy4zIDcuNiAxMTguNyAxMCAxMTguNy02Ny45IDAtMTguNy03LjctMzEuNy0xNS00MS4xbDM3LjQtMi44IDAtMzQuNXpNMTUyLjkgNDAwLjNjMCAzMi4xLTEwNC45IDMyLjEtMTA0LjkgMi40IDAtOC4xIDUuMy0xNSAxMC42LTIxLjUgNzcuNyA1LjMgOTQuMyAzLjQgOTQuMyAxOS4xek0xMDIuMSAyNjUuN2MtNTIuOCAwLTUwLjUtNzEuMiAxLjItNzEuMiA0OS41IDAgNTAuOCA3MS4yLTEuMiA3MS4yek0yMzUuNCAzNjYuMmwwLTMyLjFjMjYuNy0zLjcgMjcuMi0yIDI3LjItMTFsMC0xMTkuNWMwLTguNS0yLjEtNy40LTI3LjItMTYuM2w0LjUtMzIuOSA4NC4yIDAgMCAxNjguN2MwIDYuNSAuNCA3LjMgNi41IDguMWwyMC43IDIuOCAwIDMyLjEtMTE1LjkgMHptNTIuNS0yNDQuM2MtMjMuMiAwLTM2LjYtMTMuNC0zNi42LTM2LjZzMTMuNC0zNS44IDM2LjYtMzUuOGMyMy42IDAgMzcgMTIuNiAzNyAzNS44cy0xMy40IDM2LjYtMzcgMzYuNnpNNTEyIDM1MC41Yy0xNy41IDguNS00My4xIDE2LjMtNjYuMyAxNi4zLTQ4LjQgMC02Ni43LTE5LjUtNjYuNy02NS41bDAtMTA2LjVjMC01LjQgMS00LjEtMzEuNy00LjFsMC0zNi4yYzM1LjgtNC4xIDUwLTIyIDU0LjUtNjYuM2wzOC42IDBjMCA2NS44LTEuMyA2MS44IDMuMyA2MS44bDU3LjMgMCAwIDQwLjYtNjAuNiAwIDAgOTcuMWMwIDYuOS00LjkgNTEuNCA2MC42IDI2LjhsMTEgMzUuOHoiXX0scGx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wdGluLW1vbnN0ZXIiLGljb246WzU3Niw1MTIsW10sImYyM2MiLCJNNTcyLjggNDIxLjRjNS42LTkuNSA0LjctMTUuMi01LjQtMTEuNi0zLTQuOS03LTkuNS0xMS4xLTEzLjggMi45LTkuNy0uNy0xNC4yLTEwLjgtOS4yLTQuNi0zLjItMTAuMy02LjUtMTUuOS05LjIgMC0xNS4xLTExLjYtMTEuNi0xNy42LTUuNy0xMC40LTEuNS0xOC43LS4zLTI2LjggNS43IC4zLTYuNSAuMy0xMyAuMy0xOS43IDEyLjYgMCA0MC4yLTExIDQ1LjktMzYuMiAxLjQtNi44IDEuNi0xMy44LS4zLTIxLjktMy0xMy41LTE0LjMtMjEuMy0yNS4xLTI1LjctLjgtNS45LTcuNi0xNC4zLTE0LjktMTUuOXMtMTIuNCA0LjktMTQuMSAxMC4zYy04LjUgMC0xOS4yIDIuOC0yMS4xIDguNC01LjQtLjUtMTEuMS0xLjQtMTYuOC0xLjkgMi43LTEuOSA1LjQtMy41IDguNC00LjYgNS40LTkuMiAxNC42LTExLjQgMjUuNy0xMS42bDAtMi44YzE5LjUtLjUgNDMtNS45IDUzLjgtMTguMSAxMi43LTEzLjggMTQuNi0zNy4zIDEyLjQtNTUuMS0yLjQtMTcuMy05LjctMzcuNi0yNC42LTQ4LjEtOC40LTUuOS0yMS42LS44LTIyLjcgOS41LTIuMiAxOS42IDEuMiAzMC0zOC42IDI1LjEtMTAuMy0yMy44LTI0LjYtNDQuNi00Mi43LTYwLTY5LjYtNTkuNy0xNjcuNy01My44LTI0NC4yLTM3LjYgMTkuNyA0LjYgNDEuMSA4LjYgNTkuNyAxNi41LTI2LjIgMi40LTUyLjcgMTEuMy03Ni4yIDIzLjItMzIuOCAxNy00NCAyOS45LTU2LjcgNDIuNCAxNC45LTIuMiAyOC45LTUuMSA0My44LTMuOC05LjcgNS40LTE4LjQgMTIuMi0yNi41IDIwLTI1LjggLjktMjMuOC01LjMtMjYuMi0yNS45LTEuMS0xMC41LTE0LjMtMTUuNC0yMi43LTkuNy0yOC4xIDE5LjktMzMuNSA3OS45LTEyLjIgMTAzLjUgMTAuOCAxMi4yIDM1LjEgMTcuMyA1NC45IDE3LjgtLjMgMS4xLS4zIDEuOS0uMyAyLjcgMTAuOCAuNSAxOS41IDIuNyAyNC42IDExLjYgMyAxLjEgNS43IDIuNyA4LjEgNC42LTUuNCAuNS0xMS4xIDEuNC0xNi41IDEuOS0zLjMtNi42LTEzLjctOC4xLTIxLjEtOC4xLTEuNi01LjctNi41LTEyLjItMTQuMS0xMC4zLTYuOCAxLjktMTQuMSAxMC0xNC45IDE1LjktMjIuNSA5LjUtMzAuMSAyNi44LTI1LjEgNDcuNiA1LjMgMjQuOCAzMyAzNi4yIDQ1LjkgMzYuMmwwIDE5LjdjLTYuNi01LTE0LjMtNy41LTI2LjgtNS43LTUuNS01LjUtMTcuMy0xMC4xLTE3LjMgNS43LTUuOSAyLjctMTEuNCA1LjktMTUuOSA5LjItOS44LTQuOS0xMy42LTEuNy0xMS4xIDkuMi00LjEgNC4zLTcuOCA4LjYtMTEuMSAxMy44LTEwLjItMy43LTExIDIuMi01LjQgMTEuNi0xLjEgMy41LTEuNiA3LTEuOSAxMC44LS41IDMxLjYgNDQuNiA2NCA3My41IDY1LjEgMTcuMyAuNSAzNC42LTguNCA0My0yMy41IDExMy4yIDQuOSAyMjYuNyA0LjEgMzQwLjIgMCA4LjEgMTUuMSAyNS40IDI0LjMgNDIuNyAyMy41IDI5LjItMS4xIDc0LjMtMzMuNSA3My41LTY1LjEgLjItMy43LS43LTcuMi0xLjctMTAuN3pNNDk5IDE2Ny40YzEuMS0zIDIuNC04LjQgMi40LTE0LjYgMC01LjkgNi44LTguMSAxNC4xLS44IDExLjEgMTEuNiAxNC45IDQwLjUgMTMuOCA1MS4xLTQuMS0xMy42LTEzLTI5LTMwLjMtMzUuN3ptLTQuNiA2LjdjMTkuNSA2LjIgMjguNiAyNy42IDI5LjcgNDguOS0xLjEgMi43LTMgNS40LTQuOSA3LjYtNS43IDUuOS0xNS40IDEwLTI2LjIgMTIuMiA0LjMtMjEuMyAuMy00Ny4zLTEyLjctNjMgNC45LS44IDEwLjktMi40IDE0LjEtNS43em0tMjQuMSA2LjhjMTMuOCAxMS45IDIwIDM5LjIgMTQuMSA2My41LTQuMSAuNS04LjEgLjgtMTEuNiAuOC0xLjktMjEuOS02LjgtNDQtMTQuMy02NC42IDMuNyAuMyA4LjEgLjMgMTEuOCAuM3pNNDcuNyAyMDNjLTEuMS0xMC41IDIuNC0zOS41IDEzLjgtNTEuMSA3LTcuMyAxNC4xLTUuMSAxNC4xIC44IDAgNi4yIDEuNCAxMS42IDIuNCAxNC42LTE3LjMgNi44LTI2LjIgMjIuMi0zMC4zIDM1Ljd6bTkuNyAyNy42Yy0xLjktMi4yLTMuNS00LjktNC45LTcuNiAxLjQtMjEuMyAxMC4zLTQyLjcgMjkuNy00OC45IDMuMiAzLjIgOS4yIDQuOSAxNC4xIDUuNy0xMyAxNS43LTE3IDQxLjYtMTIuNyA2My0xMC44LTIuMi0yMC41LTYtMjYuMi0xMi4yem00Ny45IDE0LjZjLTQuMSAwLTguMS0uMy0xMi43LS44LTQuNi0xOC42LTEuOS0zOC45IDUuNC01M2wwIC4zIDEyLjItNS4xYzQuOS0xLjkgOS43LTMuOCAxNC45LTQuOS0xMC43IDE5LjctMTcuNCA0MS4zLTE5LjggNjMuNXptMTg0LTEwLjVhNzYuMSA3Ni4xIDAgMSAxIDAtMTUyLjIgNzYuMSA3Ni4xIDAgMSAxIDAgMTUyLjJ6bTExNS42IDIyLjFjLS4zIDE3LjgtNyA0OC45LTIzIDU3LTEzLjIgNi42LTYuNS03LjUtMTYuNS01OC4xIDEzLjMgLjMgMjYuNiAuMyAzOS41IDEuMXptLTU0LTEuNmMuOCA0LjkgMy44IDQwLjMtMS42IDQxLjktMTEuNiAzLjUtNDAgNC4zLTUxLjEtMS4xLTQuMS0zLTQuNi0zNS45LTQuMy00MS4xbDAgLjNjMTguOS0uMyAzOC4xLS4zIDU3IDB6TTI3OC41IDMwOWMtMTMgMy41LTQxLjYgNC4xLTU0LjYtMS42LTYuNS0yLjctMy44LTQyLjQtMS45LTUxLjYgMTkuMi0uNSAzOC40LS41IDU3LjgtLjhsMCAuM2MxLjEgOC4zIDMuMyA1MS4yLTEuMyA1My43ek0xNzIgMjU3LjljMTIuMi0uOCAyNC42LTEuNCAzNi44LTEuNi0yLjQgMTUuNC0zIDQzLjUtNC45IDUyLjItMS4xIDYuOC00LjMgNi44LTkuNyA0LjMtMjEuOS05LjgtMjcuNi0zNS4yLTIyLjItNTQuOXptLTM1LjQgMzEuM2M3LjgtMS4xIDE1LjctMS45IDIzLjUtMi43IDEuNiA2LjIgMy44IDExLjkgNyAxNy42IDEwIDE3IDQ0IDM1LjcgNDUuMSA3IDYuMiAxNC45IDQwLjggMTIuMiA1NC45IDEwLjggMTUuNy0xLjQgMjMuOC0xLjQgMjYuOC0xNC4zIDEyLjQgNC4zIDMwLjggNC4xIDQ0IDMgMTEuMy0uOCAyMC44LS41IDI0LjYtOC45IDEuMSA1LjEgMS45IDExLjYgNC42IDE2LjggMTAuOCAyMS4zIDM3LjMgMS40IDQ2LjgtMzEuNiA4LjYgLjggMTcuNiAxLjkgMjYuNSAyLjctLjQgMS4zLTMuOCA3LjMgNy4zIDExLjYtNDcuNiA0Ny05NS43IDg3LjgtMTYzLjIgMTA3LTYzLjItMjAuOC0xMTIuMS01OS41LTE1NS45LTEwNi41IDkuNi0zLjQgMTAuNC04LjggOC0xMi41ek0xMTUgNDYxLjdjLTMuOCAxNy44LTIxLjkgMjkuNy0zOS43IDI4LjktMTkuMi0uOC00Ni41LTE3LTU5LjItMzYuNS0yLjctMzEuMSA0My44LTYxLjMgNjYuMi01NC42IDE0LjkgNC4zIDI3LjggMzAuOCAzMy41IDU0IDAgMy0uMyA1LjctLjggOC4yem0tOC43LTY2Yy0uNS0xMy41LS41LTI3LS4zLTQwLjVsLjMgMGMyLjctMS42IDUuNy0zLjggNy44LTYuNSA2LjUtMS42IDEzLTUuMSAxNS4xLTkuMiAzLjMtNy4xLTctNy41LTUuNC0xMi40IDIuNy0xLjEgNS43LTIuMiA3LjgtMy41IDI5LjIgMjkuMiA1OC42IDU2LjUgOTcuMyA3Ny0zNi44IDExLjMtNzIuNCAyNy42LTEwNS45IDQ3LTEuMi0xOC42LTcuNy0zNS45LTE2LjctNTEuOXptMzM3LjYgNjQuNmMtMTAzIDMuNS0yMDYuMiA0LjEtMzA5LjQgMCAwIC4zIDAgLjMtLjMgLjNsMC0uMyAuMyAwYzM1LjEtMjEuNiA3Mi4yLTM5LjIgMTEyLjQtNTAuOCAxMS42IDUuMSAyMyA5LjUgMzQuOSAxMy4yIDIuMiAuOCAyLjIgLjggNC4zIDAgMTQuMy00LjEgMjguNC05LjIgNDIuMi0xNS40IDQxLjUgMTEuNyA3OC44IDMxLjcgMTE1LjYgNTN6bTEwLjUtMTIuNGMtMzUuOS0xOS41LTczLTM1LjktMTExLjktNDcuNiAzOC4xLTIwIDcxLjktNDcuMyAxMDMuNS03Ni43IDIuMiAxLjQgNC42IDIuNCA3LjYgMy4yIDAgLjggLjMgMS45IC41IDIuNC00LjYgMi43LTcuOCA2LjItNS45IDEwLjMgMi4yIDMuOCA4LjYgNy42IDE1LjEgOC45IDIuNCAyLjcgNS4xIDUuMSA4LjEgNi44IDAgMTMuOC0uMyAyNy42LS44IDQxLjNsLjMtLjNjLTkuMyAxNS45LTE1LjUgMzctMTYuNSA1MS43em0xMDUuOSA2LjJjLTEyLjcgMTkuNS00MCAzNS43LTU5LjIgMzYuNS0xOS4zIC45LTQwLjUtMTMuMi00MC41LTM3IDUuNy0yMy4yIDE4LjktNDkuNyAzMy41LTU0IDIyLjctNi45IDY5LjIgMjMuNCA2Ni4yIDU0LjV6TTM3My4xIDc1LjJjLTMuOC03Mi4xLTEwMC44LTc5LjctMTI2LTIzLjUgNDQuNi0yNC4zIDkwLjMtMTUuNyAxMjYgMjMuNXpNNzUgNDA3LjFjLTE1LjcgMS42LTQ5LjUgMjUuNC00OS41IDQzLjIgMCAxMS42IDE1LjcgMTkuNSAzMi4yIDE0LjkgMTIuMi0zLjIgMzEuMS0xNy42IDM1LjktMjcuMyA2LTExLjYtMy43LTMyLjctMTguNi0zMC44ek0yOTAuOSAyMzAuOWMyOC42IDAgNTEuOS0yMS42IDUxLjktNDguNCAwLTM2LjEtNDAuNS01OC4xLTcyLjItNDQuMyA5LjUgMyAxNi41IDExLjYgMTYuNSAyMS42IDAgMjMuMy0zMy4zIDMyLTQ2LjUgMTEuMy03LjMgMzQuMSAxOS40IDU5LjggNTAuMyA1OS44ek02OC4yIDQ3NC4xYy41IDYuNSAxMi4yIDEyLjcgMjEuNiA5LjUgNi44LTIuNyAxNC42LTEwLjUgMTcuMy0xNi4yIDMtNy0xLjEtMjAtOS43LTE4LjQtOC45IDEuNi0yOS43IDE2LjctMjkuMiAyNS4xem00MzMuMi02N2MtMTQuOS0xLjktMjQuNiAxOS4yLTE4LjkgMzAuOCA0LjkgOS43IDI0LjEgMjQuMSAzNi4yIDI3LjMgMTYuNSA0LjYgMzIuMi0zLjIgMzIuMi0xNC45IDAtMTcuOC0zMy44LTQxLjYtNDkuNS00My4yek00NzkgNDQ5Yy04LjQtMS42LTEyLjQgMTEuMy05LjUgMTguNCAyLjQgNS43IDEwLjMgMTMuNSAxNy4zIDE2LjIgOS4yIDMuMiAyMS4xLTMgMjEuMy05LjUgLjktOC40LTIwLjItMjMuNS0yOS4xLTI1LjF6Il19LGZsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqZW5raW5zIixpY29uOls0NDgsNTEyLFtdLCJmM2I2IiwiTTQ1NS40IDQyNWMtMS40LTExLjItMTktMjMuMS0yOC4yLTMxLjktNS4xLTUtMjktMjMuMS0zMC40LTI5LjktMS40LTYuNiA5LjctMjEuNSAxMy4zLTI4LjkgNS4xLTEwLjcgOC44LTIzLjcgMTEuMy0zMi42IDE4LjgtNjYuMSAyMC43LTE1Ni45LTYuMi0yMTEuMi0xMC4yLTIwLjYtMzguNi00OS01Ni40LTYyLjUtNDItMzEuNy0xMTkuNi0zNS4zLTE3MC4xLTE2LjYtMTQuMSA1LjItMjcuOCA5LjgtNDAuMSAxNy4xLTMzLjEgMTkuNC02OC4zIDMyLjUtNzguMSA3MS42LTI0LjIgMTAuOC0zMS41IDQxLjgtMzAuMyA3Ny44IC4yIDcgNC4xIDE1LjggMi43IDIyLjQtLjcgMy4zLTUuMiA3LjYtNi4xIDkuOC0xMS42IDI3LjctMi4zIDY0IDExLjEgODMuNyA4LjEgMTEuOSAyMS41IDIyLjQgMzkuMiAyNS4yIC43IDEwLjYgMy4zIDE5LjcgOC4yIDMwLjQgMy4xIDYuOCAxNC43IDE5IDEwLjQgMjcuNy0yLjIgNC40LTIxIDEzLjgtMjcuMyAxNy42LTIxLjEgMTIuNS0zNi40IDIwLjMtNTUuOSAzNC4zLTEyLjYgOS0zMi4zIDEwLjItMjkuMiAzMS4xIDIuMSAxNC4xIDEwLjEgMzEuNiAxNC43IDQ1LjggLjcgMiAxLjQgNC4xIDIuMSA2bDQyMiAwYzQuOS0xNS4zIDkuNy0zMC45IDE0LjYtNDcuMiAzLjQtMTEuNCAxMC4yLTI3LjggOC43LTM5Ljd6TTE3NC4yIDMzLjdjMS44LS41IDMuNCAuNyA0LjkgMi40LS4yIDUuMi01LjQgNS4xLTguOSA2LjgtNS40IDYuNy0xMy40IDkuOC0yMCAxNy4yLTYuOCA3LjUtMTQuNCAyNy43LTIzLjQgMzAtNC41IDEuMS05LjctLjgtMTMuNi0uNS0xMC40IC43LTE3LjcgNi0yOC4zIDcuNSAxMy42LTI5LjkgNTYuMS01NCA4OS4zLTYzLjR6TTY5LjQgMTI3LjNjMTMuNS0xNC45IDMyLjEtMjQuMSA1NC44LTI1LjkgMTEuNyAyOS43LTguNCA2NS0uOSA5Ny42IDIuMyA5LjkgMTAuMiAyNS40LTIuNCAyNS43IC4zLTI4LjMtMzQuOC00Ni4zLTYxLjMtMjkuNi0xLjgtMjEuNS00LjktNTEuNyA5LjgtNjcuOHptMzYuNyAyMDAuMmMtMS00LjEtMi43LTEyLjktMi4zLTE1LjEgMS42LTguNyAxNy4xLTEyLjUgMTEtMjQuNy0xMS4zLS4xLTEzLjggMTAuMi0yNC4xIDExLjMtMjYuNyAyLjYtNDUuNi0zNS40LTQ0LjQtNTguNCAxLTE5LjUgMTcuNi0zOC4yIDQwLjEtMzUuOCAxNiAxLjggMjEuNCAxOS4yIDI0LjUgMzQuNyA5LjIgLjUgMjIuNS0uNCAyNi45LTcuNi0uNi0xNy41LTguOC0zMS42LTguMi00Ny43IDEtMzAuMyAxNy41LTU3LjYgNC44LTg3LjQgMTMuNi0zMC45IDUzLjUtNTUuMyA4My4xLTcwIDM2LjYtMTguMyA5NC45LTMuNyAxMjkuMyAxNS44IDE5LjcgMTEuMSAzNC40IDMyLjcgNDguMyA1MC43LTE5LjUtNS44LTM2LjEgNC4yLTMzLjEgMjAuMyAxNi4zLTE0LjkgNDQuMi0uMiA1Mi41IDE2LjQgNy45IDE1LjggNy44IDM5LjMgOSA2Mi44IDIuOSA1Ny0xMC40IDExNS45LTM5LjEgMTU3LjEtNy43IDExLTE0LjEgMjMtMjQuOSAzMC42LTI2IDE4LjItNjUuNCAzNC43LTk5LjIgMjMuNC00NC43LTE1LTY1LTQ0LjgtODkuNS03OC44IC43IDE4LjcgMTMuOCAzNC4xIDI2LjggNDguNCAxMS4zIDEyLjUgMjUgMjYuNiAzOS43IDMyLjQtMTIuMy0yLjktMzEuMS0zLjgtMzYuMiA3LjItMjguNi0xLjktNTUuMS00LjgtNjguNy0yNC4yLTEwLjYtMTUuNC0yMS40LTQxLjQtMjYuMy02MS40em0yMjIgMTI0LjFjNC4xLTMgMTEuMS0yLjkgMTcuNC0zLjYtNS40LTIuNy0xMy0zLjctMTkuMy0yLjItLjEtNC4yLTItNi44LTMuMi0xMC4yIDEwLjYtMy44IDM1LjUtMjguNSA0OS42LTIwLjMgNi43IDMuOSA5LjUgMjYuMiAxMC4xIDM3IC40IDktLjggMTgtNC41IDIyLjgtMTguOC0uNi0zNS44LTIuOC01MC43LTcgLjktNi4xLTEtMTIuMSAuNi0xNi41em0tMTcuMi0yMGMtMTYuOCAuOC0yNi0xLjItMzguMy0xMC44IC4yLS44IDEuNC0uNSAxLjUtMS40IDE4IDggNDAuOC0zLjMgNTktNC45LTcuOSA1LjEtMTQuNiAxMS42LTIyLjIgMTcuMXptLTEyLjEgMzMuMmMtMS42LTkuNC0zLjUtMTItMi44LTIwLjIgMjUtMTYuNiAyOS43IDI4LjYgMi44IDIwLjJ6TTE5NC4zIDQzOC42Yy0xMS42LS43LTQ4LjEtMTQtMzguNS0yMy43IDkuNCA2LjUgMjcuNSA0LjkgNDEuMyA3LjMgLjggNC40LTIuOCAxMC4yLTIuOCAxNi40ek0yNiA0OTcuMWMtNC4zLTEyLjctOS4yLTI1LjEtMTQuOC0zNi45IDMwLjgtMjMuOCA2NS4zLTQ4LjkgMTAyLjItNjMuNSAyLjgtMS4xIDIzLjIgMjUuNCAyNi4yIDI3LjYgMTYuNSAxMS43IDM3IDIxIDU2LjIgMzAuMiAxLjIgOC44IDMuOSAyMC4yIDguNyAzNS41IC43IDIuMyAxLjQgNC43IDIuMiA3LjJsLTE4MC43IDAgMC0uMXptMjQwLjYgNS43bC0uOCAwYy4zLS4yIC41LS40IC44LS41bDAgLjV6bTcuNS01LjdjMi4xLTEuNCA0LjMtMi44IDYuNC00LjMgMS4xIDEuNCAyLjIgMi44IDMuMiA0LjNsLTkuNiAwem0xNS4xLTI0LjdjLTEwLjggNy4zLTIwLjYgMTguMy0zMy4zIDI1LjItNiAzLjMtMjcgMTEuNy0zMy40IDEwLjItMy42LS44LTMuOS01LjMtNS40LTkuNS0zLjEtOS0xMC4xLTIzLjQtMTAuOC0zNy0uOC0xNy4yLTIuNS00NiAxNi00Mi40IDE0LjkgMi45IDMyLjMgOS43IDQzLjkgMTYuMSA3LjEgMy45IDExLjEgOC42IDIxLjkgOS41LS4xIDEuNC0uMSAyLjgtLjIgNC4zLTUuOSAzLjktMTUuMyAzLjgtMjEuOCA3LjEgOS41IC40IDE3IDIuNyAyMy41IDUuOS0uMSAzLjQtLjMgNy0uNCAxMC42em01My40IDI0LjdsLTE0IDBjLS4xLTMuMi0yLjgtNS44LTYuMS01LjhzLTUuOSAyLjYtNi4xIDUuOGwtMTcuNCAwYy0yLjgtNC40LTUuNy04LjYtOC45LTEyLjUgMi4xLTIuMiA0LTQuNyA2LTYuOSA5IDMuNyAxNC44LTQuOSAyMS43LTQuMiA3LjkgLjggMTQuMiAxMS43IDI1LjQgMTFsLS42IDEyLjZ6bTguNyAwYy4yLTQgLjQtNy44IC42LTExLjUgMTUuNi03LjMgMjkgMS4zIDM1LjcgMTEuNWwtMzYuMyAwem04My40LTM3Yy0yLjMgMTEuMi01LjggMjQtOS45IDM3LjEtLjItLjEtLjQtLjEtLjYtLjFsLTI3LjkgMGMuNi0xLjEgMS4yLTIuMiAxLjktMy4zLTIuNi02LjEtOS04LjctMTAuOS0xNS41IDEyLjEtMjIuNyA2LjUtOTMuNC0yNC4yLTc4LjUgNC4zLTYuMyAxNS42LTExLjUgMjAuOC0xOS4zIDEzIDEwLjQgMjAuOCAyMC4zIDMzLjIgMzEuNCA2LjggNiAyMCAxMy4zIDIxLjQgMjMuMSAuOCA1LjUtMi42IDE4LjktMy44IDI1LjF6TTE5MC41IDEzMC41YzUuNC0xNC45IDI3LjItMzQuNyA0NS0zMiA3LjcgMS4yIDE4IDguMiAxMi4yIDE3LjctMzAuMi03LTQ1LjIgMTIuNi01NC40IDMzLjEtOC4xLTItNC45LTEzLjEtMi44LTE4Ljh6bTE4NC4xIDYzLjFjOC4yLTMuNiAyMi40LS43IDI5LjYtNS4zLTQuMi0xMS41LTEwLjMtMjEuNC05LjMtMzcuNyAuNSAwIDEgMCAxLjQgLjEgNi44IDE0LjIgMTIuNyAyOS4yIDIxLjQgNDEuNy01LjcgMTMuNS00My42IDI1LjQtNDMuMSAxLjJ6bS05Ni44IDIuN2MtNi44LTEwLjktMTktMzIuNS0xNC41LTQ1LjMgNi41IDExLjkgOC42IDI0LjQgMTcuOCAzMy4zIDQuMSA0IDEyLjIgOSA4LjIgMjAuMi0uOSAyLjctNy44IDguNi0xMS43IDkuNy0xNC40IDQuMy00Ny45IC45LTM2LjYtMTcuMSAxMS45IC43IDI3LjkgNy44IDM2LjgtLjh6bTI3LjMgNzBjMy44IDYuNiAxLjQgMTguNyAxMi4xIDIwLjYgMjAuMiAzLjQgNDMuNi0xMi4zIDU4LjEtMTcuOCA5LTE1LjItLjgtMjAuNy04LjktMzAuNS0xNi42LTIwLTM4LjgtNDQuOC0zOC03NC43IDYuNy00LjkgNy4zIDcuNCA4LjIgOS43IDguNyAyMC4zIDMwLjQgNDYuMiA0Ni4zIDYzLjUgMy45IDQuMyAxMC4zIDguNCAxMSAxMS4yIDIuMSA4LjItNS40IDE4LTQuNSAyMy41LTIxLjcgMTMuOS00NS44IDI5LjEtODEuNCAyNS42LTcuNC02LjctMTAuMy0yMS40LTIuOS0zMS4xem0tMjAxLjMtOS4yYy02LjgtMy45LTguNC0yMS0xNi40LTIxLjQtMTEuNC0uNy05LjMgMjIuMi05LjMgMzUuNS03LjgtNy4xLTkuMi0yOS4xLTMuNS00MC4zLTYuNi0zLjItOS41IDMuNi0xMy4xIDUuOSA0LjctMzQuMSA0OS44LTE1LjggNDIuMyAyMC4zem0yOTkuNiAyOC44Yy0xMC4xIDE5LjItMjQuNCA0MC40LTU0IDQxLS42LTYuMi0xLjEtMTUuNiAwLTE5LjQgMjIuNy0yLjIgMzYuNi0xMy43IDU0LTIxLjZ6TTI2MS41IDI5OC4zYzE4LjkgOS45IDUzLjYgMTEgNzkuMyAxMC4yIDEuNCA1LjYgMS4zIDEyLjYgMS40IDE5LjQtMzMgMS44LTcyLTYuNC04MC43LTI5LjZ6TTM1My43IDM0NWMtMS43IDQuMy01LjMgOS4zLTkuOCAxMS4xLTEyLjEgNC45LTQ1LjYgOC43LTYyLjQtLjMtMTAuNy01LjctMTcuNS0xOC41LTIzLjQtMjYtMi44LTMuNi0xNi45LTEyLjktLjItMTIuOSAxMy4xIDMyLjcgNTggMjkgOTUuOCAyOC4xeiJdfSxobHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2xpZGVzaGFyZSIsaWNvbjpbNTEyLDUxMixbXSwiZjFlNyIsIk0xODcuOSAxNTMuN2MtMzQgMC02MS43IDI1LjctNjEuNyA1Ny43IDAgMzEuNyAyNy43IDU3LjcgNjEuNyA1Ny43czYxLjctMjYgNjEuNy01Ny43YzAtMzItMjcuNy01Ny43LTYxLjctNTcuN3ptMTQzLjQgMGMtMzQgMC02MS43IDI1LjctNjEuNyA1Ny43IDAgMzEuNyAyNy43IDU3LjcgNjEuNyA1Ny43IDM0LjMgMCA2MS43LTI2IDYxLjctNTcuNyAuMS0zMi0yNy40LTU3LjctNjEuNy01Ny43em0xNTYuNiA5MGwtNiA0LjMgMC0xOTguM2MwLTI3LjQtMjAuNi00OS43LTQ2LTQ5LjdMNzYuOCAwYy0yNS40IDAtNDYgMjIuMy00NiA0OS43bDAgMTk4LjNjLTItMS40LTQuMy0yLjktNi4zLTQuMy0xNS4xLTEwLjYtMjUuMSA0LTE2IDE3LjcgMTguMyAyMi42IDUzLjEgNTAuMyAxMDYuMyA3Mi01Ni4zIDE5MS43IDEzNy40IDIyMi4zIDEzNC4zIDEyNC4xIDAtLjcgLjMtNTYuNiAuMy05Ni42IDUuMSAxLjEgOS40IDIuMyAxMy43IDMuMSAwIDM5LjcgLjMgOTIuOCAuMyA5My41LTMuMSA5OC4zIDE5MC42IDY3LjcgMTM0LjMtMTI0IDUzLjEtMjEuNyA4OC00OS40IDEwNi4zLTcyIDkuMS0xMy44LS45LTI4LjMtMTYuMS0xNy44em0tMzAuNSAxOS4yYy02OC45IDM3LjQtMTI4LjMgMzEuMS0xNjAuNiAyOS43LTIzLjctLjktMzIuNiA5LjEtMzMuNyAyNC45LTEwLjMtNy43LTE4LjYtMTUuNS0yMC4zLTE3LjEtNS4xLTUuNC0xMy43LTgtMjcuMS03LjctMzEuNyAxLjEtODkuNyA3LjQtMTU3LjQtMjhsMC0xOTIuNGMwLTM0LjkgOC45LTQ1LjcgNDAuNi00NS43bDMxNy43IDBjMzAuMyAwIDQwLjkgMTIuOSA0MC45IDQ1LjdsMCAxOTAuNi0uMSAweiJdfSxtbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidWJlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwMiIsIk00MTQuMSAzMkwzMy45IDMyQzE1LjIgMzIgMCA0Ny4yIDAgNjUuOUwwIDQ0NmMwIDE4LjggMTUuMiAzNCAzMy45IDM0TDQxNCA0ODBjMTguNyAwIDMzLjktMTUuMiAzMy45LTMzLjlsMC0zODAuMkM0NDggNDcuMiA0MzIuOCAzMiA0MTQuMSAzMnpNMjM3LjYgMzkxLjFDMTYzIDM5OC42IDk2LjQgMzQ0LjIgODguOSAyNjkuNmw5NC40IDAgMCAyMC40YzAgMy43IDMgNi44IDYuOCA2LjhsNjcuOSAwYzMuNyAwIDYuOC0zIDYuOC02LjhsMC02Ny45YzAtMy43LTMtNi44LTYuOC02LjhsLTY3LjkgMGMtMy43IDAtNi44IDMtNi44IDYuOGwwIDIwLjQtOTQuNCAwYzctNjkuNCA2NS40LTEyMi4yIDEzNS4xLTEyMi4yczEyOC4xIDUyLjggMTM1LjEgMTIyLjJjNy41IDc0LjUtNDYuOSAxNDEuMS0xMjEuNSAxNDguNnoiXX0sZ2x0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRpZ2l0YWwtb2NlYW4iLGljb246WzUxMiw1MTIsW10sImYzOTEiLCJNODcgNDgxLjhsNzMuNyAwIDAtNzMuNi03My43IDAgMCA3My42ek0yNS40IDM0Ni42bDAgNjEuNiA2MS42IDAgMC02MS42LTYxLjYgMHpNNDkxLjYgMTc2LjlDNDY4LjYgMTAyLjcgNDA5LjIgNDMuNiAzMzUgMjAuMyAxNjQuOS0zMi44IDggOTMuNyA4IDI1NS45bDk1LjggMGMwLTEwMS44IDEwMS0xODAuNSAyMDguMS0xNDEuNyAzOS43IDE0LjMgNzEuNSA0Ni4xIDg1LjggODUuNyAzOS4xIDEwNy0zOS43IDIwNy44LTE0MS40IDIwOGwwIC4zLS4zIDAgMCA5NS44YzE2Mi42IDAgMjg4LjgtMTU2LjggMjM1LjYtMzI3LjF6bS0yMzUuMyAyMzFsMC05NS4zLTk1LjYgMCAwIDk1LjYgOTUuMyAwIDAtLjMgLjMgMHoiXX0sYmx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNvdW5kY2xvdWQiLGljb246WzY0MCw1MTIsW10sImYxYmUiLCJNNjQwLjIgMjk4LjZjLTEuMyAyMy4xLTExLjUgNDQuOC0yOC40IDYwLjVzLTM5LjIgMjQuNC02Mi4zIDI0LjFsLTIxOCAwYy00LjggMC05LjQtMi0xMi44LTUuNHMtNS4zLTgtNS4zLTEyLjhsMC0yMzQuOGMtLjItNCAuOS04IDMuMS0xMS40czUuMy02LjEgOS03LjdjMCAwIDIwLjEtMTMuOSA2Mi4zLTEzLjkgMjUuOCAwIDUxLjEgNi45IDczLjMgMjAuMSAxNy4zIDEwLjIgMzIuMyAyMy44IDQ0LjEgNDAuMXMyMCAzNC44IDI0LjIgNTQuNGM3LjUtMi4xIDE1LjMtMy4yIDIzLjEtMy4yIDExLjctLjEgMjMuMyAyLjIgMzQuMiA2LjdzMjAuNSAxMS4zIDI4LjcgMTkuNyAxNC42IDE4LjMgMTguOSAyOS4zIDYuMyAyMi42IDUuOSAzNC4zem0tMzU0LTE1My41Yy4xLTEgMC0yLS4zLTIuOXMtLjgtMS44LTEuNS0yLjYtMS41LTEuMy0yLjQtMS43Yy0xLjgtLjgtNC0uOC01LjggMC0uOSAuNC0xLjcgMS0yLjQgMS43cy0xLjIgMS42LTEuNSAyLjYtLjQgMS45LS4zIDIuOWMtNiA3OC45LTEwLjYgMTUyLjkgMCAyMzEuNiAuMiAxLjcgMSAzLjMgMi4zIDQuNSAyLjYgMi40IDYuOCAyLjQgOS40IDAgMS4zLTEuMiAyLjEtMi44IDIuMy00LjUgMTEuMy03OS40IDYuNi0xNTIgMC0yMzEuNmwuMiAwem0tNDQgMjcuM2MtLjItMS44LTEuMS0zLjUtMi40LTQuN3MtMy4xLTEuOS01LTEuOS0zLjYgLjctNSAxLjktMi4yIDIuOS0yLjQgNC43Yy03LjkgNjcuOS03LjkgMTM2LjUgMCAyMDQuNCAuMyAxLjggMS4yIDMuNCAyLjUgNC41czMuMSAxLjggNC44IDEuOCAzLjUtLjYgNC44LTEuOCAyLjItMi44IDIuNS00LjVjOC44LTY3LjggOC44LTEzNi41IC4xLTIwNC40bC4xIDB6bS00NC4zLTYuOWMtLjItMS44LTEtMy40LTIuMy00LjZzLTMtMS44LTQuOC0xLjgtMy41IC43LTQuOCAxLjgtMi4xIDIuOC0yLjMgNC42Yy02LjcgNzItMTAuMiAxMzkuMyAwIDIxMS4xIDAgMS45IC43IDMuNyAyLjEgNXMzLjEgMi4xIDUgMi4xIDMuNy0uNyA1LTIuMSAyLjEtMy4xIDIuMS01YzEwLjUtNzIuOCA3LjMtMTM4LjIgLjEtMjExLjFsLS4xIDB6bS00NCAyMC42YzAtMS45LS44LTMuOC0yLjEtNS4ycy0zLjItMi4xLTUuMi0yLjEtMy44IC44LTUuMiAyLjEtMi4xIDMuMi0yLjEgNS4yYy04LjEgNjMuMy04LjEgMTI3LjUgMCAxOTAuOCAuMiAxLjggMSAzLjQgMi40IDQuNnMzLjEgMS45IDQuOCAxLjkgMy41LS43IDQuOC0xLjkgMi4yLTIuOCAyLjQtNC42YzguOC02My4zIDguOS0xMjcuNSAuMy0xOTAuOGwtLjEgMHptLTQ0LjUgNDcuNmMwLTEuOS0uOC0zLjgtMi4xLTUuMXMtMy4yLTIuMS01LjEtMi4xLTMuOCAuOC01LjEgMi4xLTIuMSAzLjItMi4xIDUuMWMtMTAuNSA0OS4yLTUuNSA5My45IC40IDE0My42IC4zIDEuNiAxLjEgMy4xIDIuMyA0LjJzMi44IDEuNyA0LjUgMS43IDMuMi0uNiA0LjUtMS43IDIuMS0yLjUgMi4zLTQuMmM2LjYtNTAuNCAxMS42LTk0LjEgLjQtMTQzLjZ6bS00NC4xLTcuNWMtLjItMS44LTEuMS0zLjUtMi40LTQuOHMtMy4yLTEuOS01LTEuOS0zLjYgLjctNSAxLjktMi4yIDIuOS0yLjQgNC44Yy05LjMgNTAuMi02LjIgOTQuNCAuMyAxNDQuNSAuNyA3LjYgMTMuNiA3LjUgMTQuNCAwIDcuMi01MC45IDEwLjUtOTMuOCAuMy0xNDQuNWwtLjIgMHpNMjAuNyAyNTAuOGMtLjItMS44LTEuMS0zLjUtMi40LTQuOHMtMy4yLTEuOS01LTEuOS0zLjYgLjctNSAxLjktMi4zIDIuOS0yLjQgNC44Yy04LjUgMzMuNy01LjkgNjEuNiAuNiA5NS40IC4yIDEuNyAxIDMuMyAyLjMgNC40czIuOSAxLjggNC43IDEuOCAzLjQtLjYgNC43LTEuOCAyLjEtMi43IDIuMy00LjRjNy41LTM0LjUgMTEuMi02MS44IC40LTk1LjRsLS4yIDB6Il19LHZsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZmlnbWEiLGljb246WzQ0OCw1MTIsW10sImU3ZTQiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMTczLjcgOTZjLTMzIDAtNTkuOCAyNi44LTU5LjggNTkuOCAwIDIxIDEwLjggMzkuNCAyNy4yIDUwLjEtMTYuNCAxMC43LTI3LjIgMjkuMS0yNy4yIDUwLjFzMTAuOCAzOS41IDI3LjIgNTAuMWMtMTYuNCAxMC43LTI3LjIgMjkuMS0yNy4yIDUwLjEgMCAzMy4xIDI3LjEgNTkuOCA2MC4xIDU5LjggMzMuMiAwIDYwLjYtMjYuOSA2MC42LTYwLjNsMC01NS43YzEwLjYgOS44IDI0LjggMTUuOCA0MC40IDE1LjhsMS4xIDBjMzMgMCA1OS44LTI2LjggNTkuOC01OS44IDAtMjEtMTAuOC0zOS41LTI3LjItNTAuMSAxNi40LTEwLjcgMjcuMi0yOS4xIDI3LjItNTAuMSAwLTMzLTI2LjgtNTkuOC01OS44LTU5LjhMMTczLjcgOTZ6bTQxLjYgMjE5LjhsMCAzOS45YzAgMjIuNi0xOC42IDQxLTQxLjMgNDEtMjIuNCAwLTQwLjctMTguMi00MC43LTQwLjUgMC0yMi4zIDE4LjEtNDAuNCA0MC4zLTQwLjRsNDEuNyAwem0wLTEwMC4zbDAgODAuOS00MS43IDBjLTIyLjMtLjEtNDAuMy0xOC4yLTQwLjMtNDAuNSAwLTIyLjMgMTguMS00MC41IDQwLjUtNDAuNWw0MS42IDB6bTYwLjggMGMyMi4zIDAgNDAuNSAxOC4xIDQwLjUgNDAuNXMtMTguMSA0MC41LTQwLjUgNDAuNWwtMS4xIDBjLTIyLjMgMC00MC40LTE4LjEtNDAuNC00MC41czE4LjEtNDAuNSA0MC40LTQwLjVsMS4xIDB6bS02MC44LTE5LjNsLTQxLjYgMGMtMjIuMyAwLTQwLjUtMTguMS00MC41LTQwLjRzMTguMS00MC41IDQwLjUtNDAuNWw0MS42IDAgMCA4MC45em02MC44LTgwLjljMjIuMyAwIDQwLjUgMTguMSA0MC41IDQwLjVzLTE4LjEgNDAuNC00MC41IDQwLjRsLTQxLjUgMCAwLTgwLjkgNDEuNSAweiJdfSx4bHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zYSIsaWNvbjpbNTEyLDUxMixbXSwiZjRlZiIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6TTE0NS43IDIyMWMxMy04My45IDgwLjUtOTUuNyAxMDguOS05NS43IDk5LjggMCAxMjcuNSA4Mi41IDEyNy41IDEzNC4yIDAgNjMuNi00MSAxMzIuOS0xMjguOSAxMzIuOS0zOC45IDAtOTkuMS0yMC0xMDkuNC05N2w2Mi41IDBjMS41IDMwLjEgMTkuNiA0NS4yIDU0LjUgNDUuMiAyMy4zIDAgNTgtMTguMiA1OC04Mi44IDAtODIuNS00OS4xLTgwLjYtNTYuNy04MC42LTMzLjEgMC01MS43IDE0LjYtNTUuOCA0My44bDE4LjIgMC00OS4yIDQ5LjItNDktNDkuMiAxOS40IDB6Il19LHlsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjaHJvbWUiLGljb246WzUxMiw1MTIsW10sImYyNjgiLCJNMCAyNTZjMC00Ni42IDEyLjUtOTAuNCAzNC4zLTEyOC45TDE0NC4xIDMxOC4zYzIxLjkgMzkuMiA2My44IDY1LjcgMTExLjkgNjUuNyAxNC4zIDAgMjcuMS0yLjMgNDAuOC02LjZMMjIwLjUgNTA5LjZDOTUuOSA0OTIuMyAwIDM4NS4zIDAgMjU2em0zNjUuMSA2NS42YzEyLjMtMTkuMiAxOC45LTQyLjUgMTguOS02NS42IDAtMzguMi0xNi44LTcyLjUtNDMuMy05NmwxNTIuNyAwYzEyIDI5LjYgMTguNiA2Mi4xIDE4LjYgOTYgMCAxNDEuNC0xMTQuNiAyNTUuMS0yNTYgMjU2TDM2NS4xIDMyMS42ek00NzcuOCAxMjhMMjU2IDEyOGMtNjIuOSAwLTExMy43IDQ0LjEtMTI1LjUgMTAyLjdMNTQuMiA5OC41QzEwMSAzOC41IDE3NCAwIDI1NiAwIDM1MC44IDAgNDMzLjUgNTEuNSA0NzcuOCAxMjh6TTM0NCAyNTZhODggODggMCAxIDEgLTE3NiAwIDg4IDg4IDAgMSAxIDE3NiAweiJdfSx3bHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHJhZGUtZmVkZXJhdGlvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjUxMyIsIk0yNTYgOC44YTI0Ny4yIDI0Ny4yIDAgMSAwIDAgNDk0LjQgMjQ3LjIgMjQ3LjIgMCAxIDAgMC00OTQuNHptMCAxMS42YTIzNS42IDIzNS42IDAgMSAxIDAgNDcxLjIgMjM1LjYgMjM1LjYgMCAxIDEgMC00NzEuMnpNNDExLjEgMTYzLjFsMC00Ni44LTE5My44IDAgMCA4MS43LTE1NS4xIDAgMzYuNyA0NiAxMTcuNyAwIDAgMTk2LjggNDguOCAwIDAtMTk1LjggODMuMyAwIDAtNDctODMuMyAwIDAtMzQuOCAxNDUuNyAwIDAtLjF6bS03My4zIDQ1LjFsMCAyMy45LTgyLjkgMCAwIDE5Ny40LTI2LjggMCAwLTE5Ny40LTEyMy44IDAtMjAuMS0yMy45IDE0My45IDAgMC04MC42IDE3MS44IDAgMCAyNC40LTE0NSAwIDAgNTYuMiA4Mi45IDB6bS0xNjEuMy02OWwtMTIuNC0yMC43IDIuMSAyMy44LTIzLjUgNS40IDIzLjMgNS40LTIuMSAyNCAxMi4zLTIwLjUgMjIuMiA5LjUtMTUuNy0xOC4xIDE1LjgtMTguMS0yMiA5LjN6bS0yOS42LTE5LjdsOS4zLTExLjUtMTIuNyA1LjktOC0xMi40IDEuNyAxMy45LTE0LjMgMy44IDEzLjcgMi43LS44IDE0LjcgNi44LTEyLjIgMTMuOCA1LjMtOS41LTEwLjJ6TTMxMi4zIDI2NC43bC0xMy4xIDUuNi03LjMtMTIuMiAxLjMgMTQuMi0xMy45IDMuMiAxMy45IDMuMi0xLjIgMTQuMiA3LjMtMTIuMiAxMy4xIDUuNS05LjQtMTAuNyA5LjMtMTAuOHptMTA2LjktNzcuMmwtMjAuOSA5LjEtMTItMTkuNiAyLjIgMjIuNy0yMi4zIDUuNCAyMi4yIDQuOS0xLjggMjIuOSAxMS41LTE5LjYgMjEuMiA4LjgtMTUuMS0xNyAxNS0xNy42ek0yNTYgMjkuOWEyMjYuMSAyMjYuMSAwIDEgMCAwIDQ1Mi4yIDIyNi4xIDIyNi4xIDAgMSAwIDAtNDUyLjJ6TTM1MC42IDE5NmwwIDUxLTgzLjMgMCAwIDE5NS43LTUyLjcgMCAwLTE5Ni44LTExNi43IDAtNDAtNDkuOSAxNTcuNCAwIDAtODEuNiAxOTcuOCAwIDAgNTAuNy0xNDUuNyAwIDAgMzAuOSA4My4yIDB6TTI1NiA0My4yYzYwLjMgMCAxMTQuOCAyNSAxNTMuNiA2NS4ybC0xOTkuMSAwIDAgODEuNi0xNTcuNCAwQzgxLjEgMTA0LjggMTYxLjQgNDMuMiAyNTYgNDMuMnptMCA0MjcuMWMtMTE3LjkgMC0yMTMuNi05NS42LTIxMy42LTIxMy41IDAtMjEuMiAzLjEtNDEuOCA4LjktNjEuMWw0My44IDU2LjMgMTE0LjcgMCAwIDE5Ni44IDY0LjYgMCAwLTE5NS44IDgzLjMgMCAwLTYyLjctODMuMiAwIDAtMTkuMiAxNDUuNiAwIDAtNTAuOGMzMC44IDM3IDQ5LjMgODQuNiA0OS4zIDEzNi41IC4xIDExNy45LTk1LjUgMjEzLjUtMjEzLjQgMjEzLjV6TTE4Ni44IDI3NWwtMTEtMjEuNCAxLjcgMjQuNS0yMy43IDMuOSAyMy44IDUuOS0zLjcgMjMuOCAxMy0yMC45IDIxLjUgMTAuOC0xNS44LTE4LjggMTYuOS0xNy4xLTIyLjcgOS4zeiJdfSxNbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmFhZGluIixpY29uOls0NDgsNTEyLFtdLCJmNDA4IiwiTTIyNC41IDE0MC43QzIyNiAxMjMuMSAyMjkuNCA4OCAyNzQuMyA4OGw5OC42IDBjMjAuNyAwIDMyLjEtNy44IDMyLjEtMjEuNmwwLTEyLjNjMC0xMi4yIDkuMy0yMi4xIDIxLjUtMjIuMVM0NDggNDEuOSA0NDggNTQuMWwwIDM2LjVjMCA0Mi45LTIxLjUgNjItNjYuOCA2MmwtMTAwLjUgMGMtMzAuMSAwLTMzIDE0LjctMzMgMjcuMSAwIDEuMy0uMSAyLjUtLjIgMy43LS43IDEyLjMtMTAuOSAyMi4yLTIzLjQgMjIuMnMtMjIuNy05LjgtMjMuNC0yMi4yYy0uMS0xLjItLjItMi40LS4yLTMuNyAwLTEyLjMtMy0yNy4xLTMzLTI3LjFsLTEwMC43IDBDMjEuNSAxNTIuNiAwIDEzMy41IDAgOTAuNkwwIDU0LjFDMCA0MS45IDkuNCAzMiAyMS42IDMyczIxLjUgOS45IDIxLjUgMjIuMWwwIDEyLjNDNDMuMSA4MC4yIDU0LjUgODggNzUuMiA4OGw5OC42IDBjNDQuOCAwIDQ4LjMgMzUuMSA0OS44IDUyLjdsLjkgMHpNMjI0IDQ1NmMxMS41IDAgMjEuNC03IDI1LjctMTYuMyAxLjEtMS44IDk3LjEtMTY5LjYgOTguMi0xNzEuNCAxMS45LTE5LjYtMy4yLTQ0LjMtMjcuMi00NC4zLTEzLjkgMC0yMy4zIDYuNC0yOS44IDIwLjNMMjI0IDM2MiAxNTcuMSAyNDQuM2MtNi40LTEzLjktMTUuOS0yMC4zLTI5LjgtMjAuMy0yNCAwLTM5LjEgMjQuNi0yNy4yIDQ0LjMgMS4xIDEuOSA5Ny4xIDE2OS42IDk4LjIgMTcxLjQgNC4zIDkuMyAxNC4yIDE2LjMgMjUuNyAxNi4zeiJdfSxrbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGV2aWFudGFydCIsaWNvbjpbMzIwLDUxMixbXSwiZjFiZCIsIk0zMjAgOTMuMmwtOTguMiAxNzkuMSA3LjQgOS41IDkwLjggMCAwIDEyNy43LTE2MC45IDAtMTMuNSA5LjItNDMuNyA4NGMtLjMgMC04LjYgOC42LTkuMiA5LjJsLTkyLjcgMCAwLTkzLjIgOTMuMi0xNzkuNC03LjQtOS4yLTg1LjggMCAwLTEyNy42IDE1NiAwIDEzLjUtOS4yIDQzLjctODRjLjMgMCA4LjYtOC42IDkuMi05LjJsOTcuNiAwIDAgOTMuMXoiXX0sVmc9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVkaXVtIixpY29uOls0NDgsNTEyLFs2MjQwNywibWVkaXVtLW0iXSwiZjIzYSIsIk0zNjkuNCAzMmM0My40IDAgNzguNiAzNS4yIDc4LjYgNzguNmwwIDgzLjhjLTEuOS0uMS0zLjgtLjItNS43LS4ybC0uNCAwYy0xMCAwLTIyLjMgMi40LTMxLjEgNi44LTEwIDQuNi0xOC43IDExLjUtMjYgMjAuNi0xMS44IDE0LjYtMTguOSAzNC4zLTIwLjYgNTYuNC0uMSAuNy0uMSAxLjMtLjIgMnMtLjEgMS4yLS4xIDEuOWMtLjEgMS4yLS4xIDIuNC0uMSAzLjYgMCAxLjktLjEgMy44IDAgNS44IDEuMiA1MC4xIDI4LjIgOTAuMiA3Ni4zIDkwLjIgMi43IDAgNS4zLS4xIDcuOS0uNGwwIDIwLjRjMCA0My40LTM1LjIgNzguNi03OC42IDc4LjZMNzguNiA0ODBDMzUuMiA0ODAgMCA0NDQuOCAwIDQwMS40TDAgMTEwLjZDMCA2Ny4yIDM1LjIgMzIgNzguNiAzMmwyOTAuOCAwek04Mi4zIDEzOC45bC4zIC4xYzEzLjIgMyAxOS44IDcuNCAxOS44IDIzLjRsMCAxODcuMmMwIDE2LTYuNyAyMC40LTE5LjkgMjMuNGwtLjMgLjEgMCAyLjggNTIuOCAwIDAtMi44LS4zLS4xYy0xMy4yLTMtMTkuOS03LjQtMTkuOS0yMy40bDAtMTc2LjMgODYuMSAyMDIuNSA0LjkgMCA4OC42LTIwOC4yIDAgMTg2LjZjLTEuMSAxMi42LTcuOCAxNi41LTE5LjcgMTkuMmwtLjMgLjEgMCAyLjcgOTEuOSAwIDAtMi43LS4zLS4xYy0xMS45LTIuNy0xOC43LTYuNi0xOS45LTE5LjJsLS4xLTE5MS44IC4xIDBjMC0xNiA2LjctMjAuNCAxOS45LTIzLjRsLjMtLjEgMC0yLjctNzIuMiAwLTY3IDE1Ny40LTY3LTE1Ny40LTc3LjggMCAwIDIuN3pNNDQ4IDM0MC4zYy0yNS4xLTcuNC00My0zNS4xLTQxLjItNjcuOGwwIDAgNDEuMSAwIDAgNjcuOHptLTYuNC0xMzUuNmMyLjMgMCA0LjQgLjMgNi40IC45bDAgNTcuNC00MC4yIDBjMS41LTMzLjYgMTMuNi01Ny45IDMzLjgtNTguM3oiXX0sU2x0PVZnLHpsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcGVuY2FydCIsaWNvbjpbNjQwLDUxMixbXSwiZjIzZCIsIk0zMzEuOCA0NDAuNGE0NS44IDQ1LjggMCAxIDEgOTEuNSAuMyA0NS44IDQ1LjggMCAxIDEgLTkxLjUtLjN6TTE2OS40IDM5NC45YTQ1LjcgNDUuNyAwIDEgMCAuMyA5MS4zIDQ1LjcgNDUuNyAwIDEgMCAtLjMtOTEuM3ptMjkxLjctMjcwYy0zMDIuMiAwLTM3OS4yLTEyLjgtNDYxLjEtOTkuMiAzNC40IDUxLjcgNTMuMyAxNDguOSAzNzMuMSAxNDQuMiAzMzMuMy01IDEzMCA4Ni4xIDcwLjggMTg4LjkgMTg2LjctMTY2LjcgMzE5LjQtMjMzLjkgMTcuMi0yMzMuOXoiXX0sQ2x0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InktY29tYmluYXRvciIsaWNvbjpbNDQ4LDUxMixbXSwiZjIzYiIsIk00NDggMzJsMCA0NDgtNDQ4IDAgMC00NDggNDQ4IDB6TTIzNiAyODcuNWw3Ny41LTE0NS41LTMyLjcgMC00NS44IDkxYy00LjcgOS4zLTkgMTguMy0xMi44IDI2LjhsLTEyLjItMjYuOC00NS4yLTkxLTM1IDAgNzYuNyAxNDMuOCAwIDk0LjUgMjkuNSAwIDAtOTIuOHoiXX0sVGx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxpbmUiLGljb246WzUxMiw1MTIsW10sImYzYzAiLCJNMzExIDE5Ni44bDAgODEuM2MwIDIuMS0xLjYgMy43LTMuNyAzLjdsLTEzIDBjLTEuMyAwLTIuNC0uNy0zLTEuNUwyNTQgMjMwIDI1NCAyNzguMmMwIDIuMS0xLjYgMy43LTMuNyAzLjdsLTEzIDBjLTIuMSAwLTMuNy0xLjYtMy43LTMuN2wwLTgxLjNjMC0yLjEgMS42LTMuNyAzLjctMy43bDEyLjkgMGMxLjEgMCAyLjQgLjYgMyAxLjZsMzcuMyA1MC4zIDAtNDguMmMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMTMgMGMyLjEtLjEgMy44IDEuNiAzLjggMy41bDAgLjF6bS05My43LTMuN2wtMTMgMGMtMi4xIDAtMy43IDEuNi0zLjcgMy43bDAgODEuM2MwIDIuMSAxLjYgMy43IDMuNyAzLjdsMTMgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC04MS4zYzAtMS45LTEuNi0zLjctMy43LTMuN3ptLTMxLjQgNjguMWwtMzUuNiAwIDAtNjQuNGMwLTIuMS0xLjYtMy43LTMuNy0zLjdsLTEzIDBjLTIuMSAwLTMuNyAxLjYtMy43IDMuN2wwIDgxLjNjMCAxIC4zIDEuOCAxIDIuNSAuNyAuNiAxLjUgMSAyLjUgMWw1Mi4yIDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtMTNjMC0xLjktMS42LTMuNy0zLjUtMy43bC4xIDB6bTE5My43LTY4LjFsLTUyLjMgMGMtMS45IDAtMy43IDEuNi0zLjcgMy43bDAgODEuM2MwIDEuOSAxLjYgMy43IDMuNyAzLjdsNTIuMiAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTEzLjFjMC0yLjEtMS42LTMuNy0zLjctMy43bC0zNS41IDAgMC0xMy42IDM1LjUgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC0xMy4xYzAtMi4xLTEuNi0zLjctMy43LTMuN2wtMzUuNSAwIDAtMTMuNyAzNS41IDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtMTNjLS4xLTEuOS0xLjctMy43LTMuNy0zLjdsLjEgMHpNNTEyIDkzLjRsMCAzMjZjLS4xIDUxLjItNDIuMSA5Mi43LTkzLjQgOTIuNmwtMzI2IDBDNDEuNCA1MTEuOS0uMSA0NjkuOCAwIDQxOC42bDAtMzI2Qy4xIDQxLjQgNDIuMi0uMSA5My40IDBsMzI2IDBjNTEuMiAuMSA5Mi43IDQyLjEgOTIuNiA5My40ek00NDEuNiAyMzMuNWMwLTgzLjQtODMuNy0xNTEuMy0xODYuNC0xNTEuM1M2OC44IDE1MC4xIDY4LjggMjMzLjVjMCA3NC43IDY2LjMgMTM3LjQgMTU1LjkgMTQ5LjMgMjEuOCA0LjcgMTkuMyAxMi43IDE0LjQgNDIuMS0uOCA0LjctMy44IDE4LjQgMTYuMSAxMC4xczEwNy4zLTYzLjIgMTQ2LjUtMTA4LjJjMjctMjkuNyAzOS45LTU5LjggMzkuOS05My4xbDAtLjJ6Il19LF9sdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbWlsaWEiLGljb246WzQ0OCw1MTIsW10sImYzNmQiLCJNMjQwLjIgMzJjLTYxLjkgMC0xMzEuNSAxNi45LTE4NC4yIDU1LjQtNS4xIDMuMS05LjEgOS4yLTcuMiAxOS40IDEuMSA1LjEgNS4xIDI3LjQgMTAuMiAzOS42IDQuMSAxMC4yIDE0LjIgMTAuMiAyMC4zIDYuMSAzMi41LTIyLjMgOTYuNS00Ny43IDE1Mi4zLTQ3LjcgNTcuOSAwIDU4LjkgMjguNCA1OC45IDczLjFsMCAzOC41QzIwMy4xIDIyNy43IDc4LjMgMjUxIDQ2LjggMjY0LjIgMTEuMyAyODAuNSAxNi40IDM1Ny43IDE2LjQgMzc2UzMxLjYgNDgwIDE0MS4zIDQ4MGM0Ny44IDAgMTEzLjctMjAuNyAxNTMuMy00Mi4xbDAgMjUuNGMwIDMgMi4xIDguMiA2LjEgOS4xIDMuMSAxIDUwLjcgMiA1OS45IDJzNjIuNSAuMyA2Ni41LS43YzQuMS0xIDUuMS02LjEgNS4xLTkuMWwwLTI5Ni42Yy0uMS04MC4zLTU3LjktMTM2LTE5Mi0xMzZ6bTUwLjIgMzQ4Yy0yMS40IDEzLjItNDguNyAyNC40LTc5LjEgMjQuNC01Mi44IDAtNTguOS0zMy41LTU5LTQ0LjcgMC0xMi4yLTMtNDIuNyAxOC4zLTUyLjkgMjQuMy0xMy4yIDc1LjEtMjkuNCAxMTkuOC0zMy41bDAgMTA2Ljd6Il19LExsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhc3ltbWV0cmlrIixpY29uOls1NzYsNTEyLFtdLCJmMzcyIiwiTTUxNy41IDMwOS4yYzM4LjgtNDAgNTguMS04MCA1OC41LTExNi4xIC44LTY1LjUtNTkuNC0xMTguMi0xNjkuNC0xMzUtMTI4LjctMTkuNy0yODguNSAxNS41LTQwNi42IDgyLjQgNTItMjYuNSAxMTAuNi00OC4yIDE3MC43LTU4LjIgNzQuNS0yMC41IDE1My0yNS40IDIyMS4zLTE0LjggMTUyLjUgMjMuOCAxOTYuOCAxMjcuNSA5OC44IDIzMS43LTEwLjIgMTAuOC0yMiAyMS4xLTM1IDMwLjZMMzA0LjkgMTAzLjQgMTE0LjcgMzg4LjljLTY1LjYtMjkuNC03Ni41LTkwLjItMTkuMS0xNTEuMiAyMC44LTIyLjIgNDguMy00MS45IDc5LjUtNTguMSAyMC0xMi4yIDM5LjctMjIuNiA2Mi0zMC43LTY1LjEgMjAuMy0xMjIuNyA1Mi45LTE2MS42IDkyLjktMjcuNyAyOC42LTQxLjQgNTcuMS00MS43IDgyLjktLjUgMzUuMSAyMy40IDY1LjEgNjguNCA4M2wtMzQuNSA1MS43IDEwMS42IDAgMjItMzQuNGMyMi4yIDEgNDUuMyAwIDY4LjYtMi43bC0yMi44IDM3LjEgMTM1LjUgMC0zMi42LTUzLjFjMTguNi01LjMgMzYuOS0xMS41IDU0LjUtMTguN2w0NS45IDcxLjggMTAxLjYgMC03My40LTExMC40YzE4LjUtMTIuMSAzNS0yNS41IDQ4LjktMzkuOHpNMzI5LjkgMzg5LjdsLTI1LTQwLjYtMzIuNyA1My4zYy0yMy40IDMuNS00Ni43IDUuMS02OS4yIDQuNGwxMDEuOS0xNTkuMyA3OC43IDEyM2MtMTcuMiA3LjQtMzUuMyAxMy45LTUzLjcgMTkuMnoiXX0sJGx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBoYWJyaWNhdG9yIixpY29uOls1MTIsNTEyLFtdLCJmM2RiIiwiTTMzMS4xIDI2Mi4xbC0uMS0xM3MyMS43LTE5LjggMjEuMS0yMS4ybC05LjUtMjBjLS42LTEuNC0yOS41LS41LTI5LjUtLjVsLTkuNC05LjNzLjItMjguNS0xLjItMjkuMWwtMjAuMS05LjJjLTEuNC0uNi0yMC43IDIxLTIwLjcgMjFsLTEzLjEtLjJzLTIwLjUtMjEuNC0yMS45LTIwLjhsLTIwIDguM2MtMS40IC41IC4yIDI4LjkgLjIgMjguOWwtOS4xIDkuMXMtMjkuMi0uOS0yOS43IC40TDE2MCAyMjYuM2MtLjYgMS40IDIxIDIxIDIxIDIxbC4xIDEyLjlTMTU5LjQgMjgwIDE2MCAyODEuNGw5LjUgMjBjLjYgMS40IDI5LjUgLjUgMjkuNSAuNWw5LjQgOS4zcy0uMiAzMS44IDEuMiAzMi4zbDIwLjEgOC4zYzEuNCAuNiAyMC43LTIzLjUgMjAuNy0yMy41bDEzLjEgLjJzMjAuNSAyMy44IDIxLjggMjMuM2wyMC03LjVjMS40LS42LS4yLTMyLjEtLjItMzIuMWw5LjEtOS4xczI5LjIgLjkgMjkuNy0uNWw4LjEtMTkuOGMuNy0xLjEtMjAuOS0yMC43LTIwLjktMjAuN3ptLTQ0LjktOC43Yy43IDE3LjEtMTIuOCAzMS42LTMwLjEgMzIuNHMtMzIuMS0xMi41LTMyLjgtMjkuNiAxMi44LTMxLjYgMzAuMS0zMi4zYzE3LjMtLjggMzIuMSAxMi41IDMyLjggMjkuNXptMjAxLjItMzcuOWwtOTctOTctLjEgLjFjLTc1LjEtNzMuMy0xOTUuNC03Mi44LTI2OS44IDEuNi01MC45IDUxLTI3LjggMjcuOS05NS43IDk1LjMtMjIuMyAyMi4zLTIyLjMgNTguNyAwIDgxIDY5LjkgNjkuNCA0Ni40IDQ2IDk3LjQgOTdsLjEtLjFjNzUuMSA3My4zIDE5NS40IDcyLjkgMjY5LjgtMS42IDUxLTUwLjkgMjcuOS0yNy45IDk1LjMtOTUuMyAyMi4zLTIyLjMgMjIuMy01OC43IDAtODF6TTM2My41IDE0OC4yYTE1Mi4zIDE1Mi4zIDAgMSAxIC0yMTUgMjE1LjYgMTUyLjMgMTUyLjMgMCAxIDEgMjE1LTIxNS42eiJdfSxEbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYm90cyIsaWNvbjpbNjQwLDUxMixbXSwiZTM0MCIsIk04Ni4zIDE5Ny44Yy04LS4xLTE1LjkgMS43LTIzLjEgNS4xcy0xMy41IDguNi0xOC40IDE0LjlsMC02MS45YzAtMi4yLS45LTQuMy0yLjQtNS44cy0zLjYtMi40LTUuOC0yLjRsLTI4LjQgMGMtMi4yIDAtNC4zIC45LTUuOCAyLjRTMCAxNTMuOCAwIDE1NkwwIDMzMy42YzAgMS4xIC4yIDIuMSAuNiAzLjFzMSAxLjkgMS44IDIuNyAxLjcgMS40IDIuNyAxLjggMi4xIC42IDMuMSAuNmwyOC40IDBjMS4xIDAgMi4xLS4yIDMuMS0uNnMxLjktMSAyLjctMS44IDEuNC0xLjcgMS44LTIuNyAuNi0yLjEgLjYtMy4xbDAtOC4xYzExLjYgMTMuNCAyNS45IDE5LjggNDEuNiAxOS44IDM0LjYgMCA2MS45LTI2LjIgNjEuOS03My44IDAtNDUuOS0yNy03My42LTYxLjktNzMuNnpNNzEuNSAzMDUuN2MtOS42IDAtMjEuMi00LjktMjYuNy0xMi41bDAtNDNjNS41LTcuNiAxNy4yLTEyLjggMjYuNy0xMi44IDE3LjcgMCAzMS4xIDEzLjEgMzEuMSAzNCAwIDIxLjItMTMuNCAzNC4zLTMxLjEgMzQuM3ptMTU2LjQtNTlhMTcuNCAxNy40IDAgMSAwIDAgMzQuOCAxNy40IDE3LjQgMCAxIDAgMC0zNC44em00Ni4xLTkwbDAtNDQuN2MyLjgtMS4yIDUuMi0zLjMgNi42LTZzMS45LTUuOCAxLjMtOC45LTIuMi01LjctNC42LTcuNy01LjQtMy04LjQtMy02LjEgMS4xLTguNCAzLTQgNC43LTQuNiA3LjctLjEgNi4xIDEuMyA4LjkgMy44IDQuOCA2LjYgNmwwIDQ0LjdjLTI4IDEuMy01NC40IDEzLjYtNzMuNiAzNC4xcy0yOS41IDQ3LjctMjguOCA3NS44IDEyLjMgNTQuNyAzMi40IDc0LjMgNDcgMzAuNiA3NS4xIDMwLjYgNTUtMTEgNzUuMS0zMC42IDMxLjctNDYuMyAzMi40LTc0LjMtOS43LTU1LjMtMjguOC03NS44LTQ1LjUtMzIuOC03My42LTM0LjF6bTg2IDEwNy40YzAgMzAuNS00MC44IDU1LjMtOTEuMSA1NS4zcy05MS4xLTI0LjctOTEuMS01NS4zIDQwLjgtNTUuMyA5MS4xLTU1LjMgOTEuMSAyNC43IDkxLjEgNTUuM2wwIDB6bS01MC4yIDE3LjRjMy40IDAgNi44LTEgOS43LTIuOXM1LjEtNC42IDYuNC03LjggMS43LTYuNyAxLTEwLjEtMi4zLTYuNS00LjgtOC45LTUuNS00LjEtOC45LTQuOC02LjktLjMtMTAuMSAxLTUuOSAzLjUtNy44IDYuNC0yLjkgNi4yLTIuOSA5LjdjMCA0LjYgMS44IDkgNS4xIDEyLjNzNy43IDUuMSAxMi4zIDUuMWwwIDB6bTI3MC45LTMxYy0xNC44LTIuNi0yMi40LTMuOC0yMi40LTkuOSAwLTUuNSA3LjMtOS45IDE3LjctOS45IDEyLjIgLjEgMjQuMiAzLjYgMzQuNSAxMC4xIDEuOCAxLjIgNCAxLjYgNi4yIDEuMXM0LTEuNyA1LjEtMy42Yy4xLS4xIC4xLS4yIC4yLS4zbDguNi0xNC45YzEuMS0xLjkgMS40LTQuMSAuOC02LjFzLTEuOS0zLjktMy43LTVjLTE1LjctOS40LTMzLjctMTQuMy01Mi0xNC4xLTM5IDAtNjAuMiAyMS41LTYwLjIgNDYuMiAwIDM2LjMgMzMuNyA0MS45IDU3LjYgNDUuNiAxMy40IDIuMyAyNC4xIDQuNCAyNC4xIDExIDAgNi40LTUuNSAxMC44LTE4LjkgMTAuOC0xMy42IDAtMzEtNi4yLTQyLjYtMTMuNi0uOS0uNi0xLjktMS0zLTEuMnMtMi4xLS4yLTMuMiAuMS0yLjEgLjctMi45IDEuMy0xLjYgMS40LTIuMiAyLjNjMCAuMS0uMSAuMS0uMSAuMmwtMTAuMiAxNi45Yy0xLjEgMS44LTEuNCA0LTEgNnMxLjcgMy45IDMuNSA1YzE1LjIgMTAuMyAzNy43IDE2LjcgNTkuNCAxNi43IDQwLjQgMCA2NC0xOS44IDY0LTQ2LjUgMC0zOC4xLTM1LjUtNDMuOS01OS4zLTQ4LjN6bS05NS45IDYwLjhjLS41LTItMS44LTMuNy0zLjYtNC44cy0zLjktMS41LTUuOS0xLjFjLTEuNCAuMy0yLjggLjQtNC4yIC40LTcuOCAwLTEyLjUtNi4xLTEyLjUtMTQuMmwwLTUxLjIgMjAuMyAwYzIuMiAwIDQuMi0uOSA1LjgtMi40czIuNC0zLjYgMi40LTUuOGwwLTIyLjdjMC0yLjItLjktNC4yLTIuNC01LjhzLTMuNi0yLjQtNS44LTIuNGwtMjAuMyAwIDAtMzAuMmMwLTIuMi0uOS00LjItMi40LTUuOHMtMy42LTIuNC01LjgtMi40bC0yOC4yIDBjLTIuMiAwLTQuMiAuOS01LjggMi40cy0yLjQgMy42LTIuNCA1LjhsMCAzMC4yLTE1LjEgMGMtMS4xIDAtMi4xIC4yLTMuMSAuNnMtMS45IDEtMi42IDEuOC0xLjQgMS43LTEuOCAyLjYtLjYgMi0uNiAzLjFsMCAyMi43YzAgMS4xIC4yIDIuMSAuNiAzLjFzMSAxLjkgMS44IDIuNiAxLjcgMS40IDIuNiAxLjggMiAuNiAzLjEgLjZsMTUuMSAwIDAgNjMuN2MwIDI3IDE1LjQgNDEuMyA0My45IDQxLjMgMTIuMiAwIDIxLjQtMi4yIDI3LjYtNS40IDEuNi0uOCAyLjktMi4yIDMuNy0zLjlzLjktMy42IC41LTUuNGwtNS0xOS4zeiJdfSxBbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmluZSIsaWNvbjpbMzg0LDUxMixbXSwiZjFjYSIsIk0zODQgMjU0LjdsMCA1Mi4xYy0xOC40IDQuMi0zNi45IDYuMS01Mi4xIDYuMS0zNi45IDc3LjQtMTAzIDE0My44LTEyNS4xIDE1Ni4yLTE0IDcuOS0yNy4xIDguNC00Mi43LS44LTI3LjEtMTYuMy0xMjkuOS0xMDAuNi0xNjQuMS0zNjUuNmw3NC41IDBjMTguNyAxNTkuMSA2NC41IDI0MC43IDExNC44IDMwMS44IDI3LjktMjcuOSA1NC44LTY1LjEgNzUuNi0xMDYuOS00OS44LTI1LjMtODAuMS04MC45LTgwLjEtMTQ1LjYgMC02NS42IDM3LjctMTE1LjEgMTAyLjItMTE1LjEgMTE0LjkgMCAxMDYuMiAxMjcuOSA4MS42IDE4MS41IDAgMC00Ni40IDkuMi02My41LTIwLjUgMy40LTExLjMgOC4yLTMwLjggOC4yLTQ4LjUgMC0zMS4zLTExLjMtNDYuNi0yOC40LTQ2LjYtMTguMiAwLTMwLjggMTcuMS0zMC44IDUwIC4xIDc5LjIgNTkuNCAxMTguNyAxMjkuOSAxMDEuOXoiXX0sRWx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lZHJ0IixpY29uOls1NzYsNTEyLFtdLCJmM2M4IiwiTTEyOS43IDI1NmMwIDEyMS44IDgzLjkgMjIyLjggMTkzLjUgMjQxLjEtMTguNyA0LjUtMzguMiA2LjktNTguMiA2LjktMTM3LjYgMC0yNDktMTExLTI0OS0yNDhTMTI3LjQgOCAyNjQuOSA4YzIwLjEgMCAzOS42IDIuNCA1OC4yIDYuOS0xMDkuNiAxOC4zLTE5My40IDExOS4zLTE5My40IDI0MS4xek00MjcuMSAzNTYuM2MtNzcuNyA1NS40LTE3OS42IDQ3LjUtMjQwLjQtMTQuNiA1LjUgMTQuMSAxMi43IDI3LjcgMjEuNyA0MC41IDYxLjYgODguMiAxODIuNCAxMDkuMyAyNjkuNyA0N3MxMDguMS0xODQuMyA0Ni41LTI3Mi42Yy05LTEyLjktMTkuMy0yNC4zLTMwLjUtMzQuMiAzNy40IDc4LjggMTAuNyAxNzguNS02NyAyMzMuOXptLTIxOC44LTI0NGMtMS40IDEtMi43IDIuMS00IDMuMSA2NC4zLTE3LjggMTM1LjkgNCAxNzguOSA2MC41IDM1LjcgNDcgNDIuOSAxMDYuNiAyNC40IDE1OCA1Ni43LTU2LjIgNjcuNi0xNDIuMSAyMi4zLTIwMS44LTUwLTY1LjUtMTQ5LjEtNzQuNC0yMjEuNi0xOS44ek0zMTIgMjI0Yy00LjQgMC04LTMuNi04LThsMC00MGMwLTQuNC0zLjYtOC04LThsLTQ4IDBjLTQuNCAwLTggMy42LTggOGwwIDQwYzAgNC40LTMuNiA4LTggOGwtNDAgMGMtNC40IDAtOCAzLjYtOCA4bDAgNDhjMCA0LjQgMy42IDggOCA4bDQwIDBjNC40IDAgOCAzLjYgOCA4bDAgNDBjMCA0LjQgMy42IDggOCA4bDQ4IDBjNC40IDAgOC0zLjYgOC04bDAtNDBjMC00LjQgMy42LTggOC04bDQwIDBjNC40IDAgOC0zLjYgOC04bDAtNDhjMC00LjQtMy42LTgtOC04bC00MCAweiJdfSxJbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3NpIixpY29uOls1MTIsNTEyLFtdLCJmNDFhIiwiTTggMjY2LjRjMi4zLTEzNS44IDk3LjQtMjMyLjQgMjEzLjgtMjQ4LjEgMTM4LjgtMTguNiAyNTUuNiA3NS44IDI3OCAyMDEuMSAyMS4zIDExOC44LTQ0IDIzMC0xNTEuNiAyNzQtOS4zIDMuOC0xNC40IDEuNy0xOC03LjctMTcuOC00Ni4zLTM1LjYtOTIuNi01My40LTEzOS0zLjEtOC4xLTEtMTMuMiA3LTE2LjggMjQuMi0xMSAzOS4zLTI5LjQgNDMuMy01NS44IDEuNS05LjcgMS0xOS42LTEuNS0yOS4xcy02LjktMTguNC0xMi45LTI2LjEtMTMuNi0xNC4xLTIyLjItMTguOC0xOC4xLTcuNS0yNy45LTguM2MtMzktMy40LTcxLjggMjMuNy03Ny41IDU5LjctNS4yIDMzIDExLjEgNjMuNyA0MS45IDc3LjcgOS42IDQuNCAxMS41IDguNiA3LjggMTguNC0xNy45IDQ2LjYtMzUuOCA5My4yLTUzLjcgMTM5LjktMi42IDYuOS04LjMgOS4zLTE1LjUgNi41LTUyLjYtMjAuMy0xMDEuNC02MS0xMzAuOC0xMTktMjQuOS00OS4yLTI1LjItODcuNy0yNi44LTEwOC43em0yMC45LTEuOWMuNCA2LjYgLjYgMTQuMyAxLjMgMjIuMSA2LjMgNzEuOSA0OS42IDE0My41IDEzMSAxODMuMSAzLjIgMS41IDQuNCAuOCA1LjYtMi4zIDE0LjktMzkuMSAyOS45LTc4LjIgNDUtMTE3LjMgMS4zLTMuMyAuNi00LjgtMi40LTYuNy0zMS42LTE5LjktNDcuMy00OC41LTQ1LjYtODYgMS0yMS42IDkuMy00MC41IDIzLjgtNTYuMyAzMC0zMi43IDc3LTM5LjggMTE1LjUtMTcuNiAxNS42IDkgMjguMiAyMi4zIDM2LjIgMzguNHMxMS4yIDM0LjIgOSA1MmMtMy42IDMwLjYtMTkuMyA1My45LTQ1LjcgNjkuOC0yLjcgMS42LTMuNSAyLjktMi4zIDYgMTUuMiAzOS4yIDMwLjMgNzguNCA0NS4yIDExNy43IDEuMiAzLjEgMi40IDMuOCA1LjYgMi4zIDM1LjUtMTYuNiA2NS4yLTQwLjMgODguMS03MiAzNC44LTQ4LjIgNDkuMS0xMDEuOSA0Mi4zLTE2MS0xMy43LTExNy41LTExOS40LTIxNC44LTI1NS41LTE5OC0xMDYuMSAxMy0xOTUuMyAxMDIuNS0xOTcuMSAyMjUuOHoiXX0sUGx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdnIixpY29uOls1MTIsNTEyLFtdLCJmMjYwIiwiTTE3OS4yIDIzMC40bDEwMi40IDEwMi40LTEwMi40IDEwMi40LTE3OS4yLTE3OS4yIDE3OS4yLTE3OS4yIDQ0LjggNDQuOC0yNS42IDI1LjYtMTkuMi0xOS4yLTEyOCAxMjggMTI4IDEyOCA1MS41LTUxLjUtNzcuMS03Ni41IDI1LjYtMjUuNnpNMzMyLjggNzYuOGwtMTAyLjQgMTAyLjQgMTAyLjQgMTAyLjQgMjUuNi0yNS42LTc3LjEtNzYuNSA1MS41LTUxLjUgMTI4IDEyOC0xMjggMTI4LTE5LjItMTkuMi0yNS42IDI1LjYgNDQuOCA0NC44IDE3OS4yLTE3OS4yLTE3OS4yLTE3OS4yeiJdfSxObHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnV5c2VsbGFkcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjIwZCIsIk0yMjQgMTUwLjdsNDIuOSAxNjAuNy04NS44IDAgNDIuOS0xNjAuN3pNNDQ4IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMzgyLjcgNDA1LjNsLTk0LjUtMjk4LjctMTI4LjQgMC05NC41IDI5OC43IDkwLjcgMCAxMTEuNy05MS42IDI0LjIgOTEuNiA5MC44IDB6Il19LEZsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtcGx1cyIsaWNvbjpbNTEyLDUxMixbXSwiZjJiMyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTE4NS4zIDM4MGMtMzIuOSAwLTY0LjQtMTMuMS04Ny43LTM2LjNzLTM2LjMtNTQuOC0zNi4zLTg3LjcgMTMuMS02NC40IDM2LjMtODcuNyA1NC44LTM2LjMgODcuNy0zNi4zYzMxLjMgMCA2MC4xIDExIDgzIDMyLjNsLTMzLjYgMzIuNmMtMTMuMi0xMi45LTMxLjMtMTkuMS00OS40LTE5LjEtNDIuOSAwLTc3LjIgMzUuNS03Ny4yIDc4LjFTMTQyLjMgMzM0IDE4NS4zIDMzNGMzMi42IDAgNjQuOS0xOS4xIDcwLjEtNTMuM2wtNzAuMSAwIDAtNDIuNiAxMTYuOSAwYzEuMyA2LjggMS45IDEzLjggMS45IDIwLjcgMCA3MC44LTQ3LjUgMTIxLjItMTE4LjggMTIxLjJ6TTQxNS41IDI3My44bDAgMzUuNS0zNS41IDAgMC0zNS41LTM1LjUgMCAwLTM1LjUgMzUuNSAwIDAtMzUuNSAzNS41IDAgMCAzNS41IDM1LjIgMCAwIDM1LjUtMzUuMiAweiJdfSxPbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2NyZWVucGFsIixpY29uOls1MTIsNTEyLFtdLCJlNTcwIiwiTTI3OC42IDIyLjVhMjIuNSAyMi41IDAgMSAxIC00NSAwIDIyLjUgMjIuNSAwIDEgMSA0NSAwek0xOTguNyAyNTlhNTcuNCA1Ny40IDAgMSAxIDExNC44IDAgNTcuNCA1Ny40IDAgMSAxIC0xMTQuOCAwem0xMzguNiA5MWMyMi4zLTE5LjkgMzYuNS00Ny4zIDM5LjktNzdsMTE5LjUgMGMtMy41IDYxLjQtMzAuNCAxMTkuMi03NS4yIDE2MS40LTQ0LjcgNDIuMi0xMDMuOSA2NS44LTE2NS40IDY1LjhTMTM1LjQgNDc2LjYgOTAuNyA0MzQuNEM0NS45IDM5Mi4yIDE5LjEgMzM0LjQgMTUuNSAyNzNsMTE5LjcgMGMzLjQgMjkuNyAxNy42IDU3LjEgMzkuOSA3N3M1MS4yIDMwLjkgODEuMSAzMC45YzI5IDAgNTguNy0xMSA4MS4xLTMwLjl6TTI4LjMgMTQxLjdhMjIuNSAyMi41IDAgMSAxIDQ1LTEuNCAyMi41IDIyLjUgMCAxIDEgLTQ1IDEuNHptNDU1LjYtLjdhMjIuNCAyMi40IDAgMSAxIC00NC45IDAgMjIuNCAyMi40IDAgMSAxIDQ0LjkgMHpNMzE4IDk1LjNjLTE3LjMgMTMuOC0zOS4yIDIyLjgtNjEuOSAyMi44cy00NC42LTktNjEuOS0yMi44Yy0xNy4zLTE0LjctMjguOC0zNS4xLTMyLjQtNTcuNSAxNS4xLTYuNCAzMC44LTExLjMgNDYuOS0xNC41IDAgMTIuNiA1IDI0LjYgMTMuOSAzMy41czIwLjkgMTMuOSAzMy41IDEzLjkgMjQuNi01IDMzLjUtMTMuOSAxMy45LTIwLjkgMTMuOS0zMy41YzE2LjEgMy4yIDMxLjggOC4xIDQ2LjkgMTQuNS0zLjYgMjIuNC0xNS4xIDQyLjgtMzIuNCA1Ny41ek04Mi45IDIzMWMtMjEuNCA3LjYtNDQuNyA3LjQtNjUuOS0uNiAyLTE2LjMgNS42LTMyLjMgMTAuOC00Ny45IDUuNCAzLjEgMTEuMyA1LjEgMTcuNSA2IDYuMiAuOCAxMi40IC40IDE4LjUtMS4yIDYtMS43IDExLjYtNC40IDE2LjYtOC4yczkuMS04LjUgMTIuMi0xMy45IDUuMS0xMS40IDYtMTcuNWMuOC02LjIgLjQtMTIuNS0xLjItMTguNXMtNC40LTExLjYtOC4yLTE2LjZjLTMuOC00LjktOC41LTkuMS0xMy45LTEyLjIgMTAuOC0xMi4zIDIyLjktMjMuNSAzNi0zMy4zIDE3LjYgMTQuMyAyOS41IDM0LjUgMzMuNiA1Ni44cy4xIDQ1LjQtMTEuMiA2NWMtMTEuNCAxOS42LTI5LjQgMzQuNS01MC43IDQyLjF6bTM0Ni40IC4xYy0yMS4zLTcuNi0zOS4zLTIyLjYtNTAuNy00Mi4yLTExLjMtMTkuNi0xNS4yLTQyLjctMTEuMS02NSA0LjEtMjIuMiAxNi00Mi40IDMzLjUtNTYuNyAxMy4xIDkuOCAyNS4yIDIxIDM2IDMzLjMtMTAuNyA2LjQtMTguNCAxNi43LTIxLjUgMjguOC0zLjIgMTItMi4zIDI0LjggNC44IDM1LjYgNi4yIDEwLjggMTYuNCAxOC43IDI4LjQgMjJzMjQuOSAxLjcgMzUuNy00LjNjNS4zIDE1LjUgOC45IDMxLjYgMTAuOSA0Ny44LTIyLjEgOC4xLTQ0LjYgOC4zLTY2IC43eiJdfSxSbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYml0Y29pbiIsaWNvbjpbNTEyLDUxMixbXSwiZjM3OSIsIk04IDI1NmEyNDggMjQ4IDAgMSAxIDQ5NiAwIDI0OCAyNDggMCAxIDEgLTQ5NiAwem0zNTQuMy0zNS4zYzQuOS0zMy0yMC4yLTUwLjctNTQuNi02Mi42bDExLjEtNDQuNy0yNy4yLTYuOC0xMC45IDQzLjVjLTcuMi0xLjgtMTQuNS0zLjUtMjEuOC01LjFsMTAuOS00My44LTI3LjItNi44LTExLjIgNDQuN2MtNS45LTEuMy0xMS43LTIuNy0xNy40LTQuMWwwLS4xLTM3LjUtOS40LTcuMiAyOS4xczIwLjIgNC42IDE5LjggNC45YzExIDIuOCAxMyAxMCAxMi43IDE1LjhsLTEyLjcgNTAuOWMuOCAuMiAxLjcgLjUgMi44IC45LS45LS4yLTEuOS0uNS0yLjktLjdsLTE3LjggNzEuM2MtMS4zIDMuMy00LjggOC40LTEyLjUgNi41IC4zIC40LTE5LjgtNC45LTE5LjgtNC45bC0xMy41IDMxLjEgMzUuNCA4LjhjNi42IDEuNyAxMyAzLjQgMTkuNCA1bC0xMS4zIDQ1LjIgMjcuMiA2LjggMTEuMi00NC43YzcuMiAyIDE0LjQgMy44IDIxLjcgNS42bC0xMS4xIDQ0LjUgMjcuMiA2LjggMTEuMy00NS4xYzQ2LjQgOC44IDgxLjMgNS4yIDk2LTM2LjcgMTEuOC0zMy44LS42LTUzLjMtMjUtNjYgMTcuOC00LjEgMzEuMi0xNS44IDM0LjctMzkuOXptLTYyLjIgODcuMmMtOC40IDMzLjgtNjUuMyAxNS41LTgzLjggMTAuOWwxNC45LTU5LjljMTguNCA0LjYgNzcuNiAxMy43IDY4LjggNDl6bTguNC04Ny43Yy03LjcgMzAuNy01NSAxNS4xLTcwLjQgMTEuM2wxMy41LTU0LjNjMTUuNCAzLjggNjQuOCAxMSA1Ni44IDQzeiJdfSxCbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3dpZnQiLGljb246WzQ0OCw1MTIsW10sImY4ZTEiLCJNNDQ4IDE1Ni4xYzAtNC41LS4xLTktLjItMTMuNS0uMS05LjktMS0xOS43LTIuNi0yOS40LTEuNy05LjctNC44LTE5LjItOS4yLTI4LTktMTcuNy0yMy40LTMyLjEtNDEuMi00MS4xLTguOC00LjUtMTguMy03LjYtMjgtOS4yLTkuNy0xLjYtMTkuNi0yLjUtMjkuNC0yLjYtNC41LS4xLTktLjItMTMuNS0uMkwxMjQuMSAzMmMtNC41IDAtOSAuMS0xMy41IC4yLTIuNCAuMS00LjkgLjItNy40IC4zLTcuNCAuMy0xNC44IDEuMS0yMi4xIDIuMy03LjMgMS4zLTE0LjQgMy4zLTIxLjIgNi4xLTIuMyAxLTQuNiAyLTYuOCAzLjEtNi42IDMuNC0xMi44IDcuNS0xOC40IDEyLjMtMS45IDEuNi0zLjcgMy4zLTUuNCA1LTcgNy0xMi45IDE1LTE3LjQgMjMuOC00LjQgOC44LTcuNiAxOC4zLTkuMiAyOC0xLjYgOS43LTIuNCAxOS42LTIuNSAyOS40LS4xIDQuNS0uMiA5LS4yIDEzLjVMMCAzNTUuOWMwIDQuNSAuMSA5IC4yIDEzLjUgLjEgOS45IDEgMTkuNyAyLjYgMjkuNCAxLjcgOS43IDQuOCAxOS4yIDkuMiAyOCA5IDE3LjcgMjMuNCAzMi4xIDQxLjEgNDEuMSA4LjggNC40IDE4LjMgNy41IDI4IDkuMiA5LjcgMS42IDE5LjYgMi41IDI5LjQgMi42IDQuNSAuMSA5IC4yIDEzLjUgLjJsMTk5LjggMGM0LjUgMCA5LS4xIDEzLjUtLjIgOS45LS4xIDE5LjctMSAyOS40LTIuNiA5LjctMS43IDE5LjItNC44IDI4LTkuMiAxNy43LTkgMzIuMS0yMy40IDQxLjEtNDEuMiA0LjQtOC44IDcuNi0xOC4zIDkuMi0yOCAxLjYtOS43IDIuNS0xOS42IDIuNi0yOS40IC4xLTQuNSAuMi05IC4yLTEzLjVsMC0xODMuOGMwLTUuNCAwLTEwLjcgMC0xNnptLTY5LjkgMjQxYy0yMC0zOC45LTU3LjItMjkuMy03Ni4zLTE5LjUtMS43IDEtMy41IDItNS4yIDNsLS40IC4yYy0zOS41IDIxLTkyLjUgMjIuNS0xNDUuOC0uNC00My40LTE4LjgtODAuMS01MC4zLTEwNS4zLTkwLjQgMTIuMyA5LjEgMjUuNCAxNi45IDM5LjIgMjMuNCA1Ni40IDI2LjQgMTEzIDI0LjUgMTUzIDAtNTctNDMuOC0xMDQuNi0xMDEtMTQxLjEtMTQ3LjItNy04LjEtMTMuMi0xNi44LTE4LjgtMjUuOSA0My43IDQwIDExMi43IDkwLjIgMTM3LjUgMTA0LjEtNTIuNi01NS41LTk4LjktMTIzLjktOTYuNy0xMjEuNyA4Mi44IDgzLjQgMTU5LjIgMTMwLjYgMTU5LjIgMTMwLjYgMi45IDEuNiA1IDIuOCA2LjcgNCAxLjYtNC4xIDMtOC4yIDQuMi0xMi41IDEzLjItNDguMy0xLjctMTAzLjYtMzUuMy0xNDkuMiA3Ni44IDQ2LjEgMTIyLjIgMTMzLjcgMTAzLjYgMjA3LjgtLjQgMS43LTEgMy40LTEuNCA1LjEgMzguNSA0Ny40IDI4IDk4LjIgMjMuMSA4OC42bDAgMHoiXX0sSGx0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpbGVzLXBpbndoZWVsIixpY29uOls1MTIsNTEyLFtdLCJlNjlmIiwiTTI1My41IDI0Ni40TDEzNy4yIDEzMC4yYy0uNi0uNi0xLTEuMy0xLjQtMnMtLjUtMS42LS41LTIuNCAuMi0xLjYgLjUtMi40IC44LTEuNCAxLjQtMkwyNTMuNiA1LjFjLjktLjkgMi0xLjUgMy4yLTEuN3MyLjUtLjEgMy42IC4zIDIuMSAxLjMgMi44IDIuMyAxLjEgMi4yIDEuMSAzLjVsMCAyMzIuNWMwIDEuMy0uMyAyLjUtMSAzLjZzLTEuNyAxLjktMi45IDIuNC0yLjUgLjYtMy43IC4zLTIuNC0uOS0zLjItMS45em00MC4zLTQuNGwwLTEzNC40YzAtLjggLjEtMS42IC41LTIuNHMuOC0xLjUgMS4zLTIuMSAxLjMtMS4xIDItMS40IDEuNi0uNSAyLjQtLjVsMTM0LjQgMGMxLjIgMCAyLjUgLjQgMy41IDEuMXMxLjggMS43IDIuMyAyLjggLjYgMi40IC4zIDMuNi0uOSAyLjMtMS43IDMuMkwzMDQuMyAyNDYuNGMtLjkgLjgtMiAxLjQtMy4yIDEuNnMtMi40IC4xLTMuNS0uNC0yLjEtMS4zLTIuOC0yLjMtMS4xLTIuMi0xLjEtMy40bC4xIC4xem0zMC42IDM1Yy0xLjIgMC0yLjUtLjMtMy41LTFzLTEuOS0xLjYtMi40LTIuOC0uNi0yLjQtLjQtMy42IC44LTIuMyAxLjctMy4yTDQwNCAxODIuMmMuNi0uNiAxLjMtMSAyLTEuNHMxLjYtLjUgMi40LS41IDEuNiAuMiAyLjQgLjUgMS40IC44IDIgMS40bDg0LjQgODQuMmMuOSAuOSAxLjUgMiAxLjcgMy4ycy4xIDIuNS0uMyAzLjYtMS4zIDIuMS0yLjMgMi44LTIuMiAxLjEtMy41IDEuMWwtMTY4LjUgMCAuMS0uMXptOTAuNyAxMzFsLTk1LjMtOTUuMmMtLjktLjktMS41LTItMS43LTMuMnMtLjEtMi41IC40LTMuNyAxLjMtMi4xIDIuNC0yLjggMi4zLTEgMy41LTFsOTUuMiAwYzEuNyAwIDMuMiAuNyA0LjQgMS44czEuOCAyLjggMS44IDQuNGwwIDk1LjNjMCAxLjItLjQgMi41LTEuMSAzLjVzLTEuNyAxLjgtMi44IDIuMy0yLjQgLjYtMy42IC4zLTIuMy0uOS0zLjItMS43ek0xNi44IDMwMi4xbDIxNi45IDBjMS4yIDAgMi41IC40IDMuNSAxLjFzMS44IDEuNyAyLjMgMi44IC42IDIuNCAuMyAzLjYtLjggMi4zLTEuNyAzLjJMMTI5LjcgNDIxLjJjLS42IC42LTEuMyAxLTIgMS40cy0xLjYgLjUtMi40IC41LTEuNi0uMi0yLjQtLjUtMS40LS44LTItMS40TDEyLjMgMzEyLjhjLS45LS45LTEuNS0yLTEuNy0zLjJzLS4xLTIuNSAuNC0zLjYgMS4zLTIuMSAyLjMtMi44IDIuMy0xIDMuNS0xbDAtLjF6TTI2NC4zIDQ2NS4zYzAgLjgtLjIgMS42LS41IDIuNHMtLjggMS41LTEuNCAyLTEuMyAxLTIgMS40LTEuNiAuNS0yLjQgLjVsLTEyOCAwYy0xLjIgMC0yLjUtLjQtMy41LTEuMXMtMS44LTEuNy0yLjMtMi44LS42LTIuNC0uMy0zLjYgLjgtMi4zIDEuNy0zLjJsMTI4LTEyOGMuOS0uOSAyLTEuNSAzLjItMS43czIuNS0uMSAzLjYgLjMgMi4xIDEuMyAyLjggMi4zIDEuMSAyLjIgMS4xIDMuNWwwIDEyOHptNDAtMTMyLjVsODIuOCA4Mi43Yy42IC42IDEgMS4zIDEuNCAycy41IDEuNiAuNSAyLjQtLjIgMS42LS41IDIuNC0uOCAxLjQtMS40IDJMMzA0LjMgNTA3Yy0uOSAuOS0yIDEuNS0zLjIgMS43cy0yLjUgLjEtMy42LS4zLTIuMS0xLjMtMi44LTIuMy0xLjEtMi4yLTEuMS0zLjVsMC0xNjUuNGMwLTEuMiAuNC0yLjUgMS4xLTMuNXMxLjctMS44IDIuOC0yLjMgMi40LS42IDMuNi0uMyAyLjMgLjggMy4yIDEuN3pNNzkgMTIyLjRjMC0xLjIgLjMtMi41IDEtMy41czEuNy0xLjggMi44LTIuMyAyLjQtLjYgMy42LS40IDIuMyAuOCAzLjIgMS43TDIzOC4xIDI2Ni40Yy45IC45IDEuNSAyIDEuNyAzLjJzLjEgMi41LS4zIDMuNi0xLjMgMi4xLTIuMyAyLjgtMi4yIDEuMS0zLjUgMS4xbC0xNDguNCAwYy0xLjcgMC0zLjItLjctNC40LTEuOHMtMS44LTIuOC0xLjgtNC40bDAtMTQ4LjQtLjEtLjF6Il19LHFsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsYXJhdmVsIixpY29uOls1MTIsNTEyLFtdLCJmM2JkIiwiTTUwNC42IDExNS44Yy0uMS0uMi0uMi0uNS0uMy0uNy0uMS0uNC0uMy0uOC0uNS0xLjItLjItLjItLjMtLjUtLjUtLjctLjItLjMtLjUtLjYtLjctLjktLjItLjItLjUtLjQtLjgtLjYtLjMtLjItLjYtLjUtLjktLjdMNDA0LjYgNTUuNWMtMS4yLS43LTIuNi0xLjEtNC0xLjFzLTIuOCAuNC00IDEuMUwzMDAuMyAxMTFjLS4zIC4yLS42IC40LS45IC43LS4zIC4yLS41IC40LS44IC42LS4zIC4zLS41IC42LS43IC45LS4yIC4yLS40IC40LS41IC43LS4yIC40LS40IC44LS41IDEuMi0uMSAuMi0uMiAuNC0uMyAuNy0uMiAuNy0uMyAxLjQtLjMgMi4xbDAgMTA1LjItODAuMiA0Ni4yIDAtMjA1LjljMC0uNy0uMS0xLjQtLjMtMi4xLS4xLS4yLS4yLS40LS4zLS43LS4xLS40LS4zLS44LS41LTEuMi0uMS0uMy0uNC0uNS0uNS0uNy0uMi0uMy0uNS0uNi0uNy0uOS0uMi0uMi0uNS0uNC0uOC0uNi0uMy0uMi0uNi0uNS0uOS0uN0wxMTUuOCAxLjFjLTEuMi0uNy0yLjYtMS4xLTQtMS4xcy0yLjggLjQtNCAxLjFMMTEuNSA1Ni41Yy0uMyAuMi0uNiAuNC0uOSAuNy0uMyAuMi0uNSAuNC0uOCAuNi0uMyAuMy0uNSAuNi0uNyAuOS0uMiAuMy0uNCAuNS0uNiAuNy0uMiAuNC0uNCAuOC0uNSAxLjItLjEgLjItLjIgLjQtLjMgLjctLjIgLjctLjMgMS40LS4zIDIuMWwwIDMyOS43YzAgMS40IC40IDIuOCAxLjEgNHMxLjcgMi4yIDIuOSAyLjlMMjA0IDUxMC45Yy40IC4yIC45IC40IDEuMyAuNSAuMiAuMSAuNCAuMiAuNiAuMyAxLjMgLjQgMi44IC40IDQuMSAwIC4yLS4xIC40LS4yIC42LS4yIC41LS4yIDEtLjMgMS40LS42TDQwNC42IDQwMC4xYzEuMi0uNyAyLjItMS43IDIuOS0yLjlzMS4xLTIuNiAxLjEtNGwwLTEwNS4zIDkyLjItNTMuMWMxLjItLjcgMi4yLTEuNyAyLjktM3MxLjEtMi42IDEuMS00bDAtMTA5LjhjMC0uNy0uMS0xLjQtLjItMi4xek0xMTEuOCAxNy4zbDgwLjIgNDYuMS04MC4yIDQ2LjItODAuMi00Ni4yIDgwLjItNDYuMnptODguMiA2MGwwIDIwMS4zYy0zMy4yIDE5LjEtNTkuOSAzNC41LTgwLjIgNDYuMmwwLTIwMS4zQzE1MyAxMDQuNCAxNzkuNyA4OSAyMDAgNzcuM3ptMCA0MTIuOEwyMy41IDM4OC41IDIzLjUgNzcuM2MyMC4zIDExLjcgNDcuMSAyNy4xIDgwLjIgNDYuMmwwIDIxNS4yYzAgLjMgLjEgLjYgLjEgLjkgMCAuNCAuMSAuOCAuMiAxLjIgLjEgLjMgLjIgLjYgLjQgLjkgLjEgLjMgLjMgLjcgLjQgMSAuMiAuMyAuNCAuNSAuNiAuOCAuMiAuMyAuNCAuNiAuNyAuOCAuMiAuMiAuNSAuNCAuOCAuNiAuMyAuMiAuNiAuNSAuOSAuN2w5Mi4yIDUyLjIgLjEgOTIuNHptOC0xMDYuMkwxMjggMzM4LjZjNTQuNy0zMS41IDExMy41LTY1LjMgMTc2LjMtMTAxLjVsODAuMSA0Ni4xQzM1NSAzMDAgMjk2LjIgMzMzLjUgMjA4IDM4My45em0xODQuNSA0LjZsLTE3Ni41IDEwMS42IDAtOTIuM0MzMTcuNCAzNDAgMzc2LjIgMzA2LjQgMzkyLjUgMjk3bDAgOTEuNHptMC0xMTkuMWMtMjAuMy0xMS42LTQ3LjEtMjctODAuMi00Ni4xbDAtOTEuNGMyMC4zIDExLjcgNDcuMSAyNy4xIDgwLjIgNDYuMmwwIDkxLjN6bTgtMTA1LjNsLTgwLjItNDYuMiA4MC4yLTQ2LjIgODAuMiA0Ni4xLTgwLjIgNDYuMnptOCAxMDUuM2wwLTkxLjNjMzMuMi0xOS4xIDYwLTM0LjUgODAuMy00Ni4ybDAgOTEuNC04MC4zIDQ2LjJ6Il19LGpsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cGZvcm1zIixpY29uOls0NDgsNTEyLFtdLCJmMjk4IiwiTTQ0OCA3NS4ybDAgMzYxLjdjMCAyNC4zLTE5IDQzLjItNDMuMiA0My4ybC0zNjEuNiAwQzE5LjMgNDgwIDAgNDYxLjQgMCA0MzYuOEwwIDc1LjJDMCA1MS4xIDE4LjggMzIgNDMuMiAzMmwzNjEuNyAwYzI0IDAgNDMuMSAxOC44IDQzLjEgNDMuMnpNNDEwLjcgNDM2LjhsMC0zNjEuNmMwLTMtMi42LTUuOC01LjgtNS44bC05LjMgMC0xMTAuMyA3NC42LTYxLjMtNDkuOS02MS4yIDQ5LjktMTEwLjMtNzQuNy05LjMgMGMtMy4yIDAtNS44IDIuOC01LjggNS44bDAgMzYxLjdjMCAzIDIuNiA1LjggNS44IDUuOGwzNjEuNyAwYzMuMiAuMSA1LjgtMi43IDUuOC01Ljh6TTE1MC4yIDE4NmwwIDM3LTczLjUgMCAwLTM3IDczLjUgMHptMCA3NC40bDAgMzcuMy03My41IDAgMC0zNy4zIDczLjUgMHptMTEuMS0xNDcuM2w1NC00My43LTExOC41IDAgNjQuNSA0My43em0yMTAgNzIuOWwwIDM3LTE5NiAwIDAtMzcgMTk2IDB6bTAgNzQuNGwwIDM3LjMtMTk2IDAgMC0zNy4zIDE5NiAwek0yODYuNyAxMTMuMWw2NC41LTQzLjctMTE4LjQgMCA1My45IDQzLjd6TTM3MS4zIDMzNWwwIDM3LjMtOTkuNCAwIDAtMzcuMyA5OS40IDB6Il19LFZsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcGVha2VyLWRlY2siLGljb246WzUxMiw1MTIsW10sImY4M2MiLCJNMjEzLjkgMjk2TDEwMCAyOTZjLTI2LjUgMC01Mi0xMC41LTcwLjctMjkuM1MwIDIyMi41IDAgMTk2IDEwLjUgMTQ0IDI5LjMgMTI1LjMgNzMuNSA5NiAxMDAgOTZsMTMyLjggMGMxMC42IDAgMjAuOCA0LjIgMjguMyAxMS43czExLjcgMTcuNyAxMS43IDI4LjMtNC4yIDIwLjgtMTEuNyAyOC4zLTE3LjcgMTEuNy0yOC4zIDExLjdMOTggMTc2Yy0yNi41IDAtMjYuNCA0MCAwIDQwbDExMy44IDBjMjYuNSAwIDUyIDEwLjUgNzAuNyAyOS4zczI5LjMgNDQuMiAyOS4zIDcwLjctMTAuNSA1Mi0yOS4zIDcwLjctNDQuMiAyOS4zLTcwLjcgMjkuM0w0MCA0MTZjLTEwLjYgMC0yMC44LTQuMi0yOC4zLTExLjdTMCAzODYuNiAwIDM3NiA0LjIgMzU1LjIgMTEuNyAzNDcuNyAyOS40IDMzNiA0MCAzMzZsMTczLjkgMGMyNi41IDAgMjYuNS00MCAwLTQwek0yOTggNDE2YzEzLjUtOS4yIDI1LTIxIDMzLjgtMzQuN3MxNC43LTI5LjIgMTcuMy00NS4zbDY0LjYgMGMyLjYgMCA1LjItLjYgNy42LTEuNnM0LjYtMi41IDYuNC00LjQgMy4zLTQuMSA0LjItNi41IDEuNS01IDEuNC03LjZsMC0xMjBjMC0yLjYtLjUtNS4yLTEuNC03LjZzLTIuNC00LjYtNC4yLTYuNS00LTMuMy02LjQtNC40LTUtMS42LTcuNi0xLjZsLTExNy4yIDBjOS43LTExLjEgMTUtMjUuMyAxNS00MHMtNS4zLTI4LjktMTUtNDBsMTM2LjkgMGM0My40IDAgNzguNiAzNS44IDc4LjYgODBsMCAxNjBjMCA0NC4yLTM1LjIgODAtNzguNiA4MEwyOTggNDE2eiJdfSxVbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmxpY2tyIixpY29uOls0NDgsNTEyLFtdLCJmMTZlIiwiTTQwMCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDM1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0xNDQuNSAxOTJhNjMuNSA2My41IDAgMSAxIDAgMTI3IDYzLjUgNjMuNSAwIDEgMSAwLTEyN3ptMTU5IDBhNjMuNSA2My41IDAgMSAxIDAgMTI3IDYzLjUgNjMuNSAwIDEgMSAwLTEyN3oiXX0sV2x0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLXZpc2EiLGljb246WzU3Niw1MTIsW10sImYxZjAiLCJNNDcwLjEgMjMxLjNzNy42IDM3LjIgOS4zIDQ1bC0zMy40IDBjMy4zLTguOSAxNi00My41IDE2LTQzLjUtLjIgLjMgMy4zLTkuMSA1LjMtMTQuOWwyLjggMTMuNHpNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTUyLjUgMzMxLjJsNjMuMi0xNTUuMi00Mi41IDAtMzkuMyAxMDYtNC4zLTIxLjUtMTQtNzEuNGMtMi4zLTkuOS05LjQtMTIuNy0xOC4yLTEzLjFsLTY0LjcgMC0uNyAzLjFjMTUuOCA0IDI5LjkgOS44IDQyLjIgMTcuMWwzNS44IDEzNSA0Mi41IDB6bTk0LjQgLjJsMjUuMi0xNTUuNC00MC4yIDAtMjUuMSAxNTUuNCA0MC4xIDB6bTEzOS45LTUwLjhjLjItMTcuNy0xMC42LTMxLjItMzMuNy00Mi4zLTE0LjEtNy4xLTIyLjctMTEuOS0yMi43LTE5LjIgLjItNi42IDcuMy0xMy40IDIzLjEtMTMuNCAxMy4xLS4zIDIyLjcgMi44IDI5LjkgNS45bDMuNiAxLjcgNS41LTMzLjZjLTcuOS0zLjEtMjAuNS02LjYtMzYtNi42LTM5LjcgMC02Ny42IDIxLjItNjcuOCA1MS40LS4zIDIyLjMgMjAgMzQuNyAzNS4yIDQyLjIgMTUuNSA3LjYgMjAuOCAxMi42IDIwLjggMTkuMy0uMiAxMC40LTEyLjYgMTUuMi0yNC4xIDE1LjItMTYgMC0yNC42LTIuNS0zNy43LTguM2wtNS4zLTIuNS01LjYgMzQuOWM5LjQgNC4zIDI2LjggOC4xIDQ0LjggOC4zIDQyLjIgLjEgNjkuNy0yMC44IDcwLTUzek01MjggMzMxLjRsLTMyLjQtMTU1LjQtMzEuMSAwYy05LjYgMC0xNi45IDIuOC0yMSAxMi45bC01OS43IDE0Mi41IDQyLjIgMHM2LjktMTkuMiA4LjQtMjMuM2w1MS42IDBjMS4yIDUuNSA0LjggMjMuMyA0LjggMjMuM2wzNy4yIDB6Il19LEdsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1cHdvcmsiLGljb246WzY0MCw1MTIsW10sImU2NDEiLCJNNDkzLjkgMjk1LjZjLTUwLjMgMC04My41LTM4LjktOTIuOC01My45IDExLjktOTUuMyA0Ni44LTEyNS40IDkyLjgtMTI1LjQgNDUuNSAwIDgwLjkgMzYuNCA4MC45IDg5LjdzLTM1LjQgODkuNy04MC45IDg5LjdsMC0uMXptMC0yMzcuOGMtODEuOSAwLTEyNy44IDUzLjQtMTQxIDEwOC40LTE0LjktMjgtMjUuOS02NS41LTM0LjUtMTAwLjNsLTExMy4yIDAgMCAxNDFjMCA1MS4xLTIzLjMgODktNjguOCA4OXMtNzEuNi0zNy44LTcxLjYtODlsLjUtMTQxLTY1LjMgMCAwIDE0MWMwIDQxLjEgMTMuMyA3OC40IDM3LjYgMTA1LjEgMjUgMjcuNSA1OS4yIDQxLjggOTguOCA0MS44IDc4LjggMCAxMzMuOC02MC40IDEzMy44LTE0Ni45bDAtOTQuOGM4LjIgMzEuMiAyNy44IDkxLjEgNjUuMyAxNDMuNmwtMzUgMTk5LjQgNjYuNCAwIDIzLjEtMTQxLjNjNy42IDYuMyAxNS43IDEyIDI0LjIgMTcgMjIuMiAxNCA0Ny43IDIxLjkgNzMuOSAyMi44IDAgMCA0IC4yIDYuMSAuMiA4MS4yIDAgMTQ1LjktNjIuOSAxNDUuOS0xNDcuOFM1NzUuMyA1Ny45IDQ5NC4xIDU3LjlsLS4yLS4xeiJdfSxZbHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia2FrYW8tdGFsayIsaWNvbjpbNTc2LDUxMixbXSwiZTdkNyIsIk0yODggMi41YzE1OS4xIDAgMjg4IDEwMS43IDI4OCAyMjcuMSAwIDEyNS40LTEyOC45IDIyNy4xLTI4OCAyMjcuMS0xNy41IDAtMzQuNi0xLjItNTEuMi0zLjYtMTYuNiAxMS43LTExMi42IDc5LjEtMTIxLjcgODAuNCAwIDAtMy43IDEuNC02LjktLjRzLTIuNi02LjctMi42LTYuN0MxMDYuNiA1MTkuOCAxMzAuNiA0MzcuMiAxMzUgNDIxLjkgNTMuOSAzODEuOCAwIDMxMC42IDAgMjI5LjUgMCAxMDQuMSAxMjguOSAyLjUgMjg4IDIuNXpNODYuMiAxNjEuN2MtOSAwLTE2LjMgNy4zLTE2LjMgMTYuM3M3LjMgMTYuMyAxNi4zIDE2LjNsMjUuOSAwIDAgOTguN2MwIDguOCA3LjUgMTUuOSAxNi42IDE1LjlzMTYuNi03LjEgMTYuNi0xNS45bDAtOTguNyAyNS45IDBjOSAwIDE2LjMtNy4zIDE2LjMtMTYuM3MtNy4zLTE2LjMtMTYuMy0xNi4zbC04NS4xIDB6bTE0MC44IDBjLTEwLjggLjItMTkuMyA4LjQtMjIuMSAxNi40TDE2NS4yIDI4Mi43Yy01IDE1LjctLjYgMjEuNSAzLjkgMjMuNiAzLjIgMS41IDYuOSAyLjMgMTAuNiAyLjMgNi45IDAgMTIuMi0yLjggMTMuOC03LjNsOC4yLTIxLjYgNTAuNyAwIDguMiAyMS41YzEuNiA0LjUgNi45IDcuMyAxMy44IDcuMyAzLjcgMCA3LjMtLjggMTAuNi0yLjMgNC42LTIuMSA5LTcuOSAzLjktMjMuNkwyNDkuMiAxNzguMWMtMi44LTgtMTEuMy0xNi4yLTIyLjItMTYuNHptMTgwLjkgMGMtOS4yIDAtMTYuNiA3LjUtMTYuNiAxNi42bDAgMTEzLjdjMCA5LjIgNy41IDE2LjYgMTYuNiAxNi42czE2LjYtNy41IDE2LjYtMTYuNmwwLTM2LjIgNS44LTUuOCAzOC45IDUxLjZjMy4yIDQuMiA4IDYuNiAxMy4zIDYuNiAzLjYgMCA3LjEtMS4xIDEwLTMuMyAzLjUtMi43IDUuOC02LjYgNi40LTExcy0uNS04LjgtMy4yLTEyLjNsLTQwLjktNTQuMiAzNy45LTM3LjhjMi42LTIuNiAzLjktNi4yIDMuNy0xMC4xLS4yLTMuOS0yLTcuNi00LjktMTAuNS0zLjEtMy4xLTcuMy00LjktMTEuNC00LjktMy42IDAtNi44IDEuMy05LjIgMy43bC00Ni4zIDQ2LjQgMC0zNS43YzAtOS4yLTcuNS0xNi42LTE2LjYtMTYuNnptLTkxLjMgMGMtOS4zIDAtMTYuOSA3LjUtMTYuOSAxNi42bDAgMTEyLjhjMCA4LjQgNy4xIDE1LjIgMTUuOSAxNS4zbDUzLjMgMGM4LjggMCAxNS45LTYuOSAxNS45LTE1LjNzLTcuMi0xNS4yLTE1LjktMTUuMmwtMzUuMyAwIDAtOTcuNmMwLTkuMi03LjYtMTYuNi0xNy0xNi42em0tNzMgODguNmwtMzMuMiAwIDE2LjYtNDcuMSAxNi42IDQ3LjF6Il19LFpsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmbHV0dGVyIixpY29uOls0NDgsNTEyLFtdLCJlNjk0IiwiTTQyOS41IDIzNi4zTDI5MS43IDM3NC4xIDQyOS41IDUxMiAyNzIgNTEyYy0zNi4xLTM2LjEtODIuMS04Mi4xLTEzNy45LTEzNy45bDEzNy45LTEzNy44IDE1Ny41IDB6TTI3MiAwTDE2IDI1NiA5NC44IDMzNC44IDQyOS41IDAgMjcyIDB6Il19LFhsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidWZmZXIiLGljb246WzQ0OCw1MTIsW10sImY4MzciLCJNNDI4LjIgMzgwLjdMMjMxLjcgNDc4LjVjLTIuMyAxLTQuOCAxLjUtNy4zIDEuNXMtNS0uNS03LjMtMS41TDIwLjUgMzgwLjdjLTQtMi00LTUuMyAwLTcuM0w2Ny42IDM1MGMyLjMtMSA0LjgtMS41IDcuMy0xLjVzNSAuNSA3LjMgMS41bDEzNC44IDY3YzIuMyAxIDQuOCAxLjUgNy4zIDEuNXM1LS41IDcuMy0xLjVsMTM0LjgtNjdjMi4zLTEgNC44LTEuNSA3LjMtMS41czUgLjUgNy4zIDEuNWw0Ny4xIDIzLjRjNCAyIDQgNS4yIDAgNy4yem0wLTEzNi41bC00Ny4xLTIzLjRjLTIuMy0xLTQuOC0xLjUtNy4zLTEuNXMtNSAuNS03LjMgMS41TDIzMS43IDI4Ny44Yy0yLjMgMS00LjggMS41LTcuMyAxLjVzLTUtLjUtNy4zLTEuNUw4Mi4zIDIyMC43Yy0yLjMtMS00LjgtMS41LTcuMy0xLjVzLTUgLjUtNy4zIDEuNUwyMC41IDI0NC4xYy00IDItNCA1LjMgMCA3LjNsMTk2LjUgOTcuOGMyLjMgMSA0LjggMS41IDcuMyAxLjVzNS0uNSA3LjMtMS41bDE5Ni41LTk3LjhjNC0yIDQtNS4zIDAtNy4zek0yMC41IDEzMC40TDIxNyAyMjAuN2M0LjcgMS45IDEwIDEuOSAxNC43IDBsMTk2LjUtOTAuM2M0LTEuOSA0LTQuOSAwLTYuN0wyMzEuNyAzMy40Yy00LjctMS45LTEwLTEuOS0xNC43IDBMMjAuNSAxMjMuN2MtNCAxLjgtNCA0LjkgMCA2Ljd6Il19LFFsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJncmF0aXBheSIsaWNvbjpbNTEyLDUxMixbXSwiZjE4NCIsIk0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyIDI1NiAyNTYgMCAxIDAgMC01MTJ6TTM3NC4zIDIzMy43TDI1Ny43IDM5MS4zIDE0MS4zIDIzMy43Yy05LTEyLjMtMTkuNy01MiAxNC03NC4zIDI5LTE4LjcgNTYuNC00LjMgNzAuNyAxMi4zIDE2LjQgMTguNSA0OC4xIDE3LjQgNjMuNyAwIDE0LjMtMTYuNiA0MS43LTMxIDcwLjMtMTIuMyAzNCAyMi4zIDIzLjMgNjEuOSAxNC4yIDc0LjN6Il19LEpsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtcGF5IixpY29uOls2NDAsNTEyLFtdLCJlMDc5IiwiTTEwNS43IDIxNWwwIDQxLjIgNTcuMSAwYy0xLjIgNi42LTMuNiAxMi45LTcuMiAxOC41cy04LjQgMTAuNC0xMy45IDE0LjFjLTkuNSA2LjYtMjEuNyAxMC4zLTM2IDEwLjMtMjcuNiAwLTUwLjktMTguOS01OS4zLTQ0LjItNC40LTEzLjMtNC40LTI3LjcgMC00MSA4LjQtMjUuNSAzMS43LTQ0LjQgNTkuMy00NC40IDcuNS0uMSAxNC45IDEuMiAyMS45IDRzMTMuMyA2LjkgMTguNiAxMi4xTDE3Ni41IDE1NWMtMTkuMS0xOC4xLTQ0LjQtMjguMS03MC43LTI3LjgtMTkuNyAuMS0zOC45IDUuNy01NS42IDE2LjFzLTMwLjEgMjUuMy0zOC44IDQzQzMuOSAyMDEuMiAwIDIxNy43IDAgMjM0LjRzMy45IDMzLjIgMTEuMyA0OC4xbDAgLjJjOC43IDE3LjcgMjIuMSAzMi41IDM4LjggNDNzMzUuOSAxNiA1NS42IDE2YzI4LjUgMCA1Mi41LTkuNSA3MC0yNS45IDIwLTE4LjYgMzEuNC00Ni4yIDMxLjQtNzguOSAwLTcuMy0uNi0xNC42LTEuOC0yMS44bC05OS43IDB6bTM4OS40LTRjLTEwLjEtOS40LTIzLjktMTQuMS00MS40LTE0LjEtMjIuNSAwLTM5LjMgOC4zLTUwLjUgMjQuOUw0MjQuMSAyMzVjNy42LTExLjMgMTguMS0xNyAzMS4zLTE3IDguNCAwIDE2LjUgMy4yIDIyLjcgOC44IDMgMi42IDUuNSA1LjkgNy4xIDkuNnMyLjUgNy42IDIuNSAxMS43bDAgNS41Yy05LjEtNS4xLTIwLjYtNy44LTM0LjYtNy44LTE2LjQgMC0yOS42IDMuOS0zOS41IDExLjhzLTE0LjggMTguMy0xNC44IDMxLjZjLS4yIDUuOSAxIDExLjggMy40IDE3LjJzNiAxMC4yIDEwLjUgMTQuMWM5LjIgOC4zIDIxIDEyLjUgMzQuOCAxMi41IDE2LjMgMCAyOS4yLTcuMyAzOS0yMS45bDEgMCAwIDE3LjcgMjIuNiAwIDAtNzguN2MuMS0xNi42LTQuOS0yOS43LTE1LTM5em0tMTkuMiA4OS4zYy0zLjUgMy41LTcuNiA2LjMtMTIuMiA4LjJzLTkuNSAyLjktMTQuNCAyLjljLTYuNyAuMS0xMy4xLTIuMS0xOC4zLTYuMi0yLjQtMS44LTQuNC00LjItNS43LTYuOXMtMi01LjctMi04LjdjMC03IDMuMi0xMi44IDkuNS0xNy40czE0LjUtNyAyNC4xLTdjMTMuMi0uMiAyMy41IDIuOCAzMC44IDguOCAwIDEwLjEtNCAxOC45LTExLjcgMjYuNHptLTkzLjctMTQyYy01LjMtNS4zLTExLjYtOS41LTE4LjYtMTIuM3MtMTQuNC00LjItMjEuOS00bC02Mi43IDAgMCAxODYuNyAyMy42IDAgMC03NS42IDM5IDBjMTYgMCAyOS41LTUuNCA0MC41LTE1LjkgLjktLjkgMS44LTEuOCAyLjYtMi43IDkuNi0xMC41IDE0LjgtMjQuNCAxNC4zLTM4LjZzLTYuNi0yNy43LTE2LjktMzcuNmwwIDB6bS0xNi42IDYyLjJjLTMgMy4yLTYuNiA1LjctMTAuNiA3LjRzLTguNCAyLjUtMTIuNyAyLjNsLTM5LjYgMCAwLTY1LjIgMzkuNiAwYzguNSAwIDE2LjYgMy4zIDIyLjYgOS4yIDYuMSA2LjEgOS42IDE0LjMgOS44IDIzcy0zLjEgMTctOSAyMy4zbDAgMHpNNjE0LjMgMjAxbC0zNi41IDkxLjctLjUgMC0zNy40LTkxLjctMjUuNyAwIDUxLjggMTE5LjYtMjkuNCA2NC4zIDI0LjMgMCA3OS0xODMuOS0yNS43IDB6Il19LEtsdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHBsZSIsaWNvbjpbMzg0LDUxMixbXSwiZjE3OSIsIk0zMTkuMSAyNjguN2MtLjItMzYuNyAxNi40LTY0LjQgNTAtODQuOC0xOC44LTI2LjktNDcuMi00MS43LTg0LjctNDQuNi0zNS41LTIuOC03NC4zIDIwLjctODguNSAyMC43LTE1IDAtNDkuNC0xOS43LTc2LjQtMTkuNy01NS44IC45LTExNS4xIDQ0LjUtMTE1LjEgMTMzLjIgMCAyNi4yIDQuOCA1My4zIDE0LjQgODEuMiAxMi44IDM2LjcgNTkgMTI2LjcgMTA3LjIgMTI1LjIgMjUuMi0uNiA0My0xNy45IDc1LjgtMTcuOSAzMS44IDAgNDguMyAxNy45IDc2LjQgMTcuOSA0OC42LS43IDkwLjQtODIuNSAxMDIuNi0xMTkuMy02NS4yLTMwLjctNjEuNy05MC02MS43LTkxLjl6TTI2Mi41IDEwNC41YzI3LjMtMzIuNCAyNC44LTYxLjkgMjQtNzIuNS0yNC4xIDEuNC01MiAxNi40LTY3LjkgMzQuOS0xNy41IDE5LjgtMjcuOCA0NC4zLTI1LjYgNzEuOSAyNi4xIDIgNDkuOS0xMS40IDY5LjUtMzQuM3oiXX0sZWN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InR1bWJsciIsaWNvbjpbMzIwLDUxMixbXSwiZjE3MyIsIk0zMDkuOSA0ODAuM2MtMTMuNiAxNC41LTUwIDMxLjctOTcuNCAzMS43LTEyMC44IDAtMTQ3LTg4LjgtMTQ3LTE0MC42bDAtMTQ0LTQ3LjUgMGMtNS41IDAtMTAtNC41LTEwLTEwbDAtNjhjMC03LjIgNC41LTEzLjYgMTEuMy0xNiA2Mi0yMS44IDgxLjUtNzYgODQuMy0xMTcuMSAuOC0xMSA2LjUtMTYuMyAxNi4xLTE2LjNsNzAuOSAwYzUuNSAwIDEwIDQuNSAxMCAxMGwwIDExNS4yIDgzIDBjNS41IDAgMTAgNC40IDEwIDkuOWwwIDgxLjdjMCA1LjUtNC41IDEwLTEwIDEwbC04My40IDAgMCAxMzMuMmMwIDM0LjIgMjMuNyA1My42IDY4IDM1LjggNC44LTEuOSA5LTMuMiAxMi43LTIuMiAzLjUgLjkgNS44IDMuNCA3LjQgNy45bDIyIDY0LjNjMS44IDUgMy4zIDEwLjYtLjQgMTQuNXoiXX0sdGN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBob2VuaXgtc3F1YWRyb24iLGljb246WzUxMiw1MTIsW10sImY1MTEiLCJNOTYgNjMuNGM0Ni41LTM2LjEgMTA1LjYtNTYuMSAxNjQuNS01NC42IDI5LjYtLjQgNTkuMSA1LjQgODYuOSAxNS4zLTI0LjEtNC42LTQ5LTYuMy03My40LTIuNS00Mi45IDUuMy04MyAyNy4yLTExMS44IDU5LjIgNS43LTEgMTAuOC0zLjcgMTYtNS45IDE4LjEtNy45IDM3LjUtMTMuMyA1Ny4yLTE0LjggMTkuNy0yLjEgMzkuNi0uNCA1OS4zIDEuOS0xNC40IDIuOC0yOS4xIDQuNi00MyA5LjYtMzQuNCAxMS4xLTY1LjMgMzMuMi04Ni4zIDYyLjYtMTMuOCAxOS43LTIzLjYgNDIuOS0yNC43IDY3LjEtLjQgMTYuNSA1LjIgMzQuOCAxOS44IDQ0IDExLjIgNi44IDI0LjYgOS4yIDM3LjUgNi43IDE1LjQtMi41IDMwLjEtOC42IDQzLjYtMTYuMyAxMS41LTYuOCAyMi43LTE0LjYgMzItMjQuMyAzLjgtMy4yIDIuNS04LjQgMi42LTEyLjgtMi4xLS4zLTQuNC0xLjEtNi4zIC4zLTExLjQgNi4zLTIzLjQgMTEuNC0zNS44IDE1LjQtMjAgNi4yLTQyLjIgOC41LTYyLjEgLjggMTIuOCAxLjcgMjYuMSAuMyAzNy43LTUuNCAyMC4yLTkuNyAzNi44LTI1LjIgNTQuNC0zOC44IDI3LjctMjEuMyA1Ny41LTM5LjkgODguOS01NS4zIDI1LjctMTIgNTIuOS0yMi44IDgxLjYtMjQuMS0xNS42IDEzLjctMzIuMSAyNi41LTQ2LjggNDEuNC0xNC41IDE0LTI3LjUgMjkuNS00MC4xIDQ1LjItMy41IDQuNi05IDYuOS0xMy42IDEwLjItMjIuNCAxNS00MC4zIDM1LjgtNTEuOSA2MC4xLTkuMyAxOS43LTE0LjUgNDEuOS0xMS44IDYzLjYgMS45IDEzLjcgOC43IDI3LjYgMjAuOSAzNC45IDEyLjkgOCAyOSA4LjEgNDMuNSA1LjEgMzIuOC03LjQgNjEuNC0yOC45IDgxLTU1LjggMjAuNC0yNy41IDMwLjUtNjIuMiAyOS4yLTk2LjMtLjUtNy41LTEuNi0xNS0xLjctMjIuNSA4IDE5LjUgMTQuOCAzOS43IDE2LjYgNjAuOCAyIDE0LjMgLjcgMjguOC0xLjYgNDIuOS0xLjkgMTEtNS43IDIxLjUtNy44IDMyLjQgMjAuNC0yMi45IDM0LTUwLjkgMzkuMy04MS4xIDUuNi0zNS41IC43LTcxLjktMTQuMi0xMDQuNiAyMC44IDMyIDMyLjMgNjkuNiAzNS43IDEwNy41IC41IDEyLjcgLjUgMjUuNSAwIDM4LjItMi44IDM0LjMtMTIuOSA2Ny42LTI5LjYgOTcuOC0yNi4xIDQ3LjMtNjggODUuNi0xMTcuMiAxMDgtNzguMyAzNi4yLTE3NC43IDMxLjMtMjQ4LTE0LjctMzktMjMuOC03MC42LTU4LTkxLjQtOTguNy0xNC43LTI4LjktMjMuMy02MC41LTI1LjQtOTIuOWwwLTMxLjNDMy45IDE3MiA0MC45IDEwNS44IDk2IDYzLjR6bTIyMiA4MC4zYzUuNS0uOSAxMC44LTIuNCAxNi00LjUgNS0xLjggOS4yLTUuOSAxMC4zLTExLjItOSA1LTE4IDkuOS0yNi4zIDE1Ljd6Il19LHJjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjZW50ZXJjb2RlIixpY29uOls1MTIsNTEyLFtdLCJmMzgwIiwiTTIwMS44IDI1NC44YTY0LjEgNjQuMSAwIDEgMSAxMjcuNCAxMy44IDY0LjEgNjQuMSAwIDEgMSAtMTI3LjQtMTMuOHptNDEuNiAyNDguOUM5Ni43IDQ5Ni04LjIgMzY1LjUgMTAuMSAyMjQuMyAyMS4zIDEzNy43IDc1LjkgNjcuNCAxNDkuMiAzMi4zIDMxMC4yLTQ0LjggNDk4LjkgNjkuNyA1MDMuOSAyNDguOSA1MDggMzk1LjkgMzg1LjUgNTExLjEgMjQzLjQgNTAzLjd6bTE3OS45LTE4MGMyNy45LTExOC0xNjAuNS0yMDUuOS0yMzcuMi0yMzQuMi01Ny41IDU2LjMtNjkuMSAxODguNi0zMy44IDM0NC40IDY4LjggMTUuOCAxNjkuMS0yNi40IDI3MS0xMTAuMnoiXX0sYWN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRlYmlhbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTYwYiIsIk0zODAuNCAyNDUuNmMzLTcuNiA1LjUtMTQgNS4yLTI0LjRsLTQuMyA5YzQuNC0xMy4yIDQtMjcuMSAzLjYtNDAuNC0uMi02LS4zLTExLjggMC0xNy40bC0xLjgtLjVjLTEuNS00NS4yLTQwLjYtOTMuMS03NS4zLTEwOS40LTMwLTEzLjgtNzYuMS0xNi4yLTk3LjMtNS44IDEuMy0xLjEgNC4yLTIgNi44LTIuN2wuMy0uMWMzLjMtMSA2LTEuNyA0LTIuOS0xOS4yIDEuOS0yNC45IDUuNS0zMS4xIDkuNGwtLjEgMGMtNC42IDIuOS05LjUgNi0yMC4zIDguNy0zLjUgMy40IDEuNyAyIDUuOCAuOXM3LjItMS45LS4xIDIuNGMtMy41IDEtNi42IDEuMy05LjYgMS42bC0uMSAwYy04LjMgLjgtMTUuOCAxLjYtMzAuNyAxNyAuOCAxLjMgMy40LS4yIDUuMy0xLjNsLjEtLjFjMi4zLTEuNCAzLjQtMi0xLjcgNC40LTE5LjEtMi40LTYwLjMgNDMuNy02OS4xIDU5bDQuNiAuOGMtMy4yIDgtNi44IDE0LjgtMTAgMjAuOC00LjMgOC4xLTcuOSAxNC45LTguNyAyMS4zLS4zIDUuMS0xIDExLTEuNyAxNy4zLS4xIDEtLjIgMi0uMyAzbC0uMSAuNmMtMyAyNy4zLTYuNyA2MC44IDMuOSA3M2wtMS4zIDEzYy42IDEuMiAxLjEgMi4zIDEuNiAzLjUgLjIgLjQgLjQgLjggLjUgMS4xIDEgMi4xIDIgNC4yIDMuMyA2LjJsLTMgLjJjNyAyMi4xIDEwLjggMjIuNSAxNS4xIDIyLjkgNC40IC40IDkuMyAuOSAxOC43IDI0LjItMi43LS45LTUuNS0xLjktOS40LTcuMi0uNSA0LjEgNS44IDE2LjMgMTMuMSAyNS44bC0zLjEgMy42YzIuMSAzLjcgNC44IDYuMiA3LjYgOC44IDEgLjkgMi4xIDEuOSAzLjEgMi45LTExLjktNi41IDMuMiAxMy43IDExLjkgMjUuMiAuOCAxLjEgMS41IDIgMi4yIDIuOSAxLjQgMS45IDIuNSAzLjQgMi45IDQuMWwyLjQtNC4yYy0uMyA2LjEgNC4zIDEzLjkgMTMuMSAyNC43bDcuMy0uM2MzIDYgMTQgMTYuNyAyMC43IDE3LjJsLTQuNCA1LjhjOC4xIDIuNiAxMC4zIDQuMyAxMi43IDYuMiAyLjYgMi4xIDUuNCA0LjMgMTYuMSA4LjFsLTQuMi03LjRjMy41IDMgNi4yIDUuOSA4LjggOC43bC4xIC4xYzUuMiA1LjYgOS45IDEwLjYgMTkuNyAxNS4zIDEwLjcgMy43IDE2LjYgNC43IDIyLjcgNS44IC4zIDAgLjYgLjEgLjkgLjEgNS40IC44IDExLjIgMS44IDIwLjggNC41LTEuMS0uMS0yLjItLjEtMy4zLS4xLTIuMy0uMS00LjctLjEtNy0uMS0xNC40LS4yLTI5LjItLjQtNDIuNy01LjItOTYuNi0yNS43LTE4NC45LTEzOS0xNzguNC0yNTUuNi0uNi05LjktLjMtMjAuOSAwLTMwLjcgLjQtMTMuNSAuNy0yNC44LTEuNi0yOC4zbDEtMy4xYzUuMy0xNy40IDExLjctMzguMiAyMy44LTYyLjhsLS4xLS4yIDAtLjFjLjQgLjQgMy40IDMuNCA4LjgtNS44IC44LTEuOCAxLjYtMy43IDIuNC01LjYgLjUtMS4xIC45LTIuMiAxLjQtMy4yIDIuNS02LjEgNS4xLTEyLjMgOC40LTE3LjlsMi42LS42YzEuNy0xMC4xIDE3LTIzLjggMjkuOC0zNS4ybDEuMS0xYzUuNy01LjEgMTAuNy05LjcgMTMuNi0xMy4xbC43IDQuNGMxNy0xNS45IDQ0LjYtMjcuNSA2NS42LTM2LjRsLjUtLjJjNC44LTIgOS4zLTMuOSAxMy4zLTUuNy0zLjQgMy44IDIuMiAyLjcgMTAgMSA0LjgtMSAxMC40LTIuMSAxNS4zLTIuNGwtMy45IDIuMWMtMi43IDEuNC01LjQgMi44LTggNC42IDguMS0yIDExLjctMS40IDE1LjctLjhsLjMgMGMzLjUgLjYgNy4zIDEuMiAxNC42IC4yLTUuNiAuOC0xMi4zIDMtMTEuMiAzLjggNy45IC45IDEyLjgtLjEgMTcuMi0xbC4yIDBjNS41LTEuMSAxMC4zLTIgMTkuMyAuOWwtMS00LjhjNy4zIDIuNiAxMi43IDQuMyAxNy41IDUuOGwuNSAuMWMxMCAzIDE3LjYgNS4zIDM0LjIgMTQuMSAzLjIgLjIgNS4zLS41IDcuNC0xLjJsLjEgMGMzLjYtMS4xIDctMi4xIDE1LjIgMS4yIC4zIC41IC41IDEgLjcgMS40IC4xIC4yIC4yIC41IC4zIC43bDAgLjFjMSAyLjYgMS44IDQuNiAxNC42IDEyLjEgMS43LS43LTIuNy00LjctNi40LTguMmwtLjEtLjFjLS4yLS4xLS4zLS4zLS41LS40IDMyLjIgMTcuMyA2Ny4zIDU0LjEgNzggOTMuNS02LTExLjEtNS4yLTUuNS00LjMgLjUgLjYgNCAxLjIgOC4xLS4yIDcuNSA0LjUgMTIuMSA4LjEgMjQuNSAxMC40IDM3LjRsLS44LTIuOS0uMS0uM2MtMy4zLTExLjktOS42LTM0LjMtMTkuOS00OS4zLS40IDQuMy0yLjggMy45LTUuMiAzLjVsLS4xIDBjLTMuMy0uNi02LjItMS4xLTEuOSAxMi42IDIuNiAzLjggMy4xIDIuNCAzLjUgMS4xIC41LTEuNSAuOS0yLjcgNC43IDUuMiAuMSA0LjEgMSA4LjIgMi4xIDEyLjdsLjEgLjZjLjEgLjMgLjEgLjUgLjIgLjhsLjEgLjZjLjYgMi42IDEuMyA1LjQgMS44IDguNC0xLjEtLjItMi4zLTIuMi0zLjQtNC4yLTEuNC0yLjQtMi44LTQuNy0zLjctMy4yIDIuNCAxMS41IDYuNSAxNy40IDggMTguMy0uMyAuNi0uNiAuNy0xLjEgLjctLjggMC0xLjggLjEtMS45IDUuMyAuNyAxMy43IDMuMyAxMi41IDUuMyAxMS42IC42LS4zIDEuMi0uNiAxLjctLjQtLjYgMi41LTEuNiA1LjEtMi43IDcuOS0yLjggNy4xLTYgMTUuNC0zLjQgMjYuMS0uOC0zLTItNi0zLjEtOC45bC0uMS0uNGMtLjItLjUtLjQtMS0uNi0xLjUtLjMtLjgtLjYtMS42LS45LTIuMy0uNiA0LjQtLjMgNy43LS4xIDEwLjZsMCAuN2MuNCA1LjMgLjcgMTAtMyAxOS45IDQuMy0xNC4yIDMuOC0yNi45LS4yLTIwLjggMSAxMC45LTMuNyAyMC40LTggMjguOWwtLjEgLjJjLTMuNiA3LjEtNi44IDEzLjUtNS45IDE5LjNsLTUuMi03LjFjLTcuNSAxMC45LTcgMTMuMy02LjUgMTUuNWwwIC4xYy41IDEuOSAxIDMuOC0zLjQgMTAuOCAxLjctMi45IDEuMy0zLjYgMS00LjItLjQtLjgtLjctMS41IDEuNy01LjEtMS42IC4xLTUuNSAzLjktMTAuMSA4LjUtMy45IDMuOS04LjUgOC40LTEyLjggMTEuOC0zNy41IDMwLjEtODIuMyAzNC0xMjUuNiAxNy44IC4yLTEtLjItMi4xLTMuMS00LjEtMzYuOC0yOC4yLTU4LjUtNTIuMS01MC45LTEwNy41IDIuMS0xLjYgMy42LTUuOCA1LjMtMTAuOGwuMi0uNCAuMS0uMyAwLS4xYzIuOS04LjQgNi41LTE4LjggMTQuMy0yMy44IDcuOC0xNy4zIDMxLjMtMzMuMyA1Ni40LTMzLjcgMjUuNi0xLjQgNDcuMiAxMy43IDU4LjEgMjcuOS0xOS44LTE4LjQtNTIuMS0yNC03OS43LTEwLjQtMjguMiAxMi43LTQ1IDQzLjgtNDIuNSA3NC43IC4zLS40IC42LS42IC45LS44bC4yLS4yYy42LS41IDEuMS0uOSAxLjQtMy4zLS45IDYwLjIgNjQuOCAxMDQuMyAxMTIuMSA4MmwuNiAxLjNjMTIuNy0zLjUgMTUuOS02LjUgMjAuMy0xMC43bC4xLS4xYzIuMi0yLjEgNC43LTQuNSA4LjktNy4zLS4zIC43LTEuMyAxLjctMi40IDIuNy0yLjIgMi4xLTQuNiA0LjUtMS42IDQuNiA1LTEuMyAxOC41LTEzLjQgMjguNS0yMi4zIC42LS41IDEuMi0xIDEuNy0xLjUgMS41LTEuMyAyLjgtMi41IDQtMy42bC4zLS4zYzEuOS00LjIgMS42LTUuNiAxLjMtN2wwLS4xYy0uNC0xLjYtLjgtMy4zIDIuNC05LjZsNy4zLTMuN2MuOC0yLjEgMS41LTQuMSAyLjItNiAuMi0uNiAuNS0xLjIgLjctMS44bC0uNC0uMi0uMS0uMXpNMjQ4IDMzNC4xYy02LTMtMTMuNy04LjktMTQuOC0xMS40bC0uNCAuM2MtLjMgLjYtLjUgMS4zLS4yIDIuMi0xMi4yLTUuNy0yMy40LTE0LjMtMzIuNi0yNC45IDQuOSA3LjEgMTAuMSAxNC4xIDE3IDE5LjUtNi45LTIuMy0xNS4xLTExLjgtMjEuNi0xOS4zbC0uMS0uMWMtNC4zLTUtNy45LTkuMS05LjctOS41IDE5LjggMzUuNSA4MC41IDYyLjMgMTEyLjMgNDktMTQuNyAuNS0zMy40IC4zLTQ5LjktNS44em03OS4zLTExOS43bC0uMS0uMmMtLjUtMS41LTEuMS0zLjEtMS43LTMuNCAxLjQtNS44IDUuNC0xMC43IDQuNCA0LjYtMSAzLjgtMS44IDEuNS0yLjYtMXptLTQuMiAyMi4yYy0xLjMgNy45LTUgMTUuNS0xMC4xIDIyLjUgLjItMi0xLjItMi40LTIuNi0yLjgtMi45LS44LTUuOS0xLjYgNS42LTE2LjEtLjUgMS45LTIuMSA0LjYtMy43IDcuM2wtLjMgLjRjLTMuNiA1LjktNi43IDExIDQgNC4zbDEtMS44YzIuNi00LjUgNS04LjggNi0xMy44bC4xIDB6bS01NS42IDMzLjljNy4xIC42IDE0LjEgLjYgMjEtMS4xLTIuNSAyLjQtNS4yIDQuOC04LjMgNy4yLTExLjEtMS43LTIxLjItNi0xMi43LTYuMXptLTkyLjYgMTEuNmMzLjYgNy4xIDYuNCAxMS41IDkgMTUuN2wuMSAuMmMyLjMgMy43IDQuNCA3LjEgNi44IDExLjctNS4xLTQuMi04LjctOS41LTEyLjUtMTVsLS4zLS41Yy0xLjQtMi4xLTIuOC00LjItNC40LTYuMmwxLjItNS45IC4xIDB6bTcuNS05LjZjMS42IDMuMyAzLjIgNi40IDUuNyA5LjFsMi42IDcuNy0xLjMtMi4xYy0zLjItNS4zLTYuMy0xMC42LTgtMTYuN2wxIDJ6bTIzOC45LTQxLjZjLTIuMyAxNy40LTcuNyAzNC42LTE2IDUwLjMgNy42LTE0LjkgMTIuNS0zMC45IDE0LjgtNDcuMmwxLjItMy4xek0zNS44IDExMC42Yy40IC44IDEuNCAuNSAyLjMgLjMgMS45LS41IDMuNi0uOS0uMSA3LjYtLjUgLjMtMSAuNy0xLjUgMS0xLjQgLjktMi44IDEuOS0zLjkgMyAxLjktMy44IDMuNS03LjQgMy4yLTExLjl6TTI1LjUgMTUyLjNjLS43IDMuNy0xLjUgNy45LTMuNCAxMy45IC4yLTEuOSAwLTMuNS0uMi00LjlsMC0uMWMtLjQtMy40LS43LTYuMyA0LjMtMTIuOC0uMyAxLjItLjUgMi41LS43IDMuOGwwIC4xeiJdfSxpY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFzdG9kb24iLGljb246WzQ0OCw1MTIsW10sImY0ZjYiLCJNNDMzIDE3OS4xYzAtOTcuMi02My43LTEyNS43LTYzLjctMTI1LjctNjIuNS0yOC43LTIyOC42LTI4LjQtMjkwLjUgMCAwIDAtNjMuNyAyOC41LTYzLjcgMTI1LjcgMCAxMTUuNy02LjYgMjU5LjQgMTA1LjYgMjg5LjEgNDAuNSAxMC43IDc1LjMgMTMgMTAzLjMgMTEuNCA1MC44LTIuOCA3OS4zLTE4LjEgNzkuMy0xOC4xbC0xLjctMzYuOXMtMzYuMyAxMS40LTc3LjEgMTAuMWMtNDAuNC0xLjQtODMtNC40LTg5LjYtNTQtLjYtNC42LS45LTkuMy0uOS0xMy45IDg1LjYgMjAuOSAxNTguNyA5LjEgMTc4LjcgNi43IDU2LjEtNi43IDEwNS00MS4zIDExMS4yLTcyLjkgOS44LTQ5LjggOS0xMjEuNSA5LTEyMS41ek0zNTcuOSAzMDQuM2wtNDYuNiAwIDAtMTE0LjJjMC00OS43LTY0LTUxLjYtNjQgNi45bDAgNjIuNS00Ni4zIDAgMC02Mi41YzAtNTguNS02NC01Ni42LTY0LTYuOWwwIDExNC4yLTQ2LjcgMGMwLTEyMi4xLTUuMi0xNDcuOSAxOC40LTE3NSAyNS45LTI4LjkgNzkuOC0zMC44IDEwMy44IDYuMWwxMS42IDE5LjUgMTEuNi0xOS41YzI0LjEtMzcuMSA3OC4xLTM0LjggMTAzLjgtNi4xIDIzLjcgMjcuMyAxOC40IDUzIDE4LjQgMTc1bDAgMHoiXX0sbmN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNrZXRjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjdjNiIsIk0yNy44IDE2Mi4ybC0xOC41IDI0LjkgOTAuNSAwIDYuOS0xMzAuNy03OC45IDEwNS44ek0zOTYuNiA0NS43TDI2OCAzMiA0MDMuNyAxNzkuMiAzOTYuNiA0NS43ek0xMTIuNSAyMTguM2wtMTEuMi0yMi05MS4xIDAgMjI0LjkgMjYxLjctMTIyLjYtMjM5Ljd6bTItMzEuMmwyODQgMEMzNDAuNiAxMjQuMyAyOTMuMyA3Mi45IDI1Ni42IDMzTDExNC41IDE4Ny4xem0yOTcuMyA5LjFsLTEzMy45IDI2MS44IDIyNC44LTI2MS43LTkwLjkgMCAwLS4xek00MTUuNyA2OWwtOS40LTEyLjYgLjkgMTcuMyA2LjEgMTEzLjQgOTAuMyAwLTg3LjktMTE4LjF6TTExMy44IDkzLjVMMTA5LjIgMTc5LjEgMjQ1IDMyIDExNi40IDQ1LjcgMTEzLjggOTMuNXpNNDAxLjUgMTk2LjJsLTI5MCAwYzE4LjIgMzUuNiA2Ni42IDEzMC4yIDE0NS4xIDI4My44TDQwMS41IDE5Ni4yeiJdfSxzY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2ViLWF3ZXNvbWUiLGljb246WzY0MCw1MTIsW10sImU2ODIiLCJNMzcyLjIgNTJjMCAyMC45LTEyLjQgMzktMzAuMiA0Ny4yTDQ0OCAxOTIgNTUyLjQgMTcxLjFjLTUuMy03LjctOC40LTE3LjEtOC40LTI3LjEgMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGMwIDI2LTIwLjYgNDcuMS00Ni40IDQ4TDQ4MSA0NDIuM2MtMTAuMyAyMy0zMy4yIDM3LjctNTguNCAzNy43bC0yMDUuMiAwYy0yNS4yIDAtNDgtMTQuOC01OC40LTM3LjdMNDYuNCAxOTJDMjAuNiAxOTEuMSAwIDE3MCAwIDE0NCAwIDExNy41IDIxLjUgOTYgNDggOTZzNDggMjEuNSA0OCA0OGMwIDEwLjEtMy4xIDE5LjQtOC40IDI3LjFMMTkyIDE5MiAyOTguMSA5OS4xYy0xNy43LTguMy0zMC0yNi4zLTMwLTQ3LjEgMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MmwuMSAweiJdfSxvY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2FzcyIsaWNvbjpbNjQwLDUxMixbXSwiZjQxZSIsIk0zMDEuOCAzNzguOWwwIDB6bTI0OS4xLTg3Yy0yMC4xIDAtNDAgNC42LTU4IDEzLjUtNS45LTExLjktMTItMjIuMy0xMy0zMC4xLTEuMi05LjEtMi41LTE0LjUtMS4xLTI1LjNzNy43LTI2LjEgNy42LTI3LjItMS40LTYuNi0xNC4zLTYuNy0yNCAyLjUtMjUuMyA1LjljLTIuMyA2LjItNC4xIDEyLjYtNS4zIDE5LjEtMi4zIDExLjctMjUuOCA1My41LTM5LjEgNzUuMy00LjQtOC41LTguMS0xNi04LjktMjItMS4yLTkuMS0yLjUtMTQuNS0xLjEtMjUuM3M3LjctMjYuMSA3LjYtMjcuMi0xLjQtNi42LTE0LjMtNi43LTI0IDIuNS0yNS4zIDUuOS0yLjcgMTEuNC01LjMgMTkuMS0zMy45IDc3LjMtNDIuMSA5NS40Yy00LjIgOS4yLTcuOCAxNi42LTEwLjQgMjEuNi0uNCAuOC0uNyAxLjMtLjkgMS43IC4zLS41IC41LTEgLjUtLjgtMi4yIDQuMy0zLjUgNi43LTMuNSA2LjdsMCAuMWMtMS43IDMuMi0zLjYgNi4xLTQuNSA2LjEtLjYgMC0xLjktOC40IC4zLTE5LjkgNC43LTI0LjIgMTUuOC02MS44IDE1LjctNjMuMS0uMS0uNyAyLjEtNy4yLTcuMy0xMC43LTkuMS0zLjMtMTIuNCAyLjItMTMuMiAyLjJzLTEuNCAyLTEuNCAyIDEwLjEtNDIuNC0xOS40LTQyLjRjLTE4LjQgMC00NCAyMC4yLTU2LjYgMzguNS03LjkgNC4zLTI1IDEzLjYtNDMgMjMuNS02LjkgMy44LTE0IDcuNy0yMC43IDExLjQtLjUtLjUtLjktMS0xLjQtMS41LTM1LjgtMzguMi0xMDEuOS02NS4yLTk5LjEtMTE2LjUgMS0xOC43IDcuNS02Ny44IDEyNy4xLTEyNy40IDk4LTQ4LjggMTc2LjMtMzUuNCAxODkuOC01LjYgMTkuNCA0Mi41LTQxLjkgMTIxLjYtMTQzLjcgMTMzLTM4LjggNC4zLTU5LjItMTAuNy02NC4zLTE2LjMtNS4zLTUuOS02LjEtNi4yLTguMS01LjEtMy4zIDEuOC0xLjIgNyAwIDEwLjEgMyA3LjkgMTUuNSAyMS45IDM2LjggMjguOSAxOC43IDYuMSA2NC4yIDkuNSAxMTkuMi0xMS44IDYxLjgtMjMuOCAxMDkuOS05MC4xIDk1LjgtMTQ1LjYtMTQuNC01Ni40LTEwNy45LTc0LjktMTk2LjMtNDMuNS01Mi43IDE4LjctMTA5LjcgNDguMS0xNTAuNyA4Ni40LTQ4LjcgNDUuNi01Ni41IDg1LjMtNTMuMyAxMDEuOSAxMS40IDU4LjkgOTIuNiA5Ny4zIDEyNS4xIDEyNS43LTEuNiAuOS0zLjEgMS43LTQuNSAyLjUtMTYuMyA4LjEtNzguMiA0MC41LTkzLjcgNzQuNy0xNy41IDM4LjggMi45IDY2LjYgMTYuMyA3MC40IDQxLjggMTEuNiA4NC42LTkuMyAxMDcuNi00My42czIwLjItNzkuMSA5LjYtOTkuNWMtLjEtLjMtLjMtLjUtLjQtLjggNC4yLTIuNSA4LjUtNSAxMi44LTcuNSA4LjMtNC45IDE2LjQtOS40IDIzLjUtMTMuMy00IDEwLjgtNi45IDIzLjgtOC40IDQyLjYtMS44IDIyIDcuMyA1MC41IDE5LjEgNjEuNyA1LjIgNC45IDExLjUgNSAxNS40IDUgMTMuOCAwIDIwLTExLjQgMjYuOS0yNSA4LjUtMTYuNiAxNi0zNS45IDE2LTM1LjlzLTkuNCA1Mi4yIDE2LjMgNTIuMmM5LjQgMCAxOC44LTEyLjEgMjMtMTguM2wwIC4xcy4yLS40IC43LTEuMmMxLTEuNSAxLjUtMi40IDEuNS0yLjRsMC0uM2MzLjgtNi41IDEyLjEtMjEuNCAyNC42LTQ2IDE2LjItMzEuOCAzMS43LTcxLjUgMzEuNy03MS41IDEuNSA4LjcgMy42IDE3LjMgNi4yIDI1LjggMi44IDkuNSA4LjcgMTkuOSAxMy40IDMwLTMuOCA1LjItNi4xIDguMi02LjEgOC4yIDAgLjEgMCAuMSAuMSAuMi0zIDQtNi40IDguMy05LjkgMTIuNS0xMi44IDE1LjItMjggMzIuNi0zMCAzNy42LTIuNCA1LjktMS44IDEwLjMgMi44IDEzLjcgMy40IDIuNiA5LjQgMyAxNS43IDIuNSAxMS41LS44IDE5LjYtMy42IDIzLjUtNS40IDcuMi0yLjYgMTQtNi4xIDIwLjItMTAuNiAxMi41LTkuMiAyMC4xLTIyLjQgMTkuNC0zOS44LS40LTkuNi0zLjUtMTkuMi03LjMtMjguMiAxLjEtMS42IDIuMy0zLjMgMy40LTUgMTkuOC0yOC45IDM1LjEtNjAuNiAzNS4xLTYwLjYgMS41IDguNyAzLjYgMTcuMyA2LjIgMjUuOCAyLjQgOC4xIDcuMSAxNyAxMS40IDI1LjctMTguNiAxNS4xLTMwLjEgMzIuNi0zNC4xIDQ0LjEtNy40IDIxLjMtMS42IDMwLjkgOS4zIDMzLjEgNC45IDEgMTEuOS0xLjMgMTcuMS0zLjUgNy43LTIuNiAxNS02LjMgMjEuNi0xMS4xIDEyLjUtOS4yIDI0LjYtMjIuMSAyMy44LTM5LjYtLjMtNy45LTIuNS0xNS44LTUuNC0yMy40IDE1LjctNi42IDM2LjEtMTAuMiA2Mi4xLTcuMiA1NS43IDYuNSA2Ni42IDQxLjMgNjQuNSA1NS44cy0xMy44IDIyLjYtMTcuNyAyNS01LjEgMy4zLTQuOCA1LjFjLjUgMi42IDIuMyAyLjUgNS42IDEuOSA0LjYtLjggMjkuMi0xMS44IDMwLjMtMzguNyAxLjYtMzQtMzEuMS03MS40LTg5LTcxLjFsMCAwek0xMjEuOCA0MzYuNmMtMTguNCAyMC4xLTQ0LjIgMjcuNy01NS4zIDIxLjMtMTEuOS02LjktNy4yLTM2LjUgMTUuNS01Ny45IDEzLjgtMTMgMzEuNi0yNSA0My40LTMyLjQgMi43LTEuNiA2LjYtNCAxMS40LTYuOSAuOC0uNSAxLjItLjcgMS4yLS43IC45LS42IDEuOS0xLjEgMi45LTEuNyA4LjMgMzAuNCAuMyA1Ny4yLTE5LjEgNzguM2wwIDB6bTEzNC40LTkxLjRjLTYuNCAxNS43LTE5LjkgNTUuNy0yOC4xIDUzLjYtNy0xLjgtMTEuMy0zMi4zLTEuNC02Mi4zIDUtMTUuMSAxNS42LTMzLjEgMjEuOS00MC4xIDEwLjEtMTEuMyAyMS4yLTE0LjkgMjMuOC0xMC40IDMuNSA1LjktMTIuMiA0OS40LTE2LjIgNTkuMnptMTExIDUzYy0yLjcgMS40LTUuMiAyLjMtNi40IDEuNi0uOS0uNSAxLjEtMi40IDEuMS0yLjRzMTMuOS0xNC45IDE5LjQtMjEuN2MzLjItNCA2LjktOC43IDEwLjktMTMuOSAwIC41IC4xIDEgLjEgMS42LS4xIDE3LjktMTcuMyAzMC0yNS4xIDM0LjhsMCAwem04NS42LTE5LjVjLTItMS40LTEuNy02LjEgNS0yMC43IDIuNi01LjcgOC42LTE1LjMgMTktMjQuNSAxLjIgMy41IDEuOCA3LjEgMS45IDEwLjgtLjEgMjIuNS0xNi4yIDMwLjktMjUuOSAzNC40bDAgMHoiXX0sbGN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRocmVlbWEiLGljb246WzM4NCw1MTIsW10sImU4NWYiLCJNODcuNCA0NDUuMWMxOC41IDAgMzMuNSAxNSAzMy41IDMzLjRTMTA1LjkgNTEyIDg3LjQgNTEyIDU0IDQ5NyA1NCA0NzguNSA2OSA0NDUuMSA4Ny40IDQ0NS4xem0xMDkuMiAwYzE4LjUgMCAzMy41IDE1IDMzLjUgMzMuNHMtMTUgMzMuNS0zMy41IDMzLjUtMzMuNC0xNS0zMy40LTMzLjUgMTUtMzMuNCAzMy40LTMzLjR6bTEwOS4zIDBjMTguNSAwIDMzLjUgMTUgMzMuNSAzMy40cy0xNSAzMy41LTMzLjUgMzMuNS0zMy41LTE1LTMzLjUtMzMuNSAxNS0zMy40IDMzLjUtMzMuNHpNMTkyLjMgLjNjMTA5LjggMCAxOTkuMiA4OS4zIDE5OS4yIDE5OS4xUzMwMi4yIDM5OC41IDE5Mi40IDM5OC41Yy00MC41IDAtNzguMS0xMi4xLTEwOS42LTMyLjlsLTc2LjUgMjQuNSAyNC44LTc0QzcuMyAyODMuNC02LjggMjQzLTYuOCAxOTkuNC02LjggODkuNyA4Mi41IC4zIDE5Mi4zIC4zem0uMSA5My43Yy0zMS42IDAtNTcuMyAyNS44LTU3LjMgNTcuM2wwIDI2LjctMS44IDBjLTEwIDAtMTggOC0xOCAxOGwwIDcyLjNjMCAxMCA4IDE4IDE4IDE4bDExOC4xIDBjMTAgMCAxOC04IDE4LTE4bC4xIDAgMC03Mi4zYzAtMTAtOC4xLTE4LTE4LTE4bC0xLjggMCAwLTI2LjdjMC0zMS42LTI1LjgtNTcuMy01Ny4zLTU3LjN6bS0uMSAyMy41YzE4LjYgMCAzMy44IDE1LjEgMzMuOCAzMy44bDAgMjYuNy02Ny42IDAgMC0yNi43YzAtMTguNiAxNS4xLTMzLjggMzMuOC0zMy44eiJdfSxGMWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXdoYXRzYXBwIixpY29uOls0NDgsNTEyLFsid2hhdHNhcHAtc3F1YXJlIl0sImY0MGMiLCJNOTIuMSAyNTQuNmMwIDI0LjkgNyA0OS4yIDIwLjIgNzAuMWwzLjEgNS0xMy4zIDQ4LjYgNDkuOS0xMy4xIDQuOCAyLjljMjAuMiAxMiA0My40IDE4LjQgNjcuMSAxOC40bC4xIDBjNzIuNiAwIDEzMy4zLTU5LjEgMTMzLjMtMTMxLjggMC0zNS4yLTE1LjItNjguMy00MC4xLTkzLjItMjUtMjUtNTgtMzguNy05My4yLTM4LjctNzIuNyAwLTEzMS44IDU5LjEtMTMxLjkgMTMxLjh6TTI3NC44IDMzMGMtMTIuNiAxLjktMjIuNCAuOS00Ny41LTkuOS0zNi44LTE1LjktNjEuOC01MS41LTY2LjktNTguNy0uNC0uNi0uNy0uOS0uOC0xLjEtMi0yLjYtMTYuMi0yMS41LTE2LjItNDEgMC0xOC40IDktMjcuOSAxMy4yLTMyLjMgLjMtLjMgLjUtLjUgLjctLjggMy42LTQgNy45LTUgMTAuNi01IDIuNiAwIDUuMyAwIDcuNiAuMWwuOCAwYzIuMyAwIDUuMiAwIDguMSA2LjggMS4yIDIuOSAzIDcuMyA0LjkgMTEuOCAzLjMgOCA2LjcgMTYuMyA3LjMgMTcuNiAxIDIgMS43IDQuMyAuMyA2LjktMy40IDYuOC02LjkgMTAuNC05LjMgMTMtMy4xIDMuMi00LjUgNC43LTIuMyA4LjYgMTUuMyAyNi4zIDMwLjYgMzUuNCA1My45IDQ3LjEgNCAyIDYuMyAxLjcgOC42LTEgMi4zLTIuNiA5LjktMTEuNiAxMi41LTE1LjUgMi42LTQgNS4zLTMuMyA4LjktMnMyMy4xIDEwLjkgMjcuMSAxMi45Yy44IC40IDEuNSAuNyAyLjEgMSAyLjggMS40IDQuNyAyLjMgNS41IDMuNiAuOSAxLjkgLjkgOS45LTIuNCAxOS4xLTMuMyA5LjMtMTkuMSAxNy43LTI2LjcgMTguOHpNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTE0OC4xIDM5My45TDY0IDQxNiA4Ni41IDMzMy44Yy0xMy45LTI0LTIxLjItNTEuMy0yMS4yLTc5LjMgLjEtODcuNCA3MS4yLTE1OC41IDE1OC42LTE1OC41IDQyLjQgMCA4Mi4yIDE2LjUgMTEyLjIgNDYuNSAyOS45IDMwIDQ3LjkgNjkuOCA0Ny45IDExMi4yIDAgODcuNC03Mi43IDE1OC41LTE2MC4xIDE1OC41LTI2LjYgMC01Mi43LTYuNy03NS44LTE5LjN6Il19LGNjdD1GMWUsZGN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNreXBlIixpY29uOls0NDgsNTEyLFtdLCJmMTdlIiwiTTQyNC43IDI5OS44YzIuOS0xNCA0LjctMjguOSA0LjctNDMuOCAwLTExMy41LTkxLjktMjA1LjMtMjA1LjMtMjA1LjMtMTQuOSAwLTI5LjcgMS43LTQzLjggNC43LTE5LTE0LjctNDIuNi0yMy40LTY4LjMtMjMuNC02MS44IDAtMTEyIDUwLjItMTEyIDExMiAwIDI1LjcgOC43IDQ5LjMgMjMuMyA2OC4yLTIuOSAxNC00LjcgMjguOS00LjcgNDMuOCAwIDExMy41IDkxLjkgMjA1LjMgMjA1LjMgMjA1LjMgMTQuOSAwIDI5LjctMS43IDQzLjgtNC43IDE5IDE0LjYgNDIuNiAyMy4zIDY4LjIgMjMuMyA2MS44IDAgMTEyLTUwLjIgMTEyLTExMiAuMS0yNS42LTguNi00OS4yLTIzLjItNjguMXpNMjMwLjEgMzkxLjNjLTY1LjYgMC0xMjAuNS0yOS4yLTEyMC41LTY1IDAtMTYgOS0zMC42IDI5LjUtMzAuNiAzMS4yIDAgMzQuMSA0NC45IDg4LjEgNDQuOSAyNS43IDAgNDIuMy0xMS40IDQyLjMtMjYuMyAwLTE4LjctMTYtMjEuNi00Mi0yOC02Mi41LTE1LjQtMTE3LjgtMjItMTE3LjgtODcuMiAwLTU5LjIgNTguNi04MS4xIDEwOS4xLTgxLjEgNTUuMSAwIDExMC44IDIxLjkgMTEwLjggNTUuNCAwIDE2LjktMTEuNCAzMS44LTMwLjMgMzEuOC0yOC4zIDAtMjkuMi0zMy41LTc1LTMzLjUtMjUuNyAwLTQyIDctNDIgMjIuNSAwIDE5LjggMjAuOCAyMS44IDY5LjEgMzMgNDEuNCA5LjMgOTAuNyAyNi44IDkwLjcgNzcuNiAwIDU5LjEtNTcuMSA4Ni41LTExMiA4Ni41eiJdfSx1Y3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW5ndWxhciIsaWNvbjpbNDQ4LDUxMixbXSwiZjQyMCIsIk0xODUuNyAyNjguMWw3Ni4yIDAtMzguMS05MS42LTM4LjEgOTEuNnpNMjIzLjggMzJMMTYgMTA2LjQgNDcuOCAzODIuMSAyMjMuOCA0ODAgMzk5LjggMzgyLjEgNDMxLjYgMTA2LjQgMjIzLjggMzJ6TTM1NCAzNzMuOGwtNDguNiAwLTI2LjItNjUuNC0xMTAuNiAwLTI2LjIgNjUuNC00OC43IDAgMTMwLjEtMjkyLjMgMTMwLjIgMjkyLjN6Il19LHBjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjaXJjbGUtenVsaXAiLGljb246WzUxMiw1MTIsW10sImU4NTEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAxIDAtNTEyIDI1NiAyNTYgMCAxIDEgMCA1MTJ6TTI0My41IDI0MGMxLjItMS45LS45LTQuMi0yLjYtMi44bC04OSA3OS41Yy05LjIgNy4yLTE1LjIgMTkuMS0xNS4yIDMyLjUgMCAyMS45IDE2IDM5LjggMzUuNyAzOS44bDE2Ny4zIDBjMTkuNiAwIDM1LjctMTcuOSAzNS43LTM5LjggMC0yMS45LTE2LjEtMzkuNy0zNS43LTM5LjhsLTEyNi42IDBjLTEuOSAwLTMtMi4zLTIuMS00LjFMMjQzLjUgMjQwek0xNzIuNCAxMjMuMWMtMTkuNiAwLTM1LjcgMTcuOS0zNS43IDM5LjhzMTYgMzkuOCAzNS43IDM5LjhsMTI2LjYgMGMxLjkgMCAzLjEgMi4yIDIuMiA0LjFMMjY4LjUgMjcyYy0xLjIgMS45IC45IDQuMiAyLjYgMi44bDg5LTc5LjVjOS4yLTcuMiAxNS4yLTE5LjEgMTUuMi0zMi41IDAtMjEuOS0xNi0zOS43LTM1LjctMzkuOGwtMTY3LjMgMHoiXX0sZmN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5zdXNlIixpY29uOls2NDAsNTEyLFtdLCJlNjJiIiwiTTQ3MS4xIDEwMi43cy0uMyAxOC4zLS4zIDIwLjNjLTkuMS0zLTc0LjQtMjQuMS0xMzUuNy0yNi4zLTUxLjktMS44LTEyMi44LTQuMy0yMjMgNTcuMy0xOS40IDEyLjQtNzMuOSA0Ni4xLTk5LjYgMTA5LjctNS41IDEzLjMtMTIuNiA0My4zLTUuNSA3MS40IDMuMyAxMi44IDguOSAyNC45IDE2LjUgMzUuNyAxNy40IDI1IDQ2LjYgNDEuNiA3OC4xIDQ0LjQgNDQuNCAzLjkgNzguMS0xNiA5MC01My4zIDguMi0yNS44IDAtNjMuNi0zMS41LTgyLjktMjUuNi0xNS43LTUzLjMtMTIuMS02OS4yLTEuNi0xMy45IDkuMi0yMS44IDIzLjUtMjEuNiAzOS4yIC4zIDI3LjggMjQuMyA0Mi42IDQxLjUgNDIuNiA1LjQgMCAxMC43LS45IDE1LjgtMi43IDYuNS0xLjggMTMuMy02LjUgMTMuMy0xNC45IDAtMTIuMS0xMS42LTE0LjgtMTYuOC0xMy45LTIuOSAuNS00LjUgMi0xMS44IDIuNC0yLS4yLTEyLTMuMS0xMi0xNGwwLS4xYy4yLTEyLjMgMTMuMi0xOCAyNS41LTE2LjkgMzIuMyAyLjggNDcuNyA0MC43IDI4LjUgNjUuNy0xOC4zIDIzLjctNzYuNiAyMy4yLTk5LjctMjAuNC0yNi00OS4yIDEyLjctMTExLjIgODctOTguNCAzMy4yIDUuNyA4My42IDM1LjUgMTAyLjQgMTA0LjNsNDUuOSAwYy01LjctMTcuNi04LjktNjguMyA0Mi43LTY4LjMgNTYuNyAwIDYzLjkgMzkuOSA3OS44IDY4LjNsNDguNiAwYy0xMi44LTE4LjMtMjEuNy0zOC43LTE4LjktNTUuOCA1LjYtMzMuOCAzOS43LTE4LjQgODIuNC0xNy40IDY2LjUgLjQgMTAyLjEtMjcgMTAzLjEtMjggMy43LTMuMSA2LjUtMTUuOCA3LTE3LjcgMS4zLTUuMS0zLjItMi40LTMuMi0yLjQtOC43IDUuMi0zMC41IDE1LjItNTAuOSAxNS42LTI1LjMgLjUtNzYuMi0yNS40LTgxLjYtMjguMi0uMy0uNCAuMSAxLjItMTEtMjUuNSA4OC40IDU4LjMgMTE4LjMgNDAuNSAxNDUuMiAyMS43IC44LS42IDQuMy0yLjkgMy42LTUuNy0xMy44LTQ4LjEtMjIuNC02Mi43LTM0LjUtNjkuNi0zNy0yMS42LTEyNS0zNC43LTEyOS4yLTM1LjMgLjEtLjEtLjktLjMtLjkgLjd6bTYwLjQgNzIuOGEzNy42IDM3LjYgMCAxIDEgNzUuMiAyLjYgMzcuNiAzNy42IDAgMSAxIC03NS4yLTIuNnptMzguNi0yNS4zYy0zLjYtLjMtNy4xIC4xLTEwLjUgMS4ycy02LjUgMi45LTkuMiA1LjMtNC44IDUuMy02LjMgOC41LTIuNCA2LjctMi41IDEwLjMgLjUgNy4xIDEuOCAxMC40IDMuMyA2LjMgNS44IDguOSA1LjUgNC41IDguOCA1LjkgNi45IDIgMTAuNCAxLjljMy42IC4zIDcuMS0uMSAxMC41LTEuMnM2LjUtMi45IDkuMi01LjMgNC44LTUuMyA2LjMtOC41IDIuNC02LjcgMi41LTEwLjMtLjUtNy4xLTEuOC0xMC40LTMuMy02LjMtNS44LTguOS01LjUtNC41LTguOC01LjktNi45LTItMTAuNC0xLjl6bTQuMyAyOC44Yy0xNS40IDAtMTUuNC0xNS42IDAtMTUuNnMxNS40IDE1LjYgMCAxNS42eiJdfSxoY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHJvcGJveCIsaWNvbjpbNTc2LDUxMixbXSwiZjE2YiIsIk0yODguNCAxMTYuM2wtMTMyIDg0LjMgMTMyIDg0LjMtMTMyIDg0LjMtMTMyLjQtODUuMSAxMzIuMy04NC4zLTEzMi4zLTgzLjUgMTMyLjMtODQuMyAxMzIuMSA4NC4zek0xNTUuNiAzOTUuN2wxMzItODQuMyAxMzIgODQuMy0xMzIgODQuMy0xMzItODQuM3pNMjg4LjQgMjg0LjFsMTMyLTg0LjMtMTMyLTgzLjYgMTMxLjMtODQuMiAxMzIuMyA4NC4zLTEzMi4zIDg0LjMgMTMyLjMgODQuMi0xMzIuMyA4NC4zLTEzMS4zLTg1eiJdfSxtY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGVlemVyIixpY29uOls1MTIsNTEyLFtdLCJlMDc3IiwiTTE0LjggMTAxLjFDNi42IDEwMS4xIDAgMTI3LjYgMCAxNjAuM3M2LjYgNTkuMiAxNC44IDU5LjIgMTQuOC0yNi41IDE0LjgtNTkuMi02LjYtNTkuMi0xNC44LTU5LjJ6TTQ0OC43IDQwLjljLTcuNyAwLTE0LjUgMTcuMS0xOS40IDQ0LjEtNy43LTQ2LjctMjAuMi03Ny0zNC4yLTc3LTE2LjggMC0zMS4xIDQyLjktMzggMTA1LjQtNi42LTQ1LjQtMTYuOC03NC4yLTI4LjMtNzQuMi0xNi4xIDAtMjkuNiA1Ni45LTM0LjcgMTM2LjItOS40LTQwLjgtMjMuMi02Ni4zLTM4LjMtNjYuM3MtMjguOCAyNS41LTM4LjMgNjYuM2MtNS4xLTc5LjMtMTguNi0xMzYuMi0zNC43LTEzNi4yLTExLjUgMC0yMS43IDI4LjgtMjguMyA3NC4yLTYuNi02Mi41LTIxLjItMTA1LjQtMzcuOC0xMDUuNC0xNCAwLTI2LjUgMzAuNC0zNC4yIDc3LTQuOC0yNy0xMS43LTQ0LjEtMTkuNC00NC4xLTE0LjMgMC0yNiA1OS4yLTI2IDEzMi4xUzQ5IDMwNS4yIDYzLjMgMzA1LjJjNS45IDAgMTEuNS05LjkgMTUuOC0yNi44IDYuOSA2MS43IDIxLjIgMTA0LjEgMzggMTA0LjEgMTMgMCAyNC41LTI1LjUgMzIuMS02NS42IDUuNCA3Ni4zIDE4LjYgMTMwLjQgMzQuMiAxMzAuNCA5LjcgMCAxOC42LTIxLjQgMjUuMy01Ni40IDcuOSA3Mi4yIDI2LjMgMTIyLjcgNDcuNyAxMjIuN3MzOS41LTUwLjUgNDcuNy0xMjIuN2M2LjYgMzUgMTUuNiA1Ni40IDI1LjMgNTYuNCAxNS42IDAgMjguOC01NC4xIDM0LjItMTMwLjQgNy43IDQwLjEgMTkuNCA2NS42IDMyLjEgNjUuNiAxNi42IDAgMzAuOS00Mi4zIDM4LTEwNC4xIDQuMyAxNi44IDkuNyAyNi44IDE1LjggMjYuOCAxNC4zIDAgMjYtNTkuMiAyNi0xMzIuMVM0NjMgNDAuOSA0NDguNyA0MC45em00OC41IDYwLjJjLTguMiAwLTE0LjggMjYuNS0xNC44IDU5LjJzNi42IDU5LjIgMTQuOCA1OS4yIDE0LjgtMjYuNSAxNC44LTU5LjItNi42LTU5LjItMTQuOC01OS4yeiJdfSxnY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjRmMCIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bTMuNiA1My4yYzIuOC0uMyAxMS41IDEgMTEuNSAxMS41bDYuNiAxMDcuMiA0LjktNTkuM2MwLTYgNC43LTEwLjYgMTAuNi0xMC42czEwLjYgNC43IDEwLjYgMTAuNmMwIDIuNS0uNS01LjcgNS43IDgxLjVsNS44LTY0LjJjLjMtMi45IDIuOS05LjMgMTAuMi05LjMgMy44IDAgOS45IDIuMyAxMC42IDguOWwxMS41IDk2LjUgNS4zLTEyLjhjMS44LTQuNCA1LjItNi42IDEwLjItNi42bDU4IDAgMCAyMS4zLTUwLjkgMC0xOC4yIDQ0LjNjLTMuOSA5LjktMTkuNSA5LjEtMjAuOC0zLjFsLTQtMzEuOS03LjUgOTIuNmMtLjMgMy0zIDkuMy0xMC4yIDkuMy0zIDAtOS44LTIuMS0xMC42LTkuMyAwLTEuOSAuNiA1LjgtNi4yLTc3LjlsLTUuMyA3Mi4yYy0xLjEgNC44LTQuOCA5LjMtMTAuNiA5LjMtMi45IDAtOS44LTItMTAuNi05LjMgMC0xLjkgLjUgNi43LTUuOC04Ny43TDI1NSAzODMuOWMwIDYuMy0zLjYgMTIuNC0xMC42IDEyLjQtNS4yIDAtMTAuNi00LjEtMTAuNi0xMkwyMjggMjk2LjZjLTUuOCA5Mi41LTUuMyA4NC01LjMgODUuOS0xLjEgNC44LTQuOCA5LjMtMTAuNiA5LjMtMyAwLTkuOC0yLjEtMTAuNi05LjMgMC0uNy0uNC0xLjEtLjQtMi42bC02LjItODguNi00LjkgNTYuN2MtLjcgNi41LTYuNyA5LjMtMTAuNiA5LjMtNS44IDAtOS42LTQuMS0xMC42LTguOUwxNTcuNyAyNzJjLTIgNC0zLjUgOC40LTExLjEgOC40bC01MS40IDAgMC0yMS4zIDQ0LjggMCAxMy43LTI3LjljNC40LTkuOSAxOC4yLTcuMiAxOS45IDIuN2wzLjEgMjAuNCA4LjQtOTcuOWMwLTYgNC44LTEwLjYgMTAuNi0xMC42IC41IDAgMTAuNi0uMiAxMC42IDEyLjRsNC45IDY5LjEgNi42LTkyLjZjMC0xMC4xIDkuNS0xMC42IDEwLjItMTAuNiAuNiAwIDEwLjYgLjcgMTAuNiAxMC42bDUuMyA4MC42IDYuMi05Ny45Yy4xLTEuMS0uNi0xMC4zIDkuOS0xMS41eiJdfSxiY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiamVkaS1vcmRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjUwZSIsIk0zOTguOSAzNzMuNmM5NS45LTEyMi4xIDE3LjItMjMzLjEgMTcuMi0yMzMuMSA0NS40IDg1LjgtNDEuNCAxNzAuNS00MS40IDE3MC41IDEwNS0xNzEuNS02MC41LTI3MS41LTYwLjUtMjcxLjUgOTYuOSA3Mi43LTEwLjEgMTkwLjctMTAuMSAxOTAuNyA4NS44IDE1OC40LTY4LjYgMjMwLjEtNjguNiAyMzAuMXMtLjQtMTYuOS0yLjItODUuN2M0LjMgNC41IDM0LjUgMzYuMiAzNC41IDM2LjJsLTI0LjItNDcuNCA2Mi42LTkuMS02Mi42LTkuMSAyMC4yLTU1LjUtMzEuNCA0NS45Yy0yLjItODcuNy03LjgtMzA1LjEtNy45LTMwNi45IDAgMS01LjYgMjE5LTcuOSAzMDYuOWwtMzEuNC00NS45IDIwLjIgNTUuNS02Mi42IDkuMSA2Mi42IDkuMS0yNC4yIDQ3LjQgMzQuNS0zNi4yYy0xLjggNjguOC0yLjIgODUuNy0yLjIgODUuN1M1OS4xIDM4OC42IDE0NC45IDIzMC4yYzAgMC0xMDctMTE4LjEtMTAuMS0xOTAuNyAwIDAtMTY1LjUgOTkuOS02MC41IDI3MS41IDAgMC04Ni44LTg0LjgtNDEuNC0xNzAuNSAwIDAtNzguNyAxMTEgMTcuMiAyMzMuMSAwIDAtMjYuMi0xNi4xLTQ5LjQtNzcuNyAwIDAgMTYuOSAxODMuMyAyMjIgMTg1LjdsNC4xIDBjMjA1LTIuNCAyMjItMTg1LjcgMjIyLTE4NS43LTIzLjYgNjEuNS00OS45IDc3LjctNDkuOSA3Ny43eiJdfSx2Y3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToici1wcm9qZWN0IixpY29uOls1NzYsNTEyLFtdLCJmNGY3IiwiTTU3OC41IDIyNi42QzU3OC41IDExOS4xIDQ0OC40IDMyIDI4OCAzMlMtMi41IDExOS4xLTIuNSAyMjYuNmMwIDk1LjggMTAzLjMgMTc1LjQgMjM5LjQgMTkxLjVsMCA2MS45IDk5LjEgMCAwLTYxLjVjMjQuMy0yLjcgNDcuNi03LjQgNjkuNC0xMy45bDQwLjEgNzUuNCAxMTIgMC02Ny40LTExMy43YzU0LjUtMzUuNCA4OC40LTg0LjkgODguNC0xMzkuN3pNMTExLjcgMjQxLjFjMC03My41IDk4LjktMTMzIDIyMC44LTEzM3MyMTEuOSA0MC43IDIxMS45IDEzM2MwIDUwLjEtMjYuNSA4NS03MC4zIDEwNi40LTIuNC0xLjYtNC43LTIuOS02LjQtMy43LTEwLjItNS4yLTI3LjgtMTAuNS0yNy44LTEwLjVzODYuNi02LjQgODYuNi05Mi43LTkwLjYtODcuOS05MC42LTg3LjlsLTE5OSAwIDAgMjA4LjNjLTc0LjEtMjEuNS0xMjUuMi02Ny4xLTEyNS4yLTExOS45em0yMjUuMSAzOC4zbDAtNTUuNmM1Ny44IDAgODcuOC02LjggODcuOCAyNy4zIDAgMzYuNS0zOC4yIDI4LjMtODcuOCAyOC4zem0tLjkgNzIuNWwyNi42IDBjMTAuOCAwIDE4LjkgMTEuNyAyNCAxOS4yLTE2LjEgMS45LTMzIDIuOC01MC42IDIuOWwwLTIyLjF6Il19LHhjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnN0YWxvZCIsaWNvbjpbNTEyLDUxMixbXSwiZTA4MSIsIk0xNTMuNiA0ODBsMjMzLjcgMCAxMTUuNC0yMDQuMi0yOTguMyA1Ny40LTUwLjggMTQ2Ljh6TTUwNSAyNDAuMUwzODcuNCAzMiAxNTUuOSAzMiAzNjAuNSAyNjcuOSA1MDUgMjQwLjF6TTEyNC42IDQ4LjhMNy41IDI1NiAxMjMuNSA0NjEuMiAyMjUuOSAxNjUuNiAxMjQuNiA0OC44eiJdfSx5Y3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2FuYWRpYW4tbWFwbGUtbGVhZiIsaWNvbjpbNTEyLDUxMixbXSwiZjc4NSIsIk0zODMuOCAzNTEuN2MyLjUtMi41IDEwNS4yLTkyLjQgMTA1LjItOTIuNGwtMTcuNS03LjVjLTEwLTQuOS03LjQtMTEuNS01LTE3LjQgMi40LTcuNiAyMC4xLTY3LjMgMjAuMS02Ny4zcy00Ny43IDEwLTU3LjcgMTIuNWMtNy41IDIuNC0xMC0yLjUtMTIuNS03LjVzLTE1LTMyLjQtMTUtMzIuNC01Mi42IDU5LjktNTUuMSA2Mi4zYy0xMCA3LjUtMjAuMSAwLTE3LjYtMTAgMC0xMCAyNy42LTEyOS42IDI3LjYtMTI5LjZzLTMwLjEgMTcuNC00MC4xIDIyLjRjLTcuNSA1LTEyLjYgNS0xNy42LTUtNS4xLTcuNS00Mi43LTc5LjgtNDIuNy03OS44cy0zNy41IDcyLjMtNDIuNSA3OS44Yy01IDEwLTEwIDEwLTE3LjYgNS0xMC01LTQwLjEtMjIuNC00MC4xLTIyLjRTMTgzLjMgMTgyIDE4My4zIDE5MmMyLjUgMTAtNy41IDE3LjUtMTcuNiAxMC0yLjUtMi41LTU1LjEtNjIuMy01NS4xLTYyLjNzLTEyLjUgMjcuMy0xNSAzMi4zLTUgOS45LTEyLjUgNy41QzczIDE3NyAyNS40IDE2NyAyNS40IDE2N1M0MyAyMjYuNyA0NS41IDIzNC4zYzIuNCA2IDUgMTIuNS01IDE3LjRMMjMgMjU5LjNzMTAyLjYgODkuOSAxMDUuMiA5Mi40YzUuMSA1IDEwIDcuNSA1LjEgMjIuNS01LjEgMTUtMTAuMSAzNS4xLTEwLjEgMzUuMXM5NS4yLTIwLjEgMTA1LjMtMjIuNmM4LjctLjkgMTguMyAyLjUgMTguMyAxMi41UzI0MSA1MTIgMjQxIDUxMmwzMCAwcy01LjgtMTAyLjctNS44LTExMi44IDkuNS0xMy40IDE4LjQtMTIuNWMxMCAyLjUgMTA1LjIgMjIuNiAxMDUuMiAyMi42cy01LTIwLjEtMTAtMzUuMSAwLTE3LjUgNS0yMi41eiJdfSx3Y3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXRoZXJldW0iLGljb246WzMyMCw1MTIsW10sImY0MmUiLCJNMzExLjkgMjYwLjhMMTYwIDM1My42IDggMjYwLjggMTYwIDAgMzExLjkgMjYwLjh6TTE2MCAzODMuNEw4IDI5MC42IDE2MCA1MTIgMzEyIDI5MC42IDE2MCAzODMuNHoiXX0sTWN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhvdXp6IixpY29uOls0NDgsNTEyLFtdLCJmMjdjIiwiTTI3NiAzMzAuN2wtMTA0LjYgMCAwIDE0OS4zLTE1NC4zIDAgMC00NDggMTA5LjUgMCAwIDEwNC41IDMwNS4xIDg1LjYgMCAyNTcuOS0xNTUuNyAwIDAtMTQ5LjN6Il19LGtjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aWJlciIsaWNvbjpbNTEyLDUxMixbXSwiZjQwOSIsIk00NDQuMyA0OS45Yy0xMi43LTExLjctNjQuMS00OS0xNzguNy00OS41IDAgMC0xMzUuMS04LjEtMjAwLjkgNTIuMy0zNi42IDM2LjYtNDkuNSA5MC4zLTUwLjkgMTU2LjhzLTMuMSAxOTEuMSAxMTcgMjI0LjlsLjEgMC0uMSA1MS42cy0uOCAyMC45IDEzIDI1LjFjMTYuNiA1LjIgMjYuNC0xMC43IDQyLjMtMjcuOCA4LjctOS40IDIwLjctMjMuMiAyOS44LTMzLjcgODIuMiA2LjkgMTQ1LjMtOC45IDE1Mi41LTExLjIgMTYuNi01LjQgMTEwLjUtMTcuNCAxMjUuNy0xNDIgMTUuOC0xMjguNi03LjYtMjA5LjgtNDkuOC0yNDYuNXpNNDU4LjIgMjg3Yy0xMi45IDEwNC04OSAxMTAuNi0xMDMgMTE1LjEtNiAxLjktNjEuNSAxNS43LTEzMS4yIDExLjIgMCAwLTUyIDYyLjctNjguMiA3OS01LjMgNS4zLTExLjEgNC44LTExLTUuNyAwLTYuOSAuNC04NS43IC40LTg1LjdsMCAwQzQzLjQgMzcyLjcgNDkuNCAyNjYuNiA1MC41IDIxMS4xczExLjYtMTAxIDQyLjYtMTMxLjZjNTUuNy01MC41IDE3MC40LTQzIDE3MC40LTQzIDk2LjkgLjQgMTQzLjMgMjkuNiAxNTQuMSAzOS40IDM1LjcgMzAuNiA1My45IDEwMy44IDQwLjYgMjExLjF6bS0xMzktODAuOGMuNCA4LjYtMTIuNSA5LjItMTIuOSAuNi0xLjEtMjItMTEuNC0zMi43LTMyLjYtMzMuOS04LjYtLjUtNy44LTEzLjQgLjctMTIuOSAyNy45IDEuNSA0My40IDE3LjUgNDQuOCA0Ni4yem0yMC4zIDExLjNjMS00Mi40LTI1LjUtNzUuNi03NS44LTc5LjMtOC41LS42LTcuNi0xMy41IC45LTEyLjkgNTggNC4yIDg4LjkgNDQuMSA4Ny44IDkyLjUtLjEgOC42LTEzLjEgOC4yLTEyLjktLjN6bTQ3IDEzLjRjLjEgOC42LTEyLjkgOC43LTEyLjkgLjEtLjYtODEuNS01NC45LTEyNS45LTEyMC44LTEyNi40LTguNS0uMS04LjUtMTIuOSAwLTEyLjkgNzMuNyAuNSAxMzMgNTEuNCAxMzMuNyAxMzkuMnpNMzc1LjIgMzI5bDAgLjJjLTEwLjggMTktMzEgNDAtNTEuOCAzMy4zbC0uMi0uM2MtMjEuMS01LjktNzAuOC0zMS41LTEwMi4yLTU2LjUtMTYuMi0xMi44LTMxLTI3LjktNDIuNC00Mi40LTEwLjMtMTIuOS0yMC43LTI4LjItMzAuOC00Ni42LTIxLjMtMzguNS0yNi01NS43LTI2LTU1LjctNi43LTIwLjggMTQuMi00MSAzMy4zLTUxLjhsLjIgMGM5LjItNC44IDE4LTMuMiAyMy45IDMuOSAwIDAgMTIuNCAxNC44IDE3LjcgMjIuMSA1IDYuOCAxMS43IDE3LjcgMTUuMiAyMy44IDYuMSAxMC45IDIuMyAyMi0zLjcgMjYuNmwtMTIgOS42Yy02LjEgNC45LTUuMyAxNC01LjMgMTRzMTcuOCA2Ny4zIDg0LjMgODQuM2MwIDAgOS4xIC44IDE0LTUuM2w5LjYtMTJjNC42LTYgMTUuNy05LjggMjYuNi0zLjcgMTQuNyA4LjMgMzMuNCAyMS4yIDQ1LjggMzIuOSA3IDUuNyA4LjYgMTQuNCAzLjggMjMuNnoiXX0sTzFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtpY2tzdGFydGVyIixpY29uOls0NDgsNTEyLFsic3F1YXJlLWtpY2tzdGFydGVyIl0sImYzYmIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzIwLjggMjMzbC0yMy4zIDIzLjEgMjMuMyAyMi45YzI0LjEgMjMuOSAyNC4xIDYzIDAgODYuOXMtNjMuNCAyMy45LTg3LjYgMGwtOC41LTguNGMtMTEuMyAxNi0yOS43IDI2LjUtNTAuOSAyNi41LTM0LjEgMC02MS45LTI3LjUtNjEuOS02MS40bDAtMTMzLjJjMC0zMy44IDI3LjctNjEuNCA2MS45LTYxLjQgMjEuMSAwIDM5LjYgMTAuNSA1MC45IDI2LjVsOC41LTguNGMyNC4xLTIzLjkgNjMuNC0yMy45IDg3LjYgMHMyNC4xIDYzIDAgODYuOXoiXX0sU2N0PU8xZSx6Y3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3BvdGlmeSIsaWNvbjpbNTEyLDUxMixbXSwiZjFiYyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTM1Ni43IDM3Mi45Yy00LjIgMC02LjgtMS4zLTEwLjctMy42LTYyLjQtMzcuNi0xMzUtMzkuMi0yMDYuNy0yNC41LTMuOSAxLTkgMi42LTExLjkgMi42LTkuNyAwLTE1LjgtNy43LTE1LjgtMTUuOCAwLTEwLjMgNi4xLTE1LjIgMTMuNi0xNi44IDgxLjktMTguMSAxNjUuNi0xNi41IDIzNyAyNi4yIDYuMSAzLjkgOS43IDcuNCA5LjcgMTYuNXMtNy4xIDE1LjQtMTUuMiAxNS40em0yNi45LTY1LjZjLTUuMiAwLTguNy0yLjMtMTIuMy00LjItNjIuNS0zNy0xNTUuNy01MS45LTIzOC42LTI5LjQtNC44IDEuMy03LjQgMi42LTExLjkgMi42LTEwLjcgMC0xOS40LTguNy0xOS40LTE5LjRzNS4yLTE3LjggMTUuNS0yMC43YzI3LjgtNy44IDU2LjItMTMuNiA5Ny44LTEzLjYgNjQuOSAwIDEyNy42IDE2LjEgMTc3IDQ1LjUgOC4xIDQuOCAxMS4zIDExIDExLjMgMTkuNy0uMSAxMC44LTguNSAxOS41LTE5LjQgMTkuNXptMzEtNzYuMmMtNS4yIDAtOC40LTEuMy0xMi45LTMuOS03MS4yLTQyLjUtMTk4LjUtNTIuNy0yODAuOS0yOS43LTMuNiAxLTguMSAyLjYtMTIuOSAyLjYtMTMuMiAwLTIzLjMtMTAuMy0yMy4zLTIzLjYgMC0xMy42IDguNC0yMS4zIDE3LjQtMjMuOSAzNS4yLTEwLjMgNzQuNi0xNS4yIDExNy41LTE1LjIgNzMgMCAxNDkuNSAxNS4yIDIwNS40IDQ3LjggNy44IDQuNSAxMi45IDEwLjcgMTIuOSAyMi42IDAgMTMuNi0xMSAyMy4zLTIzLjIgMjMuM3oiXX0sQ2N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxlYW5wdWIiLGljb246WzU3Niw1MTIsW10sImYyMTIiLCJNMzg2LjYgMTExLjVsMTUuMSAyNDktMTEtLjNjLTM2LjItLjgtNzEuNiA4LjgtMTAyLjcgMjgtMzEtMTkuMi02Ni40LTI4LTEwMi43LTI4LTQ1LjYgMC04Mi4xIDEwLjctMTIzLjUgMjcuN0w5My4yIDEyOS42YzI4LjUtMTEuOCA2MS41LTE4LjEgOTIuMi0xOC4xIDQxLjIgMCA3My44IDEzLjIgMTAyLjcgNDIuNSAyNy43LTI4LjMgNTktNDEuNyA5OC41LTQyLjV6TTU2OS4yIDQ0OGMtMjUuNSAwLTQ3LjUtNS4yLTcwLjUtMTUuNi0zNC4zLTE1LjYtNzAtMjUtMTA3LjktMjUtMzkgMC03NC45IDEyLjktMTAyLjcgNDAuNi0yNy43LTI3LjctNjMuNy00MC42LTEwMi43LTQwLjYtMzcuOSAwLTczLjYgOS4zLTEwNy45IDI1LTIyLjIgOS45LTQ0LjcgMTUuNi02OS4yIDE1LjZMNyA0NDggNDkuNiA5OC45YzM5LjMtMjIuMiA4Ny0zNC45IDEzMi4zLTM0LjkgMzcuMSAwIDc1LjIgNy43IDEwNi4yIDI5LjEgMzEtMjEuNCA2OS4yLTI5LjEgMTA2LjItMjkuMSA0NS4zIDAgOTMgMTIuNiAxMzIuMyAzNC45TDU2OS4yIDQ0OHptLTQzLjQtNDQuN0w0OTEuOCAxMjNjLTMwLjctMTQtNjcuMi0yMS40LTEwMS0yMS40LTM4LjQgMC03NC40IDEyLjEtMTAyLjcgMzguNy0yOC4zLTI2LjYtNjQuMi0zOC43LTEwMi43LTM4LjctMzMuOCAwLTcwLjMgNy40LTEwMSAyMS40bC0zNCAyODAuMmM0Ny4yLTE5LjUgODIuOS0zMy41IDEzNS0zMy41IDM3LjYgMCA3MC44IDkuNiAxMDIuNyAyOS42IDMxLjgtMjAgNjUuMS0yOS42IDEwMi43LTI5LjYgNTIuMiAwIDg3LjggMTQgMTM1IDMzLjV6Il19LFRjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqYXZhIixpY29uOlszODQsNTEyLFtdLCJmNGU0IiwiTTI3Ny44IDMxMi45YzkuOC02LjcgMjMuNC0xMi41IDIzLjQtMTIuNXMtMzguNyA3LTc3LjIgMTAuMmMtNDcuMSAzLjktOTcuNyA0LjctMTIzLjEgMS4zLTYwLjEtOCAzMy0zMC4xIDMzLTMwLjFzLTM2LjEtMi40LTgwLjYgMTljLTUyLjUgMjUuNCAxMzAgMzcgMjI0LjUgMTIuMXptLTg1LjQtMzIuMWMtMTktNDIuNy04My4xLTgwLjIgMC0xNDUuOCAxMDMuNy04MS44IDUwLjUtMTM1IDUwLjUtMTM1IDIxLjUgODQuNS03NS42IDExMC4xLTExMC43IDE2Mi42LTIzLjkgMzUuOSAxMS43IDc0LjQgNjAuMiAxMTguMnpNMzA3IDEwNC42Yy4xIDAtMTc1LjIgNDMuOC05MS41IDE0MC4yIDI0LjcgMjguNC02LjUgNTQtNi41IDU0czYyLjctMzIuNCAzMy45LTcyLjlDMjE2IDE4OC4xIDE5NS40IDE2OS4zIDMwNyAxMDQuNnptLTYuMSAyNzAuNWMtLjUgMS0xLjIgMS44LTIgMi42IDEyOC4zLTMzLjcgODEuMS0xMTguOSAxOS44LTk3LjMtMy4zIDEuMi02LjIgMy40LTguMiA2LjMgMy42LTEuMyA3LjMtMi4zIDExLTMgMzEtNi41IDc1LjUgNDEuNS0yMC42IDkxLjR6TTM0OCA0MzcuNHMxNC41IDExLjktMTUuOSAyMS4yYy01Ny45IDE3LjUtMjQwLjggMjIuOC0yOTEuNiAuNy0xOC4zLTcuOSAxNi0xOSAyNi44LTIxLjMgMTEuMi0yLjQgMTcuNy0yIDE3LjctMi0yMC4zLTE0LjMtMTMxLjMgMjguMS01Ni40IDQwLjIgMjA0LjIgMzMuMiAzNzIuNC0xNC45IDMxOS40LTM4Ljh6TTEyNC41IDM5NmMtNzguNyAyMiA0Ny45IDY3LjQgMTQ4LjEgMjQuNS05LjgtMy44LTE5LjItOC40LTI4LjItMTMuOC00NC43IDguNS02NS40IDkuMS0xMDYgNC41LTMzLjUtMy44LTEzLjktMTUuMi0xMy45LTE1LjJ6bTE3OS44IDk3LjJjLTc4LjcgMTQuOC0xNzUuOCAxMy4xLTIzMy4zIDMuNiAwLS4xIDExLjggOS43IDcyLjQgMTMuNiA5Mi4yIDUuOSAyMzMuOC0zLjMgMjM3LjEtNDYuOSAwIDAtNi40IDE2LjUtNzYuMiAyOS43ek0yNjAuNyAzNTNjLTU5LjIgMTEuNC05My41IDExLjEtMTM2LjggNi42LTMzLjUtMy41LTExLjYtMTkuNy0xMS42LTE5LjctODYuOCAyOC44IDQ4LjIgNjEuNCAxNjkuNSAyNS45LTcuOC0yLjgtMTUtNy4xLTIxLjEtMTIuOHoiXX0sX2N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5mYy1zeW1ib2wiLGljb246WzUxMiw1MTIsW10sImU1MzEiLCJNMzYwLjkgMzIuNGM3LjctMS4zIDE1LjcgLjUgMjEuMiA1IDg0LjEgNTguNyAxMjkuOSAxMzYuMyAxMjkuOSAyMTcuNyAwIDgzLjEtNDUuOCAxNjAuOC0xMjkuOSAyMTkuNS00LjggNC0xMS43IDUuOS0xOC42IDUuMy03LS42LTEzLjUtMy42LTE4LjQtOC41TDE2MS43IDI4OC43Yy01LjYtNS41LTguNy0xMy05LjYtMjAuOSAwLTcuOCA0LTE1LjMgOS41LTIwLjkgNS42LTUuNSAxMy4xLTguNyAyMC45LTguNyA3LjkgMCAxNS40IDMuMSAyMC45IDguNkwzNjguNSA0MTEuMmM1NC42LTQ0LjcgODQuMy05OS4yIDg0LjMtMTU2LjEgMC02MS42LTM2LjktMTIyLjItMTAzLjktMTY5LjMtNi40LTQuNS0xMC44LTExLjQtMTIuMS0xOS4xLTEuNC03LjcgLjQtMTUuNyA1LTIyLjEgNC41LTYuNCAxMS40LTEwLjggMTkuMS0xMi4xem0tMjA2IDQ0Ny4yYy03LjcgMS4zLTE1LjYtLjUtMjIuMS01LTgzLjEtNTguNy0xMjktMTM2LjQtMTI5LTIxOS41IDAtODEuNCA0NS44LTE1OSAxMjktMjE3LjcgNS43LTQgMTIuNi01LjkgMTkuNi01LjMgNi45IC42IDEzLjQgMy42IDE4LjMgOC41TDM1NC4xIDIyMy4zYzUuNiA1LjUgOC43IDEzIDguNyAyMC45IC4xIDYuOS0zIDE1LjMtOC42IDIwLjktNS41IDUuNS0xMyA4LjctMjAuOSA4LjctNy44IDAtMTYuMi0zLjEtMjAuOS04LjZMMTQ3LjMgMTAwLjdjLTU0LjYgNDUuMi04NC4zIDk5LjItODQuMyAxNTQuNCAwIDYzLjQgMzYuOSAxMjQgMTAzLjEgMTcxLjEgNy4zIDQuNiAxMS42IDExLjQgMTMgMTkuMiAxLjMgNy43LS41IDE1LjctNSAyMi4xcy0xMS40IDEwLjctMTkuMiAxMi4xeiJdfSxMY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid29kdSIsaWNvbjpbNjQwLDUxMixbXSwiZTA4OCIsIk0xNzguNCAzMzkuN2wtMzcuMyAwLTI4LjktMTE2LjItLjUgMC0yOC41IDExNi4yLTM4IDAtNDUuMi0xNzAuOCAzNy41IDAgMjcgMTE2LjIgLjUgMCAyOS43LTExNi4yIDM1LjIgMCAyOS4yIDExNy43IC41IDAgMjgtMTE3LjcgMzYuOCAwLTQ1LjkgMTcwLjh6bTkzLTEyN2MzOSAwIDY0LjEgMjUuOCA2NC4xIDY1LjMgMCAzOS4yLTI1LjEgNjUtNjQuMSA2NS0zOC43IDAtNjMuOS0yNS44LTYzLjktNjUgMC0zOS41IDI1LjEtNjUuMyA2My45LTY1LjN6bTAgMTA0LjhjMjMuMiAwIDMwLjEtMTkuOSAzMC4xLTM5LjUgMC0xOS45LTYuOS0zOS43LTMwLjEtMzkuNy0yNy43IDAtMjkuOSAxOS45LTI5LjkgMzkuNyAwIDE5LjYgNi45IDM5LjUgMjkuOSAzOS41em0xNjMuNyA2LjVsLS41IDBjLTcuOSAxMy40LTIxLjggMTkuMS0zNy41IDE5LjEtMzcuMyAwLTU1LjUtMzItNTUuNS02Ni4yIDAtMzMuMiAxOC40LTY0LjEgNTQuOC02NC4xIDE0LjYgMCAyOC45IDYuMiAzNi44IDE4LjRsLjIgMCAwLTYyLjIgMzQgMCAwIDE3MC44LTMyLjMgMCAwLTE1Ljh6bS0yOS43LTg1LjZjLTIyLjIgMC0yOS45IDE5LjEtMjkuOSAzOS41IDAgMTkuNCA4LjggMzkuNyAyOS45IDM5LjcgMjIuNSAwIDI5LjItMTkuNiAyOS4yLTM5LjkgMC0yMC4xLTcuMi0zOS4yLTI5LjItMzkuMnpNNTkzIDMzOS43bC0zMi4zIDAgMC0xNy4yLS43IDBjLTguNiAxMy45LTIzLjQgMjAuNi0zNy44IDIwLjYtMzYuMSAwLTQ1LjItMjAuMy00NS4yLTUwLjlsMC03Ni4xIDM0IDAgMCA2OS44YzAgMjAuMyA2IDMwLjQgMjEuOCAzMC40IDE4LjQgMCAyNi4zLTEwLjMgMjYuMy0zNS40bDAtNjQuOCAzNCAwIDAgMTIzLjZ6bTkuNS0zNi44bDM3LjUgMCAwIDM2LjgtMzcuNSAwIDAtMzYuOHoiXX0sUjFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1zdGVhbSIsaWNvbjpbNDQ4LDUxMixbInN0ZWFtLXNxdWFyZSJdLCJmMWI3IiwiTTE2NS42IDMwOS4xYzE4LjYgNy43IDI3LjMgMjguOSAxOS42IDQ3LjRzLTI5IDI3LjItNDcuNiAxOS40bC0yOC41LTExLjhjNSAxMC42IDEzLjggMTkuNCAyNS40IDI0LjIgMjUuMiAxMC41IDU0LjEtMS40IDY0LjYtMjYuNSA1LjEtMTIuMSA1LjEtMjUuNSAuMS0zNy43LTUuMS0xMi4xLTE0LjUtMjEuNi0yNi43LTI2LjctMTIuMS01LTI1LTQuOC0zNi40LS41bDI5LjUgMTIuMnpNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCAxNDQuNyAxMTYuNiA0OC4xYzEyLTguMiAyNi4yLTEyLjEgNDAuNy0xMS4zbDU1LjQtODAuMiAwLTEuMWMwLTQ4LjIgMzkuMy04Ny41IDg3LjYtODcuNXM4Ny42IDM5LjMgODcuNiA4Ny41YzAgNDkuMi00MC45IDg4LjctODkuNiA4Ny41bC03OSA1Ni4zYzEuNiAzOC41LTI5LjEgNjguOC02NS43IDY4LjgtMzEuOCAwLTU4LjUtMjIuNy02NC41LTUyLjdMMCAzMTkuMiAwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjQxLjkgMTk2LjJhNTguNCA1OC40IDAgMSAwIDExNi44IDAgNTguNCA1OC40IDAgMSAwIC0xMTYuOCAwem0xMDIuNC0uMWE0My45IDQzLjkgMCAxIDEgLTg3LjggMCA0My45IDQzLjkgMCAxIDEgODcuOCAweiJdfSwkY3Q9UjFlLERjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5jLWV1IixpY29uOls1MTIsNTEyLFtdLCJmNGU5IiwiTTI1NS43IDhDMTExLjYgOCA4IDEyNC44IDggMjU2IDggMzkyLjMgMTE5LjcgNTA0IDI1NS43IDUwNCAzODUuOSA1MDQgNTA0IDQwMy4xIDUwNCAyNTYgNTA0IDExNyAzOTYuNCA4IDI1NS43IDh6bS42IDQ1MC43Yy0xMTIgMC0yMDMuNi05Mi41LTIwMy42LTIwMi43IDAtMjMuMiAzLjctNDUuMiAxMC45LTY2bDY1LjcgMjkuMS00LjcgMCAwIDI5LjUgMjMuMyAwYzAgNi4yLS40IDMuMi0uNCAxOS41bC0yMi44IDAgMCAyOS41IDI3IDBjMTEuNCA2NyA2Ny4yIDEwMS4zIDEyNC42IDEwMS4zIDI2LjYgMCA1MC42LTcuOSA2NC44LTE1LjhsLTEwLTQ2LjFjLTguNyA0LjYtMjguMiAxMC44LTQ3LjMgMTAuOC0yOC4yIDAtNTguMS0xMC45LTY3LjMtNTAuMmw5MC4zIDAgMTI4LjMgNTYuOGMtMS41IDIuMS01Ni4yIDEwNC4zLTE3OC44IDEwNC4zek0yMzkuNiAyNjguMWwtLjUtLjQgLjkgLjQtLjQgMHptNzcuMi0xOS41bDMuNyAwIDAtMjkuNS03MC4zIDAtMjguNi0xMi42YzIuNS01LjUgNS40LTEwLjUgOC44LTE0LjMgMTIuOS0xNS44IDMxLjEtMjIuNCA1MS4xLTIyLjQgMTguMyAwIDM1LjMgNS40IDQ2LjEgMTBsMTEuNi00Ny4zYy0xNS02LjYtMzctMTIuNC02Mi4zLTEyLjQtMzkgMC03Mi4yIDE1LjgtOTUuOSA0Mi4zLTUuMyA2LjEtOS44IDEyLjktMTMuOSAyMC4xTDg1LjUgMTQ2LjRjNjQuNi05Ni44IDE1Ny43LTkzLjYgMTcwLjctOTMuNiAxMTMgMCAyMDMgOTAuMiAyMDMgMjAzLjQgMCAxOC43LTIuMSAzNi4zLTYuMyA1Mi45TDMxNi44IDI0OC42eiJdfSxBY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibnBtIixpY29uOls1NzYsNTEyLFtdLCJmM2Q0IiwiTTI4OCAyODhsLTMyIDAgMC02NCAzMiAwIDAgNjR6TTU3NiAxNjBsMCAxOTItMjg4IDAgMCAzMi0xMjggMCAwLTMyLTE2MCAwIDAtMTkyIDU3NiAwek0xNjAgMTkybC0xMjggMCAwIDEyOCA2NCAwIDAtOTYgMzIgMCAwIDk2IDMyIDAgMC0xMjh6bTE2MCAwbC0xMjggMCAwIDE2MCA2NCAwIDAtMzIgNjQgMCAwLTEyOHptMjI0IDBsLTE5MiAwIDAgMTI4IDY0IDAgMC05NiAzMiAwIDAgOTYgMzIgMCAwLTk2IDMyIDAgMCA5NiAzMiAwIDAtMTI4eiJdfSxFY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWRzY2FsZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjM4MyIsIk0zMTguMSAxNTRsLTkuNCA3LjZjLTIyLjUtMTkuMy01MS41LTMzLjYtODMuMy0zMy42LTcxLjYgMC0xMjkuNCA2MC44LTEyOS40IDEzMi4zIDAgNi42IC40IDEzLjEgMS40IDE5LjQtMi01NiA0MS44LTk3LjQgOTIuNi05Ny40IDI0LjIgMCA0Ni4yIDkuNCA2Mi42IDI0LjdsLTI1LjIgMjAuNGMtOC4zLS45LTE2LjggMS44LTIzLjEgOC4xLTExLjEgMTEtMTEuMSAyOC45IDAgNDAgMTEuMSAxMSAyOC45IDExIDQwIDAgNi4zLTYuMyA5LTE0LjkgOC4xLTIzLjFsNzUuMi04OC44YzYuMy02LjUtMy4zLTE1LjktOS41LTkuNnpNMjEzLjcgMjQ2LjVhMTQgMTQgMCAxIDEgMjAuNiAxOSAxNCAxNCAwIDEgMSAtMjAuNi0xOXpNMjI0IDMyYTIyNCAyMjQgMCAxIDAgMCA0NDggMjI0IDIyNCAwIDEgMCAwLTQ0OHptMCA2NGExNjAgMTYwIDAgMSAxIDAgMzIwIDE2MCAxNjAgMCAxIDEgMC0zMjB6Il19LEljdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGVtZWNvIixpY29uOls0NDgsNTEyLFtdLCJmNWM2IiwiTTIwMi45IDguNGM5LjktNS43IDI2LTUuOCAzNi0uMkw0MzAgMTE1LjljMTAgNS42IDE4IDE5LjQgMTggMzAuOUw0NDggMzY0YzAgMTEuNC04LjEgMjUuMy0xOCAzMUwyMzguOCA1MDMuN2MtOS45IDUuNy0yNiA1LjYtMzUuOC0uMkwxNy45IDM5NS4xQzggMzg5LjMgMCAzNzUuNCAwIDM2NEwwIDE0Ni43YzAtMTEuNCA4LTI1LjQgMTcuOS0zMS4xTDIwMi45IDguNHpNMTI1LjUgMjA4LjNjLTE1LjkgMC0zMS45IC4xLTQ3LjggLjFsMCAxMDEuNCAxOS4xIDAgMC0yOS44IDI4LjcgMGM0OS43IDAgNDkuNi03MS43IDAtNzEuN3pNMjY1LjYgMzA4LjZsLTMwLjctMzQuNmMzNy03LjUgMzQuOC02NS4yLTEwLjktNjUuNS0xNi4xIDAtMzIuMi0uMS00OC4zLS4xbDAgMTAxLjYgMTkuMSAwIDAtMzMuOSAxOC40IDAgMjkuNiAzMy45IDIyLjggMCAwLTEuM3ptLTQxLjYtODIuM2MyMy4zIDAgMjMuMyAzMi41IDAgMzIuNWwtMjkuMSAwIDAtMzIuNSAyOS4xIDB6bS05NS42LTEuNmMyMS4yIDAgMjEuMSAzOC45IDAgMzguOWwtMzIuMyAwIDAtMzguOCAzMi4zIDB6bTE5Mi42LTE4LjJjLTY4LjUgMC03MSAxMDUuOCAwIDEwNS44IDY5LjUgMCA2OS40LTEwNS44IDAtMTA1Ljh6bTAgMTcuNGM0NC4xIDAgNDQuOCA3MC45IDAgNzAuOXMtNDQuNC03MC45IDAtNzAuOXoiXX0sUGN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1wbGF5IixpY29uOls0NDgsNTEyLFtdLCJmM2FiIiwiTTI5My42IDIzNC4zTDcyLjkgMTMgMzUzLjcgMTc0LjIgMjkzLjYgMjM0LjN6TTE1LjMgMEMyLjMgNi44LTYuNCAxOS4yLTYuNCAzNS4zbDAgNDQxLjNjMCAxNi4xIDguNyAyOC41IDIxLjcgMzUuM0wyNzEuOSAyNTUuOSAxNS4zIDB6TTQ0MC41IDIyNS42bC01OC45LTM0LjEtNjUuNyA2NC41IDY1LjcgNjQuNSA2MC4xLTM0LjFjMTgtMTQuMyAxOC00Ni41LTEuMi02MC44ek03Mi45IDQ5OUwzNTMuNyAzMzcuOCAyOTMuNiAyNzcuNyA3Mi45IDQ5OXoiXX0sTmN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtvcnZ1ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjQyZiIsIk0zODcuNiAzNGwtMzI3IDBDMjcuOSAzNCAxLjEgNjAuOCAxLjEgOTMuNWwwIDMyNy4xYzAgMzIuNiAyNi44IDU5LjQgNTkuNSA1OS40bDMyNy4xIDBjMzMgMCA1OS41LTI2LjggNTkuNS01OS41bDAtMzI3QzQ0Ny4xIDYwLjggNDIwLjMgMzQgMzg3LjYgMzR6TTg4LjIgMTIwLjhsOTYgMCAwIDExNiA2MS44LTExNiAxMTAuOSAwLTgxLjIgMTMyLTE4Ny41IDAgMC0xMzJ6TTI1MCAzOTIuOWwtNjUuNy0xMTMuNiAwIDExMy42LTk2IDAgMC0xMzAuOCAxOTEuNSAwIDg4LjYgMTMwLjgtMTE4LjQgMHoiXX0sRmN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InczYyIsaWNvbjpbNjQwLDUxMixbXSwiZTdkZSIsIk0xMDUuMiAzMDUuM2wzMC45LTEwNC43YzcuOS0yNi43IDguNi00MC42IC4yLTY4LjhsLTEwLjEtMzMuOSA0NC4xIDAgNjEgMjA3LjQgNDUuNy0xNTUuNWMxMy4zLTQ1LjMgMjEuMS01MS45IDU5LjQtNTEuOWwxMzIuOCAwYy0yNC4yIDQyLjktNDkuMyA4NS4yLTczLjkgMTI3LjkgMi42IC44IDUuMiAxLjggNy43IDIuOCAxNy4zIDcuMSAzMi4yIDE5LjQgNDIgMzUuNSAxMS4yIDE4LjUgMTYuOCA0MC4yIDE2LjggNjUuMiAwIDMwLjgtOC4yIDU2LjgtMjQuNiA3Ny44LTE0LjUgMTguNi0zNSAyOS41LTU4LjIgMzEuMiAwIC4zLTUuMiAuNC01LjggLjQtMzkuNy0uMS03MC44LTMyLjEtODMuMS02OC43bDQyLjkgMGMzLjUgNS4zIDYuOCAxMC43IDExLjIgMTUuNSA4LjEgNy4zIDE4LjUgMTAuOSAyOS4zIDExLjEgMTMuMSAwIDIzLjMtOS4xIDI5LjktMTkuOCA4LjEtMTMuMiAxMi4yLTI5IDEyLjItNDcuNSAwLTEzLjEtMS44LTI0LjMtNS4zLTMzLjYtLjktMi4zLTEuOS00LjUtMy02LjYtMS40LTIuNi0yLjktNS4xLTQuNy03LjQtMTAuMS0xMy4yLTI5LjMtMTkuNy00Ny41LTE5LjhsLTI4LjIgMCA3MC4zLTEyMi0zNS42IDBjLTQzLjEgMC0zNS45LTUuNC01MC40IDQzLjNsLTc1LjcgMjU1LjMtNC4yIDAtNjMuMS0yMTEuMS02My4xIDIxMS4xLTQuMiAwLTEwMS0zNDAuNyA0NC4yIDAgNjEgMjA3LjR6TTQ2NyAzMzUuN2MuMyAuNiAxMS4zIDIwLjMgMTguMyAzMC4zIDcuMSAxMC4xIDE5LjggMjAuOSAyNC44IDI0LjZzMTkuMSAxMi41IDM0LjMgMTMuOWMxNS4yIDEuNSAyMy4zIC4yIDM4LjctNi42IDE1LjQtNi44IDI3LjktMjAuNCAzNC45LTI4LjEgNi45LTcuNiAxNy45LTI3LjMgMTguMi0yNy43bDMuMyAxNi44YzEuNyA5LTEgMjMuNy00LjEgMzAtNC4zIDguNi03LjYgMTMuNS0xNCAyMC4zLTYuMSA2LjUtMTYuNyAxMy41LTIxLjMgMTYuNC00LjYgMi45LTIzLjEgMTUuMS01MC4xIDEwLjNzLTQ0LjctMjUuOS01My45LTM4LjJjLTkuOC0xMy4yLTE2LjctMjguMy0xOS0zMy4yLTMuOC04LjQtOS45LTI4LjItMTAuMS0yOC44em0xNjkuNy0yMThjMy4zIDIwLjMtLjEgMjguNy05LjEgNDZsLTEyLjcgMjQuMmMtLjMtLjYtMTAtMjAuNy0yNS45LTMxLjktMTMuNi05LjYtMjIuNS0xMS43LTM2LjMtOC44LTE3LjggMy43LTM4IDI1LTQ2LjggNTEuMi0xMC41IDMxLjQtMTAuNyA0Ni42LTExIDYwLjYtLjYgMjIuNCAyLjkgMzUuNiAyLjkgMzUuNnMtMTUuNC0yOC41LTE1LjItNzAuMWMuMS0yOS43IDQuOC01Ni43IDE4LjUtODMuMyAxMi4xLTIzLjQgMzAuMS0zNy40IDQ2LjEtMzkuMSAxNi41LTEuNyAyOS42IDYuMyAzOS43IDE0LjkgMTAuNiA5IDIxLjMgMjguOCAyMS4zIDI4LjhsMjQuOS00OS44IDMuNiAyMS44eiJdfSxPY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3JhdiIsaWNvbjpbNTEyLDUxMixbXSwiZjJkNiIsIk0zMDIuNiAyMTAuNmM0LjUgNC41IDQuNSAxMi4zIDAgMTYuOGwtMTAgMTBjLTQuNSA0LjktMTIuMyA0LjktMTcuMSAwbC0xMC44LTEwLjhjLTQuNS00LjktNC41LTEyLjMgMC0xNy4xbDEwLTEwYzQuNS00LjUgMTIuMy00LjUgMTcuMSAwbDEwLjggMTEuMXptLTMxLjItMjAuM2E3LjcgNy43IDAgMSAwIC0xMC42LTExIDcuNyA3LjcgMCAxIDAgMTAuNiAxMXptLTI2LjggNS41YTcuNSA3LjUgMCAxIDAgMTAuNyAxMC41IDcuNSA3LjUgMCAxIDAgLTEwLjctMTAuNXpNMzE5LjQgMTgyYy0yMC41LTE0LjktMzQuOS00NC42LTEyLjMtNzAuMyAyMi4zLTI1LjcgNDItMTcuOCA2MS43IC44IDEyLjMgMTEuNyAzMC4yIDI1LjcgMTcuOCA0OS44LTEyLjkgMjQuMy00Ni42IDM0LjMtNjcuMiAxOS43em00OS4yLTQ1LjljLTkuMi0xMC4zLTI0LjEgNy4xLTE2IDE2LjYgNy42IDkuMyAzMy4xIDIuNSAxNi0xNi42ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem00NDMuNyA0NGMyLjYtMTYuNi0yMC45LTE3LjEtMjYtMjYuNS0xNC0yNC45LTI4LjYtMzgtNTYuMy0zMS40IDEyLTguMyAyNC4zLTYuMyAyNC4zLTYuMyAuMy02LjYgMC0xMy40LTkuNy0yNS43IDQtMTIuOSAuMy0yMy4xIC4zLTIzLjEgMTYtOC45IDI3LjctMjUuMiAzMC00NC42IDMuNy0zMi0xOS40LTYxLjEtNTEuNC02NC44LTIyLjgtMi42LTQ1LjEgNy45LTU2LjEgMjYuNS0yMy45IDQxLjQgMS40IDczLjIgMjMuMSA4NC0xNC45LTEuNC0zNS40LTEyLjMtNDEuNC0zNS40LTYuOC0yNi41IDIuOS01MS40IDkuMi02My40IDAgMC00LjUtNi04LjMtOS4yIDAgMC0xNC4yIDAtMjUuNCA1LjUgMTIuMy0xNS43IDI2LTE0LjkgMjYtMTQuOSAwLTYuNi0uNi0xNS40LTMuNy0yMi4zLTUuNi0xMS40LTI0LjYtMTMuMy0zMi43IDIuOSAuMS0uMiAuMy0uNCAuNC0uNS01LjIgMTIuMy0xLjEgNTcuNyAxNy40IDkwLTIuNiAxLjQtOS40IDYuMy0xMy40IDEwLjMtMjIuMyAxMC01OCA2Mi4yLTU4IDYyLjItMjkuMSAxMS4xLTc5LjcgNTIuNS03Mi45IDgyLjMgLjMgMy4xIDEuNCA1LjcgMy4xIDcuNy0yLjkgMi4zLTUuNyA1LjItOC42IDguNi0xMi4zIDE0LjItNS41IDM2LjMgMTguMyAyNS4yIDE2LjMtNy40IDMwLjYtMjAuOSAzNy41LTMxLjQgMCAwLTUuNy01LjItMTYuOC00LjUgMjguNi02LjggMzUuNC05LjcgNDcuNy05LjQgOC4zIDQgOC4zLTM1LjQgOC4zLTM1LjQgMC0xNS4yLTIuMy0zMi0xMS41LTQyLjggMTIuOSAxMi42IDMwIDMzLjggMjguOSA2Mi42LS44IDE4LjktMTUuNyAyMy43LTE1LjcgMjMuNy05LjQgMTcuMS00NC42IDY4LTMxLjQgMTA5LjQgMCAwLTEwLTE1LjQtMTAuNS0yMi44LTE4IDIwLTQ4IDU0LTI1LjQgNjYuNiAyNy41IDE1LjIgMTEyLjMtOTEuNSAxMzAuMy0xNDYuOSAzNS43LTIxLjUgNTcuMi00OC44IDY2LTY3LjEgMjIuNyA0NC45IDk4LjQgOTcuNSAxMDQuNCA2MC45eiJdfSxSY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXdzIixpY29uOls2NDAsNTEyLFtdLCJmMzc1IiwiTTE4MC40IDIwM2MtLjcgMjIuNiAxMC42IDMyLjcgMTAuOSAzOS0uMSAxLjMtLjYgMi41LTEuMyAzLjZzLTEuNyAyLTIuOCAyLjZsLTEyLjggOWMtMS43IDEuMi0zLjYgMS44LTUuNiAxLjktLjQgMC04LjIgMS44LTIwLjUtMjUuNi03LjUgOS40LTE3IDE2LjktMjcuOSAyMnMtMjIuNyA3LjctMzQuNyA3LjVjLTE2LjMgLjktNjAuNC05LjItNTguMS01Ni4yLTEuNi0zOC4zIDM0LjEtNjIuMSA3MC45LTYwIDcuMSAwIDIxLjYgLjQgNDcgNi4zbDAtMTUuNmMyLjctMjYuNS0xNC43LTQ3LTQ0LjgtNDMuOS0yLjQgMC0xOS40LS41LTQ1LjggMTAuMS03LjQgMy40LTguMyAyLjgtMTAuOCAyLjgtNy40IDAtNC40LTIxLjUtMi45LTI0LjIgNS4yLTYuNCAzNS45LTE4LjQgNjUuOS0xOC4yIDIwLjEtMS44IDQwLjEgNC40IDU1LjcgMTcuMyA2LjMgNy4xIDExLjIgMTUuNCAxNC4yIDI0LjRzNC4yIDE4LjUgMy41IDI4bDAgNjkuM3pNOTQgMjM1LjRjMzIuNC0uNSA0Ni4yLTIwIDQ5LjMtMzAuNSAyLjUtMTAuMSAyLjEtMTYuNCAyLjEtMjcuNC05LjctMi4zLTIzLjYtNC45LTM5LjYtNC45LTE1LjItMS4xLTQyLjggNS42LTQxLjcgMzIuMy0xLjIgMTYuOCAxMS4xIDMxLjQgMzAgMzAuNXptMTcwLjkgMjMuMWMtNy45IC43LTExLjUtNC45LTEyLjctMTAuNEwyMDIuNCA4My40Yy0xLTIuOC0xLjYtNS42LTEuOS04LjYtLjItMS4yIC4xLTIuNCAuOC0zLjRzMS44LTEuNiAzLTEuOGMuMiAwLTIuMSAwIDIyLjIgMCA4LjgtLjkgMTEuNiA2IDEyLjYgMTAuNEwyNzQuOSAyMjAuOCAzMDguMSA4MGMuNS0zLjIgMi45LTExLjEgMTIuOC0xMC4ybDE3LjIgMGMyLjItLjIgMTEuMS0uNSAxMi43IDEwLjRMMzg0LjEgMjIyLjcgNDIxIDgwLjFjLjUtMi4yIDIuNy0xMS40IDEyLjctMTAuNGwxOS43IDBjLjktLjEgNi4yLS44IDUuMyA4LjYtLjQgMS44IDMuNC0xMC43LTUyLjggMTY5LjktMS4xIDUuNS00LjggMTEuMS0xMi43IDEwLjRsLTE4LjcgMGMtMTAuOSAxLjItMTIuNS05LjctMTIuNy0xMC43bC0zMy4yLTEzNy4xLTMyLjggMTM3Yy0uMiAxLjEtMS43IDExLjktMTIuNyAxMC43bC0xOC4zIDAgMCAwem0yNzMuNSA1LjZjLTUuOSAwLTMzLjktLjMtNTcuNC0xMi4zLTIuMy0xLTQuMy0yLjYtNS43LTQuOHMtMi4xLTQuNi0yLjEtNy4xbDAtMTAuN2MwLTguNSA2LjItNi45IDguOC01LjkgMTAgNC4xIDE2LjUgNy4xIDI4LjggOS42IDM2LjcgNy41IDUyLjgtMi4zIDU2LjctNC41IDEzLjItNy44IDE0LjItMjUuNyA1LjMtMzQuOS0xMC41LTguOC0xNS41LTkuMS01My4xLTIxLTQuNi0xLjMtNDMuNy0xMy42LTQzLjgtNTIuNC0uNi0yOC4yIDI1LTU2LjIgNjkuNS01NiAxMi43IDAgNDYuNCA0LjEgNTUuNiAxNS42IDEuNCAyLjEgMiA0LjYgMS45IDdsMCAxMC4xYzAgNC40LTEuNiA2LjctNC45IDYuNy03LjctLjktMjEuNC0xMS4yLTQ5LjItMTAuOC02LjktLjQtMzkuOSAuOS0zOC40IDI1LS40IDE5IDI2LjYgMjYuMSAyOS43IDI2LjkgMzYuNSAxMSA0OC42IDEyLjggNjMuMSAyOS42IDE3LjEgMjIuMiA3LjkgNDguMyA0LjMgNTUuNC0xOS4xIDM3LjUtNjguNCAzNC40LTY5LjMgMzQuNHptNDAuMiAxMDQuOWMtNzAgNTEuNy0xNzEuNyA3OS4yLTI1OC41IDc5LjItMTE3LjEgLjgtMjMwLjMtNDIuMy0zMTcuMy0xMjAuNy02LjUtNS45LS44LTE0IDcuMi05LjUgOTYuNSA1NS4yIDIwNS43IDg0LjIgMzE2LjkgODQuMSA4My0uNCAxNjUuMS0xNy4zIDI0MS42LTQ5LjUgMTEuOC01IDIxLjggNy44IDEwLjEgMTYuNHptMjkuMi0zMy4zYy05LTExLjUtNTkuMy01LjQtODEuOC0yLjctNi44IC44LTcuOS01LjEtMS44LTkuNSA0MC4xLTI4LjIgMTA1LjktMjAuMSAxMTMuNC0xMC42IDcuNSA5LjUtMi4xIDc1LjQtMzkuNiAxMDYuOS01LjggNC45LTExLjMgMi4zLTguNy00LjEgOC40LTIxLjMgMjcuNC02OC41IDE4LjQtODB6Il19LEJjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnbGlkZS1nIixpY29uOls0NDgsNTEyLFtdLCJmMmE2IiwiTTQwNy4xIDIxMS4yYy0zLjUtMS40LTExLjYtMy44LTE1LjQtMy44LTM3LjEgMC02Mi4yIDE2LjgtOTMuNSAzNC41bC0uOS0uOWM3LTQ3LjMgMjMuNS05MS45IDIzLjUtMTQwLjQgMC03MS41LTM4LjItMTAwLjYtMTA4LjQtMTAwLjYtMTE1LjEgMC0xNzMuNCAxMTMuNy0xNzMuNCAxOTguNCAwIDg3LjkgNTEuMyAxMzYuNiAxMzguNiAxMzYuNiAxMiAwIDExLTEgMTEgMy44LTE2LjkgMTI4LjktOTAuOCAxMzMuMS05MC44IDk0LjYgMC0zOS4yIDQ1LTU4LjYgNDUuNS02MS0uMy0xMi4yLTQ3LTI3LjYtNTguOS0yNy42LTMzLjkgLjEtNTIuNCA1MS4yLTUyLjQgNzkuMyAwIDUxLjkgMzIuOCA4Ny45IDg1LjUgODcuOSA3Ny40IDAgMTM0LTc3LjggMTUxLjQtMTQ1LjQgMTUuMS02MC41IDExLjItNjMuMyAxOS43LTY3LjYgMzIuMi0xNi4yIDU3LjUtMjcgOTMuOC0yNyAxNy44IDAgMzAuNSAzLjcgNTguOSA4LjQgMi45IDAgNi43LTIuOSA2LjctNS44IDAtOC0zMy40LTYwLjUtNDAuOS02My40ek0yMzEuOCAxMjYuOGMtOS4zIDQ0LjctMTguNiA4OS42LTI3LjggMTM0LjMtMi4zIDEwLjItMTMuMyA3LjgtMjIgNy44LTM4LjMgMC00OS00MS44LTQ5LTczLjEgMC00NyAxOC0xMDkuMyA2MS44LTEzMy40IDctNC4xIDE0LjgtNi43IDIyLjYtNi43IDE4LjYgMCAyMCAxMy4zIDIwIDI4LjctLjEgMTQuMy0yLjcgMjguNS01LjYgNDIuNHoiXX0sSGN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImpzZmlkZGxlIixpY29uOls1NzYsNTEyLFtdLCJmMWNjIiwiTTUxMS4xIDIzNy41Yy00LjctMi42LTUuNy01LjctNi40LTEwLjgtMi40LTE2LjUtMy41LTMzLjYtOS4xLTQ5LjEtMzUuOS0xMDAtMTU0LTE0My40LTI0Ni44LTkxLjYtMjcuNCAxNS4yLTQ5IDM2LjQtNjUuNSA2My45LTMuMi0xLjUtNS41LTIuNy03LjgtMy43LTMwLjEtMTIuNC01OS0xMC4xLTg1LjMgOS4yLTI1LjUgMTguNy0zNi40IDQ0LjUtMzIuNyA3Ni40IC40IDMtMiA3LjYtNC41IDkuNS0zOS43IDMwLTU2IDc4LjEtNDEuOSAxMjQuNiAxMy44IDQ1LjYgNTcuNSA3OS44IDEwNS42IDgxLjQgMzAuMyAxIDYwLjYgLjUgOTEgLjUgODQgMCAxNjguMSAuNSAyNTIuMS0uNSA1Mi43LS42IDk2LjEtMzYuOSAxMDguMi04Ny4zIDExLjUtNDguMS0xMS4xLTk3LjMtNTYuOC0xMjIuNnptMjEuMSAxNTYuOWMtMTguMiAyMi40LTQyLjMgMzUuMy03MS4zIDM1LjctNTYuOSAuOC0xMTMuOCAuMi0xNzAuNyAuMiAwIC43LTE2MyAuMi0xNjMuNyAuMi00My45LS4zLTc2LjctMTkuOC05NS4yLTYwLTE4LjktNDEuMi00LTkwLjggMzQuMi0xMTYuMSA5LjItNi4xIDEyLjUtMTEuNiAxMC4xLTIzLjEtNS41LTI2LjQgNC41LTQ4IDI2LjQtNjMgMjMtMTUuNyA0Ny40LTE2LjEgNzItMy4xIDEwLjMgNS40IDE0LjYgMTEuNiAyMi4yLTIuNSAxNC4yLTI2LjQgMzQuNi00Ni43IDYwLjctNjEuMyA5Ny41LTU0LjQgMjI4LjQgNy42IDIzMC4yIDEzMi43IC4xIDguMiAyLjQgMTIuNCA5LjggMTUuOSA1Ny42IDI2LjggNzQuNSA5Ni4xIDM1LjEgMTQ0LjV6bS04Ny44LTgwLjVjLTUuOCAzMS4yLTM0LjYgNTUuMS02Ni43IDU1LjEtMTcgMC0zMi4xLTYuNS00NC4xLTE3LjctMjcuNy0yNS43LTcxLjEtNzUtOTUuOS05My40LTIwLjEtMTQuOS00Mi0xMi4zLTYwLjMgMy44LTUwIDQ0LjEgMTUuOSAxMjEuOCA2Ny4xIDc3LjIgNC41LTQgNy44LTkuNSAxMi43LTEyLjggOC4yLTUuNSAyMC44LS45IDEzLjIgMTAuNi0xNy40IDI2LjMtNDkuMyAzOC4yLTc4LjkgMjkuMy0yOC45LTguNy00OC44LTM2LTQ4LjYtNzAuMiAxLjItMjIuNSAxMi40LTQzLjEgMzUuNC01NiAyMi42LTEyLjYgNDYuNC0xMy4xIDY3IDIuNSA1MC44IDM4LjUgNzUuNiA4MS43IDEwNy4zIDEwMS4yIDI0LjYgMTUuMSA1NC4zIDcuNCA2OC44LTE3LjUgMjguOC00OS4yLTM0LjYtMTA1LTc4LjktNjMuNS00IDMuNy02LjkgOC45LTExLjQgMTEuNy0xMSA2LjgtMTcuMy00LjEtMTIuOC0xMC40IDIwLjctMjguNiA1MC41LTQwLjQgODMuMy0yOC4yIDMxLjQgMTEuNyA0OS4xIDQ0LjQgNDIuOCA3OC4yeiJdfSxxY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia2V5YmFzZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjRmNSIsIk0yODYuMiA0MTlhMTggMTggMCAxIDAgMCAzNiAxOCAxOCAwIDEgMCAwLTM2ek0zOTguMSAyNzEuNGMtOS41LTE0LjYtMzkuNC01Mi40LTg3LjMtNzMuNy02LjEtMi43LTEyLjItNS4xLTE4LjQtNy4zIDQuMS05LjkgNi0yMC42IDUuOC0zMS40cy0yLjctMjEuMy03LjItMzEuMS0xMC45LTE4LjUtMTguOS0yNS43LTE3LjQtMTIuNi0yNy42LTE2Yy0xMi40LTQuMS0yMy4zLTYtMzIuNC01LjgtLjYtMi0xLjktMTEgOS40LTM1bC0yMi45LTEzLjUtNS41IDcuNmMtOC43IDEyLjEtMTYuOSAyMy42LTI0LjMgMzQuOS0yLjctLjYtNS41LTEuMS04LjMtMS4yLTQxLjUtMi40LTM5LTIuMy00MS4xLTIuMy01MC42IDAtNTAuOCA1Mi4xLTUwLjggNDUuOWwtMi40IDM2LjdjLTEuNiAyNyAxOS44IDUwLjIgNDcuNiA1MS44bDguOSAuNUMxMDYgMjE1LjUgOTAuNCAyMjcuNSA3Ni42IDI0MS40IDE0IDMwNC43IDE0IDM3NCAxNCA0MjkuOGwwIDMzLjYgMjMuMy0yOS44YzMuMSAxMy4xIDggMjUuOCAxNC42IDM3LjYgNS44IDEwLjEgMTQuOSA5LjQgMTkuNiA3LjMgNC4yLTEuOSAxMC02LjkgMy44LTIwLjEtOC0xNi44LTEzLjMtMzQuNy0xNS44LTUzLjFsNDYuOC01OS44LTI0LjcgNzQuMWM1OC4yLTQyLjQgMTU3LjQtNjEuOCAyMzYuMi0zOC42IDM0LjIgMTAuMSA2Ny40IC43IDg0LjctMjMuOCAuNy0xIDEuMi0yLjIgMS44LTMuMiAxLjggOS40IDIuNyAxOC45IDIuOCAyOC40IDAgMjMuMy0zLjcgNTIuOS0xNC45IDgxLjYtMi41IDYuNSAxLjggMTQuNSA4LjYgMTUuNyA3LjQgMS42IDE1LjMtMy4xIDE4LjQtMTEuMSA5LjYtMjUuNSAxNC42LTU0LjYgMTQuNi04Ni4yIDAtMzguNi0xMy03Ny41LTM1LjktMTEwLjl6TTE0Mi40IDEyOC42bC0xNS43LS45LTEuNCAyMS44IDEzLjEgLjhjLS42IDYuNS0uNSAxMy4xIC4zIDE5LjZsLTIyLjQtMS4zYy0xLjYtLjEtMy4yLS41LTQuNy0xLjFzLTIuOC0xLjYtMy45LTIuOC0xLjktMi42LTIuNS00LjEtLjgtMy4xLS43LTQuN0wxMDcgMTE5YzEtMTIuMiAxMy45LTExLjMgMTMuMy0xMS4zbDI5LjEgMS43Yy0yLjggNi4yLTUuMSAxMi42LTcgMTkuMnpNMjkwLjggMzAwLjhjLTIuMSAxLjYtNC44IDIuNC03LjUgMi4ycy01LjEtMS41LTYuOS0zLjVsLTkuNy0xMS41LTM0LjQgMjdjLTEuNiAxLjMtMy43IDEuOS01LjggMS43cy00LTEuMi01LjMtMi44bC0xNS44LTE4LjZjLTEuMi0xLjYtMS43LTMuNS0xLjUtNS40czEuMy0zLjcgMi44LTQuOWwzNC42LTI3LjItMTQuMS0xNi43LTE3LjEgMTMuNWMtMS42IDEuMi0zLjUgMS44LTUuNSAxLjZzLTMuOC0xLjEtNS4xLTIuNmMwIDAtMy43LTQuNC0zLjgtNC41LTEuMi0xLjYtMS43LTMuNS0xLjUtNS41czEuMy0zLjcgMi44LTQuOUwyMTQgMjI1LjJzLTE4LjUtMjItMTguNi0yMi4xYy0uOC0xLTEuMy0yLjEtMS43LTMuM3MtLjQtMi41LS4zLTMuNyAuNi0yLjQgMS4yLTMuNSAxLjUtMiAyLjUtMi44YzIuMS0xLjcgNC44LTIuNCA3LjQtMi4yczUuMSAxLjUgNi45IDMuNmw4MS4xIDk2LjNjLjggMSAxLjMgMi4xIDEuNyAzLjNzLjQgMi41IC4zIDMuNy0uNiAyLjUtMS4yIDMuNS0xLjUgMi4xLTIuNSAyLjh6TTE4Ny40IDQxOWExOCAxOCAwIDEgMCAwIDM2IDE4IDE4IDAgMSAwIDAtMzZ6Il19LGpjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsdW1vbi1kcm9wIixpY29uOls1NzYsNTEyLFtdLCJlN2UzIiwiTTQ4MCAzMmM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgNTMtNDMgOTYtOTYgOTZMOTYgNDQ4Yy01MyAwLTk2LTQzLTk2LTk2TDAgMTI4QzAgNzUgNDMgMzIgOTYgMzJsMzg0IDB6TTMwMi40IDExNC43Yy05LjgtMTYuNC0yMC41LTE2LjQtMjkuNiAwbC02OC45IDExNGMtMTAuNyAxNS42LTE2LjQgMzIuOC0xNi40IDUyLjUgMCA1MC45IDQ0LjMgOTQuMyAxMDAuMSA5NC4zIDU1IDAgMTAwLjktNDMuNSAxMDAuOS05NC4zIDAtMTkuNy02LjYtMzcuOC0xNy4yLTUyLjVsLTY4LjktMTE0eiJdfSxWY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9yZ2VqbyIsaWNvbjpbMzIwLDUxMixbXSwiZTg2MCIsIk0yNjEuNSAxLjJjMzQgMCA2MS42IDI3LjYgNjEuNiA2MS42cy0yNy42IDYxLjYtNjEuNiA2MS42Yy0yMyAwLTQzLjEtMTIuNy01My43LTMxLjRsLTI4LjUgMGMtMjQgMC00NyA5LjUtNjQgMjYuNXMtMjYuNSA0MC0yNi41IDY0bDAgNDMuNWMyNi0xOS41IDU3LjctMzAuMiA5MC42LTMwLjJsMjguNSAwYzEwLjYtMTguNyAzMC42LTMxLjQgNTMuNy0zMS40IDM0IDAgNjEuNiAyNy42IDYxLjYgNjEuNnMtMjcuNiA2MS42LTYxLjYgNjEuNmMtMjMgMC00My4xLTEyLjctNTMuNy0zMS40bC0yOC41IDBjLTI0IDAtNDcgOS41LTY0IDI2LjVzLTI2LjUgNDAtMjYuNSA2NGwwIDQ3LjhjMTguNyAxMC42IDMxLjQgMzAuNiAzMS40IDUzLjYgMCAzNC0yNy42IDYxLjYtNjEuNiA2MS42Uy0zIDQ4My4yLTMgNDQ5LjJjMC0yMyAxMi43LTQzLjEgMzEuNC01My42bDAtMjEyYzAtNDAgMTUuOS03OC40IDQ0LjItMTA2LjdzNjYuNy00NC4yIDEwNi43LTQ0LjJsMjguNSAwYzEwLjYtMTguNyAzMC42LTMxLjQgNTMuNy0zMS40ek01OC42IDQyMy45Yy0xNCAwLTI1LjMgMTEuMy0yNS4zIDI1LjNzMTEuMyAyNS40IDI1LjMgMjUuNCAyNS40LTExLjQgMjUuNC0yNS40LTExLjQtMjUuMy0yNS40LTI1LjN6TTI2MS41IDIwMS43YTI1LjQgMjUuNCAwIDEgMCAwIDUwLjcgMjUuNCAyNS40IDAgMSAwIDAtNTAuN3ptMC0xNjQuMmEyNS40IDI1LjQgMCAxIDAgMCA1MC43IDI1LjQgMjUuNCAwIDEgMCAwLTUwLjd6Il19LFVjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwb3N0Z3Jlc3FsIixpY29uOls1MTIsNTEyLFtdLCJlODU4IiwiTTIxOS44IDE3MS4zYzMuOSAuNSAxMy4xIDIuNyAxMi4zIDguNS0uOCA1LjktOS4yIDkuMS0xNC4yIDguNC00LjctLjctMTMuMi02LjEtMTIuMy0xMi4xbC4zLTIuMWM0LjIgMCA4LjMtMy41IDEzLjktMi43em0xNjguMS0zLjRjMTAuOCAyLjYtMS4xIDEzLjUtNi44IDE0LjMtNC4zIC42LTEyLjEtMi4yLTEyLjgtNy40LTEtNy40IDE1LjctNy45IDE5LjctNi45em0tMjItMTQwLjhjMzUuNy0uMyA4MS4zIDkuNCAxMTQuMyA1MS43IDcuMiA5LjIgMTAgMjQgOS43IDQwLjktLjggNDkuNi0yNiAxMjkuNC03MC43IDE5Ny40IDQuNSAyLjkgMTcuNiA3LjQgNTEuMSAuNSA1LjYtMS4yIDEyLjctMi4yIDE3LjYgMS42IDE4LjIgMTMuOS0xOS42IDM1LjEtMjguNCAzOS4yLTEzLjIgNi4yLTM0LjggOS41LTUxLjIgOC43LTIuMS0uMi00LjMtLjItNi4zLS42LTUuMS0xLjEtNy40LTEtOC4zLS43LTEuMSAuMy0xLjQgMi45LTEuNiAzLjgtMi44IDI0LjktNy43IDY0LjctMTAuNyA4Mi0yLjggMTYuMy03LjcgMjkuMy0xNy4yIDM5LjItOS41IDkuOS0yMi44IDE1LjctNDAuNiAxOS41LTIyLjMgNC44LTM3LjktLjEtNDguNy05LjEtMTAuMy04LjctMTUuMi0yMC40LTE4LTI3LjQtMS44LTQuNS0zLTExLjUtNC0xOS44LTIuMy0xOS44LTMuMy01MC40LTMtODMuMy0yNC42IDIyLjEtNTUgMTcuMi02OC4yIDEzLjktMTAuNS0yLjYtMzMtMTYuMS0xNy41LTI4LjcgMTEuOS05LjcgMzAuMy01LjUgNDIuMi0xNSAyLjQtMS45IDExLjQtMTAuNiAxMS40LTEzLjUtMTAtLjMtMTkuNi0yLjktMjguMS03LjUtMTMuNSAxNC41LTI2LjQgMjkuNS0zOS4zIDQ0LjYtOC4zIDkuOS0xNy40IDE1LjgtMjcuNCAxNi4yLTkuOSAuNC0xOC43LTQuNi0yNi4xLTExLjgtNy4zLTcuMS0xNC4xLTE3LjItMjAuNC0yOS0xOS0zNS41LTMzLjItODYuMS00Mi4zLTEyNi40LTYtMjYuNy05LjYtNDkuMS0xMC4xLTU5LTIuMi00NC4zIDgtNzQuMSAyNi05My4yIDE3LjktMTkgNDIuNC0yNiA2Ni4xLTI3LjQgMzUuNi0yIDcxIDguNSA4Ni42IDEzLjhsNSAxLjhjMTUuOS0xMC44IDM2LjEtMTcuNCA2MS43LTE3IDEzLjIgLjIgMjUuNSAyLjIgMzYuNyA0LjIgMTguNi03LjEgMzkuOC05LjUgNTkuNC05Ljd6bS05NiAyMC41Yy0yNC43LS40LTQyLjkgNi41LTU2LjYgMTYuOC0uOCAuNi0xLjggMS0yLjggMS4yLTE0LjQgMTEuOC0yMy45IDI4LTMwLjMgNDQuOC03LjIgMTkuMS0xMCAzOC41LTExLjEgNTEuNSA3LjYtNC4zIDE3LjktOC43IDI4LjctMTEuMiAxMC41LTIuNCAyMi40LTMuMiAzMi43IC44IDEwLjkgNC4yIDE5IDEzLjMgMjIuMiAyOC4xIDcuNSAzNC43IDYuNyA1OC4yIDIuNyA3NS45LTQuOCAyMS0xNi44IDM5LjUtMjEuOSA2MC40IDMuNS0uOSA3LjEtLjYgOS44IC4xbDcuMiAyLjljNy43IDQuNCAxMi44IDEzIDE0IDIxLjcgMiA2IC4xIDE0LjMgMCAyMC42IDYuNyAxNi4zIDcuMiAzNi4xIDYuNyA1My4zLS43IDI1LTEgNDAuMiAzLjIgNTEuNyAyLjkgNy45IDQuNyAxNi40IDEwLjQgMjIuOCAyLjYgMyA2LjEgNS41IDEwLjkgNi44IDE4LjUgNS4xIDQ0LTQuNyA1Ni42LTE4LjIgNy43LTguMiAxMi4zLTE5LjMgMTMuNC0zMy45IDEuMS0xMy42IDQuMi0yNy42IDYuMy00MS4xbDIuOS04LjhjMS43LTE0LjggMy40LTI5LjYgNS00NC40LS40LTkuMSAuOS0xNi4xIDMuOS0yMS41IDMuMS01LjcgNy42LTguOSAxMS44LTEwLjggMS44LS44IDMuOS0xLjIgNS42LTItMS42LTIuNC0zLjYtNC42LTUuMy02LjgtOC4yLTEwLjQtMTMuMy0yMi4zLTE5LjctMzMuOC04LjUtMTUuMi0yMy44LTQyLjItMzAuMS02Ny41LTQuMS0xNi40LTQuOS0zNC41IDYtNDcgOS44LTExLjIgMjYuOS0xNS41IDUxLjktMTMtMy40LTEwLTExLjQtMjcuNS0yNC44LTQ0LjctMTgtMjMtNDUuNy00NS45LTg1LjctNTMuMS03LjMtLjktMTUuMi0xLjUtMjMuNi0xLjd6bS0zMi4yIDI4MmMtOCAuNy0xNS41IDE4LjItMjEuNyAyMy4xLTYuMiA0LjktMTQuNSA3LjYtMzAgMTAuNy00LjUgLjktNy43IDEuOS05LjcgMi44IDIyLjMgMTUuOCA1OC4zIDMuMiA3Mi42LTE2LjggMS43LTIuNCAyLjEtNiAuNS0xMC4yLTEuNy00LjUtNi40LTEwLjEtMTEuOS05LjZ6TTExNy42IDQ5LjJjLTIxLjYgMS4yLTQyIDcuNS01Ni40IDIyLjgtMTQuNCAxNS4yLTI0LjIgNDAuNi0yMi4xIDgyLjUgLjQgOC41IDMuOCAzMCA5LjggNTYuNiA4LjkgMzkuOCAyMy43IDkwLjMgNDAuNiAxMjIuMiA2IDExLjEgMTcuNCAzMyAzMi44IDMyLjMgNC40LS4yIDEwLjEtMi44IDE3LTExIDEyLjYtMTQuOCAyNS4yLTI5LjUgMzguNS00My43LTE3LjktMTUuNC0yOC41LTQwLjMtMjQuOC02Ny4yIDMuNC0yNC4zIC41LTQ4LjIgMS4yLTcyLjUgLjQtMTEuOSAyLjMtMzguNyAxMi42LTY1LjggNS45LTE1LjUgMTQuNS0zMS4zIDI3LjQtNDQuMi0xNi40LTUuNC00Ny4xLTEzLjUtNzYuNi0xMS45ek00MDUuMSAzMjguOWMtMy44IDEuMS02LjcgMi4yLTguNyA1LjgtMS4zIDIuNC0yLjUgNi43LTIuMiAxNC4yIDQuOCAzLjkgMTQuMSAzLjMgMTkuOCAzLjIgMTMuOS0uMiAyOS45LTMuMSAzOS4zLTcuNSA3LjktMy43IDE0LjctOC4zIDE5LTEyLjItMzguMiA3LjctNTUuNCAyLjEtNjMuMi00LjgtMS4zIC40LTIuOSAuOS0zLjkgMS4yek0yMjUuMyAxNjQuOWMtMTUuNC01LjktMzUuNCAxLjgtNDguOSA5LjQtMy42IDItNi41IDQtNy45IDUuMiAuNCA4LjggMi44IDM2LjEtMS40IDY2LjMtNS4xIDM2LjYgMjEuNyA2Ni42IDUyLjUgNjYuNyA1LjEtMjAuOCAxNy0zOS4yIDIxLjgtNjAuMSAzLjUtMTUuMyA0LjUtMzYuNi0yLjctNjkuNy0yLjMtMTAuNS03LjQtMTUuNC0xMy40LTE3Ljd6TTM3MC4xIDQyLjJjLTE1LjItLjItMjguOCAxLjctMzkuMiAzLjggMjYgMTEuOCA0NS42IDI5LjcgNTkuNiA0Ny42IDE3LjQgMjIuMiAyNi4zIDQ0LjEgMjkgNTUgLjcgMi43IDEuMyA1LjcgLjUgOC40IC42IDE4LjktNCAzMS4zLTQuNiA0OS4yLS40IDEyLjkgMi45IDI4LjEgMy43IDQ0LjcgLjggMTUuNy0xIDMyLjUtMTEuMiA0OS41IC44IDEgMS42IDIuMSAyLjQgMy4xIDI2LjgtNDIuMiA0Ni04OC42IDU2LjMtMTI4LjUgNS41LTIxLjQgOC40LTQwLjcgOC43LTU2LjEgLjItMTUuMi0yLTI1LjQtNS44LTMwLjQtMjguMy0zNi4xLTY2LjgtNDUuOC05OS4zLTQ2LjJ6bTM1LjYgMTE5LjVjLTI1LjMtMy4yLTM3LjMgMS41LTQyLjggNy43LTYgNi44LTYuOCAxOC41LTIuOSAzNC4xIDUuNyAyMi42IDIwLjEgNDguNiAyOC43IDY0IDMuNiA2LjQgNi40IDEzLjEgMTAgMTkuNCA1LjUtMTEuNyA2LjYtMjMuNSA2LTM1LjUtLjctMTUtNC4yLTMwLjMtMy43LTQ1LjhsLjQtNy40YzEuMi0xNC4zIDQuMS0yNC42IDQuMi0zNi41eiJdfSxXY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2VlYmx5IixpY29uOls1MTIsNTEyLFtdLCJmNWNjIiwiTTQyNS4xIDY1LjhjLTM5LjkgMC03My4zIDI1LjctODMuNyA2NC4zLTE4LjItNTguMS02NS41LTY0LjMtODUtNjQuMy0xOS44IDAtNjYuOCA2LjMtODUuMyA2NC4zLTEwLjQtMzguNi00My40LTY0LjMtODMuNy02NC4zLTQ5IDAtODcuNSAzMy45LTg3LjUgNzcuMiAwIDI5IDQuMiAzMy4zIDc3LjIgMjMzLjUgMjIuNCA2MC42IDY3LjggNjkuNCA5Mi43IDY5LjQgMzkuMiAwIDcwLTE5LjUgODUuOS01NCAxNS45IDM0LjggNDYuNyA1NC4zIDg1LjkgNTQuMyAyNSAwIDcwLjQtOS4xIDkyLjctNjkuNyA3Ni42LTIwOC42IDc3LjUtMjA1LjYgNzcuNS0yMjcuMiAuNi00OC4zLTM2LTgzLjUtODYuOS04My41em0yNi4zIDExNC44TDM4NS45IDM1Ny4xYy03LjkgMjEuNS0yMS4yIDM3LjItNDYuMiAzNy4yLTIzLjQgMC0zNy40LTEyLjQtNDQtMzMuOWwtMzkuMy0xMTcuNC0xIDAtMzkuMyAxMTcuNGMtNyAyMS41LTIwLjkgMzMuNi00NCAzMy42LTI1IDAtMzguMy0xNS43LTQ2LjItMzcuMkw2MC45IDE4MS42Yy01LjQtMTQuOC03LjktMjMuOS03LjktMzQuNSAwLTE2LjMgMTUuOC0yOS40IDM4LjMtMjkuNCAxOC43IDAgMzIgMTEuOCAzNi4xIDI5LjFsNDQgMTM5LjggMSAwIDQ0LjctMTM2LjhjNi0xOS43IDE2LjUtMzIuMSAzOS0zMi4xczMyLjkgMTIuMSAzOSAzMi4xbDQ0LjcgMTM2LjggMSAwIDQ0LTEzOS44YzQuMS0xNy4yIDE3LjQtMjkuMSAzNi4xLTI5LjEgMjIuMiAwIDM4LjMgMTMuMyAzOC4zIDM1LjctLjMgNy45LTQuMSAxNi03LjYgMjcuMnoiXX0sR2N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRvY2tlciIsaWNvbjpbNjQwLDUxMixbXSwiZjM5NSIsIk0zNDkuOSAyMzYuM2wtNjYuMSAwIDAtNTkuNCA2Ni4xIDAgMCA1OS40em0wLTIwNC4zbC02Ni4xIDAgMCA2MC43IDY2LjEgMCAwLTYwLjd6bTc4LjIgMTQ0LjhsLTY2LjEgMCAwIDU5LjQgNjYuMSAwIDAtNTkuNHpNMjcxLjggMTA0LjdsLTY2LjEgMCAwIDYwLjEgNjYuMSAwIDAtNjAuMXptNzguMSAwbC02Ni4xIDAgMCA2MC4xIDY2LjEgMCAwLTYwLjF6bTI3Ni44IDEwMGMtMTQuNC05LjctNDcuNi0xMy4yLTczLjEtOC40LTMuMy0yNC0xNi43LTQ0LjktNDEuMS02My43bC0xNC05LjMtOS4zIDE0Yy0xOC40IDI3LjgtMjMuNCA3My42LTMuNyAxMDMuOC04LjcgNC43LTI1LjggMTEuMS00OC40IDEwLjdsLTQzNC43IDBjLTguNyA1MC44IDUuOCAxMTYuOCA0NCAxNjIuMSAzNy4xIDQzLjkgOTIuNyA2Ni4yIDE2NS40IDY2LjIgMTU3LjQgMCAyNzMuOS03Mi41IDMyOC40LTIwNC4yIDIxLjQgLjQgNjcuNiAuMSA5MS4zLTQ1LjIgMS41LTIuNSA2LjYtMTMuMiA4LjUtMTcuMWwtMTMuMy04Ljl6TTExNS42IDE3Ni44bC02NiAwIDAgNTkuNCA2Ni4xIDAgMC01OS40LS4xIDB6bTc4LjEgMGwtNjYuMSAwIDAgNTkuNCA2Ni4xIDAgMC01OS40em03OC4xIDBsLTY2LjEgMCAwIDU5LjQgNjYuMSAwIDAtNTkuNHptLTc4LjEtNzIuMWwtNjYuMSAwIDAgNjAuMSA2Ni4xIDAgMC02MC4xeiJdfSxZY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFnZW50byIsaWNvbjpbNDQ4LDUxMixbXSwiZjNjNCIsIk00NDUuOSAxMjcuOWwwIDI1Ni4xLTYzLjQgMzYuNSAwLTI1NS44LTE1OC41LTkxLjYtMTU4LjYgOTEuNiAuNCAyNTUuOS02My4zLTM2LjYgMC0yNTUuOSAyMjEuOS0xMjguMSAyMjEuNSAxMjcuOXpNMjU1LjggNDIwLjVsLTMxLjYgMTguNC0zMS44LTE4LjIgMC0yNTYtNjMuMyAzNi42IC4xIDI1NS45IDk0LjkgNTQuOSA5NS4xLTU0LjkgMC0yNTYtNjMuNC0zNi42IDAgMjU1Ljl6Il19LFpjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0b3ItYnJvd3NlciIsaWNvbjpbNTEyLDUxMixbXSwiZTgzOCIsIk0yNTYuNSA0NjUuNGwwLTMxYzk4LjMtLjMgMTc3LjktODAgMTc3LjktMTc4LjRTMzU0LjggNzcuOSAyNTYuNSA3Ny42bDAtMzFDMzcyIDQ2LjggNDY1LjQgMTQwLjUgNDY1LjQgMjU2UzM3MiA0NjUuMiAyNTYuNSA0NjUuNHptMC0xMDguNmM1NS40LS4zIDEwMC4zLTQ1LjMgMTAwLjMtMTAwLjhTMzEyIDE1NS41IDI1Ni41IDE1NS4ybDAtMzFjNzIuNiAuMyAxMzEuNCA1OS4yIDEzMS40IDEzMS44UzMyOS4xIDM4Ny42IDI1Ni41IDM4Ny44bDAtMzF6bTAtMTU1LjFjMjkuNyAuMyA1My44IDI0LjUgNTMuOCA1NC4zcy0yNCA1NC01My44IDU0LjNsMC0xMDguNnpNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHoiXX0sWGN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdC1hbHQiLGljb246WzQ0OCw1MTIsW10sImY4NDEiLCJNNDM5LjYgMjM2LjFMMjQ0IDQwLjVDMjM4LjYgMzUgMjMxLjIgMzIgMjIzLjYgMzJzLTE1IDMtMjAuNCA4LjRsLTQwLjcgNDAuNiA1MS41IDUxLjVjMjcuMS05LjEgNTIuNyAxNi44IDQzLjQgNDMuN2w0OS43IDQ5LjdjMzQuMi0xMS44IDYxLjIgMzEgMzUuNSA1Ni43LTI2LjUgMjYuNS03MC4yLTIuOS01Ni0zNy4zbC00Ni4zLTQ2LjMgMCAxMjEuOWMyNS4zIDEyLjUgMjIuMyA0MS44IDkuMSA1NS02LjQgNi40LTE1LjIgMTAuMS0yNC4zIDEwLjFzLTE3LjgtMy42LTI0LjMtMTAuMWMtMTcuNi0xNy42LTExLjEtNDYuOSAxMS4yLTU2bDAtMTIzYy0yMC44LTguNS0yNC42LTMwLjctMTguNi00NUwxNDIuNiAxMDEgOC41IDIzNS4xQzMgMjQwLjYgMCAyNDcuOSAwIDI1NS41czMgMTUgOC41IDIwLjRMMjA0LjEgNDcxLjZjNS40IDUuNCAxMi43IDguNCAyMC40IDguNHMxNS0zIDIwLjQtOC40TDQzOS42IDI3Ni45YzUuNC01LjQgOC40LTEyLjggOC40LTIwLjRzLTMtMTUtOC40LTIwLjR6Il19LFFjdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJlZm94LWJyb3dzZXIiLGljb246WzUxMiw1MTIsW10sImUwMDciLCJNMTMwLjIgMTI3LjVsMCAwem0zNTEuNCA0NS40Yy0xMC42LTI1LjUtMzIuMS01My00OC45LTYxLjcgMTMuNyAyNi45IDIxLjcgNTMuOSAyNC43IDc0IDAgLjEgMCAuMyAuMSAuNC0yNy42LTY4LjgtNzQuNC05Ni41LTExMi42LTE1Ni44LTE1LTIzLjctMTAuOS0yNS4yLTEzLjEtMjQuN2wtLjEgLjFjLTQ2LjcgMjYtNzUuMyA3OC40LTgyLjYgMTIyLjctMTYuNiAuOS0zMi45IDUtNDcuOSAxMi4xLTEuNCAuNi0yLjUgMS43LTMuMSAzcy0uOSAyLjgtLjYgNC4zYy4yIC44IC42IDEuNiAxLjEgMi4zczEuMiAxLjMgMS45IDEuNyAxLjYgLjcgMi40IC44IDEuNyAwIDIuNS0uM2wuNS0uMmMxNS41LTcuMyAzMi40LTExLjIgNDkuNS0xMS4zIDYyLjgtLjYgOTcuMiA0NCAxMDcuNiA2Mi4zLTEzLTkuMi0zNi40LTE4LjItNTguOC0xNC4zIDg3LjcgNDMuOSA2NC4yIDE5NC41LTU3LjQgMTg5LjItNTkuNS0yLjYtOTcuMS01MS0xMDAuNS05MC44IDAgMCAxMS4yLTQxLjkgODAuNi00MS45IDcuNSAwIDI4LjktMjAuOSAyOS4zLTI3LS4xLTItNDIuNS0xOC45LTU5LjEtMzUuMi04LjgtOC43LTEzLjEtMTIuOS0xNi44LTE2LjEtMi0xLjctNC4xLTMuMy02LjMtNC44LTUuNi0xOS41LTUuOC00MC0uNy01OS42LTI1LjEgMTEuNC00NC42IDI5LjQtNTguNyA0NS40bC0uMSAwYy05LjctMTIuMi05LTUyLjYtOC40LTYxLjEtLjEtLjUtNy4yIDMuNy04LjIgNC4zLTguNiA2LjEtMTYuNSAxMi45LTIzLjggMjAuNC0xNi4zIDE2LjYtNDQuMSA1MC4yLTU1LjUgMTAxLjItNC41IDIwLjQtNi44IDQ0LjQtNi44IDUyLjMgMCAxMzQuNyAxMDkuMiAyNDMuOSAyNDMuOSAyNDMuOSAxMjAuNiAwIDIyMy04Ny4yIDI0MC40LTIwMi42IDExLjYtNzYuNy0xNC43LTEzMS4xLTE0LjctMTMyeiJdfSxKY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWRzbWl0aCIsaWNvbjpbNTEyLDUxMixbXSwiZjM4NCIsIk01MTIgMjI3LjZMNTEyIDI4NC41IDI4NC40IDUxMiAyMjcuNiA1MTIgMCAyODQuNCAwIDIyNy42IDIyNy42IDAgMjg0LjUgMCA1MTIgMjI3LjZ6bS0yNTYgMTYyYzE3LjggLjUgMzUuNi0yLjYgNTIuMi05LjFzMzEuOC0xNi4yIDQ0LjYtMjguNyAyMy0yNy4zIDI5LjktNDMuOCAxMC41LTM0LjEgMTAuNS01Mi0zLjYtMzUuNS0xMC41LTUyLTE3LjEtMzEuMy0yOS45LTQzLjgtMjgtMjIuMi00NC42LTI4LjctMzQuNC05LjYtNTIuMi05LjFjLTE3LjgtLjUtMzUuNiAyLjYtNTIuMiA5LjFzLTMxLjggMTYuMy00NC42IDI4LjctMjMgMjcuMy0yOS45IDQzLjgtMTAuNSAzNC4xLTEwLjUgNTIgMy42IDM1LjUgMTAuNSA1MiAxNy4xIDMxLjMgMjkuOSA0My44IDI4IDIyLjIgNDQuNiAyOC43IDM0LjQgOS42IDUyLjIgOS4xeiJdfSxLY3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2l6YXJkcy1vZi10aGUtY29hc3QiLGljb246WzY0MCw1MTIsW10sImY3MzAiLCJNMjE5LjIgMzQ1LjdjLTEuOSAxLjQtMTEuMSA4LjQtLjMgMjMuNiA0LjYgNi40IDE0LjEgMTIuOCAyMS43IDYuNiA2LjUtNC45IDcuNC0xMi45IC4zLTIzLTUuNS03LjgtMTQuMy0xMi45LTIxLjctNy4xem0zMzYuOCA3NS45Yy0uMyAxLjctLjYgMS43IC44IDAgMi4xLTQuMiA0LjItMTAuMiA1LTE5LjkgMy4xLTM4LjUtNDAuMy03MS41LTEwMS4zLTc4LTU0LjctNi0xMjQuNCA5LjItMTg4LjggNjAuNWwtLjMgMS42YzIuNiA1IDUgMTAuNyAzLjQgMjEuMmwuOCAuM2M2My45LTU4LjQgMTMxLjItNzcuMiAxODQuNC03My44IDU4LjQgMy43IDEwMCAzNCAxMDAgNjguMSAwIDEwLTIuNiAxNS43LTMuOSAyMC4yek0zOTIuMyAyNDAuNGMuOCA3LjEgNC4yIDEwLjIgOS4yIDEwLjUgNS41IC4zIDkuNC0yLjYgMTAuNS02LjYgLjgtMy40IDIuMS0yOS44IDIuMS0yOS44UzQwMi44IDIyMSAzOTkuMSAyMjVjLTMuNyAzLjctNy4zIDguNC02LjggMTUuNXptLTUwLTE1MS4xYy0yMDQuNSAwLTMyOS4yIDEzNy41LTM0MS41IDE1MS45LTEgLjUtMS4zIC44IC44IDEuMyA2MC41IDE2LjUgMTU1LjggODEuMiAxOTYuMSAyMDIuMmwxIC4zYzU1LjItNjkuOSAxNDAuOS0xMjguMSAyMzctMTI4LjEgODAuOSAwIDEzMC4yIDQyLjIgMTMwLjIgODAuNCAwIDE4LjMtNi42IDMzLjUtMjIuMyA0Ni4zIDAgMS0uMiAuOCAuOCAuOCAxNC43LTEwLjcgMjcuNS0yOC44IDI3LjUtNDguMiAwLTIyLjgtMTIuMS0zOC4yLTEyLjEtMzguMiA3LjEgNy4xIDEwLjcgMTYuMiAxMC43IDE2LjIgNS44LTQwLjkgMjctNjIuMyAyNy02Mi4zLTIuNC05LjctNi44LTE3LjgtNi44LTE3LjggNy42IDguMSAxNC40IDI3LjUgMTQuNCA0MS40IDAgMTAuNS0zLjQgMjIuOC0xMi42IDMxLjlsLjMgLjVjOC4xLTUgMTYuNS0xNi44IDE2LjUtMzggMC0xNS43LTQuNy0yNS45LTQuNy0yNS45IDUuOC01LjIgMTEuMy05LjIgMTYtMTEuOCAuOCAzLjQgMi4xIDkuNyAyLjQgMTQuOSAwIDEgLjggMS44IDEgMCAuOC01LjgtLjMtMTYuMi0uMy0xNi41IDYtMy4xIDkuNy00LjUgOS43LTQuNS0xNS43LTExMC4zLTE0NC0xOTYuOS0yOTEuMi0xOTYuOXpNMjQzIDM3OC45Yy0xMS4xIDktMjQuMiA0LjEtMzAuNi00LjItNy40LTkuNi02LjgtMjQuMSA0LjItMzIuNSAxNC44LTExLjQgMjcuMS0uNSAzMS4yIDUuNSAuMyAuNCAxMi4xIDE2LjYtNC43IDMxLjJ6bTIuMS0xMzYuNGw5LjQtMTcuOCAxMS44IDcxLTEyLjYgNi0yNC42LTI4LjggMTQuMS0yNi43IDMuNyA0LjQtMS44LTguMXptMTguNiAxMTcuNmwtLjMtLjNjMi00LjEtMi41LTYuNi0xNy41LTMxLjctMS4zLTIuNC0zLjEtMi45LTQuNC0yLjZsLS4zLS41YzcuOS01LjggMTUuNC0xMC4yIDI1LjQtMTUuN2wuNSAuM2MxLjMgMS44IDIuMSAyLjkgMy40IDQuN2wtLjMgLjVjLTEtLjMtMi40LS44LTUuMiAuMy0yLjEgLjgtNy45IDMuNy0xMi4zIDcuNmwwIDEuM2MxLjYgMi40IDMuOSA2LjYgNS44IDkuN2wuMyAwYzEwLTYuMyA3LjYtNC41IDExLjUtNy45bC4zIDBjLjUgMS44IC41IDEuOCAxLjggNS41bC0uMyAuM2MtMy4xIC42LTQuNyAuMy0xMS41IDUuNWwwIC4zYzkuNSAxNyAxMSAxNi44IDEyLjYgMTZsLjMgLjNjLTIuMyAxLjYtNi4zIDQuMi05LjcgNi42ek0zMTkgMzI3LjZjLTMuMSAxLjYtNiAyLjktMTAgNWwtLjMtLjNjMS4zLTIuNiAxLjItMi43LTExLjgtMzIuNWwtLjMtLjNjLS4yIDAtOC45IDMuNy0xMCA3LjNsLS41IDAtMS01LjggLjMtLjVjNy4zLTQuNiAyNS41LTExLjYgMjcuOC0xMi42bC41IC4zIDMuMSA1LS4zIC41Yy0zLjUtMS44LTcuNCAuOC0xMi4zIDIuNmwwIC4zYzEyLjMgMzIgMTIuNyAzMC42IDE0LjcgMzAuNmwwIC4yem00NC44LTE2LjVjLTQuMiAxLTUuMiAxLjMtOS43IDIuOWwtLjMtLjMgLjUtNC41Yy0xLTMuNC0zLjEtMTEuNS0zLjctMTMuNmwtLjMtLjNjLTMuNCAuOC04LjkgMi42LTEyLjggMy45bC0uMyAuM2MuOCAyLjYgMy4xIDkuOSA0LjIgMTMuOSAuOCAyLjQgMS44IDIuOSAyLjkgMy4xbDAgLjVjLTMuNyAxLTcuMSAyLjYtMTAuMiAzLjlsLS4zLS4zYzEtMS4zIDEtMi45IC4zLTUtMS0zLjEtOC4xLTIzLjgtOS4yLTI3LjItLjUtMS44LTEuNi0zLjEtMi42LTMuMWwwLS41YzMuMS0xIDYtMi4xIDEwLjctMy40bC4zIC4zLS4zIDQuN2MxLjMgMy45IDIuNCA3LjYgMy4xIDkuN2wuMyAwYzMuOS0xLjMgOS40LTIuOSAxMi44LTMuOWwuMy0uMy0yLjYtOS40Yy0uNS0xLjgtMS0zLjQtMi42LTMuOWwwLS4zYzQuNC0xIDcuMy0xLjggMTAuNy0yLjRsLjMgLjNjLTEgMS4zLTEgMi45LS41IDQuNCAxLjYgNi4zIDQuNyAyMC40IDYuMyAyNi41IC41IDIuNiAxLjggMy40IDIuNiAzLjl6bTMyLjItNi44bC0uMyAuM2MtNC43IC41LTE0LjEgMi40LTIyLjUgNC4ybC0uMy0uMyAuOC00LjJjLTEuNi03LjktMy40LTE4LjYtNS0yNi4yLS4zLTEuOC0uOC0yLjktMi42LTMuN2wuOC0uNWM5LjItMS42IDIwLjItMi40IDI0LjktMi42bC4zIC4zYy41IDIuNCAuOCAzLjEgMS42IDUuNWwtLjMgLjNjLTEuMS0xLjEtMy4zLTMuMi0xNi4yLS44bC0uMyAuM2MuMyAxLjYgMSA2LjYgMS42IDkuOWwuMyAuM2M5LjUtMS43IDQuOC0uMSAxMC43LTIuNGwuMyAwYzAgMS42LS4zIDEuOC0uMyA1LjJsLS4zIDBjLTQuOC0xLTIuMi0uOS0xMC4yIDBsLS4zIC4zYy4zIDIuMSAxLjYgOS40IDIuMSAxMi42bC4zIC4zYzEuMiAuNCAxNC4yLS42IDE2LjItNC43bC4zIDBjLS41IDIuNC0xIDQuMi0xLjYgNnptMTAuNy00NC41Yy00LjUgMi40LTguMSAyLjktMTEgMi45LS4yIDAtMTEuNCAxLjEtMTcuNS0xMC02LjctMTAuOC0xLTI1LjIgNS41LTMxLjcgOC44LTguMSAyMy40LTEwLjEgMjguNS0xNyA4LTEwLjMtMTMtMjIuMy0yOS42LTUuOGwtMi42LTIuOSA1LjItMTYuMmMyNS42LTEuNiA0NS4yLTMgNTAgMTYuMiAuOCAzLjEgMCA5LjQtLjMgMTIuMSAwIDIuNi0xLjggMTguOC0yLjEgMjMtLjUgNC4yLS44IDE4LjMtLjggMjAuNyAuMyAyLjQgLjUgNC4yIDEuNiA1LjUgMS42IDEuOCA1LjggMS44IDUuOCAxLjhsLS44IDQuN2MtMTEuOC0xLjEtMTAuMy0uNi0yMC40LTEtMy4yLTUuMS0yLjItMy4zLTQuMi03LjkgMCAwLTQuMiAzLjktNy4zIDUuNXpNNDQzLjkgMjgxYy02LjQtMTAuNi0xOS44LTcuMi0yMS43IDUuNS0yLjYgMTcuMSAxNC4zIDE5LjggMjAuNyAxMC4ybC4zIC4zYy0uNSAxLjgtMS44IDYtMS44IDYuM2wtLjUgLjVjLTEwLjMgNi45LTI4LjUtMi41LTI1LjctMTguNiAxLjktMTAuOSAxNC40LTE4LjkgMjguOC05LjlsLjMgLjVjMCAxLjEtLjMgMy40LS4zIDUuM3ptNS44LTg3LjdsMC02LjZjLjcgMCAxOS42IDMuMyAyNy44IDcuM2wtMS42IDE3LjVzMTAuMi05LjQgMTUuNC0xMC43YzUuMi0xLjYgMTQuOSA3LjMgMTQuOSA3LjNsLTExLjMgMTEuM2MtMTIuMS02LjQtMTkuNi0uMS0yMC43IC44LTUuMyAzOC43LTguNiA0Mi4yIDQuNCA0Ni4xbC0uNSA0LjdjLTE3LjYtNC4zLTE4LjUtNC41LTM2LjktNy4zbC44LTQuN2M3LjMgMCA3LjUtNS4zIDcuNi02LjggMCAwIDUtNTMuMiA1LTU1LjMgMC0yLjktNS0zLjctNS0zLjd6bTExIDExNC40Yy04LjEtMi4xLTE0LjEtMTEtMTAuNy0yMC43IDMuMS05LjQgMTIuMy0xMi4zIDE4LjktMTAuMiA5LjIgMi42IDEyLjggMTEuOCAxMC43IDE5LjQtMi42IDguOS05LjQgMTMuOS0xOC45IDExLjV6bTQyLjIgOS43Yy0yLjQtLjUtNy4xLTIuNC04LjYtMi45bDAtLjMgMS42LTEuOGMuNi04LjIgLjYtNy4zIC4zLTcuNi00LjgtMS44LTYuNy0yLjQtNy4xLTIuNC0xLjMgMS44LTIuOSA0LjUtMy43IDUuNWwtLjggMy40IDAgLjNjLTEuMy0uMy0zLjktMS4zLTYtMS42bDAtLjMgMi42LTEuOGMzLjQtNC43IDEwLTE0LjEgMTMuOS0yMC4ybDAtMi4xIC41LS4zYzIuMSAuOCA1LjUgMi4xIDcuNiAyLjkgLjUgLjUgLjItMS45LTEgMjUuMS0uMiAxLjggMCAyLjYgLjggMy45em0tNC43LTg5LjhjMTEuMy0xOC4zIDMwLjgtMTYuMiAzNC0zLjRsNy42LTI2LjJjMi4zLTYuMi0yLjgtOS45LTQuNS0xMS4zbDEuOC0zLjdjMTIuMiAxMC40IDE2LjQgMTQgMjIuNSAyMC40LTI1LjkgNzMuMS0zMC44IDgwLjgtMjQuNiA4NC4zbC0xLjggNC40Yy02LjQtMy4zLTguOS00LjQtMTcuOC04LjZsMi4xLTYuOGMtLjMtLjMtMy45IDMuOS05LjcgMy43LTE5LjEtMS4zLTIyLjktMzEuNy05LjctNTIuOXptMjkuMyA3OS4zYzAtNS43LTYuMy03LjktNy45LTUuMi0xLjMgMi4xIDEgNSAyLjkgOC40IDEuNiAyLjYgMi42IDYuMyAxIDkuNC0yLjYgNi4zLTEyLjQgNS4zLTE1LjQtLjggMC0uNy0uMyAuMSAxLjgtNC43bC44LS4zYy0uNiA1LjcgNi4xIDkuNiA4LjQgNSAxLTIuMS0uNS01LjUtMi4xLTguNC0xLjYtMi42LTMuNy02LjMtMS44LTkuNyAyLjctNS4xIDExLjMtNC41IDE0LjcgMi40bDAgLjUtMi40IDMuNHptMjEuMiAxMy40Yy0yLTMuMy0uOS0yLjEtNC41LTQuN2wtLjMgMGMtMi40IDQuMi01LjggMTAuNS04LjYgMTYuMi0xLjMgMi40LTEgMy40LS44IDMuOWwtLjMgLjMtNS44LTQuNCAuMy0uMyAyLjEtMS4zYzMuMS01LjggNi42LTEyLjEgOS4yLTE3bDAtLjNjLTIuNi0yLTEuMi0xLjUtNi0xLjhsMC0uMyAzLjEtMy40IC4zIDBjMy43IDIuNCAxMCA2LjggMTIuMyA4LjlsLjMgLjMtMS4zIDMuOXpNNTc1LjggMjc2bC0yLjktMi45Yy44LTIuNCAxLjgtNSAyLjEtNy42IC43LTkuNy0xMS41LTExLjgtMTEuNS01IDAgNSA3LjkgMTkuNCA3LjkgMjcuOCAwIDEwLjItNS44IDE1LjctMTMuOSAxNi41LTguNCAuOC0yMC4yLTEwLjUtMjAuMi0xMC41bDUtMTQuNCAyLjkgMi4xYy0zIDE3LjggMTcuNyAyMC40IDEzLjMgNS4yLTEuMS00LTE4LjctMzQuMiAyLjEtMzguMiAxMy42LTIuNCAyMyAxNi41IDIzIDE2LjVMNTc1LjggMjc2em0zNS42LTEwLjJjLTExLTMwLjQtNjAuNS0xMjcuNS0xOTItMTI5LjYtNTMuNC0xLTk0LjMgMTUuNC0xMzIuOCAzOGw4NS42LTkuMi05MS40IDIwLjcgMjUuMSAxOS42LTMuOS0xNi41YzcuNS0xLjcgMzkuMS04LjUgNjYuOC04LjlsLTIyLjMgODAuNGMxMy42LS43IDE5LTkgMTkuNi0yMi44bDUtMSAuMyAyNi43Yy0yMi41IDMuMi0zNy4zIDYuNy00OS41IDkuOWwxMy4xLTQzLjItNjEuNS0zNi43IDIuNCA4LjEgMTAuMiA1YzYuMyAxOC42IDE5LjQgNTYuNiAyMC40IDU4LjcgMiA0LjMgMy4yIDUuOCAxMiA0LjVsMS4xIDVjLTE2LjEgNC45LTIzLjcgNy42LTM5IDE0LjRsLTIuNC00LjdjNC40LTIuOSA4LjctMy45IDUuNS0xMi44LTIzLjctNjIuNS0yMS41LTU4LjEtMjIuOC01OS40bDIuNC00LjQgMzMuNSA2Ny4zYy0zLjgtMTEuOSAxLjcgMS43LTMzLTc4LjhsLTQxLjkgODguNSA0LjctMTMuOS0zNS45LTQyLjIgMjcuOCA5My41LTExLjggOC40Yy0xMTEuOS0xMDEuNy0xMDUuOC05OC40LTExMy43LTk4LjctNS41LS4zLTEzLjYgNS41LTEzLjYgNS41bC01LTZjMzAuNi0yMy41IDMxLjYtMjQuMyA1OC40LTQyLjdsNC4yIDcuMXMtNS44IDQuMi03LjkgNy4xYy01LjkgOS4zIDEuNyAxMy4zIDYxLjggNzUuN2wtMTguOC01OC45IDM5LjgtMTAuMiAyNS43IDMwLjYgNC40LTEyLjMtNS0yNC42IDEzLjEtMy40IC41IDMuMSAzLjctMTAuNS05NC4zIDI5LjMgMTEuMy01LTEzLjYtNDIuNCAxNy4zLTkuMiAzMC4xIDM2LjEgMjguNS0xMy4xYy0xLjQtNy41LTIuNS0xNC41LTQuNy0xOS42bDE3LjMgMTMuOSA0LjctMi4xLTU5LjItNDIuNyAyMy4xIDExLjVjMTktNi4xIDI1LjItNy41IDMyLjItOS43bDIuNiAxMWMtMTIuNiAxMi42IDEuNCAxNi44IDYuNSAxOS40bC0xMy42LTYxIDEyIDI4LjNjNC4yLTEuMyA3LjMtMi4xIDcuMy0yLjFsMi42IDguNnMtMy4xIDEtNi4zIDIuMWw4LjkgMjEgMzMuOC02NS43LTIwLjcgNjFjNDIuNC0yNC4xIDgxLjQtMzYuNyAxMzItMzUuOSA2NyAxIDE2Ny4zIDQwLjggMTk5LjggMTM5LjggLjggMi4xIDAgMi42LS44IC4zem0tNDA4LTExMy40czEuOC0uNSA0LjItMS4zbDkuNCA3LjZjLS40IDAtMy40LS4zLTExLjMgMi40bC0yLjQtOC42em0xNDMuOCAzOC41Yy0xLjYtLjYtMjYuNS00LjgtMzMuMyAyMC43bDIxLjcgMTcgMTEuNS0zNy43ek0zMTguNCA2Ny4xYy01OC40IDAtMTA2LjEgMTItMTE1IDE0LjRsMCAuOGM4LjQgMi4xIDE0LjQgNC4yIDIxLjIgMTEuOGwxLjYgLjNjNi42LTEuOCA0OS0xMy45IDExMC4yLTEzLjkgMTgwLjIgMCAzMDEuNyAxMTYuOCAzMDEuNyAyMjMuNGwwIDEwYzAgMS4zIC44IDIuNiAxLjEgLjUgLjUtMi4xIC44LTguNiAuOC0xOS42IC4zLTgzLjgtOTYuNi0yMjcuNi0zMjEuNi0yMjcuNnpNNTI5LjUgMjM2LjhjMS4zLTUuOCAwLTEyLjMtNy4zLTEzLjEtOS42LTEuMS0xNi4xIDIzLjgtMTcgMzMuNS0uOCA1LjUtMS4zIDE0LjkgNiAxNC45IDQuNyAwIDkuNy0uOSAxOC4zLTM1LjR6TTQ2OCAyNzkuN2MtMi42LS44LTkuNC0uOC0xMi42IDEwLjUtMS44IDYuOCAuNSAxMy40IDYgMTQuNyAzLjcgMS4xIDguOSAuNSAxMS44LTEwLjcgMi42LTkuOS0xLjgtMTMuNi01LjItMTQuNHptMjMgMjFjMS44IC41IDMuMSAxIDUuOCAxLjggMC0xLjggLjUtOC40IC44LTEyLjEtMSAxLjMtNS41IDguMS02LjYgMTBsMCAuM3oiXX0sZTB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtbmQiLGljb246WzUxMiw1MTIsW10sImY0ZWIiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zem05NCAxNDQuM2wwIDQyLjUtMTgwLjMgMCAwLTQyLjUgMTgwLjMgMHptMCA3OS44bDAgNDIuNS0xODAuMyAwIDAtNDIuNSAxODAuMyAweiJdfSx0MHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidXNwcyIsaWNvbjpbNTEyLDUxMixbXSwiZjdlMSIsIk00MjguMyAyNDEuN2MyNS44LTQxLjMgMTUuMi00OC44LTExLjctNDguOGwtMjcgMGMtLjEgMC0xLjUtMS40LTEwLjkgOC0xMS4yIDUuNi0zNy45IDYuMy0zNy45IDguNyAwIDQuNSA3MC4zLTMuMSA4OC4xIDAgOS41IDEuNS0xLjUgMjAuNC00LjQgMzItLjUgNC41IDIuNCAyLjMgMy44IC4xek0zMTYuMiAyNjQuM2M2NC0yMS4zIDk3LjMtMjMuOSAxMDItMjYuMiA0LjQtMi45LTQuNC02LjYtMjYuMi01LjgtNTEuNyAyLjItMTM3LjYgMzcuMS0xNzIuNiA1My45bC0zMC43LTkzLjMgMTk2LjYgMGMtMi43LTI4LjItMTUyLjktMjIuNi0zMzcuOS0yMi42TC01IDQxNS44YzE5Ni40LTk3LjMgMjU4LjktMTMwLjMgMzIxLjItMTUxLjV6TTYyLjcgOTZjMjUzLjMgNTMuNyAzMzAgNjUuNyAzMzIuMSA4NS4yIDM2LjQgMCA0NS45IDAgNTIuNCA2LjYgMjEuMSAxOS43LTE0LjYgNjcuNy0xNC42IDY3LjctNC40IDIuOS00MDYuNCAxNjAuMi00MDYuNCAxNjAuMkw0NDkuMyA0MTUuNyA1MTcgOTYgNjIuNyA5NnoiXX0scjB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1sZXR0ZXJib3hkIixpY29uOls0NDgsNTEyLFtdLCJlNjJlIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTEwNS4xIDE4N0M2Ni40IDE4NyAzNSAyMTguMyAzNSAyNTdzMzEuNCA3MCA3MC4xIDcwYzI0LjggMCA0Ni41LTEyLjggNTktMzIuMmwuNS0uNy0uNC0uNmMtNi41LTEwLjYtMTAuMi0yMy4xLTEwLjItMzYuNSAwLTEzLjYgMy45LTI2LjMgMTAuNi0zNy4xLTEyLjQtMTkuOC0zNC40LTMyLjktNTkuNS0zMi45ek0yMjQgMTg3Yy0yNC44IDAtNDYuNSAxMi44LTU5IDMyLjJsLS41IC43IC40IC42YzYuNSAxMC42IDEwLjIgMjMuMSAxMC4yIDM2LjUgMCAxMy42LTMuOSAyNi4zLTEwLjYgMzcuMSAxMi40IDE5LjcgMzQuNCAzMi45IDU5LjUgMzIuOSAyNC44IDAgNDYuNS0xMi44IDU5LTMyLjJsLjUtLjctLjQtLjZjLTYuNS0xMC42LTEwLjItMjMuMS0xMC4yLTM2LjUgMC0xMy42IDMuOS0yNi4zIDEwLjYtMzcuMS0xMi40LTE5LjctMzQuNC0zMi45LTU5LjUtMzIuOXptMTE4LjkgMGMtMjQuOCAwLTQ2LjUgMTIuOC01OSAzMi4ybC0uNSAuNyAuNCAuNmM2LjUgMTAuNiAxMC4yIDIzLjEgMTAuMiAzNi41IDAgMTMuNi0zLjkgMjYuMy0xMC42IDM3LjEgMTIuNCAxOS44IDM0LjQgMzIuOSA1OS41IDMyLjkgMzguNyAwIDcwLjEtMzEuMyA3MC4xLTcwcy0zMS40LTcwLTcwLjEtNzB6Il19LGEwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtYW5kYWxvcmlhbiIsaWNvbjpbMzg0LDUxMixbXSwiZjUwZiIsIk0yMDAuNiA1MTEuOWMtMS0zLjMtMS43LTE1LjgtMS40LTI0LjYgLjYtMTUuOSAxLTI0LjcgMS40LTI4LjggLjYtNi4yIDIuOS0yMC43IDMuMy0yMS40IC42LTEgLjQtMjcuOS0uMi0zMy4xLS4zLTIuNi0uNi0xMS45LS43LTIwLjctLjEtMTYuNS0uNS0yMC4xLTIuNy0yNC44LTEuMS0yLjMtMS4yLTMuOC0xLTExLjQgLjItNC4yIC4xLTguNS0uMy0xMi43LTItMTMtMy41LTI3LjctMy4yLTMzLjlzLjQtNy4xIDIuMS05LjdjMy4xLTQuNyA2LjUtMTQgOC42LTIzLjMgMi4zLTkuOSAzLjktMTcuMiA0LjYtMjAuNyAxLjEtNS4xIDIuNi0xMC4xIDQuNC0xNS4xIDIuMy02LjIgMi41LTE1LjQgLjQtMTUuNC0uMyAwLTEuNCAxLjItMi40IDIuN3MtNC44IDQuOC04LjMgNy40Yy04LjQgNi4xLTExLjcgOS40LTEyLjcgMTIuNnMtMSA3LjItLjIgNy44Yy4zIC4yIDEuMyAyLjQgMi4xIDQuOSAxLjYgNSAxLjkgMTAuMyAuNyAxNS40LS40IDEuOC0xIDUuNS0xLjUgOC4ycy0xIDYuNS0xLjMgOC4yYy0uMiAxLjUtLjcgMy0xLjUgNC4zLTEgMS0xLjEgLjktMi4xLS41LS43LTEuNS0xLjItMy4xLTEuNC00LjctLjItMS43LTEuNi03LjEtMy4xLTExLjktMy4zLTEwLjktMy41LTE2LjItMS0yMSAuOC0xLjQgMS40LTMgMS43LTQuNiAwLTIuNC0yLjItNS4zLTcuNC05LjktNy02LjItOC42LTcuOS0xMC4yLTExLjMtMS43LTMuNi0zLjEtNC4xLTQuNS0xLjUtMS44IDMtMi42IDkuMS0zIDIybC0uMyAxMi4yIDIgMi4yYzMuMiAzLjcgMTIuMSAxNi41IDEzLjggMTkuOCAzLjQgNi43IDQuMyAxMS43IDQuNCAyMy42czEgMjIuOCAyIDI0LjdjLjQgLjcgLjUgMS40IC4zIDEuNXMuNCAyLjEgMS4zIDQuM2MxIDIuOSAxLjcgNS45IDIuMSA5IC40IDMuNSAuOSA3IDEuNyAxMC40IDIuMiA5LjYgMi44IDE0LjEgMi40IDIwLjEtLjIgMy4zLS41IDExLjEtLjcgMTcuMy0xLjMgNDEuOC0xLjggNTgtMiA2MS4yLS4xIDItLjQgMTEuNS0uNiAyMS4xLS40IDE2LjMtMS4zIDI3LjQtMi40IDI4LjYtLjYgLjctOC4xLTQuOS0xMi41LTkuNS0zLjgtMy45LTQtNC44LTIuOC05LjkgLjctMyAyLjMtMTguMyAzLjMtMzIuNiAuNC00LjggLjgtMTAuNSAxLTEyLjcgLjgtOS40IDEuNy0yMC4zIDIuNi0zNC44IC42LTguNSAxLjMtMTYuNCAxLjctMTcuN3MuOS05LjkgMS4xLTE5LjFsLjQtMTYuOC0yLjMtNC4zYy0xLjctMy4zLTQuOS02LjktMTMuMi0xNS4zLTYtNi4xLTExLjgtMTIuMy0xMi45LTEzLjhsLTItMi44IC44LTEwLjljMS4xLTE1LjcgMS4xLTQ4LjYgMC01OS4xbC0uOS04LjctMy4zLTQuNWMtNS45LTguMS01LjgtNy43LTYuMi0zMy4zLS4xLTYuMS0uNC0xMS41LS42LTEyLjEtLjgtMS45LTMtMi43LTguNS0zLTguOS0uNi0xMS0xLjktMjMuOC0xNC42LTYuMi02LTEyLjMtMTItMTMuOC0xMy4yLTIuOC0yLjQtMi44LTItLjYtOS42bDEuNC00LjYtMS43LTNjLS44LTEuNC0xLjYtMi44LTIuNi00LjEtMS4zLTEuNS01LjUtMTAuOS02LTEzLjUtLjItLjctLjItMS40LS4xLTIuMXMuNS0xLjMgLjktMS44YzIuMi0yLjkgMy40LTUuNyA0LjUtMTAuNyAyLjMtMTEuMiA3LjctMjYuMSAxMC42LTI5LjIgMy4yLTMuNSA3LjctMSA5LjQgNSAxLjMgNC44IDEuNCA5LjggLjEgMTguNi0uNSAzLjctLjkgNy40LTEgMTEuMSAwIDQgLjIgNC43IDIuMyA3LjQgMy4zIDQuNCA3LjcgNy40IDE1LjIgMTAuNSAxLjcgLjcgMy4zIDEuNyA0LjcgMi44IDExLjIgMTAuNyAxOC42IDE2LjIgMjIuOSAxNi45IDUuMiAuOCA4IDQuNSAxMCAxMy40IDEuMyA1LjcgNCAxMS4xIDUuNSAxMS4xIDEuMi0uMiAyLjMtLjcgMy4zLTEuNCAyLTEuMiAyLjItMS43IDIuMi00LjItLjMtNi0uOS0xMS45LTItMTcuOC0uNC0xLjctLjgtNC4xLS45LTUuNHMtLjYtMy44LTEtNS43Yy0yLjYtMTEuMi0zLjYtMTUuNS00LjEtMTYtMS42LTItNC4xLTEwLjItNC45LTE1LjktMS42LTExLjEtNC0xNC4yLTEyLjktMTcuNC00LjktMS44LTkuNC00LjUtMTMuMy03LjktMS4yLTEtNC0zLjItNi40LTUuMXMtNC40LTMuNS00LjYtMy44Yy0uOC0uNy0xLjctMS40LTIuNy0yLTYuMi00LjItOC44LTctMTEuMy0xMmwtMi40LTVjLS4xLTguNy0uMy0xNy4zLS40LTI2bDYuOS02LjZjNC0zLjggOC41LTcuNCAxMC42LTguNCAzLjMtMS43IDQuNC0xLjkgMTEuNC0yIDguNS0uMiAxMC4xIDAgMTEuNyAxLjZzMS40IDYuNC0uMyA4LjVjLS42IC43LTEuMSAxLjUtMS4zIDIuMyAwIC42LTIuNiA0LjktNS40IDktMS4xIDIuMi0xLjkgNC41LTIuNCA2LjggMjAuNCAxMy40IDIxLjYgMy44IDE0LjEgMjlsMTEuNCAyLjVjMy4xLTguNyA2LjUtMTcuMyA4LjYtMjYuMiAuMy03LjYtMTItNC4yLTE1LjQtOC43LTIuMy01LjkgMy4xLTE0LjIgNi4xLTE5LjIgMS42LTIuMyA2LjYtNC43IDguOC00LjEgLjkgLjIgNC4yLS40IDcuNC0xLjMgMi41LS44IDUtMS4zIDcuNS0xLjcgMi0uMiA0LjEtLjcgNi0xLjMgMy43LTEuMSA0LjUtMS4yIDYuMy0uNCAxLjkgLjYgMy44IDEuMSA1LjggMS40IDIuMSAuMyA0LjEgLjkgNiAxLjkgMS42IC45IDMuMyAxLjcgNSAyLjIgMi41IC43IDMgLjYgNy0xLjdMMjI2IDUuNCAyMzYuNyA1YzEwLjQtLjQgMTAuOC0uNSAxNS4zLTIuN0wyNTYuNSAwIDI1OSAxLjRjMS44IDEgMy4xIDIuNyA0LjkgNiAyLjQgNC41IDIuNCA0LjYgMS40IDcuNC0uOSAyLjQtLjkgMy4zLS4xIDYuNCAuNSAyIDEuMiA0IDIuMSA1LjkgLjYgMS4zIDEuMSAyLjYgMS4zIDQgLjMgNC4zIDAgNS4zLTIuNCA2LjktMi4yIDEuNS03IDcuOS03IDkuMy0uMiAxLS42IDItMS4xIDMtNSAxMS41LTYuOCAxMy42LTE0LjMgMTctOS4yIDQuMi0xMi4zIDUuMi0xNi4yIDUuMi0zLjEgMC00IC4yLTQuNSAxLjMtMS4yIDEuNC0yLjUgMi43LTQuMSAzLjctMS44IDEuMi0zLjMgMi45LTQuNCA0LjgtLjUgMS4yLTEuNCAyLjItMi41IDIuOS0uOSAuNC0xLjggMS0yLjUgMS43LTIuMiAxLjktNC42IDMuNy03IDUuNC0zLjMgMi4zLTYuOSA1LTcuOSA2LS43IC43LTEuNSAxLjMtMi40IDEuNy0uOCAuNC0xLjYgLjktMi4xIDEuNi0xLjMgMS40LTEuNSAyLjEtMS4xIDQuNiAuMyAyIC44IDQgMS40IDUuOSAxLjMgMy44IDEuMyA3LjkgMCAxMC42cy0uOSA2LjcgMS40IDkuNmMyIDIuNiAyLjIgNC42IC43IDguOC0uOCAyLjktMS4xIDUuOS0xLjEgOC45IDAgNC45IC4yIDYuMyAxLjUgOC40czEuOCAyLjUgMy4yIDIuM2MyLS4yIDIuMy0xLjEgNC43LTEyLjEgMi4yLTEwIDMuNy0xMS45IDEzLjgtMTcuMSAyLjktMS41IDcuNS00IDEwLTUuNHM2LjgtMy43IDkuNC00LjljNS45LTIuNiAxMS4yLTYuNiAxNS4yLTExLjcgNy4xLTguOCAxMC0xNi4yIDEyLjgtMzMuMyAuNC0yLjggMS4zLTUuNCAyLjktNy43IDEuNC0yLjIgMi40LTQuNyAyLjktNy4zIDEtNS4zIDIuOS05LjEgNS42LTExLjUgNC43LTQuMiA2LTEuMSA0LjYgMTAuOS0uNSAzLjktMS4xIDEwLjMtMS40IDE0LjRsLS42IDcuNGMzIDIuNyA1LjkgNS41IDguOSA4LjJsLjEgOC40Yy4xIDQuNiAuNSA5LjUgLjkgMTAuOWwuOCAyLjUtNi40IDYuM2MtOC41IDguMy0xMi45IDEzLjktMTYuOCAyMS42LTEuOCAzLjUtMy43IDcuMS00LjQgOC0yLjIgMy4xLTYuNSAxMy04LjggMjAuM2wtMi4zIDcuMi03IDYuNWMtMy44IDMuNi04IDcuMi05LjIgOC4yLTMgMi4zLTQuMyA1LjEtNC4zIDEwLS4xIDIuNSAuNCA1IDEuNiA3LjMgLjggMS42IDEuNSAzLjIgMi4xIDQuOCAuMyAxIC45IDIgMS42IDIuOSAxLjQgMS42IDEuOSAxNi4xIC44IDIzLjItLjcgNC41LTMuNiAxMi00LjcgMTItMS44IDAtNC4xIDkuMy01LjEgMjAuNy0uMiAyLS42IDUuOS0xIDguN3MtMSAxMC0xLjQgMTZjLS44IDEyLjItLjIgMTguOCAyIDIzLjIgMy40IDYuNyAuNSAxMi43LTExIDIyLjhsLTQgMy41IC4xIDUuMmMuMSAzIC40IDYgMS4xIDguOSA0LjYgMTYgNC43IDE2LjkgNC40IDM3LjEtLjUgMjYuNC0uMyA0MC4zIC42IDQ0LjIgLjUgMi4zIC45IDQuNiAxLjEgNyAuMiAyIC43IDUuMyAxLjEgNy40IC41IDIuMyAuOCAxMSAuOCAyMi43bDAgMTkuMS0xLjggMi42Yy0yLjcgMy45LTE1LjEgMTMuNS0xNS41IDEyLjNsLjEgMHptMjkuNS00NS4xYy0uMi0uMy0uMy02LjktLjMtMTQuNiAwLTE0LjEtLjktMjcuNS0yLjMtMzQuNC0uNC0yLS44LTkuNy0uOS0xNy4xLS4yLTExLjktMS40LTI0LjQtMi42LTI2LjQtLjctMS4xLTMtMTcuNy0zLTIxLjMgMC00LjIgMS02IDUuMy05LjFzNC45LTMuMSA1LjUtLjdjLjMgMS4xIDEuNCA1LjYgMi42IDEwIDMuOSAxNS4xIDQuMSAxNi4zIDQgMjEuNy0uMSA1LjgtLjEgNi4xLTEuNyAxNy43LTEgNy4xLTEuMiAxMi40LTEgMjguNCAuMiAxOS40LS42IDM1LjctMiA0MS4zLS43IDIuOC0yLjggNS41LTMuNCA0LjRsLS4xIDB6bS03MS0zNy42Yy0uOC0zLjYtMS4zLTcuMi0xLjctMTAuOHMtMS03LjItMS43LTEwLjhjLS41LTIuMS0uOS00LjMtMS02LjUtLjMtMy4yLS45LTcuNS0xLjMtOS41LTEtNC44LTMuMy0xOS40LTMuNC0yMS4xIDAtLjctLjMtNC0uNy03LjQtLjctNi4yLS44LTI3LjctLjItMjguMyAxLTEgNi42IDIuOCAxMS4zIDcuNGw1LjMgNS4zLS40IDYuNWMtLjIgMy42LS42IDEwLjItLjggMTQuOC0uNSAxMy4zLS43IDguNy0xLjYgMjguNC0uOCAxNy40LTEuOSAzMS4zLTIuNiAzMi0uMSAuMS0uMiAuMS0uMiAuMnMtLjIgMC0uMyAwLS4yIDAtLjMtLjEtLjEtLjEtLjItLjJsMCAwek03MiAxNjIuNmMyMS4xIDEyLjggMTcuOCAxNC4yIDI4LjUgMTcuNyAxMyA0LjMgMTguOSA3LjEgMjMuMiAxNi45LTQzLjcgMzYuMS02OSA1Ny45LTc2LjcgNzAuOS0zMSA1Mi02IDEwMS42IDYyLjggODcuMi0xNC4yIDI5LjItNzggMjguNi05OC43LTQuOS0yNC43LTQwLTIyLjEtMTE4LjMgNjEtMTg3LjdsMCAwem0yMTAuOCAxNzljNTYuNyA2LjkgODIuMy0zNy43IDQ2LjUtODkuMiAwIDAtMjYuOS0yOS4zLTY0LjMtNjggMy0xNS41IDkuNS0zMi4xIDMwLjYtNTMuOCA4OS4yIDYzLjUgOTIgMTQxLjYgOTIuNSAxNDkuNCA0LjMgNzAuNi03OC43IDkxLjItMTA1LjMgNjEuN2wwIDB6Il19LEIxZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzbGFjayIsaWNvbjpbNDQ4LDUxMixbNjI0NDcsInNsYWNrLWhhc2giXSwiZjE5OCIsIk05NC4xIDMxNS4xYzAgMjUuOS0yMS4yIDQ3LjEtNDcuMSA0Ny4xUzAgMzQxIDAgMzE1LjEgMjEuMiAyNjggNDcuMSAyNjhsNDcuMSAwIDAgNDcuMXptMjMuNyAwYzAtMjUuOSAyMS4yLTQ3LjEgNDcuMS00Ny4xUzIxMiAyODkuMiAyMTIgMzE1LjFsMCAxMTcuOGMwIDI1LjktMjEuMiA0Ny4xLTQ3LjEgNDcuMXMtNDcuMS0yMS4yLTQ3LjEtNDcuMWwwLTExNy44em00Ny4xLTE4OWMtMjUuOSAwLTQ3LjEtMjEuMi00Ny4xLTQ3LjFTMTM5IDMyIDE2NC45IDMyIDIxMiA1My4yIDIxMiA3OS4xbDAgNDcuMS00Ny4xIDB6bTAgMjMuN2MyNS45IDAgNDcuMSAyMS4yIDQ3LjEgNDcuMVMxOTAuOCAyNDQgMTY0LjkgMjQ0TDQ3LjEgMjQ0QzIxLjIgMjQ0IDAgMjIyLjggMCAxOTYuOXMyMS4yLTQ3LjEgNDcuMS00Ny4xbDExNy44IDB6bTE4OSA0Ny4xYzAtMjUuOSAyMS4yLTQ3LjEgNDcuMS00Ny4xUzQ0OCAxNzEgNDQ4IDE5Ni45IDQyNi44IDI0NCA0MDAuOSAyNDRsLTQ3LjEgMCAwLTQ3LjF6bS0yMy43IDBjMCAyNS45LTIxLjIgNDcuMS00Ny4xIDQ3LjFTMjM2IDIyMi44IDIzNiAxOTYuOWwwLTExNy44QzIzNiA1My4yIDI1Ny4yIDMyIDI4My4xIDMyczQ3LjEgMjEuMiA0Ny4xIDQ3LjFsMCAxMTcuOHptLTQ3LjEgMTg5YzI1LjkgMCA0Ny4xIDIxLjIgNDcuMSA0Ny4xUzMwOSA0ODAgMjgzLjEgNDgwIDIzNiA0NTguOCAyMzYgNDMyLjlsMC00Ny4xIDQ3LjEgMHptMC0yMy43Yy0yNS45IDAtNDcuMS0yMS4yLTQ3LjEtNDcuMVMyNTcuMiAyNjggMjgzLjEgMjY4bDExNy44IDBjMjUuOSAwIDQ3LjEgMjEuMiA0Ny4xIDQ3LjFzLTIxLjIgNDcuMS00Ny4xIDQ3LjFsLTExNy44IDB6Il19LHhEPUIxZSxpMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW5nZWxsaXN0IixpY29uOlszODQsNTEyLFtdLCJmMjA5IiwiTTMxNS42IDIxNS40YzExLjctMzIuNiA0NS40LTEyNi45IDQ1LjQtMTU3LjEgMC0yNi42LTE1LjctNDguOS00My43LTQ4LjktNDQuNiAwLTg0LjYgMTMxLjctOTcuMSAxNjMuMS05LjctMjguNS01NS4xLTE3Mi41LTk1LjEtMTcyLjUtMzEuMSAwLTQ1LjcgMjIuOS00NS43IDUxLjcgMCAzNS4zIDM0LjIgMTI2LjggNDYuNiAxNjItNi4zLTIuMy0xMy4xLTQuMy0yMC00LjMtMjMuNCAwLTQ4LjMgMjkuMS00OC4zIDUyLjYgMCA4LjkgNC45IDIxLjQgOCAyOS43LTM2LjkgMTAtNTEuMSAzNC42LTUxLjEgNzEuNy0uMSA3Mi4yIDY4LjMgMTQ4LjYgMTY0LjUgMTQ4LjYgMTE4IDAgMTkxLjQtODguNiAxOTEuNC0yMDIuOSAwLTQzLjEtNi45LTgyLTU0LjktOTMuN3pNMjgwLjIgMTA4YzQtMTIuMyAyMS4xLTY0LjMgMzcuMS02NC4zIDguNiAwIDEwLjkgOC45IDEwLjkgMTYgMCAxOS4xLTM4LjYgMTI0LjYtNDcuMSAxNDhsLTM0LTYgMzMuMS05My43ek0xMTAuOCA0OC4zYzAtMTEuOSAxNC41LTQ1LjcgNDYuMyA0Ny4xbDM0LjYgMTAwLjNjLTE1LjYtMS4zLTI3LjctMy0zNS40IDEuNC0xMC45LTI4LjgtNDUuNS0xMTkuNy00NS41LTE0OC44ek0xMDguNSAyNDRjMjkuMyAwIDY3LjEgOTQuNiA2Ny4xIDEwNy40IDAgNS4xLTQuOSAxMS40LTEwLjYgMTEuNC0yMC45IDAtNzYuOS03Ni45LTc2LjktOTcuNyAuMS03LjcgMTIuNy0yMS4xIDIwLjQtMjEuMXpNMjkyLjggNDMwLjNjLTI5LjEgMzItNjYuMyA0OC42LTEwOS43IDQ4LjYtNTkuNCAwLTEwNi4zLTMyLjYtMTI4LjktODguMy0xNy4xLTQzLjQgMy44LTY4LjMgMjAuNi02OC4zIDExLjQgMCA1NC4zIDYwLjMgNTQuMyA3My4xIDAgNC45LTcuNyA4LjMtMTEuNyA4LjMtMTYuMSAwLTIyLjQtMTUuNS01MS4xLTUxLjQtMjkuNyAyOS43IDIwLjUgODYuOSA1OC4zIDg2LjkgMjYuMSAwIDQzLjEtMjQuMiAzOC00MiAzLjcgMCA4LjMgLjMgMTEuNy0uNiAxLjEgMjcuMSA5LjEgNTkuNCA0MS43IDYxLjcgMC0uOSAyLTcuMSAyLTcuNCAwLTE3LjQtMTAuNi0zMi42LTEwLjYtNTAuMyAwLTI4LjMgMjEuNy01NS43IDQzLjctNzEuNyA4LTYgMTcuNy05LjcgMjcuMS0xMy4xIDkuNy0zLjcgMjAtOCAyNy40LTE1LjQtMS4xLTExLjItNS43LTIxLjEtMTYuOS0yMS4xLTI3LjcgMC0xMjAuNiA0LTEyMC42LTM5LjcgMC02LjcgLjEtMTMuMSAxNy40LTEzLjEgMzIuMyAwIDExNC4zIDggMTM4LjMgMjkuMSAxOC4xIDE2LjEgMjQuMyAxMTMuMi0zMSAxNzQuN3ptLTk4LjYtMTI2YzkuNyAzLjEgMTkuNyA0IDI5LjcgNi03LjQgNS40LTE0IDEyLTIwLjMgMTkuMS0yLjgtOC41LTYuMi0xNi44LTkuNC0yNS4xeiJdfSxuMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW5kcm9pZCIsaWNvbjpbNTc2LDUxMixbXSwiZjE3YiIsIk00MjAuNSAyNTMuOWEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bS0yNjUuMSAwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMjczLjctOTYuNWw0Ny45LTgzYy44LTEuMSAxLjMtMi40IDEuNS0zLjhzLjItMi43LS4xLTQuMS0uOS0yLjYtMS43LTMuNy0xLjgtMi0zLTIuNy0yLjUtMS4xLTMuOS0xLjMtMi43IDAtNCAuNC0yLjUgMS4xLTMuNiAxLjktMS45IDItMi41IDMuMmwtNDguNSA4NC4xYy0zOC44LTE3LjQtODAuOC0yNi40LTEyMy4zLTI2LjRzLTg0LjUgOS0xMjMuMyAyNi40TDExNi4yIDY0LjRjLS42LTEuMi0xLjUtMi4zLTIuNS0zLjJzLTIuMy0xLjUtMy42LTEuOS0yLjctLjUtNC0uNC0yLjcgLjYtMy45IDEuMy0yLjIgMS42LTMgMi43LTEuNCAyLjQtMS43IDMuNy0uMyAyLjctLjEgNC4xIC44IDIuNiAxLjUgMy44bDQ3LjkgODNDNjQuNSAyMDIuMiA4LjIgMjg1LjUgMCAzODRsNTc2IDBjLTguMi05OC41LTY0LjUtMTgxLjgtMTQ2LjktMjI2LjZ6Il19LHMwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZWV0dXAiLGljb246WzU3Niw1MTIsW10sImYyZTAiLCJNMTMxLjEgNDE0LjNjMS4xIDUuNy0yLjMgMTEuMS04IDEyLjMtNS40IDEuMS0xMC45LTIuMy0xMi04LTEuMS01LjQgMi4zLTExLjEgNy43LTEyLjNzMTEuMSAyLjMgMTIuMyA4em0xNDMuMSA3MS40Yy02LjMgNC42LTggMTMuNC0zLjcgMjAgNC42IDYuNiAxMy40IDguMyAyMCAzLjcgNi4zLTQuNiA4LTEzLjQgMy40LTIwLTQuMi02LjUtMTMuMS04LjMtMTkuNy0zLjd6bS04Ni00NjIuM2ExMS44IDExLjggMCAxIDAgLTQuOS0yMyAxMS44IDExLjggMCAxIDAgNC45IDIzek02Ni41IDIyNi4zYTIyLjIgMjIuMiAwIDEgMCAtMjQuNyAzNi45IDIyLjIgMjIuMiAwIDEgMCAyNC43LTM2Ljl6bTI3Mi0xNzAuOWEyMi4xIDIyLjEgMCAxIDAgLTIyLjQtMzggMjIuMSAyMi4xIDAgMSAwIDIyLjQgMzh6bS0xOTEuMSA1OGExNi45IDE2LjkgMCAxIDAgLTE4LjgtMjggMTYuOSAxNi45IDAgMSAwIDE4LjggMjh6bTM3Mi4zIDE1NmMtNy40IDEuNy0xMi4zIDkuMS0xMC42IDE2LjkgMS40IDcuNCA4LjkgMTIuMyAxNi4zIDEwLjYgNy40LTEuNCAxMi4zLTguOSAxMC42LTE2LjYtMS41LTcuNC04LjktMTIuMy0xNi4zLTEwLjl6bTM5LjctNTYuOGExMC4xIDEwLjEgMCAxIDAgLTE5LjggNC4zIDEwLjEgMTAuMSAwIDEgMCAxOS44LTQuM3ptLTgwLjMtNzMuN2ExOC44IDE4LjggMCAxIDAgMjAuNyAzMS4zIDE4LjggMTguOCAwIDEgMCAtMjAuNy0zMS4zem0tNi4zIDEzOS40YzI2LjMgNDMuMSAxNS4xIDEwMC0yNi4zIDEyOS4xLTE3LjQgMTIuMy0zNy4xIDE3LjctNTYuOSAxNy4xLTEyIDQ3LjEtNjkuNCA2NC42LTEwNS4xIDMyLjYtMS4xIC45LTIuNiAxLjctMy43IDIuOS0zOS4xIDI3LjEtOTIuMyAxNy40LTExOS40LTIyLjMtOS43LTE0LjMtMTQuNi0zMC42LTE1LjEtNDYuOS02NS40LTEwLjktOTAtOTQtNDEuMS0xMzkuNy0yOC4zLTQ2LjkgLjYtMTA3LjQgNTMuNC0xMTQuOSAyNS4xLTY2LjIgMTA3LjYtOTcuNiAxNjMuNi01NC4yIDY3LjQtMjIuMyAxMzYuMyAyOS40IDEzMC45IDEwMS4xIDQxLjEgMTIuNiA1Mi44IDY2LjkgMTkuNyA5NS4yem0tNzAgNzQuM2MtMy4xLTIwLjYtNDAuOS00LjYtNDMuMS0yNy4xLTMuMS0zMiA0My43LTEwMS4xIDQwLTEyOC0zLjQtMjQtMTkuNC0yOS4xLTMzLjQtMjkuNC0xMy40LS4zLTE2LjkgMi0yMS40IDQuNi0yLjkgMS43LTYuNiA0LjktMTEuNy0uMy02LjMtNi0xMS4xLTExLjctMTkuNC0xMi45LTEyLjMtMi0xNy43IDItMjYuNiA5LjctMy40IDIuOS0xMiAxMi45LTIwIDkuMS0zLjQtMS43LTE1LjQtNy43LTI0LTExLjQtMTYuMy03LjEtNDAgNC42LTQ4LjYgMjAtMTIuOSAyMi45LTM4IDExMy4xLTQxLjcgMTI1LjEtOC42IDI2LjYgMTAuOSA0OC42IDM2LjkgNDcuMSAxMS4xLS42IDE4LjMtNC42IDI1LjQtMTcuNCA0LTcuNCA0MS43LTEwNy43IDQ0LjYtMTEyLjYgMi0zLjQgOC45LTggMTQuNi01LjEgNS43IDMuMSA2LjkgOS40IDYgMTUuMS0xLjEgOS43LTI4IDcwLjktMjguOSA3Ny43LTMuNCAyMi45IDI2LjkgMjYuNiAzOC42IDQgMy43LTcuMSA0NS43LTkyLjYgNDkuNC05OC4zIDQuMy02LjMgNy40LTguMyAxMS43LTggMy4xIDAgOC4zIC45IDcuMSAxMC45LTEuNCA5LjQtMzUuMSA3Mi4zLTM4LjkgODcuNy00LjYgMjAuNiA2LjYgNDEuNCAyNC45IDUwLjYgMTEuNCA1LjcgNjIuNSAxNS43IDU4LjUtMTEuMXptNS43IDkyLjNhMjMuMyAyMy4zIDAgMSAwIDI2LjIgMzguNCAyMy4zIDIzLjMgMCAxIDAgLTI2LjItMzguNHoiXX0sbzB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvbnRpY29ucy1maSIsaWNvbjpbMzg0LDUxMixbXSwiZjNhMiIsIk0xMTQuNCAyMjRsOTIuNCAwLTE1LjIgNTEuMi03Ni40IDAgMCAxNTcuOGMwIDgtMi44IDkuMiA0LjQgMTBsNTkuNiA1LjYgMCAzNC40LTE3OS4yIDAgMC0zNS4yIDI5LjItMi44YzcuMi0uOCA5LjItMy4yIDkuMi0xMC44bDAtMTU1LjhjMC0zLjItNC0zLjItOC0zLjJsLTMwLjQgMCAwLTUxLjIgMzguNCAwIDAtMjguOGMwLTY4IDM2LjQtOTYgMTA2LTk2IDQ2LjggMCA4OC44IDExLjIgODguOCA3Mi40TDE2My42IDE4MGMuNC0yNS42LTYtMzEuNi0yMi40LTMxLjYtMjUuMiAwLTI2IDEzLjYtMjYgMzcuNmwwIDMyYzAgMy4yLTQuOCA2LS44IDZ6TTM4NCA0ODNsLTE0MC44IDAgMC0zNC40IDI4LTMuNmM3LjItLjggMTAuNC0yLjQgMTAuNC0xMGwwLTE0OGMwLTUuNi00LTkuMi05LjItMTAuOGwtMzMuMi04LjggOS4yLTQwLjQgMTEwIDAgMCAyMDhjMCA4LTMuNiA4LjggNCAxMGwyMS42IDMuNiAwIDM0LjR6TTM1NCAxMzUuOGwxMi40IDQ1LjYtMTAgMTAtNDIuOC0yMi44LTQyLjggMjIuOC0xMC0xMCAxMi40LTQ1LjYtMzAtMzYuNCA0LjgtMTAgMzggMCAyMS4yLTM4LjQgMTIuOCAwIDIxLjIgMzguNCAzOCAwIDQuOCAxMy4yLTMwIDMzLjJ6Il19LGwwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYWxmZWQiLGljb246WzU3Niw1MTIsW10sImYzZDgiLCJNMzg0LjkgMTkzLjljMC00Ny40LTU1LjItNDQuMi05NS40LTI5LjgtMS4zIDM5LjQtMi41IDgwLjctMyAxMTkuOCAuNyAyLjggMi42IDYuMiAxNS4xIDYuMiAzNi44IDAgODMuNC00Mi44IDgzLjMtOTYuMnpNMTkwLjQgMjY2LjFjLjIgMCA2LjUtMi43IDExLjItMi43IDI2LjYgMCAyMC43IDQ0LjEtMTQuNCA0NC4xLTIxLjUgMC0zNy4xLTE4LjEtMzcuMS00MyAwLTQyIDQyLjktOTUuNiAxMDAuNy0xMjYuNSAxLTEyLjQgMy0yMiAxMC41LTI4LjIgMTEuMi05IDI2LjYtMy41IDI5LjUgMTEuMSA3Mi4yLTIyLjIgMTM1LjIgMSAxMzUuMiA3MiAwIDc3LjktNzkuMyAxNTIuNi0xNDAuMSAxMzguMi0uMSAzOS40IC45IDc0LjQgMi43IDEwMGwwIC4yYy4yIDMuNCAuNiAxMi41LTUuMyAxOS4xLTkuNiAxMC42LTMzLjQgMTAtMzYuNC0yMi4zLTQuMS00NC40IC4yLTIwNi4xIDEuNC0yNDIuNS0yMS41IDE1LTU4LjUgNTAuMy01OC41IDc1LjkgLjIgMi41IC40IDQgLjYgNC42ek04IDE4MS4xcy0uMSAzNy40IDM4LjQgMzcuNGwzMCAwIDIyLjQgMjE3LjJzMCA0NC4zIDQ0LjcgNDQuM2wyODguOSAwczQ0LjctLjQgNDQuNy00NC4zbDIyLjQtMjE3LjIgMzAgMHMzOC40IDEuMiAzOC40LTM3LjRjMCAwIC4xLTM3LjQtMzguNC0zNy40bC0zMC4xIDBjLTcuMy0yNS42LTMwLjItNzQuMy0xMTkuNC03NC4zbC0yOCAwIDAtMTkuMXMtMi43LTE4LjQtMjEuMS0xOC40bC04NS44IDBTMjI0IDMxLjkgMjI0IDUwLjNsMCAxOS4xLTI4LjEgMHMtMTA1IDQuMi0xMjAuNSA3NC4zbC0yOSAwUzggMTQyLjUgOCAxODEuMXoiXX0sYzB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndwYmVnaW5uZXIiLGljb246WzUxMiw1MTIsW10sImYyOTciLCJNNDYzLjIgMzIyLjRjNTYuMiA2NC4zIDQuMiAxNTcuNi05MS45IDE1Ny42LTM5LjYgMC03OC44LTE3LjctMTAwLjEtNTAtNi45IC40LTIyLjcgLjQtMjkuNiAwLTIxLjQgMzIuNC02MC42IDUwLTEwMC4xIDUwLTk1LjUgMC0xNDguMy05My05MS45LTE1Ny42LTc5LjEtMTMxLjkgMzEuMy0yOTAuNCAyMDYuOC0yOTAuNCAxNzUuNiAwIDI4NS45IDE1OC42IDIwNi44IDI5MC40em0tMzM5LjYtODNsNDEuNSAwIDAtNTguMS00MS41IDAgMCA1OC4xem0yMTcuMiA4Ni4xbDAtMjMuOGMtNjAuNSAyMC45LTEzMi40IDkuMi0xODcuNi0zNGwuMiAyNC45YzUxLjEgNDYuNCAxMzEuNyA1Ny45IDE4Ny4zIDMyLjl6TTE5MCAyMzkuNGwxNjYuMSAwIDAtNTguMS0xNjYuMSAwIDAgNTguMXoiXX0sZDB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRpYXNwb3JhIixpY29uOls0NDgsNTEyLFtdLCJmNzkxIiwiTTIxOS43IDM1NC42Yy0xLjQgMC04OCAxMTkuOS04OC43IDExOS45UzQ0LjQgNDE0IDQ0IDQxMy4zIDEzMC42IDI4Ny41IDEzMC42IDI4NS44YzAtMi4yLTEyOS42LTQ0LTEzNy42LTQ3LjEtMS4zLS41IDMxLjQtMTAxLjggMzEuNy0xMDIuMSAuNi0uNyAxNDQuNCA0NyAxNDUuNSA0NyAuNCAwIC45LS42IDEtMS4zIC40LTIgMS0xNDguNiAxLjctMTQ5LjYgLjgtMS4yIDEwNC41LS43IDEwNS4xLS4zIDEuNSAxIDMuNSAxNTYuMSA2LjEgMTU2LjEgMS40IDAgMTM4LjctNDcgMTM5LjMtNDYuMyAuOCAuOSAzMS45IDEwMi4yIDMxLjUgMTAyLjYtLjkgLjktMTQwLjIgNDcuMS0xNDAuNiA0OC44LS4zIDEuNCA4Mi44IDEyMi4xIDgyLjUgMTIyLjlzLTg1LjUgNjMuNS04Ni4zIDYzLjVjLTEtLjItODktMTI1LjUtOTAuOS0xMjUuNWwwIDB6Il19LHUwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwcm9kdWN0LWh1bnQiLGljb246WzUxMiw1MTIsW10sImYyODgiLCJNMzI2LjMgMjE4LjhjMCAyMC41LTE2LjcgMzcuMi0zNy4yIDM3LjJsLTcwLjMgMCAwLTc0LjQgNzAuMyAwYzIwLjUgMCAzNy4yIDE2LjcgMzcuMiAzNy4yek04IDI1NmEyNDggMjQ4IDAgMSAxIDQ5NiAwIDI0OCAyNDggMCAxIDEgLTQ5NiAwem0zNjcuOS0zNy4yYzAtNDcuOS0zOC45LTg2LjgtODYuOC04Ni44bC0xMTkuOSAwIDAgMjQ4IDQ5LjYgMCAwLTc0LjQgNzAuMyAwYzQ3LjkgMCA4Ni44LTM4LjkgODYuOC04Ni44eiJdfSxwMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXVwd29yayIsaWNvbjpbNDQ4LDUxMixbXSwiZTY3YyIsIk01NiAzMmwzMzYgMGMzMC45IDAgNTYgMjUuMSA1NiA1NmwwIDMzNmMwIDMwLjktMjUuMSA1Ni01NiA1Nkw1NiA0ODBjLTMwLjkgMC01Ni0yNS4xLTU2LTU2TDAgODhDMCA1Ny4xIDI1LjEgMzIgNTYgMzJ6TTI3MC45IDI3NC4yYzYuNi01Mi45IDI1LjktNjkuNSA1MS40LTY5LjUgMjUuMyAwIDQ0LjkgMjAuMiA0NC45IDQ5LjdzLTE5LjcgNDkuNy00NC45IDQ5LjdjLTI3LjkgMC00Ni4zLTIxLjUtNTEuNC0yOS45em0tMjYuNy00MS44Yy04LjItMTUuNS0xNC4zLTM2LjMtMTkuMi01NS42bC02Mi45IDAgMCA3OC4xYzAgMjguNC0xMi45IDQ5LjQtMzguMiA0OS40Uzg0LjEgMjgzLjQgODQuMSAyNTVsLjMtNzguMS0zNi4yIDAgMCA3OC4xYzAgMjIuOCA3LjQgNDMuNSAyMC45IDU4LjIgMTMuOSAxNS4yIDMyLjggMjMuMiA1NC44IDIzLjIgNDMuNyAwIDc0LjItMzMuNSA3NC4yLTgxLjVsMC01Mi41YzQuNiAxNy4zIDE1LjQgNTAuNSAzNi4yIDc5LjdsLTE5LjMgMTEwLjUgMzYuOCAwIDEyLjgtNzguNGM0LjIgMy41IDguNyA2LjYgMTMuNCA5LjQgMTIuMyA3LjggMjYuNCAxMi4yIDQwLjkgMTIuNmwzLjQgMGM0NS4xIDAgODAuOS0zNC45IDgwLjktODEuOXMtMzUuOS04Mi4yLTgwLjktODIuMmMtNDUuNCAwLTcwLjkgMjkuNy03OC4xIDYwLjFsMCAuMnoiXX0sZjB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImN1dHRsZWZpc2giLGljb246WzQ0OCw1MTIsW10sImYzOGMiLCJNMzQ4IDMwNS41Yy0xNy41IDMxLjYtNTcuNCA1NC41LTk2IDU0LjUtNTYuNiAwLTEwNC00Ny40LTEwNC0xMDRzNDcuNC0xMDQgMTA0LTEwNGMzOC42IDAgNzguNSAyMi45IDk2IDU0LjUgMTMuNy01MC45IDQxLjctOTMuMyA4Ny0xMTcuOC00NS4zLTQ5LjYtMTEwLjUtODAuNy0xODMtODAuNy0xMzcgMC0yNDggMTExLTI0OCAyNDhTMTE1IDUwNCAyNTIgNTA0YzcyLjUgMCAxMzcuNy0zMS4xIDE4My04MC43LTQ1LjMtMjQuNS03My4zLTY2LjktODctMTE3Ljh6Il19LGgwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZWRhcHBzIixpY29uOlszMjAsNTEyLFtdLCJmM2M2IiwiTTExOC4zIDIzOC40YzMuNS0xMi41IDYuOS0zMy42IDEzLjItMzMuNiA4LjMgMS44IDkuNiAyMy40IDE4LjYgMzYuNiA0LjYtMjMuNSA1LjMtODUuMSAxNC4xLTg2LjcgOS0uNyAxOS43IDY2LjUgMjIgNzcuNSA5LjkgNC4xIDQ4LjkgNi42IDQ4LjkgNi42IDEuOSA3LjMtMjQgNy42LTQwIDcuOC00LjYgMTQuOC01LjQgMjcuNy0xMS40IDI4LTQuNyAuMi04LjItMjguOC0xNy41LTQ5LjZsLTkuNCA2NS41Yy00LjQgMTMtMTUuNS0yMi41LTIxLjktMzkuMy0zLjMtLjEtNjIuNC0xLjYtNDcuNi03LjhsMzEtNXpNMjI4IDQ0OGMyMS4yIDAgMjEuMi0zMiAwLTMyTDkyIDQxNmMtMjEuMiAwLTIxLjIgMzIgMCAzMmwxMzYgMHptLTI0IDY0YzIxLjIgMCAyMS4yLTMyIDAtMzJsLTg4IDBjLTIxLjIgMC0yMS4yIDMyIDAgMzJsODggMHptMzQuMi0xNDEuNWMzLjItMTguOSA1LjItMzYuNCAxMS45LTQ4LjggNy45LTE0LjcgMTYuMS0yOC4xIDI0LTQxIDI0LjYtNDAuNCA0NS45LTc1LjIgNDUuOS0xMjUuNSAwLTg1LjYtNzEuOC0xNTUuMi0xNjAtMTU1LjJTMCA2OS42IDAgMTU1LjJjMCA1MC4yIDIxLjMgODUuMSA0NS45IDEyNS41IDcuOSAxMi45IDE2IDI2LjMgMjQgNDEgNi43IDEyLjUgOC43IDI5LjggMTEuOSA0OC45IDMuNSAyMSAzNi4xIDE1LjcgMzIuNi01LjEtMy42LTIxLjctNS42LTQwLjctMTUuMy01OC42LTMyLjYtNjAuNC02Ni4xLTk1LjYtNjYuMS0xNTEuNyAwLTY3LjkgNTctMTIzLjIgMTI3LTEyMy4yUzI4NyA4Ny4zIDI4NyAxNTUuMmMwIDU2LjEtMzMuNSA5MS4zLTY2LjEgMTUxLjYtOS43IDE4LTExLjcgMzcuNC0xNS4zIDU4LjYtMy40IDIwLjYgMjkgMjYuNCAzMi42IDUuMXoiXX0sbTB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpeCIsaWNvbjpbNTEyLDUxMixbXSwiZTQzYSIsIk0yNDIuNCAyOTIuNWM1LjQtNS40IDE0LjctNS40IDIwLjEgMGw3NyA3N2MxNC4yIDE0LjIgMzMuMSAyMiA1My4xIDIybDE1LjEgMC05Ny4xIDk3LjFjLTMwLjMgMjkuNS03OS41IDI5LjUtMTA5LjggMGwtOTcuNS05Ny40IDkuMyAwYzIwIDAgMzguOS03LjggNTMuMS0yMmw3Ni43LTc2Ljd6bTIwLjEtNzMuNmMtNi40IDUuNS0xNC42IDUuNi0yMC4xIDBsLTc2LjctNzYuN2MtMTQuMi0xNS4xLTMzLjEtMjItNTMuMS0yMmwtOS4zIDAgOTcuNC05Ny40YzMwLjQtMzAuMyA3OS42LTMwLjMgMTA5LjkgMGw5Ny4yIDk3LjEtMTUuMiAwYy0yMCAwLTM4LjkgNy44LTUzLjEgMjJsLTc3IDc3ek0xMTIuNiAxNDIuN2MxMy44IDAgMjYuNSA1LjYgMzcuMSAxNS40bDc2LjcgNzYuN2M3LjIgNi4zIDE2LjYgMTAuOCAyNi4xIDEwLjggOS40IDAgMTguOC00LjUgMjYtMTAuOGw3Ny03N2M5LjgtOS43IDIzLjMtMTUuMyAzNy4xLTE1LjNsMzcuNyAwIDU4LjMgNTguM2MzMC4zIDMwLjMgMzAuMyA3OS41IDAgMTA5LjhsLTU4LjMgNTguMy0zNy43IDBjLTEzLjggMC0yNy4zLTUuNi0zNy4xLTE1LjRsLTc3LTc3Yy0xMy45LTEzLjktMzguMi0xMy45LTUyLjEgLjFsLTc2LjcgNzYuNmMtMTAuNiA5LjgtMjMuMyAxNS40LTM3LjEgMTUuNGwtMzEuOCAwLTU4LTU4Yy0zMC4zLTMwLjMtMzAuMy03OS41IDAtMTA5LjhsNTgtNTguMSAzMS44IDB6Il19LEgxZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdHVtYmxyIixpY29uOls0NDgsNTEyLFsidHVtYmxyLXNxdWFyZSJdLCJmMTc0IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0yNTYuOCA0MTZjLTc1LjUgMC05MS45LTU1LjUtOTEuOS04Ny45bDAtOTAtMjkuNyAwYy0zLjQgMC02LjItMi44LTYuMi02LjJsMC00Mi41YzAtNC41IDIuOC04LjUgNy4xLTEwIDM4LjgtMTMuNyA1MC45LTQ3LjUgNTIuNy03My4yIC41LTYuOSA0LjEtMTAuMiAxMC0xMC4ybDQ0LjMgMGMzLjQgMCA2LjIgMi44IDYuMiA2LjJsMCA3MiA1MS45IDBjMy40IDAgNi4yIDIuOCA2LjIgNi4ybDAgNTEuMWMwIDMuNC0yLjggNi4yLTYuMiA2LjJsLTUyLjEgMCAwIDgzLjNjMCAyMS40IDE0LjggMzMuNSA0Mi41IDIyLjQgMy0xLjIgNS42LTIgOC0xLjQgMi4yIC41IDMuNiAyLjEgNC42IDQuOUwzMTggMzg3LjFjMSAzLjIgMiA2LjctLjMgOS4xLTguNSA5LjEtMzEuMiAxOS44LTYwLjkgMTkuOHoiXX0sZzB0PUgxZSxiMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVhY3QiLGljb246WzUxMiw1MTIsW10sImY0MWIiLCJNNDE4LjIgMTc3LjJjLTUuNC0xLjgtMTAuOC0zLjUtMTYuMi01LjEgLjktMy43IDEuNy03LjQgMi41LTExLjEgMTIuMy01OS42IDQuMi0xMDcuNS0yMy4xLTEyMy4zLTI2LjMtMTUuMS02OS4yIC42LTExMi42IDM4LjQtNC4zIDMuNy04LjUgNy42LTEyLjUgMTEuNS0yLjctMi42LTUuNS01LjItOC4zLTcuNy00NS41LTQwLjQtOTEuMS01Ny40LTExOC40LTQxLjUtMjYuMiAxNS4yLTM0IDYwLjMtMjMgMTE2LjcgMS4xIDUuNiAyLjMgMTEuMSAzLjcgMTYuNy02LjQgMS44LTEyLjcgMy44LTE4LjYgNS45LTUzLjQgMTguNS05MS43IDQ3LjctOTEuNyA3Ny45IDAgMzEuMiA0MC44IDYyLjUgOTYuMyA4MS41IDQuNSAxLjUgOSAzIDEzLjYgNC4zLTEuNSA2LTIuOCAxMS45LTQgMTgtMTAuNSA1NS41LTIuMyA5OS41IDIzLjkgMTE0LjYgMjcgMTUuNiA3Mi40LS40IDExNi42LTM5LjEgMy41LTMuMSA3LTYuMyAxMC41LTkuNyA0LjQgNC4zIDkgOC40IDEzLjYgMTIuNCA0Mi44IDM2LjggODUuMSA1MS43IDExMS4yIDM2LjYgMjctMTUuNiAzNS44LTYyLjkgMjQuNC0xMjAuNS0uOS00LjQtMS45LTguOS0zLTEzLjUgMy4yLS45IDYuMy0xLjkgOS40LTIuOSA1Ny43LTE5LjEgOTkuNS01MCA5OS41LTgxLjcgMC0zMC4zLTM5LjQtNTkuNy05My44LTc4LjR6TTI4Mi45IDkyLjNjMzcuMi0zMi40IDcxLjktNDUuMSA4Ny43LTM2IDE2LjkgOS43IDIzLjQgNDguOSAxMi44IDEwMC40LS43IDMuNC0xLjQgNi43LTIuMyAxMC0yMi4yLTUtNDQuNy04LjYtNjcuMy0xMC42LTEzLTE4LjYtMjcuMi0zNi40LTQyLjYtNTMuMSAzLjktMy43IDcuNy03LjIgMTEuNy0xMC43ek0xNjcuMiAzMDcuNWM1LjEgOC43IDEwLjMgMTcuNCAxNS44IDI1LjktMTUuNi0xLjctMzEuMS00LjItNDYuNC03LjUgNC40LTE0LjQgOS45LTI5LjMgMTYuMy00NC41IDQuNiA4LjggOS4zIDE3LjUgMTQuMyAyNi4xek0xMzYuOSAxODcuMmMxNC40LTMuMiAyOS43LTUuOCA0NS42LTcuOC01LjMgOC4zLTEwLjUgMTYuOC0xNS40IDI1LjQtNC45IDguNS05LjcgMTcuMi0xNC4yIDI2LTYuMy0xNC45LTExLjYtMjkuNS0xNi00My42em0yNy40IDY4LjljNi42LTEzLjggMTMuOC0yNy4zIDIxLjQtNDAuNnMxNS44LTI2LjIgMjQuNC0zOC45YzE1LTEuMSAzMC4zLTEuNyA0NS45LTEuN3MzMSAuNiA0NS45IDEuN2M4LjUgMTIuNiAxNi42IDI1LjUgMjQuMyAzOC43czE0LjkgMjYuNyAyMS43IDQwLjRjLTYuNyAxMy44LTEzLjkgMjcuNC0yMS42IDQwLjgtNy42IDEzLjMtMTUuNyAyNi4yLTI0LjIgMzktMTQuOSAxLjEtMzAuNCAxLjYtNDYuMSAxLjZzLTMwLjktLjUtNDUuNi0xLjRjLTguNy0xMi43LTE2LjktMjUuNy0yNC42LTM5cy0xNC44LTI2LjgtMjEuNS00MC42em0xODAuNiA1MS4yYzUuMS04LjggOS45LTE3LjcgMTQuNi0yNi43IDYuNCAxNC41IDEyIDI5LjIgMTYuOSA0NC4zLTE1LjUgMy41LTMxLjIgNi4yLTQ3IDggNS40LTguNCAxMC41LTE3IDE1LjUtMjUuNnptMTQuNC03Ni41Yy00LjctOC44LTkuNS0xNy42LTE0LjUtMjYuMi00LjktOC41LTEwLTE2LjktMTUuMy0yNS4yIDE2LjEgMiAzMS41IDQuNyA0NS45IDgtNC42IDE0LjgtMTAgMjkuMi0xNi4xIDQzLjR6TTI1Ni4yIDExOC4zYzEwLjUgMTEuNCAyMC40IDIzLjQgMjkuNiAzNS44LTE5LjgtLjktMzkuNy0uOS01OS41IDAgOS44LTEyLjkgMTkuOS0yNC45IDI5LjktMzUuOHpNMTQwLjIgNTdjMTYuOC05LjggNTQuMSA0LjIgOTMuNCAzOSAyLjUgMi4yIDUgNC42IDcuNiA3LTE1LjUgMTYuNy0yOS44IDM0LjUtNDIuOSA1My4xLTIyLjYgMi00NSA1LjUtNjcuMiAxMC40LTEuMy01LjEtMi40LTEwLjMtMy41LTE1LjUtOS40LTQ4LjQtMy4yLTg0LjkgMTIuNi05NHpNMTE1LjcgMzIwLjZjLTQuMi0xLjItOC4zLTIuNS0xMi40LTMuOS0yMS4zLTYuNy00NS41LTE3LjMtNjMtMzEuMi0xMC4xLTctMTYuOS0xNy44LTE4LjgtMjkuOSAwLTE4LjMgMzEuNi00MS43IDc3LjItNTcuNiA1LjctMiAxMS41LTMuOCAxNy4zLTUuNSA2LjggMjEuNyAxNSA0MyAyNC41IDYzLjYtOS42IDIwLjktMTcuOSA0Mi41LTI0LjggNjQuNXptMTE2LjYgOThjLTE2LjUgMTUuMS0zNS42IDI3LjEtNTYuNCAzNS4zLTExLjEgNS4zLTIzLjkgNS44LTM1LjMgMS4zLTE1LjktOS4yLTIyLjUtNDQuNS0xMy41LTkyIDEuMS01LjYgMi4zLTExLjIgMy43LTE2LjcgMjIuNCA0LjggNDUgOC4xIDY3LjkgOS44IDEzLjIgMTguNyAyNy43IDM2LjYgNDMuMiA1My40LTMuMiAzLjEtNi40IDYuMS05LjYgOC45em0yNC41LTI0LjNjLTEwLjItMTEtMjAuNC0yMy4yLTMwLjMtMzYuMyA5LjYgLjQgMTkuNSAuNiAyOS41IC42IDEwLjMgMCAyMC40LS4yIDMwLjQtLjctOS4yIDEyLjctMTkuMSAyNC44LTI5LjYgMzYuNHptMTMwLjcgMzBjLS45IDEyLjItNi45IDIzLjYtMTYuNSAzMS4zLTE1LjkgOS4yLTQ5LjgtMi44LTg2LjQtMzQuMi00LjItMy42LTguNC03LjUtMTIuNy0xMS41IDE1LjMtMTYuOSAyOS40LTM0LjggNDIuMi01My42IDIyLjktMS45IDQ1LjctNS40IDY4LjItMTAuNSAxIDQuMSAxLjkgOC4yIDIuNyAxMi4yIDQuOSAyMS42IDUuNyA0NC4xIDIuNSA2Ni4zem0xOC4yLTEwNy41Yy0yLjggLjktNS42IDEuOC04LjUgMi42LTctMjEuOC0xNS42LTQzLjEtMjUuNS02My44IDkuNi0yMC40IDE3LjctNDEuNCAyNC41LTYyLjkgNS4yIDEuNSAxMC4yIDMuMSAxNSA0LjcgNDYuNiAxNiA3OS4zIDM5LjggNzkuMyA1OCAwIDE5LjYtMzQuOSA0NC45LTg0LjggNjEuNHpNMjU2IDMwMS44YTQ1LjggNDUuOCAwIDEgMCAwLTkxLjYgNDUuOCA0NS44IDAgMSAwIDAgOTEuNnoiXX0sdjB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imh1Z2dpbmctZmFjZSIsaWNvbjpbNTc2LDUxMixbXSwiZTg2OSIsIk0yODYuOCA4LjJjMTMwIDAgMjM1LjQgMTA1LjggMjM1LjQgMjM2LjMgMCAxNy43LTEuOSAzNS01LjYgNTEuNy0xLjQgNi41LTMuMSAxMi44LTUuMSAxOS4xIDYuNS0uNiAxMyAuNiAxOC43IDMuNSAxMi42IDYuNSAyMC4yIDIxLjcgMTguMiAzNS43LS43IDQuOS0yLjQgOS40LTQuOCAxMy41IDUuMiA0LjIgOSAxMC4xIDEwLjggMTcuMSAxLjQgNS41IDIuOSAxNy4xLTQuOCAyOC45IDUuOCA5LjIgNi42IDIwLjYgMi4yIDMwLjYtNi4yIDE0LjEtMjEuNyAyNS4zLTUxLjcgMzcuMy0zMi41IDEzLTY3LjEgMjEuOS0xMDIuMyAyMS45LTMyIDAtNTUuOS04LjktNzEtMjYuNC0xMyAyLjItMjYuMyAzLjQtNDAgMy40LTEyLjcgMC0yNS4yLTEtMzcuMy0yLjktMTUuMSAxNy4yLTM4LjggMjUuOS03MC42IDI1LjktMzUuMSAwLTcwLTktMTAyLjQtMjEuOS0zMC0xMi00NS41LTIzLjEtNTEuNy0zNy4zLTQuNC05LjktMy42LTIxLjQgMi4yLTMwLjYtNy43LTExLjktNi4zLTIzLjQtNC44LTI4LjkgMS44LTcgNS43LTEyLjkgMTAuOC0xNy4xLTIuNS00LjEtNC4xLTguNi00LjgtMTMuNS0xLjUtMTAuNCAyLTIwLjcgOS43LTI5LjIgNi4xLTYuNyAxNS4xLTEwLjMgMjQuMi0xMC4yLTEuOS02LjEtMy42LTEyLjQtNS0xOC43LTMuNy0xNi43LTUuNy0zNC01LjctNTEuOCAwLTEzMC41IDEwNS40LTIzNi4zIDIzNS40LTIzNi4zek0xMTcuNSAzMTFjLTEzLTguMi0yMi4xLTMuNi0xOSAxMy40czU3LjIgNTguMiA1MiA2Ny4yYy01LjIgOC44LTIzLjUtMTAuMS0yMy44LTEwLjUgMCAwLTU4LjItNTMuMS03MC44LTM5LjMtMTIuNiAxMy44IDkuNiAyNS40IDQxLjMgNDQuN3MzNC4yIDI0LjQgMjkuNyAzMS43LTc0LjUtNTItODEuMS0yNi44Yy02LjUgMjUuMSA3MS40IDMyLjQgNjYuNyA0OS44LTQuOCAxNy40LTU0LjktMzIuOC02NS4yLTEzLjMtMTAuMyAxOS42IDcwLjggNDIuNiA3MS40IDQyLjcgMjYuMiA2LjggOTIuNiAyMS4zIDExNS45LTEyLjkgMTYuNy0yNC42IDE1LjYtNDMuMS03LjQtNjYuMXMtMzYuMy01Ni43LTM2LjMtNTYuN2MwLS4yLTUtMTkuNS0xNi4zLTE3LjgtMTEuNCAxLjgtMTkuNyAzMSA0LjEgNDguOSAyMy44IDE3LjktNC43IDMwLTEzLjkgMTMuMy05LjItMTYuOC0zNC4yLTU5LjktNDcuMS02OC4yem0zNjAuNiAxMy40YzMuMS0xNy02LjEtMjEuNi0xOS0xMy40LTEzIDguMy0zNy45IDUxLjQtNDcuMSA2OC4ycy0zNy43IDQuNi0xMy45LTEzLjMgMTUuNC00Ny4xIDQuMS00OC45LTE2LjMgMTcuOC0xNi4zIDE3LjhjLS4xIC4yLTEzLjQgMzMuNy0zNi4zIDU2LjctMjIuOSAyMy0yNC4xIDQxLjUtNy40IDY2LjEgMjMuMiAzNC4yIDg5LjcgMTkuNyAxMTUuOSAxMi45IDEuNS0uNCA4MS42LTIzLjMgNzEuNC00Mi43LTEwLjMtMTkuNS02MC40IDMwLjYtNjUuMyAxMy4zLTQuOC0xNy4zIDczLjItMjQuNiA2Ni43LTQ5LjgtNi42LTI1LjEtNzYuNiAzNC4xLTgxLjEgMjYuOC00LjUtNy4zLTItMTIuNCAyOS43LTMxLjcgMzEuNy0xOS4zIDU0LTMwLjkgNDEuMy00NC43LTEyLjctMTMuOC03MC44IDM5LjMtNzAuOCAzOS4zLS40IC40LTE4LjYgMTkuMy0yMy44IDEwLjUtNS4zLTguOSA0OC45LTUwLjEgNTItNjcuMnpNMjg2LjggMzIuNmMtMTE2LjYgMC0yMTEuMSA5NC45LTIxMS4xIDIxMS45IDAgMTcuMSAyIDMzLjggNS44IDQ5LjcgMC0uMSAuMS0uMSAuMi0uMiA2LjEtNy40IDE0LjktMTEuNCAyNC43LTExLjQgMTcuNyAwIDMxLjEgMTEuOSA0MS41IDI0LjkgNi44LTkuNCAxNy4xLTE1IDI3LjktMTUgMjAuNyAwIDMzLjIgMTguMSAzNy45IDM0LjMgMi4zIDUuNSAxMy42IDMwLjUgMzAuNCA0Ny40IDI1LjcgMjUuOCAzMi4yIDUyLjQgMTkuNCA4MC45IDE2IDEuOCAzMi44IDEuNyA0OS4yLS4zLTEyLjUtMjguNC02LTU0LjkgMTkuNi04MC42IDE2LjktMTYuOSAyOC4xLTQxLjkgMzAuNS00Ny40IDQuNy0xNi4yIDE3LjItMzQuMyAzNy45LTM0LjMgMTAuOSAwIDIxLjIgNS42IDI3LjkgMTUgMTAuNC0xMyAyMy44LTI0LjkgNDEuNS0yNC45IDguNyAwIDE2LjYgMy4xIDIyLjUgOC45IDUtMjIgNi40LTQ1LjggNC4xLTY4LjctMTAuOC0xMDYuOS0xMDAuNy0xOTAuMy0yMTAtMTkwLjN6bTEuNSAyMzQuMmM0My42IDAgNzktNDIgNzktMTQuNSAwIDI3LjQtMTkuMiA4MC45LTc4LjggODAuOS0xOS4yIDAtMzQuMi01LjUtNDUuOC0xMy45LTIzLjItMTkuNC0zMy40LTQ4LjItMzMuNC02Ni45IDAtMjcuNCAzNS40IDE0LjUgNzkgMTQuNXptLTEzLjMgMjVjLTguMiAyLjQtMTUuNSA2LjgtMjEuNSAxMi42IDIyIDEyLjggNTAuNCAxMi45IDcxLjctMS4zLTUuNS00LjktMTItOC43LTE5LjEtMTEtNS4xLTEuNi0xMC40IDE1LjgtMTYgMTUuOC01LjIgMC0xMC4zLTE3LjYtMTUuMS0xNi4yek0xNDcuMSAyMTUuNWExOS44IDE5LjggMCAxIDEgMC0zOS42IDE5LjggMTkuOCAwIDEgMSAwIDM5LjZ6bTI4Mi40IDBhMTkuOCAxOS44IDAgMSAxIDAtMzkuNiAxOS44IDE5LjggMCAxIDEgMCAzOS42em0tMjQ0LTU1LjRjNy45LTE0LjkgMjYuMy0yMC41IDQxLjEtMTIuNnMyMC40IDI2LjQgMTIuNiA0MS4yYy0zLjcgNy0xNS41LTQuNC0yMi40LTEuOS03LjcgMi43LTEwLjggMTguNy0xOC42IDE0LjYtMTQuOC03LjktMjAuNC0yNi40LTEyLjYtNDEuMnptMTY0LjQtMTIuNmMxNC44LTcuOSAzMy4yLTIuMyA0MS4xIDEyLjZzMi4yIDMzLjMtMTIuNiA0MS4yYy03LjggNC4yLTEwLjktMTEuOC0xOC43LTE0LjYtNi45LTIuNC0xOC43IDktMjIuNCAxLjktNy45LTE0LjktMi4yLTMzLjMgMTIuNi00MS4yeiJdfSx4MHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToianhsIixpY29uOls0NDgsNTEyLFtdLCJlNjdiIiwiTTQxMi4yIDMyTDM1LjggMzJDMTYgMzIgMCA0OCAwIDY3LjhMMCA0NDQuMkMwIDQ2NCAxNiA0ODAgMzUuOCA0ODBsMzc2LjQgMGMxOS44IDAgMzUuOC0xNiAzNS44LTM1LjhsMC0zNzYuNEM0NDggNDggNDMyIDMyIDQxMi4yIDMyek0zNzguNiAzMzMuN2MwIDQwLjItMzIuNiA3Mi44LTcyLjggNzIuOGwtMjM1LjYgMGMwLTQwLjIgMzIuNi03Mi44IDcyLjgtNzIuOGwyMzUuNiAwem0wLTExMy45YzAgNDAuMi0zMi42IDcyLjgtNzIuOCA3Mi44bC0yMzUuNiAwYzAtNDAuMiAzMi42LTcyLjggNzIuOC03Mi44bDIzNS42IDB6bTAtMTEzLjljMCA0MC4yLTMyLjYgNzIuOC03Mi44IDcyLjhsLTIzNS42IDBjMC00MC4yIDMyLjYtNzIuOCA3Mi44LTcyLjhsMjM1LjYgMHoiXX0seTB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1saW5rZWRpbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTdkMCIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem01IDE3MC4ybDY2LjUgMCAwIDIxMy44LTY2LjUgMCAwLTIxMy44em03MS43LTY3LjdhMzguNSAzOC41IDAgMSAxIC03NyAwIDM4LjUgMzguNSAwIDEgMSA3NyAwek0zMTcuOSA0MTZsMC0xMDRjMC0yNC44LS41LTU2LjctMzQuNS01Ni43LTM0LjYgMC0zOS45IDI3LTM5LjkgNTQuOWwwIDEwNS44LTY2LjQgMCAwLTIxMy44IDYzLjcgMCAwIDI5LjIgLjkgMGM4LjktMTYuOCAzMC42LTM0LjUgNjIuOS0zNC41IDY3LjIgMCA3OS43IDQ0LjMgNzkuNyAxMDEuOWwwIDExNy4yLTY2LjQgMHoiXX0sdzB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNzcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTZhMiIsIk0zNzYuMyAzMkwwIDMyIDAgNDA4LjNjMCAxOSA3LjYgMzcuMiAyMSA1MC43czMxLjcgMjEgNTAuNyAyMWwzMDQuNiAwYzE5IDAgMzcuMi03LjYgNTAuNy0yMXMyMS0zMS43IDIxLTUwLjdsMC0zMDQuNmMwLTE5LTcuNi0zNy4yLTIxLTUwLjdzLTMxLjctMjEtNTAuNy0yMXpNMzMyLjQgNDMxLjRjLTcuNy04LjUtMTEuNy0yMC43LTEyLTM2LjZsMzEuMyAwYy4yIDE0LjEgNS4xIDIxLjEgMTQuOCAyMS4xYzQuOSAwIDguNC0xLjYgMTAuNS00LjdjMi0zLjEgMy04IDMtMTQuOGMwLTUuNC0xLjMtOS45LTQtMTMuNGMtMy41LTQuMi04LjEtNy41LTEzLjItOS41TDM1MS4yIDM2OGMtMTAuMy00LjktMTcuOC0xMC44LTIyLjUtMTcuNmMtNC41LTYuOC02LjctMTYuMy02LjctMjguNGMwLTEzLjYgNC0yNC42IDExLjgtMzMuMWM4LjEtOC41IDE5LjEtMTIuNyAzMy4yLTEyLjdjMTMuNiAwIDI0LjEgNC4yIDMxLjUgMTIuNWM3LjUgOC40IDExLjUgMjAuMyAxMS44IDM1LjlsLTMwLjEgMGMuMi01LjEtLjktMTAuMi0zLTE0LjhjLTEuNy0zLjQtNS01LjEtMTAtNS4xYy04LjggMC0xMy4yIDUuMi0xMy4yIDE1LjdjMCA1LjMgMS4xIDkuNCAzLjIgMTIuNmMzLjEgMy41IDcgNi4yIDExLjQgNy44bDExLjEgNC45YzExLjUgNS4zIDE5LjcgMTEuNyAyNC44IDE5LjRjNS4xIDcuNyA3LjYgMTggNy42IDMxYzAgMTUuNS00IDI3LjQtMTIuMyAzNS43Yy04LjIgOC4zLTE5LjUgMTIuNS0zNC4xIDEyLjVzLTI1LjYtNC4yLTMzLjQtMTIuN3ptLTEwMSAwYy03LjctOC41LTExLjctMjAuNy0xMi0zNi42bDMxLjMgMGMuMiAxNC4xIDUuMSAyMS4xIDE0LjggMjEuMWM0LjkgMCA4LjQtMS42IDEwLjQtNC43YzItMy4xIDMtOCAzLTE0LjhjMC01LjQtMS4zLTkuOS0zLjktMTMuNGMtMy41LTQuMi04LjEtNy41LTEzLjItOS41TDI1MC4yIDM2OGMtMTAuMy00LjktMTcuOC0xMC44LTIyLjUtMTcuNmMtNC41LTYuOC02LjctMTYuMy02LjctMjguNGMwLTEzLjYgNC0yNC42IDExLjgtMzMuMWM4LjEtOC41IDE5LjEtMTIuNyAzMy4yLTEyLjdjMTMuNiAwIDI0LjEgNC4yIDMxLjQgMTIuNWM3LjYgOC40IDExLjUgMjAuMyAxMS45IDM1LjlsLTMwLjEgMGMuMi01LjEtLjktMTAuMi0zLTE0LjhjLTEuNy0zLjQtNS01LjEtMTAtNS4xYy04LjggMC0xMy4yIDUuMi0xMy4yIDE1LjdjMCA1LjMgMS4xIDkuNCAzLjIgMTIuNmMzLjEgMy41IDcgNi4yIDExLjQgNy44bDExLjEgNC45YzExLjUgNS4zIDE5LjcgMTEuNyAyNC44IDE5LjRjNS4xIDcuNyA3LjYgMTggNy42IDMxYzAgMTUuNS00LjEgMjcuNC0xMi4zIDM1LjdzLTE5LjUgMTIuNS0zNC4xIDEyLjVzLTI1LjYtNC4yLTMzLjQtMTIuN3ptLTEwNS42IDEuMWMtOC40LTcuNy0xMi41LTE5LjItMTIuNS0zNC41bDAtNzUuNGMwLTE1LjIgNC40LTI2LjcgMTMuMi0zNC42YzguOS03LjggMjAuNy0xMS44IDM1LjItMTEuOGMxNC4xIDAgMjUuMiA0IDMzLjQgMTJjOC4zIDggMTIuNSAyMCAxMi41IDM1LjlsMCA2LTMzLjEgMCAwLTUuOGMwLTYuMS0xLjMtMTAuNy00LTEzLjZjLTEuMS0xLjUtMi42LTIuNy00LjMtMy41cy0zLjUtMS4yLTUuNC0xLjFjLTUuNCAwLTkuMiAxLjgtMTEuNCA1LjZjLTIuMyA1LjItMy4zIDEwLjgtMyAxNi40bDAgNjUuNWMwIDEzLjcgNC44IDIwLjYgMTQuNCAyMC44YzQuNSAwIDcuOS0xLjYgMTAuMi00LjhjMi41LTQuMSAzLjctOC44IDMuNS0xMy42bDAtNC45IDMzLjEgMCAwIDUuMWMwIDEwLjYtMi4xIDE5LjUtNi4yIDI2LjZjLTQgNi45LTkuOSAxMi41LTE3LjEgMTZjLTcuNyAzLjctMTYuMSA1LjUtMjQuNiA1LjNjLTE0LjIgMC0yNS41LTMuOS0zMy44LTExLjZ6Il19LE0wdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoYXNobm9kZSIsaWNvbjpbNTEyLDUxMixbXSwiZTQ5OSIsIk0zNS43IDE3MS4xYy00Ni45IDQ2LTQ2LjkgMTIyLjkgMCAxNjkuOEwxNzEuNiA0NzYuOGM0NiA0Ni45IDEyMi45IDQ2LjkgMTY5LjggMEw0NzcuMyAzNDAuOWM0Ni45LTQ2LjkgNDYuOS0xMjMuOCAwLTE2OS44TDM0MS40IDM1LjJjLTQ2LjktNDYuOS0xMjMuOC00Ni45LTE2OS44IDBMMzUuNyAxNzEuMXpNMTk2IDE5Ni41YTg0LjUgODQuNSAwIDEgMSAxMjAgMTE5IDg0LjUgODQuNSAwIDEgMSAtMTIwLTExOXoiXX0sazB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlZGRpdC1hbGllbiIsaWNvbjpbNTEyLDUxMixbXSwiZjI4MSIsIk0zNzMgMTM4LjZjLTI1LjIgMC00Ni4zLTE3LjUtNTEuOS00MS0zMC42IDQuMy01NC4yIDMwLjctNTQuMiA2Mi40bDAgLjJjNDcuNCAxLjggOTAuNiAxNS4xIDEyNC45IDM2LjMgMTIuNi05LjcgMjguNC0xNS41IDQ1LjUtMTUuNSA0MS4zIDAgNzQuNyAzMy40IDc0LjcgNzQuNyAwIDI5LjgtMTcuNCA1NS41LTQyLjcgNjcuNS0yLjQgODYuOC05NyAxNTYuNi0yMTMuMiAxNTYuNlM0NS41IDQxMC4xIDQzIDMyMy40Yy0yNS40LTExLjktNDMtMzcuNy00My02Ny43IDAtNDEuMyAzMy40LTc0LjcgNzQuNy03NC43IDE3LjIgMCAzMyA1LjggNDUuNyAxNS42IDM0LTIxLjEgNzYuOC0zNC40IDEyMy43LTM2LjRsMC0uM2MwLTQ0LjMgMzMuNy04MC45IDc2LjgtODUuNSA0LjktMjQuMiAyNi4zLTQyLjQgNTIuMS00Mi40IDI5LjQgMCA1My4zIDIzLjkgNTMuMyA1My4zcy0yMy45IDUzLjMtNTMuMyA1My4zek0xNTcuNSAyNTUuM2MtMjAuOSAwLTM4LjkgMjAuOC00MC4yIDQ3LjlzMTcuMSAzOC4xIDM4IDM4LjEgMzYuNi05LjggMzcuOC0zNi45LTE0LjctNDkuMS0zNS43LTQ5LjFsLjEgMHpNMzk1IDMwMy4xYy0xLjItMjcuMS0xOS4yLTQ3LjktNDAuMi00Ny45cy0zNi45IDIyLTM1LjcgNDkuMSAxNi45IDM2LjkgMzcuOCAzNi45IDM5LjMtMTEgMzgtMzguMWwuMSAwem0tNjAuMSA3MC44YzEuNS0zLjYtMS03LjctNC45LTguMS0yMy0yLjMtNDcuOS0zLjYtNzMuOC0zLjZzLTUwLjggMS4zLTczLjggMy42Yy0zLjkgLjQtNi40IDQuNS00LjkgOC4xIDEyLjkgMzAuOCA0My4zIDUyLjQgNzguNyA1Mi40czY1LjgtMjEuNiA3OC43LTUyLjR6Il19LHlEPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRpa3RvayIsaWNvbjpbNDQ4LDUxMixbXSwiZTA3YiIsIk00NDguNSAyMDkuOWMtNDQgLjEtODctMTMuNi0xMjIuOC0zOS4ybDAgMTc4LjdjMCAzMy4xLTEwLjEgNjUuNC0yOSA5Mi42cy00NS42IDQ4LTc2LjYgNTkuNi02NC44IDEzLjUtOTYuOSA1LjMtNjAuOS0yNS45LTgyLjctNTAuOC0zNS4zLTU2LTM5LTg4LjkgMi45LTY2LjEgMTguNi05NS4yIDQwLTUyLjcgNjkuNi02Ny43IDYyLjktMjAuNSA5NS43LTE2bDAgODkuOWMtMTUtNC43LTMxLjEtNC42LTQ2IC40cy0yNy45IDE0LjYtMzcgMjcuMy0xNCAyOC4xLTEzLjkgNDMuOSA1LjIgMzEgMTQuNSA0My43IDIyLjQgMjIuMSAzNy40IDI2LjkgMzEuMSA0LjggNDYtLjEgMjgtMTQuNCAzNy4yLTI3LjEgMTQuMi0yOC4xIDE0LjItNDMuOGwwLTM0OS40IDg4IDBjLS4xIDcuNCAuNiAxNC45IDEuOSAyMi4yIDMuMSAxNi4zIDkuNCAzMS45IDE4LjcgNDUuN3MyMS4zIDI1LjYgMzUuMiAzNC42YzE5LjkgMTMuMSA0My4yIDIwLjEgNjcgMjAuMWwwIDg3LjR6Il19LFMwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3b3JkcHJlc3MiLGljb246WzUxMiw1MTIsW10sImYxOWEiLCJNNjEuNyAxNjkuNGwxMDEuNSAyNzhjLTcxLTM0LjQtMTE5LjktMTA3LjItMTE5LjktMTkxLjQgMC0zMC45IDYuNi02MC4xIDE4LjQtODYuNnptMzM3LjkgNzUuOWMwLTI2LjMtOS40LTQ0LjUtMTcuNS01OC43LTEwLjgtMTcuNS0yMC45LTMyLjQtMjAuOS00OS45IDAtMTkuNiAxNC44LTM3LjggMzUuNy0zNy44IC45IDAgMS44IC4xIDIuOCAuMi0zNy45LTM0LjctODguMy01NS45LTE0My43LTU1LjktNzQuMyAwLTEzOS43IDM4LjEtMTc3LjggOTUuOSA1IC4yIDkuNyAuMyAxMy43IC4zIDIyLjIgMCA1Ni43LTIuNyA1Ni43LTIuNyAxMS41LS43IDEyLjggMTYuMiAxLjQgMTcuNSAwIDAtMTEuNSAxLjMtMjQuMyAybDc3LjUgMjMwLjQgNDYuNi0xMzkuNi0zMy4xLTkwLjhjLTExLjUtLjctMjIuMy0yLTIyLjMtMi0xMS41LS43LTEwLjEtMTguMiAxLjMtMTcuNSAwIDAgMzUuMSAyLjcgNTYgMi43IDIyLjIgMCA1Ni43LTIuNyA1Ni43LTIuNyAxMS41LS43IDEyLjggMTYuMiAxLjQgMTcuNSAwIDAtMTEuNSAxLjMtMjQuMyAybDc2LjkgMjI4LjcgMjEuMi03MC45YzktMjkuNCAxNi01MC41IDE2LTY4Ljd6TTI1OS43IDI3NC42TDE5NS45IDQ2MC4xYzE5LjEgNS42IDM5LjIgOC43IDYwLjEgOC43IDI0LjggMCA0OC41LTQuMyA3MC42LTEyLjEtLjYtLjktMS4xLTEuOS0xLjUtMi45TDI1OS43IDI3NC42em0xODMtMTIwLjdjLjkgNi44IDEuNCAxNCAxLjQgMjEuOSAwIDIxLjYtNCA0NS44LTE2LjIgNzYuMmwtNjUgMTg3LjljNjMuMy0zNi45IDEwNS44LTEwNS40IDEwNS44LTE4My45IDAtMzctOS40LTcxLjgtMjYtMTAyLjF6TTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTQ4NC42IDBhMjM2LjYgMjM2LjYgMCAxIDAgLTQ3My4yIDAgMjM2LjYgMjM2LjYgMCAxIDAgNDczLjIgMHoiXX0sejB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImlkZWFsIixpY29uOls1MTIsNTEyLFtdLCJlMDEzIiwiTTkzLjggMTY1LjVhNDkuMSA0OS4xIDAgMSAwIDAgOTguMSA0OS4xIDQ5LjEgMCAxIDAgMC05OC4xek01NC4zIDQyNS44bDc4LjkgMCAwLTE0MC41LTc4LjkgMCAwIDE0MC41ek0yMDUuOCAyMTQuMmMwLTIwLTEwLTIyLjUtMTguNy0yMi41bC0xNCAwIDAgNDUuOCAxNCAwYzkuNyAwIDE4LjctMi44IDE4LjctMjMuM3ptMjAxLjcgNDZsMC05MS4zIDIyLjggMCAwIDY4LjYgMzMuNyAwQzQ1NC42IDExMy4xIDM1Ni44IDg2LjIgMjY3LjggODYuMmwtOTQuOCAwIDAgODIuOCAxNCAwYzI1LjYgMCA0MS41IDE3LjQgNDEuNSA0NS4zIDAgMjguOC0xNS41IDQ2LTQxLjUgNDZsLTE0IDAgMCAxNjUuNiA5NC44IDBjMTQ0LjYgMCAxOTQuOS02Ny4yIDE5Ni43LTE2NS42bC01Ny4xIDB6bS0xMDkuOCAwbC01Ni4yIDAgMC05MS4yIDU0LjQgMCAwIDIyLjctMzEuNyAwIDAgMTAuNiAzMCAwIDAgMjIuNy0zMCAwIDAgMTIuNSAzMy41IDAgMCAyMi43em03NC43IDBsLTUuMi0xNy43LTI5LjcgMC01LjIgMTcuNy0yMy43IDAgMjcuNS05MS4zIDMyLjMgMCAyNy41IDkxLjMtMjMuNyAwek0yNjcuOCAzMkwuMSAzMiAuMSA0ODAgMjY3LjggNDgwYzE2MS44IDAgMjUxLTc5LjcgMjUxLTIyNC41IDAtODMuNS0zMi42LTIyMy41LTI1MS0yMjMuNXptMCA0MjYuOWwtMjQ2LjYgMCAwLTQwNS45IDI0Ni42IDBjMTQyLjEgMCAyMjkuOSA2NC42IDIyOS45IDIwMi40IDAgMTM0LjEtODEgMjAzLjQtMjI5LjkgMjAzLjR6bTgzLjktMjY0LjlsLTcuNSAyNS44IDE2LjQgMC03LjUtMjUuOC0xLjQgMHoiXX0sQzB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpZWQtcGlwZXItcHAiLGljb246WzQ0OCw1MTIsW10sImYxYTciLCJNMjA1LjMgMTc0LjZjMCAyMS4xLTE0LjIgMzguMS0zMS43IDM4LjEtNy4xIDAtMTIuOC0xLjItMTcuMi0zLjdsMC02OGM0LjQtMi43IDEwLjEtNC4yIDE3LjItNC4yIDE3LjUgMCAzMS43IDE2LjkgMzEuNyAzNy44em01Mi42IDY3Yy03LjEgMC0xMi44IDEuNS0xNy4yIDQuMmwwIDY4YzQuNCAyLjUgMTAuMSAzLjcgMTcuMiAzLjcgMTcuNCAwIDMxLjctMTYuOSAzMS43LTM3LjggMC0yMS4xLTE0LjMtMzguMS0zMS43LTM4LjF6TTQ0OCA4MGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTE4NSAyNTUuMWM0MSAwIDc0LjItMzUuNiA3NC4yLTc5LjZTMjI2IDk1LjkgMTg1IDk1LjljLTEyIDAtMjQuMSAzLjItMzQuNiA4LjhsLTQ1LjcgMCAwIDIwNi4zIDUxLjgtMTAuMSAwLTUwLjZjOC42IDMuMSAxOC4xIDQuOCAyOC41IDQuOHptMTU4LjQgMjUuM2MwLTQ0LTMzLjItNzkuNi03My45LTc5LjYtMy4yIDAtNi40IC4yLTkuNiAuNy0zLjcgMTIuNS0xMC4xIDIzLjgtMTkuMiAzMy40LTEzLjggMTUtMzIuMiAyMy44LTUxLjggMjQuOGwwIDE1Ni4zIDUxLjgtMTAuMSAwLTUwLjZjOC42IDMuMiAxOC4yIDQuNyAyOC43IDQuNyA0MC44IDAgNzQtMzUuNiA3NC03OS42eiJdfSxUMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidXNzdW5uYWgiLGljb246WzUxMiw1MTIsW10sImY0MDciLCJNNDk2LjkgMjY4LjFjMCA2My45LTI1LjQgMTI1LjItNzAuNiAxNzAuM1MzMTkuOSA1MDkgMjU2IDUwOSAxMzAuOCA0ODMuNSA4NS43IDQzOC40IDE1LjEgMzMxLjkgMTUuMSAyNjhjMC02My45IDI1LjQtMTI1LjIgNzAuNi0xNzAuNFMxOTIuMiAyNy4xIDI1Ni4xIDI3LjEgMzgxLjMgNTIuNCA0MjYuNSA5Ny42IDQ5NyAyMDQuMSA0OTcgMjY4bC0uMSAuMXpNMzkuNSAyNjhjLS42IDI4LjggNC41IDU3LjUgMTUuMSA4NC4zczI2LjQgNTEuMiA0Ni42IDcxLjggNDQuMiAzNyA3MC44IDQ4LjEgNTUuMSAxNi45IDgzLjkgMTYuOSA1Ny40LTUuOCA4My45LTE2LjkgNTAuNi0yNy41IDcwLjgtNDguMSAzNi00NSA0Ni42LTcxLjggMTUuNy01NS41IDE1LjEtODQuM2MuNi0yOC44LTQuNS01Ny41LTE1LjEtODQuM3MtMjYuNC01MS4yLTQ2LjYtNzEuOC00NC4yLTM3LTcwLjgtNDguMS01NS4xLTE2LjktODMuOS0xNi45LTU3LjQgNS44LTgzLjkgMTYuOS01MC42IDI3LjUtNzAuOCA0OC4xLTM2IDQ1LTQ2LjYgNzEuOC0xNS43IDU1LjUtMTUuMSA4NC4zem0zODUuOSA2My4zYy0xMi43IDAtMjEuNi0xLjktMjYuNy01LjktNS41LTQuMy04LjItMTIuMy04LjItMjMuOGwwLTk2LjVjMC02LjUtNS4yLTIwLjItMTUuNy00MS4yIDcgMCAxNy05LjEgMzAtMjcuMmwwIDE0Ny44YzAgMTEgMi40IDE5LjQgNyAyNS4zIDMuNyA0LjcgMTAuMSA4LjkgMTkgMTIuNiAxLjIgLjQgMi42IC45IDQuMSAxLjQgMi45IC45IDYuMyAyLjEgMTAuMyAzLjUtMS44IDIuNy04LjMgNC0xOS45IDRsLjEgMHptLTIxOSAwYy0xLjMgMi40LTMuNiA1LjUtNi44IDkuNGwtMTguNSAyMi41Yy0xLTYuMS00LTEzLTkuMy0yMC42cy05LjctMTEuNC0xMy40LTExLjRsLTg5LjggMGMzLjMtNS4zIDQuOS04LjggNC45LTEwLjhzLS44LTUuMy0yLjQtOS43Yy0xLjUtNC40LTIuNC04LjUtMi40LTEyLjQgMC03LjQgMi4xLTEzLjkgNi4zLTE5LjNsMjAtMjUuNi03LjEtMTcuNyAxNi4xLTE5LjggNi43IDE2LjggOC0xMC4zYy0xLjggNi40LTIuNiAxMi4zLTIuNiAxNy43IDAgNC4yIDIuOCAxMy4zIDguMyAyNy4zbDE2LjIgNDAuNyAxNy43IDBjMi44IC40IDcuNyA1IDE0LjYgMTMuOSAxLjggMi40IDQuMyA1LjggNy43IDEwLjIgMS40IDEuOSAyLjkgMy45IDQuNiA2LjEgMS4zLTIuMyAyLTQuNiAyLTcuMSAwLTItMS4zLTYuNi00LTEzLjRMMTc4IDMwNC4xYy00LTEwLjYtNi4xLTE3LjctNi4xLTIxLjMgMC02LjMgMS45LTEyLjMgNS44LTE3LjkgLjUtLjYgMS0xLjMgMS41LTEuOSA0LjQtNS42IDguOC0xMS4xIDEzLjMtMTYuNS0xLjEgNC42LTEuNyA4LjctMS43IDEyIDAgMy43IDEuNyA5LjkgNS4xIDE4LjhsNy45IDIwLjRjMS45IDQuNyAzIDguMiAzLjcgMTAuM2wyNS45IDAtLjktMi42Yy0xLjQtMy45LTQtNy03LjctOS4zbDE1LjYtMjAuMSAxMi4zIDMyIDEzLjQgMC02LjEtMTUuOGMtMS41LTMuOS00LTctNy43LTkuM2wxNS43LTIwLjEgMTcuMyA0NS4yIDEzLjQgMC0xMS40LTI5LjRjLTEuNS0zLjktNC03LTcuNy05LjNsMTUuNi0yMCAyMi40IDU4LjcgMjYuMiAwYzEuNSAwIDMtMS4xIDQuNS0zLjFzMi4yLTQuMSAyLjItNi4zbDAtOTMuNWMwLTYuNS00LjUtMjAuMy0xMy43LTQxLjIgNS40IDAgMTQuMS05LjEgMjYuMi0yNy4ybDAgMTYzLjVjMCA3LjIgLjYgMTIgMS43IDE0LjYgMS42IDMuNCA1LjMgNi4yIDExLjEgOC4yLTMuOSA1LjYtOC43IDguNS0xNC41IDguNWwtMTU0LjggMC0uMS0uMnptLTk4LTQ0Yy0yLjctNi43LTQtMTEuNy00LTE1LS42IDEuMi0yLjQgMy43LTUuNCA3LjYtMS40IDEuOS0yLjIgMy43LTIuMiA1LjMgMCAyLjYgLjggNS43IDIuMiA5LjNsNS42IDEzLjljNSAwIDkgMCAxMS45LS4xbC04LjItMjAuOSAuMS0uMXptMTMuNS03Mi40Yy0zLTUuMi03LTkuMy0xMS45LTExLjktMy41LTEuOS01LjMtNC4zLTUuMy03LjQgMC0yLjQgNC42LTguNiAxNC0xOC4zIC4yIDMuOCAxLjkgNy42IDQuOSAxMS4yIDMuMSAzLjYgNC42IDcgNC42IDEwLjEgMCAyLjYtMi4xIDgtNi4yIDE2LjNsLS4xIDB6bS0yNy42IDBjLTMtNS4yLTctOS4zLTExLjktMTEuOS0zLjUtMS45LTUuMy00LjMtNS4zLTcuNCAwLTIuNCA0LjYtOC42IDE0LTE4LjMgLjIgMy44IDEuOSA3LjYgNC45IDExLjIgMy4xIDMuNiA0LjYgNyA0LjYgMTAuMSAwIDIuNi0yLjEgOC02LjIgMTYuM2wtLjEgMHptODcgMjcuNWMtMy01LjItNy05LjMtMTEuOS0xMS45LTMuNS0xLjktNS4zLTQuMy01LjMtNy40IDAtMi40IDQuNi04LjYgMTQtMTguMyAuMiAzLjggMS45IDcuNiA0LjkgMTEuMiAzLjEgMy42IDQuNiA3IDQuNiAxMC4xIDAgMi42LTIuMSA4LTYuMiAxNi4zbC0uMSAweiJdfSxfMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9ydC1hd2Vzb21lLWFsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjNhMyIsIk0yMDggMjM3LjRsLTIyLjIgMGMtMi4xIDAtMy43IDEuNi0zLjcgMy43bDAgNTEuN2MwIDIuMSAxLjYgMy43IDMuNyAzLjdsMjIuMiAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTUxLjdjMC0yLjEtMS42LTMuNy0zLjctMy43em0xMTguMiAwbC0yMi4yIDBjLTIuMSAwLTMuNyAxLjYtMy43IDMuN2wwIDUxLjdjMCAyLjEgMS42IDMuNyAzLjcgMy43bDIyLjIgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC01MS43Yy0uMS0yLjEtMS43LTMuNy0zLjctMy43em0xMzItMTI1LjFjLTIuMy0zLjItNC42LTYuNC03LjEtOS41LTkuOC0xMi41LTIwLjgtMjQtMzIuOC0zNC40LTQuNS0zLjktOS4xLTcuNi0xMy45LTExLjItMS42LTEuMi0zLjItMi4zLTQuOC0zLjUtMjcuNi0xOS42LTU5LjMtMzMuNy05My42LTQwLjctMTYuMi0zLjMtMzIuOS01LTUwLTVzLTMzLjkgMS43LTUwIDVjLTM0LjMgNy4xLTY2IDIxLjItOTMuMyA0MC44LTEuNiAxLjEtMy4yIDIuMy00LjggMy41LTQuOCAzLjYtOS40IDcuMy0xMy45IDExLjItMyAyLjYtNS45IDUuMy04LjggOHMtNS43IDUuNS04LjQgOC40Yy01LjUgNS43LTEwLjcgMTEuOC0xNS42IDE4LTIuNCAzLjEtNC44IDYuMy03LjEgOS41LTI4LjkgNDAuNi00NS44IDkwLjEtNDUuOCAxNDMuNiAwIDIgLjEgNCAuMSA2IC4xIC43IC4xIDEuMyAuMSAyIC4xIDEuMyAuMSAyLjcgLjIgNCAwIC44IC4xIDEuNSAuMSAyLjMgMCAxLjMgLjEgMi41IC4yIDMuNyAuMSAuOCAuMSAxLjYgLjIgMi40IC4xIDEuMSAuMiAyLjMgLjMgMy41IDAgLjggLjEgMS42IC4yIDIuNCAuMSAxLjIgLjMgMi40IC40IDMuNiAuMSAuOCAuMiAxLjUgLjMgMi4zIC4xIDEuMyAuMyAyLjYgLjUgMy45IC4xIC42IC4yIDEuMyAuMyAxLjlsLjkgNS43Yy4xIC42IC4yIDEuMSAuMyAxLjcgLjMgMS4zIC41IDIuNyAuOCA0IC4yIC44IC4zIDEuNiAuNSAyLjQgLjIgMSAuNSAyLjEgLjcgMy4yIC4yIC45IC40IDEuNyAuNiAyLjYgLjIgMSAuNCAyIC43IDMgLjIgLjkgLjUgMS44IC43IDIuNyAuMyAxIC41IDEuOSAuOCAyLjkgLjMgLjkgLjUgMS44IC44IDIuNyAuMiAuOSAuNSAxLjkgLjggMi44cy41IDEuOCAuOCAyLjdjLjMgMSAuNiAxLjkgLjkgMi44IC42IDEuNiAxLjEgMy4zIDEuNyA0LjkgLjQgMSAuNyAxLjkgMSAyLjggLjMgMSAuNyAyIDEuMSAzIC4zIC44IC42IDEuNSAuOSAyLjNsMS4yIDNjLjMgLjcgLjYgMS41IC45IDIuMiAuNCAxIC45IDIgMS4zIDNsLjkgMi4xYy41IDEgLjkgMiAxLjQgMyAuMyAuNyAuNiAxLjMgLjkgMiAuNSAxIDEgMi4xIDEuNSAzLjEgLjIgLjYgLjUgMS4xIC44IDEuNyAuNiAxLjEgMS4xIDIuMiAxLjcgMy4zIC4xIC4yIC4yIC4zIC4zIC41IDIuMiA0LjEgNC40IDguMiA2LjggMTIuMiAuMiAuNCAuNSAuOCAuNyAxLjIgLjcgMS4xIDEuMyAyLjIgMiAzLjMgLjMgLjUgLjYgLjkgLjkgMS40IC42IDEuMSAxLjMgMi4xIDIgMy4yIC4zIC41IC42IC45IC45IDEuNCAuNyAxLjEgMS40IDIuMSAyLjEgMy4yIC4yIC40IC41IC44IC44IDEuMiAuNyAxLjEgMS41IDIuMiAyLjMgMy4zIC4yIC4yIC4zIC41IC41IC43IDM3LjUgNTEuNyA5NC40IDg4LjUgMTYwIDk5LjQgLjkgLjEgMS43IC4zIDIuNiAuNCAxIC4yIDIuMSAuNCAzLjEgLjVzMS45IC4zIDIuOCAuNGMxIC4yIDIgLjMgMyAuNCAuOSAuMSAxLjkgLjIgMi45IC4zczEuOSAuMiAyLjkgLjMgMi4xIC4yIDMuMSAuM2MuOSAuMSAxLjggLjEgMi43IC4yIDEuMSAuMSAyLjMgLjEgMy40IC4yIC44IDAgMS43IC4xIDIuNSAuMSAxLjMgMCAyLjYgLjEgMy45IC4xIC43IC4xIDEuNCAuMSAyLjEgLjEgMiAuMSA0IC4xIDYgLjFzNC0uMSA2LS4xYy43IDAgMS40LS4xIDIuMS0uMSAxLjMgMCAyLjYgMCAzLjktLjEgLjggMCAxLjctLjEgMi41LS4xIDEuMS0uMSAyLjMtLjEgMy40LS4yIC45IDAgMS44LS4xIDIuNy0uMiAxLS4xIDIuMS0uMiAzLjEtLjNzMS45LS4yIDIuOS0uM2MuOS0uMSAxLjktLjIgMi45LS4zczItLjMgMy0uNCAxLjktLjMgMi44LS40YzEtLjIgMi4xLS4zIDMuMS0uNSAuOS0uMSAxLjctLjMgMi42LS40IDY1LjYtMTEgMTIyLjUtNDcuNyAxNjAuMS0xMDIuNCAuMi0uMiAuMy0uNSAuNS0uNyAuOC0xLjEgMS41LTIuMiAyLjMtMy4zIC4yLS40IC41LS44IC44LTEuMiAuNy0xLjEgMS40LTIuMSAyLjEtMy4yIC4zLS41IC42LS45IC45LTEuNCAuNi0xLjEgMS4zLTIuMSAyLTMuMiAuMy0uNSAuNi0uOSAuOS0xLjQgLjctMS4xIDEuMy0yLjIgMi0zLjMgLjItLjQgLjUtLjggLjctMS4yIDIuNC00IDQuNi04LjEgNi44LTEyLjIgLjEtLjIgLjItLjMgLjMtLjUgLjYtMS4xIDEuMS0yLjIgMS43LTMuMyAuMi0uNiAuNS0xLjEgLjgtMS43IC41LTEgMS0yLjEgMS41LTMuMSAuMy0uNyAuNi0xLjMgLjktMiAuNS0xIDEtMiAxLjQtM2wuOS0yLjFjLjUtMSAuOS0yIDEuMy0zIC4zLS43IC42LTEuNSAuOS0yLjJsMS4yLTNjLjMtLjggLjYtMS41IC45LTIuMyAuNC0xIC43LTIgMS4xLTNzLjctMS45IDEtMi44Yy42LTEuNiAxLjItMy4zIDEuNy00LjkgLjMtMSAuNi0xLjkgLjktMi44cy41LTEuOCAuOC0yLjdjLjItLjkgLjUtMS45IC44LTIuOHMuNi0xLjggLjgtMi43Yy4zLTEgLjUtMS45IC44LTIuOSAuMi0uOSAuNS0xLjggLjctMi43IC4yLTEgLjUtMiAuNy0zIC4yLS45IC40LTEuNyAuNi0yLjYgLjItMSAuNS0yLjEgLjctMy4yIC4yLS44IC4zLTEuNiAuNS0yLjQgLjMtMS4zIC42LTIuNyAuOC00IC4xLS42IC4yLTEuMSAuMy0xLjdsLjktNS43Yy4xLS42IC4yLTEuMyAuMy0xLjkgLjEtMS4zIC4zLTIuNiAuNS0zLjkgLjEtLjggLjItMS41IC4zLTIuMyAuMS0xLjIgLjMtMi40IC40LTMuNiAwLS44IC4xLTEuNiAuMi0yLjQgLjEtMS4xIC4yLTIuMyAuMy0zLjUgLjEtLjggLjEtMS42IC4yLTIuNCAuMSAxLjcgLjEgLjUgLjItLjcgMC0uOCAuMS0xLjUgLjEtMi4zIC4xLTEuMyAuMi0yLjcgLjItNCAuMS0uNyAuMS0xLjMgLjEtMiAuMS0yIC4xLTQgLjEtNiAwLTUzLjUtMTYuOS0xMDMtNDUuOC0xNDMuN3pNNDQ4IDM3MS41Yy05LjQgMTUuNS0yMC42IDI5LjktMzMuNiA0Mi45LTIwLjYgMjAuNi00NC41IDM2LjctNzEuMiA0OC0xMy45IDUuOC0yOC4yIDEwLjMtNDIuOSAxMy4ybDAtNzUuOGMwLTU4LjYtODguNi01OC42LTg4LjYgMGwwIDc1LjhjLTE0LjctMi45LTI5LTcuMy00Mi45LTEzLjItMjYuNy0xMS4zLTUwLjYtMjcuNC03MS4yLTQ4LTEzLTEzLTI0LjItMjcuNC0zMy42LTQyLjlsMC03MS4zYzAtMi4xIDEuNi0zLjcgMy43LTMuN2wyMi4xIDBjMi4xIDAgMy43IDEuNiAzLjcgMy43bDAgMjUuOCAyOS42IDAgMC0xNDRjMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjEgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjIgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC00LjggNi41LTMuNyA5LjUtMy43bDAtOTAuMmMtNC40LTItNy40LTYuNy03LjQtMTEuNSAwLTE2LjggMjUuNC0xNi44IDI1LjQgMCAwIDQuOC0zIDkuNC03LjQgMTEuNWwwIDMuOWM2LjMtMS40IDEyLjctMi4zIDE5LjItMi4zIDkuNCAwIDE4LjQgMy41IDI2LjMgMy41IDcuMiAwIDE1LjItMy41IDE5LjQtMy41IDIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDQ4LjRjMCA1LjYtMTguNyA2LjUtMjIuNCA2LjUtOC42IDAtMTYuNi0zLjUtMjUuNC0zLjUtNyAwLTE0LjEgMS4yLTIwLjggMi44bDAgMzAuN2MzIDAgOS41LTEuMSA5LjUgMy43bDAgMjUuOSAyOS41IDAgMC0yNS45YzAtMi4xIDEuNi0zLjcgMy43LTMuN2wyMi4yIDBjMi4xIDAgMy43IDEuNiAzLjcgMy43bDAgMjUuOSAyOS41IDAgMC0yNS45YzAtMi4xIDEuNi0zLjcgMy43LTMuN2wyMi4xIDBjMi4xIDAgMy43IDEuNiAzLjcgMy43bDAgMTQ0IDI5LjUgMCAwLTI1LjhjMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjIgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCA3MS4zeiJdfSxMMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnVyb21vYmVsZXhwZXJ0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3ZiIsIk0wIDMybDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0xMjAgMTUybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnpNMTYwIDMybDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0yODAgMTUybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnpNMzIwIDMybDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek00NDAgMTUybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnpNMCAxOTJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTEyMCAzMTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyem00MC0xMjBsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTI4MCAzMTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyem00MC0xMjBsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTQ0MCAzMTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0wIDM1MmwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMTIwIDQ3MmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMjgwIDQ3MmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHoiXX0sJDB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpbGliaWxpIixpY29uOls1MTIsNTEyLFtdLCJlM2Q5IiwiTTQ4OC42IDEwNC4xYzE2LjcgMTguMSAyNC40IDM5LjcgMjMuMyA2NS43bDAgMjAyLjRjLS40IDI2LjQtOS4yIDQ4LjEtMjYuNSA2NS4xLTE3LjIgMTctMzkuMSAyNS45LTY1LjUgMjYuN0w5MiA0NjRjLTI2LjQtLjgtNDguMi05LjgtNjUuMy0yNy4yLTE3LjEtMTcuNC0yNi00MC4zLTI2LjctNjguNkwwIDE2OS44Yy44LTI2IDkuNy00Ny42IDI2LjctNjUuNyAxNy4xLTE2LjMgMzguOC0yNS4zIDY1LjMtMjYuMWwyOS40IDAtMjUuNC0yNS44Yy01LjctNS43LTguNi0xMy04LjYtMjEuOHMyLjktMTYuMSA4LjYtMjEuOCAxMy04LjYgMjEuOS04LjYgMTYuMSAyLjkgMjEuOSA4LjZsNzMuMyA2OS40IDg4IDAgNzQuNS02OS40QzM4MS43IDIuOSAzODkuMiAwIDM5OCAwczE2LjEgMi45IDIxLjkgOC42YzUuNyA1LjcgOC42IDEzIDguNiAyMS44cy0yLjkgMTYuMS04LjYgMjEuOEwzOTQuNiA3OCA0MjMuOSA3OGMyNi40IC44IDQ4IDkuOCA2NC43IDI2LjF6bS0zOC44IDY5LjdjLS40LTkuNi0zLjctMTcuNC0xMC43LTIzLjUtNS4yLTYuMS0xNC05LjQtMjIuNy05LjhsLTMyMC40IDBjLTkuNiAuNC0xNy40IDMuNy0yMy42IDkuOC02LjEgNi4xLTkuNCAxMy45LTkuOCAyMy41bDAgMTk0LjRjMCA5LjIgMy4zIDE3IDkuOCAyMy41czE0LjQgOS44IDIzLjYgOS44bDMyMC40IDBjOS4yIDAgMTctMy4zIDIzLjMtOS44czkuNy0xNC4zIDEwLjEtMjMuNWwwLTE5NC40ek0xODUuNSAyMTYuNWM2LjMgNi4zIDkuNyAxNC4xIDEwLjEgMjMuMmwwIDMzLjNjLS40IDkuMi0zLjcgMTYuOS05LjggMjMuMi02LjIgNi4zLTE0IDkuNS0yMy42IDkuNXMtMTcuNS0zLjItMjMuNi05LjUtOS40LTE0LTkuOC0yMy4ybDAtMzMuM2MuNC05LjEgMy44LTE2LjkgMTAuMS0yMy4yczEzLjItOS42IDIzLjMtMTBjOS4yIC40IDE3IDMuNyAyMy4zIDEwem0xOTEuNSAwYzYuMyA2LjMgOS43IDE0LjEgMTAuMSAyMy4ybDAgMzMuM2MtLjQgOS4yLTMuNyAxNi45LTkuOCAyMy4ycy0xNCA5LjUtMjMuNiA5LjUtMTcuNC0zLjItMjMuNi05LjVjLTctNi4zLTkuNC0xNC05LjctMjMuMmwwLTMzLjNjLjMtOS4xIDMuNy0xNi45IDEwLTIzLjJzMTQuMS05LjYgMjMuMy0xMGM5LjIgLjQgMTcgMy43IDIzLjMgMTB6Il19LEQwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuZW9zIixpY29uOls0NDgsNTEyLFtdLCJmNjEyIiwiTTM4My44IDUxMmwtOTUuMSAwLTEwOC4yLTE1NC41IDAgOTEuMS04Ni40IDYzLjQtOTcuNyAwIDAtNDgyLjIgNDAuNS0yOS44IDEwOCAwIDEyMy43IDE3Ni4xIDAtMTEyLjcgODYuNC02My40IDk3LjcgMCAwIDQ2MS41LTY4LjkgNTAuNXpNNy4yIDM1LjNsMCA0NjAuNyA3Mi01Mi45IDAtMjQ5LjEgMjE1LjUgMzA3LjYgODQuOCAwIDUyLjQtMzguMi03OC4zIDAtMzE2LjEtNDUwLjUtMzAuMiAyMi4zek04OS43IDUwMS45bDgwLTU4LjggMC0xMDEtNzkuOC0xMTQuNCAwIDIyMC45LTcyLjYgNTMuMyA3Mi4zIDAgMCAwek00OSAxMC44bDMxMC42IDQ0Mi42IDgyLjQgMCAwLTQ0Mi42LTc5LjggMCAwIDMxNy42LTIyMi45LTMxNy42LTkwLjMgMHpNMjc5LjQgMTkxLjZsNzIgMTAyLjggMC0yNzguNS03MiA1MyAwIDEyMi43eiJdfSxBMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGV2IixpY29uOls0NDgsNTEyLFtdLCJmNmNjIiwiTTEyMC4xIDIwOC4zYy0zLjktMi45LTcuOC00LjMtMTEuNi00LjNsLTE3LjQgMCAwIDEwNC41IDE3LjQgMGMzLjkgMCA3LjgtMS40IDExLjYtNC4zczUuOC03LjMgNS44LTEzLjFsMC02OS43YzAtNS44LTItMTAuMi01LjgtMTMuMXpNNDA0LjEgMzJMNDMuOSAzMkMxOS43IDMyIC4xIDUxLjYgMCA3NS44TDAgNDM2LjJDLjEgNDYwLjQgMTkuNyA0ODAgNDMuOSA0ODBsMzYwLjIgMGMyNC4yIDAgNDMuOC0xOS42IDQzLjktNDMuOGwwLTM2MC40QzQ0Ny45IDUxLjYgNDI4LjMgMzIgNDA0LjEgMzJ6TTE1NC4yIDI5MS4yYzAgMTguOC0xMS42IDQ3LjMtNDguNCA0Ny4zbC00Ni40IDAgMC0xNjUuNSA0Ny40IDBjMzUuNCAwIDQ3LjQgMjguNSA0Ny40IDQ3LjNsMCA3MC45em0xMDAuNy04OC43bC01My4zIDAgMCAzOC40IDMyLjYgMCAwIDI5LjYtMzIuNiAwIDAgMzguNCA1My4zIDAgMCAyOS42LTYyLjIgMGMtMTEuMiAuMy0yMC40LTguNS0yMC43LTE5LjdsMC0xMjUuMWMtLjMtMTEuMSA4LjYtMjAuNCAxOS43LTIwLjdsNjMuMiAwIDAgMjkuNXpNMzU4LjUgMzE3LjhjLTEzLjIgMzAuNy0zNi44IDI0LjYtNDcuNCAwbC0zOC41LTE0NC44IDMyLjYgMCAyOS43IDExMy43IDI5LjYtMTEzLjcgMzIuNiAwLTM4LjUgMTQ0Ljh6Il19LEUwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJob3RqYXIiLGljb246WzUxMiw1MTIsW10sImYzYjEiLCJNMzYxLjggMGMwIDEzMS42LTgwLjcgMTc2LjgtMTQwLjIgMjA5LjQtLjYgLjMtMS4xIC42LTEuNiAuOS01My44IDMwLjItODguNyA0OS44LTg5LjYgMTIybC05OC4xIDBjMC0xMzEuNSA4MC43LTE3Ni43IDE0MC4yLTIwOS4zIDU0LjgtMjkuOCA5MC4zLTUwIDkwLjMtMTIzbDk5IDB6TTMwMS4zIDMwMi42YzU0LjgtMjkuOCA5MC4zLTUwIDkwLjMtMTIzbDk4IDBjMCAxMzEuNi04MC43IDE3Ni43LTE0MC4yIDIwOS40LTU0LjggMjkuOC05MC4zIDUwLTkwLjMgMTIzbC05OCAwYzAtMTMxLjYgODAuNy0xNzYuOCAxNDAuMi0yMDkuNHoiXX0sSTB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRvY2h1YiIsaWNvbjpbNDQ4LDUxMixbXSwiZjM5NCIsIk00MTMuOSAxNjBMMjcyIDE2MCAyNzIgMTkuNiA0MTMuOSAxNjB6TTMyMCAxOTJsMCAxMzBjMCA2Ni44LTM2LjUgMTAwLjEtMTEzLjMgMTAwLjFsLTk0LjcgMCAwLTMzNy4zIDk0LjcgMGMxMiAwIDIzLjEgLjggMzMuMSAyLjVsMC04NEMyMjguOSAxLjEgMjE3LjQgMCAyMDUuMiAwTDE2IDAgMTYgNTEyIDIwNS4yIDUxMkMzNDUuNyA1MTIgNDE2IDQ0Ny40IDQxNiAzMTguMWwwLTEyNi4xLTk2IDB6Il19LFAwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aW1lbyIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwYSIsIk00MDMuMiAzMkw0NC44IDMyQzIwLjEgMzIgMCA1Mi4xIDAgNzYuOEwwIDQzNS4yQzAgNDU5LjkgMjAuMSA0ODAgNDQuOCA0ODBsMzU4LjQgMGMyNC43IDAgNDQuOC0yMC4xIDQ0LjgtNDQuOGwwLTM1OC40QzQ0OCA1Mi4xIDQyNy45IDMyIDQwMy4yIDMyek0zNzcgMTgwLjhjLTEuNCAzMS41LTIzLjQgNzQuNy02NiAxMjkuNC00NCA1Ny4yLTgxLjMgODUuOC0xMTEuNyA4NS44LTE4LjkgMC0zNC44LTE3LjQtNDcuOS01Mi4zLTI1LjUtOTMuMy0zNi40LTE0OC01Ny40LTE0OC0yLjQgMC0xMC45IDUuMS0yNS40IDE1LjJMNTMuNCAxOTEuM2MzNy4zLTMyLjggNzIuOS02OS4yIDk1LjItNzEuMiAyNS4yLTIuNCA0MC43IDE0LjggNDYuNSA1MS43IDIwLjcgMTMxLjIgMjkuOSAxNTEgNjcuNiA5MS42IDEzLjUtMjEuNCAyMC44LTM3LjcgMjEuOC00OC45IDMuNS0zMy4yLTI1LjktMzAuOS00NS44LTIyLjQgMTUuOS01Mi4xIDQ2LjMtNzcuNCA5MS4yLTc2IDMzLjMgLjkgNDkgMjIuNSA0Ny4xIDY0Ljd6Il19LE4wdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtYXhjZG4iLGljb246WzUxMiw1MTIsW10sImYxMzYiLCJNNDYxLjEgNDQyLjdsLTk3LjQgMCA1MS45LTI0Mi43YzIuMy0xMC4yIC45LTE5LjUtNC40LTI1LjctNS02LjEtMTMuNy05LjYtMjQuMi05LjZsLTQ5LjMgMC01OS41IDI3OC05Ny40IDAgNTkuNS0yNzgtODMuNCAwLTU5LjUgMjc4LTk3LjQgMCA1OS41LTI3OC00NC42LTk1LjQgMzcyLjEgMGMzOS40IDAgNzUuMyAxNi4zIDk4LjMgNDQuOSAyMy4zIDI4LjYgMzEuOCA2Ny40IDIzLjYgMTA1LjlMNDYxLjEgNDQyLjd6Il19LHExZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZSIsaWNvbjpbNDQ4LDUxMixbImZvbnQtYXdlc29tZS1hbHQiXSwiZjM1YyIsIk02NCA2NEM0Ni4zIDY0IDMyIDc4LjMgMzIgOTZsMCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMjBjMC0xNy43LTE0LjMtMzItMzItMzJMNjQgNjR6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xNTQgNThjMCA5LjMtNC44IDE3LjQtMTIuMSAyMmwxODguOSAwYzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDEuOC0uNCAzLjctMS4xIDUuNEwzMTIgMjY0IDM0Mi45IDMzMy40Yy44IDEuNyAxLjEgMy41IDEuMSA1LjQgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ybC0xODYuOCAwIDAgMzItMzIgMCAwLTIwOS41Yy02LjEtNC44LTEwLTEyLjItMTAtMjAuNSAwLTE0LjQgMTEuNi0yNiAyNi0yNnMyNiAxMS42IDI2IDI2eiJdfSxGMHQ9cTFlLE8wdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcGVha2FwIixpY29uOls0NDgsNTEyLFtdLCJmM2YzIiwiTTY0LjQgMzkxLjhDLTE1IDMwMy42LTcuNiAxNjcuNCA4MS4xIDg3LjZzMjI0LjgtNzMgMzA0LjIgMTUuMiA3MiAyMjQuNC0xNi42IDMwNC4xYy0xOC43IDE2LjkgNjQgNDMuMSA0MiA1Mi4zLTgyLjEgMzQuMi0yNTMuOSAzNS0zNDYuMi02Ny41bDAgMHpNMjc3LjcgMTgwLjJsMzguNS00MC45Yy05LjYtOC45LTMyLTI2LjgtNzYuMi0yNy42LTUyLjMtLjktOTUuOSAyOC4zLTk2LjggODAtLjIgMTEuMyAuMyAzNi43IDI5LjQgNTQuOCAzNC41IDIxLjQgODYuNSAyMS41IDg2IDUyLjMtLjQgMjEuMy0yNi40IDI1LjgtMzguNiAyNS42LTMgMC0zMC4yLS41LTQ3LjYtMjQuNmwtNDAgNDIuNmMyOC4yIDI3IDU5IDMyLjYgODMuNSAzMyAxMC4yIC4yIDk2LjQgLjMgOTcuOC04MSAuMy0xNS44LTIuMS0zOS43LTI4LjktNTYuNi0zNC40LTIxLjYtODUtMTkuNC04NC40LTQ5LjcgLjQtMjMuMyAzMS0yNS40IDM3LjUtMjUuMyAuNCAwIDI2LjYgLjMgMzkuNiAxNy40bDAgMHoiXX0sUjB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZhbnRhc3ktZmxpZ2h0LWdhbWVzIixpY29uOls1MTIsNTEyLFtdLCJmNmRjIiwiTTI1NiAzMi45TDMyLjkgMjU2IDI1NiA0NzkuMSA0NzkuMSAyNTYgMjU2IDMyLjl6TTg4LjMgMjU1LjhjMi0yIDExLjktMTIuMyA5Ni41LTk3LjUgNDEuNC00MS44IDg2LjItNDMuOCAxMTkuOC0xOC43IDI0LjYgMTguNCA2Mi4xIDU4LjkgNjIuMSA1OSAuNyAuNyAxLjEgMi45IC42IDMuNC0xMS4zIDExLjgtMjIuNyAyMy41LTMzLjUgMzQuNy0zNC4yLTMyLjMtNDAuNS0zOC4yLTQ4LjUtNDQtMTcuOC0xMi43LTQxLjQtMTAuMS01NyA1LjEtMi4yIDIuMS0xLjggMy40IC4xIDUuNCAyLjkgMi45IDI4LjEgMjguMyAzNS4xIDM1LjgtMTEuOSAxMS42LTIzLjcgMjMtMzUuNyAzNC43LTEyLTEyLjUtMjQuNS0yNS41LTM2LjUtMzguMS0yMS40IDIxLjEtNDEuNyA0MS4xLTYxLjggNjFMODguMyAyNTUuOHpNMzIzLjIgMzU3LjRjLTM1LjUgMzUuNC03OC4xIDM4LjEtMTA3IDIwLjUtMjIuMS0xMy41LTM5LjQtMzIuMS03Mi45LTY2LjggMTItMTIuNCAyMy44LTI0LjQgMzUuNC0zNi4zIDMzIDMxLjkgMzcuMSAzNiA0NC43IDQyLjEgMTguNSAxNC43IDQyLjUgMTMuNyA1OS4zLTEuOCAzLjctMy40IDMuNy0zLjYgLjEtNy4yLTEwLjYtMTAuNy0yMS4yLTIxLjQtMzEuOC0zMi4yLTEuMy0xLjMtMy0yLjUtLjgtNC43IDEwLjgtMTAuNyAyMS41LTIxLjUgMzIuMi0zMi4zIC4zLS4zIC42LS40IDEuOS0xLjEgMTIuNCAxMi45IDI0LjkgMjUuOSAzNy4yIDM4LjggMjEtMjAuNyA0MS4yLTQwLjcgNjEuMy02MC40IDEzLjcgMTMuNCAyNy4xIDI2LjYgNDAuOSA0MC0yMC4yIDIwLjktODEuNyA4Mi43LTEwMC41IDEwMS41ek0yNTYgMEwwIDI1NiAyNTYgNTEyIDUxMiAyNTYgMjU2IDB6TTE2IDI1NkwyNTYgMTYgNDk2IDI1NiAyNTYgNDk2IDE2IDI1NnoiXX0sQjB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxpbnV4IixpY29uOls0NDgsNTEyLFtdLCJmMTdjIiwiTTIyMC45IDEyMy4zYzEgLjUgMS44IDEuNyAzIDEuNyAxLjEgMCAyLjgtLjQgMi45LTEuNSAuMi0xLjQtMS45LTIuMy0zLjItMi45LTEuNy0uNy0zLjktMS01LjUtLjEtLjQgLjItLjggLjctLjYgMS4xIC4zIDEuMyAyLjMgMS4xIDMuNCAxLjd6TTE5OSAxMjVjMS4yIDAgMi0xLjIgMy0xLjcgMS4xLS42IDMuMS0uNCAzLjUtMS42IC4yLS40LS4yLS45LS42LTEuMS0xLjYtLjktMy44LS42LTUuNSAuMS0xLjMgLjYtMy40IDEuNS0zLjIgMi45IC4xIDEgMS44IDEuNSAyLjggMS40ek00MjAgNDAzLjhjLTMuNi00LTUuMy0xMS42LTcuMi0xOS43LTEuOC04LjEtMy45LTE2LjgtMTAuNS0yMi40LTEuMy0xLjEtMi42LTIuMS00LTIuOS0xLjMtLjgtMi43LTEuNS00LjEtMiA5LjItMjcuMyA1LjYtNTQuNS0zLjctNzkuMS0xMS40LTMwLjEtMzEuMy01Ni40LTQ2LjUtNzQuNC0xNy4xLTIxLjUtMzMuNy00MS45LTMzLjQtNzIgLjUtNDUuOSA1LjEtMTMxLjItNzUuOC0xMzEuMy0xMDIuNC0uMi03Ni44IDEwMy40LTc3LjkgMTM1LjItMS43IDIzLjQtNi40IDQxLjgtMjIuNSA2NC43LTE4LjkgMjIuNS00NS41IDU4LjgtNTguMSA5Ni43LTYgMTcuOS04LjggMzYuMS02LjIgNTMuMy02LjUgNS44LTExLjQgMTQuNy0xNi42IDIwLjItNC4yIDQuMy0xMC4zIDUuOS0xNyA4LjNzLTE0IDYtMTguNSAxNC41Yy0yLjEgMy45LTIuOCA4LjEtMi44IDEyLjQgMCAzLjkgLjYgNy45IDEuMiAxMS44IDEuMiA4LjEgMi41IDE1LjcgLjggMjAuOC01LjIgMTQuNC01LjkgMjQuNC0yLjIgMzEuNyAzLjggNy4zIDExLjQgMTAuNSAyMC4xIDEyLjMgMTcuMyAzLjYgNDAuOCAyLjcgNTkuMyAxMi41IDE5LjggMTAuNCAzOS45IDE0LjEgNTUuOSAxMC40IDExLjYtMi42IDIxLjEtOS42IDI1LjktMjAuMiAxMi41LS4xIDI2LjMtNS40IDQ4LjMtNi42IDE0LjktMS4yIDMzLjYgNS4zIDU1LjEgNC4xIC42IDIuMyAxLjQgNC42IDIuNSA2LjdsMCAuMWM4LjMgMTYuNyAyMy44IDI0LjMgNDAuMyAyMyAxNi42LTEuMyAzNC4xLTExIDQ4LjMtMjcuOSAxMy42LTE2LjQgMzYtMjMuMiA1MC45LTMyLjIgNy40LTQuNSAxMy40LTEwLjEgMTMuOS0xOC4zIC40LTguMi00LjQtMTcuMy0xNS41LTI5Ljd6TTIyMy44IDg3LjNjOS44LTIyLjIgMzQuMi0yMS44IDQ0LS40IDYuNSAxNC4yIDMuNiAzMC45LTQuMyA0MC40LTEuNi0uOC01LjktMi42LTEyLjYtNC45IDEuMS0xLjIgMy4xLTIuNyAzLjktNC42IDQuOC0xMS44LS4yLTI3LTkuMS0yNy4zLTcuMy0uNS0xMy45IDEwLjgtMTEuOCAyMy00LjEtMi05LjQtMy41LTEzLTQuNC0xLTYuOS0uMy0xNC42IDIuOS0yMS44ek0xODMuMSA3NS44YzEwLjEgMCAyMC44IDE0LjIgMTkuMSAzMy41LTMuNSAxLTcuMSAyLjUtMTAuMiA0LjYgMS4yLTguOS0zLjMtMjAuMS05LjYtMTkuNi04LjQgLjctOS44IDIxLjItMS44IDI4LjEgMSAuOCAxLjktLjItNS45IDUuNS0xNS42LTE0LjYtMTAuNS01Mi4xIDguNC01Mi4xem0tMTMuNiA2MC43YzYuMi00LjYgMTMuNi0xMCAxNC4xLTEwLjUgNC43LTQuNCAxMy41LTE0LjIgMjcuOS0xNC4yIDcuMSAwIDE1LjYgMi4zIDI1LjkgOC45IDYuMyA0LjEgMTEuMyA0LjQgMjIuNiA5LjMgOC40IDMuNSAxMy43IDkuNyAxMC41IDE4LjItMi42IDcuMS0xMSAxNC40LTIyLjcgMTguMS0xMS4xIDMuNi0xOS44IDE2LTM4LjIgMTQuOS0zLjktLjItNy0xLTkuNi0yLjEtOC0zLjUtMTIuMi0xMC40LTIwLTE1LTguNi00LjgtMTMuMi0xMC40LTE0LjctMTUuMy0xLjQtNC45IDAtOSA0LjItMTIuM3ptMy4zIDMzNGMtMi43IDM1LjEtNDMuOSAzNC40LTc1LjMgMTgtMjkuOS0xNS44LTY4LjYtNi41LTc2LjUtMjEuOS0yLjQtNC43LTIuNC0xMi43IDIuNi0yNi40bDAtLjJjMi40LTcuNiAuNi0xNi0uNi0yMy45LTEuMi03LjgtMS44LTE1IC45LTIwIDMuNS02LjcgOC41LTkuMSAxNC44LTExLjMgMTAuMy0zLjcgMTEuOC0zLjQgMTkuNi05LjkgNS41LTUuNyA5LjUtMTIuOSAxNC4zLTE4IDUuMS01LjUgMTAtOC4xIDE3LjctNi45IDguMSAxLjIgMTUuMSA2LjggMjEuOSAxNmwxOS42IDM1LjZjOS41IDE5LjkgNDMuMSA0OC40IDQxIDY4Ljl6bS0xLjQtMjUuOWMtNC4xLTYuNi05LjYtMTMuNi0xNC40LTE5LjYgNy4xIDAgMTQuMi0yLjIgMTYuNy04LjkgMi4zLTYuMiAwLTE0LjktNy40LTI0LjktMTMuNS0xOC4yLTM4LjMtMzIuNS0zOC4zLTMyLjUtMTMuNS04LjQtMjEuMS0xOC43LTI0LjYtMjkuOXMtMy0yMy4zLS4zLTM1LjJjNS4yLTIyLjkgMTguNi00NS4yIDI3LjItNTkuMiAyLjMtMS43IC44IDMuMi04LjcgMjAuOC04LjUgMTYuMS0yNC40IDUzLjMtMi42IDgyLjQgLjYtMjAuNyA1LjUtNDEuOCAxMy44LTYxLjUgMTItMjcuNCAzNy4zLTc0LjkgMzkuMy0xMTIuNyAxLjEgLjggNC42IDMuMiA2LjIgNC4xIDQuNiAyLjcgOC4xIDYuNyAxMi42IDEwLjMgMTIuNCAxMCAyOC41IDkuMiA0Mi40IDEuMiA2LjItMy41IDExLjItNy41IDE1LjktOSA5LjktMy4xIDE3LjgtOC42IDIyLjMtMTUgNy43IDMwLjQgMjUuNyA3NC4zIDM3LjIgOTUuNyA2LjEgMTEuNCAxOC4zIDM1LjUgMjMuNiA2NC42IDMuMy0uMSA3IC40IDEwLjkgMS40IDEzLjgtMzUuNy0xMS43LTc0LjItMjMuMy04NC45LTQuNy00LjYtNC45LTYuNi0yLjYtNi41IDEyLjYgMTEuMiAyOS4yIDMzLjcgMzUuMiA1OSAyLjggMTEuNiAzLjMgMjMuNyAuNCAzNS43IDE2LjQgNi44IDM1LjkgMTcuOSAzMC43IDM0LjgtMi4yLS4xLTMuMiAwLTQuMiAwIDMuMi0xMC4xLTMuOS0xNy42LTIyLjgtMjYuMS0xOS42LTguNi0zNi04LjYtMzguMyAxMi41LTEyLjEgNC4yLTE4LjMgMTQuNy0yMS40IDI3LjMtMi44IDExLjItMy42IDI0LjctNC40IDM5LjktLjUgNy43LTMuNiAxOC02LjggMjktMzIuMSAyMi45LTc2LjcgMzIuOS0xMTQuMyA3LjJ6bTI1Ny40LTExLjVjLS45IDE2LjgtNDEuMiAxOS45LTYzLjIgNDYuNS0xMy4yIDE1LjctMjkuNCAyNC40LTQzLjYgMjUuNXMtMjYuNS00LjgtMzMuNy0xOS4zYy00LjctMTEuMS0yLjQtMjMuMSAxLjEtMzYuMyAzLjctMTQuMiA5LjItMjguOCA5LjktNDAuNiAuOC0xNS4yIDEuNy0yOC41IDQuMi0zOC43IDIuNi0xMC4zIDYuNi0xNy4yIDEzLjctMjEuMSAuMy0uMiAuNy0uMyAxLS41IC44IDEzLjIgNy4zIDI2LjYgMTguOCAyOS41IDEyLjYgMy4zIDMwLjctNy41IDM4LjQtMTYuMyA5LS4zIDE1LjctLjkgMjIuNiA1LjEgOS45IDguNSA3LjEgMzAuMyAxNy4xIDQxLjYgMTAuNiAxMS42IDE0IDE5LjUgMTMuNyAyNC42ek0xNzMuNCAxNDguN2MyIDEuOSA0LjcgNC41IDggNy4xIDYuNiA1LjIgMTUuOCAxMC42IDI3LjMgMTAuNiAxMS42IDAgMjIuNS01LjkgMzEuOC0xMC44IDQuOS0yLjYgMTAuOS03IDE0LjgtMTAuNHM1LjktNi4zIDMuMS02LjYtMi42IDIuNi02IDUuMWMtNC40IDMuMi05LjcgNy40LTEzLjkgOS44LTcuNCA0LjItMTkuNSAxMC4yLTI5LjkgMTAuMnMtMTguNy00LjgtMjQuOS05LjdjLTMuMS0yLjUtNS43LTUtNy43LTYuOS0xLjUtMS40LTEuOS00LjYtNC4zLTQuOS0xLjQtLjEtMS44IDMuNyAxLjcgNi41eiJdfSxIMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY290dG9uLWJ1cmVhdSIsaWNvbjpbNTEyLDUxMixbXSwiZjg5ZSIsIk00NzQuMyAzMzAuNEM0NTAuNiA0MjIuMyAzODAuMSA0NzUgMjcyLjQgNDc4LjhsMC00OS4yYzAtNDggMjYuNC03NC40IDc0LjQtNzQuNCA2MiAwIDk5LjItMzcuMiA5OS4yLTk5LjIgMC02MS40LTM2LjUtOTguMy05Ny40LTk5LjEtMzMtNjkuMy0xNDYuNS02NC43LTE3Ny4yIDAtNjAuOSAuOC05Ny40IDM3LjctOTcuNCA5OS4xIDAgNjIuMSAzNy4zIDk5LjQgOTkuNCA5OS40IDQ4IDAgNzQuNiAyNi4yIDc0LjYgNzQuNGwwIDQ5LjJjLTEzNC40LTUtMjExLjEtODUuMS0yMTEuMS0yMjMgMC0xNDEuOCA4MS40LTIyMy4yIDIyMy4yLTIyMy4yIDExNC44IDAgMTg5LjggNTMuMiAyMTQuNyAxNDguOGwyNS4zIDBDNDczLjkgNzEuNSAzODguMiA4IDI1OS44IDggMTA1IDggMTIgMTAxLjIgMTIgMjU1LjggMTIgNDExLjEgMTA1LjIgNTA0LjMgMjU5LjggNTA0IDM4OC4xIDUwNCA0NzMuNyA0NDAuMiA0OTkuNSAzMzAuNGwtMjUuMiAwek0zNTcgMTgyLjNjNDEuNCAzLjQgNjQuMiAyOSA2NC4yIDczLjcgMCA0OC0yNi40IDc0LjQtNzQuNCA3NC40LTI4LjYgMC00OS4zLTkuNi02MS42LTI3LjMgODMuMS0xNi41IDc1LjYtOTkuNyA3MS44LTEyMC43em0tODEuNyA5Ny40Yy0yLjUtMTAuMy0xNi4zLTg3IDU2LjItOTcgMi4zIDEwLjEgMTYuNSA4Ny4xLTU2LjMgOTdsMCAwek0yNjAgMTMyYzI4LjYgMCA0OSA5LjcgNjEuNCAyNy42LTI4LjQgNS41LTQ5LjQgMjAuNi02MS42IDQzLjQtMTIuMi0yMi45LTMzLjItMzgtNjEuNi00My40IDEyLjQtMTcuNyAzMy4zLTI3LjQgNjEuNi0yNy40bC4yLS4zem0tNzEuNSA1MC43YzczLjIgMTAuNiA1OC45IDg2LjggNTYuNSA5Ny03Mi40LTkuOC01OS04Ny01Ni4yLTk3bC0uMiAwek0xNzMuMiAzMzAuNGMtNDggMC03NC40LTI2LjQtNzQuNC03NC40IDAtNDQuNCAyMi45LTcwIDY0LjItNzMuNy02LjggMzcuMi0xLjQgMTA2LjUgNzEuNiAxMjAuNy0xMi4xIDE3LjYtMzIuOCAyNy4zLTYxLjEgMjcuM2wtLjMgMHptNTMuMiAxMi40YzE0LjMtNy42IDI2LTE5LjMgMzMuNi0zMy41IDcuOCAxNC41IDE5LjMgMjUuNSAzMy44IDMzLjUtMTQuNCA3LjYtMjYuMSAxOS40LTMzLjYgMzMuOC04LTE0LjUtMTkuMS0yNi4yLTMzLjYtMzMuOGwtLjMgMHoiXX0scTB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS13YWxsZXQiLGljb246WzQ0OCw1MTIsW10sImYxZWUiLCJNMTU2LjggMTI2LjhjMzcuNiA2MC42IDY0LjIgMTEzLjEgODQuMyAxNjIuNS04LjMgMzMuOC0xOC44IDY2LjUtMzEuMyA5OC4zLTEzLjItNTIuMy0yNi41LTEwMS4zLTU2LTE0OC41IDYuNS0zNi40IDIuMy03My42IDMtMTEyLjN6TTEwOS4zIDIwMGwtOTMuMiAwYy02LjUgMC0xMC41IDcuNS02LjUgMTIuNyA0Mi4yIDU0LjMgNzEuNyAxMTcuOCA5MS43IDE4Ny4zbDEwMy41IDBjLTE2LjItNjkuNy0zOC43LTEzMy43LTgyLjUtMTkzLjUtMy00LTgtNi41LTEzLTYuNXptNDcuOC04OGM2OC41IDEwOCAxMzAgMjM0LjUgMTM4LjIgMzY4TDQwOSA0ODBjLTEyLTEzOC02OC40LTI2NS0xNDMuMi0zNjhsLTEwOC43IDB6TTQwOC45IDQzLjVjLTEuOC02LjgtOC4yLTExLjUtMTUuMi0xMS41bC04OC4zIDBjLTUuMyAwLTkgNS03LjggMTAuMyAxMy4yIDQ2LjUgMjIuMyA5NS41IDI2LjUgMTQ2IDQ4LjIgODYuMiA3OS43IDE3OC4zIDkwLjYgMjcwLjggMTUuOC02MC41IDI1LjMtMTMzLjUgMjUuMy0yMDMgMC03My42LTEyLjEtMTQ1LjEtMzEuMS0yMTIuNnoiXX0sajB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvdXJzcXVhcmUiLGljb246WzM4NCw1MTIsW10sImYxODAiLCJNMzMxLjEgM0w1Ny45IDNDMjAuNCAzIDggMzEuMyA4IDQ5LjFMOCA0ODIuOWMwIDIwLjMgMTIuMSAyNy43IDE4LjIgMzAuMSA2LjIgMi41IDIyLjggNC42IDMyLjktNy4xIDEyOC45LTE0OS40IDEzMS4xLTE1MS45IDEzMS4xLTE1MS45IDMuMS0zLjQgMy40LTMuMSA2LjgtMy4xbDgzLjQgMGMzNS4xIDAgNDAuNi0yNS4yIDQ0LjMtMzkuN2w0OC42LTI0M0MzODEuOCAyNS44IDM3MS4xIDMgMzMxLjEgM3pNMzE0LjggNzYuOGwtMTEuNCA1OS43Yy0xLjIgNi41LTkuNSAxMy4yLTE2LjkgMTMuMmwtMTA2LjQgMGMtMTIgMC0yMC42IDguMy0yMC42IDIwLjNsMCAxM2MwIDEyIDguNiAyMC42IDIwLjYgMjAuNmw5MC40IDBjOC4zIDAgMTYuNiA5LjIgMTQuOCAxOC4yLTEuOCA4LjktMTAuNSA1My44LTExLjQgNTguOC0uOSA0LjktNi44IDEzLjUtMTYuOSAxMy41bC03My41IDBjLTEzLjUgMC0xNy4yIDEuOC0yNi41IDEyLjYgMCAwLTguOSAxMS40LTg5LjUgMTA4LjMtLjkgLjktMS44IC42LTEuOC0uM2wwLTMzOC44YzAtNy43IDYuOC0xNi42IDE2LjYtMTYuNmwyMTkgMGM4LjIgMCAxNS42IDcuNyAxMy41IDE3LjV6Il19LFYwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaGlydHNpbmJ1bGsiLGljb246WzQ0OCw1MTIsW10sImYyMTQiLCJNMTAwIDQxMC4zbDMwLjYgMTMuNCA0LjQtOS45LTMwLjYtMTMuNC00LjQgOS45em0zOS40IDE3LjVsMzAuNiAxMy40IDQuNC05LjktMzAuNi0xMy40LTQuNCA5Ljl6bTE3Mi4xLTE0bDQuNCA5LjkgMzAuNi0xMy40LTQuNC05LjktMzAuNiAxMy40ek0xNzkuMSA0NDVsMzAuMyAxMy43IDQuNC05LjktMzAuMy0xMy40LTQuNCA5LjZ6TTYwLjQgMzkyLjhsMzAuNiAxMy40IDQuNC05LjYtMzAuNi0xMy43LTQuNCA5Ljl6bTIxMS40IDM4LjVsNC40IDkuOSAzMC42LTEzLjQtNC40LTkuOS0zMC42IDEzLjR6bS0zOS4zIDE3LjVsNC40IDkuOSAzMC42LTEzLjctNC40LTkuNi0zMC42IDEzLjR6bTExOC40LTUyLjJsNC40IDkuNiAzMC42LTEzLjQtNC40LTkuOS0zMC42IDEzLjd6TTE3MCA0Ni42bC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bS00Ny4yIDBsLTMzLjYgMCAwIDEwLjUgMzMuNSAwIC4xLTEwLjV6bS00Ny4zIDBsLTMzLjIgMCAwIDEwLjUgMzMuMyAwLS4xLTEwLjV6bTE0MS41IDBsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXptOTQuNSAwbC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bTQ3LjMgMGwtMzMuNSAwIDAgMTAuNSAzMy41IDAgMC0xMC41em0tOTQuNiAwbC0zMy4yIDAgMCAxMC41IDMzLjIgMCAwLTEwLjV6bTE0MS41IDBsLTMzLjMgMCAwIDEwLjUgMzMuMyAwIDAtMTAuNXpNNTIuOCAzNTEuMWwtMTAuOCAwIDAgMzMuNSAxMC44IDAgMC0zMy41em03MC0yMTUuOWwtMzMuNiAwIDAgMTAuNSAzMy41IDAgLjEtMTAuNXptLTcwIDEwLjZsMjIuOCAwIDAtMTAuNS0zMy42IDAgMCAzMy41IDEwLjggMCAwLTIzek0yMjEuNyAzNzQuNGE5MS4zIDkxLjMgMCAxIDAgMC0xODIuNiA5MS4zIDkxLjMgMCAxIDAgMCAxODIuNnpNMTczLjUgMjYzLjNjMC0yNS40IDI5LjUtMzEuOCA0OS42LTMxLjggMTYuOSAwIDI5LjIgNS44IDQ0LjMgMTJsLTguOCAxNi45LS45IDBjLTYuNC05LjktMjQuOC0xMy4xLTM1LjYtMTMuMS05IDAtMjkuOCAxLjgtMjkuOCAxNC45IDAgMjEuNiA3OC41LTEwLjIgNzguNSAzNy45IDAgMjUuNC0zMS41IDMxLjItNTEgMzEuMi0xOC4xIDAtMzIuNC0yLjktNDcuMi0xMi4ybDktMTguNCAuOSAwYzYuMSAxMi4yIDIzLjYgMTQuOSAzNS45IDE0LjkgOC43IDAgMzIuNy0xLjIgMzIuNy0xNC4zIDAtMjYuMS03Ny42IDYuMy03Ny42LTM4ek01Mi44IDE3OC40bC0xMC44IDAgMCAzMy42IDEwLjggMCAwLTMzLjZ6TTM5NS4yIDM4NC42bDEwLjggMCAwLTMzLjUtMTAuOCAwIDAgMzMuNXpNNTIuOCAzMDcuOWwtMTAuOCAwIDAgMzMuNSAxMC44IDAgMC0zMy41ek0wIDMuN2wwIDQwNiAyMjEuNyA5OC42IDIyNi4zLTk4LjYgMC00MDYtNDQ4IDB6TTQxOC44IDM5MC44bC0xOTYuOCA4NS43LTE5Mi44LTg1LjcgMC0yNzAuMSAzODkuNyAwIDAgMjcwLjEtLjEgMHptMC0yOTkuM2wtMzg5LjYgMCAwLTU4LjYgMzg5LjcgMCAwIDU4LjYtLjEgMHpNNTIuOCAyMjEuNmwtMTAuOCAwIDAgMzMuNSAxMC44IDAgMC0zMy41em0wIDQzLjJsLTEwLjggMCAwIDMzLjUgMTAuOCAwIDAtMzMuNXpNMTcwIDEzNS4ybC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6TTM5NS4yIDI5OC4zbDEwLjggMCAwLTMzLjUtMTAuOCAwIDAgMzMuNXptMC00My4ybDEwLjggMCAwLTMzLjUtMTAuOCAwIDAgMzMuNXpNMjE3IDEzNS4ybC0zMy4yIDAgMCAxMC41IDMzLjIgMCAwLTEwLjV6TTM5NS4yIDIxMmwxMC44IDAgMC0zMy41LTEwLjggMCAwIDMzLjV6bTAgMTI5LjVsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41em0tMTMxLTIwNi4zbC0zMy4yIDAgMCAxMC41IDMzLjIgMCAwLTEwLjV6bTQ3LjMgMGwtMzMuNSAwIDAgMTAuNSAzMy41IDAgMC0xMC41em04My43IDMzLjZsMTAuOCAwIDAtMzMuNS0zMy41IDAgMCAxMC41IDIyLjggMC0uMSAyM3ptLTM2LjQtMzMuNmwtMzMuNSAwIDAgMTAuNSAzMy41IDAgMC0xMC41eiJdfSxVMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWludGJpdCIsaWNvbjpbNTEyLDUxMixbXSwiZTYyZiIsIk03My4yIDUxMmwwLTczLjEgMjkyLjUgMCAwLTczLjIgNzMuMiAwIDAtMTQ2LjMgNzMuMSAwIDAtMjE5LjQtMjE5LjQgMCAwIDczLjEtMTQ2LjMgMCAwIDczLjItNzMuMSAwIDAgMjkyLjYtNzMuMiAwIDAgNzMuMSA3My4yIDB6bTczLjEtMjE5LjRsNzMuMiAwIDAgNzMuMS03My4yIDAgMC03My4xem03My4yLTczLjFsNzMuMSAwIDAgNzMuMS03My4yIDAgMC03My4yIC4xIC4xem03My4xIDBsMC03My4yIDczLjIgMCAwIDczLjEtNzMuMiAwIDAgLjF6TTM2NS43IDczLjFsNzMuMiAwIDAgNzMuMi03My4yIDAgMC03My4yeiJdfSxXMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToienVsaXAiLGljb246WzQ0OCw1MTIsW10sImU4NTMiLCJNNDI0IDk5YzAgMjIuNi0xMC4xIDQyLjYtMjUuNSA1NC44TDI0OS4zIDI4Ny43Yy0yLjggMi40LTYuNC0xLjUtNC40LTQuN2w1NC43LTExMC4xYzEuNS0zLjEtLjUtNi45LTMuNi02LjlMODMuOCAxNjZDNTAuOSAxNjYgMjQgMTM1LjkgMjQgOTkgMjQgNjIuMSA1MC45IDMyIDgzLjggMzJsMjgwLjQgMEMzOTcuMSAzMiA0MjQgNjIuMSA0MjQgOTl6TTgzLjggNDgwbDI4MC40IDBjMzIuOSAwIDU5LjgtMzAuMiA1OS44LTY3cy0yNi45LTY3LTU5LjgtNjdsLTIxMi4zIDBjLTMuMSAwLTUuMS0zLjgtMy42LTYuOUwyMDMuMSAyMjljMi0zLjItMS42LTcuMS00LjQtNC43TDQ5LjUgMzU4LjJDMzQuMSAzNzAuNCAyNCAzOTAuNCAyNCA0MTMgMjQgNDQ5LjggNTAuOSA0ODAgODMuOCA0ODB6Il19LEcwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGF5bGlua2VkIixpY29uOls0NDgsNTEyLFtdLCJmM2Y1IiwiTTM4Ni43IDI5Mi41bDIuNyAyLjctMTcwLTE2Ny4zYy0zLjUtMy41LTkuNy0zLjctMTMuOC0uNUwxNDguMyAxNzFjLTQuMiAzLjItNC42IDguNy0xLjEgMTIuMmw2OC4xIDY0LjNjMy42IDMuNSA5LjkgMy43IDE0IC41bC4xLS4xYzQuMS0zLjIgMTAuNC0zIDE0IC41bDg0IDgxLjNjMy42IDMuNSAzLjIgOS0uOSAxMi4ybC05My4yIDc0Yy00LjIgMy4zLTEwLjUgMy4xLTE0LjItLjRMNjcuMiAyNjhjLTMuNS0zLjUtOS43LTMuNy0xMy45LS41TDcuNSAzMDIuNGMtNC4yIDMuMi00LjcgOC43LTEuMiAxMi4yTDIxNSA1MTAuN3M3LjQgNi44IDE3LjMtLjhMNDMwLjMgMzQ2YzQtMy4yIDQuNC04LjcgLjctMTIuMmwtNDQuMy00MS4zem01NC41LTgzLjRMMjMwLjcgMi41Yy0xLjUtMS4yLTgtNS41LTE2LjMgMS4xTDcuNiAxNjUuN2MtNC4yIDMuMi00LjggOC43LTEuMiAxMi4ybDQyLjMgNDEuNyAxNzEuNyAxNjUuMWMzLjcgMy41IDEwLjEgMy43IDE0LjMgLjRsNTAuMi0zOC44LS4zLS4zIDcuNy02YzQuMi0zLjIgNC42LTguNyAuOS0xMi4ybC01Ny4xLTU0LjRjLTMuNi0zLjUtMTAtMy43LTE0LjItLjVsLS4xIC4xYy00LjIgMy4yLTEwLjUgMy4xLTE0LjItLjRMMTEzIDE4MC44Yy0zLjYtMy41LTMuMS04LjkgMS4xLTEyLjJsOTIuMi03MS41YzQuMS0zLjIgMTAuMy0zIDEzLjkgLjVsMTYwLjQgMTU5YzMuNyAzLjUgMTAgMy43IDE0LjEgLjVsNDUuOC0zNS44YzQuMS0zLjIgNC40LTguNyAuNy0xMi4yeiJdfSxZMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2ViZmxvdyIsaWNvbjpbNjQwLDUxMixbXSwiZTY1YyIsIk02NDAgNjRsLTIwNC4yIDM5OS4yLTE5MS44IDAgODUuNS0xNjUuNS0zLjggMEMyNTUuMSAzODkuMyAxNDkuOSA0NDkuNSAwIDQ2My4yTDAgMzAwLjFzOTUuOS01LjcgMTUyLjMtNjQuOWwtMTUyLjMgMCAwLTE3MS4yIDE3MS4xIDAgMCAxNDAuOCAzLjggMCA3MC0xNDAuOCAxMjkuNCAwIDAgMTM5LjkgMy44IDAgNzIuNi0xMzkuOSAxODkuMyAweiJdfSxaMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVucmVuIixpY29uOls1MTIsNTEyLFtdLCJmMThiIiwiTTIxNCAxNjkuMUMyMTQgMjc5LjUgMTUzIDM3NC41IDY2LjQgNDE2LjUgMzAgMzczLjIgOCAzMTcuNyA4IDI1Ni42IDggMTMzLjkgOTcuMSAzMi4yIDIxNCAxMi41bDAgMTU2LjZ6TTI1NSA1MDRjLTQyLjkgMC04My4zLTExLTExOC41LTMwLjQgNTcuMi0zNi4xIDEwMy40LTkwLjcgMTE4LjUtMTU0LjYgMTUuNSA2My45IDYxLjcgMTE4LjUgMTE4LjggMTU0LjctMzUuMSAxOS4zLTc1LjUgMzAuMy0xMTguOCAzMC4zem0xOTAuNi04Ny41QzM1OSAzNzQuNSAyOTggMjc5LjYgMjk4IDE2OS4xbDAtMTU2LjZjMTE2LjkgMTkuNyAyMDYgMTIxLjQgMjA2IDI0NC4xIDAgNjEuMS0yMiAxMTYuNi01OC40IDE1OS45eiJdfSxYMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia28tZmkiLGljb246WzUxMiw1MTIsW10sImU4NTYiLCJNMjQ5LjggNzVjODkuOCAwIDExMyAxLjEgMTQ2LjMgNC40IDc4LjEgNy44IDEyMy42IDU2IDEyMy42IDEyNS4ybDAgOC45YzAgNjQuMy00Ny4xIDExNi45LTExMC44IDEyMi40LTUgMTYuNi0xMi44IDMzLjItMjMuMyA0OS45LTI0LjQgMzcuNy03My4xIDg1LjMtMTYyLjkgODUuM2wtMTcuNyAwYy03My4xIDAtMTI5LjctMzEuNi0xNjMuNS04OS4yLTI5LjktNTAuNC0zMy44LTEwNi40LTMzLjgtMTgxLjIgMC03My43IDQ0LjQtMTEzLjYgOTYuNC0xMjAuMiAzOS4zLTUgODguMS01LjUgMTQ1LjctNS41em0wIDQxLjZjLTYwLjQgMC0xMDMuNiAuNS0xMzYuMyA1LjUtNDYgNi43LTY0LjMgMzIuNy02NC4zIDc5LjJsLjIgMjUuN2MxLjIgNTcuMyA3LjEgOTcuMSAyNy41IDEzNC41IDI2LjYgNDkuMyA3NC44IDY4LjIgMTI5LjcgNjguMmwxNy4yIDBjNzIgMCAxMDctMzQuOSAxMjYuMy02NS40IDkuNC0xNS41IDE3LjctMzIuNyAyMi4yLTU0LjNsMy4zLTEzLjggMTkuOSAwYzQ0LjMgMCA4Mi42LTM2IDgyLjYtODJsMC04LjNjMC01MS41LTMyLjItNzguNy04OC4xLTg1LjMtMzEuNi0yLjgtNTAuNC0zLjktMTQwLjItMy45ek0yNjcgMTY5LjJjMzguMiAwIDY0LjggMzEuNiA2NC44IDY3IDAgMzIuNy0xOC4zIDYxLTQyLjEgODMuMS0xNSAxNS0zOS4zIDMwLjUtNTUuOSA0MC41LTQuNCAyLjgtMTAgNC40LTE2LjcgNC40LTUuNSAwLTEwLjUtMS43LTE1LjUtNC40LTE2LjYtMTAtNDEtMjUuNS01Ni41LTQwLjUtMjEuOC0yMC44LTM5LjItNDYuOS00MS4zLTc3bC0uMi02LjFjMC0zNS41IDI1LjUtNjcgNjQuMy02NyAyMi43IDAgMzguOCAxMS42IDQ5LjMgMjcuNyAxMS42LTE2LjEgMjcuMi0yNy43IDQ5LjktMjcuN3ptMTIyLjUtMy45YzI4LjMgMCA0My44IDE2LjYgNDMuOCA0My4ycy0xNS41IDQyLjctNDMuOCA0Mi43Yy04LjkgMC0xMy44LTUtMTMuOC0xMS43bDAtNjIuNmMwLTYuNyA1LTExLjYgMTMuOC0xMS42eiJdfSxRMHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmV2IixpY29uOls0NDgsNTEyLFtdLCJmNWIyIiwiTTE1OC43IDI3NC45YTY1LjYgNjUuNiAwIDEgMSAxMzEuMiAwIDY1LjYgNjUuNiAwIDEgMSAtMTMxLjIgMHptMjcwLjctNS4xbC0uMSAwYy0uNy0yOS4zLTcuNy01OC4yLTIwLjUtODQuNnMtMzEuMi00OS43LTUzLjgtNjguNEwzMDkuNiAxNDNjMjIgMTQuMiA0MC4xIDMzLjggNTIuNyA1Ni44czE5LjEgNDguOCAxOS4xIDc1LjFjMCA4Ni42LTcwLjUgMTU3LjEtMTU3LjEgMTU3LjFTNjcuMiAzNjEuNSA2Ny4yIDI3NC45YzAtODEuOSA2My0xNDkuMyAxNDMtMTU2LjRsMCAzOS4xIDEwOC44LTYyLjgtMTA4LjgtNjIuOCAwIDM4LjNjLTEwNi43IDcuMi0xOTEgOTYtMTkxIDIwNC42IDAgMTExLjYgODkuMSAyMDIuMyAyMDAuMSAyMDVsMCAuMSAyMTAuMiAwIDAtMjEwLjJ6Il19LEowdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrZXljZG4iLGljb246WzUxMiw1MTIsW10sImYzYmEiLCJNNjMuOCA0MDkuM2w2MC41LTU5YzMyLjEgNDIuOCA3MS4xIDY2IDEyNi42IDY3LjQgMzAuNSAuNyA2MC4zLTcgODYuNC0yMi40IDUuMSA1LjMgMTguNSAxOS41IDIwLjkgMjItMzIuMiAyMC43LTY5LjYgMzEuMS0xMDguMSAzMC4yLTQzLjMtMS4xLTg0LjYtMTYuNy0xMTcuNy00NC40IC4zLS42LTM4LjIgMzcuNS0zOC42IDM3LjkgOS41IDI5LjgtMTMuMSA2Mi40LTQ2LjMgNjIuNC0yNi44LS4xLTQ3LjUtMjEuNy00Ny41LTQ4LjUgMC0zNC4zIDMzLjEtNTYuNiA2My44LTQ1LjZ6TTQxOC43IDE1Ni45YzE5LjEgMzEuMyAyOS42IDY3LjQgMjguNyAxMDQtMS4xIDQ0LjgtMTkgODcuNS00OC42IDEyMSAuMyAuMyAyMy44IDI1LjIgMjQuMSAyNS41IDkuNi0xLjMgMTkuMiAyIDI1LjkgOS4xIDExLjMgMTIgMTAuOSAzMC45LTEuMSA0Mi40LTEyIDExLjMtMzAuOSAxMC45LTQyLjQtMS4xLTYuNy03LTkuNC0xNi44LTcuNi0yNi4zLTI0LjktMjYuNi00NC40LTQ3LjItNDQuNC00Ny4yIDQyLjctMzQuMSA2My4zLTc5LjYgNjQuNC0xMjQuMiAuNy0yOC45LTcuMi01Ny4yLTIxLjEtODIuMmwyMi4xLTIxek0xMDQgNTMuMWM2LjcgNyA5LjQgMTYuOCA3LjYgMjYuM2w0NS45IDQ4LjFjLTQuNyAzLjgtMTMuMyAxMC40LTIyLjggMjEuMy0yNS40IDI4LjUtMzkuNiA2NC44LTQwLjcgMTAyLjktLjcgMjguOSA2LjEgNTcuMiAyMCA4Mi40TDkyIDM1NS42Yy0xOS4zLTMxLjYtMjguOS02Ny43LTI3LjgtMTA0LjcgMS00NC42IDE4LjMtODcuNiA0Ny41LTEyMS4xTDg2LjQgMTAzLjRjLTkuNiAxLjMtMTkuMi0yLTI1LjktOS4xLTExLjMtMTItMTAuOS0zMC45IDEuMS00Mi40IDExLjktMTEuMiAzMC42LTEwLjkgNDIuNCAxLjJ6TTQ2NC45IDhjMjYgMCA0Ny4xIDIyLjQgNDcuMSA0OC4zUzQ5MC45IDEwNCA0NjQuOSAxMDRjLTYuMyAuMS0xNC0xLjEtMTUuOS0xLjhsLTYyLjkgNTkuN2MtMzIuNy00My42LTc2LjctNjUuOS0xMjYuOS02Ny4yLTMwLjUtLjctNjAuMyA2LjgtODYuMiAyMi40bC0yMS4xLTIyQzE4NC4xIDc0LjMgMjIxLjUgNjQgMjYwIDY0LjkgMzAzLjMgNjYgMzQ0LjYgODEuNiAzNzcuNyAxMDkuNWw0MS4xLTM4LjZjLTEuNS00LjctMi4yLTkuNi0yLjItMTQuNS0uMS0yNi43IDIyLjMtNDguNCA0OC4zLTQ4LjR6TTI1Ni43IDExMy40YzUuNSAwIDEwLjkgLjQgMTYuNCAxLjEgNzguMSA5LjggMTMzLjQgODEuMSAxMjMuOCAxNTkuMS05LjggNzguMS04MS4xIDEzMy40LTE1OS4xIDEyMy44LTc4LjEtOS44LTEzMy40LTgxLjEtMTIzLjgtMTU5LjIgOS4zLTcyLjQgNzAuMS0xMjQuNiAxNDIuNy0xMjQuOHptLTU5IDExOS40Yy42IDIyLjcgMTIuMiA0MS44IDMyLjQgNTIuMmwtMTEgNTEuNyA3My43IDAtMTEtNTEuN2MyMC4xLTEwLjkgMzIuMS0yOSAzMi40LTUyLjItLjQtMzIuOC0yNS44LTU3LjUtNTguMy01OC4zLTMyLjEgLjgtNTcuMyAyNC44LTU4LjIgNTguM3oiXX0sSzB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhpcmUtYS1oZWxwZXIiLGljb246WzUxMiw1MTIsW10sImYzYjAiLCJNNDQzLjEgMEw3MS45IDBDNjcuOSAzNy4zIDM3LjQgNjcuOCAwIDcxLjdMMCA0NDMuMmMzNy40IDQuOSA2NiAzMi40IDcxLjkgNjguOGwzNzIuMiAwYzMtMzYuNCAzMi41LTY1LjggNjcuOS02OS44bDAtMzcwLjVDNDc1LjYgNjUuOCA0NDcgMzYuNCA0NDMuMSAwem0tMzcgNDA0LjljLTM2LjMgMC0xOC44LTItNTUuMS0yLTM1LjggMC0yMSAyLTU2LjEgMi01LjkgMC00LjktOC4yIDAtOS44IDIyLjgtNy42IDIyLjktMTAuMiAyNC42LTEyLjggMTAuNC0xNS42IDUuOS04MyA1LjktMTEzIDAtNS4zLTYuNC0xMi44LTEzLjgtMTIuOGwtMTExLjIgMGMtNy40IDAtMTMuOCA3LjUtMTMuOCAxMi44IDAgMzAtNC41IDk3LjQgNS45IDExMyAxLjcgMi41IDEuOCA1LjIgMjQuNiAxMi44IDQuOSAxLjYgNiA5LjggMCA5LjgtMzUuMSAwLTIwLjMtMi01Ni4xLTItMzYuMyAwLTE4LjggMi01NS4xIDItNy45IDAtNS44LTEwLjggMC0xMC44IDEwLjItMy40IDEzLjUtMy41IDIxLjctMTMuOCA3LjctMTIuOSA3LjktNDQuNCA3LjktMTI3LjhsMC0xMDEuMmMwLTIyLjItMTIuMi0yOC4zLTI4LjYtMzIuNC04LjgtMi4yLTQtMTEuOCAxLTExLjggMzYuNSAwIDIwLjYgMiA1Ny4xIDIgMzIuNyAwIDE2LjUtMiA0OS4yLTIgMy4zIDAgOC41IDguMyAxIDEwLjgtNC45IDEuNi0yNy42IDMuNy0yNy42IDM5LjMgMCA0NS42LS4yIDU1LjggMSA2OC44IDAgMS4zIDIuMyAxMi44IDEyLjggMTIuOGwxMDkuMiAwYzEwLjUgMCAxMi44LTExLjUgMTIuOC0xMi44IDEuMi0xMyAxLTIzLjIgMS02OC44IDAtMzUuNi0yMi43LTM3LjctMjcuNi0zOS4zLTcuNS0yLjUtMi4zLTEwLjggMS0xMC44IDMyLjcgMCAxNi41IDIgNDkuMiAyIDM2LjUgMCAyMC42LTIgNTcuMS0yIDQuOSAwIDkuOSA5LjYgMSAxMS44LTE2LjQgNC4xLTI4LjYgMTAuMy0yOC42IDMyLjRsMCAxMDEuMmMwIDgzLjQgLjEgMTE0LjkgNy45IDEyNy44IDguMiAxMC4yIDExLjQgMTAuNCAyMS43IDEzLjggNS44IDAgNy44IDEwLjggMCAxMC44eiJdfSxqMWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWhhY2tlci1uZXdzIixpY29uOls0NDgsNTEyLFsiaGFja2VyLW5ld3Mtc3F1YXJlIl0sImYzYWYiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTIxIDIyOS4ycy4xLS4xIC4xLS4yIC4xLS4yIC4yLS4yYzAgLjEgMCAuMy0uMSAuNGwtLjIgMHpNMjM5LjIgMzg0bC0zMS40IDAgMC0xMDIuNy03OS44LTE1My4zIDM3LjMgMGM0MS41IDc3LjcgNDguMSA5NS44IDU0LjEgMTEyIDEuNiA0LjMgMy4xIDguNSA1LjIgMTMuNiAzLjItNyA1LjEtMTEuOSA3LjEtMTcuMyA1LjktMTUuMyAxMi44LTMzLjIgNTMuNS0xMDguM2wzNC44IDAtODAuOCAxNTUuMSAwIDEwMC45eiJdfSxlNHQ9ajFlLHQ0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLXBkLWFsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjRlZCIsIk0yNTUuNiA4QzExMi43IDggOCAxMjMuMSA4IDI1NiA4IDM5NC41IDEyMS42IDUwNCAyNTUuNiA1MDQgMzg1LjUgNTA0IDUwNCA0MDMuMSA1MDQgMjU2IDUwNCAxMTguMSAzOTcuNCA4IDI1NS42IDh6bS44IDQ1MC44Yy0xMTIuNSAwLTIwMy43LTkzLTIwMy43LTIwMi44IDAtMTA1LjQgODUuNS0yMDMuMyAyMDMuNy0yMDMuMyAxMTIuNiAwIDIwMi45IDg5LjUgMjAyLjggMjAzLjMgMCAxMjEuNy05OS42IDIwMi44LTIwMi44IDIwMi44ek0zMjQuNyAxODZsLTUzLjIgMCAwIDEzNy4yIDUzLjIgMGMyMS40IDAgNzAtNS4xIDcwLTY4LjYgMC02My40LTQ4LjYtNjguNi03MC02OC42em0uOCAxMDguNWwtMTkuOSAwIDAtNzkuNyAxOS40LS4xYzMuOCAwIDM1LTIuMSAzNSAzOS45IDAgMjQuNi0xMC41IDM5LjktMzQuNSAzOS45ek0yMTEuNyAxODZsLTY4LjIgMCAwIDEzNy4zIDM0LjYgMCAwLTQ0LjMgMjcgMGM1NC4xIDAgNTcuMS0zNy41IDU3LjEtNDYuNSAwLTMxLTE2LjgtNDYuNS01MC41LTQ2LjV6bS00LjkgNjcuM2wtMjkuMiAwIDAtNDEuNiAyOC4zIDBjMzAuOSAwIDI4LjggNDEuNiAuOSA0MS42eiJdfSxyNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3JjaWQiLGljb246WzUxMiw1MTIsW10sImY4ZDIiLCJNMjk0LjcgMTg4LjJsLTQ1LjkgMCAwIDE1My44IDQ3LjUgMGM2Ny42IDAgODMuMS01MS4zIDgzLjEtNzYuOSAwLTQxLjYtMjYuNS03Ni45LTg0LjctNzYuOXpNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0xNzUuMiAzNjguOGwtMjkuOCAwIDAtMjA3LjUgMjkuOCAwIDAgMjA3LjV6TTE2MC4zIDk4LjVhMTkuNiAxOS42IDAgMSAxIDAgMzkuMiAxOS42IDE5LjYgMCAxIDEgMC0zOS4yek0zMDAgMzY5bC04MSAwIDAtMjA3LjcgODAuNiAwYzc2LjcgMCAxMTAuNCA1NC44IDExMC40IDEwMy45IDAgNTMuMy00MS43IDEwMy45LTExMCAxMDMuOXoiXX0sVjFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJvYXJkLWdhbWUtZ2VlayIsaWNvbjpbNjQwLDUxMixbImJnZyJdLCJlODU1IiwiTTE2OC44IDE2OC4zbDMwLjEtOC4yLTEyLjMgOTguOCAxNi43IDE2LjEtMzguOSA5MS4yLTExMS44IDQxLjItNTIuNi0xMzEuOCAxNy43LTE3LTEwLjUtODQuMyAxOTEuMi03MC4zLTI5LjUgNjQuM3ptMTgwLjYgMTYuNWMxMS42IDAgMTkgNy40IDE5IDE3LjlsMCAzMS41YzAgOS43LTYuMyAxOC45LTE5LjUgMjIuMSAxMy4xIDMuMSAyMC41IDEyIDIwLjUgMjEuNGwwIDMwLjljMCAxMS4xLTcuNCAxOC4xLTE5IDE4LjFsLTg5LjEgMCAwLTE0MS44IDg4IDB6TTI5OCAyOTkuOGwzMyAwYzEuNSAwIDIuMS0xIDIuMS0yLjFsMC0yNi45YzAtMS0uNi0yLjMtMi4xLTIuM2wtMzMgMCAwIDMxLjN6bTAtNTcuM2wzMyAwYzEuNSAwIDIuMS0xLjEgMi4xLTIuM2wwLTI0LjhjMC0xLS42LTIuMy0yLjEtMi4zbC0zMyAwIDAgMjkuNHptMjA0LjEtMjcuMmwtNjUuNiAwYy0xIDAtMi4xIDEuMS0yLjEgMi4zbDAgNzYuMWMwIDEuMyAxIDIuMSAyLjEgMi4xbDI5LjcgMGMxLjUgMCAyLjMtLjggMi4zLTIuMWwwLTI0LTE5LjMgMCAxMi44LTMwIDQwLjEgMCAwIDcwLjhjMCA5LjItNy4yIDE2LjItMTYuMyAxNi4ybC03MS41IDBjLTkuMSAwLTE2LjUtNy0xNi41LTE2LjJsMC0xMDkuN2MwLTguNiA3LjQtMTYgMTYuNS0xNmw4Ny44IDAgMCAzMC41em0xMzIuNiAwbC02NS42IDBjLTEuMSAwLTIuMSAxLjEtMi4xIDIuM2wwIDc2LjFjMCAxLjMgMSAyLjEgMi4xIDIuMWwyOS42IDBjMS41IDAgMi4zLS44IDIuMy0yLjFsMC0yNC0xOS4yIDAgMTIuOC0zMCA0MC4xIDAgMCA3MC44YzAgOS4yLTcuMiAxNi4yLTE2LjMgMTYuMmwtNzEuNSAwYy05LjEgMC0xNi41LTYuOS0xNi41LTE2LjJsMC0xMDkuN2MwLTguNiA3LjQtMTYgMTYuNS0xNmw4Ny44IDAgMCAzMC41eiJdfSxhNHQ9VjFlLGk0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiZWhhbmNlIixpY29uOls1NzYsNTEyLFtdLCJmMWI0IiwiTTIzMiAyMzcuMmMzMS44LTE1LjIgNDguNC0zOC4yIDQ4LjQtNzQgMC03MC42LTUyLjYtODcuOC0xMTMuMy04Ny44bC0xNjcuMSAwIDAgMzU0LjQgMTcxLjggMGM2NC40IDAgMTI0LjktMzAuOSAxMjQuOS0xMDIuOSAwLTQ0LjUtMjEuMS03Ny40LTY0LjctODkuN3pNNzcuOSAxMzUuOWw3My4xIDBjMjguMSAwIDUzLjQgNy45IDUzLjQgNDAuNSAwIDMwLjEtMTkuNyA0Mi4yLTQ3LjUgNDIuMmwtNzkgMCAwLTgyLjd6bTgzLjMgMjMzLjdsLTgzLjMgMCAwLTk3LjYgODQuOSAwYzM0LjMgMCA1NiAxNC4zIDU2IDUwLjYgMCAzNS44LTI1LjkgNDctNTcuNiA0N3pNNTE5LjcgMTI4LjlsLTE0My43IDAgMC0zNC45IDE0My43IDAgMCAzNC45ek01NzYgMzA1LjJjMC03NS45LTQ0LjQtMTM5LjItMTI0LjktMTM5LjItNzguMiAwLTEzMS4zIDU4LjgtMTMxLjMgMTM1LjggMCA3OS45IDUwLjMgMTM0LjcgMTMxLjMgMTM0LjcgNjEuMyAwIDEwMS0yNy42IDEyMC4xLTg2LjNsLTYyLjIgMGMtNi43IDIxLjktMzQuMyAzMy41LTU1LjcgMzMuNS00MS4zIDAtNjMtMjQuMi02My02NS4zbDE4NS4xIDBjLjMtNC4yIC42LTguNyAuNi0xMy4yek0zOTAuNCAyNzRjMi4zLTMzLjcgMjQuNy01NC44IDU4LjUtNTQuOCAzNS40IDAgNTMuMiAyMC44IDU2LjIgNTQuOGwtMTE0LjcgMHoiXX0sbjR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1vbmVybyIsaWNvbjpbNTEyLDUxMixbXSwiZjNkMCIsIk0zNjAgMzg0bDEwOC40IDBDNDI1IDQ1NS45IDM0Ni4xIDUwNCAyNTYgNTA0Uzg3IDQ1NS45IDQzLjYgMzg0bDEwOC40IDAgMC0xMjcuOCAxMDQgMTA0LjggMTA0LTEwNSAwIDEyOHpNOTYgMzM2bDAtMjA4IDE1OS40IDE1OS40IDE2MC42LTE1OS40IDAgMjA4IDc0LjggMGM4LjUtMjUuMSAxMy4yLTUyIDEzLjItODAgMC0xMzctMTExLTI0OC0yNDgtMjQ4UzggMTE5IDggMjU2YzAgMjggNC42IDU0LjkgMTMuMiA4MEw5NiAzMzZ6Il19LHM0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaWdtYSIsaWNvbjpbMzg0LDUxMixbXSwiZjc5OSIsIk0xNCA5NS44QzE0IDQyLjkgNTYuOSAwIDEwOS44IDBMMjc0LjIgMGM1Mi45IDAgOTUuOCA0Mi45IDk1LjggOTUuOCAwIDMzLjUtMTcuMiA2My00My4yIDgwLjEgMjYgMTcuMSA0My4yIDQ2LjYgNDMuMiA4MC4xIDAgNTIuOS00Mi45IDk1LjgtOTUuOCA5NS44bC0yLjEgMGMtMjQuOCAwLTQ3LjQtOS40LTY0LjQtMjQuOWwwIDg4LjNjMCA1My42LTQ0IDk2LjgtOTcuNCA5Ni44LTUyLjggMC05Ni4zLTQyLjgtOTYuMy05NS44IDAtMzMuNSAxNy4yLTYzIDQzLjItODAuMS0yNi0xNy4xLTQzLjItNDYuNi00My4yLTgwLjFzMTcuMi02MyA0My4yLTgwLjFDMzEuMiAxNTguOCAxNCAxMjkuMyAxNCA5NS44em0xNjIuMyA5NS44bC02Ni41IDBjLTM1LjYgMC02NC40IDI4LjgtNjQuNCA2NC40IDAgMzUuNCAyOC42IDY0LjIgNjQgNjQuNGw2Ni45IDAgMC0xMjguOHpNMjA3LjcgMjU2YzAgMzUuNiAyOC44IDY0LjQgNjQuNCA2NC40bDIuMSAwYzM1LjYgMCA2NC40LTI4LjggNjQuNC02NC40cy0yOC44LTY0LjQtNjQuNC02NC40bC0yLjEgMGMtMzUuNiAwLTY0LjQgMjguOC02NC40IDY0LjR6bS05Ny45IDk1LjhsLS40IDBjLTM1LjQgLjItNjQgMjktNjQgNjQuNHMyOS4yIDY0LjQgNjQuOSA2NC40YzM2LjMgMCA2Ni0yOS40IDY2LTY1LjVsMC02My40LTY2LjUgMHptMC0zMjAuNGMtMzUuNiAwLTY0LjQgMjguOC02NC40IDY0LjRzMjguOCA2NC40IDY0LjQgNjQuNGw2Ni41IDAgMC0xMjguOC02Ni41IDB6bTk3LjkgMTI4LjhsNjYuNSAwYzM1LjYgMCA2NC40LTI4LjggNjQuNC02NC40cy0yOC44LTY0LjQtNjQuNC02NC40bC02Ni41IDAgMCAxMjguOHoiXX0sd0Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW5zdGFncmFtIixpY29uOls0NDgsNTEyLFtdLCJmMTZkIiwiTTIyNC4zIDE0MWExMTUgMTE1IDAgMSAwIC0uNiAyMzAgMTE1IDExNSAwIDEgMCAuNi0yMzB6bS0uNiA0MC40YTc0LjYgNzQuNiAwIDEgMSAuNiAxNDkuMiA3NC42IDc0LjYgMCAxIDEgLS42LTE0OS4yem05My40LTQ1LjFhMjYuOCAyNi44IDAgMSAxIDUzLjYgMCAyNi44IDI2LjggMCAxIDEgLTUzLjYgMHptMTI5LjcgMjcuMmMtMS43LTM1LjktOS45LTY3LjctMzYuMi05My45LTI2LjItMjYuMi01OC0zNC40LTkzLjktMzYuMi0zNy0yLjEtMTQ3LjktMi4xLTE4NC45IDAtMzUuOCAxLjctNjcuNiA5LjktOTMuOSAzNi4xcy0zNC40IDU4LTM2LjIgOTMuOWMtMi4xIDM3LTIuMSAxNDcuOSAwIDE4NC45IDEuNyAzNS45IDkuOSA2Ny43IDM2LjIgOTMuOXM1OCAzNC40IDkzLjkgMzYuMmMzNyAyLjEgMTQ3LjkgMi4xIDE4NC45IDAgMzUuOS0xLjcgNjcuNy05LjkgOTMuOS0zNi4yIDI2LjItMjYuMiAzNC40LTU4IDM2LjItOTMuOSAyLjEtMzcgMi4xLTE0Ny44IDAtMTg0Ljh6TTM5OSAzODhjLTcuOCAxOS42LTIyLjkgMzQuNy00Mi42IDQyLjYtMjkuNSAxMS43LTk5LjUgOS0xMzIuMSA5cy0xMDIuNyAyLjYtMTMyLjEtOWMtMTkuNi03LjgtMzQuNy0yMi45LTQyLjYtNDIuNi0xMS43LTI5LjUtOS05OS41LTktMTMyLjFzLTIuNi0xMDIuNyA5LTEzMi4xYzcuOC0xOS42IDIyLjktMzQuNyA0Mi42LTQyLjYgMjkuNS0xMS43IDk5LjUtOSAxMzIuMS05czEwMi43LTIuNiAxMzIuMSA5YzE5LjYgNy44IDM0LjcgMjIuOSA0Mi42IDQyLjYgMTEuNyAyOS41IDkgOTkuNSA5IDEzMi4xczIuNyAxMDIuNy05IDEzMi4xeiJdfSxvNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGVyYnl0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA4MyIsIk0zMDUuMyAyODQuNmwtNTguNyAwIDAgOTguNyA1OC43IDBjMTYuMyAwIDI5LTQuNiAzOC4yLTEzLjhzMTMuOC0yMS4yIDEzLjgtMzYuMWMwLTE0LjYtNC43LTI2LjMtMTQtMzUuM3MtMjItMTMuNS0zNy45LTEzLjV6TTE0OS40IDEyOC43bC01OC43IDAgMCA5OC43IDU4LjcgMGMxNi4zIDAgMjktNC42IDM4LjItMTMuOHMxMy44LTIxLjIgMTMuOC0zNi4xYzAtMTQuNi00LjctMjYuMy0xNC0zNS4zcy0yMi0xMy41LTM3LjktMTMuNXpNMzY2LjYgMzJMODEuNCAzMmMtMjEuNiAwLTQyLjIgOC42LTU3LjUgMjMuOVMwIDkxLjggMCAxMTMuNEwwIDM5OC42YzAgMjEuNiA4LjYgNDIuMiAyMy45IDU3LjVTNTkuOCA0ODAgODEuNCA0ODBsMjg1LjMgMGMyMS42IDAgNDIuMi04LjYgNTcuNS0yMy45UzQ0OCA0MjAuMiA0NDggMzk4LjZsMC0yODUuM2MwLTIxLjYtOC42LTQyLjItMjMuOS01Ny41UzM4OC4yIDMyIDM2Ni42IDMyem02My42IDM2Ni42YzAgMTYuOS02LjcgMzMtMTguNyA0NXMtMjguMSAxOC42LTQ1IDE4LjdsLTI4NS4zIDBjLTE2LjkgMC0zMy02LjctNDUtMTguN3MtMTguNi0yOC4xLTE4LjctNDVsMC0yODUuM2MwLTE2LjkgNi43LTMzIDE4LjctNDVzMjguMS0xOC42IDQ1LTE4LjdsMjg1LjMgMGMxNi45IDAgMzMgNi43IDQ1IDE4LjdzMTguNiAyOC4xIDE4LjcgNDVsMCAyODUuM3ptLTEyNS0yNjkuOWwtNTguNyAwIDAgOTguNyA1OC43IDBjMTYuMyAwIDI5LTQuNiAzOC4yLTEzLjhzMTMuOC0yMS4yIDEzLjgtMzYuMWMwLTE0LjYtNC43LTI2LjMtMTQtMzUuM3MtMjItMTMuNS0zNy45LTEzLjV6Il19LFUxZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdmltZW8iLGljb246WzQ0OCw1MTIsWyJ2aW1lby1zcXVhcmUiXSwiZjE5NCIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMzE4LjUgMzA5LjVjLTQzLjUgNTYuNS04MC4zIDg0LjgtMTEwLjQgODQuOC0xOC43IDAtMzQuNC0xNy4yLTQ3LjMtNTEuNi0zLjgtMTMuOS03LjMtMjYuOS0xMC41LTM5LTE4LjItNjguMy0yOC42LTEwNy40LTQ2LjItMTA3LjQtMi40IDAtMTAuOCA1LTI1LjEgMTUuMUw2NCAxOTJjNy02LjEgMTMuOS0xMi40IDIwLjYtMTguNSAyOS4xLTI2LjMgNTUuNi01MC4zIDczLjUtNTEuOSAyNC45LTIuNCA0MC4yIDE0LjYgNDYgNTEuMSAyMC41IDEyOS42IDI5LjYgMTQ5LjIgNjYuOCA5MC41IDEzLjQtMjEuMiAyMC42LTM3LjIgMjEuNS00OC4zIDMuNC0zMi44LTI1LjYtMzAuNi00NS4yLTIyLjIgMTUuNy01MS41IDQ1LjgtNzYuNSA5MC4xLTc1LjEgMzIuOSAxIDQ4LjQgMjIuNCA0Ni41IDY0LTEuNCAzMS4xLTIzLjIgNzMuOC02NS4zIDEyNy45eiJdfSxsNHQ9VTFlLGM0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwdXNoZWQiLGljb246WzQ0OCw1MTIsW10sImYzZTEiLCJNNDE1LjEgMTExLjlsLTk4LjUtOSAxNC0zMy40YzEwLjQtMjMuNS0xMC44LTQwLjQtMjguNy0zN0wzMC42IDc2LjljLTE1LjEgMi43LTI2IDE4LjMtMjEuNCAzNi42TDExNC4zIDQ2MS44YzYuNSAyMS4zIDM2LjcgMjQuMiA0Ny43IDdMMTk3LjMgMzg4IDQzMi41IDE1Ni43YzE2LjQtMTYuOCA0LjMtNDIuOS0xNy40LTQ0Ljh6TTMwNS43IDUzLjZjNS4xLS43IDcuNSAyLjUgNS4yIDcuNGwtMTYuOCAzOS45LTE3Ny40LTE2LjMgMTg5LTMxek0zMC44IDEwNy45Yy0zLjEtNS4xIDEtMTAgNi4xLTkuMWwyNDguNyAyMi43LTk2LjkgMjMwLjctMTU3LjktMjQ0LjN6TTE0NC4xIDQ1Ni40Yy0yLjYgNC03LjkgMy4xLTkuNC0xLjJMNTEuNiAxNzkuNyAxNzkuMyAzNzcuM2MtNyAxNS0zNS4yIDc5LjEtMzUuMiA3OS4xek00MTYuOSAxNDEuOWwtMTk4LjcgMTk1LjQgODkuNy0yMTMuNyAxMDYuNCA5LjdjNCAxLjEgNS43IDUuMyAyLjYgOC42eiJdfSxkNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWl4Y2xvdWQiLGljb246WzY0MCw1MTIsW10sImYyODkiLCJNMjEzIDM0Ni42bC0zMy4yIDAgMC0xNTEuNSA2LjItMjEuNi0xMC43IDAtMzguMSAxNzMuMS02MSAwLTM4LjQtMTczLjEtMTAuNSAwIDUuOSAyMS42IDAgMTUxLjUtMzMuMiAwIDAtMTgxLjYgNjUuNyAwIDM2LjYgMTczLjEgOC41IDAgMzYuNi0xNzMuMSA2NS43IDAgMCAxODEuNnptMzMxLjUtNjNsLTg2IDYyLjEgMC0zOC4xIDcyLjktNTEuOC03Mi45LTUxLjggMC0zOC4xIDg2IDYyLjMgOS4zIDAgODYuMy02Mi4zIDAgMzguMS03My4xIDUxLjggNzMuMSA1MS44IDAgMzguMS04Ni4zLTYyLjEtOS4zIDB6TTQzMC4yIDI3Mi4zbC0xODIgMCAwLTMzLjEgMTgyIDAgMCAzMy4xeiJdfSx1NHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFuZGV4LWludGVybmF0aW9uYWwiLGljb246WzMyMCw1MTIsW10sImY0MTQiLCJNMTI5LjUgNTEybDAtMTY2LjEtMTExLTI5Ny45IDU1LjggMCA4MS44IDIyOS43IDk0LjEtMjc3LjcgNTEuMyAwLTEyMC43IDM0Ny44IDAgMTY0LjItNTEuMyAweiJdfSxwNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGl2ZSIsaWNvbjpbNTEyLDUxMixbXSwiZTA3ZiIsIk0yNjAuNCAyNTQuOUwxMzEuNSAzMy4xYy0uMi0uMy0uNS0uNi0uOC0uOHMtLjctLjMtMS4xLS4zLS44IC4xLTEuMSAuMy0uNiAuNS0uOCAuOEwuMyAyNTQuOWMtLjIgLjMtLjMgLjctLjMgMS4xcy4xIC44IC4zIDEuMUwxMjkuMSA0NzguOWMuMiAuMyAuNSAuNiAuOCAuOHMuNyAuMyAxLjEgLjMgLjgtLjEgMS4xLS4zIC42LS41IC44LS44TDI2MC40IDI1Ny4xYy4yLS4zIC4zLS43IC4zLTEuMXMtLjEtLjgtLjMtMS4xem0zOS4xLTI1LjdjLjIgLjMgLjUgLjYgLjggLjhzLjcgLjMgMS4xIC4zbDY2LjUgMGMuNCAwIC44LS4xIDEuMS0uM3MuNi0uNSAuOC0uOCAuMy0uNyAuMy0xLjEtLjEtLjgtLjMtMS4xTDI1OS4xIDMzLjFjLS4yLS4zLS41LS42LS44LS44cy0uNy0uMy0xLjEtLjNsLTY2LjUgMGMtLjQgMC0uOCAuMS0xLjEgLjNzLS42IC41LS44IC44LS4zIC43LS4zIDEuMSAuMSAuOCAuMyAxLjFMMjk5LjQgMjI5LjJ6bTIxMi4zIDI1LjdMMzg0LjkgMzMuMWMtLjItLjMtLjUtLjYtLjgtLjhzLS43LS4zLTEuMS0uM2wtNjYuNiAwYy0uNCAwLS44IC4xLTEuMSAuM3MtLjYgLjUtLjggLjgtLjMgLjctLjMgMS4xIC4xIC44IC4zIDEuMUw0NDAuNyAyNTYgMzE0LjUgNDc2LjdjLS4yIC4zLS4zIC43LS4zIDEuMXMuMSAuOCAuMyAxLjEgLjUgLjYgLjggLjggLjcgLjMgMS4xIC4zbDY2LjYgMGMuNCAwIC44LS4xIDEuMS0uM3MuNi0uNSAuOC0uOEw1MTEuNyAyNTcuMWMuMi0uMyAuMy0uNyAuMy0xLjFzLS4xLS44LS4zLTEuMXpNMzY2IDI4NC45bC02Ni41IDBjLS40IDAtLjggLjEtMS4xIC4zcy0uNiAuNS0uOCAuOEwxODguOCA0NzYuN2MtLjIgLjMtLjMgLjctLjMgMS4xcy4xIC44IC4zIDEuMSAuNSAuNiAuOCAuOCAuNyAuMyAxLjEgLjNsNjYuNSAwYy40IDAgLjgtLjEgMS4xLS4zcy42LS41IC44LS44TDM2Ny45IDI4OC4zYy4yLS4zIC4zLS43IC4zLTEuMXMtLjEtLjgtLjMtMS4xLS41LS42LS44LS44LS43LS4zLTEuMS0uM3oiXX0sZjR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtemVybyIsaWNvbjpbNTEyLDUxMixbXSwiZjRmMyIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bS0uNCA2MC41Yy04MS45IDAtMTAyLjUgNzcuMy0xMDIuNSAxNDIuOFMxNzQuMSAzOTguOCAyNTYgMzk4LjggMzU4LjUgMzIxLjUgMzU4LjUgMjU2IDMzNy45IDExMy4yIDI1NiAxMTMuMnptMCA1My45YzMuMyAwIDYuNCAuNSA5LjIgMS4yIDUuOSA1LjEgOC44IDEyLjEgMy4xIDIxLjlMMjEzLjggMjkwLjRjLTEuNy0xMi43LTEuOS0yNS4xLTEuOS0zNC40IDAtMjguOCAyLTg4LjkgNDQuMS04OC45em00MC44IDQ2LjJjMi45IDE1LjQgMy4zIDMxLjQgMy4zIDQyLjcgMCAyOC45LTIgODguOS00NC4xIDg4LjktMTMuNSAwLTMyLjYtNy43LTIwLjEtMjYuNGw2MC45LTEwNS4yeiJdfSxXMWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXNuYXBjaGF0IixpY29uOls0NDgsNTEyLFsic25hcGNoYXQtc3F1YXJlIl0sImYyYWQiLCJNMzg0IDMyTDY0IDMyYy0xNyAwLTMzLjMgNi43LTQ1LjMgMTguN1MwIDc5IDAgOTZMMCA0MTZjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNTNDcgNDgwIDY0IDQ4MGwzMjAgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN1M0NDggNDMzIDQ0OCA0MTZsMC0zMjBjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNTNDAxIDMyIDM4NCAzMnptLTMuOSAzMTkuM2wtLjEgLjFjLTIuNSAyLjgtNS40IDUuMS04LjcgNi44LTYuNSAzLjYtMTMuNCA2LjMtMjAuNiA4LjItMS40IC40LTIuNyAxLTMuOSAxLjgtMi4yIDEuOS0yLjEgNC42LTQuNCA4LjYtMS43IDMtNCA1LjUtNi44IDcuNS02LjcgNC42LTE0LjIgNC45LTIyLjIgNS4yLTcuMiAuMy0xNS40IC42LTI0LjcgMy43LTMuOCAxLjItNy44IDMuNy0xMi40IDYuNS0xMS4zIDYuOS0yNi43IDE2LjQtNTIuMyAxNi40cy00MC45LTkuNC01Mi4xLTE2LjNjLTQuNy0yLjktOC43LTUuNC0xMi41LTYuNi05LjMtMy4xLTE3LjUtMy40LTI0LjctMy43LTgtLjMtMTUuNS0uNi0yMi4yLTUuMi0yLjQtMS42LTQuNC0zLjctNi02LjEtMy4yLTQuNi0yLjktNy44LTUuMy05LjktMS4zLS44LTIuNi0xLjUtNC4xLTEuOC03LjEtMS45LTEzLjktNC42LTIwLjMtOC4xLTMuMS0xLjYtNS45LTMuOC04LjMtNi4zLTYuNi02LjgtOC4zLTE0LjgtNS43LTIxLjggMy40LTkuMyAxMS42LTEyLjEgMTkuNC0xNi4zIDE0LjgtOCAyNi4zLTE4LjEgMzQuNC0yOS45IDIuMy0zLjMgNC4zLTYuOSA2LTEwLjYgLjgtMi4yIC44LTMuMyAuMi00LjQtLjYtLjktMS4zLTEuNi0yLjItMi4yLTIuNS0xLjctNS4xLTMuNC02LjktNC41LTMuMy0yLjEtNS45LTMuOC03LjUtNS02LjMtNC40LTEwLjYtOS0xMy40LTE0LjItMS45LTMuNi0zLTcuNi0zLjMtMTEuNnMuNC04LjEgMS45LTExLjljNC4xLTEwLjkgMTQuNS0xNy43IDI3LTE3LjcgMi42IDAgNS4zIC4zIDcuOCAuOCAuNyAuMiAxLjQgLjMgMiAuNS0uMS03LjQgLjEtMTUuNCAuNy0yMy4xIDIuNC0yNy4zIDExLjktNDEuNiAyMS45LTUzIDYuNC03LjIgMTMuOS0xMy4yIDIyLjMtMTcuOSAxNS4xLTguNiAzMi4yLTEzIDUwLjktMTNzMzUuOCA0LjQgNTAuOSAxM2M4LjMgNC43IDE1LjkgMTAuOCAyMi4yIDE3LjkgMTAgMTEuNCAxOS41IDI1LjcgMjEuOSA1MyAuNiA3LjcgLjkgMTUuNCAuNyAyMy4xIC43LS4yIDEuNC0uMyAyLjEtLjUgMi42LS42IDUuMi0uOCA3LjgtLjggMTIuNSAwIDIyLjggNi44IDI3IDE3LjcgMS41IDMuOCAyLjEgNy45IDEuOSAxMS45cy0xLjQgOC0zLjMgMTEuNmMtMi43IDUuMi03LjEgOS45LTEzLjQgMTQuMi0xLjcgMS4yLTQuMyAyLjktNy41IDUtMS44IDEuMi00LjUgMi45LTcuMiA0LjctLjggLjUtMS40IDEuMi0xLjkgMi0uNSAxLS41IDIuMiAuMiA0LjIgMS43IDMuOCAzLjcgNy40IDYuMSAxMC44IDguMyAxMi4xIDIwLjIgMjIuMyAzNS41IDMwLjQgMS41IC44IDMgMS41IDQuNCAyLjMgLjcgLjMgMS42IC44IDIuNSAxLjMgNC45IDIuNyA5LjIgNiAxMS41IDEyLjIgMi41IDYuOSAxIDE0LjctNS4yIDIxLjN6bS0xNi43LTE4LjVjLTUwLjMtMjQuMy01OC4zLTYxLjktNTguNy02NC43LS40LTMuNC0uOS02IDIuOC05LjUgMy42LTMuMyAxOS41LTEzLjIgMjQtMTYuMyA3LjMtNS4xIDEwLjUtMTAuMiA4LjItMTYuNS0xLjctNC4zLTUuNy02LTEwLTYtMS4zIDAtMi43IC4yLTQgLjQtOCAxLjctMTUuOCA1LjgtMjAuNCA2LjktLjUgLjEtMS4xIC4yLTEuNyAuMi0yLjQgMC0zLjMtMS4xLTMuMS00IC42LTguOCAxLjgtMjUuOSAuNC00MS45LTEuOS0yMi05LTMyLjktMTcuNC00Mi42LTQuMS00LjYtMjMuMS0yNC43LTU5LjUtMjQuN3MtNTUuNCAyMC4xLTU5LjUgMjQuOGMtOC40IDkuNy0xNS41IDIwLjYtMTcuNCA0Mi42LTEuNCAxNi0uMSAzMy4xIC40IDQxLjkgLjIgMi44LS43IDQtMy4xIDQtLjYgMC0xLjEtLjEtMS43LS4yLTQuNS0xLjEtMTIuMy01LjEtMjAuMy02LjktMS4zLS4zLTIuNi0uNC00LS40LTQuMyAwLTguMyAxLjYtMTAgNi0yLjQgNi4zIC44IDExLjQgOC4yIDE2LjUgNC40IDMuMSAyMC40IDEzIDI0IDE2LjMgMy43IDMuNCAzLjIgNi4xIDIuOCA5LjUtLjQgMi44LTguNCA0MC40LTU4LjcgNjQuNy0yLjkgMS40LTggNC40IC45IDkuMyAxMy45IDcuNiAyMy4xIDYuOCAzMC4zIDExLjQgNi4xIDMuOSAyLjUgMTIuNCA2LjkgMTUuNCA1LjUgMy44IDIxLjYtLjMgNDIuMyA2LjYgMTcuNCA1LjcgMjguMSAyMiA1OSAyMnM0MS44LTE2LjMgNTguOS0yMmMyMC44LTYuOSAzNi45LTIuOCA0Mi4zLTYuNiA0LjQtMy4xIC44LTExLjUgNi45LTE1LjQgNy4yLTQuNiAxNi40LTMuOCAzMC4zLTExLjUgOC44LTQuOSAzLjgtNy45IC45LTkuNHoiXX0saDR0PVcxZSxtNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGhlbWVpc2xlIixpY29uOls1MTIsNTEyLFtdLCJmMmIyIiwiTTIwOCA4OC4zYzAtMTAgNi4zLTIxLjcgMTcuNy0yMS43IDExLjEgMCAxNy43IDExLjcgMTcuNyAyMS43IDAgMTAuMy02LjYgMjEuNy0xNy43IDIxLjctMTEuNCAwLTE3LjctMTEuNC0xNy43LTIxLjd6bTMwNCAxNjBjMCAzNi0xMS40IDEwMi4zLTM2LjMgMTI5LjctMjIuOSAyNC45LTg3LjQgNjEuMS0xMjAuOSA3MC42bC0xLjEgLjMgMCAzMi42YzAgMTYuMy0xMi42IDMwLjYtMjkuMSAzMC42LTEwIDAtMTkuNC01LjctMjQuNi0xNC4zLTUuNCA4LjYtMTQuOSAxNC4zLTI0LjkgMTQuM3MtMTkuNC01LjctMjQuOS0xNC4zYy01LjEgOC42LTE0LjYgMTQuMy0yNC42IDE0LjMtMTAuMyAwLTE5LjQtNS43LTI0LjktMTQuMy01LjEgOC42LTE0LjYgMTQuMy0yNC42IDE0LjMtMTguOSAwLTI5LjQtMTUuNy0yOS40LTMyLjktMTYuMyAxMi4zLTM1LjcgMTkuNC01Ni42IDE5LjQtMjIgMC00My40LTguMy02MC4zLTIyLjkgMTAuMy0uMyAyMC42LTIuMyAzMC4zLTUuNy0yMC45LTUuNy0zOS40LTE4LjktNTItMzYuMyAyMS40IDQuNiA0Ni4yIDEuNyA2Ny4xLTExLjEtMjItMjItNTYuNi01OC45LTY4LjYtODcuNC01LjctMTMuNC02LjktMzEuNC02LjktNDUuNyAwLTQ5LjcgMjAuMy0xNjAgODYuMy0xNjAgMTAuNiAwIDE4LjkgNC45IDIzLjEgMTQuOSAzLjctNS40IDcuNy0xMC41IDEyLTE1LjQgMi0yLjYgNS43LTUuNCA3LjEtOC4zIDgtMTIuNiAxMS43LTIxLjEgMjEuNy0zNCAzMi4zLTQxLjEgODEuNy02OS40IDEzNC45LTY5LjQgNiAwIDEyIC4zIDE3LjcgMS4xIDEwLjktMTEuNyAyNi0xOC4zIDQxLjctMTguMyAxNC42IDAgMjkuNyA2IDQwIDE2LjMgLjkgLjkgMS40IDIuMyAxLjQgMy40IDAgMy43LTEwLjMgMTMuNC0xMi45IDE2LjMgNC4zIDEuNCAxNS43IDYuOSAxNS43IDEyIDAgMi45LTIuOSA1LjEtNC42IDcuMSAzMS40IDI3LjcgNDkuNCA2Ny4xIDU2LjMgMTA4IDQuMy01LjEgMTAuMy04LjYgMTcuMS04LjYgMTAuNiAwIDIwLjkgNy4xIDI4LjYgMTQgMjAuOSAxOC42IDI1LjcgNTMuMSAyNS43IDc5Ljd6TTE4OCA4OS40YzAgMTguMyAxMi42IDM3LjEgMzIuMyAzNy4xczMyLjMtMTguOSAzMi4zLTM3LjFjMC0xOC0xMi42LTM2LjktMzIuMy0zNi45UzE4OCA3MS40IDE4OCA4OS40ek0yMzcuNyAxOTRjMC0xOS43IDMuNy0zOS4xIDguNi01OC4zLTUyIDc5LjUtMTMuNSAxODQuNiA2OC45IDE4NC42IDIxLjQgMCA0Mi42LTcuNyA2MC0yMCAyLTcuNCAzLjctMTQuOSAzLjctMjIuNiAwLTE0LjMtNi4zLTIxLjQtMjAuNi0yMS40LTQuNiAwLTkuMSAuOS0xMy40IDEuNy02My4zIDEyLjctMTA3LjEgMy43LTEwNy4xLTY0ek0xOTYuNiA0NDguOWMwLTExLjEtOC45LTIwLjktMjAuMy0yMC45cy0yMCA5LjctMjAgMjAuOWwwIDMyLjZjMCAxMS4xIDguNiAyMS4xIDIwIDIxLjFzMjAuMy05LjcgMjAuMy0yMS4xbDAtMzIuNnptNDkuMSAwYzAtMTEuMS04LjYtMjAuOS0yMC0yMC45cy0yMC4zIDkuNy0yMC4zIDIwLjlsMCAzMi42YzAgMTEuMSA4LjkgMjEuMSAyMC4zIDIxLjFzMjAtMTAgMjAtMjEuMWwwLTMyLjZ6bTQ5LjcgMGMwLTExLjEtOC45LTIwLjktMjAuMy0yMC45cy0yMC4zIDkuNy0yMC4zIDIwLjlsMCAzMi42YzAgMTEuMSA4LjkgMjEuMSAyMC4zIDIxLjFzMjAuMy05LjcgMjAuMy0yMS4xbDAtMzIuNnptNDkuNyAwYzAtMTEuMS04LjktMjAuOS0yMC4zLTIwLjlzLTIwLjMgOS43LTIwLjMgMjAuOWwwIDMyLjZjMCAxMS4xIDguOSAyMS4xIDIwLjMgMjEuMXMyMC4zLTEwIDIwLjMtMjEuMWwwLTMyLjZ6TTQyMS43IDI4NmMtMzAuOSA1OS4xLTkwLjMgMTAyLjYtMTU4LjYgMTAyLjYtOTYuNiAwLTE2MC42LTg0LjYtMTYwLjYtMTc2LjYgMC0xNi45IDItMzMuNCA2LTQ5LjctMjAgMzMuNy0yOS43IDcyLjYtMjkuNyAxMTEuNCAwIDYwLjMgMjQuOSAxMjEuNyA3MS40IDE2MC45IDUuMS05LjcgMTQuOS0xNi4zIDI2LTE2LjMgMTAgMCAxOS40IDUuNyAyNC42IDE0LjMgNS40LTguNiAxNC42LTE0LjMgMjQuOS0xNC4zIDEwIDAgMTkuNCA1LjcgMjQuNiAxNC4zIDUuNC04LjYgMTQuOS0xNC4zIDI0LjktMTQuM3MxOS40IDUuNyAyNC45IDE0LjNjNS4xLTguNiAxNC42LTE0LjMgMjQuNi0xNC4zIDEwLjkgMCAyMC45IDYuNiAyNS43IDE2IDQzLjQtMzYuMyA2OC42LTkyIDcxLjQtMTQ4LjN6bTEwLjYtOTkuN2MwLTUzLjctMzQuNi0xMDUuNy05Mi42LTEwNS43LTMwLjMgMC01OC42IDE1LjEtNzguOSAzNi45LTIwIDY2LjQtMjcuNCAxMzYuNiA0MS40IDEzNi42IDI4LjggMCA5Ny40LTI4LjUgODQuMyAzNi45IDI4LjktMjYgNDUuNy02NS43IDQ1LjctMTA0LjZ6Il19LGc0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkYXJ0LWxhbmciLGljb246WzUxMiw1MTIsW10sImU2OTMiLCJNMzc4LjYgNzguOWMtMi44LS4xLTUuNi0uMi04LjUtLjJsLTI2NC4xIDAgMTQzLjItNzJjNy40LTQuNCAxOC44LTYuNyAzMC40LTYuNyAxMy41IDAgMjkuNCA5LjIgMzcgMTYuOGw2MiA2MiAwIC4xek0xMDcuMyA5Ni41bDI2Mi44IDBjMTYgMCAyNS40IDEuNCAzNS40IDkuM2wxMDYuNSAxMDYuNCAwIDIwOC44LTc5LjMgLjctMzI1LjQtMzI1LjJ6TTk2LjUgMzczbDAtMjYyLjIgMzIzLjggMzIzLjggLjcgNzcuNC0yMTIuMiAwLTk4LjEtOTguMkM5OS40IDQwMi41IDk2LjUgMzk4LjUgOTYuNSAzNzN6TTc4LjcgMTA1LjNsMCAyNjcuN2MwIDMuMyAuMSA2LjMgLjIgOS4xbC02Mi02MkM2LjUgMzA5LjMgMCAyOTQuMyAwIDI3OS42IDAgMjcyLjggMy45IDI2Mi4xIDYuNyAyNTZsNzItMTUwLjd6Il19LGI0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXBsb3lkb2ciLGljb246WzUxMiw1MTIsW10sImYzOGUiLCJNMzgyLjIgMTM2bDUxLjcgMCAwIDIzOS42LTUxLjcgMCAwLTIwLjdjLTE5LjggMjQuOC01Mi44IDI0LjEtNzMuOCAxNC43LTI2LjItMTEuNy00NC4zLTM4LjEtNDQuMy03MS44IDAtMjkuOCAxNC44LTU3LjkgNDMuMy03MC44IDIwLjItOS4xIDUyLjctMTAuNiA3NC44IDEyLjlsMC0xMDMuOXpNMzE3LjUgMjk3LjhhMzMuMiAzMy4yIDAgMSAwIDY2LjQgMSAzMy4yIDMzLjIgMCAxIDAgLTY2LjQtMXpNMTg4LjUgMTM2bDUxLjcgMCAwIDIzOS42LTUxLjcgMCAwLTIwLjdjLTE5LjggMjQuOC01Mi44IDI0LjEtNzMuOCAxNC43LTI2LjItMTEuNy00NC4zLTM4LjEtNDQuMy03MS44IDAtMjkuOCAxNC44LTU3LjkgNDMuMy03MC44IDIwLjItOS4xIDUyLjctMTAuNiA3NC44IDEyLjlsMC0xMDMuOXpNMTIzLjggMjk3LjhhMzMuMiAzMy4yIDAgMSAwIDY2LjQgMSAzMy4yIDMzLjIgMCAxIDAgLTY2LjQtMXpNNDQ4IDk2YzE3LjUgMCAzMiAxNC40IDMyIDMybDAgMjU2YzAgMTcuNS0xNC40IDMyLTMyIDMyTDY0IDQxNmMtMTcuNSAwLTMyLTE0LjQtMzItMzJsMC0yNTZjMC0xNy41IDE0LjQtMzIgMzItMzJsMzg0IDB6bTAtMzJMNjQgNjRDMjguOCA2NCAwIDkyLjggMCAxMjhMMCAzODRjMCAzNS4yIDI4LjggNjQgNjQgNjRsMzg0IDBjMzUuMiAwIDY0LTI4LjggNjQtNjRsMC0yNTZjMC0zNS4yLTI4LjgtNjQtNjQtNjR6Il19LHY0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmbGlwYm9hcmQiLGljb246WzQ0OCw1MTIsW10sImY0NGQiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMzU4LjQgMjExLjJsLTg5LjYgMCAwIDg5LjYtODkuNiAwIDAgODkuNi04OS42IDAgMC0yNjguOCAyNjguOCAwIDAgODkuNnoiXX0seDR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJ1eS1uLWxhcmdlIixpY29uOls1NzYsNTEyLFtdLCJmOGE2IiwiTTI4OC4yIDMyQzEzMy41IDMyIDggMTMyLjMgOCAyNTZTMTMzLjUgNDgwIDI4OC4yIDQ4MCA1NjguNCAzNzkuNyA1NjguNCAyNTYgNDQyLjkgMzIgMjg4LjIgMzJ6TTIwMi44IDM4OS4ybC0xMzguNSAxLjQgNzcuMi0yOTAuNyAxMzMuNCAwYzYzLjIgMCA4NC45IDI4LjYgNzggNzIuOC0uNCAyLjMtLjkgNC42LTEuNSA2LjktNS42LTEuMy0xMS40LTEuOS0xNy4yLTEuOS00Mi4zIDAtNzYuNyAzMy45LTc2LjcgNzUuNyAwIDM3LjEgMjcuMSA2OCA2Mi45IDc0LjUtMTguMiAzNy4yLTU2LjIgNjAuOS0xMTcuNyA2MS41ek0zNTguMiAyMDcuMWwzMiAwLTIyLjIgOTAuMy0zNS40IDAtMTEuMi0zNS42LTcuOCAzNS42LTM3LjggMCAyNi42LTkwLjMgMzEuMyAwIDE1IDM2LjggOS40LTM2Ljh6TTUwNC4xIDM4OS4ybC0xOTcuMSAwIDE1LjgtNjEuMmMzLjggLjYgNy42IC44IDExLjUgLjggNDIuMyAwIDc2LjctMzMuOSA3Ni43LTc1LjYgMC0zMi42LTIxLTYwLjUtNTAuNC03MS4xbDIxLjMtODIuNCA5Mi41IDAtNTMgMjA1LjQgMTAzLjkgMC0yMS4yIDg0LjF6TTIxMS45IDI2OS40bC0yNC43IDAtMTMuOCA1Ni41IDI0LjcgMGMxNi4xIDAgMzIuMS0zLjIgMzcuOS0yNi42IDUuNi0yMi4zLTgtMjkuOC0yNC4xLTI5Ljh6TTIzMy4yIDE3MGwtMjEuMyAwLTExLjcgNDcuNyAyMS40IDBjMTggMCAzNS40LTE0LjYgMzkuMi0zMC4xIDQuNi0xOC45LTkuNS0xNy42LTI3LjYtMTcuNnoiXX0seTR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndhdGNobWFuLW1vbml0b3JpbmciLGljb246WzUxMiw1MTIsW10sImUwODciLCJNMjU2IDE2YTI0MCAyNDAgMCAxIDAgMCA0ODAgMjQwIDI0MCAwIDEgMCAwLTQ4MHpNMTIxLjcgNDI5LjFjLTUxLjYtNDAuMi04NC45LTEwMi44LTg0LjktMTczLjEgMC0yMS43IDMuMi00My4zIDkuNi02NC4xbDEwMi45LTE3LjktLjEgMTEtMTMuOSAycy0uMSAxMi41LS4xIDE5LjVjMCAyIC40IDQgMS4yIDUuOHMyLjEgMy40IDMuNyA0LjZsOS41IDcuNC0yNy43IDIwNC45ek0yMjcuNCAxNDUuOWw4LjUtNy42czYuOS01LjQtLjEtOS4zYy03LjItNC0zOS41LTM0LjUtMzkuNS0zNC41LTUuMy01LjUtOC4zLTcuMy0xNS41IDAgMCAwLTMyLjMgMzAuNS0zOS41IDM0LjUtNy4xIDQtLjEgOS4zLS4xIDkuM2w4LjUgNy42IDAgNC40LTczLjUtMTkuMmMzOS42LTU2LjkgMTA1LjUtOTQuMyAxODAtOTQuMyAzMS4zIDAgNjIuMiA2LjcgOTAuNiAxOS42czUzLjggMzEuOCA3NC4zIDU1LjRsLTE5My41IDM3LjcgMC0zLjZ6bTM0LjEgMzI5LjNsLTMzLjktMjUwLjkgOS41LTcuNGMxLjYtMS4yIDIuOC0yLjggMy43LTQuNnMxLjMtMy44IDEuMi01LjhjMC03LS4xLTE5LjUtLjEtMTkuNWwtMTMuOS0yLS4xLTEwLjUgMjQxLjcgMzEuNGMzLjkgMTYuNCA1LjggMzMuMyA1LjggNTAuMSAwIDExOS4xLTk1LjQgMjE2LjItMjEzLjggMjE5LjF6Il19LHc0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoaXBzIixpY29uOls2NDAsNTEyLFtdLCJmNDUyIiwiTTI1MS42IDE1Ny42YzAtMS45LS45LTIuOC0yLjgtMi44bC00MC45IDBjLTEuNiAwLTIuNyAxLjQtMi43IDIuOGwwIDIwMS44YzAgMS40IDEuMSAyLjggMi43IDIuOGw0MC45IDBjMS45IDAgMi44LS45IDIuOC0yLjhsMC0yMDEuOHpNMTU2LjUgMTY4Yy0xNi4xLTExLjgtMzYuMy0xNy45LTYwLjMtMTgtMTguMS0uMS0zNC42IDMuNy00OS44IDExLjRsMC04MS4yYzAtMS44LS45LTIuNy0yLjgtMi43bC00MC45IDBDLjkgNzcuNSAwIDc4LjQgMCA4MC4yTDAgMzU5LjRjMCAxLjkgLjkgMi44IDIuNyAyLjhsNDEgMGMxLjkgMCAyLjgtLjkgMi44LTIuOGwwLTEzNi4xYzAtLjgtMi44LTI3IDQ1LjgtMjcgNDguNSAwIDQ1LjggMjYuMSA0NS44IDI3bDAgMTIyLjZjMCA5IDcuMyAxNi4zIDE2LjQgMTYuM2wyNy4zIDBjMS44IDAgMi43LS45IDIuNy0yLjhsMC0xMzYuMWMwLTIzLjQtOS4zLTQxLjgtMjgtNTUuM3pNNjM0LjkgMjc4LjFjLTYuOC0xNS43LTE4LjQtMjctMzQuOS0zNC4xbC01Ny42LTI1LjNjLTguNi0zLjYtOS4yLTExLjItMi42LTE2LjEgNy40LTUuNSA0NC4zLTEzLjkgODQgNi44IDEuNyAxIDQtLjMgNC0yLjRsMC00NC43YzAtMS4zLS42LTIuMS0xLjktMi42LTE3LjctNi42LTM2LjEtOS45LTU1LjEtOS45LTI2LjUgMC00NS4zIDUuOC01OC41IDE1LjQtLjUgLjQtMjguNCAyMC0yMi43IDUzLjcgMy40IDE5LjYgMTUuOCAzNC4yIDM3LjIgNDMuNkw1ODAuNCAyODZjMTEuNiA1LjEgMTUuMiAxMy4zIDEyLjIgMjEuMi0zLjcgOS4xLTEzLjIgMTMuNi0zNi41IDEzLjYtMjQuMyAwLTQ0LjctOC45LTU4LjQtMTkuMS0yLjEtMS40LTQuNCAuMi00LjQgMi4zbDAgMzQuNGMwIDEwLjQgNC45IDE3LjMgMTQuNiAyMC43IDE1LjYgNS41IDMxLjYgOC4yIDQ4LjIgOC4yIDEyLjcgMCAyNS44LTEuMiAzNi4zLTQuMyAuNy0uMyAzNi04LjkgNDUuNi00NS44IDMuNS0xMy41IDIuNC0yNi41LTMuMS0zOS4xek0zNzYuMiAxNDkuOGMtMzEuNyAwLTEwNC4yIDIwLjEtMTA0LjIgMTAzLjVsMCAxODMuNWMwIC44IC42IDIuNyAyLjcgMi43bDQwLjkgMGMxLjkgMCAyLjgtLjkgMi44LTIuN2wwLTg4LjhjMTYuNSAxMi43IDM1LjggMTkuMSA1Ny43IDE5LjEgNjAuNSAwIDEwOC43LTQ4LjUgMTA4LjctMTA4LjcgLjEtNjAuMy00OC4yLTEwOC42LTEwOC42LTEwOC42em0wIDQ2LjZhNjIuMiA2Mi4yIDAgMSAxIDAgMTI0LjMgNjIuMiA2Mi4yIDAgMSAxIDAtMTI0LjN6TTIyOC4zIDcyLjVjLTE1LjkgMC0yOC44IDEyLjktMjguOSAyOC45IDAgMTUuNiAxMi43IDI4LjkgMjguOSAyOC45czI4LjktMTMuMSAyOC45LTI4LjljMC0xNi4yLTEzLTI4LjktMjguOS0yOC45eiJdfSxNNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWR2ZXJzaWZ5IixpY29uOls2NDAsNTEyLFtdLCJmMzg1IiwiTTE2MC42IDMwNGM4LjIgNjguNSA2Ny40IDExNS41IDE0NiAxMTEuMyA1MS4yIDQzLjMgMTM2LjggNDUuOCAxODYuNC01LjYgNjkuMiAxLjEgMTE4LjUtNDQuNiAxMzEuNS05OS41IDE0LjgtNjIuNS0xOC4yLTEzMi41LTkyLjEtMTU1LjEtMzMtODguMS0xMzEuNC0xMDEuNS0xODYuNS04NS01Ny4zIDE3LjMtODQuMyA1My4yLTk5LjMgMTA5LjctNy44IDIuNy0yNi41IDguOS00NSAyNC4xIDExLjcgMCAxNS4yIDguOSAxNS4yIDE5LjVsMCAyMC40YzAgMTAuNy04LjcgMTkuNS0xOS41IDE5LjVsLTIwLjIgMGMtMTAuNyAwLTE5LjUtNi0xOS41LTE2LjdsMC02LjYtNDYuOCAwYy0zLjggMC0xMC44IDQuMy0xMC44IDExLjlsMCA0MC40YzAgNi40IDUuMyAxMS44IDExLjcgMTEuOGw0OC45IDAgMC0uMXpNMzg4IDMxMmMtMTAuNyA0Ni4zIDIxLjcgNzIuNCA1NS4zIDg2LjgtMTA3LjIgMzMuOC0xNzEuNi01MC44LTEzNS4zLTExMC44LTMzLjIgMjEuNi0zMy43IDcxLjItMjkuMiA5Mi45LTE3LjktMTIuNC01My44LTMyLjQtNTcuNC03OS44LTMtMzkuOSAyMS41LTc1LjcgNTctOTMuOSAzMC42LTE1LjggMTAzLjUtOC41IDEzMy42IDQwLjgtMTQuMS00OC01My44LTcwLjEtMTAxLjgtNzQuOCAzMC45LTMwLjcgNjQuNC01MC4zIDExNC4yLTQzLjcgNjkuOCA5LjMgMTMzLjIgODIuOCA2Ny43IDE1MC41IDM1LTE2LjMgNDguNy01NC40IDQ3LjUtNzYuOWwxMC41IDE5LjZjMTEuOCAyMiAxNS4yIDQ3LjYgOS40IDcyLTkuMiAzOS00MC42IDY4LjgtNzkuNyA3Ni41LTMyLjEgNi4zLTgzLjEtNS4xLTkxLjgtNTkuMnpNMTQwIDIwOGwtMzkuOCAwYy04LjkgMC0xNi4yLTcuMy0xNi4yLTE2LjJsMC0zOS42YzAtOC45IDcuMy0xNi4yIDE2LjItMTYuMmwzOS44IDBjOC45IDAgMTYuMiA3LjMgMTYuMiAxNi4ybDAgMzkuNmMwIDguOS03LjMgMTYuMi0xNi4yIDE2LjJ6TTIyLjEgMTY4Yy01LjYgMC0xMC4xLTQuNS0xMC4xLTEwLjFsMC0yNy44YzAtNS42IDQuNS0xMC4xIDEwLjEtMTAuMWwyNy43IDBjNS41IDAgMTAuMSA0LjUgMTAuMSAxMC4xbDAgMjcuOGMwIDUuNi00LjUgMTAuMS0xMC4xIDEwLjFsLTI3LjcgMHpNMTgwIDE0Mi43bDAtMjEuNGMwLTUuMSA0LjItOS4zIDkuMy05LjNsMjEuNCAwYzUuMSAwIDkuMyA0LjIgOS4zIDkuM2wwIDIxLjRjMCA1LjEtNC4yIDkuMy05LjMgOS4zbC0yMS40IDBjLTUuMSAwLTkuMy00LjItOS4zLTkuM3pNNjggMjM1LjVsMCAyNWMwIDYuMy01LjEgMTEuNS0xMS40IDExLjVsLTI1LjIgMGMtNi4zIDAtMTEuNC01LjItMTEuNC0xMS41bDAtMjVjMC02LjMgNS4xLTExLjUgMTEuNC0xMS41bDI1LjEgMGM2LjQgMCAxMS41IDUuMiAxMS41IDExLjV6Il19LGs0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29kcmVhZHMiLGljb246WzQ0OCw1MTIsW10sImYzYTgiLCJNMjk5LjkgMTkxLjJjNS4xIDM3LjMtNC43IDc5LTM1LjkgMTAwLjctMjIuMyAxNS41LTUyLjggMTQuMS03MC44IDUuNy0zNy4xLTE3LjMtNDkuNS01OC42LTQ2LjgtOTcuMiA0LjMtNjAuOSA0MC45LTg3LjkgNzUuMy04Ny41IDQ2LjktLjIgNzEuOCAzMS44IDc4LjIgNzguM3pNNDQ4IDg4bDAgMzM2YzAgMzAuOS0yNS4xIDU2LTU2IDU2TDU2IDQ4MGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCA4OEMwIDU3LjEgMjUuMSAzMiA1NiAzMmwzMzYgMGMzMC45IDAgNTYgMjUuMSA1NiA1NnpNMzMwIDMxMy4ycy0uMS0zNC0uMS0yMTcuM2wtMjkgMCAwIDQwLjNjLS44IC4zLTEuMi0uNS0xLjYtMS4yLTkuNi0yMC43LTM1LjktNDYuMy03Ni00Ni01MS45IC40LTg3LjIgMzEuMi0xMDAuNiA3Ny44LTQuMyAxNC45LTUuOCAzMC4xLTUuNSA0NS42IDEuNyA3Ny45IDQ1LjEgMTE3LjggMTEyLjQgMTE1LjIgMjguOS0xLjEgNTQuNS0xNyA2OS00NS4yIC41LTEgMS4xLTEuOSAxLjctMi45IC4yIC4xIC40IC4xIC42IC4yIC4zIDMuOCAuMiAzMC43IC4xIDM0LjUtLjIgMTQuOC0yIDI5LjUtNy4yIDQzLjUtNy44IDIxLTIyLjMgMzQuNy00NC41IDM5LjUtMTcuOCAzLjktMzUuNiAzLjgtNTMuMi0xLjItMjEuNS02LjEtMzYuNS0xOS00MS4xLTQxLjgtLjMtMS42LTEuMy0xLjMtMi4zLTEuM2wtMjYuOCAwYy44IDEwLjYgMy4yIDIwLjMgOC41IDI5LjIgMjQuMiA0MC41IDgyLjcgNDguNSAxMjguMiAzNy40IDQ5LjktMTIuMyA2Ny4zLTU0LjkgNjcuNC0xMDYuM3oiXX0sUzR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRpZGFsIixpY29uOls2NDAsNTEyLFtdLCJlN2RjIiwiTTEwNy4yIDQ4bC0xLjMgMGMtMzIuMyAzMy4xLTY1LjQgNjUuNS05OCA5OC41LTIuNiAyLjgtNi4xIDUuMS03LjkgOC42IDM1LjYgMzUuNCA3MSA3MSAxMDYuNiAxMDYuNCAzNS40LTM1LjMgNzAuNy03MC44IDEwNi4xLTEwNi4xbDAtMS4zLTczLjItNzMuMkMxMjguOCA2OS44IDExNy4zIDU5LjYgMTA3LjIgNDh6bTIxMy41IDBsLTEuMyAwYy0zNC45IDM2LjEtNzEuNSA3MS0xMDYuMyAxMDcuMiAzNS45IDM1LjEgNzEgNzEgMTA2LjcgMTA2LjMgMzQuMy0zNC4xIDY4LjQtNjguNCAxMDIuNi0xMDIuNCAxLjUtMS41IDMuMy0yLjggNC4xLTQuOC0zNC42LTMzLjgtNjguNC02OC4yLTEwMi42LTEwMi4xLTEuMy0xLjMtMi4zLTIuNi0zLjMtNC4xem0yMTMuNSAwbC0xLjMgMGMtMTcuMiAxOC0zNS4xIDM1LjMtNTIuNiA1My0xNy45IDE3LjctMzUuNCAzNS43LTUzLjUgNTMuMyAuOCAyLjMgMyAzLjYgNC42IDUuNUw1MzMuMyAyNjEuNWMzNi4xLTM0LjkgNzAuOC03MS4yIDEwNi43LTEwNi4xLS41LTIuMi0yLjYtMy41LTQtNUw1NTUuOCA3MC4yYy03LjEtNy40LTE0LjktMTQuMi0yMS41LTIyLjJ6TTMxOS42IDI2MS43Yy0zNC45IDM1LjEtNzAgNzAtMTA0LjkgMTA0LjktLjMgLjctLjcgMS43LTEgMi4zIDI0IDIzLjcgNDcuNyA0Ny41IDcxLjUgNzEuMyAxMS44IDExLjMgMjIuOCAyMy41IDM0LjkgMzQuNCA4LjQtNy40IDE2LjQtMTYuNCAyNC43LTI0LjMgMjUuNS0yNS4zIDUxLTUxIDc2LjUtNzYuMyAxLjgtMi4yIDQuMy0zLjYgNS41LTYuMy0zNS40LTM0LjktNzAuNS03MC4yLTEwNS42LTEwNS40bC0xLjUtLjd6Il19LHo0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bml0eSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA0OSIsIk0yNDMuNiA5MS42bDgwLjEgNDYuOGMyLjkgMS42IDMgNi4yIDAgNy44bC05NS4yIDU1LjZjLTIuOSAxLjctNi4zIDEuNi05IDBsLTk1LjItNTUuNmMtMi45LTEuNi0zLTYuMyAwLTcuOGw4MC4xLTQ2LjggMC05MS42LTIwNC40IDExOS40IDAgMjM4LjggNzguNC00NS44IDAtOTMuNmMtLjEtMy4zIDMuOC01LjcgNi43LTMuOWw5NS4yIDU1LjZjMi45IDEuNyA0LjUgNC43IDQuNSA3LjhsMCAxMTEuMmMuMSAzLjMtMy44IDUuNy02LjcgMy45TDk4IDM0Ni44IDE5LjYgMzkyLjYgMjI0IDUxMiA0MjguNCAzOTIuNiAzNTAgMzQ2LjggMjY5LjkgMzkzLjZjLTIuOCAxLjctNi44LS41LTYuNy0zLjlsMC0xMTEuMmMwLTMuMyAxLjgtNi4zIDQuNS03LjhMMzYyLjkgMjE1YzIuOC0xLjcgNi44IC41IDYuNyAzLjlsMCA5My42IDc4LjQgNDUuOCAwLTIzOC44LTIwNC40LTExOS40IDAgOTEuNnoiXX0sQzR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRlbmNlbnQtd2VpYm8iLGljb246WzMyMCw1MTIsW10sImYxZDUiLCJNNDAuNSA0OTUuOGMxLjQgMTkuOS0yNy42IDIyLjItMjkuNyAyLjktMTEuNi0xMjkuOSAzMS4xLTIzOS41IDEwMS40LTMxMy4yLTE1LjYtMzQgOS4yLTc3LjEgNTAuNi03Ny4xIDMwLjMgMCA1NS4xIDI0LjYgNTUuMSA1NS4xIDAgNDQtNDkuNSA3MC44LTg2LjkgNDUuMS02NS43IDcxLjMtMTAxLjQgMTY5LjgtOTAuNSAyODcuMnpNMTYwLjIgLjFjLTEyNS45IDAtMjA0LjMgMTM0LjItMTQ4LjMgMjQyLjMgOC43IDE3LjQgMzUuMyA0LjUgMjYuMy0xMy40LTQ2LjMtOTIuNiAyMS0xOTkuMiAxMjItMTk5LjIgNzUuNCAwIDEzNi45IDYxLjQgMTM2LjkgMTM2LjkgMCA5MC44LTg2LjkgMTUzLjktMTY3LjcgMTMzLjEtMTkuMS00LjEtMjUuNiAyNC40LTYuNiAyOS4xIDExMC43IDIzLjIgMjA0LTYwIDIwNC0xNjIuMyAwLTkxLjktNzQuNi0xNjYuNS0xNjYuNi0xNjYuNXoiXX0sVDR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZyZWUtY29kZS1jYW1wIixpY29uOls1NzYsNTEyLFtdLCJmMmM1IiwiTTk3LjQgOTYuMmMxMC40LTEwLjYgMTYtMTcuMSAxNi0yMS45IDAtMi44LTEuOS01LjUtMy44LTcuNC0yLjQtMS44LTUuNC0yLjgtOC40LTIuOC04LjUgMC0yMC45IDguOC0zNS44IDI1LjctNDEuNSA0Ny4zLTYyLjcgOTMuMS02MS44IDE2MC42UzIxIDM2Ny4zIDU3LjYgNDEyLjJjMTguOCAyMy42IDMzLjIgMzUuOCA0My41IDM1LjggMy4yLS4zIDYuMS0xLjYgOC40LTMuOCAxLjktMi44IDMuOC01LjYgMy44LTguNCAwLTUuNi0zLjktMTIuMi0xMy4yLTIwLjYtNDQuNS00Mi4zLTY3LjMtOTctNjcuNS0xNjUtLjItNjEuNCAyMS42LTExMi40IDY0LjgtMTU0ek0yMzkuNiA0MjAuMWMuNiAuNCAuOSAuNiAuOSAuNmwtLjktLjZ6bTkzLjggLjZsLjItLjFjLS4yIC4xLS4zIC4yLS4yIC4xem0zLjEtMTU4LjJjLTE2LjItNC4yIDUwLjQtODIuOS02OC4xLTE3Ny4yIDAgMCAxNS41IDQ5LjQtNjIuOCAxNTkuNi03NC4zIDEwNC40IDIzLjUgMTY4LjcgMzQgMTc1LjItNi43LTQuMy00Ny40LTM1LjcgOS42LTEyOC42IDExLTE4LjMgMjUuNS0zNC45IDQzLjUtNzIuMiAwIDAgMTUuOSAyMi40IDcuNiA3MS4xLTEyLjUgNzMuNiA1My44IDUyLjUgNTQuOCA1My41IDIyLjggMjYuOC0xNy43IDczLjUtMjEuNiA3Ni42IDUuNS0zLjcgMTE3LjctNzggMzMtMTg4LjEtNiA2LTEzLjggMzQuMi0zMCAzMC4xek01MTEgODkuN2MtMTQuOS0xNi45LTI3LjQtMjUuNy0zNS45LTI1LjctMyAuMS01LjkgMS4xLTguNCAyLjgtMS45IDEuOS0zLjggNC43LTMuOCA3LjQgMCA0LjggNS42IDExLjMgMTYgMjEuOSA0My4yIDQxLjYgNjUgOTIuNiA2NC44IDE1NC4xLS4yIDY4LTIzIDEyMi42LTY3LjUgMTY1LTkuMyA4LjQtMTMuMiAxNC45LTEzLjIgMjAuNiAwIDIuNyAxLjkgNS42IDMuOCA4LjQgMi4zIDIuMiA1LjIgMy42IDguNCAzLjggMTAuMyAwIDI0LjctMTIuMSA0My41LTM1LjggMzYuNi00NC45IDUzLjEtOTQuNCA1NC4xLTE2MS45UzU1Mi41IDEzNyA1MTEgODkuN3oiXX0sXzR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IngtdHdpdHRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZTYxYiIsIk0zNTcuMiA0OEw0MjcuOCA0OCAyNzMuNiAyMjQuMiA0NTUgNDY0IDMxMyA0NjQgMjAxLjcgMzE4LjYgNzQuNSA0NjQgMy44IDQ2NCAxNjguNyAyNzUuNS01LjIgNDggMTQwLjQgNDggMjQwLjkgMTgwLjkgMzU3LjIgNDh6TTMzMi40IDQyMS44bDM5LjEgMC0yNTIuNC0zMzMuOC00MiAwIDI1NS4zIDMzMy44eiJdfSxMNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RpY2tlci1tdWxlIixpY29uOls1NzYsNTEyLFtdLCJmM2Y3IiwiTTU2MS43IDE5OS42bDAgMHptLTYuMi03Ny40Yy03LjctMjIuMy01LjEtNy4yLTEzLjQtMzYuOS0xLjYtNi41LTMuNi0xNC41LTYuMi0yMC00LjQtOC43LTQuNi03LjUtNC42LTkuNSAwLTUuMyAzMC43LTQ1LjMgMTktNDYuOS01LjctLjYtMTIuMiAxMS42LTIwLjYgMTctOC42IDQuMi04IDUtMTAuMyA1LTIuNiAwLTUuNy0zLTYuMi01LTItNS43IDEuOS0yNS45LTMuNi0yNS45LTMuNiAwLTEyLjMgMjQuOC0xNyAyNS44LTUuMiAxLjMtMjcuOS0xMS40LTc1LjEgMTgtMjUuMyAxMy4yLTg2LjkgNjUuMi04NyA2NS4zLTYuNyA0LjctMjAgNC43LTM1LjUgMTYtNDQuNCAzMC4xLTEwOS42IDkuNC0xMTAuNyA5LTExMC42LTI2LjgtMTI4LTE1LjItMTU5IDExLjUtMjAuOCAxNy45LTIzLjcgMzYuNS0yNC4yIDM4LjktNC4yIDIwLjQgNS4yIDQ4LjMgNi43IDY0LjMgMS44IDE5LjMtMi43IDE3LjcgNy43IDk4LjMgLjUgMSA0LjEgMCA1LjEgMS41IDAgOC40LTMuOCAxMi4xLTQuMSAxMy0xLjUgNC41LTEuNSAxMC41IDAgMTYgMi4zIDguMiA4LjIgMzcuMiA4LjIgNDYuOSAwIDQxLjggLjQgNDQgMi42IDQ5LjQgMy45IDEwIDEyLjUgOS4xIDE3IDEyIDMuMSAzLjUtLjUgOC41IDEgMTIuNSAuNSAyIDMuNiA0IDYuMiA1IDkuMiAzLjYgMjcgLjMgMjkuOS0yLjUgMS42LTEuNSAuNS00LjUgMy4xLTUgNS4xIDAgMTAuOC0uNSAxNC40LTIuNSA1LjEtMi41IDQuMS02IDEuNS0xMC41LS40LS44LTctMTMuMy05LjgtMTYtMi4xLTItNS4xLTMtNy4yLTQuNS01LjgtNC45LTEwLjMtMTkuNC0xMC4zLTE5LjUtNC42LTE5LjQtMTAuMy00Ni4zLTQuMS02Ni44IDQuNi0xNy4yIDM5LjUtODcuNyAzOS42LTg3LjggNC4xLTYuNSAxNy0xMS41IDI3LjMtNyA2IDEuOSAxOS4zIDIyIDY1LjQgMzAuOSA0Ny45IDguNyA5Ny40LTIgMTEyLjItMiAyLjggMi0xLjkgMTMtLjUgMzguOSAwIDI2LjQtLjQgMTMuNy00LjEgMjkuOS0yLjIgOS43IDMuNCAyMy4yLTEuNSA0Ni45LTEuNCA5LjgtOS45IDMyLjctOC4yIDQzLjQgLjUgMSAxIDIgMS41IDMuNSAuNSA0LjUgMS41IDguNSA0LjYgMTAgNy4zIDMuNiAxMi0zLjUgOS44IDExLjUtLjcgMy4xLTIuNiAxMiAxLjUgMTUgNC40IDMuNyAzMC42IDMuNCAzNi41IC41IDIuNi0xLjUgMS42LTQuNSA2LjQtNy40IDEuOS0uOSAxMS4zLS40IDExLjMtNi41IC4zLTEuOC05LjItMTkuOS05LjMtMjAtMi42LTMuNS05LjItNC41LTExLjMtOC02LjktMTAuMS0xLjctNTIuNiAuNS01OS40IDMtMTEgNS42LTIyLjQgOC43LTMyLjQgMTEtNDIuNSAxMC4zLTUwLjYgMTYuNS02OC4zIC44LTEuOCA2LjQtMjMuMSAxMC4zLTI5LjkgOS4zLTE3IDIxLjctMzIuNCAzMy41LTQ3LjQgMTgtMjIuOSAzNC00Ni45IDUyLTY5LjggNi4xLTcgOC4yLTEzLjcgMTgtOCAxMC44IDUuNyAyMS42IDcgMzEuOSAxNyAxNC42IDEyLjggMTAuMiAxOC4yIDExLjggMjIuOSAxLjUgNSA3LjcgMTAuNSAxNC45IDkuNSAxMC40LTIgMTMtMi41IDEzLjQtMi41IDIuNi0uNSA1LjctNSA3LjItOCAzLjEtNS41IDcuMi05IDcuMi0xNi41IDAtNy43LS40LTIuOC0yMC42LTUyLjl6Il19LCQ0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0d2l0Y2giLGljb246WzQ0OCw1MTIsW10sImYxZTgiLCJNMzU5LjQgMTAzLjVsLTM4LjYgMCAwIDEwOS43IDM4LjYgMCAwLTEwOS43ek0yNTMuMiAxMDNsLTM4LjYgMCAwIDEwOS44IDM4LjYgMCAwLTEwOS44ek04OSAwbC05Ni41IDkxLjQgMCAzMjkuMiAxMTUuOCAwIDAgOTEuNCA5Ni41LTkxLjQgNzcuMyAwIDE3My44LTE2NC42IDAtMjU2LTM2Ni45IDB6TTQxNy4zIDIzNy44bC03Ny4yIDczLjEtNzcuMiAwLTY3LjYgNjQgMC02NC04Ni45IDAgMC0yNzQuMyAzMDguOSAwIDAgMjAxLjJ6Il19LEQ0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJraWNrc3RhcnRlci1rIixpY29uOls0NDgsNTEyLFtdLCJmM2JjIiwiTTM1Ni43IDI1Ni4ybDQwLjgtNDAuNWM0Mi4yLTQxLjkgNDIuMi0xMTAuMyAwLTE1Mi4xcy0xMTEtNDEuOS0xNTMuMiAwTDIyOS4zIDc4LjRDMjA5LjYgNTAuMyAxNzcuMSAzMiAxNDAuMiAzMiA4MC41IDMyIDMyIDgwLjIgMzIgMTM5LjVsMCAyMzNjMCA1OS40IDQ4LjUgMTA3LjUgMTA4LjIgMTA3LjUgMzcuMSAwIDY5LjMtMTguMyA4OS00Ni40bDE0LjkgMTQuN2M0Mi4yIDQxLjkgMTExIDQxLjkgMTUzLjIgMHM0Mi4yLTExMC4zIDAtMTUyLjFsLTQwLjgtNDAgLjEgMHoiXX0sQTR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyaXRpY2FsLXJvbGUiLGljb246WzQ0OCw1MTIsW10sImY2YzkiLCJNMjI1LjggMGMuMyAuMiAyMTYuNiAxMjQuNSAyMTcuMSAxMjQuNyAzIDEuMiAzLjcgMy41IDMuNyA2LjYtLjEgODMuNC0uMSAxNjYuOSAwIDI1MC40IC4xIDEuMi0uMiAyLjQtLjggMy40cy0xLjUgMS45LTIuNiAyLjRjLTIxLjQgMTItMjA3LjkgMTE4LjMtMjE4LjkgMTI0LjZsLTMgMGMtNzkuMy00NS43LTIxOC4zLTEyNS40LTIxOC40LTEyNS41LS42LS4zLTEuMS0uNy0xLjQtMS4zcy0uNS0xLjItLjQtMS45YzAtLjkgMC0yMjUuOS0uMS0yNTMuMS0uMS0xIC4yLTIgLjctMi45czEuMy0xLjYgMi4yLTJDMjcuMiAxMTIuMSAyMTMuMiA2IDIyNC4xIDBsMS44IDB6TTIxNS40IDIwLjRsLS4yLS4yYy02NC43IDM2LjktMTI5LjUgNzMuNy0xOTQuMiAxMTAuNiAwIC4xIC4xIC4yIC4xIC40TDUyIDE0Mi45Yy03LjcgNi04LjMgNi0xMC42IDUuMS0uMSAwLTI0LjItOS4zLTI2LjgtMTBsMCAyMzAuNGMuOS0xLjQgNjQuMS0xMTAuOSA2NC4xLTExMSAxLjYtMi44IDMtMS45IDkuMS0xLjUgMS40IC4xIDEuNSAuMiAuOCAxLjQtNDEuMiA3MS4zLTM2LjQgNjMtNjcuNSAxMTYuOS0uOCAxLjQtLjYgMS4xIDEuMiAxLjFsMTg2LjUgMGMxLjQgMCAxLjctLjIgMS43LTEuNmwwLTguOWMwLTEuMyAyLjQtLjgtMTguNC0xLTcuNS0uMS0xNC4xLTMuMi0yMS40LTEyLjctNy40LTkuNy0xNC42LTE5LjQtMjEuOC0yOS4yLTIuMy0zLjEtMy40LTIuNC0xNi44LTIuNC0xLjggMC0xLjggMC0xLjggMS44IC4zIDI2LjIgLjIgMjUuMyAxIDMyLjcgLjUgNC40IDIuMiA0LjIgOS43IDQuOCAzLjEgLjMgMy45IDQuMSAuNSA0LjktMS42IC40LTMxLjYgLjUtMzMuNy0uMS0uNS0uMS0xLS41LTEuMy0uOXMtLjUtMS0uNC0xLjYgLjMtMS4xIC42LTEuNSAuOS0uNyAxLjQtLjhjMy4zLS44IDYuMiAuOCA2LjctNC40IDEuMy0xMy43IDEuMi05IDEuMS03OS40IDAtMTAuOC0uNC0xMi42LTUuNC0xMy42LTEuMi0uMi0zLjUtLjItNC43LS42LTIuOS0xLTItNC44IDEuOC00LjggMzMuNyAwIDQ2LjEtMS4xIDU2LjEgNC45IDcuNyA0LjYgMTIgMTEuNSAxMi41IDIwLjQgLjkgMTQuNi02LjUgMjIuMy0xNSAzMi42LS4yIC4xLS4zIC4zLS40IC41cy0uMSAuNC0uMSAuNiAwIC40IC4xIC42IC4yIC40IC40IC41YzIuNiAzLjIgNSA2LjYgNy43IDkuOCAyNy42IDMzLjIgMjQuMSAzMC41IDQxLjMgMzMuMSAuOSAuMSAxLS40IDEtMS4ybDAtMTFjMC0xIC4zLTEuNCAxLjQtMS4zIDcuOCAxLjIgMTUuOCAxLjEgMjMuNi0uMyAxLjEtLjEgMS41IC4yIDEuNSAxLjMgMCAuMSAuOSAyNi43IC45IDI2LjggMCAxLjUgLjcgMS42IDEuOSAxLjZsMTg2LjcgMGMtMjcuMi00Ny01NC4yLTk0LTgxLjItMTQwLjggMi4zLS43LS40IDAgNi43LTEuNCAyLS40IDIuMS0uNCAzLjEgMS40IDcuMyAxMi42IDc3LjMgMTM0IDc3LjQgMTM0LjFsMC0yMzAuNGMtMS43IC41LTEwMy4zIDM4LjctMTA1LjggMzkuNy0xLjEgLjQtMS41IC4yLTEuOS0uOS0uNi0xLjktMS4zLTMuOC0yLjEtNS42LS4zLS44LS4xLTEuMSAuNi0xLjQgLjEgMCA5NS41LTM1LjggMTAzLTM4LjgtNjUuNC0zNy42LTEzMC42LTc1LTE5Ni0xMTIuNmw4Ni44IDE1MC40LS4zIC4zYy05LjYtLjktMTAuNS0xLjYtMTEuOC0zLjktMS0xLjctNzMuNS0xMjcuNy04Mi0xNDIuMi05LjEgMTQuNy04My42IDE0Ni4yLTg1LjQgMTQ2LjMtMi45IC4yLTUuOSAuMS05LjIgLjEgMjguOC00OS44IDU3LjYtOTkuNSA4Ni4yLTE0OWwwIDB6bTUxLjkgMTI5LjljMS45LS4xIDMuNy0uNCA1LjUtLjggMS43LS4zIDIuNSAuMiAyLjYgMS45IDAgLjEgLjEgMTkuMS0uOSAyMC41cy0xLjkgMS4yLTIuNi0uMmMtNS05LjcgNi4yLTkuNy0zOS4xLTEyLS43IDAtMSAuMi0xIC45IDAgLjEgMy43IDEyMiAzLjcgMTIyLjEgMCAuOSAuNSAxLjIgMS4yIDEuNSAzIDEuMiA1LjkgMi41IDguNyA0IDcuMyA0LjMgMTEuNCAxMC44IDEyLjQgMTkuMyAxLjQgMTEuOC0yLjggMzUuOC0zMi4yIDM3LjEtMi44IC4xLTI4LjMgMS4xLTM0LjEtMjMuMy00LjctMTkuMyA4LjMtMzIuNyAxOS45LTM2LjQgLjYtLjEgMS4yLS40IDEuNS0uOXMuNS0xLjEgLjUtMS43Yy4xLTUuNiAzLTEwNy4xIDMuNy0xMjEuMyAwLTEuMS0uNi0xLjItMS40LTEuMS0zMi4zIC41LTM2LjctLjMtNDAuMiA4LjUtMi40IDYuMi00LjEgMS4zLTQgLjIgMS4xLTYgMi4yLTEyIDMuMy0xOCAuNC0yLjEgMS40LTIuNiAzLjQtMS45IDUuNiAyLjEgNi43IDEuNyAzNy4yIDEuOSAxLjcgMCAxLjgtLjEgMS44LTEuOCAuNy0yNy41IC42LTIyLjYgMS0yOS42IC4xLS42LS4xLTEuMi0uMy0xLjdzLS43LS45LTEuMy0xLjFjLTUuNi0yLjktOC44LTcuNi04LjktMTMuOS0uNC0xNC44IDE3LjctMjEuNyAyNy40LTExLjUgNi44IDcuMiA1LjggMTguOS0yLjUgMjQuMi0uOCAuNC0xLjQgMS4xLTEuOCAxLjhzLS42IDEuNi0uNCAyLjVjMCAuNi0uMS00LjMgMSAzMCAwIC45IC40IDEuMSAxLjIgMS4xIC4xIDAgMjMtLjEgMzQuNS0uNGwwLS4xek02OC4zIDE0MS43YzE5LjgtNC41IDMyLjctLjYgNTIuNSAxLjcgMi44IC4zIDMuNyAxLjIgMy42IDQtLjIgNS0xLjIgMjIuMy0xLjIgMjMuMSAwIC41LS4yIDEtLjUgMS40cy0uNyAuNy0xLjIgLjljLTQuMSAxLjctMy42LTQuNC00LTcuMy0zLjEtMjIuNC03My45LTMyLjctNzQuNiAyNS40LS4zIDIzLjkgMTcgNTMuNiA1NC4xIDUwLjkgMjcuMi0yIDE5LTIwLjIgMjQuOC0yMC41IC40LS4xIC45IDAgMS4zIC4xcy44IC40IDEuMSAuNyAuNSAuNyAuNiAxLjIgLjEgLjkgMCAxLjNjLTEuOCAxMC44LTMuNCAxOS0zLjQgMTkuMi0xLjUgOS4yLTg2LjcgMjIuMS05My40LTQyLjEtMi43LTI1LjggMTAuNC01My40IDQwLjMtNjAuMnptODAgODcuN2wtMTkuNSAwYy0uNiAwLTEuMi0uMS0xLjYtLjRzLS44LS44LTEtMS40YzIuNC0zLjggNS45IC45IDUuOS02LjEtLjEtMjUuOCAuMi0zOCAuMi00MC4xIDAtMy40LS41LTQuNi0zLjMtNC45LTctLjctMy4xLTMuNC0xLjEtMy40IDExLjgtLjEgMjIuNi0uMiAzMCAuNyA4LjggMS4xIDE2LjcgMTIuNiA3LjkgMjIuNi0yIDIuMi00IDQuNC02LjEgNi43IDEgMS4yIDYuOSA4LjggMTcuMyAxOS43IDIuNyAyLjggNi4yIDMuNSA5LjkgMy4xIC42IDAgMS4xLS4yIDEuNS0uNnMuNy0uOSAuNy0xLjVjLjMtMy40IC4zIDQuNyAuNC00MC42IDAtNS42LS4zLTYuNi0zLjItNi44LTQtLjQtNC0yLjMtLjctMy40bDE5LjEtLjFjLjMgMCA0LjUgLjUgMSAzLjQgMCAwLS4yIDAtLjIgMC0zLjYgLjMtMy45IDEtNCA0LjYtLjMgNDMuOSAuMSA0MC4yIC40IDQyLjggLjEgLjggLjMgMi4yIDUuMSAyLjEgMi41IDAgMy45IDMuNCAwIDMuNC0xMC40IC4xLTIwLjcgMC0zMS4xIC4xLTEwLjcgMC0xMy41LTYuMi0yNC4yLTIwLjgtMS42LTIuMi04LjMtMi40LTguMi0uNCAuOSAxNi41IDAgMTcuOCA0IDE3LjcgNC44LS4xIDQuNyAzLjYgLjggMy41bC4xIDB6bTI3NS0xMC4xYy0xLjIgNy4xIC4yIDEwLjQtNS4zIDEwLjMtNjEuNS0uNC00Ny44LS4yLTUwLjctLjMtMS4yLS4xLTIuNC0uNC0zLjYtLjctMi41LS42IDEuNS0xLjItLjQtNS42LTEuNC0zLjQtMi44LTYuOC00LjEtMTAuMi0uMS0uNC0uNC0uOC0uNy0xLjFzLS44LS40LTEuMy0uNGMtNC45LS4yLTkuNy0uMi0xNC42IC4xLS4zIDAtLjYgLjItLjkgLjNzLS41IC40LS43IC43Yy0xLjYgMy42LTMuMSA3LjMtNC41IDExLTEuMyAzLjIgNy45IDEuMyAxMi4yIDIuMiAzIC42IDQuNSAzLjcgLjcgMy43bC0yNi40IDBjLTIuOSAwLTMuMS0zLjItLjctMy4yIDEuMiAuMSAyLjQtLjIgMy41LS45czEuOS0xLjUgMi40LTIuNmMxLjUtMyAyLjgtNiA0LjEtOS4xIDE4LjItNDIuMSAxNy4xLTQwLjIgMTguNC00MS42IC4yLS4yIC40LS40IC43LS42cy42LS4yIC44LS4yIC42IC4xIC44IC4yIC41IC4zIC43IC42YzIuOSAzLjMgMTguNCA0NC43IDIzLjYgNTEuOSAyIDIuNyA1LjcgMiA2LjQgMiAzLjYgLjEgNC0xLjEgNC4xLTQuMyAuMS0xLjkgLjEgMS4yIC4xLTQxLjIgMC00LjUtMi40LTMuNy01LjYtNC4zLS4zIDAtMi42LS42LS4xLTMuMSAuMi0uMi0uOS0uMiAyMS43LS4yIDIuMyAwIDUuMyAyLjgtMS4yIDMuNC0uNCAwLS43IDAtMS4xIC4ycy0uNiAuMy0uOSAuNi0uNCAuNi0uNiAuOS0uMiAuNy0uMSAxLjFjLS4xIDEuNi0uMiAzOC45IC4zIDQxLjIgLjIgLjcgLjYgMS40IDEuMiAxLjhzMS4zIC43IDIuMSAuNmMxMy4zIC40IDE0LjkgLjQgMTYtMy40IDEuNy01LjggNC4xLTIuNSAzLjctLjJsMCAuMXpNMzE4LjYgMjgzLjZjLTQuMiAwLTQuNC0zLjQtLjYtMy40IDM1LjktLjIgMjguMSAuNCAzNy4yLS42IDEuNy0uMiAyLjQgLjIgMi4zIDEuOS0uMyAzLjQtLjYgNi44LTEgMTAuMi0uMiAyLjItMy4yIDIuNi0zLjQtLjItLjQtNS4zLTIuMi00LjUtMTUuNi01LjEtMS42LS4xLTEuNiAwLTEuNiAxLjVsMCAxNi4xYzAgMS43IDAgMS42IDEuNiAxLjUgMy4xLS4yIDEwLjMgLjMgMTUuNy0xLjUgLjUtLjIgMy4zLTEuOCAzLjEgMS44IDAgLjItLjggMTAuNC0xLjIgMTEuNC0uNSAxLjMtMS45IDEuNS0yLjYgLjMtMS4yLTIgMC01LjEtMy43LTUuMy0xNS40LS45LTEyLjktMi41LTEyLjkgNiAwIDEyLjMtLjggMTYuMSAzLjkgMTYuMiAxNi42IC41IDE0LjQgMCAxNi40LTUuNyAuOC0yLjQgMy41LTEuOCAzLjIgLjYtLjQgMy4yLS44IDYuNC0xLjIgOS42IDAgLjQtLjIgMi40LTQuNyAyLjQtMzcuMi0uMS0zNC41LS4yLTM1LjItLjMtMi43LS41LTIuMi0zIC4yLTMuNCAxLjEtLjIgNCAuNSA0LjItMi42IDIuNC01Ni4yLS4xLTUxLjMtMy45LTUxLjNsMCAwem0tLjQtMTA5LjVjMi41IC42IDMuMSAxLjggMyA0LjYtLjMgNS4zLS4zIDktLjYgOS43LS43IDIuMi0zLjEgMi4xLTMuMy0uMy0uNC00LjgtMy03LjgtNy42LTkuMS0yNi4zLTcuNy0zMi44IDE1LjUtMjcuMiAzMC4yIDUuOSAxNS40IDIyIDE1LjkgMjguOSAxMy44IDUuOS0xLjkgNS45LTYuNSA2LjktNy42IDEuMi0xLjMgMi4yLTEuOCAzLjEgMS4xIDAgLjEgLjYgMTEuOS02IDEyLjctMS42IC4yLTE5LjQgMy43LTMyLjctMy40LTIxLTExLjItMTYuNy0zNS41LTYuOS00NS4zIDE0LTE0LjEgMzkuOS03LjEgNDIuMy02LjVsMCAwek0yODkuOCAyODAuMWMzLjMgMCAzLjcgMyAuMiAzLjQtMi42IC4zLTUtLjQtNSA1LjUgMCAyLS4yIDI5IC40IDQxLjQgLjEgMi4zIDEuMiAzLjUgMy40IDMuNyAyMiAxLjIgMTUtMS43IDE4LjgtNi4zIDEuOC0yLjIgMi44IC44IDIuOCAxLjEgLjMgMTMuNi00IDEyLjQtNS4yIDEyLjRsLTM4LjItLjJjLTEuOS0uMi0yLjEtMy0uNC0zLjQgMi0uNSA0LjkgLjQgNS4xLTIuOCAxLTE1LjkgLjYtNDQuNiAuMy00Ny44LS4zLTMuOC0yLjgtMy4zLTUuNy0zLjctMi41LS40LTItMy4yIC4zLTMuMiAxLjQgMCAxOCAwIDIzLjEgMHptLTMxLjYtNTcuOGMuMSA0LjEgMi45IDMuNSA2IDMuNiAyLjYgLjEgMi41IDMuNC0uMSAzLjQtNi41IDAtMTMuNyAwLTIxLjYtLjEtMy44IDAtMy40LTMuNCAwLTMuNCA0LjUgMCAzLjIgMS42IDMuNC00NS41IDAtNS4xLTMuMy0zLjUtNC43LTQuMi0yLjYtMS4yLTEuNC0zLjEgLjQtMy4yIDEuMyAwIDIwLjItLjQgMjEuMiAuMnMxLjkgMS42LS40IDIuOWMtMSAuNS0zLjktLjMtNC4yIDIuNSAwIC4yLS44IDEuNi0uMSA0My44bDAgMHpNMjIxLjMgNDk2LjZjLjUgLjMgMSAuNSAxLjYgLjVzMS4xLS4yIDEuNi0uNWMxNy05LjggMTgyLTEwMy42IDE5Ny40LTExMi41LS4xLS40IDExLjMtLjItMTgxLjUtLjMtMS4yIDAtMS42IC40LTEuNSAxLjYgMCAuMSAxLjMgNDQuNSAxLjIgNTAuNC0uMSAyLjYtLjYgNS4yLTEuNCA3LjctLjYgMS44IC40LS41LTEzLjUgMzIuMi0uNyAxLjctMSAyLjItMi0uMS00LjItMTAuMy04LjMtMjAuNy0xMi42LTMxLTEuNS0zLjQtMi4yLTcuMS0yLTEwLjggLjItMi41IC44LTE2LjEgMS41LTQ4IDAtMS45IDAtMi0yLTJsLTE4MyAwYzIuNiAxLjYgMTc4LjMgMTAyLjYgMTk2IDExMi44bC4xIDB6TTEzMC40IDMwNy45YzAgMi40IC40IDIuOCAyLjggMyAxMS41IDEuMiAyMSAzLjcgMjUuNi03LjMgNi0xNC41IDIuNy0zNC40LTEyLjUtMzguOC0yLS42LTE2LTIuOC0xNS45IDEuNSAwIDggMCAxMS42IDAgNDEuNnptMTA1LjgtMTVjMCAyLjEgMS4xIDM4LjcgMS4xIDM5LjEgLjMgOS45LTI1LjYgNS44LTI1LjItMi42IC4xLTIgMS40LTM3LjQgMS4xLTM5LjQtMTQuMSA3LjQtMTQuNCA0MC4yIDYuNCA0OC44IDQgMS43IDguNCAxLjkgMTIuNSAuNnM3LjYtNCA5LjktNy43YzQuOS03LjggNi44LTI5LjUtNS40LTM5LS4xIC4xLS4yIC4xLS40IC4xbDAgMHptLTEyLjMtMTk4Yy05LjggMC05LjcgMTQuOC0uMSAxNC45czEwLjEtMTQuOSAuMS0xNC45bDAgMHpNMTQzLjcgMTk4LjZjMCAxLjggLjQgMi40IDIuMiAyLjYgMTMuNiAxLjQgMTIuNS0xMSAxMi4yLTEzLjQtMS43LTExLjItMTQuNC0xMC4yLTE0LjQtNy44IDAgNC41IDAgMTMuNyAwIDE4LjZ6TTM1NiAyMDVsLTYuMS0xNS44Yy0yLjIgNS41LTQuMiAxMC42LTYuMiAxNS44bDEyLjMgMHoiXX0sRTR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0ZWFtLXN5bWJvbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNmNiIsIk0yNzMuNSAxNzcuNWE2MSA2MSAwIDEgMSAxMjIgMCA2MSA2MSAwIDEgMSAtMTIyIDB6bTE3NC41IC4yYzAgNjMtNTEgMTEzLjgtMTEzLjcgMTEzLjhMMjI1IDM3MS4zYy00IDQzLTQwLjUgNzYuOC04NC41IDc2LjgtNDAuNSAwLTc0LjctMjguOC04My02N0wwIDM1OCAwIDI1MC43IDk3LjIgMjkwYzE1LjEtOS4yIDMyLjItMTMuMyA1Mi0xMS41bDcxLTEwMS43QzIyMC43IDExNC41IDI3MS43IDY0IDMzNC4yIDY0IDM5NyA2NCA0NDggMTE1IDQ0OCAxNzcuN3pNMjAzIDM2M2MwLTM0LjctMjcuOC02Mi41LTYyLjUtNjIuNS00LjUgMC05IC41LTEzLjUgMS41bDI2IDEwLjVjMjUuNSAxMC4yIDM4IDM5IDI3LjcgNjQuNS0xMC4yIDI1LjUtMzkuMiAzOC02NC43IDI3LjUtMTAuMi00LTIwLjUtOC4zLTMwLjctMTIuMiAxMC41IDE5LjcgMzEuMiAzMy4yIDU1LjIgMzMuMiAzNC43IDAgNjIuNS0yNy44IDYyLjUtNjIuNXpNNDEwLjUgMTc3LjdhNzYuNCA3Ni40IDAgMSAwIC0xNTIuOCAwIDc2LjQgNzYuNCAwIDEgMCAxNTIuOCAweiJdfSxJNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFpbGNoaW1wIixpY29uOls0NDgsNTEyLFtdLCJmNTllIiwiTTMzMSAyNDMuNWMzLjEtLjQgNi4yLS40IDkuMyAwIDEuNy0zLjggMi0xMC40IC41LTE3LjYtMi4yLTEwLjctNS4zLTE3LjEtMTEuNS0xNi4xcy02LjUgOC43LTQuMiAxOS40YzEuMyA2IDMuNSAxMS4xIDYgMTQuM2wwIDB6TTI3Ny40IDI1MmM0LjUgMiA3LjIgMy4zIDguMyAyLjEgMS45LTEuOS0zLjUtOS40LTEyLjEtMTMuMS01LTIuMS0xMC40LTIuOC0xNS44LTIuMnMtMTAuNSAyLjctMTQuOCA1LjhjLTMgMi4yLTUuOCA1LjItNS40IDcuMSAuOSAzLjcgMTAtMi43IDIyLjYtMy41IDctLjQgMTIuOCAxLjggMTcuMyAzLjdsMCAwem0tOSA1LjFjLTkuMSAxLjQtMTUgNi41LTEzLjUgMTAuMSAuOSAuMyAxLjIgLjggNS4yLS44IDYtMi4zIDEyLjQtMi45IDE4LjctMS45IDIuOSAuMyA0LjMgLjUgNC45LS41IDEuNS0yLjItNS43LTgtMTUuNC02LjlsMCAwem01NC4yIDE3LjFjMy40LTYuOS0xMC45LTEzLjktMTQuMy03czEwLjkgMTMuOSAxNC4zIDdsMCAwem0xNS43LTIwLjVjLTcuNy0uMS04IDE1LjgtLjMgMTUuOXM4LTE1LjggLjMtMTZsMCAwek0xMTkuNSAzMzIuN2MtMS4zIC4zLTYgMS41LTguNS0yLjMtNS4yLTggMTEuMS0yMC40IDMtMzUuOC05LjEtMTcuNS0yNy44LTEzLjUtMzUtNS41LTguNyA5LjYtOC43IDIzLjUtNSAyNC4xIDQuMyAuNiA0LjEtNi41IDcuNC0xMS42IC45LTEuNCAyLjEtMi42IDMuNS0zLjZzMy0xLjYgNC42LTIgMy40LS40IDUgMCAzLjMgMSA0LjcgMS45YzExLjYgNy42IDEuNCAxNy44IDIuMyAyOC42IDEuNCAxNi43IDE4LjQgMTYuNCAyMS42IDkgLjItLjQgLjMtLjggLjMtMS4ycy0uMi0uOC0uNS0xLjFjMCAuOSAuNy0xLjMtMy40LS40bDAgMHptMjk5LjctMTcuMWMtMy4zLTExLjctMi42LTkuMi02LjgtMjAuNSAyLjQtMy43IDE1LjMtMjQtMy4xLTQzLjMtMTAuNC0xMC45LTMzLjktMTYuNS00MS4xLTE4LjUtMS41LTExLjQgNC42LTU4LjctMjEuNS04MyAyMC44LTIxLjYgMzMuOC00NS4zIDMzLjctNjUuNy0uMS0zOS4yLTQ4LjItNTEtMTA3LjQtMjYuNWwtMTIuNSA1LjNjLS4xIDAtMjIuNy0yMi4zLTIzLjEtMjIuNi02Ny41LTU4LjktMjc4LjggMTc1LjktMjExLjMgMjMyLjlsMTQuOCAxMi41Yy00IDEwLjctNS40IDIyLjItNC4xIDMzLjUgMy40IDMzLjQgMzYgNjAuNCA2Ny41IDYwLjQgNTcuNyAxMzMuMSAyNjcuOSAxMzMuMyAzMjIuMyAzIDEuNy00LjUgOS4xLTI0LjYgOS4xLTQyLjRzLTEwLjEtMjUuMy0xNi41LTI1LjNsMCAwem0tMzE2IDQ4LjJjLTIyLjgtLjYtNDcuNS0yMS4xLTQ5LjktNDUuNS02LjItNjEuMyA3NC4zLTc1LjMgODQtMTIuMyA0LjUgMjkuNi00LjcgNTguNS0zNC4xIDU3LjhsMCAwek04NC43IDI0OS42Yy0xNS4yIDMtMjguNSAxMS41LTM2LjcgMjMuNS00LjktNC4xLTE0LTEyLTE1LjYtMTUtMTMtMjQuOCAxNC4yLTczIDMzLjMtMTAwLjIgNDcuMS02Ny4yIDEyMC45LTExOC4xIDE1NS0xMDguOSA1LjUgMS42IDIzLjkgMjIuOSAyMy45IDIyLjlzLTM0LjEgMTguOS02NS44IDQ1LjNDMTM2LjIgMTUwIDEwNCAxOTcuNyA4NC43IDI0OS42ek0zMjMuNiAzNTAuN3MtMzUuNyA1LjMtNjkuNS03LjFjNi4yLTIwLjIgMjcgNi4xIDk2LjQtMTMuOCAxNS4zLTQuNCAzNS40LTEzIDUxLTI1LjQgMy40IDcuOCA1LjggMTUuOSA3LjEgMjQuMyAzLjctLjcgMTQuMi0uNSAxMS40IDE4LjEtMy4zIDE5LjktMTEuNyAzNi0yNS45IDUwLjgtOC45IDkuNi0xOS40IDE3LjUtMzEuMiAyMy4zLTYuNSAzLjQtMTMuMyA2LjMtMjAuMyA4LjYtNTMuNSAxNy41LTEwOC4zLTEuNy0xMjYtNDMtMS40LTMuMS0yLjYtNi40LTMuNi05LjctNy41LTI3LjItMS4xLTU5LjggMTguOC04MC40IDEuMi0xLjMgMi41LTIuOSAyLjUtNC44LS4yLTEuNy0uOC0zLjMtMS45LTQuNS03LTEwLjEtMzEuMi0yNy40LTI2LjMtNjAuOCAzLjUtMjQgMjQuNS00MC45IDQ0LjEtMzkuOWw1IC4zYzguNSAuNSAxNS45IDEuNiAyMi45IDEuOSAxMS43IC41IDIyLjItMS4yIDM0LjYtMTEuNiA0LjItMy41IDcuNi02LjUgMTMuMy03LjUgMi4zLS42IDQuNy0uNyA3LS4zczQuNiAxLjIgNi42IDIuNWMxMCA2LjYgMTEuNCAyMi43IDExLjkgMzQuNSAuMyA2LjcgMS4xIDIzIDEuNCAyNy42IC42IDEwLjcgMy40IDEyLjIgOS4xIDE0IDMuMiAxIDYuMiAxLjggMTAuNSAzLjEgMTMuMiAzLjcgMjEgNy41IDI2IDEyLjMgMi41IDIuNSA0LjIgNS44IDQuNyA5LjMgMS42IDExLjQtOC44IDI1LjQtMzYuMyAzOC4yLTQ2LjcgMjEuNy05My43IDE0LjQtMTAwLjUgMTMuNy0yMC4yLTIuNy0zMS42IDIzLjMtMTkuNSA0MS4xIDIyLjYgMzMuNCAxMjIuNCAyMCAxNTEuNC0yMS40IC43LTEgLjEtMS42LS43LTEtNDEuOCAyOC42LTk3LjEgMzguMi0xMjguNSAyNi00LjgtMS44LTE0LjctNi40LTE1LjktMTYuNyA0My42IDEzLjUgNzEgLjcgNzEgLjdzMi0yLjgtLjYtMi41ek0xNzEuNyAxNTcuNWMxNi43LTE5LjQgMzcuNC0zNi4yIDU1LjgtNDUuNiAuMS0uMSAuMy0uMSAuNS0uMXMuMyAuMSAuNCAuMiAuMiAuMyAuMiAuNCAwIC4zLS4xIC41Yy0xLjUgMi43LTQuMyA4LjMtNS4yIDEyLjcgMCAuMSAwIC4zIDAgLjRzLjIgLjMgLjMgLjQgLjMgLjEgLjQgLjEgLjMgMCAuNC0uMWMxMS41LTcuOCAzMS41LTE2LjIgNDktMTcuMyAuMiAwIC4zIDAgLjUgLjFzLjIgLjIgLjMgLjQgLjEgLjMgMCAuNS0uMSAuMy0uMyAuNGMtMi45IDIuMi01LjUgNC44LTcuNyA3LjctLjEgLjEtLjEgLjItLjEgLjRzMCAuMyAuMSAuNCAuMiAuMiAuMyAuMyAuMiAuMSAuNCAuMWMxMi4zIC4xIDI5LjcgNC40IDQxIDEwLjcgLjggLjQgLjIgMS45LS42IDEuNy02OS41LTE1LjktMTIzLjEgMTguNS0xMzQuNSAyNi44LS4yIC4xLS4zIC4xLS41IC4xcy0uMy0uMS0uNS0uMi0uMi0uMy0uMi0uNSAuMS0uNCAuMi0uNWwtLjEgMHoiXX0sUDR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imx1bW9uIixpY29uOls2NDAsNTEyLFtdLCJlN2UyIiwiTTQ1Mi41IDIyMy41YzkuOCAwIDE2LjUgNi4zIDE2LjUgMTYuNmwwIDMxLjhjMCAxMC4zLTYuNiAxNi42LTE2LjYgMTYuNmwtNTYuMiAwYy05LjggMC0xNi41LTYuMy0xNi41LTE2LjZsMC0zMS44YzAtMTAuMyA2LjctMTYuNiAxNi41LTE2LjZsNTYuMyAwem0tMjUuNyAxMy4xYy0xLjUtMi42LTMuMi0yLjYtNC42IDBsLTEwLjcgMTcuNmMtMS43IDIuNC0yLjYgNS4xLTIuNiA4LjIgMCA3LjkgNi45IDE0LjYgMTUuNiAxNC42IDguNSAwIDE1LjYtNi43IDE1LjYtMTQuNiAwLTMtMS01LjgtMi43LTguMmwtMTAuNy0xNy42ek04NS44IDIyMy44YzEgMCAxLjUgLjYgMS41IDEuNWwwIDUwLjMgNjQuNiAwYzEgMCAxLjYgLjYgMS42IDEuNWwwIDkuN2MwIC45LS42IDEuNS0xLjYgMS41bC03OC40IDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTYxLjRjMC0uOSAuNi0xLjUgMS42LTEuNWwxMi4zIDB6bTg4LjMgMGMxIDAgMS41IC42IDEuNSAxLjVsMCA0NWMwIDQgMiA1LjIgNS43IDUuMmw0Ni45IDBjMy44IDAgNS43LTEuMyA1LjctNS4ybDAtNDVjMC0uOSAuNS0xLjUgMS41LTEuNWwxMi4zIDBjMSAwIDEuNiAuNiAxLjYgMS41bDAgNDZjMCAxMC41LTUuMyAxNi44LTE3LjYgMTYuOGwtNTQgMGMtMTIuMyAwLTE3LjYtNi4zLTE3LjYtMTYuOGwwLTQ2YzAtLjkgLjYtMS41IDEuNi0xLjVsMTIuMyAwem0xMDguMiAwYzEgMCAxLjYgLjUgMi4yIDEuNGwzMC41IDQ2LjQgMS40IDAgMzAuNS00Ni40Yy42LS45IDEuMi0xLjQgMi4yLTEuNGwxOCAwYzEgMCAxLjUgLjYgMS41IDEuNWwwIDYxLjRjMCAuOS0uNSAxLjUtMS41IDEuNWwtMTIuMyAwYy0xIDAtMS42LS42LTEuNi0xLjVsMC00My44LTEuMSAwLTI4LjcgNDMuOGMtLjYgLjktMS4zIDEuNS0yLjQgMS41bC0xMC43IDBjLTEgMC0xLjctLjYtMi4zLTEuNWwtMjguNy00My44LTEuMSAwIDAgNDMuOGMwIC45LS41IDEuNS0xLjUgMS41bC0xMi4zIDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTYxLjRjMC0uOSAuNi0xLjUgMS42LTEuNWwxNy45IDB6bTIxNC40IDBjLjkgMCAxLjMgLjQgMi4yIDEuMWw1Mi43IDQ2LjMgMS4zIDAgMC00NmMwLS45IC42LTEuNSAxLjYtMS41bDEyLjMgMGMxIDAgMS42IC42IDEuNiAxLjVsMCA2MS40YzAgLjktLjYgMS41LTEuNiAxLjVsLTE0LjQgMGMtMSAwLTEuNC0uNC0yLjMtMS4xbC01Mi42LTQ2LjMtMS40IDAgMCA0NmMwIC45LS41IDEuNS0xLjUgMS41bC0xMi4zIDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTYxLjRjMC0uOSAuNi0xLjUgMS42LTEuNWwxNC40IDB6TTMyMCAxMTQuMWM4Ny45IDAgMTY3LjcgMTUuNyAyMjUuNSA0MWwyLjcgMS4yQzU4Ny4xIDE3My44IDY0MCAyMDYuNSA2NDAgMjU2cy01Mi45IDgyLjItOTEuOCA5OS42bC0yLjcgMS4yYy01Ny44IDI1LjQtMTM3LjYgNDEtMjI1LjUgNDEtNzYuMiAwLTE1NS4xLTEwLjUtMjI1LjUtNDEtMzkuNi0xNy40LTk0LjUtNTAuMy05NC41LTEwMC44czU0LjktODMuNSA5NC41LTEwMC44YzcwLjQtMzAuNSAxNDkuMy00MSAyMjUuNS00MXptLTg4LjkgMjI5YzIwLjMgMjkgNTIuOCA0OS42IDg4LjkgNDkuNiAzNi4yIDAgNjguNy0yMC42IDg5LTQ5LjdsLTE3Ny45IC4xem0tOTYuMSAwYzQzLjMgMjkuNyA5Ni43IDQzLjUgMTQ4LjQgNDgtMjQuMi05LjEtNDQuNC0yNi43LTU4LjYtNDguMWwtODkuOSAwem0yODAuMy0uMWMtMTQuMiAyMS40LTM0LjQgMzkuMS01OC42IDQ4LjEgNTEuOC00LjUgMTA1LjMtMTguMyAxNDguNi00OC4ybC05MCAwem0tMzM3LjQgLjFjNDQuMSAyMy4xIDkzLjcgMzUuNCAxNDIuNyA0Mi42LTMzLjQtOC42LTY2LjUtMjEuOS05NC40LTQyLjZsLTQ4LjMgMHptNDM2LjItLjJjLTI3LjkgMjAuOC02MS4xIDM0LjItOTQuNiA0Mi44IDQ3LjMtNi45IDg5LjYtMTguNSAxMjMuOS0zMy42bDEuNy0uOGM2LjEtMi43IDExLjktNS41IDE3LjQtOC40bC00OC41IDB6TTUyMCAxNzMuNmMxMC43IDguNyAxOS44IDE4LjEgMjcgMjguMiAuNCAuNiAuNSAxLjMgLjEgMnMtMSAxLTEuNyAxbC0xLjYgMGMtLjYgMC0xLjItLjMtMS41LS44LTcuOS0xMC45LTE4LjItMjEuMS0zMC42LTMwLjRsLTkzLjUgMGM1LjQgOC44IDkuOSAxOC41IDEzLjQgMjguNiAuMiAuNiAuMSAxLjItLjIgMS43cy0uOSAuOC0xLjYgLjhsLTEuNCAwYy0uOCAwLTEuNS0uNS0xLjgtMS4zLTMuOC0xMC43LTguNy0yMC44LTE0LjUtMjkuOWwtMTg0LjMgLjFjLTUuOCA5LjEtMTAuNyAxOS4xLTE0LjQgMjkuOC0uMyAuOC0xIDEuMy0xLjggMS4zbC0xLjQgMGMtLjYgMC0xLjItLjMtMS42LS44cy0uNS0xLjEtLjItMS43YzMuNS0xMC4yIDgtMTkuNyAxMy40LTI4LjZsLTkzLjYgMGMtMTIuMyA5LjMtMjIuNiAxOS40LTMwLjQgMzAuMy0uNCAuNS0uOSAuOC0xLjUgLjhsLTEuNiAwYy0uNyAwLTEuNC0uNC0xLjctMXMtLjMtMS40IC4xLTJjNy42LTEwLjUgMTYuNy0xOS45IDI2LjgtMjhsLTUxIDBjLTI4LjkgMTYuNi02MiA0My4zLTYzLjUgNzkuN2w0NC43IDBjLjUgMCAxIC4yIDEuMyAuNnMuNiAuOCAuNiAxLjNsMCAxLjNjMCAxLjEtLjkgMS45LTEuOSAxLjlsLTQ0LjcgMEM2LjggMjk1IDQwIDMyMS43IDY5IDMzOC4zbDUwLjkgMGMtMTAuMy04LjQtMTkuMS0xNy40LTI2LjEtMjdsLS44LTEuMWMtLjQtLjYtLjUtMS4zLS4xLTJzMS0xIDEuNy0xbDEuNiAwIC4yIDBjLjUgLjEgMSAuMyAxLjMgLjggNy45IDEwLjkgMTguMSAyMSAzMC41IDMwLjNsOTMuNiAwYy01LjMtOC44LTkuOC0xOC40LTEzLjQtMjguNS0uMi0uNi0uMS0xLjIgLjItMS43cy45LS44IDEuNi0uOGwxLjQgMCAuMiAwYy43IC4xIDEuNCAuNiAxLjcgMS4zIDMuOCAxMC43IDguNiAyMC43IDE0LjQgMjkuOGwxODQuNS0uMWM1LjgtOS4xIDEwLjYtMTkuMSAxNC40LTI5LjdsLjEtLjFjLjMtLjcgMS0xLjEgMS43LTEuMWwxLjQgMGMuNiAwIDEuMiAuMyAxLjYgLjhzLjUgMS4yIC4yIDEuN2MtMy41IDEwLjEtOCAxOS43LTEzLjMgMjguNWw5My43IDBjMTIuMy05LjMgMjIuNS0xOS40IDMwLjMtMzAuMmwuMS0uMmMuNC0uNCAuOS0uNiAxLjQtLjZsMS42IDBjLjcgMCAxLjQgLjQgMS43IDFzLjMgMS40LS4xIDJjLTcuMSAxMC0xNi4xIDE5LjMtMjYuNyAyNy45bDUxLjEgMGMyOC44LTE2LjYgNjEuOC00My4zIDYzLjQtNzkuNmwtNDQuNyAwYy0xIDAtMS45LS45LTEuOS0xLjlsMC0xLjNjMC0xLjEgLjktMS45IDEuOS0xLjlsNDQuNyAwYy0xLjYtMzYuNS0zNC45LTYzLjMtNjMuOS03OS45bC01MC45IDB6TTIyMC41IDEyNi4yYy00OS4xIDcuMS05OC43IDE5LjUtMTQzIDQyLjdsNDguNCAwYzI3LjktMjAuOCA2MS0zNC4xIDk0LjUtNDIuN3ptNjIuOC01LjRjLTUxLjggNC41LTEwNS4yIDE4LjMtMTQ4LjYgNDguMWw5MCAwYzE0LjItMjEuNCAzNC40LTM5IDU4LjYtNDguMXptMzYuNi0xLjZjLTM2LjIgMC02OC43IDIwLjYtODkgNDkuN2wxNzcuOS0uMWMtMjAuMy0yOS4xLTUyLjctNDkuNi04OC45LTQ5LjZ6bTM2LjYgMS42YzI0LjIgOS4xIDQ0LjQgMjYuNiA1OC41IDQ4bDg5LjggMGMtNDMuMy0yOS43LTk2LjYtNDMuNS0xNDguMy00OHptNjIuOCA1LjRjMzMuNCA4LjUgNjYuNCAyMS45IDk0LjMgNDIuNWw0OC4zIDBjLTQ0LjEtMjMuMS05My42LTM1LjQtMTQyLjYtNDIuNXoiXX0sTjR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im51dHJpdGlvbml4IixpY29uOls0NDgsNTEyLFtdLCJmM2Q2IiwiTTExMiA4LjFTMjQ1LjQtLjEgMjMzIDExMi41YzAgMCAxOS4xLTc0LjkgMTAzLTQwLjYgMCAwLTE3LjcgNzQtODggNTYgMCAwIDE0LjYtNTQuNiA2Ni4xLTU2LjYgMCAwLTM5LjktMTAuMy04Mi4xIDQ4LjggMCAwLTE5LjgtOTQuNS05My42LTk5LjcgMCAwIDc1LjIgMTkuNCA3Ny42IDEwNy41IDAgLjEtMTA2LjQgNy0xMDQtMTE5Ljh6TTQyNCAzMjMuN2MwIDQ4LjUtOS43IDk1LjMtMzIgMTMyLjMtNDIuMiAzMC45LTEwNSA0OC0xNjggNDgtNjIuOSAwLTEyNS44LTE3LjEtMTY4LTQ4LTIyLjMtMzctMzItODMuOC0zMi0xMzIuMyAwLTQ4LjQgMTcuNy05NC43IDQwLTEzMS43IDQyLjItMzAuOSA5Ny4xLTQ4LjYgMTYwLTQ4LjYgNjMgMCAxMTcuOCAxNy42IDE2MCA0OC42IDIyLjMgMzcgNDAgODMuMyA0MCAxMzEuN3pNMTQ0IDQyOGEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6TTIxNiA0MjhhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwek0yODggNDI4YTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHpNMzYwIDQyOGEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6TTM4NCAyNTZjLTQuOC0yMi4zLTcuNC0zNi45LTE2LTU2LTM4LjgtMTkuOS05MC41LTMyLTE0NC0zMlMxMTguOCAxODAuMSA4MCAyMDBjLTguOCAxOS41LTExLjIgMzMuOS0xNiA1NiA0Mi4yLTcuOSA5OC43LTE0LjggMTYwLTE0LjhzMTE3LjggNi45IDE2MCAxNC44eiJdfSxGNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzIixpY29uOls1MTIsNTEyLFtdLCJmNGYxIiwiTTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3ptMTA3IDIwNS42Yy00LjcgMC05IDIuOC0xMC43IDcuMmwtNCA5LjUtMTEtOTIuOGMtMS43LTEzLjktMjItMTMuNC0yMy4xIC40bC00LjMgNTEuNC01LjItNjguOGMtMS4xLTE0LjMtMjIuMS0xNC4yLTIzLjIgMGwtMy41IDQ0LjktNS45LTk0LjNjLS45LTE0LjUtMjIuMy0xNC40LTIzLjIgMGwtNS4xIDgzLjctNC4zLTY2LjNjLS45LTE0LjQtMjIuMi0xNC40LTIzLjIgMGwtNS4zIDgwLjItNC4xLTU3Yy0xLjEtMTQuMy0yMi0xNC4zLTIzLjItLjJsLTcuNyA4OS44LTEuOC0xMi4yYy0xLjctMTEuNC0xNy4xLTEzLjYtMjItMy4zbC0xMy4yIDI3LjctNDMuOSAwIDAgMjMuMiA1MS4zIDBjNC40IDAgOC40LTIuNSAxMC40LTYuNGwxMC43IDczLjFjMiAxMy41IDIxLjkgMTMgMjMuMS0uN2wzLjgtNDMuNiA1LjcgNzguM2MxLjEgMTQuNCAyMi4zIDE0LjIgMjMuMi0uMWw0LjYtNzAuNCA0LjggNzMuM2MuOSAxNC40IDIyLjMgMTQuNCAyMy4yLS4xbDQuOS04MC41IDQuNSA3MS44Yy45IDE0LjMgMjIuMSAxNC41IDIzLjIgLjJsNC42LTU4LjYgNC45IDY0LjRjMS4xIDE0LjMgMjIgMTQuMiAyMy4xIC4xbDYuOC04MyAyLjcgMjIuM2MxLjQgMTEuOCAxNy43IDE0LjEgMjIuMyAzLjFsMTgtNDMuNCA1MC41IDAgMC0yMy4yLTU4LjQgLjN6bS03OCA1LjJsLTIxLjkgMCAwIDIxLjljMCA0LjEtMy4zIDcuNS03LjUgNy41LTQuMSAwLTcuNS0zLjMtNy41LTcuNWwwLTIxLjktMjEuOSAwYy00LjEgMC03LjUtMy4zLTcuNS03LjUgMC00LjEgMy40LTcuNSA3LjUtNy41bDIxLjkgMCAwLTIxLjljMC00LjEgMy40LTcuNSA3LjUtNy41czcuNSAzLjMgNy41IDcuNWwwIDIxLjkgMjEuOSAwYzQuMSAwIDcuNSAzLjMgNy41IDcuNSAwIDQuMS0zLjQgNy41LTcuNSA3LjV6Il19LE80dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWRoYXQiLGljb246WzUxMiw1MTIsW10sImY3YmMiLCJNMzQxLjUgMjg1LjZjMzMuNyAwIDgyLjMtNi45IDgyLjMtNDcgLjItNi43IC45LTEuOC0yMC45LTk2LjItNC42LTE5LjEtOC43LTI3LjgtNDIuMy00NC42LTI2LjEtMTMuMy04Mi45LTM1LjQtOTkuNy0zNS40LTE1LjcgMC0yMC4yIDIwLjItMzguOSAyMC4yLTE4IDAtMzEuMy0xNS4xLTQ4LjEtMTUuMS0xNi4xIDAtMjYuNyAxMS0zNC44IDMzLjYtMjcuNSA3Ny42LTI2LjMgNzQuMy0yNi4xIDc4LjMgMCAyNC44IDk3LjYgMTA2LjEgMjI4LjUgMTA2LjF6TTQyOSAyNTQuOGM0LjcgMjIgNC43IDI0LjMgNC43IDI3LjIgMCAzNy43LTQyLjMgNTguNi05OCA1OC42LTEyNS43IC4xLTIzNS45LTczLjYtMjM1LjktMTIyLjMgMC02LjggMS40LTEzLjUgNC4xLTE5LjctNDUuMiAyLjMtMTAzLjggMTAuMy0xMDMuOCA2MiAwIDg0LjcgMjAwLjYgMTg5IDM1OS41IDE4OSAxMjEuOCAwIDE1Mi41LTU1LjEgMTUyLjUtOTguNiAwLTM0LjItMjkuNi03My04Mi45LTk2LjJ6Il19LEcxZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtcGllZC1waXBlciIsaWNvbjpbNDQ4LDUxMixbInBpZWQtcGlwZXItc3F1YXJlIl0sImUwMWUiLCJNMzIuMSA0MTlsLTMyIDYwLjIgLjgtMzI4Qy45IDg1LjMgNTQuMSAzMiAxMjAuMSAzMmwzMjcuMiAwQzM1NC4zIDYwLjkgMjU3LjQgMTI2LjIgMTkzLjQgMjAwLjYgMTIyLjggMjgyIDgyLjcgMzM4IDMyLjEgNDE5em00MTYtMzg3UzMwNS4zIDk4LjggMjYxLjcgMTk5LjFjLTIzLjIgNTMuNi0yOC45IDExOC4xLTcxIDE1OC42LTI4LjkgMjcuOC02OS44IDM4LjItMTA1LjMgNTYuMy0yMy4yIDEyLTY2LjQgNDAuNS04NC45IDY2bDMyOC40IDBjNjYgMCAxMTkuMy01My4zIDExOS4zLTExOS4yLS4xIDAtLjEtMzI4LjgtLjEtMzI4Ljh6Il19LFI0dD1HMWUsQjR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndoYXRzYXBwIixpY29uOls0NDgsNTEyLFtdLCJmMjMyIiwiTTM4MC45IDk3LjFjLTQxLjktNDItOTcuNy02NS4xLTE1Ny02NS4xLTEyMi40IDAtMjIyIDk5LjYtMjIyIDIyMiAwIDM5LjEgMTAuMiA3Ny4zIDI5LjYgMTExTDAgNDgwIDExNy43IDQ0OS4xYzMyLjQgMTcuNyA2OC45IDI3IDEwNi4xIDI3bC4xIDBjMTIyLjMgMCAyMjQuMS05OS42IDIyNC4xLTIyMiAwLTU5LjMtMjUuMi0xMTUtNjcuMS0xNTd6bS0xNTcgMzQxLjZjLTMzLjIgMC02NS43LTguOS05NC0yNS43bC02LjctNC02OS44IDE4LjMgMTguNi02OC4xLTQuNC03Yy0xOC41LTI5LjQtMjguMi02My4zLTI4LjItOTguMiAwLTEwMS43IDgyLjgtMTg0LjUgMTg0LjYtMTg0LjUgNDkuMyAwIDk1LjYgMTkuMiAxMzAuNCA1NC4xczU2LjIgODEuMiA1Ni4xIDEzMC41YzAgMTAxLjgtODQuOSAxODQuNi0xODYuNiAxODQuNnpNMzI1LjEgMzAwLjVjLTUuNS0yLjgtMzIuOC0xNi4yLTM3LjktMTgtNS4xLTEuOS04LjgtMi44LTEyLjUgMi44cy0xNC4zIDE4LTE3LjYgMjEuOGMtMy4yIDMuNy02LjUgNC4yLTEyIDEuNC0zMi42LTE2LjMtNTQtMjkuMS03NS41LTY2LTUuNy05LjggNS43LTkuMSAxNi4zLTMwLjMgMS44LTMuNyAuOS02LjktLjUtOS43cy0xMi41LTMwLjEtMTcuMS00MS4yYy00LjUtMTAuOC05LjEtOS4zLTEyLjUtOS41LTMuMi0uMi02LjktLjItMTAuNi0uMnMtOS43IDEuNC0xNC44IDYuOWMtNS4xIDUuNi0xOS40IDE5LTE5LjQgNDYuM3MxOS45IDUzLjcgMjIuNiA1Ny40YzIuOCAzLjcgMzkuMSA1OS43IDk0LjggODMuOCAzNS4yIDE1LjIgNDkgMTYuNSA2Ni42IDEzLjkgMTAuNy0xLjYgMzIuOC0xMy40IDM3LjQtMjYuNHM0LjYtMjQuMSAzLjItMjYuNGMtMS4zLTIuNS01LTMuOS0xMC41LTYuNnoiXX0sSDR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImltZGIiLGljb246WzQ0OCw1MTIsW10sImYyZDgiLCJNODkuNSAzMjMuNmwtMzUuNiAwIDAtMTM3LjQgMzUuNiAwIDAgMTM3LjR6bTY2LjYtNzMuMWw5LjEtNjQuMyA0Ni4zIDAgMCAxMzcuNC0zMSAwIDAtOTIuNy0xMy40IDkyLjctMjEuMyAwLTEzLTkwLjctLjEgOTAuNy0zMS4yIDAgMC0xMzcuNCA0Ni4xIDBjLjUgOC4zIDIuOCAxOC4xIDQuMyAyOS40bDQuMiAzNC45em02Ny42IDczLjFsMC0xMzcuNCAyNi42IDBjMTcgMCAyNyAuOSAzMyAyLjQgNi4xIDEuNyAxMC43IDQuMiAxMy45IDcuOSAzLjEgMy4zIDUuMSA2LjYgNS44IDEyIC45IDQuNCAxLjQgMTMuMSAxLjQgMjYuMmwwIDQ4LjJjMCAxMi4zLS43IDIwLjUtMS45IDI0LjctMS4xIDQuMS0zLjEgNy40LTYgOS43LTIuOCAyLjQtNi40IDQuMS0xMC43IDUtNC4yIC44LTEwLjYgMS4zLTE5LjEgMS4zbC00MyAwem0zNS41LTExMy45bDAgODkuNGM1LjEgMCA4LjMtMSA5LjQtMi4zIDEuMS0yIDEuOC03LjYgMS44LTE2LjdsMC01My4zYzAtNi4yLS4xLTEwLjItLjctMTItLjMtMS44LTEuMi0zLTIuNi00LjctMS40IDAtNC4xLS40LTcuOS0uNHptNTcuMyAxMTMuOWwwLTEzNy40IDM0LjEgMCAwIDQzLjljMi45LTIuNCA2LjEtNC45IDkuNS02LjYgMy42LTEuNSA4LjgtMi40IDEyLjgtMi40IDQuOCAwIDguOSAuOCAxMi4zIDIuMiAzLjQgMS41IDYgMy41IDggNi4yIDEuNyAyLjYgMi43IDUuMyAzLjEgNy44IC40IDIuNi0uMiA4LS4yIDE2LjJsMCAzOC42YzAgOC4yIC4yIDE0LjMtLjggMTguNC0xLjEgNC0zLjggNy42LTcuOCA5LjYtNC4xIDMuOS04LjkgNS4zLTE0LjYgNS4zLTQgMC05LjItLjktMTIuNy0yLjUtMy41LTEuOC02LjctNC41LTkuNi04bC0yLjEgOC43LTMyIDB6bTQ1LjEtMjAuN2MuNy0xLjggMS02IDEtMTIuNWwwLTM1LjRjMC01LjYtLjMtOS41LTEuMS0xMS4yLS43LTEuOS0zLjctMi43LTUuOC0yLjctMiAwLTMuNCAuOC00LjEgMi4zLS42IDEuNS0xIDUuNC0xIDExLjZsMCAzNi40YzAgNi4xIC40IDEwIDEuMiAxMS42IC42IDEuNyAyLjEgMi41IDQuMSAyLjUgMi4yIDAgNC4yLS44IDUuNy0yLjZ6TTQxOC40IDMyYzE1LjcgMS4yIDI4LjcgMTUuMiAyOC43IDMxLjlsMCAzODQuMmMwIDE2LjQtMTEuOSAzMC40LTI4LjIgMzEtLjMgMC0uNSAuOS0uOCAuOUwyOS45IDQ4MGMtLjMgMC0uNi0uOS0uOC0uMS0xNS43LTEuNC0yNy45LTEzLjgtMjktMzAuMkwwIDYxLjhDMS4xIDQ1LjkgMTMuOCAzMy4xIDMwLjMgMzEuMWwzODcuNCAwYy4yIDAgLjUgLjkgLjcgLjl6TTMwLjMgNDEuM0MxOSA0MiAxMCA1MSA5LjMgNjIuNGwwIDM4Ny4zYy40IDUuNCAyLjcgMTAuNSA2LjQgMTQuMyAzLjggMy45IDguOCA2LjMgMTQuMiA2LjdsMzg4LjIgMGMxMS41LTEgMjAuNi0xMS42IDIwLjYtMjIuNmwwLTM4NC4yYzAtNS43LTIuMS0xMS4zLTYtMTUuNXMtOS4zLTYuOC0xNS03LjJsLTM4Ny40IDB6Il19LHE0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJweXRob24iLGljb246WzQ0OCw1MTIsW10sImYzZTIiLCJNNDM5LjggMjAwLjVjLTcuNy0zMC45LTIyLjMtNTQuMi01My40LTU0LjJsLTQwLjEgMCAwIDQ3LjRjMCAzNi44LTMxLjIgNjcuOC02Ni44IDY3LjhsLTEwNi44IDBjLTI5LjIgMC01My40IDI1LTUzLjQgNTQuM2wwIDEwMS44YzAgMjkgMjUuMiA0NiA1My40IDU0LjMgMzMuOCA5LjkgNjYuMyAxMS43IDEwNi44IDAgMjYuOS03LjggNTMuNC0yMy41IDUzLjQtNTQuM2wwLTQwLjctMTA2LjcgMCAwLTEzLjYgMTYwLjIgMGMzMS4xIDAgNDIuNi0yMS43IDUzLjQtNTQuMiAxMS4yLTMzLjUgMTAuNy02NS43IDAtMTA4LjZ6TTI4Ni4yIDQ0NC43YTIwLjQgMjAuNCAwIDEgMSAwLTQwLjcgMjAuNCAyMC40IDAgMSAxIDAgNDAuN3pNMTY3LjggMjQ4LjFsMTA2LjggMGMyOS43IDAgNTMuNC0yNC41IDUzLjQtNTQuM2wwLTEwMS45YzAtMjktMjQuNC01MC43LTUzLjQtNTUuNi0zNS44LTUuOS03NC43LTUuNi0xMDYuOCAuMS00NS4yIDgtNTMuNCAyNC43LTUzLjQgNTUuNmwwIDQwLjcgMTA2LjkgMCAwIDEzLjYtMTQ3IDBjLTMxLjEgMC01OC4zIDE4LjctNjYuOCA1NC4yLTkuOCA0MC43LTEwLjIgNjYuMSAwIDEwOC42IDcuNiAzMS42IDI1LjcgNTQuMiA1Ni44IDU0LjJsMzYuNyAwIDAtNDguOGMwLTM1LjMgMzAuNS02Ni40IDY2LjgtNjYuNHpNMTYxLjIgNjQuN2EyMC40IDIwLjQgMCAxIDEgMCA0MC44IDIwLjQgMjAuNCAwIDEgMSAwLTQwLjh6Il19LGo0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYXNoLWFwcCIsaWNvbjpbNDQ4LDUxMixbXSwiZTdkNCIsIk00NDAuMyA5Ni45Yy05LjQtMjYuNS0zMC4zLTQ3LjQtNTYuOC01Ny0yNC4xLTcuOS00Ni4zLTcuOS05MS42LTcuOUwxNTYgMzJjLTQ0LjggMC02Ny4yIDAtOTEuMyA3LjUtMjYuNSA5LjYtNDcuNCAzMC41LTU3IDU3LTcuNyAyNC4zLTcuNyA0Ni43LTcuNyA5MS43TDAgMzIzLjhjMCA0NS4yIDAgNjcuNCA3LjUgOTEuNSA5LjYgMjYuNSAzMC41IDQ3LjQgNTcgNTcgMjQuMyA3LjcgNDYuNyA3LjcgOTEuNiA3LjdsMTM1LjcgMGM0NSAwIDY3LjQgMCA5MS42LTcuNyAyNi41LTkuNiA0Ny40LTMwLjUgNTctNTcgNy43LTI0LjMgNy43LTQ2LjcgNy43LTkxLjVsMC0xMzUuNWMwLTQ1IDAtNjcuNC03LjctOTEuNXpNMzIzLjEgMTg1LjRsLTI1LjggMjEuMWMtMi4zIDEuOS01LjUgMS41LTcuMy0uOS0xMy4yLTE2LjItMzMuNy0yNS40LTU2LjEtMjUuNC0yNSAwLTQwLjYgMTAuOS00MC42IDI2LjItLjQgMTIuOCAxMS43IDE5LjYgNDkuMSAyNy43IDQ3LjIgMTAgNjguNyAyOS43IDY4LjcgNjIuNyAwIDQxLjQtMzMuNyA3MS45LTg2LjQgNzUuM2wtNS4xIDI0LjVjLS40IDIuMy0yLjYgNC4xLTUuMSA0LjFsLTQwLjYgMGMtMy40IDAtNS44LTMuMi01LjEtNi40bDYuNC0yNy4zYy0yNi03LjUtNDcuMi0yMi01OS4zLTM5LjctMS41LTIuMy0xLjEtNS4zIDEuMS03bDI4LjItMjJjMi4zLTEuOSA1LjgtMS4zIDcuNSAxLjEgMTQuOSAyMC45IDM4IDMzLjMgNjUuNyAzMy4zIDI1IDAgNDMuOC0xMi4yIDQzLjgtMjkuNyAwLTEzLjQtOS40LTE5LjYtNDEuMi0yNi4yLTU0LjItMTEuNy03NS44LTMxLjgtNzUuOC02NC45IDAtMzguNCAzMi4yLTY3LjIgODAuOS03MWw1LjMtMjUuNGMuNC0yLjMgMi42LTQuMSA1LjEtNC4xbDM5LjkgMGMzLjIgMCA1LjggMyA1LjEgNi4ybC02LjIgMjguNGMyMC45IDYuNCAzOCAxNy45IDQ4LjcgMzIuMiAxLjcgMi4xIDEuMyA1LjMtLjkgN3oiXX0sVjR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpbnRlcmVzdC1wIixpY29uOlszODQsNTEyLFtdLCJmMjMxIiwiTTIwNCA2LjVjLTEwMi42IDAtMjA0IDY4LjQtMjA0IDE3OS4xIDAgNzAuNCAzOS42IDExMC40IDYzLjYgMTEwLjQgOS45IDAgMTUuNi0yNy42IDE1LjYtMzUuNCAwLTkuMy0yMy43LTI5LjEtMjMuNy02Ny44IDAtODAuNCA2MS4yLTEzNy40IDE0MC40LTEzNy40IDY4LjEgMCAxMTguNSAzOC43IDExOC41IDEwOS44IDAgNTMuMS0yMS4zIDE1Mi43LTkwLjMgMTUyLjctMjQuOSAwLTQ2LjItMTgtNDYuMi00My44IDAtMzcuOCAyNi40LTc0LjQgMjYuNC0xMTMuNCAwLTY2LjItOTMuOS01NC4yLTkzLjkgMjUuOCAwIDE2LjggMi4xIDM1LjQgOS42IDUwLjctMTMuOCA1OS40LTQyIDE0Ny45LTQyIDIwOS4xIDAgMTguOSAyLjcgMzcuNSA0LjUgNTYuNCAzLjQgMy44IDEuNyAzLjQgNi45IDEuNSA1MC40LTY5IDQ4LjYtODIuNSA3MS40LTE3Mi44IDEyLjMgMjMuNCA0NC4xIDM2IDY5LjMgMzYgMTA2LjIgMCAxNTMuOS0xMDMuNSAxNTMuOS0xOTYuOCAwLTk5LjMtODUuOC0xNjQuMS0xODAtMTY0LjF6Il19LFU0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3aG1jcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwZCIsIk00NDggMTYxbDAtMjEuMy0yOC41LTguOC0yLjItMTAuNCAyMC4xLTIwLjctMTAuNC0xOS40LTI5IDcuNS03LjItNy41IDcuNS0yOC4yLTE5LjEtMTEuNi0yMS4zIDIxLTEwLjctMy4yLTctMjYuNC0yMi42IDAtNi4yIDI2LjQtMTIuMSAzLjItMTkuNy0yMS0xOS40IDExIDguMSAyNy43LTguMSA4LjQtMjguNS03LjUtMTEgMTkuMSAyMC43IDIxLTIuOSAxMC40LTI4LjUgNy44LS4zIDIxLjcgMjguOCA3LjUgMi40IDEyLjEtMjAuMSAxOS45IDEwLjQgMTguNSAyOS42LTcuNSA3LjIgOC42LTguMSAyNi45IDE5LjkgMTEuNiAxOS40LTIwLjQgMTEuNiAyLjkgNi43IDI4LjUgMjIuNiAuMyA2LjctMjguOCAxMS42LTMuNSAyMC43IDIxLjYgMjAuNC0xMi4xLTguOC0yOCA3LjgtOC4xIDI4LjggOC44IDEwLjMtMjAuMS0yMC45LTE4LjggMi4yLTEyLjEgMjkuMS03ek0zMjguOCA5Mi42YTU2LjggNTYuOCAwIDEgMSAwIDExMy42IDU2LjggNTYuOCAwIDEgMSAwLTExMy42em03Mi4zIDEzMGw0Ni45IDE0LjUgMCAzOS45LTU1LjEgMTMuNC00LjEgMjIuNyAzOC45IDM1LjMtMTkuMiAzNy45LTU0LTE2LjctMTQuNiAxNS4yIDE2LjcgNTIuNS0zOC4zIDIyLjctMzguOS00MC41LTIxLjcgNi42LTEyLjYgNTQtNDIuNC0uNS0xMi42LTUzLjYtMjEuNy01LjYtMzYuNCAzOC40LTM3LjQtMjEuNyAxNS4yLTUwLjUtMTMuNy0xNi4xLTU1LjUgMTQuMS0xOS43LTM0LjggMzcuOS0zNy40LTQuOC0yMi44LTU0LTE0LjEgLjUtNDAuOSA1My41LTE0LjcgNS43LTE5LjctMzguOS0zOS40IDIwLjctMzUuOCA1My42IDE0LjEgMTUuMi0xNS43LTE1LjItNTIgMzYuNC0yMC43IDM2LjggMzkuNCAyMi43LTYuMSAxMS42LTUyIDQyLjQgMCAxMS42IDQ1LjktMjIuNi01LjktNi4zLTEuNy0zLjMgNS43LTExIDE5LjEtMy4zIDUuNiA0LjYgNC42IDE3LjIgMTcuNC0uMyAxLTIzLjggNi41LTYuMiAxLjdjMCAzLjItLjEgOS42LS4zIDE5LjMtNDcuNSAxMC40LTgzLjMgNTIuOC04My4zIDEwMy41IDAgNTguMyA0Ny4zIDEwNS43IDEwNS43IDEwNS43IDUwLjUgMCA5Mi43LTM1LjQgMTAzLjItODIuOCA5LjkgLjEgMTYuNiAuMiAyMC4xIC4zbDEuNi02LjcgNS42LTI0IDEuOS0uNiAxNy4xIDE3LjggNC43IDQuOSA1LjgtMy40IDIwLjQtMTIuMSA1LjgtMy41LTItNi41LTYuOC0yMS4yeiJdfSxXNHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiam9nZXQiLGljb246WzUxMiw1MTIsW10sImYzYjciLCJNMzg2LjEgNDVDMzQ1LjYgMTkuOSAzMDAuNiA4IDI1Ni4yIDggMTczIDggOTEuOCA0OS45IDQ0LjkgMTI1LjktMjcgMjQyLjUgOS4zIDM5NS4yIDEyNS45IDQ2Ny4xczI2OS4zIDM1LjYgMzQxLjItODAuOUM1MzkgMjY5LjYgNTAyLjcgMTE2LjggMzg2LjEgNDV6bTUxLjggMzIzLjJjLTQwLjQgNjUuNS0xMTAuNCAxMDEuNS0xODIgMTAxLjUtNi44IDAtMTMuNi0uNC0yMC40LTEtOS0xMy42LTE5LjktMzMuMy0yMy43LTQyLjQtNS43LTEzLjctMjcuMi00NS42IDMxLjItNjcuMSA1MS43LTE5LjEgMTc2LjctMTYuNSAyMDguOC0xNy42LTQgOS04LjYgMTcuOS0xMy45IDI2LjZ6TTIzNy4xIDI4MS45Yy01NS41LTEuNC04MS43LTIwLjgtNTguNS00OC4yczUxLjEtNDAuNyA2OC45LTUxLjJjMTcuOS0xMC41IDI3LjMtMzMuNy0yMy42LTI5LjctMTI4LjYgOC43LTE2Ny4zIDk5LjMtMTc4LjMgMTQwLjItOC44LTQ5LjctLjEtMTAyLjcgMjguNS0xNDkuMSA2MS45LTEwMC41IDE5My41LTEzMS43IDI5NC02OS44IDc0LjggNDYuMSAxMTEuMiAxMzAuOSA5OS4zIDIxMi43LTI0LjktLjUtMTc5LjMtMy42LTIzMC4zLTQuOXptMTgzLjgtNTQuOGMtMjIuNy02LTU3IDExLjMtODYuNyAyNy4yLTI5LjcgMTUuOC0zMS4xIDguMi0zMS4xIDguMnM0MC4yLTI4LjEgNTAuNy0zNC41IDMxLjktMTQgMTMuNC0yNC42Yy0zLjItMS44LTYuNy0yLjctMTAuNC0yLjctMTcuOCAwLTQxLjUgMTguNy02Ny41IDM1LjYtMzEuNSAyMC41LTY1LjMgMzEuMy02NS4zIDMxLjNMMzkzLjUgMjY2IDQ0MCAyNDIuNnMzLjYtOS41LTE5LjEtMTUuNXoiXX0sWTFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS15b3V0dWJlIixpY29uOls0NDgsNTEyLFs2MTc5OCwieW91dHViZS1zcXVhcmUiXSwiZjQzMSIsIk0yODIgMjU2LjJsLTk1LjItNTQuMSAwIDEwOC4yIDk1LjItNTQuMXpNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6bTE0LjQgMTM2LjFjNy42IDI4LjYgNy42IDg4LjIgNy42IDg4LjJzMCA1OS42LTcuNiA4OC4xYy00LjIgMTUuOC0xNi41IDI3LjctMzIuMiAzMS45LTI4LjMgNy43LTE0Mi4yIDcuNy0xNDIuMiA3LjdzLTExMy45IDAtMTQyLjItNy42Yy0xNS43LTQuMi0yOC0xNi4xLTMyLjItMzEuOS03LjYtMjguNi03LjYtODguMi03LjYtODguMnMwLTU5LjcgNy42LTg4LjJjNC4yLTE1LjggMTYuNS0yOC4yIDMyLjItMzIuNCAyOC4zLTcuNyAxNDIuMi03LjcgMTQyLjItNy43czExMy45IDAgMTQyLjIgNy43YzE1LjcgNC4yIDI4IDE2LjYgMzIuMiAzMi40eiJdfSxHNHQ9WTFlLFk0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdGxhc3NpYW4iLGljb246WzUxMiw1MTIsW10sImY3N2IiLCJNMTUyLjIgMjM2LjRjLTcuNy04LjItMTkuNy03LjctMjQuOCAyLjhMMS42IDQ5MC4yYy01IDEwIDIuNCAyMS43IDEzLjQgMjEuN2wxNzUgMGM1LjggLjEgMTEtMy4yIDEzLjQtOC40IDM3LjktNzcuOCAxNS4xLTE5Ni4zLTUxLjItMjY3LjF6TTI0NC40IDguMWMtMTIyLjMgMTkzLjQtOC41IDM0OC42IDY1IDQ5NS41IDIuNSA1LjEgNy43IDguNCAxMy40IDguNEw0OTcgNTEyYzExLjIgMCAxOC40LTExLjggMTMuNC0yMS43IDAgMC0yMzQuNS00NzAuNi0yNDAuNC00ODIuMy01LjMtMTAuNi0xOC44LTEwLjgtMjUuNiAuMXoiXX0sWjR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpZWQtcGlwZXItaGF0IixpY29uOls2NDAsNTEyLFtdLCJmNGU1IiwiTTY0MCAyNC45Yy04MC44IDUzLjYtODkuNCA5Mi41LTk2LjQgMTA0LjQtNi43IDEyLjItMTEuNyA2MC4zLTIzLjMgODMuNi0xMS43IDIzLjYtNTQuMiA0Mi4yLTY2LjEgNTAtMTEuNyA3LjgtMjguMyAzOC4xLTQxLjkgNjQuMi0xMDguMS00LjQtMTY3LjQgMzguOC0yNTkuMiA5My42IDI5LjQtOS43IDQzLjMtMTYuNyA0My4zLTE2LjcgOTQuMi0zNiAxMzkuMy02OC4zIDI4MS4xLTQ5LjIgMS4xIDAgMS45IC42IDIuOCAuOCAzLjkgMi4yIDUuMyA2LjkgMy4xIDEwLjhsLTUzLjkgOTUuOGMtMi41IDQuNy03LjggNy4yLTEzLjEgNi4xLTEyNi44LTIzLjgtMjI2LjkgMTcuMy0zMTguOSAxOC42LTczLjQgMS4xLTk3LjUtMzMuNS05Ny41LTM1LjEgMC0xLjEgLjYtMS43IDEuNy0xLjcgMCAwIDM4LjMgMCAxMDMuMS0xNS4zIDczLjYtMTQwLjMgMTM5LjItMTg5LjQgMjEwLjYtMTg5LjQgMCAwIDcxLjcgMCA5MC42IDYxLjkgMjIuOC0zOS43IDI4LjMtNDkuMiAyOC4zLTQ5LjIgNS4zLTkuNCAzNS03Ny4yIDg2LjQtMTQxLjQgNTEuNS02NCA5MC40LTc5LjkgMTE5LjMtOTEuOHoiXX0sWDR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImludGVybmV0LWV4cGxvcmVyIixpY29uOls1MTIsNTEyLFtdLCJmMjZiIiwiTTQ4My4xIDE1OS43YzEwLjktMjQuNiAyMS40LTYwLjQgMjEuNC04Ny45IDAtNzIuNy03OS42LTk4LjQtMjA5LjctMzguNi0xMDcuNi03LjItMjExLjIgNzMuNy0yMzcuMSAxODYuNSAzMC45LTM0LjkgNzguMy04Mi4zIDEyMi0xMDEuMi01NC4zIDQ4LjMtMTAwLjYgMTA5LjQtMTM1LjcgMTczLjItMjAuNyAzNy45LTQ0IDk5LjItNDQgMTQ1IDAgOTguNiA5Mi45IDg2LjUgMTgwLjMgNDIgMzEuNCAxNS40IDY2LjYgMTUuNiAxMDEuNyAxNS42IDk3LjEgMCAxODQuMi01NC4zIDIxNi44LTE0NmwtMTIwLjggMGMtNTIuNSA4OC42LTE5Ni44IDUzLTE5Ni44LTQ3LjRsMzI4LjggMGM2LjQtNDMuNi0xLjctOTUuNy0yNi45LTE0MS4yek02NC42IDM0Ni45QzgyLjMgMzk4IDExOC4zIDQ0Mi43IDE2NC44IDQ3MC4yIDc2LjEgNTE5LjEtOC40IDQ5OS4zIDY0LjYgMzQ2Ljl6TTE4MC41IDIzOGMyLTU1LjIgNTAuMy05NC45IDEwNC05NC45IDUzLjQgMCAxMDIgMzkuNyAxMDQgOTQuOWwtMjA4IDB6TTM2NS4xIDUwLjRjMjEuNC0xMC4zIDQ4LjYtMjIgNzIuNi0yMiAzMS40IDAgNTQuMyAyMS43IDU0LjMgNTMuNyAwIDIwLTcuNCA0OS0xNC42IDY3LjktMjYuMy00Mi4zLTY2LTgxLjYtMTEyLjMtOTkuNnoiXX0sUTR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFpcmJuYiIsaWNvbjpbNDQ4LDUxMixbXSwiZjgzNCIsIk0yMjQuNSAzNzMuMWMtMjUuMi0zMS43LTQwLjEtNTkuNC00NS04My4yLTIyLjUtODggMTEyLjYtODggOTAuMSAwLTUuNCAyNC4yLTIwLjMgNTItNDUgODMuMmwtLjEgMHptMTM4LjIgNzMuMmMtNDIuMSAxOC4zLTgzLjctMTAuOS0xMTkuMy01MC41IDEwMy45LTEzMC4xIDQ2LjEtMjAwLTE4LjgtMjAwLTU0LjkgMC04NS4yIDQ2LjUtNzMuMyAxMDAuNSA2LjkgMjkuMiAyNS4yIDYyLjQgNTQuNCA5OS41LTMyLjUgMzYtNjAuNSA1Mi43LTg1LjIgNTQuOS01MCA3LjQtODkuMS00MS4xLTcxLjMtOTEuMSAxNS4xLTM5LjIgMTExLjctMjMxLjIgMTE1LjktMjQxLjYgMTUuOC0zMC4xIDI1LjYtNTcuNCA1OS40LTU3LjQgMzIuMyAwIDQzLjQgMjUuOSA2MC40IDU5LjkgMzYgNzAuNiA4OS40IDE3Ny41IDExNC44IDIzOS4xIDEzLjIgMzMuMS0xLjQgNzEuMy0zNyA4Ni42em00Ny0xMzYuMWMtMTI4LjktMjc0LjMtMTM2LTI3OC4yLTE4NS4xLTI3OC4yLTQ1LjUgMC02NC45IDMxLjctODQuNyA3Mi44LTEwNi4yIDIxMi4zLTExNi40IDI0Mi40LTExNy4zIDI0NS0yNS4yIDY5LjMgMjYuNyAxMzAuMiA4OS42IDEzMC4yIDIxLjcgMCA2MC42LTYuMSAxMTIuNC02Mi40IDU4LjcgNjMuOCAxMDEuMyA2Mi40IDExMi40IDYyLjQgNjIuOSAuMSAxMTQuOS02MC45IDg5LjYtMTMwLjIgMC0zLjktMTYuOC0zOC45LTE2LjgtMzkuNmwwIDB6Il19LEo0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjNiOCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0yNDMuOCAzODEuNGMwIDQzLjYtMjUuNiA2My41LTYyLjkgNjMuNS0zMy43IDAtNTMuMi0xNy40LTYzLjItMzguNUwxNTIgMzg1LjdjNi42IDExLjcgMTIuNiAyMS42IDI3LjEgMjEuNiAxMy44IDAgMjIuNi01LjQgMjIuNi0yNi41bDAtMTQzLjEgNDIuMSAwIDAgMTQzLjd6bTk5LjYgNjMuNWMtMzkuMSAwLTY0LjQtMTguNi03Ni43LTQzTDMwMSAzODIuMWM5IDE0LjcgMjAuOCAyNS42IDQxLjUgMjUuNiAxNy40IDAgMjguNi04LjcgMjguNi0yMC44IDAtMTQuNC0xMS40LTE5LjUtMzAuNy0yOGwtMTAuNS00LjVjLTMwLjQtMTIuOS01MC41LTI5LjItNTAuNS02My41IDAtMzEuNiAyNC4xLTU1LjYgNjEuNi01NS42IDI2LjggMCA0NiA5LjMgNTkuOCAzMy43TDM2OCAyOTBjLTcuMi0xMi45LTE1LTE4LTI3LjEtMTgtMTIuMyAwLTIwLjEgNy44LTIwLjEgMTggMCAxMi42IDcuOCAxNy43IDI1LjkgMjUuNmwxMC41IDQuNWMzNS44IDE1LjMgNTUuOSAzMSA1NS45IDY2LjIgMCAzNy44LTI5LjggNTguNi02OS43IDU4LjZ6Il19LEs0dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJxdWluc2NhcGUiLGljb246WzUxMiw1MTIsW10sImY0NTkiLCJNMzEzLjcgNDc0LjZsLTEgMGMtNDEuOSAwLTgyLjEtMTYuNy0xMTEuOC00Ni4zcy00Ni4zLTY5LjktNDYuMy0xMTEuOCAxNi43LTgyLjEgNDYuMy0xMTEuOCA2OS45LTQ2LjMgMTExLjgtNDYuM2M5NC45IDAgMTY4LjIgODMuMSAxNTcgMTc2LjYgNCA1LjEgOC4yIDkuNiAxMS4yIDE1LjMgMTMuNC0zMC4zIDIwLjMtNjIuNCAyMC4zLTk3LjcgMC0xMzUuMS0xMDkuNS0yNDQuNi0yNDQuNi0yNDQuNlMxMi4xIDExNy41IDEyLjEgMjUyLjYgMTIxLjYgNDk3LjIgMjU2LjYgNDk3LjJjMjMuOCAuMiA0Ny42LTMuMiA3MC40LTEwLjEtNS4yLTMuNS04LjktOC4xLTEzLjMtMTIuNXptNzguMy0xNjlhOTkuMiA5OS4yIDAgMSAwIDAgMTk4LjQgOTkuMiA5OS4yIDAgMSAwIDAtMTk4LjR6Il19LGUzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhZHZlcnNhbCIsaWNvbjpbNTEyLDUxMixbXSwiZjM2YSIsIk00ODIuMSAzMkwyOC43IDMyQzUuOCAzMiAwIDM3LjkgMCA2MC45TDAgNDUxLjFDMCA0NzQuNCA1LjggNDgwIDI4LjcgNDgwbDQ1My40IDBjMjQuNCAwIDI5LjktNS4yIDI5LjktMjkuN2wwLTM4OC4xYzAtMjQuNi01LjQtMzAuMi0yOS45LTMwLjJ6TTE3OC40IDIyMC4zYy0yNy41LTIwLjItNzIuMS04LjctODQuMiAyMy40LTQuMyAxMS4xLTkuMyA5LjUtMTcuNSA4LjMtOS43LTEuNS0xNy4yLTMuMi0yMi41LTUuNS0yOC44LTExLjQgOC42LTU1LjMgMjQuOS02NC4zIDQxLjEtMjEuNCA4My40LTIyLjIgMTI1LjMtNC44IDQwLjkgMTYuOCAzNC41IDU5LjIgMzQuNSAxMjguNSAyLjcgMjUuOC00LjMgNTguMyA5LjMgODguOCAxLjkgNC40IC40IDcuOS0yLjcgMTAuNy04LjQgNi43LTM5LjMgMi4yLTQ2LjYtNy40LTEuOS0yLjItMS44LTMuNi0zLjktNi4yLTMuNi0zLjktNy4zLTIuMi0xMS45IDEtNTcuNCAzNi40LTE0MC4zIDIxLjQtMTQ3LTQzLjMtMy4xLTI5LjMgMTIuNC01Ny4xIDM5LjYtNzEgMzguMi0xOS41IDExMi4yLTExLjggMTE0LTMwLjkgMS4xLTEwLjItMS45LTIwLjEtMTEuMy0yNy4zem0yODYuNyAyMjJjMCAxNS4xLTExLjEgOS45LTE3LjggOS45bC0zOTQuOSAwYy03LjQgMC0xOC4yIDQuOC0xNy44LTEwLjcgLjQtMTMuOSAxMC41LTkuMSAxNy4xLTkuMSAxMzIuMy0uNCAyNjQuNS0uNCAzOTYuOCAwIDYuOCAwIDE2LjYtNC40IDE2LjYgOS45em0zLjgtMzQwLjVsMCAyOTFjMCA1LjctLjcgMTMuOS04LjEgMTMuOS0xMi40LS40LTI3LjUgNy4xLTM2LjEtNS42LTUuOC04LjctNy44LTQtMTIuNC0xLjItNTMuNCAyOS43LTEyOC4xIDcuMS0xNDQuNC04NS4yLTYuMS0zMy40LS43LTY3LjEgMTUuNy0xMDAgMTEuOC0yMy45IDU2LjktNzYuMSAxMzYuMS0zMC41bDAtNzFjMC0yNi4yLS4xLTI2LjIgMjYtMjYuMiAzLjEgMCA2LjYgLjQgOS43IDAgMTAuMS0uOCAxMy42IDQuNCAxMy42IDE0LjMtLjEgLjItLjEgLjMtLjEgLjV6TTQxNy40IDMzNC4xYy0xOS41IDQ3LjYtNzIuOSA0My4zLTkwIDUuMi0xNS4xLTMzLjMtMTUuNS02OC4yIC40LTEwMS41IDE2LjMtMzQuMSA1OS43LTM1LjcgODEuNS00LjggMjAuNiAyOC44IDE0LjkgODQuNiA4LjEgMTAxLjF6TTEyMi42IDM2OS40Yy03LjUtMS4zLTMzLTMuMy0zMy43LTI3LjgtLjQtMTMuOSA3LjgtMjMgMTkuOC0yNS44IDI0LjQtNS45IDQ5LjMtOS45IDczLjctMTQuNyA4LjktMiA3LjQgNC40IDcuOCA5LjUgMS40IDMzLTI2LjEgNTkuMi02Ny42IDU4Ljh6Il19LHQzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zIixpY29uOls1MTIsNTEyLFtdLCJmMjVlIiwiTTI1My44IDIxNC45bC0zMy4yIDE3LjNjLTkuNC0xOS42LTI1LjItMTkuOS0yNy41LTE5LjktMjIuMSAwLTMzLjIgMTQuNi0zMy4yIDQzLjggMCAyMy42IDkuMiA0My44IDMzLjIgNDMuOCAxNC41IDAgMjQuNi03LjEgMzAuNi0yMS4zbDMwLjYgMTUuNWMtNi4yIDExLjUtMjUuNyAzOS02NS4xIDM5LTIyLjYgMC03NC0xMC4zLTc0LTc3IDAtNTguNyA0My03Ny4xIDcyLjYtNzcuMSAzMC43IDAgNTIuNyAxMS45IDY2IDM1Ljl6bTE0MyAwbC0zMi44IDE3LjNjLTkuNS0xOS44LTI1LjctMTkuOS0yNy45LTE5LjktMjIuMSAwLTMzLjIgMTQuNi0zMy4yIDQzLjggMCAyMy41IDkuMiA0My44IDMzLjIgNDMuOCAxNC40IDAgMjQuNi03LjEgMzAuNS0yMS4zbDMxIDE1LjVjLTIuMSAzLjgtMjEuNCAzOS02NS4xIDM5LTIyLjcgMC03NC05LjktNzQtNzcgMC01OC43IDQzLTc3LjEgNzIuNi03Ny4xIDMwLjcgMCA1Mi42IDExLjkgNjUuNiAzNS45ek0yNTUuNiA4QzExMi43IDggOCAxMjMuMSA4IDI1Ni4xIDggMzk0LjUgMTIxLjYgNTA0LjEgMjU1LjYgNTA0LjEgMzg1LjUgNTA0LjEgNTA0IDQwMy4yIDUwNCAyNTYuMSA1MDQgMTE4LjIgMzk3LjQgOCAyNTUuNiA4em0uOSA0NTAuOGMtMTEyLjUgMC0yMDMuNy05My0yMDMuNy0yMDIuOCAwLTEwNS40IDg1LjQtMjAzLjMgMjAzLjctMjAzLjMgMTEyLjUgMCAyMDIuOCA4OS41IDIwMi44IDIwMy4zIDAgMTIxLjctOTkuNyAyMDIuOC0yMDIuOCAyMDIuOHoiXX0scjN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5vdGlvbiIsaWNvbjpbNTEyLDUxMixbXSwiZTdkOSIsIk05NC45IDEwMC4yYzE0LjkgMTIuMSAyMC41IDExLjIgNDguNiA5LjNMNDA3LjggOTMuNmM1LjYgMCAuOS01LjYtLjktNi41TDM2Mi45IDU1LjRjLTguNC02LjUtMTkuNi0xNC00MS4xLTEyLjFMNjUuOSA2MS45Yy05LjMgLjktMTEuMiA1LjYtNy41IDkuM2wzNi40IDI4Ljl6bTE1LjkgNjEuNmwwIDI3OC4xYzAgMTQuOSA3LjUgMjAuNSAyNC4zIDE5LjZsMjkwLjUtMTYuOGMxNi44LS45IDE4LjctMTEuMiAxOC43LTIzLjNsMC0yNzYuMmMwLTEyLjEtNC43LTE4LjctMTUtMTcuN0wxMjUuNyAxNDMuMWMtMTEuMiAuOS0xNC45IDYuNS0xNC45IDE4Ljd6bTI4Ni43IDE0LjljMS45IDguNCAwIDE2LjgtOC40IDE3LjhsLTE0IDIuOCAwIDIwNS4zYy0xMi4yIDYuNS0yMy40IDEwLjMtMzIuNyAxMC4zLTE1IDAtMTguNy00LjctMjkuOS0xOC43bC05MS41LTE0My43IDAgMTM5IDI5IDYuNXMwIDE2LjgtMjMuNCAxNi44bC02NC40IDMuN2MtMS45LTMuNyAwLTEzLjEgNi41LTE0LjlsMTYuOC00LjcgMC0xODMuOC0yMy4zLTEuOWMtMS45LTguNCAyLjgtMjAuNSAxNS45LTIxLjVsNjkuMS00LjcgOTUuMyAxNDUuNiAwLTEyOC44LTI0LjMtMi44Yy0xLjktMTAuMyA1LjYtMTcuNyAxNC45LTE4LjdsNjQuNS0zLjh6TTQ0LjQgMzYuN0wzMTAuNiAxNy4xYzMyLjctMi44IDQxLjEtLjkgNjEuNiAxNGw4NSA1OS43YzE0IDEwLjMgMTguNyAxMy4xIDE4LjcgMjQuM2wwIDMyNy42YzAgMjAuNS03LjUgMzIuNy0zMy42IDM0LjVMMTMzLjIgNDk1LjhjLTE5LjYgLjktMjktMS45LTM5LjItMTQuOUwzMS40IDM5OS43Yy0xMS4yLTE0LjktMTUuOS0yNi4xLTE1LjktMzkuMmwwLTI5MS4yYzAtMTYuOCA3LjUtMzAuOCAyOC45LTMyLjd6Il19LGEzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjaHJvbWVjYXN0IixpY29uOls1MTIsNTEyLFtdLCJmODM4IiwiTTQ0OCA2NEw2NC4yIDY0Yy0yMy42IDAtNDIuNyAxOS4xLTQyLjcgNDIuN2wwIDYzLjkgNDIuNyAwIDAtNjMuOSAzODMuOCAwIDAgMjk4LjYtMTQ5LjIgMCAwIDQyLjcgMTQ5LjQgMGMyMy42IDAgNDIuNy0xOS4xIDQyLjctNDIuN2wwLTI5OC42QzQ5MC45IDgzLjEgNDcxLjYgNjQgNDQ4IDY0ek0yMS41IDM4My42bDAgNjMuOSA2My45IDBjMC0zNS4zLTI4LjYtNjMuOS02My45LTYzLjl6bTAtODVsMCA0Mi40YzU4LjkgMCAxMDYuNiA0OC4xIDEwNi42IDEwN2w0Mi43IDBjLjEtODIuNC02Ni45LTE0OS4zLTE0OS4zLTE0OS40ek0yMTMuNiA0NDhsNDIuNyAwQzI1NS44IDMxOC41IDE1MSAyMTMuNyAyMS41IDIxMy40bDAgNDIuNGMxMDYtLjIgMTkyIDg2LjIgMTkyLjEgMTkyLjJ6Il19LGkzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bHRyYWx5dGljcy1odWIiLGljb246WzUxMiw1MTIsW10sImU4NmUiLCJNMTMwLjQgMTZjNjAuOSAwIDExMC40IDQ5LjUgMTEwLjQgMTEwLjRsMCAyNC45YzQuOC0uNyA5LjctMSAxNC42LTEgODguMS0uMiAxNjUuMSA0OSAyMDUuNCAxMjEuMi0yMi44LTE2LjItNTAuNy0yNS40LTgwLjQtMjUuMy03Ny4xIC4yLTEzOS41IDYyLjYtMTM5LjYgMTM5LjQtLjEgNjAuOS00OS41IDExMC4zLTExMC43IDExMC41LTYwLjYgLjItMTEwLjItNDkuNS0xMTAuMi0xMTAuNSAuMi0yLjYgMCAwIC4xLTMuMmwwLTI1NkMyMC4xIDY1LjUgNjkuNSAxNiAxMzAuNCAxNnpNMzgwLjMgNDk2YTExMC40IDExMC40IDAgMSAxIDAtMjIwLjkgMTEwLjQgMTEwLjQgMCAxIDEgMCAyMjAuOXoiXX0sbjN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Indpa2lwZWRpYS13IixpY29uOls2NDAsNTEyLFtdLCJmMjY2IiwiTTY0MCA1MS4ybC0uMyAxMi4yYy0yOC4xIC44LTQ1IDE1LjgtNTUuOCA0MC4zLTI1IDU3LjgtMTAzLjMgMjQwLTE1NS4zIDM1OC42bC0xMy42IDAtODEuOS0xOTMuMWMtMzIuNSA2My42LTY4LjMgMTMwLTk5LjIgMTkzLjEtLjMgLjMtMTUgMC0xNS0uMy00Ni45LTEwOS43LTk2LjEtMjE4LjYtMTQzLjEtMzI4LjYtMTEuNC0yNi43LTQ5LjQtNzAtNzUuNi02OS43IDAtMy4xLS4zLTEwLS4zLTE0LjJsMTYxLjkgMCAwIDEzLjljLTE5LjIgMS4xLTUyLjggMTMuMy00My4zIDM0LjIgMjEuOSA0OS43IDEwMy42IDI0MC4zIDEyNS42IDI4OC42IDE1LTI5LjcgNTcuOC0xMDkuMiA3NS4zLTE0Mi44LTEzLjktMjguMy01OC42LTEzMy45LTcyLjgtMTYwLTkuNy0xNy44LTM2LjEtMTkuNC01NS44LTE5LjdsMC0xMy45IDE0Mi41IC4zIDAgMTMuMWMtMTkuNCAuNi0zOC4xIDcuOC0yOS40IDI2LjEgMTguOSA0MCAzMC42IDY4LjEgNDguMSAxMDQuNyA1LjYtMTAuOCAzNC43LTY5LjQgNDguMS0xMDAuOCA4LjktMjAuNi0zLjktMjguNi0zOC42LTI5LjQgLjMtMy42IDAtMTAuMyAuMy0xMy42IDQ0LjQtLjMgMTExLjEtLjMgMTIzLjEtLjZsMCAxMy42QzQ2Mi40IDY0IDQzOS4xIDc2IDQyNi44IDk0LjlMMzY3LjYgMjE3LjdjNi40IDE2LjEgNjMuMyAxNDIuOCA2OS4yIDE1Ni43TDU1OS4yIDkxLjhjLTguNi0yMy4xLTM2LjQtMjguMS00Ny4yLTI4LjNsMC0xMy45IDEyNy44IDEuMSAuMiAuNXoiXX0sczN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNpdHJveCIsaWNvbjpbNDQ4LDUxMixbXSwiZTQ0YSIsIk0yMTIuNCAwbDAgMCAyMzUuNiAwIDAgMTI4LTM4NCAwQzY0IDU3LjYgMTQxLjggLjUgMjEyLjQgMHptMjQuOCAxOTJsMCAwYzY5LjkgLjUgMTQ2LjcgNTcuNiAxNDYuNyAxMjhsLTE3My4yIDAgMCAwQzE0MC45IDMxOS42IDY0IDI2Mi40IDY0IDE5MmwxNzMuMyAwem0tMS43IDMyMGM3MC43LS41IDE0OC40LTU3LjYgMTQ4LjQtMTI4bC0zODQgMCAwIDEyOCAyMzUuNiAwIDAgMHoiXX0sWjFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1naXRsYWIiLGljb246WzQ0OCw1MTIsWyJnaXRsYWItc3F1YXJlIl0sImU1YWUiLCJNMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2em0zMzcuNSAxMi41bDQ0LjYgMTE2LjQgLjQgMS4yYzUuNiAxNi44IDcuMiAzNS4yIDIuMyA1Mi41LTUgMTcuMi0xNS40IDMyLjQtMjkuOCA0My4zbC0uMiAuMS02OC40IDUxLjItNTQuMSA0MC45Yy0uNSAuMi0xLjEgLjUtMS43IC44LTIgMS00LjQgMi02LjcgMi0zIDAtNi44LTEuOC04LjMtMi44bC01NC4yLTQwLjktNjcuOS01MC45LS40LS4zLS4yLS4xYy0xNC4zLTEwLjgtMjQuOC0yNi0yOS43LTQzLjNzLTQuMi0zNS43IDIuMi01Mi41bC41LTEuMiA0NC43LTExNi40Yy45LTIuMyAyLjUtNC4zIDQuNS01LjYgMS42LTEgMy40LTEuNiA1LjItMS44IDEuMy0uNyAyLjEtLjQgMy40IC4xIC42IC4yIDEuMiAuNSAyIC43IDEgLjQgMS42IC45IDIuNCAxLjUgLjYgLjQgMS4yIDEgMi4xIDEuNSAxLjIgMS40IDIuMiAzIDIuNyA0LjhsMjkuMiA5Mi4yIDEyMi45IDAgMzAuMi05Mi4yYy41LTEuOCAxLjQtMy40IDIuNi00LjhzMi44LTIuNCA0LjUtMy4xYzEuNy0uNiAzLjYtLjkgNS40LS43czMuNiAuOCA1LjIgMS44YzIgMS4zIDMuNyAzLjMgNC42IDUuNnoiXX0sbzN0PVoxZSxsM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2hvZWxhY2UiLGljb246WzUxMiw1MTIsW10sImU2MGMiLCJNNDA1LjIgMzMxYzIuMi0xLjEgNC40LTIuMyA2LjUtMy43bDguMy00LjhjMS41LTEuMSA0LjQtMy40IDguNy02LjdsLjUtLjVjMy40LTMuNCA3LjItNSAxMS4zLTQuOSAxLjggMCAzLjkgLjUgNi40IDEuNWwzMS0yNy41Yy45LS43IDEuNy0xLjMgMi42LTEuOGwuMiAwYzMuMy0xLjkgNi0xLjggOC4yIC40IDMuOSAyLjEgNC4yIDUuNiAuOSAxMC42TDQ1Ny4yIDMyMmMuMiAuNSAuNCAxIC40IDEuNSAuNSAyLjIgLjMgNC40LS41IDYuNi0uNyAxLjUtMS44IDIuOS0zLjEgNC4yLTEuNCAxLjQtMi43IDIuOC00LjIgNC4yTDQzMSAzNTIuMmMtMS43IDEuMi0zLjQgMi4zLTUuMSAzLjMtMi4xIDEuMy00LjMgMi41LTYuNiAzLjYtMSAuNC0xLjkgLjktMi45IDEuMy01LjkgMi41LTExLjkgNC4yLTE4LjIgNS0yLjkgMjQuNS0xMS4zIDQ3LjEtMjUuMSA2Ny44LTE3LjUgMjUuNy00MS40IDQ1LjQtNzEuOCA1OC44LTMwLjIgMTMuNS02MyAyMC4yLTk4LjIgMjAuMi00OC42LS41LTg4LTExLjQtMTE4LjItMzIuOC0zNS4xLTI1LTUyLjYtNTcuOS01Mi42LTk5LjFsMC01LjZjMS4yLTI4LjEgOS41LTU0LjYgMjQuOC03OS44IDE1LjEtMjQuOSAzNy4xLTQxLjcgNjYuMS01MC41IDE0LjktNC40IDI5LjktNi42IDQ1LTYuNiAxNS41IDAgMzEuNiAyLjkgNDguMSA4LjZzMzUuMiAxNS41IDU1LjkgMjkuNWw1NC4xIDM2LjNjMTUuMSA5LjggMjguOCAxNi41IDQxLjIgMjAtMi42LTI1LjEtMTEuNy00Ni42LTI3LjMtNjQuNS0xNS43LTE4LjEtMzUuNi0zMS4zLTU5LjktMzkuN0wyNTcgMjIwYy0yMS40LTcuNS0zNy4zLTE0LjktNDcuNy0yMi4yLTI4LjItMTkuMS00My44LTQ1LjItNDctNzguNWwtLjUtOS44YzAtMzIuMSAxMy01OC45IDM5LTgwLjUgMjMtMTkuMyA1MC42LTI5IDgyLjUtMjkgMjQgMCA0NS42IDYuOSA2NC43IDIwLjggMTkuMiAxNCAzMC4xIDMzLjggMzIuNiA1OS40bC41IDEwYzAgMTguNi00LjggMzQuNS0xNC40IDQ3LjctOS44IDEzLjItMTguNSAxOS45LTI2IDE5LjktMS42LS4xLTMuMS0uMy00LjUtLjZsLTM0IDMyYy01LjUgMy05LjIgMi41LTExLjEtMS42LTEuOS0yLjItMS44LTQuOSAuNS04LjJsLjItLjJjLjUtLjcgMS4yLTEuNSAyLTIuNGwzMS42LTMwYy0uNC0xLjUtLjYtMy4xLS42LTQuOCAwLTQuMSAxLjYtNy42IDQuOS0xMC40IDEzLjgtMTIuNCAyMC44LTI2LjcgMjAuOC00Mi44IDAtMTYtNi4xLTI5LjUtMTguMi00MC40cy0yOC43LTE2LjUtNDkuNy0xNi44Yy0yNi4yIDAtNDcuOCA3LjktNjQuNyAyMy43UzE5Mi42IDg5LjkgMTkyLjYgMTEyYzAgMTcuOCA2LjkgMzMuOSAyMC42IDQ4LjMgMTMuNiAxNC4yIDM0LjYgMjUuNCA2MyAzMy41IDM5LjggMTEuNSA3MC4yIDMxIDkxLjMgNTguMyAxOC43IDI0LjIgMjkuMSA1MS4zIDMxLjMgODEuNCAyLjItLjcgNC4zLTEuNSA2LjUtMi42bC0uMSAuMXpNMjk0LjQgMTc4LjdjMCAxLjEgLjYgMS42IDEuOCAxLjYgLjEgMCA5LjctOC45IDI4LjgtMjYuNiAwLTIuNC01LjEgLjktMTUuMyAxMC0xMC4yIDkuMi0xNS4zIDE0LjItMTUuMyAxNC45bDAgLjF6bTggNi40YzAtMS0uNS0xLjUtMS41LTEuNS0xLjEgMC0yLjEgLjUtMi45IDEuNi0xLjktLjEtMy4zIC4xLTQuMiAuNy0uNCAuMi0uNSAuNS0uNSAuNyAwIC43IC41IDEuMyAxLjUgMS42bDMuMyAwYzIuOS0xLjEgNC40LTIuMiA0LjQtMy4zbC0uMSAuMnpNMzI1IDE2NS4yYzAtMi44LTEuNi0yLjgtNC45IDAtMS42IDEuNS0zLjYgMy41LTYgNi4yLS44IC42LTIuNiAyLjItNS4zIDQuOS0yLjggMi45LTQuMiA0LjctNC4yIDUuM2wuMiAxLjNjLjcgLjIgMS4yIC40IDEuNSAuNCAuMSAwIDMuMy0yLjkgOS41LTguN3M5LjMtOC45IDkuMy05LjNsLS4xLS4xem0xNTkuNyAxMjBsLTMwLjYgMjdjMS44IDEgMy4yIDIuNCA0IDQuMmwzMC4yLTI3Yy4yLTEuMiAuMS0yLjItLjUtMi45LS42LS41LTEuNi0uOS0zLjEtMS4zem0tMS42LS45bC0uNy0uNy0yNyAyMS45IDEuNiAyIDI2LTIzLjEgLjEtLjF6TTM2Ni45IDM2My45Yy04LTIuMS0xNS40LTQuNi0yMi4yLTcuNS0xNS4zLTYuMi0zNC4zLTE3LTU3LTMyLjRsLTM3LjQtMjUuM2MtMTUuOC0xMC4xLTMwLjItMTcuNi00My4yLTIyLjYtMTMuMS00LjktMjYtNy4zLTM4LjYtNy4zbC01LjUgMGMtMzIuMiAxLjctNTcuMiAxMy44LTc1IDM2LjItMTYuNiAyMC44LTI1IDQ1LjMtMjUgNzMuNiAwIDMxLjggMTIuOCA1Ni43IDM4LjIgNzQuNyAyNS40IDE4LjEgNjAuMiAyNy4xIDEwNC40IDI3LjEgMzQuNyAwIDY0LTYuMiA4Ny44LTE4LjYgMjMuNy0xMi40IDQyLjEtMjguOCA1NS4yLTQ5LjIgOS44LTE1LjUgMTUuOS0zMS44IDE4LjItNDguOGwuMSAuMXoiXX0sYzN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5zdHJlZXRtYXAiLGljb246WzUxMiw1MTIsW10sImU4NmIiLCJNNjEgNDk4LjdjLTcuMS0xLjgtMTAuOC00LjctMjkuNi0yMy42LTIyLjUtMjIuNC0yMy45LTI0LjYtMjMuOS0zNi4zIDAtMTMtMy45LTguNCA2Ny45LTgwLjMgNzIuNS03Mi43IDY4LjctNjkuNSA4MS45LTY5LjUgNi4xIDAgNy42IC40IDEyLjUgMi44bDUuNiAyLjhjMTEuNy0xMS43IDIzLjQtMjMuNCAzNS4xLTM1LjFsLTQuNC02LjljLTguNi0xMy4zLTE2LjYtMzIuOC0yMC4zLTQ4LjktMTAuMi00NS40IC44LTkzLjMgMjkuOC0xMjkuNyA1MC4xLTYyLjggMTQwLjEtNzYuNyAyMDYuNi0zMiAzNi41IDI0LjUgNjAuMyA2Mi41IDY3IDEwNyAxLjQgOS40IDEuNCAzMS44IDAgNDEuOC00LjkgMzQuNi0xOS43IDY0LTQ0LjQgODguNy0xMi43IDEyLjctMjMgMjAuMS0zOS4yIDI4LjItMTkuMyA5LjctMzUuNyAxNC4zLTU4IDE2LjEtMzEuNyAyLjYtNjYuOS02LjEtOTMuOC0yMy40bC02LjktNC40Yy0xMS43IDExLjctMjMuNCAyMy40LTM1LjEgMzUuMWwyLjggNS42YzIuNSA0LjkgMi44IDYuNCAyLjggMTIuNSAwIDEzLjEgMy4xIDkuNC02OSA4MS41LTU1LjYgNTUuNS02NC4xIDYzLjctNjguNCA2NS43LTUuNSAyLjUtMTMuOSAzLjQtMTkgMi4xek0zNTkuNCAyOTYuOWM0MC4xLTcuMyA3NS4xLTM0IDkyLjctNzAuNyAyOC01OC40IDkuMi0xMjctNDQuOC0xNjMuMy0xMi45LTguNy0zMC44LTE2LTQ3LjctMTkuNC0xMS43LTIuNC0zNi40LTIuMS00OC42IC41LTE4LjIgMy45LTM0LjkgMTEuMS00OS40IDIxLjQtOC45IDYuNC0yMy43IDIxLjEtMjkuOSAyOS45LTM0LjYgNDktMzEuNSAxMTQuMSA3LjcgMTU5LjMgMjAuMSAyMy4yIDQ3LjggMzguNCA3OC42IDQzIDEwLjIgMS41IDMxIDEuMiA0MS41LS44em0tMzUuNS0xNy40Yy0xMy44LTIuMi0yNS42LTUuNy0zNS4xLTEwLjVsLTUuNC0yLjcgMC00OS45LTkuNSAwYy04LjIgMC0xOS41IDEuNi0yNy43IDQtMS4xIC4zLTEuNSAxLjYtMS43IDQuOGwtLjMgNC40LTQuMS03LjhjLTktMTcuMi0xMi4yLTMwLjctMTIuMi01MS40IDAtMTYgMS4xLTIzLjQgNS42LTM2LjMgMi40LTYuOCA4LjItMTguOSAxMC44LTIyLjMgMS4xLTEuNSAxLjItMS4xIDEuMyAzLjNsMCA1YzE4LjgtLjIgMzcuNi0uMyA1Ni40LS41IC4yLTQuNyAuMy05LjUgLjUtMTQuMmwtMTkgMCAwLTMxIDMuNC0xLjdjNS42LTIuOCAxNS45LTYuNyAyMS43LTguMiAzLS44IDYuMS0xLjYgNi45LTEuOCAxLjItLjQgMS4zIC4xIC43IDMuMy0xLjIgNi4xLS45IDIzIC41IDI5IDIuOCAxMS45IDkuOCAyMC43IDE5LjIgMjQuMyA1LjYgMi4xIDE2LjMgMi42IDIyLjUgLjkgNS45LTEuNiAxMi41LTYuNCAxNS45LTExLjUgNS03LjUgNi43LTE0LjEgNy4yLTI3LjFsLjQtMTEuNCA3IDMuNmM4IDQuMiAxNy44IDExLjIgMjQuOSAxOCA0LjggNC42IDUgNC44IDUgOS4ybDAgNC41LTE4LjkgMCAwIDE0LjYgMzUgMGMxLjMgMi42IDIuNSA1LjIgMy44IDcuN2wtOS43IDBjLTYuNyAwLTEyLjcgLjYtMTkuNCAxLjlsLTkuNyAxLjkgMCA3LjFjMCAzLjkgLjIgNy4xIC4zIDcuMXM0LjEtLjggOC43LTEuNyA4LjctMS43IDkuMS0xLjdjLjQgMCAuOCAxMS4zIC44IDI1LjhsMCAyNS44Yy02LjIgLjItMTIuMyAuMy0xOC41IC41LS4yIDQuNy0uMyA5LjQtLjUgMTQuMiAxMy41IC4yIDI3IC4zIDQwLjQgLjUtMSAyLjMtMiA0LjUtMyA2LjhsLTEwLjcgLjFjLTkuOSAuMS0xMS4xIC4yLTE1LjYgMi41LTExLjggNS44LTE4LjEgMTguOS0xOC4zIDM3LjlsLS4xIDkuMy01LjggM2MtNSAyLjYtMjIuNiA5LTI0LjkgOS0uNSAwLS44LTEyLS44LTMwLjZsMC0zMC42LTkuNCAwYy02IDAtMTIuNCAuNi0xNy45IDEuNy0xMi42IDIuNi0xMS41IDEuNy0xMS41IDkuNSAwIDUgLjMgNi44IDEuMSA2LjggLjYgMCA0LjYtLjggOC44LTEuN3M4LTEuNyA4LjMtMS43IC42IDExIC42IDI0LjVsMCAyNC41LTcuNS0uMWMtNC4xLS4xLTguNS0uMy05LjctLjV6bS0zOS40LTcxLjZjOC45LTMuOSAxNS42LTEyLjkgMTguMy0yNC40IDEuNi02LjkgMS43LTIyLjYgMC0zMC4yLTIuNS0xMi05LjYtMjEuMS0xOS4zLTI0LjgtNi45LTIuNi0xOC40LTIuNi0yNS4zIDAtOS43IDMuNy0xNi40IDEyLjgtMTkuMiAyNS42LTEuNiA3LjUtMS42IDIxLjQgMCAyOC45IDIuNiAxMi41IDEwLjUgMjIuMyAyMC42IDI1LjYgNyAyLjMgMTguOSAyIDI0LjktLjd6bS0xOS45LTE0LjVjLTMuNS0zLTUuMi04LjktNS44LTIwLjYtLjYtMTAuNSAuNi0yMS4zIDIuOS0yNiAyLTQuMyA1LjgtNi40IDEwLjQtNiA3LjQgLjggMTAuMyA2LjUgMTEuMSAyMi41IC45IDE2LjctMS45IDI4LjktNyAzMS4zLTMuOSAxLjgtOC42IDEuMy0xMS42LTEuMnptOTQuOSAxNS4xYzE1LTQuNiAyMi44LTIwLjEgMjEuOS00My41LS44LTE5LjktNy45LTMyLjEtMjEuNS0zNy4yLTUuNy0yLjEtMTgtMS44LTI0IC41LTkuNiAzLjctMTYuNCAxMi40LTE5LjMgMjQuNy0yIDguNi0xLjMgMjggMS4zIDM1LjIgNCAxMS4zIDExLjYgMTguNyAyMS40IDIxIDUuOCAxLjQgMTQuNCAxIDIwLjMtLjh6bS0xNi43LTE0LjJjLTUtMi43LTcuMy0xMy4yLTYuNS0zMC4xIC42LTEyLjggMS41LTE2LjcgNC44LTIwLjQgNC43LTUuMyAxMy42LTMuOCAxNi43IDIuOCAzLjQgNy4zIDQgMzAuMSAxIDQwLjItMS43IDUuNy01LjIgOC44LTEwLjEgOC43LTIgMC00LjYtLjYtNS44LTEuM3ptLTg1LjIgNTEuNWMtNy4zLTcuNi05LjktMTEuNC04LjQtMTEuOSAyLjktLjkgMTMuOS0zLjEgMTQuMi0yLjggLjIgLjIgLjIgNC45IC4xIDEwLjRsLS4yIDEwLjEtNS42LTUuOXptMTU2LjQtMS4yYy43LTYgMy4xLTExLjUgNS43LTEzLjIgMi45LTEuOCA2LjQtMi42IDgtMS43IDEuMiAuNyAuOSAxLjUtMi40IDUuOS0yLjEgMi44LTUuNiA3LTcuOCA5LjRsLTQgNC4zIC41LTQuN3pNNDM4LjQgMTYxbC4xLTMyLjkgMi42IDcuN2M1LjEgMTUuMyA2LjkgMzEuOCA1LjEgNDYuNi0xLjQgMTEuNi0xLjQgMTEuNS00LjkgMTEuNWwtMyAwIC4xLTMyLjl6TTM0NCAxMDYuMmMtMi42LTEtNS4zLTQuOC02LjUtOS0xLjItNC0xLjUtMjguNS0uNC0zMy41IC42LTMgLjktMy4yIDMuOC0zLjIgNi4yIDAgMTguMyAyIDE4LjcgMy4xIC4yIC42IC43IDQuOSAxIDkuNSAuNyA5LjctLjcgMjMuMi0yLjggMjcuNi0yLjQgNS4xLTguNSA3LjUtMTMuNyA1LjN6bS05NC4zLTIuNGMuNC0uOCAzLjctNC42IDcuMy04LjRsNi41LTYuOWMwIDUuNiAwIDExLjIgLjEgMTYuOGwtNy4zIDBjLTYuNyAwLTcuMy0uMS02LjUtMS41em0zNC40IDM0MS43Yy0yNC02LjktNDMuOS0xMi45LTQ0LjItMTMuMS0uNS0uNiAyNC4zLTg4LjUgMjUuMy04OS42IC41LS41IDg1LjQgMjMuMyA4OC45IDI0LjkgMS4yIC42LS4xIDUuOC0xMC42IDQyLjQtNi42IDIzLTEyLjQgNDMuMi0xMi44IDQ1cy0xLjQgMy4yLTEuOSAzLjEtMjAuNy01LjgtNDQuNy0xMi43ek0zNDIuOCA0NTZjMC0xLjEgMjQuNy04Ny4zIDI1LjEtODcuNiAuOS0uNyA4Ny4xLTI0LjcgODcuNC0yNC40IC40IC40LTI0LjEgODcuMy0yNC43IDg3LjktLjQgLjMtODMuMiAyNC04NS44IDI0LjUtMS4xIC4yLTEuOSAuMS0xLjktLjR6TTE5OS42IDQxNy41YzE3LTE3LjEgMzIuMi0zMi43IDMzLjctMzQuNyAzLjQtNC41IDguMi0xNC44IDkuNS0yMC41IC41LTIuNCAxLjEtNy4xIDEuMi0xMC41bC4yLTYuMiAzLjctMWMyLS42IDMuOC0uOSA0LS43IC41IC41LTI0LjMgODctMjUuMSA4Ny44LS40IC4zLTEzLjYgNC4zLTI5LjQgOC44bC0yOC43IDguMiAzMS0zMS4xem0xNjYuOS02MS42Yy0uMi0uMy0uNy0yLTEuMi0zLjdsLS45LTMuMiAzLjItLjVjMjctNC42IDU1LjktMTcuMyA3OC43LTM0LjUgMy4zLTIuNSA1LjEtMy40IDUuMy0yLjcgMS4xIDMuMyA1LjUgMTkuMSA1LjQgMTkuMy0uNyAuNy05MC4yIDI1LjgtOTAuNSAyNS40ek02Mi45IDMyOS44Yy0xLS44LTIzLjgtNzcuOS0yNS41LTg2LjQtLjMtMS43IDMtLjkgNDMuOCAxMC44IDQyLjcgMTIuMiA0NC4yIDEyLjcgNDQuOCAxNC45IC41IDIgLjIgMi42LTIuNSA0LjUtMS43IDEuMi0xNS41IDE0LjYtMzAuNyAyOS44cy0yNy44IDI3LjYtMjggMjcuNi0xLjEtLjUtMS44LTEuMXptMTYuNS04OC4yYy0yMy45LTYuOS00My41LTEyLjYtNDMuNi0xMi42LS4zLS4yIDI1LjMtODkuMyAyNS45LTg5LjggLjQtLjQgODkuMSAyNC40IDkwIDI1LjIgLjIgLjItNS40IDIwLjUtMTIuNCA0NS4xLTExLjYgNDAuNy0xMi45IDQ0LjgtMTQuNSA0NC43LTEgMC0yMS4zLTUuNy00NS4yLTEyLjZ6bTU5LjYgMTAuOGMuMi0uNiA0LjMtMTQuNSA4LjktMzAuOWw4LjUtMjkuNyAxLjEgNi41YzEuOSAxMS4yIDUuMyAyMy45IDkuMyAzNS4xIDIuMSA1LjkgMy44IDEwLjkgMy42IDExcy02LjcgMi0xNC41IDQuMy0xNC45IDQuMi0xNS44IDQuNWMtMS4xIC4zLTEuNSAuMS0xLjItLjd6TTEwNiAxMzkuMWMtMjMuOS02LjktNDMuNy0xMi44LTQzLjktMTMuMi0uOC0xLjMtMjUuMS04Ny0yNC43LTg3LjQgLjUtLjUgODYuOCAyNC4zIDg3LjYgMjUuMSAuOSAxIDI1LjggODguMiAyNS4xIDg4LS4zIDAtMjAuMS01LjctNDQtMTIuNnptNDMuMi0zNC41QzEzNi41IDYwIDEzOSA2OC44IDEzNy4yIDYyLjVsMzQuMS05LjdjMTguOC01LjQgMzQuNy05LjkgMzUuNC0xMC4ycy0xLjYgMi44LTUuMiA2LjhjLTE5LjEgMjEuMy0zMS41IDQ0LTM5LjQgNzEuOS0xLjUgNS4yLTIuNyAxMC4zLTIuNyAxMS4zIDAgNS45LTIuMy0uNS0xMC4yLTI4eiJdfSxkM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2VsbGNhc3QiLGljb246WzQ0OCw1MTIsW10sImYyZGEiLCJNMzUzLjUgMzJMOTQuOCAzMkM0Mi43IDMyIC4xIDc0LjYgLjEgMTI2LjZsMCAyNTguN0MuMSA0MzcuNCA0Mi43IDQ4MCA5NC44IDQ4MGwyNTguNyAwYzUyLjEgMCA5NC43LTQyLjYgOTQuNy05NC42bDAtMjU4LjhjMC01Mi00Mi42LTk0LjYtOTQuNy05NC42em0tNTAgMzE2LjRjLTI3LjkgNDguMi04OS45IDY0LjktMTM4LjIgMzcuMi0yMi45IDM5LjgtNTQuOSA4LjYtNDIuMy0xMy4ybDE1LjctMjcuMmM1LjktMTAuMyAxOS4yLTEzLjkgMjkuNS03LjkgMTguNiAxMC44LS4xLS4xIDE4LjUgMTAuNyAyNy42IDE1LjkgNjMuNCA2LjMgNzkuNC0yMS4zIDE1LjktMjcuNiA2LjMtNjMuNC0yMS4zLTc5LjQtMTcuOC0xMC4yLS42LS40LTE4LjYtMTAuNi0yNC42LTE0LjItMy40LTUxLjkgMjEuNi0zNy41IDE4LjYgMTAuOC0uMS0uMSAxOC41IDEwLjcgNDguNCAyOCA2NS4xIDkwLjMgMzcuMiAxMzguNXptMjEuOC0yMDguOGMtMTcgMjkuNS0xNi4zIDI4LjgtMTkgMzEuNS02LjUgNi41LTE2LjMgOC43LTI2LjUgMy42LTE4LjYtMTAuOCAuMSAuMS0xOC41LTEwLjctMjcuNi0xNS45LTYzLjQtNi4zLTc5LjQgMjEuM3MtNi4zIDYzLjQgMjEuMyA3OS40YzAgMCAxOC41IDEwLjYgMTguNiAxMC42IDI0LjYgMTQuMiAzLjQgNTEuOS0yMS42IDM3LjUtMTguNi0xMC44IC4xIC4xLTE4LjUtMTAuNy00OC4yLTI3LjgtNjQuOS05MC4xLTM3LjEtMTM4LjQgMjcuOS00OC4yIDg5LjktNjQuOSAxMzguMi0zNy4ybDQuOC04LjRjMTQuMy0yNC45IDUyLTMuMyAzNy43IDIxLjV6Il19LHUzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaXgiLGljb246WzQ0OCw1MTIsW10sImYzY2IiLCJNMCA2NEwwIDQxMi45YzAgNTYuMiA4OCA1OC4xIDg4IDBsMC0yMzguNmM3LjktNTIuOSA4OC01MC40IDg4IDYuNWwwIDE3NS4zYzAgNTcuOSA5NiA1OCA5NiAwTDI3MiAyNDBjNS4zLTU0LjcgODgtNTIuNSA4OCA0LjNsMCAyMy44YzAgNTkuOSA4OCA1Ni42IDg4IDBMNDQ4IDY0IDAgNjR6Il19LHAzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1hcHBsZS1wYXkiLGljb246WzU3Niw1MTIsW10sImY0MTYiLCJNMzAyLjIgMjE4LjRjMCAxNy4yLTEwLjUgMjcuMS0yOSAyNy4xbC0yNC4zIDAgMC01NC4yIDI0LjQgMGMxOC40IDAgMjguOSA5LjggMjguOSAyNy4xek0zNDkuNyAyODFjMCA4LjMgNy4yIDEzLjcgMTguNSAxMy43IDE0LjQgMCAyNS4yLTkuMSAyNS4yLTIxLjlsMC03LjctMjMuNSAxLjVjLTEzLjMgLjktMjAuMiA1LjgtMjAuMiAxNC40ek01NzYgNzlsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDc5Yy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDc5QzAgNTIuNSAyMS41IDMxIDQ4IDMxbDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0xMjcuOCAxOTcuMmM4LjQgLjcgMTYuOC00LjIgMjIuMS0xMC40IDUuMi02LjQgOC42LTE1IDcuNy0yMy43LTcuNCAuMy0xNi42IDQuOS0yMS45IDExLjMtNC44IDUuNS04LjkgMTQuNC03LjkgMjIuOHptNjAuNiA3NC41Yy0uMi0uMi0xOS42LTcuNi0xOS44LTMwLS4yLTE4LjcgMTUuMy0yNy43IDE2LTI4LjItOC44LTEzLTIyLjQtMTQuNC0yNy4xLTE0LjctMTIuMi0uNy0yMi42IDYuOS0yOC40IDYuOS01LjkgMC0xNC43LTYuNi0yNC4zLTYuNC0xMi41IC4yLTI0LjIgNy4zLTMwLjUgMTguNi0xMy4xIDIyLjYtMy40IDU2IDkuMyA3NC40IDYuMiA5LjEgMTMuNyAxOS4xIDIzLjUgMTguNyA5LjMtLjQgMTMtNiAyNC4yLTYgMTEuMyAwIDE0LjUgNiAyNC4zIDUuOSAxMC4yLS4yIDE2LjUtOS4xIDIyLjgtMTguMiA2LjktMTAuNCA5LjgtMjAuNCAxMC0yMXptMTM1LjQtNTMuNGMwLTI2LjYtMTguNS00NC44LTQ0LjktNDQuOGwtNTEuMiAwIDAgMTM2LjQgMjEuMiAwIDAtNDYuNiAyOS4zIDBjMjYuOCAwIDQ1LjYtMTguNCA0NS42LTQ1em05MCAyMy43YzAtMTkuNy0xNS44LTMyLjQtNDAtMzIuNC0yMi41IDAtMzkuMSAxMi45LTM5LjcgMzAuNWwxOS4xIDBjMS42LTguNCA5LjQtMTMuOSAyMC0xMy45IDEzIDAgMjAuMiA2IDIwLjIgMTcuMmwwIDcuNS0yNi40IDEuNmMtMjQuNiAxLjUtMzcuOSAxMS42LTM3LjkgMjkuMSAwIDE3LjcgMTMuNyAyOS40IDMzLjQgMjkuNCAxMy4zIDAgMjUuNi02LjcgMzEuMi0xNy40bC40IDAgMCAxNi40IDE5LjYgMCAwLTY4IC4xIDB6TTUxNiAyMTAuOWwtMjEuNSAwLTI0LjkgODAuNi0uNCAwLTI0LjktODAuNi0yMi4zIDAgMzUuOSA5OS4zLTEuOSA2Yy0zLjIgMTAuMi04LjUgMTQuMi0xNy45IDE0LjItMS43IDAtNC45LS4yLTYuMi0uM2wwIDE2LjRjMS4yIC40IDYuNSAuNSA4LjEgLjUgMjAuNyAwIDMwLjQtNy45IDM4LjktMzEuOEw1MTYgMjEwLjl6Il19LGYzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzb2xhbmEiLGljb246WzUxMiw1MTIsW10sImU4NWUiLCJNNTEwLjUgMzg1LjJsLTg0LjkgODguN2MtMS44IDEuOS00LjEgMy41LTYuNiA0LjVzLTUuMiAxLjYtNy45IDEuNkw4LjkgNDgwYy0xLjkgMC0zLjgtLjUtNS40LTEuNnMtMi45LTIuNS0zLjYtNC4yLTEtMy42LS43LTUuNSAxLjItMy42IDIuNS00LjlsODQuOS04OC43YzEuOC0xLjkgNC4xLTMuNSA2LjUtNC41czUuMS0xLjYgNy44LTEuNmw0MDIuNCAwYzEuOSAwIDMuOCAuNSA1LjQgMS42czIuOSAyLjUgMy42IDQuMiAxIDMuNiAuNyA1LjUtMS4yIDMuNi0yLjUgNC45ek00MjUuNyAyMDYuNmMtMS44LTEuOS00LjEtMy41LTYuNi00LjVzLTUuMi0xLjYtNy45LTEuNmwtNDAyLjQgMGMtMS45IDAtMy44IC41LTUuNCAxLjZzLTIuOSAyLjUtMy42IDQuMi0xIDMuNi0uNyA1LjUgMS4yIDMuNiAyLjUgNC45bDg0LjkgODguN2MxLjggMS45IDQuMSAzLjUgNi41IDQuNXM1LjEgMS42IDcuOCAxLjZsNDAyLjQgMGMxLjkgMCAzLjgtLjUgNS40LTEuNnMyLjktMi41IDMuNi00LjIgMS0zLjYgLjctNS41LTEuMi0zLjYtMi41LTQuOWwtODQuOS04OC43ek04LjkgMTQyLjlsNDAyLjQgMGMyLjcgMCA1LjQtLjUgNy45LTEuNnM0LjctMi42IDYuNi00LjVsODQuOS04OC43YzEuMy0xLjQgMi4yLTMuMSAyLjUtNC45cy4xLTMuNy0uNy01LjUtMi0zLjItMy42LTQuMi0zLjUtMS42LTUuNC0xLjZMMTAxIDMyYy0yLjcgMC01LjQgLjUtNy44IDEuNnMtNC43IDIuNi02LjUgNC41TDEuNyAxMjYuOGMtMS4zIDEuNC0yLjIgMy4xLTIuNSA0LjlzLS4xIDMuNyAuNyA1LjUgMiAzLjIgMy42IDQuMiAzLjUgMS42IDUuNCAxLjZ6Il19LGgzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0eXBlc2NyaXB0IixpY29uOls0NDgsNTEyLFtdLCJlODQwIiwiTTE2LjggMzJsNDE0LjQgMGM5LjMgMCAxNi44IDcuNSAxNi44IDE2LjhsMCA0MTQuNGMwIDkuMy03LjUgMTYuOC0xNi44IDE2LjhMMTYuOCA0ODBDNy41IDQ4MCAwIDQ3Mi41IDAgNDYzLjJMMCA0OC44QzAgMzkuNSA3LjUgMzIgMTYuOCAzMnpNMjQ5IDI3MC4zbDAtMzYuNy0xNTkuNCAwIDAgMzYuNyA1Ni45IDAgMCAxNjMuNiA0NS4zIDAgMC0xNjMuNiA1Ny4yIDB6bTE4LjEgMTU5LjNjNy4zIDMuNyAxNS45IDYuNSAyNS45IDguNHMyMC41IDIuOCAzMS41IDIuOGMxMC44IDAgMjEtMSAzMC43LTMuMXMxOC4yLTUuNCAyNS41LTEwLjEgMTMuMS0xMC45IDE3LjQtMTguNCA2LjQtMTcgNi40LTI4LjJjMC04LjEtMS4yLTE1LjItMy43LTIxLjNzLTUuOS0xMS41LTEwLjUtMTYuMy0xMC4xLTktMTYuNS0xMi44LTEzLjctNy4zLTIxLjctMTAuN2MtNS45LTIuNC0xMS4yLTQuOC0xNS45LTcuMXMtOC43LTQuNi0xMS45LTctNS44LTQuOS03LjYtNy41LTIuNy01LjctMi43LTljMC0zLjEgLjgtNS44IDIuNC04LjNzMy44LTQuNiA2LjctNi40IDYuNS0zLjEgMTAuNy00LjEgOC45LTEuNSAxNC4xLTEuNWMzLjcgMCA3LjcgLjMgMTEuOSAuOHM4LjQgMS40IDEyLjYgMi42IDguMyAyLjYgMTIuMyA0LjQgNy43IDMuOCAxMSA2LjFsMC00MS44Yy02LjgtMi42LTE0LjMtNC41LTIyLjQtNS44cy0xNy40LTEuOS0yNy45LTEuOWMtMTAuNyAwLTIwLjggMS4xLTMwLjQgMy40cy0xOCA1LjgtMjUuMiAxMC43LTEzIDExLTE3LjIgMTguNS02LjMgMTYuNS02LjMgMjYuOWMwIDEzLjMgMy45IDI0LjcgMTEuNiAzNC4xczE5LjUgMTcuNCAzNS4yIDIzLjljNi4yIDIuNSAxMS45IDUgMTcuMyA3LjRzMTAgNC45IDEzLjggNy41IDcgNS40IDkuMiA4LjUgMy40IDYuNiAzLjQgMTAuNWMwIDIuOS0uNyA1LjYtMi4xIDhzLTMuNSA0LjYtNi40IDYuNC02LjQgMy4yLTEwLjcgNC4zLTkuMyAxLjUtMTUgMS41Yy05LjcgMC0xOS40LTEuNy0yOC45LTUuMXMtMTguNC04LjUtMjYuNi0xNS4zbDAgNDQuN3oiXX0sbTN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJyYXZlIixpY29uOls0NDgsNTEyLFtdLCJlNjNjIiwiTTE0NS42IDBsMTU3IDAgNDQuNyA1MC44czM5LjMtMTAuOSA1Ny44IDcuNiAzMy44IDM0LjkgMzMuOCAzNC45bC0xMiAyOS41IDE1LjMgNDMuN3MtNDQuOSAxNzAuMi01MC4xIDE5MWMtMTAuNCA0MC45LTE3LjQgNTYuOC00Ni45IDc3LjVzLTgyLjkgNTYuOC05MS42IDYyLjJjLTEuOSAxLjItMy45IDIuNS01LjkgMy45LTcuNSA1LjEtMTUuOCAxMC44LTIzLjUgMTAuOHMtMTYuMS01LjctMjMuNS0xMC44Yy0yLTEuNC00LTIuOC01LjktMy45LTguNy01LjUtNjIuMS00MS41LTkxLjYtNjIuMnMtMzYuNS0zNi42LTQ2LjktNzcuNWMtNS4zLTIwLjgtNTAuMS0xOTEtNTAuMS0xOTFMMjEuNSAxMjIuOCA5LjMgOTMuM3MxNS4zLTE2LjQgMzMuOC0zNC45IDU3LjgtNy42IDU3LjgtNy42TDE0NS42IDB6bTc4LjUgNDA3LjZjMy43IDAgOC45LTQuNyAxMy04LjQgLjYtLjUgMS4yLTEuMSAxLjctMS41IDQuMi0zLjcgNDcuOC0zNy41IDUxLTM5LjhzNS40LTYuNSAxLjktOC43Yy0yLjgtMS43LTEwLTUuNS0yMC4zLTEwLjgtMy0xLjYtNi4zLTMuMi05LjctNS0xNS40LTgtMzQuNS0xNC43LTM3LjUtMTQuN3MtMjIuMSA2LjgtMzcuNSAxNC43Yy0zLjUgMS44LTYuNyAzLjUtOS43IDUtMTAuMyA1LjMtMTcuNiA5LjEtMjAuMyAxMC44LTMuNiAyLjItMS40IDYuNCAxLjkgOC43czQ2LjggMzYuMSA1MSAzOS44Yy41IC41IDEuMSAxIDEuNyAxLjUgNC4xIDMuNyA5LjMgOC40IDEzIDguNGwtLjIgMHptMC0xNjUuN2M0LjcgMCAxNy42LTMgMjYuNC01bDItLjVjNy44LTEuOCA3LjMtNi4zIDYuNC0xMy0uMS0uOC0uMi0xLjYtLjMtMi40LS42LTYuMS01LjgtMzMuMS05LjEtNTAuMy0xLjEtNS44LTItMTAuNS0yLjQtMTIuOS0xLjUtOC4xLS42LTkuNCAuNy0xMS4zIC4yLS4zIC41LS43IC43LTEuMSAxLjQtMi4zIDE2LTYuMiAyNy45LTkuNSAyLjUtLjcgNC44LTEuMyA2LjktMS45IDEwLjYtMyAzMi40LS42IDQ0LjIgLjYgMS44IC4yIDMuNCAuNCA0LjcgLjUgOS42IC45IDEwLjQgMi4zIDcuMiAzLjgtMi4zIDEuMS0xNi4yIDYuMy0yOC43IDEwLjktNC43IDEuOC05LjIgMy41LTEyLjggNC44LTEuNSAuNS0zIDEuMS00LjUgMS43LTEyLjUgNC42LTI3LjIgMTAtMjguOSAxOS40LTEuNSA4LjMgNS4yIDE5LjkgMTEuMyAzMC4zIDEuNiAyLjggMy4yIDUuNSA0LjYgOC4xIDYuMyAxMS45IDYuNSAxMy4zIDYuMSAxOC4xLS40IDMuOS0xNC41IDEyLjctMjIuNCAxNy42LTEuOCAxLjEtMy4zIDIuMS00LjIgMi43LS44IC41LTIuMSAxLjQtMy44IDIuNC04LjYgNS4yLTI2LjMgMTYtMjYuMyAyMi41IDAgNy44IDI0LjYgMjguMSAzMi40IDMzLjJzMjguOSAxNi4xIDM3LjkgMTcuOCAyMy04LjUgMzEuMi0yMy44YzcuNy0xNC40IDEuNy0yOC41LTMuMi00MGwtLjktMi4yYy00LjUtMTAuNiAxLjktMTcgNi4yLTIxLjMgLjUtLjUgMS0xIDEuNC0xLjRsNDMtNDUuN2MxLjMtMS4zIDIuNS0yLjYgMy43LTMuOCA1LjgtNS43IDEwLjgtMTAuNSAxMC44LTIyLjggMC0xNC45LTU3LjUtODQuNS01Ny41LTg0LjVzLTQ4LjUgOS4zLTU1LjEgOS4zYy01LjIgMC0xNS4zLTMuNS0yNS44LTcuMS0yLjctLjktNS40LTEuOS04LTIuNy0xMy00LjMtMjEuOC00LjQtMjEuOC00LjRzLTguNyAwLTIxLjggNC40Yy0yLjcgLjktNS40IDEuOC04IDIuNy0xMC41IDMuNi0yMC42IDcuMS0yNS44IDcuMS02LjUgMC01NS4xLTkuMy01NS4xLTkuM3MtNTcuNSA2OS42LTU3LjUgODQuNWMwIDEyLjMgNC45IDE3LjEgMTAuOCAyMi44IDEuMiAxLjIgMi41IDIuNCAzLjcgMy44bDQzLjEgNDUuOGMuNCAuNSAuOSAuOSAxLjQgMS40IDQuMyA0LjMgMTAuNiAxMC43IDYuMiAyMS4zbC0uOSAyLjJjLTQuOSAxMS41LTExIDI1LjYtMy4yIDQwIDguMiAxNS4zIDIyLjIgMjUuNSAzMS4yIDIzLjhzMzAuMS0xMi43IDM3LjktMTcuOCAzMi40LTI1LjQgMzIuNC0zMy4yYzAtNi41LTE3LjctMTcuMy0yNi4zLTIyLjUtMS43LTEtMy4xLTEuOS0zLjgtMi40LS45LS42LTIuNC0xLjUtNC4yLTIuNy03LjktNC45LTIyLTEzLjctMjIuNC0xNy42LS40LTQuOC0uMy02LjIgNi4xLTE4LjEgMS4zLTIuNSAyLjktNS4zIDQuNi04LjEgNi0xMC40IDEyLjgtMjIgMTEuMy0zMC4zLTEuNy05LjQtMTYuNC0xNC44LTI4LjktMTkuNC0xLjYtLjYtMy4xLTEuMS00LjUtMS43LTMuNi0xLjQtOC4xLTMuMS0xMi44LTQuOGwtLjEgMGMtMTIuNS00LjctMjYuNC05LjktMjguNy0xMC45LTMuMi0xLjUtMi4zLTIuOCA3LjItMy44IDEuMy0uMSAyLjktLjMgNC43LS41IDExLjgtMS4zIDMzLjYtMy42IDQ0LjItLjYgMi4xIC42IDQuNCAxLjIgNi45IDEuOSAxMS45IDMuMiAyNi41IDcuMiAyNy45IDkuNSAuMiAuNCAuNSAuNyAuNyAxLjEgMS4zIDEuOSAyLjIgMy4yIC43IDExLjMtLjQgMi40LTEuMyA3LjEtMi40IDEyLjktMy4zIDE3LjItOC41IDQ0LjItOS4xIDUwLjMtLjEgLjgtLjIgMS43LS4zIDIuNC0uOCA2LjctMS40IDExLjIgNi40IDEzbDIgLjVjOC44IDIgMjEuOCA1IDI2LjQgNWwwLS4xeiJdfSxnM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXRzeSIsaWNvbjpbMzg0LDUxMixbXSwiZjJkNyIsIk0zODQgMzQ4Yy0xLjggMTAuNy0xMy44IDExMC0xNS41IDEzMi0xMTcuOS00LjMtMjE5LjktNC43LTM2OC41IDBsMC0yNS41YzQ1LjUtOC45IDYwLjYtOCA2MS0zNS4yIDEuOC03Mi4zIDMuNS0yNDQuMSAwLTMyMi0xLTI4LjUtMTIuMS0yNi44LTYxLTM2TDAgMzUuOGM3My45IDIuNCAyNTUuOSA4LjYgMzYzLTMuOC0zLjUgMzguMi03LjggMTI2LjUtNy44IDEyNi41bC0yMy4yIDBDMzIwLjkgMTE1LjcgMzEzLjIgNjggMjc3LjMgNjhsLTEzNyAwYy0xMC4yIDAtMTAuNyAzLjUtMTAuNyA5LjhsMCAxNjMuOGM1OCAuNSA4OC41LTIuNSA4OC41LTIuNSAyOS44LTEgMjcuNi04LjUgNDAuNy02NS4zbDI1LjggMGMtNC40IDEwMS40LTMuOSA2MS44LTEuOCAxNjAuM0wyNTcgMzM0Yy05LjItNDAuMS05LjEtNjEtMzkuNS02MS41IDAgMC0yMS41LTItODgtMmwwIDEzOWMwIDI2IDE0LjMgMzguMyA0NC4zIDM4LjNsODkuMyAwYzYzLjYgMCA2Ni42LTI1IDk4LjctOTkuOGwyMi4yIDB6Il19LGIzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidGMiLGljb246WzM4NCw1MTIsW10sImYxNWEiLCJNMzEwLjQgMjQyLjZjMjcuNy0xNC4yIDQ1LjQtMzkuNCA0MS4zLTgxLjMtNS40LTU3LjQtNTIuNS03Ni42LTExNC44LTgxLjlsMC03OS40LTQ4LjUgMCAwIDc3LjJjLTEyLjYgMC0yNS41IC4zLTM4LjQgLjZsMC03Ny44LTQ4LjUgMCAwIDc5LjRjLTE3LjggLjUtMzguNiAuMy05Ny40IDBsMCA1MS43YzM4LjMtLjcgNTguNC0zLjEgNjMgMjEuNGwwIDIxNy40Yy0yLjkgMTkuNS0xOC41IDE2LjctNTMuMyAxNi4xTDQgNDQzLjdjODguNSAwIDk3LjQgLjMgOTcuNCAuM2wwIDY4IDQ4LjUgMCAwLTY3LjFjMTMuMiAuMyAyNi4yIC4zIDM4LjQgLjNsMCA2Ni43IDQ4LjUgMCAwLTY4YzgxLjMtNC40IDEzNS42LTI0LjkgMTQyLjktMTAxLjUgNS43LTYxLjQtMjMuMy04OC45LTY5LjMtOTkuOXpNMTUwLjggMTM0LjZjMjcuNCAwIDExMy4xLTguNSAxMTMuMSA0OC41IDAgNTQuNS04NS43IDQ4LjItMTEzLjEgNDguMmwwLTk2Ljd6bTAgMjUxLjhsMC0xMDYuNWMzMi44IDAgMTMzLjEtOS4xIDEzMy4xIDUzLjMgMCA2MC4yLTEwMC40IDUzLjMtMTMzLjEgNTMuM3oiXX0sdjN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFkbiIsaWNvbjpbNTEyLDUxMixbXSwiZjE3MCIsIk0yNTYgMTY3LjVsNjQuOSA5OC44LTEyOS44IDAgNjQuOS05OC44ek04IDI1NmEyNDggMjQ4IDAgMSAxIDQ5NiAwIDI0OCAyNDggMCAxIDEgLTQ5NiAwem0zOTYuMiA4Mi43bC0xNDguMi0yMjMuMi0xNDguMiAyMjMuMiAzMC40IDAgMzMuNi01MS43IDE2OC42IDAgMzMuNiA1MS43IDMwLjIgMHoiXX0seDN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS14LXR3aXR0ZXIiLGljb246WzQ0OCw1MTIsW10sImU2MWEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjk3LjEgODRsLTEwMy44IDExOC42IDEyMi4xIDE2MS40LTk1LjYgMC03NC44LTk3LjktODUuNyA5Ny45LTQ3LjUgMCAxMTEtMTI2LjktMTE3LjEtMTUzLjEgOTggMCA2Ny43IDg5LjUgNzguMi04OS41IDQ3LjUgMHpNMzIzLjMgMzY3LjZsLTE2OS45LTIyNC43LTI4LjMgMCAxNzEuOCAyMjQuNyAyNi40IDB6Il19LHkzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZm9udC1hd2Vzb21lIixpY29uOls0NDgsNTEyLFtdLCJlNWFkIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTkwIDEyMmMwIDkuMy00LjggMTcuNC0xMi4xIDIybDE4OC45IDBjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgMS44LS40IDMuNy0xLjEgNS40TDMxMiAyNjQgMzQyLjkgMzMzLjRjLjcgMS43IDEuMSAzLjUgMS4xIDUuNCAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJsLTE4Ni44IDAgMCAzMi0zMiAwIDAtMjA5LjVjLTYuMS00LjgtMTAtMTIuMi0xMC0yMC41IDAtMTQuNCAxMS42LTI2IDI2LTI2czI2IDExLjYgMjYgMjZ6Il19LHczdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb3J1bWJlZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjIxMSIsIk01LjggMzA5LjdDMiAyOTIuNyAwIDI3NS41IDAgMjU4LjMgMCAxMzUgOTkuOCAzNSAyMjMuMSAzNSAyMzkuNyAzNSAyNTYuNCAzNyAyNzIuNCA0MC41IDE0OSA4Ny41IDUxLjkgMTg2IDUuOCAzMDkuN3pNMzk4LjcgMTIwLjVjLTEzLjctMTcuNS0yOS43LTMyLjctNDcuOC00NS4zLTE0OS42IDQ0LjMtMjY2LjMgMTYyLjEtMzA5LjcgMzEyIDEyLjUgMTguMSAyOCAzNS42IDQ1LjIgNDkgNDMuMS0xNTEuMyAxNjEuMi0yNzEuNyAzMTIuMy0zMTUuN3ptMTUuOCAyNTIuN2MxNS4yLTI1LjEgMjUuNC01My43IDI5LjUtODIuOC03OS40IDQyLjktMTQ1IDExMC42LTE4Ny42IDE5MC4zIDMwLTQuNCA1OC45LTE1LjMgODQuNi0zMS4zIDM1IDEzLjEgNzAuOSAyNC4zIDEwNyAzMy42LTkuMy0zNi41LTIwLjQtNzQuNS0zMy41LTEwOS44em0yOS43LTE0NS41Yy0yLjYtMTkuNS03LjktMzguNy0xNS44LTU2LjgtMTM3LjkgNDUuOC0yNDYuNCAxNTYuNi0yOTEuMyAyOTUuMSAxOC4xIDcuNiAzNyAxMi41IDU2LjYgMTUuMiA0Ni4zLTExNC4xIDEzNi44LTIwNi44IDI1MC41LTI1My41eiJdfSxYMWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiNDItZ3JvdXAiLGljb246WzY0MCw1MTIsWyJpbm5vc29mdCJdLCJlMDgwIiwiTTMyMCA5NmwwIDMyMGMyMSAwIDQxLjgtNC4xIDYxLjItMTIuMnMzNy0xOS44IDUxLjktMzQuNyAyNi42LTMyLjUgMzQuNy01MS45IDEyLjItNDAuMiAxMi4yLTYxLjItNC4xLTQxLjgtMTIuMi02MS4yLTE5LjgtMzcuMS0zNC43LTUxLjktMzIuNS0yNi42LTUxLjktMzQuNy00MC4yLTEyLjItNjEuMi0xMi4yek0wIDI1NkwxNjAgNDE2IDMyMCAyNTYgMTYwIDk2IDAgMjU2em00ODAgMGMwIDIxIDQuMSA0MS44IDEyLjIgNjEuMnMxOS44IDM3IDM0LjcgNTEuOSAzMi41IDI2LjYgNTEuOSAzNC43IDQwLjIgMTIuMiA2MS4yIDEyLjJsMC0zMjBjLTQyLjQgMC04My4xIDE2LjktMTEzLjEgNDYuOVM0ODAgMjEzLjYgNDgwIDI1NnoiXX0sTTN0PVgxZSxrM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3R1bWJsZXVwb24tY2lyY2xlIixpY29uOls1MTIsNTEyLFtdLCJmMWEzIiwiTTI2NCA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnptMCAxNzcuNWMtOS44IDAtMTcuOCA4LTE3LjggMTcuOGwwIDEwNi45YzAgNDAuOS0zMy45IDczLjktNzQuOSA3My45LTQxLjQgMC03NC45LTMzLjUtNzQuOS03NC45bDAtNDYuNSA1Ny4zIDAgMCA0NS44YzAgMTAgOCAxNy44IDE3LjggMTcuOHMxNy44LTcuOSAxNy44LTE3LjhsMC0xMDguNGMwLTQwIDM0LjItNzIuMSA3NC43LTcyLjEgNDAuNyAwIDc0LjcgMzIuMyA3NC43IDcyLjZsMCAyMy43LTM0LjEgMTAuMS0yMi45LTEwLjcgMC0yMC42Yy4xLTkuNi03LjktMTcuNi0xNy43LTE3LjZ6TTQzMS42IDMwOS4xYzAgNDEuNC0zMy41IDc0LjktNzQuOSA3NC45LTQxLjIgMC03NC45LTMzLjItNzQuOS03NC4ybDAtNDYuOCAyMi45IDEwLjcgMzQuMS0xMC4xIDAgNDcuMWMwIDkuOCA4IDE3LjYgMTcuOCAxNy42czE3LjgtNy45IDE3LjgtMTcuNmwwLTQ4IDU3LjMgMGMtLjEgNDUuOS0uMSA0Ni40LS4xIDQ2LjR6Il19LFMzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzeW1mb255IixpY29uOls1MTIsNTEyLFtdLCJmODNkIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzg5LjcgMTUxLjVjLTExLjUgLjQtMTkuNC02LjQtMTkuOC0xNi45LS4zLTkuMiA2LjctMTMuNCA2LjUtMTguOS0uMi02LjUtMTAuMi02LjgtMTIuOS02LjctMzkuOCAxLjMtNDguNiA1Ny01OC45IDExMy44IDIxLjQgMy4yIDM2LjYtLjcgNDUuMS02LjIgMTItNy43LTMuMy0xNS43LTEuNC0yNC42IDQtMTguMiAzMi42LTE5IDMyIDUuMy0uNCAxNy45LTI1LjkgNDEuOC03Ny42IDM1LjctMTAuOCA1OS41LTE4LjQgMTE1LTU4LjIgMTYxLjctMjkgMzQuNS01OC40IDM5LjgtNzEuNiA0MC4zLTI0LjYgLjktNDEtMTIuMy00MS42LTI5LjgtLjYtMTcgMTQuNC0yNi4zIDI0LjMtMjYuNiAyMS45LS44IDMwLjEgMjUuNyAxNC45IDM0LTEyLjEgOS43IC4xIDEyLjYgMi4xIDEyLjYgMTAuNC0uNCAxNy4zLTUuNSAyMi4yLTkgMjQtMjAgMzMuMi01NC45IDQ1LjQtMTE4LjMgOC4yLTQ5LjcgMTctNzggMTguMi04Mi0xNi45LTEyLjctMjcuMS0yOC42LTQ5LjgtMzQuNy0xNS42LTQuMi0yNS4xLS42LTMxLjggNy44LTcuOSAxMC01LjMgMjMgMi40IDMwLjdsMTIuNiAxNGMxNS41IDE3LjkgMjQgMzEuOSAyMC44IDUwLjYtNS4xIDI5LjktNDAuNyA1Mi45LTgyLjkgMzkuOS0zNi0xMS4xLTQyLjctMzYuNi0zOC40LTUwLjYgNy41LTI0LjIgNDIuNC0xMS43IDM0LjYgMTMuNi0yLjggOC42LTQuOSA4LjctNi4zIDEzLjEtNC42IDE0LjggNDEuOCAyOC40IDUxLTEuNCA0LjUtMTQuNS01LjMtMjEuNy0yMi4yLTM5LjktMjguNS0zMS43LTE2LTY1LjUgMi45LTc5LjcgNTIuOC0zOS40IDEwMC41IDE3LjUgMTEwLjYgMjUuOCAzNy4yLTEwOSAxMDAuNS0xMDUuNSAxMDIuNC0xMDUuNSAyNS4yLS44IDQ0LjIgMTAuNiA0NC44IDI4LjYgLjIgNy43LTQuMiAyMi42LTE5LjUgMjMuMXoiXX0sejN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNhbGVzZm9yY2UiLGljb246WzY0MCw1MTIsW10sImY4M2IiLCJNMjQ5LjQgMjQ1LjZsLTI2LjQgMGMuNy01LjIgMy4zLTE0LjEgMTMuNi0xNC4xIDYuOCAwIDEyIDMuOCAxMi43IDE0LjF6TTM4NiAyMzEuOGMtLjUgMC0xNC4xLTEuOC0xNC4xIDIwczEzLjYgMjAgMTQuMSAyMGMxMyAwIDE0LjEtMTMuNSAxNC4xLTIwIDAtMjEuOC0xMy43LTIwLTE0LjEtMjB6TTE0Mi44IDI1NS41Yy0xLjEgLjktMiAyLTIuNSAzLjJzLS44IDIuNy0uNyA0YzAgNC44IDIuMSA2LjEgMy4zIDcgNC43IDMuNyAxNS4xIDIuMSAyMC45IDFsMC0xNi45Yy01LjMtMS4xLTE2LjctMi0yMC45IDEuNnpNNjQwLjUgMjMyYzAgODcuNi04MCAxNTQuNC0xNjUuNCAxMzYuNC0xOC40IDMzLTcwLjcgNzAuOC0xMzIuMiA0MS42LTQxLjIgOTYtMTc3LjkgOTIuMi0yMTMuOC01LjItMTE5LjcgMjMuOS0xNzguOC0xMzguNC03NS4zLTE5OS4zLTM0LjgtNzkuNCAyMi42LTE3My42IDExNC4zLTE3My42IDE5LjEgMCAzNy45IDQuNCA1NSAxMi45czMyIDIwLjcgNDMuNiAzNS44YzIwLjctMjEuNCA0OS40LTM0LjggODEuMS0zNC44IDQyLjMgMCA3OSAyMy41IDk4LjggNTguNiA5Mi44LTQwLjcgMTkzLjggMjguMiAxOTMuOCAxMjcuNXpNMTIwLjkgMjYzLjhjMC0xMS44LTExLjctMTUuMi0xNy45LTE3LjItNS4zLTIuMS0xMy40LTMuNS0xMy40LTguOSAwLTkuNSAxNy02LjcgMjUuMi0yLjEgMCAwIDEuMiAuNyAxLjYtLjUgLjItLjcgMi40LTYuNiAyLjYtNy4zIC4xLS4zIC4xLS42LS4xLS44cy0uNC0uNS0uNi0uNmMtMTIuMy03LjYtNDAuNy04LjUtNDAuNyAxMi43IDAgMTIuNSAxMS41IDE1LjQgMTcuOSAxNy4yIDQuNyAxLjYgMTMuMiAzIDEzLjIgOC43IDAgNC0zLjUgNy4xLTkuMiA3LjEtNi45IDAtMTMuNS0yLjItMTktNi4zLS41LS4yLTEuNC0uNy0xLjYgLjdsLTIuNCA3LjVjLS41IC45IC4yIDEuMiAuMiAxLjQgMS44IDEuNCAxMC4zIDYuNiAyMi44IDYuNiAxMy4yIDAgMjEuNC03LjEgMjEuNC0xOC4xbDAgMHptMzItNDIuNmMtMTAuMSAwLTE4LjcgMy4yLTIxLjQgNS4yLS4xIC4xLS4yIC4yLS4zIC4zcy0uMSAuMi0uMSAuNCAwIC4zIDAgLjQgLjEgLjMgLjIgLjRsMi42IDcuMWMuMSAuMiAuMiAuNSAuNSAuNnMuNSAuMiAuNyAuMWMuNiAwIDYuOC00IDE2LjktNCA0IDAgNy4xIC43IDkuMiAyLjQgMy42IDIuOCAzLjEgOC4zIDMuMSAxMC42LTQuOC0uMy0xOS4xLTMuNC0yOS40IDMuOC0yLjMgMS42LTQuMyAzLjgtNS41IDYuM3MtMS45IDUuNC0xLjggOC4yYzAgNS45IDEuNSAxMC40IDYuNiAxNC40IDEyLjIgOC4yIDM2LjMgMiAzOC4xIDEuNCAxLjYtLjMgMy41LS43IDMuNS0xLjlsMC0zMy45YzAtNC42IC4zLTIxLjYtMjIuOC0yMS42bDAgLjF6bTQ2LjYtMjFjMC0uMiAwLS4zLS4xLS41cy0uMS0uMy0uMy0uNC0uMi0uMi0uNC0uMy0uMy0uMS0uNS0uMWwtOS44IDBjLS4yIDAtLjMgMC0uNSAuMXMtLjMgLjEtLjQgLjMtLjIgLjItLjMgLjQtLjEgLjMtLjEgLjVsMCA3OWMwIC4yIDAgLjMgLjEgLjVzLjEgLjMgLjMgLjQgLjIgLjIgLjQgLjMgLjMgLjEgLjUgLjFsOS45IDBjLjIgMCAuMyAwIC41LS4xcy4zLS4xIC40LS4zIC4yLS4yIC4zLS40IC4xLS4zIC4xLS41bC0uMS03OXptNTUuNyAyOC45Yy0yLjEtMi4zLTYuOC03LjUtMTcuNi03LjUtMy41IDAtMTQuMiAuMi0yMC43IDguOS02LjQgNy42LTYuNiAxOC4xLTYuNiAyMS40IDAgMy4xIC4yIDE0LjMgNy4xIDIxLjIgMi42IDIuOSA5LjEgOC4yIDIyLjggOC4yIDEwLjggMCAxNi41LTIuMyAxOC42LTMuOCAuNS0uMiAuNy0uNyAuMi0xLjlsLTIuMy02LjhjLS4xLS4zLS4zLS41LS42LS42cy0uNS0uMi0uOC0uMWMtMi42IC45LTYuMyAyLjgtMTUuMyAyLjgtMTcuNCAwLTE2LjgtMTQuNy0xNi45LTE2LjdsMzcuMiAwYy4zIDAgLjUtLjEgLjctLjNzLjQtLjQgLjQtLjdjLS4zIDAgMi4xLTE0LjctNi4xLTI0LjJsMCAwem0zNi43IDUyLjdjMTMuMiAwIDIxLjQtNy4xIDIxLjQtMTguMSAwLTExLjgtMTEuNy0xNS4yLTE3LjktMTcuMi00LjEtMS43LTEzLjQtMy40LTEzLjQtOC45IDAtMy44IDMuMy02LjQgOC41LTYuNCA1LjggLjEgMTEuNSAxLjYgMTYuNyA0LjIgMCAwIDEuMiAuNyAxLjYtLjUgLjItLjcgMi40LTYuNiAyLjYtNy4zIC4xLS4zIC4xLS42LS4xLS44cy0uNC0uNS0uNi0uNmMtNy45LTQuOS0xNi43LTQuOS0yMC4yLTQuOS0xMiAwLTIwLjUgNy4zLTIwLjUgMTcuNiAwIDEyLjUgMTEuNSAxNS40IDE3LjkgMTcuMiA2LjEgMiAxMy4yIDMuMyAxMy4yIDguNyAwIDQtMy41IDcuMS05LjIgNy4xLTYuOSAwLTEzLjUtMi4yLTE5LTYuNC0uMS0uMS0uMy0uMi0uNS0uMnMtLjQgMC0uNSAuMS0uMyAuMi0uNCAuMy0uMiAuMy0uMiAuNWwtMi4zIDcuNWMtLjUgLjkgLjIgMS4yIC4yIDEuNCAxLjcgMS40IDEwLjMgNi42IDIyLjggNi42bDAgMHpNMzU3LjYgMjI0YzAtLjctLjItMS4yLTEuMi0xLjJsLTExLjggMGMwLS4xIC45LTguOSA0LjUtMTIuNSA0LjItNC4yIDExLjgtMS42IDEyLTEuNiAxLjIgLjUgMS40IDAgMS42LS41bDIuOC03LjhjLjctLjkgMC0xLjItLjItMS40LTUuMS0yLTE3LjQtMi45LTI0LjUgNC4yLTUuNSA1LjUtNyAxMy45LTggMTkuNWwtOC41IDBjLS4zIDAtLjYgLjItLjggLjRzLS4zIC41LS40IC44bC0xLjQgNy44YzAgLjcgLjIgMS4yIDEuMiAxLjJsOC4yIDBjLTguNSA0Ny45LTguNyA1MC4yLTEwLjMgNTUuNS0xLjEgMy42LTMuMyA2LjktNS45IDcuOC0uMSAwLTMuOSAxLjctOS42LS4yIDAgMC0uOS0uNS0xLjQgLjctLjIgLjctMi42IDYuOC0yLjggNy41czAgMS40IC41IDEuNGM1LjEgMiAxMyAxLjggMTcuOSAwIDYuMy0yLjMgOS43LTcuOSAxMS41LTEyLjkgMi44LTcuNyAyLjgtOS44IDExLjgtNTkuN2wxMi4yIDBjLjMgMCAuNi0uMiAuOC0uNHMuMy0uNSAuNC0uOGwxLjQtNy44ek00MTEgMjQwYy0uNi0xLjctNS4xLTE4LjEtMjUuMi0xOC4xLTE1LjIgMC0yMyAxMC0yNS4yIDE4LjEtMSAzLTMuMiAxNCAwIDIzLjUgLjEgLjMgNC40IDE4LjEgMjUuMiAxOC4xIDE1IDAgMjIuOS05LjYgMjUuMi0xOC4xIDMuMi05LjYgMS0yMC41IDAtMjMuNXptNDUuNC0xNi43Yy01LTEuNy0xNi42LTEuOS0yMi4xIDUuNGwwLTQuNWMwLS4yIDAtLjMtLjEtLjVzLS4xLS4zLS4zLS40LS4yLS4yLS40LS4zLS4zLS4xLS41LS4xbC05LjQgMGMtLjIgMC0uMyAwLS41IC4xcy0uMyAuMS0uNCAuMy0uMiAuMi0uMyAuNC0uMSAuMy0uMSAuNWwwIDU1LjNjMCAuMiAwIC4zIC4xIC41cy4xIC4zIC4zIC40IC4yIC4yIC40IC4zIC4zIC4xIC41IC4xbDkuNiAwYy4yIDAgLjMgMCAuNS0uMXMuMy0uMSAuNC0uMyAuMi0uMiAuMy0uNCAuMS0uMyAuMS0uNWwwLTI3LjhjMC0yLjkgLjEtMTEuNCA0LjUtMTUuMSA0LjktNC45IDEyLTMuNCAxMy40LTMuMSAuMyAwIC42LS4xIC44LS4zcy40LS40IC42LS43YzEuMi0yLjYgMi4yLTUuMyAzLjEtOCAuMS0uMyAuMS0uNSAwLS44cy0uMy0uNS0uNS0uNmwwIDB6bTQ2LjggNTQuMWwtMi4xLTcuM2MtLjUtMS4yLTEuNC0uNy0xLjQtLjctNC4yIDEuOC0xMC4xIDEuOS0xMS4zIDEuOS00LjYgMC0xNy4yLTEuMS0xNy4yLTE5LjggMC02LjIgMS44LTE5LjggMTYuNS0xOS44IDMuOS0uMSA3LjggLjUgMTEuNSAxLjYgMCAwIC45IC41IDEuMi0uNyAuOS0yLjYgMS42LTQuNSAyLjYtNy41IC4yLS45LS41LTEuMi0uNy0xLjItMTEuNi0zLjktMjIuMy0yLjUtMjcuOCAwLTEuNiAuNy0xNi4yIDYuNS0xNi4yIDI3LjUgMCAyLjktLjYgMzAuMSAyOC45IDMwLjEgNS4zIDAgMTAuNi0xIDE1LjUtMi44IC4yLS4yIC40LS40IC41LS42cy4xLS41IDAtLjhsMCAwem01My45LTM5LjVjLS44LTMtNS40LTE2LjItMjIuMy0xNi4yLTE2IDAtMjMuNSAxMC4xLTI1LjYgMTguNi0xLjIgMy44LTEuNyA3LjgtMS43IDExLjggMCAyNS45IDE4LjggMjkuNCAyOS45IDI5LjQgMTAuOCAwIDE2LjUtMi4zIDE4LjYtMy44IC41LS4yIC43LS43IC4yLTEuOWwtMi40LTYuOGMtLjEtLjMtLjMtLjUtLjYtLjZzLS42LS4yLS44LS4xYy0yLjYgLjktNi4zIDIuOC0xNS4zIDIuOC0xNy40IDAtMTYuOS0xNC43LTE2LjktMTYuN2wzNy4yIDBjLjMgMCAuNS0uMSAuNy0uM3MuNC0uNCAuNC0uN2MtLjIgMCAuOS03LjEtMS40LTE1LjVsMCAwem0tMjMuMy02LjRjLTEwLjMgMC0xMyA5LTEzLjYgMTQuMWwyNi40IDBjLS45LTExLjktNy42LTE0LjEtMTIuNy0xNC4xbDAgMHoiXX0sQzN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNvdXJjZXRyZWUiLGljb246WzQ0OCw1MTIsW10sImY3ZDMiLCJNNDI3LjQgMjAzYzAtMTEyLjEtOTAuOS0yMDMtMjAzLTIwMy0xMTIuMS0uMi0yMDMgOTAuNi0yMDMuMiAyMDIuNi0uMSA0MyAxMy41IDg0LjggMzguNyAxMTkuNnM2MC45IDYwLjYgMTAxLjggNzMuOGwwIDEwMS43YzAgMy44IDEuNSA3LjQgNC4yIDEwLjFzNi4zIDQuMiAxMC4xIDQuMmw5Ni40IDBjMy44IDAgNy40LTEuNSAxMC4xLTQuMnM0LjItNi4zIDQuMi0xMC4xbDAtMTAxLjZjNDAuOC0xMy4yIDc2LjUtMzkgMTAxLjctNzMuN3MzOC45LTc2LjUgMzktMTE5LjR6bS0yNzEuNiAwYzAtOTAuOCAxMzcuMy05MC44IDEzNy4zIDAtLjEgODkuOS0xMzcuMyA5MS0xMzcuMyAweiJdfSxUM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGlua2VkaW4taW4iLGljb246WzQ0OCw1MTIsW10sImYwZTEiLCJNMTAwLjMgNDQ4bC05Mi45IDAgMC0yOTkuMSA5Mi45IDAgMCAyOTkuMXpNNTMuOCAxMDguMUMyNC4xIDEwOC4xIDAgODMuNSAwIDUzLjggMCAzOS41IDUuNyAyNS45IDE1LjggMTUuOHMyMy44LTE1LjggMzgtMTUuOCAyNy45IDUuNyAzOCAxNS44IDE1LjggMjMuOCAxNS44IDM4YzAgMjkuNy0yNC4xIDU0LjMtNTMuOCA1NC4zek00NDcuOSA0NDhsLTkyLjcgMCAwLTE0NS42YzAtMzQuNy0uNy03OS4yLTQ4LjMtNzkuMi00OC4zIDAtNTUuNyAzNy43LTU1LjcgNzYuN2wwIDE0OC4xLTkyLjggMCAwLTI5OS4xIDg5LjEgMCAwIDQwLjggMS4zIDBjMTIuNC0yMy41IDQyLjctNDguMyA4Ny45LTQ4LjMgOTQgMCAxMTEuMyA2MS45IDExMS4zIDE0Mi4zbDAgMTY0LjMtLjEgMHoiXX0sXzN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imh0bWw1IixpY29uOlszODQsNTEyLFtdLCJmMTNiIiwiTTAgMzJMMzQuOSA0MjcuOCAxOTEuNSA0ODAgMzQ5LjEgNDI3LjggMzg0IDMyIDAgMzJ6TTMwOC4yIDE1OS45bC0xODMuOCAwIDQuMSA0OS40IDE3NS42IDAtMTMuNiAxNDguNC05Ny45IDI3IDAgLjMtMS4xIDAtOTguNy0yNy4zLTYtNzUuOCA0Ny43IDAgMy41IDM4LjEgNTMuNSAxNC41IDUzLjctMTQuNSA2LTYyLjItMTY2LjkgMC0xMi44LTE0NS42IDI0MS4xIDAtNC40IDQ3Ljd6Il19LEwzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJydXN0IixpY29uOls1MTIsNTEyLFtdLCJlMDdhIiwiTTUwOC41IDI0OS44bC0yMS44LTEzLjVjLS4yLTItLjMtMy45LS41LTUuOWwxOC43LTE3LjVjLjktLjkgMS42LTEuOSAyLTMuMXMuNS0yLjUgLjItMy43LS44LTIuNC0xLjYtMy4zLTEuOC0xLjctMy0yLjFsLTI0LTljLS41LTEuOS0xLjEtMy44LTEuNy01LjZsMTUtMjAuOGMuNy0xIDEuMi0yLjIgMS4zLTMuNHMwLTIuNS0uNS0zLjctMS4yLTIuMi0yLjItMi45LTIuMS0xLjMtMy40LTEuNWwtMjUuNC00LjJjLS45LTEuNy0xLjgtMy40LTIuNy01LjJsMTAuNy0yMy40Yy41LTEuMSAuNy0yLjQgLjYtMy42cy0uNS0yLjQtMS4yLTMuNS0xLjYtMS45LTIuOC0yLjUtMi40LS44LTMuNi0uOGwtMjUuOCAuOWMtMS4yLTEuNS0yLjQtMi45LTMuNi00LjRMNDM5IDgxLjhjLjMtMS4yIC4zLTIuNS0uMS0zLjdzLTEtMi4zLTEuOS0zLjItMi0xLjUtMy4yLTEuOS0yLjUtLjQtMy43LS4xTDQwNSA3OC45Yy0xLjQtMS4yLTIuOS0yLjQtNC40LTMuNmwuOS0yNS44Yy4xLTEuMy0uMi0yLjUtLjgtMy42cy0xLjQtMi4xLTIuNS0yLjgtMi4yLTEuMS0zLjUtMS4yLTIuNSAuMS0zLjcgLjZMMzY3LjcgNTMuMmMtMS43LS45LTMuNC0xLjgtNS4xLTIuN2wtNC4yLTI1LjRjLS4yLTEuMi0uNy0yLjQtMS41LTMuNHMtMS44LTEuNy0yLjktMi4yLTIuNC0uNy0zLjctLjUtMi40IC42LTMuNCAxLjNMMzI2IDM1LjNjLTEuOS0uNi0zLjgtMS4xLTUuNi0xLjdsLTktMjRjLS40LTEuMi0xLjItMi4yLTIuMS0zcy0yLjEtMS40LTMuMy0xLjYtMi41LS4yLTMuNyAuMi0yLjMgMS4xLTMuMSAyTDI4MS42IDI1LjljLTItLjItMy45LS40LTUuOS0uNUwyNjIuMyAzLjVjLS43LTEuMS0xLjYtMS45LTIuNy0yLjZzLTIuMy0uOS0zLjYtLjktMi41IC4zLTMuNiAuOS0yIDEuNS0yLjcgMi42TDIzNi4yIDI1LjNjLTIgLjItMy45IC4zLTUuOSAuNkwyMTIuOSA3LjFjLS45LS45LTEuOS0xLjYtMy4xLTJzLTIuNS0uNS0zLjctLjItMi40IC44LTMuMyAxLjYtMS43IDEuOC0yLjEgM2wtOSAyNGMtMS45IC42LTMuOCAxLjEtNS43IDEuN2wtMjAuOC0xNWMtMS0uNy0yLjItMS4yLTMuNC0xLjNzLTIuNSAwLTMuNyAuNS0yLjIgMS4yLTIuOSAyLjItMS4zIDIuMS0xLjUgMy40bC00LjIgMjUuNGMtMS43IC45LTMuNCAxLjgtNS4yIDIuN0wxMjAuOSA0Mi42Yy0xLjEtLjUtMi40LS43LTMuNy0uNnMtMi41IC41LTMuNSAxLjItMS45IDEuNy0yLjUgMi44LS44IDIuNC0uOCAzLjZsLjkgMjUuOGMtMS41IDEuMi0zIDIuNC00LjQgMy42TDgxLjggNzNjLTEuMi0uMy0yLjUtLjMtMy43IC4xcy0yLjMgMS0zLjIgMS45LTEuNSAyLTEuOSAzLjItLjQgMi41LS4xIDMuN0w3OC45IDEwN2MtMS4yIDEuNC0yLjQgMi45LTMuNiA0LjRsLTI1LjgtLjljLTEuMyAwLTIuNSAuMi0zLjYgLjhzLTIuMSAxLjQtMi44IDIuNC0xLjEgMi4yLTEuMiAzLjUgLjEgMi41IC42IDMuNmwxMC43IDIzLjRjLS45IDEuNy0xLjggMy40LTIuNyA1LjJsLTI1LjQgNC4xYy0xLjIgLjItMi40IC43LTMuNCAxLjVzLTEuNyAxLjgtMi4yIDIuOS0uNyAyLjQtLjUgMy43IC42IDIuNCAxLjMgMy40bDE1IDIwLjhjLS42IDEuOS0xLjEgMy44LTEuNyA1LjdsLTI0IDljLTEuMiAuNC0yLjIgMS4yLTMgMi4xcy0xLjQgMi4xLTEuNiAzLjMtLjIgMi41IC4yIDMuNyAxLjEgMi4zIDIgMy4xbDE4LjcgMTcuNWMtLjIgMi0uNCAzLjktLjYgNS45TDMuNSAyNDkuOGMtMS4xIC43LTEuOSAxLjYtMi42IDIuN3MtLjkgMi4zLS45IDMuNiAuMyAyLjUgLjkgMy42IDEuNSAyIDIuNiAyLjdsMjEuOCAxMy41Yy4yIDIgLjMgMy45IC42IDUuOUw3LjEgMjk5LjFjLS45IC45LTEuNiAxLjktMiAzLjFzLS41IDIuNS0uMiAzLjcgLjggMi40IDEuNiAzLjMgMS44IDEuNyAzIDIuMWwyNCA5Yy42IDEuOSAxLjEgMy44IDEuNyA1LjZsLTE1IDIwLjhjLS43IDEtMS4yIDIuMi0xLjMgMy40czAgMi41IC41IDMuNyAxLjIgMi4yIDIuMiAyLjkgMi4xIDEuMyAzLjQgMS41bDI1LjQgNC4yYy45IDEuNyAxLjggMy40IDIuNyA1LjFMNDIuNiAzOTEuMWMtLjUgMS4xLS43IDIuNC0uNiAzLjZzLjUgMi41IDEuMiAzLjVjLjcgMS4xIDEuNiAxLjkgMi43IDIuNXMyLjQgLjggMy42IC44bDI1LjgtLjljMS4yIDEuNSAyLjQgMi45IDMuNiA0LjRMNzMgNDMwLjJjLS4zIDEuMi0uMyAyLjUgLjEgMy43czEgMi4zIDEuOSAzLjIgMiAxLjUgMy4yIDEuOSAyLjUgLjQgMy43IC4xbDI1LjItNS45YzEuNSAxLjIgMi45IDIuNCA0LjQgMy42bC0uOSAyNS44YzAgMS4zIC4yIDIuNSAuOCAzLjZzMS40IDIuMSAyLjUgMi44IDIuMiAxLjEgMy41IDEuMiAyLjUtLjEgMy42LS42bDIzLjQtMTAuN2MxLjcgLjkgMy40IDEuOCA1LjEgMi43bDQuMiAyNS40Yy4yIDEuMiAuNyAyLjQgMS41IDMuNHMxLjggMS44IDIuOSAyLjIgMi40IC43IDMuNyAuNSAyLjQtLjYgMy40LTEuM2wyMC44LTE1YzEuOSAuNiAzLjggMS4xIDUuNiAxLjdsOSAyNGMuNCAxLjIgMS4yIDIuMiAyLjEgM3MyLjEgMS40IDMuMyAxLjYgMi41IC4yIDMuNy0uMiAyLjMtMS4xIDMuMS0ybDE3LjUtMTguN2MyIC4yIDMuOSAuNCA1LjkgLjZsMTMuNSAyMS44Yy43IDEuMSAxLjYgMS45IDIuNyAyLjZzMi4zIC45IDMuNiAuOSAyLjUtLjMgMy42LS45IDItMS41IDIuNy0yLjZsMTMuNS0yMS44YzItLjIgMy45LS4zIDUuOS0uNmwxNy41IDE4LjdjLjkgLjkgMS45IDEuNiAzLjEgMnMyLjUgLjUgMy43IC4yIDIuNC0uOCAzLjMtMS42IDEuNy0xLjggMi4xLTNsOS0yNGMxLjktLjYgMy44LTEuMSA1LjYtMS43bDIwLjggMTVjMSAuNyAyLjIgMS4yIDMuNCAxLjNzMi41IDAgMy43LS41IDIuMi0xLjIgMi45LTIuMiAxLjMtMi4xIDEuNS0zLjRsNC4yLTI1LjRjMS43LS45IDMuNC0xLjggNS4xLTIuN2wyMy40IDEwLjdjMS4xIC41IDIuNCAuNyAzLjYgLjZzMi40LS41IDMuNS0xLjIgMS45LTEuNiAyLjUtMi44IC44LTIuNCAuOC0zLjZsLS45LTI1LjhjMS41LTEuMiAyLjktMi40IDQuNC0zLjZsMjUuMiA1LjljMS4yIC4zIDIuNSAuMyAzLjctLjFzMi4zLTEgMy4yLTEuOSAxLjUtMiAxLjktMy4yIC40LTIuNSAuMS0zLjdMNDMzLjEgNDA1YzEuMi0xLjQgMi40LTIuOSAzLjYtNC40bDI1LjggLjljMS4zIC4xIDIuNS0uMiAzLjYtLjhzMi4xLTEuNCAyLjgtMi41Yy43LTEgMS4xLTIuMiAxLjItMy41cy0uMS0yLjUtLjYtMy42bC0xMC43LTIzLjRjLjktMS43IDEuOC0zLjQgMi43LTUuMWwyNS40LTQuMmMxLjItLjIgMi40LS43IDMuNC0xLjVzMS44LTEuOCAyLjItMi45IC43LTIuNCAuNS0zLjctLjYtMi40LTEuMy0zLjRsLTE1LTIwLjhjLjYtMS45IDEuMS0zLjggMS43LTUuNmwyNC05YzEuMi0uNCAyLjItMS4yIDMtMi4xczEuNC0yLjEgMS42LTMuMyAuMi0yLjUtLjItMy43LTEuMS0yLjMtMi0zLjFsLTE4LjctMTcuNWMuMi0xLjkgLjQtMy45IC42LTUuOWwyMS44LTEzLjVjMS4xLS43IDEuOS0xLjYgMi42LTIuN3MuOS0yLjMgLjktMy42LS4zLTIuNS0uOS0zLjYtMS41LTItMi42LTIuN2wwIDB6bS0xNTEgMTI5LjFjLTMuNi0uOC03LjQtLjEtMTAuNSAxLjlzLTUuMyA1LjItNiA4LjhsLTcuNiAzNS43Yy0yNC42IDExLjEtNTEuMyAxNi44LTc4LjMgMTYuN3MtNTMuNi02LjEtNzguMS0xNy40bC03LjYtMzUuN2MtLjQtMS44LTEuMS0zLjUtMi4xLTVzLTIuNC0yLjgtMy45LTMuOC0zLjItMS43LTUtMi0zLjYtLjMtNS40IC4xbC0zMS41IDYuOGMtNS44LTYtMTEuMy0xMi41LTE2LjMtMTkuMmwxNTMuMiAwYzEuNyAwIDIuOS0uMyAyLjktMS45bDAtNTQuMmMwLTEuNi0xLjItMS45LTIuOS0xLjlsLTQ0LjggMCAwLTM0LjQgNDguNSAwYzQuNCAwIDIzLjcgMS4zIDI5LjggMjUuOSAxLjkgNy41IDYuMiAzMi4xIDkuMSA0MCAyLjkgOC44IDE0LjYgMjYuNSAyNy4xIDI2LjVsNzkgMGMtNS4zIDcuMS0xMS4xIDEzLjgtMTcuMyAyMC4xbC0zMi4xLTYuOXptMjUuOCAzNC41YzAgMy0uOSA2LTIuNiA4LjVzLTQgNC41LTYuOCA1LjYtNS44IDEuNS04LjggLjktNS43LTItNy44LTQuMi0zLjYtNC44LTQuMi03LjgtLjMtNiAuOC04LjggMy4xLTUuMiA1LjYtNi45IDUuNC0yLjYgOC41LTIuNmwuNCAwYzQgLjEgNy43IDEuOCAxMC41IDQuNnM0LjMgNi43IDQuMyAxMC42bC4xIDB6bS0yMjUuNi0uN2MwIDMtLjkgNi0yLjYgOC41cy00LjEgNC41LTYuOCA1LjYtNS44IDEuNS04LjggLjktNS43LTItNy44LTQuMi0zLjYtNC44LTQuMi03LjgtLjMtNiAuOS04LjggMy4xLTUuMiA1LjYtNi44IDUuNC0yLjYgOC41LTIuNmwuNSAwYzQgLjEgNy43IDEuOCAxMC41IDQuNnM0LjMgNi43IDQuMyAxMC42bC4xIDB6TTY5LjYgMjM0LjJsMzIuOC0xNC42YzEuNy0uNyAzLjItMS44IDQuNC0zLjFzMi4yLTIuOSAyLjktNC42IDEtMy41IC45LTUuMy0uNS0zLjYtMS4yLTUuM2wtNi44LTE1LjIgMjYuNiAwIDAgMTE5LjctNTMuNiAwYy02LjYtMjMuMi04LjctNDcuNi02LjEtNzEuNnpNNTguMyAxOTguMWMwLTIgLjQtNCAxLjItNS44czEuOS0zLjUgMy4zLTQuOSAzLjEtMi41IDQuOS0zLjMgMy44LTEuMiA1LjgtMS4ybC41IDBjMyAuMSA1LjkgMSA4LjMgMi44czQuMyA0LjEgNS40IDYuOSAxLjMgNS44IC43IDguOC0yLjEgNS42LTQuMyA3LjctNC45IDMuNS03LjggNC4xLTYgLjItOC43LS45LTUuMS0zLjEtNi44LTUuNi0yLjUtNS40LTIuNS04LjRsMCAwem0xNTUuMiAyNC41bDAtMzUuMyA2My4zIDBjMy4zIDAgMjMuMSAzLjggMjMuMSAxOC42IDAgMTIuMy0xNS4yIDE2LjctMjcuNyAxNi43bC01OC43IDB6TTM5OSAzMDYuN2MtOS44IDEuMS0yMC42LTQuMS0yMi0xMC4xLTUuOC0zMi41LTE1LjQtMzkuNC0zMC42LTUxLjQgMTguOS0xMiAzOC41LTI5LjYgMzguNS01My4zIDAtMjUuNS0xNy41LTQxLjYtMjkuNC00OS41LTE2LjgtMTEtMzUuMy0xMy4yLTQwLjMtMTMuMmwtMTk4LjkgMGMyNy41LTMwLjcgNjQuNC01MS41IDEwNC45LTU5LjJsMjMuNSAyNC42YzEuMyAxLjMgMi44IDIuNCA0LjQgMy4xczMuNSAxLjEgNS4zIDEuMiAzLjYtLjMgNS4zLS45IDMuMi0xLjcgNC42LTIuOWwyNi4zLTI1YzI2LjggNSA1Mi4xIDE1LjggNzQuMyAzMS42czQwLjYgMzYuMiA1NC4xIDU5LjlsLTE4IDQwLjZjLTEuNSAzLjQtMS41IDcuMi0uMiAxMC42czMuOSA2LjIgNy4zIDcuN2wzNC42IDE1LjNjMS4xIDEwLjggMS4yIDIxLjcgLjQgMzIuNWwtMTkuMyAwYy0xLjkgMC0yLjcgMS4zLTIuNyAzLjFsMCA4LjhjMCAyMC44LTExLjcgMjUuMy0yMiAyNi41ek0yNDAgNjAuMmMwLTQgMS42LTcuOSA0LjUtMTAuN3M2LjctNC41IDEwLjctNC41bC40IDBjMyAuMSA1LjkgMSA4LjQgMi44czQuMyA0LjEgNS40IDYuOSAxLjMgNS44IC43IDguOC0yLjEgNS42LTQuMyA3LjctNC45IDMuNS03LjggNC02IC4yLTguNy0uOS01LjEtMy4xLTYuOC01LjYtMi41LTUuNC0yLjUtOC40ek00MzYuOCAyMTRjLTIgMC00LS40LTUuOC0xLjJzLTMuNS0xLjktNC45LTMuMy0yLjUtMy4xLTMuMy00LjktMS4yLTMuOC0xLjItNS44IC40LTQgMS4yLTUuOCAxLjktMy41IDMuMy00LjkgMy4xLTIuNSA0LjktMy4zIDMuOC0xLjIgNS44LTEuMmwuNCAwYzQgLjEgNy45IDEuNyAxMC43IDQuNnM0LjQgNi44IDQuMyAxMC44LTEuNyA3LjktNC42IDEwLjctNi44IDQuNC0xMC44IDQuM3oiXX0sJDN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imhvcm5iaWxsIixpY29uOls1MTIsNTEyLFtdLCJmNTkyIiwiTTc2LjggMzcwLjNjMSA3LjgtLjQgMTUuOC00LjEgMjIuOHMtOS42IDEyLjYtMTYuNyAxNi4xLTE1LjEgNC43LTIyLjkgMy4zLTE1LTUuMS0yMC42LTEwLjctOS4yLTEyLjktMTAuNS0yMC43IDAtMTUuOCAzLjYtMjIuOSA5LjMtMTIuOCAxNi4zLTE2LjUgMTUtNSAyMi45LTMuOWMtNzguMy0xMTEuMyA1Mi0xOTAuNSA1Mi0xOTAuNS01LjkgNDMtOC4yIDkxLjItOC4yIDkxLjItNjcuMyA0MS41IC45IDY0LjEgMzkuOCA3Mi45IDkuOSAyNyAyNy44IDUwLjIgNTEuNCA2Ni43czUxLjYgMjUuMyA4MC4zIDI1LjNjMS45IDAgMy44LS4yIDUuNy0uM2wuMSAxOC45Yy05OS4yIDEuNC0xNTguNy0yOS4xLTE4OC45LTUxLjZ6bTEwOC0zMjcuN2MuOS03LjItLjItMTQuNi0zLjQtMjEuMi0zLTYuMi03LjYtMTEuNS0xMy40LTE1LjNzLTEyLjUtNS45LTE5LjQtNi4yLTEzLjggMS40LTE5LjggNC43LTExLjEgOC4zLTE0LjUgMTQuMy01LjIgMTIuOC01IDE5LjcgMi4yIDEzLjcgNS45IDE5LjUgOC45IDEwLjYgMTUuMSAxMy42IDEzLjEgNC40IDIwIDMuOWMtMjIuNiAyOS45LTUzLjggODkuNi01Mi40IDE5MGwyMS44LS4yYzAtLjktLjEtMS44LS4xLTIuNyAwLTI4IDguNC01NS4zIDI0LjEtNzguNXMzNy45LTQxLjIgNjMuOC01MS42YzgtMzcuNyAzMC43LTExNC4zIDczLjgtNDQuMyAwIDAgNDguMSAyLjQgOTEuMiA4LjIgMCAwLTc3LjgtMTI4LTE4Ny42LTU0LjFsMCAwek00ODkgMTc2LjhjNi4zLTMgMTEuNy03LjcgMTUuNS0xMy42czUuOS0xMi43IDYuMS0xOS44LTEuNi0xNC01LjItMjAtOC43LTExLTE0LjktMTQuMy0xMy4yLTQuOC0yMC4yLTQuNC0xMy44IDIuOC0xOS41IDYuOS0xMC4yIDkuNi0xMyAxNi4xLTMuNyAxMy42LTIuNyAyMC41Yy0zMS43LTIxLjktODkuOC00OS4xLTE4My40LTQ3LjdsLjEgMjIuNWMyLjctLjIgNS40LS40IDguMS0uNCAyOC4xIDAgNTUuNiA4LjUgNzguOSAyNC4zczQxLjIgMzguMyA1MS42IDY0LjVjMzkuMSA5IDEwNS4xIDMxLjYgMzguNSA3Mi41IDAgMC0yLjMgNDguMS04LjIgOTEuMiAwIDAgMTMzLjQtODEuMiA0OS0xOTQuNiA2LjYgLjYgMTMuMy0uNiAxOS4zLTMuNWwwIDB6TTM3NC40IDQzNi4yYzIxLjQtMzIuNSA0Ni40LTg5LjcgNDUuMS0xNzkuN2wtMTkuNSAuMWMuMSAyLjEgLjMgNC4xIC4zIDYuMiAwIDI4LjYtOC44IDU2LjUtMjUuMSA4MHMtMzkuNSA0MS40LTY2LjMgNTEuNGMtOC45IDM5LTMxLjQgMTA2LjctNzIuOCAzOS41IDAgMC00OC4xLTIuMy05MS4yLTguMiAwIDAgNzkuOSAxMzEuMyAxOTEuOSA1MSAuMyA0LjkgMS41IDkuNiAzLjYgMTQgMi45IDYuMSA3LjUgMTEuNCAxMy4xIDE1LjFzMTIuMiA2IDE5IDYuNCAxMy42LTEuMSAxOS42LTQuMiAxMS4xLTcuOCAxNC43LTEzLjYgNS42LTEyLjQgNS43LTE5LjItMS41LTEzLjUtNC44LTE5LjQtOC4yLTEwLjktMTQuMS0xNC4zLTEyLjYtNS4yLTE5LjQtNS4xbDAtLjF6Il19LEQzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaHAiLGljb246WzY0MCw1MTIsW10sImY0NTciLCJNMzIwIDEwNC41YzE3MS40IDAgMzAzLjIgNzIuMiAzMDMuMiAxNTEuNVM0OTEuMyA0MDcuNSAzMjAgNDA3LjVDMTQ4LjYgNDA3LjUgMTYuOCAzMzUuMyAxNi44IDI1NlMxNDguNyAxMDQuNSAzMjAgMTA0LjV6bTAtMTYuOEMxNDMuMyA4Ny43IDAgMTYzIDAgMjU2UzE0My4zIDQyNC4zIDMyMCA0MjQuMyA2NDAgMzQ5IDY0MCAyNTYgNDk2LjcgODcuNyAzMjAgODcuN3pNMjE4LjIgMjQyLjVjLTcuOSA0MC41LTM1LjggMzYuMy03MC4xIDM2LjNsMTMuNy03MC42YzM4IDAgNjMuOC00LjEgNTYuNCAzNC4zek05Ny40IDM1MC4zbDM2LjcgMCA4LjctNDQuOGM0MS4xIDAgNjYuNiAzIDkwLjItMTkuMSAyNi4xLTI0IDMyLjktNjYuNyAxNC4zLTg4LjEtOS43LTExLjItMjUuMy0xNi43LTQ2LjUtMTYuN2wtNzAuNyAwLTMyLjcgMTY4Ljd6TTI4My4xIDEzNi43bDM2LjUgMC04LjcgNDQuOGMzMS41IDAgNjAuNy0yLjMgNzQuOCAxMC43IDE0LjggMTMuNiA3LjcgMzEtOC4zIDExMy4xbC0zNyAwYzE1LjQtNzkuNCAxOC4zLTg2IDEyLjctOTItNS40LTUuOC0xNy43LTQuNi00Ny40LTQuNmwtMTguOCA5Ni42LTM2LjUgMCAzMi43LTE2OC42ek01MDUgMjQyLjVjLTggNDEuMS0zNi43IDM2LjMtNzAuMSAzNi4zbDEzLjctNzAuNmMzOC4yIDAgNjMuOC00LjEgNTYuNCAzNC4zek0zODQuMiAzNTAuM2wzNi44IDAgOC43LTQ0LjhjNDMuMiAwIDY3LjEgMi41IDkwLjItMTkuMSAyNi4xLTI0IDMyLjktNjYuNyAxNC4zLTg4LjEtOS43LTExLjItMjUuMy0xNi43LTQ2LjUtMTYuN2wtNzAuNyAwLTMyLjggMTY4Ljd6Il19LEEzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaXNxdXMiLGljb246WzU3Niw1MTIsW10sImU3ZDUiLCJNMjkwLjIgNTEyYy02Mi42IDAtMTE5LjktMjIuOS0xNjQuMi02MC44TDE3IDQ2Ni4xIDU5LjEgMzYyLjJjLTE0LjctMzIuNC0yMi45LTY4LjMtMjIuOS0xMDYuMiAwLTE0MS40IDExMy43LTI1NiAyNTQtMjU2IDE0MC4zIDAgMjU0IDExNC42IDI1NCAyNTYgMCAxNDEuNC0xMTMuNyAyNTYtMjU0IDI1NnpNNDI4LjkgMjU1LjNsMC0uN0M0MjguOSAxODAuNyAzNzYuOCAxMjggMjg3IDEyOGwtOTcgMCAwIDI1NiA5NS42IDBjOTAuNSAwIDE0My40LTU0LjkgMTQzLjQtMTI4Ljd6TTI4OCAzMjEuMWwtMjguNCAwIDAtMTMwLjIgMjguNCAwYzQxLjcgMCA2OS4zIDIzLjggNjkuMyA2NC43bDAgLjdjMCA0MS4zLTI3LjcgNjQuNy02OS4zIDY0Ljd6Il19LEUzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiI1MDBweCIsaWNvbjpbMzg0LDUxMixbXSwiZjI2ZSIsIk03MS44IDM0NC4zYy02LjUtMTQuMi02LjktMTguMyA3LjQtMjMuMSAyNS42LTggOCA5LjIgNDMuMiA0OS4ybC4zIDAgMC05My45YzEuMi01MC4yIDQ0LTkyLjIgOTcuNy05Mi4yIDUzLjkgMCA5Ny43IDQzLjUgOTcuNyA5Ni44IDAgNjMuNC02MC44IDExMy4yLTEyOC41IDkzLjMtMTAuNS00LjItMi4xLTMxLjcgOC41LTI4LjYgNTMgMCA4OS40LTEwLjEgODkuNC02NC40IDAtNjEtNzcuMS04OS42LTExNi45LTQ0LjYtMjMuNSAyNi40LTE3LjYgNDIuMS0xNy42IDE1Ny42IDUwLjcgMzEgMTE4LjMgMjIgMTYwLjQtMjAuMSAyNC44LTI0LjggMzguNS01OCAzOC41LTkzIDAtMzUuMi0xMy44LTY4LjItMzguOC05My4zLTI0LjgtMjQuOC01Ny44LTM4LjUtOTMuMy0zOC41UzE1MSAxNjMuMyAxMjYuMyAxODhjLS4zIC4zLTE2IDE2LjUtMjEuMiAyMy45bC0uNSAuNmMtMy4zIDQuNy02LjMgOS4xLTIwLjEgNi4xLTYuOS0xLjctMTQuMy01LjgtMTQuMy0xMS44TDcwLjIgMjBjMC01IDMuOS0xMC41IDEwLjUtMTAuNUwzMjIgOS41YzguMyAwIDguMyAxMS42IDguMyAxNS4xIDAgMy45IDAgMTUuMS04LjMgMTUuMWwtMjIzLjIgMCAwIDEzMi45IC4zIDBjMTA0LjItMTA5LjggMjgyLjgtMzYgMjgyLjggMTA4LjkgMCAxNzguMS0yNDQuOCAyMjAuMy0zMTAuMSA2Mi44ek0xMzUuMSA4My41Yy0uNSA0LjIgNC42IDI0LjUgMTQuNiAyMC42IDEyNC44LTQ3LjUgMjAyLjggNDAuNCAyMDkuNCA0MC40IDQuOCAwIDIyLjgtMTUuMyAxNC4zLTIyLjgtOTMuMi04OS0yMzQuNS01Ny0yMzguMy0zOC4yek0zNjEuNSA0MTQuN2MtMTEwIDEwOS45LTI5OSA2MC44LTMzMi0xMDQuMiAwLTEyLjItMzAuNC03LjQtMjguOSAzLjMgMjQgMTczLjQgMjQ2IDI1Ni45IDM4MS42IDEyMS4zIDYuOS03LjgtMTIuNi0yOC40LTIwLjctMjAuNHpNMTgyLjEgMzA2LjZjMCA0IDQuMyA3LjMgNS41IDguNSAzIDMgNi4xIDQuNCA4LjUgNC40IDMuOCAwIDIuNiAuMiAyMi4zLTE5LjUgMTkuNiAxOS4zIDE5LjEgMTkuNSAyMi4zIDE5LjUgNS40IDAgMTguNS0xMC40IDEwLjctMTguMmwtMTcuMy0xNy4zIDE4LjItMTguMmM2LjMtNi44LTEwLjEtMjEuOC0xNi4yLTE1LjdMMjE4LjIgMjY4Yy0xOC42LTE4LjgtMTguNC0xOS41LTIxLjUtMTkuNS01IDAtMTggMTEuNy0xMi40IDE3LjNMMjAyLjUgMjg0Yy0xOC4xIDE3LjktMjAuNCAxOS4yLTIwLjQgMjIuNnoiXX0sSTN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFmZmlsaWF0ZXRoZW1lIixpY29uOls1MTIsNTEyLFtdLCJmMzZiIiwiTTE1OS43IDIzNy40QzEwOC40IDMwOC4zIDQzLjEgMzQ4LjIgMTQgMzI2LjYtMTUuMiAzMDQuOSAyLjggMjMwIDU0LjIgMTU5LjEgMTA1LjUgODguMiAxNzAuOCA0OC4zIDE5OS45IDY5LjlzMTEuMSA5Ni42LTQwLjIgMTY3LjV6bTM1MS4yLTU3LjNjLTczLjggMTIzLjQtMTkxLjkgMTg3LjctMjY0LjUgMTQzLjYtMjUtMTUuMi00MS4zLTQxLjItNDktNzMuOC0zMy42IDY0LjgtOTIuOCAxMTMuOC0xNjQuMSAxMzMuMiA0OS44IDU5LjMgMTI0LjEgOTYuOSAyMDcgOTYuOSAxNTAgMCAyNzEuNi0xMjMuMSAyNzEuNi0yNzQuOSAuMS04LjUtLjMtMTYuOC0xLTI1eiJdfSxQM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVkLXJpdmVyIixpY29uOls0NDgsNTEyLFtdLCJmM2UzIiwiTTM1My4yIDMyTDk0LjggMzJDNDIuNCAzMiAwIDc0LjQgMCAxMjYuOEwwIDM4NS4yQzAgNDM3LjYgNDIuNCA0ODAgOTQuOCA0ODBsMjU4LjQgMGM1Mi40IDAgOTQuOC00Mi40IDk0LjgtOTQuOGwwLTI1OC40QzQ0OCA3NC40IDQwNS42IDMyIDM1My4yIDMyek0xNDQuOSAyMDAuOWwwIDU2LjNjMCAyNy0yMS45IDQ4LjktNDguOSA0OC45bDAtMTU0LjJjMC0xMy4yIDEwLjctMjMuOSAyMy45LTIzLjlsMTU0LjIgMGMwIDI3LTIxLjkgNDguOS00OC45IDQ4LjlsLTU2LjMgMGMtMTIuMy0uNi0yNC42IDExLjYtMjQgMjR6bTE3Ni4zIDcybC01Ni4zIDBjLTEyLjMtLjYtMjQuNiAxMS42LTI0IDI0bDAgNTYuM2MwIDI3LTIxLjkgNDguOS00OC45IDQ4LjlsMC0xNTQuMmMwLTEzLjIgMTAuNy0yMy45IDIzLjktMjMuOWwxNTQuMiAwYzAgMjctMjEuOSA0OC45LTQ4LjkgNDguOXoiXX0sTUQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHdpdHRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjA5OSIsIk00NTkuNCAxNTEuN2MuMyA0LjUgLjMgOS4xIC4zIDEzLjYgMCAxMzguNy0xMDUuNiAyOTguNi0yOTguNiAyOTguNi01OS41IDAtMTE0LjctMTcuMi0xNjEuMS00Ny4xIDguNCAxIDE2LjYgMS4zIDI1LjMgMS4zIDQ5LjEgMCA5NC4yLTE2LjYgMTMwLjMtNDQuOC00Ni4xLTEtODQuOC0zMS4yLTk4LjEtNzIuOCA2LjUgMSAxMyAxLjYgMTkuOCAxLjYgOS40IDAgMTguOC0xLjMgMjcuNi0zLjYtNDguMS05LjctODQuMS01Mi04NC4xLTEwM2wwLTEuM2MxNCA3LjggMzAuMiAxMi43IDQ3LjQgMTMuMy0yOC4zLTE4LjgtNDYuOC01MS00Ni44LTg3LjQgMC0xOS41IDUuMi0zNy40IDE0LjMtNTMgNTEuNyA2My43IDEyOS4zIDEwNS4zIDIxNi40IDEwOS44LTEuNi03LjgtMi42LTE1LjktMi42LTI0IDAtNTcuOCA0Ni44LTEwNC45IDEwNC45LTEwNC45IDMwLjIgMCA1Ny41IDEyLjcgNzYuNyAzMy4xIDIzLjctNC41IDQ2LjUtMTMuMyA2Ni42LTI1LjMtNy44IDI0LjQtMjQuNCA0NC44LTQ2LjEgNTcuOCAyMS4xLTIuMyA0MS42LTguMSA2MC40LTE2LjItMTQuMyAyMC44LTMyLjIgMzkuMy01Mi42IDU0LjN6Il19LE4zdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb3J0LWF3ZXNvbWUiLGljb246WzUxMiw1MTIsW10sImYyODYiLCJNNDg5LjUgMjg3LjlsLTI3LjQgMGMtMi42IDAtNC42IDItNC42IDQuNmwwIDMyLTM2LjYgMCAwLTE3OC4zYzAtMi42LTItNC42LTQuNi00LjZsLTI3LjQgMGMtMi42IDAtNC42IDItNC42IDQuNmwwIDMyLTM2LjYgMCAwLTMyYzAtMi42LTItNC42LTQuNi00LjZsLTI3LjQgMGMtMi42IDAtNC42IDItNC42IDQuNmwwIDMyLTM2LjYgMCAwLTMyYzAtNi04LTQuNi0xMS43LTQuNmwwLTM4YzguMy0yIDE3LjEtMy40IDI1LjctMy40IDEwLjkgMCAyMC45IDQuMyAzMS40IDQuMyA0LjYgMCAyNy43LTEuMSAyNy43LThsMC02MGMwLTIuNi0yLTQuNi00LjYtNC42LTUuMSAwLTE1LjEgNC4zLTI0IDQuMy05LjcgMC0yMC45LTQuMy0zMi42LTQuMy04IDAtMTYgMS4xLTIzLjcgMi45bDAtNC45YzUuNC0yLjYgOS4xLTguMyA5LjEtMTQuMyAwLTIwLjctMzEuNC0yMC44LTMxLjQgMCAwIDYgMy43IDExLjcgOS4xIDE0LjNsMCAxMTEuN2MtMy43IDAtMTEuNy0xLjQtMTEuNyA0LjZsMCAzMi0zNi42IDAgMC0zMmMwLTIuNi0yLTQuNi00LjYtNC42bC0yNy40IDBjLTIuNiAwLTQuNiAyLTQuNiA0LjZsMCAzMi0zNi4zIDAgMC0zMmMwLTIuNi0yLTQuNi00LjYtNC42bC0yNy40IDBjLTIuNiAwLTQuNiAyLTQuNiA0LjZsMCAxNzguMy0zNi42IDAgMC0zMmMwLTIuNi0yLTQuNi00LjYtNC42bC0yNy40IDBjLTIuNiAwLTQuNiAyLTQuNiA0LjZsMCAyMTkuNSAxODIuOSAwIDAtOTZjMC03Mi42IDEwOS43LTcyLjYgMTA5LjcgMGwwIDk2IDE4Mi45IDAgMC0yMTkuNWMuMS0yLjYtMS45LTQuNi00LjUtNC42em0tMjg4LjEtNC41YzAgMi42LTIgNC42LTQuNiA0LjZsLTI3LjQgMGMtMi42IDAtNC42LTItNC42LTQuNmwwLTY0YzAtMi42IDItNC42IDQuNi00LjZsMjcuNCAwYzIuNiAwIDQuNiAyIDQuNiA0LjZsMCA2NHptMTQ2LjQgMGMwIDIuNi0yIDQuNi00LjYgNC42bC0yNy40IDBjLTIuNiAwLTQuNi0yLTQuNi00LjZsMC02NGMwLTIuNiAyLTQuNiA0LjYtNC42bDI3LjQgMGMyLjYgMCA0LjYgMiA0LjYgNC42bDAgNjR6Il19LEYzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaXhlciIsaWNvbjpbNDQ4LDUxMixbXSwiZTA1NiIsIk04Mi42IDc2LjFjLTMuOC01LjEtOC43LTkuNC0xNC4yLTEyLjVzLTExLjctNS4xLTE4LjEtNS43LTEyLjggLjEtMTguOCAyLjItMTEuNiA1LjMtMTYuMyA5LjZjLTE3LjYgMTYuMi0xOSA0My41LTQuOCA2Mi44bDkxLjggMTIzLTkyLjMgMTI0LjFjLTE0LjIgMTkuMy0xMy4xIDQ2LjYgNC43IDYyLjggNC43IDQuMyAxMC4zIDcuNiAxNi4zIDkuNnMxMi41IDIuOCAxOC44IDIuMiAxMi41LTIuNSAxOC4xLTUuNyAxMC40LTcuNCAxNC4yLTEyLjVMMjEwLjkgMjYyLjdjMS41LTIuMSAyLjMtNC42IDIuMy03LjFzLS44LTUtMi4zLTcuMUw4Mi42IDc2LjF6TTQzOC4yIDM3OS42bC05Mi4zLTEyNC4xIDkxLjgtMTIzYzE0LjItMTkuMiAxMi44LTQ2LjYtNC43LTYyLjgtNC43LTQuMy0xMC4zLTcuNi0xNi4zLTkuNnMtMTIuNS0yLjgtMTguOC0yLjItMTIuNSAyLjUtMTguMSA1LjctMTAuNCA3LjQtMTQuMiAxMi41bC0xMjggMTcyLjFjLTEuNSAyLjEtMi4zIDQuNi0yLjMgNy4xcy44IDUgMi4zIDcuMUwzNjYgNDM1LjljMy44IDUuMSA4LjcgOS40IDE0LjIgMTIuNXMxMS43IDUuMSAxOC4xIDUuNyAxMi44LS4xIDE4LjgtMi4yIDExLjYtNS4zIDE2LjMtOS42YzE3LjgtMTYuMiAxOS00My41IDQuNy02Mi44eiJdfSxPM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibHlmdCIsaWNvbjpbNTEyLDUxMixbXSwiZjNjMyIsIk0wIDgxLjFsNzcuOCAwIDAgMjA4LjdjMCAzMy4xIDE1IDUyLjggMjcuMiA2MS0xMi43IDExLjEtNTEuMiAyMC45LTgwLjItMi44LTE3LTE0LTI0LjgtMzcuMy0yNC44LTU5TDAgODEuMXpNNDg1LjkgMjU0LjZsMC0yMiAyMy44IDAgMC03Ni44LTI2LjEgMGMtMTAuMS00Ni4zLTUxLjItODAuNy0xMDAuMy04MC43LTU2LjYgMC0xMDIuNyA0Ni0xMDIuNyAxMDIuN2wwIDE3OS4yYzE2IDIuMyAzNS40LS4zIDUxLjctMTQgMTcuMS0xNCAyNC44LTM3LjIgMjQuOC01OWwwLTYuNyAzOC44IDAgMC03Ni44LTM4LjggMCAwLTIzLjNjMC0zNC42IDUyLjItMzQuNiA1Mi4yIDBsMCA3Ny4xYzAgNTYuNiA0NiAxMDIuNyAxMDIuNyAxMDIuN2wwLTc2LjVjLTE0LjUgMC0yNi4xLTExLjctMjYuMS0yNS45em0tMjk0LjMtOTlsMCAxMTNjMCAxNS40LTIzLjggMTUuNC0yMy44IDBsMC0xMTMtNzYuOCAwIDAgMTMyLjdjMCAyMy44IDggNTQgNDUgNjMuOSAzNyA5LjggNTguMi0xMC42IDU4LjItMTAuNi0yLjEgMTMuNC0xNC41IDIzLjMtMzQuOSAyNS4zLTE1LjUgMS42LTM1LjItMy42LTQ1LTcuOGwwIDcwLjNjMjUuMSA3LjUgNTEuNSA5LjggNzcuNiA0LjcgNDcuMS05LjEgNzYuOC00OC40IDc2LjgtMTAwLjhsMC0xNzguMi03Ny4xIDAgMCAuNXoiXX0sUjN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFwcGxlLXBheSIsaWNvbjpbNjQwLDUxMixbXSwiZjQxNSIsIk0xMTYuOSAxNTguNWMtNy41IDguOS0xOS41IDE1LjktMzEuNSAxNC45LTEuNS0xMiA0LjQtMjQuOCAxMS4zLTMyLjYgNy41LTkuMSAyMC42LTE1LjYgMzEuMy0xNi4xIDEuMiAxMi40LTMuNyAyNC43LTExLjEgMzMuOHptMTAuOSAxNy4yYy0xNy40LTEtMzIuMyA5LjktNDAuNSA5LjktOC40IDAtMjEtOS40LTM0LjgtOS4xLTE3LjkgLjMtMzQuNSAxMC40LTQzLjYgMjYuNS0xOC44IDMyLjMtNC45IDgwIDEzLjMgMTA2LjMgOC45IDEzIDE5LjUgMjcuMyAzMy41IDI2LjggMTMuMy0uNSAxOC41LTguNiAzNC41LTguNiAxNi4xIDAgMjAuOCA4LjYgMzQuOCA4LjQgMTQuNS0uMyAyMy42LTEzIDMyLjUtMjYgMTAuMS0xNC44IDE0LjMtMjkuMSAxNC41LTI5LjktLjMtLjMtMjgtMTAuOS0yOC4zLTQyLjktLjMtMjYuOCAyMS45LTM5LjUgMjIuOS00MC4zLTEyLjUtMTguNi0zMi0yMC42LTM4LjgtMjEuMXptMTAwLjQtMzYuMmwwIDE5NC45IDMwLjMgMCAwLTY2LjYgNDEuOSAwYzM4LjMgMCA2NS4xLTI2LjMgNjUuMS02NC4zcy0yNi40LTY0LTY0LjEtNjRsLTczLjIgMHpNMjU4LjUgMTY1bDM0LjkgMGMyNi4zIDAgNDEuMyAxNCA0MS4zIDM4LjZzLTE1IDM4LjgtNDEuNCAzOC44bC0zNC44IDAgMC03Ny40ek00MjAuNyAzMzUuOWMxOSAwIDM2LjYtOS42IDQ0LjYtMjQuOWwuNiAwIDAgMjMuNCAyOCAwIDAtOTdjMC0yOC4xLTIyLjUtNDYuMy01Ny4xLTQ2LjMtMzIuMSAwLTU1LjkgMTguNC01Ni44IDQzLjZsMjcuMyAwYzIuMy0xMiAxMy40LTE5LjkgMjguNi0xOS45IDE4LjUgMCAyOC45IDguNiAyOC45IDI0LjVsMCAxMC44LTM3LjggMi4zYy0zNS4xIDIuMS01NC4xIDE2LjUtNTQuMSA0MS41IC4xIDI1LjIgMTkuNyA0MiA0Ny44IDQyem04LjItMjMuMWMtMTYuMSAwLTI2LjQtNy44LTI2LjQtMTkuNiAwLTEyLjMgOS45LTE5LjQgMjguOC0yMC41bDMzLjYtMi4xIDAgMTFjMCAxOC4yLTE1LjUgMzEuMi0zNiAzMS4yem0xMDIuNSA3NC42YzI5LjUgMCA0My40LTExLjMgNTUuNS00NS40bDUzLjEtMTQ5LTMwLjggMC0zNS42IDExNS4xLS42IDAtMzUuNi0xMTUuMS0zMS42IDAgNTEuMiAxNDEuOS0yLjggOC42Yy00LjYgMTQuNi0xMi4xIDIwLjMtMjUuNSAyMC4zLTIuNCAwLTctLjMtOC45LS41bDAgMjMuNGMxLjggLjQgOS4zIC43IDExLjYgLjd6Il19LEIzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcnRzdGF0aW9uIixpY29uOls1MTIsNTEyLFtdLCJmNzdhIiwiTTIuMSAzNzcuNGw0MyA3NC4zYzQuMyA4LjUgMTAuOCAxNS43IDE4LjkgMjAuN3MxNy40IDcuNiAyNyA3LjZsMjg1LjQgMC01OS4yLTEwMi42LTMxNS4xIDB6TTUwMS45IDM1MEwzMzUuNyA1OS4zYy00LjQtOC4yLTEwLjktMTUuMS0xOC45LTIwUzI5OS43IDMyIDI5MC40IDMybC04OC40IDAgMjU3LjMgNDQ3LjYgNDAuNy03MC41YzEuOS0zLjIgMjEtMjkuNyAyLTU5LjF6TTI3NS4yIDMwNC41bC0xMTUuNS0yMDAtMTE1LjUgMjAwIDIzMSAweiJdfSxIM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibm9kZS1qcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjNkMyIsIk0yMjQuNSA1MDhjLTYuNyAwLTEzLjUtMS44LTE5LjQtNS4ybC02MS43LTM2LjVjLTkuMi01LjItNC43LTctMS43LTggMTIuMy00LjMgMTQuOC01LjIgMjcuOS0xMi43IDEuNC0uOCAzLjItLjUgNC42IC40bDQ3LjQgMjguMWMxLjcgMSA0LjEgMSA1LjcgMEw0MTIgMzY3LjVjMS43LTEgMi44LTMgMi44LTVsMC0yMTMuMmMwLTIuMS0xLjEtNC0yLjktNS4xTDIyNy4zIDM3LjdjLTEuNy0xLTQtMS01LjcgMEwzNy4xIDE0NC4zYy0xLjggMS0yLjkgMy0yLjkgNS4xbDAgMjEzLjFjMCAyIDEuMSA0IDIuOSA0LjlsNTAuNiAyOS4yYzI3LjUgMTMuNyA0NC4zLTIuNCA0NC4zLTE4LjdsMC0yMTAuNGMwLTMgMi40LTUuMyA1LjQtNS4zbDIzLjQgMGMyLjkgMCA1LjQgMi4zIDUuNCA1LjNsMCAyMTAuNWMwIDM2LjYtMjAgNTcuNi01NC43IDU3LjYtMTAuNyAwLTE5LjEgMC00Mi41LTExLjZMMjAuNiAzOTYuMWMtMTItNi45LTE5LjQtMTkuOC0xOS40LTMzLjdsMC0yMTMuMWMwLTEzLjggNy40LTI2LjggMTkuNC0zMy43TDIwNS4xIDljMTEuNy02LjYgMjcuMi02LjYgMzguOCAwTDQyOC42IDExNS43YzEyIDYuOSAxOS40IDE5LjggMTkuNCAzMy43bDAgMjEzLjFjMCAxMy44LTcuNCAyNi43LTE5LjQgMzMuN0wyNDMuOSA1MDIuOGMtNS45IDMuNC0xMi42IDUuMi0xOS40IDUuMnpNMzczLjYgMjk3LjljMC0zOS45LTI3LTUwLjUtODMuNy01OC01Ny40LTcuNi02My4yLTExLjUtNjMuMi0yNC45IDAtMTEuMSA0LjktMjUuOSA0Ny40LTI1LjkgMzcuOSAwIDUxLjkgOC4yIDU3LjcgMzMuOCAuNSAyLjQgMi43IDQuMiA1LjIgNC4ybDI0IDBjMS41IDAgMi45LS42IDMuOS0xLjdzMS41LTIuNiAxLjQtNC4xYy0zLjctNDQuMS0zMy02NC42LTkyLjItNjQuNi01Mi43IDAtODQuMSAyMi4yLTg0LjEgNTkuNSAwIDQwLjQgMzEuMyA1MS42IDgxLjggNTYuNiA2MC41IDUuOSA2NS4yIDE0LjggNjUuMiAyNi43IDAgMjAuNi0xNi42IDI5LjQtNTUuNSAyOS40LTQ4LjkgMC01OS42LTEyLjMtNjMuMi0zNi42LS40LTIuNi0yLjYtNC41LTUuMy00LjVsLTIzLjkgMGMtMyAwLTUuMyAyLjQtNS4zIDUuMyAwIDMxLjEgMTYuOSA2OC4yIDk3LjggNjguMiA1OC40LS4xIDkyLTIzLjIgOTItNjMuNHoiXX0scTN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVuY2hhcnRlZCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA4NCIsIk0xNzEuOCAyMzIuOGMxLjEgMCAyLjEtLjMgMy0uOXMxLjYtMS40IDItMi40YzIuMi05LjggNy40LTE4LjYgMTQuOS0yNS4zIDEuMi0uOCAxLjctMi41IDEuNy00LjEtLjEtLjctLjMtMS4zLS42LTEuOXMtLjktMS4xLTEuNC0xLjRMNzQuNSAxMjguNSAxNDkuMSA4NWMxLjUtLjggMi43LTIgMy42LTMuNXMxLjQtMy4xIDEuNC00LjhjMC0xLjctLjQtMy40LTEuMy00LjlzLTIuMi0yLjctMy43LTMuNEwxMjYuNyA1NS42Yy0xLjUtLjgtMy4xLTEuMi00LjgtMS4ycy0zLjMgLjQtNC44IDEuMkwxNyAxMTMuNmMtMS41IC44LTIuNyAyLTMuNiAzLjVzLTEuNCAzLjEtMS40IDQuOEwxMiAyMzdjMCAxLjcgLjQgMy40IDEuMyA0LjlzMi4yIDIuNyAzLjcgMy40bDIyLjQgMTIuOGMxLjUgLjkgMy4yIDEuMyA1IDEuMiAyLjQgLjEgNC44LS44IDYuNi0yLjUgMS44LTEuOSAyLjgtNC40IDIuOS03bDAtODUuMyAxMTUuOSA2Ny45Yy42IC4zIDEuNCAuNCAyLjEgLjR6TTMyMy40IDM3Ny43Yy0xLjcgLjEtMy40IC41LTUgMS4ybC03NC41IDQzLjEgMC0xMzQuMmMwLTIuOS0yLjktNS44LTYuMi00LjYtOS40IDIuOC0xOS41IDMtMjkgLjQtLjctLjItMS41LS4yLTIuMi0uMXMtMS40IC40LTIgLjktMS4xIDEtMS40IDEuNy0uNSAxLjQtLjUgMi4xbDAgMTMzLjMtNzQuNS00My4xYy0xLjUtLjktMy4yLTEuMy01LTEuMi0yLjUgMC00LjkgMS02LjcgMi44cy0yLjggNC4yLTIuOCA2LjdsMCAyNi4xYzAgMS43IC40IDMuNCAxLjMgNC45czIuMiAyLjcgMy43IDMuNGwxMDAuMiA1Ny42YzEuNSAuOSAzLjIgMS4zIDUgMS4yIDEuNyAwIDMuNC0uNCA1LTEuMmwxMDAuMi01Ny42YzEuNS0uOCAyLjctMiAzLjYtMy41czEuNC0zLjEgMS40LTQuOGwwLTI2LjFjLS44LTQuNi01LjQtOS4xLTEwLjQtOS4xek0yODYuMSA3OGEyMyAyMyAwIDEgMCAwLTQ2IDIzIDIzIDAgMSAwIDAgNDZ6bTYzLjYtMTAuMWEyMyAyMyAwIDEgMCAwIDQ2IDIzIDIzIDAgMSAwIDAtNDZ6bTYzLjIgODMuN2EyMyAyMyAwIDEgMCAwLTQ2IDIzIDIzIDAgMSAwIDAgNDZ6bS02My4yLTkuMmEyMyAyMyAwIDEgMCAwIDQ2IDIzIDIzIDAgMSAwIDAtNDZ6bS02My42IDgzLjJjNC41IDAgOS0xLjMgMTIuOC0zLjlzNi43LTYuMSA4LjUtMTAuMyAyLjItOC44IDEuMy0xMy4zLTMuMS04LjYtNi4zLTExLjgtNy4zLTUuNC0xMS44LTYuMy05LjEtLjQtMTMuMyAxLjMtNy44IDQuNy0xMC4zIDguNS0zLjkgOC4yLTMuOSAxMi44YzAgMyAuNiA2IDEuOCA4LjhzMi45IDUuMyA1IDcuNSA0LjcgMy44IDcuNSA1IDUuOCAxLjggOC44IDEuOGwwIDB6TTIyNCAyNjJjNC41IDAgOS0xLjQgMTIuOC0zLjlzNi43LTYuMSA4LjUtMTAuMyAyLjItOC44IDEuMy0xMy4zLTMuMS04LjYtNi4zLTExLjgtNy4zLTUuNC0xMS44LTYuMy05LjEtLjQtMTMuMyAxLjMtNy44IDQuNy0xMC4zIDguNS0zLjkgOC4yLTMuOSAxMi44YzAgMyAuNiA2IDEuNyA4LjhzMi44IDUuMyA1IDcuNSA0LjcgMy44IDcuNSA1IDUuOCAxLjggOC44IDEuOGwwIDB6bTE4OC45LTgyLjRjLTQuNiAwLTkgMS4zLTEyLjggMy45cy02LjcgNi4xLTguNSAxMC4zLTIuMiA4LjgtMS4zIDEzLjMgMy4xIDguNiA2LjMgMTEuOCA3LjMgNS40IDExLjggNi4zIDkuMSAuNCAxMy4zLTEuMyA3LjgtNC43IDEwLjMtOC41IDMuOS04LjIgMy45LTEyLjhjMC02LjEtMi40LTExLjktNi43LTE2LjNzLTEwLjItNi43LTE2LjMtNi43bDAgMHptMCA3Mi4zYy00LjYgMC05IDEuMy0xMi44IDMuOXMtNi43IDYuMS04LjUgMTAuMy0yLjIgOC44LTEuMyAxMy4zIDMuMSA4LjYgNi4zIDExLjggNy4zIDUuNCAxMS44IDYuMyA5LjEgLjQgMTMuMy0xLjMgNy44LTQuNyAxMC4zLTguNSAzLjktOC4yIDMuOS0xMi44YzAtNi4xLTIuNC0xMS45LTYuNy0xNi4zcy0xMC4yLTYuNy0xNi4zLTYuN2wwIDB6Il19LGozdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwbGF5c3RhdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZjNkZiIsIk01NzEgMzcyLjNjLTExLjMgMTQuMi0zOC44IDI0LjMtMzguOCAyNC4zbC0yMDUuMSA3My42IDAtNTQuMyAxNTAuOS01My44YzE3LjEtNi4xIDE5LjgtMTQuOCA1LjgtMTkuNC0xMy45LTQuNi0zOS4xLTMuMy01Ni4yIDIuOWwtMTAwLjUgMzUuNSAwLTU2LjRjMjMuMi03LjggNDcuMS0xMy42IDc1LjctMTYuOCA0MC45LTQuNSA5MC45IC42IDEzMC4yIDE1LjUgNDQuMiAxNCA0OS4yIDM0LjcgMzggNDguOXpNMzQ2LjYgMjc5LjhsMC0xMzljMC0xNi4zLTMtMzEuMy0xOC4zLTM1LjYtMTEuNy0zLjgtMTkgNy4xLTE5IDIzLjRsMCAzNDcuOS05My44LTI5LjggMC00MTQuN2MzOS45IDcuNCA5OCAyNC45IDEyOS4yIDM1LjQgNzkuNSAyNy4zIDEwNi40IDYxLjMgMTA2LjQgMTM3LjggMCA3NC41LTQ2IDEwMi44LTEwNC41IDc0LjZ6TTQzLjMgNDEwLjJjLTQ1LjQtMTIuOC01My0zOS41LTMyLjMtNTQuOCAxOS4xLTE0LjIgNTEuNy0yNC45IDUxLjctMjQuOWwxMzQuNS00Ny44IDAgNTQuNS05Ni44IDM0LjZjLTE3LjEgNi4xLTE5LjcgMTQuOC01LjggMTkuNHMzOS4xIDMuMyA1Ni4yLTIuOWw0Ni40LTE2LjkgMCA0OC44Yy01MS42IDkuMy0xMDEuNCA3LjMtMTUzLjktMTB6Il19LFYzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaWNyb2Jsb2ciLGljb246WzQ0OCw1MTIsW10sImUwMWEiLCJNMzk5LjggMzYyLjJjMjkuNS0zNC43IDQ3LjEtNzguMyA0Ny4xLTEyNS44IDAtMTEzLTk5LjYtMjA0LjQtMjIyLjUtMjA0LjRTMiAxMjMuNSAyIDIzNi40IDEwMS42IDQ0MC45IDIyNC41IDQ0MC45YzI3IDAgNTMuOS00LjUgNzkuNC0xMy40IDEuNC0uNSAzLS41IDQuNS0uMXMyLjcgMS40IDMuNiAyLjZjMTguNiAyNS4xIDQ3LjYgNDIuNyA3OS45IDQ5LjkgMS4xIC4yIDIuMyAwIDMuMy0uNnMxLjctMS42IDEuOS0yLjhjLjEtLjYgLjEtMS4zIDAtMS45cy0uNC0xLjItLjgtMS43Yy0xMi4zLTE2LTE4LjctMzUuOC0xOC01NnM4LjQtMzkuNSAyMS43LTU0LjdsLS4yIC4xek0zMzAgMjEyLjRsLTU3LjMgNDMuNSAyMC44IDY4LjljLjQgMS4zIC40IDIuNy0uMSA0cy0xLjIgMi40LTIuMyAzLjItMi40IDEuMi0zLjggMS4yLTIuNy0uNC0zLjgtMS4ybC01OS4xLTQxLTU5LjEgNDEuMWMtMS4xIC44LTIuNCAxLjItMy44IDEuMnMtMi43LS40LTMuOC0xLjItMS45LTEuOS0yLjMtMy4yLS41LTIuNy0uMS00bDIwLjgtNjguOS01Ny4zLTQzLjVjLTEuMS0uOC0xLjktMS45LTIuMy0zLjJzLS40LTIuNyAwLTQgMS4yLTIuNCAyLjMtMy4yIDIuNC0xLjMgMy43LTEuM2w3MS45LTEuNSAyMy43LTY3LjljLjQtMS4zIDEuMy0yLjQgMi40LTMuMnMyLjQtMS4yIDMuOC0xLjIgMi43IC40IDMuOCAxLjIgMS45IDEuOSAyLjQgMy4ybDIzLjcgNjcuOSA3MS45IDEuNWMxLjQgMCAyLjcgLjQgMy44IDEuMnMxLjkgMS45IDIuMyAzLjIgLjQgMi43IDAgNC0xLjIgMi40LTIuMyAzLjNsMCAweiJdfSxVM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0a3Jha2VuIixpY29uOls1NzYsNTEyLFtdLCJmM2E2IiwiTTU1Ny43IDExOC4xYy0yLjMtNi4xLTkuMy05LjItMTUuMy02LjYtNS43IDIuNC04LjUgOC45LTYuMyAxNC42IDEwLjkgMjkgMTYuOSA2MC41IDE2LjkgOTMuMyAwIDEzNC42LTEwMC4zIDI0NS43LTIzMC4yIDI2Mi43bDAtMTIzLjdjNy45LTEuNSAxNS41LTMuNiAyMy02LjJsMCAxMDRjMTA2LjctMjUuOSAxODUuOS0xMjIuMSAxODUuOS0yMzYuOCAwLTkxLjgtNTAuOC0xNzEuOC0xMjUuOC0yMTMuMy01LjctMy4yLTEzLS45LTE1LjkgNS0yLjcgNS41LS42IDEyLjIgNC43IDE1LjEgNjcuOSAzNy42IDExMy45IDExMCAxMTMuOSAxOTMuMiAwIDkzLjMtNTcuOSAxNzMuMS0xMzkuOCAyMDUuNGwwLTkyLjJjMTQuMi00LjUgMjQuOS0xNy43IDI0LjktMzMuNSAwLTEzLjEtNi44LTI0LjQtMTcuMy0zMC41IDguMy03OS41IDQ0LjUtNTguNiA0NC41LTgzLjlsMC0xNC43YzAtMzgtODcuOS0xNjEuOC0xMjktMTY0LjctMi41LS4yLTUtLjItNy42IDAtNDEuMiAzLTEyOS4xIDEyNi43LTEyOS4xIDE2NC43bDAgMTQuOGMwIDI1LjMgMzYuMyA0LjMgNDQuNSA4My45LTEwLjYgNi4xLTE3LjMgMTcuNC0xNy4zIDMwLjUgMCAxNS44IDEwLjYgMjkgMjQuOCAzMy41bDAgOTIuMmMtODEuOS0zMi4yLTEzOS44LTExMi0xMzkuOC0yMDUuNCAwLTgzLjEgNDYtMTU1LjUgMTEzLjktMTkzLjIgNS40LTMgNy40LTkuNiA0LjctMTUuMS0yLjktNS45LTEwLjEtOC4yLTE1LjktNS03NSA0MS41LTEyNS44IDEyMS41LTEyNS44IDIxMy4zIDAgMTE0LjcgNzkuMiAyMTAuOCAxODUuOSAyMzYuOGwwLTEwNGM3LjYgMi41IDE1LjEgNC42IDIzIDYuMmwwIDEyMy43Yy0xMjkuOC0xNy0yMzAuMi0xMjguMS0yMzAuMi0yNjIuNyAwLTMyLjggNi02NC4zIDE2LjktOTMuMyAyLjItNS44LS42LTEyLjItNi4zLTE0LjYtNi0yLjYtMTMgLjQtMTUuMyA2LjYtMTEuOCAzMS41LTE4LjMgNjUuNi0xOC4zIDEwMS4zIDAgMTU1LjEgMTIyLjYgMjgxLjYgMjc2LjMgMjg3LjhsMC0xNDUuOWM2LjggLjQgMTUgLjUgMjMuNCAwbDAgMTQ1LjhjMTUzLjctNi4xIDI3Ni4zLTEzMi42IDI3Ni4zLTI4Ny43IDAtMzUuNy02LjUtNjkuOC0xOC4zLTEwMS40ek0zNTcuOSAzMjIuOWEyMy43IDIzLjcgMCAxIDEgMC00Ny40IDIzLjcgMjMuNyAwIDEgMSAwIDQ3LjR6TTIxOC4xIDI3NS40YTIzLjcgMjMuNyAwIDEgMSAwIDQ3LjQgMjMuNyAyMy43IDAgMSAxIDAtNDcuNHoiXX0sUTFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRlbGVncmFtIixpY29uOls1MTIsNTEyLFs2MjQ2MiwidGVsZWdyYW0tcGxhbmUiXSwiZjJjNiIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTM3MSAxNzYuN2MtMy43IDM5LjItMTkuOSAxMzQuNC0yOC4xIDE3OC4zLTMuNSAxOC42LTEwLjMgMjQuOC0xNi45IDI1LjQtMTQuNCAxLjMtMjUuMy05LjUtMzkuMy0xOC43LTIxLjgtMTQuMy0zNC4yLTIzLjItNTUuMy0zNy4yLTI0LjUtMTYuMS04LjYtMjUgNS4zLTM5LjUgMy43LTMuOCA2Ny4xLTYxLjUgNjguMy02Ni43IC4yLS43IC4zLTMuMS0xLjItNC40cy0zLjYtLjgtNS4xLS41Yy0yLjIgLjUtMzcuMSAyMy41LTEwNC42IDY5LjEtOS45IDYuOC0xOC45IDEwLjEtMjYuOSA5LjktOC45LS4yLTI1LjktNS0zOC42LTkuMS0xNS41LTUtMjcuOS03LjctMjYuOC0xNi4zIC42LTQuNSA2LjctOSAxOC40LTEzLjcgNzIuMy0zMS41IDEyMC41LTUyLjMgMTQ0LjYtNjIuMyA2OC45LTI4LjYgODMuMi0zMy42IDkyLjUtMzMuOCAyLjEgMCA2LjYgLjUgOS42IDIuOSAyIDEuNyAzLjIgNC4xIDMuNSA2LjcgLjUgMy4yIC42IDYuNSAuNCA5Ljh6Il19LFczdD1RMWUsRzN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVsdHJhbHl0aWNzIixpY29uOls1MTIsNTEyLFtdLCJlODZkIiwiTTM5MS40IDM5LjdjNjUuOC0uMiAxMTguNiA1MS44IDEyMC40IDExNi42IC43IDI2LjQtMS41IDU0LjEtMy44IDc0LjEtMTcuMiAxNDguNi0xMjIuNCAyNDItMjUyLjQgMjQyLTk1LjQtLjEtMTc5LjQtNTIuNy0yMjMuMi0xMzAuNiAyNC40IDE3LjQgNTQuNSAyNy40IDg3LjYgMjcuNCA4My4yIC4xIDE1MS40LTY3LjQgMTUxLjItMTUwbC4xLTYwLjZjLS4yLTY1LjcgNTMuOS0xMTkgMTIwLjEtMTE4Ljl6TTExOS45IDEwMC4yYzY2LjIgMCAxMTkuOSA1My4zIDExOS45IDExOVMxODYuMSAzMzguMyAxMTkuOSAzMzguMyAwIDI4NSAwIDIxOS4zYzAtNjUuNyA1My43LTExOSAxMTkuOS0xMTl6Il19LFkzdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpdHVuZXMtbm90ZSIsaWNvbjpbMzg0LDUxMixbXSwiZjNiNSIsIk0zODEuOSAzODguMmMtNi40IDI3LjQtMjcuMiA0Mi44LTU1LjEgNDgtMjQuNSA0LjUtNDQuOSA1LjYtNjQuNS0xMC4yLTIzLjktMjAuMS0yNC4yLTUzLjQtMi43LTc0LjQgMTctMTYuMiA0MC45LTE5LjUgNzYuOC0yNS44IDYtMS4xIDExLjItMi41IDE1LjYtNy40IDYuNC03LjIgNC40LTQuMSA0LjQtMTYzLjIgMC0xMS4yLTUuNS0xNC4zLTE3LTEyLjMtOC4yIDEuNC0xODUuNyAzNC42LTE4NS43IDM0LjYtMTAuMiAyLjItMTMuNCA1LjItMTMuNCAxNi43IDAgMjM0LjcgMS4xIDIyMy45LTIuNSAyMzkuNS00LjIgMTguMi0xNS40IDMxLjktMzAuMiAzOS41LTE2LjggOS4zLTQ3LjIgMTMuNC02My40IDEwLjQtNDMuMi04LjEtNTguNC01OC0yOS4xLTg2LjYgMTctMTYuMiA0MC45LTE5LjUgNzYuOC0yNS44IDYtMS4xIDExLjItMi41IDE1LjYtNy40IDEwLjEtMTEuNSAxLjgtMjU2LjYgNS4yLTI3MC4yIC44LTUuMiAzLTkuNiA3LjEtMTIuOSA0LjItMy41IDExLjgtNS41IDEzLjQtNS41IDIwNC0zOC4yIDIyOC45LTQzLjEgMjMyLjQtNDMuMSAxMS41LS44IDE4LjEgNiAxOC4xIDE3LjYgLjIgMzQ0LjUgMS4xIDMyNi0xLjggMzM4LjV6Il19LFozdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsZXNzIixpY29uOls2NDAsNTEyLFtdLCJmNDFkIiwiTTYxMy4yIDIxOWMwLTIwLjUgMy4yLTMyLjYgMy4yLTU0LjYgMC0zNC4yLTEyLjYtNDUuMi00MC41LTQ1LjJsLTIwLjUgMCAwIDI0LjIgNi4zIDBjMTQuMiAwIDE3LjMgNC43IDE3LjMgMjIuMSAwIDE2LjMtMS42IDMyLjYtMS42IDUxLjUgMCAyNC4yIDcuOSAzMy42IDIzLjYgMzcuM2wwIDEuNmMtMTUuOCAzLjctMjMuNiAxMy4xLTIzLjYgMzcuMyAwIDE4LjkgMS42IDM0LjIgMS42IDUxLjUgMCAxNy45LTMuNyAyMi42LTE3LjMgMjIuNmwwIC41LTYuMyAwIDAgMjUuMiAyMC41IDBjMjcuOCAwIDQwLjUtMTEgNDAuNS00NS4yIDAtMjIuNi0zLjItMzQuMi0zLjItNTQuNiAwLTExIDYuOC0yMi42IDI3LjMtMjMuNmwwLTI3LjNjLTIwLjUtLjctMjcuMy0xMi4zLTI3LjMtMjMuM3pNNTA3LjYgMjUxYy0xNS44LTYuMy0zMC41LTEwLTMwLjUtMjAuNSAwLTcuOSA2LjMtMTIuNiAxNy45LTEyLjZzMjIuMSA0LjcgMzMuNiAxMy4xbDIxLTI3LjhjLTEzLjEtMTAtMzEtMjAuNS01NS4yLTIwLjUtMzUuNyAwLTU5LjkgMjAuNS01OS45IDQ5LjQgMCAyNS43IDIyLjYgMzguOSA0MS41IDQ2LjIgMTYuMyA2LjMgMzIuMSAxMS42IDMyLjEgMjIuMSAwIDcuOS02LjMgMTMuMS0yMC41IDEzLjEtMTMuMSAwLTI2LjMtNS4zLTQwLjUtMTYuM2wtMjEgMzAuNWMxNS44IDEzLjEgMzkuOSAyMi4xIDU5LjkgMjIuMSA0MiAwIDY0LjYtMjIuMSA2NC42LTUxcy0yMi41LTQxLTQzLTQ3Ljh6TTE0OC43IDMxMC40Yy0zLjcgMC04LjQtMy4yLTguNC0xMy4xbDAtMTc4LjItNzQuNiAwYy0yOC40IDAtNDEgMTEtNDEgNDUuMiAwIDIyLjYgMy4yIDM1LjIgMy4yIDU0LjYgMCAxMS02LjggMjIuNi0yNy4zIDIzLjZsMCAyNy4zYzIwLjUgLjUgMjcuMyAxMi4xIDI3LjMgMjMuMSAwIDE5LjQtMy4yIDMxLTMuMiA1My42IDAgMzQuMiAxMi42IDQ1LjIgNDAuNSA0NS4ybDIwLjUgMCAwLTI0LjItNi4zIDBjLTEzLjEgMC0xNy4zLTUuMy0xNy4zLTIyLjZzMS42LTMyLjEgMS42LTUxLjVjMC0yNC4yLTcuOS0zMy42LTIzLjYtMzcuM2wwLTEuNmMxNS44LTMuNyAyMy42LTEzLjEgMjMuNi0zNy4zIDAtMTguOS0xLjYtMzQuMi0xLjYtNTEuNXMzLjctMjIuMSAxNy4zLTIyLjFsMTQuMSAwIDAgMTUwLjhjMCAzMi4xIDExIDUzLjEgNDMuMSA1My4xIDEwIDAgMTcuOS0xLjYgMjMuNi0zLjdsLTUuMy0zNC4yYy0zLjEgLjgtNC42IC44LTYuMiAuOHpNMzgwLjQgMjUxYy0xNi4zLTYuMy0zMS0xMC0zMS0yMC41IDAtNy45IDYuMy0xMi42IDE3LjktMTIuNnMyMi4xIDQuNyAzMy42IDEzLjFsMjEtMjcuOGMtMTMuMS0xMC0zMS0yMC41LTU1LjItMjAuNS0zNS43IDAtNTkuOSAyMC41LTU5LjkgNDkuNCAwIDI1LjcgMjIuNiAzOC45IDQxLjUgNDYuMiAxNi4zIDYuMyAzMi4xIDExLjYgMzIuMSAyMi4xIDAgNy45LTYuMyAxMy4xLTIwLjUgMTMuMS0xMy4xIDAtMjYuMy01LjMtNDAuNS0xNi4zbC0yMC41IDMwLjVjMTUuOCAxMy4xIDM5LjkgMjIuMSA1OS45IDIyLjEgNDIgMCA2NC42LTIyLjEgNjQuNi01MSAuMS0yOC45LTIyLjUtNDEtNDMtNDcuOHptLTE1NS02OC44Yy0zOC40IDAtNzUuMSAzMi4xLTc0LjEgODIuNSAwIDUyIDM0LjIgODIuNSA3OS4zIDgyLjUgMTguOSAwIDM5LjktNi44IDU2LjItMTcuOUwyNzEgMzAxLjVjLTExLjYgNi44LTIyLjYgMTAtMzQuMiAxMC0yMSAwLTM3LjMtMTAtNDEuNS0zNC4ybDk1LjIgMGMuNS0zLjcgMS42LTExIDEuNi0xOS40IC42LTQyLjYtMjIuNi03NS43LTY2LjctNzUuN3ptLTMwIDY2LjJjMy4yLTIxIDE1LjgtMzEgMzAuNS0zMSAxOC45IDAgMjYuMyAxMy4xIDI2LjMgMzFsLTU2LjggMHoiXX0sWDN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpcmVmb3giLGljb246WzUxMiw1MTIsW10sImYyNjkiLCJNNTAzLjUgMjQxLjVjLS4xLTEuNi0uMi0zLjEtLjItNC43bDAtLjEtLjQtNC43IDAtLjFjLTEuMy0xMy45LTMuNy0yNy43LTcuMy00MS4yIDAtLjEgMC0uMS0uMS0uMmwtMS4xLTRjLS4xLS4yLS4xLS41LS4yLS42LS40LTEuMi0uNy0yLjUtMS4xLTMuNy0uMS0uMi0uMS0uNi0uMi0uOC0uNC0xLjItLjctMi40LTEuMS0zLjUtLjEtLjQtLjItLjYtLjQtMS0uNC0xLjItLjctMi4zLTEuMi0zLjVsLS40LTEuMWMtLjQtMS4xLS44LTIuMy0xLjItMy40LS4xLS4zLS4yLS43LS40LTEtLjUtMS4xLS44LTIuMy0xLjMtMy40LS4xLS4yLS4yLS42LS40LS44LS41LTEuMi0xLTIuMy0xLjQtMy41IDAtLjEtLjEtLjItLjEtLjQtMS42LTMuOC0zLjItNy43LTUtMTEuNGwtLjQtLjdjLS41LTEtLjgtMS44LTEuMy0yLjYtLjItLjUtLjUtMS4xLS43LTEuNi0uNC0uOC0uOC0xLjYtMS4yLTIuNC0uNC0uNi0uNi0xLjItMS0xLjhzLS44LTEuNC0xLjItMi4zYy0uNC0uNi0uNy0xLjMtMS4xLTEuOXMtLjgtMS40LTEuMi0yLjJjLS40LS43LS44LTEuNC0xLjItMi0uNC0uNy0uOC0xLjMtMS4yLTJzLS44LTEuMy0xLjItMi0uOC0xLjMtMS4yLTEuOS0uOC0xLjQtMS4zLTIuMmMtLjQtLjYtLjgtMS4yLTEuMi0xLjhsLTEuNC0yLjFjLS40LS42LS44LTEuMi0xLjItMS44LS41LS43LTEuMS0xLjYtMS42LTIuMy0uNC0uNS0uNy0xLjEtMS4xLTEuNmwtMS44LTIuNWMtLjQtLjUtLjYtLjgtMS0xLjMtMS0xLjMtMS44LTIuNS0yLjgtMy43LTcuMi05LjQtMTUtMTguMy0yMy41LTI2LjYtNS43LTYtMTEuOC0xMS41LTE4LjMtMTYuNy00LTMuNS04LjItNi43LTEyLjUtOS44LTcuNy01LjgtMTYtMTAuOC0yNC42LTE1LjEtMi40LTEuMy00LjgtMi41LTcuMi0zLjctMTcuNy04LjYtMzYuMy0xNS4yLTU1LjQtMTkuNi0xLjktLjQtMy44LS44LTUuNi0xLjJsLS4xIDBjLTEtLjEtMS44LS40LTIuOC0uNS0xMi41LTIuNC0yNS4yLTMuNy0zOC00bC0xMC42IDBjLTE1LjMgLjItMzAuNSAxLjktNDUuNSA1LTMzLjYgNy4xLTYzLjIgMjEuMi04Mi45IDM5LTEuMSAxLTEuOSAxLjctMi40IDIuMmwtLjUgLjUgLjEgMGMwIDAgLjEgMCAuMSAwczAtLjEgMC0uMWwtLjEgLjFjLjEtLjEgLjEtLjEgLjItLjEgMTQuNi04LjggMzQuOS0xNiA0OS40LTE5LjZsNS45LTEuNGMuNC0uMSAuOC0uMSAxLjItLjIgMS43LS40IDMuNC0uNyA1LjItMS4xIC4yIDAgLjYtLjEgLjgtLjEgNjQuMi0xMS43IDEzMi42IDcuNSAxODAuMiA1MyAxMC4zIDkuOCAxOS4zIDIwLjggMjYuOSAzMi44IDMwLjQgNDkuMiAyNy41IDExMS4xIDMuOCAxNDcuNi0zNC40IDUzLTExMS40IDcxLjMtMTU5IDI0LjgtMTYtMTUuNS0yNS4yLTM2LjctMjUuNi01OS0uMi0xMC43IDItMjEuMiA2LjItMzEgMS43LTMuOCAxMy4xLTI1LjcgMTguMi0yNC42LTEzLjEtMi44LTM3LjUgMi42LTU0LjcgMjguMi0xNS40IDIyLjktMTQuNSA1OC4yLTUgODMuMy02LTEyLjQtMTAuMS0yNS42LTEyLjEtMzkuMi0xMi4yLTgyLjYgNDMuMy0xNTMgOTQuMy0xNzAuNS0yNy41LTI0LTk2LjUtMjIuMy0xNDcuNyAxNS40LTI5LjkgMjItNTEuMiA1My4yLTYyLjUgOTAuNCAxLjctMjAuOSA5LjYtNTIuMSAyNS44LTgzLjktMTcuMiA4LjktMzkgMzctNDkuOCA2Mi45LTE1LjYgMzcuNC0yMSA4Mi4yLTE2LjEgMTI0LjggLjQgMy4yIC43IDYuNCAxLjEgOS42IDE5LjkgMTE3LjEgMTIyIDIwNi40IDI0NC44IDIwNi40IDEzNy4xIDAgMjQ4LjMtMTExLjIgMjQ4LjMtMjQ4LjQtLjEtNC41LS4yLTkuMS0uNS0xMy41eiJdfSxRM3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia2FnZ2xlIixpY29uOlszMjAsNTEyLFtdLCJmNWZhIiwiTTMwNC4yIDUwMS41TDE1OC40IDMyMC4zIDI5OC4yIDE4NWMyLjYtMi43IDEuNy0xMC41LTUuMy0xMC41bC02OS4yIDBjLTMuNSAwLTcgMS44LTEwLjUgNS4zbC0xMzIuMyAxMzMuNyAwLTMwNmMwLTUtMi41LTcuNS03LjUtNy41TDIxLjUgMEMxNi41IDAgMTQgMi41IDE0IDcuNWwwIDQ5N2MwIDUgMi41IDcuNSA3LjUgNy41bDUxLjkgMGM1IDAgNy41LTIuNSA3LjUtNy41bDAtMTA5IDMwLjgtMjkuMyAxMTAuNSAxNDAuNmMzIDMuNSA2LjUgNS4zIDEwLjUgNS4zbDY2LjkgMGMzLjUgMCA1LjUtMSA2LTNsLTEuNC03LjZ6Il19LEozdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmYWNlYm9vay1tZXNzZW5nZXIiLGljb246WzUxMiw1MTIsW10sImYzOWYiLCJNMjU2LjYgOGMtMTQwIDAtMjQ4LjYgMTAyLjMtMjQ4LjYgMjQwLjYgMCA3Mi4zIDI5LjcgMTM0LjggNzguMSAxNzcuOSA4LjMgNy41IDYuNiAxMS45IDggNTguMiAuMSAzLjIgMSA2LjQgMi42IDkuMnMzLjkgNS4yIDYuNyA2LjkgNS45IDIuOCA5LjEgMyA2LjUtLjMgOS41LTEuNkMxNzQuOSA0NzkgMTc1LjYgNDc3LjIgMTg0LjYgNDc5LjYgMzM3LjggNTIxLjggNTA0IDQyMy43IDUwNCAyNDguNiA1MDQgMTEwLjMgMzk2LjYgOCAyNTYuNiA4ek00MDUuOCAxOTMuMWwtNzMgMTE1LjZjLTIuOCA0LjMtNi40IDguMS0xMC42IDExcy05LjEgNC44LTE0LjEgNS44LTEwLjMgLjgtMTUuMy0uNC05LjctMy40LTEzLjgtNi40bC01OC4xLTQzLjVjLTIuNi0xLjktNS44LTMtOS0zcy02LjQgMS4xLTkgM2wtNzguNCA1OS40Yy0xMC41IDcuOS0yNC4yLTQuNi0xNy4xLTE1LjdsNzMtMTE1LjZjMi44LTQuMyA2LjQtOC4xIDEwLjYtMTFzOS4xLTQuOCAxNC4xLTUuOCAxMC4zLS44IDE1LjMgLjQgOS43IDMuNCAxMy45IDYuNGw1OC4xIDQzLjVjMi42IDEuOSA1LjggMyA5IDNzNi40LTEuMSA5LTNsNzguNC01OS40YzEwLjQtOCAyNC4xIDQuNSAxNy4xIDE1LjZ6Il19LEszdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdWRpYmxlIixpY29uOls2NDAsNTEyLFtdLCJmMzczIiwiTTY0MCAxOTkuOWwwIDU0LTMyMCAyMDAtMzIwLTE5OS45IDAtNTQgMzIwIDIwMCAzMjAtMjAwLjF6bS0xOTQuNSA3Mmw0Ny4xLTI5LjRjLTM3LjItNTUuOC0xMDAuNy05Mi42LTE3Mi43LTkyLjZzLTEzNS41IDM2LjctMTcyLjYgOTIuNGwuMyAwYzIuNS0yLjMgNS4xLTQuNSA3LjctNi43IDg5LjctNzQuNCAyMTkuNC01OC4xIDI5MC4yIDM2LjN6TTIyNS40IDI5MC43YzE2LjktMTEuOSAzNi41LTE4LjcgNTcuNC0xOC43IDM0LjQgMCA2NS4yIDE4LjQgODYuNCA0Ny42bDQ1LjQtMjguNGMtMjAuOS0yOS45LTU1LjYtNDkuNS05NC44LTQ5LjUtMzguOSAwLTczLjQgMTkuNC05NC40IDQ5ek0xMDMuNiAxNjEuMUMyMzUuNCA1Ni44IDQyMS44IDg0LjcgNTIxLjEgMjIzLjJsLjcgMSA0OC44LTMwLjRjLTUzLjUtODEuNy0xNDUuOC0xMzUuNy0yNTAuNy0xMzUuNy0xMDMuNSAwLTE5Ni42IDUzLjUtMjUwLjUgMTM1LjYgOS45LTEwLjUgMjIuNy0yMy41IDM0LjItMzIuNnoiXX0sZWR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBhdHJlb24iLGljb246WzUxMiw1MTIsW10sImYzZDkiLCJNNDkwIDE1My44Yy0uMS02NS40LTUxLTExOS0xMTAuNy0xMzguMy03NC4yLTI0LTE3Mi0yMC41LTI0Mi45IDEyLjktODUuOCA0MC41LTExMi44IDEyOS4zLTExMy44IDIxNy44LS44IDcyLjggNi40IDI2NC40IDExNC42IDI2NS44IDgwLjMgMSA5Mi4zLTEwMi41IDEyOS41LTE1Mi4zIDI2LjQtMzUuNSA2MC41LTQ1LjUgMTAyLjQtNTUuOSA3Mi0xNy44IDEyMS4xLTc0LjcgMTIxLTE1MGwtLjEgMHoiXX0sdGR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZudiIsaWNvbjpbNjQwLDUxMixbXSwiZjQwYiIsIk0xMDQuOSAzNTJjLTM0LjEgMC00Ni40LTMwLjQtNDYuNC0zMC40TDIuNiAyMTAuMVMtNy44IDE5MiAxMyAxOTJsMzIuOCAwYzEwLjQgMCAxMy4yIDguNyAxOC44IDE4LjFsMzYuNyA3NC41czUuMiAxMy4xIDIxLjEgMTMuMSAyMS4xLTEzLjEgMjEuMS0xMy4xbDM2LjctNzQuNWM1LjYtOS41IDguNC0xOC4xIDE4LjgtMTguMWwzMi44IDBjMjAuOCAwIDEwLjQgMTguMSAxMC40IDE4LjFMMTg2LjQgMzIxLjZTMTc0LjIgMzUyIDE0MCAzNTJsLTM1LjEgMHptMzk1IDBjLTM0LjEgMC00Ni40LTMwLjQtNDYuNC0zMC40TDM5Ny42IDIxMC4xUzM4Ny4yIDE5MiA0MDggMTkybDMyLjggMGMxMC40IDAgMTMuMiA4LjcgMTguOCAxOC4xbDM2LjcgNzQuNXM1LjIgMTMuMSAyMS4xIDEzLjEgMjEuMS0xMy4xIDIxLjEtMTMuMWwzNi44LTc0LjVjNS42LTkuNSA4LjQtMTguMSAxOC44LTE4LjFsMzIuOSAwYzIwLjggMCAxMC40IDE4LjEgMTAuNCAxOC4xTDU4MS41IDMyMS42UzU2OS4zIDM1MiA1MzUuMSAzNTJsLTM1LjIgMHpNMzM3LjYgMTkyYzM0LjEgMCA0Ni40IDMwLjQgNDYuNCAzMC40bDU1LjkgMTExLjVTNDUwLjMgMzUyIDQyOS41IDM1MmwtMzIuOCAwYy0xMC40IDAtMTMuMi04LjctMTguOC0xOC4xbC0zNi43LTc0LjVzLTUuMi0xMy4xLTIxLjEtMTMuMS0yMS4xIDEzLjEtMjEuMSAxMy4xbC0zNi43IDc0LjVjLTUuNiA5LjQtOC40IDE4LjEtMTguOCAxOC4xbC0zMi45IDBjLTIwLjggMC0xMC40LTE4LjEtMTAuNC0xOC4xbDU1LjktMTExLjVTMjY4LjMgMTkyIDMwMi41IDE5MmwzNS4xIDB6Il19LHJkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYWdlbGluZXMiLGljb246WzM4NCw1MTIsW10sImYxOGMiLCJNMzg0LjEgMzEyLjdjLTU1LjEgMTM2LjctMTg3LjEgNTQtMTg3LjEgNTQtNDAuNSA4MS44LTEwNy40IDEzNC40LTE4NC42IDEzNC43LTE2LjEgMC0xNi42LTI0LjQgMC0yNC40IDY0LjQtLjMgMTIwLjUtNDIuNyAxNTcuMi0xMTAuMS00MS4xIDE1LjktMTE4LjYgMjcuOS0xNjEuNi04Mi4yIDEwOS00NC45IDE1OS4xIDExLjIgMTc4LjMgNDUuNSA5LjktMjQuNCAxNy01MC45IDIxLjYtNzkuNyAwIDAtMTM5LjcgMjEuOS0xNDkuNS05OC4xIDExOS4xLTQ3LjkgMTUyLjYgNzYuNyAxNTIuNiA3Ni43IDEuNi0xNi43IDMuMy01Mi42IDMuMy01My40IDAgMC0xMDYuMy03My43LTM4LjEtMTY1LjIgMTI0LjYgNDMgNjEuNCAxNjIuNCA2MS40IDE2Mi40IC41IDEuNiAuNSAyMy44IDAgMzMuNCAwIDAgNDUuMi04OSAxMzYuNC01Ny41LTQuMiAxMzQtMTQxLjkgMTA2LjQtMTQxLjkgMTA2LjQtNC40IDI3LjQtMTEuMiA1My40LTIwIDc3LjUgMCAwIDgzLTkxLjggMTcyLTIweiJdfSxhZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW1hem9uIixpY29uOls0NDgsNTEyLFtdLCJmMjcwIiwiTTI1Ny43IDE2Mi43Yy00OC43IDEuOC0xNjkuNSAxNS41LTE2OS41IDExNy41IDAgMTA5LjUgMTM4LjMgMTE0IDE4My41IDQzLjIgNi41IDEwLjIgMzUuNCAzNy41IDQ1LjMgNDYuOGw1Ni44LTU2cy0zMi4zLTI1LjMtMzIuMy01Mi44bDAtMTQ3LjFDMzQxLjUgODkgMzE3IDMyIDIyOS4yIDMyIDE0MS4yIDMyIDk0LjUgODcgOTQuNSAxMzYuM2w3My41IDYuOGMxNi4zLTQ5LjUgNTQuMi00OS41IDU0LjItNDkuNSA0MC43LS4xIDM1LjUgMjkuOCAzNS41IDY5LjF6bTAgODYuOGMwIDgwLTg0LjIgNjgtODQuMiAxNy4yIDAtNDcuMiA1MC41LTU2LjcgODQuMi01Ny44bDAgNDAuNnpNMzkzLjcgNDEzYy03LjcgMTAtNzAgNjctMTc0LjUgNjdTMzQuNyA0MDguNSAxMC4yIDM3OWMtNi44LTcuNyAxLTExLjMgNS41LTguMyA3My4zIDQ0LjUgMTg3LjggMTE3LjggMzcyLjUgMzAuMyA3LjUtMy43IDEzLjMgMiA1LjUgMTJ6bTM5LjggMi4yYy02LjUgMTUuOC0xNiAyNi44LTIxLjIgMzEtNS41IDQuNS05LjUgMi43LTYuNS0zLjhzMTkuMy00Ni41IDEyLjctNTVjLTYuNS04LjMtMzctNC4zLTQ4LTMuMi0xMC44IDEtMTMgMi0xNC0uMy0yLjMtNS43IDIxLjctMTUuNSAzNy41LTE3LjUgMTUuNy0xLjggNDEtLjggNDYgNS43IDMuNyA1LjEgMCAyNy4xLTYuNSA0My4xeiJdfSxpZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZW52aXJhIixpY29uOls0NDgsNTEyLFtdLCJmMjk5IiwiTTAgMzJjNDc3LjYgMCAzNjYuNiAzMTcuMyAzNjcuMSAzNjYuM2w4MC45IDgxLjctMjYgMC03MC40LTcxLjJDMzEyLjYgNDEzIDIyNy4yIDQ0My4zIDEzNy4yIDM3MS44IDQ3IDMwMC4zIDUyIDIxNC43IDAgMzJ6TTc5LjcgNzhjLTQ5LjctMjMuNS01LjIgOS4yLTUuMiA5LjIgNDUuMiAzMS4yIDY2IDczLjcgOTAuMiAxMTkuOSAzMS41IDYwLjIgNzkgMTM5LjcgMTQ0LjIgMTY3LjcgNjUgMjggMzQuMiAxMi41IDYtOC41LTI4LjItMjEuMi02OC4yLTg3LTkxLTEzMC4yLTMxLjctNjAtNjEtMTE4LjYtMTQ0LjItMTU4LjF6Il19LG5kdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsaW5vZGUiLGljb246WzQ0OCw1MTIsW10sImYyYjgiLCJNMzY2LjMgMTg2LjlsLTU5LjUgMzYuOS0uOCAzNi45LTI5LjMtMTkuMy0zOS40IDI0LjNjMi4yIDU1LjIgMi41IDU5LjMgMi41IDU5LjVsLTk3LjIgNjUuNC0xNS4xLTEwNC43IDEwOC4xLTYyLTQwLjItMjYtNzUuNCAzOC41LTIxLTE0My4zIDEyOS00OS40LTkxLjMtNDMuNi0xMjUuNyAzOS40IDI3LjcgMTM0LjkgNDEuOSAzMi43LTMxLjggMTUuMSAyMC45IDEwMS40IDI5LjMgMjcuNy0yMC45IDEyLjYgMTYuOCA3OC44IDY2LjIgNjkuNmMtMTAuOC03NC44LTExLjctNzguNi0xMS43LTc4LjhsNzcuOS01NS4zQzI0NCAzNjUuNCAyNDIuMyAzNjcgMjQyLjMgMzY3bC44IDI0LjMgMzMuNSAyOC41LS44LTc3LjEgNDYuOS0zMy41IDI2LjgtMTguNC0yLjUgMzYgMjUuMSAxNy42IDYuNy03NC42IDU4LjctNDMuNi03MS4yLTM5LjR6Il19LHNkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhY2N1c29mdCIsaWNvbjpbNjQwLDUxMixbXSwiZjM2OSIsIk0zMjIuMSAyNTJsMC0xLTUxLjItNjUuOHMtMTIgMS42LTI1IDE1LjFjLTkgOS4zLTI0Mi4xIDIzOS4xLTI0My40IDI0MC45LTcgMTAgMS42IDYuOCAxNS43IDEuNyAuOCAwIDExNC41LTM2LjYgMTE0LjUtMzYuNiAuNS0uNi0uMS0uMSAuNi0uNi0uNC01LjEtLjgtMjYuMi0xLTI3LjctLjYtNS4yIDIuMi02LjkgNy04LjlsOTIuNi0zMy44Yy42LS44IDg4LjUtODEuNyA5MC4yLTgzLjN6TTQ4Mi4yIDM3Mi4xYzEzLjMgMTYuMSAyMC43IDEzLjMgMzAuOCA5LjMgMy4yLTEuMiAxMTUuNC00Ny42IDExNy44LTQ4LjkgOC00LjMtMS43LTE2LjctNy4yLTIzLjQtMi4xLTIuNS0yMDUuMS0yNDUuNi0yMDcuMi0yNDguMy05LjctMTIuMi0xNC4zLTEyLjktMzguNC0xMi44LTEwLjIgMC0xMDYuOCAuNS0xMTYuNSAuNi0xOS4yIC4xLTMyLjktLjMtMTkuMiAxNi45IDcuNyA5LjUgMjM0LjIgMjk5LjcgMjM5LjkgMzA2LjZ6bTE1Mi43IDEuNmMtMi4zLS4zLTI0LjYtNC43LTM4LTcuMiAwIDAtMTE1IDUwLjQtMTE3LjUgNTEuNi0xNiA3LjMtMjYuOS0zLjItMzYuNy0xNC42bC01Ny4xLTc0Yy01LjQtLjktNjAuNC05LjYtNjUuMy05LjMtMy4xIC4yLTkuNiAuOC0xNC40IDIuOS00LjkgMi4xLTE0NS4yIDUyLjgtMTUwLjIgNTQuNy01LjEgMi0xMS40IDMuNi0xMS4xIDcuNiAuMiAyLjUgMiAyLjYgNC42IDMuNSAyLjcgLjggMzAwLjkgNjcuNiAzMDggNjkuMSAxNS42IDMuMyAzOC41IDEwLjUgNTMuNiAxLjcgMi4xLTEuMiAxMjMuOC03Ni40IDEyNS44LTc3LjggNS40LTQgNC4zLTYuOC0xLjctOC4yeiJdfSxvZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXJsYW5nIixpY29uOls2NDAsNTEyLFtdLCJmMzlkIiwiTTg3LjIgNTMuNWwtODcuMiAwIDAgNDA1IDEwMC40IDBjLTQ5LjctNTIuNi03OC44LTEyNS4zLTc4LjctMjEyLjEtLjEtNzYuNyAyNC0xNDIuNyA2NS41LTE5Mi45em0yMzguMiA5LjdjLTQ1LjkgLjEtODUuMSAzMy41LTg5LjIgODMuMmwxNjkuOSAwYy0xLjEtNDkuNy0zNC41LTgzLjEtODAuNy04My4yem0yMzAuNy05LjZsLjMgMC0uMS0uMS0uMiAuMXptLjMgMGMzMS40IDQyLjcgNDguNyA5Ny41IDQ2LjIgMTYyLjcgLjUgNiAuNSAxMS43IDAgMjQuMWwtMzcyLjQgMGMtLjIgMTA5LjcgMzguOSAxOTQuOSAxMzguNiAxOTUuMyA2OC41LS4zIDExOC01MSAxNTEuOS0xMDYuMWw5Ni40IDQ4LjJjLTE3LjQgMzAuOS0zNi41IDU3LjgtNTcuOSA4MC44bDgwLjggMCAwLTQwNS04My42IDB6Il19LGxkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bmlzb24iLGljb246WzUxMiw1MTIsW10sImU4NTQiLCJNNDM1LjEgMTYxLjdhMTMuOSAxMy45IDAgMSAxIDE5LjYtMTkuNyAxMy45IDEzLjkgMCAxIDEgLTE5LjYgMTkuN3pNMzY5LjcgOTcuOGMxMC40IDIuMSAyMC42IDUuMiAzMC40IDkuMiA2LjggMi44IDEwLjEgMTAuOCA3LjMgMTcuNy0yLjggNi43LTEwLjkgMTAuMS0xNy42IDcuMy04LjMtMy40LTE2LjgtNS44LTI1LjctNy44LTguNi0xLjctMTcuMy0yLjUtMjYtMi41LTE5LjMgMC0zNy4xLTEwLjMtNDYuNy0yNy04LjctMTUuMS0yMC42LTI4LjktMzQuNy0zOS43LTU5LjEtNDUuNS0xNDMuOC0zNC4zLTE4OS4yIDI1LTIuNiAzLjMtNi41IDUuMy0xMC43IDUuMy03LjQgMC0xMy41LTYuMS0xMy41LTEzLjUgMC0zLjIgMS4yLTYuMyAzLjItOC44IDEyLjktMTYuNyAyOC45LTMwLjcgNDcuMS00MS4yIDc3LjQtNDQuOCAxNzYuNC0xOC4yIDIyMS4xIDU5LjQgNC4zIDguMiAxMy43IDEzLjMgMjIuOCAxMy41IDEwLjggMCAyMS42IDEgMzIuMiAzLjF6TTM1IDI3MGM0LjYtOC4yIDQuNi0xOC4yIDAtMjYuNC0yMS45LTM2LjUtMjcuMy04Mi4zLTE2LjMtMTIzLjIgMS42LTUuOSA2LjktMTAgMTMtMTAgOC43IDAgMTUuMyA4LjcgMTMgMTctOS41IDM1LjQtMy40IDcxIDEzLjcgMTAyLjkgOS4zIDE2LjUgOS4zIDM2LjcgMCA1My4xLTguNyAxNS43LTE0LjggMzIuNC0xNy4yIDUwLjMtOS43IDczLjkgNDIuMyAxNDEuNyAxMTYuMiAxNTEuNCA3LjMgMSAxMi42IDcuOSAxMS42IDE1LjItMSA3LjMtNy44IDEyLjYtMTUuMSAxMS42LTIxLjEtMi44LTQxLjQtOS43LTU5LjgtMjAuMy03NS42LTQzLjYtMTA0LjktMTQ1LjgtNTkuMi0yMjEuNXpNMjE2LjkgNTA5Yy03LjQgMi0xNS4xLTIuNC0xNy4xLTkuOHMyLjUtMTUgOS45LTE2LjljOC41LTIuMiAxNy40IDQuNSAxNy40IDEzLjQgMCA2LjItNC4yIDExLjYtMTAuMiAxMy4zem0xMjIuMy05MWMtOS41IDAtMTguNCA1LTIzLjIgMTMuMi00LjkgOS40LTExLjcgMTguMi0xOC43IDI2LjJsMCAwYy03LjEgOC0xNC44IDE1LjItMjMuMiAyMS43LTUuOSA0LjUtMTQuNCAzLjQtMTktMi41cy0zLjQtMTQuNCAyLjUtMTguOWM3LTUuNCAxMy41LTExLjUgMTkuNC0xOC4xbDAgMGM1LjktNi42IDExLjEtMTMuOCAxNS41LTIxLjYgOS43LTE2LjcgMjcuNS0yNyA0Ni44LTI3IDE3LjggMCAzNS40LTMuNSA1MS44LTEwLjMgNjguMy0yOC4zIDEwMS4xLTEwOC4zIDczLjItMTc2LjUtLjYtMS42LTEtMy4zLTEtNSAwLTcuNCA2LjEtMTMuNSAxMy41LTEzLjUgNS40IDAgMTAuMyAzLjIgMTIuNCA4LjIgOC4yIDE5LjcgMTIuNCA0MC44IDEyLjQgNjIuMSAwIDg5LjUtNzIuNyAxNjIuMS0xNjIuNCAxNjIuMWwwIDB6bS0xMy4xLTI2OGMzLjktLjQgNy45LS42IDExLjktLjYgNTkuMyAwIDEwOC4yIDQ4LjcgMTA4LjIgMTA3LjhTMzk3LjMgMzY1IDMzOCAzNjVjLTQgMC03LjktLjItMTEuOC0uNi0yMi4yLTEuNy00My4zIDEwLjQtNTIuOSAzMC40LTE3LjIgMzkuMS01Ni4yIDY0LjUtOTkuMSA2NC41LTU5LjMgMC0xMDguMi00OC43LTEwOC4yLTEwNy44IDAtMjMuMiA3LjUtNDUuNyAyMS40LTY0LjMgMTIuMi0xOC4zIDEyLjEtNDIuMy0uNC02MC41LTEzLjYtMTguNS0yMC45LTQwLjgtMjAuOS02My43IDAtNTkuMSA0OC44LTEwNy44IDEwOC4yLTEwNy44IDQyLjggMCA4MS44IDI1LjQgOTkgNjQuNCA5LjYgMjAgMzAuNyAzMi4xIDUyLjkgMzAuNHpNMTA2LjggMzkzLjRjMTQuNCAyNS4yIDQxLjEgNDAuOCA2OS44IDQwLjggNDQuMiAwIDgwLjYtMzYuOCA4MC42LTgxLjZzLTM2LjQtODEuNi04MC42LTgxLjZjLTE0LjIgMC0yOC4xIDMuOC00MC4zIDEwLjktMzguMyAyMi40LTUxLjYgNzIuNy0yOS41IDExMS40ek0yNjggMjk4YzE0LjQgMjUuMiA0MS4xIDQwLjggNjkuOCA0MC44IDQ0LjIgMCA4MC42LTM2LjggODAuNi04MS42cy0zNi40LTgxLjYtODAuNi04MS42Yy0xNC4yIDAtMjguMSAzLjgtNDAuMyAxMC45LTM4LjMgMjIuNC01MS42IDcyLjctMjkuNSAxMTEuNHptLTkxLjItNTQuNmM0NC4yIDAgODAuNS0zNi44IDgwLjUtODEuNnMtMzYuNC04MS42LTgwLjYtODEuNi04MC42IDM2LjgtODAuNiA4MS42YzAgNDQuNyAzNi40IDgxLjYgODAuNiA4MS42eiJdfSxjZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2MtZGlzY292ZXIiLGljb246WzU3Niw1MTIsW10sImYxZjIiLCJNNTIwLjQgMTk2LjFjMC03LjktNS41LTEyLjEtMTUuNi0xMi4xbC00LjkgMCAwIDI0LjkgNC43IDBjMTAuMyAwIDE1LjgtNC40IDE1LjgtMTIuOHpNNTI4IDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTQ4My45IDE3MC45YzIyLjYgMCA1Mi45LTQuMSA1Mi45IDI0LjQgMCAxMi42LTYuNiAyMC43LTE4LjcgMjMuMmwyNS44IDM0LjQtMTkuNiAwLTIyLjItMzIuOC0yLjIgMCAwIDMyLjgtMTYgMCAwLTgyek00MjggMTcxbDQ1LjMgMCAwIDE0LTI5LjMgMCAwIDE4LjIgMjguMyAwIDAgMTMuOC0yOC4zIDAgMCAyMi4yIDI5LjMgMCAwIDEzLjgtNDUuMyAwIDAtODJ6bS02OC43IDBsMjEuOSA1NS4yIDIyLjItNTUuMiAxNy41IDAtMzUuNSA4NC4yLTguNiAwLTM1LTg0LjIgMTcuNSAwem0tNTUuOSA4Ni4yYTQ0LjYgNDQuNiAwIDEgMSAwLTg5LjIgNDQuNiA0NC42IDAgMSAxIDAgODkuMnptLTQ5LjMtODMuMWwwIDE5Yy0yMC4xLTIwLjEtNDYuOC00LjctNDYuOCAxOSAwIDI1IDI3LjUgMzguNSA0Ni44IDE5LjJsMCAxOWMtMjkuNyAxNC4zLTYzLjMtNS43LTYzLjMtMzguMiAwLTMxLjIgMzMuMS01MyA2My4zLTM4em0tOTcuMiA2Ni4zYzExLjQgMCAyMi40LTE1LjMtMy4zLTI0LjQtMTUtNS41LTIwLjItMTEuNC0yMC4yLTIyLjcgMC0yMy4yIDMwLjYtMzEuNCA0OS43LTE0LjNsLTguNCAxMC44Yy0xMC40LTExLjYtMjQuOS02LjItMjQuOSAyLjUgMCA0LjQgMi43IDYuOSAxMi4zIDEwLjMgMTguMiA2LjYgMjMuNiAxMi41IDIzLjYgMjUuNiAwIDI5LjUtMzguOCAzNy40LTU2LjYgMTEuM2wxMC4zLTkuOWMzLjcgNy4xIDkuOSAxMC44IDE3LjUgMTAuOHpNNTUuNCAyNTNsLTIzLjQgMCAwLTgyIDIzLjQgMGMyNi4xIDAgNDQuMSAxNyA0NC4xIDQxLjEgMCAxOC41LTEzLjIgNDAuOS00NC4xIDQwLjl6bTY3LjUgMGwtMTYgMCAwLTgyIDE2IDAgMCA4MnpNNTQ0IDQzM2MwIDguMi02LjggMTUtMTUgMTVsLTQwMSAwYzE4OS42LTM1LjYgMzgyLjctMTM5LjIgNDE2LTE2MGwwIDE0NXpNNzQuMSAxOTEuNmMtNS4yLTQuOS0xMS42LTYuNi0yMS45LTYuNmwtNC4yIDAgMCA1NC4yIDQuMiAwYzEwLjMgMCAxNy0yIDIxLjktNi40IDUuNy01LjIgOC45LTEyLjggOC45LTIwLjdzLTMuMi0xNS41LTguOS0yMC41eiJdfSxkZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2FmYXJpIixpY29uOls1MTIsNTEyLFtdLCJmMjY3IiwiTTI3NC43IDI3NC43TDIzNy4zIDIzNy4zIDE2NiAzNDYgMjc0LjcgMjc0Ljd6TTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNNDExLjggMTgyLjhsMTQuOC02LjFjMS0uNCAyLS42IDMuMS0uNnMyLjEgLjIgMy4xIC42IDEuOCAxIDIuNiAxLjcgMS4zIDEuNiAxLjcgMi42IC42IDIgLjYgMy4xLS4yIDIuMS0uNiAzLjEtMSAxLjktMS43IDIuNi0xLjYgMS4zLTIuNiAxLjdMNDE4IDE5Ny42Yy0yIC44LTQuMiAuOC02LjEgMHMtMy41LTIuNC00LjMtNC4zLS44LTQuMiAwLTYuMSAyLjQtMy41IDQuMy00LjN6TTMxNC40IDk0bDYuMS0xNC44Yy44LTIgMi40LTMuNSA0LjMtNC4zczQuMi0uOCA2LjEgMCAzLjUgMi40IDQuMyA0LjMgLjggNC4yIDAgNi4xbC02LjEgMTQuOGMtLjggMi0yLjQgMy41LTQuMyA0LjNzLTQuMiAuOC02LjEgMGMtMS0uNC0xLjktMS0yLjYtMS43cy0xLjMtMS42LTEuNy0yLjYtLjYtMi0uNi0zLjEgLjItMi4xIC42LTMuMXpNMjU2IDYwYzIuMSAwIDQuMiAuOCA1LjcgMi4zUzI2NCA2NS45IDI2NCA2OGwwIDE2YzAgMi4xLS44IDQuMi0yLjMgNS43cy0zLjUgMi4zLTUuNyAyLjMtNC4yLS44LTUuNy0yLjMtMi4zLTMuNS0yLjMtNS43bDAtMTZjMC0yLjEgLjgtNC4yIDIuMy01LjdTMjUzLjkgNjAgMjU2IDYwek0xODEgNzQuOWMxLS40IDItLjYgMy4xLS42czIuMSAuMiAzLjEgLjYgMS45IDEgMi42IDEuNyAxLjMgMS42IDEuNyAyLjZMMTk3LjYgOTRjLjQgMSAuNyAyIC43IDMuMXMtLjIgMi4xLS42IDMuMS0xIDEuOS0xLjcgMi42LTEuNiAxLjQtMi42IDEuOC0yIC42LTMuMSAuNi0yLjEtLjItMy4xLS42LTEuOS0xLTIuNi0xLjgtMS4zLTEuNy0xLjctMi43bC02LjEtMTQuOGMtLjgtMi0uOC00LjIgMC02LjFzMi40LTMuNSA0LjMtNC4zem0tNjMuNiA0Mi41YzEuNS0xLjUgMy41LTIuMyA1LjctMi4zczQuMiAuOCA1LjcgMi4zTDE0MCAxMjguN2MxLjUgMS41IDIuMyAzLjUgMi4zIDUuNnMtLjggNC4xLTIuMyA1LjZjLTEuNSAxLjUtMy41IDIuMy01LjcgMi4zcy00LjItLjgtNS43LTIuM2wtMTEuMy0xMS4zYy0xLjUtMS41LTIuMy0zLjUtMi4zLTUuNnMuOC00LjEgMi4zLTUuNmwwIDB6TTYwIDI1NmMwLTIuMSAuOC00LjIgMi4zLTUuN1M2NS45IDI0OCA2OCAyNDhsMTYgMGMyLjEgMCA0LjIgLjggNS43IDIuM3MyLjMgMy41IDIuMyA1LjctLjggNC4yLTIuMyA1LjctMy41IDIuMy01LjcgMi4zbC0xNiAwYy0yLjEgMC00LjItLjgtNS43LTIuM1M2MCAyNTguMSA2MCAyNTZ6bTQwLjIgNzMuMmwtMTQuOCA2LjFjLTEgLjQtMiAuNi0zLjEgLjZzLTIuMS0uMi0zLjEtLjYtMS45LTEtMi42LTEuNy0xLjMtMS42LTEuNy0yLjYtLjYtMi0uNi0zLjEgLjItMi4xIC42LTMuMSAxLTEuOSAxLjctMi42IDEuNi0xLjMgMi42LTEuN0w5NCAzMTQuNGMyLS44IDQuMi0uOCA2LjEgMHMzLjUgMi40IDQuMyA0LjMgLjggNC4yIDAgNi4xLTIuNCAzLjUtNC4zIDQuM3ptNC4zLTEzNmMtLjQgMS0xIDEuOS0xLjcgMi42cy0xLjYgMS4zLTIuNiAxLjctMiAuNi0zLjEgLjYtMi4xLS4yLTMuMS0uNmwtMTQuOC02LjFjLTItLjgtMy41LTIuNC00LjMtNC4zcy0uOC00LjIgMC02LjEgMi40LTMuNSA0LjMtNC4zIDQuMi0uOCA2LjEgMGwxNC44IDYuMWMyIC44IDMuNSAyLjQgNC4zIDQuM3MuOCA0LjIgMCA2LjFsMCAwek0xOTcuNiA0MThsLTYuMSAxNC44Yy0uNCAxLTEgMS45LTEuNyAyLjZzLTEuNiAxLjMtMi42IDEuNy0yIC42LTMuMSAuNi0yLjEtLjItMy4xLS42LTEuOS0xLTIuNi0xLjctMS4zLTEuNi0xLjctMi42LS42LTItLjYtMy4xIC4yLTIuMSAuNi0zLjFsNi4xLTE0LjhjLjQtMSAxLTEuOSAxLjctMi43czEuNi0xLjQgMi42LTEuOCAyLS42IDMuMS0uNiAyLjEgLjIgMy4xIC42IDEuOSAxIDIuNiAxLjggMS4zIDEuNyAxLjcgMi42IC42IDIgLjYgMy4xLS4yIDIuMS0uNyAzLjF6TTI2NCA0NDRjMCAyLjEtLjggNC4yLTIuMyA1LjdzLTMuNSAyLjMtNS43IDIuMy00LjItLjgtNS43LTIuMy0yLjMtMy41LTIuMy01LjdsMC0xNmMwLTIuMSAuOC00LjIgMi4zLTUuN3MzLjUtMi4zIDUuNy0yLjMgNC4yIC44IDUuNyAyLjMgMi4zIDMuNSAyLjMgNS43bDAgMTZ6bTY3LTYuOWMtMSAuNC0yIC42LTMuMSAuNnMtMi4xLS4yLTMuMS0uNi0xLjktMS0yLjYtMS43LTEuMy0xLjYtMS43LTIuNkwzMTQuNCA0MThjLS44LTItLjgtNC4yIDAtNi4xczIuNC0zLjUgNC4zLTQuMyA0LjItLjggNi4xIDAgMy41IDIuNCA0LjMgNC4zbDYuMSAxNC44Yy44IDIgLjggNC4yIDAgNi4xcy0yLjQgMy41LTQuMyA0LjN6bTYzLjYtNDIuNWMtMS41IDEuNS0zLjUgMi4zLTUuNyAyLjNzLTQuMi0uOC01LjctMi4zTDM3MiAzODMuM2MtMS41LTEuNS0yLjMtMy41LTIuMy01LjZzLjgtNC4xIDIuMy01LjYgMy41LTIuMyA1LjctMi4zIDQuMiAuOCA1LjcgMi4zbDExLjMgMTEuM2MxLjUgMS41IDIuMyAzLjUgMi4zIDUuNnMtLjggNC4xLTIuMyA1LjZsMCAwek0yODYuMiAyODYuMkwxMTAuMyA0MDEuNyAyMjUuOCAyMjUuOCA0MDEuNyAxMTAuMyAyODYuMiAyODYuMnpNNDM3LjEgMzMxYy0uOCAyLTIuNCAzLjUtNC4zIDQuM3MtNC4yIC44LTYuMSAwbC0xNC44LTYuMWMtMi0uOC0zLjUtMi40LTQuMy00LjNzLS44LTQuMiAwLTYuMWMuNC0xIDEtMS45IDEuNy0yLjZzMS42LTEuMyAyLjYtMS43IDItLjYgMy4xLS42IDIuMSAuMiAzLjEgLjZsMTQuOCA2LjFjMiAuOCAzLjUgMi40IDQuMyA0LjNzLjggNC4yIDAgNi4xem02LjktNjdsLTE2IDBjLTIuMSAwLTQuMi0uOC01LjctMi4zcy0yLjMtMy41LTIuMy01LjcgLjgtNC4yIDIuMy01LjcgMy41LTIuMyA1LjctMi4zbDE2IDBjMi4xIDAgNC4yIC44IDUuNyAyLjNzMi4zIDMuNSAyLjMgNS43LS44IDQuMi0yLjMgNS43LTMuNSAyLjMtNS43IDIuM3oiXX0sdWR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNwYWNlLWF3ZXNvbWUiLGljb246WzUxMiw1MTIsW10sImU1YWMiLCJNOTYgMjU2bDMyIDAgMCAyNTYtMTI4IDAgMC0xNjAgMzIgMCAwLTMyIDMyIDAgMC0zMiAzMiAwIDAtMzJ6bTQxNiA5NmwwIDE2MC0xMjggMCAwLTI1NiAzMiAwIDAgMzIgMzIgMCAwIDMyIDMyIDAgMCAzMiAzMiAwek0zMjAgNjRsMzIgMCAwIDM4NC0zMiAwIDAtMzItMTI4IDAgMCAzMi0zMiAwIDAtMzg0IDMyIDAgMC0zMiAzMiAwIDAtMzIgNjQgMCAwIDMyIDMyIDAgMCAzMnptLTMyIDY0bC02NCAwIDAgNjQgNjQgMCAwLTY0eiJdfSxwZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibm9kZSIsaWNvbjpbNjQwLDUxMixbXSwiZjQxOSIsIk0zMTYuMyA0NTJjLTIuMSAwLTQuMi0uNi02LjEtMS42TDI5MSA0MzljLTIuOS0xLjYtMS41LTIuMi0uNS0yLjUgMy44LTEuMyA0LjYtMS42IDguNy00IC40LS4yIDEtLjEgMS40IC4xbDE0LjggOC44Yy41IC4zIDEuMyAuMyAxLjggMEwzNzUgNDA4Yy41LS4zIC45LS45IC45LTEuNmwwLTY2LjdjMC0uNy0uMy0xLjMtLjktMS42bC01Ny44LTMzLjNjLS41LS4zLTEuMi0uMy0xLjggMGwtNTcuOCAzMy4zYy0uNiAuMy0uOSAxLS45IDEuNmwwIDY2LjdjMCAuNiAuNCAxLjIgLjkgMS41bDE1LjggOS4xYzguNiA0LjMgMTMuOS0uOCAxMy45LTUuOGwwLTY1LjljMC0uOSAuNy0xLjcgMS43LTEuN2w3LjMgMGMuOSAwIDEuNyAuNyAxLjcgMS43bDAgNjUuOWMwIDExLjUtNi4yIDE4LTE3LjEgMTgtMy4zIDAtNiAwLTEzLjMtMy42bC0xNS4yLTguN2MtMy43LTIuMi02LjEtNi4yLTYuMS0xMC41bDAtNjYuN2MwLTQuMyAyLjMtOC40IDYuMS0xMC41bDU3LjgtMzMuNGMzLjctMi4xIDguNS0yLjEgMTIuMSAwbDU3LjggMzMuNGMzLjcgMi4yIDYuMSA2LjIgNi4xIDEwLjVsMCA2Ni43YzAgNC4zLTIuMyA4LjQtNi4xIDEwLjVsLTU3LjggMzMuNGMtMS43IDEuMS0zLjggMS43LTYgMS43ek0zNjMgMzg2LjJjMC0xMi41LTguNC0xNS44LTI2LjItMTguMi0xOC0yLjQtMTkuOC0zLjYtMTkuOC03LjggMC0zLjUgMS41LTguMSAxNC44LTguMSAxMS45IDAgMTYuMyAyLjYgMTguMSAxMC42IC4yIC44IC44IDEuMyAxLjYgMS4zbDcuNSAwYy41IDAgLjktLjIgMS4yLS41IC4zLS40IC41LS44IC40LTEuMy0xLjItMTMuOC0xMC4zLTIwLjItMjguOC0yMC4yLTE2LjUgMC0yNi4zIDctMjYuMyAxOC42IDAgMTIuNyA5LjggMTYuMSAyNS42IDE3LjcgMTguOSAxLjkgMjAuNCA0LjYgMjAuNCA4LjMgMCA2LjUtNS4yIDkuMi0xNy40IDkuMi0xNS4zIDAtMTguNy0zLjgtMTkuOC0xMS40LS4xLS44LS44LTEuNC0xLjctMS40bC03LjUgMGMtLjkgMC0xLjcgLjctMS43IDEuNyAwIDkuNyA1LjMgMjEuMyAzMC42IDIxLjMgMTguNSAwIDI5LTcuMiAyOS0xOS44em01NC41LTUwLjFjMCA2LjEtNSAxMS4xLTExLjEgMTEuMXMtMTEuMS01LTExLjEtMTEuMWMwLTYuMyA1LjItMTEuMSAxMS4xLTExLjEgNi0uMSAxMS4xIDQuOCAxMS4xIDExLjF6bS0xLjggMGMwLTUuMi00LjItOS4zLTkuNC05LjMtNS4xIDAtOS4zIDQuMS05LjMgOS4zczQuMiA5LjQgOS4zIDkuNGM1LjItLjEgOS40LTQuMyA5LjQtOS40em0tNC41IDYuMmwtMi42IDBjLS4xLS42LS41LTMuOC0uNS0zLjktLjItLjctLjQtMS4xLTEuMy0xLjFsLTIuMiAwIDAgNS0yLjQgMCAwLTEyLjUgNC4zIDBjMS41IDAgNC40IDAgNC40IDMuMyAwIDIuMy0xLjUgMi44LTIuNCAzLjEgMS43IC4xIDEuOCAxLjIgMi4xIDIuOCAuMSAxIC4zIDIuNyAuNiAzLjN6bS0yLjgtOC44YzAtMS43LTEuMi0xLjctMS44LTEuN2wtMiAwIDAgMy41IDEuOSAwYzEuNiAwIDEuOS0xLjEgMS45LTEuOHpNMTM3LjMgMTkxYzAtMi43LTEuNC01LjEtMy43LTYuNEw3Mi4zIDE0OS4zYy0xLS42LTIuMi0uOS0zLjQtMWwtLjYgMGMtMS4yIDAtMi4zIC40LTMuNCAxTDMuNyAxODQuNkMxLjQgMTg1LjkgMCAxODguNCAwIDE5MWwuMSA5NWMwIDEuMyAuNyAyLjUgMS44IDMuMnMyLjUgLjcgMy43IDBMNDIgMjY4LjNjMi4zLTEuNCAzLjctMy44IDMuNy02LjRsMC00NC40YzAtMi42IDEuNC01LjEgMy43LTYuNGwxNS41LTguOWMxLjItLjcgMi40LTEgMy43LTFzMi42IC4zIDMuNyAxbDE1LjUgOC45YzIuMyAxLjMgMy43IDMuOCAzLjcgNi40bDAgNDQuNGMwIDIuNiAxLjQgNS4xIDMuNyA2LjRsMzYuNCAyMC45YzEuMSAuNyAyLjYgLjcgMy43IDAgMS4xLS42IDEuOC0xLjkgMS44LTMuMmwuMi05NXpNNDcyLjUgODcuM2wwIDE3Ni40YzAgMi42LTEuNCA1LjEtMy43IDYuNGwtNjEuMyAzNS40Yy0yLjMgMS4zLTUuMSAxLjMtNy40IDBsLTYxLjMtMzUuNGMtMi4zLTEuMy0zLjctMy44LTMuNy02LjRsMC03MC44YzAtMi42IDEuNC01LjEgMy43LTYuNGw2MS4zLTM1LjRjMi4zLTEuMyA1LjEtMS4zIDcuNCAwbDE1LjMgOC44YzEuNyAxIDMuOS0uMyAzLjktMi4ybDAtOTRjMC0yLjggMy00LjYgNS41LTMuMmwzNi41IDIwLjRjMi4zIDEuMiAzLjggMy43IDMuOCA2LjR6bS00NiAxMjguOWMwLS43LS40LTEuMy0uOS0xLjZsLTIxLTEyLjJjLS42LS4zLTEuMy0uMy0xLjkgMGwtMjEgMTIuMmMtLjYgLjMtLjkgLjktLjkgMS42bDAgMjQuM2MwIC43IC40IDEuMyAuOSAxLjZsMjEgMTIuMWMuNiAuMyAxLjMgLjMgMS44IDBsMjEtMTIuMWMuNi0uMyAuOS0uOSAuOS0xLjZsMC0yNC4zIC4xIDB6bTIwOS44LS43YzIuMy0xLjMgMy43LTMuOCAzLjctNi40bDAtMTcuMWMwLTIuNi0xLjQtNS4xLTMuNy02LjRsLTYwLjktMzUuNGMtMi4zLTEuMy01LjEtMS4zLTcuNCAwbC02MS4zIDM1LjRjLTIuMyAxLjMtMy43IDMuOC0zLjcgNi40bDAgNzAuOGMwIDIuNyAxLjQgNS4xIDMuNyA2LjRsNjAuOSAzNC43YzIuMiAxLjMgNSAxLjMgNy4zIDBsMzYuOC0yMC41YzIuNS0xLjQgMi41LTUgMC02LjRMNTUwIDI0MS42Yy0xLjItLjctMS45LTEuOS0xLjktMy4ybDAtMjIuMmMwLTEuMyAuNy0yLjUgMS45LTMuMmwxOS4yLTExLjFjMS4xLS43IDIuNi0uNyAzLjcgMEw1OTIuMSAyMTNjMS4xIC43IDEuOSAxLjkgMS45IDMuMmwwIDE3LjRjMCAyLjggMy4xIDQuNiA1LjYgMy4ybDM2LjctMjEuM3pNNTU5IDIxOWMtLjQgLjMtLjcgLjctLjcgMS4ybDAgMTMuNmMwIC41IC4zIDEgLjcgMS4ybDExLjggNi44Yy40IC4zIDEgLjMgMS40IDBMNTg0IDIzNWMuNC0uMyAuNy0uNyAuNy0xLjJsMC0xMy42YzAtLjUtLjMtMS0uNy0xLjJsLTExLjgtNi44Yy0uNC0uMy0xLS4zLTEuNCAwTDU1OSAyMTl6TTMwNC44IDI2Mi41bDAtNzAuNGMwLTIuNi0xLjYtNS4xLTMuOS02LjRsLTYxLjEtMzUuMmMtMi4xLTEuMi01LTEuNC03LjQgMGwtNjEuMSAzNS4yYy0yLjMgMS4zLTMuOSAzLjctMy45IDYuNGwwIDcwLjRjMCAyLjggMS45IDUuMiA0IDYuNGw2MS4yIDM1LjJjMi40IDEuNCA1LjIgMS4zIDcuNCAwbDYxLTM1LjJjMS44LTEgMy4xLTIuNyAzLjYtNC43IC4xLS41IC4yLTEuMSAuMi0xLjd6TTIzMC41IDEzNy42bC0uOCAuNSAxLjEgMC0uMy0uNXptNzYuMiAxMzAuMmwtLjQtLjcgMCAuOSAuNC0uMnoiXX0sZmR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNvZGVwZW4iLGljb246WzUxMiw1MTIsW10sImYxY2IiLCJNNTAyLjMgMTU5LjdsLTIzNC0xNTZjLTgtNC45LTE2LjUtNS0yNC42IDBsLTIzNCAxNTZjLTYgNC05LjcgMTEuMS05LjcgMTguM0wwIDMzNGMwIDcuMSAzLjcgMTQuMyA5LjcgMTguM2wyMzQgMTU2YzggNC45IDE2LjUgNSAyNC42IDBsMjM0LTE1NmM2LTQgOS43LTExLjEgOS43LTE4LjNsMC0xNTZjMC03LjEtMy43LTE0LjMtOS43LTE4LjN6TTI3OCA2My4xbDE3Mi4zIDExNC45LTc2LjkgNTEuNC05NS40LTYzLjcgMC0xMDIuNnptLTQ0IDBMMjM0IDE2NS43IDEzOC42IDIyOS40IDYxLjcgMTc4IDIzNCA2My4xek00NCAyMTkuMUw5OS4xIDI1NiA0NCAyOTIuOCA0NCAyMTkuMXpNMjM0IDQ0OC44TDYxLjcgMzM0IDEzOC42IDI4Mi42IDIzNCAzNDYuMyAyMzQgNDQ4Ljh6TTI1NiAzMDhsLTc3LjctNTIgNzcuNy01MiA3Ny43IDUyLTc3LjcgNTJ6bTIyIDE0MC45bDAtMTAyLjYgOTUuNC02My43IDc2LjkgNTEuNC0xNzIuMyAxMTQuOXptMTkwLTE1NmwtNTUuMS0zNi45IDU1LjEtMzYuOSAwIDczLjd6Il19LGhkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyYXZlbHJ5IixpY29uOls1MTIsNTEyLFtdLCJmMmQ5IiwiTTQ5OC42IDIzNC4yYy0xLjItMTAuMy0xLjctMjAuOC0zLjctMzEtMi41LTEyLjQtNS43LTI0LjYtOS42LTM2LjYtNi44LTIwLjktMTcuMi00MC4zLTMwLjktNTcuNS01LjktNy42LTEyLjEtMTQuOC0xOC44LTIxLjctMTQuMS0xNC0zMC0yNi4xLTQ3LjEtMzYuMS0xNy44LTEwLjYtMzYuOC0xOC45LTU2LjctMjQuNy0xMS0zLjEtMjIuMy01LjQtMzMuNS03LjYtNi44LTEuMy0xMy43LTEuNy0yMC42LTIuNS0uMyAwLS42LS40LS45LS42LTEwLjggMC0yMS41IDAtMzIuMyAwLTIuNCAuNC00LjggLjktNy4yIDEuMi0xMS42IDEuMi0yMy4xIDMuNi0zNC4zIDcuMS0xMy44IDQuMS0yNy4xIDkuNi0zOS44IDE2LjQtMTMuMyA3LTI2LjEgMTUuMS0zOC4xIDI0LjItNi4yIDQuNi0xMi4zIDkuNC0xOCAxNC41LTEwLjIgOS4yLTIwLjQgMTguNC0yOS45IDI4LjMtMTIuOCAxMy4zLTI0LjEgMjguMS0zMy42IDQ0LTguNiAxNC0xNS41IDI5LTIwLjUgNDQuNi03LjIgMjIuNy0xMC4zIDQ2LjYtOS4yIDcwLjMgLjYgMTMuNSAyIDI2LjkgNC40IDQwLjIgMy40IDE4LjQgOSAzNi4zIDE2LjcgNTMuMyAxMy42IDI5LjIgMzIuMSA1MS41IDUwLjQgNjcuOSAxMi44IDExLjYgMjYuOCAyMS45IDQxLjggMzAuNiAxNy43IDEwLjQgMzYuNCAxOC45IDU1LjkgMjUuMyAxMy4zIDQuMyAyNi45IDcuNiA0MC42IDkuOCA2LjEgMSAxMi4zIDEuMyAxOC40IDEuOSAuNCAuMSAuOCAuMyAxLjIgLjZsMzIuMyAwYzIuNS0uNCA1LS45IDcuNS0xLjEgMTYuMy0xLjMgMzIuMS01LjMgNDcuNS0xMC43IDE3LjItNS45IDMzLjctMTMuOSA0OS0yMy44IDkuNy02LjQgMTkuNC0xMy4xIDI4LjctMjAuMSA1LjgtNC4zIDExLTkuNSAxNi4zLTE0LjUgNC0zLjcgNy44LTcuNiAxMS41LTExLjUgMTItMTIuNyAyMi42LTI2LjYgMzEuNC00MS42IDkuNS0xNiAxNy40LTMyLjkgMjIuMy01MC45IDIuOS0xMC40IDQuOS0yMSA3LTMxLjcgMS01LjMgMS4zLTEwLjcgMS45LTE2LjEgMC0uMyAuNC0uNiAuNi0uOWwwLTM3LjFjLS4yLS42LS40LTEuMi0uNi0xLjh6bS0xNjEuMS0xLjJzLTE2LjYtMy0yOC41LTNjLTI3LjIgMC0zMy42IDE0LjktMzMuNiAzN2wwIDkzLjctNzMuNSAwIDAtMTkwLjcgNzMuNSAwIDAgMzEuOWM4LjktMjYuOCAyNi44LTM2LjIgNjItMzYuMmwwIDY3LjN6Il19LG1kdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbGlwYXkiLGljb246WzQ0OCw1MTIsW10sImY2NDIiLCJNMzc3LjcgMzJMNzAuMyAzMkMzMS40IDMyIDAgNjMuNCAwIDEwMi4zTDAgNDA5LjdDMCA0NDguNiAzMS40IDQ4MCA3MC4zIDQ4MGwzMDcuNSAwYzM4LjUgMCA2OS44LTMxLjEgNzAuMy02OS42LTQ2LTI1LjYtMTEwLjYtNjAuMy0xNzEuNi04OC40LTMyLjEgNDQtODQuMSA4MS0xNDguNiA4MS03MC42IDAtOTMuNy00NS4zLTk3LTc2LjQtNC0zOSAxNC45LTgxLjUgOTkuNS04MS41IDM1LjQgMCA3OS40IDEwLjIgMTI3LjEgMjUgMTYuNS0zMC4xIDI2LjUtNjAuMyAyNi41LTYwLjNsLTE3OC4yIDAgMC0xNi43IDkyLjEgMCAwLTMxLjItMTA5LjQgMCAwLTE5IDEwOS40IDAgMC01MC40IDUwLjkgMCAwIDUwLjQgMTA5LjQgMCAwIDE5LTEwOS40IDAgMCAzMS4yIDg4LjggMHMtMTUuMiA0Ni42LTM4LjMgOTAuOWM0OC45IDE2LjcgMTAwIDM2IDE0OC42IDUyLjdsMC0yMzQuNGMuMi0zOC43LTMxLjItNzAuMy02OS45LTcwLjN6TTQ3LjMgMzIzYzEgMjAuMiAxMC4yIDUzLjcgNjkuOSA1My43IDUyLjEgMCA5Mi42LTM5LjcgMTE3LjktNzIuOS00NC42LTE4LjctODQuNS0zMS40LTEwOS40LTMxLjQtNjcuNCAwLTc5LjQgMzMuMS03OC40IDUwLjZ6Il19LGdkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1hbWV4IixpY29uOls1NzYsNTEyLFtdLCJmMWYzIiwiTTAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQ4MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMS4xLTYxLjcgMC0zMS45LTM1LjEtMzEuOSAzNS4xLTIwMy43IDAgMC0xNjMuOC02NS44IDAgODEuNy0xODQuNyA3OC42IDAgMjguMSA2My4yIDAtNjMuMiA5Ny4yIDAgMTYuOSA0Ny42IDE3LTQ3LjYgNzUuNSAwIDAtMi40YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJ6bTQ0MC40LTIxLjdsNDIuMi00Ni4zIDQyIDQ2LjMgNTEuNCAwLTY4LTcyLjEgNjgtNzIuMS01MC42IDAtNDIgNDYuNy00MS41LTQ2LjctNTEuNCAwIDY3LjUgNzIuNS02Ny40IDcxLjYgMC0zMy4xLTgzIDAgMC0yMi4yIDgwLjkgMCAwLTMyLjMtODAuOSAwIDAtMjIuNCA4MyAwIDAtMzMuMS0xMjIgMCAwIDE0My4yIDE3MS44IDB6bTk2LjMtNzJsMzkuMyA0MS45IDAtODMuMy0zOS4zIDQxLjR6bS0zNi4zLTkybDM2LjktMTAwLjYgMCAxMDAuNiAzOC43IDAgMC0xNDMuMy02MC4yIDAtMzIuMiA4OS4zLTMxLjktODkuMy02MS4yIDAgMCAxNDMuMS02My4yLTE0My4xLTUxLjIgMC02Mi40IDE0My4zIDQzIDAgMTEuOS0yOC43IDY1LjkgMCAxMiAyOC43IDgyLjcgMCAwLTEwMC4zIDM2LjggMTAwLjMgMzQuNCAwek0yODIgMTg1LjRsMTkuNS00Ni45IDE5LjQgNDYuOS0zOC45IDB6Il19LGJkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaWVkLXBpcGVyLWFsdCIsaWNvbjpbNTc2LDUxMixbXSwiZjFhOCIsIk0yNDQgMjQ2Yy0zLjItMi02LjMtMi45LTEwLjEtMi45LTYuNiAwLTEyLjYgMy4yLTE5LjMgMy43bDEuNyA0LjkgMjcuNy01Ljd6TTM3OS45IDQ0My45Yy0xOSAwLTY0LjEgOS41LTc5LjkgMTkuOGw2LjkgNDUuMWMzNS43IDYuMSA3MC4xIDMuNiAxMDYtOS44LTQuOC0xMC0yMy41LTU1LjEtMzMtNTUuMXpNMzQwLjggMTc3YzYuNiAyLjggMTEuNSA5LjIgMjIuNyAyMi4xIDItMS40IDcuNS01LjIgNy41LTguNiAwLTQuOS0xMS44LTEzLjItMTMuMi0yMyAxMS4yLTUuNyAyNS4yLTYgMzcuNi04LjkgNjguMS0xNi40IDExNi4zLTUyLjkgMTQ2LjgtMTE2LjcgNi4xLTEyLjYgMTEuOC0yNS44IDEyLjQtMzkuOWwtMiAyLjZjLTI4LjQgNTAtMzMgNjMuMi04MS4zIDEwMC0zMS45IDI0LjQtNjkuMiA0MC4yLTEwNi42IDU0LjZsLTYuMy0uMyAwLTIxLjhjLTE5LjYgMS42LTE5LjctMTQuNi0zMS42LTIzLTE4LjcgMjAuNi0zMS42IDQwLjgtNTguOSA1MS4xLTEyLjcgNC44LTE5LjYgMTAtMjUuOSAyMS44IDM0LjktMTYuNCA5MS4yLTEzLjUgOTguOC0xMHpNNTU1LjUgMGwtLjYgMS4xLS4zIC45IC42LS42IC4zLTEuNHpNNDk2LjMgMzgyLjFjLTMzLjktNTYuOS03NS4zLTExOC40LTE1MC0xMTUuNWwtLjMtNmMtMS4xLTEzLjUgMzIuOCAzLjIgMzUuMS0zMWwtMTQuNCA3LjJjLTE5LjgtNDUuNy04LjYtNTQuMy02NS41LTU0LjMtMTQuNyAwLTI2LjcgMS43LTQxLjQgNC42IDIuOSAxOC42IDIuMiAzNi43LTEwLjkgNTAuM2wxOS41IDUuNWMtMS43IDMuMi0yLjkgNi4zLTIuOSA5LjggMCAyMSA0Mi44IDIuOSA0Mi44IDMzLjYgMCAxOC40LTM2LjggNjAuMS01NC45IDYwLjEtOCAwLTUzLjctNTAtNTMuNC02MC4xbC4zLTQuNiA1Mi4zLTExLjVjMTMtMi42IDEyLjMtMjIuNy0yLjktMjIuNy0zLjcgMC00My4xIDkuMi00OS40IDEwLjYtMi01LjItNy41LTE0LjEtMTMuOC0xNC4xLTMuMiAwLTYuMyAzLjItOS41IDQtOS4yIDIuNi0zMSAyLjktMjEuNSAyMC4xTDE1LjkgMjk4LjVjLTUuNSAxLjEtOC45IDYuMy04LjkgMTEuOCAwIDYgNS41IDEwLjkgMTEuNSAxMC45IDggMCAxMzEuMy0yOC40IDE0Ny40LTMyLjIgMi42IDMuMiA0LjYgNi4zIDcuOCA4LjYgMjAuMSAxNC40IDU5LjggODUuOSA3Ni40IDg1LjkgMjQuMSAwIDU4LTIyLjQgNzEuMy00MS45IDMuMi00LjMgNi45LTcuNSAxMi40LTYuOSAuNiAxMy44LTMxLjYgMzQuMi0zMyA0My43LTEuNCAxMC4yLTEgMzUuMi0uMyA0MS4xIDI2LjcgOC4xIDUyLTMuNiA3Ny45LTIuOSA0LjMtMjEgMTAuNi00MS45IDkuOC02My41bC0uMy05LjVjLTEuNC0zNC4yLTEwLjktMzguNS0zNC44LTU4LjYtMS4xLTEuMS0yLjYtMi42LTMuNy00IDIuMi0xLjQgMS4xLTEgNC42LTEuNyA4OC41IDAgNTYuMyAxODMuNiAxMTEuNSAyMjkuOSAzMy4xLTE1IDcyLjUtMjcuOSAxMDMuNS00Ny4yLTI5LTI1LjYtNTIuNi00NS43LTcyLjctNzkuOXpNMzAwLjEgNDI4LjJsMCAyNy4yIDExLjgtMy40LTIuOS0yMy44LTguOSAwek0yMzEuNCAyNzcuOGwyNC4xIDYxLjIgMjEtMTMuOC0zMS4zLTUwLjktMTMuOCAzLjV6bTg0LjQgMTU0LjlsMiAxMi40YzktMS41IDU4LjQtNi42IDU4LjQtMTQuMSAwLTEuNC0uNi0zLjItLjktNC42LTI2LjggMC0zNi45IDMuOC01OS41IDYuM3oiXX0sdmR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxldHRlcmJveGQiLGljb246WzY0MCw1MTIsW10sImU2MmQiLCJNNTIxLjMgMTI4QzU4Ni45IDEyOCA2NDAgMTgxLjEgNjQwIDI0Ni42UzU4Ni45IDM2NS4yIDUyMS4zIDM2NS4yYy00Mi41IDAtNzkuNy0yMi4zLTEwMC43LTU1LjggMTEuNC0xOC4yIDE4LTM5LjcgMTgtNjIuOHMtNi42LTQ0LjYtMTgtNjIuOGwuOC0xLjJjMjAuOC0zMi4zIDU2LjgtNTMuOSA5Ny45LTU0LjZsMiAwek0zMjAgMTI4YzQyLjUgMCA3OS43IDIyLjMgMTAwLjcgNTUuOC0xMS40IDE4LjItMTggMzkuNy0xOCA2Mi44czYuNiA0NC42IDE4IDYyLjhsLS44IDEuMmMtMjAuOCAzMi4zLTU2LjggNTMuOS05Ny45IDU0LjZsLTIgMGMtNDIuNSAwLTc5LjctMjIuMy0xMDAuNy01NS44IDExLjQtMTguMiAxOC0zOS43IDE4LTYyLjhzLTYuNi00NC42LTE4LTYyLjhsLjgtMS4yYzIwLjgtMzIuMyA1Ni44LTUzLjkgOTcuOS01NC42bDIgMHptLTIwMS4zIDBjNDIuNSAwIDc5LjcgMjIuMyAxMDAuNyA1NS44LTExLjQgMTguMi0xOCAzOS43LTE4IDYyLjhzNi42IDQ0LjYgMTggNjIuOGwtLjggMS4yYy0yMC44IDMyLjMtNTYuOCA1My45LTk3LjkgNTQuNmwtMiAwQzUzLjEgMzY1LjEgMCAzMTIuMSAwIDI0Ni42UzUzLjEgMTI4IDExOC43IDEyOHoiXX0seGR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZXJhIixpY29uOls1MTIsNTEyLFtdLCJmMjZhIiwiTTMyMS45IDMyLjdjLTE3MC4yIDAtMjUyLjYgMjIzLjgtMTQ3LjUgMzU1LjEgMzYuNSA0NS40IDg4LjYgNzUuNiAxNDcuNSA3NS42IDM2LjMgMCA3MC4zLTExLjEgOTkuNC0zMC40LTQzLjggMzkuMi0xMDEuOSA2My0xNjUuMyA2My0zLjkgMC04IDAtMTEuOS0uMy0xMzEuNS02LjEtMjM2LjEtMTE0LjYtMjM2LjEtMjQ3LjcgMC0xMzcgMTExLTI0OCAyNDgtMjQ4bC44IDBjNjMuMSAuMyAxMjAuNyAyNC4xIDE2NC40IDYzLjEtMjktMTkuNC02My4xLTMwLjQtOTkuMy0zMC40ek00MjMuNyA0MzAuNGMtNDAuOSAyNC43LTkwLjcgMjMuNi0xMzItNS44IDU2LjItMjAuNSA5Ny43LTkxLjYgOTcuNy0xNzYuNiAwLTg0LjctNDEuMi0xNTUuOC05Ny40LTE3Ni42IDQxLjgtMjkuMiA5MS4yLTMwLjMgMTMyLjktNSAxMDUuOSA5OC43IDEwNS41IDI2NS43LTEuMiAzNjR6Il19LHlkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3ZWlibyIsaWNvbjpbNTEyLDUxMixbXSwiZjE4YSIsIk00MDcgMTc3LjZjNy42LTI0LTEzLjQtNDYuOC0zNy40LTQxLjctMjIgNC44LTI4LjgtMjguMS03LjEtMzIuOCA1MC4xLTEwLjkgOTIuMyAzNy4xIDc2LjUgODQuOC02LjggMjEuMi0zOC44IDEwLjgtMzItMTAuM3pNMjE0LjggNDQ2LjdjLTEwNi4zIDAtMjE0LjgtNTEuNC0yMTQuOC0xMzYuMyAwLTQ0LjMgMjgtOTUuNCA3Ni4zLTE0My43IDk5LjctOTkuNyAyMDMuMi0xMDAuOSAxNzMuNi01LjctNCAxMy4xIDEyLjMgNS43IDEyLjMgNiA3OS41LTMzLjYgMTQwLjUtMTYuOCAxMTQgNTEuNC0zLjcgOS40IDEuMSAxMC45IDguMyAxMy4xIDEzNS43IDQyLjMgMzQuOCAyMTUuMi0xNjkuNyAyMTUuMnpNMzU4LjUgMzAwLjRjLTUuNC01NS43LTc4LjUtOTQtMTYzLjQtODUuNy04NC44IDguNi0xNDguOCA2MC4zLTE0My40IDExNnM3OC41IDk0IDE2My40IDg1LjdjODQuOC04LjYgMTQ4LjgtNjAuMyAxNDMuNC0xMTZ6TTM0Ny45IDM1LjFjLTI1LjkgNS42LTE2LjggNDMuNyA4LjMgMzguMyA3Mi4zLTE1LjIgMTM0LjggNTIuOCAxMTEuNyAxMjQtNy40IDI0LjIgMjkuMSAzNyAzNy40IDEyIDMxLjktOTkuOC01NS4xLTE5NS45LTE1Ny40LTE3NC4zem0tNzguNSAzMTFjLTE3LjEgMzguOC02Ni44IDYwLTEwOS4xIDQ2LjMtNDAuOC0xMy4xLTU4LTUzLjQtNDAuMy04OS43IDE3LjctMzUuNCA2My4xLTU1LjQgMTAzLjQtNDUuMSA0MiAxMC44IDYzLjEgNTAuMiA0NiA4OC41em0tODYuMy0zMGMtMTIuOS01LjQtMzAgLjMtMzggMTIuOS04LjMgMTIuOS00LjMgMjggOC42IDM0IDEzLjEgNiAzMC44IC4zIDM5LjEtMTIuOSA4LTEzLjEgMy43LTI4LjMtOS43LTM0em0zMi42LTEzLjRjLTUuMS0xLjctMTEuNCAuNi0xNC4zIDUuNC0yLjkgNS4xLTEuNCAxMC42IDMuNyAxMi45IDUuMSAyIDExLjctLjMgMTQuNi01LjQgMi44LTUuMiAxLjEtMTAuOS00LTEyLjl6Il19LHdkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWFkbWUiLGljb246WzU3Niw1MTIsW10sImY0ZDUiLCJNNTI4LjMgNDYuNWwtMTM5LjggMGMtNDguMSAwLTg5LjkgMzMuMy0xMDAuNCA4MC4zLTEwLjYtNDctNTIuMy04MC4zLTEwMC40LTgwLjNMNDggNDYuNUMyMS41IDQ2LjUgMCA2OCAwIDk0LjVMMCAzNDAuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OGw4OS43IDBjMTAyLjIgMCAxMzIuNyAyNC40IDE0Ny4zIDc1IC43IDIuOCA1LjIgMi44IDYgMCAxNC43LTUwLjYgNDUuMi03NSAxNDcuMy03NWw4OS43IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNDUuN2MwLTI2LjQtMjEuMy00Ny45LTQ3LjctNDguMXpNMjQyIDMxMS45YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOWMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi45LS4xIDB6bTAtNjAuOWMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjljMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOS0uMSAwem0wLTYwLjljMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi45YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjktLjEgMHpNNTAxLjMgMzExLjhjMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi45YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjktLjEgMHptMC02MC45YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOWMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi45LS4xIDB6bTAtNjAuOWMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjhjMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOC0uMSAweiJdfSxNZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29sYW5nIixpY29uOls2NDAsNTEyLFtdLCJlNDBmIiwiTTQwMC4xIDE5NC44Yy0xMC45IDIuOC0xOS45IDQuMy0yOS4xIDcuNi03LjMgMS45LTE0LjcgMy45LTIzLjIgNi4xbC0uNiAuMWMtNC4yIDEuMi00LjYgMS4zLTguNS0zLjItNC43LTUuMy04LjEtOC43LTE0LjYtMTEuOS0xOS43LTkuNi0zOC43LTYuOC01Ni40IDQuNy0yMS4yIDEzLjctMzIuMSAzNC0zMS44IDU5LjIgLjMgMjUgMTcuNCA0NS41IDQxLjIgNDguOSAyMiAyLjggMzkuOC00LjYgNTMuOC0yMC41IDIuMS0yLjYgNC01LjMgNi4xLTguMyAuOC0xIDEuNS0yLjEgMi4zLTMuM2wtNjAuMSAwYy02LjUgMC04LjEtNC01LjktOS4zIDQtOS43IDExLjUtMjUuOSAxNS45LTM0IC45LTEuOCAzLjEtNS44IDYuOS01LjhsMTAxLjEgMGM0LjUtMTMuNCAxMS44LTI2LjkgMjEuNi0zOS43IDIyLjctMjkuOSA0OS4zLTQ1LjUgODcuMi01MiAzMS44LTUuNiA2MS43LTIuNSA4OC45IDE1LjkgMjQuNiAxNi44IDM5LjggMzkuNiA0My45IDY5LjUgNS4zIDQyLjEtNi45IDc2LjMtMzYuNyAxMDUuNi0xOS43IDIwLjktNDQuOSAzNC03My45IDM5LjktNS42IDEtMTEuMSAxLjUtMTYuNSAyLTIuOSAuMi01LjcgLjUtOC41IC44LTI4LjMtLjYtNTQuMi04LjctNzYtMjcuNC0xNS4zLTEzLjMtMjUuOS0yOS42LTMxLjEtNDguNS0zLjcgNy4zLTggMTQuNC0xNCAyMS4xLTIxLjYgMjkuNi01MC45IDQ4LTg3LjkgNTIuOS0zMC42IDQuMS01OC45LTEuOC04My45LTIwLjUtMjMtMTcuNS0zNi4xLTQwLjUtMzkuNS02OS4yLTQuMS0zNCA1LjktNjUuNCAyNi40LTkxLjMgMjIuMi0yOSA1MS41LTQ3LjQgODcuMy01My45IDI5LjMtNi4yIDU3LjMtMS45IDgyLjYgMTUuMyAxNi41IDEwLjkgMjguMyAyNS44IDM2LjEgNDMuOSAxLjkgMi44IC42IDQuNC0zLjEgNS4zek00OC4zIDIwMC40Yy0xLjMgMC0xLjYtLjYtLjktMS42bDYuNi04LjRjLjYtLjkgMi4yLTEuNSAzLjQtMS41bDExMS4zIDBjMS4yIDAgMS41IC45IC45IDEuOGwtNS4zIDguMWMtLjYgMS0yLjIgMS45LTMuMSAxLjlsLTExMi44LS4zek0xLjIgMjI5LjFjLTEuMiAwLTEuNi0uNy0uOS0xLjZsNi41LTguNGMuNi0uOSAyLjItMS42IDMuNC0xLjZsMTQyLjEgMGMxLjIgMCAxLjggMSAxLjUgMS45bC0yLjUgNy41Yy0uMyAxLjItMS41IDEuOS0yLjggMS45TDEuMiAyMjkuMXptNzQuNSAyNi44Yy0uNiAuOS0uMyAxLjggLjkgMS44bDY4IC4zYy45IDAgMi4yLS45IDIuMi0yLjFsLjYtNy41YzAtMS4zLS42LTIuMi0xLjktMi4ybC02Mi4zIDBjLTEuMiAwLTIuNSAuOS0zLjEgMS45bC00LjQgNy44em01MDEuNS0xOGMtLjItMi42LS4zLTQuOC0uNy03LTUuNi0zMC44LTM0LTQ4LjMtNjMuNi00MS40LTI5IDYuNS00Ny43IDI0LjktNTQuNSA1NC4yLTUuNiAyNC4zIDYuMiA0OC45IDI4LjYgNTguOSAxNy4yIDcuNSAzNC4zIDYuNiA1MC44LTEuOSAyNC42LTEzLjYgMzgtMzIuNyAzOS42LTU5LjUtLjEtMS4yLS4xLTIuMy0uMi0zLjN6Il19LGtkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGFjay1leGNoYW5nZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjE4ZCIsIk0xOC4xIDMzMi4zbDQxMi43IDAgMCAyMmMwIDM3LjctMjkuMyA2OC02NS4zIDY4bC0xOSAwLTg2LjggODkuNyAwLTg5LjctMTc2LjMgMGMtMzYgMC02NS4zLTMwLjMtNjUuMy02OGwwLTIyem0wLTIzLjZsNDEyLjcgMCAwLTg1LTQxMi43IDAgMCA4NXptMC0xMDkuNGw0MTIuNyAwIDAtODUtNDEyLjcgMCAwIDg1ek0zNjUuNCAwTDgzLjQgMGMtMzYgMC02NS4zIDMwLjMtNjUuMyA2Ny43bDAgMjIuMyA0MTIuNyAwIDAtMjIuM0M0MzAuNyAzMC4zIDQwMS40IDAgMzY1LjQgMHoiXX0sU2R0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imd1bHAiLGljb246WzI1Niw1MTIsW10sImYzYWUiLCJNMjEwIDM5MS4xbC0xNC4xIDI0LjYtNC42IDgwLjJjMCA4LjktMjguMyAxNi4xLTYzLjEgMTYuMXMtNjMuMS03LjItNjMuMS0xNi4xbC01LjgtNzkuNC0xNC45LTI1LjRjNDEuMiAxNy4zIDEyNiAxNi43IDE2NS42IDB6TTE0IDEzNy44TDI3LjYgMjYzLjNjNS45LTIwIDIwLjgtNDcgNDAtNTUuMiA2LjMtMi43IDEyLjctMi43IDE4LjcgLjkgNS4yIDMgOS42IDkuMyAxMC4xIDExLjggMS4yIDYuNS0yIDkuMS00LjUgOS4xLTMgMC01LjMtNC42LTYuOC03LjMtNC4xLTcuMy0xMC4zLTcuNi0xNi45LTIuOC02LjkgNS0xMi45IDEzLjQtMTcuMSAyMC43LTUuMSA4LjgtOS40IDE4LjUtMTIgMjguMi0xLjUgNS42LTIuOSAxNC42LS42IDE5LjkgMSAyLjIgMi41IDMuNiA0LjkgMy42IDUgMCAxMi4zLTYuNiAxNS44LTEwLjEgNC41LTQuNSAxMC4zLTExLjUgMTIuNS0xNmw1LjItMTUuNWMyLjYtNi44IDkuOS01LjYgOS45IDAgMCAxMC4yLTMuNyAxMy42LTEwIDM0LjctNS44IDE5LjUtNy42IDI1LjgtNy42IDI1LjgtLjcgMi44LTMuNCA3LjUtNi4zIDcuNS0xLjIgMC0yLjEtLjQtMi42LTEuMi0xLTEuNC0uOS01LjMtLjgtNi4zIC4yLTMuMiA2LjMtMjIuMiA3LjMtMjUuMi0yIDIuMi00LjEgNC40LTYuNCA2LjYtNS40IDUuMS0xNC4xIDExLjgtMjEuNSAxMS44LTMuNCAwLTUuNi0uOS03LjctMi40bDcuNiA3OS42YzIgNSAzOS4yIDE3LjEgODguMiAxNy4xIDQ5LjEgMCA4Ni4zLTEyLjIgODguMi0xNy4xbDEwLjktOTQuNmMtNS43IDUuMi0xMi4zIDExLjYtMTkuNiAxNC44LTUuNCAyLjMtMTcuNCAzLjgtMTcuNC01LjcgMC01LjIgOS4xLTE0LjggMTQuNC0yMS41IDEuNC0xLjcgNC43LTUuOSA0LjctOC4xIDAtMi45LTYtMi4yLTExLjcgMi41LTMuMiAyLjctNi4yIDYuMy04LjcgOS43LTQuMyA2LTYuNiAxMS4yLTguNSAxNS41LTYuMiAxNC4yLTQuMSA4LjYtOS4xIDIyLTUgMTMuMy00LjIgMTEuOC01LjIgMTQtLjkgMS45LTIuMiAzLjUtNCA0LjUtMS45IDEtNC41IC45LTYuMS0uMy0uOS0uNi0xLjMtMS45LTEuMy0zLjcgMC0uOSAuMS0xLjggLjMtMi43IDEuNS02LjEgNy44LTE4LjEgMTUtMzQuMyAxLjYtMy43IDEtMi42IC44LTIuMy02LjIgNi0xMC45IDguOS0xNC40IDEwLjUtNS44IDIuNi0xMyAyLjYtMTQuNS00LjEtLjEtLjQtLjEtLjgtLjItMS4yLTExLjggOS4yLTI0LjMgMTEuNy0yMC04LjEtNC42IDguMi0xMi42IDE0LjktMjIuNCAxNC45LTQuMSAwLTcuMS0xLjQtOC42LTUuMS0yLjMtNS41IDEuMy0xNC45IDQuNi0yMy44IDEuNy00LjUgNC05LjkgNy4xLTE2LjIgMS42LTMuNCA0LjItNS40IDcuNi00LjUgLjYgLjIgMS4xIC40IDEuNiAuNyAyLjYgMS44IDEuNiA0LjUgLjMgNy4yLTMuOCA3LjUtNy4xIDEzLTkuMyAyMC44LS45IDMuMy0yIDkgMS41IDkgMi40IDAgNC43LS44IDYuOS0yLjQgNC42LTMuNCA4LjMtOC41IDExLjEtMTMuNSAyLTMuNiA0LjQtOC4zIDUuNi0xMi4zIC41LTEuNyAxLjEtMy4zIDEuOC00LjggMS4xLTIuNSAyLjYtNS4xIDUuMi01LjEgMS4zIDAgMi40IC41IDMuMiAxLjUgMS43IDIuMiAxLjMgNC41IC40IDYuOS0yIDUuNi00LjcgMTAuNi02LjkgMTYuNy0xLjMgMy41LTIuNyA4LTIuNyAxMS43IDAgMy40IDMuNyAyLjYgNi44IDEuMiAyLjQtMS4xIDQuOC0yLjggNi44LTQuNSAxLjItNC45IC45LTMuOCAyNi40LTY4LjIgMS4zLTMuMyAzLjctNC43IDYuMS00LjcgMS4yIDAgMi4yIC40IDMuMiAxLjEgMS43IDEuMyAxLjcgNC4xIDEgNi4yLS43IDEuOS0uNiAxLjMtNC41IDEwLjUtNS4yIDEyLjEtOC42IDIwLjgtMTMuMiAzMS45LTEuOSA0LjYtNy43IDE4LjktOC43IDIyLjMtLjYgMi4yLTEuMyA1LjggMSA1LjggNS40IDAgMTkuMy0xMy4xIDIzLjEtMTcgLjItLjMgLjUtLjQgLjktLjYgLjYtMS45IDEuMi0zLjcgMS43LTUuNSAxLjQtMy44IDIuNy04LjIgNS4zLTExLjMgLjgtMSAxLjctMS42IDIuNy0xLjYgMi44IDAgNC4yIDEuMiA0LjIgNCAwIDEuMS0uNyA1LjEtMS4xIDYuMiAxLjQtMS41IDIuOS0zIDQuNS00LjUgMTUtMTMuOSAyNS43LTYuOCAyNS43IC4yIDAgNy40LTguOSAxNy43LTEzLjggMjMuNC0xLjYgMS45LTQuOSA1LjQtNSA2LjQgMCAxLjMgLjkgMS44IDIuMiAxLjggMiAwIDYuNC0zLjUgOC00LjcgNS0zLjkgMTEuOC05LjkgMTYuNi0xNC4xbDE0LjgtMTM2LjhjLTMwLjUgMTcuMS0xOTcuNiAxNy4yLTIyOC4zIC4yem0yMjkuNy04LjVjMCAyMS0yMzEuMiAyMS0yMzEuMiAwIDAtOC44IDUxLjgtMTUuOSAxMTUuNi0xNS45IDkgMCAxNy44IC4xIDI2LjMgLjRMMTY3IDY1LjEgMjI4LjMgLjZjMS40LTEuNCA1LjgtLjIgOS45IDMuNXM2LjYgNy45IDUuMyA5LjNsLS4xIC4xLTU3LjMgNjAuNS0xMCA0MC43YzM5LjkgMi42IDY3LjYgOC4xIDY3LjYgMTQuNnptLTY5LjQgNC42YzAtLjgtLjktMS41LTIuNS0yLjFsLS4yIC44YzAgMS4zLTUgMi40LTExLjEgMi40cy0xMS4xLTEuMS0xMS4xLTIuNGMwLS4xIDAtLjIgLjEtLjNsLjItLjdjLTEuOCAuNi0zIDEuNC0zIDIuMyAwIDIuMSA2LjIgMy43IDEzLjcgMy43IDcuNyAuMSAxMy45LTEuNiAxMy45LTMuN3oiXX0semR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InllbHAiLGljb246WzM4NCw1MTIsW10sImYxZTkiLCJNNDIuOSAyNDAuM2w5OS42IDQ4LjZjMTkuMiA5LjQgMTYuMiAzNy41LTQuNSA0Mi43TDMwLjUgMzU4LjVjLTMuMiAuOC02LjQgLjktOS42IC4zcy02LjItMS44LTguOS0zLjctNC45LTQuMy02LjYtNy4xLTIuNy01LjktMy4xLTkuMmMtMy4zLTI4LjgtLjItNTcuOSA5LTg1LjMgMS0zLjEgMi43LTUuOSA0LjktOC4zczQuOS00LjIgNy45LTUuNSA2LjItMS44IDkuNS0xLjggNi40IC45IDkuMyAyLjN6bTQ0IDIzOS4zYzIzLjggMTYuMyA1MC45IDI3LjMgNzkuNCAzMi4xIDMuMiAuNiA2LjUgLjQgOS42LS40czYuMS0yLjMgOC42LTQuNCA0LjYtNC42IDYtNy41IDIuMy02LjEgMi40LTkuNGwzLjktMTEwLjhjLjctMjEuMy0yNS41LTMxLjktMzkuOC0xNi4xTDgyLjggNDQ1LjVjLTIuMiAyLjQtMy44IDUuMy00LjggOC40cy0xLjMgNi40LS45IDkuNiAxLjUgNi4zIDMuMSA5LjEgMy45IDUuMiA2LjYgN2wwIDB6TTIzMi4yIDM2OS43bDU4LjggOTRjMS43IDIuOCA0IDUuMSA2LjggNi45czUuOCAzIDkgMy41IDYuNSAuMyA5LjctLjUgNi4xLTIuNCA4LjYtNC40YzIyLjMtMTguNCA0MC4zLTQxLjUgNTIuNy02Ny42IDEuNC0yLjkgMi4xLTYuMSAyLjItOS40cy0uNi02LjUtMS45LTkuNC0zLjItNS43LTUuNi03LjgtNS4yLTMuOS04LjMtNC45TDI1OC43IDMzNS43Yy0yMC4zLTYuNS0zNy44IDE1LjgtMjYuNSAzMy45ek0zODAuNiAyMzcuNGMtMTEuNS0yNi41LTI4LjctNTAuMi01MC40LTY5LjMtMi40LTIuMS01LjMtMy43LTguNC00LjdzLTYuNC0xLjItOS42LS44LTYuMyAxLjUtOS4xIDMuMi01LjEgNC02LjkgNi43bC02MiA5MS45Yy0xMS45IDE3LjcgNC43IDQwLjYgMjUuMiAzNC43TDM2NiAyNjguNmMzLjEtLjkgNi0yLjUgOC41LTQuNnM0LjUtNC43IDUuOC03LjcgMi4xLTYuMiAyLjItOS40LS42LTYuNS0xLjktOS41bDAgMHpNNjIuMSAzMC4yYy0yLjggMS40LTUuNCAzLjMtNy40IDUuN3MtMy42IDUuMi00LjUgOC4yLTEuMiA2LjItLjkgOS4zIDEuMyA2LjEgMi45IDguOUwxNTYuMyAyNDIuNmMxMS43IDIwLjIgNDIuNiAxMS45IDQyLjYtMTEuNGwwLTIwOC4zYzAtMy4xLS42LTYuMy0xLjgtOS4ycy0zLjEtNS41LTUuNC03LjYtNS0zLjgtOC00LjgtNi4xLTEuNC05LjMtMS4yYy0zOSAzLjEtNzcgMTMuMy0xMTIuMyAzMC4xeiJdfSxDZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29mb3JlIixpY29uOls0NDgsNTEyLFtdLCJmM2E3IiwiTTM0OCAzMTkuOGwtMTMuMiAwIDAgMzQuN2MtMjQuNSAyMy4xLTU2LjMgMzUuOC04OS45IDM1LjgtNzMuMiAwLTEzMi40LTYwLjItMTMyLjQtMTM0LjQgMC03NC4xIDU5LjItMTM0LjQgMTMyLjQtMTM0LjQgMzUuMyAwIDY4LjYgMTQgOTMuNiAzOS40bDYyLjMtNjMuM2MtNDEuOC00Mi4zLTk3LjEtNjUuNi0xNTYuMS02NS42LTEyMi43IDAtMjIwLjcgMTAwLjYtMjIwLjcgMjI0IDAgMTIyLjUgOTcgMjI0IDIyMC43IDIyNCA2My4yIDAgMTI0LjUtMjYuMiAxNzEtODIuNS0yLTI3LjYtMTMuNC03Ny43LTY3LjctNzcuN3pNMzM1LjkgMjA3LjNsLTEwNi4zIDAgMCA4OSAxMTguNCAwYzMzLjUgMCA2MC41IDE1LjEgNzYgNDEuOGwwLTMwLjZjMC02NS4yLTQwLjQtMTAwLjItODguMS0xMDAuMnoiXX0sVGR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImF2aWF0byIsaWNvbjpbNjQwLDUxMixbXSwiZjQyMSIsIk0xMDcuMiAyODMuNWwtMTktNDEuOC01Mi4xIDAtMTkgNDEuOC0xNy4xIDAgNjIuMi0xMzEuNCA2Mi4yIDEzMS40LTE3LjIgMHptLTQ1LTk4LjFsLTE5LjYgNDIuNSAzOS4yIDAtMTkuNi00Mi41ek0xNzQuOSAyODcuOGwtNjIuMi0xMzEuNCAxNy4xIDAgNDUuMSA5NiA0NS4xLTk2IDE3IDAtNjIuMSAxMzEuNHptODAuNi00LjNsMC0xMjcuMSAxNS41IDAgMCAxMjcuMS0xNS41IDB6TTQ2NC42IDE2Ny45bDAgMTE1LjYtMTcuMyAwIDAtMTE1LjYtNDEuMiAwIDAtMTEuNSA5OS42IDAgMCAxMS41LTQxLjEgMHpNNjQwIDIxOC44YzAgOS4yLTEuNyAxNy44LTUuMSAyNS44cy04LjIgMTUuMS0xNC4yIDIxLjEtMTMuMSAxMC44LTIxLjEgMTQuMi0xNi42IDUuMS0yNS44IDUuMS0xNy44LTEuNy0yNS44LTUuMS0xNS4xLTguMi0yMS4xLTE0LjItMTAuOC0xMy0xNC4yLTIxLjFjLTMuNC04LTUuMS0xNi42LTUuMS0yNS44czEuNy0xNy44IDUuMS0yNS44IDguMi0xNS4xIDE0LjItMjEuMSAxMy04LjQgMjEuMS0xMS45YzgtMy40IDE2LjYtNS4xIDI1LjgtNS4xczE3LjggMS43IDI1LjggNS4xIDE1LjEgNS44IDIxLjEgMTEuOWM2IDYgMTAuNyAxMy4xIDE0LjIgMjEuMSAzLjQgOCA1LjEgMTYuNiA1LjEgMjUuOHptLTE1LjUgMGMwLTcuMy0xLjMtMTQtMy45LTIwLjNzLTYuMi0xMS43LTEwLjgtMTYuMy0xMC04LjItMTYuMi0xMC45LTEyLjgtNC0xOS44LTQtMTMuNiAxLjMtMTkuOCA0LTExLjYgNi4zLTE2LjIgMTAuOS04LjIgMTAtMTAuOCAxNi4zLTMuOSAxMy4xLTMuOSAyMC4zYzAgNy4zIDEuMyAxNCAzLjkgMjAuM3M2LjIgMTEuNyAxMC44IDE2LjMgMTAgOC4yIDE2LjIgMTAuOSAxMi44IDQgMTkuOCA0IDEzLjYtMS4zIDE5LjgtNCAxMS42LTYuMyAxNi4yLTEwLjkgOC4yLTEwIDEwLjgtMTYuMyAzLjktMTMuMSAzLjktMjAuM3ptLTk0LjggOTYuN2wwLTYuMyA4OC45LTEwLTI0Mi45IDEzLjRjLjYtMi4yIDEuMS00LjYgMS40LTcuMiAuMy0yIC41LTQuMiAuNi02LjVsNjQuOC04LjEtNjQuOSAxLjljMC0uNC0uMS0uNy0uMS0xLjEtMi44LTE3LjItMjUuNS0yMy43LTI1LjUtMjMuN2wtMS4xLTI2LjMgMjMuOCAwIDE5IDQxLjggMTcuMSAwLTYyLjItMTMxLjQtNjIuMiAxMzEuNCAxNy4xIDAgMTktNDEuOCAyMy42IDAtMS4xIDI2LjRzLTIyLjcgNi41LTI1LjUgMjMuN2MtLjEgLjMtLjEgLjctLjEgMS4xbC02NC45LTEuOSA2NC44IDguMWMuMSAyLjMgLjMgNC40IC42IDYuNSAuMyAyLjYgLjggNSAxLjQgNy4ybC0yNDIuOS0xMy41IDg4LjkgMTAgMCA2LjNjLTUuOSAuOS0xMC41IDYtMTAuNSAxMi4yIDAgNi44IDUuNiAxMi40IDEyLjQgMTIuNHMxMi40LTUuNiAxMi40LTEyLjRjMC02LjItNC42LTExLjMtMTAuNS0xMi4ybDAtNS44IDgwLjMgOSAwIDUuNGMtNS43IDEuMS05LjkgNi4yLTkuOSAxMi4xIDAgNi44IDUuNiAxMC4yIDEyLjQgMTAuMnMxMi40LTMuNCAxMi40LTEwLjJjMC02LTQuMy0xMS05LjktMTIuMWwwLTQuOSAyOC40IDMuMiAwIDIzLjctNS45IDAgMCAxMy45IDUuOSAwIDAtNi42IDUgMCAwIDYuNiA1LjkgMCAwLTEzLjgtNS45IDAgMC0yMy4yIDM4LjMgNC4zYzguMSAxMS40IDE5IDEzLjYgMTkgMTMuNmwtLjEgNi43LTUuMSAuMi0uMSAxMi4xIDQuMSAwIC4xLTUgNS4yIDAgLjEgNSA0LjEgMC0uMS0xMi4xLTUuMS0uMi0uMS02LjdzMTAuOS0yLjEgMTktMTMuNmwzOC4zLTQuMyAwIDIzLjItNS45IDAgMCAxMy44IDUuOSAwIDAtNi42IDUgMCAwIDYuNiA1LjkgMCAwLTEzLjgtNS45IDAgMC0yMy43IDI4LjQtMy4yIDAgNC45Yy01LjcgMS4xLTkuOSA2LjItOS45IDEyLjEgMCA2LjggNS42IDEwLjIgMTIuNCAxMC4yczEyLjQtMy40IDEyLjQtMTAuMmMwLTYtNC4zLTExLTkuOS0xMi4xbDAtNS40IDgwLjMtOSAwIDUuOGMtNS45IC45LTEwLjUgNi0xMC41IDEyLjIgMCA2LjggNS42IDEyLjQgMTIuNCAxMi40czEyLjQtNS42IDEyLjQtMTIuNGMtLjItNi4zLTQuNy0xMS40LTEwLjctMTIuM3pNMzI4LjkgMjI3LjlsMTkuNi00Mi41IDE5LjYgNDIuNS0xNy45IDAtMS43LTQwLjMtMS43IDQwLjMtMTcuOSAweiJdfSxfZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGFkbGV0IixpY29uOls2NDAsNTEyLFtdLCJlNGEwIiwiTTI5Ny45IDBsLjEgMGM3LjYgLjEgMTQuNCA0LjcgMTcuNSAxMS44bDEzMiAzMDguNSAuMy0uMSAuMiAuNC0yLjggMTAtNDIuOSAxNThjLTMuNyAxNi4yLTE5LjcgMjYuMy0zNS44IDIyLjZsLTY4LjQtMTUuNi02OC41IDE1LjZjLTE2LjEgMy43LTMyLjEtNi40LTM1LjgtMjIuNmwtNDIuOS0xNTgtMi43LTEwIC4xLS40IDEzMi4xLTMwOC40YzMtNyA5LjktMTEuNiAxNy41LTExLjh6TTE2MC4xIDMyMi4xbDEzMSAzOS4xIDYuOSAxMjIuNSA3LjktMTIxLjUgMTMwLjYtMzkuMyAuMi0uMS0xMzEgMjUuMS04LjYtMzIwLjItNS4yIDMyMC4yLTEzMS44LTI1Ljh6TTQyNiAyMjIuNmw5NC40LTQxIDczLjggMC0xNTcgMjQ3LjYgMzEuNi0xMDktNDIuOC05Ny42em0xNzEuNS00MS4ybDQxLjQgNzYuMmM0IDcuNS0zLjkgMTUuOS0xMS42IDEyLjJsLTQ3LjYtMjIuNyAxNy44LTY1Ljd6TTEyNy4zIDMxOC41TDE1OC43IDQzMCAxLjYgMTU0LjVjLTUuOS0xMC40IDUuNS0yMiAxNS45LTE2LjJsMTUxLjggODQuMi00Mi4xIDk2eiJdfSxMZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZWRnZS1sZWdhY3kiLGljb246WzQ0OCw1MTIsW10sImUwNzgiLCJNLTYgMjI4LjJsLjQtLjVjMCAuMiAwIC4zLS4xIC41bC0uMyAwem00NjAuNiAxNS41YzAtNDQtNy44LTg0LjUtMjguOC0xMjIuNC00MS03My40LTExMy42LTExMy4zLTE5OC42LTExMy4zLTEzOS45LS4zLTIxOC4zIDEwNS4yLTIzMi44IDIxOS43IDQyLjQtNjEuMyAxMTcuMS0xMjEuNCAyMjAuNC0xMjUgMCAwIDEwOS43IDAgOTkuNCAxMDVsLTE3NS44IDBjNi40LTM3LjQgMTguNS01OSAzNC4zLTc4LjktNzUgMzQuOS0xMjEuOCA5Ni4xLTEyMC44IDE4OC4zIC44IDcxLjUgNTAuMSAxNDQuOCAxMjAuOCAxNzIgODMuNCAzMS44IDE5Mi44IDcuMiAyNDAuMS0yMS4zbDAtMTA0LjRjLTgwLjkgNTYuNS0yNzAuOSA2MC45LTI3Mi4zLTY3LjZsMzE0LjEgMCAwLTUyLjF6Il19LEoxZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtbGFzdGZtIixpY29uOls0NDgsNTEyLFsibGFzdGZtLXNxdWFyZSJdLCJmMjAzIiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0yMTAuNyAyODAuOGMtMS44LTUuNS0zLjQtMTAuOC01LTE1LjktMTIuOS00MS45LTIxLTY4LjQtNTgtNjguNC0yMi40IDAtNDUuMSAxNi4xLTQ1LjEgNjEuMiAwIDM1LjIgMTggNTcuMiA0My4zIDU3LjIgMjguNiAwIDQ3LjYtMjEuMyA0Ny42LTIxLjNsMTEuNyAzMS45cy0xOS44IDE5LjQtNjEuMiAxOS40Yy01MS4zIDAtNzkuOS0zMC4xLTc5LjktODUuOCAwLTU3LjkgMjguNi05MiA4Mi41LTkyIDY3LjkgMCA3OS4zIDM1LjMgOTYuNCA4OC40IDEuNCA0LjQgMi45IDguOSA0LjQgMTMuNSA4LjggMjYuOCAyNC4yIDQ2LjIgNjEuMiA0Ni4yIDI0LjkgMCAzOC4xLTUuNSAzOC4xLTE5LjEgMC0xNy41LTE2LjktMjEuMi00MC0yNi40LTMuMi0uNy02LjUtMS40LTkuOS0yLjItMzAuNC03LjMtNDIuNS0yMy4xLTQyLjUtNDggMC00MCAzMi4zLTUyLjQgNjUuMi01Mi40IDM3LjQgMCA2MC4xIDEzLjYgNjMgNDYuNmwtMzYuNyA0LjRjLTEuNS0xNS44LTExLTIyLjQtMjguNi0yMi40LTE2LjEgMC0yNiA3LjMtMjYgMTkuOCAwIDExIDQuOCAxNy42IDIwLjkgMjEuMyAyLjIgLjUgNC41IDEgNi43IDEuNCAzMS4xIDYuNSA2NS4xIDEzLjcgNjUuMSA1Ni4xIC4xIDM2LjctMzAuNyA1MC42LTc2LjEgNTAuNi02My40IDAtODUuNC0yOC42LTk3LjEtNjQuMXoiXX0sJGR0PUoxZSxEZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZHJlYWRzLWciLGljb246WzMyMCw1MTIsW10sImYzYTkiLCJNMTAuOCA0MDMuM2wyLjggMGMxMi43IDAgMjUuNSAwIDM4LjIgLjEgMS42IDAgMy4xLS40IDMuNiAyLjEgNy4xIDM0LjkgMzAgNTQuNiA2Mi45IDYzLjkgMjYuOSA3LjYgNTQuMSA3LjggODEuMyAxLjggMzMuOC03LjQgNTYtMjguMyA2OC02MC40IDgtMjEuNSAxMC43LTQzLjggMTEtNjYuNSAuMS01LjggLjMtNDctLjItNTIuOGwtLjktLjNjLS44IDEuNS0xLjcgMi45LTIuNSA0LjQtMjIuMSA0My4xLTYxLjMgNjcuNC0xMDUuNCA2OS4xLTEwMyA0LTE2OS40LTU3LTE3Mi0xNzYuMi0uNS0yMy43IDEuOC00Ni45IDguMy02OS43IDIwLjYtNzEuMSA3NC42LTExOC4yIDE1My45LTExOC44IDYxLjMtLjQgMTAxLjUgMzguNyAxMTYuMiA3MC4zIC41IDEuMSAxLjMgMi4zIDIuNCAxLjlsMC02MS42IDQ0LjMgMGMwIDI4MC4zIC4xIDMzMi4yIC4xIDMzMi4yLS4xIDc4LjUtMjYuNyAxNDMuNy0xMDMgMTYyLjItNjkuNSAxNi45LTE1OSA0LjgtMTk2LTU3LjItOC0xMy41LTExLjgtMjguMy0xMy00NC41ek0xNTcuMSAzNi41Yy01Mi41LS41LTEwOC41IDQwLjctMTE1IDEzMy44LTQuMSA1OSAxNC44IDEyMi4yIDcxLjUgMTQ4LjYgMjcuNiAxMi45IDc0LjMgMTUgMTA4LjMtOC43IDQ3LjYtMzMuMiA2Mi43LTk3IDU0LjgtMTU0LTkuNy03MS4xLTQ3LjgtMTIwLTExOS42LTExOS43eiJdfSxBZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2MtbWFzdGVyY2FyZCIsaWNvbjpbNTc2LDUxMixbXSwiZjFmMSIsIk00ODIuOSA0MTAuM2MwIDYuOC00LjYgMTEuNy0xMS4yIDExLjctNi44IDAtMTEuMi01LjItMTEuMi0xMS43czQuNC0xMS43IDExLjItMTEuN2M2LjYgMCAxMS4yIDUuMiAxMS4yIDExLjd6TTE3Mi4xIDM5OC42Yy03LjEgMC0xMS4yIDUuMi0xMS4yIDExLjdTMTY1IDQyMiAxNzIuMSA0MjJjNi41IDAgMTAuOS00LjkgMTAuOS0xMS43LS4xLTYuNS00LjQtMTEuNy0xMC45LTExLjd6bTExNy41LS4zYy01LjQgMC04LjcgMy41LTkuNSA4LjdsMTkuMSAwYy0uOS01LjctNC40LTguNy05LjYtOC43em0xMDcuOCAuM2MtNi44IDAtMTAuOSA1LjItMTAuOSAxMS43czQuMSAxMS43IDEwLjkgMTEuNyAxMS4yLTQuOSAxMS4yLTExLjdjMC02LjUtNC40LTExLjctMTEuMi0xMS43em0xMDUuOSAyNi4xYzAgLjMgLjMgLjUgLjMgMS4xIDAgLjMtLjMgLjUtLjMgMS4xLS4zIC4zLS4zIC41LS41IC44LS4zIC4zLS41IC41LTEuMSAuNS0uMyAuMy0uNSAuMy0xLjEgLjMtLjMgMC0uNSAwLTEuMS0uMy0uMyAwLS41LS4zLS44LS41LS4zLS4zLS41LS41LS41LS44LS4zLS41LS4zLS44LS4zLTEuMSAwLS41IDAtLjggLjMtMS4xIDAtLjUgLjMtLjggLjUtMS4xIC4zLS4zIC41LS4zIC44LS41IC41LS4zIC44LS4zIDEuMS0uMyAuNSAwIC44IDAgMS4xIC4zIC41IC4zIC44IC4zIDEuMSAuNXMuMiAuNiAuNSAxLjF6bS0yLjIgMS40Yy41IDAgLjUtLjMgLjgtLjMgLjMtLjMgLjMtLjUgLjMtLjhzMC0uNS0uMy0uOGMtLjMgMC0uNS0uMy0xLjEtLjNsLTEuNiAwIDAgMy41IC44IDAgMC0xLjQgLjMgMCAxLjEgMS40IC44IDAtMS4xLTEuM3pNNTc2IDgxbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MWMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MUMwIDU0LjUgMjEuNSAzMyA0OCAzM2w0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNNjQgMjIwLjZjMCA3Ni41IDYyLjEgMTM4LjUgMTM4LjUgMTM4LjUgMjcuMiAwIDUzLjktOC4yIDc2LjUtMjMuMS03Mi45LTU5LjMtNzIuNC0xNzEuMiAwLTIzMC41LTIyLjYtMTUtNDkuMy0yMy4xLTc2LjUtMjMuMS03Ni40LS4xLTEzOC41IDYyLTEzOC41IDEzOC4yek0yODggMzI5LjRjNzAuNS01NSA3MC4yLTE2Mi4yIDAtMjE3LjUtNzAuMiA1NS4zLTcwLjUgMTYyLjYgMCAyMTcuNXpNMTQ1LjcgNDA1LjdjMC04LjctNS43LTE0LjQtMTQuNy0xNC43LTQuNiAwLTkuNSAxLjQtMTIuOCA2LjUtMi40LTQuMS02LjUtNi41LTEyLjItNi41LTMuOCAwLTcuNiAxLjQtMTAuNiA1LjRsMC00LjQtOC4yIDAgMCAzNi43IDguMiAwYzAtMTguOS0yLjUtMzAuMiA5LTMwLjIgMTAuMiAwIDguMiAxMC4yIDguMiAzMC4ybDcuOSAwYzAtMTguMy0yLjUtMzAuMiA5LTMwLjIgMTAuMiAwIDguMiAxMCA4LjIgMzAuMmw4LjIgMCAwLTIzLS4yIDB6TTE5MC42IDM5MmwtNy45IDAgMCA0LjRjLTIuNy0zLjMtNi41LTUuNC0xMS43LTUuNC0xMC4zIDAtMTguMiA4LjItMTguMiAxOS4zIDAgMTEuMiA3LjkgMTkuMyAxOC4yIDE5LjMgNS4yIDAgOS0xLjkgMTEuNy01LjRsMCA0LjYgNy45IDAgMC0zNi44em00MC41IDI1LjZjMC0xNS0yMi45LTguMi0yMi45LTE1LjIgMC01LjcgMTEuOS00LjggMTguNS0xLjFsMy4zLTYuNWMtOS40LTYuMS0zMC4yLTYtMzAuMiA4LjIgMCAxNC4zIDIyLjkgOC4zIDIyLjkgMTUgMCA2LjMtMTMuNSA1LjgtMjAuNyAuOGwtMy41IDYuM2MxMS4yIDcuNiAzMi42IDYgMzIuNi03LjV6bTM1LjQgOS4zbC0yLjItNi44Yy0zLjggMi4xLTEyLjIgNC40LTEyLjItNC4xbDAtMTYuNiAxMy4xIDAgMC03LjQtMTMuMSAwIDAtMTEuMi04LjIgMCAwIDExLjItNy42IDAgMCA3LjMgNy42IDAgMCAxNi43YzAgMTcuNiAxNy4zIDE0LjQgMjIuNiAxMC45em0xMy4zLTEzLjRsMjcuNSAwYzAtMTYuMi03LjQtMjIuNi0xNy40LTIyLjYtMTAuNiAwLTE4LjIgNy45LTE4LjIgMTkuMyAwIDIwLjUgMjIuNiAyMy45IDMzLjggMTQuMmwtMy44LTZjLTcuOCA2LjQtMTkuNiA1LjgtMjEuOS00Ljl6TTMzOC45IDM5MmMtNC42LTItMTEuNi0xLjgtMTUuMiA0LjRsMC00LjQtOC4yIDAgMCAzNi43IDguMiAwIDAtMjAuN2MwLTExLjYgOS41LTEwLjEgMTIuOC04LjRsMi40LTcuNnptMTAuNiAxOC4zYzAtMTEuNCAxMS42LTE1LjEgMjAuNy04LjRsMy44LTYuNWMtMTEuNi05LjEtMzIuNy00LjEtMzIuNyAxNSAwIDE5LjggMjIuNCAyMy44IDMyLjcgMTVsLTMuOC02LjVjLTkuMiA2LjUtMjAuNyAyLjYtMjAuNy04LjZ6TTQxNi4yIDM5MmwtOC4yIDAgMCA0LjRjLTguMy0xMS0yOS45LTQuOC0yOS45IDEzLjkgMCAxOS4yIDIyLjQgMjQuNyAyOS45IDEzLjlsMCA0LjYgOC4yIDAgMC0zNi44em0zMy43IDBjLTIuNC0xLjItMTEtMi45LTE1LjIgNC40bDAtNC40LTcuOSAwIDAgMzYuNyA3LjkgMCAwLTIwLjdjMC0xMSA5LTEwLjMgMTIuOC04LjRsMi40LTcuNnptNDAuMy0xNC45bC03LjkgMCAwIDE5LjNjLTguMi0xMC45LTI5LjktNS4xLTI5LjkgMTMuOSAwIDE5LjQgMjIuNSAyNC42IDI5LjkgMTMuOWwwIDQuNiA3LjkgMCAwLTUxLjd6bTcuNi03NS4xbDAgNC42IC44IDAgMC00LjYgMS45IDAgMC0uOC00LjYgMCAwIC44IDEuOSAwem02LjYgMTIzLjhjMC0uNSAwLTEuMS0uMy0xLjYtLjMtLjMtLjUtLjgtLjgtMS4xcy0uOC0uNS0xLjEtLjhjLS41IDAtMS4xLS4zLTEuNi0uMy0uMyAwLS44IC4zLTEuNCAuMy0uNSAuMy0uOCAuNS0xLjEgLjgtLjUgLjMtLjggLjgtLjggMS4xLS4zIC41LS4zIDEuMS0uMyAxLjYgMCAuMyAwIC44IC4zIDEuNCAwIC4zIC4zIC44IC44IDEuMSAuMyAuMyAuNSAuNSAxLjEgLjggLjUgLjMgMS4xIC4zIDEuNCAuMyAuNSAwIDEuMSAwIDEuNi0uMyAuMy0uMyAuOC0uNSAxLjEtLjhzLjUtLjggLjgtMS4xYy4zLS42IC4zLTEuMSAuMy0xLjR6bTMuMi0xMjQuN2wtMS40IDAtMS42IDMuNS0xLjYtMy41LTEuNCAwIDAgNS40IC44IDAgMC00LjEgMS42IDMuNSAxLjEgMCAxLjQtMy41IDAgNC4xIDEuMSAwIDAtNS40em00LjQtODAuNWMwLTc2LjItNjIuMS0xMzguMy0xMzguNS0xMzguMy0yNy4yIDAtNTMuOSA4LjItNzYuNSAyMy4xIDcyLjEgNTkuMyA3My4yIDE3MS41IDAgMjMwLjUgMjIuNiAxNSA0OS41IDIzLjEgNzYuNSAyMy4xIDc2LjQgLjEgMTM4LjUtNjEuOSAxMzguNS0xMzguNHoiXX0sRWR0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRpc2NvdXJzZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjM5MyIsIk0yMjUuOSAzMkMxMDMuMyAzMiAwIDEzMC41IDAgMjUyLjEgMCAyNTYgLjEgNDgwIC4xIDQ4MGwyMjUuOC0uMkMzNDguNiA0NzkuOCA0NDggMzc3LjUgNDQ4IDI1NS45UzM0OC42IDMyIDIyNS45IDMyek0yMjQgMzg0Yy0xOS40IDAtMzcuOS00LjMtNTQuNC0xMi4xTDg4LjUgMzkyIDExMS40IDMxN2MtOS44LTE4LjEtMTUuNC0zOC45LTE1LjQtNjEgMC03MC43IDU3LjMtMTI4IDEyOC0xMjhzMTI4IDU3LjMgMTI4IDEyOC01Ny4zIDEyOC0xMjggMTI4eiJdfSxJZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmxhY2stdGllIixpY29uOls0NDgsNTEyLFtdLCJmMjdlIiwiTTAgMzJsMCA0NDggNDQ4IDAgMC00NDgtNDQ4IDB6TTMxNi41IDM1Ny4ybC05Mi41IDg4LjctOTIuNS04OC43IDY0LjUtMTg0LTY0LjUtODYuNiAxODQuOSAwLTY0LjQgODYuNiA2NC41IDE4NHoiXX0sSzFlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1mYWNlYm9vayIsaWNvbjpbNDQ4LDUxMixbImZhY2Vib29rLXNxdWFyZSJdLCJmMDgyIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsOTguMiAwIDAtMTQ1LjgtNTIuOCAwIDAtNzguMiA1Mi44IDAgMC0zMy43YzAtODcuMSAzOS40LTEyNy41IDEyNS0xMjcuNSAxNi4yIDAgNDQuMiAzLjIgNTUuNyA2LjRsMCA3MC44Yy02LS42LTE2LjUtMS0yOS42LTEtNDIgMC01OC4yIDE1LjktNTguMiA1Ny4ybDAgMjcuOCA4My42IDAtMTQuNCA3OC4yLTY5LjMgMCAwIDE0NS44IDEyOSAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSxQZHQ9SzFlLE5kdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiYXR0bGUtbmV0IixpY29uOls1MTIsNTEyLFtdLCJmODM1IiwiTTQ0OC44IDIyNS42YzI2LjkgLjIgMzUuNi03LjQgMzguOS0xMi40IDEyLjUtMTYuMy03LjEtNDcuNi01Mi44LTcxLjMgMTcuOC0zMy42IDMwLjEtNjMuNyAzNi4zLTg1LjMgMy40LTExLjggMS4xLTE5IC41LTIwLjMtMS43IDEwLjUtMTUuOCA0OC41LTQ4LjIgMTAwLTI1LTExLjItNTYuNS0yMC4xLTkzLjgtMjMuOC04LjktMTYuOS0zNC45LTYzLjktNjAuNS04OC45LTE2LjgtMTYuNS0zMC4zLTIyLjYtNDAuOC0yMy41bDAgMGMtMTMuOC0xLjYtMjIuNyA1LjgtMjcuNCAxMS0xNy4yIDE4LjUtMjQuMyA0OC45LTI1IDg0LjEtNy4yLTEyLjMtMTcuMi0yNC42LTI4LjUtMjUuOWwtLjIgMGMtMjAuNy0zLjUtMzguNCAyOS4yLTM2IDgxLjMtMzguNCAxLjQtNzEgNS44LTkzIDExLjItOS45IDIuNC0xNi4yIDcuMy0xNy44IDkuNyAxLS40IDIyLjQtOS4yIDExMS42LTkuMiA1LjIgNTMgMjkuOCAxMDEuOCAyNiA5My4yLTkuNyAxNS40LTM4LjIgNjIuNC00Ny4zIDk3LjctNS45IDIyLjktNC40IDM3LjYgLjIgNDcuMSA1LjYgMTIuOCAxNi40IDE2LjcgMjMuMiAxOC4zIDI1IDUuNyA1NS40LTMuNiA4Ni43LTIxLjEtNy41IDEyLjgtMTMuOSAyOC41LTkuMSAzOS4zIDcuMyAxOS42IDQ0LjUgMTguNyA4OC40LTkuNCAyMC4yIDMyLjIgNDAuMSA1Ny45IDU1LjcgNzQuMSAyLjYgMi44IDUuNSA1LjIgOC44IDcuMSA1LjEgMy4yIDguNiAzLjQgOC42IDMuNC04LjItNi43LTM0LTM4LTYyLjUtOTEuOCAyMi4yLTE2IDQ1LjctMzguOSA2Ny41LTY5LjMgMTIyLjggNC42IDE0My4zLTI0LjggMTQ4LTMxLjYgMTQuNy0xOS45IDMuNC01Ny40LTU3LjMtOTMuN3pNMzcxIDMzMS44YzIzLjgtMzcuNyAzMC4zLTY3LjggMjkuNC05Mi4zIDI3LjkgMTcuNiA0Ny4yIDM3LjYgNDkuMSA1OC44IDEuMSAxMi45LTguMSAyOS4xLTc4LjUgMzMuNXpNMjE3LjEgMzg3LjdjOS44LTYuMiAxOS41LTEzLjEgMjkuMi0yMC41IDYuNyAxMy4zIDEzLjYgMjYuMSAyMC42IDM4LjItNDAuNiAyMS45LTY4LjggMTIuOC00OS44LTE3Ljd6bTIxNS0xNzEuM2MtMTAuMy01LjMtMjEuMi0xMC4zLTMyLjQtMTUgNy45LTEyLjEgMTUuNS0yNC40IDIyLjctMzYuOSAzOS4xIDI0LjEgNDUuOSA1My4yIDkuNiA1MS45ek0yNzkuNCAzOThjLTUuNS0xMS40LTExLTIzLjUtMTYuNS0zNi40IDQzLjIgMS4zIDYyLjQtMTguNyA2My4zLTIwLjQgMCAuMS0yNSAxNS42LTYyLjUgMTIuMiAzMC42LTI1LjYgNTkuMS01My43IDg1LjEtODQgOC43LTEwLjIgMTctMjAuNiAyNC45LTMxLjEtLjQtLjMtMS41LTMtMTYuNS0xMi01MS43IDYwLjMtMTAyLjMgOTgtMTMyLjggMTE1LjktMjAuNi0xMS4yLTQwLjgtMzEuOC01NS43LTYxLjUtMjAtMzkuOS0zMC04Mi40LTMxLjYtMTE2LjEgMTIuMyAuOSAyNS4zIDIuMiAzOC44IDMuOS0yMi4zIDM2LjgtMTQuNCA2My0xMy41IDY0LjIgMC0uMS0xLTI5LjIgMjAuMS01OS42IDkgNTIuNSAyNCAxMDMuOCA0NC43IDE1Mi44IC45LS40IDEuOCAuOSAxOC43LTguMi0yNi4zLTc0LjUtMzMuOC0xMzguMi0zNC0xNzMuNCAyMC0xMi40IDQ4LjItMTkuOCA4MS42LTE3LjggNDQuNiAyLjcgODYuNCAxNS4yIDExNi4zIDMwLjctNy4xIDEwLjQtMTQuOSAyMS4zLTIzLjMgMzIuNS0yMC43LTM3LjctNDcuMy00My45LTQ4LjktNDMuNyAuMSAwIDI1LjkgMTQuMSA0MS41IDQ3LjItMzcuNS0xMy44LTc2LjEtMjQuNC0xMTUuMy0zMS43LTEzLjEtMi40LTI2LjItNC40LTM5LjQtNi0uMSAuNC0xLjggMS44LTIuMiAyMC4zIDc3LjkgMTQuNSAxMzYuNiAzOS45IDE2Ny4yIDU3LjIgLjcgMjMuNi03IDUxLjYtMjUuNCA3OS42LTI0LjYgMzcuMy01Ni40IDY3LjItODQuOCA4NS40em0yNy40LTI4N2MtNDQuNi0xLjctNzMuNiA3LjQtOTQuNyAyMC43IDItNTIuMyAyMS4zLTc2LjQgMzguMi03NS4zIDE2LjktNC4yIDU0LjkgNTIuMiA1Ni41IDU0LjZ6bS0xMzAuNyAzLjFjLjUgMTIuMSAxLjYgMjQuNiAzLjIgMzcuMy0xNC42LS45LTI4LjctMS4zLTQyLjQtMS4zLS4xIDMuMi0uMS01MSAyNC43LTQ5LjZsLjEgMGM1LjggMS4xIDEwLjYgNi45IDE0LjQgMTMuNnptLTI4LjEgMTYyYzIwLjggMzkuNyA0My4zIDYwLjYgNjUuMyA3Mi4zLTQ2LjggMjQuOC03Ny41IDIwLTg0LjkgNC41LS4yLS4yLTExLjEtMTUuMyAxOS43LTc2LjhsMCAweiJdfSxGZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmltb2JqZWN0IixpY29uOls0NDgsNTEyLFtdLCJmMzc4IiwiTTQxNiAzMkwzMiAzMkMxNC40IDMyIDAgNDYuNCAwIDY0TDAgNDQ4YzAgMTcuNiAxNC40IDMyIDMyIDMybDM4NCAwYzE3LjYgMCAzMi0xNC40IDMyLTMybDAtMzg0YzAtMTcuNi0xNC40LTMyLTMyLTMyek0zNTIgMjg5LjRjMCA0OS40LTExLjQgODIuNi0xMDMuOCA4Mi42bC0xNi45IDBjLTQ0LjEgMC02Mi40LTE0LjktNzAuNC0zOC44bC0uOSAwIDAgMzQuOC02NCAwIDAtMjMyIDY0IDAgMCA3NC43IDEuMSAwYzQuNi0zMC41IDM5LjctMzguOCA2OS43LTM4LjhsMTcuMyAwYzkyLjQgMCAxMDMuOCAzMy4xIDEwMy44IDgyLjVsMCAzNSAuMSAwem0tNjQtMjguOWwwIDIyLjljMCAyMS43LTMuNCAzMy44LTM4LjQgMzMuOGwtNDUuMyAwYy0yOC45IDAtNDQuMS02LjUtNDQuMS0zNS43bDAtMTljMC0yOS4zIDE1LjItMzUuNyA0NC4xLTM1LjdsNDUuMyAwYzM1LS4yIDM4LjQgMTIgMzguNCAzMy43eiJdfSxPZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3ZlbHRlIixpY29uOls0NDgsNTEyLFtdLCJlODY4IiwiTTIwMi4xIDI2LjRjNjYuOC00Mi42IDE1OS4zLTIyLjcgMjA2LjEgNDQuMyAxMS4xIDE1LjUgMTkgMzMuMSAyMy4yIDUxLjhzNC43IDM3LjkgMS4zIDU2LjdjLTMuMiAxOC0xMC4xIDM1LjEtMjAuMSA1MC4zIDE0LjYgMjcuOSAxOS42IDYwIDE0IDkxLTMuMyAxOC40LTEwLjQgMzYtMjAuOSA1MS41cy0yNC4xIDI4LjctMzkuOSAzOC43TDI0OC4zIDQ4NS42Yy02Ni44IDQyLjYtMTU5LjMgMjIuNy0yMDYuMS00NC4yLTExLjEtMTUuNS0xOS0zMy4yLTIzLjItNTEuOHMtNC43LTM3LjktMS4zLTU2LjdjMy4yLTE4IDEwLjEtMzUuMSAyMC4xLTUwLjMtMTQuNy0yNy45LTE5LjYtNjAtMTQtOTEuMSAzLjMtMTguNCAxMC40LTM2IDIwLjktNTEuNXMyNC4xLTI4LjcgMzkuOS0zOC43TDIwMi4xIDI2LjR6TTMxNS42IDY3LjJjLTE3LjktNi42LTM3LjQtNy42LTU1LjktMi44LTguNCAyLjMtMTYuNSA1LjgtMjMuOCAxMC41TDExOC41IDE0OS43Yy05LjUgNi0xNy43IDEzLjktMjQgMjMuM1M4NCAxOTIuOCA4MiAyMDMuOWMtMiAxMS4zLTEuNyAyMi45IC44IDM0LjFzNy4zIDIxLjggMTMuOSAzMS4yYzEwLjkgMTUuNyAyNi4zIDI3LjYgNDQuMiAzNC4zczM3LjQgNy42IDU1LjkgMi44YzguNC0yLjMgMTYuNS01LjggMjMuOC0xMC41bDQ0LjgtMjguNmMyLjItMS40IDQuNy0yLjUgNy4yLTMuMiA1LjYtMS40IDExLjQtMS4yIDE2LjggLjhzMTAgNS42IDEzLjMgMTAuM2MyIDIuOCAzLjUgNiA0LjIgOS40cy45IDYuOSAuMyAxMC4zYy0uNiAzLjMtMS45IDYuNS0zLjggOS4zLTEuOSAyLjgtNC40IDUuMi03LjIgN0wxNzguOCAzODYuMWMtMi4yIDEuNC00LjcgMi41LTcuMiAzLjItNS42IDEuNC0xMS40IDEuMi0xNi44LS44cy0xMC01LjYtMTMuMy0xMC4zYy0zLjYtNS4xLTUuMy0xMS4yLTQuNy0xNy40bC40LTQuNC00LjMtMS4zYy0xNi41LTUtMzIuMS0xMi43LTQ1LjktMjIuOWwtNi00LjQtMi4yIDYuN2MtMS4yIDMuNi0yLjEgNy4zLTIuOCAxMS0yIDExLjMtMS43IDIyLjkgLjggMzQuMXM3LjMgMjEuOCAxMy45IDMxLjFjMTAuOSAxNS43IDI2LjMgMjcuNiA0NC4yIDM0LjNzMzcuNCA3LjYgNTUuOCAyLjhjOC40LTIuMyAxNi41LTUuOCAyMy45LTEwLjVsMTE3LjMtNzQuOGM5LjUtNiAxNy43LTEzLjkgMjQtMjMuM3MxMC42LTE5LjkgMTIuNi0zMWMyLTExLjMgMS44LTIyLjktLjgtMzQuMXMtNy4zLTIxLjgtMTQtMzEuMWMtMTAuOS0xNS43LTI2LjMtMjcuNi00NC4yLTM0LjNzLTM3LjQtNy42LTU1LjktMi44Yy04LjQgMi4zLTE2LjUgNS44LTIzLjggMTAuNUwxODUgMjQ0LjhjLTIuMiAxLjQtNC42IDIuNS03LjIgMy4yLTUuNiAxLjQtMTEuNSAxLjItMTYuOC0uOHMtMTAtNS42LTEzLjMtMTAuM2MtMi0yLjgtMy40LTYtNC4yLTkuNHMtLjktNi45LS4yLTEwLjNjLjYtMy4zIDEuOS02LjUgMy44LTkuM3M0LjQtNS4yIDcuMi03bDExNy40LTc0LjhjMi4yLTEuNCA0LjctMi41IDcuMi0zLjIgNS42LTEuNCAxMS40LTEuMSAxNi44IC45czEwIDUuNiAxMy4zIDEwLjNjMy42IDUuMSA1LjIgMTEuMyA0LjcgMTcuNGwtLjQgNC40IDQuNCAxLjNjMTYuNSA1IDMyIDEyLjggNDUuOSAyM2w2IDQuNCAyLjItNi44YzEuMi0zLjYgMi4xLTcuMyAyLjgtMTEgMi0xMS4zIDEuOC0yMi45LS44LTM0LjFzLTcuMy0yMS44LTE0LTMxLjFjLTEwLjktMTUuNy0yNi4zLTI3LjYtNDQuMi0zNC4zeiJdfSxSZHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWRlc2twcm8iLGljb246WzQ0OCw1MTIsW10sImU4NDQiLCJNNDA4LjggMzJDNDMwLjQgMzIgNDQ4IDQ5LjYgNDQ4IDcxLjJsMCAzNjkuNmMwIDIxLjYtMTcuNiAzOS4yLTM5LjIgMzkuMkwzOS4yIDQ4MEMxNy42IDQ4MCAwIDQ2Mi40IDAgNDQwLjhMMCA3MS4yQzAgNDkuNiAxNy42IDMyIDM5LjIgMzJsMzY5LjYgMHpNMTEwLjkgMjc0LjFsMCAxMTQuNCA4OS4xLS4xYzIwLjYgMCAzOS40LTMuMiA1Ni4zLTkuNXMzMS4zLTE1LjQgNDMuMi0yN2MxMi4yLTExLjkgMjEuNi0yNiAyOC4yLTQyLjEgNC42LTExLjEgNy43LTIzIDkuMi0zNS43bC00My44IDBjLTEuMSA2LjQtMi44IDEyLjQtNS4xIDE4LjItNC4yIDEwLjktMTAuMyAyMC4zLTE4LjIgMjguMi03LjkgNy43LTE3LjQgMTMuNy0yOC42IDE3LjktMTEuMSA0LjMtMjMuNSA2LjQtMzcuMyA2LjRsLTUwIDAgMC03MC42LTQzIC4xem0wLTE1MS40bDAgMTE0LjQgNDMtLjEgMC03MC43IDUwIDBjMTMuNyAwIDI2LjIgMi4xIDM3LjMgNi40IDExLjEgNC4zIDIwLjYgMTAuMyAyOC42IDE4LjMgNy45IDcuNyAxNCAxNy4xIDE4LjIgMjguMiAyLjMgNS42IDQgMTEuNSA1LjEgMTcuOGw0My45IC4xYy0xLjQtMTIuNi00LjQtMjQuNC04LjktMzUuMy02LjYtMTYuNC0xNi0zMC41LTI4LjEtNDIuMi0xMi4xLTExLjktMjYuNy0yMS4xLTQzLjYtMjcuNS0xNi45LTYuNC0zNS43LTkuNS01Ni4zLTkuNWwtODkgLjF6Il19LEJkdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0YWlsd2luZC1jc3MiLGljb246WzY0MCw1MTIsW10sImU4NjYiLCJNMzIwIDY0Yy04NS4zIDAtMTM4LjcgNDIuNy0xNjAgMTI4IDMyLTQyLjcgNjkuMy01OC43IDExMi00OCAyNC4zIDYuMSA0MS43IDIzLjggNjEgNDMuMyAzMS40IDMxLjggNjcuNyA2OC43IDE0NyA2OC43IDg1LjMgMCAxMzguNy00Mi43IDE2MC0xMjgtMzIgNDIuNy02OS4zIDU4LjctMTEyIDQ4LTI0LjMtNi4xLTQxLjctMjMuOC02MS00My4zLTMxLjQtMzEuOC02Ny43LTY4LjctMTQ3LTY4Ljd6TTE2MCAyNTZjLTg1LjMgMC0xMzguNyA0Mi43LTE2MCAxMjggMzItNDIuNyA2OS4zLTU4LjcgMTEyLTQ4IDI0LjMgNi4xIDQxLjcgMjMuOCA2MSA0My4zIDMxLjQgMzEuOCA2Ny43IDY4LjcgMTQ3IDY4LjcgODUuMyAwIDEzOC43LTQyLjcgMTYwLTEyOC0zMiA0Mi43LTY5LjMgNTguNy0xMTIgNDgtMjQuMy02LjEtNDEuNy0yMy44LTYxLTQzLjMtMzEuNC0zMS44LTY3LjctNjguNy0xNDctNjguN3oiXX0sZ1FyPXtmYVNxdWFyZUdpdGh1Yjp5MWUsZmFHaXRodWJTcXVhcmU6Rm50LGZhVGhpbmtQZWFrczpPbnQsZmFHb29nbGVEcml2ZTpSbnQsZmFBdXRvcHJlZml4ZXI6Qm50LGZhU3F1YXJlVmlhZGVvOncxZSxmYVZpYWRlb1NxdWFyZTpIbnQsZmFDcGFuZWw6cW50LGZhTWVuZGVsZXk6am50LGZhRHJhZnQyZGlnaXRhbDpWbnQsZmFSZXBseWQ6VW50LGZhRW1waXJlOldudCxmYUFjY2Vzc2libGVJY29uOkdudCxmYVF1b3JhOlludCxmYUNjSmNiOlpudCxmYUZlZG9yYTpYbnQsZmFEdW9saW5nbzpRbnQsZmFGaXJzdGRyYWZ0OkpudCxmYUZyZWVic2Q6S250LGZhT2R5c2VlOmUxdCxmYUdnQ2lyY2xlOnQxdCxmYUNsb3VkZmxhcmU6cjF0LGZhSGFja2VycmFuazphMXQsZmFTa3lhdGxhczppMXQsZmFEZXNrcHJvOm4xdCxmYVJlc29sdmluZzpzMXQsZmFCbGFja2JlcnJ5Om8xdCxmYVN0cmlwZVM6bDF0LGZhU3F1YXJlQmVoYW5jZTpNMWUsZmFCZWhhbmNlU3F1YXJlOmMxdCxmYVNlcnZpY2VzdGFjazpkMXQsZmFSb2NrZXRjaGF0OnUxdCxmYVJlYmVsOnAxdCxmYVNxdWFyZVdlYkF3ZXNvbWU6ZjF0LGZhTGlua3RyZWU6aDF0LGZhU2ltcGx5YnVpbHQ6bTF0LGZhU3R1YmJlcjpnMXQsZmFBcHBlcjpiMXQsZmFHb29nbGVTY2hvbGFyOnYxdCxmYVlhcm46eDF0LGZhU3RhY2tPdmVyZmxvdzp5MXQsZmFCbHVldG9vdGg6dzF0LGZhQ3JlYXRpdmVDb21tb25zTmNKcDpNMXQsZmFSZWRkaXQ6azF0LGZhQ29ubmVjdGRldmVsb3A6UzF0LGZhUmVzZWFyY2hnYXRlOnoxdCxmYVNpZ25hbE1lc3NlbmdlcjpDMXQsZmFYaW5nOlQxdCxmYVNxdWFyZUpzOmsxZSxmYUpzU3F1YXJlOl8xdCxmYUZvbnRpY29uczpMMXQsZmFVcHM6JDF0LGZhQW1hem9uUGF5OkQxdCxmYVBhbmRvcmE6QTF0LGZhT3BlbmlkOkUxdCxmYVZzY286STF0LGZhR2xvYmFsZWFrczpQMXQsZmFWZW5tbzpOMXQsZmFVYnVudHU6RjF0LGZhVmlhY29pbjpPMXQsZmFaaGlodTpSMXQsZmFZYW5kZXg6QjF0LGZhUGl4aXY6SDF0LGZhT3BlbmFpOnExdCxmYVNpdGg6ajF0LGZhSnVsaWE6VjF0LGZhTmZjRGlyZWN0aW9uYWw6VTF0LGZhQ3JlYXRpdmVDb21tb25zQnk6VzF0LGZhVW1icmFjbzpHMXQsZmFIb29saTpZMXQsZmFTcXVhcmVHaXQ6UzFlLGZhR2l0U3F1YXJlOloxdCxmYU9kbm9rbGFzc25pa2k6WDF0LGZhRHJ1cGFsOlExdCxmYUJsb2dnZXJCOkoxdCxmYUludmlzaW9uOksxdCxmYUZhY2Vib29rRjplc3QsZmFDZW50b3M6dHN0LGZhU2NhbGV3YXk6cnN0LGZhQ2NBbWF6b25QYXk6YXN0LGZhRWJheTppc3QsZmFDb250YW86bnN0LGZhRWxsbzpzc3QsZmFTaXN0cml4Om9zdCxmYVBlcmlzY29wZTpsc3QsZmFFeHBlZGl0ZWRzc2w6Y3N0LGZhTmFwc3Rlcjpkc3QsZmFEZWxpY2lvdXM6dXN0LGZhR3VpbGRlZDpwc3QsZmFPYnNpZGlhbjpmc3QsZmFYYm94OmhzdCxmYVVudGFwcGQ6bXN0LGZhR29vZ2xlUGx1c0c6Z3N0LGZhR2l0aHViQWx0OmJzdCxmYUdldFBvY2tldDp2c3QsZmFHbGlkZTp4c3QsZmFCaXR5OnlzdCxmYVdwZXhwbG9yZXI6d3N0LGZhTWVnYXBvcnQ6TXN0LGZhTGVldGNvZGU6a3N0LGZhTWRiOlNzdCxmYVBhZ2U0OnpzdCxmYVRoZVJlZFlldGk6Q3N0LGZhSmlyYTpUc3QsZmFGZWRleDpfc3QsZmFFdmVybm90ZTpMc3QsZmFVc2I6JHN0LGZhQW5ncnljcmVhdGl2ZTpEc3QsZmFNaXp1bmk6QXN0LGZhSXRjaElvOkVzdCxmYVdpbmRvd3M6SXN0LGZhU3R1bWJsZXVwb246UHN0LGZhR29vZ2xlOmdELGZhRGlzY29yZDpOc3QsZmFIYWNrZXJOZXdzOkZzdCxmYUVsZXZlbnR5OnoxZSxmYTExdHk6T3N0LGZhVGVhbXNwZWFrOlJzdCxmYVN1cHBsZTpCc3QsZmFTcXVhcmVUd2l0dGVyOkMxZSxmYVR3aXR0ZXJTcXVhcmU6SHN0LGZhVmltOnFzdCxmYUZvbnRBd2Vzb21lOm1ELGZhRm9udEF3ZXNvbWVGbGFnOmpzdCxmYUZvbnRBd2Vzb21lTG9nb0Z1bGw6VnN0LGZhV2lyc2luZGhhbmR3ZXJrOlQxZSxmYVdzaDpVc3QsZmFab29tOldzdCxmYUNvbmZsdWVuY2U6R3N0LGZhRGlnZzpZc3QsZmFUaHJlYWRzOlpzdCxmYVdwcmVzc3I6XzFlLGZhUmVuZGFjdDpYc3QsZmFZb2FzdDpRc3QsZmFOaW1ibHI6SnN0LGZhUGl4ZWxmZWQ6S3N0LGZhWWFob286ZW90LGZhQmx1ZXNreTp0b3QsZmFTY3JpYmQ6cm90LGZhQ3JlYXRpdmVDb21tb25zUGQ6YW90LGZhRWFybHliaXJkczppb3QsZmFTeW1mb255Y2FzdHM6bm90LGZhU3F1YXJlT2Rub2tsYXNzbmlraTpMMWUsZmFPZG5va2xhc3NuaWtpU3F1YXJlOnNvdCxmYU1hcmtkb3duOm9vdCxmYVR5cG8zOmxvdCxmYUpvb21sYTpjb3QsZmFXZWl4aW46ZG90LGZhR3J1bnQ6dW90LGZhU3VwcG9ydG5vdzpwb3QsZmFSb2Nrcm1zOmZvdCxmYVVuc3BsYXNoOmhvdCxmYVNxdWFyZUluc3RhZ3JhbTokMWUsZmFJbnN0YWdyYW1TcXVhcmU6bW90LGZhRmlyc3RPcmRlckFsdDpnb3QsZmFGdWxjcnVtOmJvdCxmYUFyY2hMaW51eDp2b3QsZmFGZWRpdmVyc2U6eG90LGZhQnJhdmVSZXZlcnNlOnlvdCxmYUF2aWFuZXg6d290LGZhTnM4Ok1vdCxmYVNxdWFyZVBpbnRlcmVzdDpEMWUsZmFQaW50ZXJlc3RTcXVhcmU6a290LGZhQmx1ZXRvb3RoQjpTb3QsZmFHcmlwZmlyZTp6b3QsZmFTcXVhcmVHb29nbGVQbHVzOkExZSxmYUdvb2dsZVBsdXNTcXVhcmU6Q290LGZhR2l0ZWU6VG90LGZhWG1wcDpfb3QsZmFBcHBTdG9yZTpMb3QsZmFXaXg6JG90LGZhSW50ZXJjb206RG90LGZhUmVhY3RldXJvcGU6QW90LGZhV2F6ZTpFb3QsZmFDcmVhdGl2ZUNvbW1vbnNSZW1peDpJb3QsZmFCYW5kY2FtcDpQb3QsZmFTcXVhcmVXZWJBd2Vzb21lU3Ryb2tlOk5vdCxmYVZpbWVvVjpGb3QsZmFTdHJhdmE6T290LGZhVW5pcmVnaXN0cnk6Um90LGZhQ2NEaW5lcnNDbHViOkJvdCxmYUt1YmVybmV0ZXM6SG90LGZhUGludGVyZXN0OnFvdCxmYUFsZ29saWE6am90LGZhU3RhY2twYXRoOlZvdCxmYU9jdG9wdXNEZXBsb3k6VW90LGZhWWFtbWVyOldvdCxmYU1vZHg6R290LGZhU3F1YXJlVGhyZWFkczpZb3QsZmFPbGRSZXB1YmxpYzpab3QsZmFTdXNlOlhvdCxmYUFwcFN0b3JlSW9zOlFvdCxmYVVsdHJhbHl0aWNzWW9sbzpKb3QsZmFTcXVhcmVEcmliYmJsZTpFMWUsZmFEcmliYmJsZVNxdWFyZTpLb3QsZmFVaWtpdDplMnQsZmFTdXBlcnBvd2Vyczp0MnQsZmFZb3V0dWJlOnIydCxmYUVtYmVyOmEydCxmYUJvb3RzdHJhcDppMnQsZmFJdHVuZXM6bjJ0LGZhU3F1YXJlWGluZzpJMWUsZmFYaW5nU3F1YXJlOnMydCxmYUNzczNBbHQ6bzJ0LGZhU3F1YXJlc3BhY2U6bDJ0LGZhVHJlbGxvOmMydCxmYVZpYWRlbzpkMnQsZmFTZWFyY2hlbmdpbjp1MnQsZmFVbnJlYWxFbmdpbmU6cDJ0LGZhUGF5cGFsOmYydCxmYVNxdWFyZUJsdWVza3k6aDJ0LGZhREFuZERCZXlvbmQ6bTJ0LGZhTWljcm9zb2Z0OmcydCxmYUZseTpiMnQsZmFDY1N0cmlwZTp2MnQsZmFXb3JkcHJlc3NTaW1wbGU6eDJ0LGZhU2VsbHN5OnkydCxmYURhc2hjdWJlOncydCxmYUdpdHRlcjpNMnQsZmFXb2xmUGFja0JhdHRhbGlvbjprMnQsZmFMYXN0Zm06UzJ0LGZhU2hvcHdhcmU6ejJ0LGZhQmxvZ2dlcjpDMnQsZmFFZGdlOlQydCxmYUlveGhvc3Q6XzJ0LGZhU2NobGl4OkwydCxmYURBbmREOiQydCxmYVZ1ZWpzOkQydCxmYU1ldGE6QTJ0LGZhQ3JlYXRpdmVDb21tb25zU2hhcmU6RTJ0LGZhU3R1ZGlvdmluYXJpOkkydCxmYUJpdGJ1Y2tldDpQMnQsZmFWazpOMnQsZmFHaXRodWI6RjJ0LGZhQ29kaWVwaWU6TzJ0LGZhUGllZFBpcGVyOlIydCxmYVJhc3BiZXJyeVBpOkIydCxmYUNzczM6SDJ0LGZhSHVic3BvdDpxMnQsZmFDbXBsaWQ6ajJ0LGZhRHlhbG9nOlYydCxmYUVsZW1lbnRvcjpVMnQsZmFGaXJzdE9yZGVyOlcydCxmYURyaWJiYmxlOkcydCxmYUxpbmtlZGluOmJELGZhQ2NQYXlwYWw6WTJ0LGZhRGhsOloydCxmYVRleDpYMnQsZmFDbGF1ZGU6UTJ0LGZhU2hvcGlmeTpKMnQsZmFTcXVhcmVSZWRkaXQ6UDFlLGZhUmVkZGl0U3F1YXJlOksydCxmYUNyZWF0aXZlQ29tbW9uc05jOmVsdCxmYUdhbGFjdGljUmVwdWJsaWM6dGx0LGZhRmFjZWJvb2s6dkQsZmFHaXRsYWI6cmx0LGZhUXE6YWx0LGZhU3RyaXBlOmlsdCxmYURhaWx5bW90aW9uOm5sdCxmYVN0ZWFtOnNsdCxmYVZlbm1vVjpvbHQsZmFTbmFwY2hhdDpOMWUsZmFTbmFwY2hhdEdob3N0OmxsdCxmYUdhbGFjdGljU2VuYXRlOmNsdCxmYVBob2VuaXhGcmFtZXdvcms6ZGx0LGZhR2l0OnVsdCxmYU9wdGluTW9uc3RlcjpwbHQsZmFKZW5raW5zOmZsdCxmYVNsaWRlc2hhcmU6aGx0LGZhVWJlcjptbHQsZmFEaWdpdGFsT2NlYW46Z2x0LGZhU291bmRjbG91ZDpibHQsZmFTcXVhcmVGaWdtYTp2bHQsZmFDcmVhdGl2ZUNvbW1vbnNTYTp4bHQsZmFDaHJvbWU6eWx0LGZhVHJhZGVGZWRlcmF0aW9uOndsdCxmYVZhYWRpbjpNbHQsZmFEZXZpYW50YXJ0OmtsdCxmYU1lZGl1bTpWZyxmYU1lZGl1bU06U2x0LGZhT3BlbmNhcnQ6emx0LGZhWUNvbWJpbmF0b3I6Q2x0LGZhTGluZTpUbHQsZmFBbWlsaWE6X2x0LGZhQXN5bW1ldHJpazpMbHQsZmFQaGFicmljYXRvcjokbHQsZmFCb3RzOkRsdCxmYVZpbmU6QWx0LGZhTWVkcnQ6RWx0LGZhT3NpOklsdCxmYUdnOlBsdCxmYUJ1eXNlbGxhZHM6Tmx0LGZhR29vZ2xlUGx1czpGbHQsZmFTY3JlZW5wYWw6T2x0LGZhQml0Y29pbjpSbHQsZmFTd2lmdDpCbHQsZmFGaWxlc1BpbndoZWVsOkhsdCxmYUxhcmF2ZWw6cWx0LGZhV3Bmb3JtczpqbHQsZmFTcGVha2VyRGVjazpWbHQsZmFGbGlja3I6VWx0LGZhQ2NWaXNhOldsdCxmYVVwd29yazpHbHQsZmFLYWthb1RhbGs6WWx0LGZhRmx1dHRlcjpabHQsZmFCdWZmZXI6WGx0LGZhR3JhdGlwYXk6UWx0LGZhR29vZ2xlUGF5OkpsdCxmYUFwcGxlOktsdCxmYVR1bWJscjplY3QsZmFQaG9lbml4U3F1YWRyb246dGN0LGZhQ2VudGVyY29kZTpyY3QsZmFEZWJpYW46YWN0LGZhTWFzdG9kb246aWN0LGZhU2tldGNoOm5jdCxmYVdlYkF3ZXNvbWU6c2N0LGZhU2FzczpvY3QsZmFUaHJlZW1hOmxjdCxmYVNxdWFyZVdoYXRzYXBwOkYxZSxmYVdoYXRzYXBwU3F1YXJlOmNjdCxmYVNreXBlOmRjdCxmYUFuZ3VsYXI6dWN0LGZhQ2lyY2xlWnVsaXA6cGN0LGZhT3BlbnN1c2U6ZmN0LGZhRHJvcGJveDpoY3QsZmFEZWV6ZXI6bWN0LGZhQ3JlYXRpdmVDb21tb25zU2FtcGxpbmc6Z2N0LGZhSmVkaU9yZGVyOmJjdCxmYVJQcm9qZWN0OnZjdCxmYUluc3RhbG9kOnhjdCxmYUNhbmFkaWFuTWFwbGVMZWFmOnljdCxmYUV0aGVyZXVtOndjdCxmYUhvdXp6Ok1jdCxmYVZpYmVyOmtjdCxmYUtpY2tzdGFydGVyOk8xZSxmYVNxdWFyZUtpY2tzdGFydGVyOlNjdCxmYVNwb3RpZnk6emN0LGZhTGVhbnB1YjpDY3QsZmFKYXZhOlRjdCxmYU5mY1N5bWJvbDpfY3QsZmFXb2R1OkxjdCxmYVNxdWFyZVN0ZWFtOlIxZSxmYVN0ZWFtU3F1YXJlOiRjdCxmYUNyZWF0aXZlQ29tbW9uc05jRXU6RGN0LGZhTnBtOkFjdCxmYUNsb3Vkc2NhbGU6RWN0LGZhVGhlbWVjbzpJY3QsZmFHb29nbGVQbGF5OlBjdCxmYUtvcnZ1ZTpOY3QsZmFXM2M6RmN0LGZhR3JhdjpPY3QsZmFBd3M6UmN0LGZhR2xpZGVHOkJjdCxmYUpzZmlkZGxlOkhjdCxmYUtleWJhc2U6cWN0LGZhTHVtb25Ecm9wOmpjdCxmYUZvcmdlam86VmN0LGZhUG9zdGdyZXNxbDpVY3QsZmFXZWVibHk6V2N0LGZhRG9ja2VyOkdjdCxmYU1hZ2VudG86WWN0LGZhVG9yQnJvd3NlcjpaY3QsZmFHaXRBbHQ6WGN0LGZhRmlyZWZveEJyb3dzZXI6UWN0LGZhQ2xvdWRzbWl0aDpKY3QsZmFXaXphcmRzT2ZUaGVDb2FzdDpLY3QsZmFDcmVhdGl2ZUNvbW1vbnNOZDplMHQsZmFVc3BzOnQwdCxmYVNxdWFyZUxldHRlcmJveGQ6cjB0LGZhTWFuZGFsb3JpYW46YTB0LGZhU2xhY2s6QjFlLGZhU2xhY2tIYXNoOnhELGZhQW5nZWxsaXN0OmkwdCxmYUFuZHJvaWQ6bjB0LGZhTWVldHVwOnMwdCxmYUZvbnRpY29uc0ZpOm8wdCxmYVBhbGZlZDpsMHQsZmFXcGJlZ2lubmVyOmMwdCxmYURpYXNwb3JhOmQwdCxmYVByb2R1Y3RIdW50OnUwdCxmYVNxdWFyZVVwd29yazpwMHQsZmFDdXR0bGVmaXNoOmYwdCxmYU1lZGFwcHM6aDB0LGZhUGl4Om0wdCxmYVNxdWFyZVR1bWJscjpIMWUsZmFUdW1ibHJTcXVhcmU6ZzB0LGZhUmVhY3Q6YjB0LGZhSHVnZ2luZ0ZhY2U6djB0LGZhSnhsOngwdCxmYVNxdWFyZUxpbmtlZGluOnkwdCxmYUNzczp3MHQsZmFIYXNobm9kZTpNMHQsZmFSZWRkaXRBbGllbjprMHQsZmFUaWt0b2s6eUQsZmFXb3JkcHJlc3M6UzB0LGZhSWRlYWw6ejB0LGZhUGllZFBpcGVyUHA6QzB0LGZhVXNzdW5uYWg6VDB0LGZhRm9ydEF3ZXNvbWVBbHQ6XzB0LGZhQnVyb21vYmVsZXhwZXJ0ZTpMMHQsZmFCaWxpYmlsaTokMHQsZmFOZW9zOkQwdCxmYURldjpBMHQsZmFIb3RqYXI6RTB0LGZhRG9jaHViOkkwdCxmYVZpbWVvOlAwdCxmYU1heGNkbjpOMHQsZmFTcXVhcmVGb250QXdlc29tZVN0cm9rZTpxMWUsZmFGb250QXdlc29tZUFsdDpGMHQsZmFTcGVha2FwOk8wdCxmYUZhbnRhc3lGbGlnaHRHYW1lczpSMHQsZmFMaW51eDpCMHQsZmFDb3R0b25CdXJlYXU6SDB0LGZhR29vZ2xlV2FsbGV0OnEwdCxmYUZvdXJzcXVhcmU6ajB0LGZhU2hpcnRzaW5idWxrOlYwdCxmYU1pbnRiaXQ6VTB0LGZhWnVsaXA6VzB0LGZhU3RheWxpbmtlZDpHMHQsZmFXZWJmbG93OlkwdCxmYVJlbnJlbjpaMHQsZmFLb0ZpOlgwdCxmYVJldjpRMHQsZmFLZXljZG46SjB0LGZhSGlyZUFIZWxwZXI6SzB0LGZhU3F1YXJlSGFja2VyTmV3czpqMWUsZmFIYWNrZXJOZXdzU3F1YXJlOmU0dCxmYUNyZWF0aXZlQ29tbW9uc1BkQWx0OnQ0dCxmYU9yY2lkOnI0dCxmYUJvYXJkR2FtZUdlZWs6VjFlLGZhQmdnOmE0dCxmYUJlaGFuY2U6aTR0LGZhTW9uZXJvOm40dCxmYUZpZ21hOnM0dCxmYUluc3RhZ3JhbTp3RCxmYVBlcmJ5dGU6bzR0LGZhU3F1YXJlVmltZW86VTFlLGZhVmltZW9TcXVhcmU6bDR0LGZhUHVzaGVkOmM0dCxmYU1peGNsb3VkOmQ0dCxmYVlhbmRleEludGVybmF0aW9uYWw6dTR0LGZhSGl2ZTpwNHQsZmFDcmVhdGl2ZUNvbW1vbnNaZXJvOmY0dCxmYVNxdWFyZVNuYXBjaGF0OlcxZSxmYVNuYXBjaGF0U3F1YXJlOmg0dCxmYVRoZW1laXNsZTptNHQsZmFEYXJ0TGFuZzpnNHQsZmFEZXBsb3lkb2c6YjR0LGZhRmxpcGJvYXJkOnY0dCxmYUJ1eU5MYXJnZTp4NHQsZmFXYXRjaG1hbk1vbml0b3Jpbmc6eTR0LGZhSGlwczp3NHQsZmFDbG91ZHZlcnNpZnk6TTR0LGZhR29vZHJlYWRzOms0dCxmYVRpZGFsOlM0dCxmYVVuaXR5Ono0dCxmYVRlbmNlbnRXZWlibzpDNHQsZmFGcmVlQ29kZUNhbXA6VDR0LGZhWFR3aXR0ZXI6XzR0LGZhU3RpY2tlck11bGU6TDR0LGZhVHdpdGNoOiQ0dCxmYUtpY2tzdGFydGVySzpENHQsZmFDcml0aWNhbFJvbGU6QTR0LGZhU3RlYW1TeW1ib2w6RTR0LGZhTWFpbGNoaW1wOkk0dCxmYUx1bW9uOlA0dCxmYU51dHJpdGlvbml4Ok40dCxmYUNyZWF0aXZlQ29tbW9uc1NhbXBsaW5nUGx1czpGNHQsZmFSZWRoYXQ6TzR0LGZhU3F1YXJlUGllZFBpcGVyOkcxZSxmYVBpZWRQaXBlclNxdWFyZTpSNHQsZmFXaGF0c2FwcDpCNHQsZmFJbWRiOkg0dCxmYVB5dGhvbjpxNHQsZmFDYXNoQXBwOmo0dCxmYVBpbnRlcmVzdFA6VjR0LGZhV2htY3M6VTR0LGZhSm9nZXQ6VzR0LGZhU3F1YXJlWW91dHViZTpZMWUsZmFZb3V0dWJlU3F1YXJlOkc0dCxmYUF0bGFzc2lhbjpZNHQsZmFQaWVkUGlwZXJIYXQ6WjR0LGZhSW50ZXJuZXRFeHBsb3JlcjpYNHQsZmFBaXJibmI6UTR0LGZhSnM6SjR0LGZhUXVpbnNjYXBlOks0dCxmYUFkdmVyc2FsOmUzdCxmYUNyZWF0aXZlQ29tbW9uczp0M3QsZmFOb3Rpb246cjN0LGZhQ2hyb21lY2FzdDphM3QsZmFVbHRyYWx5dGljc0h1YjppM3QsZmFXaWtpcGVkaWFXOm4zdCxmYVNpdHJveDpzM3QsZmFTcXVhcmVHaXRsYWI6WjFlLGZhR2l0bGFiU3F1YXJlOm8zdCxmYVNob2VsYWNlOmwzdCxmYU9wZW5zdHJlZXRtYXA6YzN0LGZhU2VsbGNhc3Q6ZDN0LGZhTWl4OnUzdCxmYUNjQXBwbGVQYXk6cDN0LGZhU29sYW5hOmYzdCxmYVR5cGVzY3JpcHQ6aDN0LGZhQnJhdmU6bTN0LGZhRXRzeTpnM3QsZmFCdGM6YjN0LGZhQWRuOnYzdCxmYVNxdWFyZVhUd2l0dGVyOngzdCxmYVNxdWFyZUZvbnRBd2Vzb21lOnkzdCxmYUZvcnVtYmVlOnczdCxmYTQyR3JvdXA6WDFlLGZhSW5ub3NvZnQ6TTN0LGZhU3R1bWJsZXVwb25DaXJjbGU6azN0LGZhU3ltZm9ueTpTM3QsZmFTYWxlc2ZvcmNlOnozdCxmYVNvdXJjZXRyZWU6QzN0LGZhTGlua2VkaW5JbjpUM3QsZmFIdG1sNTpfM3QsZmFSdXN0OkwzdCxmYUhvcm5iaWxsOiQzdCxmYVBocDpEM3QsZmFEaXNxdXM6QTN0LGZhNTAwcHg6RTN0LGZhQWZmaWxpYXRldGhlbWU6STN0LGZhUmVkUml2ZXI6UDN0LGZhVHdpdHRlcjpNRCxmYUZvcnRBd2Vzb21lOk4zdCxmYU1peGVyOkYzdCxmYUx5ZnQ6TzN0LGZhQXBwbGVQYXk6UjN0LGZhQXJ0c3RhdGlvbjpCM3QsZmFOb2RlSnM6SDN0LGZhVW5jaGFydGVkOnEzdCxmYVBsYXlzdGF0aW9uOmozdCxmYU1pY3JvYmxvZzpWM3QsZmFHaXRrcmFrZW46VTN0LGZhVGVsZWdyYW06UTFlLGZhVGVsZWdyYW1QbGFuZTpXM3QsZmFVbHRyYWx5dGljczpHM3QsZmFJdHVuZXNOb3RlOlkzdCxmYUxlc3M6WjN0LGZhRmlyZWZveDpYM3QsZmFLYWdnbGU6UTN0LGZhRmFjZWJvb2tNZXNzZW5nZXI6SjN0LGZhQXVkaWJsZTpLM3QsZmFQYXRyZW9uOmVkdCxmYVZudjp0ZHQsZmFQYWdlbGluZXM6cmR0LGZhQW1hem9uOmFkdCxmYUVudmlyYTppZHQsZmFMaW5vZGU6bmR0LGZhQWNjdXNvZnQ6c2R0LGZhRXJsYW5nOm9kdCxmYVVuaXNvbjpsZHQsZmFDY0Rpc2NvdmVyOmNkdCxmYVNhZmFyaTpkZHQsZmFTcGFjZUF3ZXNvbWU6dWR0LGZhTm9kZTpwZHQsZmFDb2RlcGVuOmZkdCxmYVJhdmVscnk6aGR0LGZhQWxpcGF5Om1kdCxmYUNjQW1leDpnZHQsZmFQaWVkUGlwZXJBbHQ6YmR0LGZhTGV0dGVyYm94ZDp2ZHQsZmFPcGVyYTp4ZHQsZmFXZWlibzp5ZHQsZmFSZWFkbWU6d2R0LGZhR29sYW5nOk1kdCxmYVN0YWNrRXhjaGFuZ2U6a2R0LGZhR3VscDpTZHQsZmFZZWxwOnpkdCxmYUdvZm9yZTpDZHQsZmFBdmlhdG86VGR0LGZhUGFkbGV0Ol9kdCxmYUVkZ2VMZWdhY3k6TGR0LGZhU3F1YXJlTGFzdGZtOkoxZSxmYUxhc3RmbVNxdWFyZTokZHQsZmFHb29kcmVhZHNHOkRkdCxmYUNjTWFzdGVyY2FyZDpBZHQsZmFEaXNjb3Vyc2U6RWR0LGZhQmxhY2tUaWU6SWR0LGZhU3F1YXJlRmFjZWJvb2s6SzFlLGZhRmFjZWJvb2tTcXVhcmU6UGR0LGZhQmF0dGxlTmV0Ok5kdCxmYUJpbW9iamVjdDpGZHQsZmFTdmVsdGU6T2R0LGZhU3F1YXJlRGVza3BybzpSZHQsZmFUYWlsd2luZENzczpCZHR9fSk7dmFyIGJRcixlc2UscWR0LGpkdCx0c2UsVmR0LEdnLFVkdCxXZHQsR2R0LFlkdCxyc2UsWmR0LFhkdCxRZHQsWWcsSmR0LGFzZSxLZHQsaXNlLGU2dCx0NnQscjZ0LGE2dCxuc2UsaTZ0LHNzZSxuNnQsb3NlLHM2dCxsc2UsbzZ0LGNzZSxsNnQsZHNlLGM2dCx1c2UsZDZ0LHU2dCxwc2UscDZ0LGZzZSxmNnQsaHNlLGg2dCxtc2UsbTZ0LGc2dCxnc2UsYjZ0LGJzZSx2NnQsdnNlLHg2dCx4c2UseTZ0LHlzZSx3NnQsTTZ0LGs2dCxrRCxTNnQsejZ0LEM2dCxUNnQsXzZ0LEw2dCwkNnQsRDZ0LFNELEE2dCxFNnQsd3NlLEk2dCxQNnQsTjZ0LEY2dCxPNnQsUjZ0LEI2dCxINnQsTXNlLHE2dCxqNnQsVjZ0LHRmLFU2dCxXNnQsa3NlLEc2dCxZNnQsU3NlLFo2dCxERCxYNnQsUTZ0LHpELEo2dCxLNnQsenNlLGV1dCx0dXQscnV0LENzZSxhdXQsVHNlLGl1dCxDRCxudXQsc3V0LF9zZSxvdXQsTHNlLGx1dCxjdXQsZHV0LCRzZSx1dXQsRHNlLHB1dCxBc2UsZnV0LEVzZSxodXQsbXV0LGd1dCxidXQsSXNlLHZ1dCx4dXQsUHNlLHl1dCx3dXQsTnNlLE11dCxrdXQsRnNlLFN1dCx6dXQsQ3V0LFVnLFR1dCxfdXQsTHV0LFpnLCR1dCxEdXQsQXV0LE9zZSxFdXQsSXV0LFJzZSxQdXQsQnNlLE51dCxXZyxGdXQsT3V0LFJ1dCxIc2UsQnV0LFRELEh1dCxxdXQsanV0LFZ1dCxxc2UsVXV0LF9ELFd1dCxHdXQsanNlLFl1dCxWc2UsWnV0LFh1dCxVc2UsUXV0LFdzZSxKdXQsTEQsS3V0LGU1dCx0NXQsWGcscjV0LGE1dCxpNXQsbjV0LEdzZSxzNXQsWXNlLG81dCxac2UsbDV0LFhzZSxjNXQsUXNlLGQ1dCxKc2UsdTV0LCRELHA1dCxmNXQsaDV0LG01dCxLc2UsZzV0LGVvZSxiNXQsdG9lLHY1dCxyb2UseDV0LHk1dCx3NXQsTTV0LGs1dCxTNXQsejV0LGFvZSxDNXQsaW9lLFQ1dCxfNXQsbm9lLEw1dCxzb2UsJDV0LG9vZSxENXQsQUQsQTV0LGxvZSxFNXQsSTV0LGNvZSxQNXQsZG9lLE41dCxGNXQsTzV0LHVvZSxSNXQsQjV0LHBvZSxINXQscTV0LGo1dCxWNXQsZm9lLFU1dCxob2UsVzV0LG1vZSxHNXQsWTV0LFo1dCxnb2UsWDV0LGJvZSxRNXQsdm9lLEo1dCxLNXQseG9lLGVwdCx5b2UsdHB0LHJwdCx3b2UsYXB0LGlwdCxucHQsdlFyLHNwdD1mKCgpPT57YlFyPSJmYXIiLGVzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtbWludXMiLGljb246WzQ0OCw1MTIsWzYxNzY3LCJtaW51cy1zcXVhcmUiXSwiZjE0NiIsIk02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwek0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMTM2IDIzMmwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LHFkdD1lc2UsamR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLWNoZWNrIixpY29uOls0NDgsNTEyLFtdLCJmMjc0IiwiTTMyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNjQgMTEyYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI4OGMwLTguOC03LjItMTYtMTYtMTZMNjQgMTEyem0yMzAuNyA2NS45YzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuMyAxMC43IDcuOCAxMy4xIDIyLjggNS4zIDMzLjVMMjExLjQgMzc0LjFjLTQuMSA1LjctMTAuNSA5LjMtMTcuNSA5LjgtNyAuNS0xMy45LTItMTguOC02LjlsLTU1LjktNTUuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDM2IDM2IDEwNS42LTE0NS4yeiJdfSx0c2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1raXNzIixpY29uOls1MTIsNTEyLFsxMjg1MzUsImtpc3MiXSwiZjU5NiIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI0MCAwbDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAxMi4zLTQuNiAyMy41LTEyLjIgMzIgNy42IDguNSAxMi4yIDE5LjcgMTIuMiAzMiAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bS05Ni00OGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxWZHQ9dHNlLEdnPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InBhc3RlIixpY29uOls1MTIsNTEyLFsiZmlsZS1jbGlwYm9hcmQiXSwiZjBlYSIsIk02NCA0OGwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OCA0OCAwIDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTEyIDAgMC00OC0xMTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnptMTc2IDcyYzAtMTMuMy0xMC43LTI0LTI0LTI0TDEwNCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDUuNiAwYzguOC04LjYgMTktMTUuOCAzMC4yLTIxLjEgLjEtLjkgLjItMS45IC4yLTIuOXpNNDQ4IDQ2NGwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsMTAxLjUgMGM0LjIgMCA4LjMgMS43IDExLjMgNC43bDU4LjUgNTguNWMzIDMgNC43IDcuMSA0LjcgMTEuM0w0NjQgNDQ4YzAgOC44LTcuMiAxNi0xNiAxNnpNMjI0IDIyNGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2NS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zbC01OC41LTU4LjVjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMMjg4IDE2MGMtMzUuMyAwLTY0IDI4LjctNjQgNjR6Il19LFVkdD1HZyxXZHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wb2ludC1sZWZ0IixpY29uOls1MTIsNTEyLFtdLCJmMGE1IiwiTTY0IDEyOGwxNzcuNiAwYy0xIDUuMi0xLjYgMTAuNS0xLjYgMTZsMCAxNi0xNzYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMjI0IDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI0IDBjNjYuMyAwIDEyMCA1My43IDEyMCAxMjBsMCA0OGMwIDUyLjUtMzMuNyA5Ny4xLTgwLjcgMTEzLjQgLjUtMy4xIC43LTYuMiAuNy05LjQgMC0yMC05LjItMzcuOS0yMy42LTQ5LjcgNC45LTkgNy42LTE5LjQgNy42LTMwLjMgMC0xNS4xLTUuMy0yOS0xNC00MCA4LjgtMTEgMTQtMjQuOSAxNC00MGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MHptMzItODBsMCAwYy0xOCAwLTM0LjYgNi00OCAxNkw2NCA4MEMyOC43IDgwIDAgMTA4LjcgMCAxNDRzMjguNyA2NCA2NCA2NGw4MiAwYy0xLjMgNS4xLTIgMTAuNS0yIDE2IDAgMjUuMyAxNC43IDQ3LjIgMzYgNTcuNi0yLjYgNy00IDE0LjUtNCAyMi40IDAgMjAgOS4yIDM3LjkgMjMuNiA0OS43LTQuOSA5LTcuNiAxOS40LTcuNiAzMC4zIDAgMzUuMyAyOC43IDY0IDY0IDY0bDg4IDBjOTIuOCAwIDE2OC03NS4yIDE2OC0xNjhsMC00OGMwLTkyLjgtNzUuMi0xNjgtMTY4LTE2OGwtMjQgMHpNMjU2IDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC02NCAwek0yNDAgMjI0YzAgNS41IC43IDEwLjkgMiAxNmwtMzQgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwzMiAwIDAgMTZ6bTI0IDY0bDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTY0IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMjQgMHoiXX0sR2R0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtZXhjZWwiLGljb246WzM4NCw1MTIsW10sImYxYzMiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHptOTkuMiAyNjUuNmMtOC0xMC42LTIzLTEyLjgtMzMuNi00LjhzLTEyLjggMjMtNC44IDMzLjZMMTYyIDM0NCAxMjQuOCAzOTMuNmMtOCAxMC42LTUuOCAyNS42IDQuOCAzMy42czI1LjYgNS44IDMzLjYtNC44TDE5MiAzODQgMjIwLjggNDIyLjRjOCAxMC42IDIzIDEyLjggMzMuNiA0LjhzMTIuOC0yMyA0LjgtMzMuNkwyMjIgMzQ0IDI1OS4yIDI5NC40YzgtMTAuNiA1LjgtMjUuNi00LjgtMzMuNnMtMjUuNi01LjgtMzMuNiA0LjhMMTkyIDMwNCAxNjMuMiAyNjUuNnoiXX0sWWR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImVudmVsb3BlIixpY29uOls1MTIsNTEyLFsxMjgzODYsOTk5Myw2MTQ0M10sImYwZTAiLCJNNjEuNCA2NEMyNy41IDY0IDAgOTEuNSAwIDEyNS40IDAgMTI2LjMgMCAxMjcuMSAuMSAxMjhMMCAxMjggMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTYtLjEgMGMwLS45IC4xLTEuNyAuMS0yLjYgMC0zMy45LTI3LjUtNjEuNC02MS40LTYxLjRMNjEuNCA2NHpNNDY0IDE5Mi4zTDQ2NCAzODRjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTkxLjcgMTU0LjggMTE3LjRjMzEuNCAyMy45IDc0LjkgMjMuOSAxMDYuNCAwTDQ2NCAxOTIuM3pNNDggMTI1LjRDNDggMTE4IDU0IDExMiA2MS40IDExMmwzODkuMiAwYzcuNCAwIDEzLjQgNiAxMy40IDEzLjQgMCA0LjItMiA4LjItNS4zIDEwLjdMMjgwLjIgMjcxLjVjLTE0LjMgMTAuOC0zNC4xIDEwLjgtNDguNCAwTDUzLjMgMTM2LjFjLTMuMy0yLjUtNS4zLTYuNS01LjMtMTAuN3oiXX0scnNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1kb3duIixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLWRvd24iXSwiZjE1MCIsIk0zODQgNDMyYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDB6bTY0LTE2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMHpNMjI0IDM1MmMtNi43IDAtMTMtMi44LTE3LjYtNy43bC0xMDQtMTEyYy02LjUtNy04LjItMTcuMi00LjQtMjUuOVMxMTAuNSAxOTIgMTIwIDE5MmwyMDggMGM5LjUgMCAxOC4yIDUuNyAyMiAxNC40czIuMSAxOC45LTQuNCAyNS45bC0xMDQgMTEyYy00LjUgNC45LTEwLjkgNy43LTE3LjYgNy43eiJdfSxaZHQ9cnNlLFhkdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ0cnVjayIsaWNvbjpbNTc2LDUxMixbMTI4NjY2LDk5NTFdLCJmMGQxIiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2bDMuMyAwYzEwLjQtMzYuOSA0NC40LTY0IDg0LjctNjRzNzQuMiAyNy4xIDg0LjcgNjRsMTAyLjYgMGM0LjktMTcuNCAxNS4xLTMyLjcgMjguNy00My45TDM2OCA5NmMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6bTMuMyAzNjhMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIgNTUuNCAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43bDQwLjYgNDAuNmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDU3NiAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMuMyAwYy0xMC40IDM2LjktNDQuNCA2NC04NC43IDY0cy03NC4yLTI3LjEtODQuNy02NGwtMTAyLjYgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjR6TTQxNiAyNTZsMTEyIDAgMC0yMy40YzAtNC4yLTEuNy04LjMtNC43LTExLjNsLTQwLjYtNDAuNmMtMy0zLTcuMS00LjctMTEuMy00LjdsLTU1LjQgMCAwIDgwem0wIDQ4bDAgMzIuNGMyLjYtLjIgNS4zLS40IDgtLjQgNDAuMyAwIDc0LjIgMjcuMSA4NC43IDY0bDMuMyAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTgwLTExMiAwek0xNTIgNDY0YTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHptMjcyIDBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSxRZHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYmVsbCIsaWNvbjpbNDQ4LDUxMixbMTI4Mjc2LDYxNjAyXSwiZjBmMyIsIk0yMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA5LjdDMTE4LjYgNDUuMyA1NiAxMTUuNCA1NiAyMDBsMCAxNC41YzAgMzcuNy0xMCA3NC43LTI5IDEwNy4zTDUuMSAzNTkuMkMxLjggMzY1IDAgMzcxLjUgMCAzNzguMiAwIDM5OS4xIDE2LjkgNDE2IDM3LjggNDE2bDM3Mi40IDBjMjAuOSAwIDM3LjgtMTYuOSAzNy44LTM3LjggMC02LjctMS44LTEzLjMtNS4xLTE5TDQyMSAzMjEuN2MtMTktMzIuNi0yOS02OS42LTI5LTEwNy4zbDAtMTQuNWMwLTg0LjYtNjIuNi0xNTQuNy0xNDQtMTY2LjNsMC05LjdjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTM5Mi40IDM2OGwtMzM2LjkgMCAxMi45LTIyLjFDOTEuNyAzMDYgMTA0IDI2MC42IDEwNCAyMTQuNWwwLTE0LjVjMC02Ni4zIDUzLjctMTIwIDEyMC0xMjBzMTIwIDUzLjcgMTIwIDEyMGwwIDE0LjVjMCA0Ni4yIDEyLjMgOTEuNSAzNS41IDEzMS40TDM5Mi40IDM2OHpNMTU2LjEgNDY0YzkuOSAyOCAzNi42IDQ4IDY3LjkgNDhzNTgtMjAgNjcuOS00OGwtMTM1LjggMHoiXX0sWWc9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibWVzc2FnZSIsaWNvbjpbNTEyLDUxMixbImNvbW1lbnQtYWx0Il0sImYyN2EiLCJNMjAzLjcgNTEyLjlzMCAwIDAgMGwtMzcuOCAyNi43Yy03LjMgNS4yLTE2LjkgNS44LTI0LjkgMS43UzEyOCA1MjkgMTI4IDUyMGwwLTcyLTMyIDBjLTUzIDAtOTYtNDMtOTYtOTZMMCAxMjhDMCA3NSA0MyAzMiA5NiAzMmwzMjAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgNTMtNDMgOTYtOTYgOTZsLTEyMC40IDAtOTEuOSA2NC45em02NC4zLTEwNC4xYzguMS01LjcgMTcuOC04LjggMjcuNy04LjhMNDE2IDQwMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTIyNGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiA4MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAyMjRjMCAyNi41IDIxLjUgNDggNDggNDhsNTYgMGMxMC40IDAgMTkuMyA2LjYgMjIuNiAxNS45IC45IDIuNSAxLjQgNS4yIDEuNCA4LjFsMCA0OS43YzMyLjctMjMuMSA2My4zLTQ0LjcgOTEuOS02NC45eiJdfSxKZHQ9WWcsYXNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZGl6enkiLGljb246WzUxMiw1MTIsWyJkaXp6eSJdLCJmNTY3IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHpNMTM0LjEgMTUzLjlsMjUuOSAyNS45IDI1LjktMjUuOWM3LjgtNy44IDIwLjUtNy44IDI4LjMgMHM3LjggMjAuNSAwIDI4LjNsLTI1LjkgMjUuOSAyNS45IDI1LjljNy44IDcuOCA3LjggMjAuNSAwIDI4LjNzLTIwLjUgNy44LTI4LjMgMGwtMjUuOS0yNS45LTI1LjkgMjUuOWMtNy44IDcuOC0yMC41IDcuOC0yOC4zIDBzLTcuOC0yMC41IDAtMjguM2wyNS45LTI1LjktMjUuOS0yNS45Yy03LjgtNy44LTcuOC0yMC41IDAtMjguM3MyMC41LTcuOCAyOC4zIDB6bTE5MiAwbDI1LjkgMjUuOSAyNS45LTI1LjljNy44LTcuOCAyMC41LTcuOCAyOC4zIDBzNy44IDIwLjUgMCAyOC4zbC0yNS45IDI1LjkgMjUuOSAyNS45YzcuOCA3LjggNy44IDIwLjUgMCAyOC4zcy0yMC41IDcuOC0yOC4zIDBsLTI1LjktMjUuOS0yNS45IDI1LjljLTcuOCA3LjgtMjAuNSA3LjgtMjguMyAwcy03LjgtMjAuNSAwLTI4LjNsMjUuOS0yNS45LTI1LjktMjUuOWMtNy44LTcuOC03LjgtMjAuNSAwLTI4LjNzMjAuNS03LjggMjguMyAwek0yNTYgMjg4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSxLZHQ9YXNlLGlzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYWxlbmRhci1kYXlzIixpY29uOls0NDgsNTEyLFsiY2FsZW5kYXItYWx0Il0sImYwNzMiLCJNMTIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MCAxNjAgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0ek0zODQgNDMyYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0LTg4IDAgMCA4MCA3MiAwem0xNi0xMjhsMC04MC04OCAwIDAgODAgODggMHptLTEzNiAwbDAtODAtODAgMCAwIDgwIDgwIDB6bS0xMjggMGwwLTgwLTg4IDAgMCA4MCA4OCAwek00OCAzNTJsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsNzIgMCAwLTgwLTg4IDB6bTEzNiAwbDAgODAgODAgMCAwLTgwLTgwIDB6TTEyMCAxMTJsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDQ4IDM1MiAwIDAtNDhjMC04LjgtNy4yLTE2LTE2LTE2bC0yNjQgMHoiXX0sZTZ0PWlzZSx0NnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wb2ludC11cCIsaWNvbjpbMzg0LDUxMixbOTc1N10sImYwYTYiLCJNNjQgNjRsMCAxNzcuNmM1LjItMSAxMC41LTEuNiAxNi0xLjZsMTYgMCAwLTE3NmMwLTguOC03LjItMTYtMTYtMTZTNjQgNTUuMiA2NCA2NHpNODAgMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDI0YzAgNjYuMyA1My43IDEyMCAxMjAgMTIwbDQ4IDBjNTIuNSAwIDk3LjEtMzMuNyAxMTMuNC04MC43LTMuMSAuNS02LjIgLjctOS40IC43LTIwIDAtMzcuOS05LjItNDkuNy0yMy42LTkgNC45LTE5LjQgNy42LTMwLjMgNy42LTE1LjEgMC0yOS01LjMtNDAtMTQtMTEgOC44LTI0LjkgMTQtNDAgMTRsLTQwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDAgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtODAgMHpNMCAzMjBsMCAwYzAtMTggNi0zNC42IDE2LTQ4TDE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBzNjQgMjguNyA2NCA2NGwwIDgyYzUuMS0xLjMgMTAuNS0yIDE2LTIgMjUuMyAwIDQ3LjIgMTQuNyA1Ny42IDM2IDctMi42IDE0LjUtNCAyMi40LTQgMjAgMCAzNy45IDkuMiA0OS43IDIzLjYgOS00LjkgMTkuNC03LjYgMzAuMy03LjYgMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA4OGMwIDkyLjgtNzUuMiAxNjgtMTY4IDE2OGwtNDggMEM3NS4yIDUxMiAwIDQzNi44IDAgMzQ0bDAtMjR6bTMzNi02NGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NHpNMTYwIDI0MGM1LjUgMCAxMC45IC43IDE2IDJsMC0zNGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDMyIDE2IDB6bTY0IDI0bDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMjR6Il19LHI2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLWxpemFyZCIsaWNvbjpbNTEyLDUxMixbXSwiZjI1OCIsIk03MiAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTY4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRsLTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE1MiAwYzQuNSAwIDguOSAxLjMgMTIuNyAzLjZsNjQgNDBjNyA0LjQgMTEuMyAxMi4xIDExLjMgMjAuNGwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTAuNy00Ni45LTI5LjMtMTQ1LjEgMGMtMzkuOCAwLTcyLTMyLjItNzItNzJzMzIuMi03MiA3Mi03MmwxMDQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkw3MiAyMDhjLTM5LjggMC03Mi0zMi4yLTcyLTcyUzMyLjIgNjQgNzIgNjRsMjA5LjYgMGM0Ni43IDAgOTAuOSAyMS41IDExOS43IDU4LjNsNzguNCAxMDAuMWMyMC45IDI2LjcgMzIuMyA1OS43IDMyLjMgOTMuN0w1MTIgNDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTA3LjljMC0yMy4yLTcuOC00NS44LTIyLjEtNjQuMUwzNjMuNSAxNTEuOWMtMTkuNy0yNS4yLTQ5LjktMzkuOS04MS45LTM5LjlMNzIgMTEyeiJdfSxhNnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLWZ1bGwiLGljb246WzUxMiw1MTIsWzEyODk5NywxMjg5OTgsMTI4OTk5LDEyOWUzLDEyOTAwMSwxMjkwMDIsMTI5MDAzLDExMDM1LDExMDM2XSwiZjQ1YyIsIk00NDggNDhjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzg0YzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZsMzg0IDB6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6Il19LG5zZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtcGF1c2UiLGljb246WzUxMiw1MTIsWzYyMDkyLCJwYXVzZS1jaXJjbGUiXSwiZjI4YiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIyNCAxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE0NHptMTEyIDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE0NHoiXX0saTZ0PW5zZSxzc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFyZC1kcml2ZSIsaWNvbjpbNDQ4LDUxMixbMTI4NDM2LCJoZGQiXSwiZjBhMCIsIk02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTYyYzUuMS0xLjMgMTAuNS0yIDE2LTJsMzIwIDBjNS41IDAgMTAuOSAuNyAxNiAybDAtMTYyYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNNDggMzIwbDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAzMDRjLTguOCAwLTE2IDcuMi0xNiAxNnpNMCAzMjBMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtOTZ6bTIxNiA0OGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMjAtMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSxuNnQ9c3NlLG9zZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLXppcHBlciIsaWNvbjpbMzg0LDUxMixbImZpbGUtYXJjaGl2ZSJdLCJmMWM2IiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6TTgwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptNjQgNTZsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDhjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGwwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tMTYgNjRhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyeiJdfSxzNnQ9b3NlLGxzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmbG9wcHktZGlzayIsaWNvbjpbNDQ4LDUxMixbMTI4MTkwLDEyODQyNiwic2F2ZSJdLCJmMGM3IiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0Mi43YzAtNC4yLTEuNy04LjMtNC43LTExLjNMMzIwIDg2LjYgMzIwIDE3NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTYtMzIgMHptODAgMGwwIDgwIDEyOCAwIDAtODAtMTI4IDB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjQyLjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w0MjkuMyAxMjhjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0w0NDggNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMTYwIDMyMGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LG82dD1sc2UsY3NlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUtc3F1aW50IixpY29uOls1MTIsNTEyLFsxMjg1NDEsImdyaW4tdG9uZ3VlLXNxdWludCJdLCJmNThhIiwiTTQ2NCAyNTZjMC0xMTQuOS05My4xLTIwOC0yMDgtMjA4UzQ4IDE0MS4xIDQ4IDI1NmMwIDc1LjkgNDAuNyAxNDIuNCAxMDEuNSAxNzguNy0zLjYtMTAuOS01LjUtMjIuNi01LjUtMzQuN2wwLTM3LjVjLTEwLjItMTIuNi0xOC4zLTI2LjktMjMuOC00Mi40LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNiAxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtNS41IDE1LjYtMTMuNiAyOS45LTIzLjggNDIuNWwwIDM3LjVjMCAxMi4xLTEuOSAyMy44LTUuNSAzNC43IDYwLjgtMzYuMyAxMDEuNS0xMDIuNyAxMDEuNS0xNzguN3pNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTI1LjgtNzUuN2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXMxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjN6bTI2My42LTIxLjFjNC41IDYuOCAzLjEgMTUuOS0zLjEgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41ek0zMjAgNDE2bDAtMzcuNGMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmwtMiAwYy0xMS4zIDAtMjEuMSA3LjktMjMuNiAxOC45LTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDAtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDM3LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0sbDZ0PWNzZSxkc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2FtZXJhIixpY29uOls1MTIsNTEyLFs2MjI1OCwiY2FtZXJhLWFsdCJdLCJmMDMwIiwiTTE5My4xIDMyYy0xOC43IDAtMzYuMiA5LjQtNDYuNiAyNC45TDEyMC41IDk2IDY0IDk2QzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtNTYuNSAwLTI2LTM5LjFDMzU1LjEgNDEuNCAzMzcuNiAzMiAzMTguOSAzMkwxOTMuMSAzMnptLTYuNyA1MS42YzEuNS0yLjIgNC0zLjYgNi43LTMuNmwxMjUuNyAwYzIuNyAwIDUuMiAxLjMgNi43IDMuNmwzMy4yIDQ5LjhjNC41IDYuNyAxMS45IDEwLjcgMjAgMTAuN2w2OS4zIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjU2YzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MzJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsNjkuMyAwYzggMCAxNS41LTQgMjAtMTAuN2wzMy4yLTQ5Ljh6TTI1NiAzODRhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0ek0xOTIgMjcyYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHoiXX0sYzZ0PWRzZSx1c2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLXN0YXJzIixpY29uOls1MTIsNTEyLFsxMjkzMjEsImdyaW4tc3RhcnMiXSwiZjU4NyIsIk0wIDI1NmMwLTI5LjYgNS01Ny45IDE0LjItODQuNGwxNy4zIDE2LjktNC42IDI3Yy00LjIgMjQuNCA1LjYgNDYuMiAyMiA1OS45IDkuOCAxMDUuOCA5OC44IDE4OC43IDIwNy4xIDE4OC43czE5Ny40LTgyLjggMjA3LjEtMTg4LjZjMTYuNC0xMy43IDI2LjEtMzUuNCAyMi01OS45bC00LjYtMjcgMTcuMy0xNi45YzkuMiAyNi40IDE0LjIgNTQuOCAxNC4yIDg0LjQgMCAxNDEuNC0xMTQuNiAyNTYtMjU2IDI1NlMwIDM5Ny40IDAgMjU2ek0yNTYgNDhjLTE1LjIgMC0zMCAxLjYtNDQuMyA0LjdMMjAxLjQgMzEuOEMxOTcgMjMgMTkxLjEgMTUuOCAxODQuMiAxMC4yIDIwNyAzLjYgMjMxLjEgMCAyNTYgMHM0OSAzLjYgNzEuOCAxMC4yQzMyMC45IDE1LjggMzE1IDIzIDMxMC42IDMxLjhMMzAwLjMgNTIuN0MyODYgNDkuNiAyNzEuMiA0OCAyNTYgNDh6TTM3Mi4yIDMwMi4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42ek0zNTMuNyA1My4xYzUuOS0xMS45IDIyLjgtMTEuOSAyOC43IDBsMjMuMyA0Ny4yIDUyIDcuNmMxMy4xIDEuOSAxOC40IDE4IDguOSAyNy4zbC0zNy43IDM2LjcgOC45IDUxLjhjMi4yIDEzLjEtMTEuNSAyMy0yMy4yIDE2LjlMMzY4IDIxNiAzMjEuNSAyNDAuNWMtMTEuNyA2LjItMjUuNS0zLjgtMjMuMi0xNi45bDguOS01MS44LTM3LjctMzYuN2MtOS41LTkuMy00LjMtMjUuNCA4LjktMjcuM2w1Mi03LjYgMjMuMy00Ny4yem0tMTk1LjMgMGwyMy4zIDQ3LjIgNTIgNy42YzEzLjEgMS45IDE4LjQgMTggOC45IDI3LjNsLTM3LjcgMzYuNyA4LjkgNTEuOGMyLjIgMTMuMS0xMS41IDIzLTIzLjIgMTYuOUwxNDQgMjE2IDk3LjUgMjQwLjVjLTExLjcgNi4yLTI1LjUtMy44LTIzLjItMTYuOWw4LjktNTEuOC0zNy43LTM2LjdjLTkuNS05LjMtNC4zLTI1LjQgOC45LTI3LjNsNTItNy42IDIzLjMtNDcuMmM1LjktMTEuOSAyMi44LTExLjkgMjguNyAweiJdfSxkNnQ9dXNlLHU2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJleWUiLGljb246WzU3Niw1MTIsWzEyODA2NV0sImYwNmUiLCJNMjg4IDgwQzIyMi44IDgwIDE2OS4yIDEwOS42IDEyOC4xIDE0Ny43IDg5LjYgMTgzLjUgNjMgMjI2IDQ5LjQgMjU2IDYzIDI4NiA4OS42IDMyOC41IDEyOC4xIDM2NC4zIDE2OS4yIDQwMi40IDIyMi44IDQzMiAyODggNDMyczExOC44LTI5LjYgMTU5LjktNjcuN0M0ODYuNCAzMjguNSA1MTMgMjg2IDUyNi42IDI1NiA1MTMgMjI2IDQ4Ni40IDE4My41IDQ0Ny45IDE0Ny43IDQwNi44IDEwOS42IDM1My4yIDgwIDI4OCA4MHpNOTUuNCAxMTIuNkMxNDIuNSA2OC44IDIwNy4yIDMyIDI4OCAzMnMxNDUuNSAzNi44IDE5Mi42IDgwLjZjNDYuOCA0My41IDc4LjEgOTUuNCA5MyAxMzEuMSAzLjMgNy45IDMuMyAxNi43IDAgMjQuNi0xNC45IDM1LjctNDYuMiA4Ny43LTkzIDEzMS4xLTQ3LjEgNDMuNy0xMTEuOCA4MC42LTE5Mi42IDgwLjZTMTQyLjUgNDQzLjIgOTUuNCAzOTkuNGMtNDYuOC00My41LTc4LjEtOTUuNC05My0xMzEuMS0zLjMtNy45LTMuMy0xNi43IDAtMjQuNiAxNC45LTM1LjcgNDYuMi04Ny43IDkzLTEzMS4xek0yODggMzM2YzQ0LjIgMCA4MC0zNS44IDgwLTgwIDAtMjkuNi0xNi4xLTU1LjUtNDAtNjkuMy0xLjQgNTkuNy00OS42IDEwNy45LTEwOS4zIDEwOS4zIDEzLjggMjMuOSAzOS43IDQwIDY5LjMgNDB6bS03OS42LTg4LjRjMi41IC4zIDUgLjQgNy42IC40IDM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMi42LS4yLTUuMS0uNC03LjYtMzcuNCAzLjktNjcuMiAzMy43LTcxLjEgNzEuMXptNDUuNi0xMTVjMTAuOC0zIDIyLjItNC41IDMzLjktNC41IDguOCAwIDE3LjUgLjkgMjUuOCAyLjYgLjMgLjEgLjUgLjEgLjggLjIgNTcuOSAxMi4yIDEwMS40IDYzLjcgMTAxLjQgMTI1LjIgMCA3MC43LTU3LjMgMTI4LTEyOCAxMjgtNjEuNiAwLTExMy00My41LTEyNS4yLTEwMS40LTEuOC04LjYtMi44LTE3LjUtMi44LTI2LjYgMC0xMSAxLjQtMjEuOCA0LTMyIC4yLS43IC4zLTEuMyAuNS0xLjkgMTEuOS00My40IDQ2LjEtNzcuNiA4OS41LTg5LjV6Il19LHBzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXNhZC10ZWFyIixpY29uOls1MTIsNTEyLFsxMjg1NDYsInNhZC10ZWFyIl0sImY1YjQiLCJNNDY0IDI1NmMwLTExNC45LTkzLjEtMjA4LTIwOC0yMDhTNDggMTQxLjEgNDggMjU2YzAgNDEuOCAxMi4zIDgwLjcgMzMuNiAxMTMuMyA4LjIgNDQuNyA0Ny4zIDc4LjYgOTQuMyA3OC43IDI0LjcgMTAuMyA1MS43IDE2IDgwLjEgMTYgMTE0LjkgMCAyMDgtOTMuMSAyMDgtMjA4ek0yODggMzUyYy01LjUgMC0xMC45IC42LTE2IDEuOCAwLS42IDAtMS4yIDAtMS44IDAtMTYuMi00LTMxLjUtMTEuMS00NC45IDguNy0yIDE3LjgtMy4xIDI3LjEtMy4xIDQwLjIgMCA3NS43IDE5LjggOTcuNSA1MCA3LjcgMTAuOCA1LjMgMjUuOC01LjUgMzMuNXMtMjUuOCA1LjMtMzMuNS01LjVjLTEzLjEtMTguMi0zNC40LTMwLTU4LjUtMzB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE3Ni04MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0xODUuNCAyNzYuOGM2LjUgNy44IDEyLjYgMTYuMSAxOC4zIDI0LjYgOSAxMy40IDIwLjMgMzAuMiAyMC4zIDQ3LjQgMCAyOC4zLTIxLjUgNTEuMi00OCA1MS4ycy00OC0yMi45LTQ4LTUxLjJjMC0xNy4yIDExLjItMzQgMjAuMy00Ny40IDUuNy04LjUgMTEuOS0xNi43IDE4LjMtMjQuNiAyLjQtMi45IDUuNy00LjggOS40LTQuOHM3IDEuOSA5LjQgNC44eiJdfSxwNnQ9cHNlLGZzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzaGFyZS1mcm9tLXNxdWFyZSIsaWNvbjpbNTc2LDUxMixbNjE1MDksInNoYXJlLXNxdWFyZSJdLCJmMTRkIiwiTTQyNS41IDdjLTYuOS02LjktMTcuMi04LjktMjYuMi01LjJTMzg0LjUgMTQuMyAzODQuNSAyNGwwIDU2LTQ4IDBjLTg4LjQgMC0xNjAgNzEuNi0xNjAgMTYwIDAgNDYuNyAyMC43IDgwLjQgNDMuNiAxMDMuNCA4LjEgOC4yIDE2LjUgMTQuOSAyNC4zIDIwLjQgOS4yIDYuNSAyMS43IDUuNyAzMC4xLTEuOXMxMC4yLTIwIDQuNS0yOS44Yy0zLjYtNi4zLTYuNS0xNC45LTYuNS0yNi43IDAtMzYuMiAyOS4zLTY1LjUgNjUuNS02NS41bDQ2LjUgMCAwIDU2YzAgOS43IDUuOCAxOC41IDE0LjggMjIuMnMxOS4zIDEuNyAyNi4yLTUuMmwxMzYtMTM2YzkuNC05LjQgOS40LTI0LjYgMC0zMy45TDQyNS41IDd6bTcgOTdsMC0yMi4xIDc4LjEgNzguMS03OC4xIDc4LjEgMC0yMi4xYzAtMTMuMy0xMC43LTI0LTI0LTI0TDMzOCAxOTJjLTUwLjkgMC05My45IDMzLjUtMTA4LjMgNzkuNi0zLjMtOS40LTUuMi0xOS44LTUuMi0zMS42IDAtNjEuOSA1MC4xLTExMiAxMTItMTEybDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjR6bS0zMjAtOGMtNDQuMiAwLTgwIDM1LjgtODAgODBsMCAyNTZjMCA0NC4yIDM1LjggODAgODAgODBsMjU2IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjQgMHoiXX0sZjZ0PWZzZSxoc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibm90ZS1zdGlja3kiLGljb246WzQ0OCw1MTIsWzYyMDI2LCJzdGlja3ktbm90ZSJdLCJmMjQ5IiwiTTI0MCA0MzJMNjQgNDMyYy04LjggMC0xNi03LjItMTYtMTZMNDggOTZjMC04LjggNy4yLTE2IDE2LTE2bDMyMCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE3Ni04OCAwYy0zOS44IDAtNzIgMzIuMi03MiA3MmwwIDg4ek0zODAuMSAzMjBMMjg4IDQxMi4xIDI4OCAzNDRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNjguMSAwek0wIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTcuNSAwYzE3IDAgMzMuMy02LjcgNDUuMy0xOC43TDQyOS4zIDMzOC43YzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZ6Il19LGg2dD1oc2UsbXNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtYmFjay1maXN0IixpY29uOlszODQsNTEyLFsiaGFuZC1yb2NrIl0sImYyNTUiLCJNOTYgNDAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgNDAwek03My4yIDM1Mmw2NC42IDAtNzkuNS04OC4zQzUxLjcgMjU2LjMgNDggMjQ2LjggNDggMjM2LjlMNDggMjA0YzAtMTYuMSAxMS45LTI5LjUgMjcuNC0zMS43IDExLjgtMS43IDIwLjYtMTEuOCAyMC42LTIzLjhMOTYgNzJjMC0xMy4zIDEwLjctMjQgMjQtMjQgNy4yIDAgMTMuNiAzLjEgMTggOC4xIDQuNiA1LjIgMTEuMSA4LjEgMTggOC4xczEzLjQtMyAxOC04LjFjNC40LTUgMTAuOC04LjEgMTgtOC4xIDguNSAwIDE1LjkgNC40IDIwLjIgMTEuMSA2LjkgMTAuNyAyMC45IDE0LjIgMzIgOCAzLjUtMS45IDcuNC0zLjEgMTEuOC0zLjEgMTAuNiAwIDE5LjcgNi45IDIyLjggMTYuNiAzLjggMTEuNyAxNS45IDE4LjcgMjggMTYgMS43LS40IDMuNC0uNiA1LjItLjYgMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA5Mi4yYzAgMTQuNC0zLjUgMjguNS0xMC4yIDQxLjJsLTUyLjIgOTguNiA1NC4zIDAgNDAuMy03Ni4yYzEwLjQtMTkuNiAxNS44LTQxLjUgMTUuOC02My42bDAtOTIuMmMwLTM4LjQtMzAuMS02OS44LTY4LjEtNzEuOS0xMi45LTE5LjMtMzQuOS0zMi4xLTU5LjktMzIuMS01LjcgMC0xMS4yIC43LTE2LjUgMS45LTEyLjctMTEuMS0yOS4zLTE3LjktNDcuNS0xNy45LTEzLjEgMC0yNS40IDMuNS0zNiA5LjYtMTAuNi02LjEtMjIuOS05LjYtMzYtOS42LTM5LjggMC03MiAzMi4yLTcyIDcybDAgNTguN0MxOS43IDE0MyAwIDE3MS4yIDAgMjA0bDAgMzIuOWMwIDIxLjcgOCA0Mi43IDIyLjYgNTguOUw3My4yIDM1MnoiXX0sbTZ0PW1zZSxnNnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3MtcXVlZW4iLGljb246WzUxMiw1MTIsWzk4MTldLCJmNDQ1IiwiTTMyNS4zIDkwLjhjOS4xLTQuOCAyMC42LTMuMyAyOC4yIDQuM2wzOS44IDM5LjggMy43IDMuM2M5LjEgNy4xIDIwLjkgMTAgMzIuNCA3LjdsNDYuNC05LjMgMy41LS40YzgtLjQgMTUuOCAzLjIgMjAuNiA5LjggNS41IDcuNiA2LjEgMTcuNiAxLjYgMjUuOGwtMTEyLjYgMjAyLjYgNTEuNSA3MC45IDEuOCAyLjdjNCA2LjYgNi4yIDE0LjIgNi4yIDIyIDAgMjMuMy0xOC45IDQyLjEtNDIuMSA0Mi4xbC0yOTkuOCAwYy0yMS44IDAtMzkuOC0xNi42LTQxLjktMzcuOGwtLjItNC4zIC4xLTMuM2MuNi03LjcgMy40LTE1LjEgNy45LTIxLjRsNTEuNS03MC45LTExMi41LTIwMi42Yy00LjUtOC4yLTMuOS0xOC4zIDEuNi0yNS44czE0LjktMTEuMiAyNC4xLTkuNGw0Ni40IDkuM2MxMy4xIDIuNiAyNi43LTEuNSAzNi4xLTEwLjlMMTU5LjUgOTUgMTYzIDkyLjJjOC42LTUuOCAyMC4xLTUuNiAyOC41IDEuMWw0MCAzMiAyLjggMi4xYzE0LjQgOS42IDMzLjUgOC45IDQ3LjItMi4xbDQwLTMyIDMuOC0yLjV6TTE2NC43IDQwMGwtNDYuNiA2NCAyNzYuNyAwLTQ2LjYtNjQtMTgzLjYgMHpNMzExLjUgMTYyLjhjLTMwLjEgMjQuMS03Mi4xIDI1LjYtMTAzLjggNC41bC02LjItNC41LTIzLjMtMTguNi0yNC42IDI0LjZjLTE5LjggMTkuOC00Ny43IDI4LjktNzUuMSAyNC44bDg4LjEgMTU4LjUgMTc5LjggMCA4OC0xNTguNWMtMjUuNyAzLjgtNTEuNy0zLjktNzEuMS0yMWwtNC0zLjctMjQuNi0yNC42LTIzLjIgMTguNnpNMjU2LjUgNzJhNDAgNDAgMCAxIDEgMC04MCA0MCA0MCAwIDEgMSAwIDgweiJdfSxnc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLXRlYXJzIixpY29uOls2NDAsNTEyLFsxMjg1MTQsImdyaW4tdGVhcnMiXSwiZjU4OCIsIk01MDQuMSAzNTNDNTEyLjkgMzY3LjIgNTI1LjMgMzc5IDUzOS44IDM4Ny4yIDQ5NS4xIDQ2MiA0MTMuNCA1MTIgMzIwIDUxMlMxNDQuOSA0NjIgMTAwLjIgMzg3LjJjMTQuNi04LjIgMjYuOS0yMCAzNS44LTM0LjMgMzQuOSA2NiAxMDQuMiAxMTEgMTg0LjEgMTExczE0OS4yLTQ1IDE4NC4xLTExMXptMTYuNC0xNTIuNUM0OTYuMiAxMTIuNiA0MTUuNyA0OCAzMjAgNDhTMTQzLjggMTEyLjYgMTE5LjUgMjAwLjVjLTEwLjYtNC44LTIyLjctNi44LTM1LjQtNWwtMTMuNCAxLjlDOTcuMiA4NC4zIDE5OC44IDAgMzIwIDBTNTQyLjggODQuMyA1NjkuMyAxOTcuNGwtMTMuNC0xLjljLTEyLjctMS44LTI0LjggLjItMzUuNCA1ek00NTUuOCAzMjBjLTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjYgMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44ek0yMTIgMjA4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6bTE4OC0yOGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHpNNjQwIDMwMC42YzAgMjguNC0yMyA1MS40LTUxLjQgNTEuNC0yNS42IDAtNDcuMy0xOC44LTUwLjktNDQuMUw1MzEgMjYxLjFjLTEuNS0xMC42IDcuNS0xOS42IDE4LjEtMTguMWw0Ni43IDYuN2MyNS4zIDMuNiA0NC4xIDI1LjMgNDQuMSA1MC45em0tNjQwIDBjMC0yNS42IDE4LjgtNDcuMyA0NC4xLTUwLjlMOTAuOSAyNDNjMTAuNi0xLjUgMTkuNiA3LjUgMTguMSAxOC4xbC02LjcgNDYuN0M5OC43IDMzMy4yIDc3IDM1MiA1MS40IDM1MiAyMyAzNTIgMCAzMjkgMCAzMDAuNnoiXX0sYjZ0PWdzZSxic2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToicGVuLXRvLXNxdWFyZSIsaWNvbjpbNTEyLDUxMixbImVkaXQiXSwiZjA0NCIsIk00NDEgNTguOUw0NTMuMSA3MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUw0MjQgMTM0LjEgMzc3LjkgODggNDA3IDU4LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDB6TTIwOS44IDI1Ni4yTDM0NCAxMjEuOSAzOTAuMSAxNjggMjU1LjggMzAyLjJjLTIuOSAyLjktNi41IDUtMTAuNCA2LjFsLTU4LjUgMTYuNyAxNi43LTU4LjVjMS4xLTMuOSAzLjItNy41IDYuMS0xMC40ek0zNzMuMSAyNUwxNzUuOCAyMjIuMmMtOC43IDguNy0xNSAxOS40LTE4LjMgMzEuMWwtMjguNiAxMDBjLTIuNCA4LjQtLjEgMTcuNCA2LjEgMjMuNnMxNS4yIDguNSAyMy42IDYuMWwxMDAtMjguNmMxMS44LTMuNCAyMi41LTkuNyAzMS4xLTE4LjNMNDg3IDEzOC45YzI4LjEtMjguMSAyOC4xLTczLjcgMC0xMDEuOEw0NzQuOSAyNUM0NDYuOC0zLjEgNDAxLjItMy4xIDM3My4xIDI1ek04OCA2NEMzOS40IDY0IDAgMTAzLjQgMCAxNTJMMCA0MjRjMCA0OC42IDM5LjQgODggODggODhsMjcyIDBjNDguNiAwIDg4LTM5LjQgODgtODhsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAyMi4xLTE3LjkgNDAtNDAgNDBMODggNDY0Yy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTI3MmMwLTIyLjEgMTcuOS00MCA0MC00MGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCA2NHoiXX0sdjZ0PWJzZSx2c2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLWJlYW0tc3dlYXQiLGljb246WzU3Niw1MTIsWzEyODUxNywiZ3Jpbi1iZWFtLXN3ZWF0Il0sImY1ODMiLCJNNTMwLjIgMTUuOWMtOC44LTEwLjctMTguNS0yMC45LTI5LTMwLTMtMi42LTcuNC0yLjYtMTAuNCAwLTEwLjUgOS4xLTIwLjEgMTkuMy0yOSAzMC0xNC43IDE3LjgtMjkuOCA0MC4xLTI5LjggNjQuMSAwIDM2LjQgMjcuNiA2NCA2NCA2NHM2NC0yNy42IDY0LTY0YzAtMjQtMTUuMi00Ni4zLTI5LjgtNjQuMXptLTEzMiA4LjlDMzY0LjggOC45IDMyNy40IDAgMjg4IDAgMTQ2LjYgMCAzMiAxMTQuNiAzMiAyNTZTMTQ2LjYgNTEyIDI4OCA1MTIgNTQ0IDM5Ny40IDU0NCAyNTZjMC0yNC40LTMuNC00OC05LjgtNzAuNC0xMS45IDQuMi0yNC43IDYuNC0zOC4yIDYuNC0zLjQgMC02LjgtLjEtMTAuMi0uNCA2LjYgMjAuMyAxMC4yIDQxLjkgMTAuMiA2NC40IDAgMTE0LjktOTMuMSAyMDgtMjA4IDIwOFM4MCAzNzAuOSA4MCAyNTYgMTczLjEgNDggMjg4IDQ4YzM0LjggMCA2Ny41IDguNSA5Ni4zIDIzLjYgMS40LTE3LjQgNi45LTMzLjEgMTMuOC00Ni44ek00MjMuOCAzMjBjNC4xLTExLjYtNy44LTIxLjQtMTkuNi0xNy44LTM0LjggMTAuNi03NC4zIDE2LjYtMTE2LjMgMTYuNi00MS45IDAtODEuNC02LTExNi4xLTE2LjUtMTEuOC0zLjYtMjMuNyA2LjEtMTkuNiAxNy44IDE5LjggNTUuOSA3My4xIDk1LjkgMTM1LjggOTUuOSA2Mi43IDAgMTE2LTQwLjEgMTM1LjgtOTZ6TTE4MCAyMDhjMC0xNS41IDEyLjUtMjggMjgtMjhzMjggMTIuNSAyOCAyOGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04YzAtMzcuNi0zMC40LTY4LTY4LTY4cy02OCAzMC40LTY4IDY4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTh6bTE4OC0yOGMxNS41IDAgMjggMTIuNSAyOCAyOGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04YzAtMzcuNi0zMC40LTY4LTY4LTY4cy02OCAzMC40LTY4IDY4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0xNS41IDEyLjUtMjggMjgtMjh6Il19LHg2dD12c2UseHNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsb2NrIixpY29uOls1MTIsNTEyLFsxMjgzMzksImNsb2NrLWZvdXIiXSwiZjAxNyIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDEgLTQxNiAwIDIwOCAyMDggMCAxIDEgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDAgMjU2IDI1NiAwIDEgMCAtNTEyIDB6TTIzMiAxMjBsMCAxMzZjMCA4IDQgMTUuNSAxMC43IDIwbDk2IDY0YzExIDcuNCAyNS45IDQuNCAzMy4zLTYuN3M0LjQtMjUuOS02LjctMzMuM0wyODAgMjQzLjIgMjgwIDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHoiXX0seTZ0PXhzZSx5c2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1sYXVnaC13aW5rIixpY29uOls1MTIsNTEyLFsibGF1Z2gtd2luayJdLCJmNTljIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTE4LjMgNTguMmMtNC4yLTEzLjcgNy4xLTI2LjIgMjEuNC0yNi4ybDIzMi42IDBjMTQuMyAwIDI1LjYgMTIuNSAyMS40IDI2LjItMTggNTguOS03Mi45IDEwMS44LTEzNy43IDEwMS44UzEzNi4zIDM3My4xIDExOC4zIDMxNC4yek0xNDQgMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2NCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwYy0xMSAwLTIwIDktMjAgMjB6Il19LHc2dD15c2UsTTZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InBhcGVyLXBsYW5lIixpY29uOls1NzYsNTEyLFs2MTkxM10sImYxZDgiLCJNMjkwLjUgMjg3LjdMNDkxLjQgODYuOSAzNTkgNDU2LjMgMjkwLjUgMjg3Ljd6TTQ1Ny40IDUzTDI1Ni42IDI1My44IDg4IDE4NS4zIDQ1Ny40IDUzek0zOC4xIDIxNi44bDIwNS44IDgzLjYgODMuNiAyMDUuOGM1LjMgMTMuMSAxOC4xIDIxLjcgMzIuMyAyMS43IDE0LjcgMCAyNy44LTkuMiAzMi44LTIzLjFMNTcwLjYgOGMzLjUtOS44IDEtMjAuNi02LjMtMjhzLTE4LjItOS44LTI4LTYuM0wzOS40IDE1MS43Yy0xMy45IDUtMjMuMSAxOC4xLTIzLjEgMzIuOCAwIDE0LjIgOC42IDI3IDIxLjcgMzIuM3oiXX0sazZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhlYXJ0IixpY29uOls1MTIsNTEyLFsxMjgxNTMsMTI4MTU0LDEyODE1NSwxMjgxNTYsMTI4NDIwLDEyOTI5MywxMjkyOTQsMTI5NTA1LDk4MjksMTAwODQsNjE1NzhdLCJmMDA0IiwiTTM3OC45IDgwYy0yNy4zIDAtNTMgMTMuMS02OSAzNS4ybC0zNC40IDQ3LjZjLTQuNSA2LjItMTEuNyA5LjktMTkuNCA5LjlzLTE0LjktMy43LTE5LjQtOS45bC0zNC40LTQ3LjZjLTE2LTIyLjEtNDEuNy0zNS4yLTY5LTM1LjItNDcgMC04NS4xIDM4LjEtODUuMSA4NS4xIDAgNDkuOSAzMiA5OC40IDY4LjEgMTQyLjMgNDEuMSA1MCA5MS40IDk0IDEyNS45IDEyMC4zIDMuMiAyLjQgNy45IDQuMiAxNCA0LjJzMTAuOC0xLjggMTQtNC4yYzM0LjUtMjYuMyA4NC44LTcwLjQgMTI1LjktMTIwLjMgMzYuMi00My45IDY4LjEtOTIuNCA2OC4xLTE0Mi4zIDAtNDctMzguMS04NS4xLTg1LjEtODUuMXpNMjcxIDg3LjFjMjUtMzQuNiA2NS4yLTU1LjEgMTA3LjktNTUuMSA3My41IDAgMTMzLjEgNTkuNiAxMzMuMSAxMzMuMSAwIDY4LjYtNDIuOSAxMjguOS03OS4xIDE3Mi44LTQ0LjEgNTMuNi05Ny4zIDEwMC4xLTEzMy44IDEyNy45LTEyLjMgOS40LTI3LjUgMTQuMS00My4xIDE0LjFzLTMwLjgtNC43LTQzLjEtMTQuMUMxNzYuNCA0MzggMTIzLjIgMzkxLjUgNzkuMSAzMzggNDIuOSAyOTQuMSAwIDIzMy43IDAgMTY1LjEgMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43eiJdfSxrRD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmb250LWF3ZXNvbWUiLGljb246WzUxMiw1MTIsWzYyNTAxLDYyNjk0LCJmb250LWF3ZXNvbWUtZmxhZyIsImZvbnQtYXdlc29tZS1sb2dvLWZ1bGwiXSwiZjJiNCIsIk05MS43IDk2QzEwNi4zIDg2LjggMTE2IDcwLjUgMTE2IDUyIDExNiAyMy4zIDkyLjcgMCA2NCAwUzEyIDIzLjMgMTIgNTJjMCAxNi43IDcuOCAzMS41IDIwIDQxbDAgNDE5IDQ4IDAgMC02NCAzODkuNiAwYzE0LjYgMCAyNi40LTExLjggMjYuNC0yNi40IDAtMy43LS44LTcuMy0yLjMtMTAuN0w0MzIgMjcyIDQ5My43IDEzMy4xYzEuNS0zLjQgMi4zLTcgMi4zLTEwLjcgMC0xNC42LTExLjgtMjYuNC0yNi40LTI2LjRMOTEuNyA5NnpNODAgNDAwbDAtMjU2IDM1Ni40IDAtNDguMiAxMDguNWMtNS41IDEyLjQtNS41IDI2LjYgMCAzOUw0MzYuNCA0MDAgODAgNDAweiJdfSxTNnQ9a0QsejZ0PWtELEM2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjbG9uZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI0ZCIsIk0yODggNDY0TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0OCAwIDAtNDgtNDggMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC00OC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2ek0yMjQgMzA0Yy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDIyNGMwIDguOC03LjIgMTYtMTYgMTZsLTIyNCAwem0tNjQtMTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMjI0IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjI0eiJdfSxUNnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZm9sZGVyLW9wZW4iLGljb246WzU3Niw1MTIsWzEyODE5NCwxMjg0NDksNjE3MTddLCJmMDdjIiwiTTk3LjUgNDAwbDUwLTE2MCAzNzkuNCAwLTUwIDE2MC0zNzkuNCAwem0xOTAuNyA0OEw0NzcgNDQ4YzIxIDAgMzkuNi0xMy42IDQ1LjgtMzMuN2w1MC0xNjBjOS43LTMwLjktMTMuNC02Mi4zLTQ1LjgtNjIuM2wtMzc5LjQgMGMtMjEgMC0zOS42IDEzLjYtNDUuOCAzMy43TDgwLjIgMjk0LjQgODAuMiA5NmMwLTguOCA3LjItMTYgMTYtMTZsMTM4LjcgMGMzLjUgMCA2LjggMS4xIDkuNiAzLjJMMjgyLjkgMTEyYzEzLjggMTAuNCAzMC43IDE2IDQ4IDE2bDExNy4zIDBjOC44IDAgMTYgNy4yIDE2IDE2bDQ4IDBjMC0zNS4zLTI4LjctNjQtNjQtNjRMMzMwLjkgODBjLTYuOSAwLTEzLjctMi4yLTE5LjItNi40TDI3My4zIDQ0LjhDMjYyLjIgMzYuNSAyNDguOCAzMiAyMzQuOSAzMkw5Ni4yIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI4OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMHoiXX0sXzZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6IndpbmRvdy1taW5pbWl6ZSIsaWNvbjpbNTEyLDUxMixbMTI4NDY5XSwiZjJkMSIsIk0wIDQyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0NjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA0NDhjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxMNnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3Rhci1oYWxmIixpY29uOls1NzYsNTEyLFs2MTczMV0sImYwODkiLCJNMjg1LjctMTUuOGMxMC44IDIuNiAxOC40IDEyLjIgMTguNCAyMy4zbDAgMzg3LjFjMCA5LTUuMSAxNy4zLTEzLjEgMjEuNEwxNDMuOCA0OTFjLTggNC4xLTE3LjcgMy4zLTI1LTJzLTExLTE0LjItOS42LTIzLjJMMTM0LjQgMzA1LjkgMjAgMTkxLjRjLTYuNC02LjQtOC42LTE1LjgtNS44LTI0LjRzMTAuMS0xNC45IDE5LjEtMTYuM0wxOTMuMSAxMjUuMyAyNTguOC0zLjNjNS05LjkgMTYuMi0xNSAyNy0xMi40ek0yNTYuMSAxMDcuNEwyMzAuMyAxNThjLTMuNSA2LjgtMTAgMTEuNi0xNy42IDEyLjhsLTEyNS41IDIwIDg5LjggODkuOWM1LjQgNS40IDcuOSAxMy4xIDYuNyAyMC43bC0xOS44IDEyNS41IDkyLjItNDYuOSAwLTI3Mi42eiJdfSwkNnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYWxhcm0tY2xvY2siLGljb246WzUxMiw1MTIsWzkyMDBdLCJmMzRlIiwiTTQwMi42IDUwLjJjLTUuNCAxLjctMTEuMyAxLjgtMTYuMi0uOS01LjgtMy4yLTExLjgtNi4yLTE3LjgtOC45LTEwLjQtNC43LTEzLjctMTguMy00LjEtMjQuNiAxNS05LjkgMzMtMTUuNyA1Mi4zLTE1LjcgNTIuNiAwIDk1LjIgNDIuNiA5NS4yIDk1LjIgMCAxMy4yLTIuNyAyNS44LTcuNiAzNy4zLTQuNSAxMC41LTE4LjQgOS44LTI0LjkgLjQtMy44LTUuNS03LjgtMTAuOC0xMi0xNi0zLjUtNC40LTQuNS0xMC4yLTMuOC0xNS44IC4yLTEuOSAuNC0zLjkgLjQtNS45IDAtMjYuMS0yMS4yLTQ3LjItNDcuMi00Ny4yLTQuOSAwLTkuNyAuOC0xNC4yIDIuMnpNMzIuNSAxMzIuOWMtNi41IDkuNC0yMC41IDEwLjEtMjQuOS0uNC00LjktMTEuNS03LjYtMjQuMS03LjYtMzcuMyAwLTUyLjYgNDIuNi05NS4yIDk1LjItOTUuMiAxOS4zIDAgMzcuMyA1LjggNTIuMyAxNS43IDkuNiA2LjMgNi4zIDE5LjktNC4xIDI0LjYtNi4xIDIuOC0xMiA1LjctMTcuOCA4LjktNC45IDIuNy0xMC45IDIuNi0xNi4yIC45LTQuNS0xLjQtOS4yLTIuMi0xNC4yLTIuMi0yNi4xIDAtNDcuMiAyMS4yLTQ3LjIgNDcuMiAwIDIgLjEgNCAuNCA1LjkgLjcgNS42LS4zIDExLjQtMy44IDE1LjgtNC4yIDUuMi04LjIgMTAuNS0xMiAxNnpNNDMyIDI4OGExNzYgMTc2IDAgMSAwIC0zNTIgMCAxNzYgMTc2IDAgMSAwIDM1MiAwek0zOTYuNSA0NjIuNUMzNTguMSA0OTMuNCAzMDkuMiA1MTIgMjU2IDUxMnMtMTAyLjEtMTguNi0xNDAuNS00OS41TDczIDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0Mi41LTQyLjVDNTAuNiAzOTAuMSAzMiAzNDEuMiAzMiAyODggMzIgMTY0LjMgMTMyLjMgNjQgMjU2IDY0UzQ4MCAxNjQuMyA0ODAgMjg4YzAgNTMuMi0xOC42IDEwMi4xLTQ5LjUgMTQwLjVMNDczIDQ3MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Mi41LTQyLjV6TTI4MCAxODRsMCA5NC4xIDQxIDQxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ4LTQ4Yy00LjUtNC41LTctMTAuNi03LTE3bDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LEQ2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJuZXdzcGFwZXIiLGljb246WzUxMiw1MTIsWzEyODI0MF0sImYxZWEiLCJNMTY4IDgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMwNGMwIDguNC0xLjQgMTYuNS00LjEgMjRMNDQwIDQzMmMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTMwNGMwLTEzLjMtMTAuNy0yNC0yNC0yNEwxNjggODB6TTcyIDQ4MGMtMzkuOCAwLTcyLTMyLjItNzItNzJMMCAxMTJDMCA5OC43IDEwLjcgODggMjQgODhzMjQgMTAuNyAyNCAyNGwwIDI5NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzA0YzAtMzkuOCAzMi4yLTcyIDcyLTcybDI3MiAwYzM5LjggMCA3MiAzMi4yIDcyIDcybDAgMzA0YzAgMzkuOC0zMi4yIDcyLTcyIDcyTDcyIDQ4MHpNMTkyIDE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNDh6bTE1MiAyNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek0yMTYgMjU2bDE3NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMCA4MGwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFNEPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Imhvc3BpdGFsIixpY29uOls1NzYsNTEyLFsxMjc5NzMsNjI1ODksImhvc3BpdGFsLWFsdCIsImhvc3BpdGFsLXdpZGUiXSwiZjBmOCIsIk0xNzYgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA0OC00OCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3MmMwLTM1LjMtMjguNy02NC02NC02NGwtNDggMCAwLTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE3NiAwek0xNjAgNjRjMC04LjggNy4yLTE2IDE2LTE2bDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDcyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjcyYzAgOC44LTcuMiAxNi0xNiAxNmwtMTc2IDAgMC04MGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA4MC0xNzYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjcyYzAtOC44IDcuMi0xNiAxNi0xNmw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNzJ6TTExMiAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNOTYgMzM2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTMyMCAwbDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2LTExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0yNjQgMTA0bDAgMzItMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDAgMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMiAzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMCAwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2eiJdfSxBNnQ9U0QsRTZ0PVNELHdzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtc3RvcCIsaWNvbjpbNTEyLDUxMixbNjIwOTQsInN0b3AtY2lyY2xlIl0sImYyOGQiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjAgMTkybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTQ4IDExMmwwLTk2IDk2IDAgMCA5Ni05NiAweiJdfSxJNnQ9d3NlLFA2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJvYmplY3QtdW5ncm91cCIsaWNvbjpbNjQwLDUxMixbXSwiZjI0OCIsIk00OC4yIDY2LjhjLS4xLS44LS4yLTEuNy0uMi0yLjVsMC0uMmMwLTguOCA3LjItMTYgMTYtMTYgLjkgMCAxLjkgLjEgMi44IC4yIDcuNSAxLjMgMTMuMiA3LjkgMTMuMiAxNS44IDAgOC44LTcuMiAxNi0xNiAxNi03LjkgMC0xNC41LTUuNy0xNS44LTEzLjJ6TTAgNjRjMCAyNi45IDE2LjUgNDkuOSA0MCA1OS4zbDAgMTA1LjNjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NCAyNi45IDAgNDkuOS0xNi41IDU5LjMtNDBsMjAxLjMgMGM5LjUgMjMuNSAzMi41IDQwIDU5LjMgNDAgMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMTA1LjNjMjMuNS05LjUgNDAtMzIuNSA0MC01OS4zIDAtMzUuMy0yOC43LTY0LTY0LTY0LTI2LjkgMC00OS45IDE2LjUtNTkuMyA0MEwxMjMuMyA0MEMxMTMuOSAxNi41IDkwLjkgMCA2NCAwIDI4LjcgMCAwIDI4LjcgMCA2NHptMzY4IDBhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpNMzI0LjcgODhjNi41IDE2IDE5LjMgMjguOSAzNS4zIDM1LjNsMCAxMDUuM2MtMTYgNi41LTI4LjkgMTkuMy0zNS4zIDM1LjNsLTIwMS4zIDBjLTYuNS0xNi0xOS4zLTI4LjktMzUuMy0zNS4zbDAtMTA1LjNjMTYtNi41IDI4LjktMTkuMyAzNS4zLTM1LjNsMjAxLjMgMHpNMzg0IDI3MmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6TTgwIDI4OGMwIDcuOS01LjcgMTQuNS0xMy4yIDE1LjgtLjggLjEtMS43IC4yLTIuNSAuMmwtLjIgMGMtOC44IDAtMTYtNy4yLTE2LTE2IDAtLjkgLjEtMS45IC4yLTIuOCAxLjMtNy41IDcuOS0xMy4yIDE1LjgtMTMuMiA4LjggMCAxNiA3LjIgMTYgMTZ6bTQzNi43LTQwYzYuNSAxNiAxOS4zIDI4LjkgMzUuMyAzNS4zbDAgMTA1LjNjLTE2IDYuNS0yOC45IDE5LjMtMzUuMyAzNS4zbC0yMDEuMyAwYy02LjUtMTYtMTkuMy0yOC45LTM1LjMtMzUuM2wwLTIwLjctNDggMCAwIDIwLjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NCAyNi45IDAgNDkuOS0xNi41IDU5LjMtNDBsMjAxLjMgMGM5LjUgMjMuNSAzMi41IDQwIDU5LjMgNDAgMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMTA1LjNjMjMuNS05LjUgNDAtMzIuNSA0MC01OS4zIDAtMzUuMy0yOC43LTY0LTY0LTY0LTI2LjkgMC00OS45IDE2LjUtNTkuMyA0MGwtNTIuNyAwIDAgOS42YzEwLjcgMTAuOSAxOS4xIDIzLjkgMjQuNiAzOC40bDI4IDB6bTU5LjMtOGExNiAxNiAwIDEgMSAwLTMyIDE2IDE2IDAgMSAxIDAgMzJ6TTI3MS44IDQ1MC43YTE2IDE2IDAgMSAxIC0zMS41LTUuNSAxNiAxNiAwIDEgMSAzMS41IDUuNXptMzAxLjUgMTNjLTcuNS0xLjMtMTMuMi03LjktMTMuMi0xNS44IDAtOC44IDcuMi0xNiAxNi0xNiA3LjkgMCAxNC41IDUuNyAxNS44IDEzLjJsMCAuMWMuMSAuOSAuMiAxLjggLjIgMi43IDAgOC44LTcuMiAxNi0xNiAxNi0uOSAwLTEuOS0uMS0yLjgtLjJ6Il19LE42dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjb21tZW50IixpY29uOls1MTIsNTEyLFsxMjg0ODksNjE2NjldLCJmMDc1IiwiTTUxLjkgMzg0LjlDMTkuMyAzNDQuNiAwIDI5NC40IDAgMjQwIDAgMTA3LjUgMTE0LjYgMCAyNTYgMFM1MTIgMTA3LjUgNTEyIDI0MCAzOTcuNCA0ODAgMjU2IDQ4MGMtMzYuNSAwLTcxLjItNy4yLTEwMi42LTIwTDM3IDUwOS45Yy0zLjcgMS42LTcuNSAyLjEtMTEuNSAyLjEtMTQuMSAwLTI1LjUtMTEuNC0yNS41LTI1LjUgMC00LjMgMS4xLTguNSAzLjEtMTIuMmw0OC44LTg5LjR6bTM3LjMtMzAuMmMxMi4yIDE1LjEgMTQuMSAzNi4xIDQuOCA1My4ybC0xOCAzMy4xIDU4LjUtMjUuMWMxMS44LTUuMSAyNS4yLTUuMiAzNy4xLS4zIDI1LjcgMTAuNSA1NC4yIDE2LjQgODQuMyAxNi40IDExNy44IDAgMjA4LTg4LjggMjA4LTE5MlMzNzMuOCA0OCAyNTYgNDggNDggMTM2LjggNDggMjQwYzAgNDIuOCAxNS4xIDgyLjQgNDEuMiAxMTQuN3oiXX0sRjZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLXBhd24iLGljb246WzM4NCw1MTIsWzk4MjNdLCJmNDQzIiwiTTE5Mi0zMmM2Ni4zIDAgMTIwIDUzLjcgMTIwIDEyMCAwIDI3LjYtOS4zIDUyLjktMjQuOSA3My4yIDkuOCAzIDE2LjkgMTIuMSAxNi45IDIyLjggMCAxMy4zLTEwLjcgMjQtMjQgMjRsLS42IDAgMjQuNiAxNjAgNTMuNiA2N2M2LjcgOC40IDEwLjQgMTguOCAxMC40IDI5LjYgMCAyNi4yLTIxLjIgNDcuNC00Ny40IDQ3LjRMNjMuNCA1MTJjLTI2LjIgMC00Ny40LTIxLjItNDcuNC00Ny40IDAtMTAuOCAzLjctMjEuMiAxMC40LTI5LjZsNTMuNi02NyAyNC42LTE2MC0uNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNCAwLTEwLjggNy4xLTE5LjggMTYuOS0yMi44LTE1LjYtMjAuMy0yNC45LTQ1LjYtMjQuOS03My4yIDAtNjYuMyA1My43LTEyMCAxMjAtMTIwek0xMTUuOSA0MDBsLTUxLjIgNjQgMjU0LjcgMC01MS4yLTY0LTE1Mi4yIDB6bTM2LjItMTg0LjdsLTIxIDEzNi43IDEyMS45IDAtMjEtMTM2LjctMS4xLTcuMy03Ny42IDAtMS4xIDcuM3pNMTkyIDE2YTcyIDcyIDAgMSAwIDAgMTQ0IDcyIDcyIDAgMSAwIDAtMTQ0eiJdfSxPNnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2FsZW5kYXItcGx1cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MSIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI4OGMwLTguOC03LjItMTYtMTYtMTZsLTI2NCAwem0xMDQgNjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OCA0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwIDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0sUjZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsaXBib2FyZCIsaWNvbjpbMzg0LDUxMixbMTI4MjAzXSwiZjMyOCIsIk0yMzIgOTZsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHptMCA0OGMzNy4xIDAgNjcuNi0yOCA3MS42LTY0TDMyMCA4MGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzNTJjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDk2YzAtOC44IDcuMi0xNiAxNi0xNmwxNi40IDBjNCAzNiAzNC41IDY0IDcxLjYgNjRsODAgMHpNMjkxLjkgMzJDMjc5IDEyLjcgMjU3IDAgMjMyIDBMMTUyIDBjLTI1IDAtNDcgMTIuNy01OS45IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zNTJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTI4LjEgMHoiXX0sQjZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InRodW1icy1kb3duIixpY29uOls1MTIsNTEyLFsxMjgwNzgsNjE1NzZdLCJmMTY1IiwiTTM2MCAzMmw3LjQgLjRjMzUgMy42IDYyLjUgMzIuMiA2NC40IDY3LjcgMTcuOCAxMS44IDMwLjEgMzEuNCAzMiA1My45bC4yIDZjMCA1LjctLjcgMTEuMi0yIDE2LjUgMTAuMiAxMS41IDE2LjggMjYuMyAxNy44IDQyLjdsLjIgNC44YzAgMTMuMi0zLjYgMjUuNC05LjggMzYgNC45IDguNCA4LjIgMTcuOSA5LjMgMjhsLjQgOGMwIDM3LjMtMjguMyA2Ny45LTY0LjYgNzEuNmwtNy40IC40LTEwOS43IDAgMTQuMSAzMCAzLjEgNy42YzEyLjUgMzUuNy0xLjggNzUuNS0zNC4yIDk1bC03LjIgMy45Yy0zNy41IDE3LjYtODEuNyAzLjYtMTAyLjYtMzEuMmwtLjYtLjktMi43LTUtLjYtMS4yLTMwLjEtNjRjLTkuNCAxNy44LTI4IDI5LjktNDkuNSAyOS45bC0zMiAwYy0zMC45IDAtNTYtMjUuMS01Ni01NkwwIDE1MmMwLTMwLjkgMjUuMS01NiA1Ni01NmwzMiAwYzEyLjQgMCAyMy45IDQuMSAzMy4yIDExIDEzLjItMjEuNCAzMi0zOS40IDU1LTUxLjZsMTIuMi02LjUgLjctLjMgNi42LTMuMiAuNy0uMyA3LjEtM2MxNi43LTYuNiAzNC41LTkuOSA1Mi42LTkuOUwzNjAgMzJ6TTI1NS45IDgwYy0xMiAwLTIzLjkgMi4zLTM1LjEgNi42bC00LjcgMi01LjMgMi42IDAgMC0xMi4yIDYuNWMtMjkuMiAxNS41LTQ4LjMgNDQuOS01MC43IDc3LjZsLS4yIDggMCAxMTIuOSAuMSA0LjFjLjUgOC4yIDIuNSAxNi4yIDYgMjMuN2w1Ni44IDEyMC45IDIuMSAzLjhjOC40IDEzLjcgMjYgMTkuMSA0MC44IDEyLjJsMi45LTEuNmMxMy03LjggMTguNy0yMy43IDEzLjctMzhsLTEuMi0zLTMwLjItNjQuMmMtMy41LTcuNC0yLjktMTYuMSAxLjUtMjMuMXMxMi0xMS4xIDIwLjItMTEuMWwxNDcuNSAwIDIuNC0uMWMxMS4zLTEuMSAyMC4zLTEwLjEgMjEuNC0yMS40bC4xLTIuNWMwLTcuMS0zLjEtMTMuNS04LjItMTgtNS4yLTQuNi04LjItMTEuMS04LjItMThzMy0xMy40IDguMi0xOGM0LjQtMy45IDcuNC05LjMgOC0xNS4zbC4yLTIuN2MwLTguNC00LjQtMTUuOS0xMS4yLTIwLjItMTAuNy02LjktMTQuMi0yMC45LTgtMzIgMS41LTIuNiAyLjUtNS42IDIuOS04LjZsLjItMy4yYzAtMTAuNi02LjktMTkuNi0xNi42LTIyLjgtMTEuNy0zLjgtMTguNy0xNS45LTE2LTI4IC4yLS45IC4zLTEuOCAuNC0yLjZsLjItMi42YzAtMTIuNC05LjUtMjIuNi0yMS42LTIzLjhMMzYwIDgwIDI1NS45IDgwek01NiAxNDRjLTQuNCAwLTggMy42LTggOGwwIDIyNGMwIDQuNCAzLjYgOCA4IDhsMzIgMGM0LjQgMCA4LTMuNiA4LThsMC0yMjRjMC00LjQtMy42LTgtOC04bC0zMiAweiJdfSxINnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaWQtYmFkZ2UiLGljb246WzM4NCw1MTIsW10sImYyYzEiLCJNMjU2IDQ4bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYtNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zODRjMC04LjgtNy4yLTE2LTE2LTE2bC02NCAwek0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTE2MCAzMjBsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDguOC03LjIgMTYtMTYgMTZMOTYgNDE2Yy04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODB6bS0yNC05NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6Il19LE1zZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtY2hlY2siLGljb246WzQ0OCw1MTIsWzk3NDUsOTk4OSw2MTUxMCwiY2hlY2stc3F1YXJlIl0sImYxNGEiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHptMjMwLjcgODkuOWM3LjgtMTAuNyAyMi44LTEzLjEgMzMuNS01LjMgMTAuNyA3LjggMTMuMSAyMi44IDUuMyAzMy41TDIxMS40IDM2Ni4xYy00LjEgNS43LTEwLjUgOS4zLTE3LjUgOS44LTcgLjUtMTMuOS0yLTE4LjgtNi45bC01NS45LTU1LjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzNiAzNiAxMDUuNi0xNDUuMnoiXX0scTZ0PU1zZSxqNnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3MtYmlzaG9wIixpY29uOlszMjAsNTEyLFs5ODIxXSwiZjQzYSIsIk0yMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMCA4MS44IDk4LjFjMjQuNyAyOS42IDM4LjIgNjcgMzguMiAxMDUuNiAwIDQzLjctMTcuNCA4NS43LTQ4LjMgMTE2LjZsLTguNiA4LjYgNDYuNSA1OC4yYzYuNyA4LjQgMTAuNCAxOC44IDEwLjQgMjkuNiAwIDI2LjItMjEuMiA0Ny40LTQ3LjQgNDcuNEw0Ny40IDUxMkMyMS4yIDUxMiAwIDQ5MC44IDAgNDY0LjYgMCA0NTMuOSAzLjcgNDQzLjQgMTAuNCA0MzVsNDYuNS01OC4yLTguNi04LjZDMTcuNCAzMzcuNCAwIDI5NS40IDAgMjUxLjcgMCAyMTMuMSAxMy41IDE3NS44IDM4LjIgMTQ2LjFMMTIwIDQ4IDEwNCA0OEM5MC43IDQ4IDgwIDM3LjMgODAgMjRTOTAuNyAwIDEwNCAwTDIxNiAwek05NC40IDQwNi44bC00NS43IDU3LjIgMjIyLjcgMC00NS43LTU3LjEtNS41LTYuOS0xMjAuMyAwLTUuNSA2Ljh6TTE1Ni45IDc4LjdMNzUuMSAxNzYuOGMtMTUuMyAxOC40LTI0LjYgNDEtMjYuNyA2NC43TDQ4IDI1MS43YzAgMzEgMTIuMyA2MC43IDM0LjIgODIuN2wxNy43IDE3LjcgMTIwLjIgMGM2LjItNi4yIDEyLjEtMTIuMSAxNy44LTE3LjcgMjEuOS0yMS45IDM0LjItNTEuNiAzNC4yLTgyLjZsLS40LTEwLjJjLTEuNS0xNy02LjctMzMuMy0xNS4yLTQ4TDIwOSAyNDFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTEuOC01MS44LTYzLjctNzYuNS0zLjEtMy44LTMuMSAzLjh6Il19LFY2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJlbnZlbG9wZS1vcGVuIixpY29uOls1MTIsNTEyLFs2MjEzNV0sImYyYjYiLCJNNTEyIDQxNmMwIDM1LjMtMjguNSA2NC02My45IDY0TDY0IDQ4MGMtMzUuNCAwLTY0LTI4LjctNjQtNjRMMCAxNjRjLjEtMTUuNSA3LjgtMzAgMjAuNS0zOC44TDIwNi0yLjdjMzAuMS0yMC43IDY5LjgtMjAuNyA5OS45IDBMNDkxLjUgMTI1LjJjMTIuOCA4LjggMjAuNCAyMy4zIDIwLjUgMzguOGwwIDI1MnpNNjQgNDMybDM4NC4xIDBjOC44IDAgMTUuOS03LjEgMTUuOS0xNmwwLTE5MS43LTE1NC44IDExNy40Yy0zMS40IDIzLjktNzQuOSAyMy45LTEwNi40IDBMNDggMjI0LjMgNDggNDE2YzAgOC45IDcuMiAxNiAxNiAxNnpNNDYzLjYgMTY0LjRMMjc4LjcgMzYuOGMtMTMuNy05LjQtMzEuNy05LjQtNDUuNCAwTDQ4LjQgMTY0LjQgMjMxLjggMzAzLjVjMTQuMyAxMC44IDM0LjEgMTAuOCA0OC40IDBMNDYzLjYgMTY0LjR6Il19LHRmPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS14bWFyayIsaWNvbjpbNTEyLDUxMixbNjE1MzIsInRpbWVzLWNpcmNsZSIsInhtYXJrLWNpcmNsZSJdLCJmMDU3IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY3IDE2N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNTUgNTUtNTUgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1LTU1LTU1Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHoiXX0sVTZ0PXRmLFc2dD10Zixrc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLWNhcmV0LXVwIixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLXVwIl0sImYxNTEiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTIyNCA2NGM2LjcgMCAxMyAyLjggMTcuNiA3LjdsMTA0IDExMmM2LjUgNyA4LjIgMTcuMiA0LjQgMjUuOVMzMzcuNSAzMjAgMzI4IDMyMGwtMjA4IDBjLTkuNSAwLTE4LjItNS43LTIyLTE0LjRzLTIuMS0xOC45IDQuNC0yNS45bDEwNC0xMTJjNC41LTQuOSAxMC45LTcuNyAxNy42LTcuN3oiXX0sRzZ0PWtzZSxZNnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS1pbWFnZSIsaWNvbjpbMzg0LDUxMixbMTI4NDQzXSwiZjFjNSIsIk0xNzYgNDhMNjQgNDhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4NGMwIDguOCA3LjIgMTYgMTYgMTZsMjU2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjQwLTg4IDBjLTM5LjggMC03Mi0zMi4yLTcyLTcybDAtODh6TTMxNi4xIDE2MEwyMjQgNjcuOSAyMjQgMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDY4LjEgMHpNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMTk3LjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxNDEuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0yNTkuNCA0MzJsLTEzNC44IDBjLTE1LjggMC0yOC42LTEyLjgtMjguNi0yOC42IDAtNi40IDIuMS0xMi41IDYtMTcuNmw2Ny42LTg2LjlDMTc1IDI5MiAxODMuMyAyODggMTkyIDI4OHMxNyA0IDIyLjQgMTAuOUwyODIgMzg1LjljMy45IDUgNiAxMS4yIDYgMTcuNiAwIDE1LjgtMTIuOCAyOC42LTI4LjYgMjguNnpNMTEyIDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LFNzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtcmlnaHQiLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtcmlnaHQiXSwiZjE1MiIsIk00MDAgOTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMHpNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMzIwIDI1NmMwIDYuNy0yLjggMTMtNy43IDE3LjZsLTExMiAxMDRjLTcgNi41LTE3LjIgOC4yLTI1LjkgNC40UzE2MCAzNjkuNSAxNjAgMzYwbDAtMjA4YzAtOS41IDUuNy0xOC4yIDE0LjQtMjJzMTguOS0yLjEgMjUuOSA0LjRsMTEyIDEwNGM0LjkgNC41IDcuNyAxMC45IDcuNyAxNy42eiJdfSxaNnQ9U3NlLEREPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InN1biIsaWNvbjpbNTc2LDUxMixbOTcyOF0sImYxODUiLCJNMjg4LTMyYzggMCAxNS40IDQgMTkuOSAxMC42bDU4LjggODcuNCAxMDMuNC0yMC4yYzcuOC0xLjUgMTUuOSAuOSAyMS42IDYuNnM4LjEgMTMuOCA2LjYgMjEuNkw0NzggMTc3LjMgNTY1LjQgMjM2LjFDNTcyIDI0MC41IDU3NiAyNDggNTc2IDI1NnMtNCAxNS40LTEwLjYgMTkuOUw0NzggMzM0LjcgNDk4LjIgNDM4YzEuNSA3LjgtLjkgMTUuOS02LjYgMjEuNnMtMTMuOCA4LjEtMjEuNiA2LjZMMzY2LjcgNDQ2IDMwNy45IDUzMy40QzMwMy40IDU0MCAyOTYgNTQ0IDI4OCA1NDRzLTE1LjQtNC0xOS45LTEwLjZMMjA5LjMgNDQ2IDEwNS45IDQ2Ni4yYy03LjggMS41LTE1LjktLjktMjEuNi02LjZzLTguMS0xMy44LTYuNi0yMS42TDk4IDMzNC43IDEwLjYgMjc1LjlDNCAyNzEuNCAwIDI2NCAwIDI1NnM0LTE1LjQgMTAuNi0xOS45TDk4IDE3Ny4zIDc3LjggNzMuOWMtMS41LTcuOCAuOS0xNS45IDYuNi0yMS42czEzLjgtOC4xIDIxLjYtNi42bDEwMy4zIDIwLjIgNTguOC04Ny40IDEuOC0yLjNDMjc0LjQtMjkgMjgxLTMyIDI4OC0zMnptLTQ3LjggMTM4Yy01LjQgOC0xNSAxMi0yNC41IDEwLjJsLTg0LTE2LjQgMTYuNCA4NGMxLjggOS41LTIuMiAxOS4xLTEwLjIgMjQuNUw2NyAyNTYgMTM4IDMwMy44YzggNS40IDEyIDE1IDEwLjIgMjQuNWwtMTYuNCA4NCA4NC0xNi40IDMuNS0uNGM4LjMtLjQgMTYuMyAzLjYgMjEgMTAuNmw0Ny44IDcxIDQ3LjgtNzEgMi4yLTIuOGM1LjYtNi4xIDE0LTkgMjIuMy03LjNsODQgMTYuNC0xNi40LTg0Yy0xLjgtOS41IDIuMi0xOS4xIDEwLjItMjQuNWw3MS00Ny44LTcxLTQ3LjhjLTgtNS40LTEyLTE1LTEwLjItMjQuNWwxNi40LTg0LTg0IDE2LjRjLTkuNSAxLjgtMTkuMS0yLjItMjQuNS0xMC4ybC00Ny44LTcxLTQ3LjggNzF6TTI4OCAzNzZhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQwem0wLTE5MmE3MiA3MiAwIDEgMCAwIDE0NCA3MiA3MiAwIDEgMCAwLTE0NHoiXX0sWDZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImltYWdlIixpY29uOls0NDgsNTEyLFtdLCJmMDNlIiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xMjggMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMzYgNzJjOC41IDAgMTYuNCA0LjUgMjAuNyAxMS44bDgwIDEzNmM0LjQgNy40IDQuNCAxNi42IC4xIDI0LjFTMzUyLjYgMzg0IDM0NCAzODRsLTI0MCAwYy04LjkgMC0xNy4yLTUtMjEuMy0xMi45cy0zLjUtMTcuNSAxLjYtMjQuOGw1Ni04MGM0LjUtNi40IDExLjgtMTAuMiAxOS43LTEwLjJzMTUuMiAzLjggMTkuNyAxMC4ybDE3LjIgMjQuNiA0Ni41LTc5YzQuMy03LjMgMTIuMi0xMS44IDIwLjctMTEuOHoiXX0sUTZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImxpZ2h0YnVsYiIsaWNvbjpbMzg0LDUxMixbMTI4MTYxXSwiZjBlYiIsIk0yOTYuNSAyOTEuMUMzMjEgMjY1LjIgMzM2IDIzMC40IDMzNiAxOTIgMzM2IDExMi41IDI3MS41IDQ4IDE5MiA0OFM0OCAxMTIuNSA0OCAxOTJjMCAzOC40IDE1IDczLjIgMzkuNSA5OS4xIDIxLjMgMjIuNCA0NC45IDU0IDUzLjMgOTIuOWwxMDIuNCAwYzguNC0zOSAzMi03MC41IDUzLjMtOTIuOXptMzQuOCAzM0MzMDcuNyAzNDkgMjg4IDM3OS40IDI4OCA0MTMuN2wwIDE4LjNjMCA0NC4yLTM1LjggODAtODAgODBsLTMyIDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTguM0M5NiAzNzkuNCA3Ni4zIDM0OSA1Mi43IDMyNC4xIDIwIDI4OS43IDAgMjQzLjIgMCAxOTIgMCA4NiA4NiAwIDE5MiAwUzM4NCA4NiAzODQgMTkyYzAgNTEuMi0yMCA5Ny43LTUyLjcgMTMyLjF6TTE0NCAxODRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00OC42IDM5LjQtODggODgtODggMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjEgMC00MCAxNy45LTQwIDQweiJdfSx6RD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJhZGRyZXNzLWNhcmQiLGljb246WzU3Niw1MTIsWzYyMTQwLCJjb250YWN0LWNhcmQiLCJ2Y2FyZCJdLCJmMmJiIiwiTTUxMiA4MGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMjBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDk2YzAtOC44IDcuMi0xNiAxNi0xNmw0NDggMHpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjA4IDI0OGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnptLTMyIDQwYy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDguOCA3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwek0zNzYgMTQ0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHoiXX0sSjZ0PXpELEs2dD16RCx6c2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1tZWgiLGljb246WzUxMiw1MTIsWzEyODUyOCwibWVoIl0sImYxMWEiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyIDI1NiAyNTYgMCAxIDAgMC01MTJ6TTE3NiAyNDBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xOTItMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTg0IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LGV1dD16c2UsdHV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im1hcCIsaWNvbjpbNTEyLDUxMixbMTI4NTA2LDYyMDcyXSwiZjI3OSIsIk01MTIgNDhjMC04LjMtNC4zLTE2LTExLjMtMjAuNHMtMTUuOS00LjgtMjMuMy0xLjFMMzUyLjUgODguMSAxODAgMjkuNGMtMTMuNy00LjctMjguNy0zLjgtNDEuOSAyLjNMMTMuOCA5MC4zQzUuNCA5NC4yIDAgMTAyLjcgMCAxMTJMMCA0NjRjMCA4LjIgNC4yIDE1LjkgMTEuMSAyMC4zczE1LjYgNC45IDIzLjEgMS40bDEyNy4zLTU5LjkgMTcwLjcgNTYuOWMxMy43IDQuNiAyOC41IDMuNyA0MS42LTIuNWwxMjQuNC01OC41YzguNC00IDEzLjgtMTIuNCAxMy44LTIxLjdsMC0zNTJ6TTE0NCA4Mi4xbDAgMjk5LTk2IDQ1LjIgMC0yOTkgOTYtNDUuMnptNDggMzAzLjNsMC0zMDEuMSAxMjggNDMuNSAwIDMwMC4zLTEyOC00Mi43ek0zNjggMTM0bDk2LTQ3LjQgMCAyOTguMi05NiA0NS4yIDAtMjk2eiJdfSxydXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wb2ludC1kb3duIixpY29uOlszODQsNTEyLFtdLCJmMGE3IiwiTTY0IDQ0OGwwLTE3Ny42YzUuMiAxIDEwLjUgMS42IDE2IDEuNmwxNiAwIDAgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2ek04MCAyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjRjMC02Ni4zIDUzLjctMTIwIDEyMC0xMjBsNDggMGM1Mi41IDAgOTcuMSAzMy43IDExMy40IDgwLjctMy4xLS41LTYuMi0uNy05LjQtLjctMjAgMC0zNy45IDkuMi00OS43IDIzLjYtOS00LjktMTkuNC03LjYtMzAuMy03LjYtMTUuMSAwLTI5IDUuMy00MCAxNC0xMS04LjgtMjQuOS0xNC00MC0xNGwtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC04MCAwek0wIDE5MmwwIDBjMCAxOCA2IDM0LjYgMTYgNDhsMCAyMDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGwwLTgyYzUuMSAxLjMgMTAuNSAyIDE2IDIgMjUuMyAwIDQ3LjItMTQuNyA1Ny42LTM2IDcgMi42IDE0LjUgNCAyMi40IDQgMjAgMCAzNy45LTkuMiA0OS43LTIzLjYgOSA0LjkgMTkuNCA3LjYgMzAuMyA3LjYgMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC04OEMzODQgNzUuMiAzMDguOCAwIDIxNiAwTDE2OCAwQzc1LjIgMCAwIDc1LjIgMCAxNjhsMCAyNHptMzM2IDY0YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDY0ek0xNjAgMjcyYzUuNSAwIDEwLjktLjcgMTYtMmwwIDM0YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMzIgMTYgMHptNjQtMjRsMC00MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0yNHoiXX0sQ3NlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtbWVoLWJsYW5rIixpY29uOls1MTIsNTEyLFsxMjg1NjYsIm1laC1ibGFuayJdLCJmNWE0IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAwIDAgNDE2IDIwOCAyMDggMCAxIDAgMC00MTZ6TTUxMiAyNTZhMjU2IDI1NiAwIDEgMSAtNTEyIDAgMjU2IDI1NiAwIDEgMSA1MTIgMHpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxhdXQ9Q3NlLFRzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlIixpY29uOls1MTIsNTEyLFsxMjg1MzksImdyaW4tdG9uZ3VlIl0sImY1ODkiLCJNNDY0IDI1NmMwLTExNC45LTkzLjEtMjA4LTIwOC0yMDhTNDggMTQxLjEgNDggMjU2YzAgNzQuMSAzOC44IDEzOS4yIDk3LjEgMTc2LS43LTUuMi0xLjEtMTAuNi0xLjEtMTZsMC01My41Yy0xMC4yLTEyLjYtMTguMy0yNi45LTIzLjgtNDIuNC00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjYgMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTUuNSAxNS42LTEzLjYgMjkuOS0yMy44IDQyLjVsMCA1My41YzAgNS40LS40IDEwLjgtMS4xIDE2IDU4LjQtMzYuOCA5Ny4xLTEwMS45IDk3LjEtMTc2em00OCAwYzAgMTE2LjMtNzcuNiAyMTQuNi0xODMuOSAyNDUuNy0xOS41IDE2LjQtNDQuNiAyNi4zLTcyLjEgMjYuM3MtNTIuNi05LjktNzIuMS0yNi4zQzc3LjYgNDcwLjYgMCAzNzIuMyAwIDI1NiAwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZ6TTE3NiAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTYgMjA4bDAtMzcuNGMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmwtMiAwYy0xMS4zIDAtMjEuMSA3LjktMjMuNiAxOC45LTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDAtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDM3LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0saXV0PVRzZSxDRD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmdXRib2wiLGljb246WzUxMiw1MTIsWzk5MTcsImZ1dGJvbC1iYWxsIiwic29jY2VyLWJhbGwiXSwiZjFlMyIsIk0zODcgMjI4LjNjLTQuNC0yLjgtNy42LTctOS4yLTExLjlzLTEuNC0xMC4yIC41LTE1TDQxMS42IDExOGMtMTkuOS0yMi40LTQ0LjYtNDAuNS03Mi40LTUyLjdsLTY5LjEgNTcuNmMtNCAzLjMtOSA1LjEtMTQuMSA1LjFzLTEwLjItMS44LTE0LjEtNS4xTDE3Mi44IDY1LjNjLTI3LjggMTIuMi01Mi41IDMwLjMtNzIuNCA1Mi43bDMzLjQgODMuNGMxLjkgNC44IDIuMSAxMC4xIC41IDE1cy00LjkgOS4xLTkuMiAxMS45TDQ5IDI3Ni4yYzMgMzAuOSAxMi43IDU5LjcgMjcuNiA4NS4ybDg5LjctNmM1LjItLjMgMTAuMyAxLjEgMTQuNSA0LjJzNy4yIDcuNCA4LjQgMTIuNWwyMiA4Ny4yYzE0LjQgMy4yIDI5LjQgNC44IDQ0LjggNC44czMwLjMtMS43IDQ0LjgtNC44bDIyLTg3LjJjMS4zLTUgNC4yLTkuNCA4LjQtMTIuNXM5LjMtNC41IDE0LjUtNC4ybDg5LjcgNmMxNS0yNS40IDI0LjctNTQuMyAyNy42LTg1LjFMMzg3IDIyOC4zek0yNTYgMGEyNTYgMjU2IDAgMSAxIDAgNTEyIDI1NiAyNTYgMCAxIDEgMC01MTJ6bTYyIDIyMWM4LjQgNi4xIDExLjkgMTYuOSA4LjcgMjYuOGwtMTguMyA1Ni4zYy0zLjIgOS45LTEyLjQgMTYuNi0yMi44IDE2LjZsLTU5LjIgMGMtMTAuNCAwLTE5LjYtNi43LTIyLjgtMTYuNmwtMTguMy01Ni4zYy0zLjItOS45IC4zLTIwLjcgOC43LTI2LjhsNDcuOS0zNC44YzguNC02LjEgMTkuOC02LjEgMjguMiAwTDMxOCAyMjF6Il19LG51dD1DRCxzdXQ9Q0QsX3NlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utc3VycHJpc2UiLGljb246WzUxMiw1MTIsWzEyODU1OCwic3VycHJpc2UiXSwiZjVjMiIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE3Ni04MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tNDggODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LG91dD1fc2UsTHNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZvbGRlciIsaWNvbjpbNTEyLDUxMixbMTI4MTkzLDEyODQ0Nyw2MTcxNiwiZm9sZGVyLWJsYW5rIl0sImYwN2IiLCJNNjQgNDAwbDM4NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0MGMwLTguOC03LjItMTYtMTYtMTZsLTE0OS4zIDBjLTE3LjMgMC0zNC4yLTUuNi00OC0xNkwyMTIuMyA4My4yYy0yLjgtMi4xLTYuMS0zLjItOS42LTMuMkw2NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNnptMzg0IDQ4TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxMzguNyAwYzEzLjggMCAyNy4zIDQuNSAzOC40IDEyLjhsMzguNCAyOC44YzUuNSA0LjIgMTIuMyA2LjQgMTkuMiA2LjRMNDQ4IDgwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0eiJdfSxsdXQ9THNlLGN1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjbG91ZCIsaWNvbjpbNTc2LDUxMixbOTcyOV0sImYwYzIiLCJNODAgMTkyYzAtODguNCA3MS42LTE2MCAxNjAtMTYwIDQ3LjEgMCA4OS40IDIwLjQgMTE4LjcgNTIuNyAxMC42LTMuMSAyMS44LTQuNyAzMy4zLTQuNyA2Ni4zIDAgMTIwIDUzLjcgMTIwIDEyMCAwIDEzLjItMi4xIDI1LjktNi4xIDM3LjggNDEuNiAyMS4xIDcwLjEgNjQuMyA3MC4xIDExNC4yIDAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0zMDQgMGMtNzkuNSAwLTE0NC02NC41LTE0NC0xNDQgMC01Ni44IDMyLjktMTA1LjkgODAuNy0xMjkuNC0uNC00LjgtLjctOS43LS43LTE0LjZ6TTI0MCA4MGMtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCA4LjQgLjkgMTYuNiAyLjcgMjQuNSAyLjcgMTIuMS00LjMgMjQuMy0xNi4xIDI4LjEtMzguNyAxMi40LTY2LjYgNDguNy02Ni42IDkxLjQgMCA1MyA0MyA5NiA5NiA5NmwzMDQgMGM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTM3LjQtMjUuNy02OC45LTYwLjUtNzcuNi03LjUtMS45LTEzLjYtNy4yLTE2LjUtMTQuM3MtMi4xLTE1LjIgMi0yMS43YzctMTEuMSAxMS0yNC4yIDExLTM4LjMgMC0zOS44LTMyLjItNzItNzItNzItMTEuMSAwLTIxLjUgMi41LTMwLjggNi45LTEwLjUgNS0yMy4xIDEuNy0yOS44LTcuOC0yMC4zLTI4LjYtNTMuNy00Ny4xLTkxLjMtNDcuMXoiXX0sZHV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZSIsaWNvbjpbNTEyLDUxMixbMTI4MzA4LDEyODMwOSwxMjg5OTIsMTI4OTkzLDEyODk5NCwxMjg5OTUsMTI4OTk2LDk2NzksOTg5OCw5ODk5LDExMDQ0LDYxNzA4LDYxOTE1XSwiZjExMSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LCRzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tc3F1aW50IixpY29uOls1MTIsNTEyLFsxMjg1MTgsImdyaW4tc3F1aW50Il0sImY1ODUiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42em0tMjQ5LjYtMTQzYzQuNS02LjggMTMuMy05LjIgMjAuNi01LjVsNzkuNiA0MGM1LjQgMi43IDguOCA4LjIgOC44IDE0LjNzLTMuNCAxMS42LTguOCAxNC4zbC03OS42IDQwYy03LjMgMy42LTE2LjEgMS4zLTIwLjYtNS41cy0zLjEtMTUuOSAzLjEtMjEuMUwxNTkgMjA4IDEyNS44IDE4MC4zYy02LjItNS4yLTcuNi0xNC4zLTMuMS0yMS4xem0yNjMuNiAyMS4xTDM1MyAyMDggMzg2LjIgMjM1LjdjNi4yIDUuMiA3LjYgMTQuMyAzLjEgMjEuMXMtMTMuMyA5LjItMjAuNiA1LjVsLTc5LjYtNDBjLTUuNC0yLjctOC44LTguMi04LjgtMTQuM3MzLjQtMTEuNiA4LjgtMTQuM2w3OS42LTQwYzcuMy0zLjYgMTYuMS0xLjMgMjAuNiA1LjVzMy4xIDE1LjktMy4xIDIxLjF6Il19LHV1dD0kc2UsRHNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS11c2VyIixpY29uOls1MTIsNTEyLFs2MjE0MiwidXNlci1jaXJjbGUiXSwiZjJiZCIsIk00MDYuNSAzOTkuNkMzODcuNCAzNTIuOSAzNDEuNSAzMjAgMjg4IDMyMGwtNjQgMGMtNTMuNSAwLTk5LjQgMzIuOS0xMTguNSA3OS42LTM1LjYtMzcuMy01Ny41LTg3LjktNTcuNS0xNDMuNiAwLTExNC45IDkzLjEtMjA4IDIwOC0yMDhzMjA4IDkzLjEgMjA4IDIwOGMwIDU1LjctMjEuOSAxMDYuMi01Ny41IDE0My42em0tNDAuMSAzMi43QzMzNC40IDQ1Mi40IDI5Ni42IDQ2NCAyNTYgNDY0cy03OC40LTExLjYtMTEwLjUtMzEuN2M3LjMtMzYuNyAzOS43LTY0LjMgNzguNS02NC4zbDY0IDBjMzguOCAwIDcxLjIgMjcuNiA3OC41IDY0LjN6TTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTI3MmE0MCA0MCAwIDEgMSAwLTgwIDQwIDQwIDAgMSAxIDAgODB6bS04OC00MGE4OCA4OCAwIDEgMCAxNzYgMCA4OCA4OCAwIDEgMCAtMTc2IDB6Il19LHB1dD1Ec2UsQXNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InJlY3RhbmdsZS1saXN0IixpY29uOls1MTIsNTEyLFsibGlzdC1hbHQiXSwiZjAyMiIsIk02NCAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI1NmMwIDguOCA3LjIgMTYgMTYgMTZsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjU2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAxMTJ6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6TTE2MCAzMjBhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTMyLTk2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMTA0LTU2bDE2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNjAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMCAxMjhsMTYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxmdXQ9QXNlLEVzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kIixpY29uOls1MTIsNTEyLFsxMjkzMDYsOTk5NSwiaGFuZC1wYXBlciJdLCJmMjU2IiwiTTI1Ni41IDBjLTI1LjMgMC00Ny4yIDE0LjctNTcuNiAzNi03LTIuNi0xNC41LTQtMjIuNC00LTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMTY1LjUtMi43LTIuN2MtMjUtMjUtNjUuNS0yNS05MC41IDBzLTI1IDY1LjUgMCA5MC41TDEwNyA0MzdjNDggNDggMTEzLjEgNzUgMTgxIDc1bDE2LjUgMGMxLjUgMCAzLS4xIDQuNS0uNCA5MS43LTYuMiAxNjUtNzkuNCAxNzEuMS0xNzEuMSAuMy0xLjUgLjQtMyAuNC00LjVsMC0xNzZjMC0zNS4zLTI4LjctNjQtNjQtNjQtNS41IDAtMTAuOSAuNy0xNiAybDAtMmMwLTM1LjMtMjguNy02NC02NC02NC03LjkgMC0xNS40IDEuNC0yMi40IDQtMTAuNC0yMS4zLTMyLjMtMzYtNTcuNi0zNnptLTE2IDk2LjFsMC0uMSAwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEzNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTcyLjljLS4xIC42LS4xIDEuMy0uMiAxLjktMy40IDY5LjctNTkuMyAxMjUuNi0xMjkgMTI5LS42IDAtMS4zIC4xLTEuOSAuMkwyODggNDY0QzIzMi45IDQ2NCAxODAgNDQyLjEgMTQxIDQwMy4xTDUzLjIgMzE1LjNjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGw0My43IDQzLjdjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMnMxNC44LTEyLjUgMTQuOC0yMi4ybDAtMjIzLjRjMC04LjggNy4yLTE2IDE2LTE2IDguOCAwIDE2IDcuMSAxNiAxNS45bDAgMTM2LjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEzNS45eiJdfSxodXQ9RXNlLG11dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ0aHVtYnMtdXAiLGljb246WzUxMiw1MTIsWzEyODA3Nyw2MTU3NV0sImYxNjQiLCJNMTcxLjUgMzguOEMxOTIuMyA0IDIzNi41LTEwIDI3NCA3LjZsNy4yIDMuOEMzMTYgMzIuMyAzMzAgNzYuNSAzMTIuNCAxMTRsMCAwLTE0LjEgMzAgMTA5LjcgMCA3LjQgLjRjMzYuMyAzLjcgNjQuNiAzNC40IDY0LjYgNzEuNiAwIDEzLjItMy42IDI1LjQtOS44IDM2IDYuMSAxMC42IDkuNyAyMi44IDkuOCAzNiAwIDE4LjMtNi45IDM0LjgtMTggNDcuNSAxLjMgNS4zIDIgMTAuOCAyIDE2LjUgMCAyNS4xLTEyLjkgNDctMzIuMiA1OS45LTEuOSAzNS41LTI5LjQgNjQuMi02NC40IDY3LjdsLTcuNCAuNC0xMDQuMSAwYy0xOCAwLTM1LjktMy40LTUyLjYtOS45bC03LjEtMy0uNy0uMy02LjYtMy4yLS43LS4zLTEyLjItNi41Yy0xMi4zLTYuNS0yMy4zLTE0LjctMzIuOS0yNC4xLTQuMSAyNi45LTI3LjMgNDcuNC01NS4zIDQ3LjRsLTMyIDBjLTMwLjkgMC01Ni0yNS4xLTU2LTU2TDAgMjAwYzAtMzAuOSAyNS4xLTU2IDU2LTU2bDMyIDBjMTAuOCAwIDIwLjkgMy4xIDI5LjUgOC41bDUwLjEtMTA2LjUgLjYtMS4yIDIuNy01IC42LS45ek01NiAxOTJjLTQuNCAwLTggMy42LTggOGwwIDIyNGMwIDQuNCAzLjYgOCA4IDhsMzIgMGM0LjQgMCA4LTMuNiA4LThsMC0yMjRjMC00LjQtMy42LTgtOC04bC0zMiAwek0yNTMuNiA1MWMtMTQuOC02LjktMzIuMy0xLjYtNDAuNyAxMmwtMi4yIDQtNTYuOCAxMjAuOWMtMy41IDcuNS01LjUgMTUuNS02IDIzLjdsLS4xIDQuMiAwIDExMi45IC4yIDcuOWMyLjQgMzIuNyAyMS40IDYyLjEgNTAuNyA3Ny43bDExLjUgNi4xIDYuMyAzLjFjMTIuNCA1LjYgMjUuOCA4LjUgMzkuNCA4LjVsMTA0LjEgMCAyLjQtLjFjMTIuMS0xLjIgMjEuNi0xMS41IDIxLjYtMjMuOWwtLjItMi42Yy0uMS0uOS0uMi0xLjctLjQtMi42LTIuNy0xMi4xIDQuMy0yNC4yIDE2LTI4IDkuNy0zLjEgMTYuNi0xMi4yIDE2LjYtMjIuOCAwLTQuMy0xLjEtOC4yLTMuMS0xMS44LTYuMy0xMS4xLTIuOC0yNS4yIDgtMzIgNi44LTQuMyAxMS4yLTExLjggMTEuMi0yMC4yIDAtNy4xLTMuMS0xMy41LTguMi0xOC01LjItNC42LTguMi0xMS4xLTguMi0xOHMzLTEzLjQgOC4yLTE4YzUuMS00LjUgOC4yLTEwLjkgOC4yLTE4bC0uMS0yLjRjLTEuMS0xMS4zLTEwLjEtMjAuMy0yMS40LTIxLjRsLTIuNC0uMS0xNDcuNSAwYy04LjIgMC0xNS44LTQuMi0yMC4yLTExLjEtNC40LTYuOS01LTE1LjctMS41LTIzLjFMMjY5IDkzLjZjNy0xNSAxLjQtMzIuNy0xMi41LTQxTDI1My42IDUxeiJdfSxndXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYnVpbGRpbmciLGljb246WzM4NCw1MTIsWzEyNzk3MCw2MTY4N10sImYxYWQiLCJNNjQgNDhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4NGMwIDguOCA3LjIgMTYgMTYgMTZsODAgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MCA4MCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTM4NGMwLTguOC03LjItMTYtMTYtMTZMNjQgNDh6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptOTYgNDhjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjQwIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTk2IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNDQtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sYnV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLXJvb2siLGljb246WzM4NCw1MTIsWzk4MjBdLCJmNDQ3IiwiTTM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTM4LjdjMCAxMy44LTQuNSAyNy4zLTEyLjggMzguNGwtMzUuMiA0Ni45IDAgMTEyIDQwLjggNjguMWM0LjcgNy44IDcuMiAxNi43IDcuMiAyNS44IDAgMjcuNy0yMi40IDUwLjEtNTAuMSA1MC4xTDUwLjEgNTEyYy0yNy43IDAtNTAuMS0yMi40LTUwLjEtNTAuMSAwLTkuMSAyLjUtMTggNy4yLTI1LjhMNDggMzY4IDQ4IDI1NiAxMi44IDIwOS4xQzQuNSAxOTggMCAxODQuNSAwIDE3MC43TDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDM1MiAwek00OC4zIDQ2MC44bC0uMyAxLjFjMCAxLjIgMSAyLjEgMi4xIDIuMWwyODMuOCAwYzEuMiAwIDIuMS0xIDIuMS0yLjFsLS4zLTEuMS0zNi41LTYwLjgtMjE0LjQgMC0zNi41IDYwLjh6TTQ4IDE3MC43YzAgMi42IC42IDUuMSAxLjggNy40bDEuNCAyLjIgMCAwIDM1LjIgNDYuOSA5LjYgMTIuOCAwIDExMiAxOTIgMCAwLTExMiA5LjYtMTIuOCAzNS4yLTQ2LjkgMCAwIDEuNC0yLjJjMS4yLTIuMyAxLjgtNC44IDEuOC03LjRsMC0xMjIuNy02NCAwIDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNC02NCAwIDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNC02NCAwIDAgMTIyLjd6Il19LElzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtcXVlc3Rpb24iLGljb246WzUxMiw1MTIsWzYyMTA4LCJxdWVzdGlvbi1jaXJjbGUiXSwiZjA1OSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI1Ni04MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDQ3LjItMzYgNjcuMi01NiA3NC41bDAgMy44YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC4xYzAtMjAuNSAxNC44LTM1LjIgMzAuMS00MC4yIDYuNC0yLjEgMTMuMi01LjUgMTguMi0xMC4zIDQuMy00LjIgNy43LTEwIDcuNy0xOS42IDAtMTcuNy0xNC4zLTMyLTMyLTMyek0yMjQgMzY4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LHZ1dD1Jc2UseHV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUiLGljb246WzM4NCw1MTIsWzEyODE5NiwxMjg0NTksNjE0NjJdLCJmMTViIiwiTTE3NiA0OEw2NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNDAtODggMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC04OHpNMzE2LjEgMTYwTDIyNCA2Ny45IDIyNCAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjguMSAwek0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwxOTcuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDE0MS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6Il19LFBzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXNhZC1jcnkiLGljb246WzUxMiw1MTIsWzEyODU1Nywic2FkLWNyeSJdLCJmNWIzIiwiTTQwMCA0MDYuMUw0MDAgMjg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTUyLjZjLTI4LjcgMTUtNjEuNCAyMy40LTk2IDIzLjRzLTY3LjMtOC41LTk2LTIzLjRMMTYwIDI4OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDExOC4xQzcyLjYgMzY4LjIgNDggMzE1IDQ4IDI1NiA0OCAxNDEuMSAxNDEuMSA0OCAyNTYgNDhzMjA4IDkzLjEgMjA4IDIwOGMwIDU5LTI0LjYgMTEyLjItNjQgMTUwLjF6TTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNTIgMTk2bDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjAgOS0yMCAyMC0yMHptMTcyIDIwYzAtMTEgOS0yMCAyMC0yMGwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwek0yMDggMzM2bDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGwwLTMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4eiJdfSx5dXQ9UHNlLHd1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYWxlbmRhci1taW51cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MiIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI4OGMwLTguOC03LjItMTYtMTYtMTZsLTI2NCAwem0zMiAxMzZsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxOc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS10aXJlZCIsaWNvbjpbNTEyLDUxMixbMTI4NTU1LCJ0aXJlZCJdLCJmNWM4IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc2LjUgNjQuM0MxOTYuMSAzMDIuMSAyMjMuOCAyODggMjU2IDI4OHM1OS45IDE0LjEgNzkuNSAzMi4zYzE5IDE3LjggMzIuNSA0MS43IDMyLjUgNjMuNyAwIDUuNC0yLjcgMTAuNC03LjIgMTMuNHMtMTAuMiAzLjQtMTUuMiAxLjNsLTE3LjItNy41Yy0yMi44LTEwLTQ3LjUtMTUuMS03Mi40LTE1LjFzLTQ5LjYgNS4yLTcyLjQgMTUuMWwtMTcuMiA3LjVjLTQuOSAyLjItMTAuNyAxLjctMTUuMi0xLjNzLTcuMi04LTcuMi0xMy40YzAtMjIgMTMuNS00NS45IDMyLjUtNjMuN3pNMTIyLjYgMTU5LjJjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sTXV0PU5zZSxrdXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wb2ludC1yaWdodCIsaWNvbjpbNTEyLDUxMixbXSwiZjBhNCIsIk00NDggMTI4bC0xNzcuNiAwYzEgNS4yIDEuNiAxMC41IDEuNiAxNmwwIDE2IDE3NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2ek0yMjQgMTQ0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0yNCAwYy02Ni4zIDAtMTIwIDUzLjctMTIwIDEyMGwwIDQ4YzAgNTIuNSAzMy43IDk3LjEgODAuNyAxMTMuNC0uNS0zLjEtLjctNi4yLS43LTkuNCAwLTIwIDkuMi0zNy45IDIzLjYtNDkuNy00LjktOS03LjYtMTkuNC03LjYtMzAuMyAwLTE1LjEgNS4zLTI5IDE0LTQwLTguOC0xMS0xNC0yNC45LTE0LTQwbDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MHpNMTkyIDY0bDAgMGMxOCAwIDM0LjYgNiA0OCAxNmwyMDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtODIgMGMxLjMgNS4xIDIgMTAuNSAyIDE2IDAgMjUuMy0xNC43IDQ3LjItMzYgNTcuNiAyLjYgNyA0IDE0LjUgNCAyMi40IDAgMjAtOS4yIDM3LjktMjMuNiA0OS43IDQuOSA5IDcuNiAxOS40IDcuNiAzMC4zIDAgMzUuMy0yOC43IDY0LTY0IDY0bC04OCAwQzc1LjIgNDQ4IDAgMzcyLjggMCAyODBsMC00OEMwIDEzOS4yIDc1LjIgNjQgMTY4IDY0bDI0IDB6bTY0IDMzNmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw2NCAwem0xNi0xNzZjMCA1LjUtLjcgMTAuOS0yIDE2bDM0IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTMyIDAgMCAxNnptLTI0IDY0bC00MCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDY0IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTI0IDB6Il19LEZzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtdXAiLGljb246WzUxMiw1MTIsWzYxNDY3LCJhcnJvdy1hbHQtY2lyY2xlLXVwIl0sImYzNWIiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0xMS4zLTM4Ny4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMGwtMTA0IDEwNGMtNC42IDQuNi01LjkgMTEuNS0zLjUgMTcuNHM4LjMgOS45IDE0LjggOS45bDcyIDAgMCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTEwNCA3MiAwYzYuNSAwIDEyLjMtMy45IDE0LjgtOS45czEuMS0xMi45LTMuNS0xNy40bC0xMDQtMTA0eiJdfSxTdXQ9RnNlLHp1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXNjaXNzb3JzIixpY29uOls1MTIsNTEyLFtdLCJmMjU3IiwiTS4yIDI3Ni4zYy0xLjItMzUuMyAyNi40LTY1IDYxLjctNjYuMmwzLjMtLjEtOC4yLTEuOEMyMi41IDIwMC41IC43IDE2Ni4zIDguMyAxMzEuOFM1MC4yIDc1LjUgODQuNyA4My4ybDE3MyAzOC4zYzIuMy0yLjkgNC42LTUuNyA3LjEtOC41bDE4LjQtMjAuM0MyOTkuOSA3NC41IDMyMy41IDY0IDM0OC4zIDY0bDEwLjIgMGM1NC4xIDAgMTA0LjEgMjguNyAxMzEuMyA3NS40bDEuNSAyLjZjMTMuNiAyMy4yIDIwLjcgNDkuNyAyMC43IDc2LjZMNTEyIDM0NGMwIDY2LjMtNTMuNyAxMjAtMTIwIDEyMGwtMTA0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMi44IC4yLTUuNiAuNS04LjMtMTkuNC0xMS0zMi41LTMxLjgtMzIuNS01NS43IDAtLjggMC0xLjYgMC0yLjRMNjYuNCAzMzhjLTM1LjMgMS4yLTY1LTI2LjQtNjYuMi02MS43em02My40LTE4LjJjLTguOCAuMy0xNS43IDcuNy0xNS40IDE2LjZzNy43IDE1LjcgMTYuNSAxNS40bDE2MS41LTUuNmM5LjgtLjMgMTguNyA1LjMgMjIuNyAxNC4yczIuMiAxOS4zLTQuNSAyNi40Yy0yLjggMi45LTQuNCA2LjctNC40IDExIDAgOC44IDcuMiAxNiAxNiAxNiA5LjEgMCAxNy40IDUuMSAyMS41IDEzLjNzMy4yIDE3LjktMi4zIDI1LjFjLTIgMi43LTMuMiA2LTMuMiA5LjYgMCA4LjggNy4yIDE2IDE2IDE2bDEwNCAwYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtMTI1LjRjMC0xOC40LTQuOS0zNi41LTE0LjItNTIuNGwtMS41LTIuNmMtMTguNi0zMi01Mi44LTUxLjYtODkuOC01MS42bC0xMC4yIDBjLTExLjMgMC0yMiA0LjgtMjkuNiAxMy4xbDAgMC0xOC40IDIwLjNjLS42IC42LTEuMSAxLjMtMS43IDEuOWw1NyAxMy4yYzguNiAyIDE0IDEwLjYgMTIgMTkuMnMtMTAuNiAxNC0xOS4yIDEyTDI2Mi44IDE3MS44IDc0LjMgMTMwYy04LjYtMS45LTE3LjIgMy41LTE5LjEgMTIuMnMzLjUgMTcuMiAxMi4yIDE5LjFsMTg3LjUgNDEuNmMxMC4yIDIuMyAxNy44IDEwLjkgMTguNyAyMS40bC4xIDFjLjYgNi42LTEuNSAxMy4xLTUuOCAxOC4xcy0xMC42IDcuOS0xNy4yIDguMkw2My42IDI1OC4xeiJdfSxDdXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZ2VtIixpY29uOls1MTIsNTEyLFsxMjgxNDJdLCJmM2E1IiwiTTE2OC41IDcybDg3LjUgOTMgODcuNS05My0xNzUgMHpNMzgzLjkgOTkuMWwtNzIuMyA3Ni45IDEyOSAwLTU2LjYtNzYuOXptNTAgMTI0LjlMNzguMSAyMjQgMjU2IDQyMC4zIDQzMy45IDIyNHpNNzEuNSAxNzZsMTI5IDAtNzIuMy03Ni45LTU2LjYgNzYuOXptNDM0LjMgNDAuMWwtMjMyIDI1NmMtNC41IDUtMTEgNy45LTE3LjggNy45cy0xMy4yLTIuOS0xNy44LTcuOWwtMjMyLTI1NmMtNy43LTguNS04LjMtMjEuMi0xLjUtMzAuNGwxMTItMTUyYzQuNS02LjEgMTEuNy05LjggMTkuMy05LjhsMjQwIDBjNy42IDAgMTQuOCAzLjYgMTkuMyA5LjhsMTEyIDE1MmM2LjggOS4yIDYuMSAyMS45LTEuNSAzMC40eiJdfSxVZz17cHJlZml4OiJmYXIiLGljb25OYW1lOiJyZWN0YW5nbGUteG1hcmsiLGljb246WzUxMiw1MTIsWzYyMTY0LCJyZWN0YW5nbGUtdGltZXMiLCJ0aW1lcy1yZWN0YW5nbGUiLCJ3aW5kb3ctY2xvc2UiXSwiZjQxMCIsIk02NCAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI1NmMwIDguOCA3LjIgMTYgMTYgMTZsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjU2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAxMTJ6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTMzNC4xIDQ5LjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTQ0LjEgNDQuMSA0NC4xIDQ0LjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDQuMS00NC4xLTQ0LjEgNDQuMWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0NC4xLTQ0LjEtNDQuMS00NC4xYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDQuMSA0NC4xIDQ0LjEtNDQuMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHoiXX0sVHV0PVVnLF91dD1VZyxMdXQ9VWcsWmc9e3ByZWZpeDoiZmFyIixpY29uTmFtZToidHJhc2gtY2FuIixpY29uOls0NDgsNTEyLFs2MTQ2MCwidHJhc2gtYWx0Il0sImYyZWQiLCJNMTY2LjItMTZjLTEzLjMgMC0yNS4zIDguMy0zMCAyMC44TDEyMCA0OCAyNCA0OEMxMC43IDQ4IDAgNTguNyAwIDcyUzEwLjcgOTYgMjQgOTZsNDAwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTk2IDAtMTYuMi00My4yQzMwNy4xLTcuNyAyOTUuMi0xNiAyODEuOC0xNkwxNjYuMi0xNnpNMzIgMTQ0bDAgMzA0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzA0LTQ4IDAgMCAzMDRjMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzA0LTQ4IDB6bTE2MCA3MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE3NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTc2em0xMTIgMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE3NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTc2eiJdfSwkdXQ9WmcsRHV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImxpZmUtcmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjFjZCIsIk0zODUuMSA0MTkuMUMzNDkuNyA0NDcuMiAzMDQuOCA0NjQgMjU2IDQ2NHMtOTMuNy0xNi44LTEyOS4xLTQ0LjlsODAuNC04MC40YzE0LjMgOC40IDMxIDEzLjMgNDguOCAxMy4zczM0LjUtNC44IDQ4LjgtMTMuM2w4MC40IDgwLjR6bTY4LjEgLjJDNDg5LjkgMzc0LjkgNTEyIDMxOC4xIDUxMiAyNTZTNDg5LjkgMTM3LjEgNDUzLjIgOTIuN0w0NjUgODFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEw0MTkuMyA1OC44QzM3NC45IDIyLjEgMzE4LjEgMCAyNTYgMFMxMzcuMSAyMi4xIDkyLjcgNTguOEw4MSA0N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTMzcuNyA3MS42IDQ3IDgxTDU4LjggOTIuN0MyMi4xIDEzNy4xIDAgMTkzLjkgMCAyNTZTMjIuMSAzNzQuOSA1OC44IDQxOS4zTDQ3IDQzMWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDExLjgtMTEuOEMxMzcuMSA0ODkuOSAxOTMuOSA1MTIgMjU2IDUxMnMxMTguOS0yMi4xIDE2My4zLTU4LjhMNDMxIDQ2NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTExLjgtMTEuOHptLTM0LjEtMzQuMWwtODAuNC04MC40YzguNC0xNC4zIDEzLjMtMzEgMTMuMy00OC44cy00LjgtMzQuNS0xMy4zLTQ4LjhsODAuNC04MC40QzQ0Ny4yIDE2Mi4zIDQ2NCAyMDcuMiA0NjQgMjU2cy0xNi44IDkzLjctNDQuOSAxMjkuMXpNMzg1LjEgOTIuOWwtODAuNCA4MC40Yy0xNC4zLTguNC0zMS0xMy4zLTQ4LjgtMTMuM3MtMzQuNSA0LjgtNDguOCAxMy4zTDEyNi45IDkyLjlDMTYyLjMgNjQuOCAyMDcuMiA0OCAyNTYgNDhzOTMuNyAxNi44IDEyOS4xIDQ0Ljl6TTE3My4zIDMwNC44TDkyLjkgMzg1LjFDNjQuOCAzNDkuNyA0OCAzMDQuOCA0OCAyNTZzMTYuOC05My43IDQ0LjktMTI5LjFsODAuNCA4MC40Yy04LjQgMTQuMy0xMy4zIDMxLTEzLjMgNDguOHM0LjggMzQuNSAxMy4zIDQ4Ljh6TTIwOCAyNTZhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHoiXX0sQXV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvcHlyaWdodCIsaWNvbjpbNTEyLDUxMixbMTY5XSwiZjFmOSIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwNS4xIDMwNi45Yy0yOC4xLTI4LjEtMjguMS03My43IDAtMTAxLjhzNzMuNy0yOC4xIDEwMS44IDBjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45Yy00Ni45LTQ2LjktMTIyLjgtNDYuOS0xNjkuNyAwcy00Ni45IDEyMi44IDAgMTY5LjcgMTIyLjggNDYuOSAxNjkuNyAwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBjLTI4LjEgMjguMS03My43IDI4LjEtMTAxLjggMHoiXX0sT3NlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1sZWZ0IixpY29uOls1MTIsNTEyLFs2MTg0MCwiYXJyb3ctYWx0LWNpcmNsZS1sZWZ0Il0sImYzNTkiLCJNNDggMjU2YTIwOCAyMDggMCAxIDEgNDE2IDAgMjA4IDIwOCAwIDEgMSAtNDE2IDB6bTQ2NCAwYTI1NiAyNTYgMCAxIDAgLTUxMiAwIDI1NiAyNTYgMCAxIDAgNTEyIDB6TTEyNC43IDI0NC43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmwxMDQgMTA0YzQuNiA0LjYgMTEuNSA1LjkgMTcuNCAzLjVzOS45LTguMyA5LjktMTQuOGwwLTcyIDEwNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTEwNCAwIDAtNzJjMC02LjUtMy45LTEyLjMtOS45LTE0LjhzLTEyLjktMS4xLTE3LjQgMy41bC0xMDQgMTA0eiJdfSxFdXQ9T3NlLEl1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYWxlbmRhciIsaWNvbjpbNDQ4LDUxMixbMTI4MTk3LDEyODE5OF0sImYxMzMiLCJNMTIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MCAxNjAgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0em0wIDExMmwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDggMzUyIDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTI2NCAwek00OCAyMjRsMCAxOTJjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE5Mi0zNTIgMHoiXX0sUnNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZnJvd24tb3BlbiIsaWNvbjpbNTEyLDUxMixbMTI4NTUwLCJmcm93bi1vcGVuIl0sImY1N2EiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xODIuNCAzODIuNWMtMTIuNCA1LjItMjYuNS00LjEtMjEuMS0xNi40IDE2LTM2LjYgNTIuNC02Mi4xIDk0LjgtNjIuMXM3OC44IDI1LjYgOTQuOCA2Mi4xYzUuNCAxMi4zLTguNyAyMS42LTIxLjEgMTYuNC0yMi40LTkuNS00Ny40LTE0LjgtNzMuNy0xNC44cy01MS4zIDUuMy03My43IDE0Ljh6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sUHV0PVJzZSxCc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hhcnQtYmFyIixpY29uOls1MTIsNTEyLFsiYmFyLWNoYXJ0Il0sImYwODAiLCJNNDggNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCA0Mi43IDAgNTZMMCA0MDBjMCA0NC4yIDM1LjggODAgODAgODBsNDA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODAgNDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMkw0OCA1NnptMTA0IDcybDIwOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDE1MiA4MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNHptMCA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6bTAgMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNzIgMHoiXX0sTnV0PUJzZSxXZz17cHJlZml4OiJmYXIiLGljb25OYW1lOiJob3VzZSIsaWNvbjpbNTEyLDUxMixbMTI3OTY4LDYzNDk4LDYzNTAwLCJob21lIiwiaG9tZS1hbHQiLCJob21lLWxnLWFsdCJdLCJmMDE1IiwiTTI0MCA2LjFjOS4xLTguMiAyMi45LTguMiAzMiAwbDIzMiAyMDhjOS45IDguOCAxMC43IDI0IDEuOCAzMy45cy0yNCAxMC43LTMzLjkgMS44bC04LTcuMiAwIDIwNS4zYzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yODggMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yMDUuMy04IDcuMmMtOS45IDguOC0yNSA4LTMzLjktMS44cy04LTI1IDEuOC0zMy45TDI0MCA2LjF6bTE2IDUwLjFMOTYgMTk5LjcgOTYgNDQ4YzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAtMTA0YzAtMzkuOCAzMi4yLTcyIDcyLTcybDQ4IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAxMDQgNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNDguMy0xNjAtMTQzLjR6TTIwOCA0NjRsOTYgMCAwLTEwNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMDR6Il19LEZ1dD1XZyxPdXQ9V2csUnV0PVdnLEhzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWZyb3duIixpY29uOls1MTIsNTEyLFs5Nzg1LCJmcm93biJdLCJmMTE5IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHpNMzM0LjcgMzg0LjZDMzE5LjcgMzY5IDI5My42IDM1MiAyNTYgMzUycy02My43IDE3LTc4LjcgMzIuNmMtOS4yIDkuNi0yNC40IDkuOS0zMy45IC43cy05LjktMjQuNC0uNy0zMy45YzIyLjEtMjMgNjAtNDcuNCAxMTMuMy00Ny40czkxLjIgMjQuNCAxMTMuMyA0Ny40YzkuMiA5LjYgOC45IDI0LjgtLjcgMzMuOXMtMjQuOCA4LjktMzMuOS0uN3pNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxCdXQ9SHNlLFREPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InVzZXIiLGljb246WzQ0OCw1MTIsWzEyODEwMCw2MjE0NCw2MjQ3MCwidXNlci1hbHQiLCJ1c2VyLWxhcmdlIl0sImYwMDciLCJNMTQ0IDEyOGE4MCA4MCAwIDEgMSAxNjAgMCA4MCA4MCAwIDEgMSAtMTYwIDB6bTIwOCAwYTEyOCAxMjggMCAxIDAgLTI1NiAwIDEyOCAxMjggMCAxIDAgMjU2IDB6TTQ4IDQ4MGMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOGw5NiAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOGMwLTk3LjItNzguOC0xNzYtMTc2LTE3NmwtOTYgMEM3OC44IDMwNCAwIDM4Mi44IDAgNDgwbDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOHoiXX0sSHV0PVRELHF1dD1URCxqdXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic25vd2ZsYWtlIixpY29uOls1MTIsNTEyLFsxMDA1MiwxMDA1NF0sImYyZGMiLCJNMjgwLjEtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDc4LjEtMjMtMjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTcgNTcgMCA3Ni41LTY2LjItMzguMi0yMC45LTc3LjhjLTMuNC0xMi44LTE2LjYtMjAuNC0yOS40LTE3Uzk1LjIgOTggOTguNyAxMTAuOGw4LjQgMzEuNS02Ny42LTM5QzI4IDk2LjYgMTMuMyAxMDAuNSA2LjcgMTEyUzQgMTM4LjIgMTUuNSAxNDQuOGw2Ny42IDM5LTMxLjUgOC40Yy0xMi44IDMuNC0yMC40IDE2LjYtMTcgMjkuNHMxNi42IDIwLjQgMjkuNCAxN2w3Ny44LTIwLjkgNjYuMiAzOC4yLTY2LjIgMzguMi03Ny44LTIwLjljLTEyLjgtMy40LTI2IDQuMi0yOS40IDE3czQuMiAyNiAxNyAyOS40bDMxLjUgOC40LTY3LjYgMzlDNCAzNzMuOCAuMSAzODguNSA2LjcgNDAwczIxLjMgMTUuNCAzMi44IDguOGw2Ny42LTM5LTguNCAzMS41Yy0zLjQgMTIuOCA0LjIgMjYgMTcgMjkuNHMyNi00LjIgMjkuNC0xN2wyMC45LTc3LjggNjYuMi0zOC4yIDAgNzYuNS01NyA1N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDIzLTIzIDAgNzguMWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzguMSAyMyAyM2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU3LTU3IDAtNzYuNSA2Ni4yIDM4LjIgMjAuOSA3Ny44YzMuNCAxMi44IDE2LjYgMjAuNCAyOS40IDE3czIwLjQtMTYuNiAxNy0yOS40bC04LjQtMzEuNSA2Ny42IDM5YzExLjUgNi42IDI2LjIgMi43IDMyLjgtOC44czIuNy0yNi4yLTguOC0zMi44bC02Ny42LTM5IDMxLjUtOC40YzEyLjgtMy40IDIwLjQtMTYuNiAxNy0yOS40cy0xNi42LTIwLjQtMjkuNC0xN2wtNzcuOCAyMC45LTY2LjItMzguMiA2Ni4yLTM4LjIgNzcuOCAyMC45YzEyLjggMy40IDI2LTQuMiAyOS40LTE3cy00LjItMjYtMTctMjkuNGwtMzEuNS04LjQgNjcuNi0zOWMxMS41LTYuNiAxNS40LTIxLjMgOC44LTMyLjhzLTIxLjMtMTUuNC0zMi44LTguOGwtNjcuNiAzOSA4LjQtMzEuNWMzLjQtMTIuOC00LjItMjYtMTctMjkuNHMtMjYgNC4yLTI5LjQgMTdsLTIwLjkgNzcuOC02Ni4yIDM4LjIgMC03Ni41IDU3LTU3YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTIzIDIzIDAtNzguMXoiXX0sVnV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImJvb2ttYXJrIixpY29uOlszODQsNTEyLFsxMjgyNzgsNjE1OTFdLCJmMDJlIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNDE3LjFjMCAyNS42LTI4LjUgNDAuOC00OS44IDI2LjZMMTkyIDQxMi44IDQ5LjggNTA3LjdDMjguNSA1MjEuOSAwIDUwNi42IDAgNDgxLjFMMCA2NHpNNjQgNDhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4Ny4yIDExNy40LTc4LjJjMTYuMS0xMC43IDM3LjEtMTAuNyA1My4yIDBMMzM2IDQ1MS4yIDMzNiA2NGMwLTguOC03LjItMTYtMTYtMTZMNjQgNDh6Il19LHFzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtbGVmdCIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS1sZWZ0Il0sImYxOTEiLCJNNDggNDE2YzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjB6bTE2IDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MHptNjQtMjI0YzAtNi43IDIuOC0xMyA3LjctMTcuNmwxMTItMTA0YzctNi41IDE3LjItOC4yIDI1LjktNC40UzI4OCAxNDIuNSAyODggMTUybDAgMjA4YzAgOS41LTUuNyAxOC4yLTE0LjQgMjJzLTE4LjkgMi4xLTI1LjktNC40bC0xMTItMTA0Yy00LjktNC41LTcuNy0xMC45LTcuNy0xNy42eiJdfSxVdXQ9cXNlLF9EPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmRzaGFrZSIsaWNvbjpbNjQwLDUxMixbMTI5MzA5LDYyNjYyLCJoYW5kc2hha2UtYWx0IiwiaGFuZHNoYWtlLXNpbXBsZSJdLCJmMmI1IiwiTTU5OC4xIDc1LjRjMTAuNy03LjggMTMuMS0yMi44IDUuMy0zMy41cy0yMi44LTEzLjEtMzMuNS01LjNsLTc0LjUgNTQuMi05LjktNi42QzQ2NS44IDcxIDQ0Mi42IDY0IDQxOC45IDY0bC01OS4yIDAtLjQgMC0xNDMuNiAwYy0yNi43IDAtNTIuNSA4LjktNzMuNCAyNS4xTDcwLjEgMzYuNmMtMTAuNy03LjgtMjUuNy01LjQtMzMuNSA1LjNzLTUuNCAyNS43IDUuMyAzMy41bDg4IDY0YzkuNiA2LjkgMjIuNyA1LjkgMzEuMS0yLjRsMy45LTMuOWMxMy41LTEzLjUgMzEuOC0yMS4xIDUwLjktMjEuMWw0Ni4zIDAtOTEuNyA5MS43Yy0xNS42IDE1LjYtMTUuNiA0MC45IDAgNTYuNmwuOCAuOEMyMTggMzA4IDI5NCAzMDggMzQwLjkgMjYxLjFsMjcuMS0yNy4xIDk3LjggOTcuOGMxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNmwtOS44IDkuOC0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwyOCAyOGMtMTcuNSAxMC40LTM3LjIgMTYuNy01Ny42IDE4LjVMMzEzIDM5OWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNSAxNS0zLjggMGMtMzYuMSAwLTcwLjctMTQuMy05Ni4yLTM5LjhMNjUgMjc5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45TDE2MC4yIDQ0Mi4xYzM0LjUgMzQuNSA4MS4zIDUzLjkgMTMwLjEgNTMuOWw1MS44IDAgMSAxIDEtMSA1LjcgMGM0OC44IDAgOTUuNi0xOS40IDEzMC4xLTUzLjlsMTkuOS0xOS45YzEuMi0xLjIgMi4zLTIuMyAzLjQtMy41IC43LS41IDEuMy0xLjEgMS45LTEuN0w2MDkgMzEzYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTUzLjggNTMuOGMtNC4yLTEyLjgtMTEuMy0yNC45LTIxLjUtMzUuMUwzODUgMTgzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNDQuMSA0NC4xYy0yNi41IDI2LjUtNjguNSAyOC05Ni43IDQuNmw5OC43LTk4LjdjMTMuNC0xMy40IDMxLjYtMjEgNTAuNi0yMS4xbDguNSAwIC4yIDAgNTAuOCAwYzE0LjIgMCAyOC4xIDQuMiAzOS45IDEyLjFMNDgyLjcgMTQwYzguNCA1LjYgMTkuMyA1LjMgMjcuNC0uNmw4OC02NHoiXX0sV3V0PV9ELEd1dD1fRCxqc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zbWlsZS13aW5rIixpY29uOls1MTIsNTEyLFsxMjg1MjEsInNtaWxlLXdpbmsiXSwiZjRkYSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE3Ny4zIDYzLjRDMTkyLjMgMzM1IDIxOC40IDM1MiAyNTYgMzUyczYzLjctMTcgNzguNy0zMi42YzkuMi05LjYgMjQuNC05LjkgMzMuOS0uN3M5LjkgMjQuNCAuNyAzMy45Yy0yMi4xIDIzLTYwIDQ3LjQtMTEzLjMgNDcuNHMtOTEuMi0yNC40LTExMy4zLTQ3LjRjLTkuMi05LjYtOC45LTI0LjggLjctMzMuOXMyNC44LTguOSAzMy45IC43ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2NCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwYy0xMSAwLTIwIDktMjAgMjB6Il19LFl1dD1qc2UsVnNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnMiLGljb246WzUxMiw1MTIsWzEyOTMxNSwiZ3Jpbi1zcXVpbnQtdGVhcnMiXSwiZjU4NiIsIk00MDMuMSA0MDMuMWM2Ny4yLTY3LjIgNzguOC0xNjguOSAzNC45LTI0OGwzNi43LTUuMmM0LjUtLjYgOC44LTEuNiAxMy4xLTIuOCA0NC42IDk0LjkgMjcuNyAyMTEuNS01MC43IDI5MHMtMTk1LjEgOTUuMy0yOTAgNTAuN2MxLjItNC4yIDIuMS04LjYgMi44LTEzLjFsNS4yLTM2LjdjNzkuMSA0My45IDE4MC44IDMyLjMgMjQ4LTM0Ljl6TTc1IDc1Yzc4LjQtNzguNCAxOTUuMS05NS4zIDI5MC01MC43LTEuMiA0LjItMi4xIDguNi0yLjggMTMuMWwtNS4yIDM2LjdjLTc5LjEtNDMuOS0xODAuOC0zMi4zLTI0OCAzNC45cy03OC44IDE2OC45LTM0LjkgMjQ4bC0zNi43IDUuMmMtNC41IC42LTguOCAxLjYtMTMuMSAyLjgtNDQuNi05NC45LTI3LjctMjExLjUgNTAuNy0yOTB6TTM3MC45IDIwNi41YzUuOC0xMC45IDIxLjEtMTIuNCAyNi40LTEuMyAyNS42IDUzLjUgMTYuMiAxMTkuNi0yOC4yIDE2My45LTQ0LjMgNDQuMy0xMTAuMyA1My43LTE2My44IDI4LjItMTEuMS01LjMtOS42LTIwLjYgMS4zLTI2LjQgMzItMTcuMSA2NC4yLTQwLjggOTMuOC03MC40IDI5LjctMjkuNyA1My40LTYxLjkgNzAuNS05NHpNOTMuMyAyODEuOWMtMS43LTggMi45LTE1LjkgMTAuNi0xOC40bDg0LjYtMjhjNS43LTEuOSAxMi4xLS40IDE2LjMgMy45czUuOCAxMC42IDMuOSAxNi4zbC0yOCA4NC42Yy0yLjYgNy43LTEwLjUgMTIuMy0xOC40IDEwLjZzLTEzLjQtOS0xMi43LTE3LjFsMy45LTQzLjEtNDMuMSAzLjljLTguMSAuNy0xNS41LTQuNy0xNy4xLTEyLjd6TTI5NC42IDExMC40bC0zLjkgNDMuMSA0My4xLTMuOWM4LjEtLjcgMTUuNSA0LjcgMTcuMSAxMi43cy0yLjkgMTUuOS0xMC42IDE4LjRsLTg0LjYgMjhjLTUuNyAxLjktMTIuMSAuNC0xNi4zLTMuOXMtNS44LTEwLjYtMy45LTE2LjNsMjgtODQuNmMyLjYtNy43IDEwLjUtMTIuMyAxOC40LTEwLjZzMTMuNCA5IDEyLjcgMTcuMXpNNTEyIDUxLjRjMCAyNS42LTE4LjggNDcuMy00NC4xIDUwLjlMNDIxLjEgMTA5Yy0xMC42IDEuNS0xOS42LTcuNS0xOC4xLTE4LjFsNi43LTQ2LjdDNDEzLjMgMTguOCA0MzUgMCA0NjAuNiAwIDQ4OSAwIDUxMiAyMyA1MTIgNTEuNHpNNDQuMSA0MDkuN0w5MC45IDQwM2MxMC42LTEuNSAxOS42IDcuNSAxOC4xIDE4LjFsLTYuNyA0Ni43Qzk4LjcgNDkzLjIgNzcgNTEyIDUxLjQgNTEyIDIzIDUxMiAwIDQ4OSAwIDQ2MC42IDAgNDM1IDE4LjggNDEzLjMgNDQuMSA0MDkuN3oiXX0sWnV0PVZzZSxYdXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS1hdWRpbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjNyIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwek0yMjEuOSAyNjcuNmMtNC43IDEwLS4zIDIxLjkgOS43IDI2LjYgMTkuMiA4LjkgMzIuNCAyOC4zIDMyLjQgNTAuOHMtMTMuMiA0MS45LTMyLjQgNTAuOGMtMTAgNC43LTE0LjQgMTYuNi05LjcgMjYuNnMxNi42IDE0LjQgMjYuNiA5LjdDMjgxLjIgNDE2LjggMzA0IDM4My42IDMwNCAzNDVzLTIyLjgtNzEuOS01NS42LTg3LjFjLTEwLTQuNy0yMS45LS4zLTI2LjYgOS43ek0xMDQgMzA1Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDE2IDAgMjcuMiAzNGMzIDMuOCA3LjYgNiAxMi41IDZsLjMgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2bC0uMyAwYy00LjkgMC05LjUgMi4yLTEyLjUgNmwtMjcuMiAzNC0xNiAwek0yMjMuMyAzNzNjOS45LTUuNCAxNi43LTE2IDE2LjctMjguMXMtNi43LTIyLjctMTYuNy0yOC4xYy03LjgtNC4yLTE1LjMgMy4zLTE1LjMgMTIuMWwwIDMyYzAgOC44IDcuNiAxNi4zIDE1LjMgMTIuMXoiXX0sVXNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLXhtYXJrIixpY29uOls0NDgsNTEyLFsiY2FsZW5kYXItdGltZXMiXSwiZjI3MyIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI4OGMwLTguOC03LjItMTYtMTYtMTZsLTI2NCAwem0xNzEuOSA5Mi4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0zMy45IDMzLjkgMzMuOSAzMy45YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTMzLjktMzMuOS0zMy45IDMzLjljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45LTMzLjktMzMuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDMzLjkgMzMuOSAzMy45LTMzLjljOS40LTkuNCAyNC42LTkuNCAzMy45IDB6Il19LFF1dD1Vc2UsV3NlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1kb3duIixpY29uOls1MTIsNTEyLFs2MTQ2NiwiYXJyb3ctYWx0LWNpcmNsZS1kb3duIl0sImYzNTgiLCJNMjU2IDQ2NGEyMDggMjA4IDAgMSAxIDAtNDE2IDIwOCAyMDggMCAxIDEgMCA0MTZ6TTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMjQ0LjcgMzg3LjNjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsMTA0LTEwNGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzM2Ni41IDI1NiAzNjAgMjU2bC03MiAwIDAtMTA0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEwNC03MiAwYy02LjUgMC0xMi4zIDMuOS0xNC44IDkuOXMtMS4xIDEyLjkgMy41IDE3LjRsMTA0IDEwNHoiXX0sSnV0PVdzZSxMRD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWxpbmVzIixpY29uOlszODQsNTEyLFsxMjg0NDEsMTI4NDYyLDYxNjg2LCJmaWxlLWFsdCIsImZpbGUtdGV4dCJdLCJmMTVjIiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6bTU2IDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxLdXQ9TEQsZTV0PUxELHQ1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjb21tZW50cyIsaWNvbjpbNTc2LDUxMixbMTI4NDkwLDYxNjcwXSwiZjA4NiIsIk03Ni4yIDI1OC43YzYuMS0xNS4yIDQtMzIuNi01LjYtNDUuOS0xNC41LTIwLjEtMjIuNi00My43LTIyLjYtNjguOCAwLTY2LjggNjAuNS0xMjggMTQ0LTEyOHMxNDQgNjEuMiAxNDQgMTI4LTYwLjUgMTI4LTE0NCAxMjhjLTE1LjkgMC0zMS4xLTIuMy00NS4zLTYuNS0xMC4zLTMuMS0yMS40LTIuNS0zMS40IDEuNWwtNTAuNCAyMC4yIDExLjQtMjguNXpNMCAxNDRjMCAzNS44IDExLjYgNjkuMSAzMS43IDk2LjhMMS45IDMxNS4yYy0xLjMgMy4yLTEuOSA2LjYtMS45IDEwIDAgMTQuOCAxMiAyNi44IDI2LjggMjYuOCAzLjQgMCA2LjgtLjcgMTAtMS45bDk2LjMtMzguNWMxOC42IDUuNSAzOC40IDguNCA1OC45IDguNCAxMDYgMCAxOTItNzguOCAxOTItMTc2UzI5OC0zMiAxOTItMzIgMCA0Ni44IDAgMTQ0ek0zODQgNTEyYzIwLjYgMCA0MC4zLTMgNTguOS04LjRsOTYuMyAzOC41YzMuMiAxLjMgNi42IDEuOSAxMCAxLjkgMTQuOCAwIDI2LjgtMTIgMjYuOC0yNi44IDAtMy40LS43LTYuOC0xLjktMTBsLTI5LjctNzQuNGMyMC0yNy44IDMxLjctNjEuMSAzMS43LTk2LjggMC04Mi40LTYxLjctMTUxLjUtMTQ1LTE3MC43LTEuNiAxNi4zLTUuMSAzMS45LTEwLjEgNDYuOSA2My45IDE0LjggMTA3LjIgNjcuMyAxMDcuMiAxMjMuOSAwIDI1LjEtOC4xIDQ4LjctMjIuNiA2OC44LTkuNiAxMy4zLTExLjcgMzAuNi01LjYgNDUuOWwxMS40IDI4LjUtNTAuNC0yMC4yYy0xMC00LTIxLjEtNC41LTMxLjQtMS41LTE0LjIgNC4yLTI5LjQgNi41LTQ1LjMgNi41LTcyLjIgMC0xMjcuMS00NS43LTE0MC43LTEwMS4yLTE1LjYgMy4yLTMxLjcgNS00OC4xIDUuMiAxNi40IDgxLjkgOTQuNyAxNDQgMTg4LjggMTQ0eiJdfSxYZz17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtY2hlY2siLGljb246WzUxMiw1MTIsWzYxNTMzLCJjaGVjay1jaXJjbGUiXSwiZjA1OCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnptMC00NjRhMjA4IDIwOCAwIDEgMCAwIDQxNiAyMDggMjA4IDAgMSAwIDAtNDE2em03MC43IDEyMS45YzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuMyAxMC43IDcuOCAxMy4xIDIyLjggNS4zIDMzLjVMMjQzLjQgMzY2LjFjLTQuMSA1LjctMTAuNSA5LjMtMTcuNSA5LjgtNyAuNS0xMy45LTItMTguOC02LjlsLTU1LjktNTUuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDM2IDM2IDEwNS42LTE0NS4yeiJdfSxyNXQ9WGcsYTV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im1vb24iLGljb246WzUxMiw1MTIsWzEyNzc2OSw5MjE0XSwiZjE4NiIsIk0yMzkuMyA0OC43Yy0xMDcuMSA4LjUtMTkxLjMgOTguMS0xOTEuMyAyMDcuMyAwIDExNC45IDkzLjEgMjA4IDIwOCAyMDggMzMuMyAwIDY0LjctNy44IDkyLjYtMjEuNy0xMDMuNC0yMy40LTE4MC42LTExNS44LTE4MC42LTIyNi4zIDAtNjUuOCAyNy40LTEyNS4xIDcxLjMtMTY3LjN6TTAgMjU2YzAtMTQxLjQgMTE0LjYtMjU2IDI1Ni0yNTYgMTkuNCAwIDM4LjQgMi4yIDU2LjcgNi4zIDkuOSAyLjIgMTcuMyAxMC41IDE4LjUgMjAuNXMtNCAxOS44LTEzLjEgMjQuNGMtNjAuNiAzMC4yLTEwMi4xIDkyLjctMTAyLjEgMTY0LjggMCAxMDEuNiA4Mi40IDE4NCAxODQgMTg0IDUgMCA5LjktLjIgMTQuOC0uNiAxMC4xLS44IDE5LjYgNC44IDIzLjggMTQuMXMyIDIwLjEtNS4zIDI3LjFDMzg3LjMgNDg0LjggMzI0LjggNTEyIDI1NiA1MTIgMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZ6Il19LGk1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjbG9zZWQtY2FwdGlvbmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjIwYSIsIk00NDggMTEyYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI1NmMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptODggMTQ0bDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgwYzAtNC40IDMuNi04IDgtOHptMTY4IDhjMC00LjQgMy42LTggOC04bDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgweiJdfSxuNXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaW1hZ2VzIixpY29uOls1NzYsNTEyLFtdLCJmMzAyIiwiTTQ4MCA4MGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyNTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmwzMjAgMHpNMTYwIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEwxNjAgMzJ6bTgwIDExMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xNDAuNyAzLjhjLTQuMy03LjMtMTIuMi0xMS44LTIwLjctMTEuOHMtMTYuNCA0LjUtMjAuNyAxMS44bC00Ni41IDc5LTE3LjItMjQuNmMtNC41LTYuNC0xMS44LTEwLjItMTkuNy0xMC4ycy0xNS4yIDMuOC0xOS43IDEwLjJsLTU2IDgwYy01LjEgNy4zLTUuOCAxNi45LTEuNiAyNC44UzE5MS4xIDMyMCAyMDAgMzIwbDI0MCAwYzguNiAwIDE2LjYtNC42IDIwLjgtMTIuMXM0LjItMTYuNy0uMS0yNC4xbC04MC0xMzZ6TTQ4IDE1MmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDEzOC43IDAgMTUyTDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM2MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjk2eiJdfSxHc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXJpZ2h0IixpY29uOls1MTIsNTEyLFs2MTgzOCwiYXJyb3ctYWx0LWNpcmNsZS1yaWdodCJdLCJmMzVhIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMSAtNDE2IDAgMjA4IDIwOCAwIDEgMSA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHptMzg3LjMgMTEuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtMTA0LTEwNGMtNC42LTQuNi0xMS41LTUuOS0xNy40LTMuNVMyNTYgMTQ1LjUgMjU2IDE1MmwwIDcyLTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDEwNCAwIDAgNzJjMCA2LjUgMy45IDEyLjMgOS45IDE0LjhzMTIuOSAxLjEgMTcuNC0zLjVsMTA0LTEwNHoiXX0sczV0PUdzZSxZc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaWQtY2FyZCIsaWNvbjpbNTc2LDUxMixbNjIxNDcsImRyaXZlcnMtbGljZW5zZSJdLCJmMmMyIiwiTTQ4IDQxNmwwLTI1NiA0ODAgMCAwIDI1NmMwIDguOC03LjIgMTYtMTYgMTZsLTE5MiAwYzAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwYy00NC4yIDAtODAgMzUuOC04MCA4MGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDggMzEyYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek0zNzYgMjA4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHoiXX0sbzV0PVlzZSxac2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXBsYXkiLGljb246WzUxMiw1MTIsWzYxNDY5LCJwbGF5LWNpcmNsZSJdLCJmMTQ0IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjEyLjUgMTQ3LjVjLTcuNC00LjUtMTYuNy00LjctMjQuMy0uNVMxNzYgMTU5LjMgMTc2IDE2OGwwIDE3NmMwIDguNyA0LjcgMTYuNyAxMi4zIDIwLjlzMTYuOCA0LjEgMjQuMy0uNWwxNDQtODhjNy4xLTQuNCAxMS41LTEyLjEgMTEuNS0yMC41cy00LjQtMTYuMS0xMS41LTIwLjVsLTE0NC04OHpNMjk4IDI1NmwtNzQgNDUuMiAwLTkwLjQgNzQgNDUuMnoiXX0sbDV0PVpzZSxYc2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1sYXVnaC1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MTMsImxhdWdoLWJlYW0iXSwiZjU5YSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTExOC4zIDU4LjJjLTQuMi0xMy43IDcuMS0yNi4yIDIxLjQtMjYuMmwyMzIuNiAwYzE0LjMgMCAyNS42IDEyLjUgMjEuNCAyNi4yLTE4IDU4LjktNzIuOSAxMDEuOC0xMzcuNyAxMDEuOFMxMzYuMyAzNzMuMSAxMTguMyAzMTQuMnpNMTc2IDE4MGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LGM1dD1Yc2UsUXNlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImFkZHJlc3MtYm9vayIsaWNvbjpbNTEyLDUxMixbNjIxMzgsImNvbnRhY3QtYm9vayJdLCJmMmI5IiwiTTM4NCA0OGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzODRjMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDgwIDY0YzAtOC44IDcuMi0xNiAxNi0xNmwyODggMHpNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyODggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwek0yNDAgMjQ4YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyem0tMzIgNDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgOC44IDcuMiAxNiAxNiAxNmwxOTIgMGM4LjggMCAxNi03LjIgMTYtMTYgMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDB6TTUxMiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NHpNNDk2IDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNnptMTYgMTQ0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0eiJdfSxkNXQ9UXNlLEpzZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJob3VyZ2xhc3MiLGljb246WzM4NCw1MTIsWzkyMDMsNjIwMzIsImhvdXJnbGFzcy1lbXB0eSJdLCJmMjU0IiwiTTI0IDBDMTAuNyAwIDAgMTAuNyAwIDI0UzEwLjcgNDggMjQgNDhsOCAwIDAgMTljMCA0MC4zIDE2IDc5IDQ0LjUgMTA3LjVsODEuNSA4MS41LTgxLjUgODEuNUM0OCAzNjYgMzIgNDA0LjcgMzIgNDQ1bDAgMTktOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04IDAgMC0xOWMwLTQwLjMtMTYtNzktNDQuNS0xMDcuNWwtODEuNS04MS41IDgxLjUtODEuNUMzMzYgMTQ2IDM1MiAxMDcuMyAzNTIgNjdsMC0xOSA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzczLjMgMCAzNjAgMEwyNCAwek0xOTIgMjg5LjlsODEuNSA4MS41QzI5MyAzOTEgMzA0IDQxNy40IDMwNCA0NDVsMCAxOS0yMjQgMCAwLTE5YzAtMjcuNiAxMS01NCAzMC41LTczLjVMMTkyIDI4OS45em0wLTY3LjlsLTgxLjUtODEuNUM5MSAxMjEgODAgOTQuNiA4MCA2N2wwLTE5IDIyNCAwIDAgMTljMCAyNy42LTExIDU0LTMwLjUgNzMuNUwxOTIgMjIyLjF6Il19LHU1dD1Kc2UsJEQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGVhZHBob25lcyIsaWNvbjpbNDQ4LDUxMixbMTI3OTExLDYyODYzLCJoZWFkcGhvbmVzLWFsdCIsImhlYWRwaG9uZXMtc2ltcGxlIl0sImYwMjUiLCJNNDggMjI0YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2czE3NiA3OC44IDE3NiAxNzZsMCA0NC44Yy0xNC4xLTguMi0zMC41LTEyLjgtNDgtMTIuOGwtMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDhsMTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMTYwQzQ0OCAxMDAuMyAzNDcuNyAwIDIyNCAwUzAgMTAwLjMgMCAyMjRMMCAzODRjMCA1MyA0MyA5NiA5NiA5NmwxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNiAwYy0xNy41IDAtMzMuOSA0LjctNDggMTIuOEw0OCAyMjR6bTAgMTI4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2IDAgMCAxMjgtMTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zMnptMzUyIDBsMCAzMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYgMCAwLTEyOCAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4eiJdfSxwNXQ9JEQsZjV0PSRELGg1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLXBvd2VycG9pbnQiLGljb246WzM4NCw1MTIsW10sImYxYzQiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHptODggMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEyOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMjggMGMzNy42IDAgNjgtMzAuNCA2OC02OHMtMzAuNC02OC02OC02OGwtNTIgMHptNTIgODhsLTI4IDAgMC00MCAyOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMHoiXX0sbTV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6IndpbmRvdy1tYXhpbWl6ZSIsaWNvbjpbNTEyLDUxMixbMTI4NDcwXSwiZjJkMCIsIk00OCAyMjRsMCAxNjBjMCA4LjggNy4yIDE2IDE2IDE2bDM4NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2MC00MTYgMHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHoiXX0sS3NlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvbW1lbnQtZG90cyIsaWNvbjpbNTEyLDUxMixbMTI4MTcyLDYyMDc1LCJjb21tZW50aW5nIl0sImY0YWQiLCJNMCAyNDBjMCA1NC40IDE5LjMgMTA0LjYgNTEuOSAxNDQuOUwzLjEgNDc0LjNjLTIgMy43LTMuMSA3LjktMy4xIDEyLjIgMCAxNC4xIDExLjQgMjUuNSAyNS41IDI1LjUgNCAwIDcuOC0uNiAxMS41LTIuMUwxNTMuNCA0NjBjMzEuNCAxMi45IDY2LjEgMjAgMTAyLjYgMjAgMTQxLjQgMCAyNTYtMTA3LjUgMjU2LTI0MFMzOTcuNCAwIDI1NiAwIDAgMTA3LjUgMCAyNDB6TTk0IDQwNy45YzkuMy0xNy4xIDcuNC0zOC4xLTQuOC01My4yLTI2LjEtMzIuMy00MS4yLTcxLjktNDEuMi0xMTQuNyAwLTEwMy4yIDkwLjItMTkyIDIwOC0xOTJzMjA4IDg4LjggMjA4IDE5Mi05MC4yIDE5Mi0yMDggMTkyYy0zMC4yIDAtNTguNy01LjktODQuMy0xNi40LTExLjktNC45LTI1LjMtNC44LTM3LjEgLjNMNzYgNDQwLjkgOTQgNDA3Ljl6TTE0NCAyNzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xNDQtMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptODAgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxnNXQ9S3NlLGVvZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXdpbmsiLGljb246WzUxMiw1MTIsWzEyODU0MCwiZ3Jpbi10b25ndWUtd2luayJdLCJmNThiIiwiTTM2Ni45IDQzMmMuOC01LjIgMS4xLTEwLjYgMS4xLTE2bDAtNTMuNWMxMC4yLTEyLjYgMTguMy0yNi45IDIzLjgtNDIuNSA0LjEtMTEuNi03LjgtMjEuNC0xOS42LTE3LjgtMzQuOCAxMC42LTc0LjMgMTYuNi0xMTYuMyAxNi42LTQxLjkgMC04MS40LTYtMTE2LjEtMTYuNS0xMS44LTMuNi0yMy43IDYuMS0xOS42IDE3LjggNS41IDE1LjUgMTMuNiAyOS45IDIzLjggNDIuNGwwIDUzLjVjMCA1LjQgLjQgMTAuOCAxLjEgMTYtNTguNC0zNi44LTk3LjEtMTAxLjktOTcuMS0xNzYgMC0xMTQuOSA5My4xLTIwOCAyMDgtMjA4czIwOCA5My4xIDIwOCAyMDhjMCA3NC4xLTM4LjggMTM5LjItOTcuMSAxNzZ6bS0zOC44IDY5LjdDNDM0LjQgNDcwLjYgNTEyIDM3Mi4zIDUxMiAyNTYgNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NkMwIDM3Mi4zIDc3LjYgNDcwLjYgMTgzLjkgNTAxLjcgMjAzLjQgNTE4LjEgMjI4LjUgNTI4IDI1NiA1MjhzNTIuNi05LjkgNzIuMS0yNi4zek0zMjAgMzc4LjZsMCAzNy40YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0bDAtMzcuNGMwLTE0LjcgMTEuOS0yNi42IDI2LjYtMjYuNmwyIDBjMTEuMyAwIDIxLjEgNy45IDIzLjYgMTguOSAyLjggMTIuNiAyMC44IDEyLjYgMjMuNiAwIDIuNS0xMS4xIDEyLjMtMTguOSAyMy42LTE4LjlsMiAwYzE0LjcgMCAyNi42IDExLjkgMjYuNiAyNi42ek0xMzIgMjMyYzAtMTEgOS0yMCAyMC0yMGwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwem0yMjguNC0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0yODggMjA4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTEyOCAwYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHoiXX0sYjV0PWVvZSx0b2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaG91cmdsYXNzLWhhbGYiLGljb246WzM4NCw1MTIsWyJob3VyZ2xhc3MtMiJdLCJmMjUyIiwiTTAgMjRDMCAxMC43IDEwLjcgMCAyNCAwTDM2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCAxOWMwIDQwLjMtMTYgNzktNDQuNSAxMDcuNWwtODEuNSA4MS41IDgxLjUgODEuNUMzMzYgMzY2IDM1MiA0MDQuNyAzNTIgNDQ1bDAgMTkgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC0xOWMwLTQwLjMgMTYtNzkgNDQuNS0xMDcuNWw4MS41LTgxLjUtODEuNS04MS41QzQ4IDE0NiAzMiAxMDcuMyAzMiA2N2wwLTE5LTggMEMxMC43IDQ4IDAgMzcuMyAwIDI0ek0xMTAuNSAzNzEuNWMtMy45IDMuOS03LjUgOC4xLTEwLjcgMTIuNWwxODQuNCAwYy0zLjItNC40LTYuOC04LjYtMTAuNy0xMi41bC04MS41LTgxLjUtODEuNSA4MS41ek04MC44IDQzMmMtLjUgNC4zLS44IDguNi0uOCAxM2wwIDE5IDIyNCAwIDAtMTljMC00LjQtLjMtOC43LS44LTEzTDgwLjggNDMyek0yNTQuMSAxNjBsLTEyNC4xIDAgNjIuMSA2Mi4xIDYyLjEtNjIuMXptMzkuNy00OEMzMDAuNCA5OC4xIDMwNCA4Mi43IDMwNCA2N2wwLTE5LTIyNCAwIDAgMTljMCAxNS43IDMuNiAzMS4xIDEwLjIgNDVsMjAzLjUgMHoiXX0sdjV0PXRvZSxyb2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY3JlZGl0LWNhcmQiLGljb246WzUxMiw1MTIsWzEyODE3OSw2MjA4MywiY3JlZGl0LWNhcmQtYWx0Il0sImYwOWQiLCJNNDQ4IDExMmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMi00MTYgMCAwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzODQgMHptMTYgMTEybDAgMTYwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2MCA0MTYgMHpNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTgwIDM0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMTQ0IDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LHg1dD1yb2UseTV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtc3BvY2siLGljb246WzUxMiw1MTIsWzEyODQwNl0sImYyNTkiLCJNMTM4LjMgODAuOGMtOS4yLTMzLjggMTAuNS02OC44IDQ0LjMtNzguNCAzNC05LjYgNjkuNCAxMC4yIDc5IDQ0LjJMMjkxLjkgMTUzLjcgMzA1LjEgODRjNi42LTM0LjcgNDAuMS01Ny41IDc0LjgtNTAuOSAzMS40IDYgNTMgMzMuOSA1MiA2NC45IDEwLTIuNiAyMC44LTIuOCAzMS41LS4xIDM0LjMgOC42IDU1LjEgNDMuMyA0Ni42IDc3LjZMNDU0LjcgMzk3LjJDNDM3LjggNDY0LjcgMzc3LjIgNTEyIDMwNy42IDUxMmwtMzMuNyAwYy01Ni45IDAtMTEyLjItMTktMTU3LjItNTMuOWwtOTItNzEuNmMtMjcuOS0yMS43LTMyLjktNjEuOS0xMS4yLTg5LjhzNjEuOS0zMi45IDg5LjgtMTEuMmwxNyAxMy4yLTUxLjgtMTMxLjJjLTEzLTMyLjkgMy4yLTcwLjEgMzYtODMgMTEuMS00LjQgMjIuNy01LjQgMzMuNy0zLjd6bTc3LjEtMjEuMmMtMi40LTguNS0xMS4yLTEzLjQtMTkuNy0xMXMtMTMuNCAxMS4yLTExIDE5LjdsNTQuOCAxODIuNGMzLjUgMTIuMy0zLjMgMjUuMi0xNS40IDI5LjNzLTI1LjMtMi0zMC0xMy45TDE0Mi45IDEzOC4xYy0zLjItOC4yLTEyLjUtMTIuMy0yMC44LTlzLTEyLjMgMTIuNS05IDIwLjhsNzMuMyAxODUuNmMxMiAzMC4zLTIzLjcgNTctNDkuNCAzN0w3My44IDMyMy40Yy03LTUuNC0xNy00LjItMjIuNSAyLjhzLTQuMiAxNyAyLjggMjIuNWw5MiA3MS42YzM2LjUgMjguNCA4MS40IDQzLjggMTI3LjcgNDMuOGwzMy43IDBjNDcuNSAwIDg5LTMyLjQgMTAwLjUtNzguNWw1NS40LTIyMS42YzIuMS04LjYtMy4xLTE3LjMtMTEuNi0xOS40cy0xNy4zIDMuMS0xOS40IDExLjZsLTI2IDEwNGMtMi45IDExLjctMTMuNCAxOS45LTI1LjUgMTkuOS0xNi41IDAtMjguOS0xNS0yNS44LTMxLjJMMzgzLjcgOTljMS43LTguNy00LTE3LjEtMTIuNy0xOC43UzM1NCA4NC4zIDM1Mi4zIDkzTDMyMC41IDI2MGMtMi4yIDExLjYtMTIuNCAyMC0yNC4yIDIwLTExIDAtMjAuNy03LjMtMjMuNy0xNy45TDIxNS40IDU5LjZ6Il19LHc1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJiZWxsLXNsYXNoIixpY29uOls1NzYsNTEyLFsxMjgyNzcsNjE5NDNdLCJmMWY2IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTg3LjgtODcuOGMxNy41LTMuMyAzMC44LTE4LjcgMzAuOC0zNy4xIDAtNi43LTEuOC0xMy4zLTUuMS0xOUw0ODUgMzIxLjdjLTE5LTMyLjYtMjktNjkuNi0yOS0xMDcuM2wwLTE0LjVjMC04NC42LTYyLjYtMTU0LjctMTQ0LTE2Ni4zbDAtOS43YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOS43Yy00Mi4yIDYtNzkuNCAyNy44LTEwNS40IDU5LjFMNDEtMjQuOXpNMTkyLjggMTI2LjlDMjE0LjcgOTguNCAyNDkuMiA4MCAyODggODAgMzU0LjMgODAgNDA4IDEzMy43IDQwOCAyMDBsMCAxNC41YzAgNDYuMiAxMi4zIDkxLjUgMzUuNSAxMzEuNGwxMi45IDIyLjEtMjIuNiAwLTI0MS4xLTI0MS4xek0xMzIuNSAzNDUuOWMxOS41LTMzLjQgMzEuMy03MC43IDM0LjYtMTA5bC00Ni43LTQ2LjdjLS4yIDMuMy0uMyA2LjYtLjMgOS45bDAgMTQuNWMwIDM3LjctMTAgNzQuNy0yOSAxMDcuM0w2OS4xIDM1OS4yYy0zLjQgNS44LTUuMSAxMi4zLTUuMSAxOSAwIDIwLjkgMTYuOSAzNy44IDM3LjggMzcuOGwyNDQuNCAwLTQ4LTQ4LTE3OC42IDAgMTIuOS0yMi4xek0yMjAuMSA0NjRjOS45IDI4IDM2LjYgNDggNjcuOSA0OHM1OC0yMCA2Ny45LTQ4bC0xMzUuOCAweiJdfSxNNXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3RhciIsaWNvbjpbNTc2LDUxMixbMTEwODgsNjE0NDZdLCJmMDA1IiwiTTI4OC4xLTMyYzkgMCAxNy4zIDUuMSAyMS40IDEzLjFMMzgzIDEyNS4zIDU0Mi45IDE1MC43YzguOSAxLjQgMTYuMyA3LjcgMTkuMSAxNi4zcy41IDE4LTUuOCAyNC40TDQ0MS43IDMwNS45IDQ2NyA0NjUuOGMxLjQgOC45LTIuMyAxNy45LTkuNiAyMy4ycy0xNyA2LjEtMjUgMkwyODguMSA0MTcuNiAxNDMuOCA0OTFjLTggNC4xLTE3LjcgMy4zLTI1LTJzLTExLTE0LjItOS42LTIzLjJMMTM0LjQgMzA1LjkgMjAgMTkxLjRjLTYuNC02LjQtOC42LTE1LjgtNS44LTI0LjRzMTAuMS0xNC45IDE5LjEtMTYuM2wxNTkuOS0yNS40IDczLjYtMTQ0LjJjNC4xLTggMTIuNC0xMy4xIDIxLjQtMTMuMXptMCA3Ni44TDIzMC4zIDE1OGMtMy41IDYuOC0xMCAxMS42LTE3LjYgMTIuOGwtMTI1LjUgMjAgODkuOCA4OS45YzUuNCA1LjQgNy45IDEzLjEgNi43IDIwLjdsLTE5LjggMTI1LjUgMTEzLjMtNTcuNmM2LjgtMy41IDE0LjktMy41IDIxLjggMGwxMTMuMyA1Ny42LTE5LjgtMTI1LjVjLTEuMi03LjYgMS4zLTE1LjMgNi43LTIwLjdsODkuOC04OS45LTEyNS41LTIwYy03LjYtMS4yLTE0LjEtNi0xNy42LTEyLjhMMjg4LjEgNDQuOHoiXX0sazV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZsYWciLGljb246WzQ0OCw1MTIsWzEyNzk4OCw2MTcyNV0sImYwMjQiLCJNNDggMjRDNDggMTAuNyAzNy4zIDAgMjQgMFMwIDEwLjcgMCAyNEwwIDQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTAwIDgwLjMtMjAuMWM0MS4xLTEwLjMgODQuNi01LjUgMTIyLjUgMTMuNCA0NC4yIDIyLjEgOTUuNSAyNC44IDE0MS43IDcuNGwzNC43LTEzYzEyLjUtNC43IDIwLjgtMTYuNiAyMC44LTMwbDAtMjc5LjdjMC0yMy0yNC4yLTM4LTQ0LjgtMjcuN2wtOS42IDQuOGMtNDYuMyAyMy4yLTEwMC44IDIzLjItMTQ3LjEgMC0zNS4xLTE3LjYtNzUuNC0yMi0xMTMuNS0xMi41TDQ4IDUyIDQ4IDI0em0wIDc3LjVsOTYuNi0yNC4yYzI3LTYuNyA1NS41LTMuNiA4MC40IDguOCA1NC45IDI3LjQgMTE4LjcgMjkuNyAxNzUgNi44bDAgMjQxLjgtMjQuNCA5LjFjLTMzLjcgMTIuNi03MS4yIDEwLjctMTAzLjQtNS40LTQ4LjItMjQuMS0xMDMuMy0zMC4xLTE1NS42LTE3LjFsLTY4LjYgMTcuMiAwLTIzN3oiXX0sUzV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImxlbW9uIixpY29uOls0NDgsNTEyLFsxMjc4MTldLCJmMDk0IiwiTTM2OCA4MGMtMy4yIDAtNi4yIC40LTguOSAxLjMtMTkuMSA1LjUtNDYuMSAxMC43LTc0LjMgMy4zLTU3LjQtMTQuOS0xMjQuNiA3LjQtMTc0LjcgNTcuNVMzNy43IDI1OS40IDUyLjYgMzE2LjhjNy4zIDI4LjIgMi4yIDU1LjItMy4zIDc0LjMtLjggMi44LTEuMyA1LjgtMS4zIDguOSAwIDE3LjcgMTQuMyAzMiAzMiAzMiAzLjIgMCA2LjItLjQgOC45LTEuMyAxOS4xLTUuNSA0Ni4xLTEwLjcgNzQuMy0zLjMgNTcuNCAxNC45IDEyNC42LTcuNCAxNzQuNy01Ny41czcyLjQtMTE3LjMgNTcuNS0xNzQuN2MtNy4zLTI4LjItMi4yLTU1LjIgMy4zLTc0LjMgLjgtMi44IDEuMy01LjggMS4zLTguOSAwLTE3LjctMTQuMy0zMi0zMi0zMnptMC00OGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDcuNy0xLjEgMTUuMi0zLjEgMjIuMy00LjYgMTUuOC03LjEgMzIuOS0zIDQ4LjkgMjAuMSA3Ny42LTEwLjkgMTYxLjUtNzAgMjIwLjdzLTE0My4xIDkwLjItMjIwLjcgNzBjLTE2LTQuMS0zMy0xLjYtNDguOSAzLTcuMSAyLTE0LjYgMy4xLTIyLjMgMy4xLTQ0LjIgMC04MC0zNS44LTgwLTgwIDAtNy43IDEuMS0xNS4yIDMuMS0yMi4zIDQuNi0xNS44IDcuMS0zMi45IDMtNDguOS0yMC4xLTc3LjYgMTAuOS0xNjEuNSA3MC0yMjAuN1MyMTkuMyAxOCAyOTYuOCAzOC4xYzE2IDQuMSAzMyAxLjYgNDguOS0zIDcuMS0yIDE0LjYtMy4xIDIyLjMtMy4xek0yNDYuNyAxNjdjLTUyIDE1LjItOTYuNSA1OS43LTExMS43IDExMS43LTMuNyAxMi43LTE3LjEgMjAtMjkuOCAxNi4zUzg1LjIgMjc4IDg5IDI2NS4zYzE5LjgtNjcuNyA3Ni42LTEyNC41IDE0NC4zLTE0NC4zIDEyLjctMy43IDI2LjEgMy42IDI5LjggMTYuM3MtMy42IDI2LjEtMTYuMyAyOS44eiJdfSx6NXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToid2luZG93LXJlc3RvcmUiLGljb246WzU3Niw1MTIsW10sImYyZDIiLCJNNTEyIDgwTDIyNCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTYtNDggMCAwLTE2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0bC00OCAwIDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xOTJjMC04LjgtNy4yLTE2LTE2LTE2ek0zNjggMjg4bC0zMjAgMCAwIDEyOGMwIDguOCA3LjIgMTYgMTYgMTZsMjg4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTI4ek02NCAxNjBsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NHoiXX0sYW9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1oZWFydHMiLGljb246WzUxMiw1MTIsWzEyODUyNSwiZ3Jpbi1oZWFydHMiXSwiZjU4NCIsIk00NjQgMjU2YzAgMTE0LjktOTMuMSAyMDgtMjA4IDIwOFM0OCAzNzAuOSA0OCAyNTZjMC0zLjUgLjEtNy4xIC4zLTEwLjYtMTQtMTMuOS0yOS43LTMzLjEtMzkuMy01Ni43LTUuOCAyMS40LTguOSA0NC04LjkgNjcuMyAwIDE0MS40IDExNC42IDI1NiAyNTYgMjU2UzUxMiAzOTcuNCA1MTIgMjU2YzAtMjMuMy0zLjEtNDUuOS04LjktNjcuMy05LjYgMjMuNy0yNS40IDQyLjgtMzkuMyA1Ni43IC4yIDMuNSAuMyA3IC4zIDEwLjZ6TTM2OCA1OC45YzExLjctNiAyNC41LTkuNiAzNy43LTEwLjYtNDIuMS0zMC40LTkzLjgtNDguMy0xNDkuNy00OC4zUzE0OC40IDE3LjkgMTA2LjMgNDguM2MxMy4yIDEgMjYgNC42IDM3LjcgMTAuNiAxMy44LTcuMSAyOS4zLTEwLjkgNDUuMS0xMC45bDIuOSAwYzguOSAwIDE3LjYgMS4yIDI1LjggMy41IDEyLjQtMi4zIDI1LjItMy41IDM4LjItMy41czI1LjggMS4yIDM4LjIgMy41YzguMi0yLjMgMTYuOS0zLjUgMjUuOC0zLjVsMi45IDBjMTUuOCAwIDMxLjMgMy44IDQ1LjEgMTAuOXptNC4yIDI0My40Yy0zNC44IDEwLjYtNzQuMyAxNi42LTExNi4zIDE2LjYtNDEuOSAwLTgxLjQtNi0xMTYuMS0xNi41LTExLjgtMy42LTIzLjcgNi4xLTE5LjYgMTcuOCAxOS44IDU1LjkgNzMuMSA5NS45IDEzNS44IDk1LjkgNjIuNyAwIDExNi00MC4xIDEzNS44LTk2IDQuMS0xMS42LTcuOC0yMS40LTE5LjYtMTcuOHpNMzIyLjkgOTZMMzIwIDk2Yy0yNi41IDAtNDggMjEuNS00OCA0OCAwIDUzLjQgNjYuOSA5NS43IDg5IDEwOC4yIDQuNCAyLjUgOS42IDIuNSAxNCAwIDIyLjEtMTIuNSA4OS01NC44IDg5LTEwOC4yIDAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yLjkgMGMtMTMuNSAwLTI2LjUgNS40LTM2IDE0LjlsLTkuMSA5LjEtOS4xLTkuMWMtOS41LTkuNS0yMi41LTE0LjktMzYtMTQuOXptLTE4OCAxNC45Yy05LjUtOS41LTIyLjUtMTQuOS0zNi0xNC45TDk2IDk2Yy0yNi41IDAtNDggMjEuNS00OCA0OCAwIDUzLjQgNjYuOSA5NS43IDg5IDEwOC4yIDQuNCAyLjUgOS42IDIuNSAxNCAwIDIyLjEtMTIuNSA4OS01NC44IDg5LTEwOC4yIDAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yLjkgMGMtMTMuNSAwLTI2LjUgNS40LTM2IDE0LjlsLTkuMSA5LjEtOS4xLTkuMXoiXX0sQzV0PWFvZSxpb2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1raXNzLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUzNywia2lzcy1iZWFtIl0sImY1OTciLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNDAgMTZsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDEyLjMtNC42IDIzLjUtMTIuMiAzMiA3LjYgOC41IDEyLjIgMTkuNyAxMi4yIDMyIDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptLTY0LTkyYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sVDV0PWlvZSxfNXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS1wZGYiLGljb246WzU3Niw1MTIsW10sImYxYzEiLCJNMjA4IDQ4TDk2IDQ4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzODRjMCA4LjggNy4yIDE2IDE2IDE2bDgwIDAgMCA0OC04MCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDIyOS41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzk3LjMgMTQxLjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM2wwIDE0OS41LTQ4IDAgMC0xMjgtODggMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC04OHpNMzQ4LjEgMTYwTDI1NiA2Ny45IDI1NiAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjguMSAwek0yNDAgMzgwbDMyIDBjMzMuMSAwIDYwIDI2LjkgNjAgNjBzLTI2LjkgNjAtNjAgNjBsLTEyIDAgMCAyOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC0xMjhjMC0xMSA5LTIwIDIwLTIwem0zMiA4MGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTEyIDAgMCA0MCAxMiAwem05Ni04MGwzMiAwYzI4LjcgMCA1MiAyMy4zIDUyIDUybDAgNjRjMCAyOC43LTIzLjMgNTItNTIgNTJsLTMyIDBjLTExIDAtMjAtOS0yMC0yMGwwLTEyOGMwLTExIDktMjAgMjAtMjB6bTMyIDEyOGM2LjYgMCAxMi01LjQgMTItMTJsMC02NGMwLTYuNi01LjQtMTItMTItMTJsLTEyIDAgMCA4OCAxMiAwem03Ni0xMDhjMC0xMSA5LTIwIDIwLTIwbDQ4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC0yOCAwIDAgMjQgMjggMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTI4IDAgMCA0NGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC0xMjh6Il19LG5vZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4td2lkZSIsaWNvbjpbNTEyLDUxMixbMTI4NTE1LCJncmluLWFsdCJdLCJmNTgxIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzcyLjIgNDYuM2MxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNnpNMjI0IDE5MmMwIDM1LjMtMTQuMyA2NC0zMiA2NHMtMzItMjguNy0zMi02NCAxNC4zLTY0IDMyLTY0IDMyIDI4LjcgMzIgNjR6bTk2IDY0Yy0xNy43IDAtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0IDMyIDI4LjcgMzIgNjQtMTQuMyA2NC0zMiA2NHoiXX0sTDV0PW5vZSxzb2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1sYXVnaC1zcXVpbnQiLGljb246WzUxMiw1MTIsWyJsYXVnaC1zcXVpbnQiXSwiZjU5YiIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTEyNS4yIDc2LjRjLTYuNS0xNCA1LTI4LjQgMjAuNC0yOC40bDIyMC44IDBjMTUuNCAwIDI2LjggMTQuNCAyMC40IDI4LjQtMjIuOCA0OS40LTcyLjggODMuNi0xMzAuOCA4My42cy0xMDcuOS0zNC4yLTEzMC44LTgzLjZ6bS0yLjYtMTczLjJjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sJDV0PXNvZSxvb2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1raXNzLXdpbmstaGVhcnQiLGljb246WzY0MCw1MTIsWzEyODUzNiwia2lzcy13aW5rLWhlYXJ0Il0sImY1OTgiLCJNMzg2IDQzOS41Yy0yOS4yIDE1LjYtNjIuNSAyNC41LTk4IDI0LjUtMTE0LjkgMC0yMDgtOTMuMS0yMDgtMjA4UzE3My4yIDQ4IDI4OCA0OGMxMTMuMiAwIDIwNS4yIDkwLjQgMjA3LjkgMjAyLjkgMTQuMyAxLjUgMjguNiA2IDQxLjkgMTMuNyAyIDEuMiA0IDIuNCA1LjkgMy43IC4yLTQuMSAuMy04LjIgLjMtMTIuMyAwLTE0MS40LTExNC42LTI1Ni0yNTYtMjU2UzMyIDExNC42IDMyIDI1NiAxNDYuNiA1MTIgMjg4IDUxMmM0MS40IDAgODAuNS05LjggMTE1LjEtMjcuMy01LjgtMTIuOS0xMi0yOC41LTE3LjItNDUuMnpNMjU2IDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC0xMi4zLTQuNi0yMy41LTEyLjItMzIgNy42LTguNSAxMi4yLTE5LjcgMTIuMi0zMiAwLTI2LjUtMjEuNS00OC00OC00OGwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0tNDgtNDhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xNTItNDRsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMCA5LTIwIDIwLTIwek01NDIuOCAzNTBjLTIuMi0xOC4zLTEyLjktMzQuNi0yOC45LTQzLjgtMjguMS0xNi4yLTYzLjktNi42LTgwLjEgMjEuNWwtMi43IDQuNmMtMjQuNSA0Mi41IDcuOSAxMTcuOSAyNC40IDE1MC44IDUuMSAxMC4xIDE1LjUgMTYuMSAyNi44IDE1LjUgMzYuNy0yLjIgMTE4LjItMTEuNyAxNDIuOC01NC4ybDIuNy00LjZjMTYuMi0yOC4xIDYuNi02My45LTIxLjUtODAuMS0xNi05LjItMzUuNC0xMC40LTUyLjQtMy4xbC05LjggNC4yLTEuMy0xMC42eiJdfSxENXQ9b29lLEFEPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvcHkiLGljb246WzQ0OCw1MTIsW10sImYwYzUiLCJNMzg0IDMzNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsMTMzLjUgMGM0LjIgMCA4LjMgMS43IDExLjMgNC43bDU4LjUgNTguNWMzIDMgNC43IDcuMSA0LjcgMTEuM0w0MDAgMzIwYzAgOC44LTcuMiAxNi0xNiAxNnpNMTkyIDM4NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5Ny41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDM3MC43IDE4LjdDMzU4LjcgNi43IDM0Mi41IDAgMzI1LjUgMEwxOTIgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNi00OCAwIDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwIDAtNDgtMTYgMHoiXX0sQTV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLWtpbmciLGljb246WzQ0OCw1MTIsWzk4MThdLCJmNDNmIiwiTTIyNC0zMmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDAgMCA4MCAxNjEuOCAwYzIxLjEgMCAzOC4yIDE3LjEgMzguMiAzOC4yIDAgNi40LTEuNiAxMi43LTQuNyAxOC4zTDM1Ny4yIDM3NC41IDQwNS42IDQzNWM2LjcgOC40IDEwLjQgMTguOCAxMC40IDI5LjYgMCAyNi4yLTIxLjIgNDcuNC00Ny40IDQ3LjRMNzkuNCA1MTJjLTI2LjIgMC00Ny40LTIxLjItNDcuNC00Ny40IDAtMTAuOCAzLjctMjEuMiAxMC40LTI5LjZMOTAuOCAzNzQuNSA0LjcgMjE2LjZDMS42IDIxMC45IDAgMjA0LjYgMCAxOTguMiAwIDE3Ny4xIDE3LjEgMTYwIDM4LjIgMTYwbDE2MS44IDAgMC04MC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMTMxLjggNDAwbC0zLjYgNC40LTQ3LjYgNTkuNiAyODYuNiAwLTQ3LjYtNTkuNi0zLjYtNC40LTE4NC4zIDB6bTEuMS00OC41bC4zIC41IDE4MS42IDAgLjMtLjUgNzguMy0xNDMuNS0zMzguNyAwIDc4LjMgMTQzLjV6Il19LGxvZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtcGx1cyIsaWNvbjpbNDQ4LDUxMixbNjE4NDYsInBsdXMtc3F1YXJlIl0sImYwZmUiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTIwMCAzNDRsMC02NC02NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDY0IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgNjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjQgMCAwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0eiJdfSxFNXQ9bG9lLEk1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWNvZGUiLGljb246WzM4NCw1MTIsW10sImYxYzkiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHpNMTcwLjIgMjk1LjZjOC42LTEwLjEgNy41LTI1LjItMi42LTMzLjhzLTI1LjItNy41LTMzLjggMi42bC00OCA1NmMtNy43IDktNy43IDIyLjIgMCAzMS4ybDQ4IDU2YzguNiAxMC4xIDIzLjggMTEuMiAzMy44IDIuNnMxMS4yLTIzLjggMi42LTMzLjhsLTM0LjYtNDAuNCAzNC42LTQwLjR6bTgwLTMxLjJjLTguNi0xMC4xLTIzLjgtMTEuMi0zMy44LTIuNnMtMTEuMiAyMy44LTIuNiAzMy44bDM0LjYgNDAuNC0zNC42IDQwLjRjLTguNiAxMC4xLTcuNSAyNS4yIDIuNiAzMy44czI1LjIgNy41IDMzLjgtMi42bDQ4LTU2YzcuNy05IDcuNy0yMi4yIDAtMzEuMmwtNDgtNTZ6Il19LGNvZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4td2luayIsaWNvbjpbNTEyLDUxMixbImdyaW4td2luayJdLCJmNThjIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzcyLjIgNDYuM2MxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNnpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxQNXQ9Y29lLGRvZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJtb25leS1iaWxsLTEiLGljb246WzUxMiw1MTIsWyJtb25leS1iaWxsLWFsdCJdLCJmM2QxIiwiTTExMiAxMTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMCAxNjBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMjg4IDBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMC0xNjBjLTM1LjMgMC02NC0yOC43LTY0LTY0bC0yODggMHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMjU2IDE2YTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHptLTE2IDQ0Yy0xMSAwLTIwIDktMjAgMjAgMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGw0OCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtNCAwIDAtNjhjMC0xMS05LTIwLTIwLTIwbC0xNiAweiJdfSxONXQ9ZG9lLEY1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJleWUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImYwNzAiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtOTYuNC05Ni40YzIuNy0yLjQgNS40LTQuOCA4LTcuMiA0Ni44LTQzLjUgNzguMS05NS40IDkzLTEzMS4xIDMuMy03LjkgMy4zLTE2LjcgMC0yNC42LTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjEtNDcuMS00My43LTExMS44LTgwLjYtMTkyLjYtODAuNi01Ni44IDAtMTA1LjYgMTguMi0xNDYgNDQuMkw0MS0yNC45ek0xNzYuOSAxMTEuMWMzMi4xLTE4LjkgNjkuMi0zMS4xIDExMS4xLTMxLjEgNjUuMiAwIDExOC44IDI5LjYgMTU5LjkgNjcuNyAzOC41IDM1LjcgNjUuMSA3OC4zIDc4LjYgMTA4LjMtMTMuNiAzMC00MC4yIDcyLjUtNzguNiAxMDguMy0zLjEgMi44LTYuMiA1LjYtOS40IDguNEwzOTMuOCAzMjhjMTQtMjAuNSAyMi4yLTQ1LjMgMjIuMi03MiAwLTcwLjctNTcuMy0xMjgtMTI4LTEyOC0yNi43IDAtNTEuNSA4LjItNzIgMjIuMmwtMzkuMS0zOS4xem0xODIgMTgybC0xMDgtMTA4YzExLjEtNS44IDIzLjctOS4xIDM3LjEtOS4xIDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgMTMuNC0zLjMgMjYtOS4xIDM3LjF6TTEwMy40IDE3My4ybC0zNC0zNGMtMzIuNiAzNi44LTU1IDc1LjgtNjYuOSAxMDQuNS0zLjMgNy45LTMuMyAxNi43IDAgMjQuNiAxNC45IDM1LjcgNDYuMiA4Ny43IDkzIDEzMS4xIDQ3LjEgNDMuNyAxMTEuOCA4MC42IDE5Mi42IDgwLjYgMzcuMyAwIDcxLjItNy45IDEwMS41LTIwLjZMMzUyLjIgNDIyYy0yMCA2LjQtNDEuNCAxMC02NC4yIDEwLTY1LjIgMC0xMTguOC0yOS42LTE1OS45LTY3LjctMzguNS0zNS43LTY1LjEtNzguMy03OC42LTEwOC4zIDEwLjQtMjMuMSAyOC42LTUzLjYgNTQtODIuOHoiXX0sTzV0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtd29yZCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjMiIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwem03MS4zIDI3NC4yYy0zLjItMTIuOS0xNi4yLTIwLjctMjkuMS0xNy41Uzg1LjUgMjczIDg4LjcgMjg1LjhsMzIgMTI4YzIuNSAxMC4yIDExLjQgMTcuNSAyMS45IDE4LjFzMjAuMS01LjcgMjMuOC0xNS41bDI1LjUtNjguMSAyNS41IDY4LjFjMy43IDkuOCAxMy4zIDE2LjEgMjMuOCAxNS41czE5LjQtNy45IDIxLjktMTguMWwzMi0xMjhjMy4yLTEyLjktNC42LTI1LjktMTcuNS0yOS4xcy0yNS45IDQuNi0yOS4xIDE3LjVsLTEzLjMgNTMuMi0yMC45LTU1LjhDMjExIDI2Mi4yIDIwMiAyNTYgMTkyIDI1NnMtMTkgNi4yLTIyLjUgMTUuNmwtMjAuOSA1NS44LTEzLjMtNTMuMnoiXX0sdW9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtYW5ncnkiLGljb246WzUxMiw1MTIsWzEyODU0NCwiYW5ncnkiXSwiZjU1NiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMTQ0YzI0LjEgMCA0NS40IDExLjggNTguNSAzMCA3LjcgMTAuOCAyMi43IDEzLjIgMzMuNSA1LjVzMTMuMi0yMi43IDUuNS0zMy41Yy0yMS43LTMwLjItNTcuMy01MC05Ny41LTUwcy03NS43IDE5LjgtOTcuNSA1MGMtNy43IDEwLjgtNS4zIDI1LjggNS41IDMzLjVzMjUuOCA1LjMgMzMuNS01LjVjMTMuMS0xOC4yIDM0LjQtMzAgNTguNS0zMHptLTgwLTk2YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtLjMgOS43IDMuMmMxMC41IDMuNSAyMS44LTIuMiAyNS4zLTEyLjZzLTIuMi0yMS44LTEyLjYtMjUuM2wtOTYtMzJjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNsMjguOSA5LjZjLTQuMSA1LjQtNi42IDEyLjEtNi42IDE5LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE5Mi0zMmMwLTcuMy0yLjQtMTQtNi42LTE5LjRsMjguOS05LjZjMTAuNS0zLjUgMTYuMS0xNC44IDEyLjYtMjUuM3MtMTQuOC0xNi4xLTI1LjMtMTIuNmwtOTYgMzJjLTEwLjUgMy41LTE2LjEgMTQuOC0xMi42IDI1LjNzMTQuOCAxNi4xIDI1LjMgMTIuNmw5LjctMy4yIDAgLjNjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnoiXX0sUjV0PXVvZSxCNXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3Mta25pZ2h0IixpY29uOls0NDgsNTEyLFs5ODIyXSwiZjQ0MSIsIk0yMzItMzJjMTEwLjUgMCAyMDAgODkuNSAyMDAgMjAwbDAgMTI3LjdjMCAxOC45LTYuMSAzNy4xLTE3LjIgNTIuMmwtNS4xIDYuMi0zNi4zIDQwLjcgMzIuMSA0MC4yYzYuNyA4LjQgMTAuNCAxOC44IDEwLjQgMjkuNmwtLjIgNC44Yy0yLjQgMjMuOS0yMi42IDQyLjUtNDcuMSA0Mi41bC0yODkuMiAwLTQuOC0uMmMtMjMuOS0yLjQtNDIuNS0yMi42LTQyLjUtNDcuMSAwLTEwLjggMy43LTIxLjIgMTAuNC0yOS42bDM3LjYtNDcgMC0yNC4zYzAtMjQuMyAxMC4xLTQ3LjYgMjcuOC02NC4ybDYzLjUtNTkuNS0xNy40IDAtLjIgLjJjLTIwLjMgMjAuMy00OS42IDI4LjItNzcuMSAyMS4xbC01LjUtMS42Yy0zMC45LTEwLjMtNTIuMy0zOC01NC45LTcwLjFsLS4yLTYuNCAwLTEuNGMwLTE5LjcgNy4xLTM4LjggMTkuOS01My44bDc2LjEtODguOCAwLTQ3LjEgLjEtMi41QzExMy40LTIyLjYgMTIzLjYtMzIgMTM2LTMybDk2IDB6TTgwLjcgNDY0bDI4Ni42IDAtMzguNC00OC0yMDkuOSAwLTM4LjQgNDh6TTE2MCA0OGMwIDUuNy0yLjEgMTEuMy01LjggMTUuNkw3Mi4zIDE1OS4xQzY3IDE2NS40IDY0IDE3My40IDY0IDE4MS43bDAgMS40IC40IDUuMmMxLjkgMTEuOSAxMC4zIDIxLjkgMjEuOSAyNS44bDQuNSAxLjFjMTAuNSAxLjkgMjEuMy0xLjQgMjktOWw3LjItNy4yIDMuNy0zYzMuOS0yLjYgOC41LTQgMTMuMy00bDg4IDBjOS44IDAgMTguNyA2IDIyLjMgMTUuMnMxLjMgMTkuNi01LjkgMjYuM2wtMTA3LjggMTAxYy04LjEgNy42LTEyLjcgMTguMS0xMi43IDI5LjJsMCA0LjMgMjA1LjIgMCA0MC43LTQ1LjggMi4zLTIuOGM1LjEtNi44IDcuOC0xNS4yIDcuOC0yMy43TDM4NCAxNjhjMC04My45LTY4LjEtMTUyLTE1Mi0xNTJsLTcyIDAgMCAzMnptMzIgNzJhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4eiJdfSxwb2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUxNiwiZ3Jpbi1iZWFtIl0sImY1ODIiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42ek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sSDV0PXBvZSxxNXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wZWFjZSIsaWNvbjpbNDQ4LDUxMixbOTk5Nl0sImYyNWIiLCJNMjE5IDEuNGMtMzUuMi0zLjctNjYuNiAyMS44LTcwLjMgNTdsLTYuNCA2MC42LTE3LjQtNDkuNEMxMTMuMiAzNi4zIDc2LjYgMTguOCA0My4zIDMwLjVTLTcuNiA3OC44IDQuMSAxMTIuMUw1Ni45IDI2Mi4yQzQxLjcgMjc2LjcgMzIuMiAyOTcuMyAzMi4yIDMyMGwwIDI0YzAgOTIuOCA3NS4yIDE2OCAxNjggMTY4bDQ4IDBjOTIuOCAwIDE2OC03NS4yIDE2OC0xNjhsMC0xMjBjMC0zNS4zLTI4LjctNjQtNjQtNjQtNy45IDAtMTUuNCAxLjQtMjIuNCA0LTEwLjQtMjEuMy0zMi4zLTM2LTU3LjYtMzYtLjcgMC0xLjUgMC0yLjIgMGw1LjktNTYuM2MzLjctMzUuMi0yMS44LTY2LjYtNTctNzAuM3ptLS4yIDE1NS40Yy02LjYgMTAuMS0xMC41IDIyLjItMTAuNSAzNS4ybDAgNDhjMCAuNyAwIDEuNCAwIDItNS4xLTEuMy0xMC41LTItMTYtMmwtNy40IDAtNS40LTE1LjMgMTctMTYxLjNjLjktOC44IDguOC0xNS4yIDE3LjYtMTQuMnMxNS4yIDguOCAxNC4yIDE3LjZsLTkuNSA5MC4xek03OS42IDg1LjZsNTQuMyAxNTQuNC0yMS43IDBjLTQgMC04IC4zLTExLjkgLjlMNDkuNCA5Ni4yYy0yLjktOC4zIDEuNS0xNy41IDkuOC0yMC40czE3LjUgMS41IDIwLjQgOS44ek0yNTYuMiAxOTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDh6bTM4LjQgMTA4YzEwLjQgMjEuMyAzMi4zIDM2IDU3LjYgMzYgNS41IDAgMTAuOS0uNyAxNi0ybDAgMTBjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTQ4IDBjLTY2LjMgMC0xMjAtNTMuNy0xMjAtMTIwbDAtMjRjMC0xNy43IDE0LjMtMzIgMzItMzJsODAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtLjcgMC0xLjQgMC0yIDUuMSAxLjMgMTAuNSAyIDE2IDIgNy45IDAgMTUuNC0xLjQgMjIuNC00em03My42LTI4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4eiJdfSxqNXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29tcGFzcyIsaWNvbjpbNTEyLDUxMixbMTI5NTE3XSwiZjE0ZSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMwNi43IDY5LjFMMTYyLjQgMzgwLjZjLTE5LjQgNy41LTM4LjUtMTEuNi0zMS0zMWw1NS41LTE0NC4zYzMuMy04LjUgOS45LTE1LjEgMTguNC0xOC40bDE0NC4zLTU1LjVjMTkuNC03LjUgMzguNSAxMS42IDMxIDMxTDMyNS4xIDMwNi43Yy0zLjMgOC41LTkuOSAxNS4xLTE4LjQgMTguNHpNMjg4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxWNXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlIixpY29uOls0NDgsNTEyLFs5NjMyLDk3MjMsOTcyNCw2MTU5MF0sImYwYzgiLCJNMzg0IDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyMGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDMyYy04LjggMC0xNi03LjItMTYtMTZMNDggOTZjMC04LjggNy4yLTE2IDE2LTE2bDMyMCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSxmb2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluIixpY29uOls1MTIsNTEyLFsxMjg1MTIsImdyaW4iXSwiZjU4MCIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTM3Mi4yIDQ2LjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sVTV0PWZvZSxob2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zbWlsZSIsaWNvbjpbNTEyLDUxMixbMTI4NTc4LCJzbWlsZSJdLCJmMTE4IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc3LjMgNjMuNEMxOTIuMyAzMzUgMjE4LjQgMzUyIDI1NiAzNTJzNjMuNy0xNyA3OC43LTMyLjZjOS4yLTkuNiAyNC40LTkuOSAzMy45LS43czkuOSAyNC40IC43IDMzLjljLTIyLjEgMjMtNjAgNDcuNC0xMTMuMyA0Ny40cy05MS4yLTI0LjQtMTEzLjMtNDcuNGMtOS4yLTkuNi04LjktMjQuOCAuNy0zMy45czI0LjgtOC45IDMzLjkgLjd6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sVzV0PWhvZSxtb2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zbWlsZS1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MjIsInNtaWxlLWJlYW0iXSwiZjViOCIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE3Ny4zIDYzLjRDMTkyLjMgMzM1IDIxOC40IDM1MiAyNTYgMzUyczYzLjctMTcgNzguNy0zMi42YzkuMi05LjYgMjQuNC05LjkgMzMuOS0uN3M5LjkgMjQuNCAuNyAzMy45Yy0yMi4xIDIzLTYwIDQ3LjQtMTEzLjMgNDcuNHMtOTEuMi0yNC40LTExMy4zLTQ3LjRjLTkuMi05LjYtOC45LTI0LjggLjctMzMuOXMyNC44LTguOSAzMy45IC43ek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sRzV0PW1vZSxZNXQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZm9sZGVyLWNsb3NlZCIsaWNvbjpbNTEyLDUxMixbXSwiZTE4NSIsIk00NDggNDAwTDY0IDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTQ0IDQxNiAwIDAgMTQ0YzAgOC44LTcuMiAxNi0xNiAxNnptMTYtMjA4bC00MTYgMCAwLTk2YzAtOC44IDcuMi0xNiAxNi0xNmwxMzguNyAwYzMuNSAwIDYuOCAxLjEgOS42IDMuMkwyNTAuNyAxMTJjMTMuOCAxMC40IDMwLjcgMTYgNDggMTZMNDQ4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OHpNNjQgNDQ4bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjQwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDI5OC43IDgwYy02LjkgMC0xMy43LTIuMi0xOS4yLTYuNEwyNDEuMSA0NC44QzIzMCAzNi41IDIxNi41IDMyIDIwMi43IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjR6Il19LFo1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJrZXlib2FyZCIsaWNvbjpbNTc2LDUxMixbOWUzXSwiZjExYyIsIk02NCAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI1NmMwIDguOCA3LjIgMTYgMTYgMTZsNDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjU2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAxMTJ6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6TTE3NiAzMjBsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0yMjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2em0tNzItNzJjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sZ29lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utcm9sbGluZy1leWVzIixpY29uOls1MTIsNTEyLFsxMjg1ODAsIm1laC1yb2xsaW5nLWV5ZXMiXSwiZjVhNSIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3NiAzNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNMTYwIDI2NGMtMjIuMSAwLTQwLTE3LjktNDAtNDAgMC05LjUgMy4zLTE4LjEgOC44LTI1IDMuMiAxNC4zIDE2IDI1IDMxLjIgMjVzMjgtMTAuNyAzMS4yLTI1YzUuNSA2LjggOC44IDE1LjUgOC44IDI1IDAgMjIuMS0xNy45IDQwLTQwIDQwem0wIDQwYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0xOTItNDBjLTIyLjEgMC00MC0xNy45LTQwLTQwIDAtOS41IDMuMy0xOC4xIDguOC0yNSAzLjIgMTQuMyAxNiAyNSAzMS4yIDI1czI4LTEwLjcgMzEuMi0yNWM1LjUgNi44IDguOCAxNS41IDguOCAyNSAwIDIyLjEtMTcuOSA0MC00MCA0MHptMCA0MGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHoiXX0sWDV0PWdvZSxib2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmltYWNlIixpY29uOls1MTIsNTEyLFsxMjg1NTYsImdyaW1hY2UiXSwiZjU3ZiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMCAwIDQxNiAyMDggMjA4IDAgMSAwIDAtNDE2ek01MTIgMjU2YTI1NiAyNTYgMCAxIDEgLTUxMiAwIDI1NiAyNTYgMCAxIDEgNTEyIDB6TTE1MiAzNTJjMCAxMS45IDguNiAyMS44IDIwIDIzLjdsMC00Ny4zYy0xMS40IDEuOS0yMCAxMS44LTIwIDIzLjd6bTg0IDI0bDAtNDgtMjQgMCAwIDQ4IDI0IDB6bTY0IDBsMC00OC0yNCAwIDAgNDggMjQgMHptNDAtLjNjMTEuNC0xLjkgMjAtMTEuOCAyMC0yMy43cy04LjYtMjEuOC0yMC0yMy43bDAgNDcuM3pNMTc2IDI4OGwxNjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtMTYwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjR6bTAtMTEyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LFE1dD1ib2Usdm9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1kb3QiLGljb246WzUxMiw1MTIsWzEyODI4MCwiZG90LWNpcmNsZSJdLCJmMTkyIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyem0wLTQ2NGEyMDggMjA4IDAgMSAwIDAgNDE2IDIwOCAyMDggMCAxIDAgMC00MTZ6bTAgMzA0YTk2IDk2IDAgMSAxIDAtMTkyIDk2IDk2IDAgMSAxIDAgMTkyeiJdfSxKNXQ9dm9lLEs1dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJvYmplY3QtZ3JvdXAiLGljb246WzU3Niw1MTIsW10sImYyNDciLCJNNDAgNjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptNDggNTkuM2MxNi02LjUgMjguOS0xOS4zIDM1LjMtMzUuM2wzMjkuMyAwYzYuNSAxNiAxOS4zIDI4LjkgMzUuMyAzNS4zbDAgMjY1LjNjLTE2IDYuNS0yOC45IDE5LjMtMzUuMyAzNS4zbC0zMjkuMyAwYy02LjUtMTYtMTkuMy0yOC45LTM1LjMtMzUuM2wwLTI2NS4zek01MTIgMGMtMjYuOSAwLTQ5LjkgMTYuNS01OS4zIDQwTDEyMy4zIDQwQzExMy45IDE2LjUgOTAuOSAwIDY0IDAgMjguNyAwIDAgMjguNyAwIDY0IDAgOTAuOSAxNi41IDExMy45IDQwIDEyMy4zbDAgMjY1LjNjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NCAyNi45IDAgNDkuOS0xNi41IDU5LjMtNDBsMzI5LjMgMGM5LjUgMjMuNSAzMi41IDQwIDU5LjMgNDAgMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMjY1LjNjMjMuNS05LjUgNDAtMzIuNSA0MC01OS4zIDAtMzUuMy0yOC43LTY0LTY0LTY0ek00ODggNjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNjQgNDI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDI0IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTE5MiAxNzZsODggMCAwIDU2LTg4IDAgMC01NnptLTgtNDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTA0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC03MmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTA0IDB6bTcyIDE4NGwwIDI0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTI0IDBjMCAxNC42LTMuOSAyOC4yLTEwLjcgNDBsMjYuNyAwIDAgNTYtODggMCAwLTE2LjRjLTIuNiAuMy01LjMgLjQtOCAuNGwtMzIgMHoiXX0seG9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZmx1c2hlZCIsaWNvbjpbNTEyLDUxMixbMTI4NTYzLCJmbHVzaGVkIl0sImY1NzkiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyIDI1NiAyNTYgMCAxIDAgMC01MTJ6TTE2MCAyNDhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yMTYtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMTkyIDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMjggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTI4IDB6TTE2MCAxNzZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0wIDEyOGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMTQ0LTgwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTEyOCAwYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHoiXX0sZXB0PXhvZSx5b2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3Rhci1oYWxmLXN0cm9rZSIsaWNvbjpbNTc2LDUxMixbInN0YXItaGFsZi1hbHQiXSwiZjVjMCIsIk0zMDkuNS0xOC45Yy00LjEtOC0xMi40LTEzLjEtMjEuNC0xMy4xcy0xNy4zIDUuMS0yMS40IDEzLjFMMTkzLjEgMTI1LjMgMzMuMiAxNTAuN2MtOC45IDEuNC0xNi4zIDcuNy0xOS4xIDE2LjNzLS41IDE4IDUuOCAyNC40bDExNC40IDExNC41LTI1LjIgMTU5LjljLTEuNCA4LjkgMi4zIDE3LjkgOS42IDIzLjJzMTYuOSA2LjEgMjUgMkwyODguMSA0MTcuNiA0MzIuNCA0OTFjOCA0LjEgMTcuNyAzLjMgMjUtMnMxMS0xNC4yIDkuNi0yMy4yTDQ0MS43IDMwNS45IDU1Ni4xIDE5MS40YzYuNC02LjQgOC42LTE1LjggNS44LTI0LjRzLTEwLjEtMTQuOS0xOS4xLTE2LjNMMzgzIDEyNS4zIDMwOS41LTE4Ljl6TTI2NC4xIDkxLjhsMCAyODQuMS0xMDAuMSA1MC45IDE5LjgtMTI1LjVjMS4yLTcuNi0xLjMtMTUuMy02LjctMjAuN2wtODkuOC04OS45IDEyNS41LTIwYzcuNi0xLjIgMTQuMS02IDE3LjYtMTIuOGwzMy44LTY2LjJ6bTQ4IDI4NC4xbDAtMjg0LjEgMzMuOCA2Ni4yYzMuNSA2LjggMTAgMTEuNiAxNy42IDEyLjhsMTI1LjUgMjAtODkuOCA4OS45Yy01LjQgNS40LTcuOSAxMy4xLTYuNyAyMC43bDE5LjggMTI1LjUtMTAwLjEtNTAuOXoiXX0sdHB0PXlvZSxycHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS12aWRlbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjOCIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwek04MCAyODhsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjQgMzUgMzVjMy4yIDMuMiA3LjUgNSAxMiA1IDkuNCAwIDE3LTcuNiAxNy0xN2wwLTk0LjFjMC05LjQtNy42LTE3LTE3LTE3LTQuNSAwLTguOCAxLjgtMTIgNWwtMzUgMzUgMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LHdvZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoIixpY29uOls1MTIsNTEyLFsibGF1Z2giXSwiZjU5OSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTExOC4zIDU4LjJjLTQuMi0xMy43IDcuMS0yNi4yIDIxLjQtMjYuMmwyMzIuNiAwYzE0LjMgMCAyNS42IDEyLjUgMjEuNCAyNi4yLTE4IDU4LjktNzIuOSAxMDEuOC0xMzcuNyAxMDEuOFMxMzYuMyAzNzMuMSAxMTguMyAzMTQuMnpNMTQ0IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxhcHQ9d29lLGlwdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50ZXIiLGljb246WzQ0OCw1MTIsW10sImYyNWEiLCJNMTYwIDY0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMzZjMCAxMC4zIDYuNiAxOS41IDE2LjQgMjIuOHMyMC42LS4xIDI2LjgtOC4zYzMtMy45IDcuNi02LjQgMTIuOC02LjQgOC44IDAgMTYgNy4yIDE2IDE2IDAgMTAuMyA2LjYgMTkuNSAxNi40IDIyLjhzMjAuNi0uMSAyNi44LTguM2MzLTMuOSA3LjYtNi40IDEyLjgtNi40IDcuOCAwIDE0LjMgNS42IDE1LjcgMTMgMS42IDguMiA3LjMgMTUuMSAxNS4xIDE4czE2LjcgMS42IDIzLjMtMy42YzIuNy0yLjEgNi4xLTMuNCA5LjktMy40IDguOCAwIDE2IDcuMiAxNiAxNmwwIDEyMGMwIDM5LjgtMzIuMiA3Mi03MiA3MmwtMTE2LjYgMGMtMzcuNCAwLTcyLjQtMTguNy05My4yLTQ5LjlMNTAuNyAzMTIuOWMtNC45LTcuNC0yLjktMTcuMyA0LjQtMjIuMnMxNy4zLTIuOSAyMi4yIDQuNEwxMTYgMzUzLjJjNS45IDguOCAxNi44IDEyLjcgMjYuOSA5LjdzMTctMTIuNCAxNy0yM0wxNjAgNjR6TTE3NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDE5Ny43QzkxLjIgMjM4IDU1LjUgMjMyLjggMjguNSAyNTAuNy0uOSAyNzAuNC04LjkgMzEwLjEgMTAuOCAzMzkuNUw3OC4zIDQ0MC44YzI5LjcgNDQuNSA3OS42IDcxLjIgMTMzLjEgNzEuMkwzMjggNTEyYzY2LjMgMCAxMjAtNTMuNyAxMjAtMTIwbDAtMTIwYzAtMzUuMy0yOC43LTY0LTY0LTY0LTQuNSAwLTguOCAuNS0xMyAxLjMtMTEuNy0xNS40LTMwLjItMjUuMy01MS0yNS4zLTYuOSAwLTEzLjUgMS4xLTE5LjcgMy4xLTExLjYtMTYuNC0zMC43LTI3LjEtNTIuMy0yNy4xLTIuNyAwLTUuNCAuMi04IC41TDI0MCA2NGMwLTM1LjMtMjguNy02NC02NC02NHptNDggMzA0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2em00OC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNnptODAgMTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6Il19LG5wdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJyZWdpc3RlcmVkIixpY29uOls1MTIsNTEyLFsxNzRdLCJmMjVkIiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjAwIDE0NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTU2IDM0LjQgMCA0MSA2OC4zYzYuOCAxMS40IDIxLjYgMTUgMzIuOSA4LjJzMTUtMjEuNiA4LjItMzIuOWwtMzAuMi01MC4zYzI0LjYtMTEuNSA0MS42LTM2LjQgNDEuNi02NS4zIDAtMzkuOC0zMi4yLTcyLTcyLTcybC04MCAwem03MiA5NmwtNDggMCAwLTQ4IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMHoiXX0sdlFyPXtmYVNxdWFyZU1pbnVzOmVzZSxmYU1pbnVzU3F1YXJlOnFkdCxmYUNhbGVuZGFyQ2hlY2s6amR0LGZhRmFjZUtpc3M6dHNlLGZhS2lzczpWZHQsZmFQYXN0ZTpHZyxmYUZpbGVDbGlwYm9hcmQ6VWR0LGZhSGFuZFBvaW50TGVmdDpXZHQsZmFGaWxlRXhjZWw6R2R0LGZhRW52ZWxvcGU6WWR0LGZhU3F1YXJlQ2FyZXREb3duOnJzZSxmYUNhcmV0U3F1YXJlRG93bjpaZHQsZmFUcnVjazpYZHQsZmFCZWxsOlFkdCxmYU1lc3NhZ2U6WWcsZmFDb21tZW50QWx0OkpkdCxmYUZhY2VEaXp6eTphc2UsZmFEaXp6eTpLZHQsZmFDYWxlbmRhckRheXM6aXNlLGZhQ2FsZW5kYXJBbHQ6ZTZ0LGZhSGFuZFBvaW50VXA6dDZ0LGZhSGFuZExpemFyZDpyNnQsZmFTcXVhcmVGdWxsOmE2dCxmYUNpcmNsZVBhdXNlOm5zZSxmYVBhdXNlQ2lyY2xlOmk2dCxmYUhhcmREcml2ZTpzc2UsZmFIZGQ6bjZ0LGZhRmlsZVppcHBlcjpvc2UsZmFGaWxlQXJjaGl2ZTpzNnQsZmFGbG9wcHlEaXNrOmxzZSxmYVNhdmU6bzZ0LGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQ6Y3NlLGZhR3JpblRvbmd1ZVNxdWludDpsNnQsZmFDYW1lcmE6ZHNlLGZhQ2FtZXJhQWx0OmM2dCxmYUZhY2VHcmluU3RhcnM6dXNlLGZhR3JpblN0YXJzOmQ2dCxmYUV5ZTp1NnQsZmFGYWNlU2FkVGVhcjpwc2UsZmFTYWRUZWFyOnA2dCxmYVNoYXJlRnJvbVNxdWFyZTpmc2UsZmFTaGFyZVNxdWFyZTpmNnQsZmFOb3RlU3RpY2t5OmhzZSxmYVN0aWNreU5vdGU6aDZ0LGZhSGFuZEJhY2tGaXN0Om1zZSxmYUhhbmRSb2NrOm02dCxmYUNoZXNzUXVlZW46ZzZ0LGZhRmFjZUdyaW5UZWFyczpnc2UsZmFHcmluVGVhcnM6YjZ0LGZhUGVuVG9TcXVhcmU6YnNlLGZhRWRpdDp2NnQsZmFGYWNlR3JpbkJlYW1Td2VhdDp2c2UsZmFHcmluQmVhbVN3ZWF0Ong2dCxmYUNsb2NrOnhzZSxmYUNsb2NrRm91cjp5NnQsZmFGYWNlTGF1Z2hXaW5rOnlzZSxmYUxhdWdoV2luazp3NnQsZmFQYXBlclBsYW5lOk02dCxmYUhlYXJ0Oms2dCxmYUZvbnRBd2Vzb21lOmtELGZhRm9udEF3ZXNvbWVGbGFnOlM2dCxmYUZvbnRBd2Vzb21lTG9nb0Z1bGw6ejZ0LGZhQ2xvbmU6QzZ0LGZhRm9sZGVyT3BlbjpUNnQsZmFXaW5kb3dNaW5pbWl6ZTpfNnQsZmFTdGFySGFsZjpMNnQsZmFBbGFybUNsb2NrOiQ2dCxmYU5ld3NwYXBlcjpENnQsZmFIb3NwaXRhbDpTRCxmYUhvc3BpdGFsQWx0OkE2dCxmYUhvc3BpdGFsV2lkZTpFNnQsZmFDaXJjbGVTdG9wOndzZSxmYVN0b3BDaXJjbGU6STZ0LGZhT2JqZWN0VW5ncm91cDpQNnQsZmFDb21tZW50Ok42dCxmYUNoZXNzUGF3bjpGNnQsZmFDYWxlbmRhclBsdXM6TzZ0LGZhQ2xpcGJvYXJkOlI2dCxmYVRodW1ic0Rvd246QjZ0LGZhSWRCYWRnZTpINnQsZmFTcXVhcmVDaGVjazpNc2UsZmFDaGVja1NxdWFyZTpxNnQsZmFDaGVzc0Jpc2hvcDpqNnQsZmFFbnZlbG9wZU9wZW46VjZ0LGZhQ2lyY2xlWG1hcms6dGYsZmFUaW1lc0NpcmNsZTpVNnQsZmFYbWFya0NpcmNsZTpXNnQsZmFTcXVhcmVDYXJldFVwOmtzZSxmYUNhcmV0U3F1YXJlVXA6RzZ0LGZhRmlsZUltYWdlOlk2dCxmYVNxdWFyZUNhcmV0UmlnaHQ6U3NlLGZhQ2FyZXRTcXVhcmVSaWdodDpaNnQsZmFTdW46REQsZmFJbWFnZTpYNnQsZmFMaWdodGJ1bGI6UTZ0LGZhQWRkcmVzc0NhcmQ6ekQsZmFDb250YWN0Q2FyZDpKNnQsZmFWY2FyZDpLNnQsZmFGYWNlTWVoOnpzZSxmYU1laDpldXQsZmFNYXA6dHV0LGZhSGFuZFBvaW50RG93bjpydXQsZmFGYWNlTWVoQmxhbms6Q3NlLGZhTWVoQmxhbms6YXV0LGZhRmFjZUdyaW5Ub25ndWU6VHNlLGZhR3JpblRvbmd1ZTppdXQsZmFGdXRib2w6Q0QsZmFGdXRib2xCYWxsOm51dCxmYVNvY2NlckJhbGw6c3V0LGZhRmFjZVN1cnByaXNlOl9zZSxmYVN1cnByaXNlOm91dCxmYUZvbGRlcjpMc2UsZmFGb2xkZXJCbGFuazpsdXQsZmFDbG91ZDpjdXQsZmFDaXJjbGU6ZHV0LGZhRmFjZUdyaW5TcXVpbnQ6JHNlLGZhR3JpblNxdWludDp1dXQsZmFDaXJjbGVVc2VyOkRzZSxmYVVzZXJDaXJjbGU6cHV0LGZhUmVjdGFuZ2xlTGlzdDpBc2UsZmFMaXN0QWx0OmZ1dCxmYUhhbmQ6RXNlLGZhSGFuZFBhcGVyOmh1dCxmYVRodW1ic1VwOm11dCxmYUJ1aWxkaW5nOmd1dCxmYUNoZXNzUm9vazpidXQsZmFDaXJjbGVRdWVzdGlvbjpJc2UsZmFRdWVzdGlvbkNpcmNsZTp2dXQsZmFGaWxlOnh1dCxmYUZhY2VTYWRDcnk6UHNlLGZhU2FkQ3J5Onl1dCxmYUNhbGVuZGFyTWludXM6d3V0LGZhRmFjZVRpcmVkOk5zZSxmYVRpcmVkOk11dCxmYUhhbmRQb2ludFJpZ2h0Omt1dCxmYUNpcmNsZVVwOkZzZSxmYUFycm93QWx0Q2lyY2xlVXA6U3V0LGZhSGFuZFNjaXNzb3JzOnp1dCxmYUdlbTpDdXQsZmFSZWN0YW5nbGVYbWFyazpVZyxmYVJlY3RhbmdsZVRpbWVzOlR1dCxmYVRpbWVzUmVjdGFuZ2xlOl91dCxmYVdpbmRvd0Nsb3NlOkx1dCxmYVRyYXNoQ2FuOlpnLGZhVHJhc2hBbHQ6JHV0LGZhTGlmZVJpbmc6RHV0LGZhQ29weXJpZ2h0OkF1dCxmYUNpcmNsZUxlZnQ6T3NlLGZhQXJyb3dBbHRDaXJjbGVMZWZ0OkV1dCxmYUNhbGVuZGFyOkl1dCxmYUZhY2VGcm93bk9wZW46UnNlLGZhRnJvd25PcGVuOlB1dCxmYUNoYXJ0QmFyOkJzZSxmYUJhckNoYXJ0Ok51dCxmYUhvdXNlOldnLGZhSG9tZTpGdXQsZmFIb21lQWx0Ok91dCxmYUhvbWVMZ0FsdDpSdXQsZmFGYWNlRnJvd246SHNlLGZhRnJvd246QnV0LGZhVXNlcjpURCxmYVVzZXJBbHQ6SHV0LGZhVXNlckxhcmdlOnF1dCxmYVNub3dmbGFrZTpqdXQsZmFCb29rbWFyazpWdXQsZmFTcXVhcmVDYXJldExlZnQ6cXNlLGZhQ2FyZXRTcXVhcmVMZWZ0OlV1dCxmYUhhbmRzaGFrZTpfRCxmYUhhbmRzaGFrZUFsdDpXdXQsZmFIYW5kc2hha2VTaW1wbGU6R3V0LGZhRmFjZVNtaWxlV2luazpqc2UsZmFTbWlsZVdpbms6WXV0LGZhRmFjZUdyaW5TcXVpbnRUZWFyczpWc2UsZmFHcmluU3F1aW50VGVhcnM6WnV0LGZhRmlsZUF1ZGlvOlh1dCxmYUNhbGVuZGFyWG1hcms6VXNlLGZhQ2FsZW5kYXJUaW1lczpRdXQsZmFDaXJjbGVEb3duOldzZSxmYUFycm93QWx0Q2lyY2xlRG93bjpKdXQsZmFGaWxlTGluZXM6TEQsZmFGaWxlQWx0Okt1dCxmYUZpbGVUZXh0OmU1dCxmYUNvbW1lbnRzOnQ1dCxmYUNpcmNsZUNoZWNrOlhnLGZhQ2hlY2tDaXJjbGU6cjV0LGZhTW9vbjphNXQsZmFDbG9zZWRDYXB0aW9uaW5nOmk1dCxmYUltYWdlczpuNXQsZmFDaXJjbGVSaWdodDpHc2UsZmFBcnJvd0FsdENpcmNsZVJpZ2h0OnM1dCxmYUlkQ2FyZDpZc2UsZmFEcml2ZXJzTGljZW5zZTpvNXQsZmFDaXJjbGVQbGF5OlpzZSxmYVBsYXlDaXJjbGU6bDV0LGZhRmFjZUxhdWdoQmVhbTpYc2UsZmFMYXVnaEJlYW06YzV0LGZhQWRkcmVzc0Jvb2s6UXNlLGZhQ29udGFjdEJvb2s6ZDV0LGZhSG91cmdsYXNzOkpzZSxmYUhvdXJnbGFzc0VtcHR5OnU1dCxmYUhlYWRwaG9uZXM6JEQsZmFIZWFkcGhvbmVzQWx0OnA1dCxmYUhlYWRwaG9uZXNTaW1wbGU6ZjV0LGZhRmlsZVBvd2VycG9pbnQ6aDV0LGZhV2luZG93TWF4aW1pemU6bTV0LGZhQ29tbWVudERvdHM6S3NlLGZhQ29tbWVudGluZzpnNXQsZmFGYWNlR3JpblRvbmd1ZVdpbms6ZW9lLGZhR3JpblRvbmd1ZVdpbms6YjV0LGZhSG91cmdsYXNzSGFsZjp0b2UsZmFIb3VyZ2xhc3MyOnY1dCxmYUNyZWRpdENhcmQ6cm9lLGZhQ3JlZGl0Q2FyZEFsdDp4NXQsZmFIYW5kU3BvY2s6eTV0LGZhQmVsbFNsYXNoOnc1dCxmYVN0YXI6TTV0LGZhRmxhZzprNXQsZmFMZW1vbjpTNXQsZmFXaW5kb3dSZXN0b3JlOno1dCxmYUZhY2VHcmluSGVhcnRzOmFvZSxmYUdyaW5IZWFydHM6QzV0LGZhRmFjZUtpc3NCZWFtOmlvZSxmYUtpc3NCZWFtOlQ1dCxmYUZpbGVQZGY6XzV0LGZhRmFjZUdyaW5XaWRlOm5vZSxmYUdyaW5BbHQ6TDV0LGZhRmFjZUxhdWdoU3F1aW50OnNvZSxmYUxhdWdoU3F1aW50OiQ1dCxmYUZhY2VLaXNzV2lua0hlYXJ0Om9vZSxmYUtpc3NXaW5rSGVhcnQ6RDV0LGZhQ29weTpBRCxmYUNoZXNzS2luZzpBNXQsZmFTcXVhcmVQbHVzOmxvZSxmYVBsdXNTcXVhcmU6RTV0LGZhRmlsZUNvZGU6STV0LGZhRmFjZUdyaW5XaW5rOmNvZSxmYUdyaW5XaW5rOlA1dCxmYU1vbmV5QmlsbDE6ZG9lLGZhTW9uZXlCaWxsQWx0Ok41dCxmYUV5ZVNsYXNoOkY1dCxmYUZpbGVXb3JkOk81dCxmYUZhY2VBbmdyeTp1b2UsZmFBbmdyeTpSNXQsZmFDaGVzc0tuaWdodDpCNXQsZmFGYWNlR3JpbkJlYW06cG9lLGZhR3JpbkJlYW06SDV0LGZhSGFuZFBlYWNlOnE1dCxmYUNvbXBhc3M6ajV0LGZhU3F1YXJlOlY1dCxmYUZhY2VHcmluOmZvZSxmYUdyaW46VTV0LGZhRmFjZVNtaWxlOmhvZSxmYVNtaWxlOlc1dCxmYUZhY2VTbWlsZUJlYW06bW9lLGZhU21pbGVCZWFtOkc1dCxmYUZvbGRlckNsb3NlZDpZNXQsZmFLZXlib2FyZDpaNXQsZmFGYWNlUm9sbGluZ0V5ZXM6Z29lLGZhTWVoUm9sbGluZ0V5ZXM6WDV0LGZhRmFjZUdyaW1hY2U6Ym9lLGZhR3JpbWFjZTpRNXQsZmFDaXJjbGVEb3Q6dm9lLGZhRG90Q2lyY2xlOko1dCxmYU9iamVjdEdyb3VwOks1dCxmYUZhY2VGbHVzaGVkOnhvZSxmYUZsdXNoZWQ6ZXB0LGZhU3RhckhhbGZTdHJva2U6eW9lLGZhU3RhckhhbGZBbHQ6dHB0LGZhRmlsZVZpZGVvOnJwdCxmYUZhY2VMYXVnaDp3b2UsZmFMYXVnaDphcHQsZmFIYW5kUG9pbnRlcjppcHQsZmFSZWdpc3RlcmVkOm5wdH19KTt2YXIgeFFyLG9wdCxscHQsY3B0LGRwdCx1cHQscHB0LGZwdCxocHQsbXB0LGdwdCxFRCxicHQsdnB0LHhwdCx5cHQsTW9lLHdwdCxrb2UsTXB0LGtwdCxTcHQsU29lLHpwdCxDcHQsVHB0LF9wdCxmYixMcHQsJHB0LHpvZSxEcHQsQXB0LEVwdCxJcHQsUHB0LE5wdCxGcHQsT3B0LENvZSxScHQsQnB0LEhwdCxUb2UscXB0LGpwdCxWcHQsVXB0LFdwdCxoYixHcHQsX29lLFlwdCxacHQsSUQsWHB0LFFwdCxMb2UsSnB0LCRvZSxLcHQsZTh0LERvZSx0OHQsQW9lLHI4dCxFb2UsYTh0LGk4dCxuOHQsczh0LG84dCxsOHQsYzh0LElvZSxkOHQsdTh0LHA4dCxmOHQsUG9lLGg4dCxtOHQsZzh0LGI4dCx2OHQseDh0LFBELHk4dCx3OHQsTTh0LE5ELGs4dCxTOHQsejh0LE5vZSxDOHQsVDh0LF84dCxMOHQsRm9lLCQ4dCwkQSxEOHQsREEsQTh0LEU4dCxPb2UsSTh0LFJvZSxQOHQsTjh0LEZELEY4dCxPOHQsUjh0LEI4dCxIOHQscTh0LGo4dCxWOHQsQUEsbWIsVTh0LFc4dCxCb2UsRzh0LFk4dCxRZyxaOHQsWDh0LFE4dCxIb2UsSjh0LEs4dCxlZnQscW9lLHRmdCxqb2UscmZ0LGFmdCxpZnQsbmZ0LFZvZSxzZnQsb2Z0LGxmdCxVb2UsY2Z0LFdvZSxkZnQsdWZ0LHBmdCxmZnQsT0QsaGZ0LG1mdCxnZnQsYmZ0LHZmdCx4ZnQseWZ0LEdvZSx3ZnQsTWZ0LGtmdCxTZnQsemZ0LFlvZSxDZnQsVGZ0LEpnLF9mdCxMZnQsJGZ0LERmdCxBZnQsRWZ0LFJELElmdCxQZnQsTmZ0LEZmdCxPZnQsWm9lLFJmdCxCZnQsSGZ0LHFmdCxqZnQsVmZ0LFhvZSxVZnQsV2Z0LEdmdCxZZnQsUW9lLFpmdCxYZnQsUWZ0LEpvZSxKZnQsS2Z0LEtvZSxlaHQsZTJlLHRodCxyaHQsdDJlLGFodCxpaHQscjJlLG5odCxhMmUsc2h0LG9odCxnYixsaHQsYmIsY2h0LGRodCxCRCx1aHQscGh0LGZodCxpMmUsaGh0LG1odCxuMmUsZ2h0LGJodCx2aHQseGh0LHMyZSx5aHQsd2h0LE1odCxraHQsU2h0LG8yZSx6aHQsQ2h0LFRodCxfaHQsbDJlLExodCxjMmUsJGh0LERodCxBaHQsRWh0LElodCxkMmUsUGh0LE5odCxGaHQsT2h0LHUyZSxSaHQsQmh0LHAyZSxIaHQsZjJlLHFodCxqaHQsVmh0LFVodCxXaHQsR2h0LGgyZSxZaHQsWmh0LFhodCxRaHQsSmh0LG0yZSxLaHQsZW10LHRtdCxybXQsZzJlLGFtdCxiMmUsaW10LEVBLElBLHYyZSxubXQseDJlLHNtdCxvbXQsbG10LExiLHkyZSxjbXQsZG10LHVtdCxwbXQsZm10LGhtdCx3MmUsbW10LFBBLGdtdCxibXQsdm10LHhtdCx5bXQsTTJlLHdtdCxrMmUsTW10LGttdCxTbXQsem10LFMyZSxDbXQsSEQsVG10LF9tdCxMbXQsejJlLCRtdCxEbXQsQW10LEVtdCxDMmUsSW10LFBtdCxObXQsRm10LFQyZSxPbXQsUm10LEJtdCxIbXQscW10LGptdCxWbXQsVW10LFdtdCxHbXQsWW10LFptdCxYbXQsXzJlLFFtdCxKbXQsS210LGU3dCx0N3Qscjd0LGE3dCxMMmUsaTd0LG43dCxzN3QscmYsbzd0LGw3dCxjN3QsZDd0LHU3dCwkMmUscDd0LEQyZSxmN3QsQTJlLGg3dCxFMmUsbTd0LEkyZSxnN3QsdmIsYjd0LFAyZSx2N3QsTjJlLHg3dCxGMmUseTd0LHc3dCxNN3Qsazd0LE8yZSxTN3Qsejd0LFIyZSxDN3QsVDd0LEIyZSxfN3QsTDd0LCQ3dCxEN3QsSDJlLEE3dCxFN3QsSTd0LHEyZSxQN3QsTjd0LEtnLEY3dCxPN3QsUjd0LEI3dCxIN3QscTd0LGoyZSxqN3QsVjJlLFY3dCxVN3QsVzd0LFUyZSxHN3QsWTd0LFo3dCxXMmUsWDd0LEcyZSxRN3QscUQsSjd0LEs3dCxlOXQsdDl0LHI5dCxhOXQsaTl0LG45dCxzOXQsbzl0LGw5dCxjOXQsZDl0LHU5dCxlYixwOXQsZjl0LGg5dCxtOXQsZzl0LGI5dCx2OXQseDl0LFkyZSx5OXQsdzl0LE05dCxrOXQsUzl0LHo5dCxDOXQsVDl0LF85dCxMOXQsWjJlLCQ5dCxEOXQsQTl0LEU5dCxJOXQsUDl0LE45dCxYMmUsRjl0LFEyZSxPOXQsUjl0LEoyZSxCOXQsSDl0LHE5dCxqOXQsSzJlLFY5dCxVOXQsVzl0LGVsZSxHOXQsdGxlLFk5dCxaOXQscmxlLFg5dCxROXQsSjl0LEs5dCxhbGUsZWd0LHRndCxyZ3QsTkEsYWd0LGlndCxuZ3QsaWxlLHNndCxvZ3QsbGd0LGNndCxkZ3QsbmxlLHVndCxwZ3QsZmd0LGhndCxtZ3Qsc2xlLGdndCxiZ3Qsdmd0LG9sZSx4Z3QseWd0LGpELHdndCxNZ3Qsa2d0LFNndCxsbGUsemd0LENndCxUZ3QsY2xlLF9ndCxkbGUsTGd0LCRndCxEZ3QsQWd0LHhiLEVndCx1bGUsSWd0LFBndCxOZ3QsRmd0LE9ndCxwbGUsUmd0LGZsZSxCZ3QsaGxlLEhndCxxZ3QsVkQsamd0LFZndCxtbGUsVWd0LFVELFdndCxHZ3QsWWd0LFpndCxYZ3QsUWd0LEpndCxLZ3QsZ2xlLGVidCx0YnQscmJ0LGFidCxpYnQsYmxlLG5idCxzYnQsb2J0LHZsZSxsYnQseGxlLGNidCx5bGUsZGJ0LHVidCxwYnQsZmJ0LGhidCxtYnQsZ2J0LHdsZSxiYnQsdmJ0LHhidCx5YnQsTWxlLHdidCxNYnQsa2J0LFNidCx6YnQsQ2J0LGtsZSxUYnQsX2J0LFNsZSxMYnQsJGJ0LHpsZSxEYnQsQWJ0LEVidCxJYnQsQ2xlLFBidCxOYnQsRmJ0LFRsZSxPYnQsX2xlLFJidCxCYnQsSGJ0LHFidCxMbGUsamJ0LFZidCxVYnQsV2J0LEdidCwkbGUsWWJ0LERsZSxaYnQsQWxlLFhidCxRYnQsRWxlLEpidCxJbGUsS2J0LGV2dCx0dnQscnZ0LGF2dCxpdnQsbnZ0LHN2dCxvdnQsbHZ0LGN2dCxXRCxkdnQsdXZ0LG9mLHB2dCxmdnQsaHZ0LEdELG12dCxndnQsYnZ0LHZ2dCx4dnQseXZ0LHd2dCxQbGUsTXZ0LE5sZSxrdnQsU3Z0LHp2dCxGbGUsQ3Z0LE9sZSxUdnQsX3Z0LFlELEx2dCwkdnQsRHZ0LEF2dCxhZixFdnQsSXZ0LFB2dCxOdnQsRnZ0LE92dCxSdnQsUmxlLEJ2dCxIdnQscXZ0LGp2dCxCbGUsVnZ0LFV2dCxXdnQsR3Z0LFl2dCxadnQsWHZ0LEhsZSxRdnQsSnZ0LEt2dCxleHQsdHh0LHJ4dCxxbGUsYXh0LEZBLGpsZSxpeHQsbnh0LHN4dCxWbGUsb3h0LFVsZSxseHQsY3h0LGR4dCxXbGUsdXh0LHB4dCxHbGUsZnh0LGh4dCxteHQsZ3h0LFlsZSxieHQsdnh0LHh4dCx5eHQsd3h0LE14dCxabGUsa3h0LFN4dCxPQSx6eHQsQ3h0LFhsZSxUeHQsX3h0LEx4dCx0YiwkeHQsRHh0LEF4dCxFeHQscmIsSXh0LFB4dCxOeHQsRnh0LE94dCxSeHQsUWxlLEJ4dCxaRCxIeHQscXh0LGp4dCxKbGUsVnh0LFV4dCxXeHQsR3h0LFl4dCxaeHQsWHh0LEtsZSxReHQsUkEsSnh0LEt4dCxleXQsZWNlLHR5dCx0Y2Uscnl0LGF5dCxyY2UsaXl0LGFiLG55dCxzeXQsb3l0LGx5dCxjeXQsZHl0LHV5dCxweXQsZnl0LGFjZSxoeXQsbXl0LGd5dCxieXQsWEQsdnl0LHh5dCxpY2UseXl0LHd5dCxNeXQsbmNlLGt5dCxTeXQsenl0LHNjZSxDeXQsVHl0LF95dCxMeXQsJHl0LER5dCxBeXQsRXl0LEl5dCxvY2UsUHl0LGxjZSxOeXQsRnl0LE95dCxSeXQsQnl0LEh5dCxxeXQsY2NlLGp5dCxWeXQsVXl0LGRjZSxXeXQsR3l0LHVjZSxZeXQscGNlLFp5dCxmY2UsWHl0LFF5dCxKeXQsaGNlLEt5dCxtY2UsZXd0LGdjZSx0d3Qscnd0LGJjZSxhd3QsdmNlLGl3dCx4Y2Usbnd0LHN3dCx5Y2Usb3d0LGx3dCxjd3QsZHd0LHV3dCxwd3QsZnd0LGh3dCxtd3QsZ3d0LHdjZSxid3QsTWNlLHZ3dCxrY2UseHd0LHl3dCxCQSx3d3QsU2NlLE13dCxrd3QsU3d0LHpjZSx6d3QsQ3d0LENjZSxUd3QseWIsX3d0LEx3dCwkd3QsVGNlLER3dCxfY2UsQXd0LEV3dCxMY2UsSXd0LCRjZSxQd3QsRGNlLE53dCxGd3QsT3d0LFJ3dCxCd3QsQWNlLEh3dCxFY2UscXd0LGp3dCxWd3QsVXd0LEljZSxXd3QsR3d0LFl3dCxQY2UsWnd0LFh3dCxRd3QsTmNlLEp3dCxLd3QsZU10LHRNdCxGY2Usck10LGFNdCxPY2UsaU10LG5NdCxzTXQsUmNlLG9NdCxsTXQsY010LEJjZSxkTXQsSGNlLHVNdCxRRCxwTXQsZk10LGhNdCxxY2UsbU10LGdNdCxiTXQsamNlLHZNdCx4TXQseU10LFZjZSx3TXQsTU10LGtNdCxTTXQsek10LENNdCxUTXQsX010LExNdCwkTXQsRE10LEFNdCxVY2UsRU10LEhBLElNdCxXY2UsUE10LE5NdCxGTXQsT010LEdjZSxSTXQsQk10LEhNdCxxTXQsak10LFZNdCxVTXQsaWIsV010LEdNdCxZTXQsWk10LHdiLFhNdCxZY2UsUU10LEpNdCxLTXQsWmNlLGVrdCx0a3QsWGNlLHJrdCxha3QsaWt0LG5rdCxza3QsUWNlLG9rdCxKY2UsbGt0LGNrdCxka3QsS2NlLHVrdCxwa3QsZmt0LGUwZSxoa3QsbWt0LGdrdCxia3Qsdmt0LHhrdCx5a3QsdDBlLHdrdCxxQSxNa3Qsa2t0LFNrdCxyMGUsemt0LENrdCxhMGUsVGt0LGkwZSxfa3QsTGt0LCRrdCxuMGUsRGt0LHMwZSxBa3QsbzBlLEVrdCxJa3QsbDBlLFBrdCxOa3QsRmt0LE9rdCxjMGUsUmt0LG5iLEJrdCxIa3QscWt0LGprdCxkMGUsVmt0LHUwZSxVa3QsV2t0LEdrdCxZa3QscDBlLFprdCxzYixYa3QsUWt0LEprdCxmMGUsS2t0LGVTdCx0U3QsclN0LGgwZSxhU3QsbTBlLGlTdCxuU3Qsc1N0LGcwZSxvU3QsYjBlLGxTdCxjU3QsdjBlLGRTdCx4MGUsdVN0LHkwZSxwU3QsdzBlLGZTdCxoU3QsbVN0LGdTdCxNMGUsYlN0LHZTdCx4U3QseVN0LHdTdCxNU3Qsa1N0LFNTdCxrMGUselN0LFMwZSxDU3QsVFN0LF9TdCxMU3QsejBlLCRTdCxEU3QsSkQsQVN0LEVTdCxJU3QsUFN0LE5TdCxGU3QsT1N0LG9iLFJTdCxCU3QsSFN0LHFTdCxqU3QsVlN0LFVTdCxXU3QsR1N0LFlTdCxaU3QsWFN0LFFTdCxLRCxKU3QsS1N0LGV6dCx0enQscnp0LGF6dCxDMGUsaXp0LFQwZSxuenQsc3p0LG96dCxlQSxsenQsY3p0LGR6dCxfMGUsdXp0LHRBLHB6dCxmenQsaHp0LG16dCxqQSxyQSxnenQsYnp0LEwwZSx2enQseHp0LHl6dCx3enQsJDBlLE16dCxrenQsRDBlLFN6dCx6enQsQTBlLEN6dCxUenQsX3p0LEx6dCwkenQsRHp0LGFBLEF6dCxFenQsRTBlLEl6dCxQenQsTnp0LEZ6dCxPenQsUnp0LEJ6dCxIenQsSTBlLHF6dCxqenQsUDBlLFZ6dCxOMGUsVXp0LFd6dCxXNCxHenQsWXp0LFp6dCxYenQsRjBlLFF6dCxKenQsS3p0LGVDdCxPMGUsdEN0LFIwZSxyQ3QsaUEsYUN0LGlDdCxuQ3QsQjBlLHNDdCxWQSxvQ3QsbEN0LEgwZSxjQ3QsbkEsZEN0LHVDdCxwQ3QsZkN0LGhDdCxtQ3QsTWIsZ0N0LGJDdCxxMGUsdkN0LHhDdCx5Q3QsajBlLHdDdCxWMGUsTUN0LGxiLGtDdCxTQ3QsekN0LENDdCxUQ3QsX0N0LExDdCxVMGUsJEN0LERDdCxXMGUsQUN0LEcwZSxFQ3QsWTBlLElDdCxQQ3QsTkN0LEZDdCxPQ3QsUkN0LFowZSxCQ3QsSEN0LHFDdCxqQ3QsVkN0LFgwZSxVQ3QsUTBlLFdDdCxKMGUsR0N0LFlDdCxaQ3Qsc0EsWEN0LFFDdCxKQ3QsS0N0LGVUdCxLMGUsdFR0LGU0ZSxyVHQsYVR0LGlUdCxuVHQsdDRlLHNUdCxyNGUsb1R0LGxUdCxvQSxjVHQsZFR0LHVUdCxwVHQsZlR0LGE0ZSxoVHQsbVR0LGk0ZSxnVHQsbjRlLGJUdCx2VHQseFR0LHlUdCx3VHQsTVR0LGtUdCxTVHQselR0LENUdCxzNGUsVFR0LF9UdCxMVHQsJFR0LGxBLERUdCxBVHQsRVR0LElUdCxvNGUsUFR0LE5UdCxsNGUsRlR0LE9UdCxSVHQsQlR0LGM0ZSxIVHQscVR0LGpUdCxrYixWVHQsVVR0LGNBLFdUdCxHVHQsZDRlLFlUdCxaVHQsWFR0LFFUdCxKVHQsdTRlLEtUdCxlX3QscDRlLHRfdCxmNGUscl90LGFfdCxpX3Qsbl90LHNfdCxoNGUsb190LG00ZSxsX3QsZzRlLGNfdCxkX3QsdV90LHBfdCxiNGUsZl90LGhfdCx2NGUsbV90LGdfdCxiX3QseDRlLHZfdCx4X3QsZEEseV90LHdfdCx5NGUsTV90LHc0ZSxrX3QsTTRlLFNfdCxVQSxrNGUsel90LFM0ZSxDX3QsVF90LF9fdCxMX3QsJF90LERfdCx1QSxBX3QsRV90LElfdCx6NGUsUF90LE5fdCxGX3QscEEsT190LFJfdCxCX3QsSF90LGZBLHFfdCxqX3QsVl90LFVfdCxDNGUsV190LFQ0ZSxHX3QsWV90LFpfdCxYX3QsUV90LGhBLEpfdCxLX3QsZUx0LHRMdCxyTHQsYUx0LG1BLGlMdCxuTHQsc0x0LF80ZSxvTHQsbEx0LGNMdCxkTHQsTDRlLHVMdCxwTHQsZkx0LGhMdCxtTHQsZ0x0LCQ0ZSxiTHQsdkx0LHhMdCx5THQsRDRlLHdMdCxNTHQsY2Isa0x0LFNMdCx6THQsQTRlLENMdCxUTHQsX0x0LExMdCwkTHQsREx0LEFMdCxFTHQsSUx0LEU0ZSxQTHQsTkx0LEk0ZSxGTHQsT0x0LFJMdCxQNGUsQkx0LEhMdCxxTHQsakx0LFZMdCxONGUsVUx0LFdBLEY0ZSxXTHQsR0x0LFlMdCxaTHQsWEx0LE80ZSxRTHQsSkx0LEtMdCxlJHQsdCR0LFI0ZSxyJHQsYSR0LGkkdCxuJHQscyR0LGdBLG8kdCxsJHQsYyR0LGQkdCx1JHQsQjRlLHAkdCxINGUsZiR0LGgkdCxtJHQsYkEsZyR0LGIkdCx2JHQscTRlLHgkdCxqNGUseSR0LHckdCxNJHQsayR0LFMkdCx6JHQsVjRlLEMkdCxUJHQsVTRlLF8kdCxXNGUsTCR0LEc0ZSwkJHQsRCR0LFk0ZSxBJHQsWjRlLEUkdCxJJHQsUCR0LE4kdCxGJHQsTyR0LFIkdCxCJHQsSCR0LFg0ZSxxJHQsaiR0LHZBLFYkdCxVJHQsUTRlLFckdCxHJHQsWSR0LEo0ZSxaJHQsWCR0LFEkdCxKJHQsSzRlLEskdCxlRHQsdER0LHJEdCxhRHQsZTNlLGlEdCxuRHQsc0R0LHhBLG9EdCxsRHQsY0R0LGREdCx1RHQscER0LHlBLGZEdCxoRHQsbUR0LHQzZSxnRHQscjNlLGJEdCx2RHQseER0LHlEdCxhM2Usd0R0LGkzZSxNRHQsa0R0LG4zZSxTRHQsekR0LHMzZSxDRHQsVER0LF9EdCxMRHQsbzNlLCREdCxERHQsQUR0LEVEdCxTYixJRHQsR0EsUER0LE5EdCxGRHQsT0R0LGwzZSxSRHQsYzNlLEJEdCxIRHQscUR0LGpEdCxkYixWRHQsVUR0LFdEdCx1YixHRHQsWUR0LFpEdCxkM2UsWER0LFFEdCx3QSxKRHQsS0R0LGVBdCx0QXQsdTNlLHJBdCxhQXQsaUF0LHAzZSxuQXQsc0F0LG9BdCxsQXQsY0F0LGYzZSxkQXQsTUEsdUF0LHBBdCxmQXQsaEF0LG1BdCxnQXQsaDNlLGJBdCxtM2UsdkF0LGczZSx4QXQseUF0LGIzZSx3QXQsWUEsdjNlLE1BdCxrQXQsU0F0LHgzZSx6QXQsQ0F0LFpBLHkzZSxUQXQsX0F0LExBdCwkQXQsbmYsREF0LEFBdCxFQXQsSUF0LHczZSxQQXQsTkF0LEZBdCxNM2UsT0F0LFJBdCxCQXQsSEF0LGszZSxxQXQsakF0LFZBdCxVQXQsV0F0LGtBLEdBdCxZQXQsemIsWkF0LFMzZSxYQXQsejNlLFFBdCxKQXQsS0F0LGVFdCxDM2UsdEV0LHJFdCxhRXQsaUV0LFQzZSxuRXQsc0V0LG9FdCxfM2UsbEV0LGNFdCxkRXQsdUV0LEwzZSxwRXQsZkV0LGhFdCwkM2UsbUV0LGdFdCxiRXQsQ2IsdkV0LHhFdCxEM2UseUV0LEEzZSx3RXQsRTNlLE1FdCxJM2Usa0V0LFNFdCxQM2UsekV0LENFdCxURXQsX0V0LExFdCwkRXQsTjNlLERFdCxBRXQsRjNlLEVFdCxJRXQsTzNlLFBFdCxORXQsRkV0LFIzZSxPRXQsUkV0LEJFdCxIRXQscUV0LHNmLGpFdCxWRXQsVUV0LFdFdCxHRXQsWUV0LFpFdCxYRXQsUUV0LEpFdCxLRXQsZUl0LHRJdCxySXQsYUl0LGlJdCxuSXQsQjNlLHNJdCxvSXQsbEl0LGNJdCxIM2UsZEl0LHVJdCxwSXQscGIsZkl0LGhJdCxtSXQsZ0l0LGJJdCxxM2Usdkl0LFRiLHhJdCx5SXQsd0l0LGozZSxNSXQsa0l0LFNJdCx6SXQsVjNlLENJdCxUSXQsVTNlLF9JdCxMSXQsJEl0LFczZSxESXQsQUl0LEczZSxFSXQsWTNlLElJdCxQSXQsTkl0LEZJdCxPSXQsWjNlLFJJdCxCSXQsSEl0LFgzZSxxSXQsakl0LFZJdCxVSXQsV0l0LEdJdCxZSXQsUTNlLFpJdCxKM2UsWEl0LEszZSxRSXQsU0EsSkl0LEtJdCxlZGUsZVB0LHRkZSx0UHQscmRlLHJQdCxhUHQsaVB0LG5QdCxzUHQsb1B0LGFkZSxsUHQsaWRlLGNQdCxkUHQsdVB0LHBQdCxmUHQsbmRlLGhQdCxzZGUsbVB0LG9kZSxnUHQsbGRlLGJQdCx2UHQseFB0LHlQdCxjZGUsd1B0LE1QdCx6QSxrUHQsU1B0LGRkZSx6UHQsQ1B0LFRQdCxfUHQsdWRlLExQdCwkUHQsRFB0LEFQdCxwZGUsRVB0LGxmLElQdCxQUHQsZmRlLE5QdCxoZGUsRlB0LE9QdCxSUHQsQ0EsQlB0LEhQdCxxUHQsbWRlLGpQdCxnZGUsVlB0LGJkZSxVUHQsdmRlLFdQdCxHUHQsWVB0LFpQdCxYUHQsUVB0LEpQdCxUQSxLUHQsZU50LHROdCxyTnQsYU50LHhkZSxpTnQsbk50LHNOdCxvTnQsbE50LGNOdCx5ZGUsZE50LHVOdCx3ZGUscE50LGZOdCxfQSxoTnQsbU50LGdOdCxfYixiTnQsdk50LHhOdCxNZGUseU50LGtkZSx3TnQsTU50LGtOdCxTTnQsek50LFNkZSxDTnQsVE50LF9OdCxMTnQsJE50LExBLEROdCxBTnQsRU50LElOdCxQTnQsemRlLE5OdCxDZGUsRk50LE9OdCxUZGUsUk50LF9kZSxCTnQsTGRlLEhOdCwkZGUscU50LGpOdCxEZGUsVk50LFVOdCxXTnQsR050LFlOdCxaTnQseVFyLFhOdD1mKCgpPT57eFFyPSJmYXMiLG9wdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiIwIixpY29uOlszMjAsNTEyLFtdLCIzMCIsIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMyczE2MCA3MS42IDE2MCAxNjBsMCAxMjhjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMEwwIDE5MnpNMTYwIDk2Yy01MyAwLTk2IDQzLTk2IDk2bDAgMTI4YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0xMjhjMC01My00My05Ni05Ni05NnoiXX0sbHB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjEiLGljb246WzI1Niw1MTIsW10sIjMxIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw2NCAwIDAgMzIwLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC0zNTJjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LGNwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiIyIixpY29uOlszODQsNTEyLFtdLCIzMiIsIk00OCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNzEgMGM2MC4yIDAgMTA5IDQ4LjggMTA5IDEwOSAwIDQzLjgtMjYuMiA4My4zLTY2LjQgMTAwLjRsLTEzOS4xIDU5QzExOSAzMTUuNCA5NiAzNTAuMiA5NiAzODguN2wwIDI3LjMgMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTU5LjNjMC02NC4yIDM4LjQtMTIyLjIgOTcuNS0xNDcuM2wxMzkuMS01OWMxNi42LTcuMSAyNy40LTIzLjQgMjcuNC00MS40IDAtMjQuOS0yMC4yLTQ1LTQ1LTQ1TDgwIDk2QzYyLjMgOTYgNDggODEuNyA0OCA2NHoiXX0sZHB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjMiLGljb246WzMyMCw1MTIsW10sIjMzIiwiTTgwIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NEwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsMTYwIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjggMCAzOC4yLTE2LjggNzIuNS00My4zIDk2IDI2LjYgMjMuNSA0My4zIDU3LjggNDMuMyA5NiAwIDcwLjctNTcuMyAxMjgtMTI4IDEyOEwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRMODAgMjg4eiJdfSx1cHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiNCIsaWNvbjpbMzg0LDUxMixbXSwiMzQiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCAyODhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIyNC0xOTIgMCAwLTIyNHoiXX0scHB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjUiLGljb246WzMyMCw1MTIsW10sIjM1IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwIDAgMTEyIDEyMCAwYzc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2UzI1OS4xIDQ4MCAxODQgNDgwTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNTIgMGMzOS44IDAgNzItMzIuMiA3Mi03MnMtMzIuMi03Mi03Mi03MkwzMiAyNzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgNjR6Il19LGZwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI2IixpY29uOlszODQsNTEyLFtdLCIzNiIsIk0yNTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTg4IDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4bDAgMzIuMmMyMi45LTE1LjMgNTAuNC0yNC4yIDgwLTI0LjJsNDggMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NFMyODcuNSA0ODAgMjA4IDQ4MGwtNDggMEM4MC41IDQ4MCAxNiA0MTUuNSAxNiAzMzZsMC0xNTJDMTYgMTAwLjEgODQuMSAzMiAxNjggMzJsODggMHpNODAgMzM2YzAgNDQuMiAzNS44IDgwIDgwIDgwbDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgweiJdfSxocHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiNyIsaWNvbjpbMzIwLDUxMixbXSwiMzciLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwyNTYgMGMxMS41IDAgMjIgNi4xIDI3LjcgMTYuMXM1LjcgMjIuMi0uMSAzMi4xbC0yMjQgMzg0Yy04LjkgMTUuMy0yOC41IDIwLjQtNDMuOCAxMS41cy0yMC40LTI4LjUtMTEuNS00My44TDIzMi4zIDk2IDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6Il19LG1wdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI4IixpY29uOlszMjAsNTEyLFtdLCIzOCIsIk0zMDQgMTYwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC0zMiAwYy03MC43IDAtMTI4IDU3LjMtMTI4IDEyOCAwIDM0LjYgMTMuNyA2NiAzNiA4OS0zMS41IDIzLjMtNTIgNjAuOC01MiAxMDMgMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsNjQgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOCAwLTQyLjItMjAuNS03OS43LTUyLTEwMyAyMi4zLTIzIDM2LTU0LjQgMzYtODl6TTE3Ni4xIDI4OGwxNS45IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRsNDguMSAwem0wLTY0TDE0NCAyMjRjLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMzUuMyAyOC43LTY0IDY0LTY0bDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAzNS4zLTI4LjYgNjQtNjQgNjR6Il19LGdwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI5IixpY29uOlszODQsNTEyLFtdLCIzOSIsIk0yMDggMzIwYzI5LjYgMCA1Ny4xLTguOSA4MC0yNC4ybDAgMzIuMmMwIDQ4LjYtMzkuNCA4OC04OCA4OEw5NiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTA0IDBjODMuOSAwIDE1Mi02OC4xIDE1Mi0xNTJsMC0xNTIuMUMzNTEuOSA5Ni40IDI4Ny41IDMyIDIwOCAzMmwtNDggMEM4MC41IDMyIDE2IDk2LjUgMTYgMTc2UzgwLjUgMzIwIDE2MCAzMjBsNDggMHptODAtMTQ0YzAgNDQuMi0zNS44IDgwLTgwIDgwbC00OCAwYy00NC4yIDAtODAtMzUuOC04MC04MHMzNS44LTgwIDgwLTgwbDQ4IDBjNDQuMiAwIDgwIDM1LjggODAgODB6Il19LEVEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvbGxhci1zaWduIixpY29uOlszMjAsNTEyLFsxMjgxNzgsNjE3ODEsImRvbGxhciIsInVzZCJdLCIyNCIsIk0xMzYgMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTExNC45IDBjLTI0LjkgMC00NS4xIDIwLjItNDUuMSA0NS4xIDAgMjIuNSAxNi41IDQxLjUgMzguNyA0NC43bDkxLjYgMTMuMWM1My44IDcuNyA5My43IDUzLjcgOTMuNyAxMDggMCA2MC4zLTQ4LjkgMTA5LjEtMTA5LjEgMTA5LjFsLTEwLjkgMCAwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDAtNzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMzAuOSAwYzI0LjkgMCA0NS4xLTIwLjIgNDUuMS00NS4xIDAtMjIuNS0xNi41LTQxLjUtMzguNy00NC43bC05MS42LTEzLjFDNTUuOSAyNzMuNSAxNiAyMjcuNCAxNiAxNzMuMSAxNiAxMTIuOSA2NC45IDY0IDEyNS4xIDY0bDEwLjkgMCAwLTQweiJdfSxicHQ9RUQsdnB0PUVELHhwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkb2ciLGljb246WzU3Niw1MTIsWzEyODAyMV0sImY2ZDMiLCJNMzIgMTEyYzE2LjYgMCAzMC4yIDEyLjYgMzEuOCAyOC43bC4zIDYuNkM2NS44IDE2My40IDc5LjQgMTc2IDk2IDE3NmwxNzkuMSAwIDE0MC45IDYwLjQgMCAyNDMuNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMzEuM0MyOTYgMzYxIDI2OC44IDM2OCAyNDAgMzY4cy01Ni03LTgwLTE5LjNMMTYwIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNDUuNmMtMzcuMy0xMy4yLTY0LTQ4LjYtNjQtOTAuNCAwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzU1LjgtMzJjNy43IDAgMTQuOSAzLjYgMTkuNiA5LjhMMzkyIDAgNDQ0LjEgMGMxMi43IDAgMjQuOSA1LjEgMzMuOSAxNC4xTDQ5NiAzMiA1NTIgMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtNjQgMC03IDI4LTEyNC43LTUzLjQgMzEuNi0xNDcuMkMzMzQuMy0yMy45IDM0NC4yLTMyIDM1NS44LTMyek00NDggNDRhMjAgMjAgMCAxIDAgMCA0MCAyMCAyMCAwIDEgMCAwLTQweiJdfSx5cHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stbW92aW5nIixpY29uOls2NDAsNTEyLFtdLCJmNGRmIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MjRjMCA0OC42IDM5LjQgODggODggODggMjUuMiAwIDQ4LTEwLjYgNjQtMjcuNiAxNiAxNyAzOC44IDI3LjYgNjQgMjcuNiA0MC4zIDAgNzQuMi0yNy4xIDg0LjctNjRsMTM0LjYgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0IDQzIDAgNzguOS0zMC45IDg2LjUtNzEuNyAyMC0xMC44IDMzLjUtMzIgMzMuNS01Ni4zbDAtMTQ2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTc2IDE0Ni43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43bC01MC43IDAgMC0zMmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNDgwIDE5Mmw1MC43IDAgNDUuMyA0NS4zIDAgNTAuNy05NiAwIDAtOTZ6TTg4IDM4NGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTM5MiA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0yMTYgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sTW9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvdGF0ZSIsaWNvbjpbNTEyLDUxMixbMTI4MjYwLCJzeW5jLWFsdCJdLCJmMmYxIiwiTTQ4MC4xIDE5Mmw3LjkgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTE0NGMwLTkuNy01LjgtMTguNS0xNC44LTIyLjJTNDc3LjkgLjIgNDcxIDdMNDE5LjMgNTguOEMzNzUgMjIuMSAzMTggMCAyNTYgMCAxMjcgMCAyMC4zIDk1LjQgMi42IDIxOS41IC4xIDIzNyAxMi4yIDI1My4yIDI5LjcgMjU1LjdzMzMuNy05LjcgMzYuMi0yNy4xQzc5LjIgMTM1LjUgMTU5LjMgNjQgMjU2IDY0IDMwMC40IDY0IDM0MS4yIDc5IDM3My43IDEwNC4zTDMyNyAxNTFjLTYuOSA2LjktOC45IDE3LjItNS4yIDI2LjJTMzM0LjMgMTkyIDM0NCAxOTJsMTM2LjEgMHptMjkuNCAxMDAuNWMyLjUtMTcuNS05LjctMzMuNy0yNy4xLTM2LjJzLTMzLjcgOS43LTM2LjIgMjcuMWMtMTMuMyA5My05My40IDE2NC41LTE5MC4xIDE2NC41LTQ0LjQgMC04NS4yLTE1LTExNy43LTQwLjNMMTg1IDM2MWM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4yUzE3Ny43IDMyMCAxNjggMzIwTDI0IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRMMCA0ODhjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yUzM0LjEgNTExLjggNDEgNTA1bDUxLjgtNTEuOEMxMzcgNDg5LjkgMTk0IDUxMiAyNTYgNTEyIDM4NSA1MTIgNDkxLjcgNDE2LjYgNTA5LjQgMjkyLjV6Il19LHdwdD1Nb2Usa29lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1taW51cyIsaWNvbjpbNDQ4LDUxMixbNjE3NjcsIm1pbnVzLXNxdWFyZSJdLCJmMTQ2IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTcyIDIwMGwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LE1wdD1rb2Usa3B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFsaWduLWp1c3RpZnkiLGljb246WzQ0OCw1MTIsW10sImYwMzkiLCJNNDQ4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5NmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnptMCAyNTZjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0wIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek00NDggNDQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnoiXX0sU3B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLWNoZWNrIixpY29uOls0NDgsNTEyLFtdLCJmMjc0IiwiTTMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMjIgMTYxLjdjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zTDE4OS4xIDMzMS4yIDEzNyAyNzkuMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM1IDUgMTEuOSA3LjUgMTguOCA3czEzLjQtNC4xIDE3LjUtOS44TDM0Ny4zIDE5NS4yYzcuOC0xMC43IDUuNC0yNS43LTUuMy0zMy41eiJdfSxTb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1raXNzIixpY29uOls1MTIsNTEyLFsxMjg1MzUsImtpc3MiXSwiZjU5NiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjQwIDI4OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tOTYtODBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0senB0PVNvZSxDcHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2l0Y2hlbi1zZXQiLGljb246WzU3Niw1MTIsW10sImU1MWEiLCJNMjQwIDE0NGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6bTQ0LjQgMzJDMjY5LjkgMjQwLjEgMjEyLjUgMjg4IDE0NCAyODggNjQuNSAyODggMCAyMjMuNSAwIDE0NFM2NC41IDAgMTQ0IDBjNjguNSAwIDEyNS45IDQ3LjkgMTQwLjQgMTEybDcxLjggMGM4LjgtOS44IDIxLjYtMTYgMzUuOC0xNmwxMDQgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTA0IDBjLTE0LjIgMC0yNy02LjItMzUuOC0xNmwtNzEuOCAwek0xNDQgODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQwMCAyNDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA4IDk2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI0MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDk2IDAgMC04YzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yODggNDY0bDAtMTEyIDIyNCAwIDAgMTEyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6TTQ4IDMyMGwxMjggMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTYgMGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCA2NGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMCAwIDMyIDE2IDB6TTI0IDQ2NGwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFRwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkbmEiLGljb246WzM4NCw1MTIsWzEyOTUxNl0sImY0NzEiLCJNMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzIgMCA1Ny44LTI0LjQgMTA0LjgtNTcuNCAxNDQuNS0yNC4xIDI4LjktNTMuOCA1NS4xLTgzLjYgNzkuNSAyOS44IDI0LjUgNTkuNSA1MC42IDgzLjYgNzkuNSAzMyAzOS42IDU3LjQgODYuNyA1Ny40IDE0NC41IDAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDY0IDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ5Ny43IDAgNDgwQzAgNDIyLjIgMjQuNCAzNzUuMiA1Ny40IDMzNS41IDgxLjUgMzA2LjYgMTExLjIgMjgwLjUgMTQxIDI1NiAxMTEuMiAyMzEuNSA4MS41IDIwNS40IDU3LjQgMTc2LjUgMjQuNCAxMzYuOCAwIDg5LjggMCAzMiAwIDE0LjMgMTQuMyAwIDMyIDBTNjQgMTQuMyA2NCAzMmwyNTYgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjgzLjUgMzg0bC0xODIuOSAwYy04LjIgMTAuNS0xNS4xIDIxLjEtMjAuNiAzMmwyMjQuMiAwYy01LjYtMTAuOS0xMi41LTIxLjUtMjAuNi0zMnpNMjM4IDMzNmMtMTQuMy0xMy0yOS44LTI1LjgtNDYtMzktMTYuMiAxMy4xLTMxLjcgMjYtNDYgMzlsOTIgMHpNMTAwLjUgMTI4bDE4Mi45IDBjOC4yLTEwLjUgMTUuMS0yMS4xIDIwLjYtMzJMNzkuOSA5NmM1LjYgMTAuOSAxMi41IDIxLjUgMjAuNiAzMnpNMTQ2IDE3NmMxNC4zIDEzIDI5LjggMjUuOCA0NiAzOSAxNi4yLTEzLjEgMzEuNy0yNiA0Ni0zOWwtOTIgMHoiXX0sX3B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkLXJlYWNoaW5nIixpY29uOlszODQsNTEyLFtdLCJlNTlkIiwiTTI1NiA2NGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTE1Mi45IDE2OS4zYy0yMy43LTguNC00NC41LTI0LjMtNTguOC00NS44TDc0LjYgOTQuMkM2NC44IDc5LjUgNDUgNzUuNiAzMC4zIDg1LjRTMTEuNiAxMTUgMjEuNCAxMjkuOEw0MC45IDE1OWMxOC4xIDI3LjEgNDIuOCA0OC40IDcxLjEgNjIuNEwxMTIgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAzMiAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1OC40YzI5LjEtMTQuMiA1NC40LTM2LjIgNzIuNy02NC4ybDE4LjItMjcuOWM5LjYtMTQuOCA1LjQtMzQuNi05LjQtNDQuM3MtMzQuNi01LjUtNDQuMyA5LjRMMjkxIDEyMi40Yy0yMS44IDMzLjQtNTguOSA1My42LTk4LjggNTMuNi0xMi42IDAtMjQuOS0yLTM2LjYtNS44LS45LS4zLTEuOC0uNy0yLjctLjl6Il19LGZiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhc3RlIixpY29uOls1MTIsNTEyLFsiZmlsZS1jbGlwYm9hcmQiXSwiZjBlYSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMTIgMCAwLTIyNGMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmw2NCAwIDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMjQ4IDExMmwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjR6bTQwIDQ4Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2NS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zbC01OC41LTU4LjVjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMMjg4IDE2MHoiXX0sTHB0PWZiLCRwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZXRlb3IiLGljb246WzUxMiw1MTIsWzk3MzJdLCJmNzUzIiwiTTQ5My43IC45bC0xOTQuMiA3NC43IDIuMy0yOS4zYzEtMTIuOC0xMi44LTIxLjUtMjQtMTUuMUwxMDEuMyAxMzMuNEMzOC42IDE2OS43IDAgMjM2LjYgMCAzMDkgMCA0MjEuMSA5MC45IDUxMiAyMDMgNTEyIDI3NS40IDUxMiAzNDIuMyA0NzMuNCAzNzguNiA0MTAuN0w0ODAuOCAyMzQuM2M2LjUtMTEuMS0yLjItMjUtMTUuMS0yNGwtMjkuMyAyLjMgNzQuNy0xOTQuMmMuNi0xLjUgLjktMy4yIC45LTQuOCAwLTcuNS02LTEzLjUtMTMuNS0xMy41LTEuNyAwLTMuMyAuMy00LjggLjl6TTE5MiAxOTJhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2em0wIDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE2IDk2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnoiXX0sem9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlYXJzIixpY29uOls2NDAsNTEyLFsiY29ncyJdLCJmMDg1IiwiTTQxNS45IDIxMC41YzEyLjItMy4zIDI1IDIuNSAzMC41IDEzLjhMNDY1IDI2MS45YzEwLjMgMS40IDIwLjQgNC4yIDI5LjkgOC4xbDM1LTIzLjNjMTAuNS03IDI0LjQtNS42IDMzLjMgMy4zbDE5LjIgMTkuMmM4LjkgOC45IDEwLjMgMjIuOSAzLjMgMzMuM2wtMjMuMyAzNC45YzEuOSA0LjcgMy42IDkuNiA1IDE0LjcgMS40IDUuMSAyLjMgMTAuMSAzIDE1LjJsMzcuNyAxOC42YzExLjMgNS42IDE3LjEgMTguNCAxMy44IDMwLjVsLTcgMjYuMmMtMy4zIDEyLjEtMTQuNiAyMC4zLTI3LjIgMTkuNWwtNDItMi43Yy02LjMgOC4xLTEzLjYgMTUuNi0yMS45IDIybDIuNyA0MS45Yy44IDEyLjYtNy40IDI0LTE5LjUgMjcuMmwtMjYuMiA3Yy0xMi4yIDMuMy0yNC45LTIuNS0zMC41LTEzLjhsLTE4LjYtMzcuNmMtMTAuMy0xLjQtMjAuNC00LjItMjkuOS04LjFsLTM1IDIzLjNjLTEwLjUgNy0yNC40IDUuNi0zMy4zLTMuM2wtMTkuMi0xOS4yYy04LjktOC45LTEwLjMtMjIuOC0zLjMtMzMuM2wyMy4zLTM1Yy0xLjktNC43LTMuNi05LjYtNS0xNC43cy0yLjMtMTAuMi0zLTE1LjJsLTM3LjctMTguNmMtMTEuMy01LjYtMTctMTguNC0xMy44LTMwLjVsNy0yNi4yYzMuMy0xMi4xIDE0LjYtMjAuMyAyNy4yLTE5LjVsNDEuOSAyLjdjNi4zLTguMSAxMy42LTE1LjYgMjEuOS0yMmwtMi43LTQxLjhjLS44LTEyLjYgNy40LTI0IDE5LjUtMjcuMmwyNi4yLTd6TTQ0OC40IDM0MGE0NCA0NCAwIDEgMCAuMSA4OCA0NCA0NCAwIDEgMCAtLjEtODh6TTIyNC45LTQ1LjVsMjYuMiA3YzEyLjEgMy4zIDIwLjMgMTQuNyAxOS41IDI3LjJsLTIuNyA0MS44YzguMyA2LjQgMTUuNiAxMy44IDIxLjkgMjJsNDItMi43YzEyLjUtLjggMjMuOSA3LjQgMjcuMiAxOS41bDcgMjYuMmMzLjIgMTIuMS0yLjUgMjQuOS0xMy44IDMwLjVsLTM3LjcgMTguNmMtLjcgNS4xLTEuNyAxMC4yLTMgMTUuMnMtMy4xIDEwLTUgMTQuN2wyMy4zIDM1YzcgMTAuNSA1LjYgMjQuNC0zLjMgMzMuM0wzMDcuMyAyNjJjLTguOSA4LjktMjIuOCAxMC4zLTMzLjMgMy4zTDIzOSAyNDJjLTkuNSAzLjktMTkuNiA2LjctMjkuOSA4LjFsLTE4LjYgMzcuNmMtNS42IDExLjMtMTguNCAxNy0zMC41IDEzLjhsLTI2LjItN2MtMTIuMi0zLjMtMjAuMy0xNC43LTE5LjUtMjcuMmwyLjctNDEuOWMtOC4zLTYuNC0xNS42LTEzLjgtMjEuOS0yMmwtNDIgMi43Yy0xMi41IC44LTIzLjktNy40LTI3LjItMTkuNWwtNy0yNi4yYy0zLjItMTIuMSAyLjUtMjQuOSAxMy44LTMwLjVsMzcuNy0xOC42Yy43LTUuMSAxLjctMTAuMSAzLTE1LjIgMS40LTUuMSAzLTEwIDUtMTQuN0w1NS4xIDQ2LjVjLTctMTAuNS01LjYtMjQuNCAzLjMtMzMuM0w3Ny42LTZjOC45LTguOSAyMi44LTEwLjMgMzMuMy0zLjNsMzUgMjMuM2M5LjUtMy45IDE5LjYtNi43IDI5LjktOC4xbDE4LjYtMzcuNmM1LjYtMTEuMyAxOC4zLTE3IDMwLjUtMTMuOHpNMTkyLjQgODRhNDQgNDQgMCAxIDAgMCA4OCA0NCA0NCAwIDEgMCAwLTg4eiJdfSxEcHQ9em9lLEFwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNpcmNsZS1wbHVzIixpY29uOls1NzYsNTEyLFs1ODYwNl0sImU0OTQiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMTYtMjA4bDAgNDggNDggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw0OCAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnoiXX0sRXB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImljaWNsZXMiLGljb246WzUxMiw1MTIsW10sImY3YWQiLCJNNzUuOCAzMDQuOEwxIDM1LjdDLjMgMzMuMiAwIDMwLjcgMCAyOC4yIDAgMTIuNiAxMi42IDAgMjguMiAwTDQ4Mi40IDBjMTYuMyAwIDI5LjYgMTMuMiAyOS42IDI5LjYgMCAxLjYtLjEgMy4zLS40IDQuOUw0MzQuNiA0OTYuMWMtMS41IDkuMi05LjUgMTUuOS0xOC44IDE1LjktOS4yIDAtMTcuMS02LjYtMTguNy0xNS42TDMzNiAxNjAgMzA3LjIgMzAzLjljLTEuOSA5LjMtMTAuMSAxNi4xLTE5LjYgMTYuMS05LjIgMC0xNy4yLTYuMi0xOS40LTE1LjFMMjQwIDE5MiAyMTAuNiAzNjguMmMtMS41IDkuMS05LjQgMTUuOC0xOC42IDE1LjhzLTE3LjEtNi43LTE4LjYtMTUuOEwxNDQgMTkyIDExNS45IDMwNC4zYy0yLjMgOS4yLTEwLjYgMTUuNy0yMC4xIDE1LjctOS4zIDAtMTcuNS02LjItMjAtMTUuMnoiXX0sSXB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXRyZW5kLXVwIixpY29uOls1NzYsNTEyLFtdLCJlMDk4IiwiTTM4NCAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04Mi43LTE2OS40IDE2OS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMEwxOTIgMjY5LjMgNTQuNiA0MDYuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMEwzMjAgMzA2LjcgNDY2LjcgMTYwIDM4NCAxNjB6Il19LFBwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZXhhZ29uLW5vZGVzLWJvbHQiLGljb246WzU3Niw1MTIsW10sImU2OWEiLCJNMjQ4IDEwNi42YzE4LjktOSAzMi0yOC4zIDMyLTUwLjZjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZjMCAyMi4zIDEzLjEgNDEuNiAzMiA1MC42bDAgOTguOGMtMi44IDEuMy01LjUgMi45LTggNC43bC04MC4xLTQ1LjhjMS42LTIwLjgtOC42LTQxLjYtMjcuOS01Mi44QzU3LjIgOTYgMjMgMTA1LjIgNy41IDEzMlMxLjIgMTkzIDI4IDIwOC41YzEuMyAuOCAyLjYgMS41IDQgMi4xbDAgOTAuOGMtMS4zIC42LTIuNyAxLjMtNCAyLjFDMS4yIDMxOS04IDM1My4yIDcuNSAzODBTNTcuMiA0MTYgODQgNDAwLjVjMTkuMy0xMS4xIDI5LjQtMzIgMjcuOC01Mi44bDUwLjUtMjguOWMtMTEuNS0xMS4yLTE5LjktMjUuNi0yMy44LTQxLjdMODggMzA2LjFjLTIuNi0xLjgtNS4yLTMuMy04LTQuN2wwLTkwLjhjMi44LTEuMyA1LjUtMi45IDgtNC43bDgwLjEgNDUuOGMtLjEgMS40LS4yIDIuOC0uMiA0LjNjMCAyMi4zIDEzLjEgNDEuNiAzMiA1MC42bDAgOTguOGMtMTguOSA5LTMyIDI4LjMtMzIgNTAuNmMwIDMwLjkgMjUuMSA1NiA1NiA1NmMzMC43IDAgNTUuNi0yNC43IDU2LTU1LjJjLTcuNS0xMi45LTEzLjUtMjYuOC0xNy42LTQxLjVjLTQuMi00LTkuMS03LjMtMTQuNC05LjlsMC05OC44YzIuOC0xLjMgNS41LTIuOSA4LTQuN2wxMC41IDZjNS41LTE1LjMgMTMuMS0yOS41IDIyLjQtNDIuNWwtOS4xLTUuMmMuMS0xLjQgLjItMi44IC4yLTQuM2MwLTIyLjMtMTMuMS00MS42LTMyLTUwLjZsMC05OC44ek00NDAuNSAxMzJDNDI1IDEwNS4yIDM5MC44IDk2IDM2NCAxMTEuNWMtMTkuMyAxMS4xLTI5LjQgMzItMjcuOCA1Mi44bC01MC42IDI4LjljMTEuNSAxMS4yIDE5LjkgMjUuNiAyMy44IDQxLjdMMzYwIDIwNS45Yy40IC4zIC44IC42IDEuMyAuOWMyMS43LTkuNSA0NS42LTE0LjggNzAuOC0xNC44YzIgMCA0IDAgNS45IC4xYzEyLjEtMTcuMyAxMy44LTQwLjYgMi42LTYwLjF6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em00Ny45LTIyNWM0LjMgMy43IDUuNCA5LjkgMi42IDE0LjlMNDUyLjQgMzU2bDM1LjYgMGM1LjIgMCA5LjggMy4zIDExLjQgOC4ycy0uMSAxMC4zLTQuMiAxMy40bC05NiA3MmMtNC41IDMuNC0xMC44IDMuMi0xNS4xLS42cy01LjQtOS45LTIuNi0xNC45TDQxMS42IDM4MCAzNzYgMzgwYy01LjIgMC05LjgtMy4zLTExLjQtOC4ycy4xLTEwLjMgNC4yLTEzLjRsOTYtNzJjNC41LTMuNCAxMC44LTMuMiAxNS4xIC42eiJdfSxOcHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXVlc3Rpb24iLGljb246WzMyMCw1MTIsWzEwMDY3LDEwMDY4LDYxNzM2XSwiM2YiLCJNNjQgMTYwYzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCA0Mi43LTI3LjkgNzguOS02Ni41IDkxLjQtMjguNCA5LjItNjEuNSAzNS4zLTYxLjUgNzYuNmwwIDI0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNGMwLTEuNyAuNi00LjEgMy41LTcuMyAzLTMuMyA3LjktNi41IDEzLjctOC40IDY0LjMtMjAuNyAxMTAuOC04MSAxMTAuOC0xNTIuMyAwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MFMwIDcxLjYgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnptOTYgMzUyYzIyLjEgMCA0MC0xNy45IDQwLTQwcy0xNy45LTQwLTQwLTQwLTQwIDE3LjktNDAgNDAgMTcuOSA0MCA0MCA0MHoiXX0sRnB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWJvdW5kIixpY29uOls1NzYsNTEyLFtdLCJlNGY5IiwiTTY0IDMyQzY0IDE0LjMgNDkuNyAwIDMyIDBTMCAxNC4zIDAgMzJMMCAyMTMuOWMwIDE0LjIgNS4xIDI3LjkgMTQuMyAzOC43TDk5LjYgMzUyIDk2IDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzODQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMy42IDAgODUuMy05OS41YzkuMi0xMC44IDE0LjMtMjQuNSAxNC4zLTM4LjdMNTc2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTEyLjgtNjkuMyA5Mi40Yy01LjcgNy42LTE2LjEgOS42LTI0LjIgNC44LTkuNy01LjctMTIuMS0xOC43LTUuMS0yNy41TDQ0MSAxODBjMTAuOC0xMy41IDguOS0zMy4zLTQuNC00NC41cy0zMy05LjgtNDQuNSAzLjJsLTQ2LjcgNTIuNUMzMjkgMjA5LjcgMzIwIDIzMy40IDMyMCAyNTguMWwwIDkzLjktNjQgMCAwLTkzLjljMC0yNC42LTktNDguNC0yNS40LTY2LjhsLTQ2LjctNTIuNWMtMTEuNS0xMy0zMS4zLTE0LjQtNDQuNS0zLjJTMTI0LjIgMTY2LjQgMTM1IDE4MGwyNy42IDM0LjVjNyA4LjggNC43IDIxLjgtNS4xIDI3LjUtOC4xIDQuOC0xOC42IDIuNy0yNC4yLTQuOEw2NCAxNDQuOCA2NCAzMnptNjQgNDQ4bDAgMzIgMTI4IDAgMC0zMiA2NCAwIDAgMzIgMTI4IDAgMC0zMiAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDk2IDQzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAweiJdfSxPcHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctbHVnZ2FnZSIsaWNvbjpbNTEyLDUxMixbXSwiZTU1NCIsIk0yNjQuMyAyNGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bS04IDE4MS4zbC0yMi42IDIyLjZjLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDM3LjVjMCAxMi4zLTcgMjMtMTcuMiAyOC40LS45IDQuMi0yLjQgOC40LTQuMyAxMi4zbC02OSAxMzguMS0uOC0uNC0yNy43IDU1LjNjLTkuOSAxOS44LTMzLjkgMjcuOC01My43IDE3LjlMMTQuNiA1MjFjLTE5LjgtOS45LTI3LjgtMzMuOS0xNy45LTUzLjdMNDcuMyAzNjYuM2M5LjktMTkuOCAzMy45LTI3LjggNTMuNy0xNy45bDMwLjcgMTUuMyAyOC4zLTU2LjZjLjMtLjYgLjQtMS4yIC40LTEuOGwwLTE2LjljMC0uMiAwLS4zIDAtLjVsMC0zNy41YzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45bDM1LjEtMzUuMWMyMi44LTIyLjggNTMuNi0zNS42IDg1LjgtMzUuNiAzNi45IDAgNzEuOCAxNi44IDk0LjggNDUuNkw0MjIuMSAxODBjNi4xIDcuNiAxNS4zIDEyIDI1IDEybDMzLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzMuMiAwYy0yOS4yIDAtNTYuNy0xMy4zLTc1LTM2bC0zLjgtNC43IDAgMTE1LjIgMzQuNSAyOS42YzE3LjcgMTUuMiAyOS4zIDM2LjIgMzIuNiA1OS4zTDQ0OCA1MDcuNWMyLjUgMTcuNS05LjcgMzMuNy0yNy4yIDM2LjJzLTMzLjctOS43LTM2LjItMjcuMkwzNzIgNDI4LjRjLTEuMS03LjctNS0xNC43LTEwLjktMTkuOGwtNzEuNC02MS4yYy0yMS4zLTE4LjItMzMuNS00NC45LTMzLjUtNzIuOWwwLTY5LjN6bS4xIDE2NS44YzIuNCAyLjMgNC44IDQuNiA3LjQgNi44bDQ2IDM5LjQtMi4yIDcuNmMtNC41IDE1LjctMTIuOSAzMC0yNC40IDQxLjVsLTY4LjMgNjguM2MtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjM4IDQyMS4xYzMuOC0zLjggNi42LTguNiA4LjEtMTMuOEwyNTYuNCAzNzF6Il19LENvZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWFycm93LWRvd24iLGljb246WzM4NCw1MTIsWyJmaWxlLWRvd25sb2FkIl0sImY1NmQiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE3NSA0NDFjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNjQtNjRjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMjMgMjMgMC04Ni4xYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODYuMS0yMy0yM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw2NCA2NHoiXX0sUnB0PUNvZSxCcHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJvb3RoIixpY29uOls1NzYsNTEyLFtdLCJmNzU2IiwiTTQwIDI0QTU2IDU2IDAgMSAxIDE1MiAyNCA1NiA1NiAwIDEgMSA0MCAyNHptNTEuMSA4OGMyMy41IDAgNDUuNSAxMS4zIDU5LjEgMzAuNGw0OC43IDY4LjJjNiA4LjQgMTUuNyAxMy40IDI2IDEzLjRsMzEuMSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMS4xIDBjLTMxIDAtNjAuMS0xNS03OC4xLTQwLjJsLTIuOC0zLjkgMCA4MC4xIDQxLjYgMzEuMkMyMDkuOCAzNzMuMyAyMjQgNDAxLjggMjI0IDQzMmwwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODBjMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNkw3MC40IDM0OC44QzQ2LjIgMzMwLjcgMzIgMzAyLjIgMzIgMjcybDAtMTAwLjlDMzIgMTM4LjUgNTguNSAxMTIgOTEuMSAxMTJ6TTMyIDUxMmwwLTEzMi43YzMuMSAyLjcgNi4zIDUuNCA5LjYgNy45TDk2IDQyOCA5NiA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6bTU0NC04OGwwIDk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzItMTY4IDBjLTcuMSAwLTEzLjgtMy4xLTE4LjQtOC42cy02LjUtMTIuNi01LjMtMTkuNmwzMC43LTE3Ni43LTYzLjEtMTM3LjYgMCA3MmMtNS4yLTEtMTAuNS0xLjYtMTYtMS42bC0zMiAwIDAtMTIwYzAtMzAuOSAyNS4xLTU2IDU2LTU2TDUyMCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgMzY4ek0yODggMzM2YzUuNSAwIDEwLjgtLjYgMTYtMS42TDMwNCA1MjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xODQgMzIgMHoiXX0sSHB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY3VzdCIsaWNvbjpbNTc2LDUxMixbXSwiZTUyMCIsIk0zMjggMzJjMTM3IDAgMjQ4IDExMSAyNDggMjQ4bDAgNDAtLjQgOC4yQzU3MS41IDM2OC41IDUzNy40IDQwMCA0OTYgNDAwbC0xMi4zIDAgMjUuMiA0NC4xYzYuNiAxMS41IDIuNiAyNi4yLTguOSAzMi44cy0yNi4yIDIuNi0zMi43LTguOWwtMzguOC02Ny45LTgwLjQgMC00OC4yIDY5LjdjLTcuNSAxMC45LTIyLjUgMTMuNi0zMy40IDYuMXMtMTMuNi0yMi41LTYuMS0zMy40bDI5LjMtNDIuMy03NC41IDAtNTEuNyA3MC4yYy03LjkgMTAuNy0yMi45IDEyLjktMzMuNiA1LjFzLTEyLjktMjIuOS01LjEtMzMuNmw0MC41LTU1LTQzLTE2LjQtNzkuMyAxMDAuNWMtOC4yIDEwLjQtMjMuMyAxMi4yLTMzLjcgNHMtMTIuMi0yMy4zLTQtMzMuN2wyNDAtMzA0IDIuMS0yLjNjNS4yLTUuMSAxMi41LTcuNSAxOS45LTYuNiA4LjQgMS4xIDE1LjYgNi41IDE4LjkgMTQuM2wyMS43IDUwLjcgNDAuOS01NS41IDIuMS0yLjRjNS4xLTUuMyAxMi41LTggMjAtNy4yIDguNSAxIDE1LjkgNi41IDE5LjMgMTQuNGw0MS44IDk3LjUgNjQuMiAwYzEwLjIgMCAyMCAyIDI5IDUuNS0xNi40LTk0LTk4LjMtMTY1LjUtMTk3LTE2NS41bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDB6TTQ4OCAyOTZhMjQgMjQgMCAxIDAgMCA0OCAyNCAyNCAwIDEgMCAwLTQ4ek00My41IDMzMS4xQzM2LjIgMzIxLjQgMzIgMzA5LjUgMzIgMjk2LjggMzIgMjY1LjUgNTcuNSAyNDAgODguOSAyNDBsMjcuNiAwLTcyLjkgOTEuMXpNMjI1LjEgMjQwbDQ4LjIgMCAxLjQtMS45LTE2LjktMzkuNS0zMi43IDQxLjV6bTEwNy44IDBsNDYuNyAwLTE3LjItNDAtMjkuNSA0MHoiXX0sVG9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpZ2h0LWxvbmciLGljb246WzU3Niw1MTIsWyJsb25nLWFycm93LWFsdC1yaWdodCJdLCJmMzBiIiwiTTU2Ni42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xMjggMTI4Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVMzODQgMzk2LjkgMzg0IDM4NGwwLTY0LTMzNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTMyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMzNiAwIDAtNjRjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWwxMjggMTI4eiJdfSxxcHQ9VG9lLGpwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1kcm9wbGV0IixpY29uOls1NzYsNTEyLFtdLCJlNThjIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMy4zIDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwxMDIuNiAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMy4zIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNDYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTQ2LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdsLTUwLjcgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01MTIgMjM3LjNsMCA1MC43LTk2IDAgMC05NiA1MC43IDAgNDUuMyA0NS4zek0xNTIgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMjMyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTIwOCAzMDRjLTM5LjggMC03Mi0zMi4yLTcyLTcyIDAtMzMuMiAzNC41LTc4IDU1LjgtMTAyLjQgOC43LTEwIDIzLjgtMTAgMzIuNSAwIDIxLjIgMjQuNCA1NS44IDY5LjEgNTUuOCAxMDIuNCAwIDQ4LTMyLjIgNzItNzIgNzJ6Il19LFZwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWhvbGRpbmctbWVkaWNhbCIsaWNvbjpbNTc2LDUxMixbXSwiZTA1YyIsIk0yNDAgMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDU2IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNTYgMCAwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTU2LTU2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjRsNTYgMCAwLTU2ek02Ni43IDM4NGw0Mi41LTQyLjVjMjQtMjQgNTYuNi0zNy41IDkwLjUtMzcuNUwzNTIgMzA0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMi42IDAgMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjVzOS4zIDQyLjgtOC41IDU1LjlMNDMzLjEgNDg1LjVjLTIzLjQgMTcuMi01MS42IDI2LjUtODAuNyAyNi41TDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzNC43IDB6Il19LFVwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50LWxlZnQiLGljb246WzUxMiw1MTIsW10sImYwYTUiLCJNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsMjA4IDAgMC02NC0yMDggMHpNMTkyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem0tNjQtNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTk2IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem04OC05NmwtLjYgMGM1LjQgOS40IDguNiAyMC4zIDguNiAzMiAwIDEzLjItNCAyNS40LTEwLjggMzUuNiAyNC45IDguNyA0Mi44IDMyLjUgNDIuOCA2MC40IDAgMTEuNy0zLjEgMjIuNi04LjYgMzJsOC42IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC02MS43YzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMWwtMTEuNi0xMS42QzQyOS41IDc3LjUgMzk2LjkgNjQgMzYzIDY0bC0yNyAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDg4YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC01NmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNTZjMCAzOS44LTMyLjIgNzItNzIgNzJ6Il19LFdwdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxjdWxhdG9yIixpY29uOlszODQsNTEyLFsxMjg0MjVdLCJmMWVjIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTk2IDY0bDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xNiAxNjhhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHptODAgMjRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4em0xMjgtMjRhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHpNODggMzUyYTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptMTI4LTI0YTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6bTgwIDI0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNNjQgNDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDQ0OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTIzMi0yNGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNC0yNC0xMC43LTI0LTI0IDEwLjctMjQgMjQtMjR6Il19LGhiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pbnVzIixpY29uOls0NDgsNTEyLFs4MjExLDg3MjIsMTAxMzQsInN1YnRyYWN0Il0sImYwNjgiLCJNMCAyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sR3B0PWhiLF9vZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC16LWEiLGljb246WzUxMiw1MTIsWyJzb3J0LWFscGhhLXVwLWFsdCJdLCJmODgyIiwiTTE1MC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAxNDEuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNi43IDI1LjQgMjUuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC04MC04MHpNMjg4IDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDUwLjcgMC03My40IDczLjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45UzMwNy4xIDIyNCAzMjAgMjI0bDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01MC43IDAgNzMuNC03My40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ2MSAzMiA0NDggMzJMMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNNDEyLjYgMjczLjdDNDA3LjIgMjYyLjggMzk2LjEgMjU2IDM4NCAyNTZzLTIzLjIgNi44LTI4LjYgMTcuN2wtODAgMTYwYy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsNy4yLTE0LjMgODguNCAwIDcuMiAxNC4zYzcuOSAxNS44IDI3LjEgMjIuMiA0Mi45IDE0LjNzMjIuMi0yNy4xIDE0LjMtNDIuOWwtODAtMTYwek0zODQgMzU5LjZsMjAuMiA0MC40LTQwLjQgMCAyMC4yLTQwLjR6Il19LFlwdD1fb2UsWnB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvcGhvbmUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImYxMzEiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0MjQuNyAzNTguOEM0NTguOSAzMjQuMiA0ODAgMjc2LjYgNDgwIDIyNGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCAzOS4zLTE1LjcgNzQuOS00MS4zIDEwMC45TDM1Ni44IDI5MUMzNzMuNiAyNzMuNyAzODQgMjUwIDM4NCAyMjRsMC0xMjhjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMC4yLTE1MS0xNTF6bTI5OC4zIDQzNGwtNDEuNC00MS40Yy0zLjMgLjItNi41IC4zLTkuOCAuMy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NGwwLTEwLjItNDMuNi00My42Yy0yLjggMy45LTQuNCA4LjctNC40IDEzLjhsMCA0MGMwIDk3LjkgNzMuMyAxNzguNyAxNjggMTkwLjVsMCA0OS41LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC00OS41YzkuMy0xLjIgMTguNC0zIDI3LjMtNS40eiJdfSxJRD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcGVuIixpY29uOls0NDgsNTEyLFsicGVuLXNxdWFyZSIsInBlbmNpbC1zcXVhcmUiXSwiZjE0YiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0zMjUuOCAxMzkuN2wxNC40IDE0LjRjMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZsLTIzLjggMjMuOC03MS03MSAyMy44LTIzLjhjMTUuNi0xNS42IDQwLjktMTUuNiA1Ni42IDB6TTExOS45IDI4OWw5MS41LTkxLjYgNzEgNzEtOTEuNiA5MS41Yy00LjEgNC4xLTkuMiA3LTE0LjkgOC40bC02MC4xIDE1Yy01LjUgMS40LTExLjItLjItMTUuMi00LjJzLTUuNi05LjctNC4yLTE1LjJsMTUtNjAuMWMxLjQtNS42IDQuMy0xMC44IDguNC0xNC45eiJdfSxYcHQ9SUQsUXB0PUlELExvZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWZpc3QiLGljb246WzM4NCw1MTIsWzk5OTQsImZpc3QtcmFpc2VkIl0sImY2ZGUiLCJNMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTItNjQgMCAwLTExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJTOTYgNDYuMyA5NiA2NGwwIDgwLTY0IDAgMC04MHptMTkyIDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZ6bTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNiAxMy4yIDAgMjUuNC00IDM1LjYtMTAuOCA4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44IDExLjcgMCAyMi42LTMuMSAzMi04LjZsMCA4LjZjMCA1Mi4zLTI1LjEgOTguOC02NCAxMjhsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzguNGMtMTcuMy03LjktMzMuMi0xOC44LTQ2LjktMzIuNUwzNy41IDM1Ny41QzEzLjUgMzMzLjUgMCAzMDAuOSAwIDI2N2wwLTI3YzAtMzUuMyAyOC43LTY0IDY0LTY0bDg4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MnoiXX0sSnB0PUxvZSwkb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1zbXMiLGljb246WzUxMiw1MTIsWyJzbXMiXSwiZjdjZCIsIk0yNTYgNDgwYzE0MS40IDAgMjU2LTEwNy41IDI1Ni0yNDBTMzk3LjQgMCAyNTYgMCAwIDEwNy41IDAgMjQwYzAgNTQuMyAxOS4yIDEwNC4zIDUxLjYgMTQ0LjVMMi44IDQ3Ni44Yy00LjggOS0zLjMgMjAgMy42IDI3LjVzMTcuOCA5LjggMjcuMSA1LjhsMTE4LjQtNTAuN0MxODMuNyA0NzIuNiAyMTguOSA0ODAgMjU2IDQ4MHpNMTQwLjggMTcyLjhsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTUuMyAwLTkuNiA0LjMtOS42IDkuNnM0LjMgOS42IDkuNiA5LjZjMjMgMCA0MS42IDE4LjYgNDEuNiA0MS42cy0xOC42IDQxLjYtNDEuNiA0MS42bC0yNS42IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMjUuNiAwYzUuMyAwIDkuNi00LjMgOS42LTkuNnMtNC4zLTkuNi05LjYtOS42Yy0yMyAwLTQxLjYtMTguNi00MS42LTQxLjZzMTguNi00MS42IDQxLjYtNDEuNnptMTg4LjggNDEuNmMwLTIzIDE4LjYtNDEuNiA0MS42LTQxLjZsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTUuMyAwLTkuNiA0LjMtOS42IDkuNnM0LjMgOS42IDkuNiA5LjZjMjMgMCA0MS42IDE4LjYgNDEuNiA0MS42cy0xOC42IDQxLjYtNDEuNiA0MS42bC0yNS42IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMjUuNiAwYzUuMyAwIDkuNi00LjMgOS42LTkuNnMtNC4zLTkuNi05LjYtOS42Yy0yMyAwLTQxLjYtMTguNi00MS42LTQxLjZ6bS05OC4zLTMzLjhsMjQuNyA0MS4xIDI0LjctNDEuMWMzLjctNi4yIDExLjEtOS4xIDE4LTcuMnMxMS43IDguMiAxMS43IDE1LjRsMCAxMDIuNGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ0LjYtOC43IDE0LjVjLTIuOSA0LjgtOC4xIDcuOC0xMy43IDcuOHMtMTAuOC0zLTEzLjctNy44bC04LjctMTQuNSAwIDQ0LjZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xMDIuNGMwLTcuMiA0LjgtMTMuNSAxMS43LTE1LjRzMTQuMyAxIDE4IDcuMnoiXX0sS3B0PSRvZSxlOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2ltLWNhcmQiLGljb246WzM4NCw1MTIsW10sImY3YzQiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjU4LjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyA4MGMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek05NiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDAgMTI4IDAgMC03Mi05NiAwek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMCAwLTcyLTgwIDAgMCA0MHptMjU2IDBsMC00MC0xMjggMCAwIDcyIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6bTAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMybC00OCAwIDAgNzIgODAgMCAwLTQweiJdfSxEb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NhbGUtYmFsYW5jZWQiLGljb246WzY0MCw1MTIsWzk4NzgsImJhbGFuY2Utc2NhbGUiXSwiZjI0ZSIsIk0zODQgMzJsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzk4LjQgOTZjLTUuMiAyNS44LTIyLjkgNDcuMS00Ni40IDU3LjNsMCAyOTQuNyAxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzg0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDAgMC0yOTQuN2MtMjMuNS0xMC4zLTQxLjItMzEuNi00Ni40LTU3LjNMMTI4IDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEyOCAwYzE0LjYtMTkuNCAzNy44LTMyIDY0LTMyczQ5LjQgMTIuNiA2NCAzMnptNTUuNiAyODhMNTg0LjQgMzIwIDUxMiAxOTUuOCA0MzkuNiAzMjB6TTUxMiA0MTZjLTYyLjkgMC0xMTUuMi0zNC0xMjYtNzguOS0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xLTEwLjggNDQuOC02My4xIDc4LjktMTI2IDc4Ljl6TTEyNi44IDE5NS44TDU0LjQgMzIwIDE5OS4zIDMyMCAxMjYuOCAxOTUuOHpNLjkgMzM3LjFjLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjEtMTAuOCA0NC44LTYzLjEgNzguOS0xMjYgNzguOVMxMS43IDM4MiAuOSAzMzcuMXoiXX0sdDh0PURvZSxBb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyIixpY29uOls1MTIsNTEyLFsxMjg2NjQsImF1dG9tb2JpbGUiXSwiZjFiOSIsIk0xMzUuMiAxMTcuNGwtMjYuMSA3NC42IDI5My44IDAtMjYuMS03NC42QzM3Mi4zIDEwNC42IDM2MC4yIDk2IDM0Ni42IDk2TDE2NS40IDk2Yy0xMy42IDAtMjUuNyA4LjYtMzAuMiAyMS40ek0zOS42IDE5Ni44TDc0LjggOTYuM0M4OC4zIDU3LjggMTI0LjYgMzIgMTY1LjQgMzJsMTgxLjIgMGM0MC44IDAgNzcuMSAyNS44IDkwLjYgNjQuM2wzNS4yIDEwMC41YzIzLjIgOS42IDM5LjYgMzIuNSAzOS42IDU5LjJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzItMzIwIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCAyNTZjMC0yNi43IDE2LjQtNDkuNiAzOS42LTU5LjJ6TTEyOCAzMDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjg4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0scjh0PUFvZSxFb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3JvcC1zaW1wbGUiLGljb246WzUxMiw1MTIsWyJjcm9wLWFsdCJdLCJmNTY1IiwiTTEyOCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMybDAgMzItMzIgMEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMzIgMCAwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDggMCAwLTY0LTIwOCAwIDAtMzUyek0zODQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0yMDggMCAwIDY0IDIwOCAwIDAgMzUyeiJdfSxhOHQ9RW9lLGk4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZWRhbCIsaWNvbjpbNDQ4LDUxMixbMTI3OTQxXSwiZjVhMiIsIk0yMjQuMyAxMjhMMTM5LjctMTIuOWMtNi41LTEwLjgtMjAuMS0xNC43LTMxLjMtOS4xTDIxLjggMjEuM0M5LjkgMjcuMiA1LjEgNDEuNiAxMSA1My41TDgwLjYgMTkyLjZjLTMwLjEgMzMuOS00OC4zIDc4LjUtNDguMyAxMjcuNCAwIDEwNiA4NiAxOTIgMTkyIDE5MnMxOTItODYgMTkyLTE5MmMwLTQ4LjktMTguMy05My41LTQ4LjMtMTI3LjRMNDM3LjYgNTMuNWM1LjktMTEuOSAxLjEtMjYuMy0xMC43LTMyLjJMMzQwLjItMjIuMWMtMTEuMi01LjYtMjQuOS0xLjYtMzEuMyA5LjFMMjI0LjMgMTI4em0zMC44IDE0Mi41YzEuNCAyLjggNCA0LjcgNyA1LjFsNTAuMSA3LjNjNy43IDEuMSAxMC43IDEwLjUgNS4yIDE2bC0zNi4zIDM1LjRjLTIuMiAyLjItMy4yIDUuMi0yLjcgOC4zbDguNiA0OS45YzEuMyA3LjYtNi43IDEzLjUtMTMuNiA5LjlsLTQ0LjgtMjMuNmMtMi43LTEuNC02LTEuNC04LjcgMGwtNDQuOCAyMy42Yy02LjkgMy42LTE0LjktMi4yLTEzLjYtOS45bDguNi00OS45Yy41LTMtLjUtNi4xLTIuNy04LjNsLTM2LjMtMzUuNGMtNS42LTUuNC0yLjUtMTQuOCA1LjItMTZsNTAuMS03LjNjMy0uNCA1LjctMi40IDctNS4xbDIyLjQtNDUuNGMzLjQtNyAxMy4zLTcgMTYuOCAwbDIyLjQgNDUuNHoiXX0sbjh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjcm9sbCIsaWNvbjpbNTc2LDUxMixbMTI4MjIwXSwiZjcwZSIsIk0wIDExMkMwIDcwLjUgMzEuNiAzNi40IDcyIDMyLjRsMC0uNCAyODAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMTc2LTE3NiAwYy0zOS44IDAtNzIgMzIuMi03MiA3MmwwIDYwYzAgMjQuMy0xOS43IDQ0LTQ0IDQ0cy00NC0xOS43LTQ0LTQ0bDAtMjI4LTY0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNDh6TTIzNi44IDQ4MGM3LjEtMTMuMSAxMS4yLTI4LjEgMTEuMi00NGwwLTYwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDI0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCA0NC4yLTM1LjggODAtODAgODBsLTIyNy4yIDB6TTgwIDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sczh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtZXhjZWwiLGljb246WzM4NCw1MTIsW10sImYxYzMiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE2NCAyNjYuN2MtNy40LTExLTIyLjMtMTQtMzMuMy02LjdzLTE0IDIyLjMtNi43IDMzLjNMMTYzLjIgMzUyIDEyNCA0MTAuN2MtNy40IDExLTQuNCAyNS45IDYuNyAzMy4zczI1LjkgNC40IDMzLjMtNi43bDI4LTQyIDI4IDQyYzcuNCAxMSAyMi4zIDE0IDMzLjMgNi43czE0LTIyLjMgNi43LTMzLjNMMjIwLjggMzUyIDI2MCAyOTMuM2M3LjQtMTEgNC40LTI1LjktNi43LTMzLjNzLTI1LjktNC40LTMzLjMgNi43bC0yOCA0Mi0yOC00MnoiXX0sbzh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbHRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjBiMCIsIk0zMiA2NEMxOS4xIDY0IDcuNCA3MS44IDIuNCA4My44Uy4yIDEwOS41IDkuNCAxMTguNkwxOTIgMzAxLjMgMTkyIDQxNmMwIDguNSAzLjQgMTYuNiA5LjQgMjIuNmw2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOVMzMjAgNDkyLjkgMzIwIDQ4MGwwLTE3OC43IDE4Mi42LTE4Mi42YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDY0IDQ4MCA2NEwzMiA2NHoiXX0sbDh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRydW0iLGljb246WzUxMiw1MTIsWzEyOTM0NV0sImY1NjkiLCJNNTAxLjIgNzYuMWMxMS4xLTcuMyAxNC4yLTIyLjEgNi45LTMzLjJzLTIyLjEtMTQuMi0zMy4yLTYuOUwzNzAuMiAxMDQuNUMzMzUuOCA5OC43IDI5NyA5NiAyNTYgOTYgMTE0LjYgOTYgMCAxMjggMCAyMDhMMCAzNjhjMCAzMS4zIDI3LjQgNTguOCA3MiA3OC43TDcyIDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTE5LjRjMzMgOC45IDcxLjEgMTQuNSAxMTIgMTYuMUwyMzIgMzc2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDMuNWM0MC45LTEuNiA3OS03LjIgMTEyLTE2LjFMMzkyIDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTAyLjdjNDQuNi0xOS45IDcyLTQ3LjQgNzItNzguN2wwLTE2MGMwLTQxLjEtMzAuMi02OS41LTc4LjgtODcuNGw2Ny45LTQ0LjV6TTMwNy40IDE0NS42bC02NC42IDQyLjNjLTExLjEgNy4zLTE0LjIgMjIuMS02LjkgMzMuMnMyMi4xIDE0LjIgMzMuMiA2LjlsMTExLjEtNzIuOGMxNC43IDMuMiAyNy45IDcgMzkuNCAxMS41IDM4LjggMTUuMSA0NC40IDMwLjYgNDQuNCA0MS4zIDAgLjgtMi43IDE3LjItNDYgMzUuOS0zOC45IDE2LjgtOTYgMjguMS0xNjIgMjguMVMxMzIuOSAyNjAuNyA5NCAyNDMuOWMtNDMuMy0xOC43LTQ2LTM1LjEtNDYtMzUuOSAwLTEwLjYgNS42LTI2LjIgNDQuNC00MS4zIDM4LjMtMTQuOSA5NS40LTIyLjcgMTYzLjYtMjIuNyAxOCAwIDM1LjEgLjUgNTEuNCAxLjZ6Il19LGM4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXAtcGluIixpY29uOlszMjAsNTEyLFsxMjgyMDVdLCJmMjc2IiwiTTE5MiAyODQuNEMyNTYuMSAyNjkuOSAzMDQgMjEyLjUgMzA0IDE0NCAzMDQgNjQuNSAyMzkuNSAwIDE2MCAwUzE2IDY0LjUgMTYgMTQ0YzAgNjguNSA0Ny45IDEyNS45IDExMiAxNDAuNEwxMjggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTUuNnpNMTY4IDk2Yy0zMC45IDAtNTYgMjUuMS01NiA1NiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTU3LjQgNDYuNi0xMDQgMTA0LTEwNCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHoiXX0sSW9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjYWxlLXVuYmFsYW5jZWQtZmxpcCIsaWNvbjpbNjQwLDUxMixbImJhbGFuY2Utc2NhbGUtcmlnaHQiXSwiZjUxNiIsIk0xMTguMiA2Mi40QzEwMS41IDU2LjggOTIuNCAzOC42IDk4IDIxLjlTMTIxLjctMy45IDEzOC41IDEuNmwxMTMgMzcuN2MxMy45LTIzLjUgMzkuNi0zOS4zIDY4LjktMzkuMyA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDMtLjIgNS45LS41IDguOGwxMjIuNiA0MC45YzE2LjggNS42IDI1LjggMjMuNyAyMC4yIDQwLjVzLTIzLjcgMjUuOC00MC41IDIwLjJMMzY2LjcgMTQ1LjJjLTQuNSAzLjItOS4zIDUuOS0xNC40IDguMmwwIDMyNi43YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNjAgMCAwLTI5NC43Yy0yMS05LjItMzcuMi0yNy00NC4yLTQ5bC0xMjUuOS00MnpNMjAwLjggMjg4TDEyOC4zIDE2My44IDU1LjkgMjg4IDIwMC44IDI4OHptLTcyLjQgOTZjLTYyLjkgMC0xMTUuMi0zNC0xMjYtNzguOS0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xLTEwLjggNDQuOC02My4xIDc4LjktMTI2IDc4Ljl6bTM4Mi44LTkyLjJsLTcyLjQgMTI0LjIgMTQ0LjkgMC03Mi40LTEyNC4yem0xMjYgMTQxLjNDNjI2LjQgNDc4IDU3NC4xIDUxMiA1MTEuMiA1MTJzLTExNS4yLTM0LTEyNi03OC45Yy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xeiJdfSxkOHQ9SW9lLHU4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdG8tY2lyY2xlIixpY29uOls1MTIsNTEyLFtdLCJlNGJkIiwiTTkuNCA5LjRDMjEuOS0zLjEgNDIuMS0zLjEgNTQuNiA5LjRMMTI4IDgyLjcgMTI4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOC43IDAtNzMuNC03My40Qy0zLjEgNDIuMS0zLjEgMjEuOSA5LjQgOS40ek0yMDAgMjU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNNTAyLjYgNTQuNkw0MjkuMyAxMjggNDQ4IDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTguNyA3My40LTczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptLTQ1LjMgNDQ4TDM4NCA0MjkuMyAzODQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguNyAwIDczLjQgNzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHpNOS40IDQ1Ny40TDgyLjcgMzg0IDY0IDM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC43LTczLjQgNzMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjN6Il19LHA4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZSIsaWNvbjpbNTEyLDUxMixbMTI4Mzg2LDk5OTMsNjE0NDNdLCJmMGUwIiwiTTQ4IDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OCAwIDE1LjEgNy4xIDI5LjMgMTkuMiAzOC40bDIwOCAxNTZjMTcuMSAxMi44IDQwLjUgMTIuOCA1Ny42IDBsMjA4LTE1NmMxMi4xLTkuMSAxOS4yLTIzLjMgMTkuMi0zOC40IDAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDY0ek0wIDE5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE4OC0xOTguNCAxNDguOGMtMzQuMSAyNS42LTgxLjEgMjUuNi0xMTUuMiAwTDAgMTk2eiJdfSxmOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFieSIsaWNvbjpbMzg0LDUxMixbXSwiZjc3YyIsIk0xMjAgODhhNzIgNzIgMCAxIDEgMTQ0IDAgNzIgNzIgMCAxIDEgLTE0NCAwek03LjcgMTQ0LjVjMTMtMTcuOSAzOC0yMS44IDU1LjktOC44TDk5LjggMTYyYzI2LjggMTkuNSA1OS4xIDMwIDkyLjIgMzBzNjUuNC0xMC41IDkyLjItMzBsMzYuMi0yNi40YzE3LjktMTMgNDIuOS05IDU1LjkgOC44czkgNDIuOS04LjggNTUuOWwtMzYuMiAyNi40Yy0xMy42IDkuOS0yOC4xIDE4LjItNDMuMyAyNWwwIDM2LjMtMTkyIDAgMC0zNi4zYy0xNS4yLTYuNy0yOS43LTE1LjEtNDMuMy0yNUwxNi41IDIwMC4zYy0xNy45LTEzLTIxLjgtMzgtOC44LTU1Ljl6TTk3LjUgMzI5LjNsNjAuNiA1My0yNiAzNy4yIDI0LjMgMjQuM2MxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNnMtNDAuOSAxNS42LTU2LjYgMGwtNDgtNDhDMzggNDM4LjYgMzYuMSA0MTcgNDcuMiA0MDEuMWw1MC4yLTcxLjh6bTEyOC41IDUzbDYwLjYtNTMgNTAuMiA3MS44YzExLjEgMTUuOSA5LjIgMzcuNS00LjUgNTEuMmwtNDggNDhjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwcy0xNS42LTQwLjkgMC01Ni42bDI0LjMtMjQuMy0yNi0zNy4yeiJdfSxQb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNhcmV0LWRvd24iLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtZG93biJdLCJmMTUwIiwiTTM4NCA0ODBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMHpNMjI0IDM1MmMtNi43IDAtMTMtMi44LTE3LjYtNy43bC0xMDQtMTEyYy02LjUtNy04LjItMTcuMi00LjQtMjUuOVMxMTAuNSAxOTIgMTIwIDE5MmwyMDggMGM5LjUgMCAxOC4yIDUuNyAyMiAxNC40czIuMSAxOC45LTQuNCAyNS45bC0xMDQgMTEyYy00LjUgNC45LTEwLjkgNy43LTE3LjYgNy43eiJdfSxoOHQ9UG9lLG04dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW50IixpY29uOls1MTIsNTEyLFtdLCJlNTdkIiwiTTI2LjkgMjA2LjlMMy43IDQ0NC45QzEuOCA0NjMuNyAxNi42IDQ4MCAzNS41IDQ4MGwxNzIuNyAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI5YzAtOC4zIDYuNy0xNSAxNS0xNSA1LjUgMCAxMC42IDMgMTMuMiA3LjlsODYuMSAxNTljOC40IDE1LjUgMjQuNiAyNS4xIDQyLjIgMjUuMWw2NC4xIDBjMTguOSAwIDMzLjctMTYuMyAzMS44LTM1LjFMNDg1LjYgMjA3LjFjLTEuOS0xOS42LTEyLjgtMzcuMy0yOS41LTQ3LjhMMjgwLjkgNDguM2MtMTUuNy0xMC0zNS44LTkuOS01MS41IC4xTDU2LjEgMTU5LjJjLTE2LjUgMTAuNi0yNy4zIDI4LjItMjkuMiA0Ny43eiJdfSxnOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYSIsaWNvbjpbMzg0LDUxMixbOTddLCI0MSIsIk0yMjEuNSA1MS43QzIxNi42IDM5LjggMjA0LjkgMzIgMTkyIDMycy0yNC42IDcuOC0yOS41IDE5LjdjLTkzLjMgMjI0LTE0Ni43IDM1Mi0xNjAgMzg0LTYuOCAxNi4zIC45IDM1IDE3LjIgNDEuOHMzNS0uOSA0MS44LTE3LjJsMzEuOC03Ni4zIDE5Ny4zIDAgMzEuOCA3Ni4zYzYuOCAxNi4zIDI1LjUgMjQgNDEuOCAxNy4yczI0LTI1LjUgMTcuMi00MS44Yy0xMy4zLTMyLTY2LjctMTYwLTE2MC0zODR6TTI2NCAzMjBsLTE0NCAwIDcyLTE3Mi44IDcyIDE3Mi44eiJdfSxiOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFyYWNodXRlLWJveCIsaWNvbjpbNTEyLDUxMixbXSwiZjRjZCIsIk0xMjggMjI0QzEyOCAxNTIuMiAxNDQuMyA4OC40IDE2OS41IDQzLjQgMTk1LjEtMi40IDIyNi42LTI0IDI1Ni0yNHM2MC45IDIxLjYgODYuNSA2Ny40QzM2Ny43IDg4LjQgMzg0IDE1Mi4yIDM4NCAyMjRsLTEwNCAwIDAgOTYgOCAwYzkuMyAwIDE4LjEgMiAyNiA1LjVsMTE4LjQtMTAxLjUtLjUgMGMwLTc4LjQtMTcuNy0xNTAuNi00Ny42LTIwNC02LjEtMTEtMTIuOS0yMS4zLTIwLjMtMzAuOSA4Ni41IDM1LjkgMTQ3LjggMTE1LjEgMTQ3LjggMjE4LjkgMCA3LTMuMSAxMy43LTguNCAxOC4yTDM0Ny40IDM2MC4xYzMgNy40IDQuNiAxNS40IDQuNiAyMy45bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC04LjQgMS42LTE2LjUgNC42LTIzLjlMOC40IDIyNi4yQzMuMSAyMjEuNyAwIDIxNSAwIDIwOCAwIDEwNC4yIDYxLjMgMjQuOSAxNDcuOC0xMC45IDE0MC41LTEuNCAxMzMuNyA5IDEyNy42IDIwIDk3LjcgNzMuNCA4MCAxNDUuNiA4MCAyMjRsLS41IDAgMTE4LjQgMTAxLjVjOC0zLjUgMTYuOC01LjUgMjYtNS41bDggMCAwLTk2LTEwNCAweiJdfSx2OHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1hcnJvdy1kb3duIixpY29uOls2NDAsNTEyLFtdLCJmMjE4IiwiTTAgOEMwLTUuMyAxMC43LTE2IDI0LTE2bDQ1LjMgMGMyNy4xIDAgNTAuMyAxOS40IDU1LjEgNDZsLjQgMiAxODcuMiAwIDAgMTAyLjEtMzEtMzFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMSAxNzcuNCAwYzIwIDAgMzUuMSAxOC4yIDMxLjQgMzcuOUw1MzcuOCAyMzUuOGMtNS43IDMwLjMtMzIuMSA1Mi4yLTYyLjkgNTIuMmwtMzAzLjYgMCA1LjEgMjguM2MyLjEgMTEuNCAxMiAxOS43IDIzLjYgMTkuN0w0NTYgMzM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNTUuOSAwYy0zNC44IDAtNjQuNi0yNC45LTcwLjgtNTkuMUw3Ny4yIDM4LjZjLS43LTMuOC00LTYuNi03LjktNi42TDI0IDMyQzEwLjcgMzIgMCAyMS4zIDAgOHpNMTYwIDQ2NGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0yMjQgMGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSx4OHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTRjYSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsOCAwIDAgNjQtNDAgMCAwIDExMmMzNy42IDkuNCA2NCA0My4yIDY0IDgybDAgOTRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtNTMgNDMtOTYgOTYtOTYgNi40IDAgMTIuNyAuNiAxOC43IDEuOCAzNC43LTQ5LjUgOTIuMi04MS44IDE1Ny4zLTgxLjggMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC02NS40LTQwIDAgMC02NCA4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6TTQyNCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0yOTYgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNODggOTZsODAgMCAwIDY0LTgwIDAgMC02NHpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LFBEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLWFycm93LXVwIixpY29uOls1NzYsNTEyLFs2MjMzOCwiY2xvdWQtdXBsb2FkIiwiY2xvdWQtdXBsb2FkLWFsdCJdLCJmMGVlIiwiTTE0NCA0ODBjLTc5LjUgMC0xNDQtNjQuNS0xNDQtMTQ0IDAtNjMuNCA0MS0xMTcuMiA5Ny45LTEzNi41LTEuMy03LjctMS45LTE1LjUtMS45LTIzLjUgMC03OS41IDY0LjUtMTQ0IDE0NC0xNDQgNTUuNCAwIDEwMy41IDMxLjMgMTI3LjYgNzcuMSAxNC4yLTguMyAzMC44LTEzLjEgNDguNC0xMy4xIDUzIDAgOTYgNDMgOTYgOTYgMCAxNS43LTMuOCAzMC42LTEwLjUgNDMuNyA0NCAyMC4zIDc0LjUgNjQuNyA3NC41IDExNi4zIDAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0zMDQgMHpNMzA1IDE5MWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTcyIDcyYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzEtMzEgMCAxMDIuMWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTAyLjEgMzEgMzFjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC03Mi03MnoiXX0seTh0PVBELHc4dD1QRCxNOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXQiLGljb246WzUxMiw1MTIsWzYxOTQ2XSwiNDAiLCJNMjU2IDY0QzE1MCA2NCA2NCAxNTAgNjQgMjU2czg2IDE5MiAxOTIgMTkyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2UzExNC42IDAgMjU2IDAgNTEyIDExNC42IDUxMiAyNTZsMCAzMmMwIDUzLTQzIDk2LTk2IDk2LTI5LjMgMC01NS42LTEzLjItNzMuMi0zMy45LTIyLjggMjEtNTMuMyAzMy45LTg2LjggMzMuOS03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHM1Ny4zLTEyOCAxMjgtMTI4YzI3LjkgMCA1My43IDguOSA3NC43IDI0LjEgNS43LTUgMTMuMS04LjEgMjEuMy04LjEgMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyYzAtMTA2LTg2LTE5Mi0xOTItMTkyem02NCAxOTJhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAweiJdfSxORD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpbmRpYW4tcnVwZWUtc2lnbiIsaWNvbjpbMzIwLDUxMixbImluZGlhbi1ydXBlZSIsImluciJdLCJlMWJjIiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMjY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTc2LjcgMGMxNy43IDE5LjggMzAuMSA0NC42IDM0LjcgNzJsNDIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDIgMGMtMTAuNCA2Mi4yLTYwLjggMTEwLjktMTIzLjggMTE4LjlMMjc0LjYgNDIyYzE0LjQgMTAuMyAxNy43IDMwLjMgNy40IDQ0LjZzLTMwLjMgMTcuNy00NC42IDcuNEwxMy40IDMxNEMyLjEgMzA2LTIuNyAyOTEuNSAxLjUgMjc4LjJTMTguMSAyNTYgMzIgMjU2bDgwIDBjMzUuOCAwIDY2LjEtMjMuNSA3Ni4zLTU2TDI0IDIwMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNjQuMyAwYy0xMC4yLTMyLjUtNDAuNS01Ni03Ni4zLTU2TDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6Il19LGs4dD1ORCxTOHQ9TkQsejh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrIixpY29uOls1NzYsNTEyLFsxMjg2NjYsOTk1MV0sImYwZDEiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyIDUwLjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w1NTcuMyAxOTJjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0w1NzYgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zLjMgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjRsLTEwMi42IDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNNTEyIDI4OGwwLTUwLjctNDUuMy00NS4zLTUwLjcgMCAwIDk2IDk2IDB6TTE5MiA0MjRhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMjMyIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sTm9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYWxrYm9hcmQtdXNlciIsaWNvbjpbNjQwLDUxMixbImNoYWxrYm9hcmQtdGVhY2hlciJdLCJmNTFjIiwiTTE5MiAzODRjNTMgMCA5NiA0MyA5NiA5NiAwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtNTMgNDMtOTYgOTYtOTZsOTYgMHpNNTQ0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzMuMS0yNS4yIDYwLjQtNTcuNSA2My43bC02LjUgLjMtMjExLjEgMGMtNS4xLTI0LjItMTYuMy00Ni4xLTMyLjEtNjRsNTEuMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDAgMC0yODgtMzUyIDAgMCA1Ny4zYy0xNC44LTYtMzEtOS4zLTQ4LTkuMy01LjQgMC0xMC44IC4zLTE2IDFsMC00OWMwLTM1LjMgMjguNy02NCA2NC02NGwzNTIgMHpNMTQ0IDM1MmE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHoiXX0sQzh0PU5vZSxUOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZjRmYyIsIk0yODYgMzA0Yzk4LjUgMCAxNzguMyA3OS44IDE3OC4zIDE3OC4zIDAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43TDc4IDUxMmMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjNsNTkuNCAwek01ODUuNyAxMDUuOWM3LjgtMTAuNyAyMi44LTEzLjEgMzMuNS01LjNzMTMuMSAyMi44IDUuMyAzMy41TDUyMi4xIDI3NC45Yy00LjIgNS43LTEwLjcgOS40LTE3LjcgOS44cy0xNC0yLjItMTguOS03LjNsLTQ2LjQtNDhjLTkuMi05LjUtOS0yNC43IC42LTMzLjkgOS41LTkuMiAyNC43LTguOSAzMy45IC42bDI2LjUgMjcuNCA4NS42LTExNy43ek0yNTYuMyAyNDhhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQweiJdfSxfOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1uaW5qYSIsaWNvbjpbNDQ4LDUxMixbMTI5Mzk5XSwiZjUwNCIsIk0zNTIgMTI4YzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4LTU3LjIgMC0xMDUuNi0zNy41LTEyMi04OS4zLTEuMSAxLjMtMi4yIDIuNi0zLjUgMy44LTE1LjggMTUuOC0zOC44IDIwLjctNTMuNiAyMi4xLTguMSAuOC0xNC42LTUuNy0xMy44LTEzLjggMS40LTE0LjcgNi4zLTM3LjggMjIuMS01My42IDUuOC01LjggMTIuNi0xMC4xIDE5LjYtMTMuNC03LTMuMi0xMy44LTcuNi0xOS42LTEzLjQtMTUuOC0xNS44LTIwLjctMzguOC0yMi4xLTUzLjYtLjgtOC4xIDUuNy0xNC42IDEzLjgtMTMuOCAxNC43IDEuNCAzNy44IDYuMyA1My42IDIyLjEgNC44IDQuOCA4LjcgMTAuNCAxMS43IDE2LjEgMjEuMy00MS4yIDY0LjMtNjkuNCAxMTMuOC02OS40IDcwLjcgMCAxMjggNTcuMyAxMjggMTI4ek0xNDQgMTEyYzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkwxNjAgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnptLTEuNCAyMTFsNjcgNTAuMmM4LjUgNi40IDIwLjMgNi40IDI4LjggMGw2Ny01MC4yYzYuNS00LjkgMTUuMi02LjIgMjIuNi0yLjggNjEuNCAyOC4yIDEwNC4xIDkwLjIgMTA0LjEgMTYyLjEgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNDUuNyA1MTJjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtNzIgNDIuNy0xMzQgMTA0LjEtMTYyLjEgNy40LTMuNCAxNi4xLTIuMSAyMi42IDIuOHoiXX0sTDh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW50LXdpbHQiLGljb246WzUxMiw1MTIsW10sImU1YWEiLCJNMzQ0LTMyYzY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwbDAgNi4yYzI5LjMgMTIuMiA0OCA0MS4zIDQ4IDc2LjkgMCAyNy45LTI1LjMgNzQuOC02NiAxMTEuNy0zLjggMy41LTguOCA1LjMtMTQgNS4zcy0xMC4yLTEuOC0xNC01LjNjLTQwLjctMzYuOC02Ni04My43LTY2LTExMS43IDAtMzUuNiAxOC43LTY0LjcgNDgtNzYuOWwwLTYuMmMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NmwwIDQyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI5NmMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NmwwIDM4LjJjMjkuMyAxMi4yIDQ4IDQxLjMgNDggNzYuOSAwIDI3LjktMjUuMyA3NC44LTY2IDExMS43LTMuOCAzLjUtOC44IDUuMy0xNCA1LjNzLTEwLjItMS44LTE0LTUuM0MyNS4zIDQwNS45IDAgMzU5IDAgMzMxLjEgMCAyOTUuNCAxOC43IDI2Ni40IDQ4IDI1NC4yTDQ4IDIxNmMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMCAyMC4yIDAgMzkuMyA1IDU2IDEzLjhMMjI0IDg4YzAtNjYuMyA1My43LTEyMCAxMjAtMTIweiJdfSxGb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2VpZ2h0LXNjYWxlIixpY29uOls0NDgsNTEyLFsid2VpZ2h0Il0sImY0OTYiLCJNMTE2LjYgMTkyYy0zLTEwLjEtNC42LTIwLjktNC42LTMyIDAtNjEuOSA1MC4xLTExMiAxMTItMTEyUzMzNiA5OC4xIDMzNiAxNjBjMCAxMS4xLTEuNiAyMS45LTQuNiAzMmwtNzEgMCAyNC42LTQ0LjNjNi40LTExLjYgMi4zLTI2LjItOS4zLTMyLjZzLTI2LjItMi4zLTMyLjYgOS4zbC0zNy42IDY3LjctODguOCAwek0xMjggMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMEMyOTMuMyAxMS45IDI2MCAwIDIyNCAwcy02OS4zIDExLjktOTYgMzJ6Il19LCQ4dD1Gb2UsJEE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyZXQtcmlnaHQiLGljb246WzI1Niw1MTIsW10sImYwZGEiLCJNMjQ5LjMgMjM1LjhjMTAuMiAxMi42IDkuNSAzMS4xLTIuMiA0Mi44bC0xMjggMTI4Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVM2NC41IDM5Ni45IDY0LjUgMzg0bDAtMjU2YzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsMTI4IDEyOCAyLjIgMi40eiJdfSxEOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxvcmluLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUxODQiLCJNMzE0LjcgMzJjLTM4LjggMC03My43IDIzLjMtODguNiA1OS4xTDE3MC43IDIyNCA2NCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODAgMC00NS4xIDEwOC4zYy01IDExLjktMTYuNiAxOS43LTI5LjUgMTkuN0wzMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzcuMyAwYzM4LjggMCA3My43LTIzLjMgODguNi01OS4xTDIxMy4zIDI4OCAzMjAgMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04MCAwIDQ1LjEtMTA4LjNjNS0xMS45IDE2LjYtMTkuNyAyOS41LTE5LjdMMzUyIDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zNy4zIDB6Il19LERBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlbGwiLGljb246WzQ0OCw1MTIsWzEyODI3Niw2MTYwMl0sImYwZjMiLCJNMjI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMy4yQzExOSA1MCA2NCAxMTQuNiA2NCAxOTJsMCAyMS43YzAgNDguMS0xNi40IDk0LjgtNDYuNCAxMzIuNEw3LjggMzU4LjNDMi43IDM2NC42IDAgMzcyLjQgMCAzODAuNSAwIDQwMC4xIDE1LjkgNDE2IDM1LjUgNDE2bDM3Ni45IDBjMTkuNiAwIDM1LjUtMTUuOSAzNS41LTM1LjUgMC04LjEtMi43LTE1LjktNy44LTIyLjJsLTkuOC0xMi4yQzQwMC40IDMwOC41IDM4NCAyNjEuOCAzODQgMjEzLjdsMC0yMS43YzAtNzcuNC01NS0xNDItMTI4LTE1Ni44bDAtMy4yYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0xNjIgNDY0YzcuMSAyNy42IDMyLjIgNDggNjIgNDhzNTQuOS0yMC40IDYyLTQ4bC0xMjQgMHoiXX0sQTh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxhcmktc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFjOCIsIk0xNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQxLjVjNy45LTEgMTUuOS0xLjUgMjQtMS41czE2LjEgLjUgMjQgMS41TDIxNiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNTRjNTguOSAyMy44IDEwMy4yIDc2IDExNi4yIDEzOS43IDMuNSAxNy4zLTcuNyAzNC4yLTI1IDM3LjdzLTM0LjItNy43LTM3LjctMjVjLTYuNy0zMy4yLTI2LjQtNjEuOC01My40LTgwLjJsMCA4MS44YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTAxLjhjLTcuOC0xLjUtMTUuOC0yLjItMjQtMi4ycy0xNi4yIC44LTI0IDIuMkwxNjggMjMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtODEuOGMtMzMuOCAyMy01NiA2MS45LTU2IDEwNS44IDAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNi45IDBDMTguNSAzNTAgMCAzMDUuMiAwIDI1NiAwIDE3NS40IDQ5LjYgMTA2LjQgMTIwIDc4bDAtNTRjMC0xMy4zIDEwLjctMjQgMjQtMjR6Il19LEU4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWxsLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUxZWQiLCJNMjk3LTIyLjJjMTIuMyA1IDE4LjIgMTkgMTMuMiAzMS4zbC0yOSA3MS4zQzMzOC44IDg1LjEgMzg0IDEzMy4zIDM4NCAxOTJsMCAyMDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMDhjMC0yNi41LTIxLjUtNDgtNDgtNDgtNi40IDAtMTIuNSAxLjItMTggMy41bC0zMCA3My44IDAgMTc4LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMS4yLTU3LjggMTQyLjJjLTUgMTIuMy0xOSAxOC4yLTMxLjMgMTMuMnMtMTguMi0xOS0xMy4yLTMxLjNMMTYwIDI1MS4zIDE2MCAxOTJjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAyMDhjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0MTcuNyAwIDQwMEwwIDExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMiAxMC45IDAgMjAuNSA1LjQgMjYuMyAxMy43IDE2LTguNyAzNC4zLTEzLjcgNTMuNy0xMy43IDMxLjMgMCA1OS43IDEyLjkgODAgMzMuNiA5LjYtOS44IDIwLjktMTcuOCAzMy41LTIzLjVMMjY1LjgtOWM1LTEyLjMgMTktMTguMiAzMS4zLTEzLjJ6Il19LE9vZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc25vd2JvYXJkaW5nIixpY29uOls1NzYsNTEyLFsxMjc5MzgsInNub3dib2FyZGluZyJdLCJmN2NlIiwiTTQyNC41IDE2YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xNjYuNCA0NS41YzEwLjItMTQuNCAzMC4yLTE3LjkgNDQuNi03LjdsMjcyIDE5MmMxNC40IDEwLjIgMTcuOSAzMC4yIDcuNyA0NC42cy0zMC4yIDE3LjktNDQuNiA3LjdsLTkyLjItNjUuMS02Mi4yIDUzLjMgMzIuMSAyNi43YzE4LjIgMTUuMiAyOC44IDM3LjcgMjguOCA2MS41bDAgODcuOCA3Ny41IDE1LjJjNi4yIDEuMiAxMi42IC45IDE4LjctLjhsNDEuMi0xMS44YzEyLjctMy42IDI2IDMuNyAyOS43IDE2LjVzLTMuNyAyNi0xNi41IDI5LjdsLTQxLjIgMTEuOGMtMTMuNCAzLjgtMjcuNCA0LjQtNDEuMSAxLjhMODcuMSA0NDMuM2MtMTcuMi0zLjQtMzMtMTEuOC00NS4zLTI0LjFMMTUuNSAzOTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwyNi4yIDI2LjJjNS42IDUuNiAxMi44IDkuNCAyMC42IDExbDY0LjIgMTIuNiAwLTEyMy43YzAtMjcuNyAxMi01NCAzMi44LTcyLjJsNjktNjAuNC04OC4yLTYyLjNDMTU5LjYgODAgMTU2LjIgNjAgMTY2LjQgNDUuNXptNTguMSAzNzUuN2w2NCAxMi41IDAtNzUuM2MwLTQuNy0yLjEtOS4zLTUuOC0xMi4zbC01OC4yLTQ4LjUgMCAxMjMuNnoiXX0sSTh0PU9vZSxSb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHR5IixpY29uOls1MTIsNTEyLFsidGVsZXR5cGUiXSwiZjFlNCIsIk00NTAuMiAyNjYuOGMxNS44IDYuNSAzNC4xIC4zIDQyLjYtMTQuNmwyLjQtNC4yYzI3LjktNDguOSAyMy42LTExOC44LTMxLjMtMTU0LjUtMTI2LTgyLTI4OS42LTgyLTQxNS42IDAtNTQuOSAzNS43LTU5LjMgMTA1LjctMzEuMyAxNTQuNWwyLjQgNC4yYzguNSAxNC45IDI2LjcgMjEuMSA0Mi42IDE0LjZsODEuOS0zMy43YzEzLjktNS43IDIyLjQtMTkuOSAyMC45LTM0LjlsLTUuMS01MWM2Mi41LTIxIDEzMC44LTE5LjkgMTkyLjYgMy4zbC00LjggNDcuN2MtMS41IDE1IDcgMjkuMiAyMC45IDM0LjlsODEuOSAzMy43ek0zMiAzNTJhMzIgMzIgMCAxIDAgNjQgMCAzMiAzMiAwIDEgMCAtNjQgMHptOTYgMGEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwek02NCA0MTZhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0zNTIgMzJhMzIgMzIgMCAxIDAgNjQgMCAzMiAzMiAwIDEgMCAtNjQgMHpNMjU2IDMyMGEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTY0IDMyYTMyIDMyIDAgMSAwIDY0IDAgMzIgMzIgMCAxIDAgLTY0IDB6bTEyOC0zMmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6TTEyOCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnoiXX0sUDh0PVJvZSxOOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtcmVjdGFuZ2xlIixpY29uOls1NzYsNTEyLFtdLCJlNTk0IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTIyNCA3MmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptMCAxNTJjNTMgMCA5NiA0MyA5NiA5NmwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0yNGMwLTUzIDQzLTk2IDk2LTk2em05Ni02NGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0xNjggMjcyLjNjLTE1LjIgMjIuOC0yNCA1MC4yLTI0IDc5LjdsMCAyNGMwIDguNCAxLjQgMTYuNSA0LjEgMjRsLTQ2LjggMEM4OS42IDQwMCA4MCAzOTAuNCA4MCAzNzguN0w4MCAzNjhjMC01MC4zIDM4LjctOTEuNiA4OC05NS43ek00MjcuOSA0MDBjMi43LTcuNSA0LjEtMTUuNiA0LjEtMjRsMC0yNGMwLTI5LjUtOC44LTU2LjktMjQtNzkuNyA0OS4zIDQuMSA4OCA0NS4zIDg4IDk1LjdsMCAxMC43YzAgMTEuOC05LjYgMjEuMy0yMS4zIDIxLjNsLTQ2LjggMHpNOTYgMTkyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LEZEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZSIsaWNvbjpbMzg0LDUxMixbMTI4MjQxLCJtb2JpbGUtYW5kcm9pZCIsIm1vYmlsZS1waG9uZSJdLCJmM2NlIiwiTTgwIDBDNDQuNyAwIDE2IDI4LjcgMTYgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMODAgMHptNzIgNDE2bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEY4dD1GRCxPOHQ9RkQsUjh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy10dXJuLXRvLWRvdHMiLGljb246WzQ0OCw1MTIsW10sImU0YzEiLCJNMjY1LjQtNi42YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMMjg1LjMgNjQgMzUyIDY0YzUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC02Ni43IDAgMjUuNCAyNS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsODAtODB6bS04Mi43IDI3Mmw4MCA4MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE2Mi43IDQwMCA5NiA0MDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0ODEuNyAwIDQ2NGwwLTMyYzAtNTMgNDMtOTYgOTYtOTZsNjYuNyAwLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMHpNMzIwIDM2OGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTY0IDE2MGE2NCA2NCAwIDEgMSAwLTEyOCA2NCA2NCAwIDEgMSAwIDEyOHoiXX0sQjh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV4Y2xhbWF0aW9uIixpY29uOlsxMjgsNTEyLFsxMDA2OSwxMDA3MSw2MTczOF0sIjIxIiwiTTY0IDQzMmMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MC00MC0xNy45LTQwLTQwYzAtMjIuMSAxNy45LTQwIDQwLTQwek02NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgLjYgMCAxLjEgMCAxLjdsLTE2IDMwNGMtLjkgMTctMTUgMzAuMy0zMiAzMC4zUzMzIDM3MC43IDMyIDM1My43TDE2IDQ5LjdjMC0uNiAwLTEuMSAwLTEuNyAwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0sSDh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNodXJjaCIsaWNvbjpbNTEyLDUxMixbOTk2Ml0sImY1MWQiLCJNMjgwLThjMC0xMy4zLTEwLjctMjQtMjQtMjRTMjMyLTIxLjMgMjMyLThsMCAyNC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCA0OC05OC42IDY1LjhDMTIwIDE4Ni43IDExMiAyMDEuNiAxMTIgMjE3LjdsMCAzOC4zLTc5LjggNDUuNkMxMi4zIDMxMyAwIDMzNC4yIDAgMzU3LjFMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjQgNzQuNyAwIDg1LjQgMCAzMjAgMGw2NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtOTAuOWMwLTIzLTEyLjMtNDQuMi0zMi4yLTU1LjZMNDAwIDI1NiA0MDAgMjE3LjdjMC0xNi04LTMxLTIxLjQtMzkuOWwtOTguNi02NS44IDAtNDggMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIgMCAwLTI0ek0yNTYgMzIwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODAtMTI4IDAgMC04MGMwLTM1LjMgMjguNy02NCA2NC02NHoiXX0scTh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvZ2dsZS1vZmYiLGljb246WzU3Niw1MTIsW10sImYyMDQiLCJNMzg0IDEyOGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOFM0NTQuNyAzODQgMzg0IDM4NGwtMTkyIDBjLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4czU3LjMtMTI4IDEyOC0xMjhsMTkyIDB6TTU3NiAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJMMTkyIDY0Qzg2IDY0IDAgMTUwIDAgMjU2Uzg2IDQ0OCAxOTIgNDQ4bDE5MiAwYzEwNiAwIDE5Mi04NiAxOTItMTkyek0xOTIgMzM2YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYweiJdfSxqOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvZS1wcmludHMiLGljb246WzU3Niw1MTIsW10sImY1NGIiLCJNMjk2IDE5MmMtMjEuMS0xMi4xLTQyLjMtMjQuMi03Mi0yOS4zbDAtMTQwLjNDMjU3LjcgMTMgMzExLjQgMCAzNTIgMCA0NDggMCA1NzYgNDggNTc2IDEyOHMtMTE5LjYgOTYtMTc2IDk2Yy00OCAwLTc2LTE2LTEwNC0zMnpNMTI4IDMybDQ4IDAgMCAxMjgtNDggMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NHpNMjMyIDMyMGMyOC0xNiA1Ni0zMiAxMDQtMzIgNTYuNCAwIDE3NiAxNiAxNzYgOTZTMzg0IDUxMiAyODggNTEyYy00MC41IDAtOTQuMy0xMy0xMjgtMjIuNGwwLTE0MC4zYzI5LjctNS4yIDUwLjktMTcuMyA3Mi0yOS40ek02NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRsNDggMCAwIDEyOC00OCAweiJdfSxWOHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzU3Niw1MTIsW10sImU0ZWIiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sQUE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2FsbGV0IixpY29uOls1MTIsNTEyLFtdLCJmNTU1IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNzIgMTI4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFM1OC43IDgwIDcyIDgwbDM4NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDY0IDMyek00MTYgMjU2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sbWI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWVzc2FnZSIsaWNvbjpbNTEyLDUxMixbImNvbW1lbnQtYWx0Il0sImYyN2EiLCJNMCAzNTJMMCAxMjhDMCA3NSA0MyAzMiA5NiAzMmwzMjAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgNTMtNDMgOTYtOTYgOTZsLTEyMCAwYy01LjIgMC0xMC4yIDEuNy0xNC40IDQuOEwxNjYuNCA1MzkuMmMtNC4yIDMuMS05LjIgNC44LTE0LjQgNC44LTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNzItMzIgMGMtNTMgMC05Ni00My05Ni05NnoiXX0sVTh0PW1iLFc4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cm9waHkiLGljb246WzUxMiw1MTIsWzEyNzk0Ml0sImYwOTEiLCJNMTQ0LjMgMGwyMjQgMGMyNi41IDAgNDguMSAyMS44IDQ3LjEgNDguMi0uMiA1LjMtLjQgMTAuNi0uNyAxNS44bDQ5LjYgMGMyNi4xIDAgNDkuMSAyMS42IDQ3LjEgNDkuOC03LjUgMTAzLjctNjAuNSAxNjAuNy0xMTggMTkwLjUtMTUuOCA4LjItMzEuOSAxNC4zLTQ3LjIgMTguOC0yMC4yIDI4LjYtNDEuMiA0My43LTU3LjkgNTEuOGwwIDczLjEgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMCAwLTczLjFjLTE2LTcuNy0zNS45LTIyLTU1LjMtNDguMy0xOC40LTQuOC0zOC40LTEyLjEtNTcuOS0yMy4xLTU0LjEtMzAuMy0xMDIuOS04Ny40LTEwOS45LTE4OS45LTEuOS0yOC4xIDIxLTQ5LjcgNDcuMS00OS43bDQ5LjYgMGMtLjMtNS4yLS41LTEwLjQtLjctMTUuOC0xLTI2LjUgMjAuNi00OC4yIDQ3LjEtNDguMnpNMTAxLjUgMTEybC01Mi40IDBjNi4yIDg0LjcgNDUuMSAxMjcuMSA4NS4yIDE0OS42LTE0LjQtMzcuMy0yNi4zLTg2LTMyLjgtMTQ5LjZ6TTM4MCAyNTYuOGM0MC41LTIzLjggNzcuMS02Ni4xIDgzLjMtMTQ0LjhMNDExIDExMmMtNi4yIDYwLjktMTcuNCAxMDguMi0zMSAxNDQuOHoiXX0sQm9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZGl6enkiLGljb246WzUxMiw1MTIsWyJkaXp6eSJdLCJmNTY3IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMzQuMSAxNTMuOWwyNS45IDI1LjkgMjUuOS0yNS45YzcuOC03LjggMjAuNS03LjggMjguMyAwczcuOCAyMC41IDAgMjguM2wtMjUuOSAyNS45IDI1LjkgMjUuOWM3LjggNy44IDcuOCAyMC41IDAgMjguM3MtMjAuNSA3LjgtMjguMyAwbC0yNS45LTI1LjktMjUuOSAyNS45Yy03LjggNy44LTIwLjUgNy44LTI4LjMgMHMtNy44LTIwLjUgMC0yOC4zbDI1LjktMjUuOS0yNS45LTI1LjljLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMHptMTkyIDBsMjUuOSAyNS45IDI1LjktMjUuOWM3LjgtNy44IDIwLjUtNy44IDI4LjMgMHM3LjggMjAuNSAwIDI4LjNsLTI1LjkgMjUuOSAyNS45IDI1LjljNy44IDcuOCA3LjggMjAuNSAwIDI4LjNzLTIwLjUgNy44LTI4LjMgMGwtMjUuOS0yNS45LTI1LjkgMjUuOWMtNy44IDcuOC0yMC41IDcuOC0yOC4zIDBzLTcuOC0yMC41IDAtMjguM2wyNS45LTI1LjktMjUuOS0yNS45Yy03LjgtNy44LTcuOC0yMC41IDAtMjguM3MyMC41LTcuOCAyOC4zIDB6TTI1NiAzMDRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LEc4dD1Cb2UsWTh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY3RlcmlhIixpY29uOls2NDAsNTEyLFtdLCJlMDU5IiwiTTI1Ni0zMmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDExYzguNiAyLjIgMTYuOSA1LjYgMjQuOCAxMC4zTDMxMSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNi4zIDYuM2M0LjYgNy44IDggMTYuMiAxMC4zIDI0LjhsMTEgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEgMGMtMi4yIDguNi01LjYgMTYuOS0xMC4zIDI0LjhMMzQ1IDE1MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00LjEtNC4xLTMwLjEgMzAuMSA0LjEgNC4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQuMS00LjFjLTEwIDEwLTIwIDIwLTMwLjEgMzAuMUwyMTcgMjc5YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTYuMy02LjNjLTcuOCA0LjYtMTYuMiA4LTI0LjggMTAuM2wwIDExYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTFjLTguNi0yLjItMTYuOS01LjYtMjQuOC0xMC4zTDczIDMxM2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw2LjMtNi4zYy00LjYtNy44LTgtMTYuMi0xMC4zLTI0LjhsLTExIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEgMGMyLjItOC42IDUuNi0xNi45IDEwLjMtMjQuOEwzOSAxNjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0LjEgNC4xYzEwLTEwIDIwLTIwIDMwLjEtMzAuMUwxMDMgMTA1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNC4xIDQuMSAzMC4xLTMwLjEtNC4xLTQuMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlTMTkxLjYtMi4zIDIwMSA3bDYuMyA2LjNjNy44LTQuNiAxNi4yLTggMjQuOC0xMC4zbDAtMTFjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTEyOCAyNTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0yNDAgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI5NiA0MGwwIDExYzguNiAyLjIgMTYuOSA1LjYgMjQuOCAxMC4zTDU2NyAxOTljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC02LjMgNi4zYzQuNiA3LjggOCAxNi4yIDEwLjMgMjQuOGwxMSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMSAwYy0yLjIgOC42LTUuNiAxNi45LTEwLjMgMjQuOEw2MDEgMzQzYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQuMS00LjEtMzAuMSAzMC4xIDQuMSA0LjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNC4xLTQuMWMtMTAgMTAtMjAgMjAtMzAuMSAzMC4xTDQ3MyA0NzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNi4zLTYuM2MtNy44IDQuNi0xNi4yIDgtMjQuOCAxMC4zbDAgMTFjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMWMtOC42LTIuMi0xNi45LTUuNi0yNC44LTEwLjNMMzI5IDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw2LjMtNi4zYy00LjYtNy44LTgtMTYuMi0xMC4zLTI0LjhsLTExIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEgMGMyLjItOC42IDUuNi0xNi45IDEwLjMtMjQuOEwyOTUgMzYxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNC4xIDQuMWMxMC0xMCAyMC0yMCAzMC4xLTMwLjFMMzU5IDI5N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQuMSA0LjEgMzAuMS0zMC4xLTQuMS00LjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw2LjMgNi4zYzcuOC00LjYgMTYuMi04IDI0LjgtMTAuM2wwLTExYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTQ0OCAzODRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sUWc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFyLWRlYWYiLGljb246WzUxMiw1MTIsWyJkZWFmIiwiZGVhZm5lc3MiLCJoYXJkLW9mLWhlYXJpbmciXSwiZjJhNCIsIk01MDIuNiA1NC42bC00MCA0MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNDAtNDBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptLTMyMCAzMjBsLTEyOCAxMjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMjQwIDEyOGMtNTcuNiAwLTEwNS4xIDQzLjYtMTExLjMgOTkuNS0xLjkgMTcuNi0xNy44IDMwLjItMzUuMyAyOC4zcy0zMC4yLTE3LjgtMjguMy0zNS4zYzkuNy04OCA4NC4zLTE1Ni41IDE3NC45LTE1Ni41IDk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgNDYtMTcuNyA4Ny45LTQ2LjYgMTE5LjMtMTIgMTMtMTcuNCAyNC44LTE3LjQgMzQuN2wwIDYuMWMwIDYxLjktNTAuMSAxMTItMTEyIDExMi0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNi4xYzAtMzIuOSAxNy40LTU5LjYgMzQuNC03OCAxOC40LTIwIDI5LjYtNDYuNiAyOS42LTc1LjkgMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6bTAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LFo4dD1RZyxYOHQ9UWcsUTh0PVFnLEhvZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtYXJyb3dzIixpY29uOls1MTIsNTEyLFsicGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0Il0sImUwNjgiLCJNMzIgNjRBNjQgNjQgMCAxIDEgMTYwIDY0IDY0IDY0IDAgMSAxIDMyIDY0ek0wIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwYzMuMiAwIDYuNCAuMiA5LjUgLjdMOTMuMSAyMDUuMUM2NSAyMzMuMiA2NSAyNzguOCA5My4xIDMwNi45bDU2IDU2YzMuNCAzLjQgNyA2LjQgMTAuOSA5bDAgOTIuMWMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xMjAuNkMxMi45IDMzMi40IDAgMzExLjcgMCAyODhsMC02NHpNMzUyIDY0YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHptNjYuOSAxNDEuMWwtNDQuNC00NC40YzMuMS0uNSA2LjMtLjcgOS41LS43bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRMNDgwIDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05Mi4xYzMuOS0yLjYgNy41LTUuNiAxMC45LTlsNTYtNTZjMjguMS0yOC4xIDI4LjEtNzMuNyAwLTEwMS44ek0zMDIuOCAxNzcuOGM5LTMuNyAxOS4zLTEuNyAyNi4yIDUuMmw1NiA1NmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNTYgNTZjLTYuOSA2LjktMTcuMiA4LjktMjYuMiA1LjJTMjg4IDMyMS43IDI4OCAzMTJsMC0yNC02NCAwIDAgMjRjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNTYtNTZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDU2LTU2YzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJTMjI0IDE5MC4zIDIyNCAyMDBsMCAyNCA2NCAwIDAtMjRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yeiJdfSxKOHQ9SG9lLEs4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1jbGFwcGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZTFhOCIsIk0zNDQgOGwwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRTMzQ0LTUuMyAzNDQgOHpNMjIwIDEwLjdsMzIgNDhjNy40IDExIDQuNCAyNS45LTYuNyAzMy4zcy0yNS45IDQuNC0zMy4zLTYuN2wtMzItNDhjLTcuNC0xMS00LjQtMjUuOSA2LjctMzMuM1MyMTIuNi0uMyAyMjAgMTAuN3pNMTM1IDExOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwyOTIuNyAyNDIuN2MxMC4xIDEwLjEgMjcuMyAyLjkgMjcuMy0xMS4zbDAtMzkuNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTUzLjZjMCA1Ny4xLTMwIDExMC03OC45IDEzOS40LTY0IDM4LjQtMTQ1LjggMjguMy0xOTguNS0yNC40TDcgMzYxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTMgNTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMMjMgMjY1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsOTMgOTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMNTUgMTg1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMTE3IDExN2M2LjEgNi4xIDE2IDYuMSAyMi4xIDBzNi4xLTE2IDAtMjIuMWwtOTMtOTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45ek00MzMuMSA0ODQuOWMtMjQuMiAxNC41LTUwLjkgMjIuMS03Ny43IDIzLjEgNDguMS0zOS42IDc2LjYtOTkgNzYuNi0xNjIuNGwwLTk4LjFjOC4yLS4xIDE2LTYuNCAxNi0xNmwwLTM5LjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE1My42YzAgNTcuMS0zMCAxMTAtNzguOSAxMzkuNHpNNDUzLjMgNGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43eiJdfSxlZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXMtY292aWQtc2xhc2giLGljb246WzU3Niw1MTIsW10sImU0YTkiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODMtODMgMTEuNC0xMS40YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTExLjMgMTEuMy0yMy44LTIzLjhjMTcuOS0yMy41IDI5LjktNTEuNyAzNC4xLTgyLjNsMzMuNiAwIDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTYtMzMuNiAwYy00LjItMzAuNy0xNi4zLTU4LjgtMzQuMS04Mi4zbDIzLjgtMjMuOCAxMS4zIDExLjNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQ0MC43IDQ2LjdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTEuMyAxMS4zLTIzLjggMjMuOEMzNzAuOCA5Ny45IDM0Mi43IDg1LjggMzEyIDgxLjZsMC0zMy42IDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzQxLjMgMCAzMjggMEwyNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNiAwIDAgMzMuNmMtMzAuNyA0LjItNTguOCAxNi4zLTgyLjMgMzQuMUwxNTcuOSA5MiAxNjkuMiA4MC42YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMTIzLjkgNTguMSA0MS0yNC45ek0xMTMuNiAyMzJsLTMzLjYgMCAwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2IDMzLjYgMGM0LjIgMzAuNyAxNi4zIDU4LjggMzQuMSA4Mi4zbC0yMy44IDIzLjgtMTEuMy0xMS4zYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDU2LjYgNTYuNmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTExLjMtMTEuMyAyMy44LTIzLjhjMjMuNSAxNy45IDUxLjcgMjkuOSA4Mi4zIDM0LjFsMCAzMy42LTE2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTYgMCAwLTMzLjZjMTMuNC0xLjggMjYuNC01LjIgMzguNy05LjlMMTIzLjUgMTkzLjNjLTQuNyAxMi4zLTggMjUuMi05LjkgMzguN3oiXX0scW9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLWRheXMiLGljb246WzQ0OCw1MTIsWyJjYWxlbmRhci1hbHQiXSwiZjA3MyIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDI0MGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xMjggMGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNjQgMzY4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE0NC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0sdGZ0PXFvZSxqb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhbW9uZC10dXJuLXJpZ2h0IixpY29uOls1MTIsNTEyLFsiZGlyZWN0aW9ucyJdLCJmNWViIiwiTTIxNSAxN0wxNyAyMTVDNi4xIDIyNS45IDAgMjQwLjYgMCAyNTZzNi4xIDMwLjEgMTcgNDFMMjE1IDQ5NWMxMC45IDEwLjkgMjUuNiAxNyA0MSAxN3MzMC4xLTYuMSA0MS0xN0w0OTUgMjk3YzEwLjktMTAuOSAxNy0yNS42IDE3LTQxcy02LjEtMzAuMS0xNy00MUwyOTcgMTdDMjg2LjEgNi4xIDI3MS40IDAgMjU2IDBzLTMwLjEgNi4xLTQxIDE3ek0zODUgMjU3bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS03OC4xIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00MGMwLTM5LjggMzIuMi03MiA3Mi03Mmw3OC4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXoiXX0scmZ0PWpvZSxhZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wb2ludC11cCIsaWNvbjpbMzg0LDUxMixbOTc1N10sImYwYTYiLCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMFM5NiAxNC4zIDk2IDMybDAgMjA4LTY0IDAgMC0yMDh6TTIyNCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bS02NC02NGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE2MCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptLTk2IDg4bDAtLjZjOS40IDUuNCAyMC4zIDguNiAzMiA4LjYgMTMuMiAwIDI1LjQtNCAzNS42LTEwLjggOC43IDI0LjkgMzIuNSA0Mi44IDYwLjQgNDIuOCAxMS43IDAgMjIuNi0zLjEgMzItOC42bDAgOC42YzAgODguNC03MS42IDE2MC0xNjAgMTYwbC02MS43IDBjLTQyLjQgMC04My4xLTE2LjktMTEzLjEtNDYuOUwzNy41IDQ1My41QzEzLjUgNDI5LjUgMCAzOTYuOSAwIDM2M2wwLTI3YzAtMzUuMyAyOC43LTY0IDY0LTY0bDg4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MnoiXX0saWZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlemllci1jdXJ2ZSIsaWNvbjpbNjQwLDUxMixbXSwiZjU1YiIsIk0yOTYgMTM2bDAtNDggNDggMCAwIDQ4LTQ4IDB6TTI4OCAzMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA0LTExOC40IDBDMTExLjIgNjIuNyA4OS4zIDQ4IDY0IDQ4IDI4LjcgNDggMCA3Ni43IDAgMTEyczI4LjcgNjQgNjQgNjRjMjUuMyAwIDQ3LjItMTQuNyA1Ny42LTM2bDY2LjkgMGMtNTguOSAzOS42LTk4LjkgMTA1LTEwNCAxODBMODAgMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMy4zIDBjNS45LTY3IDQ4LjUtMTIzLjQgMTA3LjUtMTQ5LjEgOC42IDEyLjcgMjMuMiAyMS4xIDM5LjggMjEuMWw2NCAwYzE2LjYgMCAzMS4xLTguNCAzOS44LTIxLjEgNTkgMjUuNyAxMDEuNiA4Mi4xIDEwNy41IDE0OS4xbC0zLjMgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQuNSAwYy01LTc1LTQ1LjEtMTQwLjQtMTA0LTE4MGw2Ni45IDBjMTAuNCAyMS4zIDMyLjMgMzYgNTcuNiAzNiAzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NGMtMjUuMyAwLTQ3LjIgMTQuNy01Ny42IDM2bC0xMTguNCAwIDAtNGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNODggMzc2bDQ4IDAgMCA0OC00OCAwIDAtNDh6bTQxNiA0OGwwLTQ4IDQ4IDAgMCA0OC00OCAweiJdfSxuZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWhhbGYtZHJlc3MiLGljb246WzM4NCw1MTIsW10sImU1NDgiLCJNMTQzLjQtMy45YzkuNy0xNi44IDI3LjgtMjguMSA0OC42LTI4LjEgMzAuOSAwIDU2IDI1LjEgNTYgNTYgMCAyNS40LTE2LjkgNDYuOC00MCA1My43bDAgMGMtNS4xIDEuNS0xMC40IDIuMy0xNiAyLjMtMzAuOSAwLTU2LTI1LjEtNTYtNTZsMCAwYzAtMTAuMSAyLjctMTkuNyA3LjQtMjcuOXpNMzE4LjMgMjk5LjFMMjcyIDIzNi43IDI3MiA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjAgMC0uNCAwLTIzOC42YzM2LjIgNC40IDY5LjIgMjMuNCA5MS4yIDUzbDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNnpNMTc2IDExM2wwIDM5OWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0yNS44IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xbDQzLTEyOS00OC4zIDY1LjFjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1YzIyLTI5LjYgNTUuMS00OC42IDkxLjItNTN6Il19LFZvZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcG9sbC1ob3Jpem9udGFsIixpY29uOls0NDgsNTEyLFsicG9sbC1oIl0sImY2ODIiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTI1NiAxNTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTExMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0em03MiA4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjA4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjA4IDB6TTE5MiAzNjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHoiXX0sc2Z0PVZvZSxvZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2ZCIsIk02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI3NiAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC05MC45IDAgMC04OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzEgMCAxLjkgMCAyLjkgLjEgMjYuMy03NC42IDk3LjUtMTI4LjEgMTgxLjEtMTI4LjEgMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC0zMy40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwLTEyNy45LTExNS4xYy0xOC4zLTE2LjQtNDYtMTYuNC02NC4yIDBMMTI4IDEyOCA2NCAxMjh6bTY0IDI0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyek0xMTIgMjU2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZ6TTI4OCAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxsZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1saXphcmQiLGljb246WzUxMiw1MTIsW10sImYyNTgiLCJNMCAxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRsMjM4LjUgMGMzNi44IDAgNzEuMiAxOCA5Mi4xIDQ4LjJsMTEzLjUgMTY0YzEzIDE4LjcgMTkuOSA0MSAxOS45IDYzLjhsMCA3NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMy44LTc4LjEtNTAuMi0xNjEuOSAwYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4TDQ4IDE2MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6Il19LFVvZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFsa2JvYXJkIixpY29uOls1NzYsNTEyLFsiYmxhY2tib2FyZCJdLCJmNTFiIiwiTTk2IDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw5NiA2NHpNNDgwIDM4NGwtNjQgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTE2MCAwIDAtMjU2IDM4NCAwIDAgMjU2eiJdfSxjZnQ9VW9lLFdvZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1yaWdodC1mcm9tLXNxdWFyZSIsaWNvbjpbNTEyLDUxMixbImV4dGVybmFsLWxpbmstYWx0Il0sImYzNWQiLCJNMjkwLjQgMTkuOEMyOTUuNCA3LjggMzA3LjEgMCAzMjAgMEw0ODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOUw0MDAgMTU3LjMgMjQ2LjYgMzEwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDM1NC43IDExMiAyOTcuNCA1NC42Yy05LjItOS4yLTExLjktMjIuOS02LjktMzQuOXpNMCAxNzZjMC00NC4yIDM1LjgtODAgODAtODBsODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgODBjMCA0NC4yLTM1LjggODAtODAgODBMODAgNTEyYy00NC4yIDAtODAtMzUuOC04MC04MEwwIDE3NnoiXX0sZGZ0PVdvZSx1ZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWZ1bGwiLGljb246WzUxMiw1MTIsWzEyODk5NywxMjg5OTgsMTI4OTk5LDEyOWUzLDEyOTAwMSwxMjkwMDIsMTI5MDAzLDExMDM1LDExMDM2XSwiZjQ1YyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6Il19LHBmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG92ZXIiLGljb246WzUxMiw1MTIsW10sImUxMzkiLCJNMzEwLjQgMTZDMzQ2LjYgMTYgMzc2IDQ1LjQgMzc2IDgxLjdsMCA1LjJjMCAxMS4yLTIuNyAyMi4zLTcuOCAzMi4ybC0yLjMgNC4yLTIwLjEgMzMuNWMtMS4xIDEuOS0xLjIgMy40LTEuMSA0LjUgLjIgMS4zIC45IDIuNyAyLjEgMy45czIuNiAxLjkgMy45IDIuMWMxLjEgLjIgMi42IC4xIDQuNS0xLjFsMzMuNS0yMC4xIDQuMi0yLjNjMTAtNS4xIDIxLTcuOCAzMi4yLTcuOGw1LjIgMGMzNi4yIDAgNjUuNiAyOS40IDY1LjYgNjUuNyAwIDE3LjQtNi45IDM0LjEtMTkuMiA0Ni40bC0xLjMgMS4zYy0zLjcgMy43LTMuNyA5LjYgMCAxMy4zbDEuMyAxLjNjMTIuMyAxMi4zIDE5LjIgMjkgMTkuMiA0Ni40IDAgMzYuMi0yOS40IDY1LjYtNjUuNiA2NS42bC01LjIgMGMtMTIuOCAwLTI1LjUtMy41LTM2LjUtMTAuMWwtMzMuNS0yMC4xYy0xLjktMS4xLTMuNC0xLjItNC41LTEuMS0xLjMgLjItMi43IC45LTMuOSAyLjFzLTEuOSAyLjYtMi4xIDMuOWMtLjIgMS4xLS4xIDIuNiAxLjEgNC41bDIwLjEgMzMuNWM2LjYgMTEgMTAuMSAyMy42IDEwLjEgMzYuNWwwIDUuMmMwIDM2LjItMjkuNCA2NS42LTY1LjYgNjUuNi0xNy40IDAtMzQuMS02LjktNDYuNC0xOS4ybC0xLjMtMS4zYy0zLjctMy43LTkuNi0zLjctMTMuMyAwbC0xLjMgMS4zYy0xMi4zIDEyLjMtMjkgMTkuMi00Ni40IDE5LjItMzYuMiAwLTY1LjYtMjkuNC02NS43LTY1LjZsMC01LjJjMC0xMi44IDMuNS0yNS41IDEwLjEtMzYuNWwyMC4xLTMzLjVjMS4xLTEuOSAxLjItMy40IDEuMS00LjUtLjItMS4zLS45LTIuNy0yLjEtMy45cy0yLjYtMS45LTMuOS0yLjFjLS41LS4xLTEuMi0uMS0xLjkgMGwtMi41IDEtMzMuNSAyMC4xYy0xMSA2LjYtMjMuNiAxMC4xLTM2LjUgMTAuMWwtNS4yIDBDNDUuNCAzNzYgMTYgMzQ2LjYgMTYgMzEwLjQgMTYgMjkzIDIyLjkgMjc2LjMgMzUuMiAyNjRsMS4zLTEuMyAxLjItMS41YzIuMS0zLjEgMi4xLTcuMiAwLTEwLjNsLTEuMi0xLjUtMS4zLTEuM0MyMi45IDIzNS44IDE2IDIxOS4xIDE2IDIwMS43IDE2IDE2NS40IDQ1LjQgMTM2IDgxLjcgMTM2bDUuMiAwYzEyLjggMCAyNS41IDMuNSAzNi41IDEwLjFsMzMuNSAyMC4xIDIuNSAxYy43IC4xIDEuNCAuMSAxLjkgLjEgMS4zLS4yIDIuNy0uOSAzLjktMi4xczEuOS0yLjYgMi4xLTMuOWMuMS0uNSAuMS0xLjItLjEtMS45bC0xLTIuNS0yMC4xLTMzLjVjLTYuNi0xMS0xMC4xLTIzLjYtMTAuMS0zNi41bDAtNS4yYzAtMzYuMiAyOS40LTY1LjcgNjUuNy02NS43IDE3LjQgMCAzNC4xIDYuOSA0Ni40IDE5LjJsMS4zIDEuM2MzLjcgMy42IDkuNiAzLjcgMTMuMyAwbDEuMy0xLjMgNC44LTQuNEMyODAuNSAyMS4zIDI5NS4xIDE2IDMxMC40IDE2eiJdfSxmZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVldGgtb3BlbiIsaWNvbjpbNTEyLDUxMixbXSwiZjYyZiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgODBjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC04MGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMCAyNzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC00OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMDR6bTgwLTE2MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjR6bTEyOCAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0yNHpNODAgMTEyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTMyMCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjR6TTQ4IDM4NGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyem0xNDQgNDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAyNi41LTIxLjUgNDgtNDggNDh6bTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em0xMTItMTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJ6Il19LE9EPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhcnMtc3RhZ2dlcmVkIixpY29uOls1MTIsNTEyLFsicmVvcmRlciIsInN0cmVhbSJdLCJmNTUwIiwiTTAgOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjRsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMTI4QzE0LjMgMTI4IDAgMTEzLjcgMCA5NnpNNjQgMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDk2IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQ0OCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyeiJdfSxoZnQ9T0QsbWZ0PU9ELGdmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YXJlaG91c2UiLGljb246WzU3Niw1MTIsW10sImY0OTQiLCJNMCAxNDIuMUwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjQwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMzcuOWMwLTI3LjUtMTcuNi01Mi00My44LTYwLjdMMzAzLjIgNS4xYy05LjktMy4zLTIwLjUtMy4zLTMwLjQgMEw0My44IDgxLjRDMTcuNiA5MC4xIDAgMTE0LjYgMCAxNDIuMXpNNDY0IDI1NmwtMzUyIDAgMCA2NCAzNTIgMCAwLTY0ek0xMTIgNDE2bDM1MiAwIDAtNjQtMzUyIDAgMCA2NHptMzUyIDMybC0zNTIgMCAwIDY0IDM1MiAwIDAtNjR6Il19LGJmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzd2F0Y2hib29rIixpY29uOls1MTIsNTEyLFtdLCJmNWMzIiwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwbDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNjhjMCA1My00MyA5Ni05NiA5NlMwIDQ2OSAwIDQxNkwwIDQ4ek0yNDAgNDA5LjZsMC0yNzEuNSA0OC4xLTQ4LjFjMTguNy0xOC43IDQ5LjEtMTguNyA2Ny45IDBsNjcuOSA2Ny45YzE4LjcgMTguNyAxOC43IDQ5LjEgMCA2Ny45TDI0MCA0MDkuNnpNMjA1LjUgNTEybDE5Mi0xOTIgNjYuNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI1OC41IDB6TTgwIDY0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZMODAgNjR6TTY0IDIwOGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek05NiA0NDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSx2ZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FtcGdyb3VuZCIsaWNvbjpbNTEyLDUxMixbOTk3OF0sImY2YmIiLCJNMzQ0LjggNTIuM2MxMS4yLTEzLjcgOS4yLTMzLjgtNC41LTQ1cy0zMy44LTkuMi00NSA0LjVsLTM5LjIgNDgtMzkuMi00OEMyMDUuNi0xLjkgMTg1LjQtNCAxNzEuNyA3LjJzLTE1LjcgMzEuNC00LjUgNDVsNDcuNCA1OC0yMDIgMjQ2LjlDNC41IDM2Ny4xIDAgMzc5LjYgMCAzOTIuNkwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM5LjRjMC0xMi45LTQuNS0yNS41LTEyLjctMzUuNWwtMjAyLTI0Ni45IDQ3LjQtNTh6TTI1NiAyODhsMTEyIDEyOC0yMjQgMCAxMTItMTI4eiJdfSx4ZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQiLGljb246WzU3Niw1MTIsW10sImU1NTIiLCJNMTA0LjUgMjRhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0tOCAxODEuM0w3My45IDIyNy45Yy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCAzNy41YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzcuNWMwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOWwzNS4xLTM1LjFjMjIuOC0yMi44IDUzLjYtMzUuNiA4NS44LTM1LjYgMzYuOSAwIDcxLjggMTYuOCA5NC44IDQ1LjZMMjYyLjMgMTgwYzYuMSA3LjYgMTUuMyAxMiAyNSAxMmwzMy4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMzLjIgMGMtMjkuMiAwLTU2LjctMTMuMy03NS0zNmwtMy44LTQuNyAwIDExNS4yIDM0LjUgMjkuNmMxNy43IDE1LjIgMjkuMyAzNi4yIDMyLjYgNTkuM2wxMi42IDg4LjFjMi41IDE3LjUtOS43IDMzLjctMjcuMiAzNi4ycy0zMy43LTkuNy0zNi4yLTI3LjJsLTEyLjYtODguMWMtMS4xLTcuNy01LTE0LjctMTAuOS0xOS44TDEzMCAzNDcuNWMtMjEuMy0xOC4yLTMzLjUtNDQuOS0zMy41LTcyLjlsMC02OS4zek05Ni42IDM3MWMyLjQgMi4zIDQuOCA0LjYgNy40IDYuOGw0NiAzOS40LTIuMiA3LjZjLTQuNSAxNS43LTEyLjkgMzAtMjQuNCA0MS41TDU1LjEgNTM0LjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDY4LjMtNjguM2MzLjgtMy44IDYuNi04LjYgOC4xLTEzLjhMOTYuNiAzNzF6TTUwNS41IDM0NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0xMDIuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwMi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJ6Il19LHlmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnbGFzc2VzIixpY29uOls1NzYsNTEyLFtdLCJmNTMwIiwiTTE0My4zIDk2Yy0xNCAwLTI2LjUgOS4yLTMwLjYgMjIuNkw3MC40IDI1NiAyMjQgMjU2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDY0IDBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTUzLjYgMC00Mi4zLTEzNy40QzQ1OS4yIDEwNS4yIDQ0Ni44IDk2IDQzMi43IDk2TDQwMCA5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMi43IDBjNDIuMSAwIDc5LjQgMjcuNSA5MS44IDY3LjhsNDUuNCAxNDcuNWM0LjEgMTMuMiA2LjEgMjYuOSA2LjEgNDAuN2wwIDk2YzAgNTMtNDMgOTYtOTYgOTZsLTY0IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC0zMi02NCAwIDAgMzJjMCA1My00MyA5Ni05NiA5NmwtNjQgMGMtNTMgMC05Ni00My05Ni05NmwwLTk2YzAtMTMuOCAyLjEtMjcuNSA2LjEtNDAuN0w1MS41IDk5LjhDNjMuOSA1OS41IDEwMS4xIDMyIDE0My4zIDMyTDE3NiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIuNyAwek02NCAzMjBsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjQtMTI4IDB6bTQxNiA5NmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0LTEyOCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMHoiXX0sR29lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1wYXVzZSIsaWNvbjpbNTEyLDUxMixbNjIwOTIsInBhdXNlLWNpcmNsZSJdLCJmMjhiIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMjQgMTkybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTEyOCAwbDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LHdmdD1Hb2UsTWZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1lbW9yeSIsaWNvbjpbNTEyLDUxMixbXSwiZjUzOCIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOGwwIDcuNEMwIDE0Mi4yIDQuNCAxNDggMTAuMSAxNTEuNyAyMy4zIDE2MC4zIDMyIDE3NS4xIDMyIDE5MnMtOC43IDMxLjctMjEuOSA0MC4zQzQuNCAyMzYgMCAyNDEuOCAwIDI0OC42bDAgNTUuNCA1MTIgMCAwLTU1LjRjMC02LjgtNC40LTEyLjYtMTAuMS0xNi4zLTEzLjItOC42LTIxLjktMjMuNC0yMS45LTQwLjNzOC43LTMxLjcgMjEuOS00MC4zYzUuNy0zLjcgMTAuMS05LjUgMTAuMS0xNi4zbDAtNy40YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek01MTIgNDE2bDAtNjQtNTEyIDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwIDAtMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDI0IDg4IDAgMC0yNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjQgODggMCAwLTI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyNCA2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0xNjAgMTYwbDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xMjggMGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDBsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LGtmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnaWZ0IixpY29uOls1MTIsNTEyLFsxMjc4NzNdLCJmMDZiIiwiTTMyMS41IDY4LjhDMzI5LjEgNTUuOSAzNDIuOSA0OCAzNTcuOCA0OGwyLjIgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNzMuMyAwIDM0LjgtNTkuMnptLTEzMSAwbDM0LjggNTkuMi03My4zIDBjLTIyLjEgMC00MC0xNy45LTQwLTQwczE3LjktNDAgNDAtNDBsMi4yIDBjMTQuOSAwIDI4LjggNy45IDM2LjMgMjAuOHptODkuNi0yNC4zbC0yNC4xIDQxLTI0LjEtNDFDMjE1LjcgMTYuOSAxODYuMSAwIDE1NC4yIDBMMTUyIDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4IDAgMTQuNCAzLjUgMjggOS42IDQwTDMyIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC00MS42IDBjNi4xLTEyIDkuNi0yNS42IDkuNi00MCAwLTQ4LjYtMzkuNC04OC04OC04OGwtMi4yIDBjLTMxLjkgMC02MS41IDE2LjktNzcuNyA0NC40ek00ODAgMjcybC0yMDAgMCAwIDIwOCAxMzYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE0NHptLTI0OCAwbC0yMDAgMCAwIDE0NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMzYgMCAwLTIwOHoiXX0sU2Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtd2hlYXQiLGljb246WzUxMiw1MTIsW10sImU1MmEiLCJNMTc2LTE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MCAwLTguOCA3LjItMTYgMTYtMTZ6TTU2IDBsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw1NiA0OEM0Mi43IDQ4IDMyIDM3LjMgMzIgMjRTNDIuNyAwIDU2IDB6TTI0IDcybDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDEyMEMxMC43IDEyMCAwIDEwOS4zIDAgOTZTMTAuNyA3MiAyNCA3MnptOCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDBjMC04LjggNy4yLTE2IDE2LTE2IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MHpNNDAwLTE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MCAwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE0NGMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODAgOC44IDAgMTYgNy4yIDE2IDE2ek0zNTIgMTEyYzguOCAwIDE2IDcuMiAxNiAxNiAwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODAgOC44IDAgMTYgNy4yIDE2IDE2ek0wIDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OGw0MTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzA0ek00OCA0MTZsMCA0OCA0OCAwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek05NiAzMDRsLTQ4IDAgMCA0OGMyNi41IDAgNDgtMjEuNSA0OC00OHpNNDY0IDQxNmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsNDggMCAwLTQ4ek00MTYgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDAtNDgtNDggMHptLTk2IDgwYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHoiXX0semZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImR1bmdlb24iLGljb246WzUxMiw1MTIsW10sImY2ZDkiLCJNMzQ3LjUgMTQ0LjhjNi41IDUuNCAxMi41IDExLjMgMTggMTcuNyA4LjcgMTAuMiAyMy43IDE0IDM1LjEgNi45bDU0LjEtMzMuOGMxMS4yLTcgMTQuNy0yMS43IDYuOS0zMi4yLTE1LjMtMjAuNS0zMy41LTM4LjYtNTQuMS01My44LTEwLjQtNy42LTI0LjctNC4zLTMxLjggNi40bC0zNS4xIDUyLjZjLTcuOCAxMS42LTMuOCAyNy4zIDcgMzYuMnpNMzI3LjggNDEuMWM4LjYtMTIuOSAyLjktMzAuNS0xMi4yLTM0LjEtMTkuMS00LjYtMzkuMS03LTU5LjYtN3MtNDAuNCAyLjQtNTkuNiA3Yy0xNS4xIDMuNi0yMC44IDIxLjItMTIuMiAzNC4xbDQwIDYwYzUuMiA3LjggMTQuNSAxMS43IDIzLjkgMTEuMiA1LjItLjMgMTAuNi0uMyAxNS44IDAgOS40IC41IDE4LjctMy40IDIzLjktMTEuMmw0MC02MHpNNTAuNSAxMDMuM2MtNy45IDEwLjUtNC4zIDI1LjMgNi45IDMyLjJsNTQuMSAzMy44YzExLjQgNy4xIDI2LjMgMy4zIDM1LjEtNi45IDUuNS02LjQgMTEuNS0xMi4zIDE4LTE3LjcgMTAuOC04LjkgMTQuOC0yNC42IDctMzYuMkwxMzYuNCA1NS45Yy03LjEtMTAuNy0yMS41LTE0LTMxLjgtNi40LTIwLjYgMTUuMS0zOC44IDMzLjMtNTQuMSA1My44em02MiAxNDEuMWMuOC05LjktMy4zLTE5LjktMTEuOC0yNS4xTDQxIDE4MmMtMTIuOS04LTI5LjktMi4zLTMzLjYgMTIuNS00LjkgMTkuNy03LjUgNDAuMy03LjUgNjEuNmwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTMuOSAuMi03LjggLjUtMTEuNnptMjg3LjEgMGMuMyAzLjggLjUgNy43IC41IDExLjZsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0yMS4yLTIuNi00MS44LTcuNS02MS42LTMuNi0xNC43LTIwLjctMjAuNS0zMy42LTEyLjVsLTU5LjcgMzcuM2MtOC40IDUuMy0xMi42IDE1LjItMTEuOCAyNS4xek04OCAzNTJsLTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0TDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTQwMCAwbC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0yODAgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMDR6bS04MCAzMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjcyem0xNjAgMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjcyeiJdfSxZb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VpdGNhc2UtbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbIm1lZGtpdCJdLCJmMGZhIiwiTTE5MiA1NmwwIDQwIDEyOCAwIDAtNDBjMC00LjQtMy42LTgtOC04TDIwMCA0OGMtNC40IDAtOCAzLjYtOCA4em0tNDggOGwwLThjMC0zMC45IDI1LjEtNTYgNTYtNTZMMzEyIDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCA0MjQtMjI0IDAgMC00MTZ6TTk2IDE3NmwwIDMwNC0zMiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NGwzMiAwIDAgODB6TTQxNiA0ODBsMC0zODQgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIgMHpNMjQ0IDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzYtMzYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjRjMCA4LjggNy4yIDE2IDE2IDE2bDM2IDAgMCAzNmMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zNiAzNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMzYgMCAwLTM2YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMHoiXX0sQ2Z0PVlvZSxUZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNhbmUiLGljb246WzQ0OCw1MTIsW10sImU1M2MiLCJNMjMyLTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xNDQgMjM2LjdMOTcuNyAyOTkuMWMtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuNnMtMTcuMi0zMC42LTYuNi00NC44bDcwLjUtOTVDMTQyIDEzMiAxODEuNyAxMTIgMjI0IDExMnM4MiAyMCAxMDcuMiA1My45bDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNkwzMDQgMjM2LjcgMzA0IDUxMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI3NS4zek0zOTIgMzg0Yy00LjQgMC04IDMuNi04IDggMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEyOGMwLTQuNC0zLjYtOC04LTh6Il19LEpnPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlIixpY29uOls1MTIsNTEyLFsiZGFzaGJvYXJkIiwiZ2F1Z2UtbWVkIiwidGFjaG9tZXRlci1hbHQtYXZlcmFnZSJdLCJmNjI0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMyMCA5NmMwLTI2LjktMTYuNS00OS45LTQwLTU5LjNMMjgwIDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE3Mi43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpNMTQ0IDE3NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bS0xNiA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yODggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek00MDAgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LF9mdD1KZyxMZnQ9SmcsJGZ0PUpnLERmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZS1vcGVuLXRleHQiLGljb246WzU3Niw1MTIsW10sImY2NTgiLCJNMjg4IDMzLjlMOTYuNCAxNzUuOCAyNTQuNSAyOTNjNS4zIDMuOSAxMS4yIDYuOSAxNy41IDguN0wyNzIgNDY0YzAgNS41IC41IDEwLjggMS4zIDE2TDk2IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yMzkuOWMwLTIwLjMgOS42LTM5LjQgMjUuOS01MS40TDI1NC41LTIxYzkuNy03LjIgMjEuNC0xMSAzMy41LTExczIzLjggMy45IDMzLjUgMTFMNTE4LjEgMTI0LjdjNy4yIDUuMyAxMy4xIDEyIDE3LjQgMTkuNi0yLjUtLjItNS0uMy03LjUtLjNMNDM2LjYgMTQ0IDI4OCAzMy45ek0zMjAgMjQwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yMjR6bTgwIDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTk2IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTYgMHoiXX0sQWZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvb2xib3giLGljb246WzUxMiw1MTIsWzEyOTUyMF0sImY1NTIiLCJNMTc2IDU2bDAgNDAgMTYwIDAgMC00MGMwLTQuNC0zLjYtOC04LThMMTg0IDQ4Yy00LjQgMC04IDMuNi04IDh6TTEyOCA5NmwwLTQwYzAtMzAuOSAyNS4xLTU2IDU2LTU2TDMyOCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgNDAgMjguMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFsNTEuOSA1MS45YzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45bDAgNzYuMS0xMzYgMCAwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTYtMTQ0IDAgMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2LTEzNiAwIDAtNzYuMWMwLTEyLjcgNS4xLTI0LjkgMTQuMS0zMy45bDUxLjktNTEuOWM5LTkgMjEuMi0xNC4xIDMzLjktMTQuMUwxMjggOTZ6TTAgNDE2bDAtOTYgMTM2IDAgMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMTQ0IDAgMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMTM2IDAgMCA5NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0eiJdfSxFZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicG93ZXItb2ZmIixpY29uOls1MTIsNTEyLFs5MjExXSwiZjAxMSIsIk0yODggMGMwLTE3LjctMTQuMy0zMi0zMi0zMlMyMjQtMTcuNyAyMjQgMGwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDI4OCAwek0xNDYuMyA5OC40YzE0LjUtMTAuMSAxOC0zMC4xIDcuOS00NC42cy0zMC4xLTE4LTQ0LjYtNy45QzQzLjQgOTIuMSAwIDE2OSAwIDI1NiAwIDM5Ny40IDExNC42IDUxMiAyNTYgNTEyUzUxMiAzOTcuNCA1MTIgMjU2YzAtODctNDMuNC0xNjMuOS0xMDkuNy0yMTAuMS0xNC41LTEwLjEtMzQuNC02LjYtNDQuNiA3LjlzLTYuNiAzNC40IDcuOSA0NC42YzQ5LjggMzQuOCA4Mi4zIDkyLjQgODIuMyAxNTcuNiAwIDEwNi04NiAxOTItMTkyIDE5MlM2NCAzNjIgNjQgMjU2YzAtNjUuMiAzMi41LTEyMi45IDgyLjMtMTU3LjZ6Il19LFJEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpZ25hbCIsaWNvbjpbNTEyLDUxMixbMTI4MjQ2LCJzaWduYWwtNSIsInNpZ25hbC1wZXJmZWN0Il0sImYwMTIiLCJNNDg4IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDAwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MDB6TTM2MCAxMjhjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMDRjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTI4MCAyNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTIwOHpNMTUyIDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNNDggMzg0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sSWZ0PVJELFBmdD1SRCxOZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXNwaW4iLGljb246WzUxMiw1MTIsW10sImU0YmIiLCJNNDgxLjcgMjQwLjFjLTE3LjYtMS4yLTMyLjkgMTItMzQuMiAyOS43LTMuMyA0Ny0yMy42IDg5LjQtNTQuOCAxMjFMMzYxIDM1OWMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzMjAgMzY2LjMgMzIwIDM3NmwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGM5LjcgMCAxOC41LTUuOCAyMi4yLTE0LjhzMS43LTE5LjMtNS4yLTI2LjJsLTM1LTM1YzQxLjctNDIuMiA2OC45LTk4LjggNzMuNC0xNjEuOCAxLjItMTcuNi0xMi0zMi45LTI5LjctMzQuMnpNMzkgNDFMNzQgNzZjLTQxLjcgNDIuMi02OC45IDk4LjgtNzMuNCAxNjEuOC0xLjIgMTcuNiAxMiAzMi45IDI5LjcgMzQuMnMzMi45LTEyIDM0LjItMjkuN2MzLjMtNDcgMjMuNi04OS40IDU0LjgtMTIxTDE1MSAxNTNjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlMxOTIgMTQ1LjcgMTkyIDEzNmwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEw1NiAwQzQ2LjMgMCAzNy41IDUuOCAzMy44IDE0LjhTMzIuMiAzNC4xIDM5IDQxem0yMDEtMTAuN2MtMS4yIDE3LjYgMTIgMzIuOSAyOS43IDM0LjIgNDcgMy4zIDg5LjQgMjMuNiAxMjEgNTQuOEwzNTkgMTUxYy02LjkgNi45LTguOSAxNy4yLTUuMiAyNi4yUzM2Ni4zIDE5MiAzNzYgMTkybDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMlM0NzcuOSAzMi4yIDQ3MSAzOUw0MzYgNzRjLTQyLjItNDEuNy05OC44LTY4LjktMTYxLjgtNzMuNC0xNy42LTEuMi0zMi45IDEyLTM0LjIgMjkuN3pNNDEgNDczbDM1LTM1YzQyLjIgNDEuNyA5OC44IDY4LjkgMTYxLjggNzMuNCAxNy42IDEuMiAzMi45LTEyIDM0LjItMjkuN3MtMTItMzIuOS0yOS43LTM0LjJjLTQ3LTMuMy04OS40LTIzLjYtMTIxLTU0LjhMMTUzIDM2MWM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4yUzE0NS43IDMyMCAxMzYgMzIwTDI0IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRMMCA0NTZjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yUzM0LjEgNDc5LjggNDEgNDczeiJdfSxGZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiam9pbnQiLGljb246WzU3Niw1MTIsW10sImY1OTUiLCJNMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxOWMwIDQwLjMgMTYgNzkgNDQuNSAxMDcuNWwyMSAyMUM0NjkgMTkxIDQ4MCAyMTcuNCA0ODAgMjQ1bDAgMTljMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xOWMwLTE0LjktNS45LTI5LjEtMTYuNC0zOS42bC0yMS0yMUMzNTcuMSAxNDYuOSAzMzYgOTYgMzM2IDQzbDAtMTljMC0xMy4zIDEwLjctMjQgMjQtMjR6TTU1MiAyODhjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTljMC00MC4zLTE2LTc5LTQ0LjUtMTA3LjVsLTIxLTIxQzQ0MyA5NyA0MzIgNzAuNiA0MzIgNDNsMC0xOWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTljMCAxNC45IDUuOSAyOS4xIDE2LjQgMzkuNmwyMSAyMUM1NTQuOSAxNDEuMSA1NzYgMTkyIDU3NiAyNDVsMCAxOWMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNMjkyLjcgMzIwYzUuNiAwIDEwLjcgMi45IDEzLjYgNy42TDM5NC42IDQ3MWMxLjMgMi4xIDAgNC45LTIuNCA1LjItMTYuMSAyLjUtMzIuNCAzLjctNDguNyAzLjdsLTM4LjEgMGMtNS42IDAtMTAuNy0yLjktMTMuNi03LjZsLTc5LTEyOC40Yy02LTkuOCAwLTIyLjYgMTEuNS0yMy4zIDYuNy0uNCAxMy40LS42IDIwLjItLjZsNDguMyAwek00NTkuMyA0NjUuOWMtNi40IDEtMTIuNy0xLjktMTYuMS03LjRMMzc0LjEgMzQ2LjFjLTYuNy0xMC45IDEuNS0yNC43IDE0LjItMjIuOSAxLjMgLjIgMi42IC40IDMuOCAuNmwxMzYuNCAyMWMyNy4zIDQuMiA0Ny40IDI3LjcgNDcuNCA1NS4zcy0yMC4xIDUxLjEtNDcuNCA1NS4zbC02OS4yIDEwLjZ6TTEzOC43IDMzNmM2LjctMS41IDEzLjYgMS40IDE3LjIgNy4ybDY4LjkgMTEyYzYuNiAxMC43LTEuMiAyNC40LTEzLjggMjMuMS0xMy0xLjQtMjUuOS0zLjUtMzguNi02LjVMMzEuMiA0MzkuMkMxMi45IDQzNSAwIDQxOC43IDAgNDAwczEyLjktMzUgMzEuMi0zOS4yTDEzOC43IDMzNnoiXX0sT2Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyYWlsbGUiLGljb246WzM4NCw1MTIsW10sImYyYTEiLCJNODAgMTQ0YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0wIDE5MmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMCAxMzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjQgMjQgMTAuNyAyNCAyNC0xMC43IDI0LTI0IDI0em0wIDU2YzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwLTgwIDM1LjgtODAgODAgMzUuOCA4MCA4MCA4MHptMjQ4LTgwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0IDEwLjctMjQgMjQtMjQgMjQgMTAuNyAyNCAyNHptNTYgMGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MCAzNS44IDgwIDgwIDgwIDgwLTM1LjggODAtODB6TTMwNCAyMzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wIDEwNGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMC0xOTJhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6Il19LFpvZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXNrZXQtc2hvcHBpbmciLGljb246WzU3Niw1MTIsWyJzaG9wcGluZy1iYXNrZXQiXSwiZjI5MSIsIk0yODggMGM2LjYgMCAxMi45IDIuNyAxNy40IDcuNWwxNDQgMTUyIC41IC41IDc4LjEgMGMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDE0LjUtOS42IDI2LjctMjIuOCAzMC43TDQ5MS4xIDQyOS45Yy02LjUgMjkuMy0zMi41IDUwLjEtNjIuNSA1MC4xbC0yODEuMyAwYy0zMCAwLTU2LTIwLjgtNjIuNS01MC4xbC00Ni0yMDcuMmMtMTMuMi0zLjktMjIuOC0xNi4yLTIyLjgtMzAuNyAwLTE3LjcgMTQuMy0zMiAzMi0zMmw3OC4xIDAgLjUtLjUgMTQ0LTE1MkMyNzUuMSAyLjcgMjgxLjQgMCAyODggMHptMCA1OC45TDE5Mi4yIDE2MCAzODMuOCAxNjAgMjg4IDU4Ljl6TTIwOCAyNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTExMnptODAtMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTEyOCAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTEyeiJdfSxSZnQ9Wm9lLEJmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UiLGljb246WzUxMiw1MTIsW10sImU0YzgiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk0YzAtMzguOCAyNi40LTcyLjYgNjQtODJsMC0xMTItNDAgMCAwLTY0IDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNDI0IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTI5NiA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek04OCA5Nmw4MCAwIDAgNjQtODAgMCAwLTY0eiJdfSxIZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtYXJyaXZhbCIsaWNvbjpbNTc2LDUxMixbMTI4NzQ4XSwiZjVhZiIsIk0zODYuNiAxOTMuMUwyNjUuOSAzLjdjLTQuOC03LjYtMTIuNi0xMi44LTIxLjQtMTQuM2wtNDMuMS03LjZjLTEwLjgtMS45LTIwLjIgNy4zLTE4LjYgMTguMWwyNCAxNjEuNi0xMDUtMTguNS0zMy44LTYxLjhDNjQuNSA3NC43IDU4LjIgNzAuMiA1MS4xIDY5TDM0IDY2Yy05LjgtMS43LTE4LjggNS45LTE4LjggMTUuOGwuNiAxMDYuM2MuMiAzMC45IDIyLjQgNTcuMyA1Mi45IDYyLjdsMTMuNSAyLjQgMCAwIDQxNy42IDczLjZjMzAuNSA1LjQgNTkuNS0xNSA2NC45LTQ1LjRzLTE1LTU5LjUtNDUuNC02NC45TDM4Ni42IDE5My4xek0yMjQgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTMxLjItMTUuM2EzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDQ4eiJdfSxxZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FzaC1yZWdpc3RlciIsaWNvbjpbNTEyLDUxMixbXSwiZjc4OCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0czI4LjcgNjQgNjQgNjRsNDggMCAwIDMyLTU3IDBjLTMxLjYgMC01OC41IDIzLjEtNjMuMyA1NC40TDEuMSAzNjQuMUMuNCAzNjguOCAwIDM3My42IDAgMzc4LjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02OS42YzAtNC44LS40LTkuNi0xLjEtMTQuNEw0ODguMiAyMTQuNEM0ODMuNSAxODMuMSA0NTYuNiAxNjAgNDI1IDE2MGwtMjE3IDAgMC0zMiA0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0UzI5MS4zIDAgMjU2IDBMOTYgMHptMCA0OGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw5NiA4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNNjQgNDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDQ0OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTQ4LTE2MGEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6bTEyMC0yNGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0xNjAgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNMzI4IDI0MGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0yNTYgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNNDI0IDI0MGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0zNTIgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHoiXX0samZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpbmciLGljb246WzUxMiw1MTIsW10sImY3MGIiLCJNNjQgMjA4YzAgNy44IDQuNCAxOC43IDE3LjEgMzAuMyA0NS40LTI0LjIgMTA3LjctMzguMyAxNzQuOS0zOC4zczEyOS41IDE0LjEgMTc0LjkgMzguM2MxMi44LTExLjYgMTcuMS0yMi41IDE3LjEtMzAuMyAwLTEyLjMtMTAuOC0zMi00Ny45LTUwLjYtMzUuMi0xNy42LTg2LjEtMjkuNC0xNDQuMS0yOS40cy0xMDguOSAxMS44LTE0NC4xIDI5LjRDNzQuOCAxNzYgNjQgMTk1LjcgNjQgMjA4em0xOTIgNDBjLTQ3IDAtODkuMyA3LjYtMTIyLjkgMTkuNyAzMy4yIDEyLjQgNzUuNyAyMC4zIDEyMi45IDIwLjNzODkuNy03LjggMTIyLjktMjAuM0MzNDUuMyAyNTUuNiAzMDMgMjQ4IDI1NiAyNDh6TTAgMjA4QzAgMTU4LjQgMzkuNCAxMjIuMiA4My4zIDEwMC4yIDEyOS4xIDc3LjMgMTkwLjMgNjQgMjU2IDY0czEyNi45IDEzLjMgMTcyLjcgMzYuMmM0My45IDIyIDgzLjMgNTguMiA4My4zIDEwNy44bDAgOTZjMCA0OS42LTM5LjQgODUuOC04My4zIDEwNy44LTQ1LjkgMjIuOS0xMDcgMzYuMi0xNzIuNyAzNi4yUzEyOS4xIDQzNC43IDgzLjMgNDExLjhDMzkuNCAzODkuOCAwIDM1My42IDAgMzA0bDAtOTZ6Il19LFZmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcXVhcml1cyIsaWNvbjpbNTc2LDUxMixbXSwiZTg0NSIsIk00MDEuNyAyOTEuNGM5LTQuNSAxOS42LTQuNSAyOC42IDBsMTI4IDY0YzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNMNDE2IDM1NS44IDMwMi4zIDQxMi42Yy05IDQuNS0xOS42IDQuNS0yOC42IDBMMTYwIDM1NS44IDQ2LjMgNDEyLjZjLTE1LjggNy45LTM1IDEuNS00Mi45LTE0LjNzLTEuNS0zNSAxNC4zLTQyLjlsMTI4LTY0YzktNC41IDE5LjYtNC41IDI4LjYgMEwyODggMzQ4LjIgNDAxLjcgMjkxLjR6bTMuNC0xOTMuNWM4LjItMyAxNy4zLTIuNSAyNS4yIDEuNWwxMjggNjRjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM0w0MTYgMTYzLjggMzAyLjMgMjIwLjZjLTkgNC41LTE5LjYgNC41LTI4LjYgMEwxNjAgMTYzLjggNDYuMyAyMjAuNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOWwxMjgtNjQgMy40LTEuNWM4LjItMyAxNy4zLTIuNSAyNS4yIDEuNWwxMTMuNyA1Ni44IDExMy43LTU2LjggMy40LTEuNXoiXX0sWG9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXJlLW5vZGVzIixpY29uOls1MTIsNTEyLFsic2hhcmUtYWx0Il0sImYxZTAiLCJNMzg0IDE5MmM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05Ni05NiA0My05NiA5NmMwIDUuNCAuNSAxMC44IDEuMyAxNkwxNTkuNiAxODQuMWMtMTYuOS0xNS0zOS4yLTI0LjEtNjMuNi0yNC4xLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZjMjQuNCAwIDQ2LjYtOS4xIDYzLjYtMjQuMUwyODkuMyA0MDBjLS45IDUuMi0xLjMgMTAuNS0xLjMgMTYgMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05Ni00My05Ni05Ni05NmMtMjQuNCAwLTQ2LjYgOS4xLTYzLjYgMjQuMUwxOTAuNyAyNzJjLjktNS4yIDEuMy0xMC41IDEuMy0xNnMtLjUtMTAuOC0xLjMtMTZsMTI5LjctNzIuMWMxNi45IDE1IDM5LjIgMjQuMSA2My42IDI0LjF6Il19LFVmdD1Yb2UsV2Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1M2YiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sR2Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJpbm9jdWxhcnMiLGljb246WzUxMiw1MTIsW10sImYxZTUiLCJNMTI4IDMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi05NiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTY0IDk2bDAgMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC01OS4xYzAtMzQuNiA5LjQtNjguNiAyNy4yLTk4LjMgMTMuNy0yMi44IDIyLjUtNDguMiAyNS44LTc0LjZMNjAuNSAxNTZjMi0xNiAxNS42LTI4IDMxLjgtMjhsOTkuOCAwem0yMjcuOCAwYzE2LjEgMCAyOS44IDEyIDMxLjggMjhMNDU5IDIxNmMzLjMgMjYuNCAxMi4xIDUxLjggMjUuOCA3NC42IDE3LjggMjkuNyAyNy4yIDYzLjcgMjcuMiA5OC4zbDAgNTkuMWMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzIwIDk5LjggMHpNMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi05NiAwIDAtMzJ6bS0zMiA2NGwwIDE2MC02NCAwIDAtMTYwIDY0IDB6Il19LFlmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJraXAtc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFjNCIsIk0zNDAuOCA4OC4zYzEzLjQtMTEuNSAxNS0zMS43IDMuNS00NS4xcy0zMS43LTE1LTQ1LjEtMy41TDEyOCAxODYuNCAxMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgNDYuMyA2NCA2NGwwIDE2OC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAxNjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyMi40IDE3MS4yIDE0Ni43YzEzLjQgMTEuNSAzMy42IDkuOSA0NS4xLTMuNXM5LjktMzMuNi0zLjUtNDUuMUwxNzMuMiAyODAgMzUyIDI4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxNzMuMiAyMzIgMzQwLjggODguM3oiXX0sUW9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhcmQtZHJpdmUiLGljb246WzQ0OCw1MTIsWzEyODQzNiwiaGRkIl0sImYwYTAiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDI2MC4xQzE4LjEgMjQ3LjQgNDAuMiAyNDAgNjQgMjQwbDMyMCAwYzIzLjggMCA0NS45IDcuNCA2NCAyMC4xTDQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNDQ4IDM1MmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NHpNMjI0IDM4NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xMjgtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxaZnQ9UW9lLFhmdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyYW5raW5nLXN0YXIiLGljb246WzU3Niw1MTIsW10sImU1NjEiLCJNMzIxLjggNTQuMUwyOTguMiA2LjNjLTMuOS04LjMtMTYuMS04LjYtMjAuNCAwbC0yMy42IDQ3LjgtNTIuMyA3LjVjLTkuMyAxLjQtMTMuMyAxMi45LTYuNCAxOS44bDM4IDM3LTkgNTIuMWMtMS40IDkuMyA4LjIgMTYuNSAxNi44IDEyLjJsNDYuOS0yNC44IDQ2LjYgMjQuNGM4LjYgNC4zIDE4LjMtMi45IDE2LjgtMTIuMmwtOS01Mi4xIDM4LTM2LjZjNi44LTYuOCAyLjktMTguMy02LjQtMTkuOGwtNTIuMy03LjV6TTI1NiAyNTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTYwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNjBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTQ4IDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTQxNiA0MzJsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4eiJdfSxRZnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci10aWUiLGljb246WzQ0OCw1MTIsW10sImY1MDgiLCJNMjI0IDI0OGExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6bS0zMC41IDU2bDYxIDBjOS43IDAgMTcuNSA3LjggMTcuNSAxNy41IDAgNC4yLTEuNSA4LjItNC4yIDExLjRsLTI3LjQgMzIgMzEgMTE1LjEgLjYgMCAzNC42LTEzOC41YzIuMi04LjcgMTEuMS0xNCAxOS41LTEwLjggNjEuOSAyMy42IDEwNS45IDgzLjYgMTA1LjkgMTUzLjggMCAxNS4xLTEyLjMgMjcuNC0yNy40IDI3LjRMNDMuNCA1MTJjLTE1LjEgMC0yNy40LTEyLjMtMjcuNC0yNy40IDAtNzAuMiA0NC0xMzAuMiAxMDUuOS0xNTMuOCA4LjQtMy4yIDE3LjMgMi4xIDE5LjUgMTAuOGwzNC42IDEzOC41IC42IDAgMzEtMTE1LjEtMjcuNC0zMmMtMi43LTMuMi00LjItNy4yLTQuMi0xMS40IDAtOS43IDcuOC0xNy41IDE3LjUtMTcuNXoiXX0sSm9lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVsbGlwc2lzIixpY29uOls0NDgsNTEyLFsiZWxsaXBzaXMtaCJdLCJmMTQxIiwiTTAgMjU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMTY4IDBhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0yMjQtNTZhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6Il19LEpmdD1Kb2UsS2Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0b3JlLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMDcxIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU4LjYtNTguNmMxLjEtNCAxLjYtOC4yIDEuNi0xMi41bDAtMTUxLjJjLTEyLjUgNC42LTI2LjEgNy4yLTQwLjUgNy4yLTguMSAwLTE1LjktLjgtMjMuNS0yLjRsMCA2Ni40LTMwLjIgMC0xMzcuNS0xMzcuNWMyLjktMy42IDUuNS03LjQgNy42LTExLjUgMTEuNiAyMiAzNC43IDM3IDYxLjMgMzcgMjYuOCAwIDQ5LjgtMTUuMSA2MS40LTM3LjEgMTEuNCAyMi4xIDM0LjUgMzcuMSA2MC44IDM3LjEgNDUuNiAwIDc4LjQtNDMuNyA2NS42LTg3LjVMNTEzLjggNzIuM0M1MDYuOCA0OC40IDQ4NC45IDMyIDQ2MCAzMkwxMTYgMzJjLTUuNSAwLTEwLjggLjgtMTUuOSAyLjNMNDEtMjQuOXpNMTUxLjUgMjIxLjNMNDguNyAxMTguNiAzOC45IDE1Mi41Yy0xMi44IDQzLjcgMjAgODcuNSA2NS42IDg3LjUgMTguMSAwIDM0LjctNy4xIDQ3LTE4Ljd6TTQxMC4yIDQ4MGwtMTI4LTEyOC0xNTQuMiAwIDAtNjYuNGMtNy42IDEuNi0xNS41IDIuNC0yMy41IDIuNC0xNC40IDAtMjgtMi42LTQwLjUtNy4yTDY0IDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyOTguMiAweiJdfSxLb2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyY2VudCIsaWNvbjpbNDQ4LDUxMixbNjIxMDEsNjI3ODUsInBlcmNlbnRhZ2UiXSwiMjUiLCJNMTkyIDEyOGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6TTQ0OCAzODRhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwek00MzguNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0zODQgMzg0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDM4NC0zODR6Il19LGVodD1Lb2UsZTJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtemlwcGVyIixpY29uOlszODQsNTEyLFsiZmlsZS1hcmNoaXZlIl0sImYxYzYiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTY0IDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggNDhDNzQuNyA0OCA2NCA1OC43IDY0IDcyem0wIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em02NCA3MmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OGMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6bS0xNiA2NGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6Il19LHRodD1lMmUscmh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpc3BsYXkiLGljb246WzUxMiw1MTIsW10sImUxNjMiLCJNNDQ4IDk2bDAgMjU2LTM4NCAwIDAtMjU2IDM4NCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDE0NCAwLTE2IDQ4LTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAtMTYtNDggMTQ0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LHQyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpY29ucyIsaWNvbjpbNTEyLDUxMixbImhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0Il0sImY4NmQiLCJNMTc0LjkgMjcyYzEwLjcgMCAyMC43IDUuMyAyNi42IDE0LjJsMTEuOCAxNy44IDI2LjcgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzUyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDI2LjcgMCAxMS44LTE3LjhjNS45LTguOSAxNS45LTE0LjIgMjYuNi0xNC4ybDYxLjcgMHptMjc4LjYtMTJjNS42LTQuOSAxMy45LTUuMyAxOS45LS45czguMyAxMi40IDUuMyAxOS4zTDQ0MC4zIDM2OCA0OTYgMzY4YzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRzLjYgMTMuMy00LjQgMTcuN2wtMTI4IDExMmMtNS42IDQuOS0xMy45IDUuMy0xOS45IC45cy04LjMtMTIuNC01LjMtMTkuM2wzOC41LTg5LjctNTUuOCAwYy02LjcgMC0xMi42LTQuMS0xNS0xMC40cy0uNi0xMy4zIDQuNC0xNy43bDEyOC0xMTJ6TTE0NCAzNjBhNDggNDggMCAxIDAgMCA5NiA0OCA0OCAwIDEgMCAwLTk2ek00ODMuOCAuNGM2LjUtMS4xIDEzLjEgLjQgMTguNSA0LjQgNi4xIDQuNSA5LjcgMTEuNyA5LjcgMTkuMmwwIDE1Mi0uMyA0LjljLTMuMyAyNC4yLTMwLjUgNDMuMS02My43IDQzLjEtMzUuMyAwLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGM1LjUgMCAxMC45IC42IDE2IDEuNmwwLTQ5LjMtMTEyIDMzLjYgMCAxMTAuMi0uMyA0LjljLTMuMyAyNC4yLTMwLjUgNDMuMS02My43IDQzLjEtMzUuMyAwLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGM1LjUgMCAxMC45IC42IDE2IDEuNkwzMDQgNzJjMC0xMC42IDctMjAgMTcuMS0yM2wxNjAtNDggMi43LS42ek0xODguOSAwQzIyNiAwIDI1NiAzMCAyNTYgNjcuMWwwIDYuMWMwIDU2LjEtNzUuMiAxMTIuMS0xMTAuMyAxMzUuMy0xMC44IDcuMS0yNC42IDcuMS0zNS40IDAtMzUuMS0yMy4xLTExMC4zLTc5LjItMTEwLjMtMTM1LjNsMC02LjFDMCAzMCAzMCAwIDY3LjEgMCA4OC4yIDAgMTA4IDkuOSAxMjAuNyAyNi44bDcuMyA5LjggNy4zLTkuOEMxNDggOS45IDE2Ny44IDAgMTg4LjkgMHoiXX0sYWh0PXQyZSxpaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVsZXItdmVydGljYWwiLGljb246WzI1Niw1MTIsW10sImY1NDgiLCJNMCAxNkMwLTEwLjUgMjEuNS0zMiA0OC0zMmwxNjAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI0LTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwNCAwIDAgNDgtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDAgNDgtMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTA0IDAgMCA0OC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgMCA0OC0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMCAwIDI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDU0NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAxNnoiXX0scjJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcC1sb2NhdGlvbi1kb3QiLGljb246WzY0MCw1MTIsWyJtYXAtbWFya2VkLWFsdCJdLCJmNWEwIiwiTTU3NiA0OGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNEw0MTMuNSA3Ny41IDIzNC4xIDE3LjZjLTguMS0yLjctMTYuOC0yLjEtMjQuNCAxLjdsLTEyOCA2NEM3MC44IDg4LjggNjQgOTkuOSA2NCAxMTJsMCAzNTJjMCAxMS4xIDUuNyAyMS40IDE1LjIgMjcuMnMyMS4yIDYuNCAzMS4xIDEuNGwxMTYuMS01OC4xIDE3My4zIDU3LjhjLTQuMy02LjQtOC41LTEzLjEtMTIuNi0xOS45LTExLTE4LjMtMjEuOS0zOS4zLTMwLTYxLjhsLTEwMS4yLTMzLjcgMC0yODQuNSAxMjggNDIuNyAwIDk5LjNjMzEtMzUuOCA3Ny01OC40IDEyOC01OC40IDIyLjYgMCA0NC4yIDQuNCA2NCAxMi41TDU3NiA0OHpNNTEyIDIyNGMtNjYuMyAwLTEyMCA1Mi44LTEyMCAxMTcuOSAwIDY4LjkgNjQuMSAxNTAuNCA5OC42IDE4OS4zIDExLjYgMTMgMzEuMyAxMyA0Mi45IDAgMzQuNS0zOC45IDk4LjYtMTIwLjQgOTguNi0xODkuMyAwLTY1LjEtNTMuNy0xMTcuOS0xMjAtMTE3Ljl6TTQ3MiAzNDRhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHoiXX0sbmh0PXIyZSxhMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY3JhY2siLGljb246WzUxMiw1MTIsWzEyODE0OCwiaGVhcnQtYnJva2VuIl0sImY3YTkiLCJNMTMzLjEgMzJjMTcuMyAwIDM0LjIgMy40IDQ5LjkgOS43bDU0LjggODUuMi03NS40IDc1LjRjLTEuNSAxLjUtMi40IDMuNi0yLjMgNS44czEgNC4yIDIuNiA1LjdsMTEyIDEwNGMyLjkgMi43IDcuNCAyLjkgMTAuNSAuM3MzLjgtNyAxLjctMTAuNGwtNjAuNC05OC4xIDkwLjctNzUuNmMyLjYtMi4xIDMuNS01LjcgMi40LTguOEwyOTYuNCA2MC42QzMxOS42IDQyLjMgMzQ4LjYgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTEyLjItMTM5LjkgMjQyLjUtMjEyLjkgMjk4LjItMTIuNCA5LjQtMjcuNiAxNC4xLTQzLjEgMTQuMXMtMzAuOC00LjYtNDMuMS0xNC4xQzEzOS45IDQxMC4yIDAgMjc5LjkgMCAxNjcuN2wwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMnoiXX0sc2h0PWEyZSxvaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY293IixpY29uOls2NDAsNTEyLFsxMjgwMDRdLCJmNmM4IiwiTTk2IDIyNGwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtODguMmM5LjkgNi42IDIwLjYgMTIgMzIgMTYuMWwwIDI0LjJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTE2LjljNS4zIC42IDEwLjYgLjkgMTYgLjlzMTAuNy0uMyAxNi0uOWwwIDE2LjljMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTI0LjJjMTEuNC00IDIyLjEtOS40IDMyLTE2LjFsMCA4OC4yYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjAgMzIgMzIgMCA0OS41YzAgOS41IDIuOCAxOC43IDguMSAyNi42TDUzMCA0MjdjOC44IDEzLjEgMjMuNSAyMSAzOS4zIDIxIDIyLjUgMCA0MS45LTE1LjkgNDYuMy0zOGwyMC4zLTEwMS42YzIuNi0xMy0uMy0yNi41LTgtMzcuM2wtMy45LTUuNSAwLTgxLjZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNC40LTUyLjktNzQuMUM0OTYgODYuNSA0NTIuNCA2NCA0MDUuOSA2NEwxNDQgNjRDNzcuNyA2NCAyNCAxMTcuNyAyNCAxODRsMCA1NEM5LjQgMjQ5LjggMCAyNjcuOCAwIDI4OGwwIDE3LjZjMCA4IDYuNCAxNC40IDE0LjQgMTQuNCAzMS44IDAgNTcuNi0yNS44IDU3LjYtNTcuNkw3MiAxODRjMC0yNC4zIDEyLjEtNDUuOCAzMC41LTU4LjktNC4yIDEwLjgtNi41IDIyLjYtNi41IDM0LjlsMCA2NHpNNTYwIDMzNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0xNjYuNiAxNjYuNmMtNC4yLTQuMi02LjYtMTAtNi42LTE2IDAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDE3OC43IDBjMTIuNSAwIDIyLjYgMTAuMSAyMi42IDIyLjYgMCA2LTIuNCAxMS44LTYuNiAxNmwtMjMuNCAyMy40QzMzMi4yIDIxMS44IDMwMi43IDIyNCAyNzIgMjI0cy02MC4yLTEyLjItODEuOS0zMy45bC0yMy40LTIzLjR6Il19LGdiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJzcyIsaWNvbjpbNDQ4LDUxMixbImZlZWQiXSwiZjA5ZSIsIk0wIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyIDIyOS44IDAgNDE2IDE4Ni4yIDQxNiA0MTYgMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJDMzg0IDI1My42IDIyNi40IDk2IDMyIDk2IDE0LjMgOTYgMCA4MS43IDAgNjR6TTAgNDE2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMzIgMTYwYzE1OS4xIDAgMjg4IDEyOC45IDI4OCAyODggMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC0xMjMuNy0xMDAuMy0yMjQtMjI0LTIyNC0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxsaHQ9Z2IsYmI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcyIsaWNvbjpbNTEyLDUxMixbMTI4MjY5LCJzZWFyY2giXSwiZjAwMiIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTIwOCAzNTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4eiJdfSxjaHQ9YmIsZGh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLW1vb24iLGljb246WzY0MCw1MTIsW10sImY2YzMiLCJNNDgwIDBjMTQuNiAwIDI4LjggMS42IDQyLjUgNC43IDcuNCAxLjcgMTMgNy44IDEzLjkgMTUuNHMtMyAxNC45LTkuOCAxOC4zYy00NS40IDIyLjYtNzYuNiA2OS41LTc2LjYgMTIzLjYgMCA3Ni4yIDYxLjggMTM4IDEzOCAxMzggMy43IDAgNy40LS4xIDExLjEtLjQgNy42LS42IDE0LjcgMy42IDE3LjggMTAuNnMxLjUgMTUuMS0zLjkgMjAuNGMtMjYgMjUtNTkuMSA0Mi43LTk1LjkgNDkuOS0xMS4xLTI1LjMtMzAuMi00Ni4zLTU0LjEtNTkuOC03LjYtNjMuNC02MS42LTExMi42LTEyNy4xLTExMi42LTExLjIgMC0yMi4xIDEuNS0zMi41IDQuMi00LjgtNC4yLTkuOS04LjItMTUuMi0xMS44LS4xLTIuOC0uMi01LjYtLjItOC40IDAtMTA2IDg2LTE5MiAxOTItMTkyem0tLjEgNDMxLjljMCA0NC4yLTM1LjggODAtODAgODBsLTI3MS45IDBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Ny42IDM0LjYtODcgODAtOTQuNi0uNC01Mi44IDQyLjktOTcuMyA5Ni05Ny4zIDM0LjkgMCA2NS40IDE4LjYgODIuMiA0Ni40IDEzLTkuMSAyOC44LTE0LjQgNDUuOC0xNC40IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS45LS42IDExLjctMS45IDE3LjIgMzcuNCA2LjcgNjUuOCAzOS40IDY1LjggNzguN3oiXX0sQkQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94ZXMtc3RhY2tlZCIsaWNvbjpbNTEyLDUxMixbNjI2MjUsImJveGVzIiwiYm94ZXMtYWx0Il0sImY0NjgiLCJNMjI0IDBsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4YzAgNS41LS43IDEwLjktMiAxNmwtMjUyIDBjLTEuMy01LjEtMi0xMC41LTItMTZsMC0xMjhjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMHptOTYgNTEyYy0xMS4yIDAtMjEuOC0yLjktMzEtOCA5LjUtMTYuNSAxNS0zNS42IDE1LTU2bDAtMTI4YzAtMjAuNC01LjUtMzkuNS0xNS01NiA5LjItNS4xIDE5LjctOCAzMS04bDMyIDAgMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xMjggMHpNMCAzMjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMCAwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0IDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDMyMHoiXX0sdWh0PUJELHBodD1CRCxmaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1icmFuY2giLGljb246WzQ0OCw1MTIsW10sImYxMjYiLCJNODAgMTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODAtMjRjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDcwLjcgMTc2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMi43Yy0yOC4zLTEyLjMtNDgtNDAuNS00OC03My4zIDAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDIyLjdjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsLTE3NiAwIDAgNzAuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zIDAgNDQuMi0zNS44IDgwLTgwIDgwUzAgNDc2LjIgMCA0MzJjMC0zMi44IDE5LjctNjEgNDgtNzMuM2wwLTIwNS4zQzE5LjcgMTQxIDAgMTEyLjggMCA4MCAwIDM1LjggMzUuOCAwIDgwIDBzODAgMzUuOCA4MCA4MHptMjMyIDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNODAgNDU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0saTJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhbiIsaWNvbjpbNTEyLDUxMixbMTI4NjgzLCJjYW5jZWwiXSwiZjA1ZSIsIk0zNjcuMiA0MTIuNUw5OS41IDE0NC44Yy0yMi40IDMxLjQtMzUuNSA2OS44LTM1LjUgMTExLjIgMCAxMDYgODYgMTkyIDE5MiAxOTIgNDEuNSAwIDc5LjktMTMuMSAxMTEuMi0zNS41em00NS4zLTQ1LjNjMjIuNC0zMS40IDM1LjUtNjkuOCAzNS41LTExMS4yIDAtMTA2LTg2LTE5Mi0xOTItMTkyLTQxLjUgMC03OS45IDEzLjEtMTExLjIgMzUuNUw0MTIuNSAzNjcuMnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0saGh0PWkyZSxtaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToianVnLWRldGVyZ2VudCIsaWNvbjpbMzg0LDUxMixbXSwiZTUxOSIsIk05NiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjQgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDk2Qzc0LjcgOTYgNjQgODUuMyA2NCA3MlM3NC43IDQ4IDg4IDQ4bDggMCAwLTI0ek0wIDI1NmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOGwxMjggMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjU2em0yNTYgMGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnoiXX0sbjJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlcGx5IixpY29uOls1MTIsNTEyLFs2MTcxNCwibWFpbC1yZXBseSJdLCJmM2U1IiwiTTIwNC4yIDE4LjRjMTIgNSAxOS44IDE2LjYgMTkuOCAyOS42bDAgODAgMTEyIDBjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCAxMTMuMy04MS41IDE2My45LTEwMC4yIDE3NC4xLTIuNSAxLjQtNS4zIDEuOS04LjEgMS45LTEwLjkgMC0xOS43LTguOS0xOS43LTE5LjcgMC03LjUgNC4zLTE0LjQgOS44LTE5LjUgOS40LTguOCAyMi4yLTI2LjQgMjIuMi01Ni43IDAtNTMtNDMtOTYtOTYtOTZsLTk2IDAgMCA4MGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MGM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOXoiXX0sZ2h0PW4yZSxiaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VuLXBsYW50LXdpbHQiLGljb246WzY0MCw1MTIsW10sImU1N2EiLCJNMTYwIDBjLTUuNSAwLTEwLjYgMi44LTEzLjUgNy40bC0xLjEgMi4xLTI0LjggNTUuNC01Ni43LTIxLjdjLTUuOS0yLjItMTIuNS0uOC0xNyAzLjdTNDEgNTggNDMuMiA2My45bDIxLjcgNTYuNy01NS40IDI0LjhDMy43IDE0OCAwIDE1My43IDAgMTYwczMuNyAxMiA5LjUgMTQuNmw1NS40IDI0LjgtMjEuNyA1Ni43Yy0yLjIgNS45LS44IDEyLjUgMy43IDE3czExLjEgNS45IDE3IDMuN2w1Ni43LTIxLjcgMjQuOCA1NS40YzIuNiA1LjggOC4zIDkuNSAxNC42IDkuNXMxMi0zLjcgMTQuNi05LjVsMjQuOC01NS40IDU2LjggMjEuN2M1LjkgMi4yIDEyLjUgLjggMTctMy43czUuOS0xMS4xIDMuNy0xN2wtMjEuNy01Ni43IDU1LjQtMjQuOGM1LjgtMi42IDkuNS04LjMgOS41LTE0LjZzLTMuNy0xMi05LjUtMTQuNmwtNTUuNC0yNC44IDIxLjctNTYuNyAuNy0yLjJjMS4yLTUuMy0uNC0xMC45LTQuMy0xNC44cy05LjUtNS41LTE0LjgtNC4zbC0yLjIgLjctNTYuOCAyMS43LTI0LjgtNTUuNEMxNzIgMy43IDE2Ni4zIDAgMTYwIDB6bTAgOTZhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTM3NiAxNmwwIDUzLjRjLTE0LjggNy43LTI0IDIzLjEtMjQgNDQuNiAwIDE2LjggMTYgNDQgMzcuNCA2Ny4yIDUuOCA2LjIgMTUuNSA2LjIgMjEuMiAwIDIxLjQtMjMuMyAzNy40LTUwLjYgMzcuNC02Ny4yIDAtMjEuNS05LjItMzctMjQtNDQuNmwwLTUzLjRjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCAyMi43Yy05LjgtNC4zLTIwLjYtNi43LTMyLTYuNy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIxLjRjLTE0LjggNy42LTI0IDIzLjEtMjQgNDQuNiAwIDE2LjggMTYgNDQgMzcuNCA2Ny4yIDUuOCA2LjIgMTUuNSA2LjIgMjEuMiAwIDIxLjQtMjMuMyAzNy40LTUwLjYgMzcuNC02Ny4yIDAtMjEuNS05LjItMzctMjQtNDQuNmwwLTIxLjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE3Ni00MjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTA0IDAgMC0yNzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sdmh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY3Rlcml1bSIsaWNvbjpbNTc2LDUxMixbXSwiZTA1YSIsIk00MDggMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRTMzYwIDIuNyAzNjAgMTZsMCAyMy40Yy0xMy45IDUuMy0yNi45IDEzLjUtMzguMiAyNC41TDMwNSA0N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNi44IDE2LjgtMzAuMSAzMC4xLTE2LjgtMTYuOGMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNi44IDE2LjhjLTEwIDEwLTIwIDIwLTMwLjEgMzAuMUwxNzcgMTc1Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDE2LjggMTYuOC0zMC4xIDMwLjEtMTYuOC0xNi44Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDE2LjggMTYuOGMtMTEgMTEuMy0xOS4yIDI0LjMtMjQuNSAzOC4yTDQ4IDMyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNi4zIDBjMS4zIDE4LjMgNy4xIDM2LjQgMTcuNCA1Mi40TDcxIDQzOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDEwLjYtMTAuNmMxNiAxMC4zIDM0LjEgMTYuMSA1Mi40IDE3LjRsMCAxNi4zYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMy40YzEzLjktNS4zIDI2LjktMTMuNSAzOC4yLTI0LjVMMjcxIDQ2NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE2LjgtMTYuOCAzMC4xLTMwLjEgMTYuOCAxNi44YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTYuOC0xNi44YzEwLTEwIDIwLTIwIDMwLjEtMzAuMUwzOTkgMzM3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTYuOC0xNi44IDMwLjEtMzAuMSAxNi44IDE2LjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xNi44LTE2LjhjMTEtMTEuMyAxOS4yLTI0LjMgMjQuNS0zOC4ybDIzLjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTYuMyAwYy0xLjMtMTguMy03LjEtMzYuNC0xNy40LTUyLjRMNTA1IDczYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNDYwLjQgNDkuN2MtMTYtMTAuMy0zNC4xLTE2LjEtNTIuNC0xNy40TDQwOCAxNnpNMTYwIDM1MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0yNzIgMjQwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0seGh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY29yZC12aW55bCIsaWNvbjpbNTEyLDUxMixbXSwiZjhkOSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYtOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTAgMjQwYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxzMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxvcHB5LWRpc2siLGljb246WzQ0OCw1MTIsWzEyODE5MCwxMjg0MjYsInNhdmUiXSwiZjBjNyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjQyLjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMzUyIDUwLjdDMzQwIDM4LjcgMzIzLjcgMzIgMzA2LjcgMzJMNjQgMzJ6bTMyIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0ek0yMjQgMjg4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSx5aHQ9czJlLHdodD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2lsZXRzLXBvcnRhYmxlIixpY29uOls1MTIsNTEyLFtdLCJlNTg0IiwiTTY0IDBsOTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2LTIyNCAwIDAtMTZDMCAyOC43IDI4LjcgMCA2NCAwek0wIDEyOGwyMjQgMCAwIDM2MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTgtMTI4IDAgMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0UzAgNTAxLjMgMCA0ODhMMCAxMjh6TTEyOCAyNDhsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyNCAwIDAtOTYtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTM1MiAwbDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNi0yMjQgMCAwLTE2YzAtMzUuMyAyOC43LTY0IDY0LTY0ek0yODggMTI4bDIyNCAwIDAgMzYwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC0xMjggMCAwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zNjB6TTQxNiAyNDhsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyNCAwIDAtOTYtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LE1odD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvIixpY29uOls0NDgsNTEyLFsxMTFdLCI0ZiIsIk0yMjQgOTZhMTYwIDE2MCAwIDEgMCAwIDMyMCAxNjAgMTYwIDAgMSAwIDAtMzIwek00NDggMjU2YTIyNCAyMjQgMCAxIDEgLTQ0OCAwIDIyNCAyMjQgMCAxIDEgNDQ4IDB6Il19LGtodD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWxldHRlIixpY29uOls1MTIsNTEyLFsxMjc5MTJdLCJmNTNmIiwiTTUxMiAyNTZjMCAuOSAwIDEuOCAwIDIuNy0uNCAzNi41LTMzLjYgNjEuMy03MC4xIDYxLjNMMzQ0IDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDggMCAzLjQgLjQgNi43IDEgOS45IDIuMSAxMC4yIDYuNSAyMCAxMC44IDI5LjkgNi4xIDEzLjggMTIuMSAyNy41IDEyLjEgNDIgMCAzMS44LTIxLjYgNjAuNy01My40IDYyLTMuNSAuMS03IC4yLTEwLjYgLjItMTQxLjQgMC0yNTYtMTE0LjYtMjU2LTI1NlMxMTQuNiAwIDI1NiAwIDUxMiAxMTQuNiA1MTIgMjU2ek0xMjggMjg4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0yODggOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxTaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW5sb2NrIixpY29uOlszODQsNTEyLFsxMjgyNzVdLCJmMDljIiwiTTEyOCA5NmMwLTM1LjMgMjguNy02NCA2NC02NCAzMS43IDAgNTggMjMgNjMuMSA1My4zIDIuOSAxNy40IDE5LjQgMjkuMiAzNi45IDI2LjNzMjkuMi0xOS40IDI2LjMtMzYuOUMzMDguMSAxNC4xIDI1NS41LTMyIDE5Mi0zMiAxMjEuMy0zMiA2NCAyNS4zIDY0IDk2bDAgNjRjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xOTIgMCAwLTY0eiJdfSxvMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFyLWxpc3RlbiIsaWNvbjpbNTEyLDUxMixbImFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtcyJdLCJmMmEyIiwiTTM3OS42IC4zYy04LjkgMS4yLTE3LjIgNi4yLTIyLjQgMTQuMS02LjggMTAuNC03IDI0LjEtLjQgMzQuNiA1LjYgOC45IDE1LjUgMTIuNyAyMy44IDE4LjUgNy41IDUuMiAxNy42IDEzLjIgMjcuNyAyNC4yIDIwIDIxLjcgMzkuNSA1NC4zIDM5LjUgMTAwLjMgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTY2LTI4LjUtMTEzLjQtNTYuNS0xNDMuNy0xMy45LTE1LjEtMjcuOC0yNi4xLTM4LjMtMzMuMy0xMS03LjYtMjMuNS0xNi42LTM3LjYtMTQuN3pNMjQwIDEyOGMtNTcuNiAwLTEwNS4xIDQzLjYtMTExLjMgOTkuNS0xLjkgMTcuNi0xNy44IDMwLjItMzUuMyAyOC4zcy0zMC4yLTE3LjgtMjguMy0zNS4zYzkuNy04OCA4NC4zLTE1Ni41IDE3NC45LTE1Ni41IDk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgNDYtMTcuNyA4Ny45LTQ2LjYgMTE5LjMtMTIgMTMtMTcuNCAyNC44LTE3LjQgMzQuN2wwIDYuMWMwIDYxLjktNTAuMSAxMTItMTEyIDExMi0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNi4xYzAtMzIuOSAxNy40LTU5LjYgMzQuNC03OCAxOC40LTIwIDI5LjYtNDYuNiAyOS42LTc1LjkgMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6TTAgNDgwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2MC05NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTg2LjYgMzYxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0ek0yNDAgMjA4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSx6aHQ9bzJlLENodD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLXB1bGwtcmVxdWVzdCIsaWNvbjpbNTEyLDUxMixbXSwiZTEzYyIsIk0zMjggMjRjMC05LjctNS44LTE4LjUtMTQuOC0yMi4yUzI5My45IC4yIDI4NyA3TDIzMSA2M2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNTYgNTZjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlMzMjggMTQ1LjcgMzI4IDEzNmwwLTI0IDI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMTQuN2MtMjguMyAxMi4zLTQ4IDQwLjUtNDggNzMuMyAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNMNDQ4IDE0NGMwLTUzLTQzLTk2LTk2LTk2bC0yNCAwIDAtMjR6TTcyIDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTU2IDczLjNjMjguMy0xMi4zIDQ4LTQwLjUgNDgtNzMuMyAwLTQ0LjItMzUuOC04MC04MC04MFMxNiAzNS44IDE2IDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCAyMDUuM2MtMjguMyAxMi4zLTQ4IDQwLjUtNDggNzMuMyAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNsMC0yMDUuM3pNNzIgNDMyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTM0NC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LFRodD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJrZXkiLGljb246WzUxMiw1MTIsWzEyODI3M10sImYwODQiLCJNMzM2IDM1MmM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NlM0MzMuMiAwIDMzNiAwIDE2MCA3OC44IDE2MCAxNzZjMCAxOC43IDIuOSAzNi44IDguMyA1My43TDcgMzkxYy00LjUgNC41LTcgMTAuNi03IDE3bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQwIDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00MCA0MCAwYzYuNCAwIDEyLjUtMi41IDE3LTdsMzMuMy0zMy4zYzE2LjkgNS40IDM1IDguMyA1My43IDguM3pNMzc2IDk2YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sX2h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNrdWxsIixpY29uOls1MTIsNTEyLFsxMjgxMjhdLCJmNTRjIiwiTTQxNiA0MjcuNGM1OC41LTQ0IDk2LTExMS42IDk2LTE4Ny40IDAtMTMyLjUtMTE0LjYtMjQwLTI1Ni0yNDBTMCAxMDcuNSAwIDI0MGMwIDc1LjggMzcuNSAxNDMuNCA5NiAxODcuNEw5NiA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCA2NCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNi42ek05NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwem0yNTYtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LGwyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLXN0cm9rZS11cCIsaWNvbjpbMzg0LDUxMixbOTg5NiwibWFycy1zdHJva2UtdiJdLCJmMjJhIiwiTTE5MiAyNTZhMTEyIDExMiAwIDEgMCAwIDIyNCAxMTIgMTEyIDAgMSAwIDAtMjI0ek0xNiAzNjhjMC04Ni4zIDYyLjEtMTU4LjEgMTQ0LjEtMTczLjEtLjEtLjktLjEtMS45LS4xLTIuOWwwLTE2LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTYxLjQtMjggMjIuNGMtMTMuOCAxMS0zMy45IDguOC00NS01cy04LjgtMzMuOSA1LTQ1bDgwLTY0YzExLjctOS4zIDI4LjMtOS4zIDQwIDBsODAgNjRjMTMuOCAxMSAxNiAzMS4yIDUgNDVzLTMxLjIgMTYtNDUgNWwtMjgtMjIuNCAwIDYxLjQgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDE2YzAgMSAwIDEuOS0uMSAyLjkgODIgMTUgMTQ0LjEgODYuOCAxNDQuMSAxNzMuMSAwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMxNiA0NjUuMiAxNiAzNjh6Il19LExodD1sMmUsYzJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpcmUtZmxhbWUtc2ltcGxlIixpY29uOlszODQsNTEyLFsiYnVybiJdLCJmNDZhIiwiTTM3Mi41IDI1Ni41bC0uNy0xLjlDMzM3LjggMTYwLjggMjgyIDc2LjUgMjA5LjEgOC41bC0zLjMtM0MyMDIuMSAyIDE5Ny4xIDAgMTkyIDBzLTEwLjEgMi0xMy44IDUuNWwtMy4zIDNDMTAyIDc2LjUgNDYuMiAxNjAuOCAxMi4yIDI1NC42bC0uNyAxLjlDMy45IDI3Ny4zIDAgMjk5LjQgMCAzMjEuNiAwIDQyNi43IDg2LjggNTEyIDE5MiA1MTJzMTkyLTg1LjMgMTkyLTE5MC40YzAtMjIuMi0zLjktNDQuMi0xMS41LTY1LjF6bS05MC44IDQ5LjVjNC4xIDkuMyA2LjIgMTkuNCA2LjIgMjkuNSAwIDUzLTQzIDk2LjUtOTYgOTYuNXMtOTYtNDMuNS05Ni05Ni41YzAtMTAuMSAyLjEtMjAuMyA2LjItMjkuNWwxLjktNC4zYzE1LjgtMzUuNCAzNy45LTY3LjcgNjUuMy05NS4xbDguOS04LjljMy42LTMuNiA4LjUtNS42IDEzLjYtNS42czEwIDIgMTMuNiA1LjZsOC45IDguOWMyNy40IDI3LjQgNDkuNiA1OS43IDY1LjMgOTUuMWwxLjkgNC4zeiJdfSwkaHQ9YzJlLERodD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmVlIixpY29uOls0NDgsNTEyLFsxMjc3OTRdLCJmMWJiIiwiTTIyNC0zMmM3IDAgMTMuNyAzLjEgMTguMyA4LjVsMTM2IDE2MGM2LjEgNy4xIDcuNCAxNy4xIDMuNSAyNS42UzM2OS40IDE3NiAzNjAgMTc2bC0yNC45IDAgNzUuMiA4OC41YzYuMSA3LjEgNy40IDE3LjEgMy41IDI1LjZTNDAxLjQgMzA0IDM5MiAzMDRsLTM4LjUgMCA4OC44IDEwNC41YzYuMSA3LjEgNy40IDE3LjEgMy41IDI1LjZTNDMzLjQgNDQ4IDQyNCA0NDhsLTE2OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NC0xNjggMGMtOS40IDAtMTcuOS01LjQtMjEuOC0xMy45cy0yLjYtMTguNSAzLjUtMjUuNkw5NC41IDMwNCA1NiAzMDRjLTkuNCAwLTE3LjktNS40LTIxLjgtMTMuOXMtMi42LTE4LjUgMy41LTI1LjZMMTEyLjkgMTc2IDg4IDE3NmMtOS40IDAtMTcuOS01LjQtMjEuOC0xMy45cy0yLjYtMTguNSAzLjUtMjUuNmwxMzYtMTYwQzIxMC4zLTI4LjkgMjE3LTMyIDIyNC0zMnoiXX0sQWh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNtb2ciLGljb246WzU3Niw1MTIsW10sImY3NWYiLCJNMTc2IDI4OEM5Ni41IDI4OCAzMiAyMjMuNSAzMiAxNDRTOTYuNSAwIDE3NiAwYzI3LjIgMCA1Mi42IDcuNSA3NC4zIDIwLjYgMjAuMS0xMyA0NC0yMC42IDY5LjctMjAuNiA0Ny40IDAgODguNyAyNS43IDExMC45IDY0bDEuMSAwYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyIDAgNjAuMy00Ny42IDEwOS40LTEwNy4yIDExMS45LTIyLjYgMjAtNTIuMyAzMi4xLTg0LjggMzIuMS0zMi41IDAtNjIuMS0xMi4xLTg0LjctMzJMMTc2IDI4OHpNNTEyIDM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNEwyNCA0MTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjR6TTg4IDQ2NGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0xNzYgMGwyODggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjg4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEVodD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzIixpY29uOlszMjAsNTEyLFsxMTVdLCI1MyIsIk0wIDE1Ny41QzAgODguMiA1Ni4yIDMyIDEyNS41IDMyTDI3MiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwxMjUuNSA5NmMtMzQgMC02MS41IDI3LjUtNjEuNSA2MS41IDAgMzEgMjMuMSA1Ny4yIDUzLjkgNjFMMjEwLjEgMjMwQzI3Mi45IDIzNy45IDMyMCAyOTEuMiAzMjAgMzU0LjUgMzIwIDQyMy44IDI2My44IDQ4MCAxOTQuNSA0ODBMNDggNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE0Ni41IDBjMzQgMCA2MS41LTI3LjUgNjEuNS02MS41IDAtMzEtMjMuMS01Ny4yLTUzLjktNjFMMTA5LjkgMjgyQzQ3LjEgMjc0LjEgMCAyMjAuOCAwIDE1Ny41eiJdfSxJaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamVkaSIsaWNvbjpbNTc2LDUxMixbXSwiZjY2OSIsIk0yNDYgMzE1LjdsLTIxLjItMzEuOWMtMi4xLTMuMi0xLjctNy40IDEtMTAuMXM2LjktMy4xIDEwLjEtMWwyOS41IDE5LjdjMi4xIDEuNCA0LjktLjEgNS0yLjZMMjc5LjcgOGMuMS00LjUgMy44LTggOC4zLThzOC4xIDMuNSA4LjMgOGw5LjQgMjgxLjljLjEgMi41IDIuOSAzLjkgNSAyLjZsMjkuNS0xOS43YzMuMi0yLjEgNy40LTEuNyAxMC4xIDFzMy4xIDYuOSAxIDEwLjFMMzMwIDMxNS43Yy0xLjMgMS45LS4yIDQuNSAyIDQuOWwzNy42IDcuNWMzLjcgLjcgNi40IDQgNi40IDcuOHMtMi43IDcuMS02LjQgNy44TDMzMiAzNTEuNGMtMi4yIC40LTMuMyAzLTIgNC45bDIxLjIgMzEuOWMyLjEgMy4yIDEuNyA3LjQtMSAxMC4xcy02LjkgMy4xLTEwLjEgMWwtMjYuMy0xNy42Yy0yLjItMS40LTUuMSAuMi01IDIuOGwyLjEgNjEuNWM1OS44LTEwLjggMTA1LjEtNjMuMSAxMDUuMS0xMjYgMC0zNy0xNS43LTcwLjQtNDAuOC05My43LTctNi41LTYuNS0xOC42IDEtMjQuNCAzNC0yNi4zIDU1LjgtNjcuNSA1NS44LTExMy45IDAtMTYuOC0yLjktMzMtOC4yLTQ4LTQuNi0xMyAxMC4yLTMwIDIxLjQtMjIgNTMuNSAzOCA5Mi43IDk0LjggMTA3LjggMTYwLjcgLjUgMi4xLS4yIDQuMy0xLjcgNS45bC0yOC40IDI4LjRjLTQgNC0xLjIgMTAuOSA0LjUgMTAuOWwyNiAwYzMuNCAwIDYuMiAyLjYgNi4zIDYgLjEgMy4zIC4yIDYuNiAuMiAxMCAwIDE3LjUtMS43IDM0LjctNC44IDUxLjMtLjIgMS4yLS45IDIuNC0xLjcgMy4zbC00Ni41IDQ2LjVjLTQgNC0xLjIgMTAuOSA0LjUgMTAuOWwxNC42IDBjNC42IDAgNy43IDQuOCA1LjcgOS00NC41IDg5LjUtMTM2LjkgMTUxLTI0My43IDE1MVM4OC44IDQ1MC41IDQ0LjMgMzYxYy0yLjEtNC4yIDEtOSA1LjctOWwxNC42IDBjNS43IDAgOC42LTYuOSA0LjUtMTAuOUwyMi42IDI5NC42Yy0uOS0uOS0xLjUtMi0xLjctMy4zLTMuMi0xNi42LTQuOC0zMy44LTQuOC01MS4zIDAtMy4zIC4xLTYuNyAuMi0xMCAuMS0zLjQgMi45LTYgNi4zLTZsMjYgMGM1LjcgMCA4LjYtNi45IDQuNS0xMC45TDI0LjYgMTg0LjZjLTEuNS0xLjUtMi4yLTMuOC0xLjctNS45IDE1LjItNjYgNTQuMy0xMjIuOCAxMDcuOC0xNjAuNyAxMS4zLTggMjYgOC45IDIxLjQgMjItNS4zIDE1LTguMiAzMS4yLTguMiA0OCAwIDQ2LjMgMjEuOSA4Ny41IDU1LjggMTEzLjkgNy41IDUuOCA4IDE3LjkgMSAyNC40LTI1LjEgMjMuNC00MC44IDU2LjctNDAuOCA5My43IDAgNjIuOSA0NS40IDExNS4yIDEwNS4xIDEyNmwyLjEtNjEuNWMuMS0yLjYtMi44LTQuMi01LTIuOGwtMjYuMyAxNy42Yy0zLjIgMi4xLTcuNCAxLjctMTAuMS0xcy0zLjEtNi45LTEtMTAuMUwyNDYgMzU2LjNjMS4zLTEuOSAuMi00LjUtMi00LjlsLTM3LjYtNy41Yy0zLjctLjctNi40LTQtNi40LTcuOHMyLjctNy4xIDYuNC03LjhsMzcuNi03LjVjMi4yLS40IDMuMy0zIDItNC45eiJdfSxkMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWhpa2luZyIsaWNvbjpbNDQ4LDUxMixbImhpa2luZyJdLCJmNmVjIiwiTTE5Mi0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMTI4IDE3My42YzAtMzQgMjcuNi02MS42IDYxLjYtNjEuNiAyMC4zIDAgMzkuNyA4LjEgNTQgMjIuNGw0OC4yIDQ4LjJjNiA2IDE0LjEgOS40IDIyLjYgOS40bDM3LjUgMGM1LjggMCAxMS4zIDEuNiAxNiA0LjNsMC03Ni4zYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNjguM2MtNC43IDIuNy0xMC4yIDQuMy0xNiA0LjNsLTM3LjUgMGMtMjUuNSAwLTQ5LjktMTAuMS02Ny45LTI4LjFsLTYuNi02LjYgMCAxMDkuMiAzNC41IDI5LjZjMTcuNyAxNS4yIDI5LjMgMzYuMiAzMi42IDU5LjNsMTIuNiA4OC4xYzIuNSAxNy41LTkuNyAzMy43LTI3LjIgMzYuMnMtMzMuNy05LjctMzYuMi0yNy4ybC0xMi42LTg4LjFjLTEuMS03LjctNS0xNC43LTEwLjktMTkuOGwtNzEuNC02MS4yYy0yMS4zLTE4LjItMzMuNS00NC45LTMzLjUtNzIuOWwwLTEwMXptLTQuOCAyMDMuN2MyLjMgMi4zIDQuNyA0LjQgNy4xIDYuNWw0NC45IDM4LjVjLTMuNiA4LjQtOC41IDE2LjMtMTQuNCAyMy40TDg4LjYgNTMyLjVjLTExLjMgMTMuNi0zMS41IDE1LjQtNDUuMSA0LjFzLTE1LjQtMzEuNS00LjEtNDUuMWw3Mi4zLTg2LjdjMi42LTMuMSA0LjUtNi42IDUuOC0xMC40bDUuNy0xNy4xek0wIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NCAxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnoiXX0sUGh0PWQyZSxOaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXVwLXRvLWxpbmUiLGljb246WzQ0OCw1MTIsW10sImU0YzIiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMlM0MzMuNyAwIDQxNiAwTDMyIDB6bTg2LjYgMTM3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw2NCAyMzcuMyA2NCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI0Mi43IDkuNCA5LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjR6bTI1NiAwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOS40LTkuNCAwIDI0Mi43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNDIuNyA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0eiJdfSxGaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycy1kb3VibGUiLGljb246WzY0MCw1MTIsWzk4OTFdLCJmMjI3IiwiTTI4OCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTUwLjctOTUgOTVjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOCAwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMwIDQwMS4yIDAgMzA0IDc4LjggMTI4IDE3NiAxMjhjMzcgMCA3MS40IDExLjQgOTkuOCAzMWw5NS05NS01MC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xNzYgNDE2YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHptMTYwIDY0Yy02LjggMC0xMy40LS40LTIwLTEuMSAyMy42LTE4LjkgNDMuMy00Mi41IDU3LjYtNjkuNCA0My4zLTE1LjUgNzQuNC01Ni45IDc0LjQtMTA1LjUgMC0yNS4yLTguMy00OC41LTIyLjQtNjcuMiA3LjEgMi4xIDE0LjYgMy4yIDIyLjQgMy4yIDE3IDAgMzIuNy01LjMgNDUuNy0xNC4zIDExLjcgMjMuNiAxOC4zIDUwLjIgMTguMyA3OC4zIDAgOTcuMi03OC44IDE3Ni0xNzYgMTc2ek01MjggMTU3LjNMNTI4IDMyYzAtMTEuNC0yLjQtMjIuMi02LjctMzJMNjA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC01MC43LTQ4IDQ4eiJdfSxPaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGhlcm1vbWV0ZXIiLGljb246WzUxMiw1MTIsW10sImY0OTEiLCJNOTYgMzgyLjFsMC04OC44YzAtMTQuOSA1LjktMjkuMSAxNi40LTM5LjZsMjEuNy0yMS43IDQxIDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDEtNDEgNDYuMS00Ni4xIDQxIDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDEtNDEgNDYuMS00Ni4xIDQxIDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDEtNDEgNy44LTcuOGMxOS40LTE5LjQgNDUuNi0zMC4yIDczLTMwLjIgNTcgMCAxMDMuMiA0Ni4yIDEwMy4yIDEwMy4yIDAgMjcuNC0xMC45IDUzLjYtMzAuMiA3M0wyNTguMyAzOTkuNmMtMTAuNSAxMC41LTI0LjcgMTYuNC0zOS42IDE2LjRsLTg4LjggMC04OSA4OWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBTLTIuMyA0ODAuNCA3IDQ3MWw4OS04OXoiXX0sdTJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhaW50YnJ1c2giLGljb246WzU3Niw1MTIsWzEyODM5NiwicGFpbnQtYnJ1c2giXSwiZjFmYyIsIk00ODAuNSAxMC4zTDI1OS4xIDE1OGMtMjkuMSAxOS40LTQ3LjYgNTAuOS01MC42IDg1LjMgNjIuMyAxMi44IDExMS40IDYxLjkgMTI0LjMgMTI0LjMgMzQuNS0zIDY1LjktMjEuNSA4NS4zLTUwLjZMNTY1LjcgOTUuNWM2LjctMTAuMSAxMC4zLTIxLjkgMTAuMy0zNC4xIDAtMzMuOS0yNy41LTYxLjQtNjEuNC02MS40LTEyLjEgMC0yNCAzLjYtMzQuMSAxMC4zek0yODggNDAwYzAtNjEuOS01MC4xLTExMi0xMTItMTEyUzY0IDMzOC4xIDY0IDQwMGMwIDMuOSAuMiA3LjggLjYgMTEuNiAxLjggMTcuNS0xMC4yIDM2LjQtMjcuOCAzNi40TDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNDQgMGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMnoiXX0sUmh0PXUyZSxCaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibmV1dGVyIixpY29uOlszODQsNTEyLFs5OTA2XSwiZjIyYyIsIk04MCAxNzZhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHpNMjIzLjkgMzQ5LjFDMzA1LjkgMzM0LjEgMzY4IDI2Mi4zIDM2OCAxNzYgMzY4IDc4LjggMjg5LjIgMCAxOTIgMFMxNiA3OC44IDE2IDE3NmMwIDg2LjMgNjIuMSAxNTguMSAxNDQuMSAxNzMuMS0uMSAxLS4xIDEuOS0uMSAyLjlsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTEgMC0xLjktLjEtMi45eiJdfSxwMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBob25lLWZsaXAiLGljb246WzQ0OCw1MTIsWyJwaG9uZS1zcXVhcmUtYWx0Il0sImY4N2IiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjMyIDk2LjdsMi44IC44YzMyLjMgOC44IDU5LjkgNDAuMSA1MS44IDc4LjItMTguNSA4Ny41LTg3LjQgMTU2LjMtMTc0LjkgMTc0LjktMzguMSA4LjEtNjkuNC0xOS41LTc4LjItNTEuOGwtLjgtMi44Yy0yLjctOS44IDIuNC0yMC4xIDExLjgtMjRsNDguNy0yMC4zYzguMy0zLjQgMTcuOC0xLjEgMjMuNSA1LjlsMTkuMyAyMy42YzM1LjEtMTcuNCA2My40LTQ2LjYgNzkuNi04Mi40bC0yMi4xLTE4Yy02LjktNS43LTkuMy0xNS4yLTUuOS0yMy41bDIwLjMtNDguN2MzLjktOS40IDE0LjItMTQuNCAyNC0xMS44eiJdfSxIaHQ9cDJlLGYyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXNxdWludCIsaWNvbjpbNTEyLDUxMixbMTI4NTQxLCJncmluLXRvbmd1ZS1zcXVpbnQiXSwiZjU4YSIsIk0wIDI1NmMwIDEwNC40IDYyLjUgMTk0LjIgMTUyLjIgMjM0LjEtNS4zLTEzLTguMi0yNy4yLTguMi00Mi4xbDAtNjEuN2MtMTYuOS0xNi41LTMwLjEtMzYuNy0zOC4zLTU5LjMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xYzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS04LjMgMjIuNi0yMS41IDQyLjgtMzguMyA1OS4zbDAgNjEuN2MwIDE0LjktMi45IDI5LjEtOC4yIDQyLjEgODkuNy0zOS44IDE1Mi4yLTEyOS42IDE1Mi4yLTIzNC4xIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMCAxMTQuNiAwIDI1NnptMTI1LjgtOTEuN2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXMxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAxOTIgMTI1LjggMTY0LjN6bTI2My42LTIxLjFjNC41IDYuOCAzLjEgMTUuOS0zLjEgMjEuMUwzNTMgMTkyIDM4Ni4yIDIxOS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41ek0zMjAgNDQ4bDAtNDUuNGMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmwtMiAwYy0xMS4zIDAtMjEuMSA3LjktMjMuNiAxOC45LTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDAtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDQ1LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0scWh0PWYyZSxqaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1kb2xsYXIiLGljb246WzUxMiw1MTIsW10sImY2NTEiLCJNMjU2IDQ4MGMxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MGMwIDU0LjMgMTkuMiAxMDQuMyA1MS42IDE0NC41TDIuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdDMTgzLjcgNDcyLjYgMjE4LjkgNDgwIDI1NiA0ODB6bTQtMzUyYzExIDAgMjAgOSAyMCAyMGwwIDQgOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGwtNDcuNSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCA2LjEgNC40IDExLjMgMTAuNCAxMi4zbDQxLjcgN2MyNS4zIDQuMiA0My45IDI2LjEgNDMuOSA1MS44IDAgMjYuMS0xOSA0Ny43LTQ0IDUxLjhsMCA0LjdjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtNC0yNCAwYy0xMSAwLTIwLTktMjAtMjBzOS0yMCAyMC0yMGw1NS41IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtNi4xLTQuNC0xMS4zLTEwLjQtMTIuM2wtNDEuNy03Yy0yNS4zLTQuMi00My45LTI2LjEtNDMuOS01MS44IDAtMjguOCAyMy4yLTUyLjIgNTItNTIuNWwwLTRjMC0xMSA5LTIwIDIwLTIweiJdfSxWaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGlwcG8iLGljb246WzY0MCw1MTIsWzEyOTQzNV0sImY2ZWQiLCJNNDA3IDQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDE3LjIgMTcuMmMxLjktLjEgMy45LS4yIDUuOC0uMmwzMiAwYzExLjIgMCAyMS45IDIuMyAzMS42IDYuNUw1NDMgNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDU2NCAxMDEuOWM3LjYgMTIuMiAxMiAyNi43IDEyIDQyLjEgMCAxMC4yIDcuNCAxOC44IDE2LjcgMjMgMjcuOSAxMi41IDQ3LjMgNDAuNSA0Ny4zIDczIDAgMjYuMi0xMi42IDQ5LjQtMzIgNjRsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2LTY0IDAgMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE3LjZjLTExLjgtMi40LTIyLjctNy40LTMyLTE0LjQtMS41LTEuMS0yLjktMi4zLTQuMy0zLjUtMTctMTQuNy0yNy43LTM2LjQtMjcuNy02MC41IDAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2YzAgNDQuNyAyNi4yIDgzLjIgNjQgMTAxLjJsMCAxMC44YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03NmMtMTkuOCA3LjctNDEuNCAxMi02NCAxMnMtNDQuMi00LjMtNjQtMTJsMCA3NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMTguOS0xOC4xIDQwLjdjLTUuNCAxMi4xLTE5LjYgMTcuNi0zMS43IDEyLjJTLTMuMyAzNjIuNCAyLjEgMzUwLjNMMjQgMzAwLjljNS4zLTExLjkgOC0yNC43IDgtMzcuNyAwLTEwNy41IDg1LjItMTk1LjIgMTkxLjgtMTk5LjFsLjItLjEgNjQgMGM0MS43IDAgODMuNCAxMi4xIDExNy4yIDI1LjcgMS43LTEuOCAzLjUtMy42IDUuMy01LjJMNDA3IDgxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXptNzMgMTg1YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTg4IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpNNDgwIDE0NGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAxNmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6Il19LFVodD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3dsLWZvb2QiLGljb246WzUxMiw1MTIsW10sImU0YzYiLCJNMCAxNzZjMC0zNS4zIDI4LjctNjQgNjQtNjQgLjUgMCAxLjEgMCAxLjYgMCA3LjQtMzYuNSAzOS43LTY0IDc4LjQtNjQgMTUgMCAyOSA0LjEgNDAuOSAxMS4yIDEzLjMtMjUuNyA0MC4xLTQzLjIgNzEuMS00My4yczU3LjggMTcuNiA3MS4xIDQzLjJjMTItNy4xIDI2LTExLjIgNDAuOS0xMS4yIDM4LjcgMCA3MSAyNy41IDc4LjQgNjQgLjUgMCAxLjEgMCAxLjYgMCAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDExLjctMy4xIDIyLjYtOC42IDMyTDguNiAyMDhDMy4xIDE5OC42IDAgMTg3LjcgMCAxNzZ6TTAgMjgzLjRDMCAyNjguMyAxMi4zIDI1NiAyNy40IDI1Nmw0NTcuMSAwYzE1LjEgMCAyNy40IDEyLjMgMjcuNCAyNy40IDAgNzAuNS00NC40IDEzMC43LTEwNi43IDE1NC4xTDQwMy41IDQ1MmMtMiAxNi0xNS42IDI4LTMxLjggMjhsLTIzMS41IDBjLTE2LjEgMC0yOS44LTEyLTMxLjgtMjhsLTEuOC0xNC40QzQ0LjQgNDE0LjEgMCAzNTMuOSAwIDI4My40eiJdfSxXaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXZpcnVzIixpY29uOls0NDgsNTEyLFtdLCJlNTc4IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTE2MCA4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDIyLjkgMjcuNyAzNC40IDQzLjkgMTguMiA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTE2LjIgMTYuMi00LjcgNDMuOSAxOC4yIDQzLjkgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjkgMC0zNC40IDI3LjctMTguMiA0My45IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTE2LjItMTYuMi00My45LTQuNy00My45IDE4LjIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yMi45LTI3LjctMzQuNC00My45LTE4LjItOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMxNi4yLTE2LjIgNC43LTQzLjktMTguMi00My45LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjIuOSAwIDM0LjQtMjcuNyAxOC4yLTQzLjktOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2LjIgMTYuMiA0My45IDQuNyA0My45LTE4LjIgMC0xMy4zIDEwLjctMjQgMjQtMjR6TTE5MiAyNDhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OCA0MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxHaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtc3VuLXJhaW4iLGljb246WzY0MCw1MTIsWzEyNzc4Ml0sImY3NDMiLCJNMjU0LjkgNDQ4LjJjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjMtMTUuMiAxMi42IDQuMiAxOS40IDE3LjggMTUuMiAzMC40bC0yMS40IDY0LjFjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJzLTE5LjQtMTcuOC0xNS4yLTMwLjNsMjEuNC02NC4yem0xMjAgMGM0LjItMTIuNiAxNy44LTE5LjQgMzAuMy0xNS4yIDEyLjYgNC4yIDE5LjQgMTcuOCAxNS4yIDMwLjRsLTIxLjQgNjQuMWMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMnMtMTkuNC0xNy44LTE1LjItMzAuM2wyMS40LTY0LjJ6bTEyMCAwYzQuMi0xMi42IDE3LjgtMTkuNCAzMC4zLTE1LjIgMTIuNiA0LjIgMTkuNCAxNy44IDE1LjIgMzAuNGwtMjEuNCA2NC4xYy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4ycy0xOS40LTE3LjgtMTUuMi0zMC4zbDIxLjQtNjQuMnpNNDQ4LjMgMTI4YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNy41LTEuMSAxNC43LTMgMjEuNSAyOS44IDExLjYgNTEgNDAuNiA1MSA3NC41IDAgNDQuMi0zNS44IDgwLTgwIDgwbC0xOTIgMC04LjItLjRjLTQwLjMtNC4xLTcxLjgtMzguMi03MS44LTc5LjYgMC0zOSAyNy45LTcxLjUgNjQuOS03OC41LS41LTMuMS0uOS02LjItLjktOS41IDAtMzAuOSAyNS4xLTU2IDU2LTU2IDEyLjQgMCAyMy45IDQuMSAzMy4yIDEwLjkgMTMuNC0yNS41IDQwLjEtNDIuOSA3MC44LTQyLjl6TTI0MC4zLTMxLjhjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjFsNDcuMyA3MC40IDgzLjMtMTYuM2M1LjItMSAxMC42IC43IDE0LjMgNC40IDMuOCAzLjggNS40IDkuMiA0LjQgMTQuNGwtOC42IDQzLjhjLTExLjkgNS41LTIyLjggMTIuOS0zMi40IDIxLjYtNS43LTEtMTEuNy0xLjUtMTcuNy0xLjUtMTQuMyAwLTI4IDMtNDAuNCA4LjItMTYuOS0xNS0zOS4yLTI0LjItNjMuNi0yNC4yLTUzIDAtOTYgNDMtOTYgOTYgMCAzMC45IDE0LjYgNTguMiAzNy4yIDc1LjgtMy40IDExLjUtNS4yIDIzLjYtNS4yIDM2LjIgMCAxMy4yIDIgMjUuOSA1LjcgMzcuOWwtMi40LTMuNS04My4yIDE2LjNjLTUuMiAxLTEwLjYtLjctMTQuMy00LjQtMy44LTMuOC01LjQtOS4yLTQuNC0xNC40bDE2LjMtODMuMy03MC40LTQ3LjRjLTQuNC0zLTcuMS04LTcuMS0xMy4zIDAtNS4zIDIuNi0xMC4zIDctMTMuMmw3MC40LTQ3LjQtMTYuMy04My4yLS4yLTJjLS4zLTQuNiAxLjMtOS4xIDQuNi0xMi40IDMuOC0zLjggOS4yLTUuNCAxNC40LTQuNGw4My4yIDE2LjMgNDcuMy03MC40IDEuMi0xLjZjMy0zLjUgNy40LTUuNSAxMi4xLTUuNXptMCAxNzUuOGM4LjYgMCAxNi42IDIuMyAyMy42IDYuMi05LjcgMTEuOS0xNi45IDI1LjktMjAuNyA0MS4zLTE1IDguMS0yOC4yIDE5LjItMzguOCAzMi4zLTcuNS04LjUtMTIuMi0xOS42LTEyLjItMzEuOCAwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0saDJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LWxvbmciLGljb246WzU3Niw1MTIsWyJsb25nLWFycm93LXJpZ2h0Il0sImYxNzgiLCJNNTY2LjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQ2Ni43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNDM0LjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHoiXX0sWWh0PWgyZSxaaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctdW4iLGljb246WzUxMiw1MTIsW10sImU0ZDkiLCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI3Mi0xMTIgMGMtMjAuOSAwLTM5LjUgMTAuMS01MS4yIDI1LjYtOC02LTE4LTkuNi0yOC44LTkuNi0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0IDY0IDAgMCA0OC0xNDQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgNjR6TTE0NCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTQ0IDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNNDI3LjQgMzgwLjVjOS0yLjEgMTguMyAyLjIgMjIuNSAxMC41bDI2LjEgNTIuMiAwLTQzLjNjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjBsMCAxMjhjMCA5LjMtNi40IDE3LjMtMTUuNCAxOS41cy0xOC4zLTIuMi0yMi41LTEwLjVMNDUyIDQ4NC43IDQ1MiA1MjhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtMTI4YzAtOS4zIDYuNC0xNy4zIDE1LjQtMTkuNXpNMzI0IDQwMGwwIDk2YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC05NmMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDk2YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtOTZjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjB6Il19LFhodD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1sb3ciLGljb246WzUxMiw1MTIsW10sImY3NmIiLCJNOTYgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDE2NC43YzI5LjUgMjYuNCA0OCA2NC43IDQ4IDEwNy4zIDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzQ4IDQ0Ny41IDQ4IDM2OGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w5NiA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTI4LjdjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyOC43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTQ2NCA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zNTIgODBhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAweiJdfSxRaHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9vci1vcGVuIixpY29uOls0NDgsNTEyLFtdLCJmNTJiIiwiTTI4OCA2NGw2NCAwIDAgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTk2IDAgMCAwLTE2MCAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDE2ek0xNjAgMjU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LEpodD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbGlnbi1sZWZ0IixpY29uOls0NDgsNTEyLFtdLCJmMDM2IiwiTTI4OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LG0yZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW1lcmEiLGljb246WzUxMiw1MTIsWzYyMjU4LCJjYW1lcmEtYWx0Il0sImYwMzAiLCJNMTQ5LjEgNjQuOEwxMzguNyA5NiA2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTc0LjcgMC0xMC40LTMxLjJDMzU2LjQgNDUuMiAzMzguMSAzMiAzMTcuNCAzMkwxOTQuNiAzMmMtMjAuNyAwLTM5IDEzLjItNDUuNSAzMi44ek0yNTYgMTkyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxLaHQ9bTJlLGVtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1yYXlzIixpY29uOls2NDAsNTEyLFtdLCJlNTkzIiwiTTMxLTMzQzIxLjctMjMuNiAyMS43LTguNCAzMSAxTDg3IDU3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw2NS0zM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6TTYwOS0zM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMNTE5IDIzYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBMNjA5IDFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjl6TTY1IDU0NWw1Ni01NmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDMxIDUxMWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwem01NDQgMGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNTYtNTZjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTYgNTZjOS40IDkuNCAyNC42IDkuNCAzMy45IDB6TTMyMCAyMDhhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6bTAgMzJjLTYxLjkgMC0xMTIgNTAuMS0xMTIgMTEybDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLThjMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6bTIxNi04MGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6TTQ1MS4yIDI2MC40QzQ2OS40IDI4Ni4zIDQ4MCAzMTcuOSA0ODAgMzUybDAgOGMwIDguNC0xLjQgMTYuNS00LjEgMjRsNzguOCAwYzExLjggMCAyMS4zLTkuNiAyMS4zLTIxLjNsMC0xMC43YzAtNTMtNDMtOTYtOTYtOTYtMTAgMC0xOS43IDEuNS0yOC44IDQuNHptLTI2Mi40IDBjLTkuMS0yLjktMTguOC00LjQtMjguOC00LjQtNTMgMC05NiA0My05NiA5NmwwIDEwLjdjMCAxMS44IDkuNiAyMS4zIDIxLjMgMjEuM2w3OC44IDBjLTIuNy03LjUtNC4xLTE1LjYtNC4xLTI0bDAtOGMwLTM0LjEgMTAuNi02NS43IDI4LjgtOTEuNnpNMjE2IDE2MGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6Il19LHRtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyYWluYm93IixpY29uOls2NDAsNTEyLFsxMjc3NTJdLCJmNzViIiwiTTMyMCA5NkMxNzguNiA5NiA2NCAyMTAuNiA2NCAzNTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQzMy43IDAgNDE2bDAtNjRDMCAxNzUuMyAxNDMuMyAzMiAzMjAgMzJTNjQwIDE3NS4zIDY0MCAzNTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0QzU3NiAyMTAuNiA0NjEuNCA5NiAzMjAgOTZ6bTAgMTEyYy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xMTQuOSA5My4xLTIwOCAyMDgtMjA4czIwOCA5My4xIDIwOCAyMDhsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtNzkuNS02NC41LTE0NC0xNDQtMTQ0ek0yODggMzUybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnoiXX0scm10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpdGVtYXAiLGljb246WzUxMiw1MTIsW10sImYwZTgiLCJNMTkyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOCAwIDAgNjQgMTIwIDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCA1NiA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4IDAgMC01NmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTIwIDAgMCA4MCA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4IDAgMC04MC0xMjAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA1NiA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4IDAgMC01NmMwLTM5LjggMzIuMi03MiA3Mi03MmwxMjAgMCAwLTY0LTggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHoiXX0sZzJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zdGFycyIsaWNvbjpbNTEyLDUxMixbMTI5MzIxLCJncmluLXN0YXJzIl0sImY1ODciLCJNMjU2IDUxMmMxNDEuNCAwIDI1Ni0xMTQuNiAyNTYtMjU2IDAtMjQuNC0zLjQtNDguMS05LjgtNzAuNSAxOC42LTM2LjEtMi43LTgzLjYtNDYuNy05MC00Ni45LTU4LjMtMTE4LjktOTUuNS0xOTkuNS05NS41UzEwMy40IDM3LjMgNTYuNSA5NS41Yy00NCA2LjQtNjUuMyA1My45LTQ2LjcgOTAtNi40IDIyLjQtOS44IDQ2LTkuOCA3MC41IDAgMTQxLjQgMTE0LjYgMjU2IDI1NiAyNTZ6TTM4Ni43IDMyNC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSA0MDQuMiAxMDUuNyAzNDIuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xem0tMzEuNi0yMzFjNS4zLTEwLjcgMjAuNS0xMC43IDI1LjggMGwyMC45IDQyLjQgNDYuNyA2LjhjMTEuOCAxLjcgMTYuNSAxNi4yIDggMjQuNWwtMzMuOCAzMyA4IDQ2LjZjMiAxMS43LTEwLjMgMjAuNy0yMC45IDE1LjJsLTQxLjgtMjItNDEuOCAyMmMtMTAuNSA1LjUtMjIuOS0zLjQtMjAuOS0xNS4ybDgtNDYuNi0zMy44LTMzYy04LjUtOC4zLTMuOC0yMi44IDgtMjQuNWw0Ni43LTYuOCAyMC45LTQyLjR6bS0xOTguMiAwbDIwLjkgNDIuNCA0Ni43IDYuOGMxMS44IDEuNyAxNi41IDE2LjIgOCAyNC41bC0zMy44IDMzIDggNDYuNmMyIDExLjctMTAuMyAyMC43LTIwLjkgMTUuMmwtNDEuOC0yMi00MS44IDIyYy0xMC41IDUuNS0yMi45LTMuNC0yMC45LTE1LjJsOC00Ni42LTMzLjgtMzNjLTguNS04LjMtMy44LTIyLjggOC0yNC41bDQ2LjctNi44IDIwLjktNDIuNGM1LjMtMTAuNyAyMC41LTEwLjcgMjUuOCAweiJdfSxhbXQ9ZzJlLGIyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb3J0LXVwIixpY29uOlszODQsNTEyLFsic29ydC1hc2MiXSwiZjBkZSIsIk0zMiAyMjRjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhTLjIgMTc4LjUgOS40IDE2OS40bDE2MC0xNjBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOVMzNjQuOSAyMjQgMzUyIDIyNEwzMiAyMjR6Il19LGltdD1iMmUsRUE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXllIixpY29uOls1NzYsNTEyLFsxMjgwNjVdLCJmMDZlIiwiTTI4OCAzMmMtODAuOCAwLTE0NS41IDM2LjgtMTkyLjYgODAuNi00Ni44IDQzLjUtNzguMSA5NS40LTkzIDEzMS4xLTMuMyA3LjktMy4zIDE2LjcgMCAyNC42IDE0LjkgMzUuNyA0Ni4yIDg3LjcgOTMgMTMxLjEgNDcuMSA0My43IDExMS44IDgwLjYgMTkyLjYgODAuNnMxNDUuNS0zNi44IDE5Mi42LTgwLjZjNDYuOC00My41IDc4LjEtOTUuNCA5My0xMzEuMSAzLjMtNy45IDMuMy0xNi43IDAtMjQuNi0xNC45LTM1LjctNDYuMi04Ny43LTkzLTEzMS4xLTQ3LjEtNDMuNy0xMTEuOC04MC42LTE5Mi42LTgwLjZ6TTE0NCAyNTZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQ0LTY0YzAgMzUuMy0yOC43IDY0LTY0IDY0LTExLjUgMC0yMi4zLTMtMzEuNy04LjQtMSAxMC45LS4xIDIyLjEgMi45IDMzLjIgMTMuNyA1MS4yIDY2LjQgODEuNiAxMTcuNiA2Ny45czgxLjYtNjYuNCA2Ny45LTExNy42Yy0xMi4yLTQ1LjctNTUuNS03NC44LTEwMS4xLTcwLjggNS4zIDkuMyA4LjQgMjAuMSA4LjQgMzEuN3oiXX0sSUE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyZXQtbGVmdCIsaWNvbjpbMjU2LDUxMixbXSwiZjBkOSIsIk03LjcgMjM1LjhjLTEwLjMgMTIuNi05LjUgMzEuMSAyLjIgNDIuOGwxMjggMTI4YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45czE5LjgtMTYuNiAxOS44LTI5LjZsMC0yNTZjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlsLTEyOCAxMjgtMi4yIDIuNHoiXX0sdjJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFwcGxlLXdob2xlIixpY29uOls0NDgsNTEyLFsxMjc4MjIsMTI3ODIzLCJhcHBsZS1hbHQiXSwiZjVkMSIsIk0yMjQgMTEyYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwbC0xNiAwek0wIDI4OGMwLTc2LjMgMzUuNy0xNjAgMTEyLTE2MCAyNy4zIDAgNTkuNyAxMC4zIDgyLjcgMTkuMyAxOC44IDcuMyAzOS45IDcuMyA1OC43IDAgMjIuOS04LjkgNTUuNC0xOS4zIDgyLjctMTkuMyA3Ni4zIDAgMTEyIDgzLjcgMTEyIDE2MCAwIDEyOC04MCAyMjQtMTYwIDIyNC0xNi41IDAtMzguMS02LjYtNTEuNS0xMS4zLTguMS0yLjgtMTYuOS0yLjgtMjUgMC0xMy40IDQuNy0zNSAxMS4zLTUxLjUgMTEuMy04MCAwLTE2MC05Ni0xNjAtMjI0eiJdfSxubXQ9djJlLHgyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY3JvbGwtdG9yYWgiLGljb246WzU3Niw1MTIsWyJ0b3JhaCJdLCJmNmEwIiwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwIDY4LjkgMCA4Ni43IDEzLjQgOTMuMyAzMmwzODkuNSAwYzYuNi0xOC42IDI0LjQtMzIgNDUuMy0zMiAyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQxNmMwIDI2LjUtMjEuNSA0OC00OCA0OC0yMC45IDAtMzguNy0xMy40LTQ1LjMtMzJMOTMuMyA0ODBjLTYuNiAxOC42LTI0LjQgMzItNDUuMyAzMi0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek0xNzcuOSAzMDFjLTEuMiAyLTEuOSA0LjItMS45IDYuNiAwIDYuOSA1LjYgMTIuNSAxMi41IDEyLjVsNTYuOSAwIDMwLjUgNDkuMmMyLjYgNC4yIDcuMiA2LjggMTIuMiA2LjhzOS42LTIuNiAxMi4yLTYuOGwzMC41LTQ5LjIgNTYuOSAwYzYuOSAwIDEyLjUtNS42IDEyLjUtMTIuNSAwLTIuMy0uNi00LjYtMS45LTYuNmwtMjcuOC00NSAyNy44LTQ1YzEuMi0yIDEuOS00LjIgMS45LTYuNiAwLTYuOS01LjYtMTIuNS0xMi41LTEyLjVsLTU2LjkgMC0zMC41LTQ5LjJjLTIuNi00LjItNy4yLTYuOC0xMi4yLTYuOHMtOS42IDIuNi0xMi4yIDYuOGwtMzAuNSA0OS4yLTU2LjkgMGMtNi45IDAtMTIuNSA1LjYtMTIuNSAxMi41IDAgMi4zIC42IDQuNiAxLjkgNi42bDI3LjggNDUtMjcuOCA0NXoiXX0sc210PXgyZSxvbXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtbG9jayIsaWNvbjpbNjQwLDUxMixbXSwiZTUxMCIsIk01MjggMjI0LjFjNDQuMiAwIDgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwek0yNjguNiA2LjVjMTIuMi05LjMgMjkuNy04LjcgNDEuMiAybDE4NSAxNzEuOEM0NDAuMiAxOTUgNDAwIDI0NC44IDQwMCAzMDRsMCAyNC40Yy0xOS42IDE3LjYtMzIgNDMuMS0zMiA3MS41bDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUwxNDQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDggMi40LTJ6TTI3MiAzMjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgOTYgMCAwLTg3LjNjMC0xNi41IDctMzEuNSAxOC40LTQyLjEtOC43LTktMjAuOS0xNC42LTM0LjQtMTQuNmwtMzIgMHptMjU2LTQ3LjljLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOWMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sbG10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmUiLGljb246WzU3Niw1MTIsW10sImU0YmEiLCJNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4TDAgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTM5MC42IDM0Mi42bDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNC0xMzMuNSAwIDkuNC05LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy02IDYtOS40IDE0LjEtOS40IDIyLjZzMy40IDE2LjYgOS40IDIyLjZsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOS40LTkuNCAxMzMuNSAwLTkuNCA5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDB6TTU3NiAxMjhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1NnoiXX0sTGI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhc2giLGljb246WzQ0OCw1MTIsW10sImYxZjgiLCJNMTM2LjcgNS45TDEyOCAzMiAzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDAtOC43LTI2LjFDMzA2LjktNy4yIDI5NC43LTE2IDI4MC45LTE2TDE2Ny4xLTE2Yy0xMy44IDAtMjYgOC44LTMwLjQgMjEuOXpNNDE2IDE0NEwzMiAxNDQgNTMuMSA0NjcuMUM1NC43IDQ5Mi40IDc1LjcgNTEyIDEwMSA1MTJMMzQ3IDUxMmMyNS4zIDAgNDYuMy0xOS42IDQ3LjktNDQuOUw0MTYgMTQ0eiJdfSx5MmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zYWQtdGVhciIsaWNvbjpbNTEyLDUxMixbMTI4NTQ2LCJzYWQtdGVhciJdLCJmNWI0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI3MSA5OGM1LjUtMS4zIDExLjEtMiAxNy0yIDI0LjEgMCA0NS40IDExLjggNTguNSAzMCA3LjcgMTAuOCAyMi43IDEzLjIgMzMuNSA1LjVzMTMuMi0yMi43IDUuNS0zMy41Yy0yMS43LTMwLjItNTcuMy01MC05Ny41LTUwLTEyLjUgMC0yNC42IDEuOS0zNS45IDUuNSA5LjggMTIuNyAxNi41IDI3LjkgMTguOSA0NC42ek0xNzYgMjQwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTkyLTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTE4NS40IDI5Mi44Yy0yLjQtMi45LTUuNy00LjgtOS40LTQuOHMtNyAxLjktOS40IDQuOGMtNi41IDcuOC0xMi42IDE2LjEtMTguMyAyNC42LTkgMTMuNC0yMC4zIDMwLjItMjAuMyA0Ny40IDAgMjguMyAyMS41IDUxLjIgNDggNTEuMnM0OC0yMi45IDQ4LTUxLjJjMC0xNy4yLTExLjItMzQtMjAuMy00Ny40LTUuNy04LjUtMTEuOS0xNi43LTE4LjMtMjQuNnoiXX0sY210PXkyZSxkbXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmF4IixpY29uOls1MTIsNTEyLFsxMjgyMjQsMTI4NDM5XSwiZjFhYyIsIk0xNjAgNjRsMCA4MCA2NCAwIDAtODAgMTQ2LjcgMCA0NS4zIDQ1LjMgMCAzNC43IDY0IDAgMC0zNC43YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDQxNiAxOC43QzQwNCA2LjcgMzg3LjcgMCAzNzAuNyAwTDIyNCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHpNMzIgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMkwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjg4YzAtMTcuNy0xNC4zLTMyLTMyLTMybC00OCAwem00NDggNjRsLTMyMCAwIDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yMjQgMjg4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTAgOTZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNMzM2IDI2NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTMxMiAzODRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNDI0IDI2NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTQwMCAzODRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sdW10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtcGx1cyIsaWNvbjpbNjQwLDUxMixbXSwiZTU0MSIsIk0yODAgMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN0wzNDEgMjg2LjZjMTIuOC0xNy41IDI4LjUtMzIuNyA0Ni4zLTQ1bC01Ni4yLTc1LjdDMzA2IDEzMiAyNjYuMyAxMTIgMjI0IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42TDE0NCAyMzYuNyAxNDQgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0xNi0yMDhsMCA0OCA0OCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDQ4IDAgMC00OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2eiJdfSxwbXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFtc2EiLGljb246WzUxMiw1MTIsW10sImY2NjUiLCJNMzQuNiAyODhMODAgMjg4YzguOCAwIDE2LTcuMiAxNi0xNkw5NiA3MmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMTMyYzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtMTY0YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxNjRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMzJjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDIwMGMwIDguOCA3LjIgMTYgMTYgMTZsNDUuNCAwYzE5LjEgMCAzNC42IDE1LjUgMzQuNiAzNC42IDAgOC42LTMuMiAxNi45LTkgMjMuM0w0MTYuNiA0NDFjLTQxLjEgNDUuMi05OS40IDcxLTE2MC42IDcxUzEzNi42IDQ4Ni4yIDk1LjQgNDQxTDkgMzQ1LjljLTUuOC02LjQtOS0xNC43LTktMjMuMyAwLTE5LjEgMTUuNS0zNC42IDM0LjYtMzQuNnpNMjU2IDI4OGMtMzguNCAwLTc2LjggMzUuOC05MC42IDUwLjItMy42IDMuNy01LjQgOC43LTUuNCAxMy44czEuOCAxMC4xIDUuNCAxMy44QzE3OS4yIDM4MC4yIDIxNy42IDQxNiAyNTYgNDE2czc2LjgtMzUuOCA5MC42LTUwLjJjMy42LTMuNyA1LjQtOC43IDUuNC0xMy44cy0xLjgtMTAuMS01LjQtMTMuOEMzMzIuOCAzMjMuOCAyOTQuNCAyODggMjU2IDI4OHptMCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LGZtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2lyY2xlLXF1ZXN0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTQyIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xMDBjLTExLjYgMC0yMS4zIDguMi0yMy41IDE5LjItMS44IDguNy0xMC4yIDE0LjMtMTguOSAxMi41cy0xNC4zLTEwLjItMTIuNS0xOC45YzUuMi0yNS42IDI3LjgtNDQuOCA1NC45LTQ0LjggMzAuOSAwIDU2IDI1LjEgNTYgNTYgMCAxOS44LTExLjcgMzcuOC0yOS44IDQ1LjlsLTEwLjQgNC42Yy0xLjIgNy43LTcuOCAxMy41LTE1LjggMTMuNS04LjggMC0xNi03LjItMTYtMTYgMC0xMS4yIDYuNi0yMS4zIDE2LjgtMjUuOWwxMi40LTUuNWM2LjYtMi45IDEwLjgtOS40IDEwLjgtMTYuNiAwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0saG10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZC1jaGVjayIsaWNvbjpbMzg0LDUxMixbXSwiZjQ2YyIsIk0yNTYgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsOC42IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDguNiAwQzgzLjYgMTIuOSAxMDQuMyAwIDEyOCAwTDI1NiAwem0yNi45IDIxMi42Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM2wtODUuNiAxMTcuNy0yNi41LTI3LjRjLTkuMi05LjUtMjQuNC05LjgtMzMuOS0uNnMtOS44IDI0LjQtLjYgMzMuOWw0Ni40IDQ4YzQuOSA1LjEgMTEuOCA3LjggMTguOSA3LjNzMTMuNi00LjEgMTcuOC05LjhMMjg4LjIgMjQ2LjFjNy44LTEwLjcgNS40LTI1LjctNS4zLTMzLjV6TTEzNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxMzYgNjR6Il19LHcyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGFyZS1mcm9tLXNxdWFyZSIsaWNvbjpbNTc2LDUxMixbNjE1MDksInNoYXJlLXNxdWFyZSJdLCJmMTRkIiwiTTM4NC41IDI0bDAgNzItNjQgMGMtNzkuNSAwLTE0NCA2NC41LTE0NCAxNDQgMCA5My40IDgyLjggMTM0LjggMTAwLjYgMTQyLjYgMi4yIDEgNC42IDEuNCA3LjEgMS40bDIuNSAwYzkuOCAwIDE3LjgtOCAxNy44LTE3LjggMC04LjMtNS45LTE1LjUtMTIuOC0yMC4zLTguOS02LjItMTkuMi0xOC4yLTE5LjItNDAuNSAwLTQ1IDM2LjUtODEuNSA4MS41LTgxLjVsMzAuNSAwIDAgNzJjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4ybDEzNi0xMzZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMNDI1LjUgN2MtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzODQuNSAxNC4zIDM4NC41IDI0em0tMjcyIDcyYy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDI1NmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyNTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0yNTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAweiJdfSxtbXQ9dzJlLFBBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY2VpcHQiLGljb246WzM4NCw1MTIsWzEyOTUzNF0sImY1NDMiLCJNMTQgMi4yQzIyLjUtMS43IDMyLjUtLjMgMzkuNiA1LjhMODAgNDAuNCAxMjAuNCA1LjhjOS03LjcgMjIuMy03LjcgMzEuMiAwTDE5MiA0MC40IDIzMi40IDUuOGM5LTcuNyAyMi4yLTcuNyAzMS4yIDBMMzA0IDQwLjQgMzQ0LjQgNS44YzcuMS02LjEgMTcuMS03LjUgMjUuNi0zLjZTMzg0IDE0LjYgMzg0IDI0bDAgNDY0YzAgOS40LTUuNSAxNy45LTE0IDIxLjhzLTE4LjUgMi41LTI1LjYtMy42bC00MC40LTM0LjYtNDAuNCAzNC42Yy05IDcuNy0yMi4yIDcuNy0zMS4yIDBsLTQwLjQtMzQuNi00MC40IDM0LjZjLTkgNy43LTIyLjMgNy43LTMxLjIgMEw4MCA0NzEuNiAzOS42IDUwNi4yYy03LjEgNi4xLTE3LjEgNy41LTI1LjYgMy42UzAgNDk3LjQgMCA0ODhMMCAyNEMwIDE0LjYgNS41IDYuMSAxNCAyLjJ6TTEwNCAxMzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAwek04MCAzNTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMjQtMTIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMHoiXX0sZ210PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVxdWFscyIsaWNvbjpbNDQ4LDUxMixbNjI3NjRdLCIzZCIsIk0zMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMTI4em0wIDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMjB6Il19LGJtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLXVwIixpY29uOls0NDgsNTEyLFtdLCJmMDc3IiwiTTIwMS40IDEwNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMjI0IDE3My4zIDU0LjYgMzQyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE5Mi0xOTJ6Il19LHZtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1cy1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTA3NSIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04OC42LTg4LjZjMS43LTEyLjEtMi0yNC44LTExLjMtMzQtMzEuMi0zMS4yLTkuMS04NC41IDM1LTg0LjUgMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBjLTQ0LjEgMC02Ni4xLTUzLjMtMzUtODQuNSAxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNnMtNDAuOS0xNS42LTU2LjYgMGMtMzEuMiAzMS4yLTg0LjUgOS4xLTg0LjUtMzUgMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCA0NC4xLTUzLjMgNjYuMS04NC41IDM1LTkuMy05LjMtMjItMTMtMzQtMTEuM0w0MS0yNC45ek03MiAyMTZjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBjNDQuMSAwIDY2LjEgNTMuMyAzNSA4NC41LTE1LjYgMTUuNi0xNS42IDQwLjkgMCA1Ni42czQwLjkgMTUuNiA1Ni42IDBjMzEuMi0zMS4yIDg0LjUtOS4xIDg0LjUgMzUgMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGMwLTIxLjQgMTIuNi0zNy42IDI5LjEtNDUuMWwtMjQwLTI0MEMxMDkuNiAyMDMuNCA5My40IDIxNiA3MiAyMTZ6Il19LHhtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjcxNSIsIk03LTI1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDU2OSA1MDNjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDlDLTIuMy0uNC0yLjMtMTUuNiA3LTI1eiJdfSx5bXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXhwYW5kIixpY29uOls0NDgsNTEyLFtdLCJmMDY1IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNjQgMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMzM0LjMgMCAzNTJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNjR6TTMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwek00NDggMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZ6Il19LE0yZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub3RlLXN0aWNreSIsaWNvbjpbNDQ4LDUxMixbNjIwMjYsInN0aWNreS1ub3RlIl0sImYyNDkiLCJNNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjEzLjVjMCAxNy02LjcgMzMuMy0xOC43IDQ1LjNMMzIyLjcgNDYxLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNjQgNDgwek0zODkuNSAzMDRMMjk2IDMwNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA5My41IDExNy41LTExNy41eiJdfSx3bXQ9TTJlLGsyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jb2x1bW5zIixpY29uOls0NDgsNTEyLFsiY29sdW1ucyJdLCJmMGRiIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em02NCA2NGwwIDI1NiAxMjggMCAwLTI1Ni0xMjggMHptMzIwIDBsLTEyOCAwIDAgMjU2IDEyOCAwIDAtMjU2eiJdfSxNbXQ9azJlLGttdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc2hlbHRlciIsaWNvbjpbNTEyLDUxMixbXSwiZTU0ZiIsIk0yNzEuOSA0LjJjLTkuOC01LjYtMjEuOS01LjYtMzEuOCAwbC0yMjQgMTI4QzYuMiAxMzcuOSAwIDE0OC41IDAgMTYwTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJMNjQgMTc4LjYgMjU2IDY4LjkgNDQ4IDE3OC42IDQ0OCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyMGMwLTExLjUtNi4yLTIyLjEtMTYuMS0yNy44bC0yMjQtMTI4ek0yNTYgMjA4YTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHptLTggMTkybDE2IDAgMCA4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTc0LjUgMjYuOSA0OS45YzYuMyAxMS43IDIwLjggMTYgMzIuNSA5LjhzMTYtMjAuOCA5LjgtMzIuNWwtMzMuMi02MS43QzMyOS43IDI0NS4xIDI5NC40IDIyNCAyNTYgMjI0cy03My43IDIxLjEtOTEuOSA1NC45bC0zMy4yIDYxLjdjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDIwMCAzMTMuNSAyMDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04OHoiXX0sU210PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1ub3RjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjFjZSIsIk0yMjIuNyAzMi4xYzUgMTYuOS00LjYgMzQuOC0yMS41IDM5LjgtNzkuMyAyMy42LTEzNy4xIDk3LjEtMTM3LjEgMTg0LjEgMCAxMDYgODYgMTkyIDE5MiAxOTJzMTkyLTg2IDE5Mi0xOTJjMC04Ni45LTU3LjgtMTYwLjQtMTM3LjEtMTg0LjEtMTYuOS01LTI2LjYtMjIuOS0yMS41LTM5LjhzMjIuOS0yNi42IDM5LjgtMjEuNUM0MzQuOSA0Mi4xIDUxMiAxNDAgNTEyIDI1NiA1MTIgMzk3LjQgMzk3LjQgNTEyIDI1NiA1MTJTMCAzOTcuNCAwIDI1NmMwLTExNiA3Ny4xLTIxMy45IDE4Mi45LTI0NS40IDE2LjktNSAzNC44IDQuNiAzOS44IDIxLjV6Il19LHptdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YXRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjc3MyIsIk00MTAuNiAxMjQuMWMyMC43IDE1LjYgNDYgMzAuNyA3NC4yIDM0LjUgMTMuMSAxLjggMjUuMi03LjUgMjctMjAuNnMtNy41LTI1LjItMjAuNi0yN2MtMTUuOS0yLjEtMzMuMi0xMS4zLTUxLjctMjUuMi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0xOC41IDEzLjktMzUuOCAyMy4xLTUxLjcgMjUuMi0xMy4xIDEuOC0yMi40IDEzLjgtMjAuNiAyN3MxMy44IDIyLjQgMjcgMjAuNmMyOC4yLTMuOCA1My42LTE4LjkgNzQuMi0zNC41IDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6bTAgMTQ0YzIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS43LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptLTcxLjIgMTQ0YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS44LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sUzJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRlbGV0ZS1sZWZ0IixpY29uOls2NDAsNTEyLFs5MDAzLCJiYWNrc3BhY2UiXSwiZjU1YSIsIk01NzYgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIwNS4zIDY0Yy0xNyAwLTMzLjMgNi43LTQ1LjMgMTguN0w5LjQgMjMzLjRjLTYgNi05LjQgMTQuMS05LjQgMjIuNnMzLjQgMTYuNiA5LjQgMjIuNkwxNjAgNDI5LjNjMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0w1MTIgNDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2ek0yODQuMSAxODguMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwzMy45IDMzLjkgMzMuOS0zMy45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzMuOSAzMy45IDMzLjkgMzMuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0zMy45LTMzLjktMzMuOSAzMy45Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMzLjktMzMuOS0zMy45LTMzLjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxDbXQ9UzJlLEhEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyb29tLWJhbGwiLGljb246WzU3Niw1MTIsWyJxdWlkZGl0Y2giLCJxdWlkZGl0Y2gtYnJvb20tYmFsbCJdLCJmNDU4IiwiTTQ5NiA1NDRhODAgODAgMCAxIDEgMC0xNjAgODAgODAgMCAxIDEgMCAxNjB6TTEwNi44IDI3Ny4yYzMwLjYtMzAuNiA3My4xLTQ1LjkgMTE1LjgtNDIuMkwzNDEgMzUzLjNjMy43IDQyLjgtMTEuNiA4NS4yLTQyLjIgMTE1LjktMjcuNCAyNy40LTY0LjYgNDIuOC0xMDMuMyA0Mi44TDIyLjEgNTEyYy0xMi4yIDAtMjIuMS05LjktMjIuMS0yMi4xIDAtNi4zIDIuNy0xMi4zIDcuMy0xNi41TDEzMy43IDM1OS43YzQuMi0zLjctLjQtMTAuNC01LjQtNy45TDc3LjIgMzc3LjRjLTYuMSAzLTEzLjItMS40LTEzLjItOC4yIDAtMzEuNSAxMi41LTYxLjggMzQuOC04NGw4LTh6bTQxNy0yNzBjMTIuNi0xMC4zIDMxLjEtOS41IDQyLjggMi4yczEyLjQgMzAuMiAyLjIgNDIuOGwtMi4yIDIuNC0xOTIgMTkyIDM0LjggMzQuN2M0LjIgNC4yIDYuNiAxMCA2LjYgMTYgMCAxMi41LTEwLjEgMjIuNi0yMi42IDIyLjZsLTI5LjEgMC0xMDguMy0xMDguMyAwLTI5LjFjMC0xMi41IDEwLjEtMjIuNiAyMi42LTIyLjYgNiAwIDExLjggMi40IDE2IDYuNmwzNC44IDM0LjcgMTkyLTE5MiAyLjQtMi4yeiJdfSxUbXQ9SEQsX210PUhELExtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqIixpY29uOlszMjAsNTEyLFsxMDZdLCI0YSIsIk0yODggMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMGwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSx6MmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2h1dHRsZS1zcGFjZSIsaWNvbjpbNTc2LDUxMixbInNwYWNlLXNodXR0bGUiXSwiZjE5NyIsIk0wIDM2OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDUwIDBjNDAuNiAwIDgwLjQtMTEgMTE1LjItMzEuOWwxMzMuNS04MC4xLTkzLjMgMC02NC45IDM4LjljLTE0IDguNC0yOC45IDE0LjctNDQuNSAxOWwwLTY2LjRjOS43LTUuNiAxNy44LTEzLjcgMjMuNC0yMy40bDE5OC44IDBjNjcuMSAwIDEyNy44LTIwLjYgMTcwLjMtNzAuNiA0LjYtNS40IDQuNi0xMy4zIDAtMTguOC00Mi41LTUwLjEtMTAzLjItNzAuNi0xNzAuMy03MC42bC0xOTguOCAwYy01LjYtOS43LTEzLjctMTcuOC0yMy40LTIzLjRsMC02Ni40YzE1LjYgNC4yIDMwLjYgMTAuNiA0NC41IDE5bDY0LjkgMzguOSA5My4zIDAtMTMzLjUtODAuMUMxNzguNCA0MyAxMzguNiAzMiA5OCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgMzY4em05NiAwbDAgNjQtNDggMCAwLTY0IDQ4IDB6TTk2IDgwbDAgNjQtNDggMCAwLTY0IDQ4IDB6TTQxNiAyMjRjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6Il19LCRtdD16MmUsRG10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Inlpbi15YW5nIixpY29uOls1MTIsNTEyLFs5Nzc1XSwiZjZhZCIsIk0yMjQgMTYwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDM1MmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtNDQ4YzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2LTk2IDQzLTk2IDk2IDQzIDk2IDk2IDk2QzE1MCA0NDggNjQgMzYyIDY0IDI1NlMxNTAgNjQgMjU2IDY0ek0yMjQgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LEFtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdG9wIixpY29uOls0NDgsNTEyLFs5MjA5XSwiZjA0ZCIsIk02NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6Il19LEVtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cm93ZWwiLGljb246WzU3Niw1MTIsW10sImU1ODkiLCJNNDA3LjkgMTgxLjRMMjc3LjMgMzEyIDM0Mi42IDM3Ny40YzcuOSA3LjkgMTEuMSAxOS40IDguNCAzMC4zcy0xMC44IDE5LjYtMjEuNSAyMi45bC0yNTYgODBjLTExLjQgMy41LTIzLjggLjUtMzIuMi03LjlzLTExLjUtMjAuOC03LjktMzIuMmw4MC0yNTZjMy4zLTEwLjcgMTItMTguOSAyMi45LTIxLjVzMjIuNCAuNSAzMC4zIDguNEwyMzIgMjY2LjcgMzYyLjYgMTM2LjFjLTE0LjMtMTQuNi0xNC4yLTM4IC4zLTUyLjVsOTUuNC05NS40YzI2LjktMjYuOSA3MC41LTI2LjkgOTcuNSAwczI2LjkgNzAuNSAwIDk3LjVsLTk1LjQgOTUuNGMtMTQuNSAxNC41LTM3LjkgMTQuNi01Mi41IC4zeiJdfSxDMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1iYWNrLWZpc3QiLGljb246WzM4NCw1MTIsWyJoYW5kLXJvY2siXSwiZjI1NSIsIk03LjQgMjUzLjZDMi42IDI0NS45IDAgMjM3LjEgMCAyMjhsMC0zNmMwLTI2LjUgMjEuNS00OCA0OC00OGwxNiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDggMTcuMyAwIDMyLjQgOS4xIDQwLjkgMjIuOCA0LjMtMjIuMSAyMy44LTM4LjggNDcuMS0zOC44IDIzLjQgMCA0Mi45IDE2LjggNDcuMSAzOC45IDcuMy00LjQgMTUuOC02LjkgMjQuOS02LjkgMjIuMSAwIDQwLjggMTUgNDYuMyAzNS40IDUuNS0yLjIgMTEuNC0zLjQgMTcuNy0zLjQgMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5Ni45YzAgOS45LTIuMyAxOS43LTYuOCAyOC42bC0zOS42IDc5LjFjLTEwLjggMjEuNy0zMyAzNS40LTU3LjIgMzUuNEw5NiAzNTJjLTE2LjUgMC0zMS44LTguNC00MC42LTIyLjRsLTQ4LTc2ek0zMiA0ODBsMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LEltdD1DMmUsUG10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWhpZ2giLGljb246WzUxMiw1MTIsW10sImY3NjkiLCJNOTYgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDE2NC43YzI5LjUgMjYuNCA0OCA2NC43IDQ4IDEwNy4zIDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzQ4IDQ0Ny41IDQ4IDM2OGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w5NiA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM0wyMTYgOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMTIuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0ek00NjQgODBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzUyIDgwYTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHoiXX0sTm10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyZWF0ZXItdGhhbiIsaWNvbjpbNTEyLDUxMixbNjI3NjldLCIzZSIsIk0zNC45IDUwLjZjLTcuNCAxNi0uNCAzNS4xIDE1LjYgNDIuNUw0MDMuNiAyNTYgNTAuNiA0MTljLTE2IDcuNC0yMy4xIDI2LjQtMTUuNiA0Mi41czI2LjQgMjMgNDIuNSAxNS42bDQxNi0xOTJjMTEuMy01LjIgMTguNi0xNi42IDE4LjYtMjkuMXMtNy4zLTIzLjgtMTguNi0yOS4xTDc3LjQgMzVjLTE2LTcuNC0zNS4xLS40LTQyLjUgMTUuNnoiXX0sRm10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNydXRjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjdmNyIsIk0yOTcuNCA5LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtMS40LTEuNC0xNTguNiAxNTguNmMtMTggMTgtNDIuNCAyOC4xLTY3LjkgMjguMWwtNTkgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjQtNjEuNyA2MS43LTkyLjggOTIuOC05My4zIDkzLjMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYtMTYgMCAwIDc3LjMtNzcuM2M2LTYgOS40LTE0LjEgOS40LTIyLjZsMC01OWMwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOUwyOTguNyA1NiAyOTcuNCA1NC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3pNMzQ0IDEwMS4zTDI2MS4zIDE4NCAzMjggMjUwLjcgNDEwLjcgMTY4IDM0NCAxMDEuM3ptLTEyOCAxMjhsLTMwLjYgMzAuNmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgNTMuNSA1My41IDBjOC41IDAgMTYuNi0zLjQgMjIuNi05LjRMMjgyLjcgMjk2IDIxNiAyMjkuM3oiXX0sVDJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNlcHRhZ29uIixpY29uOls1NzYsNTEyLFsiaGVwdGFnb24iXSwiZTgyMCIsIk0yNjcuNC0zMS41YzE1LjktNS41IDMzLjUtNC42IDQ4LjggMi43bDE3Mi40IDgzIDYuMyAzLjVjMTQuMiA5IDI0LjUgMjMuMyAyOC4zIDM5LjlsNDIuNiAxODYuNSAxLjIgNy4yYzEuNiAxNC4zLTEuNyAyOC44LTkuNCA0MS4xbC00LjIgNS45LTExOS4zIDE0OS42Yy0xMi4xIDE1LjItMzAuNiAyNC4xLTUwIDI0LjFsLTE5MS4zIDBjLTE5LjUgMC0zNy45LTguOS01MC0yNC4xTDIzLjUgMzM4LjRjLTEyLjEtMTUuMi0xNi43LTM1LjItMTIuMy01NC4ybDQyLjYtMTg2LjUgMi03YzUuNi0xNS45IDE3LjItMjkgMzIuNi0zNi40bDE3Mi40LTgzIDYuNy0yLjd6Il19LE9tdD1UMmUsUm10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0cmVldC12aWV3IixpY29uOls1MTIsNTEyLFtdLCJmMjFkIiwiTTI1NiAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0yMjQgMTYwbDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMS44IDAtMTEuMSA5OS41Yy0xLjggMTYuMi0xNS41IDI4LjUtMzEuOCAyOC41bC0zOC43IDBjLTE2LjMgMC0zMC0xMi4zLTMxLjgtMjguNWwtMTEuMS05OS41LTEuOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4YzAtMzUuMyAyOC43LTY0IDY0LTY0ek00MTIuNCA0MDAuMmMtMTYuMS00LjItMzQuOC03LjYtNTUuNC0xMC4ybDUuMy00Ny43YzIyLjcgMi45IDQzLjcgNi43IDYyLjEgMTEuNSAyMi40IDUuOCA0Mi42IDEzLjMgNTcuOCAyMy4zIDE0LjcgOS42IDI5LjggMjQuOSAyOS44IDQ3cy0xNS4xIDM3LjQtMjkuOCA0N2MtMTUuMiA5LjktMzUuNSAxNy41LTU3LjggMjMuMy00NS4xIDExLjctMTA1LjMgMTcuOC0xNjguNCAxNy44cy0xMjMuMy02LjEtMTY4LjQtMTcuOEM2NS4yIDQ4OC40IDQ1IDQ4MC45IDI5LjggNDcxIDE1LjEgNDYxLjQgMCA0NDYuMSAwIDQyNHMxNS4xLTM3LjQgMjkuOC00N2MxNS4yLTkuOSAzNS41LTE3LjUgNTcuOC0yMy4zIDE4LjUtNC44IDM5LjUtOC42IDYyLjEtMTEuNUwxNTUgMzkwYy0yMC42IDIuNi0zOS4zIDYuMS01NS40IDEwLjItNTYuNiAxNC42LTU2LjYgMzIuOSAwIDQ3LjUgMzkuOSAxMC4zIDk1LjggMTYuMiAxNTYuNCAxNi4yczExNi41LTUuOSAxNTYuNC0xNi4yYzU2LjYtMTQuNiA1Ni42LTMyLjkgMC00Ny41eiJdfSxCbXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2F2ZS1zcXVhcmUiLGljb246WzUxMiw1MTIsW10sImY4M2UiLCJNNjQgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyODggOTYgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yODgtOTYgMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtMTI4eiJdfSxIbXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGUtbGVmdCIsaWNvbjpbMjU2LDUxMixbODI0OV0sImYxMDQiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjE0LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6Il19LHFtdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY3Jld2RyaXZlciIsaWNvbjpbNTc2LDUxMixbMTI5NjkxXSwiZjU0YSIsIk0zNTIuMSAxNDYuN2wwLTQ5LjZjMC0xMC43IDUuMy0yMC43IDE0LjItMjYuNkw0ODUuMi04LjdjNi4zLTQuMiAxNC44LTMuNCAyMC4yIDJsNDUuNCA0NS41YzUuNCA1LjQgNi4yIDEzLjggMiAyMC4yTDQ3My42IDE3Ny44Yy01LjkgOC45LTE1LjkgMTQuMi0yNi42IDE0LjJsLTQ5LjYgMC05MC43IDkwLjdjMTUgMzMuMyA4LjkgNzMuOS0xOC41IDEwMS4zTDE2Mi4xIDUxMC4xYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMEwzNC4xIDQ0OS45Yy0xOC43LTE4LjctMTguNy00OS4xIDAtNjcuOUwxNjAuMSAyNTZjMjcuNC0yNy40IDY3LjktMzMuNiAxMDEuMy0xOC41bDkwLjctOTAuN3oiXX0sam10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWN0b3IiLGljb246WzU3Niw1MTIsWzEyODY2OF0sImY3MjIiLCJNMTYwIDk2bDAgOTYgMTMzLjQgMC01Ny42LTk2LTc1LjggMHpNOTYgMjIzTDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEwNy44IDBjMjIuNSAwIDQzLjMgMTEuOCA1NC45IDMxLjFsNzcuNCAxMjguOSA2NCAwIDAtNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDcyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MS41YzAgMTQuMi02LjMgMjcuOC0xNy4zIDM2LjlsLTM1IDI5LjJjMjYuNSAxNS4yIDQ0LjMgNDMuNyA0NC4zIDc2LjQgMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0xNC40IDMuNS0yOCA5LjYtNDBsLTEwMS4yIDBjLTMgMTMuNC03LjkgMjYtMTQuNCAzNy43IDcuNyA5LjQgNy4yIDIzLjQtMS42IDMyLjJsLTIyLjYgMjIuNmMtOC44IDguOC0yMi43IDkuMy0zMi4yIDEuNi05LjMgNS4yLTE5LjMgOS4zLTI5LjggMTIuMy0xLjIgMTIuMS0xMS40IDIxLjYtMjMuOSAyMS42bC0zMiAwYy0xMi40IDAtMjIuNy05LjUtMjMuOS0yMS42LTEwLjUtMy0yMC40LTcuMi0yOS44LTEyLjMtOS40IDcuNy0yMy40IDcuMi0zMi4yLTEuNkwzNS41IDQ1My44Yy04LjgtOC44LTkuMy0yMi43LTEuNi0zMi4yLTUuMi05LjMtOS4zLTE5LjMtMTIuMy0yOS44LTEyLjEtMS4yLTIxLjYtMTEuNC0yMS42LTIzLjlsMC0zMmMwLTEyLjQgOS41LTIyLjcgMjEuNi0yMy45IDMtMTAuNSA3LjItMjAuNCAxMi4zLTI5LjgtNy43LTkuNC03LjItMjMuNCAxLjYtMzIuMmwyMi42LTIyLjZjOC44LTguOCAyMi43LTkuMyAzMi4yLTEuNiAxLjktMSAzLjctMiA1LjctM3ptNjQgNjVhNjQgNjQgMCAxIDAgMCAxMjggNjQgNjQgMCAxIDAgMC0xMjh6TTQ0MCA0MjRhNDAgNDAgMCAxIDAgODAgMCA0MCA0MCAwIDEgMCAtODAgMHoiXX0sVm10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWRnZS1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImU0Y2IiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2IDYuNCAwIDEyLjcgLjYgMTguNyAxLjggMzQuNy00OS41IDkyLjItODEuOCAxNTcuMy04MS44IDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtNjUuNC00MCAwIDAtNjQgOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00MjQgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjk2IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTg4IDk2bDgwIDAgMCA2NC04MCAwIDAtNjR6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxVbXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlhbHMiLGljb246WzUxMiw1MTIsW10sImY0OTMiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDM1MmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMzUyIDY0IDAgMCAzNTJjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTM1MmMxNy43IDAgMzItMTQuMyAzMi0zMlM0OTcuNyAwIDQ4MCAwTDMyIDB6TTE2MCA2NGwwIDEyOC02NCAwIDAtMTI4IDY0IDB6bTI1NiAwbDAgMTI4LTY0IDAgMC0xMjggNjQgMHoiXX0sV210PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0ZXRob3Njb3BlIixpY29uOls1NzYsNTEyLFsxMjk2NThdLCJmMGYxIiwiTTMyIDQ4QzMyIDIxLjUgNTMuNSAwIDgwIDBsNDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTI4LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzIzOC4zIDAgMjU2IDBsNDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE0NGMwIDc3LjQtNTUgMTQyLTEyOCAxNTYuOGwwIDE5LjJjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMmwwLTg1LjVjLTM3LjMtMTMuMi02NC00OC43LTY0LTkwLjUgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDQxLjgtMjYuNyA3Ny40LTY0IDkwLjVsMCA4NS41YzAgOTcuMi03OC44IDE3Ni0xNzYgMTc2UzE2MCA0NjUuMiAxNjAgMzY4bDAtMTkuMkM4NyAzMzQgMzIgMjY5LjQgMzIgMTkyTDMyIDQ4ek00ODAgMjI0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sR210PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBvZGNhc3QiLGljb246WzQ0OCw1MTIsW10sImYyY2UiLCJNMzM2IDM1OS44YzM5LjEtMzIuMyA2NC04MS4xIDY0LTEzNS44IDAtOTcuMi03OC44LTE3Ni0xNzYtMTc2UzQ4IDEyNi44IDQ4IDIyNEM0OCAyNzguNyA3Mi45IDMyNy41IDExMiAzNTkuOCAxMTIuNCAzNzcuNCAxMTUuMiA0MDAuMiAxMTguNCA0MjEuNiA0OCAzODMuOSAwIDMwOS41IDAgMjI0IDAgMTAwLjMgMTAwLjMgMCAyMjQgMFM0NDggMTAwLjMgNDQ4IDIyNGMwIDg1LjYtNDggMTU5LjktMTE4LjUgMTk3LjYgMy4zLTIxLjQgNi00NC4yIDYuNC02MS44em0tMTQtNTMuNGMtOC4zLTEyLjYtMTkuMi0yMS42LTMwLjQtMjcuOC0yLjEtMS4xLTQuMi0yLjItNi4zLTMuMiAxMS43LTEzLjkgMTguOC0zMS45IDE4LjgtNTEuNSAwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDE5LjYgNy4xIDM3LjYgMTguOCA1MS41LTIuMSAxLTQuMiAyLTYuMyAzLjItMTEuMiA2LjItMjIuMSAxNS4yLTMwLjQgMjcuOC0xOC44LTIyLjMtMzAuMS01MS0zMC4xLTgyLjQgMC03MC43IDU3LjMtMTI4IDEyOC0xMjhzMTI4IDU3LjMgMTI4IDEyOGMwIDMxLjQtMTEuMyA2MC4yLTMwLjEgODIuNHpNMjI0IDMxMmMzMi45IDAgNjQgOC42IDY0IDQzLjggMCAzMy0xMi45IDEwNC4xLTIwLjYgMTMyLjktNS4xIDE5LTI0LjUgMjMuNC00My40IDIzLjRzLTM4LjItNC40LTQzLjQtMjMuNGMtNy44LTI4LjUtMjAuNi05OS43LTIwLjYtMTMyLjggMC0zNS4xIDMxLjEtNDMuOCA2NC00My44em0wLTEyOGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LFltdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1yaWdodC1kb3RzIixpY29uOls1MTIsNTEyLFtdLCJlNGI3IiwiTTk2IDMyQzc4LjMgMzIgNjQgNDYuMyA2NCA2NFM3OC4zIDk2IDk2IDk2TDExNC43IDk2IDkuNCAyMDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxNjAgMTQxLjMgMTYwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMzJ6TTQwMy44IDcwLjFhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHpNMjc5LjcgMTk0LjJhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHptMTYyLjItMzguMWEzOC4xIDM4LjEgMCAxIDAgMCA3Ni4yIDM4LjEgMzguMSAwIDEgMCAwLTc2LjJ6TTE1Ni4yIDMxNy44YTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6bTE2MS42LTM4LjFhMzguMSAzOC4xIDAgMSAwIDAgNzYuMiAzOC4xIDM4LjEgMCAxIDAgMC03Ni4yem04Ni4xIDM4LjFhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHpNNzAuMSA0MDMuOGEzOC4xIDM4LjEgMCAxIDAgMCA3Ni4yIDM4LjEgMzguMSAwIDEgMCAwLTc2LjJ6bTg2LjEgMzguMWEzOC4xIDM4LjEgMCAxIDAgNzYuMiAwIDM4LjEgMzguMSAwIDEgMCAtNzYuMiAwem0xNjEuNi0zOC4xYTM4LjEgMzguMSAwIDEgMCAwIDc2LjIgMzguMSAzOC4xIDAgMSAwIDAtNzYuMnptODYuMSAzOC4xYTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6Il19LFptdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1xdWVlbiIsaWNvbjpbNTEyLDUxMixbOTgxOV0sImY0NDUiLCJNMjU2IDgwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNNS41IDE4NUwxMjggMzg0IDcxLjggNDU0LjNjLTUgNi4zLTcuOCAxNC4xLTcuOCAyMi4yIDAgMTkuNiAxNS45IDM1LjUgMzUuNSAzNS41bDMxMi45IDBjMTkuNiAwIDM1LjUtMTUuOSAzNS41LTM1LjUgMC04LjEtMi43LTE1LjktNy44LTIyLjJMMzg0IDM4NCA1MDYuNSAxODVjMy42LTUuOSA1LjUtMTIuNyA1LjUtMTkuNmwwLS42YzAtMjAuMy0xNi41LTM2LjgtMzYuOC0zNi44LTcuMyAwLTE0LjQgMi4yLTIwLjQgNi4ybC0xNi45IDExLjNjLTEyLjcgOC41LTI5LjYgNi44LTQwLjQtNGwtMzQuMS0zNC4xQzM1Ni4xIDEwMC4xIDM0Ni4yIDk2IDMzNiA5NnMtMjAuMSA0LjEtMjcuMyAxMS4zbC0zMC4xIDMwLjFjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0zMC4xLTMwLjFDMTk2LjEgMTAwLjEgMTg2LjIgOTYgMTc2IDk2cy0yMC4xIDQuMS0yNy4zIDExLjNsLTM0LjEgMzQuMWMtMTAuOCAxMC44LTI3LjcgMTIuNS00MC40IDRMNTcuMyAxMzQuMmMtNi4xLTQtMTMuMi02LjItMjAuNC02LjItMjAuMyAwLTM2LjggMTYuNS0zNi44IDM2LjhsMCAuNmMwIDYuOSAxLjkgMTMuNyA1LjUgMTkuNnoiXX0sWG10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuY2hvci1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU0YWIiLCJNMzIwLjUgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTMyLTk2Yy01MyAwLTk2IDQzLTk2IDk2IDAgNDEuOCAyNi43IDc3LjQgNjQgOTAuNWwwIDI1Ny45Yy02Mi45LTE0LjMtMTEwLjItNjkuNy0xMTEuOS0xMzYuNWwxNi4xIDE0LjFjMTAgOC43IDI1LjEgNy43IDMzLjktMi4zczcuNy0yNS4xLTIuMy0zMy45bC02NC01NmMtOS03LjktMjIuNi03LjktMzEuNiAwbC02NCA1NmMtMTAgOC43LTExIDIzLjktMi4zIDMzLjlzMjMuOSAxMSAzMy45IDIuM2wxNi4yLTE0LjJjMi4xIDExMy4xIDk0LjQgMjA0LjEgMjA4IDIwNC4xIDE2LjYgMCAzMi43LTEuOSA0OC4yLTUuNi0yMC4zLTMwLjUtMzIuMi02Ny0zMi4yLTEwNi40IDAtMjcuMyA1LjctNTMuMyAxNi03Ni45bDAtMTM2LjZjMzcuMy0xMy4yIDY0LTQ4LjcgNjQtOTAuNSAwLTUzLTQzLTk2LTk2LTk2em0yMDggNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sXzJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVsbGlwc2lzLXZlcnRpY2FsIixpY29uOlsxMjgsNTEyLFsiZWxsaXBzaXMtdiJdLCJmMTQyIiwiTTY0IDE0NGE1NiA1NiAwIDEgMSAwLTExMiA1NiA1NiAwIDEgMSAwIDExMnptMCAyMjRjMzAuOSAwIDU2IDI1LjEgNTYgNTZzLTI1LjEgNTYtNTYgNTYtNTYtMjUuMS01Ni01NiAyNS4xLTU2IDU2LTU2em01Ni0xMTJjMCAzMC45LTI1LjEgNTYtNTYgNTZzLTU2LTI1LjEtNTYtNTYgMjUuMS01NiA1Ni01NiA1NiAyNS4xIDU2IDU2eiJdfSxRbXQ9XzJlLEptdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzU3Niw1MTIsW10sImU0ZmUiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNNDMyIDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjI4YTIwIDIwIDAgMSAwIDAtNDAgMjAgMjAgMCAxIDAgMCA0MHptMC0xODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MGMwLTguOC03LjItMTYtMTYtMTZ6Il19LEttdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzU3Niw1MTIsW10sImU0ZDMiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMTAuNS0xNC42LTE5LTMwLjctMjUuMS00OGwtNzQuOSAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMyIDAgNCAuMiA1LjkgLjUgNi0yMy42IDE2LjMtNDUuNCAzMC4xLTY0LjVsLTQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNGMyNy41LTE5LjggNjAuMy0zMi40IDk2LTM1LjRMNDE2IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sZTd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmUiLGljb246WzU3Niw1MTIsW10sImU1MzkiLCJNMTkyLTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0zMTguMyAyOTkuMWwtNDYuMy02Mi40IDAgMjQzLjMgMjcyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTQ0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDgwIDAgMC0yNDMuMy00Ni4zIDYyLjRjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1QzExMCAxMzIgMTQ5LjcgMTEyIDE5MiAxMTJzODIgMjAgMTA3LjIgNTMuOWw3MC41IDk1YzEwLjUgMTQuMiA3LjYgMzQuMi02LjYgNDQuOHMtMzQuMiA3LjYtNDQuOC02LjZ6TTIwOCA0ODBsMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxMjggMzIgMHpNNTY2LjYgMTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDQ5NiA3Ny4zIDQ5NiAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDYuNy0yNS40IDI1LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDgwLTgwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zeiJdfSx0N3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibm90LWVxdWFsIixpY29uOls0NDgsNTEyLFtdLCJmNTNlIiwiTTM3OC42IDgxLjhjOS44LTE0LjcgNS44LTM0LjYtOC45LTQ0LjRzLTM0LjYtNS44LTQ0LjQgOC45TDI3MC45IDEyOCAzMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTk2LjIgMC04NS4zIDEyOC0xMTAuOSAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY4LjIgMC0zMC44IDQ2LjJjLTkuOCAxNC43LTUuOCAzNC42IDguOSA0NC40czM0LjYgNS44IDQ0LjQtOC45TDE3Ny4xIDM4NCA0MTYgMzg0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOTYuMiAwIDg1LjMtMTI4IDExMC45IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY4LjIgMCAzMC44LTQ2LjJ6Il19LHI3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFpbi10cmFtIixpY29uOlszODQsNTEyLFsxMjg2NTBdLCJlNWI0IiwiTTAgOEMwLTUuMyAxMC43LTE2IDI0LTE2bDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LTEyMCAwIDAgNjQgNDAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMTYwYzAgMzEuMi0xNC45IDU5LTM4IDc2LjVsNjQuMyA3NmM4LjYgMTAuMSA3LjMgMjUuMy0yLjggMzMuOHMtMjUuMyA3LjMtMzMuOC0yLjhsLTc0LjYtODguMWMtMy42IC40LTcuMyAuNi0xMS4xIC42bC0xMjggMGMtMy44IDAtNy41LS4yLTExLjEtLjZMNDIuMyA1MzUuNWMtOC42IDEwLjEtMjMuNyAxMS40LTMzLjggMi44cy0xMS40LTIzLjctMi44LTMzLjhsNjQuMy03NkM0Ni45IDQxMSAzMiAzODMuMiAzMiAzNTJsMC0xNjBjMC01MyA0My05NiA5Ni05Nmw0MCAwIDAtNjQtMTIwIDAgMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0UzAgNTMuMyAwIDQwTDAgOHpNMTI4IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMjggMHptMzIgMTkyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sYTd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWRlcGFydHVyZSIsaWNvbjpbNTc2LDUxMixbMTI4NzQ3XSwiZjViMCIsIk0zNzIgMTQzLjlMMTcyLjcgNDAuMmMtOC00LjEtMTcuMy00LjgtMjUuNy0xLjdsLTQxLjEgMTVjLTEwLjMgMy43LTEzLjggMTYuNC03LjEgMjVMMjAwLjMgMjA2LjQgMTAwLjEgMjQyLjggNDAgMjA2LjJjLTYuMi0zLjgtMTMuOC00LjUtMjAuNy0yLjFMMyAyMTAuMWMtOS40IDMuNC0xMy40IDE0LjUtOC4zIDIzLjFsNTMuNiA5MS44YzE1LjYgMjYuNyA0OC4xIDM4LjQgNzcuMSAyNy44bDEyLjktNC43IDAgMCAzOTguNC0xNDVjMjkuMS0xMC42IDQ0LTQyLjcgMzMuNS03MS44cy00Mi43LTQ0LTcxLjgtMzMuNUwzNzIgMTQzLjl6TTMyLjIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01MTIgMHoiXX0sTDJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpZ2h0LXRvLWJyYWNrZXQiLGljb246WzUxMiw1MTIsWyJzaWduLWluLWFsdCJdLCJmMmY2IiwiTTM0NSAyNzNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMMjAxIDk1Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzE2MCAxMDIuMyAxNjAgMTEybDAgODAtMTEyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhsMTEyIDAgMCA4MGMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJMMzQ1IDI3M3ptNyAxNDNjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjU2YzAtNTMtNDMtOTYtOTYtOTZsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMHoiXX0saTd0PUwyZSxuN3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2QtY2FyZCIsaWNvbjpbMzg0LDUxMixbXSwiZjdjMiIsIk0zODQgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI1LjMgMEMxMDguMyAwIDkyIDYuNyA4MCAxOC43TDE4LjcgODBDNi43IDkyIDAgMTA4LjMgMCAxMjUuM0wwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NHpNMTYwIDg4bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04OCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04OCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxzN3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTBhIiwiTTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMSAwLTI4OCAxNDQgMTQ0IDAgMSAxIDAgMjg4ek0yNjguNiA2LjVjMTIuMi05LjMgMjkuNy04LjcgNDEuMiAybDIxNy42IDIwMmMtMTAuMi0xLjctMjAuNy0yLjYtMzEuMy0yLjYtNzguNiAwLTE0Ni4xIDQ3LjItMTc1LjggMTE0LjgtNS4xLTEuOC0xMC41LTIuOC0xNi4yLTIuOGwtMzIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5MSAwYzYuMSAxNy4zIDE0LjYgMzMuNCAyNS4xIDQ4TDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNNDk2IDQ0NGEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6bTAtMTQwYy04LjggMC0xNiA3LjItMTYgMTZsMCA4MGMwIDguOCA3LjIgMTYgMTYgMTYgOC44IDAgMTYtNy4yIDE2LTE2bDAtODBjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxyZj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGVrZWwtc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM2MiwiaWxzIiwic2hla2VsIiwic2hlcWVsIiwic2hlcWVsLXNpZ24iXSwiZjIwYiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNTIgMTI4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEwzMiAzMnpNMzIwIDQ4MGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTI4OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTI4IDAgMC0yMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDB6Il19LG83dD1yZixsN3Q9cmYsYzd0PXJmLGQ3dD1yZix1N3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmFkaW8iLGljb246WzUxMiw1MTIsWzEyODI1MV0sImY4ZDciLCJNNDk0LjggMTVjMTIuNy0zLjcgMjAtMTcuMSAxNi4zLTI5LjhTNDk0LTM0LjggNDgxLjMtMzFMNTEuOCA5NC45QzQyLjQgOTcuNiAzMy45IDEwMi4xIDI2LjYgMTA4IDEwLjUgMTE5LjcgMCAxMzguNiAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEwyMTguNSA5NiA0OTQuOCAxNXpNMzY4IDIwOGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNNjQgMjQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDI3MmMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTAgOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggMzY4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sJDJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtZG90cyIsaWNvbjpbNTEyLDUxMixbImFsbGVyZ2llcyJdLCJmNDYxIiwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIwOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI3MmMwIDEuNSAwIDMuMSAuMSA0LjZMNjcuNiAyODNjLTE2LTE1LjItNDEuMy0xNC42LTU2LjYgMS40Uy0zLjYgMzI1LjcgMTIuNCAzNDFMMTI0LjggNDQ4YzQzLjEgNDEuMSAxMDAuNCA2NCAxNjAgNjRsMTkuMiAwYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2bDAtMjA4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTEyYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMjA4ek0yMDAgMzUyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC01NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQwIDg4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bS04OCAyNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LHA3dD0kMmUsRDJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stc2t1bGwiLGljb246WzQ0OCw1MTIsWyJib29rLWRlYWQiXSwiZjZiNyIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMjcyIDE2My4ybDAgMTIuOGMwIDguOC03LjIgMTYtMTYgMTZsLTY0IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTEyLjhjLTE5LjQtMTEuNy0zMi0zMC4zLTMyLTUxLjIgMC0zNS4zIDM1LjgtNjQgODAtNjRzODAgMjguNyA4MCA2NGMwIDIwLjktMTIuNiAzOS41LTMyIDUxLjJ6TTIwOCAxMTJhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem03NC4yIDk1LjdjNC42IDEwLjEgLjEgMjEuOS05LjkgMjYuNWwtNDcuOSAyMS44IDQ3LjkgMjEuOGMxMC4xIDQuNiAxNC41IDE2LjQgOS45IDI2LjVzLTE2LjQgMTQuNS0yNi41IDkuOUwyMjQgMjk0IDE0NC4zIDMzMC4yYy0xMC4xIDQuNi0yMS45IC4xLTI2LjUtOS45cy0uMS0yMS45IDkuOS0yNi41bDQ3LjktMjEuOC00Ny45LTIxLjhjLTEwLjEtNC42LTE0LjUtMTYuNC05LjktMjYuNXMxNi40LTE0LjUgMjYuNS05LjlMMjI0IDI1MCAzMDMuNyAyMTMuOGMxMC4xLTQuNiAyMS45LS4xIDI2LjUgOS45eiJdfSxmN3Q9RDJlLEEyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1bmxvY2sta2V5aG9sZSIsaWNvbjpbMzg0LDUxMixbInVubG9jay1hbHQiXSwiZjEzZSIsIk0xOTIgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjQgMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NGwwLTY0YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4IDYzLjUgMCAxMTYuMSA0Ni4xIDEyNi4yIDEwNi43IDIuOSAxNy40LTguOCAzMy45LTI2LjMgMzYuOXMtMzMuOS04LjgtMzYuOS0yNi4zQzI1MCA1NS4xIDIyMy43IDMyIDE5MiAzMnptNDAgMzI4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDB6Il19LGg3dD1BMmUsRTJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtYXJyb3ctdXAiLGljb246WzM4NCw1MTIsWyJmaWxlLXVwbG9hZCJdLCJmNTc0IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0yMDkgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNjQgNjRjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwyMy0yMyAwIDg2LjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTg2LjEgMjMgMjNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NC02NHoiXX0sbTd0PUUyZSxJMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXRlYXJzIixpY29uOls2NDAsNTEyLFsxMjg1MTQsImdyaW4tdGVhcnMiXSwiZjU4OCIsIk01NTQuOCAyMDMuNGwxNi4zIDIuM0M1NDcuNyA4OC40IDQ0NC4yIDAgMzIwIDBTOTIuMyA4OC40IDY4LjkgMjA1LjdsMTYuMy0yLjNjMzctNS4zIDY4LjYgMjYuNCA2My40IDYzLjRsLTYuNyA0Ni43Yy00LjEgMjktMjEuNiA1My4yLTQ1LjggNjYuOCA0My43IDc4LjUgMTI3LjYgMTMxLjcgMjIzLjggMTMxLjdzMTgwLjEtNTMuMSAyMjMuOC0xMzEuN2MtMjQuMS0xMy41LTQxLjYtMzcuOC00NS44LTY2LjhsLTYuNy00Ni43Yy01LjMtMzcgMjYuNC02OC42IDYzLjQtNjMuNHpNNDcwLjMgMzI2LjlDNDQ3LjkgMzg4LjIgMzg5LjEgNDMyIDMyMCA0MzJTMTkyLjEgMzg4LjIgMTY5LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjF6TTIxMiAyMDhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHptMTg4LTI4Yy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4ek02NDAgMzAwLjZjMC0yNS42LTE4LjgtNDcuMy00NC4xLTUwLjlMNTQ5LjEgMjQzYy0xMC42LTEuNS0xOS42IDcuNS0xOC4xIDE4LjFsNi43IDQ2LjdjMy42IDI1LjMgMjUuMyA0NC4xIDUwLjkgNDQuMSAyOC40IDAgNTEuNC0yMyA1MS40LTUxLjR6bS02NDAgMEMwIDMyOSAyMyAzNTIgNTEuNCAzNTIgNzcgMzUyIDk4LjcgMzMzLjIgMTAyLjMgMzA3LjlsNi43LTQ2LjdjMS41LTEwLjYtNy41LTE5LjYtMTguMS0xOC4xbC00Ni43IDYuN0MxOC44IDI1My4zIDAgMjc1IDAgMzAwLjZ6Il19LGc3dD1JMmUsdmI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuLXRvLXNxdWFyZSIsaWNvbjpbNTEyLDUxMixbImVkaXQiXSwiZjA0NCIsIk00NzEuNiAyMS43Yy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMEwzNjggNDYuMSA0NjUuOSAxNDQgNDkwLjMgMTE5LjZjMjEuOS0yMS45IDIxLjktNTcuMyAwLTc5LjJMNDcxLjYgMjEuN3ptLTI5OS4yIDIyMGMtNi4xIDYuMS0xMC44IDEzLjYtMTMuNSAyMS45bC0yOS42IDg4LjhjLTIuOSA4LjYtLjYgMTguMSA1LjggMjQuNnMxNS45IDguNyAyNC42IDUuOGw4OC44LTI5LjZjOC4yLTIuNyAxNS43LTcuNCAyMS45LTEzLjVMNDMyIDE3Ny45IDMzNC4xIDgwIDE3Mi40IDI0MS43ek05NiA2NEM0MyA2NCAwIDEwNyAwIDE2MEwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiA2NHoiXX0sYjd0PXZiLFAyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXJ0aC1ldXJvcGUiLGljb246WzUxMiw1MTIsWyJnbG9iZS1ldXJvcGUiXSwiZjdhMiIsIk0yNTYuMiA0OGMxMTQuOCAuMSAyMDcuOCA5My4yIDIwNy44IDIwOCAwIDIyLjEtMy40IDQzLjQtOS44IDYzLjQtMiAuNC00LjEgLjYtNi4yIC42bC0yLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTI5LjMtMjkuM2MtNi02LTkuNC0xNC4xLTkuNC0yMi42bDAtNTAuN2MwLTguOCA3LjItMTYgMTYtMTZzMTYtNy4yIDE2LTE2LTcuMi0xNi0xNi0xNmwtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnMtNy4yIDE2LTE2IDE2bC0yNS40IDBjLTEyLjUgMC0yMi42LTEwLjEtMjIuNi0yMi42IDAtNiAyLjQtMTEuOCA2LjYtMTZsNzAuMS03MC4xYzIuMS0yLjEgMy4zLTUgMy4zLTggMC02LjItNS4xLTExLjMtMTEuMy0xMS4zbC0xNC4xIDBjLTEyLjUgMC0yMi42LTEwLjEtMjIuNi0yMi42IDAtNiAyLjQtMTEuOCA2LjYtMTZsMjMuMS0yMy4xYy44LS44IDEuNi0xLjUgMi41LTIuMnpNNDM4LjQgMzU2LjFjLTMyLjggNTkuNi05My45IDEwMS40LTE2NS4yIDEwNy4yLS43LTIuMy0xLjEtNC44LTEuMS03LjMgMC0xMy4zLTEwLjctMjQtMjQtMjRsLTI2LjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTI5LjMtMjkuM2MtNi02LTkuNC0xNC4xLTkuNC0yMi42bDAtNjYuN2MwLTE3LjcgMTQuMy0zMiAzMi0zMmw5OC43IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMjkuMyAyOS4zYzYgNiAxNC4xIDkuNCAyMi42IDkuNGw1LjUgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwxNiAxNmM0LjIgNC4yIDEwIDYuNiAxNiA2LjYgNC44IDAgOS4zIDEuNSAxMyA0LjF6TTI1NiA1MTJsMjYuMi0xLjNjLTguNiAuOS0xNy4zIDEuMy0yNi4yIDEuM3ptMjYuMi0xLjNDNDExLjMgNDk3LjYgNTEyIDM4OC42IDUxMiAyNTYgNTEyIDExNC42IDM5Ny40IDAgMjU2IDBsMCAwQzExNC42IDAgMCAxMTQuNiAwIDI1NiAwIDM4My41IDkzLjIgNDg5LjMgMjE1LjMgNTA4LjggMjI4LjUgNTEwLjkgMjQyLjEgNTEyIDI1NiA1MTJ6TTE4Ny4zIDEyMy4zbC0zMiAzMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzMi0zMmM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LHY3dD1QMmUsTjJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1iZWFtLXN3ZWF0IixpY29uOls1NzYsNTEyLFsxMjg1MTcsImdyaW4tYmVhbS1zd2VhdCJdLCJmNTgzIiwiTTU0Ni4yLS4xYzE0LjcgMTcuOCAyOS44IDQwLjEgMjkuOCA2NC4xIDAgMzYuNC0yNy42IDY0LTY0IDY0cy02NC0yNy42LTY0LTY0YzAtMjQgMTUuMi00Ni4zIDI5LjgtNjQuMSA4LjgtMTAuNyAxOC41LTIwLjggMjktMzAgMy0yLjYgNy40LTIuNiAxMC40IDAgMTAuNSA5LjEgMjAuMSAxOS4zIDI5IDMwek0yODggMGM0Mi41IDAgODIuNiAxMC40IDExNy44IDI4LjctMy42IDEwLjktNS44IDIyLjctNS44IDM1LjMgMCA2Mi45IDQ5LjEgMTEyIDExMiAxMTIgNi40IDAgMTIuNy0uNSAxOC44LTEuNSA4LjYgMjUuNiAxMy4yIDUzIDEzLjIgODEuNSAwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2UzMyIDM5Ny40IDMyIDI1NiAxNDYuNiAwIDI4OCAwek00MTguNyAzMDguOUMzNzkuNSAzMjEuMSAzMzUuMSAzMjggMjg4IDMyOHMtOTEuNS02LjktMTMwLjctMTkuMWMtMTEuOS0zLjctMjMuOSA2LjMtMTkuNiAxOC4xIDIyLjQgNjEuMyA4MS4zIDEwNS4xIDE1MC4zIDEwNS4xczEyNy45LTQzLjggMTUwLjMtMTA1LjFjNC4zLTExLjgtNy43LTIxLjgtMTkuNi0xOC4xek0yMDggMTgwYzE1LjUgMCAyOCAxMi41IDI4IDI4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTE1LjUgMTIuNS0yOCAyOC0yOHptMTMyIDI4YzAtMTUuNSAxMi41LTI4IDI4LTI4czI4IDEyLjUgMjggMjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTM3LjYtMzAuNC02OC02OC02OHMtNjggMzAuNC02OCA2OGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04eiJdfSx4N3Q9TjJlLEYyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtaGFsZi1zdHJva2UiLGljb246WzUxMiw1MTIsWzk2ODAsImFkanVzdCJdLCJmMDQyIiwiTTQ0OCAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJsMCAzODRjMTA2IDAgMTkyLTg2IDE5Mi0xOTJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LHk3dD1GMmUsdzd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1taWxpdGFyeS10by1wZXJzb24iLGljb246WzUxMiw1MTIsW10sImU1NGMiLCJNNzEgMTIuNWMtOC42IDEtMTUgOC4yLTE1IDE2LjggMCA5LjMgNy41IDE2LjggMTYuNyAxNi45bDExMS40IDBjOC44LS4xIDE1LjktNy4yIDE1LjktMTZMMjAwIDE2YzAtOS41LTguMy0xNy0xNy44LTE1LjlMNzEgMTIuNXpNMTg5LjUgNzguMWwtMTIyLjkgMGMtMS42IDUuNy0yLjUgMTEuNy0yLjUgMTcuOSAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0YzAtNi4yLS45LTEyLjItMi41LTE3Ljl6TTMyIDI1NmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzEuOCAwIDMuNS0uMSA1LjItLjRMNTMgMjA4LjZDNDAuMSAyMjAuMyAzMiAyMzcuMiAzMiAyNTZ6bTE5MC4yIDQyLjVjMS4xLTMuMyAxLjgtNi44IDEuOC0xMC41bDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDBjLTMuNyAwLTcuNCAuMy0xMC45IC45TDIyMi4yIDI5OC41ek0zODQgMTYwYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4em0tMzIgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMHpNMjE1LjggNDUwLjFjNS4yLTQuNiA4LjItMTEuMSA4LjItMTguMXMtMy0xMy41LTguMi0xOC4xbC02NC01NmMtNy4xLTYuMi0xNy4xLTcuNy0yNS43LTMuOFMxMTIgMzY2LjYgMTEyIDM3NmwwIDMyLTg4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODggMCAwIDMyYzAgOS40IDUuNSAxOCAxNC4xIDIxLjlzMTguNiAyLjQgMjUuNy0zLjhsNjQtNTZ6TTI4OCA0MzEuOWMwIDYuOSAzIDEzLjUgOC4xIDE4LjFsNjQgNTYuNGM3LjEgNi4yIDE3LjEgNy44IDI1LjcgMy45UzQwMCA0OTcuOCA0MDAgNDg4LjRsMC0zMi40IDg4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg4IDAgMC0zMmMwLTkuNC01LjUtMTgtMTQuMS0yMS45cy0xOC42LTIuNC0yNS43IDMuOGwtNjQgNTZjLTUuMiA0LjUtOC4yIDExLjEtOC4yIDE4eiJdfSxNN3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY2VsbHMtY29sdW1uLWxvY2siLGljb246WzY0MCw1MTIsW10sImU2NzgiLCJNMjU2IDIyNGwwIDE5MiA2NCAwIDAtMTkyLTY0IDB6bTI1Ni03OWMtNDYuNyA1LjgtODUuNiAzNi44LTEwMi43IDc5bC0yNS4zIDAgMCA5MC44Yy0xMC4xIDE1LjItMTYgMzMuNC0xNiA1My4xbDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUwxMjggNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEw2NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDQ5ek0xMjggMjI0bDAgMTkyIDY0IDAgMC0xOTItNjQgMHptNDMyIDQ4LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek00MTYgMzY4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxrN3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stZmllbGQtdW4iLGljb246WzY0MCw1MTIsW10sImU1OGUiLCJNOTYgMzJDNjAuNyAzMiAzMiA2MC43IDMyIDk2bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMCA0OGMwIDIxLjEgMTMuNyAzOS4xIDMyLjYgNDUuNS0uNCAzLjQtLjYgNy0uNiAxMC41IDAgNDguNiAzOS40IDg4IDg4IDg4czg4LTM5LjQgODgtODhjMC0yLjctLjEtNS40LS40LThsMTQ0LjcgMGMtLjIgMi42LS40IDUuMy0uNCA4IDAgNDguNiAzOS40IDg4IDg4IDg4czg4LTM5LjQgODgtODhjMC0yLjctLjEtNS40LS40LThsLjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yNC43IDAtMS43LTQuMi00My44LTEwNi4zYy0xMi4zLTMwLTQxLjYtNDkuNS03NC00OS41bC00MC40IDBDMzY0LjQgNDQuOSAzNDMuNyAzMiAzMjAgMzJMOTYgMzJ6TTM4NCAyMjRsMC05NiAzMS45IDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlsMzUuNCA4Ni4xLTgyLjEgMHpNMTUyIDM1MmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTI4MCA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0yNTYuNiAxMzIuOWwyNy40IDQxIDAtMjkuOWMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDk2YzAgOC44LTUuOCAxNi42LTE0LjIgMTkuMXMtMTcuNS0uNy0yMi40LThsLTI3LjQtNDEgMCAyOS45YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTk2YzAtOC44IDUuOC0xNi42IDE0LjItMTkuMXMxNy41IC43IDIyLjQgOHpNMTMyIDE0NGwwIDY0YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC02NGMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDY0YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtNjRjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjB6Il19LE8yZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9jayIsaWNvbjpbNTEyLDUxMixbMTI4MzM5LCJjbG9jay1mb3VyIl0sImYwMTciLCJNMjU2IDBhMjU2IDI1NiAwIDEgMSAwIDUxMiAyNTYgMjU2IDAgMSAxIDAtNTEyek0yMzIgMTIwbDAgMTM2YzAgOCA0IDE1LjUgMTAuNyAyMGw5NiA2NGMxMSA3LjQgMjUuOSA0LjQgMzMuMy02LjdzNC40LTI1LjktNi43LTMzLjNMMjgwIDI0My4yIDI4MCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6Il19LFM3dD1PMmUsejd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2siLGljb246WzQ0OCw1MTIsWzEyODIxMl0sImYwMmQiLCJNMzg0IDUxMkw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NkMwIDQzIDQzIDAgOTYgMEw0MDAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI4OGMwIDIwLjktMTMuNCAzOC43LTMyIDQ1LjNsMCA2Ni43YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwek05NiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDAgMC02NC0yNTYgMHptMzItMjMyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTI0IDcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMHoiXX0sUjJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbGF1Z2gtd2luayIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXdpbmsiXSwiZjU5YyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTAxLjYgMzE0Yy0zLjctMTMuNyA3LjUtMjYgMjEuNy0yNmwyNjUuNCAwYzE0LjIgMCAyNS40IDEyLjMgMjEuNyAyNi0xOC41IDY4LTgwLjYgMTE4LTE1NC40IDExOFMxMjAgMzgyIDEwMS42IDMxNHpNMTQ0IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxDN3Q9UjJlLFQ3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1tZWF0YmFsbCIsaWNvbjpbNTEyLDUxMixbXSwiZjczYiIsIk0wIDIyNGMwIDUzIDQzIDk2IDk2IDk2bDI2LjkgMGMzLjUtMTIuMSAxMC4xLTIzLjMgMTkuMi0zMi40bDEuNC0xLjRjMTUtMTUgMzUuMy0yMi45IDU2LjEtMjIuMiAxNC4yLTE1LjEgMzQuMi0yMy45IDU1LjQtMjMuOWwyIDBjMjEuMSAwIDQxLjEgOC44IDU1LjQgMjMuOSAyMC44LS42IDQxLjEgNy4zIDU2LjEgMjIuMmwxLjQgMS40YzkuMiA5LjIgMTUuNyAyMC40IDE5LjIgMzIuNGwyNi45IDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLS41IDAtMS4xIDAtMS42IDAgMS4xLTUuMiAxLjYtMTAuNSAxLjYtMTYgMC00NC4yLTM1LjgtODAtODAtODAtMjQuMyAwLTQ2LjEgMTAuOS02MC44IDI4LTE4LjctMzUuNy01Ni4xLTYwLTk5LjItNjAtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCA3LjEgLjcgMTQuMSAxLjkgMjAuOC0zOC4zIDEyLjYtNjUuOSA0OC43LTY1LjkgOTEuMnpNMTU2LjUgNDI0LjNjOS41IDYuMyAxNC4yIDE3LjcgMTEuOSAyOC44LTEuOCA5LjIgMSAxOC43IDcuNyAyNS4zbDEuNCAxLjRjNi42IDYuNiAxNi4xIDkuNSAyNS4zIDcuNyAxMS4xLTIuMiAyMi41IDIuNSAyOC44IDExLjkgNS4yIDcuOCAxNCAxMi41IDIzLjMgMTIuNWwyIDBjOS40IDAgMTguMS00LjcgMjMuMy0xMi41IDYuMy05LjUgMTcuNy0xNC4yIDI4LjgtMTEuOSA5LjIgMS44IDE4LjctMSAyNS4zLTcuN2wxLjQtMS40YzYuNi02LjYgOS41LTE2LjEgNy43LTI1LjMtMi4yLTExLjEgMi41LTIyLjUgMTEuOS0yOC44IDcuOC01LjIgMTIuNS0xNCAxMi41LTIzLjNsMC0yYzAtOS40LTQuNy0xOC4xLTEyLjUtMjMuMy05LjUtNi4zLTE0LjItMTcuNy0xMS45LTI4LjggMS44LTkuMi0xLTE4LjctNy43LTI1LjNsLTEuNC0xLjRjLTYuNi02LjYtMTYuMS05LjUtMjUuMy03LjctMTEuMSAyLjItMjIuNS0yLjUtMjguOC0xMS45LTUuMi03LjgtMTQtMTIuNS0yMy4zLTEyLjVsLTIgMGMtOS40IDAtMTguMSA0LjctMjMuMyAxMi41LTYuMyA5LjUtMTcuNyAxNC4yLTI4LjggMTEuOS05LjItMS44LTE4LjcgMS0yNS4zIDcuN2wtMS40IDEuNGMtNi42IDYuNi05LjUgMTYuMS03LjcgMjUuMyAyLjIgMTEuMS0yLjUgMjIuNS0xMS45IDI4LjgtNy44IDUuMi0xMi41IDE0LTEyLjUgMjMuM2wwIDJjMCA5LjQgNC43IDE4LjEgMTIuNSAyMy4zek00OCA0NDhhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em00MTYgMGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LEIyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1hcmVhIixpY29uOls1MTIsNTEyLFsiYXJlYS1jaGFydCJdLCJmMWZlIiwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzM2YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw4MCA0ODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6TTI0MCA5NmM2LjcgMCAxMy4xIDIuOCAxNy43IDcuOEwzMjguOCAxODEuMyAzNzUgMTM1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzQuNSA0LjUgNyAxMC42IDcgMTdsMCAxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTMwNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTExMmMwLTYgMi4zLTExLjggNi4zLTE2LjJsODgtOTZjNC41LTUgMTEtNy44IDE3LjctNy44eiJdfSxfN3Q9QjJlLEw3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydXBpYWgtc2lnbiIsaWNvbjpbNTEyLDUxMixbXSwiZTIzZCIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDgwIDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA1NC4zLTMwIDEwMS41LTc0LjQgMTI2LjFsNDEgMTM2LjdjNS4xIDE2LjktNC41IDM0LjgtMjEuNSAzOS44cy0zNC44LTQuNS0zOS44LTIxLjVMMTIwLjEgMzE5LjhjLTIuNyAuMS01LjQgLjItOC4xIC4ybC00OCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDAgMCAxNjB6bTI1Ni0zMmw4MCAwYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyUzQ2MS45IDQ0OCA0MDAgNDQ4bC00OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTgwIDE2MGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGwtNDggMCAwIDk2IDQ4IDB6Il19LCQ3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZXh0LXdpZHRoIixpY29uOls0NDgsNTEyLFtdLCJmMDM1IiwiTTQwIDBDMTcuOSAwIDAgMTcuOSAwIDQwTDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDEyOCAwIDAgMTYwLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0xNjAgMTI4IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNTZjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgMHptNzguNiA0MDYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjQgMjI5LjUgMC05LjQgOS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNC0yMjkuNSAwIDkuNC05LjR6Il19LEQ3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzYXRlbGxpdGUiLGljb246WzUxMiw1MTIsWzEyODc1Ml0sImY3YmYiLCJNMTk5IDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsODkuNCA4OS40IDU1LTU1YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDQ4IDQ4YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC01NSA1NSA4OS40IDg5LjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTk2IDk2Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtODkuNC04OS40LTE1LjUgMTUuNWMxMS40IDI0LjYgMTcuOCA1MiAxNy44IDgwLjkgMCAzMS43LTcuNyA2MS41LTIxLjIgODcuOC00LjcgOS0xNi43IDEwLjMtMjMuOCAzLjFsLTk2LjMtOTYuMy02MCA2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNjAtNjAtOTYuMy05Ni4zYy03LjItNy4yLTUuOS0xOS4yIDMuMS0yMy44IDI2LjMtMTMuNiA1Ni4yLTIxLjIgODcuOC0yMS4yIDI4LjkgMCA1Ni4zIDYuNCA4MC45IDE3LjhMMTkyLjQgMjI2LjMgMTAzIDEzN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMMTk5IDd6bTE3IDUwLjlsLTYyLjEgNjIuMSA3Mi40IDcyLjQgNjIuMS02Mi4xLTcyLjQtNzIuNHpNMzkyIDM1OC4xbDYyLjEtNjIuMS03Mi40LTcyLjQtNjIuMSA2Mi4xIDcyLjQgNzIuNHoiXX0sSDJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtbWludXMiLGljb246WzUxMiw1MTIsWyJzZWFyY2gtbWludXMiXSwiZjAxMCIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTEzNiAxODRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxBN3Q9SDJlLEU3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtZ3JvdXAiLGljb246WzUxMiw1MTIsW10sImU1MzMiLCJNMjU2IDBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTk2IDMxMmMwIDI1LTEyLjcgNDctMzIgNTkuOWwwIDkyLjFjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTIuMUMxNzIuNyAzNTkgMTYwIDMzNyAxNjAgMzEybDAtNDBjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDQwek05NiAzMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptMTYgMjQwbDAgMzJjMCAzMi41IDEyLjEgNjIuMSAzMiA4NC43bDAgNzUuM2MwIDEuMiAwIDIuNSAuMSAzLjctOC41IDcuNi0xOS43IDEyLjMtMzIuMSAxMi4zbC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTU2LjZDMTIuOSAzNjQuNCAwIDM0My43IDAgMzIwbDAtMzJjMC01MyA0My05NiA5Ni05NiAxMi43IDAgMjQuOCAyLjUgMzUuOSA2LjktMTIuNiAyMS40LTE5LjkgNDYuNC0xOS45IDczLjF6TTM2OCA0NjRsMC03NS4zYzE5LjktMjIuNSAzMi01Mi4yIDMyLTg0LjdsMC0zMmMwLTI2LjctNy4zLTUxLjYtMTkuOS03My4xIDExLjEtNC41IDIzLjItNi45IDM1LjktNi45IDUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCA1Ni42YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0xMi4zIDAtMjMuNi00LjYtMzIuMS0xMi4zIDAtMS4yIC4xLTIuNSAuMS0zLjd6TTQxNiAzMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnoiXX0sSTd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1iaW5hcnkiLGljb246WzQ0OCw1MTIsW10sImU2OWIiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE0NCA0Yy0yNC4zIDAtNDQgMTkuNy00NCA0NGwwIDQ4YzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDMyIDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC00OGMwLTI0LjMtMTkuNy00NC00NC00NGwtMzIgMHptLTQgNDRjMC0yLjIgMS44LTQgNC00bDMyIDBjMi4yIDAgNCAxLjggNCA0bDAgNDhjMCAyLjItMS44IDQtNCA0bC0zMiAwYy0yLjIgMC00LTEuOC00LTRsMC00OHptMTQwLTQ0Yy0xMSAwLTIwIDktMjAgMjAgMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDc2LjRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC05NmMwLTExLTktMjAtMjAtMjBsLTE2IDB6TTEzMiAyOTZjMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDc2LjRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC05NmMwLTExLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHptOTYgMjRsMCA0OGMwIDI0LjMgMTkuNyA0NCA0NCA0NGwzMiAwYzI0LjMgMCA0NC0xOS43IDQ0LTQ0bDAtNDhjMC0yNC4zLTE5LjctNDQtNDQtNDRsLTMyIDBjLTI0LjMgMC00NCAxOS43LTQ0IDQ0em00NC00bDMyIDBjMi4yIDAgNCAxLjggNCA0bDAgNDhjMCAyLjItMS44IDQtNCA0bC0zMiAwYy0yLjIgMC00LTEuOC00LTRsMC00OGMwLTIuMiAxLjgtNCA0LTR6Il19LHEyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXNrcy10aGVhdGVyIixpY29uOls1NzYsNTEyLFsxMjc5MTcsInRoZWF0ZXItbWFza3MiXSwiZjYzMCIsIk0tNSAxMThMMjMuNSAyNzkuN2MxNCA3OS41IDc2LjMgMTQxLjggMTU1LjggMTU1LjhsMTIuNyAyLjJjLTE2LjUtMjguNi0yNy4xLTYwLjctMzAuNi05NC41bC0yNC4xIDQuM2MtOS43IDEuNy0xOC44LTUuOC0xNi45LTE1LjUgNC44LTI0LjcgMTkuMS00Ni42IDM5LjctNjAuOWwwLTc0LjZjLTEuNCAuOC0zIDEuMy00LjcgMS42bC02MyAxMS4xYy04LjcgMS41LTE3LjMtNC40LTE1LjktMTMuMSAzLjEtMTkuNiAxOC40LTM2IDM5LjEtMzkuNyAxNy4yLTMgMzMuOSAzLjUgNDQuNiAxNS44bDAtMjIuN2MwLTIyLjUgNi45LTUyLjQgMzIuMy03My40IDI2LTIxLjUgNjcuNy00My45IDEyNC45LTU0LjItMzAuNS0xNi4zLTg2LjMtMzItMTYzLjgtMTguNC04MC4zIDE0LjItMTI4IDUwLjEtMTUwLjEgNzYuMS05IDEwLjUtMTAuOCAyNC45LTguNCAzOC41ek0yMDggMTM4LjdsMCAxNzQuOGMwIDgwLjcgNTAuNSAxNTIuOSAxMjYuNCAxODAuNEwzNjIuMSA1MDRjMTQuMSA1LjEgMjkuNiA1LjEgNDMuNyAwTDQzMy42IDQ5NEM1MDkuNSA0NjYuNCA1NjAgMzk0LjMgNTYwIDMxMy41bDAtMTc0LjhjMC02LjktMi4xLTEzLjgtNy0xOC42LTIyLjYtMjIuNS03OC4yLTU2LTE2OS01NnMtMTQ2LjQgMzMuNi0xNjkgNTZjLTQuOSA0LjktNyAxMS43LTcgMTguNnptNjYuMSAxODcuMWMtMS40LTcgNy0xMSAxMi43LTYuNiAyNi45IDIwLjYgNjAuNiAzMi45IDk3LjIgMzIuOXM3MC4yLTEyLjMgOTcuMi0zMi45YzUuNy00LjQgMTQuMS0uNCAxMi43IDYuNi0xMC4xIDUxLjQtNTUuNSA5MC4zLTEwOS45IDkwLjNzLTk5LjgtMzguOC0xMDkuOS05MC4zem0uNS0xMDEuNUMyODEuMiAyMDUuNSAyOTkgMTkyIDMyMCAxOTJzMzguOSAxMy41IDQ1LjQgMzIuM2MyLjkgOC40LTQuNSAxNS43LTEzLjQgMTUuN2wtNjQgMGMtOC44IDAtMTYuMy03LjQtMTMuNC0xNS43ek00ODAgMjQwbC02NCAwYy04LjggMC0xNi4zLTcuNC0xMy40LTE1LjcgNi41LTE4LjggMjQuNC0zMi4zIDQ1LjQtMzIuM3MzOC45IDEzLjUgNDUuNCAzMi4zYzIuOSA4LjQtNC41IDE1LjctMTMuNCAxNS43eiJdfSxQN3Q9cTJlLE43dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJ0LXBsdXMiLGljb246WzY0MCw1MTIsW10sImYyMTciLCJNMCA4QzAtNS4zIDEwLjctMTYgMjQtMTZsNDUuMyAwYzI3LjEgMCA1MC4zIDE5LjQgNTUuMSA0NmwuNCAyIDQxMi43IDBjMjAgMCAzNS4xIDE4LjIgMzEuNCAzNy45TDUzNy44IDIzNS44Yy01LjcgMzAuMy0zMi4xIDUyLjItNjIuOSA1Mi4ybC0zMDMuNiAwIDUuMSAyOC4zYzIuMSAxMS40IDEyIDE5LjcgMjMuNiAxOS43TDQ1NiAzMzZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI1NS45IDBjLTM0LjggMC02NC42LTI0LjktNzAuOC01OS4xTDc3LjIgMzguNmMtLjctMy44LTQtNi42LTcuOS02LjZMMjQgMzJDMTAuNyAzMiAwIDIxLjMgMCA4ek0xNjAgNDY0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTIyNCAwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTMzNiA3OC40Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMzLjYtMzMuNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzLjYgMCAwIDMzLjZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMzLjYgMzMuNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMy42IDAgMC0zMy42YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxLZz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1hc2wtaW50ZXJwcmV0aW5nIixpY29uOls2NDAsNTEyLFsiYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmciLCJhc2wtaW50ZXJwcmV0aW5nIiwiaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmciXSwiZjJhMyIsIk0xNTYuNiA0Ni4zYzcuOS0xNS44IDEuNS0zNS0xNC4zLTQyLjlzLTM1LTEuNS00Mi45IDE0LjNMMTMuNSAxODkuNEM0LjYgMjA3LjIgMCAyMjYuOCAwIDI0Ni43TDAgMjU2YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDgwIDAgMC0uM2MzNS4yLTIuNyA2NS40LTIyLjggODIuMS01MS43IDguOC0xNS4zIDMuNi0zNC45LTExLjctNDMuN3MtMzQuOS0zLjYtNDMuNyAxMS43Yy03IDEyLTE5LjkgMjAtMzQuNyAyMC0yMi4xIDAtNDAtMTcuOS00MC00MHMxNy45LTQwIDQwLTQwYzE0LjggMCAyNy43IDggMzQuNyAyMCA4LjggMTUuMyAyOC40IDIwLjUgNDMuNyAxMS43czIwLjUtMjguNCAxMS43LTQzLjdjLTEyLjgtMjIuMS0zMy42LTM5LjEtNTguNC00Ny4xbDgwLjgtMjJjMTctNC42IDI3LjEtMjIuMiAyMi41LTM5LjNzLTIyLjItMjcuMS0zOS4zLTIyLjVsLTEwMC43IDI3LjUgODEuNi02OGMxMy42LTExLjMgMTUuNC0zMS41IDQuMS00NS4xUzI0OS4xLTMuOSAyMzUuNSA3LjRsLTEwMS45IDg0LjkgMjMtNDZ6TTQ4My40IDQ2NS43Yy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsODUuOS0xNzEuN2M4LjktMTcuOCAxMy41LTM3LjQgMTMuNS01Ny4ybDAtOS4zYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC04MCAwIDAgLjNjLTM1LjIgMi43LTY1LjQgMjIuOC04Mi4xIDUxLjctOC45IDE1LjMtMy42IDM0LjkgMTEuNyA0My43czM0LjkgMy42IDQzLjctMTEuN2M3LTEyIDE5LjktMjAgMzQuNy0yMCAyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGMtMTQuOCAwLTI3LjctOC0zNC43LTIwLTguOS0xNS4zLTI4LjQtMjAuNS00My43LTExLjdzLTIwLjUgMjguNC0xMS43IDQzLjdjMTIuOCAyMi4xIDMzLjYgMzkuMSA1OC40IDQ3LjFsLTgwLjggMjJjLTE3LjEgNC42LTI3LjEgMjIuMi0yMi41IDM5LjNzMjIuMiAyNy4xIDM5LjMgMjIuNWwxMDAuNy0yNy41LTgxLjYgNjhjLTEzLjYgMTEuMy0xNS40IDMxLjUtNC4xIDQ1LjFzMzEuNSAxNS40IDQ1LjEgNC4xbDEwMS45LTg0LjktMjMgNDZ6Il19LEY3dD1LZyxPN3Q9S2csUjd0PUtnLEI3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jZWxscy1yb3ctdW5sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNjkxIiwiTTI1NiAyMjRsMCAxOTIgNjQgMCAwLTE5Mi02NCAwem0yNTYtNzljLTQ2LjcgNS44LTg1LjYgMzYuOC0xMDIuNyA3OWwtMjUuMyAwIDAgOTAuOGMtMTAuMSAxNS4yLTE2IDMzLjQtMTYgNTMuMWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMMTI4IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMNjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OXpNMTI4IDIyNGwwIDE5MiA2NCAwIDAtMTkyLTY0IDB6bTQzMiA0OGMtLjEtMTcuNi0xNC40LTMxLjktMzItMzEuOS0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwIDQ0LjIgMCA3OS45IDM1LjggODAgNzkuOWwtNDggMHoiXX0sSDd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvY2tldCIsaWNvbjpbNTEyLDUxMixbXSwiZjEzNSIsIk0xMjggMzIwTDI0LjUgMzIwYy0yNC45IDAtNDAuMi0yNy4xLTI3LjQtNDguNUw1MCAxODMuM0M1OC43IDE2OC44IDc0LjMgMTYwIDkxLjIgMTYwbDk1IDBjNzYuMS0xMjguOSAxODkuNi0xMzUuNCAyNjUuNS0xMjQuMyAxMi44IDEuOSAyMi44IDExLjkgMjQuNiAyNC42IDExLjEgNzUuOSA0LjYgMTg5LjQtMTI0LjMgMjY1LjVsMCA5NWMwIDE2LjktOC44IDMyLjUtMjMuMyA0MS4ybC04OC4yIDUyLjljLTIxLjMgMTIuOC00OC41LTIuNi00OC41LTI3LjRMMTkyIDM4NGMwLTM1LjMtMjguNy02NC02NC02NGwtLjEgMHpNNDAwIDE2MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxxN3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hyaW1wIixpY29uOls1MTIsNTEyLFsxMjk0MjRdLCJlNDQ4IiwiTTcyIDMyQzMyLjIgMzIgMCA2NC4yIDAgMTA0IDAgMTQxLjkgMjkuMyAxNzIuOSA2Ni40IDE3NS44IDc3LjYgMjU3LjIgMTQ3LjQgMzIwIDIzMiAzMjBsNTYgMCAwLTE5Mi0yMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTNTguNyA4MCA3MiA4MGwzODQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw3MiAzMnpNMjI0IDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw3MiAwIDAtNzIuMi02NC4xLTIyLjRjLTEyLjUtNC40LTI2LjIgMi4yLTMwLjYgMTQuN3MyLjIgMjYuMiAxNC43IDMwLjZsNC41IDEuNkMyMzMgNDMzLjkgMjI0IDQ0My45IDIyNCA0NTZ6bTEyOCAyMy4zYzM2LjQtMy4zIDY5LjUtMTcuNiA5Ni4xLTM5LjZsLTg2LjUtMzQuNmMtMyAxLjgtNi4yIDMuMi05LjYgNC4zbDAgNjkuOXpNNDcyLjYgNDE1YzI0LjYtMzAuMyAzOS40LTY4LjkgMzkuNC0xMTEgMC0xMi4zLTEuMy0yNC4zLTMuNy0zNS45TDM4Mi44IDM1NS4xYy44IDMuNCAxLjIgNyAxLjIgMTAuNiAwIDQuNi0uNyA5LTEuOSAxMy4xTDQ3Mi42IDQxNXpNMzM2IDEyOGwtMTYgMCAwIDE5MiAxOC4zIDBjOS45IDAgMTkuMSAzLjIgMjYuNiA4LjVsMTMzLjUtOTIuNEM0NzEuOCAxNzIuNiA0MDkuMSAxMjggMzM2IDEyOHpNMTY4IDE5MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxqMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVuZ2Utc2lnbiIsaWNvbjpbMzg0LDUxMixbODM3NiwidGVuZ2UiXSwiZjdkNyIsIk0wIDU2QzAgNDIuNyAxMC43IDMyIDI0IDMybDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDgwQzEwLjcgODAgMCA2OS4zIDAgNTZ6TTAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMCAwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI1Ni0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGo3dD1qMmUsVjJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXktbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbImNsaW5pYy1tZWRpY2FsIl0sImY3ZjIiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6TTIyNCAyNDhsMCA0MC00MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMCAwIDQwYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQwIDQwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC00MCAwIDAtNDBjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LFY3dD1WMmUsVTd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLXNsYXNoIixpY29uOls2NDAsNTEyLFtdLCJlMDczIiwiTTczLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUzI5LjctLjMgMzkgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDMyMS44IDIyNGM1Ni42LTEgMTAyLjItNDcuMiAxMDIuMi0xMDQgMC01Ny40LTQ2LjYtMTA0LTEwNC0xMDQtNTYuOCAwLTEwMyA0NS42LTEwNCAxMDIuMkw3My0yNC45ek01MTIgMjg4Yy0xNy4yIDAtMzMuNyAzLjQtNDguNyA5LjZsMTcwIDE3MGM0LjItNS40IDYuNy0xMi4yIDYuNy0xOS42bDAtMzJjMC03MC43LTU3LjMtMTI4LTEyOC0xMjh6TTU5LjkgOTcuN2MtMjEuNSAxMi41LTM1LjkgMzUuNy0zNS45IDYyLjMgMCAzOS44IDMyLjIgNzIgNzIgNzIgMjYuNiAwIDQ5LjgtMTQuNCA2Mi4zLTM1LjlMNTkuOSA5Ny43ek0yNTAuMiAyODhDMTk2LjggMzEzLjkgMTYwIDM2OC43IDE2MCA0MzJsMCAxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNTAuMiAwLTE5Mi0xOTJ6TTEyOCAyODhDNTcuMyAyODggMCAzNDUuMyAwIDQxNmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDg2LjcgMGMtNC4zLTkuOC02LjctMjAuNi02LjctMzJsMC0xNmMwLTUzLjIgMjAtMTAxLjggNTIuOS0xMzguNi0xMS43LTMuNS0yNC4xLTUuNC0zNi45LTUuNHpNNjE2IDE2MGE3MiA3MiAwIDEgMCAtMTQ0IDAgNzIgNzIgMCAxIDAgMTQ0IDB6Il19LFc3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYXBlci1wbGFuZSIsaWNvbjpbNTc2LDUxMixbNjE5MTNdLCJmMWQ4IiwiTTUzNi40LTI2LjNjOS44LTMuNSAyMC42LTEgMjggNi4zczkuOCAxOC4yIDYuMyAyOGwtMTc4IDQ5Ni45Yy01IDEzLjktMTguMSAyMy4xLTMyLjggMjMuMS0xNC4yIDAtMjctOC42LTMyLjMtMjEuN2wtNjQuMi0xNThjLTQuNS0xMS0yLjUtMjMuNiA1LjItMzIuNmw5NC41LTExMi40YzUuMS02LjEgNC43LTE1LS45LTIwLjZzLTE0LjYtNi0yMC42LS45TDIyOS4yIDI3Ni4xYy05LjEgNy42LTIxLjYgOS42LTMyLjYgNS4yTDM4LjEgMjE2LjhjLTEzLjEtNS4zLTIxLjctMTguMS0yMS43LTMyLjMgMC0xNC43IDkuMi0yNy44IDIzLjEtMzIuOGw0OTYuOS0xNzh6Il19LFUyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLWF0bGFzIixpY29uOls0NDgsNTEyLFsiYXRsYXMiXSwiZjU1OCIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMzEwLjYgMjA4TDI3OSAyMDhjLTEuNCAyMy4xLTYgNDQuMi0xMi42IDYxLjIgMjIuNy0xMi41IDM5LjQtMzQuOCA0NC4yLTYxLjJ6bS0xNzMuMSAwYzQuOCAyNi40IDIxLjUgNDguNyA0NC4yIDYxLjItNi43LTE3LTExLjItMzgtMTIuNi02MS4ybC0zMS42IDB6bTc2LjQgNTVjNC41IDkuNiA4LjIgMTMuOCAxMC4yIDE1LjUgMi0xLjcgNS43LTUuOCAxMC4yLTE1LjUgNi4yLTEzLjQgMTEuMS0zMi41IDEyLjctNTVsLTQ1LjggMGMxLjYgMjIuNSA2LjUgNDEuNiAxMi43IDU1em0tMTIuNy04N2w0NS44IDBjLTEuNi0yMi41LTYuNS00MS42LTEyLjctNTUtNC41LTkuNi04LjItMTMuOC0xMC4yLTE1LjUtMiAxLjctNS43IDUuOC0xMC4yIDE1LjUtNi4yIDEzLjQtMTEuMSAzMi41LTEyLjcgNTV6bTEwOS41IDBjLTQuOC0yNi40LTIxLjUtNDguNy00NC4yLTYxLjIgNi43IDE3IDExLjIgMzggMTIuNiA2MS4ybDMxLjYgMHpNMTY5IDE3NmMxLjQtMjMuMSA2LTQ0LjIgMTIuNi02MS4yLTIyLjcgMTIuNS0zOS40IDM0LjgtNDQuMiA2MS4ybDMxLjYgMHpNOTYgMTkyYTEyOCAxMjggMCAxIDEgMjU2IDAgMTI4IDEyOCAwIDEgMSAtMjU2IDB6Il19LEc3dD1VMmUsWTd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlIixpY29uOls0NDgsNTEyLFtdLCJmMGNlIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIwIDAtNi41LS4zQzI1LjIgNDc2LjQgMCA0NDkuMSAwIDQxNkwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek02NCAzMjBsMCA5NiAxMjggMCAwLTk2LTEyOCAwem0xOTIgMGwwIDk2IDEyOCAwIDAtOTYtMTI4IDB6TTY0IDI1NmwxMjggMCAwLTk2LTEyOCAwIDAgOTZ6bTE5MiAwbDEyOCAwIDAtOTYtMTI4IDAgMCA5NnoiXX0sWjd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0IixpY29uOls1MTIsNTEyLFsxMjgxNTMsMTI4MTU0LDEyODE1NSwxMjgxNTYsMTI4NDIwLDEyOTI5MywxMjkyOTQsMTI5NTA1LDk4MjksMTAwODQsNjE1NzhdLCJmMDA0IiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxMTIuMi0xMzkuOSAyNDIuNS0yMTIuOSAyOTguMi0xMi40IDkuNC0yNy42IDE0LjEtNDMuMSAxNC4xcy0zMC44LTQuNi00My4xLTE0LjFDMTM5LjkgNDEwLjIgMCAyNzkuOSAwIDE2Ny43bDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xeiJdfSxXMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWNoZXZyb24tdXAiLGljb246WzUxMiw1MTIsWyJjaGV2cm9uLWNpcmNsZS11cCJdLCJmMTM5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zNzcgMjcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTg3LTg3LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIzOSAxNjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMzc3IDI3MXoiXX0sWDd0PVcyZSxHMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1oYWxmIixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS0zIl0sImYyNDIiLCJNNTI4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC00MTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0MTYgMHpNMTEyIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIyNGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MEwxMTIgNjR6bTU2IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxRN3Q9RzJlLHFEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbnQtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbNjI1MDEsNjI2OTQsImZvbnQtYXdlc29tZS1mbGFnIiwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbCJdLCJmMmI0IiwiTTkxLjcgOTZDMTA2LjMgODYuOCAxMTYgNzAuNSAxMTYgNTIgMTE2IDIzLjMgOTIuNyAwIDY0IDBTMTIgMjMuMyAxMiA1MmMwIDE2LjcgNy44IDMxLjUgMjAgNDFsMCA0MTkgNjQgMCAwLTY0IDM3My42IDBjMTQuNiAwIDI2LjQtMTEuOCAyNi40LTI2LjQgMC0zLjctLjgtNy4zLTIuMy0xMC43TDQzMiAyNzIgNDkzLjcgMTMzLjFjMS41LTMuNCAyLjMtNyAyLjMtMTAuNyAwLTE0LjYtMTEuOC0yNi40LTI2LjQtMjYuNEw5MS43IDk2eiJdfSxKN3Q9cUQsSzd0PXFELGU5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kY3VmZnMiLGljb246WzU3Niw1MTIsW10sImU0ZjgiLCJNMzIwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyIDE0LjMgMzIgMzIgMzIgMzItMTQuMyAzMi0zMnpNMTkyIDY0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTUyIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE2YzAgMSAuMSAxLjkgLjIgMi45LTc0LjcgMjYuMy0xMjguMiA5Ny41LTEyOC4yIDE4MS4xIDAgMTA2IDg2IDE5MiAxOTIgMTkyczE5Mi04NiAxOTItMTkyYzAtODMuNy01My41LTE1NC44LTEyOC4yLTE4MS4xIC4xLS45IC4yLTEuOSAuMi0yLjlsMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtODAgMHpNNjQgMzIwYTEyOCAxMjggMCAxIDEgMjU2IDAgMTI4IDEyOCAwIDEgMSAtMjU2IDB6bTQ0OCAwYzAgNjYuOS01MS4zIDEyMS44LTExNi42IDEyNy41LTE0LjMgMjIuOC0zMi40IDQzLjEtNTMuNCA1OS45IDEzLjUgMyAyNy42IDQuNiA0MiA0LjYgMTA2IDAgMTkyLTg2IDE5Mi0xOTIgMC04My43LTUzLjUtMTU0LjgtMTI4LjItMTgxLjEgLjEtLjkgLjItMS45IC4yLTIuOWwwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAwYy0xMi4zIDAtMjIuNCA5LjItMjMuOCAyMS4xIDMwLjMgMTkuMiA1Ni4xIDQ1IDc1LjIgNzUuNCA2NS40IDUuOCAxMTYuNiA2MC42IDExNi42IDEyNy41ek0zODQgNjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSx0OXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGF0LWNvd2JveS1zaWRlIixpY29uOls2NDAsNTEyLFtdLCJmOGMxIiwiTTY0MCAzODguM2MwIDE2LjktNy4xIDMyLjItMTguNCA0My4xbC0zNS0yMy4zLTI5Mi43LTE5NS4xYy0zNi4xLTI0LjEtNzguNi0zNi45LTEyMi0zNi45bC0zLjkgMGMtMi43IDAtNS40IDAtOCAuMWwyMi4yLTEwMGM1LjctMjUuOCAyOC42LTQ0LjEgNTUtNDQuMSAxMi4yIDAgMjQuMSA0IDMzLjggMTEuM2w0LjcgMy41YzI2LjMgMTkuNyA2Mi40IDE5LjcgODguNiAwbDQuNy0zLjVjOS44LTcuMyAyMS42LTExLjMgMzMuOC0xMS4zIDI2LjQgMCA0OS4zIDE4LjMgNTUgNDQuMWwzMyAxNDguNUM1NzQuNSAyMzIuMyA2NDAgMzAyLjYgNjQwIDM4OC4zek0xNzEuOSAyMjRjMzMuOSAwIDY3LjEgMTAgOTUuNCAyOC45TDU2MCA0NDggNTYgNDQ4Yy0zMC45IDAtNTYtMjUuMS01Ni01NiAwLTkyLjggNzUuMi0xNjggMTY4LTE2OGwzLjkgMHoiXX0scjl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZHVzdHJ5IixpY29uOls1MTIsNTEyLFtdLCJmMjc1IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNzkuOGMwLTE4LjItMTkuNC0yOS43LTM1LjQtMjEuMWwtMTU2LjYgODQuMyAwLTYzLjJjMC0xOC4yLTE5LjQtMjkuNy0zNS40LTIxLjFMMTI4IDIxNS40IDEyOCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sYTl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpbmVzLWxlYW5pbmciLGljb246WzM4NCw1MTIsW10sImU1MWUiLCJNMTkwLjQgNzQuMWM1LjYtMTYuOC0zLjUtMzQuOS0yMC4yLTQwLjVzLTM0LjkgMy41LTQwLjUgMjAuMmwtMTI4IDM4NGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwxMjgtMzg0em03MC45LTQxLjdjLTE3LjQtMi45LTMzLjkgOC45LTM2LjggMjYuM2wtNjQgMzg0Yy0yLjkgMTcuNCA4LjkgMzMuOSAyNi4zIDM2LjhzMzMuOS04LjkgMzYuOC0yNi4zbDY0LTM4NGMyLjktMTcuNC04LjktMzMuOS0yNi4zLTM2Ljh6TTM1MiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0saTl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhc3Nwb3J0IixpY29uOlszODQsNTEyLFtdLCJmNWFiIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNOTYgNDA4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTI3OC42IDIwOGMtNC44IDI2LjQtMjEuNSA0OC43LTQ0LjIgNjEuMiA2LjctMTcgMTEuMi0zOCAxMi42LTYxLjJsMzEuNiAwem0tMTczLjEgMGwzMS42IDBjMS40IDIzLjEgNiA0NC4yIDEyLjYgNjEuMi0yMi43LTEyLjUtMzkuNC0zNC44LTQ0LjItNjEuMnptNzYuNCA1NWMtNi4yLTEzLjQtMTEuMS0zMi41LTEyLjctNTVsNDUuOCAwYy0xLjYgMjIuNS02LjUgNDEuNi0xMi43IDU1LTQuNSA5LjYtOC4yIDEzLjgtMTAuMiAxNS41LTItMS43LTUuNy01LjgtMTAuMi0xNS41em0wLTE0MmM0LjUtOS42IDguMi0xMy44IDEwLjItMTUuNSAyIDEuNyA1LjcgNS44IDEwLjIgMTUuNSA2LjIgMTMuNCAxMS4xIDMyLjUgMTIuNyA1NWwtNDUuOCAwYzEuNi0yMi41IDYuNS00MS42IDEyLjctNTV6bTk2LjcgNTVMMjQ3IDE3NmMtMS40LTIzLjEtNi00NC4yLTEyLjYtNjEuMiAyMi43IDEyLjUgMzkuNCAzNC44IDQ0LjIgNjEuMnpNMTM3IDE3NmwtMzEuNiAwYzQuOC0yNi40IDIxLjUtNDguNyA0NC4yLTYxLjItNi43IDE3LTExLjIgMzgtMTIuNiA2MS4yem0xODMgMTZhMTI4IDEyOCAwIDEgMCAtMjU2IDAgMTI4IDEyOCAwIDEgMCAyNTYgMHoiXX0sbjl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZmluaXR5IixpY29uOls2NDAsNTEyLFs4NzM0LDk4NTRdLCJmNTM0IiwiTTAgMjU2YzAtODguNCA3MS42LTE2MCAxNjAtMTYwIDUwLjQgMCA5Ny44IDIzLjcgMTI4IDY0bDMyIDQyLjcgMzItNDIuN2MzMC4yLTQwLjMgNzcuNi02NCAxMjgtNjQgODguNCAwIDE2MCA3MS42IDE2MCAxNjBTNTY4LjQgNDE2IDQ4MCA0MTZjLTUwLjQgMC05Ny44LTIzLjctMTI4LTY0bC0zMi00Mi43LTMyIDQyLjdjLTMwLjIgNDAuMy03Ny42IDY0LTEyOCA2NC04OC40IDAtMTYwLTcxLjYtMTYwLTE2MHptMjgwIDBsLTQzLjItNTcuNmMtMTguMS0yNC4yLTQ2LjYtMzguNC03Ni44LTM4LjQtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMzMC4yIDAgNTguNy0xNC4yIDc2LjgtMzguNEwyODAgMjU2em04MCAwbDQzLjIgNTcuNmMxOC4xIDI0LjIgNDYuNiAzOC40IDc2LjggMzguNCA1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtMzAuMiAwLTU4LjcgMTQuMi03Ni44IDM4LjRMMzYwIDI1NnoiXX0sczl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb25lIixpY29uOls1MTIsNTEyLFtdLCJmMjRkIiwiTTI4OCA0NDhsLTIyNCAwIDAtMjI0IDQ4IDAgMC02NC00OCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTQ4LTY0IDAgMCA0OHptLTY0LTk2bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIyNCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NHoiXX0sbzl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvcndhcmQiLGljb246WzU3Niw1MTIsWzkxOTNdLCJmMDRlIiwiTTM3MS43IDQzLjFDMzYwLjEgMzIgMzQzIDI4LjkgMzI4LjMgMzUuMlMzMDQgNTYgMzA0IDcybDAgMTM2LjMtMTcyLjMtMTY1LjFDMTIwLjEgMzIgMTAzIDI4LjkgODguMyAzNS4yUzY0IDU2IDY0IDcybDAgMzY4YzAgMTYgOS42IDMwLjUgMjQuMyAzNi44czMxLjggMy4yIDQzLjQtNy45TDMwNCAzMDMuNyAzMDQgNDQwYzAgMTYgOS42IDMwLjUgMjQuMyAzNi44czMxLjggMy4yIDQzLjQtNy45bDE5Mi0xODRjNy45LTcuNSAxMi4zLTE4IDEyLjMtMjguOXMtNC41LTIxLjMtMTIuMy0yOC45bC0xOTItMTg0eiJdfSxsOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibSIsaWNvbjpbNDQ4LDUxMixbMTA5XSwiNGQiLCJNMjIuNyAzMy40YzEzLjUtNC4xIDI4LjEgMS4xIDM1LjkgMTIuOUwyMjQgMjk0LjMgMzg5LjQgNDYuM2M3LjgtMTEuNyAyMi40LTE3IDM1LjktMTIuOVM0NDggNDkuOSA0NDggNjRsMCAzODRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNzguMy0xMzMuNCAyMDAuMWMtNS45IDguOS0xNS45IDE0LjItMjYuNiAxNC4ycy0yMC43LTUuMy0yNi42LTE0LjJMNjQgMTY5LjcgNjQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NEMwIDQ5LjkgOS4yIDM3LjUgMjIuNyAzMy40eiJdfSxjOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1zcGlrZXMiLGljb246WzY0MCw1MTIsW10sImU1NjgiLCJNNjQgMTE2LjhjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlsOTguNyAxNDggMC0xMzkuMmMwLTE1LjggMjAuNS0yMiAyOS4zLTguOWw5OC43IDE0OCAwLTEzOS4yYzAtMTUuOCAyMC41LTIyIDI5LjMtOC45bDk4LjcgMTQ4IDAtMTM5LjJjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlMNjA2LjggMzAyLjJjMTQuMiAyMS4zLTEuMSA0OS44LTI2LjYgNDkuOEw2NCAzNTIgNjQgMTE2Ljh6TTMyIDM4NGw1NzYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LGQ5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3VudGFpbiIsaWNvbjpbNTEyLDUxMixbMTI3OTU2XSwiZjZmYyIsIk0yNTYuNSAwYzE0LjcgMCAyOC4yIDguMSAzNS4yIDIxbDIxNiA0MDBjNi43IDEyLjQgNi40IDI3LjQtLjggMzkuNS03LjIgMTIuMS0yMC4zIDE5LjUtMzQuMyAxOS41bC00MzIgMGMtMTQuMSAwLTI3LjEtNy40LTM0LjMtMTkuNXMtNy41LTI3LjEtLjgtMzkuNWwyMTYtNDAwIDIuOS00LjZDMjMxLjcgNi4yIDI0My42IDAgMjU2LjUgMHpNMTcwLjQgMjQ5LjlsMjYuOCAyNi44YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwbDQzLjMtNDMuM2M2LTYgMTQuMS05LjQgMjIuNi05LjRsNDIuOCAwLTcyLjEtMTMzLjUtODYuMSAxNTkuNHoiXX0sdTl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzIixpY29uOls1MTIsNTEyLFtdLCJmNDM5IiwiTTE2OCA1NmwwIDQwLTc4LjEgMGMtMTQuMyAwLTI1LjkgMTEuNi0yNS45IDI1LjkgMCA0IC45IDggMi43IDExLjZsMzMuNCA2Ni44Yy0xMS40IDEuOC0yMC4yIDExLjctMjAuMiAyMy43IDAgMTMuMyAxMC43IDI0IDI0IDI0bDUuNiAwLTEzLjYgMTM2LTU2LjIgNzAuM2MtNSA2LjMtNy44IDE0LjEtNy44IDIyLjIgMCAxOS42IDE1LjkgMzUuNSAzNS41IDM1LjVsMjQ4LjkgMGMxOS42IDAgMzUuNS0xNS45IDM1LjUtMzUuNSAwLTguMS0yLjctMTUuOS03LjgtMjIuMkwyODggMzg0IDI3NC40IDI0OCAyODAgMjQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0IDAtMTEuOS04LjctMjEuOS0yMC4yLTIzLjdsMzMuNC02Ni44YzEuOC0zLjYgMi43LTcuNiAyLjctMTEuNiAwLTE0LjMtMTEuNi0yNS45LTI1LjktMjUuOWwtNzguMSAwIDAtNDAgMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMyNDUuMyA4IDIzMiA4bC0xNiAwIDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRTMTY4LTIxLjMgMTY4LThsMCAxNi0xNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2IDB6TTMyNS44IDI3OS42bDguNSA4NS41IDQ3LjQgNTkuMiA0LjIgNS43YzkuMiAxMy43IDE0LjEgMjkuOSAxNC4xIDQ2LjUgMCAxMi43LTIuOCAyNC44LTcuOSAzNS41bDgzLjEgMGMyMC4zIDAgMzYuOC0xNi41IDM2LjgtMzYuOCAwLTcuMy0yLjItMTQuNC02LjItMjAuNGwtMjUuOC0zOC43IDAtNjQgMTMuMy0xMy4zYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNTEyIDE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE2LTMyIDAgMC0xNmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMjIuNC0xMC4yIDQyLjQtMjYuMiA1NS42eiJdfSxlYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVycyIsaWNvbjpbMzIwLDUxMixbInRlbXBlcmF0dXJlLTMiLCJ0aGVybW9tZXRlci0zIiwidGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnMiXSwiZjJjOCIsIk0xNjAgMEMxMDcgMCA2NCA0MyA2NCA5NmwwIDE2NC43QzM0LjUgMjg3IDE2IDMyNS40IDE2IDM2OCAxNiA0NDcuNSA4MC41IDUxMiAxNjAgNTEyczE0NC02NC41IDE0NC0xNDRjMC00Mi42LTE4LjUtODEtNDgtMTA3LjNMMjU2IDk2YzAtNTMtNDMtOTYtOTYtOTZ6bTY0IDM2OGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2LjkgMTYuNS00OS45IDQwLTU5LjNMMTM2IDE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTU2LjdjMjMuNSA5LjUgNDAgMzIuNSA0MCA1OS4zeiJdfSxwOXQ9ZWIsZjl0PWViLGg5dD1lYixtOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYiIsaWNvbjpbMzIwLDUxMixbOThdLCI0MiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4IDAtNDYuNS0yNC44LTg3LjMtNjItMTA5LjcgMTguNy0yMi4zIDMwLTUxIDMwLTgyLjMgMC03MC43LTU3LjMtMTI4LTEyOC0xMjhMMzIgMzJ6TTE2MCAyMjRsLTk2IDAgMC0xMjggOTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NHpNNjQgMjg4bDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC0xMjggMCAwLTEyOHoiXX0sZzl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC12aXJ1cyIsaWNvbjpbNTEyLDUxMixbXSwiZTA2YyIsIk0yNTMuNCAyLjlDMjQ5LjIgMSAyNDQuNyAwIDI0MCAwcy05LjIgMS0xMy40IDIuOUwzOC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMiAuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjIgMTYuNyA4IDM2LjEgOCA1Mi44IDAgMTcyLjQtODIuNSAyMTMuMi0yNjQgMjEzLjYtMzYzLjIgLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI1My40IDIuOXpNMjQwIDEyOGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDIyLjkgMjcuNyAzNC40IDQzLjkgMTguMiA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTE2LjIgMTYuMi00LjcgNDMuOSAxOC4yIDQzLjkgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjkgMC0zNC40IDI3LjctMTguMiA0My45IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTE2LjItMTYuMi00My45LTQuNy00My45IDE4LjIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yMi45LTI3LjctMzQuNC00My45LTE4LjItOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMxNi4yLTE2LjIgNC43LTQzLjktMTguMi00My45LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjIuOSAwIDM0LjQtMjcuNyAxOC4yLTQzLjktOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2LjIgMTYuMiA0My45IDQuNyA0My45LTE4LjIgMC0xMy4zIDEwLjctMjQgMjQtMjR6TTIwOCAyNjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OCA0MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxiOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGl0ZWNvaW4tc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFkMyIsIk0xMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgNDYuMyA2NCA2NGwwIDE1Ny45LTM4LjYgMTFjLTEyLjcgMy42LTIwLjEgMTYuOS0xNi41IDI5LjdzMTYuOSAyMC4xIDI5LjcgMTYuNUw2NCAyNzEuOCA2NCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwIDAtMTYyLjUgMTM0LjYtMzguNWMxMi43LTMuNiAyMC4xLTE2LjkgMTYuNS0yOS43cy0xNi45LTIwLjEtMjkuNy0xNi41TDEyOCAyMDMuNiAxMjggNjR6Il19LHY5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLWQ2IixpY29uOls1MTIsNTEyLFtdLCJmNmQxIiwiTTIyNC40IDguM0MyNDQtMi44IDI2OC0yLjggMjg3LjYgOC4zbDE3NiA5OS43YzIwIDExLjQgMzIuNCAzMi42IDMyLjQgNTUuN2wwIDE5Ny40YzAgMjMtMTIuNCA0NC4zLTMyLjQgNTUuN2wtMTc2IDk5LjdjLTE5LjYgMTEuMS00My42IDExLjEtNjMuMSAwbC0xNzYtOTkuN0MyOC40IDQwNS41IDE2IDM4NC4yIDE2IDM2MS4ybDAtMTk3LjRjMC0yMyAxMi40LTQ0LjMgMzIuNC01NS43bDE3Ni05OS43ek0xMDIuNiAxNTUuNmMtOC44LTMuMS0xOC44IC4zLTIzLjggOC42cy0zLjIgMTguNyAzLjYgMjVsMy4yIDIuNCAxNTAuMiA5MC4yIDAgMTQ4LjdjMCAxMSA5IDIwIDIwIDIwIDExIDAgMjAtOSAyMC0yMGwwLTE0OC43IDE1MC4zLTkwLjJjOS41LTUuNyAxMi42LTE4IDYuOS0yNy40cy0xOC0xMi41LTI3LjQtNi45bC0xNDkuNyA4OS44LTE0OS43LTg5LjgtMy43LTEuN3oiXX0seDl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyaXAtbGluZXMtdmVydGljYWwiLGljb246WzE5Miw1MTIsW10sImY3YTUiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw2NCA2NHptMTI4IDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NHoiXX0sWTJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdvbGYtYmFsbC10ZWUiLGljb246WzM4NCw1MTIsWyJnb2xmLWJhbGwiXSwiZjQ1MCIsIk0yOTguNSAzODQuMWMxMi4xIDEuMiAyMS41IDExLjUgMjEuNSAyMy45cy05LjQgMjIuNi0yMS41IDIzLjlsLTIuNSAuMS04MCAwIDAgODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04OC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNCAwLTEyLjQgOS40LTIyLjYgMjEuNS0yMy45bDIuNS0uMSAyMDggMCAyLjUgLjF6TTE5MiAwYzEwNiAwIDE5MiA4NiAxOTIgMTkyIDAgNTcuNC0yNS4yIDEwOC44LTY1LjEgMTQ0TDY1LjEgMzM2QzI1LjIgMzAwLjggMCAyNDkuNCAwIDE5MiAwIDg2IDg2IDAgMTkyIDB6bTMyIDI0MGMtNy43IDAtMTQuMiA1LjUtMTUuNyAxMi44bC0uNiA2LjRjLTEuMyA2LjMtNi4yIDExLjItMTIuNSAxMi41bC02LjQgLjZjLTcuMyAxLjUtMTIuOCA4LTEyLjggMTUuNyAwIDguOCA3LjIgMTYgMTYgMTYgMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC04LjgtNy4yLTE2LTE2LTE2em02NC02NGMtNy43IDAtMTQuMiA1LjUtMTUuNyAxMi44bC0uNiA2LjRjLTEuMyA2LjMtNi4yIDExLjItMTIuNSAxMi41bC02LjQgLjZjLTcuMyAxLjUtMTIuOCA4LTEyLjggMTUuNyAwIDguOCA3LjIgMTYgMTYgMTYgMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC04LjgtNy4yLTE2LTE2LTE2em0tODAtMTZjLTcuNyAwLTE0LjIgNS41LTE1LjcgMTIuOGwtLjYgNi40Yy0xLjMgNi4zLTYuMiAxMS4yLTEyLjUgMTIuNWwtNi40IC42Yy03LjMgMS41LTEyLjggOC0xMi44IDE1LjcgMCA4LjggNy4yIDE2IDE2IDE2IDI2LjUgMCA0OC0yMS41IDQ4LTQ4IDAtOC44LTcuMi0xNi0xNi0xNnoiXX0seTl0PVkyZSx3OXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGV4YWdvbiIsaWNvbjpbNTc2LDUxMixbMTEwNDNdLCJmMzEyIiwiTTMzLjUgMjIwLjNjLTEyLjcgMjIuMi0xMi43IDQ5LjQgMCA3MS41bDk2LjIgMTY4LjFjMTIuOCAyMi40IDM2LjcgMzYuMiA2Mi41IDM2LjJsMTkxLjYgMGMyNS44IDAgNDkuNy0xMy44IDYyLjUtMzYuMmw5Ni4yLTE2OC4xYzEyLjctMjIuMiAxMi43LTQ5LjQgMC03MS41TDQ0Ni4zIDUyLjJDNDMzLjUgMjkuOCA0MDkuNiAxNiAzODMuOCAxNkwxOTIuMiAxNmMtMjUuOCAwLTQ5LjcgMTMuOC02Mi41IDM2LjJMMzMuNSAyMjAuM3oiXX0sTTl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlci1vcGVuIixpY29uOls1NzYsNTEyLFsxMjgxOTQsMTI4NDQ5LDYxNzE3XSwiZjA3YyIsIk01NiAyMjUuNkwzMi40IDI5Ni4yIDMyLjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40bDExNy4zIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNi0zNjUuNCAwYy00MS4zIDAtNzggMjYuNC05MS4xIDY1LjZ6TTQ3Ny44IDQ0OEw5OSA0NDhjLTMyLjggMC01NS45LTMyLjEtNDUuNS02My4ybDQ4LTE0NEMxMDggMjIxLjIgMTI2LjQgMjA4IDE0NyAyMDhsMzc4LjggMGMzMi44IDAgNTUuOSAzMi4xIDQ1LjUgNjMuMmwtNDggMTQ0Yy02LjUgMTkuNi0yNC45IDMyLjgtNDUuNSAzMi44eiJdfSxrOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2FhYmEiLGljb246WzUxMiw1MTIsWzEyODMzMV0sImY2NmIiLCJNMjU2IDUxLjNMOTIuOCAxMTIuNCAyNDcuNSAxNzEuMWM1LjUgMi4xIDExLjUgMi4xIDE3IDBMNDE5LjIgMTEyLjQgMjU2IDUxLjN6TTAgMTI5LjNjMC0yMCAxMi40LTM3LjkgMzEuMS00NC45bDIwOC03OGMxMC45LTQuMSAyMi44LTQuMSAzMy43IDBsMjA4IDc4YzE4LjcgNyAzMS4xIDI0LjkgMzEuMSA0NC45bDAgMzYtMjUzLjIgOTZjLTEuOCAuNy0zLjggLjctNS43IDBsLTI1My4yLTk2IDAtMzZ6bTAgMTQwbDAtNTIuNyAyMzYuMSA4OS42YzEyLjggNC45IDI2LjkgNC45IDM5LjcgMGwyMzYuMS04OS42IDAgNTIuNy0xMjggNDguNiAwIDUxLjMgMTI4LTQ4LjYgMCA2Mi4yYzAgMjAtMTIuNCAzNy45LTMxLjEgNDQuOWwtMjA4IDc4Yy0xMC45IDQuMS0yMi44IDQuMS0zMy43IDBsLTIwOC03OEMxMi40IDQyMC43IDAgNDAyLjcgMCAzODIuN2wwLTYyLjIgMTI4IDQ4LjYgMC01MS4zLTEyOC00OC42ek0yMzYuMSA0MTAuMWMxMi44IDQuOSAyNi45IDQuOSAzOS43IDBsNjAuMS0yMi44IDAtNTEuMy03Ny4yIDI5LjNjLTEuOCAuNy0zLjggLjctNS43IDBsLTc3LjItMjkuMyAwIDUxLjMgNjAuMSAyMi44eiJdfSxTOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nIixpY29uOls1NzYsNTEyLFtdLCJmNGJkIiwiTTY2LjcgMzg0bDQyLjUtNDIuNWMyNC0yNCA1Ni42LTM3LjUgOTAuNS0zNy41TDM1MiAzMDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyLjYgMCAxMTkuNy04OC4yYzE3LjgtMTMuMSA0Mi44LTkuMyA1NS45IDguNXM5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM0LjcgMHoiXX0sejl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpbmdsZS1xdW90ZS1yaWdodCIsaWNvbjpbMTkyLDUxMixbXSwiZTgxYyIsIk02NCA0MTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtOC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMzZjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTggMHoiXX0sQzl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvdHRsZS1kcm9wbGV0IixpY29uOlszMjAsNTEyLFtdLCJlNGM0IiwiTTgwIDBjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDEwMy4zYzY0LjkgMjAuNCAxMTIgODEgMTEyIDE1Mi43bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDU0NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyODhjMC03MS42IDQ3LjEtMTMyLjMgMTEyLTE1Mi43TDExMiAzMkM5NC4zIDMyIDgwIDE3LjcgODAgMHptODAgNDE2YzM1LjMgMCA2NC0zMi40IDY0LTY0IDAtMjEuMi0yOC45LTY0LjUtNDcuOS05MC42LTguMS0xMS4xLTI0LjItMTEuMS0zMi4zIDAtMTkgMjYuMS00Ny45IDY5LjQtNDcuOSA5MC42IDAgMzEuNiAyOC43IDY0IDY0IDY0eiJdfSxUOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZG93LW1pbmltaXplIixpY29uOls1MTIsNTEyLFsxMjg0NjldLCJmMmQxIiwiTTAgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LF85dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLXJpZ2h0IixpY29uOlszMjAsNTEyLFs5MDAyXSwiZjA1NCIsIk0zMTEuMSAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQzLjIgMjU2IDczLjkgODYuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxOTIgMTkyeiJdfSxMOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWdnIixpY29uOlszODQsNTEyLFsxMjkzNzBdLCJmN2ZiIiwiTTE5MiA0OTZDODYgNDk2IDAgMzk0IDAgMjg4IDAgMTc2IDY0IDE2IDE5MiAxNlMzODQgMTc2IDM4NCAyODhjMCAxMDYtODYgMjA4LTE5MiAyMDh6TTE1NC44IDEzNGM2LjUtNiA3LTE2LjEgMS0yMi42cy0xNi4xLTctMjIuNi0xYy0yMy45IDIxLjgtNDEuMSA1Mi43LTUyLjMgODQuMi0xMS4yIDMxLjYtMTYuOSA2NS4xLTE2LjkgOTMuNSAwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMjQuNSA1LTU0LjQgMTUuMS04Mi44IDEwLjEtMjguNSAyNS01NC4xIDQzLjctNzEuMnoiXX0sWjJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhbmRtYXJrLWRvbWUiLGljb246WzUxMiw1MTIsWyJsYW5kbWFyay1hbHQiXSwiZjc1MiIsIk0yNTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAuOSAwIDEuOCAuMSAyLjYtODAuNSAxMy40LTE0NCA3Ni45LTE1Ny41IDE1Ny40TDY0IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDE2MC01MS4yIDM4LjRDNC43IDQ2MC40IDAgNDY5LjkgMCA0ODAgMCA0OTcuNyAxNC4zIDUxMiAzMiA1MTJsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzIgMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNkw0NDggNDE2IDQ0OCAyNTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIuNyAwYy0xMy41LTgwLjQtNzctMTQzLjktMTU3LjUtMTU3LjQgLjEtLjkgLjEtMS43IC4xLTIuNiAwLTE3LjctMTQuMy0zMi0zMi0zMnptODAgMjU2bDY0IDAgMCAxNjAtNjQgMCAwLTE2MHpNMjI0IDQxNmwwLTE2MCA2NCAwIDAgMTYwLTY0IDB6TTExMiAyNTZsNjQgMCAwIDE2MC02NCAwIDAtMTYweiJdfSwkOXQ9WjJlLEQ5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3b3JtIixpY29uOls0NDgsNTEyLFtdLCJlNTk5IiwiTTIyNCA5NmMwLTUzIDQzLTk2IDk2LTk2bDM4LjQgMEM0MDcuOSAwIDQ0OCA0MC4xIDQ0OCA4OS42TDQ0OCAzNzZjMCA3NS4xLTYwLjkgMTM2LTEzNiAxMzZTMTc2IDQ1MS4xIDE3NiAzNzZsMC04MGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGwwIDE2OGMwIDI2LjUtMjEuNSA0OC00OCA0OFMwIDQ5MC41IDAgNDY0TDAgMjk2YzAtNzUuMSA2MC45LTEzNiAxMzYtMTM2czEzNiA2MC45IDEzNiAxMzZsMCA4MGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMTg0LTMyIDBjLTUzIDAtOTYtNDMtOTYtOTZ6bTE0NC04YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LEE5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWluanVyZWQiLGljb246WzQ0OCw1MTIsW10sImY3MjgiLCJNMjQyLjcgODBMMzM0IDgwYy0xMC43LTI0LjYtMjkuNS00NC45LTUyLjktNTcuNkwyNDIuNyA4MHptLS45LTcwLjdDMjM2IDguNCAyMzAgOCAyMjQgOCAxNzQuOCA4IDEzMi41IDM3LjYgMTE0IDgwbDgwLjYgMCA0Ny4xLTcwLjd6TTIyNCAyNDhjNjYuMyAwIDEyMC01My43IDEyMC0xMjBsLTI0MCAwYzAgNjYuMyA1My43IDEyMCAxMjAgMTIwek05OC43IDM0MS44QzQ5LjMgMzcwLjIgMTYgNDIzLjUgMTYgNDg0LjYgMTYgNDk5LjcgMjguMyA1MTIgNDMuNCA1MTJsMTUxIDAtOTUuOC0xNzAuMnptNDUuMS0xNy43bDQyLjcgNzUuOSA4NS41IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCAxMS40LTIuNCAyMi4yLTYuNyAzMmw1OS4yIDBjMTUuMSAwIDI3LjQtMTIuMyAyNy40LTI3LjQgMC05MC45LTczLjctMTY0LjYtMTY0LjYtMTY0LjZsLTg2LjkgMGMtMTIuNiAwLTI0LjkgMS40LTM2LjcgNC4xek0yMTMuNSA0NDhsMzYgNjQgMjIuNSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01OC41IDB6Il19LEU5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdHJpa2V0aHJvdWdoIixpY29uOls1MTIsNTEyLFtdLCJmMGNjIiwiTTk2IDE1Ny41Qzk2IDg4LjIgMTUyLjIgMzIgMjIxLjUgMzJMMzY4IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDIyMS41IDk2Yy0zNCAwLTYxLjUgMjcuNS02MS41IDYxLjUgMCAzMSAyMy4xIDU3LjIgNTMuOSA2MWw0NC4xIDUuNSAyMjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODMuMSAwQzEwMyAyMDQuNiA5NiAxODEuOCA5NiAxNTcuNXpNMzQ5LjIgMzM2bDY1LjUgMGMuOSA2LjEgMS40IDEyLjIgMS40IDE4LjUgMCA2OS4zLTU2LjIgMTI1LjUtMTI1LjUgMTI1LjVMMTQ0IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNDYuNSAwYzM0IDAgNjEuNS0yNy41IDYxLjUtNjEuNSAwLTYuNC0xLTEyLjctMi44LTE4LjV6Il19LEk5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJibG9nIixpY29uOls1MTIsNTEyLFtdLCJmNzgxIiwiTTIyNCAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNCAxNDUuOCAwIDI2NCAxMTguMiAyNjQgMjY0IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTE5LjMtOTYuNy0yMTYtMjE2LTIxNi0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNODAgOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyMjRjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OC0yMS41LTQ4LTQ4LTQ4Yy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTYgNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRTMjU1LjUgNTEyIDE3NiA1MTIgMzIgNDQ3LjUgMzIgMzY4bDAtMjI0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em0xNjggMGM5Mi44IDAgMTY4IDc1LjIgMTY4IDE2OCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTY2LjMtNTMuNy0xMjAtMTIwLTEyMC0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxQOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RvcHdhdGNoLTIwIixpY29uOls0NDgsNTEyLFtdLCJlMDZmIiwiTTE2OC41IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDI1LjNjLTEwOCAxMS45LTE5MiAxMDMuNS0xOTIgMjE0LjcgMCAxMTkuMyA5Ni43IDIxNiAyMTYgMjE2czIxNi05Ni43IDIxNi0yMTZjMC0zOS44LTEwLjgtNzcuMS0yOS42LTEwOS4ybDI4LjItMjguMmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMjMuNCAyMy40Yy0zMi45LTMwLjItNzUuMi01MC4zLTEyMi01NS41bDAtMjUuMyAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMHptLTYwIDI0MGMwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUybDAgMy44YzAgMTEuNy0zLjIgMjMuMS05LjMgMzNsLTQzLjggNzEuMiAzMy4xIDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC01Ny44IDBjLTE0LjUgMC0yNi4yLTExLjctMjYuMi0yNi4yIDAtNC45IDEuMy05LjYgMy45LTEzLjhsNTYuNy05Mi4xYzIuMi0zLjYgMy40LTcuOCAzLjQtMTIuMWwwLTMuOGMwLTYuNi01LjQtMTItMTItMTJzLTEyIDUuNC0xMiAxMmMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjB6bTE4MC01MmMyOC43IDAgNTIgMjMuMyA1MiA1MmwwIDk2YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtOTZjMC0yOC43IDIzLjMtNTIgNTItNTJ6bS0xMiA1MmwwIDk2YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC05NmMwLTYuNi01LjQtMTItMTItMTJzLTEyIDUuNC0xMiAxMnoiXX0sTjl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLXBpY2t1cCIsaWNvbjpbNjQwLDUxMixbMTI4NzYzXSwiZjYzYyIsIk0zNjMuOCA5Nmw1Ny42IDk2LTEzMy40IDAgMC05NiA3NS44IDB6TTQ5NiAxOTJMNDE4LjYgNjMuMUM0MDcuMSA0My44IDM4Ni4yIDMyIDM2My44IDMyTDI1NiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjgtMTQ0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIuNCAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGMwLTIuNy0uMS01LjQtLjQtOGwxNjAuNyAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGMwLTIuNy0uMS01LjQtLjQtOGwzMi40IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC04MGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNMTEyIDM5MmE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwem0zNzYtNDBhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgweiJdfSxYMmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2VlZGxpbmciLGljb246WzUxMiw1MTIsWzEyNzc5Mywic3Byb3V0Il0sImY0ZDgiLCJNNTEyIDMyQzUxMiAxNDAuMSA0MzUuNCAyMzAuMyAzMzMuNiAyNTEuNCAzMjUuNyAxOTMuMyAyOTkuNiAxNDEgMjYxLjEgMTAwLjUgMzAxLjIgNDAgMzY5LjkgMCA0NDggMGwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0bDMyIDBjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNGwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2MEMxMDAuMyAzMjAgMCAyMTkuNyAwIDk2eiJdfSxGOXQ9WDJlLFEyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFuc2dlbmRlciIsaWNvbjpbNTc2LDUxMixbOTg5NSwidHJhbnNnZW5kZXItYWx0Il0sImYyMjUiLCJNMTI4LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDk3LjkgMzIgMTM2IDcwLjEgMTUxIDU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMTUgMTUgMTQuMiAxNC4yYzI3LjktMjMuOCA2NC4yLTM4LjIgMTAzLjgtMzguMiAzNi43IDAgNzAuNiAxMi40IDk3LjYgMzMuMkw0NjYuNyAzMiA0NDggMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguNy04NC40IDg0LjRjMTMgMjMuMSAyMC40IDQ5LjkgMjAuNCA3OC4zIDAgNzcuNC01NSAxNDItMTI4IDE1Ni44bDAgMzUuMiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0zNS4yYy03My0xNC44LTEyOC03OS40LTEyOC0xNTYuOCAwLTMxLjQgOS02MC43IDI0LjctODUuNGwtMTYuNy0xNi43LTE1IDE1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDE1LTE1LTM4LjEtMzguMSAwIDMwLjFjMCAxNy43LTE0LjMgMzItMzIgMzJTMCAxMTMuNyAwIDk2TDAgMEMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwek0yODggMzM2YTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyeiJdfSxPOXQ9UTJlLFI5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLWhhbGYiLGljb246WzU3Niw1MTIsWzYxNzMxXSwiZjA4OSIsIk0zMDQuMSA3LjZjMC0xMS4xLTcuNi0yMC43LTE4LjQtMjMuM3MtMjEuOSAyLjUtMjcgMTIuNEwxOTMuMSAxMjUuMyAzMy4yIDE1MC43Yy04LjkgMS40LTE2LjMgNy43LTE5LjEgMTYuM3MtLjUgMTggNS44IDI0LjRsMTE0LjQgMTE0LjUtMjUuMiAxNTkuOWMtMS40IDguOSAyLjMgMTcuOSA5LjYgMjMuMnMxNi45IDYuMSAyNSAyTDI5MSA0MTYuMWM4LTQuMSAxMy4xLTEyLjQgMTMuMS0yMS40bDAtMzg3LjF6Il19LEoyZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG90by1maWxtIixpY29uOls2NDAsNTEyLFsicGhvdG8tdmlkZW8iXSwiZjg3YyIsIk0xOTIgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRMNTc2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMyMCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIyNHpNMzIwIDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE1Ni41IDExLjVDNDcyLjEgMTAwLjQgNDY0LjQgOTYgNDU2IDk2cy0xNi4xIDQuNC0yMC41IDExLjVsLTU0IDg4LjMtMTcuOS0yNS42Yy00LjUtNi40LTExLjgtMTAuMi0xOS43LTEwLjJzLTE1LjIgMy44LTE5LjcgMTAuMmwtNTYgODBjLTUuMSA3LjMtNS44IDE2LjktMS42IDI0LjhTMjc5LjEgMjg4IDI4OCAyODhsMjU2IDBjOC43IDAgMTYuNy00LjcgMjAuOS0xMi4zczQuMS0xNi44LS41LTI0LjNsLTg4LTE0NHpNMTQ0IDEyOGwwIDE2MGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMmwxOTIgMCAwIDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsODAgMHpNNTIgMTk2bDAgMjRjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjRjMC04LjgtNy4yLTE2LTE2LTE2bC0yNCAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyNGMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNGMwLTguOC03LjItMTYtMTYtMTZsLTI0IDB6bTAgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI0YzAgOC44IDcuMiAxNiAxNiAxNmwyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMHoiXX0sQjl0PUoyZSxIOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGljdHVyZS1pbi1waWN0dXJlIixpY29uOls1MTIsNTEyLFtdLCJlODBiIiwiTTQ0OCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDExMi02NCAwIDAtMTEyLTM4NCAwIDAgMzIwIDE0NCAwIDAgNjQtMTQ0IDAtNi41LS4zYy0zMC4xLTMuMS01NC4xLTI3LTU3LjEtNTcuMUwwIDQxNiAwIDk2QzAgNjIuOSAyNS4yIDM1LjYgNTcuNSAzMi4zTDY0IDMyIDQ0OCAzMnptMTYgMjI0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xMjhjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYwIDB6Il19LHE5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwdW1wLW1lZGljYWwiLGljb246WzMyMCw1MTIsW10sImUwNmEiLCJNOTYgMGwwIDgwIDEyOCAwIDAtMjQgNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMzMDkuMyA4IDI5NiA4bC03MiAwIDAtOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMEMxMTAuMy0zMiA5Ni0xNy43IDk2IDB6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMTI4em02NCAxMjBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LGo5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlIixpY29uOls0NDgsNTEyLFsxMjgyOTNdLCJmMDZkIiwiTTE2MC41LTI2LjRjOS4zLTcuOCAyMy03LjUgMzEuOSAuOSAxMi4zIDExLjYgMjMuMyAyNC40IDMzLjkgMzcuNCAxMy41IDE2LjUgMjkuNyAzOC4zIDQ1LjMgNjQuMiA1LjItNi44IDEwLTEyLjggMTQuMi0xNy45IDEuMS0xLjMgMi4yLTIuNyAzLjMtNC4xIDcuOS05LjggMTcuNy0yMi4xIDMwLjgtMjIuMSAxMy40IDAgMjIuOCAxMS45IDMwLjggMjIuMSAxLjMgMS43IDIuNiAzLjMgMy45IDQuOCAxMC4zIDEyLjQgMjQgMzAuMyAzNy43IDUyLjQgMjcuMiA0My45IDU1LjYgMTA2LjQgNTUuNiAxNzYuNiAwIDEyMy43LTEwMC4zIDIyNC0yMjQgMjI0UzAgNDExLjcgMCAyODhjMC05MS4xIDQxLjEtMTcwIDgwLjUtMjI1IDE5LjktMjcuNyAzOS43LTQ5LjkgNTQuNi02NS4xIDguMi04LjQgMTYuNS0xNi43IDI1LjUtMjQuMnpNMjI1LjcgNDE2YzI1LjMgMCA0Ny43LTcgNjguOC0yMSA0Mi4xLTI5LjQgNTMuNC04OC4yIDI4LjEtMTM0LjQtNC41LTktMTYtOS42LTIyLjUtMmwtMjUuMiAyOS4zYy02LjYgNy42LTE4LjUgNy40LTI0LjctLjUtMTcuMy0yMi4xLTQ5LjEtNjIuNC02NS4zLTgzLTUuNC02LjktMTUuMi04LTIxLjUtMS45LTE4LjMgMTcuOC01MS41IDU2LjgtNTEuNSAxMDQuMyAwIDY4LjYgNTAuNiAxMDkuMiAxMTMuNyAxMDkuMnoiXX0sSzJlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtcGx1cyIsaWNvbjpbNTEyLDUxMixbInNlYXJjaC1wbHVzIl0sImYwMGUiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0yMDggMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMCAwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OCA0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LFY5dD1LMmUsVTl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYXNrIixpY29uOls0NDgsNTEyLFtdLCJmMGMzIiwiTTI4OCAwTDEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMnMxNC4zIDMyIDMyIDMyTDEyOCAyMTUuNSA3LjUgNDI2LjNDMi42IDQzNSAwIDQ0NC43IDAgNDU0LjcgMCA0ODYuNCAyNS42IDUxMiA1Ny4zIDUxMmwzMzMuNCAwYzMxLjYgMCA1Ny4zLTI1LjYgNTcuMy01Ny4zIDAtMTAtMi42LTE5LjgtNy41LTI4LjRMMzIwIDIxNS41IDMyMCA2NGMxNy43IDAgMzItMTQuMyAzMi0zMlMzMzcuNyAwIDMyMCAwTDI4OCAwek0xOTIgMjE1LjVsMC0xNTEuNSA2NCAwIDAgMTUxLjVjMCAxMS4xIDIuOSAyMi4xIDguNCAzMS44bDQxLjYgNzIuNy0xNjQgMCA0MS42LTcyLjdjNS41LTkuNyA4LjQtMjAuNiA4LjQtMzEuOHoiXX0sVzl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFsaWduLXJpZ2h0IixpY29uOls0NDgsNTEyLFtdLCJmMDM4IiwiTTQ0OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwxOTIgOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LGVsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWJsZS1jYXIiLGljb246WzUxMiw1MTIsWzEyODY3Myw1NzU1MSwidHJhbSJdLCJmN2RhIiwiTTI4OC0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE2MCAyNGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zMiAyODhjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTM2IDAgMC05Ni4yLTE5My40IDU1LjNjLTEyLjcgMy42LTI2LTMuNy0yOS43LTE2LjVzMy43LTI2IDE2LjUtMjkuN2wyMjQtNjQgMCAwIDIyNC02NGMxMi43LTMuNiAyNiAzLjcgMjkuNyAxNi41cy0zLjcgMjYtMTYuNSAyOS43bC0yMDYuNiA1OSAwIDEwOS45IDEzNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNjB6bTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw1NiAwIDAtOTYtNTYgMHptMTg0IDk2bDAtOTYtODAgMCAwIDk2IDgwIDB6bTQ4IDBsNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTU2IDAgMCA5NnoiXX0sRzl0PWVsZSx0bGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2l0LW1lZGljYWwiLGljb246WzUxMiw1MTIsWyJmaXJzdC1haWQiXSwiZjQ3OSIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNiAwIDAtMzg0LTE2IDB6bTY0IDBsMCAzODQgMjU2IDAgMC0zODQtMjU2IDB6TTQ0OCA0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTE2IDAgMCAzODQgMTYgMHpNMjI0IDE4NGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sWTl0PXRsZSxaOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JpcC1saW5lcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjdhNCIsIk0zMiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMjg4em0wLTEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjB6Il19LHJsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXJnZXIiLGljb246WzUxMiw1MTIsWyJoYW1idXJnZXIiXSwiZjgwNSIsIk00OCAzODRjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyODggMGM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTguOC03LjItMTYtMTYtMTZMNDggMzg0ek0zMiAyMDJjMCAxMi4yIDkuOSAyMiAyMiAyMkw0NTggMjI0YzEyLjIgMCAyMi05LjkgMjItMjIgMC0xNy4yLTIuNi0zNC40LTEwLjgtNDkuNS0yMi4yLTQwLjgtODIuMy0xMjAuNS0yMTMuMi0xMjAuNVM2NSAxMTEuNiA0Mi44IDE1Mi41QzM0LjYgMTY3LjYgMzIgMTg0LjggMzIgMjAyek0wIDMwNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAyNzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0yNTYgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0xMjAgMTI4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTI0OC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LFg5dD1ybGUsUTl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNub3dtYW4iLGljb246WzY0MCw1MTIsWzk3MzEsOTkyNF0sImY3ZDAiLCJNNDAzIDIxMS43YzMyLjItMjQuOSA1My02My45IDUzLTEwNy43IDAtNzUuMS02MC45LTEzNi0xMzYtMTM2UzE4NCAyOC45IDE4NCAxMDRjMCA0My45IDIwLjggODIuOSA1MyAxMDcuNy0zMi4yIDE2LjMtNTkgNDEuOC03Ni44IDczLjFMMTEyIDI2NC4yIDExMiAyMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxOS42LTIyLjUtOS43Yy0xMi4yLTUuMi0yNi4zIC40LTMxLjUgMTIuNnMuNCAyNi4zIDEyLjYgMzEuNWMzNi4xIDE1LjUgNzUuOSAzMi41IDExOS40IDUxLjItMy45IDE0LjktNiAzMC42LTYgNDYuNyAwIDcwIDM5LjEgMTMwLjggOTYuNiAxNjEuOSA3LjkgNC4zIDE2LjkgNi4xIDI1LjkgNi4xbDEyMyAwYzkgMCAxOC0xLjggMjUuOS02LjEgNTcuNS0zMS4xIDk2LjYtOTIgOTYuNi0xNjEuOSAwLTE2LjItMi4xLTMxLjgtNi00Ni43IDQzLjUtMTguNyA4My40LTM1LjcgMTE5LjQtNTEuMiAxMi4yLTUuMiAxNy44LTE5LjMgMTIuNi0zMS41cy0xOS4zLTE3LjgtMzEuNS0xMi42bC0yMi41IDkuNyAwLTE5LjZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MC4yLTQ4LjIgMjAuNmMtMTcuOS0zMS4zLTQ0LjYtNTYuOC03Ni44LTczLjF6TTI5NiA0MTZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMjQtMTIwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjQ4IDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTM2OCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTI5Mi4yIDE1OS4zYy0yLjctNC44LTQuMi0xMC4yLTQuMi0xNS43IDAtMTcuNSAxNC4yLTMxLjYgMzEuNi0zMS42bC44IDBjMTcuNSAwIDMxLjYgMTQuMiAzMS42IDMxLjYgMCA1LjUtMS40IDEwLjktNC4yIDE1LjdMMzI3IDE5NS44Yy0zLjEgNS40LTEwLjggNS40LTEzLjkgMGwtMjAuOS0zNi42eiJdfSxKOXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG90ZWwiLGljb246WzUxMiw1MTIsWzEyNzk3Nl0sImY1OTQiLCJNMTYgMjRDMTYgMTAuNyAyNi43IDAgNDAgMEw0NzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgNDE2IDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw0MCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDE2LTggMEMyNi43IDQ4IDE2IDM3LjMgMTYgMjR6bTIwOCA4OGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xMjggOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptOTYgMTEybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTM1MiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0xMTIgMjA4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTI0MC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0yODggMzg0bDQzLjggMGM5LjkgMCAxNy41LTkgMTQtMTguMi0xMy44LTM2LjEtNDguOC02MS44LTg5LjctNjEuOHMtNzUuOSAyNS43LTg5LjcgNjEuOGMtMy41IDkuMiA0LjEgMTguMiAxNCAxOC4ybDQzLjggMCAwIDgwIDY0IDAgMC04MHoiXX0sSzl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InByaW50IixpY29uOls1MTIsNTEyLFsxMjg0MjQsMTI4NDM4LDkxMTNdLCJmMDJmIiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDM0MS41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsNDIuNSA0Mi41YzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNsMCAzNy41LTM4NCAwIDAtODB6TTAgMjU2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDAgMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjQtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnpNMTI4IDQxNmwwIDMyIDI1NiAwIDAtOTYtMjU2IDAgMCA2NHpNNDU2IDI3MmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxhbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9sbGV5YmFsbCIsaWNvbjpbNTEyLDUxMixbMTI3OTUyLCJ2b2xsZXliYWxsLWJhbGwiXSwiZjQ1ZiIsIk01MTIgMjU4LjljLTIzLjQgOC00Ny44IDEzLjEtNzIuNiAxNS4xIDUuOS05OC42LTMwLjctMTkxLjEtOTQuOS0yNTguMyA5Ny44IDM2IDE2Ny41IDEzMCAxNjcuNSAyNDAuMyAwIDEgMCAxLjkgMCAyLjl6bS01LjkgNTJjLTUuMiAyMy43LTEzLjYgNDYuMi0yNC45IDY2LjktOTQuNyA1Mi4yLTIxNCA1MC0zMDguNC0xMy42IDIxLjctMzEuMyA0OS44LTU4LjkgODMuOC04MC41IDc5LjUgNDEuNiAxNjguNSA0OS4xIDI0OS41IDI3LjF6TTI3OS43IDI0MS42Yy0zLjctODkuNy00MS43LTE3MC41LTEwMS4zLTIyOS43IDIyLjMtNy4xIDQ2LTExLjIgNzAuNS0xMS45IDkyLjUgNTUuOSAxNTAuMyAxNjAuMyAxNDIuNCAyNzMuOC0zOC0zLjItNzUuOS0xMy43LTExMS42LTMyLjN6TTEzMC41IDMyLjhDMTQ5LjEgNDkuMSAxNjUuOCA2Ny43IDE3OS45IDg4LjIgOTEuNSAxMzIuMyAyOS43IDIxMC4zIDMuNyAyOTkuNSAxLjMgMjg1LjMgMCAyNzAuOCAwIDI1NiAwIDE2MC4yIDUyLjYgNzYuNyAxMzAuNSAzMi44em03My40IDk3YzE2LjMgMzQuNSAyNi4xIDcyLjYgMjcuOSAxMTIuOC03NS44IDQ4LTEyNi44IDEyMS4zLTE0OC4zIDIwMi41LTE3LjYtMTYuMS0zMy0zNC42LTQ1LjUtNTUgMi4xLTEwOC4xIDYzLjctMjEwLjQgMTY1LjktMjYwLjN6TTI1NiA1MTJjLTQ3LjcgMC05Mi4zLTEzLTEzMC41LTM1LjcgNC44LTI0LjMgMTIuNi00OCAyMy4yLTcwLjQgODIuNCA1NC40IDE4MC44IDY4LjkgMjcxIDQ3LTQ0LjQgMzctMTAxLjUgNTkuMi0xNjMuNyA1OS4yeiJdfSxlZ3Q9YWxlLHRndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFmZmljLWxpZ2h0IixpY29uOlszMjAsNTEyLFsxMjg2NzhdLCJmNjM3IiwiTTY0LTMyQzI4LjctMzIgMC0zLjMgMCAzMkwwIDM4NGMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MHMxNjAtNzEuNiAxNjAtMTYwbDAtMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0LTMyem05NiAzOTJjMzAuOSAwIDU2IDI1LjEgNTYgNTZzLTI1LjEgNTYtNTYgNTYtNTYtMjUuMS01Ni01NiAyNS4xLTU2IDU2LTU2em01Ni0xMDRhNTYgNTYgMCAxIDEgLTExMiAwIDU2IDU2IDAgMSAxIDExMiAwek0xNjAgMTUyYTU2IDU2IDAgMSAxIDAtMTEyIDU2IDU2IDAgMSAxIDAgMTEyeiJdfSxyZ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTU1IiwiTTIzMiAyNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI3LjMgNzggNzEuNWMtNjkuMyAyOS0xMTggOTcuNC0xMTggMTc3LjIgMCA0OS4zIDE4LjYgOTQuMyA0OS4xIDEyOC4zTDI4OCA1MTIgMTc5LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDNTguNyAzOTYuNCA0OCAzODguNyA0OCAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMzIgMTUxLjMgMjMyIDI0ek0zNTIgNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIwMS40LTYwLjljLTcuMS01LjItMTcuMi0zLjYtMjIuNCAzLjVsLTUzIDcyLjktMjYuOC0yNi44Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDQwIDQwYzMuMyAzLjMgNy45IDUgMTIuNiA0LjZzOC45LTIuOCAxMS43LTYuNWw2NC04OGM1LjItNy4xIDMuNi0xNy4yLTMuNS0yMi4zeiJdfSxOQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VycyIsaWNvbjpbNjQwLDUxMixbXSwiZjBjMCIsIk0zMjAgMTZhMTA0IDEwNCAwIDEgMSAwIDIwOCAxMDQgMTA0IDAgMSAxIDAtMjA4ek05NiA4OGE3MiA3MiAwIDEgMSAwIDE0NCA3MiA3MiAwIDEgMSAwLTE0NHpNMCA0MTZjMC03MC43IDU3LjMtMTI4IDEyOC0xMjggMTIuOCAwIDI1LjIgMS45IDM2LjkgNS40LTMyLjkgMzYuOC01Mi45IDg1LjQtNTIuOSAxMzguNmwwIDE2YzAgMTEuNCAyLjQgMjIuMiA2LjcgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyem01MjEuMyA2NGM0LjMtOS44IDYuNy0yMC42IDYuNy0zMmwwLTE2YzAtNTMuMi0yMC0xMDEuOC01Mi45LTEzOC42IDExLjctMy41IDI0LjEtNS40IDM2LjktNS40IDcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTg2LjcgMHpNNDcyIDE2MGE3MiA3MiAwIDEgMSAxNDQgMCA3MiA3MiAwIDEgMSAtMTQ0IDB6TTE2MCA0MzJjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBzMTYwIDcxLjYgMTYwIDE2MGwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNnoiXX0sYWd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNlcnRpZmljYXRlIixpY29uOls1NzYsNTEyLFtdLCJmMGEzIiwiTTIzOS4yLThjLTYuMS02LjItMTUtOC43LTIzLjQtNi40UzIwMC45LTUuNiAxOTguOCAyLjhMMTgzLjUgNjNjLTEuMSA0LjQtNS42IDctOS45IDUuN0wxMTMuOCA1MS45Yy04LjQtMi40LTE3LjQgMC0yMy41IDYuMXMtOC41IDE1LjEtNi4xIDIzLjVsMTYuOSA1OS44YzEuMiA0LjMtMS40IDguOC01LjcgOS45TDM1LjEgMTY2LjVjLTguNCAyLjEtMTUgOC43LTE3LjMgMTcuMXMuMiAxNy4zIDYuNCAyMy40bDQ0LjUgNDMuM2MzLjIgMy4xIDMuMiA4LjMgMCAxMS41TDI0LjMgMzA1LjFjLTYuMiA2LjEtOC43IDE1LTYuNCAyMy40czguOSAxNC45IDE3LjMgMTcuMWw2MC4yIDE1LjNjNC40IDEuMSA3IDUuNiA1LjcgOS45TDg0LjIgNDMwLjVjLTIuNCA4LjQgMCAxNy40IDYuMSAyMy41czE1LjEgOC41IDIzLjUgNi4xbDU5LjgtMTYuOWM0LjMtMS4yIDguOCAxLjQgOS45IDUuN2wxNS4zIDYwLjJjMi4xIDguNCA4LjcgMTUgMTcuMSAxNy4zczE3LjMtLjIgMjMuNC02LjRsNDMuMy00NC41YzMuMS0zLjIgOC4zLTMuMiAxMS41IDBMMzM3LjMgNTIwYzYuMSA2LjIgMTUgOC43IDIzLjQgNi40czE0LjktOC45IDE3LjEtMTcuM0wzOTMuMSA0NDljMS4xLTQuNCA1LjYtNyA5LjktNS43bDU5LjggMTYuOWM4LjQgMi40IDE3LjQgMCAyMy41LTYuMXM4LjUtMTUuMSA2LjEtMjMuNWwtMTYuOS01OS44Yy0xLjItNC4zIDEuNC04LjggNS43LTkuOWw2MC4yLTE1LjNjOC40LTIuMSAxNS04LjcgMTcuMy0xNy4xcy0uMi0xNy40LTYuNC0yMy40bC00NC41LTQzLjNjLTMuMi0zLjEtMy4yLTguMyAwLTExLjVsNDQuNS00My4zYzYuMi02LjEgOC43LTE1IDYuNC0yMy40cy04LjktMTQuOS0xNy4zLTE3LjFsLTYwLjItMTUuM2MtNC40LTEuMS03LTUuNi01LjctOS45bDE2LjktNTkuOGMyLjQtOC40IDAtMTcuNC02LjEtMjMuNXMtMTUuMS04LjUtMjMuNS02LjFMNDAzIDY4LjhjLTQuMyAxLjItOC44LTEuNC05LjktNS43TDM3Ny44IDIuOGMtMi4xLTguNC04LjctMTUtMTcuMS0xNy4zcy0xNy4zIC4yLTIzLjQgNi40TDI5NCAzNi41Yy0zLjEgMy4yLTguMyAzLjItMTEuNSAwTDIzOS4yLTh6Il19LGlndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbGFybS1jbG9jayIsaWNvbjpbNTEyLDUxMixbOTIwMF0sImYzNGUiLCJNNTA0LjQgMTMyLjVjLTQuNSAxMC41LTE4LjQgOS44LTI0LjkgLjQtMjcuOC00MC02Ni4xLTcyLjItMTExLTkyLjYtMTAuNC00LjctMTMuNy0xOC4zLTQuMS0yNC42IDE1LTkuOSAzMy0xNS43IDUyLjMtMTUuNyA1Mi42IDAgOTUuMiA0Mi42IDk1LjIgOTUuMiAwIDEzLjItMi43IDI1LjgtNy42IDM3LjN6bS00NzEuOSAuNGMtNi41IDkuNC0yMC41IDEwLjEtMjQuOS0uNC00LjktMTEuNS03LjYtMjQuMS03LjYtMzcuMyAwLTUyLjYgNDIuNi05NS4yIDk1LjItOTUuMiAxOS4zIDAgMzcuMyA1LjggNTIuMyAxNS43IDkuNiA2LjMgNi4zIDE5LjktNC4xIDI0LjYtNDQuOCAyMC40LTgzLjEgNTIuNi0xMTEgOTIuNnpNMzkwLjIgNDY3LjRDMzUyLjggNDk1LjQgMzA2LjMgNTEyIDI1NiA1MTJzLTk2LjgtMTYuNi0xMzQuMS00NC42TDg2LjYgNTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDM1LjItMzUuMkM0OC42IDM4NC44IDMyIDMzOC4zIDMyIDI4OCAzMiAxNjQuMyAxMzIuMyA2NCAyNTYgNjRTNDgwIDE2NC4zIDQ4MCAyODhjMCA1MC4zLTE2LjYgOTYuOC00NC42IDEzNC4ybDM1LjIgMzUuMmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtMzUuMi0zNS4yek0yODAgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTA0YzAgNi40IDIuNSAxMi41IDcgMTdsNTYgNTZjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC00OS00OSAwLTk0LjF6Il19LG5ndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWxpY29wdGVyLXN5bWJvbCIsaWNvbjpbNTEyLDUxMixbXSwiZTUwMiIsIk00NDUuNCAyMjRsNjQuNyAwQzQ5NS42IDEwOC4yIDQwMy44IDE2LjQgMjg4IDJsMCA2NC43QzM2OC40IDgwLjEgNDMxLjkgMTQzLjYgNDQ1LjQgMjI0ek01MTAgMjg4bC02NC43IDBDNDMxLjkgMzY4LjQgMzY4LjQgNDMxLjkgMjg4IDQ0NS4zbDAgNjQuN2MxMTUuOC0xNC40IDIwNy42LTEwNi4yIDIyMi0yMjJ6TTIgMjg4QzE2LjQgNDAzLjggMTA4LjIgNDk1LjYgMjI0IDUxMGwwLTY0LjdDMTQzLjYgNDMxLjkgODAuMiAzNjguNCA2Ni43IDI4OEwyIDI4OHptMC02NGw2NC43IDBDODAuMiAxNDMuNiAxNDMuNiA4MC4xIDIyNCA2Ni43TDIyNCAyQzEwOC4yIDE2LjQgMTYuNCAxMDguMiAyIDIyNHptMjA2LTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA5NiAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0LTk2IDAgMC02NHoiXX0saWxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXktY3JhY2siLGljb246WzUxMiw1MTIsWyJob3VzZS1kYW1hZ2UiXSwiZjZmMSIsIk0yMzQuMiA4LjZjMTIuMy0xMS40IDMxLjMtMTEuNCA0My41IDBMMzY4IDkyLjMgMzY4IDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMDEuNSAzNy44IDM1LjFjOS42IDkgMTIuOCAyMi45IDggMzUuMVM0OTMuMiAyNzIgNDgwIDI3MmwtMTYgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTA1LjYgMC0zOC40LTY0IDgwLjgtNjcuM2M3LjgtNi41IDcuNi0xOC42LS40LTI0LjlMMjE4LjYgMjYzLjJjLTE0LjYtMTEuNS0zMy44IDctMjIuOCAyMkwyNTYgMzY4IDE3MC41IDQzOS4yYy02LjEgNS03LjUgMTMuOC0zLjUgMjAuNWwzMS4zIDUyLjItODYuNCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6Il19LHNndD1pbGUsb2d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1taWxpdGFyeS1wb2ludGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZTU0YSIsIk0yMTQuOSAxNC4xQzIwMiAxNS4yIDE5MiAyNiAxOTIgMzkgMTkyIDUyLjggMjAzLjIgNjQgMjE3IDY0bDE1MSAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMwLjZDMzg0IDggMzc2IC43IDM2Ni43IDEuNEwyMTQuOSAxNC4xek0yMDggMTEyYzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC01LjUtLjYtMTAuOC0xLjYtMTZMMjA5LjYgOTZjLTEgNS4yLTEuNiAxMC41LTEuNiAxNnpNNDAgMjI0Yy0yMi4xIDAtNDAgMTcuOS00MCA0MHMxNy45IDQwIDQwIDQwbDE1MiAwIDAgODkuNCAxNjIuOC0xNjIuOGMtMTMuMy00LjMtMjcuMy02LjUtNDEuNi02LjVMNDAgMjI0em0zNDUuNyAyMC45bC0xNzEuMSAxNzEuMSAxNjkuNCAwIDAtNDYuMyA1My42IDkwLjZjMTEuMiAxOSAzNS44IDI1LjMgNTQuOCAxNC4xczI1LjMtMzUuOCAxNC4xLTU0LjhMNDMwLjMgMjkwLjhjLTExLjItMTktMjYuNi0zNC41LTQ0LjYtNDUuOXpNMTkyIDQ0OGwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzItMTkyIDB6Il19LGxndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkYXRhYmFzZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjFjMCIsIk00NDggMjA1LjhjLTE0LjggOS44LTMxLjggMTcuNy00OS41IDI0LTQ3IDE2LjgtMTA4LjcgMjYuMi0xNzQuNSAyNi4yUzk2LjQgMjQ2LjUgNDkuNSAyMjkuOGMtMTcuNi02LjMtMzQuNy0xNC4yLTQ5LjUtMjRMMCAyODhjMCA0NC4yIDEwMC4zIDgwIDIyNCA4MHMyMjQtMzUuOCAyMjQtODBsMC04Mi4yem0wLTc3LjhsMC00OEM0NDggMzUuOCAzNDcuNyAwIDIyNCAwUzAgMzUuOCAwIDgwbDAgNDhjMCA0NC4yIDEwMC4zIDgwIDIyNCA4MHMyMjQtMzUuOCAyMjQtODB6TTM5OC41IDM4OS44QzM1MS42IDQwNi41IDI4OS45IDQxNiAyMjQgNDE2Uzk2LjQgNDA2LjUgNDkuNSAzODkuOGMtMTcuNi02LjMtMzQuNy0xNC4yLTQ5LjUtMjRMMCA0MzJjMCA0NC4yIDEwMC4zIDgwIDIyNCA4MHMyMjQtMzUuOCAyMjQtODBsMC02Ni4yYy0xNC44IDkuOC0zMS44IDE3LjctNDkuNSAyNHoiXX0sY2d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5ld3NwYXBlciIsaWNvbjpbNTEyLDUxMixbMTI4MjQwXSwiZjFlYSIsIk0wIDQxNkwwIDEyMGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRMOTYgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NHpNMTYwIDEyOGwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTI0IDI0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjQwIDB6bS0yNC03MmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0ek0zNjAgMTc2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTY0IDB6Il19LGRndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1yYWluIixpY29uOls1MTIsNTEyLFsxMjc3ODMsOTkyNl0sImY3M2QiLCJNOTYgMzIwYy01MyAwLTk2LTQzLTk2LTk2IDAtNDIuNSAyNy42LTc4LjYgNjUuOS05MS4yLTEuMy02LjctMS45LTEzLjctMS45LTIwLjggMC02MS45IDUwLjEtMTEyIDExMi0xMTIgNDMuMSAwIDgwLjUgMjQuMyA5OS4yIDYwIDE0LjctMTcuMSAzNi41LTI4IDYwLjgtMjggNDQuMiAwIDgwIDM1LjggODAgODAgMCA1LjUtLjYgMTAuOC0xLjYgMTYgLjUgMCAxLjEgMCAxLjYgMCA1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5Nkw5NiAzMjB6bTEuNiA2OC4yYzEuMS0yLjUgMy42LTQuMiA2LjQtNC4yczUuMyAxLjYgNi40IDQuMmwzMC4yIDY4LjJjMi4yIDUuMSAzLjQgMTAuNSAzLjQgMTYgMCAyMS45LTE4LjEgMzkuNi00MCAzOS42cy00MC0xNy43LTQwLTM5LjZjMC01LjUgMS4yLTExIDMuNC0xNmwzMC4yLTY4LjJ6bTE1MiAwYzEuMS0yLjUgMy42LTQuMiA2LjQtNC4yczUuMyAxLjYgNi40IDQuMmwzMC4yIDY4LjJjMi4yIDUuMSAzLjQgMTAuNSAzLjQgMTYgMCAyMS45LTE4LjEgMzkuNi00MCAzOS42cy00MC0xNy43LTQwLTM5LjZjMC01LjUgMS4yLTExIDMuNC0xNmwzMC4yLTY4LjJ6bTEyMS44IDY4LjJsMzAuMi02OC4yYzEuMS0yLjUgMy42LTQuMiA2LjQtNC4yczUuMyAxLjYgNi40IDQuMmwzMC4yIDY4LjJjMi4yIDUuMSAzLjQgMTAuNSAzLjQgMTYgMCAyMS45LTE4LjEgMzkuNi00MCAzOS42cy00MC0xNy43LTQwLTM5LjZjMC01LjUgMS4yLTExIDMuNC0xNnoiXX0sbmxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1heGltaXplIixpY29uOls0NDgsNTEyLFsiZXhwYW5kLWFycm93cy1hbHQiXSwiZjMxZSIsIk0xNjggMzJMMjQgMzJDMTAuNyAzMiAwIDQyLjcgMCA1NkwwIDIwMGMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJTMzQuMSAyMjMuOCA0MSAyMTdsNDAtNDAgNzkgNzktNzkgNzktNDAtNDBjLTYuOS02LjktMTcuMi04LjktMjYuMi01LjJTMCAzMDIuMyAwIDMxMkwwIDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNDQgMGM5LjcgMCAxOC41LTUuOCAyMi4yLTE0LjhzMS43LTE5LjMtNS4yLTI2LjJsLTQwLTQwIDc5LTc5IDc5IDc5LTQwIDQwYy02LjkgNi45LTguOSAxNy4yLTUuMiAyNi4yUzI3MC4zIDQ4MCAyODAgNDgwbDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTQ0YzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMnMtMTkuMy0xLjctMjYuMiA1LjJsLTQwIDQwLTc5LTc5IDc5LTc5IDQwIDQwYzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJTNDQ4IDIwOS43IDQ0OCAyMDBsMC0xNDRjMC0xMy4zLTEwLjctMjQtMjQtMjRMMjgwIDMyYy05LjcgMC0xOC41IDUuOC0yMi4yIDE0LjhTMjU2LjIgNjYuMSAyNjMgNzNsNDAgNDAtNzkgNzktNzktNzkgNDAtNDBjNi45LTYuOSA4LjktMTcuMiA1LjItMjYuMlMxNzcuNyAzMiAxNjggMzJ6Il19LHVndD1ubGUscGd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2F0aW9uLWFycm93IixpY29uOls1MTIsNTEyLFtdLCJmMTI0IiwiTTQ3Ny45IDc1LjVjNC41LTExLjggMS43LTI1LjItNy4yLTM0LjFzLTIyLjMtMTEuOC0zNC4xLTcuMmwtNDE2IDE2MEM3LjkgMTk5LS4zIDIxMS4yIDAgMjI0LjdzOS4xIDI1LjQgMjEuOSAyOS42bDE3Ni44IDU4LjkgNTguOSAxNzYuOGM0LjMgMTIuOCAxNi4xIDIxLjYgMjkuNiAyMS45czI1LjctNy45IDMwLjYtMjAuNWwxNjAtNDE2eiJdfSxmZ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2l0eSIsaWNvbjpbNTc2LDUxMixbMTI3OTYxXSwiZjY0ZiIsIk0zMjAgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMi00OCAwIDAtNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA3Mi02NCAwIDAtNzJDOTYgMTAuNyA4NS4zIDAgNzIgMFM0OCAxMC43IDQ4IDI0bDAgNzRjLTI3LjYgNy4xLTQ4IDMyLjItNDggNjJMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDAgMC0xMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRMMzIwIDB6bTY0IDExMmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2em0tMTYgODBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMHptMTYgMTEybDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZ6bTExMi0xNmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwek0yNTYgMzA0bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZ6TTI0MCAxOTJjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMHpNMTI4IDMwNGwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2ek0xMTIgMTkyYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6Il19LGhndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ4LXJheSIsaWNvbjpbNTEyLDUxMixbXSwiZjQ5NyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMzIwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0em0yODAgNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNi02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY0IDAgMCA0OC04MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDAgMCA0OC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY0IDAgMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNjQgMCAwLTQ4IDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDAgMC00OCA2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwIDAtMTZ6Il19LG1ndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1bWJyZWxsYS1iZWFjaCIsaWNvbjpbNTEyLDUxMixbMTI3OTU4XSwiZjVjYSIsIk00OTcuNSAzNDEuMWMtNS45IDE2LjctMjUuMyAyMy00MS4xIDE1LjFsLTE3OC4yLTg5LjEtMS42IDMuMi04OC44IDE3Ny43IDI5Mi4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDg0LjIgMCAxMDMuMi0yMDYuMyAxLjYtMy4yLTE2NS40LTgyLjdjLTE1LjgtNy45LTIyLjQtMjcuMy0xMi41LTQyIDQ1LjktNjguNiAxMjQuMS0xMTMuOCAyMTIuOS0xMTMuOCAxNDEuNCAwIDI1NiAxMTQuNiAyNTYgMjU2IDAgMjkuOC01LjEgNTguNS0xNC41IDg1LjF6Il19LHNsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yaWdodC10by1icmFja2V0IixpY29uOls1MTIsNTEyLFsic2lnbi1pbiJdLCJmMDkwIiwiTTM1MiA5Nmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTI1NmMwLTUzLTQzLTk2LTk2LTk2bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyem0tOS40IDE4Mi42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wyNDIuNyAyMjQgMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIxMC43IDAtNzMuNCA3My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6Il19LGdndD1zbGUsYmd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWRzZXQiLGljb246WzQ0OCw1MTIsW10sImY1OTAiLCJNMjI0IDY0Yy03OSAwLTE0NC43IDU3LjMtMTU3LjcgMTMyLjcgOS4zLTMgMTkuMy00LjcgMjkuNy00LjdsMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNiAwYy01MyAwLTk2LTQzLTk2LTk2bDAtNjRDMCAxMDAuMyAxMDAuMyAwIDIyNCAwUzQ0OCAxMDAuMyA0NDggMjI0bDAgMTY4LjFjMCA2Ni4zLTUzLjggMTIwLTEyMC4xIDEyMGwtODcuOS0uMS0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAwIDQwIDBjMzkuOCAwIDcyLTMyLjIgNzItNzJsMC0yMC45Yy0xNC4xIDguMi0zMC41IDEyLjgtNDggMTIuOGwtMTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTI2LjUgMjEuNS00OCA0OC00OGwxNiAwYzEwLjQgMCAyMC4zIDEuNiAyOS43IDQuNy0xMy03NS4zLTc4LjYtMTMyLjctMTU3LjctMTMyLjd6Il19LHZndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGxvdGNoIixpY29uOls1MTIsNTEyLFtdLCJmNWJjIiwiTTIwOC41IDYyLjNsMjguMS0zNi45QzI0OC44IDkuNCAyNjcuOCAwIDI4OCAwIDMxNi41IDAgMzQxLjYgMTguNyAzNDkuOCA0NmwxNy44IDU5LjRjMTAuMyAzNC40IDM2LjEgNjIgNjkuOCA3NC42bDM5LjggMTQuOWMyMC45IDcuOSAzNC44IDI3LjkgMzQuOCA1MC4yIDAgMTYuOS03LjkgMzIuOC0yMS41IDQyLjlsLTY3LjMgNTAuNWMtMjQuMyAxOC4yLTM3LjIgNDcuOS0zMy44IDc4LjFsMi41IDIyLjdjNC4zIDM4LjctMjYgNzIuNi02NSA3Mi42LTE0LjggMC0yOS4zLTUuMS00MC45LTE0LjNsLTU1LjMtNDQuM2MtNC41LTMuNi05LjMtNi43LTE0LjUtOS4yLTE1LjgtNy45LTMzLjctMTAuNC01MS03LjNMODIuNCA0NTEuOWMtMzQuNiA2LjMtNjYuNC0yMC4zLTY2LjQtNTUuNCAwLTEzLjIgNC43LTI2IDEzLjEtMzYuMmwxMS4yLTEzLjRjMTQuNi0xNy40IDIyLjYtMzkuNCAyMi42LTYyLjEgMC0xOC44LTUuNS0zNy4yLTE1LjgtNTNMOC44IDE3My41QzMuMSAxNjQuNyAwIDE1NC40IDAgMTQzLjkgMCAxMTAuNSAzMC4xIDg1LjEgNjMgOTAuN2w1MS4zIDguN2MzNS45IDYuMSA3Mi4yLTguMiA5NC4yLTM3LjF6Il19LG9sZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1sb25nIixpY29uOlszMjAsNTEyLFsibG9uZy1hcnJvdy1hbHQtdXAiXSwiZjMwYyIsIk0xMzcuNC0yMi42YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDEyOCAxMjhjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlTMzAwLjkgMTYwIDI4OCAxNjBsLTY0IDAgMCAzMzZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMzM2LTY0IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhTLjIgMTE0LjUgOS40IDEwNS40bDEyOC0xMjh6Il19LHhndD1vbGUseWd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhleGFnb24tbm9kZXMiLGljb246WzQ0OCw1MTIsW10sImU2OTkiLCJNMjQ4IDEwNi42YzE4LjktOSAzMi0yOC4zIDMyLTUwLjZjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZjMCAyMi4zIDEzLjEgNDEuNiAzMiA1MC42bDAgOTguOGMtMi44IDEuMy01LjUgMi45LTggNC43bC04MC4xLTQ1LjhjMS42LTIwLjgtOC42LTQxLjYtMjcuOS01Mi44QzU3LjIgOTYgMjMgMTA1LjIgNy41IDEzMlMxLjIgMTkzIDI4IDIwOC41YzEuMyAuOCAyLjYgMS41IDQgMi4xbDAgOTAuOGMtMS4zIC42LTIuNyAxLjMtNCAyLjFDMS4yIDMxOS04IDM1My4yIDcuNSAzODBTNTcuMiA0MTYgODQgNDAwLjVjMTkuMy0xMS4xIDI5LjQtMzIgMjcuOC01Mi44bDUwLjUtMjguOWMtMTEuNS0xMS4yLTE5LjktMjUuNi0yMy44LTQxLjdMODggMzA2LjFjLTIuNi0xLjgtNS4yLTMuMy04LTQuN2wwLTkwLjhjMi44LTEuMyA1LjUtMi45IDgtNC43bDgwLjEgNDUuOGMtLjEgMS40LS4yIDIuOC0uMiA0LjNjMCAyMi4zIDEzLjEgNDEuNiAzMiA1MC42bDAgOTguOGMtMTguOSA5LTMyIDI4LjMtMzIgNTAuNmMwIDMwLjkgMjUuMSA1NiA1NiA1NnM1Ni0yNS4xIDU2LTU2YzAtMjIuMy0xMy4xLTQxLjYtMzItNTAuNmwwLTk4LjhjMi44LTEuMyA1LjUtMi45IDgtNC43bDgwLjEgNDUuOGMtMS42IDIwLjggOC42IDQxLjYgMjcuOCA1Mi44YzI2LjggMTUuNSA2MSA2LjMgNzYuNS0yMC41czYuMy02MS0yMC41LTc2LjVjLTEuMy0uOC0yLjctMS41LTQtMi4xbDAtOTAuOGMxLjQtLjYgMi43LTEuMyA0LTIuMWMyNi44LTE1LjUgMzYtNDkuNyAyMC41LTc2LjVTMzkwLjggOTYgMzY0IDExMS41Yy0xOS4zIDExLjEtMjkuNCAzMi0yNy44IDUyLjhsLTUwLjYgMjguOWMxMS41IDExLjIgMTkuOSAyNS42IDIzLjggNDEuN0wzNjAgMjA1LjljMi42IDEuOCA1LjIgMy4zIDggNC43bDAgOTAuOGMtMi44IDEuMy01LjUgMi45LTggNC42bC04MC4xLTQ1LjhjLjEtMS40IC4yLTIuOCAuMi00LjNjMC0yMi4zLTEzLjEtNDEuNi0zMi01MC42bDAtOTguOHoiXX0sakQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9zcGl0YWwiLGljb246WzU3Niw1MTIsWzEyNzk3Myw2MjU4OSwiaG9zcGl0YWwtYWx0IiwiaG9zcGl0YWwtd2lkZSJdLCJmMGY4IiwiTTEyOCA2NGMwLTM1LjMgMjguNy02NCA2NC02NEwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0IDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwIDAtNjR6TTI3MiAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgODAgOTYgMCAwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwek0xMjggMzY4bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTExMiAyNTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHpNNTEyIDM2OGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgMjU2YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6TTI2NCAxMDRsMCAzMi0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMCAwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyIDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LHdndD1qRCxNZ3Q9akQsa2d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1oYXJhc3NpbmciLGljb246WzU3Niw1MTIsW10sImU1NDkiLCJNMTkyIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNNTkuNCAzMDQuNUw4OCAyNTYuOSA4OCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAxNiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNDQuNyA0Ny40IDU3LjFjMTEuMyAxMy42IDMxLjUgMTUuNSA0NS4xIDQuMnMxNS41LTMxLjUgNC4yLTQ1LjFsLTczLjctODguOWMtMTguMi0yMi00NS4zLTM0LjctNzMuOS0zNC43bC0zNS45IDBjLTMzLjcgMC02NC45IDE3LjctODIuMyA0Ni42bC01OC4zIDk3Yy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45ek00ODAgMjQwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQ2NCAzNDRsMCA1OC43LTQxLjQtNDEuNGMtNy4zLTcuMy0xNy42LTEwLjYtMjcuOC05cy0xOC45IDguMS0yMy41IDE3LjNsLTQ4IDk2Yy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsMjguMS01Ni4zIDU0LjcgNTQuN2MxMi40IDEyLjQgMjkuMSAxOS4zIDQ2LjYgMTkuMyAzNi40IDAgNjUuOS0yOS41IDY1LjktNjUuOUw1NzYgMzQ0YzAtMzAuOS0yNS4xLTU2LTU2LTU2cy01NiAyNS4xLTU2IDU2ek0yODggNDhjMCA4LjggNy4yIDE2IDE2IDE2bDU2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptLS44IDQ5LjdjLTcuOS00LTE3LjUtLjctMjEuNSA3LjJzLS43IDE3LjUgNy4yIDIxLjVsNDggMjRjNy45IDQgMTcuNSAuNyAyMS41LTcuMnMuNy0xNy41LTcuMi0yMS41bC00OC0yNHoiXX0sU2d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtdHJlbmQtdXAiLGljb246WzUxMiw1MTIsW10sImU1MjkiLCJNNDgwIDhjMC0xMy4zLTEwLjctMjQtMjQtMjRMMzU0LjItMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDMuOSAwLTExMS4zIDExMS4zLTk1LjEtODEuNWMtOS03LjctMjIuMi03LjctMzEuMiAwbC0xMTIgOTZjLTEwLjEgOC42LTExLjIgMjMuOC0yLjYgMzMuOHMyMy44IDExLjIgMzMuOCAyLjZsOTYuNC04Mi42IDk2LjQgODIuNmM5LjUgOC4yIDIzLjcgNy42IDMyLjYtMS4zbDEyNy0xMjcgMCA0My45YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRMNDgwIDh6TTQ4IDI1NmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhMMCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsNDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNjBjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMjU2em00Ny4zIDU2Yy0zLjQgMjAuMS0xOS4yIDM2LTM5LjQgMzkuNC00LjQgLjctOC0yLjktOC03LjNsMC0zMmMwLTQuNCAzLjYtOCA4LThsMzIgMGM0LjQgMCA4LjEgMy42IDcuMyA4em0wIDE0NC4xYy43IDQuNC0yLjkgOC03LjMgOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtMzJjMC00LjQgMy42LTguMSA4LTcuMyAyMC4xIDMuNCAzNiAxOS4yIDM5LjQgMzkuNHpNNDU2IDQxNi43YzQuNC0uNyA4IDIuOSA4IDcuM2wwIDMyYzAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC4xLTMuNi03LjMtOCAzLjQtMjAuMSAxOS4yLTM2IDM5LjQtMzkuNHpNNDE2LjcgMzEyYy0uNy00LjQgMi45LTggNy4zLThsMzIgMGM0LjQgMCA4IDMuNiA4IDhsMCAzMmMwIDQuNC0zLjYgOC4xLTggNy4zLTIwLjEtMy40LTM2LTE5LjItMzkuNC0zOS40ek0xOTIgMzg0YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHoiXX0sbGxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbi1ydWxlciIsaWNvbjpbNTEyLDUxMixbInBlbmNpbC1ydWxlciJdLCJmNWFlIiwiTTQwNCAwYzE5LjIgMCAzNy42IDcuNiA1MS4xIDIxLjJsMzUuNyAzNS43QzUwNC40IDcwLjQgNTEyIDg4LjggNTEyIDEwOHMtNy42IDM3LjYtMjEuMiA1MS4xTDQ0NS45IDIwNCAzMDggNjYuMSAzNTIuOSAyMS4yQzM2Ni40IDcuNiAzODQuOCAwIDQwNCAwek01OC45IDMxNS4xTDI3NC4xIDEwMCA0MTIgMjM3LjkgMTk2LjkgNDUzLjFjLTEwLjcgMTAuNy0yNC4xIDE4LjUtMzguNyAyMi42TDMwLjQgNTExLjFjLTguMyAyLjMtMTcuMyAwLTIzLjQtNi4ycy04LjUtMTUuMS02LjItMjMuNEwzNi40IDM1My44YzQuMS0xNC42IDExLjgtMjcuOSAyMi42LTM4Ljd6TTIyNS40IDgwLjhMODAuOCAyMjUuNCAxMS43IDE1Ni4zYy0xNS42LTE1LjYtMTUuNi00MC45IDAtNTYuNmw4OC04OGMxNS42LTE1LjYgNDAuOS0xNS42IDU2LjYgMGw1LjkgNS45LTU2LjMgNTYuM2MtNy44IDcuOC03LjggMjAuNSAwIDI4LjNzMjAuNSA3LjggMjguMyAwbDU2LjMtNTYuMyAzNC45IDM0Ljl6TTQzMS4yIDI4Ni42bDM0LjkgMzQuOS01Ni4zIDU2LjNjLTcuOCA3LjgtNy44IDIwLjUgMCAyOC4zczIwLjUgNy44IDI4LjMgMGw1Ni4zLTU2LjMgNS45IDUuOWMxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNmwtODggODhjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwbC02OS4xLTY5LjEgMTQ0LjYtMTQ0LjZ6Il19LHpndD1sbGUsQ2d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlcGVhdCIsaWNvbjpbNTEyLDUxMixbMTI4MjU3XSwiZjM2MyIsIk00NzAuNiAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzM1MiAxOS4xIDM1MiAzMmwwIDMyLTE2MCAwQzg2IDY0IDAgMTUwIDAgMjU2IDAgMjczLjcgMTQuMyAyODggMzIgMjg4czMyLTE0LjMgMzItMzJjMC03MC43IDU3LjMtMTI4IDEyOC0xMjhsMTYwIDAgMCAzMmMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDY0LTY0ek00MS40IDM5My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOVMxNjAgNDkyLjkgMTYwIDQ4MGwwLTMyIDE2MCAwYzEwNiAwIDE5Mi04NiAxOTItMTkyIDAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0xNjAgMCAwLTMyYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NHoiXX0sVGd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvbmUiLGljb246WzY0MCw1MTIsWzEyOTQ2MF0sImY1ZDciLCJNMTk3LjQgMTYwYy0zLjkgMC03LjItMi44LTguMS02LjYtMTAuMi00Mi4xLTQ4LjEtNzMuNC05My4zLTczLjQtNTMgMC05NiA0My05NiA5NiAwIDI5LjEgMTIuOSA1NS4xIDMzLjMgNzIuNyA0LjMgMy43IDQuMyAxMC44IDAgMTQuNS0yMC40IDE3LjYtMzMuMyA0My43LTMzLjMgNzIuNyAwIDUzIDQzIDk2IDk2IDk2IDQ1LjIgMCA4My4xLTMxLjMgOTMuMy03My40IC45LTMuOCA0LjItNi42IDguMS02LjZsMjQ1LjEgMGMzLjkgMCA3LjIgMi44IDguMSA2LjYgMTAuMiA0Mi4xIDQ4LjEgNzMuNCA5My4zIDczLjQgNTMgMCA5Ni00MyA5Ni05NiAwLTI5LjEtMTIuOS01NS4xLTMzLjMtNzIuNy00LjMtMy43LTQuMy0xMC44IDAtMTQuNSAyMC40LTE3LjYgMzMuMy00My43IDMzLjMtNzIuNyAwLTUzLTQzLTk2LTk2LTk2LTQ1LjIgMC04My4xIDMxLjMtOTMuMyA3My40LS45IDMuOC00LjIgNi42LTguMSA2LjZsLTI0NS4xIDB6Il19LGNsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlLWZsYW1lLWN1cnZlZCIsaWNvbjpbMzg0LDUxMixbImZpcmUtYWx0Il0sImY3ZTQiLCJNMTUzLjYgMjkuOWwxNi0yMS4zQzE3My42IDMuMiAxODAgMCAxODYuNyAwIDE5OC40IDAgMjA4IDkuNiAyMDggMjEuM2wwIDIyLjFjMCAxMy4xIDUuNCAyNS43IDE0LjkgMzQuN0wzMDcuNiAxNTlDMzU2LjQgMjA1LjYgMzg0IDI3MC4yIDM4NCAzMzcuNyAzODQgNDM0IDMwNiA1MTIgMjA5LjcgNTEyTDE5MiA1MTJDODYgNTEyIDAgNDI2IDAgMzIwbDAtMy44YzAtNDguOCAxOS40LTk1LjYgNTMuOS0xMzAuMWwzLjUtMy41YzQuMi00LjIgMTAtNi42IDE2LTYuNiAxMi41IDAgMjIuNiAxMC4xIDIyLjYgMjIuNkw5NiAyODhjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGwwLTMuOWMwLTE4LTcuMi0zNS4zLTE5LjktNDhsLTM4LjYtMzguNmMtMjQtMjQtMzcuNS01Ni43LTM3LjUtOTAuNyAwLTI3LjcgOS01NC44IDI1LjYtNzYuOXoiXX0sX2d0PWNsZSxkbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVzLXNpbXBsZSIsaWNvbjpbNDQ4LDUxMixbImJ1cy1hbHQiXSwiZjU1ZSIsIk05NiAwQzQzIDAgMCA0MyAwIDk2TDAgMzg0YzAgMjkuOCAyMC40IDU0LjkgNDggNjJsMCAzNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIgMTkyIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzRjMjcuNi03LjEgNDgtMzIuMiA0OC02MmwwLTI4OGMwLTUzLTQzLTk2LTk2LTk2TDk2IDB6TTY0IDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnpNOTYgMzIwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMjU2IDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxMZ3Q9ZGxlLCRndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2ZW51cy1tYXJzIixpY29uOls2NDAsNTEyLFs5ODkyXSwiZjIyOCIsIk00ODAtNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyUzQ2Mi4zIDAgNDgwIDBMNTMwLjcgMCA0NzQgNTYuN2MtMjYuMy0xNS43LTU3LjEtMjQuNy05MC0yNC43LTM1LjQgMC02OC40IDEwLjUtOTYgMjguNS0yNy42LTE4LTYwLjYtMjguNS05Ni0yOC41LTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2IDAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMWwwIDM0LjktMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zNC45YzIzLjMtNC4zIDQ0LjktMTMuMSA2NC0yNS42IDI3LjYgMTggNjAuNiAyOC41IDk2IDI4LjUgOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzYgMC00MS4xLTE0LjEtNzktMzcuOC0xMDlMNTc2IDQ1LjMgNTc2IDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJMNDgwLTY0ek0zMzYgMzA5LjJjMjAuMi0yOC42IDMyLTYzLjUgMzItMTAxLjJzLTExLjgtNzIuNi0zMi0xMDEuMmMxNC42LTYuOSAzMC44LTEwLjggNDgtMTAuOCA2MS45IDAgMTEyIDUwLjEgMTEyIDExMlM0NDUuOSAzMjAgMzg0IDMyMGMtMTcuMiAwLTMzLjUtMy45LTQ4LTEwLjh6TTI4OCAxNTAuM2MxMC4yIDE2LjkgMTYgMzYuNiAxNiA1Ny43cy01LjggNDAuOS0xNiA1Ny43Yy0xMC4yLTE2LjktMTYtMzYuNi0xNi01Ny43czUuOC00MC45IDE2LTU3Ljd6bS00OC00My41Yy0yMC4yIDI4LjYtMzIgNjMuNS0zMiAxMDEuMnMxMS44IDcyLjYgMzIgMTAxLjJjLTE0LjUgNi45LTMwLjggMTAuOC00OCAxMC44LTYxLjkgMC0xMTItNTAuMS0xMTItMTEyUzEzMC4xIDk2IDE5MiA5NmMxNy4yIDAgMzMuNSAzLjkgNDggMTAuOHoiXX0sRGd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJsZW5kZXIiLGljb246WzUxMiw1MTIsW10sImY1MTciLCJNMCA1NkMwIDI1LjEgMjUuMSAwIDU2IDBMNDM3LjYgMGMyMS4zIDAgMzYuNiAyMC4zIDMwLjggNDAuOEw0NTcuMSA4MCAzNDQgODBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsOTkuNCAwLTE4LjMgNjQtODEuMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY3LjQgMC0yNy40IDk2LTI1NiAwLTkuMS05Ni02Mi45IDBjLTMwLjkgMC01Ni0yNS4xLTU2LTU2TDAgNTZ6TTExNC4zIDE5MkwxMDAuNiA0OCA1NiA0OGMtNC40IDAtOCAzLjYtOCA4bDAgMTI4YzAgNC40IDMuNiA4IDggOGw1OC4zIDB6TTEzNiAzODRsMjQwIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtMjQwIDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDB6bTEyMCA4OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LEFndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1IixpY29uOlszODQsNTEyLFsxMTddLCI1NSIsIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIyNGMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOHMxMjgtNTcuMyAxMjgtMTI4bDAtMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAyMjRjMCAxMDYtODYgMTkyLTE5MiAxOTJTMCAzOTQgMCAyODhMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnoiXX0seGI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hhcmUiLGljb246WzUxMiw1MTIsWyJtYWlsLWZvcndhcmQiXSwiZjA2NCIsIk0zMDcuOCAxOC40Yy0xMiA1LTE5LjggMTYuNi0xOS44IDI5LjZsMCA4MC0xMTIgMGMtOTcuMiAwLTE3NiA3OC44LTE3NiAxNzYgMCAxMTMuMyA4MS41IDE2My45IDEwMC4yIDE3NC4xIDIuNSAxLjQgNS4zIDEuOSA4LjEgMS45IDEwLjkgMCAxOS43LTguOSAxOS43LTE5LjcgMC03LjUtNC4zLTE0LjQtOS44LTE5LjUtOS40LTguOC0yMi4yLTI2LjQtMjIuMi01Ni43IDAtNTMgNDMtOTYgOTYtOTZsOTYgMCAwIDgwYzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02Ljl6Il19LEVndD14Yix1bGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGhvbmUtZmxpcCIsaWNvbjpbNTEyLDUxMixbMTI4MzgxLCJwaG9uZS1hbHQiXSwiZjg3OSIsIk0zNTEuOCAyNWM3LjgtMTguOCAyOC40LTI4LjkgNDguMS0yMy41bDUuNSAxLjVjNjQuNiAxNy42IDExOS44IDgwLjIgMTAzLjcgMTU2LjQtMzcuMSAxNzUtMTc0LjggMzEyLjctMzQ5LjggMzQ5LjgtNzYuMyAxNi4yLTEzOC44LTM5LjEtMTU2LjQtMTAzLjdsLTEuNS01LjVjLTUuNC0xOS43IDQuNy00MC4zIDIzLjUtNDguMWw5Ny4zLTQwLjVjMTYuNS02LjkgMzUuNi0yLjEgNDcgMTEuOGwzOC42IDQ3LjJjNzAuMy0zNC45IDEyNi44LTkzLjMgMTU5LjMtMTY0LjlsLTQ0LjEtMzYuMWMtMTMuOS0xMS4zLTE4LjYtMzAuNC0xMS44LTQ3TDM1MS44IDI1eiJdfSxJZ3Q9dWxlLFBndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2lsZXQtcG9ydGFibGUiLGljb246WzMyMCw1MTIsW10sImU1ODMiLCJNMCA2NGwwIDE2IDMyMCAwIDAtMTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMEMyOC43IDAgMCAyOC43IDAgNjR6bTI0IDY0TDAgMTI4IDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04IDIyNCAwIDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzYwLTI5NiAwem0yMjQgOTZsMjQgMCAwIDk2LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjR6Il19LE5ndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tcHJlZ25hbnQiLGljb246WzM4NCw1MTIsW10sImUzMWUiLCJNMTkyIDgwYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyem04MCAzMjEuMmM4LjYtNC41IDE2LjgtMTAgMjQuMy0xNi41bDQtMy40YzIyLjYtMTkuNCAzNS43LTQ3LjcgMzUuNy03Ny42IDAtMzUuOS0xOC44LTY5LjEtNDkuNi04Ny42bC0zMC40LTE4LjIgMC0xLjhjMC00Ni41LTM3LjctODQuMS04NC4xLTg0LjEtMjguMSAwLTU0LjQgMTQuMS03MCAzNy41TDIxLjQgMjcwLjJjLTkuOCAxNC43LTUuOCAzNC42IDguOSA0NC40czM0LjYgNS44IDQ0LjQtOC45bDI5LTQzLjUtMzAuNSAxMTMuNWMtMi42IDkuNi0uNiAxOS45IDUuNSAyNy44Uzk0IDQxNiAxMDQgNDE2bDggMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAzMiAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTExMC44eiJdfSxGZ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVzcy10aGFuIixpY29uOls1MTIsNTEyLFs2Mjc3NF0sIjNjIiwiTTQ3Ny4xIDUwLjZjNy40IDE2IC40IDM1LjEtMTUuNiA0Mi41TDEwOC40IDI1NiA0NjEuNCA0MTljMTYgNy40IDIzIDI2LjQgMTUuNiA0Mi41cy0yNi40IDIzLTQyLjUgMTUuNmwtNDE2LTE5MkM3LjMgMjc5LjggMCAyNjguNSAwIDI1NlM3LjMgMjMyLjIgMTguNiAyMjdsNDE2LTE5MmMxNi03LjQgMzUuMS0uNCA0Mi41IDE1LjZ6Il19LE9ndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdXBlcnNjcmlwdCIsaWNvbjpbNTc2LDUxMixbXSwiZjEyYiIsIk01NDQgMzJjMC0xMS4xLTUuNy0yMS40LTE1LjItMjcuMnMtMjEuMi02LjQtMzEuMS0xLjRsLTMyIDE2QzQ0OS45IDI3LjMgNDQzLjUgNDYuNSA0NTEuNCA2Mi4zIDQ1NyA3My41IDQ2OC4zIDgwIDQ4MCA4MGwwIDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMjh6TTk2IDY0Qzc4LjMgNjQgNjQgNzguMyA2NCA5NnMxNC4zIDMyIDMyIDMybDE1LjMgMCA4OS42IDEyOC04OS42IDEyOC0xNS4zIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMxMC40IDAgMjAuMi01LjEgMjYuMi0xMy42TDI0MCAzMTEuOCAzMjUuOCA0MzQuNGM2IDguNiAxNS44IDEzLjYgMjYuMiAxMy42bDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1LjMgMC04OS42LTEyOCA4OS42LTEyOCAxNS4zIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTEwLjQgMC0yMC4yIDUuMS0yNi4yIDEzLjZMMjQwIDIwMC4yIDE1NC4yIDc3LjZDMTQ4LjIgNjkuMSAxMzguNCA2NCAxMjggNjRMOTYgNjR6Il19LHBsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtc3RvcCIsaWNvbjpbNTEyLDUxMixbNjIwOTQsInN0b3AtY2lyY2xlIl0sImYyOGQiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAxNjBsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sUmd0PXBsZSxmbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXVwLWRvd24iLGljb246WzI1Niw1MTIsWyJhcnJvd3MtdiJdLCJmMDdkIiwiTTE1MC42LTIyLjZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiA3Ny4zIDk2IDQzNC43IDU0LjYgMzkzLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzYgNiAxNC4xIDkuNCAyMi42IDkuNHMxNi42LTMuNCAyMi42LTkuNGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNDEuNCA0MS40IDAtMzU3LjUgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2eiJdfSxCZ3Q9ZmxlLGhsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwb28tc3Rvcm0iLGljb246WzUxMiw1MTIsWyJwb28tYm9sdCJdLCJmNzVhIiwiTTI2OC45LTMxLjhjLTUuNS0uNy0xMSAxLjQtMTQuNSA1LjdzLTQuNiAxMC4xLTIuOCAxNS4zYzIuOCA4LjIgNC4zIDE2LjkgNC4zIDI2LjEgMCAyMS43LTguNSAzNy4yLTIxLjkgNDcuNi0xMy45IDEwLjgtMzQuMSAxNy01OC4xIDE3bC0yNCAwYy00OC42IDAtODggMzkuNC04OCA4OCAwIDE0LjggMy43IDI4LjggMTAuMiA0MS4xLTQyIDYuNi03NC4yIDQzLTc0LjIgODYuOSAwIDQ2LjYgMzYuMiA4NC43IDgxLjkgODcuOCAzLjEtMTIuNCA5LjktMjMuOCAxOS42LTMyLjVMMjQyLjcgMjI1YzEyLjItMTAuOSAyOC0xNyA0NC40LTE3IDQ0LjYgMCA3Ni41IDQzIDYzLjcgODUuN2wtMTIuNyA0Mi40YzI4LjggMS4yIDUyLjcgMjEuMSA1OS44IDQ3LjlsMjYuMiAwYzQ4LjYgMCA4OC0zOS40IDg4LTg4IDAtNDMuOS0zMi4xLTgwLjMtNzQuMi04Ni45IDYuNS0xMi4zIDEwLjItMjYuMiAxMC4yLTQxLjEgMC00OC42LTM5LjQtODgtODgtODhsLTkuNCAwYy45LTUuNCAxLjQtMTAuOSAxLjQtMTYuNiAwLTQ4LjctMzYuMS04OC45LTgzLjEtOTUuMnpNMTQ0LjYgNDE2bDYxLjggMC0zMS4yIDEwNC4xYy0zLjYgMTEuOSA1LjMgMjMuOSAxNy44IDIzLjkgNC42IDAgOS0xLjcgMTIuNC00LjdMMzQ2LjUgNDEyLjljMy41LTMuMSA1LjUtNy42IDUuNS0xMi40IDAtOS4yLTcuNC0xNi42LTE2LjYtMTYuNmwtNjEuOCAwIDMxLjItMTA0LjFjMy42LTExLjktNS4zLTIzLjktMTcuOC0yMy45LTQuNiAwLTkgMS43LTEyLjQgNC43TDEzMy41IDM4Ny4xYy0zLjUgMy4xLTUuNSA3LjYtNS41IDEyLjQgMCA5LjIgNy40IDE2LjYgMTYuNiAxNi42eiJdfSxIZ3Q9aGxlLHFndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aWRlby1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjRlMiIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xNTMtMTUzIDAtMjIyLjJjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI5LjggNjQgNDEtMjQuOXpNMzIgMTI4bDAgMjU2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzcuOCAwIDE1LjMtMS40IDIyLjItNEwzNiAxMDUuOGMtMi42IDYuOS00IDE0LjQtNCAyMi4yek00NjQgMzM2bDczLjUgNTguOGM0LjIgMy40IDkuNCA1LjIgMTQuOCA1LjIgMTMuMSAwIDIzLjctMTAuNiAyMy43LTIzLjdsMC0yNDAuNmMwLTEzLjEtMTAuNi0yMy43LTIzLjctMjMuNy01LjQgMC0xMC42IDEuOC0xNC44IDUuMkw0NjQgMTc2IDQ2NCAzMzZ6Il19LFZEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS14bWFyayIsaWNvbjpbNDQ4LDUxMixbMTAwNjIsInRpbWVzLXNxdWFyZSIsInhtYXJrLXNxdWFyZSJdLCJmMmQzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTcxIDEzNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw1NSA1NSA1NS01NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU1IDU1IDU1IDU1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTU1LTU1LTU1IDU1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDU1LTU1LTU1LTU1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXoiXX0samd0PVZELFZndD1WRCxtbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLWRyb3BsZXQiLGljb246WzU3Niw1MTIsWyJoYW5kLWhvbGRpbmctd2F0ZXIiXSwiZjRjMSIsIk0yNzUuNSA2LjZMMjA5LjIgMTAzQzE5OCAxMTkuMyAxOTIgMTM4LjYgMTkyIDE1OC4zbDAgMS43YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0xLjdjMC0xOS44LTYtMzktMTcuMi01NS4zTDMwMC41IDYuNkMyOTcuNyAyLjUgMjkzIDAgMjg4IDBzLTkuNyAyLjUtMTIuNSA2LjZ6TTEwOS4zIDM0MS41TDY2LjcgMzg0IDMyIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAuNSAwYzI5IDAgNTcuMy05LjMgODAuNy0yNi41bDEyNi42LTkzLjNjMTcuOC0xMy4xIDIxLjYtMzguMSA4LjUtNTUuOXMtMzguMS0yMS42LTU1LjktOC41TDM5Mi42IDQxNiAyODAgNDE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDcyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1Mi4yIDBjLTMzLjkgMC02Ni41IDEzLjUtOTAuNSAzNy41eiJdfSxVZ3Q9bWxlLFVEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Indvbi1zaWduIixpY29uOls1MTIsNTEyLFs4MzYxLCJrcnciLCJ3b24iXSwiZjE1OSIsIk02Mi40IDUzLjlDNTYuOCAzNy4xIDM4LjcgMjguMSAyMS45IDMzLjZTLTMuOSA1Ny40IDEuNyA3NC4xTDU2LjkgMjQwIDMyIDI0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MC45IDAgNTYuNyAxNzAuMWM0LjUgMTMuNSAxNy40IDIyLjQgMzEuNiAyMS45czI2LjQtMTAuNCAyOS44LTI0LjJMMjMzIDI4OCAyNzkgMjg4IDMyMSA0NTUuOGMzLjQgMTMuOCAxNS42IDIzLjcgMjkuOCAyNC4yczI3LjEtOC40IDMxLjYtMjEuOUw0MzkuMSAyODggNDgwIDI4OGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjQuOSAwIDU1LjMtMTY1LjljNS42LTE2LjgtMy41LTM0LjktMjAuMi00MC41cy0zNC45IDMuNS00MC41IDIwLjJsLTYyIDE4Ni4xLTU0LjYgMC00NS45LTE4My44QzI4My41IDQyIDI3MC43IDMyIDI1NiAzMnMtMjcuNSAxMC0zMSAyNC4yTDE3OSAyNDAgMTI0LjQgMjQwIDYyLjQgNTMuOXptNzggMjM0LjFsMjYuNiAwLTExLjQgNDUuNi0xNS4yLTQ1LjZ6TTI0NSAyNDBsMTEtNDQuMSAxMSA0NC4xLTIyIDB6bTEwMCA0OGwyNi42IDAtMTUuMiA0NS42LTExLjQtNDUuNnoiXX0sV2d0PVVELEdndD1VRCxZZ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2JqZWN0LXVuZ3JvdXAiLGljb246WzY0MCw1MTIsW10sImYyNDgiLCJNMzIgMTE5LjRDMTIuOSAxMDguNCAwIDg3LjcgMCA2NCAwIDI4LjcgMjguNyAwIDY0IDAgODcuNyAwIDEwOC40IDEyLjkgMTE5LjQgMzJsMjA5LjEgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyIDM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNGwwIDExMy4xYzE5LjEgMTEuMSAzMiAzMS43IDMyIDU1LjQgMCAzNS4zLTI4LjcgNjQtNjQgNjQtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yMDkuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTExMy4xek0xMTkuNCA5NmMtNS42IDkuNy0xMy43IDE3LjgtMjMuNCAyMy40bDAgMTEzLjFjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40bDIwOS4xIDBjNS42LTkuNyAxMy43LTE3LjggMjMuNC0yMy40bDAtMTEzLjFjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNEwxMTkuNCA5NnpNNTQ0IDI3OS40Yy05LjctNS42LTE3LjgtMTMuNy0yMy40LTIzLjRsLTI5LjIgMGMtNS4zLTE3LjctMTQuOC0zMy41LTI3LjQtNDYuNGwwLTE3LjYgNTYuNiAwYzExLjEtMTkuMSAzMS43LTMyIDU1LjQtMzIgMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgMTEzLjFjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNCAwIDM1LjMtMjguNyA2NC02NCA2NC0yMy43IDAtNDQuNC0xMi45LTU1LjQtMzJsLTIwOS4xIDBjLTExLjEgMTkuMS0zMS43IDMyLTU1LjQgMzItMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yMy43IDEyLjktNDQuNCAzMi01NS40bDAtMjQuNiA2NCAwIDAgMjQuNmM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRsMjA5LjEgMGM1LjYtOS43IDEzLjctMTcuOCAyMy40LTIzLjRsMC0xMTMuMXoiXX0sWmd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQiLGljb246WzUxMiw1MTIsWzEyODQ4OSw2MTY2OV0sImYwNzUiLCJNNTEyIDI0MGMwIDEzMi41LTExNC42IDI0MC0yNTYgMjQwLTM3LjEgMC03Mi4zLTcuNC0xMDQuMS0yMC43TDMzLjUgNTEwLjFjLTkuNCA0LTIwLjIgMS43LTI3LjEtNS44Uy0yIDQ4NS44IDIuOCA0NzYuOGw0OC44LTkyLjJDMTkuMiAzNDQuMyAwIDI5NC4zIDAgMjQwIDAgMTA3LjUgMTE0LjYgMCAyNTYgMFM1MTIgMTA3LjUgNTEyIDI0MHoiXX0sWGd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhpbGwtYXZhbGFuY2hlIixpY29uOls1NzYsNTEyLFtdLCJlNTA3IiwiTTQ0MC4xIDQwMS45YzM0LjIgMjMuMSA4MS4xIDE5LjUgMTExLjQtMTAuOCAzNC40LTM0LjQgMzQuNC05MC4xIDAtMTI0LjUtMjcuOC0yNy44LTY5LjUtMzMuMS0xMDIuNi0xNi0xMS44IDYuMS0xNi40IDIwLjYtMTAuMyAzMi4zczIwLjYgMTYuNCAzMi4zIDEwLjNjMTUuMS03LjggMzQtNS4zIDQ2LjYgNy4zIDE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42cy00MC45IDE1LjYtNTYuNiAwbC04MS43LTgxLjdjMjIuMy0xNC4yIDM3LjEtMzkuMSAzNy4xLTY3LjUgMC0zMy45LTIxLjEtNjIuOS01MC45LTc0LjUgMS45LTYuOCAyLjktMTQgMi45LTIxLjUgMC00NC4yLTM1LjgtODAtODAtODAtMjcuMyAwLTUxLjUgMTMuNy02NS45IDM0LjYtNS44LTIwLTI0LjItMzQuNi00Ni4xLTM0LjYtMjYuNSAwLTQ4IDIxLjUtNDggNDggMCA0IC41IDcuOSAxLjQgMTEuNkw0NDAuMSA0MDEuOXpNNDgwLjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMCAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek02OC43IDg3QzQzLjUgNjEuOCAuNCA3OS43IC40IDExNS4zTC40IDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMTYuNyAwYzM1LjYgMCA1My41LTQzLjEgMjguMy02OC4zTDY4LjcgODd6Il19LFFndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdG8tZXllIixpY29uOls2NDAsNTEyLFtdLCJlNGJmIiwiTTE3NiA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDM4LjEtNjMtNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUzIxLjcgNTUuNiAzMSA2NWw2MyA2My0zOC4xIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsOTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTk2em0wIDQwMGwwLTk2YzAtMTMuMy0xMC43LTI0LTI0LTI0bC05NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDM4LjEgMC02MyA2M2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDYzLTYzIDAgMzguMWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0em0zMTIgMjRjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0zOC4xIDYzIDYzYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNjMtNjMgMzguMSAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC05NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0ek00NjQgNTZsMCA5NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw5NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zOC4xIDAgNjMtNjNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNjMgNjMgMC0zOC4xYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0ek0zMjAgMTIwYy01Ny4zIDAtOTkuNCAzNC0xMjUuNiA2NC4zLTIwIDIzLjEtMzIuNCA0NS44LTM3LjYgNTYuMS0yLjUgNS00LjkgOS43LTQuOSAxNS42czIuMyAxMC42IDQuOSAxNS42YzUuMiAxMC4zIDE3LjYgMzMgMzcuNiA1Ni4xIDI2LjIgMzAuMyA2OC4yIDY0LjMgMTI1LjYgNjQuM3M5OS40LTM0IDEyNS42LTY0LjNjMjAtMjMuMSAzMi40LTQ1LjggMzcuNi01Ni4xIDIuNS01IDQuOS05LjcgNC45LTE1LjZzLTIuMy0xMC42LTQuOS0xNS42Yy01LjItMTAuMy0xNy42LTMzLTM3LjYtNTYuMS0yNi4yLTMwLjMtNjguMi02NC4zLTEyNS42LTY0LjN6TTI1NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSxKZ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic25vd3Bsb3ciLGljb246WzY0MCw1MTIsW10sImY3ZDIiLCJNMTI4IDE2MGwwLTk2YzAtMzUuMyAyOC43LTY0IDY0LTY0TDI5Ni40IDBjMjQuMiAwIDQ2LjQgMTMuNyA1Ny4yIDM1LjRsODcuNiAxNzUuMWM0LjQgOC45IDYuOCAxOC43IDYuOCAyOC42bDAgNTYuOSA4MCAwIDAtODBjMC00OC42IDM5LjQtODggODgtODggMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgMjA4YzAgMjIuMSAxNy45IDQwIDQwIDQwIDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy00OC42IDAtODgtMzkuNC04OC04OGwwLTgwLTYzIDBjOS41IDE2LjUgMTUgMzUuNiAxNSA1NiAwIDYxLjktNTAuMSAxMTItMTEyIDExMmwtMjI0IDBjLTYxLjkgMC0xMTItNTAuMS0xMTItMTEyIDAtMzAuNSAxMi4yLTU4LjIgMzItNzguNEw2NCAyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjR6bTkxLjcgMzQuOWw0My42IDI5LjEgMTEzLjIgMC04MC0xNjAtMTA0LjQgMCAwIDEwOC44IDI3LjcgMjIuMXpNNDE2IDQwMGMwLTI2LjUtMjEuNS00OC00OC00OGwtMjI0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6bS0yODAgMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0yMTYtMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yMzIgNDAwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LEtndD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1nYW50dCIsaWNvbjpbNTEyLDUxMixbXSwiZTBlNCIsIk02NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NEwwIDQwMGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MDAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4MCA0MTZjLTguOCAwLTE2LTcuMi0xNi0xNkw2NCA2NHptOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwem02NCAxMTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyOCAwek0zODQgMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDB6Il19LGdsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aWRlbyIsaWNvbjpbNTc2LDUxMixbInZpZGVvLWNhbWVyYSJdLCJmMDNkIiwiTTk2IDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw5NiA2NHpNNDY0IDMzNmw3My41IDU4LjhjNC4yIDMuNCA5LjQgNS4yIDE0LjggNS4yIDEzLjEgMCAyMy43LTEwLjYgMjMuNy0yMy43bDAtMjQwLjZjMC0xMy4xLTEwLjYtMjMuNy0yMy43LTIzLjctNS40IDAtMTAuNiAxLjgtMTQuOCA1LjJMNDY0IDE3NiA0NjQgMzM2eiJdfSxlYnQ9Z2xlLHRidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1wYXduIixpY29uOlszODQsNTEyLFs5ODIzXSwiZjQ0MyIsIk0xOTItMzJjNjYuMyAwIDEyMCA1My43IDEyMCAxMjAgMCAyNy04LjkgNTEuOS0yNCA3MiAxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTAuNyAwIDI2LjcgMTYwIDU2LjIgNzAuM2M1IDYuMyA3LjggMTQuMSA3LjggMjIuMiAwIDE5LjYtMTUuOSAzNS41LTM1LjUgMzUuNUw1MS41IDUxMmMtMTkuNiAwLTM1LjUtMTUuOS0zNS41LTM1LjUgMC04LjEgMi43LTE1LjkgNy44LTIyLjJMODAgMzg0IDEwNi43IDIyNCA5NiAyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJjLTE1LjEtMjAuMS0yNC00NS0yNC03MiAwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMHoiXX0scmJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN5bmFnb2d1ZSIsaWNvbjpbNTc2LDUxMixbMTI4MzMzXSwiZjY5YiIsIk0xNiA4MGMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0bDAgMzItMTI4IDAgMC0zMnptMCAzNjhsMC0yODggMTI4IDAgMTI2LjItODQuMmMxMC43LTcuMiAyNC44LTcuMiAzNS41IDBsMTI2LjIgODQuMiAxMjggMCAwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw4MCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0ek01NjAgMTEybC0xMjggMCAwLTMyYzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCAzMnpNMjI0IDM4NGwwIDgwIDEyOCAwIDAtODBjMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjR6bTY0LTE1MmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LGFidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1jaXJjbGUtY2hlY2siLGljb246WzU3Niw1MTIsW10sImU0ZDIiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMTAuNS0xNC42LTE5LTMwLjctMjUuMS00OGwtNzQuOSAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMyIDAgNCAuMiA1LjkgLjUgNi0yMy42IDE2LjMtNDUuNCAzMC4xLTY0LjVsLTQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNGMyNy41LTE5LjggNjAuMy0zMi40IDk2LTM1LjRMNDE2IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek01NzYgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0saWJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLXBsdXMiLGljb246WzQ0OCw1MTIsW10sImYyNzEiLCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAxOTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDgtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwIDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ4IDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sYmxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoZWVsY2hhaXItbW92ZSIsaWNvbjpbNDQ4LDUxMixbIndoZWVsY2hhaXItYWx0Il0sImUyY2UiLCJNMzEyIDU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMjA1LjQgMTI0LjFjLTYuNC01LjItMTUuNi00LjctMjEuNCAxLjFsLTMzLjQgMzMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMTM4LjggODBjMjktMjkgNzUuMi0zMS40IDEwNy01LjVsODEuMyA2NmMyMS40IDE3LjQgMjMuOCA0OS4yIDUuMiA2OS41bC00MS44IDQ2IDk4IDBjMzAuMyAwIDUzIDI3LjcgNDcuMSA1Ny40TDQwNy40IDQ1NC4zYy0zLjUgMTcuMy0yMC4zIDI4LjYtMzcuNyAyNS4xcy0yOC42LTIwLjMtMjUuMS0zNy43TDM2OSAzMjAgMzE2LjggMzIwYzIuMSAxMC4zIDMuMiAyMSAzLjIgMzIgMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0NDAuNCAwIDM1MiA3MS42IDE5MiAxNjAgMTkyYzYgMCAxMS45IC4zIDE3LjggMWw1MC40LTUwLjQtMjIuNy0xOC41ek0xNjAgNDQ4YTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyeiJdfSxuYnQ9YmxlLHNidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXNoaWVsZCIsaWNvbjpbNTc2LDUxMixbXSwiZjUwNSIsIk0yMjQgMjQ4YTEyMCAxMjAgMCAxIDAgMC0yNDAgMTIwIDEyMCAwIDEgMCAwIDI0MHptLTI5LjcgNTZDOTUuOCAzMDQgMTYgMzgzLjggMTYgNDgyLjMgMTYgNDk4LjcgMjkuMyA1MTIgNDUuNyA1MTJsMjUxLjUgMEMyNjEgNDY5LjQgMjQwIDQxNC41IDI0MCAzNTYuNGwwLTMxLjFjMC03LjMgMS0xNC41IDIuOS0yMS4zbC00OC42IDB6bTI1MSAxODQuNWwtMTMuMyA2LjMgMC0xODguMSA5NiAzMiAwIDE5LjZjMCA1NS44LTMyLjIgMTA2LjUtODIuNyAxMzAuM3pNNDIxLjkgMjU5LjVsLTExMiAzNy4zYy0xMy4xIDQuNC0yMS45IDE2LjYtMjEuOSAzMC40bDAgMzEuMWMwIDc0LjQgNDMgMTQyLjEgMTEwLjIgMTczLjdsMTguNSA4LjdjNC44IDIuMiAxMCAzLjQgMTUuMiAzLjRzMTAuNS0xLjIgMTUuMi0zLjRsMTguNS04LjdDNTMzIDUwMC4zIDU3NiA0MzIuNiA1NzYgMzU4LjJsMC0zMS4xYzAtMTMuOC04LjgtMjYtMjEuOS0zMC40bC0xMTItMzcuM2MtNi42LTIuMi0xMy43LTIuMi0yMC4yIDB6Il19LG9idD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib2xkIixpY29uOlszODQsNTEyLFtdLCJmMDMyIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5NmwzMiAwIDAgMzIwLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjI0IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjggMC00Ni41LTI0LjgtODcuMy02Mi0xMDkuNyAxOC43LTIyLjMgMzAtNTEgMzAtODIuMyAwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEwzMiAzMnpNMjg4IDE2MGMwIDM1LjMtMjguNyA2NC02NCA2NGwtOTYgMCAwLTEyOCA5NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0ek0xMjggNDE2bDAtMTI4IDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC0xMjggMHoiXX0sdmxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0LXB1bHNlIixpY29uOls1MTIsNTEyLFsiaGVhcnRiZWF0Il0sImYyMWUiLCJNMjU2IDEwNy45TDI0MSA4Ny4xQzIxNiA1Mi41IDE3NS45IDMyIDEzMy4xIDMyIDU5LjYgMzIgMCA5MS42IDAgMTY1LjFsMCAyLjZjMCAyMy42IDYuMiA0OCAxNi42IDcyLjNsMTA2IDBjMy4yIDAgNi4xLTEuOSA3LjQtNC45bDMxLjgtNzYuM2MzLjctOC44IDEyLjMtMTQuNiAyMS44LTE0LjhzMTguMyA1LjQgMjIuMiAxNC4xbDUxLjMgMTEzLjkgNDEuNC04Mi44YzQuMS04LjEgMTIuNC0xMy4zIDIxLjUtMTMuM3MxNy40IDUuMSAyMS41IDEzLjNsMjMuMiA0Ni4zYzEuNCAyLjcgNC4xIDQuNCA3LjIgNC40bDEyMy42IDBjMTAuNS0yNC4zIDE2LjYtNDguNyAxNi42LTcyLjNsMC0yLjZDNTEyIDkxLjYgNDUyLjQgMzIgMzc4LjkgMzIgMzM2LjIgMzIgMjk2IDUyLjUgMjcxIDg3LjFsLTE1IDIwLjd6TTQ2OS42IDI4OGwtOTcuOCAwYy0yMS4yIDAtNDAuNi0xMi01MC4xLTMxbC0xLjctMy40LTQyLjUgODUuMWMtNC4xIDguMy0xMi43IDEzLjUtMjIgMTMuM3MtMTcuNi01LjctMjEuNC0xNC4xbC00OS4zLTEwOS41LTEwLjUgMjUuMmMtOC43IDIwLjktMjkuMSAzNC41LTUxLjcgMzQuNWwtODAuMiAwYzQ3LjIgNzMuOCAxMjMgMTQxLjcgMTcwLjQgMTc3LjkgMTIuNCA5LjQgMjcuNiAxNC4xIDQzLjEgMTQuMXMzMC44LTQuNiA0My4xLTE0LjFDMzQ2LjYgNDI5LjcgNDIyLjQgMzYxLjggNDY5LjYgMjg4eiJdfSxsYnQ9dmxlLHhsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcm9vdC12YXJpYWJsZSIsaWNvbjpbNTc2LDUxMixbInNxdWFyZS1yb290LWFsdCJdLCJmNjk4IiwiTTI4Mi42IDc4LjFjOC0yNy4zIDMzLTQ2LjEgNjEuNC00Ni4xbDIwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDM0NCA5NiAyMzguNyA0NTdjLTMuNiAxMi4zLTE0LjEgMjEuMi0yNi44IDIyLjhzLTI1LjEtNC42LTMxLjUtMTUuNkw3Ny42IDI4OCAzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDUuNiAwYzIyLjggMCA0My44IDEyLjEgNTUuMyAzMS44bDY1LjIgMTExLjggODQuNC0yODkuNXpNMzkzLjQgMjMzLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNDEuNCA0MS40IDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC00MS40IDQxLjQgNDEuNCA0MS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC00MS40LTQxLjQtNDEuNCA0MS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w0MS40LTQxLjQtNDEuNC00MS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3oiXX0sY2J0PXhsZSx5bGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtYnViYmxlcyIsaWNvbjpbNTEyLDUxMixbImhhbmRzLXdhc2giXSwiZTA1ZSIsIk0zODQgNjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em05NiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0xMjggNDY0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTAgMTYwbC4xIDcyLjZjMCA0NC44IDE3LjYgODcuMSA0Ny45IDExOC40IC4zLTc3IDQwLjEtMTQ4LjQgMTA1LjQtMTg5LjNsMS45LTEuMmMtMi41LTMuNy0yLjgtOC42LS40LTEyLjdsNjItMTA3LjRjNi42LTExLjUgMi43LTI2LjItOC44LTMyLjhTMTgyIDUgMTc1LjQgMTYuNWwtNjggMTE3LjggMCAwIDAgMC00My4zIDc1IDAtNDkuM2MwLTE3LjctMTQuNC0zMi0zMi0zMlMwIDE0Mi40IDAgMTYwem0yMTMuNi0zNS45YzE0LjEtOC44IDI5LjgtMTIuNyA0NS4yLTEyLjFsMzYuNS02My4zYzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOGwtNjcuMSAxMTYuMiAyNy0xNi45em04Ni41LTM1LjdsLTE2LjQgMjguNGMxNS4xIDUuNSAyOC42IDE1LjYgMzguMyAyOS43bDE5LjctMzQuMmM2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOHMtMjYuMi0yLjctMzIuOCA4Ljh6bTQ2LjQgNjMuN2wtMTIuNSAyMS43YzIgOC42IDIuNSAxNy41IDEuNyAyNi4xbDQuMyAwIDAgMCAzNC40IDAgMTMuNy0yMy44YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOHpNMjgzLjEgMTc1Yy05LjQtMTUtMjkuMS0xOS41LTQ0LjEtMTAuMmwtNjAuMiAzNy42QzEyNy4zIDIzNC43IDk2IDI5MS4yIDk2IDM1MmwwIDhjMCA4LjkgLjggMTcuNiAyLjIgMjYuMSAzNS40IDguMiA2MS44IDQwIDYxLjggNzcuOSAwIDYuMy0uNyAxMi41LTIuMSAxOC40IDI1LjIgMTguNiA1Ni40IDI5LjYgOTAuMSAyOS42bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC05MiAwYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDEyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMjQgMGMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMmwxNTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTU2IDBjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJsMTI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEzNiAwIDAgMCAwIDAtOTMuMiAwIDQ2LjItMjguOWMxNS05LjQgMTkuNS0yOS4xIDEwLjItNDQuMXoiXX0sZGJ0PXlsZSx1YnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFya2VyIixpY29uOls1MTIsNTEyLFtdLCJmNWExIiwiTTQwOC44IDBjLTI3LjQgMC01My42IDEwLjktNzMgMzAuMkwzMTguMSA0OCAzMDUgMzQuOWMtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwTDEwMyAxMzVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMEwyMzcuMSA2OC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDI4NC4xIDgxLjkgMTg0IDE4Mi4xIDMyOS45IDMyOCA0ODEuOCAxNzYuMmMxOS40LTE5LjQgMzAuMi00NS42IDMwLjItNzMgMC01Ny00Ni4yLTEwMy4yLTEwMy4yLTEwMy4yek0xMDIuNCAyNjMuN2MtNDkuOSA0OS45LTgzLjMgMTE0LTk1LjUgMTgzLjVMLjQgNDgzLjhDLTEgNDkxLjYgMS41IDQ5OS40IDcgNTA1czEzLjQgOCAyMS4xIDYuN2wzNi43LTYuNWM2OS41LTEyLjMgMTMzLjYtNDUuNiAxODMuNS05NS41TDI5NiAzNjEuOSAxNTAuMSAyMTYgMTAyLjQgMjYzLjd6Il19LHBidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbGlwYm9hcmQiLGljb246WzM4NCw1MTIsWzEyODIwM10sImYzMjgiLCJNMzIwIDMybC04LjYgMEMzMDAuNCAxMi45IDI3OS43IDAgMjU2IDBMMTI4IDBDMTA0LjMgMCA4My42IDEyLjkgNzIuNiAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0ek0xMzYgMTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMTIgMHoiXX0sZmJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYWNlLW9mLXdvcnNoaXAiLGljb246WzUxMiw1MTIsW10sImY2N2YiLCJNMTYwIDc5bDAgODEtNDQuOCAzMy42QzEwMy4xIDIwMi43IDk2IDIxNi45IDk2IDIzMmwwIDQwLTYwLjYgMzAuM0MxMy43IDMxMy4yIDAgMzM1LjMgMCAzNTkuNkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NCA3NC43IDAgODUuNCAwIDMyMCAwbDY0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC04OC40YzAtMjQuMi0xMy43LTQ2LjQtMzUuNC01Ny4yTDQxNiAyNzIgNDE2IDIzMmMwLTE1LjEtNy4xLTI5LjMtMTkuMi0zOC40TDM1MiAxNjAgMzUyIDc5YzAtOS41LTQuMi0xOC41LTExLjUtMjQuNkwyNzEuNC0zLjJjLTguOS03LjQtMjEuOC03LjQtMzAuNyAwTDE3MS41IDU0LjRDMTY0LjIgNjAuNSAxNjAgNjkuNSAxNjAgNzl6bTk2IDI0MWMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDgwLTEyOCAwIDAtODBjMC0zNS4zIDI4LjctNjQgNjQtNjR6Il19LGhidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW5uYWJpcyIsaWNvbjpbNTEyLDUxMixbXSwiZjU1ZiIsIk0yNTYgMGM1LjMgMCAxMC4zIDIuNyAxMy4zIDcuMSAxNS44IDIzLjUgMzYuNyA2My43IDQ5LjIgMTA5IDcuMyAyNi40IDExLjggNTUuMyAxMC4zIDg0IDExLjYtOC45IDIzLjctMTYuNyAzNS45LTIzLjcgNDEtMjMuMyA4NC40LTM2LjkgMTEyLjItNDIuNSA1LjItMSAxMC43IC42IDE0LjQgNC40czUuNCA5LjIgNC40IDE0LjVjLTUuNiAyNy43LTE5LjMgNzAuOS00Mi43IDExMS43LTkuMSAxNS45LTE5LjkgMzEuNy0zMi41IDQ2LjMgMjcuOSA2LjYgNTIuNSAxNy4yIDY3LjMgMjUuNCA1LjEgMi44IDguMiA4LjIgOC4yIDE0cy0zLjIgMTEuMi04LjIgMTRjLTE1LjIgOC40LTQwLjkgMTkuNS02OS44IDI2LjEtMjAuMiA0LjYtNDIuOSA3LjItNjUuMiA0LjZsOC4zIDMzLjJjMS41IDYuMS0uNiAxMi41LTUuNSAxNi40cy0xMS42IDQuNi0xNy4yIDEuOEwyODAgNDE3LjIgMjgwIDQ4OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTcwLjgtNTguNSAyOS4xYy01LjYgMi44LTEyLjMgMi4xLTE3LjItMS44cy03LTEwLjMtNS41LTE2LjRsOC4zLTMzLjJjLTIyLjIgMi42LTQ1IDAtNjUuMi00LjYtMjguOS02LjYtNTQuNS0xNy42LTY5LjgtMjYuMS01LjEtMi44LTguMi04LjItOC4yLTE0czMuMi0xMS4yIDguMi0xNGw2LjItMy4zYzE1LTcuNiAzNi44LTE2LjQgNjEuMS0yMi4yLTEyLjUtMTQuNS0yMy4zLTMwLjQtMzIuNC00Ni4yLTIzLjQtNDAuOC0zNy4xLTg0LTQyLjctMTExLjctMS4xLTUuMiAuNi0xMC43IDQuNC0xNC41czkuMi01LjQgMTQuNC00LjRjMjcuOSA1LjUgNzEuMiAxOS4yIDExMi4yIDQyLjUgMTIuMiA2LjkgMjQuMyAxNC44IDM1LjggMjMuNy0xLjQtMjguNyAzLjEtNTcuNiAxMC4zLTg0IDEyLjUtNDUuMyAzMy40LTg1LjUgNDkuMi0xMDlsMS4yLTEuNkMyNDYuOSAyIDI1MS4zIDAgMjU2IDB6Il19LG1idD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtcm9vZiIsaWNvbjpbNTc2LDUxMixbXSwiZTUzNyIsIk0zMDIuMy0xMi42Yy05LTQuNS0xOS42LTQuNS0yOC42IDBsLTI1NiAxMjhDMS45IDEyMy4zLTQuNSAxNDIuNSAzLjQgMTU4LjNzMjcuMSAyMi4yIDQyLjkgMTQuM0wyODggNTEuOCA1MjkuNyAxNzIuNmMxNS44IDcuOSAzNSAxLjUgNDIuOS0xNC4zczEuNS0zNS0xNC4zLTQyLjlsLTI1Ni0xMjh6TTI4OCAyNzJhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6bTAgNDhjLTUzIDAtOTYgNDMtOTYgOTZsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtNTMtNDMtOTYtOTYtOTZ6TTE2MCAyNTZhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHptMzUyIDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMTEyIDMzNmMtNDQuMiAwLTgwIDM1LjgtODAgODBsMCAzMy4xYzAgMTcgMTMuOCAzMC45IDMwLjkgMzAuOWw4Ny44IDBjLTQuMy05LjgtNi43LTIwLjYtNi43LTMybDAtNDhjMC0xOC40IDMuNS0zNiA5LjgtNTIuMi0xMi4yLTcuNS0yNi41LTExLjgtNDEuOC0xMS44ek00MjUuNCA0ODBsODcuOCAwYzE3IDAgMzAuOS0xMy44IDMwLjktMzAuOWwwLTMzLjFjMC00NC4yLTM1LjgtODAtODAtODAtMTUuMyAwLTI5LjYgNC4zLTQxLjggMTEuOCA2LjMgMTYuMiA5LjggMzMuOCA5LjggNTIuMmwwIDQ4YzAgMTEuNC0yLjQgMjIuMi02LjcgMzJ6Il19LGdidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaXNlYXNlIixpY29uOls1MTIsNTEyLFtdLCJmN2ZhIiwiTTIzNi41IDI5LjRMMjI0IDQ4Yy0yMCAzMC01My42IDQ4LTg5LjcgNDhMNjggOTZjLTM3LjUgMC02Ny45IDMwLjQtNjcuOSA2Ny45IDAgMTggNy4yIDM1LjIgMTkuOSA0Ny45bDI3IDI3YzExIDExIDE3LjIgMjUuOSAxNy4yIDQxLjUgMCAxNS44LTYuNCAzMC45LTE3LjcgNDJMMzMuNCAzMzUuMWMtMTEuMSAxMC44LTE3LjMgMjUuNy0xNy4zIDQxLjIgMCAzNi44IDM0LjEgNjQuMiA3MC4xIDU2LjJsNjIuMy0xMy44YzcuNy0xLjcgMTUuNy0yLjYgMjMuNi0yLjYgMzIuOCAwIDY0LjIgMTQuNiA4NS4yIDM5LjhsMzAuNSAzNi42YzEwLjQgMTIuNCAyNS43IDE5LjYgNDEuOSAxOS42IDMwLjEgMCA1NC41LTI0LjQgNTQuNS01NC41bDAtNTEuMmMwLTQxLjQgMjUuNC03OC41IDY0LTkzLjVsMjIuMi04LjZjMjUuMi05LjggNDEuOC0zNC4xIDQxLjgtNjEuMSAwLTI2LjQtMTUuOS01MC4zLTQwLjMtNjAuNUw0MjkgMTY0LjhjLTMzLjItMTMuOS01Ny42LTQzLTY1LjUtNzguMWwtNy45LTM1LjJjLTYuOC0zMC4xLTMzLjUtNTEuNS02NC4zLTUxLjUtMjIgMC00Mi42IDExLTU0LjggMjkuNHpNMTYwIDE5MmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzIgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSx3bGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1iaWJsZSIsaWNvbjpbNDQ4LDUxMixbImJpYmxlIl0sImY2NDciLCJNOTYgNTEyYy01MyAwLTk2LTQzLTk2LTk2TDAgOTZDMCA0MyA0MyAwIDk2IDBMNDAwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyODhjMCAyMC45LTEzLjQgMzguNy0zMiA0NS4zbDAgNjYuN2MxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw5NiA1MTJ6bTAtMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjQtMjU2IDB6TTE5MiA4MGwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgMTEyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTExMiA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtNDggMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2eiJdfSxiYnQ9d2xlLHZidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1ib2FyZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjQzYyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem02NCA2NGwwIDY0IDY0IDAgMC02NCA2NCAwIDAgNjQgNjQgMCAwLTY0IDY0IDAgMCA2NC02NCAwIDAgNjQgNjQgMCAwIDY0LTY0IDAgMCA2NCA2NCAwIDAgNjQtNjQgMCAwLTY0LTY0IDAgMCA2NC02NCAwIDAtNjQtNjQgMCAwIDY0LTY0IDAgMC02NCA2NCAwIDAtNjQtNjQgMCAwLTY0IDY0IDAgMC02NC02NCAwIDAtNjQgNjQgMHptNjQgMTI4bDY0IDAgMC02NC02NCAwIDAgNjR6bTAgNjRsMC02NC02NCAwIDAgNjQgNjQgMHptNjQgMGwtNjQgMCAwIDY0IDY0IDAgMC02NHptMCAwbDY0IDAgMC02NC02NCAwIDAgNjR6Il19LHhidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzIixpY29uOls1MTIsNTEyLFs5Nzk0XSwiZjIyMiIsIk0zMjAgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJMNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC01MC43LTk1IDk1YzE5LjUgMjguNCAzMSA2Mi43IDMxIDk5LjggMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZTMzIgNDAxLjIgMzIgMzA0IDExMC44IDEyOCAyMDggMTI4YzM3IDAgNzEuNCAxMS40IDk5LjggMzFsOTUtOTUtNTAuNyAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMjA4IDQxNmExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6Il19LHlidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYXB0b3AiLGljb246WzY0MCw1MTIsWzEyODE4N10sImYxMDkiLCJNMTI4IDMyQzkyLjcgMzIgNjQgNjAuNyA2NCA5NmwwIDI0MCA2NCAwIDAtMjQwIDM4NCAwIDAgMjQwIDY0IDAgMC0yNDBjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI4IDMyek0xOS4yIDM4NEM4LjYgMzg0IDAgMzkyLjYgMCA0MDMuMiAwIDQ0NS42IDM0LjQgNDgwIDc2LjggNDgwbDQ4Ni40IDBjNDIuNCAwIDc2LjgtMzQuNCA3Ni44LTc2LjggMC0xMC42LTguNi0xOS4yLTE5LjItMTkuMkwxOS4yIDM4NHoiXX0sTWxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXIteG1hcmsiLGljb246WzU3Niw1MTIsWyJ1c2VyLXRpbWVzIl0sImYyMzUiLCJNMjU0LjEgMzA0Yzk4LjUgMCAxNzguMyA3OS44IDE3OC4zIDE3OC4zIDAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43TDQ2LjEgNTEyYy0xNi40IDAtMjkuNy0xMy4zLTI5LjctMjkuNyAwLTk4LjUgNzkuOC0xNzguMyAxNzguMy0xNzguM2w1OS40IDB6TTUzMC4zIDEwOC4xYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzMuOSAzMy45IDMzLjkgMzMuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0zMy45LTMzLjktMzMuOSAzMy45Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMzLjktMzMuOS0zMy45LTMzLjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzMy45IDMzLjkgMzMuOS0zMy45ek0yMjQuNCAyNDhhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQweiJdfSx3YnQ9TWxlLE1idD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmbGFnLXVzYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjc0ZCIsIk0zMiAwQzQ5LjcgMCA2NCAxNC4zIDY0IDMybDAgMTYgNjktMTcuMmMzOC4xLTkuNSA3OC4zLTUuMSAxMTMuNSAxMi41IDQ2LjMgMjMuMiAxMDAuOCAyMy4yIDE0Ny4xIDBsOS42LTQuOEM0MjMuOCAyOC4xIDQ0OCA0My4xIDQ0OCA2Ni4xbDAgMzYuMS00NC43IDE2LjJjLTQyLjggMTUuNi05MCAxMy45LTEzMS42LTQuNmwtMTYuMS03LjJjLTIwLjMtOS00MS44LTE0LjctNjMuNi0xNi45bDAgMzIuMmMxNy40IDIuMSAzNC40IDYuNyA1MC42IDEzLjlsMTYuMSA3LjJjNDkuMiAyMS45IDEwNSAyMy44IDE1NS42IDUuNGwzMy43LTEyLjMgMCA2Mi00NC43IDE2LjJjLTQyLjggMTUuNi05MCAxMy45LTEzMS42LTQuNmwtMTYuMS03LjJjLTQwLjItMTcuOS04NS0yMi41LTEyOC4xLTEzLjNsLTYzLjUgMTMuNiAwIDMyLjcgNzAuMi0xNS4xYzM2LjQtNy44IDc0LjMtMy45IDEwOC40IDExLjNsMTYuMSA3LjJjNDkuMiAyMS45IDEwNSAyMy44IDE1NS42IDUuNGwzMy43LTEyLjMgMCA2MS45LTQ0LjcgMTYuMmMtNDIuOCAxNS42LTkwIDEzLjktMTMxLjYtNC42bC0xNi4xLTcuMmMtNDAuMi0xNy45LTg1LTIyLjUtMTI4LjEtMTMuM2wtNjMuNSAxMy42IDAgMzIuNyA3MC4yLTE1LjFjMzYuNC03LjggNzQuMy0zLjkgMTA4LjQgMTEuM2wxNi4xIDcuMmM0OS4yIDIxLjkgMTA1IDIzLjggMTU1LjYgNS40bDMzLjctMTIuMyAwIDMzLjVjMCAxMy4zLTguMyAyNS4zLTIwLjggMzBsLTM0LjcgMTNjLTQ2LjIgMTcuMy05Ny42IDE0LjYtMTQxLjctNy40LTM3LjktMTktODEuNC0yMy43LTEyMi41LTEzLjRMNjQgNDAwIDY0IDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ5Ny43IDAgNDgwTDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwem04MCA5NmExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0zMiAwYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptLTMyIDQ4YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTMyIDBhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyeiJdfSxrYnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1taWRkbGUtZmluZ2VyIixpY29uOls0NDgsNTEyLFsxMjg0MDVdLCJmODA2IiwiTTIzMiAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDE2NC4yYy04LjUtNy42LTE5LjctMTIuMi0zMi0xMi4yLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC01NS43Yy0yIDEuNC0zLjkgMy01LjggNC41TDU1IDI4NC44QzQwLjQgMjk3IDMyIDMxNSAzMiAzMzRMMzIgMzcyYzAgMzggMTYuOSA3NCA0Ni4xIDk4LjNsNS40IDQuNWMyOC44IDI0IDY1IDM3LjEgMTAyLjQgMzcuMUwzMDQgNTEyYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDgtMTIuNCAwLTIzLjYgNC43LTMyLjEgMTIuMy0xLjktMjQuOC0yMi42LTQ0LjMtNDcuOS00NC4zLTEyLjMgMC0yMy41IDQuNi0zMiAxMi4yTDI3MiA0MGMwLTIyLjEtMTcuOS00MC00MC00MHoiXX0sU2J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vcnRhci1wZXN0bGUiLGljb246WzUxMiw1MTIsW10sImY1YTciLCJNNTA0LjMgMTEuMUM0OTMuMy0xLjYgNDc0LjUtMy43IDQ2MSA2LjJMMjUyLjMgMTYwIDM5Ny4zIDE2MCA1MDIuNiA1NC42YzExLjgtMTEuOCAxMi42LTMwLjggMS42LTQzLjV6TTMyIDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmMwIDgyLjUgNDMuNCAxNDcuNyAxMjMuOSAxNzYuMi0xMS4xIDEzLjktMTkuNCAzMC4zLTIzLjkgNDguMS00LjQgMTcuMSAxMC40IDMxLjcgMjguMSAzMS43bDE5MiAwYzE3LjcgMCAzMi40LTE0LjYgMjguMS0zMS43LTQuNS0xNy44LTEyLjgtMzQuMS0yMy45LTQ4LjEgODAuNS0yOC42IDEyMy45LTkzLjcgMTIzLjktMTc2LjIgMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMTkyeiJdfSx6YnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZC1zaWRlLWNvdWdoIixpY29uOls1MTIsNTEyLFtdLCJlMDYxIiwiTTk2IDUxMmw2NCAwYzUzIDAgOTYtNDMgOTYtOTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZsMSAwYzI2IDAgNDctMjEgNDctNDcgMC0xMS0zLjktMjEuNi0xMC45LTMwLjFMMjczLjMgMjAwQzI3MS40IDE5Ny42IDI3MC4xIDE5NC43IDI2OS43IDE5MS43IDI1NCA4My4zIDE2MC43IDAgNDggMCA0MC40IDAgMzIuOSAuNCAyNS40IDEuMSAxMC41IDIuNiAwIDE1LjkgMCAzMC45TDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDB6bTE2LTMyMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem02My4xIDIzNy4ybC00MS41LTMuNWMtMTIuMi0xLTIxLjYtMTEuMi0yMS42LTIzLjQgMC0xMC44IDcuMy0yMC4yIDE3LjgtMjIuOGw0MC40LTEwLjFjMTkuMi00LjggMzcuOCA5LjcgMzcuOCAyOS41IDAgMTcuOC0xNS4yIDMxLjgtMzIuOSAzMC4zek00ODAgMzEyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptLTQwIDI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bS02NCA0OGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem0xMjggMGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek00ODAgNTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptLTQwLTcyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LENidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFuZS1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNTU4IiwiTTIzMiAyNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI3LjMgODIuMSA3NS4yQzQwOS43IDI0OC4xIDQwMCAyNzQuOSA0MDAgMzA0bDAgMjQuNGMtNy4zIDYuNi0xMy42IDE0LjItMTguNyAyMi43bC0zNy4zLTEyLjQgMCA5OS43IDI0IDE5LjIgMCAzOC4zYzAgMTMuNSAyLjggMjYuNCA3LjggMzguMUwyODggNTEyIDE3OS45IDUzOWMtMTAuMSAyLjUtMTkuOS01LjEtMTkuOS0xNS41bDAtMTkuOGMwLTQuOSAyLjItOS41IDYtMTIuNWw2Ni01Mi44IDAtOTkuNy0xNjIuOSA1NC4zQzU4LjcgMzk2LjQgNDggMzg4LjcgNDggMzc3LjhsMC00My43YzAtOSAzLjgtMTcuNSAxMC40LTIzLjZMMjMyIDE1MS4zIDIzMiAyNHpNNTYwIDMwNC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNNDE2IDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0sa2xlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhdHRlcnktdGhyZWUtcXVhcnRlcnMiLGljb246WzY0MCw1MTIsWyJiYXR0ZXJ5LTQiXSwiZjI0MSIsIk01MjggMTI4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDIyNGMwIDguOC03LjIgMTYtMTYgMTZsLTQxNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDQxNiAwek0xMTIgNjRjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjI0YzAgNDQuMiAzNS44IDgwIDgwIDgwbDQxNiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwTDExMiA2NHptNTYgMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyMjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMjI0IDB6Il19LFRidD1rbGUsX2J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZyYW5jLXNpZ24iLGljb246WzMyMCw1MTIsW10sImUxOGYiLCJNODAgMzJDNjIuMyAzMiA0OCA0Ni4zIDQ4IDY0bDAgMjU2LTI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjQgMCAwIDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC04MCA4OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04OCAwIDAtNjQgMTQ0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE0NCAwIDAtOTYgMTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMODAgMzJ6Il19LFNsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWx0ZXItY2lyY2xlLWRvbGxhciIsaWNvbjpbNTc2LDUxMixbImZ1bm5lbC1kb2xsYXIiXSwiZjY2MiIsIk0zMiA2NEMxOS4xIDY0IDcuNCA3MS44IDIuNCA4My44Uy4yIDEwOS41IDkuNCAxMTguNkwxOTIgMzAxLjMgMTkyIDQxNmMwIDguNSAzLjQgMTYuNiA5LjQgMjIuNmw2NCA2NGMyLjUgMi41IDUuMyA0LjUgOC4zIDYtMjEuMi0zMC45LTMzLjYtNjguMy0zMy42LTEwOC42IDAtOTkuNCA3NS41LTE4MS4xIDE3Mi4zLTE5MWw5MC40LTkwLjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDkyLjkgNjQgNDgwIDY0TDMyIDY0ek01NzYgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6TTQxNiAzMjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDggMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDUuOCAwYy01LjYgMC0xMC4yIDQuNi0xMC4yIDEwLjIgMCA0LjkgMy41IDkuMSA4LjMgMTBsNDUgOC4yYzIwIDMuNiAzNC42IDIxLjEgMzQuNiA0MS41IDAgMjMuMy0xOC45IDQyLjItNDIuMiA0Mi4ybC01LjggMCAwIDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04LTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNTMuOCAwYzUuNiAwIDEwLjItNC42IDEwLjItMTAuMiAwLTQuOS0zLjUtOS4xLTguMy0xMGwtNDUtOC4yYy0yMC0zLjYtMzQuNi0yMS4xLTM0LjYtNDEuNSAwLTIyLjYgMTcuNy00MSA0MC00Mi4xbDAtOC4xeiJdfSxMYnQ9U2xlLCRidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVlc2UiLGljb246WzUxMiw1MTIsW10sImY3ZWYiLCJNNTEyIDI0MC4ybDAgMTUuOC01MTIgMGMwLTIwIDEwLTM4LjcgMjYuNi00OS44TDI3NC45IDQwLjdjOC42LTUuNyAxOC42LTguNyAyOC45LTguNyAxMTUgMCAyMDguMiA5My4yIDIwOC4yIDIwOC4yem0wIDYzLjhsMCAxMTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTExMiA1MTIgMHoiXX0semxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1oIixpY29uOls1MTIsNTEyLFs5NDA1LCJob3NwaXRhbC1zeW1ib2wiXSwiZjQ3ZSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptOTYtMzQ0bDAgMTc2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNjQtOTYgMCAwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTc2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA2NCA5NiAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHoiXX0sRGJ0PXpsZSxBYnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sIixpY29uOls1NzYsNTEyLFsxMjc5NzldLCJmNTQ5IiwiTTAgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDAgMTI3LjktMTE1LjFjMTguMy0xNi40IDQ2LTE2LjQgNjQuMiAwTDQ0OCAxMjggNTEyIDEyOGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTkyek0yMjQgMzc2bDAgODggMTI4IDAgMC04OGMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6bS0xMTIgOGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwem0xNi0xNDRsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnpNNDk2IDM4NGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwem0xNi0xNDRsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnpNMjg4IDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHoiXX0sRWJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtZml2ZSIsaWNvbjpbNDQ4LDUxMixbOTg2MF0sImY1MjMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek05NiAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMjI0IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0LTY0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDE2MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LElidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b3JuYWRvIixpY29uOls0NDgsNTEyLFsxMjc3ODZdLCJmNzZmIiwiTTAgMzJMMCA0NS42QzAgNjIuNyAxLjcgNzkuNiA1IDk2bDM1Mi44IDBjMy4yLTYuOSA3LjUtMTMuMyAxMy0xOC44bDM4LjYtMzguNmM0LjItNC4yIDYuNi0xMCA2LjYtMTYgMC0xMi41LTEwLjEtMjIuNi0yMi42LTIyLjZMMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJ6TTM1NS43IDE0NGwtMzM2IDBjMTIuNCAyOS43IDMwLjIgNTYuOCA1Mi43IDgwbDMzOS42IDAtNDcuMi02Mi45Yy0zLjktNS4yLTctMTEtOS4yLTE3LjF6TTI0Mi42IDMzNC43YzguMiA0LjggMTUuOCAxMC43IDIyLjUgMTcuM0w0NDUgMzUyYzItOS44IDMtMTkuOSAzLTMwLjEgMC0xNy4xLTIuOS0zNC04LjYtNDkuOUwxMzYgMjcyIDI0Mi42IDMzNC43ek0yOTQuMyA0MDBjNS4zIDE3IDYuNSAzNS4yIDMuNiA1M2wtNS45IDM1LjdjLTIgMTIuMiA3LjQgMjMuNCAxOS44IDIzLjQgNS4zIDAgMTAuNC0yLjEgMTQuMi01LjlsNzguMi03OC4yYzguNS04LjUgMTUuOC0xNy44IDIxLjktMjcuOWwtMTMxLjggMHoiXX0sQ2xlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImpldC1maWdodGVyIixpY29uOls1NzYsNTEyLFsiZmlnaHRlci1qZXQiXSwiZjBmYiIsIk00OTYuMiAyMDYuOGMtMTAuNy00LjUtMjIuMi02LjgtMzMuOC02LjhMMzYyIDIwMCAyNDggNDggMjk2IDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0UzMwOS4zIDAgMjk2IDBMMTUyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsOCAwIDAgMTUyLTU0LjQgMC01Mi44LTY2Yy0zLTMuOC03LjYtNi0xMi41LTZMMTYgMTI4Yy04LjggMC0xNiA3LjItMTYgMTZsMCA4OCA0MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00MCAwIDAgODhjMCA4LjggNy4yIDE2IDE2IDE2bDI0LjMgMGM0LjkgMCA5LjUtMi4yIDEyLjUtNmw1Mi44LTY2IDU0LjQgMCAwIDE1Mi04IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMTE0LTE1MiAxMDAuNCAwYzExLjYgMCAyMy4xLTIuMyAzMy44LTYuOGw2NS0yNy4xYzguOS0zLjcgMTQuOC0xMi41IDE0LjgtMjIuMnMtNS44LTE4LjQtMTQuOC0yMi4ybC02NS0yNy4xeiJdfSxQYnQ9Q2xlLE5idD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aHVtYnMtZG93biIsaWNvbjpbNTEyLDUxMixbMTI4MDc4LDYxNTc2XSwiZjE2NSIsIk0zODQgMzJjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCA2LjMtMS4zIDEyLjItMy40IDE3LjcgMjAuNCA1LjUgMzUuNCAyNC4xIDM1LjQgNDYuMyAwIDkuMS0yLjYgMTcuNi03IDI0LjkgMjIuMiA0LjIgMzkgMjMuNyAzOSA0Ny4xIDAgMTkuNy0xMS45IDM2LjYtMjguOSA0NCAxNyA3LjQgMjguOSAyNC4zIDI4LjkgNDQgMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2MCAwIDI4LjIgNzAuNGMyLjUgNi4zIDMuOCAxMy4xIDMuOCAxOS45bDAgNC4yYzAgMjcuMy0yMi4xIDQ5LjQtNDkuNCA0OS40LTE4LjcgMC0zNS44LTEwLjYtNDQuMi0yNy4zTDE3MC4xIDM1Ni4zYy02LjctMTMuMy0xMC4xLTI4LTEwLjEtNDIuOWwwLTE4Ni42YzAtMTkuNCA4LjktMzcuOCAyNC01MGwxMi4yLTkuN0MyMjQuNiA0NC40IDI1OS44IDMyIDI5Ni4xIDMyTDM4NCAzMnpNODAgOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDQ4IDB6Il19LEZidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicm9vbSIsaWNvbjpbNTc2LDUxMixbMTI5NTI5XSwiZjUxYSIsIk01NjYuNiA1NC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xOTIgMTkyLTM0LjctMzQuN2MtNC4yLTQuMi0xMC02LjYtMTYtNi42LTEyLjUgMC0yMi42IDEwLjEtMjIuNiAyMi42bDAgMjkuMSAxMDguMyAxMDguMyAyOS4xIDBjMTIuNSAwIDIyLjYtMTAuMSAyMi42LTIyLjYgMC02LTIuNC0xMS44LTYuNi0xNmwtMzQuNy0zNC43IDE5Mi0xOTJ6TTM0MS4xIDM1My40TDIyMi42IDIzNC45Yy00Mi43LTMuNy04NS4yIDExLjctMTE1LjggNDIuM2wtOCA4Yy0yMi4zIDIyLjMtMzQuOCA1Mi41LTM0LjggODQgMCA2LjggNy4xIDExLjIgMTMuMiA4LjJsNTEuMS0yNS41YzUtMi41IDkuNSA0LjEgNS40IDcuOUw3LjMgNDczLjRDMi43IDQ3Ny42IDAgNDgzLjYgMCA0ODkuOSAwIDUwMi4xIDkuOSA1MTIgMjIuMSA1MTJsMTczLjMgMGMzOC44IDAgNzUuOS0xNS40IDEwMy40LTQyLjggMzAuNi0zMC42IDQ1LjktNzMuMSA0Mi4zLTExNS44eiJdfSxUbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1pbXBvcnQiLGljb246WzM4NCw1MTIsWyJhcnJvdy1yaWdodC10by1maWxlIl0sImY1NmYiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRsMCAyNDAgMTgyLjEgMC0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDcyIDcyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0xODIuMSAwIDAgOTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnoiXX0sT2J0PVRsZSxfbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXRlbnNpbHMiLGljb246WzUxMiw1MTIsWzEyNzg2MCw2MTY4NSwiY3V0bGVyeSJdLCJmMmU3IiwiTTYzLjkgMTQuNEM2My4xIDYuMiA1Ni4yIDAgNDggMHMtMTUuMSA2LjItMTYgMTQuM0wxNy45IDE0OS43Yy0xLjMgNi0xLjkgMTIuMS0xLjkgMTguMiAwIDQ1LjkgMzUuMSA4My42IDgwIDg3LjdMOTYgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMjQuNGM0NC45LTQuMSA4MC00MS44IDgwLTg3LjcgMC02LjEtLjYtMTIuMi0xLjktMTguMkwyMjMuOSAxNC4zQzIyMy4xIDYuMiAyMTYuMiAwIDIwOCAwcy0xNS4xIDYuMi0xNS45IDE0LjRMMTc4LjUgMTQ5LjljLS42IDUuNy01LjQgMTAuMS0xMS4xIDEwLjEtNS44IDAtMTAuNi00LjQtMTEuMi0xMC4yTDE0My45IDE0LjZDMTQzLjIgNi4zIDEzNi4zIDAgMTI4IDBzLTE1LjIgNi4zLTE1LjkgMTQuNkw5OS44IDE0OS44Yy0uNSA1LjgtNS40IDEwLjItMTEuMiAxMC4yLTUuOCAwLTEwLjYtNC40LTExLjEtMTAuMUw2My45IDE0LjR6TTQ0OCAwQzQzMiAwIDMyMCAzMiAzMjAgMTc2bDAgMTEyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyIDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQ0OGMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sUmJ0PV9sZSxCYnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWQtYmFkZ2UiLGljb246WzM4NCw1MTIsW10sImYyYzEiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHptOTYgMzUybDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQ0OGMtOC44IDAtMTYtNy4yLTE2LTE2IDAtNDQuMiAzNS44LTgwIDgwLTgwem0tMjQtOTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0xNTIgNjRsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sSGJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwaWRlciIsaWNvbjpbNTEyLDUxMixbMTI4Mzc1XSwiZjcxNyIsIk0zNjkuMy0zMWMxMS45LTMuNSAyNC40IDIuNyAyOSAxMy45bC44IDIuMyA0MCAxMzZjMi41IDguNCAuMSAxNy41LTYuMSAyMy43bC02NC4xIDY0LjEgNzYuNC0yMC44IDE5LjktNTkuOCAuOS0yLjNjNS0xMS4xIDE3LjctMTYuOCAyOS41LTEyLjkgMTEuOCAzLjkgMTguNSAxNi4xIDE1LjggMjhsLS43IDIuNC0yNCA3MmMtMi41IDcuNi04LjcgMTMuNC0xNi41IDE1LjZsLTkxLjEgMjQuOCA5MS4xIDI0LjhjNy43IDIuMSAxMy45IDggMTYuNSAxNS42bDI0IDcyIC43IDIuNGMyLjcgMTEuOS00LjEgMjQuMS0xNS44IDI4LTExLjggMy45LTI0LjUtMS44LTI5LjUtMTIuOWwtLjktMi4zLTE5LjktNTkuOC03Ni40LTIwLjggNjQuMSA2NC4xYzYuMSA2LjEgOC41IDE1LjEgNi4yIDIzLjRsLTQwIDE0NC0uOCAyLjNjLTQuNCAxMS4zLTE2LjggMTcuNy0yOC44IDE0LjQtMTItMy4zLTE5LjMtMTUuMi0xNy4yLTI3LjJsLjUtMi40IDM2LjItMTMwLjUtMzcuMi0zNy4yQzM1MSA0MDYgMzA4LjQgNDQ4IDI1NiA0NDhzLTk1LTQyLTk2LTk0LjFsLTM3IDM3IDM2IDEyMi4zIC42IDIuNGMyLjIgMTEuOS00LjkgMjMuOS0xNi44IDI3LjQtMTEuOSAzLjUtMjQuNC0yLjctMjktMTMuOWwtLjgtMi4zLTQwLTEzNmMtMi41LTguNC0uMS0xNy41IDYuMS0yMy44bDY0LjEtNjQuMS03Ni40IDIwLjgtMTkuOSA1OS44LS45IDIuM2MtNSAxMS4xLTE3LjcgMTYuOC0yOS41IDEyLjlzLTE4LjUtMTYuMS0xNS44LTI4bC43LTIuNCAyNC03MmMyLjUtNy42IDguNy0xMy40IDE2LjUtMTUuNmw5MS4xLTI0LjgtOTEuMS0yNC44Yy03LjctMi4xLTEzLjktOC0xNi41LTE1LjZsLTI0LTcyLS43LTIuNGMtMi43LTExLjkgNC4xLTI0LjEgMTUuOC0yOHMyNC41IDEuOCAyOS41IDEyLjlsLjkgMi4zIDE5LjkgNTkuOCA3Ni40IDIwLjgtNjQuMS02NC4xYy02LjItNi4yLTguNS0xNS4zLTYuMS0yMy43bDQwLTEzNiAuOC0yLjNjNC42LTExLjMgMTcuMS0xNy40IDI5LTEzLjkgMTEuOSAzLjUgMTkgMTUuNSAxNi44IDI3LjRsLS42IDIuNC0zNiAxMjIuMyA1MyA1M2MxLTQzLjMgMzYuNC03OC4xIDc5LjktNzguMXM3OC45IDM0LjggNzkuOSA3OC4ybDUzLjEtNTMuMS0zNi0xMjIuMy0uNi0yLjRjLTIuMi0xMiA0LjktMjMuOSAxNi44LTI3LjR6Il19LHFidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb2JpbGUtcmV0cm8iLGljb246WzM4NCw1MTIsW10sImU1MjciLCJNMTYgNjRDMTYgMjguNyA0NC43IDAgODAgMEwzMDQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw4MCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDE2IDY0em04MCA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptOCAxOTJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNCA3MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNCAxMC43IDI0IDI0IDI0IDI0LTEwLjcgMjQtMjR6bTY0LTcyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQgNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjQgMTAuNyAyNCAyNCAyNCAyNC0xMC43IDI0LTI0em02NC03MmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0IDcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0IDEwLjcgMjQgMjQgMjQgMjQtMTAuNyAyNC0yNHpNMTY4IDQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6Il19LExsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaWducy1wb3N0IixpY29uOls1MTIsNTEyLFsibWFwLXNpZ25zIl0sImYyNzciLCJNMjU2LjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi0xNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMCAwIDY0LTE1My40IDBjLTQuMiAwLTguMyAxLjctMTEuMyA0LjdsLTQ4IDQ4Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmw0OCA0OGMzIDMgNy4xIDQuNyAxMS4zIDQuN2wxNTMuNCAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTE2MCAwIDAtNjQgMTUzLjQgMGM0LjIgMCA4LjMtMS43IDExLjMtNC43bDQ4LTQ4YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC00OC00OGMtMy0zLTcuMS00LjctMTEuMy00LjdsLTE1My40IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0samJ0PUxsZSxWYnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JvdXAtYXJyb3dzLXJvdGF0ZSIsaWNvbjpbNTEyLDUxMixbXSwiZTRmNiIsIk0zNy42IDEyMi4zYy0xMS41IDE4LjctMjAuNiAzOS0yNyA2MC41LTUgMTYuOSA0LjYgMzQuOCAyMS41IDM5LjhzMzQuOC00LjYgMzkuOC0yMS41YzE4LjQtNjEuOSA2Ny4zLTExMC44IDEyOS4yLTEyOS4yIDE2LjktNSAyNi42LTIyLjkgMjEuNS0zOS44UzE5OS44IDUuNiAxODIuOSAxMC42QzE2MS40IDE3IDE0MS4xIDI2LjEgMTIyLjMgMzcuNiAxMTIuMyAxNS40IDg5LjkgMCA2NCAwIDI4LjcgMCAwIDI4LjcgMCA2NCAwIDg5LjkgMTUuNCAxMTIuMyAzNy42IDEyMi4zem00MzYuNyAwYzIyLjItMTAgMzcuNi0zMi40IDM3LjYtNTguMyAwLTM1LjMtMjguNy02NC02NC02NC0yNS45IDAtNDguMyAxNS40LTU4LjMgMzcuNi0xOC43LTExLjUtMzktMjAuNi02MC41LTI3LTE2LjktNS0zNC44IDQuNi0zOS44IDIxLjVzNC42IDM0LjggMjEuNSAzOS44YzYxLjkgMTguNCAxMTAuOCA2Ny4zIDEyOS4yIDEyOS4yIDUgMTYuOSAyMi45IDI2LjYgMzkuOCAyMS41czI2LjYtMjIuOSAyMS41LTM5LjhjLTYuNC0yMS41LTE1LjUtNDEuOC0yNy02MC41ek01MTIgNDQ4YzAtMjUuOS0xNS40LTQ4LjMtMzcuNi01OC4zIDExLjUtMTguNyAyMC42LTM5IDI3LTYwLjUgNS0xNi45LTQuNi0zNC44LTIxLjUtMzkuOHMtMzQuOCA0LjYtMzkuOCAyMS41Yy0xOC40IDYxLjktNjcuMyAxMTAuOC0xMjkuMiAxMjkuMi0xNi45IDUtMjYuNiAyMi45LTIxLjUgMzkuOHMyMi45IDI2LjYgMzkuOCAyMS41YzIxLjUtNi40IDQxLjgtMTUuNSA2MC41LTI3IDEwIDIyLjIgMzIuNCAzNy42IDU4LjMgMzcuNiAzNS4zIDAgNjQtMjguNyA2NC02NHpNMzcuNiAzODkuN2MtMjIuMiAxMC0zNy42IDMyLjQtMzcuNiA1OC4zIDAgMzUuMyAyOC43IDY0IDY0IDY0IDI1LjkgMCA0OC4zLTE1LjQgNTguMy0zNy42IDE4LjcgMTEuNSAzOSAyMC42IDYwLjUgMjcgMTYuOSA1IDM0LjgtNC42IDM5LjgtMjEuNXMtNC42LTM0LjgtMjEuNS0zOS44Yy02MS45LTE4LjQtMTEwLjgtNjcuMy0xMjkuMi0xMjkuMi01LTE2LjktMjIuOS0yNi42LTM5LjgtMjEuNVM1LjYgMzEyLjIgMTAuNiAzMjkuMWM2LjQgMjEuNSAxNS41IDQxLjggMjcgNjAuNXpNMjU2IDE5MmMxNS42IDAgMzAgNS42IDQxLjEgMTQuOWwtMTUuMyAxNS4zYy02LjYgNi42LTEuOSAxNy44IDcuNCAxNy44bDYwLjUgMGM1LjcgMCAxMC40LTQuNyAxMC40LTEwLjRsMC02MC41YzAtOS4zLTExLjItMTMuOS0xNy44LTcuNGwtMTEuMiAxMS4yYy0xOS44LTE3LjktNDYuMi0yOC45LTc1LjEtMjguOS00My42IDAtODEuMyAyNC45LTk5LjggNjEuMS02IDExLjgtMS40IDI2LjMgMTAuNCAzMi4zczI2LjMgMS40IDMyLjMtMTAuNGMxMC42LTIwLjggMzIuMi0zNC45IDU3LTM0Ljl6bTU4LjYgOTMuMWMtMTAuNiAyMC44LTMyLjIgMzQuOS01NyAzNC45LTE1LjcgMC0zMC01LjYtNDEuMS0xNC45bDE1LjMtMTUuM2M2LjYtNi42IDEuOS0xNy44LTcuNC0xNy44TDE2NCAyNzJjLTUuNyAwLTEwLjQgNC43LTEwLjQgMTAuNGwwIDYwLjVjMCA5LjMgMTEuMiAxMy45IDE3LjggNy40bDExLjItMTEuMmMxOS44IDE3LjkgNDYuMiAyOC45IDc1LjEgMjguOSA0My42IDAgODEuMy0yNC45IDk5LjgtNjEuMSA2LTExLjggMS40LTI2LjMtMTAuNC0zMi4zcy0yNi4zLTEuNC0zMi4zIDEwLjR6Il19LFVidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3Mtc3BsaXQtdXAtYW5kLWxlZnQiLGljb246WzUxMiw1MTIsW10sImU0YmMiLCJNMzQyLjYtMjIuNmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDQxLjQtNDEuNCAwIDE5NS45Yy0xOC44LTEwLjktNDAuNy0xNy4xLTY0LTE3LjFsLTExNC43IDAgNDEuNC00MS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyAzMjAgMjI0IDMyMGMzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMwNi43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NnoiXX0sV2J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGwtZHJpcCIsaWNvbjpbNTc2LDUxMixbXSwiZjU3NiIsIk0zMDkuNyA3MS42bC02NC40IDY0LjQgMzMuNCAzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC0zMy40LTMzLjQtOTYuNCA5Ni40Yy0yLjkgMi45LTUuMSA2LjUtNi4zIDEwLjNsMzIxLjUgMCA1My43LTUzLjdjNC45LTQuOSA3LjYtMTEuNSA3LjYtMTguM3MtMi43LTEzLjUtNy42LTE4LjNMMzQ2LjMgNzEuNkMzNDEuNSA2Ni43IDMzNC45IDY0IDMyOCA2NHMtMTMuNSAyLjctMTguMyA3LjZ6TTU4LjMgMjMyLjRsOTYuNC05Ni40LTQ5LjQtNDkuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwyMDAgOTAuNyAyNjQuNCAyNi4zQzI4MS4zIDkuNSAzMDQuMSAwIDMyOCAwczQ2LjcgOS41IDYzLjYgMjYuM0w1MTcuNyAxNTIuNEM1MzQuNSAxNjkuMyA1NDQgMTkyLjEgNTQ0IDIxNnMtOS41IDQ2LjctMjYuMyA2My42TDMxMS42IDQ4NS43QzI5NC43IDUwMi41IDI3MS45IDUxMiAyNDggNTEycy00Ni43LTkuNS02My42LTI2LjNMNTguMyAzNTkuNkM0MS41IDM0Mi43IDMyIDMxOS45IDMyIDI5NnM5LjUtNDYuNyAyNi4zLTYzLjZ6TTUxMiA1NDRjLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjUuMiAzMi42LTc5LjYgNTEuMi0xMDguNyA2LTkuNCAxOS41LTkuNCAyNS41IDAgMTguNyAyOS4xIDUxLjIgODMuNSA1MS4yIDEwOC43IDAgMzUuMy0yOC43IDY0LTY0IDY0eiJdfSxHYnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpZWxkLWhlYXJ0IixpY29uOls1MTIsNTEyLFtdLCJlNTc0IiwiTTI2OS40IDIuOUMyNjUuMiAxIDI2MC43IDAgMjU2IDBzLTkuMiAxLTEzLjQgMi45TDU0LjMgODIuOGMtMjIgOS4zLTM4LjQgMzEtMzguMyA1Ny4yIC41IDk5LjIgNDEuMyAyODAuNyAyMTMuNiAzNjMuMiAxNi43IDggMzYuMSA4IDUyLjggMCAxNzIuNC04Mi41IDIxMy4yLTI2NCAyMTMuNi0zNjMuMiAuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0yNDkuNiAxODMuNWw2LjQgOC41IDYuNC04LjVjMTEuMS0xNC44IDI4LjUtMjMuNSA0Ni45LTIzLjUgMzIuNCAwIDU4LjcgMjYuMyA1OC43IDU4LjdsMCA1LjNjMCA0OS4xLTY1LjggOTguMS05Ni41IDExOC4zLTkuNSA2LjItMjEuNSA2LjItMzAuOSAwLTMwLjctMjAuMi05Ni41LTY5LjMtOTYuNS0xMTguM2wwLTUuM2MwLTMyLjQgMjYuMy01OC43IDU4LjctNTguNyAxOC41IDAgMzUuOSA4LjcgNDYuOSAyMy41eiJdfSwkbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXNraWluZy1ub3JkaWMiLGljb246WzU3Niw1MTIsWyJza2lpbmctbm9yZGljIl0sImY3Y2EiLCJNNDI0LjggMTZhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6bTk5LjggMTkzLjdjNy42IDE1LjIgMS45IDMzLjYtMTIuNiA0MmwwIDE4MC4zLTMyIDAgMC0xNjQuMi0xMC4xIDVjLTI3LjQgMTMuNy02MC43IDYuMS03OS40LTE4LjJsLTE5LjYtMjUuNS0zOS41IDY4LjggMjQuOCAxMi40YzI5LjUgMTQuNyA0Mi45IDQ5LjUgMzEuMSA4MC4ybC0yOC4yIDczLjQgMTQ5LjQgMGM3LjkgMCAxNS42LTIuMyAyMi4yLTYuN2w3LjktNS4zYzExLTcuNCAyNS45LTQuNCAzMy4zIDYuN3M0LjQgMjUuOS02LjcgMzMuM2wtNy45IDUuM0M1NDMgNTA2LjkgNTI2IDUxMiA1MDguNiA1MTJsLTE4OS4xIDBjLS41IDAtMSAwLTEuNSAwTDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4OCAwYzAtOC4yIDMuMS0xNi40IDkuNC0yMi42bDc0LjEtNzQuMSAxMC4yLTM1LjljMTEuMyAxOC4zIDI3LjcgMzMuOCA0OC40IDQ0LjJsNC44IDIuNC0xLjkgNi44Yy0zIDEwLjUtOC42IDIwLTE2LjMgMjcuN2wtNTEuNSA1MS41IDEwMS4zIDAgMzcuMS05Ni40LTU1LjYtMjcuOEMyMzAuNCAzMTkgMjE1LjMgMjY3IDIzOS4zIDIyNy4xbDM3LjctNjIuNy0yNy43LTcuN2MtOS0yLjUtMTguMSAzLjItMjAgMTIuM2wtNS45IDI5LjNjLTMuMSAxNS42LTE3LjEgMjYuMy0zMi41IDI1LjdsLTEzMCAyMDgtMzcuNyAwIDE0MC42LTIyNWMtMy40LTYuMy00LjYtMTMuOC0zLjEtMjEuM2w1LjktMjkuM2M5LjEtNDUuNiA1NS4xLTczLjggOTkuOS02MS40bDMyLjUgOWM0Ni43IDEzIDg4IDQwLjggMTE3LjYgNzkuM2wyNC45IDMyLjMgNDAuNC0yMC4yYzE1LjgtNy45IDM1LTEuNSA0Mi45IDE0LjN6Il19LFlidD0kbGUsRGxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1jaGVjayIsaWNvbjpbNDQ4LDUxMixbOTc0NSw5OTg5LDYxNTEwLCJjaGVjay1zcXVhcmUiXSwiZjE0YSIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0zNDIgMTQ1LjdjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zTDE4OS4xIDMxNS4yIDEzNyAyNjMuMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM1IDUgMTEuOSA3LjUgMTguOCA3czEzLjQtNC4xIDE3LjUtOS44TDM0Ny4zIDE3OS4yYzcuOC0xMC43IDUuNC0yNS43LTUuMy0zMy41eiJdfSxaYnQ9RGxlLEFsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXRoIixpY29uOls1MTIsNTEyLFsxMjg3MDUsImJhdGh0dWIiXSwiZjJjZCIsIk05NiA3Ny4zYzAtNy4zIDUuOS0xMy4zIDEzLjMtMTMuMyAzLjUgMCA2LjkgMS40IDkuNCAzLjlsMTQuOSAxNC45Yy0zLjYgOS4xLTUuNSAxOC45LTUuNSAyOS4yIDAgMTkuOSA3LjIgMzggMTkuMiA1Mi01LjMgOS4yLTQgMjEuMSAzLjggMjkgOS40IDkuNCAyNC42IDkuNCAzMy45IDBMMjg5IDg5YzkuNC05LjQgOS40LTI0LjYgMC0zMy45LTcuOC03LjktMTkuOC05LjEtMjktMy44LTE0LTEyLTMyLjEtMTkuMi01Mi0xOS4yLTEwLjMgMC0yMC4yIDItMjkuMiA1LjVMMTYzLjkgMjIuNkMxNDkuNCA4LjEgMTI5LjcgMCAxMDkuMyAwIDY2LjYgMCAzMiAzNC42IDMyIDc3LjNMMzIgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgNDhjMCAyOC40IDEyLjQgNTQgMzIgNzEuNkw2NCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2IDI1NiAwIDAgMTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQwLjRjMTkuNi0xNy42IDMyLTQzLjEgMzItNzEuNmwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDk2IDI1NiA5NiA3Ny4zeiJdfSxYYnQ9QWxlLFFidD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1iaXNob3AiLGljb246WzMyMCw1MTIsWzk4MjFdLCJmNDNhIiwiTTY0IDM4NEw0OC4zIDM2OC4zQzE3LjQgMzM3LjQgMCAyOTUuNCAwIDI1MS43IDAgMjEzLjEgMTMuNSAxNzUuOCAzOC4yIDE0Ni4xTDEwNi43IDY0IDk2IDY0Qzc4LjMgNjQgNjQgNDkuNyA2NCAzMlM3OC4zIDAgOTYgMEwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTAuNyAwIDQ3LjYgNTcuMS04NS45IDg1LjljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw4Mi4zLTgyLjNjMTguNyAyNy4zIDI4LjcgNTkuNyAyOC43IDkzIDAgNDMuNy0xNy40IDg1LjctNDguMyAxMTYuNkwyNTYgMzg0IDMxMi4yIDQ1NC4zYzUgNi4zIDcuOCAxNC4xIDcuOCAyMi4yIDAgMTkuNi0xNS45IDM1LjUtMzUuNSAzNS41TDM1LjUgNTEyYy0xOS42IDAtMzUuNS0xNS45LTM1LjUtMzUuNSAwLTguMSAyLjctMTUuOSA3LjgtMjIuMkw2NCAzODR6Il19LEVsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwcmVzY3JpcHRpb24tYm90dGxlLW1lZGljYWwiLGljb246WzM4NCw1MTIsWyJwcmVzY3JpcHRpb24tYm90dGxlLWFsdCJdLCJmNDg2IiwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NEwwIDMyek0zMiAxNDRsMzIwIDAgMCAzMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMwNHpNMTYwIDI0OGwwIDQwLTQwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0MCAwIDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDAgNDAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQwIDAgMC00MGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0sSmJ0PUVsZSxJbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJhdy1wb2x5Z29uIixpY29uOls1MTIsNTEyLFs1ODA1NSwidmVjdG9yLXBvbHlnb24iXSwiZjVlZSIsIk02NCAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMmwyNzMuMSAwYzExLjEtMTkuMSAzMS43LTMyIDU1LjQtMzIgMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAzNC0yNi41IDYxLjgtNjAgNjMuOWwtMi4xIDIuOS03MS41IDk5LjFjMy42IDggNS42IDE2LjkgNS42IDI2LjJzLTIgMTguMi01LjYgMjYuMmwyLjIgMy4xIDY5LjMgOTYgMi4xIDIuOWMzMy41IDIuMSA2MCAyOS45IDYwIDYzLjkgMCAzNS4zLTI4LjcgNjQtNjQgNjQtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yNzMuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTI3My4xQzEyLjkgMTA4LjQgMCA4Ny43IDAgNjQgMCAyOC43IDI4LjcgMCA2NCAwek0zOTQuMiA0MTMuNGwtNjUuNS05MC42LTIuMi0zLjFjLTIuMSAuMi00LjMgLjMtNi41IC4zLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRjMi4yIDAgNC40IC4xIDYuNSAuM2w2Ny43LTkzLjdjLS42LS45LTEuMS0xLjctMS42LTIuNkwxMTkuNCA5NmMtNS42IDkuNy0xMy43IDE3LjgtMjMuNCAyMy40bDAgMjczLjFjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40bDI3My4xIDBjLjUtLjkgMS4xLTEuOCAxLjYtMi42eiJdfSxLYnQ9SWxlLGV2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpLWN1cnNvciIsaWNvbjpbMjU2LDUxMixbXSwiZjI0NiIsIk0uMSAyOS4zQy0xLjQgNDcgMTEuNyA2Mi40IDI5LjMgNjMuOWw4IC43QzcwLjUgNjcuMyA5NiA5NSA5NiAxMjguM2wwIDk1LjctMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgOTUuN2MwIDMzLjMtMjUuNSA2MS01OC43IDYzLjhsLTggLjdDMTEuNyA0NDkuNi0xLjQgNDY1IC4xIDQ4Mi43UzE3IDUxMy40IDM0LjcgNTExLjlsOC0uN2MzNC4xLTIuOCA2NC4yLTE4LjkgODUuNC00Mi45IDIxLjIgMjQgNTEuMiA0MCA4NS40IDQyLjlsOCAuN2MxNy42IDEuNSAzMy4xLTExLjYgMzQuNS0yOS4ycy0xMS42LTMzLjEtMjkuMi0zNC41bC04LS43QzE4NS41IDQ0NC43IDE2MCA0MTcgMTYwIDM4My43bDAtOTUuNyAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtOTUuN2MwLTMzLjMgMjUuNS02MSA1OC43LTYzLjhsOC0uN2MxNy42LTEuNSAzMC43LTE2LjkgMjkuMi0zNC41UzIzOS0xLjQgMjIxLjMgLjFsLTggLjdjLTM0LjEgMi44LTY0LjIgMTguOS04NS40IDQyLjktMjEuMi0yNC01MS4yLTQwLTg1LjQtNDIuOWwtOC0uN0MxNy0xLjQgMS42IDExLjcgLjEgMjkuM3oiXX0sdHZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0LWNpcmNsZS1wbHVzIixpY29uOls1NzYsNTEyLFtdLCJlNTAwIiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxNy42LTMuNCAzNS42LTkuNSA1My43LTIxLjgtOC42LTQ1LjYtMTMuNC03MC41LTEzLjQtMTA2IDAtMTkyIDg2LTE5MiAxOTIgMCAyOC41IDYuMiA1NS42IDE3LjQgODAtLjUgMC0uOSAwLTEuNCAwLTE1LjUgMC0zMC44LTQuNi00My4xLTE0LjEtNzMtNTUuNy0yMTIuOS0xODYtMjEyLjktMjk4LjJsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6TTQzMiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0xNiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNDggMCAwIDQ4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00OCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC00OCAwIDAtNDh6Il19LHJ2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGllbGQtZG9nIixpY29uOls1MTIsNTEyLFtdLCJlNTczIiwiTTI2OS40IDIuOUMyNjUuMiAxIDI2MC43IDAgMjU2IDBzLTkuMiAxLTEzLjQgMi45TDU0LjMgODIuOGMtMjIgOS4zLTM4LjQgMzEtMzguMyA1Ny4yIC41IDk5LjIgNDEuMyAyODAuNyAyMTMuNiAzNjMuMiAxNi43IDggMzYuMSA4IDUyLjggMCAxNzIuNC04Mi41IDIxMy4yLTI2NCAyMTMuNi0zNjMuMiAuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0xNjAuOSAyODYuMmM0LjggMS4yIDkuOSAxLjggMTUuMSAxLjggMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NCA0NC4yIDBjMTIuMSAwIDIzLjIgNi44IDI4LjYgMTcuN2w3LjIgMTQuMyA2NCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgNDQuMi0zNS44IDgwLTgwIDgwbC00OCAwIDAgNTAuN2MwIDcuMy01LjkgMTMuMy0xMy4zIDEzLjMtMS44IDAtMy42LS40LTUuMi0xLjFsLTk4LjctNDIuM2MtNi42LTIuOC0xMC44LTkuMy0xMC44LTE2LjQgMC0yLjggLjYtNS41IDEuOS04bDE1LTMwek0xNjAgMTYwbDQ4IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnptMTI4IDQ4YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6Il19LGF2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmVhdGVyLXRoYW4tZXF1YWwiLGljb246WzQ0OCw1MTIsW10sImY1MzIiLCJNMjEuOSA5NC40QzUuMSA4OC44LTMuOSA3MC42IDEuNyA1My45UzI1LjQgMjguMSA0Mi4xIDMzLjZsMzg0IDEyOEM0MzkuMiAxNjYgNDQ4IDE3OC4yIDQ0OCAxOTJzLTguOCAyNi0yMS45IDMwLjRsLTM4NCAxMjhjLTE2LjggNS42LTM0LjktMy41LTQwLjUtMjAuMnMzLjUtMzQuOSAyMC4yLTQwLjVMMzE0LjggMTkyIDIxLjkgOTQuNHpNNDE2IDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDB6Il19LGl2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZS1vcGVuIixpY29uOls1MTIsNTEyLFs2MjEzNV0sImYyYjYiLCJNNjQuNCAxNzUuOEwyNTYgMzMuOSA0NDcuNiAxNzUuOCAyODkuNSAyOTNjLTkuNyA3LjItMjEuNCAxMS0zMy41IDExcy0yMy44LTMuOS0zMy41LTExTDY0LjQgMTc1Ljh6TTI1Ni0zMmMtMTIuMSAwLTIzLjggMy45LTMzLjUgMTFMMjUuOSAxMjQuN0M5LjYgMTM2LjggMCAxNTUuOCAwIDE3Ni4xTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjM5LjljMC0yMC4zLTkuNi0zOS40LTI1LjktNTEuNEwyODkuNS0yMWMtOS43LTcuMi0yMS40LTExLTMzLjUtMTF6Il19LG52dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3VuZCIsaWNvbjpbNTEyLDUxMixbXSwiZTUyZCIsIk0xMTIuNCAxNzkuMkMxNDIgMTI3LjcgMTk2LjggOTYgMjU2LjIgOTZzMTE0LjIgMzEuNyAxNDMuOSA4My4yTDUwOC43IDM2OGMxMi4zIDIxLjMtMy4xIDQ4LTI3LjcgNDhMMzEuNSA0MTZjLTI0LjYgMC00MC0yNi42LTI3LjctNDhMMTEyLjQgMTc5LjJ6Il19LHN2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2ljZW1haWwiLGljb246WzY0MCw1MTIsW10sImY4OTciLCJNMTQ0IDE2MGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNMjYzLjggMzIwYzE1LjMtMjIuOSAyNC4yLTUwLjQgMjQuMi04MCAwLTc5LjUtNjQuNS0xNDQtMTQ0LTE0NFMwIDE2MC41IDAgMjQwIDY0LjUgMzg0IDE0NCAzODRsMzUyIDBjNzkuNSAwIDE0NC02NC41IDE0NC0xNDRTNTc1LjUgOTYgNDk2IDk2IDM1MiAxNjAuNSAzNTIgMjQwYzAgMjkuNiA4LjkgNTcuMSAyNC4yIDgwbC0xMTIuNSAwek00OTYgMTYwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYweiJdfSxvdnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmVzdCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA4NSIsIk0yMDAgNDY0bDAtMTcwLjFjMC0zLjktLjUtNy44LTEuNC0xMS42TDE0NC40IDY1LjRDMTYyLjEgNzcuMiAxODguMiA4OCAyMjQgODhzNjEuOS0xMC44IDc5LjYtMjIuNkwyNDkuNCAyODIuM2MtMSAzLjgtMS40IDcuNy0xLjQgMTEuNkwyNDggNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEwNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTkzLjVjMC05LjUtMi44LTE4LjctOC4xLTI2LjZsLTQ3LjktNzEuOGMtNS4zLTcuOS04LjEtMTcuMS04LjEtMjYuNkwzODQgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTMuNSAwYy0uMyAwLS42IDAtMSAwLS42IDAtMS4yIDAtMS44IDAtMTguOCAwLTM0LjEgOS43LTQ0LjEgMTguOC05LjMgOC40LTI4LjUgMjEuMi02MS43IDIxLjJzLTUyLjQtMTIuOC02MS43LTIxLjJjLTEwLTkuMS0yNS4zLTE4LjgtNDQuMS0xOC44LS42IDAtMS4yIDAtMS44IDAtLjMgMC0uNiAwLTEgMEwxMTIgMEM4NS41IDAgNjQgMjEuNSA2NCA0OGwwIDk3LjVjMCA5LjUtMi44IDE4LjctOC4xIDI2LjZMOC4xIDI0My45QzIuOCAyNTEuOCAwIDI2MS4xIDAgMjcwLjVMMCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMTA0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6Il19LGx2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhdWRpby1kZXNjcmlwdGlvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjI5ZSIsIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4em05NiA5NmwwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjQgNDggMCAwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTE2IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0em00OCAzMmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyLTQ4IDB6bTE1Mi05NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMzOS44IDAgNzItMzIuMiA3Mi03MmwwLTQ4YzAtMzkuOC0zMi4yLTcyLTcyLTcybC00OCAwem00OCAxNDRsLTI0IDAgMC05NiAyNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjR6Il19LGN2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3IixpY29uOls1NzYsNTEyLFsxMTldLCI1NyIsIk0yMC44IDM0YzE2LjUtNi4yIDM1IDIuMiA0MS4yIDE4LjdMMTcyLjIgMzQ2LjcgMjU3LjMgNTVjNC0xMy43IDE2LjUtMjMgMzAuNy0yM3MyNi43IDkuNCAzMC43IDIzTDQwMy44IDM0Ni43IDUxNCA1Mi44YzYuMi0xNi41IDI0LjYtMjQuOSA0MS4yLTE4LjdTNTgwLjIgNTguNyA1NzQgNzUuMmwtMTQ0IDM4NGMtNC44IDEyLjktMTcuNCAyMS4zLTMxLjIgMjAuN3MtMjUuNy05LjgtMjkuNS0yM0wyODggMTc4LjMgMjA2LjcgNDU3Yy0zLjkgMTMuMi0xNS44IDIyLjUtMjkuNSAyM3MtMjYuMy03LjgtMzEuMi0yMC43TDIgNzUuMkMtNC4yIDU4LjcgNC4yIDQwLjIgMjAuOCAzNHoiXX0sV0Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXllLWRyb3BwZXIiLGljb246WzUxMiw1MTIsWyJleWUtZHJvcHBlci1lbXB0eSIsImV5ZWRyb3BwZXIiXSwiZjFmYiIsIk0zNDEuNiAyOS4ybC0xMDEuNiAxMDEuNi05LjQtOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjQgMTAxLjYtMTAxLjZjMzktMzkgMzktMTAyLjIgMC0xNDEuMXMtMTAyLjItMzktMTQxLjEgMHpNNTUuNCAzMjMuM2MtMTUgMTUtMjMuNCAzNS40LTIzLjQgNTYuNmwwIDQyLjQtMjYuNiAzOS45Yy04LjUgMTIuNy02LjggMjkuNiA0IDQwLjRzMjcuNyAxMi41IDQwLjQgNGwzOS45LTI2LjYgNDIuNCAwYzIxLjIgMCA0MS42LTguNCA1Ni42LTIzLjRsMTA5LjQtMTA5LjQtNDUuMy00NS4zLTEwOS40IDEwOS40Yy0zIDMtNy4xIDQuNy0xMS4zIDQuN2wtMzYuMSAwIDAtMzYuMWMwLTQuMiAxLjctOC4zIDQuNy0xMS4zbDEwOS40LTEwOS40LTQ1LjMtNDUuMy0xMDkuNCAxMDkuNHoiXX0sZHZ0PVdELHV2dD1XRCxvZj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUteG1hcmsiLGljb246WzUxMiw1MTIsWzYxNTMyLCJ0aW1lcy1jaXJjbGUiLCJ4bWFyay1jaXJjbGUiXSwiZjA1NyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY3IDE2N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw1NSA1NSA1NS01NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU1IDU1IDU1IDU1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTU1LTU1LTU1IDU1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDU1LTU1LTU1LTU1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXoiXX0scHZ0PW9mLGZ2dD1vZixodnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhaWxlciIsaWNvbjpbNjQwLDUxMixbXSwiZTA0MSIsIk0zMiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yOTYuNCAwYy4yIDIuNiAuNCA1LjMgLjQgOCAwIDQ4LjYtMzkuNCA4OC04OCA4OHMtODgtMzkuNC04OC04OGMwLTIuNyAuMS01LjQgLjQtOEw5NiA0MTZjLTM1LjMgMC02NC0yOC43LTY0LTY0TDMyIDk2em00MDggMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTYwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTExMiAxMzZsMCAxNjBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHptMTc2LTI0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE2MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYwYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0yNjQgNDI0YTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6Il19LEdEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InR1cmtpc2gtbGlyYS1zaWduIixpY29uOls0NDgsNTEyLFsidHJ5IiwidHVya2lzaC1saXJhIl0sImUyYmIiLCJNMTYwIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDMuNiAxMjEuNC0zNC43YzEyLjctMy42IDI2IDMuNyAyOS43IDE2LjVzLTMuNyAyNi0xNi41IDI5LjdsLTEzNC42IDM4LjUgMCA0Ni4xIDEyMS40LTM0LjdjMTIuNy0zLjYgMjYgMy43IDI5LjcgMTYuNXMtMy43IDI2LTE2LjUgMjkuN2wtMTM0LjYgMzguNSAwIDE2Mi41IDcyIDBjNTMgMCA5Ni00MyA5Ni05NiAwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyYzAgODguNC03MS42IDE2MC0xNjAgMTYwbC0xMDQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNzYuMi0yNS40IDcuM2MtMTIuNyAzLjYtMjYtMy43LTI5LjctMTYuNXMzLjctMjYgMTYuNS0yOS43bDM4LjYtMTEgMC00Ni4xLTI1LjQgNy4zYy0xMi43IDMuNi0yNi0zLjctMjkuNy0xNi41czMuNy0yNiAxNi41LTI5LjdsMzguNi0xMSAwLTYxLjljMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LG12dD1HRCxndnQ9R0QsYnZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbGNhbm8iLGljb246WzUxMiw1MTIsWzEyNzc1NV0sImY3NzAiLCJNMTYwIDE0NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMxNS43IDAgMzAgNS42IDQxLjIgMTUgMTEuMi0xOC42IDMxLjYtMzEgNTQuOC0zMXM0My42IDEyLjQgNTQuOCAzMWMxMS4xLTkuNCAyNS41LTE1IDQxLjItMTUgMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRjLTE0LjcgMC0yOC4zLTUtMzkuMS0xMy4zbC0zMiA0OEMyNzUuMyAxODcgMjY2IDE5MiAyNTYgMTkycy0xOS4zLTUtMjQuOS0xMy4zbC0zMi00OEMxODguMyAxMzkgMTc0LjcgMTQ0IDE2MCAxNDR6TTE0NCAzNTJsNDguNC0yNC4yYzEwLjItNS4xIDIxLjYtNy44IDMzLTcuOCAxOS42IDAgMzguNCA3LjggNTIuMiAyMS42bDMyLjUgMzIuNWM2LjMgNi4zIDE0LjkgOS45IDIzLjggOS45IDExLjMgMCAyMS44LTUuNiAyOC0xNWw5LjctMTQuNi01OS02Ni4zYy05LjEtMTAuMi0yMi4yLTE2LjEtMzUuOS0xNi4xbC00MS44IDBjLTEzLjcgMC0yNi44IDUuOS0zNS45IDE2LjFsLTU5LjkgNjcuNCA0LjctMy41em0xOS40LTk1LjhjMTguMi0yMC41IDQ0LjMtMzIuMiA3MS44LTMyLjJsNDEuOCAwYzI3LjQgMCA1My41IDExLjcgNzEuOCAzMi4ybDE1MC4yIDE2OWM4LjUgOS41IDEzLjIgMjEuOSAxMy4yIDM0LjcgMCAyOC44LTIzLjQgNTIuMi01Mi4yIDUyLjJMNTIuMiA1MTJDMjMuNCA1MTIgMCA0ODguNiAwIDQ1OS44IDAgNDQ3LjEgNC43IDQzNC43IDEzLjIgNDI1LjJsMTUwLjItMTY5eiJdfSx2dnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2FuZC1zcGFya2xlcyIsaWNvbjpbNTEyLDUxMixbXSwiZjcyYiIsIk00NjQgNi4xYzkuNS04LjUgMjQtOC4xIDMzIC45bDggOGM5IDkgOS40IDIzLjUgLjkgMzNsLTg1LjggOTUuOWMtMi42IDIuOS00LjEgNi43LTQuMSAxMC43bDAgMjEuNGMwIDguOC03LjIgMTYtMTYgMTZsLTE1LjggMGMtNC42IDAtOC45IDEuOS0xMS45IDUuM0wxMDAuNyA1MDAuOWMtNi4zIDcuMS0xNS4zIDExLjEtMjQuOCAxMS4xLTguOCAwLTE3LjMtMy41LTIzLjUtOS44TDkuNyA0NTkuN2MtNi4yLTYuMi05LjctMTQuNy05LjctMjMuNSAwLTkuNSA0LTE4LjUgMTEuMS0yNC44bDExMS42LTk5LjhjMy40LTMgNS4zLTcuNCA1LjMtMTEuOWwwLTI3LjZjMC04LjggNy4yLTE2IDE2LTE2bDM0LjYgMGMzLjkgMCA3LjctMS41IDEwLjctNC4xTDQ2NCA2LjF6TTQzMiAyODhjMy42IDAgNi43IDIuNCA3LjcgNS44bDE0LjggNTEuNyA1MS43IDE0LjhjMy40IDEgNS44IDQuMSA1LjggNy43cy0yLjQgNi43LTUuOCA3LjdsLTUxLjcgMTQuOC0xNC44IDUxLjdjLTEgMy40LTQuMSA1LjgtNy43IDUuOHMtNi43LTIuNC03LjctNS44bC0xNC44LTUxLjctNTEuNy0xNC44Yy0zLjQtMS01LjgtNC4xLTUuOC03LjdzMi40LTYuNyA1LjgtNy43bDUxLjctMTQuOCAxNC44LTUxLjdjMS0zLjQgNC4xLTUuOCA3LjctNS44ek04Ny43IDY5LjhsMTQuOCA1MS43IDUxLjcgMTQuOGMzLjQgMSA1LjggNC4xIDUuOCA3LjdzLTIuNCA2LjctNS44IDcuN2wtNTEuNyAxNC44LTE0LjggNTEuN2MtMSAzLjQtNC4xIDUuOC03LjcgNS44cy02LjctMi40LTcuNy01LjhMNTcuNSAxNjYuNSA1LjggMTUxLjdjLTMuNC0xLTUuOC00LjEtNS44LTcuN3MyLjQtNi43IDUuOC03LjdsNTEuNy0xNC44IDE0LjgtNTEuN2MxLTMuNCA0LjEtNS44IDcuNy01LjhzNi43IDIuNCA3LjcgNS44ek0yMDggMGMzLjcgMCA2LjkgMi41IDcuOCA2LjFsNi44IDI3LjMgMjcuMyA2LjhjMy42IC45IDYuMSA0LjEgNi4xIDcuOHMtMi41IDYuOS02LjEgNy44bC0yNy4zIDYuOC02LjggMjcuM2MtLjkgMy42LTQuMSA2LjEtNy44IDYuMXMtNi45LTIuNS03LjgtNi4xbC02LjgtMjcuMy0yNy4zLTYuOGMtMy42LS45LTYuMS00LjEtNi4xLTcuOHMyLjUtNi45IDYuMS03LjhsMjcuMy02LjggNi44LTI3LjNjLjktMy42IDQuMS02LjEgNy44LTYuMXoiXX0seHZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvcGhvbmUiLGljb246WzM4NCw1MTIsW10sImYxMzAiLCJNMTkyIDBDMTM5IDAgOTYgNDMgOTYgOTZsMCAxMjhjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTEyOGMwLTUzLTQzLTk2LTk2LTk2ek00OCAxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAxNzAuNyAwIDE4NGwwIDQwYzAgOTcuOSA3My4zIDE3OC43IDE2OCAxOTAuNWwwIDQ5LjUtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTQ5LjVjOTQuNy0xMS44IDE2OC05Mi42IDE2OC0xOTAuNWwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTNDggMzAzLjUgNDggMjI0bDAtNDB6Il19LHl2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcm93biIsaWNvbjpbNTc2LDUxMixbMTI4MDgxXSwiZjUyMSIsIk0zMTMgODcuMmM5LjItNy4zIDE1LTE4LjYgMTUtMzEuMiAwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDEyLjYgNS45IDIzLjkgMTUgMzEuMkwxOTQuNiAxOTQuOGMtMTAgMTUuNy0zMS4zIDE5LjYtNDYuMiA4LjRMODguOSAxNTguN2M0LjUtNi40IDcuMS0xNC4zIDcuMS0yMi43IDAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwYzAgMjEuOCAxNy41IDM5LjYgMzkuMiA0MEw4Ny44IDM5My41YzQuNyAzMS4zIDMxLjYgNTQuNSA2My4zIDU0LjVsMjczLjggMGMzMS43IDAgNTguNi0yMy4yIDYzLjMtNTQuNUw1MjAuOCAxNzZjMjEuNy0uNCAzOS4yLTE4LjIgMzkuMi00MCAwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDguNCAyLjYgMTYuMyA3LjEgMjIuN2wtNTkuNCA0NC42Yy0xNC45IDExLjItMzYuMiA3LjMtNDYuMi04LjRMMzEzIDg3LjJ6Il19LHd2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW50LWFycm93LXR1cm4tbGVmdCIsaWNvbjpbNTEyLDUxMixbXSwiZTU4MCIsIk0tLjUgMTEzbDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMzEtMzEgMzUwLjEgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yNGMwLTQ4LjYtMzkuNC04OC04OC04OGwtMzUwLjEgMCAzMS0zMWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOVM4MC45LTIuMyA3MS41IDdMLS41IDc5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXpNNjAuMyAyOTIuNkwzNy4xIDQ3NmMtMi40IDE5LjEgMTIuNSAzNiAzMS43IDM2bDE1NC41IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMTcuNGMwLTUuOSA0LjctMTAuNiAxMC42LTEwLjYgNCAwIDcuNyAyLjMgOS41IDUuOWw2OC4yIDEzNi41YzUuNCAxMC44IDE2LjUgMTcuNyAyOC42IDE3LjdsNzEuOSAwYzE5LjMgMCAzNC4yLTE2LjkgMzEuNy0zNkw0NTIuNyAyOTIuN2MtMS4yLTkuNy02LjktMTguNC0xNS4zLTIzLjRMMjcxLjkgMTY5LjljLTEwLjItNi4xLTIyLjktNi4xLTMzLjEgLjFMNzUuNCAyNjkuM2MtOC4zIDUuMS0xMy45IDEzLjctMTUuMSAyMy4zeiJdfSxQbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stZmFzdCIsaWNvbjpbNjQwLDUxMixbInNoaXBwaW5nLWZhc3QiXSwiZjQ4YiIsIk02NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyIDUwLjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w2MjEuMyAxOTJjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0w2NDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zLjMgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjRsLTEwMi42IDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0bC0zLjMgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC00OC00MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDI0MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwyNCAxNDRjLTEzLjMgMC0yNC0xMC43LTI0LTI0UzEwLjcgOTYgMjQgOTZsNDAgMHpNNTc2IDI4OGwwLTUwLjctNDUuMy00NS4zLTUwLjcgMCAwIDk2IDk2IDB6TTI1NiA0MjRhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMjMyIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sTXZ0PVBsZSxObGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1wZW4iLGljb246WzY0MCw1MTIsWyJ1c2VyLWVkaXQiXSwiZjRmZiIsIk0yNTYuMSAyNDhhMTIwIDEyMCAwIDEgMCAwLTI0MCAxMjAgMTIwIDAgMSAwIDAgMjQwem0tMjkuNyA1NmMtOTguNSAwLTE3OC4zIDc5LjgtMTc4LjMgMTc4LjMgMCAxNi40IDEzLjMgMjkuNyAyOS43IDI5LjdsMTk2LjUgMCAxMC45LTU0LjVjNC4zLTIxLjcgMTUtNDEuNiAzMC42LTU3LjJsNjcuMy02Ny4zYy0yOC0xOC4zLTYxLjQtMjguOS05Ny40LTI4LjlsLTU5LjQgMHpNMzMyLjMgNDY2LjlsLTExLjkgNTkuNmMtLjIgLjktLjMgMS45LS4zIDIuOSAwIDggNi41IDE0LjYgMTQuNiAxNC42IDEgMCAxLjktLjEgMi45LS4zbDU5LjYtMTEuOWMxMi40LTIuNSAyMy44LTguNiAzMi43LTE3LjVsMTE4LjktMTE4LjktODAtODAtMTE4LjkgMTE4LjljLTguOSA4LjktMTUgMjAuMy0xNy41IDMyLjd6bTI2Ny44LTEyM2MyMi4xLTIyLjEgMjIuMS01Ny45IDAtODBzLTU3LjktMjIuMS04MCAwbC0yOC44IDI4LjggODAgODAgMjguOC0yOC44eiJdfSxrdnQ9TmxlLFN2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWNsb2NrIixpY29uOls1NzYsNTEyLFtdLCJmNGZkIiwiTTIyNCA4YTEyMCAxMjAgMCAxIDEgMCAyNDAgMTIwIDEyMCAwIDEgMSAwLTI0MHpNMTk0LjMgMzA0bDU5LjQgMGMzLjkgMCA3LjkgLjEgMTEuOCAuNC0xNi4yIDI4LjItMjUuNSA2MC44LTI1LjUgOTUuNiAwIDQxLjggMTMuNCA4MC41IDM2IDExMkw0NS43IDUxMkMyOS4zIDUxMiAxNiA0OTguNyAxNiA0ODIuMyAxNiAzODMuOCA5NS44IDMwNCAxOTQuMyAzMDR6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQ0LTgwYy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsNDggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMzIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNnoiXX0senZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNob3dlciIsaWNvbjpbNTEyLDUxMixbMTI4NzAzXSwiZjJjYyIsIk02NCAxMzEuOWMwLTE5LjggMTYuMS0zNS45IDM1LjktMzUuOSA5LjUgMCAxOC42IDMuOCAyNS40IDEwLjVsMTYuMiAxNi4yYy0yMSAzOC45LTE3LjQgODcuNSAxMC45IDEyM0wxNTEgMjQ3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBMMzQ1IDEyMWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0xLjMgMS4zYy0zNS41LTI4LjMtODQuMS0zMS45LTEyMy0xMC45TDE3MC41IDYxLjNDMTUxLjggNDIuNSAxMjYuNCAzMiA5OS45IDMyIDQ0LjcgMzIgMCA3Ni43IDAgMTMxLjlMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMxNi4xek0yNTYgMzUyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptNjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMC0xMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em02NCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wLTEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTY0IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTMyLTMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sRmxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC11cCIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS11cCJdLCJmMTUxIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIyNCAxNjBjNi43IDAgMTMgMi44IDE3LjYgNy43bDEwNCAxMTJjNi41IDcgOC4yIDE3LjIgNC40IDI1LjlTMzM3LjUgMzIwIDMyOCAzMjBsLTIwOCAwYy05LjUgMC0xOC4yLTUuNy0yMi0xNC40cy0yLjEtMTguOSA0LjQtMjUuOWwxMDQtMTEyYzQuNS00LjkgMTAuOS03LjcgMTcuNi03Ljd6Il19LEN2dD1GbGUsT2xlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcC1sb2NhdGlvbiIsaWNvbjpbNjQwLDUxMixbIm1hcC1tYXJrZWQiXSwiZjU5ZiIsIk01NzYgNDhjMC0xMS4xLTUuNy0yMS40LTE1LjItMjcuMnMtMjEuMi02LjQtMzEuMS0xLjRMNDEzLjUgNzcuNSAyMzQuMSAxNy42Yy04LjEtMi43LTE2LjgtMi4xLTI0LjQgMS43bC0xMjggNjRDNzAuOCA4OC44IDY0IDk5LjkgNjQgMTEybDAgMzUyYzAgMTEuMSA1LjcgMjEuNCAxNS4yIDI3LjJzMjEuMiA2LjQgMzEuMSAxLjRsMTE2LjEtNTguMSAxNzMuMyA1Ny44Yy00LjMtNi40LTguNS0xMy4xLTEyLjYtMTkuOS0xMS0xOC4zLTIxLjktMzkuMy0zMC02MS44bC0xMDEuMi0zMy43IDAtMjg0LjUgMTI4IDQyLjcgMCA5OS4zYzMxLTM1LjggNzctNTguNCAxMjgtNTguNCAyMi42IDAgNDQuMiA0LjQgNjQgMTIuNUw1NzYgNDh6TTM5MiAzNDEuOWMwIDY4LjkgNjQuMSAxNTAuNCA5OC42IDE4OS4zIDExLjYgMTMgMzEuMyAxMyA0Mi45IDAgMzQuNS0zOC45IDk4LjYtMTIwLjQgOTguNi0xODkuMyAwLTY1LjEtNTMuNy0xMTcuOS0xMjAtMTE3LjlTMzkyIDI3Ni44IDM5MiAzNDEuOXoiXX0sVHZ0PU9sZSxfdnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuLWZhbmN5IixpY29uOls1MTIsNTEyLFsxMjgzOTUsMTAwMDJdLCJmNWFjIiwiTTM3My41IDI3LjFjMTUtMTcuMiAzNi43LTI3LjEgNTkuNi0yNy4xIDQzLjYgMCA3OSAzNS40IDc5IDc5IDAgMjIuOC05LjkgNDQuNi0yNy4xIDU5LjZMMjgzLjcgMzEzLjggMjczIDMwMyAyMDkgMjM5IDE5OC4yIDIyOC4zIDM3My41IDI3LjF6TTE2MS4xIDI1OUMxNjIgMjYwIDE4OCAyODYgMjM5IDMzN2wxMy45IDEzLjktMTcuMSA3NC4yYy0zLjkgMTcuMS0xNi45IDMwLjctMzMuOCAzNS40bC0xNjkuOCA0Ny41IDkyLjMtOTIuM2MxLjIgLjEgMi4zIC4yIDMuNSAuMiAxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyYzAgMS4yIC4xIDIuNCAuMiAzLjVMMy45IDQ3OS44IDUxLjUgMzEwYzQuNy0xNi45IDE4LjMtMjkuOSAzNS40LTMzLjhMMTYxLjEgMjU5eiJdfSxZRD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJldXJvLXNpZ24iLGljb246WzQ0OCw1MTIsWzgzNjQsImV1ciIsImV1cm8iXSwiZjE1MyIsIk03My4zIDE5MkMxMDAuOCA5OS41IDE4Ni41IDMyIDI4OCAzMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy02NS42IDAtMTIyIDM5LjUtMTQ2LjcgOTZMMjcyIDE5MmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQzLjIgMGMtLjUgNS4zLS44IDEwLjYtLjggMTZzLjMgMTAuNyAuOCAxNkwyNzIgMjcyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMzAuNyAwYzI0LjcgNTYuNSA4MS4xIDk2IDE0Ni43IDk2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTEwMS41IDAtMTg3LjItNjcuNS0yMTQuNy0xNjBMNDAgMzIwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0LjYgMGMtLjctMTAuNS0uNy0yMS41IDAtMzJMNDAgMjQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDMzLjMgMHoiXX0sTHZ0PVlELCR2dD1ZRCxEdnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTBiIiwiTTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMSAwLTI4OCAxNDQgMTQ0IDAgMSAxIDAgMjg4ek0yNjguNiA2LjVjMTIuMi05LjMgMjkuNy04LjcgNDEuMiAybDIxNy42IDIwMmMtMTAuMi0xLjctMjAuNy0yLjYtMzEuMy0yLjYtNzguNiAwLTE0Ni4yIDQ3LjItMTc1LjkgMTE0LjgtNS0xLjgtMTAuNS0yLjgtMTYuMS0yLjhsLTMyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgOTAuOSAwYzYuMSAxNy4zIDE0LjYgMzMuNCAyNS4yIDQ4TDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNNTU1LjMgMzQwLjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0zNi43IDM2LjctMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDM2LjcgMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGwzNi43LTM2LjcgMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtMzYuNy0zNi43IDM2LjctMzYuN2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnoiXX0sQXZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpcmEtc2lnbiIsaWNvbjpbMzg0LDUxMixbODM1Nl0sImYxOTUiLCJNODQuOSAyNTZsLTI4LjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMS42IDBDNTMuMiAxMjQuNyAxMTYuOCA0MiAyMDcuNiA0Mmw4LjIgMGMzMy42IDAgNjYuMiAxMS4zIDkyLjUgMzIuMmwxNi4xIDEyLjdjMTMuOSAxMSAxNi4yIDMxLjEgNS4yIDQ1cy0zMS4xIDE2LjItNDUgNS4ybC0xNi4xLTEyLjdjLTE1LTExLjktMzMuNi0xOC40LTUyLjgtMTguNGwtOC4yIDBjLTUzLjggMC05MC4xIDUyLjktNzMuNSAxMDJsMTYyLjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ1LjEgMGMyLjMgMTAuNiAzLjYgMjEuMyAzLjkgMzJsMTQxLjIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwxNTAgMzM2Yy00LjggMTguNi0xMi42IDM2LjUtMjMuNiA1Mi45bC0xOC4xIDI3LjEgMjEyLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjcyIDBjLTExLjggMC0yMi42LTYuNS0yOC4yLTE2LjlzLTUtMjMgMS42LTMyLjlsNTEuMi03Ni44YzMuNy01LjYgNi45LTExLjQgOS40LTE3LjRsLTI2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzQuOCAwYy0uNS0xMC44LTIuNi0yMS42LTYuNC0zMnoiXX0sYWY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieWVuLXNpZ24iLGljb246WzM4NCw1MTIsWzE2NSwiY255IiwianB5Iiwicm1iIiwieWVuIl0sImYxNTciLCJNNzQuOSA0Ni43Yy05LjYtMTQuOS0yOS40LTE5LjItNDQuMi05LjZTMTEuNSA2Ni40IDIxLjEgODEuM0wxNDMuNyAyNzIgODggMjcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgMCAzMi03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDggNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMCAwLTMyIDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTU1LjcgMCAxMjIuNi0xOTAuN2M5LjYtMTQuOSA1LjMtMzQuNy05LjYtNDQuMnMtMzQuNy01LjMtNDQuMiA5LjZMMTkyIDIyOC44IDc0LjkgNDYuN3oiXX0sRXZ0PWFmLEl2dD1hZixQdnQ9YWYsTnZ0PWFmLEZ2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3gtb3BlbiIsaWNvbjpbNjQwLDUxMixbXSwiZjQ5ZSIsIk01NjAuMyAyMzcuMmMxMC40IDExLjggMjguMyAxNC40IDQxLjggNS41IDE0LjctOS44IDE4LjctMjkuNyA4LjktNDQuNGwtNDgtNzJjLTIuOC00LjItNi42LTcuNy0xMS4xLTEwLjJMMzUxLjQgNC43Yy0xOS4zLTEwLjctNDIuOC0xMC43LTYyLjIgMEw4OC44IDExNmMtNS40IDMtOS43IDcuNC0xMi42IDEyLjhMMjcuNyAyMTguN2MtMTIuNiAyMy40LTMuOCA1Mi41IDE5LjYgNjUuMWwzMyAxNy43IDAgNTMuM2MwIDIzIDEyLjQgNDQuMyAzMi40IDU1LjdsMTc2IDk5LjdjMTkuNiAxMS4xIDQzLjUgMTEuMSA2My4xIDBsMTc2LTk5LjdjMjAuMS0xMS40IDMyLjQtMzIuNiAzMi40LTU1LjdsMC0xMTcuNXptLTI0MC05LjhMMTcwLjIgMTQ0IDMyMC4zIDYwLjYgNDcwLjQgMTQ0IDMyMC4zIDIyNy40em0tNDEuNSA1MC4ybC0yMS4zIDQ2LjItMTY1LjgtODguOCAyNS40LTQ3LjIgMTYxLjcgODkuOHoiXX0sT3Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLWZpZWxkIixpY29uOls2NDAsNTEyLFtdLCJlNThkIiwiTTMyIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDIyNCAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMmw0MC40IDBjMzIuNCAwIDYxLjYgMTkuNiA3NCA0OS41bDQzLjggMTA2LjMgMS43IDQuMiAyNC43IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtLjQgMGMuMiAyLjYgLjQgNS4zIC40IDggMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0yLjcgLjEtNS40IC40LThsLTE0NC43IDBjLjIgMi42IC40IDUuMyAuNCA4IDAgNDguNi0zOS40IDg4LTg4IDg4cy04OC0zOS40LTg4LTg4YzAtMy42IC4yLTcuMSAuNi0xMC41LTE5LTYuNC0zMi42LTI0LjQtMzIuNi00NS41bDAtNDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMC0zMnptMzUyIDMybDAgOTYgODIuMSAwLTM1LjQtODYuMWMtMi41LTYtOC4zLTkuOS0xNC44LTkuOUwzODQgMTI4ek0xOTIgMzkyYTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6bTI4MCA0MGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LFJ2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NhdGlvbi1waW4tbG9jayIsaWNvbjpbNTEyLDUxMixbXSwiZTUxZiIsIk0wIDE4OC42QzAgODQuNCA4NiAwIDE5MiAwIDI5NC4xIDAgMzc3LjYgNzguMyAzODMuNiAxNzcgMzIwLjcgMTg1LjEgMjcyIDIzOC44IDI3MiAzMDRsMCAyNC40Yy0xOS42IDE3LjYtMzIgNDMuMS0zMiA3MS41bDAgNzUuN2MtOS45IDExLjYtMTguOSAyMS43LTI2LjQgMjkuOC0xMS44IDEyLjgtMzEuNSAxMi44LTQzLjMgMC01MC4yLTU0LjUtMTcwLjQtMTk3LjUtMTcwLjQtMzE2Ljh6TTE5MiAyNTZhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6bTI0MCA0OC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNMjg4IDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0sUmxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1wcmF5aW5nIixpY29uOlszODQsNTEyLFsxMjg3MjAsInByYXkiXSwiZjY4MyIsIk0zMjAgNjRhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek0yMDAuNyAyNjRsMjIuOSAzMS41YzYuNSA4LjkgMTYuMyAxNC43IDI3LjIgMTYuMXMyMS45LTEuNyAzMC40LTguN2w4OC03MmMxNy4xLTE0IDE5LjYtMzkuMiA1LjYtNTYuM3MtMzkuMi0xOS42LTU2LjMtNS42bC01NS4yIDQ1LjItMjYuMi0zNmMtMTUuNi0yMS41LTQwLjYtMzQuMi02Ny4yLTM0LjItMzAuOSAwLTU5LjIgMTcuMS03My42IDQ0LjRMNDcuOCAyODAuOWMtMjAuMiAzOC41LTkuNCA4NS45IDI1LjYgMTExLjhMMTI2LjYgNDMyIDQwIDQzMmMtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MGwyMDggMGMxNy4zIDAgMzIuNi0xMS4xIDM4LTI3LjVzLS4zLTM0LjQtMTQuMi00NC43bC0xMTYuMS04NS44IDQ1LTkweiJdfSxCdnQ9UmxlLEh2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbGlwYm9hcmQtbGlzdCIsaWNvbjpbMzg0LDUxMixbXSwiZjQ2ZCIsIk0zMTEuNCAzMmw4LjYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsOC42IDBDODMuNiAxMi45IDEwNC4zIDAgMTI4IDBMMjU2IDBjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMyek0yNDggMTEyYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDEzNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIgMHpNMTI4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0zMiAwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTAgMTI4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTk2IDQxNmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LHF2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzYWNrLWRvbGxhciIsaWNvbjpbNTEyLDUxMixbMTI4MTc2XSwiZjgxZCIsIk0zMjggMTEybC0xNDQgMC0zNy4zLTc0LjVjLTEuOC0zLjYtMi43LTcuNi0yLjctMTEuNiAwLTE0LjMgMTEuNi0yNS45IDI1LjktMjUuOUwzNDIuMSAwYzE0LjMgMCAyNS45IDExLjYgMjUuOSAyNS45IDAgNC0uOSA4LTIuNyAxMS42TDMyOCAxMTJ6TTE2OS42IDE2MGwxNzIuOCAwIDQ4LjcgNDAuNkM0NTcuNiAyNTYgNDk2IDMzOCA0OTYgNDI0LjUgNDk2IDQ3Mi44IDQ1Ni44IDUxMiA0MDguNSA1MTJsLTMwNS4xIDBDNTUuMiA1MTIgMTYgNDcyLjggMTYgNDI0LjUgMTYgMzM4IDU0LjQgMjU2IDEyMC45IDIwMC42TDE2OS42IDE2MHpNMjYwIDIyNGMtMTEgMC0yMCA5LTIwIDIwbDAgNGMtMjguOCAuMy01MiAyMy43LTUyIDUyLjUgMCAyNS43IDE4LjUgNDcuNiA0My45IDUxLjhsNDEuNyA3YzYgMSAxMC40IDYuMiAxMC40IDEyLjMgMCA2LjktNS42IDEyLjUtMTIuNSAxMi41TDIxNiAzODRjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDI0IDAgMCA0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNC43YzI1LTQuMSA0NC0yNS43IDQ0LTUxLjggMC0yNS43LTE4LjUtNDcuNi00My45LTUxLjhsLTQxLjctN2MtNi0xLTEwLjQtNi4yLTEwLjQtMTIuMyAwLTYuOSA1LjYtMTIuNSAxMi41LTEyLjVsNDcuNSAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtOCAwIDAtNGMwLTExLTktMjAtMjAtMjB6Il19LGp2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3VudGFpbi1zdW4iLGljb246WzU3Niw1MTIsW10sImU1MmYiLCJNMjU2LjUgMGMxNC43IDAgMjguMiA4LjEgMzUuMiAyMWwyMTYgNDAwYzYuNyAxMi40IDYuNCAyNy40LS44IDM5LjUtNy4yIDEyLjEtMjAuMyAxOS41LTM0LjMgMTkuNWwtNDMyIDBjLTE0LjEgMC0yNy4xLTcuNC0zNC4zLTE5LjVzLTcuNS0yNy4xLS44LTM5LjVsMjE2LTQwMCAyLjktNC42QzIzMS43IDYuMiAyNDMuNiAwIDI1Ni41IDB6TTE3MC40IDI0OS45bDI2LjggMjYuOGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw0My4zLTQzLjNjNi02IDE0LjEtOS40IDIyLjYtOS40bDQyLjggMC03Mi4xLTEzMy41LTg2LjEgMTU5LjR6TTQ5Ni41IDE2MGE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHoiXX0sQmxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLXdpZGUtc2hvcnQiLGljb246WzU3Niw1MTIsWyJzb3J0LWFtb3VudC11cCJdLCJmMTYxIiwiTTE1MC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAxNDEuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNi43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NnpNMzIwIDQ4MGwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyem0wLTEyOGw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyem0wLTEyOGwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bTAtMTI4bDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnoiXX0sVnZ0PUJsZSxVdnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTU5MiIsIk0yMjQgMTI4YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMTc2IDMzNmMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMnMxMTIgNTAuMSAxMTIgMTEybDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtOHpNMzkyIDE0NGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTI3LjIgMTAwLjRjOS4xLTIuOSAxOC44LTQuNCAyOC44LTQuNCA1MyAwIDk2IDQzIDk2IDk2bDAgMTAuN2MwIDExLjgtOS42IDIxLjMtMjEuMyAyMS4zbC03OC44IDBjMi43LTcuNSA0LjEtMTUuNiA0LjEtMjRsMC04YzAtMzQuMS0xMC42LTY1LjctMjguOC05MS42em0tMjYyLjQgMGMtMTguMiAyNi0yOC44IDU3LjUtMjguOCA5MS42bDAgOGMwIDguNCAxLjQgMTYuNSA0LjEgMjRsLTc4LjggMEM0MS42IDM2OCAzMiAzNTguNCAzMiAzNDYuN0wzMiAzMzZjMC01MyA0My05NiA5Ni05NiAxMCAwIDE5LjcgMS41IDI4LjggNC40ek03MiAxNDRhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0wIDQ0MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw1MjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA0NjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxXdnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Rhci1vZi1kYXZpZCIsaWNvbjpbNTEyLDUxMixbMTAwMTddLCJmNjlhIiwiTTQxNS45IDMxMS45bC0yNy44IDQ4LjEgNTUuNyAwLTI3LjgtNDguMXpNMzgzLjYgMjU2bC02MC4yLTEwNC0xMzQuOCAwLTYwLjIgMTA0IDYwLjIgMTA0IDEzNC44IDAgNjAuMi0xMDR6bTY0LjcgMGw1OC40IDEwMC45YzMuNSA2IDUuMyAxMi44IDUuMyAxOS43IDAgMjEuNy0xNy42IDM5LjQtMzkuNCAzOS40bC0xMTcgMC02MS4zIDEwNS44QzI4Ni41IDUzNS42IDI3MS44IDU0NCAyNTYgNTQ0cy0zMC41LTguNC0zOC40LTIyLjJsLTYxLjMtMTA1LjgtMTE3IDBjLTIxLjcgMC0zOS40LTE3LjYtMzkuNC0zOS40IDAtNi45IDEuOC0xMy43IDUuMy0xOS43TDYzLjcgMjU2IDUuMyAxNTUuMUMxLjggMTQ5LjEgMCAxNDIuMyAwIDEzNS40IDAgMTEzLjYgMTcuNiA5NiAzOS40IDk2bDExNyAwIDYxLjMtMTA1LjhDMjI1LjUtMjMuNiAyNDAuMi0zMiAyNTYtMzJzMzAuNSA4LjQgMzguNCAyMi4ybDYxLjMgMTA1LjggMTE3IDBjMjEuNyAwIDM5LjQgMTcuNiAzOS40IDM5LjQgMCA2LjktMS44IDEzLjctNS4zIDE5LjdMNDQ4LjMgMjU2ek0zODguMSAxNTJsMjcuOCA0OC4xIDI3LjgtNDguMS01NS43IDB6TTI5MSA5NmwtMzUtNjAuNC0zNSA2MC40IDcwIDB6TTEyMy45IDE1MmwtNTUuNyAwIDI3LjggNDguMSAyNy44LTQ4LjF6TTk2LjEgMzExLjlsLTI3LjggNDguMSA1NS43IDAtMjcuOC00OC4xek0yMjEgNDE2bDM1IDYwLjQgMzUtNjAuNC03MCAweiJdfSxHdnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibm90ZXMtbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbXSwiZjQ4MSIsIk05NiAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgxLjUgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN0w0OTMuMyAyOTAuN2MxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDUxMiA2NGMwLTM1LjMtMjguNy02NC02NC02NEwxNjAgMEMxMjQuNyAwIDk2IDI4LjcgOTYgNjRsMCAyODh6TTI4OCAxMTJsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OCA0OCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDAgMC00OGMwLTguOCA3LjItMTYgMTYtMTZ6TTQ4IDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDEwNi43IDAgMTIwTDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzI4eiJdfSxZdnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXVzdHJhbC1zaWduIixpY29uOls0NDgsNTEyLFtdLCJlMGE5IiwiTTI2Ni41IDI0MGwtODUgMCA0Mi41LTEwNi40IDQyLjUgMTA2LjR6bTY4LjkgMEwyNjIuOSA1OC4zQzI1Ni41IDQyLjQgMjQxLjEgMzIgMjI0IDMycy0zMi41IDEwLjQtMzguOSAyNi4zTDExMi42IDI0MCAzMiAyNDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjEuNCAwLTE5LjIgNDgtNDIuMyAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDIzLjEgMC0yMC44IDUyLjFjLTYuNiAxNi40IDEuNCAzNSAxNy45IDQxLjZzMzUtMS40IDQxLjYtMTcuOWwzMC4zLTc1LjkgMjAwIDAgMzAuMyA3NS45YzYuNiAxNi40IDI1LjIgMjQuNCA0MS42IDE3LjlzMjQuNC0yNS4yIDE3LjktNDEuNkwzOTIuOSAzODQgNDE2IDM4NGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDIuMyAwLTE5LjItNDggNjEuNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MC42IDB6bS00OS43IDQ4bDE5LjIgNDgtMTYxLjYgMCAxOS4yLTQ4IDEyMy4zIDB6Il19LFp2dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbGlwYm9hcmQtdXNlciIsaWNvbjpbMzg0LDUxMixbXSwiZjdmMyIsIk0zMTEuNCAzMmw4LjYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsOC42IDBDODMuNiAxMi45IDEwNC4zIDAgMTI4IDBMMjU2IDBjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMyek0yNDggMTEyYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDEzNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIgMHpNMTkyIDM0NGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNOTguMyA0MTNjLTEyLjkgMTUuNiAyLjIgMzUgMjIuNCAzNWwxNDIuNSAwYzIwLjIgMCAzNS4zLTE5LjQgMjIuNC0zNS0xNC43LTE3LjctMzYuOS0yOS02MS43LTI5bC02NCAwYy0yNC44IDAtNDcgMTEuMy02MS43IDI5eiJdfSxYdnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1pbWFnZSIsaWNvbjpbMzg0LDUxMixbMTI4NDQzXSwiZjFjNSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTI4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek05Mi42IDQ0OGwxOTguOCAwYzE1LjggMCAyOC42LTEyLjggMjguNi0yOC42IDAtNy4zLTIuOC0xNC40LTcuOS0xOS43TDIxNS4zIDI5Ny45Yy02LTYuMy0xNC40LTkuOS0yMy4yLTkuOWwtLjMgMGMtOC44IDAtMTcuMSAzLjYtMjMuMiA5LjlMNzEuOSAzOTkuN0M2Ni44IDQwNSA2NCA0MTIuMSA2NCA0MTkuNCA2NCA0MzUuMiA3Ni44IDQ0OCA5Mi42IDQ0OHoiXX0sSGxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1yaWdodCIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS1yaWdodCJdLCJmMTUyIiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0zMjAgMjU2YzAgNi43LTIuOCAxMy03LjcgMTcuNmwtMTEyIDEwNGMtNyA2LjUtMTcuMiA4LjItMjUuOSA0LjRTMTYwIDM2OS41IDE2MCAzNjBsMC0yMDhjMC05LjUgNS43LTE4LjIgMTQuNC0yMnMxOC45LTIuMSAyNS45IDQuNGwxMTIgMTA0YzQuOSA0LjUgNy43IDEwLjkgNy43IDE3LjZ6Il19LFF2dD1IbGUsSnZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpYWwiLGljb246WzUxMiw1MTIsWzEyOTUxNF0sImY0OTIiLCJNMzQyLjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wzMDYuNyA2NCAyOC4xIDM0Mi42QzEwLjEgMzYwLjYgMCAzODUgMCA0MTAuNUwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDUuNSAwYzI1LjUgMCA0OS45LTEwLjEgNjcuOS0yOC4xbDI3OC42LTI3OC42IDkuNCA5LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MHpNMjA1LjMgMjU2bDE0Ni43LTE0Ni43IDUwLjcgNTAuNy05NiA5Ni0xMDEuNSAweiJdfSxLdnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVsaWNvcHRlciIsaWNvbjpbNTc2LDUxMixbMTI4NjQxXSwiZjUzMyIsIk0xNzYgMzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTUyIDAgMCA0OC0yMjAuOCAwLTMyLjgtMzkuNEM2OS45IDgzLjIgNjMuMSA4MCA1NiA4MEwyNCA4MEMxNS43IDgwIDggODQuMyAzLjYgOTEuNHMtNC44IDE1LjktMS4xIDIzLjRsNDggOTZDNTQuNiAyMTguOSA2Mi45IDIyNCA3MiAyMjRsMTA3LjggMCAxMDQgMTQzLjFjMTUuMSAyMC43IDM5LjEgMzIuOSA2NC43IDMyLjlsNzUuNSAwYzc1LjEgMCAxMzYtNjAuOSAxMzYtMTM2UzQ5OS4xIDEyOCA0MjQgMTI4bC00OCAwIDAtNDggMTUyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTc2IDMyek0zNzYgMTkybDQ4IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJzLTMyLjIgNzItNzIgNzJsLTQ4IDAgMC0xNDR6TTU1MiA0MTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0IDAgNC40LTMuNiA4LTggOGwtMjcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjcyIDBjMzAuOSAwIDU2LTI1LjEgNTYtNTYgMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LGV4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaXR0ZW4iLGljb246WzQ0OCw1MTIsW10sImY3YjUiLCJNMzUyIDM4NEw2NCAzODQgNS40IDE3OC45QzEuOCAxNjYuNCAwIDE1My40IDAgMTQwLjMgMCA2Mi44IDYyLjggMCAxNDAuMyAwbDMuNCAwYzY2IDAgMTIzLjUgNDQuOSAxMzkuNSAxMDguOWwzMS40IDEyNS44IDE3LjYtMjAuMUMzNDQuOCAyMDAuMiAzNjIuOSAxOTIgMzgyIDE5MmwyLjggMGMzNC45IDAgNjMuMyAyOC4zIDYzLjMgNjMuMyAwIDE1LjktNiAzMS4yLTE2LjggNDIuOUwzNTIgMzg0ek0zMiA0NjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkw2NCA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6Il19LHR4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnYXMtcHVtcCIsaWNvbjpbNTEyLDUxMixbOTk4MV0sImY1MmYiLCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwyNTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MiA4IDBjNDguNiAwIDg4IDM5LjQgODggODhsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTU0Yy0yNy42LTcuMS00OC0zMi4yLTQ4LTYybDAtNTkuNS0yNS44LTI4LjNjLTguOS05LjgtOC4yLTI1IDEuNi0zMy45czI1LTguMiAzMy45IDEuNmw3MS43IDc4LjhjOS40IDEwLjMgMTQuNiAyMy43IDE0LjYgMzcuN0w1MTIgMzc2YzAgMzkuOC0zMi4yIDcyLTcyIDcycy03Mi0zMi4yLTcyLTcybDAtMzJjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTggMCAwIDE2MS40YzkuMyAzLjMgMTYgMTIuMiAxNiAyMi42IDAgMTMuMy0xMC43IDI0LTI0IDI0TDQwIDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjQgMC0xMC41IDYuNy0xOS4zIDE2LTIyLjZMMzIgNjR6TTk2IDgwbDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNkwxMTIgNjRjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0scnh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVudmVsb3BlLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTRlOCIsIk02NCAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhsNDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA4MS40Yy0yNC40LTExLjItNTEuNC0xNy40LTgwLTE3LjQtODcuNyAwLTE2MS43IDU4LjgtMTg0LjcgMTM5LjItNy4xLTEuMy0xNC4xLTQuMi0yMC4xLTguOGwtMjA4LTE1NkM3MS4xIDE0MS4zIDY0IDEyNy4xIDY0IDExMnpNMzA0IDM2OGMwIDI4LjYgNi4yIDU1LjYgMTcuNCA4MEwxMjggNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE4OCAxOTguNCAxNDguOGMxMi42IDkuNCAyNi45IDE1LjQgNDEuNyAxNy45IDAgMS44LS4xIDMuNS0uMSA1LjN6bTQ4IDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjAxLjQtNjAuOWMtNy4xLTUuMi0xNy4yLTMuNi0yMi40IDMuNWwtNTMgNzIuOS0yNi44LTI2LjhjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjMy4zIDMuMyA3LjkgNSAxMi42IDQuNnM4LjktMi44IDExLjctNi41bDY0LTg4YzUuMi03LjEgMy42LTE3LjItMy41LTIyLjN6Il19LHFsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc2thdGluZyIsaWNvbjpbNTEyLDUxMixbInNrYXRpbmciXSwiZjdjNSIsIk0zNjggNTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0xMjggMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE1MC4xIDBjNDkuOSAwIDc0LjkgNjAuMyAzOS42IDk1LjZsLTYzLjkgNjMuOSA2OS44IDMxYzE3LjMgNy43IDI4LjUgMjQuOSAyOC41IDQzLjlsMCA4NS42YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNzUuMi04Mi40LTM2LjZjLTQxLTE4LjItNTEtNzItMTkuMy0xMDMuN2w0MC40LTQwLjQtOTguNyAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNODkuNCAzNjEuNGw3NS45LTc1LjljNy43IDE5LjcgMjEuNiAzNy4zIDQxIDQ5LjZsLTcxLjYgNzEuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjN6bTM0Ni41IDg3LjFjOC42IDIuMSAxMy44IDEwLjggMTEuNiAxOS40bC0uNCAxLjdjLTYuMiAyNC45LTI4LjYgNDIuNC01NC4zIDQyLjRMMzA0IDUxMmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4OC44IDBjMTEgMCAyMC42LTcuNSAyMy4zLTE4LjJsLjQtMS43YzIuMS04LjYgMTAuOC0xMy44IDE5LjQtMTEuNnpNMTQzLjIgNDg2LjNsLTYuMiAzLjFjLTIxLjYgMTAuOC00Ny42IDYuNi02NC42LTEwLjVMMTIuNyA0MTkuM2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDU5LjYgNTkuNmM3LjMgNy4zIDE4LjUgOS4xIDI3LjcgNC41bDYuMi0zLjFjNy45LTQgMTcuNS0uNyAyMS41IDcuMnMuNyAxNy41LTcuMiAyMS41eiJdfSxheHQ9cWxlLEZBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1biIsaWNvbjpbNTc2LDUxMixbOTcyOF0sImYxODUiLCJNMjg4LTMyYzguNCAwIDE2LjMgNC40IDIwLjYgMTEuN0wzNjQuMSA3Mi4zIDQ2OC45IDQ2YzguMi0yIDE2LjkgLjQgMjIuOCA2LjNTNTAwIDY3IDQ5OCA3NS4xbC0yNi4zIDEwNC43IDkyLjcgNTUuNWM3LjIgNC4zIDExLjcgMTIuMiAxMS43IDIwLjZzLTQuNCAxNi4zLTExLjcgMjAuNkw0NzEuNyAzMzIuMSA0OTggNDM2LjhjMiA4LjItLjQgMTYuOS02LjMgMjIuOFM0NzcgNDY4IDQ2OC45IDQ2NmwtMTA0LjctMjYuMy01NS41IDkyLjdjLTQuMyA3LjItMTIuMiAxMS43LTIwLjYgMTEuN3MtMTYuMy00LjQtMjAuNi0xMS43TDIxMS45IDQzOS43IDEwNy4yIDQ2NmMtOC4yIDItMTYuOC0uNC0yMi44LTYuM1M3NiA0NDUgNzggNDM2LjhsMjYuMi0xMDQuNy05Mi42LTU1LjVDNC40IDI3Mi4yIDAgMjY0LjQgMCAyNTZzNC40LTE2LjMgMTEuNy0yMC42TDEwNC4zIDE3OS45IDc4IDc1LjFjLTItOC4yIC4zLTE2LjggNi4zLTIyLjhTOTkgNDQgMTA3LjIgNDZsMTA0LjcgMjYuMiA1NS41LTkyLjYgMS44LTIuNmM0LjUtNS43IDExLjQtOS4xIDE4LjgtOS4xem0wIDE0NGExNDQgMTQ0IDAgMSAwIDAgMjg4IDE0NCAxNDQgMCAxIDAgMC0yODh6bTAgMjQwYTk2IDk2IDAgMSAxIDAtMTkyIDk2IDk2IDAgMSAxIDAgMTkyeiJdfSxqbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFzZWJhbGwiLGljb246WzUxMiw1MTIsWzEyOTM1OCw5OTE4LCJiYXNlYmFsbC1iYWxsIl0sImY0MzMiLCJNMjMyLjQgMS4xYy0xMjIuMiAxMS40LTIxOS41IDEwOC43LTIzMC45IDIzMC45IDE2LjItLjEgMzItMS44IDQ3LjItNSAxMy0yLjcgMjUuNyA1LjUgMjguNCAxOC41cy01LjUgMjUuNy0xOC41IDI4LjRjLTE4LjQgMy45LTM3LjYgNi01Ny4xIDYuMSAxMS40IDEyMi4yIDEwOC43IDIxOS41IDIzMC45IDIzMC45IC4xLTE5LjUgMi4yLTM4LjcgNi4xLTU3LjEgMi43LTEzIDE1LjUtMjEuMyAyOC40LTE4LjVzMjEuMyAxNS41IDE4LjUgMjguNGMtMy4yIDE1LjItNC45IDMxLTUgNDcuMiAxMjIuMi0xMS40IDIxOS41LTEwOC43IDIzMC45LTIzMC45LTE2LjIgLjEtMzIgMS44LTQ3LjIgNS0xMyAyLjctMjUuNy01LjUtMjguNC0xOC41czUuNS0yNS43IDE4LjUtMjguNGMxOC40LTMuOSAzNy42LTYgNTcuMS02LjEtMTEuNC0xMjIuMi0xMDguNy0yMTkuNS0yMzAuOS0yMzAuOS0uMSAxOS41LTIuMiAzOC43LTYuMSA1Ny4xLTIuNyAxMy0xNS41IDIxLjMtMjguNCAxOC41cy0yMS4zLTE1LjUtMTguNS0yOC40YzMuMi0xNS4yIDQuOS0zMSA1LTQ3LjJ6bTIuOCAxNTEuNGMtMjEuNCAzMi45LTQ5LjUgNjAuOS04Mi4zIDgyLjMtMTEuMSA3LjItMjYgNC4xLTMzLjItN3MtNC4xLTI2IDctMzMuMmMyNy4yLTE3LjcgNTAuNS00MSA2OC4zLTY4LjMgNy4yLTExLjEgMjIuMS0xNC4zIDMzLjItN3MxNC4zIDIyLjEgNyAzMy4yek0zOTMuMSAyODQuMmM3LjIgMTEuMSA0LjEgMjYtNyAzMy4yLTI3LjIgMTcuNy01MC41IDQxLTY4LjMgNjguMy03LjIgMTEuMS0yMi4xIDE0LjMtMzMuMiA3cy0xNC4zLTIyLjEtNy0zMy4yYzIxLjQtMzIuOSA0OS41LTYwLjkgODIuMy04Mi4zIDExLjEtNy4yIDI2LTQuMSAzMy4yIDd6Il19LGl4dD1qbGUsbnh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImltYWdlIixpY29uOls0NDgsNTEyLFtdLCJmMDNlIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTY0IDgwYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNMjcyIDIyNGM4LjQgMCAxNi4xIDQuNCAyMC41IDExLjVsODggMTQ0YzQuNSA3LjQgNC43IDE2LjcgLjUgMjQuM1MzNjguNyA0MTYgMzYwIDQxNkw4OCA0MTZjLTguOSAwLTE3LjItNS0yMS4zLTEyLjlzLTMuNS0xNy41IDEuNi0yNC44bDU2LTgwYzQuNS02LjQgMTEuOC0xMC4yIDE5LjctMTAuMnMxNS4yIDMuOCAxOS43IDEwLjJsMjYuNCAzNy44IDYxLjQtMTAwLjVjNC40LTcuMSAxMi4xLTExLjUgMjAuNS0xMS41eiJdfSxzeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibm90ZGVmIixpY29uOlszODQsNTEyLFtdLCJlMWZlIiwiTTY0IDM5MC4zTDE1My41IDI1NiA2NCAxMjEuNyA2NCAzOTAuM3pNMTAyLjUgNDQ4TDI4MS41IDQ0OCAxOTIgMzEzLjcgMTAyLjUgNDQ4em0xMjgtMTkyTDMyMCAzOTAuMyAzMjAgMTIxLjcgMjMwLjUgMjU2ek0yODEuNSA2NEwxMDIuNSA2NCAxOTIgMTk4LjMgMjgxLjUgNjR6TTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA0OHoiXX0sVmxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhc2tldGJhbGwiLGljb246WzUxMiw1MTIsWzEyNzkzNiwiYmFza2V0YmFsbC1iYWxsIl0sImY0MzQiLCJNOTIuNyA1OC44bDc4LjQgNzguNGMxOC4yLTI1IDI4LjktNTUuOSAyOC45LTg5LjIgMC0xNC4xLTEuOS0yNy43LTUuNS00MC42LTM4IDkuNC03Mi42IDI3LjItMTAxLjggNTEuNHpNNTguOCA5Mi43Yy0yNC4yIDI5LjItNDIgNjMuOC01MS40IDEwMS44IDEyLjkgMy42IDI2LjUgNS41IDQwLjYgNS41IDMzLjMgMCA2NC4xLTEwLjcgODkuMi0yOC45TDU4LjggOTIuN3pNMjU2IDBjLTQuNiAwLTkuMiAuMS0xMy43IC40IDMuNyAxNS4zIDUuNyAzMS4yIDUuNyA0Ny42IDAgNDYuNi0xNS45IDg5LjQtNDIuNiAxMjMuNEwyNTYgMjIyLjEgNDE5LjMgNTguOEMzNzQuOSAyMi4xIDMxOC4xIDAgMjU2IDB6TTQ4IDI0OGMtMTYuNCAwLTMyLjQtMi00Ny42LTUuNy0uMiA0LjUtLjQgOS4xLS40IDEzLjcgMCA2Mi4xIDIyLjEgMTE4LjkgNTguOCAxNjMuM0wyMjIuMSAyNTYgMTcxLjQgMjA1LjRDMTM3LjQgMjMyLjEgOTQuNiAyNDggNDggMjQ4em00NjMuNiAyMS43Yy4yLTQuNSAuNC05LjEgLjQtMTMuNyAwLTYyLjEtMjIuMS0xMTguOS01OC44LTE2My4zTDI4OS45IDI1NiAzNDAuNiAzMDYuNmMzNC0yNi43IDc2LjktNDIuNiAxMjMuNC00Mi42IDE2LjQgMCAzMi40IDIgNDcuNiA1Ljd6bS03LjEgNDcuOGMtMTIuOS0zLjYtMjYuNS01LjUtNDAuNi01LjUtMzMuMyAwLTY0LjEgMTAuNy04OS4yIDI4LjlsNzguNCA3OC40YzI0LjItMjkuMiA0Mi02My44IDUxLjQtMTAxLjh6TTM0MC45IDM3NC44Yy0xOC4yIDI1LTI4LjkgNTUuOS0yOC45IDg5LjIgMCAxNC4xIDEuOSAyNy43IDUuNSA0MC42IDM4LTkuNCA3Mi42LTI3LjIgMTAxLjgtNTEuNGwtNzguNC03OC40em0tMzQuMy0zNC4zTDI1NiAyODkuOSA5Mi43IDQ1My4yYzQ0LjMgMzYuNyAxMDEuMiA1OC44IDE2My4zIDU4LjggNC42IDAgOS4yLS4xIDEzLjctLjQtMy43LTE1LjMtNS43LTMxLjItNS43LTQ3LjYgMC00Ni42IDE1LjktODkuNCA0Mi42LTEyMy40eiJdfSxveHQ9VmxlLFVsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW5jaWwiLGljb246WzUxMiw1MTIsWzk5OTksNjE1MDQsInBlbmNpbC1hbHQiXSwiZjMwMyIsIk0zNi40IDM1My4yYzQuMS0xNC42IDExLjgtMjcuOSAyMi42LTM4LjdsMTgxLjItMTgxLjIgMzMuOS0zMy45YzE2LjYgMTYuNiA1MS4zIDUxLjMgMTA0IDEwNGwzMy45IDMzLjktMzMuOSAzMy45LTE4MS4yIDE4MS4yYy0xMC43IDEwLjctMjQuMSAxOC41LTM4LjcgMjIuNkwzMC40IDUxMC42Yy04LjMgMi4zLTE3LjMgMC0yMy40LTYuMlMtMS40IDQ4OS4zIC45IDQ4MUwzNi40IDM1My4yem01NS42LTMuN2MtNC40IDQuNy03LjYgMTAuNC05LjMgMTYuNmwtMjQuMSA4Ni45IDg2LjktMjQuMWM2LjQtMS44IDEyLjItNS4xIDE3LTkuN0w5MS45IDM0OS41em0zNTQtMTQ2LjFjLTE2LjYtMTYuNi01MS4zLTUxLjMtMTA0LTEwNEwzMDggNjUuNUMzMzQuNSAzOSAzNDkuNCAyNC4xIDM1Mi45IDIwLjYgMzY2LjQgNyAzODQuOC0uNiA0MDQtLjZTNDQxLjYgNyA0NTUuMSAyMC42bDM1LjcgMzUuN0M1MDQuNCA2OS45IDUxMiA4OC4zIDUxMiAxMDcuNHMtNy42IDM3LjYtMjEuMiA1MS4xYy0zLjUgMy41LTE4LjQgMTguNC00NC45IDQ0Ljl6Il19LGx4dD1VbGUsY3h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdCIsaWNvbjpbNjQwLDUxMixbXSwiZTU1MSIsIk0xNjAgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTczLjQgMjI3LjlsMjIuNi0yMi42IDAgNjkuM2MwIDI4IDEyLjIgNTQuNyAzMy41IDcyLjlsNzEuNCA2MS4yYzUuOSA1LjEgOS44IDEyLjEgMTAuOSAxOS44bDEyLjYgODguMWMyLjUgMTcuNSAxOC43IDI5LjcgMzYuMiAyNy4yczI5LjctMTguNyAyNy4yLTM2LjJsLTEyLjYtODguMWMtMy4zLTIzLjEtMTQuOS00NC4xLTMyLjYtNTkuM2wtMzQuNS0yOS42IDAtMTE1LjIgMy44IDQuN2MxOC4yIDIyLjggNDUuOCAzNiA3NSAzNmwzMy4yIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMzLjIgMGMtOS43IDAtMTguOS00LjQtMjUtMTJsLTE3LjktMjIuNGMtMjMtMjguOC01Ny45LTQ1LjYtOTQuOC00NS42LTMyLjIgMC02My4xIDEyLjgtODUuOCAzNS42TDI4LjEgMTgyLjZDMTAuMSAyMDAuNiAwIDIyNSAwIDI1MC41TDAgMjg4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNy41YzAtOC41IDMuNC0xNi42IDkuNC0yMi42ek04NS44IDQwNy4zYy0xLjUgNS4yLTQuMyAxMC04LjEgMTMuOEw5LjQgNDg5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguMy02OC4zYzExLjUtMTEuNSAxOS45LTI1LjggMjQuNC00MS41bDIuMi03LjYtNDYtMzkuNGMtMi41LTIuMi01LTQuNC03LjQtNi44TDg1LjggNDA3LjN6TTM1OSAzMzVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMzEtMzEgMTAyLjEgMGMxLjIgMCAyLjQtLjEgMy41LS4zIDU2LjEtMy45IDEwMC41LTUwLjYgMTAwLjUtMTA3LjcgMC01OS42LTQ4LjQtMTA4LTEwOC0xMDhsLTkyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsOTIgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MHMtMjYuOSA2MC02MCA2MGwtOTguMSAwIDMxLTMxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTcyIDcyeiJdfSxkeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS1zaXgiLGljb246WzQ0OCw1MTIsWzk4NjFdLCJmNTI2IiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xNjAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTI4IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zMiA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMjAgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sV2xlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlcy1kb3duIixpY29uOlszODQsNTEyLFsiYW5nbGUtZG91YmxlLWRvd24iXSwiZjEwMyIsIk0yMTQuNiA0NzAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMTkyIDQwMi43IDMyOS40IDI2NS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTE2MCAxNjB6bTE2MC0zNTJsLTE2MCAxNjBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xNjAtMTYwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDE5MiAyMTAuNyAzMjkuNCA3My40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6Il19LHV4dD1XbGUscHh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN5cmluZ2UiLGljb246WzU3Niw1MTIsWzEyODEzN10sImY0OGUiLCJNNDk3LjUtMTdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTUgMTUtNDYuMSA0Ni4xLTYzLTYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcgNy03OC4xIDc4LjEgNDEgNDFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDEtNDEtNDYuMSA0Ni4xIDQxIDQxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQxLTQxLTM3LjcgMzcuN2MtMTAuNSAxMC41LTE2LjQgMjQuNy0xNi40IDM5LjZsMCA4OC44LTU3IDU3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTctNTcgODguOCAwYzE0LjkgMCAyOS4xLTUuOSAzOS42LTE2LjRsMjI5LjctMjI5LjcgNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNjMtNjMgNDYuMS00Ni4xIDE1IDE1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNjQtNjR6Il19LEdsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aGVhdC1hd24iLGljb246WzU3Niw1MTIsWyJ3aGVhdC1hbHQiXSwiZTJjZCIsIk03OS43IDIzNC42YzYuMi00LjEgMTQuNy0zLjQgMjAuMSAyLjFsNDYuMSA0Ni4xIDYuMSA2LjdjMTkuNyAyMy44IDI2LjMgNTUgMTkuMiA4My45IDMxLjctNy43IDY2LjIgMSA5MC42IDI1LjNsNDYuMSA0Ni4xYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03LjQgNy40Yy0zNy41IDM3LjUtOTguMyAzNy41LTEzNS44IDBMMTM0LjEgNDQ0LjMgNDkuNCA1MjljLTkuNCA5LjQtMjQuNSA5LjQtMzMuOSAwLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg0LjctODQuNy0zMC41LTMwLjVjLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjF6bTEwNC0xMDRjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWw0Ni4xIDQ2LjEgNi4xIDYuN2MxOS43IDIzLjggMjYuMyA1NSAxOS4yIDgzLjkgMzEuNy03LjcgNjYuMiAxIDkwLjYgMjUuM2w0Ni4xIDQ2LjFjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcuNCA3LjRjLTM3LjUgMzcuNS05OC4zIDM3LjUtMTM1LjggMGwtOTQuOS05NC45Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjdsNy40LTcuNCAyLjUtMi4xek00OTUuMiAxNWM5LjQtOS40IDI0LjYtOS40IDM0IDAgOC44IDguOCA5LjMgMjIuNyAxLjYgMzIuMkw1MjkuMiA0OSA0MTQuNyAxNjMuNGM3LjcgMSAxNS4yIDMgMjIuNSA1LjlMNDk1LjUgMTExYzkuNC05LjQgMjQuNi05LjQgMzQgMCA4LjggOC44IDkuMyAyMi43IDEuNiAzMi4xbC0xLjcgMS44LTUyLjcgNTIuNyAzOSAzOWM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNy40IDcuNGMtMzcuNSAzNy41LTk4LjMgMzcuNS0xMzUuOCAwbC05NC45LTk0LjljLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjFjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWwzOSAzOSA1Mi43LTUyLjdjOS40LTkuNCAyNC42LTkuNCAzNCAwIDguOCA4LjggOS4zIDIyLjcgMS42IDMyLjFsLTEuNyAxLjgtNTguMyA1OC4zYzIuOCA3LjEgNC43IDE0LjUgNS43IDIyLjFMNDk1LjIgMTV6Il19LGZ4dD1HbGUsaHh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLXVwIixpY29uOls1MTIsNTEyLFtdLCJlMjJkIiwiTTIwMCAyNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI3LjMgMTczLjYgMTU5LjJjNi42IDYuMSAxMC40IDE0LjYgMTAuNCAyMy42bDAgNDMuN2MwIDEwLjktMTAuNyAxOC42LTIxLjEgMTUuMmwtMTYyLjktNTQuMyAwIDk5LjcgNjYgNTIuOGMzLjggMyA2IDcuNiA2IDEyLjVsMCAxOS44YzAgMTAuNC05LjggMTgtMTkuOSAxNS41TDI1NiA1MTIgMTQ3LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDMjYuNyAzOTYuNCAxNiAzODguNyAxNiAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMDAgMTUxLjMgMjAwIDI0eiJdfSxteHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYWxpZ24tY2VudGVyIixpY29uOls0NDgsNTEyLFtdLCJmMDM3IiwiTTM1MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwxMjggMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6bTk2IDEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6TTAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTM1MiAzMjBjMC0xNy43LTE0LjMtMzItMzItMzJsLTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyeiJdfSxneHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9ja2V5LXB1Y2siLGljb246WzUxMiw1MTIsW10sImY0NTMiLCJNMjU2IDI1NkMxMTQuNiAyNTYgMCAyMTMgMCAxNjBzMTE0LjYtOTYgMjU2LTk2IDI1NiA0MyAyNTYgOTYtMTE0LjYgOTYtMjU2IDk2ek0wIDM1MkwwIDI0Mi43YzE2LjkgMTIuMyAzNyAyMi4yIDU4LjEgMzAuMSA1MyAxOS45IDEyMyAzMS4yIDE5Ny45IDMxLjJzMTQ0LjktMTEuMyAxOTcuOS0zMS4yYzIxLjItNy45IDQxLjItMTcuOCA1OC4xLTMwLjFMNTEyIDM1MmMwIDUzLTExNC42IDk2LTI1NiA5NlMwIDQwNSAwIDM1MnoiXX0sWWxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1hcnJvdy1sZWZ0IixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLWxlZnQiXSwiZjBhOCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTM1IDIzOWw4MC04MGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTM5IDM5IDE1MC4xIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE1MC4xIDAgMzkgMzljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtODAtODBjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxieHQ9WWxlLHZ4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1ib2x0IixpY29uOls2NDAsNTEyLFtdLCJlNTViIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzUyIDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNzcuNC03N2MtNS44LTQuMi0xMy44LTQtMTkuNCAuNWwtODAgNjRjLTUuMyA0LjItNy40IDExLjQtNS4xIDE3LjhTNDMzLjIgNDE2IDQ0MCA0MTZsMzIuOSAwLTE1LjkgNDIuNGMtMi41IDYuNy0uMiAxNC4zIDUuNiAxOC42czEzLjggNCAxOS40LS41bDgwLTY0YzUuMy00LjIgNy40LTExLjQgNS4xLTE3LjhTNTU4LjggMzg0IDU1MiAzODRsLTMyLjkgMCAxNS45LTQyLjRjMi41LTYuNyAuMi0xNC4zLTUuNi0xOC42eiJdfSx4eHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVzdHJvb20iLGljb246WzY0MCw1MTIsW10sImY3YmQiLCJNODAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0bDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTU0LjhjLTguMSA5LjItMjEuMSAxMy4yLTMzLjUgOS40LTE2LjktNS4zLTI2LjMtMjMuMi0yMS00MC4xbDI5LjctOTUuMkM0NC40IDE1Ni45IDgzLjYgMTI4IDEyOCAxMjhzODMuNiAyOC45IDk2LjggNzEuMmwyOS43IDk1LjJjNS4zIDE2LjktNC4xIDM0LjgtMjEgNDAuMS0xMi40IDMuOS0yNS40LS4yLTMzLjUtOS40TDIwMCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNMzIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0NjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00NjRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQ2NCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek00NDAgNDgwbDAtOTYtMTcuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw5LTI2LjljLTMuMiAwLTYuNC0uNS05LjUtMS41LTE2LjktNS4zLTI2LjMtMjMuMi0yMS00MC4xbDI5LjctOTUuMkM0MjguNCAxNTYuOSA0NjcuNiAxMjggNTEyIDEyOHM4My42IDI4LjkgOTYuOCA3MS4ybDI5LjcgOTUuMmM1LjMgMTYuOS00LjEgMzQuOC0yMSA0MC4xLTMuMiAxLTYuNCAxLjUtOS41IDEuNWw5IDI2LjljMy41IDEwLjQtNC4zIDIxLjEtMTUuMiAyMS4xbC0xNy44IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2LTE2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnoiXX0seXh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuY2hvci1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNGFkIiwiTTMyMC41IDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bS0zMi05NmMtNTMgMC05NiA0My05NiA5NiAwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCAyNTcuOWMtNjIuOS0xNC4zLTExMC4yLTY5LjctMTExLjktMTM2LjVsMTYuMSAxNC4xYzEwIDguNyAyNS4xIDcuNyAzMy45LTIuM3M3LjctMjUuMS0yLjMtMzMuOWwtNjQtNTZjLTktNy45LTIyLjYtNy45LTMxLjYgMGwtNjQgNTZjLTEwIDguNy0xMSAyMy45LTIuMyAzMy45czIzLjkgMTEgMzMuOSAyLjNsMTYuMi0xNC4yYzIuMSAxMTMuMSA5NC40IDIwNC4xIDIwOCAyMDQuMSAyOC4zIDAgNTUuNC01LjcgODAtMTUuOWwwLS4yIDAtNzIuMmMtMTQuNCA5LjYtMzAuNiAxNi43LTQ4IDIwLjdsMC0yNTcuOWMzNy4zLTEzLjIgNjQtNDguNyA2NC05MC41IDAtNTMtNDMtOTYtOTYtOTZ6bTI3MiAzMDQuMWwwIDQ3LjktNjQgMCAwLTQ3LjljMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpNNDE2LjUgNDAwbDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDhsMTI4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTIwLjktMTMuNC0zOC43LTMyLTQ1LjNsMC01MC42YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwbDAgNTAuNmMtMTguNiA2LjYtMzIgMjQuNC0zMiA0NS4zeiJdfSx3eHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGltZWxpbmUiLGljb246WzU3Niw1MTIsW10sImUyOWMiLCJNMTYwIDE2OS4zYzI4LjMtMTIuMyA0OC00MC41IDQ4LTczLjMgMC00NC4yLTM1LjgtODAtODAtODBTNDggNTEuOCA0OCA5NmMwIDMyLjggMTkuNyA2MSA0OCA3My4zbDAgNTQuNy02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIyNCAwIDAgNTQuN2MtMjguMyAxMi4zLTQ4IDQwLjUtNDggNzMuMyAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNsMC01NC43IDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNTQuN2MyOC4zLTEyLjMgNDgtNDAuNSA0OC03My4zIDAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCA1NC43LTI1NiAwIDAtNTQuN3oiXX0sTXh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpZ2h0YnVsYiIsaWNvbjpbMzg0LDUxMixbMTI4MTYxXSwiZjBlYiIsIk0yOTIuOSAzODRjNy4zLTIyLjMgMjEuOS00Mi41IDM4LjQtNTkuOSAzMi43LTM0LjQgNTIuNy04MC45IDUyLjctMTMyLjEgMC0xMDYtODYtMTkyLTE5Mi0xOTJTMCA4NiAwIDE5MmMwIDUxLjIgMjAgOTcuNyA1Mi43IDEzMi4xIDE2LjUgMTcuNCAzMS4yIDM3LjYgMzguNCA1OS45bDIwMS43IDB6TTI4OCA0MzJsLTE5MiAwIDAgMTZjMCA0NC4yIDM1LjggODAgODAgODBsMzIgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTE2ek0xODQgMTEyYy0zOS44IDAtNzIgMzIuMi03MiA3MiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHoiXX0sWmxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1hcnJvdy1yaWdodCIsaWNvbjpbNTEyLDUxMixbImFycm93LWNpcmNsZS1yaWdodCJdLCJmMGE5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem00MS0xNTljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzktMzktMTUwLjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNTAuMSAwLTM5LTM5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTgwIDgweiJdfSxreHQ9WmxlLFN4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLWFuZC12ZW51cyIsaWNvbjpbNTEyLDUxMixbOTg5M10sImYyMjQiLCJNMzY4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNC43LTYzIDYzYzE5LjUgMjguNCAzMSA2Mi43IDMxIDk5LjggMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0IDE3My4xbDAgMzQuOSAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0zNC45Yy04MS45LTE1LTE0NC04Ni44LTE0NC0xNzMuMSAwLTk3LjIgNzguOC0xNzYgMTc2LTE3NiAzNyAwIDcxLjQgMTEuNCA5OS44IDMxbDYzLTYzLTM0LjcgMHpNMzUyIDIwOGExMTIgMTEyIDAgMSAwIC0yMjQgMCAxMTIgMTEyIDAgMSAwIDIyNCAweiJdfSxPQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJuZXR3b3JrLXdpcmVkIixpY29uOls1NzYsNTEyLFtdLCJmNmZmIiwiTTI0OCA4OGw4MCAwIDAgNDgtODAgMCAwLTQ4em0tOC01NmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNiAwIDAgMzItMjI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMCAwIDMyLTE2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsOTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNiAwIDAtMzIgMTkyIDAgMCAzMi0xNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMTYgMCAwLTMyIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwIDAtMzIgMTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC05NiAwek00NDggMzc2bDggMCAwIDQ4LTgwIDAgMC00OCA3MiAwem0tMjU2IDBsOCAwIDAgNDgtODAgMCAwLTQ4IDcyIDB6Il19LHp4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1zaGllbGQiLGljb246WzU3Niw1MTIsW10sImU0ZDgiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDEuMiAwYy0xMi41LTE0LjctMjMuMi0zMC44LTMxLjgtNDhsLTg5LjUgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDAgMC0yNi43YzAtMTguMSA2LjEtMzUuMiAxNi42LTQ4LjgtLjQtMS40LS42LTIuOS0uNi00LjVsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxIDg2LjctMjguOWMzLjEtMSA2LjItMS44IDkuMy0yLjVMNDE2IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek00NDUuMyA0ODguNWwtMTMuMyA2LjMgMC0xODguMSA5NiAzMiAwIDE5LjZjMCA1NS44LTMyLjIgMTA2LjUtODIuNyAxMzAuM3pNNDIxLjkgMjU5LjVsLTExMiAzNy4zYy0xMy4xIDQuNC0yMS45IDE2LjYtMjEuOSAzMC40bDAgMzEuMWMwIDc0LjQgNDMgMTQyLjEgMTEwLjIgMTczLjdsMTguNSA4LjdjNC44IDIuMiAxMCAzLjQgMTUuMiAzLjRzMTAuNS0xLjIgMTUuMi0zLjRsMTguNS04LjdDNTMzIDUwMC4zIDU3NiA0MzIuNiA1NzYgMzU4LjJsMC0zMS4xYzAtMTMuOC04LjgtMjYtMjEuOS0zMC40bC0xMTItMzcuM2MtNi42LTIuMi0xMy43LTIuMi0yMC4yIDB6Il19LEN4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlIixpY29uOls1NzYsNTEyLFtdLCJmMTIxIiwiTTM2MC44IDEuMmMtMTctNC45LTM0LjcgNS0zOS42IDIybC0xMjggNDQ4Yy00LjkgMTcgNSAzNC43IDIyIDM5LjZzMzQuNy01IDM5LjYtMjJsMTI4LTQ0OGM0LjktMTctNS0zNC43LTIyLTM5LjZ6bTY0LjYgMTM2LjFjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDczLjQgNzMuNC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTI3NC43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w3Ny4zIDI1NiAxNTAuNiAxODIuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3oiXX0sWGxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZlYXRoZXItcG9pbnRlZCIsaWNvbjpbNTEyLDUxMixbImZlYXRoZXItYWx0Il0sImY1NmIiLCJNNDc1LjMgLjFjOS45LS44IDE5LjYgMyAyNi42IDEwczEwLjggMTYuNyAxMCAyNi42Yy00IDQ5LjMtMTcuNCAxMjYuMi00Ni4zIDE5OS43LTEuOCA0LjUtNS41IDcuOS0xMC4yIDkuM0wzNzQuNSAyNzBjLTMuOSAxLjItNi41IDQuNy02LjUgOC44IDAgNS4xIDQuMSA5LjIgOS4yIDkuMmwzOC42IDBjMTIgMCAxOS43IDEyLjggMTMuNSAyMy4xLTQgNi43LTguMyAxMy4yLTEyLjcgMTkuNi0yIDIuOS01IDUtOC40IDYuMUwzMTAuNSAzNjZjLTMuOSAxLjItNi41IDQuNy02LjUgOC44IDAgNS4xIDQuMSA5LjIgOS4yIDkuMmwxNiAwYzE0LjYgMCAyMSAxNy40IDguOCAyNS40LTY4IDQ1LTEzNy43IDQzLjMtMTgyLjQgMzEuMy0xMi43LTMuNC0yNC05LjktMzQuNC0xNy45TDQ4IDQ5NmMtOC44IDguOC0yMy4yIDguOC0zMiAwcy04LjgtMjMuMiAwLTMybDgwLTgwIC41IC41Yy43LTEuMyAxLjYtMi41IDIuNy0zLjZMMjU2IDIyNGM4LjgtOC44IDguOC0yMy4yIDAtMzJzLTIzLjItOC44LTMyIDBMODkuNyAzMjYuMmMtOC45IDguOS0yNCA0LjQtMjUtOC4yLTQuMy01My4yIDkuMy0xMjMuMSA3Mi42LTE4Ni40IDkxLjEtOTEuMSAyNTQuMi0xMjQuNyAzMzcuOS0xMzEuNXoiXX0sVHh0PVhsZSxfeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtcXVlc3Rpb24iLGljb246WzU3Niw1MTIsW10sImU0ZWYiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTEwMGMtMTEuNiAwLTIxLjMgOC4yLTIzLjUgMTkuMi0xLjggOC43LTEwLjIgMTQuMy0xOC45IDEyLjVzLTE0LjMtMTAuMi0xMi41LTE4LjljNS4yLTI1LjYgMjcuOC00NC44IDU0LjktNDQuOCAzMC45IDAgNTYgMjUuMSA1NiA1NiAwIDE5LjgtMTEuNyAzNy44LTI5LjggNDUuOWwtMTAuNCA0LjZjLTEuMiA3LjctNy44IDEzLjUtMTUuOCAxMy41LTguOCAwLTE2LTcuMi0xNi0xNiAwLTExLjIgNi42LTIxLjMgMTYuOC0yNS45bDEyLjQtNS41YzYuNi0yLjkgMTAuOC05LjQgMTAuOC0xNi42IDAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxMeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2lnbmF0dXJlIixpY29uOls2NDAsNTEyLFtdLCJmNWI3IiwiTTE5MiAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDcuOGMwIDI3LjctMi40IDU1LjMtNy4xIDgyLjVsLTg0LjQgMjUuM2MtNDAuNiAxMi4yLTY4LjQgNDkuNi02OC40IDkybDAgMzIuNC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyLjUgMGM0LjIgMzYgMzQuOCA2NCA3MiA2NCAyNiAwIDUwLTEzLjkgNjIuOS0zNi41bDEzLjktMjQuM2MyNi44LTQ3IDQ2LjUtOTcuNyA1OC40LTE1MC41bDk0LjQtMjguMy0xMi41IDM3LjVjLTMuMyA5LjgtMS42IDIwLjUgNC40IDI4LjhTNDA1LjcgMzIwIDQxNiAzMjBsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTgzLjYgMCAxOC01My45YzMuOC0xMS4zIC45LTIzLjgtNy40LTMyLjRzLTIwLjctMTEuOC0zMi4yLTguNEwzMTYuNCAxOTguMWMyLjQtMjAuNyAzLjYtNDEuNCAzLjYtNjIuM2wwLTcuOGMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMnptLTkuMiAxNzdsNDktMTQuN2MtMTAuNCAzMy44LTI0LjUgNjYuNC00Mi4xIDk3LjJsLTEzLjkgMjQuM2MtMS41IDIuNi00LjMgNC4zLTcuNCA0LjMtNC43IDAtOC41LTMuOC04LjUtOC41bDAtNzEuOWMwLTE0LjEgOS4zLTI2LjYgMjIuOC0zMC43ek02MTYgNDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yOTIuOSAwYy02LjUgMTYuMy0xMy43IDMyLjMtMjEuNiA0OEw2MTYgNDE2eiJdfSx0Yj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXJ0aC1hbWVyaWNhcyIsaWNvbjpbNTEyLDUxMixbMTI3NzU4LCJlYXJ0aCIsImVhcnRoLWFtZXJpY2EiLCJnbG9iZS1hbWVyaWNhcyJdLCJmNTdkIiwiTTU1LjcgMTk5LjdsMzAuOSAzMC45YzYgNiAxNC4xIDkuNCAyMi42IDkuNGwyMS41IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMjkuMyAyOS4zYzYgNiA5LjQgMTQuMSA5LjQgMjIuNmwwIDM3LjVjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsMTMuMyAxMy4zYzYgNiA5LjQgMTQuMSA5LjQgMjIuNmwwIDE4LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIuN2MwLTguNSAzLjQtMTYuNiA5LjQtMjIuNmw0NS4zLTQ1LjNjNi02IDkuNC0xNC4xIDkuNC0yMi42bDAtMzQuN2MwLTE3LjctMTQuMy0zMi0zMi0zMmwtODIuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTYtMTZjLTQuMi00LjItNi42LTEwLTYuNi0xNiAwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmwzNC43IDBjMTIuNSAwIDIyLjYtMTAuMSAyMi42LTIyLjYgMC02LTIuNC0xMS44LTYuNi0xNmwtMTkuNy0xOS43QzI0MiAxMzAgMjQwIDEyNS4xIDI0MCAxMjBzMi0xMCA1LjctMTMuN2wxNy4zLTE3LjNjNS44LTUuOCA5LjEtMTMuNyA5LjEtMjEuOSAwLTcuMi0yLjQtMTMuNy02LjQtMTguOS0zLjItLjEtNi40LS4yLTkuNi0uMi05NS40IDAtMTc1LjcgNjQuMi0yMDAuMyAxNTEuN3pNNDY0IDI1NmMwLTM0LjYtOC40LTY3LjItMjMuNC05NS44LTYuNCAuOS0xMi43IDMuOS0xNy45IDkuMWwtMTMuNCAxMy40Yy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI0LjEgMGMyLjUgMCA1LS4zIDcuMy0uOCAuNC01IC41LTEwLjEgLjUtMTUuMnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sJHh0PXRiLER4dD10YixBeHQ9dGIsRXh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcnJvdCIsaWNvbjpbNjQwLDUxMixbMTI5MzY1XSwiZjc4NyIsIk00NTMuMS0zNi43TDQ0MC45LTI0LjZjLTMxLjIgMzEuMi0zMS4yIDgxLjkgMCAxMTMuMSAxNS42IDE1LjYgMzEuMiAzMS4yIDQ2LjkgNDYuOSAzMS4yIDMxLjIgODEuOSAzMS4yIDExMy4xIDBsMTIuMS0xMi4xYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42TDYwMC45IDg4LjZjLTMxLjItMzEuMi04MS45LTMxLjItMTEzLjEgMCAzMS4yLTMxLjIgMzEuMi04MS45IDAtMTEzLjFMNDc1LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDB6TTMzMS42IDk2Yy00NS4yIDAtODcuMSAyMC40LTExNSA1NC4zTDI3My4zIDIwN2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDE5MS42IDE5My4yIDY3LjIgNDY2LjhjLTUuNSAxMi4xLTIuOSAyNi40IDYuNSAzNS45czIzLjcgMTIgMzUuOSA2LjVsMTQxLjYtNjQuNC00My44LTQzLjhjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw1Ni41IDU2LjUgOTUuMy00My4zYzUzLjEtMjQuMSA4Ny4yLTc3LjEgODcuMi0xMzUuNSAwLTgyLjItNjYuNi0xNDguOC0xNDguOC0xNDguOHoiXX0scmI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtZnVsbCIsaWNvbjpbMzIwLDUxMixbInRlbXBlcmF0dXJlLTQiLCJ0aGVybW9tZXRlci00IiwidGhlcm1vbWV0ZXItZnVsbCJdLCJmMmM3IiwiTTE2MCAwQzEwNyAwIDY0IDQzIDY0IDk2bDAgMTY0LjdDMzQuNSAyODcgMTYgMzI1LjQgMTYgMzY4IDE2IDQ0Ny41IDgwLjUgNTEyIDE2MCA1MTJzMTQ0LTY0LjUgMTQ0LTE0NGMwLTQyLjYtMTguNS04MS00OC0xMDcuM0wyNTYgOTZjMC01My00My05Ni05Ni05NnptNjQgMzY4YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0YzAtMjYuOSAxNi41LTQ5LjkgNDAtNTkuM0wxMzYgOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDIxMi43YzIzLjUgOS41IDQwIDMyLjUgNDAgNTkuM3oiXX0sSXh0PXJiLFB4dD1yYixOeHQ9cmIsRnh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWNlbGxzLXJvdy1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNjdhIiwiTTI1NiAyODhsMC02NCAxNTMuMyAwYzE3LjEtNDIuMiA1Ni03My4yIDEwMi43LTc5bDAtNDljMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI4IDMyQzkyLjcgMzIgNjQgNjAuNyA2NCA5NmwwIDMyMGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNDEuMyAwYy0uOS01LjItMS4zLTEwLjYtMS4zLTE2LjFsMC00Ny45LTExMiAwIDAtNjQgMTEzLjMgMGMzLjctMjIgMTQuOC00MS40IDMwLjctNTUuNmwwLTguNC0xNDQgMHptMC0xOTJsMTkyIDAgMCA2NC0xOTIgMCAwLTY0ek01NjAgMjcyLjFsMCA0Ny45LTY0IDAgMC00Ny45YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTQxNiAzNjhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM2wwLTUwLjZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCA1MC42Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjN6Il19LE94dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib2x0LWxpZ2h0bmluZyIsaWNvbjpbMzg0LDUxMixbXSwiZTBiNyIsIk0wIDI1NkwyOC41IDI4YzItMTYgMTUuNi0yOCAzMS44LTI4TDIyOC45IDBjMTUgMCAyNy4xIDEyLjEgMjcuMSAyNy4xIDAgMy4yLS42IDYuNS0xLjcgOS41TDIwOCAxNjAgMzQ3LjMgMTYwYzIwLjIgMCAzNi43IDE2LjQgMzYuNyAzNi43IDAgNy40LTIuMiAxNC42LTYuNCAyMC43bC0xOTIuMiAyODFjLTUuOSA4LjYtMTUuNiAxMy43LTI1LjkgMTMuN2wtMi45IDBjLTE1LjcgMC0yOC41LTEyLjgtMjguNS0yOC41IDAtMi4zIC4zLTQuNiAuOS02LjlMMTc2IDI4OCAzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxSeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtc2hvd2Vycy13YXRlciIsaWNvbjpbNTEyLDUxMixbXSwiZTRlNCIsIk0yNzkuMiA1NS43QzI2My45IDIyLjggMjMwLjYgMCAxOTIgMCAxMzkgMCA5NiA0MyA5NiA5NiA2MC43IDk2IDMyIDEyNC43IDMyIDE2MHMyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0bC0xLjYgMGMtNy40LTM2LjUtMzkuNy02NC03OC40LTY0LTIyLjIgMC00Mi4zIDkuMS01Ni44IDIzLjd6TTQxMC42IDQ3Ni4xYzIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS44LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHpNMTAwLjEgMzAzLjZjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRDMjkgMzY1IDM1LjggMzc4LjYgNDguNCAzODIuOHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHptMTIwIDBjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHptMTEyIDBjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHptMTIwIDBjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHoiXX0sUWxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLWxvbmciLGljb246WzMyMCw1MTIsWyJsb25nLWFycm93LXVwIl0sImYxNzYiLCJNMTgyLjYtMjIuNmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTI4IDc3LjMgMTI4IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDM0LjcgNzMuNCA3My40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjh6Il19LEJ4dD1RbGUsWkQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYWRkcmVzcy1jYXJkIixpY29uOls1NzYsNTEyLFs2MjE0MCwiY29udGFjdC1jYXJkIiwidmNhcmQiXSwiZjJiYiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem04MCAyNTZsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDguOC03LjIgMTYtMTYgMTZMODAgMzg0Yy04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODB6bS0yNC05NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTI0MC00OGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTAgOTZsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxIeHQ9WkQscXh0PVpELGp4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZS1yaWdodCIsaWNvbjpbMjU2LDUxMixbODI1MF0sImYxMDUiLCJNMjQ3LjEgMjMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE2MCAxNjBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE3OS4yIDI1NiA0MS45IDExOC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDE2MCAxNjB6Il19LEpsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLW1laCIsaWNvbjpbNTEyLDUxMixbMTI4NTI4LCJtZWgiXSwiZjExYSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0xNzYgMzIwbDE2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNjAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sVnh0PUpsZSxVeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXIiLGljb246WzY0MCw1MTIsW10sImU0YjUiLCJNMzAzIDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsODggODhjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDcgMCAyNzguMWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI3OC4xLTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDMwMyA3ek0yNDAgMTkybDAgMTYzLjFjLTEwLjYtMi4yLTIxLjMtMy4yLTMyLTMuMS0zMi41IC4yLTY0LjkgMTAuNy05Mi4zIDMxLjQtOC44IDYuNi0xNS45IDEwLjktMjEuNyAxMy41bC0uOCAuNGMtMy43IDEuNy02LjQgMi45LTkuOCAuMy02LTQuNS0xMi42LTgtMTkuMy0xMC40TDY0IDI0MGMwLTI2LjUgMjEuNS00OCA0OC00OGwxMjggMHptMzM2IDQ4bDAgMTU1LjJjLTEuMSAuOC0yLjIgMS41LTMuMyAyLjQtNC4xIDMuMS04LjMgLjgtMTIuNi0xLjUtLjYtLjMtMS4yLS42LTEuOC0xLTUuMi0yLjctMTEuMS02LjYtMTgtMTEuNy0yOC4xLTIxLjEtNjEuMy0zMS42LTk0LjQtMzEuNC0xNS41IC4xLTMxIDIuNS00NiA3LjNsMC0xNjcuMyAxMjggMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNNDAzLjQgNDc2LjFDMzc5LjEgNDk0LjMgMzUxLjEgNTEyIDMyMCA1MTJzLTU5LjEtMTcuNy04My40LTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM2MzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTYuOSAxMi43IDMyLjkgMjEuNSA0Ny44IDI0LjYgMTMuNyAyLjggMjcuNCAuOSA0Mi4zLTEwLjMgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNi40IDE5LjktNTQuMiAyNC40LTgwLjcgMTkuMS0yNS4zLTUuMS00OC4xLTE4LjktNjcuMi0zMy4zLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAweiJdfSxXeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFwIixpY29uOls1MTIsNTEyLFsxMjg1MDYsNjIwNzJdLCJmMjc5IiwiTTUxMiA0OGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNEwzNDkuNSA3Ny41IDE3MC4xIDE3LjZjLTguMS0yLjctMTYuOC0yLjEtMjQuNCAxLjdsLTEyOCA2NEM2LjggODguOCAwIDk5LjkgMCAxMTJMMCA0NjRjMCAxMS4xIDUuNyAyMS40IDE1LjIgMjcuMnMyMS4yIDYuNCAzMS4xIDEuNGwxMTYuMS01OC4xIDE3OS40IDU5LjhjOC4xIDIuNyAxNi44IDIuMSAyNC40LTEuN2wxMjgtNjRjMTAuOC01LjQgMTcuNy0xNi41IDE3LjctMjguNmwwLTM1MnpNMTkyIDM3Ni45bDAtMjg0LjUgMTI4IDQyLjcgMCAyODQuNS0xMjgtNDIuN3oiXX0sR3h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItcGx1cyIsaWNvbjpbNjQwLDUxMixbXSwiZjIzNCIsIk0yODUuNyAzMDRjOTguNSAwIDE3OC4zIDc5LjggMTc4LjMgMTc4LjMgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNzcuNyA1MTJDNjEuMyA1MTIgNDggNDk4LjcgNDggNDgyLjMgNDggMzgzLjggMTI3LjggMzA0IDIyNi4zIDMwNGw1OS40IDB6TTUyOCA4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDAgMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4LTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMCAwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yNTYgMjQ4YTEyMCAxMjAgMCAxIDEgMC0yNDAgMTIwIDEyMCAwIDEgMSAwIDI0MHoiXX0sWXh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlbnVzIixpY29uOlszODQsNTEyLFs5NzkyXSwiZjIyMSIsIk04MCAxNzZhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHpNMjIzLjkgMzQ5LjFDMzA1LjkgMzM0LjEgMzY4IDI2Mi4zIDM2OCAxNzYgMzY4IDc4LjggMjg5LjIgMCAxOTIgMFMxNiA3OC44IDE2IDE3NmMwIDg2LjMgNjIuMSAxNTguMSAxNDQuMSAxNzMuMS0uMSAxLS4xIDEuOS0uMSAyLjlsMCA2NC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTY0YzAtMSAwLTEuOS0uMS0yLjl6Il19LFp4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLXN1Y2Nlc3NvciIsaWNvbjpbNDQ4LDUxMixbXSwiZTQ3YSIsIk0yODkuMiAxMzcuOWMyLjUtNiA4LjMtOS45IDE0LjgtOS45bDQwIDAgMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtOTggMGMxLjMgNS4xIDIgMTAuNSAyIDE2bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTk2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjU2IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAyNCA0MCAwYzYuNSAwIDEyLjMgMy45IDE0LjggOS45czEuMSAxMi45LTMuNSAxNy40bC02NCA2NGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy00LjYtNC42LTUuOS0xMS41LTMuNS0xNy40ek0zODQgNDgwTDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0ek0xNjAgMTYwbDAtNjQtOTYgMCAwIDY0IDk2IDB6Il19LFh4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkLXNpZGUtY291Z2gtc2xhc2giLGljb246WzU3Niw1MTIsW10sImUwNjIiLCJNNTM1LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDQxIDUzNy4xYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDI1LTI1IDAtNDQ3LjJjMC0xNSAxMC41LTI4LjMgMjUuNC0yOS44IDcuNC0uNyAxNC45LTEuMSAyMi42LTEuMSAxMTIuNyAwIDIwNiA4My4zIDIyMS43IDE5MS43IC40IDMgMS43IDUuOSAzLjYgOC4zbDIuMiAyLjYgMjI3LjUtMjI3LjV6TTEzMy44IDUxMkwyODggMzU3LjggMjg4IDQxNmMwIDUzLTQzIDk2LTk2IDk2bC01OC4yIDB6TTE3NiAyMjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zMzYgNDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0tODggNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptLTY0IDQ4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyOCAwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTI0IDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptLTg4LTI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LEtsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLXByb2plY3QiLGljb246WzUxMiw1MTIsWyJwcm9qZWN0LWRpYWdyYW0iXSwiZjU0MiIsIk0wIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNiAxMjggMCAwLTE2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNi0xMjggMCAwIDE2YzAgNy4zLTEuNyAxNC4zLTQuNiAyMC41bDY4LjYgOTEuNSA4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC03LjMgMS43LTE0LjMgNC42LTIwLjVMMTI4IDIyNCA0OCAyMjRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODB6Il19LFF4dD1LbGUsUkE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVybWluYWwiLGljb246WzUxMiw1MTIsW10sImYxMjAiLCJNOS40IDExOC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDE2MCAxNjBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE2MCAxNjBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE0Ni43IDI1NiA5LjQgMTE4LjZ6TTIyNCAzODRsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxKeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtZmlyZSIsaWNvbjpbNjQwLDUxMixbXSwiZTUwYyIsIk00NDggMTkyYzE0LjEgLjQgMjMuOCAxMS40IDMyLjcgMjEuNyAyIDIuMyA0IDQuNiA2IDYuN2wxOSAxOS45IDEyLjItMTMuOGM1LjQtNi4xIDEzLjMtOC45IDIwLjktOC45IDcuMiAwIDE0LjMgMi42IDE5LjkgNy44IDE5LjcgMTguMyAzOS44IDQzLjIgNTUgNzAuNiAxNS4xIDI3LjIgMjYuMiA1OC4yIDI2LjIgODguMiAwIDg4LjctNzEuMyAxNTkuOC0xNjAgMTU5LjgtODkuNiAwLTE2MC03MS4zLTE2MC0xNTkuOCAwLTM3LjMgMTYtNzMuNCAzNi44LTEwNC41IDIwLjktMzEuMyA0Ny41LTU5IDcwLjktODAuMSA1LjctNS4yIDEzLjEtNy43IDIwLjMtNy41ek0yNjguNiA2LjVjMTIuMi05LjMgMjkuNy04LjcgNDEuMiAybDE0Ny41IDEzN2MtMTkuMi00LjMtNDAgLjUtNTUuNSAxNC40LTM2LjQgMzIuNi02Ny43IDY5LjgtOTAuMyAxMDYuNC0xMC4zIDE2LjYtMTkuNyAzNC45LTI2LjggNTMuN0wyNzIgMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2IDY0LjYgMGM3LjMgMTcuMiAxNi44IDMzLjQgMjguMiA0OEwxNDQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDggMi40LTJ6TTQ4OS4zIDM0My43Yy01LjQtNC43LTEzLjEtNC43LTE4LjUgMC0xNy43IDE1LjQtNTQuNyA1MS45LTU0LjcgODguNCAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0YzAtMzYuNS0zNy03My01NC43LTg4LjR6Il19LEt4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXNrIixpY29uOls1NzYsNTEyLFtdLCJmNmZhIiwiTTI4OCA2NEM2NCA2NCAwIDE2MCAwIDI3MlM4MCA0NDggMTc2IDQ0OGw4LjQgMGMyNC4yIDAgNDYuNC0xMy43IDU3LjItMzUuNGwyMy4yLTQ2LjNjNC40LTguOCAxMy4zLTE0LjMgMjMuMi0xNC4zczE4LjggNS41IDIzLjIgMTQuM2wyMy4yIDQ2LjNjMTAuOCAyMS43IDMzIDM1LjQgNTcuMiAzNS40bDguNCAwYzk2IDAgMTc2LTY0IDE3Ni0xNzZTNTEyIDY0IDI4OCA2NHpNOTYgMjU2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHptMzIwLTY0YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSxleXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaHVycmljYW5lIixpY29uOlszODQsNTEyLFtdLCJmNzUxIiwiTTAgMjA4QzAgMTA0LjQgNzUuNyAxOC41IDE3NC45IDIuNiAxODQgMS4yIDE5MiA4LjYgMTkyIDE3LjlsMCA2My4zYzAgOC40IDYuNSAxNS4zIDE0LjcgMTYuNSAxMDAuMyAxNC45IDE3Ny4zIDEwMS4zIDE3Ny4zIDIwNS43IDAgMTAzLjYtNzUuNyAxODkuNS0xNzQuOSAyMDUuNC05LjIgMS41LTE3LjEtNS45LTE3LjEtMTUuMmwwLTYzLjNDMTkyIDQyMS45IDE4NS41IDQxNSAxNzcuMyA0MTMuNyA3NyAzOTguOSAwIDMxMi40IDAgMjA4em0yODggNDhhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwem0tOTYtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxlY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFydGgtYWZyaWNhIixpY29uOls1MTIsNTEyLFsxMjc3NTcsImdsb2JlLWFmcmljYSJdLCJmNTdjIiwiTTQ0Ny42IDE3NWMtMzEuNi03NC42LTEwNS41LTEyNy0xOTEuNi0xMjctMjIuMSAwLTQzLjQgMy41LTYzLjQgOS44LS40IDItLjYgNC4xLS42IDYuMmwwIDczLjRjMCAxMi41IDEwLjEgMjIuNiAyMi42IDIyLjYgNiAwIDExLjgtMi40IDE2LTYuNmwxNi0xNmM2LTYgMTQuMS05LjQgMjIuNi05LjRsNS41IDBjMjguNSAwIDQyLjggMzQuNSAyMi42IDU0LjYtNiA2LTE0LjEgOS40LTIyLjYgOS40bC02MS41IDBjLTguNSAwLTE2LjYgMy40LTIyLjYgOS40bC0yMS4zIDIxLjNjLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDQyLjdjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDIuNyAwYzguNSAwIDE2LjYtMy40IDIyLjYtOS40bDI5LjMtMjkuM2M2LTYgOS40LTE0LjEgOS40LTIyLjZsMC0xOC43YzAtOC44IDcuMi0xNiAxNi0xNnMxNi03LjIgMTYtMTZsMC0zNC43YzAtOC41LTMuNC0xNi42LTkuNC0yMi42bC0xNi0xNmMtNC4yLTQuMi02LjYtMTAtNi42LTE2IDAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDQ1IDBjMTIuNCAwIDIyLjctNy4xIDI4LTE3ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAweiJdfSx0eXQ9ZWNlLHRjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aHVtYnRhY2siLGljb246WzM4NCw1MTIsWzEyODIwNCwxMjgzOTIsInRodW1iLXRhY2siXSwiZjA4ZCIsIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwTDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yOS41IDAgMTAuMyAxMzQuMWMzNy4xIDIxLjIgNjUuOCA1Ni40IDc4LjIgOTkuN2wzLjggMTMuNGMyLjggOS43IC44IDIwLTUuMiAyOC4xUzM2MiAzNTIgMzUyIDM1MkwzMiAzNTJjLTEwIDAtMTkuNS00LjctMjUuNS0xMi43cy04LTE4LjQtNS4yLTI4LjFMNSAyOTcuOGMxMi40LTQzLjMgNDEtNzguNSA3OC4yLTk5LjdMOTMuNSA2NCA2NCA2NEM0Ni4zIDY0IDMyIDQ5LjcgMzIgMzJ6TTE2MCA0MDBsNjQgMCAwIDExMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTExMnoiXX0scnl0PXRjZSxheXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wb2ludC1kb3duIixpY29uOlszODQsNTEyLFtdLCJmMGE3IiwiTTMyIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjA4LTY0IDAgMCAyMDh6TTIyNCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjR6bS02NCA2NGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE2MC05NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NHptLTk2LTg4bDAgLjZjOS40LTUuNCAyMC4zLTguNiAzMi04LjYgMTMuMiAwIDI1LjQgNCAzNS42IDEwLjggOC43LTI0LjkgMzIuNS00Mi44IDYwLjQtNDIuOCAxMS43IDAgMjIuNiAzLjEgMzIgOC42bDAtOC42QzM4NCA3MS42IDMxMi40IDAgMjI0IDBMMTYyLjMgMEMxMTkuOCAwIDc5LjEgMTYuOSA0OS4xIDQ2LjlMMzcuNSA1OC41QzEzLjUgODIuNSAwIDExNS4xIDAgMTQ5bDAgMjdjMCAzNS4zIDI4LjcgNjQgNjQgNjRsODggMGMyMi4xIDAgNDAtMTcuOSA0MC00MHMtMTcuOS00MC00MC00MGwtNTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw1NiAwYzM5LjggMCA3MiAzMi4yIDcyIDcyeiJdfSxyY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1tZWgtYmxhbmsiLGljb246WzUxMiw1MTIsWzEyODU2NiwibWVoLWJsYW5rIl0sImY1YTQiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjA4LTQ4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTEyOCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LGl5dD1yY2UsYWI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtZW1wdHkiLGljb246WzMyMCw1MTIsWyJ0ZW1wZXJhdHVyZS0wIiwidGhlcm1vbWV0ZXItMCIsInRoZXJtb21ldGVyLWVtcHR5Il0sImYyY2IiLCJNNjQgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDE2NC43YzI5LjUgMjYuNCA0OCA2NC43IDQ4IDEwNy4zIDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzE2IDQ0Ny41IDE2IDM2OGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w2NCA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0LTY0IDI4LjctNjQgNjQgMjguNyA2NCA2NCA2NHoiXX0sbnl0PWFiLHN5dD1hYixveXQ9YWIsbHl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvcmRlci1ub25lIixpY29uOls0NDgsNTEyLFtdLCJmODUwIiwiTTMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMiAzMi0xNC4zIDMyLTMyLTE0LjMtMzItMzItMzJ6TTE2MCAzMmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6TTI4OCA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzIgMzItMTQuMyAzMi0zMi0xNC4zLTMyLTMyLTMyek0xNjAgNDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzIgMTQuMyAzMiAzMiAzMnpNMjg4IDMyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNNDE2IDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyIDE0LjMgMzIgMzIgMzJ6bTAtMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMzIgMzJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek00MTYgMzUyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMzIgMTYwYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptMCAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek00MTYgMTYwYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHoiXX0sY3l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhpZ2hsaWdodGVyIixpY29uOls1NzYsNTEyLFtdLCJmNTkxIiwiTTMxNSAzMTVMNDczLjQgOTkuOSA0NDQuMSA3MC42IDIyOSAyMjkgMzE1IDMxNXptLTE4NyA1bDAgMCAwLTcxLjdjMC0xNS4zIDcuMi0yOS42IDE5LjUtMzguNkw0MjAuNiA4LjRDNDI4IDIuOSA0MzcgMCA0NDYuMiAwIDQ1Ny42IDAgNDY4LjUgNC41IDQ3Ni42IDEyLjZsNTQuOCA1NC44YzguMSA4LjEgMTIuNiAxOSAxMi42IDMwLjUgMCA5LjItMi45IDE4LjItOC40IDI1LjZMMzM0LjQgMzk2LjVjLTkgMTIuMy0yMy40IDE5LjUtMzguNiAxOS41bC03MS43IDAtMjUuNCAyNS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtNTAuNy01MC43Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM0wxMjggMzIwek03IDQ2Ni4zbDUxLjctNTEuNyA3MC42IDcwLjYtMTkuNyAxOS43Yy00LjUgNC41LTEwLjYgNy0xNyA3TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00LjdjMC02LjQgMi41LTEyLjUgNy0xN3oiXX0sZHl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtd2F2ZSIsaWNvbjpbNTEyLDUxMixbXSwiZjUzYSIsIk0wIDQxOS42TDAgMTA5LjVjMC0yMy4yIDI0LjEtMzguNiA0Ni4zLTMyIDg3LjcgMjYuMiAxNDkuNyA1LjUgMjEyLjEtMTUuMyA2NC41LTIxLjUgMTI5LjQtNDMuMSAyMjMuMy0xMy4xIDE4LjUgNS45IDMwLjMgMjMuOCAzMC4zIDQzLjNsMCAzMTAuMWMwIDIzLjItMjQuMSAzOC42LTQ2LjIgMzItODcuNy0yNi4yLTE0OS44LTUuNS0yMTIuMSAxNS4zLTY0LjUgMjEuNS0xMjkuNCA0My4xLTIyMy4zIDEzLjEtMTguNS01LjktMzAuMy0yMy44LTMwLjMtNDMuM3pNMzM2IDI1NmMwLTUzLTM1LjgtOTYtODAtOTZzLTgwIDQzLTgwIDk2IDM1LjggOTYgODAgOTYgODAtNDMgODAtOTZ6TTEyMCA0MTMuNmM0LjQgMCA3LjktMy44IDcuMi04LjEtNC42LTI3LjgtMjctNDkuNS01NS4yLTUzLTQuNC0uNS04IDMuMS04IDcuNWwwIDM5LjljMCAzLjYgMi40IDYuOCA2IDcuNyAxNy45IDQuMiAzNC4zIDYuMSA1MCA2LjF6bTMxOC41LTUxLjFjNSAuOCA5LjUtMyA5LjUtOGwwLTQyLjZjMC00LjQtMy42LTguMS04LTcuNS0yNS4yIDMuMS00NS45IDIwLjktNTMuMiA0NC42LTEuNCA0LjcgMi4zIDkuMSA3LjIgOS4yIDE0LjIgLjQgMjkgMS43IDQ0LjQgNC4zek00NDggMTUybDAtMzkuOWMwLTMuNi0yLjUtNi44LTYtNy43LTE3LjktNC4yLTM0LjMtNi4xLTUwLTYuMS00LjQgMC03LjkgMy44LTcuMiA4LjEgNC42IDI3LjggMjcgNDkuNSA1NS4yIDUzIDQuNCAuNSA4LTMuMSA4LTcuNXpNMTI1LjIgMTYyLjljMS40LTQuNy0yLjMtOS4xLTcuMi05LjItMTQuMi0uNC0yOS0xLjctNDQuNC00LjMtNS0uOC05LjUgMy05LjUgOEw2NCAyMDBjMCA0LjQgMy42IDguMSA4IDcuNSAyNS4yLTMuMSA0NS45LTIwLjkgNTMuMi00NC42eiJdfSx1eXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9pbGV0LXBhcGVyLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMDcyIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTk0LjUtOTQuNWM0MC4yLTIzIDY5LjUtOTYuOSA2OS41LTE4NC42IDAtMTA2LTQzLTE5Mi05Ni0xOTJzLTk2IDg2LTk2IDE5MmMwIDI0LjEgMi4yIDQ3LjIgNi4zIDY4LjRMMzA0IDIzOC4yIDMwNCAyMjRjMC01OC45IDExLjgtMTE0LjUgMzMuMi0xNTcuMiA1LjktMTEuNyAxMy4xLTIzLjcgMjEuOS0zNC44TDEyOCAzMmMtOC4zIDAtMTYuNCAyLjEtMjQuMSA2LjFsLTYzLTYzek0zMiAyMjRsMCAyNjRjMCAzMC45IDI1LjEgNTYgNTYgNTZsMTYwIDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZsMC0xMTQuMi0yNTYtMjU2QzM3LjkgMTQ4LjIgMzIgMTg0LjcgMzIgMjI0em00MTYgNjRjLTE3LjcgMC0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NC0xNC4zIDY0LTMyIDY0eiJdfSxweXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1zaGllbGQiLGljb246WzU3Niw1MTIsW10sImU0ZjAiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDEuMiAwQzI2MSA0NjkuNCAyNDAgNDE0LjUgMjQwIDM1Ni40bDAtMzEuMWMwLTM0LjQgMjItNjUgNTQuNy03NS45bDExMi0zNy4zYzMuMS0xIDYuMi0xLjggOS4zLTIuNWwwLTM5LjFjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6bTg3LjggMzEyLjVsLTEzLjMgNi4zIDAtMTg4LjEgOTYgMzIgMCAxOS42YzAgNTUuOC0zMi4yIDEwNi41LTgyLjcgMTMwLjN6TTQyMS45IDI1OS41bC0xMTIgMzcuM2MtMTMuMSA0LjQtMjEuOSAxNi42LTIxLjkgMzAuNGwwIDMxLjFjMCA3NC40IDQzIDE0Mi4xIDExMC4yIDE3My43bDE4LjUgOC43YzQuOCAyLjIgMTAgMy40IDE1LjIgMy40czEwLjUtMS4yIDE1LjItMy40bDE4LjUtOC43QzUzMyA1MDAuMyA1NzYgNDMyLjYgNTc2IDM1OC4ybDAtMzEuMWMwLTEzLjgtOC44LTI2LTIxLjktMzAuNGwtMTEyLTM3LjNjLTYuNi0yLjItMTMuNy0yLjItMjAuMiAweiJdfSxmeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGV4dC1oZWlnaHQiLGljb246WzU3Niw1MTIsW10sImYwMzQiLCJNNDAgMzJDMTcuOSAzMiAwIDQ5LjkgMCA3MmwwIDU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiA2NCAwIDAgMzIwLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zMjAgNjQgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC01NmMwLTIyLjEtMTcuOS00MC00MC00MEw0MCAzMnpNNDM4LjYgMzYxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05LjQgOS40IDAtMjI5LjUgOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NGMtNi02LTE0LjEtOS40LTIyLjYtOS40cy0xNi42IDMuNC0yMi42IDkuNGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOS40LTkuNCAwIDIyOS41LTkuNC05LjR6Il19LGFjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlIixpY29uOls1MTIsNTEyLFsxMjg1MzksImdyaW4tdG9uZ3VlIl0sImY1ODkiLCJNMCAyNTZjMCAxMDQuNCA2Mi41IDE5NC4yIDE1Mi4yIDIzNC4xLTUuMy0xMy04LjItMjcuMi04LjItNDIuMWwwLTYxLjdjLTE2LjktMTYuNS0zMC4xLTM2LjctMzguMy01OS4zLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtOC4zIDIyLjYtMjEuNSA0Mi44LTM4LjMgNTkuM2wwIDYxLjdjMCAxNC45LTIuOSAyOS4xLTguMiA0Mi4xIDg5LjctMzkuOCAxNTIuMi0xMjkuNiAxNTIuMi0yMzQuMSAwLTE0MS40LTExNC42LTI1Ni0yNTYtMjU2UzAgMTE0LjYgMCAyNTZ6bTE3Ni04MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNiAyNDBsMC00NS40YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42bC0yIDBjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjktMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMC0yLjUtMTEuMS0xMi4zLTE4LjktMjMuNi0xOC45bC0yIDBjLTE0LjcgMC0yNi42IDExLjktMjYuNiAyNi42bDAgNDUuNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0eiJdfSxoeXQ9YWNlLG15dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXNpZ25hdHVyZSIsaWNvbjpbNjQwLDUxMixbXSwiZjU3MyIsIk02NC4xIDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDI3Ny42IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNDI5LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM2wwIDk3LjUtMTMyIDEzMi00Mi4xIDAtMTYuMS01My42Yy00LjctMTUuNy0xOS4xLTI2LjQtMzUuNS0yNi40LTExLjMgMC0yMS45IDUuMS0yOC45IDEzLjlMMTMzLjMgNDA5Yy04LjMgMTAuMy02LjYgMjUuNSAzLjcgMzMuN3MyNS41IDYuNiAzMy43LTMuOGw0Ny4xLTU4LjggMTUuMiA1MC43YzMgMTAuMiAxMi40IDE3LjEgMjMgMTcuMWwzMS41IDBjLS45IDMuMS0xLjcgNi4zLTIuMyA5LjVsLTEwLjkgNTQuNS0xNDYuMiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTM4NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRsOTMuNSAwLTExNy41LTExNy41em02MC4yIDQwOC40YzIuNS0xMi40IDguNi0yMy44IDE3LjUtMzIuN2wxMTguOS0xMTguOSA4MCA4MC0xMTguOSAxMTguOWMtOC45IDguOS0yMC4zIDE1LTMyLjcgMTcuNWwtNTkuNiAxMS45Yy0uOSAuMi0xLjkgLjMtMi45IC4zLTggMC0xNC42LTYuNS0xNC42LTE0LjYgMC0xIC4xLTEuOSAuMy0yLjlsMTEuOS01OS42em0yNjcuOC0xMjNsLTI4LjggMjguOC04MC04MCAyOC44LTI4LjhjMjIuMS0yMi4xIDU3LjktMjIuMSA4MCAwczIyLjEgNTcuOSAwIDgweiJdfSxneXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctd2hlYXQiLGljb246WzY0MCw1MTIsW10sImU0ZGIiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNDkuMyAwYy02LTE0LjgtOS4zLTMxLTkuMy00OCAwLTE3LjcgNy4yLTMzLjcgMTguOC00NS4zLTExLjktMTkuNC0xOC44LTQyLjMtMTguOC02Ni43IDAtMTcuNyA3LjItMzMuNyAxOC44LTQ1LjMtMTEuOS0xOS40LTE4LjgtNDIuMy0xOC44LTY2LjcgMC0yNS4yIDE0LjUtNDYuOSAzNS42LTU3LjQtMi40LTcuMS0zLjYtMTQuNy0zLjYtMjIuNmwwLTMyQzM2OCA5Ni43IDM4OCA3MC4xIDQxNS45IDYwLjEgNDEzLjkgMjYuNiAzODYgMCAzNTIgMEw5NiAwek0yMDggMzUybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MC05NiAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTEyOCAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTEyOCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTQ0LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTM1MiAwbC0xNiAwYy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTguOC03LjItMTYtMTYtMTZ6bTE2IDEyOGMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwem0wIDExMmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwek00OTYgNTI4YzAtNDQuMi0zNS44LTgwLTgwLTgwbC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTYgMCA0NC4yIDM1LjggODAgODAgODBsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZ6bS0xNi05NmM4LjggMCAxNi03LjIgMTYtMTYgMC00NC4yLTM1LjgtODAtODAtODBsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDQ0LjIgMzUuOCA4MCA4MCA4MGwxNiAwem0xNi0xMjhjMC00NC4yLTM1LjgtODAtODAtODBsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDQ0LjIgMzUuOCA4MCA4MCA4MGwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnpNNTEyIDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0YzAtMTMuMy0xMC43LTI0LTI0LTI0em05NiA2NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMnpNNDQwIDEwNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzJjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LGJ5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1taW51cyIsaWNvbjpbNjQwLDUxMixbXSwiZTU1ZSIsIk0xOTItMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDguN2MtOTguNiA4LjEtMTc2IDkwLjctMTc2IDE5MS4zIDAgMjcuMyA1LjcgNTMuMyAxNiA3Ni45bDAgMy4xYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuN0MxNjUuMiAzOTguMSA5NiAzMTkuMSA5NiAyMjRsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTNzguMyA5NiA5NiA5Nmw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTM1MiA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjI0IDBjMC04LjgtNy4yLTE2LTE2LTE2bC0xMjggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZ6Il19LFhEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZ1dGJvbCIsaWNvbjpbNTEyLDUxMixbOTkxNywiZnV0Ym9sLWJhbGwiLCJzb2NjZXItYmFsbCJdLCJmMWUzIiwiTTQxNy4zIDM2MC4xbC03MS42LTQuOGMtNS4yLS4zLTEwLjMgMS4xLTE0LjUgNC4ycy03LjIgNy40LTguNCAxMi41bC0xNy42IDY5LjZDMjg5LjUgNDQ1LjggMjczIDQ0OCAyNTYgNDQ4cy0zMy41LTIuMi00OS4yLTYuNEwxODkuMiAzNzJjLTEuMy01LTQuMy05LjQtOC40LTEyLjVzLTkuMy00LjUtMTQuNS00LjJsLTcxLjYgNC44Yy0xNy42LTI3LjItMjguNS01OS4yLTMwLjQtOTMuNkwxMjUgMjI4LjNjNC40LTIuOCA3LjYtNyA5LjItMTEuOXMxLjQtMTAuMi0uNS0xNWwtMjYuNy02Ni42QzEyOCAxMDkuMiAxNTUuMyA4OSAxODYuNyA3Ni45bDU1LjIgNDZjNCAzLjMgOSA1LjEgMTQuMSA1LjFzMTAuMi0xLjggMTQuMS01LjFsNTUuMi00NmMzMS4zIDEyLjEgNTguNyAzMi4zIDc5LjYgNTcuOWwtMjYuNyA2Ni42Yy0xLjkgNC44LTIuMSAxMC4xLS41IDE1czQuOSA5LjEgOS4yIDExLjlsNjAuNyAzOC4yYy0xLjkgMzQuNC0xMi44IDY2LjQtMzAuNCA5My42ek0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptMTQuMS0zMjUuN2MtOC40LTYuMS0xOS44LTYuMS0yOC4yIDBMMTk0IDIyMWMtOC40IDYuMS0xMS45IDE2LjktOC43IDI2LjhsMTguMyA1Ni4zYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNmw1OS4yIDBjMTAuNCAwIDE5LjYtNi43IDIyLjgtMTYuNmwxOC4zLTU2LjNjMy4yLTkuOS0uMy0yMC43LTguNy0yNi44bC00Ny45LTM0Ljh6Il19LHZ5dD1YRCx4eXQ9WEQsaWNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1wbHVzIixpY29uOls1MTIsNTEyLFsicGx1cy1jaXJjbGUiXSwiZjA1NSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjMyIDM0NGwwLTY0LTY0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNjQgMCAwLTY0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA2NCA2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC02NCAwIDAgNjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjR6Il19LHl5dD1pY2Usd3l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyYXppbGlhbi1yZWFsLXNpZ24iLGljb246WzUxMiw1MTIsW10sImU0NmMiLCJNNDAwIDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNDguOSAwYy0yNiAwLTQ3LjEgMjEuMS00Ny4xIDQ3LjEgMCAyMi41IDE1LjkgNDEuOCAzNy45IDQ2LjJsMzIuOCA2LjZjNTEuOSAxMC40IDg5LjMgNTYgODkuMyAxMDkgMCA1MC42LTMzLjggOTMuMy04MCAxMDYuN2wwIDIwLjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0LjkgMGMyNiAwIDQ3LjEtMjEuMSA0Ny4xLTQ3LjEgMC0yMi41LTE1LjktNDEuOC0zNy45LTQ2LjJsLTMyLjgtNi42Yy01MS45LTEwLjQtODkuMy01Ni04OS4zLTEwOSAwLTUwLjYgMzMuOC05My4yIDgwLTEwNi43TDM2OCA0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw4MCAwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgNTQuMy0zMCAxMDEuNS03NC40IDEyNi4xbDQxIDEzNi43YzUuMSAxNi45LTQuNSAzNC44LTIxLjUgMzkuOHMtMzQuOC00LjUtMzkuOC0yMS41TDEyMC4xIDMxOS44Yy0yLjcgLjEtNS40IC4yLTguMSAuMmwtNDggMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjR6TTY0IDI1Nmw0OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwbC00OCAwIDAgMTYweiJdfSxNeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Rhci1hbmQtY3Jlc2NlbnQiLGljb246WzUxMiw1MTIsWzk3NzBdLCJmNjk5IiwiTTAgMjU2YzAtMTQxLjQgMTE0LjYtMjU2IDI1Ni0yNTYgMzMgMCA2NC42IDYuMyA5My42IDE3LjcgNy40IDIuOSAxMS41IDEwLjcgOS44IDE4LjRzLTguOCAxMy0xNi43IDEyLjRjLTQuOC0uMy05LjctLjUtMTQuNi0uNS0xMTQuOSAwLTIwOCA5My4xLTIwOCAyMDhzOTMuMSAyMDggMjA4IDIwOGM0LjkgMCA5LjgtLjIgMTQuNi0uNSA3LjktLjUgMTUgNC43IDE2LjcgMTIuNHMtMi40IDE1LjUtOS44IDE4LjRDMzIwLjYgNTA1LjcgMjg5IDUxMiAyNTYgNTEyIDExNC42IDUxMiAwIDM5Ny40IDAgMjU2ek0zNzUuNCAxMzcuNGMzLjUtNy4xIDEzLjctNy4xIDE3LjIgMGwzMS41IDYzLjhjMS40IDIuOCA0LjEgNC44IDcuMiA1LjNsNzAuNCAxMC4yYzcuOSAxLjEgMTEgMTAuOCA1LjMgMTYuNGwtNTAuOSA0OS42Yy0yLjMgMi4yLTMuMyA1LjQtMi44IDguNWwxMiA3MC4xYzEuMyA3LjgtNi45IDEzLjgtMTMuOSAxMC4xbC02My0zMy4xYy0yLjgtMS41LTYuMS0xLjUtOC45IDBsLTYzIDMzLjFjLTcgMy43LTE1LjMtMi4zLTEzLjktMTAuMWwxMi03MC4xYy41LTMuMS0uNS02LjMtMi44LTguNUwyNjEgMjMzLjFjLTUuNy01LjYtMi42LTE1LjIgNS4zLTE2LjRsNzAuNC0xMC4yYzMuMS0uNSA1LjgtMi40IDcuMi01LjNsMzEuNS02My44eiJdfSxuY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zdXJwcmlzZSIsaWNvbjpbNTEyLDUxMixbMTI4NTU4LCJzdXJwcmlzZSJdLCJmNWMyIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bS00OCA4MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sa3l0PW5jZSxTeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9zcGl0YWwtdXNlciIsaWNvbjpbNjQwLDUxMixbXSwiZjgwZCIsIk02NCA2NEM2NCAyOC43IDkyLjcgMCAxMjggMEwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyMS4zYy00Ni45IDE5LTgwIDY1LTgwIDExOC43IDAgMjcuNyA4LjggNTMuNCAyMy44IDc0LjQtNTEuNSAyMS04Ny44IDcxLjYtODcuOCAxMzAuNyAwIDEgMCAxLjkgMCAyLjlsLTE3NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEw2NCA2NHpNMjA4IDQwMGwwIDY0IDUzLjQgMGM3LjItMjkuNCAyMS4zLTU2LjEgNDAuNC03OC4zLTYuMS0xOS41LTI0LjMtMzMuNy00NS44LTMzLjctMjYuNSAwLTQ4IDIxLjUtNDggNDh6TTI0OCA4OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzItMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDAgMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMiAzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMCAwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMHpNNDE2IDMwNGE4MCA4MCAwIDEgMSAxNjAgMCA4MCA4MCAwIDEgMSAtMTYwIDB6TTM1MiA1MTJjMC01MyA0My05NiA5Ni05Nmw5NiAwYzUzIDAgOTYgNDMgOTYgOTYgMCAxNy43LTE0LjMgMzItMzIgMzJsLTIyNCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0senl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tdXAtbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZTRiMCIsIk0yNjIuNiA0MjIuNmwtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwyNS40IDI1LjQgMC0xMTQuNy02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDI1NiAwIDAtMTE0LjctMjUuNCAyNS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w4MC04MGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw4MCA4MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtMjUuNC0yNS40IDAgOTQuOGMtMjUuMyAyMC4zLTQyLjggNTAuMS00NyA4My45bC0xNDUgMCAwIDExNC43IDI1LjQtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zek0xOTIgMzJsMCAxNDQtNjQgMCAwLTE0NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyek00OTYgMzA0LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0zNTIgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxzY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9sZGVyIixpY29uOls1MTIsNTEyLFsxMjgxOTMsMTI4NDQ3LDYxNzE2LCJmb2xkZXItYmxhbmsiXSwiZjA3YiIsIk02NCA0NDhsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNDBjMC0zNS4zLTI4LjctNjQtNjQtNjRMMjk4LjcgODBjLTYuOSAwLTEzLjctMi4yLTE5LjItNi40TDI0MS4xIDQ0LjhDMjMwIDM2LjUgMjE2LjUgMzIgMjAyLjcgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NHoiXX0sQ3l0PXNjZSxUeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9sbHktYmVycnkiLGljb246WzUxMiw1MTIsW10sImY3YWEiLCJNMjU2LjIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0yNzcgMzgzLjhjMSAuMSAyLjEgLjIgMy4yIC4yIDM5LjggMCA3MiAzMi4yIDcyIDcybDAgMjIuN2MwIDE2LjQgMTYgMjcuOSAzMS42IDIyLjhsMTIuOC00LjNjMTgtNiAzNy4zLTYuNSA1NS42LTEuNWwxOS40IDUuM2MxNy45IDQuOSAzNC40LTExLjYgMjkuNS0yOS41TDQ5NS45IDQ1MmMtNS0xOC4zLTQuNC0zNy42IDEuNS01NS42bDQuMy0xMi44YzUuMi0xNS41LTYuNC0zMS42LTIyLjgtMzEuNi0zNC42IDAtNjIuNy0yOC4xLTYyLjctNjIuN2wwLTMyYzAtMTYuNC0xNi0yNy45LTMxLjYtMjIuOGwtMTIuOCA0LjNjLTE4IDYtMzcuMyA2LjUtNTUuNiAxLjVsLTI5LjYtOC4xYy0yLjktLjgtNS45LTEtOC43LS43IDQuMiA5LjcgNS44IDIwLjggMy43IDMyLjNsLTYuMyAzNC44Yy0xLjUgOC40LTEuNCAxNyAuNSAyNS4zbDUuMyAyMy45YzIuOCAxMi43IDEuMSAyNS4yLTQgMzUuOXpNMTI3LjggMjM0LjVjLTE1LjUtNS4yLTMxLjYgNi40LTMxLjYgMjIuOGwwIDMyYzAgMzQuNi0yOC4xIDYyLjctNjIuNyA2Mi43LTE2LjQgMC0yNy45IDE2LTIyLjggMzEuNkwxNSAzOTYuNGM2IDE4IDYuNSAzNy4zIDEuNSA1NS42bC01LjMgMTkuNEM2LjQgNDg5LjQgMjIuOCA1MDUuOCA0MC43IDUwMWwxOS40LTUuM2MxOC4zLTUgMzcuNi00LjUgNTUuNiAxLjVsMTIuOCA0LjNjMTUuNSA1LjIgMzEuNi02LjQgMzEuNi0yMi44bDAtMzJjMC0zNC42IDI4LjEtNjIuNyA2Mi43LTYyLjcgMTYuNCAwIDI3LjktMTYgMjIuOC0zMS42bC00LjMtMTIuOGMtNi0xOC02LjUtMzcuMy0xLjUtNTUuNmw1LjMtMTkuNGM0LjktMTcuOS0xMS42LTM0LjQtMjkuNS0yOS41bC0xOS40IDUuM2MtMTguMyA1LTM3LjYgNC40LTU1LjYtMS41bC0xMi44LTQuM3pNMzg0LjIgMTQ0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LF95dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2ZW51cy1kb3VibGUiLGljb246WzY0MCw1MTIsWzk4OTBdLCJmMjI2IiwiTTE5MiAyODhhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0ek0zNjggMTc2YzAgODYuMy02Mi4xIDE1OC4xLTE0NC4xIDE3My4xIC4xIDEgLjEgMS45IC4xIDIuOWwwIDY0IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTY0YzAtMSAwLTEuOSAuMS0yLjktODItMTUtMTQ0LjEtODYuOC0xNDQuMS0xNzMuMSAwLTk3LjIgNzguOC0xNzYgMTc2LTE3NlMzNjggNzguOCAzNjggMTc2ek0zNTcuNSAzMjdjMTQuNC0xNS44IDI2LjYtMzMuNyAzNi4xLTUzLjEgMTYuMSA5IDM0LjcgMTQuMSA1NC41IDE0LjEgNjEuOSAwIDExMi01MC4xIDExMi0xMTJTNTA5LjkgNjQgNDQ4IDY0Yy0xOS44IDAtMzguMyA1LjEtNTQuNSAxNC4xLTkuNS0xOS40LTIxLjYtMzcuMy0zNi4xLTUzLjEgMjYuNC0xNS45IDU3LjQtMjUgOTAuNS0yNSA5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NiAwIDg2LjMtNjIuMSAxNTguMS0xNDQuMSAxNzMuMSAuMSAuOSAuMSAxLjkgLjEgMi45bDAgNjQgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtNjRjMC0xIDAtMS45IC4xLTIuOS0yMS4xLTMuOS00MC45LTExLjUtNTguNi0yMi4yeiJdfSxMeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkLXF1ZXN0aW9uIixpY29uOlszODQsNTEyLFtdLCJlNGUzIiwiTTMxMS40IDMybDguNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzUyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmw4LjYgMEM4My42IDEyLjkgMTA0LjMgMCAxMjggMEwyNTYgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJ6TTI0OCAxMTJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTM2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwek0xOTIgMjQ4YzE2LjEgMCAyOS4yIDEzLjEgMjkuMiAyOS4yIDAgOC43LTMuMSAxMy45LTYuOSAxNy43LTQuNSA0LjQtMTAuNyA3LjUtMTYuOCA5LjUtMTQuOSA1LTI5LjUgMTkuMy0yOS41IDM5LjUgMCAxMy4zIDEwLjcgMjQgMjQgMjQgMTEuNSAwIDIxLjItOC4xIDIzLjUtMTkgMTkuMi03LjEgNTMuNy0yNi4zIDUzLjctNzEuOCAwLTQyLjYtMzQuNi03Ny4yLTc3LjItNzcuMnMtNzcuMiAzNC42LTc3LjIgNzcuMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTYuMSAxMy4xLTI5LjIgMjkuMi0yOS4yem0yOCAxNjhjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjggMTIuNSAyOCAyOCAyOCAyOC0xMi41IDI4LTI4eiJdfSwkeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG90ZG9nIixpY29uOls1MTIsNTEyLFsxMjc3ODldLCJmODBmIiwiTTI4OCAwYy0yMC41IDAtNDAuMSA4LjEtNTQuNiAyMi42TDIyLjYgMjMzLjRDOC4xIDI0Ny45IDAgMjY3LjUgMCAyODggMCAzMDAuMiAyLjkgMzEyLjEgOC4yIDMyMi43TDMyMi43IDguMkMzMTIuMSAyLjkgMzAwLjIgMCAyODggMHpNMjI0IDUxMmMyMC41IDAgNDAuMS04LjEgNTQuNi0yMi42TDQ4OS40IDI3OC42YzE0LjUtMTQuNSAyMi42LTM0LjEgMjIuNi01NC42IDAtMTIuMi0yLjktMjQuMS04LjItMzQuN0wxODkuMyA1MDMuOGMxMC43IDUuNCAyMi42IDguMiAzNC43IDguMnpNNDU2LjYgMTY4LjZjMzEuMi0zMS4yIDMxLjItODEuOSAwLTExMy4xcy04MS45LTMxLjItMTEzLjEgMGwtMjg4IDI4OGMtMzEuMiAzMS4yLTMxLjIgODEuOSAwIDExMy4xczgxLjkgMzEuMiAxMTMuMSAwbDI4OC0yODh6Il19LER5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1mcm9tLWJyYWNrZXQiLGljb246WzQ0OCw1MTIsW10sImUwOWEiLCJNMjQ2LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIgMTA5LjMgMTkyIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjEwLjcgNzMuNCA3My40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjh6TTY0IDM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDMzNC4zIDAgMzUybDAgNjRjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6Il19LEF5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWNyb3Njb3BlIixpY29uOls1MTIsNTEyLFsxMjgzMDBdLCJmNjEwIiwiTTE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDIwOGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjQgMzIgMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOFMzOTAuNyA0NDggMzIwIDQ0OEwzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2LjkgMGMzMC40LTM0IDQ4LjktNzguOCA0OC45LTEyOCAwLTEwNi04Ni0xOTItMTkyLTE5MmwtMzIgMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDE3NiAwek0xMjAgMzUyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMHoiXX0sRXl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkIixpY29uOls1NzYsNTEyLFs5NzI5XSwiZjBjMiIsIk0wIDMzNmMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NGwzMDQgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOCAwLTUxLjYtMzAuNS05Ni4xLTc0LjUtMTE2LjMgNi43LTEzLjEgMTAuNS0yOCAxMC41LTQzLjcgMC01My00My05Ni05Ni05Ni0xNy43IDAtMzQuMiA0LjgtNDguNCAxMy4xLTI0LjEtNDUuOC03Mi4yLTc3LjEtMTI3LjYtNzcuMS03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDggLjcgMTUuOSAxLjkgMjMuNS01Ni45IDE5LjItOTcuOSA3My4xLTk3LjkgMTM2LjV6Il19LEl5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXNlYmFsbC1iYXQtYmFsbCIsaWNvbjpbNTc2LDUxMixbXSwiZjQzMiIsIk00NjQuMSA1NDRhODAgODAgMCAxIDEgMC0xNjAgODAgODAgMCAxIDEgMCAxNjB6bTguNC01NzZjMTUuMSAwIDI5LjcgNS44IDQwLjcgMTYuMmw0Ny4yIDQ0LjhjMTIuNiAxMiAxOS4xIDI5IDE3LjUgNDYuMy0xLjIgMTMuMy03IDI1LjgtMTYuNSAzNS4yTDM2My4xIDMwOWMtNy4zIDcuMy0xNS43IDEzLjQtMjUgMThMMjA2IDM5M2MtOS4yIDQuNi0xNy43IDEwLjctMjUgMThsLTkyIDkyIDEuNyAxLjhjNy43IDkuNCA3LjEgMjMuMy0xLjcgMzIuMXMtMjIuNyA5LjMtMzIuMSAxLjdsLTEuOC0xLjctNDgtNDgtMS43LTEuOGMtNy43LTkuNC03LjEtMjMuMyAxLjctMzIuMXMyMi43LTkuMyAzMi4xLTEuN2wxLjggMS43IDkyLTkyYzcuMy03LjMgMTMuNC0xNS43IDE4LTI1bDY2LjEtMTMyLjFjNC42LTkuMiAxMC43LTE3LjcgMTgtMjVMNDMwLjgtMTQuN0M0NDEuOS0yNS44IDQ1Ni45LTMyIDQ3Mi41LTMyeiJdfSxvY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLXJlYXIiLGljb246WzUxMiw1MTIsWyJjYXItYWx0Il0sImY1ZGUiLCJNMTY1LjQgOTZsMTgxLjIgMGMxMy42IDAgMjUuNyA4LjYgMzAuMiAyMS40bDI2LjEgNzQuNi0yOTMuOCAwIDI2LjEtNzQuNmM0LjUtMTIuOCAxNi42LTIxLjQgMzAuMi0yMS40em0tOTAuNiAuM0wzOS42IDE5Ni44QzE2LjQgMjA2LjQgMCAyMjkuMyAwIDI1NmwwIDk2YzAgMjMuNyAxMi45IDQ0LjQgMzIgNTUuNEwzMiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDI1NiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQwLjZjMTkuMS0xMS4xIDMyLTMxLjcgMzItNTUuNGwwLTk2YzAtMjYuNy0xNi40LTQ5LjYtMzkuNi01OS4yTDQzNy4yIDk2LjNDNDIzLjcgNTcuOCAzODcuNCAzMiAzNDYuNiAzMkwxNjUuNCAzMmMtNDAuOCAwLTc3LjEgMjUuOC05MC42IDY0LjN6TTIwOCAyODhsOTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTk2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDggMjgwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0zNjAtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sUHl0PW9jZSxsY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGh1bWJ0YWNrLXNsYXNoIixpY29uOls1NzYsNTEyLFsidGh1bWItdGFjay1zbGFzaCJdLCJlNjhmIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDE3LjggMzUyIDQ0OCAzNTJjMTAgMCAxOS41LTQuNyAyNS41LTEyLjdzOC0xOC40IDUuMi0yOC4xTDQ3NSAyOTcuOGMtMTIuNC00My4zLTQxLTc4LjUtNzguMi05OS43TDM4Ni41IDY0IDQxNiA2NGMxNy43IDAgMzItMTQuMyAzMi0zMlM0MzMuNyAwIDQxNiAwTDE2MCAwYy03LjQgMC0xNC4xIDIuNS0xOS41IDYuNkwxOTAuMSA1Ni4zIDE4NS4zIDExOS40IDQxLTI0Ljl6TTI4Mi4yIDM1MkwxNDkuNyAyMTkuNmMtMjIuNyAyMC41LTM5LjggNDcuNC00OC43IDc4LjNsLTMuOCAxMy40Yy0yLjggOS43LS44IDIwIDUuMiAyOC4xUzExOCAzNTIgMTI4IDM1MmwxNTQuMiAwek0yNTYgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMTItNjQgMCAwIDExMnoiXX0sTnl0PWxjZSxGeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1cy1taW51cyIsaWNvbjpbMzg0LDUxMixbXSwiZTQzYyIsIk0yMjQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMjgtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDAgMC0xMjh6TTAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LE95dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1MDkiLCJNNDk2IDU0NGExNDQgMTQ0IDAgMSAxIDAtMjg4IDE0NCAxNDQgMCAxIDEgMCAyODh6TTI2OC42IDYuNWMxMi4yLTkuMyAyOS43LTguNyA0MS4yIDJsMjE3LjYgMjAyYy0xMC4yLTEuNy0yMC43LTIuNi0zMS4zLTIuNi03OC42IDAtMTQ2LjEgNDcuMi0xNzUuOCAxMTQuOC01LjEtMS44LTEwLjUtMi44LTE2LjItMi44bC0zMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2IDkxIDBjNi4xIDE3LjMgMTQuNiAzMy40IDI1LjEgNDhMMTQ0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4IDIuNC0yek01NTMuNCAzMzkuMWMtNy4xLTUuMi0xNy4xLTMuNi0yMi4zIDMuNWwtNTMgNzIuOC0yNi43LTI2LjhjLTYuMi02LjItMTYuNC02LjItMjIuNiAwLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42bDQwIDQwYzMuMyAzLjMgNy45IDUgMTIuNiA0LjdzOC45LTIuOCAxMS43LTYuNmw2NC04OGM1LjItNy4xIDMuNi0xNy4xLTMuNS0yMi4zeiJdfSxSeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXItZGF5IixpY29uOls0NDgsNTEyLFtdLCJmNzgzIiwiTTEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMCAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAweiJdfSxCeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlicmEiLGljb246WzUxMiw1MTIsW10sImU4NGIiLCJNNDgwIDM4NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDQ4IDB6TTI1NiAzMmM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NiAwIDE2LjYtMi40IDMyLjctNi43IDQ4bDU0LjcgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTA0LjIgMGMtMTEuOCAwLTIyLjctNi41LTI4LjItMTYuOXMtNC45LTIzLjEgMS42LTMyLjljMTEuOS0xNy44IDE4LjgtMzkuMSAxOC44LTYyLjIgMC02MS45LTUwLjEtMTEyLTExMi0xMTJTMTQ0IDE0Ni4xIDE0NCAyMDhjMCAyMy4xIDYuOSA0NC40IDE4LjggNjIuMiA2LjYgOS44IDcuMiAyMi41IDEuNiAzMi45UzE0OC4xIDMyMCAxMzYuMiAzMjBMMzIgMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDU0LjggMGMtNC4zLTE1LjMtNi44LTMxLjQtNi44LTQ4IDAtOTcuMiA3OC44LTE3NiAxNzYtMTc2eiJdfSxIeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlIixpY29uOls1MTIsNTEyLFsxMjgzMDgsMTI4MzA5LDEyODk5MiwxMjg5OTMsMTI4OTk0LDEyODk5NSwxMjg5OTYsOTY3OSw5ODk4LDk4OTksMTEwNDQsNjE3MDgsNjE5MTVdLCJmMTExIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LHF5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb2JpbGUtdmlicmF0ZSIsaWNvbjpbNTc2LDUxMixbXSwiZTgxNiIsIk0zODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTkyIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzg0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDM4NCAwek0yNDggNDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6TTQ4LjggMTMzLjRjOS40LTcuNyAyMy4zLTcuMSAzMi4xIDEuNyA5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtMzEgMzEgMjUuNCAyNS40IDIuOSAzLjJjNi4zIDcuNyA5LjggMTcuNCA5LjggMjcuNCAwIDExLjUtNC42IDIyLjUtMTIuNyAzMC42bC0yNS40IDI1LjQgMzEgMzEgMS43IDEuOGM3LjcgOS40IDcuMSAyMy4zLTEuNyAzMi4xcy0yMi43IDkuMy0zMi4xIDEuN0w0NyAzNzcgMTIuNyAzNDIuNkM1LjYgMzM1LjUgMS4yIDMyNi4yIC4yIDMxNi4zTDAgMzEyIC4yIDMwNy43YzEtOS45IDUuNC0xOS4yIDEyLjUtMjYuM0wzOC4xIDI1NiAxMi43IDIzMC42QzUuNiAyMjMuNSAxLjIgMjE0LjIgLjIgMjA0LjNMMCAyMDAgLjIgMTk1LjdjMS05LjkgNS40LTE5LjIgMTIuNS0yNi4zTDQ3IDEzNSA0OC44IDEzMy40ek00OTUgMTM1YzguOC04LjggMjIuNy05LjMgMzIuMS0xLjdsMS44IDEuNyAzNC4zIDM0LjNjNy4xIDcuMSAxMS41IDE2LjQgMTIuNSAyNi4zbC4yIDQuMy0uMiA0LjNjLTEgOS45LTUuNCAxOS4yLTEyLjUgMjYuM2wtMjUuNCAyNS40IDI1LjQgMjUuNGM3LjEgNy4xIDExLjUgMTYuNCAxMi41IDI2LjNsLjIgNC4zLS4yIDQuM2MtMSA5LjktNS40IDE5LjItMTIuNSAyNi4zbC0zNC4zIDM0LjMtMS44IDEuN2MtOS40IDcuNy0yMy4zIDcuMS0zMi4xLTEuN3MtOS4zLTIyLjctMS43LTMyLjFsMS43LTEuOCAzMS0zMS0yNS40LTI1LjRjLTguMS04LjEtMTIuNy0xOS4xLTEyLjctMzAuNiAwLTEwIDMuNS0xOS43IDkuOC0yNy40bDIuOS0zLjIgMjUuNC0yNS40LTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXoiXX0sY2NlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zcXVpbnQiLGljb246WzUxMiw1MTIsWzEyODUxOCwiZ3Jpbi1zcXVpbnQiXSwiZjU4NSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTEyMi42IDE0My4yYzQuNS02LjggMTMuMy05LjIgMjAuNi01LjVsNzkuNiA0MGM1LjQgMi43IDguOCA4LjIgOC44IDE0LjNzLTMuNCAxMS42LTguOCAxNC4zbC03OS42IDQwYy03LjMgMy42LTE2LjEgMS4zLTIwLjYtNS41cy0zLjEtMTUuOSAzLjEtMjEuMUwxNTkgMTkyIDEyNS44IDE2NC4zYy02LjItNS4yLTcuNi0xNC4zLTMuMS0yMS4xem0yNjMuNiAyMS4xTDM1MyAxOTIgMzg2LjIgMjE5LjdjNi4yIDUuMiA3LjYgMTQuMyAzLjEgMjEuMXMtMTMuMyA5LjItMjAuNiA1LjVsLTc5LjYtNDBjLTUuNC0yLjctOC44LTguMi04LjgtMTQuM3MzLjQtMTEuNiA4LjgtMTQuM2w3OS42LTQwYzcuMy0zLjYgMTYuMS0xLjMgMjAuNiA1LjVzMy4xIDE1LjktMy4xIDIxLjF6Il19LGp5dD1jY2UsVnl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLWJldHdlZW4tbGluZXMiLGljb246WzU3Niw1MTIsW10sImU1OTEiLCJNMjQgMTZsNTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNjRDMTAuNyA2NCAwIDUzLjMgMCA0MFMxMC43IDE2IDI0IDE2em0wIDQ0OGw1MjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTM5MiAxOTJhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0yNy4yIDEwMC40YzkuMS0yLjkgMTguOC00LjQgMjguOC00LjQgNTMgMCA5NiA0MyA5NiA5NmwwIDEwLjdjMCAxMS44LTkuNiAyMS4zLTIxLjMgMjEuM2wtNzguOCAwYzIuNy03LjUgNC4xLTE1LjYgNC4xLTI0bDAtOGMwLTM0LjEtMTAuNi02NS43LTI4LjgtOTEuNnptLTI2Mi40IDBDMTM4LjYgMzE4LjMgMTI4IDM0OS45IDEyOCAzODRsMCA4YzAgOC40IDEuNCAxNi41IDQuMSAyNGwtNzguOCAwQzQxLjYgNDE2IDMyIDQwNi40IDMyIDM5NC43TDMyIDM4NGMwLTUzIDQzLTk2IDk2LTk2IDEwIDAgMTkuNyAxLjUgMjguOCA0LjR6TTcyIDE5MmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTE1Mi0xNmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTE3NiAzODRjMC02MS45IDUwLjEtMTEyIDExMi0xMTJzMTEyIDUwLjEgMTEyIDExMmwwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTh6Il19LFV5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1tZWRpY2FsLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTUxMyIsIk0zMDkuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzUwLjggMjcyIDY0IDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5NiAwYy0yMS4yLTI5LjUtMzQuMy02NS4zLTM1LjktMTA0TDI3MiA0MDhjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgMjAgMGMzNC45LTQ4LjUgOTEuNy04MCAxNTYtODAgMTAuNyAwIDIxLjEgLjkgMzEuMyAyLjVMMzA5LjggOC42ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMjIuNi0xNDRsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42TDUxOC42IDQwMHoiXX0sZGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWxpc3QiLGljb246WzQ0OCw1MTIsWyJ0aC1saXN0Il0sImYwMGIiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTY0IDBsMCA2NCA2NCAwIDAtNjQtNjQgMHptMzIwIDBsLTE5MiAwIDAgNjQgMTkyIDAgMC02NHpNNjQgMjI0bDAgNjQgNjQgMCAwLTY0LTY0IDB6bTMyMCAwbC0xOTIgMCAwIDY0IDE5MiAwIDAtNjR6TTY0IDM1MmwwIDY0IDY0IDAgMC02NC02NCAwem0zMjAgMGwtMTkyIDAgMCA2NCAxOTIgMCAwLTY0eiJdfSxXeXQ9ZGNlLEd5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmbGFzay12aWFsIixpY29uOls2NDAsNTEyLFtdLCJlNGYzIiwiTTE4NC42IDQxMS41Yy0zLjEgNy4zLTUuNCAxNC45LTYuOCAyMi42LTE0LjUgOC44LTMxLjUgMTMuOS00OS44IDEzLjktNTMgMC05Ni00My05Ni05NkwzMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyUzE0LjMgMCAzMiAwTDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMjU1LjYtMzkuNCA5MS45ek05NiA2NGwwIDEyOCA2NCAwIDAtMTI4LTY0IDB6TTM1MiAwTDUxMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMTUzLjQgOTEuMyAyMTNjMi4zIDUuNCAzLjggMTEuMSA0LjQgMTdsLjMgLjYtLjMgMGMuMiAxLjggLjMgMy42IC4zIDUuNCAwIDMyLjMtMjYuMiA1OC42LTU4LjYgNTguNmwtMjY2LjkgMGMtMzIuMyAwLTU4LjYtMjYuMi01OC42LTU4LjYgMC0xLjggLjEtMy42IC4zLTUuNGwtLjMgMCAuMy0uNmMuNi01LjggMi4xLTExLjYgNC40LTE3TDMyMCAyMTcuNCAzMjAgNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzMwMi4zIDAgMzIwIDBsMzIgMHpNNDUzLjIgMjQyLjZjLTMuNC04LTUuMi0xNi41LTUuMi0yNS4ybDAtMTUzLjQtNjQgMCAwIDE1My40YzAgOC43LTEuOCAxNy4yLTUuMiAyNS4ybC0zMy4yIDc3LjQgMTQwLjcgMC0zMy4yLTc3LjR6Il19LHVjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzUxMiw1MTIsWyJleGNsYW1hdGlvbi1jaXJjbGUiXSwiZjA2YSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnptMC0xOTJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0wLTE5MmMtMTguMiAwLTMyLjcgMTUuNS0zMS40IDMzLjdsNy40IDEwNGMuOSAxMi42IDExLjQgMjIuMyAyMy45IDIyLjMgMTIuNiAwIDIzLTkuNyAyMy45LTIyLjNsNy40LTEwNGMxLjMtMTguMi0xMy4xLTMzLjctMzEuNC0zMy43eiJdfSxZeXQ9dWNlLHBjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YXhpIixpY29uOls1MTIsNTEyLFsxMjg2NjIsImNhYiJdLCJmMWJhIiwiTTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTguOSAwYy00MiAwLTc5LjEgMjcuMy05MS42IDY3LjRsLTIzIDczLjVDMTQuNSAyMTkuMSAwIDI0My45IDAgMjcyTDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAzMjAgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNzZjMC0yOC4xLTE0LjUtNTIuOS0zNi40LTY3LjFsLTIzLTczLjVDNDQwLjEgOTEuMyA0MDIuOSA2NCAzNjAuOSA2NGwtOC45IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxOTIgMHpNMTUxLjEgMTI4bDIwOS45IDBjMTQgMCAyNi40IDkuMSAzMC41IDIyLjVsMTMgNDEuNS0yOTYuOSAwIDEzLTQxLjVjNC4yLTEzLjQgMTYuNS0yMi41IDMwLjUtMjIuNXpNOTYgMjcyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMjg4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LFp5dD1wY2UsZmNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRleHQtc2xhc2giLGljb246WzU3Niw1MTIsWyJyZW1vdmUtZm9ybWF0Il0sImY4N2QiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUwzMjIuNyAyNTYuOSAzNjguMiA5NiA0NzEgOTYgNDY1IDEyMC4yYy00LjMgMTcuMSA2LjEgMzQuNSAyMy4zIDM4LjhzMzQuNS02LjEgMzguOC0yMy4zbDExLTQ0LjFDNTQ1LjYgNjEuMyA1MjIuNyAzMiA0OTEuNSAzMmwtMzE5IDBjLTE5LjggMC0zNy4zIDEyLjEtNDQuNSAzMC4xbC04Ny04N3pNMTgwLjQgMTE0LjVsNC42LTE4LjUgMTE2LjcgMC0zMC44IDEwOS05MC41LTkwLjV6TTI0MSAzMTAuOEwyMTEuMyA0MTYgMTYwIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDIuMiAwIDE1LjEtNTMuMy01MS45LTUxLjl6Il19LFh5dD1mY2UsUXl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlb3BsZS1wdWxsaW5nIixpY29uOls1NzYsNTEyLFtdLCJlNTM1IiwiTTgwIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMiA5LjggMCAxOC41LTQuNCAyNC40LTExLjJMODAuNCA0ODUuM2MyLjkgMTcuNCAxOS40IDI5LjIgMzYuOCAyNi4zczI5LjItMTkuNCAyNi4zLTM2LjhsLTIwLjUtMTIyLjcgMTUuNyAwIDMwIDEzNC45YzMuOCAxNy4zIDIwLjkgMjguMSAzOC4yIDI0LjNzMjguMS0yMC45IDI0LjMtMzguMmwtNTcuMy0yNTggMTE2LjMgNTMuOGMuNSAuMyAxLjEgLjUgMS42IC43IDguNiAzLjYgMTggMy4xIDI1LjktLjcgMy40LTEuNiA2LjYtMy45IDkuMy02LjcgMy4xLTMuMiA1LjUtNyA3LjEtMTEuNCAuMS0uMyAuMi0uNyAuMy0xbDIuNS03LjVjNS43LTE3LjEgMTguMy0zMC45IDM0LjctMzguMmw4LTMuNWMxLS40IDEuOS0uOCAyLjktMS4ybC0xNi45IDYzLjVjLTUuNiAyMS4xLS4xIDQzLjYgMTQuNyA1OS43bDcwLjcgNzcuMSAyMiA4OC4xYzQuMyAxNy4xIDIxLjcgMjcuNiAzOC44IDIzLjNzMjcuNi0yMS43IDIzLjMtMzguOGwtMjMtOTIuMWMtMS45LTcuOC01LjgtMTQuOS0xMS4yLTIwLjhsLTQ5LjUtNTQgMTkuMy02NS41IDkuNiAyM2M0LjQgMTAuNiAxMi41IDE5LjMgMjIuOCAyNC41bDI2LjcgMTMuM2MxNS44IDcuOSAzNSAxLjUgNDIuOS0xNC4zczEuNS0zNS0xNC4zLTQyLjlsLTIxLjQtMTAuNy0xNS4zLTM2LjhjLTE3LjEtNDEuMS01Ny4zLTY3LjktMTAxLjktNjcuOS0yMi44IDAtNDUuMyA0LjgtNjYuMSAxNGwtOCAzLjVjLTI0LjQgMTAuOS00NC42IDI5LTU4LjEgNTEuNkwxNTcuMyAxMzYuOUMxNDQuNyAxMzEgMTMwLjkgMTI4IDExNyAxMjhsLTUzIDB6TTQ2NCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTM0OS43IDMzNS42bC0yNSA2Mi40LTU5LjQgNTkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwzNzIuMyA0NDFjNC42LTQuNiA4LjItMTAuMSAxMC42LTE2LjFsMTQuNS0zNi4yLTQwLjctNDQuNGMtMi41LTIuNy00LjgtNS42LTctOC42eiJdfSxKeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFja3dhcmQiLGljb246WzU3Niw1MTIsWzkxOTRdLCJmMDRhIiwiTTIwNC4zIDQzLjFDMjE1LjkgMzIgMjMzIDI4LjkgMjQ3LjcgMzUuMlMyNzIgNTYgMjcyIDcybDAgMTM2LjMgMTcyLjMtMTY1LjFDNDU1LjkgMzIgNDczIDI4LjkgNDg3LjcgMzUuMlM1MTIgNTYgNTEyIDcybDAgMzY4YzAgMTYtOS42IDMwLjUtMjQuMyAzNi44cy0zMS44IDMuMi00My40LTcuOUwyNzIgMzAzLjcgMjcyIDQ0MGMwIDE2LTkuNiAzMC41LTI0LjMgMzYuOHMtMzEuOCAzLjItNDMuNC03LjlsLTE5Mi0xODRDNC41IDI3Ny4zIDAgMjY2LjkgMCAyNTZzNC41LTIxLjMgMTIuMy0yOC45bDE5Mi0xODR6Il19LGhjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXItYnVyc3QiLGljb246WzY0MCw1MTIsWyJjYXItY3Jhc2giXSwiZjVlMSIsIk0yMzIgMTYuMWwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNHpNMzIgMTY4LjFsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNHpNMjgxLjUgNzAuNmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGwzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwyODEuNSAzNi42Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXptLTE4MSAyMTVsMzMuOS0zMy45YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNjYuNiAyNTEuNmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwek02Ni42IDIuN2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsMzMuOSAzMy45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUwxMDAuNSAyLjdDOTEuMS02LjcgNzYtNi43IDY2LjYgMi43ek0zNTIuOSAxNzUuNEw1MDUgMjE2LjJjNi40IDEuNyAxMS4xIDcuMyAxMS44IDEzLjlsNy4yIDc0LTIzMS41LTYyIDQzLjItNjAuNWMzLjktNS40IDEwLjctNy45IDE3LjItNi4yek0yMjMuNiAyMjguNWwtMi4xIDIuOWMtMjEuNyA1LjUtMzkuOSAyMi4zLTQ2LjEgNDUuNS00LjEgMTUuNS0xMi40IDQ2LjQtMjQuOCA5Mi43bC04LjMgMzAuOWMtNC42IDE3LjEgNS42IDM0LjYgMjIuNiAzOS4ybDE1LjUgNC4xYzE3LjEgNC42IDM0LjYtNS42IDM5LjItMjIuNmw4LjMtMzAuOSAyNzguMiA3NC41LTguMyAzMC45Yy00LjYgMTcuMSA1LjYgMzQuNiAyMi42IDM5LjJsMTUuNSA0LjFjMTcuMSA0LjYgMzQuNi01LjYgMzkuMi0yMi42IDQuMS0xNS41IDEyLjQtNDYuNCAyNC44LTkyLjdsOC4zLTMwLjljNi4yLTIzLjItMS4xLTQ2LjgtMTcuMi02Mi41bC0uMy0zLjYtMTAtMTAzYy0zLjItMzMuMi0yNi43LTYwLjktNTguOS02OS41TDM2OS41IDExMy42Yy0zMi4yLTguNi02Ni40IDMuNi04NS44IDMwLjhsLTYwLjIgODQuMnptNDguNyA1Ny44YTMyIDMyIDAgMSAxIC0xNi42IDYxLjggMzIgMzIgMCAxIDEgMTYuNi02MS44em0yMDguMSA4OC45YTMyIDMyIDAgMSAxIDYxLjggMTYuNiAzMiAzMiAwIDEgMSAtNjEuOC0xNi42eiJdfSxLeXQ9aGNlLG1jZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaW5rIixpY29uOls1NzYsNTEyLFsxMjgyNzksImNoYWluIl0sImYwYzEiLCJNNDE5LjUgOTZjLTE2LjYgMC0zMi43IDQuNS00Ni44IDEyLjctMTUuOC0xNi0zNC4yLTI5LjQtNTQuNS0zOS41IDI4LjItMjQgNjQuMS0zNy4yIDEwMS4zLTM3LjIgODYuNCAwIDE1Ni41IDcwIDE1Ni41IDE1Ni41IDAgNDEuNS0xNi41IDgxLjMtNDUuOCAxMTAuNmwtNzEuMSA3MS4xYy0yOS4zIDI5LjMtNjkuMSA0NS44LTExMC42IDQ1LjgtODYuNCAwLTE1Ni41LTcwLTE1Ni41LTE1Ni41IDAtMS41IDAtMyAuMS00LjUgLjUtMTcuNyAxNS4yLTMxLjYgMzIuOS0zMS4xczMxLjYgMTUuMiAzMS4xIDMyLjljMCAuOSAwIDEuOCAwIDIuNiAwIDUxLjEgNDEuNCA5Mi41IDkyLjUgOTIuNSAyNC41IDAgNDgtOS43IDY1LjQtMjcuMWw3MS4xLTcxLjFjMTcuMy0xNy4zIDI3LjEtNDAuOSAyNy4xLTY1LjQgMC01MS4xLTQxLjQtOTIuNS05Mi41LTkyLjV6TTI3NS4yIDE3My4zYy0xLjktLjgtMy44LTEuOS01LjUtMy4xLTEyLjYtNi41LTI3LTEwLjItNDIuMS0xMC4yLTI0LjUgMC00OCA5LjctNjUuNCAyNy4xTDkxLjEgMjU4LjJjLTE3LjMgMTcuMy0yNy4xIDQwLjktMjcuMSA2NS40IDAgNTEuMSA0MS40IDkyLjUgOTIuNSA5Mi41IDE2LjUgMCAzMi42LTQuNCA0Ni43LTEyLjYgMTUuOCAxNiAzNC4yIDI5LjQgNTQuNiAzOS41LTI4LjIgMjMuOS02NCAzNy4yLTEwMS4zIDM3LjItODYuNCAwLTE1Ni41LTcwLTE1Ni41LTE1Ni41IDAtNDEuNSAxNi41LTgxLjMgNDUuOC0xMTAuNmw3MS4xLTcxLjFjMjkuMy0yOS4zIDY5LjEtNDUuOCAxMTAuNi00NS44IDg2LjYgMCAxNTYuNSA3MC42IDE1Ni41IDE1Ni45IDAgMS4zIDAgMi42IDAgMy45LS40IDE3LjctMTUuMSAzMS42LTMyLjggMzEuMnMtMzEuNi0xNS4xLTMxLjItMzIuOGMwLS44IDAtMS41IDAtMi4zIDAtMzMuNy0xOC02My4zLTQ0LjgtNzkuNnoiXX0sZXd0PW1jZSxnY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFja3dhcmQtc3RlcCIsaWNvbjpbMzg0LDUxMixbInN0ZXAtYmFja3dhcmQiXSwiZjA0OCIsIk0zNjMgMzYuOGMtMTIuOS03LTI4LjctNi4zLTQxIDEuOEw2NCAyMDguMSA2NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTQ0LjEgMjU4IDE2OS42YzEyLjMgOC4xIDI4IDguOCA0MSAxLjhzMjEtMjAuNSAyMS0zNS4ybDAtMzY4YzAtMTQuNy04LjEtMjguMi0yMS0zNS4yeiJdfSx0d3Q9Z2NlLHJ3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ4IixpY29uOlszODQsNTEyLFsxMjBdLCI1OCIsIk0zNzYuNiA4NC41YzExLjMtMTMuNiA5LjUtMzMuOC00LjEtNDUuMXMtMzMuOC05LjUtNDUuMSA0LjFMMTkyIDIwNiA1Ni42IDQzLjVDNDUuMyAyOS45IDI1LjEgMjguMSAxMS41IDM5LjRTLTMuOSA3MC45IDcuNCA4NC41TDE1MC4zIDI1NiA3LjQgNDI3LjVjLTExLjMgMTMuNi05LjUgMzMuOCA0LjEgNDUuMXMzMy44IDkuNSA0NS4xLTQuMUwxOTIgMzA2IDMyNy40IDQ2OC41YzExLjMgMTMuNiAzMS41IDE1LjQgNDUuMSA0LjFzMTUuNC0zMS41IDQuMS00NS4xTDIzMy43IDI1NiAzNzYuNiA4NC41eiJdfSxiY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXVzZXIiLGljb246WzUxMiw1MTIsWzYyMTQyLCJ1c2VyLWNpcmNsZSJdLCJmMmJkIiwiTTM5OSAzODQuMkMzNzYuOSAzNDUuOCAzMzUuNCAzMjAgMjg4IDMyMGwtNjQgMGMtNDcuNCAwLTg4LjkgMjUuOC0xMTEgNjQuMiAzNS4yIDM5LjIgODYuMiA2My44IDE0MyA2My44czEwNy44LTI0LjcgMTQzLTYzLjh6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI1NiAxNmE3MiA3MiAwIDEgMCAwLTE0NCA3MiA3MiAwIDEgMCAwIDE0NHoiXX0sYXd0PWJjZSx2Y2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVjdGFuZ2xlLWxpc3QiLGljb246WzUxMiw1MTIsWyJsaXN0LWFsdCJdLCJmMDIyIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em05NiAyNTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTMyLTk2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMTIwLTU2bDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMCAxMjhsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxpd3Q9dmNlLHhjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kIixpY29uOls1MTIsNTEyLFsxMjkzMDYsOTk5NSwiaGFuZC1wYXBlciJdLCJmMjU2IiwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIwOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI3MmMwIDEuNSAwIDMuMSAuMSA0LjZMNjcuNiAyODNjLTE2LTE1LjItNDEuMy0xNC42LTU2LjYgMS40Uy0zLjYgMzI1LjcgMTIuNCAzNDFMMTI0LjggNDQ4YzQzLjEgNDEuMSAxMDAuNCA2NCAxNjAgNjRsMTkuMiAwYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2bDAtMjA4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTEyYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMjA4eiJdfSxud3Q9eGNlLHN3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW5jZXIiLGljb246WzUxMiw1MTIsW10sImU4NDciLCJNNDA4IDE1MmM1Ny40IDAgMTA0IDQ2LjYgMTA0IDEwNCAwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2LTU0LjMgMC0xMDQuOC0xNy0xNDYuMy00NS45LTE0LjUtMTAuMS0xOC0zMC4xLTcuOS00NC42czMwLjEtMTggNDQuNi03LjljMzEuMSAyMS43IDY4LjkgMzQuNCAxMDkuNyAzNC40IDY3LjkgMCAxMjcuNS0zNS4zIDE2MS43LTg4LjUtMy4yIC4zLTYuNCAuNS05LjcgLjUtNTcuNCAwLTEwNC00Ni42LTEwNC0xMDRzNDYuNi0xMDQgMTA0LTEwNHpNMjU2IDBjNTQuMyAwIDEwNC44IDE3IDE0Ni4zIDQ1LjkgMTQuNSAxMC4xIDE4IDMwLjEgNy45IDQ0LjZzLTMwLjEgMTgtNDQuNiA3LjljLTMxLjEtMjEuNy02OC45LTM0LjQtMTA5LjctMzQuNC02Ny45IDAtMTI3LjUgMzUuMi0xNjEuNyA4OC40IDMuMi0uMyA2LjQtLjQgOS43LS40IDU3LjQgMCAxMDQgNDYuNiAxMDQgMTA0UzE2MS40IDM2MCAxMDQgMzYwIDAgMzEzLjQgMCAyNTZDMCAyNTQuMSAwIDI1Mi4yIC4xIDI1MC40IDMuMSAxMTEuNiAxMTYuNSAwIDI1NiAwek0xMDQgMjE2YTQwIDQwIDAgMSAwIDAgODAgNDAgNDAgMCAxIDAgMC04MHptMzA0IDBhNDAgNDAgMCAxIDAgMCA4MCA0MCA0MCAwIDEgMCAwLTgweiJdfSx5Y2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmFuLXNodXR0bGUiLGljb246WzU3Niw1MTIsWzEyODY1Niwic2h1dHRsZS12YW4iXSwiZjViNiIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDMzNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwuNCAwYzQgNDQuOSA0MS43IDgwIDg3LjYgODBzODMuNi0zNS4xIDg3LjYtODBsMTA0LjcgMGM0IDQ0LjkgNDEuNyA4MCA4Ny42IDgwIDQ2LjEgMCA4My45LTM1LjQgODcuNy04MC41IDMxLjctMy44IDU2LjMtMzAuOCA1Ni4zLTYzLjVsMC0xMDEuM2MwLTEzLjgtNC41LTI3LjMtMTIuOC0zOC40bC04MC0xMDYuN0M0NzEuMSA3My41IDQ1Mi4xIDY0IDQzMiA2NEw2NCA2NHpNNTA0IDIyNGwtMTIwIDAgMC05NiA0OCAwIDcyIDk2ek02NCAyMjRsMC05NiA5NiAwIDAgOTYtOTYgMHptMTYwIDBsMC05NiA5NiAwIDAgOTYtOTYgMHpNMzkyIDM5MmE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0xNTIgMzUyYTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sb3d0PXljZSxsd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RhaXJzIixpY29uOls1NzYsNTEyLFtdLCJlMjg5IiwiTTM4NCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwIDAtOTZ6Il19LGN3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3JzZS1oZWFkIixpY29uOls1MTIsNTEyLFtdLCJmN2FiIiwiTTAgNDY0TDAgMzE2LjlDMCAyMDguNSA2OC4zIDExMS44IDE3MC41IDc1LjZMMzQwLjIgMTUuNWMyMS40LTcuNiA0My44IDguMyA0My44IDMwLjkgMCAxMS01LjUgMjEuMi0xNC42IDI3LjNMMzM2IDk2YzQ4LjEgMCA5MS4yIDI5LjggMTA4LjEgNzQuOWw0OC42IDEyOS41YzExLjggMzEuNCA0LjEgNjYuOC0xOS42IDkwLjUtMTYgMTYtMzcuOCAyNS4xLTYwLjUgMjUuMWwtMy40IDBjLTI2LjEgMC01MC45LTExLjYtNjcuNi0zMS43bC0zMi4zLTM4LjdjLTExLjcgNC4xLTI0LjIgNi40LTM3LjMgNi40bC0uMSAwYy02LjMgMC0xMi41LS41LTE4LjYtMS41LTMuNi0uNi03LjItMS40LTEwLjctMi4zbDAgMGMtMjguOS03LjgtNTMuMS0yNi44LTY3LjgtNTIuMi00LjQtNy43LTE0LjItMTAuMy0yMS45LTUuOHMtMTAuMyAxNC4yLTUuOCAyMS45YzI0IDQxLjUgNjguMyA3MCAxMTkuMyA3MS45bDQ3LjIgNzAuOGM0IDYuMSA2LjIgMTMuMiA2LjIgMjAuNCAwIDIwLjMtMTYuNSAzNi44LTM2LjggMzYuOEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4ek0zMjggMjI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sZHd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZhdWx0IixpY29uOls1MTIsNTEyLFtdLCJlMmM1IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjQgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwyNTYgMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yNTYgMjU2YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNNjQgMjU2YTEyOCAxMjggMCAxIDEgMjU2IDAgMTI4IDEyOCAwIDEgMSAtMjU2IDB6bTM4NC00OGMwIDE3LjgtOS43IDMzLjMtMjQgNDEuNmwwIDc4LjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC03OC40Yy0xNC4zLTguMy0yNC0yMy44LTI0LTQxLjYgMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHoiXX0sdXd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3NlZC1jYXB0aW9uaW5nLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMTM1IiwiTTctMjQuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwxMjkuOCA2NCA0ODAgNjRjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAyNS41LTE0LjkgNDcuNC0zNi40IDU3LjhMNTY5IDUwMy4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMNyA5LjFDLTIuMy0uMy0yLjMtMTUuNSA3LTI0Ljl6bTM0NSAzMTFsMC03MC4yYzAtNC40IDMuNi04IDgtOGwzMiAwYzQuNCAwIDggMy42IDggOCAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMzAuOS0yNS4xLTU2LTU2LTU2bC0zMiAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDIyLjIgNDggNDh6bTYxLjUgNjEuNWMyMC4yLTguNCAzNC41LTI4LjQgMzQuNS01MS43IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNC40LTMuNiA4LTggOGwtMjIuMiAwIDQzLjcgNDMuN3pNMTMwLjMgMjAwLjFjLTEuNSA1LTIuMyAxMC40LTIuMyAxNS45bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMxOC4xIDAgMzQuMS04LjUgNDQuNC0yMS44TDM3OC4yIDQ0OCA5NiA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMjU2YzAtNy44IDEuNC0xNS4zIDQtMjIuMmw5NC4zIDk0LjN6bTkzLjggOTMuOGMtLjEgLjctLjEgMS40LS4xIDIuMSAwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTUwLjIgNDguMSA0OC4xeiJdfSxwd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJ1bS1zdGVlbHBhbiIsaWNvbjpbNTc2LDUxMixbXSwiZjU2YSIsIk0yODggMzJjMTU5LjEgMCAyODggNDggMjg4IDEyOGwwIDE5MmMwIDgwLTEyOC45IDEyOC0yODggMTI4UzAgNDMyIDAgMzUyTDAgMTYwQzAgODAgMTI4LjkgMzIgMjg4IDMyek01MjggMTYwYzAtOS45LTgtMjkuOS01NS00OS44LTE4LjYtNy45LTQwLjktMTQuNC02Ni0xOS40bC0yNy44IDQzLjZjLTcuMyAxMS41LTExLjIgMjQuOC0xMS4yIDM4LjQgMCAxNy41IDYuNCAzNC40IDE4LjEgNDcuNWw5LjggMTFjMjkuOC01LjIgNTUuOS0xMi41IDc3LjItMjEuNSA0Ny4xLTE5LjkgNTUtMzkuOSA1NS00OS44ek0zNDkuMiAyMzcuM2MtOC0yNi4yLTMyLjQtNDUuMy02MS4yLTQ1LjNzLTUzLjMgMTkuMS02MS4yIDQ1LjNjMTkuNCAxLjcgMzkuOSAyLjcgNjEuMiAyLjdzNDEuOC0uOSA2MS4yLTIuN3pNMTY5IDkwLjhjLTI1LjIgNS00Ny40IDExLjYtNjYgMTkuNC00Ny4xIDE5LjktNTUgMzkuOS01NSA0OS44czggMjkuOSA1NSA0OS44YzIxLjMgOSA0Ny40IDE2LjMgNzcuMiAyMS41bDkuOC0xMWMxMS42LTEzLjEgMTguMS0zMCAxOC4xLTQ3LjUgMC0xMy42LTMuOS0yNi45LTExLjItMzguNEwxNjkgOTAuOHptNTYuMy04Yy0uOSA0LjMtMS40IDguNy0xLjQgMTMuMiAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0YzAtNC41LS41LTktMS40LTEzLjItMTkuOC0xLjgtNDAuOC0yLjgtNjIuNi0yLjhzLTQyLjggMS02Mi42IDIuOHoiXX0sZnd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRodW1icy11cCIsaWNvbjpbNTEyLDUxMixbMTI4MDc3LDYxNTc1XSwiZjE2NCIsIk04MCAxNjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDQ4IDB6TTI3MC42IDE2QzI5Ny45IDE2IDMyMCAzOC4xIDMyMCA2NS40bDAgNC4yYzAgNi44LTEuMyAxMy42LTMuOCAxOS45TDI4OCAxNjAgNDQ4IDE2MGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDE5LjctMTEuOSAzNi42LTI4LjkgNDQgMTcgNy40IDI4LjkgMjQuMyAyOC45IDQ0IDAgMjMuNC0xNi44IDQyLjktMzkgNDcuMSA0LjQgNy4zIDcgMTUuOCA3IDI0LjkgMCAyMi4yLTE1IDQwLjgtMzUuNCA0Ni4zIDIuMiA1LjUgMy40IDExLjUgMy40IDE3LjcgMCAyNi41LTIxLjUgNDgtNDggNDhsLTg3LjkgMGMtMzYuMyAwLTcxLjYtMTIuNC05OS45LTM1LjFMMTg0IDQzNS4yYy0xNS4yLTEyLjEtMjQtMzAuNS0yNC01MGwwLTE4Ni42YzAtMTQuOSAzLjUtMjkuNiAxMC4xLTQyLjlMMjI2LjMgNDMuM0MyMzQuNyAyNi42IDI1MS44IDE2IDI3MC42IDE2eiJdfSxod3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RhbXAiLGljb246WzUxMiw1MTIsW10sImY1YmYiLCJNMzEyIDIwMS44YzAtMTcuNCA5LjItMzMuMiAxOS45LTQ3IDEyLjYtMTYuMiAyMC4xLTM2LjYgMjAuMS01OC44IDAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMjIuMSA3LjUgNDIuNSAyMC4xIDU4LjggMTAuNyAxMy44IDE5LjkgMjkuNiAxOS45IDQ3IDAgMjkuOS0yNC4zIDU0LjItNTQuMiA1NC4yTDExMiAyNTZjLTYxLjkgMC0xMTIgNTAuMS0xMTIgMTEyIDAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4IDAtNjEuOS01MC4xLTExMi0xMTItMTEybC0zMy44IDBjLTI5LjkgMC01NC4yLTI0LjMtNTQuMi01NC4yek01NiA0NjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMNTYgNDY0eiJdfSxtd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWVub3JhaCIsaWNvbjpbNjQwLDUxMixbXSwiZjY3NiIsIk0yMC44IDcuNEMyMi44IDIuOSAyNy4xIDAgMzIgMHM5LjIgMi45IDExLjIgNy40TDYxLjMgNDkuN2MxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFMNjQgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA4MS43IDAgNjRsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xTDIwLjggNy40em05NiAwQzExOC44IDIuOSAxMjMuMSAwIDEyOCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMlM5NiA4MS43IDk2IDY0bDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUwxMTYuOCA3LjR6bTc3LjggNDIuNEwyMTIuOCA3LjRDMjE0LjggMi45IDIxOS4xIDAgMjI0IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMXpNMzA4LjggNy40QzMxMC44IDIuOSAzMTUuMSAwIDMyMCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjFMMzA4LjggNy40em03Ny44IDQyLjRMNDA0LjggNy40QzQwNi44IDIuOSA0MTEuMSAwIDQxNiAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjF6TTUwMC44IDcuNEM1MDIuOCAyLjkgNTA3LjEgMCA1MTIgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xTDUwMC44IDcuNHptNzcuOCA0Mi40TDU5Ni44IDcuNEM1OTguOCAyLjkgNjAzLjEgMCA2MDggMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xek0zMiAxMjhjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTkyIDAgMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE2MCAxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTI4YzAgNTMtNDMgOTYtOTYgOTZsLTE5MiAwIDAgNjQgMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyMCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEyOCAwIDAtNjQtMTkyIDBjLTUzIDAtOTYtNDMtOTYtOTZMMCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjgtNjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOC02NCAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOC02NCAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4LTY0IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LGd3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGlsZHJlbiIsaWNvbjpbNjQwLDUxMixbXSwiZTRlMSIsIk0xNjAuNSAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em0tNzIgNDgwbDAtODAtMTcuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMUw4Ni43IDI4NS41IDU4IDMyMy4zYy0xMC43IDE0LjEtMzAuOCAxNi44LTQ0LjggNi4yUy0zLjcgMjk4LjcgNyAyODQuN0w2NS45IDIwN2MyMi40LTI5LjYgNTcuNS00NyA5NC42LTQ3czcyLjIgMTcuNCA5NC42IDQ3TDMxNCAyODQuN2MxMC43IDE0LjEgNy45IDM0LjItNi4yIDQ0LjhzLTM0LjIgNy45LTQ0LjgtNi4ybC0yOC43LTM3LjggMzEuMSA5My40YzMuNSAxMC40LTQuMyAyMS4xLTE1LjIgMjEuMWwtMTcuOCAwIDAgODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04MC0xNiAwIDAgODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6TTQ4MC41IDBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bS04IDM4NGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTc5LjUtMTIuOSAyMC41Yy05LjQgMTUtMjkuMiAxOS40LTQ0LjEgMTBzLTE5LjQtMjkuMi0xMC00NC4xbDUxLjctODIuMWMxNy42LTI3LjkgNDguMy00NC45IDgxLjItNDQuOWwxMi4zIDBjMzMgMCA2My43IDE2LjkgODEuMiA0NC45TDYxOS42IDI4N2M5LjQgMTUgNC45IDM0LjctMTAgNDQuMXMtMzQuNyA0LjktNDQuMS0xMGwtMTIuOS0yMC41IDAgMTc5LjVjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0xNiAweiJdfSx3Y2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtbGluZSIsaWNvbjpbNTEyLDUxMixbImxpbmUtY2hhcnQiXSwiZjIwMSIsIk02NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NEwwIDQwMGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MDAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4MCA0MTZjLTguOCAwLTE2LTcuMi0xNi0xNkw2NCA2NHptNDA2LjYgODYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwzMjAgMjEwLjcgMjYyLjYgMTUzLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw3My40LTczLjQgNTcuNCA1Ny40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6Il19LGJ3dD13Y2UsTWNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1lbnZlbG9wZSIsaWNvbjpbNDQ4LDUxMixbImVudmVsb3BlLXNxdWFyZSJdLCJmMTk5IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIwOS4xIDI2Ny45TDEwOC40IDIwNy40Yy03LjctNC42LTEyLjQtMTIuOS0xMi40LTIxLjkgMC0xNC4xIDExLjQtMjUuNSAyNS41LTI1LjVsMjA0LjkgMGMxNC4xIDAgMjUuNSAxMS40IDI1LjUgMjUuNSAwIDktNC43IDE3LjMtMTIuNCAyMS45TDIzOC45IDI2Ny45Yy00LjUgMi43LTkuNiA0LjEtMTQuOSA0LjFzLTEwLjQtMS40LTE0LjktNC4xek0zNTIgMjM3LjNsMCA4Mi43YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC04Mi43IDk2LjcgNThDMjAyLjEgMzAxIDIxMyAzMDQgMjI0IDMwNHMyMS45LTMgMzEuMy04LjdsOTYuNy01OHoiXX0sdnd0PU1jZSxrY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFuLXNtb2tpbmciLGljb246WzUxMiw1MTIsWzEyODY4NSwic21va2luZy1iYW4iXSwiZjU0ZCIsIk05OS41IDE0NC44bDc5LjIgNzkuMi01MC43IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTQ2LjcgMCA5Mi41IDkyLjVjLTMxLjQgMjIuNC02OS44IDM1LjUtMTExLjIgMzUuNS0xMDYgMC0xOTItODYtMTkyLTE5MiAwLTQxLjUgMTMuMS03OS45IDM1LjUtMTExLjJ6TTMzMy4zIDI4OGwtMzItMzIgODIuNyAwIDAgMzItNTAuNyAwem0zMiAzMmwxOC43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMkwyNjkuMyAyMjQgMTQ0LjggOTkuNWMzMS40LTIyLjQgNjkuOC0zNS41IDExMS4yLTM1LjUgMTA2IDAgMTkyIDg2IDE5MiAxOTIgMCA0MS41LTEzLjEgNzkuOS0zNS41IDExMS4yTDM2NS4zIDMyMHpNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTI3MiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2IDAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2czcuMiAxNiAxNiAxNiAxNi03LjIgMTYtMTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnMtNy4yLTE2LTE2LTE2eiJdfSx4d3Q9a2NlLHl3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1mcm9udCIsaWNvbjpbNDQ4LDUxMixbXSwiZTJiNyIsIk0wIDExMkMwIDY3LjggMzUuOCAzMiA4MCAzMmwyODggMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDI1NmMwIDI2LjItMTIuNiA0OS40LTMyIDY0bDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzItMTkyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC00OEMxMi42IDQxNy40IDAgMzk0LjIgMCAzNjhMMCAxMTJ6bTk2IDgwbDAgNjQgMjU2IDAgMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0zMiAxNjBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjI0IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sQkE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmciLGljb246WzM4NCw1MTIsWzEyNzk3MCw2MTY4N10sImYxYWQiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMTc2IDM1MmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgODAtOTYgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek05NiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjQwIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTk2IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNDQtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sd3d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1bGxzZXllIixpY29uOls1MTIsNTEyLFtdLCJmMTQwIiwiTTQ0OCAyNTZhMTkyIDE5MiAwIDEgMCAtMzg0IDAgMTkyIDE5MiAwIDEgMCAzODQgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjU2IDgwYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0wLTIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6TTIyNCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sU2NlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWxlZnQtbG9uZyIsaWNvbjpbNTc2LDUxMixbImxvbmctYXJyb3ctbGVmdCJdLCJmMTc3IiwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDI4OCA1NDQgMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00MzQuNyAwIDczLjQtNzMuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOHoiXX0sTXd0PVNjZSxrd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3Mtcm9vayIsaWNvbjpbMzg0LDUxMixbOTgyMF0sImY0NDciLCJNMCAzMkwwIDEzMy41YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zTDY0IDIyNCA2NCAzODQgNy44IDQ1NC4zQzIuNyA0NjAuNiAwIDQ2OC40IDAgNDc2LjUgMCA0OTYuMSAxNS45IDUxMiAzNS41IDUxMmwzMTIuOSAwYzE5LjYgMCAzNS41LTE1LjkgMzUuNS0zNS41IDAtOC4xLTIuNy0xNS45LTcuOC0yMi4ybC01Ni4yLTcwLjMgMC0xNjAgNDUuMy00NS4zYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMMzg0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyMCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTQ4IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxNzYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi00OCAwIDAtMzJDOTYgMTQuMyA4MS43IDAgNjQgMEwzMiAwQzE0LjMgMCAwIDE0LjMgMCAzMnoiXX0sU3d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJsZW5kZXItcGhvbmUiLGljb246WzU3Niw1MTIsW10sImY2YjYiLCJNMTUxLjQgMTMuMmMxMC4yIDUuOCAxNC41IDE4LjQgMTAgMjkuM0wxMzguMiA5OC44Yy0zLjkgOS42LTEzLjcgMTUuNC0yNCAxNC40bC0yMC4yLTJDNzguNyAxNTIuOSA3OCAxOTguOSA5MS45IDI0MS4xbDIyLjQtMi4yYzEwLjMtMSAyMCA0LjggMjQgMTQuNGwyMy4yIDU2LjNjNC41IDEwLjkgLjIgMjMuNC0xMCAyOS4zbC0yLjkgMS42Yy0zMy42IDE5LjItODEuNyAxNi4yLTEwNi4yLTIxLjYtNTYuMy04Ni42LTU2LjMtMTk5LjEgMC0yODUuNyAyNC42LTM3LjcgNzIuNy00MC43IDEwNi4yLTIxLjZsMi45IDEuNnpNMjI0IDMzNkwxOTMuNyAxNy41QzE5Mi44IDguMSAyMDAuMiAwIDIwOS42IDBsMzI0IDBjMjEuMyAwIDM2LjYgMjAuMyAzMC44IDQwLjhMNTUzLjEgODAgNDQwIDgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk5LjQgMC0xOC4zIDY0LTgxLjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2Ny40IDAtMjcuNCA5Ni0yNTYgMHptOCA0OGwyNDAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC0yNDAgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHptMTIwIDg4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0semNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXR1cm4tdXAiLGljb246WzM4NCw1MTIsWyJsZXZlbC11cCJdLCJmMTQ4IiwiTTMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0zMDYuNyA3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDEwOS4zIDE2MCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDB6Il19LHp3dD16Y2UsQ3d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJpY3ljbGUiLGljb246WzY0MCw1MTIsWzEyODY5MF0sImYyMDYiLCJNMzMxLjcgNDMuM0MzMzYgMzYuMyAzNDMuNyAzMiAzNTIgMzJsMTA0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY1LjYgMCA3Mi4yIDE0OC40YzEwLjctMi45IDIxLjktNC40IDMzLjQtNC40IDcwLjcgMCAxMjggNTcuMyAxMjggMTI4cy01Ny4zIDEyOC0xMjggMTI4LTEyOC01Ny4zLTEyOC0xMjhjMC00MiAyMC4yLTc5LjIgNTEuNC0xMDIuNmwtMjAuNC00MS45LTczLjUgMTQ3Yy0yLjMgNC44LTYuMyA4LjgtMTEuNCAxMS4yLS42IC4zLTEuMiAuNS0xLjggLjctMi45IDEuMS01LjkgMS42LTguOSAxLjVMMjcxIDM2OGMtNy45IDYzLjEtNjEuNyAxMTItMTI3IDExMi03MC43IDAtMTI4LTU3LjMtMTI4LTEyOFM3My4zIDIyNCAxNDQgMjI0YzEwLjggMCAyMS4yIDEuMyAzMS4yIDMuOGwyOC41LTU2LjktMTEuNS0yNi45LTQwLjIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw1NiAwYzkuNiAwIDE4LjMgNS43IDIyLjEgMTQuNWwxNC4zIDMzLjUgMTIzLjcgMC0zNy43LTc3LjVjLTMuNi03LjQtMy4yLTE2LjIgMS4yLTIzLjJ6TTIyOC41IDIyOC43bC00NS42IDkxLjMgODQuOCAwLTM5LjEtOTEuM3pNMzA1LjcgMjg3bDQ3LjUtOTUtODguMiAwIDQwLjcgOTV6bTE2OC43IDc1LjVsLTI5LjctNjFjLTEyLjggMTMtMjAuNyAzMC44LTIwLjcgNTAuNSAwIDM5LjggMzIuMiA3MiA3MiA3MnM3Mi0zMi4yIDcyLTcyLTMyLjItNzItNzItNzJjLTIuNyAwLTUuNSAuMi04LjEgLjVsMjkuNyA2MWM1LjggMTEuOSAuOCAyNi4zLTExLjEgMzIuMXMtMjYuMyAuOC0zMi4xLTExLjF6TTE0OS4yIDM2OGMtMjAuMiAwLTMzLjQtMjEuMy0yNC4zLTM5LjRsMjQuMi00OC41Yy0xLjctLjEtMy40LS4yLTUuMS0uMi0zOS44IDAtNzIgMzIuMi03MiA3MnMzMi4yIDcyIDcyIDcyYzM0LjMgMCA2Mi45LTIzLjkgNzAuMi01NmwtNjUgMHoiXX0sQ2NlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1hcnJvdy1kb3duIixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLWRvd24iXSwiZjBhYiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjM5IDM3N2wtODAtODBjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzOSAzOSAwLTE1MC4xYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxNTAuMSAzOS0zOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTgwIDgwYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHoiXX0sVHd0PUNjZSx5Yj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnZWFyIixpY29uOls1MTIsNTEyLFs5ODgxLCJjb2ciXSwiZjAxMyIsIk0xOTUuMSA5LjVDMTk4LjEtNS4zIDIxMS4yLTE2IDIyNi40LTE2bDU5LjggMGMxNS4yIDAgMjguMyAxMC43IDMxLjMgMjUuNUwzMzIgNzkuNWMxNC4xIDYgMjcuMyAxMy43IDM5LjMgMjIuOGw2Ny44LTIyLjVjMTQuNC00LjggMzAuMiAxLjIgMzcuOCAxNC40bDI5LjkgNTEuOGM3LjYgMTMuMiA0LjkgMjkuOC02LjUgMzkuOUw0NDcgMjMzLjNjLjkgNy40IDEuMyAxNSAxLjMgMjIuN3MtLjUgMTUuMy0xLjMgMjIuN2w1My40IDQ3LjVjMTEuNCAxMC4xIDE0IDI2LjggNi41IDM5LjlsLTI5LjkgNTEuOGMtNy42IDEzLjEtMjMuNCAxOS4yLTM3LjggMTQuNGwtNjcuOC0yMi41Yy0xMi4xIDkuMS0yNS4zIDE2LjctMzkuMyAyMi44bC0xNC40IDY5LjljLTMuMSAxNC45LTE2LjIgMjUuNS0zMS4zIDI1LjVsLTU5LjggMGMtMTUuMiAwLTI4LjMtMTAuNy0zMS4zLTI1LjVsLTE0LjQtNjkuOWMtMTQuMS02LTI3LjItMTMuNy0zOS4zLTIyLjhMNzMuNSA0MzIuM2MtMTQuNCA0LjgtMzAuMi0xLjItMzcuOC0xNC40TDUuOCAzNjYuMWMtNy42LTEzLjItNC45LTI5LjggNi41LTM5LjlsNTMuNC00Ny41Yy0uOS03LjQtMS4zLTE1LTEuMy0yMi43cy41LTE1LjMgMS4zLTIyLjdMMTIuMyAxODUuOGMtMTEuNC0xMC4xLTE0LTI2LjgtNi41LTM5LjlMMzUuNyA5NC4xYzcuNi0xMy4yIDIzLjQtMTkuMiAzNy44LTE0LjRsNjcuOCAyMi41YzEyLjEtOS4xIDI1LjMtMTYuNyAzOS4zLTIyLjhMMTk1LjEgOS41ek0yNTYuMyAzMzZhODAgODAgMCAxIDAgLS42LTE2MCA4MCA4MCAwIDEgMCAuNiAxNjB6Il19LF93dD15YixMd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycy1hbmQtdmVudXMtYnVyc3QiLGljb246WzY0MCw1MTIsW10sImU1MjMiLCJNNDY0LTMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDM0LjcgMC02MyA2M2MtMjguNC0xOS41LTYyLjctMzEtOTkuOC0zMS05Ny4yIDAtMTc2IDc4LjgtMTc2IDE3NiAwIDg2LjMgNjIuMSAxNTguMSAxNDQgMTczLjFsMCAzNC45LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzQuOWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMSAwLTM3LTExLjQtNzEuNC0zMS05OS44bDYzLTYzIDAgMzQuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTEyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDQ5Ni02NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTM2OCA5NmExMTIgMTEyIDAgMSAxIDAgMjI0IDExMiAxMTIgMCAxIDEgMC0yMjR6TTE5MC45LTIxLjlDMTg4LjQtMjggMTgyLjYtMzIgMTc2LTMycy0xMi40IDQtMTQuOSAxMC4xbC0yOS40IDc0LTc2LjItMjMuMWMtNi4zLTEuOS0xMy4xIC4yLTE3LjIgNS4zUzMzLjggNDYuNSAzNyA1Mi4ybDM5LjUgNjkuMS02NS42IDQ1LjFjLTUuNCAzLjctOCAxMC4zLTYuNSAxNi43czYuNyAxMS4yIDEzLjEgMTIuMmw3OC43IDEyLjItNS42IDc5LjRjLS41IDYuNSAzLjEgMTIuNyA5IDE1LjVzMTIuOSAxLjggMTcuOC0yLjZMMTUyLjEgMjY4Yy01LjMtMTkuMS04LjEtMzkuMi04LjEtNjAgMC02NS40IDI4LTEyNC4yIDcyLjYtMTY1LjFMMTkwLjktMjEuOXoiXX0sJHd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im90dGVyIixpY29uOls2NDAsNTEyLFsxMjk0NDZdLCJmNzAwIiwiTTE4MS41IDE5Ny4xbDEyLjkgNi40YzUuOSAzIDEyLjQgNC41IDE5LjEgNC41IDIzLjUgMCA0Mi42LTE5LjEgNDIuNi00Mi42bDAtMjEuNGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMS40YzAgMjMuNSAxOS4xIDQyLjYgNDIuNiA0Mi42IDYuNiAwIDEzLjEtMS41IDE5LjEtNC41IDkuMy00LjcgMTYuNC04LjIgMjEuMi0xMC42TDEzNS4xIDE4NWMtNC41LTMtNy4xLTgtNy4xLTEzLjNsMC0zLjdjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDMuN2MwIDUuMy0yLjcgMTAuMy03LjEgMTMuM2wtMTEuOCA3LjkgOC40IDQuMnptLTguNiA0OS40bC0xMi45LTYuNC0xMi45IDYuNGMtMTIuNiA2LjMtMjYuNSA5LjYtNDAuNSA5LjYtMy42IDAtNy4xLS4yLTEwLjYtLjZsMCAuNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDE2MCAwIDAtNjRjMC0yMy43IDEyLjktNDQuNCAzMi01NS40IDkuNC01LjQgMjAuMy04LjYgMzItOC42bDAtMTZjMC0yNi41IDIxLjUtNDggNDgtNDggOC44IDAgMTYgNy4yIDE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk5LjdjMC00OC4yLTMwLjgtOTEtNzYuNi0xMDYuM2wtOC41LTIuOGMtOC0yLjctMTIuNi0xMS4xLTEwLjQtMTkuM3MxMC4zLTEzLjIgMTguNi0xMS42bDE5LjkgNEM1NzYgODYuMSA2NDAgMTY0LjIgNjQwIDI1NC45bDAgMS4xIDAgMGMwIDEyMy43LTEwMC4zIDIyNC0yMjQgMjI0bC0xNjAuNiAwQzEzMiA0ODAgMzIgMzgwIDMyIDI1Ni42bDAtMzkuOGMtMTAuMS0xNC42LTE2LTMyLjMtMTYtNTEuNGwwLTIxLjQgMC0xLjRDNi43IDEzOS4zIDAgMTMwLjUgMCAxMjAgMCAxMDYuNyAxMC43IDk2IDI0IDk2bDIuOCAwQzQ0LjggNTguMiA4My4zIDMyIDEyOCAzMmw2NCAwYzQ0LjcgMCA4My4yIDI2LjIgMTAxLjIgNjRsMi44IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjQgMCAxMC41LTYuNyAxOS4zLTE2IDIyLjZsMCAxLjQgMCAyMS40YzAgMS40IDAgMi44LS4xIDQuMyAxMi02LjIgMjUuNy05LjYgNDAuMS05LjZsOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgOCA1Ni40IDBjLTE1LjIgMTctMjQuNCAzOS40LTI0LjQgNjRsLTMyIDBjLTQyLjMgMC03OC4yLTI3LjQtOTEtNjUuMy01LjEgLjktMTAuMyAxLjMtMTUuNiAxLjMtMTQuMSAwLTI3LjktMy4zLTQwLjUtOS42ek05NiAxMjhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem0xMTIgMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHoiXX0sVGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGV2cm9uLWxlZnQiLGljb246WzUxMiw1MTIsWyJjaGV2cm9uLWNpcmNsZS1sZWZ0Il0sImYxMzciLCJNNTEyIDI1NmEyNTYgMjU2IDAgMSAwIC01MTIgMCAyNTYgMjU2IDAgMSAwIDUxMiAwek0yNzEgMTM1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtODcgODcgODcgODdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEwxNjcgMjczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOUwyNzEgMTM1eiJdfSxEd3Q9VGNlLF9jZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcXVlc3Rpb24iLGljb246WzUxMiw1MTIsWzYyMTA4LCJxdWVzdGlvbi1jaXJjbGUiXSwiZjA1OSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptMC0zMzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCA0Ny4yLTM2IDY3LjItNTYgNzQuNWwwIDMuOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTguMWMwLTIwLjUgMTQuOC0zNS4yIDMwLjEtNDAuMiA2LjQtMi4xIDEzLjItNS41IDE4LjItMTAuMyA0LjMtNC4yIDcuNy0xMCA3LjctMTkuNiAwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjI0IDM2OGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxBd3Q9X2NlLEV3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YWxraWUtdGFsa2llIixpY29uOlszODQsNTEyLFtdLCJmOGVmIiwiTTg4LTMyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNzIgNDggMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDMyIDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYwLjljMCA5LjktMi4zIDE5LjctNi44IDI4LjZsLTIwLjIgNDAuNGMtMy4zIDYuNy01LjEgMTQtNS4xIDIxLjVsMCA4NC43YzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC04NC43YzAtNy41LTEuNy0xNC44LTUuMS0yMS41TDYuOCAzMDEuNUMyLjMgMjkyLjYgMCAyODIuOCAwIDI3Mi45TDAgMTEyQzAgODUuNSAyMS41IDY0IDQ4IDY0bDE2IDAgMC03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMzIgMTc2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LExjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWdyb3VwIixpY29uOls1NzYsNTEyLFsxMjgxMDEsInVzZXItZnJpZW5kcyJdLCJmNTAwIiwiTTY0IDEyOGExMTIgMTEyIDAgMSAxIDIyNCAwIDExMiAxMTIgMCAxIDEgLTIyNCAwek0wIDQ2NGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NnMxNzYgNzguOCAxNzYgMTc2bDAgNmMwIDIzLjItMTguOCA0Mi00MiA0Mkw0MiA1MTJjLTIzLjIgMC00Mi0xOC44LTQyLTQybDAtNnpNNDMyIDY0YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyem0wIDI0MGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGwwIDIyLjRjMCAyMy0xOC42IDQxLjYtNDEuNiA0MS42bC0xNDQuOCAwYzYuNi0xMi41IDEwLjQtMjYuOCAxMC40LTQybDAtNmMwLTUxLjUtMTcuNC05OC45LTQ2LjUtMTM2LjcgMjIuNi0xNC43IDQ5LjYtMjMuMyA3OC41LTIzLjN6Il19LEl3dD1MY2UsJGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXkiLGljb246WzUxMiw1MTIsWzYzNDk5LCJob21lLWxnIl0sImUzYWYiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6TTI0MCAzMjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgMTI4IDAgMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtMzIgMHoiXX0sUHd0PSRjZSxEY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmlnaHQtZnJvbS1icmFja2V0IixpY29uOls1MTIsNTEyLFsic2lnbi1vdXQtYWx0Il0sImYyZjUiLCJNNTA1IDI3M2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOUwzNjEgOTVjLTYuOS02LjktMTcuMi04LjktMjYuMi01LjJTMzIwIDEwMi4zIDMyMCAxMTJsMCA4MC0xMTIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMTIgMCAwIDgwYzAgOS43IDUuOCAxOC41IDE0LjggMjIuMnMxOS4zIDEuNyAyNi4yLTUuMkw1MDUgMjczek0xNjAgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMOTYgMzJDNDMgMzIgMCA3NSAwIDEyOEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDB6Il19LE53dD1EY2UsRnd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUiLGljb246WzM4NCw1MTIsWzEyODE5NiwxMjg0NTksNjE0NjJdLCJmMTViIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjc3LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjU4LjcgMTguN0MyNDYuNyA2LjcgMjMwLjUgMCAyMTMuNSAwTDY0IDB6TTMyNS41IDE3NkwyMzIgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyMDggNTguNSAzMjUuNSAxNzZ6Il19LE93dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFuZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTA2OSIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xODMuNC0xODMuNCA3LjEtNy43IDEyNy4zIDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZzLTI1LjEtNTYtNTYtNTZMMzkyLjcgMjAwIDIzMy41IDI2LjRDMjI3LjUgMTkuOCAyMTguOSAxNiAyMDkuOSAxNmwtNDMuNyAwYy0xMC45IDAtMTguNiAxMC43LTE1LjIgMjEuMUwxNzUuMSAxMDkuMiA0MS0yNC45ek0xMzAuMiAyMDBsLTI0LjYgMC01Mi44LTY2Yy0zLTMuOC03LjYtNi0xMi41LTZsLTE5LjggMGMtMTAuNCAwLTE4IDkuOC0xNS41IDE5LjlMMzIgMjU2IDUgMzY0LjFDMi40IDM3NC4yIDEwLjEgMzg0IDIwLjUgMzg0bDE5LjggMGM0LjkgMCA5LjUtMi4yIDEyLjUtNmw1Mi44LTY2IDk5LjcgMC01NC4zIDE2Mi45Yy0zLjUgMTAuNCA0LjMgMjEuMSAxNS4yIDIxLjFsNDMuNyAwYzkgMCAxNy41LTMuOCAyMy42LTEwLjRMMzIwLjcgMzkwLjUgMTMwLjIgMjAweiJdfSxSd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtc2hvd2Vycy1oZWF2eSIsaWNvbjpbNTEyLDUxMixbXSwiZjc0MCIsIk05NiAzMjBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Mi41IDI3LjYtNzguNiA2NS45LTkxLjItMS4zLTYuNy0xLjktMTMuNy0xLjktMjAuOCAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMiA0My4xIDAgODAuNSAyNC4zIDk5LjIgNjAgMTQuNy0xNy4xIDM2LjUtMjggNjAuOC0yOCA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDUuNS0uNiAxMC44LTEuNiAxNiAuNSAwIDEuMSAwIDEuNiAwIDUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2TDk2IDMyMHptNi44IDc5LjZsLTMyIDk2QzY2LjYgNTA4LjIgNTMgNTE1IDQwLjQgNTEwLjhTMjEgNDkzIDI1LjIgNDgwLjRsMzItOTZDNjEuNCAzNzEuOCA3NSAzNjUgODcuNiAzNjkuMlMxMDcgMzg3IDEwMi44IDM5OS42em0xMjAgMGwtMzIgOTZjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJTMTQxIDQ5MyAxNDUuMiA0ODAuNGwzMi05NmM0LjItMTIuNiAxNy44LTE5LjQgMzAuNC0xNS4yUzIyNyAzODcgMjIyLjggMzk5LjZ6bTExMiAwbC0zMiA5NmMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMlMyNTMgNDkzIDI1Ny4yIDQ4MC40bDMyLTk2YzQuMi0xMi42IDE3LjgtMTkuNCAzMC40LTE1LjJTMzM5IDM4NyAzMzQuOCAzOTkuNnptMTIwIDBsLTMyIDk2Yy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4yUzM3MyA0OTMgMzc3LjIgNDgwLjRsMzItOTZjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjQtMTUuMlM0NTkgMzg3IDQ1NC44IDM5OS42eiJdfSxCd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWZhbGxpbmciLGljb246WzUxMiw1MTIsW10sImU1NDYiLCJNMzIwIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNS40YzAgNDUtMjMuNiA4Ni42LTYyLjEgMTA5LjhsLTQuNiAyLjhDMTMxLjQgMTg0LjcgOTYgMjQ3LjEgOTYgMzE0LjZMOTYgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02OS40YzAtMTYuNyAzLjMtMzMgOS40LTQ4TDM1OS4yIDUwMC4yYzExLjEgMTMuNyAzMS4zIDE1LjggNDUgNC43czE1LjgtMzEuMyA0LjctNDVMMjk1LjIgMzIwIDQwMCAzMjAgNDM4LjQgMzcxLjJjMTAuNiAxNC4xIDMwLjcgMTcgNDQuOCA2LjRzMTctMzAuNyA2LjQtNDQuOGwtNDMuMi01Ny42QzQzNy4zIDI2My4xIDQyMy4xIDI1NiA0MDggMjU2bC04OSAwLTYyLjktNzUuNWM0MC4zLTM2IDYzLjktODcuOSA2My45LTE0My4xbDAtNS40ek0xMDQgMTQ0YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyeiJdfSxBY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHVybi1kb3duIixpY29uOlszODQsNTEyLFsxMDU0OSwibGV2ZWwtZG93bi1hbHQiXSwiZjNiZSIsIk0xNjkuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzMzMi45IDMyMCAzMjAgMzIwbC02NCAwIDAtMTYwQzI1NiA3MS42IDE4NC40IDAgOTYgMEwzMiAwQzE0LjMgMCAwIDE0LjMgMCAzMkwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjAtNjQgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlsMTI4IDEyOHoiXX0sSHd0PUFjZSxFY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlciIsaWNvbjpbNTEyLDUxMixbImV4cGFuZC1hbHQiXSwiZjQyNCIsIk0zNDQgMEw0ODggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE0NGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC0zOS0zOS04NyA4N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTMyLTMyYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4Ny04Ny0zOS0zOWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlMzMzQuMyAwIDM0NCAwek0xNjggNTEyTDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMCAzNDRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yUzM0LjEgMzIwLjIgNDEgMzI3bDM5IDM5IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMyIDMyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04NyA4NyAzOSAzOWM2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4yUzE3Ny43IDUxMiAxNjggNTEyeiJdfSxxd3Q9RWNlLGp3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXRhZyIsaWNvbjpbNjQwLDUxMixbXSwiZjUwNyIsIk0yNTYuMSA4YTEyMCAxMjAgMCAxIDEgMCAyNDAgMTIwIDEyMCAwIDEgMSAwLTI0MHpNMjI2LjQgMzA0bDU5LjQgMGM2LjcgMCAxMy4yIC40IDE5LjcgMS4xLS45IDQuOS0xLjQgOS45LTEuNCAxNWwwIDkyLjFjMCAyNS41IDEwLjEgNDkuOSAyOC4xIDY3LjlsMzEuOSAzMS45LTI4Ni4zIDBjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtOTguNSA3OS44LTE3OC4zIDE3OC4zLTE3OC4zek0zNTIuMSA0MTIuMmwwLTkyLjFjMC0xNy43IDE0LjMtMzIgMzItMzJsOTIuMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFsOTYgOTZjMTguNyAxOC43IDE4LjcgNDkuMSAwIDY3LjlsLTc2LjEgNzYuMWMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBsLTk2LTk2Yy05LTktMTQuMS0yMS4yLTE0LjEtMzMuOXptMTA0LTQ0LjJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sVnd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtc3BhcmtsZXMiLGljb246WzY0MCw1MTIsW10sImUwNWQiLCJNMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTE3NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0xMTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE3OC4yYy0xOS4yIDUuNC0zNC43IDIwLjQtNDAuNCA0MC4zbC02LjUgMjIuNy0yMi43IDYuNWMtMjUuMiA3LjItNDIuNSAzMC4yLTQyLjUgNTYuNCAwIDIyLjEgMTIuNCA0MiAzMS40IDUxLjktMjcuNSAxNy44LTYwLjIgMjguMS05NS40IDI4LjFsLTE5LjIgMGMtNTkuNiAwLTExNi45LTIyLjktMTYwLTY0TDc2LjQgMzQxYy0xNi0xNS4yLTE2LjYtNDAuNi0xLjQtNTYuNnM0MC42LTE2LjYgNTYuNi0xLjRsNjAuNSA1Ny42YzAtMS41LS4xLTMuMS0uMS00LjZsMC0yNzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE3NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMjA4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tNy4zIDMyNi42Yy0xLjEtMy45LTQuNy02LjYtOC43LTYuNnMtNy42IDIuNy04LjcgNi42bC03LjMgMjUuNC0yNS40IDcuM2MtMy45IDEuMS02LjYgNC43LTYuNiA4LjdzMi43IDcuNiA2LjYgOC43bDI1LjQgNy4zIDcuMyAyNS40YzEuMSAzLjkgNC43IDYuNiA4LjcgNi42czcuNi0yLjcgOC43LTYuNmw3LjMtMjUuNCAyNS40LTcuM2MzLjktMS4xIDYuNi00LjcgNi42LTguN3MtMi43LTcuNi02LjYtOC43bC0yNS40LTcuMy03LjMtMjUuNHpNMTA0IDEyMGw0OC4zIDEzLjhjNC42IDEuMyA3LjcgNS41IDcuNyAxMC4ycy0zLjEgOC45LTcuNyAxMC4yTDEwNCAxNjggOTAuMiAyMTYuM2MtMS4zIDQuNi01LjUgNy43LTEwLjIgNy43cy04LjktMy4xLTEwLjItNy43TDU2IDE2OCA3LjcgMTU0LjJDMy4xIDE1Mi45IDAgMTQ4LjcgMCAxNDRzMy4xLTguOSA3LjctMTAuMkw1NiAxMjAgNjkuOCA3MS43QzcxLjEgNjcuMSA3NS4zIDY0IDgwIDY0czguOSAzLjEgMTAuMiA3LjdMMTA0IDEyMHpNNTg0IDQwOGw0OC4zIDEzLjhjNC42IDEuMyA3LjcgNS41IDcuNyAxMC4ycy0zLjEgOC45LTcuNyAxMC4yTDU4NCA0NTYgNTcwLjIgNTA0LjNjLTEuMyA0LjYtNS41IDcuNy0xMC4yIDcuN3MtOC45LTMuMS0xMC4yLTcuN0w1MzYgNDU2IDQ4Ny43IDQ0Mi4yYy00LjYtMS4zLTcuNy01LjUtNy43LTEwLjJzMy4xLTguOSA3LjctMTAuMkw1MzYgNDA4IDU0OS44IDM1OS43YzEuMy00LjYgNS41LTcuNyAxMC4yLTcuN3M4LjkgMy4xIDEwLjIgNy43TDU4NCA0MDh6Il19LFV3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdG8tZG90IixpY29uOls1MTIsNTEyLFtdLCJlNGJlIiwiTTI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45bC02NCA2NGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTY0LTY0Yy05LjItOS4yLTExLjktMjIuOS02LjktMzQuOVMxNzkuMSA2NCAxOTIgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xNjkuNCAzOTMuNGw2NC02NGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw2NCA2NGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOVMzMzIuOSA0NDggMzIwIDQ0OGwtMzIgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMzIgMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0Ljl6TTMyIDIyNGwzMiAwIDAtMzJjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWw2NCA2NGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtNjQgNjRjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzY0IDMzMi45IDY0IDMyMGwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTI5Ny40IDU0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDY0LTY0YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45UzQ0OCAxNzkuMSA0NDggMTkybDAgMzIgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDMyYzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45bC02NC02NHpNMjU2IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEljZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXNhZC1jcnkiLGljb246WzUxMiw1MTIsWzEyODU1Nywic2FkLWNyeSJdLCJmNWIzIiwiTTM1MiA0OTMuNGMtMjkuNiAxMi02Mi4xIDE4LjYtOTYgMTguNnMtNjYuNC02LjYtOTYtMTguNkwxNjAgMjk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTcxLjdDNDQuNCA0MjEuNiAwIDM0NCAwIDI1NiAwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCA4OC00NC40IDE2NS42LTExMiAyMTEuN0w0MDAgMjk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTk3LjR6TTE1MiAxOTZsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMCA5LTIwIDIwLTIwem0xNzIgMjBjMC0xMSA5LTIwIDIwLTIwbDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjB6TTIwOCAzMzZsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6Il19LFd3dD1JY2UsR3d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvbmctc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTE2OSIsIk0yODgtMTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTA0IDAgMCA3Mi4yYy0yMi45LTE1LjMtNTAuNC0yNC4yLTgwLTI0LjItNzkuNSAwLTE0NCA2NC41LTE0NCAxNDRTOTYuNSA0MzIgMTc2IDQzMmMzMCAwIDU3LjgtOS4xIDgwLjgtMjQuOCAzLjMgMTQuMiAxNiAyNC44IDMxLjIgMjQuOCAxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMwNCA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00MCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTk2IDI4OGE4MCA4MCAwIDEgMSAxNjAgMCA4MCA4MCAwIDEgMSAtMTYwIDB6TTI0IDQ2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwyNCA0NjR6Il19LFl3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTUzNCIsIk0yODggMGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptOTYgMzEyYzAgMjUtMTIuNyA0Ny0zMiA1OS45bDAgNDQuMS0xMjggMCAwLTQ0LjFDMjA0LjcgMzU5IDE5MiAzMzcgMTkyIDMxMmwwLTQwYzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCA0MHptMTYgMTA0bDAtMjcuM2MxOS45LTIyLjUgMzItNTIuMiAzMi04NC43bDAtMzJjMC0yNi43LTcuMy01MS42LTE5LjktNzMuMSAxMS4xLTQuNSAyMy4yLTYuOSAzNS45LTYuOSA1MyAwIDk2IDQzIDk2IDk2bDAgMzJjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgNDAuNi0xMTIgMHpNNjQgMzc1LjRDNDQuOSAzNjQuNCAzMiAzNDMuNyAzMiAzMjBsMC0zMmMwLTUzIDQzLTk2IDk2LTk2IDEyLjcgMCAyNC44IDIuNSAzNS45IDYuOS0xMi42IDIxLjQtMTkuOSA0Ni40LTE5LjkgNzMuMWwwIDMyYzAgMzIuNSAxMi4xIDYyLjEgMzIgODQuN2wwIDI3LjMtMTEyIDAgMC00MC42ek0xMjggMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6bTMyMCAwYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0yNCA0NjRsNTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxQY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXJzcyIsaWNvbjpbNDQ4LDUxMixbInJzcy1zcXVhcmUiXSwiZjE0MyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek05NiAxMzZjMC0xMy4zIDEwLjctMjQgMjQtMjQgMTM3IDAgMjQ4IDExMSAyNDggMjQ4IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTEwLjUtODkuNS0yMDAtMjAwLTIwMC0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNCA4My45IDAgMTUyIDY4LjEgMTUyIDE1MiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTU3LjQtNDYuNi0xMDQtMTA0LTEwNC0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMCAxMjBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sWnd0PVBjZSxYd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXItbWludXMiLGljb246WzQ0OCw1MTIsW10sImYyNzIiLCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0yNCAyNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxRd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtZGlhZ3JhbSIsaWNvbjpbNTEyLDUxMixbXSwiZTY5NSIsIk04MCAzMkM1My41IDMyIDMyIDUzLjUgMzIgODBzMjEuNSA0OCA0OCA0OGwxNTIgMCAwIDQwLTQ4IDQ4LTcyIDBjLTM5LjggMC03MiAzMi4yLTcyIDcybDAgNjQtOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNzIgMCA0OCA0OCAwIDQwLTggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTggMCAwLTQwIDQ4LTQ4IDcyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA2NC04IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC04IDAgMC02NGMwLTM5LjgtMzIuMi03Mi03Mi03MmwtNzIgMC00OC00OCAwLTQwIDE1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4TDgwIDMyeiJdfSxOY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS10aXJlZCIsaWNvbjpbNTEyLDUxMixbMTI4NTU1LCJ0aXJlZCJdLCJmNWM4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjQuNyAzMjguN2MyMi0yMiA1My45LTQwLjcgOTEuMy00MC43czY5LjMgMTguNyA5MS4zIDQwLjdjMTEuMSAxMS4xIDIwLjEgMjMuNCAyNi40IDM1LjQgNi4yIDExLjcgMTAuMyAyNC40IDEwLjMgMzUuOSAwIDUuMi0yLjYgMTAuMi02LjkgMTMuMnMtOS44IDMuNy0xNC43IDEuOGwtMjAuNS03LjdjLTI2LjktMTAuMS01NS41LTE1LjMtODQuMy0xNS4zbC0zLjIgMGMtMjguOCAwLTU3LjMgNS4yLTg0LjMgMTUuM0wxNDkuNiA0MTVjLTQuOSAxLjgtMTAuNCAxLjItMTQuNy0xLjhTMTI4IDQwNS4yIDEyOCA0MDBjMC0xMS42IDQuMi0yNC4yIDEwLjMtMzUuOSA2LjMtMTIgMTUuMy0yNC4zIDI2LjQtMzUuNHpNMTIyLjYgMTU5LjJjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sSnd0PU5jZSxLd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wb2ludC1yaWdodCIsaWNvbjpbNTEyLDUxMixbXSwiZjBhNCIsIk00ODAgOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTIwOCAwIDAtNjQgMjA4IDB6TTMyMCAyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMHptNjQtNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMjg4IDM4NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwem0tODgtOTZsLjYgMGMtNS40IDkuNC04LjYgMjAuMy04LjYgMzIgMCAxMy4yIDQgMjUuNCAxMC44IDM1LjYtMjQuOSA4LjctNDIuOCAzMi41LTQyLjggNjAuNCAwIDExLjcgMy4xIDIyLjYgOC42IDMybC04LjYgMEM3MS42IDQ0OCAwIDM3Ni40IDAgMjg4bDAtNjEuN2MwLTQyLjQgMTYuOS04My4xIDQ2LjktMTEzLjFsMTEuNi0xMS42QzgyLjUgNzcuNSAxMTUuMSA2NCAxNDkgNjRsMjcgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDg4YzAgMjIuMS0xNy45IDQwLTQwIDQwcy00MC0xNy45LTQwLTQwbDAtNTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA1NmMwIDM5LjggMzIuMiA3MiA3MiA3MnoiXX0sZU10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwIixpY29uOlszODQsNTEyLFs4NTkzXSwiZjA2MiIsIk0yMTQuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE2MCAxMDkuMyAxNjAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNzAuNyAxMDUuNCAxMDUuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xNjAtMTYweiJdfSx0TXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3ViZXMtc3RhY2tlZCIsaWNvbjpbNTEyLDUxMixbXSwiZTRlNiIsIk0xOTIgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0em0zMiAzNTJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xOTIgMGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTMyMCAxOTJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tMTgyLjYtMy45YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDQ1LjMgNDUuM2MxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtNDUuMyA0NS4zYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMEw5Mi4xIDI3OC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w0NS4zLTQ1LjN6TTMyIDM4NGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LEZjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGlsZC1jb21iYXRhbnQiLGljb246WzU3Niw1MTIsWyJjaGlsZC1yaWZsZSJdLCJlNGUwIiwiTTE3Ni41IDEyOGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHptLTE2IDM1MmwwLTk2IDMyIDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTkyLjIgMjAuOSAzMy4yYzkuNCAxNSAyOS4yIDE5LjQgNDQuMSAxMHMxOS40LTI5LjIgMTAtNDQuMWwtMzkuOS02My4zQzI2Ni44IDE4NCAyMjMuMyAxNjAgMTc2LjUgMTYwUzg2LjIgMTg0IDYxLjMgMjIzLjZMMjEuNCAyODdjLTkuNCAxNS00LjkgMzQuNyAxMCA0NC4xczM0LjcgNC45IDQ0LjEtMTBsMjAuOS0zMy4yIDAgMTkyLjJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpNNDQ4LjUgMGwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwwIDEwMC4zYy05LjYgNS41LTE2IDE1LjktMTYgMjcuN2wwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE0NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwIDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2bDU5LjUgMGMxMC40IDAgMTgtOS44IDE1LjUtMTkuOWwtMjMtOTIuMSA0NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtNDggMCAwLTI2LjcgNTMuMS0xNy43YzYuNS0yLjIgMTAuOS04LjMgMTAuOS0xNS4ybDAtODQuNWMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDU2LTE2IDUuMyAwLTEwOS4zYzAtMTEuOC02LjQtMjIuMi0xNi0yNy43bDAtMTE2LjNjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxyTXQ9RmNlLGFNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2ZXN0LXBhdGNoZXMiLGljb246WzQ0OCw1MTIsW10sImUwODYiLCJNMjAwIDI5My45TDIwMCA0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDI3MC41YzAtOS41IDIuOC0xOC43IDguMS0yNi42bDQ3LjktNzEuOGM1LjMtNy45IDguMS0xNy4xIDguMS0yNi42TDY0IDQ4QzY0IDIxLjUgODUuNSAwIDExMiAwbDMuNSAwYy4zIDAgLjYgMCAxIDAgLjYgMCAxLjIgMCAxLjggMCAxOC44IDAgMzQuMSA5LjcgNDQuMSAxOC44IDkuMyA4LjQgMjguNSAyMS4yIDYxLjcgMjEuMnM1Mi40LTEyLjggNjEuNy0yMS4yYzEwLTkuMSAyNS4zLTE4LjggNDQuMS0xOC44IC42IDAgMS4yIDAgMS44IDAgLjMgMCAuNiAwIDEgMEwzMzYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk3LjVjMCA5LjUgMi44IDE4LjcgOC4xIDI2LjZsNDcuOSA3MS44YzUuMyA3LjkgOC4xIDE3LjEgOC4xIDI2LjZMNDQ4IDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTA0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTcwLjFjMC0zLjkgLjUtNy44IDEuNC0xMS42TDMwMy42IDY1LjRDMjg1LjkgNzcuMiAyNTkuOCA4OCAyMjQgODhzLTYxLjktMTAuOC03OS42LTIyLjZsNTQuMiAyMTYuOGMxIDMuOCAxLjQgNy43IDEuNCAxMS42ek05NiA0NTZhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek02My41IDI1NS41Yy00LjcgNC43LTQuNyAxMi4zIDAgMTdMNzkgMjg4IDYzLjUgMzAzLjVjLTQuNyA0LjctNC43IDEyLjMgMCAxN3MxMi4zIDQuNyAxNyAwTDk2IDMwNSAxMTEuNSAzMjAuNWM0LjcgNC43IDEyLjMgNC43IDE3IDBzNC43LTEyLjMgMC0xN0wxMTMgMjg4IDEyOC41IDI3Mi41YzQuNy00LjcgNC43LTEyLjMgMC0xN3MtMTIuMy00LjctMTcgMEw5NiAyNzEgODAuNSAyNTUuNWMtNC43LTQuNy0xMi4zLTQuNy0xNyAwek0zMDQgMjgwbDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2bDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTggMCAwLThjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6Il19LE9jZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJ0aW5pLWdsYXNzLWVtcHR5IixpY29uOls1MTIsNTEyLFsiZ2xhc3MtbWFydGluaSJdLCJmMDAwIiwiTTMyIDMyQzE5LjEgMzIgNy40IDM5LjggMi40IDUxLjhTLjIgNzcuNSA5LjQgODYuNmwyMTQuNiAyMTQuNiAwIDE0Ni43LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC0xNDYuNyAyMTQuNi0yMTQuNmM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSAzMiA0ODAgMzJMMzIgMzJ6TTI1NiAyNDIuN0wxMDkuMyA5NiA0MDIuNyA5NiAyNTYgMjQyLjd6Il19LGlNdD1PY2Usbk10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25ldCIsaWNvbjpbNDQ4LDUxMixbMTI5NTIyXSwiZjA3NiIsIk0wIDE3NkwwIDI4OEMwIDQxMS43IDEwMC4zIDUxMiAyMjQgNTEyUzQ0OCA0MTEuNyA0NDggMjg4bDAtMTEyLTEyOCAwIDAgMTEyYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bDAtMTEyLTEyOCAwem0wLTQ4bDEyOCAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NGwwIDY0em0zMjAgMGwxMjggMCAwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0eiJdfSxzTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1iYXJyaWVyIixpY29uOls2NDAsNTEyLFtdLCJlNTYyIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw2NCAyNjYuMyAxNDkuMiA5NiA2NCA5NiA2NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDA1LjIgOTZsLTc0LjMgMC01LjQgMTAuNy05MC42IDE4MS4zIDc0LjMgMCA1LjQtMTAuNyA5MC42LTE4MS4zek0zNjIuOCAyODhsNzQuMyAwIDUuNC0xMC43IDkwLjYtMTgxLjMtNzQuMyAwLTUuNCAxMC43LTkwLjYgMTgxLjN6TTIwMi44IDk2bC01LjQgMTAuNy05MC42IDE4MS4zIDc0LjMgMCA1LjQtMTAuNyA5MC42LTE4MS4zLTc0LjMgMHptMjg4IDE5Mmw4NS4yIDAgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDUzLjctODUuMiAxNzAuM3oiXX0sUmNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXBhc3MtZHJhZnRpbmciLGljb246WzUxMiw1MTIsWyJkcmFmdGluZy1jb21wYXNzIl0sImY1NjgiLCJNOTkuMyAyNTYuMWw2OS40LTExOS45Yy01LjYtMTIuMi04LjgtMjUuOC04LjgtNDAuMiAwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2YzAgMTQuMy0zLjEgMjcuOS04LjggNDAuMmw0NC40IDc2LjdjLTIzLjEgMjYtNTMuNyA0NS4xLTg4LjQgNTMuOEwyNTYgMTkxLjkgMTg3LjkgMzA5LjVjMjEuNSA2LjggNDQuMyAxMC41IDY4LjEgMTAuNSA3MC43IDAgMTMzLjgtMzIuNyAxNzQuOS04NCAxMS4xLTEzLjggMzEuMi0xNiA0NS01czE2IDMxLjIgNSA0NWMtNTIuNyA2NS44LTEzMy45IDEwOC0yMjQuOCAxMDgtMzUuNCAwLTY5LjQtNi40LTEwMC43LTE4LjFMOTguNyA0NjMuN0M5NCA0NzEuOCA4NyA0NzguNCA3OC42IDQ4Mi42TDIzLjIgNTEwLjNjLTUgMi41LTEwLjkgMi4yLTE1LjYtLjdTMCA1MDEuNSAwIDQ5NmwwLTU1LjRjMC04LjQgMi4yLTE2LjcgNi41LTI0LjFsNjAtMTAzLjdjLTEyLjgtMTEuMi0yNC42LTIzLjUtMzUuMy0zNi44LTExLjEtMTMuOC04LjgtMzMuOSA1LTQ1czMzLjktOC44IDQ1IDVjNS43IDcuMSAxMS44IDEzLjggMTguMiAyMC4xek0zODEuMSA0MDcuOWMzMi41LTEzIDYyLjQtMzEgODguOS01Mi45bDM1LjYgNjEuNWM0LjIgNy4zIDYuNSAxNS42IDYuNSAyNC4xbDAgNTUuNGMwIDUuNS0yLjkgMTAuNy03LjYgMTMuNnMtMTAuNiAzLjItMTUuNiAuN2wtNTUuNC0yNy43Yy04LjQtNC4yLTE1LjQtMTAuOC0yMC4xLTE4LjlsLTMyLjMtNTUuOHpNMjU2IDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LG9NdD1SY2UsbE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wZXJzb24tY29uZmluZWQiLGljb246WzQ0OCw1MTIsW10sImU1NzciLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptOTYgMTEyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTgwIDEwNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTAyLjFjMCAzNi40LTI5LjUgNjUuOS02NS45IDY1LjktMTcuNSAwLTM0LjMtNi45LTQ2LjYtMTkuM2wtNTQuNy01NC43LTI4LjEgNTYuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWw0OC05NmM0LjYtOS4yIDEzLjMtMTUuNiAyMy41LTE3LjNzMjAuNSAxLjcgMjcuOCA5bDQxLjQgNDEuNCAwLTU4Ljd6Il19LGNNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGF0ZS13aGVhdCIsaWNvbjpbNTEyLDUxMixbXSwiZTU1YSIsIk0xNzYgMzJjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNmMwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6TTU2IDY0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0UzQyLjcgNjQgNTYgNjR6TTI0IDEzNmwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCAxODRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTI3MiA0OGMwLTguOCA3LjItMTYgMTYtMTYgNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNmMwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xNnpNNDAwIDMyYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2LTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTZjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNjBsMCAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MCA4LjggMCAxNiA3LjIgMTYgMTZ6TTM1MiAxNzZjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODAtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNmwwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwIDguOCAwIDE2IDcuMiAxNiAxNnpNMy41IDM0Ny42QzEuNiAzMzIuOSAxMyAzMjAgMjcuOCAzMjBsNDU2LjQgMGMxNC44IDAgMjYuMiAxMi45IDI0LjQgMjcuNi02LjMgNTAuMi00NC40IDg5LjQtOTIuNiA5OC40bDAgMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMmMtNDguMi05LTg2LjMtNDguMi05Mi41LTk4LjR6Il19LEJjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaWduLWhhbmdpbmciLGljb246WzUxMiw1MTIsWyJzaWduIl0sImY0ZDkiLCJNOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zNTIgMCAwIDM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM1Mi0zMiAwQzE0LjMgMTI4IDAgMTEzLjcgMCA5NlMxNC4zIDY0IDMyIDY0bDMyIDAgMC0zMkM2NCAxNC4zIDc4LjMgMCA5NiAwek0yMDggMTc2bDI0MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTQ0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNDAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNDRjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LGRNdD1CY2UsSGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci1iYXR0ZXJ5IixpY29uOls1MTIsNTEyLFsiYmF0dGVyeS1jYXIiXSwiZjVkZiIsIk04MCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDk2IDBjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwxNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTYgMHpNMzkyIDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDMyLTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMiAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMzJ6TTY0IDI0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCAyMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0eiJdfSx1TXQ9SGNlLFFEPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaXJ0IixpY29uOls2NDAsNTEyLFsxMjgwODUsInQtc2hpcnQiLCJ0c2hpcnQiXSwiZjU1MyIsIk0zMjAuMiAxMTJjNDQuMiAwIDgwLTM1LjggODAtODBsNTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDYxNy42IDE2OS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC01MC43IDUwLjdjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC00MS40LTQxLjQgMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTE5MiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIyNC00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDIyLjkgMjE0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zTDE0MS41IDUwLjdjMTItMTIgMjguMy0xOC43IDQ1LjMtMTguN2w1My41IDBjMCA0NC4yIDM1LjggODAgODAgODB6Il19LHBNdD1RRCxmTXQ9UUQsaE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhcmFncmFwaCIsaWNvbjpbNDQ4LDUxMixbMTgyXSwiZjFkZCIsIk0xNjAgMEw0MTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTQxNi00OCAwIDAgNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwLTQ4IDBDNzEuNiAzMjAgMCAyNDguNCAwIDE2MFM3MS42IDAgMTYwIDB6Il19LHFjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZXMtYnVsayIsaWNvbjpbNTc2LDUxMixbIm1haWwtYnVsayJdLCJmNjc0IiwiTTExMiAwQzg1LjUgMCA2NCAyMS41IDY0IDQ4bDAgMTYwIDgwIDAgMC0zMmMwLTUzIDQzLTk2IDk2LTk2bDIwOCAwIDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTEyIDB6TTI0MCAxMjhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzIgODAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMTEyIDE2MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTkyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yODggMHptMjAwIDY0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDggMjU2Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDEwLjQgMTU2LjYgODYuMmMxLjEgLjYgMi4yIC45IDMuNCAuOXMyLjQtLjMgMy40LS45TDMyMCAzMTQuNCAzMjAgMzA0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDI1NnpNMzIwIDM2OS4yTDE4Ni42IDQ0Mi42Yy04LjEgNC41LTE3LjMgNi44LTI2LjYgNi44cy0xOC40LTIuNC0yNi42LTYuOEwwIDM2OS4yIDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTQuOHoiXX0sbU10PXFjZSxnTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3VpdGFyIixpY29uOls1MTIsNTEyLFtdLCJmN2E2IiwiTTQ2NSA3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEwzODMgNTVjLTIuNCAyLjQtNC4zIDUuMy01LjUgOC41bC0xNS40IDQxLTc3LjUgNzcuNmMtNDUuMS0yOS40LTk5LjMtMzAuMi0xMzEgMS42LTExIDExLTE4IDI0LjYtMjEuNCAzOS42LTMuNyAxNi42LTE5LjEgMzAuNy0zNi4xIDMxLjYtMjUuNiAxLjMtNDkuMyAxMC43LTY3LjMgMjguNi00NC44IDQ0LjgtMzYuNCAxMjUuOCAxOC43IDE4MC45UzE4My42IDUyOCAyMjguNCA0ODMuMmMxNy45LTE3LjkgMjcuNC00MS43IDI4LjYtNjcuMyAuOS0xNyAxNS0zMi4zIDMxLjYtMzYuMSAxNS0zLjQgMjguNi0xMC41IDM5LjYtMjEuNCAzMS44LTMxLjggMzEtODUuOSAxLjYtMTMxbDc3LjYtNzcuNiA0MS0xNS40YzMuMi0xLjIgNi4xLTMuMSA4LjUtNS41bDQ4LTQ4YzkuNC05LjQgOS40LTI0LjYgMC0zMy45TDQ2NSA3ek0yMDggMjU2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnoiXX0sYk10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1aXRjYXNlIixpY29uOls1MTIsNTEyLFsxMjk1MjNdLCJmMGYyIiwiTTIwMCA0OGwxMTIgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MC0xMjggMCAwLTQwYzAtNC40IDMuNi04IDgtOHptLTU2IDhsMCA0MjQgMjI0IDAgMC00MjRjMC0zMC45LTI1LjEtNTYtNTYtNTZMMjAwIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek00MTYgOTZsMCAzODQgMzIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtMzIgMHpNOTYgNDgwbDAtMzg0LTMyIDBDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyIDB6Il19LGpjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtdXAiLGljb246WzUxMiw1MTIsWzYxNDY3LCJhcnJvdy1hbHQtY2lyY2xlLXVwIl0sImYzNWIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTExLjMtMzg3LjNsMTA0IDEwNGM0LjYgNC42IDUuOSAxMS41IDMuNSAxNy40UzM2Ni41IDI1NiAzNjAgMjU2bC01NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTYtNTYgMGMtNi41IDAtMTIuMy0zLjktMTQuOC05LjlzLTEuMS0xMi45IDMuNS0xNy40bDEwNC0xMDRjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6Il19LHZNdD1qY2UseE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImYiLGljb246WzMyMCw1MTIsWzEwMl0sIjQ2IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MCAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0xMjggMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LHlNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ4bWFya3MtbGluZXMiLGljb246WzY0MCw1MTIsW10sImU1OWEiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDU3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyem0wIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZ6TTcgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwek0yNjUgMTY3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDU1IDU1LTU1IDU1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NS01NS01NXpNNDU1IDE2N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNTUgNTUtNTUgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1LTU1LTU1Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHoiXX0sVmNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhcnRoLW9jZWFuaWEiLGljb246WzUxMiw1MTIsWyJnbG9iZS1vY2VhbmlhIl0sImU0N2IiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAxNTAuNmMwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmw0MS40IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE4LjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTE2LTE2Yy00LjItNC4yLTYuNi0xMC02LjYtMTZ6TTQzMiAyNTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQxMS4zIDM3OS4zbC0zMiAzMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzMi0zMmM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6TTIyNCA0MzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnptLTk2LTgwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE4LjdjMC04LjUgMy40LTE2LjYgOS40LTIyLjZsNDgtNDhjNC4yLTQuMiAxMC02LjYgMTYtNi42bDYuNiAwYzguOCAwIDE2IDcuMiAxNiAxNnM3LjIgMTYgMTYgMTYgMTYtNy4yIDE2LTE2IDcuMi0xNiAxNi0xNmw2LjYgMGM2IDAgMTEuOCAyLjQgMTYgNi42bDQ4IDQ4YzYgNiA5LjQgMTQuMSA5LjQgMjIuNmwwIDUwLjdjMCAxNy43LTE0LjMgMzItMzIgMzJsLTUwLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTEzLjMtMTMuM2MtNi02LTE0LjEtOS40LTIyLjYtOS40TDEyOCAzNTJ6Il19LHdNdD1WY2UsTU10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQtc2xhc2giLGljb246WzU3Niw1MTIsW10sImY0YjMiLCJNNDEtMjVDMzEuNi0zNC4zIDE2LjQtMzQuMyA3LTI1Uy0yLjMtLjQgNyA5TDUzNSA1MzdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05Ni42LTk2LjZjNDQuNC00My4yIDcxLjYtMTAxLjggNzEuNi0xNjYuNSAwLTEzMi41LTExNC42LTI0MC0yNTYtMjQwLTYzIDAtMTIwLjggMjEuNC0xNjUuNCA1Ni44TDQxLTI1em0xOS40IDE1NUM0Mi4yIDE2MyAzMiAyMDAuMyAzMiAyMzkuOSAzMiAyOTQuMiA1MS4yIDM0NC4yIDgzLjYgMzg0LjRMMzQuOCA0NzYuN2MtNC44IDktMy4zIDIwIDMuNiAyNy41UzU2LjEgNTE0IDY1LjUgNTEwbDExOC40LTUwLjdjMzEuOCAxMy4zIDY3LjEgMjAuNyAxMDQuMSAyMC43IDM2LjQgMCA3MC45LTcuMSAxMDIuMy0xOS45TDYwLjMgMTMwLjF6Il19LGtNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGF5IixpY29uOls0NDgsNTEyLFs5NjU0XSwiZjA0YiIsIk05MS4yIDM2LjljLTEyLjQtNi44LTI3LjQtNi41LTM5LjYgLjdTMzIgNTcuOSAzMiA3MmwwIDM2OGMwIDE0LjEgNy41IDI3LjIgMTkuNiAzNC40czI3LjIgNy41IDM5LjYgLjdsMzM2LTE4NGMxMi44LTcgMjAuOC0yMC41IDIwLjgtMzUuMXMtOC0yOC4xLTIwLjgtMzUuMWwtMzM2LTE4NHoiXX0sU010PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpYWwtY2lyY2xlLWNoZWNrIixpY29uOls1MTIsNTEyLFtdLCJlNTk2IiwiTTMyIDMyQzMyIDE0LjMgNDYuMyAwIDY0IDBMMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNjEuNGMtNjYuMSAzMC4zLTExMiA5Ny4xLTExMiAxNzQuNiAwIDM5LjcgMTIgNzYuNiAzMi43IDEwNy4yLTEwLjMgMy4xLTIxLjMgNC44LTMyLjcgNC44LTYxLjkgMC0xMTItNTAuMS0xMTItMTEyTDY0IDY0QzQ2LjMgNjQgMzIgNDkuNyAzMiAzMnptOTYgMzJsMCAxMjggOTYgMCAwLTEyOC05NiAwem05NiAzMzZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjAxLjQtNjAuOWMtNy4xLTUuMi0xNy4yLTMuNi0yMi40IDMuNWwtNTMgNzIuOS0yNi44LTI2LjhjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjMy4zIDMuMyA3LjkgNSAxMi42IDQuNnM4LjktMi44IDExLjctNi41bDY0LTg4YzUuMi03LjEgMy42LTE3LjItMy41LTIyLjN6Il19LHpNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UtY2lyY2xlLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJlNGM5IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw4IDAgMCA2NC00MCAwIDAgMTEyYzM3LjYgOS40IDY0IDQzLjIgNjQgODJsMCA5NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC01MyA0My05NiA5Ni05NiA2LjQgMCAxMi43IC42IDE4LjcgMS44IDM0LjctNDkuNSA5Mi4yLTgxLjggMTU3LjMtODEuOCAyOC42IDAgNTUuNiA2LjIgODAgMTcuNGwwLTY1LjQtNDAgMCAwLTY0IDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNDI0IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTI5NiA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek04OCA5Nmw4MCAwIDAgNjQtODAgMCAwLTY0ek01NzYgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sQ010PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNlZGktc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTBkZiIsIk0yMzIgMzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNi41Qzg4LjggNzMuOSAxNiAxNTYuNCAxNiAyNTZTODguOCA0MzguMSAxODQgNDUzLjVsMCAyNi41YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yNC42YzQ2LjgtMy43IDg5LjEtMjMuNiAxMjEuMy01My45IDEyLjktMTIuMSAxMy40LTMyLjQgMS4zLTQ1LjJzLTMyLjQtMTMuNC00NS4yLTEuM2MtMjAuNyAxOS42LTQ3LjYgMzIuNy03Ny4zIDM2LjJsMC0yNzAuMWMyOS44IDMuNSA1Ni42IDE2LjYgNzcuMyAzNi4yIDEyLjkgMTIuMSAzMy4xIDExLjUgNDUuMi0xLjNzMTEuNS0zMy4xLTEuMy00NS4yQzMyMS4xIDgwLjIgMjc4LjggNjAuMyAyMzIgNTYuNkwyMzIgMzJ6bS00OCA5MS44bDAgMjY0LjRDMTI0LjMgMzczLjggODAgMzIwLjEgODAgMjU2czQ0LjMtMTE3LjggMTA0LTEzMi4yeiJdfSxUTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHV6emxlLXBpZWNlIixpY29uOls1MTIsNTEyLFsxMjk1MTNdLCJmMTJlIiwiTTIyNCAwYzM1LjMgMCA2NCAyMS41IDY0IDQ4IDAgMTAuNC00LjQgMjAtMTIgMjcuOS02LjYgNi45LTEyIDE1LjMtMTIgMjQuOSAwIDE1IDEyLjIgMjcuMiAyNy4yIDI3LjJsNDQuOCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDQuOGMwIDE1IDEyLjIgMjcuMiAyNy4yIDI3LjIgOS41IDAgMTgtNS40IDI0LjktMTIgNy45LTcuNSAxNy41LTEyIDI3LjktMTIgMjYuNSAwIDQ4IDI4LjcgNDggNjRzLTIxLjUgNjQtNDggNjRjLTEwLjQgMC0yMC4xLTQuNC0yNy45LTEyLTYuOS02LjYtMTUuMy0xMi0yNC45LTEyLTE1IDAtMjcuMiAxMi4yLTI3LjIgMjcuMkwzODQgNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC01Ni44IDBjLTEyLjggMC0yMy4yLTEwLjQtMjMuMi0yMy4yIDAtOS4yIDUuOC0xNy4zIDEzLjItMjIuOCAxMS42LTguNyAxOC44LTIwLjcgMTguOC0zNCAwLTI2LjUtMjguNy00OC02NC00OHMtNjQgMjEuNS02NCA0OGMwIDEzLjMgNy4yIDI1LjMgMTguOCAzNCA3LjQgNS41IDEzLjIgMTMuNSAxMy4yIDIyLjggMCAxMi44LTEwLjQgMjMuMi0yMy4yIDIzLjJMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDM0My4yYzAtMTIuOCAxMC40LTIzLjIgMjMuMi0yMy4yIDkuMiAwIDE3LjMgNS44IDIyLjggMTMuMiA4LjcgMTEuNiAyMC43IDE4LjggMzQgMTguOCAyNi41IDAgNDgtMjguNyA0OC02NHMtMjEuNS02NC00OC02NGMtMTMuMyAwLTI1LjMgNy4yLTM0IDE4LjgtNS41IDcuNC0xMy41IDEzLjItMjIuOCAxMy4yLTEyLjggMC0yMy4yLTEwLjQtMjMuMi0yMy4yTDAgMTc2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDEwOC44IDBjMTUgMCAyNy4yLTEyLjIgMjcuMi0yNy4yIDAtOS41LTUuNC0xOC0xMi0yNC45LTcuNS03LjktMTItMTcuNS0xMi0yNy45IDAtMjYuNSAyOC43LTQ4IDY0LTQ4eiJdfSxfTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVsbWV0LXVuIixpY29uOls1MTIsNTEyLFtdLCJlNTAzIiwiTTQ3OS41IDIyNEM0NzEuMiA5OC45IDM2Ny4yIDAgMjQwIDAgMTA3LjUgMCAwIDEwNy41IDAgMjQwbDAgNTYuM0MwIDM0NC44IDM5LjIgMzg0IDg3LjcgMzg0bDEyNy4zIDAgMTI4LjYgMTIxLjRjNC41IDQuMiAxMC40IDYuNiAxNi41IDYuNmw5NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04Ni41IDAtMS41LTEuNSAwLTE3NC41IDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0uNSAwek0zMjAgNDE3LjJsLTc4LTczLjcgMzIuNC01NS41IDQ1LjYgMCAwIDEyOS4yek0yODUuMyAxMDMuMWwzNC43IDUyIDAtNDMuMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgOTZjMCA3LjEtNC42IDEzLjMtMTEuNCAxNS4zcy0xNC0uNi0xNy45LTYuNGwtMzQuNy01MiAwIDQzLjJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTcuMSA0LjYtMTMuMyAxMS40LTE1LjNzMTQgLjYgMTcuOSA2LjR6TTE2MCAxMTJsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnoiXX0sTE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdsYXNzLXdhdGVyIixpY29uOlszODQsNTEyLFtdLCJlNGY0IiwiTTMyIDBDMjMuMSAwIDE0LjYgMy43IDguNiAxMC4yUy0uNiAyNS40IC4xIDM0LjNMMjguOSA0MzcuN2MzIDQxLjkgMzcuOCA3NC4zIDc5LjggNzQuM2wxNjYuNiAwYzQyIDAgNzYuOC0zMi40IDc5LjgtNzQuM0wzODMuOSAzNC4zYy42LTguOS0yLjQtMTcuNi04LjUtMjQuMVMzNjAuOSAwIDM1MiAwTDMyIDB6TTczIDE1Ni41bC02LjYtOTIuNSAyNTEuMyAwLTYuNiA5Mi41LTI0LjIgMTIuMWMtMTkuNCA5LjctNDIuMiA5LjctNjEuNiAwLTIwLjktMTAuNC00NS41LTEwLjQtNjYuNCAwLTE5LjQgOS43LTQyLjIgOS43LTYxLjYgMEw3MyAxNTYuNXoiXX0sJE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0LWNpcmNsZS1ib2x0IixpY29uOls1NzYsNTEyLFtdLCJlNGZjIiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxNy42LTMuNCAzNS42LTkuNSA1My43LTIxLjgtOC42LTQ1LjYtMTMuNC03MC41LTEzLjQtMTA2IDAtMTkyIDg2LTE5MiAxOTIgMCAyOC41IDYuMiA1NS42IDE3LjQgODAtLjUgMC0uOSAwLTEuNCAwLTE1LjUgMC0zMC44LTQuNi00My4xLTE0LjEtNzMtNTUuNy0yMTIuOS0xODYtMjEyLjktMjk4LjJsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTc3LjQtNzdjLTUuOC00LjItMTMuOC00LTE5LjQgLjVsLTgwIDY0Yy01LjMgNC4yLTcuNCAxMS40LTUuMSAxNy44UzM2OS4yIDQxNiAzNzYgNDE2bDMyLjkgMC0xNS45IDQyLjRjLTIuNSA2LjctLjIgMTQuMyA1LjYgMTguNnMxMy44IDQgMTkuNC0uNWw4MC02NGM1LjMtNC4yIDcuNC0xMS40IDUuMS0xNy44UzQ5NC44IDM4NCA0ODggMzg0bC0zMi45IDAgMTUuOS00Mi40YzIuNS02LjcgLjItMTQuMy01LjYtMTguNnoiXX0sRE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InB1bXAtc29hcCIsaWNvbjpbMzIwLDUxMixbXSwiZTA2YiIsIk05NiAwbDAgODAgMTI4IDAgMC0yNCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0UzMwOS4zIDggMjk2IDhsLTcyIDAgMC04YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwQzExMC4zLTMyIDk2LTE3LjcgOTYgMHpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAxMjh6TTIyNCAzNDRjMCAzNS4zLTI4LjcgNTYtNjQgNTZzLTY0LTIwLjctNjQtNTZjMC0zMi41IDM3LTgwLjkgNTAuOS05Ny45IDMuMi0zLjkgOC4xLTYuMSAxMy4xLTYuMXM5LjkgMi4yIDEzLjEgNi4xQzE4NyAyNjMuMSAyMjQgMzExLjUgMjI0IDM0NHoiXX0sQU10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtc2Npc3NvcnMiLGljb246WzUxMiw1MTIsW10sImYyNTciLCJNNDAgMjA4Yy0yMi4xIDAtNDAgMTcuOS00MCA0MHMxNy45IDQwIDQwIDQwbDE4MC4yIDBjLTcuNiA4LjUtMTIuMiAxOS43LTEyLjIgMzIgMCAyNS4zIDE5LjUgNDYgNDQuMyA0Ny45LTcuNyA4LjUtMTIuMyAxOS44LTEyLjMgMzIuMSAwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4bDAtMTEzLjFjMC00MC4yLTE2LTc4LjgtNDQuNC0xMDcuMy0yMi44LTIyLjgtNTMuNi0zNS42LTg1LjgtMzUuNkwzMzYgNjRjLTIxLjMgMC0zOS4zIDEzLjktNDUuNiAzMy4xbDc0LjUgMjMuN2M4LjQgMi43IDEzLjEgMTEuNyAxMC40IDIwLjFzLTExLjcgMTMuMS0yMC4xIDEwLjRsLTY3LjEtMjEuNCAwIC4xLTIwNC02NC4xQzYyLjkgNTkuMiA0MC41IDcwLjkgMzMuOSA5MnM1LjEgNDMuNSAyNi4yIDUwLjJMMjY5LjUgMjA4IDQwIDIwOHoiXX0sVWNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvbGx5IixpY29uOls1NzYsNTEyLFsiZG9sbHktYm94Il0sImY0NzIiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGw3Mi45IDAgOTIuMSAyNzYuMmMtMjIuNSAxNy42LTM3IDQ1LTM3IDc1LjggMCA1MyA0MyA5NiA5NiA5NiA1Mi40IDAgOTUuMS00MiA5Ni05NC4zbDIwMi4xLTY3LjRjMTYuOC01LjYgMjUuOC0yMy43IDIwLjItNDAuNXMtMjMuNy0yNS44LTQwLjUtMjAuMkwzMzEuOCAzNTdjLTE3LjItMjIuMS00My45LTM2LjUtNzQtMzdMMTY1LjcgNDMuOEMxNTYuOSAxNy42IDEzMi41IDAgMTA0LjkgMEwzMiAwek0yMDggNDE2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTI4MC41IDg5LjNjLTI1LjIgOC4yLTM5IDM1LjMtMzAuOCA2MC41bDM5LjYgMTIxLjdjOC4yIDI1LjIgMzUuMyAzOSA2MC41IDMwLjhsMTIxLjctMzkuNmMyNS4yLTguMiAzOS0zNS4zIDMwLjgtNjAuNUw0NjIuOCA4MC41Yy04LjItMjUuMi0zNS4zLTM5LTYwLjUtMzAuOEwyODAuNSA4OS4zeiJdfSxFTXQ9VWNlLEhBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhcGVyY2xpcCIsaWNvbjpbNTEyLDUxMixbMTI4MjA2XSwiZjBjNiIsIk0yMjQuNiAxMi44YzU2LjItNTYuMiAxNDcuNC01Ni4yIDIwMy42IDBzNTYuMiAxNDcuNCAwIDIwMy42bC0xNjQgMTY0Yy0zNC40IDM0LjQtOTAuMSAzNC40LTEyNC41IDBzLTM0LjQtOTAuMSAwLTEyNC41TDI5Mi41IDEwMy4zYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMMTg1IDMwMS4zYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTY0LTE2NGMzMS4yLTMxLjIgMzEuMi04MS45IDAtMTEzLjFzLTgxLjktMzEuMi0xMTMuMSAwbC0xNjQgMTY0Yy01My4xIDUzLjEtNTMuMSAxMzkuMiAwIDE5Mi4zczEzOS4yIDUzLjEgMTkyLjMgMEw0MjguMyAyODQuM2MxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDM0My40IDQ1OS42Yy03OC4xIDc4LjEtMjA0LjcgNzguMS0yODIuOCAwcy03OC4xLTIwNC43IDAtMjgyLjhsMTY0LTE2NHoiXX0sSU10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRlbW9jcmF0IixpY29uOls2NDAsNTEyLFtdLCJmNzQ3IiwiTTY0IDMyYzAtOC45IDMuOC0yMC45IDYuMi0yNy4zIDEtMi44IDMuOC00LjcgNi44LTQuNyAxLjkgMCAzLjggLjcgNS4yIDIuMUwxMjggNDUuNyAxNzMuOCAyLjFjMS40LTEuMyAzLjItMi4xIDUuMi0yLjEgMyAwIDUuOCAxLjggNi44IDQuNyAyLjQgNi41IDYuMiAxOC40IDYuMiAyNy4zIDAgMjYuNS0yMS45IDQyLTI5LjUgNDYuNmw3Ni4yIDcyLjZjNiA1LjcgMTMuOSA4LjggMjIuMSA4LjhsMjE5LjIgMCAzMiAwYzQwLjMgMCA3OC4yIDE5IDEwMi40IDUxLjJsMTkuMiAyNS42YzEwLjYgMTQuMSA3LjcgMzQuMi02LjQgNDQuOHMtMzQuMiA3LjctNDQuOC02LjRsLTE5LjItMjUuNmMtNS4zLTctMTEuOC0xMi44LTE5LjItMTdsMCA4Ny40LTM1MiAwLTQwLjQtOTQuM2MtMy45LTkuMi0xNS4zLTEyLjYtMjMuNi03bC00Mi4xIDI4Yy05LjEgNi4xLTE5LjcgOS4zLTMwLjcgOS4zbC0yIDBDMjMuOSAyNTYgMCAyMzIuMSAwIDIwMi43IDAgMTkwLjYgNC4xIDE3OC45IDExLjcgMTY5LjRMODcuNiA3NC42Qzc4LjEgNjcuNCA2NCA1My4yIDY0IDMyek01NDQgMzUybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0LTE2MCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4IDM1MiAwek0yNTYgMjgwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQ4LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTM2OCAyODBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxXY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWFycm93LXVwLXJpZ2h0IixpY29uOls0NDgsNTEyLFsiZXh0ZXJuYWwtbGluay1zcXVhcmUiXSwiZjE0YyIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0yNzIgMjk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU0LjEgMC0xMDMgMTAzYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTAzLTEwMyAwIDU0LjF6Il19LFBNdD1XY2UsTk10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZlcnJ5IixpY29uOls2NDAsNTEyLFtdLCJlNGVhIiwiTTIyNCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxMjgtLjEgMGMuMSAuNyAuMSAxLjMgLjEgMiAwIDMwLjItNy42IDU5LjgtMjIgODYuM2wtMTIuNyAyMy4zLS42IDFjLTIyLjMtMTEuMy00Ni41LTE2LjgtNzAuOC0xNi43LTMyLjUgLjItNjQuOSAxMC43LTkyLjQgMzEuNC0yMi4xIDE2LjYtMjkuMSAxNi42LTUxLjIgMC0yOC4xLTIxLjEtNjEuMy0zMS42LTk0LjQtMzEuNC0yMy42IC4yLTQ3LjEgNS43LTY4LjcgMTYuN2wtLjYtMS0xMi43LTIzLjNjLTE0LjQtMjYuNS0yMi01Ni4yLTIyLTg2LjMgMC0uNyAwLTEuNCAuMS0ybC0uMSAwIDAtMTI4YzAtNDQuMiAzNS44LTgwIDgwLTgwbDQ4IDAgMC0zMnpNMTYwIDI1NmwzMjAgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZsLTI4OCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTJ6TTQwMy40IDQ3Ni4xQzM3OS4xIDQ5NC4zIDM1MS4xIDUxMiAzMjAgNTEycy01OS4xLTE3LjctODMuNC0zNS45Yy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMC0yMy44IDE3LjktNTQuMSAzNS41LTg4LjEgMzUuMy0yMC40LS4xLTQwLjctNi43LTU5LjgtMjEuMS0xMC42LTgtMTIuNy0yMy00LjctMzMuNnMyMy0xMi43IDMzLjYtNC43YzExLjMgOC41IDIxLjYgMTEuNCAzMS4yIDExLjUgMTcuNiAuMSAzNy4zLTkuNCA1OC45LTI1LjcgMzguNC0yOSA5MC41LTI5IDEyOSAwIDI0IDE4LjEgNDAuNyAyNi4zIDU0LjUgMjYuM3MzMC41LTguMiA1NC41LTI2LjNjMzguNC0yOSA5MC41LTI5IDEyOSAwIDE2LjkgMTIuNyAzMi45IDIxLjUgNDcuOCAyNC42IDEzLjcgMi44IDI3LjQgLjkgNDIuMy0xMC4zIDEwLjYtOCAyNS42LTUuOSAzMy42IDQuN3M1LjkgMjUuNi00LjcgMzMuNmMtMjYuNCAxOS45LTU0LjIgMjQuNC04MC43IDE5LjEtMjUuMy01LjEtNDguMS0xOC45LTY3LjItMzMuMy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMHoiXX0sRk10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vc3F1aXRvIixpY29uOls1NzYsNTEyLFtdLCJlNTJiIiwiTTE3OC41IDQ5NS4yYy03LjUgOS42LTIxIDEyLjEtMzEuMyA1LjNTMTMzLjUgNDgwIDEzOC45IDQ2OWwxLjItMi4yIDM2LjItNTggMC00MSAuMy00Yy42LTMuOSAyLjItNy43IDQuNi0xMC45bDM5LjMtNTIuMi02Ni4yIDU5LjVjLTE3IDE1LjMtMzkgMjMuNy02MS45IDIzLjhsLTguMSAwYy00Ni42IDAtODQuNC0zNy44LTg0LjQtODQuNCAwLTQzIDMyLjQtNzkuMiA3NS4xLTgzLjlsMTMwLjUtMTQuNS00NC44LTM4LjMtMi40LTIuNGMtNS4zLTYtNy4zLTE0LjQtNS4zLTIyLjNsMTMuMy01My40LTI1LjktMzguOS0xLjMtMi4xYy01LjgtMTAuOC0yLjctMjQuNiA3LjQtMzEuNyAxMC4xLTcuMSAyMy43LTUuMSAzMS40IDQuM2wxLjUgMiAzMiA0OCAxLjQgMi4yYzIuOCA1LjMgMy41IDExLjYgMi4xIDE3LjZsLTEyLjMgNDkuMiA1My4zIDQ1LjcgMC0yOC44YzAtMTEuOCA2LjUtMjIuMSAxNi0yNy43bDAtNjAuNSAuMy0zLjNjMS41LTcuMyA4LTEyLjcgMTUuNy0xMi43czE0LjIgNS41IDE1LjcgMTIuN2wuMyAzLjIgMCA2MC41YzkuNiA1LjUgMTYgMTUuOCAxNiAyNy43bDAgMjguOSA1My40LTQ1LjgtMTIuMy00OS4yYy0xLjUtNS45LS43LTEyLjIgMi4xLTE3LjZsMS40LTIuMiAzMi00OCAxLjUtMmM3LjctOS40IDIxLjMtMTEuNSAzMS40LTQuMyAxMC4xIDcuMSAxMy4xIDIwLjkgNy40IDMxLjdsLTEuMyAyLjEtMjUuOSAzOC45IDEzLjMgNTMuNGMyIDgtLjEgMTYuMy01LjMgMjIuM2wtMi40IDIuNC00NC43IDM4LjMgMTMwLjUgMTQuNWM0Mi44IDQuOCA3NS4xIDQwLjkgNzUuMSA4My45IDAgNDYuNi0zNy44IDg0LjQtODQuNCA4NC40bC04LjEgMGMtMjIuOCAwLTQ0LjktOC41LTYxLjktMjMuOGwtNjYuMS01OS41IDM5LjIgNTIuMmMyLjQgMy4yIDQgNyA0LjYgMTAuOWwuMyA0IDAgNDEgMzYuMiA1OCAxLjIgMi4xYzUuNCAxMSAyIDI0LjctOC4zIDMxLjVzLTIzLjggNC40LTMxLjMtNS4zbC0xLjQtMi00MC02NC0xLjYtMy4xYy0xLjQtMy4xLTIuMS02LjYtMi4xLTEwLjFsMC0zOS44LTMyLjQtNDMuMSAwIDc0LjdjMCAxNy43LTE0LjMgMzItMzIgMzItMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03NC42LTMyLjMgNDMgMCAzOS44YzAgMy41LS43IDYuOS0yLjEgMTAuMWwtMS42IDMuMS00MCA2NC0xLjQgMnoiXX0sT010PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodCIsaWNvbjpbNTc2LDUxMixbXSwiZTRkMSIsIk0zMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDM1MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTQ0LjdjLTM1LjcgMi45LTY4LjUgMTUuNi05NiAzNS40bDAtNGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0IDBjLTEzLjggMTkuMi0yNC4xIDQxLTMwLjEgNjQuNS0xLjktLjQtMy45LS41LTUuOS0uNWwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA4MCA3NC45IDBjNi4xIDE3LjMgMTQuNiAzMy40IDI1LjEgNDhMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA2NHpNMTQ0IDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNDQgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQwLjctNjcuM2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZsMjguNyAyOC43LTg5LjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw4OS40IDAtMjguNyAyOC43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsNTYtNTZjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTU2LTU2Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHoiXX0sR2NlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxlZnQtcmlnaHQiLGljb246WzUxMiw1MTIsWzg1OTYsImFycm93cy1hbHQtaCJdLCJmMzM3IiwiTTUwMi42IDQwNi42bC05NiA5NmMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTMzUyIDQ5Mi45IDM1MiA0ODBsMC02NC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMjAgMCAwLTY0YzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6TTkuNCAxNTAuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTMTYwIDE5LjEgMTYwIDMybDAgNjQgMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyMCAwIDAgNjRjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTk2LTk2eiJdfSxSTXQ9R2NlLEJNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1cyIsaWNvbjpbNTEyLDUxMixbXSwiZTA3NCIsIk0yOTYgNDBjMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCA0NC4xLTUzLjMgNjYuMS04NC41IDM1LTE1LjYtMTUuNi00MC45LTE1LjYtNTYuNiAwcy0xNS42IDQwLjkgMCA1Ni42YzMxLjIgMzEuMiA5LjEgODQuNS0zNSA4NC41LTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBjNDQuMSAwIDY2LjEgNTMuMyAzNSA4NC41LTE1LjYgMTUuNi0xNS42IDQwLjkgMCA1Ni42czQwLjkgMTUuNiA1Ni42IDBjMzEuMi0zMS4yIDg0LjUtOS4xIDg0LjUgMzUgMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGMwLTQ0LjEgNTMuMy02Ni4xIDg0LjUtMzUgMTUuNiAxNS42IDQwLjkgMTUuNiA1Ni42IDBzMTUuNi00MC45IDAtNTYuNmMtMzEuMi0zMS4yLTkuMS04NC41IDM1LTg0LjUgMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBjLTQ0LjEgMC02Ni4xLTUzLjMtMzUtODQuNSAxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNnMtNDAuOS0xNS42LTU2LjYgMEMzNDkuMyAxMDYuMSAyOTYgODQuMSAyOTYgNDB6TTE2MCAyMjRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTYwIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sSE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlbSIsaWNvbjpbNTEyLDUxMixbMTI4MTQyXSwiZjNhNSIsIk0xMTYuNyAzMy44YzQuNS02LjEgMTEuNy05LjggMTkuMy05LjhsMjQwIDBjNy42IDAgMTQuOCAzLjYgMTkuMyA5LjhsMTEyIDE1MmM2LjggOS4yIDYuMSAyMS45LTEuNSAzMC40bC0yMzIgMjU2Yy00LjUgNS0xMSA3LjktMTcuOCA3LjlzLTEzLjItMi45LTE3LjgtNy45bC0yMzItMjU2Yy03LjctOC41LTguMy0yMS4yLTEuNS0zMC40bDExMi0xNTJ6bTM4LjUgMzkuOGMtMy4zIDIuNS00LjIgNy0yLjEgMTAuNUwyMTAuNSAxNzkuOCA2My4zIDE5MmMtNC4xIC4zLTcuMyAzLjgtNy4zIDhzMy4yIDcuNiA3LjMgOGwxOTIgMTZjLjQgMCAuOSAwIDEuMyAwbDE5Mi0xNmM0LjEtLjMgNy4zLTMuOCA3LjMtOHMtMy4yLTcuNi03LjMtOGwtMTQ3LjItMTIuMyA1Ny40LTk1LjZjMi4xLTMuNSAxLjItOC4xLTIuMS0xMC41cy03LjktMi0xMC43IDFMMjU2IDE3Mi4yIDE2NS45IDc0LjZjLTIuOC0zLTcuNC0zLjQtMTAuNy0xeiJdfSxxTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9pbGV0IixpY29uOls0NDgsNTEyLFsxMjg3MDFdLCJmN2Q4IiwiTTI0IDBDMTAuNyAwIDAgMTAuNyAwIDI0UzEwLjcgNDggMjQgNDhsOCAwIDAgMTQ4LjljLTEuOSAxLjQtMy44IDIuOS01LjYgNC40LTE1LjUgMTMuMi0yNi40IDMxLjYtMjYuNCA1NC42IDAgNDYuOSAxNC4zIDg0LjEgMzcgMTEyLjUgMTQuMiAxNy43IDMxLjEgMzEuMyA0OC41IDQxLjhMNjUuNiA0NjkuOWMtMy4zIDkuOC0xLjYgMjAuNSA0LjQgMjguOFM4NS43IDUxMiA5NiA1MTJsMjU2IDBjMTAuMyAwIDE5LjktNC45IDI2LTEzLjNzNy43LTE5LjEgNC40LTI4LjhsLTE5LjgtNTkuNWMxNy40LTEwLjUgMzQuMy0yNC4xIDQ4LjUtNDEuOCAyMi43LTI4LjQgMzctNjUuNSAzNy0xMTIuNSAwLTIzLjEtMTAuOS00MS41LTI2LjQtNTQuNi0xLjgtMS41LTMuNy0zLTUuNi00LjRsMC0xNDguOSA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTNDM3LjMgMCA0MjQgMEwyNCAwek05NiA4MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek0yMjQgMjg4Yy04OC40IDAtMTYwLTE0LjMtMTYwLTMyczcxLjYtMzIgMTYwLTMyIDE2MCAxNC4zIDE2MCAzMi03MS42IDMyLTE2MCAzMnoiXX0sak10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpbmdsZS1xdW90ZS1sZWZ0IixpY29uOlsxOTIsNTEyLFtdLCJlODFiIiwiTTEyOCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIxNkMwIDE0OS43IDUzLjcgOTYgMTIwIDk2bDggMHoiXX0sVk10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGxzIixpY29uOls1NzYsNTEyLFtdLCJlMWYzIiwiTTE2MCAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzUyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTYwIDMyem0xNzYgOTZhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTE2MCAxNTJsMC00OGMwLTQuNCAzLjYtOCA4LThsNDggMGM0LjQgMCA4LjEgMy42IDcuNSA4LTMuNiAyOS0yNi42IDUxLjktNTUuNSA1NS41LTQuNCAuNS04LTMuMS04LTcuNXptMCAxMTJjMC00LjQgMy42LTguMSA4LTcuNSAyOSAzLjYgNTEuOSAyNi42IDU1LjUgNTUuNSAuNSA0LjQtMy4xIDgtNy41IDhsLTQ4IDBjLTQuNCAwLTgtMy42LTgtOGwwLTQ4ek01MDQgMTU5LjVjLTI5LTMuNi01MS45LTI2LjYtNTUuNS01NS41LS41LTQuNCAzLjEtOCA3LjUtOGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQ4YzAgNC40LTMuNiA4LjEtOCA3LjV6TTUxMiAyNjRsMCA0OGMwIDQuNC0zLjYgOC04IDhsLTQ4IDBjLTQuNCAwLTguMS0zLjYtNy41LTggMy42LTI5IDI2LjYtNTEuOSA1NS41LTU1LjUgNC40LS41IDggMy4xIDggNy41ek00OCAxNTJjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAxMzguNyAwIDE1MkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzOTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw2NCA0MzJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI2NHoiXX0sVU10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxldC1idXR0b24iLGljb246WzQ0OCw1MTIsW10sImYxMGEiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMjI0IDQwMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LGliPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY3RhbmdsZS14bWFyayIsaWNvbjpbNTEyLDUxMixbNjIxNjQsInJlY3RhbmdsZS10aW1lcyIsInRpbWVzLXJlY3RhbmdsZSIsIndpbmRvdy1jbG9zZSJdLCJmNDEwIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek0xNjcgMTY3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDU1IDU1IDU1LTU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTUgNTUgNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNTUtNTUtNTUgNTVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTUtNTUtNTUtNTVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxXTXQ9aWIsR010PWliLFlNdD1pYixaTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid3JlbmNoIixpY29uOls1NzYsNTEyLFsxMjgyOTVdLCJmMGFkIiwiTTUwOS40IDk4LjZjNy42LTcuNiAyMC4zLTUuNyAyNC4xIDQuMyA2LjggMTcuNyAxMC41IDM3IDEwLjUgNTcuMSAwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MC0xNy41IDAtMzQuNC0yLjgtNTAuMi04TDE0Ni45IDQ5OC45Yy0yOC4xIDI4LjEtNzMuNyAyOC4xLTEwMS44IDBzLTI4LjEtNzMuNyAwLTEwMS44TDIzMiAyMTAuMmMtNS4yLTE1LjgtOC0zMi42LTgtNTAuMiAwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MCAyMC4xIDAgMzkuNCAzLjcgNTcuMSAxMC41IDEwIDMuOCAxMS44IDE2LjUgNC4zIDI0LjFsLTg4LjcgODguN2MtMyAzLTQuNyA3LjEtNC43IDExLjNsMCA0MS40YzAgOC44IDcuMiAxNiAxNiAxNmw0MS40IDBjNC4yIDAgOC4zLTEuNyAxMS4zLTQuN2w4OC43LTg4Ljd6Il19LHdiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYXNoLWNhbiIsaWNvbjpbNDQ4LDUxMixbNjE0NjAsInRyYXNoLWFsdCJdLCJmMmVkIiwiTTEzNi43IDUuOUMxNDEuMS03LjIgMTUzLjMtMTYgMTY3LjEtMTZsMTEzLjkgMGMxMy44IDAgMjYgOC44IDMwLjQgMjEuOUwzMjAgMzIgNDE2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmw5NiAwIDguNy0yNi4xek0zMiAxNDRsMzg0IDAgMCAzMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMwNHptODggNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTkyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xOTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE5MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTkyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE5MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sWE10PXdiLFljZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jZWxscyIsaWNvbjpbNDQ4LDUxMixbInRoIl0sImYwMGEiLCJNMzg0IDk2bDAgNjQtNjQgMCAwLTY0IDY0IDB6bTAgMTI4bDAgNjQtNjQgMCAwLTY0IDY0IDB6bTAgMTI4bDAgNjQtNjQgMCAwLTY0IDY0IDB6TTI1NiAyODhsLTY0IDAgMC02NCA2NCAwIDAgNjR6bS02NCA2NGw2NCAwIDAgNjQtNjQgMCAwLTY0em0tNjQtNjRsLTY0IDAgMC02NCA2NCAwIDAgNjR6TTY0IDM1Mmw2NCAwIDAgNjQtNjQgMCAwLTY0em0wLTE5MmwwLTY0IDY0IDAgMCA2NC02NCAwem0xMjggMGwwLTY0IDY0IDAgMCA2NC02NCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSxRTXQ9WWNlLEpNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyaWJib24iLGljb246WzM4NCw1MTIsWzEyNzg5NV0sImY0ZDYiLCJNMjM1LjEgMGMzMy40IDAgNjQuNSAxNy40IDgxLjkgNDUuOSAxLjIgMiAxMyAyMS4zIDM1LjMgNTcuOCAyMS4xIDM0LjUgMTguMyA3OC41LTcgMTEwTDI3OC4zIDI5Ny43IDM2NC41IDQwNmM1LjUgNi45IDQuNCAxNi45LTIuNSAyMi41bC04MCA2NGMtNi45IDUuNS0xNyA0LjQtMjIuNS0yLjVMMzguNiAyMTMuOEMxMy4zIDE4Mi4zIDEwLjUgMTM4LjMgMzEuNiAxMDMuOCA1NCA2Ny4yIDY1LjcgNDcuOSA2NyA0NS45IDg0LjQgMTcuNCAxMTUuNCAwIDE0OC45IDBsODYuMyAwek0xOTIgMTg5LjJsNDguNi02MS4yLTk3LjMgMCA0OC42IDYxLjJ6TTc1IDMzNi4ybDg2LjIgMTA3LjgtMzYuOCA0NmMtNS41IDYuOS0xNS42IDgtMjIuNSAyLjVsLTgwLTY0Yy02LjktNS41LTgtMTUuNi0yLjUtMjIuNUw3NSAzMzYuMnoiXX0sS010PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhbmRtYXJrLWZsYWciLGljb246WzUxMiw1MTIsW10sImU1MWMiLCJNMzUyLTMyTDI0MC0zMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTQ0LTE3NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2IDAgMCAyMjQtNTEuMiAzOC40QzQuNyA0NjAuNCAwIDQ2OS45IDAgNDgwIDAgNDk3LjcgMTQuMyA1MTIgMzIgNTEybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyIDAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZsLTUxLjItMzguNCAwLTIyNCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOTIgMCAwLTY0IDgwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2em00OCAyMjRsMCAyMjQtNjQgMCAwLTIyNCA2NCAwem0tMTEyIDBsMCAyMjQtNjQgMCAwLTIyNCA2NCAwem0tMTEyIDBsMCAyMjQtNjQgMCAwLTIyNCA2NCAweiJdfSxaY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXAtZG93bi1sZWZ0LXJpZ2h0IixpY29uOls1MTIsNTEyLFsiYXJyb3dzLWFsdCJdLCJmMGIyIiwiTTI3OC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOVMxNzkuMSAxMjggMTkyIDEyOGwzMiAwIDAgOTYtOTYgMCAwLTMyYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlTMTI4IDMzMi45IDEyOCAzMjBsMC0zMiA5NiAwIDAgOTYtMzIgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzMyLjkgMzg0IDMyMCAzODRsLTMyIDAgMC05NiA5NiAwIDAgMzJjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzM4NCAxNzkuMSAzODQgMTkybDAgMzItOTYgMCAwLTk2IDMyIDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjR6Il19LGVrdD1aY2UsdGt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci1zaWRlIixpY29uOls2NDAsNTEyLFsxMjg2NjNdLCJmNWU0IiwiTTE0NyAxMDYuN2wtMjkuOCA4NS4zIDEyMi45IDAgMC05Ni03Ny45IDBjLTYuOCAwLTEyLjkgNC4zLTE1LjEgMTAuN3pNNDguNiAxOTMuOUw4Ni41IDg1LjZDOTcuOCA1My41IDEyOC4xIDMyIDE2Mi4xIDMyTDM2MCAzMmMyNS4yIDAgNDguOSAxMS45IDY0IDMybDk2LjIgMTI4LjNDNTg3LjEgMTk2LjUgNjQwIDI1Mi4xIDY0MCAzMjBsMCAxNmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTYuNCAwYy00IDQ0LjktNDEuNyA4MC04Ny42IDgwcy04My42LTM1LjEtODcuNi04MGwtMTQ0LjcgMGMtNCA0NC45LTQxLjcgODAtODcuNiA4MHMtODMuNi0zNS4xLTg3LjYtODBsLS40IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtODBjMC0zMC4xIDIwLjctNTUuMyA0OC42LTYyLjF6TTQ0MCAxOTJsLTY3LjItODkuNmMtMy00LTcuOC02LjQtMTIuOC02LjRsLTcyIDAgMCA5NiAxNTIgMHpNMTUyIDQzMmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6bTM2MC00MGE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAweiJdfSxYY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhc2gtYXJyb3ctdXAiLGljb246WzQ0OCw1MTIsWyJ0cmFzaC1yZXN0b3JlIl0sImY4MjkiLCJNMTY3LjEtMTZsMTEzLjkgMGMxMy44IDAgMjYgOC44IDMwLjQgMjEuOUwzMjAgMzIgNDE2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmw5NiAwIDguNy0yNi4xQzE0MS4xLTcuMiAxNTMuMy0xNiAxNjcuMS0xNnpNMzIgMTQ0bDM4NCAwLTIxLjEgMzIzLjFDMzkzLjMgNDkyLjQgMzcyLjMgNTEyIDM0NyA1MTJMMTAxIDUxMmMtMjUuMyAwLTQ2LjMtMTkuNi00Ny45LTQ0LjlMMzIgMTQ0em0yMDkgNzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC03MiA3MmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMxLTMxIDAgMTAyLjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwMi4xIDMxIDMxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzItNzJ6Il19LHJrdD1YY2UsYWt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpZmUtcmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjFjZCIsIk0zNjcuMiA0MTIuNUMzMzUuOSA0MzQuOSAyOTcuNSA0NDggMjU2IDQ0OHMtNzkuOS0xMy4xLTExMS4yLTM1LjVsNTgtNThjMTUuOCA4LjYgMzQgMTMuNSA1My4zIDEzLjVzMzcuNC00LjkgNTMuMy0xMy41bDU4IDU4em05MC43IC44YzMzLjgtNDMuNCA1NC05OCA1NC0xNTcuM1M0OTEuOCAxNDIuMSA0NTggOTguN2M5LTEyLjUgNy45LTMwLjEtMy40LTQxLjNTNDI1LjggNDUgNDEzLjMgNTRDMzY5LjkgMjAuMiAzMTUuMyAwIDI1NiAwUzE0Mi4xIDIwLjIgOTguNyA1NGMtMTIuNS05LTMwLjEtNy45LTQxLjMgMy40UzQ1IDg2LjIgNTQgOTguN0MyMC4yIDE0Mi4xIDAgMTk2LjcgMCAyNTZTMjAuMiAzNjkuOSA1NCA0MTMuM2MtOSAxMi41LTcuOSAzMC4xIDMuNCA0MS4zUzg2LjIgNDY3IDk4LjcgNDU4YzQzLjQgMzMuOCA5OCA1NCAxNTcuMyA1NHMxMTMuOS0yMC4yIDE1Ny4zLTU0YzEyLjUgOSAzMC4xIDcuOSA0MS4zLTMuNHMxMi40LTI4LjggMy40LTQxLjN6bS00NS41LTQ2LjFsLTU4LTU4YzguNi0xNS44IDEzLjUtMzQgMTMuNS01My4zcy00LjktMzcuNC0xMy41LTUzLjNsNTgtNThDNDM0LjkgMTc2LjEgNDQ4IDIxNC41IDQ0OCAyNTZzLTEzLjEgNzkuOS0zNS41IDExMS4yek0zNjcuMiA5OS41bC01OCA1OGMtMTUuOC04LjYtMzQtMTMuNS01My4zLTEzLjVzLTM3LjQgNC45LTUzLjMgMTMuNWwtNTgtNThDMTc2LjEgNzcuMSAyMTQuNSA2NCAyNTYgNjRzNzkuOSAxMy4xIDExMS4yIDM1LjV6TTE1Ny41IDMwOS4zbC01OCA1OEM3Ny4xIDMzNS45IDY0IDI5Ny41IDY0IDI1NnMxMy4xLTc5LjkgMzUuNS0xMTEuMmw1OCA1OGMtOC42IDE1LjgtMTMuNSAzNC0xMy41IDUzLjNzNC45IDM3LjQgMTMuNSA1My4zek0yMDggMjU2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LGlrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb3B5cmlnaHQiLGljb246WzUxMiw1MTIsWzE2OV0sImYxZjkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwNS4xIDMwNi45YzI4LjEgMjguMSA3My43IDI4LjEgMTAxLjggMCA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTQ2LjkgNDYuOS0xMjIuOCA0Ni45LTE2OS43IDBzLTQ2LjktMTIyLjggMC0xNjkuNyAxMjIuOC00Ni45IDE2OS43IDBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwcy0yOC4xIDczLjcgMCAxMDEuOHoiXX0sbmt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtcHJlc2NyaXB0aW9uIixpY29uOlszODQsNTEyLFtdLCJmNTcyIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek04OCAxOTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCAyMi41IDAgNTguNCA1NS0zMy40IDMxLjZjLTkuNiA5LjEtMTAuMSAyNC4zLS45IDMzLjlzMjQuMyAxMC4xIDMzLjkgLjlsMzUuNC0zMy41IDM1LjYgMzMuNWM5LjcgOS4xIDI0LjggOC42IDMzLjktMXM4LjYtMjQuOC0xLTMzLjlsLTMzLjYtMzEuNiAzMy42LTMxLjhjOS42LTkuMSAxMC4xLTI0LjMgLjktMzMuOXMtMjQuMy0xMC4xLTMzLjktLjlsLTM1LjcgMzMuNy00MC45LTM4LjVjMTIuOS0xMS43IDIxLjEtMjguNiAyMS4xLTQ3LjUgMC0zNS4zLTI4LjctNjQtNjQtNjRsLTU2IDB6bTMyIDgwbC04IDAgMC0zMiAzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0yNCAweiJdfSxza3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXJhc2VyIixpY29uOls1NzYsNTEyLFtdLCJmMTJkIiwiTTE3OC41IDQxNmwxMjMgMCA2NS4zLTY1LjMtMTczLjUtMTczLjUtMTI2LjcgMTI2LjcgMTEyIDExMnpNMjI0IDQ4MGwtNDUuNSAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0wxNyAzNDVDNi4xIDMzNC4xIDAgMzE5LjQgMCAzMDRzNi4xLTMwLjEgMTctNDFMMjYzIDE3QzI3My45IDYuMSAyODguNiAwIDMwNCAwczMwLjEgNi4xIDQxIDE3TDUyNyAxOTljMTAuOSAxMC45IDE3IDI1LjYgMTcgNDFzLTYuMSAzMC4xLTE3IDQxbC0xMzUgMTM1IDEyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yODggMHoiXX0sUWNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXJnbGFzcy1zdGFydCIsaWNvbjpbMzg0LDUxMixbImhvdXJnbGFzcy0xIl0sImYyNTEiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMWw2Ny45IDY3LjktNjcuOSA2Ny45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTY3LjktNjcuOSA2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMlMzNjkuNyAwIDM1MiAwTDMyIDB6TTI4OCA0MzdsMCAxMS0xOTIgMCAwLTExYzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45bDY3LjktNjcuOSA2Ny45IDY3LjljMTggMTggMjguMSA0Mi40IDI4LjEgNjcuOXoiXX0sb2t0PVFjZSxKY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWxlZnQiLGljb246WzUxMiw1MTIsWzYxODQwLCJhcnJvdy1hbHQtY2lyY2xlLWxlZnQiXSwiZjM1OSIsIk01MTIgMjU2YTI1NiAyNTYgMCAxIDAgLTUxMiAwIDI1NiAyNTYgMCAxIDAgNTEyIDB6TTEyNC43IDI0NC43bDEwNC0xMDRjNC42LTQuNiAxMS41LTUuOSAxNy40LTMuNXM5LjkgOC4zIDkuOSAxNC44bDAgNTYgOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgNTZjMCA2LjUtMy45IDEyLjMtOS45IDE0LjhzLTEyLjkgMS4xLTE3LjQtMy41bC0xMDQtMTA0Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnoiXX0sbGt0PUpjZSxja3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3J1emVpcm8tc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTE1MiIsIk0yNDAgOTZjLTg4LjQgMC0xNjAgNzEuNi0xNjAgMTYwIDAgNzEuNiA0Ny4xIDEzMi4zIDExMiAxNTIuN0wxOTIgMjU2YzAtMTMuMyAxMC43LTI0IDI0LTI0IDEyLjggMCAyMy4zIDEwLjEgMjQgMjIuNyAxNS41LTkuNSAzMy41LTE0LjcgNTIuMy0xNC43bDExLjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEuOCAwYy0xOC44IDAtMzYuMSAxMC00NS40IDI2LjMtNC41IDcuOS02LjkgMTYuOC02LjkgMjUuOWwwIDc1LjhjNDIuNSAwIDgxLjEtMTYuNiAxMDkuOC00My42IDEyLjktMTIuMSAzMy4xLTExLjUgNDUuMiAxLjNzMTEuNSAzMy4xLTEuMyA0NS4yQzM1My43IDQ1Ni44IDI5OS41IDQ4MCAyNDAgNDgwIDExNi4zIDQ4MCAxNiAzNzkuNyAxNiAyNTZTMTE2LjMgMzIgMjQwIDMyYzU5LjUgMCAxMTMuNyAyMy4yIDE1My43IDYxLjEgMTIuOSAxMi4xIDEzLjQgMzIuNCAxLjMgNDUuMnMtMzIuNCAxMy40LTQ1LjIgMS4zQzMyMS4xIDExMi42IDI4Mi41IDk2IDI0MCA5NnoiXX0sZGt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNtb2tpbmciLGljb246WzU3Niw1MTIsWzEyODY4NF0sImY0OGQiLCJNMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxOWMwIDQwLjMgMTYgNzkgNDQuNSAxMDcuNWwyMSAyMUM0NjkgMTkxIDQ4MCAyMTcuNCA0ODAgMjQ1bDAgMTljMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xOWMwLTE0LjktNS45LTI5LjEtMTYuNC0zOS42bC0yMS0yMUMzNTcuMSAxNDYuOSAzMzYgOTYgMzM2IDQzbDAtMTljMC0xMy4zIDEwLjctMjQgMjQtMjR6TTU1MiAyODhjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTljMC00MC4zLTE2LTc5LTQ0LjUtMTA3LjVsLTIxLTIxQzQ0MyA5NyA0MzIgNzAuNiA0MzIgNDNsMC0xOWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTljMCAxNC45IDUuOSAyOS4xIDE2LjQgMzkuNmwyMSAyMUM1NTQuOSAxNDEuMSA1NzYgMTkyIDU3NiAyNDVsMCAxOWMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNMzIwIDQ0OGw5NiAwIDAtMzItOTYgMCAwIDMyek0wIDQxNmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMnptNTc2LTQwbDAgMTEyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LEtjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcG9sbC12ZXJ0aWNhbCIsaWNvbjpbNDQ4LDUxMixbInBvbGwiXSwiZjY4MSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem01NiAxOTJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMTJjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTE4NCA4OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OHpNMjI0IDEyOGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDIwOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTIwOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0sdWt0PUtjZSxwa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNpcmNsZS1taW51cyIsaWNvbjpbNjQwLDUxMixbXSwiZTU0MCIsIk0yODAgMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN0wzNDEgMjg2LjZjMTIuOC0xNy41IDI4LjUtMzIuNyA0Ni4zLTQ1bC01Ni4yLTc1LjdDMzA2IDEzMiAyNjYuMyAxMTIgMjI0IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42TDE0NCAyMzYuNyAxNDQgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTY0IDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxMjggMGM4LjggMCAxNiA3LjIgMTYgMTZ6Il19LGZrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiaW9oYXphcmQiLGljb246WzU3Niw1MTIsWzk3NjNdLCJmNzgwIiwiTTI2MCAxMi42YzAtOC4zLTcuNi0xNC41LTE1LjUtMTIuMS02MC45IDE4LjgtMTA1LjEgNzUuOC0xMDUuMSAxNDMuMSAwIDI1LjEgNi4xIDQ4LjcgMTcgNjkuNS0yMSAxLjgtNDIgOC4yLTYxLjUgMTkuNS01Ny45IDMzLjYtODQuOCAxMDAuMi03MC45IDE2Mi41IDEuOSA4LjQgMTEuNCAxMiAxOC45IDcuNiA1LTIuOSA3LjYtOC42IDcuMS0xNC40LS4zLTMuMy0uNC02LjYtLjQtMTAuMSAwLTEyMy41IDE4NC40LTEyMy41IDE4NC40IDAgMCA4OC40LTk0LjUgMTEzLjYtMTQ4LjIgNzUuNC00LjUtMy4yLTEwLjUtMy45LTE1LjMtMS4xLTcgNC4xLTguNiAxMy42LTIuNyAxOS4xIDQ2LjYgNDMuOCAxMTggNTMuOSAxNzYuMSAyMC4yIDE3LjktMTAuNCAzMi44LTIzLjkgNDQuNS0zOS40IDExLjcgMTUuNiAyNi42IDI5LjEgNDQuNSAzOS40IDU4LjEgMzMuNyAxMjkuNSAyMy42IDE3Ni4xLTIwLjIgNS45LTUuNSA0LjMtMTUuMS0yLjctMTkuMS00LjgtMi44LTEwLjgtMi4xLTE1LjMgMS4xLTUzLjcgMzguMi0xNDguMiAxMy0xNDguMi03NS40IDAtMTIzLjUgMTg0LjQtMTIzLjUgMTg0LjQgMCAwIDMuNC0uMSA2LjgtLjQgMTAuMS0uNSA1LjggMi4xIDExLjUgNy4xIDE0LjQgNy40IDQuMyAxNyAuOCAxOC45LTcuNiAxMy45LTYyLjItMTMtMTI4LjktNzAuOS0xNjIuNS0xOS41LTExLjMtNDAuNC0xNy43LTYxLjUtMTkuNSAxMC45LTIwLjggMTctNDQuNCAxNy02OS41IDAtNjcuMy00NC4yLTEyNC4zLTEwNS4xLTE0My4xLTcuOS0yLjQtMTUuNSAzLjgtMTUuNSAxMi4xIDAgNS45IDQgMTEgOS41IDEzLjIgODMuNCAzMy42IDcwLjggMTc4LjQtMzcuOCAxNzguNFMxNjcuMSA1OS40IDI1MC41IDI1LjhjNS41LTIuMiA5LjUtNy4zIDkuNS0xMy4yek0yNDguNCAyODhhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNNDM1IDMxNy43Yy0xNi4yIDAtMzEuNCA1LjUtNDIuMSAxNS0xMC4xIDkuMS0xOC4xIDIzLjQtMTguMSA0NS42IDAgMjEuMSA3LjIgMzUgMTYuNSA0NC4xIDMyLjItMjQuNiA1NS41LTYwLjUgNjMuOS0xMDEuOC02LjMtMS45LTEzLjItMy0yMC4yLTN6TTIwMiAzNzguM2MwLTIyLjMtOC0zNi42LTE4LjEtNDUuNi0xMC43LTkuNi0yNS45LTE1LTQyLjEtMTUtNyAwLTEzLjkgMS0yMC4yIDMgOC40IDQxLjMgMzEuNiA3Ny4yIDYzLjkgMTAxLjggOS40LTkuMSAxNi41LTIzLjEgMTYuNS00NC4yem00MS4yLTIyNC4zYzkgMTAuMiAyMy4yIDE4LjIgNDUuMiAxOC4yczM2LjItOCA0NS4yLTE4LjJjNi43LTcuNiAxMS41LTE3LjUgMTMuNi0yOC40LTE4LjMtNi44LTM4LjItMTAuNS01OC44LTEwLjVzLTQwLjUgMy43LTU4LjggMTAuNWMyLjIgMTAuOSA2LjkgMjAuOCAxMy42IDI4LjV6Il19LGUwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWxsLWNvbmNpZXJnZSIsaWNvbjpbNTEyLDUxMixbMTI4NzE4LCJjb25jaWVyZ2UtYmVsbCJdLCJmNTYyIiwiTTIxNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNiAwIDAgMzMuM0MxMjQuOCAxNTYuNyA0MC4yIDI0My43IDMyLjYgMzUybDQ0Ni45IDBDNDcxLjggMjQzLjcgMzg3LjIgMTU2LjcgMjgwIDE0NS4zbDAtMzMuMyAxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwek0yNCA0MDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMjQgNDAweiJdfSxoa3Q9ZTBlLG1rdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWxlci1ob3Jpem9udGFsIixpY29uOls1NzYsNTEyLFtdLCJmNTQ3IiwiTTQ4IDM4NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMjQgMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0IDQ4IDAgMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzIgNDggMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0IDQ4IDAgMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzIgNDggMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0IDI0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjBjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggMzg0eiJdfSxna3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9yc2UiLGljb246WzU3Niw1MTIsWzEyODAxNF0sImY2ZjAiLCJNNDQ4IDIzOC4xbDAtNzguMSAxNiAwIDkuOCAxOS42YzEyLjUgMjUuMSA0Mi4yIDM2LjQgNjguMyAyNiAyMC41LTguMiAzMy45LTI4IDMzLjktNTAuMUw1NzYgODBjMC0xOS4xLTguNC0zNi4zLTIxLjctNDhsNS43IDBjOC44IDAgMTYtNy4yIDE2LTE2UzU2OC44IDAgNTYwIDBMNDQ4IDBDMzc3LjMgMCAzMjAgNTcuMyAzMjAgMTI4bC0xNzEuMiAwQzExOC4xIDEyOCA5MS4yIDE0NC4zIDc2LjMgMTY4LjggMzMuMiAxNzQuNSAwIDIxMS40IDAgMjU2bDAgNTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTU2YzAtMTMuNCA2LjYtMjUuMiAxNi43LTMyLjUgMS42IDEzIDYuMyAyNS40IDEzLjYgMzYuNGwyOC4yIDQyLjRjOC4zIDEyLjQgNi40IDI4LjctMS4yIDQxLjYtMTYuNSAyOC0yMC42IDYyLjItMTAgOTMuOWwxNy41IDUyLjRjNC40IDEzLjEgMTYuNiAyMS45IDMwLjQgMjEuOWwzMy43IDBjMjEuOCAwIDM3LjMtMjEuNCAzMC40LTQyLjFsLTIwLjgtNjIuNWMtMi4xLTYuNC0uNS0xMy40IDQuMy0xOC4ybDEyLjctMTIuN2MxMy4yLTEzLjIgMjAuNi0zMS4xIDIwLjYtNDkuNyAwLTIuMy0uMS00LjYtLjMtNi45bDg0IDI0YzQuMSAxLjIgOC4yIDIuMSAxMi4zIDIuOEwzMjAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjQuM2MxOS4yLTE5LjIgMzEuNS00NS43IDMyLTc1LjdsMCAwIDAtMS45ek00OTYgNjRhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyeiJdfSxia3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXIiLGljb246WzQ0OCw1MTIsWzEyODE5NywxMjgxOThdLCJmMTMzIiwiTTEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMmwwIDMyLTMyIDBDMjguNyA2NCAwIDkyLjcgMCAxMjhsMCA0OCA0NDggMCAwLTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMi0xMjggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0wIDIyNEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5Mi00NDggMHoiXX0sdmt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWhvbGRpbmctY2hpbGQiLGljb246WzY0MCw1MTIsW10sImU0ZmEiLCJNMzIwLTMyYTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHpNNDAgNjRjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAxNjAuMmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2w1MS4xIDUxLjFjOC4zIDguMyAyMS4zIDkuNiAzMSAzLjEgMTIuOS04LjYgMTQuNy0yNi45IDMuNy0zNy44LTcuMy03LjMtMjMuMS0yMy4xLTQ3LjItNDcuMi0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwYzI0LjEgMjQuMSAzOS45IDM5LjkgNDcuMiA0Ny4ybDAgMCAyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMmwwIDc4LjljMCAyNi41LTIxLjUgNDgtNDggNDhsLTY2LjcgMGMtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMjguMSAzOTMuNEMxMC4xIDM3NS40IDAgMzUxIDAgMzI1LjVMMCAxMDRDMCA4MS45IDE3LjkgNjQgNDAgNjR6bTU2MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMjIxLjVjMCAyNS41LTEwLjEgNDkuOS0yOC4xIDY3LjlMNTEyIDQ5My4zYy0xMiAxMi0yOC4zIDE4LjctNDUuMyAxOC43TDQwMCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNzguOWMwLTI5LjcgMTEuOC01OC4yIDMyLjgtNzkuMmwyNS4zLTI1LjMgMCAwYzcuMy03LjMgMjMuMS0yMy4xIDQ3LjItNDcuMiAxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zYy0yNC4xIDI0LjEtMzkuOSAzOS45LTQ3LjIgNDcuMi0xMSAxMS05LjIgMjkuMiAzLjcgMzcuOCA5LjcgNi41IDIyLjcgNS4yIDMxLTMuMWw1MS4xLTUxLjFjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w1NjAgMTA0YzAtMjIuMSAxNy45LTQwIDQwLTQwek0zODQuNSAxNDlsLTE5LjgtMTYuNyAxMS4xIDg4LjhjMS42IDEzLjItNy43IDI1LjEtMjAuOCAyNi44cy0yNS4xLTcuNy0yNi44LTIwLjhsLTQuNC0zNS03LjYgMC00LjQgMzVjLTEuNiAxMy4yLTEzLjYgMjIuNS0yNi44IDIwLjhzLTIyLjUtMTMuNi0yMC44LTI2LjhsMTEuMS04OC44LTE5LjggMTYuN2MtMTAuMSA4LjYtMjUuMyA3LjMtMzMuOC0yLjhzLTcuMy0yNS4zIDIuOC0zMy44bDI3LjktMjMuNkMyNzEuMyA3Mi44IDI5NS4zIDY0IDMyMCA2NHM0OC43IDguOCA2Ny42IDI0LjdsMjcuOSAyMy42YzEwLjEgOC42IDExLjQgMjMuNyAyLjggMzMuOHMtMjMuNyAxMS40LTMzLjggMi44eiJdfSx4a3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaXRhbGljIixpY29uOlszODQsNTEyLFtdLCJmMDMzIiwiTTEyOCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNTguNyAwLTEzMy4zIDMyMCA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw1OC43IDAgMTMzLjMtMzIwLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSx5a3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2hhbmRhIixpY29uOls1MTIsNTEyLFs5NzcyXSwiZjY2ZCIsIk0yNDAuNyA4YzguOS03LjQgMjEuOC03LjQgMzAuNyAwbDM3LjggMzEuNWM4LjcgNy4zIDExLjEgMTkuNiA2IDI5LjYtMS4yIDIuNC0yLjggNS41LTQuNiA5LjIgMzQuMiAxOS4yIDU3LjMgNTUuOCA1Ny4zIDk3LjhzLTIzLjEgNzguNi01Ny4zIDk3LjhjMS44IDMuNyAzLjMgNi44IDQuNiA5LjIgNS4xIDEwIDIuNyAyMi4zLTYgMjkuNmwtMzcuMiAzMSAwIDE5LjhjMjIuOS0xNS43IDQ4LjQtMzMuMyA3Ni43LTUyLjcgNDIuOC0yOS40IDY4LjQtNzggNjguNC0xMzBsMC0xMS4xYzAtMjMuOS03LjEtNDcuMy0yMC40LTY3LjItNS4xLTcuNy00LjYtMTcuOCAxLjctMjQuNiA2LjYtNy4xIDE3LjItOC4xIDI1LjItMi44IDI3LjUgMTguMSA4OS40IDY3LjUgODkuNCAxNDkuMSAwIDQ2LjUtMjAuMiA4OC42LTQxLjggMTIwLjQtMjEuNiAzMi00NS42IDU1LTU1LjMgNjMuOC03LjggNy4xLTE5IDcuOS0yNy42IDNsLTcwLjgtNDAuMy0zMi43IDIyLjUgNDUuNSAzMS4zYzEuOC0uNCAzLjctLjcgNS43LS43IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0xMi4yIDAtMjIuMy05LjEtMjMuOC0yMWwtNDAuMi0yNy42IDAgMjguOWM5LjYgNS41IDE2IDE1LjkgMTYgMjcuNyAwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTExLjggNi40LTIyLjIgMTYtMjcuN2wwLTI4LjEtNDAuMyAyNy43Yy0xLjggMTEuNC0xMS44IDIwLjEtMjMuNyAyMC4xLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMi4yIDAgNC40IC4zIDYuNSAuOWw0NS44LTMxLjUtMzIuNy0yMi41LTcwLjggNDAuM2MtOC43IDQuOS0xOS44IDQuMS0yNy42LTMtOS43LTguOC0zMy43LTMxLjktNTUuMy02My44LTIxLjUtMzEuOC00MS44LTczLjktNDEuOC0xMjAuNCAwLTgxLjcgNjEuOS0xMzEuMSA4OS40LTE0OS4xIDguMS01LjMgMTguNi00LjMgMjUuMiAyLjggNi40IDYuOSA2LjggMTcgMS43IDI0LjYtMTMuMyAxOS45LTIwLjQgNDMuMy0yMC40IDY3LjJsMCAxMS4xYzAgNTEuOSAyNS42IDEwMC42IDY4LjQgMTMwIDI4LjQgMTkuNiA1My43IDM2LjkgNzUuNiA1MmwwLTE5LjEtMzcuMi0zMWMtOC43LTcuMy0xMS4xLTE5LjYtNi0yOS42IDEuMi0yLjQgMi44LTUuNSA0LjYtOS4yLTM0LjItMTkuMi01Ny4zLTU1LjgtNTcuMy05Ny44czIzLjEtNzguNiA1Ny4zLTk3LjhjLTEuOC0zLjctMy4zLTYuOC00LjYtOS4yLTUuMS0xMC0yLjctMjIuMyA2LTI5LjZMMjQwLjcgOHpNMjIwLjMgMTIyLjljLTE3IDExLjUtMjguMiAzMS0yOC4yIDUzLjFzMTEuMiA0MS42IDI4LjIgNTMuMWM2LjgtMTkuMiAxMS44LTM4LjQgMTEuOC01My4xcy00LjktMzMuOS0xMS44LTUzLjF6bTcxLjUgMTA2LjJjMTctMTEuNSAyOC4yLTMxIDI4LjItNTMuMXMtMTEuMi00MS42LTI4LjItNTMuMWMtNi44IDE5LjItMTEuOCAzOC40LTExLjggNTMuMXM0LjkgMzMuOSAxMS44IDUzLjF6Il19LHQwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWZyb3duLW9wZW4iLGljb246WzUxMiw1MTIsWzEyODU1MCwiZnJvd24tb3BlbiJdLCJmNTdhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTE4Mi40IDM4Mi41Yy0xMi40IDUuMi0yNi41LTQuMS0yMS4xLTE2LjQgMTYtMzYuNiA1Mi40LTYyLjEgOTQuOC02Mi4xczc4LjggMjUuNiA5NC44IDYyLjFjNS40IDEyLjMtOC43IDIxLjYtMjEuMSAxNi40LTIyLjQtOS41LTQ3LjQtMTQuOC03My43LTE0LjhzLTUxLjMgNS4zLTczLjcgMTQuOHoiXX0sd2t0PXQwZSxxQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVjayIsaWNvbjpbNDQ4LDUxMixbMTAwMDMsMTAwMDRdLCJmMDBjIiwiTTQzNC44IDcwLjFjMTQuMyAxMC40IDE3LjUgMzAuNCA3LjEgNDQuN2wtMjU2IDM1MmMtNS41IDcuNi0xNCAxMi4zLTIzLjQgMTMuMXMtMTguNS0yLjctMjUuMS05LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTAxLjUgMTAxLjUgMjM0LTMyMS43YzEwLjQtMTQuMyAzMC40LTE3LjUgNDQuNy03LjF6Il19LE1rdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaW5nZXJwcmludCIsaWNvbjpbNTEyLDUxMixbXSwiZjU3NyIsIk00OCAyNTZjMC0xMTQuOSA5My4xLTIwOCAyMDgtMjA4IDYzLjEgMCAxMTkuNiAyOC4xIDE1Ny44IDcyLjUgOC42IDEwLjEgMjMuOCAxMS4yIDMzLjggMi42czExLjItMjMuOCAyLjYtMzMuOEM0MDMuMyAzNC42IDMzMy43IDAgMjU2IDAgMTE0LjYgMCAwIDExNC42IDAgMjU2bDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwem00NTguNS01Mi45Yy0yLjctMTMtMTUuNS0yMS4zLTI4LjQtMTguNXMtMjEuMyAxNS41LTE4LjUgMjguNGMyLjkgMTMuOSA0LjUgMjguMyA0LjUgNDMuMWwwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MGMwLTE4LjEtMS45LTM1LjgtNS41LTUyLjl6TTI1NiA4MGMtMTkgMC0zNy40IDMtNTQuNSA4LjYtMTUuMiA1LTE4LjcgMjMuNy04LjMgMzUuOSA3LjEgOC4zIDE4LjggMTAuOCAyOS40IDcuOSAxMC42LTIuOSAyMS44LTQuNCAzMy40LTQuNCA3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGwwIDI0LjljMCAyNS4yLTEuNSA1MC4zLTQuNCA3NS4zLTEuNyAxNC42IDkuNCAyNy44IDI0LjIgMjcuOCAxMS44IDAgMjEuOS04LjYgMjMuMy0yMC4zIDMuMy0yNy40IDUtNTUgNS04Mi43bDAtMjQuOWMwLTk3LjItNzguOC0xNzYtMTc2LTE3NnpNMTUwLjcgMTQ4LjdjLTkuMS0xMC42LTI1LjMtMTEuNC0zMy45LS40LTIzLjEgMjkuOC0zNi44IDY3LjEtMzYuOCAxMDcuN2wwIDI0LjljMCAyNC4yLTIuNiA0OC40LTcuOCA3MS45LTMuNCAxNS42IDcuOSAzMS4xIDIzLjkgMzEuMSAxMC41IDAgMTkuOS03IDIyLjItMTcuMyA2LjQtMjguMSA5LjctNTYuOCA5LjctODUuOGwwLTI0LjljMC0yNy4yIDguNS01Mi40IDIyLjktNzMuMSA3LjItMTAuNCA4LTI0LjYtLjItMzQuMnpNMjU2IDE2MGMtNTMgMC05NiA0My05NiA5NmwwIDI0LjljMCAzNS45LTQuNiA3MS41LTEzLjggMTA2LjEtMy44IDE0LjMgNi43IDI5IDIxLjUgMjkgOS41IDAgMTcuOS02LjIgMjAuNC0xNS40IDEwLjUtMzkgMTUuOS03OS4yIDE1LjktMTE5LjdsMC0yNC45YzAtMjguNyAyMy4zLTUyIDUyLTUyczUyIDIzLjMgNTIgNTJsMCAyNC45YzAgMzYuMy0zLjUgNzIuNC0xMC40IDEwNy45LTIuNyAxMy45IDcuNyAyNy4yIDIxLjggMjcuMiAxMC4yIDAgMTktNyAyMS0xNyA3LjctMzguOCAxMS42LTc4LjMgMTEuNi0xMTguMWwwLTI0LjljMC01My00My05Ni05Ni05NnptMjQgOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNC45YzAgNTkuOS0xMSAxMTkuMy0zMi41IDE3NS4ybC01LjkgMTUuM2MtNC44IDEyLjQgMS40IDI2LjMgMTMuOCAzMXMyNi4zLTEuNCAzMS0xMy44bDUuOS0xNS4zQzI2Ny45IDQxMS45IDI4MCAzNDYuNyAyODAgMjgwLjlsMC0yNC45eiJdfSxra3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcmdpbmctc3RhdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZjVlNyIsIk02NCA2NEM2NCAyOC43IDkyLjcgMCAxMjggMEwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIyNGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDEyYzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtMTI3LjdjLTMyLjUtMTAuMi01Ni00MC41LTU2LTc2LjNsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMTYgMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA0OCAzMiAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4IDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCAzNS44LTIzLjUgNjYuMS01NiA3Ni4zTDUyMCAzODBjMCAzNy42LTMwLjQgNjgtNjggNjhzLTY4LTMwLjQtNjgtNjhsMC0xMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwwIDEyOS40YzkuMyAzLjMgMTYgMTIuMiAxNiAyMi42IDAgMTMuMy0xMC43IDI0LTI0IDI0TDcyIDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjQgMC0xMC41IDYuNy0xOS4zIDE2LTIyLjZMNjQgNjR6bTgyLjcgMTI1LjdsMzkgMC0yMC45IDY2LjljLTIuNCA3LjYgMy4zIDE1LjQgMTEuMyAxNS40IDIuOSAwIDUuNi0xIDcuOC0yLjlsOTQuNi04MmMzLjEtMi43IDQuOS02LjYgNC45LTEwLjcgMC03LjgtNi4zLTE0LjEtMTQuMS0xNC4xbC0zOSAwIDIwLjktNjYuOWMyLjQtNy42LTMuMy0xNS40LTExLjMtMTUuNC0yLjkgMC01LjYgMS03LjggMi45bC05NC42IDgyYy0zLjEgMi43LTQuOSA2LjYtNC45IDEwLjcgMCA3LjggNi4zIDE0LjEgMTQuMSAxNC4xeiJdfSxTa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1sb2NrIixpY29uOls1NzYsNTEyLFtdLCJmNTAyIiwiTTIyNCA4YTEyMCAxMjAgMCAxIDEgMCAyNDAgMTIwIDEyMCAwIDEgMSAwLTI0MHpNMTk0LjMgMzA0bDU5LjQgMGMyOS43IDAgNTcuNyA3LjMgODIuMyAyMC4xbDAgNC4zYy0xOS42IDE3LjYtMzIgNDMuMS0zMiA3MS41bDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUw0NS43IDUxMkMyOS4zIDUxMiAxNiA0OTguNyAxNiA0ODIuMyAxNiAzODMuOCA5NS44IDMwNCAxOTQuMyAzMDR6bTMwMS43IC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNMzUyIDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0scjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS1zY3JlZW4tYnV0dG9uIixpY29uOlszODQsNTEyLFsibW9iaWxlLWFsdCJdLCJmM2NkIiwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBMMzA0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwxNiA2NHptNjQgMGwwIDMwNCAyMjQgMCAwLTMwNC0yMjQgMHpNMTkyIDQ3MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyIDE0LjMgMzIgMzIgMzJ6Il19LHprdD1yMGUsQ2t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuY2hvci1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU0YWEiLCJNMzIwIDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6TTI4OCAwYy01MyAwLTk2IDQzLTk2IDk2IDAgNDEuOCAyNi43IDc3LjQgNjQgOTAuNWwwIDI1Ny45Yy02Mi45LTE0LjMtMTEwLjItNjkuNy0xMTEuOS0xMzYuNWwxNi4xIDE0LjFjMTAgOC43IDI1LjEgNy43IDMzLjktMi4zczcuNy0yNS4xLTIuMy0zMy45bC02NC01NmMtOS03LjktMjIuNi03LjktMzEuNiAwbC02NCA1NmMtMTAgOC43LTExIDIzLjktMi4zIDMzLjlzMjMuOSAxMSAzMy45IDIuM0w4MCAzMDcuOWMyLjEgMTEzLjEgOTQuNCAyMDQuMSAyMDggMjA0LjEgMTYuNiAwIDMyLjctMS45IDQ4LjItNS42LTIwLjMtMzAuNS0zMi4yLTY3LTMyLjItMTA2LjQgMC0yNy4zIDUuNy01My4zIDE2LTc2LjlsMC0xMzYuNmMzNy4zLTEzLjIgNjQtNDguNyA2NC05MC41IDAtNTMtNDMtOTYtOTYtOTZ6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxhMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctd2l0aC1jYW5lIixpY29uOls1NzYsNTEyLFsiYmxpbmQiXSwiZjI5ZCIsIk0yMjQtMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTE2MCAyMDUuM2wtMjIuNiAyMi42Yy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCAzNy41YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzcuNWMwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOWwzNC40LTM0LjRjMjMuMi0yMy4yIDU0LjYtMzYuMiA4Ny4zLTM2LjIgMzYuMSAwIDcwLjMgMTUuOCA5My44IDQzLjFsNjguNiA4MGMxMS41IDEzLjQgOS45IDMzLjYtMy41IDQ1LjFzLTMzLjYgOS45LTQ1LjEtMy41bC01NS43LTY1IDAgMTE4LjYgMzQuNSAyOS42YzE3LjcgMTUuMiAyOS4zIDM2LjIgMzIuNiA1OS4zbDEyLjYgODguMWMyLjUgMTcuNS05LjcgMzMuNy0yNy4yIDM2LjJzLTMzLjctOS43LTM2LjItMjcuMmwtMTIuNi04OC4xYy0xLjEtNy43LTUtMTQuNy0xMC45LTE5LjhsLTcxLjQtNjEuMmMtMjEuMy0xOC4yLTMzLjUtNDQuOS0zMy41LTcyLjlsMC02OS4zem0uMSAxNjUuOGMyLjQgMi4zIDQuOCA0LjYgNy40IDYuOGw0NiAzOS40LTIuMiA3LjZjLTQuNSAxNS43LTEyLjkgMzAtMjQuNCA0MS41bC02OC4zIDY4LjNjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDY4LjMtNjguM2MzLjgtMy44IDYuNi04LjYgOC4xLTEzLjhMMTYwLjEgMzcxem0yMzMuNS02Mi4yYzEwLjYtOCAyNS42LTUuOCAzMy42IDQuOGwxNDQgMTkyYzggMTAuNiA1LjggMjUuNi00LjggMzMuNnMtMjUuNiA1LjgtMzMuNi00LjhsLTE0NC0xOTJjLTgtMTAuNi01LjgtMjUuNiA0LjgtMzMuNnoiXX0sVGt0PWEwZSxpMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS13YXZlZm9ybSIsaWNvbjpbMzg0LDUxMixbImZpbGUtbWVkaWNhbC1hbHQiXSwiZjQ3OCIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtOTYgNjAuMyAwIDQ4LjggNjIuN2M1LjEgNi42IDEzLjMgMTAgMjEuNiA5LjFzMTUuNS02LjEgMTkuMS0xMy42bDQyLjktOTEuMiA5LjkgMTkuOGM0LjEgOC4xIDEyLjQgMTMuMyAyMS41IDEzLjNsNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTcuMiAwLTI1LjQtNTAuN2MtNC4xLTguMi0xMi42LTEzLjQtMjEuOC0xMy4zcy0xNy41IDUuNS0yMS40IDEzLjhsLTQ3LjMgMTAwLjYtMzItNDEuMUM4Ni40IDMwNy40IDc5LjQgMzA0IDcyIDMwNEwwIDMwNCAwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6Il19LF9rdD1pMGUsTGt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNyYWNrIixpY29uOls1MTIsNTEyLFtdLCJlM2IxIiwiTTI3Ny44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTMTguOCAyNzIgMzIgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsODYuNCAwLTMxLjMtNTIuMmMtNC4xLTYuOC0yLjYtMTUuNSAzLjUtMjAuNUwyNTYgMzY4IDE5NS44IDI4NS4yYy0xMC45LTE1IDguMi0zMy41IDIyLjgtMjJsMTE3LjkgOTIuNmM4IDYuMyA4LjIgMTguNCAuNCAyNC45TDI1NiA0NDggMjk0LjQgNTEyIDQwMCA1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNzYgMTYgMGMxMy4yIDAgMjUtOC4xIDI5LjgtMjAuM3MxLjYtMjYuMi04LTM1LjFsLTIyNC0yMDh6Il19LCRrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYXQtd2l6YXJkIixpY29uOls1MTIsNTEyLFtdLCJmNmU4IiwiTTY0IDQwMGw4NS43LTIwOC4yYzE3LTQxLjMgNDcuOC03NS4zIDg3LjItOTYuM0wzODMuOCAxNy4yYzEyLjMtNi42IDI2LjUgNC43IDIzIDE4LjJMMzY5LjYgMTc3LjhjLTEuMSA0LjEtMS42IDguMy0xLjYgMTIuNiAwIDYuMyAxLjIgMTIuNiAzLjYgMTguNWw3Ni40IDE5MS4xLTIwNy4xIDAgMTEuOC0zNS40IDQwLjQtMTMuNWM2LjUtMi4yIDEwLjktOC4zIDEwLjktMTUuMnMtNC40LTEzLTEwLjktMTUuMmwtNDAuNC0xMy41LTEzLjUtNDAuNEMyMzcgMjYwLjQgMjMwLjkgMjU2IDIyNCAyNTZzLTEzIDQuNC0xNS4yIDEwLjlsLTEzLjUgNDAuNC00MC40IDEzLjVDMTQ4LjQgMzIzIDE0NCAzMjkuMSAxNDQgMzM2czQuNCAxMyAxMC45IDE1LjJsNDAuNCAxMy41IDExLjggMzUuNC0xNDMuMSAwek0yNzkuNiAxNDEuNWMtMS4xLTMuMy00LjEtNS41LTcuNi01LjVzLTYuNSAyLjItNy42IDUuNWwtNi43IDIwLjItMjAuMiA2LjdjLTMuMyAxLjEtNS41IDQuMS01LjUgNy42czIuMiA2LjUgNS41IDcuNmwyMC4yIDYuNyA2LjcgMjAuMmMxLjEgMy4zIDQuMSA1LjUgNy42IDUuNXM2LjUtMi4yIDcuNi01LjVsNi43LTIwLjIgMjAuMi02LjdjMy4zLTEuMSA1LjUtNC4xIDUuNS03LjZzLTIuMi02LjUtNS41LTcuNmwtMjAuMi02LjctNi43LTIwLjJ6TTMyIDQ0OGw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LG4wZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWRvY3RvciIsaWNvbjpbNDQ4LDUxMixbInVzZXItbWQiXSwiZjBmMCIsIk0yMjQgOGExMjAgMTIwIDAgMSAwIDAgMjQwIDEyMCAxMjAgMCAxIDAgMC0yNDB6bTYwIDMxMi44Yy01LjQtLjUtMTEtLjgtMTYuNi0uOGwtODYuOSAwYy01LjYgMC0xMS4xIC4zLTE2LjYgLjhsMCA2Ny41YzE2LjUgNy42IDI4IDI0LjMgMjggNDMuNiAwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTE5LjQgMTEuNS0zNi4xIDI4LTQzLjZsMC01OC40QzYxIDM1MyAxNiA0MTMuNiAxNiA0ODQuNiAxNiA0OTkuNyAyOC4zIDUxMiA0My40IDUxMmwzNjEuMSAwYzE1LjEgMCAyNy40LTEyLjMgMjcuNC0yNy40IDAtNzEtNDUtMTMxLjUtMTA4LTE1NC42bDAgMzcuNGMyMy4zIDguMiA0MCAzMC41IDQwIDU2LjZsMCAzMmMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC0zMmMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjBsMCAzMmMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC0zMmMwLTI2LjEgMTYuNy00OC4zIDQwLTU2LjZsMC00Ni42eiJdfSxEa3Q9bjBlLHMwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1iYXIiLGljb246WzUxMiw1MTIsWyJiYXItY2hhcnQiXSwiZjA4MCIsIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMzNmMwIDguOCA3LjIgMTYgMTYgMTZsNDAwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMODAgNDgwYy00NC4yIDAtODAtMzUuOC04MC04MEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyem05NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA4MGwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTEybDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sQWt0PXMwZSxvMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3ByYXktY2FuLXNwYXJrbGVzIixpY29uOls1NzYsNTEyLFsiYWlyLWZyZXNoZW5lciJdLCJmNWQwIiwiTTE2MCAzMmwwIDgwIDEyOCAwIDAtODBjMC0xNy43LTE0LjMtMzItMzItMzJMMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0wIDEyOGMtNTMgMC05NiA0My05NiA5NmwwIDIwOGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyMjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTIwOGMwLTUzLTQzLTk2LTk2LTk2bC0xMjggMHptNjQgOTZhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTQ0OCA0OGMwLTEuNC0xLTMtMi4yLTMuNkw0MTYgMzIgNDAzLjYgMi4yQzQwMyAxIDQwMS40IDAgNDAwIDBzLTMgMS0zLjYgMi4yTDM4NCAzMiAzNTQuMiA0NC40Yy0xLjIgLjYtMi4yIDIuMi0yLjIgMy42IDAgMS40IDEgMyAyLjIgMy42TDM4NCA2NCAzOTYuNCA5My44QzM5NyA5NSAzOTguNiA5NiA0MDAgOTZzMy0xIDMuNi0yLjJMNDE2IDY0IDQ0NS44IDUxLjZDNDQ3IDUxIDQ0OCA0OS40IDQ0OCA0OHptNzYuNCA0NS44QzUyNSA5NSA1MjYuNiA5NiA1MjggOTZzMy0xIDMuNi0yLjJMNTQ0IDY0IDU3My44IDUxLjZjMS4yLS42IDIuMi0yLjIgMi4yLTMuNiAwLTEuNC0xLTMtMi4yLTMuNkw1NDQgMzIgNTMxLjYgMi4yQzUzMSAxIDUyOS40IDAgNTI4IDBzLTMgMS0zLjYgMi4yTDUxMiAzMiA0ODIuMiA0NC40Yy0xLjIgLjYtMi4yIDIuMi0yLjIgMy42IDAgMS40IDEgMyAyLjIgMy42TDUxMiA2NCA1MjQuNCA5My44em03LjIgMTAwLjRjLS42LTEuMi0yLjItMi4yLTMuNi0yLjJzLTMgMS0zLjYgMi4yTDUxMiAyMjQgNDgyLjIgMjM2LjRjLTEuMiAuNi0yLjIgMi4yLTIuMiAzLjYgMCAxLjQgMSAzIDIuMiAzLjZMNTEyIDI1NiA1MjQuNCAyODUuOGMuNiAxLjIgMi4yIDIuMiAzLjYgMi4yczMtMSAzLjYtMi4yTDU0NCAyNTYgNTczLjggMjQzLjZjMS4yLS42IDIuMi0yLjIgMi4yLTMuNiAwLTEuNC0xLTMtMi4yLTMuNkw1NDQgMjI0IDUzMS42IDE5NC4yek01MTIgMTQ0YzAtMS40LTEtMy0yLjItMy42TDQ4MCAxMjggNDY3LjYgOTguMkM0NjcgOTcgNDY1LjQgOTYgNDY0IDk2cy0zIDEtMy42IDIuMkw0NDggMTI4IDQxOC4yIDE0MC40Yy0xLjIgLjYtMi4yIDIuMi0yLjIgMy42IDAgMS40IDEgMyAyLjIgMy42TDQ0OCAxNjAgNDYwLjQgMTg5LjhjLjYgMS4yIDIuMiAyLjIgMy42IDIuMnMzLTEgMy42LTIuMkw0ODAgMTYwIDUwOS44IDE0Ny42YzEuMi0uNiAyLjItMi4yIDIuMi0zLjZ6Il19LEVrdD1vMGUsSWt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhaHQtc2lnbiIsaWNvbjpbMzIwLDUxMixbXSwiZTBhYyIsIk0xMzYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0MC03NC40IDBDMTYuOCA2NCAwIDgwLjggMCAxMDEuNkwwIDQwNi4zYzAgMjMgMTguNyA0MS43IDQxLjcgNDEuN2w3MC4zIDAgMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAgNDggMGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMiAwLTQwLjEtMjEuMS03NS4zLTUyLjctOTUuMSAxMy4xLTE4LjMgMjAuNy00MC43IDIwLjctNjQuOSAwLTYxLjktNTAuMS0xMTItMTEyLTExMmwtMTYgMCAwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0xMTIgMTI4bDAgOTYtNDggMCAwLTk2IDQ4IDB6bTQ4IDk2bDAtOTYgMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTYgMHptLTQ4IDY0bDAgOTYtNDggMCAwLTk2IDQ4IDB6bTQ4IDk2bDAtOTYgNDggMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtNDggMHoiXX0sbDBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWFycm93LXVwIixpY29uOls1MTIsNTEyLFsidGVtcGVyYXR1cmUtdXAiXSwiZTA0MCIsIk02NC41IDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxNjQuN2MyOS41IDI2LjQgNDggNjQuNyA0OCAxMDcuMyAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NHMtMTQ0LTY0LjUtMTQ0LTE0NGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w2NC41IDk2em05NiAzMzZjMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMjEyLjdjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMTIuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0ek00MzkuMSA5LjRsNjQgNjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTkuNC05LjQgMCAxNzguN2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE3OC43LTkuNCA5LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDY0LTY0YzYtNiAxNC4xLTkuNCAyMi42LTkuNHMxNi42IDMuNCAyMi42IDkuNHoiXX0sUGt0PWwwZSxOa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2ViLWF3ZXNvbWUiLGljb246WzY0MCw1MTIsW10sImU2ODIiLCJNMzcyLjIgNTJjMCAyMC45LTEyLjQgMzktMzAuMiA0Ny4yTDQ0OCAxOTIgNTUyLjQgMTcxLjFjLTUuMy03LjctOC40LTE3LjEtOC40LTI3LjEgMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGMwIDI2LTIwLjYgNDcuMS00Ni40IDQ4TDQ4MSA0NDIuM2MtMTAuMyAyMy0zMy4yIDM3LjctNTguNCAzNy43bC0yMDUuMiAwYy0yNS4yIDAtNDgtMTQuOC01OC40LTM3LjdMNDYuNCAxOTJDMjAuNiAxOTEuMSAwIDE3MCAwIDE0NCAwIDExNy41IDIxLjUgOTYgNDggOTZzNDggMjEuNSA0OCA0OGMwIDEwLjEtMy4xIDE5LjQtOC40IDI3LjFMMTkyIDE5MiAyOTguMSA5OS4xYy0xNy43LTguMy0zMC0yNi4zLTMwLTQ3LjEgMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MnoiXX0sRmt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5vbi1iaW5hcnkiLGljb246WzM4NCw1MTIsW10sImU4MDciLCJNMTkyIDU0NGMtOTcuMiAwLTE3Ni03OC44LTE3Ni0xNzYgMC04Ni4zIDYyLjEtMTU4IDE0NC0xNzNsMC00Ny4yLTQ5LjcgMjQuOC0zIDEuM2MtMTUuMiA1LjctMzIuNS0uOC0zOS45LTE1LjctNy40LTE0LjgtMi4yLTMyLjYgMTEuNS00MS4zbDIuOC0xLjYgMzguOC0xOS40LTM4LjgtMTkuNGMtMTUuOC03LjktMjIuMi0yNy4xLTE0LjMtNDIuOSA3LjQtMTQuOCAyNC44LTIxLjQgNDAtMTUuNmwzIDEuMyA0OS43IDI0LjggMC00NC4yYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0NC4yIDQ5LjctMjQuOCAzLTEuM2MxNS4yLTUuOCAzMi41IC44IDM5LjkgMTUuNnMyLjIgMzIuNy0xMS41IDQxLjNsLTIuOCAxLjYtMzguNyAxOS40IDM4LjcgMTkuM2MxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45LTcuNCAxNC44LTI0LjcgMjEuNC0zOS45IDE1LjZsLTMtMS4zLTQ5LjctMjQuOCAwIDQ3LjJjODEuOSAxNS4xIDE0NCA4Ni44IDE0NCAxNzMgMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZ6bTAtNjRhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0eiJdfSxPa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibiIsaWNvbjpbMzg0LDUxMixbMTEwXSwiNGUiLCJNMjEuMSAzMy45YzEyLjctNC42IDI2LjktLjcgMzUuNSA5LjZMMzIwIDM1OS42IDMyMCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzg0YzAgMTMuNS04LjQgMjUuNS0yMS4xIDMwLjFzLTI2LjkgLjctMzUuNS05LjZMNjQgMTUyLjQgNjQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NEMwIDUwLjUgOC40IDM4LjUgMjEuMSAzMy45eiJdfSxjMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXVwLWRvd24tbGVmdC1yaWdodCIsaWNvbjpbNTEyLDUxMixbImFycm93cyJdLCJmMDQ3IiwiTTI3OC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDkuNC05LjQgMCAxMTQuNy0xMTQuNyAwIDkuNC05LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05LjQtOS40IDExNC43IDAgMCAxMTQuNy05LjQtOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtOS40IDkuNCAwLTExNC43IDExNC43IDAtOS40IDkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDkuNCA5LjQtMTE0LjcgMCAwLTExNC43IDkuNCA5LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjR6Il19LFJrdD1jMGUsbmI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UiLGljb246WzUxMiw1MTIsWzEyNzk2OCw2MzQ5OCw2MzUwMCwiaG9tZSIsImhvbWUtYWx0IiwiaG9tZS1sZy1hbHQiXSwiZjAxNSIsIk0yNzcuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzE4LjggMjcyIDMyIDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2IDE2IDBjMTMuMiAwIDI1LTguMSAyOS44LTIwLjNzMS42LTI2LjItOC0zNS4xbC0yMjQtMjA4ek0yNDAgMzIwbDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5Ni0xMjggMCAwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4eiJdfSxCa3Q9bmIsSGt0PW5iLHFrdD1uYixqa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Bpbm5lciIsaWNvbjpbNTEyLDUxMixbXSwiZjExMCIsIk0yMDggNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMCA0MTZhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNNDggMjA4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptMzY4IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTc1IDM2OS4xQTQ4IDQ4IDAgMSAxIDE0Mi45IDQzNyA0OCA0OCAwIDEgMSA3NSAzNjkuMXpNNzUgNzVBNDggNDggMCAxIDEgMTQyLjkgMTQyLjkgNDggNDggMCAxIDEgNzUgNzV6TTQzNyAzNjkuMUE0OCA0OCAwIDEgMSAzNjkuMSA0MzcgNDggNDggMCAxIDEgNDM3IDM2OS4xeiJdfSxkMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2F2ZWwiLGljb246WzU3Niw1MTIsWyJsZWdhbCJdLCJmMGUzIiwiTTE2OS42IDE1My40bC0xOC43LTE4LjdjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zTDI2NS42LTI1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBMMzI5LjYtNi42YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zTDIxNC45IDE1My40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHpNMjc2IDIxMS43bC0zMS40LTMxLjQgMTEyLTExMiAxMTkuNCAxMTkuNC0xMTIgMTEyLTMxLjQtMzEuNC0yMzIgMjMyYy0xNS42IDE1LjYtNDAuOSAxNS42LTU2LjYgMHMtMTUuNi00MC45IDAtNTYuNmwyMzItMjMyek0zOTAuOSAzNzQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNMNTA1LjYgMjE0LjZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTguNyAxOC43YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zTDQ1NC45IDM5My40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTguNy0xOC43eiJdfSxWa3Q9ZDBlLHUwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aWNrZXQtc2ltcGxlIixpY29uOls1NzYsNTEyLFsidGlja2V0LWFsdCJdLCJmM2ZmIiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCA4LjgtNy40IDE1LjctMTUuNyAxOC42LTE4LjggNi41LTMyLjMgMjQuNC0zMi4zIDQ1LjRzMTMuNSAzOC45IDMyLjMgNDUuNGM4LjMgMi45IDE1LjcgOS44IDE1LjcgMTguNmwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NEMwIDMxMS4yIDcuNCAzMDQuMyAxNS43IDMwMS40IDM0LjUgMjk0LjkgNDggMjc3IDQ4IDI1NnMtMTMuNS0zOC45LTMyLjMtNDUuNEM3LjQgMjA3LjcgMCAyMDAuOCAwIDE5MmwwLTY0eiJdfSxVa3Q9dTBlLFdrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkb3ZlIixpY29uOls1MTIsNTEyLFsxMjgzMzBdLCJmNGJhIiwiTTQ5NiA2NGMxMy4yIDAgMjAuNyAxNS4xIDEyLjggMjUuNkw0ODAgMTI4IDQ4MCAzMDRjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRsLTExMiAwLTQ2LjMgNDYuM2MtMTAuNCAxMC40LTI2LjUgMTIuNC0zOS4xIDQuOEw0MS41IDQ0MC45Yy0xNy0xMC4yLTE1LTM1LjUgMy40LTQyLjlMMTYwIDM1MkMyMy44IDMxMS4xIDcuNSAxNjkuOCAyMiA5NS43IDI1LjYgNzcuOSA0NS4zIDcxLjQgNjEuMyA4MC4yTDMyMCAyMjQgMzIwIDE0NGMwLTQ0LjIgMzUuOC04MCA4MC04MGw5NiAwem0tOTYgNTZhMjQgMjQgMCAxIDAgMCA0OCAyNCAyNCAwIDEgMCAwLTQ4ek0xODIuNS05LjZjMTIuNC0xMy43IDMzLjMtOC45IDQyLjUgNy4xbDU2LjQgOTguM2MtNS44IDE0LjQtOS4yIDMwLjEtOS40IDQ2LjVMMTM4LjEgNjhjMTAuMS0zMS42IDI3LTU4LjQgNDQuNC03Ny42eiJdfSxHa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFycC1kcm9wbGV0IixpY29uOls1MTIsNTEyLFtdLCJlNTdjIiwiTTI1NiAxNjBjMzUuMyAwIDY0LTI2LjkgNjQtNjAgMC0yNC0zMy43LTcwLjEtNTIuMi05My41LTYuMS03LjctMTcuNS03LjctMjMuNiAwLTE4LjUgMjMuNC01Mi4yIDY5LjUtNTIuMiA5My41IDAgMzMuMSAyOC43IDYwIDY0IDYwek0zNjggOTZjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJTMTQ0IDE1Ny45IDE0NCA5NmMwLTExLjEgMS42LTIxLjkgNC42LTMyTDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI3Ny41IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMNDkzLjMgMzIyLjdjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w1MTIgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC04NC42IDBjMyAxMC4xIDQuNiAyMC45IDQuNiAzMnptODUuNSAxNzZMMzM2IDM4OS41IDMzNiAyOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsOTMuNSAwek05NiAxMjhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxZa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJlZS1jaXR5IixpY29uOls2NDAsNTEyLFtdLCJlNTg3IiwiTTI4OCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDggNDggMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA3MiAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzIwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yNTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC00MTZ6bTY0IDY0bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTM1MiAzMDRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNNTI4IDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek01MTIgMzA0bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTk2IDQ4MGwwLTE2MC0xNiAwYy00NC4yIDAtODAtMzUuOC04MC04MCAwLTI2LjcgMTMuMS01MC4zIDMzLjItNjQuOS0uOC00LjktMS4yLTEwLTEuMi0xNS4xIDAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCA5NmMwIDM1LjMtMjguNyA2NC02NCA2NGwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnoiXX0scDBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InR1cm4tdXAiLGljb246WzM4NCw1MTIsWzEwNTQ4LCJsZXZlbC11cC1hbHQiXSwiZjNiZiIsIk0xNjkuNCA5LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTI4IDEyOGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOVMzMzIuOSAxOTIgMzIwIDE5MmwtNjQgMCAwIDE2MGMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MGwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTYwLTY0IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45bDEyOC0xMjh6Il19LFprdD1wMGUsc2I9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtcXVhcnRlciIsaWNvbjpbMzIwLDUxMixbInRlbXBlcmF0dXJlLTEiLCJ0aGVybW9tZXRlci0xIiwidGhlcm1vbWV0ZXItcXVhcnRlciJdLCJmMmNhIiwiTTE2MCAwQzEwNyAwIDY0IDQzIDY0IDk2bDAgMTY0LjdDMzQuNSAyODcgMTYgMzI1LjQgMTYgMzY4IDE2IDQ0Ny41IDgwLjUgNTEyIDE2MCA1MTJzMTQ0LTY0LjUgMTQ0LTE0NGMwLTQyLjYtMTguNS04MS00OC0xMDcuM0wyNTYgOTZjMC01My00My05Ni05Ni05NnptNjQgMzY4YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0YzAtMjYuOSAxNi41LTQ5LjkgNDAtNTkuM2wwLTI4LjdjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDI4LjdjMjMuNSA5LjUgNDAgMzIuNSA0MCA1OS4zeiJdfSxYa3Q9c2IsUWt0PXNiLEprdD1zYixmMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2xpZGVycyIsaWNvbjpbNTEyLDUxMixbInNsaWRlcnMtaCJdLCJmMWRlIiwiTTMyIDY0QzE0LjMgNjQgMCA3OC4zIDAgOTZzMTQuMyAzMiAzMiAzMmw4Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhMNDgwIDEyOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwyNjUuMyA2NEMyNTMgMzUuNyAyMjQuOCAxNiAxOTIgMTZzLTYxIDE5LjctNzMuMyA0OEwzMiA2NHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjQ2LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4czYxLTE5LjcgNzMuMy00OGw1NC43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTU0LjcgMGMtMTIuMy0yOC4zLTQwLjUtNDgtNzMuMy00OHMtNjEgMTkuNy03My4zIDQ4TDMyIDIyNHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTQuNyAwYzEyLjMgMjguMyA0MC41IDQ4IDczLjMgNDhzNjEtMTkuNyA3My4zLTQ4TDQ4MCA0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI0Ni43IDBjLTEyLjMtMjguMy00MC41LTQ4LTczLjMtNDhzLTYxIDE5LjctNzMuMyA0OEwzMiAzODR6Il19LEtrdD1mMGUsZVN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vc3F1ZSIsaWNvbjpbNTc2LDUxMixbMTI4MzMyXSwiZjY3OCIsIk0xNzQuOCAyMjRsMjI2LjQgMGM0My41IDAgNzguOC0zNS4zIDc4LjgtNzguOCAwLTI1LjUtMTIuMy00OS40LTMzLjEtNjQuMkwyOTcuMy0yNS40Yy01LjYtMy45LTEzLTMuOS0xOC41IDBMMTI5LjEgODFDMTA4LjMgOTUuOCA5NiAxMTkuNyA5NiAxNDUuMiA5NiAxODguNyAxMzEuMyAyMjQgMTc0LjggMjI0ek01MTIgNTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDgtNDQ4IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDIwNi4zIDAgMjI0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwek0yNDAgMzg0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCA4MC05NiAwIDAtODB6Il19LHRTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoIixpY29uOlszODQsNTEyLFsxMDRdLCI0OCIsIk0zMjAgMjg4bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNjAtMjU2IDAgMC0xNjBjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MCAyNTYgMHoiXX0sclN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZm8iLGljb246WzE5Miw1MTIsW10sImYxMjkiLCJNNDggNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtMjI0LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxoMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmciLGljb246WzM4NCw1MTIsWzEyODY5NCwid2Fsa2luZyJdLCJmNTU0IiwiTTE5MiA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNMTA1LjQgMjI3LjlsMjIuNi0yMi42IDAgNjkuM2MwIDI4IDEyLjIgNTQuNyAzMy41IDcyLjlsNzEuNCA2MS4yYzUuOSA1LjEgOS44IDEyLjEgMTAuOSAxOS44bDEyLjYgODguMWMyLjUgMTcuNSAxOC43IDI5LjcgMzYuMiAyNy4yczI5LjctMTguNyAyNy4yLTM2LjJsLTEyLjYtODguMWMtMy4zLTIzLjEtMTQuOS00NC4xLTMyLjYtNTkuM2wtMzQuNS0yOS42IDAtMTE1LjIgMy44IDQuN2MxOC4yIDIyLjggNDUuOCAzNiA3NSAzNmwzMy4yIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMzLjIgMGMtOS43IDAtMTguOS00LjQtMjUtMTJsLTE3LjktMjIuNGMtMjMtMjguOC01Ny45LTQ1LjYtOTQuOC00NS42LTMyLjIgMC02My4xIDEyLjgtODUuOCAzNS42TDYwLjEgMTgyLjZDNDIuMSAyMDAuNiAzMiAyMjUgMzIgMjUwLjVMMzIgMjg4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNy41YzAtOC41IDMuNC0xNi42IDkuNC0yMi42em0xMi40IDE3OS40Yy0xLjUgNS4yLTQuMyAxMC04LjEgMTMuOEw0MS40IDQ4OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY4LjMtNjguM2MxMS41LTExLjUgMTkuOS0yNS44IDI0LjQtNDEuNWwyLjItNy42LTQ2LTM5LjRjLTIuNS0yLjItNS00LjQtNy40LTYuOGwtMTAuNCAzNi4yeiJdfSxhU3Q9aDBlLG0wZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy10dXJuLWRvd24iLGljb246WzM4NCw1MTIsWyJsZXZlbC1kb3duIl0sImYxNDkiLCJNMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMlMxNC4zIDAgMzIgMGw5NiAwYzUzIDAgOTYgNDMgOTYgOTZsMCAzMDYuNyA3My40LTczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMTI4IDEyOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTEyOC0xMjhjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMTYwIDQwMi43IDE2MCA5NmMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiA2NHoiXX0saVN0PW0wZSxuU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZCIsaWNvbjpbNTEyLDUxMixbMTI4NzM5XSwiZjAxOCIsIk0yMjMuOSAzMmwtNzYuMiAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkwxLjQgNDIwLjVDLTYuMSA0NTAuNyAxNi44IDQ4MCA0OCA0ODBsMTc1LjkgMCAwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NCAxNzYuMSAwYzMxLjIgMCA1NC4xLTI5LjMgNDYuNi01OS41TDQyNi41IDgwLjZDNDE5LjQgNTIuMSAzOTMuOCAzMiAzNjQuMyAzMmwtNzYuNCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptNjQgMTkybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyeiJdfSxzU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3BpcmFsIixpY29uOls1MTIsNTEyLFtdLCJlODBhIiwiTTExNS41IDcuNGMxMy42LTExLjMgMzMuOC05LjUgNDUuMSA0LjFzOS41IDMzLjgtNC4xIDQ1LjFDMTAwLjIgMTAzLjUgNjQgMTc1LjIgNjQgMjU2IDY0IDM2MiAxNTAgNDQ4IDI1NiA0NDhzMTkyLTg2IDE5Mi0xOTJjMC03NS4xLTYwLjktMTM2LTEzNi0xMzZTMTc2IDE4MC45IDE3NiAyNTZjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTQ4LjYgMzkuNC04OCA4OC04OHM4OCAzOS40IDg4IDg4YzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzExMiAzMzUuNSAxMTIgMjU2YzAtMTEwLjUgODkuNS0yMDAgMjAwLTIwMHMyMDAgODkuNSAyMDAgMjAwYzAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTZTMCAzOTcuNCAwIDI1NkMwIDE1NS44IDQ1IDY2LjEgMTE1LjUgNy40eiJdfSxnMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1mcm93biIsaWNvbjpbNTEyLDUxMixbOTc4NSwiZnJvd24iXSwiZjExOSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptOTAuNi0xMTMuOWMtMjAuNC0yOC01My40LTQ2LjEtOTAuNi00Ni4xcy03MC4yIDE4LjEtOTAuNiA0Ni4xYy03LjggMTAuNy0yMi44IDEzLjEtMzMuNSA1LjNzLTEzLjEtMjIuOC01LjMtMzMuNUMxNTUuNyAzMzAgMjAyLjggMzA0IDI1NiAzMDRzMTAwLjMgMjYgMTI5LjQgNjUuOWM3LjggMTAuNyA1LjQgMjUuNy01LjMgMzMuNXMtMjUuNyA1LjQtMzMuNS01LjN6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sb1N0PWcwZSxiMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZS1nbGFzcy1lbXB0eSIsaWNvbjpbMzIwLDUxMixbIndpbmUtZ2xhc3MtYWx0Il0sImY1Y2UiLCJNNjQgMEM0OC43IDAgMzUuNiAxMC44IDMyLjYgMjUuN0wzLjIgMTczQzEuMSAxODMuNSAwIDE5NC4yIDAgMjA1bDAgM2MwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOGwwIDExNS4yLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC0xMTUuMkMyNjUgMzUwIDMyMCAyODUuNCAzMjAgMjA4bDAtM2MwLTEwLjctMS4xLTIxLjQtMy4yLTMyTDI4Ny40IDI1LjdDMjg0LjQgMTAuOCAyNzEuMyAwIDI1NiAwTDY0IDB6bTEuOSAxODUuNkw5MC4yIDY0IDIyOS44IDY0IDI1NC4xIDE4NS42YzEuMyA2LjQgMS45IDEyLjkgMS45IDE5LjRsMCAzYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bDAtM2MwLTYuNSAuNi0xMyAxLjktMTkuNHoiXX0sbFN0PWIwZSxjU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xhcHBlcmJvYXJkIixpY29uOls1MTIsNTEyLFtdLCJlMTMxIiwiTTQ0OCA2NGMyIDAgMy45IC4xIDUuOCAuM2wtOTUuNyA5NS43IDY3LjkgMCA3Mi03MmM4LjggMTEgMTQgMjQuOSAxNCA0MGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDcwLjEgMC05NiA5NiA2Ny45IDAgOTUtOTUgMS0xIDkyLjEgMC05NiA5NiA2Ny45IDAgOTUtOTUgMS0xIDg2LjEgMHoiXX0sdjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvcndhcmQtc3RlcCIsaWNvbjpbMzg0LDUxMixbInN0ZXAtZm9yd2FyZCJdLCJmMDUxIiwiTTIxIDM2LjhjMTIuOS03IDI4LjctNi4zIDQxIDEuOEwzMjAgMjA4LjEgMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzODRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDQuMS0yNTggMTY5LjZjLTEyLjMgOC4xLTI4IDguOC00MSAxLjhTMCA0NTQuNyAwIDQ0MEwwIDcyQzAgNTcuMyA4LjEgNDMuOCAyMSAzNi44eiJdfSxkU3Q9djBlLHgwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtdXAtcmlnaHQiLGljb246WzQ0OCw1MTIsWzg1OTksImV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCJdLCJmMzYwIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTE2OCAxNjBjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzUgMzUtNjcgNjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDI0IDI0YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDY3LTY3IDM1IDM1YzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJTMzIwIDMyMS43IDMyMCAzMTJsMC0xMjhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTEyOCAweiJdfSx1U3Q9eDBlLHkwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLWpvdXJuYWwtd2hpbGxzIixpY29uOls0NDgsNTEyLFsiam91cm5hbC13aGlsbHMiXSwiZjY2YSIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMjc0LjEgOTkuMmMyLjYtMi42IDYuNy0zLjEgOS45LTEuMSAzMi4xIDIwIDUzLjQgNTUuNiA1My40IDk2LjIgMCA2Mi42LTUwLjcgMTEzLjMtMTEzLjMgMTEzLjNTMTEwLjcgMjU2LjkgMTEwLjcgMTk0LjNjMC00MC42IDIxLjQtNzYuMiA1My40LTk2LjIgMy4xLTIgNy4yLTEuNSA5LjkgMS4xczMuMSA2LjcgMS4yIDkuOGMtNS4yIDguNi04LjIgMTguNy04LjIgMjkuNSAwIDE1LjEgNS45IDI4LjggMTUuNSAzOS4xIDIuNSAyLjcgMi45IDYuNyAuOSA5LjctNC43IDcuNC03LjQgMTYuMS03LjQgMjUuNSAwIDIxLjYgMTQuMyAzOS45IDM0IDQ1LjlsMS0yNC44Yy03LjEtNC40LTExLjgtMTIuMi0xMS44LTIxLjEgMC05LjYgNS41LTE4IDEzLjUtMjIuMWwzLjMtODEuOGMuMi00LjMgMy43LTcuNyA4LTcuN3M3LjggMy40IDggNy43bDMuMyA4MS44YzggNC4xIDEzLjUgMTIuNCAxMy41IDIyLjEgMCA4LjktNC43IDE2LjctMTEuOCAyMS4xbDEgMjQuOGMxOS42LTYgMzMuOS0yNC4xIDM0LTQ1LjZsMC0uNmMtLjEtOS4zLTIuNy0xNy45LTcuNC0yNS4yLTEuOS0zLjEtMS42LTcuMSAuOS05LjcgOS42LTEwLjIgMTUuNS0yMy45IDE1LjUtMzkuMSAwLTEwLjgtMy0yMC45LTguMi0yOS41LTEuOS0zLjItMS40LTcuMiAxLjItOS44eiJdfSxwU3Q9eTBlLHcwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFtcGFnbmUtZ2xhc3NlcyIsaWNvbjpbNjQwLDUxMixbMTI5MzQ2LCJnbGFzcy1jaGVlcnMiXSwiZjc5ZiIsIk0xNTUuNiAxNy4zQzE2MyAzIDE3OS45LTMuNiAxOTUgMS45bDEyNSA0NS42IDEyNS00NS42YzE1LjEtNS41IDMyIDEuMSAzOS40IDE1LjRsNzguOCAxNTIuOWMyOC44IDU1LjggMTAuMyAxMjIuMy0zOC41IDE1Ni42bDMxLjMgODYuMiA0MS0xNWMxNi42LTYgMzUgMi41IDQxIDE5LjFzLTIuNSAzNS0xOS4xIDQxYy00Ny40IDE3LjMtOTQuOCAzNC41LTE0Mi4yIDUxLjgtMTYuNiA2LjEtMzUtMi41LTQxLTE5LjFzMi41LTM1IDE5LjEtNDFsNDEtMTUtMzEuMy04Ni4yYy01OS40IDUuMi0xMTYuMi0zMy45LTEzMC05NS4ybC0xNC42LTY0LjctMTQuNiA2NC43Yy0xMy44IDYxLjMtNzAuNiAxMDAuNC0xMzAgOTUuMmwtMzEuMyA4Ni4yIDQxIDE1YzE2LjYgNi4xIDI1LjIgMjQuNCAxOS4xIDQxcy0yNC40IDI1LjItNDEgMTkuMWMtNDcuNC0xNy4zLTk0LjgtMzQuNi0xNDIuMi01MS44LTE2LjYtNi4xLTI1LjItMjQuNC0xOS4xLTQxUzI2LjMgMzkyIDQyLjkgMzk4bDQxIDE1IDMxLjMtODYuMkM2Ni41IDI5Mi41IDQ4LjEgMjI2IDc2LjkgMTcwLjJMMTU1LjYgMTcuM3ptNDQgNTQuNGwtMjcuMiA1Mi44IDg5LjIgMzIuNSAxMy4xLTU3LjktNzUuMS0yNy40em0yNDAuOSAwbC03NS4xIDI3LjQgMTMuMSA1Ny45IDg5LjItMzIuNS0yNy4yLTUyLjh6Il19LGZTdD13MGUsaFN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImR1bXBzdGVyIixpY29uOls1NzYsNTEyLFtdLCJmNzkzIiwiTTEzMi4zIDY0TDEwNi43IDE5MiAyNCAxOTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNC4xYzAtMi42IC40LTUuMSAxLjItNy42TDI2LjUgODAuNEMyOS44IDcwLjYgMzkgNjQgNDkuMyA2NGw4MyAwem0yMy40IDEyOGwyNS42LTEyOCA4Mi43IDAgMCAxMjgtMTA4LjMgMHpNMzEyIDY0bDgyLjcgMCAyNS42IDEyOC0xMDguMyAwIDAtMTI4em0xMzEuNyAwbDgzIDBjMTAuMyAwIDE5LjUgNi42IDIyLjggMTYuNGwyNS4zIDc1LjljLjggMi40IDEuMiA1IDEuMiA3LjZsMCA0LjFjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTgyLjcgMC0yNS42LTEyOHpNMjUuNyAyNDBsNTI0LjcgMGMtLjQgMi4xLTEzLjMgNzMuNC0zOC45IDIxMy43LTMgMTYuMy0xNy45IDI3LjYtMzQuNCAyNi4xUzQ0OCA0NjQuNiA0NDggNDQ4bDAtMTYtMzIwIDAgMCAxNmMwIDE2LjYtMTIuNiAzMC40LTI5LjEgMzEuOVM2Ny41IDQ3MCA2NC41IDQ1My43QzM5IDMxMy4zIDI2IDI0Mi4xIDI1LjcgMjQweiJdfSxtU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLXhtYXJrIixpY29uOls1NzYsNTEyLFtdLCJlNTAxIiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxNy42LTMuNCAzNS42LTkuNSA1My43LTIxLjgtOC42LTQ1LjYtMTMuNC03MC41LTEzLjQtMTA2IDAtMTkyIDg2LTE5MiAxOTIgMCAyOC41IDYuMiA1NS42IDE3LjQgODAtLjUgMC0uOSAwLTEuNCAwLTE1LjUgMC0zMC44LTQuNi00My4xLTE0LjEtNzMtNTUuNy0yMTIuOS0xODYtMjEyLjktMjk4LjJsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6TTQzMiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em01OS4zIDEwNy4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTM2LjcgMzYuNy0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsMzYuNyAzNi43LTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDM2LjctMzYuNyAzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zNi43LTM2LjcgMzYuNy0zNi43eiJdfSxnU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcHV0ZXIiLGljb246WzU3Niw1MTIsW10sImU0ZTUiLCJNMzQ4LjggMzJDMzQwLjcgNDYuMSAzMzYgNjIuNSAzMzYgODBsMCAxNi0yNzIgMCAwIDIyNCAyNzIgMCAwIDY0LTI3MiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDI4NC44IDB6TTMzNiA0MzJjMCAxNy41IDQuNyAzMy45IDEyLjggNDhMMTIwIDQ4MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyMTYgMHpNNDMyIDMybDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMzUyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em0yNCA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6bTU2IDE0NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxNMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2FuZC1tYWdpYyIsaWNvbjpbNTEyLDUxMixbIm1hZ2ljIl0sImYwZDAiLCJNMzk4LjUgMTIuMmwtODguMiA4OC4yIDEwMS4zIDEwMS4zIDg4LjItODguMkM1MDcuNiAxMDUuNiA1MTIgOTUgNTEyIDg0cy00LjQtMjEuNi0xMi4yLTI5LjVMNDU3LjUgMTIuMkM0NDkuNiA0LjQgNDM5IDAgNDI4IDBzLTIxLjYgNC40LTI5LjUgMTIuMnpNMjc2LjQgMTM0LjNMMTIuMiAzOTguNUM0LjQgNDA2LjQgMCA0MTcgMCA0MjhzNC40IDIxLjYgMTIuMiAyOS41bDQyLjMgNDIuM0M2Mi40IDUwNy42IDczIDUxMiA4NCA1MTJzMjEuNi00LjQgMjkuNS0xMi4yTDM3Ny43IDIzNS42IDI3Ni40IDEzNC4zeiJdfSxiU3Q9TTBlLHZTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmFpbiIsaWNvbjpbNTEyLDUxMixbMTI5NTA0XSwiZjVkYyIsIk0xMjAgNTZjMC0zMC45IDI1LjEtNTYgNTYtNTZsMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMjkuOCAwLTU0LjktMjAuNC02Mi00OC0uNyAwLTEuMyAwLTIgMC00NC4yIDAtODAtMzUuOC04MC04MCAwLTE4IDYtMzQuNiAxNi00OC0xOS40LTE0LjYtMzItMzcuOC0zMi02NCAwLTMwLjkgMTcuNi01Ny44IDQzLjItNzEuMS03LjEtMTItMTEuMi0yNi0xMS4yLTQwLjkgMC00NC4yIDM1LjgtODAgODAtODBsMC0yNHptMjcyIDBsMCAyNGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDE1LTQuMSAyOS0xMS4yIDQwLjkgMjUuNyAxMy4zIDQzLjIgNDAuMSA0My4yIDcxLjEgMCAyNi4yLTEyLjYgNDkuNC0zMiA2NCAxMCAxMy40IDE2IDMwIDE2IDQ4IDAgNDQuMi0zNS44IDgwLTgwIDgwLS43IDAtMS4zIDAtMiAwLTcuMSAyNy42LTMyLjIgNDgtNjIgNDhsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI0IDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZ6Il19LHhTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmllZmNhc2UtbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbXSwiZjQ2OSIsIk0yMDAgNDhsMTEyIDBjNC40IDAgOCAzLjYgOCA4bDAgNDAtMTI4IDAgMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDAtODAgMEMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTgwIDAgMC00MGMwLTMwLjktMjUuMS01Ni01Ni01NkwyMDAgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ6bTgwIDE2MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0seVN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTEyIiwiTTMwOS44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTNTAuOCAyNzIgNjQgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTk2IDBjLTIxLjItMjkuNS0zNC4zLTY1LjMtMzUuOS0xMDRMMjcyIDQwOGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCAyMCAwYzM0LjktNDguNSA5MS43LTgwIDE1Ni04MCAxMC43IDAgMjEuMSAuOSAzMS4zIDIuNUwzMDkuOCA4LjZ6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSx3U3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1jb21taXQiLGljb246WzU3Niw1MTIsW10sImYzODYiLCJNMjg4IDMzNmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMTU2LjgtNDhDNDMwIDM2MSAzNjUuNCA0MTYgMjg4IDQxNlMxNDYgMzYxIDEzMS4yIDI4OEwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTkuMiAwQzE0NiAxNTEgMjEwLjYgOTYgMjg4IDk2czE0MiA1NSAxNTYuOCAxMjhsOTkuMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05OS4yIDB6Il19LE1TdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tYnJlYXN0ZmVlZGluZyIsaWNvbjpbNDQ4LDUxMixbXSwiZTUzYSIsIk0yMjQgMGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNNDM2LjggMzgyLjhMMzczLjUgNDYyYy0xNi42IDIwLjctNDYuOCAyNC4xLTY3LjUgNy41LTE3LjYtMTQuMS0yMi43LTM4LjEtMTMuNS01Ny43bC0uNy0uMWMtMzguOS01LjYtNzQuMy0yNS4xLTk5LjctNTQuOGwwLTM2LjhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0OGMwIC44IDAgMS42IC4xIDIuNGwxMDEuNCA1MC43YzIzLjcgMTEuOSAzMy4zIDQwLjcgMjEuNSA2NC40cy00MC43IDMzLjMtNjQuNCAyMS41TDI3LjIgNDI3LjNjLTEuMS0uNS0yLjItMS4xLTMuMy0xLjctNC45LTIuOC05LjItNi40LTEyLjYtMTAuNi00LjYtNS40LTcuOC0xMS43LTkuNi0xOC40LTMuMy0xMi0xLjktMjUuMiA0LjgtMzYuNiAuNi0xLjEgMS4zLTIuMiAyLTMuMkw3NS42IDI1Ni4xYzI2LjctNDAuMSA3MS43LTY0LjEgMTE5LjgtNjQuMWw3NS4yIDBjNDYuNSAwIDkwLjEgMjIuNSAxMTcuMiA2MC4zbDUwLjcgNzAuOWMyLjIgMyA0IDYuMSA1LjUgOS40IDIuOSA2LjcgNC4zIDEzLjggNCAyMC44LS4zIDEwLjYtNC4yIDIxLTExLjIgMjkuNHpNMzIwIDMzMmE0NCA0NCAwIDEgMCAtODggMCA0NCA0NCAwIDEgMCA4OCAweiJdfSxrU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXJheXMiLGljb246WzUxMiw1MTIsW10sImU1NGQiLCJNMzEyLjUgMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN2w0Ni4zIDYyLjRjMTAuNSAxNC4yIDMwLjYgMTcuMiA0NC44IDYuNnMxNy4yLTMwLjYgNi42LTQ0LjhsLTcwLjUtOTVDMzM4LjUgMTMyIDI5OC44IDExMiAyNTYuNSAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNmw0Ni4zLTYyLjQgMCAyNzUuM2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek03LjUgN2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsODAgODBjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQxLjUgN0MzMi4xLTIuMyAxNi45LTIuMyA3LjUgN3ptNDY0IDBsLTgwIDgwYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODAtODBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMHpNNy41IDUwNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw4MC04MGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC04MCA4MGMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjl6bTQ2NCAwYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODAtODBjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsODAgODB6Il19LFNTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYW5hdC1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMWQ1IiwiTTE5MiAzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0MS41QzczLjMgMTA5LjMgMCAxOTAuMSAwIDI4OEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtNjIuNSA0NC44LTExNC41IDEwNC0xMjUuOEwxNjggNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yOTMuOGM1OS4yIDExLjIgMTA0IDYzLjMgMTA0IDEyNS44bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC05Ny45LTczLjMtMTc4LjctMTY4LTE5MC41TDIxNiA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sazBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNvcnQiLGljb246WzM4NCw1MTIsWyJ1bnNvcnRlZCJdLCJmMGRjIiwiTTIuNCAyMDQuMmM1IDEyIDE2LjYgMTkuOCAyOS42IDE5LjhsMzIwIDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45em0wIDEwMy41Yy01IDEyLTIuMiAyNS43IDYuOSAzNC45bDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVMzNjQuOSAyODggMzUyIDI4OEwzMiAyODhjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5Ljh6Il19LHpTdD1rMGUsUzBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1yYWRpYXRpb24iLGljb246WzUxMiw1MTIsWzk3NjIsInJhZGlhdGlvbi1hbHQiXSwiZjdiYSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem04MCAwbDY0LjMgMGM4LjcgMCAxNS43LTcuMSAxNy4zLTE1LjYgNC40LTI0LjQgMTguMS00NS41IDM3LjItNTkuNyA3LjQtNS41IDEwLjYtMTUuNiA2LTIzLjZsLTMyLjUtNTYuM2MtNC4zLTcuNS0xMy45LTEwLjMtMjEuMi01LjUtNDguMiAzMS41LTgxLjMgODQuMi04Ni4zIDE0NC44LS43IDguOCA2LjUgMTYgMTUuMyAxNnptMTM3LjkgODkuOGMtOC41LTMuNy0xOC44LTEuNC0yMy41IDYuNmwtMzEgNTMuOGMtNC4zIDcuNS0xLjkgMTcuMiA1LjggMjEuMSAyNi4xIDEzLjIgNTUuNSAyMC43IDg2LjggMjAuN3M2MC43LTcuNSA4Ni44LTIwLjdjNy43LTMuOSAxMC4xLTEzLjYgNS44LTIxLjFsLTMxLTUzLjhjLTQuNi04LTE1LTEwLjMtMjMuNS02LjYtMTEuNyA1LTI0LjUgNy44LTM4LjEgNy44cy0yNi40LTIuOC0zOC4xLTcuOHpNMzUwLjQgMjQwLjRjMS42IDguNiA4LjUgMTUuNiAxNy4zIDE1LjZsNjQuMyAwYzguOCAwIDE2LjEtNy4yIDE1LjMtMTYtNS02MC42LTM4LjEtMTEzLjItODYuMy0xNDQuOC03LjMtNC44LTE2LjgtMi0yMS4yIDUuNUwzMDcuMyAxNTdjLTQuNiA4LTEuNCAxOC4xIDYgMjMuNiAxOS4xIDE0LjIgMzIuNyAzNS40IDM3LjIgNTkuN3pNMjU2IDMwNS43YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnoiXX0sQ1N0PVMwZSxUU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFwdG9wLWNvZGUiLGljb246WzY0MCw1MTIsW10sImY1ZmMiLCJNNjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNDAtNjQgMCAwLTI0MC0zODQgMCAwIDI0MC02NCAwIDAtMjQwek0wIDQwMy4yQzAgMzkyLjYgOC42IDM4NCAxOS4yIDM4NGw2MDEuNiAwYzEwLjYgMCAxOS4yIDguNiAxOS4yIDE5LjIgMCA0Mi40LTM0LjQgNzYuOC03Ni44IDc2LjhMNzYuOCA0ODBDMzQuNCA0ODAgMCA0NDUuNiAwIDQwMy4yek0yODEgMjA5bC0zMSAzMSAzMSAzMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00OC00OGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNDgtNDhjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45ek0zOTMgMTc1bDQ4IDQ4YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC00OCA0OGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAweiJdfSxfU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2luayIsaWNvbjpbNTEyLDUxMixbXSwiZTA2ZCIsIk0yODggOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMiAxNC4zIDMyIDMyIDMyIDMyLTE0LjMgMzItMzJjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAxOTItNjQgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjNC40IDAgOCAzLjYgOCA4bDAgNDAtODAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDY0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04MCAwIDAtNDBjMC00LjQgMy42LTggOC04bDU2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTU2IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgNDAtNjQgMCAwLTE5MnoiXX0sTFN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLWZyb20td2F0ZXItcHVtcCIsaWNvbjpbNjQwLDUxMixbXSwiZTRiNiIsIk0xNDQgMzJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTc2LTE2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNzkuNmMxNy42LTIgMzYgMi41IDUxLjMgMTQgMy40IDIuNiA2LjEgMS40IDkuOC0uM2wuOC0uNGM1LjctMi42IDEyLjktNi45IDIxLjctMTMuNSAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjMtMzEuNCAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgMjIuMSAxNi42IDI5LjEgMTYuNiA1MS4yIDAgMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40IDYuOSA1LjIgMTIuOCA5IDE4IDExLjcgLjYgLjMgMS4yIC42IDEuOCAxIDQuMiAyLjMgOC41IDQuNiAxMi42IDEuNSAxMC43LTguMSAyMi45LTEyLjcgMzUuMy0xNC4xbDAtNzkuNWMwLTI2LjUtMjEuNS00OC00OC00OGwtNTYgMCAwLTE0Mi4xIDQ3IDQ3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0OTcgMzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC04OCA4OGMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDQ3LTQ3IDAgMTQyLjEtMTM2IDAgMC0xNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTQ0IDMyek00NzQuNiA0NzYuMWMxOSAxNC40IDQxLjkgMjguMiA2Ny4yIDMzLjMgMjYuNSA1LjQgNTQuMyAuOCA4MC43LTE5LjEgMTAuNi04IDEyLjctMjMgNC43LTMzLjZzLTIzLTEyLjctMzMuNi00LjdjLTE0LjkgMTEuMi0yOC42IDEzLjEtNDIuMyAxMC4zLTE0LjktMy0zMC45LTExLjktNDcuOC0yNC42LTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTIxLjYgMTYuMy00MS4zIDI1LjgtNTguOSAyNS43LTkuNi0uMS0xOS45LTMtMzEuMi0xMS41LTEwLjYtOC0yNS42LTUuOS0zMy42IDQuN1M3IDQ4Mi4zIDE3LjYgNDkwLjNjMTkuMSAxNC40IDM5LjQgMjEgNTkuOCAyMS4xIDMzLjkgLjIgNjQuMy0xNy40IDg4LjEtMzUuMyAyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAyNC4yIDE4LjMgNTIuMyAzNS45IDgzLjQgMzUuOXM1OS4xLTE3LjcgODMuNC0zNS45YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAweiJdfSx6MGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWljcm9waG9uZS1saW5lcy1zbGFzaCIsaWNvbjpbNTc2LDUxMixbIm1pY3JvcGhvbmUtYWx0LXNsYXNoIl0sImY1MzkiLCJNNy0yNC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDE1MSAxNTEgMC0zMC4yYzAtNTMgNDMtOTYgOTYtOTYgNTAuMyAwIDkxLjYgMzguNyA5NS43IDg4TDMyOCA4OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1NiAwIDAgNDgtNTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1NS43IDBjLTEuOSAyMi45LTExLjggNDMuNC0yNi45IDU5bDMzLjkgMzMuOWMyNS41LTI2IDQxLjMtNjEuNiA0MS4zLTEwMC45bDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwYzAgNTIuNi0yMS4xIDEwMC4yLTU1LjMgMTM0LjhMNTY5IDUwMy4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMNyA5LjFDLTIuMy0uMy0yLjMtMTUuNSA3LTI0Ljl6TTI5Ny44IDM2Ny43bDQxLjQgNDEuNGMtOC44IDIuNC0xNy45IDQuMy0yNy4zIDUuNGwwIDQ5LjUgNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMCAwLTQ5LjVDMTY5LjMgNDAyLjcgOTYgMzIxLjkgOTYgMjI0bDAtNDBjMC01LjEgMS42LTkuOSA0LjQtMTMuOGw0My42IDQzLjYgMCAxMC4yYzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0IDMuMyAwIDYuNi0uMSA5LjgtLjN6Il19LCRTdD16MGUsRFN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNlcnZlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjIzMyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjE2IDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNTYgMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNjQgMjg4Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMjg4em0yMTYgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em01NiAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxKRD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyIixpY29uOls0NDgsNTEyLFsxMjgxMDAsNjIxNDQsNjI0NzAsInVzZXItYWx0IiwidXNlci1sYXJnZSJdLCJmMDA3IiwiTTIyNCAyNDhhMTIwIDEyMCAwIDEgMCAwLTI0MCAxMjAgMTIwIDAgMSAwIDAgMjQwem0tMjkuNyA1NkM5NS44IDMwNCAxNiAzODMuOCAxNiA0ODIuMyAxNiA0OTguNyAyOS4zIDUxMiA0NS43IDUxMmwzNTYuNiAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtOTguNS03OS44LTE3OC4zLTE3OC4zLTE3OC4zbC01OS40IDB6Il19LEFTdD1KRCxFU3Q9SkQsSVN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNub3dmbGFrZSIsaWNvbjpbNTEyLDUxMixbMTAwNTIsMTAwNTRdLCJmMmRjIiwiTTI4OC4yIDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2Mi4xLTE1LTE1Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDQ5IDQ5IDAgNzAuNi02MS4yLTM1LjMtMTcuOS02Ni45Yy0zLjQtMTIuOC0xNi42LTIwLjQtMjkuNC0xN1M5NS4zIDk4IDk4LjcgMTEwLjhsNS41IDIwLjUtNTMuNy0zMUMzNS4yIDkxLjUgMTUuNiA5Ni43IDYuOCAxMTJzLTMuNiAzNC45IDExLjcgNDMuN2w1My43IDMxLTIwLjUgNS41Yy0xMi44IDMuNC0yMC40IDE2LjYtMTcgMjkuNHMxNi42IDIwLjQgMjkuNCAxN2w2Ni45LTE3LjkgNjEuMiAzNS4zLTYxLjIgMzUuMy02Ni45LTE3LjljLTEyLjgtMy40LTI2IDQuMi0yOS40IDE3czQuMiAyNiAxNyAyOS40bDIwLjUgNS41LTUzLjcgMzFDMy4yIDM2NS4xLTIgMzg0LjcgNi44IDQwMHMyOC40IDIwLjYgNDMuNyAxMS43bDUzLjctMzEtNS41IDIwLjVjLTMuNCAxMi44IDQuMiAyNiAxNyAyOS40czI2LTQuMiAyOS40LTE3bDE3LjktNjYuOSA2MS4yLTM1LjMgMCA3MC42LTQ5IDQ5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTUtMTUgMCA2Mi4xYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02Mi4xIDE1IDE1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDktNDkgMC03MC42IDYxLjIgMzUuMyAxNy45IDY2LjljMy40IDEyLjggMTYuNiAyMC40IDI5LjQgMTdzMjAuNC0xNi42IDE3LTI5LjRsLTUuNS0yMC41IDUzLjcgMzFjMTUuMyA4LjggMzQuOSAzLjYgNDMuNy0xMS43czMuNi0zNC45LTExLjctNDMuN2wtNTMuNy0zMSAyMC41LTUuNWMxMi44LTMuNCAyMC40LTE2LjYgMTctMjkuNHMtMTYuNi0yMC40LTI5LjQtMTdsLTY2LjkgMTcuOS02MS4yLTM1LjMgNjEuMi0zNS4zIDY2LjkgMTcuOWMxMi44IDMuNCAyNi00LjIgMjkuNC0xN3MtNC4yLTI2LTE3LTI5LjRsLTIwLjUtNS41IDUzLjctMzFjMTUuMy04LjggMjAuNi0yOC40IDExLjctNDMuN3MtMjguNC0yMC41LTQzLjctMTEuN2wtNTMuNyAzMSA1LjUtMjAuNWMzLjQtMTIuOC00LjItMjYtMTctMjkuNHMtMjYgNC4yLTI5LjQgMTdsLTE3LjkgNjYuOS02MS4yIDM1LjMgMC03MC42IDQ5LTQ5YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTE1IDE1IDAtNjIuMXoiXX0sUFN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhdXJ1cyIsaWNvbjpbMzg0LDUxMixbXSwiZTg0ZiIsIk0zMzYtMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzIgMCA1OC41LTI4LjYgMTEwLjMtNzIuNSAxNDIuMyA1My4yIDM0LjEgODguNSA5My44IDg4LjUgMTYxLjcgMCAxMDYtODYgMTkyLTE5MiAxOTJTMCA0MjYgMCAzMjBDMCAyNTIuMSAzNS4zIDE5Mi40IDg4LjUgMTU4LjMgNDQuNiAxMjYuMyAxNiA3NC41IDE2IDE2IDE2LTEuNyAzMC4zLTE2IDQ4LTE2UzgwLTEuNyA4MCAxNmMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMlMzMDQgNzcuOSAzMDQgMTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTE5MiAxOTJhMTI4IDEyOCAwIDEgMCAwIDI1NiAxMjggMTI4IDAgMSAwIDAtMjU2eiJdfSxOU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2t1bGwtY3Jvc3Nib25lcyIsaWNvbjpbNDQ4LDUxMixbMTI4MzY5LDk3NjBdLCJmNzE0IiwiTTM4NCAxNDRDMzg0IDY0LjUgMzEyLjQgMCAyMjQgMFM2NCA2NC41IDY0IDE0NGMwIDQ3LjEgMjUuMSA4OC45IDY0IDExNS4ybDAgMjguOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTI4LjhjMzguOS0yNi4zIDY0LTY4LjEgNjQtMTE1LjJ6TTE2MCAxMjhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek00NDUuNSAzMzkuN2MtNi44LTE2LjMtMjUuNS0yNC00MS44LTE3LjJMMjI0IDM5Ny4zIDQ0LjMgMzIyLjVjLTE2LjMtNi44LTM1IC45LTQxLjggMTcuMnMuOSAzNSAxNy4yIDQxLjhMMTQwLjggNDMyIDE5LjcgNDgyLjVDMy40IDQ4OS4zLTQuMyA1MDggMi41IDUyNC4zczI1LjUgMjQgNDEuOCAxNy4yTDIyNCA0NjYuNyA0MDMuNyA1NDEuNWMxNi4zIDYuOCAzNS0uOSA0MS44LTE3LjJzLS45LTM1LTE3LjItNDEuOEwzMDcuMiA0MzIgNDI4LjMgMzgxLjVjMTYuMy02LjggMjQtMjUuNSAxNy4yLTQxLjh6Il19LEZTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXNvLXNpZ24iLGljb246WzQ0OCw1MTIsW10sImUyMjIiLCJNMTEyIDMyQzk0LjMgMzIgODAgNDYuMyA4MCA2NGwwIDY0LTI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjQgMCAwIDMyLTI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjQgMCAwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgOTYgMGM2NS42IDAgMTIyLTM5LjUgMTQ2LjctOTZsMzcuMyAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNC44IDBjLjUtNS4zIC44LTEwLjYgLjgtMTZzLS4zLTEwLjctLjgtMTZsMjQuOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zNy4zIDBDMzYyIDcxLjUgMzA1LjYgMzIgMjQwIDMyTDExMiAzMnptMTk5LjYgOTZsLTE2Ny42IDAgMC0zMiA5NiAwYzI4LjQgMCA1NCAxMi40IDcxLjYgMzJ6TTE0NCAxNzZsMTkwLjcgMGMuOSA1LjIgMS4zIDEwLjUgMS4zIDE2cy0uNSAxMC44LTEuMyAxNmwtMTkwLjcgMCAwLTMyem0xNjcuNiA4MGMtMTcuNiAxOS42LTQzLjEgMzItNzEuNiAzMmwtOTYgMCAwLTMyIDE2Ny42IDB6Il19LE9TdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aW5lLWdsYXNzIixpY29uOlszMjAsNTEyLFsxMjc4NjNdLCJmNGUzIiwiTTMyLjYgMjUuN0MzNS42IDEwLjggNDguNyAwIDY0IDBMMjU2IDBjMTUuMyAwIDI4LjQgMTAuOCAzMS40IDI1LjdMMzE2LjggMTczYzIuMSAxMC41IDMuMiAyMS4yIDMuMiAzMmwwIDNjMCA3Ny40LTU1IDE0Mi0xMjggMTU2LjhsMCAxMTUuMiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDU0NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwIDAtMTE1LjJDNTUgMzUwIDAgMjg1LjQgMCAyMDhsMC0zYzAtMTAuNyAxLjEtMjEuNCAzLjItMzJMMzIuNiAyNS43ek03Ny40IDEyOGwxNjUuMSAwLTEyLjgtNjQtMTM5LjUgMC0xMi44IDY0eiJdfSxvYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1oYWxmIixpY29uOlszMjAsNTEyLFsxMjc3NzcsInRlbXBlcmF0dXJlLTIiLCJ0aGVybW9tZXRlci0yIiwidGhlcm1vbWV0ZXItaGFsZiJdLCJmMmM5IiwiTTE2MCAwQzEwNyAwIDY0IDQzIDY0IDk2bDAgMTY0LjdDMzQuNSAyODcgMTYgMzI1LjQgMTYgMzY4IDE2IDQ0Ny41IDgwLjUgNTEyIDE2MCA1MTJzMTQ0LTY0LjUgMTQ0LTE0NGMwLTQyLjYtMTguNS04MS00OC0xMDcuM0wyNTYgOTZjMC01My00My05Ni05Ni05NnptNjQgMzY4YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0YzAtMjYuOSAxNi41LTQ5LjkgNDAtNTkuM2wwLTkyLjdjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDkyLjdjMjMuNSA5LjUgNDAgMzIuNSA0MCA1OS4zeiJdfSxSU3Q9b2IsQlN0PW9iLEhTdD1vYixxU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGlja2V0IixpY29uOls1NzYsNTEyLFsxMjc5MDNdLCJmMTQ1IiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4bDAgNjRDMCAyMDAuOCA3LjQgMjA3LjcgMTUuNyAyMTAuNiAzNC41IDIxNy4xIDQ4IDIzNSA0OCAyNTZzLTEzLjUgMzguOS0zMi4zIDQ1LjRDNy40IDMwNC4zIDAgMzExLjIgMCAzMjBsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtOC44LTcuNC0xNS43LTE1LjctMTguNi0xOC44LTYuNS0zMi4zLTI0LjQtMzIuMy00NS40czEzLjUtMzguOSAzMi4zLTQ1LjRjOC4zLTIuOSAxNS43LTkuOCAxNS43LTE4LjZsMC02NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHpNNDE2IDMzNmwwLTE2MC0yNTYgMCAwIDE2MCAyNTYgMHpNMTEyIDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjg4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTkyeiJdfSxqU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2hlYXQtYXduLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTU5OCIsIk00OTYgNTc2YTE0NCAxNDQgMCAxIDEgMC0yODggMTQ0IDE0NCAwIDEgMSAwIDI4OHpNODEgNTI5Yy05LjQgOS4zLTI0LjUgOS4zLTMzLjkgMC05LjQtOS40LTkuNC0yNC42IDAtMzMuOUw4MSA1Mjl6bTMwLjItMjk0LjRjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWw0Ni4xIDQ2LjEgNi4xIDYuN2MxOS43IDIzLjggMjYuMyA1NSAxOS4zIDgzLjkgMzEuNy03LjcgNjYuMiAxIDkwLjYgMjUuM2wxMiAxMmMtLjggNy0xLjIgMTQuMi0xLjIgMjEuNCAwIDIwIDMgMzkuMyA4LjcgNTcuNC0zNi44IDIxLjgtODUgMTctMTE2LjYtMTQuN0wxNjUuNiA0NDQuMyA4MSA1MjlDNjkuNyA1MTcuNyA1OC40IDUwNi4zIDQ3IDQ5NWw4NC43LTg0LjctMzAuNS0zMC41Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjdsNy40LTcuNCAyLjUtMi4xek00OTYgNDc2YTIwIDIwIDAgMSAwIDAgNDAgMjAgMjAgMCAxIDAgMC00MHptMC0xNDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNiA4LjggMCAxNi03LjIgMTYtMTZsMC04MGMwLTguOC03LjItMTYtMTYtMTZ6TTIxNS4yIDEzMC42YzYuMi00LjEgMTQuNy0zLjQgMjAuMSAyLjFsNDYuMSA0Ni4xIDYuMSA2LjdjMTkuNyAyMy44IDI2LjMgNTUgMTkuMyA4My45IDI0LjItNS45IDUwLjEtMi4xIDcxLjkgMTAuOC0zMi4yIDI0LjktNTYuMiA1OS44LTY3LjQgMTAwLjEtMy44LTIuOC03LjUtNi0xMS05LjVsLTk0LjktOTQuOWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS43bDcuNC03LjQgMi41LTIuMXpNNTI2LjcgMTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDAgOC44IDguOCA5LjMgMjIuNyAxLjcgMzIuMUw1NjAuNiA0OSA0NDYuMiAxNjMuNGM3LjcgMSAxNS4zIDMgMjIuNSA1LjlMNTI3IDExMWM5LjQtOS40IDI0LjYtOS40IDM0IDAgOC44IDguOCA5LjMgMjIuNyAxLjYgMzIuMWwtMS43IDEuOC01Mi43IDUyLjcgMzkgMzljMy4yIDMuMiA0LjcgNy40IDQuNyAxMS42LTE3LjctNS40LTM2LjUtOC4zLTU1LjktOC4zLTM0LjIgMC02Ni4zIDguOS05NC4xIDI0LjZsLTkyLjctOTIuN2MtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS44bDcuNC03LjQgMi41LTIuMWM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDM5IDM5IDUyLjctNTIuN2M5LjQtOS40IDI0LjYtOS40IDM0IDAgOC44IDguOCA5LjMgMjIuNyAxLjYgMzIuMUw0NjUgNDkgNDA2LjcgMTA3LjNjMi44IDcuMSA0LjcgMTQuNSA1LjggMjIuMUw1MjYuNyAxNXoiXX0sVlN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy10dXJuLXJpZ2h0IixpY29uOls0NDgsNTEyLFtdLCJlNGMwIiwiTTMxMy40LTYuNmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw4MCA4MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDMzOC43IDEyOCAxMjggMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgMjQxLjcgMCAyMjRsMC0zMkMwIDEyMS4zIDU3LjMgNjQgMTI4IDY0bDIxMC43IDAtMjUuNC0yNS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3ptLTk2IDI1NmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw4MCA4MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDI0Mi43IDM4NCA5NiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OGwwLTMyYzAtNTMgNDMtOTYgOTYtOTZsMTQ2LjcgMC0yNS40LTI1LjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zeiJdfSxVU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FuZHktY2FuZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjc4NiIsIk00MjEuOCAzOS42QzQ1MiA4NS4yIDQ1Ni41IDE0Mi45IDQzNS4xIDE5MmwtMTY1LjQgMCA0MS40LTQxLjRjLjgtLjggMS41LTEuNiAyLjItMi40TDQyMS44IDM5LjZ6TTI2OCAxMDIuOWMtLjggLjctMS42IDEuNC0yLjQgMi4ybC0yOC4xIDI4LjFjLTI1IDI1LTY1LjUgMjUtOTAuNSAwcy0yNS02NS41IDAtOTAuNUwxNzUgMTQuNkMyMjkuOS00MC4yIDMxNC41LTQ2LjcgMzc2LjUtNS42TDI2OCAxMDIuOXpNMTI1LjcgMzM2bDgwLTgwIDE4MSAwLTgyLjUgODIuNSAwLTIuNS0xNzguNSAwem0xMTcgNjRMMTQxLjQgNTAxLjNjLTI1IDI1LTY1LjUgMjUtOTAuNSAwcy0yNS02NS41IDAtOTAuNWwxMC43LTEwLjcgMTgxIDB6Il19LFdTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aGVlbGNoYWlyIixpY29uOls1MTIsNTEyLFtdLCJmMTkzIiwiTTEzNiA0MGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTExNy45IDE5Ny42bDEyLjYgNjNjLTM4LjYgMTIuNC02Ni41IDQ4LjctNjYuNSA5MS40IDAgNTMgNDMgOTYgOTYgOTYgMzUuNiAwIDY2LjctMTkuNCA4My4zLTQ4LjIgMi4zIC4xIDQuNiAuMiA3IC4ybDQuMSAwYzEgMCAyLjEgMCAzLjEgMGw1NS4yIDBjLTIwLjQgNjQuOS04MSAxMTItMTUyLjcgMTEyLTg4LjQgMC0xNjAtNzEuNi0xNjAtMTYwIDAtNzMuOCA1MC0xMzUuOSAxMTcuOS0xNTQuNHptMTQ4LjYtMjguMWwyMy43IDExOC41IDYwLjUgMGMzMy4zIDAgNjMuMiAyMC43IDc0LjkgNTEuOWwyNS41IDY4IDE4LjctNi4yYzE2LjgtNS42IDM0LjkgMy41IDQwLjUgMjAuMnMtMy41IDM0LjktMjAuMiA0MC41bC00OCAxNmMtMTYuMyA1LjQtMzQtMy00MC4xLTE5LjFsLTM2LjMtOTYuOWMtMi4zLTYuMi04LjMtMTAuNC0xNS0xMC40bC04Ni4xIDBjLS40IDAtLjggMC0xLjMgMGwtMTMuMSAwYy0zMC41IDAtNTYuOC0yMS41LTYyLjgtNTEuNEwxNjUuMyAxODkuN2MtNi40LTMxLjkgMTgtNjEuNyA1MC42LTYxLjcgMjQuNiAwIDQ1LjggMTcuNCA1MC42IDQxLjV6Il19LEdTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGVsbC1jaGVjayIsaWNvbjpbNTc2LDUxMixbXSwiZjg5MSIsIk0xMjAgMzJjLTQ4LjYgMC04OCAzOS40LTg4IDg4bDAgMTY4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA2NCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2OGMwLTQ4LjYtMzkuNC04OC04OC04OGwtMTYgMHptNDAgMTI4bC02NCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwek0zMDQgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjI0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDcyIDBjNDguNiAwIDg4LTM5LjQgODgtODggMC0yMy42LTkuMy00NS0yNC40LTYwLjggMTAuMy0xNC40IDE2LjQtMzIuMSAxNi40LTUxLjIgMC00OC42LTM5LjQtODgtODgtODhsLTY0IDB6bTY0IDExMmwtMzIgMCAwLTQ4IDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjR6TTMzNiAyNTZsMC00OCA0MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00MCAwem0yMzMgODRjMTEtMTMuOCA4LjgtMzMuOS01LTQ1cy0zMy45LTguOC00NSA1bC0xMDUuNyAxMzIuMS0zOC43LTM4LjdjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzYuNCA2LjQgMTUuMyA5LjggMjQuNCA5LjNzMTcuNS00LjkgMjMuMi0xMkw1NjkgMzQweiJdfSxZU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9sdW1lLW9mZiIsaWNvbjpbMzIwLDUxMixbXSwiZjAyNiIsIk05NiAzNTJsLTQ4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDhsNDggMCAxMzQuMS0xMTkuMmM2LjQtNS43IDE0LjYtOC44IDIzLjEtOC44IDE5LjIgMCAzNC44IDE1LjYgMzQuOCAzNC44bDAgMzc4LjRjMCAxOS4yLTE1LjYgMzQuOC0zNC44IDM0LjgtOC41IDAtMTYuNy0zLjEtMjMuMS04LjhMOTYgMzUyeiJdfSxaU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibHVuZ3MiLGljb246WzU3Niw1MTIsWzEyOTcyOV0sImY2MDQiLCJNMzIwIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTQxLjktMzIgMTkuMiAwLTExNi43YzAtMjQuNS0xOS45LTQ0LjQtNDQuNC00NC40LTEyLjUgMC0yNC40IDUuMy0zMi44IDE0LjVsLTI2LjQgMjlDNDIuOSAxNjAuOCAwIDI3MS44IDAgMzg3bDAgMzAuNWMwIDUyLjIgNDIuMyA5NC41IDk0LjUgOTQuNSAyMiAwIDQzLjctNS4xIDYzLjQtMTVsNS0yLjVjMzcuNC0xOC43IDYxLTU2LjkgNjEtOTguOGwwLTEyOCA2NC0zOC40IDY0IDM4LjQgMCAxMjhjMCA0MS44IDIzLjYgODAuMSA2MSA5OC44bDUgMi41YzE5LjcgOS44IDQxLjQgMTUgNjMuNCAxNSA1Mi4yIDAgOTQuNS00Mi4zIDk0LjUtOTQuNWwwLTYuMmMwLTExMS4xLTM2LjctMjE5LTEwNC40LTMwN0w0MjguOSA0OC43Yy04LjEtMTAuNi0yMC43LTE2LjctMzQtMTYuNy0yMy43IDAtNDIuOSAxOS4yLTQyLjkgNDIuOWwwIDExOC4yLTMyLTE5LjIgMC0xNDEuOXoiXX0sWFN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2ttYXJrIixpY29uOlszODQsNTEyLFsxMjgyNzgsNjE1OTFdLCJmMDJlIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDgwYzAgMTEuNSA2LjIgMjIuMiAxNi4yIDI3LjhzMjIuMyA1LjUgMzIuMi0uNEwxOTIgNDIxLjMgMzM1LjUgNTA3LjRjOS45IDUuOSAyMi4yIDYuMSAzMi4yIC40UzM4NCA0OTEuNSAzODQgNDgwbDAtNDE2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6Il19LFFTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXJjb2RlIixpY29uOls0NDgsNTEyLFtdLCJmMDJhIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw2NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnptODggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0MDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptNzIgMzJsMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnptMjA4LThsMCA0MDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHptLTk2IDBsMCA0MDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHoiXX0sS0Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdC1vbCIsaWNvbjpbNTEyLDUxMixbImxpc3QtMS0yIiwibGlzdC1udW1lcmljIl0sImYwY2IiLCJNMCA3MkMwIDU4LjggMTAuNyA0OCAyNCA0OGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTA0IDI0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTk2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQgMCAwLTgwLTI0IDBDMTAuNyA5NiAwIDg1LjMgMCA3MnpNMzAuNCAzMDEuMkM0MS44IDI5Mi42IDU1LjcgMjg4IDcwIDI4OGw0LjkgMGMzMy43IDAgNjEuMSAyNy40IDYxLjEgNjEuMSAwIDE5LjYtOS40IDM3LjktMjUuMiA0OS40bC0yNCAxNy41IDMzLjIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOTAuNyAwQzEzLjEgNDY0IDAgNDUwLjkgMCA0MzQuNyAwIDQyNS4zIDQuNSA0MTYuNSAxMi4xIDQxMWw3MC41LTUxLjNjMy40LTIuNSA1LjQtNi40IDUuNC0xMC42IDAtNy4yLTUuOS0xMy4xLTEzLjEtMTMuMUw3MCAzMzZjLTMuOSAwLTcuNyAxLjMtMTAuOCAzLjZMMzguNCAzNTUuMmMtMTAuNiA4LTI1LjYgNS44LTMzLjYtNC44Uy0xIDMyNC44IDkuNiAzMTYuOGwyMC44LTE1LjZ6TTIyNCA2NGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTYwbDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxNjBsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxKU3Q9S0QsS1N0PUtELGV6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNpcmNsZS14bWFyayIsaWNvbjpbNTc2LDUxMixbXSwiZTVhMSIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0yMi43LTMxLjUtMzYtNzAuMi0zNi0xMTIgMC0xMDAuNiA3Ny40LTE4My4yIDE3Ni0xOTEuM2wwLTM4LjFjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSx0enQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3ViZSIsaWNvbjpbNTEyLDUxMixbXSwiZjFiMiIsIk0yMjQuMy0yLjVjMTkuOC0xMS40IDQ0LjItMTEuNCA2NCAwTDQ2NC4yIDk5YzE5LjggMTEuNCAzMiAzMi42IDMyIDU1LjRsMCAyMDNjMCAyMi45LTEyLjIgNDQtMzIgNTUuNEwyODguMyA1MTQuNWMtMTkuOCAxMS40LTQ0LjIgMTEuNC02NCAwTDQ4LjUgNDEzYy0xOS44LTExLjQtMzItMzIuNi0zMi01NS40bDAtMjAzYzAtMjIuOSAxMi4yLTQ0IDMyLTU1LjRMMjI0LjMtMi41em0yMDcuOCAzNjBsMC0xNjYuMS0xNDMuOCA4MyAwIDE2Ni4xIDE0My44LTgzeiJdfSxyenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFwZSIsaWNvbjpbNTc2LDUxMixbXSwiZjRkYiIsIk00MTIuOCA0MTZjNDEuNS00MC43IDY3LjItOTcuMyA2Ny4yLTE2MCAwLTEyMy43LTEwMC4zLTIyNC0yMjQtMjI0UzMyIDEzMi4zIDMyIDI1NiAxMzIuMyA0ODAgMjU2IDQ4MGwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTMxLjIgMHpNMjU2IDE2MGE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnptNDggOTZhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHoiXX0sYXp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvbWIiLGljb246WzU3Niw1MTIsWzEyODE2M10sImYxZTIiLCJNNDgwLTE2YzYuOSAwIDEzIDQuNCAxNS4yIDEwLjlsMTMuNSA0MC40IDQwLjQgMTMuNUM1NTUuNiA1MSA1NjAgNTcuMSA1NjAgNjRzLTQuNCAxMy0xMC45IDE1LjJsLTQwLjQgMTMuNS0xMy41IDQwLjRDNDkzIDEzOS42IDQ4Ni45IDE0NCA0ODAgMTQ0cy0xMy00LjQtMTUuMi0xMC45bC0xMy41LTQwLjQtNDAuNC0xMy41QzQwNC40IDc3IDQwMCA3MC45IDQwMCA2NHM0LjQtMTMgMTAuOS0xNS4ybDQwLjQtMTMuNSAxMy41LTQwLjRDNDY3LTExLjYgNDczLjEtMTYgNDgwLTE2ek0zMjEuNCA5Ny40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xMC45IDEwLjljNy45IDIyIDEyLjIgNDUuNyAxMi4yIDcwLjUgMCAxMTQuOS05My4xIDIwOC0yMDggMjA4UzMyIDQxOC45IDMyIDMwNCAxMjUuMSA5NiAyNDAgOTZjMjQuNyAwIDQ4LjUgNC4zIDcwLjUgMTIuM2wxMC45LTEwLjl6TTE0NCAzMDRjMC01MyA0My05NiA5Ni05NiAxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGMtNzkuNSAwLTE0NCA2NC41LTE0NCAxNDQgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNHoiXX0sQzBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjYWxlLXVuYmFsYW5jZWQiLGljb246WzY0MCw1MTIsWyJiYWxhbmNlLXNjYWxlLWxlZnQiXSwiZjUxNSIsIk01MTkuOCA2Mi40YzE2LjgtNS42IDI1LjgtMjMuNyAyMC4yLTQwLjVTNTE2LjMtMy45IDQ5OS42IDEuNmwtMTEzIDM3LjdjLTEzLjktMjMuNS0zOS42LTM5LjMtNjguOS0zOS4zLTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgMyAuMiA1LjkgLjUgOC44TDExNS42IDEyOS42Yy0xNi44IDUuNi0yNS44IDIzLjctMjAuMiA0MC41czIzLjcgMjUuOCA0MC41IDIwLjJsMTM1LjUtNDUuMmM0LjUgMy4yIDkuMyA1LjkgMTQuNCA4LjJsMCAzMjYuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0yOTQuN2MyMS05LjIgMzcuMi0yNyA0NC4yLTQ5bDEyNS45LTQyek00MzcuMyAyODhsNzIuNC0xMjQuMiA3Mi40IDEyNC4yLTE0NC45IDB6bTcyLjQgOTZjNjIuOSAwIDExNS4yLTM0IDEyNi03OC45IDIuNi0xMS0xLTIyLjMtNi43LTMyLjFMNTMzLjggMTA5LjhjLTUtOC42LTE0LjItMTMuOC0yNC4xLTEzLjhzLTE5LjEgNS4zLTI0LjEgMTMuOEwzOTAuNCAyNzMuMWMtNS43IDkuOC05LjMgMjEuMS02LjcgMzIuMSAxMC44IDQ0LjggNjMuMSA3OC45IDEyNiA3OC45ek0xMjYuOCAyOTEuOGw3Mi40IDEyNC4yLTE0NC45IDAgNzIuNC0xMjQuMnpNLjkgNDMzLjFDMTEuNyA0NzggNjQgNTEyIDEyNi44IDUxMnMxMTUuMi0zNCAxMjYtNzguOWMyLjYtMTEtMS0yMi4zLTYuNy0zMi4xTDE1MC45IDIzNy44Yy01LTguNi0xNC4yLTEzLjgtMjQuMS0xMy44cy0xOS4xIDUuMy0yNC4xIDEzLjhMNy42IDQwMS4xYy01LjcgOS44LTkuMyAyMS4xLTYuNyAzMi4xeiJdfSxpenQ9QzBlLFQwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtbGVmdCIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS1sZWZ0Il0sImYxOTEiLCJNMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNnpNMTI4IDI1NmMwLTYuNyAyLjgtMTMgNy43LTE3LjZsMTEyLTEwNGM3LTYuNSAxNy4yLTguMiAyNS45LTQuNFMyODggMTQyLjUgMjg4IDE1MmwwIDIwOGMwIDkuNS01LjcgMTguMi0xNC40IDIycy0xOC45IDIuMS0yNS45LTQuNGwtMTEyLTEwNGMtNC45LTQuNS03LjctMTAuOS03LjctMTcuNnoiXX0sbnp0PVQwZSxzenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVsZXIiLGljb246WzU3Niw1MTIsWzEyODIwN10sImY1NDUiLCJNMjA5LjEgNTE2LjJjLTE4LjcgMTguNy00OS4xIDE4LjctNjcuOSAwTDI4LjEgNDAzLjFjLTE4LjctMTguNy0xOC43LTQ5LjEgMC02Ny45bDE3LTE3IDczLjUgNzMuNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTczLjUtNzMuNSAzMy45LTMzLjkgNTAuOSA1MC45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTAuOS01MC45IDMzLjktMzMuOSA3My41IDczLjVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC03My41LTczLjUgMzMuOS0zMy45IDUwLjkgNTAuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTUwLjktNTAuOSAzMy45LTMzLjkgNzMuNSA3My41YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzMuNS03My41IDE3LTE3YzE4LjctMTguNyA0OS4xLTE4LjcgNjcuOSAwTDU0OC41IDEwOC45YzE4LjcgMTguNyAxOC43IDQ5LjEgMCA2Ny45TDIwOS4xIDUxNi4yeiJdfSxvenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaSIsaWNvbjpbMzIwLDUxMixbMTA1XSwiNDkiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDk2IDAgMCAzMjAtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMCAwLTMyMCA5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyeiJdfSxlQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2x1bWUteG1hcmsiLGljb246WzU3Niw1MTIsWyJ2b2x1bWUtbXV0ZSIsInZvbHVtZS10aW1lcyJdLCJmNmE5IiwiTTQ4IDM1Mmw0OCAwIDEzNC4xIDExOS4yYzYuNCA1LjcgMTQuNiA4LjggMjMuMSA4LjggMTkuMiAwIDM0LjgtMTUuNiAzNC44LTM0LjhsMC0zNzguNGMwLTE5LjItMTUuNi0zNC44LTM0LjgtMzQuOC04LjUgMC0xNi43IDMuMS0yMy4xIDguOEw5NiAxNjAgNDggMTYwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4ek0zNjcgMTc1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw0NyA0Ny00NyA0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDQ3LTQ3IDQ3IDQ3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDctNDcgNDctNDdjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNDcgNDctNDctNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAweiJdfSxsenQ9ZUEsY3p0PWVBLGR6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcmNod2F5IixpY29uOls1MTIsNTEyLFtdLCJmNTU3IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnptMCAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDAgMC0xMjhjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDEyOCAxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTI3Mi00NDggMCAwIDI3MnoiXX0sXzBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1kaWdnaW5nIixpY29uOls1NzYsNTEyLFsiZGlnZ2luZyJdLCJmODVlIiwiTTIwOCA0MGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTEwLjUgMTgxLjNjNS45LTExLjkgMjAuMy0xNi43IDMyLjItMTAuN2wyNC42IDEyLjMgMTIuMi0yMC40YzE4LjktMzEuNSA1My4yLTUwLjUgODkuNi01MC41IDQ2LjIgMCA4Ny43IDMwLjUgMTAwLjUgNzUuNGwzMi4yIDExMi43IDkyLjkgNDYuNCAyNS44LTQzYzUuOC05LjYgMTYuMi0xNS41IDI3LjQtMTUuNXMyMS43IDUuOSAyNy40IDE1LjVsOTYgMTYwYzUuOSA5LjkgNi4xIDIyLjIgLjQgMzIuMlM1NTUuNSA1MTIgNTQ0IDUxMmwtMTkyIDBjLTExLjUgMC0yMi4yLTYuMi0yNy44LTE2LjJzLTUuNS0yMi4zIC40LTMyLjJMMzcwIDM4Ny44IDIxLjMgMjEzLjVjLTExLjktNS45LTE2LjctMjAuMy0xMC43LTMyLjJ6TTk0LjMgMzA3LjRsMTEyIDU2YzEwLjggNS40IDE3LjcgMTYuNSAxNy43IDI4LjZsMCA4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY4LjItNjEuMy0zMC43LTM2LjMgMTA5Yy01LjYgMTYuOC0yMy43IDI1LjgtNDAuNSAyMC4yUy0zLjkgNDg2LjYgMS43IDQ2OS45bDQ4LTE0NGMyLjktOC44IDkuNS0xNS45IDE4LjEtMTkuNHMxOC4zLTMuMiAyNi42IC45eiJdfSx1enQ9XzBlLHRBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlLWhpZ2giLGljb246WzUxMiw1MTIsWzYyNDYxLCJ0YWNob21ldGVyLWFsdCIsInRhY2hvbWV0ZXItYWx0LWZhc3QiXSwiZjYyNSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0yODggOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMjU2IDQxNmMzNS4zIDAgNjQtMjguNyA2NC02NCAwLTE2LjItNi0zMS4xLTE2LTQyLjNsNjkuNS0xMzguOWM1LjktMTEuOSAxLjEtMjYuMy0xMC43LTMyLjJzLTI2LjMtMS4xLTMyLjIgMTAuN0wyNjEuMSAyODguMmMtMS43LS4xLTMuNC0uMi01LjEtLjItMzUuMyAwLTY0IDI4LjctNjQgNjRzMjguNyA2NCA2NCA2NHpNMTc2IDE0NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek05NiAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zNTItMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0scHp0PXRBLGZ6dD10QSxoenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2VuZGVybGVzcyIsaWNvbjpbMzg0LDUxMixbXSwiZjIyZCIsIk0xOTIgMTI4YTEyOCAxMjggMCAxIDEgMCAyNTYgMTI4IDEyOCAwIDEgMSAwLTI1NnptMCAzMjBhMTkyIDE5MiAwIDEgMCAwLTM4NCAxOTIgMTkyIDAgMSAwIDAgMzg0eiJdfSxtenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtc3VuIixpY29uOls2NDAsNTEyLFs5OTI1XSwiZjZjNCIsIk0yMDguMyAxOTJjNDMuMSAwIDgwLjUgMjQuNCA5OS4yIDYwLjEgMTQuNy0xNy4yIDM2LjQtMjguMSA2MC44LTI4LjEgNDQuMiAwIDgwIDM1LjggODAgODAgMCA1LjUtLjYgMTAuOS0xLjYgMTYgLjUgMCAxLjEgMCAxLjYgMCA1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NmwtMzIwIDBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Mi41IDI3LjctNzguNSA2Ni05MS4yLTEuMy02LjgtMi0xMy43LTItMjAuOCAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMnptMTkyLTIyMy44YzUuMyAwIDEwLjMgMi43IDEzLjMgNy4xbDQ3LjMgNzAuNCA4My4zLTE2LjNjNS4yLTEgMTAuNiAuNyAxNC4zIDQuNCAzLjggMy44IDUuNCA5LjIgNC40IDE0LjRsLTE2LjMgODMuMyA3MC40IDQ3LjNjNC40IDMgNy4xIDggNy4xIDEzLjMgMCA1LjMtMi42IDEwLjMtNyAxMy4ybC03MC40IDQ3LjMgMTQuNSA3NC4yYy0xNy4yLTIxLjctNDAuNC0zOC40LTY3LjItNDcuMy0yLjUtMTIuNy02LjktMjQuNi0xMi44LTM1LjcgOS42LTE0LjkgMTUuMi0zMi43IDE1LjItNTEuNyAwLTUzLTQzLTk2LTk2LTk2LTQ3LjkgMC04Ny42IDM1LjEtOTQuOCA4MC45LTIwLjktMTYtNDUuOS0yNy03My4xLTMxLjFsMjEuNS0xNC41LTE2LjMtODMuMi0uMy0yYy0uMy00LjYgMS4zLTkuMSA0LjYtMTIuNCAzLjgtMy44IDkuMi01LjQgMTQuNC00LjRsODMuMyAxNi4zIDQ3LjMtNzAuNCAxLjItMS42YzMtMy41IDcuNC01LjUgMTIuMS01LjV6bTAgMTc1LjhjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAzLjgtLjUgNy42LTEuNCAxMS4xLTIxLjctMTYuOS00OC45LTI3LjEtNzguNi0yNy4xLTQuNiAwLTkuMSAuMi0xMy41IC43IDYuNC0xOSAyNC4zLTMyLjcgNDUuNS0zMi43eiJdfSxqQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yaWdodCIsaWNvbjpbNTEyLDUxMixbODU5NF0sImYwNjEiLCJNNTAyLjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQwMi43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzcwLjcgMC0xMDUuNCAxMDUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYweiJdfSxyQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kc2hha2UiLGljb246WzU3Niw1MTIsWzEyOTMwOSw2MjY2MiwiaGFuZHNoYWtlLWFsdCIsImhhbmRzaGFrZS1zaW1wbGUiXSwiZjJiNSIsIk0yNjguOSA4NS4yTDE1Mi4zIDIxNC44Yy00LjYgNS4xLTQuNCAxMyAuNSAxNy45IDMwLjUgMzAuNSA4MCAzMC41IDExMC41IDBsMzEuOC0zMS44YzQuMi00LjIgOS41LTYuNSAxNC45LTYuOSA2LjgtLjYgMTMuOCAxLjcgMTkgNi45TDUwNS42IDM3NiA1NzYgMzIwIDU3NiAzMiA0NjQgOTYgNDQwLjIgODAuMUM0MjQuNCA2OS42IDQwNS45IDY0IDM4Ni45IDY0bC03MC40IDBjLTEuMSAwLTIuMyAwLTMuNCAuMS0xNi45IC45LTMyLjggOC41LTQ0LjIgMjEuMXpNMTE2LjYgMTgyLjdMMjIzLjQgNjQgMTgzLjggNjRjLTI1LjUgMC00OS45IDEwLjEtNjcuOSAyOC4xTDExMiA5NiAwIDMyIDAgMzIwIDE1Ni40IDQ1MC4zYzIzIDE5LjIgNTIgMjkuNyA4MS45IDI5LjdsMTUuNyAwLTctN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQxIDQxIDkgMGMxOS4xIDAgMzcuOC00LjMgNTQuOC0xMi4zTDM1OSA0NDFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzMiAzMiAxNy41LTE3LjVjOC45LTguOSAxMS41LTIxLjggNy42LTMzLjFsLTEzNy45LTEzNi44LTE0LjkgMTQuOWMtNDkuMyA0OS4zLTEyOS4xIDQ5LjMtMTc4LjQgMC0yMy0yMy0yMy45LTU5LjktMi4yLTg0eiJdfSxnenQ9ckEsYnp0PXJBLEwwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc2tpaW5nIixpY29uOls1NzYsNTEyLFs5OTc1LCJza2lpbmciXSwiZjdjOSIsIk00MTYgNTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0yLjcgMzAwLjljNi4xLTExLjggMjAuNi0xNi4zIDMyLjQtMTAuMmwxOTcuOCAxMDIuNyA2Mi4zLTg3LjItODItOTIuMmMtMTEtMTIuNC0xNi4yLTI3LjUtMTYuMi00Mi40bDExMS42IDUzLjQgNDIuOSA0OC4yYzE0LjkgMTYuNyAxNi4yIDQxLjYgMy4yIDU5LjhsLTY0LjQgOTAuMiAxMjguMyA2Ni42YzEzLjYgNy4xIDI5LjggNy4yIDQzLjYgLjNsMTUuMi03LjZjMTEuOS01LjkgMjYuMy0xLjEgMzIuMiAxMC43czEuMSAyNi4zLTEwLjcgMzIuMmwtMTUuMiA3LjZjLTI3LjUgMTMuNy01OS45IDEzLjUtODcuMi0uN0wxMi45IDMzMy4zQzEuMiAzMjcuMi0zLjQgMzEyLjcgMi43IDMwMC45ek0xMDMgNDkuNmwxOCA4LjcgOC43LTE3LjRjNC03LjkgMTMuNi0xMS4xIDIxLjUtNy4yczExLjEgMTMuNiA3LjIgMjEuNWwtOC41IDE3IDg0LjggNDEgLjQtLjIgNzYuMS0zMy44YzMxLjMtMTMuOSA2Ny45LS43IDgzLjIgMjkuOWwyOC45IDU3LjggNjguNyAyNy41YzE2LjQgNi42IDI0LjQgMjUuMiAxNy44IDQxLjZzLTI1LjIgMjQuNC00MS42IDE3LjhMMzkzLjggMjI0Yy0xMC45LTQuNC0xOS44LTEyLjYtMjUuMS0yMy4xbC0xMS41LTIzLjFjLTE2LjQgOS40LTI1LjkgMTQuOC0yOC41IDE2LjNsLTcuNi0zLjctMTg1LjYtODkuNi05LjIgMTguM2MtNCA3LjktMTMuNiAxMS4xLTIxLjUgNy4ycy0xMS4xLTEzLjYtNy4yLTIxLjVsOS0xNy45LTE3LjYtOC41QzgxLjEgNzQuNiA3Ny44IDY1IDgxLjYgNTdTOTUgNDUuNyAxMDMgNDkuNnoiXX0sdnp0PUwwZSx4enQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZGdlLXdhdGVyIixpY29uOls2NDAsNTEyLFtdLCJlNGNlIiwiTTY0IDY0bDUxMiAwIDAgMTEyYy0zNy42IDkuNC02NCA0My4yLTY0IDgybDAgNzYuNGMtMjEtOS43LTQzLjUtMTQuNS02Ni0xNC40LTEwIC4xLTIwLjEgMS4xLTMwIDMuMWwwLTM1LjFjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMi43Yy01LjMtLjUtMTAuNy0uOC0xNi0uNy0yNy43IC4yLTU1LjQgNy44LTgwIDIzbDAtODVjMC0zOC44LTI2LjQtNzIuNi02NC04Mkw2NCA2NHpNNDAzLjQgNDQ0LjFDMzc5LjEgNDYyLjMgMzUxLjEgNDgwIDMyMCA0ODBzLTU5LjEtMTcuNy04My40LTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM2MzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTYuOSAxMi43IDMyLjkgMjEuNSA0Ny44IDI0LjYgMTMuNyAyLjggMjcuNCAuOSA0Mi4zLTEwLjMgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNi40IDE5LjktNTQuMiAyNC40LTgwLjcgMTkuMS0yNS4zLTUuMS00OC4xLTE4LjktNjcuMi0zMy4zLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAweiJdfSx5enQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctbmdvIixpY29uOls1NzYsNTEyLFtdLCJlNGQ3IiwiTTEyOCAwQzkyLjcgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ4IDAgMC0xMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjA4IDAgMC0yNzJjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI4IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0zMDQgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTYwIDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNDQtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNTIwIDM4MGMtMjQuMyAwLTQ0IDE5LjctNDQgNDRsMCA4MGMwIDI0LjMgMTkuNyA0NCA0NCA0NGwxNiAwYzI0LjMgMCA0NC0xOS43IDQ0LTQ0bDAtODBjMC0yNC4zLTE5LjctNDQtNDQtNDRsLTE2IDB6bS00IDQ0YzAtMi4yIDEuOC00IDQtNGwxNiAwYzIuMiAwIDQgMS44IDQgNGwwIDgwYzAgMi4yLTEuOCA0LTQgNGwtMTYgMGMtMi4yIDAtNC0xLjgtNC00bDAtODB6bS0xNjggMGwwIDgwYzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDE2IDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC0yNGMwLTExLTktMjAtMjAtMjBsLTggMGMtMTEgMC0yMCA5LTIwIDIwIDAgNi41IDMuMSAxMi40IDggMTZsMCA4YzAgMi4yLTEuOCA0LTQgNGwtMTYgMGMtMi4yIDAtNC0xLjgtNC00bDAtODBjMC0yLjIgMS44LTQgNC00bDIwLjQgMGMxLjkgOS4xIDkuOSAxNiAxOS42IDE2IDExIDAgMjAtOSAyMC0yMCAwLTE5LjktMTYuMS0zNi0zNi0zNmwtMjQgMGMtMjQuMyAwLTQ0IDE5LjctNDQgNDR6bS05MC4xLTMyLjljLTQuMS04LjMtMTMuNS0xMi43LTIyLjUtMTAuNVMyMjAgMzkwLjcgMjIwIDQwMGwwIDEyOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQzLjMgMjYuMSA1Mi4yYzQuMSA4LjMgMTMuNSAxMi43IDIyLjUgMTAuNVMzMjQgNTM3LjMgMzI0IDUyOGwwLTEyOGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjBsMCA0My4zLTI2LjEtNTIuMnoiXX0sd3p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImlnbG9vIixpY29uOls1NzYsNTEyLFtdLCJmN2FlIiwiTTMyMCAzMy44bDAgMTI2LjItMjcxLjUgMGM1MS43LTc3LjIgMTM5LjYtMTI4IDIzOS41LTEyOCAxMC44IDAgMjEuNSAuNiAzMiAxLjh6TTM2OCAxNjBsMC0xMTYuN2M2NiAxOSAxMjIuMiA2MSAxNTkuNSAxMTYuN0wzNjggMTYwek0yMi42IDIwOGw3My40IDAgMCAxMTItOTYgMGMwLTM5LjcgOC03Ny42IDIyLjYtMTEyek0xNzYgMzIwbC0zMiAwIDAtMTEyIDI4OCAwIDAgMTEyLTMyIDAgMCA0OCAxNzYgMCAwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02NCAxNzYgMCAwLTQ4em0zMDQgMGwwLTExMiA3My40IDBDNTY4IDI0Mi40IDU3NiAyODAuMyA1NzYgMzIwbC05NiAwek0yODggMjg4Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDgwIDEyOCAwIDAtODBjMC0zNS4zLTI4LjctNjQtNjQtNjR6Il19LCQwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtZG9sbGFyLXRvLXNsb3QiLGljb246WzU3Niw1MTIsWyJkb25hdGUiXSwiZjRiOSIsIk05NiAyMjRhMTkyIDE5MiAwIDEgMSAzODQgMCAxOTIgMTkyIDAgMSAxIC0zODQgMHptMTc2LTkybDAgNGMtMjguOCAuMy01MiAyMy43LTUyIDUyLjUgMCAyNS43IDE4LjUgNDcuNiA0My45IDUxLjhsNDEuNyA3YzYgMSAxMC40IDYuMiAxMC40IDEyLjMgMCA2LjktNS42IDEyLjUtMTIuNSAxMi41TDI0OCAyNzJjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDI0IDAgMCA0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNC43YzI1LTQuMSA0NC0yNS43IDQ0LTUxLjggMC0yNS43LTE4LjUtNDcuNi00My45LTUxLjhsLTQxLjctN2MtNi0xLTEwLjQtNi4yLTEwLjQtMTIuMyAwLTYuOSA1LjYtMTIuNSAxMi41LTEyLjVsNDcuNSAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtOCAwIDAtNGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjB6TTQ4IDM0NGwwIDEwNGMwIDguOCA3LjIgMTYgMTYgMTZsNDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxNenQ9JDBlLGt6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ5IixpY29uOlszODQsNTEyLFsxMjFdLCI1OSIsIk01OCA0NS40QzQ3LjggMzEgMjcuOCAyNy43IDEzLjQgMzhTLTQuMyA2OC4yIDYgODIuNkwxNjAgMjk4LjMgMTYwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTQ5LjcgMTU0LTIxNS43YzEwLjMtMTQuNCA2LjktMzQuNC03LjQtNDQuNlMzMzYuMiAzMSAzMjYgNDUuNEwxOTIgMjMyLjkgNTggNDUuNHoiXX0sRDBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc21pbGUtd2luayIsaWNvbjpbNTEyLDUxMixbMTI4NTIxLCJzbWlsZS13aW5rIl0sImY0ZGEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NS40IDMyMS45YzIwLjQgMjggNTMuNCA0Ni4xIDkwLjYgNDYuMXM3MC4yLTE4LjEgOTAuNi00Ni4xYzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuM3MxMy4xIDIyLjggNS4zIDMzLjVDMzU2LjMgMzkwIDMwOS4yIDQxNiAyNTYgNDE2cy0xMDAuMy0yNi0xMjkuNC02NS45Yy03LjgtMTAuNy01LjQtMjUuNyA1LjMtMzMuNXMyNS43LTUuNCAzMy41IDUuM3pNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxTenQ9RDBlLHp6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLWZvdXIiLGljb246WzQ0OCw1MTIsWzk4NTldLCJmNTI0IiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xNjAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTI4IDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTM1MiAxNjBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LEEwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tc3F1aW50LXRlYXJzIixpY29uOls1NzYsNTEyLFsxMjkzMTUsImdyaW4tc3F1aW50LXRlYXJzIl0sImY1ODYiLCJNNTYwIDM1LjRjMCAyNS42LTE4LjggNDcuMy00NC4xIDUwLjlMNDY5LjEgOTNjLTEwLjYgMS41LTE5LjYtNy41LTE4LjEtMTguMWw2LjctNDYuN0M0NjEuMyAyLjggNDgzLTE2IDUwOC42LTE2IDUzNy0xNiA1NjAgNyA1NjAgMzUuNHpNNDAzLjUgNjguMWMtNiA0Mi4yIDMwLjIgNzguNCA3Mi40IDcyLjRsMzcuOC01LjRDNTY1LjcgMjMyIDU1MC44IDM1NS4zIDQ2OSA0MzdzLTIwNSA5Ni42LTMwMS45IDQ0LjdsNS40LTM3LjhjNi00Mi4yLTMwLjItNzguNC03Mi40LTcyLjRsLTM3LjggNS40QzEwLjMgMjgwIDI1LjIgMTU2LjcgMTA3IDc1UzMxMi0yMS43IDQwOC45IDMwLjNsLTUuNCAzNy44ek00MTcuOCAyMDFjLTE5LjEgMzYuNC00NS42IDcyLjctNzguOSAxMDZzLTY5LjYgNTkuOC0xMDYgNzguOWMtMTEuMSA1LjgtMTIuNCAyMS40LTEuMSAyNi42IDU5LjIgMjcuNSAxMzEuOCAxNi44IDE4MC42LTMyczU5LjUtMTIxLjQgMzItMTgwLjZjLTUuMy0xMS4zLTIwLjgtMTAtMjYuNiAxLjF6TTExMy45IDI3MC42YzEuNyA4IDkgMTMuNCAxNy4xIDEyLjdsNDMuMS0zLjktMy45IDQzLjFjLS43IDguMSA0LjcgMTUuNSAxMi43IDE3LjFzMTUuOS0yLjkgMTguNC0xMC42bDI4LTg0LjZjMS45LTUuNyAuNC0xMi4xLTMuOS0xNi4zcy0xMC42LTUuOC0xNi4zLTMuOWwtODQuNiAyOGMtNy43IDIuNi0xMi4zIDEwLjUtMTAuNiAxOC41ek0zMTUuMiA5OS4xYy43LTguMS00LjctMTUuNS0xMi43LTE3LjFzLTE1LjkgMi45LTE4LjUgMTAuNmwtMjggODQuNmMtMS45IDUuNy0uNCAxMi4xIDMuOSAxNi4zczEwLjYgNS44IDE2LjMgMy45bDg0LjYtMjhjNy43LTIuNiAxMi4zLTEwLjUgMTAuNi0xOC40cy05LTEzLjQtMTcuMS0xMi43bC00My4xIDMuOSAzLjktNDMuMXpNNjAuMSA0MjUuN2w0Ni43LTYuN2MxMC42LTEuNSAxOS42IDcuNSAxOC4xIDE4LjFsLTYuNyA0Ni43QzExNC43IDUwOS4yIDkzIDUyOCA2Ny40IDUyOCAzOSA1MjggMTYgNTA1IDE2IDQ3Ni42IDE2IDQ1MSAzNC44IDQyOS4zIDYwLjEgNDI1Ljd6Il19LEN6dD1BMGUsVHp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtYXVkaW8iLGljb246WzM4NCw1MTIsW10sImYxYzciLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6bTUzLjggMTg1LjJjLTkuMS02LjMtMjEuNS00LjEtMjcuOCA1cy00LjEgMjEuNSA1IDI3LjhjMjMuOSAxNi43IDM5LjQgNDQuMyAzOS40IDc1LjVzLTE1LjYgNTguOS0zOS40IDc1LjVjLTkuMSA2LjMtMTEuMyAxOC44LTUgMjcuOHMxOC44IDExLjMgMjcuOCA1YzM0LjEtMjMuOCA1Ni42LTYzLjUgNTYuNi0xMDguM1MyOTYgMjY3LjUgMjYxLjggMjQzLjd6TTgwIDMxMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDAgMjcuMiAzNGMzIDMuOCA3LjYgNiAxMi41IDZsLjMgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2bC0uMyAwYy00LjkgMC05LjUgMi4yLTEyLjUgNmwtMjcuMiAzNC0yNCAwem0xMjggNzIuMmMwIDEwLjcgMTAuNSAxOC4yIDE4LjkgMTEuNiAxMi45LTEwLjMgMjEuMS0yNi4xIDIxLjEtNDMuOHMtOC4yLTMzLjUtMjEuMS00My44Yy04LjQtNi43LTE4LjkgLjktMTguOSAxMS42bDAgNjQuNXoiXX0sX3p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy1kb3duLXRvLWxpbmUiLGljb246WzUxMiw1MTIsW10sImU0YjgiLCJNMjE0LjYgMzEwLjZsLTY0IDY0Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtNjQtNjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMjc0LjcgOTYgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDI0Mi43IDkuNC05LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptMjU2IDBsLTY0IDY0Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtNjQtNjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsOS40IDkuNCAwLTI0Mi43YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAyNDIuNyA5LjQtOS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJ6Il19LEx6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnIixpY29uOls0NDgsNTEyLFsxMDNdLCI0NyIsIk0yMjQgOTZDMTM1LjYgOTYgNjQgMTY3LjYgNjQgMjU2czcxLjYgMTYwIDE2MCAxNjBjNzcuNCAwIDE0Mi01NSAxNTYuOC0xMjhMMjU2IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNDQgMGMyNS44IDAgNDkuNiAyMS40IDQ3LjIgNTAuNi05LjUgMTE1LTEwNS44IDIwNS40LTIyMy4yIDIwNS40LTEyMy43IDAtMjI0LTEwMC4zLTIyNC0yMjRTMTAwLjMgMzIgMjI0IDMyYzU3LjQgMCAxMDkuNyAyMS42IDE0OS4zIDU3IDEzLjIgMTEuOCAxNC4zIDMyIDIuNSA0NS4ycy0zMiAxNC4zLTQ1LjIgMi41QzMwMi4zIDExMS40IDI2NSA5NiAyMjQgOTZ6Il19LCR6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aWhhcmEiLGljb246WzU3Niw1MTIsW10sImY2YTciLCJNMjczLjYtMy4yYzguNS02LjQgMjAuMy02LjQgMjguOCAwTDQ0My4yIDEwMi40YzguMyA2LjIgMTguNCA5LjYgMjguOCA5LjYgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI0IDAgMCA0OCA1OC43IDY0IDEzLjMgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgNDggMjQuNCAzMiAxNS42IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQwIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTEyOCAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0xMjggMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyMi4xIDAgMTcuOS0zMiAwLTQ4LTggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMy4zIDAgNTguNy02NCAwLTQ4LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMTAuNCAwIDIwLjUtMy40IDI4LjgtOS42TDI3My42LTMuMnpNMTI4IDM2OGwzMjAgMCAwLTQ4LTMyMCAwIDAgNDh6TTM4NCAxNjBsLTE5MiAwIDAgNDggMTkyIDAgMC00OHoiXX0sRHp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYWctY2hlY2tlcmVkIixpY29uOls0NDgsNTEyLFsxMjc5MzddLCJmMTFlIiwiTTMyIDBDNDkuNyAwIDY0IDE0LjMgNjQgMzJsMCAxNiA2OS0xNy4yYzM4LjEtOS41IDc4LjMtNS4xIDExMy41IDEyLjUgNDYuMyAyMy4yIDEwMC44IDIzLjIgMTQ3LjEgMGw5LjYtNC44QzQyMy44IDI4LjEgNDQ4IDQzLjEgNDQ4IDY2LjFsMCAyNzkuN2MwIDEzLjMtOC4zIDI1LjMtMjAuOCAzMGwtMzQuNyAxM2MtNDYuMiAxNy4zLTk3LjYgMTQuNi0xNDEuNy03LjQtMzcuOS0xOS04MS40LTIzLjctMTIyLjUtMTMuNEw2NCAzODQgNjQgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDk3LjcgMCA0ODBMMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDB6TTY0IDE4Ny4xbDY0LTEzLjkgMCA2NS41LTY0IDEzLjkgMCA2NS41IDQ4LjgtMTIuMmM1LjEtMS4zIDEwLjEtMi40IDE1LjItMy4zbDAtNjMuOSAzOC45LTguNGM4LjMtMS44IDE2LjctMi41IDI1LjEtMi4xbDAtNjRjMTMuNiAuNCAyNy4yIDIuNiA0MC40IDYuNGwyMy42IDYuOSAwIDY2LjctNDEuNy0xMi4zYy03LjMtMi4xLTE0LjgtMy40LTIyLjMtMy44bDAgNzEuNGMyMS44IDEuOSA0My4zIDYuNyA2NCAxNC40bDAtNjkuOCAyMi43IDYuN2MxMy41IDQgMjcuMyA2LjQgNDEuMyA3LjRsMC02NC4yYy03LjgtLjgtMTUuNi0yLjMtMjMuMi00LjVsLTQwLjgtMTIgMC02MmMtMTMtMy44LTI1LjgtOC44LTM4LjItMTUtOC4yLTQuMS0xNi45LTctMjUuOC04LjhsMCA3Mi40Yy0xMy0uNC0yNiAuOC0zOC43IDMuNmwtMjUuMyA1LjUgMC03NS4yLTY0IDE2IDAgNzMuMXpNMzIwIDMzNS43YzE2LjggMS41IDMzLjktLjcgNTAtNi44bDE0LTUuMiAwLTcxLjctNy45IDEuOGMtMTguNCA0LjMtMzcuMyA1LjctNTYuMSA0LjVsMCA3Ny40em02NC0xNDkuNGwwLTcwLjhjLTIwLjkgNi4xLTQyLjQgOS4xLTY0IDkuMWwwIDY5LjRjMTMuOSAxLjQgMjggLjUgNDEuNy0yLjZsMjIuMy01LjJ6Il19LGFBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlLXNpbXBsZSIsaWNvbjpbNTEyLDUxMixbImdhdWdlLXNpbXBsZS1tZWQiLCJ0YWNob21ldGVyLWF2ZXJhZ2UiXSwiZjYyOSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zMjAgOTZjMC0yNi45LTE2LjUtNDkuOS00MC01OS4zTDI4MCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNzIuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LEF6dD1hQSxFenQ9YUEsRTBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpZ2h0LWxlZnQiLGljb246WzUxMiw1MTIsWyJleGNoYW5nZS1hbHQiXSwiZjM2MiIsIk01MDIuNiAxNTAuNmwtOTYgOTZjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzM1MiAyMzYuOSAzNTIgMjI0bDAtNjQtMzIwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsMzIwIDAgMC02NGMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zem0tMzk3LjMgMzUybC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTMTYwIDI3NS4xIDE2MCAyODhsMCA2NCAzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIwIDAgMCA2NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOXoiXX0sSXp0PUUwZSxQenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGlsbHMiLGljb246WzUxMiw1MTIsW10sImY0ODQiLCJNNjQgMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAxMTItOTYgMCAwLTExMnpNMTc2IDM2OGMwLTQ4LjcgMTguMS05My4yIDQ4LTEyN2wwLTEyOUMyMjQgNTAuMSAxNzMuOSAwIDExMiAwUzAgNTAuMSAwIDExMkwwIDQwMGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMiAzNy4zIDAgNzAuMy0xOC4yIDkwLjctNDYuMy0xNy0yOC42LTI2LjctNjItMjYuNy05Ny43em02NC43IDY3LjRjNC42IDguNyAxNi4zIDkuNyAyMy4zIDIuN0w0MzguMSAyNjRjNy03IDYtMTguNy0yLjctMjMuMy0yMC4xLTEwLjctNDMtMTYuNy02Ny40LTE2LjctNzkuNSAwLTE0NCA2NC41LTE0NCAxNDQgMCAyNC4zIDYgNDcuMyAxNi43IDY3LjR6TTI5Ny45IDQ3MmMtNyA3LTYgMTguNyAyLjcgMjMuMyAyMC4xIDEwLjcgNDMgMTYuNyA2Ny40IDE2LjcgNzkuNSAwIDE0NC02NC41IDE0NC0xNDQgMC0yNC4zLTYtNDcuMy0xNi43LTY3LjQtNC42LTguNy0xNi4zLTkuNy0yMy4zLTIuN0wyOTcuOSA0NzJ6Il19LE56dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleHBsb3Npb24iLGljb246WzUxMiw1MTIsW10sImU0ZTkiLCJNMjU2LTMyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxNjBjMTIuNCAwIDIyLjcgOS40IDIzLjkgMjEuN0wyOTMuNCAyOTEuNiA0NjcuNiAxMS4zYzYuNy0xMC43IDIwLjUtMTQuNSAzMS43LTguNXMxNS44IDE5LjUgMTAuNiAzMUwzNzIuOCAzMzguNmMyLjIgMi4zIDQuMyA0LjcgNi4zIDcuMWw5Ny4yLTU0LjdjMTAuNS01LjkgMjMuNi0zLjEgMzAuOSA2LjRzNi4zIDIzLTIuMiAzMS41bC04NyA4Ny03MS40IDBjLTEzLjItMzcuMy00OC43LTY0LTkwLjUtNjRzLTc3LjQgMjYuNy05MC41IDY0bC03OS42IDAtNzUuNS01Mi4zQy42IDM1Ny0yLjggMzQ0LjEgMi40IDMzMy41czE3LjQtMTUuOSAyOC43LTEyLjRsOTcuMiAzMC40YzMtMy45IDYuMS03LjYgOS40LTExLjNMNzUuNCAyMzYuM2MtNi4xLTEwLjEtMy45LTIzLjEgNS4xLTMwLjdzMjIuMi03LjUgMzEuMSAuMUwyMTQgMjkzLjZjMS41LS40IDMtLjggNC41LTEuMWwxMy42LTE0Mi43YzEuMi0xMi4zIDExLjUtMjEuNyAyMy45LTIxLjd6TTMyIDQ2NGw0NTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAweiJdfSxGenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWRvd24tdG8tcGVvcGxlIixpY29uOls1MTIsNTEyLFtdLCJlNGI5IiwiTTExMyAxNTNjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDE1IDg5QzUuNyA3OS42IDUuNyA2NC40IDE1IDU1UzM5LjYgNDUuNyA0OSA1NUw3MiA3OC4xIDcyLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDg2LjEgMjMtMjNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC02NCA2NHptMzIwIDBjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDMzNSA4OWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDIzIDIzIDAtODYuMWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgODYuMSAyMy0yM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTY0IDY0ek0yNTYgMTkyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyem0wIDE2MGM1MyAwIDk2IDQzIDk2IDk2bDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyYzAtNTMgNDMtOTYgOTYtOTZ6TTMyIDI4OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0zNTIgMGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek04MCAzNjhjMTUuMyAwIDI5LjYgNC4zIDQxLjggMTEuOC02LjMgMTYuMi05LjggMzMuOC05LjggNTIuMmwwIDQ4YzAgMTEuNCAyLjQgMjIuMiA2LjcgMzJsLTg3LjggMEMxMy44IDUxMiAwIDQ5OC4yIDAgNDgxLjFMMCA0NDhjMC00NC4yIDM1LjgtODAgODAtODB6TTM5My4zIDUxMmM0LjMtOS44IDYuNy0yMC42IDYuNy0zMmwwLTQ4YzAtMTguNC0zLjUtMzYtOS44LTUyLjIgMTIuMi03LjUgMjYuNS0xMS44IDQxLjgtMTEuOCA0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDMzLjFjMCAxNy0xMy44IDMwLjktMzAuOSAzMC45bC04Ny44IDB6Il19LE96dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy12aWV3ZmluZGVyIixpY29uOls1NzYsNTEyLFtdLCJlNTk1IiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0bDAgNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTcyYzAtOC44IDcuMi0xNiAxNi0xNmw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0UzE0OS4zIDAgMTM2IDBMNjQgMHpNNDQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNDQwIDB6TTQ4IDM3NmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDM2Mi43IDAgMzc2bDAgNzJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNzJ6bTUyOCAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzJjMCA4LjgtNy4yIDE2LTE2IDE2bC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC03MnpNMjg4IDIxNmE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnptMCA0MGMtNTMgMC05NiA0My05NiA5NmwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC01My00My05Ni05Ni05NnptMTkyLTY0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTE2OCAyNzIuM2MtNDkuMyA0LjEtODggNDUuMy04OCA5NS43bDAgMTAuN2MwIDExLjggOS42IDIxLjMgMjEuMyAyMS4zbDQ2LjggMGMtMi43LTcuNS00LjEtMTUuNi00LjEtMjRsMC0yNGMwLTI5LjUgOC44LTU2LjkgMjQtNzkuN3pNNDI3LjkgNDAwbDQ2LjggMGMxMS44IDAgMjEuMy05LjYgMjEuMy0yMS4zbDAtMTAuN2MwLTUwLjMtMzguNy05MS42LTg4LTk1LjcgMTUuMiAyMi44IDI0IDUwLjIgMjQgNzkuN2wwIDI0YzAgOC40LTEuNCAxNi41LTQuMSAyNHpNMTkyIDE5MmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxSenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLW9uIixpY29uOls0NDgsNTEyLFtdLCJlNGRkIiwiTTI0OC04YzAtMTMuMy0xMC43LTI0LTI0LTI0UzIwMC0yMS4zIDIwMC04bDAgNjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0ek0xNDUuMyAyMDhsMTU3LjUgMGM2LjcgMCAxMi42IDQuMSAxNSAxMC40bDI2LjEgNjkuNi0yMzkuNiAwIDI2LjEtNjkuNmMyLjMtNi4yIDguMy0xMC40IDE1LTEwLjR6TTM0IDI5Mi44bC0xLjMgMy40QzEzLjIgMzA3LjEgMCAzMjggMCAzNTJMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDI4OCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTI0LTEzLjItNDQuOS0zMi44LTU1LjlsLTEuMy0zLjQtMzYuMy05Ni45Yy0xMS43LTMxLjItNDEuNi01MS45LTc0LjktNTEuOWwtMTU3LjUgMGMtMzMuMyAwLTYzLjIgMjAuNy03NC45IDUxLjlMMzQgMjkyLjh6TTk2IDMzNmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTIyNCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek03IDdDLTIuMyAxNi40LTIuMyAzMS42IDcgNDFMNTUgODljOS40IDkuNCAyNC42IDkuNCAzMy45IDBTOTguMyA2NC40IDg5IDU1TDQxIDdDMzEuNi0yLjMgMTYuNC0yLjMgNyA3ek00MDcgN0wzNTkgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw0OC00OGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOVM0MTYuNC0yLjMgNDA3IDd6Il19LEJ6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbGVpZ2giLGljb246WzY0MCw1MTIsW10sImY3Y2MiLCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0UzQ2LjMgOTYgNjQgOTZsMCAxNjBjMCA0MS44IDI2LjcgNzcuNCA2NCA5MC41bDAgNjkuNS03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDUwNCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTgwIDAgMC02NGM1MyAwIDk2LTQzIDk2LTk2bDAtOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTQ4LjkgMGMtNDguNSAwLTkyLjgtMjcuNC0xMTQuNS03MC44bC0yNS4yLTUwLjVDMjM3LjcgNTkuNCAxOTMuNCAzMiAxNDQuOSAzMkw2NCAzMnpNNDMyIDQxNmwtMjU2IDAgMC02NCAyNTYgMCAwIDY0eiJdfSxIenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHVtYmJlbGwiLGljb246WzY0MCw1MTIsW10sImY0NGIiLCJNOTYgMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAxMTIgMjU2IDAgMC0xMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDE2IDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNiAwIDAgMTZjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0xMTItMjU2IDAgMCAxMTJjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0xNi0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNDhjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYgMCAwLTE2eiJdfSxJMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFieS1jYXJyaWFnZSIsaWNvbjpbNTEyLDUxMixbImNhcnJpYWdlLWJhYnkiXSwiZjc3ZCIsIk02NCAyMDhsMCA4MGMwIDUzIDQzIDk2IDk2IDk2bDE5MiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0xMTIgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA1Ni0zMzYgMHptLjItNDhsMjIzLjggMCAwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkwyMzIgMEMxNDEuOSAwIDY4LjQgNzAuOSA2NC4yIDE2MHpNMTYwIDQ2NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem0yODggMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxxenQ9STBlLGp6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJraXdpLWJpcmQiLGljb246WzU3Niw1MTIsW10sImY1MzUiLCJNMjkxLjIgMzg4LjRjMzEuMi0xOC44IDY0LjctMzYuNCAxMDEuMS0zNi40bDU1LjcgMGM0LjYgMCA5LjEtLjIgMTMuNi0uN2w4NS4zIDEyMS45YzQgNS43IDExLjMgOC4yIDE3LjkgNi4xUzU3NiA0NzEgNTc2IDQ2NGwwLTI0MGMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOGwtNTUuNyAwQzM1NS45IDk2IDMyMi40IDc4LjQgMjkxLjIgNTkuNiAyNjIuMyA0Mi4xIDIyOC4zIDMyIDE5MiAzMiA4NiAzMiAwIDExOCAwIDIyNCAwIDI5NS4xIDM4LjYgMzU3LjEgOTYgMzkwLjNMOTYgNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00NmMxNS4zIDMuOSAzMS40IDYgNDggNiA1LjQgMCAxMC43LS4yIDE2LS43bDAgNDAuN2MwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNTAuOWMxMi40LTQuNCAyNC4yLTEwIDM1LjItMTYuN3pNNDQ4IDIwMGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LFAwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci14bWFyayIsaWNvbjpbNDQ4LDUxMixbImNhbGVuZGFyLXRpbWVzIl0sImYyNzMiLCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yOTEuOSAyMjAuMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTMzLjkgMzMuOS0zMy45LTMzLjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzMuOSAzMy45LTMzLjkgMzMuOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMzLjktMzMuOSAzMy45IDMzLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0zMy45LTMzLjkgMzMuOS0zMy45YzkuNC05LjQgOS40LTI0LjYgMC0zMy45eiJdfSxWenQ9UDBlLE4wZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtZG93biIsaWNvbjpbNTEyLDUxMixbNjE0NjYsImFycm93LWFsdC1jaXJjbGUtZG93biJdLCJmMzU4IiwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMjQ0LjcgMzg3LjNsLTEwNC0xMDRjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjRzOC4zLTkuOSAxNC44LTkuOWw1NiAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDU2IDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlzMS4xIDEyLjktMy41IDE3LjRsLTEwNCAxMDRjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAweiJdfSxVenQ9TjBlLFd6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLW1lZGljYWwiLGljb246WzM4NCw1MTIsW10sImY0NzciLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE2MCAyODBsMCA0MC00MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMCAwIDQwYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQwIDQwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC00MCAwIDAtNDBjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LFc0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InhtYXJrIixpY29uOlszODQsNTEyLFsxMjg0NzMsMTAwMDUsMTAwMDYsMTAwNjAsMjE1LCJjbG9zZSIsIm11bHRpcGx5IiwicmVtb3ZlIiwidGltZXMiXSwiZjAwZCIsIk01NS4xIDczLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDE0Ny4yIDI1NiA5LjkgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyLjUgMzAxLjMgMzI5LjkgNDM4LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wyMzcuOCAyNTYgMzc1LjEgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTkyLjUgMjEwLjcgNTUuMSA3My40eiJdfSxHenQ9VzQsWXp0PVc0LFp6dD1XNCxYenQ9VzQsRjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXBlcyIsaWNvbjpbNTEyLDUxMixbInRyaWFuZ2xlLWNpcmNsZS1zcXVhcmUiXSwiZjYxZiIsIk0yNTYgMGMxMS4yIDAgMjEuNyA1LjkgMjcuNCAxNS41bDk2IDE2MGM1LjkgOS45IDYuMSAyMi4yIC40IDMyLjJTMzYzLjUgMjI0IDM1MiAyMjRsLTE5MiAwYy0xMS41IDAtMjIuMi02LjItMjcuOC0xNi4ycy01LjUtMjIuMyAuNC0zMi4ybDk2LTE2MEMyMzQuMyA1LjkgMjQ0LjggMCAyNTYgMHpNMTI4IDI3MmExMTIgMTEyIDAgMSAxIDAgMjI0IDExMiAxMTIgMCAxIDEgMC0yMjR6bTIwMCAxNmwxMTIgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDExMmMwIDIyLjEtMTcuOSA0MC00MCA0MGwtMTEyIDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtMTEyYzAtMjIuMSAxNy45LTQwIDQwLTQweiJdfSxRenQ9RjBlLEp6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLW9uZSIsaWNvbjpbNDQ4LDUxMixbOTg1Nl0sImY1MjUiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjI0IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEt6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NrLW9wZW4iLGljb246WzU3Niw1MTIsW10sImYzYzEiLCJNMzg0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzJjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhTMzIwIDI1LjMgMzIwIDk2bDAgNjQtMTYwIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjI0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAtNjR6Il19LGVDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXBwZXItaG90IixpY29uOls1NzYsNTEyLFsxMjc3OThdLCJmODE2IiwiTTU0NSA2NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDQ3OC45IDYzLjJDNDUyLjMgNDMuNiA0MTkuNSAzMiAzODQgMzIgMzQ4LjkgMzIgMzE2LjUgNDMuMyAyOTAuMSA2Mi40IDI3NC4xIDc0LjEgMjg0LjIgOTYgMzA0IDk2bDI0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCAxOS44IDIxLjkgMjkuOSAzMy42IDEzLjkgMTkuMS0yNi40IDMwLjQtNTguOCAzMC40LTkzLjkgMC0zNS41LTExLjYtNjguMy0zMS4yLTk0LjlMNTQ1IDY1ek0yNzAgMTM1LjVsLTE1OS42IDIyOEMxMDEuMyAzNzYuNCA4Ni43IDM4NCA3MSAzODRsLTcgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OGwyNy4xIDBjNjUuNyAwIDEyOS43LTIwLjIgMTgzLjUtNTcuOEw0NDAuNSAzMDYuMUM0MzUgMjk1LjkgNDMyIDI4NC4yIDQzMiAyNzJsLTU2IDBjLTM5LjggMC03Mi0zMi4yLTcyLTcybDAtNTZjLTEyLjIgMC0yMy45LTMtMzQtOC41eiJdfSxPMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJvcGxldC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbInRpbnQtc2xhc2giXSwiZjVjNyIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQ2My42IDM5Ny44YzEwLjUtMjMuOCAxNi40LTUwLjEgMTYuNC03Ny44IDAtOTEuMi0xMzAuMi0yNzQuMS0xNjYuNi0zMjMuNS01LjktOC0xNS4yLTEyLjUtMjUuMi0xMi41bC0uNCAwYy0xMCAwLTE5LjMgNC41LTI1LjIgMTIuNS0xNS42IDIxLjItNDguNSA2Ni45LTgwLjkgMTE5LjRMNDEtMjQuOXptOTIgMjI3LjdjLTIxLjYgNDMuOC0zNyA4NS45LTM3IDExNy4yIDAgMTA2IDg2IDE5MiAxOTIgMTkyIDQzLjQgMCA4My40LTE0LjQgMTE1LjUtMzguNkwxMzMgMjAyLjh6Il19LHRDdD1PMGUsUjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRyb3BsZXQiLGljb246WzM4NCw1MTIsWzEyODE2NywidGludCJdLCJmMDQzIiwiTTE5MiA1MTJDODYgNTEyIDAgNDI2IDAgMzIwIDAgMjI4LjggMTMwLjIgNDUuOSAxNjYuNi0zLjUgMTcyLjUtMTEuNSAxODEuOC0xNiAxOTEuOC0xNmwuNCAwYzEwIDAgMTkuMyA0LjUgMjUuMiAxMi41IDM2LjQgNDkuNCAxNjYuNiAyMzIuMyAxNjYuNiAzMjMuNSAwIDEwNi04NiAxOTItMTkyIDE5MnpNMTEyIDMxMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDc1LjEgNjAuOSAxMzYgMTM2IDEzNiAxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGMtNDguNiAwLTg4LTM5LjQtODgtODh6Il19LHJDdD1SMGUsaUE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1saW5lcyIsaWNvbjpbMzg0LDUxMixbMTI4NDQxLDEyODQ2Miw2MTY4NiwiZmlsZS1hbHQiLCJmaWxlLXRleHQiXSwiZjE1YyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTIwIDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxhQ3Q9aUEsaUN0PWlBLG5DdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50cy1kb2xsYXIiLGljb246WzU3Niw1MTIsW10sImY2NTMiLCJNMTkyIDMyMGMxMDYgMCAxOTItNzguOCAxOTItMTc2UzI5OC0zMiAxOTItMzIgMCA0Ni44IDAgMTQ0YzAgMzkuNiAxNC4zIDc2LjIgMzguNCAxMDUuNkwyLjggMzE2LjhDLTIuMSAzMjYuMS0uNCAzMzcuNSA3IDM0NXMxOC45IDkuMiAyOC4yIDQuMkwxMTYuOCAzMDZjMjMuMSA5IDQ4LjUgMTQgNzUuMiAxNHptMy4yIDQ4YzE2LjQgODEuOSA5NC43IDE0NCAxODguOCAxNDQgMjYuNyAwIDUyLjEtNSA3NS4yLTE0bDgxLjYgNDMuMmM5LjMgNC45IDIwLjcgMy4yIDI4LjItNC4yczkuMi0xOC45IDQuMi0yOC4ybC0zNS42LTY3LjJjMjQuMS0yOS40IDM4LjQtNjYgMzguNC0xMDUuNiAwLTgyLjQtNjEuNy0xNTEuNS0xNDUtMTcwLjctMTEuNSAxMTUuOC0xMTUuOCAyMDEuMi0yMzUuOCAyMDIuN3pNMTk2IDMyYzExIDAgMjAgOSAyMCAyMGwwIDQgOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGwtNDcuNSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCA2LjEgNC40IDExLjMgMTAuNCAxMi4zbDQxLjcgN2MyNS4zIDQuMiA0My45IDI2LjEgNDMuOSA1MS44IDAgMjYuMS0xOSA0Ny43LTQ0IDUxLjhsMCA0LjdjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtNC0yNCAwYy0xMSAwLTIwLTktMjAtMjBzOS0yMCAyMC0yMGw1NS41IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtNi4xLTQuNC0xMS4zLTEwLjQtMTIuM2wtNDEuNy03Yy0yNS4zLTQuMi00My45LTI2LjEtNDMuOS01MS44IDAtMjguOCAyMy4yLTUyLjIgNTItNTIuNWwwLTRjMC0xMSA5LTIwIDIwLTIweiJdfSxCMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcy1sb2NhdGlvbiIsaWNvbjpbNTEyLDUxMixbInNlYXJjaC1sb2NhdGlvbiJdLCJmNjg5IiwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZDMjk2LjMgNDAxLjEgMjUzLjkgNDE2IDIwOCA0MTYgOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDAgNDE2IDkzLjEgNDE2IDIwOHpNMjg4IDE3NmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDQ4LjggNDYuNSAxMTEuNiA2OC42IDEzOC42IDYgNy4zIDE2LjggNy4zIDIyLjcgMCAyMi4xLTI3IDY4LjYtODkuOCA2OC42LTEzOC42em0tMTEyIDBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sc0N0PUIwZSxWQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWludm9pY2UiLGljb246WzM4NCw1MTIsW10sImY1NzAiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnpNNjQgMzg0bDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiA0MTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek04OCA2NGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNFM3NC43IDY0IDg4IDY0em0wIDk2bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LG9DdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW50YWdvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTc5MCIsIk0zMTYuNC0zLjFjLTE2LjgtMTIuMi0zOS42LTEyLjItNTYuNCAwTDM1LjMgMTYwLjJjLTE2LjggMTIuMi0yMy45IDMzLjktMTcuNCA1My43bDg1LjggMjY0LjFjNi40IDE5LjggMjQuOSAzMy4yIDQ1LjcgMzMuMmwyNzcuNyAwYzIwLjggMCAzOS4yLTEzLjQgNDUuNy0zMy4ybDg1LjgtMjY0LjFjNi40LTE5LjgtLjYtNDEuNC0xNy40LTUzLjdMMzE2LjQtMy4xeiJdfSxsQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVwdWJsaWNhbiIsaWNvbjpbNjQwLDUxMixbXSwiZjc1ZSIsIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMybDIyNCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgNjQtNTQ0IDAgMC02NHptMTUyLTMyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTIzMiAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTI4MCAxNjBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMTI4IDI4OGw0MTYgMCAwIDExMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDQ4YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwbDAtNDgtMzIgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0LTE5MiAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwIDEyOCAweiJdfSxIMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvcCIsaWNvbjpbNTc2LDUxMixbInN0b3JlLWFsdCJdLCJmNTRmIiwiTTIxLjUgMTgxLjFMNzguMyA2Ny40Qzg5LjIgNDUuNyAxMTEuMyAzMiAxMzUuNiAzMmwzMDQuOSAwYzI0LjIgMCA0Ni40IDEzLjcgNTcuMiAzNS40bDU2LjggMTEzLjdjMy42IDcuMiA1LjUgMTUuMSA1LjUgMjMuMiAwIDI3LjMtMjEuMiA0OS43LTQ4IDUxLjZMNTEyIDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE5Mi05NiAwIDAgMTc2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xOTIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNzYuMWMtMjYuOC0xLjktNDgtMjQuMy00OC01MS42IDAtOCAxLjktMTYgNS41LTIzLjJ6TTEyOCAyNTZsMCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTExMi0xNjAgMHoiXX0sY0N0PUgwZSxuQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxtIixpY29uOls0NDgsNTEyLFsxMjc5MDIsNjIzNjgsImZpbG0tYWx0IiwiZmlsbS1zaW1wbGUiXSwiZjAwOCIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNNDggMzY4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTMwNC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek00OCAyNDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzA0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTQ4IDExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2ek0zNTIgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHoiXX0sZEN0PW5BLHVDdD1uQSxwQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctY2lyY2xlLXhtYXJrIixpY29uOls1NzYsNTEyLFtdLCJlNGQ0IiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTc0LjkgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMiAwIDQgLjIgNS45IC41IDYtMjMuNiAxNi4zLTQ1LjQgMzAuMS02NC41bC00IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDRjMjcuNS0xOS44IDYwLjMtMzIuNCA5Ni0zNS40TDQxNiA2NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwem0zMiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTEyOCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTIyLjYtMTQ0bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkw0NTQuNiA0MDB6Il19LGZDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50cyIsaWNvbjpbNTc2LDUxMixbMTI4NDkwLDYxNjcwXSwiZjA4NiIsIk0zODQgMTQ0YzAgOTcuMi04NiAxNzYtMTkyIDE3Ni0yNi43IDAtNTIuMS01LTc1LjItMTRMMzUuMiAzNDkuMmMtOS4zIDQuOS0yMC43IDMuMi0yOC4yLTQuMnMtOS4yLTE4LjktNC4yLTI4LjJsMzUuNi02Ny4yQzE0LjMgMjIwLjIgMCAxODMuNiAwIDE0NCAwIDQ2LjggODYtMzIgMTkyLTMyUzM4NCA0Ni44IDM4NCAxNDR6bTAgMzY4Yy05NC4xIDAtMTcyLjQtNjIuMS0xODguOC0xNDQgMTIwLTEuNSAyMjQuMy04Ni45IDIzNS44LTIwMi43IDgzLjMgMTkuMiAxNDUgODguMyAxNDUgMTcwLjcgMCAzOS42LTE0LjMgNzYuMi0zOC40IDEwNS42bDM1LjYgNjcuMmM0LjkgOS4zIDMuMiAyMC43LTQuMiAyOC4ycy0xOC45IDkuMi0yOC4yIDQuMkw0NTkuMiA0OThjLTIzLjEgOS00OC41IDE0LTc1LjIgMTR6Il19LGhDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWdzIixpY29uOls1NzYsNTEyLFtdLCJmMDJjIiwiTTQwMS4yIDM5LjFMNTQ5LjQgMTg5LjRjMjcuNyAyOC4xIDI3LjcgNzMuMSAwIDEwMS4yTDM5MyA0NDguOWMtOS4zIDkuNC0yNC41IDkuNS0zMy45IC4ycy05LjUtMjQuNS0uMi0zMy45TDUxNS4zIDI1Ni44YzkuMi05LjMgOS4yLTI0LjQgMC0zMy43TDM2NyA3Mi45Yy05LjMtOS40LTkuMi0yNC42IC4yLTMzLjlzMjQuNi05LjIgMzMuOSAuMnpNMzIuMSAyMjkuNUwzMi4xIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDEzMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsMTQ0IDE0NGMyNSAyNSAyNSA2NS41IDAgOTAuNUwyODUuNCA0MTguN2MtMjUgMjUtNjUuNSAyNS05MC41IDBsLTE0NC0xNDRjLTEyLTEyLTE4LjctMjguMy0xOC43LTQ1LjN6bTE0NC04NS41YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LG1DdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJndW4iLGljb246WzU3Niw1MTIsW10sImUxOWIiLCJNNTI4IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOC00NDggMEMxNC4zIDY0IDAgNzguMyAwIDk2TDAgMjA4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwIDBjMjAuOCAwIDM2LjEgMTkuNiAzMSAzOS44TDMzIDQ0MC4yYy0yLjQgOS42LS4yIDE5LjcgNS44IDI3LjVTNTQuMSA0ODAgNjQgNDgwbDk2IDBjMTQuNyAwIDI3LjUtMTAgMzEtMjQuMkwyMTcgMzUyIDMyMS40IDM1MmMyMy43IDAgNDQuOC0xNC45IDUyLjctMzcuMmwyNi43LTc0LjggMzEuMSAwYzguNSAwIDE2LjYtMy40IDIyLjYtOS40bDIyLjYtMjIuNiA2Ni43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC04MGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTYgMCAwLTh6TTMyMS40IDMwNGwtOTIuNSAwIDE2LTY0IDEwNSAwLTIxIDU4LjdjLTEuMSAzLjItNC4yIDUuMy03LjUgNS4zek04MCAxMjhsMzg0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgMTYwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2eiJdfSxNYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtY2hlY2siLGljb246WzUxMiw1MTIsWzYxNTMzLCJjaGVjay1jaXJjbGUiXSwiZjA1OCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnpNMzc0IDE0NS43Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM0wyMjEuMSAzMTUuMiAxNjkgMjYzLjFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjNSA1IDExLjggNy41IDE4LjggN3MxMy40LTQuMSAxNy41LTkuOEwzNzkuMyAxNzkuMmM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXoiXX0sZ0N0PU1iLGJDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY29ycGlvIixpY29uOls2NDAsNTEyLFtdLCJlODRlIiwiTTM2OCAzMmM2MS45IDAgMTEyIDUwLjEgMTEyIDExMmwwIDI4OS43YzAgNy45IDYuNCAxNC4zIDE0LjMgMTQuMyAzLjkgMCA3LjYtMS42IDEwLjItNC4zbDQwLjEtNDEuMS05LjctOS43Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzU0Mi4zIDM1MiA1NTIgMzUybDY0IDAgMi41IC4xYzEyLjEgMS4yIDIxLjUgMTEuNSAyMS41IDIzLjlsMCA2NC0uMyAzLjZjLTEuMiA4LjItNi43IDE1LjMtMTQuNSAxOC42LTkgMy43LTE5LjMgMS42LTI2LjItNS4ybC05LjEtOS4xLTM5LjYgNDAuNmMtMTQuNyAxNS4xLTM0LjkgMjMuNi01NiAyMy42LTQzLjMgMC03OC4zLTM1LjEtNzguMy03OC4zTDQxNiAxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMDRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMjBjMC0xNi42LTEyLjYtMzAuMi0yOC43LTMxLjhsLTYuNi0uM0M0NC42IDk0LjIgMzIgODAuNiAzMiA2NCAzMiA0Ni4zIDQ2LjMgMzIgNjQgMzIgOTEgMzIgMTE1LjMgNDMuMSAxMzIuNyA2MSAxNTIuNiA0MyAxNzkgMzIgMjA4IDMyIDIzOS4zIDMyIDI2Ny43IDQ0LjkgMjg4IDY1LjcgMzA4LjMgNDQuOSAzMzYuNiAzMiAzNjggMzJ6Il19LHEwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpZC1jYXJkLWNsaXAiLGljb246WzU3Niw1MTIsWyJpZC1jYXJkLWFsdCJdLCJmNDdmIiwiTTI1Ni0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjQtMTI4IDAgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgMzJsMTEyIDAgMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTMyIDExMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMnpNMTc2IDQwMGMwIDguOCA3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwYy00NC4yIDAtODAgMzUuOC04MCA4MHpNMjg4IDI4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnoiXX0sdkN0PXEwZSx4Q3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9vbiIsaWNvbjpbNTEyLDUxMixbMTI3NzY5LDkyMTRdLCJmMTg2IiwiTTI1NiAwQzExNC42IDAgMCAxMTQuNiAwIDI1NlMxMTQuNiA1MTIgMjU2IDUxMmM2OC44IDAgMTMxLjMtMjcuMiAxNzcuMy03MS40IDcuMy03IDkuNC0xNy45IDUuMy0yNy4xcy0xMy43LTE0LjktMjMuOC0xNC4xYy00LjkgLjQtOS44IC42LTE0LjggLjYtMTAxLjYgMC0xODQtODIuNC0xODQtMTg0IDAtNzIuMSA0MS41LTEzNC42IDEwMi4xLTE2NC44IDkuMS00LjUgMTQuMy0xNC4zIDEzLjEtMjQuNFMzMjIuNiA4LjUgMzEyLjcgNi4zQzI5NC40IDIuMiAyNzUuNCAwIDI1NiAweiJdfSx5Q3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2lsLXdlbGwiLGljb246WzU3Niw1MTIsW10sImU1MzIiLCJNNTI4LjMgNjEuM2MtMTEuNC00Mi43LTU1LjMtNjgtOTgtNTYuNkw0MTQuOSA4LjhDMzk3LjggMTMuNCAzODcuNyAzMSAzOTIuMyA0OGwyNC41IDkxLjQtMTA4LjIgMjguMS02LjMtMTguMUMyOTcuNyAxMzYuNiAyODUuNiAxMjggMjcyIDEyOHMtMjUuNyA4LjYtMzAuMiAyMS40bC0xMy42IDM5LTEzMi4yIDM0LjMgMC0zOC42YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjY0LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEzNy4zIDAtNjEuNC0xNzUuNC02Mi4yIDE2LjEgMjIuMSA2My4yLTY2LjYgMCAxOS45LTU2LjktNzQuNiAxOS4zLTQ2LjcgMTMzLjUtNDEuMyAwIDAtMTU5LjIgMzM3LjQtODcuNSAyNS4yIDk0YzQuNiAxNy4xIDIyLjEgMjcuMiAzOS4yIDIyLjZsMTUuNS00LjFjNDIuNy0xMS40IDY4LTU1LjMgNTYuNi05OEw1MjguMyA2MS4zek0yMDUuMSA0NDhsMTYuOC00OCAxMDAuMiAwIDE2LjggNDgtMTMzLjggMHoiXX0sajBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhY2hvZ3JhcGgtZGlnaXRhbCIsaWNvbjpbNTc2LDUxMixbImRpZ2l0YWwtdGFjaG9ncmFwaCJdLCJmNTY2IiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTY0IDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04OCAzNTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggMzUyem0yNTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6TTQ5NiAxOTJhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek04OCAzMTJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0xMDQtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptNTYgMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSx3Q3Q9ajBlLFYwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXQiLGljb246WzQ0OCw1MTIsWyJ0YWJsZXQtYW5kcm9pZCJdLCJmM2ZiIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTE4NCA0MDBsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sTUN0PVYwZSxsYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWJsZS1zaWduIixpY29uOls0NDgsNTEyLFs4MzgxLCJyb3VibGUiLCJydWIiLCJydWJsZSJdLCJmMTU4IiwiTTExMiAzMkM5NC4zIDMyIDgwIDQ2LjMgODAgNjRsMCAyMDgtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgNDgtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDE1MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNTIgMCAwLTQ4IDExMiAwYzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0UzMzNS41IDMyIDI1NiAzMkwxMTIgMzJ6TTI1NiAyNTZsLTExMiAwIDAtMTYwIDExMiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwcy0zNS44IDgwLTgwIDgweiJdfSxrQ3Q9bGIsU0N0PWxiLHpDdD1sYixDQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvc2VkLWNhcHRpb25pbmciLGljb246WzUxMiw1MTIsW10sImYyMGEiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMTUyIDgwbDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgwYzAtNC40IDMuNi04IDgtOHptMTY4IDhjMC00LjQgMy42LTggOC04bDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgweiJdfSxUQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuIixpY29uOls1MTIsNTEyLFsxMjgzOTRdLCJmMzA0IiwiTTM1Mi45IDIxLjJMMzA4IDY2LjEgNDQ1LjkgMjA0IDQ5MC44IDE1OS4xQzUwNC40IDE0NS42IDUxMiAxMjcuMiA1MTIgMTA4cy03LjYtMzcuNi0yMS4yLTUxLjFMNDU1LjEgMjEuMkM0NDEuNiA3LjYgNDIzLjIgMCA0MDQgMHMtMzcuNiA3LjYtNTEuMSAyMS4yek0yNzQuMSAxMDBMNTguOSAzMTUuMWMtMTAuNyAxMC43LTE4LjUgMjQuMS0yMi42IDM4LjdMLjkgNDgxLjZjLTIuMyA4LjMgMCAxNy4zIDYuMiAyMy40czE1LjEgOC41IDIzLjQgNi4ybDEyNy44LTM1LjVjMTQuNi00LjEgMjcuOS0xMS44IDM4LjctMjIuNkw0MTIgMjM3LjkgMjc0LjEgMTAweiJdfSxfQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUiLGljb246WzU3Niw1MTIsW10sImYwNzIiLCJNNTIwIDIwMGMzMC45IDAgNTYgMjUuMSA1NiA1NnMtMjUuMSA1Ni01NiA1NmwtMTI3LjMgMC0xNTkuMiAxNzMuNmMtNi4xIDYuNi0xNC42IDEwLjQtMjMuNiAxMC40bC00My43IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xbDU0LjMtMTYyLjktOTkuNyAwLTUyLjggNjZjLTMgMy44LTcuNiA2LTEyLjUgNmwtMTkuOCAwYy0xMC40IDAtMTgtOS44LTE1LjUtMTkuOUwzMiAyNTYgNSAxNDcuOUMyLjQgMTM3LjggMTAuMSAxMjggMjAuNSAxMjhsMTkuOCAwYzQuOSAwIDkuNSAyLjIgMTIuNSA2bDUyLjggNjYgOTkuNyAwLTU0LjMtMTYyLjlDMTQ3LjYgMjYuNyAxNTUuMyAxNiAxNjYuMiAxNmw0My43IDBjOSAwIDE3LjUgMy44IDIzLjYgMTAuNEwzOTIuNyAyMDAgNTIwIDIwMHoiXX0sTEN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImltYWdlcyIsaWNvbjpbNTc2LDUxMixbXSwiZjMwMiIsIk05NiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDk2IDk2ek0yNCAxMjhjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyOTZjMCA4LjggNy4yIDE2IDE2IDE2bDM2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNTJjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTE2OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE5Ni41IDExLjVjLTQuNC03LjEtMTIuMS0xMS41LTIwLjUtMTEuNXMtMTYuMSA0LjQtMjAuNSAxMS41bC01Ni4zIDkyLjEtMjQuNS0zMC42Yy00LjYtNS43LTExLjQtOS0xOC43LTlzLTE0LjIgMy4zLTE4LjcgOWwtNjQgODBjLTUuOCA3LjItNi45IDE3LjEtMi45IDI1LjRTMTc0LjggMzUyIDE4NCAzNTJsMjcyIDBjOC43IDAgMTYuNy00LjcgMjAuOS0xMi4zczQuMS0xNi44LS41LTI0LjNsLTg4LTE0NHoiXX0sVTBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS1zY3JlZW4iLGljb246WzM4NCw1MTIsWyJtb2JpbGUtYW5kcm9pZC1hbHQiXSwiZjNjZiIsIk0xNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwTDMwNCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMTYgNjR6TTEyOCA0NDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTMwNCA2NGwtMjI0IDAgMCAzMDQgMjI0IDAgMC0zMDR6Il19LCRDdD1VMGUsREN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imd1YXJhbmktc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTE5YSIsIk0xOTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0MS41QzczLjMgNzcuMyAwIDE1OC4xIDAgMjU2UzczLjMgNDM0LjcgMTY4IDQ0Ni41bDAgNDEuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDEuNWM5NC43LTExLjggMTY4LTkyLjYgMTY4LTE5MC41IDAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMzYgMCAwLTkzLjhjMjUuMyA0LjggNDcuOSAxNyA2NS42IDM0LjMgMTIuNiAxMi40IDMyLjkgMTIuMiA0NS4zLS40czEyLjItMzIuOS0uNS00NS4zQzI5Ny4yIDkwLjIgMjU4LjggNzAuOCAyMTYgNjUuNUwyMTYgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTE2OCAxMzAuMmwwIDI1MS41QzEwOC44IDM3MC41IDY0IDMxOC41IDY0IDI1NnM0NC44LTExNC41IDEwNC0xMjUuOHptNDggMjUxLjVsMC05My44IDEwMCAwYy0xMi4zIDQ3LjYtNTEuMiA4NC41LTEwMCA5My44eiJdfSxXMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFnLXNob3BwaW5nIixpY29uOls0NDgsNTEyLFsic2hvcHBpbmctYmFnIl0sImYyOTAiLCJNMTYwIDgwYzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCA0OC0xMjggMCAwLTQ4em0tNDggNDhsLTY0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTIwOGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMCAwLTQ4YzAtNjEuOS01MC4xLTExMi0xMTItMTEyUzExMiAxOC4xIDExMiA4MGwwIDQ4em0yNCA0OGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTE1MiAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxBQ3Q9VzBlLEcwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcmlnaHQiLGljb246WzUxMiw1MTIsWzYxODM4LCJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0Il0sImYzNWEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHptMzg3LjMgMTEuM2wtMTA0IDEwNGMtNC42IDQuNi0xMS41IDUuOS0xNy40IDMuNVMyNTYgMzY2LjUgMjU2IDM2MGwwLTU2LTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTU2YzAtNi41IDMuOS0xMi4zIDkuOS0xNC44czEyLjktMS4xIDE3LjQgMy41bDEwNCAxMDRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZ6Il19LEVDdD1HMGUsWTBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBob25lLXZvbHVtZSIsaWNvbjpbNTc2LDUxMixbInZvbHVtZS1jb250cm9sLXBob25lIl0sImYyYTAiLCJNMzQ0LTMyYzEyOC4xIDAgMjMyIDEwMy45IDIzMiAyMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMDEuNi04Mi40LTE4NC0xODQtMTg0LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzIwIDg4YzAtMTMuMyAxMC43LTI0IDI0LTI0IDc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDguNi0zOS40LTg4LTg4LTg4LTEzLjMgMC0yNC0xMC43LTI0LTI0ek0xNDQuMSAxLjRjMTkuNy01LjQgNDAuMyA0LjcgNDguMSAyMy41bDQwLjUgOTcuM2M2LjkgMTYuNSAyLjEgMzUuNi0xMS44IDQ3bC00NC4xIDM2LjFjMzIuNSA3MS42IDg5IDEzMCAxNTkuMyAxNjQuOUwzNzQuNyAzMjNjMTEuMy0xMy45IDMwLjQtMTguNiA0Ny0xMS44TDUxOSAzNTEuOGMxOC44IDcuOCAyOC45IDI4LjQgMjMuNSA0OC4xbC0xLjUgNS41QzUyMy40IDQ3MC4xIDQ2MC45IDUyNS4zIDM4NC42IDUwOS4yIDIwOS42IDQ3Mi4xIDcxLjkgMzM0LjQgMzQuOCAxNTkuNCAxOC43IDgzLjEgNzMuOSAyMC42IDEzOC41IDIuOWw1LjUtMS41eiJdfSxJQ3Q9WTBlLFBDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjdWJlcyIsaWNvbjpbNTEyLDUxMixbXSwiZjFiMyIsIk0yODQtMS4zYy0xNy4zLTEwLTM4LjctMTAtNTYgMEwxNDMuOCA0Ny4zYy0xNy4zIDEwLTI4IDI4LjUtMjggNDguNWwwIDEwMS45LTg4LjMgNTFjLTE3LjMgMTAtMjggMjguNS0yOCA0OC41bDAgOTcuM2MwIDIwIDEwLjcgMzguNSAyOCA0OC41bDg0LjMgNDguNmMxNy4zIDEwIDM4LjcgMTAgNTYgMGw4OC4zLTUxIDg4LjMgNTFjMTcuMyAxMCAzOC43IDEwIDU2IDBMNDg0LjUgNDQzYzE3LjMtMTAgMjgtMjguNSAyOC00OC41bDAtOTcuM2MwLTIwLTEwLjctMzguNS0yOC00OC41bC04OC4zLTUxIDAtMTAxLjljMC0yMC0xMC43LTM4LjUtMjgtNDguNUwyODQtMS4zek0yMzIgMjkyLjZsMCAxMDYuNS04OC4zIDUxYy0xLjIgLjctMi42IDEuMS00IDEuMWwwLTEwNS4zIDkyLjMtNTMuM3ptMjMxLjQgLjZjLjcgMS4yIDEuMSAyLjYgMS4xIDRsMCA5Ny4zYzAgMi45LTEuNSA1LjUtNCA2LjlsLTg0LjMgNDguNmMtMS4yIC43LTIuNiAxLjEtNCAxLjFsMC0xMDUuMyA5MS4yLTUyLjZ6TTM0OC4zIDk1LjhsMCAxMDEuOS05Mi4zIDUzLjMgMC0xMDYuNSA5MS4yLTUyLjZjLjcgMS4yIDEuMSAyLjYgMS4xIDR6Il19LE5DdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG9uZSIsaWNvbjpbNTEyLDUxMixbMTI4MjIyLDEyODM3OV0sImYwOTUiLCJNMTYwLjIgMjVDMTUyLjMgNi4xIDEzMS43LTMuOSAxMTIuMSAxLjRsLTUuNSAxLjVjLTY0LjYgMTcuNi0xMTkuOCA4MC4yLTEwMy43IDE1Ni40IDM3LjEgMTc1IDE3NC44IDMxMi43IDM0OS44IDM0OS44IDc2LjMgMTYuMiAxMzguOC0zOS4xIDE1Ni40LTEwMy43bDEuNS01LjVjNS40LTE5LjctNC43LTQwLjMtMjMuNS00OC4xbC05Ny4zLTQwLjVjLTE2LjUtNi45LTM1LjYtMi4xLTQ3IDExLjhsLTM4LjYgNDcuMkMyMzMuOSAzMzUuNCAxNzcuMyAyNzcgMTQ0LjggMjA1LjNMMTg5IDE2OS4zYzEzLjktMTEuMyAxOC42LTMwLjQgMTEuOC00N0wxNjAuMiAyNXoiXX0sRkN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvcmlpLWdhdGUiLGljb246WzQ0OCw1MTIsWzk5NjFdLCJmNmExIiwiTTAgOTZMMCAyOC41QzAgMjEuNiA1LjYgMTYgMTIuNSAxNiAxNC44IDE2IDE3IDE2LjYgMTkgMTcuOEw1OCA0MS4yQzgyLjkgNTYuMSAxMTEuMyA2NCAxNDAuMyA2NGwxNjcuNCAwYzI5IDAgNTcuNS03LjkgODIuMy0yMi44bDM5LTIzLjRjMS45LTEuMiA0LjItMS44IDYuNC0xLjggNi45IDAgMTIuNSA1LjYgMTIuNSAxMi41TDQ0OCA5NmMwIDM1LjMtMjguNyA2NC02NCA2NGwwIDY0IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOTItMTkyIDAgMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOTItMTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtNjRDMjguNyAxNjAgMCAxMzEuMyAwIDk2ek0xMjggMjI0bDY0IDAgMC02NC02NCAwIDAgNjR6bTEyOCAwbDY0IDAgMC02NC02NCAwIDAgNjR6Il19LE9DdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNvbiIsaWNvbjpbNTc2LDUxMixbMTI5MzYzXSwiZjdlNSIsIk01NTcgOTYuN2MxNC40IDE0LjQgMTIuNCAzOC40LTQuMyA1MC4ybC02NC42IDQ1LjdjLTQzLjcgMzAuOS03OS4yIDcxLjktMTAzLjQgMTE5LjZsLTI1LjMgNDkuOGMtMjUuMSA0OS4zLTYyLjEgOTEuNS0xMDcuOCAxMjIuNmwtNzQuMSA1MC42Yy0xMy4xIDguOS0zMC43IDcuMy00MS44LTMuOWwtNDQuOS00NC45IDg2LjUtNjYuNWM0Mi4zLTMyLjUgNzYuNy03NC4zIDEwMC42LTEyMmwyNC41LTQ5LjFjMjQuNS00OSA2MS44LTkwLjYgMTA3LjktMTIwLjJsMTA4LjctNjkuOSAzOCAzOHpNNDg0LjIgMjMuOUwzODQuMyA4OC4yYy01My40IDM0LjMtOTYuNSA4Mi40LTEyNC45IDEzOS4xbC0yNC41IDQ5LjFjLTIwLjYgNDEuMy01MC4zIDc3LjMtODYuOSAxMDUuNGwtOTEuNCA3MC4zLTM2LjktMzYuOWMtMTQuNC0xNC40LTEyLjQtMzguNCA0LjMtNTAuMmw2NC42LTQ1LjdjNDMuNy0zMC45IDc5LjItNzEuOSAxMDMuNC0xMTkuNmwyNS4zLTQ5LjhDMjQyLjMgMTAwLjggMjc5LjMgNTguNiAzMjUgMjcuNGw3NC4xLTUwLjZjMTMuMS04LjkgMzAuNi03LjMgNDEuOCAzLjlsNDMuMyA0My4zeiJdfSxSQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWZhbGxpbmctYnVyc3QiLGljb246WzU3Niw1MTIsW10sImU1NDciLCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA1LjRjMCA1NS4yLTIzLjcgMTA3LTYzLjkgMTQzLjFsNjIuOSA3NS41IDg5IDBjMTUuMSAwIDI5LjMgNy4xIDM4LjQgMTkuMmw0My4yIDU3LjZjMTAuNiAxNC4xIDcuNyAzNC4yLTYuNCA0NC44cy0zNC4yIDcuNy00NC44LTYuNEwzNjggMzIwIDI2My4yIDMyMCAzNzYuOCA0NTkuOGMxMS4xIDEzLjcgOS4xIDMzLjktNC43IDQ1cy0zMy45IDkuMS00NS00LjdMMTM3LjQgMjY2LjZjLTYuMSAxNS05LjQgMzEuMy05LjQgNDhsMCA2OS40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjkuNGMwLTY3LjQgMzUuNC0xMjkuOSA5My4yLTE2NC42bDQuNi0yLjhDMjAwLjQgMTI0IDIyNCA4Mi40IDIyNCAzNy40bDAtNS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xNiA4OEE1NiA1NiAwIDEgMSAxMjggODggNTYgNTYgMCAxIDEgMTYgODh6bTM3Ni03LjljMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDh6bTEwNCAxNTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMHptLTU0LjUtOTcuNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzMuOSAzMy45Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHoiXX0sWjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InF1b3RlLXJpZ2h0IixpY29uOls0NDgsNTEyLFs4MjIxLCJxdW90ZS1yaWdodC1hbHQiXSwiZjEwZSIsIk00NDggMjk2YzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC04IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtOC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMzZ6bS0yNTYgMGMwIDY2LjMtNTMuNyAxMjAtMTIwIDEyMGwtOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDggMGMzMC45IDAgNTYtMjUuMSA1Ni01NmwwLTgtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTM2eiJdfSxCQ3Q9WjBlLEhDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1tZWRpY2FsLWZsYWciLGljb246WzY0MCw1MTIsW10sImU1MTQiLCJNNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMjg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yNjcuNSA1OS4xTDQwMCAxODYuOSA0MDAgNTAzLjRjLTkuNCA1LjQtMjAuMyA4LjYtMzIgOC42bC0yNTYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNDQtMTkuOSAwQzEyLjYgMzA0IDAgMjkxLjQgMCAyNzUuOSAwIDI2OC4zIDMuMSAyNjEgOC42IDI1NS43TDIxMi41IDU5LjFDMjE5LjkgNTIgMjI5LjcgNDggMjQwIDQ4czIwLjEgNCAyNy41IDExLjF6TTIwNC44IDI1Ni44bDAgNDQtNDQgMGMtOS43IDAtMTcuNiA3LjktMTcuNiAxNy42bDAgMzUuMmMwIDkuNyA3LjkgMTcuNiAxNy42IDE3LjZsNDQgMCAwIDQ0YzAgOS43IDcuOSAxNy42IDE3LjYgMTcuNmwzNS4yIDBjOS43IDAgMTcuNi03LjkgMTcuNi0xNy42bDAtNDQgNDQgMGM5LjcgMCAxNy42LTcuOSAxNy42LTE3LjZsMC0zNS4yYzAtOS43LTcuOS0xNy42LTE3LjYtMTcuNmwtNDQgMCAwLTQ0YzAtOS43LTcuOS0xNy42LTE3LjYtMTcuNmwtMzUuMiAwYy05LjcgMC0xNy42IDcuOS0xNy42IDE3LjZ6Il19LHFDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwcmVzY3JpcHRpb24iLGljb246WzQ0OCw1MTIsW10sImY1YjEiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJMMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDUwLjcgMCAxMjggMTI4LTEwNS40IDEwNS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDI4OCAzOTcuMyAzOTMuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDMzMy4zIDM1MiA0MzguNiAyNDYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyODggMzA2LjcgMjAyLjIgMjIwLjlDMjUxLjQgMjA5LjEgMjg4IDE2NC44IDI4OCAxMTIgMjg4IDUwLjEgMjM3LjkgMCAxNzYgMEwzMiAwek0xNzYgMTYwbC0xMTIgMCAwLTk2IDExMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4eiJdfSxqQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS10aHJlZSIsaWNvbjpbNDQ4LDUxMixbOTg1OF0sImY1MjciLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTI4IDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sVkN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWxvY2siLGljb246WzU3Niw1MTIsW10sImU0ZDYiLCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyMS4zYy00Ni45IDE5LTgwIDY1LTgwIDExOC43bDAgMjQuNGMtMTkuNiAxNy42LTMyIDQzLjEtMzIgNzEuNWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA2NHpNMTc2IDM4NGwwIDgwIDgwIDAgMC02NC4xYzAtMTMuNyAxLjktMjcgNS41LTM5LjYtNS43LTUuMi0xMy4yLTguMy0yMS41LTguM2wtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTMwNyAyMjQuM2MtMS0uMi0yLS4zLTMtLjNsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNi43IDBjMi4xLTIyLjggOC40LTQ0LjMgMTguMy02My43ek0xNDQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTE0NCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMzUyIDgwLjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0zNTIgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxYMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWQtY2FyZCIsaWNvbjpbNTc2LDUxMixbNjIxNDcsImRyaXZlcnMtbGljZW5zZSJdLCJmMmMyIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRMMCA5NnptMCA0OGw1NzYgMCAwIDI3MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTQ0ek0yNDcuMyA0MTZjMjAuMiAwIDM1LjMtMTkuNCAyMi40LTM1LTE0LjctMTcuNy0zNi45LTI5LTYxLjctMjlsLTY0IDBjLTI0LjggMC00NyAxMS4zLTYxLjcgMjktMTIuOSAxNS42IDIuMiAzNSAyMi40IDM1bDE0Mi41IDB6TTE3NiAzMTJhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTM2MCAyMDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMHoiXX0sVUN0PVgwZSxRMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXBsYXkiLGljb246WzUxMiw1MTIsWzYxNDY5LCJwbGF5LWNpcmNsZSJdLCJmMTQ0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTE4OC4zIDE0Ny4xYy03LjYgNC4yLTEyLjMgMTIuMy0xMi4zIDIwLjlsMCAxNzZjMCA4LjcgNC43IDE2LjcgMTIuMyAyMC45czE2LjggNC4xIDI0LjMtLjVsMTQ0LTg4YzcuMS00LjQgMTEuNS0xMi4xIDExLjUtMjAuNXMtNC40LTE2LjEtMTEuNS0yMC41bC0xNDQtODhjLTcuNC00LjUtMTYuNy00LjctMjQuMy0uNXoiXX0sV0N0PVEwZSxKMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1sYXVnaC1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MTMsImxhdWdoLWJlYW0iXSwiZjU5YSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTAxLjYgMzE0Yy0zLjctMTMuNyA3LjUtMjYgMjEuNy0yNmwyNjUuNCAwYzE0LjIgMCAyNS40IDEyLjMgMjEuNyAyNi0xOC41IDY4LTgwLjYgMTE4LTE1NC40IDExOFMxMjAgMzgyIDEwMS42IDMxNHpNMTc2IDE2NGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LEdDdD1KMGUsWUN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxlYWYiLGljb246WzUxMiw1MTIsW10sImYwNmMiLCJNNDcxLjMgNi43QzQ3Ny43IC42IDQ4Ny0xLjYgNDk1LjYgMS4yIDUwNS40IDQuNSA1MTIgMTMuNyA1MTIgMjRsMCAxODYuOWMwIDEzMS4yLTEwOC4xIDIzNy4xLTIzOC44IDIzNy4xLTc3IDAtMTQzLjQtNDkuNS0xNjcuNS0xMTguNy0zNS40IDMwLjgtNTcuNyA3Ni4xLTU3LjcgMTI2LjcgMCAxMy4zLTEwLjcgMjQtMjQgMjRTMCA0NjkuMyAwIDQ1NkMwIDM4MS4xIDM4LjIgMzE1LjEgOTYuMSAyNzYuMyAxMzEuNCAyNTIuNyAxNzMuNSAyNDAgMjE2IDI0MGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwYy0zOS43IDAtNzcuMyA4LjgtMTExIDI0LjUgMjMuMy03MCA4OS4yLTEyMC41IDE2Ny0xMjAuNSA2Ni40IDAgMTE1LjgtMjIuMSAxNDguNy00NCAxOS4yLTEyLjggMzUuNS0yOC4xIDUwLjctNDUuM3oiXX0sWkN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXktdXNlciIsaWNvbjpbNTEyLDUxMixbXSwiZTA2NSIsIk0yMzQuMiA4LjZjMTIuMy0xMS40IDMxLjMtMTEuNCA0My41IDBMMzY4IDkyLjMgMzY4IDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMDEuNSAzNy44IDM1LjFjOS42IDkgMTIuOCAyMi45IDggMzUuMVM0OTMuMiAyNzIgNDgwIDI3MmwtMTYgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjg4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHpNMzEyIDI1NmE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6TTE0NCA0MzJjMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMGMtNDQuMiAwLTgwIDM1LjgtODAgODB6Il19LHNBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvdGF0ZS1yaWdodCIsaWNvbjpbNTEyLDUxMixbInJlZG8tYWx0Iiwicm90YXRlLWZvcndhcmQiXSwiZjJmOSIsIk00ODggMTkybC0xNDQgMGMtOS43IDAtMTguNS01LjgtMjIuMi0xNC44cy0xLjctMTkuMyA1LjItMjYuMmw0Ni43LTQ2LjdjLTc1LjMtNTguNi0xODQuMy01My4zLTI1My41IDE1LjktNzUgNzUtNzUgMTk2LjUgMCAyNzEuNXMxOTYuNSA3NSAyNzEuNSAwYzguMi04LjIgMTUuNS0xNi45IDIxLjktMjYuMSAxMC4xLTE0LjUgMzAuMS0xOCA0NC42LTcuOXMxOCAzMC4xIDcuOSA0NC42Yy04LjUgMTIuMi0xOC4yIDIzLjgtMjkuMSAzNC43LTEwMCAxMDAtMjYyLjEgMTAwLTM2MiAwUy0yNSAxNzUgNzUgNzVjOTQuMy05NC4zIDI0My43LTk5LjYgMzQ0LjMtMTYuMkw0NzEgN2M2LjktNi45IDE3LjItOC45IDI2LjItNS4yUzUxMiAxNC4zIDUxMiAyNGwwIDE0NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHoiXX0sWEN0PXNBLFFDdD1zQSxKQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9vdGgiLGljb246WzQ0OCw1MTIsWzEyOTQ2M10sImY1YzkiLCJNMTQ1IDUuN0wyMjQgMzIgMzAzIDUuN0MzMTQuMyAxLjkgMzI2IDAgMzM3LjkgMCAzOTguNyAwIDQ0OCA0OS4zIDQ0OCAxMTAuMWwwIDY4LjVjMCAyOS40LTkuNSA1OC4xLTI3LjIgODEuNmwtMS4xIDEuNWMtMTIuOSAxNy4yLTIxLjMgMzcuNC0yNC4zIDU4LjdMMzczLjcgNDcxLjljLTMuMyAyMy0yMyA0MC4xLTQ2LjIgNDAuMS0yMi44IDAtNDIuMy0xNi41LTQ2LTM5TDI2MS4zIDM1MS42Yy0zLTE4LjItMTguOC0zMS42LTM3LjMtMzEuNnMtMzQuMiAxMy40LTM3LjMgMzEuNkwxNjYuNSA0NzNjLTMuOCAyMi41LTIzLjIgMzktNDYgMzktMjMuMiAwLTQyLjktMTcuMS00Ni4yLTQwLjFMNTIuNiAzMjAuNWMtMy0yMS4zLTExLjQtNDEuNS0yNC4zLTU4LjdsLTEuMS0xLjVDOS41IDIzNi43IDAgMjA4LjEgMCAxNzguN2wwLTY4LjVDMCA0OS4zIDQ5LjMgMCAxMTAuMSAwIDEyMiAwIDEzMy43IDEuOSAxNDUgNS43eiJdfSxLQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leS13aW5kb3ciLGljb246WzUxMiw1MTIsW10sImUwMGQiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6TTIxNiAyMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAweiJdfSxlVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW90b3JjeWNsZSIsaWNvbjpbNjQwLDUxMixbMTI3OTQ5XSwiZjIxYyIsIk0yODAgMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYuNiAwIDIyLjUgNDguNy05NS4xIDcxLjNjLTMzLjQtMjUuMS03NS00MC0xMjAtNDBsLTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMGM3OC41IDAgMTQzLjIgNTkuNiAxNTEuMiAxMzZsLTI1LjQgMGMtMTEuMi01OS4yLTYzLjMtMTA0LTEyNS44LTEwNC03MC43IDAtMTI4IDU3LjMtMTI4IDEyOFM3My4zIDQ4MCAxNDQgNDgwYzYyLjUgMCAxMTQuNS00NC44IDEyNS44LTEwNGw1MC4yIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yMi41YzAtNDUuMSAyNS43LTg1LjQgNjUuNS0xMDcuN2wxMi4xIDI2LjFjLTMyLjQgMjMuMi01My41IDYxLjItNTMuNSAxMDQuMSAwIDcwLjcgNTcuMyAxMjggMTI4IDEyOHMxMjgtNTcuMyAxMjgtMTI4LTU3LjMtMTI4LTEyOC0xMjhjLTEwLjcgMC0yMSAxLjMtMzAuOSAzLjhMNDMzLjggMTYwIDQ4OCAxNjBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNTMuMyAwYy02LjkgMC0xMy43IDIuMi0xOS4yIDYuNGwtMTcuMSAxMi44LTI0LjYtNTMuM0MzNjkuOSAyMS40IDM2MS40IDE2IDM1MiAxNmwtNzIgMHpNNDQ1LjggMzAwLjRsMjguNCA2MS42YzUuNiAxMiAxOS44IDE3LjMgMzEuOCAxMS43czE3LjMtMTkuOCAxMS43LTMxLjhsLTI4LjUtNjEuNmMyLjItLjIgNC40LS4zIDYuNy0uMyAzOS44IDAgNzIgMzIuMiA3MiA3MnMtMzIuMiA3Mi03MiA3Mi03Mi0zMi4yLTcyLTcyYzAtMjAuMiA4LjMtMzguNSAyMS44LTUxLjZ6TTE0NCA0MjRjLTM5LjggMC03Mi0zMi4yLTcyLTcyczMyLjItNzIgNzItNzJjMzEuMyAwIDU4IDIwIDY3LjkgNDhMMTQ0IDMyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2Ny45IDBjLTkuOSAyOC0zNi42IDQ4LTY3LjkgNDh6Il19LEswZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNrd2FyZC1mYXN0IixpY29uOls1MTIsNTEyLFs5MTk4LCJmYXN0LWJhY2t3YXJkIl0sImYwNDkiLCJNNDkyLjIgNDc3LjZjLTEyIDUtMjUuNyAyLjItMzQuOS02LjlMMjg4IDMwMS4zIDI4OCA0NDhjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlMNjQgMzAxLjMgNjQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMlM2NCA0Ni4zIDY0IDY0TDY0IDIxMC43IDIzMy40IDQxLjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTMjg4IDUxLjEgMjg4IDY0bDAgMTQ2LjcgMTY5LjQtMTY5LjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTNTEyIDUxLjEgNTEyIDY0bDAgMzg0YzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZ6Il19LHRUdD1LMGUsZTRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFkZHJlc3MtYm9vayIsaWNvbjpbNTEyLDUxMixbNjIxMzgsImNvbnRhY3QtYm9vayJdLCJmMmI5IiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjg4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgMHpNMjA4IDI4OGw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTI0LTk2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNNTEyIDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0em0wIDEyOGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NHpNNDk2IDMyMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNnoiXX0sclR0PWU0ZSxhVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2FpbGJvYXQiLGljb246WzUxMiw1MTIsW10sImU0NDUiLCJNMjQwIDM1LjlsMCAzNDguMS0yMjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNjEuOSA1MC4xIDExMiAxMTIgMTEybDI4OCAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyIDAtOC44LTcuMi0xNi0xNi0xNmwtMjA4IDAgMC00OCAxNjEuNyAwYzEyLjkgMCAyMC41LTE0LjQgMTMuMi0yNUwyNjkuMiAyNi45Yy04LjktMTMtMjkuMi02LjctMjkuMiA5ek0xOTIgMzIwbDAtMTg0LjJjMC0xNi4xLTIxLTIyLjEtMjkuNi04LjVMNDcuMyAzMTEuNWMtNi43IDEwLjcgMSAyNC41IDEzLjYgMjQuNUwxNzYgMzM2YzguOCAwIDE2LTcuMiAxNi0xNnoiXX0saVR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stYm9va21hcmsiLGljb246WzQ0OCw1MTIsW10sImUwYmIiLCJNOTYgNTEybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjYuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMCAxNjkuNGMwIDEyLjUtMTAuMSAyMi42LTIyLjYgMjIuNi02IDAtMTEuOC0yLjQtMTYtNi42TDI3MiAxNDQgMjMwLjYgMTg1LjRjLTQuMiA0LjItMTAgNi42LTE2IDYuNi0xMi41IDAtMjIuNi0xMC4xLTIyLjYtMjIuNkwxOTIgMCA5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sblR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQiLGljb246WzUxMiw1MTIsW10sImU1MjEiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0zMDUgMjI1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC03Mi03MmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMSAzMS0xMDIuMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwMi4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MnoiXX0sdDRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvcGhvbmUtbGluZXMiLGljb246WzM4NCw1MTIsWzEyNzg5NywibWljcm9waG9uZS1hbHQiXSwiZjNjOSIsIk05NiA5NmMwLTUzIDQzLTk2IDk2LTk2IDUwLjMgMCA5MS42IDM4LjcgOTUuNyA4OEwyMzIgODhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMCAwIDQ4LTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTUuNyAwYy00LjEgNDkuMy00NS4zIDg4LTk1LjcgODgtNTMgMC05Ni00My05Ni05Nkw5NiA5NnpNMjQgMTYwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDBjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NGwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MGMwIDk3LjktNzMuMyAxNzguNy0xNjggMTkwLjVsMCA0OS41IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00OS41QzczLjMgNDAyLjcgMCAzMjEuOSAwIDIyNGwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0eiJdfSxzVHQ9dDRlLHI0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXBseS1hbGwiLGljb246WzU3Niw1MTIsWyJtYWlsLXJlcGx5LWFsbCJdLCJmMTIyIiwiTTMzMi4yIDE4LjRjMTIgNSAxOS44IDE2LjYgMTkuOCAyOS42bDAgODAgNDggMGM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NiAwIDExMy4zLTgxLjUgMTYzLjktMTAwLjIgMTc0LjEtMi41IDEuNC01LjMgMS45LTguMSAxLjktMTAuOSAwLTE5LjctOC45LTE5LjctMTkuNyAwLTcuNSA0LjMtMTQuNCA5LjgtMTkuNSA5LjQtOC44IDIyLjItMjYuNCAyMi4yLTU2LjcgMC01My00My05Ni05Ni05NmwtMzIgMCAwIDgwYzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45bC0xNjAtMTYwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wxNjAtMTYwYzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45ek0yMDUuNiAyMy4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDU0LjYgMjA4IDIwNS42IDM1OC45YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMMTAgMjMxLjJjLTYuNC02LTEwLTE0LjQtMTAtMjMuMnMzLjYtMTcuMiAxMC0yMy4yTDE3MS42IDIzLjFjOS40LTkuNCAyNC42LTkuNCAzMy45IDB6Il19LG9UdD1yNGUsbFR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVuaXZlcnNhbC1hY2Nlc3MiLGljb246WzUxMiw1MTIsW10sImYyOWEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTYxLjUtODYuMWMtMTIuMi01LjItMjYuMyAuNC0zMS41IDEyLjZzLjQgMjYuMyAxMi42IDMxLjVsMTEuOSA1LjFjMTcuMyA3LjQgMzUuMiAxMi45IDUzLjYgMTYuM2wwIDUwLjFjMCA0LjMtLjcgOC42LTIuMSAxMi42bC0yOC43IDg2LjFjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjQuNC03My4yYzEuMy0zLjggNC44LTYuNCA4LjgtNi40czcuNiAyLjYgOC44IDYuNGwyNC40IDczLjJjNC4yIDEyLjYgMTcuOCAxOS40IDMwLjQgMTUuMlMzMzkgMzk3IDMzNC44IDM4NC40bC0yOC43LTg2LjFjLTEuNC00LjEtMi4xLTguMy0yLjEtMTIuNmwwLTUwLjFjMTguNC0zLjUgMzYuMy04LjkgNTMuNi0xNi4zbDExLjktNS4xYzEyLjItNS4yIDE3LjgtMTkuMyAxMi42LTMxLjVzLTE5LjMtMTcuOC0zMS41LTEyLjZMMzM4LjcgMTc1Yy0yNi4xIDExLjItNTQuMiAxNy04Mi43IDE3cy01Ni41LTUuOC04Mi43LTE3bC0xMS45LTUuMXpNMjU2IDE2MGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LG9BPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvaWxldC1wYXBlciIsaWNvbjpbNTEyLDUxMixbMTI5NTMxLDYzMjYzLCJ0b2lsZXQtcGFwZXItYWx0IiwidG9pbGV0LXBhcGVyLWJsYW5rIl0sImY3MWUiLCJNMzI3LjEgMzJjLTguOCAxMS4xLTE2IDIzLjEtMjEuOSAzNC44LTIxLjQgNDIuNy0zMy4yIDk4LjQtMzMuMiAxNTcuMmwwIDI2NGMwIDMwLjktMjUuMSA1Ni01NiA1Nkw1NiA1NDRjLTMwLjkgMC01Ni0yNS4xLTU2LTU2TDAgMjI0QzAgMTE4IDQzIDMyIDk2IDMybDIzMS4xIDB6TTQxNiA0MTZjLTUzIDAtOTYtODYtOTYtMTkyczQzLTE5MiA5Ni0xOTIgOTYgODYgOTYgMTkyLTQzIDE5Mi05NiAxOTJ6bTAtMTI4YzE3LjcgMCAzMi0yOC43IDMyLTY0cy0xNC4zLTY0LTMyLTY0LTMyIDI4LjctMzIgNjQgMTQuMyA2NCAzMiA2NHoiXX0sY1R0PW9BLGRUdD1vQSx1VHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidnItY2FyZGJvYXJkIixpY29uOls1NzYsNTEyLFtdLCJmNzI5IiwiTTUxMiA5Nkw2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTE3LjUgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN2wzMy45LTMzLjljNy4yLTcuMiAxNy4xLTExLjMgMjcuMy0xMS4zczIwLjEgNC4xIDI3LjMgMTEuM2wzMy45IDMzLjljMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0w1MTIgNDE2YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0ek04MCAyNDBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwem0zNTItNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LHBUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaXp6YS1zbGljZSIsaWNvbjpbNTEyLDUxMixbXSwiZjgxOCIsIk0xNjkuNyAuOWMtMjIuOC0xLjYtNDEuOSAxNC00Ny41IDM0LjdMMTEyLjUgNzJDMjkzLjMgNzIuMyA0MzkuNyAyMTguNyA0NDAgMzk5LjVsMzYuNC05LjdjMjAuOC01LjUgMzYuMy0yNC43IDM0LjctNDcuNS0xMi42LTE4Mi44LTE1OC42LTMyOC44LTM0MS40LTM0MS40em0yMjIgNDExLjVjLjItNC4xIC4zLTguMiAuMy0xMi40IDAtMTU0LjYtMTI1LjQtMjgwLTI4MC0yODAtNC4xIDAtOC4zIC4xLTEyLjQgLjNMLjUgNDkxLjljLTEuNSA1LjUgLjEgMTEuNCA0LjEgMTUuNHM5LjkgNS42IDE1LjQgNC4xbDM3MS42LTk5LjF6TTE3NiAyMDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNOTYgMzg0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LGZUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcHJheS1jYW4iLGljb246WzU3Niw1MTIsW10sImY1YmQiLCJNMTkyIDBsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwLTEyOCAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDI1NmMwLTUzIDQzLTk2IDk2LTk2bDEyOCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyMDhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTIyNCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTIwOHptMjQwIDgwYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHpNMzIwIDY0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTQ0OCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNNTEyIDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek00NDggMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sYTRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS1sb3ciLGljb246WzQ0OCw1MTIsWzEyODI2NCwidm9sdW1lLWRvd24iXSwiZjAyNyIsIk00OCAzNTJsNDggMCAxMzQuMSAxMTkuMmM2LjQgNS43IDE0LjYgOC44IDIzLjEgOC44IDE5LjIgMCAzNC44LTE1LjYgMzQuOC0zNC44bDAtMzc4LjRjMC0xOS4yLTE1LjYtMzQuOC0zNC44LTM0LjgtOC41IDAtMTYuNyAzLjEtMjMuMSA4LjhMOTYgMTYwIDQ4IDE2MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OHpNMzgwLjYgMTgxLjVjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEMzNjEuMSAyMjcuNiAzNjggMjQxIDM2OCAyNTZzLTYuOSAyOC40LTE3LjcgMzcuM2MtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNUM0MDIuMSAzMTIuOSA0MTYgMjg2LjEgNDE2IDI1NnMtMTMuOS01Ni45LTM1LjUtNzQuNXoiXX0saFR0PWE0ZSxtVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3Jvc3MiLGljb246WzM4NCw1MTIsWzEyODMyNywxMDAxM10sImY2NTQiLCJNMTc2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgODAtODAgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw4MCAwIDAgMjA4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMDggODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC04MCAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTc2IDB6Il19LGk0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24iLGljb246WzM4NCw1MTIsWzEyOTQ4NSwibWFsZSJdLCJmMTgzIiwiTTI0OCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43bDQ2LjMgNjIuNGMxMC41IDE0LjIgMzAuNiAxNy4yIDQ0LjggNi42czE3LjItMzAuNiA2LjYtNDQuOGwtNzAuNS05NUMyNzQgMTMyIDIzNC4zIDExMiAxOTIgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTEyIDIzNi43IDExMiA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3oiXX0sZ1R0PWk0ZSxuNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91cmdsYXNzIixpY29uOlszODQsNTEyLFs5MjAzLDYyMDMyLCJob3VyZ2xhc3MtZW1wdHkiXSwiZjI1NCIsIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEwzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDExYzAgNDIuNC0xNi45IDgzLjEtNDYuOSAxMTMuMWwtNjcuOSA2Ny45IDY3LjkgNjcuOWMzMCAzMCA0Ni45IDcwLjcgNDYuOSAxMTMuMWwwIDExYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwwLTExYzAtNDIuNCAxNi45LTgzLjEgNDYuOS0xMTMuMWw2Ny45LTY3LjktNjcuOS02Ny45QzQ4LjkgMTU4LjEgMzIgMTE3LjQgMzIgNzVsMC0xMUMxNC4zIDY0IDAgNDkuNyAwIDMyek05NiA2NGwwIDExYzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45bDY3LjkgNjcuOSA2Ny45LTY3LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOWwwLTExLTE5MiAwem0wIDM4NGwxOTIgMCAwLTExYzAtMjUuNS0xMC4xLTQ5LjktMjguMS02Ny45bC02Ny45LTY3LjktNjcuOSA2Ny45Yy0xOCAxOC0yOC4xIDQyLjQtMjguMSA2Ny45bDAgMTF6Il19LGJUdD1uNGUsdlR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpc2giLGljb246WzU3Niw1MTIsWzEyODAzMV0sImY1NzgiLCJNMTgwLjUgMTQxLjVDMjE5LjcgMTA4LjUgMjcyLjYgODAgMzM2IDgwczExNi4zIDI4LjUgMTU1LjUgNjEuNWMzOS4xIDMzIDY2LjkgNzIuNCA4MSA5OS44IDQuNyA5LjIgNC43IDIwLjEgMCAyOS4zLTE0LjEgMjcuNC00MS45IDY2LjgtODEgOTkuOC0zOS4yIDMzLjEtOTIgNjEuNS0xNTUuNSA2MS41cy0xMTYuMy0yOC41LTE1NS41LTYxLjVjLTE2LjItMTMuNy0zMC41LTI4LjUtNDIuNy00My4xTDQ4LjEgMzc5LjZjLTEyLjUgNy4zLTI4LjQgNS4zLTM4LjctNC45cy0xMi40LTI2LTUuMy0zOC42TDUwIDI1NiA0LjIgMTc1LjljLTcuMi0xMi42LTUtMjguNCA1LjMtMzguNnMyNi4xLTEyLjIgMzguNy00LjlsODkuNyA1Mi4zYzEyLjItMTQuNiAyNi41LTI5LjQgNDIuNy00My4xek00NDggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LHhUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcnVtc3RpY2stYml0ZSIsaWNvbjpbNTEyLDUxMixbXSwiZjZkNyIsIk0xNjAgMjY1LjJjMCA4LjUtMy40IDE2LjYtOS40IDIyLjZsLTI2LjggMjYuOGMtMTIuMyAxMi4zLTMyLjUgMTEuNC00OS40IDcuMi00LjYtMS4xLTkuNS0xLjgtMTQuNS0xLjgtMzMuMSAwLTYwIDI2LjktNjAgNjBzMjYuOSA2MCA2MCA2MGM2LjMgMCAxMiA1LjcgMTIgMTIgMCAzMy4xIDI2LjkgNjAgNjAgNjBzNjAtMjYuOSA2MC02MGMwLTUtLjYtOS44LTEuOC0xNC41LTQuMi0xNi45LTUuMi0zNy4xIDcuMi00OS40bDI2LjgtMjYuOGM2LTYgMTQuMS05LjQgMjIuNi05LjRsODkuMiAwYzYuMyAwIDEyLjQtLjMgMTguNS0xIDExLjktMS4yIDE2LjQtMTUuNSAxMC44LTI2LTguNS0xNS44LTEzLjMtMzMuOC0xMy4zLTUzIDAtNjEuOSA1MC4xLTExMiAxMTItMTEyIDggMCAxNS43IC44IDIzLjIgMi40IDExLjcgMi41IDI0LjEtNS45IDIyLTE3LjYtMTQuNy04Mi4zLTg2LjctMTQ0LjgtMTczLjItMTQ0LjgtOTcuMiAwLTE3NiA3OC44LTE3NiAxNzZsMCA4OS4yeiJdfSx5VHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtc2ltcGxlIixpY29uOls1MTIsNTEyLFtdLCJlNDczIiwiTTE5MiA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTM1MnpNMCAyNzJjMC0yNi41IDIxLjUtNDggNDgtNDhsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAyNzJ6TTQzMiA5NmwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjg4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTI4OGMwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0sd1R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF0b20iLGljb246WzQ0OCw1MTIsWzk4ODNdLCJmNWQyIiwiTTIyNCAzOTguOGMtMTEuOCA1LjEtMjMuNCA5LjctMzQuOSAxMy41IDE2LjcgMzMuOCAzMSAzNS43IDM0LjkgMzUuN3MxOC4xLTEuOSAzNC45LTM1LjdjLTExLjQtMy45LTIzLjEtOC40LTM0LjktMTMuNXpNNDE0IDI1NmMzMyA0NS4yIDQ0LjMgOTAuOSAyMy42IDEyOC0yMC4yIDM2LjMtNjIuNSA0OS4zLTExNS4yIDQzLjItMjIgNTIuMS01NS43IDg0LjgtOTguNCA4NC44cy03Ni40LTMyLjctOTguNC04NC44QzcyLjkgNDMzLjMgMzAuNiA0MjAuMyAxMC40IDM4NC0xMC4zIDM0Ni45IDEgMzAxLjIgMzQgMjU2IDEgMjEwLjgtMTAuMyAxNjUuMSAxMC40IDEyOCAzMC42IDkxLjcgNzIuOSA3OC43IDEyNS42IDg0LjggMTQ3LjYgMzIuNyAxODEuMiAwIDIyNCAwczc2LjQgMzIuNyA5OC40IDg0LjhjNTIuNy02LjEgOTUgNi44IDExNS4yIDQzLjIgMjAuNyAzNy4xIDkuNCA4Mi44LTIzLjYgMTI4em0tNjUuOCA2Ny40Yy0xLjcgMTQuMi0zLjkgMjgtNi43IDQxLjIgMzEuOCAxLjQgMzguNi04LjcgNDAuMi0xMS43IDIuMy00LjIgNy0xNy45LTExLjktNDguMS02LjggNi4zLTE0IDEyLjUtMjEuNiAxOC42em0tNi43LTE3NS45YzIuOCAxMy4xIDUgMjYuOSA2LjcgNDEuMiA3LjYgNi4xIDE0LjggMTIuMyAyMS42IDE4LjYgMTguOS0zMC4yIDE0LjItNDQgMTEuOS00OC4xLTEuNi0yLjktOC40LTEzLTQwLjItMTEuN3pNMjU4LjkgOTkuN0MyNDIuMSA2NS45IDIyNy45IDY0IDIyNCA2NHMtMTguMSAxLjktMzQuOSAzNS43YzExLjQgMy45IDIzLjEgOC40IDM0LjkgMTMuNSAxMS44LTUuMSAyMy40LTkuNyAzNC45LTEzLjV6bS0xNTkgODguOWMxLjctMTQuMyAzLjktMjggNi43LTQxLjItMzEuOC0xLjQtMzguNiA4LjctNDAuMiAxMS43LTIuMyA0LjItNyAxNy45IDExLjkgNDguMSA2LjgtNi4zIDE0LTEyLjUgMjEuNi0xOC42ek03OC4yIDMwNC44Yy0xOC45IDMwLjItMTQuMiA0NC0xMS45IDQ4LjEgMS42IDIuOSA4LjQgMTMgNDAuMiAxMS43LTIuOC0xMy4xLTUtMjYuOS02LjctNDEuMi03LjYtNi4xLTE0LjgtMTIuMy0yMS42LTE4LjZ6TTMwNCAyNTZhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwem0tODAtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxNVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicCIsaWNvbjpbMzIwLDUxMixbMTEyXSwiNTAiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwxMjggMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MFMyNDguNCAzNTIgMTYwIDM1MmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjg4bDk2IDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZsLTk2IDAgMCAxOTJ6Il19LGtUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqZXQtZmlnaHRlci11cCIsaWNvbjpbNTEyLDUxMixbXSwiZTUxOCIsIk0yMDYuOCA0Ny44QzIwMi4zIDU4LjUgMjAwIDcwIDIwMCA4MS42bDAgMTAwLjQtMTUyIDExNCAwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMjM0LjcgMCAyNDhMMCAzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTggMTUyIDAgMCA1NC40LTY2IDUyLjhjLTMuOCAzLTYgNy42LTYgMTIuNWwwIDI0LjNjMCA4LjggNy4yIDE2IDE2IDE2bDg4IDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgODggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNC4zYzAtNC45LTIuMi05LjUtNi0xMi41bC02Ni01Mi44IDAtNTQuNCAxNTIgMCAwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE0NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQ4LTE1Mi0xMTQgMC0xMDAuNGMwLTExLjYtMi4zLTIzLjEtNi44LTMzLjhsLTI3LjEtNjVDMjc0LjQtMjYuMiAyNjUuNy0zMiAyNTYtMzJzLTE4LjQgNS44LTIyLjIgMTQuOGwtMjcuMSA2NXoiXX0sU1R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTYwIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2Ljd6Il19LHpUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGVldC1wbGFzdGljIixpY29uOlszODQsNTEyLFtdLCJlNTcxIiwiTTAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE0OS41IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMMzY1LjMgMzg2LjdjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0wzODQgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDh6bTIwOCA1LjVsMC05My41YzAtMTMuMyAxMC43LTI0IDI0LTI0bDkzLjUgMC0xMTcuNSAxMTcuNXpNMTUzIDEwNWwtNDggNDhjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDgtNDhjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45em05NiAzMkwxMzcgMjQ5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIxNSAxMDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45eiJdfSxDVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidiIsaWNvbjpbMzg0LDUxMixbMTE4XSwiNTYiLCJNMTkuNyAzNC41YzE2LjMtNi44IDM1IC45IDQxLjggMTcuMkwxOTIgMzY0LjggMzIyLjUgNTEuN2M2LjgtMTYuMyAyNS41LTI0IDQxLjgtMTcuMnMyNCAyNS41IDE3LjIgNDEuOGwtMTYwIDM4NGMtNSAxMS45LTE2LjYgMTkuNy0yOS41IDE5LjdzLTI0LjYtNy44LTI5LjUtMTkuN0wyLjUgNzYuM2MtNi44LTE2LjMgLjktMzUgMTcuMi00MS44eiJdfSxzNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdCIsaWNvbjpbNTEyLDUxMixbImxpc3Qtc3F1YXJlcyJdLCJmMDNhIiwiTTQwIDQ4QzI2LjcgNDggMTYgNTguNyAxNiA3MmwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNEw0MCA0OHpNMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6TTE2IDIzMmwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTQwIDM2OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQ4IDB6Il19LFRUdD1zNGUsX1R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBpc2NlcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg0YyIsIk00MC40IDEwLjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yIDIuOSAyLjcgMjguMyAyNi43IDUzLjYgNjcuOCAyMi4zIDM2LjIgNDUgODYuNiA1MS4xIDE0Ny44bDY3LjMgMGM2LjEtNjEuMSAyOC44LTExMS42IDUxLjEtMTQ3LjggMjUuMy00MS4xIDUwLjctNjUuMSA1My42LTY3LjggMTMtMTEuOSAzMy4zLTExLjEgNDUuMiAyIDExLjkgMTMgMTEgMzMuMy0yIDQ1LjItMS40IDEuMy0yMiAyMS4xLTQyLjQgNTQuMi0xNy45IDI5LjEtMzUuNCA2OC00MS4yIDExNC4ybDk0IDAgMy4zIC4yYzE2LjEgMS42IDI4LjcgMTUuMyAyOC43IDMxLjhzLTEyLjYgMzAuMi0yOC43IDMxLjhsLTMuMyAuMi05NCAwYzUuOCA0Ni4yIDIzLjMgODUuMSA0MS4yIDExNC4yIDIwLjQgMzMuMSA0MSA1Mi45IDQyLjQgNTQuMiAxMyAxMS45IDEzLjkgMzIuMiAyIDQ1LjItMTEuOSAxMy0zMi4yIDEzLjktNDUuMiAyLTIuOS0yLjctMjguMy0yNi43LTUzLjYtNjcuOC0yMi4zLTM2LjItNDUtODYuNi01MS4xLTE0Ny44bC02Ny4zIDBjLTYuMSA2MS4xLTI4LjggMTExLjYtNTEuMSAxNDcuOC0yNS4zIDQxLjEtNTAuNyA2NS4xLTUzLjYgNjcuOC0xMyAxMS45LTMzLjMgMTEuMS00NS4yLTItMTEuOS0xMy0xMS0zMy4zIDItNDUuMiAxLjQtMS4zIDIyLTIxLjEgNDIuNC01NC4yIDE3LjktMjkuMSAzNS40LTY4IDQxLjItMTE0LjJsLTk0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTQgMGMtNS44LTQ2LjItMjMuMy04NS4xLTQxLjItMTE0LjItMjAuNC0zMy4xLTQxLTUyLjktNDIuNC01NC4yLTEzLTExLjktMTMuOS0zMi4yLTItNDUuMnoiXX0sTFR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNvbGFyLXBhbmVsIixpY29uOls1NzYsNTEyLFtdLCJmNWJhIiwiTTEyMS44IDMyYy0zMCAwLTU2IDIwLjgtNjIuNSA1MC4xTDkuNiAzMDYuMUMuNyAzNDYuMSAzMS4xIDM4NCA3MiAzODRsMTg0LjEgMCAwIDY0LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC02NCAxODQuMSAwYzQwLjkgMCA3MS40LTM3LjkgNjIuNS03Ny45bC00OS44LTIyNEM1MTAuNCA1Mi44IDQ4NC41IDMyIDQ1NC41IDMyTDEyMS44IDMyek0yNDUuNiA5Nmw4NS4yIDAgNy4zIDg4LTk5LjggMCA3LjMtODh6bS01NS41IDg4bC04Ny44IDAgMTkuNi04OCA3NS42IDAtNy4zIDg4ek05MS42IDIzMmw5NC41IDAtNy4zIDg4LTEwNi43IDAgMTkuNi04OHptMTQyLjYgMGwxMDcuOCAwIDcuMyA4OC0xMjIuNSAwIDcuMy04OHptMTU2IDBsOTQuNSAwIDE5LjYgODgtMTA2LjcgMC03LjMtODh6TTQ3NCAxODRsLTg3LjggMC03LjMtODggNzUuNiAwIDE5LjYgODh6Il19LCRUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYW5kLW1pbmUtb24iLGljb246WzU3Niw1MTIsW10sImU1MWIiLCJNMzEyIDBsMCAxMjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRMMjY0IDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpNMTYwIDI4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OEw4MCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDhsODAgMCAwLTMyek0xMiAxMTQuN2M3LjQtMTEgMjIuMy0xNCAzMy4zLTYuN2w5NiA2NGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM3MtMjIuMyAxNC0zMy4zIDYuN2wtOTYtNjRjLTExLTcuNC0xNC0yMi4zLTYuNy0zMy4zek01MzAuNyAxMDhjMTEtNy40IDI1LjktNC40IDMzLjMgNi43czQuNCAyNS45LTYuNyAzMy4zbC05NiA2NGMtMTEgNy40LTI1LjkgNC40LTMzLjMtNi43cy00LjQtMjUuOSA2LjctMzMuM2w5Ni02NHoiXX0sbEE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZHBob25lcyIsaWNvbjpbNDQ4LDUxMixbMTI3OTExLDYyODYzLCJoZWFkcGhvbmVzLWFsdCIsImhlYWRwaG9uZXMtc2ltcGxlIl0sImYwMjUiLCJNNjQgMjI0YzAtODguNCA3MS42LTE2MCAxNjAtMTYwczE2MCA3MS42IDE2MCAxNjBsMCAzNy41Yy0xMC0zLjUtMjAuOC01LjUtMzItNS41bC0xNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDEyOGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0xNjBDNDQ4IDEwMC4zIDM0Ny43IDAgMjI0IDBTMCAxMDAuMyAwIDIyNEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xMjhjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTE2IDBjLTExLjIgMC0yMiAxLjktMzIgNS41TDY0IDIyNHoiXX0sRFR0PWxBLEFUdD1sQSxFVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVzIixpY29uOls0NDgsNTEyLFsxMjg2NTNdLCJmMjA3IiwiTTk2IDBDNDMgMCAwIDQzIDAgOTZMMCAzODRjMCAyOS44IDIwLjQgNTQuOSA0OCA2MmwwIDM0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAxOTIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zNGMyNy42LTcuMSA0OC0zMi4yIDQ4LTYybDAtMjg4YzAtNTMtNDMtOTYtOTYtOTZMOTYgMHpNNjQgMTc2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEwNCAwIDAgMTEyLTEwNCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4em0xODQgODBsMC0xMTIgMTA0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTA0IDB6TTk2IDMyMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTI1NiAwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTUyIDcyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDk2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTk2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxJVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1wb3dlcnBvaW50IixpY29uOlszODQsNTEyLFtdLCJmMWM0IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xNTIgMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjQgMjQgMGMzOS44IDAgNzItMzIuMiA3Mi03MnMtMzIuMi03Mi03Mi03MmwtNDggMHptNDggOTZsLTI0IDAgMC00OCAyNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0eiJdfSxvNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXVvdGUtbGVmdCIsaWNvbjpbNDQ4LDUxMixbODIyMCwicXVvdGUtbGVmdC1hbHQiXSwiZjEwZCIsIk0wIDIxNkMwIDE0OS43IDUzLjcgOTYgMTIwIDk2bDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIxNnptMjU2IDBjMC02Ni4zIDUzLjctMTIwIDEyMC0xMjBsOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgOCA2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTM2eiJdfSxQVHQ9bzRlLE5UdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLWRvd24iLGljb246WzQ0OCw1MTIsW10sImYwNzgiLCJNMjAxLjQgNDA2LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTkyLTE5MmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgMzM4LjcgNTQuNiAxNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTkyIDE5MnoiXX0sbDRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhcnRoLWFzaWEiLGljb246WzUxMiw1MTIsWzEyNzc1OSwiZ2xvYmUtYXNpYSJdLCJmNTdlIiwiTTUwIDI4NC44YzQuMiAyLjEgOSAzLjIgMTQgMy4ybDUwLjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwxMy4zIDEzLjNjNiA2IDE0LjEgOS40IDIyLjYgOS40bDE4LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0LTEwLjcgMjQtMjRsMC00Mi43YzAtOC41IDMuNC0xNi42IDkuNC0yMi42bDEzLjMtMTMuM2M2LTYgOS40LTE0LjEgOS40LTIyLjZMMzA0IDU3YzAtMS4yLS4xLTIuMy0uMi0zLjUtMTUuNC0zLjYtMzEuNC01LjUtNDcuOC01LjUtMTE0LjkgMC0yMDggOTMuMS0yMDggMjA4IDAgOS44IC43IDE5LjQgMiAyOC44em00MDMuMyAzNy4zYy0zLjItMS40LTYuNy0yLjEtMTAuNS0yLjFMNDMyIDMyMGMtOC44IDAtMTYtNy4yLTE2LTE2cy03LjItMTYtMTYtMTZsLTM0LjcgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRsLTQ1LjMgNDUuM2MtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgMTguN2MwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOC43IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjQgMi4yIDIuMiA0LjcgNC4xIDcuMyA1LjUgMzkuMy0yNS40IDY5LjUtNjMuNiA4NC42LTEwOC44ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xMjggMzY4YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTI3MiAyNTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZ6bTQ4LTExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnoiXX0sRlR0PWw0ZSxPVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2VudC1zaWduIixpY29uOlszODQsNTEyLFtdLCJlM2Y1IiwiTTIwOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjUuNGM0My42IDUuMiA4MyAyNC41IDExMy4zIDUzLjEgMTIuOSAxMi4xIDEzLjQgMzIuNCAxLjMgNDUuMnMtMzIuNCAxMy40LTQ1LjIgMS4zYy0yNC40LTIzLTU3LjItMzcuMS05My4zLTM3LjEtNzUuMSAwLTEzNiA2MC45LTEzNiAxMzZzNjAuOSAxMzYgMTM2IDEzNmMzNi4yIDAgNjktMTQuMSA5My4zLTM3LjEgMTIuOS0xMi4xIDMzLjEtMTEuNSA0NS4yIDEuM3MxMS41IDMzLjEtMS4zIDQ1LjJDMzIzIDQzMC4xIDI4My42IDQ0OS40IDI0MCA0NTQuNmwwIDI1LjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yOEM4NC43IDQzMy41IDE2IDM1Mi44IDE2IDI1NlM4NC43IDc4LjUgMTc2IDYwbDAtMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LFJUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGllbGQtY2F0IixpY29uOls1MTIsNTEyLFtdLCJlNTcyIiwiTTI2OS40IDIuOUMyNjUuMiAxIDI2MC43IDAgMjU2IDBzLTkuMiAxLTEzLjQgMi45TDU0LjMgODIuOGMtMjIgOS4zLTM4LjQgMzEtMzguMyA1Ny4yIC41IDk5LjIgNDEuMyAyODAuNyAyMTMuNiAzNjMuMiAxNi43IDggMzYuMSA4IDUyLjggMCAxNzIuNC04Mi41IDIxMy4yLTI2NCAyMTMuNi0zNjMuMiAuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0xNjAgMTU0LjRjMC01LjggNC43LTEwLjQgMTAuNC0xMC40bC4yIDBjMy40IDAgNi41IDEuNiA4LjUgNC4zbDQwIDUzLjNjMyA0IDcuOCA2LjQgMTIuOCA2LjRsNDggMGM1IDAgOS44LTIuNCAxMi44LTYuNGw0MC01My4zYzItMi43IDUuMi00LjMgOC41LTQuM2wuMiAwYzUuOCAwIDEwLjQgNC43IDEwLjQgMTAuNEwzNTIgMjcyYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bDAtMTE3LjZ6TTIxNiAyODhhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem05Ni0xNmExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAweiJdfSxCVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2YiIsIk02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI3NiAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC05MC45IDAgMC04OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzEgMCAxLjkgMCAyLjkgLjEgMjYuMy03NC42IDk3LjUtMTI4LjEgMTgxLjEtMTI4LjEgMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC0zMy40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwLTEyNy45LTExNS4xYy0xOC4zLTE2LjQtNDYtMTYuNC02NC4yIDBMMTI4IDEyOCA2NCAxMjh6bTY0IDI0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyek0xMTIgMjU2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZ6TTI4OCAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxjNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFydGluaS1nbGFzcyIsaWNvbjpbNTEyLDUxMixbMTI3ODY0LCJnbGFzcy1tYXJ0aW5pLWFsdCJdLCJmNTdiIiwiTTIuNCA1MS44QzcuNCAzOS44IDE5LjEgMzIgMzIgMzJsNDQ4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUwyODggMzAxLjMgMjg4IDQ0OCAzNTIgNDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwIDAtMTQ2LjctMjE0LjYtMjE0LjZDLjIgNzcuNS0yLjUgNjMuNyAyLjQgNTEuOHpNMzU0LjcgMTQ0bDQ4LTQ4LTI5My41IDAgNDggNDggMTk3LjUgMHoiXX0sSFR0PWM0ZSxxVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1ZyIsaWNvbjpbNDQ4LDUxMixbMTI4MjY4XSwiZjFlNiIsIk0xMjgtMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNjRjMCA5NS4xLTY5LjIgMTc0LjEtMTYwIDE4OS4zbDAgNjYuN2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTAxLjIgMzk4LjEgMzIgMzE5LjEgMzIgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxqVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFub3JhbWEiLGljb246WzU3Niw1MTIsW10sImUyMDkiLCJNNDMuOSA0OEMxOS43IDQ4IDAgNjcuNyAwIDkxLjlMMCA0MjAuMWMwIDI0LjMgMTkuNyA0My45IDQzLjkgNDMuOSA1LjUgMCAxMC43LTEgMTUuNy0yLjkgMTIuOS00LjkgMTAzLjQtMzcuMSAyMjguNC0zNy4xczIxNS41IDMyLjMgMjI4LjQgMzcuMWM1IDEuOSAxMC4yIDIuOSAxNS43IDIuOSAyNC4zIDAgNDMuOS0xOS43IDQzLjktNDMuOWwwLTMyOC4yYzAtMjQuMy0xOS43LTQzLjktNDMuOS00My45LTUuNSAwLTEwLjcgMS0xNS43IDIuOS0xMi45IDQuOS0xMDMuNCAzNy4xLTIyOC40IDM3LjFTNzIuNSA1NS43IDU5LjYgNTAuOUM1NC42IDQ5IDQ5LjQgNDggNDMuOSA0OHpNNzIgMTc2YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6bTI2NC4xLTE2YzcuNSAwIDE0LjYgMy42IDE5LjEgOS42TDQ3OS43IDMzNi4yYzUuOSA3LjkgNi40IDE4LjUgMS4zIDI2LjlzLTE0LjggMTIuOC0yNC41IDExLjFjLTQ1LjgtNy44LTEwMy4zLTE0LjItMTY4LjQtMTQuMi02NS42IDAtMTIzLjQgNi41LTE2OS4zIDE0LjQtOS44IDEuNy0xOS43LTIuOS0yNC43LTExLjVzLTQuMy0xOS40IDEuOS0yNy4yTDE2NS4zIDI0OWM0LjYtNS43IDExLjUtOSAxOC43LTlzMTQuMiAzLjMgMTguNyA5bDI3LjUgMzQuNCA4Ni43LTExMy45YzQuNi02IDExLjctOS41IDE5LjItOS41eiJdfSxrYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9jay1yb3RhdGUtbGVmdCIsaWNvbjpbNTc2LDUxMixbImhpc3RvcnkiXSwiZjFkYSIsIk0yODggNjRjMTA2IDAgMTkyIDg2IDE5MiAxOTJTMzk0IDQ0OCAyODggNDQ4Yy02NS4yIDAtMTIyLjktMzIuNS0xNTcuNi04Mi4zLTEwLjEtMTQuNS0zMC4xLTE4LTQ0LjYtNy45cy0xOCAzMC4xLTcuOSA0NC42QzEyNC4xIDQ2OC42IDIwMSA1MTIgMjg4IDUxMiA0MjkuNCA1MTIgNTQ0IDM5Ny40IDU0NCAyNTZTNDI5LjQgMCAyODggMEMyMDIuMyAwIDEyNi41IDQyLjEgODAgMTA2LjdMODAgODBjMC0xNy43LTE0LjMtMzItMzItMzJTMTYgNjIuMyAxNiA4MGwwIDExMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNC42IDBjLjUgMCAxIDAgMS41IDBsODYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzguMyAwQzE1NC45IDEwMi42IDIxNyA2NCAyODggNjR6bTI0IDg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTA0YzAgNi40IDIuNSAxMi41IDcgMTdsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NS02NSAwLTk0LjF6Il19LFZUdD1rYixVVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamFyLXdoZWF0IixpY29uOlszMjAsNTEyLFtdLCJlNTE3IiwiTTMyLThjMC0xMy4zIDEwLjctMjQgMjQtMjRsMjA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMNTYgMTZDNDIuNyAxNiAzMiA1LjMgMzItOHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMTEyIDMybC00Mi4yIDBjLTMuMiAwLTUuOCAyLjYtNS44IDUuOCAwIDMyLjEgMjYgNTguMiA1OC4yIDU4LjJsNzUuNiAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMiAwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDE2MGMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjctMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43em00OCAxMTcuN2MtMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43bC00Mi4yIDBjLTMuMiAwLTUuOCAyLjYtNS44IDUuOCAwIDMyLjEgMjYgNTguMiA1OC4yIDU4LjJsNzUuNiAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMiAwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDI1NmMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjd6TTExMiAzNTJsLTQyLjIgMGMtMy4yIDAtNS44IDIuNi01LjggNS44IDAgMzIuMSAyNiA1OC4yIDU4LjIgNTguMmwyMS44IDAgMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMzIgMjEuOCAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMiAwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDM1MmMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjctMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43eiJdfSxjQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1hcnJvdy1kb3duIixpY29uOls1NzYsNTEyLFs2MjMzNywiY2xvdWQtZG93bmxvYWQiLCJjbG91ZC1kb3dubG9hZC1hbHQiXSwiZjBlZCIsIk0xNDQgNDgwYy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTYzLjQgNDEtMTE3LjIgOTcuOS0xMzYuNS0xLjMtNy43LTEuOS0xNS41LTEuOS0yMy41IDAtNzkuNSA2NC41LTE0NCAxNDQtMTQ0IDU1LjQgMCAxMDMuNSAzMS4zIDEyNy42IDc3LjEgMTQuMi04LjMgMzAuOC0xMy4xIDQ4LjQtMTMuMSA1MyAwIDk2IDQzIDk2IDk2IDAgMTUuNy0zLjggMzAuNi0xMC41IDQzLjcgNDQgMjAuMyA3NC41IDY0LjcgNzQuNSAxMTYuMyAwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMzA0IDB6TTM3NyAzMTNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwMi4xLTMxLTMxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDcyLTcyeiJdfSxXVHQ9Y0EsR1R0PWNBLGQ0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1yYW1wLWJveCIsaWNvbjpbNTc2LDUxMixbInRydWNrLWxvYWRpbmciXSwiZjRkZSIsIk00MDAgMzJjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjQ4LjItMjk3LjIgODkuMkM1LjkgNDU0LjQtMy43IDQ3Mi4zIDEuNCA0ODkuMnMyMi45IDI2LjUgMzkuOCAyMS41bDMxNS41LTk0LjYgNDMuNyAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGwwLTM5Mi0xNzYgMHpNNTI4IDQyNGMwIDIyLjEtMTcuOSA0MC00MCA0MHMtNDAtMTcuOS00MC00MCAxNy45LTQwIDQwLTQwYzIyLjEgMCAzOS45IDE3LjkgNDAgMzkuOWwwIC4xek01MS45IDE0OS41QzE4LjEgMTU5LjgtLjkgMTk1LjYgOS40IDIyOS40bDI4LjEgOTEuOEM0Ny44IDM1NSA4My42IDM3NCAxMTcuNCAzNjMuN2w5MS44LTI4LjFjMzMuOC0xMC4zIDUyLjgtNDYuMSA0Mi41LTc5LjlsLTI4LjEtOTEuOGMtMTAuMy0zMy44LTQ2LjEtNTIuOC03OS45LTQyLjVMNTEuOSAxNDkuNXoiXX0sWVR0PWQ0ZSxaVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGUtZG93biIsaWNvbjpbMzg0LDUxMixbODk2NF0sImYxMDciLCJNMTY5LjQgMzc0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgMzA2LjcgNTQuNiAxNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MHoiXX0sWFR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTVjIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzUyIDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sUVR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmRvdy1tYXhpbWl6ZSIsaWNvbjpbNTEyLDUxMixbMTI4NDcwXSwiZjJkMCIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptMjQgNjRsMzM2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxKVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtaG9sZGluZy1jaXJjbGUiLGljb246WzY0MCw1MTIsW10sImU0ZmIiLCJNMzIwIDBhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2ek00MCA2NGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDE2MC4yYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDUxLjEgNTEuMWM4LjMgOC4zIDIxLjMgOS42IDMxIDMuMSAxMi45LTguNiAxNC43LTI2LjkgMy43LTM3LjgtNy4zLTcuMy0yMy4xLTIzLjEtNDcuMi00Ny4yLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBjMjQuMSAyNC4xIDM5LjkgMzkuOSA0Ny4yIDQ3LjJsMCAwIDI1LjMgMjUuM2MyMSAyMSAzMi44IDQ5LjUgMzIuOCA3OS4ybDAgNzguOWMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNjYuNyAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0wyOC4xIDM5My40QzEwLjEgMzc1LjQgMCAzNTEgMCAzMjUuNUwwIDEwNEMwIDgxLjkgMTcuOSA2NCA0MCA2NHptNTYwIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAyMjEuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNDAwIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC03OC45YzAtMjkuNyAxMS44LTU4LjIgMzIuOC03OS4ybDI1LjMtMjUuMyAwIDBjNy4zLTcuMyAyMy4xLTIzLjEgNDcuMi00Ny4yIDEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTI0LjEgMjQuMS0zOS45IDM5LjktNDcuMiA0Ny4yLTExIDExLTkuMiAyOS4yIDMuNyAzNy44IDkuNyA2LjUgMjIuNyA1LjIgMzEtMy4xbDUxLjEtNTEuMWMxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDU2MCAxMDRjMC0yMi4xIDE3LjktNDAgNDAtNDB6Il19LHU0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NhdGlvbi1waW4iLGljb246WzM4NCw1MTIsWyJtYXAtbWFya2VyIl0sImYwNDEiLCJNMTkyIDBDODYgMCAwIDg0LjQgMCAxODguNiAwIDMwNy45IDEyMC4yIDQ1MC45IDE3MC40IDUwNS40IDE4Mi4yIDUxOC4yIDIwMS44IDUxOC4yIDIxMy42IDUwNS40IDI2My44IDQ1MC45IDM4NCAzMDcuOSAzODQgMTg4LjYgMzg0IDg0LjQgMjk4IDAgMTkyIDB6Il19LEtUdD11NGUsZV90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvd2xpbmctYmFsbCIsaWNvbjpbNTEyLDUxMixbXSwiZjQzNiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjQwIDgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMjA4IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tNjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxwNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1mbGF0YmVkIixpY29uOls1NzYsNTEyLFsiZG9sbHktZmxhdGJlZCJdLCJmNDc0IiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyODhjMCAzOS44IDI5LjEgNzIuOCA2Ny4xIDc5LTIgNS4zLTMuMSAxMS0zLjEgMTcgMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGMwLTUuNi0xLTExLTIuNy0xNmwxOTcuNSAwYy0xLjggNS0yLjcgMTAuNC0yLjcgMTYgMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGMwLTUuNi0xLTExLTIuNy0xNmwzNC43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQwMCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yODhDMTI4IDM1LjggOTIuMiAwIDQ4IDBMMzIgMHpNMjI0IDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE3NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNDAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE3NmMwLTI2LjUtMjEuNS00OC00OC00OEwyMjQgNjR6Il19LHRfdD1wNGUsZjRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLXVzZXIiLGljb246WzUxMiw1MTIsWyJob21lLXVzZXIiXSwiZTFiMCIsIk0yNzcuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzE4LjggMjcyIDMyIDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2IDE2IDBjMTMuMiAwIDI1LTguMSAyOS44LTIwLjNzMS42LTI2LjItOC0zNS4xbC0yMjQtMjA4ek0yMDAgMjU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTQ0IDQzMmMwLTQ0LjIgMzUuOC04MCA4MC04MGw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnoiXX0scl90PWY0ZSxhX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2hvc3QiLGljb246WzM4NCw1MTIsWzEyODEyM10sImY2ZTIiLCJNNDAuMSA0NjcuMWwtMTEuMiA5QzI1LjcgNDc4LjYgMjEuOCA0ODAgMTcuOCA0ODAgOCA0ODAgMCA0NzIgMCA0NjIuMkwwIDE5MkMwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJsMCAyNzAuMmMwIDkuOC04IDE3LjgtMTcuOCAxNy44LTQgMC03LjktMS40LTExLjEtMy45bC0xMS4yLTljLTEzLjQtMTAuNy0zMi44LTktNDQuMSAzLjlMMjY5LjMgNTA2Yy0zLjMgMy44LTguMiA2LTEzLjMgNnMtOS45LTIuMi0xMy4zLTZsLTI2LjYtMzAuNWMtMTIuNy0xNC42LTM1LjQtMTQuNi00OC4yIDBMMTQxLjMgNTA2Yy0zLjMgMy44LTguMiA2LTEzLjMgNnMtOS45LTIuMi0xMy4zLTZMODQuMiA0NzFjLTExLjMtMTIuOS0zMC43LTE0LjYtNDQuMS0zLjl6TTE2MCAxOTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxpX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1ub2RlcyIsaWNvbjpbNjQwLDUxMixbXSwiZTY5NiIsIk00ODAgMjA4QzUwMy43IDIwOCA1MjUuNiAyMTUuMyA1NDMuNyAyMjcuOSA1MzYuOSAxMDAuOSA0MjUgMCAyODggMCAxNDYuNiAwIDMyIDEwNy41IDMyIDI0MCAzMiAyOTQuMyA1MS4yIDM0NC4zIDgzLjYgMzg0LjVMMzQuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdjMjcuMiAxMS40IDU2LjkgMTguNCA4OC4xIDIwLjIgLjEtMTguOSA0LjktMzggMTUtNTUuNSAxNy4xLTI5LjcgNDUuOC00OC41IDc3LTU0LjJsOS4yLTE2Yy0zLjQtMTAuNy01LjItMjItNS4yLTMzLjggMC02MS45IDUwLjEtMTEyIDExMi0xMTJ6TTMyOC42IDQ0OGMtMTcuNyAzMC42LTcuMiA2OS43IDIzLjQgODcuNHM2OS43IDcuMiA4Ny40LTIzLjRjMS41LTIuNiAyLjgtNS4zIDMuOS04bDczLjMgMGMxLjEgMi43IDIuNCA1LjQgMy45IDggMTcuNyAzMC42IDU2LjggNDEuMSA4Ny40IDIzLjRzNDEuMS01Ni44IDIzLjQtODcuNGMtMTMuNC0yMy4yLTM5LjEtMzQuOC02NC0zMS40bC0xNy42LTMwLjdjLTExIDExLjctMjUgMjAuNi00MC42IDI1LjZsMTYuNSAyOC45Yy0zLjggNC44LTYuOCAxMC05IDE1LjZsLTczLjQgMGMtMi4yLTUuNi01LjMtMTAuOC05LTE1LjZsMzMtNTcuN2M0LjEgLjggOC40IDEuMyAxMi44IDEuMyAzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NC02NCAyOC43LTY0IDY0YzAgMTMuNCA0LjEgMjUuOCAxMS4yIDM2LjFsLTM0LjYgNjAuNWMtMjUtMy40LTUwLjYgOC4zLTY0IDMxLjR6Il19LG5fdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tYXJyb3ctZG93bi10by1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTM4IiwiTTE5Mi0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMzE4LjMgMjk5LjFsLTQ2LjMtNjIuNCAwIDI0My4zIDI3MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDU0NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4MCAwIDAtMjQzLjMtNDYuMyA2Mi40Yy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NUMxMTAgMTMyIDE0OS43IDExMiAxOTIgMTEyczgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42ek0xNzYgNDgwbDMyIDAgMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxMjh6TTU2Ni42IDE2Ni42bC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDQzMiAxNDYuNyA0MzIgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTQ2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6Il19LHNfdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1wbHVzIixpY29uOls2NDAsNTEyLFtdLCJlNTVmIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTE2IDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTQ4IDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDAgMC00OHoiXX0saDRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1zd2ltbWluZyIsaWNvbjpbNjQwLDUxMixbMTI3OTQ2LCJzd2ltbWVyIl0sImY1YzQiLCJNNTUyIDE1MmE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6TTI5My40IDE5OC4ybC04OC42IDczLjljMS4xIDAgMi4yLS4xIDMuMy0uMSAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgMjIuMSAxNi42IDI5LjEgMTYuNiA1MS4yIDAgMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgNC44IDAgOS43IC4yIDE0LjUgLjYtOC4zLTMwLTI0LjMtNTcuNy00Ni44LTgwLjItMTguNC0xOC40LTQwLjYtMzIuNy02NS00MS44bC02OC42LTI1LjdjLTI3LjQtMTAuMy01OC03LjUtODMuMSA3LjZsLTUzLjUgMzIuMWMtMTUuMiA5LjEtMjAuMSAyOC43LTExIDQzLjlzMjguNyAyMC4xIDQzLjkgMTFMMjMwIDE4Ny4zYzguNC01IDE4LjYtNS45IDI3LjctMi41bDM1LjcgMTMuNHptMTEwIDE4MS45YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43UzcgMzg2LjMgMTcuNiAzOTQuM2MxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1Ljl6Il19LG9fdD1oNGUsbTRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQtZG90cyIsaWNvbjpbNTEyLDUxMixbMTI4MTcyLDYyMDc1LCJjb21tZW50aW5nIl0sImY0YWQiLCJNMjU2IDQ4MGMxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MGMwIDU0LjMgMTkuMiAxMDQuMyA1MS42IDE0NC41TDIuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdDMTgzLjcgNDcyLjYgMjE4LjkgNDgwIDI1NiA0ODB6TTEyOCAyMDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LGxfdD1tNGUsZzRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LXBpZSIsaWNvbjpbNTc2LDUxMixbInBpZS1jaGFydCJdLCJmMjAwIiwiTTUxMi40IDI0MGwtMTc2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTc2YzAtMTcuNyAxNC40LTMyLjIgMzEuOS0yOS45IDEwNyAxNC4yIDE5MS44IDk5IDIwNiAyMDYgMi4zIDE3LjUtMTIuMiAzMS45LTI5LjkgMzEuOXpNMjIyLjYgMzcuMmMxOC4xLTMuOCAzMy44IDExIDMzLjggMjkuNWwwIDE5Ny4zYzAgNS42IDIgMTEgNS41IDE1LjNMMzk0IDQzOC43YzExLjcgMTQuMSA5LjIgMzUuNC02LjkgNDQuMS0zNC4xIDE4LjYtNzMuMiAyOS4yLTExNC43IDI5LjItMTMyLjUgMC0yNDAtMTA3LjUtMjQwLTI0MCAwLTExNS41IDgxLjUtMjExLjkgMTkwLjItMjM0Ljh6TTQ3Ny44IDI4OGw2NCAwYzE4LjUgMCAzMy4zIDE1LjcgMjkuNSAzMy44LTEwLjIgNDguNC0zNSA5MS40LTY5LjYgMTI0LjItMTIuMyAxMS43LTMxLjYgOS4yLTQyLjQtMy45TDM3NC45IDM0MC40Yy0xNy4zLTIwLjktMi40LTUyLjQgMjQuNi01Mi40bDc4LjIgMHoiXX0sY190PWc0ZSxkX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZnJvZyIsaWNvbjpbNTc2LDUxMixbXSwiZjUyZSIsIk0zNjggMzJjNDEuNyAwIDc1LjkgMzEuOCA3OS43IDcyLjVsODUuNiAyNi4zYzI1LjQgNy44IDQyLjggMzEuMyA0Mi44IDU3LjkgMCAyMS44LTExLjcgNDEuOS0zMC43IDUyLjdsLTE0NC41IDgyLjEgOTIuNSA5Mi41IDUwLjcgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRMMzQ2LjkgMzYwLjJjMTEuNy0zNiAzLjItNzcuMS0yNS40LTEwNS43LTQwLjYtNDAuNi0xMDYuMy00MC42LTE0Ni45LS4xTDEwMSAzMjQuNGMtNi40IDYuMS02LjcgMTYuMi0uNiAyMi42czE2LjIgNi42IDIyLjYgLjZsNzMuOC03MC4yIC4xLS4xIC4xLS4xYzMuNS0zLjUgNy4zLTYuNiAxMS4zLTkuMiAyNy45LTE4LjUgNjUuOS0xNS40IDkwLjUgOS4yIDI0LjcgMjQuNyAyNy43IDYyLjkgOSA5MC45LTIuNiAzLjgtNS42IDcuNS05IDEwLjlMMjYxLjggNDE2IDM1MiA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwQzI4LjcgNDgwIDAgNDUxLjMgMCA0MTYgMCAyNDkuNiAxMjcgMTEyLjkgMjg5LjMgOTcuNSAyOTYuMiA2MC4yIDMyOC44IDMyIDM2OCAzMnptMCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSx1X3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZS1ib3R0bGUiLGljb246WzMyMCw1MTIsW10sImY3MmYiLCJNODAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDExLjgtNi40IDIyLjItMTYgMjcuN2wwIDE0NS42YzU2LjUgMjQuNyA5NiA4MS4xIDk2IDE0Ni43bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDU3NmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyODhjMC02NS42IDM5LjUtMTIyIDk2LTE0Ni43TDk2LTQuM0M4Ni40LTkuOCA4MC0yMC4yIDgwLTMyek05NiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDI4OHoiXX0scF90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluYm94IixpY29uOls1MTIsNTEyLFtdLCJmMDFjIiwiTTkxLjggMzJDNTkuOSAzMiAzMi45IDU1LjQgMjguNCA4Ni45TC42IDI4MS4yYy0uNCAzLS42IDYtLjYgOS4xTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTI1LjdjMC0zLS4yLTYuMS0uNi05LjFMNDgzLjYgODYuOUM0NzkuMSA1NS40IDQ1Mi4xIDMyIDQyMC4yIDMyTDkxLjggMzJ6bTAgNjRsMzI4LjUgMCAyNy40IDE5Mi01OS45IDBjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTE0LjMgMjguNmMtNS40IDEwLjgtMTYuNSAxNy43LTI4LjYgMTcuN2wtMTIwLjQgMGMtMTIuMSAwLTIzLjItNi44LTI4LjYtMTcuN2wtMTQuMy0yOC42Yy01LjQtMTAuOC0xNi41LTE3LjctMjguNi0xNy43TDY0LjMgMjg4IDkxLjggOTZ6Il19LGI0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtaCIsaWNvbjpbNDQ4LDUxMixbImgtc3F1YXJlIl0sImYwZmQiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzIwIDE2OGwwIDE3NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTY0LTk2IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgOTYgMCAwLTY0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LGZfdD1iNGUsaF90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwiLGljb246WzUxMiw1MTIsW10sImUzYjIiLCJNMjc3LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVMxOC44IDI3MiAzMiAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyODggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE3NiAxNiAwYzEzLjIgMCAyNS04LjEgMjkuOC0yMC4zczEuNi0yNi4yLTgtMzUuMWwtMjI0LTIwOHpNMjI0IDI0OGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sdjRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGV2cm9uLXJpZ2h0IixpY29uOls1MTIsNTEyLFsiY2hldnJvbi1jaXJjbGUtcmlnaHQiXSwiZjEzOCIsIk0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAwek0yNDEgMzc3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDg3LTg3LTg3LTg3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBMMzQ1IDIzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyNDEgMzc3eiJdfSxtX3Q9djRlLGdfdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNzdiIsaWNvbjpbNTc2LDUxMixbXSwiZjZkZCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDgwIDAgMC0xMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTc2IDAgMC0xNjUuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNMjY0IDM4MGMtMjQuMyAwLTQ0IDE5LjctNDQgNDRsMCA4MGMwIDI0LjMgMTkuNyA0NCA0NCA0NGwxNiAwYzI0LjMgMCA0NC0xOS43IDQ0LTQ0bDAtOGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjBsMCA4YzAgMi4yLTEuOCA0LTQgNGwtMTYgMGMtMi4yIDAtNC0xLjgtNC00bDAtODBjMC0yLjIgMS44LTQgNC00bDE2IDBjMi4yIDAgNCAxLjggNCA0bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0yNC4zLTE5LjctNDQtNDQtNDRsLTE2IDB6bTEzNiAwYy0yOC43IDAtNTIgMjMuMy01MiA1MnMyMy4zIDUyIDUyIDUyYzYuNiAwIDEyIDUuNCAxMiAxMnMtNS40IDEyLTEyIDEybC0zMiAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwzMiAwYzI4LjcgMCA1Mi0yMy4zIDUyLTUycy0yMy4zLTUyLTUyLTUyYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDI0IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC0yNCAwem05NiAwYy0xMSAwLTIwIDktMjAgMjBsMCAzMS42YzAgMzUuNSAxMC41IDcwLjMgMzAuMiA5OS44bDUuMSA3LjdjMy43IDUuNiAxMCA4LjkgMTYuNiA4LjlzMTIuOS0zLjMgMTYuNi04LjlsNS4xLTcuN2MxOS43LTI5LjYgMzAuMi02NC4zIDMwLjItOTkuOGwwLTMxLjZjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMzEuNmMwIDE5LjYtNC4xIDM4LjktMTIgNTYuNy03LjktMTcuOC0xMi0zNy4xLTEyLTU2LjdsMC0zMS42YzAtMTEtOS0yMC0yMC0yMHoiXX0sYl90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhdC1jb3dib3kiLGljb246WzY0MCw1MTIsW10sImY4YzAiLCJNMTgyLjIgNzYuMUwxMzAuOCAzMDcuNUMxNDUuNSAzMjQuOSAxNjcuNCAzMzYgMTkyIDMzNmwyNTYgMGMyNC42IDAgNDYuNS0xMS4xIDYxLjItMjguNUw0NTcuOCA3Ni4xYy01LjctMjUuOC0yOC42LTQ0LjEtNTUtNDQuMS0xMi4yIDAtMjQuMSA0LTMzLjggMTEuM2wtNC43IDMuNWMtMjYuMyAxOS43LTYyLjQgMTkuNy04OC42IDBMMjcxIDQzLjNjLTkuOC03LjMtMjEuNi0xMS4zLTMzLjgtMTEuMy0yNi40IDAtNDkuMyAxOC4zLTU1IDQ0LjF6TTY0IDI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDIzOC4zIDAgMjU2QzAgMzYyIDg2IDQ0OCAxOTIgNDQ4bDI1NiAwYzEwNiAwIDE5Mi04NiAxOTItMTkyIDAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0yNTYgMGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjh6Il19LHg0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXdpbmsiLGljb246WzUxMiw1MTIsWzEyODU0MCwiZ3Jpbi10b25ndWUtd2luayJdLCJmNThiIiwiTTE1Mi4yIDQ5MC4xQzYyLjUgNDUwLjIgMCAzNjAuNCAwIDI1NiAwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCAxMDQuNC02Mi41IDE5NC4yLTE1Mi4yIDIzNC4xIDUuMy0xMyA4LjItMjcuMiA4LjItNDIuMWwwLTYxLjdjMTYuOS0xNi41IDMwLjEtMzYuNyAzOC4zLTU5LjMgNC4zLTExLjgtNy43LTIxLjgtMTkuNi0xOC4xLTM5LjIgMTIuMi04My43IDE5LjEtMTMwLjcgMTkuMXMtOTEuNS02LjktMTMwLjctMTkuMWMtMTEuOS0zLjctMjMuOSA2LjMtMTkuNiAxOC4xIDguMyAyMi42IDIxLjUgNDIuOCAzOC4zIDU5LjNsMCA2MS43YzAgMTQuOSAyLjkgMjkuMSA4LjIgNDIuMXpNMTUyIDIxMmwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwIDktMjAgMjAtMjB6bTE4NCA2MGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNMzIwIDQwMi42bDAgNDUuNGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGwwLTQ1LjRjMC0xNC43IDExLjktMjYuNiAyNi42LTI2LjZsMiAwYzExLjMgMCAyMS4xIDcuOSAyMy42IDE4LjkgMi44IDEyLjYgMjAuOCAxMi42IDIzLjYgMCAyLjUtMTEuMSAxMi4zLTE4LjkgMjMuNi0xOC45bDIgMGMxNC43IDAgMjYuNiAxMS45IDI2LjYgMjYuNnpNMzM2IDE4NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LHZfdD14NGUseF90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImwiLGljb246WzMyMCw1MTIsWzEwOF0sIjRjIiwiTTY0IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzUyIDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LGRBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tc2hvcnQtd2lkZSIsaWNvbjpbNTc2LDUxMixbInNvcnQtYW1vdW50LWRlc2MiLCJzb3J0LWFtb3VudC1kb3duLWFsdCJdLCJmODg0IiwiTTI0Ni42IDM3NC42bC05NiA5NmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDk2IDM3MC43IDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDYuNyA0MS40LTQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMzIwIDMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTI4bDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTI4bDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTIyNCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSx5X3Q9ZEEsd190PWRBLHk0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VyZ2xhc3MtaGFsZiIsaWNvbjpbMzg0LDUxMixbImhvdXJnbGFzcy0yIl0sImYyNTIiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMWw2Ny45IDY3LjktNjcuOSA2Ny45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTY3LjktNjcuOSA2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMlMzNjkuNyAwIDM1MiAwTDMyIDB6TTk2IDc1bDAtMTEgMTkyIDAgMCAxMWMwIDE5LTUuNiAzNy40LTE2IDUzTDExMiAxMjhjLTEwLjMtMTUuNi0xNi0zNC0xNi01M3ptMTYgMzA5YzMuNS01LjMgNy42LTEwLjMgMTIuMS0xNC45bDY3LjktNjcuOSA2Ny45IDY3LjljNC42IDQuNiA4LjYgOS42IDEyLjIgMTQuOUwxMTIgMzg0eiJdfSxNX3Q9eTRlLHc0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcG9vbiIsaWNvbjpbNTEyLDUxMixbMTI5MzQ4LDYxODczLCJ1dGVuc2lsLXNwb29uIl0sImYyZTUiLCJNMjQ1LjggMjIwLjljLTE0LjUtMTcuNi0yMS44LTM5LjItMjEuOC02MC44IDAtODAuMiA5Ni0xNjAuMiAxOTItMTYwLjIgNTMgMCA5NiA0MyA5NiA5NiAwIDk2LTgwIDE5Mi0xNjAuMiAxOTItMjEuNiAwLTQzLjItNy4zLTYwLjgtMjEuOEw1NC42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDUuOCAyMjAuOXoiXX0sa190PXc0ZSxNNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3JlZGl0LWNhcmQiLGljb246WzUxMiw1MTIsWzEyODE3OSw2MjA4MywiY3JlZGl0LWNhcmQtYWx0Il0sImYwOWQiLCJNMCAxMjhsMCAzMiA1MTIgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4em0wIDgwTDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2LTUxMiAwek02NCAzNjBjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTE0NCAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxTX3Q9TTRlLFVBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtaW52b2ljZS1kb2xsYXIiLGljb246WzM4NCw1MTIsW10sImY1NzEiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTY0IDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggNjRDNzQuNyA2NCA2NCA3NC43IDY0IDg4em0wIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0xMTIgNzZsMCA0Yy0yOC44IC4zLTUyIDIzLjctNTIgNTIuNSAwIDI1LjcgMTguNSA0Ny42IDQzLjkgNTEuOGw0MS43IDdjNiAxIDEwLjQgNi4yIDEwLjQgMTIuMyAwIDYuOS01LjYgMTIuNS0xMi41IDEyLjVMMTUyIDQwMGMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsMjQgMCAwIDRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC00LjdjMjUtNC4xIDQ0LTI1LjcgNDQtNTEuOCAwLTI1LjctMTguNS00Ny42LTQzLjktNTEuOGwtNDEuNy03Yy02LTEtMTAuNC02LjItMTAuNC0xMi4zIDAtNi45IDUuNi0xMi41IDEyLjUtMTIuNWw0Ny41IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC04IDAgMC00YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMHoiXX0sazRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwYWdoZXR0aS1tb25zdGVyLWZseWluZyIsaWNvbjpbNjQwLDUxMixbInBhc3RhZmFyaWFuaXNtIl0sImY2N2IiLCJNMjA4IDY0YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTQ4IDBjMCAxNi4yLTYgMzEuMS0xNiA0Mi4zbDE1LjYgMzEuMmMxOC43LTYgMzkuOS05LjUgNjQuNC05LjVzNDUuOCAzLjUgNjQuNCA5LjVMNDAwIDEwNi4zYy0xMC0xMS4zLTE2LTI2LjEtMTYtNDIuMyAwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0LTI4LjcgNjQtNjQgNjRjLTEuNyAwLTMuNC0uMS01LjEtLjJMNDI3LjggMTU4YzIxLjEgMTMuNiAzNy43IDMwLjIgNTEuNCA0Ni40IDcuMSA4LjMgMTMuNSAxNi42IDE5LjMgMjRsMS40IDEuOGM2LjMgOC4xIDExLjYgMTQuOCAxNi43IDIwLjQgMTAuNyAxMS43IDE2LjEgMTMuNCAxOS40IDEzLjQgMi41IDAgNC4zLS42IDcuMS0zLjMgMy43LTMuNSA3LjEtOC44IDEyLjUtMTcuNGwuNi0uOWM0LjYtNy40IDExLTE3LjYgMTkuNC0yNS43IDkuNy05LjMgMjIuOS0xNi43IDQwLjQtMTYuNyAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMi41IDAtNC4zIC42LTcuMSAzLjMtMy43IDMuNS03LjEgOC44LTEyLjUgMTcuNGwtLjYgLjljLTQuNiA3LjQtMTEgMTcuNi0xOS40IDI1LjctOS43IDkuMy0yMi45IDE2LjctNDAuNCAxNi43LTE4LjUgMC0zMi45LTguNS00NC4zLTE4LjYtMy4xIDQtNi42IDguMy0xMC41IDEyLjcgMS40IDQuMyAyLjggOC41IDQgMTIuNSAuOSAzIDEuOCA1LjggMi42IDguNiAzIDkuOCA1LjUgMTguMiA4LjYgMjUuOSAzLjkgOS44IDcuNCAxNS40IDEwLjggMTguNSAyLjYgMi40IDUuOSA0LjMgMTIuOCA0LjMgOC43IDAgMTYuOS00LjIgMzMuNy0xMy4yIDE1LTggMzUuNy0xOC44IDYyLjMtMTguOCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMTMuNCAwLTI0LjcgNS4yLTM5LjcgMTMuMi0xIC42LTIuMSAxLjEtMy4yIDEuNy0xMy4xIDcuMS0zMS42IDE3LjEtNTMuMSAxNy4xLTE4LjQgMC0zMy42LTYuMS00NS41LTE3LjItMTEuMS0xMC4zLTE3LjktMjMuNy0yMi43LTM2LTMuNi05LTYuNy0xOS4xLTkuNS0yOC41LTE2LjQgMTIuMy0zNi4xIDIzLjYtNTguOSAzMS4zIDMuNiAxMC44IDguNCAyMy41IDE0LjQgMzYuMiA3LjUgMTUuOSAxNi4yIDMwLjQgMjUuOCA0MC41IDkuNiAxMC4yIDE3LjcgMTMuNyAyNC41IDEzLjcgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTI1LjIgMC00NS0xMy41LTU5LjUtMjguOC0xNC41LTE1LjQtMjUuNy0zNC45LTM0LjItNTMtOC0xNy0xNC4xLTMzLjgtMTguMy00Ni45LTUuMiAuNC0xMC42IC42LTE2IC42cy0xMC44LS4yLTE2LS42Yy00LjIgMTMtMTAuMyAyOS45LTE4LjMgNDYuOS04LjUgMTguMS0xOS44IDM3LjYtMzQuMiA1My0xNC40IDE1LjMtMzQuMyAyOC44LTU5LjUgMjguOC0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzYuOCAwIDE1LTMuNSAyNC41LTEzLjcgOS41LTEwLjEgMTguMy0yNC42IDI1LjgtNDAuNSA1LjktMTIuNiAxMC43LTI1LjQgMTQuNC0zNi4yLTIyLjgtNy43LTQyLjUtMTktNTguOS0zMS4zLTIuOSA5LjQtNiAxOS41LTkuNSAyOC41LTQuOCAxMi4yLTExLjYgMjUuNi0yMi43IDM2LTExLjkgMTEuMS0yNy4xIDE3LjItNDUuNSAxNy4yLTEzLjEgMC0yNC41LTQuMS0zMy44LTguOS03LjktNC0xNS43LTkuMi0yMi4xLTEzLjVsMCAwLTIuNC0xLjZjLTE1LjMtMTAuMi0yNS44LTE2LTM3LjctMTYtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyOC4xIDAgNDkuNiAxNC4yIDY0LjMgMjRsMi40IDEuNmM2LjkgNC42IDEyLjEgOC4xIDE3LjIgMTAuNyA1LjUgMi44IDkuMSAzLjYgMTIgMy42IDYuOCAwIDEwLjItMS45IDEyLjgtNC4zIDMuNC0zLjIgNy04LjggMTAuOC0xOC41IDMtNy43IDUuNi0xNi4xIDguNi0yNS45IC44LTIuNyAxLjctNS42IDIuNi04LjYgMS4yLTQgMi42LTguMiA0LTEyLjUtMy45LTQuNS03LjQtOC44LTEwLjUtMTIuNy0xMS40IDEwLjEtMjUuOSAxOC42LTQ0LjMgMTguNi0xNy41IDAtMzAuNy03LjQtNDAuNC0xNi43LTguNC04LjEtMTQuOC0xOC4zLTE5LjQtMjUuN2wtLjYtLjljLTUuNC04LjYtOC44LTEzLjktMTIuNS0xNy40LTIuOC0yLjctNC42LTMuMy03LjEtMy4zLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMTcuNSAwIDMwLjcgNy40IDQwLjQgMTYuNyA4LjQgOC4xIDE0LjggMTguMyAxOS40IDI1LjdsLjYgLjljNS40IDguNiA4LjggMTMuOSAxMi41IDE3LjQgMi44IDIuNyA0LjYgMy4zIDcuMSAzLjMgMy4zIDAgOC43LTEuNyAxOS40LTEzLjQgNS4xLTUuNiAxMC40LTEyLjMgMTYuNy0yMC40bDEuNC0xLjhjNS44LTcuNCAxMi4yLTE1LjcgMTkuMy0yNCAxMy44LTE2LjIgMzAuMy0zMi44IDUxLjQtNDYuNGwtMTUuMS0zMC4yYy0xLjcgLjEtMy40IC4yLTUuMSAuMi0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0IDY0IDI4LjcgNjQgNjR6bTIwOCAwYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6Il19LHpfdD1rNGUsUzRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnRpbmktZ2xhc3MtY2l0cnVzIixpY29uOls2NDAsNTEyLFsiY29ja3RhaWwiXSwiZjU2MSIsIk01NzYgODBjMC00NC4yLTM1LjgtODAtODAtODAtMTggMC0zNC42IDYtNDggMTZsLTgxIDBjMjMuNi00Ny40IDcyLjUtODAgMTI5LTgwIDc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0UzU3NS41IDIyNCA0OTYgMjI0Yy02LjUgMC0xMy0uNC0xOS4zLTEuM2w2NC03NC43YzEuMS0xLjMgMi4yLTIuNyAzLjMtNC4xIDE5LjQtMTQuNiAzMi0zNy44IDMyLTY0ek02Ni45IDgyLjZDNzIuMiA3MS4zIDgzLjUgNjQgOTYgNjRsMzg0IDBjMTIuNSAwIDIzLjggNy4zIDI5LjEgMTguNnMzLjQgMjQuNy00LjggMzQuMmwtMTg0LjMgMjE1IDAgMTE2LjIgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMCAwLTExNi4yLTE4NC4zLTIxNWMtOC4xLTkuNS0xMC0yMi44LTQuOC0zNC4yek0xNjUuNiAxMjhMMjg4IDI3MC44IDQxMC40IDEyOCAxNjUuNiAxMjh6Il19LENfdD1TNGUsVF90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1bGxob3JuIixpY29uOls1MTIsNTEyLFsxMjgyMjYsMTI4MzYzXSwiZjBhMSIsIk00NjEuMiAxOC45QzQ3Mi43IDI0IDQ4MCAzNS40IDQ4MCA0OGwwIDQxNmMwIDEyLjYtNy4zIDI0LTE4LjggMjkuMXMtMjQuOCAzLjItMzQuMy01LjFsLTQ2LjYtNDAuN2MtNDMuNi0zOC4xLTk4LjctNjAuMy0xNTYuNC02M2wwIDk1LjdjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZDNTcuMyAzODQgMCAzMjYuNyAwIDI1NlM1Ny4zIDEyOCAxMjggMTI4bDg0LjUgMGM2MS44LS4yIDEyMS40LTIyLjcgMTY3LjktNjMuM2w0Ni42LTQwLjdjOS40LTguMyAyMi45LTEwLjIgMzQuMy01LjF6TTIyNCAzMjBsMCAuMmM3MC4zIDIuNyAxMzcuOCAyOC41IDE5MiA3My40bDAtMjc1LjNjLTU0LjIgNDQuOS0xMjEuNyA3MC43LTE5MiA3My40TDIyNCAzMjB6Il19LF9fdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3gtdGlzc3VlIixpY29uOls1MTIsNTEyLFtdLCJlMDViIiwiTTEwMy45IDMybDE2MSAwYzEzLjggMCAyNiA4LjggMzAuNCAyMS45bDE3LjQgNTIuMmM0LjQgMTMuMSAxNi42IDIxLjkgMzAuNCAyMS45bDYwLjUgMGMyMS44IDAgMzcuMyAyMS40IDMwLjQgNDIuMUwzODQgMzIwIDEyOCAzMjAgNzIuNyA3MC45QzY4LjIgNTEgODMuNCAzMiAxMDMuOSAzMnpNNDggMjU2bDE2LjYgMCAxNi41IDc0LjRDODYgMzUyLjQgMTA1LjUgMzY4IDEyOCAzNjhsMjU2IDBjMjAuNyAwIDM5LTEzLjIgNDUuNS0zMi44bDI2LjQtNzkuMiA4LjEgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDEyOGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzA0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4eiJdfSxMX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWF0dHJlc3MtcGlsbG93IixpY29uOls1NzYsNTEyLFtdLCJlNTI1IiwiTTI1NiA2NEw2NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMCAwLTM4NHptNDggMzg0bDIwOCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0yMDggMCAwIDM4NHpNNjQgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTkyeiJdfSwkX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hldnJvbi1sZWZ0IixpY29uOlszMjAsNTEyLFs5MDAxXSwiZjA1MyIsIk05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE5MiAxOTJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w3Ny4zIDI1NiAyNDYuNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xOTIgMTkyeiJdfSxEX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtbW9vbi1yYWluIixpY29uOls1NzYsNTEyLFtdLCJmNzNjIiwiTTQ0OCAwYy02OC42IDAtMTI3LjEgNDMuMS0xNDkuOCAxMDMuOCAxNy4xIDE0LjEgMjkuNiAzMy41IDM0LjkgNTUuOCAzOS45IDIxLjcgNjYuOSA2My45IDY2LjkgMTEyLjUgMCAxMy41LTIuMSAyNi41LTUuOSAzOC43IDE2LjkgNiAzNSA5LjMgNTMuOSA5LjMgNDMgMCA4Mi4xLTE3IDExMC44LTQ0LjYgNC42LTQuNCA1LjktMTEuMiAzLjMtMTdzLTguNi05LjMtMTQuOS04LjhjLTMgLjItNi4xIC40LTkuMiAuNC02My41IDAtMTE1LTUxLjUtMTE1LTExNSAwLTQ1LjEgMjYtODQuMiA2My44LTEwMyA1LjctMi44IDktOC45IDguMi0xNS4yUzQ4OS42IDUuMyA0ODMuNCAzLjlDNDcyIDEuNCA0NjAuMiAwIDQ0OCAwek0yNzIgMzUyYzQ0LjIgMCA4MC0zNS44IDgwLTgwIDAtMzktMjcuOS03MS41LTY0LjgtNzguNiAuNS0zLjEgLjgtNi4yIC44LTkuNCAwLTMwLjktMjUuMS01Ni01Ni01Ni0xMi40IDAtMjMuOSA0LTMzLjEgMTAuOC0xMy40LTI1LjUtNDAuMS00Mi44LTcwLjktNDIuOC00NC4yIDAtODAgMzUuOC04MCA4MCAwIDcuNCAxIDE0LjYgMi45IDIxLjUtMjkuOCAxMS42LTUwLjkgNDAuNi01MC45IDc0LjUgMCA0NC4yIDM1LjggODAgODAgODBsMTkyIDB6TTY5IDQwMS4xYy0xMi42LTQuMi0yNi4yIDIuNi0zMC40IDE1LjJMMTcuMiA0ODAuNEMxMyA0OTMgMTkuOCA1MDYuNiAzMi40IDUxMC44czI2LjItMi42IDMwLjQtMTUuMmwyMS40LTY0LjFjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40em0xMjAgMGMtMTIuNi00LjItMjYuMiAyLjYtMzAuNCAxNS4ybC0yMS40IDY0LjFjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuNC02NC4xYzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHptMTIwIDBjLTEyLjYtNC4yLTI2LjIgMi42LTMwLjQgMTUuMmwtMjEuNCA2NC4xYy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDIxLjQtNjQuMWM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjR6Il19LHVBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tMS05IixpY29uOls1MTIsNTEyLFsic29ydC1udW1lcmljLWFzYyIsInNvcnQtbnVtZXJpYy1kb3duIl0sImYxNjIiLCJNNDE4LjcgMzhjOC4zIDYgMTMuMyAxNS43IDEzLjMgMjZsMCA5NiAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC01MS42LTUuOSAyYy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41bDQ4LTE2YzkuOC0zLjMgMjAuNS0xLjYgMjguOCA0LjR6TTM2NS4xIDQzMC42bDExLjctMThjLTMyLjktOS45LTU2LjgtNDAuNS01Ni44LTc2LjYgMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDIyLjktNi42IDQ1LjMtMTkuMSA2NC41bC00Mi4xIDY0LjljLTkuNiAxNC44LTI5LjQgMTkuMS00NC4zIDkuNHMtMTkuMS0yOS40LTkuNC00NC4zek00MjQgMzM2YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTE1MC42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC05NiA5NnoiXX0sQV90PXVBLEVfdD11QSxJX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1zcG9jayIsaWNvbjpbNTEyLDUxMixbMTI4NDA2XSwiZjI1OSIsIk0yMTQuOSAyMy43QzIxMC4zIDYuNiAxOTIuOC0zLjUgMTc1LjcgMS4xcy0yNy4yIDIyLjEtMjIuNiAzOS4yTDIwNiAyMzcuOGMyLjUgOS4yLTQuNSAxOC4yLTE0IDE4LjItNi40IDAtMTItNC4yLTEzLjktMTAuM0wxMzQuNiAxMDIuN2MtNS4xLTE2LjktMjMtMjYuNC0zOS45LTIxLjNzLTI2LjQgMjMtMjEuMyAzOS45bDYyLjggMjA2LjRjMi40IDcuOS03LjIgMTMuOC0xMy4yIDguMUw2Ny42IDI4M2MtMTYtMTUuMi00MS4zLTE0LjYtNTYuNiAxLjRTLTMuNiAzMjUuNyAxMi40IDM0MUwxMjQuOCA0NDhjNDMuMSA0MS4xIDEwMC40IDY0IDE2MCA2NGwxOS4xIDBjLjEgMCAuMS0uMSAuMS0uMXMuMS0uMSAuMS0uMWM1OC4zLTMuNSAxMDguNi00My4yIDEyNS4zLTk5LjdsODEuMi0yNzVjNS0xNi45LTQuNy0zNC43LTIxLjYtMzkuOHMtMzQuNyA0LjctMzkuOCAyMS42TDQxMS41IDI0Ny4xYy0xLjYgNS4zLTYuNCA4LjktMTIgOC45LTcuOSAwLTEzLjgtNy4zLTEyLjItMTUuMWwzNi0xNzAuM2MzLjctMTcuMy03LjQtMzQuMy0yNC43LTM3LjlzLTM0LjMgNy40LTM3LjkgMjQuN0wzMjMuMSAyMzUuMWMtMi42IDEyLjItMTMuMyAyMC45LTI1LjggMjAuOS0xMS45IDAtMjIuNC04LTI1LjQtMTkuNWwtNTctMjEyLjh6Il19LHo0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YW5kLW1hZ2ljLXNwYXJrbGVzIixpY29uOls1NzYsNTEyLFsibWFnaWMtd2FuZC1zcGFya2xlcyJdLCJlMmNhIiwiTTI2My40LTI3TDI3OC4yIDkuOCAzMTUgMjQuNmMzIDEuMiA1IDQuMiA1IDcuNHMtMiA2LjItNSA3LjRMMjc4LjIgNTQuMiAyNjMuNCA5MWMtMS4yIDMtNC4yIDUtNy40IDVzLTYuMi0yLTcuNC01TDIzMy44IDU0LjIgMTk3IDM5LjRjLTMtMS4yLTUtNC4yLTUtNy40czItNi4yIDUtNy40TDIzMy44IDkuOCAyNDguNi0yN2MxLjItMyA0LjItNSA3LjQtNXM2LjIgMiA3LjQgNXpNMTEwLjcgNDEuN2wyMS41IDUwLjEgNTAuMSAyMS41YzUuOSAyLjUgOS43IDguMyA5LjcgMTQuN3MtMy44IDEyLjItOS43IDE0LjdsLTUwLjEgMjEuNS0yMS41IDUwLjFjLTIuNSA1LjktOC4zIDkuNy0xNC43IDkuN3MtMTIuMi0zLjgtMTQuNy05LjdMNTkuOCAxNjQuMiA5LjcgMTQyLjdDMy44IDE0MC4yIDAgMTM0LjQgMCAxMjhzMy44LTEyLjIgOS43LTE0LjdMNTkuOCA5MS44IDgxLjMgNDEuN0M4My44IDM1LjggODkuNiAzMiA5NiAzMnMxMi4yIDMuOCAxNC43IDkuN3pNNDY0IDMwNGM2LjQgMCAxMi4yIDMuOCAxNC43IDkuN2wyMS41IDUwLjEgNTAuMSAyMS41YzUuOSAyLjUgOS43IDguMyA5LjcgMTQuN3MtMy44IDEyLjItOS43IDE0LjdsLTUwLjEgMjEuNS0yMS41IDUwLjFjLTIuNSA1LjktOC4zIDkuNy0xNC43IDkuN3MtMTIuMi0zLjgtMTQuNy05LjdsLTIxLjUtNTAuMS01MC4xLTIxLjVjLTUuOS0yLjUtOS43LTguMy05LjctMTQuN3MzLjgtMTIuMiA5LjctMTQuN2w1MC4xLTIxLjUgMjEuNS01MC4xYzIuNS01LjkgOC4zLTkuNyAxNC43LTkuN3pNNDYwIDBjMTEgMCAyMS42IDQuNCAyOS41IDEyLjJsNDIuMyA0Mi4zQzUzOS42IDYyLjQgNTQ0IDczIDU0NCA4NHMtNC40IDIxLjYtMTIuMiAyOS41bC04OC4yIDg4LjItMTAxLjMtMTAxLjMgODguMi04OC4yQzQzOC40IDQuNCA0NDkgMCA0NjAgMHpNNDQuMiAzOTguNUwzMDguNCAxMzQuMyA0MDkuNyAyMzUuNiAxNDUuNSA0OTkuOEMxMzcuNiA1MDcuNiAxMjcgNTEyIDExNiA1MTJzLTIxLjYtNC40LTI5LjUtMTIuMkw0NC4yIDQ1Ny41QzM2LjQgNDQ5LjYgMzIgNDM5IDMyIDQyOHM0LjQtMjEuNiAxMi4yLTI5LjV6Il19LFBfdD16NGUsTl90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQtbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbXSwiZjdmNSIsIk0yNTYgNDgwYzE0MS40IDAgMjU2LTEwNy41IDI1Ni0yNDBTMzk3LjQgMCAyNTYgMCAwIDEwNy41IDAgMjQwYzAgNTQuMyAxOS4yIDEwNC4zIDUxLjYgMTQ0LjVMMi44IDQ3Ni44Yy00LjggOS0zLjMgMjAgMy42IDI3LjVzMTcuOCA5LjggMjcuMSA1LjhsMTE4LjQtNTAuN0MxODMuNyA0NzIuNiAyMTguOSA0ODAgMjU2IDQ4MHpNMjE3LjYgMTUzLjZjMC0xMC42IDguNi0xOS4yIDE5LjItMTkuMmwzOC40IDBjMTAuNiAwIDE5LjIgOC42IDE5LjIgMTkuMmwwIDQ4IDQ4IDBjMTAuNiAwIDE5LjIgOC42IDE5LjIgMTkuMmwwIDM4LjRjMCAxMC42LTguNiAxOS4yLTE5LjIgMTkuMmwtNDggMCAwIDQ4YzAgMTAuNi04LjYgMTkuMi0xOS4yIDE5LjJsLTM4LjQgMGMtMTAuNiAwLTE5LjItOC42LTE5LjItMTkuMmwwLTQ4LTQ4IDBjLTEwLjYgMC0xOS4yLTguNi0xOS4yLTE5LjJsMC0zOC40YzAtMTAuNiA4LjYtMTkuMiAxOS4yLTE5LjJsNDggMCAwLTQ4eiJdfSxGX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmVsbC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbMTI4Mjc3LDYxOTQzXSwiZjFmNiIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04Ny41LTg3LjVjMTcuMi0yLjQgMzAuNS0xNy4zIDMwLjUtMzUuMiAwLTguMS0yLjctMTUuOS03LjgtMjIuMmwtOS44LTEyLjJDNDY0LjQgMzA4LjUgNDQ4IDI2MS44IDQ0OCAyMTMuN2wwLTIxLjdjMC03Ny40LTU1LTE0Mi0xMjgtMTU2LjhsMC0zLjJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzLjJjLTM4LjYgNy44LTcyLjIgMjkuNi05NS4yIDU5LjdMNDEtMjQuOXptODcgMjM4LjVjMCA0OC4xLTE2LjQgOTQuOC00Ni40IDEzMi40bC05LjggMTIuMmMtNSA2LjMtNy44IDE0LjEtNy44IDIyLjIgMCAxOS42IDE1LjkgMzUuNSAzNS41IDM1LjVsMjM1LjMgMC0yMDYuOS0yMDYuOSAwIDQuNXpNMjg4IDUxMmMyOS44IDAgNTQuOS0yMC40IDYyLTQ4bC0xMjQgMGM3LjEgMjcuNiAzMi4yIDQ4IDYyIDQ4eiJdfSxwQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kc2hha2Utc2xhc2giLGljb246WzU3Niw1MTIsWzU3NDM5LCJoYW5kc2hha2UtYWx0LXNsYXNoIiwiaGFuZHNoYWtlLXNpbXBsZS1zbGFzaCJdLCJlMDYwIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTI4OC0yODggMTQuMi0xNC4yYzQuMi00LjIgOS41LTYuNSAxNC45LTYuOSA2LjgtLjYgMTMuOCAxLjcgMTkgNi45TDUwNS42IDM3NiA1NzYgMzIwIDU3NiAzMiA0NjQgOTYgNDQwLjIgODAuMUM0MjQuNCA2OS42IDQwNS45IDY0IDM4Ni45IDY0bC03MC40IDBjLTEuMSAwLTIuMyAwLTMuNCAuMS0xNi45IC45LTMyLjggOC41LTQ0LjIgMjEuMWwtNTUuOCA2Mi4xLTM0LTM0IDQ0LjMtNDkuMi0zOS43IDBjLTE1LjMgMC0zMC4xIDMuNi00My41IDEwLjRMNDEtMjQuOXpNMCA2OS44TDAgMzIwIDE1Ni40IDQ1MC4zYzIzIDE5LjIgNTIgMjkuNyA4MS45IDI5LjdsMTUuNyAwLTctN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQxIDQxIDkgMGMyMi4yIDAgNDMuOC01LjggNjIuOC0xNi40TDAgNjkuOHoiXX0sT190PXBBLFJfdD1wQSxCX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm90dGxlLXdhdGVyIixpY29uOlszMjAsNTEyLFtdLCJlNGM1IiwiTTExMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwQzk0LjMgMzIgODAgMTcuNyA4MCAwczE0LjMtMzIgMzItMzJ6TTE2IDE0NGMwLTM1LjMgMjguNy02NCA2NC02NGwxNjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDI0LjEtMTMuMyA0NS4xLTMzIDU2IDE5LjcgMTAuOSAzMyAzMS45IDMzIDU2cy0xMy4zIDQ1LjEtMzMgNTZjMTkuNyAxMC45IDMzIDMxLjkgMzMgNTZzLTEzLjMgNDUuMS0zMyA1NmMxOS43IDEwLjkgMzMgMzEuOSAzMyA1NiAwIDM1LjMtMjguNyA2NC02NCA2NEw4MCA1NDRjLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjQuMSAxMy4zLTQ1LjEgMzMtNTYtMTkuNy0xMC45LTMzLTMxLjktMzMtNTZzMTMuMy00NS4xIDMzLTU2Yy0xOS43LTEwLjktMzMtMzEuOS0zMy01NnMxMy4zLTQ1LjEgMzMtNTZjLTE5LjctMTAuOS0zMy0zMS45LTMzLTU2eiJdfSxIX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS1kMjAiLGljb246WzUxMiw1MTIsW10sImY2Y2YiLCJNMjI0LjQtOC4yYzE5LjYtMTEuMSA0My42LTExLjEgNjMuMSAwbDE5MiAxMDguOGMyMCAxMS40IDMyLjQgMzIuNiAzMi40IDU1LjdsMCAyMTUuNmMwIDIzLTEyLjQgNDQuMy0zMi40IDU1LjdsLTE5MiAxMDguOGMtMTkuNiAxMS4xLTQzLjYgMTEuMS02My4xIDBMMzIuNCA0MjcuNUMxMi40IDQxNi4xIDAgMzk0LjggMCAzNzEuOEwwIDE1Ni4yYzAtMjMgMTIuNC00NC4zIDMyLjQtNTUuN0wyMjQuNC04LjJ6bTUyIDczLjJDMjY3IDQ5LjggMjQ1IDQ5LjggMjM1LjYgNjVsLTc2LjYgMTIzLjctODUuNC00Ni4zLTMuOC0xLjZjLTguOS0yLjctMTguOCAxLjEtMjMuNCA5LjZzLTIuNCAxOC45IDQuNyAyNC44bDMuMyAyLjMgODMuNCA0NS4yLTc0LjYgMTIwLjZDNTUuMyAzNTYuMiA2MSAzNzMgNzUgMzc4LjRsMTYxIDYxLjkgMCAzOS43YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtMzkuNyAxNjEtNjEuOWMxNC01LjQgMTkuNy0yMi4yIDExLjgtMzVsLTc0LjctMTIwLjYgODMuNC00NS4yYzkuNy01LjMgMTMuMy0xNy40IDguMS0yNy4xcy0xNy40LTEzLjMtMjcuMS04LjFMMzUzIDE4OC43IDI3Ni40IDY1em0tNDcgMzI5LjlsLTEyMi00Ni45IDU0LjUtODguMSA2Ny41IDEzNXpNNDA0LjYgMzQ4bC0xMjIgNDYuOSA2Ny41LTEzNSA1NC41IDg4LjF6TTMxOS4zIDIzMkwyNTYgMzU4LjYgMTkyLjcgMjMyIDMxOS4zIDIzMnpNMzA4IDE5MmwtMTA0LjEgMCA1Mi04NCA1MiA4NHoiXX0sZkE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi16LWEiLGljb246WzUxMiw1MTIsWyJzb3J0LWFscGhhLWRlc2MiLCJzb3J0LWFscGhhLWRvd24tYWx0Il0sImY4ODEiLCJNMjMwLjYgMzkwLjZsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtODAtODBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDI1LjQtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zek0yODggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUwzOTcuMyAxNjAgNDQ4IDE2MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45TDM3MC44IDk2IDMyMCA5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQxMi42IDI3My43bDgwIDE2MGM3LjkgMTUuOCAxLjUgMzUtMTQuMyA0Mi45cy0zNSAxLjUtNDIuOS0xNC4zbC03LjItMTQuMy04OC40IDAtNy4yIDE0LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsODAtMTYwYzUuNC0xMC44IDE2LjUtMTcuNyAyOC42LTE3LjdzMjMuMiA2LjggMjguNiAxNy43ek0zODQgMzU5LjZsLTIwLjIgNDAuNCA0MC40IDAtMjAuMi00MC40eiJdfSxxX3Q9ZkEsal90PWZBLFZfdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicnVzaCIsaWNvbjpbMzg0LDUxMixbXSwiZjU1ZCIsIk0xNjIuNCA2Yy0xLjUtMy42LTUtNi04LjktNmwtMTkgMGMtMy45IDAtNy41IDIuNC04LjkgNkwxMDQuOSA1Ny43Yy0zLjIgOC0xNC42IDgtMTcuOCAwTDY2LjQgNmMtMS41LTMuNi01LTYtOC45LTZMNDggMEMyMS41IDAgMCAyMS41IDAgNDhsMCAyMDggMzg0IDAgMC0yMDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMMjMwLjUgMGMtMy45IDAtNy41IDIuNC04LjkgNkwyMDAuOSA1Ny43Yy0zLjIgOC0xNC42IDgtMTcuOCAwTDE2Mi40IDZ6TTAgMzA0bDAgMTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNjQgMCAwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRsMC02NCA2NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTYtMzg0IDB6TTE5MiA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTYgMTYgNy4yIDE2IDE2LTcuMiAxNi0xNiAxNnoiXX0sVV90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi13YWxraW5nLWRhc2hlZC1saW5lLWFycm93LXJpZ2h0IixpY29uOls2NDAsNTEyLFtdLCJlNTUzIiwiTTE2MCA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNNzMuNCAyMjcuOWwyMi42LTIyLjYgMCA2OS4zYzAgMjggMTIuMiA1NC43IDMzLjUgNzIuOWw3MS40IDYxLjJjNS45IDUuMSA5LjggMTIuMSAxMC45IDE5LjhsMTIuNiA4OC4xYzIuNSAxNy41IDE4LjcgMjkuNyAzNi4yIDI3LjJzMjkuNy0xOC43IDI3LjItMzYuMmwtMTIuNi04OC4xYy0zLjMtMjMuMS0xNC45LTQ0LjEtMzIuNi01OS4zbC0zNC41LTI5LjYgMC0xMTUuMiAzLjggNC43YzE4LjIgMjIuOCA0NS44IDM2IDc1IDM2bDMzLjIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzMuMiAwYy05LjcgMC0xOC45LTQuNC0yNS0xMmwtMTcuOS0yMi40Yy0yMy0yOC44LTU3LjktNDUuNi05NC44LTQ1LjYtMzIuMiAwLTYzLjEgMTIuOC04NS44IDM1LjZMMjguMSAxODIuNkMxMC4xIDIwMC42IDAgMjI1IDAgMjUwLjVMMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM3LjVjMC04LjUgMy40LTE2LjYgOS40LTIyLjZ6TTg1LjggNDA3LjNjLTEuNSA1LjItNC4zIDEwLTguMSAxMy44TDkuNCA0ODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2OC4zLTY4LjNjMTEuNS0xMS41IDE5LjktMjUuOCAyNC40LTQxLjVsMi4yLTcuNi00Ni0zOS40Yy0yLjUtMi4yLTUtNC40LTcuNC02LjhMODUuOCA0MDcuM3pNNDMyIDhjMC0xMy4zLTEwLjctMjQtMjQtMjRTMzg0LTUuMyAzODQgOGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMnptMCAxMjhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzJ6TTQwOCAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0yNCAxNTJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzJ6TTYwOSAyNzNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTcyLTcyYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDMxIDMxLTEwMi4xIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTAyLjEgMC0zMSAzMWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDcyLTcyeiJdfSxDNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtc2hvcnQtd2lkZSIsaWNvbjpbNTc2LDUxMixbInNvcnQtYW1vdW50LXVwLWFsdCJdLCJmODg1IiwiTTMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwem0wIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwem0wIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yMjQgMHpNMTUwLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDE0MS4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA2LjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2eiJdfSxXX3Q9QzRlLFQ0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmlwLXZlcnRpY2FsIixpY29uOlszMjAsNTEyLFsiZ3JpZC12ZXJ0aWNhbCJdLCJmNThlIiwiTTEyOCA0MGMwLTIyLjEtMTcuOS00MC00MC00MEw0MCAwQzE3LjkgMCAwIDE3LjkgMCA0MEwwIDg4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OHptMCAxOTJjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4ek0wIDQyNGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OGMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6TTMyMCA0MGMwLTIyLjEtMTcuOS00MC00MC00MEwyMzIgMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6TTE5MiAyMzJsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDhjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwek0zMjAgNDI0YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OHoiXX0sR190PVQ0ZSxZX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLXR1bm5lbCIsaWNvbjpbNTEyLDUxMixbXSwiZTRkZSIsIk0yNTYgMEMxMTQuNiAwIDAgMTE0LjYgMCAyNTZMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDIuOCAwYy02LjYtNS45LTEwLjgtMTQuNC0xMC44LTI0bDAtMTEzLjFjMC0xMy41IDMuMS0yNi44IDktMzguOWwzOS43LTgwLjhjOS40LTE5LjEgMjguOS0zMS4zIDUwLjItMzEuM0wzMTcgMjI0YzIxLjMgMCA0MC44IDEyLjEgNTAuMiAzMS4zTDQwNyAzMzZjNS45IDEyLjEgOSAyNS40IDkgMzguOUw0MTYgNDg4YzAgOS42LTQuMiAxOC4xLTEwLjggMjRsNDIuOCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyQzUxMiAxMTQuNiAzOTcuNCAwIDI1NiAwek0zNjIuOCA1MTJjLTYuNi01LjktMTAuOC0xNC40LTEwLjgtMjRsMC0yNC0xOTIgMCAwIDI0YzAgOS42LTQuMiAxOC4xLTEwLjggMjRsMjEzLjcgMHptLTE3NS0yMzUuNWwtMjkuMyA1OS41IDE5NC45IDAtMjkuMy01OS41Yy0xLjMtMi43LTQuMS00LjUtNy4yLTQuNUwxOTUgMjcyYy0zIDAtNS44IDEuNy03LjIgNC41ek0xNzYgNDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMTg0LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LFpfdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1jb2x1bW4iLGljb246WzUxMiw1MTIsW10sImUwZTMiLCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2bDQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnpNMTQ0IDIyNGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE0NC02NGwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem04MCAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTUxMiA5NmwwIDIyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyeiJdfSxYX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2Fwcmljb3JuIixpY29uOls1NzYsNTEyLFtdLCJlODQ4IiwiTTI0MCAzMmM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGwwIDY1LjJjMTguOC0xMC45IDQwLjctMTcuMiA2NC0xNy4yIDcwLjcgMCAxMjggNTcuMyAxMjggMTI4UzUxOC43IDQ4MCA0NDggNDgwYy0zNS44IDAtNjguMi0xNC43LTkxLjQtMzguNC0yOC44IDQyLjUtNzcuNCA3MC40LTEzMi42IDcwLjQtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmM1MyAwIDk2LTQzIDk2LTk2bDAtMTc2YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwbDAgMjA4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0LTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgMzIgMzIgMzJDNzIuNiAzMiAxMDguOCA1MSAxMzIuMiA4MC41IDE1OC42IDUwLjcgMTk3LjEgMzIgMjQwIDMyek00NDggMjg4YTY0IDY0IDAgMSAwIDAgMTI4IDY0IDY0IDAgMSAwIDAtMTI4eiJdfSxRX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stYXJyb3ctcmlnaHQiLGljb246WzU3Niw1MTIsW10sImU1OGIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzLjMgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0czc0LjItMjcuMSA4NC43LTY0bDEwMi42IDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwzLjMgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE0Ni43YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDUxMiAxNDYuN2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN2wtNTAuNyAwIDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTUxMiAyMzcuM2wwIDUwLjctOTYgMCAwLTk2IDUwLjcgMCA0NS4zIDQ1LjN6TTE1MiAzODRhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwem0yMzIgNDBhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNMzA1IDIyNWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMTAyLjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMDIuMSAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjl6Il19LGhBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InR2IixpY29uOls1NzYsNTEyLFs2MzcxNywidGVsZXZpc2lvbiIsInR2LWFsdCJdLCJmMjZjIiwiTTY0IDk2bDAgMjQwIDQ0OCAwIDAtMjQwLTQ0OCAwek0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQwMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMTYwIDQ0OGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LEpfdD1oQSxLX3Q9aEEsZUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNlY3Rpb24iLGljb246WzI1Niw1MTIsW10sImU0NDciLCJNMTEwIDBDNDkuMiAwIDAgNDkuMiAwIDExMCAwIDEzMy43IDcuNiAxNTUuOCAyMC41IDE3NCA3LjYgMTkyIDAgMjE0LjEgMCAyMzggMCAyOTEuNyAzOC45IDMzNy42IDkxLjkgMzQ2LjRsNjEuNyAxMC4zYzIyLjIgMy43IDM4LjQgMjIuOSAzOC40IDQ1LjMgMCAyNS40LTIwLjYgNDYtNDYgNDZsLTk4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTggMGM2MC43IDAgMTEwLTQ5LjIgMTEwLTExMCAwLTIzLjctNy42LTQ1LjktMjAuNS02NCAxMi45LTE4IDIwLjUtNDAuMSAyMC41LTY0IDAtNTMuOC0zOC45LTk5LjYtOTEuOS0xMDguNWwtNjEuNy0xMC4zQzgwLjIgMTUxLjYgNjQgMTMyLjQgNjQgMTEwIDY0IDg0LjYgODQuNiA2NCAxMTAgNjRsOTggMGMxNy43IDAgMzItMTQuMyAzMi0zMlMyMjUuNyAwIDIwOCAwTDExMCAwem03NC43IDI5OS4xYy02LjUtMi40LTEzLjQtNC4zLTIwLjUtNS41bC02MS43LTEwLjNjLTIyLjItMy43LTM4LjQtMjIuOS0zOC40LTQ1LjMgMC05LjIgMi43LTE3LjggNy40LTI1IDYuNSAyLjQgMTMuNCA0LjMgMjAuNSA1LjVsNjEuNyAxMC4zYzIyLjIgMy43IDM4LjQgMjIuOSAzOC40IDQ1LjMgMCA5LjItMi43IDE3LjgtNy40IDI1eiJdfSx0THQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVhY2UiLGljb246WzUxMiw1MTIsWzk3NzRdLCJmNjdjIiwiTTIyNCA0NDUuM2wwLTEyMS44LTk0LjMgNzcuMWMyNi4xIDIyLjggNTguNSAzOC43IDk0LjMgNDQuN3pNODkuMiAzNTEuMUwyMjQgMjQwLjggMjI0IDY2LjdjLTkwLjggMTUuMi0xNjAgOTQuMi0xNjAgMTg5LjMgMCAzNC42IDkuMiA2Ny4xIDI1LjIgOTUuMXptMjkzLjEgNDkuNWwtOTQuMy03Ny4xIDAgMTIxLjhjMzUuNy02IDY4LjEtMjEuOSA5NC4zLTQ0Ljd6bTQwLjYtNDkuNWMxNi0yOCAyNS4yLTYwLjUgMjUuMi05NS4xIDAtOTUuMS02OS4yLTE3NC4xLTE2MC0xODkuM2wwIDE3NC4yIDEzNC44IDExMC4zek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAweiJdfSxyTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RhciIsaWNvbjpbNTc2LDUxMixbMTEwODgsNjE0NDZdLCJmMDA1IiwiTTMwOS41LTE4LjljLTQuMS04LTEyLjQtMTMuMS0yMS40LTEzLjFzLTE3LjMgNS4xLTIxLjQgMTMuMUwxOTMuMSAxMjUuMyAzMy4yIDE1MC43Yy04LjkgMS40LTE2LjMgNy43LTE5LjEgMTYuM3MtLjUgMTggNS44IDI0LjRsMTE0LjQgMTE0LjUtMjUuMiAxNTkuOWMtMS40IDguOSAyLjMgMTcuOSA5LjYgMjMuMnMxNi45IDYuMSAyNSAyTDI4OC4xIDQxNy42IDQzMi40IDQ5MWM4IDQuMSAxNy43IDMuMyAyNS0yczExLTE0LjIgOS42LTIzLjJMNDQxLjcgMzA1LjkgNTU2LjEgMTkxLjRjNi40LTYuNCA4LjYtMTUuOCA1LjgtMjQuNHMtMTAuMS0xNC45LTE5LjEtMTYuM0wzODMgMTI1LjMgMzA5LjUtMTguOXoiXX0sYUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYWciLGljb246WzQ0OCw1MTIsWzEyNzk4OCw2MTcyNV0sImYwMjQiLCJNNjQgMzJDNjQgMTQuMyA0OS43IDAgMzIgMFMwIDE0LjMgMCAzMkwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTIxLjYgNjIuNy0xOC44YzQxLjktMTIuNiA4Ny4xLTguNyAxMjYuMiAxMC45IDQyLjcgMjEuNCA5Mi41IDI0IDEzNy4yIDcuMmwzNy4xLTEzLjljMTIuNS00LjcgMjAuOC0xNi42IDIwLjgtMzBsMC0yNDcuN2MwLTIzLTI0LjItMzgtNDQuOC0yNy43bC0xMS44IDUuOWMtNDQuOSAyMi41LTk3LjggMjIuNS0xNDIuOCAwLTM2LjQtMTguMi03OC4zLTIxLjgtMTE3LjItMTAuMUw2NCA1NC40IDY0IDMyeiJdfSxtQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmlhbmdsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTEyLDUxMixbOTg4OCwiZXhjbGFtYXRpb24tdHJpYW5nbGUiLCJ3YXJuaW5nIl0sImYwNzEiLCJNMjU2IDBjMTQuNyAwIDI4LjIgOC4xIDM1LjIgMjFsMjE2IDQwMGM2LjcgMTIuNCA2LjQgMjcuNC0uOCAzOS41UzQ4Ni4xIDQ4MCA0NzIgNDgwTDQwIDQ4MGMtMTQuMSAwLTI3LjItNy40LTM0LjQtMTkuNXMtNy41LTI3LjEtLjgtMzkuNWwyMTYtNDAwYzctMTIuOSAyMC41LTIxIDM1LjItMjF6bTAgMzUyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptMC0xOTJjLTE4LjIgMC0zMi43IDE1LjUtMzEuNCAzMy43bDcuNCAxMDRjLjkgMTIuNSAxMS40IDIyLjMgMjMuOSAyMi4zIDEyLjYgMCAyMy05LjcgMjMuOS0yMi4zbDcuNC0xMDRjMS4zLTE4LjItMTMuMS0zMy43LTMxLjQtMzMuN3oiXX0saUx0PW1BLG5MdD1tQSxzTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTU2YyIsIk02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI3NiAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC05MC45IDAgMC04OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzEgMCAxLjkgMCAyLjkgLjEgMjYuMy03NC42IDk3LjUtMTI4LjEgMTgxLjEtMTI4LjEgMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC0zMy40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwLTEyNy45LTExNS4xYy0xOC4zLTE2LjQtNDYtMTYuNC02NC4yIDBMMTI4IDEyOCA2NCAxMjh6bTY0IDI0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyek0xMTIgMjU2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZ6TTI4OCAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxfNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JhZHVhdGlvbi1jYXAiLGljb246WzU3Niw1MTIsWzEyNzg5MSwibW9ydGFyLWJvYXJkIl0sImYxOWQiLCJNNDggMTk1LjhsMjA5LjIgODYuMWM5LjggNCAyMC4yIDYuMSAzMC44IDYuMXMyMS0yLjEgMzAuOC02LjFsMjQyLjQtOTkuOGM5LTMuNyAxNC44LTEyLjQgMTQuOC0yMi4xcy01LjgtMTguNC0xNC44LTIyLjFMMzE4LjggMzguMUMzMDkgMzQuMSAyOTguNiAzMiAyODggMzJzLTIxIDIuMS0zMC44IDYuMUwxNC44IDEzNy45QzUuOCAxNDEuNiAwIDE1MC4zIDAgMTYwTDAgNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yNjAuMnptNDggNzEuN0w5NiAzODRjMCA1MyA4NiA5NiAxOTIgOTZzMTkyLTQzIDE5Mi05NmwwLTExNi42LTE0Mi45IDU4LjljLTE1LjYgNi40LTMyLjIgOS43LTQ5LjEgOS43cy0zMy41LTMuMy00OS4xLTkuN0w5NiAyNjcuNHoiXX0sb0x0PV80ZSxsTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RvcmUiLGljb246WzUxMiw1MTIsW10sImY1NGUiLCJNMzAuNyA3Mi4zQzM3LjYgNDguNCA1OS41IDMyIDg0LjQgMzJsMzQ0IDBjMjQuOSAwIDQ2LjggMTYuNCA1My44IDQwLjNsMjMuNCA4MC4yYzEyLjggNDMuNy0yMC4xIDg3LjUtNjUuNiA4Ny41LTI2LjMgMC00OS40LTE0LjktNjAuOC0zNy4xLTExLjYgMjEuOS0zNC42IDM3LjEtNjEuNCAzNy4xLTI2LjYgMC00OS43LTE1LTYxLjMtMzctMTEuNiAyMi0zNC43IDM3LTYxLjMgMzctMjYuOCAwLTQ5LjgtMTUuMS02MS40LTM3LjEtMTEuNCAyMi4xLTM0LjUgMzcuMS02MC44IDM3LjEtNDUuNiAwLTc4LjQtNDMuNy02NS42LTg3LjVMMzAuNyA3Mi4zek05Ni40IDM1MmwzMjAgMCAwLTY2LjRjNy42IDEuNiAxNS41IDIuNCAyMy41IDIuNCAxNC4zIDAgMjgtMi42IDQwLjUtNy4ybDAgMTUxLjJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTM1MiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE1MS4yYzEyLjUgNC42IDI2LjEgNy4yIDQwLjUgNy4yIDguMSAwIDE1LjktLjggMjMuNS0yLjRsMCA2Ni40eiJdfSxjTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1hc3Ryb25hdXQiLGljb246WzQ0OCw1MTIsW10sImY0ZmIiLCJNMjI0IDMzNmM3NC42IDAgMTM4LjQtNDYuNCAxNjQtMTEybDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC00IDBDMzYyLjQgMzAuNCAyOTguNi0xNiAyMjQtMTZTODUuNiAzMC40IDYwIDk2bC00IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNCAwYzI1LjYgNjUuNiA4OS40IDExMiAxNjQgMTEyek0yMDggODBsMzIgMGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NmwtMzIgMGMtNTMgMC05Ni00My05Ni05NnM0My05NiA5Ni05NnpNMTYgNDg0LjZDMTYgNDk5LjcgMjguMyA1MTIgNDMuNCA1MTJsNTIuNiAwIDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OCA1Mi42IDBjMTUuMSAwIDI3LjQtMTIuMyAyNy40LTI3LjQgMC01OS44LTMxLjktMTEyLjItNzkuNi0xNDEtMzYuNCAyNS41LTgwLjYgNDAuNC0xMjguNCA0MC40cy05Mi0xNC45LTEyOC40LTQwLjRDNDcuOSAzNzIuNCAxNiA0MjQuOCAxNiA0ODQuNnpNMTgzLjMgMTQxLjVjLS45LTMuMy0zLjktNS41LTcuMy01LjVzLTYuNCAyLjItNy4zIDUuNWwtNiAyMS4yLTIxLjIgNmMtMy4zIC45LTUuNSAzLjktNS41IDcuM3MyLjIgNi40IDUuNSA3LjNsMjEuMiA2IDYgMjEuMmMuOSAzLjMgMy45IDUuNSA3LjMgNS41czYuNC0yLjIgNy4zLTUuNWw2LTIxLjIgMjEuMi02YzMuMy0uOSA1LjUtMy45IDUuNS03LjNzLTIuMi02LjQtNS41LTcuM2wtMjEuMi02LTYtMjEuMnpNMTUyIDQ4OGwwIDI0IDQ4IDAgMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHptMTIwLTI0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDI0IDQ4IDAgMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sZEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWZsYWciLGljb246WzY0MCw1MTIsW10sImU0ZDUiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMTc2IDM1MmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgODAtOTYgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek05NiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjQwIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTk2IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNDQtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yODggMTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMkw0OTYgMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LEw0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtdWctc2F1Y2VyIixpY29uOls1NzYsNTEyLFsiY29mZmVlIl0sImYwZjQiLCJNNjQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzUyIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhTNTE4LjcgMjg4IDQ0OCAyODhjMCA1My00MyA5Ni05NiA5NmwtMTkyIDBjLTUzIDAtOTYtNDMtOTYtOTZMNjQgNjR6bTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NGwwIDEyOGMzNS4zIDAgNjQtMjguNyA2NC02NHpNNjQgNDQ4bDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sdUx0PUw0ZSxwTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVtb24iLGljb246WzQ0OCw1MTIsWzEyNzgxOV0sImYwOTQiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0LTYuNiAwLTEzIDEtMTkgMi45LTIyLjUgNy00OC4xIDE0LjktNzEgOS03NS4yLTE5LjEtMTU2LjQgMTEtMjEzLjcgNjguM1MtNy4yIDI1MC44IDExLjkgMzI2YzUuOCAyMi45LTIgNDguNC05IDcxLTEuOSA2LTIuOSAxMi40LTIuOSAxOSAwIDM1LjMgMjguNyA2NCA2NCA2NCA2LjYgMCAxMy0xIDE5LjEtMi45IDIyLjUtNyA0OC4xLTE0LjkgNzEtOSA3NS4yIDE5LjEgMTU2LjQtMTEgMjEzLjctNjguM1M0NTUuMiAyNjEuMiA0MzYuMSAxODZjLTUuOC0yMi45IDItNDguNCA5LTcxIDEuOS02IDIuOS0xMi40IDIuOS0xOS4xek0yMjIuNyAxNDNjLTUyIDE1LjItOTYuNSA1OS43LTExMS43IDExMS43LTMuNyAxMi43LTE3LjEgMjAtMjkuOCAxNi4zUzYxLjIgMjU0IDY1IDI0MS4zYzE5LjgtNjcuNyA3Ni42LTEyNC41IDE0NC4zLTE0NC4zIDEyLjctMy43IDI2LjEgMy42IDI5LjggMTYuM3MtMy42IDI2LjEtMTYuMyAyOS44eiJdfSxmTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyYXZhbiIsaWNvbjpbNjQwLDUxMixbXSwiZjhmZiIsIk0zMiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGwwIDE5MiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yOTYuNCAwYy4yIDIuNiAuNCA1LjMgLjQgOCAwIDQ4LjYtMzkuNCA4OC04OCA4OHMtODgtMzkuNC04OC04OGMwLTIuNyAuMS01LjQgLjQtOEw5NiA0MTZjLTM1LjMgMC02NC0yOC43LTY0LTY0TDMyIDk2ek0zNTIgMzUybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00OC0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0IDAgMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJ6TTE2MCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwem02NCAzMzZhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSxoTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicSIsaWNvbjpbNDQ4LDUxMixbMTEzXSwiNTEiLCJNNjQgMjU2YzAgODguNCA3MS42IDE2MCAxNjAgMTYwIDI4LjkgMCA1Ni03LjcgNzkuNC0yMS4xbC03Mi04Ni40Yy0xMS4zLTEzLjYtOS41LTMzLjggNC4xLTQ1LjFzMzMuOC05LjUgNDUuMSA0LjFsNzAuOSA4NS4xYzIwLjQtMjYuOCAzMi41LTYwLjMgMzIuNS05Ni42IDAtODguNC03MS42LTE2MC0xNjAtMTYwUzY0IDE2Ny42IDY0IDI1NnpNMzQ0LjkgNDQ0LjZDMzEwIDQ2NyAyNjguNSA0ODAgMjI0IDQ4MCAxMDAuMyA0ODAgMCAzNzkuNyAwIDI1NlMxMDAuMyAzMiAyMjQgMzIgNDQ4IDEzMi4zIDQ0OCAyNTZjMCA1Ni4xLTIwLjYgMTA3LjQtNTQuNyAxNDYuN2w0Ny4zIDU2LjhjMTEuMyAxMy42IDkuNSAzMy44LTQuMSA0NS4xcy0zMy44IDkuNS00NS4xLTQuMWwtNDYuNi01NS45eiJdfSxtTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jayIsaWNvbjpbMzg0LDUxMixbMTI4Mjc0XSwiZjAyMyIsIk0xMjggOTZsMCA2NCAxMjggMCAwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0cy02NCAyOC43LTY0IDY0ek02NCAxNjBsMC02NEM2NCAyNS4zIDEyMS4zLTMyIDE5Mi0zMlMzMjAgMjUuMyAzMjAgOTZsMCA2NGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0eiJdfSxnTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFpbnQtcm9sbGVyIixpY29uOls1MTIsNTEyLFtdLCJmNWFhIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDM1MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDE2IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCA5NmMwIDQ0LjItMzUuOCA4MC04MCA4MGwtMTYwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE4LjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtMTguN2MwLTQ0LjIgMzUuOC04MCA4MC04MGwxNjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC05NmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgMTkyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0eiJdfSwkNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9sdW1lLWhpZ2giLGljb246WzY0MCw1MTIsWzEyODI2Niwidm9sdW1lLXVwIl0sImYwMjgiLCJNNTMzLjYgMzIuNWMtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzU1Ny41IDExMy44IDU5MiAxODAuOCA1OTIgMjU2cy0zNC41IDE0Mi4yLTg4LjcgMTg2LjNjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVDNTk4LjUgNDI2LjcgNjQwIDM0Ni4yIDY0MCAyNTZTNTk4LjUgODUuMiA1MzMuNiAzMi41ek00NzMuMSAxMDdjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEM0NzUuMyAxNzAuNyA0OTYgMjEwLjkgNDk2IDI1NnMtMjAuNyA4NS4zLTUzLjIgMTExLjhjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVjNDMuMi0zNS4yIDcwLjktODguOSA3MC45LTE0OXMtMjcuNy0xMTMuOC03MC45LTE0OXptLTYwLjUgNzQuNWMtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzM5My4xIDIyNy42IDQwMCAyNDEgNDAwIDI1NnMtNi45IDI4LjQtMTcuNyAzNy4zYy0xMC4zIDguNC0xMS44IDIzLjUtMy41IDMzLjhzMjMuNSAxMS44IDMzLjggMy41QzQzNC4xIDMxMi45IDQ0OCAyODYuMSA0NDggMjU2cy0xMy45LTU2LjktMzUuNC03NC41ek04MCAzNTJsNDggMCAxMzQuMSAxMTkuMmM2LjQgNS43IDE0LjYgOC44IDIzLjEgOC44IDE5LjIgMCAzNC44LTE1LjYgMzQuOC0zNC44bDAtMzc4LjRjMC0xOS4yLTE1LjYtMzQuOC0zNC44LTM0LjgtOC41IDAtMTYuNyAzLjEtMjMuMSA4LjhMMTI4IDE2MCA4MCAxNjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDh6Il19LGJMdD0kNGUsdkx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlci1wbHVzIixpY29uOls1MTIsNTEyLFtdLCJmNjVlIiwiTTUxMiAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEzOC43IDBjMTMuOCAwIDI3LjMgNC41IDM4LjQgMTIuOGwzOC40IDI4LjhjNS41IDQuMiAxMi4zIDYuNCAxOS4yIDYuNEw0NDggODBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNDB6TTI1NiAxNjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDgtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwIDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ4IDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0seEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1lcmN1cnkiLGljb246WzM4NCw1MTIsWzk3OTFdLCJmMjIzIiwiTTExNy00QzEwNi0xNy44IDg1LjgtMjAgNzIuMS05cy0xNiAzMS4yLTUgNDVDNzQuOSA0NS43IDgzLjcgNTQuNSA5My41IDYyLjEgNDYuNyA5My43IDE2IDE0Ny4zIDE2IDIwOCAxNiAyOTQuMyA3OC4xIDM2Ni4xIDE2MCAzODEuMWwwIDM0LjktMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zNC45YzgxLjktMTUgMTQ0LTg2LjggMTQ0LTE3My4xIDAtNjAuNy0zMC43LTExNC4zLTc3LjUtMTQ1LjkgOS44LTcuNyAxOC43LTE2LjQgMjYuNC0yNi4xIDExLjEtMTMuOCA4LjgtMzMuOS01LTQ1UzI3OC0xNy44IDI2Ny00Yy0xNy42IDIyLTQ0LjcgMzYtNzUgMzZTMTM0LjcgMTggMTE3LTR6bTc1IDMyNGMtNjEuOSAwLTExMi01MC4xLTExMi0xMTJTMTMwLjEgOTYgMTkyIDk2IDMwNCAxNDYuMSAzMDQgMjA4YzAgNjEuOC01MC4xIDExMi0xMTEuOSAxMTJsLS4xIDB6Il19LHlMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmNob3IiLGljb246WzU3Niw1MTIsWzk4NzVdLCJmMTNkIiwiTTI4OCA2NGEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6TTE5MiA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2YzAgNDEuOC0yNi43IDc3LjQtNjQgOTAuNWwwIDI1Ny45YzYyLjktMTQuMyAxMTAuMi02OS43IDExMS45LTEzNi41bC0xNi4xIDE0LjFjLTEwIDguNy0yNS4xIDcuNy0zMy45LTIuM3MtNy43LTI1LjEgMi4zLTMzLjlsNjQtNTZjOS03LjkgMjIuNi03LjkgMzEuNiAwbDY0IDU2YzEwIDguNyAxMSAyMy45IDIuMyAzMy45cy0yMy45IDExLTMzLjkgMi4zTDQ5NiAzMDcuOUM0OTMuOSA0MjEgNDAxLjYgNTEyIDI4OCA1MTJTODIuMSA0MjEgODAgMzA3LjlMNjMuOCAzMjIuMWMtMTAgOC43LTI1LjEgNy43LTMzLjktMi4zcy03LjctMjUuMSAyLjMtMzMuOWw2NC01NmM5LTcuOSAyMi42LTcuOSAzMS42IDBsNjQgNTZjMTAgOC43IDExIDIzLjkgMi4zIDMzLjlzLTIzLjkgMTEtMzMuOSAyLjNsLTE2LjEtMTQuMWMxLjggNjYuOCA0OS4xIDEyMi4yIDExMS45IDEzNi41bDAtMjU3LjljLTM3LjMtMTMuMi02NC00OC43LTY0LTkwLjV6Il19LEQ0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcGFya2luZyIsaWNvbjpbNDQ4LDUxMixbMTI3MzU5LCJwYXJraW5nIl0sImY1NDAiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMTkyIDI1Nmw0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00OCAwIDAgNjR6bTQ4IDY0bC00OCAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xODRjMC0yMi4xIDE3LjktNDAgNDAtNDBsNzIgMGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NnoiXX0sd0x0PUQ0ZSxNTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFudWtpYWgiLGljb246WzY0MCw1MTIsWzEyODMzNF0sImY2ZTYiLCJNMzE0LjIgMy4zYy01LjEgOC44LTE4LjIgMzMuMy0xOC4yIDUyLjcgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zem0tMjg4IDQ4QzIxLjEgNjAuMSA4IDg0LjYgOCAxMDQgOCAxMTcuMyAxOC43IDEyOCAzMiAxMjhzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek04OCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzEwMS4xIDYwLjEgODggODQuNiA4OCAxMDR6bTgyLjItNTIuN2MtNS4xIDguOC0xOC4yIDMzLjMtMTguMiA1Mi43IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNMjE2IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDMjI5LjEgNjAuMSAyMTYgODQuNiAyMTYgMTA0ek0zOTQuMiA1MS4zYy01LjEgOC44LTE4LjIgMzMuMy0xOC4yIDUyLjcgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek00NDAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0M0NTMuMSA2MC4xIDQ0MCA4NC42IDQ0MCAxMDR6bTgyLjItNTIuN2MtNS4xIDguOC0xOC4yIDMzLjMtMTguMiA1Mi43IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNNTg0IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDNTk3LjEgNjAuMSA1ODQgODQuNiA1ODQgMTA0ek0xMTIgMTYwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2em0xNjAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnpNMzUyIDE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE3Ni0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDE3NC4zIDAgMTkybDAgOTZjMCA1MyA0MyA5NiA5NiA5NmwxOTIgMCAwIDY0LTEyOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMjggMCAwLTY0IDE5MiAwYzUzIDAgOTYtNDMgOTYtOTZsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xOTIgMCAwLTE3NnoiXX0sY2I9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm90YXRlLWxlZnQiLGljb246WzUxMiw1MTIsWyJyb3RhdGUtYmFjayIsInJvdGF0ZS1iYWNrd2FyZCIsInVuZG8tYWx0Il0sImYyZWEiLCJNMjQgMTkybDE0NCAwYzkuNyAwIDE4LjUtNS44IDIyLjItMTQuOHMxLjctMTkuMy01LjItMjYuMmwtNDYuNy00Ni43Yzc1LjMtNTguNiAxODQuMy01My4zIDI1My41IDE1LjkgNzUgNzUgNzUgMTk2LjUgMCAyNzEuNXMtMTk2LjUgNzUtMjcxLjUgMGMtMTAuMi0xMC4yLTE5LTIxLjMtMjYuNC0zMy05LjUtMTQuOS0yOS4zLTE5LjMtNDQuMi05LjhzLTE5LjMgMjkuMy05LjggNDQuMkM0OS43IDQwOC43IDYxLjQgNDIzLjUgNzUgNDM3IDE3NSA1MzcgMzM3IDUzNyA0MzcgNDM3UzUzNyAxNzUgNDM3IDc1QzM0Mi44LTE5LjMgMTkzLjMtMjQuNyA5Mi43IDU4LjhMNDEgN0MzNC4xIC4yIDIzLjgtMS45IDE0LjggMS44UzAgMTQuMyAwIDI0TDAgMTY4YzAgMTMuMyAxMC43IDI0IDI0IDI0eiJdfSxrTHQ9Y2IsU0x0PWNiLHpMdD1jYixBNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZGluZyIsaWNvbjpbNDQ4LDUxMixbImhlYWRlciJdLCJmMWRjIiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDExMiAyMjQgMCAwLTExMi0xNiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAzMjAgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtMTQ0LTIyNCAwIDAgMTQ0IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTMyMC0xNiAwQzE0LjMgOTYgMCA4MS43IDAgNjR6Il19LENMdD1BNGUsVEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3NzaGFpcnMiLGljb246WzU3Niw1MTIsW10sImYwNWIiLCJNMjg4LTE2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTguM2M5OC4xIDE0IDE3NS43IDkxLjYgMTg5LjcgMTg5LjdsMTguMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOC4zIDBjLTE0IDk4LjEtOTEuNiAxNzUuNy0xODkuNyAxODkuN2wwIDE4LjNjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC4zQzE1Ny45IDQ2My43IDgwLjMgMzg2LjEgNjYuMyAyODhMNDggMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE4LjMgMEM4MC4zIDEyNS45IDE1Ny45IDQ4LjMgMjU2IDM0LjNMMjU2IDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xMzEuMiAyODhjMTIuNyA2Mi43IDYyLjEgMTEyLjEgMTI0LjggMTI0LjhsMC0xMi44YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxMi44YzYyLjctMTIuNyAxMTIuMS02Mi4xIDEyNC44LTEyNC44TDQzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTIuOCAwQzQzMi4xIDE2MS4zIDM4Mi43IDExMS45IDMyMCA5OS4ybDAgMTIuOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyLjhDMTkzLjMgMTExLjkgMTQzLjkgMTYxLjMgMTMxLjIgMjI0bDEyLjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTIuOCAwek0yODggMjA4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnoiXX0sX0x0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1ub2RlcyIsaWNvbjpbNTEyLDUxMixbXSwiZTRlMiIsIk00MTguNCAxNTcuOWMzNS4zLTguMyA2MS42LTQwIDYxLjYtNzcuOSAwLTQ0LjItMzUuOC04MC04MC04MC00My40IDAtNzguNyAzNC41LTgwIDc3LjVMMTM2LjIgMTUxLjFDMTIxLjcgMTM2LjggMTAxLjkgMTI4IDgwIDEyOCAzNS44IDEyOCAwIDE2My44IDAgMjA4czM1LjggODAgODAgODBjMTIuMiAwIDIzLjgtMi43IDM0LjEtNy42TDI1OS43IDQwNy44Yy0yLjQgNy42LTMuNyAxNS44LTMuNyAyNC4yIDAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0yNy43LTE0LTUyLjEtMzUuNC02Ni40bDM3LjgtMjA3Ljd6TTE1Ni4zIDIzMi4yYzIuMi02LjkgMy41LTE0LjIgMy43LTIxLjdsMTgzLjgtNzMuNWMzLjYgMy41IDcuNCA2LjcgMTEuNiA5LjVMMzE3LjYgMzU0LjFjLTUuNSAxLjMtMTAuOCAzLjEtMTUuOCA1LjVMMTU2LjMgMjMyLjJ6Il19LExMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aW5kb3ctcmVzdG9yZSIsaWNvbjpbNTc2LDUxMixbXSwiZjJkMiIsIk01MTIgOTZMMTYwIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0bC00OCAwIDAtNjQgNDggMCAwLTE5MnpNMCAyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIyNHptNjQgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMjQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHoiXX0sJEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InIiLGljb246WzMyMCw1MTIsWzExNF0sIjUyIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCA5NS4zIDAgMTAyLjQgMTQ2LjRjMTAuMSAxNC41IDMwLjEgMTggNDQuNiA3LjlzMTgtMzAuMSA3LjktNDQuNkwyMzAuMSAzMDkuNUMyODIuOCAyODguMSAzMjAgMjM2LjQgMzIwIDE3NiAzMjAgOTYuNSAyNTUuNSAzMiAxNzYgMzJMMzIgMzJ6TTE3NiAyNTZsLTExMiAwIDAtMTYwIDExMiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwcy0zNS44IDgwLTgwIDgweiJdfSxETHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsdGVyLWNpcmNsZS14bWFyayIsaWNvbjpbNTc2LDUxMixbXSwiZTE3YiIsIk0zMiA2NEMxOS4xIDY0IDcuNCA3MS44IDIuNCA4My44Uy4yIDEwOS41IDkuNCAxMTguNkwxOTIgMzAxLjMgMTkyIDQxNmMwIDguNSAzLjQgMTYuNiA5LjQgMjIuNmw2NCA2NGMyLjUgMi41IDUuMyA0LjUgOC4zIDYtMjEuMi0zMC45LTMzLjYtNjguMy0zMy42LTEwOC42IDAtOTkuNCA3NS41LTE4MS4xIDE3Mi4zLTE5MWw5MC40LTkwLjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDkyLjkgNjQgNDgwIDY0TDMyIDY0ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN2wtMzYuNyAzNi43IDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnoiXX0sQUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdvcHVyYW0iLGljb246WzUxMiw1MTIsW10sImY2NjQiLCJNMTIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA4IDQwIDAgMC04YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA4IDQ4IDAgMC04YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA4IDQwIDAgMC04YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMzZjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA4MGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDEyOGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNDggMCAwLTIyNC0zMiAwIDAtMTI4LTQ4IDAgMCAxMjggMzIgMCAwIDIyNC0yMjQgMCAwLTIyNCAzMiAwIDAtMTI4LTQ4IDAgMCAxMjgtMzIgMCAwIDIyNC00OCAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDMzNmMwLTI2LjUgMjEuNS00OCA0OC00OGwwLTgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4TDk2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yNTYgMjA4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjA4IDQwMGwwIDY0IDk2IDAgMC02NGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHpNMjU2IDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyIDY0IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sRUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0LWNpcmNsZS1taW51cyIsaWNvbjpbNTc2LDUxMixbXSwiZTRmZiIsIk0yNDEgODcuMWwxNSAyMC43IDE1LTIwLjdDMjk2IDUyLjUgMzM2LjIgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTcuNi0zLjQgMzUuNi05LjUgNTMuNy0yMS44LTguNi00NS42LTEzLjQtNzAuNS0xMy40LTEwNiAwLTE5MiA4Ni0xOTIgMTkyIDAgMjguNSA2LjIgNTUuNiAxNy40IDgwLS41IDAtLjkgMC0xLjQgMC0xNS41IDAtMzAuOC00LjYtNDMuMS0xNC4xLTczLTU1LjctMjEyLjktMTg2LTIxMi45LTI5OC4ybDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xek0yODggNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIyNCAwYzAtOC44LTcuMi0xNi0xNi0xNmwtMTI4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTI4IDBjOC44IDAgMTYtNy4yIDE2LTE2eiJdfSxJTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Rhci1vZi1saWZlIixpY29uOls1MTIsNTEyLFtdLCJmNjIxIiwiTTIwOC41IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNDAuOSAxMjItNzAuNGMxNS4zLTguOCAzNC45LTMuNiA0My43IDExLjdsMTYgMjcuN2M4LjggMTUuMyAzLjYgMzQuOS0xMS43IDQzLjdsLTEyMiA3MC40IDEyMiA3MC40YzE1LjMgOC44IDIwLjYgMjguNCAxMS43IDQzLjdsLTE2IDI3LjdjLTguOCAxNS4zLTI4LjQgMjAuNi00My43IDExLjdsLTEyMi03MC40IDAgMTQwLjljMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTQwLjktMTIyIDcwLjRjLTE1LjMgOC44LTM0LjkgMy42LTQzLjctMTEuN2wtMTYtMjcuN2MtOC44LTE1LjMtMy42LTM0LjkgMTEuNy00My43bDEyMi03MC40LTEyMi03MC40Yy0xNS4zLTguOC0yMC41LTI4LjQtMTEuNy00My43bDE2LTI3LjdjOC44LTE1LjMgMjguNC0yMC41IDQzLjctMTEuN2wxMjIgNzAuNCAwLTE0MC45eiJdfSxFNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVzaW5lc3MtdGltZSIsaWNvbjpbNjQwLDUxMixbImJyaWVmY2FzZS1jbG9jayJdLCJmNjRhIiwiTTI2NCA0OGwxMTIgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MC0xMjggMCAwLTQwYzAtNC40IDMuNi04IDgtOHptLTU2IDhsMCA0MC04MCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2IDMwNSAwYzMzLjgtMjkuOSA3OC4zLTQ4IDEyNy00OCAyOC42IDAgNTUuNiA2LjIgODAgMTcuNGwwLTY1LjRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTgwIDAgMC00MGMwLTMwLjktMjUuMS01Ni01Ni01NkwyNjQgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ6bTgwIDI5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNi0xOTIgMCAwIDExMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTMuNCAwYy0xMS4yLTI0LjQtMTcuNC01MS40LTE3LjQtODAgMC0xNi42IDIuMS0zMi43IDYtNDhsLTIyIDB6bTM1MiA0OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwek00OTYgMzIwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sUEx0PUU0ZSxOTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlyZS1leHRpbmd1aXNoZXIiLGljb246WzUxMiw1MTIsWzEyOTUxOV0sImYxMzQiLCJNNTEyIDMyYzAtOS42LTQuMy0xOC43LTExLjctMjQuN1M0ODMuMS0xLjMgNDczLjcgLjZsLTE2MCAzMkMzMDEuNSAzNS4xIDI5MiA0NC4zIDI4OSA1NmwtNjUgMCAwLTI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE2MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDI4LjRjLTU1LjMgMTIuMy0xMDEuMyA0OS41LTEyNS41IDk5LjEtNS44IDExLjktLjkgMjYuMyAxMS4xIDMyLjFzMjYuMyAuOSAzMi4xLTExLjFDNjIgMTQ2LjkgOTEuOCAxMjEuMSAxMjggMTEwbDAgMjguOGMtMzcuOCAxOC02NCA1Ni41LTY0IDEwMS4ybDAgMTI4IDIyNCAwIDAtMTI4YzAtNDQuNy0yNi4yLTgzLjItNjQtMTAxLjJsMC0zNC44IDY1IDBjMyAxMS43IDEyLjUgMjAuOSAyNC43IDIzLjRsMTYwIDMyYzkuNCAxLjkgMTkuMS0uNiAyNi42LTYuNlM1MTIgMTM3LjYgNTEyIDEyOGwwLTk2ek0yODggNDQ4bDAtMzItMjI0IDAgMCAzMmMwIDM1LjMgMjguNyA2NCA2NCA2NGw5NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0eiJdfSxJNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi1sb25nIixpY29uOlszMjAsNTEyLFsibG9uZy1hcnJvdy1kb3duIl0sImYxNzUiLCJNMTM3LjQgNTM0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgNDM0LjcgMTkyIDBjMC0xNy43LTE0LjMtMzItMzItMzJTMTI4LTE3LjcgMTI4IDBsMCA0MzQuNy03My40LTczLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDEyOCAxMjh6Il19LEZMdD1JNGUsT0x0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItbWludXMiLGljb246WzY0MCw1MTIsW10sImY1MDMiLCJNMjg1LjcgMzA0Yzk4LjUgMCAxNzguMyA3OS44IDE3OC4zIDE3OC4zIDAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43TDc3LjcgNTEyQzYxLjMgNTEyIDQ4IDQ5OC43IDQ4IDQ4Mi4zIDQ4IDM4My44IDEyNy44IDMwNCAyMjYuMyAzMDRsNTkuNCAwek0yNTYgMjQ4YTEyMCAxMjAgMCAxIDEgMC0yNDAgMTIwIDEyMCAwIDEgMSAwIDI0MHptMzQ0LTk2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNDQgMHoiXX0sUkx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWNoZWNrIixpY29uOls1MTIsNTEyLFtdLCJmNTNjIiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6TTk2IDMxMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0yNC0xMzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI3MiAweiJdfSxQNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtbGFwdG9wIixpY29uOls2NDAsNTEyLFsibGFwdG9wLWhvdXNlIl0sImUwNjYiLCJNNDQ4IDI0MGwxOS45IDBjMTUuNSAwIDI4LjEtMTIuNiAyOC4xLTI4LjEgMC03LjYtMy4xLTE0LjktOC42LTIwLjJMMjgzLjUtNC45QzI3Ni4xLTEyIDI2Ni4zLTE2IDI1Ni0xNnMtMjAuMSA0LTI3LjUgMTEuMUwyNC42IDE5MS43QzE5LjEgMTk3IDE2IDIwNC4zIDE2IDIxMS45IDE2IDIyNy40IDI4LjYgMjQwIDQ0LjEgMjQwbDE5LjkgMCAwIDE0NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw4NS43IDBjNy40LTYuNiAxNi40LTExLjQgMjYuMy0xNGwwLTEzMGMwLTUuNSAuNy0xMC45IDItMTZsLTEwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDI0IDE0NCAwek0zNTIgMzUybDE2MCAwIDAgMTI4LTE2MCAwIDAtMTI4em0tNjQtMzJsMCAxNjAtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDI4OCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4IDAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMCAwLTE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMjI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSxCTHQ9UDRlLEhMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkb3dubG9hZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjAxOSIsIk0yNTYgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMTAuNy00MS40LTQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDI1NiAyNDIuNyAyNTYgMzJ6TTY0IDMyMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC00Ni45IDAtNTYuNiA1Ni42Yy0zMS4yIDMxLjItODEuOSAzMS4yLTExMy4xIDBMMTEwLjkgMzIwIDY0IDMyMHptMzA0IDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0scUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNhZ2l0dGFyaXVzIixpY29uOls0NDgsNTEyLFtdLCJlODRkIiwiTTQxNiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgyLjgtMTQ2LjggMTQ2LjggNDEuNCA0MS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4ycy0zMi44IDEyLjUtNDUuMyAwTDE5MiAzMzMuMyA1NC42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjIgMHMtMTIuNS0zMi44IDAtNDUuMkwxNDYuOCAyODggMTA1LjQgMjQ2LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4yczMyLjgtMTIuNSA0NS4yIDBMMTkyIDI0Mi44IDMzOC44IDk2IDI1NiA5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNjAgMHoiXX0sakx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvdWNoIixpY29uOls2NDAsNTEyLFtdLCJmNGI4IiwiTTE0NCAyNzJDMTQ0IDIyNC43IDEwOS44IDE4NS40IDY0LjggMTc3LjUgNzIgMTEzLjYgMTI2LjIgNjQgMTkyIDY0bDI1NiAwYzY1LjggMCAxMjAgNDkuNiAxMjcuMiAxMTMuNS00NSA4LTc5LjIgNDcuMi03OS4yIDk0LjVsMCAzMi0zNTIgMCAwLTMyek0wIDM4NEwwIDI3MmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgODAgNDQ4IDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTEyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6Il19LFZMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkLWxvY2siLGljb246WzU3Niw1MTIsW10sImU1NjciLCJNMjU2IDMybC03Ni4zIDBjLTI5LjQgMC01NS4xIDIwLjEtNjIuMSA0OC42TDMzLjQgNDIwLjVDMjUuOSA0NTAuNyA0OC44IDQ4MCA4MCA0ODBsMTc1LjkgMCAwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyIDYuMSAwIDExLjggMS43IDE2LjcgNC43IDIuOC0yMy45IDE0LjMtNDUuMSAzMS40LTYwLjNsMC0yNC40YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4IDYuMiAwIDEyLjQgLjQgMTguNCAxLjNMNDU4LjUgODAuNkM0NTEuNCA1Mi4xIDQyNS44IDMyIDM5Ni4zIDMybC03Ni40IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em02NCAxOTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTE3NiA4MC4xbDAgNDcuOS02NCAwIDAtNDcuOWMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyek0zNTIgNDAwbDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDhsMTI4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTIwLjktMTMuNC0zOC43LTMyLTQ1LjNsMC01MC42YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwbDAgNTAuNmMtMTguNiA2LjYtMzIgMjQuNC0zMiA0NS4zeiJdfSxONGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Npc3NvcnMiLGljb246WzUxMiw1MTIsWzk5ODQsOTk4Niw5OTg4LCJjdXQiXSwiZjBjNCIsIk0xOTIgMjU2bC0zOS41IDM5LjVjLTEyLjYtNC45LTI2LjItNy41LTQwLjUtNy41LTYxLjkgMC0xMTIgNTAuMS0xMTIgMTEyczUwLjEgMTEyIDExMiAxMTIgMTEyLTUwLjEgMTEyLTExMmMwLTE0LjMtMi43LTI3LjktNy41LTQwLjVMNDk5LjIgNzYuOGM3LjEtNy4xIDcuMS0xOC41IDAtMjUuNi0yOC4zLTI4LjMtNzQuMS0yOC4zLTEwMi40IDBMMjU2IDE5MiAyMTYuNSAxNTIuNWM0LjktMTIuNiA3LjUtMjYuMiA3LjUtNDAuNSAwLTYxLjktNTAuMS0xMTItMTEyLTExMlMwIDUwLjEgMCAxMTIgNTAuMSAyMjQgMTEyIDIyNGMxNC4zIDAgMjcuOS0yLjcgNDAuNS03LjVMMTkyIDI1NnptOTcuOSA5Ny45TDM5Ni44IDQ2MC44YzI4LjMgMjguMyA3NC4xIDI4LjMgMTAyLjQgMCA3LjEtNy4xIDcuMS0xOC41IDAtMjUuNmwtMTQ1LjMtMTQ1LjMtNjQgNjR6TTY0IDExMmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00OCAyNDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2eiJdfSxVTHQ9TjRlLFdBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1ZyIsaWNvbjpbNTc2LDUxMixbXSwiZjE4OCIsIk0xOTIgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDMuNmMwIDE1LjctMTIuNyAyOC40LTI4LjQgMjguNGwtMTM1LjEgMGMtMTUuNyAwLTI4LjQtMTIuNy0yOC40LTI4LjRsMC0zLjZ6bTM0NS42IDEyLjhjMTAuNiAxNC4xIDcuNyAzNC4yLTYuNCA0NC44bC05Ny44IDczLjNjNS4zIDguOSA5LjMgMTguNyAxMS44IDI5LjFsOTguOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMzJjMCAyLjYtLjEgNS4zLS4yIDcuOWw4My40IDYyLjVjMTQuMSAxMC42IDE3IDMwLjcgNi40IDQ0LjhzLTMwLjcgMTctNDQuOCA2LjRsLTYzLjEtNDcuM2MtMjMuMiA0NC4yLTY2LjUgNzYuMi0xMTcuNyA4My45TDMxMiAyODBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMzAuMmMtNTEuMi03LjctOTQuNS0zOS43LTExNy43LTgzLjlMODMuMiA0NzMuNmMtMTQuMSAxMC42LTM0LjIgNy43LTQ0LjgtNi40cy03LjctMzQuMiA2LjQtNDQuOGw4My40LTYyLjVjLS4xLTIuNi0uMi01LjItLjItNy45bDAtMzItOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5OC44IDBjMi41LTEwLjQgNi41LTIwLjIgMTEuOC0yOS4xTDQ0LjggMTUzLjZjLTE0LjEtMTAuNi0xNy0zMC43LTYuNC00NC44czMwLjctMTcgNDQuOC02LjRMMTkyIDE4NGMxMi4zLTUuMSAyNS44LTggNDAtOGwxMTIgMGMxNC4yIDAgMjcuNyAyLjggNDAgOGwxMDguOC04MS42YzE0LjEtMTAuNiAzNC4yLTcuNyA0NC44IDYuNHoiXX0sRjRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LWZyb20tYnJhY2tldCIsaWNvbjpbNTEyLDUxMixbInNpZ24tb3V0Il0sImYwOGIiLCJNMTYwIDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDk2IDMyQzQzIDMyIDAgNzUgMCAxMjhMMCAzODRjMCA1MyA0MyA5NiA5NiA5Nmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwek01MDIuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjI0IDE5MiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjEwLjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHoiXX0sV0x0PUY0ZSxHTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLWhhbmQiLGljb246WzU3Niw1MTIsW10sImU0ZjciLCJNNDY2LjggMTg2LjVsNDIuNS00Mi41IDM0LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDIyMy42IDE2Yy0yOSAwLTU3LjMgOS4zLTgwLjcgMjYuNUwxNi4zIDEzNS44Yy0xNy44IDEzLjEtMjEuNiAzOC4xLTguNSA1NS45czM4LjEgMjEuNiA1NS45IDguNUwxODMuNCAxMTIgMjk2IDExMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNTIuMiAwYzMzLjkgMCA2Ni41LTEzLjUgOTAuNS0zNy41em0tMzU3LjUgMTM5TDY2LjcgMzY4IDMyIDM2OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAuNSAwYzI5IDAgNTcuMy05LjMgODAuNy0yNi41bDEyNi42LTkzLjNjMTcuOC0xMy4xIDIxLjYtMzguMSA4LjUtNTUuOXMtMzguMS0yMS42LTU1LjktOC41TDM5Mi42IDQwMCAyODAgNDAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDcyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1Mi4yIDBjLTMzLjkgMC02Ni41IDEzLjUtOTAuNSAzNy41eiJdfSxZTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Ryb29wd2FmZWwiLGljb246WzUxMiw1MTIsW10sImY1NTEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHpNMzEyLjYgNjMuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMMjU2IDk3LjYgMjIyLjEgNjMuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzMy45IDMzLjktNDUuMyA0NS4zLTU2LjYtNTYuNmMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw1Ni42IDU2LjYtNDUuMyA0NS4zLTMzLjktMzMuOWMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw5Ny42IDI1NiA2My43IDI4OS45Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzMuOS0zMy45IDQ1LjMgNDUuMy01Ni42IDU2LjZjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw1Ni42LTU2LjYgNDUuMyA0NS4zLTMzLjkgMzMuOWMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDMzLjktMzMuOSAzMy45IDMzLjljNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zMy45LTMzLjkgNDUuMy00NS4zIDU2LjYgNTYuNmM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTU2LjYtNTYuNiA0NS4zLTQ1LjMgMzMuOSAzMy45YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtMzMuOS0zMy45IDMzLjktMzMuOWM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwbC0zMy45IDMzLjktNDUuMy00NS4zIDU2LjYtNTYuNmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwbC01Ni42IDU2LjYtNDUuMy00NS4zIDMzLjktMzMuOWM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpNMTQyLjkgMjU2bDQ1LjMtNDUuMyA0NS4zIDQ1LjMtNDUuMyA0NS4zLTQ1LjMtNDUuM3ptNjcuOSA2Ny45bDQ1LjMtNDUuMyA0NS4zIDQ1LjMtNDUuMyA0NS4zLTQ1LjMtNDUuM3pNMjc4LjYgMjU2bDQ1LjMtNDUuMyA0NS4zIDQ1LjMtNDUuMyA0NS4zLTQ1LjMtNDUuM3ptMjIuNi02Ny45bC00NS4zIDQ1LjMtNDUuMy00NS4zIDQ1LjMtNDUuMyA0NS4zIDQ1LjN6Il19LFpMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGlsZCIsaWNvbjpbMzIwLDUxMixbXSwiZjFhZSIsIk05NiA2NEE2NCA2NCAwIDEgMSAyMjQgNjQgNjQgNjQgMCAxIDEgOTYgNjR6bTQ4IDMyMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDgwIDI4Ny44IDU5LjEgMzIxYy05LjQgMTUtMjkuMiAxOS40LTQ0LjEgMTBTLTQuNSAzMDEuOSA0LjkgMjg3bDM5LjktNjMuM0M2OS43IDE4NCAxMTMuMiAxNjAgMTYwIDE2MHM5MC4zIDI0IDExNS4yIDYzLjZMMzE1LjEgMjg3YzkuNCAxNSA0LjkgMzQuNy0xMCA0NC4xcy0zNC43IDQuOS00NC4xLTEwTDI0MCAyODcuOCAyNDAgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMzIgMHoiXX0sWEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImljZS1jcmVhbSIsaWNvbjpbMzg0LDUxMixbMTI3ODQ4XSwiZjgxMCIsIk0zMzUuMSAxNjBjLjYtNS4zIC45LTEwLjYgLjktMTYgMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRTNDggNjQuNSA0OCAxNDRjMCA1LjQgLjMgMTAuNyAuOSAxNmwtLjkgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OGwyODggMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGwtLjkgMHpNNjQgMzA0TDE2OS4yIDUyOS41YzQuMSA4LjggMTMgMTQuNSAyMi44IDE0LjVzMTguNi01LjcgMjIuOC0xNC41TDMyMCAzMDQgNjQgMzA0eiJdfSxPNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcHV0ZXItbW91c2UiLGljb246WzM4NCw1MTIsWzEyODQzMywibW91c2UiXSwiZjhjYyIsIk0wIDE5MmwxNjggMCAwLTE5Mi04IDBDNzEuNiAwIDAgNzEuNiAwIDE2MGwwIDMyem0wIDQ4TDAgMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwbDY0IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC0xMTItMzg0IDB6bTM4NC00OGwwLTMyQzM4NCA3MS42IDMxMi40IDAgMjI0IDBsLTggMCAwIDE5MiAxNjggMHoiXX0sUUx0PU80ZSxKTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmF1Y2V0IixpY29uOls1MTIsNTEyLFtdLCJlMDA1IiwiTTE5MiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCA2NCAxOC43IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMjIuNiAyMi42IDMyIDBjODguNCAwIDE2MCA3MS42IDE2MCAxNjAgMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMycy0xNC4zLTMyLTMyLTMybC0zNi4xIDBjLTIwLjIgMjktNTMuOSA0OC05MS45IDQ4cy03MS43LTE5LTkxLjktNDhMMzIgMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDAgMjIuNi0yMi42YzYtNiAxNC4xLTkuNCAyMi42LTkuNGwxOC43IDAgMC02NC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDY0IDk2IDY0bDk2IDB6Il19LEtMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhd2FyZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjU1OSIsIk0yNDUuOS0yNS45Yy0xMy40LTguMi0zMC4zLTguMi00My43IDAtMjQuNCAxNC45LTM5LjUgMTguOS02OC4xIDE4LjMtMTUuNy0uNC0zMC4zIDguMS0zNy45IDIxLjktMTMuNyAyNS4xLTI0LjggMzYuMi00OS45IDQ5LjktMTMuOCA3LjUtMjIuMiAyMi4yLTIxLjkgMzcuOSAuNyAyOC42LTMuNCA0My43LTE4LjMgNjguMS04LjIgMTMuNC04LjIgMzAuMyAwIDQzLjcgMTQuOSAyNC40IDE4LjkgMzkuNSAxOC4zIDY4LjEtLjQgMTUuNyA4LjEgMzAuMyAyMS45IDM3LjkgMjIuMSAxMi4xIDMzLjMgMjIuMSA0NS4xIDQxLjVMNDIuNyA0NTguNWMtNS45IDExLjktMS4xIDI2LjMgMTAuNyAzMi4ybDg2IDQzYzExLjUgNS43IDI1LjUgMS40IDMxLjctOS44bDUyLjgtOTUuMSA1Mi44IDk1LjFjNi4yIDExLjIgMjAuMiAxNS42IDMxLjcgOS44bDg2LTQzYzExLjktNS45IDE2LjctMjAuMyAxMC43LTMyLjJsLTQ4LjYtOTcuMmMxMS43LTE5LjQgMjMtMjkuNCA0NS4xLTQxLjUgMTMuOC03LjUgMjIuMi0yMi4yIDIxLjktMzcuOS0uNy0yOC42IDMuNC00My43IDE4LjMtNjguMSA4LjItMTMuNCA4LjItMzAuMyAwLTQzLjctMTQuOS0yNC40LTE4LjktMzkuNS0xOC4zLTY4LjEgLjQtMTUuNy04LjEtMzAuMy0yMS45LTM3LjktMjUuMS0xMy43LTM2LjItMjQuOC00OS45LTQ5LjktNy41LTEzLjgtMjIuMi0yMi4yLTM3LjktMjEuOS0yOC42IC43LTQzLjctMy40LTY4LjEtMTguM3pNMjI0IDk2YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxlJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRyb3duaW5nIixpY29uOls2NDAsNTEyLFtdLCJlNTQ1IiwiTTI2NCA4OGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTEzMy45IDY1LjZjMTYuOC01LjYgMzQuOSAzLjUgNDAuNSAyMC4ybDEwLjkgMzIuOGM5LjQgMjguMyAzMy4yIDQ5LjUgNjIuNSA1NS42IDUuNiAxLjIgMTEuMyAxLjggMTcuMSAxLjhsODggMGMxNy4yIDAgMzQuMy0yLjggNTAuNi04LjJsMTE0LjQtMzguMWMxNi44LTUuNiAzNC45IDMuNSA0MC41IDIwLjJzLTMuNSAzNC45LTIwLjIgNDAuNUw0MjMuNyAyMjguNWMtOC40IDIuOC0xNyA1LjEtMjUuNyA2LjlsLTI2LjUgODguM2MtNi4xIDMuNC0xMi4xIDcuMy0xNy45IDExLjctMjIuMSAxNi42LTI5LjEgMTYuNi01MS4yIDAtMjYuMi0xOS43LTU2LjktMzAuMi04Ny44LTMxLjNsMjAuMi02Ny4yYy01MS41LTEwLjctOTMuNS00OC4xLTExMC4yLTk4bC0xMC45LTMyLjhjLTUuNi0xNi44IDMuNS0zNC45IDIwLjItNDAuNXpNNDAzLjQgNDEyLjFDMzc5LjEgNDMwLjMgMzUxLjEgNDQ4IDMyMCA0NDhzLTU5LjEtMTcuNy04My40LTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM2MzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTYuOSAxMi43IDMyLjkgMjEuNSA0Ny44IDI0LjYgMTMuNyAyLjggMjcuNCAuOSA0Mi4zLTEwLjMgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNi40IDE5LjktNTQuMiAyNC40LTgwLjcgMTkuMS0yNS4zLTUuMS00OC4xLTE4LjktNjcuMi0zMy4zLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAweiJdfSx0JHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FtZXJhLXJvdGF0ZSIsaWNvbjpbNTEyLDUxMixbXSwiZTBkOCIsIk0xMzguNyA5NmwxMC40LTMxLjJDMTU1LjYgNDUuMiAxNzMuOSAzMiAxOTQuNiAzMmwxMjIuOCAwYzIwLjcgMCAzOSAxMy4yIDQ1LjUgMzIuOEwzNzMuMyA5NiA0NDggOTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NGw3NC43IDB6TTk2IDMwNS45YzAgMy45IDEuNCA3LjcgNCAxMC42bDQ4IDU0YzYuNCA3LjIgMTcuNiA3LjIgMjMuOSAwbDQ4LTU0YzIuNi0yLjkgNC02LjcgNC0xMC42bDAtMS45YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMGMwLTM5LjggMzIuMi03MiA3Mi03MiA0LjQgMCA4LjcgLjQgMTIuOSAxLjJsMzQuOS0zOS4zYy0xNC42LTYuNC0zMC44LTkuOS00Ny44LTkuOS02Ni4zIDAtMTIwIDUzLjctMTIwIDEyMGwtMjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMS45em0xOTYtNDYuNWMtMi42IDIuOS00IDYuNy00IDEwLjZsMCAxLjljMCA4LjggNy4yIDE2IDE2IDE2bDI0IDBjMCAzOS44LTMyLjIgNzItNzIgNzItNC40IDAtOC43LS40LTEyLjktMS4ybC0zNC45IDM5LjNjMTQuNyA2LjQgMzAuOCA5LjkgNDcuOCA5LjkgNjYuMyAwIDEyMC01My43IDEyMC0xMjBsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xLjljMC0zLjktMS40LTcuNy00LTEwLjZsLTQ4LTU0Yy02LjQtNy4yLTE3LjYtNy4yLTIzLjkgMGwtNDggNTR6Il19LFI0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4taGVhcnRzIixpY29uOls1MTIsNTEyLFsxMjg1MjUsImdyaW4taGVhcnRzIl0sImY1ODQiLCJNMjU2IDUxMmMxNDEuNCAwIDI1Ni0xMTQuNiAyNTYtMjU2IDAtMjMuMy0zLjEtNDUuOS04LjktNjcuMyA1LjUtMTMuNSA4LjktMjguNCA4LjktNDQuNyAwLTUzLTQzLTk2LTk2LTk2bC0yLjkgMGMtMi41IDAtNSAuMS03LjQgLjMtNDIuMS0zMC40LTkzLjgtNDguMy0xNDkuNy00OC4zUzE0OC40IDE3LjkgMTA2LjMgNDguM2MtMi41LS4yLTQuOS0uMy03LjQtLjNMOTYgNDhjLTUzIDAtOTYgNDMtOTYgOTYgMCAxNi4zIDMuNSAzMS4yIDguOSA0NC43LTUuOCAyMS40LTguOSA0NC04LjkgNjcuMyAwIDE0MS40IDExNC42IDI1NiAyNTYgMjU2ek0zODYuNyAzMjQuOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgNDA0LjIgMTA1LjcgMzQyLjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMzIyLjkgOTZjMTMuNSAwIDI2LjUgNS40IDM2IDE0LjlsOS4xIDkuMSA5LjEtOS4xYzkuNS05LjUgMjIuNS0xNC45IDM2LTE0LjlsMi45IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCA1My40LTY2LjkgOTUuNy04OSAxMDguMi00LjQgMi41LTkuNiAyLjUtMTQgMC0yMi4xLTEyLjUtODktNTQuOC04OS0xMDguMiAwLTI2LjUgMjEuNS00OCA0OC00OGwyLjkgMHptLTE4OCAxNC45bDkuMSA5LjEgOS4xLTkuMWM5LjUtOS41IDIyLjUtMTQuOSAzNi0xNC45bDIuOSAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgNTMuNC02Ni45IDk1LjctODkgMTA4LjItNC40IDIuNS05LjYgMi41LTE0IDAtMjIuMS0xMi41LTg5LTU0LjgtODktMTA4LjIgMC0yNi41IDIxLjUtNDggNDgtNDhsMi45IDBjMTMuNSAwIDI2LjUgNS40IDM2IDE0Ljl6Il19LHIkdD1SNGUsYSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtZnJhZ21lbnQiLGljb246WzM4NCw1MTIsW10sImU2OTciLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRsMCAyNDAgMTI4IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxMjggMTEyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnpNMzIgMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMHoiXX0saSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1taWxpdGFyeS1yaWZsZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTU0YiIsIk0xMjggMzljMC0xMyAxMC0yMy44IDIyLjktMjQuOUwzMDIuNyAxLjRDMzEyIC43IDMyMCA4IDMyMCAxNy40TDMyMCA0OGMwIDguOC03LjIgMTYtMTYgMTZMMTUzIDY0Yy0xMy44IDAtMjUtMTEuMi0yNS0yNXptMTcuNiA1N2wxNTYuOCAwYzEgNS4yIDEuNiAxMC41IDEuNiAxNiAwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTUuNSAuNi0xMC44IDEuNi0xNnptMjI4IDM2NC4zTDMyMCAzNjkuNyAzMjAgNDgwYzAgMS4zLS4xIDIuNS0uMiAzLjhMMTQ1LjUgMjM0LjljMTYuNi03LjEgMzQuNi0xMC45IDUzLjMtMTAuOWw1MC40IDBjMTUuOSAwIDMxLjMgMi44IDQ1LjggNy45TDM4OS45IDY3LjdjLTcuNy00LjQtMTAuMy0xNC4yLTUuOS0yMS45czE0LjItMTAuMyAyMS45LTUuOWwyNy43IDE2YzcuNyA0LjQgMTAuMyAxNC4yIDUuOSAyMS45bC01NS41IDk2LjEgMS42IC45YzE1LjMgOC44IDIwLjYgMjguNCAxMS43IDQzLjdMMzYwLjcgMjgyYzIgMi44IDMuOSA1LjggNS43IDguOGw3Ni4xIDEyOC44YzExLjIgMTkgNC45IDQzLjUtMTQuMSA1NC44cy00My41IDQuOS01NC44LTE0LjF6TTI4OCA1MTJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTExMC4zLTUzLjYgOTAuNmMtMTEuMiAxOS0zNS44IDI1LjMtNTQuOCAxNC4xUy01LjcgNDM4LjcgNS42IDQxOS43TDgxLjcgMjkwLjhjOS40LTE1LjggMjEuNy0yOS4zIDM2LTQwTDI5OS4xIDUxMGMtMy41IDEuMy03LjIgMi0xMS4xIDJ6TTI2NCAzMjBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxuJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9nZ2xlLW9uIixpY29uOls1NzYsNTEyLFtdLCJmMjA1IiwiTTE5MiA2NEM4NiA2NCAwIDE1MCAwIDI1NlM4NiA0NDggMTkyIDQ0OGwxOTIgMGMxMDYgMCAxOTItODYgMTkyLTE5MlM0OTAgNjQgMzg0IDY0TDE5MiA2NHptMTkyIDk2YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxzJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibHVuZ3MtdmlydXMiLGljb246WzU3Niw1MTIsW10sImUwNjciLCJNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTUxLjNjOS42LTQuOCAyMC41LTcuNSAzMi03LjVzMjIuNCAyLjcgMzIgNy41TDMyMCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDUwLjEgNDUxYzggMTguMyA4LjEgMzkuMiAuMiA1Ny41IDEwLjIgMi4zIDIwLjYgMy41IDMxLjIgMy41IDUyLjIgMCA5NC41LTQyLjMgOTQuNS05NC41bDAtNi4yYzAtMTExLjEtMzYuNy0yMTktMTA0LjQtMzA3TDQyOC45IDQ4LjdjLTguMS0xMC42LTIwLjctMTYuNy0zNC0xNi43LTIzLjcgMC00Mi45IDE5LjItNDIuOSA0Mi45bDAgMTM5LjljMS4yIDIuMiAyLjIgNC42IDMuMSA2LjkgMjYuNC0xMS42IDU4LjMtNi42IDc5LjkgMTVzMjYuNiA1My42IDE1IDc5LjlDNDc3IDMyNy4yIDQ5NiAzNTMuMyA0OTYgMzgzLjhzLTE5IDU2LjctNDUuOSA2Ny4xek0yMjAuOSAyMjEuOGMuOS0yLjQgMi00LjcgMy4xLTYuOWwwLTEzOC41YzAtMjQuNS0xOS45LTQ0LjQtNDQuNC00NC40LTEyLjUgMC0yNC40IDUuMy0zMi44IDE0LjVsLTI2LjQgMjlDNDIuOSAxNjAuOCAwIDI3MS44IDAgMzg3bDAgMzAuNWMwIDUyLjIgNDIuMyA5NC41IDk0LjUgOTQuNSAxMC41IDAgMjEtMS4yIDMxLjItMy41LTcuOS0xOC4zLTcuOC0zOS4zIC4yLTU3LjUtMjYuOS0xMC40LTQ1LjktMzYuNi00NS45LTY3LjFzMTktNTYuNyA0NS45LTY3LjFjLTExLjYtMjYuNC02LjYtNTguMyAxNS03OS45czUzLjYtMjYuNiA3OS45LTE1ek0xNTIgNDA4YzI4LjggMCA0My4yIDM0LjggMjIuOSA1NS4yLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGMyMC40LTIwLjQgNTUuMi01LjkgNTUuMiAyMi45IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0yOC44IDM0LjgtNDMuMiA1NS4yLTIyLjkgOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45Yy0yMC40LTIwLjQtNS45LTU1LjIgMjIuOS01NS4yIDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy0yOC44IDAtNDMuMi0zNC44LTIyLjktNTUuMiA5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwYy0yMC40IDIwLjQtNTUuMiA1LjktNTUuMi0yMi45IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMjguOC0zNC44IDQzLjItNTUuMiAyMi45LTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjljMjAuNCAyMC40IDUuOSA1NS4yLTIyLjkgNTUuMi0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0em0xMDQtODBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MCA4OGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxnQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS10ZW5uaXMtcGFkZGxlLWJhbGwiLGljb246WzUxMiw1MTIsWzEyNzk1NSwicGluZy1wb25nLXBhZGRsZS1iYWxsIiwidGFibGUtdGVubmlzIl0sImY0NWQiLCJNOTcgMTI3bDY3LjQtNjcuNGMzOC4yLTM4LjIgOTAtNTkuNiAxNDQtNTkuNiAxMTIuNSAwIDIwMy43IDkxLjIgMjAzLjcgMjAzLjYgMCA0Ni40LTE1LjggOTEuMS00NC41IDEyNy0yMy42LTE2LjgtNTIuNC0yNi43LTgzLjUtMjYuNy0zMS4xIDAtNTkuOSA5LjktODMuNCAyNi42TDk3IDEyN3pNMjQwIDQ0OGMwIDkuNyAxIDE5LjEgMi44IDI4LjItMTkuOC01LjItMzgtMTUuNS01Mi43LTMwLjItMTIuMi0xMi4yLTMxLjktMTIuMi00NC4xIDBMOTYuNiA0OTUuNGMtMTAuNiAxMC42LTI1IDE2LjYtNDAgMTYuNi0zMS4yIDAtNTYuNi0yNS4zLTU2LjYtNTYuNiAwLTE1IDYtMjkuNCAxNi42LTQwbDQ5LjQtNDkuNGMxMi4yLTEyLjIgMTIuMi0zMS45IDAtNDQuMS0yMS43LTIxLjctMzMuOS01MS4yLTMzLjktODEuOSAwLTI5LjQgMTEuMS01Ny42IDMxLjEtNzlMMjY2LjYgMzY0LjZDMjQ5LjkgMzg4LjEgMjQwIDQxNi45IDI0MCA0NDh6bTE0NC05NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnoiXX0sbyR0PWdBLGwkdD1nQSxjJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94ZXMtcGFja2luZyIsaWNvbjpbNTc2LDUxMixbXSwiZTRjNyIsIk0yMDggMGw4MCAwIDAgNTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTU2IDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEwOC44IDBjOC4yLTE0LjEgMTIuOC0zMC41IDEyLjgtNDhsMC0xNjBjMTAtMTMuNCAxNi0zMCAxNi00OGwwLTMyYzAtNDQuMi0zNS44LTgwLTgwLTgwbC0xNzYgMCAwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4ek0zMiAzMzZsMzIwIDAgMCAxMjhjMCAyNi41LTIxLjUgNDgtNDggNDhMODAgNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTEyOHpNNDggMTkybDI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMNDggMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxkJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNoYWxrYm9hcmQiLGljb246WzY0MCw1MTIsW10sImU1M2QiLCJNMTkyIDgwYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek0xNzYgNTEybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMzNiAxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYgMCAwLTQ4IDE5MiAwIDAgMTkyLTE5MiAwIDAtMzItNjQgMCAwIDQ4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDM2OCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0LTEyMi43IDBjLTQ1LjYgMC04OC41IDIxLjYtMTE1LjYgNTguMkwxNC4zIDI2MC45Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTEyIDIzNi43IDExMiA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnoiXX0sdSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtdHdvIixpY29uOls0NDgsNTEyLFs5ODU3XSwiZjUyOCIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMzUyIDM1MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xMjggMTkyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sQjRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LWFycm93LWxlZnQiLGljb246WzUxMiw1MTIsWzg2NDQsImV4Y2hhbmdlIl0sImYwZWMiLCJNNTAyLjYgMTUwLjZsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w0MDIuNyAxNjAgMzIgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMlMxNC4zIDk2IDMyIDk2bDM3MC43IDAtNDEuNC00MS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zem0tMzk3LjMgMzUybC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0wxMDkuMyAzNTIgNDgwIDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzcwLjcgMCA0MS40IDQxLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDB6Il19LHAkdD1CNGUsSDRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvb3RiYWxsIixpY29uOls1MTIsNTEyLFsxMjc5NDQsImZvb3RiYWxsLWJhbGwiXSwiZjQ0ZSIsIk0yNjEuMSAyMi42Yy04OSAxOC0xNTAuNSA2My40LTE5MCAxMjMuOS0yMy4zIDM1LjYtMzguMSA3NS4zLTQ2LjcgMTE1LjVMMjUxLjkgNDg5LjRjODktMTggMTUwLjUtNjMuNCAxOTAuMS0xMjMuOSAyMy4zLTM1LjYgMzguMS03NS4zIDQ2LjctMTE1LjVMMjYxLjEgMjIuNnptMjM2IDE2OC4xYzMuMi00Mi4zIC43LTgzLjMtNC44LTExOC43LTQuNC0yNy44LTI2LjgtNDgtNTMuMS01MS42LTQzLTUuOS04Mi4yLTcuNS0xMTcuOC01LjRMNDk3LjEgMTkwLjZ6TTE5MS43IDQ5Ny4xTDE1LjkgMzIxLjRjLTMuMiA0Mi4zLS43IDgzLjMgNC44IDExOC43IDQuNCAyNy44IDI2LjggNDggNTMuMSA1MS42IDQzIDUuOSA4Mi4yIDcuNSAxMTcuOCA1LjR6TTI3MS41IDE0M2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw2NCA2NGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6bS02NCA2NGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw2NCA2NGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6bS02NCA2NGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw2NCA2NGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LGYkdD1INGUsaCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLW1vbnN0ZXIiLGljb246WzU3Niw1MTIsW10sImY2M2IiLCJNMzM2IDk2bDQ4IDY0LTEyOCAwIDAtNjQgODAgMHptMTI4IDY0TDM4Ny4yIDU3LjZDMzc1LjEgNDEuNSAzNTYuMSAzMiAzMzYgMzJMMjI0IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2LTE0NCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMTguMSAxMC4xIDMzLjkgMjQuOSA0Mi4xLS41IDUuNyAxLjEgMTEuNiA0LjcgMTYuNC0zLjcgNi45LTYuOCAxNC4xLTkgMjEuOC0xMS42IDEuNy0yMC42IDExLjctMjAuNiAyMy44bDAgMTZjMCAxMi4xIDguOSAyMi4xIDIwLjYgMjMuOCAyLjIgNy42IDUuMyAxNC45IDkgMjEuOC03IDkuNC02LjMgMjIuOCAyLjMgMzEuM2wxMS4zIDExLjNjOC42IDguNiAyMS45IDkuMyAzMS4zIDIuMiA2LjggMy43IDE0LjEgNi44IDIxLjcgOSAxLjcgMTEuNiAxMS43IDIwLjYgMjMuOCAyMC42bDE2IDBjMTIuMSAwIDIyLjEtOC45IDIzLjgtMjAuNiA3LjYtMi4yIDE0LjktNS4zIDIxLjctOSA5LjQgNyAyMi44IDYuMyAzMS4zLTIuMmwxMS4zLTExLjNjOC42LTguNiA5LjMtMjEuOSAyLjMtMzEuMyAzLjctNi44IDYuOC0xNC4xIDktMjEuNyAxMS42LTEuNyAyMC42LTExLjcgMjAuNi0yMy44bDAtMTZjMC0xMi4xLTguOS0yMi4xLTIwLjYtMjMuOC0yLjItNy42LTUuMy0xNC45LTktMjEuNyAyLjQtMy4yIDMuOS02LjggNC41LTEwLjVsMTE0LjIgMGMuNiAzLjcgMi4xIDcuMyA0LjUgMTAuNS0zLjcgNi45LTYuOCAxNC4xLTkgMjEuOC0xMS42IDEuNy0yMC42IDExLjctMjAuNiAyMy44bDAgMTZjMCAxMi4xIDguOSAyMi4xIDIwLjYgMjMuOCAyLjIgNy42IDUuMyAxNC45IDkgMjEuOC03IDkuNC02LjMgMjIuOCAyLjIgMzEuM2wxMS4zIDExLjNjOC41IDguNiAyMS45IDkuMyAzMS4zIDIuMiA2LjggMy43IDE0LjEgNi44IDIxLjcgOSAxLjcgMTEuNiAxMS43IDIwLjYgMjMuOCAyMC42bDE2IDBjMTIuMSAwIDIyLjEtOC45IDIzLjgtMjAuNiA3LjYtMi4yIDE0LjktNS4zIDIxLjgtOSA5LjQgNyAyMi44IDYuMyAzMS4zLTIuMmwxMS4zLTExLjNjOC42LTguNiA5LjMtMjEuOSAyLjItMzEuMyAzLjctNi44IDYuOC0xNC4xIDktMjEuNyAxMS42LTEuNyAyMC42LTExLjcgMjAuNi0yMy44bDAtMTZjMC0xMi4xLTguOS0yMi4xLTIwLjYtMjMuOC0yLjItNy42LTUuMy0xNC45LTktMjEuNyAzLjYtNC44IDUuMi0xMC43IDQuNy0xNi40IDE0LjgtOC4yIDI0LjktMjMuOSAyNC45LTQyLjFsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNMTI4IDMzNmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTI3MiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSxtJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXN0ZXJpc2siLGljb246WzQ0OCw1MTIsWzEwMDMzLDYxNTQ1XSwiMmEiLCJNMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjguNiAxNDQtODMuMWMxNS4zLTguOCAzNC45LTMuNiA0My43IDExLjdzMy42IDM0LjktMTEuNyA0My43TDI4OCAyNTYgNDMyIDMzOS4xYzE1LjMgOC44IDIwLjYgMjguNCAxMS43IDQzLjdzLTI4LjQgMjAuNi00My43IDExLjdMMjU2IDMxMS40IDI1NiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjguNi0xNDQgODMuMWMtMTUuMyA4LjgtMzQuOSAzLjYtNDMuNy0xMS43Uy43IDM0OCAxNiAzMzkuMUwxNjAgMjU2IDE2IDE3Mi45Qy43IDE2NC00LjUgMTQ0LjUgNC4zIDEyOS4xUzMyLjcgMTA4LjYgNDggMTE3LjRMMTkyIDIwMC42IDE5MiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sYkE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1mdWxsIixpY29uOls2NDAsNTEyLFsxMjgyNjcsImJhdHRlcnkiLCJiYXR0ZXJ5LTUiXSwiZjI0MCIsIk01MjggMTI4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDIyNGMwIDguOC03LjIgMTYtMTYgMTZsLTQxNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDQxNiAwek0xMTIgNjRjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjI0YzAgNDQuMiAzNS44IDgwIDgwIDgwbDQxNiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwTDExMiA2NHptNTYgMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwzMDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMzA0IDB6Il19LGckdD1iQSxiJHQ9YkEsdiR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkLWRyZXNzIixpY29uOlszMjAsNTEyLFtdLCJlNTljIiwiTTIyNCA2NEE2NCA2NCAwIDEgMCA5NiA2NCA2NCA2NCAwIDEgMCAyMjQgNjR6TTg4IDQwMGwwIDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC04MCAxNiAwIDAgODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTgwIDE3LjggMGMxMC45IDAgMTguNi0xMC43IDE1LjItMjEuMWwtMzEuMS05My40IDI4LjcgMzcuOGMxMC43IDE0LjEgMzAuOCAxNi44IDQ0LjggNi4yczE2LjgtMzAuNyA2LjItNDQuOEwyNTQuNiAyMDdjLTIyLjQtMjkuNi01Ny41LTQ3LTk0LjYtNDdzLTcyLjIgMTcuNC05NC42IDQ3TDYuNSAyODQuN2MtMTAuNyAxNC4xLTcuOSAzNC4yIDYuMiA0NC44czM0LjIgNy45IDQ0LjgtNi4yTDg2LjIgMjg1LjUgNTUgMzc4LjlDNTEuNiAzODkuMyA1OS4zIDQwMCA3MC4yIDQwMEw4OCA0MDB6Il19LHE0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWtpc3MtYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTM3LCJraXNzLWJlYW0iXSwiZjU5NyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjQwIDI4OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2ek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0seCR0PXE0ZSxqNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhc2gtY2FuLWFycm93LXVwIixpY29uOls0NDgsNTEyLFsidHJhc2gtcmVzdG9yZS1hbHQiXSwiZjgyYSIsIk0xNjcuMS0xNmwxMTMuOSAwYzEzLjggMCAyNiA4LjggMzAuNCAyMS45TDMyMCAzMiA0MTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDk2IDAgOC43LTI2LjFDMTQxLjEtNy4yIDE1My4zLTE2IDE2Ny4xLTE2ek0zMiAxNDRsMzg0IDAgMCAzMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMwNHptMjA5IDc5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNzIgNzJjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwzMS0zMSAwIDEwMi4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDIuMSAzMSAzMWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTcyLTcyeiJdfSx5JHQ9ajRlLHckdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb250IixpY29uOls1MTIsNTEyLFtdLCJmMDMxIiwiTTI4NS4xIDUwLjdDMjc5LjkgMzkuMyAyNjguNSAzMiAyNTYgMzJzLTIzLjkgNy4zLTI5LjEgMTguN0w1OS41IDQxNiA0OCA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNi4xIDAgMjItNDggMjA4LjMgMCAyMiA0OC02LjEgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMS41IDAtMTY3LjQtMzY1LjN6TTMzMC44IDMwNEwxODEuMiAzMDQgMjU2IDE0MC44IDMzMC44IDMwNHoiXX0sTSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvcmUtaG9sZSIsaWNvbjpbNTEyLDUxMixbXSwiZTRjMyIsIk0yNTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyMzIuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNCAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0YzAtMjMuNy0xMi45LTQ0LjQtMzItNTUuNEwyODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTAgMzg0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTQ0YzAgNjEuOS01MC4xIDExMi0xMTIgMTEyUzE0NCAzODEuOSAxNDQgMzIwbDAtMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC00OCAwYy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDM4NHoiXX0sayR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpcnVzLWNvdmlkIixpY29uOls1MTIsNTEyLFtdLCJlNGE4IiwiTTE5MiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDAgMzMuNmMzMC43IDQuMiA1OC44IDE2LjMgODIuMyAzNC4xTDM4Ni4xIDkyIDM3NC44IDgwLjZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw1Ni42IDU2LjZjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMTEuMy0xMS4zLTIzLjggMjMuOGMxNy45IDIzLjUgMjkuOSA1MS43IDM0LjEgODIuM2wzMy42IDAgMC0xNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNi0zMy42IDBjLTQuMiAzMC43LTE2LjMgNTguOC0zNC4xIDgyLjNsMjMuOCAyMy44IDExLjMtMTEuM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU2LjYgNTYuNmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwxMS4zLTExLjMtMjMuOC0yMy44Yy0yMy41IDE3LjktNTEuNyAyOS45LTgyLjMgMzQuMWwwIDMzLjYgMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNiAwIDAtMzMuNmMtMzAuNy00LjItNTguOC0xNi4zLTgyLjMtMzQuMWwtMjMuOCAyMy44IDExLjMgMTEuM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDQ2LjcgNDA4LjdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwxMS4zIDExLjMgMjMuOC0yMy44Qzk3LjkgMzM4LjggODUuOCAzMTAuNyA4MS42IDI4MGwtMzMuNiAwIDAgMTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRTMCAzMDkuMyAwIDI5NmwwLTgwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxNiAzMy42IDBjNC4yLTMwLjcgMTYuMy01OC44IDM0LjEtODIuM0w5MiAxMjUuOSA4MC42IDEzNy4yYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDU2LjYtNTYuNmM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMMTI1LjkgOTIgMTQ5LjcgMTE1LjdjMjMuNS0xNy45IDUxLjctMjkuOSA4Mi4zLTM0LjFsMC0zMy42LTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0zMiAyMDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxTJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1wZGYiLGljb246WzU3Niw1MTIsW10sImYxYzEiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw4MCAwIDAtMTEyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDE3NiAwIDAtMTY1LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTI0MCAzODBjLTExIDAtMjAgOS0yMCAyMGwwIDEyOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTI4IDEyIDBjMzMuMSAwIDYwLTI2LjkgNjAtNjBzLTI2LjktNjAtNjAtNjBsLTMyIDB6bTMyIDgwbC0xMiAwIDAtNDAgMTIgMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjB6bTk2LTgwYy0xMSAwLTIwIDktMjAgMjBsMCAxMjhjMCAxMSA5IDIwIDIwIDIwbDMyIDBjMjguNyAwIDUyLTIzLjMgNTItNTJsMC02NGMwLTI4LjctMjMuMy01Mi01Mi01MmwtMzIgMHptMjAgMTI4bDAtODggMTIgMGM2LjYgMCAxMiA1LjQgMTIgMTJsMCA2NGMwIDYuNi01LjQgMTItMTIgMTJsLTEyIDB6bTg4LTEwOGwwIDEyOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQ0IDI4IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC0yOCAwIDAtMjQgMjggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTQ4IDBjLTExIDAtMjAgOS0yMCAyMHoiXX0seiR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxhbmd1YWdlIixpY29uOls1NzYsNTEyLFtdLCJmMWFiIiwiTTE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTkuNiAwLTguNCAyMy4xYy0xNi40IDQ1LjItNDEuMSA4Ni41LTcyLjIgMTIyIDE0LjIgOC44IDI5IDE2LjYgNDQuNCAyMy41bDUwLjQgMjIuNCA2Mi4yLTE0MGM1LjEtMTEuNiAxNi42LTE5IDI5LjItMTlzMjQuMSA3LjQgMjkuMiAxOWwxMjggMjg4YzcuMiAxNi4yLS4xIDM1LjEtMTYuMiA0Mi4ycy0zNS4xLS4xLTQyLjItMTYuMmwtMjAtNDUtMTU3LjUgMC0yMCA0NWMtNy4yIDE2LjItMjYuMSAyMy40LTQyLjIgMTYuMnMtMjMuNC0yNi4xLTE2LjItNDIuMmwzOS44LTg5LjUtNTAuNC0yMi40Yy0yMy0xMC4yLTQ1LTIyLjQtNjUuOC0zNi40LTIxLjMgMTcuMi00NC42IDMyLjItNjkuNSA0NC43TDc4LjMgMzgwLjZjLTE1LjggNy45LTM1IDEuNS00Mi45LTE0LjNzLTEuNS0zNSAxNC4zLTQyLjlsMzQuNS0xNy4zYzE2LjMtOC4yIDMxLjgtMTcuNyA0Ni40LTI4LjMtMTMuOC0xMi43LTI2LjgtMjYuNC0zOC45LTQwLjlMODEuNiAyMjQuN2MtMTEuMy0xMy42LTkuNS0zMy44IDQuMS00NS4xczMzLjgtOS41IDQ1LjEgNC4xbDEwLjIgMTIuMmMxMS41IDEzLjkgMjQuMSAyNi44IDM3LjQgMzguNyAyNy41LTMwLjQgNDkuMi02Ni4xIDYzLjUtMTA1LjRsLjUtMS4yLTIxMC4zIDBDMTQuMyAxMjggMCAxMTMuNyAwIDk2UzE0LjMgNjQgMzIgNjRsOTYgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek00MTYgMjcwLjhMMzY1LjcgMzg0IDQ2Ni4zIDM4NCA0MTYgMjcwLjh6Il19LFY0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGllbGQtaGFsdmVkIixpY29uOls1MTIsNTEyLFsic2hpZWxkLWFsdCJdLCJmM2VkIiwiTTI1NiAwYzQuNiAwIDkuMiAxIDEzLjQgMi45TDQ1Ny44IDgyLjhjMjIgOS4zIDM4LjQgMzEgMzguMyA1Ny4yLS41IDk5LjItNDEuMyAyODAuNy0yMTMuNiAzNjMuMi0xNi43IDgtMzYuMSA4LTUyLjggMC0xNzIuNC04Mi41LTIxMy4xLTI2NC0yMTMuNi0zNjMuMi0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni45IDEgMjUxLjQgMCAyNTYgMHptMCA2Ni44bDAgMzc4LjFjMTM4LTY2LjggMTc1LjEtMjE0LjggMTc2LTMwMy40bC0xNzYtNzQuNiAwIDB6Il19LEMkdD1WNGUsVCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcmV0LXVwIixpY29uOlszMjAsNTEyLFtdLCJmMGQ4IiwiTTE0MC4zIDEzNS4yYzEyLjYtMTAuMyAzMS4xLTkuNSA0Mi44IDIuMmwxMjggMTI4YzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzMwMS40IDMyMCAyODguNSAzMjBsLTI1NiAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44Uy43IDI3NC41IDkuOSAyNjUuNGwxMjgtMTI4IDIuNC0yLjJ6Il19LFU0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXBlbiIsaWNvbjpbNjQwLDUxMixbMTI4MjIxLCJmaWxlLWVkaXQiXSwiZjMxYyIsIk0xMjguMSAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNDYuMiAwIDEwLjktNTQuNWM0LjMtMjEuNyAxNS00MS42IDMwLjYtNTcuMmwxMzIuMi0xMzIuMiAwLTk3LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMzIyLjggMTguN0MzMTAuOCA2LjcgMjk0LjUgMCAyNzcuNiAwTDEyOC4xIDB6TTM4OS42IDE3NmwtOTMuNSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTkzLjUgMTE3LjUgMTE3LjV6TTMzMi4zIDQ2Ni45bC0xMS45IDU5LjZjLS4yIC45LS4zIDEuOS0uMyAyLjkgMCA4IDYuNSAxNC42IDE0LjYgMTQuNiAxIDAgMS45LS4xIDIuOS0uM2w1OS42LTExLjljMTIuNC0yLjUgMjMuOC04LjYgMzIuNy0xNy41bDExOC45LTExOC45LTgwLTgwLTExOC45IDExOC45Yy04LjkgOC45LTE1IDIwLjMtMTcuNSAzMi43em0yNjcuOC0xMjNjMjIuMS0yMi4xIDIyLjEtNTcuOSAwLTgwcy01Ny45LTIyLjEtODAgMGwtMjguOCAyOC44IDgwIDgwIDI4LjgtMjguOHoiXX0sXyR0PVU0ZSxXNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJpa2luZyIsaWNvbjpbNTc2LDUxMixbMTI4NjkyLCJiaWtpbmciXSwiZjg0YSIsIk0zNjggOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0yNy4yIDY0bC02MS44LTQ4LjhjLTE3LjMtMTMuNi00MS43LTEzLjgtNTkuMS0uM2wtODMuMSA2NC4yYy0zMC43IDIzLjgtMjguNSA3MC44IDQuMyA5MS42TDI1NiAzMDUuMSAyNTYgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjhjMC0xMC43LTUuMy0yMC43LTE0LjItMjYuNkwyNjMgMjMyLjkgMzIzLjMgMTg0LjQgMzY0IDIxN2M1LjcgNC41IDEyLjcgNyAyMCA3bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTUyLjggMHpNMTEyIDUxMmExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6bTM1MiAwYTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHoiXX0sTCR0PVc0ZSxHNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1vcGVuLXJlYWRlciIsaWNvbjpbNTEyLDUxMixbImJvb2stcmVhZGVyIl0sImY1ZGEiLCJNMjU2IDE1MmE4OCA4OCAwIDEgMCAwLTE3NiA4OCA4OCAwIDEgMCAwIDE3NnptMCAyOTguN2wwLTE0OS4zYzE2LjMtNi44IDMyLjktMTMuNyA0OS43LTIwLjcgMzktMTYuMiA4MC44LTI0LjYgMTIzLjEtMjQuNmwxOS4yIDAgMCAxNjAtMTkuMiAwYy01OS4xIDAtMTE3LjcgMTEuNy0xNzIuMyAzNC41bC0uNSAuMnpNMjU2IDIzMmwtMjUuMS0xMC41QzE4NC4xIDIwMiAxMzMuOSAxOTIgODMuMiAxOTJMNDggMTkyYy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzNS4yIDBjNTAuNyAwIDEwMC45IDEwIDE0Ny43IDI5LjVsMTIuOCA1LjNjNy45IDMuMyAxNi43IDMuMyAyNC42IDBsMTIuOC01LjNjNDYuOC0xOS41IDk3LTI5LjUgMTQ3LjctMjkuNWwzNS4yIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xOTJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTM1LjIgMGMtNTAuNyAwLTEwMC45IDEwLTE0Ny43IDI5LjVMMjU2IDIzMnoiXX0sJCR0PUc0ZSxEJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2xhc3Mtd2F0ZXItZHJvcGxldCIsaWNvbjpbMzg0LDUxMixbXSwiZTRmNSIsIk0zMiAwQzIzLjEgMCAxNC42IDMuNyA4LjYgMTAuMlMtLjYgMjUuNCAuMSAzNC4zTDI4LjkgNDM3LjdjMyA0MS45IDM3LjggNzQuMyA3OS44IDc0LjNsMTY2LjYgMGM0MiAwIDc2LjgtMzIuNCA3OS44LTc0LjNMMzgzLjkgMzQuM2MuNi04LjktMi40LTE3LjYtOC41LTI0LjFTMzYwLjkgMCAzNTIgMEwzMiAwek04MyAyOTcuNUw2Ni40IDY0IDMxNy42IDY0IDMwMSAyOTcuNSAyODggMzA0Yy0yMC4xIDEwLjEtNDMuOSAxMC4xLTY0IDBzLTQzLjktMTAuMS02NCAwLTQzLjkgMTAuMS02NCAwbC0xMy02LjV6TTI1NiAxOTZjMC0yNC0zMy43LTcwLjEtNTIuMi05My41LTYuMS03LjctMTcuNS03LjctMjMuNiAwLTE4LjUgMjMuNC01Mi4yIDY5LjUtNTIuMiA5My41IDAgMzMuMSAyOC43IDYwIDY0IDYwczY0LTI2LjkgNjQtNjB6Il19LFk0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b3dlci1icm9hZGNhc3QiLGljb246WzU3Niw1MTIsWyJicm9hZGNhc3QtdG93ZXIiXSwiZjUxOSIsIk04Ny45IDExLjVjLTExLjMtNi45LTI2LjEtMy4yLTMzIDguMS0yNC44IDQxLTM5IDg5LjEtMzkgMTQwLjRzMTQuMiA5OS40IDM5IDE0MC40YzYuOSAxMS4zIDIxLjYgMTUgMzMgOC4xczE1LTIxLjYgOC4xLTMzQzc1LjcgMjQxLjkgNjQgMjAyLjMgNjQgMTYwUzc1LjcgNzguMSA5Ni4xIDQ0LjRjNi45LTExLjMgMy4yLTI2LjEtOC4xLTMzem00MDAuMSAwYy0xMS4zIDYuOS0xNSAyMS42LTguMSAzMyAyMC40IDMzLjcgMzIuMSA3My4zIDMyLjEgMTE1LjZzLTExLjcgODEuOS0zMi4xIDExNS42Yy02LjkgMTEuMy0zLjIgMjYuMSA4LjEgMzNzMjYuMSAzLjIgMzMtOC4xYzI0LjgtNDEgMzktODkuMSAzOS0xNDAuNFM1NDUuOCA2MC42IDUyMSAxOS42Yy02LjktMTEuMy0yMS42LTE1LTMzLTguMXpNMzIwIDIxNS40YzE5LjEtMTEuMSAzMi0zMS43IDMyLTU1LjQgMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjRjMCAyMy43IDEyLjkgNDQuNCAzMiA1NS40TDI1NiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI2NC42ek0xODAuMiA5MWM3LjItMTEuMiAzLjktMjYtNy4yLTMzLjJzLTI2LTMuOS0zMy4yIDcuMmMtMTcuNiAyNy40LTI3LjggNjAtMjcuOCA5NXMxMC4yIDY3LjYgMjcuOCA5NWM3LjIgMTEuMiAyMiAxNC40IDMzLjIgNy4yczE0LjQtMjIgNy4yLTMzLjJjLTEyLjgtMTkuOS0yMC4yLTQzLjYtMjAuMi02OXM3LjQtNDkuMSAyMC4yLTY5ek00MzYuMiA2NWMtNy4yLTExLjItMjItMTQuNC0zMy4yLTcuMnMtMTQuNCAyMi03LjIgMzMuMmMxMi44IDE5LjkgMjAuMiA0My42IDIwLjIgNjlzLTcuNCA0OS4xLTIwLjIgNjljLTcuMiAxMS4yLTMuOSAyNiA3LjIgMzMuMnMyNiAzLjkgMzMuMi03LjJjMTcuNi0yNy40IDI3LjgtNjAgMjcuOC05NXMtMTAuMi02Ny42LTI3LjgtOTV6Il19LEEkdD1ZNGUsWjRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pbmltaXplIixpY29uOls1MTIsNTEyLFsiY29tcHJlc3MtYXJyb3dzLWFsdCJdLCJmNzhjIiwiTTQ1NiAyMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJTMzIyLjEgMzIuMiAzMjkgMzlsNDAgNDAgNzMuNC03My40QzQ0NiAyIDQ1MC45IDAgNDU2IDBzMTAgMiAxMy43IDUuN2wzNi43IDM2LjdDNTEwIDQ2IDUxMiA1MC45IDUxMiA1NnMtMiAxMC01LjcgMTMuN0w0MzMgMTQzIDQ3MyAxODNjNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMlM0NjUuNyAyMjQgNDU2IDIyNHptMCA2NGM5LjcgMCAxOC41IDUuOCAyMi4yIDE0LjhzMS43IDE5LjMtNS4yIDI2LjJsLTQwIDQwIDczLjQgNzMuNGMzLjYgMy42IDUuNyA4LjUgNS43IDEzLjdzLTIgMTAtNS43IDEzLjdsLTM2LjcgMzYuN0M0NjYgNTEwIDQ2MS4xIDUxMiA0NTYgNTEycy0xMC0yLTEzLjctNS43TDM2OSA0MzMgMzI5IDQ3M2MtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMlMyODggNDY1LjcgMjg4IDQ1NmwwLTE0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNDQgMHptLTI1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTQwLTQwLTczLjQgNzMuNEM2NiA1MTAgNjEuMSA1MTIgNTYgNTEycy0xMC0yLTEzLjctNS43TDUuNyA0NjkuN0MyIDQ2NiAwIDQ2MS4xIDAgNDU2czItMTAgNS43LTEzLjdMNzkgMzY5IDM5IDMyOWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlM0Ni4zIDI4OCA1NiAyODhsMTQ0IDB6TTU2IDIyNGMtOS43IDAtMTguNS01LjgtMjIuMi0xNC44UzMyLjIgMTg5LjkgMzkgMTgzTDc5IDE0MyA1LjcgNjkuN0MyIDY2IDAgNjEuMSAwIDU2UzIgNDYgNS43IDQyLjNMNDIuMyA1LjdDNDYgMiA1MC45IDAgNTYgMFM2NiAyIDY5LjcgNS43TDE0MyA3OSAxODMgMzljNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMlMyMjQgNDYuMyAyMjQgNTZsMCAxNDRjMCAxMy4zLTEwLjcgMjQtMjQgMjRMNTYgMjI0eiJdfSxFJHQ9WjRlLEkkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yaWdodC10by1jaXR5IixpY29uOls2NDAsNTEyLFtdLCJlNGIzIiwiTTI4OCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgODAgNDggMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA3MiAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjg4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yNTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC00MTZ6bTY0IDY0bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTM1MiAzMDRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTc2LTgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTUxMiAzMzZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTUzIDE2N2w3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMTAyLjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMDIuMSAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6Il19LFAkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYXB0b3AtbWVkaWNhbCIsaWNvbjpbNjQwLDUxMixbXSwiZjgxMiIsIk02NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI0MC02NCAwIDAtMjQwLTM4NCAwIDAgMjQwLTY0IDAgMC0yNDB6TTAgNDAzLjJDMCAzOTIuNiA4LjYgMzg0IDE5LjIgMzg0bDYwMS42IDBjMTAuNiAwIDE5LjIgOC42IDE5LjIgMTkuMiAwIDQyLjQtMzQuNCA3Ni44LTc2LjggNzYuOEw3Ni44IDQ4MEMzNC40IDQ4MCAwIDQ0NS42IDAgNDAzLjJ6TTI4OCAxNjBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LE4kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmVhZC1zbGljZSIsaWNvbjpbNTEyLDUxMixbXSwiZjdlYyIsIk02NCA0MzJsMC0xNzZjLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjE2LjUgNTEyLTIxNi41IDUxMiAwIDAgMzUuMy0yOC43IDY0LTY0IDY0bDAgMTc2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yODggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6Il19LEYkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnbG9iZSIsaWNvbjpbNTEyLDUxMixbMTI3NzYwXSwiZjBhYyIsIk0zNTEuOSAyODBsLTE5MC45IDBjMi45IDY0LjUgMTcuMiAxMjMuOSAzNy41IDE2Ny40IDExLjQgMjQuNSAyMy43IDQxLjggMzUuMSA1Mi40IDExLjIgMTAuNSAxOC45IDEyLjIgMjIuOSAxMi4yczExLjctMS43IDIyLjktMTIuMmMxMS40LTEwLjYgMjMuNy0yOCAzNS4xLTUyLjQgMjAuMy00My41IDM0LjYtMTAyLjkgMzcuNS0xNjcuNHpNMTYwLjkgMjMybDE5MC45IDBDMzQ5IDE2Ny41IDMzNC43IDEwOC4xIDMxNC40IDY0LjYgMzAzIDQwLjIgMjkwLjcgMjIuOCAyNzkuMyAxMi4yIDI2OC4xIDEuNyAyNjAuNCAwIDI1Ni40IDBzLTExLjcgMS43LTIyLjkgMTIuMmMtMTEuNCAxMC42LTIzLjcgMjgtMzUuMSA1Mi40LTIwLjMgNDMuNS0zNC42IDEwMi45LTM3LjUgMTY3LjR6bS00OCAwQzExNi40IDE0Ni40IDEzOC41IDY2LjkgMTcwLjggMTQuNyA3OC43IDQ3LjMgMTAuOSAxMzEuMiAxLjUgMjMybDExMS40IDB6TTEuNSAyODBjOS40IDEwMC44IDc3LjIgMTg0LjcgMTY5LjMgMjE3LjMtMzIuMy01Mi4yLTU0LjQtMTMxLjctNTcuOS0yMTcuM0wxLjUgMjgwem0zOTguNCAwYy0zLjUgODUuNi0yNS42IDE2NS4xLTU3LjkgMjE3LjMgOTIuMS0zMi43IDE1OS45LTExNi41IDE2OS4zLTIxNy4zbC0xMTEuNCAwem0xMTEuNC00OEM1MDEuOSAxMzEuMiA0MzQuMSA0Ny4zIDM0MiAxNC43IDM3NC4zIDY2LjkgMzk2LjQgMTQ2LjQgMzk5LjkgMjMybDExMS40IDB6Il19LE8kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXItbWludXMiLGljb246WzUxMiw1MTIsW10sImY2NWQiLCJNNDQ4IDQ0OEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40TDQ0OCA4MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI0MGMwIDM1LjMtMjguNyA2NC02NCA2NHpNMTg0IDI0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LFIkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXNrLWZhY2UiLGljb246WzY0MCw1MTIsW10sImUxZDciLCJNMzIwIDY0Yy0yNy4yIDAtNTMuOCA4LTc2LjQgMjMuMWwtMzcuMSAyNC44Yy0xNS44IDEwLjUtMzQuMyAxNi4xLTUzLjMgMTYuMUw2NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNzguN2MwIDYyLjYgNDUuMiAxMTYgMTA3IDEyNi4zbDk3LjkgMTYuM2MzMyAyMiA3Mi42IDM0LjcgMTE1LjEgMzQuN3M4Mi4yLTEyLjggMTE1LjEtMzQuN0w1MzMgMzk2LjljNjEuNy0xMC4zIDEwNy02My43IDEwNy0xMjYuM2wwLTc4LjdjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTg5LjIgMGMtMTkgMC0zNy41LTUuNi01My4zLTE2LjFMMzk2LjQgODcuMUMzNzMuOCA3MiAzNDcuMiA2NCAzMjAgNjR6TTEzNS45IDMzNi45bC0xOC40LTMuMUM4Ni42IDMyOC43IDY0IDMwMiA2NCAyNzAuN2wwLTc4LjcgNDggMCAwIDQ4YzAgMzUgOC42IDY3LjkgMjMuOSA5Ni45em0zODYuNi0zLjFsLTE4LjQgMy4xQzUxOS40IDMwNy45IDUyOCAyNzUgNTI4IDI0MGwwLTQ4IDQ4IDAgMCA3OC43YzAgMzEuMy0yMi42IDU4LTUzLjUgNjMuMXpNMTkyIDIzMmMwLTEzLjMgMTAuNy0yNCAyNC0yNGwyMDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjA4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em01NiA1NmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEIkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib25nIixpY29uOls1MTIsNTEyLFtdLCJmNTVjIiwiTTQ0OC41IDM4NGMwIDQxLjUtMTMuMSA3OS45LTM1LjUgMTExLjMtNy45IDExLjEtMjEuMiAxNi43LTM0LjggMTYuN2wtMjQzLjMgMGMtMTMuNyAwLTI2LjktNS42LTM0LjgtMTYuNy0yMi40LTMxLjQtMzUuNS02OS44LTM1LjUtMTExLjMgMC03MS4xIDM4LjYtMTMzLjEgOTYtMTY2LjNsMC0xNTMuN2MtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE1My43YzE0LjIgOC4yIDI3LjIgMTguMiAzOC44IDI5LjZsMzkuMy0zOS4zLTctN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2IDE2IDMyIDMyIDQ4IDQ4IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTctNy00My4zIDQzLjNjMTcuMyAyOC45IDI3LjMgNjIuNiAyNy4zIDk4Ljh6TTI4OC41IDY0bC02NCAwIDAgMTkwLjYtMzIgMTguNWMtMTkuNSAxMS4zLTM1LjcgMjcuNS00Ni45IDQ2LjlsMjIxLjggMGMtMTEuMi0xOS40LTI3LjQtMzUuNi00Ni45LTQ2LjlsLTMyLTE4LjUgMC0xOTAuNnoiXX0sSCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQtYnJpZGdlIixpY29uOls1NzYsNTEyLFtdLCJlNTYzIiwiTTMyIDMybDIwOCAwIDAgNjQtMjQgMCAwIDY0IDI0IDAgMCAxMjkuM2MtNDUuNCA3LjYtODAgNDcuMS04MCA5NC43bDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTRjMC0zOC44LTI2LjQtNzIuNi02NC04MmwwLTExMiA0MCAwIDAtNjQtOCAwQzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMnpNODggOTZsMCA2NCA4MCAwIDAtNjQtODAgMHpNMzM2IDMybDcyIDAgMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzIgNzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNzIgMCAwLTcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzItNzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zNTJjMC0yNi41IDIxLjUtNDggNDgtNDh6bTk2IDE2MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LFg0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC05LTEiLGljb246WzUxMiw1MTIsWyJzb3J0LW51bWVyaWMtdXAtYWx0Il0sImY4ODciLCJNMTUwLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDE0MS4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA2LjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2ek0zNjUuMSAyMDYuNmMtOS42IDE0LjgtNS40IDM0LjYgOS40IDQ0LjNzMzQuNiA1LjQgNDQuMy05LjRsNDIuMS02NC45YzEyLjQtMTkuMiAxOS4xLTQxLjYgMTkuMS02NC41IDAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgMzYuMSAyMy45IDY2LjcgNTYuOCA3Ni42bC0xMS43IDE4ek0zNzYgMTEyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTQyLjcgMTgyYy04LjMtNi0xOS4xLTcuNy0yOC44LTQuNGwtNDggMTZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmw1LjktMiAwIDUxLjYtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOTZjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6Il19LHEkdD1YNGUsaiR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vdW50YWluLWNpdHkiLGljb246WzY0MCw1MTIsW10sImU1MmUiLCJNMjU2LjMgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4IDQ4IDAgMC03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNzIgMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDMyMGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNzcuOCAwYzQtMTUuNCAyLjQtMzIuNi02LjctNDguMkwzNTQuNiAyNTYgMzY4LjMgMjU2YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtNi4xIDAtMTEuNCAzLjQtMTQuMSA4LjVsLTQyLjYtNzNjLTYtMTAuMi0xNC4xLTE4LTIzLjMtMjMuM2wwLTU2LjJ6bTY0IDY0bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2MCA5NmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNiA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0tMjcyLTY0LjdsLTY1LjEgMTExLjYgMzMuMSAzMy4xIDQ4LTQ4IDQwLjQgMC01Ni40LTk2Ljd6bS0yNy42LTQ3LjljMTIuMy0yMS4yIDQyLjktMjEuMiA1NS4zIDBMNDIwLjMgNDYzLjljMTIuNCAyMS4zLTIuOSA0OC4xLTI3LjYgNDguMUw1NiA1MTJjLTI0LjcgMC00MC4xLTI2LjgtMjcuNi00OC4xTDE5Ni43IDE3NS40eiJdfSx2QT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLTktMSIsaWNvbjpbNTEyLDUxMixbInNvcnQtbnVtZXJpYy1kZXNjIiwic29ydC1udW1lcmljLWRvd24tYWx0Il0sImY4ODYiLCJNMjMwLjYgMzkwLjZsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtODAtODBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDI1LjQtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0xMzQuNS0xODRsMTEuNy0xOGMtMzIuOS05LjktNTYuOC00MC41LTU2LjgtNzYuNiAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMjIuOS02LjYgNDUuMy0xOS4xIDY0LjVsLTQyLjEgNjQuOWMtOS42IDE0LjgtMjkuNCAxOS4xLTQ0LjMgOS40cy0xOS4xLTI5LjQtOS40LTQ0LjN6TTQyNCAxMTJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptLTUuMyAxODJjOC4zIDYgMTMuMyAxNS43IDEzLjMgMjZsMCA5NiAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC01MS42LTUuOSAyYy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41bDQ4LTE2YzkuOC0zLjMgMjAuNS0xLjYgMjguOCA0LjR6Il19LFYkdD12QSxVJHQ9dkEsUTRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi13aWRlIixpY29uOls1MTIsNTEyLFsxMjg1MTUsImdyaW4tYWx0Il0sImY1ODEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4Ni43IDMwOC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSAzODguMiAxMDUuNyAzMjYuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xek0yMDggMTkyYzAgMzUuMy0xNC4zIDY0LTMyIDY0cy0zMi0yOC43LTMyLTY0IDE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NHptMTI4IDY0Yy0xNy43IDAtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0IDMyIDI4LjcgMzIgNjQtMTQuMyA2NC0zMiA2NHoiXX0sVyR0PVE0ZSxHJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicG9vcCIsaWNvbjpbNTEyLDUxMixbXSwiZjYxOSIsIk0yNTQuNCA2LjZjMy41LTQuMyA5LTYuNSAxNC41LTUuNyA0Ni45IDYuMyA4My4xIDQ2LjUgODMuMSA5NS4xIDAgMTEuMi0xLjkgMjItNS41IDMybDUuNSAwYzM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMTkuMS04LjQgMzYuMy0yMS43IDQ4bDEzLjcgMGMzOS44IDAgNzIgMzIuMiA3MiA3MiAwIDIzLjItMTEgNDMuOC0yOCA1NyAzNC4xIDUuNyA2MCAzNS4zIDYwIDcxIDAgMzkuOC0zMi4yIDcyLTcyIDcyTDcyIDUxMmMtMzkuOCAwLTcyLTMyLjItNzItNzIgMC0zNS43IDI1LjktNjUuMyA2MC03MS0xNy0xMy4yLTI4LTMzLjgtMjgtNTcgMC0zOS44IDMyLjItNzIgNzItNzJsMTMuNyAwYy0xMy4zLTExLjctMjEuNy0yOC45LTIxLjctNDggMC0zNS4zIDI4LjctNjQgNjQtNjRsMTYuMiAwYzQ0LjEtLjEgNzkuOC0zNS45IDc5LjgtODAgMC05LjItMS41LTE3LjktNC4zLTI2LjEtMS44LTUuMi0uOC0xMS4xIDIuOC0xNS40eiJdfSxZJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGhhcm1hY2hha3JhIixpY29uOls1MTIsNTEyLFs5Nzg0XSwiZjY1NSIsIk0zMzcuOCAyMDUuN2w0OC42LTQyLjVjMTMuOCAxOS4zIDIzLjQgNDEuOSAyNy40IDY2LjJsLTY0LjQgNC4zYy0yLjQtMTAuMS02LjQtMTkuNS0xMS42LTI4em0xNDAuMSAxOS41Yy01LjMtMzguOC0yMC42LTc0LjUtNDMuMi0xMDQuM2wuOC0uN0M0NDkgMTA4LjQgNDQ5LjcgODcuNiA0MzcgNzVzLTMzLjQtMTItNDUuMiAxLjVsLS43IC44Yy0yOS44LTIyLjYtNjUuNS0zNy45LTEwNC4zLTQzLjJsLjEtMS4xYzEuMi0xNy45LTEzLTMzLTMwLjktMzNzLTMyLjEgMTUuMi0zMC45IDMzbC4xIDEuMWMtMzguOCA1LjMtNzQuNSAyMC42LTEwNC4zIDQzLjJsLS43LS44QzEwOC40IDYzIDg3LjYgNjIuMyA3NSA3NXMtMTIgMzMuNCAxLjUgNDUuMmwuOCAuN2MtMjIuNiAyOS44LTM3LjkgNjUuNS00My4yIDEwNC4zbC0xLjEtLjFjLTE3LjktMS4yLTMzIDEzLTMzIDMwLjlzMTUuMiAzMi4xIDMzIDMwLjlsMS4xLS4xYzUuMyAzOC44IDIwLjYgNzQuNSA0My4yIDEwNC4zbC0uOCAuN0M2MyA0MDMuNiA2Mi4zIDQyNC40IDc1IDQzN3MzMy40IDEyIDQ1LjItMS41bC43LS44YzI5LjggMjIuNiA2NS41IDM3LjkgMTA0LjMgNDMuMmwtLjEgMS4xYy0xLjIgMTcuOSAxMyAzMyAzMC45IDMzczMyLjEtMTUuMiAzMC45LTMzbC0uMS0xLjFjMzguOC01LjMgNzQuNS0yMC42IDEwNC4zLTQzLjJsLjcgLjhjMTEuOCAxMy41IDMyLjUgMTQuMiA0NS4yIDEuNXMxMi0zMy40LTEuNS00NS4ybC0uOC0uN2MyMi42LTI5LjggMzcuOS02NS41IDQzLjItMTA0LjNsMS4xIC4xYzE3LjkgMS4yIDMzLTEzIDMzLTMwLjlzLTE1LjItMzIuMS0zMy0zMC45bC0xLjEgLjF6TTE2My4yIDEyNS42YzE5LjMtMTMuOCA0MS45LTIzLjQgNjYuMi0yNy41bDQuMyA2NC40Yy0xMCAyLjQtMTkuNSA2LjQtMjggMTEuNmwtNDIuNS00OC42em0tNjUgMTAzLjhjNC4xLTI0LjQgMTMuNy00Ni45IDI3LjUtNjYuMmw0OC42IDQyLjVjLTUuMyA4LjUtOS4yIDE4LTExLjYgMjhsLTY0LjQtNC4zem0yNy41IDExOS40Yy0xMy44LTE5LjMtMjMuNC00MS45LTI3LjUtNjYuMmw2NC40LTQuM2MyLjQgMTAuMSA2LjQgMTkuNSAxMS42IDI4bC00OC42IDQyLjV6bTEwMy44IDY1Yy0yNC40LTQuMS00Ni45LTEzLjctNjYuMi0yNy40bDQyLjUtNDguNmM4LjUgNS4zIDE4IDkuMiAyOCAxMS42bC00LjMgNjQuNHptMTE5LjQtMjcuNGMtMTkuMyAxMy44LTQxLjkgMjMuNC02Ni4yIDI3LjRsLTQuMy02NC40YzEwLTIuNCAxOS41LTYuNCAyOC0xMS42bDQyLjUgNDguNnptNjUtMTAzLjhjLTQuMSAyNC40LTEzLjcgNDYuOS0yNy40IDY2LjJsLTQ4LjYtNDIuNWM1LjMtOC42IDkuMi0xOCAxMS42LTI4bDY0LjQgNC4zem0tNjUtMTU2LjlsLTQyLjUgNDguNmMtOC42LTUuMy0xOC05LjItMjgtMTEuNmw0LjMtNjQuNGMyNC40IDQuMSA0Ni45IDEzLjcgNjYuMiAyNy41ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sSjRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhdHRlcnktcXVhcnRlciIsaWNvbjpbNjQwLDUxMixbImJhdHRlcnktMiJdLCJmMjQzIiwiTTUyOCAxMjhjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjI0YzAgOC44LTcuMiAxNi0xNiAxNmwtNDE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsNDE2IDB6TTExMiA2NGMtNDQuMiAwLTgwIDM1LjgtODAgODBsMCAyMjRjMCA0NC4yIDM1LjggODAgODAgODBsNDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC00OGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBMMTEyIDY0em01NiAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTY0IDB6Il19LFokdD1KNGUsWCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFua2giLGljb246WzMyMCw1MTIsWzk3NjVdLCJmNjQ0IiwiTTk2IDEyOGMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0YzAgNDEuNi0yMC43IDc2LjYtNDYuNiAxMDQuMS01LjkgNi4yLTExLjggMTEuOC0xNy40IDE2LjctNS42LTQuOS0xMS41LTEwLjUtMTcuNC0xNi43LTI1LjktMjcuNS00Ni42LTYyLjYtNDYuNi0xMDQuMXpNMTYwIDBDODkuMyAwIDMyIDU3LjMgMzIgMTI4IDMyIDE4MC40IDUzLjUgMjIzLjUgNzguOCAyNTZMMzIgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MCA5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00Ni44IDBDMjY2LjUgMjIzLjUgMjg4IDE4MC40IDI4OCAxMjggMjg4IDU3LjMgMjMwLjcgMCAxNjAgMHoiXX0sUSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpYW1vbmQiLGljb246WzUxMiw1MTIsWzk4MzBdLCJmMjE5IiwiTTE3IDIxNUwyMTUgMTdDMjI1LjkgNi4xIDI0MC42IDAgMjU2IDBzMzAuMSA2LjEgNDEgMTdMNDk1IDIxNWMxMC45IDEwLjkgMTcgMjUuNiAxNyA0MXMtNi4xIDMwLjEtMTcgNDFMMjk3IDQ5NWMtMTAuOSAxMC45LTI1LjYgMTctNDEgMTdzLTMwLjEtNi4xLTQxLTE3TDE3IDI5N0M2LjEgMjg2LjEgMCAyNzEuNCAwIDI1NnM2LjEtMzAuMSAxNy00MXoiXX0sSiR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1YnNjcmlwdCIsaWNvbjpbNTc2LDUxMixbXSwiZjEyYyIsIk05NiA2NEM3OC4zIDY0IDY0IDc4LjMgNjQgOTZzMTQuMyAzMiAzMiAzMmwxNS4zIDAgODkuNiAxMjgtODkuNiAxMjgtMTUuMyAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDBjMTAuNCAwIDIwLjItNS4xIDI2LjItMTMuNkwyNDAgMzExLjggMzI1LjggNDM0LjRjNiA4LjYgMTUuOCAxMy42IDI2LjIgMTMuNmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNS4zIDAtODkuNi0xMjggODkuNi0xMjggMTUuMyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xMC40IDAtMjAuMiA1LjEtMjYuMiAxMy42TDI0MCAyMDAuMiAxNTQuMiA3Ny42QzE0OC4yIDY5LjEgMTM4LjQgNjQgMTI4IDY0TDk2IDY0ek01NDQgMzIwYzAtMTEuMS01LjctMjEuNC0xNS4yLTI3LjJzLTIxLjItNi40LTMxLjEtMS40bC0zMiAxNmMtMTUuOCA3LjktMjIuMiAyNy4xLTE0LjMgNDIuOSA1LjYgMTEuMiAxNi45IDE3LjcgMjguNiAxNy43bDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTEyOHoiXX0sSzRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1cGVlLXNpZ24iLGljb246WzQ0OCw1MTIsWzgzNjAsInJ1cGVlIl0sImYxNTYiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw4MCAwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgNTQuMy0zMCAxMDEuNS03NC40IDEyNi4xbDQxIDEzNi43YzUuMSAxNi45LTQuNSAzNC44LTIxLjUgMzkuOHMtMzQuOC00LjUtMzkuOC0yMS41TDEyMC4xIDMxOS44Yy0yLjcgLjEtNS40IC4yLTguMSAuMmwtNDggMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjR6TTY0IDI1Nmw0OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwbC00OCAwIDAgMTYwem0yODUuMS0zMmwzNC45IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM0LjkgMGMtNy4yIDAtMTMuMSA1LjktMTMuMSAxMy4xIDAgNS43IDMuNyAxMC43IDkuMSAxMi41bDQ5LjQgMTUuOWMzMS45IDEwLjMgNTMuNSAzOS45IDUzLjUgNzMuNCAwIDQyLjYtMzQuNSA3Ny4xLTc3LjEgNzcuMUwzMjAgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDUwLjkgMGM3LjIgMCAxMy4xLTUuOSAxMy4xLTEzLjEgMC01LjctMy43LTEwLjctOS4xLTEyLjVsLTQ5LjQtMTUuOWMtMzEuOS0xMC4zLTUzLjUtMzkuOS01My41LTczLjQgMC00Mi42IDM0LjUtNzcuMSA3Ny4xLTc3LjF6Il19LEskdD1LNGUsZUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1yaWZsZSIsaWNvbjpbNTEyLDUxMixbXSwiZTU0ZSIsIk00MTYgMEwzODQgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwwIDEwMC4zYy05LjYgNS41LTE2IDE1LjktMTYgMjcuN2wwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE0NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwIDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2bDU5LjUgMGMxMC40IDAgMTgtOS44IDE1LjUtMTkuOWwtMjMtOTIuMSA0NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtNDggMCAwLTI2LjcgNTMuMS0xNy43YzYuNS0yLjIgMTAuOS04LjMgMTAuOS0xNS4ybDAtODQuNWMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDU2LTE2IDUuMyAwLTEwOS4zYzAtMTEuOC02LjQtMjIuMi0xNi0yNy43TDQzMiAxNmMwLTguOC03LjItMTYtMTYtMTZ6TTIyNCAyMDhDMTE4IDIwOCAzMiAyOTQgMzIgNDAwbDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQ4YzAtMzIuNSAxMi4xLTYyLjEgMzItODQuN2wwIDE5Ni43IDE2MCAwIDAtMjkzLjFjLTIwLTcuMS00MS42LTEwLjktNjQtMTAuOXpNMjgwIDg4YTcyIDcyIDAgMSAwIC0xNDQgMCA3MiA3MiAwIDEgMCAxNDQgMHoiXX0sdER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImQiLGljb246WzM4NCw1MTIsWzEwMF0sIjQ0IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMTI4IDBjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNFMyODMuNyA0ODAgMTYwIDQ4MEwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgNjR6TTY0IDk2bDAgMzIwIDk2IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBTMjQ4LjQgOTYgMTYwIDk2TDY0IDk2eiJdfSxyRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLW5maSIsaWNvbjpbNDQ4LDUxMixbXSwiZTU3NiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek05MyAxNzIuM2wzNSA2MyAwLTUxLjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE0NGMwIDEwLjktNy40IDIwLjUtMTggMjMuMnMtMjEuNy0yLTI3LTExLjZsLTM1LTYzIDAgNTEuNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTEwLjkgNy40LTIwLjUgMTgtMjMuMnMyMS43IDIgMjcgMTEuNnpNMjA4IDE4NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC01NiAwIDAgMzIgNDAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDAgMCAwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0em0xOTIgMGwwIDE0NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxhRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVldGgiLGljb246WzUxMiw1MTIsW10sImY2MmUiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTE0NCAyMDhsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6bTEyOCAwbDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4ek04MCAxNzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0zMjAgMzJsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6TTQ4IDMzNmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNnptMTQ0IDQ4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OHptMTI4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4em0xMTItMTZjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyeiJdfSxlM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcy1kb2xsYXIiLGljb246WzUxMiw1MTIsWyJzZWFyY2gtZG9sbGFyIl0sImY2ODgiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0yMTIgOTZjLTExIDAtMjAgOS0yMCAyMGwwIDRjLTI4LjggLjMtNTIgMjMuNy01MiA1Mi41IDAgMjUuNyAxOC41IDQ3LjYgNDMuOSA1MS44bDQxLjcgN2M2IDEgMTAuNCA2LjIgMTAuNCAxMi4zIDAgNi45LTUuNiAxMi41LTEyLjUgMTIuNUwxNjggMjU2Yy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDAgNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQuN2MyNS00LjEgNDQtMjUuNyA0NC01MS44IDAtMjUuNy0xOC41LTQ3LjYtNDMuOS01MS44bC00MS43LTdjLTYtMS0xMC40LTYuMi0xMC40LTEyLjMgMC02LjkgNS42LTEyLjUgMTIuNS0xMi41bDQ3LjUgMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTggMCAwLTRjMC0xMS05LTIwLTIwLTIweiJdfSxpRHQ9ZTNlLG5EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkdW1wc3Rlci1maXJlIixpY29uOls2NDAsNTEyLFtdLCJmNzk0IiwiTTE2NC4zIDY0TDEzOC43IDE5MiA1NiAxOTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNC4xYzAtMi42IC40LTUuMSAxLjItNy42TDU4LjUgODAuNEM2MS44IDcwLjYgNzEgNjQgODEuMyA2NGw4MyAwem0yMy40IDEyOGwyNS42LTEyOCA4Mi43IDAgMCAxMjgtMTA4LjMgMHpNMzQ0IDY0bDgyLjcgMCAxNiA4MGMtMTQuNyAuMi0yOS4zIDUuNS00MC45IDE1LjktMTEuNSAxMC4zLTIyLjUgMjEtMzIuOCAzMi4xbC0yNC45IDAgMC0xMjh6TTk2IDI0MGwyMzMuMiAwYy02LjQgOC44LTEyLjMgMTcuNi0xNy43IDI2LjMtMjEuNCAzNC43LTM5LjUgNzYuMS0zOS41IDExNS44IDAgMTcuMSAyLjEgMzMuOCA2IDQ5LjlsLTEyMC40IDAgMS45IDEwLjNjMy4yIDE3LjQtOC40IDM0LTI1LjggMzcuMnMtMzQtOC40LTM3LjItMjUuOEM3MSAzMTMuMyA1OCAyNDIuMSA1Ny43IDI0MEw5NiAyNDB6bTUxMi03MmMwIDExLTcuNCAyMC4zLTE3LjUgMjMuMS0uOS0uOC0xLjctMS42LTIuNi0yLjQtMjEuOC0yMC01NC4zLTIxLjgtNzgtNS41LTQuMi00LjMtOC41LTguNS0xMi45LTEyLjZsLTIxLjMtMTA2LjYgODMgMGMxMC4zIDAgMTkuNSA2LjYgMjIuOCAxNi40bDI1LjMgNzUuOWMuOCAyLjQgMS4yIDUgMS4yIDcuNmwwIDQuMXpNNTA1LjcgMjQwLjNMNTE4IDIyNi41YzUuNC02LjEgMTMuMy04LjggMjAuOS04LjkgNy4yIDAgMTQuMyAyLjYgMTkuOSA3LjggMTkuNyAxOC4zIDM5LjggNDMuMiA1NSA3MC42IDE1LjEgMjcuMiAyNi4yIDU4LjEgMjYuMiA4OC4xIDAgODguNy03MS4zIDE1OS44LTE2MCAxNTkuOC04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44IDAtMzcuMyAxNi03My40IDM2LjgtMTA0LjUgMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4yIDUuNy01LjIgMTMuMS03LjcgMjAuMy03LjVzMTMuNCAzLjIgMTguOCA3LjVjMTQuNCAxMS40IDM4LjkgNDAuNyAzOC45IDQwLjd6TTU0NCA0MzIuMmMwLTM2LjUtMzctNzMtNTQuOC04OC40LTUuNC00LjctMTMuMS00LjctMTguNSAwLTE3LjcgMTUuNC01NC44IDUxLjktNTQuOCA4OC40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LHNEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cGxvYWQiLGljb246WzQ0OCw1MTIsW10sImYwOTMiLCJNMjU2IDEwOS4zTDI1NiAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMTAuNy00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDI1NiAxMDkuM3pNMjI0IDQwMGM0NC4yIDAgODAtMzUuOCA4MC04MGw4MCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDgwIDBjMCA0NC4yIDM1LjggODAgODAgODB6bTE0NCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LHhBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItc2xhc2giLGljb246WzU3Niw1MTIsWzYyNzE0LCJ1c2VyLWFsdC1zbGFzaCIsInVzZXItbGFyZ2Utc2xhc2giXSwiZjUwNiIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDMxMS41IDI0NS43YzU1LTEwLjkgOTYuNS01OS41IDk2LjUtMTE3LjcgMC02Ni4zLTUzLjctMTIwLTEyMC0xMjAtNTguMiAwLTEwNi44IDQxLjUtMTE3LjcgOTYuNUw0MS0yNC45ek0yMzUuNiAzMDUuNEMxNDcuOSAzMTYuNiA4MCAzOTEuNSA4MCA0ODIuMyA4MCA0OTguNyA5My4zIDUxMiAxMDkuNyA1MTJsMzMyLjUgMC0yMDYuNi0yMDYuNnoiXX0sb0R0PXhBLGxEdD14QSxjRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctbGVmdCIsaWNvbjpbNTEyLDUxMixbODU5Ml0sImYwNjAiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjg4IDQ4MCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTM3MC43IDAgMTA1LjQtMTA1LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6Il19LGREdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aWFsLXZpcnVzIixpY29uOls1NzYsNTEyLFtdLCJlNTk3IiwiTTY0IDMyQzY0IDE0LjMgNzguMyAwIDk2IDBMMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNTEuN2MtMTguNSAwLTM3IDctNTEuMSAyMS4xLTIxLjYgMjEuNi0yNi42IDUzLjYtMTUgNzkuOS0yNi45IDEwLjQtNDUuOSAzNi42LTQ1LjkgNjcuMXMxOSA1Ni43IDQ1LjkgNjcuMWMtNy4zIDE2LjUtOCAzNS4yLTIuMyA1Mi4yLTEzLjQgNS43LTI4LjIgOC44LTQzLjYgOC44LTYxLjkgMC0xMTItNTAuMS0xMTItMTEyTDk2IDY0Qzc4LjMgNjQgNjQgNDkuNyA2NCAzMnptOTYgMzJsMCAxMjggOTYgMCAwLTEyOC05NiAwek0yODAgNDA4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzI4LjggMCA0My4yLTM0LjggMjIuOS01NS4yLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGMyMC40IDIwLjQgNTUuMiA1LjkgNTUuMi0yMi45IDAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRjMCAyOC44IDM0LjggNDMuMiA1NS4yIDIyLjkgOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45Yy0yMC40IDIwLjQtNS45IDU1LjIgMjIuOSA1NS4yIDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yOC44IDAtNDMuMiAzNC44LTIyLjkgNTUuMiA5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwYy0yMC40LTIwLjQtNTUuMi01LjktNTUuMiAyMi45IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMjguOC0zNC44LTQzLjItNTUuMi0yMi45LTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjljMjAuNC0yMC40IDUuOS01NS4yLTIyLjktNTUuMnptMTA0LTMyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODggNDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sdUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZWNrLWRvdWJsZSIsaWNvbjpbMzg0LDUxMixbXSwiZjU2MCIsIk0yNDkuOSA2Ni44YzEwLjQtMTQuMyA3LjItMzQuMy03LjEtNDQuN3MtMzQuMy03LjItNDQuNyA3LjFsLTEwNiAxNDUuNy0zNy41LTM3LjVjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzYuNiA2LjYgMTUuOCAxMCAyNS4xIDkuM3MxNy45LTUuNSAyMy40LTEzLjFsMTI4LTE3NnptMTI4IDEzNmMxMC40LTE0LjMgNy4yLTM0LjMtNy4xLTQ0LjdzLTM0LjMtNy4yLTQ0LjcgNy4xbC0xNzAgMjMzLjctNjkuNS02OS41Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmM2LjYgNi42IDE1LjggMTAgMjUuMSA5LjNzMTcuOS01LjUgMjMuNC0xMy4xbDE5Mi0yNjR6Il19LHBEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYXciLGljb246WzUxMiw1MTIsW10sImYxYjAiLCJNMjM0LjUgOTIuOWMxNC4zIDQyLjktLjMgODYuMi0zMi42IDk2LjhzLTcwLjEtMTUuNi04NC40LTU4LjUgLjMtODYuMiAzMi42LTk2LjggNzAuMSAxNS42IDg0LjQgNTguNXpNMTAwLjQgMTk4LjZjMTguOSAzMi40IDE0LjMgNzAuMS0xMC4yIDg0LjFzLTU5LjctLjktNzguNS0zMy4zLTE0LjMtNzAuMSAxMC4yLTg0LjEgNTkuNyAuOSA3OC41IDMzLjN6TTY5LjIgNDAxLjJDMTIxLjYgMjU5LjkgMjE0LjcgMjI0IDI1NiAyMjRzMTM0LjQgMzUuOSAxODYuOCAxNzcuMmMzLjYgOS43IDUuMiAyMC4xIDUuMiAzMC41bDAgMS42YzAgMjUuOC0yMC45IDQ2LjctNDYuNyA0Ni43LTExLjUgMC0yMi45LTEuNC0zNC00LjJsLTg4LTIyYy0xNS4zLTMuOC0zMS4zLTMuOC00Ni42IDBsLTg4IDIyYy0xMS4xIDIuOC0yMi41IDQuMi0zNCA0LjItMjUuOCAwLTQ2LjctMjAuOS00Ni43LTQ2LjdsMC0xLjZjMC0xMC40IDEuNi0yMC44IDUuMi0zMC41ek00MjEuOCAyODIuN2MtMjQuNS0xNC0yOS4xLTUxLjctMTAuMi04NC4xczU0LTQ3LjMgNzguNS0zMy4zIDI5LjEgNTEuNyAxMC4yIDg0LjEtNTQgNDcuMy03OC41IDMzLjN6TTMxMC4xIDE4OS43Yy0zMi4zLTEwLjYtNDYuOS01My45LTMyLjYtOTYuOHM1Mi4xLTY5LjEgODQuNC01OC41IDQ2LjkgNTMuOSAzMi42IDk2LjgtNTIuMSA2OS4xLTg0LjQgNTguNXoiXX0seUE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVsbWV0LXNhZmV0eSIsaWNvbjpbNTc2LDUxMixbImhhcmQtaGF0IiwiaGF0LWhhcmQiXSwiZjgwNyIsIk0zNTIgMjY0bDAtMjAwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIwMGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE4NS45QzkwIDEwOS44IDMyIDE5MS44IDMyIDI4OGwwIDY0IDUxMiAwIDAtNjRjLTEtOTUuMi01OC40LTE3Ny43LTE0NC0yMDkuOEw0MDAgMjY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0ek00MCA0MDBjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsNDk2IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBMNDAgNDAweiJdfSxmRHQ9eUEsaER0PXlBLG1EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlIixpY29uOlszMjAsNTEyLFsxMDFdLCI0NSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yMjQgMCAwLTEyOCAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0xMjggMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LHQzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWxhdWdoLXNxdWludCIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXNxdWludCJdLCJmNTliIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMDcuNyAzMzIuMUMxMDIgMzE4IDExMy40IDMwNCAxMjguNiAzMDRsMjU0LjkgMGMxNS4yIDAgMjYuNiAxNCAyMC45IDI4LjEtMjMuOCA1OC42LTgxLjIgOTkuOS0xNDguMyA5OS45cy0xMjQuNi00MS4zLTE0OC4zLTk5Ljl6bTE1LTE4OC44YzQuNS02LjggMTMuMy05LjIgMjAuNi01LjVsNzkuNiA0MGM1LjQgMi43IDguOCA4LjIgOC44IDE0LjNzLTMuNCAxMS42LTguOCAxNC4zbC03OS42IDQwYy03LjMgMy42LTE2LjEgMS4zLTIwLjYtNS41cy0zLjEtMTUuOSAzLjEtMjEuMUwxNTkgMTkyIDEyNS44IDE2NC4zYy02LjItNS4yLTcuNi0xNC4zLTMuMS0yMS4xem0yNjMuNiAyMS4xTDM1MyAxOTIgMzg2LjIgMjE5LjdjNi4yIDUuMiA3LjYgMTQuMyAzLjEgMjEuMXMtMTMuMyA5LjItMjAuNiA1LjVsLTc5LjYtNDBjLTUuNC0yLjctOC44LTguMi04LjgtMTQuM3MzLjQtMTEuNiA4LjgtMTQuM2w3OS42LTQwYzcuMy0zLjYgMTYuMS0xLjMgMjAuNiA1LjVzMy4xIDE1LjktMy4xIDIxLjF6Il19LGdEdD10M2UscjNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyIixpY29uOls1MTIsNTEyLFsiY29tcHJlc3MtYWx0Il0sImY0MjIiLCJNNDM5LjUgN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwzMiAzMmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODcgODcgMzkgMzljNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMlM0NTAuMiAyNDAgNDQwLjUgMjQwbC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0xNDRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yczE5LjMtMS43IDI2LjIgNS4ybDM5IDM5IDg3LTg3ek03Mi41IDI3MmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE0NGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC0zOS0zOS04NyA4N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTMyLTMyYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4Ny04Ny0zOS0zOWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlM2Mi44IDI3MiA3Mi41IDI3MnoiXX0sYkR0PXIzZSx2RHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2lmdHMiLGljb246WzU3Niw1MTIsW10sImY3OWMiLCJNMjAyLTMwLjZjMTIuNSA0LjQgMTkgMTguMSAxNC42IDMwLjZsLTguMiAyMy4xIDI1LjQtMTguNWMxMC43LTcuOCAyNS43LTUuNCAzMy41IDUuM3M1LjQgMjUuNy01LjMgMzMuNUwyMzMuOCA2NCAyNzIgNjRjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyLjFjLTU0LjcgMTAuNC05NiA1OC40LTk2IDExNmwwIDEuOWMwIDguOSAxIDE3LjUgMi44IDI1LjktMTEuOSAxNy44LTE4LjggMzkuMS0xOC44IDYyLjFsMCAxMjhjMCAyMy44IDcuNCA0NS45IDIwLjEgNjRMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDExMkMwIDg1LjUgMjEuNSA2NCA0OCA2NGwzOC4yIDAtMjguMy0yMC42QzQ3LjIgMzUuNiA0NC44IDIwLjYgNTIuNiA5LjlTNzUuNC0zLjIgODYuMSA0LjZsMjcuNCAyMC04LjMtMjVDMTAxLTEzIDEwNy44LTI2LjYgMTIwLjQtMzAuOHMyNi4yIDIuNiAzMC40IDE1LjJsOS45IDI5LjggMTAuNy0zMC4yYzQuNC0xMi41IDE4LjEtMTkgMzAuNi0xNC42ek00ODkuOSAyMDhjLTcuNSAwLTE0LjUgMy44LTE4LjYgMTAuMUw0NDYuOSAyNTYgNDg4IDI1NmMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTEuOWMwLTEyLjItOS45LTIyLjEtMjIuMS0yMi4xek0zODUuMSAyNTZsLTI0LjQtMzcuOWMtNC4xLTYuMy0xMS4xLTEwLjEtMTguNi0xMC4xLTEyLjIgMC0yMi4xIDkuOS0yMi4xIDIyLjFsMCAxLjljMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDEuMSAwek0yODEuOSAyNjguNWMtNi4zLTEwLjctOS45LTIzLjItOS45LTM2LjVsMC0xLjljMC0zOC43IDMxLjQtNzAuMSA3MC4xLTcwLjEgMjMuOCAwIDQ2IDEyLjEgNTguOSAzMi4xbDE1IDIzLjIgMTUtMjMuMmMxMi45LTIwIDM1LjEtMzIuMSA1OC45LTMyLjEgMzguNyAwIDcwLjEgMzEuNCA3MC4xIDcwLjFsMCAxLjljMCAxMy4zLTMuNiAyNS44LTkuOSAzNi41IDE1LjcgMTEuNyAyNS45IDMwLjQgMjUuOSA1MS41bDAgMTI4YzAgMzUuMy0yOC43IDY0LTY0IDY0bC03MiAwIDAtMjA4LTQ4IDAgMCAyMDgtNzIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xMjhjMC0yMS4xIDEwLjItMzkuOCAyNS45LTUxLjV6Il19LHhEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWQiLGljb246WzU3Niw1MTIsWzEyODcxNl0sImYyMzYiLCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMjQgMjI0IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDBjNTMgMCA5NiA0MyA5NiA5NmwwIDIyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0LTQ0OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyem04MCAxNjBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSx5RHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktYmlsbC10cmFuc2ZlciIsaWNvbjpbNjQwLDUxMixbXSwiZTUyOCIsIk0zMSAxMDVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDEwMy0xYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzEgMzEgNjcuNyAwIDAgMCAzMzguMyAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTc4LjItNS4xLTUuMWMtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwLTI3LjIgMjcuMi0yOC4xIDcwLjYtMi44IDk4LjlsNjcuNyAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTQwNi4xIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc4LjIgNS4xIDUuMWMyOC4xIDI4LjEgNzMuNyAyOC4xIDEwMS44IDAgMjcuMi0yNy4yIDI4LjEtNzAuNiAyLjgtOTguOWwtNjcuNyAwIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMMzEgMTA1ek00MTYgMjU2YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHptODgtNjQuNWM0LjQgLjUgOC0zLjEgOC03LjVsMC00OGMwLTQuNC0zLjYtOC04LThsLTQ4IDBjLTQuNCAwLTguMSAzLjYtNy41IDggMy42IDI5IDI2LjYgNTEuOSA1NS41IDU1LjV6bS0zNjggMTI5Yy00LjQtLjUtOCAzLjEtOCA3LjVsMCA0OGMwIDQuNCAzLjYgOCA4IDhsNDggMGM0LjQgMCA4LjEtMy42IDcuNS04LTMuNi0yOS0yNi42LTUxLjktNTUuNS01NS41eiJdfSxhM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXJ1bm5pbmciLGljb246WzQ0OCw1MTIsWzEyNzkzOSwicnVubmluZyJdLCJmNzBjIiwiTTI1Ni41LTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xMjMuNiAxNzZjLTMuMyAwLTYuMiAyLTcuNCA1TDk0LjIgMjM1LjljLTYuNiAxNi40LTI1LjIgMjQuNC00MS42IDE3LjhzLTI0LjQtMjUuMi0xNy44LTQxLjZsMjEuOS01NC45QzY3LjcgMTI5LjkgOTQuMSAxMTIgMTIzLjYgMTEybDk3LjMgMGMyOC41IDAgNTQuOCAxNS4xIDY5LjEgMzkuN2wzMi44IDU2LjMgNjEuNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02MS42IDBjLTIyLjggMC00My44LTEyLjEtNTUuMy0zMS44bC0xMC0xNy4xLTIwLjcgNzAuNCA3NS40IDIyLjZjMjcuNyA4LjMgNDEuOCAzOSAzMC4xIDY1LjVMMjg1LjcgNTA5Yy03LjIgMTYuMi0yNi4xIDIzLjQtNDIuMiAxNi4ycy0yMy40LTI2LjEtMTYuMi00Mi4ybDQ5LjItMTEwLjgtOTUuOS0yOC44Yy0zMi43LTkuOC01Mi00My43LTQzLjctNzYuOGwyMi43LTkwLjYtMzUuOSAwem0tOCAxODFjMTMuMyAxNC45IDMwLjcgMjYuMyA1MS4yIDMyLjRsNC43IDEuNC02LjkgMTkuM2MtNS44IDE2LjMtMTYgMzAuOC0yOS4zIDQxLjhMNTIuOSA1MTkuOGMtMTMuNiAxMS4yLTMzLjggOS4zLTQ1LTQuM3MtOS4zLTMzLjggNC4zLTQ1bDgyLjQtNjcuOWM0LjUtMy43IDcuOC04LjUgOS44LTEzLjlMMTE1LjYgMzU3eiJdfSx3RHQ9YTNlLGkzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtY2hldnJvbi1kb3duIixpY29uOls1MTIsNTEyLFsiY2hldnJvbi1jaXJjbGUtZG93biJdLCJmMTNhIiwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMTM1IDI0MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDg3IDg3IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwyNzMgMzQ1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwxMzUgMjQxeiJdfSxNRHQ9aTNlLGtEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLW51cnNlIixpY29uOls0NDgsNTEyLFtdLCJmODJmIiwiTTk2IDQ0LjljMC0xMi43IDcuNS0yNC4yIDE5LjItMjkuM2w5Ni00MmM4LjItMy42IDE3LjUtMy42IDI1LjcgMGw5NiA0MkMzNDQuNSAyMC43IDM1MiAzMi4yIDM1MiA0NC45bDAgOTkuMWMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOFM5NiAyMTQuNyA5NiAxNDRsMC05OS4xek0zMDQgMTI4bC0xMTEuNiAwLS40IDAtNDggMCAwIDE2YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBsMC0xNnpNMjA4IDE2bDAgMTYtMTYgMGMtNC40IDAtOCAzLjYtOCA4bDAgMTZjMCA0LjQgMy42IDggOCA4bDE2IDAgMCAxNmMwIDQuNCAzLjYgOCA4IDhsMTYgMGM0LjQgMCA4LTMuNiA4LThsMC0xNiAxNiAwYzQuNCAwIDgtMy42IDgtOGwwLTE2YzAtNC40LTMuNi04LTgtOGwtMTYgMCAwLTE2YzAtNC40LTMuNi04LTgtOEwyMTYgOGMtNC40IDAtOCAzLjYtOCA4ek0xNDIuNiAzMjNjLTYuNS00LjktMTUuMi02LjItMjIuNi0yLjgtNjEuNCAyOC4yLTEwNC4xIDkwLjItMTA0LjEgMTYyLjEgMCAxNi40IDEzLjMgMjkuNyAyOS43IDI5LjdsMzU2LjYgMGMxNi40IDAgMjkuNy0xMy4zIDI5LjctMjkuNyAwLTcyLTQyLjctMTM0LTEwNC4xLTE2Mi4xLTcuNC0zLjQtMTYuMS0yLjEtMjIuNiAyLjhsLTY3IDUwLjJjLTguNSA2LjQtMjAuMyA2LjQtMjguOCAwbC02Ny01MC4yeiJdfSxuM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1raXNzLXdpbmstaGVhcnQiLGljb246WzY0MCw1MTIsWzEyODUzNiwia2lzcy13aW5rLWhlYXJ0Il0sImY1OTgiLCJNNTQzLjcgMjY4LjNjLjItNC4xIC4zLTguMiAuMy0xMi4zIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMzIgMTE0LjYgMzIgMjU2IDE0Ni42IDUxMiAyODggNTEyYzQxLjQgMCA4MC41LTkuOCAxMTUuMS0yNy4zLTcuNi0xNy4xLTE2LjEtMzguOC0yMS44LTYxLjctNy43LTMwLjUtMTQuMS03Ni4yIDguMi0xMTQuN2wyLjctNC42YzI5LjUtNTEgOTQuNy02OC41IDE0NS43LTM5IDIgMS4yIDQgMi40IDUuOSAzLjd6TTI0MCAzMDRjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAxMi4zLTQuNiAyMy41LTEyLjIgMzIgNy42IDguNSAxMi4yIDE5LjcgMTIuMiAzMiAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnpNMjA4IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTE1MiAyMGMtMTEgMC0yMCA5LTIwIDIwcy05IDIwLTIwIDIwLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMHpNNTQyLjggMzUwYy0yLjItMTguMy0xMi45LTM0LjYtMjguOS00My44LTI4LjEtMTYuMi02My45LTYuNi04MC4xIDIxLjVsLTIuNyA0LjZjLTI0LjUgNDIuNSA3LjkgMTE3LjkgMjQuNCAxNTAuOCA1LjEgMTAuMSAxNS41IDE2LjEgMjYuOCAxNS41IDM2LjctMi4yIDExOC4yLTExLjcgMTQyLjgtNTQuMmwyLjctNC42YzE2LjItMjguMSA2LjYtNjMuOS0yMS41LTgwLjEtMTYtOS4yLTM1LjQtMTAuNC01Mi40LTMuMWwtOS44IDQuMi0xLjMtMTAuNnoiXX0sU0R0PW4zZSx6RHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsbCIsaWNvbjpbNTEyLDUxMixbXSwiZjU3NSIsIk0yOTYgNjRjNi45IDAgMTMuNSAyLjcgMTguMyA3LjZMNDQwLjQgMTk3LjdjNC45IDQuOSA3LjYgMTEuNSA3LjYgMTguM3MtMi43IDEzLjUtNy42IDE4LjNMMzg2LjcgMjg4IDY1LjMgMjg4YzEuMy0zLjkgMy40LTcuNCA2LjMtMTAuM2w5Ni40LTk2LjQgMzMuNCAzMy40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMjEzLjMgMTM2IDI3Ny43IDcxLjZjNC45LTQuOSAxMS41LTcuNiAxOC4zLTcuNnpNMTIyLjcgMTM2TDI2LjMgMjMyLjRDOS41IDI0OS4zIDAgMjcyLjEgMCAyOTZzOS41IDQ2LjcgMjYuMyA2My42TDE1Mi40IDQ4NS43QzE2OS4zIDUwMi41IDE5Mi4xIDUxMiAyMTYgNTEyczQ2LjctOS41IDYzLjYtMjYuM0w0ODUuNyAyNzkuNkM1MDIuNSAyNjIuNyA1MTIgMjM5LjkgNTEyIDIxNnMtOS41LTQ2LjctMjYuMy02My42TDM1OS42IDI2LjNDMzQyLjcgOS41IDMxOS45IDAgMjk2IDBzLTQ2LjcgOS41LTYzLjYgMjYuM0wxNjggOTAuNyAxMTguNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wxMjIuNyAxMzZ6Il19LHMzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLTEtd2F2ZSIsaWNvbjpbNTEyLDUxMixbIm1vbmV5LWJpbGwtd2F2ZS1hbHQiXSwiZjUzYiIsIk0wIDEwOS41TDAgNDE5LjZjMCAxOS40IDExLjggMzcuMyAzMC4zIDQzLjMgOTQgMzAgMTU4LjggOC40IDIyMy4zLTEzLjEgNjIuNC0yMC44IDEyNC40LTQxLjUgMjEyLjEtMTUuMyAyMi4yIDYuNiA0Ni4yLTguOCA0Ni4yLTMybDAtMzEwLjFjMC0xOS40LTExLjgtMzcuMy0zMC4zLTQzLjMtOTQtMzAtMTU4LjgtOC40LTIyMy4zIDEzLjEtNjIuNCAyMC44LTEyNC40IDQxLjUtMjEyLjEgMTUuMy0yMi4yLTYuNi00Ni4zIDguOC00Ni4zIDMyek0yNTYgMzY4Yy01MyAwLTk2LTUwLjEtOTYtMTEyczQzLTExMiA5Ni0xMTIgOTYgNTAuMSA5NiAxMTItNDMgMTEyLTk2IDExMnpNMTI3LjEgNDA1LjVjLjcgNC40LTIuOCA4LjEtNy4yIDguMS0xNS43IDAtMzIuMS0xLjgtNTAtNi4xLTMuNS0uOC02LTQtNi03LjdMNjQgMzYwYzAtNC40IDMuNi04LjEgOC03LjUgMjguMSAzLjUgNTAuNiAyNS4yIDU1LjIgNTN6TTQ0OCAzNTQuNmMwIDUtNC42IDguOC05LjUgOC0xNS40LTIuNS0zMC4yLTMuOS00NC40LTQuMy00LjktLjEtOC43LTQuNS03LjItOS4yIDcuMy0yMy43IDI4LTQxLjQgNTMuMi00NC42IDQuNC0uNSA4IDMuMSA4IDcuNWwwIDQyLjZ6bS04LTE5NS4xYy0yOC4xLTMuNS01MC42LTI1LjItNTUuMi01My0uNy00LjQgMi44LTguMSA3LjItOC4xIDE1LjcgMCAzMi4xIDEuOCA1MCA2LjEgMy41IC44IDYgNCA2IDcuN2wwIDM5LjljMCA0LjQtMy42IDguMS04IDcuNXptLTMyMi4xLTUuOGM0LjkgLjEgOC43IDQuNSA3LjIgOS4yLTcuMyAyMy43LTI4IDQxLjQtNTMuMiA0NC42LTQuNCAuNS04LTMuMS04LTcuNWwwLTQyLjZjMC01IDQuNi04LjggOS41LTggMTUuNCAyLjUgMzAuMiAzLjkgNDQuNCA0LjN6TTI0MCAxODhjLTExIDAtMjAgOS0yMCAyMCAwIDkuNyA2LjkgMTcuNyAxNiAxOS42bDAgNDguNC00IDBjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDQ4IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC00IDAgMC02OGMwLTExLTktMjAtMjAtMjBsLTE2IDB6Il19LENEdD1zM2UsVER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhbmRtYXJrIixpY29uOls1MTIsNTEyLFsxMjc5NjNdLCJmNjZmIiwiTTIzOC43IDUuMWMxMC41LTYuOCAyNC4xLTYuOCAzNC42IDBsMjI0IDE0NGMxMS45IDcuNyAxNy40IDIyLjMgMTMuNCAzNS45cy0xNi41IDIzLTMwLjcgMjNsLTMyIDAgMCAyMDggNTEuMiAzOC40YzguMSA2IDEyLjggMTUuNSAxMi44IDI1LjYgMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMiAwLTEwLjEgNC43LTE5LjYgMTIuOC0yNS42bDUxLjItMzguNCAwIDAgMC0yMDgtMzIgMGMtMTQuMiAwLTI2LjctOS40LTMwLjctMjNzMS41LTI4LjMgMTMuNC0zNS45bDIyNC0xNDR6TTMzNiAyMDhsMCAyMDggNjQgMCAwLTIwOC02NCAwek0yMjQgNDE2bDY0IDAgMC0yMDgtNjQgMCAwIDIwOHpNMTEyIDIwOGwwIDIwOCA2NCAwIDAtMjA4LTY0IDB6Il19LF9EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtdXNpYyIsaWNvbjpbNTEyLDUxMixbMTI3OTI1XSwiZjAwMSIsIk00NjggN2M3LjYgNi4xIDEyIDE1LjMgMTIgMjVsMCAzMDRjMCA0NC4yLTQzIDgwLTk2IDgwcy05Ni0zNS44LTk2LTgwIDQzLTgwIDk2LTgwYzExLjIgMCAyMiAxLjYgMzIgNC42bDAtMTE2LjctMjI0IDQ5LjggMCAyMDYuM2MwIDQ0LjItNDMgODAtOTYgODBzLTk2LTM1LjgtOTYtODAgNDMtODAgOTYtODBjMTEuMiAwIDIyIDEuNiAzMiA0LjZMMTI4IDk2YzAtMTUgMTAuNC0yOCAyNS4xLTMxLjJsMjg4LTY0YzkuNS0yLjEgMTkuNCAuMiAyNyA2LjN6Il19LExEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLW1lZGljYWwiLGljb246WzQ0OCw1MTIsW10sImY3ZTYiLCJNOTYgNTEybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjYuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhMOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2ek02NCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDAgMCA2NC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE5MiAxMjBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LG8zZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaHVmZmxlIixpY29uOls1MTIsNTEyLFsxMjgyNTYsInJhbmRvbSJdLCJmMDc0IiwiTTQwMy44IDM0LjRjMTItNSAyNS43LTIuMiAzNC45IDYuOWw2NCA2NGM2IDYgOS40IDE0LjEgOS40IDIyLjZzLTMuNCAxNi42LTkuNCAyMi42bC02NCA2NGMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTMzg0IDIwNC45IDM4NCAxOTJsMC0zMi0zMiAwYy0xMC4xIDAtMTkuNiA0LjctMjUuNiAxMi44bC0zMi40IDQzLjItNDAtNTMuMyAyMS4yLTI4LjNDMjkzLjMgMTEwLjIgMzIxLjggOTYgMzUyIDk2bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42ek0xNTQgMjk2bDQwIDUzLjMtMjEuMiAyOC4zQzE1NC43IDQwMS44IDEyNi4yIDQxNiA5NiA0MTZsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMGMxMC4xIDAgMTkuNi00LjcgMjUuNi0xMi44TDE1NCAyOTZ6TTQzOC42IDQ3MC42Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVMzODQgNDYwLjkgMzg0IDQ0OGwwLTMyLTMyIDBjLTMwLjIgMC01OC43LTE0LjItNzYuOC0zOC40TDEyMS42IDE3Mi44Yy02LTguMS0xNS41LTEyLjgtMjUuNi0xMi44bC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMlMxNC4zIDk2IDMyIDk2bDY0IDBjMzAuMiAwIDU4LjcgMTQuMiA3Ni44IDM4LjRMMzI2LjQgMzM5LjJjNiA4LjEgMTUuNSAxMi44IDI1LjYgMTIuOGwzMiAwIDAtMzJjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWw2NCA2NGM2IDYgOS40IDE0LjEgOS40IDIyLjZzLTMuNCAxNi42LTkuNCAyMi42bC02NCA2NHoiXX0sJER0PW8zZSxERHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW5kZXJsaW5lIixpY29uOlszODQsNTEyLFtdLCJmMGNkIiwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJTMTEzLjcgNjQgOTYgNjRsMCAxNjBjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTMjcwLjMgMCAyODggMGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMTYwYzAgODguNC03MS42IDE2MC0xNjAgMTYwUzMyIDMxMi40IDMyIDIyNEwzMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyek0wIDQ4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxBRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctdXNlciIsaWNvbjpbNjQwLDUxMixbXSwiZTRkYSIsIk02NCA2NEM2NCAyOC43IDkyLjcgMCAxMjggMEwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyMS4zYy00Ni45IDE5LTgwIDY1LTgwIDExOC43IDAgMjcuNyA4LjggNTMuNCAyMy44IDc0LjQtNTEuNSAyMS04Ny44IDcxLjYtODcuOCAxMzAuNyAwIDEgMCAxLjkgMCAyLjlsLTE3NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEw2NCA2NHpNMjA4IDQwMGwwIDY0IDUzLjQgMGM3LjItMjkuNCAyMS4zLTU2LjEgNDAuNC03OC4zLTYuMS0xOS41LTI0LjMtMzMuNy00NS44LTMzLjctMjYuNSAwLTQ4IDIxLjUtNDggNDh6TTMzOSAyMjQuM2MtMS0uMi0yLS4zLTMtLjNsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNi43IDBjMi4xLTIyLjggOC40LTQ0LjMgMTguMy02My43ek0xNzYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTE3NiAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMjQwIDgwYTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHpNMzUyIDUxMmMwLTUzIDQzLTk2IDk2LTk2bDk2IDBjNTMgMCA5NiA0MyA5NiA5NiAwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxFRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9ib3QiLGljb246WzY0MCw1MTIsWzEyOTMwMl0sImY1NDQiLCJNMzUyIDBjMC0xNy43LTE0LjMtMzItMzItMzJTMjg4LTE3LjcgMjg4IDBsMCA2NC05NiAwYy01MyAwLTk2IDQzLTk2IDk2bDAgMjI0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTIyNGMwLTUzLTQzLTk2LTk2LTk2bC05NiAwIDAtNjR6TTE2MCAzNjhjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTEyMCAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0xMjAgMGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjI0IDE3NmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTE0NCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek02NCAyMjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCAyMDYuMyAwIDIyNGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NnptNTQ0LTMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sU2I9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1cyIsaWNvbjpbNDQ4LDUxMixbMTAxMzMsNjE1NDMsImFkZCJdLCIyYiIsIk0yNTYgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNjAtMTYwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDAgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MCAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0xNjB6Il19LElEdD1TYixHQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb3B5IixpY29uOls0NDgsNTEyLFtdLCJmMGM1IiwiTTE5MiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIwMC42YzAtMTcuNC03LjEtMzQuMS0xOS43LTQ2LjJMMzcwLjYgMTcuOEMzNTguNyA2LjQgMzQyLjggMCAzMjYuMyAwTDE5MiAwek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTYtNjQgMCAwIDE2LTE5MiAwIDAtMjU2IDE2IDAgMC02NC0xNiAweiJdfSxQRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3Mta2luZyIsaWNvbjpbNDQ4LDUxMixbOTgxOF0sImY0M2YiLCJNMjI0LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDY0IDE1My44IDBjMjEuMSAwIDM4LjIgMTcuMSAzOC4yIDM4LjIgMCA2LjQtMS42IDEyLjctNC43IDE4LjNMMzUyIDM4NCA0MDguMiA0NTQuM2M1IDYuMyA3LjggMTQuMSA3LjggMjIuMiAwIDE5LjYtMTUuOSAzNS41LTM1LjUgMzUuNUw2Ny41IDUxMmMtMTkuNiAwLTM1LjUtMTUuOS0zNS41LTM1LjUgMC04LjEgMi43LTE1LjkgNy44LTIyLjJMOTYgMzg0IDQuNyAyMTYuNkMxLjYgMjEwLjkgMCAyMDQuNiAwIDE5OC4yIDAgMTc3LjEgMTcuMSAxNjAgMzguMiAxNjBsMTUzLjggMCAwLTY0LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxORHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtZmxvb2Qtd2F0ZXIiLGljb246WzY0MCw1MTIsW10sImU1MGUiLCJNNDk2IDIwOGw0LjUgMGMxNS4yIDAgMjcuNS0xMi4zIDI3LjUtMjcuNSAwLTcuOS0zLjQtMTUuNS05LjQtMjAuN0wzNDggMTAuNUMzNDAuMyAzLjcgMzMwLjMgMCAzMjAgMHMtMjAuMyAzLjctMjggMTAuNUwxMjEuNCAxNTkuOGMtNiA1LjItOS40IDEyLjgtOS40IDIwLjcgMCAxNS4yIDEyLjMgMjcuNSAyNy41IDI3LjVsNC41IDAgMCA5NC40YzIwLjMtOS40IDQyLjEtMTQuMiA2NC0xNC40IDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNCAyMi4xIDE2LjYgMjkuMSAxNi42IDUxLjIgMCAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjQtMzEuNCAxNi45LS4xIDMzLjggMi42IDUwIDhsMC04OHptLTIyNC04YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OHpNNDc0LjYgNDEyLjFjMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA0MTguMyAxNy42IDQyNi4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptLTcxLjIgOTZjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA1MTQuMyAxNy42IDUyMi4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sRkR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJpdGNvaW4tc2lnbiIsaWNvbjpbMzIwLDUxMixbXSwiZTBiNCIsIk02NCAyNEM2NCAxMC43IDc0LjcgMCA4OCAwczI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQxLjFjNTQuMyA3LjggOTYgNTQuNCA5NiAxMTAuOSAwIDI0LjItNy43IDQ2LjYtMjAuNyA2NC45IDMxLjcgMTkuOCA1Mi43IDU1IDUyLjcgOTUuMSAwIDYxLjktNTAuMSAxMTItMTEyIDExMmwtMTYgMCAwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDAtMzIgMCAwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDAtMjIuMyAwQzE4LjcgNDQ4IDAgNDI5LjMgMCA0MDYuM0wwIDEwMS42QzAgODAuOCAxNi44IDY0IDM3LjYgNjRMNjQgNjQgNjQgMjR6bTAgMjAwbDExMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0xMTIgMCAwIDk2em0xMTIgNjRsLTExMiAwIDAgOTYgMTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhsLTMyIDB6Il19LE9EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3giLGljb246WzQ0OCw1MTIsWzEyODIzMF0sImY0NjYiLCJNMzY5LjQgMTI4bC0zNC4zLTQ4LTIyMi4xIDAtMzQuMyA0OCAyOTAuNyAwek0wIDE0OC41YzAtMTMuMyA0LjItMjYuMyAxMS45LTM3LjJMNjAuOSA0Mi44QzcyLjkgMjYgOTIuMyAxNiAxMTIuOSAxNmwyMjIuMSAwYzIwLjcgMCA0MC4xIDEwIDUyLjEgMjYuOGw0OC45IDY4LjVjNy44IDEwLjkgMTEuOSAyMy45IDExLjkgMzcuMkw0NDggNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNDguNXoiXX0sbDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wbHVzIixpY29uOls0NDgsNTEyLFs2MTg0NiwicGx1cy1zcXVhcmUiXSwiZjBmZSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDAgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHoiXX0sUkR0PWwzZSxjM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWxlZnQtcmlnaHQiLGljb246WzU3Niw1MTIsWyJhcnJvd3MtaCJdLCJmMDdlIiwiTTQ3MC42IDM3NC42bDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNDEuNCA0MS40LTM1Ny41IDAgNDEuNC00MS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42czMuNCAxNi42IDkuNCAyMi42bDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTQxLjQtNDEuNCAzNTcuNSAwLTQxLjQgNDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHoiXX0sQkR0PWMzZSxIRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFuIixpY29uOls1MTIsNTEyLFtdLCJmODYzIiwiTTE2MCAxNDRjMC03OS41IDY0LjUtMTQ0IDE0NC0xNDQgOC44IDAgMTYgNy4yIDE2IDE2bDAgMTUyLjJjMTUtNS4zIDMxLjItOC4yIDQ4LTguMiA3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NCAwIDguOC03LjIgMTYtMTYgMTZsLTE1Mi4yIDBjNS4zIDE1IDguMiAzMS4yIDguMiA0OCAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NC04LjggMC0xNi03LjItMTYtMTZsMC0xNTIuMmMtMTUgNS4zLTMxLjIgOC4yLTQ4IDguMi03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTguOCA3LjItMTYgMTYtMTZsMTUyLjIgMGMtNS4zLTE1LTguMi0zMS4yLTguMi00OHptOTYgMTQ0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0scUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3ciLGljb246WzY0MCw1MTIsW10sImY1MjAiLCJNNDU2LjUgMGMtNDguNiAwLTg4IDM5LjQtODggODhsMCAzNi0zNTUuMiAyNjYuNEMtLjggNDAxLTMuNyA0MjEgNi45IDQzNS4yczMwLjYgMTcgNDQuOCA2LjRsNzYuOC01Ny42IDEzMS4zIDAgNDYuNiAxMTMuMSAxIDIuMmM1LjcgMTAuNyAxOC44IDE1LjUgMzAuMyAxMC44czE3LjMtMTcuMyAxMy45LTI5bC0uOC0yLjMtMzkuMS05NC45IDQwLjkgMGMxLjEgMCAyLjIgMCAzLjIgMGw0Ni42IDExMy4yIDEgMi4yYzUuNyAxMC43IDE4LjggMTUuNSAzMC4zIDEwLjhzMTcuMy0xNy4zIDEzLjktMjlsLS44LTIuMy00Mi0xMDJDNDg1LjMgMzU0LjEgNTQ0LjUgMjgwIDU0NC41IDE5MmwwLTcyIDgwLjUtMjAuMWM4LjYtMi4xIDEzLjgtMTAuOCAxMS42LTE5LjQtNy4xLTI4LjUtMzIuNy00OC41LTYyLjEtNDguNWwtNTAuMSAwQzUwOC4yIDEyLjUgNDgzLjggMCA0NTYuNSAwem0wIDY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sakR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY2lyY2xlLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJlNWEwIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTIyLjctMzEuNS0zNi03MC4yLTM2LTExMiAwLTEwMC42IDc3LjQtMTgzLjIgMTc2LTE5MS4zbDAtMzguMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNNTc2IDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LGRiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxpbmstc2xhc2giLGljb246WzU3Niw1MTIsWyJjaGFpbi1icm9rZW4iLCJjaGFpbi1zbGFzaCIsInVubGluayJdLCJmMTI3IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTEyMi0xMjJjNC4yLTMuNCA4LjMtNy4xIDEyLjEtMTAuOWw3MS4xLTcxLjFjMjkuMy0yOS4zIDQ1LjgtNjkuMSA0NS44LTExMC42IDAtODYuNC03MC0xNTYuNS0xNTYuNS0xNTYuNS0zNy4zIDAtNzMuMSAxMy4zLTEwMS4zIDM3LjIgMjAuMyAxMC4xIDM4LjcgMjMuNSA1NC41IDM5LjUgMTQuMS04LjMgMzAuMi0xMi43IDQ2LjgtMTIuNyA1MS4xIDAgOTIuNSA0MS40IDkyLjUgOTIuNSAwIDI0LjUtOS43IDQ4LTI3LjEgNjUuNGwtNzEuMSA3MS4xYy0zLjkgMy45LTguMSA3LjQtMTIuNiAxMC41bC00Ny41LTQ3LjVjMTYuNS0uOSAyOS43LTE0LjQgMzAuMi0zMS4xIDAtMS4zIDAtMi42IDAtMy45IDAtODYuMy02OS45LTE1Ni45LTE1Ni41LTE1Ni45LTE5LjIgMC0zNy45IDMuNS01NS41IDEwLjJMNDEtMjQuOXpNMjI1LjkgMTYwYy42IDAgMS4xIDAgMS43IDAgMTUuMSAwIDI5LjUgMy43IDQyLjEgMTAuMiAxLjggMS4yIDMuNiAyLjMgNS41IDMuMSAyNi44IDE2LjMgNDQuOCA0NS45IDQ0LjggNzkuNiAwIC40IDAgLjggMCAxLjJMMjI1LjkgMTYwek0zNDYuMiA0MTZMMTkyIDI2MS44YzEuMiA4NC42IDY5LjYgMTUyLjkgMTU0LjEgMTU0LjF6TTEzOS43IDIwOS41bC00NS4zLTQ1LjMtNDguNiA0OC42Yy0yOS4zIDI5LjMtNDUuOCA2OS4xLTQ1LjggMTEwLjYgMCA4Ni40IDcwIDE1Ni41IDE1Ni41IDE1Ni41IDM3LjIgMCA3My4xLTEzLjMgMTAxLjMtMzcuMi0yMC4zLTEwLjEtMzguOC0yMy41LTU0LjYtMzkuNS0xNCA4LjItMzAuMSAxMi42LTQ2LjcgMTIuNi01MS4xIDAtOTIuNS00MS40LTkyLjUtOTIuNSAwLTI0LjUgOS43LTQ4IDI3LjEtNjUuNGw0OC42LTQ4LjZ6Il19LFZEdD1kYixVRHQ9ZGIsV0R0PWRiLHViPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJvdGF0ZS1yaWdodCIsaWNvbjpbNTEyLDUxMixbODYzNSwiYXJyb3ctcmlnaHQtcm90YXRlIiwiYXJyb3ctcm90YXRlLWZvcndhcmQiLCJyZWRvIl0sImYwMWUiLCJNNDM2LjcgNzQuN0w0NDggODUuNCA0NDggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDcuOSAwLTcuNi03LjJjLS4yLS4yLS40LS40LS42LS42LTc1LTc1LTE5Ni41LTc1LTI3MS41IDBzLTc1IDE5Ni41IDAgMjcxLjUgMTk2LjUgNzUgMjcxLjUgMGM4LjItOC4yIDE1LjUtMTYuOSAyMS45LTI2LjEgMTAuMS0xNC41IDMwLjEtMTggNDQuNi03LjlzMTggMzAuMSA3LjkgNDQuNmMtOC41IDEyLjItMTguMiAyMy44LTI5LjEgMzQuNy0xMDAgMTAwLTI2Mi4xIDEwMC0zNjIgMFMtMjUgMTc1IDc1IDc1Yzk5LjktOTkuOSAyNjEuNy0xMDAgMzYxLjctLjN6Il19LEdEdD11YixZRHQ9dWIsWkR0PXViLGQzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tY2xpcCIsaWNvbjpbNTEyLDUxMixbInBlbi1hbHQiXSwiZjMwNSIsIk00MDQgMGMxOS4yIDAgMzcuNiA3LjYgNTEuMSAyMS4ybDM1LjcgMzUuN0M1MDQuNCA3MC40IDUxMiA4OC44IDUxMiAxMDhzLTcuNiAzNy42LTIxLjIgNTEuMUw0NDUuOSAyMDQgMzA4IDY2LjEgMzUyLjkgMjEuMkMzNjYuNCA3LjYgMzg0LjggMCA0MDQgMHpNMjc0LjEgMTAwbDAgMCAxMzcuOSAxMzcuOS0yMTUuMSAyMTUuMWMtMTAuNyAxMC43LTI0LjEgMTguNS0zOC43IDIyLjZMMzAuNCA1MTEuMWMtOC4zIDIuMy0xNy4zIDAtMjMuNC02LjJzLTguNS0xNS4xLTYuMi0yMy40TDM2LjQgMzUzLjhjNC4xLTE0LjYgMTEuOC0yNy45IDIyLjYtMzguN0wyNDAuMSAxMzMuOSAyMjMgMTE2LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDg5IDIxN2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwxNTUuMSA4Mi45YzI4LjEtMjguMSA3My43LTI4LjEgMTAxLjggMEwyNzQuMSAxMDB6Il19LFhEdD1kM2UsUUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvb3ItY2xvc2VkIixpY29uOls0NDgsNTEyLFsxMjg2ODJdLCJmNTJhIiwiTTMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyTDMyIDY0ek0zMjAgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sd0E9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi13aWRlLXNob3J0IixpY29uOls1NzYsNTEyLFsic29ydC1hbW91bnQtYXNjIiwic29ydC1hbW91bnQtZG93biJdLCJmMTYwIiwiTTI0Ni42IDM3NC42bC05NiA5NmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDk2IDM3MC43IDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDYuNyA0MS40LTQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMzIwIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwem0wLTEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwem0wLTEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYwIDB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyMCA5NnoiXX0sSkR0PXdBLEtEdD13QSxlQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyZXQtZG93biIsaWNvbjpbMzIwLDUxMixbXSwiZjBkNyIsIk0xNDAuMyAzNzYuOGMxMi42IDEwLjIgMzEuMSA5LjUgNDIuOC0yLjJsMTI4LTEyOGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVMzMDEuNCAxOTIgMjg4LjUgMTkybC0yNTYgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOFMuNyAyMzcuNSA5LjkgMjQ2LjZsMTI4IDEyOCAyLjQgMi4yeiJdfSx0QXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiayIsaWNvbjpbMzIwLDUxMixbMTA3XSwiNGIiLCJNMzExIDg2LjNjMTIuMy0xMi43IDEyLTMyLjktLjctNDUuMnMtMzIuOS0xMi00NS4yIC43QzE0My40IDE2Ny4yIDc2LjQgMjM2LjMgNjQgMjQ5TDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMDcgNjQuNy02Ni43IDEzMyAxOTJjMTAuMSAxNC41IDMwIDE4LjEgNDQuNSA4LjFzMTguMS0zMCA4LjEtNDQuNUwxNzQuMSAyMjcuNCAzMTEgODYuM3oiXX0sdTNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZWNrLXRvLXNsb3QiLGljb246WzU3Niw1MTIsWyJ2b3RlLXllYSJdLCJmNzcyIiwiTTU1MiAyODhjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDMxMmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTA0YzAgOC44IDcuMiAxNiAxNiAxNmw0NDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQxNiAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDk2IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI1NiAwem0tMzcuMSA4NC42Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM2wtODUuNiAxMTcuNy0yNi41LTI3LjRjLTkuMi05LjUtMjQuNC05LjgtMzMuOS0uNi05LjUgOS4yLTkuOCAyNC40LS42IDMzLjlsNDYuNCA0OGM0LjkgNS4xIDExLjggNy44IDE4LjkgNy4zczEzLjYtNC4xIDE3LjgtOS44TDM4NC4yIDE1MC4xYzcuOC0xMC43IDUuNC0yNS43LTUuMy0zMy41eiJdfSxyQXQ9dTNlLGFBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXNoLWZpbnMiLGljb246WzU3Niw1MTIsW10sImU0ZjIiLCJNMjc1LjIgMzguNGMtMTAuNi04LTI1LTguNS0zNi4zLTEuNVMyMjIgNTcuMyAyMjQuNiA3MC4zbDkuNyA0OC42Yy0xOS40IDktMzYuOSAxOS45LTUyLjQgMzEuNS0xNS4zIDExLjUtMjkgMjMuOS00MC43IDM2LjNMNDguMSAxMzIuNGMtMTIuNS03LjMtMjguNC01LjMtMzguNyA0LjlzLTEyLjQgMjYtNS4zIDM4LjZMNTAgMjU2IDQuMiAzMzYuMWMtNy4yIDEyLjYtNSAyOC40IDUuMyAzOC42czI2LjEgMTIuMiAzOC43IDQuOWw5My4xLTU0LjNjMTEuOCAxMi4zIDI1LjQgMjQuOCA0MC43IDM2LjMgMTUuNSAxMS42IDMzIDIyLjUgNTIuNCAzMS41bC05LjcgNDguNmMtMi42IDEzIDMuMSAyNi4zIDE0LjMgMzMuM3MyNS42IDYuNSAzNi4zLTEuNWw3Ny42LTU4LjJjNTQuOS00IDEwMS41LTI3IDEzNy4yLTUzLjggMzkuMi0yOS40IDY3LjItNjQuNyA4MS42LTg5LjUgNS44LTkuOSA1LjgtMjIuMiAwLTMyLjEtMTQuNC0yNC44LTQyLjUtNjAuMS04MS42LTg5LjUtMzUuOC0yNi44LTgyLjMtNDkuOC0xMzcuMi01My44TDI3NS4yIDM4LjR6TTM4NCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0saUF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXByZXNzIixpY29uOls0NDgsNTEyLFtdLCJmMDY2IiwiTTE2MCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlM5NiA0Ni4zIDk2IDY0bDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZ6TTMyIDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwek0zNTIgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNjR6TTMyMCAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDB6Il19LHAzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1hLXoiLGljb246WzUxMiw1MTIsWyJzb3J0LWFscGhhLXVwIl0sImYxNWUiLCJNNDEyLjYgNDkuN0M0MDcuMiAzOC44IDM5Ni4xIDMyIDM4NCAzMnMtMjMuMiA2LjgtMjguNiAxNy43Yy01MC43IDEwMS4zLTc3LjMgMTU0LjctODAgMTYwLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2w3LjItMTQuMyA4OC40IDAgNy4yIDE0LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45Yy0yLjctNS4zLTI5LjMtNTguNy04MC0xNjB6TTM4NCAxMzUuNmwyMC4yIDQwLjQtNDAuNCAwIDIwLjItNDAuNHpNMjg4IDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw1MC43IDAtNzMuNCA3My40Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOVMzMDcuMSA0ODAgMzIwIDQ4MGwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTAuNyAwIDczLjQtNzMuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0NjAuOSAyODggNDQ4IDI4OGwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtODAgODBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyAyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODB6Il19LG5BdD1wM2Usc0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZ3JhZHVhdGUiLGljb246WzQ0OCw1MTIsW10sImY1MDEiLCJNMjQxLjMtMTNjLTExLjQtMi4zLTIzLjEtMi4zLTM0LjUgMEwxOS4zIDI0LjVDOC4xIDI2LjcgMCAzNi42IDAgNDggMCA1OC4zIDYuNSA2Ny4zIDE2IDcwLjZMMTYgMTQ0IC4zIDIyMi42Yy0uMiAuOS0uMyAxLjktLjMgMi45IDAgOCA2LjUgMTQuNiAxNC42IDE0LjZsMzQuOSAwYzggMCAxNC42LTYuNSAxNC42LTE0LjYgMC0xLS4xLTEuOS0uMy0yLjlMNDggMTQ0IDQ4IDc3LjMgOTYgODYuOSA5NiAxNDRjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhzMTI4LTU3LjMgMTI4LTEyOGwwLTU3LjEgNzYuNy0xNS4zQzQzOS45IDY5LjMgNDQ4IDU5LjQgNDQ4IDQ4cy04LjEtMjEuMy0xOS4zLTIzLjVMMjQxLjMtMTN6TTIyNCAyMjRjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDE2MCAwYzAgNDQuMi0zNS44IDgwLTgwIDgwek0xMjAuMSAzMjAuMUM1OC43IDM0OC4zIDE2IDQxMC4zIDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDE1NC4zIDAgMC0xNDYtNTcuNC00M2MtNi41LTQuOS0xNS4yLTYuMi0yMi42LTIuOHpNMjQ4IDUxMmwxNTQuMyAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtNzItNDIuNy0xMzQtMTA0LjEtMTYyLjEtNy40LTMuNC0xNi4xLTIuMS0yMi42IDIuOGwtNTcuNCA0MyAwIDE0NnoiXX0sb0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY29kZSIsaWNvbjpbMzg0LDUxMixbXSwiZjFjOSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTU0LjIgMjk1LjZjOC42LTEwLjEgNy41LTI1LjItMi42LTMzLjhzLTI1LjItNy41LTMzLjggMi42bC00OCA1NmMtNy43IDktNy43IDIyLjIgMCAzMS4ybDQ4IDU2YzguNiAxMC4xIDIzLjggMTEuMiAzMy44IDIuNnMxMS4yLTIzLjggMi42LTMzLjhsLTM0LjYtNDAuNCAzNC42LTQwLjR6bTExMi0zMS4yYy04LjYtMTAuMS0yMy44LTExLjItMzMuOC0yLjZzLTExLjIgMjMuOC0yLjYgMzMuOGwzNC42IDQwLjQtMzQuNiA0MC40Yy04LjYgMTAuMS03LjUgMjUuMiAyLjYgMzMuOHMyNS4yIDcuNSAzMy44LTIuNmw0OC01NmM3LjctOSA3LjctMjIuMiAwLTMxLjJsLTQ4LTU2eiJdfSxsQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29hcCIsaWNvbjpbNTEyLDUxMixbMTI5NTMyXSwiZTA2ZSIsIk0yMDgtMzJhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek0zMjAgOTZhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTM1MiAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTk2IDE2MGwxMTIgMGMwIDIzLjggNy40IDQ1LjkgMjAuMSA2NEwxNjAgMjI0Yy01MyAwLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2bDE5MiAwYzUzIDAgOTYtNDMgOTYtOTYgMC0zNS4xLTE4LjktNjUuOS00Ny04Mi42IDE5LTE5LjggMzAuNy00Ni42IDMxLTc2LjEgNDUuNCA3LjYgODAgNDcuMSA4MCA5NC43bDAgMTI4YzAgNTMtNDMgOTYtOTYgOTZMOTYgNDgwYy01MyAwLTk2LTQzLTk2LTk2TDAgMjU2YzAtNTMgNDMtOTYgOTYtOTZ6bTY0IDExMmwxOTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTkyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDh6Il19LGNBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWN5Y2xlIixpY29uOls1MTIsNTEyLFs5ODQyLDk4NTAsOTg1MV0sImYxYjgiLCJNMTUyLjMgNjBDMTk4LjUtMjAgMzE0LTIwIDM2MC4yIDYwbDM3LjMgNjQuNiAyNy43LTE2YzguNC00LjkgMTguOS00LjIgMjYuNiAxLjdzMTEuMSAxNS45IDguNiAyNS4zTDQzNi45IDIyM2MtMy40IDEyLjgtMTYuNiAyMC40LTI5LjQgMTdsLTg3LjQtMjMuNGMtOS40LTIuNS0xNi4zLTEwLjQtMTcuNi0yMHMzLjQtMTkuMSAxMS44LTIzLjlsMjcuNy0xNi0zNy4zLTY0LjZjLTIxLjYtMzcuMy03NS40LTM3LjMtOTcgMGwtNS4zIDkuMWMtOC44IDE1LjMtMjguNCAyMC41LTQzLjcgMTEuN1MxMzguMiA4NC41IDE0NyA2OS4xbDUuMy05LjF6TTQ0OS43IDI3OS4xYzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN2w1LjMgOS4xYzQ2LjIgODAtMTEuNSAxODAtMTAzLjkgMTgwbC03NC42IDAgMCAzMmMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNjQtNjRjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMnMxNC44IDEyLjUgMTQuOCAyMi4ybDAgMzIgNzQuNiAwYzQzLjEgMCA3MC4xLTQ2LjcgNDguNS04NGwtNS4zLTkuMWMtOC44LTE1LjMtMy42LTM0LjkgMTEuNy00My43ek01MSAyMzUuNGwtMjcuNy0xNmMtOC40LTQuOS0xMy4xLTE0LjMtMTEuOC0yMy45czguMi0xNy41IDE3LjYtMjBMMTE2LjUgMTUyYzEyLjgtMy40IDI2IDQuMiAyOS40IDE3bDIzLjQgODcuNGMyLjUgOS40LS45IDE5LjMtOC42IDI1LjNzLTE4LjIgNi42LTI2LjYgMS43bC0yNy43LTE2LTM3LjMgNjQuNmMtMjEuNiAzNy4zIDUuNCA4NCA0OC41IDg0bDEwLjYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTAuNiAwQzI1LjMgNDgwLTMyLjQgMzgwIDEzLjggMzAwTDUxIDIzNS40eiJdfSxmM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXdpbmsiLGljb246WzUxMiw1MTIsWyJncmluLXdpbmsiXSwiZjU4YyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTMyOCAxOTZjLTExIDAtMjAgOS0yMCAyMHMtOSAyMC0yMCAyMC0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDB6TTE3NiAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxkQXQ9ZjNlLE1BPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhdGVyLWxhZGRlciIsaWNvbjpbNjQwLDUxMixbImxhZGRlci13YXRlciIsInN3aW1taW5nLXBvb2wiXSwiZjVjNSIsIk0zNzQuNSA0MDUuN2MzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTYuOSAxMi43IDMyLjkgMjEuNSA0Ny44IDI0LjYgMTMuNyAyLjggMjcuNCAuOSA0Mi4zLTEwLjMgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOCAyNS43LTQuOCAzMy42Yy0yNi40IDE5LjktNTQuMiAyNC40LTgwLjcgMTkuMS0yNS4zLTUuMS00OC4xLTE4LjktNjcuMi0zMy4zLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTI0LjIgMTguMy01Mi4zIDM1LjktODMuNCAzNS45cy01OS4xLTE3LjctODMuMy0zNS45Yy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMC0yMy44IDE3LjktNTQuMSAzNS41LTg4LjEgMzUuMy0yMC40LS4xLTQwLjctNi43LTU5LjgtMjEuMS0xMC42LTgtMTIuNy0yMy00LjctMzMuNnMyMy0xMi43IDMzLjYtNC43YzExLjMgOC41IDIxLjYgMTEuNCAzMS4yIDExLjUgMTcuNiAuMSAzNy4zLTkuNCA1OC45LTI1LjcgMzguNC0yOSA5MC42LTI5IDEyOSAwIDI0IDE4LjEgNDAuNyAyNi4zIDU0LjUgMjYuM3MzMC41LTguMiA1NC41LTI2LjN6TTUxMS44IDMyYzQ4LjMgMCA4OSAzNiA5NSA4My45bDEgOC4yYzIuMiAxNy41LTEwLjIgMzMuNS0yNy44IDM1LjdzLTMzLjUtMTAuMi0zNS43LTI3LjhsLTEtOC4yYy0yLTE1LjktMTUuNS0yNy44LTMxLjUtMjcuOC0xNy41IDAtMzEuOCAxNC4yLTMxLjggMzEuOGwwIDIxMS44Yy0yMy4xLTUuMS00NC45LTQuNC02NC0uNGwwLTUxLjItMTkyIDAgMCA0OC43Yy01LjMtLjUtMTAuNy0uOC0xNi0uNy0xNi4yIC4xLTMyLjQgMi43LTQ4IDhsMC0yMTYuMmMwLTUyLjkgNDIuOS05NS44IDk1LjctOTUuOCA0OC4zIDAgODkgMzYgOTUgODMuOWwxIDguMmMyLjIgMTcuNS0xMC4yIDMzLjUtMjcuOCAzNS43cy0zMy41LTEwLjItMzUuNy0yNy44bC0xLTguMmMtMi0xNS45LTE1LjUtMjcuOC0zMS41LTI3LjgtMTcuNSAwLTMxLjcgMTQuMi0zMS43IDMxLjhsMCA5Ni4yIDE5MiAwIDAtOTYuMkM0MTYgNzQuOSA0NTguOSAzMiA1MTEuOCAzMnoiXX0sdUF0PU1BLHBBdD1NQSxmQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2VtaW5pIixpY29uOls0NDgsNTEyLFtdLCJlODQ5IiwiTTM5NS40IDhjMTMuMi0xMS43IDMzLjMtMTAuNSA0NS4xIDIuNyAxMS43IDEzLjIgMTAuNSAzMy40LTIuNyA0NS4yLTIuNyAyLjQtMjMuMSAxOS44LTU4LjMgMzYuOC04LjIgNC0xNy4yIDcuOS0yNyAxMS42bDAgMzAzLjJjOS44IDMuOCAxOC44IDcuNiAyNyAxMS42IDE4LjIgOC44IDMyLjQgMTcuNyA0Mi4yIDI0LjUgMyAyLjEgNS41IDQuMSA3LjcgNS43IDEuMiAuOSAyLjMgMS42IDMuMiAyLjQgLjIgLjEgLjMgLjIgLjUgLjQgMS4zIDEuMSAyLjQgMiAzLjIgMi42IC40IC4zIC43IC42IC45IC44IC4xIC4xIC4zIC4yIC4zIC4zIDAgMCAuMSAuMSAuMSAuMWwuMSAwIDAgMCAwIDBjMy4zIDIuOSA1LjkgNi40IDcuNyAxMC4yIDUuNCAxMS4zIDMuOCAyNS4xLTUgMzUtLjMgLjQtLjcgLjctMS4xIDEuMS0xMS45IDEyLjItMzEuMiAxMy4xLTQ0IDEuNy0uMy0uMy0xLjUtMS4zLTMuNS0yLjgtLjQtLjMtLjktLjctMS41LTEuMS0xLjktMS40LTQuMi0zLjEtNy4xLTUuMS0yLjItMS41LTQuNy0zLjEtNy40LTQuOC02LjYtNC4xLTE0LjgtOC44LTI0LjQtMTMuNS03LjQtMy42LTE1LjYtNy4yLTI0LjctMTAuNS0xMy42LTUuMS0yOS05LjYtNDYuMS0xMi45LTUuNy0xLjEtMTEuNi0yLjEtMTcuNy0yLjgtMTIuMS0xLjYtMjUtMi41LTM4LjYtMi41LTU0LjIgMC05Ny40IDE0LjQtMTI3IDI4LjgtMy40IDEuNi02LjUgMy4zLTkuNSA0LjktNS4xIDIuOC05LjcgNS40LTEzLjggNy45LTMuMyAyLjEtNi4zIDQtOC45IDUuNy0xLjcgMS4yLTMuMiAyLjMtNC42IDMuMy0xLjkgMS40LTMuNSAyLjUtNC42IDMuNC0xLjQgMS4xLTIuMiAxLjgtMi41IDItMTMuMiAxMS43LTMzLjMgMTAuNS00NS4xLTIuOC0yLjItMi41LTQtNS4yLTUuMi04LjFzLTIuMS01LjktMi41LTguOWMtMS40LTEwLjIgMi4yLTIwLjggMTAuNC0yOC4yIC4yLS4yIC42LS41IDEuMi0xIC4xLS4xIC4yLS4yIC4zLS4zbDMuMi0yLjZjMS43LTEuMyAzLjctMi44IDYuMi00LjYgMS42LTEuMiAzLjMtMi41IDUuMi0zLjggOS44LTYuOCAyNC0xNS43IDQyLjItMjQuNSA4LjItNCAxNy4yLTcuOSAyNy0xMS42bDAtMzAzLjJDODYuNyAxMDAuNiA3Ny43IDk2LjcgNjkuNSA5Mi44IDM0LjMgNzUuNyAxNCA1OC4zIDExLjMgNTUuOS0xLjkgNDQuMi0zLjEgMjQgOC42IDEwLjcgMjAuMy0yLjUgNDAuNS0zLjcgNTMuNyA4IDU1LjEgOS4yIDcwLjcgMjIuMiA5Ny41IDM1LjIgMTI3LjEgNDkuNiAxNzAuMyA2NCAyMjQuNSA2NHM5Ny40LTE0LjQgMTI3LTI4LjhjMjYuOC0xMyA0Mi40LTI2IDQzLjgtMjcuMnpNMjg4LjUgMTIyLjNjLTE5LjcgMy41LTQxIDUuNy02NCA1LjdzLTQ0LjMtMi4yLTY0LTUuN2wwIDI2Ny40YzEyLjYtMi4zIDI1LjktNCAzOS45LTQuOSA3LjgtLjUgMTUuOC0uOCAyNC0uOCAyMyAwIDQ0LjQgMi4yIDY0IDUuN2wwLTI2Ny40eiJdfSxoQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG93ZXItY2VsbCIsaWNvbjpbNTc2LDUxMixbXSwiZTU4NSIsIk01OS42IDkuOEM0Ny4zIDQuOCAzMy4zIDEwLjcgMjguNCAyMyAxNS4yIDU1LjUgOCA5MC45IDggMTI4czcuMiA3Mi41IDIwLjQgMTA1YzUgMTIuMyAxOSAxOC4yIDMxLjMgMTMuMnMxOC4yLTE5IDEzLjItMzEuM0M2MiAxODguMiA1NiAxNTguOCA1NiAxMjhzNi02MC4yIDE2LjktODdjNS0xMi4zLTEtMjYuMy0xMy4yLTMxLjN6bTQ1Ni44IDBjLTEyLjMgNS0xOC4yIDE5LTEzLjIgMzEuMyAxMC45IDI2LjggMTYuOSA1Ni4yIDE2LjkgODdzLTYgNjAuMi0xNi45IDg3Yy01IDEyLjMgMSAyNi4zIDEzLjIgMzEuM3MyNi4zLTEgMzEuMy0xMy4yYzEzLjEtMzIuNSAyMC40LTY3LjkgMjAuNC0xMDVzLTcuMi03Mi41LTIwLjQtMTA1Yy01LTEyLjMtMTktMTguMi0zMS4zLTEzLjJ6TTM0MC4xIDE2NS4yYzcuNS0xMC41IDExLjktMjMuMyAxMS45LTM3LjIgMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjRjMCAxMy45IDQuNCAyNi43IDExLjkgMzcuMkw5OC45IDQ2Ni44Yy03LjMgMTYuMS0uMiAzNS4xIDE1LjkgNDIuNHMzNS4xIC4yIDQyLjQtMTUuOWwyMC42LTQ1LjIgMjIwLjYgMCAyMC42IDQ1LjJjNy4zIDE2LjEgMjYuMyAyMy4yIDQyLjQgMTUuOXMyMy4yLTI2LjMgMTUuOS00Mi40TDM0MC4xIDE2NS4yek0zNzYuNSA0MDBsLTE3NyAwIDIxLjgtNDggMTMzLjMgMCAyMS44IDQ4ek0yODggMjA1LjNsNDQuOCA5OC43LTg5LjcgMCA0NC44LTk4Ljd6TTE2My4zIDczLjZjNS4zLTEyLjEtLjItMjYuMy0xMi40LTMxLjZzLTI2LjMgLjItMzEuNiAxMi40QzEwOS41IDc3IDEwNCAxMDEuOSAxMDQgMTI4czUuNSA1MSAxNS4zIDczLjZjNS4zIDEyLjEgMTkuNSAxNy43IDMxLjYgMTIuNHMxNy43LTE5LjUgMTIuNC0zMS42QzE1NiAxNjUuOCAxNTIgMTQ3LjQgMTUyIDEyOHM0LTM3LjggMTEuMy01NC40ek00NTYuNyA1NC40Yy01LjMtMTIuMS0xOS41LTE3LjctMzEuNi0xMi40cy0xNy43IDE5LjUtMTIuNCAzMS42QzQyMCA5MC4yIDQyNCAxMDguNiA0MjQgMTI4cy00IDM3LjgtMTEuMyA1NC40Yy01LjMgMTIuMSAuMiAyNi4zIDEyLjQgMzEuNnMyNi4zLS4yIDMxLjYtMTIuNEM0NjYuNSAxNzkgNDcyIDE1NC4xIDQ3MiAxMjhzLTUuNS01MS0xNS4zLTczLjZ6Il19LG1BdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2xvbi1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMTQwIiwiTTIxMy44IDguN2MxMi45IDMuMiAyMC43IDE2LjIgMTcuNSAyOS4xbC00LjYgMTguNWMxNS40IC44IDMwLjQgMy40IDQ0LjcgNy41bDkuNC0zNy42QzI4My45IDEzLjMgMjk3IDUuNSAzMDkuOCA4LjdTMzMwLjUgMjUgMzI3LjMgMzcuOEwzMTYgODIuOGMxMy41IDcuOCAyNiAxNy4xIDM3LjIgMjcuOCAxMi45IDEyLjEgMTMuNCAzMi40IDEuMyA0NS4ycy0zMi40IDEzLjQtNDUuMiAxLjNjLTMuMS0yLjktNi40LTUuOC05LjgtOC40TDIzOS4yIDM5MGMyNi45LTQuNiA1MS4xLTE3LjEgNzAuMS0zNS4xIDEyLjktMTIuMSAzMy4xLTExLjUgNDUuMiAxLjNzMTEuNSAzMy4xLTEuMyA0NS4yYy0zNC4zIDMyLjMtODAgNTIuOC0xMzAuNSA1NC40bC03LjUgMjkuOWMtMy4yIDEyLjktMTYuMiAyMC43LTI5LjEgMTcuNXMtMjAuNy0xNi4yLTE3LjUtMjkuMWw1LjYtMjIuNWMtMTUtMy4yLTI5LjQtOC00Mi45LTE0LjRsLTEyLjEgNDguNWMtMy4yIDEyLjktMTYuMiAyMC43LTI5LjEgMTcuNVM2OS41IDQ4NyA3Mi43IDQ3NC4ybDE2LTYzLjlDNDQuMyAzNzMuNiAxNiAzMTguMSAxNiAyNTYgMTYgMTU5LjIgODQuOCA3OC40IDE3Ni4zIDYwbDguNC0zMy44QzE4Ny45IDEzLjMgMjAxIDUuNSAyMTMuOCA4Ljd6TTE1OCAxMzIuOWMtNDYuMSAyMS44LTc4IDY4LjctNzggMTIzLjEgMCAzMC41IDEwIDU4LjYgMjYuOSA4MS4zTDE1OCAxMzIuOXpNMTQ3LjQgMzczLjRjMTMgNy42IDI3LjMgMTMuMSA0Mi41IDE2LjFsNjUuOS0yNjMuNmMtMTIuNi0zLjgtMjUuOS01LjktMzkuOC01LjktMS44IDAtMy41IDAtNS4zIC4xTDE0Ny40IDM3My40eiJdfSxnQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFwdG9wLWZpbGUiLGljb246WzU3Niw1MTIsW10sImU1MWQiLCJNNjQgNjRDNjQgMjguNyA5Mi43IDAgMTI4IDBMNDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OC02NCAwIDAtNDgtMjg4IDAgMCAxOTIgMTEyIDAgMCA5Ni0xNjMuMiAwQzM0LjQgMzUyIDAgMzE3LjYgMCAyNzUuMiAwIDI2NC42IDguNiAyNTYgMTkuMiAyNTZMNjQgMjU2IDY0IDY0ek01MjkuOSAyNTcuOWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOUw1NDQgNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yNTZjMC0yNi41IDIxLjUtNDggNDgtNDhsNzYuMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjEgMjAgMjAgNDcuOSA0Ny45IDgzLjkgODMuOXpNNDE2IDI3MmMwIDguOCA3LjIgMTYgMTYgMTZsNjAuMSAwLTc2LjEtNzYuMSAwIDYwLjF6Il19LGgzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWhhaSIsaWNvbjpbNTc2LDUxMixbImhheWthbCJdLCJmNjY2IiwiTTI4OC40LThjMTMuMiAwIDI1IDguMSAyOS44IDIwLjRsMzEuOSA4MiA3Ny4yLTQyLjNjMTEuNi02LjMgMjUuOC00LjkgMzUuOSAzLjVzMTQgMjIuMyA5LjcgMzQuOGwtMjguMiA4My4zIDg2LjMgMTcuMmMxMi45IDIuNiAyMyAxMi44IDI1LjMgMjUuOHMtMy42IDI2LjEtMTQuOSAzMi45bC03NS4yIDQ1LjcgNTUgNjguNmM4LjMgMTAuMyA5LjMgMjQuNiAyLjcgMzZzLTE5LjUgMTcuNi0zMi42IDE1LjZsLTg3LTEzLjMtMiA4OGMtLjMgMTMuMi04LjYgMjQuOC0yMSAyOS40cy0yNi4zIDEtMzUtOWwtNTgtNjYuMS01OCA2Ni4xYy04LjcgOS45LTIyLjYgMTMuNS0zNSA5cy0yMC44LTE2LjItMjEtMjkuNGwtMi04OC04NyAxMy4zYy0xMyAyLTI2LTQuMi0zMi42LTE1LjZzLTUuNS0yNS43IDIuNy0zNmw1NS02OC42LTc1LjItNDUuN2MtMTEuMy02LjgtMTcuMi0xOS45LTE0LjktMzIuOXMxMi4zLTIzLjIgMjUuMy0yNS44bDg2LjMtMTcuMi0yOC4yLTgzLjNjLTQuMi0xMi41LS40LTI2LjMgOS43LTM0LjhzMjQuNC05LjkgMzUuOS0zLjVsNzcuMSA0Mi4zIDMxLjktODJDMjYzLjMgLjEgMjc1LjItOCAyODguNC04em0wIDEyMC4yTDI3MyAxNTEuNmMtMy4zIDguNi0xMC4yIDE1LjMtMTguOSAxOC41cy0xOC4yIDIuNC0yNi4zLTJsLTM3LTIwLjMgMTMuNiA0MGMzIDguNyAyIDE4LjMtMi42IDI2LjNzLTEyLjQgMTMuNi0yMS41IDE1LjRsLTQxLjQgOC4zIDM2LjEgMjEuOWM3LjkgNC44IDEzLjMgMTIuNyAxNC45IDIxLjhzLS44IDE4LjQtNi41IDI1LjZsLTI2LjQgMzMgNDEuOC02LjRjOS4xLTEuNCAxOC40IDEuMiAyNS40IDcuMXMxMS4yIDE0LjYgMTEuNCAyMy44bC45IDQyLjIgMjcuOS0zMS44YzYuMS02LjkgMTQuOC0xMC45IDI0LjEtMTAuOXMxOCA0IDI0LjEgMTAuOWwyNy45IDMxLjggLjktNDIuMmMuMi05LjIgNC40LTE3LjkgMTEuNC0yMy44czE2LjMtOC41IDI1LjQtNy4xbDQxLjggNi40LTI2LjQtMzNjLTUuOC03LjItOC4yLTE2LjUtNi42LTI1LjZzNy0xNyAxNC45LTIxLjhsMzYuMS0yMS45LTQxLjQtOC4zYy05LTEuOC0xNi45LTcuNC0yMS41LTE1LjRzLTUuNS0xNy42LTIuNi0yNi4zbDEzLjYtNDAtMzcgMjAuM2MtOC4xIDQuNC0xNy43IDUuMi0yNi4zIDJzLTE1LjUtOS45LTE4LjktMTguNWwtMTUuMy0zOS40eiJdfSxiQXQ9aDNlLG0zZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLTEiLGljb246WzUxMiw1MTIsWyJtb25leS1iaWxsLWFsdCJdLCJmM2QxIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0xOTIgODBhMTEyIDExMiAwIDEgMSAwIDIyNCAxMTIgMTEyIDAgMSAxIDAtMjI0ek02NCAxODRsMC00OGMwLTQuNCAzLjYtOCA4LThsNDggMGM0LjQgMCA4LjEgMy42IDcuNSA4LTMuNiAyOS0yNi42IDUxLjktNTUuNSA1NS41LTQuNCAuNS04LTMuMS04LTcuNXptMCAxNDRjMC00LjQgMy42LTguMSA4LTcuNSAyOSAzLjYgNTEuOSAyNi42IDU1LjUgNTUuNSAuNSA0LjQtMy4xIDgtNy41IDhsLTQ4IDBjLTQuNCAwLTgtMy42LTgtOGwwLTQ4ek00NDAgMTkxLjVjLTI5LTMuNi01MS45LTI2LjYtNTUuNS01NS41LS41LTQuNCAzLjEtOCA3LjUtOGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQ4YzAgNC40LTMuNiA4LjEtOCA3LjV6TTQ0OCAzMjhsMCA0OGMwIDQuNC0zLjYgOC04IDhsLTQ4IDBjLTQuNCAwLTguMS0zLjYtNy41LTggMy42LTI5IDI2LjYtNTEuOSA1NS41LTU1LjUgNC40LS41IDggMy4xIDggNy41ek0yNDAgMTg4Yy0xMSAwLTIwIDktMjAgMjAgMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGw0OCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtNCAwIDAtNjhjMC0xMS05LTIwLTIwLTIwbC0xNiAweiJdfSx2QXQ9bTNlLGczZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1ib2x0IixpY29uOls1MTIsNTEyLFsxMjc3ODUsInRodW5kZXJzdG9ybSJdLCJmNzZjIiwiTTAgMjI0YzAgNTMgNDMgOTYgOTYgOTZsMzguNiAwIDEyNC4xLTExMWMxMi4yLTEwLjkgMjgtMTcgNDQuNC0xNyA0NC42IDAgNzYuNSA0MyA2My43IDg1LjdMMzU0LjEgMzIwIDQxNiAzMjBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLS41IDAtMS4xIDAtMS42IDAgMS4xLTUuMiAxLjYtMTAuNSAxLjYtMTYgMC00NC4yLTM1LjgtODAtODAtODAtMjQuMyAwLTQ2LjEgMTAuOS02MC44IDI4LTE4LjctMzUuNy01Ni4xLTYwLTk5LjItNjAtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCA3LjEgLjcgMTQuMSAxLjkgMjAuOC0zOC4zIDEyLjYtNjUuOSA0OC43LTY1LjkgOTEuMnpNMTYwLjYgNDAwbDYxLjggMC0zMS4yIDEwNC4xYy0zLjYgMTEuOSA1LjMgMjMuOSAxNy44IDIzLjkgNC42IDAgOS0xLjcgMTIuNC00LjdMMzYyLjUgMzk2LjljMy41LTMuMSA1LjUtNy42IDUuNS0xMi40IDAtOS4yLTcuNC0xNi42LTE2LjYtMTYuNmwtNjEuOCAwIDMxLjItMTA0LjFjMy42LTExLjktNS4zLTIzLjktMTcuOC0yMy45LTQuNiAwLTkgMS43LTEyLjQgNC43TDE0OS41IDM3MS4xYy0zLjUgMy4xLTUuNSA3LjYtNS41IDEyLjQgMCA5LjIgNy40IDE2LjYgMTYuNiAxNi42eiJdfSx4QXQ9ZzNlLHlBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJldGhlcm5ldCIsaWNvbjpbNTEyLDUxMixbXSwiZjc5NiIsIk0wIDIyNEwwIDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwIDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDQgNjQgMCAwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTA0IDY0IDAgMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNCA2NCAwIDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDQgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMTYwIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LGIzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJocnl2bmlhLXNpZ24iLGljb246WzM4NCw1MTIsWzgzNzIsImhyeXZuaWEiXSwiZjZmMiIsIk0zMzYgMTQ5LjRDMzM2IDc3IDI2OC41IDIzLjUgMTk4IDQwLjFMOTMuMiA2NC45Qzc2IDY4LjkgNjUuNCA4Ni4yIDY5LjQgMTAzLjRzMjEuMyAyNy45IDM4LjUgMjMuOGwxMDQuOC0yNC43YzMwLjMtNy4xIDU5LjMgMTUuOCA1OS4zIDQ2LjkgMCAxNy42LTkuNiAzMy44LTI1IDQyLjNsLS43IC40LTIyMi4zIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyLjQgMGM1LjUtMTMuMyA4LjQtMjcuOCA4LjQtNDIuNnpNMzYwIDI3MkwyNCAyNzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzMuMyAwYy02LjEgMTMuNC05LjMgMjguMS05LjMgNDMuMyAwIDY0LjEgNTYuOSAxMTMuNCAxMjAuNCAxMDQuMmwxMzcuOS0xOS45YzE3LjUtMi41IDI5LjYtMTguNyAyNy4xLTM2LjJzLTE4LjgtMjkuNi0zNi4yLTI3LjFMMTU5LjIgNDA0LjJjLTI0LjkgMy42LTQ3LjItMTUuNy00Ny4yLTQwLjkgMC0xNS4xIDguMi0yOC45IDIxLjQtMzYuMmwxMy03LjEgMjEzLjYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNHoiXX0sd0F0PWIzZSxZQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleWUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImYwNzAiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtOTYuNC05Ni40YzIuNy0yLjQgNS40LTQuOCA4LTcuMiA0Ni44LTQzLjUgNzguMS05NS40IDkzLTEzMS4xIDMuMy03LjkgMy4zLTE2LjcgMC0yNC42LTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjEtNDcuMS00My43LTExMS44LTgwLjYtMTkyLjYtODAuNi01Ni44IDAtMTA1LjYgMTguMi0xNDYgNDQuMkw0MS0yNC45ek0yMDQuNSAxMzguN2MyMy41LTE2LjggNTIuNC0yNi43IDgzLjUtMjYuNyA3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NCAwIDMxLjEtOS45IDU5LjktMjYuNyA4My41bC0zNC43LTM0LjdjMTIuNy0yMS40IDE3LTQ3LjcgMTAuMS03My43LTEzLjctNTEuMi02Ni40LTgxLjYtMTE3LjYtNjcuOS04LjYgMi4zLTE2LjcgNS43LTI0IDEwbC0zNC43LTM0Ljd6TTMyNS4zIDM5NS4xYy0xMS45IDMuMi0yNC40IDQuOS0zNy4zIDQuOS03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTEyLjkgMS43LTI1LjQgNC45LTM3LjNMNjkuNCAxMzkuMmMtMzIuNiAzNi44LTU1IDc1LjgtNjYuOSAxMDQuNS0zLjMgNy45LTMuMyAxNi43IDAgMjQuNiAxNC45IDM1LjcgNDYuMiA4Ny43IDkzIDEzMS4xIDQ3LjEgNDMuNyAxMTEuOCA4MC42IDE5Mi42IDgwLjYgMzcuMyAwIDcxLjItNy45IDEwMS41LTIwLjZsLTY0LjItNjQuMnoiXX0sdjNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcnQtZmxhdGJlZC1zdWl0Y2FzZSIsaWNvbjpbNTc2LDUxMixbImx1Z2dhZ2UtY2FydCJdLCJmNTlkIiwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDQ4IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2bDQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zNC43IDBjMS44IDUgMi43IDEwLjQgMi43IDE2IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtNS42IDEtMTEgMi43LTE2bC0xOTcuNSAwYzEuOCA1IDIuNyAxMC40IDIuNyAxNiAwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTYgMS4xLTExLjcgMy4xLTE3LTM4LjEtNi4yLTY3LjEtMzkuMi02Ny4xLTc5TDY0IDgwYzAtOC44LTcuMi0xNi0xNi0xNkwzMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyek0xNzYgMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMyIDAgMC0yNGMwLTMwLjkgMjUuMS01NiA1Ni01Nmw2NCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgMjQgMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE0NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjQwIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTQ0ek0zODQgOTZsMC0yNGMwLTQuNC0zLjYtOC04LThsLTY0IDBjLTQuNCAwLTggMy42LTggOGwwIDI0IDgwIDB6Il19LE1BdD12M2Usa0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJhZGlhdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZjdiOSIsIk00NDYuMiAzNC41Yy0xNC4yLTEwLjEtMzMuNS00LjYtNDIuMiAxMC41TDMzMS42IDE3MC4zYzMxLjMgMTUuOCA1Mi44IDQ4LjMgNTIuOCA4NS43bDE0NCAwYzE3LjcgMCAzMi4yLTE0LjQgMzAuMS0zMS45LTkuMS03OC4xLTUxLjQtMTQ2LjEtMTEyLjMtMTg5LjZ6TTE3Mi43IDQ0LjlDMTY0IDI5LjggMTQ0LjcgMjQuMyAxMzAuNSAzNC41IDY5LjYgNzcuOSAyNy4zIDE0NS45IDE4LjIgMjI0LjEgMTYuMSAyNDEuNiAzMC43IDI1NiA0OC4zIDI1NmwxNDQgMGMwLTM3LjUgMjEuNS02OS45IDUyLjgtODUuN0wxNzIuNyA0NC45em0tOS40IDQxNi44Yy04LjcgMTUuMS0zLjggMzQuNSAxMiA0MS44IDM0LjQgMTUuNyA3Mi43IDI0LjUgMTEzIDI0LjVzNzguNi04LjggMTEzLTI0LjVjMTUuOC03LjIgMjAuNy0yNi43IDEyLTQxLjhMMzQxIDMzNi4zYy0xNS4xIDkuOS0zMy4yIDE1LjctNTIuNiAxNS43cy0zNy41LTUuOC01Mi42LTE1LjdMMTYzLjMgNDYxLjd6TTI4OC4zIDMwNGE0OCA0OCAwIDEgMCAtLjctOTYgNDggNDggMCAxIDAgLjcgOTZ6Il19LFNBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXdvcmQiLGljb246WzM4NCw1MTIsW10sImYxYzIiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTEzNS40IDI3NC44Yy0yLjktMTIuOS0xNS43LTIxLjEtMjguNi0xOC4ycy0yMS4xIDE1LjctMTguMiAyOC42bDMyIDE0NGMyLjMgMTAuNSAxMS40IDE4LjIgMjIuMiAxOC44czIwLjYtNi4xIDI0LTE2LjRsMjUuMi03NS43IDI1LjIgNzUuN2MzLjQgMTAuMiAxMy4yIDE2LjkgMjQgMTYuNHMxOS45LTguMiAyMi4yLTE4LjhsMzItMTQ0YzIuOS0xMi45LTUuMy0yNS44LTE4LjItMjguNnMtMjUuOCA1LjMtMjguNiAxOC4ybC0xMy4yIDU5LjQtMjAuNi02MS44Yy0zLjMtOS44LTEyLjQtMTYuNC0yMi44LTE2LjRzLTE5LjUgNi42LTIyLjggMTYuNGwtMjAuNiA2MS44LTEzLjItNTkuNHoiXX0seDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlZC1wdWxzZSIsaWNvbjpbNjQwLDUxMixbInByb2NlZHVyZXMiXSwiZjQ4NyIsIk01MzEuMi0yMi40TDU3MiAzMiA2MTYgMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDBjLTcuNiAwLTE0LjctMy42LTE5LjItOS42bC0yNC4xLTMyLjEtNDcgOTkuOWMtMy43IDcuOC0xMS4zIDEzLjEtMTkuOSAxMy43cy0xNi45LTMuNC0yMS43LTEwLjZMMzg3LjIgODAgMzQ0IDgwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDU2IDBjOCAwIDE1LjUgNCAyMCAxMC43bDI0LjQgMzYuNiA0NS45LTk3LjVjMy42LTcuNiAxMC45LTEyLjggMTkuMy0xMy43czE2LjYgMi43IDIxLjYgOS41ek0zMjAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDkuNSAwIDI2LjYgMzkuOWMxNC40IDIxLjYgMzkuMyAzMy44IDY1LjIgMzEuOXM0OC44LTE3LjYgNTkuOC00MS4xTDUyNyAxMjkuMmM0NS45IDcuMiA4MSA0Ni45IDgxIDk0LjhsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NC00NDggMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDMyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyUzk2IDQ2LjMgOTYgNjRsMCAyMjQgMjI0IDAgMC0xMjh6TTE0NCAxOTJhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSx6QXQ9eDNlLENBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW50cyIsaWNvbjpbNTc2LDUxMixbXSwiZTU4MiIsIk01MzkuOSAzNTJsLTk1LjYgMC04LjQtNjYuMWMtMi45LTIzLjItMTUuOS00My45LTM1LjQtNTYuOEwyNTIuMiAxMzEuNWMtMTgtMTEuOS0zOS43LTE1LjctNjAuMS0xMS41IDIuNS00LjMgNS45LTcuOSAxMC4xLTEwLjdMMzUwLjYgMTEuNmMxMC43LTcgMjQuNS03IDM1LjIgMGwxNDguNCA5Ny43YzcuOCA1LjEgMTMgMTMuNCAxNC4yIDIyLjdsMjMuMyAxODRjMi40IDE5LjEtMTIuNSAzNi0zMS43IDM2ek00LjggNDc2bDIzLjMtMTg0YzEuMi05LjMgNi4zLTE3LjYgMTQuMi0yMi43bDE0OC40LTk3LjdjMTAuNy03IDI0LjUtNyAzNS4yIDBsMTQ4LjQgOTcuN2M3LjggNS4xIDEzIDEzLjQgMTQuMiAyMi43bDIzLjMgMTg0YzIuNCAxOS4xLTEyLjUgMzYtMzEuNyAzNmwtNDkuNyAwYy0xMS4yIDAtMjEuNS01LjgtMjcuMy0xNS40bC03Ny0xMjYuN2MtMS43LTIuOC00LjgtNC42LTguMS00LjYtNS4zIDAtOS41IDQuMy05LjUgOS41bDAgMTA1LjJjMCAxNy43LTE0LjMgMzItMzIgMzJMMzYuNSA1MTJjLTE5LjMgMC0zNC4yLTE2LjktMzEuNy0zNnoiXX0sWkE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibXVnLWhvdCIsaWNvbjpbNTc2LDUxMixbOTc0OV0sImY3YjYiLCJNMTUyLTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNCAwIDM4LjkgMjMuNCA1OS40IDM5LjEgNzMuMWwxLjEgMWMxNi4zIDE0LjMgMjMuOCAyMS44IDIzLjggMzcuOSAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMzguOS0yMy40LTU5LjQtMzkuMS03My4xbC0xLjEtMUMxODMuNSAzMS43IDE3NiAyNC4xIDE3NiA4IDE3Ni01LjMgMTY1LjMtMTYgMTUyLTE2ek05NiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTkyYzAgNTMgNDMgOTYgOTYgOTZsMTkyIDBjNDEuOCAwIDc3LjQtMjYuNyA5MC41LTY0bDUuNSAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4UzUxOC43IDE5MiA0NDggMTkyTDk2IDE5MnpNNDQ4IDM4NGwwLTEyOGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NHpNMjg4IDhjMC0xMy4zLTEwLjctMjQtMjQtMjRTMjQwLTUuMyAyNDAgOGMwIDM4LjkgMjMuNCA1OS40IDM5LjEgNzMuMWwxLjEgMWMxNi4zIDE0LjMgMjMuOCAyMS44IDIzLjggMzcuOSAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMzguOS0yMy40LTU5LjQtMzkuMS03My4xbC0xLjEtMUMyOTUuNSAzMS43IDI4OCAyNC4xIDI4OCA4eiJdfSx5M2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9sdCIsaWNvbjpbNDQ4LDUxMixbOTg4OSwiemFwIl0sImYwZTciLCJNMzM4LjgtOS45YzExLjkgOC42IDE2LjMgMjQuMiAxMC45IDM3LjhMMjcxLjMgMjI0IDQxNiAyMjRjMTMuNSAwIDI1LjUgOC40IDMwLjEgMjEuMXMuNyAyNi45LTkuNiAzNS41bC0yODggMjQwYy0xMS4zIDkuNC0yNy40IDkuOS0zOS4zIDEuM3MtMTYuMy0yNC4yLTEwLjktMzcuOEwxNzYuNyAyODggMzIgMjg4Yy0xMy41IDAtMjUuNS04LjQtMzAuMS0yMS4xcy0uNy0yNi45IDkuNi0zNS41bDI4OC0yNDBjMTEuMy05LjQgMjcuNC05LjkgMzkuMy0xLjN6Il19LFRBdD15M2UsX0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImphciIsaWNvbjpbMzIwLDUxMixbXSwiZTUxNiIsIk0zMi04YzAtMTMuMyAxMC43LTI0IDI0LTI0bDIwOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDU2IDE2QzQyLjcgMTYgMzIgNS4zIDMyLTh6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTk2IDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAxOTJ6Il19LExBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1wbGFuZSIsaWNvbjpbNjQwLDUxMixbXSwiZTU4ZiIsIk0xNDQgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDMyMGMwIDMyLjUgMTIuMSA2Mi4xIDMyIDg0LjdsMCAyNy4zYzAgNy4xIC45IDE0LjEgMi43IDIwLjdMMTkyIDQ4MCA4My45IDUwN0M3My44IDUwOS42IDY0IDUwMS45IDY0IDQ5MS41bDAtMTkuOGMwLTQuOSAyLjItOS41IDYtMTIuNWw3NC01OS4yIDAtNTcuNi0xMjIuMSA0OC44QzExLjQgMzk1LjQgMCAzODcuNyAwIDM3Ni40bDAtNDRjMC04IDMtMTUuNiA4LjMtMjEuNUwxNDQgMTYxLjYgMTQ0IDQ4em0yMjQgODBsMTkyIDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNjBjMCAyNi4yLTEyLjYgNDkuNC0zMiA2NGwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMTYwIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTQ4Yy0xOS40LTE0LjYtMzItMzcuOC0zMi02NGwwLTE2MGMwLTQ0LjIgMzUuOC04MCA4MC04MHptMCAxNzZsMTkyIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJ6bTAgODhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yMTYtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sJEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtaG9sZGluZy1oZWFydCIsaWNvbjpbNTc2LDUxMixbXSwiZjRiZSIsIk0yNzkuNiAzMUMyNjUuNSAxMS41IDI0Mi45IDAgMjE4LjkgMCAxNzcuNSAwIDE0NCAzMy41IDE0NCA3NC45bDAgMi40YzAgNjQuNCA4MiAxMzMuNCAxMjIuMiAxNjMuMyAxMyA5LjcgMzAuNSA5LjcgNDMuNSAwIDQwLjItMzAgMTIyLjItOTguOSAxMjIuMi0xNjMuM2wwLTIuNGMwLTQxLjQtMzMuNS03NC45LTc0LjktNzQuOS0yNCAwLTQ2LjYgMTEuNS02MC43IDMxTDI4OCA0Mi43IDI3OS42IDMxek0xMDkuMyAzNDEuNUw2Ni43IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjgwIDQxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNTIuMiAwYy0zMy45IDAtNjYuNSAxMy41LTkwLjUgMzcuNXoiXX0sbmY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcm90YXRlLWxlZnQiLGljb246WzUxMiw1MTIsWzg2MzQsImFycm93LWxlZnQtcm90YXRlIiwiYXJyb3ctcm90YXRlLWJhY2siLCJhcnJvdy1yb3RhdGUtYmFja3dhcmQiLCJ1bmRvIl0sImYwZTIiLCJNMjU2IDY0Yy01Ni44IDAtMTA3LjkgMjQuNy0xNDMuMSA2NGw0Ny4xIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMTkyYy0xNy43IDAtMzItMTQuMy0zMi0zMkwwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMFM2NCAxNC4zIDY0IDMybDAgNTQuN0MxMTAuOSAzMy42IDE3OS41IDAgMjU2IDAgMzk3LjQgMCA1MTIgMTE0LjYgNTEyIDI1NlMzOTcuNCA1MTIgMjU2IDUxMmMtODcgMC0xNjMuOS00My40LTIxMC4xLTEwOS43LTEwLjEtMTQuNS02LjYtMzQuNCA3LjktNDQuNnMzNC40LTYuNiA0NC42IDcuOWMzNC44IDQ5LjggOTIuNCA4Mi4zIDE1Ny42IDgyLjMgMTA2IDAgMTkyLTg2IDE5Mi0xOTJTMzYyIDY0IDI1NiA2NHoiXX0sREF0PW5mLEFBdD1uZixFQXQ9bmYsSUF0PW5mLHczZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWFuZ3J5IixpY29uOls1MTIsNTEyLFsxMjg1NDQsImFuZ3J5Il0sImY1NTYiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHpNMjU2IDM2OGMyNC4xIDAgNDUuNCAxMS44IDU4LjUgMzAgNy43IDEwLjggMjIuNyAxMy4yIDMzLjUgNS41czEzLjItMjIuNyA1LjUtMzMuNWMtMjEuNy0zMC4yLTU3LjMtNTAtOTcuNS01MHMtNzUuNyAxOS44LTk3LjUgNTBjLTcuNyAxMC44LTUuMyAyNS44IDUuNSAzMy41czI1LjggNS4zIDMzLjUtNS41YzEzLjEtMTguMiAzNC40LTMwIDU4LjUtMzB6bS04MC05NmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLS4zIDkuNyAzLjJjMTAuNSAzLjUgMjEuOC0yLjIgMjUuMy0xMi42cy0yLjItMjEuOC0xMi42LTI1LjNsLTk2LTMyYy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjZzMi4yIDIxLjggMTIuNiAyNS4zbDI4LjkgOS42Yy00LjEgNS40LTYuNiAxMi4xLTYuNiAxOS40IDAgMTcuNyAxNC4zIDMyIDMyIDMyem0xOTItMzJjMC03LjMtMi40LTE0LTYuNi0xOS40bDI4LjktOS42YzEwLjUtMy41IDE2LjEtMTQuOCAxMi42LTI1LjNzLTE0LjgtMTYuMS0yNS4zLTEyLjZsLTk2IDMyYy0xMC41IDMuNS0xNi4xIDE0LjgtMTIuNiAyNS4zczE0LjggMTYuMSAyNS4zIDEyLjZsOS43LTMuMiAwIC4zYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6Il19LFBBdD13M2UsTkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1cnN0IixpY29uOls1MTIsNTEyLFtdLCJlNGRjIiwiTTM3LjYgNC4yQzI4LTIuMyAxNS4yLTEuMSA3IDdTLTIuMyAyOCA0LjIgMzcuNmwxMTIgMTYzLjMtOTkuNiAzMi4zQzYuNyAyMzYuNCAwIDI0NS42IDAgMjU2czYuNyAxOS42IDE2LjYgMjIuOGwxMDMuMSAzMy40LTUyLjkgMTAwLjZjLTQuOSA5LjMtMy4yIDIwLjcgNC4zIDI4LjFzMTguOCA5LjIgMjguMSA0LjNsMTAwLjYtNTIuOSAzMy40IDEwMy4xYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNnMxOS42LTYuNyAyMi44LTE2LjZsMzMuNC0xMDMuMSAxMDAuNiA1Mi45YzkuMyA0LjkgMjAuNyAzLjIgMjguMS00LjNzOS4yLTE4LjggNC4zLTI4LjFsLTUyLjktMTAwLjYgMTAzLjEtMzMuNGM5LjktMy4yIDE2LjYtMTIuNCAxNi42LTIyLjhzLTYuNy0xOS42LTE2LjYtMjIuOGwtMTA2LjUtMzQuNSAyNS43LTcwLjRjMy4yLTguOCAxLTE4LjYtNS42LTI1LjJzLTE2LjQtOC44LTI1LjItNS42bC03MC40IDI1LjctMzQuNS0xMDYuNUMyNzUuNiA2LjcgMjY2LjQgMCAyNTYgMHMtMTkuNiA2LjctMjIuOCAxNi42TDIwMC45IDExNi4yIDM3LjYgNC4yeiJdfSxGQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieiIsaWNvbjpbMzg0LDUxMixbMTIyXSwiNWEiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwzMjAgMGMxMi40IDAgMjMuNyA3LjIgMjkgMTguNHMzLjYgMjQuNS00LjQgMzQuMUwxMDAuMyA0MTYgMzUyIDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTEyLjQgMC0yMy43LTcuMi0yOS0xOC40cy0zLjYtMjQuNSA0LjQtMzQuMUwyODMuNyA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0eiJdfSxNM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFuZGFnZSIsaWNvbjpbNTc2LDUxMixbMTI5NjU3LCJiYW5kLWFpZCJdLCJmNDYyIiwiTTQ2NCA0MTZsNDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NGwtNDggMCAwIDMyMHpNNDE2IDk2bC0yNTYgMCAwIDMyMCAyNTYgMCAwLTMyMHpNNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ4IDAgMC0zMjAtNDggMHpNMjE2IDIwOGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMjAtMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yMTYgMzA0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LE9BdD1NM2UsUkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTU1NiIsIk0yMzIgMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyNy4zIDc4IDcxLjVjLTY5LjMgMjktMTE4IDk3LjQtMTE4IDE3Ny4yIDAgNDkuMyAxOC42IDk0LjMgNDkuMSAxMjguM0wyODggNTEyIDE3OS45IDUzOWMtMTAuMSAyLjUtMTkuOS01LjEtMTkuOS0xNS41bDAtMTkuOGMwLTQuOSAyLjItOS41IDYtMTIuNWw2Ni01Mi44IDAtOTkuNy0xNjIuOSA1NC4zQzU4LjcgMzk2LjQgNDggMzg4LjcgNDggMzc3LjhsMC00My43YzAtOSAzLjgtMTcuNSAxMC40LTIzLjZMMjMyIDE1MS4zIDIzMiAyNHpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjI4YTIwIDIwIDAgMSAwIDAtNDAgMjAgMjAgMCAxIDAgMCA0MHptMC0xODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MGMwLTguOC03LjItMTYtMTYtMTZ6Il19LEJBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXMtc2lkZSIsaWNvbjpbNjQwLDUxMixbXSwiZTgxZCIsIk00ODAgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNS42IDBjLTEzLjIgMzcuMy00OC42IDY0LTkwLjQgNjRzLTc3LjMtMjYuNy05MC40LTY0bC0xMzkuMSAwYy0xMy4yIDM3LjMtNDguNyA2NC05MC40IDY0cy03Ny4yLTI2LjctOTAuNC02NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA0MyA0MyAwIDk2IDBMNDgwIDB6TTE2MCAzNjhhNDggNDggMCAxIDAgMCA5NiA0OCA0OCAwIDEgMCAwLTk2em0zMjAgMGE0OCA0OCAwIDEgMCAwIDk2IDQ4IDQ4IDAgMSAwIDAtOTZ6bTAtMzA0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZ6TTI0OCAyMjRsMTA0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTA0IDAgMCAxNjB6TTk2IDY0Qzc4LjMgNjQgNjQgNzguMyA2NCA5NmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwNCAwIDAtMTYwLTEwNCAweiJdfSxIQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVncyIsaWNvbjpbNTc2LDUxMixbXSwiZTRkMCIsIk00NDcuNSAxNzQuNmM4LjgtOC40IDIyLjctOC45IDMyLjItLjhzMTEgMjEuOSA0LjEgMzEuOWwtMS41IDEuOS0yMyAyNi43YzI2LjcgMTMuNSA0Ni4zIDM5LjEgNTEuNCA2OS42bDI1LjMgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjQgMCAwIDMyIDI0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI1LjMgMGMtNy42IDQ1LjQtNDcuMSA4MC05NC43IDgwcy04Ny0zNC42LTk0LjctODBMMjk2IDQzMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtMzItMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNS4zIDBjNS4xLTMwLjUgMjQuNy01Ni4xIDUxLjQtNjkuNmwtMjIuOS0yNi43Yy04LjYtMTAuMS03LjUtMjUuMiAyLjYtMzMuOHMyNS4yLTcuNSAzMy44IDIuNmwyOS44IDM0LjggMjkuOC0zNC44IDEuNy0xLjh6bS0yNTYtMTkyYzguOC04LjQgMjIuNy04LjkgMzIuMi0uOHMxMSAyMS45IDQuMSAzMS45bC0xLjUgMS45LTIzIDI2LjdDMjMwIDU1LjkgMjQ5LjUgODEuNSAyNTQuNyAxMTJsMjUuMyAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNCAwIDAgMzIgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjUuMyAwYy03LjYgNDUuNC00Ny4xIDgwLTk0LjcgODBzLTg3LTM0LjYtOTQuNy04MEw0MCAyNDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQgMCAwLTMyLTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjUuMyAwQzcwLjUgODEuNSA5MCA1NS45IDExNi43IDQyLjRMOTMuOCAxNS42Qzg1LjIgNS42IDg2LjMtOS42IDk2LjQtMTguMnMyNS4yLTcuNSAzMy44IDIuNmwyOS44IDM0LjggMjkuOC0zNC44IDEuNy0xLjh6Il19LGszZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWVyLW11Zy1lbXB0eSIsaWNvbjpbNTc2LDUxMixbImJlZXIiXSwiZjBmYyIsIk02NCA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGwyODggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2IDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMDguMmMwIDI0LjItMTMuNyA0Ni40LTM1LjQgNTcuMkw0NDggMzcxLjggNDQ4IDM4NGMwIDUzLTQzIDk2LTk2IDk2bC0xOTIgMGMtNTMgMC05Ni00My05Ni05Nkw2NCA4MHpNNDQ4IDMwMC4ybDY0LTMyIDAtMTA4LjItNjQgMCAwIDE0MC4yek0xOTIgMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMDh6bTg4IDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTIwOHptODggMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjA4eiJdfSxxQXQ9azNlLGpBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTNlIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNjQwIDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LFZBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFwbGVyIixpY29uOls2NDAsNTEyLFtdLCJlNWFmIiwiTTY0MCAyOTkuM0w2NDAgNDMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDY0IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMCAwLTQ4LTM1MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTExNi42LTMwLjItNS40Yy0xOS42LTMuNS0zMy44LTIwLjUtMzMuOC00MC40IDAtOC45IDIuOS0xNy41IDguMi0yNC42bDM1LjYtNDcuNWMzMi44LTQzLjggODQuNC02OS42IDEzOS4xLTY5LjYgMjcgMCA1My42IDYuMyA3Ny44IDE4LjRMNTg2LjkgMjEzLjVDNjE5LjUgMjI5LjcgNjQwIDI2MyA2NDAgMjk5LjN6TTQ0OCAzMDRsMC0xNi0zMjAtNTcuMSAwIDczLjEgMzIwIDB6Il19LFVBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1tZWRpY2FsLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTUxMSIsIk0zMDkuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzUwLjggMjcyIDY0IDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5NiAwYy0yMS4yLTI5LjUtMzQuMy02NS4zLTM1LjktMTA0TDI3MiA0MDhjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgMjAgMGMzNC45LTQ4LjUgOTEuNy04MCAxNTYtODAgMTAuNyAwIDIxLjEgLjkgMzEuMyAyLjVMMzA5LjggOC42ek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sV0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5haXJhLXNpZ24iLGljb246WzQ0OCw1MTIsW10sImUxZjYiLCJNMTIyLjYgNDYuM2MtNy44LTExLjctMjIuNC0xNy0zNS45LTEyLjlTNjQgNDkuOSA2NCA2NGwwIDE5Mi0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAxNDRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE0NCA4OS41IDAgMTA3LjggMTYxLjhjNy44IDExLjcgMjIuNCAxNyAzNS45IDEyLjlTMzg0IDQ2Mi4xIDM4NCA0NDhsMC0xNDQgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIgMCAwLTE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE5Mi01Ny41IDAtMTM5LjgtMjA5Ljd6TTI5NC41IDMwNGwyNS41IDAgMCAzOC4zLTI1LjUtMzguM3pNMTg1LjUgMjU2bC01Ny41IDAgMC04Ni4zIDU3LjUgODYuM3oiXX0sa0E9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2lmaSIsaWNvbjpbNTc2LDUxMixbIndpZmktMyIsIndpZmktc3Ryb25nIl0sImYxZWIiLCJNMjg4IDk2Yy05MC45IDAtMTczLjIgMzYtMjMzLjcgOTQuNi0xMi43IDEyLjMtMzMgMTItNDUuMi0uN3MtMTItMzMgLjctNDUuMkM4MS43IDc0LjkgMTc5LjkgMzIgMjg4IDMyUzQ5NC4zIDc0LjkgNTY2LjMgMTQ0LjdjMTIuNyAxMi4zIDEzIDMyLjYgLjcgNDUuMnMtMzIuNiAxMy00NS4yIC43QzQ2MS4yIDEzMiAzNzguOSA5NiAyODggOTZ6TTI0MCA0MzJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMTY4IDMyNi4yYy0xMS43IDEzLjMtMzEuOSAxNC41LTQ1LjIgMi44cy0xNC41LTMxLjktMi44LTQ1LjJDMTYxIDIzNy40IDIyMS4xIDIwOCAyODggMjA4czEyNyAyOS40IDE2OCA3NS44YzExLjcgMTMuMyAxMC40IDMzLjUtMi44IDQ1LjJzLTMzLjUgMTAuNC00NS4yLTIuOEMzNzguNiAyOTIuOSAzMzUuOCAyNzIgMjg4IDI3MnMtOTAuNiAyMC45LTEyMCA1NC4yeiJdfSxHQXQ9a0EsWUF0PWtBLHpiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWNoZWNrLWRvbGxhciIsaWNvbjpbNTEyLDUxMixbIm1vbmV5LWNoZWNrLWFsdCJdLCJmNTNkIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek0yOTYgMjg4bDEyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMjggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptLTI0LTg4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDEyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMjggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTE0OCAxNDRjMTEgMCAyMCA5IDIwIDIwbDAgNCA4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC00Ny41IDBjLTYuOSAwLTEyLjUgNS42LTEyLjUgMTIuNSAwIDYuMSA0LjQgMTEuMyAxMC40IDEyLjNsNDEuNyA3YzI1LjMgNC4yIDQzLjkgMjYuMSA0My45IDUxLjggMCAyNi4xLTE5IDQ3LjctNDQgNTEuOGwwIDQuN2MwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC00LTI0IDBjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDU1LjUgMGM2LjkgMCAxMi41LTUuNiAxMi41LTEyLjUgMC02LjEtNC40LTExLjMtMTAuNC0xMi4zbC00MS43LTdDOTQuNSAyNjggNzYgMjQ2LjEgNzYgMjIwLjUgNzYgMTkxLjcgOTkuMiAxNjguMyAxMjggMTY4bDAtNGMwLTExIDktMjAgMjAtMjB6Il19LFpBdD16YixTM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXllLWxvdy12aXNpb24iLGljb246WzU3Niw1MTIsWyJsb3ctdmlzaW9uIl0sImYyYTgiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtOTYuNC05Ni40YzIuNy0yLjQgNS40LTQuOCA4LTcuMiA0Ni44LTQzLjUgNzguMS05NS40IDkzLTEzMS4xIDMuMy03LjkgMy4zLTE2LjcgMC0yNC42LTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjEtNDcuMS00My43LTExMS44LTgwLjYtMTkyLjYtODAuNi01Ni44IDAtMTA1LjYgMTguMi0xNDYgNDQuMkw0MS0yNC45ek0yMDQuNSAxMzguN2MyMy41LTE2LjggNTIuNC0yNi43IDgzLjUtMjYuNyA3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NCAwIDMxLjEtOS45IDU5LjktMjYuNyA4My41bC0zNC43LTM0LjdjMTIuNy0yMS40IDE3LTQ3LjcgMTAuMS03My43LTEzLjctNTEuMi02Ni40LTgxLjYtMTE3LjYtNjcuOS04LjYgMi4zLTE2LjcgNS43LTI0IDEwbC0zNC43LTM0Ljd6TTg4IDE1Ny45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45TDMyOC4yIDQ2NmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMODggMTU3Ljl6TTQ1LjcgMjUxLjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlMMTgxLjkgNDU1LjVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQ1LjcgMjUxLjN6Il19LFhBdD1TM2UsejNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1hcnJvdy11cCIsaWNvbjpbNTEyLDUxMixbImFycm93LWNpcmNsZS11cCJdLCJmMGFhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0xNy0zNzdsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzktMzkgMCAxNTAuMWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE1MC4xLTM5IDM5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDgwLTgwYzkuNC05LjQgMjQuNi05LjQgMzMuOSAweiJdfSxRQXQ9ejNlLEpBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW1lcmEtcmV0cm8iLGljb246WzUxMiw1MTIsWzEyODI0N10sImYwODMiLCJNMCA0MTZsMC0yMDggMTM2LjIgMGMxMy41LTIwLjIgMzItMzYuOCA1My43LTQ4TDAgMTYwIDAgMTI1LjdjMC0zNS4zIDI4LjctNjQgNjQtNjRsLjEgMEM2NS4zIDQ1LjEgNzkuMSAzMiA5NiAzMmwzMiAwYzE2LjkgMCAzMC43IDEzLjEgMzEuOSAyOS43bDMyLjEgMCA1MS4yLTIzLjhjOC40LTMuOSAxNy42LTYgMjYuOS02TDQ0OCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0LTE5MCAwYzIxLjcgMTEuMiA0MC4yIDI3LjggNTMuNyA0OGwxMzYuMiAwIDAgMjA4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTI1NiAxOTJhOTYuMSA5Ni4xIDAgMSAwIDAgMTkyLjEgOTYuMSA5Ni4xIDAgMSAwIDAtMTkyLjF6Il19LEtBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXBzdWxlcyIsaWNvbjpbNTc2LDUxMixbXSwiZjQ2YiIsIk05NiAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMi05NiAwIDAtMTEyem0tNjQgMGwwIDI4OGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMnMxMTItNTAuMSAxMTItMTEybDAtMTA1LjggMTE2LjMgMTY5LjVjMzUuNSA1MS43IDEwNS4zIDY0LjMgMTU2IDI4LjFzNjMtMTA3LjUgMjcuNS0xNTkuMkw0MjcuMyAxNDUuM2MtMzUuNS01MS43LTEwNS4zLTY0LjMtMTU2LTI4LjEtNS42IDQtMTAuNyA4LjQtMTUuMyAxMy4xbDAtMTguM0MyNTYgNTAuMSAyMDUuOSAwIDE0NCAwUzMyIDUwLjEgMzIgMTEyek0yOTYuNiAyNDAuMmMtMTYtMjMuMy0xMC01NS4zIDExLjktNzEgMjEuMi0xNS4xIDUwLjUtMTAuMyA2NiAxMi4ybDY3IDk3LjYtNzkuOSA1NS45LTY1LTk0Ljh6Il19LGVFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwb28iLGljb246WzUxMiw1MTIsWzEyODE2OV0sImYyZmUiLCJNMjY4LjkgLjljLTUuNS0uNy0xMSAxLjQtMTQuNSA1LjdzLTQuNiAxMC4xLTIuOCAxNS40YzIuOCA4LjIgNC4zIDE2LjkgNC4zIDI2LjEgMCA0NC4xLTM1LjcgNzkuOS03OS44IDgwTDE2MCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0IDAgMTkuMSA4LjQgMzYuMyAyMS43IDQ4TDEwNCAyNDBjLTM5LjggMC03MiAzMi4yLTcyIDcyIDAgMjMuMiAxMSA0My44IDI4IDU3LTM0LjEgNS43LTYwIDM1LjMtNjAgNzEgMCAzOS44IDMyLjIgNzIgNzIgNzJsMzY4IDBjMzkuOCAwIDcyLTMyLjIgNzItNzIgMC0zNS43LTI1LjktNjUuMy02MC03MSAxNy0xMy4yIDI4LTMzLjggMjgtNTcgMC0zOS44LTMyLjItNzItNzItNzJsLTEzLjcgMGMxMy4zLTExLjcgMjEuNy0yOC45IDIxLjctNDggMC0zNS4zLTI4LjctNjQtNjQtNjRsLTUuNSAwYzMuNS0xMCA1LjUtMjAuOCA1LjUtMzIgMC00OC42LTM2LjItODguOC04My4xLTk1LjF6TTE5MiAyNTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem02NCAxMDguM2MwIDIuNC0uNyA0LjgtMi4yIDYuNy04LjIgMTAuNS0zOS41IDQ1LTkzLjggNDVzLTg1LjYtMzQuNi05My44LTQ1Yy0xLjUtMS45LTIuMi00LjMtMi4yLTYuNyAwLTYuOCA1LjUtMTIuMyAxMi4zLTEyLjNsMTY3LjQgMGM2LjggMCAxMi4zIDUuNSAxMi4zIDEyLjN6Il19LEMzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2x1bWUiLGljb246WzUxMiw1MTIsWzEyODI2NSwidm9sdW1lLW1lZGl1bSJdLCJmNmE4IiwiTTQ4IDM1Mmw0OCAwIDEzNC4xIDExOS4yYzYuNCA1LjcgMTQuNiA4LjggMjMuMSA4LjggMTkuMiAwIDM0LjgtMTUuNiAzNC44LTM0LjhsMC0zNzguNGMwLTE5LjItMTUuNi0zNC44LTM0LjgtMzQuOC04LjUgMC0xNi43IDMuMS0yMy4xIDguOEw5NiAxNjAgNDggMTYwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4ek00NDEuMSAxMDdjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEM0NDMuMyAxNzAuNyA0NjQgMjEwLjkgNDY0IDI1NnMtMjAuNyA4NS4zLTUzLjIgMTExLjhjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVjNDMuMi0zNS4yIDcwLjktODguOSA3MC45LTE0OXMtMjcuNy0xMTMuOC03MC45LTE0OXptLTYwLjUgNzQuNWMtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzM2MS4xIDIyNy42IDM2OCAyNDEgMzY4IDI1NnMtNi45IDI4LjQtMTcuNyAzNy4zYy0xMC4zIDguNC0xMS44IDIzLjUtMy41IDMzLjhzMjMuNSAxMS44IDMzLjggMy41QzQwMi4xIDMxMi45IDQxNiAyODYuMSA0MTYgMjU2cy0xMy45LTU2LjktMzUuNS03NC41eiJdfSx0RXQ9QzNlLHJFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbGV2YXRvciIsaWNvbjpbNTEyLDUxMixbXSwiZTE2ZCIsIk0yOTIuNy00LjdsNjQgNjRjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNjQtNjRjNC42LTQuNiA1LjktMTEuNSAzLjUtMTcuNFM0MzguNS0zMiA0MzItMzJMMzA0LTMyYy02LjUgMC0xMi4zIDMuOS0xNC44IDkuOXMtMS4xIDEyLjkgMy41IDE3LjR6bS0xNjAtMjIuNmwtNjQgNjRjLTQuNiA0LjYtNS45IDExLjUtMy41IDE3LjRTNzMuNSA2NCA4MCA2NGwxMjggMGM2LjUgMCAxMi4zLTMuOSAxNC44LTkuOXMxLjEtMTIuOS0zLjUtMTcuNGwtNjQtNjRjLTYuMi02LjItMTYuNC02LjItMjIuNiAwek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDEyOHptOTYgOTZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek04MCA0MDBjMC0yNi41IDIxLjUtNDggNDgtNDhsNjQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2em0xOTIgMGMwLTI2LjUgMjEuNS00OCA0OC00OGw2NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6bTMyLTEyOGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSxhRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFnIixpY29uOls1MTIsNTEyLFsxMjc5OTFdLCJmMDJiIiwiTTMyLjUgOTZsMCAxNDkuNWMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2wxOTIgMTkyYzI1IDI1IDY1LjUgMjUgOTAuNSAwTDQ4My4yIDMzMy4zYzI1LTI1IDI1LTY1LjUgMC05MC41bC0xOTItMTkyQzI3OS4yIDM4LjcgMjYzIDMyIDI0NiAzMkw5Ni41IDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NHptMTEyIDE2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0saUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY2lyY2xlLW1pbnVzIixpY29uOls1NzYsNTEyLFtdLCJlNGVkIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTIyLjctMzEuNS0zNi03MC4yLTM2LTExMiAwLTEwMC42IDc3LjQtMTgzLjIgMTc2LTE5MS4zbDAtMzguMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNNTc2IDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNjQgMGMwIDguOC03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnoiXX0sVDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvd24tbG9uZyIsaWNvbjpbMzIwLDUxMixbImxvbmctYXJyb3ctYWx0LWRvd24iXSwiZjMwOSIsIk0xMzcuNCA1MzQuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzMwMC45IDM1MiAyODggMzUybC02NCAwIDAtMzM2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDMzNi02NCAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44Uy4yIDM5Ny41IDkuNCA0MDYuNmwxMjggMTI4eiJdfSxuRXQ9VDNlLHNFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21wYWN0LWRpc2MiLGljb246WzUxMiw1MTIsWzEyODE5MSwxMjgxOTIsMTI4NDQwXSwiZjUxZiIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYgMzJhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0tOTYtMzJhOTYgOTYgMCAxIDAgMTkyIDAgOTYgOTYgMCAxIDAgLTE5MiAwem0tNTYtMTZjMC0zMi40IDE2LjMtNjYuNiA0Mi44LTkzLjJTMjA3LjYgMTA0IDI0MCAxMDRjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRjLTQ3LjkgMC05My43IDIzLjUtMTI3LjEgNTYuOVM1NiAxOTIuMSA1NiAyNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNHoiXX0sb0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1aXRjYXNlLXJvbGxpbmciLGljb246WzM4NCw1MTIsW10sImY1YzEiLCJNMTQ0IDI0YzAtNC40IDMuNi04IDgtOGw4MCAwYzQuNCAwIDggMy42IDggOGwwIDcyLTk2IDAgMC03MnpNMzIwIDk2bC0zMiAwIDAtNzJjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTgwIDBDMTIxLjEtMzIgOTYtNi45IDk2IDI0bDAgNzItMzIgMEMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjQgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwxMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4YzAtMzUuMy0yOC43LTY0LTY0LTY0ek0xMjAgMjA4bDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMCAxMjhsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxfM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1xdXJhbiIsaWNvbjpbNDQ4LDUxMixbInF1cmFuIl0sImY2ODciLCJNNjQgNTEybDI4OCAwYzUzIDAgOTYtNDMgOTYtOTZsMC0zMjBjMC01My00My05Ni05Ni05Nkw0OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDMzNmMwIDIwLjkgMTMuNCAzOC43IDMyIDQ1LjNMMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDB6TTM1MiAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwIDAtNjQgMjU2IDB6TTI3My4xIDE0NC40YzIuNS02LjEgMTEuMi02LjEgMTMuNyAwbDEwLjMgMjQuOCAyNi44IDIuMWM2LjYgLjUgOS4yIDguNyA0LjIgMTNMMzA3LjggMjAxLjkgMzE0IDIyOGMxLjUgNi40LTUuNSAxMS41LTExLjEgOC4xbC0yMi45LTE0LTIyLjkgMTRjLTUuNiAzLjQtMTIuNi0xLjYtMTEuMS04LjFsNi4yLTI2LjEtMjAuNC0xNy41Yy01LTQuMy0yLjMtMTIuNSA0LjItMTNsMjYuOC0yLjEgMTAuMy0yNC44ek0xMDAgMTkyYzAtNjguNSA1NS41LTEyNCAxMjQtMTI0IDIzLjggMCA0Ni4xIDYuNyA2NSAxOC40IDQuOCAyLjkgNi45IDguOCA1IDE0LjFzLTcuMSA4LjYtMTIuNyA4Yy0zLjEtLjMtNi4yLS41LTkuNC0uNS00Ni40IDAtODQgMzcuNi04NCA4NHMzNy42IDg0IDg0IDg0YzMuMiAwIDYuMy0uMiA5LjQtLjUgNS42LS42IDEwLjggMi43IDEyLjcgOHMtLjMgMTEuMi01IDE0LjFjLTE4LjkgMTEuNy00MS4yIDE4LjQtNjUgMTguNC02OC41IDAtMTI0LTU1LjUtMTI0LTEyNHoiXX0sbEV0PV8zZSxjRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGhvbmUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImYzZGQiLCJNNTM1LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDQxIDUzNy4xYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDE0MS41IDM2OC42Qzg5LjIgMzEwLjUgNTEuNiAyMzguOCAzNC44IDE1OS40IDE4LjcgODMuMSA3My45IDIwLjYgMTM4LjUgMi45bDUuNS0xLjVjMTkuNy01LjQgNDAuMyA0LjcgNDguMSAyMy41bDQwLjUgOTcuM2M2LjkgMTYuNSAyLjEgMzUuNi0xMS44IDQ3bC00NC4xIDM2LjFjMTIuOSAyOC41IDI5LjYgNTQuOCA0OS41IDc4LjVMNTM1LTI0Ljl6bS0xNTAuNCA1MzRjLTYzLTEzLjQtMTIxLjMtMzkuOC0xNzEuNy03Ni4zTDI5Ny44IDM0OGMxMi4yIDguMiAyNSAxNS42IDM4LjMgMjIuMkwzNzQuNyAzMjNjMTEuMy0xMy45IDMwLjQtMTguNiA0Ny0xMS44TDUxOSAzNTEuOGMxOC44IDcuOCAyOC45IDI4LjQgMjMuNSA0OC4xbC0xLjUgNS41Yy0xNy42IDY0LjYtODAuMiAxMTkuOC0xNTYuNCAxMDMuN3oiXX0sZEV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTY0IiwiTTI4OCAzMmwtNzYuMyAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkw2NS40IDQyMC41QzU3LjkgNDUwLjcgODAuOCA0ODAgMTEyIDQ4MGwyMDkuNCAwYy0xMS4yLTI0LjQtMTcuNC01MS40LTE3LjQtODAgMC0yOC42IDYuMi01NS43IDE3LjQtODAtLjUgMC0xIDAtMS41IDAtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDljMzUuMi0zOS45IDg2LjctNjUgMTQ0LTY1IDkgMCAxNy44IC42IDI2LjUgMS44bC0zMi0xMjkuMkM0ODMuNCA1Mi4xIDQ1Ny44IDMyIDQyOC4zIDMybC03Ni40IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0ek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sdUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNob3AtbG9jayIsaWNvbjpbNjQwLDUxMixbXSwiZTRhNSIsIk0yMS41IDE4MS4xTDc4LjMgNjcuNEM4OS4yIDQ1LjcgMTExLjMgMzIgMTM1LjYgMzJsMzA0LjkgMGMyNC4yIDAgNDYuNCAxMy43IDU3LjIgMzUuNGw1NS42IDExMS4xYy04LjItMS42LTE2LjYtMi41LTI1LjItMi41LTUzLjcgMC05OS43IDMzLjEtMTE4LjcgODBsLTU3LjMgMCAwIDE3NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTkyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTc2LjFjLTI2LjgtMS45LTQ4LTI0LjMtNDgtNTEuNiAwLTggMS45LTE2IDUuNS0yMy4yek0xMjggMjU2bDAgMTEyYzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMTItMTYwIDB6bTQzMiA0OC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNNDE2IDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0sTDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImltYWdlLXBvcnRyYWl0IixpY29uOlszODQsNTEyLFsicG9ydHJhaXQiXSwiZjNlMCIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTgwIDM2OGMwIDguOCA3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwYy00NC4yIDAtODAgMzUuOC04MCA4MHpNMTkyIDI0OGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnoiXX0scEV0PUwzZSxmRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZGdlLWxvY2siLGljb246WzU3Niw1MTIsW10sImU0Y2MiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwIDAgMzIuMmMxMy44IC42IDI3LjIgMi44IDQwIDYuNGwwIDUwLjdjLTE0LjgtNi0zMS05LjMtNDgtOS4zLTcwLjcgMC0xMjggNTcuMy0xMjggMTI4bDAgMjQuNGMtLjQgLjMtLjcgLjYtMS4xIDEtMTcuMy0yNS00Ni4yLTQxLjMtNzguOS00MS4zLTUzIDAtOTYgNDMtOTYgOTZsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NGMwLTM4LjgtMjYuNC03Mi42LTY0LTgybDAtMTEyIDQwIDAgMC02NC04IDBDMTQuMyA5NiAwIDgxLjcgMCA2NHptNDI0IDY4LjZsMC0zNi42LTgwIDAgMCA2NCAxOC44IDBjMTguMi0xMi44IDM4LjktMjIuMiA2MS4yLTI3LjR6TTIxNiA5NmwwIDY0IDgwIDAgMC02NC04MCAwem0tNDggMGwtODAgMCAwIDY0IDgwIDAgMC02NHpNNDk2IDMwNC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNMzUyIDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0saEV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbW1lciIsaWNvbjpbNjQwLDUxMixbMTI4Mjk2XSwiZjZlMyIsIk0yNDYuOSAxOC4zTDI3MSAzLjhjMjEuNi0xMyA0Ni4zLTE5LjggNzEuNS0xOS44IDM2LjggMCA3Mi4yIDE0LjYgOTguMiA0MC43bDYzLjkgNjMuOWMxNSAxNSAyMy40IDM1LjQgMjMuNCA1Ni42bDAgMzAuOSAxOS43IDE5LjcgMCAwYzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwczE1LjYgNDAuOSAwIDU2LjZsLTY0IDY0Yy0xNS42IDE1LjYtNDAuOSAxNS42LTU2LjYgMHMtMTUuNi00MC45IDAtNTYuNkw0NjQgMjQwIDQzMy4xIDI0MGMtMjEuMiAwLTQxLjYtOC40LTU2LjYtMjMuNGwtNDkuMS00OS4xYy0xNS0xNS0yMy40LTM1LjQtMjMuNC01Ni42bDAtMTIuN2MwLTExLjItNS45LTIxLjctMTUuNS0yNy40bC00MS42LTI1Yy0xMC40LTYuMi0xMC40LTIxLjIgMC0yNy40ek01MC43IDQwMi43bDIyMi4xLTIyMi4xIDkwLjUgOTAuNS0yMjIuMSAyMjIuMWMtMjUgMjUtNjUuNSAyNS05MC41IDBzLTI1LTY1LjUgMC05MC41eiJdfSwkM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtMS05IixpY29uOls1MTIsNTEyLFsic29ydC1udW1lcmljLXVwIl0sImYxNjMiLCJNMTUwLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDE0MS4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA2LjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2ek00MTguNyAzOGMtOC4zLTYtMTkuMS03LjctMjguOC00LjRsLTQ4IDE2Yy0xNi44IDUuNi0yNS44IDIzLjctMjAuMiA0MC41czIzLjcgMjUuOCA0MC41IDIwLjJsNS45LTIgMCA1MS42LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYgMCAwLTk2YzAtMTAuMy00LjktMTkuOS0xMy4zLTI2ek0zNjUuMSA0MzAuNmMtOS42IDE0LjgtNS40IDM0LjYgOS40IDQ0LjNzMzQuNiA1LjQgNDQuMy05LjRsNDIuMS02NC45YzEyLjQtMTkuMiAxOS4xLTQxLjYgMTkuMS02NC41IDAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgMzYuMSAyMy45IDY2LjcgNTYuOCA3Ni42bC0xMS43IDE4ek0zNzYgMzM2YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LG1FdD0kM2UsZ0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLWtuaWdodCIsaWNvbjpbMzg0LDUxMixbOTgyMl0sImY0NDEiLCJNMTkyLTMyYzEwNiAwIDE5MiA4NiAxOTIgMTkybDAgMTMzLjVjMCAxNy02LjggMzMuMi0xOC43IDQ1LjJMMzIwIDM4NCAzNzAuOCA0MzQuN2M4LjUgOC41IDEzLjIgMjAgMTMuMiAzMiAwIDI1LTIwLjMgNDUuMi00NS4yIDQ1LjNMNDUuMyA1MTJjLTI1IDAtNDUuMi0yMC4zLTQ1LjItNDUuMyAwLTEyIDQuOC0yMy41IDEzLjItMzJMNjQgMzg0IDY0IDM0OS40YzAtMTguNyA4LjItMzYuNCAyMi4zLTQ4LjZsODkuNy03Ni44LTQ4IDAtMTIuMSAxMi4xYy0xMi43IDEyLjctMzAgMTkuOS00OCAxOS45LTM3LjUgMC02Ny45LTMwLjQtNjcuOS02Ny45bDAtOC43YzAtMjIuOCA4LjItNDQuOSAyMy4xLTYyLjNMOTYgMzIgOTYgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwek0xNjAgNzJhMjQgMjQgMCAxIDAgMCA0OCAyNCAyNCAwIDEgMCAwLTQ4eiJdfSxiRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0IixpY29uOls2NDAsNTEyLFtdLCJlNTBmIiwiTTI4OC41IDExMmExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwek0xNDEuMiA0NC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDU2IDU2YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC01NiA1NmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwyOC43LTI4LjctODkuNCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDg5LjQgMC0yOC43LTI4LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42ek0zMzYuNSAxMTJjMCA3MS4xLTM4LjYgMTMzLjEtOTYgMTY2LjNsMCAxMi44YzIyLjEgNC41IDQzLjQgMTMuOSA2Mi40IDI4LjIgMjIuMSAxNi42IDI5LjEgMTYuNiA1MS4yIDAgMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40IDYuOSA1LjIgMTIuOCA5IDE4IDExLjcgLjYgLjMgMS4yIC42IDEuOCAxIDQuMiAyLjMgOC41IDQuNiAxMi42IDEuNSA2LTQuNSAxMi42LTggMTkuMy0xMC40bDAtMTE1LjIgNC41IDBjMTUuMiAwIDI3LjUtMTIuMyAyNy41LTI3LjUgMC03LjktMy40LTE1LjUtOS40LTIwLjdMNDQ0LjUgMTAuNUM0MzYuOCAzLjcgNDI2LjggMCA0MTYuNSAwcy0yMC4zIDMuNy0yOCAxMC41TDMyOS45IDYxLjhjNC4zIDE2IDYuNiAzMi44IDYuNiA1MC4yem0zMiA4OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNDh6TTQ3NS4xIDQxMi4xYzE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM1MyOTAgMzkxLjggMjY2IDM3My43Yy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43cy01LjkgMjUuNiA0LjcgMzMuNmMxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6bS03MS4yIDk2YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM1MyOTAgNDg3LjggMjY2IDQ2OS43Yy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43cy01LjkgMjUuNiA0LjcgMzMuNmMxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1Ljl6Il19LENiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlIixpY29uOls1MTIsNTEyLFsiZXh0ZXJuYWwtbGluayJdLCJmMDhlIiwiTTMyMCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDgyLjcgMC0yMDEuNCAyMDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw0NDggMTA5LjMgNDQ4IDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyMCAwek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZMMCA0MzJjMCA0NC4yIDM1LjggODAgODAgODBsMjU2IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC04MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNkw4MCA0NDhjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsODAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4MCA5NnoiXX0sdkV0PUNiLHhFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXVwLWFjcm9zcy1saW5lIixpY29uOls1MTIsNTEyLFtdLCJlNGFmIiwiTTI2NS40IDEwNS40bDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC00MS40LTQxLjQgMCAxMTQuNyA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMjAgMCAwIDExNC43IDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC05NiA5NmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDk2IDQwMi43IDk2IDI4OCAzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIwIDAgMC0xMTQuNy00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zek00MTYgMzM2bDAgMTQ0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTQ0IDY0IDB6TTk2IDE3Nkw5NiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTQ0LTY0IDB6Il19LEQzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTE2LCJncmluLWJlYW0iXSwiZjU4MiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTE3NiAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSx5RXQ9RDNlLEEzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWN0YW5nbGUtYWQiLGljb246WzUxMiw1MTIsWyJhZCJdLCJmNjQxIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek00MTYgMTg0bDAgMTQ0YzAgMTMuMy0xMC43IDI0LTI0IDI0LTcuMSAwLTEzLjUtMy4xLTE3LjktOC0xMC4yIDUuMS0yMS44IDgtMzQuMSA4LTQyIDAtNzYtMzQtNzYtNzZzMzQtNzYgNzYtNzZjOS45IDAgMTkuMyAxLjkgMjggNS4zbDAtMjEuM2MwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em0tNDggOTJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHpNMTYwIDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIgNDggMCAwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMHptMzIgOTZsLTQ4IDAgMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEwNGMwLTM1LjMgMjguNy02NCA2NC02NGwxNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTA0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMjR6Il19LHdFdD1BM2UsRTNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stdGFuYWtoIixpY29uOls0NDgsNTEyLFsidGFuYWtoIl0sImY4MjciLCJNMzUyIDUxMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMC02Ni43QzEzLjQgMzc0LjcgMCAzNTYuOSAwIDMzNkwwIDQ4QzAgMjEuNSAyMS41IDAgNDggMEwzNTIgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMzIwYzAgNTMtNDMgOTYtOTYgOTZ6bTMyLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0yNTYgMCAwIDY0IDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0xMTMuOSAyMjljLTEuMiAyLTEuOSA0LjItMS45IDYuNiAwIDYuOSA1LjYgMTIuNSAxMi41IDEyLjVsNTYuOSAwIDMwLjUgNDkuMmMyLjYgNC4yIDcuMiA2LjggMTIuMiA2LjhzOS42LTIuNiAxMi4yLTYuOGwzMC41LTQ5LjIgNTYuOSAwYzYuOSAwIDEyLjUtNS42IDEyLjUtMTIuNSAwLTIuMy0uNi00LjYtMS45LTYuNmwtMjcuOC00NSAyNy44LTQ1YzEuMi0yIDEuOS00LjIgMS45LTYuNiAwLTYuOS01LjYtMTIuNS0xMi41LTEyLjVsLTU2LjkgMC0zMC41LTQ5LjJDMjMzLjYgNjYuNiAyMjkgNjQgMjI0IDY0cy05LjYgMi42LTEyLjIgNi44bC0zMC41IDQ5LjItNTYuOSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCAyLjMgLjYgNC42IDEuOSA2LjZsMjcuOCA0NS0yNy44IDQ1eiJdfSxNRXQ9RTNlLEkzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3QtdHViLXBlcnNvbiIsaWNvbjpbNDQ4LDUxMixbImhvdC10dWIiXSwiZjU5MyIsIk0yNDAgNDBjMCAxMy42IDUuOCAyNi41IDE1LjggMzUuNmwyNi41IDIzLjhjMjQgMjEuNiAzNy43IDUyLjMgMzcuNyA4NC42IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTguNy03LjktMzYuNC0yMS44LTQ4LjlsLTI2LjUtMjMuOEMyMDMuNSA5My4xIDE5MiA2Ny4yIDE5MiA0MCAxOTIgMjYuNyAyMDIuNyAxNiAyMTYgMTZzMjQgMTAuNyAyNCAyNHpNMCAzMzZsMC04MGMwLTM1LjMgMjguNy02NCA2NC02NGwxOS43IDBjOC4xIDAgMTYuMiAxLjYgMjMuOCA0LjZsMTM3LjEgNTQuOGM3LjYgMyAxNS42IDQuNiAyMy44IDQuNkwzODQgMjU2YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAzMzZ6bTk2LTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMTUyIDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwem0xMDQtMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zMjggMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjQgMCAxMy42IDUuOCAyNi41IDE1LjggMzUuNmwyNi41IDIzLjhjMjQgMjEuNiAzNy43IDUyLjMgMzcuNyA4NC42IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTguNy03LjktMzYuNC0yMS44LTQ4LjlsLTI2LjUtMjMuOEMzMTUuNSA5My4xIDMwNCA2Ny4yIDMwNCA0MCAzMDQgMjYuNyAzMTQuNyAxNiAzMjggMTZ6TTY0IDQwYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyeiJdfSxrRXQ9STNlLFNFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWhhbGYtZGFzaGVkIixpY29uOlszODQsNTEyLFtdLCJlNjk4IiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0bDAgMjU2IDM4NCAwIDAtMTQ5LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjU4LjcgMTguN0MyNDYuNyA2LjcgMjMwLjUgMCAyMTMuNSAwTDY0IDB6TTMyNS41IDE3NkwyMzIgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyMDggNTguNSAzMjUuNSAxNzZ6TTAgMzUybDAgNjQgNjQgMCAwLTY0LTY0IDB6TTY0IDUxMmwwLTY0LTY0IDBjMCAzNS4zIDI4LjcgNjQgNjQgNjR6bTMyIDBsODAgMCAwLTY0LTgwIDAgMCA2NHptMTEyIDBsODAgMCAwLTY0LTgwIDAgMCA2NHptMTEyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsLTY0IDAgMCA2NHptNjQtMTYwbC02NCAwIDAgNjQgNjQgMCAwLTY0eiJdfSxQM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib3V0ZGVudCIsaWNvbjpbNDQ4LDUxMixbImRlZGVudCJdLCJmMDNiIiwiTS40IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zODQgMEMxNC44IDk2IC40IDgxLjcgLjQgNjR6bTE5MiAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgOTZsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyek0uNCA0NDhjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM4NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNLjcgMjY4LjZjLTguMi02LjQtOC4yLTE4LjkgMC0yNS4zbDEwMS45LTc5LjNjMTAuNS04LjIgMjUuOC0uNyAyNS44IDEyLjZsMCAxNTguNmMwIDEzLjMtMTUuMyAyMC44LTI1LjggMTIuNkwuNyAyNjguNnoiXX0sekV0PVAzZSxDRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wZWFjZSIsaWNvbjpbNDQ4LDUxMixbOTk5Nl0sImYyNWIiLCJNMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMDgtNjQgMCAwLTIwOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMTYwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptNjQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6TTYxLjMgNTEuMkwxNDMuOSAyNDAgNzQuMSAyNDAgMi43IDc2LjhDLTQuNCA2MC42IDMgNDEuOCAxOS4yIDM0LjdTNTQuMiAzNSA2MS4zIDUxLjJ6bTI3IDIyMS4zbC0uMi0uNSA5NS45IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MmwwLS42YzkuNCA1LjQgMjAuMyA4LjYgMzIgOC42IDEzLjIgMCAyNS40LTQgMzUuNi0xMC44IDguNyAyNC45IDMyLjUgNDIuOCA2MC40IDQyLjggMTEuNyAwIDIyLjYtMy4xIDMyLTguNmwwIDguNmMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MGwtNjEuNyAwYy00Mi40IDAtODMuMS0xNi45LTExMy4xLTQ2LjlMNjkuNSA0NTMuNUM0NS41IDQyOS41IDMyIDM5Ni45IDMyIDM2M2wwLTI3YzAtMzIuNyAyNC42LTU5LjcgNTYuMy02My41eiJdfSxURXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZC1zaWRlLXZpcnVzIixpY29uOls1MTIsNTEyLFtdLCJlMDY0IiwiTTMyOS43IDQ0OGMtNS4xIDAtOS43IDMuNy05LjcgOC44bDAgNy4yYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02My42YzAtMTIuNi01LjEtMjQuNS0xMy4xLTM0LjItMzEuOC0zOC43LTUwLjktODguMi01MC45LTE0Mi4yIDAtMTIzLjcgMTAwLjMtMjI0IDIyNC0yMjQgMTEyLjcgMCAyMDYgODMuMyAyMjEuNyAxOTEuNyAuNCAzIDEuNyA1LjkgMy42IDguM2wzNS44IDQyLjljNyA4LjQgMTAuOSAxOS4xIDEwLjkgMzAuMSAwIDI1LjktMjEgNDctNDcgNDdsLTEgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTM4LjMgMHpNMjI0IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNCAwIDIyLjktMjcuNyAzNC40LTQzLjkgMTguMi05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45YzE2LjIgMTYuMiA0LjcgNDMuOS0xOC4yIDQzLjktMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGMyMi45IDAgMzQuNCAyNy43IDE4LjIgNDMuOS05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBjMTYuMi0xNi4yIDQzLjktNC43IDQzLjkgMTguMiAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMjIuOSAyNy43LTM0LjQgNDMuOS0xOC4yIDkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWMtMTYuMi0xNi4yLTQuNy00My45IDE4LjItNDMuOSAxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGMtMjIuOSAwLTM0LjQtMjcuNy0xOC4yLTQzLjkgOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGMtMTYuMiAxNi4yLTQzLjkgNC43LTQzLjktMTguMiAwLTEzLjMtMTAuNy0yNC0yNC0yNHptLTMyIDg4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDAgODhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sX0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXBhc3MiLGljb246WzUxMiw1MTIsWzEyOTUxN10sImYxNGUiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTUwLjctMTg2LjlMMTYyLjQgMzgwLjZjLTE5LjQgNy41LTM4LjUtMTEuNi0zMS0zMWw1NS41LTE0NC4zYzMuMy04LjUgOS45LTE1LjEgMTguNC0xOC40bDE0NC4zLTU1LjVjMTkuNC03LjUgMzguNSAxMS42IDMxIDMxTDMyNS4xIDMwNi43Yy0zLjIgOC41LTkuOSAxNS4xLTE4LjQgMTguNHpNMjg4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxMRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuLW5pYiIsaWNvbjpbNTEyLDUxMixbMTAwMDFdLCJmNWFkIiwiTTM2OC41IDE4LjNsLTUwLjEgNTAuMSAxMjUuMyAxMjUuMyA1MC4xLTUwLjFjMjEuOS0yMS45IDIxLjktNTcuMyAwLTc5LjJMNDQ3LjcgMTguM2MtMjEuOS0yMS45LTU3LjMtMjEuOS03OS4yIDB6TTI3OS4zIDk3LjJsLS41IC4xLTE0NC4xIDQzLjJjLTE5LjkgNi0zNS43IDIxLjItNDIuMyA0MUwzLjggNDQ1LjhjLTIuOSA4LjctMS45IDE4LjIgMi41IDI2TDE2MS43IDMxNi40Yy0xLjEtNC0xLjYtOC4xLTEuNi0xMi40IDAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDgtMjEuNSA0OC00OCA0OGMtNC4zIDAtOC41LS42LTEyLjQtMS42TDQwLjMgNTA1LjdjNy44IDQuNCAxNy4yIDUuNCAyNiAyLjVsMjY0LjMtODguNmMxOS43LTYuNiAzNS0yMi40IDQxLTQyLjNsNDMuMi0xNDQuMSAuMS0uNS0xMzUuNS0xMzUuNXoiXX0sJEV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQtYXJyb3dzLWRvd24iLGljb246WzUxMiw1MTIsW10sImU1ODEiLCJNMTg1LjUgMTIxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTMxIDMxIDAtMTAyLjFjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMDIuMS0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw3Mi03MnptMjQ4IDcybDcyLTcyYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTMxIDMxIDAtMTAyLjFjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMDIuMS0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHpNNjAuMyAyOTIuNkwzNy4xIDQ3NmMtMi40IDE5LjEgMTIuNSAzNiAzMS43IDM2bDE1NC41IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMTcuNGMwLTUuOSA0LjctMTAuNiAxMC42LTEwLjYgNCAwIDcuNyAyLjMgOS41IDUuOWw2OC4yIDEzNi41YzUuNCAxMC44IDE2LjUgMTcuNyAyOC42IDE3LjdsNzEuOSAwYzE5LjMgMCAzNC4yLTE2LjkgMzEuNy0zNkw0NTIuNyAyOTIuN2MtMS4yLTkuNy02LjktMTguNC0xNS4zLTIzLjRMMjcxLjkgMTY5LjljLTEwLjItNi4xLTIyLjktNi4xLTMzLjEgLjFMNzUuNCAyNjkuM2MtOC4zIDUuMS0xMy45IDEzLjctMTUuMSAyMy4zeiJdfSxOM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9yd2FyZC1mYXN0IixpY29uOls1MTIsNTEyLFs5MTk3LCJmYXN0LWZvcndhcmQiXSwiZjA1MCIsIk0xOS44IDQ3Ny42YzEyIDUgMjUuNyAyLjIgMzQuOS02LjlMMjI0IDMwMS4zIDIyNCA0NDhjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOUw0NDggMzAxLjMgNDQ4IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTQ2LjctMTY5LjQtMTY5LjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzIyNCA1MS4xIDIyNCA2NEwyMjQgMjEwLjcgNTQuNiA0MS40Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOVMwIDUxLjEgMCA2NEwwIDQ0OGMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42eiJdfSxERXQ9TjNlLEFFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcm9wIixpY29uOls1MTIsNTEyLFtdLCJmMTI1IiwiTTQ0OCAxMDkuM2w1NC42LTU0LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMNDAyLjcgNjQgMTc2IDY0IDE3NiAxMjggMzM4LjcgMTI4IDEyOCAzMzguNyAxMjggMzJjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgMTQuMyA2NCAzMmwwIDMyLTMyIDBDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDMyIDAgMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjA4IDAgMC02NC0xNjIuNyAwIDIxMC43LTIxMC43IDAgMzA2LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0yNzQuN3oiXX0sRjNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoaXNrZXktZ2xhc3MiLGljb246WzQ0OCw1MTIsWzEyOTM0NywiZ2xhc3Mtd2hpc2tleSJdLCJmN2EwIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCAzNTJjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsMTkyIDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMzJ6TTY0IDI1NmwwLTE2MCAzMjAgMCAwIDE2MC0zMjAgMHoiXX0sRUV0PUYzZSxJRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlIixpY29uOls0NDgsNTEyLFs5NjMyLDk3MjMsOTcyNCw2MTU5MF0sImYwYzgiLCJNNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMyeiJdfSxPM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluIixpY29uOls1MTIsNTEyLFsxMjg1MTIsImdyaW4iXSwiZjU4MCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sUEV0PU8zZSxORXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jb250cmFjdCIsaWNvbjpbMzg0LDUxMixbXSwiZjU2YyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNODggNjRDNzQuNyA2NCA2NCA3NC43IDY0IDg4czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCA2NHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwem03MC4zIDE2MGMtMTEuMyAwLTIxLjkgNS4xLTI4LjkgMTMuOUw2OS4zIDQwOWMtOC4zIDEwLjMtNi42IDI1LjUgMy43IDMzLjdzMjUuNSA2LjYgMzMuNy0zLjhsNDcuMS01OC44IDE1LjIgNTAuN2MzIDEwLjIgMTIuNCAxNy4xIDIzIDE3LjFsMTA0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg2LjEgMC0xNi4xLTUzLjZjLTQuNy0xNS43LTE5LjEtMjYuNC0zNS41LTI2LjR6Il19LEZFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZS11cCIsaWNvbjpbMzg0LDUxMixbODk2M10sImYxMDYiLCJNMTY5LjQgMTM3LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwxOTIgMjA1LjMgNTQuNiAzNDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MHoiXX0sUjNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc21pbGUiLGljb246WzUxMiw1MTIsWzEyODU3OCwic21pbGUiXSwiZjExOCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY1LjQgMzIxLjljMjAuNCAyOCA1My40IDQ2LjEgOTAuNiA0Ni4xczcwLjItMTguMSA5MC42LTQ2LjFjNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zczEzLjEgMjIuOCA1LjMgMzMuNUMzNTYuMyAzOTAgMzA5LjIgNDE2IDI1NiA0MTZzLTEwMC4zLTI2LTEyOS40LTY1LjljLTcuOC0xMC43LTUuNC0yNS43IDUuMy0zMy41czI1LjctNS40IDMzLjUgNS4zek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LE9FdD1SM2UsUkV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1kcmVzcy1idXJzdCIsaWNvbjpbNjQwLDUxMixbXSwiZTU0NCIsIk0yMDggNDAuMWMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjR6TTggMTQ0LjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTkyLjUgMTQxLjRsMzMuOS0zMy45YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNjYuNiAyNTEuNmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwek02Ni42IDIuN2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsMzMuOSAzMy45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUwxMDAuNSAyLjdDOTEuMS02LjcgNzYtNi43IDY2LjYgMi43ek0zNTIgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTI0Ni4yIDM4NGwyNS44IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAzMiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMjUuOCAwYzEwLjkgMCAxOC42LTEwLjcgMTUuMi0yMS4xbC00My0xMjkgNDguMyA2NS4xYzEwLjUgMTQuMiAzMC42IDE3LjIgNDQuOCA2LjZzMTcuMi0zMC42IDYuNi00NC44bC03MC41LTk1QzQzNCAxMzIgMzk0LjMgMTEyIDM1MiAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNmw0OC4zLTY1LjEtNDMgMTI5Yy0zLjUgMTAuNCA0LjMgMjEuMSAxNS4yIDIxLjF6Il19LEJFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaXZpZGUiLGljb246WzQ0OCw1MTIsWzEwMTM1LDI0N10sImY1MjkiLCJNMjI0IDQ4YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0wIDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xNjggNDA4YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHoiXX0sSEV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUtZm9yayIsaWNvbjpbNDQ4LDUxMixbXSwiZTEzYiIsIk04MCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04MC0yNGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgMjIuN2MwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTIyLjdjLTI4LjMtMTIuMy00OC00MC41LTQ4LTczLjMgMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgMjIuN2MwIDYxLjktNTAuMSAxMTItMTEyIDExMmwtMzIgMCAwIDcwLjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuMyAwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zbDAtNzAuNy0zMiAwQzk4LjEgMjg4IDQ4IDIzNy45IDQ4IDE3NmwwLTIyLjdDMTkuNyAxNDEgMCAxMTIuOCAwIDgwIDAgMzUuOCAzNS44IDAgODAgMHM4MCAzNS44IDgwIDgwem0yMDggMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4ek0yNDggNDMyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LHFFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1mbGFnIixpY29uOls2NDAsNTEyLFtdLCJlNTBkIiwiTTQ3MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDI4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjgzLjUgNTkuMWwxMDAuNSA5Ni45IDAgMzU2LTI1NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE0NC0xOS45IDBjLTE1LjUgMC0yOC4xLTEyLjYtMjguMS0yOC4xIDAtNy42IDMuMS0xNC45IDguNi0yMC4yTDIyOC41IDU5LjFDMjM1LjkgNTIgMjQ1LjcgNDggMjU2IDQ4czIwLjEgNCAyNy41IDExLjF6TTIzMiAyNTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAweiJdfSxzZj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1jb2x1bW5zIixpY29uOls1MTIsNTEyLFsiYmFuayIsImluc3RpdHV0aW9uIiwibXVzZXVtIiwidW5pdmVyc2l0eSJdLCJmMTljIiwiTTI3MS45IDIwLjJjLTkuOC01LjYtMjEuOS01LjYtMzEuOCAwbC0yMjQgMTI4Yy0xMi42IDcuMi0xOC44IDIyLTE1LjEgMzZTMTcuNSAyMDggMzIgMjA4bDMyIDAgMCAyMDggMCAwLTUxLjIgMzguNEM0LjcgNDYwLjQgMCA0NjkuOSAwIDQ4MCAwIDQ5Ny43IDE0LjMgNTEyIDMyIDUxMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTEwLjEtNC43LTE5LjYtMTIuOC0yNS42bC01MS4yLTM4LjQgMC0yMDggMzIgMGMxNC41IDAgMjcuMi05LjggMzAuOS0yMy44cy0yLjUtMjguOC0xNS4xLTM2bC0yMjQtMTI4ek00MDAgMjA4bDAgMjA4LTY0IDAgMC0yMDggNjQgMHptLTExMiAwbDAgMjA4LTY0IDAgMC0yMDggNjQgMHptLTExMiAwbDAgMjA4LTY0IDAgMC0yMDggNjQgMHpNMjU2IDk2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sakV0PXNmLFZFdD1zZixVRXQ9c2YsV0V0PXNmLEdFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWciLGljb246WzU3Niw1MTIsW10sImU1NjkiLCJNMjQgNjRsNTYgMCAwIDM4NC01NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTQwLTggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC0zMi04IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtMzItOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTQwLTggMEMxMC43IDExMiAwIDEwMS4zIDAgODhTMTAuNyA2NCAyNCA2NHptMTA0IDBsMzIwIDAgMCAzODQtMzIwIDAgMC0zODR6TTU3NiA4OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgNDAgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCAzMiA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDMyIDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgNDAgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC01NiAwIDAtMzg0IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjR6Il19LFlFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLW1lcmdlIixpY29uOls0NDgsNTEyLFtdLCJmMzg3IiwiTTgwIDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMzIuNCA5Ny4yYzI4LTEyLjQgNDcuNi00MC41IDQ3LjYtNzMuMiAwLTQ0LjItMzUuOC04MC04MC04MFMwIDM1LjggMCA4MGMwIDMyLjggMTkuNyA2MSA0OCA3My4zbDAgMjA1LjNDMTkuNyAzNzEgMCAzOTkuMiAwIDQzMiAwIDQ3Ni4yIDM1LjggNTEyIDgwIDUxMnM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNsMC04Ni42YzI2LjcgMjAuMSA2MCAzMiA5NiAzMmw4Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OCA0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MGMtMzIuOCAwLTYxIDE5LjctNzMuMyA0OEwyMDggMjQwYy00OS45IDAtOTEtMzguMS05NS42LTg2Ljh6TTgwIDQwOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTM0NCAyNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sWkV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLXRzdW5hbWkiLGljb246WzY0MCw1MTIsW10sImU1MTUiLCJNMjg4IDE2QzE1NS41IDE2IDQ4IDEyMy41IDQ4IDI1NlMxNTUuNSA0OTYgMjg4IDQ5NmM3LjQgMCAxOS43LTIuMyAzMy43LTcuMyAxMy44LTQuOSAyNy4xLTExLjcgMzYuNy0xOC45IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNS40IDExLjYgMzUuMyAyMS4xIDU1IDI0LjQgMTkuNSAzLjMgMzcgLjQgNTEuMS0xMC4yIDEwLjYtOCAyNS42LTUuOSAzMy42IDQuN3M1LjkgMjUuNi00LjcgMzMuNmMtMjcuMyAyMC41LTU5LjIgMjQtODcuOSAxOS4yLTI4LjUtNC44LTU1LjQtMTgtNzUuOS0zMy40LTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTE0LjUgMTAuOS0zMi40IDE5LjctNDkuNSAyNS44LTE2LjggNi0zNC45IDEwLjEtNDkuOSAxMC4xbC0uMSAwQzEyOC45IDU0My45IDAgNDE1IDAgMjU2IDAgOTYuOSAxMjguOS0zMiAyODgtMzIgMzAxLjMtMzIgMzEyLTIxLjMgMzEyLThzLTEwLjcgMjQtMjQgMjR6bTQ0LjggMTY2LjRsOTYtNzJjMTEuNC04LjUgMjcuMS04LjUgMzguNSAwbDk1LjUgNzJjOCA2IDEyLjcgMTUuNSAxMi43IDI1LjVsLjMgMTIxLjVjLTIuMiAxLjMtNC4zIDIuNi02LjQgNC4yLTQuMyAzLjEtOC43IC44LTEzLjItMS41bC0xLjItLjYtLjctLjNjLTUuNC0yLjctMTEuNy02LjYtMTguOS0xMS43LTI5LjUtMjEuMS02NC4zLTMxLjYtOTkuMS0zMS40LTM0LjEgLjItNjguMSAxMC43LTk3IDMxLjQtNy44IDUuNi0xMy44IDkuMy0xOS4zIDExLjJMMzIwIDIwOGMwLTEwLjEgNC43LTE5LjYgMTIuOC0yNS42em01NC42IDIyOS43Yy0xNC41IDEwLjktMzIuNCAxOS43LTQ5LjUgMjUuOC0xNi44IDYtMzQuOSAxMC4xLTQ5LjkgMTAuMS0xMDYgMC0xOTItODYtMTkyLTE5MlMxODIgNjQgMjg4IDY0YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NHM2NC41IDE0NCAxNDQgMTQ0YzcuNCAwIDE5LjctMi4zIDMzLjctNy4zIDEzLjgtNC45IDI3LjEtMTEuNyAzNi43LTE4LjkgMzguNC0yOSA5MC41LTI5IDEyOSAwIDE1LjQgMTEuNiAzNS4zIDIxLjEgNTUgMjQuNCAxOS41IDMuMyAzNyAuNCA1MS4xLTEwLjIgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNy4zIDIwLjUtNTkuMiAyNC04Ny45IDE5LjItMjguNS00LjgtNTUuNC0xOC03NS45LTMzLjQtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LFhFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLWNoYXJ0IixpY29uOls1MTIsNTEyLFtdLCJlNTIyIiwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZDMjk2LjMgNDAxLjEgMjUzLjkgNDE2IDIwOCA0MTYgOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDAgNDE2IDkzLjEgNDE2IDIwOHptLTMxMiA4bDAgNjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em04MC05NmwwIDE2MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em04MCA2NGwwIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC05NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHoiXX0sUUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVtYnJlbGxhIixpY29uOls1MTIsNTEyLFtdLCJmMGU5IiwiTTI1Ni0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDJjMTI2LjMgMTUuNyAyMjQgMTIzLjUgMjI0IDI1NCAwIDMuOC0uMSA3LjUtLjIgMTEuMy0uMyA2LjktNSAxMi44LTExLjcgMTQuN3MtMTMuOC0uNy0xNy42LTYuNWMtMTQuNC0yMS40LTM4LjgtMzUuNS02Ni41LTM1LjUtMjkuMyAwLTU0LjkgMTUuNy02OC45IDM5LjMtMi43IDQuNi03LjYgNy42LTEzIDcuOHMtMTAuNS0yLjItMTMuNy02LjVjLTE0LjYtMTkuOC0zOC0zMi42LTY0LjUtMzIuNnMtNDkuOSAxMi44LTY0LjUgMzIuNmMtMy4yIDQuMy04LjMgNi44LTEzLjcgNi41cy0xMC4yLTMuMi0xMy03LjhjLTE0LTIzLjYtMzkuNi0zOS4zLTY4LjktMzkuMy0yNy43IDAtNTIuMSAxNC4xLTY2LjUgMzUuNS0zLjkgNS43LTExIDguNC0xNy42IDYuNVMuNSAyNzQuMiAuMiAyNjcuM0MuMSAyNjMuNSAwIDI1OS44IDAgMjU2IDAgMTI1LjUgOTcuNyAxNy43IDIyNCAybDAtMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMzIgMzYwbDAgMTAyLjZjMCA0NS0zNi41IDgxLjQtODEuNCA4MS40LTMwLjggMC01OS0xNy40LTcyLjgtNDVsLTIuMy00LjdjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjlzMzUtMS41IDQyLjkgMTQuM2wyLjMgNC43YzMgNS45IDkgOS42IDE1LjYgOS42IDkuNiAwIDE3LjQtNy44IDE3LjQtMTcuNEwyMjQgMzI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LEpFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoaWxsLXJvY2tzbGlkZSIsaWNvbjpbNTc2LDUxMixbXSwiZTUwOCIsIk0yNTIuNCAxMDMuOGwyNyA0OGMyLjggNSA4LjIgOC4yIDEzLjkgOC4ybDUzLjMgMGM1LjggMCAxMS4xLTMuMSAxMy45LTguMmwyNy00OGMyLjctNC45IDIuNy0xMC44IDAtMTUuN2wtMjctNDhjLTIuOC01LTguMi04LjItMTMuOS04LjJsLTUzLjMgMGMtNS44IDAtMTEuMSAzLjEtMTMuOSA4LjJsLTI3IDQ4Yy0yLjcgNC45LTIuNyAxMC44IDAgMTUuN3pNNjguMyA4N0M0My4xIDYxLjggMCA3OS43IDAgMTE1LjNMMCA0MzJjMCA0NC4yIDM1LjggODAgODAgODBsMzE2LjcgMGMzNS42IDAgNTMuNS00My4xIDI4LjMtNjguM0w2OC4zIDg3ek01MDQuMiA0MDMuNmM0LjkgMi43IDEwLjggMi43IDE1LjcgMGw0OC0yN2M1LTIuOCA4LjItOC4yIDguMi0xMy45bDAtNTMuM2MwLTUuOC0zLjEtMTEuMS04LjItMTMuOWwtNDgtMjdjLTQuOS0yLjctMTAuOC0yLjctMTUuNyAwbC00OCAyN2MtNSAyLjgtOC4yIDguMi04LjIgMTMuOWwwIDUzLjNjMCA1LjggMy4xIDExLjEgOC4yIDEzLjlsNDggMjd6TTE5MiA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zODQgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sS0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItc2VjcmV0IixpY29uOls0NDgsNTEyLFsxMjgzNzNdLCJmMjFiIiwiTTE3MS0xNmMtMzYuNCAwLTU3LjggNTguMy02OC4zIDExMkw3MiA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgMzJjMCAxNyAzLjMgMzMuMiA5LjMgNDhsLTkuMyAwIDAgMC0yMC41IDBjLTE1LjIgMC0yNy41IDEyLjMtMjcuNSAyNy41IDAgMyAuNSA1LjkgMS40IDguN2wyOC45IDg2LjZDNDAuMiAzNzkuNiAxNiA0MjguMSAxNiA0ODIuMyAxNiA0OTguNyAyOS4zIDUxMiA0NS43IDUxMmwzNTYuNiAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtNTQuMi0yNC4yLTEwMi43LTYyLjMtMTM1LjRsMjguOS04Ni42Yy45LTIuOCAxLjQtNS43IDEuNC04LjcgMC0xNS4yLTEyLjMtMjcuNS0yNy41LTI3LjVsLTIwLjUgMCAwIDAtOS4zIDBjNi0xNC44IDkuMy0zMSA5LjMtNDhsMC0zMiAyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMC43IDBjLTEwLjQtNTMuNy0zMS45LTExMi02OC4zLTExMi05LjYgMC0xOSAzLjktMjcuNSA4LjItOC4yIDQuMS0xOC40IDcuOC0yNS41IDcuOHMtMTcuMy0zLjctMjUuNS03LjhDMTkwLTEyLjEgMTgwLjYtMTYgMTcxLTE2em05My43IDQ4NC40bC0yNC44LTcwLjkgMjcuOS0zMi41YzIuNy0zLjIgNC4yLTcuMiA0LjItMTEuNCAwLTkuNy03LjgtMTcuNS0xNy41LTE3LjVsLTYxIDBjLTkuNyAwLTE3LjUgNy44LTE3LjUgMTcuNSAwIDQuMiAxLjUgOC4yIDQuMiAxMS40bDI3LjkgMzIuNS0yNC44IDcwLjktNTctMTgwLjQgMzUuNyAwYzE4LjQgMTAuMiAzOS41IDE2IDYyIDE2czQzLjYtNS44IDYyLTE2bDM1LjcgMC01NyAxODAuNHpNMjI0IDI1NmMtMzQuNyAwLTY0LjItMjIuMS03NS4zLTUzIDUuNyAzLjIgMTIuMyA1IDE5LjMgNWwxMi40IDBjMTYuNSAwIDMxLjEtMTAuNiAzNi4zLTI2LjIgMi4zLTcgMTIuMi03IDE0LjUgMCA1LjIgMTUuNiAxOS45IDI2LjIgMzYuMyAyNi4ybDEyLjQgMGM3IDAgMTMuNi0xLjggMTkuMy01LTExLjEgMzAuOS00MC42IDUzLTc1LjMgNTN6Il19LGVJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWdlciIsaWNvbjpbNTEyLDUxMixbMTI4MjIzXSwiZjgxNSIsIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4em02NCAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNODggMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6bTEyOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6Il19LHRJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmllZmNhc2UiLGljb246WzUxMiw1MTIsWzEyODE4OF0sImYwYjEiLCJNMjAwIDQ4bDExMiAwYzQuNCAwIDggMy42IDggOGwwIDQwLTEyOCAwIDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwLTgwIDBDMjguNyA5NiAwIDEyNC43IDAgMTYwbDAgOTYgNTEyIDAgMC05NmMwLTM1LjMtMjguNy02NC02NC02NGwtODAgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDIwMCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnpNNTEyIDMwNGwtMTkyIDAgMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNi0xOTIgMCAwIDExMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTExMnoiXX0sckl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyb3dlbC1icmlja3MiLGljb246WzUxMiw1MTIsW10sImU1OGEiLCJNMjI0IDMyYzAtMTEuNS02LjItMjIuMi0xNi4yLTI3LjhzLTIyLjMtNS41LTMyLjIgLjRsLTE2MCA5NkM1LjkgMTA2LjMgMCAxMTYuOCAwIDEyOHM1LjkgMjEuNyAxNS41IDI3LjRsMTYwIDk2YzkuOSA1LjkgMjIuMiA2LjEgMzIuMiAuNFMyMjQgMjM1LjUgMjI0IDIyNGwwLTY0IDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yNTYgMCAwLTY0em05NiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTYwIDB6TTAgNDE2bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMjI0LTMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTI1NiAweiJdfSxhSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29ja3MiLGljb246WzUxMiw1MTIsWzEyOTUxMF0sImY2OTYiLCJNMjUyLjggMEwxNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNiAxMTIgMCAwLTE2YzAtMTcuNSA0LjctMzMuOSAxMi44LTQ4ek0xMjggMTEybDAgMTI4YzAgMjAuMS05LjUgMzkuMS0yNS42IDUxLjJsLTY0IDQ4Yy0yNC4yIDE4LjEtMzguNCA0Ni42LTM4LjQgNzYuOCAwIDUzIDQzIDk2IDk2IDk2IDE1LjQgMCAzMC41LTMuNyA0NC0xMC43LTE3LjYtMjMuOS0yOC01My40LTI4LTg1LjMgMC00NS4zIDIxLjMtODggNTcuNi0xMTUuMmw2NC00OGM0LTMgNi40LTcuOCA2LjQtMTIuOGwwLTEyOC0xMTIgMHptMTYwIDBsMCAxMjhjMCAyMC4xLTkuNSAzOS4xLTI1LjYgNTEuMmwtNjQgNDhjLTI0LjIgMTguMS0zOC40IDQ2LjYtMzguNCA3Ni44IDAgNTMgNDMgOTYgOTYgOTYgMjAuOCAwIDQxLTYuNyA1Ny42LTE5LjJsMTE1LjItODYuNEM0NjEgMzgyLjIgNDgwIDM0NC4zIDQ4MCAzMDRsMC0xOTItMTkyIDB6TTQ4MCA2NGwwLTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDMzNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2IDE5MiAweiJdfSxpSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidCIsaWNvbjpbMzg0LDUxMixbMTE2XSwiNTQiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDEyOCAwIDAgMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNTIgMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LG5JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWNyb2NoaXAiLGljb246WzUxMiw1MTIsW10sImYyZGIiLCJNMTc2IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bC00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDAgMCA1Ni00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDAgMCA1Ni00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDBjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAgNTYgMCAwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCA1NiAwIDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC01NiA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00MCAwIDAtNTYgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMGMwLTM1LjMtMjguNy02NC02NC02NGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDAtNTYgMCAwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDAtNTYgMCAwLTQwek0xNjAgMTI4bDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE2IDQ4bDAgMTYwIDE2MCAwIDAtMTYwLTE2MCAweiJdfSxCM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stbWVkaWNhbCIsaWNvbjpbNTc2LDUxMixbMTI4NjU3LCJhbWJ1bGFuY2UiXSwiZjBmOSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMuMyAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMTAyLjYgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0czc0LjItMjcuMSA4NC43LTY0bDMuMyAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTQ2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTEyIDE0Ni43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43bC01MC43IDAgMC0zMmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNTEyIDIzNy4zbDAgNTAuNy05NiAwIDAtOTYgNTAuNyAwIDQ1LjMgNDUuM3pNMTUyIDM4NGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTIzMiA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0xNzYgMTM2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00MCAwIDAgNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQweiJdfSxzSXQ9QjNlLG9JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvbSIsaWNvbjpbNTc2LDUxMixbMTI4MzI5XSwiZjY3OSIsIk0zODguNyA0LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsMTYgMTZjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTE2IDE2Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtMTYtMTZjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42bDE2LTE2ek0xNzYgMTYwYy0xMC44IDAtMjAuOCAzLjYtMjguOCA5LjYtMTQuMSAxMC42LTM0LjIgNy44LTQ0LjgtNi40cy03LjgtMzQuMiA2LjQtNDQuOGMxOC43LTE0LjEgNDItMjIuNCA2Ny4yLTIyLjQgNjEuOSAwIDExMiA1MC4xIDExMiAxMTIgMCAxNy4yLTMuOSAzMy41LTEwLjggNDhsNDkuNyAwYzEyLjcgMCAyNC45LTUgMzMuOS0xNC4xbDIwLjctMjAuN2MxOC43LTE4LjcgNDQuMS0yOS4zIDcwLjYtMjkuMyA1NS4yIDAgOTkuOSA0NC43IDk5LjkgOTkuOWwwIDk2LjFjMCA1NS4yLTQ0LjggMTAwLTEwMCAxMDBTMzUyIDQ0My4yIDM1MiAzODhsMC00YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0YzAgMTkuOSAxNi4xIDM2IDM2IDM2czM2LTE2LjEgMzYtMzZsMC05Ni4xYzAtMTkuOC0xNi4xLTM1LjktMzUuOS0zNS45LTkuNSAwLTE4LjYgMy44LTI1LjQgMTAuNWwtMjAuNyAyMC43Yy0yMSAyMS00OS40IDMyLjgtNzkuMSAzMi44bC0yNi44IDBjMTIuNiAxOS42IDE5LjkgNDIuOCAxOS45IDY4IDAgNzUuMi02NSAxMzItMTQwIDEzMlM0MCA0NjMuMiA0MCAzODhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmMwIDM1LjMgMzEuNyA2OCA3NiA2OHM3Ni0zMi43IDc2LTY4LTMxLjctNjgtNzYtNjhsLTIwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OHpNMzM3LjEgNjAuMWMtMTEtMTMuOC0zMS4xLTE2LjItNDUtNS4ycy0xNi4yIDMxLjEtNS4yIDQ1QzMxMi42IDEzMi4yIDM1NC40IDE1MiA0MDAgMTUyczg3LjQtMTkuOCAxMTMuMS01Mi4xYzExLTEzLjggOC43LTM0LTUuMi00NXMtMzQtOC43LTQ1IDUuMkM0NTAuMyA3NiA0MjcuNSA4OCA0MDAgODhzLTUwLjMtMTItNjIuOS0yNy45eiJdfSxsSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9zcXVpdG8tbmV0IixpY29uOls2NDAsNTEyLFtdLCJlNTJjIiwiTTU3NiAzNTJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxNiAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDAgNDggMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMCAwIDE2LS4xIDIuNUM1OTguNiA1NjYuNiA1ODguNCA1NzYgNTc2IDU3NnMtMjIuNi05LjQtMjMuOS0yMS41bC0uMS0yLjUgMC0xNi00OCAwIDAgMTYtLjEgMi41QzUwMi42IDU2Ni42IDQ5Mi40IDU3NiA0ODAgNTc2cy0yMi42LTkuNC0yMy45LTIxLjVsLS4xLTIuNSAwLTE2LTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTYgMCAwLTQ4LTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTYgMCAwLTE2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxNiA0OCAwIDAtMTZjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQyOS45IDE2LjNjNy43LTkuNCAyMS4zLTExLjUgMzEuNC00LjMgMTAuMSA3LjEgMTMuMSAyMC45IDcuNCAzMS43bC0xLjMgMi4xLTI1LjkgMzguOSAxMy4zIDUzLjRjMiA4LS4xIDE2LjMtNS4zIDIyLjNsLTIuNCAyLjQtNDQuNyAzOC4zIDEzMC41IDE0LjVjNDIuOCA0LjggNzUuMSA0MC45IDc1LjEgODMuOSAwIDMuOS0uNCA3LjctLjkgMTEuNS03LjMtMy41LTE1LjMtNS44LTIzLjgtNi43TDU3NiAzMDRjLTE4LjUgMC0zNS4zIDctNDggMTguNC0xMS05LjktMjUuMS0xNi41LTQwLjYtMTguMUw0ODAgMzA0Yy0zMC4zIDAtNTYuMSAxOC43LTY2LjggNDUuMi0xMi41IDUtMjMuMiAxMy40LTMxLjEgMjRsLTMwLjItNDAuMSAwIDc0LjdjMCAxNy43LTE0LjMgMzItMzIgMzItMTYuNiAwLTMwLjItMTIuNi0zMS44LTI4LjdsLS4yLTMuMyAwLTc0LjYtMzIuMyA0MyAwIDM5LjhjMCAzLjUtLjcgNi45LTIuMSAxMC4xbC0xLjYgMy4xLTQwIDY0LTEuNCAyYy03LjUgOS42LTIxIDEyLjEtMzEuMyA1LjMtMTAuMy02LjgtMTMuNy0yMC41LTguMy0zMS41bDEuMi0yLjIgMzYuMi01OCAwLTQxIC4zLTRjLjYtMy45IDIuMi03LjcgNC42LTEwLjlsMzkuMy01Mi4yLTY2LjIgNTkuNWMtMTcgMTUuMy0zOSAyMy43LTYxLjkgMjMuOGwtOC4xIDBjLTQ2LjYgMC04NC40LTM3LjgtODQuNC04NC40IDAtNDMgMzIuNC03OS4yIDc1LjEtODMuOWwxMzAuNS0xNC41LTQ0LjctMzguMy0yLjQtMi40Yy01LjItNi03LjMtMTQuNC01LjMtMjIuM2wxMy4zLTUzLjQtMjUuOS0zOC45LTEuMi0yLjFjLTUuNy0xMC44LTIuNy0yNC42IDcuNC0zMS43IDEwLjEtNy4xIDIzLjctNS4xIDMxLjQgNC4zbDEuNSAyIDMyIDQ4IDEuNCAyLjJjMi44IDUuMyAzLjUgMTEuNiAyLjEgMTcuNmwtMTIuMyA0OS4yIDUzLjMgNDUuNyAwLTI4LjggLjItMy4yYzEuMS0xMC40IDcuMi0xOS40IDE1LjgtMjQuNGwwLTYwLjUgLjMtMy4yYzEuNS03LjMgOC0xMi43IDE1LjctMTIuOCA3LjcgMCAxNC4yIDUuNSAxNS43IDEyLjhsLjMgMy4yIDAgNjAuNWM4LjcgNSAxNC44IDE0IDE1LjggMjQuNGwuMiAzLjIgMCAyOC45IDUzLjQtNDUuNy0xMi4zLTQ5LjJjLTEuNS01LjktLjctMTIuMiAyLjEtMTcuNmwxLjQtMi4yIDMyLTQ4IDEuNS0yek01MDQgNDg4bDQ4IDAgMC00OC00OCAwIDAgNDh6Il19LGNJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwcmVzY3JpcHRpb24tYm90dGxlIixpY29uOlszODQsNTEyLFtdLCJmNDg1IiwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NEwwIDMyek0zMiAxNDRsMzIwIDAgMCAzMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwIDAtNDggNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMCAwLTQ4IDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAgMC02NHoiXX0sSDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLWdlYXIiLGljb246WzY0MCw1MTIsWyJ1c2Vycy1jb2ciXSwiZjUwOSIsIk0zMjAgMjI0YTEwNCAxMDQgMCAxIDAgMC0yMDggMTA0IDEwNCAwIDEgMCAwIDIwOHpNOTYgMjMyYTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0ek0wIDQxNmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDg2LjcgMGMtNC4zLTkuOC02LjctMjAuNi02LjctMzJsMC0xNmMwLTUzLjIgMjAtMTAxLjggNTIuOS0xMzguNi0xMS43LTMuNS0yNC4xLTUuNC0zNi45LTUuNC03MC43IDAtMTI4IDU3LjMtMTI4IDEyOHpNNjE2IDE2MGE3MiA3MiAwIDEgMCAtMTQ0IDAgNzIgNzIgMCAxIDAgMTQ0IDB6TTE2MCA0MzJsMCAxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNTYuOCAwYy03LjEtMjEuNi02LjMtNDQuNCAxMC43LTY0LTE0LTE2LjItMjAuNS0zOS43LTExLjQtNjMuMyA2LjYtMTcuMSAxNS45LTMzLjEgMjcuNC00Ny4zIDUuNC02LjYgMTEuNi0xMS43IDE4LjMtMTUuNC0yMi4xLTExLjUtNDcuMi0xOC03My44LTE4LTg4LjQgMC0xNjAgNzEuNi0xNjAgMTYwem00NjQuNi00NC4xYzYuMy0zLjYgOS41LTExLjEgNi44LTE4LTQuOC0xMi40LTExLjUtMjQuMS0xOS45LTM0LjQtNC42LTUuNy0xMi43LTYuNy0xOS0zLTIxLjggMTIuNi00OC42LTIuOC00OC42LTI4LjEgMC03LjMtNC45LTEzLjgtMTIuMS0xNC45LTEyLjktMi0yNi44LTItMzkuNyAwLTcuMiAxLjEtMTIuMSA3LjYtMTIuMSAxNC45IDAgMjUuMi0yNi44IDQwLjctNDguNiAyOC4xLTYuMy0zLjYtMTQuNC0yLjYtMTkgMy04LjQgMTAuMy0xNS4xIDIyLTE5LjkgMzQuNC0yLjYgNi44IC41IDE0LjMgNi44IDE3LjkgMjEuOSAxMi42IDIxLjkgNDMuNSAwIDU2LjItNi4zIDMuNi05LjUgMTEuMS02LjggMTcuOSA0LjggMTIuNCAxMS41IDI0LjEgMTkuOSAzNC40IDQuNiA1LjcgMTIuNyA2LjcgMTkgMyAyMS44LTEyLjYgNDguNiAyLjkgNDguNiAyOC4xIDAgNy4zIDQuOSAxMy44IDEyLjEgMTQuOSAxMi45IDIgMjYuOCAyIDM5LjcgMCA3LjItMS4xIDEyLjEtNy42IDEyLjEtMTQuOSAwLTI1LjIgMjYuOC00MC43IDQ4LjYtMjguMSA2LjMgMy42IDE0LjQgMi42IDE5LTMgOC40LTEwLjMgMTUuMS0yMiAxOS45LTM0LjQgMi42LTYuOC0uNS0xNC4zLTYuOC0xNy45LTIxLjktMTIuNi0yMS45LTQzLjUgMC01Ni4yek00NzIgNDE2YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6Il19LGRJdD1IM2UsdUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTY1IiwiTTI4OCAzMmwtNzYuMyAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkw2NS40IDQyMC41QzU3LjkgNDUwLjcgODAuOCA0ODAgMTEyIDQ4MGwyMDkuNCAwYy0xMS4yLTI0LjQtMTcuNC01MS40LTE3LjQtODAgMC0yOC42IDYuMi01NS43IDE3LjQtODAtLjUgMC0xIDAtMS41IDAtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDljMzUuMi0zOS45IDg2LjctNjUgMTQ0LTY1IDkgMCAxNy44IC42IDI2LjUgMS44bC0zMi0xMjkuMkM0ODMuNCA1Mi4xIDQ1Ny44IDMyIDQyOC4zIDMybC03Ni40IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0scEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhdXNlIixpY29uOlszODQsNTEyLFs5MjA4XSwiZjA0YyIsIk00OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMzJ6bTIyNCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAweiJdfSxwYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFmZi1zbmFrZSIsaWNvbjpbNDQ4LDUxMixbInJvZC1hc2NsZXBpdXMiLCJyb2Qtc25ha2UiLCJzdGFmZi1hZXNjdWxhcGl1cyJdLCJlNTc5IiwiTTE5MiAzMmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiA2NCAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC0xNiAwIDAtNjQgMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwIDE5MiAzMiAwYzUzIDAgOTYgNDMgOTYgOTYgMCA0Ny42LTM0LjYgODcuMS04MCA5NC43bDAtNjdjOS42LTUuNSAxNi0xNS45IDE2LTI3LjcgMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDAgMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC02NC0zMiAwYy01MyAwLTk2LTQzLTk2LTk2IDAtNDcuNiAzNC42LTg3LjEgODAtOTQuN2wwIDY3Yy05LjYgNS41LTE2IDE1LjktMTYgMjcuNyAwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwIDAtMTkyLTcyLjYgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMmwtMTYgMEMyMS41IDEyOCAwIDEwNi41IDAgODBTMjEuNSAzMiA0OCAzMmwxNDQgMHoiXX0sZkl0PXBiLGhJdD1wYixtSXQ9cGIsZ0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBpZ2d5LWJhbmsiLGljb246WzU3Niw1MTIsW10sImY0ZDMiLCJNMjg4LTMyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyek00OCAzMDRjMC03MC4xIDQ3LTEzMS40IDExNy4xLTE2NC45IDI1LjMgNDEuMyA3MC45IDY4LjkgMTIyLjkgNjguOSA1NS43IDAgMTA0LjEtMzEuNyAxMjgtNzggMTUuOC0xMS4zIDM1LjEtMTggNTYtMThsMTkuNSAwYzEwLjQgMCAxOCA5LjggMTUuNSAxOS45bC0xNy4xIDY4LjNjOS45IDEyLjQgMTguMiAyNS43IDI0LjQgMzkuOGwyMS43IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQwIDBjLTE2LjUgMjItMzguNSAzOS42LTY0IDUwLjdsMCAyOS4zYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMyAwYy0xNC4zIDAtMjYuOC05LjUtMzAuOC0yMy4ybC03LjEtMjQuOC04Mi4zIDAtNy4xIDI0LjhDMjM1LjggNTAyLjUgMjIzLjMgNTEyIDIwOSA1MTJsLTMzIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjkuM0M4Ny41IDQyNiA0OCAzNjkuNiA0OCAzMDR6bTM3NiAxNmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LGJJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb251bWVudCIsaWNvbjpbMzg0LDUxMixbXSwiZjVhNiIsIk0yMDktMzNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDk1IDQ3Yy00LjEgNC4xLTYuNSA5LjQtNyAxNS4xTDU4LjQgNDQ4IDQ4IDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTAuNCAwLTI5LjctMzg1LjhjLS40LTUuNy0yLjktMTEuMS03LTE1LjFMMjA5LTMzek0xMjggMjk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxxM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGVzLXJpZ2h0IixpY29uOls0NDgsNTEyLFsxODcsImFuZ2xlLWRvdWJsZS1yaWdodCJdLCJmMTAxIiwiTTQzOS4xIDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wzNzEuMiAyNTYgMjMzLjkgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MHptLTM1MiAxNjBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMTc5LjIgMjU2IDQxLjkgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDB6Il19LHZJdD1xM2UsVGI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGVza3RvcCIsaWNvbjpbNTEyLDUxMixbMTI4NDIxLDYxNzA0LCJkZXNrdG9wLWFsdCJdLCJmMzkwIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTQ0IDAtMTYgNDgtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMC0xNi00OCAxNDQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNOTYgOTZsMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0seEl0PVRiLHlJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFuZS1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1NTciLCJNMjMyIDI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMjcuMyA3OCA3MS41Yy02OS4zIDI5LTExOCA5Ny40LTExOCAxNzcuMiAwIDQ5LjMgMTguNiA5NC4zIDQ5LjEgMTI4LjNMMjg4IDUxMiAxNzkuOSA1MzljLTEwLjEgMi41LTE5LjktNS4xLTE5LjktMTUuNWwwLTE5LjhjMC00LjkgMi4yLTkuNSA2LTEyLjVsNjYtNTIuOCAwLTk5LjctMTYyLjkgNTQuM0M1OC43IDM5Ni40IDQ4IDM4OC43IDQ4IDM3Ny44bDAtNDMuN2MwLTkgMy44LTE3LjUgMTAuNC0yMy42TDIzMiAxNTEuMyAyMzIgMjR6TTQ5NiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em01OS4zIDEwNy4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTM2LjcgMzYuNy0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsMzYuNyAzNi43LTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDM2LjctMzYuNyAzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zNi43LTM2LjcgMzYuNy0zNi43eiJdfSx3SXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmV0d2VldCIsaWNvbjpbNTc2LDUxMixbXSwiZjA3OSIsIk0xMTguNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45UzE5LjEgMTYwIDMyIDE2MGwzMiAwIDAgMjI0YzAgNTMgNDMgOTYgOTYgOTZsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIyNCAzMiAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0ek00NTcuNCA0NzAuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM1NTYuOSAzNTIgNTQ0IDM1MmwtMzIgMCAwLTIyNGMwLTUzLTQzLTk2LTk2LTk2TDI4OCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIyNC0zMiAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWw2NCA2NHoiXX0sajNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZ2VhciIsaWNvbjpbNjQwLDUxMixbInVzZXItY29nIl0sImY0ZmUiLCJNMjU2LjUgOGExMjAgMTIwIDAgMSAxIDAgMjQwIDEyMCAxMjAgMCAxIDEgMC0yNDB6TTIyNi43IDMwNGw1OS40IDAgMS41IDBjLTEyLjkgMjYuOC03LjggNTguMiAxMS41IDc5LjUtMjAuMiAyMi4zLTI0LjggNTUuOC05LjQgODMuNGwyMi41IDQwLjRjLjkgMS42IDEuOSAzLjIgMi45IDQuN2wtMjM3IDBjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtOTguNSA3OS44LTE3OC4zIDE3OC4zLTE3OC4zem0yMDUuOS01Ni40YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA2LjFjMCAxOC45IDI0LjEgMzIuOCA0MC41IDIzLjRsNS0yLjljMTEuNi02LjcgMjYuNS0yLjYgMzMgOS4xbDIyLjQgNDAuMmM2LjIgMTEuMiAyLjYgMjUuMi04LjIgMzJsLTQuNyAyLjljLTE2LjIgMTAuMS0xNi4yIDM5LjkgMCA1MC4xbDQuNiAyLjljMTAuOCA2LjggMTQuNSAyMC44IDguMyAzMkw2MDcgNDgzLjhjLTYuNSAxMS43LTIxLjQgMTUuOS0zMyA5LjFsLTQuOS0yLjljLTE2LjQtOS41LTQwLjUgNC41LTQwLjUgMjMuNGwwIDYuMWMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC01LjljMC0xOS0yNC4yLTMzLTQwLjctMjMuNWwtNC44IDIuOGMtMTEuNiA2LjctMjYuNCAyLjYtMzMtOS4xbC0yMi42LTQwLjRjLTYuMi0xMS4yLTIuNi0yNS4zIDguMy0zMi4xbDQuNC0yLjdjMTYuMy0xMC4xIDE2LjMtNDAuMSAwLTUwLjJsLTQuNS0yLjhjLTEwLjktNi44LTE0LjUtMjAuOS04LjMtMzIuMWwyMi41LTQwLjNjNi41LTExLjcgMjEuNC0xNS44IDMyLjktOS4xbDQuOCAyLjhjMTYuNSA5LjUgNDAuNy00LjUgNDAuNy0yMy41bDAtNS45em05OS45IDEzNi4yYTUyIDUyIDAgMSAwIC0xMDQgMCA1MiA1MiAwIDEgMCAxMDQgMHoiXX0sTUl0PWozZSxrSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9yZGVyLWFsbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjg0YyIsIk0zODQgOTZsMCAxMjgtMTI4IDAgMC0xMjggMTI4IDB6bTAgMTkybDAgMTI4LTEyOCAwIDAtMTI4IDEyOCAwek0xOTIgMjI0bC0xMjggMCAwLTEyOCAxMjggMCAwIDEyOHpNNjQgMjg4bDEyOCAwIDAgMTI4LTEyOCAwIDAtMTI4ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSxTSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29pbnMiLGljb246WzUxMiw1MTIsW10sImY1MWUiLCJNMTI4IDk2bDAtMTZjMC00NC4yIDg2LTgwIDE5Mi04MFM1MTIgMzUuOCA1MTIgODBsMCAxNmMwIDMwLjYtNDEuMyA1Ny4yLTEwMiA3MC43LTIuNC0yLjgtNC45LTUuNS03LjQtOC0xNS41LTE1LjMtMzUuNS0yNi45LTU2LjQtMzUuNS00MS45LTE3LjUtOTYuNS0yNy4xLTE1NC4yLTI3LjEtMjEuOSAwLTQzLjMgMS40LTYzLjggNC4xLS4yLTEuMy0uMi0yLjctLjItNC4xek00MzIgMzUzbDAtNDYuMmMxNS4xLTMuOSAyOS4zLTguNSA0Mi4yLTEzLjkgMTMuMi01LjUgMjYuMS0xMi4yIDM3LjgtMjAuM2wwIDE1LjRjMCAyNi44LTMxLjUgNTAuNS04MCA2NXptMC05NmwwLTMzYzAtNC41LS40LTguOC0xLTEzIDE1LjUtMy45IDMwLTguNiA0My4yLTE0LjJzMjYuMS0xMi4yIDM3LjgtMjAuM2wwIDE1LjRjMCAyNi44LTMxLjUgNTAuNS04MCA2NXpNMCAyNDBsMC0xNmMwLTQ0LjIgODYtODAgMTkyLTgwczE5MiAzNS44IDE5MiA4MGwwIDE2YzAgNDQuMi04NiA4MC0xOTIgODBTMCAyODQuMiAwIDI0MHptMzg0IDk2YzAgNDQuMi04NiA4MC0xOTIgODBTMCAzODAuMiAwIDMzNmwwLTE1LjRjMTEuNiA4LjEgMjQuNSAxNC43IDM3LjggMjAuMyA0MS45IDE3LjUgOTYuNSAyNy4xIDE1NC4yIDI3LjFzMTEyLjMtOS43IDE1NC4yLTI3LjFjMTMuMi01LjUgMjYuMS0xMi4yIDM3LjgtMjAuM2wwIDE1LjR6bTAgODAuNmwwIDE1LjRjMCA0NC4yLTg2IDgwLTE5MiA4MFMwIDQ3Ni4yIDAgNDMybDAtMTUuNGMxMS42IDguMSAyNC41IDE0LjcgMzcuOCAyMC4zIDQxLjkgMTcuNSA5Ni41IDI3LjEgMTU0LjIgMjcuMXMxMTIuMy05LjcgMTU0LjItMjcuMWMxMy4yLTUuNSAyNi4xLTEyLjIgMzcuOC0yMC4zeiJdfSx6SXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycy1zdHJva2UiLGljb246WzU3Niw1MTIsWzk4OTRdLCJmMjI5IiwiTTQxNi0zMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MC43IDAtNTguNyA1OC43LTE3LjQtMTcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTcuNCAxNy40LTIzIDIzYy0yOC40LTE5LjUtNjIuNy0zMS05OS44LTMxLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2czc4LjggMTc2IDE3NiAxNzYgMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDIzLTIzIDE3LjQgMTcuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDQ1My4zIDEzNiA1MTIgNzcuMyA1MTIgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJMNTc2IDBjMC0xNy43LTE0LjMtMzItMzItMzJMNDE2LTMyek0xMjggMzA0YTExMiAxMTIgMCAxIDEgMjI0IDAgMTEyIDExMiAwIDEgMSAtMjI0IDB6Il19LFYzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kc2hha2UtYW5nbGUiLGljb246WzU3Niw1MTIsWyJoYW5kcy1oZWxwaW5nIl0sImY0YzQiLCJNMjY4LjkgNTMuMkwxNTIuMyAxODIuOGMtNC42IDUuMS00LjQgMTMgLjUgMTcuOSAzMC41IDMwLjUgODAgMzAuNSAxMTAuNSAwbDMxLjgtMzEuOGM0LjItNC4yIDkuNS02LjUgMTQuOS02LjkgNi44LS42IDEzLjggMS43IDE5IDYuOUw1MDUuNiAzNDQgNTc2IDI4OCA1NzYgMCA0NjQgNjQgNDQwLjIgNDguMUM0MjQuNCAzNy42IDQwNS45IDMyIDM4Ni45IDMybC03MC40IDBjLTEuMSAwLTIuMyAwLTMuNCAuMS0xNi45IC45LTMyLjggOC41LTQ0LjIgMjEuMXpNMTE2LjYgMTUwLjdMMjIzLjQgMzIgMTgzLjggMzJjLTI1LjUgMC00OS45IDEwLjEtNjcuOSAyOC4xTDAgMTkyIDAgNTQ0IDE0NCA0MDggMTU2LjQgNDE4LjNjMjMgMTkuMiA1MiAyOS43IDgxLjkgMjkuN2wxNS43IDAtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDEgNDEgOSAwYzE5LjEgMCAzNy44LTQuMyA1NC44LTEyLjNMMzU5IDQwOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDMyIDMyIDE3LjUtMTcuNWM4LjktOC45IDExLjUtMjEuOCA3LjYtMzMuMWwtMTM3LjktMTM2LjgtMTQuOSAxNC45Yy00OS4zIDQ5LjMtMTI5LjEgNDkuMy0xNzguNCAwLTIzLTIzLTIzLjktNTkuOS0yLjItODR6Il19LENJdD1WM2UsVEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24iLGljb246WzM4NCw1MTIsWzg1OTVdLCJmMDYzIiwiTTE2OS40IDUwMi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjI0IDQwMi43IDIyNCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDM3MC43LTEwNS40LTEwNS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYweiJdfSxVM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tZG90IixpY29uOlszODQsNTEyLFsibWFwLW1hcmtlci1hbHQiXSwiZjNjNSIsIk0wIDE4OC42QzAgODQuNCA4NiAwIDE5MiAwUzM4NCA4NC40IDM4NCAxODguNmMwIDExOS4zLTEyMC4yIDI2Mi4zLTE3MC40IDMxNi44LTExLjggMTIuOC0zMS41IDEyLjgtNDMuMyAwLTUwLjItNTQuNS0xNzAuNC0xOTcuNS0xNzAuNC0zMTYuOHpNMTkyIDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHoiXX0sX0l0PVUzZSxMSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1Zy1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1NWQiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek00OTYgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyMjhhMjAgMjAgMCAxIDAgMC00MCAyMCAyMCAwIDEgMCAwIDQwem0wLTE4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnoiXX0sJEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvb2tpZS1iaXRlIixpY29uOls1MTIsNTEyLFtdLCJmNTY0IiwiTTI1Ny41IDI3LjZjLS44LTUuNC00LjktOS44LTEwLjMtMTAuNi0yMi4xLTMuMS00NC42IC45LTY0LjQgMTEuNGwtNzQgMzkuNUM4OS4xIDc4LjQgNzMuMiA5NC45IDYzLjQgMTE1TDI2LjcgMTkwLjZjLTkuOCAyMC4xLTEzIDQyLjktOS4xIDY0LjlsMTQuNSA4Mi44YzMuOSAyMi4xIDE0LjYgNDIuMyAzMC43IDU3LjlsNjAuMyA1OC40YzE2LjEgMTUuNiAzNi42IDI1LjYgNTguNyAyOC43bDgzIDExLjdjMjIuMSAzLjEgNDQuNi0uOSA2NC40LTExLjRsNzQtMzkuNWMxOS43LTEwLjUgMzUuNi0yNyA0NS40LTQ3LjJsMzYuNy03NS41YzkuOC0yMC4xIDEzLTQyLjkgOS4xLTY0LjktLjktNS4zLTUuMy05LjMtMTAuNi0xMC4xLTUxLjUtOC4yLTkyLjgtNDcuMS0xMDQuNS05Ny40LTEuOC03LjYtOC0xMy40LTE1LjctMTQuNi01NC42LTguNy05Ny43LTUyLTEwNi4yLTEwNi44ek0yMDggMTQ0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTQ0IDMzNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0yMjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxXM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NyZXdkcml2ZXItd3JlbmNoIixpY29uOls1NzYsNTEyLFsidG9vbHMiXSwiZjdkOSIsIk03MC44LTYuN2M1LjQtNS40IDEzLjgtNi4yIDIwLjItMkwyMDkuOSA3MC41YzguOSA1LjkgMTQuMiAxNS45IDE0LjIgMjYuNmwwIDQ5LjYgOTAuOCA5MC44YzMzLjMtMTUgNzMuOS04LjkgMTAxLjIgMTguNUw1NDIuMiAzODIuMWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOWwtNjAuMSA2MC4xYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMEwyODguMSAzODRjLTI3LjQtMjcuNC0zMy41LTY3LjktMTguNS0xMDEuMmwtOTAuOC05MC44LTQ5LjYgMGMtMTAuNyAwLTIwLjctNS4zLTI2LjYtMTQuMkwyMy40IDU4LjljLTQuMi02LjMtMy40LTE0LjggMi0yMC4yTDcwLjgtNi43em0xNDUgMzAzLjVjLTYuMyAzNi45IDIuMyA3NS45IDI2LjIgMTA3LjJsLTk0LjkgOTVjLTI4LjEgMjguMS03My43IDI4LjEtMTAxLjggMHMtMjguMS03My43IDAtMTAxLjhsMTM1LjQtMTM1LjUgMzUuMiAzNS4xek0zODQuMSAwYzIwLjEgMCAzOS40IDMuNyA1Ny4xIDEwLjUgMTAgMy44IDExLjggMTYuNSA0LjMgMjQuMUwzODguOCA5MS4zYy0zIDMtNC43IDcuMS00LjcgMTEuM2wwIDQxLjRjMCA4LjggNy4yIDE2IDE2IDE2bDQxLjQgMGM0LjIgMCA4LjMtMS43IDExLjMtNC43bDU2LjctNTYuN2M3LjYtNy41IDIwLjMtNS43IDI0LjEgNC4zIDYuOCAxNy43IDEwLjUgMzcgMTAuNSA1Ny4xIDAgNDMuMi0xNy4yIDgyLjMtNDUgMTExLjFsLTQ5LjEtNDkuMWMtMzMuMS0zMy03OC41LTQ1LjctMTIxLjEtMzguNGwtNTYuOC01Ni44IDAtMjkuNy0uMi01Yy0uOC0xMi40LTQuNC0yNC4zLTEwLjUtMzQuOSAyOS40LTM1IDczLjQtNTcuMiAxMjIuNy01Ny4zeiJdfSxESXQ9VzNlLEFJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpbmRlbnQiLGljb246WzQ0OCw1MTIsW10sImYwM2MiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek0xOTIgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTMyIDk2bDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpNMCA0NDhjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMTI3LjggMjY4LjZMMjUuOCAzNDcuOUMxNS4zIDM1Ni4xIDAgMzQ4LjYgMCAzMzUuM0wwIDE3Ni43YzAtMTMuMyAxNS4zLTIwLjggMjUuOC0xMi42bDEwMS45IDc5LjNjOC4yIDYuNCA4LjIgMTguOSAwIDI1LjN6Il19LEczZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXJzIixpY29uOls0NDgsNTEyLFsibmF2aWNvbiJdLCJmMGM5IiwiTTAgOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjRsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMTI4QzE0LjMgMTI4IDAgMTEzLjcgMCA5NnpNMCAyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LEVJdD1HM2UsWTNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLXByYXlpbmciLGljb246WzY0MCw1MTIsWyJwcmF5aW5nLWhhbmRzIl0sImY2ODQiLCJNMjI0IDI5NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTExMi42IDg4LjItMTE5LjdjMTMuMS0xNy44IDkuMy00Mi44LTguNS01NS45cy00Mi44LTkuMy01NS45IDguNUwxMDYuNSAxNDIuOUM4OS4zIDE2Ni4yIDgwIDE5NC41IDgwIDIyMy42bDAgMTEwLjctNTguMSAxOS40QzguOCAzNTggMCAzNzAuMiAwIDM4NGwwIDk2YzAgMTAgNC43IDE5LjUgMTIuNyAyNS41czE4LjQgOCAyOC4xIDUuMmwxNTQuNC00NC4xYzU1LTE1LjcgOTIuOC02NS45IDkyLjgtMTIzLjFMMjg4IDIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDcyem0xOTIgMGwwLTcyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTE5LjZjMCA1Ny4yIDM3LjkgMTA3LjQgOTIuOCAxMjMuMWwxNTQuNCA0NC4xYzkuNyAyLjggMjAgLjggMjguMS01LjJTNjQwIDQ5MCA2NDAgNDgwbDAtOTZjMC0xMy44LTguOC0yNi0yMS45LTMwLjRsLTU4LjEtMTkuNCAwLTExMC43YzAtMjktOS4zLTU3LjMtMjYuNS04MC43TDQ0MC4yIDE2LjNDNDI3LjEtMS41IDQwMi4xLTUuMyAzODQuMyA3LjhzLTIxLjYgMzguMS04LjUgNTUuOUw0NjQgMTgzLjQgNDY0IDI5NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHoiXX0sSUl0PVkzZSxQSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXNlcyIsaWNvbjpbNjQwLDUxMixbXSwiZTA3NiIsIk0xOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDMwLjUgMzYuOSA0NS44IDU4LjUgMjQuMiAxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zYy0yMS42IDIxLjYtNi4zIDU4LjUgMjQuMiA1OC41IDE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyYy0zMC41IDAtNDUuOCAzNi45LTI0LjIgNTguNSAxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGMtMjEuNi0yMS42LTU4LjUtNi4zLTU4LjUgMjQuMiAwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTMwLjUtMzYuOS00NS44LTU4LjUtMjQuMi0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0M3Ny44IDI2MC45IDYyLjUgMjI0IDMyIDIyNCAxNC4zIDIyNCAwIDIwOS43IDAgMTkyczE0LjMtMzIgMzItMzJjMzAuNSAwIDQ1LjgtMzYuOSAyNC4yLTU4LjUtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEMxMjMuMSA3Ny44IDE2MCA2Mi41IDE2MCAzMiAxNjAgMTQuMyAxNzQuMyAwIDE5MiAwek0xNDQgMTc2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTI4IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI0OCA0MGMwIDIyLjkgMjcuNyAzNC40IDQzLjkgMTguMiA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTE2LjIgMTYuMi00LjcgNDMuOSAxOC4yIDQzLjkgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjkgMC0zNC40IDI3LjctMTguMiA0My45IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTE2LjItMTYuMi00My45LTQuNy00My45IDE4LjIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yMi45LTI3LjctMzQuNC00My45LTE4LjItOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMxNi4yLTE2LjIgNC43LTQzLjktMTguMi00My45LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjIuOSAwIDM0LjQtMjcuNyAxOC4yLTQzLjktOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2LjIgMTYuMiA0My45IDQuNyA0My45LTE4LjIgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpNNTA0IDM4NGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxOSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWZsYWciLGljb246WzU3Niw1MTIsW10sImU1NmUiLCJNMjU2LThjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNzIgMCAwIDE5LjIgMTI4IDc2LjggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDAgMTI4LTc2LjggMC05MS4yek0yNDAgMzg0bDAgODAgOTYgMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4ek0xMTIgNDE2YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6bTE2LTE0NGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgNDE2YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6bTE2LTE0NGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2em0tMjI0IDBhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2eiJdfSxGSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhZGVtYXJrIixpY29uOls2NDAsNTEyLFs4NDgyXSwiZjI1YyIsIk0zNDYuNiAxMTAuMmMtNy44LTExLjctMjIuNC0xNy0zNS45LTEyLjlTMjg4IDExMy45IDI4OCAxMjhsMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE1MC4zIDY5LjQgMTA0LjFjNS45IDguOSAxNS45IDE0LjIgMjYuNiAxNC4yczIwLjctNS4zIDI2LjYtMTQuMkw1NDQgMjMzLjcgNTQ0IDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjU2YzAtMTQuMS05LjItMjYuNS0yMi43LTMwLjZzLTI4LjEgMS4xLTM1LjkgMTIuOUw0NDggMjYyLjMgMzQ2LjYgMTEwLjJ6TTMyIDk2QzE0LjMgOTYgMCAxMTAuMyAwIDEyOHMxNC4zIDMyIDMyIDMybDY0IDAgMCAyMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNCA2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDk2eiJdfSxPSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlyZS1idXJuZXIiLGljb246WzUxMiw1MTIsW10sImU0ZjEiLCJNMjgxLjcgNDguM0wyOTQgMzQuNWM1LjQtNi4xIDEzLjMtOC44IDIwLjktOC45IDcuMiAwIDE0LjMgMi42IDE5LjkgNy44IDE5LjcgMTguMyAzOS44IDQzLjIgNTUgNzAuNiAxNS4xIDI3LjIgMjYuMiA1OC4xIDI2LjIgODguMSAwIDg4LjctNzEuMyAxNTkuOC0xNjAgMTU5LjgtODkuNiAwLTE2MC03MS4zLTE2MC0xNTkuOCAwLTM3LjMgMTYtNzMuNCAzNi44LTEwNC41IDIwLjktMzEuMyA0Ny41LTU5IDcwLjktODAuMiA1LjctNS4yIDEzLjEtNy43IDIwLjMtNy41czEzLjQgMy4yIDE4LjggNy41YzE0LjQgMTEuNCAzOC45IDQwLjcgMzguOSA0MC43ek0zMjAgMjQwLjJjMC0zNi41LTM3LTczLTU0LjgtODguNC01LjQtNC43LTEzLjEtNC43LTE4LjUgMC0xNy43IDE1LjQtNTQuOCA1MS45LTU0LjggODguNCAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0ek05Mi44IDMyMGMzNy43IDQ4LjMgOTYuMSA4MCAxNjMuMiA4MCA2Ni41IDAgMTI1LjEtMzEuNyAxNjMtODBsNDUgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02NGMwLTI2LjUgMjEuNS00OCA0OC00OGw0NC44IDB6TTQ1NiA0MDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sWjNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc21pbGUtYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTIyLCJzbWlsZS1iZWFtIl0sImY1YjgiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NS40IDMyMS45YzIwLjQgMjggNTMuNCA0Ni4xIDkwLjYgNDYuMXM3MC4yLTE4LjEgOTAuNi00Ni4xYzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuM3MxMy4xIDIyLjggNS4zIDMzLjVDMzU2LjMgMzkwIDMwOS4yIDQxNiAyNTYgNDE2cy0xMDAuMy0yNi0xMjkuNC02NS45Yy03LjgtMTAuNy01LjQtMjUuNyA1LjMtMzMuNXMyNS43LTUuNCAzMy41IDUuM3pNMTc2IDE4MGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LFJJdD1aM2UsQkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQtYXJyb3ctbGVmdC1yaWdodCIsaWNvbjpbNTEyLDUxMixbXSwiZTU3ZiIsIk0tLjUgMTEzYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw3Mi03MmM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTMxIDMxIDMxMC4xIDAgNTQuMSAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTEwMi4xIDAtLjEgMC0yNjIgMCAzMSAzMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC03Mi03MnpNMzcuMSA0NzZMNjAuMyAyOTIuNmMxLjItOS43IDYuOC0xOC4zIDE1LjEtMjMuM0wyMzguOCAxNzBjMTAuMi02LjIgMjIuOS02LjIgMzMuMS0uMWwxNjUuNSA5OS40YzguNCA1IDE0IDEzLjcgMTUuMyAyMy40TDQ3NS45IDQ3NmMyLjQgMTkuMS0xMi41IDM2LTMxLjcgMzZsLTcxLjkgMGMtMTIuMSAwLTIzLjItNi44LTI4LjYtMTcuN0wyNzUuNCAzNTcuOWMtMS44LTMuNi01LjUtNS45LTkuNS01LjktNS45IDAtMTAuNiA0LjctMTAuNiAxMC42bDAgMTE3LjRjMCAxNy43LTE0LjMgMzItMzIgMzJMNjguOCA1MTJjLTE5LjMgMC0zNC4yLTE2LjktMzEuNy0zNnoiXX0sSEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvdXRlIixpY29uOls1MTIsNTEyLFtdLCJmNGQ3IiwiTTUxMiA5NmMwIDUwLjItNTkuMSAxMjUuMS04NC42IDE1NS0zLjggNC40LTkuNCA2LjEtMTQuNSA1TDMyMCAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NmwtMjc2LjQgMGM4LjctOS45IDE5LjMtMjIuNiAzMC0zNi44IDYuMy04LjQgMTIuOC0xNy42IDE5LTI3LjJMNDE2IDQ0OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMGMtNTMgMC05Ni00My05Ni05NnM0My05NiA5Ni05NmwzOS44IDBjLTIxLTMxLjUtMzkuOC02Ny43LTM5LjgtOTYgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnpNMTE3LjEgNDg5LjFjLTMuOCA0LjMtNy4yIDguMS0xMC4xIDExLjNsLTEuOCAyLS4yLS4yYy02IDQuNi0xNC42IDQtMjAtMS44LTI1LjItMjcuNC04NS05Ny45LTg1LTE0OC40IDAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAzMC0yMS4xIDY3LTQzLjUgOTcuOS0xMC43IDE0LjctMjEuNyAyOC0zMC44IDM4LjVsLS42IC43ek0xMjggMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTQxNiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxYM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGVzLXVwIixpY29uOlszODQsNTEyLFsiYW5nbGUtZG91YmxlLXVwIl0sImYxMDIiLCJNMjE0LjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyIDEwOS4zIDMyOS40IDI0Ni42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6bTE2MCAzNTJsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE5MiAzMDEuMyAzMjkuNCA0MzguNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zeiJdfSxxSXQ9WDNlLGpJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWNrZXQiLGljb246WzQ0OCw1MTIsW10sImU0Y2YiLCJNNDQzLjcgMjA4YzIuNyA0LjcgNC4zIDEwLjIgNC4zIDE2IDAgMTcuNy0xNC4zIDMyLTMyIDMybC01LjEgMC0yMi40IDIxM2MtMi42IDI0LjQtMjMuMiA0My00Ny44IDQzbC0yMzMuNiAwYy0yNC42IDAtNDUuMi0xOC41LTQ3LjgtNDNMMzcuMSAyNTYgMzIgMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMiAwLTUuOCAxLjYtMTEuMyA0LjMtMTZsNDM5LjQgMHpNMjI0LTE2Yzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0bDAgMzItNDggMCAwLTMyYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgMzItNDggMCAwLTMyQzgwIDQ4LjUgMTQ0LjUtMTYgMjI0LTE2eiJdfSxWSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVzcy10aGFuLWVxdWFsIixpY29uOls0NDgsNTEyLFtdLCJmNTM3IiwiTTQyNi4xIDk0LjRjMTYuOC01LjYgMjUuOC0yMy43IDIwLjItNDAuNXMtMjMuNy0yNS44LTQwLjUtMjAuMmwtMzg0IDEyOEM4LjggMTY2IDAgMTc4LjIgMCAxOTJzOC44IDI2IDIxLjkgMzAuNGwzODQgMTI4YzE2LjggNS42IDM0LjktMy41IDQwLjUtMjAuMnMtMy41LTM0LjktMjAuMi00MC41TDEzMy4yIDE5MiA0MjYuMSA5NC40ek0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2eiJdfSxVSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9sZGVyLWNsb3NlZCIsaWNvbjpbNTEyLDUxMixbXSwiZTE4NSIsIk00NDggNDQ4TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYgNTEyIDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjR6bTY0LTI4OEwwIDE2MCAwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEzOC43IDBjMTMuOCAwIDI3LjMgNC41IDM4LjQgMTIuOGwzOC40IDI4LjhjNS41IDQuMiAxMi4zIDYuNCAxOS4yIDYuNEw0NDggODBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNnoiXX0sV0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi10aHJvdWdoLXdpbmRvdyIsaWNvbjpbNjQwLDUxMixbXSwiZTVhOSIsIk02NCA2NGwyMjQgMCAwIDkuOGMwIDM5LTIzLjcgNzQtNTkuOSA4OC40LTYwLjUgMjQuMi0xMDAuMSA4Mi43LTEwMC4xIDE0Ny45bDAgNzMuOC02NCAwIDAtMzIwem0yODggMGwyMjQgMCAwIDMyMC02Ny43IDAtMy43LTQuNS03NS4yLTkwLjJjLTkuMS0xMC45LTIyLjYtMTcuMy0zNi45LTE3LjNsLTcxLjEgMC00MS02My4xYy0uMy0uNS0uNi0xLTEtMS40IDQ0LjctMjkgNzIuNS03OSA3Mi41LTEzMy42bDAtOS44em03MyAzMjBsLTI2LjYgMCA0Mi43IDY0IDE1MC45IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMEMyMS41IDAgMCAyMS41IDAgNDhMMCA0MDBjMCAyNi41IDIxLjUgNDggNDggNDhsMjYwLjIgMCAzMy4yIDQ5LjhjOS44IDE0LjcgMjkuNyAxOC43IDQ0LjQgOC45czE4LjctMjkuNyA4LjktNDQuNGwtODQuMi0xMjYuMiA3NC42IDAgNDAgNDh6bS0xNTkuNSAwbC03My41IDAgMC03My44YzAtMTAuMiAxLjYtMjAuMSA0LjctMjkuNUwyNjUuNSAzODR6TTE5MiAxMjhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHoiXX0sR0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaG9vbC1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNTZmIiwiTTAgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDAgMTI3LjktMTE1LjFjMTguMy0xNi40IDQ2LTE2LjQgNjQuMiAwTDQ0OCAxMjggNTEyIDEyOGMzMyAwIDYwLjIgMjUgNjMuNiA1Ny4yLTE0LjctNS45LTMwLjgtOS4yLTQ3LjYtOS4yLTcwLjcgMC0xMjggNTcuMy0xMjggMTI4bDAgMjQuNGMtMTkuNiAxNy42LTMyIDQzLjEtMzIgNzEuNWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MnpNMzMyLjMgMzQxLjVjLTYtMy41LTEyLjktNS41LTIwLjMtNS41bC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDg4IDk2IDAgMC02NC4xYzAtMjAuOCA0LjQtNDAuNSAxMi4zLTU4LjR6TTExMiAzODRjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6bTIyNC00OGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTU2MCAzNTJsMC00Ny45YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwem0tMTEyIDIuN2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM3oiXX0sWUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1idXJzdCIsaWNvbjpbNjQwLDUxMixbXSwiZTUzYiIsIk0yMDQgNDAuMWMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjR6TTQgMTQ0LjFjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTk2LjUgMjg1LjVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUw5Ni41IDI4NS41ek02Mi42IDIuN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwzMy45IDMzLjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw2Mi42IDM2LjZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45ek0zNTIuNC0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNNDc4LjcgMjk5LjFsLTQ2LjMtNjIuNCAwIDI3NS4zYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjc1LjMtNDYuMyA2Mi40Yy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NWMyNS4yLTMzLjkgNjUtNTMuOSAxMDcuMi01My45czgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42eiJdfSxRM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVmdC1sb25nIixpY29uOls1NzYsNTEyLFsibG9uZy1hcnJvdy1hbHQtbGVmdCJdLCJmMzBhIiwiTTkuNCAyNzguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsMTI4LTEyOGM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOVMxOTIgMTE1LjEgMTkyIDEyOGwwIDY0IDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMzNiAwIDAgNjRjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTEyOC0xMjh6Il19LFpJdD1RM2UsSjNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2F0aW9uLWNyb3NzaGFpcnMiLGljb246WzU3Niw1MTIsWyJsb2NhdGlvbiJdLCJmNjAxIiwiTTI4OC0xNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE4LjNjOTguMSAxNCAxNzUuNyA5MS42IDE4OS43IDE4OS43bDE4LjMgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguMyAwYy0xNCA5OC4xLTkxLjYgMTc1LjctMTg5LjcgMTg5LjdsMCAxOC4zYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguM0MxNTcuOSA0NjMuNyA4MC4zIDM4Ni4xIDY2LjMgMjg4TDQ4IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOC4zIDBDODAuMyAxMjUuOSAxNTcuOSA0OC4zIDI1NiAzNC4zTDI1NiAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTI4IDI1NmExNjAgMTYwIDAgMSAwIDMyMCAwIDE2MCAxNjAgMCAxIDAgLTMyMCAwem0xNjAtOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LFhJdD1KM2UsSzNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1kb3RzLWZyb20tbGluZSIsaWNvbjpbNTEyLDUxMixbImRpYWdub3NlcyJdLCJmNDcwIiwiTTE4NCA3MmE3MiA3MiAwIDEgMSAxNDQgMCA3MiA3MiAwIDEgMSAtMTQ0IDB6TTE2MCAyOTkuM2MtMTkuOSAyMi42LTMyIDUyLjItMzIgODQuN2wwIDMyLTY0IDAgMC0zMmMwLTEwNiA4Ni0xOTIgMTkyLTE5MnMxOTIgODYgMTkyIDE5MmwwIDMyLTY0IDAgMC0zMmMwLTMyLjUtMTIuMS02Mi4xLTMyLTg0LjdsMCAxMTYuNy0xOTIgMCAwLTExNi43ek0yMzIgMzg0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODgtMTA0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTI0IDQ2NGw0NjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTY0IDE4NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem00MjQgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSxRSXQ9SzNlLFNBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlLXNpbXBsZS1oaWdoIixpY29uOls1MTIsNTEyLFs2MTY2OCwidGFjaG9tZXRlciIsInRhY2hvbWV0ZXItZmFzdCJdLCJmNjJhIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMyMCA5NmMwLTE2LjItNi0zMS4xLTE2LTQyLjNsNjkuNS0xMzguOWM1LjktMTEuOSAxLjEtMjYuMy0xMC43LTMyLjJzLTI2LjMtMS4xLTMyLjIgMTAuN0wyNjEuMSAyODguMmMtMS43LS4xLTMuNC0uMi01LjEtLjItMzUuMyAwLTY0IDI4LjctNjQgNjRzMjguNyA2NCA2NCA2NCA2NC0yOC43IDY0LTY0eiJdfSxKSXQ9U0EsS0l0PVNBLGVkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZXMtbGVmdCIsaWNvbjpbNDQ4LDUxMixbMTcxLCJhbmdsZS1kb3VibGUtbGVmdCJdLCJmMTAwIiwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2IDIxNC42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwem0zNTItMTYwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMjY5LjMgMjU2IDQwNi42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAweiJdfSxlUHQ9ZWRlLHRkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1kb3duIixpY29uOls1MTIsNTEyLFs4NTk3LDExMDIxLCJhcnJvd3MtYWx0LXYiXSwiZjMzOCIsIk00MDYuNiA1MDIuNmw5Ni05NmM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSAzNTIgNDgwIDM1MmwtNjQgMCAwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyMC02NCAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWw5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHpNMTUwLjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45UzE5LjEgMTYwIDMyIDE2MGw2NCAwIDAgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMjAgNjQgMGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC05Ni05NnoiXX0sdFB0PXRkZSxyZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1lbXB0eSIsaWNvbjpbNjQwLDUxMixbImJhdHRlcnktMCJdLCJmMjQ0IiwiTTExMiAxNjBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDIyNGMwIDguOCA3LjIgMTYgMTYgMTZsNDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjI0YzAtOC44LTcuMi0xNi0xNi0xNmwtNDE2IDB6TTMyIDE3NmMwLTQ0LjIgMzUuOC04MCA4MC04MGw0MTYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA0OGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtNDE2IDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMjI0eiJdfSxyUHQ9cmRlLGFQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJrZXlib2FyZCIsaWNvbjpbNTc2LDUxMixbOWUzXSwiZjExYyIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptMTYgNjRsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTE3NiAxMjhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTYwIDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTIyNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTE3NmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MC04MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MC04MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxpUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29va2llIixpY29uOls1MTIsNTEyLFsxMjc4NTBdLCJmNTYzIiwiTTI0Ny4yIDE3Yy0yMi4xLTMuMS00NC42IC45LTY0LjQgMTEuNGwtNzQgMzkuNUM4OS4xIDc4LjQgNzMuMiA5NC45IDYzLjQgMTE1TDI2LjcgMTkwLjZjLTkuOCAyMC4xLTEzIDQyLjktOS4xIDY0LjlsMTQuNSA4Mi44YzMuOSAyMi4xIDE0LjYgNDIuMyAzMC43IDU3LjlsNjAuMyA1OC40YzE2LjEgMTUuNiAzNi42IDI1LjYgNTguNyAyOC43bDgzIDExLjdjMjIuMSAzLjEgNDQuNi0uOSA2NC40LTExLjRsNzQtMzkuNWMxOS43LTEwLjUgMzUuNi0yNyA0NS40LTQ3LjJsMzYuNy03NS41YzkuOC0yMC4xIDEzLTQyLjkgOS4xLTY0LjlsLTE0LjYtODIuOGMtMy45LTIyLjEtMTQuNi00Mi4zLTMwLjctNTcuOUwzODguOSA1Ny41Yy0xNi4xLTE1LjYtMzYuNi0yNS42LTU4LjctMjguN0wyNDcuMiAxN3pNMjA4IDE0NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE0NCAzMzZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjI0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sblB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0b3B3YXRjaCIsaWNvbjpbNDQ4LDUxMixbOTIwMV0sImYyZjIiLCJNMTY4LjUgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAwIDAgMjUuM2MtMTA4IDExLjktMTkyIDEwMy41LTE5MiAyMTQuNyAwIDExOS4zIDk2LjcgMjE2IDIxNiAyMTZzMjE2LTk2LjcgMjE2LTIxNmMwLTM5LjgtMTAuOC03Ny4xLTI5LjYtMTA5LjJsMjguMi0yOC4yYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0yMy40IDIzLjRjLTMyLjktMzAuMi03NS4yLTUwLjMtMTIyLTU1LjVsMC0yNS4zIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwem04MCAxODRsMCAxMDRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHoiXX0sc1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVqZWN0IixpY29uOls0NDgsNTEyLFs5MTY3XSwiZjA1MiIsIk0yMjQgMzJjMTMuNSAwIDI2LjMgNS42IDM1LjQgMTUuNmwxNzYgMTkyYzEyLjkgMTQgMTYuMiAzNC4zIDguNiA1MS44UzQxOSAzMjAgNDAwIDMyMEw0OCAzMjBjLTE5IDAtMzYuMy0xMS4yLTQzLjktMjguN3MtNC4zLTM3LjcgOC42LTUxLjhsMTc2LTE5MkMxOTcuNyAzNy42IDIxMC41IDMyIDIyNCAzMnpNMCA0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhsMzUyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OHoiXX0sb1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNhdGVsbGl0ZS1kaXNoIixpY29uOls1MTIsNTEyLFsxMjgyMjVdLCJmN2MwIiwiTTIzMiAwYzE1NC42IDAgMjgwIDEyNS40IDI4MCAyODAgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMjguMS0xMDMuOS0yMzItMjMyLTIzMi0xMy4zIDAtMjQtMTAuNy0yNC0yNFMyMTguNyAwIDIzMiAwek0yMDggMTIwYzAtMTMuMyAxMC43LTI0IDI0LTI0IDEwMS42IDAgMTg0IDgyLjQgMTg0IDE4NCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTc1LjEtNjAuOS0xMzYtMTM2LTEzNi0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjYuNCAxNDIuN2M4LjgtMTcuOSAzMi40LTE5LjkgNDYuNS01LjhsMTI4LjUgMTI4LjUgMzItMzJjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMzIgMzIgMTI4LjUgMTI4LjVjMTQuMSAxNC4xIDEyIDM3LjYtNS44IDQ2LjUtMzQuMiAxNi45LTcyLjYgMjYuNC0xMTMuMyAyNi40LTE0MS40IDAtMjU2LTExNC42LTI1Ni0yNTYgMC00MC43IDkuNS03OS4yIDI2LjQtMTEzLjN6Il19LGFkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXJvbGxpbmctZXllcyIsaWNvbjpbNTEyLDUxMixbMTI4NTgwLCJtZWgtcm9sbGluZy1leWVzIl0sImY1YTUiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAzNTJsMTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEyOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0zMi0xMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNiAxNS41LTQ4LjQgMzcuOC01OC40LTMuNyA1LjItNS44IDExLjYtNS44IDE4LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTYuOS0yLjItMTMuMi01LjgtMTguNCAyMi4zIDEwIDM3LjggMzIuNCAzNy44IDU4LjR6bTEyOCA2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yNiAxNS41LTQ4LjQgMzcuOC01OC40LTMuNyA1LjItNS44IDExLjYtNS44IDE4LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTYuOS0yLjItMTMuMi01LjgtMTguNCAyMi4zIDEwIDM3LjggMzIuNCAzNy44IDU4LjQgMCAzNS4zLTI4LjcgNjQtNjQgNjR6Il19LGxQdD1hZGUsaWRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxpc3QtY2hlY2siLGljb246WzUxMiw1MTIsWyJ0YXNrcyJdLCJmMGFlIiwiTTEzMy44IDM2LjNjMTAuOSA3LjYgMTMuNSAyMi42IDUuOSAzMy40bC01NiA4MGMtNC4xIDUuOC0xMC41IDkuNS0xNy42IDEwLjFTNTIgMTU4IDQ3IDE1M0w3IDExM0MtMi4zIDEwMy42LTIuMyA4OC40IDcgNzlTMzEuNiA2OS43IDQxIDc5bDE5LjggMTkuOCAzOS42LTU2LjZjNy42LTEwLjkgMjIuNi0xMy41IDMzLjQtNS45em0wIDE2MGMxMC45IDcuNiAxMy41IDIyLjYgNS45IDMzLjRsLTU2IDgwYy00LjEgNS44LTEwLjUgOS41LTE3LjYgMTAuMVM1MiAzMTggNDcgMzEzTDcgMjczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMTkuOCAxOS44IDM5LjYtNTYuNmM3LjYtMTAuOSAyMi42LTEzLjUgMzMuNC01Ljl6TTIyNCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0wIDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xNjAgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yODggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTY0IDM3NmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LGNQdD1pZGUsZFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNhY2steG1hcmsiLGljb246WzUxMiw1MTIsW10sImU1NmEiLCJNMzI4IDExMmwtMTQ0IDAtMzcuMy03NC41Yy0xLjgtMy42LTIuNy03LjYtMi43LTExLjYgMC0xNC4zIDExLjYtMjUuOSAyNS45LTI1LjlMMzQyLjEgMGMxNC4zIDAgMjUuOSAxMS42IDI1LjkgMjUuOSAwIDQtLjkgOC0yLjcgMTEuNkwzMjggMTEyek0xNjkuNiAxNjBsMTcyLjggMCA0OC43IDQwLjZDNDU3LjYgMjU2IDQ5NiAzMzggNDk2IDQyNC41IDQ5NiA0NzIuOCA0NTYuOCA1MTIgNDA4LjUgNTEybC0zMDUuMSAwQzU1LjIgNTEyIDE2IDQ3Mi44IDE2IDQyNC41IDE2IDMzOCA1NC40IDI1NiAxMjAuOSAyMDAuNkwxNjkuNiAxNjB6TTMyMy45IDI4NC4xYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtMzMuOSAzMy45LTMzLjktMzMuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjktMzMuOSAzMy45Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzMuOS0zMy45IDMzLjkgMzMuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTMzLjktMzMuOSAzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjl6Il19LHVQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYXNodGFnIixpY29uOls1MTIsNTEyLFs2MjA5OF0sIjIzIiwiTTIxNC43IC43YzE3LjMgMy43IDI4LjMgMjAuNyAyNC42IDM4bC0xOS4xIDg5LjMgMTI2LjUgMCAyMi0xMDIuN0MzNzIuNCA4IDM4OS40LTMgNDA2LjcgLjdzMjguMyAyMC43IDI0LjYgMzhMNDEyLjIgMTI4IDQ4MCAxMjhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTgxLjYgMC0yNy40IDEyOCA2Ny44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTgxLjYgMC0yMiAxMDIuN2MtMy43IDE3LjMtMjAuNyAyOC4zLTM4IDI0LjZzLTI4LjMtMjAuNy0yNC42LTM4bDE5LjEtODkuMy0xMjYuNSAwLTIyIDEwMi43Yy0zLjcgMTcuMy0yMC43IDI4LjMtMzggMjQuNnMtMjguMy0yMC43LTI0LjYtMzhMOTkuOCAzODQgMzIgMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDgxLjYgMCAyNy40LTEyOC02Ny44IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODEuNiAwIDIyLTEwMi43QzE4MC40IDggMTk3LjQtMyAyMTQuNyAuN3pNMjA2LjQgMTkybC0yNy40IDEyOCAxMjYuNSAwIDI3LjQtMTI4LTEyNi41IDB6Il19LHBQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFpbiIsaWNvbjpbMzg0LDUxMixbMTI4NjQ2XSwiZjIzOCIsIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDI4OCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyNTZjMCA0MC4xLTI0LjYgNzQuNS01OS41IDg4LjhsNTMuOSA2My43YzguNiAxMC4xIDcuMyAyNS4zLTIuOCAzMy44cy0yNS4zIDcuMy0zMy44LTIuOGwtNzQtODcuNS0xNTEuMyAwLTc0IDg3LjVjLTguNiAxMC4xLTIzLjcgMTEuNC0zMy44IDIuOHMtMTEuNC0yMy43LTIuOC0zMy44bDUzLjktNjMuN0MyNC42IDQyNi41IDAgMzkyLjEgMCAzNTJMMCA5NnptNjQgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMTkyIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LGZQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnYW1lcGFkIixpY29uOls2NDAsNTEyLFtdLCJmMTFiIiwiTTQ0OCA2NGMxMDYgMCAxOTIgODYgMTkyIDE5MlM1NTQgNDQ4IDQ0OCA0NDhsLTI1NiAwQzg2IDQ0OCAwIDM2MiAwIDI1NlM4NiA2NCAxOTIgNjRsMjU2IDB6TTE5MiAxNzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzItMzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAwIDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyIDAgMC0zMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMjQwIDk2YTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptNjQtOTZhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0eiJdfSxuZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1leHBvcnQiLGljb246WzU3Niw1MTIsWyJhcnJvdy1yaWdodC1mcm9tLWZpbGUiXSwiZjU2ZSIsIk05Ni41IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtOTYgNzguMSAwLTMxIDMxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTcyLTcyYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDMxIDMxLTc4LjEgMCAwLTEzMy41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MS4yIDE4LjdDMjc5LjIgNi43IDI2MyAwIDI0NiAwTDk2LjUgMHpNMzU4IDE3NmwtOTMuNSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAuNSA1OC41IDM1OCAxNzZ6TTIyNC41IDMyOGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxMDQgMCAwIDQ4LTEwNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0saFB0PW5kZSxzZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmltYWNlIixpY29uOls1MTIsNTEyLFsxMjg1NTYsImdyaW1hY2UiXSwiZjU3ZiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNNDAwIDM1MmMwIDI1LjItMTkuNCA0NS44LTQ0IDQ3LjhsMC05NS43YzI0LjYgMiA0NCAyMi43IDQ0IDQ3Ljh6TTI3NiAzMDRsNDAgMCAwIDk2LTQwIDAgMC05NnptLTgwIDk2bDAtOTYgNDAgMCAwIDk2LTQwIDB6bS00MC05NS44bDAgOTUuN2MtMjQuNi0yLTQ0LTIyLjctNDQtNDcuOHMxOS40LTQ1LjggNDQtNDcuOHpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxtUHQ9c2RlLG9kZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFpbi1zdWJ3YXkiLGljb246WzM4NCw1MTIsWyJzdWJ3YXkiXSwiZjIzOSIsIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDI4OCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyNTZjMCA0MC4xLTI0LjYgNzQuNS01OS41IDg4LjhsNTMuOSA2My43YzguNiAxMC4xIDcuMyAyNS4zLTIuOCAzMy44cy0yNS4zIDcuMy0zMy44LTIuOGwtNzQtODcuNS0xNTEuMyAwLTc0IDg3LjVjLTguNiAxMC4xLTIzLjcgMTEuNC0zMy44IDIuOHMtMTEuNC0yMy43LTIuOC0zMy44bDUzLjktNjMuN0MyNC42IDQyNi41IDAgMzkyLjEgMCAzNTJMMCA5NnptNjQgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw3MiAwIDAtMTYwLTcyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0yMTYgMjU2bDcyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNzIgMCAwIDE2MHpNOTYgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMjI0LTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LGdQdD1vZGUsbGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1kb3QiLGljb246WzUxMiw1MTIsWzEyODI4MCwiZG90LWNpcmNsZSJdLCJmMTkyIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTM1MmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnoiXX0sYlB0PWxkZSx2UHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2JqZWN0LWdyb3VwIixpY29uOls1NzYsNTEyLFtdLCJmMjQ3IiwiTTMyIDExOS40QzEyLjkgMTA4LjQgMCA4Ny43IDAgNjQgMCAyOC43IDI4LjcgMCA2NCAwIDg3LjcgMCAxMDguNCAxMi45IDExOS40IDMybDMzNy4xIDBjMTEuMS0xOS4xIDMxLjctMzIgNTUuNC0zMiAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCAyNzMuMWMxOS4xIDExLjEgMzIgMzEuNyAzMiA1NS40IDAgMzUuMy0yOC43IDY0LTY0IDY0LTIzLjcgMC00NC40LTEyLjktNTUuNC0zMmwtMzM3LjEgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMi0zNS4zIDAtNjQtMjguNy02NC02NCAwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yNzMuMXptNDQ4IDBjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNEwxMTkuNCA5NmMtNS42IDkuNy0xMy43IDE3LjgtMjMuNCAyMy40bDAgMjczLjFjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40bDMzNy4xIDBjNS42LTkuNyAxMy43LTE3LjggMjMuNC0yMy40bDAtMjczLjF6TTE0NCAxNzZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTEyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6TTI1NiAzMjBsMzIgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTExMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2eiJdfSx4UHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpcCIsaWNvbjpbNjQwLDUxMixbMTI4Njc0XSwiZjIxYSIsIk0yNzIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNi0xNiAwYy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDEwOC44LTIxLjYgOC42Yy0xNC44IDUuOS0yMi41IDIyLjQtMTcuNCAzNy41IDEwLjQgMzEuMyAyNi44IDU5LjMgNDcuNyA4My4xIDIwLjEtOS4yIDQxLjctMTMuOSA2My4zLTE0IDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNGwxLjYgMS4yIDAtMjE1LTEwNCA0MS42IDAtODMuMmMwLTguOCA3LjItMTYgMTYtMTZsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODMuMi0xMDQtNDEuNiAwIDIxNSAxLjYtMS4yYzI3LjUtMjAuNyA1OS45LTMxLjIgOTIuNC0zMS40IDIyLjMtLjEgNDQuNiA0LjUgNjUuMyAxNCAyMC45LTIzLjcgMzcuMy01MS44IDQ3LjctODMuMSA1LTE1LjItMi42LTMxLjYtMTcuNC0zNy41TDUxMiAyNTIuOCA1MTIgMTQ0YzAtNDQuMi0zNS44LTgwLTgwLTgwbC0xNiAwIDAtMTZjMC0yNi41LTIxLjUtNDgtNDgtNDhMMjcyIDB6TTQwMy40IDQ3Ni4xYzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43UzcgNDgyLjMgMTcuNiA0OTAuM2MxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1Ljl6Il19LHlQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjIixpY29uOlszODQsNTEyLFs5OV0sIjQzIiwiTTMyOS4xIDE0Mi45Yy02Mi41LTYyLjUtMTU1LjgtNjIuNS0yMTguMyAwcy02Mi41IDE2My44IDAgMjI2LjMgMTU1LjggNjIuNSAyMTguMyAwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTg3LjUgODcuNS0yMjEuMyA4Ny41LTMwOC44IDBzLTg3LjUtMjI5LjMgMC0zMTYuOCAyMjEuMy04Ny41IDMwOC44IDBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDB6Il19LGNkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcGhvbmUiLGljb246WzQ0OCw1MTIsWyJwaG9uZS1zcXVhcmUiXSwiZjA5OCIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem04OCA5Ni43YzkuOC0yLjcgMjAuMSAyLjQgMjQgMTEuOGwyMC4zIDQ4LjdjMy40IDguMyAxLjEgMTcuOC01LjkgMjMuNWwtMjIuMSAxOGMxNi4yIDM1LjggNDQuNSA2NSA3OS42IDgyLjRsMTkuMy0yMy42YzUuNy02LjkgMTUuMi05LjMgMjMuNS01LjlsNDguNyAyMC4zYzkuNCAzLjkgMTQuNCAxNC4yIDExLjggMjRsLS44IDIuOGMtOC44IDMyLjMtNDAuMSA1OS45LTc4LjIgNTEuOC04Ny41LTE4LjUtMTU2LjMtODcuNC0xNzQuOS0xNzQuOS04LjEtMzguMSAxOS41LTY5LjQgNTEuOC03OC4ybDIuOC0uOHoiXX0sd1B0PWNkZSxNUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVsZXItY29tYmluZWQiLGljb246WzQ0OCw1MTIsW10sImY1NDYiLCJNMSA0NDEuN0M1LjUgNDYzLjUgMjQuOCA0ODAgNDggNDgwbDM1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMCA3MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTcyLTY0IDAgMCA3MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTcyLTcyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMCAwLTY0LTcyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMCAwLTQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAzLjMgLjMgNi42IDEgOS43eiJdfSx6QT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3Mtcm90YXRlIixpY29uOls1MTIsNTEyLFsxMjg0NzIsInJlZnJlc2giLCJzeW5jIl0sImYwMjEiLCJNNjUuOSAyMjguNWMxMy4zLTkzIDkzLjQtMTY0LjUgMTkwLjEtMTY0LjUgNTMgMCAxMDEgMjEuNSAxMzUuOCA1Ni4yIC4yIC4yIC40IC40IC42IC42bDcuNiA3LjItNDcuOSAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNTMuNC0xMS4zLTEwLjdDMzkwLjUgMjguNiAzMjYuNSAwIDI1NiAwIDEyNyAwIDIwLjMgOTUuNCAyLjYgMjE5LjUgLjEgMjM3IDEyLjIgMjUzLjIgMjkuNyAyNTUuN3MzMy43LTkuNyAzNi4yLTI3LjF6bTQ0My41IDY0YzIuNS0xNy41LTkuNy0zMy43LTI3LjEtMzYuMnMtMzMuNyA5LjctMzYuMiAyNy4xYy0xMy4zIDkzLTkzLjQgMTY0LjUtMTkwLjEgMTY0LjUtNTMgMC0xMDEtMjEuNS0xMzUuOC01Ni4yLS4yLS4yLS40LS40LS42LS42bC03LjYtNy4yIDQ3LjkgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMjBjLTguNSAwLTE2LjcgMy40LTIyLjcgOS41Uy0uMSAzNDMuNyAwIDM1Mi4zbDEgMTI3Yy4xIDE3LjcgMTQuNiAzMS45IDMyLjMgMzEuN1M2NS4yIDQ5Ni40IDY1IDQ3OC43bC0uNC01MS41IDEwLjcgMTAuMWM0Ni4zIDQ2LjEgMTEwLjIgNzQuNyAxODAuNyA3NC43IDEyOSAwIDIzNS43LTk1LjQgMjUzLjQtMjE5LjV6Il19LGtQdD16QSxTUHQ9ekEsZGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1kcmVzcyIsaWNvbjpbMzg0LDUxMixbImZlbWFsZSJdLCJmMTgyIiwiTTEzNiAyNGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTExMiAzODRsLTI1LjggMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFsNDMtMTI5LTQ4LjMgNjUuMWMtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuNnMtMTcuMi0zMC42LTYuNi00NC44bDcwLjUtOTVDMTEwIDEzMiAxNDkuNyAxMTIgMTkyIDExMnM4MiAyMCAxMDcuMiA1My45bDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNkwyNzAgMjM0IDMxMyAzNjIuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFsLTI1LjggMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0zMiAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4eiJdfSx6UHQ9ZGRlLENQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLW9wZW4iLGljb246WzUxMiw1MTIsWzEyODIxNCwxMjgzNjZdLCJmNTE4IiwiTTI1NiAxNDEuM2wwIDMwOS4zIC41LS4yQzMxMS4xIDQyNy43IDM2OS43IDQxNiA0MjguOCA0MTZsMTkuMiAwIDAtMzIwLTE5LjIgMGMtNDIuMiAwLTg0LjEgOC40LTEyMy4xIDI0LjYtMTYuOCA3LTMzLjQgMTMuOS00OS43IDIwLjd6TTIzMC45IDYxLjVMMjU2IDcyIDI4MS4xIDYxLjVDMzI3LjkgNDIgMzc4LjEgMzIgNDI4LjggMzJMNDY0IDMyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zNS4yIDBjLTUwLjcgMC0xMDAuOSAxMC0xNDcuNyAyOS41bC0xMi44IDUuM2MtNy45IDMuMy0xNi43IDMuMy0yNC42IDBsLTEyLjgtNS4zQzE4NC4xIDQ5MCAxMzMuOSA0ODAgODMuMiA0ODBMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDM1LjIgMGM1MC43IDAgMTAwLjkgMTAgMTQ3LjcgMjkuNXoiXX0sVFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlci10cmVlIixpY29uOls1NzYsNTEyLFtdLCJmODAyIiwiTTQ4IDI0QzQ4IDEwLjcgMzcuMyAwIDI0IDBTMCAxMC43IDAgMjRMMCAzOTJjMCAzMC45IDI1LjEgNTYgNTYgNTZsMTg0IDAgMC00OC0xODQgMGMtNC40IDAtOC0zLjYtOC04bDAtMjMyIDE5MiAwIDAtNDgtMTkyIDAgMC04OHpNMzM2IDIyNGwxOTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC04Mi43IDBjLTguNSAwLTE2LjYtMy40LTIyLjYtOS40bC04LjYtOC42Yy05LTktMjEuMi0xNC4xLTMzLjktMTQuMUwzMzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDh6bTAgMjg4bDE5MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTgyLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTguNi04LjZjLTktOS0yMS4yLTE0LjEtMzMuOS0xNC4xTDMzNiAyODhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTI4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4eiJdfSxfUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlyZ28iLGljb246WzY0MCw1MTIsW10sImU4NTAiLCJNMzY4IDMyYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEybDAgMjYuOGMxNC41LTYuOSAzMC44LTEwLjggNDgtMTAuOCA2MS45IDAgMTEyIDUwLjEgMTEyIDExMlM1ODkuOSAzODQgNTI4IDM4NGwtNDggMCAwIDMyYzAgMTYuNiAxMi42IDMwLjIgMjguNyAzMS44bDYuNiAuM2MxNi4xIDEuNiAyOC43IDE1LjMgMjguNyAzMS44IDAgMTcuNy0xNC4zIDMyLTMyIDMyLTUzIDAtOTYtNDMtOTYtOTZsMC0zMi0xNiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0xNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMDRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMjBjMC0xNi42LTEyLjYtMzAuMi0yOC43LTMxLjhsLTYuNi0uM0M0NC42IDk0LjIgMzIgODAuNiAzMiA2NCAzMiA0Ni4zIDQ2LjMgMzIgNjQgMzIgOTEgMzIgMTE1LjMgNDMuMSAxMzIuNyA2MSAxNTIuNiA0MyAxNzkgMzIgMjA4IDMyIDIzOS4zIDMyIDI2Ny43IDQ0LjkgMjg4IDY1LjcgMzA4LjMgNDQuOSAzMzYuNiAzMiAzNjggMzJ6TTUyOCAyMjRjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNDggNDggMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OHoiXX0sdWRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJveC1hcmNoaXZlIixpY29uOls1MTIsNTEyLFsiYXJjaGl2ZSJdLCJmMTg3IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiAxMjhDMTQuMyAxMjggMCAxMTMuNyAwIDk2TDAgNjR6TTMyIDE3Nmw0NDggMCAwIDI0MGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMjQwem0xNTIgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxMUHQ9dWRlLCRQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW50LWFycm93LWRvd24tdG8tbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTU3ZSIsIk0xODUgMTIxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTMxIDMxIDAtMTAyLjFDMTIwIDIuNyAxMDkuMy04IDk2LThTNzIgMi43IDcyIDE2bDAgMTAyLjEtMzEtMzFDMzEuNiA3Ny43IDE2LjQgNzcuNyA3IDg3Uy0yLjMgMTExLjYgNyAxMjFsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNzItNzJ6TTE1NS44IDI2MC42TDEzMi4xIDQ0OCAzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzIgMC0yLjgtLjQtNS41LTEtOEw1NDguMiAyNjAuN2MtMS4yLTkuNy02LjktMTguNC0xNS4zLTIzLjRMMzY3LjQgMTM3LjljLTEwLjItNi4xLTIyLjktNi4xLTMzLjEgLjFMMTcwLjkgMjM3LjNjLTguMyA1LjEtMTMuOSAxMy43LTE1LjEgMjMuM3pNNDQ4IDQ0OGwtOTcuMSAwIDAtMTQ5LjRjMC01LjkgNC43LTEwLjYgMTAuNi0xMC42IDQgMCA3LjcgMi4zIDkuNSA1LjlMNDQ4IDQ0OHoiXX0sRFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InFyY29kZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjAyOSIsIk02NCAxNjBsNjQgMCAwLTY0LTY0IDAgMCA2NHpNMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODB6TTY0IDQxNmw2NCAwIDAtNjQtNjQgMCAwIDY0ek0wIDMzNmMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6TTMyMCA5NmwwIDY0IDY0IDAgMC02NC02NCAwek0zMDQgMzJsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4ek0yODggMzUyYTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMi0zMi0xNC4zLTMyLTMyIDE0LjMtMzIgMzItMzJ6bTk2IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMi0zMi0xNC4zLTMyLTMyem0zMi05NmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bS0zMiAzMmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAweiJdfSxBUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJhZ29uIixpY29uOls2NDAsNTEyLFsxMjgwMDldLCJmNmQ1IiwiTTM1MiAxMjQuNWwtNTEuOS0xM2MtNi41LTEuNi0xMS4zLTcuMS0xMi0xMy44czIuOC0xMy4xIDguNy0xNi4xbDQwLjgtMjAuNC00My4zLTMyLjVjLTUuNS00LjEtNy44LTExLjMtNS42LTE3LjlTMjk3LjEgMCAzMDQgMEw0NjQgMGMzMC4yIDAgNTguNyAxNC4yIDc2LjggMzguNGw1Ny42IDc2LjhjNi4yIDguMyA5LjYgMTguNCA5LjYgMjguOCAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjEuNSAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN2wtMTMuMy0xMy4zLTMyIDAgMCAyMS41YzAgMjQuOCAxMi44IDQ3LjkgMzMuOCA2MS4xbDEwNi42IDY2LjZjMzIuMSAyMC4xIDUxLjYgNTUuMiA1MS42IDkzLjEgMCA2MC42LTQ5LjEgMTA5LjgtMTA5LjggMTA5LjhMMzIuMyA1MTJjLTMuMyAwLTYuNi0uNC05LjYtMS40LTkuMi0yLjgtMTYuNy05LjYtMjAuNC0xOC42LTEuMy0zLjMtMi4yLTYuOS0yLjMtMTAuNy0uMi0zLjcgLjMtNy4zIDEuMy0xMC43IDIuOC05LjIgOS42LTE2LjcgMTguNi0yMC40IDMtMS4yIDYuMi0yIDkuNS0yLjJMNDMzLjMgNDEyYzguMy0uNyAxNC43LTcuNyAxNC43LTE2LjEgMC00LjMtMS43LTguNC00LjctMTEuNGwtNDQuNC00NC40Yy0zMC0zMC00Ni45LTcwLjctNDYuOS0xMTMuMWwwLTEwMi41ek01MTIgNzIuM2MwLS4xIDAtLjIgMC0uM3MwLS4yIDAtLjNsMCAuNnptLTEuMyA3LjRMNDY0LjMgNjguMWMtLjIgMS4zLS4zIDIuNi0uMyAzLjkgMCAxMy4zIDEwLjcgMjQgMjQgMjQgMTAuNiAwIDE5LjUtNi44IDIyLjctMTYuM3pNMTMwLjkgMTE2LjVjMTYuMy0xNC41IDQwLjQtMTYuMiA1OC41LTQuMWwxMzAuNiA4NyAwIDI3LjVjMCAzMi44IDguNCA2NC44IDI0IDkzbC0yMzIgMGMtNi43IDAtMTIuNy00LjItMTUtMTAuNHMtLjUtMTMuMyA0LjYtMTcuN0wxNzEgMjMyLjMgMTguNCAyNTUuOGMtNyAxLjEtMTMuOS0yLjYtMTYuOS05Uy4xIDIzMi44IDUuNCAyMjhMMTMwLjkgMTE2LjV6Il19LHBkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VyZ2xhc3MtZW5kIixpY29uOlszODQsNTEyLFs4OTg3LCJob3VyZ2xhc3MtMyJdLCJmMjUzIiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMCAxMWMwIDQyLjQgMTYuOSA4My4xIDQ2LjkgMTEzLjFsNjcuOSA2Ny45LTY3LjkgNjcuOUM0OC45IDM1My45IDMyIDM5NC42IDMyIDQzN2wwIDExYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTFjMC00Mi40LTE2LjktODMuMS00Ni45LTExMy4xbC02Ny45LTY3LjkgNjcuOS02Ny45YzMwLTMwIDQ2LjktNzAuNyA0Ni45LTExMy4xbDAtMTFjMTcuNyAwIDMyLTE0LjMgMzItMzJTMzY5LjcgMCAzNTIgMEwzMiAwek05NiA3NWwwLTExIDE5MiAwIDAgMTFjMCAyNS41LTEwLjEgNDkuOS0yOC4xIDY3LjlsLTY3LjkgNjcuOS02Ny45LTY3LjlDMTA2LjEgMTI0LjkgOTYgMTAwLjQgOTYgNzV6Il19LEVQdD1wZGUsbGY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JpcCIsaWNvbjpbNTEyLDUxMixbNTgxMTksImdyaWQtaG9yaXpvbnRhbCIsImdyaXAtaG9yaXpvbnRhbCJdLCJmNThkIiwiTTg4IDk2YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMHpNMjgwIDIyNGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDB6bTE5MiAwbC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MHptMCAxOTJsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwek0yODAgMjg4YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMHpNODggNDE2bC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MHoiXX0sSVB0PWxmLFBQdD1sZixmZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9yZGVyLXRvcC1sZWZ0IixpY29uOls0NDgsNTEyLFsiYm9yZGVyLXN0eWxlIl0sImY4NTMiLCJNMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1MiAzNTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDQ4em0xMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMnptMTI4IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMi0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzJ6bTE2MCAzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyIDE0LjMgMzIgMzIgMzJ6TTM4NCAxOTJhMzIgMzIgMCAxIDAgNjQgMCAzMiAzMiAwIDEgMCAtNjQgMHptMzIgMTYwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sTlB0PWZkZSxoZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdC11bCIsaWNvbjpbNTEyLDUxMixbImxpc3QtZG90cyJdLCJmMGNhIiwiTTQ4IDE0NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTE5MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwxOTIgNjR6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yODggMHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwek00OCA0NjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek05NiAyNTZhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHoiXX0sRlB0PWhkZSxPUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLXJvYmJlcnkiLGljb246WzU3Niw1MTIsW10sImU1MzYiLCJNNDg4LjIgNTkuMUM0NzguMSA5OS42IDQ0MS43IDEyOCA0MDAgMTI4cy03OC4xLTI4LjQtODguMi02OC45TDMwMyAyNC4yQzI5OC44IDcuMSAyODEuNC0zLjMgMjY0LjIgMVMyMzYuNyAyMi42IDI0MSAzOS44bDguNyAzNC45YzExIDQ0IDQwLjIgNzkuNiA3OC4zIDk5LjZMMzI4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDE2IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNS43YzM4LjEtMjAgNjcuMy01NS42IDc4LjMtOTkuNkw1NTkgMzkuOGM0LjMtMTcuMS02LjEtMzQuNS0yMy4zLTM4LjhTNTAxLjIgNy4xIDQ5NyAyNC4ybC04LjcgMzQuOXpNNDAwIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA5NiAwIC42IDAgMTkxLjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAxNiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMjcuMyAxMyAyMC41YzUuOSA5LjIgMTYuMSAxNC45IDI3IDE0LjlsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzAuNCAwLTM3LjQtNTguOUMxNTcuNiAxNDIgMTMyLjEgMTI4IDEwNC43IDEyOEw3MiAxMjh6Il19LFJQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb2JpbGUtYnV0dG9uIixpY29uOlszODQsNTEyLFtdLCJmMTBiIiwiTTgwIDBDNDQuNyAwIDE2IDI4LjcgMTYgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMODAgMHpNMTkyIDQ2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMiAzMiAxNC4zIDMyIDMyLTE0LjMgMzItMzIgMzJ6Il19LENBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tYS16IixpY29uOls1MTIsNTEyLFsic29ydC1hbHBoYS1hc2MiLCJzb3J0LWFscGhhLWRvd24iXSwiZjE1ZCIsIk0yMzAuNiAzOTAuNmwtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6bTE4Mi0zNDAuOWM1MC43IDEwMS4zIDc3LjMgMTU0LjcgODAgMTYwIDcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNsLTcuMi0xNC4zLTg4LjQgMC03LjIgMTQuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWMyLjctNS4zIDI5LjMtNTguNyA4MC0xNjAgNS40LTEwLjggMTYuNS0xNy43IDI4LjYtMTcuN3MyMy4yIDYuOCAyOC42IDE3Ljd6TTM4NCAxMzUuNmwtMjAuMiA0MC40IDQwLjQgMC0yMC4yLTQwLjR6TTI4OCAzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUwzOTcuMyA0MTYgNDQ4IDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45bDczLjQtNzMuNC01MC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxCUHQ9Q0EsSFB0PUNBLHFQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsIixpY29uOls1MTIsNTEyLFtdLCJmMGQ2IiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0xOTIgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTE5MiAyNGMwIDQuNC0zLjYgOC4xLTggNy41LTI5LTMuNi01MS45LTI2LjYtNTUuNS01NS41LS41LTQuNCAzLjEtOCA3LjUtOGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQ4ek02NCAzMjhjMC00LjQgMy42LTguMSA4LTcuNSAyOSAzLjYgNTEuOSAyNi42IDU1LjUgNTUuNSAuNSA0LjQtMy4xIDgtNy41IDhsLTQ4IDBjLTQuNCAwLTgtMy42LTgtOGwwLTQ4em04LTEzNi41Yy00LjQgLjUtOC0zLjEtOC03LjVsMC00OGMwLTQuNCAzLjYtOCA4LThsNDggMGM0LjQgMCA4LjEgMy42IDcuNSA4LTMuNiAyOS0yNi42IDUxLjktNTUuNSA1NS41em0zNjggMTI5YzQuNC0uNSA4IDMuMSA4IDcuNWwwIDQ4YzAgNC40LTMuNiA4LTggOGwtNDggMGMtNC40IDAtOC4xLTMuNi03LjUtOCAzLjYtMjkgMjYuNi01MS45IDU1LjUtNTUuNXoiXX0sbWRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1taW51cyIsaWNvbjpbNTEyLDUxMixbIm1pbnVzLWNpcmNsZSJdLCJmMDU2IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjggMjMybDE3NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0salB0PW1kZSxnZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcG9pbnRlciIsaWNvbjpbNDQ4LDUxMixbIm1vdXNlLXBvaW50ZXIiXSwiZjI0NSIsIk03Ny4zIDIuNWM4LjEtNC4xIDE3LjktMy4yIDI1LjEgMi4zbDMyMCAyMzkuOWM4LjMgNi4yIDExLjYgMTcgOC40IDI2LjhzLTEyLjQgMTYuNC0yMi44IDE2LjRsLTE1Mi4zIDAgODguOSAxNzcuN2M3LjkgMTUuOCAxLjUgMzUtMTQuMyA0Mi45cy0zNSAxLjUtNDIuOS0xNC4zbC04OC45LTE3Ny43LTkxLjMgMTIxLjhjLTYuMiA4LjMtMTcgMTEuNi0yNi44IDguNFM2NCA0MzQuMyA2NCA0MjRMNjQgMjRjMC05LjEgNS4xLTE3LjQgMTMuMy0yMS41eiJdfSxWUHQ9Z2RlLGJkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtc2hhcmUtbm9kZXMiLGljb246WzQ0OCw1MTIsWyJzaGFyZS1hbHQtc3F1YXJlIl0sImYxZTEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzY4IDE2MGMwIDM1LjMtMjguNyA2NC02NCA2NC0xNS40IDAtMjkuNS01LjQtNDAuNi0xNC41bC04NS4zIDQ2LjUgODUuMyA0Ni41YzExLTkuMSAyNS4yLTE0LjUgNDAuNi0xNC41IDM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0LTY0LTI4LjctNjQtNjRjMC0yLjUgLjEtNC45IC40LTcuM0wxNTguNSAzMDBjLTExLjcgMTIuMy0yOC4yIDIwLTQ2LjUgMjAtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMxOC4zIDAgMzQuOCA3LjcgNDYuNSAyMGw4MS45LTQ0LjdjLS4zLTIuNC0uNC00LjktLjQtNy4zIDAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjR6Il19LFVQdD1iZGUsdmRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWNlbGxzLWxhcmdlIixpY29uOls0NDgsNTEyLFsidGgtbGFyZ2UiXSwiZjAwOSIsIk0zODQgOTZsLTEyOCAwIDAgMTI4IDEyOCAwIDAtMTI4em02NCAxMjhsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4ek02NCAyODhsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6bTEyOC02NGwwLTEyOC0xMjggMCAwIDEyOCAxMjggMHptNjQgNjRsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6Il19LFdQdD12ZGUsR1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhdCIsaWNvbjpbNTc2LDUxMixbMTI4MDA4XSwiZjZiZSIsIk02NCA5NmM1MyAwIDk2IDQzIDk2IDk2bDAgODUuOGMyOS43LTQ0LjcgNzcuOC03Ni4yIDEzMy40LTg0IDI1LjYgNjAgODUuMiAxMDIuMSAxNTQuNiAxMDIuMSAxMC45IDAgMjEuNi0xLjEgMzItMy4xTDQ4MCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDAuOC0xMzYgMTA4LjggNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTQ0IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC0yMjRjMC0xNi42LTEyLjYtMzAuMi0yOC43LTMxLjhsLTYuNi0uM0M0NC42IDE1OC4yIDMyIDE0NC42IDMyIDEyOCAzMiAxMTAuMyA0Ni4zIDk2IDY0IDk2ek01MzMuOCAzLjJDNTQ0LjItNS41IDU2MCAxLjkgNTYwIDE1LjVMNTYwIDEyOGMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMzMzYgMTg5LjkgMzM2IDEyOGwwLTExMi41YzAtMTMuNiAxNS44LTIxIDI2LjItMTIuM0w0MTYgNDggNDgwIDQ4IDUzMy44IDMuMnpNNDAwIDEwOGEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6bTk2IDBhMjAgMjAgMCAxIDAgMCA0MCAyMCAyMCAwIDEgMCAwLTQweiJdfSxZUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXItd2VlayIsaWNvbjpbNDQ4LDUxMixbXSwiZjc4NCIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTAgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTE5MiAweiJdfSxaUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1jb21wYXJlIixpY29uOls1MTIsNTEyLFtdLCJlMTNhIiwiTTE5OC44IDEuOGM5LTMuNyAxOS4zLTEuNyAyNi4yIDUuMmw1NiA1NmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNTYgNTZjLTYuOSA2LjktMTcuMiA4LjktMjYuMiA1LjJTMTg0IDE0NS43IDE4NCAxMzZsMC0yNC0yNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIxNC43YzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjMgMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM0w2NCAxNDRjMC01MyA0My05NiA5Ni05NmwyNCAwIDAtMjRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yek0zOTIgODBhMjQgMjQgMCAxIDAgNDggMCAyNCAyNCAwIDEgMCAtNDggMHptLTggNzMuM2MtMjguMy0xMi4zLTQ4LTQwLjUtNDgtNzMuMyAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNMNDQ4IDM2OGMwIDUzLTQzIDk2LTk2IDk2bC0yNCAwIDAgMjRjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNTYtNTZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDU2LTU2YzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJTMzI4IDM2Ni4zIDMyOCAzNzZsMCAyNCAyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjE0Ljd6TTcyIDQzMmEyNCAyNCAwIDEgMCA0OCAwIDI0IDI0IDAgMSAwIC00OCAweiJdfSxYUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVvIixpY29uOls1MTIsNTEyLFtdLCJlODRhIiwiTTI2MCAwYzcyLjkgMCAxMzIgNTkuMSAxMzIgMTMybDAgNS40LS4xIDEuNC0yMy44IDI3MGMuNCAyMS43IDE4LjIgMzkuMiA0MCAzOS4yIDIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDQwYzAgNTcuNC00Ni42IDEwNC0xMDQgMTA0UzMwNCA0NjUuNCAzMDQgNDA4bDAtMS40IC4xLTEuNCAyMy45LTI3MC42IDAtMi42YzAtMzcuNi0zMC40LTY4LTY4LTY4cy02OCAzMC40LTY4IDY4bDAgNGMwIDMuNyAuMyA3LjMgLjggMTFsMjkuNyAxOTMuNGMuOSA2LjEgMS40IDEyLjIgMS40IDE4LjRsMCA5LjJjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJTMCA0MjkuOSAwIDM2OCA1MC4xIDI1NiAxMTIgMjU2YzExLjcgMCAyMyAxLjggMzMuNyA1LjFMMTI5LjYgMTU2LjdjLTEuMS02LjgtMS42LTEzLjgtMS42LTIwLjdsMC00QzEyOCA1OS4xIDE4Ny4xIDAgMjYwIDB6TTExMiAzMjBhNDggNDggMCAxIDAgMCA5NiA0OCA0OCAwIDEgMCAwLTk2eiJdfSxRUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1NjYiLCJNMjg3LjkgMzJsLTc2LjIgMGMtMjkuNCAwLTU1LjEgMjAuMS02Mi4xIDQ4LjZMNjUuNCA0MjAuNUM1Ny45IDQ1MC43IDgwLjggNDgwIDExMiA0ODBsMjA5LjQgMGMtMTEuMi0yNC40LTE3LjQtNTEuNC0xNy40LTgwIDAtMjguNiA2LjItNTUuNyAxNy40LTgwLS41IDAtMSAwLTEuNiAwLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDQ5LjJjMzUuMi00MCA4Ni43LTY1LjIgMTQ0LjItNjUuMiA5IDAgMTcuOCAuNiAyNi40IDEuOGwtMzItMTI5LjJDNDgzLjQgNTIuMSA0NTcuOCAzMiA0MjguMyAzMmwtNzYuNSAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHpNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LEpQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWxsZXQiLGljb246WzU3Niw1MTIsW10sImY0ODIiLCJNMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCA2NC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtNjQgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMjB6bTk2IDY0bDEyOCAwIDAgNjQtMTI4IDAgMC02NHptMTkyIDBsMTI4IDAgMCA2NC0xMjggMCAwLTY0eiJdfSxUQT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWtlLWNhbmRsZXMiLGljb246WzQ0OCw1MTIsWzEyNzg3NCwiYmlydGhkYXktY2FrZSIsImNha2UiXSwiZjFmZCIsIk04Ni40LTEwLjVMNjEuOCAzMS42QzU4IDM4LjEgNTYgNDUuNiA1NiA1My4yTDU2IDU2YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC0yLjhjMC03LjYtMi0xNS01LjgtMjEuNkwxMDUuNi0xMC41Yy0yLTMuNC01LjctNS41LTkuNi01LjVzLTcuNiAyLjEtOS42IDUuNXptMTI4IDBMMTg5LjggMzEuNmMtMy44IDYuNS01LjggMTQtNS44IDIxLjZsMCAyLjhjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGwwLTIuOGMwLTcuNi0yLTE1LTUuOC0yMS42TDIzMy42LTEwLjVjLTItMy40LTUuNy01LjUtOS42LTUuNXMtNy42IDIuMS05LjYgNS41ek0zMTcuOCAzMS42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNmwwIDIuOGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMi44YzAtNy42LTItMTUtNS44LTIxLjZMMzYxLjYtMTAuNWMtMi0zLjQtNS43LTUuNS05LjYtNS41cy03LjYgMi4xLTkuNiA1LjVMMzE3LjggMzEuNnpNMTI4IDE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDUzLjVDMjYuNyAyMjYuNiAwIDI2Mi4yIDAgMzA0bDAgMjAuOGMyMC45IDEuMyA0MS42IDcuMyA2MC4zIDE4bDcuMSA0LjFjMjYuMyAxNSA1OC45IDEzLjQgODMuNi00LjIgNDMuNy0zMS4yIDEwMi4zLTMxLjIgMTQ2IDAgMjQuNiAxNy42IDU3LjMgMTkuMyA4My42IDQuMmw3LjEtNC4xYzE4LjctMTAuNyAzOS4zLTE2LjcgNjAuMy0xOGwwLTIwLjhjMC00MS44LTI2LjctNzcuNC02NC05MC41bDAtNTMuNWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4LTY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4LTY0IDAgMC00OHpNNDQ4IDM3M2MtMTIuNyAxLjItMjUuMSA1LTM2LjUgMTEuNWwtNy4xIDQuMWMtNDIuNiAyNC4zLTk1LjQgMjEuNy0xMzUuMy02LjgtMjctMTkuMy02My4yLTE5LjMtOTAuMiAwLTM5LjkgMjguNS05Mi43IDMxLjItMTM1LjMgNi44bC03LjEtNC4xQzI1LjEgMzc4IDEyLjcgMzc0LjEgMCAzNzNsMCA3NWMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTc1eiJdfSxLUHQ9VEEsZU50PVRBLHROdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWctc2xhc2giLGljb246WzU3Niw1MTIsW10sImU0OTAiLCJNNy0yNC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDI0MS44IDE3NiAzNDQgMTc2YzE0LjIgMCAyNy43IDIuOCA0MCA4bDEwOC44LTgxLjZjMTQuMS0xMC42IDM0LjItNy43IDQ0LjggNi40czcuNyAzNC4yLTYuNCA0NC44bC05Ny44IDczLjNjNS4zIDguOSA5LjMgMTguNyAxMS44IDI5LjFsOTguOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMzJjMCA5LjUtLjggMTguNy0yLjQgMjcuOEw1NjkgNTAzLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDkuMUMtMi4zLS4zLTIuMy0xNS41IDctMjQuOXpNMzk4LjIgNDY4Yy0yMy4yIDIyLjEtNTMgMzcuMi04Ni4yIDQyLjJsMC0xMjguNCA4Ni4yIDg2LjJ6TTI2NCAzMzMuOGwwIDE3Ni40Yy01MS4yLTcuNy05NC41LTM5LjctMTE3LjctODMuOUw4My4yIDQ3My42Yy0xNC4xIDEwLjYtMzQuMiA3LjctNDQuOC02LjRzLTcuNy0zNC4yIDYuNC00NC44bDgzLjQtNjIuNWMtLjEtMi42LS4yLTUuMi0uMi03LjlsMC0zMi05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk4LjggMGMzLjMtMTMuOSA5LjMtMjYuNyAxNy42LTM3LjhMMjY0IDMzMy44ek0zNTUuNiAxMjhsLTgyLjQgMC03Mi4zLTcyLjNDMjE2LjEgMjIuOCAyNDkuNCAwIDI4OCAwIDM0MSAwIDM4NCA0MyAzODQgOTZsMCAzLjZjMCAxNS43LTEyLjcgMjguNC0yOC40IDI4LjR6Il19LHJOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YXJwIixpY29uOls1MTIsNTEyLFtdLCJlNTdiIiwiTTQ0OCA2NGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE0OS41YzAgMTctNi43IDMzLjMtMTguNyA0NS4zTDM4Ni43IDQyOS4zYy0xMiAxMi0yOC4zIDE4LjctNDUuMyAxOC43TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDB6bTUuNSAyMDhMMzYwIDI3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA5My41IDExNy41LTExNy41ek05NiAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxhTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhZ3JhbS1wcmVkZWNlc3NvciIsaWNvbjpbNDQ4LDUxMixbXSwiZTQ3NyIsIk0yODkuMiAxMzcuOWMyLjUtNiA4LjMtOS45IDE0LjgtOS45bDQwIDAgMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtOTggMGMxLjMgNS4xIDIgMTAuNSAyIDE2bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTk2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjU2IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAyNCA0MCAwYzYuNSAwIDEyLjMgMy45IDE0LjggOS45czEuMSAxMi45LTMuNSAxNy40bC02NCA2NGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy00LjYtNC42LTUuOS0xMS41LTMuNS0xNy40ek0zODQgMzUybC0zMjAgMCAwIDY0IDMyMCAwIDAtNjR6bTY0IDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0eiJdfSx4ZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1mbHVzaGVkIixpY29uOls1MTIsNTEyLFsxMjg1NjMsImZsdXNoZWQiXSwiZjU3OSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xNjggMzkyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDEyOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMjggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bS04LTk2YTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0em0yNjQtNzJhNzIgNzIgMCAxIDAgLTE0NCAwIDcyIDcyIDAgMSAwIDE0NCAwem0tMjg4IDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTkyIDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0saU50PXhkZSxuTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhZ3JhbS1uZXh0IixpY29uOls0NDgsNTEyLFtdLCJlNDc2IiwiTTM4NCAyMjRjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTI4IDAgMCA2NC0zMiAwYy02LjUgMC0xMi4zIDMuOS0xNC44IDkuOXMtMS4xIDEyLjkgMy41IDE3LjRsNjQgNjRjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNjQtNjRjNC42LTQuNiA1LjktMTEuNSAzLjUtMTcuNFMyOTQuNSAyODggMjg4IDI4OGwtMzIgMCAwLTY0IDEyOCAwek02NCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NGMwLTM1LjMtMjguNy02NC02NC02NGwtMzQgMGM1LjYgMjEuNy0uNSA0NS4xLTE2LjcgNjEuM2wtNjQgNjRjLTI1IDI1LTY1LjUgMjUtOTAuNSAwbC02NC02NEM5OC42IDMzMy4xIDkyLjQgMzA5LjcgOTggMjg4bC0zNCAweiJdfSxzTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTRhYyIsIk0zMjAuNSA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMzItOTZjLTUzIDAtOTYgNDMtOTYgOTYgMCA0MS44IDI2LjcgNzcuNCA2NCA5MC41bDAgMjU3LjljLTYyLjktMTQuMy0xMTAuMi02OS43LTExMS45LTEzNi41bDE2LjEgMTQuMWMxMCA4LjcgMjUuMSA3LjcgMzMuOS0yLjNzNy43LTI1LjEtMi4zLTMzLjlsLTY0LTU2Yy05LTcuOS0yMi42LTcuOS0zMS42IDBsLTY0IDU2Yy0xMCA4LjctMTEgMjMuOS0yLjMgMzMuOXMyMy45IDExIDMzLjkgMi4zbDE2LjItMTQuMmMyLjEgMTEzLjEgOTQuNCAyMDQuMSAyMDggMjA0LjEgMTYuNiAwIDMyLjctMS45IDQ4LjItNS42LTIwLjMtMzAuNS0zMi4yLTY3LTMyLjItMTA2LjQgMC0yNy4zIDUuNy01My4zIDE2LTc2LjlsMC0xMzYuNmMzNy4zLTEzLjIgNjQtNDguNyA2NC05MC41IDAtNTMtNDMtOTYtOTYtOTZ6bTIwOCA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxvTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU0MyIsIk0yODAgMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN0wzNDEgMjg2LjZjMTIuOC0xNy41IDI4LjUtMzIuNyA0Ni4zLTQ1bC01Ni4yLTc1LjdDMzA2IDEzMiAyNjYuMyAxMTIgMjI0IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42TDE0NCAyMzYuNyAxNDQgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0yMi42LTE0NGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZMNTE4LjYgNDAweiJdfSxsTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3BhIixpY29uOls1NzYsNTEyLFtdLCJmNWJiIiwiTTE2OS43IDIyNy41YzM0LjMgMTguNyA2NC41IDQ0LjEgODguOCA3NC41IDExLjEgMTMuOSAyMSAyOC45IDI5LjQgNDQuOCA4LjUtMTUuOSAxOC4zLTMwLjggMjkuNC00NC44IDI0LjMtMzAuNSA1NC41LTU1LjkgODguOC03NC41IDQxLjctMjIuNyA4OS40LTM1LjUgMTM5LjctMzUuNWw5LjkgMGMxMS4xIDAgMjAuMSA5IDIwLjEgMjAuMSAwIDE0OC0xMTkuOSAyNjcuOS0yNjcuOSAyNjcuOWwtNDAuMiAwQzExOS45IDQ4MCAwIDM2MC4xIDAgMjEyLjEgMCAyMDEgOSAxOTIgMjAuMSAxOTJsOS45IDBjNTAuNCAwIDk4LjEgMTIuOCAxMzkuNyAzNS41ek0zMDMuOSAzOGMxNi45IDE1LjkgNjEuNCA2My40IDg5IDE0Mi4zLTQwLjEgMjAuMi03NS44IDQ4LjItMTA0LjkgODIuMS0yOS4yLTMzLjktNjQuOC02MS44LTEwNC45LTgyLjEgMjcuNi03OC45IDcyLjItMTI2LjQgODktMTQyLjMgNC4zLTQuMSAxMC02IDE1LjktNnMxMS42IDIgMTUuOSA2eiJdfSxjTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJpZXMiLGljb246WzUxMiw1MTIsW10sImU4NDYiLCJNNDAxLjYgMGM2MS4zIDAgMTEwLjQgNTAuMyAxMTAuNCAxMTEgMCAyOS40LTExLjYgNTcuOS0zMi42IDc4LjhsLTguOCA4LjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMiAwcy0xMi41LTMyLjggMC00NS4ybDguOC04LjhjOC44LTguOCAxMy44LTIxIDEzLjgtMzMuNiAwLTI1LjktMjEuMS00Ny00Ni40LTQ3LTIyLjUgMC00MS43IDE2LjEtNDUuNyAzOC4yTDI4Ny41IDQ4NS42YzAgLjEtLjEgLjMtLjEgLjQtLjIgLjgtLjMgMS42LS41IDIuMy0uMSAuMy0uMSAuNS0uMiAuNy0uMiAuNi0uNCAxLjMtLjcgMS45LS4yIC41LS40IDEtLjYgMS41LS4xIC4zLS4zIC42LS40IC45LTEuNiAzLjUtMy44IDYuNS02LjQgOS4yLTIgMi00LjIgMy43LTYuNiA1LjEtLjIgLjEtLjMgLjItLjUgLjMtLjcgLjQtMS40IC43LTIuMSAxLS4zIC4xLS42IC4zLS45IC40LS41IC4yLTEgLjQtMS41IC42LS42IC4yLTEuMiAuNS0xLjkgLjctLjIgLjEtLjUgLjItLjcgLjItLjggLjItMS42IC40LTIuMyAuNS0uMiAwLS4zIC4xLS40IC4xLS4yIDAtLjQgMC0uNiAuMS0uNyAuMS0xLjMgLjItMiAuMi0uNCAwLS44IC4xLTEuMiAuMS0uNiAwLTEuMiAuMS0xLjggLjEtLjYgMC0xLjIgMC0xLjgtLjEtLjQgMC0uOC0uMS0xLjItLjEtLjctLjEtMS40LS4xLTItLjItLjIgMC0uNCAwLS42LS4xLS4yIDAtLjMtLjEtLjUtLjEtLjgtLjItMS42LS4zLTIuMy0uNS0uMy0uMS0uNS0uMS0uOC0uMi0uNi0uMi0xLjMtLjQtMS45LS43LS41LS4yLTEtLjQtMS41LS42LS4zLS4xLS42LS4zLS45LS40LS43LS4zLTEuNC0uNy0yLjEtMS0uMi0uMS0uMy0uMi0uNS0uMy0yLjQtMS40LTQuNy0zLjEtNi42LTUuMS0yLjYtMi42LTQuOC01LjctNi40LTkuMi0uMS0uMi0uMi0uMy0uMi0uNWwtLjUtMS4xYy0uMS0uMy0uMi0uNS0uMy0uOC0uMi0uNi0uNS0xLjItLjctMS45LS4xLS4yLS4yLS41LS4yLS43LS4yLS44LS40LTEuNi0uNS0yLjMgMC0uMS0uMS0uMy0uMS0uNEwxNTYgMTAyLjJjLTQtMjIuMS0yMy4yLTM4LjItNDUuNy0zOC4yLTI1LjMgMC00Ni40IDIxLjEtNDYuNCA0NyAwIDEyLjYgNSAyNC44IDEzLjggMzMuNmw4LjggOC44YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4ycy0zMi44IDEyLjUtNDUuMiAwbC04LjgtOC44QzExLjYgMTY4LjkgMCAxNDAuMyAwIDExMSAwIDUwLjMgNDkuMSAwIDExMC40IDAgMTYzLjggMCAyMDkuNiAzOC4zIDIxOSA5MWwzNyAyMDcgMzctMjA3YzkuNC01Mi42IDU1LjItOTEgMTA4LjctOTF6Il19LHlkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXJzLXByb2dyZXNzIixpY29uOls0NDgsNTEyLFsidGFza3MtYWx0Il0sImY4MjgiLCJNMjg4IDE2MGw5NiAwIDAtNjQtOTYgMCAwIDY0ek0wIDE2MEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDM1MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggMjI0Yy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2ek0xNjAgNDE2bDIyNCAwIDAtNjQtMjI0IDAgMCA2NHpNMCA0MTZsMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OGwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNnoiXX0sZE50PXlkZSx1TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJlNGZkIiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxNy42LTMuNCAzNS42LTkuNSA1My43LTIxLjgtOC42LTQ1LjYtMTMuNC03MC41LTEzLjQtMTA2IDAtMTkyIDg2LTE5MiAxOTIgMCAyOC41IDYuMiA1NS42IDE3LjQgODAtLjUgMC0uOSAwLTEuNCAwLTE1LjUgMC0zMC44LTQuNi00My4xLTE0LjEtNzMtNTUuNy0yMTIuOS0xODYtMjEyLjktMjk4LjJsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjAxLjQtNjAuOWMtNy4xLTUuMi0xNy4yLTMuNi0yMi40IDMuNWwtNTMgNzIuOS0yNi44LTI2LjhjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjMy4zIDMuMyA3LjkgNSAxMi42IDQuNnM4LjktMi44IDExLjctNi41bDY0LTg4YzUuMi03LjEgMy42LTE3LjItMy41LTIyLjN6Il19LHdkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLXN0cm9rZS1yaWdodCIsaWNvbjpbNjQwLDUxMixbOTg5NywibWFycy1zdHJva2UtaCJdLCJmMjJiIiwiTTMyMC41IDI1NmExMTIgMTEyIDAgMSAwIC0yMjQgMCAxMTIgMTEyIDAgMSAwIDIyNCAwek0yMDguNSA4MGM4Ni4zIDAgMTU4LjEgNjIuMSAxNzMuMSAxNDQuMSAxLS4xIDEuOS0uMSAyLjktLjFsMTYgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiA2MS40IDAtMjIuNC0yOGMtMTEtMTMuOC04LjgtMzMuOSA1LTQ1czMzLjktOC44IDQ1IDVsNjQgODBjOS4zIDExLjcgOS4zIDI4LjMgMCA0MGwtNjQgODBjLTExIDEzLjgtMzEuMiAxNi00NSA1cy0xNi0zMS4yLTUtNDVsMjIuNC0yOC02MS40IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTE2IDBjLTEgMC0xLjkgMC0yLjktLjEtMTUgODItODYuOCAxNDQuMS0xNzMuMSAxNDQuMS05Ny4yIDAtMTc2LTc4LjgtMTc2LTE3NnM3OC44LTE3NiAxNzYtMTc2eiJdfSxwTnQ9d2RlLGZOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b3dlci1vYnNlcnZhdGlvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTU4NiIsIk0yMDkuNyAzLjRjOS00LjUgMTkuNi00LjUgMjguNiAwbDE2MCA4MGMxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45LTUuNiAxMS4yLTE2LjkgMTcuNy0yOC42IDE3LjdsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTMgMCAzMiAxOTIgNDUgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDUgMCAzMi0xOTItMTMgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC04MGMtMTEuNyAwLTIzLTYuNS0yOC42LTE3LjctNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOWwxNjAtODB6TTMxMC43IDQ0OGwtODYuNy02MS45LTg2LjcgNjEuOSAxNzMuNCAwem0tMTUzLTE5MmwtMy41IDIxLjIgNjkuOSA0OS45IDY5LjktNDkuOS0zLjUtMjEuMi0xMzIuNyAwem0tMTIuMyA3My45bC0xMC4xIDYwLjYgNDcuNS0zMy45LTM3LjQtMjYuN3ptMTE5LjkgMjYuN2w0Ny41IDMzLjktMTAuMS02MC42LTM3LjQgMjYuN3pNMTUyIDEyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LF9BPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0ZXJsaW5nLXNpZ24iLGljb246WzM4NCw1MTIsWzE2MywiZ2JwIiwicG91bmQtc2lnbiJdLCJmMTU0IiwiTTkxLjMgMjg4bC0zNC44IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjEuNCAwQzM3LjMgMTQ3LjMgMTA1LjEgNDIgMjA3LjYgNDJsOC4yIDBjMzMuNiAwIDY2LjIgMTEuMyA5Mi41IDMyLjJsMTYuMSAxMi43YzEzLjkgMTEgMTYuMiAzMS4xIDUuMiA0NXMtMzEuMSAxNi4yLTQ1IDUuMmwtMTYuMS0xMi43Yy0xNS0xMS45LTMzLjYtMTguNC01Mi44LTE4LjRsLTguMiAwYy01Ny4zIDAtOTQuNyA1OS45LTY5LjcgMTExLjQgMy42IDcuNCA2LjYgMTQuOSA5LjEgMjIuNmwxNDkuNSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDEuMiAwYzEgMzUuMy04LjcgNzAuNi0yOC45IDEwMC45bC0xOC4xIDI3LjEgMjEyLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjcyIDBjLTExLjggMC0yMi42LTYuNS0yOC4yLTE2LjlzLTUtMjMgMS42LTMyLjlsNTEuMi03Ni44YzEzLjEtMTkuNiAxOS4yLTQyLjYgMTguMi02NS40eiJdfSxoTnQ9X0EsbU50PV9BLGdOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYXVjZXQtZHJpcCIsaWNvbjpbNTEyLDUxMixbMTI4Njg4XSwiZTAwNiIsIk0yMjQgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyTDk2IDY0Qzc4LjMgNjQgNjQgNzguMyA2NCA5NnMxNC4zIDMyIDMyIDMybDk2IDAgMCA2NC0xOC43IDBjLTguNSAwLTE2LjYgMy40LTIyLjYgOS40TDEyOCAyMjQgMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwMC4xIDBjMjAuMiAyOSA1My45IDQ4IDkxLjkgNDhzNzEuNy0xOSA5MS45LTQ4bDM2LjEgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzIgMC04OC40LTcxLjYtMTYwLTE2MC0xNjBsLTMyIDAtMjIuNi0yMi42Yy02LTYtMTQuMS05LjQtMjIuNi05LjRsLTE4LjcgMCAwLTY0IDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDBjMC0xNy43LTE0LjMtMzItMzItMzJ6TTQzNi44IDQ1NS40bC0xOC4yIDQyLjRjLTEuOCA0LjEtMi43IDguNi0yLjcgMTMuMWwwIDEuMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMS4yYzAtNC41LS45LTguOS0yLjctMTMuMWwtMTguMi00Mi40Yy0xLjktNC41LTYuMy03LjQtMTEuMi03LjRzLTkuMiAyLjktMTEuMiA3LjR6Il19LF9iPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1pbmZvIixpY29uOls1MTIsNTEyLFsiaW5mby1jaXJjbGUiXSwiZjA1YSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjI0IDE2MGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tOCA2NGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgODggOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0IDAgMC02NC0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxiTnQ9X2Isdk50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZlYXRoZXIiLGljb246WzUxMiw1MTIsWzEyOTcxOF0sImY1MmQiLCJNMzUyIDBjNDEgMCA4MC4zIDE2LjMgMTA5LjIgNDUuMmw1LjUgNS41YzI5IDI5IDQ1LjMgNjguMyA0NS4zIDEwOS4yIDAgMjQuMS01LjcgNDcuNi0xNi4yIDY4LjgtMS45IDMuNy01LjMgNi41LTkuMyA3LjdMMzc0LjUgMjcwYy0zLjkgMS4yLTYuNSA0LjctNi41IDguOCAwIDUuMSA0LjEgOS4yIDkuMiA5LjJsMzIuMiAwYzE0LjMgMCAyMS40IDE3LjIgMTEuMyAyNy4zbC0yMi40IDIyLjRjLTEuOSAxLjktNC4yIDMuMi02LjcgNGwtODEgMjQuM2MtMy45IDEuMi02LjUgNC43LTYuNSA4LjggMCA1LjEgNC4xIDkuMiA5LjIgOS4yIDEzLjIgMCAxOC45IDE1LjcgNy44IDIyLjktNDEuMSAyNi42LTg5LjMgNDEuMS0xMzkgNDEuMWwtODYgMC00OCA0OGMtOC44IDguOC0yMy4yIDguOC0zMiAwcy04LjgtMjMuMiAwLTMyTDI1NiAyMjRjOC44LTguOCA4LjgtMjMuMiAwLTMycy0yMy4yLTguOC0zMiAwTDc5LjUgMzM2LjVjLTUuNyA1LjctMTUuNSAxLjctMTUuNS02LjQgMC02Ny45IDI3LTEzMyA3NS0xODFMMjQyLjggNDUuMkMyNzEuNyAxNi4zIDMxMSAwIDM1MiAweiJdfSx4TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm93bC1yaWNlIixpY29uOls1MTIsNTEyLFtdLCJlMmViIiwiTTE3NiA0MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMjQgNDhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNNTYgMTYwbDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTAgMjgzLjRDMCAyNjguMyAxMi4zIDI1NiAyNy40IDI1Nmw0NTcuMSAwYzE1LjEgMCAyNy40IDEyLjMgMjcuNCAyNy40IDAgNzAuNS00NC40IDEzMC43LTEwNi43IDE1NC4xTDQwMy41IDQ1MmMtMiAxNi0xNS42IDI4LTMxLjggMjhsLTIzMS41IDBjLTE2LjEgMC0yOS44LTEyLTMxLjgtMjhsLTEuOC0xNC40QzQ0LjQgNDE0LjEgMCAzNTMuOSAwIDI4My40ek0yMjQgMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tOTYgMGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMTA0IDg4bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTIxNiA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjk2IDg4bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTEyMCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMzkyIDg4bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTI5NiAxNmwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxNZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Rhci1oYWxmLXN0cm9rZSIsaWNvbjpbNTc2LDUxMixbInN0YXItaGFsZi1hbHQiXSwiZjVjMCIsIk0yODguMSAzNTMuNmMxMCAwIDE5LjkgMi4zIDI5IDdsNzQuNCAzNy45LTEzLTgyLjVjLTMuMi0yMC4yIDMuNS00MC43IDE3LjktNTUuMmw1OS01OS4xLTgyLjUtMTMuMWMtMjAuMi0zLjItMzcuNy0xNS45LTQ3LTM0LjFsLTM4LTc0LjQgMCAyNzMuNnpNNDU3LjQgNDg5Yy03LjMgNS4zLTE3IDYuMS0yNSAyTDI4OC4xIDQxNy42IDE0My44IDQ5MWMtOCA0LjEtMTcuNyAzLjMtMjUtMnMtMTEtMTQuMi05LjYtMjMuMkwxMzQuNCAzMDUuOSAyMCAxOTEuNGMtNi40LTYuNC04LjYtMTUuOC01LjgtMjQuNHMxMC4xLTE0LjkgMTkuMS0xNi4zbDE1OS45LTI1LjQgNzMuNi0xNDQuMmM0LjEtOCAxMi40LTEzLjEgMjEuNC0xMy4xczE3LjMgNS4xIDIxLjQgMTMuMUwzODMgMTI1LjMgNTQyLjkgMTUwLjdjOC45IDEuNCAxNi4zIDcuNyAxOS4xIDE2LjNzLjUgMTgtNS44IDI0LjRMNDQxLjcgMzA1LjkgNDY3IDQ2NS44YzEuNCA4LjktMi4zIDE3LjktOS42IDIzLjJ6Il19LHlOdD1NZGUsa2RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWFycm93LWRvd24iLGljb246WzUxMiw1MTIsWyJ0ZW1wZXJhdHVyZS1kb3duIl0sImUwM2YiLCJNNjQuNSA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTY0LjdjMjkuNSAyNi40IDQ4IDY0LjcgNDggMTA3LjMgMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRzLTE0NC02NC41LTE0NC0xNDRjMC00Mi42IDE4LjUtODEgNDgtMTA3LjNMNjQuNSA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTI4LjdjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyOC43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTQzOS4xIDMxMC42Yy02IDYtMTQuMSA5LjQtMjIuNiA5LjRzLTE2LjYtMy40LTIyLjYtOS40bC02NC02NGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGw5LjQgOS40IDAtMTc4LjdjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE3OC43IDkuNC05LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtNjQgNjR6Il19LHdOdD1rZGUsTU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hc2stdmVudGlsYXRvciIsaWNvbjpbNjQwLDUxMixbXSwiZTUyNCIsIk0xNTIuMiAxOTJjLTE1LjQgMzguMy0yNC4yIDc3LjItMjQuMiAxMDguOCAwIDEzLjMgMS41IDI2LjIgNC40IDM4LjdsLTE3LTMuNGMtMjkuOS02LTUxLjQtMzIuMi01MS40LTYyLjhsMC04MS4zIDg4LjIgMHptMzIuOS02NEw2NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgODEuM2MwIDYxIDQzLjEgMTEzLjUgMTAyLjkgMTI1LjVsNjYuMyAxMy4zYzE4LjcgMjIuMSA0Mi45IDQwIDcwLjggNTEuOGwwLTg3LjhjLTEwLjEtMTQuMi0xNi0zMS4zLTE2LTQ5LjcgMC00OS41IDQzLTEzNC40IDk2LTEzNC40IDUyLjUgMCA5NiA4NC45IDk2IDEzNC40IDAgMTguNC01LjkgMzUuNC0xNiA0OS42bDAgODcuN2MyNy42LTExLjggNTEuNy0yOS42IDcwLjQtNTEuNmw2Ni43LTEzLjNjNTkuOC0xMiAxMDIuOS02NC41IDEwMi45LTEyNS41bDAtODEuM2MwLTM1LjMtMjguNy02NC02NC02NGwtMTIxLjUgMGMtMzQuOC01NC4yLTgyLjUtOTYtMTM0LjUtOTYtNTIuNiAwLTEwMC4yIDQxLjgtMTM0LjkgOTZ6bTMwMi41IDY0bDg4LjQgMCAwIDgxLjNjMCAzMC41LTIxLjUgNTYuOC01MS40IDYyLjhsLTE3IDMuNGMyLjktMTIuNCA0LjUtMjUuNCA0LjUtMzguNyAwLTMxLjYtOC45LTcwLjUtMjQuNC0xMDguOHpNMjg4IDMyMGwwIDE5MiA2NCAwIDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyeiJdfSxrTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS12aWRlbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjOCIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNODAgMzA0bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTI0IDM1IDM1YzMuMiAzLjIgNy41IDUgMTIgNSA5LjQgMCAxNy03LjYgMTctMTdsMC05NC4xYzAtOS40LTcuNi0xNy0xNy0xNy00LjUgMC04LjggMS44LTEyIDVsLTM1IDM1IDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSxTTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdHJlbmQtZG93biIsaWNvbjpbNTc2LDUxMixbXSwiZTA5NyIsIk0zODQgMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgODIuNy0xNjkuNC0xNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBMMTkyIDI0Mi43IDU0LjYgMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBMMzIwIDIwNS4zIDQ2Ni43IDM1MiAzODQgMzUyeiJdfSx6TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2lsLWNhbiIsaWNvbjpbNjQwLDUxMixbXSwiZjYxMyIsIk0zMjAgMTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzItMTc2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjQuOGMwIDE5IDExLjIgMzYuMiAyOC41IDQzLjlsNjcuNSAzMCAwIDIxLjNjMCAyNi41IDIxLjUgNDggNDggNDhsMjU5LjEgMGMxOC40IDAgMzUuOC03LjkgNDgtMjEuN0w2MzMuNSAxODcuN2MxMi4zLTEzLjktLjMtMzUuNC0xOC40LTMxLjVMNDQ4IDE5MiAzOTcuNSAxNjYuOGMtOC45LTQuNC0xOC43LTYuOC0yOC42LTYuOGwtODAuOSAwIDAtMzIgMzIgMHpNOTYgMjA4bDAgODYuMS00OC0yMS4zIDAtNjQuOCA0OCAweiJdfSxTZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLWNhcnJ5LWJveCIsaWNvbjpbNTc2LDUxMixbInBlb3BsZS1jYXJyeSJdLCJmNGNlIiwiTTY0LTMyQTU2IDU2IDAgMSAxIDY0IDgwIDU2IDU2IDAgMSAxIDY0LTMyek0wIDE3MS4xYzAtMzIuNiAyNi41LTU5LjEgNTkuMS01OS4xIDIzLjUgMCA0NS41IDExLjMgNTkuMSAzMC40bDQ4LjcgNjguMmM1LjggOC4yIDE1LjEgMTMuMSAyNS4xIDEzLjRsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzEwLS4zIDE5LjMtNS4yIDI1LjEtMTMuNGw0OC43LTY4LjJjMTMuNi0xOS4xIDM1LjYtMzAuNCA1OS4xLTMwLjQgMzIuNiAwIDU5LjEgMjYuNSA1OS4xIDU5LjFMNTc2IDI3MmMwIDMwLjItMTQuMiA1OC43LTM4LjQgNzYuOGwtNzYuOCA1Ny42Yy04LjEgNi0xMi44IDE1LjUtMTIuOCAyNS42bDAgODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04MGMwLTMwLjIgMTQuMi01OC43IDM4LjQtNzYuOGw0MS42LTMxLjIgMC04MC4xLTIuOCAzLjljLTE4IDI1LjItNDcuMSA0MC4yLTc4LjEgNDAuMkwzNTIgMjg4Yy0uNiAwLTEuMyAwLTEuOS0uMS0uNiAwLTEuMyAuMS0xLjkgLjFsLTEyMC40IDBjLS42IDAtMS4zIDAtMS45LS4xLS42IDAtMS4zIC4xLTEuOSAuMWwtMzEuMSAwYy0zMSAwLTYwLjEtMTUtNzguMS00MC4ybC0yLjgtMy45IDAgODAuMSA0MS42IDMxLjJDMTc3LjggMzczLjMgMTkyIDQwMS44IDE5MiA0MzJsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgwYzAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZMMzguNCAzNDguOEMxNC4yIDMzMC43IDAgMzAyLjIgMCAyNzJMMCAxNzEuMXpNMCAzNzkuM2MzLjEgMi43IDYuMyA1LjQgOS42IDcuOUw2NCA0MjggNjQgNTEyYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNTI5LjcgMCA1MTJMMCAzNzkuM3pNNTY4IDI0YTU2IDU2IDAgMSAxIC0xMTIgMCA1NiA1NiAwIDEgMSAxMTIgMHptOCA0ODhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04NCA1NC40LTQwLjhjMy4zLTIuNSA2LjUtNS4xIDkuNi03LjlMNTc2IDUxMnoiXX0sQ050PVNkZSxUTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhaXIiLGljb246WzQ0OCw1MTIsWzEyOTY4MV0sImY2YzAiLCJNMTUyIDI1NmwwLTE4MS44Yy0yNC41IDIwLjUtNDAgNTEuNC00MCA4NS44bDAgOTYgNDAgMHptNDggMGw0OCAwIDAtMjA1LjRjLTcuNy0xLjctMTUuOC0yLjYtMjQtMi42cy0xNi4zIC45LTI0IDIuNkwyMDAgMjU2ek0yOTYgNzQuMmwwIDE4MS44IDQwIDAgMC05NmMwLTM0LjQtMTUuNS02NS4yLTQwLTg1Ljh6TTMyIDI1NmwzMiAwIDAtOTZDNjQgNzEuNiAxMzUuNiAwIDIyNCAwUzM4NCA3MS42IDM4NCAxNjBsMCA5NiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2LTI1NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sX050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmQiLGljb246WzUxMiw1MTIsW10sImY3MmUiLCJNMjg4IDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDQwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMzIgMTEyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyOCAwYzQ4LjYgMCA4OC0zOS40IDg4LTg4UzQwOC42IDAgMzYwIDBMMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem02NCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NkwzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xMjggNTEybDQwIDBjNDguNiAwIDg4LTM5LjQgODgtODhzLTM5LjQtODgtODgtODhMMzIgMzM2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyeiJdfSxMTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGF5ZXItZ3JvdXAiLGljb246WzUxMiw1MTIsW10sImY1ZmQiLCJNMjMyLjUgNS4yYzE0LjktNi45IDMyLjEtNi45IDQ3IDBsMjE4LjYgMTAxYzguNSAzLjkgMTMuOSAxMi40IDEzLjkgMjEuOHMtNS40IDE3LjktMTMuOSAyMS44bC0yMTguNiAxMDFjLTE0LjkgNi45LTMyLjEgNi45LTQ3IDBMMTMuOSAxNDkuOEM1LjQgMTQ1LjggMCAxMzcuMyAwIDEyOHM1LjQtMTcuOSAxMy45LTIxLjhMMjMyLjUgNS4yek00OC4xIDIxOC40bDE2NC4zIDc1LjljMjcuNyAxMi44IDU5LjYgMTIuOCA4Ny4zIDBsMTY0LjMtNzUuOSAzNC4xIDE1LjhjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEwxMy45IDI3Ny44QzUuNCAyNzMuOCAwIDI2NS4zIDAgMjU2czUuNC0xNy45IDEzLjktMjEuOGwzNC4xLTE1Ljh6TTEzLjkgMzYyLjJsMzQuMS0xNS44IDE2NC4zIDc1LjljMjcuNyAxMi44IDU5LjYgMTIuOCA4Ny4zIDBsMTY0LjMtNzUuOSAzNC4xIDE1LjhjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEwxMy45IDQwNS44QzUuNCA0MDEuOCAwIDM5My4zIDAgMzg0czUuNC0xNy45IDEzLjktMjEuOHoiXX0sJE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWQtc2lkZS1tYXNrIixpY29uOls1MTIsNTEyLFtdLCJlMDYzIiwiTTQ0NS45IDE5M2MtLjEtLjQtLjItLjktLjItMS4zLTE1LjctMTA4LjQtMTA4LjktMTkxLjctMjIxLjctMTkxLjctODUgMC0xNTkgNDcuNC0xOTYuOSAxMTcuMkwyODMuMyAyODggNDU2IDI4OCA0NDIuOSAzMzYgMzM2IDMzNmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw5OC4yIDAtOC43IDMyLTg5LjUgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw4MC42IDBjLTYuNyAxOS4xLTI0LjggMzItNDUuMyAzMkwyODggNDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEwNC41LTI0Ny41LTE2NUMzIDE4Mi4xIDAgMjAyLjcgMCAyMjQgMCAyNzggMTkuMSAzMjcuNSA1MC45IDM2Ni4yIDU4LjkgMzc1LjkgNjQgMzg3LjggNjQgNDAwLjRMNjQgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEyNy4zIDAgLjcgMCAxMzEuMyAwYzQ0LjkgMCA4My44LTMxLjEgOTMuNi03NC45bDMzLjktMTUwLjNjMy4zLTE0LjQtLjMtMjkuNS05LjctNDFMNDQ1LjkgMTkzek0yODggMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LExBPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzIixpY29uOls1MTIsNTEyLFsic2lnbi1sYW5ndWFnZSIsInNpZ25pbmciXSwiZjJhNyIsIk01MTIgMTYwbC0uMSA3Mi42YzAgNDQuOC0xNy42IDg3LjEtNDcuOSAxMTguNC0uMy03Ny00MC4xLTE0OC40LTEwNS40LTE4OS4zbC0xLjktMS4yYzIuNS0zLjcgMi44LTguNiAuNC0xMi43bC02Mi0xMDcuNGMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhTMzMwIDUgMzM2LjYgMTYuNWw2OCAxMTcuOCAwIDAgMCAwIDQzLjMgNzUgLjEtNDkuM2MwLTE3LjcgMTQuNC0zMiAzMi0zMnMzMiAxNC40IDMyIDMyek0yOTguNCAxMjQuMmMtMTQuMS04LjgtMjkuOC0xMi43LTQ1LjItMTIuMUwyMTYuNyA0OC44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOGw2Ny4xIDExNi4yLTI3LTE2Ljl6TTIxMS45IDg4LjVsMTYuNCAyOC40Yy0xNS4xIDUuNS0yOC42IDE1LjYtMzguMyAyOS43bC0xOS43LTM0LjJjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44em0tNDYuNCA2My43bDEyLjUgMjEuN2MtMiA4LjYtMi41IDE3LjUtMS43IDI2LjFsLTQuMyAwIDAgMC0zNC40IDAtMTMuNy0yMy44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOHpNMjI4LjkgMTc1YzkuNC0xNSAyOS4xLTE5LjUgNDQuMS0xMC4ybDYwLjIgMzcuNkMzODQuNyAyMzQuNyA0MTYgMjkxLjIgNDE2IDM1MmwwIDhjMCA4My45LTY4LjEgMTUyLTE1MiAxNTJMODggNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDkyIDBjNi42IDAgMTItNS40IDEyLTEycy01LjQtMTItMTItMTJMNTYgNDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEyNCAwYzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEyTDI0IDM2OGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNTYgMGM2LjYgMCAxMi01LjQgMTItMTJzLTUuNC0xMi0xMi0xMkw1NiAyOTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTM2IDAgMCAwIDAgMCA5My4yIDAtNDYuMi0yOC45Yy0xNS05LjQtMTkuNS0yOS4xLTEwLjItNDQuMXoiXX0sRE50PUxBLEFOdD1MQSxFTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGV0cyIsaWNvbjpbNTEyLDUxMixbXSwiZjQ5MCIsIk00OTUuMyA3Ni42Yy00LjYtOC43LTE2LjMtOS43LTIzLjMtMi43TDI5Ny45IDI0OGMtNyA3LTYgMTguNyAyLjcgMjMuMyAyMC4xIDEwLjcgNDMgMTYuNyA2Ny40IDE2LjcgNzkuNSAwIDE0NC02NC41IDE0NC0xNDQgMC0yNC4zLTYtNDcuMy0xNi43LTY3LjR6TTI0MC43IDIxMS40YzQuNiA4LjcgMTYuMyA5LjcgMjMuMyAyLjdMNDM4LjEgNDBjNy03IDYtMTguNy0yLjctMjMuMy0yMC4xLTEwLjctNDMtMTYuNy02Ny40LTE2LjctNzkuNSAwLTE0NCA2NC41LTE0NCAxNDQgMCAyNC4zIDYgNDcuMyAxNi43IDY3LjR6TTE0NCAyMjRDNzkuMiAyMjQgMjQuNCAyNjYuOCA2LjMgMzI1LjYgMy40IDMzNS4xIDExIDM0NCAyMC45IDM0NGwyNDYuMiAwYzkuOSAwIDE3LjUtOC45IDE0LjYtMTguNC0uOS0zLTEuOS01LjktMy04LjctMzcuNC0xOC4xLTY4LTQ4LTg3LTg0LjgtMTQuOS01LjItMzAuOS04LjEtNDcuNi04LjF6TTI4MS43IDQxMC40YzIuOS05LjUtNC43LTE4LjQtMTQuNi0xOC40TDIwLjkgMzkyQzExIDM5MiAzLjQgNDAwLjkgNi4zIDQxMC40IDI0LjQgNDY5LjIgNzkuMiA1MTIgMTQ0IDUxMnMxMTkuNi00Mi44IDEzNy43LTEwMS42eiJdfSxJTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2VpZ2h0LWhhbmdpbmciLGljb246WzUxMiw1MTIsW10sImY1Y2QiLCJNMjI0IDk2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTEyMi41IDMyYzMuNS0xMCA1LjUtMjAuOCA1LjUtMzIgMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAxMS4yIDEuOSAyMiA1LjUgMzJsLTIxLjggMGMtMjguMyAwLTUzLjIgMTguNS02MS4zIDQ1LjZMMi40IDQ0MC4yQy44IDQ0NS40IDAgNDUwLjggMCA0NTYuMiAwIDQ4NyAyNSA1MTIgNTUuOCA1MTJsNDAwLjQgMGMzMC44IDAgNTUuOC0yNSA1NS44LTU1LjggMC01LjQtLjgtMTAuOC0yLjQtMTZsLTgwLTI2Ni41Yy04LjEtMjcuMS0zMy00NS42LTYxLjMtNDUuNmwtMjEuOCAweiJdfSxQTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZSIsaWNvbjpbNTEyLDUxMixbMTI3OTIyXSwiZjUyMiIsIk0xNDEuNCAyLjNDMTAzLTggNjMuNSAxNC44IDUzLjMgNTMuMkwyLjUgMjQyLjdDLTcuOCAyODEuMSAxNSAzMjAuNiA1My40IDMzMC45bDE4OS41IDUwLjhjMzguNCAxMC4zIDc3LjktMTIuNSA4OC4yLTUwLjlsNTAuOC0xODkuNWMxMC4zLTM4LjQtMTIuNS03Ny45LTUwLjktODguMkwxNDEuNCAyLjN6bTIzIDIwNS43YTMyIDMyIDAgMSAxIDU1LjQtMzIgMzIgMzIgMCAxIDEgLTU1LjQgMzJ6TTc5LjIgMjIwLjNhMzIgMzIgMCAxIDEgMzIgNTUuNCAzMiAzMiAwIDEgMSAtMzItNTUuNHptMTg1IDk2LjRhMzIgMzIgMCAxIDEgLTMyLTU1LjQgMzIgMzIgMCAxIDEgMzIgNTUuNHptOS0yMDguNGEzMiAzMiAwIDEgMSAzMiA1NS40IDMyIDMyIDAgMSAxIC0zMi01NS40em0tMTIxIDE0LjRhMzIgMzIgMCAxIDEgLTMyLTU1LjQgMzIgMzIgMCAxIDEgMzIgNTUuNHpNNDE4IDE5MkwzNzcuNCAzNDMuMmMtMTcuMiA2NC04MyAxMDItMTQ3IDg0LjlsLTM4LjMtMTAuMyAwIDMwLjJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNDE4IDE5MnoiXX0semRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNob3Atc2xhc2giLGljb246WzU3Niw1MTIsWyJzdG9yZS1hbHQtc2xhc2giXSwiZTA3MCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01Ny01NyAwLTE5MC4zYzI2LjgtMS45IDQ4LTI0LjMgNDgtNTEuNiAwLTgtMS45LTE2LTUuNS0yMy4yTDQ5Ny43IDY3LjRDNDg2LjggNDUuNyA0NjQuNyAzMiA0NDAuNCAzMkwxMzUuNiAzMmMtMTAuNyAwLTIxIDIuNy0zMC4yIDcuNkw0MS0yNC45ek0zMjEuOCAyNTZMNDQ4IDI1NiA0NDggMzgyLjIgMzIxLjggMjU2ek0zNTIgNDIxLjhsLTY0LTY0IDAgMTAuMmMwIDguOC03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xMTIgNTguMiAwLTEzNC44LTEzNC44LTI5LjkgNTkuOWMtMy42IDcuMi01LjUgMTUuMS01LjUgMjMuMiAwIDI3LjMgMjEuMiA0OS43IDQ4IDUxLjZMNjQgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE5MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTAuMnoiXX0sTk50PXpkZSxDZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29ydC1kb3duIixpY29uOlszODQsNTEyLFsic29ydC1kZXNjIl0sImYwZGQiLCJNMzIgMjg4Yy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44Uy4yIDMzMy41IDkuNCAzNDIuNmwxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzY0LjkgMjg4IDM1MiAyODhMMzIgMjg4eiJdfSxGTnQ9Q2RlLE9OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXNldGEtc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTIyMSIsIk0xMTIgMzJDOTQuMyAzMiA4MCA0Ni4zIDgwIDY0bDAgMTA0LTI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjQgMCAwIDIzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgOTYgMGM4MC4yIDAgMTQ2LjYtNTkgMTU4LjItMTM2bDI1LjggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjUuOCAwQzM4Ni42IDkxIDMyMC4yIDMyIDI0MCAzMkwxMTIgMzJ6TTMzMyAxNjhsLTE4OSAwIDAtNzIgOTYgMGM0NC43IDAgODIuMyAzMC42IDkzIDcyek0xNDQgMjE2bDE4OSAwYy0xMC43IDQxLjQtNDguMiA3Mi05MyA3MmwtOTYgMCAwLTcyeiJdfSxUZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGV0LXNjcmVlbi1idXR0b24iLGljb246WzQ0OCw1MTIsWyJ0YWJsZXQtYWx0Il0sImYzZmEiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0yNTYgNDMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM4NCA2NGwtMzIwIDAgMCAyODggMzIwIDAgMC0yODh6Il19LFJOdD1UZGUsX2RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtaG9sZGluZy1kb2xsYXIiLGljb246WzU3Niw1MTIsWyJoYW5kLWhvbGRpbmctdXNkIl0sImY0YzAiLCJNMjg4LTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEyLTEuOCAwYy0zNi42IDAtNjYuMiAyOS43LTY2LjIgNjYuMiAwIDMzLjQgMjQuOSA2MS42IDU4IDY1LjdsNjEgNy42YzUuMSAuNiA5IDUgOSAxMC4yIDAgNS43LTQuNiAxMC4yLTEwLjIgMTAuMkwyNDAgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOHMxMi41IDI4IDI4IDI4bDI0IDAgMCAxMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTIgMS44IDBjMzYuNiAwIDY2LjItMjkuNyA2Ni4yLTY2LjIgMC0zMy40LTI0LjktNjEuNi01OC02NS43bC02MS03LjZjLTUuMS0uNi05LTUtOS0xMC4yIDAtNS43IDQuNi0xMC4yIDEwLjItMTAuMkwzMjggNzZjMTUuNSAwIDI4LTEyLjUgMjgtMjhzLTEyLjUtMjgtMjgtMjhsLTE2IDAgMC0xMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMTA5LjMgMzQxLjVMNjYuNyAzODQgMzIgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMC41IDBjMjkgMCA1Ny4zLTkuMyA4MC43LTI2LjVsMTI2LjYtOTMuM2MxNy44LTEzLjEgMjEuNi0zOC4xIDguNS01NS45cy0zOC4xLTIxLjYtNTUuOS04LjVMMzkyLjYgNDE2IDI4MCA0MTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUyLjIgMGMtMzMuOSAwLTY2LjUgMTMuNS05MC41IDM3LjV6Il19LEJOdD1fZGUsTGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZCIsaWNvbjpbNTEyLDUxMixbMTI4NzM3LCJzaGllbGQtYmxhbmsiXSwiZjEzMiIsIk0yNTYgMGM0LjYgMCA5LjIgMSAxMy40IDIuOUw0NTcuOCA4Mi44YzIyIDkuMyAzOC40IDMxIDM4LjMgNTcuMi0uNSA5OS4yLTQxLjMgMjgwLjctMjEzLjYgMzYzLjItMTYuNyA4LTM2LjEgOC01Mi44IDAtMTcyLjQtODIuNS0yMTMuMS0yNjQtMjEzLjYtMzYzLjItLjEtMjYuMiAxNi4zLTQ3LjkgMzguMy01Ny4yTDI0Mi43IDIuOUMyNDYuOSAxIDI1MS40IDAgMjU2IDB6Il19LEhOdD1MZGUsJGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbGF1Z2giLGljb246WzUxMiw1MTIsWyJsYXVnaCJdLCJmNTk5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMDEuNiAzMTRjLTMuNy0xMy43IDcuNS0yNiAyMS43LTI2bDI2NS40IDBjMTQuMiAwIDI1LjQgMTIuMyAyMS43IDI2LTE4LjUgNjgtODAuNiAxMTgtMTU0LjQgMTE4UzEyMCAzODIgMTAxLjYgMzE0ek0xNDQgMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHFOdD0kZGUsak50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWhvbGRpbmciLGljb246WzY0MCw1MTIsW10sImY0YzIiLCJNODAgMTA0YzAtMjIuMS0xNy45LTQwLTQwLTQwUzAgODEuOSAwIDEwNEwwIDMyNS41YzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45TDEyOCA0OTMuM2MxMiAxMiAyOC4zIDE4LjcgNDUuMyAxOC43bDY2LjcgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTc4LjljMC0yOS43LTExLjgtNTguMi0zMi44LTc5LjJsLTI1LjMtMjUuMyAwIDBjLTcuMy03LjMtMjMuMS0yMy4xLTQ3LjItNDcuMi0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2MyNC4xIDI0LjEgMzkuOSAzOS45IDQ3LjIgNDcuMiAxMSAxMSA5LjIgMjkuMi0zLjcgMzcuOC05LjcgNi41LTIyLjcgNS4yLTMxLTMuMUw5OC43IDMwOS41Yy0xMi0xMi0xOC43LTI4LjMtMTguNy00NS4zTDgwIDEwNHptNDgwIDBsMCAxNjAuMmMwIDE3LTYuNyAzMy4zLTE4LjcgNDUuM2wtNTEuMSA1MS4xYy04LjMgOC4zLTIxLjMgOS42LTMxIDMuMS0xMi45LTguNi0xNC43LTI2LjktMy43LTM3LjggNy4zLTcuMyAyMy4xLTIzLjEgNDcuMi00Ny4yIDEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwYy0yNC4xIDI0LjEtMzkuOSAzOS45LTQ3LjIgNDcuMmwwIDAtMjUuMyAyNS4zYy0yMSAyMS0zMi44IDQ5LjUtMzIuOCA3OS4ybDAgNzguOWMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2Ni43IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdsOTkuOS05OS45YzE4LTE4IDI4LjEtNDIuNCAyOC4xLTY3LjlMNjQwIDEwNGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MHoiXX0sRGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcnQtc2hvcHBpbmciLGljb246WzY0MCw1MTIsWzEyODcyMiwic2hvcHBpbmctY2FydCJdLCJmMDdhIiwiTTI0LTE2QzEwLjctMTYgMC01LjMgMCA4UzEwLjcgMzIgMjQgMzJsNDUuMyAwYzMuOSAwIDcuMiAyLjggNy45IDYuNmw1Mi4xIDI4Ni4zYzYuMiAzNC4yIDM2IDU5LjEgNzAuOCA1OS4xTDQ1NiAzODRjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI1NS45IDBjLTExLjYgMC0yMS41LTguMy0yMy42LTE5LjdsLTUuMS0yOC4zIDMwMy42IDBjMzAuOCAwIDU3LjItMjEuOSA2Mi45LTUyLjJMNTY4LjkgNjkuOUM1NzIuNiA1MC4yIDU1Ny41IDMyIDUzNy40IDMybC00MTIuNyAwLS40LTJjLTQuOC0yNi42LTI4LTQ2LTU1LjEtNDZMMjQtMTZ6TTIwOCA1MTJhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0yMjQgMGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LFZOdD1EZGUsVU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im9jdGFnb24iLGljb246WzUxMiw1MTIsWzEyODcyMV0sImYzMDYiLCJNMTg4LjYgLjFjLTE3IDAtMzMuMyA2LjctNDUuMyAxOC43TDE5LjIgMTQzQzcuMiAxNTUgLjUgMTcxLjIgLjUgMTg4LjJsMCAxMzUuNmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM0wxNDMuNCA0OTMuMmMxMiAxMiAyOC4zIDE4LjcgNDUuMyAxOC43bDEzNS42IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMNDkzLjYgMzY5YzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNsMC0xMzUuNmMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzNjkuNSAxOC44Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43TDE4OC42IC4xeiJdfSxXTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wb2ludGVyIixpY29uOls0NDgsNTEyLFtdLCJmMjVhIiwiTTEyOCA0MGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMTQ4LjJjOC41LTcuNiAxOS43LTEyLjIgMzItMTIuMiAyMC42IDAgMzguMiAxMyA0NSAzMS4yIDguOC05LjMgMjEuMi0xNS4yIDM1LTE1LjIgMjUuMyAwIDQ2IDE5LjUgNDcuOSA0NC4zIDguNS03LjcgMTkuOC0xMi4zIDMyLjEtMTIuMyAyNi41IDAgNDggMjEuNSA0OCA0OGwwIDExMmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtODUuMyAwYy01IDAtOS45LS4zLTE0LjctMS01NS4zLTUuNi0xMDYuMi0zNC0xNDAtNzlMOCAzMzZjLTEzLjMtMTcuNy05LjctNDIuNyA4LTU2czQyLjctOS43IDU2IDhsNTYgNzQuNyAwLTMyMi43ek0yNDAgMzA0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2em00OC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNnptODAgMTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6Il19LEdOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWdpc3RlcmVkIixpY29uOls1MTIsNTEyLFsxNzRdLCJmMjVkIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMDAgMTQ0bDgwIDBjMzkuOCAwIDcyIDMyLjIgNzIgNzIgMCAyOC45LTE3IDUzLjgtNDEuNiA2NS4zbDMwLjIgNTAuM2M2LjggMTEuNCAzLjEgMjYuMS04LjIgMzIuOXMtMjYuMSAzLjEtMzIuOS04LjJsLTQxLTY4LjMtMzQuNCAwIDAgNTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNzZjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTcyIDk2bDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTYgMCAwIDQ4IDQ4IDB6Il19LFlOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1zaWduYWwiLGljb246WzU3Niw1MTIsW10sImUwMTIiLCJNNTE1LjkgMjQwbC0xOS45IDAgMCAxNDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTEzNyAwYy0yNC05MS43LTkzLjUtMTY1LTE4My0xOTQuM2wwLTEzLjctMTkuOSAwYy0xNS41IDAtMjguMS0xMi42LTI4LjEtMjguMSAwLTcuNiAzLjEtMTQuOSA4LjYtMjAuMkwyNzYuNS00LjlDMjgzLjktMTIgMjkzLjctMTYgMzA0LTE2czIwLjEgNCAyNy41IDExLjFMNTM1LjQgMTkxLjdjNS41IDUuMyA4LjYgMTIuNiA4LjYgMjAuMiAwIDE1LjUtMTIuNiAyOC4xLTI4LjEgMjguMXpNMjgwIDE5MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQ4IDB6TTI0IDI4OGMxMjguMSAwIDIzMiAxMDMuOSAyMzIgMjMyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTAxLjYtODIuNC0xODQtMTg0LTE4NC0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em04IDE5MmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTAgNDA4YzAtMTMuMyAxMC43LTI0IDI0LTI0IDc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDguNi0zOS40LTg4LTg4LTg4LTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxaTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFuZ2xhZGVzaGktdGFrYS1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMmU2IiwiTTM2IDMyLjNDMTguNCAzMC4xIDIuNCA0Mi41IC4zIDYwUzEwLjUgOTMuNiAyOCA5NS44bDcuOSAxYzE2IDIgMjggMTUuNiAyOCAzMS44bDAgMzEuNS00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDAgMCAxNzZjMCA1MyA0MyA5NiA5NiA5NmwzMiAwYzEwNiAwIDE5Mi04NiAxOTItMTkybDAtMzJjMC01My00My05Ni05Ni05NmwtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTc2IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC0zMS41QzEyOCA4MC4xIDkyIDM5LjIgNDMuOSAzMy4ybC03LjktMXoiXX0seVFyPXtmYTA6b3B0LGZhMTpscHQsZmEyOmNwdCxmYTM6ZHB0LGZhNDp1cHQsZmE1OnBwdCxmYTY6ZnB0LGZhNzpocHQsZmE4Om1wdCxmYTk6Z3B0LGZhRG9sbGFyU2lnbjpFRCxmYURvbGxhcjpicHQsZmFVc2Q6dnB0LGZhRG9nOnhwdCxmYVRydWNrTW92aW5nOnlwdCxmYVJvdGF0ZTpNb2UsZmFTeW5jQWx0OndwdCxmYVNxdWFyZU1pbnVzOmtvZSxmYU1pbnVzU3F1YXJlOk1wdCxmYUFsaWduSnVzdGlmeTprcHQsZmFDYWxlbmRhckNoZWNrOlNwdCxmYUZhY2VLaXNzOlNvZSxmYUtpc3M6enB0LGZhS2l0Y2hlblNldDpDcHQsZmFEbmE6VHB0LGZhQ2hpbGRSZWFjaGluZzpfcHQsZmFQYXN0ZTpmYixmYUZpbGVDbGlwYm9hcmQ6THB0LGZhTWV0ZW9yOiRwdCxmYUdlYXJzOnpvZSxmYUNvZ3M6RHB0LGZhRmlsZUNpcmNsZVBsdXM6QXB0LGZhSWNpY2xlczpFcHQsZmFBcnJvd1RyZW5kVXA6SXB0LGZhSGV4YWdvbk5vZGVzQm9sdDpQcHQsZmFRdWVzdGlvbjpOcHQsZmFIYW5kc0JvdW5kOkZwdCxmYVBlcnNvbldhbGtpbmdMdWdnYWdlOk9wdCxmYUZpbGVBcnJvd0Rvd246Q29lLGZhRmlsZURvd25sb2FkOlJwdCxmYVBlcnNvbkJvb3RoOkJwdCxmYUxvY3VzdDpIcHQsZmFSaWdodExvbmc6VG9lLGZhTG9uZ0Fycm93QWx0UmlnaHQ6cXB0LGZhVHJ1Y2tEcm9wbGV0OmpwdCxmYUhhbmRIb2xkaW5nTWVkaWNhbDpWcHQsZmFIYW5kUG9pbnRMZWZ0OlVwdCxmYUNhbGN1bGF0b3I6V3B0LGZhTWludXM6aGIsZmFTdWJ0cmFjdDpHcHQsZmFBcnJvd1VwWkE6X29lLGZhU29ydEFscGhhVXBBbHQ6WXB0LGZhTWljcm9waG9uZVNsYXNoOlpwdCxmYVNxdWFyZVBlbjpJRCxmYVBlblNxdWFyZTpYcHQsZmFQZW5jaWxTcXVhcmU6UXB0LGZhSGFuZEZpc3Q6TG9lLGZhRmlzdFJhaXNlZDpKcHQsZmFDb21tZW50U21zOiRvZSxmYVNtczpLcHQsZmFTaW1DYXJkOmU4dCxmYVNjYWxlQmFsYW5jZWQ6RG9lLGZhQmFsYW5jZVNjYWxlOnQ4dCxmYUNhcjpBb2UsZmFBdXRvbW9iaWxlOnI4dCxmYUNyb3BTaW1wbGU6RW9lLGZhQ3JvcEFsdDphOHQsZmFNZWRhbDppOHQsZmFTY3JvbGw6bjh0LGZhRmlsZUV4Y2VsOnM4dCxmYUZpbHRlcjpvOHQsZmFEcnVtOmw4dCxmYU1hcFBpbjpjOHQsZmFTY2FsZVVuYmFsYW5jZWRGbGlwOklvZSxmYUJhbGFuY2VTY2FsZVJpZ2h0OmQ4dCxmYUFycm93c1RvQ2lyY2xlOnU4dCxmYUVudmVsb3BlOnA4dCxmYUJhYnk6Zjh0LGZhU3F1YXJlQ2FyZXREb3duOlBvZSxmYUNhcmV0U3F1YXJlRG93bjpoOHQsZmFUZW50Om04dCxmYUE6Zzh0LGZhUGFyYWNodXRlQm94OmI4dCxmYUNhcnRBcnJvd0Rvd246djh0LGZhQnJpZGdlQ2lyY2xlRXhjbGFtYXRpb246eDh0LGZhQ2xvdWRBcnJvd1VwOlBELGZhQ2xvdWRVcGxvYWQ6eTh0LGZhQ2xvdWRVcGxvYWRBbHQ6dzh0LGZhQXQ6TTh0LGZhSW5kaWFuUnVwZWVTaWduOk5ELGZhSW5kaWFuUnVwZWU6azh0LGZhSW5yOlM4dCxmYVRydWNrOno4dCxmYUNoYWxrYm9hcmRVc2VyOk5vZSxmYUNoYWxrYm9hcmRUZWFjaGVyOkM4dCxmYVVzZXJDaGVjazpUOHQsZmFVc2VyTmluamE6Xzh0LGZhUGxhbnRXaWx0Okw4dCxmYVdlaWdodFNjYWxlOkZvZSxmYVdlaWdodDokOHQsZmFDYXJldFJpZ2h0OiRBLGZhRmxvcmluU2lnbjpEOHQsZmFCZWxsOkRBLGZhTGFyaVNpZ246QTh0LGZhTWlsbFNpZ246RTh0LGZhUGVyc29uU25vd2JvYXJkaW5nOk9vZSxmYVNub3dib2FyZGluZzpJOHQsZmFUdHk6Um9lLGZhVGVsZXR5cGU6UDh0LGZhVXNlcnNSZWN0YW5nbGU6Tjh0LGZhTW9iaWxlOkZELGZhTW9iaWxlQW5kcm9pZDpGOHQsZmFNb2JpbGVQaG9uZTpPOHQsZmFBcnJvd3NUdXJuVG9Eb3RzOlI4dCxmYUV4Y2xhbWF0aW9uOkI4dCxmYUNodXJjaDpIOHQsZmFUb2dnbGVPZmY6cTh0LGZhU2hvZVByaW50czpqOHQsZmFGaWxlQ2lyY2xlRXhjbGFtYXRpb246Vjh0LGZhV2FsbGV0OkFBLGZhTWVzc2FnZTptYixmYUNvbW1lbnRBbHQ6VTh0LGZhVHJvcGh5Olc4dCxmYUZhY2VEaXp6eTpCb2UsZmFEaXp6eTpHOHQsZmFCYWN0ZXJpYTpZOHQsZmFFYXJEZWFmOlFnLGZhRGVhZjpaOHQsZmFEZWFmbmVzczpYOHQsZmFIYXJkT2ZIZWFyaW5nOlE4dCxmYVBlb3BsZUFycm93czpIb2UsZmFQZW9wbGVBcnJvd3NMZWZ0UmlnaHQ6Sjh0LGZhSGFuZHNDbGFwcGluZzpLOHQsZmFWaXJ1c0NvdmlkU2xhc2g6ZWZ0LGZhQ2FsZW5kYXJEYXlzOnFvZSxmYUNhbGVuZGFyQWx0OnRmdCxmYURpYW1vbmRUdXJuUmlnaHQ6am9lLGZhRGlyZWN0aW9uczpyZnQsZmFIYW5kUG9pbnRVcDphZnQsZmFCZXppZXJDdXJ2ZTppZnQsZmFQZXJzb25IYWxmRHJlc3M6bmZ0LGZhU3F1YXJlUG9sbEhvcml6b250YWw6Vm9lLGZhUG9sbEg6c2Z0LGZhU2Nob29sQ2lyY2xlWG1hcms6b2Z0LGZhSGFuZExpemFyZDpsZnQsZmFDaGFsa2JvYXJkOlVvZSxmYUJsYWNrYm9hcmQ6Y2Z0LGZhVXBSaWdodEZyb21TcXVhcmU6V29lLGZhRXh0ZXJuYWxMaW5rQWx0OmRmdCxmYVNxdWFyZUZ1bGw6dWZ0LGZhQ2xvdmVyOnBmdCxmYVRlZXRoT3BlbjpmZnQsZmFCYXJzU3RhZ2dlcmVkOk9ELGZhUmVvcmRlcjpoZnQsZmFTdHJlYW06bWZ0LGZhV2FyZWhvdXNlOmdmdCxmYVN3YXRjaGJvb2s6YmZ0LGZhQ2FtcGdyb3VuZDp2ZnQsZmFQZXJzb25XYWxraW5nQXJyb3dSaWdodDp4ZnQsZmFHbGFzc2VzOnlmdCxmYUNpcmNsZVBhdXNlOkdvZSxmYVBhdXNlQ2lyY2xlOndmdCxmYU1lbW9yeTpNZnQsZmFHaWZ0OmtmdCxmYU1vbmV5QmlsbFdoZWF0OlNmdCxmYUR1bmdlb246emZ0LGZhU3VpdGNhc2VNZWRpY2FsOllvZSxmYU1lZGtpdDpDZnQsZmFQZXJzb25DYW5lOlRmdCxmYUdhdWdlOkpnLGZhRGFzaGJvYXJkOl9mdCxmYUdhdWdlTWVkOkxmdCxmYVRhY2hvbWV0ZXJBbHRBdmVyYWdlOiRmdCxmYUVudmVsb3BlT3BlblRleHQ6RGZ0LGZhVG9vbGJveDpBZnQsZmFQb3dlck9mZjpFZnQsZmFTaWduYWw6UkQsZmFTaWduYWw1OklmdCxmYVNpZ25hbFBlcmZlY3Q6UGZ0LGZhQXJyb3dzU3BpbjpOZnQsZmFKb2ludDpGZnQsZmFCcmFpbGxlOk9mdCxmYUJhc2tldFNob3BwaW5nOlpvZSxmYVNob3BwaW5nQmFza2V0OlJmdCxmYUJyaWRnZTpCZnQsZmFQbGFuZUFycml2YWw6SGZ0LGZhQ2FzaFJlZ2lzdGVyOnFmdCxmYVJpbmc6amZ0LGZhQXF1YXJpdXM6VmZ0LGZhU2hhcmVOb2RlczpYb2UsZmFTaGFyZUFsdDpVZnQsZmFQZXJzb25DaXJjbGVFeGNsYW1hdGlvbjpXZnQsZmFCaW5vY3VsYXJzOkdmdCxmYUtpcFNpZ246WWZ0LGZhSGFyZERyaXZlOlFvZSxmYUhkZDpaZnQsZmFSYW5raW5nU3RhcjpYZnQsZmFVc2VyVGllOlFmdCxmYUVsbGlwc2lzOkpvZSxmYUVsbGlwc2lzSDpKZnQsZmFTdG9yZVNsYXNoOktmdCxmYVBlcmNlbnQ6S29lLGZhUGVyY2VudGFnZTplaHQsZmFGaWxlWmlwcGVyOmUyZSxmYUZpbGVBcmNoaXZlOnRodCxmYURpc3BsYXk6cmh0LGZhSWNvbnM6dDJlLGZhSGVhcnRNdXNpY0NhbWVyYUJvbHQ6YWh0LGZhUnVsZXJWZXJ0aWNhbDppaHQsZmFNYXBMb2NhdGlvbkRvdDpyMmUsZmFNYXBNYXJrZWRBbHQ6bmh0LGZhSGVhcnRDcmFjazphMmUsZmFIZWFydEJyb2tlbjpzaHQsZmFDb3c6b2h0LGZhUnNzOmdiLGZhRmVlZDpsaHQsZmFNYWduaWZ5aW5nR2xhc3M6YmIsZmFTZWFyY2g6Y2h0LGZhQ2xvdWRNb29uOmRodCxmYUJveGVzU3RhY2tlZDpCRCxmYUJveGVzOnVodCxmYUJveGVzQWx0OnBodCxmYUNvZGVCcmFuY2g6Zmh0LGZhQmFuOmkyZSxmYUNhbmNlbDpoaHQsZmFKdWdEZXRlcmdlbnQ6bWh0LGZhUmVwbHk6bjJlLGZhTWFpbFJlcGx5OmdodCxmYVN1blBsYW50V2lsdDpiaHQsZmFCYWN0ZXJpdW06dmh0LGZhUmVjb3JkVmlueWw6eGh0LGZhRmxvcHB5RGlzazpzMmUsZmFTYXZlOnlodCxmYVRvaWxldHNQb3J0YWJsZTp3aHQsZmFPOk1odCxmYVBhbGV0dGU6a2h0LGZhVW5sb2NrOlNodCxmYUVhckxpc3RlbjpvMmUsZmFBc3Npc3RpdmVMaXN0ZW5pbmdTeXN0ZW1zOnpodCxmYUNvZGVQdWxsUmVxdWVzdDpDaHQsZmFLZXk6VGh0LGZhU2t1bGw6X2h0LGZhTWFyc1N0cm9rZVVwOmwyZSxmYU1hcnNTdHJva2VWOkxodCxmYUZpcmVGbGFtZVNpbXBsZTpjMmUsZmFCdXJuOiRodCxmYVRyZWU6RGh0LGZhU21vZzpBaHQsZmFTOkVodCxmYUplZGk6SWh0LGZhUGVyc29uSGlraW5nOmQyZSxmYUhpa2luZzpQaHQsZmFBcnJvd3NVcFRvTGluZTpOaHQsZmFNYXJzRG91YmxlOkZodCxmYVRoZXJtb21ldGVyOk9odCxmYVBhaW50YnJ1c2g6dTJlLGZhUGFpbnRCcnVzaDpSaHQsZmFOZXV0ZXI6Qmh0LGZhU3F1YXJlUGhvbmVGbGlwOnAyZSxmYVBob25lU3F1YXJlQWx0OkhodCxmYUZhY2VHcmluVG9uZ3VlU3F1aW50OmYyZSxmYUdyaW5Ub25ndWVTcXVpbnQ6cWh0LGZhQ29tbWVudERvbGxhcjpqaHQsZmFIaXBwbzpWaHQsZmFCb3dsRm9vZDpVaHQsZmFTcXVhcmVWaXJ1czpXaHQsZmFDbG91ZFN1blJhaW46R2h0LGZhQXJyb3dSaWdodExvbmc6aDJlLGZhTG9uZ0Fycm93UmlnaHQ6WWh0LGZhQnVpbGRpbmdVbjpaaHQsZmFUZW1wZXJhdHVyZUxvdzpYaHQsZmFEb29yT3BlbjpRaHQsZmFBbGlnbkxlZnQ6Smh0LGZhQ2FtZXJhOm0yZSxmYUNhbWVyYUFsdDpLaHQsZmFVc2Vyc1JheXM6ZW10LGZhUmFpbmJvdzp0bXQsZmFTaXRlbWFwOnJtdCxmYUZhY2VHcmluU3RhcnM6ZzJlLGZhR3JpblN0YXJzOmFtdCxmYVNvcnRVcDpiMmUsZmFTb3J0QXNjOmltdCxmYUV5ZTpFQSxmYUNhcmV0TGVmdDpJQSxmYUFwcGxlV2hvbGU6djJlLGZhQXBwbGVBbHQ6bm10LGZhU2Nyb2xsVG9yYWg6eDJlLGZhVG9yYWg6c210LGZhSG91c2VMb2NrOm9tdCxmYUFycm93c0xlZnRSaWdodFRvTGluZTpsbXQsZmFUcmFzaDpMYixmYUZhY2VTYWRUZWFyOnkyZSxmYVNhZFRlYXI6Y210LGZhRmF4OmRtdCxmYVBlcnNvbkNpcmNsZVBsdXM6dW10LGZhSGFtc2E6cG10LGZhUGVyc29uQ2lyY2xlUXVlc3Rpb246Zm10LGZhQ2xpcGJvYXJkQ2hlY2s6aG10LGZhU2hhcmVGcm9tU3F1YXJlOncyZSxmYVNoYXJlU3F1YXJlOm1tdCxmYVJlY2VpcHQ6UEEsZmFFcXVhbHM6Z210LGZhQ2hldnJvblVwOmJtdCxmYVZpcnVzU2xhc2g6dm10LGZhU2xhc2g6eG10LGZhRXhwYW5kOnltdCxmYU5vdGVTdGlja3k6TTJlLGZhU3RpY2t5Tm90ZTp3bXQsZmFUYWJsZUNvbHVtbnM6azJlLGZhQ29sdW1uczpNbXQsZmFQZXJzb25TaGVsdGVyOmttdCxmYUNpcmNsZU5vdGNoOlNtdCxmYVdhdGVyOnptdCxmYURlbGV0ZUxlZnQ6UzJlLGZhQmFja3NwYWNlOkNtdCxmYUJyb29tQmFsbDpIRCxmYVF1aWRkaXRjaDpUbXQsZmFRdWlkZGl0Y2hCcm9vbUJhbGw6X210LGZhSjpMbXQsZmFTaHV0dGxlU3BhY2U6ejJlLGZhU3BhY2VTaHV0dGxlOiRtdCxmYVlpbllhbmc6RG10LGZhU3RvcDpBbXQsZmFUcm93ZWw6RW10LGZhSGFuZEJhY2tGaXN0OkMyZSxmYUhhbmRSb2NrOkltdCxmYVRlbXBlcmF0dXJlSGlnaDpQbXQsZmFHcmVhdGVyVGhhbjpObXQsZmFDcnV0Y2g6Rm10LGZhU2VwdGFnb246VDJlLGZhSGVwdGFnb246T210LGZhU3RyZWV0VmlldzpSbXQsZmFXYXZlU3F1YXJlOkJtdCxmYUFuZ2xlTGVmdDpIbXQsZmFTY3Jld2RyaXZlcjpxbXQsZmFUcmFjdG9yOmptdCxmYUJyaWRnZUNpcmNsZVhtYXJrOlZtdCxmYVZpYWxzOlVtdCxmYVN0ZXRob3Njb3BlOldtdCxmYVBvZGNhc3Q6R210LGZhQXJyb3dVcFJpZ2h0RG90czpZbXQsZmFDaGVzc1F1ZWVuOlptdCxmYUFuY2hvckNpcmNsZUV4Y2xhbWF0aW9uOlhtdCxmYUVsbGlwc2lzVmVydGljYWw6XzJlLGZhRWxsaXBzaXNWOlFtdCxmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb246Sm10LGZhQnVpbGRpbmdDaXJjbGVFeGNsYW1hdGlvbjpLbXQsZmFQZXJzb25BcnJvd1VwRnJvbUxpbmU6ZTd0LGZhTm90RXF1YWw6dDd0LGZhVHJhaW5UcmFtOnI3dCxmYVBsYW5lRGVwYXJ0dXJlOmE3dCxmYVJpZ2h0VG9CcmFja2V0OkwyZSxmYVNpZ25JbkFsdDppN3QsZmFTZENhcmQ6bjd0LGZhSG91c2VDaXJjbGVFeGNsYW1hdGlvbjpzN3QsZmFTaGVrZWxTaWduOnJmLGZhSWxzOm83dCxmYVNoZWtlbDpsN3QsZmFTaGVxZWw6Yzd0LGZhU2hlcWVsU2lnbjpkN3QsZmFSYWRpbzp1N3QsZmFIYW5kRG90czokMmUsZmFBbGxlcmdpZXM6cDd0LGZhQm9va1NrdWxsOkQyZSxmYUJvb2tEZWFkOmY3dCxmYVVubG9ja0tleWhvbGU6QTJlLGZhVW5sb2NrQWx0Omg3dCxmYUZpbGVBcnJvd1VwOkUyZSxmYUZpbGVVcGxvYWQ6bTd0LGZhRmFjZUdyaW5UZWFyczpJMmUsZmFHcmluVGVhcnM6Zzd0LGZhUGVuVG9TcXVhcmU6dmIsZmFFZGl0OmI3dCxmYUVhcnRoRXVyb3BlOlAyZSxmYUdsb2JlRXVyb3BlOnY3dCxmYUZhY2VHcmluQmVhbVN3ZWF0Ok4yZSxmYUdyaW5CZWFtU3dlYXQ6eDd0LGZhQ2lyY2xlSGFsZlN0cm9rZTpGMmUsZmFBZGp1c3Q6eTd0LGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbjp3N3QsZmFUYWJsZUNlbGxzQ29sdW1uTG9jazpNN3QsZmFUcnVja0ZpZWxkVW46azd0LGZhQ2xvY2s6TzJlLGZhQ2xvY2tGb3VyOlM3dCxmYUJvb2s6ejd0LGZhRmFjZUxhdWdoV2luazpSMmUsZmFMYXVnaFdpbms6Qzd0LGZhQ2xvdWRNZWF0YmFsbDpUN3QsZmFDaGFydEFyZWE6QjJlLGZhQXJlYUNoYXJ0Ol83dCxmYVJ1cGlhaFNpZ246TDd0LGZhVGV4dFdpZHRoOiQ3dCxmYVNhdGVsbGl0ZTpEN3QsZmFNYWduaWZ5aW5nR2xhc3NNaW51czpIMmUsZmFTZWFyY2hNaW51czpBN3QsZmFQZW9wbGVHcm91cDpFN3QsZmFTcXVhcmVCaW5hcnk6STd0LGZhTWFza3NUaGVhdGVyOnEyZSxmYVRoZWF0ZXJNYXNrczpQN3QsZmFDYXJ0UGx1czpON3QsZmFIYW5kc0FzbEludGVycHJldGluZzpLZyxmYUFtZXJpY2FuU2lnbkxhbmd1YWdlSW50ZXJwcmV0aW5nOkY3dCxmYUFzbEludGVycHJldGluZzpPN3QsZmFIYW5kc0FtZXJpY2FuU2lnbkxhbmd1YWdlSW50ZXJwcmV0aW5nOlI3dCxmYVRhYmxlQ2VsbHNSb3dVbmxvY2s6Qjd0LGZhUm9ja2V0Okg3dCxmYVNocmltcDpxN3QsZmFUZW5nZVNpZ246ajJlLGZhVGVuZ2U6ajd0LGZhSG91c2VDaGltbmV5TWVkaWNhbDpWMmUsZmFDbGluaWNNZWRpY2FsOlY3dCxmYVVzZXJzU2xhc2g6VTd0LGZhUGFwZXJQbGFuZTpXN3QsZmFCb29rQXRsYXM6VTJlLGZhQXRsYXM6Rzd0LGZhVGFibGU6WTd0LGZhSGVhcnQ6Wjd0LGZhQ2lyY2xlQ2hldnJvblVwOlcyZSxmYUNoZXZyb25DaXJjbGVVcDpYN3QsZmFCYXR0ZXJ5SGFsZjpHMmUsZmFCYXR0ZXJ5MzpRN3QsZmFGb250QXdlc29tZTpxRCxmYUZvbnRBd2Vzb21lRmxhZzpKN3QsZmFGb250QXdlc29tZUxvZ29GdWxsOks3dCxmYUhhbmRjdWZmczplOXQsZmFIYXRDb3dib3lTaWRlOnQ5dCxmYUluZHVzdHJ5OnI5dCxmYUxpbmVzTGVhbmluZzphOXQsZmFQYXNzcG9ydDppOXQsZmFJbmZpbml0eTpuOXQsZmFDbG9uZTpzOXQsZmFGb3J3YXJkOm85dCxmYU06bDl0LGZhUm9hZFNwaWtlczpjOXQsZmFNb3VudGFpbjpkOXQsZmFDaGVzczp1OXQsZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnM6ZWIsZmFUZW1wZXJhdHVyZTM6cDl0LGZhVGhlcm1vbWV0ZXIzOmY5dCxmYVRoZXJtb21ldGVyVGhyZWVRdWFydGVyczpoOXQsZmFCOm05dCxmYVNoaWVsZFZpcnVzOmc5dCxmYUxpdGVjb2luU2lnbjpiOXQsZmFEaWNlRDY6djl0LGZhR3JpcExpbmVzVmVydGljYWw6eDl0LGZhR29sZkJhbGxUZWU6WTJlLGZhR29sZkJhbGw6eTl0LGZhSGV4YWdvbjp3OXQsZmFGb2xkZXJPcGVuOk05dCxmYUthYWJhOms5dCxmYUhhbmRIb2xkaW5nOlM5dCxmYVNpbmdsZVF1b3RlUmlnaHQ6ejl0LGZhQm90dGxlRHJvcGxldDpDOXQsZmFXaW5kb3dNaW5pbWl6ZTpUOXQsZmFDaGV2cm9uUmlnaHQ6Xzl0LGZhRWdnOkw5dCxmYUxhbmRtYXJrRG9tZTpaMmUsZmFMYW5kbWFya0FsdDokOXQsZmFXb3JtOkQ5dCxmYVVzZXJJbmp1cmVkOkE5dCxmYVN0cmlrZXRocm91Z2g6RTl0LGZhQmxvZzpJOXQsZmFTdG9wd2F0Y2gyMDpQOXQsZmFUcnVja1BpY2t1cDpOOXQsZmFTZWVkbGluZzpYMmUsZmFTcHJvdXQ6Rjl0LGZhVHJhbnNnZW5kZXI6UTJlLGZhVHJhbnNnZW5kZXJBbHQ6Tzl0LGZhU3RhckhhbGY6Ujl0LGZhUGhvdG9GaWxtOkoyZSxmYVBob3RvVmlkZW86Qjl0LGZhUGljdHVyZUluUGljdHVyZTpIOXQsZmFQdW1wTWVkaWNhbDpxOXQsZmFGaXJlOmo5dCxmYU1hZ25pZnlpbmdHbGFzc1BsdXM6SzJlLGZhU2VhcmNoUGx1czpWOXQsZmFGbGFzazpVOXQsZmFBbGlnblJpZ2h0Olc5dCxmYUNhYmxlQ2FyOmVsZSxmYVRyYW06Rzl0LGZhS2l0TWVkaWNhbDp0bGUsZmFGaXJzdEFpZDpZOXQsZmFHcmlwTGluZXM6Wjl0LGZhQnVyZ2VyOnJsZSxmYUhhbWJ1cmdlcjpYOXQsZmFTbm93bWFuOlE5dCxmYUhvdGVsOko5dCxmYVByaW50Oks5dCxmYVZvbGxleWJhbGw6YWxlLGZhVm9sbGV5YmFsbEJhbGw6ZWd0LGZhVHJhZmZpY0xpZ2h0OnRndCxmYVBsYW5lQ2lyY2xlQ2hlY2s6cmd0LGZhVXNlcnM6TkEsZmFDZXJ0aWZpY2F0ZTphZ3QsZmFBbGFybUNsb2NrOmlndCxmYUhlbGljb3B0ZXJTeW1ib2w6bmd0LGZhSG91c2VDaGltbmV5Q3JhY2s6aWxlLGZhSG91c2VEYW1hZ2U6c2d0LGZhUGVyc29uTWlsaXRhcnlQb2ludGluZzpvZ3QsZmFEYXRhYmFzZTpsZ3QsZmFOZXdzcGFwZXI6Y2d0LGZhQ2xvdWRSYWluOmRndCxmYU1heGltaXplOm5sZSxmYUV4cGFuZEFycm93c0FsdDp1Z3QsZmFMb2NhdGlvbkFycm93OnBndCxmYUNpdHk6Zmd0LGZhWFJheTpoZ3QsZmFVbWJyZWxsYUJlYWNoOm1ndCxmYUFycm93UmlnaHRUb0JyYWNrZXQ6c2xlLGZhU2lnbkluOmdndCxmYUhlYWRzZXQ6Ymd0LGZhU3Bsb3RjaDp2Z3QsZmFVcExvbmc6b2xlLGZhTG9uZ0Fycm93QWx0VXA6eGd0LGZhSGV4YWdvbk5vZGVzOnlndCxmYUhvc3BpdGFsOmpELGZhSG9zcGl0YWxBbHQ6d2d0LGZhSG9zcGl0YWxXaWRlOk1ndCxmYVBlcnNvbkhhcmFzc2luZzprZ3QsZmFNb25leUJpbGxUcmVuZFVwOlNndCxmYVBlblJ1bGVyOmxsZSxmYVBlbmNpbFJ1bGVyOnpndCxmYVJlcGVhdDpDZ3QsZmFCb25lOlRndCxmYUZpcmVGbGFtZUN1cnZlZDpjbGUsZmFGaXJlQWx0Ol9ndCxmYUJ1c1NpbXBsZTpkbGUsZmFCdXNBbHQ6TGd0LGZhVmVudXNNYXJzOiRndCxmYUJsZW5kZXI6RGd0LGZhVTpBZ3QsZmFTaGFyZTp4YixmYU1haWxGb3J3YXJkOkVndCxmYVBob25lRmxpcDp1bGUsZmFQaG9uZUFsdDpJZ3QsZmFUb2lsZXRQb3J0YWJsZTpQZ3QsZmFQZXJzb25QcmVnbmFudDpOZ3QsZmFMZXNzVGhhbjpGZ3QsZmFTdXBlcnNjcmlwdDpPZ3QsZmFDaXJjbGVTdG9wOnBsZSxmYVN0b3BDaXJjbGU6Umd0LGZhQXJyb3dzVXBEb3duOmZsZSxmYUFycm93c1Y6Qmd0LGZhUG9vU3Rvcm06aGxlLGZhUG9vQm9sdDpIZ3QsZmFWaWRlb1NsYXNoOnFndCxmYVNxdWFyZVhtYXJrOlZELGZhVGltZXNTcXVhcmU6amd0LGZhWG1hcmtTcXVhcmU6Vmd0LGZhSGFuZEhvbGRpbmdEcm9wbGV0Om1sZSxmYUhhbmRIb2xkaW5nV2F0ZXI6VWd0LGZhV29uU2lnbjpVRCxmYUtydzpXZ3QsZmFXb246R2d0LGZhT2JqZWN0VW5ncm91cDpZZ3QsZmFDb21tZW50OlpndCxmYUhpbGxBdmFsYW5jaGU6WGd0LGZhQXJyb3dzVG9FeWU6UWd0LGZhU25vd3Bsb3c6Smd0LGZhQ2hhcnRHYW50dDpLZ3QsZmFWaWRlbzpnbGUsZmFWaWRlb0NhbWVyYTplYnQsZmFDaGVzc1Bhd246dGJ0LGZhU3luYWdvZ3VlOnJidCxmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2s6YWJ0LGZhQ2FsZW5kYXJQbHVzOmlidCxmYVdoZWVsY2hhaXJNb3ZlOmJsZSxmYVdoZWVsY2hhaXJBbHQ6bmJ0LGZhVXNlclNoaWVsZDpzYnQsZmFCb2xkOm9idCxmYUhlYXJ0UHVsc2U6dmxlLGZhSGVhcnRiZWF0OmxidCxmYVNxdWFyZVJvb3RWYXJpYWJsZTp4bGUsZmFTcXVhcmVSb290QWx0OmNidCxmYUhhbmRzQnViYmxlczp5bGUsZmFIYW5kc1dhc2g6ZGJ0LGZhTWFya2VyOnVidCxmYUNsaXBib2FyZDpwYnQsZmFQbGFjZU9mV29yc2hpcDpmYnQsZmFDYW5uYWJpczpoYnQsZmFQZW9wbGVSb29mOm1idCxmYURpc2Vhc2U6Z2J0LGZhQm9va0JpYmxlOndsZSxmYUJpYmxlOmJidCxmYUNoZXNzQm9hcmQ6dmJ0LGZhTWFyczp4YnQsZmFMYXB0b3A6eWJ0LGZhVXNlclhtYXJrOk1sZSxmYVVzZXJUaW1lczp3YnQsZmFGbGFnVXNhOk1idCxmYUhhbmRNaWRkbGVGaW5nZXI6a2J0LGZhTW9ydGFyUGVzdGxlOlNidCxmYUhlYWRTaWRlQ291Z2g6emJ0LGZhUGxhbmVMb2NrOkNidCxmYUJhdHRlcnlUaHJlZVF1YXJ0ZXJzOmtsZSxmYUJhdHRlcnk0OlRidCxmYUZyYW5jU2lnbjpfYnQsZmFGaWx0ZXJDaXJjbGVEb2xsYXI6U2xlLGZhRnVubmVsRG9sbGFyOkxidCxmYUNoZWVzZTokYnQsZmFDaXJjbGVIOnpsZSxmYUhvc3BpdGFsU3ltYm9sOkRidCxmYVNjaG9vbDpBYnQsZmFEaWNlRml2ZTpFYnQsZmFUb3JuYWRvOklidCxmYUpldEZpZ2h0ZXI6Q2xlLGZhRmlnaHRlckpldDpQYnQsZmFUaHVtYnNEb3duOk5idCxmYUJyb29tOkZidCxmYUZpbGVJbXBvcnQ6VGxlLGZhQXJyb3dSaWdodFRvRmlsZTpPYnQsZmFVdGVuc2lsczpfbGUsZmFDdXRsZXJ5OlJidCxmYUlkQmFkZ2U6QmJ0LGZhU3BpZGVyOkhidCxmYU1vYmlsZVJldHJvOnFidCxmYVNpZ25zUG9zdDpMbGUsZmFNYXBTaWduczpqYnQsZmFHcm91cEFycm93c1JvdGF0ZTpWYnQsZmFBcnJvd3NTcGxpdFVwQW5kTGVmdDpVYnQsZmFGaWxsRHJpcDpXYnQsZmFTaGllbGRIZWFydDpHYnQsZmFQZXJzb25Ta2lpbmdOb3JkaWM6JGxlLGZhU2tpaW5nTm9yZGljOllidCxmYVNxdWFyZUNoZWNrOkRsZSxmYUNoZWNrU3F1YXJlOlpidCxmYUJhdGg6QWxlLGZhQmF0aHR1YjpYYnQsZmFDaGVzc0Jpc2hvcDpRYnQsZmFQcmVzY3JpcHRpb25Cb3R0bGVNZWRpY2FsOkVsZSxmYVByZXNjcmlwdGlvbkJvdHRsZUFsdDpKYnQsZmFEcmF3UG9seWdvbjpJbGUsZmFWZWN0b3JQb2x5Z29uOktidCxmYUlDdXJzb3I6ZXZ0LGZhSGVhcnRDaXJjbGVQbHVzOnR2dCxmYVNoaWVsZERvZzpydnQsZmFHcmVhdGVyVGhhbkVxdWFsOmF2dCxmYUVudmVsb3BlT3BlbjppdnQsZmFNb3VuZDpudnQsZmFWb2ljZW1haWw6c3Z0LGZhVmVzdDpvdnQsZmFBdWRpb0Rlc2NyaXB0aW9uOmx2dCxmYVc6Y3Z0LGZhRXllRHJvcHBlcjpXRCxmYUV5ZURyb3BwZXJFbXB0eTpkdnQsZmFFeWVkcm9wcGVyOnV2dCxmYUNpcmNsZVhtYXJrOm9mLGZhVGltZXNDaXJjbGU6cHZ0LGZhWG1hcmtDaXJjbGU6ZnZ0LGZhVHJhaWxlcjpodnQsZmFUdXJraXNoTGlyYVNpZ246R0QsZmFUcnk6bXZ0LGZhVHVya2lzaExpcmE6Z3Z0LGZhVm9sY2FubzpidnQsZmFXYW5kU3BhcmtsZXM6dnZ0LGZhTWljcm9waG9uZTp4dnQsZmFDcm93bjp5dnQsZmFUZW50QXJyb3dUdXJuTGVmdDp3dnQsZmFUcnVja0Zhc3Q6UGxlLGZhU2hpcHBpbmdGYXN0Ok12dCxmYVVzZXJQZW46TmxlLGZhVXNlckVkaXQ6a3Z0LGZhVXNlckNsb2NrOlN2dCxmYVNob3dlcjp6dnQsZmFTcXVhcmVDYXJldFVwOkZsZSxmYUNhcmV0U3F1YXJlVXA6Q3Z0LGZhTWFwTG9jYXRpb246T2xlLGZhTWFwTWFya2VkOlR2dCxmYVBlbkZhbmN5Ol92dCxmYUV1cm9TaWduOllELGZhRXVyOkx2dCxmYUV1cm86JHZ0LGZhSG91c2VDaXJjbGVYbWFyazpEdnQsZmFMaXJhU2lnbjpBdnQsZmFZZW5TaWduOmFmLGZhQ255OkV2dCxmYUpweTpJdnQsZmFSbWI6UHZ0LGZhWWVuOk52dCxmYUJveE9wZW46RnZ0LGZhVHJ1Y2tGaWVsZDpPdnQsZmFMb2NhdGlvblBpbkxvY2s6UnZ0LGZhUGVyc29uUHJheWluZzpSbGUsZmFQcmF5OkJ2dCxmYUNsaXBib2FyZExpc3Q6SHZ0LGZhU2Fja0RvbGxhcjpxdnQsZmFNb3VudGFpblN1bjpqdnQsZmFBcnJvd1VwV2lkZVNob3J0OkJsZSxmYVNvcnRBbW91bnRVcDpWdnQsZmFVc2Vyc0xpbmU6VXZ0LGZhU3Rhck9mRGF2aWQ6V3Z0LGZhTm90ZXNNZWRpY2FsOkd2dCxmYUF1c3RyYWxTaWduOll2dCxmYUNsaXBib2FyZFVzZXI6WnZ0LGZhRmlsZUltYWdlOlh2dCxmYVNxdWFyZUNhcmV0UmlnaHQ6SGxlLGZhQ2FyZXRTcXVhcmVSaWdodDpRdnQsZmFWaWFsOkp2dCxmYUhlbGljb3B0ZXI6S3Z0LGZhTWl0dGVuOmV4dCxmYUdhc1B1bXA6dHh0LGZhRW52ZWxvcGVDaXJjbGVDaGVjazpyeHQsZmFQZXJzb25Ta2F0aW5nOnFsZSxmYVNrYXRpbmc6YXh0LGZhU3VuOkZBLGZhQmFzZWJhbGw6amxlLGZhQmFzZWJhbGxCYWxsOml4dCxmYUltYWdlOm54dCxmYU5vdGRlZjpzeHQsZmFCYXNrZXRiYWxsOlZsZSxmYUJhc2tldGJhbGxCYWxsOm94dCxmYVBlbmNpbDpVbGUsZmFQZW5jaWxBbHQ6bHh0LGZhUGVyc29uV2Fsa2luZ0Fycm93TG9vcExlZnQ6Y3h0LGZhRGljZVNpeDpkeHQsZmFBbmdsZXNEb3duOldsZSxmYUFuZ2xlRG91YmxlRG93bjp1eHQsZmFTeXJpbmdlOnB4dCxmYVdoZWF0QXduOkdsZSxmYVdoZWF0QWx0OmZ4dCxmYVBsYW5lVXA6aHh0LGZhQWxpZ25DZW50ZXI6bXh0LGZhSG9ja2V5UHVjazpneHQsZmFDaXJjbGVBcnJvd0xlZnQ6WWxlLGZhQXJyb3dDaXJjbGVMZWZ0OmJ4dCxmYVBsdWdDaXJjbGVCb2x0OnZ4dCxmYVJlc3Ryb29tOnh4dCxmYUFuY2hvckxvY2s6eXh0LGZhVGltZWxpbmU6d3h0LGZhTGlnaHRidWxiOk14dCxmYUNpcmNsZUFycm93UmlnaHQ6WmxlLGZhQXJyb3dDaXJjbGVSaWdodDpreHQsZmFNYXJzQW5kVmVudXM6U3h0LGZhTmV0d29ya1dpcmVkOk9BLGZhQnVpbGRpbmdTaGllbGQ6enh0LGZhQ29kZTpDeHQsZmFGZWF0aGVyUG9pbnRlZDpYbGUsZmFGZWF0aGVyQWx0OlR4dCxmYUZpbGVDaXJjbGVRdWVzdGlvbjpfeHQsZmFTaWduYXR1cmU6THh0LGZhRWFydGhBbWVyaWNhczp0YixmYUVhcnRoOiR4dCxmYUVhcnRoQW1lcmljYTpEeHQsZmFHbG9iZUFtZXJpY2FzOkF4dCxmYUNhcnJvdDpFeHQsZmFUZW1wZXJhdHVyZUZ1bGw6cmIsZmFUZW1wZXJhdHVyZTQ6SXh0LGZhVGhlcm1vbWV0ZXI0OlB4dCxmYVRoZXJtb21ldGVyRnVsbDpOeHQsZmFUYWJsZUNlbGxzUm93TG9jazpGeHQsZmFCb2x0TGlnaHRuaW5nOk94dCxmYUNsb3VkU2hvd2Vyc1dhdGVyOlJ4dCxmYUFycm93VXBMb25nOlFsZSxmYUxvbmdBcnJvd1VwOkJ4dCxmYUFkZHJlc3NDYXJkOlpELGZhQ29udGFjdENhcmQ6SHh0LGZhVmNhcmQ6cXh0LGZhQW5nbGVSaWdodDpqeHQsZmFGYWNlTWVoOkpsZSxmYU1laDpWeHQsZmFBcnJvd1VwRnJvbUdyb3VuZFdhdGVyOlV4dCxmYU1hcDpXeHQsZmFVc2VyUGx1czpHeHQsZmFWZW51czpZeHQsZmFEaWFncmFtU3VjY2Vzc29yOlp4dCxmYUhlYWRTaWRlQ291Z2hTbGFzaDpYeHQsZmFEaWFncmFtUHJvamVjdDpLbGUsZmFQcm9qZWN0RGlhZ3JhbTpReHQsZmFUZXJtaW5hbDpSQSxmYUhvdXNlRmlyZTpKeHQsZmFNYXNrOkt4dCxmYUh1cnJpY2FuZTpleXQsZmFFYXJ0aEFmcmljYTplY2UsZmFHbG9iZUFmcmljYTp0eXQsZmFUaHVtYnRhY2s6dGNlLGZhVGh1bWJUYWNrOnJ5dCxmYUhhbmRQb2ludERvd246YXl0LGZhRmFjZU1laEJsYW5rOnJjZSxmYU1laEJsYW5rOml5dCxmYVRlbXBlcmF0dXJlRW1wdHk6YWIsZmFUZW1wZXJhdHVyZTA6bnl0LGZhVGhlcm1vbWV0ZXIwOnN5dCxmYVRoZXJtb21ldGVyRW1wdHk6b3l0LGZhQm9yZGVyTm9uZTpseXQsZmFIaWdobGlnaHRlcjpjeXQsZmFNb25leUJpbGxXYXZlOmR5dCxmYVRvaWxldFBhcGVyU2xhc2g6dXl0LGZhRmlsZVNoaWVsZDpweXQsZmFUZXh0SGVpZ2h0OmZ5dCxmYUZhY2VHcmluVG9uZ3VlOmFjZSxmYUdyaW5Ub25ndWU6aHl0LGZhRmlsZVNpZ25hdHVyZTpteXQsZmFCdWlsZGluZ1doZWF0Omd5dCxmYVBsdWdDaXJjbGVNaW51czpieXQsZmFGdXRib2w6WEQsZmFGdXRib2xCYWxsOnZ5dCxmYVNvY2NlckJhbGw6eHl0LGZhQ2lyY2xlUGx1czppY2UsZmFQbHVzQ2lyY2xlOnl5dCxmYUJyYXppbGlhblJlYWxTaWduOnd5dCxmYVN0YXJBbmRDcmVzY2VudDpNeXQsZmFGYWNlU3VycHJpc2U6bmNlLGZhU3VycHJpc2U6a3l0LGZhSG9zcGl0YWxVc2VyOlN5dCxmYUFycm93RG93blVwTG9jazp6eXQsZmFGb2xkZXI6c2NlLGZhRm9sZGVyQmxhbms6Q3l0LGZhSG9sbHlCZXJyeTpUeXQsZmFWZW51c0RvdWJsZTpfeXQsZmFDbGlwYm9hcmRRdWVzdGlvbjpMeXQsZmFIb3Rkb2c6JHl0LGZhQXJyb3dVcEZyb21CcmFja2V0OkR5dCxmYU1pY3Jvc2NvcGU6QXl0LGZhQ2xvdWQ6RXl0LGZhQmFzZWJhbGxCYXRCYWxsOkl5dCxmYUNhclJlYXI6b2NlLGZhQ2FyQWx0OlB5dCxmYVRodW1idGFja1NsYXNoOmxjZSxmYVRodW1iVGFja1NsYXNoOk55dCxmYVBsdXNNaW51czpGeXQsZmFIb3VzZUNpcmNsZUNoZWNrOk95dCxmYUNhbGVuZGFyRGF5OlJ5dCxmYUxpYnJhOkJ5dCxmYUNpcmNsZTpIeXQsZmFNb2JpbGVWaWJyYXRlOnF5dCxmYUZhY2VHcmluU3F1aW50OmNjZSxmYUdyaW5TcXVpbnQ6anl0LGZhVXNlcnNCZXR3ZWVuTGluZXM6Vnl0LGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcms6VXl0LGZhVGFibGVMaXN0OmRjZSxmYVRoTGlzdDpXeXQsZmFGbGFza1ZpYWw6R3l0LGZhQ2lyY2xlRXhjbGFtYXRpb246dWNlLGZhRXhjbGFtYXRpb25DaXJjbGU6WXl0LGZhVGF4aTpwY2UsZmFDYWI6Wnl0LGZhVGV4dFNsYXNoOmZjZSxmYVJlbW92ZUZvcm1hdDpYeXQsZmFQZW9wbGVQdWxsaW5nOlF5dCxmYUJhY2t3YXJkOkp5dCxmYUNhckJ1cnN0OmhjZSxmYUNhckNyYXNoOkt5dCxmYUxpbms6bWNlLGZhQ2hhaW46ZXd0LGZhQmFja3dhcmRTdGVwOmdjZSxmYVN0ZXBCYWNrd2FyZDp0d3QsZmFYOnJ3dCxmYUNpcmNsZVVzZXI6YmNlLGZhVXNlckNpcmNsZTphd3QsZmFSZWN0YW5nbGVMaXN0OnZjZSxmYUxpc3RBbHQ6aXd0LGZhSGFuZDp4Y2UsZmFIYW5kUGFwZXI6bnd0LGZhQ2FuY2VyOnN3dCxmYVZhblNodXR0bGU6eWNlLGZhU2h1dHRsZVZhbjpvd3QsZmFTdGFpcnM6bHd0LGZhSG9yc2VIZWFkOmN3dCxmYVZhdWx0OmR3dCxmYUNsb3NlZENhcHRpb25pbmdTbGFzaDp1d3QsZmFEcnVtU3RlZWxwYW46cHd0LGZhVGh1bWJzVXA6Znd0LGZhU3RhbXA6aHd0LGZhTWVub3JhaDptd3QsZmFDaGlsZHJlbjpnd3QsZmFDaGFydExpbmU6d2NlLGZhTGluZUNoYXJ0OmJ3dCxmYVNxdWFyZUVudmVsb3BlOk1jZSxmYUVudmVsb3BlU3F1YXJlOnZ3dCxmYUJhblNtb2tpbmc6a2NlLGZhU21va2luZ0Jhbjp4d3QsZmFUcnVja0Zyb250Onl3dCxmYUJ1aWxkaW5nOkJBLGZhQnVsbHNleWU6d3d0LGZhQXJyb3dMZWZ0TG9uZzpTY2UsZmFMb25nQXJyb3dMZWZ0Ok13dCxmYUNoZXNzUm9vazprd3QsZmFCbGVuZGVyUGhvbmU6U3d0LGZhQXJyb3dUdXJuVXA6emNlLGZhTGV2ZWxVcDp6d3QsZmFCaWN5Y2xlOkN3dCxmYUNpcmNsZUFycm93RG93bjpDY2UsZmFBcnJvd0NpcmNsZURvd246VHd0LGZhR2Vhcjp5YixmYUNvZzpfd3QsZmFNYXJzQW5kVmVudXNCdXJzdDpMd3QsZmFPdHRlcjokd3QsZmFDaXJjbGVDaGV2cm9uTGVmdDpUY2UsZmFDaGV2cm9uQ2lyY2xlTGVmdDpEd3QsZmFDaXJjbGVRdWVzdGlvbjpfY2UsZmFRdWVzdGlvbkNpcmNsZTpBd3QsZmFXYWxraWVUYWxraWU6RXd0LGZhVXNlckdyb3VwOkxjZSxmYVVzZXJGcmllbmRzOkl3dCxmYUhvdXNlQ2hpbW5leTokY2UsZmFIb21lTGc6UHd0LGZhUmlnaHRGcm9tQnJhY2tldDpEY2UsZmFTaWduT3V0QWx0Ok53dCxmYUZpbGU6Rnd0LGZhUGxhbmVTbGFzaDpPd3QsZmFDbG91ZFNob3dlcnNIZWF2eTpSd3QsZmFQZXJzb25GYWxsaW5nOkJ3dCxmYVR1cm5Eb3duOkFjZSxmYUxldmVsRG93bkFsdDpId3QsZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyOkVjZSxmYUV4cGFuZEFsdDpxd3QsZmFVc2VyVGFnOmp3dCxmYUhhbmRTcGFya2xlczpWd3QsZmFBcnJvd3NUb0RvdDpVd3QsZmFGYWNlU2FkQ3J5OkljZSxmYVNhZENyeTpXd3QsZmFEb25nU2lnbjpHd3QsZmFQZW9wbGVMaW5lOll3dCxmYVNxdWFyZVJzczpQY2UsZmFSc3NTcXVhcmU6Wnd0LGZhQ2FsZW5kYXJNaW51czpYd3QsZmFDaGFydERpYWdyYW06UXd0LGZhRmFjZVRpcmVkOk5jZSxmYVRpcmVkOkp3dCxmYUhhbmRQb2ludFJpZ2h0Okt3dCxmYUFycm93VXA6ZU10LGZhQ3ViZXNTdGFja2VkOnRNdCxmYUNoaWxkQ29tYmF0YW50OkZjZSxmYUNoaWxkUmlmbGU6ck10LGZhVmVzdFBhdGNoZXM6YU10LGZhTWFydGluaUdsYXNzRW1wdHk6T2NlLGZhR2xhc3NNYXJ0aW5pOmlNdCxmYU1hZ25ldDpuTXQsZmFSb2FkQmFycmllcjpzTXQsZmFDb21wYXNzRHJhZnRpbmc6UmNlLGZhRHJhZnRpbmdDb21wYXNzOm9NdCxmYVNxdWFyZVBlcnNvbkNvbmZpbmVkOmxNdCxmYVBsYXRlV2hlYXQ6Y010LGZhU2lnbkhhbmdpbmc6QmNlLGZhU2lnbjpkTXQsZmFDYXJCYXR0ZXJ5OkhjZSxmYUJhdHRlcnlDYXI6dU10LGZhU2hpcnQ6UUQsZmFUU2hpcnQ6cE10LGZhVHNoaXJ0OmZNdCxmYVBhcmFncmFwaDpoTXQsZmFFbnZlbG9wZXNCdWxrOnFjZSxmYU1haWxCdWxrOm1NdCxmYUd1aXRhcjpnTXQsZmFTdWl0Y2FzZTpiTXQsZmFDaXJjbGVVcDpqY2UsZmFBcnJvd0FsdENpcmNsZVVwOnZNdCxmYUY6eE10LGZhWG1hcmtzTGluZXM6eU10LGZhRWFydGhPY2VhbmlhOlZjZSxmYUdsb2JlT2NlYW5pYTp3TXQsZmFDb21tZW50U2xhc2g6TU10LGZhUGxheTprTXQsZmFWaWFsQ2lyY2xlQ2hlY2s6U010LGZhQnJpZGdlQ2lyY2xlQ2hlY2s6ek10LGZhQ2VkaVNpZ246Q010LGZhUHV6emxlUGllY2U6VE10LGZhSGVsbWV0VW46X010LGZhR2xhc3NXYXRlcjpMTXQsZmFIZWFydENpcmNsZUJvbHQ6JE10LGZhUHVtcFNvYXA6RE10LGZhSGFuZFNjaXNzb3JzOkFNdCxmYURvbGx5OlVjZSxmYURvbGx5Qm94OkVNdCxmYVBhcGVyY2xpcDpIQSxmYURlbW9jcmF0OklNdCxmYVNxdWFyZUFycm93VXBSaWdodDpXY2UsZmFFeHRlcm5hbExpbmtTcXVhcmU6UE10LGZhRmVycnk6Tk10LGZhTW9zcXVpdG86Rk10LGZhQnVpbGRpbmdDaXJjbGVBcnJvd1JpZ2h0Ok9NdCxmYUxlZnRSaWdodDpHY2UsZmFBcnJvd3NBbHRIOlJNdCxmYVZpcnVzOkJNdCxmYUdlbTpITXQsZmFUb2lsZXQ6cU10LGZhU2luZ2xlUXVvdGVMZWZ0OmpNdCxmYU1vbmV5QmlsbHM6Vk10LGZhVGFibGV0QnV0dG9uOlVNdCxmYVJlY3RhbmdsZVhtYXJrOmliLGZhUmVjdGFuZ2xlVGltZXM6V010LGZhVGltZXNSZWN0YW5nbGU6R010LGZhV2luZG93Q2xvc2U6WU10LGZhV3JlbmNoOlpNdCxmYVRyYXNoQ2FuOndiLGZhVHJhc2hBbHQ6WE10LGZhVGFibGVDZWxsczpZY2UsZmFUaDpRTXQsZmFSaWJib246Sk10LGZhTGFuZG1hcmtGbGFnOktNdCxmYVVwRG93bkxlZnRSaWdodDpaY2UsZmFBcnJvd3NBbHQ6ZWt0LGZhQ2FyU2lkZTp0a3QsZmFUcmFzaEFycm93VXA6WGNlLGZhVHJhc2hSZXN0b3JlOnJrdCxmYUxpZmVSaW5nOmFrdCxmYUNvcHlyaWdodDppa3QsZmFGaWxlUHJlc2NyaXB0aW9uOm5rdCxmYUVyYXNlcjpza3QsZmFIb3VyZ2xhc3NTdGFydDpRY2UsZmFIb3VyZ2xhc3MxOm9rdCxmYUNpcmNsZUxlZnQ6SmNlLGZhQXJyb3dBbHRDaXJjbGVMZWZ0OmxrdCxmYUNydXplaXJvU2lnbjpja3QsZmFTbW9raW5nOmRrdCxmYVNxdWFyZVBvbGxWZXJ0aWNhbDpLY2UsZmFQb2xsOnVrdCxmYVBlcnNvbkNpcmNsZU1pbnVzOnBrdCxmYUJpb2hhemFyZDpma3QsZmFCZWxsQ29uY2llcmdlOmUwZSxmYUNvbmNpZXJnZUJlbGw6aGt0LGZhUnVsZXJIb3Jpem9udGFsOm1rdCxmYUhvcnNlOmdrdCxmYUNhbGVuZGFyOmJrdCxmYUhhbmRzSG9sZGluZ0NoaWxkOnZrdCxmYUl0YWxpYzp4a3QsZmFLaGFuZGE6eWt0LGZhRmFjZUZyb3duT3Blbjp0MGUsZmFGcm93bk9wZW46d2t0LGZhQ2hlY2s6cUEsZmFGaW5nZXJwcmludDpNa3QsZmFDaGFyZ2luZ1N0YXRpb246a2t0LGZhVXNlckxvY2s6U2t0LGZhTW9iaWxlU2NyZWVuQnV0dG9uOnIwZSxmYU1vYmlsZUFsdDp6a3QsZmFBbmNob3JDaXJjbGVDaGVjazpDa3QsZmFQZXJzb25XYWxraW5nV2l0aENhbmU6YTBlLGZhQmxpbmQ6VGt0LGZhRmlsZVdhdmVmb3JtOmkwZSxmYUZpbGVNZWRpY2FsQWx0Ol9rdCxmYUhvdXNlQ3JhY2s6TGt0LGZhSGF0V2l6YXJkOiRrdCxmYVVzZXJEb2N0b3I6bjBlLGZhVXNlck1kOkRrdCxmYUNoYXJ0QmFyOnMwZSxmYUJhckNoYXJ0OkFrdCxmYVNwcmF5Q2FuU3BhcmtsZXM6bzBlLGZhQWlyRnJlc2hlbmVyOkVrdCxmYUJhaHRTaWduOklrdCxmYVRlbXBlcmF0dXJlQXJyb3dVcDpsMGUsZmFUZW1wZXJhdHVyZVVwOlBrdCxmYVdlYkF3ZXNvbWU6Tmt0LGZhTm9uQmluYXJ5OkZrdCxmYU46T2t0LGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0OmMwZSxmYUFycm93czpSa3QsZmFIb3VzZTpuYixmYUhvbWU6Qmt0LGZhSG9tZUFsdDpIa3QsZmFIb21lTGdBbHQ6cWt0LGZhU3Bpbm5lcjpqa3QsZmFHYXZlbDpkMGUsZmFMZWdhbDpWa3QsZmFUaWNrZXRTaW1wbGU6dTBlLGZhVGlja2V0QWx0OlVrdCxmYURvdmU6V2t0LGZhVGFycERyb3BsZXQ6R2t0LGZhVHJlZUNpdHk6WWt0LGZhVHVyblVwOnAwZSxmYUxldmVsVXBBbHQ6Wmt0LGZhVGVtcGVyYXR1cmVRdWFydGVyOnNiLGZhVGVtcGVyYXR1cmUxOlhrdCxmYVRoZXJtb21ldGVyMTpRa3QsZmFUaGVybW9tZXRlclF1YXJ0ZXI6Smt0LGZhU2xpZGVyczpmMGUsZmFTbGlkZXJzSDpLa3QsZmFNb3NxdWU6ZVN0LGZhSDp0U3QsZmFJbmZvOnJTdCxmYVBlcnNvbldhbGtpbmc6aDBlLGZhV2Fsa2luZzphU3QsZmFBcnJvd1R1cm5Eb3duOm0wZSxmYUxldmVsRG93bjppU3QsZmFSb2FkOm5TdCxmYVNwaXJhbDpzU3QsZmFGYWNlRnJvd246ZzBlLGZhRnJvd246b1N0LGZhV2luZUdsYXNzRW1wdHk6YjBlLGZhV2luZUdsYXNzQWx0OmxTdCxmYUNsYXBwZXJib2FyZDpjU3QsZmFGb3J3YXJkU3RlcDp2MGUsZmFTdGVwRm9yd2FyZDpkU3QsZmFTcXVhcmVVcFJpZ2h0OngwZSxmYUV4dGVybmFsTGlua1NxdWFyZUFsdDp1U3QsZmFCb29rSm91cm5hbFdoaWxsczp5MGUsZmFKb3VybmFsV2hpbGxzOnBTdCxmYUNoYW1wYWduZUdsYXNzZXM6dzBlLGZhR2xhc3NDaGVlcnM6ZlN0LGZhRHVtcHN0ZXI6aFN0LGZhSGVhcnRDaXJjbGVYbWFyazptU3QsZmFDb21wdXRlcjpnU3QsZmFXYW5kTWFnaWM6TTBlLGZhTWFnaWM6YlN0LGZhQnJhaW46dlN0LGZhQnJpZWZjYXNlTWVkaWNhbDp4U3QsZmFIb3VzZU1lZGljYWxDaXJjbGVFeGNsYW1hdGlvbjp5U3QsZmFDb2RlQ29tbWl0OndTdCxmYVBlcnNvbkJyZWFzdGZlZWRpbmc6TVN0LGZhUGVyc29uUmF5czprU3QsZmFNYW5hdFNpZ246U1N0LGZhU29ydDprMGUsZmFVbnNvcnRlZDp6U3QsZmFDaXJjbGVSYWRpYXRpb246UzBlLGZhUmFkaWF0aW9uQWx0OkNTdCxmYUxhcHRvcENvZGU6VFN0LGZhU2luazpfU3QsZmFBcnJvd1VwRnJvbVdhdGVyUHVtcDpMU3QsZmFNaWNyb3Bob25lTGluZXNTbGFzaDp6MGUsZmFNaWNyb3Bob25lQWx0U2xhc2g6JFN0LGZhU2VydmVyOkRTdCxmYVVzZXI6SkQsZmFVc2VyQWx0OkFTdCxmYVVzZXJMYXJnZTpFU3QsZmFTbm93Zmxha2U6SVN0LGZhVGF1cnVzOlBTdCxmYVNrdWxsQ3Jvc3Nib25lczpOU3QsZmFQZXNvU2lnbjpGU3QsZmFXaW5lR2xhc3M6T1N0LGZhVGVtcGVyYXR1cmVIYWxmOm9iLGZhVGVtcGVyYXR1cmUyOlJTdCxmYVRoZXJtb21ldGVyMjpCU3QsZmFUaGVybW9tZXRlckhhbGY6SFN0LGZhVGlja2V0OnFTdCxmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb246alN0LGZhQXJyb3dzVHVyblJpZ2h0OlZTdCxmYUNhbmR5Q2FuZTpVU3QsZmFXaGVlbGNoYWlyOldTdCxmYVNwZWxsQ2hlY2s6R1N0LGZhVm9sdW1lT2ZmOllTdCxmYUx1bmdzOlpTdCxmYUJvb2ttYXJrOlhTdCxmYUJhcmNvZGU6UVN0LGZhTGlzdE9sOktELGZhTGlzdDEyOkpTdCxmYUxpc3ROdW1lcmljOktTdCxmYUZpbGVDaXJjbGVYbWFyazplenQsZmFDdWJlOnR6dCxmYVRhcGU6cnp0LGZhQm9tYjphenQsZmFTY2FsZVVuYmFsYW5jZWQ6QzBlLGZhQmFsYW5jZVNjYWxlTGVmdDppenQsZmFTcXVhcmVDYXJldExlZnQ6VDBlLGZhQ2FyZXRTcXVhcmVMZWZ0Om56dCxmYVJ1bGVyOnN6dCxmYUk6b3p0LGZhVm9sdW1lWG1hcms6ZUEsZmFWb2x1bWVNdXRlOmx6dCxmYVZvbHVtZVRpbWVzOmN6dCxmYUFyY2h3YXk6ZHp0LGZhUGVyc29uRGlnZ2luZzpfMGUsZmFEaWdnaW5nOnV6dCxmYUdhdWdlSGlnaDp0QSxmYVRhY2hvbWV0ZXJBbHQ6cHp0LGZhVGFjaG9tZXRlckFsdEZhc3Q6Znp0LGZhR2VuZGVybGVzczpoenQsZmFDbG91ZFN1bjptenQsZmFBcnJvd1JpZ2h0OmpBLGZhSGFuZHNoYWtlOnJBLGZhSGFuZHNoYWtlQWx0Omd6dCxmYUhhbmRzaGFrZVNpbXBsZTpienQsZmFQZXJzb25Ta2lpbmc6TDBlLGZhU2tpaW5nOnZ6dCxmYUJyaWRnZVdhdGVyOnh6dCxmYUJ1aWxkaW5nTmdvOnl6dCxmYUlnbG9vOnd6dCxmYUNpcmNsZURvbGxhclRvU2xvdDokMGUsZmFEb25hdGU6TXp0LGZhWTprenQsZmFGYWNlU21pbGVXaW5rOkQwZSxmYVNtaWxlV2luazpTenQsZmFEaWNlRm91cjp6enQsZmFGYWNlR3JpblNxdWludFRlYXJzOkEwZSxmYUdyaW5TcXVpbnRUZWFyczpDenQsZmFGaWxlQXVkaW86VHp0LGZhQXJyb3dzRG93blRvTGluZTpfenQsZmFHOkx6dCxmYVZpaGFyYTokenQsZmFGbGFnQ2hlY2tlcmVkOkR6dCxmYUdhdWdlU2ltcGxlOmFBLGZhR2F1Z2VTaW1wbGVNZWQ6QXp0LGZhVGFjaG9tZXRlckF2ZXJhZ2U6RXp0LGZhUmlnaHRMZWZ0OkUwZSxmYUV4Y2hhbmdlQWx0Okl6dCxmYVBpbGxzOlB6dCxmYUV4cGxvc2lvbjpOenQsZmFBcnJvd3NEb3duVG9QZW9wbGU6Rnp0LGZhVXNlcnNWaWV3ZmluZGVyOk96dCxmYUNhck9uOlJ6dCxmYVNsZWlnaDpCenQsZmFEdW1iYmVsbDpIenQsZmFCYWJ5Q2FycmlhZ2U6STBlLGZhQ2FycmlhZ2VCYWJ5OnF6dCxmYUtpd2lCaXJkOmp6dCxmYUNhbGVuZGFyWG1hcms6UDBlLGZhQ2FsZW5kYXJUaW1lczpWenQsZmFDaXJjbGVEb3duOk4wZSxmYUFycm93QWx0Q2lyY2xlRG93bjpVenQsZmFGaWxlTWVkaWNhbDpXenQsZmFYbWFyazpXNCxmYUNsb3NlOkd6dCxmYU11bHRpcGx5Oll6dCxmYVJlbW92ZTpaenQsZmFUaW1lczpYenQsZmFTaGFwZXM6RjBlLGZhVHJpYW5nbGVDaXJjbGVTcXVhcmU6UXp0LGZhRGljZU9uZTpKenQsZmFMb2NrT3BlbjpLenQsZmFQZXBwZXJIb3Q6ZUN0LGZhRHJvcGxldFNsYXNoOk8wZSxmYVRpbnRTbGFzaDp0Q3QsZmFEcm9wbGV0OlIwZSxmYVRpbnQ6ckN0LGZhRmlsZUxpbmVzOmlBLGZhRmlsZUFsdDphQ3QsZmFGaWxlVGV4dDppQ3QsZmFDb21tZW50c0RvbGxhcjpuQ3QsZmFNYWduaWZ5aW5nR2xhc3NMb2NhdGlvbjpCMGUsZmFTZWFyY2hMb2NhdGlvbjpzQ3QsZmFGaWxlSW52b2ljZTpWQSxmYVBlbnRhZ29uOm9DdCxmYVJlcHVibGljYW46bEN0LGZhU2hvcDpIMGUsZmFTdG9yZUFsdDpjQ3QsZmFGaWxtOm5BLGZhRmlsbUFsdDpkQ3QsZmFGaWxtU2ltcGxlOnVDdCxmYUJ1aWxkaW5nQ2lyY2xlWG1hcms6cEN0LGZhQ29tbWVudHM6ZkN0LGZhVGFnczpoQ3QsZmFHdW46bUN0LGZhQ2lyY2xlQ2hlY2s6TWIsZmFDaGVja0NpcmNsZTpnQ3QsZmFTY29ycGlvOmJDdCxmYUlkQ2FyZENsaXA6cTBlLGZhSWRDYXJkQWx0OnZDdCxmYU1vb246eEN0LGZhT2lsV2VsbDp5Q3QsZmFUYWNob2dyYXBoRGlnaXRhbDpqMGUsZmFEaWdpdGFsVGFjaG9ncmFwaDp3Q3QsZmFUYWJsZXQ6VjBlLGZhVGFibGV0QW5kcm9pZDpNQ3QsZmFSdWJsZVNpZ246bGIsZmFSb3VibGU6a0N0LGZhUnViOlNDdCxmYVJ1YmxlOnpDdCxmYUNsb3NlZENhcHRpb25pbmc6Q0N0LGZhUGVuOlRDdCxmYVBsYW5lOl9DdCxmYUltYWdlczpMQ3QsZmFNb2JpbGVTY3JlZW46VTBlLGZhTW9iaWxlQW5kcm9pZEFsdDokQ3QsZmFHdWFyYW5pU2lnbjpEQ3QsZmFCYWdTaG9wcGluZzpXMGUsZmFTaG9wcGluZ0JhZzpBQ3QsZmFDaXJjbGVSaWdodDpHMGUsZmFBcnJvd0FsdENpcmNsZVJpZ2h0OkVDdCxmYVBob25lVm9sdW1lOlkwZSxmYVZvbHVtZUNvbnRyb2xQaG9uZTpJQ3QsZmFDdWJlczpQQ3QsZmFQaG9uZTpOQ3QsZmFUb3JpaUdhdGU6RkN0LGZhQmFjb246T0N0LGZhUGVyc29uRmFsbGluZ0J1cnN0OlJDdCxmYVF1b3RlUmlnaHQ6WjBlLGZhUXVvdGVSaWdodEFsdDpCQ3QsZmFIb3VzZU1lZGljYWxGbGFnOkhDdCxmYVByZXNjcmlwdGlvbjpxQ3QsZmFEaWNlVGhyZWU6akN0LGZhQnVpbGRpbmdMb2NrOlZDdCxmYUlkQ2FyZDpYMGUsZmFEcml2ZXJzTGljZW5zZTpVQ3QsZmFDaXJjbGVQbGF5OlEwZSxmYVBsYXlDaXJjbGU6V0N0LGZhRmFjZUxhdWdoQmVhbTpKMGUsZmFMYXVnaEJlYW06R0N0LGZhTGVhZjpZQ3QsZmFIb3VzZUNoaW1uZXlVc2VyOlpDdCxmYVJvdGF0ZVJpZ2h0OnNBLGZhUmVkb0FsdDpYQ3QsZmFSb3RhdGVGb3J3YXJkOlFDdCxmYVRvb3RoOkpDdCxmYUhvdXNlQ2hpbW5leVdpbmRvdzpLQ3QsZmFNb3RvcmN5Y2xlOmVUdCxmYUJhY2t3YXJkRmFzdDpLMGUsZmFGYXN0QmFja3dhcmQ6dFR0LGZhQWRkcmVzc0Jvb2s6ZTRlLGZhQ29udGFjdEJvb2s6clR0LGZhU2FpbGJvYXQ6YVR0LGZhQm9va0Jvb2ttYXJrOmlUdCxmYU1hZ25pZnlpbmdHbGFzc0Fycm93UmlnaHQ6blR0LGZhTWljcm9waG9uZUxpbmVzOnQ0ZSxmYU1pY3JvcGhvbmVBbHQ6c1R0LGZhUmVwbHlBbGw6cjRlLGZhTWFpbFJlcGx5QWxsOm9UdCxmYVVuaXZlcnNhbEFjY2VzczpsVHQsZmFUb2lsZXRQYXBlcjpvQSxmYVRvaWxldFBhcGVyQWx0OmNUdCxmYVRvaWxldFBhcGVyQmxhbms6ZFR0LGZhVnJDYXJkYm9hcmQ6dVR0LGZhUGl6emFTbGljZTpwVHQsZmFTcHJheUNhbjpmVHQsZmFWb2x1bWVMb3c6YTRlLGZhVm9sdW1lRG93bjpoVHQsZmFDcm9zczptVHQsZmFQZXJzb246aTRlLGZhTWFsZTpnVHQsZmFIb3VyZ2xhc3M6bjRlLGZhSG91cmdsYXNzRW1wdHk6YlR0LGZhRmlzaDp2VHQsZmFEcnVtc3RpY2tCaXRlOnhUdCxmYUNoYXJ0U2ltcGxlOnlUdCxmYUF0b206d1R0LGZhUDpNVHQsZmFKZXRGaWdodGVyVXA6a1R0LGZhUGx1Z0NpcmNsZVhtYXJrOlNUdCxmYVNoZWV0UGxhc3RpYzp6VHQsZmFWOkNUdCxmYUxpc3Q6czRlLGZhTGlzdFNxdWFyZXM6VFR0LGZhUGlzY2VzOl9UdCxmYVNvbGFyUGFuZWw6TFR0LGZhTGFuZE1pbmVPbjokVHQsZmFIZWFkcGhvbmVzOmxBLGZhSGVhZHBob25lc0FsdDpEVHQsZmFIZWFkcGhvbmVzU2ltcGxlOkFUdCxmYUJ1czpFVHQsZmFGaWxlUG93ZXJwb2ludDpJVHQsZmFRdW90ZUxlZnQ6bzRlLGZhUXVvdGVMZWZ0QWx0OlBUdCxmYUNoZXZyb25Eb3duOk5UdCxmYUVhcnRoQXNpYTpsNGUsZmFHbG9iZUFzaWE6RlR0LGZhQ2VudFNpZ246T1R0LGZhU2hpZWxkQ2F0OlJUdCxmYVNjaG9vbENpcmNsZUNoZWNrOkJUdCxmYU1hcnRpbmlHbGFzczpjNGUsZmFHbGFzc01hcnRpbmlBbHQ6SFR0LGZhUGx1ZzpxVHQsZmFQYW5vcmFtYTpqVHQsZmFDbG9ja1JvdGF0ZUxlZnQ6a2IsZmFIaXN0b3J5OlZUdCxmYUphcldoZWF0OlVUdCxmYUNsb3VkQXJyb3dEb3duOmNBLGZhQ2xvdWREb3dubG9hZDpXVHQsZmFDbG91ZERvd25sb2FkQWx0OkdUdCxmYVRydWNrUmFtcEJveDpkNGUsZmFUcnVja0xvYWRpbmc6WVR0LGZhQW5nbGVEb3duOlpUdCxmYVBsdWdDaXJjbGVDaGVjazpYVHQsZmFXaW5kb3dNYXhpbWl6ZTpRVHQsZmFIYW5kc0hvbGRpbmdDaXJjbGU6SlR0LGZhTG9jYXRpb25QaW46dTRlLGZhTWFwTWFya2VyOktUdCxmYUJvd2xpbmdCYWxsOmVfdCxmYUNhcnRGbGF0YmVkOnA0ZSxmYURvbGx5RmxhdGJlZDp0X3QsZmFIb3VzZVVzZXI6ZjRlLGZhSG9tZVVzZXI6cl90LGZhR2hvc3Q6YV90LGZhQ29tbWVudE5vZGVzOmlfdCxmYVBlcnNvbkFycm93RG93blRvTGluZTpuX3QsZmFQbHVnQ2lyY2xlUGx1czpzX3QsZmFQZXJzb25Td2ltbWluZzpoNGUsZmFTd2ltbWVyOm9fdCxmYUNvbW1lbnREb3RzOm00ZSxmYUNvbW1lbnRpbmc6bF90LGZhQ2hhcnRQaWU6ZzRlLGZhUGllQ2hhcnQ6Y190LGZhRnJvZzpkX3QsZmFXaW5lQm90dGxlOnVfdCxmYUluYm94OnBfdCxmYVNxdWFyZUg6YjRlLGZhSFNxdWFyZTpmX3QsZmFIb3VzZU1lZGljYWw6aF90LGZhQ2lyY2xlQ2hldnJvblJpZ2h0OnY0ZSxmYUNoZXZyb25DaXJjbGVSaWdodDptX3QsZmFGaWxlQ3N2OmdfdCxmYUhhdENvd2JveTpiX3QsZmFGYWNlR3JpblRvbmd1ZVdpbms6eDRlLGZhR3JpblRvbmd1ZVdpbms6dl90LGZhTDp4X3QsZmFBcnJvd0Rvd25TaG9ydFdpZGU6ZEEsZmFTb3J0QW1vdW50RGVzYzp5X3QsZmFTb3J0QW1vdW50RG93bkFsdDp3X3QsZmFIb3VyZ2xhc3NIYWxmOnk0ZSxmYUhvdXJnbGFzczI6TV90LGZhU3Bvb246dzRlLGZhVXRlbnNpbFNwb29uOmtfdCxmYUNyZWRpdENhcmQ6TTRlLGZhQ3JlZGl0Q2FyZEFsdDpTX3QsZmFGaWxlSW52b2ljZURvbGxhcjpVQSxmYVNwYWdoZXR0aU1vbnN0ZXJGbHlpbmc6azRlLGZhUGFzdGFmYXJpYW5pc206el90LGZhTWFydGluaUdsYXNzQ2l0cnVzOlM0ZSxmYUNvY2t0YWlsOkNfdCxmYUJ1bGxob3JuOlRfdCxmYUJveFRpc3N1ZTpfX3QsZmFNYXR0cmVzc1BpbGxvdzpMX3QsZmFDaGV2cm9uTGVmdDokX3QsZmFDbG91ZE1vb25SYWluOkRfdCxmYUFycm93RG93bjE5OnVBLGZhU29ydE51bWVyaWNBc2M6QV90LGZhU29ydE51bWVyaWNEb3duOkVfdCxmYUhhbmRTcG9jazpJX3QsZmFXYW5kTWFnaWNTcGFya2xlczp6NGUsZmFNYWdpY1dhbmRTcGFya2xlczpQX3QsZmFDb21tZW50TWVkaWNhbDpOX3QsZmFCZWxsU2xhc2g6Rl90LGZhSGFuZHNoYWtlU2xhc2g6cEEsZmFIYW5kc2hha2VBbHRTbGFzaDpPX3QsZmFIYW5kc2hha2VTaW1wbGVTbGFzaDpSX3QsZmFCb3R0bGVXYXRlcjpCX3QsZmFEaWNlRDIwOkhfdCxmYUFycm93RG93blpBOmZBLGZhU29ydEFscGhhRGVzYzpxX3QsZmFTb3J0QWxwaGFEb3duQWx0OmpfdCxmYUJydXNoOlZfdCxmYVBlcnNvbldhbGtpbmdEYXNoZWRMaW5lQXJyb3dSaWdodDpVX3QsZmFBcnJvd1VwU2hvcnRXaWRlOkM0ZSxmYVNvcnRBbW91bnRVcEFsdDpXX3QsZmFHcmlwVmVydGljYWw6VDRlLGZhR3JpZFZlcnRpY2FsOkdfdCxmYUNhclR1bm5lbDpZX3QsZmFDaGFydENvbHVtbjpaX3QsZmFDYXByaWNvcm46WF90LGZhVHJ1Y2tBcnJvd1JpZ2h0OlFfdCxmYVR2OmhBLGZhVGVsZXZpc2lvbjpKX3QsZmFUdkFsdDpLX3QsZmFTZWN0aW9uOmVMdCxmYVBlYWNlOnRMdCxmYVN0YXI6ckx0LGZhRmxhZzphTHQsZmFUcmlhbmdsZUV4Y2xhbWF0aW9uOm1BLGZhRXhjbGFtYXRpb25UcmlhbmdsZTppTHQsZmFXYXJuaW5nOm5MdCxmYVNjaG9vbENpcmNsZUV4Y2xhbWF0aW9uOnNMdCxmYUdyYWR1YXRpb25DYXA6XzRlLGZhTW9ydGFyQm9hcmQ6b0x0LGZhU3RvcmU6bEx0LGZhVXNlckFzdHJvbmF1dDpjTHQsZmFCdWlsZGluZ0ZsYWc6ZEx0LGZhTXVnU2F1Y2VyOkw0ZSxmYUNvZmZlZTp1THQsZmFMZW1vbjpwTHQsZmFDYXJhdmFuOmZMdCxmYVE6aEx0LGZhTG9jazptTHQsZmFQYWludFJvbGxlcjpnTHQsZmFWb2x1bWVIaWdoOiQ0ZSxmYVZvbHVtZVVwOmJMdCxmYUZvbGRlclBsdXM6dkx0LGZhTWVyY3VyeTp4THQsZmFBbmNob3I6eUx0LGZhU3F1YXJlUGFya2luZzpENGUsZmFQYXJraW5nOndMdCxmYUhhbnVraWFoOk1MdCxmYVJvdGF0ZUxlZnQ6Y2IsZmFSb3RhdGVCYWNrOmtMdCxmYVJvdGF0ZUJhY2t3YXJkOlNMdCxmYVVuZG9BbHQ6ekx0LGZhSGVhZGluZzpBNGUsZmFIZWFkZXI6Q0x0LGZhQ3Jvc3NoYWlyczpUTHQsZmFDaXJjbGVOb2RlczpfTHQsZmFXaW5kb3dSZXN0b3JlOkxMdCxmYVI6JEx0LGZhRmlsdGVyQ2lyY2xlWG1hcms6REx0LGZhR29wdXJhbTpBTHQsZmFIZWFydENpcmNsZU1pbnVzOkVMdCxmYVN0YXJPZkxpZmU6SUx0LGZhQnVzaW5lc3NUaW1lOkU0ZSxmYUJyaWVmY2FzZUNsb2NrOlBMdCxmYUZpcmVFeHRpbmd1aXNoZXI6Tkx0LGZhQXJyb3dEb3duTG9uZzpJNGUsZmFMb25nQXJyb3dEb3duOkZMdCxmYVVzZXJNaW51czpPTHQsZmFNb25leUNoZWNrOlJMdCxmYUhvdXNlTGFwdG9wOlA0ZSxmYUxhcHRvcEhvdXNlOkJMdCxmYURvd25sb2FkOkhMdCxmYVNhZ2l0dGFyaXVzOnFMdCxmYUNvdWNoOmpMdCxmYVJvYWRMb2NrOlZMdCxmYVNjaXNzb3JzOk40ZSxmYUN1dDpVTHQsZmFCdWc6V0EsZmFBcnJvd1JpZ2h0RnJvbUJyYWNrZXQ6RjRlLGZhU2lnbk91dDpXTHQsZmFIYW5kSG9sZGluZ0hhbmQ6R0x0LGZhU3Ryb29wd2FmZWw6WUx0LGZhQ2hpbGQ6Wkx0LGZhSWNlQ3JlYW06WEx0LGZhQ29tcHV0ZXJNb3VzZTpPNGUsZmFNb3VzZTpRTHQsZmFGYXVjZXQ6Skx0LGZhQXdhcmQ6S0x0LGZhUGVyc29uRHJvd25pbmc6ZSR0LGZhQ2FtZXJhUm90YXRlOnQkdCxmYUZhY2VHcmluSGVhcnRzOlI0ZSxmYUdyaW5IZWFydHM6ciR0LGZhRmlsZUZyYWdtZW50OmEkdCxmYVBlcnNvbk1pbGl0YXJ5UmlmbGU6aSR0LGZhVG9nZ2xlT246biR0LGZhTHVuZ3NWaXJ1czpzJHQsZmFUYWJsZVRlbm5pc1BhZGRsZUJhbGw6Z0EsZmFQaW5nUG9uZ1BhZGRsZUJhbGw6byR0LGZhVGFibGVUZW5uaXM6bCR0LGZhQm94ZXNQYWNraW5nOmMkdCxmYVBlcnNvbkNoYWxrYm9hcmQ6ZCR0LGZhRGljZVR3bzp1JHQsZmFBcnJvd1JpZ2h0QXJyb3dMZWZ0OkI0ZSxmYUV4Y2hhbmdlOnAkdCxmYUZvb3RiYWxsOkg0ZSxmYUZvb3RiYWxsQmFsbDpmJHQsZmFUcnVja01vbnN0ZXI6aCR0LGZhQXN0ZXJpc2s6bSR0LGZhQmF0dGVyeUZ1bGw6YkEsZmFCYXR0ZXJ5OmckdCxmYUJhdHRlcnk1OmIkdCxmYUNoaWxkRHJlc3M6diR0LGZhRmFjZUtpc3NCZWFtOnE0ZSxmYUtpc3NCZWFtOngkdCxmYVRyYXNoQ2FuQXJyb3dVcDpqNGUsZmFUcmFzaFJlc3RvcmVBbHQ6eSR0LGZhRm9udDp3JHQsZmFCb3JlSG9sZTpNJHQsZmFWaXJ1c0NvdmlkOmskdCxmYUZpbGVQZGY6UyR0LGZhTGFuZ3VhZ2U6eiR0LGZhU2hpZWxkSGFsdmVkOlY0ZSxmYVNoaWVsZEFsdDpDJHQsZmFDYXJldFVwOlQkdCxmYUZpbGVQZW46VTRlLGZhRmlsZUVkaXQ6XyR0LGZhUGVyc29uQmlraW5nOlc0ZSxmYUJpa2luZzpMJHQsZmFCb29rT3BlblJlYWRlcjpHNGUsZmFCb29rUmVhZGVyOiQkdCxmYUdsYXNzV2F0ZXJEcm9wbGV0OkQkdCxmYVRvd2VyQnJvYWRjYXN0Olk0ZSxmYUJyb2FkY2FzdFRvd2VyOkEkdCxmYU1pbmltaXplOlo0ZSxmYUNvbXByZXNzQXJyb3dzQWx0OkUkdCxmYUFycm93UmlnaHRUb0NpdHk6SSR0LGZhTGFwdG9wTWVkaWNhbDpQJHQsZmFCcmVhZFNsaWNlOk4kdCxmYUdsb2JlOkYkdCxmYUZvbGRlck1pbnVzOk8kdCxmYU1hc2tGYWNlOlIkdCxmYUJvbmc6QiR0LGZhUm9hZEJyaWRnZTpIJHQsZmFBcnJvd1VwOTE6WDRlLGZhU29ydE51bWVyaWNVcEFsdDpxJHQsZmFNb3VudGFpbkNpdHk6aiR0LGZhQXJyb3dEb3duOTE6dkEsZmFTb3J0TnVtZXJpY0Rlc2M6ViR0LGZhU29ydE51bWVyaWNEb3duQWx0OlUkdCxmYUZhY2VHcmluV2lkZTpRNGUsZmFHcmluQWx0OlckdCxmYVBvb3A6RyR0LGZhRGhhcm1hY2hha3JhOlkkdCxmYUJhdHRlcnlRdWFydGVyOko0ZSxmYUJhdHRlcnkyOlokdCxmYUFua2g6WCR0LGZhRGlhbW9uZDpRJHQsZmFTdWJzY3JpcHQ6SiR0LGZhUnVwZWVTaWduOks0ZSxmYVJ1cGVlOkskdCxmYVBlcnNvblJpZmxlOmVEdCxmYUQ6dER0LGZhU3F1YXJlTmZpOnJEdCxmYVRlZXRoOmFEdCxmYU1hZ25pZnlpbmdHbGFzc0RvbGxhcjplM2UsZmFTZWFyY2hEb2xsYXI6aUR0LGZhRHVtcHN0ZXJGaXJlOm5EdCxmYVVwbG9hZDpzRHQsZmFVc2VyU2xhc2g6eEEsZmFVc2VyQWx0U2xhc2g6b0R0LGZhVXNlckxhcmdlU2xhc2g6bER0LGZhQXJyb3dMZWZ0OmNEdCxmYVZpYWxWaXJ1czpkRHQsZmFDaGVja0RvdWJsZTp1RHQsZmFQYXc6cER0LGZhSGVsbWV0U2FmZXR5OnlBLGZhSGFyZEhhdDpmRHQsZmFIYXRIYXJkOmhEdCxmYUU6bUR0LGZhRmFjZUxhdWdoU3F1aW50OnQzZSxmYUxhdWdoU3F1aW50OmdEdCxmYURvd25MZWZ0QW5kVXBSaWdodFRvQ2VudGVyOnIzZSxmYUNvbXByZXNzQWx0OmJEdCxmYUdpZnRzOnZEdCxmYUJlZDp4RHQsZmFNb25leUJpbGxUcmFuc2Zlcjp5RHQsZmFQZXJzb25SdW5uaW5nOmEzZSxmYVJ1bm5pbmc6d0R0LGZhQ2lyY2xlQ2hldnJvbkRvd246aTNlLGZhQ2hldnJvbkNpcmNsZURvd246TUR0LGZhVXNlck51cnNlOmtEdCxmYUZhY2VLaXNzV2lua0hlYXJ0Om4zZSxmYUtpc3NXaW5rSGVhcnQ6U0R0LGZhRmlsbDp6RHQsZmFNb25leUJpbGwxV2F2ZTpzM2UsZmFNb25leUJpbGxXYXZlQWx0OkNEdCxmYUxhbmRtYXJrOlREdCxmYU11c2ljOl9EdCxmYUJvb2tNZWRpY2FsOkxEdCxmYVNodWZmbGU6bzNlLGZhUmFuZG9tOiREdCxmYVVuZGVybGluZTpERHQsZmFCdWlsZGluZ1VzZXI6QUR0LGZhUm9ib3Q6RUR0LGZhUGx1czpTYixmYUFkZDpJRHQsZmFDb3B5OkdBLGZhQ2hlc3NLaW5nOlBEdCxmYUhvdXNlRmxvb2RXYXRlcjpORHQsZmFCaXRjb2luU2lnbjpGRHQsZmFCb3g6T0R0LGZhU3F1YXJlUGx1czpsM2UsZmFQbHVzU3F1YXJlOlJEdCxmYUFycm93c0xlZnRSaWdodDpjM2UsZmFBcnJvd3NIOkJEdCxmYUZhbjpIRHQsZmFDcm93OnFEdCxmYUZpbGVDaXJjbGVDaGVjazpqRHQsZmFMaW5rU2xhc2g6ZGIsZmFDaGFpbkJyb2tlbjpWRHQsZmFDaGFpblNsYXNoOlVEdCxmYVVubGluazpXRHQsZmFBcnJvd1JvdGF0ZVJpZ2h0OnViLGZhQXJyb3dSaWdodFJvdGF0ZTpHRHQsZmFBcnJvd1JvdGF0ZUZvcndhcmQ6WUR0LGZhUmVkbzpaRHQsZmFQZW5DbGlwOmQzZSxmYVBlbkFsdDpYRHQsZmFEb29yQ2xvc2VkOlFEdCxmYUFycm93RG93bldpZGVTaG9ydDp3QSxmYVNvcnRBbW91bnRBc2M6SkR0LGZhU29ydEFtb3VudERvd246S0R0LGZhQ2FyZXREb3duOmVBdCxmYUs6dEF0LGZhQ2hlY2tUb1Nsb3Q6dTNlLGZhVm90ZVllYTpyQXQsZmFGaXNoRmluczphQXQsZmFDb21wcmVzczppQXQsZmFBcnJvd1VwQVo6cDNlLGZhU29ydEFscGhhVXA6bkF0LGZhVXNlckdyYWR1YXRlOnNBdCxmYUZpbGVDb2RlOm9BdCxmYVNvYXA6bEF0LGZhUmVjeWNsZTpjQXQsZmFGYWNlR3Jpbldpbms6ZjNlLGZhR3Jpbldpbms6ZEF0LGZhV2F0ZXJMYWRkZXI6TUEsZmFMYWRkZXJXYXRlcjp1QXQsZmFTd2ltbWluZ1Bvb2w6cEF0LGZhR2VtaW5pOmZBdCxmYVRvd2VyQ2VsbDpoQXQsZmFDb2xvblNpZ246bUF0LGZhTGFwdG9wRmlsZTpnQXQsZmFCYWhhaTpoM2UsZmFIYXlrYWw6YkF0LGZhTW9uZXlCaWxsMTptM2UsZmFNb25leUJpbGxBbHQ6dkF0LGZhQ2xvdWRCb2x0OmczZSxmYVRodW5kZXJzdG9ybTp4QXQsZmFFdGhlcm5ldDp5QXQsZmFIcnl2bmlhU2lnbjpiM2UsZmFIcnl2bmlhOndBdCxmYUV5ZVNsYXNoOllBLGZhQ2FydEZsYXRiZWRTdWl0Y2FzZTp2M2UsZmFMdWdnYWdlQ2FydDpNQXQsZmFSYWRpYXRpb246a0F0LGZhRmlsZVdvcmQ6U0F0LGZhQmVkUHVsc2U6eDNlLGZhUHJvY2VkdXJlczp6QXQsZmFUZW50czpDQXQsZmFNdWdIb3Q6WkEsZmFCb2x0OnkzZSxmYVphcDpUQXQsZmFKYXI6X0F0LGZhVHJ1Y2tQbGFuZTpMQXQsZmFIYW5kSG9sZGluZ0hlYXJ0OiRBdCxmYUFycm93Um90YXRlTGVmdDpuZixmYUFycm93TGVmdFJvdGF0ZTpEQXQsZmFBcnJvd1JvdGF0ZUJhY2s6QUF0LGZhQXJyb3dSb3RhdGVCYWNrd2FyZDpFQXQsZmFVbmRvOklBdCxmYUZhY2VBbmdyeTp3M2UsZmFBbmdyeTpQQXQsZmFCdXJzdDpOQXQsZmFaOkZBdCxmYUJhbmRhZ2U6TTNlLGZhQmFuZEFpZDpPQXQsZmFQbGFuZUNpcmNsZUV4Y2xhbWF0aW9uOlJBdCxmYUJ1c1NpZGU6QkF0LGZhQnVnczpIQXQsZmFCZWVyTXVnRW1wdHk6azNlLGZhQmVlcjpxQXQsZmFQZXJzb25DaXJjbGVDaGVjazpqQXQsZmFTdGFwbGVyOlZBdCxmYUhvdXNlTWVkaWNhbENpcmNsZUNoZWNrOlVBdCxmYU5haXJhU2lnbjpXQXQsZmFXaWZpOmtBLGZhV2lmaTM6R0F0LGZhV2lmaVN0cm9uZzpZQXQsZmFNb25leUNoZWNrRG9sbGFyOnpiLGZhTW9uZXlDaGVja0FsdDpaQXQsZmFFeWVMb3dWaXNpb246UzNlLGZhTG93VmlzaW9uOlhBdCxmYUNpcmNsZUFycm93VXA6ejNlLGZhQXJyb3dDaXJjbGVVcDpRQXQsZmFDYW1lcmFSZXRybzpKQXQsZmFDYXBzdWxlczpLQXQsZmFQb286ZUV0LGZhVm9sdW1lOkMzZSxmYVZvbHVtZU1lZGl1bTp0RXQsZmFFbGV2YXRvcjpyRXQsZmFUYWc6YUV0LGZhRmlsZUNpcmNsZU1pbnVzOmlFdCxmYURvd25Mb25nOlQzZSxmYUxvbmdBcnJvd0FsdERvd246bkV0LGZhQ29tcGFjdERpc2M6c0V0LGZhU3VpdGNhc2VSb2xsaW5nOm9FdCxmYUJvb2tRdXJhbjpfM2UsZmFRdXJhbjpsRXQsZmFQaG9uZVNsYXNoOmNFdCxmYVJvYWRDaXJjbGVDaGVjazpkRXQsZmFTaG9wTG9jazp1RXQsZmFJbWFnZVBvcnRyYWl0OkwzZSxmYVBvcnRyYWl0OnBFdCxmYUJyaWRnZUxvY2s6ZkV0LGZhSGFtbWVyOmhFdCxmYUFycm93VXAxOTokM2UsZmFTb3J0TnVtZXJpY1VwOm1FdCxmYUNoZXNzS25pZ2h0OmdFdCxmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQ6YkV0LGZhQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZTpDYixmYUV4dGVybmFsTGluazp2RXQsZmFBcnJvd0Rvd25VcEFjcm9zc0xpbmU6eEV0LGZhRmFjZUdyaW5CZWFtOkQzZSxmYUdyaW5CZWFtOnlFdCxmYVJlY3RhbmdsZUFkOkEzZSxmYUFkOndFdCxmYUJvb2tUYW5ha2g6RTNlLGZhVGFuYWtoOk1FdCxmYUhvdFR1YlBlcnNvbjpJM2UsZmFIb3RUdWI6a0V0LGZhRmlsZUhhbGZEYXNoZWQ6U0V0LGZhT3V0ZGVudDpQM2UsZmFEZWRlbnQ6ekV0LGZhSGFuZFBlYWNlOkNFdCxmYUhlYWRTaWRlVmlydXM6VEV0LGZhQ29tcGFzczpfRXQsZmFQZW5OaWI6TEV0LGZhVGVudEFycm93c0Rvd246JEV0LGZhRm9yd2FyZEZhc3Q6TjNlLGZhRmFzdEZvcndhcmQ6REV0LGZhQ3JvcDpBRXQsZmFXaGlza2V5R2xhc3M6RjNlLGZhR2xhc3NXaGlza2V5OkVFdCxmYVNxdWFyZTpJRXQsZmFGYWNlR3JpbjpPM2UsZmFHcmluOlBFdCxmYUZpbGVDb250cmFjdDpORXQsZmFBbmdsZVVwOkZFdCxmYUZhY2VTbWlsZTpSM2UsZmFTbWlsZTpPRXQsZmFQZXJzb25EcmVzc0J1cnN0OlJFdCxmYURpdmlkZTpCRXQsZmFDb2RlRm9yazpIRXQsZmFIb3VzZUZsYWc6cUV0LGZhQnVpbGRpbmdDb2x1bW5zOnNmLGZhQmFuazpqRXQsZmFJbnN0aXR1dGlvbjpWRXQsZmFNdXNldW06VUV0LGZhVW5pdmVyc2l0eTpXRXQsZmFSdWc6R0V0LGZhQ29kZU1lcmdlOllFdCxmYUhvdXNlVHN1bmFtaTpaRXQsZmFNYWduaWZ5aW5nR2xhc3NDaGFydDpYRXQsZmFVbWJyZWxsYTpRRXQsZmFIaWxsUm9ja3NsaWRlOkpFdCxmYVVzZXJTZWNyZXQ6S0V0LGZhUGFnZXI6ZUl0LGZhQnJpZWZjYXNlOnRJdCxmYVRyb3dlbEJyaWNrczpySXQsZmFTb2NrczphSXQsZmFUOmlJdCxmYU1pY3JvY2hpcDpuSXQsZmFUcnVja01lZGljYWw6QjNlLGZhQW1idWxhbmNlOnNJdCxmYU9tOm9JdCxmYU1vc3F1aXRvTmV0OmxJdCxmYVByZXNjcmlwdGlvbkJvdHRsZTpjSXQsZmFVc2Vyc0dlYXI6SDNlLGZhVXNlcnNDb2c6ZEl0LGZhUm9hZENpcmNsZUV4Y2xhbWF0aW9uOnVJdCxmYVBhdXNlOnBJdCxmYVN0YWZmU25ha2U6cGIsZmFSb2RBc2NsZXBpdXM6Zkl0LGZhUm9kU25ha2U6aEl0LGZhU3RhZmZBZXNjdWxhcGl1czptSXQsZmFQaWdneUJhbms6Z0l0LGZhTW9udW1lbnQ6Ykl0LGZhQW5nbGVzUmlnaHQ6cTNlLGZhQW5nbGVEb3VibGVSaWdodDp2SXQsZmFEZXNrdG9wOlRiLGZhRGVza3RvcEFsdDp4SXQsZmFQbGFuZUNpcmNsZVhtYXJrOnlJdCxmYVJldHdlZXQ6d0l0LGZhVXNlckdlYXI6ajNlLGZhVXNlckNvZzpNSXQsZmFCb3JkZXJBbGw6a0l0LGZhQ29pbnM6U0l0LGZhTWFyc1N0cm9rZTp6SXQsZmFIYW5kc2hha2VBbmdsZTpWM2UsZmFIYW5kc0hlbHBpbmc6Q0l0LGZhQXJyb3dEb3duOlRJdCxmYUxvY2F0aW9uRG90OlUzZSxmYU1hcE1hcmtlckFsdDpfSXQsZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb246TEl0LGZhQ29va2llQml0ZTokSXQsZmFTY3Jld2RyaXZlcldyZW5jaDpXM2UsZmFUb29sczpESXQsZmFJbmRlbnQ6QUl0LGZhQmFyczpHM2UsZmFOYXZpY29uOkVJdCxmYUhhbmRzUHJheWluZzpZM2UsZmFQcmF5aW5nSGFuZHM6SUl0LGZhVmlydXNlczpQSXQsZmFTY2hvb2xGbGFnOk5JdCxmYVRyYWRlbWFyazpGSXQsZmFGaXJlQnVybmVyOk9JdCxmYUZhY2VTbWlsZUJlYW06WjNlLGZhU21pbGVCZWFtOlJJdCxmYVRlbnRBcnJvd0xlZnRSaWdodDpCSXQsZmFSb3V0ZTpISXQsZmFBbmdsZXNVcDpYM2UsZmFBbmdsZURvdWJsZVVwOnFJdCxmYUJ1Y2tldDpqSXQsZmFMZXNzVGhhbkVxdWFsOlZJdCxmYUZvbGRlckNsb3NlZDpVSXQsZmFQZXJzb25UaHJvdWdoV2luZG93OldJdCxmYVNjaG9vbExvY2s6R0l0LGZhUGVyc29uQnVyc3Q6WUl0LGZhTGVmdExvbmc6UTNlLGZhTG9uZ0Fycm93QWx0TGVmdDpaSXQsZmFMb2NhdGlvbkNyb3NzaGFpcnM6SjNlLGZhTG9jYXRpb246WEl0LGZhUGVyc29uRG90c0Zyb21MaW5lOkszZSxmYURpYWdub3NlczpRSXQsZmFHYXVnZVNpbXBsZUhpZ2g6U0EsZmFUYWNob21ldGVyOkpJdCxmYVRhY2hvbWV0ZXJGYXN0OktJdCxmYUFuZ2xlc0xlZnQ6ZWRlLGZhQW5nbGVEb3VibGVMZWZ0OmVQdCxmYVVwRG93bjp0ZGUsZmFBcnJvd3NBbHRWOnRQdCxmYUJhdHRlcnlFbXB0eTpyZGUsZmFCYXR0ZXJ5MDpyUHQsZmFLZXlib2FyZDphUHQsZmFDb29raWU6aVB0LGZhU3RvcHdhdGNoOm5QdCxmYUVqZWN0OnNQdCxmYVNhdGVsbGl0ZURpc2g6b1B0LGZhRmFjZVJvbGxpbmdFeWVzOmFkZSxmYU1laFJvbGxpbmdFeWVzOmxQdCxmYUxpc3RDaGVjazppZGUsZmFUYXNrczpjUHQsZmFTYWNrWG1hcms6ZFB0LGZhSGFzaHRhZzp1UHQsZmFUcmFpbjpwUHQsZmFHYW1lcGFkOmZQdCxmYUZpbGVFeHBvcnQ6bmRlLGZhQXJyb3dSaWdodEZyb21GaWxlOmhQdCxmYUZhY2VHcmltYWNlOnNkZSxmYUdyaW1hY2U6bVB0LGZhVHJhaW5TdWJ3YXk6b2RlLGZhU3Vid2F5OmdQdCxmYUNpcmNsZURvdDpsZGUsZmFEb3RDaXJjbGU6YlB0LGZhT2JqZWN0R3JvdXA6dlB0LGZhU2hpcDp4UHQsZmFDOnlQdCxmYVNxdWFyZVBob25lOmNkZSxmYVBob25lU3F1YXJlOndQdCxmYVJ1bGVyQ29tYmluZWQ6TVB0LGZhQXJyb3dzUm90YXRlOnpBLGZhUmVmcmVzaDprUHQsZmFTeW5jOlNQdCxmYVBlcnNvbkRyZXNzOmRkZSxmYUZlbWFsZTp6UHQsZmFCb29rT3BlbjpDUHQsZmFGb2xkZXJUcmVlOlRQdCxmYVZpcmdvOl9QdCxmYUJveEFyY2hpdmU6dWRlLGZhQXJjaGl2ZTpMUHQsZmFUZW50QXJyb3dEb3duVG9MaW5lOiRQdCxmYVFyY29kZTpEUHQsZmFEcmFnb246QVB0LGZhSG91cmdsYXNzRW5kOnBkZSxmYUhvdXJnbGFzczM6RVB0LGZhR3JpcDpsZixmYUdyaWRIb3Jpem9udGFsOklQdCxmYUdyaXBIb3Jpem9udGFsOlBQdCxmYUJvcmRlclRvcExlZnQ6ZmRlLGZhQm9yZGVyU3R5bGU6TlB0LGZhTGlzdFVsOmhkZSxmYUxpc3REb3RzOkZQdCxmYVBlb3BsZVJvYmJlcnk6T1B0LGZhTW9iaWxlQnV0dG9uOlJQdCxmYUFycm93RG93bkFaOkNBLGZhU29ydEFscGhhQXNjOkJQdCxmYVNvcnRBbHBoYURvd246SFB0LGZhTW9uZXlCaWxsOnFQdCxmYUNpcmNsZU1pbnVzOm1kZSxmYU1pbnVzQ2lyY2xlOmpQdCxmYUFycm93UG9pbnRlcjpnZGUsZmFNb3VzZVBvaW50ZXI6VlB0LGZhU3F1YXJlU2hhcmVOb2RlczpiZGUsZmFTaGFyZUFsdFNxdWFyZTpVUHQsZmFUYWJsZUNlbGxzTGFyZ2U6dmRlLGZhVGhMYXJnZTpXUHQsZmFDYXQ6R1B0LGZhQ2FsZW5kYXJXZWVrOllQdCxmYUNvZGVDb21wYXJlOlpQdCxmYUxlbzpYUHQsZmFSb2FkQ2lyY2xlWG1hcms6UVB0LGZhUGFsbGV0OkpQdCxmYUNha2VDYW5kbGVzOlRBLGZhQmlydGhkYXlDYWtlOktQdCxmYUNha2U6ZU50LGZhQnVnU2xhc2g6dE50LGZhVGFycDpyTnQsZmFEaWFncmFtUHJlZGVjZXNzb3I6YU50LGZhRmFjZUZsdXNoZWQ6eGRlLGZhRmx1c2hlZDppTnQsZmFEaWFncmFtTmV4dDpuTnQsZmFBbmNob3JDaXJjbGVYbWFyazpzTnQsZmFQZXJzb25DaXJjbGVYbWFyazpvTnQsZmFTcGE6bE50LGZhQXJpZXM6Y050LGZhQmFyc1Byb2dyZXNzOnlkZSxmYVRhc2tzQWx0OmROdCxmYUhlYXJ0Q2lyY2xlQ2hlY2s6dU50LGZhTWFyc1N0cm9rZVJpZ2h0OndkZSxmYU1hcnNTdHJva2VIOnBOdCxmYVRvd2VyT2JzZXJ2YXRpb246Zk50LGZhU3RlcmxpbmdTaWduOl9BLGZhR2JwOmhOdCxmYVBvdW5kU2lnbjptTnQsZmFGYXVjZXREcmlwOmdOdCxmYUNpcmNsZUluZm86X2IsZmFJbmZvQ2lyY2xlOmJOdCxmYUZlYXRoZXI6dk50LGZhQm93bFJpY2U6eE50LGZhU3RhckhhbGZTdHJva2U6TWRlLGZhU3RhckhhbGZBbHQ6eU50LGZhVGVtcGVyYXR1cmVBcnJvd0Rvd246a2RlLGZhVGVtcGVyYXR1cmVEb3duOndOdCxmYU1hc2tWZW50aWxhdG9yOk1OdCxmYUZpbGVWaWRlbzprTnQsZmFBcnJvd1RyZW5kRG93bjpTTnQsZmFPaWxDYW46ek50LGZhUGVvcGxlQ2FycnlCb3g6U2RlLGZhUGVvcGxlQ2Fycnk6Q050LGZhQ2hhaXI6VE50LGZhV2luZDpfTnQsZmFMYXllckdyb3VwOkxOdCxmYUhlYWRTaWRlTWFzazokTnQsZmFIYW5kczpMQSxmYVNpZ25MYW5ndWFnZTpETnQsZmFTaWduaW5nOkFOdCxmYVRhYmxldHM6RU50LGZhV2VpZ2h0SGFuZ2luZzpJTnQsZmFEaWNlOlBOdCxmYVNob3BTbGFzaDp6ZGUsZmFTdG9yZUFsdFNsYXNoOk5OdCxmYVNvcnREb3duOkNkZSxmYVNvcnREZXNjOkZOdCxmYVBlc2V0YVNpZ246T050LGZhVGFibGV0U2NyZWVuQnV0dG9uOlRkZSxmYVRhYmxldEFsdDpSTnQsZmFIYW5kSG9sZGluZ0RvbGxhcjpfZGUsZmFIYW5kSG9sZGluZ1VzZDpCTnQsZmFTaGllbGQ6TGRlLGZhU2hpZWxkQmxhbms6SE50LGZhRmFjZUxhdWdoOiRkZSxmYUxhdWdoOnFOdCxmYUhhbmRzSG9sZGluZzpqTnQsZmFDYXJ0U2hvcHBpbmc6RGRlLGZhU2hvcHBpbmdDYXJ0OlZOdCxmYU9jdGFnb246VU50LGZhSGFuZFBvaW50ZXI6V050LGZhUmVnaXN0ZXJlZDpHTnQsZmFIb3VzZVNpZ25hbDpZTnQsZmFCYW5nbGFkZXNoaVRha2FTaWduOlpOdH19KTt2YXIgYUY9amUoeD0+eyJ1c2Ugc3RyaWN0Ijt2YXIgUU50PXt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOjI0LGhlaWdodDoyNCx2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIiwic3Ryb2tlLXdpZHRoIjoyLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIiwic3Ryb2tlLWxpbmVqb2luIjoicm91bmQifSxKTnQ9KFtlLHQscl0pPT57bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZSk7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goaT0+e2Euc2V0QXR0cmlidXRlKGksU3RyaW5nKHRbaV0pKX0pLHI/Lmxlbmd0aCYmci5mb3JFYWNoKGk9PntsZXQgbj1KTnQoaSk7YS5hcHBlbmRDaGlsZChuKX0pLGF9LEtOdD0oZSx0PXt9KT0+e2xldCBhPXsuLi5RTnQsLi4udH07cmV0dXJuIEpOdChbInN2ZyIsYSxlXSl9LHdRcj1lPT57Zm9yKGxldCB0IGluIGUpaWYodC5zdGFydHNXaXRoKCJhcmlhLSIpfHx0PT09InJvbGUifHx0PT09InRpdGxlIilyZXR1cm4hMDtyZXR1cm4hMX0sTVFyPSguLi5lKT0+ZS5maWx0ZXIoKHQscixhKT0+ISF0JiZ0LnRyaW0oKSE9PSIiJiZhLmluZGV4T2YodCk9PT1yKS5qb2luKCIgIikudHJpbSgpLGtRcj1lPT5lLnJlcGxhY2UoL14oW0EtWl0pfFtccy1fXSsoXHcpL2csKHQscixhKT0+YT9hLnRvVXBwZXJDYXNlKCk6ci50b0xvd2VyQ2FzZSgpKSxTUXI9ZT0+e2xldCB0PWtRcihlKTtyZXR1cm4gdC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpfSx6UXI9ZT0+QXJyYXkuZnJvbShlLmF0dHJpYnV0ZXMpLnJlZHVjZSgodCxyKT0+KHRbci5uYW1lXT1yLnZhbHVlLHQpLHt9KSxlRnQ9ZT0+dHlwZW9mIGU9PSJzdHJpbmciP2U6IWV8fCFlLmNsYXNzPyIiOmUuY2xhc3MmJnR5cGVvZiBlLmNsYXNzPT0ic3RyaW5nIj9lLmNsYXNzLnNwbGl0KCIgIik6ZS5jbGFzcyYmQXJyYXkuaXNBcnJheShlLmNsYXNzKT9lLmNsYXNzOiIiLHRGdD0oZSx7bmFtZUF0dHI6dCxpY29uczpyLGF0dHJzOmF9KT0+e2xldCBpPWUuZ2V0QXR0cmlidXRlKHQpO2lmKGk9PW51bGwpcmV0dXJuO2xldCBuPVNRcihpKSxzPXJbbl07aWYoIXMpcmV0dXJuIGNvbnNvbGUud2FybihgJHtlLm91dGVySFRNTH0gaWNvbiBuYW1lIHdhcyBub3QgZm91bmQgaW4gdGhlIHByb3ZpZGVkIGljb25zIG9iamVjdC5gKTtsZXQgbz16UXIoZSksYz13UXIobyk/e306eyJhcmlhLWhpZGRlbiI6InRydWUifSxsPXsuLi5RTnQsImRhdGEtbHVjaWRlIjppLC4uLmMsLi4uYSwuLi5vfSx1PWVGdChvKSxkPWVGdChhKSxoPU1RcigibHVjaWRlIixgbHVjaWRlLSR7aX1gLC4uLnUsLi4uZCk7aCYmT2JqZWN0LmFzc2lnbihsLHtjbGFzczpofSk7bGV0IG09S050KHMsbCk7cmV0dXJuIGUucGFyZW50Tm9kZT8ucmVwbGFjZUNoaWxkKG0sZSl9LHJGdD1bWyJwYXRoIix7ZDoibTE0IDEyIDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTE4IDE2VjcifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dLGFGdD1bWyJwYXRoIix7ZDoibTE0IDExIDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE4IDE2VjcifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dLGlGdD1bWyJwYXRoIix7ZDoibTE1IDE2IDIuNTM2LTcuMzI4YTEuMDIgMS4wMiAxIDAgMSAxLjkyOCAwTDIyIDE2In1dLFsicGF0aCIse2Q6Ik0xNS42OTcgMTRoNS42MDYifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dLG5GdD1bWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiI0IixyOiIxIn1dLFsicGF0aCIse2Q6Im0xOCAxOSAxLTctNiAxIn1dLFsicGF0aCIse2Q6Im01IDggMy0zIDUuNSAzLTIuMzYgMy41In1dLFsicGF0aCIse2Q6Ik00LjI0IDE0LjVhNSA1IDAgMCAwIDYuODggNiJ9XSxbInBhdGgiLHtkOiJNMTMuNzYgMTcuNWE1IDUgMCAwIDAtNi44OC02In1dXSxzRnQ9W1sicGF0aCIse2Q6Ik0xOCAxNy41YTIuNSAyLjUgMCAxIDEtNCAyLjAzVjEyIn1dLFsicGF0aCIse2Q6Ik02IDEySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY1YTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTYgOGgxMiJ9XSxbInBhdGgiLHtkOiJNNi42IDE1LjU3MkEyIDIgMCAxIDAgMTAgMTd2LTUifV1dLG9GdD1bWyJwYXRoIix7ZDoiTTIyIDEyaC0yLjQ4YTIgMiAwIDAgMC0xLjkzIDEuNDZsLTIuMzUgOC4zNmEuMjUuMjUgMCAwIDEtLjQ4IDBMOS4yNCAyLjE4YS4yNS4yNSAwIDAgMC0uNDggMGwtMi4zNSA4LjM2QTIgMiAwIDAgMSA0LjQ5IDEySDIifV1dLGxGdD1bWyJwYXRoIix7ZDoiTTUgMTdINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJoLTEifV0sWyJwYXRoIix7ZDoibTEyIDE1IDUgNkg3WiJ9XV0sWEE9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjgifV0sWyJwYXRoIix7ZDoiTTUgMyAyIDYifV0sWyJwYXRoIix7ZDoibTIyIDYtMy0zIn1dLFsicGF0aCIse2Q6Ik02LjM4IDE4LjcgNCAyMSJ9XSxbInBhdGgiLHtkOiJNMTcuNjQgMTguNjcgMjAgMjEifV0sWyJwYXRoIix7ZDoibTkgMTMgMiAyIDQtNCJ9XV0sUUE9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjgifV0sWyJwYXRoIix7ZDoiTTUgMyAyIDYifV0sWyJwYXRoIix7ZDoibTIyIDYtMy0zIn1dLFsicGF0aCIse2Q6Ik02LjM4IDE4LjcgNCAyMSJ9XSxbInBhdGgiLHtkOiJNMTcuNjQgMTguNjcgMjAgMjEifV0sWyJwYXRoIix7ZDoiTTkgMTNoNiJ9XV0sY0Z0PVtbInBhdGgiLHtkOiJNNi44NyA2Ljg3YTggOCAwIDEgMCAxMS4yNiAxMS4yNiJ9XSxbInBhdGgiLHtkOiJNMTkuOSAxNC4yNWE4IDggMCAwIDAtOS4xNS05LjE1In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4yNiAxOC42NyA0IDIxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTQgNCAyIDYifV1dLEpBPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik01IDMgMiA2In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4zOCAxOC43IDQgMjEifV0sWyJwYXRoIix7ZDoiTTE3LjY0IDE4LjY3IDIwIDIxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMHY2In1dLFsicGF0aCIse2Q6Ik05IDEzaDYifV1dLGRGdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiOCJ9XSxbInBhdGgiLHtkOiJNMTIgOXY0bDIgMiJ9XSxbInBhdGgiLHtkOiJNNSAzIDIgNiJ9XSxbInBhdGgiLHtkOiJtMjIgNi0zLTMifV0sWyJwYXRoIix7ZDoiTTYuMzggMTguNyA0IDIxIn1dLFsicGF0aCIse2Q6Ik0xNy42NCAxOC42NyAyMCAyMSJ9XV0sdUZ0PVtbInBhdGgiLHtkOiJNMTEgMjFjMC0yLjUgMi0yLjUgMi01In1dLFsicGF0aCIse2Q6Ik0xNiAyMWMwLTIuNSAyLTIuNSAyLTUifV0sWyJwYXRoIix7ZDoibTE5IDgtLjggM2ExLjI1IDEuMjUgMCAwIDEtMS4yIDFIN2ExLjI1IDEuMjUgMCAwIDEtMS4yLTFMNSA4In1dLFsicGF0aCIse2Q6Ik0yMSAzYTEgMSAwIDAgMSAxIDF2MmEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY0YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik02IDIxYzAtMi41IDItMi41IDItNSJ9XV0scEZ0PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIxMSAzIDExIDExIDE0IDggMTcgMTEgMTcgMyJ9XV0sZkZ0PVtbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNMTAgMTZ2NGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtNCJ9XSxbInBhdGgiLHtkOiJNMTAgOFY0YTIgMiAwIDAgMC0yLTJINmEyIDIgMCAwIDAtMiAydjQifV0sWyJwYXRoIix7ZDoiTTIwIDE2djFhMiAyIDAgMCAxLTIgMmgtMmEyIDIgMCAwIDEtMi0ydi0xIn1dLFsicGF0aCIse2Q6Ik0xNCA4VjdjMC0xLjEuOS0yIDItMmgyYTIgMiAwIDAgMSAyIDJ2MSJ9XV0saEZ0PVtbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XSxbInBhdGgiLHtkOiJNOCAxMEg0YTIgMiAwIDAgMS0yLTJWNmMwLTEuMS45LTIgMi0yaDQifV0sWyJwYXRoIix7ZDoiTTE2IDEwaDRhMiAyIDAgMCAwIDItMlY2YTIgMiAwIDAgMC0yLTJoLTQifV0sWyJwYXRoIix7ZDoiTTggMjBIN2EyIDIgMCAwIDEtMi0ydi0yYzAtMS4xLjktMiAyLTJoMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTRoMWEyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAxLTIgMmgtMSJ9XV0sbUZ0PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNiIseDoiNCIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiOSIseDoiMTQiLHk6IjkiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMkgyIn1dXSxnRnQ9W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiI2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiOSIsaGVpZ2h0OiI2Iix4OiI5Iix5OiIxNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDIyVjIifV1dLGJGdD1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjQiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNCIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE3IDIydi01In1dLFsicGF0aCIse2Q6Ik0xNyA3VjIifV0sWyJwYXRoIix7ZDoiTTcgMjJ2LTMifV0sWyJwYXRoIix7ZDoiTTcgNVYyIn1dXSx2RnQ9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiI0Iix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTQiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMCAydjIwIn1dLFsicGF0aCIse2Q6Ik0yMCAydjIwIn1dXSx4RnQ9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiI0Iix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTQiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDJ2MjAifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MjAifV1dLHlGdD1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNiIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MjAifV1dLHdGdD1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxMiIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDJ2MjAifV1dLE1GdD1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjYiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNiIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMnYyMCJ9XV0sa0Z0PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiOSIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMjJWMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjJWMiJ9XV0sU0Z0PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiMyIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE1Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAydjIwIn1dLFsicGF0aCIse2Q6Ik0yMSAydjIwIn1dXSx6RnQ9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE2Iix4OiI0Iix5OiI2IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiI5Iix4OiIxNCIseToiNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDJIMiJ9XV0sQ0Z0PVtbInJlY3QiLHt3aWR0aDoiOSIsaGVpZ2h0OiI2Iix4OiI2Iix5OiIxNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjYiLHg6IjYiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDJ2MjAifV1dLFRGdD1bWyJwYXRoIix7ZDoiTTIyIDE3aC0zIn1dLFsicGF0aCIse2Q6Ik0yMiA3aC01In1dLFsicGF0aCIse2Q6Ik01IDE3SDIifV0sWyJwYXRoIix7ZDoiTTcgN0gyIn1dLFsicmVjdCIse3g6IjUiLHk6IjE0Iix3aWR0aDoiMTQiLGhlaWdodDoiNiIscng6IjIifV0sWyJyZWN0Iix7eDoiNyIseToiNCIsd2lkdGg6IjEwIixoZWlnaHQ6IjYiLHJ4OiIyIn1dXSxfRnQ9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDIwaDIwIn1dLFsicGF0aCIse2Q6Ik0yIDEwaDIwIn1dXSxMRnQ9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDE0aDIwIn1dLFsicGF0aCIse2Q6Ik0yIDRoMjAifV1dLCRGdD1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjE2IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjAifV1dLERGdD1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjEyIixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMjJoMjAifV1dLEFGdD1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjE2IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMmgyMCJ9XV0sRUZ0PVtbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiOSIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDIwSDIifV0sWyJwYXRoIix7ZDoiTTIyIDRIMiJ9XV0sSUZ0PVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiNiIseDoiNSIseToiMTUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAyMWgyMCJ9XSxbInBhdGgiLHtkOiJNMiAzaDIwIn1dXSxQRnQ9W1sicGF0aCIse2Q6Ik0xMCAxMEg2In1dLFsicGF0aCIse2Q6Ik0xNCAxOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjExYTEgMSAwIDAgMCAxIDFoMiJ9XSxbInBhdGgiLHtkOiJNMTkgMThoMmExIDEgMCAwIDAgMS0xdi0zLjI4YTEgMSAwIDAgMC0uNjg0LS45NDhsLTEuOTIzLS42NDFhMSAxIDAgMCAxLS41NzgtLjUwMmwtMS41MzktMy4wNzZBMSAxIDAgMCAwIDE2LjM4MiA4SDE0In1dLFsicGF0aCIse2Q6Ik04IDh2NCJ9XSxbInBhdGgiLHtkOiJNOSAxOGg2In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTgiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIyIn1dXSxORnQ9W1sicGF0aCIse2Q6Ik0xNiAxMmgzIn1dLFsicGF0aCIse2Q6Ik0xNy41IDEyYTggOCAwIDAgMS04IDhBNC41IDQuNSAwIDAgMSA1IDE1LjVjMC02IDgtNCA4LTguNWEzIDMgMCAxIDAtNiAwYzAgMyAyLjUgOC41IDEyIDEzIn1dXSxGRnQ9W1sicGF0aCIse2Q6Ik0xMCAxN2MtNS0zLTctNy03LTlhMiAyIDAgMCAxIDQgMGMwIDIuNS01IDIuNS01IDYgMCAxLjcgMS4zIDMgMyAzIDIuOCAwIDUtMi4yIDUtNSJ9XSxbInBhdGgiLHtkOiJNMjIgMTdjLTUtMy03LTctNy05YTIgMiAwIDAgMSA0IDBjMCAyLjUtNSAyLjUtNSA2IDAgMS43IDEuMyAzIDMgMyAyLjggMCA1LTIuMiA1LTUifV1dLE9GdD1bWyJwYXRoIix7ZDoiTTEwIDJ2NS42MzJjMCAuNDI0LS4yNzIuNzk1LS42NTMuOTgyQTYgNiAwIDAgMCA2IDE0Yy4wMDYgNCAzIDcgNSA4In1dLFsicGF0aCIse2Q6Ik0xMCA1SDhhMiAyIDAgMCAwIDAgNGguNjgifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NS42MzJjMCAuNDI0LjI3Mi43OTUuNjUyLjk4MkE2IDYgMCAwIDEgMTggMTRjMCA0LTMgNy01IDgifV0sWyJwYXRoIix7ZDoiTTE0IDVoMmEyIDIgMCAwIDEgMCA0aC0uNjgifV0sWyJwYXRoIix7ZDoiTTE4IDIySDYifV0sWyJwYXRoIix7ZDoiTTkgMmg2In1dXSxSRnQ9W1sicGF0aCIse2Q6Ik0xMiA2djE2In1dLFsicGF0aCIse2Q6Im0xOSAxMyAyLTFhOSA5IDAgMCAxLTE4IDBsMiAxIn1dLFsicGF0aCIse2Q6Ik05IDExaDYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI0IixyOiIyIn1dXSxCRnQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xNiAxNnMtMS41LTItNC0yLTQgMi00IDIifV0sWyJwYXRoIix7ZDoiTTcuNSA4IDEwIDkifV0sWyJwYXRoIix7ZDoibTE0IDkgMi41LTEifV0sWyJwYXRoIix7ZDoiTTkgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAxMGguMDEifV1dLEhGdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTggMTVoOCJ9XSxbInBhdGgiLHtkOiJNOCA5aDIifV0sWyJwYXRoIix7ZDoiTTE0IDloMiJ9XV0scUZ0PVtbInBhdGgiLHtkOiJNMiAxMiA3IDIifV0sWyJwYXRoIix7ZDoibTcgMTIgNS0xMCJ9XSxbInBhdGgiLHtkOiJtMTIgMTIgNS0xMCJ9XSxbInBhdGgiLHtkOiJtMTcgMTIgNS0xMCJ9XSxbInBhdGgiLHtkOiJNNC41IDdoMTUifV0sWyJwYXRoIix7ZDoiTTEyIDE2djYifV1dLGpGdD1bWyJwYXRoIix7ZDoiTTcgMTBINmE0IDQgMCAwIDEtNC00IDEgMSAwIDAgMSAxLTFoNCJ9XSxbInBhdGgiLHtkOiJNNyA1YTEgMSAwIDAgMSAxLTFoMTNhMSAxIDAgMCAxIDEgMSA3IDcgMCAwIDEtNyA3SDhhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTkgMTJ2NSJ9XSxbInBhdGgiLHtkOiJNMTUgMTJ2NSJ9XSxbInBhdGgiLHtkOiJNNSAyMGEzIDMgMCAwIDEgMy0zaDhhMyAzIDAgMCAxIDMgMyAxIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMSJ9XV0sVkZ0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTQuMzEgOCA1Ljc0IDkuOTQifV0sWyJwYXRoIix7ZDoiTTkuNjkgOGgxMS40OCJ9XSxbInBhdGgiLHtkOiJtNy4zOCAxMiA1Ljc0LTkuOTQifV0sWyJwYXRoIix7ZDoiTTkuNjkgMTYgMy45NSA2LjA2In1dLFsicGF0aCIse2Q6Ik0xNC4zMSAxNkgyLjgzIn1dLFsicGF0aCIse2Q6Im0xNi42MiAxMi01Ljc0IDkuOTQifV1dLFVGdD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE0IDhoLjAxIn1dXSxXRnQ9W1sicmVjdCIse3g6IjIiLHk6IjQiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEwIDR2NCJ9XSxbInBhdGgiLHtkOiJNMiA4aDIwIn1dLFsicGF0aCIse2Q6Ik02IDR2NCJ9XV0sR0Z0PVtbInBhdGgiLHtkOiJNMTIgNi41MjhWM2ExIDEgMCAwIDEgMS0xaDAifV0sWyJwYXRoIix7ZDoiTTE4LjIzNyAyMUExNSAxNSAwIDAgMCAyMiAxMWE2IDYgMCAwIDAtMTAtNC40NzJBNiA2IDAgMCAwIDIgMTFhMTUuMSAxNS4xIDAgMCAwIDMuNzYzIDEwIDMgMyAwIDAgMCAzLjY0OC42NDggNS41IDUuNSAwIDAgMSA1LjE3OCAwQTMgMyAwIDAgMCAxOC4yMzcgMjEifV1dLFlGdD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjUiLHg6IjIiLHk6IjMiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik00IDh2MTFhMiAyIDAgMCAwIDIgMmgyIn1dLFsicGF0aCIse2Q6Ik0yMCA4djExYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoibTkgMTUgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2OSJ9XV0sWkZ0PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNSIseDoiMiIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTQgOHYxMWEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOCJ9XSxbInBhdGgiLHtkOiJtOS41IDE3IDUtNSJ9XSxbInBhdGgiLHtkOiJtOS41IDEyIDUgNSJ9XV0sWEZ0PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNSIseDoiMiIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTQgOHYxMWEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTJoNCJ9XV0sUUZ0PVtbInBhdGgiLHtkOiJNMTkgOVY2YTIgMiAwIDAgMC0yLTJIN2EyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTMgMTZhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi01YTIgMiAwIDAgMC00IDB2MS41YS41LjUgMCAwIDEtLjUuNWgtOWEuNS41IDAgMCAxLS41LS41VjExYTIgMiAwIDAgMC00IDB6In1dLFsicGF0aCIse2Q6Ik01IDE4djIifV0sWyJwYXRoIix7ZDoiTTE5IDE4djIifV1dLEpGdD1bWyJwYXRoIix7ZDoiTTE1IDExYTEgMSAwIDAgMCAxIDFoMi45MzlhMSAxIDAgMCAxIC43NSAxLjgxMWwtNi44MzUgNi44MzZhMS4yMDcgMS4yMDcgMCAwIDEtMS43MDcgMEw0LjMxIDEzLjgxYTEgMSAwIDAgMSAuNzUtMS44MTFIOGExIDEgMCAwIDAgMS0xVjlhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik05IDRoNiJ9XV0sS0Z0PVtbInBhdGgiLHtkOiJNMTUgMTFhMSAxIDAgMCAwIDEgMWgyLjkzOWExIDEgMCAwIDEgLjc1IDEuODExbC02LjgzNSA2LjgzNmExLjIwNyAxLjIwNyAwIDAgMS0xLjcwNyAwTDQuMzEgMTMuODFhMSAxIDAgMCAxIC43NS0xLjgxMUg4YTEgMSAwIDAgMCAxLTFWNWExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXoifV1dLGVPdD1bWyJwYXRoIix7ZDoiTTEzIDlhMSAxIDAgMCAxLTEtMVY1LjA2MWExIDEgMCAwIDAtMS44MTEtLjc1bC02LjgzNSA2LjgzNmExLjIwNyAxLjIwNyAwIDAgMCAwIDEuNzA3bDYuODM1IDYuODM1YTEgMSAwIDAgMCAxLjgxMS0uNzVWMTZhMSAxIDAgMCAxIDEtMWgyYTEgMSAwIDAgMCAxLTF2LTRhMSAxIDAgMCAwLTEtMXoifV0sWyJwYXRoIix7ZDoiTTIwIDl2NiJ9XV0sdE90PVtbInBhdGgiLHtkOiJNMTMgOWExIDEgMCAwIDEtMS0xVjUuMDYxYTEgMSAwIDAgMC0xLjgxMS0uNzVsLTYuODM1IDYuODM2YTEuMjA3IDEuMjA3IDAgMCAwIDAgMS43MDdsNi44MzUgNi44MzVhMSAxIDAgMCAwIDEuODExLS43NVYxNmExIDEgMCAwIDEgMS0xaDZhMSAxIDAgMCAwIDEtMXYtNGExIDEgMCAwIDAtMS0xeiJ9XV0sck90PVtbInBhdGgiLHtkOiJNMTEgOWExIDEgMCAwIDAgMS0xVjUuMDYxYTEgMSAwIDAgMSAxLjgxMS0uNzVsNi44MzYgNi44MzZhMS4yMDcgMS4yMDcgMCAwIDEgMCAxLjcwN2wtNi44MzYgNi44MzVhMSAxIDAgMCAxLTEuODExLS43NVYxNmExIDEgMCAwIDAtMS0xSDlhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNCA5djYifV1dLGFPdD1bWyJwYXRoIix7ZDoiTTExIDlhMSAxIDAgMCAwIDEtMVY1LjA2MWExIDEgMCAwIDEgMS44MTEtLjc1bDYuODM2IDYuODM2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDdsLTYuODM2IDYuODM1YTEgMSAwIDAgMS0xLjgxMS0uNzVWMTZhMSAxIDAgMCAwLTEtMUg1YTEgMSAwIDAgMS0xLTF2LTRhMSAxIDAgMCAxIDEtMXoifV1dLGlPdD1bWyJwYXRoIix7ZDoiTTkgMTNhMSAxIDAgMCAwLTEtMUg1LjA2MWExIDEgMCAwIDEtLjc1LTEuODExbDYuODM2LTYuODM1YTEuMjA3IDEuMjA3IDAgMCAxIDEuNzA3IDBsNi44MzUgNi44MzVhMSAxIDAgMCAxLS43NSAxLjgxMUgxNmExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAxLTEgMWgtNGExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSAyMGg2In1dXSxuT3Q9W1sicGF0aCIse2Q6Ik05IDEzYTEgMSAwIDAgMC0xLTFINS4wNjFhMSAxIDAgMCAxLS43NS0xLjgxMWw2LjgzNi02LjgzNWExLjIwNyAxLjIwNyAwIDAgMSAxLjcwNyAwbDYuODM1IDYuODM1YTEgMSAwIDAgMS0uNzUgMS44MTFIMTZhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMS0xIDFoLTRhMSAxIDAgMCAxLTEtMXoifV1dLHNPdD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicmVjdCIse3g6IjE1Iix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiI2IixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTcgMjB2LTZoLTIifV0sWyJwYXRoIix7ZDoiTTE1IDIwaDQifV1dLG9PdD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicGF0aCIse2Q6Ik0xNyAxMFY0aC0yIn1dLFsicGF0aCIse2Q6Ik0xNSAxMGg0In1dLFsicmVjdCIse3g6IjE1Iix5OiIxNCIsd2lkdGg6IjQiLGhlaWdodDoiNiIscnk6IjIifV1dLEtBPVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJwYXRoIix7ZDoiTTIwIDhoLTUifV0sWyJwYXRoIix7ZDoiTTE1IDEwVjYuNWEyLjUgMi41IDAgMCAxIDUgMFYxMCJ9XSxbInBhdGgiLHtkOiJNMTUgMTRoNWwtNSA2aDUifV1dLGxPdD1bWyJwYXRoIix7ZDoiTTE5IDNINSJ9XSxbInBhdGgiLHtkOiJNMTIgMjFWNyJ9XSxbInBhdGgiLHtkOiJtNiAxNSA2IDYgNi02In1dXSxjT3Q9W1sicGF0aCIse2Q6Ik0xNyA3IDcgMTcifV0sWyJwYXRoIix7ZDoiTTE3IDE3SDdWNyJ9XV0sZE90PVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJwYXRoIix7ZDoiTTExIDRoNCJ9XSxbInBhdGgiLHtkOiJNMTEgOGg3In1dLFsicGF0aCIse2Q6Ik0xMSAxMmgxMCJ9XV0sdU90PVtbInBhdGgiLHtkOiJtNyA3IDEwIDEwIn1dLFsicGF0aCIse2Q6Ik0xNyA3djEwSDcifV1dLHBPdD1bWyJwYXRoIix7ZDoiTTEyIDJ2MTQifV0sWyJwYXRoIix7ZDoibTE5IDktNyA3LTctNyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjIxIixyOiIxIn1dXSxmT3Q9W1sicGF0aCIse2Q6Ik0xMiAxN1YzIn1dLFsicGF0aCIse2Q6Im02IDExIDYgNiA2LTYifV0sWyJwYXRoIix7ZDoiTTE5IDIxSDUifV1dLGhPdD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicGF0aCIse2Q6Im0yMSA4LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTE3IDR2MTYifV1dLGVFPVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJwYXRoIix7ZDoiTTExIDRoMTAifV0sWyJwYXRoIix7ZDoiTTExIDhoNyJ9XSxbInBhdGgiLHtkOiJNMTEgMTJoNCJ9XV0sdEU9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTUgNGg1bC01IDZoNSJ9XSxbInBhdGgiLHtkOiJNMTUgMjB2LTMuNWEyLjUgMi41IDAgMCAxIDUgMFYyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMThoLTUifV1dLG1PdD1bWyJwYXRoIix7ZDoiTTEyIDV2MTQifV0sWyJwYXRoIix7ZDoibTE5IDEyLTcgNy03LTcifV1dLGdPdD1bWyJwYXRoIix7ZDoibTkgNi02IDYgNiA2In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE0In1dLFsicGF0aCIse2Q6Ik0yMSAxOVY1In1dXSxiT3Q9W1sicGF0aCIse2Q6Ik04IDMgNCA3bDQgNCJ9XSxbInBhdGgiLHtkOiJNNCA3aDE2In1dLFsicGF0aCIse2Q6Im0xNiAyMSA0LTQtNC00In1dLFsicGF0aCIse2Q6Ik0yMCAxN0g0In1dXSx2T3Q9W1sicGF0aCIse2Q6Ik0zIDE5VjUifV0sWyJwYXRoIix7ZDoibTEzIDYtNiA2IDYgNiJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxNCJ9XV0seE90PVtbInBhdGgiLHtkOiJtMTIgMTktNy03IDctNyJ9XSxbInBhdGgiLHtkOiJNMTkgMTJINSJ9XV0seU90PVtbInBhdGgiLHtkOiJNMyA1djE0In1dLFsicGF0aCIse2Q6Ik0yMSAxMkg3In1dLFsicGF0aCIse2Q6Im0xNSAxOCA2LTYtNi02In1dXSx3T3Q9W1sicGF0aCIse2Q6Im0xNiAzIDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTIwIDdINCJ9XSxbInBhdGgiLHtkOiJtOCAyMS00LTQgNC00In1dLFsicGF0aCIse2Q6Ik00IDE3aDE2In1dXSxNT3Q9W1sicGF0aCIse2Q6Ik0xNyAxMkgzIn1dLFsicGF0aCIse2Q6Im0xMSAxOCA2LTYtNi02In1dLFsicGF0aCIse2Q6Ik0yMSA1djE0In1dXSxrT3Q9W1sicGF0aCIse2Q6Ik01IDEyaDE0In1dLFsicGF0aCIse2Q6Im0xMiA1IDcgNy03IDcifV1dLFNPdD1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNyAyMHYtNmgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMjBoNCJ9XV0sek90PVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTBWNGgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTBoNCJ9XSxbInJlY3QiLHt4OiIxNSIseToiMTQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dXSxyRT1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTIwIDhoLTUifV0sWyJwYXRoIix7ZDoiTTE1IDEwVjYuNWEyLjUgMi41IDAgMCAxIDUgMFYxMCJ9XSxbInBhdGgiLHtkOiJNMTUgMTRoNWwtNSA2aDUifV1dLENPdD1bWyJwYXRoIix7ZDoibTIxIDE2LTQgNC00LTQifV0sWyJwYXRoIix7ZDoiTTE3IDIwVjQifV0sWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV1dLFRPdD1bWyJwYXRoIix7ZDoibTUgOSA3LTcgNyA3In1dLFsicGF0aCIse2Q6Ik0xMiAxNlYyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMjEiLHI6IjEifV1dLF9PdD1bWyJwYXRoIix7ZDoibTE4IDktNi02LTYgNiJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxNCJ9XSxbInBhdGgiLHtkOiJNNSAyMWgxNCJ9XV0sTE90PVtbInBhdGgiLHtkOiJNNyAxN1Y3aDEwIn1dLFsicGF0aCIse2Q6Ik0xNyAxNyA3IDcifV1dLGFFPVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTEgMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTEgMTZoNyJ9XSxbInBhdGgiLHtkOiJNMTEgMjBoMTAifV1dLCRPdD1bWyJwYXRoIix7ZDoiTTcgN2gxMHYxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNyAxNyA3In1dXSxET3Q9W1sicGF0aCIse2Q6Ik01IDNoMTQifV0sWyJwYXRoIix7ZDoibTE4IDEzLTYtNi02IDYifV0sWyJwYXRoIix7ZDoiTTEyIDd2MTQifV1dLEFPdD1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTExIDEyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMSAxNmg3In1dLFsicGF0aCIse2Q6Ik0xMSAyMGg0In1dXSxpRT1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE1IDRoNWwtNSA2aDUifV0sWyJwYXRoIix7ZDoiTTE1IDIwdi0zLjVhMi41IDIuNSAwIDAgMSA1IDBWMjAifV0sWyJwYXRoIix7ZDoiTTIwIDE4aC01In1dXSxFT3Q9W1sicGF0aCIse2Q6Im01IDEyIDctNyA3IDcifV0sWyJwYXRoIix7ZDoiTTEyIDE5VjUifV1dLElPdD1bWyJwYXRoIix7ZDoibTQgNiAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik03IDE3VjMifV0sWyJwYXRoIix7ZDoibTE0IDYgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTdWMyJ9XSxbInBhdGgiLHtkOiJNNCAyMWgxNiJ9XV0sUE90PVtbInBhdGgiLHtkOiJNMTIgNnYxMiJ9XSxbInBhdGgiLHtkOiJNMTcuMTk2IDkgNi44MDQgMTUifV0sWyJwYXRoIix7ZDoibTYuODA0IDkgMTAuMzkyIDYifV1dLE5PdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTYgOHY1YTMgMyAwIDAgMCA2IDB2LTFhMTAgMTAgMCAxIDAtNCA4In1dXSxGT3Q9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEifV0sWyJwYXRoIix7ZDoiTTIwLjIgMjAuMmMyLjA0LTIuMDMuMDItNy4zNi00LjUtMTEuOS00LjU0LTQuNTItOS44Ny02LjU0LTExLjktNC41LTIuMDQgMi4wMy0uMDIgNy4zNiA0LjUgMTEuOSA0LjU0IDQuNTIgOS44NyA2LjU0IDExLjkgNC41WiJ9XSxbInBhdGgiLHtkOiJNMTUuNyAxNS43YzQuNTItNC41NCA2LjU0LTkuODcgNC41LTExLjktMi4wMy0yLjA0LTcuMzYtLjAyLTExLjkgNC41LTQuNTIgNC41NC02LjU0IDkuODctNC41IDExLjkgMi4wMyAyLjA0IDcuMzYuMDIgMTEuOS00LjVaIn1dXSxPT3Q9W1sicGF0aCIse2Q6Ik0yIDEwdjMifV0sWyJwYXRoIix7ZDoiTTYgNnYxMSJ9XSxbInBhdGgiLHtkOiJNMTAgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTQgOHY3In1dLFsicGF0aCIse2Q6Ik0xOCA1djEzIn1dLFsicGF0aCIse2Q6Ik0yMiAxMHYzIn1dXSxST3Q9W1sicGF0aCIse2Q6Ik0yIDEzYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDEgNCAwdjEzYTIgMiAwIDAgMCA0IDBWNGEyIDIgMCAwIDEgNCAwdjEzYTIgMiAwIDAgMCA0IDB2LTRhMiAyIDAgMCAxIDItMiJ9XV0sQk90PVtbInBhdGgiLHtkOiJtMTUuNDc3IDEyLjg5IDEuNTE1IDguNTI2YS41LjUgMCAwIDEtLjgxLjQ3bC0zLjU4LTIuNjg3YTEgMSAwIDAgMC0xLjE5NyAwbC0zLjU4NiAyLjY4NmEuNS41IDAgMCAxLS44MS0uNDY5bDEuNTE0LTguNTI2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiNiJ9XV0sSE90PVtbInBhdGgiLHtkOiJtMTQgMTItOC4zODEgOC4zOGExIDEgMCAwIDEtMy4wMDEtM0wxMSA5In1dLFsicGF0aCIse2Q6Ik0xNSAxNS41YS41LjUgMCAwIDAgLjUuNUE2LjUgNi41IDAgMCAwIDIyIDkuNWEuNS41IDAgMCAwLS41LS41aC0xLjY3MmEyIDIgMCAwIDEtMS40MTQtLjU4NmwtNS4wNjItNS4wNjJhMS4yMDUgMS4yMDUgMCAwIDAtMS43MDQgMEw5LjM1MiA1LjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDUuMDYyIDUuMDYyQTIgMiAwIDAgMSAxNSAxMy44Mjh6In1dXSxuRT1bWyJwYXRoIix7ZDoiTTEzLjUgMTAuNSAxNSA5In1dLFsicGF0aCIse2Q6Ik00IDR2MTVhMSAxIDAgMCAwIDEgMWgxNSJ9XSxbInBhdGgiLHtkOiJNNC4yOTMgMTkuNzA3IDYgMTgifV0sWyJwYXRoIix7ZDoibTkgMTUgMS41LTEuNSJ9XV0scU90PVtbInBhdGgiLHtkOiJNNCAxMGE0IDQgMCAwIDEgNC00aDhhNCA0IDAgMCAxIDQgNHYxMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnoifV0sWyJwYXRoIix7ZDoiTTggMTBoOCJ9XSxbInBhdGgiLHtkOiJNOCAxOGg4In1dLFsicGF0aCIse2Q6Ik04IDIydi02YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjYifV0sWyJwYXRoIix7ZDoiTTkgNlY0YTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMiAydjIifV1dLGpPdD1bWyJwYXRoIix7ZDoiTTEwIDE2Yy41LjMgMS4yLjUgMiAuNXMxLjUtLjIgMi0uNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOS4zOCA2LjgxM0E5IDkgMCAwIDEgMjAuOCAxMC4yYTIgMiAwIDAgMSAwIDMuNiA5IDkgMCAwIDEtMTcuNiAwIDIgMiAwIDAgMSAwLTMuNkE5IDkgMCAwIDEgMTIgM2MyIDAgMy41IDEuMSAzLjUgMi41cy0uOSAyLjUtMiAyLjVjLS44IDAtMS41LS40LTEuNS0xIn1dLFsicGF0aCIse2Q6Ik05IDEyaC4wMSJ9XV0sVk90PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI4Iix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIuMDEiLHkxOiIxNiIseTI6IjE2In1dXSxVT3Q9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNMTIgN3YxMCJ9XSxbInBhdGgiLHtkOiJNMTUuNCAxMGE0IDQgMCAxIDAgMCA0In1dXSxzRT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Im05IDEyIDIgMiA0LTQifV1dLFdPdD1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik04IDhoOCJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Im0xMyAxNy01LTFoMWE0IDQgMCAwIDAgMC04In1dXSxHT3Q9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNMTYgOGgtNmEyIDIgMCAxIDAgMCA0aDRhMiAyIDAgMSAxIDAgNEg4In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dXSxZT3Q9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNNyAxMmg1In1dLFsicGF0aCIse2Q6Ik0xNSA5LjRhNCA0IDAgMSAwIDAgNS4yIn1dXSxaT3Q9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE2Iix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIuMDEiLHkxOiI4Iix5MjoiOCJ9XV0sWE90PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoibTkgOCAzIDN2NyJ9XSxbInBhdGgiLHtkOiJtMTIgMTEgMy0zIn1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV0sWyJwYXRoIix7ZDoiTTkgMTZoNiJ9XV0sUU90PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjEyIix5MjoiMTIifV1dLEpPdD1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJNOSA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTVoLjAxIn1dXSxLT3Q9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjgiLHkyOiIxNiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XV0sZVJ0PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTggMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTAgMTZWOS41YTIuNSAyLjUgMCAwIDEgNSAwIn1dLFsicGF0aCIse2Q6Ik04IDE2aDcifV1dLG9FPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTciLHkyOiIxNyJ9XV0sdFJ0PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTkgMTZoNSJ9XSxbInBhdGgiLHtkOiJNOSAxMmg1YTIgMiAwIDEgMCAwLTRoLTN2OSJ9XV0sclJ0PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTExIDE3VjhoNCJ9XSxbInBhdGgiLHtkOiJNMTEgMTJoMyJ9XSxbInBhdGgiLHtkOiJNOSAxNmg0In1dXSxhUnQ9W1sicGF0aCIse2Q6Ik0xMSA3djEwYTUgNSAwIDAgMCA1LTUifV0sWyJwYXRoIix7ZDoibTE1IDgtNiAzIn1dLFsicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2In1dXSxpUnQ9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiI5Iix5MToiOSIseTI6IjE1In1dLFsibGluZSIse3gxOiI5Iix4MjoiMTUiLHkxOiI5Iix5MjoiMTUifV1dLG5SdD1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dXSxzUnQ9W1sicGF0aCIse2Q6Ik0yMiAxOEg2YTIgMiAwIDAgMS0yLTJWN2EyIDIgMCAwIDAtMi0yIn1dLFsicGF0aCIse2Q6Ik0xNyAxNFY0YTIgMiAwIDAgMC0yLTJoLTFhMiAyIDAgMCAwLTIgMnYxMCJ9XSxbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiOCIseDoiOCIseToiNiIscng6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIyMCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMjAiLHI6IjIifV1dLG9SdD1bWyJwYXRoIix7ZDoiTTEyIDE2djFhMiAyIDAgMCAwIDIgMmgxYTIgMiAwIDAgMSAyIDJ2MSJ9XSxbInBhdGgiLHtkOiJNMTIgNmEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0xOCA4YzAgNC0zLjUgOC02IDhzLTYtNC02LThhNiA2IDAgMCAxIDEyIDAifV1dLGxSdD1bWyJwYXRoIix7ZDoiTTQuOTI5IDQuOTI5IDE5LjA3IDE5LjA3MSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV0sY1J0PVtbInBhdGgiLHtkOiJNNCAxM2MzLjUtMiA4LTIgMTAgMmE1LjUgNS41IDAgMCAxIDggNSJ9XSxbInBhdGgiLHtkOiJNNS4xNSAxNy44OWM1LjUyLTEuNTIgOC42NS02Ljg5IDctMTJDMTEuNTUgNCAxMS41IDIgMTMgMmMzLjIyIDAgNSA1LjUgNSA4IDAgNi41LTQuMiAxMi0xMC40OSAxMkM1LjExIDIyIDIgMjIgMiAyMGMwLTEuNSAxLjE0LTEuNTUgMy4xNS0yLjExWiJ9XV0sZFJ0PVtbInBhdGgiLHtkOiJNMTAgMTAuMDFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNC4wMWguMDEifV0sWyJwYXRoIix7ZDoiTTE0IDEwLjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgMTQuMDFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA2djEyIn1dLFsicGF0aCIse2Q6Ik02IDZ2MTIifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjIwIixoZWlnaHQ6IjEyIixyeDoiMiJ9XV0sdVJ0PVtbInBhdGgiLHtkOiJNMTIgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjUifV0sWyJwYXRoIix7ZDoibTE2IDE5IDMgMyAzLTMifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV0scFJ0PVtbInBhdGgiLHtkOiJNMTIgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjUifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTkgMjJ2LTYifV0sWyJwYXRoIix7ZDoibTIyIDE5LTMtMy0zIDMifV0sWyJwYXRoIix7ZDoiTTYgMTJoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dLGZSdD1bWyJwYXRoIix7ZDoiTTEzIDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY1In1dLFsicGF0aCIse2Q6Im0xNyAxNyA1IDUifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJtMjIgMTctNSA1In1dLFsicGF0aCIse2Q6Ik02IDEyaC4wMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXSxoUnQ9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxMiIseDoiMiIseToiNiIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDFNMTggMTJoLjAxIn1dXSxtUnQ9W1sicGF0aCIse2Q6Ik0zIDV2MTQifV0sWyJwYXRoIix7ZDoiTTggNXYxNCJ9XSxbInBhdGgiLHtkOiJNMTIgNXYxNCJ9XSxbInBhdGgiLHtkOiJNMTcgNXYxNCJ9XSxbInBhdGgiLHtkOiJNMjEgNXYxNCJ9XV0sZ1J0PVtbInBhdGgiLHtkOiJNMTAgM2E0MSA0MSAwIDAgMCAwIDE4In1dLFsicGF0aCIse2Q6Ik0xNCAzYTQxIDQxIDAgMCAxIDAgMTgifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDEuNjguOTIgMTUuMjUgMTUuMjUgMCAwIDEgMCAxNi4xNkEyIDIgMCAwIDEgMTcgMjFIN2EyIDIgMCAwIDEtMS42OC0uOTIgMTUuMjUgMTUuMjUgMCAwIDEgMC0xNi4xNkEyIDIgMCAwIDEgNyAzeiJ9XSxbInBhdGgiLHtkOiJNMy44NCAxN2gxNi4zMiJ9XSxbInBhdGgiLHtkOiJNMy44NCA3aDE2LjMyIn1dXSxiUnQ9W1sicGF0aCIse2Q6Ik00IDIwaDE2In1dLFsicGF0aCIse2Q6Im02IDE2IDYtMTIgNiAxMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXSx2UnQ9W1sicGF0aCIse2Q6Ik0xMCA0IDggNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTl2MiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNNyAxOXYyIn1dLFsicGF0aCIse2Q6Ik05IDUgNy42MjEgMy42MjFBMi4xMjEgMi4xMjEgMCAwIDAgNCA1djEyYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNSJ9XV0seFJ0PVtbInBhdGgiLHtkOiJtMTEgNy0zIDVoNGwtMyA1In1dLFsicGF0aCIse2Q6Ik0xNC44NTYgNkgxNmEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMi45MzUifV0sWyJwYXRoIix7ZDoiTTIyIDE0di00In1dLFsicGF0aCIse2Q6Ik01LjE0IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMi45MzYifV1dLHlSdD1bWyJwYXRoIix7ZDoiTTEwIDEwdjQifV0sWyJwYXRoIix7ZDoiTTE0IDEwdjQifV0sWyJwYXRoIix7ZDoiTTIyIDE0di00In1dLFsicGF0aCIse2Q6Ik02IDEwdjQifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV0sd1J0PVtbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTYgMTR2LTQifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV0sTVJ0PVtbInBhdGgiLHtkOiJNMTAgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTIyIDE0di00In1dLFsicGF0aCIse2Q6Ik02IDE0di00In1dLFsicmVjdCIse3g6IjIiLHk6IjYiLHdpZHRoOiIxNiIsaGVpZ2h0OiIxMiIscng6IjIifV1dLGtSdD1bWyJwYXRoIix7ZDoiTTEwIDl2NiJ9XSxbInBhdGgiLHtkOiJNMTIuNTQzIDZIMTZhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTMuNjA1In1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNyAxMmg2In1dLFsicGF0aCIse2Q6Ik03LjYwNiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDMuNjA2In1dXSxTUnQ9W1sicGF0aCIse2Q6Ik0xMCAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTEwIDd2NiJ9XSxbInBhdGgiLHtkOiJNMTQgNmgyYTIgMiAwIDAgMSAyIDJ2OGEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIifV1dLHpSdD1bWyJwYXRoIix7ZDoiTSAyMiAxNCBMIDIyIDEwIn1dLFsicmVjdCIse3g6IjIiLHk6IjYiLHdpZHRoOiIxNiIsaGVpZ2h0OiIxMiIscng6IjIifV1dLENSdD1bWyJwYXRoIix7ZDoiTTQuNSAzaDE1In1dLFsicGF0aCIse2Q6Ik02IDN2MTZhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWMyJ9XSxbInBhdGgiLHtkOiJNNiAxNGgxMiJ9XV0sVFJ0PVtbInBhdGgiLHtkOiJNOSA5Yy0uNjQuNjQtMS41MjEuOTU0LTIuNDAyIDEuMTY1QTYgNiAwIDAgMCA4IDIyYTEzLjk2IDEzLjk2IDAgMCAwIDkuOS00LjEifV0sWyJwYXRoIix7ZDoiTTEwLjc1IDUuMDkzQTYgNiAwIDAgMSAyMiA4YzAgMi40MTEtLjYxIDQuNjgtMS42ODMgNi42NiJ9XSxbInBhdGgiLHtkOiJNNS4zNDEgMTAuNjJhNCA0IDAgMCAwIDYuNDg3IDEuMjA4TTEwLjYyIDUuMzQxYTQuMDE1IDQuMDE1IDAgMCAxIDIuMDM5IDIuMDQifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV0sX1J0PVtbInBhdGgiLHtkOiJNMTAuMTY1IDYuNTk4QzkuOTU0IDcuNDc4IDkuNjQgOC4zNiA5IDljLS42NC42NC0xLjUyMS45NTQtMi40MDIgMS4xNjVBNiA2IDAgMCAwIDggMjJjNy43MzIgMCAxNC02LjI2OCAxNC0xNGE2IDYgMCAwIDAtMTEuODM1LTEuNDAyWiJ9XSxbInBhdGgiLHtkOiJNNS4zNDEgMTAuNjJhNCA0IDAgMSAwIDUuMjc5LTUuMjgifV1dLExSdD1bWyJwYXRoIix7ZDoiTTIgMjB2LThhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjgifV0sWyJwYXRoIix7ZDoiTTQgMTBWNmEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTIgNHY2In1dLFsicGF0aCIse2Q6Ik0yIDE4aDIwIn1dXSwkUnQ9W1sicGF0aCIse2Q6Ik0zIDIwdi04YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY4In1dLFsicGF0aCIse2Q6Ik01IDEwVjZhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMThoMTgifV1dLERSdD1bWyJwYXRoIix7ZDoiTTIgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMiA4aDE4YTIgMiAwIDAgMSAyIDJ2MTAifV0sWyJwYXRoIix7ZDoiTTIgMTdoMjAifV0sWyJwYXRoIix7ZDoiTTYgOHY5In1dXSxBUnQ9W1sicGF0aCIse2Q6Ik0xNi40IDEzLjdBNi41IDYuNSAwIDEgMCA2LjI4IDYuNmMtMS4xIDMuMTMtLjc4IDMuOS0zLjE4IDYuMDhBMyAzIDAgMCAwIDUgMThjNCAwIDguNC0xLjggMTEuNC00LjMifV0sWyJwYXRoIix7ZDoibTE4LjUgNiAyLjE5IDQuNWE2LjQ4IDYuNDggMCAwIDEtMi4yOSA3LjJDMTUuNCAyMC4yIDExIDIyIDcgMjJhMyAzIDAgMCAxLTIuNjgtMS42NkwyLjQgMTYuNSJ9XSxbImNpcmNsZSIse2N4OiIxMi41IixjeToiOC41IixyOiIyLjUifV1dLEVSdD1bWyJwYXRoIix7ZDoiTTEzIDEzdjUifV0sWyJwYXRoIix7ZDoiTTE3IDExLjQ3VjgifV0sWyJwYXRoIix7ZDoiTTE3IDExaDFhMyAzIDAgMCAxIDIuNzQ1IDQuMjExIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTUgOHYxMmEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMnYtMyJ9XSxbInBhdGgiLHtkOiJNNy41MzYgNy41MzVDNi43NjYgNy42NDkgNi4xNTQgOCA1LjUgOGEyLjUgMi41IDAgMCAxLTEuNzY4LTQuMjY4In1dLFsicGF0aCIse2Q6Ik04LjcyNyAzLjIwNEM5LjMwNiAyLjc2NyA5Ljg4NSAyIDExIDJjMS41NiAwIDIgMS41IDMgMS41czEuNzItLjUgMi41LS41YTEgMSAwIDEgMSAwIDVjLS43OCAwLTEuNS0uNS0yLjUtLjVhMy4xNDkgMy4xNDkgMCAwIDAtLjg0Mi4xMiJ9XSxbInBhdGgiLHtkOiJNOSAxNC42VjE4In1dXSxJUnQ9W1sicGF0aCIse2Q6Ik0xNyAxMWgxYTMgMyAwIDAgMSAwIDZoLTEifV0sWyJwYXRoIix7ZDoiTTkgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNMTMgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNMTQgNy41Yy0xIDAtMS40NC41LTMgLjVzLTItLjUtMy0uNS0xLjcyLjUtMi41LjVhMi41IDIuNSAwIDAgMSAwLTVjLjc4IDAgMS41Ny41IDIuNS41UzkuNDQgMiAxMSAyczIgMS41IDMgMS41IDEuNzItLjUgMi41LS41YTIuNSAyLjUgMCAwIDEgMCA1Yy0uNzggMC0xLjUtLjUtMi41LS41WiJ9XSxbInBhdGgiLHtkOiJNNSA4djEyYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjgifV1dLFBSdD1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMTEuNjggMi4wMDlBNiA2IDAgMCAwIDYgOGMwIDQuNDk5LTEuNDExIDUuOTU2LTIuNzM4IDcuMzI2QTEgMSAwIDAgMCA0IDE3aDE2YTEgMSAwIDAgMCAuNzQtMS42NzNjLS44MjQtLjg1LTEuNjc4LTEuNzMxLTIuMjEtMy4zNDgifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dXSxOUnQ9W1sicGF0aCIse2Q6Ik0xOC41MTggMTcuMzQ3QTcgNyAwIDAgMSAxNCAxOSJ9XSxbInBhdGgiLHtkOiJNMTguOCA0QTExIDExIDAgMCAxIDIwIDkifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxNiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiNyJ9XSxbInJlY3QiLHt4OiI0Iix5OiIxNiIsd2lkdGg6IjEwIixoZWlnaHQ6IjYiLHJ4OiIyIn1dXSxGUnQ9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTE1IDhoNiJ9XSxbInBhdGgiLHtkOiJNMTYuMjQzIDMuNzU3QTYgNiAwIDAgMCA2IDhjMCA0LjQ5OS0xLjQxMSA1Ljk1Ni0yLjczOCA3LjMyNkExIDEgMCAwIDAgNCAxN2gxNmExIDEgMCAwIDAgLjc0LTEuNjczQTkuNCA5LjQgMCAwIDEgMTguNjY3IDEyIn1dXSxPUnQ9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTE3IDE3SDRhMSAxIDAgMCAxLS43NC0xLjY3M0M0LjU5IDEzLjk1NiA2IDEyLjQ5OSA2IDhhNiA2IDAgMCAxIC4yNTgtMS43NDIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC42NjggMy4wMUE2IDYgMCAwIDEgMTggOGMwIDIuNjg3Ljc3IDQuNjUzIDEuNzA3IDYuMDUifV1dLFJSdD1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMTUgOGg2In1dLFsicGF0aCIse2Q6Ik0xOCA1djYifV0sWyJwYXRoIix7ZDoiTTIwLjAwMiAxNC40NjRhOSA5IDAgMCAwIC43MzguODYzQTEgMSAwIDAgMSAyMCAxN0g0YTEgMSAwIDAgMS0uNzQtMS42NzNDNC41OSAxMy45NTYgNiAxMi40OTkgNiA4YTYgNiAwIDAgMSA4Ljc1LTUuMzMyIn1dXSxCUnQ9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTIyIDhjMC0yLjMtLjgtNC4zLTItNiJ9XSxbInBhdGgiLHtkOiJNMy4yNjIgMTUuMzI2QTEgMSAwIDAgMCA0IDE3aDE2YTEgMSAwIDAgMCAuNzQtMS42NzNDMTkuNDEgMTMuOTU2IDE4IDEyLjQ5OSAxOCA4QTYgNiAwIDAgMCA2IDhjMCA0LjQ5OS0xLjQxMSA1Ljk1Ni0yLjczOCA3LjMyNiJ9XSxbInBhdGgiLHtkOiJNNCAyQzIuOCAzLjcgMiA1LjcgMiA4In1dXSxIUnQ9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTMuMjYyIDE1LjMyNkExIDEgMCAwIDAgNCAxN2gxNmExIDEgMCAwIDAgLjc0LTEuNjczQzE5LjQxIDEzLjk1NiAxOCAxMi40OTkgMTggOEE2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjYifV1dLGxFPVtbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoibTIyIDE1LTMtMyAzLTMifV0sWyJyZWN0Iix7d2lkdGg6IjEzIixoZWlnaHQ6IjciLHg6IjMiLHk6IjE0IixyeDoiMSJ9XV0sY0U9W1sicmVjdCIse3dpZHRoOiIxMyIsaGVpZ2h0OiI3Iix4OiI4Iix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtMiA5IDMgMy0zIDMifV0sWyJyZWN0Iix7d2lkdGg6IjEzIixoZWlnaHQ6IjciLHg6IjgiLHk6IjE0IixyeDoiMSJ9XV0scVJ0PVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiIxMyIseDoiMyIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoibTkgMjIgMy0zIDMgMyJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiIxMyIseDoiMTQiLHk6IjMiLHJ4OiIxIn1dXSxqUnQ9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIzIix5OiI4IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtMTUgMi0zIDMtMy0zIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIxNCIseToiOCIscng6IjEifV1dLFZSdD1bWyJwYXRoIix7ZDoiTTEyLjQwOSAxMy4wMTdBNSA1IDAgMCAxIDIyIDE1YzAgMy44NjYtNCA3LTkgNy00LjA3NyAwLTguMTUzLS44Mi0xMC4zNzEtMi40NjItLjQyNi0uMzE2LS42MzEtLjgzMi0uNjItMS4zNjJDMi4xMTggMTIuNzIzIDIuNjI3IDIgMTAgMmEzIDMgMCAwIDEgMyAzIDIgMiAwIDAgMS0yIDJjLTEuMTA1IDAtMS42NC0uNDQ0LTItMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTRhNSA1IDAgMCAwLTcuNTg0IDIifV0sWyJwYXRoIix7ZDoiTTkuOTY0IDYuODI1QzguMDE5IDcuOTc3IDkuNSAxMyA4IDE1In1dXSxVUnQ9W1siY2lyY2xlIix7Y3g6IjE4LjUiLGN5OiIxNy41IixyOiIzLjUifV0sWyJjaXJjbGUiLHtjeDoiNS41IixjeToiMTcuNSIscjoiMy41In1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiNSIscjoiMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTcuNVYxNGwtMy0zIDQtMyAyIDNoMiJ9XV0sV1J0PVtbInJlY3QiLHt4OiIxNCIseToiMTQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjYiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDIwaDQifV0sWyJwYXRoIix7ZDoiTTE0IDEwaDQifV0sWyJwYXRoIix7ZDoiTTYgMTRoMnY2In1dLFsicGF0aCIse2Q6Ik0xNCA0aDJ2NiJ9XV0sR1J0PVtbInBhdGgiLHtkOiJNMTAgMTBoNCJ9XSxbInBhdGgiLHtkOiJNMTkgN1Y0YTEgMSAwIDAgMC0xLTFoLTJhMSAxIDAgMCAwLTEgMXYzIn1dLFsicGF0aCIse2Q6Ik0yMCAyMWEyIDIgMCAwIDAgMi0ydi0zLjg1MWMwLTEuMzktMi0yLjk2Mi0yLTQuODI5VjhhMSAxIDAgMCAwLTEtMWgtNGExIDEgMCAwIDAtMSAxdjExYTIgMiAwIDAgMCAyIDJ6In1dLFsicGF0aCIse2Q6Ik0gMjIgMTYgTCAyIDE2In1dLFsicGF0aCIse2Q6Ik00IDIxYTIgMiAwIDAgMS0yLTJ2LTMuODUxYzAtMS4zOSAyLTIuOTYyIDItNC44MjlWOGExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYxMWEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNOSA3VjRhMSAxIDAgMCAwLTEtMUg2YTEgMSAwIDAgMC0xIDF2MyJ9XV0sWVJ0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExLjkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTYuNyAzLjRjLS45IDIuNSAwIDUuMiAyLjIgNi43QzYuNSA5IDMuNyA5LjYgMiAxMS42In1dLFsicGF0aCIse2Q6Im04LjkgMTAuMSAxLjQuOCJ9XSxbInBhdGgiLHtkOiJNMTcuMyAzLjRjLjkgMi41IDAgNS4yLTIuMiA2LjcgMi40LTEuMiA1LjItLjYgNi45IDEuNSJ9XSxbInBhdGgiLHtkOiJtMTUuMSAxMC4xLTEuNC44In1dLFsicGF0aCIse2Q6Ik0xNi43IDIwLjhjLTIuNi0uNC00LjYtMi42LTQuNy01LjMtLjIgMi42LTIuMSA0LjgtNC43IDUuMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTMuOXYxLjYifV0sWyJwYXRoIix7ZDoiTTEzLjUgNS40Yy0xLS4yLTItLjItMyAwIn1dLFsicGF0aCIse2Q6Ik0xNyAxNi40Yy43LS43IDEuMi0xLjYgMS41LTIuNSJ9XSxbInBhdGgiLHtkOiJNNS41IDEzLjljLjMuOS44IDEuOCAxLjUgMi41In1dXSxaUnQ9W1sicGF0aCIse2Q6Ik0xNiA3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMy40IDE4SDEyYTggOCAwIDAgMCA4LThWN2E0IDQgMCAwIDAtNy4yOC0yLjNMMiAyMCJ9XSxbInBhdGgiLHtkOiJtMjAgNyAyIC41LTIgLjUifV0sWyJwYXRoIix7ZDoiTTEwIDE4djMifV0sWyJwYXRoIix7ZDoiTTE0IDE3Ljc1VjIxIn1dLFsicGF0aCIse2Q6Ik03IDE4YTYgNiAwIDAgMCAzLjg0LTEwLjYxIn1dXSxYUnQ9W1sicGF0aCIse2Q6Ik0xMiAxOHY0In1dLFsicGF0aCIse2Q6Im0xNyAxOCAxLjk1Ni0xMS40NjgifV0sWyJwYXRoIix7ZDoibTMgOCA3LjgyLTUuNjE1YTIgMiAwIDAgMSAyLjM2IDBMMjEgOCJ9XSxbInBhdGgiLHtkOiJNNCAxOGgxNiJ9XSxbInBhdGgiLHtkOiJNNyAxOCA1LjA0NCA2LjUzMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIyIn1dXSxRUnQ9W1sicGF0aCIse2Q6Ik0xMS43NjcgMTkuMDg5YzQuOTI0Ljg2OCA2LjE0LTYuMDI1IDEuMjE2LTYuODk0bS0xLjIxNiA2Ljg5NEw1Ljg2IDE4LjA0N201LjkwOCAxLjA0Mi0uMzQ3IDEuOTdtMS41NjMtOC44NjRjNC45MjQuODY5IDYuMTQtNi4wMjUgMS4yMTUtNi44OTNtLTEuMjE1IDYuODkzLTMuOTQtLjY5NG01LjE1NS02LjJMOC4yOSA0LjI2bTUuOTA4IDEuMDQyLjM0OC0xLjk3TTcuNDggMjAuMzY0bDMuMTI2LTE3LjcyNyJ9XV0sSlJ0PVtbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiNyJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjE1IixyOiI3In1dXSxLUnQ9W1sicGF0aCIse2Q6Ik0zIDNoMTgifV0sWyJwYXRoIix7ZDoiTTIwIDdIOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTFIOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTloMTAifV0sWyJwYXRoIix7ZDoiTTggMTVoMTIifV0sWyJwYXRoIix7ZDoiTTQgM3YxNCJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTkiLHI6IjIifV1dLGVCdD1bWyJwYXRoIix7ZDoibTcgNyAxMCAxMC01IDVWMmw1IDVMNyAxNyJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIyMSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjMiLHgyOiI2Iix5MToiMTIiLHkyOiIxMiJ9XV0sdEJ0PVtbInBhdGgiLHtkOiJNMTAgMjJWN2ExIDEgMCAwIDAtMS0xSDRhMiAyIDAgMCAwLTIgMnYxMmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTVhMSAxIDAgMCAwLTEtMUgyIn1dLFsicmVjdCIse3g6IjE0Iix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV0sckJ0PVtbInBhdGgiLHtkOiJtMTcgMTctNSA1VjEybC01IDUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMTQuNSA5LjUgMTcgN2wtNS01djQuNSJ9XV0sYUJ0PVtbInBhdGgiLHtkOiJtNyA3IDEwIDEwLTUgNVYybDUgNUw3IDE3In1dLFsicGF0aCIse2Q6Ik0yMC44MyAxNC44M2E0IDQgMCAwIDAgMC01LjY2In1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV1dLGlCdD1bWyJwYXRoIix7ZDoiTTYgMTJoOWE0IDQgMCAwIDEgMCA4SDdhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLTFoN2E0IDQgMCAwIDEgMCA4In1dXSxuQnQ9W1sicGF0aCIse2Q6Im03IDcgMTAgMTAtNSA1VjJsNSA1TDcgMTcifV1dLHNCdD1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMyIscjoiOSJ9XSxbInBhdGgiLHtkOiJNMTQuMzUgNC42NSAxNi4zIDIuN2EyLjQxIDIuNDEgMCAwIDEgMy40IDBsMS42IDEuNmEyLjQgMi40IDAgMCAxIDAgMy40bC0xLjk1IDEuOTUifV0sWyJwYXRoIix7ZDoibTIyIDItMS41IDEuNSJ9XV0sb0J0PVtbInBhdGgiLHtkOiJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV1dLGxCdD1bWyJwYXRoIix7ZDoiTTE3IDEwYy43LS43IDEuNjkgMCAyLjUgMGEyLjUgMi41IDAgMSAwIDAtNSAuNS41IDAgMCAxLS41LS41IDIuNSAyLjUgMCAxIDAtNSAwYzAgLjgxLjcgMS44IDAgMi41bC03IDdjLS43LjctMS42OSAwLTIuNSAwYTIuNSAyLjUgMCAwIDAgMCA1Yy4yOCAwIC41LjIyLjUuNWEyLjUgMi41IDAgMSAwIDUgMGMwLS44MS0uNy0xLjggMC0yLjVaIn1dXSxjQnQ9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Im04IDEzIDQtNyA0IDcifV0sWyJwYXRoIix7ZDoiTTkuMSAxMWg1LjcifV1dLGRCdD1bWyJwYXRoIix7ZDoiTTEyIDEzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgNnYzIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dXSx1QnQ9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Im05IDkuNSAyIDIgNC00In1dXSxwQnQ9W1sicGF0aCIse2Q6Ik0xMiA2djcifV0sWyJwYXRoIix7ZDoiTTE2IDh2MyJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOCA4djMifV1dLGZCdD1bWyJwYXRoIix7ZDoiTTUgN2EyIDIgMCAwIDAtMiAydjExIn1dLFsicGF0aCIse2Q6Ik01LjgwMyAxOEg1YTIgMiAwIDAgMCAwIDRoOS41YS41LjUgMCAwIDAgLjUtLjVWMjEifV0sWyJwYXRoIix7ZDoiTTkgMTVWNGEyIDIgMCAwIDEgMi0yaDkuNWEuNS41IDAgMCAxIC41LjV2MTRhLjUuNSAwIDAgMS0uNS41SDExYTIgMiAwIDAgMSAwLTRoMTAifV1dLGRFPVtbInBhdGgiLHtkOiJNMTIgMTdoMS41In1dLFsicGF0aCIse2Q6Ik0xMiAyMmgxLjUifV0sWyJwYXRoIix7ZDoiTTEyIDJoMS41In1dLFsicGF0aCIse2Q6Ik0xNy41IDIySDE5YTEgMSAwIDAgMCAxLTEifV0sWyJwYXRoIix7ZDoiTTE3LjUgMkgxOWExIDEgMCAwIDEgMSAxdjEuNSJ9XSxbInBhdGgiLHtkOiJNMjAgMTR2M2gtMi41In1dLFsicGF0aCIse2Q6Ik0yMCA4LjVWMTAifV0sWyJwYXRoIix7ZDoiTTQgMTBWOC41In1dLFsicGF0aCIse2Q6Ik00IDE5LjVWMTQifV0sWyJwYXRoIix7ZDoiTTQgNC41QTIuNSAyLjUgMCAwIDEgNi41IDJIOCJ9XSxbInBhdGgiLHtkOiJNOCAyMkg2LjVhMSAxIDAgMCAxIDAtNUg4In1dXSxoQnQ9W1sicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Im05IDEwIDMgMyAzLTMifV1dLG1CdD1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTggMTJ2LTJhNCA0IDAgMCAxIDggMHYyIn1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEyIixyOiIxIn1dXSxnQnQ9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik04LjYyIDkuOEEyLjI1IDIuMjUgMCAxIDEgMTIgNi44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dXSxiQnQ9W1sicGF0aCIse2Q6Im0yMCAxMy43LTIuMS0yLjFhMiAyIDAgMCAwLTIuOCAwTDkuNyAxNyJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjIifV1dLHZCdD1bWyJwYXRoIix7ZDoiTTEzIDJINi41QTIuNSAyLjUgMCAwIDAgNCA0LjV2MTUifV0sWyJwYXRoIix7ZDoiTTE3IDJ2NiJ9XSxbInBhdGgiLHtkOiJNMTcgNGgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxNS4yVjIxYTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxMCIscjoiMiJ9XV0seEJ0PVtbInBhdGgiLHtkOiJNMTggNlY0YTIgMiAwIDEgMC00IDB2MiJ9XSxbInBhdGgiLHtkOiJNMjAgMTV2NmExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTAifV0sWyJyZWN0Iix7eDoiMTIiLHk6IjYiLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXSx5QnQ9W1sicGF0aCIse2Q6Ik0xMCAydjhsMy0zIDMgM1YyIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dXSx3QnQ9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dLE1CdD1bWyJwYXRoIix7ZDoiTTEyIDIxVjcifV0sWyJwYXRoIix7ZDoibTE2IDEyIDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTIyIDZWNGExIDEgMCAwIDAtMS0xaC01YTQgNCAwIDAgMC00IDQgNCA0IDAgMCAwLTQtNEgzYTEgMSAwIDAgMC0xIDF2MTNhMSAxIDAgMCAwIDEgMWg2YTMgMyAwIDAgMSAzIDMgMyAzIDAgMCAxIDMtM2g2YTEgMSAwIDAgMCAxLTF2LTEuMyJ9XV0sa0J0PVtbInBhdGgiLHtkOiJNMTIgN3YxNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMTYgOGgyIn1dLFsicGF0aCIse2Q6Ik0zIDE4YTEgMSAwIDAgMS0xLTFWNGExIDEgMCAwIDEgMS0xaDVhNCA0IDAgMCAxIDQgNCA0IDQgMCAwIDEgNC00aDVhMSAxIDAgMCAxIDEgMXYxM2ExIDEgMCAwIDEtMSAxaC02YTMgMyAwIDAgMC0zIDMgMyAzIDAgMCAwLTMtM3oifV0sWyJwYXRoIix7ZDoiTTYgMTJoMiJ9XSxbInBhdGgiLHtkOiJNNiA4aDIifV1dLFNCdD1bWyJwYXRoIix7ZDoiTTEyIDd2MTQifV0sWyJwYXRoIix7ZDoiTTMgMThhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoNWE0IDQgMCAwIDEgNCA0IDQgNCAwIDAgMSA0LTRoNWExIDEgMCAwIDEgMSAxdjEzYTEgMSAwIDAgMS0xIDFoLTZhMyAzIDAgMCAwLTMgMyAzIDMgMCAwIDAtMy0zeiJ9XV0sekJ0PVtbInBhdGgiLHtkOiJNMTIgN3Y2In1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dLENCdD1bWyJwYXRoIix7ZDoiTTExIDIySDUuNWExIDEgMCAwIDEgMC01aDQuNTAxIn1dLFsicGF0aCIse2Q6Im0yMSAyMi0xLjg3OS0xLjg3OCJ9XSxbInBhdGgiLHtkOiJNMyAxOS41di0xNUEyLjUgMi41IDAgMCAxIDUuNSAySDE4YTEgMSAwIDAgMSAxIDF2OCJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE4IixyOiIzIn1dXSxUQnQ9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik04IDExaDgifV0sWyJwYXRoIix7ZDoiTTggN2g2In1dXSxfQnQ9W1sicGF0aCIse2Q6Ik0xMCAxM2g0In1dLFsicGF0aCIse2Q6Ik0xMiA2djcifV0sWyJwYXRoIix7ZDoiTTE2IDhWNkg4djIifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV1dLExCdD1bWyJwYXRoIix7ZDoiTTEyIDEzVjcifV0sWyJwYXRoIix7ZDoiTTE4IDJoMWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMiJ9XSxbInBhdGgiLHtkOiJtOSAxMCAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Im05IDUgMy0zIDMgMyJ9XV0sJEJ0PVtbInBhdGgiLHtkOiJNMTIgMTNWNyJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAzLTMgMyAzIn1dXSxEQnQ9W1sicGF0aCIse2Q6Ik0xNSAxM2EzIDMgMCAxIDAtNiAwIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiMiJ9XV0sQUJ0PVtbInBhdGgiLHtkOiJtMTQuNSA3LTUgNSJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJtOS41IDcgNSA1In1dXSxFQnQ9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dXSxJQnQ9W1sicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAyIDJ2MTVhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjVhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoibTkgMTAgMiAyIDQtNCJ9XV0sUEJ0PVtbInBhdGgiLHtkOiJNMTUgMTBIOSJ9XSxbInBhdGgiLHtkOiJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6In1dXSxOQnQ9W1sicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTE1IDEwSDkifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XV0sRkJ0PVtbInBhdGgiLHtkOiJtMTQuNSA3LjUtNSA1In1dLFsicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAyIDJ2MTVhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjVhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoibTkuNSA3LjUgNSA1In1dXSxPQnQ9W1sicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAyIDJ2MTVhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjVhMiAyIDAgMCAxIDItMnoifV1dLFJCdD1bWyJwYXRoIix7ZDoiTTQgOVY1YTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnY0In1dLFsicGF0aCIse2Q6Ik04IDh2MSJ9XSxbInBhdGgiLHtkOiJNMTIgOHYxIn1dLFsicGF0aCIse2Q6Ik0xNiA4djEifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI5IixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTUiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNSIscjoiMiJ9XV0sQkJ0PVtbInBhdGgiLHtkOiJNMTIgNlYySDgifV0sWyJwYXRoIix7ZDoiTTE1IDExdjIifV0sWyJwYXRoIix7ZDoiTTIgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTZhMiAyIDAgMCAxLTIgMkg4LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgNCAyMC4yODZWOGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Ik05IDExdjIifV1dLEhCdD1bWyJwYXRoIix7ZDoiTTEyIDhWNEg4In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxMiIseDoiNCIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTN2MiJ9XSxbInBhdGgiLHtkOiJNOSAxM3YyIn1dXSxxQnQ9W1sicGF0aCIse2Q6Ik0xMy42NyA4SDE4YTIgMiAwIDAgMSAyIDJ2NC4zMyJ9XSxbInBhdGgiLHtkOiJNMiAxNGgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxNGgyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMiAyIDIifV0sWyJwYXRoIix7ZDoiTTggOEg2YTIgMiAwIDAgMC0yIDJ2OGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAxLjQxNC0uNTg2In1dLFsicGF0aCIse2Q6Ik05IDEzdjIifV0sWyJwYXRoIix7ZDoiTTkuNjcgNEgxMnYyLjMzIn1dXSxqQnQ9W1sicGF0aCIse2Q6Ik0xMCAzYTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxdjJhNiA2IDAgMCAwIDEuMiAzLjZsLjYuOEE2IDYgMCAwIDEgMTcgMTN2OGExIDEgMCAwIDEtMSAxSDhhMSAxIDAgMCAxLTEtMXYtOGE2IDYgMCAwIDEgMS4yLTMuNmwuNi0uOEE2IDYgMCAwIDAgMTAgNXoifV0sWyJwYXRoIix7ZDoiTTE3IDEzaC00YTEgMSAwIDAgMC0xIDF2M2ExIDEgMCAwIDAgMSAxaDQifV1dLFZCdD1bWyJwYXRoIix7ZDoiTTE3IDNoNHY0In1dLFsicGF0aCIse2Q6Ik0xOC41NzUgMTEuMDgyYTEzIDEzIDAgMCAxIDEuMDQ4IDkuMDI3IDEuMTcgMS4xNyAwIDAgMS0xLjkxNC41OTdMMTQgMTcifV0sWyJwYXRoIix7ZDoiTTcgMTAgMy4yOSA2LjI5YTEuMTcgMS4xNyAwIDAgMSAuNi0xLjkxIDEzIDEzIDAgMCAxIDkuMDMgMS4wNSJ9XSxbInBhdGgiLHtkOiJNNyAxNGExLjcgMS43IDAgMCAwLTEuMjA3LjVsLTIuNjQ2IDIuNjQ2QS41LjUgMCAwIDAgMy41IDE4SDVhMSAxIDAgMCAxIDEgMXYxLjVhLjUuNSAwIDAgMCAuODU0LjM1NEw5LjUgMTguMjA3QTEuNyAxLjcgMCAwIDAgMTAgMTd2LTJhMSAxIDAgMCAwLTEtMXoifV0sWyJwYXRoIix7ZDoiTTkuNzA3IDE0LjI5MyAyMSAzIn1dXSxVQnQ9W1sicGF0aCIse2Q6Ik0yMSA4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNloifV0sWyJwYXRoIix7ZDoibTMuMyA3IDguNyA1IDguNy01In1dLFsicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XV0sV0J0PVtbInBhdGgiLHtkOiJNMi45NyAxMi45MkEyIDIgMCAwIDAgMiAxNC42M3YzLjI0YTIgMiAwIDAgMCAuOTcgMS43MWwzIDEuOGEyIDIgMCAwIDAgMi4wNiAwTDEyIDE5di01LjVsLTUtMy00LjAzIDIuNDJaIn1dLFsicGF0aCIse2Q6Im03IDE2LjUtNC43NC0yLjg1In1dLFsicGF0aCIse2Q6Im03IDE2LjUgNS0zIn1dLFsicGF0aCIse2Q6Ik03IDE2LjV2NS4xNyJ9XSxbInBhdGgiLHtkOiJNMTIgMTMuNVYxOWwzLjk3IDIuMzhhMiAyIDAgMCAwIDIuMDYgMGwzLTEuOGEyIDIgMCAwIDAgLjk3LTEuNzF2LTMuMjRhMiAyIDAgMCAwLS45Ny0xLjcxTDE3IDEwLjVsLTUgM1oifV0sWyJwYXRoIix7ZDoibTE3IDE2LjUtNS0zIn1dLFsicGF0aCIse2Q6Im0xNyAxNi41IDQuNzQtMi44NSJ9XSxbInBhdGgiLHtkOiJNMTcgMTYuNXY1LjE3In1dLFsicGF0aCIse2Q6Ik03Ljk3IDQuNDJBMiAyIDAgMCAwIDcgNi4xM3Y0LjM3bDUgMyA1LTNWNi4xM2EyIDIgMCAwIDAtLjk3LTEuNzFsLTMtMS44YTIgMiAwIDAgMC0yLjA2IDBsLTMgMS44WiJ9XSxbInBhdGgiLHtkOiJNMTIgOCA3LjI2IDUuMTUifV0sWyJwYXRoIix7ZDoibTEyIDggNC43NC0yLjg1In1dLFsicGF0aCIse2Q6Ik0xMiAxMy41VjgifV1dLHVFPVtbInBhdGgiLHtkOiJNOCAzSDdhMiAyIDAgMCAwLTIgMnY1YTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxIDIgMnY1YzAgMS4xLjkgMiAyIDJoMSJ9XSxbInBhdGgiLHtkOiJNMTYgMjFoMWEyIDIgMCAwIDAgMi0ydi01YzAtMS4xLjktMiAyLTJhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMC0yLTJoLTEifV1dLEdCdD1bWyJwYXRoIix7ZDoiTTE2IDNoM2ExIDEgMCAwIDEgMSAxdjE2YTEgMSAwIDAgMS0xIDFoLTMifV0sWyJwYXRoIix7ZDoiTTggMjFINWExIDEgMCAwIDEtMS0xVjRhMSAxIDAgMCAxIDEtMWgzIn1dXSxZQnQ9W1sicGF0aCIse2Q6Ik0xMiA1YTMgMyAwIDEgMC01Ljk5Ny4xMjUgNCA0IDAgMCAwLTIuNTI2IDUuNzcgNCA0IDAgMCAwIC41NTYgNi41ODhBNCA0IDAgMSAwIDEyIDE4WiJ9XSxbInBhdGgiLHtkOiJNOSAxM2E0LjUgNC41IDAgMCAwIDMtNCJ9XSxbInBhdGgiLHtkOiJNNi4wMDMgNS4xMjVBMyAzIDAgMCAwIDYuNDAxIDYuNSJ9XSxbInBhdGgiLHtkOiJNMy40NzcgMTAuODk2YTQgNCAwIDAgMSAuNTg1LS4zOTYifV0sWyJwYXRoIix7ZDoiTTYgMThhNCA0IDAgMCAxLTEuOTY3LS41MTYifV0sWyJwYXRoIix7ZDoiTTEyIDEzaDQifV0sWyJwYXRoIix7ZDoiTTEyIDE4aDZhMiAyIDAgMCAxIDIgMnYxIn1dLFsicGF0aCIse2Q6Ik0xMiA4aDgifV0sWyJwYXRoIix7ZDoiTTE2IDhWNWEyIDIgMCAwIDEgMi0yIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTMiLHI6Ii41In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMyIscjoiLjUifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIyMSIscjoiLjUifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiI4IixyOiIuNSJ9XV0sWkJ0PVtbInBhdGgiLHtkOiJtMTAuODUyIDE0Ljc3Mi0uMzgzLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTAuODUyIDkuMjI4LS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTMuMTQ4IDE0Ljc3Mi4zODIuOTI0In1dLFsicGF0aCIse2Q6Im0xMy41MzEgOC4zMDUtLjM4My45MjMifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxMC44NTIuOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxMy4xNDguOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNMTcuNTk4IDYuNUEzIDMgMCAxIDAgMTIgNWEzIDMgMCAwIDAtNS42My0xLjQ0NiAzIDMgMCAwIDAtLjM2OCAxLjU3MSA0IDQgMCAwIDAtMi41MjUgNS43NzEifV0sWyJwYXRoIix7ZDoiTTE3Ljk5OCA1LjEyNWE0IDQgMCAwIDEgMi41MjUgNS43NzEifV0sWyJwYXRoIix7ZDoiTTE5LjUwNSAxMC4yOTRhNCA0IDAgMCAxLTEuNSA3LjcwNiJ9XSxbInBhdGgiLHtkOiJNNC4wMzIgMTcuNDgzQTQgNCAwIDAgMCAxMS40NjQgMjBjLjE4LS4zMTEuODkyLS4zMTEgMS4wNzIgMGE0IDQgMCAwIDAgNy40MzItMi41MTYifV0sWyJwYXRoIix7ZDoiTTQuNSAxMC4yOTFBNCA0IDAgMCAwIDYgMTgifV0sWyJwYXRoIix7ZDoiTTYuMDAyIDUuMTI1YTMgMyAwIDAgMCAuNCAxLjM3NSJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTAuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTMuMTQ4LS45MjMuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dLFhCdD1bWyJwYXRoIix7ZDoiTTEyIDE4VjUifV0sWyJwYXRoIix7ZDoiTTE1IDEzYTQuMTcgNC4xNyAwIDAgMS0zLTQgNC4xNyA0LjE3IDAgMCAxLTMgNCJ9XSxbInBhdGgiLHtkOiJNMTcuNTk4IDYuNUEzIDMgMCAxIDAgMTIgNWEzIDMgMCAxIDAtNS41OTggMS41In1dLFsicGF0aCIse2Q6Ik0xNy45OTcgNS4xMjVhNCA0IDAgMCAxIDIuNTI2IDUuNzcifV0sWyJwYXRoIix7ZDoiTTE4IDE4YTQgNCAwIDAgMCAyLTcuNDY0In1dLFsicGF0aCIse2Q6Ik0xOS45NjcgMTcuNDgzQTQgNCAwIDEgMSAxMiAxOGE0IDQgMCAxIDEtNy45NjctLjUxNyJ9XSxbInBhdGgiLHtkOiJNNiAxOGE0IDQgMCAwIDEtMi03LjQ2NCJ9XSxbInBhdGgiLHtkOiJNNi4wMDMgNS4xMjVhNCA0IDAgMCAwLTIuNTI2IDUuNzcifV1dLFFCdD1bWyJwYXRoIix7ZDoiTTE2IDN2Mi4xMDcifV0sWyJwYXRoIix7ZDoiTTE3IDljMSAzIDIuNSAzLjUgMy41IDQuNUE1IDUgMCAwIDEgMjIgMTdhNSA1IDAgMCAxLTEwIDBjMC0uMyAwLS42LjEtLjlhMiAyIDAgMSAwIDMuMy0yQzEzIDExLjUgMTYgOSAxNyA5In1dLFsicGF0aCIse2Q6Ik0yMSA4LjI3NFY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMy45MzgifV0sWyJwYXRoIix7ZDoiTTMgMTVoNS4yNTMifV0sWyJwYXRoIix7ZDoiTTMgOWg4LjIyOCJ9XSxbInBhdGgiLHtkOiJNOCAxNXY2In1dLFsicGF0aCIse2Q6Ik04IDN2NiJ9XV0sSkJ0PVtbInBhdGgiLHtkOiJNMTIgOXYxLjI1OCJ9XSxbInBhdGgiLHtkOiJNMTYgM3Y1LjQ2In1dLFsicGF0aCIse2Q6Ik0yMSA5LjExOFY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNS43NSJ9XSxbInBhdGgiLHtkOiJNMjIgMTcuNWMwIDIuNDk5LTEuNzUgMy43NDktMy44MyA0LjQ3NGEuNS41IDAgMCAxLS4zMzUtLjAwNWMtMi4wODUtLjcyLTMuODM1LTEuOTctMy44MzUtNC40N1YxNGEuNS41IDAgMCAxIC41LS40OTljMSAwIDIuMjUtLjYgMy4xMi0xLjM2YS42LjYgMCAwIDEgLjc2LS4wMDFjLjg3NS43NjUgMi4xMiAxLjM2IDMuMTIgMS4zNmEuNS41IDAgMCAxIC41LjV6In1dLFsicGF0aCIse2Q6Ik0zIDE1aDcifV0sWyJwYXRoIix7ZDoiTTMgOWgxMi4xNDIifV0sWyJwYXRoIix7ZDoiTTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNOCAzdjYifV1dLEtCdD1bWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgNlY0YTIgMiAwIDAgMC0yLTJoLTRhMiAyIDAgMCAwLTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMiAxM2ExOC4xNSAxOC4xNSAwIDAgMS0yMCAwIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNiIscng6IjIifV1dLGVIdD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgOXY2In1dLFsicGF0aCIse2Q6Ik0xNiAxNXY2In1dLFsicGF0aCIse2Q6Ik0xNiAzdjYifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInBhdGgiLHtkOiJNOCAxNXY2In1dLFsicGF0aCIse2Q6Ik04IDN2NiJ9XV0sdEh0PVtbInBhdGgiLHtkOiJNMTAgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTggMjB2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMjBIMyJ9XSxbInBhdGgiLHtkOiJNNiAyMHYyIn1dLFsicGF0aCIse2Q6Ik04IDE2VjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MTIifV0sWyJyZWN0Iix7eDoiNCIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEwIixyeDoiMiJ9XV0sckh0PVtbInBhdGgiLHtkOiJNMTIgMTF2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTNoLTQifV0sWyJwYXRoIix7ZDoiTTE2IDZWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTggNnYxNCJ9XSxbInBhdGgiLHtkOiJNNiA2djE0In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNiIscng6IjIifV1dLGFIdD1bWyJwYXRoIix7ZDoiTTE2IDIwVjRhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjE2In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNiIscng6IjIifV1dLGlIdD1bWyJyZWN0Iix7eDoiOCIseToiOCIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTBhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAyMGEyIDIgMCAwIDAgMiAyaDRhMiAyIDAgMCAwIDItMnYtNGEyIDIgMCAwIDAtMi0yIn1dXSxuSHQ9W1sicGF0aCIse2Q6Im0xNiAyMi0xLTQifV0sWyJwYXRoIix7ZDoiTTE5IDE0YTEgMSAwIDAgMCAxLTF2LTFhMiAyIDAgMCAwLTItMmgtM2ExIDEgMCAwIDEtMS0xVjRhMiAyIDAgMCAwLTQgMHY1YTEgMSAwIDAgMS0xIDFINmEyIDIgMCAwIDAtMiAydjFhMSAxIDAgMCAwIDEgMSJ9XSxbInBhdGgiLHtkOiJNMTkgMTRINWwtMS45NzMgNi43NjdBMSAxIDAgMCAwIDQgMjJoMTZhMSAxIDAgMCAwIC45NzMtMS4yMzN6In1dLFsicGF0aCIse2Q6Im04IDIyIDEtNCJ9XV0sc0h0PVtbInBhdGgiLHtkOiJtMTEgMTAgMyAzIn1dLFsicGF0aCIse2Q6Ik02LjUgMjFBMy41IDMuNSAwIDEgMCAzIDE3LjVhMi42MiAyLjYyIDAgMCAxLS43MDggMS43OTJBMSAxIDAgMCAwIDMgMjF6In1dLFsicGF0aCIse2Q6Ik05Ljk2OSAxNy4wMzEgMjEuMzc4IDUuNjI0YTEgMSAwIDAgMC0zLjAwMi0zLjAwMkw2Ljk2NyAxNC4wMzEifV1dLG9IdD1bWyJwYXRoIix7ZDoiTTcuMDAxIDE1LjA4NUExLjUgMS41IDAgMCAxIDkgMTYuNSJ9XSxbImNpcmNsZSIse2N4OiIxOC41IixjeToiOC41IixyOiIzLjUifV0sWyJjaXJjbGUiLHtjeDoiNy41IixjeToiMTYuNSIscjoiNS41In1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjQuNSIscjoiMi41In1dXSxsSHQ9W1sicGF0aCIse2Q6Ik0xMiAyMHYtOCJ9XSxbInBhdGgiLHtkOiJNMTIuNjU2IDdIMTRhNCA0IDAgMCAxIDQgNHYxLjM0NCJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgMy44OCAxNiAyIn1dLFsicGF0aCIse2Q6Ik0xNy4xMjMgMTcuMTIzQTYgNiAwIDAgMSA2IDE0di0zYTQgNCAwIDAgMSAxLjcyLTMuMjg3In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIxIDVhNCA0IDAgMCAxLTMuNTUgMy45NyJ9XSxbInBhdGgiLHtkOiJNMjIgMTNoLTMuMzQ0In1dLFsicGF0aCIse2Q6Ik0zIDIxYTQgNCAwIDAgMSAzLjgxLTQifV0sWyJwYXRoIix7ZDoiTTMgNWE0IDQgMCAwIDAgMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik02IDEzSDIifV0sWyJwYXRoIix7ZDoibTggMiAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTkuNzEyIDQuMDZBMyAzIDAgMCAxIDE1IDZ2MS4xMyJ9XV0sY0h0PVtbInBhdGgiLHtkOiJNMTAgMTkuNjU1QTYgNiAwIDAgMSA2IDE0di0zYTQgNCAwIDAgMSA0LTRoNGE0IDQgMCAwIDEgNCAzLjk3In1dLFsicGF0aCIse2Q6Ik0xNCAxNS4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3YTEgMSAwIDAgMS0xLjUxNy0uODZ6In1dLFsicGF0aCIse2Q6Ik0xNC4xMiAzLjg4IDE2IDIifV0sWyJwYXRoIix7ZDoiTTIxIDVhNCA0IDAgMCAxLTMuNTUgMy45NyJ9XSxbInBhdGgiLHtkOiJNMyAyMWE0IDQgMCAwIDEgMy44MS00In1dLFsicGF0aCIse2Q6Ik0zIDVhNCA0IDAgMCAwIDMuNTUgMy45NyJ9XSxbInBhdGgiLHtkOiJNNiAxM0gyIn1dLFsicGF0aCIse2Q6Im04IDIgMS44OCAxLjg4In1dLFsicGF0aCIse2Q6Ik05IDcuMTNWNmEzIDMgMCAxIDEgNiAwdjEuMTMifV1dLGRIdD1bWyJwYXRoIix7ZDoiTTEyIDIwdi05In1dLFsicGF0aCIse2Q6Ik0xNCA3YTQgNCAwIDAgMSA0IDR2M2E2IDYgMCAwIDEtMTIgMHYtM2E0IDQgMCAwIDEgNC00eiJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgMy44OCAxNiAyIn1dLFsicGF0aCIse2Q6Ik0yMSAyMWE0IDQgMCAwIDAtMy44MS00In1dLFsicGF0aCIse2Q6Ik0yMSA1YTQgNCAwIDAgMS0zLjU1IDMuOTcifV0sWyJwYXRoIix7ZDoiTTIyIDEzaC00In1dLFsicGF0aCIse2Q6Ik0zIDIxYTQgNCAwIDAgMSAzLjgxLTQifV0sWyJwYXRoIix7ZDoiTTMgNWE0IDQgMCAwIDAgMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik02IDEzSDIifV0sWyJwYXRoIix7ZDoibTggMiAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTkgNy4xM1Y2YTMgMyAwIDEgMSA2IDB2MS4xMyJ9XV0sdUh0PVtbInBhdGgiLHtkOiJNMTAgMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTAgOGg0In1dLFsicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTYgMTBINGEyIDIgMCAwIDAtMiAydjdhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yVjlhMiAyIDAgMCAwLTItMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiAyMVY1YTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDEgMiAydjE2In1dXSxwSHQ9W1sicGF0aCIse2Q6Ik0xMiAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgNmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik05IDIydi0zYTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxdjMifV0sWyJyZWN0Iix7eDoiNCIseToiMiIsd2lkdGg6IjE2IixoZWlnaHQ6IjIwIixyeDoiMiJ9XV0sZkh0PVtbInBhdGgiLHtkOiJNNCA2IDIgNyJ9XSxbInBhdGgiLHtkOiJNMTAgNmg0In1dLFsicGF0aCIse2Q6Im0yMiA3LTItMSJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDExaDE2In1dLFsicGF0aCIse2Q6Ik04IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDE5djIifV0sWyJwYXRoIix7ZDoiTTE4IDIxdi0yIn1dXSxoSHQ9W1sicGF0aCIse2Q6Ik04IDZ2NiJ9XSxbInBhdGgiLHtkOiJNMTUgNnY2In1dLFsicGF0aCIse2Q6Ik0yIDEyaDE5LjYifV0sWyJwYXRoIix7ZDoiTTE4IDE4aDNzLjUtMS43LjgtMi44Yy4xLS40LjItLjguMi0xLjIgMC0uNC0uMS0uOC0uMi0xLjJsLTEuNC01QzIwLjEgNi44IDE5LjEgNiAxOCA2SDRhMiAyIDAgMCAwLTIgMnYxMGgzIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOCIscjoiMiJ9XSxbInBhdGgiLHtkOiJNOSAxOGg1In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTgiLHI6IjIifV1dLG1IdD1bWyJwYXRoIix7ZDoiTTEwIDNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAyaC4wMSJ9XSxbInBhdGgiLHtkOiJtMiA5IDIwLTUifV0sWyJwYXRoIix7ZDoiTTEyIDEyVjYuNSJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTAiLHg6IjQiLHk6IjEyIixyeDoiMyJ9XSxbInBhdGgiLHtkOiJNOSAxMnY1In1dLFsicGF0aCIse2Q6Ik0xNSAxMnY1In1dLFsicGF0aCIse2Q6Ik00IDE3aDE2In1dXSxnSHQ9W1sicGF0aCIse2Q6Ik0xNyAxOWExIDEgMCAwIDEtMS0xdi0yYTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMiAydjJhMSAxIDAgMCAxLTEgMXoifV0sWyJwYXRoIix7ZDoiTTE3IDIxdi0yIn1dLFsicGF0aCIse2Q6Ik0xOSAxNFY2LjVhMSAxIDAgMCAwLTcgMHYxMWExIDEgMCAwIDEtNyAwVjEwIn1dLFsicGF0aCIse2Q6Ik0yMSAyMXYtMiJ9XSxbInBhdGgiLHtkOiJNMyA1VjMifV0sWyJwYXRoIix7ZDoiTTQgMTBhMiAyIDAgMCAxLTItMlY2YTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxdjJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTcgNVYzIn1dXSxiSHQ9W1sicGF0aCIse2Q6Ik0xNiAxM0gzIn1dLFsicGF0aCIse2Q6Ik0xNiAxN0gzIn1dLFsicGF0aCIse2Q6Im03LjIgNy45LTMuMzg4IDIuNUEyIDIgMCAwIDAgMyAxMi4wMVYyMGExIDEgMCAwIDAgMSAxaDE2YTEgMSAwIDAgMCAxLTF2LTguNjU0YzAtMi0yLjQ0LTYuMDI2LTYuNDQtOC4wMjZhMSAxIDAgMCAwLTEuMDgyLjA1N0wxMC40IDUuNiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiMiJ9XV0sdkh0PVtbInBhdGgiLHtkOiJNMjAgMjF2LThhMiAyIDAgMCAwLTItMkg2YTIgMiAwIDAgMC0yIDJ2OCJ9XSxbInBhdGgiLHtkOiJNNCAxNnMuNS0xIDItMSAyLjUgMiA0IDIgMi41LTIgNC0yIDIuNSAyIDQgMiAyLTEgMi0xIn1dLFsicGF0aCIse2Q6Ik0yIDIxaDIwIn1dLFsicGF0aCIse2Q6Ik03IDh2MyJ9XSxbInBhdGgiLHtkOiJNMTIgOHYzIn1dLFsicGF0aCIse2Q6Ik0xNyA4djMifV0sWyJwYXRoIix7ZDoiTTcgNGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNyA0aC4wMSJ9XV0seEh0PVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiI2Iix5MjoiNiJ9XSxbImxpbmUiLHt4MToiMTYiLHgyOiIxNiIseTE6IjE0Iix5MjoiMTgifV0sWyJwYXRoIix7ZDoiTTE2IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE4aC4wMSJ9XV0seUh0PVtbInBhdGgiLHtkOiJNMTEgMTRoMXY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dLHdIdD1bWyJwYXRoIix7ZDoibTE0IDE4IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTR2OCJ9XSxbInBhdGgiLHtkOiJNMjEgMTEuMzU0VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg3LjM0MyJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dLE1IdD1bWyJwYXRoIix7ZDoibTE0IDE4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTggMjJ2LTgifV0sWyJwYXRoIix7ZDoiTTIxIDExLjM0M1Y2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOSJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dLGtIdD1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTIxIDE0VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg4In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Im0xNiAyMCAyIDIgNC00In1dXSxTSHQ9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoibTkgMTYgMiAyIDQtNCJ9XV0sekh0PVtbInBhdGgiLHtkOiJNMTYgMTR2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTIxIDcuNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMy41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDUifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTYiLHI6IjYifV1dLENIdD1bWyJwYXRoIix7ZDoibTE1LjIyOCAxNi44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggMTkuMTQ4LS45MjMuMzgzIn1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoibTE2LjQ3IDE0LjMwNS4zODIuOTIzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMjAuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im0xOS4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xOS41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTYuODUyLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTkuMTQ4LjkyNC4zODMifV0sWyJwYXRoIix7ZDoiTTIxIDEwLjU5MlY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNiJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV0sVEh0PVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTggMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE4aC4wMSJ9XV0sX0h0PVtbInBhdGgiLHtkOiJNMyAyMGEyIDIgMCAwIDAgMiAyaDEwYTIuNCAyLjQgMCAwIDAgMS43MDYtLjcwNmwzLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDIxIDE2VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNSAyMnYtNWExIDEgMCAwIDEgMS0xaDUifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV1dLExIdD1bWyJwYXRoIix7ZDoiTTEyLjEyNyAyMkg1YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2NS4xMjUifV0sWyJwYXRoIix7ZDoiTTE0LjYyIDE4LjhBMi4yNSAyLjI1IDAgMSAxIDE4IDE1LjgzNmEyLjI1IDIuMjUgMCAxIDEgMy4zOCAyLjk2NmwtMi42MjYgMi44NTZhLjk5OC45OTggMCAwIDEtMS41MDcgMHoifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dLCRIdD1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTZoNCJ9XV0sREh0PVtbInBhdGgiLHtkOiJNMTYgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOC41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV0sQUh0PVtbInBhdGgiLHtkOiJNNC4yIDQuMkEyIDIgMCAwIDAgMyA2djE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDEuODItMS4xOCJ9XSxbInBhdGgiLHtkOiJNMjEgMTUuNVY2YTIgMiAwIDAgMC0yLTJIOS41In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoNyJ9XSxbInBhdGgiLHtkOiJNMjEgMTBoLTUuNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXSxFSHQ9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTEwIDE2aDQifV0sWyJwYXRoIix7ZDoiTTEyIDE0djQifV1dLElIdD1bWyJwYXRoIix7ZDoiTTE2IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMTIuNTk4VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg4LjUifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dXSxQSHQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE3IDE0aC02In1dLFsicGF0aCIse2Q6Ik0xMyAxOEg3In1dLFsicGF0aCIse2Q6Ik03IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMThoLjAxIn1dXSxOSHQ9W1sicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTIxIDExLjc1VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg3LjI1In1dLFsicGF0aCIse2Q6Im0yMiAyMi0xLjg3NS0xLjg3NSJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV0sRkh0PVtbInBhdGgiLHtkOiJNMTEgMTB2NGg0In1dLFsicGF0aCIse2Q6Im0xMSAxNCAxLjUzNS0xLjYwNWE1IDUgMCAwIDEgOCAxLjUifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJtMjEgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41In1dLFsicGF0aCIse2Q6Ik0yMSAyMnYtNGgtNCJ9XSxbInBhdGgiLHtkOiJNMjEgOC41VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg0LjMifV0sWyJwYXRoIix7ZDoiTTMgMTBoNCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dLE9IdD1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTIxIDEzVjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg4In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Im0xNyAyMiA1LTUifV0sWyJwYXRoIix7ZDoibTE3IDE3IDUgNSJ9XV0sUkh0PVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Im0xNCAxNC00IDQifV0sWyJwYXRoIix7ZDoibTEwIDE0IDQgNCJ9XV0sQkh0PVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dXSxISHQ9W1sicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE1LjcyNiAyMS4wMUEyIDIgMCAwIDEgMTQgMjJINGEyIDIgMCAwIDEtMi0yVjEwYTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoiTTE4IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMiAxM2gyIn1dLFsicGF0aCIse2Q6Ik04IDhoMTQifV0sWyJyZWN0Iix7eDoiOCIseToiMyIsd2lkdGg6IjE0IixoZWlnaHQ6IjE0IixyeDoiMiJ9XV0scUh0PVtbInBhdGgiLHtkOiJNMTQuNTY0IDE0LjU1OGEzIDMgMCAxIDEtNC4xMjItNC4xMjEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMjBINGEyIDIgMCAwIDEtMi0yVjlhMiAyIDAgMCAxIDItMmgxLjk5N2EyIDIgMCAwIDAgLjgxOS0uMTc1In1dLFsicGF0aCIse2Q6Ik05LjY5NSA0LjAyNEEyIDIgMCAwIDEgMTAuMDA0IDRoMy45OTNhMiAyIDAgMCAxIDEuNzYgMS4wNWwuNDg2LjlBMiAyIDAgMCAwIDE4LjAwMyA3SDIwYTIgMiAwIDAgMSAyIDJ2Ny4zNDQifV1dLGpIdD1bWyJwYXRoIix7ZDoiTTEzLjk5NyA0YTIgMiAwIDAgMSAxLjc2IDEuMDVsLjQ4Ni45QTIgMiAwIDAgMCAxOC4wMDMgN0gyMGEyIDIgMCAwIDEgMiAydjlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOWEyIDIgMCAwIDEgMi0yaDEuOTk3YTIgMiAwIDAgMCAxLjc1OS0xLjA0OGwuNDg5LS45MDRBMiAyIDAgMCAxIDEwLjAwNCA0eiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiIzIn1dXSxWSHQ9W1sicGF0aCIse2Q6Ik01LjcgMjFhMiAyIDAgMCAxLTMuNS0ybDguNi0xNGE2IDYgMCAwIDEgMTAuNCA2IDIgMiAwIDEgMS0zLjQ2NC0yIDIgMiAwIDEgMC0zLjQ2NC0yWiJ9XSxbInBhdGgiLHtkOiJNMTcuNzUgNyAxNSAyLjEifV0sWyJwYXRoIix7ZDoiTTEwLjkgNC44IDEzIDkifV0sWyJwYXRoIix7ZDoibTcuOSA5LjcgMiA0LjQifV0sWyJwYXRoIix7ZDoiTTQuOSAxNC43IDcgMTguOSJ9XV0sVUh0PVtbInBhdGgiLHtkOiJNMTAgMTB2Ny45In1dLFsicGF0aCIse2Q6Ik0xMS44MDIgNi4xNDVhNSA1IDAgMCAxIDYuMDUzIDYuMDUzIn1dLFsicGF0aCIse2Q6Ik0xNCA2LjF2Mi4yNDMifV0sWyJwYXRoIix7ZDoibTE1LjUgMTUuNTcxLS45NjQuOTY0YTUgNSAwIDAgMS03LjA3MSAwIDUgNSAwIDAgMSAwLTcuMDdsLjk2NC0uOTY1In1dLFsicGF0aCIse2Q6Ik0xNiA3VjNhMSAxIDAgMCAxIDEuNzA3LS43MDcgMi41IDIuNSAwIDAgMCAyLjE1Mi43MTcgMSAxIDAgMCAxIDEuMTMxIDEuMTMxIDIuNSAyLjUgMCAwIDAgLjcxNyAyLjE1MkExIDEgMCAwIDEgMjEgOGgtNCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04IDE3djRhMSAxIDAgMCAxLTEuNzA3LjcwNyAyLjUgMi41IDAgMCAwLTIuMTUyLS43MTcgMSAxIDAgMCAxLTEuMTMxLTEuMTMxIDIuNSAyLjUgMCAwIDAtLjcxNy0yLjE1MkExIDEgMCAwIDEgMyAxNmg0In1dXSxXSHQ9W1sicGF0aCIse2Q6Ik0xMCA3djEwLjkifV0sWyJwYXRoIix7ZDoiTTE0IDYuMVYxNyJ9XSxbInBhdGgiLHtkOiJNMTYgN1YzYTEgMSAwIDAgMSAxLjcwNy0uNzA3IDIuNSAyLjUgMCAwIDAgMi4xNTIuNzE3IDEgMSAwIDAgMSAxLjEzMSAxLjEzMSAyLjUgMi41IDAgMCAwIC43MTcgMi4xNTJBMSAxIDAgMCAxIDIxIDhoLTQifV0sWyJwYXRoIix7ZDoiTTE2LjUzNiA3LjQ2NWE1IDUgMCAwIDAtNy4wNzIgMGwtMiAyYTUgNSAwIDAgMCAwIDcuMDcgNSA1IDAgMCAwIDcuMDcyIDBsMi0yYTUgNSAwIDAgMCAwLTcuMDcifV0sWyJwYXRoIix7ZDoiTTggMTd2NGExIDEgMCAwIDEtMS43MDcuNzA3IDIuNSAyLjUgMCAwIDAtMi4xNTItLjcxNyAxIDEgMCAwIDEtMS4xMzEtMS4xMzEgMi41IDIuNSAwIDAgMC0uNzE3LTIuMTUyQTEgMSAwIDAgMSAzIDE2aDQifV1dLEdIdD1bWyJwYXRoIix7ZDoiTTEyIDIydi00YzEuNSAxLjUgMy41IDMgNiAzIDAtMS41LS41LTMuNS0yLTUifV0sWyJwYXRoIix7ZDoiTTEzLjk4OCA4LjMyN0MxMy45MDIgNi4wNTQgMTMuMzY1IDMuODIgMTIgMmE5LjMgOS4zIDAgMCAwLTEuNDQ1IDIuOSJ9XSxbInBhdGgiLHtkOiJNMTcuMzc1IDExLjcyNUMxOC44ODIgMTAuNTMgMjEgNy44NDEgMjEgNmMtMi4zMjQgMC01LjA4IDEuMjk2LTYuNjYyIDIuNjg0In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIxLjAyNCAxNS4zNzhBMTUgMTUgMCAwIDAgMjIgMTVjLS40MjYtMS4yNzktMi42Ny0yLjU1Ny00LjI1LTIuOTA3In1dLFsicGF0aCIse2Q6Ik02Ljk5NSA2Ljk5MkM1LjcxNCA2LjQgNC4yOSA2IDMgNmMwIDIgMi41IDUgNCA2LTEuNSAwLTQuNSAxLjUtNSAzIDMuNSAxLjUgNiAxIDYgMS0xLjUgMS41LTIgMy41LTIgNSAyLjUgMCA0LjUtMS41IDYtMyJ9XV0sWUh0PVtbInBhdGgiLHtkOiJNMTIgMjJ2LTQifV0sWyJwYXRoIix7ZDoiTTcgMTJjLTEuNSAwLTQuNSAxLjUtNSAzIDMuNSAxLjUgNiAxIDYgMS0xLjUgMS41LTIgMy41LTIgNSAyLjUgMCA0LjUtMS41IDYtMyAxLjUgMS41IDMuNSAzIDYgMyAwLTEuNS0uNS0zLjUtMi01IDAgMCAyLjUuNSA2LTEtLjUtMS41LTMuNS0zLTUtMyAxLjUtMSA0LTQgNC02LTIuNSAwLTUuNSAxLjUtNyAzIDAtMi41LS41LTUtMi03LTEuNSAyLTIgNC41LTIgNy0xLjUtMS41LTQuNS0zLTctMyAwIDIgMi41IDUgNCA2In1dXSxaSHQ9W1sicGF0aCIse2Q6Ik0xMC41IDVIMTlhMiAyIDAgMCAxIDIgMnY4LjUifV0sWyJwYXRoIix7ZDoiTTE3IDExaC0uNSJ9XSxbInBhdGgiLHtkOiJNMTkgMTlINWEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik03IDExaDQifV0sWyJwYXRoIix7ZDoiTTcgMTVoMi41In1dXSxwRT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE0Iix4OiIzIix5OiI1IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTVoNE0xNSAxNWgyTTcgMTFoMk0xMyAxMWg0In1dXSxYSHQ9W1sicGF0aCIse2Q6Im0yMSA4LTIgMi0xLjUtMy43QTIgMiAwIDAgMCAxNS42NDYgNUg4LjRhMiAyIDAgMCAwLTEuOTAzIDEuMjU3TDUgMTAgMyA4In1dLFsicGF0aCIse2Q6Ik03IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTRoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiI4Iix4OiIzIix5OiIxMCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTUgMTh2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMTh2MiJ9XV0sUUh0PVtbInBhdGgiLHtkOiJNMTAgMmg0In1dLFsicGF0aCIse2Q6Im0yMSA4LTIgMi0xLjUtMy43QTIgMiAwIDAgMCAxNS42NDYgNUg4LjRhMiAyIDAgMCAwLTEuOTAzIDEuMjU3TDUgMTAgMyA4In1dLFsicGF0aCIse2Q6Ik03IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTRoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiI4Iix4OiIzIix5OiIxMCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTUgMTh2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMTh2MiJ9XV0sSkh0PVtbInBhdGgiLHtkOiJNMTkgMTdoMmMuNiAwIDEtLjQgMS0xdi0zYzAtLjktLjctMS43LTEuNS0xLjlDMTguNyAxMC42IDE2IDEwIDE2IDEwcy0xLjMtMS40LTIuMi0yLjNjLS41LS40LTEuMS0uNy0xLjgtLjdINWMtLjYgMC0xLjEuNC0xLjQuOWwtMS40IDIuOUEzLjcgMy43IDAgMCAwIDIgMTJ2NGMwIC42LjQgMSAxIDFoMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTciLHI6IjIifV0sWyJwYXRoIix7ZDoiTTkgMTdoNiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIyIn1dXSxLSHQ9W1sicGF0aCIse2Q6Ik0xOCAxOVY5YTQgNCAwIDAgMC00LTRINmE0IDQgMCAwIDAtNCA0djhhMiAyIDAgMCAwIDIgMmgyIn1dLFsicGF0aCIse2Q6Ik0yIDloM2ExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMUgyIn1dLFsicGF0aCIse2Q6Ik0yMiAxN3YxYTEgMSAwIDAgMS0xIDFIMTB2LTlhMSAxIDAgMCAxIDEtMWgyYTEgMSAwIDAgMSAxIDF2OSJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTkiLHI6IjIifV1dLGVxdD1bWyJwYXRoIix7ZDoiTTEyIDE0djQifV0sWyJwYXRoIix7ZDoiTTE0LjE3MiAyYTIgMiAwIDAgMSAxLjQxNC41ODZsMy44MjggMy44MjhBMiAyIDAgMCAxIDIwIDcuODI4VjIwYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoiTTggMTRoOCJ9XSxbInJlY3QiLHt4OiI4Iix5OiIxMCIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjEifV1dLHRxdD1bWyJwYXRoIix7ZDoiTTIuMjcgMjEuN3M5Ljg3LTMuNSAxMi43My02LjM2YTQuNSA0LjUgMCAwIDAtNi4zNi02LjM3QzUuNzcgMTEuODQgMi4yNyAyMS43IDIuMjcgMjEuN3pNOC42NCAxNGwtMi4wNS0yLjA0TTE1LjM0IDE1bC0yLjQ2LTIuNDYifV0sWyJwYXRoIix7ZDoiTTIyIDlzLTEuMzMtMi0zLjUtMkMxNi44NiA3IDE1IDkgMTUgOXMxLjMzIDIgMy41IDJTMjIgOSAyMiA5eiJ9XSxbInBhdGgiLHtkOiJNMTUgMnMtMiAxLjMzLTIgMy41UzE1IDkgMTUgOXMyLTEuODQgMi0zLjVDMTcgMy4zMyAxNSAyIDE1IDJ6In1dXSxycXQ9W1sicGF0aCIse2Q6Ik0xMCA5djcifV0sWyJwYXRoIix7ZDoiTTE0IDZ2MTAifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjEyLjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI2LjUiLGN5OiIxMi41IixyOiIzLjUifV1dLGFxdD1bWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMjIgOXY3In1dLFsicGF0aCIse2Q6Ik0zLjMwNCAxM2g2LjM5MiJ9XSxbImNpcmNsZSIse2N4OiIxOC41IixjeToiMTIuNSIscjoiMy41In1dXSxpcXQ9W1sicGF0aCIse2Q6Ik0xNSAxMWg0LjVhMSAxIDAgMCAxIDAgNWgtNGEuNS41IDAgMCAxLS41LS41di05YS41LjUgMCAwIDEgLjUtLjVoM2ExIDEgMCAwIDEgMCA1In1dLFsicGF0aCIse2Q6Im0yIDE2IDQuMDM5LTkuNjlhLjUuNSAwIDAgMSAuOTIzIDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTMuMzA0IDEzaDYuMzkyIn1dXSxucXQ9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjEwIixyOiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMCIscjoiMiJ9XSxbInBhdGgiLHtkOiJtNiAyMCAuNy0yLjlBMS40IDEuNCAwIDAgMSA4LjEgMTZoNy44YTEuNCAxLjQgMCAwIDEgMS40IDFsLjcgMyJ9XV0sc3F0PVtbInBhdGgiLHtkOiJNMiA4VjZhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjEyYTIgMiAwIDAgMS0yIDJoLTYifV0sWyJwYXRoIix7ZDoiTTIgMTJhOSA5IDAgMCAxIDggOCJ9XSxbInBhdGgiLHtkOiJNMiAxNmE1IDUgMCAwIDEgNCA0In1dLFsibGluZSIse3gxOiIyIix4MjoiMi4wMSIseTE6IjIwIix5MjoiMjAifV1dLG9xdD1bWyJwYXRoIix7ZDoiTTEwIDVWMyJ9XSxbInBhdGgiLHtkOiJNMTQgNVYzIn1dLFsicGF0aCIse2Q6Ik0xNSAyMXYtM2EzIDMgMCAwIDAtNiAwdjMifV0sWyJwYXRoIix7ZDoiTTE4IDN2OCJ9XSxbInBhdGgiLHtkOiJNMTggNUg2In1dLFsicGF0aCIse2Q6Ik0yMiAxMUgyIn1dLFsicGF0aCIse2Q6Ik0yMiA5djEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjkifV0sWyJwYXRoIix7ZDoiTTYgM3Y4In1dXSxscXQ9W1sicGF0aCIse2Q6Ik0xMiA1Yy42NyAwIDEuMzUuMDkgMiAuMjYgMS43OC0yIDUuMDMtMi44NCA2LjQyLTIuMjYgMS40LjU4LS40MiA3LS40MiA3IC41NyAxLjA3IDEgMi4yNCAxIDMuNDRDMjEgMTcuOSAxNi45NyAyMSAxMiAyMXMtOS0zLTktNy41NmMwLTEuMjUuNS0yLjQgMS0zLjQ0IDAgMC0xLjg5LTYuNDItLjUtNyAxLjM5LS41OCA0LjcyLjIzIDYuNSAyLjIzQTkuMDQgOS4wNCAwIDAgMSAxMiA1WiJ9XSxbInBhdGgiLHtkOiJNOCAxNHYuNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2LjUifV0sWyJwYXRoIix7ZDoiTTExLjI1IDE2LjI1aDEuNUwxMiAxN2wtLjc1LS43NVoifV1dLGNxdD1bWyJwYXRoIix7ZDoiTTE2Ljc1IDEyaDMuNjMyYTEgMSAwIDAgMSAuODk0IDEuNDQ3bC0yLjAzNCA0LjA2OWExIDEgMCAwIDEtMS43MDguMTM0bC0yLjEyNC0yLjk3In1dLFsicGF0aCIse2Q6Ik0xNy4xMDYgOS4wNTNhMSAxIDAgMCAxIC40NDcgMS4zNDFsLTMuMTA2IDYuMjExYTEgMSAwIDAgMS0xLjM0Mi40NDdMMy42MSAxMi4zYTIuOTIgMi45MiAwIDAgMS0xLjMtMy45MUwzLjY5IDUuNmEyLjkyIDIuOTIgMCAwIDEgMy45Mi0xLjN6In1dLFsicGF0aCIse2Q6Ik0yIDE5aDMuNzZhMiAyIDAgMCAwIDEuOC0xLjFMOSAxNSJ9XSxbInBhdGgiLHtkOiJNMiAyMXYtNCJ9XSxbInBhdGgiLHtkOiJNNyA5aC4wMSJ9XV0sZkU9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNNyAxMS4yMDdhLjUuNSAwIDAgMSAuMTQ2LS4zNTNsMi0yYS41LjUgMCAwIDEgLjcwOCAwbDMuMjkyIDMuMjkyYS41LjUgMCAwIDAgLjcwOCAwbDQuMjkyLTQuMjkyYS41LjUgMCAwIDEgLjg1NC4zNTNWMTZhMSAxIDAgMCAxLTEgMUg4YTEgMSAwIDAgMS0xLTF6In1dXSxoRT1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicmVjdCIse3g6IjciLHk6IjEzIix3aWR0aDoiOSIsaGVpZ2h0OiI0IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI3Iix5OiI1Iix3aWR0aDoiMTIiLGhlaWdodDoiNCIscng6IjEifV1dLGRxdD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDExaDgifV0sWyJwYXRoIix7ZDoiTTcgMTZoMyJ9XSxbInBhdGgiLHtkOiJNNyA2aDEyIn1dXSx1cXQ9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNNyAxMWg4In1dLFsicGF0aCIse2Q6Ik03IDE2aDEyIn1dLFsicGF0aCIse2Q6Ik03IDZoMyJ9XV0scHF0PVtbInBhdGgiLHtkOiJNMTEgMTN2NCJ9XSxbInBhdGgiLHtkOiJNMTUgNXY0In1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInJlY3QiLHt4OiI3Iix5OiIxMyIsd2lkdGg6IjkiLGhlaWdodDoiNCIscng6IjEifV0sWyJyZWN0Iix7eDoiNyIseToiNSIsd2lkdGg6IjEyIixoZWlnaHQ6IjQiLHJ4OiIxIn1dXSxtRT1bWyJwYXRoIix7ZDoiTTkgNXY0In1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjYiLHg6IjciLHk6IjkiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik05IDE1djIifV0sWyJwYXRoIix7ZDoiTTE3IDN2MiJ9XSxbInJlY3QiLHt3aWR0aDoiNCIsaGVpZ2h0OiI4Iix4OiIxNSIseToiNSIscng6IjEifV0sWyJwYXRoIix7ZDoiTTE3IDEzdjMifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dXSxnRT1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicmVjdCIse3g6IjE1Iix5OiI1Iix3aWR0aDoiNCIsaGVpZ2h0OiIxMiIscng6IjEifV0sWyJyZWN0Iix7eDoiNyIseToiOCIsd2lkdGg6IjQiLGhlaWdodDoiOSIscng6IjEifV1dLGZxdD1bWyJwYXRoIix7ZDoiTTEzIDE3VjkifV0sWyJwYXRoIix7ZDoiTTE4IDE3di0zIn1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNOCAxN1Y1In1dXSxiRT1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDE2aDgifV0sWyJwYXRoIix7ZDoiTTcgMTFoMTIifV0sWyJwYXRoIix7ZDoiTTcgNmgzIn1dXSx2RT1bWyJwYXRoIix7ZDoiTTEzIDE3VjkifV0sWyJwYXRoIix7ZDoiTTE4IDE3VjUifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik04IDE3di0zIn1dXSxocXQ9W1sicGF0aCIse2Q6Ik0xMSAxM0g3In1dLFsicGF0aCIse2Q6Ik0xOSA5aC00In1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInJlY3QiLHt4OiIxNSIseToiNSIsd2lkdGg6IjQiLGhlaWdodDoiMTIiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjciLHk6IjgiLHdpZHRoOiI0IixoZWlnaHQ6IjkiLHJ4OiIxIn1dXSx4RT1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik0xOCAxN1Y5In1dLFsicGF0aCIse2Q6Ik0xMyAxN1Y1In1dLFsicGF0aCIse2Q6Ik04IDE3di0zIn1dXSxtcXQ9W1sicGF0aCIse2Q6Ik0xMCA2aDgifV0sWyJwYXRoIix7ZDoiTTEyIDE2aDYifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik04IDExaDcifV1dLHlFPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoibTE5IDktNSA1LTQtNC0zIDMifV1dLGdxdD1bWyJwYXRoIix7ZDoibTEzLjExIDcuNjY0IDEuNzggMi42NzIifV0sWyJwYXRoIix7ZDoibTE0LjE2MiAxMi43ODgtMy4zMjQgMS40MjQifV0sWyJwYXRoIix7ZDoibTIwIDQtNi4wNiAxLjUxNSJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI2IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTIiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjE1IixyOiIyIn1dXSxicXQ9W1sicGF0aCIse2Q6Ik01IDIxVjMifV0sWyJwYXRoIix7ZDoiTTEyIDIxVjkifV0sWyJwYXRoIix7ZDoiTTE5IDIxdi02In1dXSx3RT1bWyJwYXRoIix7ZDoiTTUgMjF2LTYifV0sWyJwYXRoIix7ZDoiTTEyIDIxVjkifV0sWyJwYXRoIix7ZDoiTTE5IDIxVjMifV1dLE1FPVtbInBhdGgiLHtkOiJNNSAyMXYtNiJ9XSxbInBhdGgiLHtkOiJNMTIgMjFWMyJ9XSxbInBhdGgiLHtkOiJNMTkgMjFWOSJ9XV0sdnF0PVtbInBhdGgiLHtkOiJNMTIgMTZ2NSJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2NyJ9XSxbInBhdGgiLHtkOiJNMjAgMTB2MTEifV0sWyJwYXRoIix7ZDoibTIyIDMtOC42NDYgOC42NDZhLjUuNSAwIDAgMS0uNzA4IDBMOS4zNTQgOC4zNTRhLjUuNSAwIDAgMC0uNzA3IDBMMiAxNSJ9XSxbInBhdGgiLHtkOiJNNCAxOHYzIn1dLFsicGF0aCIse2Q6Ik04IDE0djcifV1dLGtFPVtbInBhdGgiLHtkOiJNNiA1aDEyIn1dLFsicGF0aCIse2Q6Ik00IDEyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAxOWg4In1dXSxTRT1bWyJwYXRoIix7ZDoiTTIxIDEyYy41NTIgMCAxLjAwNS0uNDQ5Ljk1LS45OThhMTAgMTAgMCAwIDAtOC45NTMtOC45NTFjLS41NS0uMDU1LS45OTguMzk4LS45OTguOTV2OGExIDEgMCAwIDAgMSAxeiJ9XSxbInBhdGgiLHtkOiJNMjEuMjEgMTUuODlBMTAgMTAgMCAxIDEgOCAyLjgzIn1dXSx6RT1bWyJjaXJjbGUiLHtjeDoiNy41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsiY2lyY2xlIix7Y3g6IjE4LjUiLGN5OiI1LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiMTEuNSIsY3k6IjExLjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiNy41IixjeToiMTYuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTQuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV1dLHhxdD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDE2Yy41LTIgMS41LTcgNC03IDIgMCAyIDMgNCAzIDIuNSAwIDQuNS01IDUtNyJ9XV0seXF0PVtbInBhdGgiLHtkOiJNMjAgNEw5IDE1In1dLFsicGF0aCIse2Q6Ik0yMSAxOUwzIDE5In1dLFsicGF0aCIse2Q6Ik05IDE1TDQgMTAifV1dLHdxdD1bWyJwYXRoIix7ZDoiTTE4IDYgNyAxN2wtNS01In1dLFsicGF0aCIse2Q6Im0yMiAxMC03LjUgNy41TDEzIDE2In1dXSxNcXQ9W1sicGF0aCIse2Q6Ik0xNyAyMWExIDEgMCAwIDAgMS0xdi01LjM1YzAtLjQ1Ny4zMTYtLjg0NC43MjctMS4wNDFhNCA0IDAgMCAwLTIuMTM0LTcuNTg5IDUgNSAwIDAgMC05LjE4NiAwIDQgNCAwIDAgMC0yLjEzNCA3LjU4OGMuNDExLjE5OC43MjcuNTg1LjcyNyAxLjA0MVYyMGExIDEgMCAwIDAgMSAxWiJ9XSxbInBhdGgiLHtkOiJNNiAxN2gxMiJ9XV0sa3F0PVtbInBhdGgiLHtkOiJNMiAxN2E1IDUgMCAwIDAgMTAgMGMwLTIuNzYtMi41LTUtNS0zLTIuNS0yLTUgLjI0LTUgM1oifV0sWyJwYXRoIix7ZDoiTTEyIDE3YTUgNSAwIDAgMCAxMCAwYzAtMi43Ni0yLjUtNS01LTMtMi41LTItNSAuMjQtNSAzWiJ9XSxbInBhdGgiLHtkOiJNNyAxNGMzLjIyLTIuOTEgNC4yOS04Ljc1IDUtMTIgMS42NiAyLjM4IDQuOTQgOSA1IDEyIn1dLFsicGF0aCIse2Q6Ik0yMiA5Yy00LjI5IDAtNy4xNC0yLjMzLTEwLTcgNS43MSAwIDEwIDQuNjcgMTAgN1oifV1dLFNxdD1bWyJwYXRoIix7ZDoiTTIwIDYgOSAxN2wtNS01In1dXSx6cXQ9W1sicGF0aCIse2Q6Ik01IDIwYTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINmExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTUgMThjMS41LS42MTUgMy0yLjQ2MSAzLTQuOTIzQzE4IDguNzY5IDE0LjUgNC40NjIgMTIgMiA5LjUgNC40NjIgNiA4Ljc3IDYgMTMuMDc3IDYgMTUuNTM5IDcuNSAxNy4zODUgOSAxOCJ9XSxbInBhdGgiLHtkOiJtMTYgNy0yLjUgMi41In1dLFsicGF0aCIse2Q6Ik05IDJoNiJ9XV0sQ3F0PVtbInBhdGgiLHtkOiJNNCAyMGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDVhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoibTYuNyAxOC0xLTFDNC4zNSAxNS42ODIgMyAxNC4wOSAzIDEyYTUgNSAwIDAgMSA0Ljk1LTVjMS41ODQgMCAyLjcuNDU1IDQuMDUgMS44MThDMTMuMzUgNy40NTUgMTQuNDY2IDcgMTYuMDUgN0E1IDUgMCAwIDEgMjEgMTJjMCAyLjA4Mi0xLjM1OSAzLjY3My0yLjcgNWwtMSAxIn1dLFsicGF0aCIse2Q6Ik0xMCA0aDQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2Ni44MTgifV1dLFRxdD1bWyJwYXRoIix7ZDoiTTUgMjBhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Im0xNC41IDEwIDEuNSA4In1dLFsicGF0aCIse2Q6Ik03IDEwaDEwIn1dLFsicGF0aCIse2Q6Im04IDE4IDEuNS04In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNiIscjoiNCJ9XV0sX3F0PVtbInBhdGgiLHtkOiJNNCAyMGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDVhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoibTEyLjQ3NCA1Ljk0MyAxLjU2NyA1LjM0YTEgMSAwIDAgMCAxLjc1LjMyOGwyLjYxNi0zLjQwMiJ9XSxbInBhdGgiLHtkOiJtMjAgOS0zIDkifV0sWyJwYXRoIix7ZDoibTUuNTk0IDguMjA5IDIuNjE1IDMuNDAzYTEgMSAwIDAgMCAxLjc1LS4zMjlsMS41NjctNS4zNCJ9XSxbInBhdGgiLHtkOiJNNyAxOCA0IDkifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI0IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiNyIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiNyIscjoiMiJ9XV0sTHF0PVtbInBhdGgiLHtkOiJNNSAyMGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTE2LjUgMThjMS0yIDIuNS01IDIuNS05YTcgNyAwIDAgMC03LTdINi42MzVhMSAxIDAgMCAwLS43NjggMS42NEw3IDVsLTIuMzIgNS44MDJhMiAyIDAgMCAwIC45NSAyLjUyNmwyLjg3IDEuNDU2In1dLFsicGF0aCIse2Q6Im0xNSA1IDEuNDI1LTEuNDI1In1dLFsicGF0aCIse2Q6Im0xNyA4IDEuNTMtMS41MyJ9XSxbInBhdGgiLHtkOiJNOS43MTMgMTIuMTg1IDcgMTgifV1dLCRxdD1bWyJwYXRoIix7ZDoiTTUgMjBhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik0xMCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MiJ9XSxbInBhdGgiLHtkOiJtMTcgMTgtMS05In1dLFsicGF0aCIse2Q6Ik02IDJ2NWEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlYyIn1dLFsicGF0aCIse2Q6Ik02IDRoMTIifV0sWyJwYXRoIix7ZDoibTcgMTggMS05In1dXSxEcXQ9W1sicGF0aCIse2Q6Im02IDkgNiA2IDYtNiJ9XV0sQXF0PVtbInBhdGgiLHtkOiJtMTcgMTgtNi02IDYtNiJ9XSxbInBhdGgiLHtkOiJNNyA2djEyIn1dXSxFcXQ9W1sicGF0aCIse2Q6Im03IDE4IDYtNi02LTYifV0sWyJwYXRoIix7ZDoiTTE3IDZ2MTIifV1dLElxdD1bWyJwYXRoIix7ZDoibTE1IDE4LTYtNiA2LTYifV1dLFBxdD1bWyJwYXRoIix7ZDoibTkgMTggNi02LTYtNiJ9XV0sTnF0PVtbInBhdGgiLHtkOiJtMTggMTUtNi02LTYgNiJ9XV0sRnF0PVtbInBhdGgiLHtkOiJtNyAyMCA1LTUgNSA1In1dLFsicGF0aCIse2Q6Im03IDQgNSA1IDUtNSJ9XV0sT3F0PVtbInBhdGgiLHtkOiJtNyA2IDUgNSA1LTUifV0sWyJwYXRoIix7ZDoibTcgMTMgNSA1IDUtNSJ9XV0sUnF0PVtbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMmguMDEifV0sWyJwYXRoIix7ZDoibTE3IDcgNSA1LTUgNSJ9XSxbInBhdGgiLHtkOiJtNyA3LTUgNSA1IDUifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dXSxCcXQ9W1sicGF0aCIse2Q6Im05IDctNSA1IDUgNSJ9XSxbInBhdGgiLHtkOiJtMTUgNyA1IDUtNSA1In1dXSxIcXQ9W1sicGF0aCIse2Q6Im0xMSAxNy01LTUgNS01In1dLFsicGF0aCIse2Q6Im0xOCAxNy01LTUgNS01In1dXSxxcXQ9W1sicGF0aCIse2Q6Im0yMCAxNy01LTUgNS01In1dLFsicGF0aCIse2Q6Im00IDE3IDUtNS01LTUifV1dLGpxdD1bWyJwYXRoIix7ZDoibTYgMTcgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJtMTMgMTcgNS01LTUtNSJ9XV0sVnF0PVtbInBhdGgiLHtkOiJtMTcgMTEtNS01LTUgNSJ9XSxbInBhdGgiLHtkOiJtMTcgMTgtNS01LTUgNSJ9XV0sQ0U9W1sicGF0aCIse2Q6Ik0xMC44OCAyMS45NCAxNS40NiAxNCJ9XSxbInBhdGgiLHtkOiJNMjEuMTcgOEgxMiJ9XSxbInBhdGgiLHtkOiJNMy45NSA2LjA2IDguNTQgMTQifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XV0sVXF0PVtbInBhdGgiLHtkOiJtNyAxNSA1IDUgNS01In1dLFsicGF0aCIse2Q6Im03IDkgNS01IDUgNSJ9XV0sV3F0PVtbInBhdGgiLHtkOiJNMTIgMTJIM2ExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgxMyJ9XSxbInBhdGgiLHtkOiJNMTggOGMwLTIuNS0yLTIuNS0yLTUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0uNS44NjYifV0sWyJwYXRoIix7ZDoiTTIyIDhjMC0yLjUtMi0yLjUtMi01In1dLFsicGF0aCIse2Q6Ik03IDEydjQifV1dLEdxdD1bWyJwYXRoIix7ZDoiTTEwIDloNCJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y1In1dLFsicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoibTE4IDkgMy41MiAyLjE0N2ExIDEgMCAwIDEgLjQ4Ljg1NFYxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtNi45OTlhMSAxIDAgMCAxIC40OC0uODU0TDYgOSJ9XSxbInBhdGgiLHtkOiJNNiAyMVY3YTEgMSAwIDAgMSAuMzc2LS43ODJsNS0zLjk5OWExIDEgMCAwIDEgMS4yNDkuMDAxbDUgNEExIDEgMCAwIDEgMTggN3YxNCJ9XV0sWXF0PVtbInBhdGgiLHtkOiJNMTcgMTJIM2ExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgxNCJ9XSxbInBhdGgiLHtkOiJNMTggOGMwLTIuNS0yLTIuNS0yLTUifV0sWyJwYXRoIix7ZDoiTTIxIDE2YTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAwLTEtMSJ9XSxbInBhdGgiLHtkOiJNMjIgOGMwLTIuNS0yLTIuNS0yLTUifV0sWyJwYXRoIix7ZDoiTTcgMTJ2NCJ9XV0sVEU9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTYiLHkyOiIxNiJ9XV0sX0U9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoibTggMTIgNCA0IDQtNCJ9XV0sTEU9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xMiA4LTQgNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE2IDEySDgifV1dLCRFPVtbInBhdGgiLHtkOiJNMiAxMmExMCAxMCAwIDEgMSAxMCAxMCJ9XSxbInBhdGgiLHtkOiJtMiAyMiAxMC0xMCJ9XSxbInBhdGgiLHtkOiJNOCAyMkgydi02In1dXSxERT1bWyJwYXRoIix7ZDoiTTEyIDIyYTEwIDEwIDAgMSAxIDEwLTEwIn1dLFsicGF0aCIse2Q6Ik0yMiAyMiAxMiAxMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTZ2NmgtNiJ9XV0sQUU9W1sicGF0aCIse2Q6Ik0yIDhWMmg2In1dLFsicGF0aCIse2Q6Im0yIDIgMTAgMTAifV0sWyJwYXRoIix7ZDoiTTEyIDJBMTAgMTAgMCAxIDEgMiAxMiJ9XV0sRUU9W1sicGF0aCIse2Q6Ik0yMiAxMkExMCAxMCAwIDEgMSAxMiAyIn1dLFsicGF0aCIse2Q6Ik0yMiAyIDEyIDEyIn1dLFsicGF0aCIse2Q6Ik0xNiAyaDZ2NiJ9XV0sSUU9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xMiAxNiA0LTQtNC00In1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dLFBFPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTYgMTItNC00LTQgNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZWOCJ9XV0sTkU9W1sicGF0aCIse2Q6Ik0yMS44MDEgMTBBMTAgMTAgMCAxIDEgMTcgMy4zMzUifV0sWyJwYXRoIix7ZDoibTkgMTEgMyAzTDIyIDQifV1dLEZFPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXSxPRT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE2IDEwLTQgNC00LTQifV1dLFJFPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTQgMTYtNC00IDQtNCJ9XV0sQkU9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xMCA4IDQgNC00IDQifV1dLEhFPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtOCAxNCA0LTQgNCA0In1dXSxacXQ9W1sicGF0aCIse2Q6Ik0xMC4xIDIuMTgyYTEwIDEwIDAgMCAxIDMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMy45IDIxLjgxOGExMCAxMCAwIDAgMS0zLjggMCJ9XSxbInBhdGgiLHtkOiJNMTcuNjA5IDMuNzIxYTEwIDEwIDAgMCAxIDIuNjkgMi43In1dLFsicGF0aCIse2Q6Ik0yLjE4MiAxMy45YTEwIDEwIDAgMCAxIDAtMy44In1dLFsicGF0aCIse2Q6Ik0yMC4yNzkgMTcuNjA5YTEwIDEwIDAgMCAxLTIuNyAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMS44MTggMTAuMWExMCAxMCAwIDAgMSAwIDMuOCJ9XSxbInBhdGgiLHtkOiJNMy43MjEgNi4zOTFhMTAgMTAgMCAwIDEgMi43LTIuNjkifV0sWyJwYXRoIix7ZDoiTTYuMzkxIDIwLjI3OWExMCAxMCAwIDAgMS0yLjY5LTIuNyJ9XV0scUU9W1sibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTYiLHkyOiIxNiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjgiLHkyOiI4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxYcXQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC02YTIgMiAwIDEgMCAwIDRoNGEyIDIgMCAxIDEgMCA0SDgifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV1dLFFxdD1bWyJwYXRoIix7ZDoiTTEwLjEgMi4xOGE5LjkzIDkuOTMgMCAwIDEgMy44IDAifV0sWyJwYXRoIix7ZDoiTTE3LjYgMy43MWE5Ljk1IDkuOTUgMCAwIDEgMi42OSAyLjcifV0sWyJwYXRoIix7ZDoiTTIxLjgyIDEwLjFhOS45MyA5LjkzIDAgMCAxIDAgMy44In1dLFsicGF0aCIse2Q6Ik0yMC4yOSAxNy42YTkuOTUgOS45NSAwIDAgMS0yLjcgMi42OSJ9XSxbInBhdGgiLHtkOiJNMTMuOSAyMS44MmE5Ljk0IDkuOTQgMCAwIDEtMy44IDAifV0sWyJwYXRoIix7ZDoiTTYuNCAyMC4yOWE5Ljk1IDkuOTUgMCAwIDEtMi42OS0yLjcifV0sWyJwYXRoIix7ZDoiTTIuMTggMTMuOWE5LjkzIDkuOTMgMCAwIDEgMC0zLjgifV0sWyJwYXRoIix7ZDoiTTMuNzEgNi40YTkuOTUgOS45NSAwIDAgMSAyLjctMi42OSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dXSxKcXQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEifV1dLEtxdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE3IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDEyaC4wMSJ9XV0sZWp0PVtbInBhdGgiLHtkOiJNNyAxMGgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNGgxMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV0sdGp0PVtbInBhdGgiLHtkOiJNMTIgMmExMCAxMCAwIDAgMSA3LjM4IDE2Ljc1In1dLFsicGF0aCIse2Q6Im0xNiAxMi00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMiAxNlY4In1dLFsicGF0aCIse2Q6Ik0yLjUgOC44NzVhMTAgMTAgMCAwIDAtLjUgMyJ9XSxbInBhdGgiLHtkOiJNMi44MyAxNmExMCAxMCAwIDAgMCAyLjQzIDMuNCJ9XSxbInBhdGgiLHtkOiJNNC42MzYgNS4yMzVhMTAgMTAgMCAwIDEgLjg5MS0uODU3In1dLFsicGF0aCIse2Q6Ik04LjY0NCAyMS40MmExMCAxMCAwIDAgMCA3LjYzMS0uMzgifV1dLHJqdD1bWyJwYXRoIix7ZDoiTTEyIDJhMTAgMTAgMCAwIDEgNy4zOCAxNi43NSJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Ik0xNiAxMkg4In1dLFsicGF0aCIse2Q6Ik0yLjUgOC44NzVhMTAgMTAgMCAwIDAtLjUgMyJ9XSxbInBhdGgiLHtkOiJNMi44MyAxNmExMCAxMCAwIDAgMCAyLjQzIDMuNCJ9XSxbInBhdGgiLHtkOiJNNC42MzYgNS4yMzVhMTAgMTAgMCAwIDEgLjg5MS0uODU3In1dLFsicGF0aCIse2Q6Ik04LjY0NCAyMS40MmExMCAxMCAwIDAgMCA3LjYzMS0uMzgifV1dLGpFPVtbInBhdGgiLHtkOiJNMTUuNiAyLjdhMTAgMTAgMCAxIDAgNS43IDUuNyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xMy40IDEwLjYgMTkgNSJ9XV0sVkU9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dLFVFPVtbInBhdGgiLHtkOiJNMTIuNjU2IDdIMTNhMyAzIDAgMCAxIDIuOTg0IDMuMzA3In1dLFsicGF0aCIse2Q6Ik0xMyAxM0g5In1dLFsicGF0aCIse2Q6Ik0xOS4wNzEgMTkuMDcxQTEgMSAwIDAgMSA0LjkzIDQuOTMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC4zNTcgMi42ODdhMTAgMTAgMCAwIDEgMTIuOTU2IDEyLjk1NiJ9XSxbInBhdGgiLHtkOiJNOSAxN1Y5In1dXSxhanQ9W1sicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTguMzUgMi42OUExMCAxMCAwIDAgMSAyMS4zIDE1LjY1In1dLFsicGF0aCIse2Q6Ik0xOS4wOCAxOS4wOEExMCAxMCAwIDEgMSA0LjkyIDQuOTIifV1dLFdFPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOSAxN1Y3aDRhMyAzIDAgMCAxIDAgNkg5In1dXSxHRT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJsaW5lIix7eDE6IjEwIix4MjoiMTAiLHkxOiIxNSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjE0Iix4MjoiMTQiLHkxOiIxNSIseTI6IjkifV1dLFlFPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTUgOS02IDYifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDE1aC4wMSJ9XV0sWkU9W1sicGF0aCIse2Q6Ik05IDkuMDAzYTEgMSAwIDAgMSAxLjUxNy0uODU5bDQuOTk3IDIuOTk3YTEgMSAwIDAgMSAwIDEuNzE4bC00Ljk5NyAyLjk5N0ExIDEgMCAwIDEgOSAxNC45OTZ6In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxpanQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTIiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjEyIixyOiIyIn1dXSxYRT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dXSxuanQ9W1sicGF0aCIse2Q6Ik0xMCAxNlY5LjVhMSAxIDAgMCAxIDUgMCJ9XSxbInBhdGgiLHtkOiJNOCAxMmg0In1dLFsicGF0aCIse2Q6Ik04IDE2aDcifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dLFFFPVtbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik03Ljk5OCA5LjAwM2E1IDUgMCAxIDAgOC0uMDA1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxjZj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIn1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV1dLEpFPVtbInBhdGgiLHtkOiJNMjIgMiAyIDIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxzanQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsibGluZSIse3gxOiI5Iix4MjoiMTUiLHkxOiIxNSIseTI6IjkifV1dLG9qdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNiJ9XV0sbGp0PVtbInBhdGgiLHtkOiJNMTEuMDUxIDcuNjE2YTEgMSAwIDAgMSAxLjkwOS4wMjRsLjczNyAxLjQ1MmExIDEgMCAwIDAgLjczNy41MzVsMS42MzQuMjU2YTEgMSAwIDAgMSAuNTg4IDEuODA2bC0xLjE3MiAxLjE2OGExIDEgMCAwIDAtLjI4Mi44NjZsLjI1OSAxLjYxM2ExIDEgMCAwIDEtMS41NDEgMS4xMzRsLTEuNDY1LS43NWExIDEgMCAwIDAtLjkxMiAwbC0xLjQ2NS43NWExIDEgMCAwIDEtMS41MzktMS4xMzNsLjI1OC0xLjYxM2ExIDEgMCAwIDAtLjI4Mi0uODY3bC0xLjE1Ni0xLjE1MmExIDEgMCAwIDEgLjU3Mi0xLjgyMmwxLjYzMy0uMjU2YTEgMSAwIDAgMCAuNzM3LS41MzV6In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxLRT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJyZWN0Iix7eDoiOSIseToiOSIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV1dLGVJPVtbInBhdGgiLHtkOiJNMTggMjBhNiA2IDAgMCAwLTEyIDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV0sdEk9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTcgMjAuNjYyVjE5YTIgMiAwIDAgMSAyLTJoNmEyIDIgMCAwIDEgMiAydjEuNjYyIn1dXSxyST1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Im05IDkgNiA2In1dXSxjanQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxkanQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTExIDloNGEyIDIgMCAwIDAgMi0yVjMifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTcgMjF2LTRhMiAyIDAgMCAxIDItMmg0In1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTUiLHI6IjIifV1dLHVqdD1bWyJwYXRoIix7ZDoiTTIxLjY2IDE3LjY3YTEuMDggMS4wOCAwIDAgMS0uMDQgMS42QTEyIDEyIDAgMCAxIDQuNzMgMi4zOGExLjEgMS4xIDAgMCAxIDEuNjEtLjA0eiJ9XSxbInBhdGgiLHtkOiJNMTkuNjUgMTUuNjZBOCA4IDAgMCAxIDguMzUgNC4zNCJ9XSxbInBhdGgiLHtkOiJtMTQgMTAtNS41IDUuNSJ9XSxbInBhdGgiLHtkOiJNMTQgMTcuODVWMTBINi4xNSJ9XV0scGp0PVtbInBhdGgiLHtkOiJNMjAuMiA2IDMgMTFsLS45LTIuNGMtLjMtMS4xLjMtMi4yIDEuMy0yLjVsMTMuNS00YzEuMS0uMyAyLjIuMyAyLjUgMS4zWiJ9XSxbInBhdGgiLHtkOiJtNi4yIDUuMyAzLjEgMy45In1dLFsicGF0aCIse2Q6Im0xMi40IDMuNCAzLjEgNCJ9XSxbInBhdGgiLHtkOiJNMyAxMWgxOHY4YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yWiJ9XV0sZmp0PVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Im05IDE0IDIgMiA0LTQifV1dLGhqdD1bWyJwYXRoIix7ZDoiTTE2IDE0djIuMmwxLjYgMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2LjgzMiJ9XSxbInBhdGgiLHtkOiJNOCA0SDZhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XSxbInJlY3QiLHt4OiI4Iix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI0IixyeDoiMSJ9XV0sbWp0PVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTggNEg2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxNEgxMSJ9XSxbInBhdGgiLHtkOiJtMTUgMTAtNCA0IDQgNCJ9XV0sZ2p0PVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMWg0In1dLFsicGF0aCIse2Q6Ik0xMiAxNmg0In1dLFsicGF0aCIse2Q6Ik04IDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxNmguMDEifV1dLGJqdD1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNOSAxNGg2In1dXSx2anQ9W1sicGF0aCIse2Q6Ik0xMSAxNGgxMCJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MS4zNDQifV0sWyJwYXRoIix7ZDoibTE3IDE4IDQtNC00LTQifV0sWyJwYXRoIix7ZDoiTTggNEg2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMS43OTMtMS4xMTMifV0sWyJyZWN0Iix7eDoiOCIseToiMiIsd2lkdGg6IjgiLGhlaWdodDoiNCIscng6IjEifV1dLGFJPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNOCA0SDZhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LS41In1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDEuNzMgMSJ9XSxbInBhdGgiLHtkOiJNOCAxOGgxIn1dLFsicGF0aCIse2Q6Ik0yMS4zNzggMTIuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV1dLGlJPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMmgtNS41In1dLFsicGF0aCIse2Q6Ik00IDEzLjVWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTEzLjM3OCAxNS42MjZhMSAxIDAgMSAwLTMuMDA0LTMuMDA0bC01LjAxIDUuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XV0seGp0PVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik05IDE0aDYifV0sWyJwYXRoIix7ZDoiTTEyIDE3di02In1dXSx5anQ9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTkgMTJ2LTFoNnYxIn1dLFsicGF0aCIse2Q6Ik0xMSAxN2gyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMXY2In1dXSx3anQ9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoibTE1IDExLTYgNiJ9XSxbInBhdGgiLHtkOiJtOSAxMSA2IDYifV1dLE1qdD1bWyJwYXRoIix7ZDoiTTEyIDZ2NmwyLTQifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dLGtqdD1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XV0sU2p0PVtbInBhdGgiLHtkOiJNMTIgNnY2bC00LTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dLHpqdD1bWyJwYXRoIix7ZDoiTTEyIDZ2NmwtMi00In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxDanQ9W1sicGF0aCIse2Q6Ik0xMiA2djYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dLFRqdD1bWyJwYXRoIix7ZDoiTTEyIDZ2Nmw0LTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dLF9qdD1bWyJwYXRoIix7ZDoiTTEyIDZ2Nmg0In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxManQ9W1sicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSwkanQ9W1sicGF0aCIse2Q6Ik0xMiA2djZsMiA0In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxEanQ9W1sicGF0aCIse2Q6Ik0xMiA2djEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxBanQ9W1sicGF0aCIse2Q6Ik0xMiA2djZsLTIgNCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV0sRWp0PVtbInBhdGgiLHtkOiJNMTIgNnY2bC00IDIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dLElqdD1bWyJwYXRoIix7ZDoiTTEyIDZ2Nkg4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxQanQ9W1sicGF0aCIse2Q6Ik0xMiA2djZsMiAxIn1dLFsicGF0aCIse2Q6Ik0xMi4zMzcgMjEuOTk0YTEwIDEwIDAgMSAxIDkuNTg4LTguNzY3In1dLFsicGF0aCIse2Q6Im0xNCAxOCA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik0xOCAxNHY4In1dXSxOanQ9W1sicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMnY1In1dLFsicGF0aCIse2Q6Ik0yMCAyMWguMDEifV0sWyJwYXRoIix7ZDoiTTIxLjI1IDguMkExMCAxMCAwIDEgMCAxNiAyMS4xNiJ9XV0sRmp0PVtbInBhdGgiLHtkOiJNMTIgNnY2bDEuNTYuNzgifV0sWyJwYXRoIix7ZDoiTTEzLjIyNyAyMS45MjVhMTAgMTAgMCAxIDEgOC43NjctOS41ODgifV0sWyJwYXRoIix7ZDoibTE0IDE4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE4IDIydi04In1dXSxPanQ9W1sicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dLFsicGF0aCIse2Q6Ik0yMiAxMmExMCAxMCAwIDEgMC0xMSA5Ljk1In1dLFsicGF0aCIse2Q6Im0yMiAxNi01LjUgNS41TDE0IDE5In1dXSxSanQ9W1sicGF0aCIse2Q6Ik0xMiAyYTEwIDEwIDAgMCAxIDcuMzggMTYuNzUifV0sWyJwYXRoIix7ZDoiTTEyIDZ2Nmw0IDIifV0sWyJwYXRoIix7ZDoiTTIuNSA4Ljg3NWExMCAxMCAwIDAgMC0uNSAzIn1dLFsicGF0aCIse2Q6Ik0yLjgzIDE2YTEwIDEwIDAgMCAwIDIuNDMgMy40In1dLFsicGF0aCIse2Q6Ik00LjYzNiA1LjIzNWExMCAxMCAwIDAgMSAuODkxLS44NTcifV0sWyJwYXRoIix7ZDoiTTguNjQ0IDIxLjQyYTEwIDEwIDAgMCAwIDcuNjMxLS4zOCJ9XV0sQmp0PVtbInBhdGgiLHtkOiJNMTIgNnY2bDMuNjQ0IDEuODIyIn1dLFsicGF0aCIse2Q6Ik0xNiAxOWg2In1dLFsicGF0aCIse2Q6Ik0xOSAxNnY2In1dLFsicGF0aCIse2Q6Ik0yMS45MiAxMy4yNjdhMTAgMTAgMCAxIDAtOC42NTMgOC42NTMifV1dLEhqdD1bWyJwYXRoIix7ZDoiTTEyIDZ2Nmw0IDIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dLHFqdD1bWyJwYXRoIix7ZDoiTTEwIDkuMTdhMyAzIDAgMSAwIDAgNS42NiJ9XSxbInBhdGgiLHtkOiJNMTcgOS4xN2EzIDMgMCAxIDAgMCA1LjY2In1dLFsicmVjdCIse3g6IjIiLHk6IjUiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV1dLGpqdD1bWyJwYXRoIix7ZDoiTTEyIDEydjQifV0sWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOC4xMjggMTYuOTQ5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhMSAxIDAgMCAxIDAgOWgtMS42NDIifV1dLFZqdD1bWyJwYXRoIix7ZDoiTTIxIDE1LjI1MUE0LjUgNC41IDAgMCAwIDE3LjUgOGgtMS43OUE3IDcgMCAxIDAgMyAxMy42MDcifV0sWyJwYXRoIix7ZDoiTTcgMTF2NGg0In1dLFsicGF0aCIse2Q6Ik04IDE5YTUgNSAwIDAgMCA5LTMgNC41IDQuNSAwIDAgMC00LjUtNC41IDQuODIgNC44MiAwIDAgMC0zLjQxIDEuNDFMNyAxNSJ9XV0sVWp0PVtbInBhdGgiLHtkOiJtMTcgMTUtNS41IDUuNUw5IDE4In1dLFsicGF0aCIse2Q6Ik01LjUxNiAxNi4wN0E3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMy41MDEgNy4zMjcifV1dLFdqdD1bWyJwYXRoIix7ZDoibTEwLjg1MiAxOS43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTEzLjE0OCAxNC4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoiTTEzLjE0OCAxOS43NzJhMyAzIDAgMSAwLTIuMjk2LTUuNTQ0bC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTEzLjUzIDIwLjY5Ni0uMzgyLS45MjRhMyAzIDAgMSAxLTIuMjk2LTUuNTQ0In1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTUuODUyLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTguMTQ4LjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTQuMiAxNS4xYTcgNyAwIDEgMSA5LjkzLTkuODU4QTcgNyAwIDAgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yIn1dLFsicGF0aCIse2Q6Im05LjIyOCAxNS44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im05LjIyOCAxOC4xNDgtLjkyMy4zODMifV1dLG5JPVtbInBhdGgiLHtkOiJNMTIgMTN2OGwtNC00In1dLFsicGF0aCIse2Q6Im0xMiAyMSA0LTQifV0sWyJwYXRoIix7ZDoiTTQuMzkzIDE1LjI2OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi40MzYgOC4yODQifV1dLEdqdD1bWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoiTTggMTl2MSJ9XSxbInBhdGgiLHtkOiJNOCAxNHYxIn1dLFsicGF0aCIse2Q6Ik0xNiAxOXYxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNHYxIn1dLFsicGF0aCIse2Q6Ik0xMiAyMXYxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNnYxIn1dXSxZanQ9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik0xNiAxN0g3In1dLFsicGF0aCIse2Q6Ik0xNyAyMUg5In1dXSxaanQ9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik0xNiAxNHYyIn1dLFsicGF0aCIse2Q6Ik04IDE0djIifV0sWyJwYXRoIix7ZDoiTTE2IDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE2djIifV0sWyJwYXRoIix7ZDoiTTEyIDIyaC4wMSJ9XV0sWGp0PVtbInBhdGgiLHtkOiJNMTEgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTguMzc2IDE0LjUxMmE2IDYgMCAwIDAgMy40NjEtNC4xMjdjLjE0OC0uNjI1LS42NTktLjk3LTEuMjQ4LS43MTRhNCA0IDAgMCAxLTUuMjU5LTUuMjZjLjI1NS0uNTg5LS4wOS0xLjM5NS0uNzE2LTEuMjQ4YTYgNiAwIDAgMC00LjU5NCA1LjM2In1dLFsicGF0aCIse2Q6Ik0zIDIwYTUgNSAwIDEgMSA4LjktNEgxM2EzIDMgMCAwIDEgMiA1LjI0In1dLFsicGF0aCIse2Q6Ik03IDE5djIifV1dLFFqdD1bWyJwYXRoIix7ZDoiTTYgMTYuMzI2QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAuNSA4Ljk3MyJ9XSxbInBhdGgiLHtkOiJtMTMgMTItMyA1aDRsLTMgNSJ9XV0sSmp0PVtbInBhdGgiLHtkOiJNMTMgMTZhMyAzIDAgMCAxIDAgNkg3YTUgNSAwIDEgMSA0LjktNnoifV0sWyJwYXRoIix7ZDoiTTE4LjM3NiAxNC41MTJhNiA2IDAgMCAwIDMuNDYxLTQuMTI3Yy4xNDgtLjYyNS0uNjU5LS45Ny0xLjI0OC0uNzE0YTQgNCAwIDAgMS01LjI1OS01LjI2Yy4yNTUtLjU4OS0uMDktMS4zOTUtLjcxNi0xLjI0OGE2IDYgMCAwIDAtNC41OTQgNS4zNiJ9XV0sS2p0PVtbInBhdGgiLHtkOiJNMTAuOTQgNS4yNzRBNyA3IDAgMCAxIDE1LjcxIDEwaDEuNzlhNC41IDQuNSAwIDAgMSA0LjIyMiA2LjA1NyJ9XSxbInBhdGgiLHtkOiJNMTguNzk2IDE4LjgxQTQuNSA0LjUgMCAwIDEgMTcuNSAxOUg5QTcgNyAwIDAgMSA1Ljc5IDUuNzgifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV0sZVZ0PVtbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJtOS4yIDIyIDMtNyJ9XSxbInBhdGgiLHtkOiJtOSAxMy0zIDcifV0sWyJwYXRoIix7ZDoibTE3IDEzLTMgNyJ9XV0sdFZ0PVtbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2NiJ9XSxbInBhdGgiLHtkOiJNOCAxNHY2In1dLFsicGF0aCIse2Q6Ik0xMiAxNnY2In1dXSxyVnQ9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik04IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxOWguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMjFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE5aC4wMSJ9XV0sYVZ0PVtbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dLFsicGF0aCIse2Q6Im0xOS4wNyA0LjkzLTEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMTUuOTQ3IDEyLjY1YTQgNCAwIDAgMC01LjkyNS00LjEyOCJ9XSxbInBhdGgiLHtkOiJNMyAyMGE1IDUgMCAxIDEgOC45LTRIMTNhMyAzIDAgMCAxIDIgNS4yNCJ9XSxbInBhdGgiLHtkOiJNMTEgMjB2MiJ9XSxbInBhdGgiLHtkOiJNNyAxOXYyIn1dXSxpVnQ9W1sicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoibTQuOTMgNC45MyAxLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoibTE5LjA3IDQuOTMtMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0xNS45NDcgMTIuNjVhNCA0IDAgMCAwLTUuOTI1LTQuMTI4In1dLFsicGF0aCIse2Q6Ik0xMyAyMkg3YTUgNSAwIDEgMSA0LjktNkgxM2EzIDMgMCAwIDEgMCA2WiJ9XV0sblZ0PVtbInBhdGgiLHtkOiJtMTcgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41In1dLFsicGF0aCIse2Q6Ik0xNyAyMnYtNGgtNCJ9XSxbInBhdGgiLHtkOiJNMjAuOTk2IDE1LjI1MUE0LjUgNC41IDAgMCAwIDE3LjQ5NSA4aC0xLjc5YTcgNyAwIDEgMC0xMi43MDkgNS42MDcifV0sWyJwYXRoIix7ZDoiTTcgMTB2NGg0In1dLFsicGF0aCIse2Q6Im03IDE0IDEuNTM1LTEuNjA1YTUgNSAwIDAgMSA4IDEuNSJ9XV0sc0k9W1sicGF0aCIse2Q6Ik0xMiAxM3Y4In1dLFsicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Im04IDE3IDQtNCA0IDQifV1dLHNWdD1bWyJwYXRoIix7ZDoiTTE3LjUgMTlIOWE3IDcgMCAxIDEgNi43MS05aDEuNzlhNC41IDQuNSAwIDEgMSAwIDlaIn1dXSxvVnQ9W1sicGF0aCIse2Q6Ik0xNy41IDEyYTEgMSAwIDEgMSAwIDlIOS4wMDZhNyA3IDAgMSAxIDYuNzAyLTl6In1dLFsicGF0aCIse2Q6Ik0yMS44MzIgOUEzIDMgMCAwIDAgMTkgN2gtMi4yMDdhNS41IDUuNSAwIDAgMC0xMC43Mi42MSJ9XV0sbFZ0PVtbInBhdGgiLHtkOiJNMTYuMTcgNy44MyAyIDIyIn1dLFsicGF0aCIse2Q6Ik00LjAyIDEyYTIuODI3IDIuODI3IDAgMSAxIDMuODEtNC4xN0EyLjgyNyAyLjgyNyAwIDEgMSAxMiA0LjAyYTIuODI3IDIuODI3IDAgMSAxIDQuMTcgMy44MUEyLjgyNyAyLjgyNyAwIDEgMSAxOS45OCAxMmEyLjgyNyAyLjgyNyAwIDEgMS0zLjgxIDQuMTdBMi44MjcgMi44MjcgMCAxIDEgMTIgMTkuOThhMi44MjcgMi44MjcgMCAxIDEtNC4xNy0zLjgxQTEgMSAwIDEgMSA0IDEyIn1dLFsicGF0aCIse2Q6Im03LjgzIDcuODMgOC4zNCA4LjM0In1dXSxjVnQ9W1sicGF0aCIse2Q6Ik0xNy4yOCA5LjA1YTUuNSA1LjUgMCAxIDAtMTAuNTYgMEE1LjUgNS41IDAgMSAwIDEyIDE3LjY2YTUuNSA1LjUgMCAxIDAgNS4yOC04LjZaIn1dLFsicGF0aCIse2Q6Ik0xMiAxNy42NkwxMiAyMiJ9XV0sb0k9W1sicGF0aCIse2Q6Im0xOCAxNiA0LTQtNC00In1dLFsicGF0aCIse2Q6Im02IDgtNCA0IDQgNCJ9XSxbInBhdGgiLHtkOiJtMTQuNSA0LTUgMTYifV1dLGRWdD1bWyJwYXRoIix7ZDoibTE2IDE4IDYtNi02LTYifV0sWyJwYXRoIix7ZDoibTggNi02IDYgNiA2In1dXSx1VnQ9W1sicG9seWdvbiIse3BvaW50czoiMTIgMiAyMiA4LjUgMjIgMTUuNSAxMiAyMiAyIDE1LjUgMiA4LjUgMTIgMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIyIix5MjoiMTUuNSJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIyMiA4LjUgMTIgMTUuNSAyIDguNSJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIyIDE1LjUgMTIgOC41IDIyIDE1LjUifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIyIix5MjoiOC41In1dXSxwVnQ9W1sicGF0aCIse2Q6Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoifV0sWyJwb2x5bGluZSIse3BvaW50czoiNy41IDQuMjEgMTIgNi44MSAxNi41IDQuMjEifV0sWyJwb2x5bGluZSIse3BvaW50czoiNy41IDE5Ljc5IDcuNSAxNC42IDMgMTIifV0sWyJwb2x5bGluZSIse3BvaW50czoiMjEgMTIgMTYuNSAxNC42IDE2LjUgMTkuNzkifV0sWyJwb2x5bGluZSIse3BvaW50czoiMy4yNyA2Ljk2IDEyIDEyLjAxIDIwLjczIDYuOTYifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIyMi4wOCIseTI6IjEyIn1dXSxmVnQ9W1sicGF0aCIse2Q6Ik0xMCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTYgOGExIDEgMCAwIDEgMSAxdjhhNCA0IDAgMCAxLTQgNEg3YTQgNCAwIDAgMS00LTRWOWExIDEgMCAwIDEgMS0xaDE0YTQgNCAwIDEgMSAwIDhoLTEifV0sWyJwYXRoIix7ZDoiTTYgMnYyIn1dXSxoVnQ9W1sicGF0aCIse2Q6Ik0xMSAxMC4yNyA3IDMuMzQifV0sWyJwYXRoIix7ZDoibTExIDEzLjczLTQgNi45MyJ9XSxbInBhdGgiLHtkOiJNMTIgMjJ2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJtMTcgMjAuNjYtMS0xLjczIn1dLFsicGF0aCIse2Q6Im0xNyAzLjM0LTEgMS43MyJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyIn1dLFsicGF0aCIse2Q6Im0yMC42NiAxNy0xLjczLTEifV0sWyJwYXRoIix7ZDoibTIwLjY2IDctMS43MyAxIn1dLFsicGF0aCIse2Q6Im0zLjM0IDE3IDEuNzMtMSJ9XSxbInBhdGgiLHtkOiJtMy4zNCA3IDEuNzMgMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjgifV1dLG1WdD1bWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjgiLHI6IjYifV0sWyJwYXRoIix7ZDoiTTE4LjA5IDEwLjM3QTYgNiAwIDEgMSAxMC4zNCAxOCJ9XSxbInBhdGgiLHtkOiJNNyA2aDF2NCJ9XSxbInBhdGgiLHtkOiJtMTYuNzEgMTMuODguNy43MS0yLjgyIDIuODIifV1dLGxJPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAzdjE4In1dXSxkZj1bWyJwYXRoIix7ZDoiTTEwLjUgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjUuNSJ9XSxbInBhdGgiLHtkOiJtMTQuMyAxOS42IDEtLjQifV0sWyJwYXRoIix7ZDoiTTE1IDN2Ny41In1dLFsicGF0aCIse2Q6Im0xNS4yIDE2LjktLjktLjMifV0sWyJwYXRoIix7ZDoibTE2LjYgMjEuNy4zLS45In1dLFsicGF0aCIse2Q6Im0xNi44IDE1LjMtLjQtMSJ9XSxbInBhdGgiLHtkOiJtMTkuMSAxNS4yLjMtLjkifV0sWyJwYXRoIix7ZDoibTE5LjYgMjEuNy0uNC0xIn1dLFsicGF0aCIse2Q6Im0yMC43IDE2LjggMS0uNCJ9XSxbInBhdGgiLHtkOiJtMjEuNyAxOS40LS45LS4zIn1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV0sY0k9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XV0sZ1Z0PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03LjUgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTYuNSAzdjE4In1dXSxiVnQ9W1sicGF0aCIse2Q6Ik0xNCAzYTEgMSAwIDAgMSAxIDF2NWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Ik0xOSAzYTEgMSAwIDAgMSAxIDF2NWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Im03IDE1IDMgMyJ9XSxbInBhdGgiLHtkOiJtNyAyMSAzLTNINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicmVjdCIse3g6IjE0Iix5OiIxNCIsd2lkdGg6IjciLGhlaWdodDoiNyIscng6IjEifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjciLGhlaWdodDoiNyIscng6IjEifV1dLHZWdD1bWyJwYXRoIix7ZDoiTTE1IDZ2MTJhMyAzIDAgMSAwIDMtM0g2YTMgMyAwIDEgMCAzIDNWNmEzIDMgMCAxIDAtMyAzaDEyYTMgMyAwIDEgMC0zLTMifV1dLHhWdD1bWyJwYXRoIix7ZDoibTE2LjI0IDcuNzYtMS44MDQgNS40MTFhMiAyIDAgMCAxLTEuMjY1IDEuMjY1TDcuNzYgMTYuMjRsMS44MDQtNS40MTFhMiAyIDAgMCAxIDEuMjY1LTEuMjY1eiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV0seVZ0PVtbInBhdGgiLHtkOiJNMTUuNTM2IDExLjI5M2ExIDEgMCAwIDAgMCAxLjQxNGwyLjM3NiAyLjM3N2ExIDEgMCAwIDAgMS40MTQgMGwyLjM3Ny0yLjM3N2ExIDEgMCAwIDAgMC0xLjQxNGwtMi4zNzctMi4zNzdhMSAxIDAgMCAwLTEuNDE0IDB6In1dLFsicGF0aCIse2Q6Ik0yLjI5NyAxMS4yOTNhMSAxIDAgMCAwIDAgMS40MTRsMi4zNzcgMi4zNzdhMSAxIDAgMCAwIDEuNDE0IDBsMi4zNzctMi4zNzdhMSAxIDAgMCAwIDAtMS40MTRMNi4wODggOC45MTZhMSAxIDAgMCAwLTEuNDE0IDB6In1dLFsicGF0aCIse2Q6Ik04LjkxNiAxNy45MTJhMSAxIDAgMCAwIDAgMS40MTVsMi4zNzcgMi4zNzZhMSAxIDAgMCAwIDEuNDE0IDBsMi4zNzctMi4zNzZhMSAxIDAgMCAwIDAtMS40MTVsLTIuMzc3LTIuMzc2YTEgMSAwIDAgMC0xLjQxNCAweiJ9XSxbInBhdGgiLHtkOiJNOC45MTYgNC42NzRhMSAxIDAgMCAwIDAgMS40MTRsMi4zNzcgMi4zNzZhMSAxIDAgMCAwIDEuNDE0IDBsMi4zNzctMi4zNzZhMSAxIDAgMCAwIDAtMS40MTRsLTIuMzc3LTIuMzc3YTEgMSAwIDAgMC0xLjQxNCAweiJ9XV0sd1Z0PVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiOCIseDoiNSIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjgiLHg6IjIiLHk6IjE0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNiAxOGgyIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGg2In1dXSxNVnQ9W1sicGF0aCIse2Q6Ik0zIDIwYTEgMSAwIDAgMS0xLTF2LTFhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMVoifV0sWyJwYXRoIix7ZDoiTTIwIDE2YTggOCAwIDEgMC0xNiAwIn1dLFsicGF0aCIse2Q6Ik0xMiA0djQifV0sWyJwYXRoIix7ZDoiTTEwIDRoNCJ9XV0sa1Z0PVtbInBhdGgiLHtkOiJtMjAuOSAxOC41NS04LTE1Ljk4YTEgMSAwIDAgMC0xLjggMGwtOCAxNS45OCJ9XSxbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiIxOSIscng6IjkiLHJ5OiIzIn1dXSxkST1bWyJwYXRoIix7ZDoiTTE2IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTcuOTE1IDIyYTYgNiAwIDAgMC0xMiAwIn1dLFsicGF0aCIse2Q6Ik04IDJ2MiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dLFsicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dLFNWdD1bWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjIwIixoZWlnaHQ6IjgiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xNyAxNHY3In1dLFsicGF0aCIse2Q6Ik03IDE0djcifV0sWyJwYXRoIix7ZDoiTTE3IDN2MyJ9XSxbInBhdGgiLHtkOiJNNyAzdjMifV0sWyJwYXRoIix7ZDoiTTEwIDE0IDIuMyA2LjMifV0sWyJwYXRoIix7ZDoibTE0IDYgNy43IDcuNyJ9XSxbInBhdGgiLHtkOiJtOCA2IDggOCJ9XV0selZ0PVtbInBhdGgiLHtkOiJNMTYgMnYyIn1dLFsicGF0aCIse2Q6Ik03IDIydi0yYTIgMiAwIDAgMSAyLTJoNmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTggMnYyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTEiLHI6IjMifV0sWyJyZWN0Iix7eDoiMyIseToiNCIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV0sQ1Z0PVtbInBhdGgiLHtkOiJNMjIgNy43YzAtLjYtLjQtMS4yLS44LTEuNWwtNi4zLTMuOWExLjcyIDEuNzIgMCAwIDAtMS43IDBsLTEwLjMgNmMtLjUuMi0uOS44LS45IDEuNHY2LjZjMCAuNS40IDEuMi44IDEuNWw2LjMgMy45YTEuNzIgMS43MiAwIDAgMCAxLjcgMGwxMC4zLTZjLjUtLjMuOS0xIC45LTEuNVoifV0sWyJwYXRoIix7ZDoiTTEwIDIxLjlWMTRMMi4xIDkuMSJ9XSxbInBhdGgiLHtkOiJtMTAgMTQgMTEuOS02LjkifV0sWyJwYXRoIix7ZDoiTTE0IDE5Ljh2LTguMSJ9XSxbInBhdGgiLHtkOiJNMTggMTcuNVY5LjQifV1dLFRWdD1bWyJwYXRoIix7ZDoiTTEyIDJhMTAgMTAgMCAxIDAgMTAgMTAgNCA0IDAgMCAxLTUtNSA0IDQgMCAwIDEtNS01In1dLFsicGF0aCIse2Q6Ik04LjUgOC41di4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTUuNXYuMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEydi4wMSJ9XSxbInBhdGgiLHtkOiJNMTEgMTd2LjAxIn1dLFsicGF0aCIse2Q6Ik03IDE0di4wMSJ9XV0sX1Z0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMThhNiA2IDAgMCAwIDAtMTJ2MTJ6In1dXSxMVnQ9W1sicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxMnY4YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0ydi04In1dLFsicGF0aCIse2Q6Im00IDggMTYtNCJ9XSxbInBhdGgiLHtkOiJtOC44NiA2Ljc4LS40NS0xLjgxYTIgMiAwIDAgMSAxLjQ1LTIuNDNsMS45NC0uNDhhMiAyIDAgMCAxIDIuNDMgMS40NmwuNDUgMS44In1dXSwkVnQ9W1sicGF0aCIse2Q6Im0xMiAxNSAyIDIgNC00In1dLFsicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIseDoiOCIseToiOCIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIifV1dLERWdD1bWyJsaW5lIix7eDE6IjEyIix4MjoiMTgiLHkxOiIxNSIseTI6IjE1In1dLFsicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIseDoiOCIseToiOCIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIifV1dLEFWdD1bWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUiLHkxOiIxMiIseTI6IjE4In1dLFsibGluZSIse3gxOiIxMiIseDI6IjE4Iix5MToiMTUiLHkyOiIxNSJ9XSxbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXSxFVnQ9W1sibGluZSIse3gxOiIxMiIseDI6IjE4Iix5MToiMTgiLHkyOiIxMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXSxJVnQ9W1sibGluZSIse3gxOiIxMiIseDI6IjE4Iix5MToiMTIiLHkyOiIxOCJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxOCIseTE6IjE4Iix5MjoiMTIifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV0sUFZ0PVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXSxOVnQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik05LjE3IDE0LjgzYTQgNCAwIDEgMCAwLTUuNjYifV1dLEZWdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE0LjgzIDE0LjgzYTQgNCAwIDEgMSAwLTUuNjYifV1dLE9WdD1bWyJwYXRoIix7ZDoiTTIwIDR2N2E0IDQgMCAwIDEtNCA0SDQifV0sWyJwYXRoIix7ZDoibTkgMTAtNSA1IDUgNSJ9XV0sUlZ0PVtbInBhdGgiLHtkOiJtMTUgMTAgNSA1LTUgNSJ9XSxbInBhdGgiLHtkOiJNNCA0djdhNCA0IDAgMCAwIDQgNGgxMiJ9XV0sQlZ0PVtbInBhdGgiLHtkOiJtMTQgMTUtNSA1LTUtNSJ9XSxbInBhdGgiLHtkOiJNMjAgNGgtN2E0IDQgMCAwIDAtNCA0djEyIn1dXSxIVnQ9W1sicGF0aCIse2Q6Ik0xNCA5IDkgNCA0IDkifV0sWyJwYXRoIix7ZDoiTTIwIDIwaC03YTQgNCAwIDAgMS00LTRWNCJ9XV0scVZ0PVtbInBhdGgiLHtkOiJtMTAgMTUgNSA1IDUtNSJ9XSxbInBhdGgiLHtkOiJNNCA0aDdhNCA0IDAgMCAxIDQgNHYxMiJ9XV0salZ0PVtbInBhdGgiLHtkOiJtMTAgOSA1LTUgNSA1In1dLFsicGF0aCIse2Q6Ik00IDIwaDdhNCA0IDAgMCAwIDQtNFY0In1dXSxWVnQ9W1sicGF0aCIse2Q6Ik0yMCAyMHYtN2E0IDQgMCAwIDAtNC00SDQifV0sWyJwYXRoIix7ZDoiTTkgMTQgNCA5bDUtNSJ9XV0sVVZ0PVtbInBhdGgiLHtkOiJtMTUgMTQgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJNNCAyMHYtN2E0IDQgMCAwIDEgNC00aDEyIn1dXSxXVnQ9W1sicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE3IDIwdjIifV0sWyJwYXRoIix7ZDoiTTE3IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyIn1dLFsicGF0aCIse2Q6Ik0yIDE3aDIifV0sWyJwYXRoIix7ZDoiTTIgN2gyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxN2gyIn1dLFsicGF0aCIse2Q6Ik0yMCA3aDIifV0sWyJwYXRoIix7ZDoiTTcgMjB2MiJ9XSxbInBhdGgiLHtkOiJNNyAydjIifV0sWyJyZWN0Iix7eDoiNCIseToiNCIsd2lkdGg6IjE2IixoZWlnaHQ6IjE2IixyeDoiMiJ9XSxbInJlY3QiLHt4OiI4Iix5OiI4Iix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV0sR1Z0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTAgOS4zYTIuOCAyLjggMCAwIDAtMy41IDEgMy4xIDMuMSAwIDAgMCAwIDMuNCAyLjcgMi43IDAgMCAwIDMuNSAxIn1dLFsicGF0aCIse2Q6Ik0xNyA5LjNhMi44IDIuOCAwIDAgMC0zLjUgMSAzLjEgMy4xIDAgMCAwIDAgMy40IDIuNyAyLjcgMCAwIDAgMy41IDEifV1dLFlWdD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiI1IixyeDoiMiJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMTAiLHkyOiIxMCJ9XV0sWlZ0PVtbInBhdGgiLHtkOiJNMTAuMiAxOEg0Ljc3NGExLjUgMS41IDAgMCAxLTEuMzUyLS45NyAxMSAxMSAwIDAgMSAuMTMyLTYuNDg3In1dLFsicGF0aCIse2Q6Ik0xOCAxMC4yVjQuNzc0YTEuNSAxLjUgMCAwIDAtLjk3LTEuMzUyIDExIDExIDAgMCAwLTYuNDg2LjEzMiJ9XSxbInBhdGgiLHtkOiJNMTggNWE0IDMgMCAwIDEgNCAzIDIgMiAwIDAgMS0yIDIgMTAgMTAgMCAwIDAtNS4xMzkgMS40MiJ9XSxbInBhdGgiLHtkOiJNNSAxOGEzIDQgMCAwIDAgMyA0IDIgMiAwIDAgMCAyLTIgMTAgMTAgMCAwIDEgMS40Mi01LjE0In1dLFsicGF0aCIse2Q6Ik04LjcwOSAyLjU1NGExMCAxMCAwIDAgMC02LjE1NSA2LjE1NSAxLjUgMS41IDAgMCAwIC42NzYgMS42MjZsOS44MDcgNS40MmEyIDIgMCAwIDAgMi43MTgtMi43MThsLTUuNDItOS44MDdhMS41IDEuNSAwIDAgMC0xLjYyNi0uNjc2In1dXSxYVnQ9W1sicGF0aCIse2Q6Ik02IDJ2MTRhMiAyIDAgMCAwIDIgMmgxNCJ9XSxbInBhdGgiLHtkOiJNMTggMjJWOGEyIDIgMCAwIDAtMi0ySDIifV1dLFFWdD1bWyJwYXRoIix7ZDoiTTQgOWEyIDIgMCAwIDAtMiAydjJhMiAyIDAgMCAwIDIgMmg0YTEgMSAwIDAgMSAxIDF2NGEyIDIgMCAwIDAgMiAyaDJhMiAyIDAgMCAwIDItMnYtNGExIDEgMCAwIDEgMS0xaDRhMiAyIDAgMCAwIDItMnYtMmEyIDIgMCAwIDAtMi0yaC00YTEgMSAwIDAgMS0xLTFWNGEyIDIgMCAwIDAtMi0yaC0yYTIgMiAwIDAgMC0yIDJ2NGExIDEgMCAwIDEtMSAxeiJ9XV0sSlZ0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIxOCIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjYiLHgyOiIyIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjYiLHkyOiIyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMjIiLHkyOiIxOCJ9XV0sS1Z0PVtbInBhdGgiLHtkOiJNMTEuNTYyIDMuMjY2YS41LjUgMCAwIDEgLjg3NiAwTDE1LjM5IDguODdhMSAxIDAgMCAwIDEuNTE2LjI5NEwyMS4xODMgNS41YS41LjUgMCAwIDEgLjc5OC41MTlsLTIuODM0IDEwLjI0NmExIDEgMCAwIDEtLjk1Ni43MzRINS44MWExIDEgMCAwIDEtLjk1Ny0uNzM0TDIuMDIgNi4wMmEuNS41IDAgMCAxIC43OTgtLjUxOWw0LjI3NiAzLjY2NGExIDEgMCAwIDAgMS41MTYtLjI5NHoifV0sWyJwYXRoIix7ZDoiTTUgMjFoMTQifV1dLGVVdD1bWyJwYXRoIix7ZDoibTIxLjEyIDYuNC02LjA1LTQuMDZhMiAyIDAgMCAwLTIuMTctLjA1TDIuOTUgOC40MWEyIDIgMCAwIDAtLjk1IDEuN3Y1LjgyYTIgMiAwIDAgMCAuODggMS42Nmw2LjA1IDQuMDdhMiAyIDAgMCAwIDIuMTcuMDVsOS45NS02LjEyYTIgMiAwIDAgMCAuOTUtMS43VjguMDZhMiAyIDAgMCAwLS44OC0xLjY2WiJ9XSxbInBhdGgiLHtkOiJNMTAgMjJ2LThMMi4yNSA5LjE1In1dLFsicGF0aCIse2Q6Im0xMCAxNCAxMS43Ny02Ljg3In1dXSx0VXQ9W1sicGF0aCIse2Q6Im02IDggMS43NSAxMi4yOGEyIDIgMCAwIDAgMiAxLjcyaDQuNTRhMiAyIDAgMCAwIDItMS43MkwxOCA4In1dLFsicGF0aCIse2Q6Ik01IDhoMTQifV0sWyJwYXRoIix7ZDoiTTcgMTVhNi40NyA2LjQ3IDAgMCAxIDUgMCA2LjQ3IDYuNDcgMCAwIDAgNSAwIn1dLFsicGF0aCIse2Q6Im0xMiA4IDEtNmgyIn1dXSxyVXQ9W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XSxbInBhdGgiLHtkOiJNMyA1djE0YTkgMyAwIDAgMCAxOCAwVjUifV1dLGFVdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiOCJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjYiLHkxOiIzIix5MjoiNiJ9XSxbImxpbmUiLHt4MToiMjEiLHgyOiIxOCIseTE6IjMiLHkyOiI2In1dLFsibGluZSIse3gxOiIzIix4MjoiNiIseTE6IjIxIix5MjoiMTgifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTgiLHkxOiIyMSIseTI6IjE4In1dXSxpVXQ9W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XSxbInBhdGgiLHtkOiJNMyAxMmE5IDMgMCAwIDAgNSAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMSA5LjNWNSJ9XSxbInBhdGgiLHtkOiJNMyA1djE0YTkgMyAwIDAgMCA2LjQ3IDIuODgifV0sWyJwYXRoIix7ZDoiTTEyIDEydjRoNCJ9XSxbInBhdGgiLHtkOiJNMTMgMjBhNSA1IDAgMCAwIDktMyA0LjUgNC41IDAgMCAwLTQuNS00LjVjLTEuMzMgMC0yLjU0LjU0LTMuNDEgMS40MUwxMiAxNiJ9XV0sblV0PVtbInBhdGgiLHtkOiJNMTEgMTEuMzFjMS4xNy41NiAxLjU0IDEuNjkgMy41IDEuNjkgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dLFsicGF0aCIse2Q6Ik0xMS43NSAxOGMuMzUuNSAxLjQ1IDEgMi43NSAxIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInBhdGgiLHtkOiJNMiA2aDQifV0sWyJwYXRoIix7ZDoiTTcgM2ExIDEgMCAwIDAtMSAxdjE2YTEgMSAwIDAgMCAxIDFoNGExIDEgMCAwIDAgMS0xTDEwIDRhMSAxIDAgMCAwLTEtMXoifV1dLHNVdD1bWyJwYXRoIix7ZDoiTTIxIDExLjY5M1Y1In1dLFsicGF0aCIse2Q6Im0yMiAyMi0xLjg3NS0xLjg3NSJ9XSxbInBhdGgiLHtkOiJNMyAxMmE5IDMgMCAwIDAgOC42OTcgMi45OTgifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGE5IDMgMCAwIDAgOS4yOCAyLjk5OSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XV0sb1V0PVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiI1IixyeDoiOSIscnk6IjMifV0sWyJwYXRoIix7ZDoiTTMgNVYxOUE5IDMgMCAwIDAgMTUgMjEuODQifV0sWyJwYXRoIix7ZDoiTTIxIDVWOCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJMMTggMTdIMjJMMTkgMjIifV0sWyJwYXRoIix7ZDoiTTMgMTJBOSAzIDAgMCAwIDE0LjU5IDE0Ljg3In1dXSxsVXQ9W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XSxbInBhdGgiLHtkOiJNMyA1VjE5QTkgMyAwIDAgMCAyMSAxOVY1In1dLFsicGF0aCIse2Q6Ik0zIDEyQTkgMyAwIDAgMCAyMSAxMiJ9XV0sY1V0PVtbInBhdGgiLHtkOiJtMTMgMjEtMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMjAgMThIMTAifV0sWyJwYXRoIix7ZDoiTTMgMTFoLjAxIn1dLFsicmVjdCIse3g6IjYiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjgiLHJ4OiIyLjUifV1dLGRVdD1bWyJwYXRoIix7ZDoiTTEwIDE4aDEwIn1dLFsicGF0aCIse2Q6Im0xNyAyMSAzLTMtMy0zIn1dLFsicGF0aCIse2Q6Ik0zIDExaC4wMSJ9XSxbInJlY3QiLHt4OiIxNSIseToiMyIsd2lkdGg6IjUiLGhlaWdodDoiOCIscng6IjIuNSJ9XSxbInJlY3QiLHt4OiI2Iix5OiIzIix3aWR0aDoiNSIsaGVpZ2h0OiI4IixyeDoiMi41In1dXSx1VXQ9W1sicGF0aCIse2Q6Ik0xMCA1YTIgMiAwIDAgMC0xLjM0NC41MTlsLTYuMzI4IDUuNzRhMSAxIDAgMCAwIDAgMS40ODFsNi4zMjggNS43NDFBMiAyIDAgMCAwIDEwIDE5aDEwYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yeiJ9XSxbInBhdGgiLHtkOiJtMTIgOSA2IDYifV0sWyJwYXRoIix7ZDoibTE4IDktNiA2In1dXSxwVXQ9W1sicGF0aCIse2Q6Ik0xMC4xNjIgMy4xNjdBMTAgMTAgMCAwIDAgMiAxM2EyIDIgMCAwIDAgNCAwdi0xYTIgMiAwIDAgMSA0IDB2NGEyIDIgMCAwIDAgNCAwdi00YTIgMiAwIDAgMSA0IDB2MWEyIDIgMCAwIDAgNC0uMDA2IDEwIDEwIDAgMCAwLTguMTYxLTkuODI2In1dLFsicGF0aCIse2Q6Ik0yMC44MDQgMTQuODY5YTkgOSAwIDAgMS0xNy42MDggMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjQiLHI6IjIifV1dLGZVdD1bWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiNSIscjoiMiJ9XSxbInBhdGgiLHtkOiJNNi40OCAzLjY2YTEwIDEwIDAgMCAxIDEzLjg2IDEzLjg2In1dLFsicGF0aCIse2Q6Im02LjQxIDYuNDEgMTEuMTggMTEuMTgifV0sWyJwYXRoIix7ZDoiTTMuNjYgNi40OGExMCAxMCAwIDAgMCAxMy44NiAxMy44NiJ9XV0saFV0PVtbInBhdGgiLHtkOiJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MUwxMy43IDIuNzFhMi40MSAyLjQxIDAgMCAwLTMuNDEgMHoifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XV0sdUk9W1sicGF0aCIse2Q6Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxTDEzLjcgMi43MWEyLjQxIDIuNDEgMCAwIDAtMy40MSAwWiJ9XSxbInBhdGgiLHtkOiJNOS4yIDkuMmguMDEifV0sWyJwYXRoIix7ZDoibTE0LjUgOS41LTUgNSJ9XSxbInBhdGgiLHtkOiJNMTQuNyAxNC44aC4wMSJ9XV0sbVV0PVtbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxTDEzLjcgMi43MWEyLjQxIDIuNDEgMCAwIDAtMy40MSAweiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXSxnVXQ9W1sicGF0aCIse2Q6Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxbC03LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwLTMuNDEgMFoifV1dLGJVdD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XV0sdlV0PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTUgOWguMDEifV0sWyJwYXRoIix7ZDoiTTkgMTVoLjAxIn1dXSx4VXQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XV0seVV0PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNmguMDEifV1dLHdVdD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV1dLE1VdD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTggMTZoLjAxIn1dXSxrVXQ9W1sicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIxMiIseDoiMiIseToiMTAiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJtMTcuOTIgMTQgMy41LTMuNWEyLjI0IDIuMjQgMCAwIDAgMC0zbC01LTQuOTJhMi4yNCAyLjI0IDAgMCAwLTMgMEwxMCA2In1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOWguMDEifV1dLFNVdD1bWyJwYXRoIix7ZDoiTTEyIDN2MTQifV0sWyJwYXRoIix7ZDoiTTUgMTBoMTQifV0sWyJwYXRoIix7ZDoiTTUgMjFoMTQifV1dLHpVdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dXSxDVXQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik02IDEyYzAtMS43LjctMy4yIDEuOC00LjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTggMTJjMCAxLjctLjcgMy4yLTEuOCA0LjIifV1dLFRVdD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI1In1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV1dLF9VdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV0sTFV0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjYiLHI6IjEifV0sWyJsaW5lIix7eDE6IjUiLHgyOiIxOSIseTE6IjEyIix5MjoiMTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxOCIscjoiMSJ9XV0sJFV0PVtbInBhdGgiLHtkOiJNMTUgMmMtMS4zNSAxLjUtMi4wOTIgMy0yLjUgNC41TDE0IDgifV0sWyJwYXRoIix7ZDoibTE3IDYtMi44OTEtMi44OTEifV0sWyJwYXRoIix7ZDoiTTIgMTVjMy4zMzMtMyA2LjY2Ny0zIDEwLTMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJtMjAgOSAuODkxLjg5MSJ9XSxbInBhdGgiLHtkOiJNMjIgOWMtMS41IDEuMzUtMyAyLjA5Mi00LjUgMi41bC0xLTEifV0sWyJwYXRoIix7ZDoiTTMuMTA5IDE0LjEwOSA0IDE1In1dLFsicGF0aCIse2Q6Im02LjUgMTIuNSAxIDEifV0sWyJwYXRoIix7ZDoibTcgMTggMi44OTEgMi44OTEifV0sWyJwYXRoIix7ZDoiTTkgMjJjMS4zNS0xLjUgMi4wOTItMyAyLjUtNC41TDEwIDE2In1dXSxEVXQ9W1sicGF0aCIse2Q6Im0xMCAxNiAxLjUgMS41In1dLFsicGF0aCIse2Q6Im0xNCA4LTEuNS0xLjUifV0sWyJwYXRoIix7ZDoiTTE1IDJjLTEuNzk4IDEuOTk4LTIuNTE4IDMuOTk1LTIuODA3IDUuOTkzIn1dLFsicGF0aCIse2Q6Im0xNi41IDEwLjUgMSAxIn1dLFsicGF0aCIse2Q6Im0xNyA2LTIuODkxLTIuODkxIn1dLFsicGF0aCIse2Q6Ik0yIDE1YzYuNjY3LTYgMTMuMzMzIDAgMjAtNiJ9XSxbInBhdGgiLHtkOiJtMjAgOSAuODkxLjg5MSJ9XSxbInBhdGgiLHtkOiJNMy4xMDkgMTQuMTA5IDQgMTUifV0sWyJwYXRoIix7ZDoibTYuNSAxMi41IDEgMSJ9XSxbInBhdGgiLHtkOiJtNyAxOCAyLjg5MSAyLjg5MSJ9XSxbInBhdGgiLHtkOiJNOSAyMmMxLjc5OC0xLjk5OCAyLjUxOC0zLjk5NSAyLjgwNy01Ljk5MyJ9XV0sQVV0PVtbInBhdGgiLHtkOiJNMTEuMjUgMTYuMjVoMS41TDEyIDE3eiJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2LjUifV0sWyJwYXRoIix7ZDoiTTQuNDIgMTEuMjQ3QTEzLjE1MiAxMy4xNTIgMCAwIDAgNCAxNC41NTZDNCAxOC43MjggNy41ODIgMjEgMTIgMjFzOC0yLjI3MiA4LTYuNDQ0YTExLjcwMiAxMS43MDIgMCAwIDAtLjQ5My0zLjMwOSJ9XSxbInBhdGgiLHtkOiJNOCAxNHYuNSJ9XSxbInBhdGgiLHtkOiJNOC41IDguNWMtLjM4NCAxLjA1LTEuMDgzIDIuMDI4LTIuMzQ0IDIuNS0xLjkzMS43MjItMy41NzYtLjI5Ny0zLjY1Ni0xLS4xMTMtLjk5NCAxLjE3Ny02LjUzIDQtNyAxLjkyMy0uMzIxIDMuNjUxLjg0NSAzLjY1MSAyLjIzNUE3LjQ5NyA3LjQ5NyAwIDAgMSAxNCA1LjI3N2MwLTEuMzkgMS44NDQtMi41OTggMy43NjctMi4yNzcgMi44MjMuNDcgNC4xMTMgNi4wMDYgNCA3LS4wOC43MDMtMS43MjUgMS43MjItMy42NTYgMS0xLjI2MS0uNDcyLTEuODU1LTEuNDUtMi4yMzktMi41In1dXSxFVXQ9W1sibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMiIseTI6IjIyIn1dLFsicGF0aCIse2Q6Ik0xNyA1SDkuNWEzLjUgMy41IDAgMCAwIDAgN2g1YTMuNSAzLjUgMCAwIDEgMCA3SDYifV1dLElVdD1bWyJwYXRoIix7ZDoiTTIgOGgyMCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE2aDEyIn1dXSxQVXQ9W1sicGF0aCIse2Q6Ik0yMC41IDEwYTIuNSAyLjUgMCAwIDEtMi40LTNIMThhMi45NSAyLjk1IDAgMCAxLTIuNi00LjQgMTAgMTAgMCAxIDAgNi4zIDcuMWMtLjMuMi0uOC4zLTEuMi4zIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dLE5VdD1bWyJwYXRoIix7ZDoiTTEwIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOVY2YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjE0In1dLFsicGF0aCIse2Q6Ik0yIDIwaDgifV0sWyJwYXRoIix7ZDoiTTIwIDE3di0yYTIgMiAwIDEgMC00IDB2MiJ9XSxbInJlY3QiLHt4OiIxNCIseToiMTciLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXSxGVXQ9W1sicGF0aCIse2Q6Ik0xMCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDIwVjZhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTQifV0sWyJwYXRoIix7ZDoiTTIgMjBoMjAifV1dLE9VdD1bWyJwYXRoIix7ZDoiTTExIDIwSDIifV0sWyJwYXRoIix7ZDoiTTExIDQuNTYydjE2LjE1N2ExIDEgMCAwIDAgMS4yNDIuOTdMMTkgMjBWNS41NjJhMiAyIDAgMCAwLTEuNTE1LTEuOTRsLTQtMUEyIDIgMCAwIDAgMTEgNC41NjF6In1dLFsicGF0aCIse2Q6Ik0xMSA0SDhhMiAyIDAgMCAwLTIgMnYxNCJ9XSxbInBhdGgiLHtkOiJNMTQgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMiAyMGgtMyJ9XV0sUlV0PVtbImNpcmNsZSIse2N4OiIxMi4xIixjeToiMTIuMSIscjoiMSJ9XV0sQlV0PVtbInBhdGgiLHtkOiJNMTIgMTVWMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCJ9XSxbInBhdGgiLHtkOiJtNyAxMCA1IDUgNS01In1dXSxIVXQ9W1sicGF0aCIse2Q6Im0xMi45OSA2Ljc0IDEuOTMgMy40NCJ9XSxbInBhdGgiLHtkOiJNMTkuMTM2IDEyYTEwIDEwIDAgMCAxLTE0LjI3MSAwIn1dLFsicGF0aCIse2Q6Im0yMSAyMS0yLjE2LTMuODQifV0sWyJwYXRoIix7ZDoibTMgMjEgOC4wMi0xNC4yNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjIifV1dLHFVdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE5LjEzIDUuMDlDMTUuMjIgOS4xNCAxMCAxMC40NCAyLjI1IDEwLjk0In1dLFsicGF0aCIse2Q6Ik0yMS43NSAxMi44NGMtNi42Mi0xLjQxLTEyLjE0IDEtMTYuMzggNi4zMiJ9XSxbInBhdGgiLHtkOiJNOC41NiAyLjc1YzQuMzcgNiA2IDkuNDIgOCAxNy43MiJ9XV0salV0PVtbInBhdGgiLHtkOiJNMTAgMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggNmguMDEifV0sWyJwYXRoIix7ZDoiTTYuNSAxMy4xaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgNWMwIDktNCAxMi02IDEycy02LTMtNi0xMmMwLTIgMi0zIDYtM3M2IDEgNiAzIn1dLFsicGF0aCIse2Q6Ik0xNy40IDkuOWMtLjguOC0yIC44LTIuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMC4xIDcuMUM5IDcuMiA3LjcgNy43IDYgOC42Yy0zLjUgMi00LjcgMy45LTMuNyA1LjYgNC41IDcuOCA5LjUgOC40IDExLjIgNy40LjktLjUgMS45LTIuMSAxLjktNC43In1dLFsicGF0aCIse2Q6Ik05LjEgMTYuNWMuMy0xLjEgMS40LTEuNyAyLjQtMS40In1dXSxWVXQ9W1sicGF0aCIse2Q6Ik0xMCAxOGExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMUg1YTMgMyAwIDAgMS0zLTMgMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTEzIDEwSDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWExIDEgMCAwIDEgMSAxdjZhMSAxIDAgMCAxLTEgMWwtLjgxIDMuMjQyYTEgMSAwIDAgMS0uOTcuNzU4SDgifV0sWyJwYXRoIix7ZDoiTTE0IDRoM2ExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMWgtMyJ9XSxbInBhdGgiLHtkOiJNMTggNmg0In1dLFsicGF0aCIse2Q6Im01IDEwLTIgOCJ9XSxbInBhdGgiLHtkOiJtNyAxOCAyLTgifV1dLFVVdD1bWyJwYXRoIix7ZDoiTTEwIDEwIDcgNyJ9XSxbInBhdGgiLHtkOiJtMTAgMTQtMyAzIn1dLFsicGF0aCIse2Q6Im0xNCAxMCAzLTMifV0sWyJwYXRoIix7ZDoibTE0IDE0IDMgMyJ9XSxbInBhdGgiLHtkOiJNMTQuMjA1IDQuMTM5YTQgNCAwIDEgMSA1LjQzOSA1Ljg2MyJ9XSxbInBhdGgiLHtkOiJNMTkuNjM3IDE0YTQgNCAwIDEgMS01LjQzMiA1Ljg2OCJ9XSxbInBhdGgiLHtkOiJNNC4zNjcgMTBhNCA0IDAgMSAxIDUuNDM4LTUuODYyIn1dLFsicGF0aCIse2Q6Ik05Ljc5NSAxOS44NjJhNCA0IDAgMSAxLTUuNDI5LTUuODczIn1dLFsicmVjdCIse3g6IjEwIix5OiI4Iix3aWR0aDoiNCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV0sV1V0PVtbInBhdGgiLHtkOiJNMTguNzE1IDEzLjE4NkMxOC4yOSAxMS44NTggMTcuMzg0IDEwLjYwNyAxNiA5LjVjLTItMS42LTMuNS00LTQtNi41YTEwLjcgMTAuNyAwIDAgMS0uODg0IDIuNTg2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTguNzk1IDguNzk3QTExIDExIDAgMCAxIDggOS41QzYgMTEuMSA1IDEzIDUgMTVhNyA3IDAgMCAwIDEzLjIyMiAzLjIwOCJ9XV0sR1V0PVtbInBhdGgiLHtkOiJNMTIgMjJhNyA3IDAgMCAwIDctN2MwLTItMS0zLjktMy01LjVzLTMuNS00LTQtNi41Yy0uNSAyLjUtMiA0LjktNCA2LjVDNiAxMS4xIDUgMTMgNSAxNWE3IDcgMCAwIDAgNyA3eiJ9XV0sWVV0PVtbInBhdGgiLHtkOiJNNyAxNi4zYzIuMiAwIDQtMS44MyA0LTQuMDUgMC0xLjE2LS41Ny0yLjI2LTEuNzEtMy4xOVM3LjI5IDYuNzUgNyA1LjNjLS4yOSAxLjQ1LTEuMTQgMi44NC0yLjI5IDMuNzZTMyAxMS4xIDMgMTIuMjVjMCAyLjIyIDEuOCA0LjA1IDQgNC4wNXoifV0sWyJwYXRoIix7ZDoiTTEyLjU2IDYuNkExMC45NyAxMC45NyAwIDAgMCAxNCAzLjAyYy41IDIuNSAyIDQuOSA0IDYuNXMzIDMuNSAzIDUuNWE2Ljk4IDYuOTggMCAwIDEtMTEuOTEgNC45NyJ9XV0sWlV0PVtbInBhdGgiLHtkOiJtMiAyIDggOCJ9XSxbInBhdGgiLHtkOiJtMjIgMi04IDgifV0sWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiOSIscng6IjEwIixyeToiNSJ9XSxbInBhdGgiLHtkOiJNNyAxMy40djcuOSJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2OCJ9XSxbInBhdGgiLHtkOiJNMTcgMTMuNHY3LjkifV0sWyJwYXRoIix7ZDoiTTIgOXY4YTEwIDUgMCAwIDAgMjAgMFY5In1dXSxYVXQ9W1sicGF0aCIse2Q6Ik0xNS40IDE1LjYzYTcuODc1IDYgMTM1IDEgMSA2LjIzLTYuMjMgNC41IDMuNDMgMTM1IDAgMC02LjIzIDYuMjMifV0sWyJwYXRoIix7ZDoibTguMjkgMTIuNzEtMi42IDIuNmEyLjUgMi41IDAgMSAwLTEuNjUgNC42NUEyLjUgMi41IDAgMSAwIDguNyAxOC4zbDIuNTktMi41OSJ9XV0sUVV0PVtbInBhdGgiLHtkOiJNMTcuNTk2IDEyLjc2OGEyIDIgMCAxIDAgMi44MjktMi44MjlsLTEuNzY4LTEuNzY3YTIgMiAwIDAgMCAyLjgyOC0yLjgyOWwtMi44MjgtMi44MjhhMiAyIDAgMCAwLTIuODI5IDIuODI4bC0xLjc2Ny0xLjc2OGEyIDIgMCAxIDAtMi44MjkgMi44Mjl6In1dLFsicGF0aCIse2Q6Im0yLjUgMjEuNSAxLjQtMS40In1dLFsicGF0aCIse2Q6Im0yMC4xIDMuOSAxLjQtMS40In1dLFsicGF0aCIse2Q6Ik01LjM0MyAyMS40ODVhMiAyIDAgMSAwIDIuODI5LTIuODI4bDEuNzY3IDEuNzY4YTIgMiAwIDEgMCAyLjgyOS0yLjgyOWwtNi4zNjQtNi4zNjRhMiAyIDAgMSAwLTIuODI5IDIuODI5bDEuNzY4IDEuNzY3YTIgMiAwIDAgMC0yLjgyOCAyLjgyOXoifV0sWyJwYXRoIix7ZDoibTkuNiAxNC40IDQuOC00LjgifV1dLEpVdD1bWyJwYXRoIix7ZDoiTTYgMTguNWEzLjUgMy41IDAgMSAwIDcgMGMwLTEuNTcuOTItMi41MiAyLjA0LTMuNDYifV0sWyJwYXRoIix7ZDoiTTYgOC41YzAtLjc1LjEzLTEuNDcuMzYtMi4xNCJ9XSxbInBhdGgiLHtkOiJNOC44IDMuMTVBNi41IDYuNSAwIDAgMSAxOSA4LjVjMCAxLjYzLS40NCAyLjgxLTEuMDkgMy43NiJ9XSxbInBhdGgiLHtkOiJNMTIuNSA2QTIuNSAyLjUgMCAwIDEgMTUgOC41TTEwIDEzYTIgMiAwIDAgMCAxLjgyLTEuMTgifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV0sS1V0PVtbInBhdGgiLHtkOiJNNyAzLjM0VjVhMyAzIDAgMCAwIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTEgMjEuOTVWMThhMiAyIDAgMCAwLTItMiAyIDIgMCAwIDEtMi0ydi0xYTIgMiAwIDAgMC0yLTJIMi4wNSJ9XSxbInBhdGgiLHtkOiJNMjEuNTQgMTVIMTdhMiAyIDAgMCAwLTIgMnY0LjU0In1dLFsicGF0aCIse2Q6Ik0xMiAyYTEwIDEwIDAgMSAwIDkuNTQgMTMifV0sWyJwYXRoIix7ZDoiTTIwIDZWNGEyIDIgMCAxIDAtNCAwdjIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNSIseDoiMTQiLHk6IjYiLHJ4OiIxIn1dXSxlV3Q9W1sicGF0aCIse2Q6Ik02IDguNWE2LjUgNi41IDAgMSAxIDEzIDBjMCA2LTYgNi02IDEwYTMuNSAzLjUgMCAxIDEtNyAwIn1dLFsicGF0aCIse2Q6Ik0xNSA4LjVhMi41IDIuNSAwIDAgMC01IDB2MWEyIDIgMCAxIDEgMCA0In1dXSxwST1bWyJwYXRoIix7ZDoiTTIxLjU0IDE1SDE3YTIgMiAwIDAgMC0yIDJ2NC41NCJ9XSxbInBhdGgiLHtkOiJNNyAzLjM0VjVhMyAzIDAgMCAwIDMgM2EyIDIgMCAwIDEgMiAyYzAgMS4xLjkgMiAyIDJhMiAyIDAgMCAwIDItMmMwLTEuMS45LTIgMi0yaDMuMTcifV0sWyJwYXRoIix7ZDoiTTExIDIxLjk1VjE4YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAxLTItMnYtMWEyIDIgMCAwIDAtMi0ySDIuMDUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dLHRXdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDJhNyA3IDAgMSAwIDEwIDEwIn1dXSxyV3Q9W1siY2lyY2xlIix7Y3g6IjExLjUiLGN5OiIxMi41IixyOiIzLjUifV0sWyJwYXRoIix7ZDoiTTMgOGMwLTMuNSAyLjUtNiA2LjUtNiA1IDAgNC44MyAzIDcuNSA1czUgMiA1IDZjMCA0LjUtMi41IDYuNS03IDYuNS0yLjUgMC0yLjUgMi41LTYgMi41cy03LTItNy01LjVjMC0zIDEuNS0zIDEuNS01QzMuNSAxMCAzIDkgMyA4WiJ9XV0sYVd0PVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxNC4zNDdWMTRjMC02LTQtMTItOC0xMi0xLjA3OCAwLTIuMTU3LjQzNi0zLjE1NyAxLjE5In1dLFsicGF0aCIse2Q6Ik02LjIwNiA2LjIxQzQuODcxIDguNCA0IDExLjIgNCAxNGE4IDggMCAwIDAgMTQuNTY4IDQuNTY4In1dXSxpV3Q9W1sicGF0aCIse2Q6Ik0xMiAyQzggMiA0IDggNCAxNGE4IDggMCAwIDAgMTYgMGMwLTYtNC0xMi04LTEyIn1dXSxmST1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxOSIscjoiMSJ9XV0saEk9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTIiLHI6IjEifV1dLG5XdD1bWyJwYXRoIix7ZDoiTTUgMTVhNi41IDYuNSAwIDAgMSA3IDAgNi41IDYuNSAwIDAgMCA3IDAifV0sWyJwYXRoIix7ZDoiTTUgOWE2LjUgNi41IDAgMCAxIDcgMCA2LjUgNi41IDAgMCAwIDcgMCJ9XV0sc1d0PVtbImxpbmUiLHt4MToiNSIseDI6IjE5Iix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjUiLHgyOiIxOSIseTE6IjE1Iix5MjoiMTUifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiNSIseTE6IjUiLHkyOiIxOSJ9XV0sb1d0PVtbImxpbmUiLHt4MToiNSIseDI6IjE5Iix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjUiLHgyOiIxOSIseTE6IjE1Iix5MjoiMTUifV1dLGxXdD1bWyJwYXRoIix7ZDoibTE1IDIwIDMtM2gyYTIgMiAwIDAgMCAyLTJWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnY5YTIgMiAwIDAgMCAyIDJoMmwzIDN6In1dLFsicGF0aCIse2Q6Ik02IDh2MSJ9XSxbInBhdGgiLHtkOiJNMTAgOHYxIn1dLFsicGF0aCIse2Q6Ik0xNCA4djEifV0sWyJwYXRoIix7ZDoiTTE4IDh2MSJ9XV0sY1d0PVtbInBhdGgiLHtkOiJNMjEgMjFIOGEyIDIgMCAwIDEtMS40Mi0uNTg3bC0zLjk5NC0zLjk5OWEyIDIgMCAwIDEgMC0yLjgyOGwxMC0xMGEyIDIgMCAwIDEgMi44MjkgMGw1Ljk5OSA2YTIgMiAwIDAgMSAwIDIuODI4TDEyLjgzNCAyMSJ9XSxbInBhdGgiLHtkOiJtNS4wODIgMTEuMDkgOC44MjggOC44MjgifV1dLGRXdD1bWyJwYXRoIix7ZDoiTTQgMTBoMTIifV0sWyJwYXRoIix7ZDoiTTQgMTRoOSJ9XSxbInBhdGgiLHtkOiJNMTkgNmE3LjcgNy43IDAgMCAwLTUuMi0yQTcuOSA3LjkgMCAwIDAgNiAxMmMwIDQuNCAzLjUgOCA3LjggOCAyIDAgMy44LS44IDUuMi0yIn1dXSx1V3Q9W1sicGF0aCIse2Q6Ik0xNCAxM2gyYTIgMiAwIDAgMSAyIDJ2MmEyIDIgMCAwIDAgNCAwdi02Ljk5OGEyIDIgMCAwIDAtLjU5LTEuNDJMMTggNSJ9XSxbInBhdGgiLHtkOiJNMTQgMjFWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNiJ9XSxbInBhdGgiLHtkOiJNMiAyMWgxMyJ9XSxbInBhdGgiLHtkOiJNMyA3aDExIn1dLFsicGF0aCIse2Q6Im05IDExLTIgM2gzbC0yIDMifV1dLHBXdD1bWyJwYXRoIix7ZDoibTE1IDE1IDYgNiJ9XSxbInBhdGgiLHtkOiJtMTUgOSA2LTYifV0sWyJwYXRoIix7ZDoiTTIxIDE2djVoLTUifV0sWyJwYXRoIix7ZDoiTTIxIDhWM2gtNSJ9XSxbInBhdGgiLHtkOiJNMyAxNnY1aDUifV0sWyJwYXRoIix7ZDoibTMgMjEgNi02In1dLFsicGF0aCIse2Q6Ik0zIDhWM2g1In1dLFsicGF0aCIse2Q6Ik05IDkgMyAzIn1dXSxmV3Q9W1sicGF0aCIse2Q6Ik0xNSAzaDZ2NiJ9XSxbInBhdGgiLHtkOiJNMTAgMTQgMjEgMyJ9XSxbInBhdGgiLHtkOiJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNiJ9XV0saFd0PVtbInBhdGgiLHtkOiJtMTUgMTgtLjcyMi0zLjI1In1dLFsicGF0aCIse2Q6Ik0yIDhhMTAuNjQ1IDEwLjY0NSAwIDAgMCAyMCAwIn1dLFsicGF0aCIse2Q6Im0yMCAxNS0xLjcyNi0yLjA1In1dLFsicGF0aCIse2Q6Im00IDE1IDEuNzI2LTIuMDUifV0sWyJwYXRoIix7ZDoibTkgMTggLjcyMi0zLjI1In1dXSxtV3Q9W1sicGF0aCIse2Q6Ik0yLjA2MiAxMi4zNDhhMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSAxOS44NzYgMCAxIDEgMCAwIDEgMCAuNjk2IDEwLjc1IDEwLjc1IDAgMCAxLTE5Ljg3NiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dLGdXdD1bWyJwYXRoIix7ZDoiTTEwLjczMyA1LjA3NmExMC43NDQgMTAuNzQ0IDAgMCAxIDExLjIwNSA2LjU3NSAxIDEgMCAwIDEgMCAuNjk2IDEwLjc0NyAxMC43NDcgMCAwIDEtMS40NDQgMi40OSJ9XSxbInBhdGgiLHtkOiJNMTQuMDg0IDE0LjE1OGEzIDMgMCAwIDEtNC4yNDItNC4yNDIifV0sWyJwYXRoIix7ZDoiTTE3LjQ3OSAxNy40OTlhMTAuNzUgMTAuNzUgMCAwIDEtMTUuNDE3LTUuMTUxIDEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgNC40NDYtNS4xNDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV0sYld0PVtbInBhdGgiLHtkOiJNMTggMmgtM2E1IDUgMCAwIDAtNSA1djNIN3Y0aDN2OGg0di04aDNsMS00aC00VjdhMSAxIDAgMCAxIDEtMWgzeiJ9XV0sdld0PVtbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTlhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yVjguNWEuNS41IDAgMCAwLS43NjktLjQyMmwtNC40NjIgMi44NDRBLjUuNSAwIDAgMSAxNSAxMC41di0yYS41LjUgMCAwIDAtLjc2OS0uNDIyTDkuNzcgMTAuOTIyQS41LjUgMCAwIDEgOSAxMC41VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ6In1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XV0seFd0PVtbInBhdGgiLHtkOiJNMTAuODI3IDE2LjM3OWE2LjA4MiA2LjA4MiAwIDAgMS04LjYxOC03LjAwMmw1LjQxMiAxLjQ1YTYuMDgyIDYuMDgyIDAgMCAxIDcuMDAyLTguNjE4bC0xLjQ1IDUuNDEyYTYuMDgyIDYuMDgyIDAgMCAxIDguNjE4IDcuMDAybC01LjQxMi0xLjQ1YTYuMDgyIDYuMDgyIDAgMCAxLTcuMDAyIDguNjE4bDEuNDUtNS40MTJaIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnYuMDEifV1dLHlXdD1bWyJwYXRoIix7ZDoiTTEyIDZhMiAyIDAgMCAxIDMuNDE0LTEuNDE0bDYgNmEyIDIgMCAwIDEgMCAyLjgyOGwtNiA2QTIgMiAwIDAgMSAxMiAxOHoifV0sWyJwYXRoIix7ZDoiTTIgNmEyIDIgMCAwIDEgMy40MTQtMS40MTRsNiA2YTIgMiAwIDAgMSAwIDIuODI4bC02IDZBMiAyIDAgMCAxIDIgMTh6In1dXSx3V3Q9W1sicGF0aCIse2Q6Ik0xMi42NyAxOWEyIDIgMCAwIDAgMS40MTYtLjU4OGw2LjE1NC02LjE3MmE2IDYgMCAwIDAtOC40OS04LjQ5TDUuNTg2IDkuOTE0QTIgMiAwIDAgMCA1IDExLjMyOFYxOGExIDEgMCAwIDAgMSAxeiJ9XSxbInBhdGgiLHtkOiJNMTYgOCAyIDIyIn1dLFsicGF0aCIse2Q6Ik0xNy41IDE1SDkifV1dLE1XdD1bWyJwYXRoIix7ZDoiTTQgMyAyIDV2MTVjMCAuNi40IDEgMSAxaDJjLjYgMCAxLS40IDEtMVY1WiJ9XSxbInBhdGgiLHtkOiJNNiA4aDQifV0sWyJwYXRoIix7ZDoiTTYgMThoNCJ9XSxbInBhdGgiLHtkOiJtMTIgMy0yIDJ2MTVjMCAuNi40IDEgMSAxaDJjLjYgMCAxLS40IDEtMVY1WiJ9XSxbInBhdGgiLHtkOiJNMTQgOGg0In1dLFsicGF0aCIse2Q6Ik0xNCAxOGg0In1dLFsicGF0aCIse2Q6Im0yMCAzLTIgMnYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIn1dXSxrV3Q9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2NCJ9XSxbInBhdGgiLHtkOiJtNi44IDE1LTMuNSAyIn1dLFsicGF0aCIse2Q6Im0yMC43IDctMy41IDIifV0sWyJwYXRoIix7ZDoiTTYuOCA5IDMuMyA3In1dLFsicGF0aCIse2Q6Im0yMC43IDE3LTMuNS0yIn1dLFsicGF0aCIse2Q6Im05IDIyIDMtOCAzIDgifV0sWyJwYXRoIix7ZDoiTTggMjJoOCJ9XSxbInBhdGgiLHtkOiJNMTggMTguN2E5IDkgMCAxIDAtMTIgMCJ9XV0sU1d0PVtbInBhdGgiLHtkOiJNNSA1LjVBMy41IDMuNSAwIDAgMSA4LjUgMkgxMnY3SDguNUEzLjUgMy41IDAgMCAxIDUgNS41eiJ9XSxbInBhdGgiLHtkOiJNMTIgMmgzLjVhMy41IDMuNSAwIDEgMSAwIDdIMTJWMnoifV0sWyJwYXRoIix7ZDoiTTEyIDEyLjVhMy41IDMuNSAwIDEgMSA3IDAgMy41IDMuNSAwIDEgMS03IDB6In1dLFsicGF0aCIse2Q6Ik01IDE5LjVBMy41IDMuNSAwIDAgMSA4LjUgMTZIMTJ2My41YTMuNSAzLjUgMCAxIDEtNyAweiJ9XSxbInBhdGgiLHtkOiJNNSAxMi41QTMuNSAzLjUgMCAwIDEgOC41IDlIMTJ2N0g4LjVBMy41IDMuNSAwIDAgMSA1IDEyLjV6In1dXSx6V3Q9W1sicGF0aCIse2Q6Ik0xMy42NTkgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxMS41In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDEydi0xIn1dLFsicGF0aCIse2Q6Ik04IDE4di0yIn1dLFsicGF0aCIse2Q6Ik04IDdWNiJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMjAiLHI6IjIifV1dLG1JPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtOCAxOCA0LTQifV0sWyJwYXRoIix7ZDoiTTggMTB2OGg4In1dXSxnST1bWyJwYXRoIix7ZDoiTTEzIDIyaDVhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYzLjMifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTcuNjkgMTYuNDc5IDEuMjkgNC44OGEuNS41IDAgMCAxLS42OTguNTkxbC0xLjg0My0uODQ5YTEgMSAwIDAgMC0uODc5LjAwMWwtMS44NDYuODVhLjUuNSAwIDAgMS0uNjkyLS41OTNsMS4yOS00Ljg4In1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxNCIscjoiMyJ9XV0sYkk9W1sicGF0aCIse2Q6Ik0xNCAyMmg0YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2NiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNNSAxNGExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAxLTEgMSAxIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAwIDEgMSJ9XSxbInBhdGgiLHtkOiJNOSAyMmExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMSAxLTEgMSAxIDAgMCAxLTEtMXYtMmExIDEgMCAwIDAtMS0xIn1dXSxDV3Q9W1sicGF0aCIse2Q6Ik0xNC41IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My44In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMS43IDE0LjIgNyAxN2wtNC43LTIuOCJ9XSxbInBhdGgiLHtkOiJNMyAxMy4xYTIgMiAwIDAgMC0uOTk5IDEuNzZ2My4yNGEyIDIgMCAwIDAgLjk2OSAxLjc4TDYgMjEuN2EyIDIgMCAwIDAgMi4wMy4wMUwxMSAxOS45YTIgMiAwIDAgMCAxLTEuNzZWMTQuOWEyIDIgMCAwIDAtLjk3LTEuNzhMOCAxMS4zYTIgMiAwIDAgMC0yLjAzLS4wMXoifV0sWyJwYXRoIix7ZDoiTTcgMTd2NSJ9XV0sdkk9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAxMmExIDEgMCAwIDAtMSAxdjFhMSAxIDAgMCAxLTEgMSAxIDEgMCAwIDEgMSAxdjFhMSAxIDAgMCAwIDEgMSJ9XSxbInBhdGgiLHtkOiJNMTQgMThhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xIDEgMSAwIDAgMS0xLTF2LTFhMSAxIDAgMCAwLTEtMSJ9XV0seEk9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDE4di0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxOHYtNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTh2LTYifV1dLHlJPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxOHYtMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTYifV0sWyJwYXRoIix7ZDoiTTE2IDE4di0zIn1dXSx3ST1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTE2IDEzLTMuNSAzLjUtMi0yTDggMTcifV1dLE1JPVtbInBhdGgiLHtkOiJNMTUuOTQxIDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDRsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My41MTIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTQuMDE3IDExLjUxMmE2IDYgMCAxIDAgOC40NjYgOC40NzUifV0sWyJwYXRoIix7ZDoiTTkgMTZhMSAxIDAgMCAxLTEtMXYtNGMwLS41NTIuNDUtMS4wMDguOTk1LS45MTdhNiA2IDAgMCAxIDQuOTIyIDQuOTIyYy4wOTEuNTQ0LS4zNjUuOTk1LS45MTcuOTk1eiJ9XV0sa0k9W1sicGF0aCIse2Q6Ik0xMC41IDIySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2NiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMTQgMjAgMiAyIDQtNCJ9XV0sVFd0PVtbInBhdGgiLHtkOiJNMTYgMjJoMmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjIuODUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTR2Mi4ybDEuNiAxIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIxNiIscjoiNiJ9XV0sX1d0PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtOSAxNSAyIDIgNC00In1dXSxTST1bWyJwYXRoIix7ZDoiTTQgMTIuMTVWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJoLTMuMzUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTUgMTYtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtOSAyMiAzLTMtMy0zIn1dXSxMV3Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAxMi41IDggMTVsMiAyLjUifV0sWyJwYXRoIix7ZDoibTE0IDEyLjUgMiAyLjUtMiAyLjUifV1dLHpJPVtbInBhdGgiLHtkOiJNMTUgOGExIDEgMCAwIDEtMS0xVjJhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4eiJ9XSxbInBhdGgiLHtkOiJNMjAgOHYxMmEyIDIgMCAwIDEtMiAyaC00LjE4MiJ9XSxbInBhdGgiLHtkOiJtMy4zMDUgMTkuNTMuOTIzLS4zODIifV0sWyJwYXRoIix7ZDoiTTQgMTAuNTkyVjRhMiAyIDAgMCAxIDItMmg4In1dLFsicGF0aCIse2Q6Im00LjIyOCAxNi44NTItLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im01Ljg1MiAxNS4yMjgtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im01Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTguMTQ4IDE1LjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtOC41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Im05Ljc3MyAxNi44NTIuOTIyLS4zODMifV0sWyJwYXRoIix7ZDoibTkuNzczIDE5LjE0OC45MjIuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOCIscjoiMyJ9XV0sJFd0PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dLFsicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Ik05IDE3aDYifV1dLERXdD1bWyJwYXRoIix7ZDoiTTQgMTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEwIDE2aDJ2NiJ9XSxbInBhdGgiLHtkOiJNMTAgMjJoNCJ9XSxbInJlY3QiLHt4OiIyIix5OiIxNiIsd2lkdGg6IjQiLGhlaWdodDoiNiIscng6IjIifV1dLEFXdD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEyIDE4di02In1dLFsicGF0aCIse2Q6Im05IDE1IDMgMyAzLTMifV1dLENJPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgOXY0In1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV1dLHVmPVtbInBhdGgiLHtkOiJNNCA2LjgzNVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMiAxOWEyIDIgMCAwIDEgNCAwdjFhMiAyIDAgMCAxLTQgMHYtNGE2IDYgMCAwIDEgMTIgMHY0YTIgMiAwIDAgMS00IDB2LTFhMiAyIDAgMCAxIDQgMCJ9XV0sRVd0PVtbInBhdGgiLHtkOiJNMTMgMjJoNWEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjcifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTMuNjIgMTguOEEyLjI1IDIuMjUgMCAxIDEgNyAxNS44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YTEgMSAwIDAgMS0xLjUwNyAweiJ9XV0sSVd0PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjEyIixyOiIyIn1dLFsicGF0aCIse2Q6Im0yMCAxNy0xLjI5Ni0xLjI5NmEyLjQxIDIuNDEgMCAwIDAtMy40MDggMEw5IDIyIn1dXSxQV3Q9W1sicGF0aCIse2Q6Ik00IDExVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtMSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMiAxNWgxMCJ9XSxbInBhdGgiLHtkOiJtOSAxOCAzLTMtMy0zIn1dXSxUST1bWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTQgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNNCAxNGgyIn1dLFsicGF0aCIse2Q6Ik05LjY1IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2NCJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMjAiLHI6IjIifV1dLF9JPVtbInBhdGgiLHtkOiJNNCA5LjhWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJoLTMifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTkgMTd2LTJhMiAyIDAgMCAwLTQgMHYyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjUiLHg6IjMiLHk6IjE3IixyeDoiMSJ9XV0sTEk9W1sicGF0aCIse2Q6Ik0yMCAxNFY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNCAxOGg2In1dXSxOV3Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik05IDE1aDYifV1dLEZXdD1bWyJwYXRoIix7ZDoiTTExLjY1IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTAuMzUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMjB2LTdsMyAxLjQ3NCJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMjAiLHI6IjIifV1dLE9XdD1bWyJwYXRoIix7ZDoiTTQuMjI2IDIwLjkyNUEyIDIgMCAwIDAgNiAyMmgxMmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjMuMTI3In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im01IDExLTMgMyJ9XSxbInBhdGgiLHtkOiJtNSAxNy0zLTNoMTAifV1dLCRJPVtbInBhdGgiLHtkOiJtMTguMjI2IDUuMjI2LTIuNTItMi41MkEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtLjM1MSJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDEyLjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dLFsicGF0aCIse2Q6Ik04IDE4aDEifV1dLERJPVtbInBhdGgiLHtkOiJNMTIuNjU5IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2OS4zNCJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTAuMzc4IDEyLjYyMmExIDEgMCAwIDEgMyAzLjAwM0w4LjM2IDIwLjYzN2EyIDIgMCAwIDEtLjg1NC41MDZsLTIuODY3LjgzN2EuNS41IDAgMCAxLS42Mi0uNjJsLjgzNi0yLjg2OWEyIDIgMCAwIDEgLjUwNi0uODUzeiJ9XV0sQUk9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNS4wMzMgMTMuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NnYtNC43MDRhLjY0NS42NDUgMCAwIDEgLjk2Ny0uNTZ6In1dXSxFST1bWyJwYXRoIix7ZDoiTTExLjM1IDIySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2NS4zNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTQgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTZ2NiJ9XV0sSUk9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTkuMSA5YTMgMyAwIDAgMSA1LjgyIDFjMCAyLTMgMy0zIDMifV1dLFJXdD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTkgMTVoNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTYifV1dLEJXdD1bWyJwYXRoIix7ZDoiTTIwIDEwVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA0bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoNC4zNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTRhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTYgMjJhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjJhMiAyIDAgMCAwIDItMiJ9XV0sSFd0PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbImNpcmNsZSIse2N4OiIxMS41IixjeToiMTQuNSIscjoiMi41In1dLFsicGF0aCIse2Q6Ik0xMy4zIDE2LjMgMTUgMTgifV1dLFBJPVtbInBhdGgiLHtkOiJNMTEuMSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODkgMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djMuMjUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTIxIDIyLTIuODgtMi44OCJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE3IixyOiIzIn1dXSxOST1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMS41IDEzLjVhMi41IDIuNSAwIDAgMSAwIDMifV0sWyJwYXRoIix7ZDoiTTE1IDEyYTUgNSAwIDAgMSAwIDYifV1dLHFXdD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTF2MiJ9XSxbInBhdGgiLHtkOiJNOCAxN2g4In1dLFsicGF0aCIse2Q6Ik0xNCAxNnYyIn1dXSxqV3Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDEzaDIifV0sWyJwYXRoIix7ZDoiTTE0IDEzaDIifV0sWyJwYXRoIix7ZDoiTTggMTdoMiJ9XSxbInBhdGgiLHtkOiJNMTQgMTdoMiJ9XV0sVld0PVtbInBhdGgiLHtkOiJNMTEgMjFhMSAxIDAgMCAxLTEgMUg0YTEgMSAwIDAgMS0xLTF2LThhMSAxIDAgMCAxIDEtMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTZhMSAxIDAgMCAxLTEgMUg5YTEgMSAwIDAgMS0xLTFWOGExIDEgMCAwIDEgMS0xIn1dLFsicGF0aCIse2Q6Ik0yMSA2YTIgMiAwIDAgMC0uNTg2LTEuNDE0bC0yLTJBMiAyIDAgMCAwIDE3IDJoLTNhMSAxIDAgMCAwLTEgMXY4YTEgMSAwIDAgMCAxIDFoNmExIDEgMCAwIDAgMS0xeiJ9XV0sVVd0PVtbInBhdGgiLHtkOiJNNCAxMVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ2LTNhMiAyIDAgMCAxIDItMmg3In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0xMCAxOCAzLTMtMy0zIn1dXSxXV3Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im04IDE2IDItMi0yLTIifV0sWyJwYXRoIix7ZDoiTTEyIDE4aDQifV1dLEdXdD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEwIDlIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTNIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTdIOCJ9XV0sRkk9W1sicGF0aCIse2Q6Ik0xMiAyMmg2YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2NiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMyAxNnYtMS41YS41LjUgMCAwIDEgLjUtLjVoN2EuNS41IDAgMCAxIC41LjVWMTYifV0sWyJwYXRoIix7ZDoiTTYgMjJoMiJ9XSxbInBhdGgiLHtkOiJNNyAxNHY4In1dXSxZV3Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMSAxOGgyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnY2In1dLFsicGF0aCIse2Q6Ik05IDEzdi0uNWEuNS41IDAgMCAxIC41LS41aDVhLjUuNSAwIDAgMSAuNS41di41In1dXSxaV3Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMiAxMnY2In1dLFsicGF0aCIse2Q6Im0xNSAxNS0zLTMtMyAzIn1dXSxYV3Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNiAyMmE0IDQgMCAwIDAtOCAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjMifV1dLE9JPVtbInBhdGgiLHtkOiJNNCAxMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMTAgMTcuODQzIDMuMDMzLTEuNzU1YS42NC42NCAwIDAgMSAuOTY3LjU2djQuNzA0YS42NS42NSAwIDAgMS0uOTY3LjU2TDEwIDIwLjE1NyJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI2Iix4OiIzIix5OiIxNiIscng6IjEifV1dLFFXdD1bWyJwYXRoIix7ZDoiTTQgMTEuNTVWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJoLTEuOTUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEyIDE1YTUgNSAwIDAgMSAwIDYifV0sWyJwYXRoIix7ZDoiTTggMTQuNTAyYS41LjUgMCAwIDAtLjgyNi0uMzgxbC0xLjg5MyAxLjYzMWExIDEgMCAwIDEtLjY1MS4yNDNIMy41YS41LjUgMCAwIDAtLjUuNTAxdjMuMDA2YS41LjUgMCAwIDAgLjUuNTAxaDEuMTI5YTEgMSAwIDAgMSAuNjUyLjI0M2wxLjg5MyAxLjYzM2EuNS41IDAgMCAwIC44MjYtLjM4eiJ9XV0sUkk9W1sicGF0aCIse2Q6Ik0xMSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTE1IDE3IDUgNSJ9XSxbInBhdGgiLHtkOiJtMjAgMTctNSA1In1dXSxKV3Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0xNC41IDEyLjUtNSA1In1dLFsicGF0aCIse2Q6Im05LjUgMTIuNSA1IDUifV1dLEtXdD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV1dLGVHdD1bWyJwYXRoIix7ZDoiTTE1IDJoLTRhMiAyIDAgMCAwLTIgMnYxMWEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlY4In1dLFsicGF0aCIse2Q6Ik0xNi43MDYgMi43MDZBMi40IDIuNCAwIDAgMCAxNSAydjVhMSAxIDAgMCAwIDEgMWg1YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNnoifV0sWyJwYXRoIix7ZDoiTTUgN2EyIDIgMCAwIDAtMiAydjExYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMS43MzItMSJ9XV0sdEd0PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDN2MTgifV0sWyJwYXRoIix7ZDoiTTMgNy41aDQifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJwYXRoIix7ZDoiTTMgMTYuNWg0In1dLFsicGF0aCIse2Q6Ik0xNyAzdjE4In1dLFsicGF0aCIse2Q6Ik0xNyA3LjVoNCJ9XSxbInBhdGgiLHtkOiJNMTcgMTYuNWg0In1dXSxCST1bWyJwYXRoIix7ZDoiTTEyIDEwYTIgMiAwIDAgMC0yIDJjMCAxLjAyLS4xIDIuNTEtLjI2IDQifV0sWyJwYXRoIix7ZDoiTTE0IDEzLjEyYzAgMi4zOCAwIDYuMzgtMSA4Ljg4In1dLFsicGF0aCIse2Q6Ik0xNy4yOSAyMS4wMmMuMTItLjYuNDMtMi4zLjUtMy4wMiJ9XSxbInBhdGgiLHtkOiJNMiAxMmExMCAxMCAwIDAgMSAxOC02In1dLFsicGF0aCIse2Q6Ik0yIDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjEuOCAxNmMuMi0yIC4xMzEtNS4zNTQgMC02In1dLFsicGF0aCIse2Q6Ik01IDE5LjVDNS41IDE4IDYgMTUgNiAxMmE2IDYgMCAwIDEgLjM0LTIifV0sWyJwYXRoIix7ZDoiTTguNjUgMjJjLjIxLS42Ni40NS0xLjMyLjU3LTIifV0sWyJwYXRoIix7ZDoiTTkgNi44YTYgNiAwIDAgMSA5IDUuMnYyIn1dXSxyR3Q9W1sicGF0aCIse2Q6Ik0xNSA2LjVWM2ExIDEgMCAwIDAtMS0xaC0yYTEgMSAwIDAgMC0xIDF2My41In1dLFsicGF0aCIse2Q6Ik05IDE4aDgifV0sWyJwYXRoIix7ZDoiTTE4IDNoLTMifV0sWyJwYXRoIix7ZDoiTTExIDNhNiA2IDAgMCAwLTYgNnYxMSJ9XSxbInBhdGgiLHtkOiJNNSAxM2g0In1dLFsicGF0aCIse2Q6Ik0xNyAxMGE0IDQgMCAwIDAtOCAwdjEwYTIgMiAwIDAgMCAyIDJoNGEyIDIgMCAwIDAgMi0yWiJ9XV0sYUd0PVtbInBhdGgiLHtkOiJNMTggMTIuNDd2LjAzbTAtLjV2LjQ3bS0uNDc1IDUuMDU2QTYuNzQ0IDYuNzQ0IDAgMCAxIDE1IDE4Yy0zLjU2IDAtNy41Ni0yLjUzLTguNS02IC4zNDgtMS4yOCAxLjExNC0yLjQzMyAyLjEyMS0zLjM4bTMuNDQ0LTIuMDg4QTguODAyIDguODAyIDAgMCAxIDE1IDZjMy41NiAwIDYuMDYgMi41NCA3IDYtLjMwOSAxLjE0LS43ODYgMi4xNzctMS40MTMgMy4wNTgifV0sWyJwYXRoIix7ZDoiTTcgMTAuNjdDNyA4IDUuNTggNS45NyAyLjczIDUuNWMtMSAxLjUtMSA1IC4yMyA2LjUtMS4yNCAxLjUtMS4yNCA1LS4yMyA2LjVDNS41OCAxOC4wMyA3IDE2IDcgMTMuMzNtNy40OC00LjM3MkE5Ljc3IDkuNzcgMCAwIDEgMTYgNi4wN20wIDExLjg2YTkuNzcgOS43NyAwIDAgMS0xLjcyOC0zLjYxOCJ9XSxbInBhdGgiLHtkOiJtMTYuMDEgMTcuOTMtLjIzIDEuNEEyIDIgMCAwIDEgMTMuOCAyMUg5LjVhNS45NiA1Ljk2IDAgMCAwIDEuNDktMy45OE04LjUzIDNoNS4yN2EyIDIgMCAwIDEgMS45OCAxLjY3bC4yMyAxLjRNMiAybDIwIDIwIn1dXSxpR3Q9W1sicGF0aCIse2Q6Ik0yIDE2czktMTUgMjAtNEMxMSAyMyAyIDggMiA4In1dXSxuR3Q9W1sicGF0aCIse2Q6Ik02LjUgMTJjLjk0LTMuNDYgNC45NC02IDguNS02IDMuNTYgMCA2LjA2IDIuNTQgNyA2LS45NCAzLjQ3LTMuNDQgNi03IDZzLTcuNTYtMi41My04LjUtNloifV0sWyJwYXRoIix7ZDoiTTE4IDEydi41In1dLFsicGF0aCIse2Q6Ik0xNiAxNy45M2E5Ljc3IDkuNzcgMCAwIDEgMC0xMS44NiJ9XSxbInBhdGgiLHtkOiJNNyAxMC42N0M3IDggNS41OCA1Ljk3IDIuNzMgNS41Yy0xIDEuNS0xIDUgLjIzIDYuNS0xLjI0IDEuNS0xLjI0IDUtLjIzIDYuNUM1LjU4IDE4LjAzIDcgMTYgNyAxMy4zMyJ9XSxbInBhdGgiLHtkOiJNMTAuNDYgNy4yNkMxMC4yIDUuODggOS4xNyA0LjI0IDggM2g1LjhhMiAyIDAgMCAxIDEuOTggMS42N2wuMjMgMS40In1dLFsicGF0aCIse2Q6Im0xNi4wMSAxNy45My0uMjMgMS40QTIgMiAwIDAgMSAxMy44IDIxSDkuNWE1Ljk2IDUuOTYgMCAwIDAgMS40OS0zLjk4In1dXSxzR3Q9W1sicGF0aCIse2Q6Im0xNy41ODYgMTEuNDE0LTUuOTMgNS45M2ExIDEgMCAwIDEtOC04bDMuMTM3LTMuMTM3YS43MDcuNzA3IDAgMCAxIDEuMjA3LjVWMTAifV0sWyJwYXRoIix7ZDoiTTIwLjQxNCA4LjU4NiAyMiA3In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTAiLHI6IjIifV1dLG9HdD1bWyJwYXRoIix7ZDoiTTE2IDE2Yy0zIDAtNS0yLTgtMmE2IDYgMCAwIDAtNCAxLjUyOCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00IDIyVjQifV0sWyJwYXRoIix7ZDoiTTcuNjU2IDJIOGMzIDAgNSAyIDcuMzMzIDJxMiAwIDMuMDY3LS44QTEgMSAwIDAgMSAyMCA0djEwLjM0NyJ9XV0sbEd0PVtbInBhdGgiLHtkOiJNMTggMjJWMi44YS44LjggMCAwIDAtMS4xNy0uNzFMNS40NSA3Ljc4YS44LjggMCAwIDAgMCAxLjQ0TDE4IDE1LjUifV1dLGNHdD1bWyJwYXRoIix7ZDoiTTYgMjJWMi44YS44LjggMCAwIDEgMS4xNy0uNzFsMTEuMzggNS42OWEuOC44IDAgMCAxIDAgMS40NEw2IDE1LjUifV1dLGRHdD1bWyJwYXRoIix7ZDoiTTQgMjJWNGExIDEgMCAwIDEgLjQtLjhBNiA2IDAgMCAxIDggMmMzIDAgNSAyIDcuMzMzIDJxMiAwIDMuMDY3LS44QTEgMSAwIDAgMSAyMCA0djEwYTEgMSAwIDAgMS0uNC44QTYgNiAwIDAgMSAxNiAxNmMtMyAwLTUtMi04LTJhNiA2IDAgMCAwLTQgMS41MjgifV1dLHVHdD1bWyJwYXRoIix7ZDoiTTEyIDJjMSAzIDIuNSAzLjUgMy41IDQuNUE1IDUgMCAwIDEgMTcgMTBhNSA1IDAgMSAxLTEwIDBjMC0uMyAwLS42LjEtLjlhMiAyIDAgMSAwIDMuMy0yQzggNC41IDExIDIgMTIgMloifV0sWyJwYXRoIix7ZDoibTUgMjIgMTQtNCJ9XSxbInBhdGgiLHtkOiJtNSAxOCAxNCA0In1dXSxwR3Q9W1sicGF0aCIse2Q6Ik0xMiAzcTEgNCA0IDYuNXQzIDUuNWExIDEgMCAwIDEtMTQgMCA1IDUgMCAwIDEgMS0zIDEgMSAwIDAgMCA1IDBjMC0yLTEuNS0zLTEuNS01cTAtMiAyLjUtNCJ9XV0sZkd0PVtbInBhdGgiLHtkOiJNMTEuNjUyIDZIMTgifV0sWyJwYXRoIix7ZDoiTTEyIDEzdjEifV0sWyJwYXRoIix7ZDoiTTE2IDE2djRhMiAyIDAgMCAxLTIgMmgtNGEyIDIgMCAwIDEtMi0ydi04YTQgNCAwIDAgMC0uOC0yLjRsLS42LS44QTMgMyAwIDAgMSA2IDdWNiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik03LjY0OSAySDE3YTEgMSAwIDAgMSAxIDF2NGEzIDMgMCAwIDEtLjYgMS44bC0uNi44YTQgNCAwIDAgMC0uNTUgMS4wMDcifV1dLGhHdD1bWyJwYXRoIix7ZDoiTTEyIDEzdjEifV0sWyJwYXRoIix7ZDoiTTE3IDJhMSAxIDAgMCAxIDEgMXY0YTMgMyAwIDAgMS0uNiAxLjhsLS42LjhBNCA0IDAgMCAwIDE2IDEydjhhMiAyIDAgMCAxLTIgMkgxMGEyIDIgMCAwIDEtMi0ydi04YTQgNCAwIDAgMC0uOC0yLjRsLS42LS44QTMgMyAwIDAgMSA2IDdWM2ExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNiA2aDEyIn1dXSxtR3Q9W1sicGF0aCIse2Q6Ik0xMCAydjIuMzQzIn1dLFsicGF0aCIse2Q6Ik0xNCAydjYuMzQzIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMS43NTUtMi45Nmw1LjIyNy05LjU2MyJ9XSxbInBhdGgiLHtkOiJNNi40NTMgMTVIMTUifV0sWyJwYXRoIix7ZDoiTTguNSAyaDcifV1dLGdHdD1bWyJwYXRoIix7ZDoiTTE0IDJ2NmEyIDIgMCAwIDAgLjI0NS45Nmw1LjUxIDEwLjA4QTIgMiAwIDAgMSAxOCAyMkg2YTIgMiAwIDAgMS0xLjc1NS0yLjk2bDUuNTEtMTAuMDhBMiAyIDAgMCAwIDEwIDhWMiJ9XSxbInBhdGgiLHtkOiJNNi40NTMgMTVoMTEuMDk0In1dLFsicGF0aCIse2Q6Ik04LjUgMmg3In1dXSxiR3Q9W1sicGF0aCIse2Q6Ik0xMCAydjYuMjkyYTcgNyAwIDEgMCA0IDBWMiJ9XSxbInBhdGgiLHtkOiJNNSAxNWgxNCJ9XSxbInBhdGgiLHtkOiJNOC41IDJoNyJ9XV0sdkd0PVtbInBhdGgiLHtkOiJtMyA3IDUgNS01IDVWNyJ9XSxbInBhdGgiLHtkOiJtMjEgNy01IDUgNSA1VjcifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoiTTEyIDE0djIifV0sWyJwYXRoIix7ZDoiTTEyIDh2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dXSx4R3Q9W1sicGF0aCIse2Q6Ik04IDNINWEyIDIgMCAwIDAtMiAydjE0YzAgMS4xLjkgMiAyIDJoMyJ9XSxbInBhdGgiLHtkOiJNMTYgM2gzYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMmgtMyJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV1dLHlHdD1bWyJwYXRoIix7ZDoibTE3IDMtNSA1LTUtNWgxMCJ9XSxbInBhdGgiLHtkOiJtMTcgMjEtNS01LTUgNWgxMCJ9XSxbInBhdGgiLHtkOiJNNCAxMkgyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV1dLHdHdD1bWyJwYXRoIix7ZDoiTTIxIDhWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0yMSAxNnYzYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik00IDEySDIifV0sWyJwYXRoIix7ZDoiTTEwIDEySDgifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxMmgtMiJ9XV0sTUd0PVtbInBhdGgiLHtkOiJNMTIgNWEzIDMgMCAxIDEgMyAzbS0zLTNhMyAzIDAgMSAwLTMgM20zLTN2MU05IDhhMyAzIDAgMSAwIDMgM005IDhoMW01IDBhMyAzIDAgMSAxLTMgM20zLTNoLTFtLTIgM3YtMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjEyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMmM0LjIgMCA3LTEuNjY3IDctNS00LjIgMC03IDEuNjY3LTcgNVoifV0sWyJwYXRoIix7ZDoiTTEyIDIyYy00LjIgMC03LTEuNjY3LTctNSA0LjIgMCA3IDEuNjY3IDcgNVoifV1dLGtHdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTYuNUE0LjUgNC41IDAgMSAxIDcuNSAxMiA0LjUgNC41IDAgMSAxIDEyIDcuNWE0LjUgNC41IDAgMSAxIDQuNSA0LjUgNC41IDQuNSAwIDEgMS00LjUgNC41In1dLFsicGF0aCIse2Q6Ik0xMiA3LjVWOSJ9XSxbInBhdGgiLHtkOiJNNy41IDEySDkifV0sWyJwYXRoIix7ZDoiTTE2LjUgMTJIMTUifV0sWyJwYXRoIix7ZDoiTTEyIDE2LjVWMTUifV0sWyJwYXRoIix7ZDoibTggOCAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTE0LjEyIDkuODggMTYgOCJ9XSxbInBhdGgiLHtkOiJtOCAxNiAxLjg4LTEuODgifV0sWyJwYXRoIix7ZDoiTTE0LjEyIDE0LjEyIDE2IDE2In1dXSxTR3Q9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XV0sekd0PVtbInBhdGgiLHtkOiJNMiAxMmg2In1dLFsicGF0aCIse2Q6Ik0yMiAxMmgtNiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djIifV0sWyJwYXRoIix7ZDoiTTEyIDE0djIifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoibTE5IDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtNSAxNSAzLTMtMy0zIn1dXSxDR3Q9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNiJ9XSxbInBhdGgiLHtkOiJNMTIgOFYyIn1dLFsicGF0aCIse2Q6Ik00IDEySDIifV0sWyJwYXRoIix7ZDoiTTEwIDEySDgifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJtMTUgMTktMy0zLTMgMyJ9XSxbInBhdGgiLHtkOiJtMTUgNS0zIDMtMy0zIn1dXSxUR3Q9W1sicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoibTkgMTMgMiAyIDQtNCJ9XV0sX0d0PVtbImNpcmNsZSIse2N4OiIxNSIsY3k6IjE5IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0yMC45IDE5LjhBMiAyIDAgMCAwIDIyIDE4VjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMmg1LjEifV0sWyJwYXRoIix7ZDoiTTE1IDExdi0xIn1dLFsicGF0aCIse2Q6Ik0xNSAxN3YtMiJ9XV0sTEd0PVtbInBhdGgiLHtkOiJNMTYgMTR2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Ik03IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XV0sJEd0PVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0yIDEwaDIwIn1dXSxER3Q9W1sicGF0aCIse2Q6Ik0xMCAxMC41IDggMTNsMiAyLjUifV0sWyJwYXRoIix7ZDoibTE0IDEwLjUgMiAyLjUtMiAyLjUifV0sWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyeiJ9XV0sSEk9W1sicGF0aCIse2Q6Ik0xMC4zIDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45OGEyIDIgMCAwIDEgMS42OS45bC42NiAxLjJBMiAyIDAgMCAwIDEyIDZoOGEyIDIgMCAwIDEgMiAydjMuMyJ9XSxbInBhdGgiLHtkOiJtMTQuMzA1IDE5LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE1LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAxNS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxNi44NTIuOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxOS4xNDguOTI0LjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXSxBR3Q9W1sicGF0aCIse2Q6Ik00IDIwaDE2YTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjkzYTIgMiAwIDAgMS0xLjY2LS45bC0uODItMS4yQTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYzAgMS4xLjkgMiAyIDJaIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjEifV1dLEVHdD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2NiJ9XSxbInBhdGgiLHtkOiJtMTUgMTMtMyAzLTMtMyJ9XV0sSUd0PVtbInBhdGgiLHtkOiJNMTggMTlhNSA1IDAgMCAxLTUtNXY4In1dLFsicGF0aCIse2Q6Ik05IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2NSJ9XSxbImNpcmNsZSIse2N4OiIxMyIsY3k6IjEyIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiMTkiLHI6IjIifV1dLFBHdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0xNCAxM2gzIn1dLFsicGF0aCIse2Q6Ik03IDEzaDMifV1dLE5HdD1bWyJwYXRoIix7ZDoiTTEwLjYzOCAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjMuNDE3In1dLFsicGF0aCIse2Q6Ik0xNC42MiAxOC44QTIuMjUgMi4yNSAwIDEgMSAxOCAxNS44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dXSxGR3Q9W1sicGF0aCIse2Q6Ik0yIDlWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi0xIn1dLFsicGF0aCIse2Q6Ik0yIDEzaDEwIn1dLFsicGF0aCIse2Q6Im05IDE2IDMtMy0zLTMifV1dLE9HdD1bWyJwYXRoIix7ZDoiTTQgMjBoMTZhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOTNhMiAyIDAgMCAxLTEuNjYtLjlsLS44Mi0xLjJBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNjMCAxLjEuOSAyIDIgMloifV0sWyJwYXRoIix7ZDoiTTggMTB2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2MiJ9XSxbInBhdGgiLHtkOiJNMTYgMTB2NiJ9XV0sUkd0PVtbInBhdGgiLHtkOiJNMTMgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxLjM2In1dLFsicGF0aCIse2Q6Ik0xOSAxMnY2In1dLFsicGF0aCIse2Q6Ik0xOSAxNGgyIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMjAiLHI6IjIifV1dLEJHdD1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNSIseDoiMTQiLHk6IjE3IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTAgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYyLjUifV0sWyJwYXRoIix7ZDoiTTIwIDE3di0yYTIgMiAwIDEgMC00IDB2MiJ9XV0sSEd0PVtbInBhdGgiLHtkOiJNOSAxM2g2In1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV1dLHFHdD1bWyJwYXRoIix7ZDoibTYgMTQgMS40NS0yLjlBMiAyIDAgMCAxIDkuMjQgMTBIMjBhMiAyIDAgMCAxIDEuOTQgMi41bC0xLjU1IDZhMiAyIDAgMCAxLTEuOTQgMS41SDRhMiAyIDAgMCAxLTItMlY1YzAtMS4xLjktMiAyLTJoMy45M2EyIDIgMCAwIDEgMS42Ni45bC44MiAxLjJhMiAyIDAgMCAwIDEuNjYuOUgxOGEyIDIgMCAwIDEgMiAydjIifV0sWyJjaXJjbGUiLHtjeDoiMTQiLGN5OiIxNSIscjoiMSJ9XV0sakd0PVtbInBhdGgiLHtkOiJtNiAxNCAxLjUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NCA2YTIgMiAwIDAgMS0xLjk1IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgxOGEyIDIgMCAwIDEgMiAydjIifV1dLFZHdD1bWyJwYXRoIix7ZDoiTTIgNy41VjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMS41In1dLFsicGF0aCIse2Q6Ik0yIDEzaDEwIn1dLFsicGF0aCIse2Q6Im01IDEwLTMgMyAzIDMifV1dLHFJPVtbInBhdGgiLHtkOiJNMiAxMS41VjVhMiAyIDAgMCAxIDItMmgzLjljLjcgMCAxLjMuMyAxLjcuOWwuOCAxLjJjLjQuNiAxIC45IDEuNy45SDIwYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMmgtOS41In1dLFsicGF0aCIse2Q6Ik0xMS4zNzggMTMuNjI2YTEgMSAwIDEgMC0zLjAwNC0zLjAwNGwtNS4wMSA1LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV1dLFVHdD1bWyJwYXRoIix7ZDoiTTEyIDEwdjYifV0sWyJwYXRoIix7ZDoiTTkgMTNoNiJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dXSxXR3Q9W1sicGF0aCIse2Q6Ik00IDIwaDE2YTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjkzYTIgMiAwIDAgMS0xLjY2LS45bC0uODItMS4yQTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYzAgMS4xLjkgMiAyIDJaIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE1djUifV1dLEdHdD1bWyJjaXJjbGUiLHtjeDoiMTEuNSIsY3k6IjEyLjUiLHI6IjIuNSJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0xMy4zIDE0LjMgMTUgMTYifV1dLFlHdD1bWyJwYXRoIix7ZDoiTTEwLjcgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnY0LjEifV0sWyJwYXRoIix7ZDoibTIxIDIxLTEuOS0xLjkifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNyIscjoiMyJ9XV0sWkd0PVtbInBhdGgiLHtkOiJNMiA5LjM1VjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDcifV0sWyJwYXRoIix7ZDoibTggMTYgMy0zLTMtMyJ9XV0sWEd0PVtbInBhdGgiLHtkOiJNOSAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydi41In1dLFsicGF0aCIse2Q6Ik0xMiAxMHY0aDQifV0sWyJwYXRoIix7ZDoibTEyIDE0IDEuNTM1LTEuNjA1YTUgNSAwIDAgMSA4IDEuNSJ9XSxbInBhdGgiLHtkOiJNMjIgMjJ2LTRoLTQifV0sWyJwYXRoIix7ZDoibTIyIDE4LTEuNTM1IDEuNjA1YTUgNSAwIDAgMS04LTEuNSJ9XV0sUUd0PVtbInBhdGgiLHtkOiJNMjAgMTBhMSAxIDAgMCAwIDEtMVY2YTEgMSAwIDAgMC0xLTFoLTIuNWExIDEgMCAwIDEtLjgtLjRsLS45LTEuMkExIDEgMCAwIDAgMTUgM2gtMmExIDEgMCAwIDAtMSAxdjVhMSAxIDAgMCAwIDEgMVoifV0sWyJwYXRoIix7ZDoiTTIwIDIxYTEgMSAwIDAgMCAxLTF2LTNhMSAxIDAgMCAwLTEtMWgtMi45YTEgMSAwIDAgMS0uODgtLjU1bC0uNDItLjg1YTEgMSAwIDAgMC0uOTItLjZIMTNhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFaIn1dLFsicGF0aCIse2Q6Ik0zIDVhMiAyIDAgMCAwIDIgMmgzIn1dLFsicGF0aCIse2Q6Ik0zIDN2MTNhMiAyIDAgMCAwIDIgMmgzIn1dXSxKR3Q9W1sicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjYifV0sWyJwYXRoIix7ZDoibTkgMTMgMy0zIDMgMyJ9XV0sS0d0PVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Im05LjUgMTAuNSA1IDUifV0sWyJwYXRoIix7ZDoibTE0LjUgMTAuNS01IDUifV1dLGVZdD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XV0sdFl0PVtbInBhdGgiLHtkOiJNMjAgNWEyIDIgMCAwIDEgMiAydjdhMiAyIDAgMCAxLTIgMkg5YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDIuNWExLjUgMS41IDAgMCAxIDEuMi42bC42LjhhMS41IDEuNSAwIDAgMCAxLjIuNnoifV0sWyJwYXRoIix7ZDoiTTMgOC4yNjhhMiAyIDAgMCAwLTEgMS43MzhWMTlhMiAyIDAgMCAwIDIgMmgxMWEyIDIgMCAwIDAgMS43MzItMSJ9XV0scll0PVtbInBhdGgiLHtkOiJNMTIgMTJINWEyIDIgMCAwIDAtMiAydjUifV0sWyJjaXJjbGUiLHtjeDoiMTMiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTggMTloM201LTE3djE3aDZNNiAxMlY3YzAtMS4xLjktMiAyLTJoM2w1IDUifV1dLGFZdD1bWyJwYXRoIix7ZDoiTTQgMTZ2LTIuMzhDNCAxMS41IDIuOTcgMTAuNSAzIDhjLjAzLTIuNzIgMS40OS02IDQuNS02QzkuMzcgMiAxMCAzLjggMTAgNS41YzAgMy4xMS0yIDUuNjYtMiA4LjY4VjE2YTIgMiAwIDEgMS00IDBaIn1dLFsicGF0aCIse2Q6Ik0yMCAyMHYtMi4zOGMwLTIuMTIgMS4wMy0zLjEyIDEtNS42Mi0uMDMtMi43Mi0xLjQ5LTYtNC41LTZDMTQuNjMgNiAxNCA3LjggMTQgOS41YzAgMy4xMSAyIDUuNjYgMiA4LjY4VjIwYTIgMiAwIDEgMCA0IDBaIn1dLFsicGF0aCIse2Q6Ik0xNiAxN2g0In1dLFsicGF0aCIse2Q6Ik00IDEzaDQifV1dLGlZdD1bWyJwYXRoIix7ZDoiTTQgMTRoNiJ9XSxbInBhdGgiLHtkOiJNNCAyaDEwIn1dLFsicmVjdCIse3g6IjQiLHk6IjE4Iix3aWR0aDoiMTYiLGhlaWdodDoiNCIscng6IjEifV0sWyJyZWN0Iix7eDoiNCIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjQiLHJ4OiIxIn1dXSxuWXQ9W1sicGF0aCIse2Q6Im0xNSAxNyA1LTUtNS01In1dLFsicGF0aCIse2Q6Ik00IDE4di0yYTQgNCAwIDAgMSA0LTRoMTIifV1dLHNZdD1bWyJsaW5lIix7eDE6IjIyIix4MjoiMiIseTE6IjYiLHkyOiI2In1dLFsibGluZSIse3gxOiIyMiIseDI6IjIiLHkxOiIxOCIseTI6IjE4In1dLFsibGluZSIse3gxOiI2Iix4MjoiNiIseTE6IjIiLHkyOiIyMiJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIxOCIseTE6IjIiLHkyOiIyMiJ9XV0sb1l0PVtbInBhdGgiLHtkOiJNNSAxNlY5aDE0VjJINWwxNCAxNGgtN20tNyAwIDcgN3YtN20tNyAwaDcifV1dLGxZdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE2IDE2cy0xLjUtMi00LTItNCAyLTQgMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXSxjWXQ9W1sicGF0aCIse2Q6Ik0xNCAxM2gyYTIgMiAwIDAgMSAyIDJ2MmEyIDIgMCAwIDAgNCAwdi02Ljk5OGEyIDIgMCAwIDAtLjU5LTEuNDJMMTggNSJ9XSxbInBhdGgiLHtkOiJNMTQgMjFWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNiJ9XSxbInBhdGgiLHtkOiJNMiAyMWgxMyJ9XSxbInBhdGgiLHtkOiJNMyA5aDExIn1dXSxkWXQ9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjgiLHg6IjciLHk6IjgiLHJ4OiIxIn1dXSx1WXQ9W1sicGF0aCIse2Q6Ik0xMy4zNTQgM0gzYTEgMSAwIDAgMC0uNzQyIDEuNjdsNy4yMjUgNy45ODlBMiAyIDAgMCAxIDEwIDE0djZhMSAxIDAgMCAwIC41NTMuODk1bDIgMUExIDEgMCAwIDAgMTQgMjF2LTdhMiAyIDAgMCAxIC41MTctMS4zNDFsMS4yMTgtMS4zNDgifV0sWyJwYXRoIix7ZDoiTTE2IDZoNiJ9XSxbInBhdGgiLHtkOiJNMTkgM3Y2In1dXSxqST1bWyJwYXRoIix7ZDoiTTEyLjUzMSAzSDNhMSAxIDAgMCAwLS43NDIgMS42N2w3LjIyNSA3Ljk4OUEyIDIgMCAwIDEgMTAgMTR2NmExIDEgMCAwIDAgLjU1My44OTVsMiAxQTEgMSAwIDAgMCAxNCAyMXYtN2EyIDIgMCAwIDEgLjUxNy0xLjM0MWwuNDI3LS40NzMifV0sWyJwYXRoIix7ZDoibTE2LjUgMy41IDUgNSJ9XSxbInBhdGgiLHtkOiJtMjEuNSAzLjUtNSA1In1dXSxWST1bWyJwYXRoIix7ZDoiTTEwIDIwYTEgMSAwIDAgMCAuNTUzLjg5NWwyIDFBMSAxIDAgMCAwIDE0IDIxdi03YTIgMiAwIDAgMSAuNTE3LTEuMzQxTDIxLjc0IDQuNjdBMSAxIDAgMCAwIDIxIDNIM2ExIDEgMCAwIDAtLjc0MiAxLjY3bDcuMjI1IDcuOTg5QTIgMiAwIDAgMSAxMCAxNHoifV1dLHBZdD1bWyJwYXRoIix7ZDoiTTIgN3YxMCJ9XSxbInBhdGgiLHtkOiJNNiA1djE0In1dLFsicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIxOCIseDoiMTAiLHk6IjMiLHJ4OiIyIn1dXSxmWXQ9W1sicGF0aCIse2Q6Ik0yIDN2MTgifV0sWyJyZWN0Iix7d2lkdGg6IjEyIixoZWlnaHQ6IjE4Iix4OiI2Iix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgM3YxOCJ9XV0saFl0PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTQiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDIxaDEifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XSxbInBhdGgiLHtkOiJNMTQgMjFoMSJ9XSxbInBhdGgiLHtkOiJNMTkgMjFoMSJ9XV0sbVl0PVtbInBhdGgiLHtkOiJNNyAyaDEwIn1dLFsicGF0aCIse2Q6Ik01IDZoMTQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjEyIix4OiIzIix5OiIxMCIscng6IjIifV1dLGdZdD1bWyJwYXRoIix7ZDoiTTMgMmgxOCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHg6IjMiLHk6IjYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDIyaDE4In1dXSxiWXQ9W1sibGluZSIse3gxOiI2Iix4MjoiMTAiLHkxOiIxMSIseTI6IjExIn1dLFsibGluZSIse3gxOiI4Iix4MjoiOCIseTE6IjkiLHkyOiIxMyJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE4Iix4MjoiMTguMDEiLHkxOiIxMCIseTI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xNy4zMiA1SDYuNjhhNCA0IDAgMCAwLTMuOTc4IDMuNTljLS4wMDYuMDUyLS4wMS4xMDEtLjAxNy4xNTJDMi42MDQgOS40MTYgMiAxNC40NTYgMiAxNmEzIDMgMCAwIDAgMyAzYzEgMCAxLjUtLjUgMi0xbDEuNDE0LTEuNDE0QTIgMiAwIDAgMSA5LjgyOCAxNmg0LjM0NGEyIDIgMCAwIDEgMS40MTQuNTg2TDE3IDE4Yy41LjUgMSAxIDIgMWEzIDMgMCAwIDAgMy0zYzAtMS41NDUtLjYwNC02LjU4NC0uNjg1LTcuMjU4LS4wMDctLjA1LS4wMTEtLjEtLjAxNy0uMTUxQTQgNCAwIDAgMCAxNy4zMiA1eiJ9XV0sdll0PVtbInBhdGgiLHtkOiJNMTEuMTQ2IDE1Ljg1NGExLjIwNyAxLjIwNyAwIDAgMSAxLjcwOCAwbDEuNTYgMS41NkEyIDIgMCAwIDEgMTUgMTguODI4VjIxYTEgMSAwIDAgMS0xIDFoLTRhMSAxIDAgMCAxLTEtMXYtMi4xNzJhMiAyIDAgMCAxIC41ODYtMS40MTR6In1dLFsicGF0aCIse2Q6Ik0xOC44MjggMTVhMiAyIDAgMCAxLTEuNDE0LS41ODZsLTEuNTYtMS41NmExLjIwNyAxLjIwNyAwIDAgMSAwLTEuNzA4bDEuNTYtMS41NkEyIDIgMCAwIDEgMTguODI4IDlIMjFhMSAxIDAgMCAxIDEgMXY0YTEgMSAwIDAgMS0xIDF6In1dLFsicGF0aCIse2Q6Ik02LjU4NiAxNC40MTRBMiAyIDAgMCAxIDUuMTcyIDE1SDNhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xaDIuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZsMS41NiAxLjU2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDh6In1dLFsicGF0aCIse2Q6Ik05IDNhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2Mi4xNzJhMiAyIDAgMCAxLS41ODYgMS40MTRsLTEuNTYgMS41NmExLjIwNyAxLjIwNyAwIDAgMS0xLjcwOCAwbC0xLjU2LTEuNTZBMiAyIDAgMCAxIDkgNS4xNzJ6In1dXSx4WXQ9W1sibGluZSIse3gxOiI2Iix4MjoiMTAiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiI4Iix4MjoiOCIseTE6IjEwIix5MjoiMTQifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiIxMyIseTI6IjEzIn1dLFsibGluZSIse3gxOiIxOCIseDI6IjE4LjAxIix5MToiMTEiLHkyOiIxMSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXSx5WXQ9W1sicGF0aCIse2Q6Im0xMiAxNCA0LTQifV0sWyJwYXRoIix7ZDoiTTMuMzQgMTlhMTAgMTAgMCAxIDEgMTcuMzIgMCJ9XV0sd1l0PVtbInBhdGgiLHtkOiJtMTQgMTMtOC4zODEgOC4zOGExIDEgMCAwIDEtMy4wMDEtM2w4LjM4NC04LjM4MSJ9XSxbInBhdGgiLHtkOiJtMTYgMTYgNi02In1dLFsicGF0aCIse2Q6Im0yMS41IDEwLjUtOC04In1dLFsicGF0aCIse2Q6Im04IDggNi02In1dLFsicGF0aCIse2Q6Im04LjUgNy41IDggOCJ9XV0sTVl0PVtbInBhdGgiLHtkOiJNMTAuNSAzIDggOWw0IDEzIDQtMTMtMi41LTYifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDEuNi44bDMgNGEyIDIgMCAwIDEgLjAxMyAyLjM4MmwtNy45OSAxMC45ODZhMiAyIDAgMCAxLTMuMjQ3IDBsLTcuOTktMTAuOTg2QTIgMiAwIDAgMSAyLjQgNy44bDIuOTk4LTMuOTk3QTIgMiAwIDAgMSA3IDN6In1dLFsicGF0aCIse2Q6Ik0yIDloMjAifV1dLGtZdD1bWyJwYXRoIix7ZDoiTTExLjUgMjFhNy41IDcuNSAwIDEgMSA3LjM1LTkifV0sWyJwYXRoIix7ZDoiTTEzIDEyVjMifV0sWyJwYXRoIix7ZDoiTTQgMjFoMTYifV0sWyJwYXRoIix7ZDoiTTkgMTJWMyJ9XV0sU1l0PVtbInBhdGgiLHtkOiJNOSAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMmE4IDggMCAwIDAtOCA4djEybDMtMyAyLjUgMi41TDEyIDE5bDIuNSAyLjVMMTcgMTlsMyAzVjEwYTggOCAwIDAgMC04LTh6In1dXSx6WXQ9W1sicGF0aCIse2Q6Ik0xNSA2YTkgOSAwIDAgMC05IDlWMyJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTYifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI2IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxOCIscjoiMyJ9XV0sQ1l0PVtbInBhdGgiLHtkOiJNNiAzdjEyIn1dLFsicGF0aCIse2Q6Ik0xOCA5YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnoifV0sWyJwYXRoIix7ZDoiTTYgMjFhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2eiJ9XSxbInBhdGgiLHtkOiJNMTUgNmE5IDkgMCAwIDAtOSA5In1dLFsicGF0aCIse2Q6Ik0xOCAxNXY2In1dLFsicGF0aCIse2Q6Ik0yMSAxOGgtNiJ9XV0sVFl0PVtbInJlY3QiLHt4OiIzIix5OiI4Iix3aWR0aDoiMTgiLGhlaWdodDoiNCIscng6IjEifV0sWyJwYXRoIix7ZDoiTTEyIDh2MTMifV0sWyJwYXRoIix7ZDoiTTE5IDEydjdhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJ2LTcifV0sWyJwYXRoIix7ZDoiTTcuNSA4YTIuNSAyLjUgMCAwIDEgMC01QTQuOCA4IDAgMCAxIDEyIDhhNC44IDggMCAwIDEgNC41LTUgMi41IDIuNSAwIDAgMSAwIDUifV1dLF9ZdD1bWyJwYXRoIix7ZDoiTTE1IDZhOSA5IDAgMCAwLTkgOVYzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV1dLFVJPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsibGluZSIse3gxOiIzIix4MjoiOSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMjEiLHkxOiIxMiIseTI6IjEyIn1dXSxMWXQ9W1sicGF0aCIse2Q6Ik0xMiAzdjYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTV2NiJ9XV0sJFl0PVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2NyJ9XSxbInBhdGgiLHtkOiJtMTUgOS0zLTMgMy0zIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEyIDE4SDdhMiAyIDAgMCAxLTItMlY5In1dLFsicGF0aCIse2Q6Im05IDE1IDMgMy0zIDMifV1dLERZdD1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTMgNmgzYTIgMiAwIDAgMSAyIDJ2NyJ9XSxbInBhdGgiLHtkOiJNMTEgMThIOGEyIDIgMCAwIDEtMi0yVjkifV1dLEFZdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTE4IDl2MmMwIC42LS40IDEtMSAxSDdjLS42IDAtMS0uNC0xLTFWOSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2MyJ9XV0sRVl0PVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNSA5djYifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE4IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiAzdjE4In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTUuN0E5IDkgMCAwIDAgMTkgOSJ9XV0sSVl0PVtbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02IDIxVjlhOSA5IDAgMCAwIDkgOSJ9XV0sUFl0PVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNSA5djEyIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoibTE1IDktMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2NyJ9XV0sTll0PVtbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNiA5djEyIn1dLFsicGF0aCIse2Q6Im0yMSAzLTYgNiJ9XSxbInBhdGgiLHtkOiJtMjEgOS02LTYifV0sWyJwYXRoIix7ZDoiTTE4IDExLjVWMTUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV0sRll0PVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNSA5djEyIn1dLFsicGF0aCIse2Q6Im0xNSA5LTMtMyAzLTMifV0sWyJwYXRoIix7ZDoiTTEyIDZoNWEyIDIgMCAwIDEgMiAydjMifV0sWyJwYXRoIix7ZDoiTTE5IDE1djYifV0sWyJwYXRoIix7ZDoiTTIyIDE4aC02In1dXSxPWXQ9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02IDl2MTIifV0sWyJwYXRoIix7ZDoiTTEzIDZoM2EyIDIgMCAwIDEgMiAydjMifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dXSxSWXQ9W1siY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTE4IDZWNSJ9XSxbInBhdGgiLHtkOiJNMTggMTF2LTEifV0sWyJsaW5lIix7eDE6IjYiLHgyOiI2Iix5MToiOSIseTI6IjIxIn1dXSxCWXQ9W1siY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEzIDZoM2EyIDIgMCAwIDEgMiAydjcifV0sWyJsaW5lIix7eDE6IjYiLHgyOiI2Iix5MToiOSIseTI6IjIxIn1dXSxIWXQ9W1sicGF0aCIse2Q6Ik0xNSAyMnYtNGE0LjggNC44IDAgMCAwLTEtMy41YzMgMCA2LTIgNi01LjUuMDgtMS4yNS0uMjctMi40OC0xLTMuNS4yOC0xLjE1LjI4LTIuMzUgMC0zLjUgMCAwLTEgMC0zIDEuNS0yLjY0LS41LTUuMzYtLjUtOCAwQzYgMiA1IDIgNSAyYy0uMyAxLjE1LS4zIDIuMzUgMCAzLjVBNS40MDMgNS40MDMgMCAwIDAgNCA5YzAgMy41IDMgNS41IDYgNS41LS4zOS40OS0uNjggMS4wNS0uODUgMS42NS0uMTcuNi0uMjIgMS4yMy0uMTUgMS44NXY0In1dLFsicGF0aCIse2Q6Ik05IDE4Yy00LjUxIDItNS0yLTctMiJ9XV0scVl0PVtbInBhdGgiLHtkOiJtMjIgMTMuMjktMy4zMy0xMGEuNDIuNDIgMCAwIDAtLjE0LS4xOC4zOC4zOCAwIDAgMC0uMjItLjExLjM5LjM5IDAgMCAwLS4yMy4wNy40Mi40MiAwIDAgMC0uMTQuMThsLTIuMjYgNi42N0g4LjMyTDYuMSAzLjI2YS40Mi40MiAwIDAgMC0uMS0uMTguMzguMzggMCAwIDAtLjI2LS4wOC4zOS4zOSAwIDAgMC0uMjMuMDcuNDIuNDIgMCAwIDAtLjE0LjE4TDIgMTMuMjlhLjc0Ljc0IDAgMCAwIC4yNy44M0wxMiAyMWw5LjY5LTYuODhhLjcxLjcxIDAgMCAwIC4zMS0uODNaIn1dXSxqWXQ9W1sicGF0aCIse2Q6Ik01LjExNiA0LjEwNEExIDEgMCAwIDEgNi4xMSAzaDExLjc4YTEgMSAwIDAgMSAuOTk0IDEuMTA1TDE3LjE5IDIwLjIxQTIgMiAwIDAgMSAxNS4yIDIySDguOGEyIDIgMCAwIDEtMi0xLjc5eiJ9XSxbInBhdGgiLHtkOiJNNiAxMmE1IDUgMCAwIDEgNiAwIDUgNSAwIDAgMCA2IDAifV1dLFZZdD1bWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE1IixyOiI0In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTUiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTE0IDE1YTIgMiAwIDAgMC0yLTIgMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMi41IDEzIDUgN2MuNy0xLjMgMS40LTIgMy0yIn1dLFsicGF0aCIse2Q6Ik0yMS41IDEzIDE5IDdjLS43LTEuMy0xLjUtMi0zLTIifV1dLFVZdD1bWyJwYXRoIix7ZDoiTTE1LjY4NiAxNUExNC41IDE0LjUgMCAwIDEgMTIgMjJhMTQuNSAxNC41IDAgMCAxIDAtMjAgMTAgMTAgMCAxIDAgOS41NDIgMTMifV0sWyJwYXRoIix7ZDoiTTIgMTJoOC41In1dLFsicGF0aCIse2Q6Ik0yMCA2VjRhMiAyIDAgMSAwLTQgMHYyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjUiLHg6IjE0Iix5OiI2IixyeDoiMSJ9XV0sV1l0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgMC0yMCJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XV0sR1l0PVtbInBhdGgiLHtkOiJtMTYgMyA1IDUifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjBBMTAgMTAgMCAxIDEgMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgNC0xMCJ9XSxbInBhdGgiLHtkOiJtMjEgMy01IDUifV1dLFlZdD1bWyJwYXRoIix7ZDoiTTEyIDEzVjJsOCA0LTggNCJ9XSxbInBhdGgiLHtkOiJNMjAuNTYxIDEwLjIyMmE5IDkgMCAxIDEtMTIuNTUtNS4yOSJ9XSxbInBhdGgiLHtkOiJNOC4wMDIgOS45OTdhNSA1IDAgMSAwIDguOSAyLjAyIn1dXSxaWXQ9W1sicGF0aCIse2Q6Ik0yIDIxVjMifV0sWyJwYXRoIix7ZDoiTTIgNWgxOGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMkgyLjI2In1dLFsicGF0aCIse2Q6Ik03IDE3djNhMSAxIDAgMCAwIDEgMWg1YTEgMSAwIDAgMCAxLTF2LTMifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTEiLHI6IjIifV1dLFhZdD1bWyJwYXRoIix7ZDoiTTIxLjQyIDEwLjkyMmExIDEgMCAwIDAtLjAxOS0xLjgzOEwxMi44MyA1LjE4YTIgMiAwIDAgMC0xLjY2IDBMMi42IDkuMDhhMSAxIDAgMCAwIDAgMS44MzJsOC41NyAzLjkwOGEyIDIgMCAwIDAgMS42NiAweiJ9XSxbInBhdGgiLHtkOiJNMjIgMTB2NiJ9XSxbInBhdGgiLHtkOiJNNiAxMi41VjE2YTYgMyAwIDAgMCAxMiAwdi0zLjUifV1dLFFZdD1bWyJwYXRoIix7ZDoiTTIyIDVWMmwtNS44OSA1Ljg5In1dLFsiY2lyY2xlIix7Y3g6IjE2LjYiLGN5OiIxNS44OSIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI4LjExIixjeToiNy40IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjEyLjM1IixjeToiMTEuNjUiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTMuOTEiLGN5OiI1Ljg1IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE4LjE1IixjeToiMTAuMDkiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNi41NiIsY3k6IjEzLjIiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTAuOCIsY3k6IjE3LjQ0IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxOSIscjoiMyJ9XV0sV0k9W1sicGF0aCIse2Q6Ik0xMiAzdjE3YTEgMSAwIDAgMS0xIDFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjZhMSAxIDAgMCAxLTEgMUgzIn1dLFsicGF0aCIse2Q6Im0xNiAxOSAyIDIgNC00In1dXSxHST1bWyJwYXRoIix7ZDoiTTEyIDN2MTdhMSAxIDAgMCAxLTEgMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2NmExIDEgMCAwIDEtMSAxSDMifV0sWyJwYXRoIix7ZDoiTTE2IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE5IDIydi02In1dXSxZST1bWyJwYXRoIix7ZDoiTTEyIDN2MTdhMSAxIDAgMCAxLTEgMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2NmExIDEgMCAwIDEtMSAxSDMifV0sWyJwYXRoIix7ZDoibTE2IDE2IDUgNSJ9XSxbInBhdGgiLHtkOiJtMTYgMjEgNS01In1dXSxaST1bWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV0sSll0PVtbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dLHBmPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XV0sS1l0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiI5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTUiLHI6IjEifV1dLGVadD1bWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI1IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxOSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjE5IixyOiIxIn1dXSx0WnQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIxIn1dXSxyWnQ9W1sicGF0aCIse2Q6Ik0zIDdWNWMwLTEuMS45LTIgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmMxLjEgMCAyIC45IDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYzAgMS4xLS45IDItMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVjLTEuMSAwLTItLjktMi0ydi0yIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjciLHk6IjciLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjEwIix5OiIxMiIscng6IjEifV1dLGFadD1bWyJwYXRoIix7ZDoibTExLjkgMTIuMSA0LjUxNC00LjUxNCJ9XSxbInBhdGgiLHtkOiJNMjAuMSAyLjNhMSAxIDAgMCAwLTEuNCAwbC0xLjExNCAxLjExNEEyIDIgMCAwIDAgMTcgNC44Mjh2MS4zNDRhMiAyIDAgMCAxLS41ODYgMS40MTRBMiAyIDAgMCAxIDE3LjgyOCA3aDEuMzQ0YTIgMiAwIDAgMCAxLjQxNC0uNTg2TDIxLjcgNS4zYTEgMSAwIDAgMCAwLTEuNHoifV0sWyJwYXRoIix7ZDoibTYgMTYgMiAyIn1dLFsicGF0aCIse2Q6Ik04LjIzIDkuODVBMyAzIDAgMCAxIDExIDhhNSA1IDAgMCAxIDUgNSAzIDMgMCAwIDEtMS44NSAyLjc3bC0uOTIuMzhBMiAyIDAgMCAwIDEyIDE4YTQgNCAwIDAgMS00IDQgNiA2IDAgMCAxLTYtNiA0IDQgMCAwIDEgNC00IDIgMiAwIDAgMCAxLjg1LTEuMjN6In1dXSxpWnQ9W1sicGF0aCIse2Q6Ik0xMy4xNDQgMjEuMTQ0QTcuMjc0IDEwLjQ0NSA0NSAxIDAgMi44NTYgMTAuODU2In1dLFsicGF0aCIse2Q6Ik0xMy4xNDQgMjEuMTQ0QTcuMjc0IDQuMzY1IDQ1IDAgMCAyLjg1NiAxMC44NTZhNy4yNzQgNC4zNjUgNDUgMCAwIDEwLjI4OCAxMC4yODgifV0sWyJwYXRoIix7ZDoiTTE2LjU2NSAxMC40MzUgMTguNiA4LjRhMi41MDEgMi41MDEgMCAxIDAgMS42NS00LjY1IDIuNSAyLjUgMCAxIDAtNC42NiAxLjY2bC0yLjAyNCAyLjAyNSJ9XSxbInBhdGgiLHtkOiJtOC41IDE2LjUtMS0xIn1dXSxuWnQ9W1sicGF0aCIse2Q6Ik0xMiAxNkg0YTIgMiAwIDEgMSAwLTRoMTZhMiAyIDAgMSAxIDAgNGgtNC4yNSJ9XSxbInBhdGgiLHtkOiJNNSAxMmEyIDIgMCAwIDEtMi0yIDkgNyAwIDAgMSAxOCAwIDIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTUgMTZhMiAyIDAgMCAwLTIgMiAzIDMgMCAwIDAgMyAzaDEyYTMgMyAwIDAgMCAzLTMgMiAyIDAgMCAwLTItMnEwIDAgMCAwIn1dLFsicGF0aCIse2Q6Im02LjY3IDEyIDYuMTMgNC42YTIgMiAwIDAgMCAyLjgtLjRsMy4xNS00LjIifV1dLHNadD1bWyJwYXRoIix7ZDoibTE1IDEyLTkuMzczIDkuMzczYTEgMSAwIDAgMS0zLjAwMS0zTDEyIDkifV0sWyJwYXRoIix7ZDoibTE4IDE1IDQtNCJ9XSxbInBhdGgiLHtkOiJtMjEuNSAxMS41LTEuOTE0LTEuOTE0QTIgMiAwIDAgMSAxOSA4LjE3MnYtLjM0NGEyIDIgMCAwIDAtLjU4Ni0xLjQxNGwtMS42NTctMS42NTdBNiA2IDAgMCAwIDEyLjUxNiAzSDlsMS4yNDMgMS4yNDNBNiA2IDAgMCAxIDEyIDguNDg1VjEwbDIgMmgxLjE3MmEyIDIgMCAwIDEgMS40MTQuNTg2TDE4LjUgMTQuNSJ9XV0sb1p0PVtbInBhdGgiLHtkOiJNMTEgMTVoMmEyIDIgMCAxIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTcifV0sWyJwYXRoIix7ZDoibTcgMjEgMS42LTEuNGMuMy0uNC44LS42IDEuNC0uNmg0YzEuMSAwIDIuMS0uNCAyLjgtMS4ybDQuNi00LjRhMiAyIDAgMCAwLTIuNzUtMi45MWwtNC4yIDMuOSJ9XSxbInBhdGgiLHtkOiJtMiAxNiA2IDYifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiI5IixyOiIyLjkifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjUiLHI6IjMifV1dLGxadD1bWyJwYXRoIix7ZDoiTTEyLjAzNSAxNy4wMTJhMyAzIDAgMCAwLTMtM2wtLjMxMS0uMDAyYS43Mi43MiAwIDAgMS0uNTA1LTEuMjI5bDEuMTk1LTEuMTk1QTIgMiAwIDAgMSAxMC44MjggMTFIMTJhMiAyIDAgMCAwIDAtNEg5LjI0M2EzIDMgMCAwIDAtMi4xMjIuODc5bC0yLjcwNyAyLjcwN0E0LjgzIDQuODMgMCAwIDAgMyAxNGE4IDggMCAwIDAgOCA4aDJhOCA4IDAgMCAwIDgtOFY3YTIgMiAwIDEgMC00IDB2MmEyIDIgMCAxIDAgNCAwIn1dLFsicGF0aCIse2Q6Ik0xMy44ODggOS42NjJBMiAyIDAgMCAwIDE3IDhWNUEyIDIgMCAxIDAgMTMgNSJ9XSxbInBhdGgiLHtkOiJNOSA1QTIgMiAwIDEgMCA1IDVWMTAifV0sWyJwYXRoIix7ZDoiTTkgN1Y0QTIgMiAwIDEgMSAxMyA0VjcuMjY4In1dXSxYST1bWyJwYXRoIix7ZDoiTTE4IDExLjVWOWEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MS40In1dLFsicGF0aCIse2Q6Ik0xNCAxMFY4YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xMCA5LjlWOWEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2NSJ9XSxbInBhdGgiLHtkOiJNNiAxNGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE4IDExYTIgMiAwIDEgMSA0IDB2M2E4IDggMCAwIDEtOCA4aC00YTggOCAwIDAgMS04LTggMiAyIDAgMSAxIDQgMCJ9XV0sY1p0PVtbInBhdGgiLHtkOiJNMTEgMTRoMmEyIDIgMCAwIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTYifV0sWyJwYXRoIix7ZDoibTE0LjQ1IDEzLjM5IDUuMDUtNC42OTRDMjAuMTk2IDggMjEgNi44NSAyMSA1Ljc1YTIuNzUgMi43NSAwIDAgMC00Ljc5Ny0xLjgzNy4yNzYuMjc2IDAgMCAxLS40MDYgMEEyLjc1IDIuNzUgMCAwIDAgMTEgNS43NWMwIDEuMi44MDIgMi4yNDggMS41IDIuOTQ2TDE2IDExLjk1In1dLFsicGF0aCIse2Q6Im0yIDE1IDYgNiJ9XSxbInBhdGgiLHtkOiJtNyAyMCAxLjYtMS40Yy4zLS40LjgtLjYgMS40LS42aDRjMS4xIDAgMi4xLS40IDIuOC0xLjJsNC42LTQuNGExIDEgMCAwIDAtMi43NS0yLjkxIn1dXSxRST1bWyJwYXRoIix7ZDoiTTExIDEyaDJhMiAyIDAgMSAwIDAtNGgtM2MtLjYgMC0xLjEuMi0xLjQuNkwzIDE0In1dLFsicGF0aCIse2Q6Im03IDE4IDEuNi0xLjRjLjMtLjQuOC0uNiAxLjQtLjZoNGMxLjEgMCAyLjEtLjQgMi44LTEuMmw0LjYtNC40YTIgMiAwIDAgMC0yLjc1LTIuOTFsLTQuMiAzLjkifV0sWyJwYXRoIix7ZDoibTIgMTMgNiA2In1dXSxkWnQ9W1sicGF0aCIse2Q6Ik0xOCAxMi41VjEwYTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxLjQifV0sWyJwYXRoIix7ZDoiTTE0IDExVjlhMiAyIDAgMSAwLTQgMHYyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMC41VjVhMiAyIDAgMSAwLTQgMHY5In1dLFsicGF0aCIse2Q6Im03IDE1LTEuNzYtMS43NmEyIDIgMCAwIDAtMi44MyAyLjgybDMuNiAzLjZDNy41IDIxLjE0IDkuMiAyMiAxMiAyMmgyYTggOCAwIDAgMCA4LThWN2EyIDIgMCAxIDAtNCAwdjUifV1dLHVadD1bWyJwYXRoIix7ZDoiTTEyIDNWMiJ9XSxbInBhdGgiLHtkOiJtMTUuNCAxNy40IDMuMi0yLjhhMiAyIDAgMSAxIDIuOCAyLjlsLTMuNiAzLjNjLS43LjgtMS43IDEuMi0yLjggMS4yaC00Yy0xLjEgMC0yLjEtLjQtMi44LTEuMmwtMS4zMDItMS40NjRBMSAxIDAgMCAwIDYuMTUxIDE5SDUifV0sWyJwYXRoIix7ZDoiTTIgMTRoMTJhMiAyIDAgMCAxIDAgNGgtMiJ9XSxbInBhdGgiLHtkOiJNNCAxMGgxNiJ9XSxbInBhdGgiLHtkOiJNNSAxMGE3IDcgMCAwIDEgMTQgMCJ9XSxbInBhdGgiLHtkOiJNNSAxNHY2YTEgMSAwIDAgMS0xIDFIMiJ9XV0scFp0PVtbInBhdGgiLHtkOiJNMTggMTFWNmEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE0IDEwVjRhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTEwIDEwLjVWNmEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2OCJ9XSxbInBhdGgiLHtkOiJNMTggOGEyIDIgMCAxIDEgNCAwdjZhOCA4IDAgMCAxLTggOGgtMmMtMi44IDAtNC41LS44Ni01Ljk5LTIuMzRsLTMuNi0zLjZhMiAyIDAgMCAxIDIuODMtMi44Mkw3IDE1In1dXSxmWnQ9W1sicGF0aCIse2Q6Ik0yLjA0OCAxOC41NjZBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuOTUyLTIuNDM0bC0yLTlBMiAyIDAgMCAwIDE4IDhINmEyIDIgMCAwIDAtMS45NTIgMS41NjZ6In1dLFsicGF0aCIse2Q6Ik04IDExVjZhNCA0IDAgMCAxIDggMHY1In1dXSxoWnQ9W1sicGF0aCIse2Q6Im0xMSAxNyAyIDJhMSAxIDAgMSAwIDMtMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTQgMi41IDIuNWExIDEgMCAxIDAgMy0zbC0zLjg4LTMuODhhMyAzIDAgMCAwLTQuMjQgMGwtLjg4Ljg4YTEgMSAwIDEgMS0zLTNsMi44MS0yLjgxYTUuNzkgNS43OSAwIDAgMSA3LjA2LS44N2wuNDcuMjhhMiAyIDAgMCAwIDEuNDIuMjVMMjEgNCJ9XSxbInBhdGgiLHtkOiJtMjEgMyAxIDExaC0yIn1dLFsicGF0aCIse2Q6Ik0zIDMgMiAxNGw2LjUgNi41YTEgMSAwIDEgMCAzLTMifV0sWyJwYXRoIix7ZDoiTTMgNGg4In1dXSxtWnQ9W1sicGF0aCIse2Q6Ik0xMiAydjgifV0sWyJwYXRoIix7ZDoibTE2IDYtNCA0LTQtNCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMThoLjAxIn1dXSxnWnQ9W1sicGF0aCIse2Q6Im0xNiA2LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2OCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMThoLjAxIn1dXSxiWnQ9W1sicGF0aCIse2Q6Ik0xMCAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTIuMjEyIDExLjU3N2EyIDIgMCAwIDAtLjIxMi44OTZWMThhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi01LjUyN2EyIDIgMCAwIDAtLjIxMi0uODk2TDE4LjU1IDUuMTFBMiAyIDAgMCAwIDE2Ljc2IDRINy4yNGEyIDIgMCAwIDAtMS43OSAxLjExeiJ9XSxbInBhdGgiLHtkOiJNMjEuOTQ2IDEyLjAxM0gyLjA1NCJ9XSxbInBhdGgiLHtkOiJNNiAxNmguMDEifV1dLHZadD1bWyJwYXRoIix7ZDoiTTEwIDEwVjVhMSAxIDAgMCAxIDEtMWgyYTEgMSAwIDAgMSAxIDF2NSJ9XSxbInBhdGgiLHtkOiJNMTQgNmE2IDYgMCAwIDEgNiA2djMifV0sWyJwYXRoIix7ZDoiTTQgMTV2LTNhNiA2IDAgMCAxIDYtNiJ9XSxbInJlY3QiLHt4OiIyIix5OiIxNSIsd2lkdGg6IjIwIixoZWlnaHQ6IjQiLHJ4OiIxIn1dXSx4WnQ9W1sibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiMTUiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiMTAiLHgyOiI4Iix5MToiMyIseTI6IjIxIn1dLFsibGluZSIse3gxOiIxNiIseDI6IjE0Iix5MToiMyIseTI6IjIxIn1dXSx5WnQ9W1sicGF0aCIse2Q6Ik0xNCAxOGEyIDIgMCAwIDAtNCAwIn1dLFsicGF0aCIse2Q6Im0xOSAxMS0yLjExLTYuNjU3YTIgMiAwIDAgMC0yLjc1Mi0xLjE0OGwtMS4yNzYuNjFBMiAyIDAgMCAxIDEyIDRIOC41YTIgMiAwIDAgMC0xLjkyNSAxLjQ1Nkw1IDExIn1dLFsicGF0aCIse2Q6Ik0yIDExaDIwIn1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIzIn1dXSx3WnQ9W1sicGF0aCIse2Q6Im01LjIgNi4yIDEuNCAxLjQifV0sWyJwYXRoIix7ZDoiTTIgMTNoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTNoMiJ9XSxbInBhdGgiLHtkOiJtMTcuNCA3LjYgMS40LTEuNCJ9XSxbInBhdGgiLHtkOiJNMjIgMTdIMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjFIMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTNhNCA0IDAgMCAwLTggMCJ9XSxbInBhdGgiLHtkOiJNMTIgNVYyLjUifV1dLE1adD1bWyJwYXRoIix7ZDoiTTEwIDEySDYifV0sWyJwYXRoIix7ZDoiTTEwIDE1VjkifV0sWyJwYXRoIix7ZDoiTTE0IDE0LjVhLjUuNSAwIDAgMCAuNS41aDFhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xQTIuNSAyLjUgMCAwIDAgMTUuNSA5aC0xYS41LjUgMCAwIDAtLjUuNXoifV0sWyJwYXRoIix7ZDoiTTYgMTVWOSJ9XSxbInJlY3QiLHt4OiIyIix5OiI1Iix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXSxrWnQ9W1sicGF0aCIse2Q6Ik0yMiA5YTEgMSAwIDAgMC0xLTFIM2ExIDEgMCAwIDAtMSAxdjRhMSAxIDAgMCAwIDEgMWgxbDIgMmgxMmwyLTJoMWExIDEgMCAwIDAgMS0xWiJ9XSxbInBhdGgiLHtkOiJNNy41IDEyaDkifV1dLFNadD1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Im0xNyAxMiAzLTJ2OCJ9XV0selp0PVtbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC00YzAtNCA0LTMgNC02IDAtMS41LTItMi41LTQtMSJ9XV0sQ1p0PVtbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoiTTE3LjUgMTAuNWMxLjctMSAzLjUgMCAzLjUgMS41YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTE3IDE3LjVjMiAxLjUgNCAuMyA0LTEuNWEyIDIgMCAwIDAtMi0yIn1dXSxUWnQ9W1sicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Ik0xNyAxMHYzYTEgMSAwIDAgMCAxIDFoMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTB2OCJ9XSxbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV1dLF9adD1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Ik0xNyAxM3YtM2g0In1dLFsicGF0aCIse2Q6Ik0xNyAxNy43Yy40LjIuOC4zIDEuMy4zIDEuNSAwIDIuNy0xLjEgMi43LTIuNVMxOS44IDEzIDE4LjMgMTNIMTcifV1dLExadD1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTYiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTIwIDEwYy0yIDItMyAzLjUtMyA2In1dXSwkWnQ9W1sicGF0aCIse2Q6Ik02IDEyaDEyIn1dLFsicGF0aCIse2Q6Ik02IDIwVjQifV0sWyJwYXRoIix7ZDoiTTE4IDIwVjQifV1dLERadD1bWyJwYXRoIix7ZDoiTTIxIDE0aC0xLjM0MyJ9XSxbInBhdGgiLHtkOiJNOS4xMjggMy40N0E5IDkgMCAwIDEgMjEgMTJ2My4zNDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAuNDE0IDIwLjQxNEEyIDIgMCAwIDEgMTkgMjFoLTFhMiAyIDAgMCAxLTItMnYtMyJ9XSxbInBhdGgiLHtkOiJNMyAxNGgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtN2E5IDkgMCAwIDEgMi42MzYtNi4zNjQifV1dLEFadD1bWyJwYXRoIix7ZDoiTTMgMTRoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTdhOSA5IDAgMCAxIDE4IDB2N2EyIDIgMCAwIDEtMiAyaC0xYTIgMiAwIDAgMS0yLTJ2LTNhMiAyIDAgMCAxIDItMmgzIn1dXSxFWnQ9W1sicGF0aCIse2Q6Ik0xMi40MDkgNS44MjRjLS43MDIuNzkyLTEuMTUgMS40OTYtMS40MTUgMi4xNjZsMi4xNTMgMi4xNTZhLjUuNSAwIDAgMSAwIC43MDdsLTIuMjkzIDIuMjkzYS41LjUgMCAwIDAgMCAuNzA3TDEyIDE1In1dLFsicGF0aCIse2Q6Ik0xMy41MDggMjAuMzEzYTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNWE1LjUgNS41IDAgMCAxIDkuNTkxLTMuNjc3LjYuNiAwIDAgMCAuODE4LjAwMUE1LjUgNS41IDAgMCAxIDIyIDkuNWMwIDIuMjktMS41IDQtMyA1LjV6In1dXSxJWnQ9W1sicGF0aCIse2Q6Ik0zIDExaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi01Wm0wIDBhOSA5IDAgMSAxIDE4IDBtMCAwdjVhMiAyIDAgMCAxLTIgMmgtMWEyIDIgMCAwIDEtMi0ydi0zYTIgMiAwIDAgMSAyLTJoM1oifV0sWyJwYXRoIix7ZDoiTTIxIDE2djJhNCA0IDAgMCAxLTQgNGgtNSJ9XV0sUFp0PVtbInBhdGgiLHtkOiJNMTkuNDE0IDE0LjQxNEMyMSAxMi44MjggMjIgMTEuNSAyMiA5LjVhNS41IDUuNSAwIDAgMC05LjU5MS0zLjY3Ni42LjYgMCAwIDEtLjgxOC4wMDFBNS41IDUuNSAwIDAgMCAyIDkuNWMwIDIuMyAxLjUgNCAzIDUuNWw1LjUzNSA1LjM2MmEyIDIgMCAwIDAgMi44NzkuMDUyIDIuMTIgMi4xMiAwIDAgMC0uMDA0LTMgMi4xMjQgMi4xMjQgMCAxIDAgMy0zIDIuMTI0IDIuMTI0IDAgMCAwIDMuMDA0IDAgMiAyIDAgMCAwIDAtMi44MjhsLTEuODgxLTEuODgyYTIuNDEgMi40MSAwIDAgMC0zLjQwOSAwbC0xLjcxIDEuNzFhMiAyIDAgMCAxLTIuODI4IDAgMiAyIDAgMCAxIDAtMi44MjhsMi44MjMtMi43NjIifV1dLE5adD1bWyJwYXRoIix7ZDoibTE0Ljg3NiAxOC45OS0xLjM2OCAxLjMyM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWE1LjIgNS4yIDAgMCAxLS4yNDQgMS41NzIifV0sWyJwYXRoIix7ZDoiTTE1IDE1aDYifV1dLEZadD1bWyJwYXRoIix7ZDoiTTEwLjUgNC44OTNhNS41IDUuNSAwIDAgMSAxLjA5MS45MzEuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVjMCAxLjg3Mi0xLjAwMiAzLjM1Ni0yLjE4NyA0LjY1NSJ9XSxbInBhdGgiLHtkOiJtMTYuOTY3IDE2Ljk2Ny0zLjQ1OSAzLjM0NmEyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSAyLjc0Ny00Ljc2MSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXSxPWnQ9W1sicGF0aCIse2Q6Ik0yIDkuNWE1LjUgNS41IDAgMCAxIDkuNTkxLTMuNjc2LjU2LjU2IDAgMCAwIC44MTggMEE1LjQ5IDUuNDkgMCAwIDEgMjIgOS41YzAgMi4yOS0xLjUgNC0zIDUuNWwtNS40OTIgNS4zMTNhMiAyIDAgMCAxLTMgLjAxOUw1IDE1Yy0xLjUtMS41LTMtMy4yLTMtNS41In1dLFsicGF0aCIse2Q6Ik0zLjIyIDEzSDkuNWwuNS0xIDIgNC41IDItNyAxLjUgMy41aDUuMjcifV1dLFJadD1bWyJwYXRoIix7ZDoibTE0LjQ3OSAxOS4zNzQtLjk3MS45MzlhMiAyIDAgMCAxLTMgLjAxOUw1IDE1Yy0xLjUtMS41LTMtMy4yLTMtNS41YTUuNSA1LjUgMCAwIDEgOS41OTEtMy42NzYuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVhNS4yIDUuMiAwIDAgMS0uMjE5IDEuNDkifV0sWyJwYXRoIix7ZDoiTTE1IDE1aDYifV0sWyJwYXRoIix7ZDoiTTE4IDEydjYifV1dLEJadD1bWyJwYXRoIix7ZDoiTTIgOS41YTUuNSA1LjUgMCAwIDEgOS41OTEtMy42NzYuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVjMCAyLjI5LTEuNSA0LTMgNS41bC01LjQ5MiA1LjMxM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjUifV1dLEhadD1bWyJwYXRoIix7ZDoiTTExIDhjMi0zLTItMyAwLTYifV0sWyJwYXRoIix7ZDoiTTE1LjUgOGMyLTMtMi0zIDAtNiJ9XSxbInBhdGgiLHtkOiJNNiAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTYgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNnYtNCJ9XSxbInBhdGgiLHtkOiJNMTQgMTZ2LTQifV0sWyJwYXRoIix7ZDoiTTE4IDE2di00In1dLFsicGF0aCIse2Q6Ik0yMCA2YTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDMifV0sWyJwYXRoIix7ZDoiTTUgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMjB2MiJ9XV0scVp0PVtbInBhdGgiLHtkOiJNMTEgMTd2NCJ9XSxbInBhdGgiLHtkOiJNMTQgM3Y4YTIgMiAwIDAgMCAyIDJoNS44NjUifV0sWyJwYXRoIix7ZDoiTTE3IDE3djQifV0sWyJwYXRoIix7ZDoiTTE4IDE3YTQgNCAwIDAgMCA0LTQgOCA2IDAgMCAwLTgtNiA2IDUgMCAwIDAtNiA1djNhMiAyIDAgMCAwIDIgMnoifV0sWyJwYXRoIix7ZDoiTTIgMTB2NSJ9XSxbInBhdGgiLHtkOiJNNiAzaDE2In1dLFsicGF0aCIse2Q6Ik03IDIxaDE0In1dLFsicGF0aCIse2Q6Ik04IDEzSDIifV1dLGpadD1bWyJwYXRoIix7ZDoiTTIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2eiJ9XV0sVlp0PVtbInBhdGgiLHtkOiJtOSAxMS02IDZ2M2g5bDMtMyJ9XSxbInBhdGgiLHtkOiJtMjIgMTItNC42IDQuNmEyIDIgMCAwIDEtMi44IDBsLTUuMi01LjJhMiAyIDAgMCAxIDAtMi44TDE0IDQifV1dLFVadD1bWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMSAwIDktOSA5Ljc1IDkuNzUgMCAwIDAtNi43NCAyLjc0TDMgOCJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y1bDQgMiJ9XV0sV1p0PVtbInBhdGgiLHtkOiJNMTAuODIgMTYuMTJjMS42OS42IDMuOTEuNzkgNS4xOC44NS41NS4wMyAxLS40Mi45Ny0uOTctLjA2LTEuMjctLjI2LTMuNS0uODUtNS4xOCJ9XSxbInBhdGgiLHtkOiJNMTEuNSA2LjVjMS42NCAwIDUtLjM4IDYuNzEtMS4wNy41Mi0uMi41NS0uODIuMTItMS4xN0ExMCAxMCAwIDAgMCA0LjI2IDE4LjMzYy4zNS40My45Ni40IDEuMTctLjEyLjY5LTEuNzEgMS4wNy01LjA3IDEuMDctNi43MSAxLjM0LjQ1IDMuMS45IDQuODguNjJhLjg4Ljg4IDAgMCAwIC43My0uNzRjLjMtMi4xNC0uMTUtMy41LS42MS00Ljg4In1dLFsicGF0aCIse2Q6Ik0xNS42MiAxNi45NWMuMi44NS42MiAyLjc2LjUgNC4yOGEuNzcuNzcgMCAwIDEtLjkuNyAxNi42NCAxNi42NCAwIDAgMS00LjA4LTEuMzYifV0sWyJwYXRoIix7ZDoiTTE2LjEzIDIxLjA1YzEuNjUuNjMgMy42OC44NCA0Ljg3LjkxYS45LjkgMCAwIDAgLjk2LS45NiAxNy42OCAxNy42OCAwIDAgMC0uOS00Ljg3In1dLFsicGF0aCIse2Q6Ik0xNi45NCAxNS42MmMuODYuMiAyLjc3LjYyIDQuMjkuNWEuNzcuNzcgMCAwIDAgLjctLjkgMTYuNjQgMTYuNjQgMCAwIDAtMS4zNi00LjA4In1dLFsicGF0aCIse2Q6Ik0xNy45OSA1LjUyYTIwLjgyIDIwLjgyIDAgMCAxIDMuMTUgNC41LjguOCAwIDAgMS0uNjggMS4xM2MtMi4zMy4yLTUuMy0uMzItOC4yNy0xLjU3In1dLFsicGF0aCIse2Q6Ik00LjkzIDQuOTMgMyAzYS43LjcgMCAwIDEgMC0xIn1dLFsicGF0aCIse2Q6Ik05LjU4IDEyLjE4YzEuMjQgMi45OCAxLjc3IDUuOTUgMS41NyA4LjI4YS44LjggMCAwIDEtMS4xMy42OCAyMC44MiAyMC44MiAwIDAgMS00LjUtMy4xNSJ9XV0sR1p0PVtbInBhdGgiLHtkOiJNMTAuODIgMTYuMTJjMS42OS42IDMuOTEuNzkgNS4xOC44NS4yOC4wMS41My0uMDkuNy0uMjcifV0sWyJwYXRoIix7ZDoiTTExLjE0IDIwLjU3Yy41Mi4yNCAyLjQ0IDEuMTIgNC4wOCAxLjM3LjQ2LjA2Ljg2LS4yNS45LS43MS4xMi0xLjUyLS4zLTMuNDMtLjUtNC4yOCJ9XSxbInBhdGgiLHtkOiJNMTYuMTMgMjEuMDVjMS42NS42MyAzLjY4Ljg0IDQuODcuOTFhLjkuOSAwIDAgMCAuNy0uMjYifV0sWyJwYXRoIix7ZDoiTTE3Ljk5IDUuNTJhMjAuODMgMjAuODMgMCAwIDEgMy4xNSA0LjUuOC44IDAgMCAxLS42OCAxLjEzYy0xLjE3LjEtMi41LjAyLTMuOS0uMjUifV0sWyJwYXRoIix7ZDoiTTIwLjU3IDExLjE0Yy4yNC41MiAxLjEyIDIuNDQgMS4zNyA0LjA4LjA0LjMtLjA4LjU5LS4zMS43NSJ9XSxbInBhdGgiLHtkOiJNNC45MyA0LjkzYTEwIDEwIDAgMCAwLS42NyAxMy40Yy4zNS40My45Ni40IDEuMTctLjEyLjY5LTEuNzEgMS4wNy01LjA3IDEuMDctNi43MSAxLjM0LjQ1IDMuMS45IDQuODguNjJhLjg1Ljg1IDAgMCAwIC40OC0uMjQifV0sWyJwYXRoIix7ZDoiTTUuNTIgMTcuOTljMS4wNS45NSAyLjkxIDIuNDIgNC41IDMuMTVhLjguOCAwIDAgMCAxLjEzLS42OGMuMi0yLjM0LS4zMy01LjMtMS41Ny04LjI4In1dLFsicGF0aCIse2Q6Ik04LjM1IDIuNjhhMTAgMTAgMCAwIDEgOS45OCAxLjU4Yy40My4zNS40Ljk2LS4xMiAxLjE3LTEuNS42LTQuMy45OC02LjA3IDEuMDUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV0sWVp0PVtbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTE0IDloLTQifV0sWyJwYXRoIix7ZDoiTTE4IDExaDJhMiAyIDAgMCAxIDIgMnY2YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTggMjFWNWEyIDIgMCAwIDAtMi0ySDhhMiAyIDAgMCAwLTIgMnYxNiJ9XV0sWlp0PVtbInBhdGgiLHtkOiJNMTAgMjJ2LTYuNTcifV0sWyJwYXRoIix7ZDoiTTEyIDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgN2guMDEifV0sWyJwYXRoIix7ZDoiTTE0IDE1LjQzVjIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNmE1IDUgMCAwIDAtNiAwIn1dLFsicGF0aCIse2Q6Ik0xNiAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDdoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA3aC4wMSJ9XSxbInJlY3QiLHt4OiI0Iix5OiIyIix3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXSxYWnQ9W1sicGF0aCIse2Q6Ik01IDIyaDE0In1dLFsicGF0aCIse2Q6Ik01IDJoMTQifV0sWyJwYXRoIix7ZDoiTTE3IDIydi00LjE3MmEyIDIgMCAwIDAtLjU4Ni0xLjQxNEwxMiAxMmwtNC40MTQgNC40MTRBMiAyIDAgMCAwIDcgMTcuODI4VjIyIn1dLFsicGF0aCIse2Q6Ik03IDJ2NC4xNzJhMiAyIDAgMCAwIC41ODYgMS40MTRMMTIgMTJsNC40MTQtNC40MTRBMiAyIDAgMCAwIDE3IDYuMTcyVjIifV1dLFFadD1bWyJwYXRoIix7ZDoiTTguNjIgMTMuOEEyLjI1IDIuMjUgMCAxIDEgMTIgMTAuODM2YTIuMjUgMi4yNSAwIDEgMSAzLjM4IDIuOTY2bC0yLjYyNiAyLjg1NmEuOTk4Ljk5OCAwIDAgMS0xLjUwNyAweiJ9XSxbInBhdGgiLHtkOiJNMyAxMGEyIDIgMCAwIDEgLjcwOS0xLjUyOGw3LTZhMiAyIDAgMCAxIDIuNTgyIDBsNyA2QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiJ9XV0sSlp0PVtbInBhdGgiLHtkOiJNMTAgMTJWOC45NjQifV0sWyJwYXRoIix7ZDoiTTE0IDEyVjguOTY0In1dLFsicGF0aCIse2Q6Ik0xNSAxMmExIDEgMCAwIDEgMSAxdjJhMiAyIDAgMCAxLTIgMmgtNGEyIDIgMCAwIDEtMi0ydi0yYTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik04LjUgMjFINWEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAuNzA5LTEuNTI4bDctNmEyIDIgMCAwIDEgMi41ODIgMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjlhMiAyIDAgMCAxLTIgMmgtNWEyIDIgMCAwIDEtMi0ydi0yIn1dXSxLWnQ9W1sicGF0aCIse2Q6Ik0xMi4zNSAyMUg1YTIgMiAwIDAgMS0yLTJ2LTlhMiAyIDAgMCAxIC43MS0xLjUzbDctNmEyIDIgMCAwIDEgMi41OCAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2Mi4zNSJ9XSxbInBhdGgiLHtkOiJNMTQuOCAxMi40QTEgMSAwIDAgMCAxNCAxMmgtNGExIDEgMCAwIDAtMSAxdjgifV0sWyJwYXRoIix7ZDoiTTE1IDE4aDYifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV1dLGVYdD1bWyJwYXRoIix7ZDoiTTkuNSAxMy44NjZhNCA0IDAgMCAxIDUgLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTMgMTBhMiAyIDAgMCAxIC43MDktMS41MjhsNy02YTIgMiAwIDAgMSAyLjU4MiAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2OWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoifV0sWyJwYXRoIix7ZDoiTTcgMTAuNzU0YTggOCAwIDAgMSAxMCAwIn1dXSxKST1bWyJwYXRoIix7ZDoiTTE1IDIxdi04YTEgMSAwIDAgMC0xLTFoLTRhMSAxIDAgMCAwLTEgMXY4In1dLFsicGF0aCIse2Q6Ik0zIDEwYTIgMiAwIDAgMSAuNzA5LTEuNTI4bDctNmEyIDIgMCAwIDEgMi41ODIgMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6In1dXSxLST1bWyJwYXRoIix7ZDoiTTEyIDE3YzUgMCA4LTIuNjkgOC02SDRjMCAzLjMxIDMgNiA4IDZtLTQgNGg4bS00LTN2M001LjE0IDExYTMuNSAzLjUgMCAxIDEgNi43MSAwIn1dLFsicGF0aCIse2Q6Ik0xMi4xNCAxMWEzLjUgMy41IDAgMSAxIDYuNzEgMCJ9XSxbInBhdGgiLHtkOiJNMTUuNSA2LjVhMy41IDMuNSAwIDEgMC03IDAifV1dLGVQPVtbInBhdGgiLHtkOiJtNyAxMSA0LjA4IDEwLjM1YTEgMSAwIDAgMCAxLjg0IDBMMTcgMTEifV0sWyJwYXRoIix7ZDoiTTE3IDdBNSA1IDAgMCAwIDcgNyJ9XSxbInBhdGgiLHtkOiJNMTcgN2EyIDIgMCAwIDEgMCA0SDdhMiAyIDAgMCAxIDAtNCJ9XV0sdFh0PVtbInBhdGgiLHtkOiJNMTMuNSA4aC0zIn1dLFsicGF0aCIse2Q6Im0xNSAyLTEgMmgzYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDMifV0sWyJwYXRoIix7ZDoiTTE2Ljg5OSAyMkE1IDUgMCAwIDAgNy4xIDIyIn1dLFsicGF0aCIse2Q6Im05IDIgMyA2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjMifV1dLHJYdD1bWyJwYXRoIix7ZDoiTTE2IDEwaDIifV0sWyJwYXRoIix7ZDoiTTE2IDE0aDIifV0sWyJwYXRoIix7ZDoiTTYuMTcgMTVhMyAzIDAgMCAxIDUuNjYgMCJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMTEiLHI6IjIifV0sWyJyZWN0Iix7eDoiMiIseToiNSIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixyeDoiMiJ9XV0sYVh0PVtbInBhdGgiLHtkOiJNMTAuMyAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTBsLTMuMS0zLjFhMiAyIDAgMCAwLTIuODE0LjAxNEw2IDIxIn1dLFsicGF0aCIse2Q6Im0xNCAxOSAzIDN2LTUuNSJ9XSxbInBhdGgiLHtkOiJtMTcgMjIgMy0zIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dXSxpWHQ9W1sicGF0aCIse2Q6Ik0yMSA5djEwYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg3In1dLFsibGluZSIse3gxOiIxNiIseDI6IjIyIix5MToiNSIseTI6IjUifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV0sWyJwYXRoIix7ZDoibTIxIDE1LTMuMDg2LTMuMDg2YTIgMiAwIDAgMC0yLjgyOCAwTDYgMjEifV1dLG5YdD1bWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XSxbInBhdGgiLHtkOiJNMTAuNDEgMTAuNDFhMiAyIDAgMSAxLTIuODMtMi44MyJ9XSxbImxpbmUiLHt4MToiMTMuNSIseDI6IjYiLHkxOiIxMy41Iix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjE4Iix4MjoiMjEiLHkxOiIxMiIseTI6IjE1In1dLFsicGF0aCIse2Q6Ik0zLjU5IDMuNTlBMS45OSAxLjk5IDAgMCAwIDMgNXYxNGEyIDIgMCAwIDAgMiAyaDE0Yy41NSAwIDEuMDUyLS4yMiAxLjQxLS41OSJ9XSxbInBhdGgiLHtkOiJNMjEgMTVWNWEyIDIgMCAwIDAtMi0ySDkifV1dLHNYdD1bWyJwYXRoIix7ZDoiTTE1IDE1LjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdhMSAxIDAgMCAxLTEuNTE3LS44NnoifV0sWyJwYXRoIix7ZDoiTTIxIDEyLjE3VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2In1dLFsicGF0aCIse2Q6Im02IDIxIDUtNSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XV0sb1h0PVtbInBhdGgiLHtkOiJNMTYgNWg2In1dLFsicGF0aCIse2Q6Ik0xOSAydjYifV0sWyJwYXRoIix7ZDoiTTIxIDExLjVWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDcuNSJ9XSxbInBhdGgiLHtkOiJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XV0sbFh0PVtbInBhdGgiLHtkOiJNMTAuMyAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTBsLTMuMS0zLjFhMiAyIDAgMCAwLTIuODE0LjAxNEw2IDIxIn1dLFsicGF0aCIse2Q6Im0xNCAxOS41IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTE3IDIydi01LjUifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV1dLGNYdD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV0sWyJwYXRoIix7ZDoibTIxIDE1LTMuMDg2LTMuMDg2YTIgMiAwIDAgMC0yLjgyOCAwTDYgMjEifV1dLGRYdD1bWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Ik0xNyAyMWgyYTIgMiAwIDAgMCAyLTIifV0sWyJwYXRoIix7ZDoiTTIxIDEydjMifV0sWyJwYXRoIix7ZDoibTIxIDMtNSA1In1dLFsicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yIn1dLFsicGF0aCIse2Q6Im01IDIxIDQuMTQ0LTQuMTQ0YTEuMjEgMS4yMSAwIDAgMSAxLjcxMiAwTDEzIDE5In1dLFsicGF0aCIse2Q6Ik05IDNoMyJ9XSxbInJlY3QiLHt4OiIzIix5OiIxMSIsd2lkdGg6IjEwIixoZWlnaHQ6IjEwIixyeDoiMSJ9XV0sdVh0PVtbInBhdGgiLHtkOiJtMjIgMTEtMS4yOTYtMS4yOTZhMi40IDIuNCAwIDAgMC0zLjQwOCAwTDExIDE2In1dLFsicGF0aCIse2Q6Ik00IDhhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDEwYTIgMiAwIDAgMCAyLTIifV0sWyJjaXJjbGUiLHtjeDoiMTMiLGN5OiI3IixyOiIxIixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJyZWN0Iix7eDoiOCIseToiMiIsd2lkdGg6IjE0IixoZWlnaHQ6IjE0IixyeDoiMiJ9XV0scFh0PVtbInBhdGgiLHtkOiJNMTIgM3YxMiJ9XSxbInBhdGgiLHtkOiJtOCAxMSA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik04IDVINGEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMlY3YTIgMiAwIDAgMC0yLTJoLTQifV1dLGZYdD1bWyJwb2x5bGluZSIse3BvaW50czoiMjIgMTIgMTYgMTIgMTQgMTUgMTAgMTUgOCAxMiAyIDEyIn1dLFsicGF0aCIse2Q6Ik01LjQ1IDUuMTEgMiAxMnY2YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNmwtMy40NS02Ljg5QTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXoifV1dLGhYdD1bWyJwYXRoIix7ZDoiTTYgM2gxMiJ9XSxbInBhdGgiLHtkOiJNNiA4aDEyIn1dLFsicGF0aCIse2Q6Im02IDEzIDguNSA4In1dLFsicGF0aCIse2Q6Ik02IDEzaDMifV0sWyJwYXRoIix7ZDoiTTkgMTNjNi42NjcgMCA2LjY2Ny0xMCAwLTEwIn1dXSxtWHQ9W1sicGF0aCIse2Q6Ik02IDE2YzUgMCA3LTggMTItOGE0IDQgMCAwIDEgMCA4Yy01IDAtNy04LTEyLThhNCA0IDAgMSAwIDAgOCJ9XV0sZ1h0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZ2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDhoLjAxIn1dXSxiWHQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgN2guMDEifV0sWyJwYXRoIix7ZDoiTTE3IDdoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTdoLjAxIn1dXSx2WHQ9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIyMCIseDoiMiIseToiMiIscng6IjUiLHJ5OiI1In1dLFsicGF0aCIse2Q6Ik0xNiAxMS4zN0E0IDQgMCAxIDEgMTIuNjMgOCA0IDQgMCAwIDEgMTYgMTEuMzd6In1dLFsibGluZSIse3gxOiIxNy41Iix4MjoiMTcuNTEiLHkxOiI2LjUiLHkyOiI2LjUifV1dLHhYdD1bWyJwYXRoIix7ZDoibTE2IDE0IDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTIwIDEwYTggOCAwIDEgMC04IDhoOCJ9XV0seVh0PVtbImxpbmUiLHt4MToiMTkiLHgyOiIxMCIseTE6IjQiLHkyOiI0In1dLFsibGluZSIse3gxOiIxNCIseDI6IjUiLHkxOiIyMCIseTI6IjIwIn1dLFsibGluZSIse3gxOiIxNSIseDI6IjkiLHkxOiI0Iix5MjoiMjAifV1dLHdYdD1bWyJwYXRoIix7ZDoiTTQgMTBhOCA4IDAgMSAxIDggOEg0In1dLFsicGF0aCIse2Q6Im04IDIyLTQtNCA0LTQifV1dLE1YdD1bWyJwYXRoIix7ZDoiTTEyIDkuNVYyMW0wLTExLjVMNiAzbTYgNi41TDE4IDMifV0sWyJwYXRoIix7ZDoiTTYgMTVoMTIifV0sWyJwYXRoIix7ZDoiTTYgMTFoMTIifV1dLGtYdD1bWyJwYXRoIix7ZDoiTTIxIDE3YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjJhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi0yWiJ9XSxbInBhdGgiLHtkOiJNNiAxNXYtMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTVWOSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjYiLHI6IjMifV1dLFNYdD1bWyJwYXRoIix7ZDoiTTUgM3YxNCJ9XSxbInBhdGgiLHtkOiJNMTIgM3Y4In1dLFsicGF0aCIse2Q6Ik0xOSAzdjE4In1dXSx6WHQ9W1sicGF0aCIse2Q6Ik0xOCAxN2ExIDEgMCAwIDAtMSAxdjFhMiAyIDAgMSAwIDItMnoifV0sWyJwYXRoIix7ZDoiTTIwLjk3IDMuNjFhLjQ1LjQ1IDAgMCAwLS41OC0uNThDMTAuMiA2LjYgNi42IDEwLjIgMy4wMyAyMC4zOWEuNDUuNDUgMCAwIDAgLjU4LjU4QzEzLjggMTcuNCAxNy40IDEzLjggMjAuOTcgMy42MSJ9XSxbInBhdGgiLHtkOiJtNi43MDcgNi43MDcgMTAuNTg2IDEwLjU4NiJ9XSxbInBhdGgiLHtkOiJNNyA1YTIgMiAwIDEgMC0yIDJoMWExIDEgMCAwIDAgMS0xeiJ9XV0sQ1h0PVtbInBhdGgiLHtkOiJNMi41ODYgMTcuNDE0QTIgMiAwIDAgMCAyIDE4LjgyOFYyMWExIDEgMCAwIDAgMSAxaDNhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaDFhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaC4xNzJhMiAyIDAgMCAwIDEuNDE0LS41ODZsLjgxNC0uODE0YTYuNSA2LjUgMCAxIDAtNC00eiJ9XSxbImNpcmNsZSIse2N4OiIxNi41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dXSxUWHQ9W1sicGF0aCIse2Q6Ik0xMi40IDIuN2EyLjUgMi41IDAgMCAxIDMuNCAwbDUuNSA1LjVhMi41IDIuNSAwIDAgMSAwIDMuNGwtMy43IDMuN2EyLjUgMi41IDAgMCAxLTMuNCAwTDguNyA5LjhhMi41IDIuNSAwIDAgMSAwLTMuNHoifV0sWyJwYXRoIix7ZDoibTE0IDcgMyAzIn1dLFsicGF0aCIse2Q6Im05LjQgMTAuNi02LjgxNCA2LjgxNEEyIDIgMCAwIDAgMiAxOC44MjhWMjFhMSAxIDAgMCAwIDEgMWgzYTEgMSAwIDAgMCAxLTF2LTFhMSAxIDAgMCAxIDEtMWgxYTEgMSAwIDAgMCAxLTF2LTFhMSAxIDAgMCAxIDEtMWguMTcyYTIgMiAwIDAgMCAxLjQxNC0uNTg2bC44MTQtLjgxNCJ9XV0sX1h0PVtbInBhdGgiLHtkOiJtMTUuNSA3LjUgMi4zIDIuM2ExIDEgMCAwIDAgMS40IDBsMi4xLTIuMWExIDEgMCAwIDAgMC0xLjRMMTkgNCJ9XSxbInBhdGgiLHtkOiJtMjEgMi05LjYgOS42In1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjE1LjUiLHI6IjUuNSJ9XV0sTFh0PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDhoNCJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Ik02IDEydjQifV0sWyJwYXRoIix7ZDoiTTEwIDEydjQifV0sWyJwYXRoIix7ZDoiTTE0IDEydjQifV0sWyJwYXRoIix7ZDoiTTE4IDEydjQifV1dLCRYdD1bWyJwYXRoIix7ZDoiTSAyMCA0IEEyIDIgMCAwIDEgMjIgNiJ9XSxbInBhdGgiLHtkOiJNIDIyIDYgTCAyMiAxNi40MSJ9XSxbInBhdGgiLHtkOiJNIDcgMTYgTCAxNiAxNiJ9XSxbInBhdGgiLHtkOiJNIDkuNjkgNCBMIDIwIDQifV0sWyJwYXRoIix7ZDoiTTE0IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAyMEg0YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yIn1dLFsicGF0aCIse2Q6Ik02IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDEyaC4wMSJ9XV0sRFh0PVtbInBhdGgiLHtkOiJNMTAgOGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMTZoMTAifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV1dLEFYdD1bWyJwYXRoIix7ZDoiTTEyIDJ2NSJ9XSxbInBhdGgiLHtkOiJNMTQuODI5IDE1Ljk5OGEzIDMgMCAxIDEtNS42NTggMCJ9XSxbInBhdGgiLHtkOiJNMjAuOTIgMTQuNjA2QTEgMSAwIDAgMSAyMCAxNkg0YTEgMSAwIDAgMS0uOTItMS4zOTRsMy03QTEgMSAwIDAgMSA3IDdoMTBhMSAxIDAgMCAxIC45Mi42MDZ6In1dXSxFWHQ9W1sicGF0aCIse2Q6Ik0xMC4yOTMgMi4yOTNhMSAxIDAgMCAxIDEuNDE0IDBsMi41IDIuNSA1Ljk5NCAxLjIyN2ExIDEgMCAwIDEgLjUwNiAxLjY4N2wtNyA3YTEgMSAwIDAgMS0xLjY4Ny0uNTA2bC0xLjIyNy01Ljk5NC0yLjUtMi41YTEgMSAwIDAgMSAwLTEuNDE0eiJ9XSxbInBhdGgiLHtkOiJtMTQuMjA3IDQuNzkzLTMuNDE0IDMuNDE0In1dLFsicGF0aCIse2Q6Ik0zIDIwYTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg0YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Im05LjA4NiA2LjUtNC43OTMgNC43OTNhMSAxIDAgMCAwLS4xOCAxLjE3TDcgMTgifV1dLElYdD1bWyJwYXRoIix7ZDoiTTEyIDEwdjEyIn1dLFsicGF0aCIse2Q6Ik0xNy45MjkgNy42MjlBMSAxIDAgMCAxIDE3IDlIN2ExIDEgMCAwIDEtLjkyOC0xLjM3MWwyLTVBMSAxIDAgMCAxIDkgMmg2YTEgMSAwIDAgMSAuOTI4LjYyOXoifV0sWyJwYXRoIix7ZDoiTTkgMjJoNiJ9XV0sUFh0PVtbInBhdGgiLHtkOiJNMTkuOTI5IDE4LjYyOUExIDEgMCAwIDEgMTkgMjBIOWExIDEgMCAwIDEtLjkyOC0xLjM3MWwyLTVBMSAxIDAgMCAxIDExIDEzaDZhMSAxIDAgMCAxIC45MjguNjI5eiJ9XSxbInBhdGgiLHtkOiJNNiAzYTIgMiAwIDAgMSAyIDJ2MmEyIDIgMCAwIDEtMiAySDVhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik04IDZoNGEyIDIgMCAwIDEgMiAydjUifV1dLE5YdD1bWyJwYXRoIix7ZDoiTTE5LjkyOSA5LjYyOUExIDEgMCAwIDEgMTkgMTFIOWExIDEgMCAwIDEtLjkyOC0xLjM3MWwyLTVBMSAxIDAgMCAxIDExIDRoNmExIDEgMCAwIDEgLjkyOC42Mjl6In1dLFsicGF0aCIse2Q6Ik02IDE1YTIgMiAwIDAgMSAyIDJ2MmEyIDIgMCAwIDEtMiAySDVhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOCAxOGg0YTIgMiAwIDAgMCAyLTJ2LTUifV1dLEZYdD1bWyJwYXRoIix7ZDoiTTEyIDEydjYifV0sWyJwYXRoIix7ZDoiTTQuMDc3IDEwLjYxNUExIDEgMCAwIDAgNSAxMmgxNGExIDEgMCAwIDAgLjkyMy0xLjM4NWwtMy4wNzctNy4zODRBMiAyIDAgMCAwIDE1IDJIOWEyIDIgMCAwIDAtMS44NDYgMS4yM1oifV0sWyJwYXRoIix7ZDoiTTggMjBhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDlhMSAxIDAgMCAxLTEtMXoifV1dLE9YdD1bWyJwYXRoIix7ZDoiTTEwIDE4di03In1dLFsicGF0aCIse2Q6Ik0xMS4xMiAyLjE5OGEyIDIgMCAwIDEgMS43Ni4wMDZsNy44NjYgMy44NDdjLjQ3Ni4yMzMuMzEuOTQ5LS4yMi45NDlIMy40NzRjLS41MyAwLS42OTUtLjcxNi0uMjItLjk0OXoifV0sWyJwYXRoIix7ZDoiTTE0IDE4di03In1dLFsicGF0aCIse2Q6Ik0xOCAxOHYtNyJ9XSxbInBhdGgiLHtkOiJNMyAyMmgxOCJ9XSxbInBhdGgiLHtkOiJNNiAxOHYtNyJ9XV0sUlh0PVtbInBhdGgiLHtkOiJtMTIgOCA2LTMtNi0zdjEwIn1dLFsicGF0aCIse2Q6Im04IDExLjk5LTUuNSAzLjE0YTEgMSAwIDAgMCAwIDEuNzRsOC41IDQuODZhMiAyIDAgMCAwIDIgMGw4LjUtNC44NmExIDEgMCAwIDAgMC0xLjc0TDE2IDEyIn1dLFsicGF0aCIse2Q6Im02LjQ5IDEyLjg1IDExLjAyIDYuMyJ9XSxbInBhdGgiLHtkOiJNMTcuNTEgMTIuODUgNi41IDE5LjE1In1dXSxCWHQ9W1sicGF0aCIse2Q6Im01IDggNiA2In1dLFsicGF0aCIse2Q6Im00IDE0IDYtNiAyLTMifV0sWyJwYXRoIix7ZDoiTTIgNWgxMiJ9XSxbInBhdGgiLHtkOiJNNyAyaDEifV0sWyJwYXRoIix7ZDoibTIyIDIyLTUtMTAtNSAxMCJ9XSxbInBhdGgiLHtkOiJNMTQgMThoNiJ9XV0sSFh0PVtbInBhdGgiLHtkOiJNMiAyMGgyMCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAyIDIgNC00In1dLFsicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxMiIscng6IjIifV1dLHRQPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHg6IjMiLHk6IjQiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMjAiLHkyOiIyMCJ9XV0scVh0PVtbInBhdGgiLHtkOiJNMTggNWEyIDIgMCAwIDEgMiAydjguNTI2YTIgMiAwIDAgMCAuMjEyLjg5N2wxLjA2OCAyLjEyN2ExIDEgMCAwIDEtLjkgMS40NUgzLjYyYTEgMSAwIDAgMS0uOS0xLjQ1bDEuMDY4LTIuMTI3QTIgMiAwIDAgMCA0IDE1LjUyNlY3YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Ik0yMC4wNTQgMTUuOTg3SDMuOTQ2In1dXSxqWHQ9W1sicGF0aCIse2Q6Ik03IDIyYTUgNSAwIDAgMS0yLTQifV0sWyJwYXRoIix7ZDoiTTcgMTYuOTNjLjk2LjQzIDEuOTYuNzQgMi45OS45MSJ9XSxbInBhdGgiLHtkOiJNMy4zNCAxNEE2LjggNi44IDAgMCAxIDIgMTBjMC00LjQyIDQuNDgtOCAxMC04czEwIDMuNTggMTAgOGE3LjE5IDcuMTkgMCAwIDEtLjMzIDIifV0sWyJwYXRoIix7ZDoiTTUgMThhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0eiJ9XSxbInBhdGgiLHtkOiJNMTQuMzMgMjJoLS4wOWEuMzUuMzUgMCAwIDEtLjI0LS4zMnYtMTBhLjM0LjM0IDAgMCAxIC4zMy0uMzRjLjA4IDAgLjE1LjAzLjIxLjA4bDcuMzQgNmEuMzMuMzMgMCAwIDEtLjIxLjU5aC00LjQ5bC0yLjU3IDMuODVhLjM1LjM1IDAgMCAxLS4yOC4xNHoifV1dLFZYdD1bWyJwYXRoIix7ZDoiTTMuNzA0IDE0LjQ2N2ExMCA4IDAgMSAxIDMuMTE1IDIuMzc1In1dLFsicGF0aCIse2Q6Ik03IDIyYTUgNSAwIDAgMS0yLTMuOTk0In1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxNiIscjoiMiJ9XV0sVVh0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTggMTNhNiA2IDAgMCAxLTYgNSA2IDYgMCAwIDEtNi01aDEyWiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXSxXWHQ9W1sicGF0aCIse2Q6Ik0xMyAxMy43NGEyIDIgMCAwIDEtMiAwTDIuNSA4Ljg3YTEgMSAwIDAgMSAwLTEuNzRMMTEgMi4yNmEyIDIgMCAwIDEgMiAwbDguNSA0Ljg3YTEgMSAwIDAgMSAwIDEuNzR6In1dLFsicGF0aCIse2Q6Im0yMCAxNC4yODUgMS41Ljg0NWExIDEgMCAwIDEgMCAxLjc0TDEzIDIxLjc0YTIgMiAwIDAgMS0yIDBsLTguNS00Ljg3YTEgMSAwIDAgMSAwLTEuNzRsMS41LS44NDUifV1dLEdYdD1bWyJwYXRoIix7ZDoiTTEyLjgzIDIuMThhMiAyIDAgMCAwLTEuNjYgMEwyLjYgNi4wOGExIDEgMCAwIDAgMCAxLjgzbDguNTggMy45MWEyIDIgMCAwIDAgLjgzLjE4IDIgMiAwIDAgMCAuODMtLjE4bDguNTgtMy45YTEgMSAwIDAgMCAwLTEuODMxeiJ9XSxbInBhdGgiLHtkOiJNMTYgMTdoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMTR2NiJ9XSxbInBhdGgiLHtkOiJNMiAxMmExIDEgMCAwIDAgLjU4LjkxbDguNiAzLjkxYTIgMiAwIDAgMCAuODI1LjE3OCJ9XSxbInBhdGgiLHtkOiJNMiAxN2ExIDEgMCAwIDAgLjU4LjkxbDguNiAzLjkxYTIgMiAwIDAgMCAxLjY1IDBsMi4xMTYtLjk2MiJ9XV0sclA9W1sicGF0aCIse2Q6Ik0xMi44MyAyLjE4YTIgMiAwIDAgMC0xLjY2IDBMMi42IDYuMDhhMSAxIDAgMCAwIDAgMS44M2w4LjU4IDMuOTFhMiAyIDAgMCAwIDEuNjYgMGw4LjU4LTMuOWExIDEgMCAwIDAgMC0xLjgzeiJ9XSxbInBhdGgiLHtkOiJNMiAxMmExIDEgMCAwIDAgLjU4LjkxbDguNiAzLjkxYTIgMiAwIDAgMCAxLjY1IDBsOC41OC0zLjlBMSAxIDAgMCAwIDIyIDEyIn1dLFsicGF0aCIse2Q6Ik0yIDE3YTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIDEuNjUgMGw4LjU4LTMuOUExIDEgMCAwIDAgMjIgMTcifV1dLFlYdD1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiOSIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNSIseDoiMTQiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjkiLHg6IjE0Iix5OiIxMiIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNSIseDoiMyIseToiMTYiLHJ4OiIxIn1dXSxaWHQ9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIxNCIseToiMTQiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjMiLHk6IjE0IixyeDoiMSJ9XV0sWFh0PVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIxNCIscng6IjEifV0sWyJwYXRoIix7ZDoiTTE0IDRoNyJ9XSxbInBhdGgiLHtkOiJNMTQgOWg3In1dLFsicGF0aCIse2Q6Ik0xNCAxNWg3In1dLFsicGF0aCIse2Q6Ik0xNCAyMGg3In1dXSxRWHQ9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIxNCIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMTQiLHk6IjE0IixyeDoiMSJ9XV0sSlh0PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIxNCIscng6IjEifV1dLEtYdD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjciLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI5IixoZWlnaHQ6IjciLHg6IjMiLHk6IjE0IixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNSIsaGVpZ2h0OiI3Iix4OiIxNiIseToiMTQiLHJ4OiIxIn1dXSxlUXQ9W1sicGF0aCIse2Q6Ik0xMSAyMEE3IDcgMCAwIDEgOS44IDYuMUMxNS41IDUgMTcgNC40OCAxOSAyYzEgMiAyIDQuMTggMiA4IDAgNS41LTQuNzggMTAtMTAgMTBaIn1dLFsicGF0aCIse2Q6Ik0yIDIxYzAtMyAxLjg1LTUuMzYgNS4wOC02QzkuNSAxNC41MiAxMiAxMyAxMyAxMiJ9XV0sdFF0PVtbInBhdGgiLHtkOiJNMiAyMmMxLjI1LS45ODcgMi4yNy0xLjk3NSAzLjktMi4yYTUuNTYgNS41NiAwIDAgMSAzLjggMS41IDQgNCAwIDAgMCA2LjE4Ny0yLjM1MyAzLjUgMy41IDAgMCAwIDMuNjktNS4xMTZBMy41IDMuNSAwIDAgMCAyMC45NSA4IDMuNSAzLjUgMCAxIDAgMTYgMy4wNWEzLjUgMy41IDAgMCAwLTUuODMxIDEuMzczIDMuNSAzLjUgMCAwIDAtNS4xMTYgMy42OSA0IDQgMCAwIDAtMi4zNDggNi4xNTVDMy40OTkgMTUuNDIgNC40MDkgMTYuNzEyIDQuMiAxOC4xIDMuOTI2IDE5Ljc0MyAzLjAxNCAyMC43MzIgMiAyMiJ9XSxbInBhdGgiLHtkOiJNMiAyMiAxNyA3In1dXSxyUXQ9W1sicGF0aCIse2Q6Ik0xNiAxMmgzYTIgMiAwIDAgMCAxLjkwMi0xLjM4bDEuMDU2LTMuMzMzQTEgMSAwIDAgMCAyMSA2SDNhMSAxIDAgMCAwLS45NTggMS4yODdsMS4wNTYgMy4zMzRBMiAyIDAgMCAwIDUgMTJoMyJ9XSxbInBhdGgiLHtkOiJNMTggNlYzYTEgMSAwIDAgMC0xLTFoLTMifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiMTIiLHg6IjgiLHk6IjEwIixyeDoiMSJ9XV0sYVF0PVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTcgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMjAuNCAxOC45Yy4yLjUtLjEgMS4xLS42IDEuM2wtMS45LjdjLS41LjItMS4xLS4xLTEuMy0uNkwxMS4xIDUuMWMtLjItLjUuMS0xLjEuNi0xLjNsMS45LS43Yy41LS4yIDEuMS4xIDEuMy42WiJ9XV0saVF0PVtbInBhdGgiLHtkOiJtMTYgNiA0IDE0In1dLFsicGF0aCIse2Q6Ik0xMiA2djE0In1dLFsicGF0aCIse2Q6Ik04IDh2MTIifV0sWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XV0sblF0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtNC45MyA0LjkzIDQuMjQgNC4yNCJ9XSxbInBhdGgiLHtkOiJtMTQuODMgOS4xNyA0LjI0LTQuMjQifV0sWyJwYXRoIix7ZDoibTE0LjgzIDE0LjgzIDQuMjQgNC4yNCJ9XSxbInBhdGgiLHtkOiJtOS4xNyAxNC44My00LjI0IDQuMjQifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XV0sc1F0PVtbInBhdGgiLHtkOiJNMTQgMTJoMnY4In1dLFsicGF0aCIse2Q6Ik0xNCAyMGg0In1dLFsicGF0aCIse2Q6Ik02IDEyaDQifV0sWyJwYXRoIix7ZDoiTTYgMjBoNCJ9XSxbInBhdGgiLHtkOiJNOCAyMFY4YTQgNCAwIDAgMSA3LjQ2NC0yIn1dXSxvUXQ9W1sicGF0aCIse2Q6Ik0xNi44IDExLjJjLjgtLjkgMS4yLTIgMS4yLTMuMmE2IDYgMCAwIDAtOS4zLTUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNi4zIDYuM2E0LjY3IDQuNjcgMCAwIDAgMS4yIDUuMmMuNy43IDEuMyAxLjUgMS41IDIuNSJ9XSxbInBhdGgiLHtkOiJNOSAxOGg2In1dLFsicGF0aCIse2Q6Ik0xMCAyMmg0In1dXSxsUXQ9W1sicGF0aCIse2Q6Ik0xNSAxNGMuMi0xIC43LTEuNyAxLjUtMi41IDEtLjkgMS41LTIuMiAxLjUtMy41QTYgNiAwIDAgMCA2IDhjMCAxIC4yIDIuMiAxLjUgMy41LjcuNyAxLjMgMS41IDEuNSAyLjUifV0sWyJwYXRoIix7ZDoiTTkgMThoNiJ9XSxbInBhdGgiLHtkOiJNMTAgMjJoNCJ9XV0sY1F0PVtbInBhdGgiLHtkOiJNNyAzLjVjNS0yIDcgMi41IDMgNEMxLjUgMTAgMiAxNSA1IDE2YzUgMiA5LTEwIDE0LTdzLjUgMTMuNS00IDEyYy01LTIuNS41LTExIDYtMiJ9XV0sZFF0PVtbInBhdGgiLHtkOiJNOSAxN0g3QTUgNSAwIDAgMSA3IDcifV0sWyJwYXRoIix7ZDoiTTE1IDdoMmE1IDUgMCAwIDEgNCA4In1dLFsibGluZSIse3gxOiI4Iix4MjoiMTIiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dLHVRdD1bWyJwYXRoIix7ZDoiTTkgMTdIN0E1IDUgMCAwIDEgNyA3aDIifV0sWyJwYXRoIix7ZDoiTTE1IDdoMmE1IDUgMCAxIDEgMCAxMGgtMiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XV0scFF0PVtbInBhdGgiLHtkOiJNMTAgMTNhNSA1IDAgMCAwIDcuNTQuNTRsMy0zYTUgNSAwIDAgMC03LjA3LTcuMDdsLTEuNzIgMS43MSJ9XSxbInBhdGgiLHtkOiJNMTQgMTFhNSA1IDAgMCAwLTcuNTQtLjU0bC0zIDNhNSA1IDAgMCAwIDcuMDcgNy4wN2wxLjcxLTEuNzEifV1dLGZRdD1bWyJwYXRoIix7ZDoiTTE2IDhhNiA2IDAgMCAxIDYgNnY3aC00di03YTIgMiAwIDAgMC0yLTIgMiAyIDAgMCAwLTIgMnY3aC00di03YTYgNiAwIDAgMSA2LTZ6In1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjEyIix4OiIyIix5OiI5In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiI0IixyOiIyIn1dXSxoUXQ9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTE2IDEySDMifV0sWyJwYXRoIix7ZDoiTTExIDE5SDMifV0sWyJwYXRoIix7ZDoibTE1IDE4IDIgMiA0LTQifV1dLG1RdD1bWyJwYXRoIix7ZDoiTTEzIDVoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTloOCJ9XSxbInBhdGgiLHtkOiJtMyAxNyAyIDIgNC00In1dLFsicGF0aCIse2Q6Im0zIDcgMiAyIDQtNCJ9XV0sZ1F0PVtbInBhdGgiLHtkOiJNMyA1aDgifV0sWyJwYXRoIix7ZDoiTTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxOWg4In1dLFsicGF0aCIse2Q6Im0xNSA1IDMgMyAzLTMifV0sWyJwYXRoIix7ZDoibTE1IDE5IDMtMyAzIDMifV1dLGJRdD1bWyJwYXRoIix7ZDoiTTMgNWg4In1dLFsicGF0aCIse2Q6Ik0zIDEyaDgifV0sWyJwYXRoIix7ZDoiTTMgMTloOCJ9XSxbInBhdGgiLHtkOiJtMTUgOCAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Im0xNSAxNiAzIDMgMy0zIn1dXSx2UXQ9W1sicGF0aCIse2Q6Ik0xMCA1aDExIn1dLFsicGF0aCIse2Q6Ik0xMCAxMmgxMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTloMTEifV0sWyJwYXRoIix7ZDoibTMgMTAgMy0zLTMtMyJ9XSxbInBhdGgiLHtkOiJtMyAyMCAzLTMtMy0zIn1dXSx4UXQ9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTE2IDEySDMifV0sWyJwYXRoIix7ZDoiTTkgMTlIMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTYtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJNMjEgNXYxMmEyIDIgMCAwIDEtMiAyaC02In1dXSx5UXQ9W1sicGF0aCIse2Q6Ik0xMiA1SDIifV0sWyJwYXRoIix7ZDoiTTYgMTJoMTIifV0sWyJwYXRoIix7ZDoiTTkgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTYgNWg2In1dLFsicGF0aCIse2Q6Ik0xOSA4VjIifV1dLHdRdD1bWyJwYXRoIix7ZDoiTTIgNWgyMCJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxMiJ9XSxbInBhdGgiLHtkOiJNOSAxOWg2In1dXSxmZj1bWyJwYXRoIix7ZDoiTTIxIDVIMTEifV0sWyJwYXRoIix7ZDoiTTIxIDEySDExIn1dLFsicGF0aCIse2Q6Ik0yMSAxOUgxMSJ9XSxbInBhdGgiLHtkOiJtNyA4LTQgNCA0IDQifV1dLGhmPVtbInBhdGgiLHtkOiJNMjEgNUgxMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIMTEifV0sWyJwYXRoIix7ZDoiTTIxIDE5SDExIn1dLFsicGF0aCIse2Q6Im0zIDggNCA0LTQgNCJ9XV0sTVF0PVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMmgtNiJ9XV0sa1F0PVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxOUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxNlY1In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTYiLHI6IjMifV1dLFNRdD1bWyJwYXRoIix7ZDoiTTExIDVoMTAifV0sWyJwYXRoIix7ZDoiTTExIDEyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMSAxOWgxMCJ9XSxbInBhdGgiLHtkOiJNNCA0aDF2NSJ9XSxbInBhdGgiLHtkOiJNNCA5aDIifV0sWyJwYXRoIix7ZDoiTTYuNSAyMEgzLjRjMC0xIDIuNi0xLjkyNSAyLjYtMy41YTEuNSAxLjUgMCAwIDAtMi42LTEuMDIifV1dLHpRdD1bWyJwYXRoIix7ZDoiTTE2IDVIMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMTggOXY2In1dLFsicGF0aCIse2Q6Ik0yMSAxMmgtNiJ9XV0sQ1F0PVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik03IDEySDMifV0sWyJwYXRoIix7ZDoiTTcgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMTIgMThhNSA1IDAgMCAwIDktMyA0LjUgNC41IDAgMCAwLTQuNS00LjVjLTEuMzMgMC0yLjU0LjU0LTMuNDEgMS40MUwxMSAxNCJ9XSxbInBhdGgiLHtkOiJNMTEgMTB2NGg0In1dXSxUUXQ9W1sicGF0aCIse2Q6Ik0zIDVoNiJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxMyJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxMyJ9XSxbInBhdGgiLHtkOiJtMTYgOC0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Ik0yMSAxOVY3YTIgMiAwIDAgMC0yLTJoLTYifV1dLF9RdD1bWyJwYXRoIix7ZDoiTTEzIDVoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTloOCJ9XSxbInBhdGgiLHtkOiJtMyAxNyAyIDIgNC00In1dLFsicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiI2IixoZWlnaHQ6IjYiLHJ4OiIxIn1dXSxMUXQ9W1sicGF0aCIse2Q6Ik04IDVoMTMifV0sWyJwYXRoIix7ZDoiTTEzIDEyaDgifV0sWyJwYXRoIix7ZDoiTTEzIDE5aDgifV0sWyJwYXRoIix7ZDoiTTMgMTBhMiAyIDAgMCAwIDIgMmgzIn1dLFsicGF0aCIse2Q6Ik0zIDV2MTJhMiAyIDAgMCAwIDIgMmgzIn1dXSwkUXQ9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTEwIDEySDMifV0sWyJwYXRoIix7ZDoiTTEwIDE5SDMifV0sWyJwYXRoIix7ZDoiTTE1IDEyLjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdhMSAxIDAgMCAxLTEuNTE3LS44NnoifV1dLERRdD1bWyJwYXRoIix7ZDoiTTE2IDVIMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTlIMyJ9XSxbInBhdGgiLHtkOiJtMTUuNSA5LjUgNSA1In1dLFsicGF0aCIse2Q6Im0yMC41IDkuNS01IDUifV1dLEFRdD1bWyJwYXRoIix7ZDoiTTMgNWguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0zIDE5aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA1aDEzIn1dLFsicGF0aCIse2Q6Ik04IDEyaDEzIn1dLFsicGF0aCIse2Q6Ik04IDE5aDEzIn1dXSxhUD1bWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDEgMS02LjIxOS04LjU2In1dXSxFUXQ9W1sicGF0aCIse2Q6Ik0xMiAydjQifV0sWyJwYXRoIix7ZDoibTE2LjIgNy44IDIuOS0yLjkifV0sWyJwYXRoIix7ZDoiTTE4IDEyaDQifV0sWyJwYXRoIix7ZDoibTE2LjIgMTYuMiAyLjkgMi45In1dLFsicGF0aCIse2Q6Ik0xMiAxOHY0In1dLFsicGF0aCIse2Q6Im00LjkgMTkuMSAyLjktMi45In1dLFsicGF0aCIse2Q6Ik0yIDEyaDQifV0sWyJwYXRoIix7ZDoibTQuOSA0LjkgMi45IDIuOSJ9XV0sSVF0PVtbInBhdGgiLHtkOiJNMjIgMTJhMSAxIDAgMCAxLTEwIDAgMSAxIDAgMCAwLTEwIDAifV0sWyJwYXRoIix7ZDoiTTcgMjAuN2ExIDEgMCAxIDEgNS04LjcgMSAxIDAgMSAwIDUtOC42In1dLFsicGF0aCIse2Q6Ik03IDMuM2ExIDEgMCAxIDEgNSA4LjYgMSAxIDAgMSAwIDUgOC42In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXSxQUXQ9W1sibGluZSIse3gxOiIyIix4MjoiNSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiMjIiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMiIseTI6IjUifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxOSIseTI6IjIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjcifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XV0sTlF0PVtbInBhdGgiLHtkOiJNMTIgMTl2MyJ9XSxbInBhdGgiLHtkOiJNMTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0xOC44OSAxMy4yNGE3IDcgMCAwIDAtOC4xMy04LjEzIn1dLFsicGF0aCIse2Q6Ik0xOSAxMmgzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNy4wNSA3LjA1YTcgNyAwIDAgMCA5LjkgOS45In1dXSxGUXQ9W1sibGluZSIse3gxOiIyIix4MjoiNSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiMjIiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMiIseTI6IjUifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxOSIseTI6IjIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjcifV1dLE9RdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNiIscjoiMSJ9XSxbInJlY3QiLHt4OiIzIix5OiIxMCIsd2lkdGg6IjE4IixoZWlnaHQ6IjEyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAxMFY3YTUgNSAwIDAgMSAxMCAwdjMifV1dLGlQPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE2IixyOiIxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMiIseDoiMyIseToiMTAiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDEwVjdhNSA1IDAgMCAxIDkuMzMtMi41In1dXSxSUXQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMSIseDoiMyIseToiMTEiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQifV1dLG5QPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTEiLHg6IjMiLHk6IjExIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTFWN2E1IDUgMCAwIDEgOS45LTEifV1dLEJRdD1bWyJwYXRoIix7ZDoibTEwIDE3IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTE1IDEySDMifV0sWyJwYXRoIix7ZDoiTTE1IDNoNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJoLTQifV1dLEhRdD1bWyJwYXRoIix7ZDoiTTMgNWgxIn1dLFsicGF0aCIse2Q6Ik0zIDEyaDEifV0sWyJwYXRoIix7ZDoiTTMgMTloMSJ9XSxbInBhdGgiLHtkOiJNOCA1aDEifV0sWyJwYXRoIix7ZDoiTTggMTJoMSJ9XSxbInBhdGgiLHtkOiJNOCAxOWgxIn1dLFsicGF0aCIse2Q6Ik0xMyA1aDgifV0sWyJwYXRoIix7ZDoiTTEzIDEyaDgifV0sWyJwYXRoIix7ZDoiTTEzIDE5aDgifV1dLHFRdD1bWyJwYXRoIix7ZDoibTE2IDE3IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTIxIDEySDkifV0sWyJwYXRoIix7ZDoiTTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg0In1dXSxqUXQ9W1siY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV0sWyJwYXRoIix7ZDoibTIxIDIxLTQuMy00LjMifV0sWyJwYXRoIix7ZDoiTTExIDExYTIgMiAwIDAgMCA0IDAgNCA0IDAgMCAwLTggMCA2IDYgMCAwIDAgMTIgMCJ9XV0sVlF0PVtbInBhdGgiLHtkOiJNNiAyMGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTggMThWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxNCJ9XSxbInBhdGgiLHtkOiJNMTAgMjBoNCJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjIwIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIyMCIscjoiMiJ9XV0sVVF0PVtbInBhdGgiLHtkOiJtMTIgMTUgNCA0In1dLFsicGF0aCIse2Q6Ik0yLjM1MiAxMC42NDhhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNGwyLjI5NiAyLjI5NmExLjIwNSAxLjIwNSAwIDAgMCAxLjcwNCAwbDYuMDI5LTYuMDI5YTEgMSAwIDEgMSAzIDNsLTYuMDI5IDYuMDI5YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMS43MDQgMGw2LjM2NS02LjM2N0ExIDEgMCAwIDAgOC43MTYgNC4yODJ6In1dLFsicGF0aCIse2Q6Im01IDggNCA0In1dXSxXUXQ9W1sicGF0aCIse2Q6Ik0yMiAxM1Y2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoOCJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMiAyIDQtNCJ9XV0sR1F0PVtbInBhdGgiLHtkOiJNMjIgMTVWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDgifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTE2IDE5aDYifV1dLFlRdD1bWyJwYXRoIix7ZDoiTTIxLjIgOC40Yy41LjM4LjguOTcuOCAxLjZ2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWMTBhMiAyIDAgMCAxIC44LTEuNmw4LTZhMiAyIDAgMCAxIDIuNCAwbDggNloifV0sWyJwYXRoIix7ZDoibTIyIDEwLTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiAxMCJ9XV0sWlF0PVtbInBhdGgiLHtkOiJNMjIgMTNWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDgifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTE5IDE2djYifV0sWyJwYXRoIix7ZDoiTTE2IDE5aDYifV1dLHNQPVtbInBhdGgiLHtkOiJNMjIgMTAuNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoMTIuNSJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJNMTggMTUuMjhjLjItLjQuNS0uOC45LTFhMi4xIDIuMSAwIDAgMSAyLjYuNGMuMy40LjUuOC41IDEuMyAwIDEuMy0yIDItMiAyIn1dLFsicGF0aCIse2Q6Ik0yMCAyMnYuMDEifV1dLFhRdD1bWyJwYXRoIix7ZDoiTTIyIDEyLjVWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDcuNSJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJNMTggMjFhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMiAyMi0xLjUtMS41In1dXSxRUXQ9W1sicGF0aCIse2Q6Ik0yMiAxMC41VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxMi41In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Ik0yMCAxNHY0In1dLFsicGF0aCIse2Q6Ik0yMCAyMnYuMDEifV1dLEpRdD1bWyJwYXRoIix7ZDoibTIyIDctOC45OTEgNS43MjdhMiAyIDAgMCAxLTIuMDA5IDBMMiA3In1dLFsicmVjdCIse3g6IjIiLHk6IjQiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNiIscng6IjIifV1dLEtRdD1bWyJwYXRoIix7ZDoiTTIyIDEzVjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg5In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Im0xNyAxNyA0IDQifV0sWyJwYXRoIix7ZDoibTIxIDE3LTQgNCJ9XV0sZUp0PVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOS41QzIgNyA0IDUgNi41IDVIMThjMi4yIDAgNCAxLjggNCA0djhaIn1dLFsicG9seWxpbmUiLHtwb2ludHM6IjE1LDkgMTgsOSAxOCwxMSJ9XSxbInBhdGgiLHtkOiJNNi41IDVDOSA1IDExIDcgMTEgOS41VjE3YTIgMiAwIDAgMS0yIDIifV0sWyJsaW5lIix7eDE6IjYiLHgyOiI3Iix5MToiMTAiLHkyOiIxMCJ9XV0sdEp0PVtbInBhdGgiLHtkOiJNMTcgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LThhMiAyIDAgMCAxIDEtMS43MzIifV0sWyJwYXRoIix7ZDoibTIyIDUuNS02LjQxOSA0LjE3OWEyIDIgMCAwIDEtMi4xNjIgMEw3IDUuNSJ9XSxbInJlY3QiLHt4OiI3Iix5OiIzIix3aWR0aDoiMTUiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXSxySnQ9W1sicGF0aCIse2Q6Im0xMSAxOS0xLjEwNi0uNTUyYTIgMiAwIDAgMC0xLjc4OCAwbC0zLjY1OSAxLjgzQTEgMSAwIDAgMSAzIDE5LjM4MVY2LjYxOGExIDEgMCAwIDEgLjU1My0uODk0bDQuNTUzLTIuMjc3YTIgMiAwIDAgMSAxLjc4OCAwbDQuMjEyIDIuMTA2YTIgMiAwIDAgMCAxLjc4OCAwbDMuNjU5LTEuODNBMSAxIDAgMCAxIDIxIDQuNjE5VjE0In1dLFsicGF0aCIse2Q6Ik0xNSA1Ljc2NFYxNCJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTYifV0sWyJwYXRoIix7ZDoiTTkgMy4yMzZ2MTUifV1dLGFKdD1bWyJwYXRoIix7ZDoiTTIwIDEwYzAgNC45OTMtNS41MzkgMTAuMTkzLTcuMzk5IDExLjc5OWExIDEgMCAwIDEtMS4yMDIgMEM5LjUzOSAyMC4xOTMgNCAxNC45OTMgNCAxMGE4IDggMCAwIDEgMTYgMCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAyIDIgNC00In1dXSxpSnQ9W1sicGF0aCIse2Q6Ik0xOS40MyAxMi45MzVjLjM1Ny0uOTY3LjU3LTEuOTU1LjU3LTIuOTM1YTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAzMi4xOTcgMzIuMTk3IDAgMCAwIC44MTMtLjcyOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Im0xNiAxOCAyIDIgNC00In1dXSxuSnQ9W1sicGF0aCIse2Q6Ik0xNSAyMmExIDEgMCAwIDEtMS0xdi00YTEgMSAwIDAgMSAuNDQ1LS44MzJsMy0yYTEgMSAwIDAgMSAxLjExIDBsMyAyQTEgMSAwIDAgMSAyMiAxN3Y0YTEgMSAwIDAgMS0xIDF6In1dLFsicGF0aCIse2Q6Ik0xOCAxMGE4IDggMCAwIDAtMTYgMGMwIDQuOTkzIDUuNTM5IDEwLjE5MyA3LjM5OSAxMS43OTlhMSAxIDAgMCAwIC42MDEuMiJ9XSxbInBhdGgiLHtkOiJNMTggMjJ2LTMifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMCIscjoiMyJ9XV0sc0p0PVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dLG9KdD1bWyJwYXRoIix7ZDoiTTE4Ljk3NyAxNEMxOS42IDEyLjcwMSAyMCAxMS4zNDMgMjAgMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAxLjIwMiAwIDMyIDMyIDAgMCAwIC44MjQtLjczOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOGg2In1dXSxsSnQ9W1sicGF0aCIse2Q6Ik0xMi43NSA3LjA5YTMgMyAwIDAgMSAyLjE2IDIuMTYifV0sWyJwYXRoIix7ZDoiTTE3LjA3MiAxNy4wNzJjLTEuNjM0IDIuMTctMy41MjcgMy45MTItNC40NzEgNC43MjdhMSAxIDAgMCAxLTEuMjAyIDBDOS41MzkgMjAuMTkzIDQgMTQuOTkzIDQgMTBhOCA4IDAgMCAxIDEuNDMyLTQuNTY4In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTguNDc1IDIuODE4QTggOCAwIDAgMSAyMCAxMGMwIDEuMTgzLS4zMSAyLjM3Ny0uODEgMy41MzMifV0sWyJwYXRoIix7ZDoiTTkuMTMgOS4xM2EzIDMgMCAwIDAgMy43NCAzLjc0In1dXSxvUD1bWyJwYXRoIix7ZDoiTTE3Ljk3IDkuMzA0QTggOCAwIDAgMCAyIDEwYzAgNC42OSA0Ljg4NyA5LjU2MiA3LjAyMiAxMS40NjgifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCAxNi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjEwIixyOiIzIn1dXSxjSnQ9W1sicGF0aCIse2Q6Ik0yMCAxMGMwIDQuOTkzLTUuNTM5IDEwLjE5My03LjM5OSAxMS43OTlhMSAxIDAgMCAxLTEuMjAyIDBDOS41MzkgMjAuMTkzIDQgMTQuOTkzIDQgMTBhOCA4IDAgMCAxIDE2IDAifV0sWyJwYXRoIix7ZDoiTTEyIDd2NiJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dXSxkSnQ9W1sicGF0aCIse2Q6Ik0xOS45MTQgMTEuMTA1QTcuMjk4IDcuMjk4IDAgMCAwIDIwIDEwYTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAzMiAzMiAwIDAgMCAuODI0LS43MzgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTYgMThoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMTV2NiJ9XV0sdUp0PVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Im0xNC41IDcuNS01IDUifV0sWyJwYXRoIix7ZDoibTkuNSA3LjUgNSA1In1dXSxwSnQ9W1sicGF0aCIse2Q6Ik0xOS43NTIgMTEuOTAxQTcuNzggNy43OCAwIDAgMCAyMCAxMGE4IDggMCAwIDAtMTYgMGMwIDQuOTkzIDUuNTM5IDEwLjE5MyA3LjM5OSAxMS43OTlhMSAxIDAgMCAwIDEuMjAyIDAgMTkgMTkgMCAwIDAgLjA5LS4wNzcifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjEuNSAxNS41LTUgNSJ9XSxbInBhdGgiLHtkOiJtMjEuNSAyMC41LTUtNSJ9XV0sZkp0PVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjMifV1dLGhKdD1bWyJwYXRoIix7ZDoiTTE4IDhjMCAzLjYxMy0zLjg2OSA3LjQyOS01LjM5MyA4Ljc5NWExIDEgMCAwIDEtMS4yMTQgMEM5Ljg3IDE1LjQyOSA2IDExLjYxMyA2IDhhNiA2IDAgMCAxIDEyIDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI4IixyOiIyIn1dLFsicGF0aCIse2Q6Ik04LjcxNCAxNGgtMy43MWExIDEgMCAwIDAtLjk0OC42ODNsLTIuMDA0IDZBMSAxIDAgMCAwIDMgMjJoMThhMSAxIDAgMCAwIC45NDgtMS4zMTZsLTItNmExIDEgMCAwIDAtLjk0OS0uNjg0aC0zLjcxMiJ9XV0sbUp0PVtbInBhdGgiLHtkOiJtMTEgMTktMS4xMDYtLjU1MmEyIDIgMCAwIDAtMS43ODggMGwtMy42NTkgMS44M0ExIDEgMCAwIDEgMyAxOS4zODFWNi42MThhMSAxIDAgMCAxIC41NTMtLjg5NGw0LjU1My0yLjI3N2EyIDIgMCAwIDEgMS43ODggMGw0LjIxMiAyLjEwNmEyIDIgMCAwIDAgMS43ODggMGwzLjY1OS0xLjgzQTEgMSAwIDAgMSAyMSA0LjYxOVYxMiJ9XSxbInBhdGgiLHtkOiJNMTUgNS43NjRWMTIifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dLFsicGF0aCIse2Q6Ik05IDMuMjM2djE1In1dXSxnSnQ9W1sicGF0aCIse2Q6Ik0xNC4xMDYgNS41NTNhMiAyIDAgMCAwIDEuNzg4IDBsMy42NTktMS44M0ExIDEgMCAwIDEgMjEgNC42MTl2MTIuNzY0YTEgMSAwIDAgMS0uNTUzLjg5NGwtNC41NTMgMi4yNzdhMiAyIDAgMCAxLTEuNzg4IDBsLTQuMjEyLTIuMTA2YTIgMiAwIDAgMC0xLjc4OCAwbC0zLjY1OSAxLjgzQTEgMSAwIDAgMSAzIDE5LjM4MVY2LjYxOGExIDEgMCAwIDEgLjU1My0uODk0bDQuNTUzLTIuMjc3YTIgMiAwIDAgMSAxLjc4OCAweiJ9XSxbInBhdGgiLHtkOiJNMTUgNS43NjR2MTUifV0sWyJwYXRoIix7ZDoiTTkgMy4yMzZ2MTUifV1dLGJKdD1bWyJwYXRoIix7ZDoibTE0IDYgNCA0In1dLFsicGF0aCIse2Q6Ik0xNyAzaDR2NCJ9XSxbInBhdGgiLHtkOiJtMjEgMy03Ljc1IDcuNzUifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjE1IixyOiI2In1dXSx2SnQ9W1sicGF0aCIse2Q6Ik0xNiAzaDV2NSJ9XSxbInBhdGgiLHtkOiJtMjEgMy02Ljc1IDYuNzUifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxNCIscjoiNiJ9XV0seEp0PVtbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik0xMiAxMXYxMSJ9XSxbInBhdGgiLHtkOiJtMTkgMy03IDgtNy04WiJ9XV0seUp0PVtbInBhdGgiLHtkOiJNMTUgM2g2djYifV0sWyJwYXRoIix7ZDoibTIxIDMtNyA3In1dLFsicGF0aCIse2Q6Im0zIDIxIDctNyJ9XSxbInBhdGgiLHtkOiJNOSAyMUgzdi02In1dXSx3SnQ9W1sicGF0aCIse2Q6Ik04IDNINWEyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTIxIDhWNWEyIDIgMCAwIDAtMi0yaC0zIn1dLFsicGF0aCIse2Q6Ik0zIDE2djNhMiAyIDAgMCAwIDIgMmgzIn1dLFsicGF0aCIse2Q6Ik0xNiAyMWgzYTIgMiAwIDAgMCAyLTJ2LTMifV1dLE1KdD1bWyJwYXRoIix7ZDoiTTcuMjEgMTUgMi42NiA3LjE0YTIgMiAwIDAgMSAuMTMtMi4yTDQuNCAyLjhBMiAyIDAgMCAxIDYgMmgxMmEyIDIgMCAwIDEgMS42LjhsMS42IDIuMTRhMiAyIDAgMCAxIC4xNCAyLjJMMTYuNzkgMTUifV0sWyJwYXRoIix7ZDoiTTExIDEyIDUuMTIgMi4yIn1dLFsicGF0aCIse2Q6Im0xMyAxMiA1Ljg4LTkuOCJ9XSxbInBhdGgiLHtkOiJNOCA3aDgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNyIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTJoLS41In1dXSxrSnQ9W1sicGF0aCIse2Q6Ik0xMS42MzYgNkExMyAxMyAwIDAgMCAxOS40IDMuMiAxIDEgMCAwIDEgMjEgNHYxMS4zNDQifV0sWyJwYXRoIix7ZDoiTTE0LjM3OCAxNC4zNTdBMTMgMTMgMCAwIDAgMTEgMTRINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTYgMTRhMTIgMTIgMCAwIDAgMi40IDcuMiAyIDIgMCAwIDAgMy4yLTIuNEE4IDggMCAwIDEgMTAgMTQifV0sWyJwYXRoIix7ZDoiTTggOHY2In1dXSxTSnQ9W1sicGF0aCIse2Q6Ik0xMSA2YTEzIDEzIDAgMCAwIDguNC0yLjhBMSAxIDAgMCAxIDIxIDR2MTJhMSAxIDAgMCAxLTEuNi44QTEzIDEzIDAgMCAwIDExIDE0SDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Ik02IDE0YTEyIDEyIDAgMCAwIDIuNCA3LjIgMiAyIDAgMCAwIDMuMi0yLjRBOCA4IDAgMCAxIDEwIDE0In1dLFsicGF0aCIse2Q6Ik04IDZ2OCJ9XV0sekp0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTUiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXSxDSnQ9W1sicGF0aCIse2Q6Ik00IDVoMTYifV0sWyJwYXRoIix7ZDoiTTQgMTJoMTYifV0sWyJwYXRoIix7ZDoiTTQgMTloMTYifV1dLFRKdD1bWyJwYXRoIix7ZDoiTTEyIDEydi0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTE2IDE4di0yIn1dLFsicGF0aCIse2Q6Ik0yIDExaDEuNSJ9XSxbInBhdGgiLHtkOiJNMjAgMTh2LTIifV0sWyJwYXRoIix7ZDoiTTIwLjUgMTFIMjIifV0sWyJwYXRoIix7ZDoiTTQgMTh2LTIifV0sWyJwYXRoIix7ZDoiTTggMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTggMTh2LTIifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjIwIixoZWlnaHQ6IjEwIixyeDoiMiJ9XV0sX0p0PVtbInBhdGgiLHtkOiJtOCA2IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MTAuM2E0IDQgMCAwIDEtMS4xNzIgMi44NzJMNCAyMiJ9XSxbInBhdGgiLHtkOiJtMjAgMjItNS01In1dXSxMSnQ9W1sicGF0aCIse2Q6Im0xMCA5LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoibTE0IDE1IDMtMy0zLTMifV0sWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dXSwkSnQ9W1sicGF0aCIse2Q6Ik0xMC4xIDIuMTgyYTEwIDEwIDAgMCAxIDMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMy45IDIxLjgxOGExMCAxMCAwIDAgMS0zLjggMCJ9XSxbInBhdGgiLHtkOiJNMTcuNjA5IDMuNzJhMTAgMTAgMCAwIDEgMi42OSAyLjcifV0sWyJwYXRoIix7ZDoiTTIuMTgyIDEzLjlhMTAgMTAgMCAwIDEgMC0zLjgifV0sWyJwYXRoIix7ZDoiTTIwLjI4IDE3LjYxYTEwIDEwIDAgMCAxLTIuNyAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMS44MTggMTAuMWExMCAxMCAwIDAgMSAwIDMuOCJ9XSxbInBhdGgiLHtkOiJNMy43MjEgNi4zOTFhMTAgMTAgMCAwIDEgMi43LTIuNjkifV0sWyJwYXRoIix7ZDoibTYuMTYzIDIxLjExNy0yLjkwNi44NWExIDEgMCAwIDEtMS4yMzYtMS4xNjlsLjk2NS0yLjk4In1dXSxESnQ9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNNy44MjggMTMuMDdBMyAzIDAgMCAxIDEyIDguNzY0YTMgMyAwIDAgMSA1LjAwNCAyLjIyNCAzIDMgMCAwIDEtLjgzMiAyLjA4M2wtMy40NDcgMy42MmExIDEgMCAwIDEtMS40NS0uMDAxeiJ9XV0sQUp0PVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSJ9XV0sRUp0PVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00LjkzIDQuOTI5YTEwIDEwIDAgMCAwLTEuOTM4IDExLjQxMiAyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMCAwIDExLjMwMi0xLjk4OSJ9XSxbInBhdGgiLHtkOiJNOC4zNSAyLjY5QTEwIDEwIDAgMCAxIDIxLjMgMTUuNjUifV1dLElKdD1bWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoiTTEyIDh2OCJ9XV0sbFA9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XV0sUEp0PVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dXSxOSnQ9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJtMTAgMTUtMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNNyAxMmg4YTIgMiAwIDAgMSAyIDJ2MSJ9XV0sRkp0PVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Im05IDkgNiA2In1dXSxPSnQ9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XV0sUkp0PVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Im0xMCA4LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoibTE0IDE0IDMtMy0zLTMifV1dLEJKdD1bWyJwYXRoIix7ZDoiTTE0IDNoMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTloLTIifV0sWyJwYXRoIix7ZDoiTTIgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTIgMTZ2NS4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwxLjE0OS0xLjE0OSJ9XSxbInBhdGgiLHtkOiJNMjAgMTlhMiAyIDAgMCAwIDItMnYtMSJ9XSxbInBhdGgiLHtkOiJNMjIgMTB2MiJ9XSxbInBhdGgiLHtkOiJNMjIgNlY1YTIgMiAwIDAgMC0yLTIifV0sWyJwYXRoIix7ZDoiTTQgM2EyIDIgMCAwIDAtMiAydjEifV0sWyJwYXRoIix7ZDoiTTggMTloMiJ9XSxbInBhdGgiLHtkOiJNOCAzaDIifV1dLEhKdD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTAgMTVoNCJ9XSxbInBhdGgiLHtkOiJNMTAgOWg0In1dLFsicGF0aCIse2Q6Ik0xMiA3djQifV1dLHFKdD1bWyJwYXRoIix7ZDoiTTEyLjcgM0g0YTIgMiAwIDAgMC0yIDJ2MTYuMjg2YS43MS43MSAwIDAgMCAxLjIxMi41MDJsMi4yMDItMi4yMDJBMiAyIDAgMCAxIDYuODI4IDE5SDIwYTIgMiAwIDAgMCAyLTJ2LTQuNyJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjYiLHI6IjMifV1dLGpKdD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNNy41IDkuNWMwIC42ODcuMjY1IDEuMzgzLjY5NyAxLjg0NGwzLjAwOSAzLjI2NGExLjE0IDEuMTQgMCAwIDAgLjQwNy4zMTQgMSAxIDAgMCAwIC43ODMtLjAwNCAxLjE0IDEuMTQgMCAwIDAgLjM5OC0uMzFsMy4wMDgtMy4yNjRBMi43NyAyLjc3IDAgMCAwIDE2LjUgOS41IDIuNSAyLjUgMCAwIDAgMTIgOGEyLjUgMi41IDAgMCAwLTQuNSAxLjUifV1dLFZKdD1bWyJwYXRoIix7ZDoiTTIyIDguNVY1YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjE2LjI4NmEuNzEuNzEgMCAwIDAgMS4yMTIuNTAybDIuMjAyLTIuMjAyQTIgMiAwIDAgMSA2LjgyOCAxOUgxMCJ9XSxbInBhdGgiLHtkOiJNMjAgMTV2LTJhMiAyIDAgMCAwLTQgMHYyIn1dLFsicmVjdCIse3g6IjE0Iix5OiIxNSIsd2lkdGg6IjgiLGhlaWdodDoiNSIscng6IjEifV1dLFVKdD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTggMTFoLjAxIn1dXSxXSnQ9W1sicGF0aCIse2Q6Ik0xOSAxOUg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNy43IDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDEuMTg0LTEuODI2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTguNjU2IDNIMjBhMiAyIDAgMCAxIDIgMnYxMS4zNDQifV1dLEdKdD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgOHY2In1dLFsicGF0aCIse2Q6Ik05IDExaDYifV1dLFlKdD1bWyJwYXRoIix7ZDoiTTE0IDE0YTIgMiAwIDAgMCAyLTJWOGgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Ik04IDE0YTIgMiAwIDAgMCAyLTJWOEg4In1dXSxaSnQ9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTEwIDgtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTR2LTFhMiAyIDAgMCAwLTItMkg3In1dXSxYSnQ9W1sicGF0aCIse2Q6Ik0xMiAzSDRhMiAyIDAgMCAwLTIgMnYxNi4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwyLjIwMi0yLjIwMkEyIDIgMCAwIDEgNi44MjggMTlIMjBhMiAyIDAgMCAwIDItMnYtNCJ9XSxbInBhdGgiLHtkOiJNMTYgM2g2djYifV0sWyJwYXRoIix7ZDoibTE2IDkgNi02In1dXSxRSnQ9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTcgMTFoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTVoNiJ9XSxbInBhdGgiLHtkOiJNNyA3aDgifV1dLEpKdD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA3djQifV1dLEtKdD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJtMTQuNSA4LjUtNSA1In1dLFsicGF0aCIse2Q6Im05LjUgOC41IDUgNSJ9XV0sZUt0PVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dXSx0S3Q9W1sicGF0aCIse2Q6Ik0xNiAxMGEyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDE0LjI4NlY0YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTIwIDlhMiAyIDAgMCAxIDIgMnYxMC4yODZhLjcxLjcxIDAgMCAxLTEuMjEyLjUwMmwtMi4yMDItMi4yMDJBMiAyIDAgMCAwIDE3LjE3MiAxOUgxMGEyIDIgMCAwIDEtMi0ydi0xIn1dXSxyS3Q9W1sicGF0aCIse2Q6Ik0xMiAxOXYzIn1dLFsicGF0aCIse2Q6Ik0xNSA5LjM0VjVhMyAzIDAgMCAwLTUuNjgtMS4zMyJ9XSxbInBhdGgiLHtkOiJNMTYuOTUgMTYuOTVBNyA3IDAgMCAxIDUgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTE4Ljg5IDEzLjIzQTcgNyAwIDAgMCAxOSAxMnYtMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik05IDl2M2EzIDMgMCAwIDAgNS4xMiAyLjEyIn1dXSxjUD1bWyJwYXRoIix7ZDoibTExIDcuNjAxLTUuOTk0IDguMTlhMSAxIDAgMCAwIC4xIDEuMjk4bC44MTcuODE4YTEgMSAwIDAgMCAxLjMxNC4wODdMMTUuMDkgMTIifV0sWyJwYXRoIix7ZDoiTTE2LjUgMjEuMTc0QzE1LjUgMjAuNSAxNC4zNzIgMjAgMTMgMjBjLTIuMDU4IDAtMy45MjggMi4zNTYtNiAyLTIuMDcyLS4zNTYtMi43NzUtMy4zNjktMS41LTQuNSJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjciLHI6IjUifV1dLGFLdD1bWyJwYXRoIix7ZDoiTTEyIDE5djMifV0sWyJwYXRoIix7ZDoiTTE5IDEwdjJhNyA3IDAgMCAxLTE0IDB2LTIifV0sWyJyZWN0Iix7eDoiOSIseToiMiIsd2lkdGg6IjYiLGhlaWdodDoiMTMiLHJ4OiIzIn1dXSxpS3Q9W1sicGF0aCIse2Q6Ik0xMCAxMmg0In1dLFsicGF0aCIse2Q6Ik0xMCAxN2g0In1dLFsicGF0aCIse2Q6Ik0xMCA3aDQifV0sWyJwYXRoIix7ZDoiTTE4IDEyaDIifV0sWyJwYXRoIix7ZDoiTTE4IDE4aDIifV0sWyJwYXRoIix7ZDoiTTE4IDZoMiJ9XSxbInBhdGgiLHtkOiJNNCAxMmgyIn1dLFsicGF0aCIse2Q6Ik00IDE4aDIifV0sWyJwYXRoIix7ZDoiTTQgNmgyIn1dLFsicmVjdCIse3g6IjYiLHk6IjIiLHdpZHRoOiIxMiIsaGVpZ2h0OiIyMCIscng6IjIifV1dLG5LdD1bWyJwYXRoIix7ZDoiTTYgMThoOCJ9XSxbInBhdGgiLHtkOiJNMyAyMmgxOCJ9XSxbInBhdGgiLHtkOiJNMTQgMjJhNyA3IDAgMSAwIDAtMTRoLTEifV0sWyJwYXRoIix7ZDoiTTkgMTRoMiJ9XSxbInBhdGgiLHtkOiJNOSAxMmEyIDIgMCAwIDEtMi0yVjZoNnY0YTIgMiAwIDAgMS0yIDJaIn1dLFsicGF0aCIse2Q6Ik0xMiA2VjNhMSAxIDAgMCAwLTEtMUg5YTEgMSAwIDAgMC0xIDF2MyJ9XV0sc0t0PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTUiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjciLHg6IjYiLHk6IjgiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xOCA4djcifV0sWyJwYXRoIix7ZDoiTTYgMTl2MiJ9XSxbInBhdGgiLHtkOiJNMTggMTl2MiJ9XV0sb0t0PVtbInBhdGgiLHtkOiJNMTIgMTN2OCJ9XSxbInBhdGgiLHtkOiJNMTIgM3YzIn1dLFsicGF0aCIse2Q6Ik00IDZhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFoMTNhMiAyIDAgMCAwIDEuMTUyLS4zNjVsMy40MjQtMi4zMTdhMSAxIDAgMCAwIDAtMS42MzVsLTMuNDI0LTIuMzE4QTIgMiAwIDAgMCAxNyA2eiJ9XV0sbEt0PVtbInBhdGgiLHtkOiJNOCAyaDgifV0sWyJwYXRoIix7ZDoiTTkgMnYxLjM0M00xNSAydjIuNzg5YTQgNCAwIDAgMCAuNjcyIDIuMjE5bC42NTYuOTg0YTQgNCAwIDAgMSAuNjcyIDIuMjJ2MS4xMzFNNy44IDcuOGwtLjEyOC4xOTJBNCA0IDAgMCAwIDcgMTAuMjEyVjIwYTIgMiAwIDAgMCAyIDJoNmEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik03IDE1YTYuNDcgNi40NyAwIDAgMSA1IDAgNi40NzIgNi40NzIgMCAwIDAgMy40MzUuNDM1In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dLGNLdD1bWyJwYXRoIix7ZDoibTE0IDEwIDctNyJ9XSxbInBhdGgiLHtkOiJNMjAgMTBoLTZWNCJ9XSxbInBhdGgiLHtkOiJtMyAyMSA3LTcifV0sWyJwYXRoIix7ZDoiTTQgMTRoNnY2In1dXSxkS3Q9W1sicGF0aCIse2Q6Ik04IDJoOCJ9XSxbInBhdGgiLHtkOiJNOSAydjIuNzg5YTQgNCAwIDAgMS0uNjcyIDIuMjE5bC0uNjU2Ljk4NEE0IDQgMCAwIDAgNyAxMC4yMTJWMjBhMiAyIDAgMCAwIDIgMmg2YTIgMiAwIDAgMCAyLTJ2LTkuNzg5YTQgNCAwIDAgMC0uNjcyLTIuMjE5bC0uNjU2LS45ODRBNCA0IDAgMCAxIDE1IDQuNzg4VjIifV0sWyJwYXRoIix7ZDoiTTcgMTVhNi40NzIgNi40NzIgMCAwIDEgNSAwIDYuNDcgNi40NyAwIDAgMCA1IDAifV1dLHVLdD1bWyJwYXRoIix7ZDoiTTggM3YzYTIgMiAwIDAgMS0yIDJIMyJ9XSxbInBhdGgiLHtkOiJNMjEgOGgtM2EyIDIgMCAwIDEtMi0yVjMifV0sWyJwYXRoIix7ZDoiTTMgMTZoM2EyIDIgMCAwIDEgMiAydjMifV0sWyJwYXRoIix7ZDoiTTE2IDIxdi0zYTIgMiAwIDAgMSAyLTJoMyJ9XV0scEt0PVtbInBhdGgiLHtkOiJNNSAxMmgxNCJ9XV0sZkt0PVtbInBhdGgiLHtkOiJtOSAxMCAyIDIgNC00In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XV0saEt0PVtbInBhdGgiLHtkOiJNMTEgMTNhMyAzIDAgMSAxIDIuODMtNEgxNGEyIDIgMCAwIDEgMCA0eiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicmVjdCIse3g6IjIiLHk6IjMiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV1dLG1LdD1bWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoibTE0LjMwNSA3LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggNC44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMy4yMjgtLjM4My0uOTI0In1dLFsicGF0aCIse2Q6Im0xNi44NTIgOC43NzItLjM4My45MjMifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAzLjIyOC4zODMtLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTkuNTMgOS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Im0yMC43NzIgNC44NTIuOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjc3MiA3LjE0OC45MjQuMzgzIn1dLFsicGF0aCIse2Q6Ik0yMiAxM3YyYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg3In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI2IixyOiIzIn1dXSxnS3Q9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik0yMiAxMi4zMDdWMTVhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDguNjkzIn1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI2IixyOiIzIn1dXSxiS3Q9W1sicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Im0xNSAxMC0zIDMtMy0zIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XV0sdkt0PVtbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNMTcgMTdINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDEuMTg0LTEuODI2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInBhdGgiLHtkOiJNOC42NTYgM0gyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0uMjkzIDEuMDQyIn1dXSx4S3Q9W1sicGF0aCIse2Q6Ik0xMCAxM1Y3In1dLFsicGF0aCIse2Q6Ik0xNCAxM1Y3In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XV0seUt0PVtbInBhdGgiLHtkOiJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXSx3S3Q9W1sicGF0aCIse2Q6Ik0xOCA4VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2N2EyIDIgMCAwIDAgMiAyaDgifV0sWyJwYXRoIix7ZDoiTTEwIDE5di0zLjk2IDMuMTUifV0sWyJwYXRoIix7ZDoiTTcgMTloNSJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTYiLHk6IjEyIixyeDoiMiJ9XV0sTUt0PVtbInBhdGgiLHtkOiJNNS41IDIwSDgifV0sWyJwYXRoIix7ZDoiTTE3IDloLjAxIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxNiIseDoiMTIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDZINGEyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMmg0In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTUiLHI6IjEifV1dLGtLdD1bWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjkiLHk6IjciLHdpZHRoOiI2IixoZWlnaHQ6IjYiLHJ4OiIxIn1dXSxTS3Q9W1sicGF0aCIse2Q6Im05IDEwIDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTEyIDEzVjcifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXSx6S3Q9W1sicGF0aCIse2Q6Im0xNC41IDEyLjUtNS01In1dLFsicGF0aCIse2Q6Im05LjUgMTIuNSA1LTUifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXSxDS3Q9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjIxIix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxNyIseTI6IjIxIn1dXSxUS3Q9W1sicGF0aCIse2Q6Ik0xOCA1aDQifV0sWyJwYXRoIix7ZDoiTTIwIDN2NCJ9XSxbInBhdGgiLHtkOiJNMjAuOTg1IDEyLjQ4NmE5IDkgMCAxIDEtOS40NzMtOS40NzJjLjQwNS0uMDIyLjYxNy40Ni40MDIuODAzYTYgNiAwIDAgMCA4LjI2OCA4LjI2OGMuMzQ0LS4yMTUuODI1LS4wMDQuODAzLjQwMSJ9XV0sX0t0PVtbInBhdGgiLHtkOiJNMjAuOTg1IDEyLjQ4NmE5IDkgMCAxIDEtOS40NzMtOS40NzJjLjQwNS0uMDIyLjYxNy40Ni40MDIuODAzYTYgNiAwIDAgMCA4LjI2OCA4LjI2OGMuMzQ0LS4yMTUuODI1LS4wMDQuODAzLjQwMSJ9XV0sTEt0PVtbInBhdGgiLHtkOiJtMTggMTQtMS0zIn1dLFsicGF0aCIse2Q6Im0zIDkgNiAyYTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMS45OSAxLjgxIn1dLFsicGF0aCIse2Q6Ik04IDE3aDNhMSAxIDAgMCAwIDEtMSA2IDYgMCAwIDEgNi02IDEgMSAwIDAgMCAxLTF2LS43NUE1IDUgMCAwIDAgMTcgNSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE3IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxNyIscjoiMyJ9XV0sJEt0PVtbInBhdGgiLHtkOiJtOCAzIDQgOCA1LTUgNSAxNUgyTDggM3oifV0sWyJwYXRoIix7ZDoiTTQuMTQgMTUuMDhjMi42Mi0xLjU3IDUuMjQtMS40MyA3Ljg2LjQyIDIuNzQgMS45NCA1LjQ5IDIgOC4yMy4xOSJ9XV0sREt0PVtbInBhdGgiLHtkOiJtOCAzIDQgOCA1LTUgNSAxNUgyTDggM3oifV1dLEFLdD1bWyJwYXRoIix7ZDoiTTEyIDZ2LjM0MyJ9XSxbInBhdGgiLHtkOiJNMTguMjE4IDE4LjIxOEE3IDcgMCAwIDEgNSAxNVY5YTcgNyAwIDAgMSAuNzgyLTMuMjE4In1dLFsicGF0aCIse2Q6Ik0xOSAxMy4zNDNWOUE3IDcgMCAwIDAgOC41NiAyLjkwMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjIgMiAyIn1dXSxFS3Q9W1sicGF0aCIse2Q6Im0xNS41NSA4LjQ1IDUuMTM4IDIuMDg3YS41LjUgMCAwIDEtLjA2My45NDdsLTYuMTI0IDEuNThhMiAyIDAgMCAwLTEuNDM4IDEuNDM1bC0xLjU3OSA2LjEyNmEuNS41IDAgMCAxLS45NDcuMDYzTDguNDUgMTUuNTUxIn1dLFsicGF0aCIse2Q6Ik0yMiAyIDIgMjIifV0sWyJwYXRoIix7ZDoibTYuODE2IDExLjUyOC0yLjc3OS02Ljg0YS40OTUuNDk1IDAgMCAxIC42NTEtLjY1MWw2Ljg0IDIuNzc5In1dXSxJS3Q9W1sicGF0aCIse2Q6Ik00LjAzNyA0LjY4OGEuNDk1LjQ5NSAwIDAgMSAuNjUxLS42NTFsMTYgNi41YS41LjUgMCAwIDEtLjA2My45NDdsLTYuMTI0IDEuNThhMiAyIDAgMCAwLTEuNDM4IDEuNDM1bC0xLjU3OSA2LjEyNmEuNS41IDAgMCAxLS45NDcuMDYzeiJ9XV0sUEt0PVtbInBhdGgiLHtkOiJNMi4wMzQgMi42ODFhLjQ5OC40OTggMCAwIDEgLjY0Ny0uNjQ3bDkgMy41YS41LjUgMCAwIDEtLjAzMy45NDRMOC4yMDQgNy41NDVhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjYgMy40NDNhLjUuNSAwIDAgMS0uOTQ0LjAzM3oifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XSxbInBhdGgiLHtkOiJtMTEuOCAxMS44IDguNCA4LjQifV1dLE5LdD1bWyJwYXRoIix7ZDoiTTE0IDQuMSAxMiA2In1dLFsicGF0aCIse2Q6Im01LjEgOC0yLjktLjgifV0sWyJwYXRoIix7ZDoibTYgMTItMS45IDIifV0sWyJwYXRoIix7ZDoiTTcuMiAyLjIgOCA1LjEifV0sWyJwYXRoIix7ZDoiTTkuMDM3IDkuNjlhLjQ5OC40OTggMCAwIDEgLjY1My0uNjUzbDExIDQuNWEuNS41IDAgMCAxLS4wNzQuOTQ5bC00LjM0OSAxLjA0MWExIDEgMCAwIDAtLjc0LjczOWwtMS4wNCA0LjM1YS41LjUgMCAwIDEtLjk1LjA3NHoifV1dLEZLdD1bWyJwYXRoIix7ZDoiTTEyLjU4NiAxMi41ODYgMTkgMTkifV0sWyJwYXRoIix7ZDoiTTMuNjg4IDMuMDM3YS40OTcuNDk3IDAgMCAwLS42NTEuNjUxbDYuNSAxNS45OTlhLjUwMS41MDEgMCAwIDAgLjk0Ny0uMDYybDEuNTY5LTYuMDgzYTIgMiAwIDAgMSAxLjQ0OC0xLjQ3OWw2LjEyNC0xLjU3OWEuNS41IDAgMCAwIC4wNjMtLjk0N3oifV1dLE9LdD1bWyJyZWN0Iix7eDoiNSIseToiMiIsd2lkdGg6IjE0IixoZWlnaHQ6IjIwIixyeDoiNyJ9XSxbInBhdGgiLHtkOiJNMTIgNnY0In1dXSxkUD1bWyJwYXRoIix7ZDoiTTUgM3YxNmgxNiJ9XSxbInBhdGgiLHtkOiJtNSAxOSA2LTYifV0sWyJwYXRoIix7ZDoibTIgNiAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Im0xOCAxNiAzIDMtMyAzIn1dXSxSS3Q9W1sicGF0aCIse2Q6Ik0xOSAxM3Y2aC02In1dLFsicGF0aCIse2Q6Ik01IDExVjVoNiJ9XSxbInBhdGgiLHtkOiJtNSA1IDE0IDE0In1dXSxCS3Q9W1sicGF0aCIse2Q6Ik0xMSAxOUg1di02In1dLFsicGF0aCIse2Q6Ik0xMyA1aDZ2NiJ9XSxbInBhdGgiLHtkOiJNMTkgNSA1IDE5In1dXSxIS3Q9W1sicGF0aCIse2Q6Ik0xMSAxOUg1VjEzIn1dLFsicGF0aCIse2Q6Ik0xOSA1TDUgMTkifV1dLHFLdD1bWyJwYXRoIix7ZDoiTTE5IDEzVjE5SDEzIn1dLFsicGF0aCIse2Q6Ik01IDVMMTkgMTkifV1dLGpLdD1bWyJwYXRoIix7ZDoiTTggMThMMTIgMjJMMTYgMTgifV0sWyJwYXRoIix7ZDoiTTEyIDJWMjIifV1dLFZLdD1bWyJwYXRoIix7ZDoibTE4IDggNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJtNiA4LTQgNCA0IDQifV1dLFVLdD1bWyJwYXRoIix7ZDoiTTYgOEwyIDEyTDYgMTYifV0sWyJwYXRoIix7ZDoiTTIgMTJIMjIifV1dLFdLdD1bWyJwYXRoIix7ZDoiTTE4IDhMMjIgMTJMMTggMTYifV0sWyJwYXRoIix7ZDoiTTIgMTJIMjIifV1dLEdLdD1bWyJwYXRoIix7ZDoiTTUgMTFWNUgxMSJ9XSxbInBhdGgiLHtkOiJNNSA1TDE5IDE5In1dXSxZS3Q9W1sicGF0aCIse2Q6Ik0xMyA1SDE5VjExIn1dLFsicGF0aCIse2Q6Ik0xOSA1TDUgMTkifV1dLFpLdD1bWyJwYXRoIix7ZDoiTTggNkwxMiAyTDE2IDYifV0sWyJwYXRoIix7ZDoiTTEyIDJWMjIifV1dLFhLdD1bWyJwYXRoIix7ZDoiTTEyIDJ2MjAifV0sWyJwYXRoIix7ZDoibTggMTggNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJtOCA2IDQtNCA0IDQifV1dLFFLdD1bWyJwYXRoIix7ZDoiTTEyIDJ2MjAifV0sWyJwYXRoIix7ZDoibTE1IDE5LTMgMy0zLTMifV0sWyJwYXRoIix7ZDoibTE5IDkgMyAzLTMgMyJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJtNSA5LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoibTkgNSAzLTMgMyAzIn1dXSxKS3Q9W1siY2lyY2xlIix7Y3g6IjgiLGN5OiIxOCIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMThWMmw3IDQifV1dLEtLdD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxOCIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTYgMThWMiJ9XV0sZWVyPVtbInBhdGgiLHtkOiJNOSAxOFY1bDEyLTJ2MTMifV0sWyJwYXRoIix7ZDoibTkgOSAxMi0yIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE2IixyOiIzIn1dXSx0ZXI9W1sicGF0aCIse2Q6Ik05IDE4VjVsMTItMnYxMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxNiIscjoiMyJ9XV0scmVyPVtbInBhdGgiLHtkOiJNOS4zMSA5LjMxIDUgMjFsNy00IDcgNC0xLjE3LTMuMTcifV0sWyJwYXRoIix7ZDoiTTE0LjUzIDguODggMTIgMmwtMS4xNyAzLjE3In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dLGFlcj1bWyJwb2x5Z29uIix7cG9pbnRzOiIxMiAyIDE5IDIxIDEyIDE3IDUgMjEgMTIgMiJ9XV0saWVyPVtbInBvbHlnb24iLHtwb2ludHM6IjMgMTEgMjIgMiAxMyAyMSAxMSAxMyAzIDExIn1dXSxuZXI9W1sicGF0aCIse2Q6Ik04LjQzIDguNDMgMyAxMWw4IDIgMiA4IDIuNTctNS40MyJ9XSxbInBhdGgiLHtkOiJNMTcuMzkgMTEuNzMgMjIgMmwtOS43MyA0LjYxIn1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dLHNlcj1bWyJyZWN0Iix7eDoiMTYiLHk6IjE2Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XSxbInJlY3QiLHt4OiIyIix5OiIxNiIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV0sWyJyZWN0Iix7eDoiOSIseToiMiIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV0sWyJwYXRoIix7ZDoiTTUgMTZ2LTNhMSAxIDAgMCAxIDEtMWgxMmExIDEgMCAwIDEgMSAxdjMifV0sWyJwYXRoIix7ZDoiTTEyIDEyVjgifV1dLG9lcj1bWyJwYXRoIix7ZDoiTTE1IDE4aC01In1dLFsicGF0aCIse2Q6Ik0xOCAxNGgtOCJ9XSxbInBhdGgiLHtkOiJNNCAyMmgxNmEyIDIgMCAwIDAgMi0yVjRhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAxLTQgMHYtOWEyIDIgMCAwIDEgMi0yaDIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiMTAiLHk6IjYiLHJ4OiIxIn1dXSxsZXI9W1sicGF0aCIse2Q6Ik02IDguMzJhNy40MyA3LjQzIDAgMCAxIDAgNy4zNiJ9XSxbInBhdGgiLHtkOiJNOS40NiA2LjIxYTExLjc2IDExLjc2IDAgMCAxIDAgMTEuNTgifV0sWyJwYXRoIix7ZDoiTTEyLjkxIDQuMWExNS45MSAxNS45MSAwIDAgMSAuMDEgMTUuOCJ9XSxbInBhdGgiLHtkOiJNMTYuMzcgMmEyMC4xNiAyMC4xNiAwIDAgMSAwIDIwIn1dXSxjZXI9W1sicGF0aCIse2Q6Ik0xMiAydjEwIn1dLFsicGF0aCIse2Q6Im04LjUgNCA3IDQifV0sWyJwYXRoIix7ZDoibTguNSA4IDctNCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE3IixyOiI1In1dXSxkZXI9W1sicGF0aCIse2Q6Ik0xMy40IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNy40In1dLFsicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDUuNjI2YTEgMSAwIDEgMC0zLjAwNC0zLjAwNGwtNS4wMSA1LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV1dLHVlcj1bWyJwYXRoIix7ZDoiTTIgNmg0In1dLFsicGF0aCIse2Q6Ik0yIDEwaDQifV0sWyJwYXRoIix7ZDoiTTIgMTRoNCJ9XSxbInBhdGgiLHtkOiJNMiAxOGg0In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDJ2MjAifV0sWyJwYXRoIix7ZDoiTTE1IDdoNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTJoNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTdoNSJ9XV0scGVyPVtbInBhdGgiLHtkOiJNMiA2aDQifV0sWyJwYXRoIix7ZDoiTTIgMTBoNCJ9XSxbInBhdGgiLHtkOiJNMiAxNGg0In1dLFsicGF0aCIse2Q6Ik0yIDE4aDQifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOS41IDhoNSJ9XSxbInBhdGgiLHtkOiJNOS41IDEySDE2In1dLFsicGF0aCIse2Q6Ik05LjUgMTZIMTQifV1dLGZlcj1bWyJwYXRoIix7ZDoiTTIgNmg0In1dLFsicGF0aCIse2Q6Ik0yIDEwaDQifV0sWyJwYXRoIix7ZDoiTTIgMTRoNCJ9XSxbInBhdGgiLHtkOiJNMiAxOGg0In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDJ2MjAifV1dLGhlcj1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xMiAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjAgMTJ2MiJ9XSxbInBhdGgiLHtkOiJNMjAgMTh2MmEyIDIgMCAwIDEtMiAyaC0xIn1dLFsicGF0aCIse2Q6Ik0xMyAyMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMkg2YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTQgMTR2LTIifV0sWyJwYXRoIix7ZDoiTTQgOFY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNOCAxMGg2In1dLFsicGF0aCIse2Q6Ik04IDE0aDgifV0sWyJwYXRoIix7ZDoiTTggMThoNSJ9XV0sbWVyPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxOCIseDoiNCIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggMTBoNiJ9XSxbInBhdGgiLHtkOiJNOCAxNGg4In1dLFsicGF0aCIse2Q6Ik04IDE4aDUifV1dLGdlcj1bWyJwYXRoIix7ZDoiTTEyIDRWMiJ9XSxbInBhdGgiLHtkOiJNNSAxMHY0YTcuMDA0IDcuMDA0IDAgMCAwIDUuMjc3IDYuNzg3Yy40MTIuMTA0LjgwMi4yOTIgMS4xMDIuNTkyTDEyIDIybC42MjEtLjYyMWMuMy0uMy42OS0uNDg4IDEuMTAyLS41OTJBNy4wMDMgNy4wMDMgMCAwIDAgMTkgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDRDOCA0IDQuNSA2IDQgOGMtLjI0My45Ny0uOTE5IDEuOTUyLTIgMyAxLjMxLS4wODIgMS45NzItLjI5IDMtMSAuNTQuOTIuOTgyIDEuMzU2IDIgMiAxLjQ1Mi0uNjQ3IDEuOTU0LTEuMDk4IDIuNS0yIC41OTUuOTk1IDEuMTUxIDEuNDI3IDIuNSAyIDEuMzEtLjYyMSAxLjg2Mi0xLjA1OCAyLjUtMiAuNjI5Ljk3NyAxLjE2MiAxLjQyMyAyLjUgMiAxLjIwOS0uNTQ4IDEuNjgtLjk2NyAyLTIgMS4wMzIuOTE2IDEuNjgzIDEuMTU3IDMgMS0xLjI5Ny0xLjAzNi0xLjc1OC0yLjAzLTItMy0uNS0yLTQtNC04LTRaIn1dXSxiZXI9W1sicGF0aCIse2Q6Ik0xMiA0VjIifV0sWyJwYXRoIix7ZDoiTTUgMTB2NGE3LjAwNCA3LjAwNCAwIDAgMCA1LjI3NyA2Ljc4N2MuNDEyLjEwNC44MDIuMjkyIDEuMTAyLjU5MkwxMiAyMmwuNjIxLS42MjFjLjMtLjMuNjktLjQ4OCAxLjEwMi0uNTkyYTcuMDEgNy4wMSAwIDAgMCA0LjEyNS0yLjkzOSJ9XSxbInBhdGgiLHtkOiJNMTkgMTB2My4zNDMifV0sWyJwYXRoIix7ZDoiTTEyIDEyYy0xLjM0OS0uNTczLTEuOTA1LTEuMDA1LTIuNS0yLS41NDYuOTAyLTEuMDQ4IDEuMzUzLTIuNSAyLTEuMDE4LS42NDQtMS40Ni0xLjA4LTItMi0xLjAyOC43MS0xLjY5LjkxOC0zIDEgMS4wODEtMS4wNDggMS43NTctMi4wMyAyLTMgLjE5NC0uNzc2Ljg0LTEuNTUxIDEuNzktMi4yMW0xMS42NTQgNS45OTdjLjg4Ny0uNDU3IDEuMjgtLjg5MSAxLjU1Ni0xLjc4NyAxLjAzMi45MTYgMS42ODMgMS4xNTcgMyAxLTEuMjk3LTEuMDM2LTEuNzU4LTIuMDMtMi0zLS41LTItNC00LTgtNC0uNzQgMC0xLjQ2MS4wNjgtMi4xNS4xOTIifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV0sdVA9W1sicGF0aCIse2Q6Ik0xMiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTUuMzEyIDJhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZsLTQuNjg4LTQuNjg4QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMnoifV1dLHZlcj1bWyJwYXRoIix7ZDoiTTIuNTg2IDE2LjcyNkEyIDIgMCAwIDEgMiAxNS4zMTJWOC42ODhhMiAyIDAgMCAxIC41ODYtMS40MTRsNC42ODgtNC42ODhBMiAyIDAgMCAxIDguNjg4IDJoNi42MjRhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZ6In1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dLHBQPVtbInBhdGgiLHtkOiJNMTAgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMTQgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV1dLGZQPVtbInBhdGgiLHtkOiJtMTUgOS02IDYifV0sWyJwYXRoIix7ZDoiTTIuNTg2IDE2LjcyNkEyIDIgMCAwIDEgMiAxNS4zMTJWOC42ODhhMiAyIDAgMCAxIC41ODYtMS40MTRsNC42ODgtNC42ODhBMiAyIDAgMCAxIDguNjg4IDJoNi42MjRhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZ6In1dLFsicGF0aCIse2Q6Im05IDkgNiA2In1dXSx4ZXI9W1sicGF0aCIse2Q6Ik0yLjU4NiAxNi43MjZBMiAyIDAgMCAxIDIgMTUuMzEyVjguNjg4YTIgMiAwIDAgMSAuNTg2LTEuNDE0bDQuNjg4LTQuNjg4QTIgMiAwIDAgMSA4LjY4OCAyaDYuNjI0YTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XV0seWVyPVtbInBhdGgiLHtkOiJNMyAyMGg0LjVhLjUuNSAwIDAgMCAuNS0uNXYtLjI4MmEuNTIuNTIgMCAwIDAtLjI0Ny0uNDM3IDggOCAwIDEgMSA4LjQ5NC0uMDAxLjUyLjUyIDAgMCAwLS4yNDcuNDM4di4yODJhLjUuNSAwIDAgMCAuNS41SDIxIn1dXSx3ZXI9W1sicGF0aCIse2Q6Ik0yMC4zNDEgNi40ODRBMTAgMTAgMCAwIDEgMTAuMjY2IDIxLjg1In1dLFsicGF0aCIse2Q6Ik0zLjY1OSAxNy41MTZBMTAgMTAgMCAwIDEgMTMuNzQgMi4xNTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjUiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIyIn1dXSxNZXI9W1sicGF0aCIse2Q6Ik0zIDNoNmw2IDE4aDYifV0sWyJwYXRoIix7ZDoiTTE0IDNoNyJ9XV0sa2VyPVtbInBhdGgiLHtkOiJNMTIgMTJWNGExIDEgMCAwIDEgMS0xaDYuMjk3YTEgMSAwIDAgMSAuNjUxIDEuNzU5bC00LjY5NiA0LjAyNSJ9XSxbInBhdGgiLHtkOiJtMTIgMjEtNy40MTQtNy40MTRBMiAyIDAgMCAxIDQgMTIuMTcyVjYuNDE1YTEuMDAyIDEuMDAyIDAgMCAxIDEuNzA3LS43MDdMMjAgMjAuMDA5In1dLFsicGF0aCIse2Q6Im0xMi4yMTQgMy4zODEgOC40MTQgMTQuOTY2YTEgMSAwIDAgMS0uMTY3IDEuMTk5bC0xLjE2OCAxLjE2M2ExIDEgMCAwIDEtLjcwNi4yOTFINi4zNTFhMSAxIDAgMCAxLS42MjUtLjIxOUwzLjI1IDE4LjhhMSAxIDAgMCAxIC42MzEtMS43ODFsNC4xNjUuMDI3In1dXSxTZXI9W1sicGF0aCIse2Q6Ik0xMiAzdjYifV0sWyJwYXRoIix7ZDoiTTE2Ljc2IDNhMiAyIDAgMCAxIDEuOCAxLjFsMi4yMyA0LjQ3OWEyIDIgMCAwIDEgLjIxLjg5MVYxOWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY5LjQ3MmEyIDIgMCAwIDEgLjIxMS0uODk0TDUuNDUgNC4xQTIgMiAwIDAgMSA3LjI0IDN6In1dLFsicGF0aCIse2Q6Ik0zLjA1NCA5LjAxM2gxNy44OTMifV1dLHplcj1bWyJwYXRoIix7ZDoibTE2IDE2IDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTIxIDEwVjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGwyLTEuMTQifV0sWyJwYXRoIix7ZDoibTcuNSA0LjI3IDkgNS4xNSJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIzLjI5IDcgMTIgMTIgMjAuNzEgNyJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIyIix5MjoiMTIifV1dLENlcj1bWyJwYXRoIix7ZDoiTTE2IDE2aDYifV0sWyJwYXRoIix7ZDoiTTIxIDEwVjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGwyLTEuMTQifV0sWyJwYXRoIix7ZDoibTcuNSA0LjI3IDkgNS4xNSJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIzLjI5IDcgMTIgMTIgMjAuNzEgNyJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIyIix5MjoiMTIifV1dLFRlcj1bWyJwYXRoIix7ZDoiTTEyIDIydi05In1dLFsicGF0aCIse2Q6Ik0xNS4xNyAyLjIxYTEuNjcgMS42NyAwIDAgMSAxLjYzIDBMMjEgNC41N2ExLjkzIDEuOTMgMCAwIDEgMCAzLjM2TDguODIgMTQuNzlhMS42NTUgMS42NTUgMCAwIDEtMS42NCAwTDMgMTIuNDNhMS45MyAxLjkzIDAgMCAxIDAtMy4zNnoifV0sWyJwYXRoIix7ZDoiTTIwIDEzdjMuODdhMi4wNiAyLjA2IDAgMCAxLTEuMTEgMS44M2wtNiAzLjA4YTEuOTMgMS45MyAwIDAgMS0xLjc4IDBsLTYtMy4wOEEyLjA2IDIuMDYgMCAwIDEgNCAxNi44N1YxMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTIuNDNhMS45MyAxLjkzIDAgMCAwIDAtMy4zNkw4LjgzIDIuMmExLjY0IDEuNjQgMCAwIDAtMS42MyAwTDMgNC41N2ExLjkzIDEuOTMgMCAwIDAgMCAzLjM2bDEyLjE4IDYuODZhMS42MzYgMS42MzYgMCAwIDAgMS42MyAweiJ9XV0sX2VyPVtbInBhdGgiLHtkOiJNMTYgMTZoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMTN2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMTBWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDItMS4xNCJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOSA1LjE1In1dLFsicG9seWxpbmUiLHtwb2ludHM6IjMuMjkgNyAxMiAxMiAyMC43MSA3In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMjIiLHkyOiIxMiJ9XV0sTGVyPVtbInBhdGgiLHtkOiJNMjEgMTBWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDItMS4xNCJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOSA1LjE1In1dLFsicG9seWxpbmUiLHtwb2ludHM6IjMuMjkgNyAxMiAxMiAyMC43MSA3In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMjIiLHkyOiIxMiJ9XSxbImNpcmNsZSIse2N4OiIxOC41IixjeToiMTUuNSIscjoiMi41In1dLFsicGF0aCIse2Q6Ik0yMC4yNyAxNy4yNyAyMiAxOSJ9XV0sJGVyPVtbInBhdGgiLHtkOiJNMjEgMTBWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDItMS4xNCJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOSA1LjE1In1dLFsicG9seWxpbmUiLHtwb2ludHM6IjMuMjkgNyAxMiAxMiAyMC43MSA3In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMjIiLHkyOiIxMiJ9XSxbInBhdGgiLHtkOiJtMTcgMTMgNSA1bS01IDAgNS01In1dXSxEZXI9W1sicGF0aCIse2Q6Ik0xMSAyMS43M2EyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczeiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJWMTIifV0sWyJwb2x5bGluZSIse3BvaW50czoiMy4yOSA3IDEyIDEyIDIwLjcxIDcifV0sWyJwYXRoIix7ZDoibTcuNSA0LjI3IDkgNS4xNSJ9XV0sQWVyPVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiNiIseDoiMiIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEwIDE2di0yYTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtMiJ9XSxbInJlY3QiLHt3aWR0aDoiNCIsaGVpZ2h0OiI2Iix4OiI4Iix5OiIxNiIscng6IjEifV1dLEVlcj1bWyJwYXRoIix7ZDoiTTExIDcgNiAyIn1dLFsicGF0aCIse2Q6Ik0xOC45OTIgMTJIMi4wNDEifV0sWyJwYXRoIix7ZDoiTTIxLjE0NSAxOC4zOEEzLjM0IDMuMzQgMCAwIDEgMjAgMTYuNWEzLjMgMy4zIDAgMCAxLTEuMTQ1IDEuODhjLS41NzUuNDYtLjg1NSAxLjAyLS44NTUgMS41OTVBMiAyIDAgMCAwIDIwIDIyYTIgMiAwIDAgMCAyLTIuMDI1YzAtLjU4LS4yODUtMS4xMy0uODU1LTEuNTk1In1dLFsicGF0aCIse2Q6Im04LjUgNC41IDIuMTQ4LTIuMTQ4YTEuMjA1IDEuMjA1IDAgMCAxIDEuNzA0IDBsNy4yOTYgNy4yOTZhMS4yMDUgMS4yMDUgMCAwIDEgMCAxLjcwNGwtNy41OTIgNy41OTJhMy42MTUgMy42MTUgMCAwIDEtNS4xMTIgMGwtMy44ODgtMy44ODhhMy42MTUgMy42MTUgMCAwIDEgMC01LjExMkw1LjY3IDcuMzMifV1dLGhQPVtbInBhdGgiLHtkOiJNMTAgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjQifV0sWyJwYXRoIix7ZDoiTTE3IDJhMSAxIDAgMCAxIDEgMXY5SDZWM2ExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNiAxMmExIDEgMCAwIDAtMSAxdjFhMiAyIDAgMCAwIDIgMmgyYTEgMSAwIDAgMSAxIDF2Mi45YTIgMiAwIDEgMCA0IDBWMTdhMSAxIDAgMCAxIDEtMWgyYTIgMiAwIDAgMCAyLTJ2LTFhMSAxIDAgMCAwLTEtMSJ9XV0sSWVyPVtbInBhdGgiLHtkOiJtMTQuNjIyIDE3Ljg5Ny0xMC42OC0yLjkxMyJ9XSxbInBhdGgiLHtkOiJNMTguMzc2IDIuNjIyYTEgMSAwIDEgMSAzLjAwMiAzLjAwMkwxNy4zNiA5LjY0M2EuNS41IDAgMCAwIDAgLjcwN2wuOTQ0Ljk0NGEyLjQxIDIuNDEgMCAwIDEgMCAzLjQwOGwtLjk0NC45NDRhLjUuNSAwIDAgMS0uNzA3IDBMOC4zNTQgNy4zNDhhLjUuNSAwIDAgMSAwLS43MDdsLjk0NC0uOTQ0YTIuNDEgMi40MSAwIDAgMSAzLjQwOCAwbC45NDQuOTQ0YS41LjUgMCAwIDAgLjcwNyAweiJ9XSxbInBhdGgiLHtkOiJNOSA4Yy0xLjgwNCAyLjcxLTMuOTcgMy40Ni02LjU4MyAzLjk0OGEuNTA3LjUwNyAwIDAgMC0uMzAyLjgxOWw3LjMyIDguODgzYTEgMSAwIDAgMCAxLjE4NS4yMDRDMTIuNzM1IDIwLjQwNSAxNiAxNi43OTIgMTYgMTUifV1dLFBlcj1bWyJwYXRoIix7ZDoiTTEyIDIyYTEgMSAwIDAgMSAwLTIwIDEwIDkgMCAwIDEgMTAgOSA1IDUgMCAwIDEtNSA1aC0yLjI1YTEuNzUgMS43NSAwIDAgMC0xLjQgMi44bC4zLjRhMS43NSAxLjc1IDAgMCAxLTEuNCAyLjh6In1dLFsiY2lyY2xlIix7Y3g6IjEzLjUiLGN5OiI2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjEwLjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiNi41IixjeToiMTIuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiI4LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV1dLE5lcj1bWyJwYXRoIix7ZDoiTTExLjI1IDE3LjI1aDEuNUwxMiAxOHoifV0sWyJwYXRoIix7ZDoibTE1IDEyIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTggNi41YS41LjUgMCAwIDAtLjUtLjUifV0sWyJwYXRoIix7ZDoiTTIwLjY5IDkuNjdhNC41IDQuNSAwIDEgMC03LjA0LTUuNSA4LjM1IDguMzUgMCAwIDAtMy4zIDAgNC41IDQuNSAwIDEgMC03LjA0IDUuNUMyLjQ5IDExLjIgMiAxMi44OCAyIDE0LjUgMiAxOS40NyA2LjQ4IDIyIDEyIDIyczEwLTIuNTMgMTAtNy41YzAtMS42Mi0uNDgtMy4zLTEuMy00LjgzIn1dLFsicGF0aCIse2Q6Ik02IDYuNWEuNDk1LjQ5NSAwIDAgMSAuNS0uNSJ9XSxbInBhdGgiLHtkOiJtOSAxMi0yIDIifV1dLEZlcj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJtMTUgOC0zIDMtMy0zIn1dXSxtUD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTQgMTVoMSJ9XSxbInBhdGgiLHtkOiJNMTkgMTVoMiJ9XSxbInBhdGgiLHtkOiJNMyAxNWgyIn1dLFsicGF0aCIse2Q6Ik05IDE1aDEifV1dLE9lcj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAzLTMgMyAzIn1dXSxSZXI9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV1dLGdQPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV0sWyJwYXRoIix7ZDoibTE2IDE1LTMtMyAzLTMifV1dLGJQPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDE0djEifV0sWyJwYXRoIix7ZDoiTTkgMTl2MiJ9XSxbInBhdGgiLHtkOiJNOSAzdjIifV0sWyJwYXRoIix7ZDoiTTkgOXYxIn1dXSx2UD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Im0xNCA5IDMgMy0zIDMifV1dLEJlcj1bWyJwYXRoIix7ZDoiTTE1IDEwVjkifV0sWyJwYXRoIix7ZDoiTTE1IDE1di0xIn1dLFsicGF0aCIse2Q6Ik0xNSAyMXYtMiJ9XSxbInBhdGgiLHtkOiJNMTUgNVYzIn1dLFsicGF0aCIse2Q6Ik05IDEwVjkifV0sWyJwYXRoIix7ZDoiTTkgMTV2LTEifV0sWyJwYXRoIix7ZDoiTTkgMjF2LTIifV0sWyJwYXRoIix7ZDoiTTkgNVYzIn1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dLHhQPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV1dLEhlcj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XSxbInBhdGgiLHtkOiJtOCA5IDMgMy0zIDMifV1dLHlQPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNHYxIn1dLFsicGF0aCIse2Q6Ik0xNSAxOXYyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjIifV0sWyJwYXRoIix7ZDoiTTE1IDl2MSJ9XV0scWVyPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dLFsicGF0aCIse2Q6Im0xMCAxNS0zLTMgMy0zIn1dXSxqZXI9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgifV1dLFZlcj1bWyJwYXRoIix7ZDoiTTE0IDE1aDEifV0sWyJwYXRoIix7ZDoiTTE0IDloMSJ9XSxbInBhdGgiLHtkOiJNMTkgMTVoMiJ9XSxbInBhdGgiLHtkOiJNMTkgOWgyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDIifV0sWyJwYXRoIix7ZDoiTTMgOWgyIn1dLFsicGF0aCIse2Q6Ik05IDE1aDEifV0sWyJwYXRoIix7ZDoiTTkgOWgxIn1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dLFVlcj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicGF0aCIse2Q6Im05IDE2IDMtMyAzIDMifV1dLHdQPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNCA5aDEifV0sWyJwYXRoIix7ZDoiTTE5IDloMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDIifV0sWyJwYXRoIix7ZDoiTTkgOWgxIn1dXSxXZXI9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInBhdGgiLHtkOiJtMTUgMTQtMyAzLTMtMyJ9XV0sR2VyPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV1dLFllcj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Ik05IDE1aDEyIn1dXSxaZXI9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTIifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgifV1dLE1QPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTkgMjFWOSJ9XV0sWGVyPVtbInBhdGgiLHtkOiJtMTYgNi04LjQxNCA4LjU4NmEyIDIgMCAwIDAgMi44MjkgMi44MjlsOC40MTQtOC41ODZhNCA0IDAgMSAwLTUuNjU3LTUuNjU3bC04LjM3OSA4LjU1MWE2IDYgMCAxIDAgOC40ODUgOC40ODVsOC4zNzktOC41NTEifV1dLFFlcj1bWyJwYXRoIix7ZDoiTTggMjFzLTQtMy00LTkgNC05IDQtOSJ9XSxbInBhdGgiLHtkOiJNMTYgM3M0IDMgNCA5LTQgOS00IDkifV1dLEplcj1bWyJwYXRoIix7ZDoiTTExIDE1aDIifV0sWyJwYXRoIix7ZDoiTTEyIDEydjMifV0sWyJwYXRoIix7ZDoiTTEyIDE5djMifV0sWyJwYXRoIix7ZDoiTTE1LjI4MiAxOWExIDEgMCAwIDAgLjk0OC0uNjhsMi4zNy02Ljk4OGE3IDcgMCAxIDAtMTMuMiAwbDIuMzcgNi45ODhhMSAxIDAgMCAwIC45NDguNjh6In1dLFsicGF0aCIse2Q6Ik05IDlhMyAzIDAgMSAxIDYgMCJ9XV0sS2VyPVtbInBhdGgiLHtkOiJNNS44IDExLjMgMiAyMmwxMC43LTMuNzkifV0sWyJwYXRoIix7ZDoiTTQgM2guMDEifV0sWyJwYXRoIix7ZDoiTTIyIDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Im0yMiAyLTIuMjQuNzVhMi45IDIuOSAwIDAgMC0xLjk2IDMuMTJjLjEuODYtLjU3IDEuNjMtMS40NSAxLjYzaC0uMzhjLS44NiAwLTEuNi42LTEuNzYgMS40NEwxNCAxMCJ9XSxbInBhdGgiLHtkOiJtMjIgMTMtLjgyLS4zM2MtLjg2LS4zNC0xLjgyLjItMS45OCAxLjExYy0uMTEuNy0uNzIgMS4yMi0xLjQzIDEuMjJIMTcifV0sWyJwYXRoIix7ZDoibTExIDIgLjMzLjgyYy4zNC44Ni0uMiAxLjgyLTEuMTEgMS45OEM5LjUyIDQuOSA5IDUuNTIgOSA2LjIzVjcifV0sWyJwYXRoIix7ZDoiTTExIDEzYzEuOTMgMS45MyAyLjgzIDQuMTcgMiA1LS44My44My0zLjA3LS4wNy01LTItMS45My0xLjkzLTIuODMtNC4xNy0yLTUgLjgzLS44MyAzLjA3LjA3IDUgMloifV1dLGV0cj1bWyJyZWN0Iix7eDoiMTQiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjE4IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI1Iix5OiIzIix3aWR0aDoiNSIsaGVpZ2h0OiIxOCIscng6IjEifV1dLHR0cj1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiI0IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE2IixyOiIyIn1dLFsicGF0aCIse2Q6Ik05IDEwYTUgNSAwIDAgMSA1IDV2My41YTMuNSAzLjUgMCAwIDEtNi44NCAxLjA0NVE2LjUyIDE3LjQ4IDQuNDYgMTYuODRBMy41IDMuNSAwIDAgMSA1LjUgMTBaIn1dXSxydHI9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIyMCIseDoiNSIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNOSA2aDYifV0sWyJwYXRoIix7ZDoiTTkgMTBoNiJ9XV0sa1A9W1sicGF0aCIse2Q6Ik0xMyAyMWg4In1dLFsicGF0aCIse2Q6Ik0yMS4xNzQgNi44MTJhMSAxIDAgMCAwLTMuOTg2LTMuOTg3TDMuODQyIDE2LjE3NGEyIDIgMCAwIDAtLjUuODNsLTEuMzIxIDQuMzUyYS41LjUgMCAwIDAgLjYyMy42MjJsNC4zNTMtMS4zMmEyIDIgMCAwIDAgLjgzLS40OTd6In1dXSxhdHI9W1sicGF0aCIse2Q6Im0xMCAxMC02LjE1NyA2LjE2MmEyIDIgMCAwIDAtLjUuODMzbC0xLjMyMiA0LjM2YS41LjUgMCAwIDAgLjYyMi42MjRsNC4zNTgtMS4zMjNhMiAyIDAgMCAwIC44My0uNUwxNCAxMy45ODIifV0sWyJwYXRoIix7ZDoibTEyLjgyOSA3LjE3MiA0LjM1OS00LjM0NmExIDEgMCAxIDEgMy45ODYgMy45ODZsLTQuMzUzIDQuMzUzIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dLGl0cj1bWyJwYXRoIix7ZDoiTTE1LjcwNyAyMS4yOTNhMSAxIDAgMCAxLTEuNDE0IDBsLTEuNTg2LTEuNTg2YTEgMSAwIDAgMSAwLTEuNDE0bDUuNTg2LTUuNTg2YTEgMSAwIDAgMSAxLjQxNCAwbDEuNTg2IDEuNTg2YTEgMSAwIDAgMSAwIDEuNDE0eiJ9XSxbInBhdGgiLHtkOiJtMTggMTMtMS4zNzUtNi44NzRhMSAxIDAgMCAwLS43NDYtLjc3NkwzLjIzNSAyLjAyOGExIDEgMCAwIDAtMS4yMDcgMS4yMDdMNS4zNSAxNS44NzlhMSAxIDAgMCAwIC43NzYuNzQ2TDEzIDE4In1dLFsicGF0aCIse2Q6Im0yLjMgMi4zIDcuMjg2IDcuMjg2In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjIifV1dLFNQPVtbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XV0sbnRyPVtbInBhdGgiLHtkOiJNMTMgMjFoOCJ9XSxbInBhdGgiLHtkOiJtMTUgNSA0IDQifV0sWyJwYXRoIix7ZDoiTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3oifV1dLHN0cj1bWyJwYXRoIix7ZDoibTEwIDEwLTYuMTU3IDYuMTYyYTIgMiAwIDAgMC0uNS44MzNsLTEuMzIyIDQuMzZhLjUuNSAwIDAgMCAuNjIyLjYyNGw0LjM1OC0xLjMyM2EyIDIgMCAwIDAgLjgzLS41TDE0IDEzLjk4MiJ9XSxbInBhdGgiLHtkOiJtMTIuODI5IDcuMTcyIDQuMzU5LTQuMzQ2YTEgMSAwIDEgMSAzLjk4NiAzLjk4NmwtNC4zNTMgNC4zNTMifV0sWyJwYXRoIix7ZDoibTE1IDUgNCA0In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dLG90cj1bWyJwYXRoIix7ZDoiTTEzIDcgOC43IDIuN2EyLjQxIDIuNDEgMCAwIDAtMy40IDBMMi43IDUuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjRMNyAxMyJ9XSxbInBhdGgiLHtkOiJtOCA2IDItMiJ9XSxbInBhdGgiLHtkOiJtMTggMTYgMi0yIn1dLFsicGF0aCIse2Q6Im0xNyAxMSA0LjMgNC4zYy45NC45NC45NCAyLjQ2IDAgMy40bC0yLjYgMi42Yy0uOTQuOTQtMi40Ni45NC0zLjQgMEwxMSAxNyJ9XSxbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XSxbInBhdGgiLHtkOiJtMTUgNSA0IDQifV1dLGx0cj1bWyJwYXRoIix7ZDoiTTEwLjgzIDIuMzhhMiAyIDAgMCAxIDIuMzQgMGw4IDUuNzRhMiAyIDAgMCAxIC43MyAyLjI1bC0zLjA0IDkuMjZhMiAyIDAgMCAxLTEuOSAxLjM3SDcuMDRhMiAyIDAgMCAxLTEuOS0xLjM3TDIuMSAxMC4zN2EyIDIgMCAwIDEgLjczLTIuMjV6In1dXSxjdHI9W1sicGF0aCIse2Q6Ik0yMS4xNzQgNi44MTJhMSAxIDAgMCAwLTMuOTg2LTMuOTg3TDMuODQyIDE2LjE3NGEyIDIgMCAwIDAtLjUuODNsLTEuMzIxIDQuMzUyYS41LjUgMCAwIDAgLjYyMy42MjJsNC4zNTMtMS4zMmEyIDIgMCAwIDAgLjgzLS40OTd6In1dLFsicGF0aCIse2Q6Im0xNSA1IDQgNCJ9XV0sZHRyPVtbImxpbmUiLHt4MToiMTkiLHgyOiI1Iix5MToiNSIseTI6IjE5In1dLFsiY2lyY2xlIix7Y3g6IjYuNSIsY3k6IjYuNSIscjoiMi41In1dLFsiY2lyY2xlIix7Y3g6IjE3LjUiLGN5OiIxNy41IixyOiIyLjUifV1dLHV0cj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIxIn1dLFsicGF0aCIse2Q6Im05IDIwIDMtNiAzIDYifV0sWyJwYXRoIix7ZDoibTYgOCA2IDIgNi0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxMHY0In1dXSxwdHI9W1sicGF0aCIse2Q6Ik0yMCAxMUg0In1dLFsicGF0aCIse2Q6Ik0yMCA3SDQifV0sWyJwYXRoIix7ZDoiTTcgMjFWNGExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDAgMTJINyJ9XV0sZnRyPVtbInBhdGgiLHtkOiJNMTMgMmE5IDkgMCAwIDEgOSA5In1dLFsicGF0aCIse2Q6Ik0xMyA2YTUgNSAwIDAgMSA1IDUifV0sWyJwYXRoIix7ZDoiTTEzLjgzMiAxNi41NjhhMSAxIDAgMCAwIDEuMjEzLS4zMDNsLjM1NS0uNDY1QTIgMiAwIDAgMSAxNyAxNWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIDYuMzkyIDYuMzg0In1dXSxodHI9W1sicGF0aCIse2Q6Ik0xNCA2aDgifV0sWyJwYXRoIix7ZDoibTE4IDIgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dLG10cj1bWyJwYXRoIix7ZDoiTTE2IDJ2Nmg2In1dLFsicGF0aCIse2Q6Im0yMiAyLTYgNiJ9XSxbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dLGd0cj1bWyJwYXRoIix7ZDoibTE2IDIgNiA2In1dLFsicGF0aCIse2Q6Im0yMiAyLTYgNiJ9XSxbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dLGJ0cj1bWyJwYXRoIix7ZDoiTTEwLjEgMTMuOWExNCAxNCAwIDAgMCAzLjczMiAyLjY2OCAxIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDIgMTggMTggMCAwIDEtMTIuNzI4LTUuMjcyIn1dLFsicGF0aCIse2Q6Ik0yMiAyIDIgMjIifV0sWyJwYXRoIix7ZDoiTTQuNzYgMTMuNTgyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIC4yNDQuNDczIn1dXSx2dHI9W1sicGF0aCIse2Q6Im0xNiA4IDYtNiJ9XSxbInBhdGgiLHtkOiJNMjIgOFYyaC02In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV0seHRyPVtbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dLHl0cj1bWyJsaW5lIix7eDE6IjkiLHgyOiI5Iix5MToiNCIseTI6IjIwIn1dLFsicGF0aCIse2Q6Ik00IDdjMC0xLjcgMS4zLTMgMy0zaDEzIn1dLFsicGF0aCIse2Q6Ik0xOCAyMGMtMS43IDAtMy0xLjMtMy0zVjQifV1dLHd0cj1bWyJwYXRoIix7ZDoiTTE4LjUgOGMtMS40IDAtMi42LS44LTMuMi0yQTYuODcgNi44NyAwIDAgMCAyIDl2MTFhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi04LjVDMjIgOS42IDIwLjQgOCAxOC41IDgifV0sWyJwYXRoIix7ZDoiTTIgMTRoMjAifV0sWyJwYXRoIix7ZDoiTTYgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTAgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTR2NCJ9XV0sTXRyPVtbInBhdGgiLHtkOiJtMTQgMTMtOC4zODEgOC4zOGExIDEgMCAwIDEtMy4wMDEtM0wxMSA5Ljk5OSJ9XSxbInBhdGgiLHtkOiJNMTUuOTczIDQuMDI3QTEzIDEzIDAgMCAwIDUuOTAyIDIuMzczYy0xLjM5OC4zNDItMS4wOTIgMi4xNTguMjc3IDIuNjAxYTE5LjkgMTkuOSAwIDAgMSA1LjgyMiAzLjAyNCJ9XSxbInBhdGgiLHtkOiJNMTYuMDAxIDExLjk5OWExOS45IDE5LjkgMCAwIDEgMy4wMjQgNS44MjRjLjQ0NCAxLjM2OSAyLjI2IDEuNjc2IDIuNjAzLjI3OEExMyAxMyAwIDAgMCAyMCA4LjA2OSJ9XSxbInBhdGgiLHtkOiJNMTguMzUyIDMuMzUyYTEuMjA1IDEuMjA1IDAgMCAwLTEuNzA0IDBsLTUuMjk2IDUuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMS43MDQgMGw1LjI5Ni01LjI5NmExLjIwNSAxLjIwNSAwIDAgMCAwLTEuNzA0eiJ9XV0sa3RyPVtbInBhdGgiLHtkOiJNMjEgOVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEwYzAgMS4xLjkgMiAyIDJoNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNyIseDoiMTIiLHk6IjEzIixyeDoiMiJ9XV0sU3RyPVtbInBhdGgiLHtkOiJNMTEgMTdoM3YyYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xdi0zYTMuMTYgMy4xNiAwIDAgMCAyLTJoMWExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTFoLTFhNSA1IDAgMCAwLTItNFYzYTQgNCAwIDAgMC0zLjIgMS42bC0uMy40SDExYTYgNiAwIDAgMC02IDZ2MWE1IDUgMCAwIDAgMiA0djNhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF6In1dLFsicGF0aCIse2Q6Ik0xNiAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTIgOHYxYTIgMiAwIDAgMCAyIDJoMSJ9XV0senRyPVtbInBhdGgiLHtkOiJNMiAxMGg2VjQifV0sWyJwYXRoIix7ZDoibTIgNCA2IDYifV0sWyJwYXRoIix7ZDoiTTIxIDEwVjdhMiAyIDAgMCAwLTItMmgtNyJ9XSxbInBhdGgiLHtkOiJNMyAxNHYyYTIgMiAwIDAgMCAyIDJoMyJ9XSxbInJlY3QiLHt4OiIxMiIseToiMTQiLHdpZHRoOiIxMCIsaGVpZ2h0OiI3IixyeDoiMSJ9XV0sQ3RyPVtbInBhdGgiLHtkOiJNMTQgM3YxMSJ9XSxbInBhdGgiLHtkOiJNMTQgOWgtM2EzIDMgMCAwIDEgMC02aDkifV0sWyJwYXRoIix7ZDoiTTE4IDN2MTEifV0sWyJwYXRoIix7ZDoiTTIyIDE4SDJsNC00In1dLFsicGF0aCIse2Q6Im02IDIyLTQtNCJ9XV0sVHRyPVtbInBhdGgiLHtkOiJNMTAgM3YxMSJ9XSxbInBhdGgiLHtkOiJNMTAgOUg3YTEgMSAwIDAgMSAwLTZoOCJ9XSxbInBhdGgiLHtkOiJNMTQgM3YxMSJ9XSxbInBhdGgiLHtkOiJtMTggMTQgNCA0SDIifV0sWyJwYXRoIix7ZDoibTIyIDE4LTQgNCJ9XV0sX3RyPVtbInBhdGgiLHtkOiJNMTMgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTkgNEg5LjVhNC41IDQuNSAwIDAgMCAwIDlIMTMifV1dLEx0cj1bWyJwYXRoIix7ZDoiTTE4IDExaC00YTEgMSAwIDAgMC0xIDF2NWExIDEgMCAwIDAgMSAxaDQifV0sWyJwYXRoIix7ZDoiTTYgN3YxM2EyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlY3In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiI1Iix4OiI0Iix5OiIyIixyeDoiMSJ9XV0sJHRyPVtbInBhdGgiLHtkOiJtMTAuNSAyMC41IDEwLTEwYTQuOTUgNC45NSAwIDEgMC03LTdsLTEwIDEwYTQuOTUgNC45NSAwIDEgMCA3IDdaIn1dLFsicGF0aCIse2Q6Im04LjUgOC41IDcgNyJ9XV0sRHRyPVtbInBhdGgiLHtkOiJNMTIgMTd2NSJ9XSxbInBhdGgiLHtkOiJNMTUgOS4zNFY3YTEgMSAwIDAgMSAxLTEgMiAyIDAgMCAwIDAtNEg3Ljg5In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTkgOXYxLjc2YTIgMiAwIDAgMS0xLjExIDEuNzlsLTEuNzguOUEyIDIgMCAwIDAgNSAxNS4yNFYxNmExIDEgMCAwIDAgMSAxaDExIn1dXSxBdHI9W1sicGF0aCIse2Q6Ik0xMiAxN3Y1In1dLFsicGF0aCIse2Q6Ik05IDEwLjc2YTIgMiAwIDAgMS0xLjExIDEuNzlsLTEuNzguOUEyIDIgMCAwIDAgNSAxNS4yNFYxNmExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LS43NmEyIDIgMCAwIDAtMS4xMS0xLjc5bC0xLjc4LS45QTIgMiAwIDAgMSAxNSAxMC43NlY3YTEgMSAwIDAgMSAxLTEgMiAyIDAgMCAwIDAtNEg4YTIgMiAwIDAgMCAwIDQgMSAxIDAgMCAxIDEgMXoifV1dLEV0cj1bWyJwYXRoIix7ZDoibTEyIDktOC40MTQgOC40MTRBMiAyIDAgMCAwIDMgMTguODI4djEuMzQ0YTIgMiAwIDAgMS0uNTg2IDEuNDE0QTIgMiAwIDAgMSAzLjgyOCAyMWgxLjM0NGEyIDIgMCAwIDAgMS40MTQtLjU4NkwxNSAxMiJ9XSxbInBhdGgiLHtkOiJtMTggOSAuNC40YTEgMSAwIDEgMS0zIDNsLTMuOC0zLjhhMSAxIDAgMSAxIDMtM2wuNC40IDMuNC0zLjRhMSAxIDAgMSAxIDMgM3oifV0sWyJwYXRoIix7ZDoibTIgMjIgLjQxNC0uNDE0In1dXSxJdHI9W1sicGF0aCIse2Q6Im0xMiAxNC0xIDEifV0sWyJwYXRoIix7ZDoibTEzLjc1IDE4LjI1LTEuMjUgMS40MiJ9XSxbInBhdGgiLHtkOiJNMTcuNzc1IDUuNjU0YTE1LjY4IDE1LjY4IDAgMCAwLTEyLjEyMSAxMi4xMiJ9XSxbInBhdGgiLHtkOiJNMTguOCA5LjNhMSAxIDAgMCAwIDIuMSA3LjcifV0sWyJwYXRoIix7ZDoiTTIxLjk2NCAyMC43MzJhMSAxIDAgMCAxLTEuMjMyIDEuMjMybC0xOC01YTEgMSAwIDAgMS0uNjk1LTEuMjMyQTE5LjY4IDE5LjY4IDAgMCAxIDE1LjczMiAyLjAzN2ExIDEgMCAwIDEgMS4yMzIuNjk1eiJ9XV0sUHRyPVtbInBhdGgiLHtkOiJNMiAyMmgyMCJ9XSxbInBhdGgiLHtkOiJNMy43NyAxMC43NyAyIDlsMi00LjUgMS4xLjU1Yy41NS4yOC45Ljg0LjkgMS40NXMuMzUgMS4xNy45IDEuNDVMOCA4LjVsMy02IDEuMDUuNTNhMiAyIDAgMCAxIDEuMDkgMS41MmwuNzIgNS40YTIgMiAwIDAgMCAxLjA5IDEuNTJsNC40IDIuMmMuNDIuMjIuNzguNTUgMS4wMS45NmwuNiAxLjAzYy40OS44OC0uMDYgMS45OC0xLjA2IDIuMWwtMS4xOC4xNWMtLjQ3LjA2LS45NS0uMDItMS4zNy0uMjRMNC4yOSAxMS4xNWEyIDIgMCAwIDEtLjUyLS4zOFoifV1dLE50cj1bWyJwYXRoIix7ZDoiTTIgMjJoMjAifV0sWyJwYXRoIix7ZDoiTTYuMzYgMTcuNCA0IDE3bC0yLTQgMS4xLS41NWEyIDIgMCAwIDEgMS44IDBsLjE3LjFhMiAyIDAgMCAwIDEuOCAwTDggMTIgNSA2bC45LS40NWEyIDIgMCAwIDEgMi4wOS4ybDQuMDIgM2EyIDIgMCAwIDAgMi4xLjJsNC4xOS0yLjA2YTIuNDEgMi40MSAwIDAgMSAxLjczLS4xN0wyMSA3YTEuNCAxLjQgMCAwIDEgLjg3IDEuOTlsLS4zOC43NmMtLjIzLjQ2LS42Ljg0LTEuMDcgMS4wOEw3LjU4IDE3LjJhMiAyIDAgMCAxLTEuMjIuMThaIn1dXSxGdHI9W1sicGF0aCIse2Q6Ik0xNy44IDE5LjIgMTYgMTFsMy41LTMuNUMyMSA2IDIxLjUgNCAyMSAzYy0xLS41LTMgMC00LjUgMS41TDEzIDggNC44IDYuMmMtLjUtLjEtLjkuMS0xLjEuNWwtLjMuNWMtLjIuNS0uMSAxIC4zIDEuM0w5IDEybC0yIDNINGwtMSAxIDMgMiAyIDMgMS0xdi0zbDMtMiAzLjUgNS4zYy4zLjQuOC41IDEuMy4zbC41LS4yYy40LS4zLjYtLjcuNS0xLjJ6In1dXSxPdHI9W1sicGF0aCIse2Q6Ik01IDVhMiAyIDAgMCAxIDMuMDA4LTEuNzI4bDExLjk5NyA2Ljk5OGEyIDIgMCAwIDEgLjAwMyAzLjQ1OGwtMTIgN0EyIDIgMCAwIDEgNSAxOXoifV1dLFJ0cj1bWyJwYXRoIix7ZDoiTTkgMnY2In1dLFsicGF0aCIse2Q6Ik0xNSAydjYifV0sWyJwYXRoIix7ZDoiTTEyIDE3djUifV0sWyJwYXRoIix7ZDoiTTUgOGgxNCJ9XSxbInBhdGgiLHtkOiJNNiAxMVY4aDEydjNhNiA2IDAgMSAxLTEyIDBaIn1dXSx6UD1bWyJwYXRoIix7ZDoiTTYuMyAyMC4zYTIuNCAyLjQgMCAwIDAgMy40IDBMMTIgMThsLTYtNi0yLjMgMi4zYTIuNCAyLjQgMCAwIDAgMCAzLjRaIn1dLFsicGF0aCIse2Q6Im0yIDIyIDMtMyJ9XSxbInBhdGgiLHtkOiJNNy41IDEzLjUgMTAgMTEifV0sWyJwYXRoIix7ZDoiTTEwLjUgMTYuNSAxMyAxNCJ9XSxbInBhdGgiLHtkOiJtMTggMy00IDRoNmwtNCA0In1dXSxCdHI9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNSJ9XSxbInBhdGgiLHtkOiJNMTUgOFYyIn1dLFsicGF0aCIse2Q6Ik0xNyA4YTEgMSAwIDAgMSAxIDF2NGE0IDQgMCAwIDEtNCA0aC00YTQgNCAwIDAgMS00LTRWOWExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSA4VjIifV1dLEh0cj1bWyJwYXRoIix7ZDoiTTUgMTJoMTQifV0sWyJwYXRoIix7ZDoiTTEyIDV2MTQifV1dLHF0cj1bWyJwYXRoIix7ZDoiTTMgMnYxYzAgMSAyIDEgMiAyUzMgNiAzIDdzMiAxIDIgMi0yIDEtMiAyIDIgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTE4IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjAuODMgOC44M2E0IDQgMCAwIDAtNS42Ni01LjY2bC0xMiAxMmE0IDQgMCAxIDAgNS42NiA1LjY2WiJ9XSxbInBhdGgiLHtkOiJNMTggMTEuNjZWMjJhNCA0IDAgMCAwIDQtNFY2In1dXSxqdHI9W1sicGF0aCIse2Q6Ik0xMyAxN2ExIDEgMCAxIDAtMiAwbC41IDQuNWEwLjUgMC41IDAgMCAwIDEgMHoiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbInBhdGgiLHtkOiJNMTYuODUgMTguNThhOSA5IDAgMSAwLTkuNyAwIn1dLFsicGF0aCIse2Q6Ik04IDE0YTUgNSAwIDEgMSA4IDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiMSIsZmlsbDoiY3VycmVudENvbG9yIn1dXSxWdHI9W1sicGF0aCIse2Q6Ik0yMCAzYTIgMiAwIDAgMSAyIDJ2NmExIDEgMCAwIDEtMjAgMFY1YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Im04IDEwIDQgNCA0LTQifV1dLFV0cj1bWyJwYXRoIix7ZDoiTTEwIDQuNVY0YTIgMiAwIDAgMC0yLjQxLTEuOTU3In1dLFsicGF0aCIse2Q6Ik0xMy45IDguNGEyIDIgMCAwIDAtMS4yNi0xLjI5NSJ9XSxbInBhdGgiLHtkOiJNMjEuNyAxNi4yQTggOCAwIDAgMCAyMiAxNHYtM2EyIDIgMCAxIDAtNCAwdi0xYTIgMiAwIDAgMC0zLjYzLTEuMTU4In1dLFsicGF0aCIse2Q6Im03IDE1LTEuOC0xLjhhMiAyIDAgMCAwLTIuNzkgMi44Nkw2IDE5LjdhNy43NCA3Ljc0IDAgMCAwIDYgMi4zaDJhOCA4IDAgMCAwIDUuNjU3LTIuMzQzIn1dLFsicGF0aCIse2Q6Ik02IDZ2OCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXSxXdHI9W1sicGF0aCIse2Q6Ik0yMiAxNGE4IDggMCAwIDEtOCA4In1dLFsicGF0aCIse2Q6Ik0xOCAxMXYtMWEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE0IDEwVjlhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjEifV0sWyJwYXRoIix7ZDoiTTEwIDkuNVY0YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxMCJ9XSxbInBhdGgiLHtkOiJNMTggMTFhMiAyIDAgMSAxIDQgMHYzYTggOCAwIDAgMS04IDhoLTJjLTIuOCAwLTQuNS0uODYtNS45OS0yLjM0bC0zLjYtMy42YTIgMiAwIDAgMSAyLjgzLTIuODJMNyAxNSJ9XV0sR3RyPVtbInBhdGgiLHtkOiJNMTggOGEyIDIgMCAwIDAgMC00IDIgMiAwIDAgMC00IDAgMiAyIDAgMCAwLTQgMCAyIDIgMCAwIDAtNCAwIDIgMiAwIDAgMCAwIDQifV0sWyJwYXRoIix7ZDoiTTEwIDIyIDkgOCJ9XSxbInBhdGgiLHtkOiJtMTQgMjIgMS0xNCJ9XSxbInBhdGgiLHtkOiJNMjAgOGMuNSAwIC45LjQuOCAxbC0yLjYgMTJjLS4xLjUtLjcgMS0xLjIgMUg3Yy0uNiAwLTEuMS0uNC0xLjItMUwzLjIgOWMtLjEtLjYuMy0xIC44LTFaIn1dXSxZdHI9W1sicGF0aCIse2Q6Ik0xOC42IDE0LjRjLjgtLjguOC0yIDAtMi44bC04LjEtOC4xYTQuOTUgNC45NSAwIDEgMC03LjEgNy4xbDguMSA4LjFjLjkuNyAyLjEuNyAyLjktLjFaIn1dLFsicGF0aCIse2Q6Im0yMiAyMi01LjUtNS41In1dXSxadHI9W1sicGF0aCIse2Q6Ik0xOCA3YzAtNS4zMzMtOC01LjMzMy04IDAifV0sWyJwYXRoIix7ZDoiTTEwIDd2MTQifV0sWyJwYXRoIix7ZDoiTTYgMjFoMTIifV0sWyJwYXRoIix7ZDoiTTYgMTNoMTAifV1dLFh0cj1bWyJwYXRoIix7ZDoiTTE4LjM2IDYuNjRBOSA5IDAgMCAxIDIwLjc3IDE1In1dLFsicGF0aCIse2Q6Ik02LjE2IDYuMTZhOSA5IDAgMSAwIDEyLjY4IDEyLjY4In1dLFsicGF0aCIse2Q6Ik0xMiAydjQifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV0sUXRyPVtbInBhdGgiLHtkOiJNMTIgMnYxMCJ9XSxbInBhdGgiLHtkOiJNMTguNCA2LjZhOSA5IDAgMSAxLTEyLjc3LjA0In1dXSxKdHI9W1sicGF0aCIse2Q6Ik0xMy41IDIySDdhMSAxIDAgMCAxLTEtMXYtNmExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2LjUifV0sWyJwYXRoIix7ZDoibTE2IDE5IDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTYgMThINGEyIDIgMCAwIDEtMi0ydi01YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik02IDlWM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2NiJ9XV0sS3RyPVtbInBhdGgiLHtkOiJNMiAzaDIwIn1dLFsicGF0aCIse2Q6Ik0yMSAzdjExYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjMifV0sWyJwYXRoIix7ZDoibTcgMjEgNS01IDUgNSJ9XV0sZXJyPVtbInBhdGgiLHtkOiJNMTIuNTMxIDIySDdhMSAxIDAgMCAxLTEtMXYtNmExIDEgMCAwIDEgMS0xaDYuMzc3In1dLFsicGF0aCIse2Q6Im0xNi41IDE2LjUgNSA1In1dLFsicGF0aCIse2Q6Im0xNi41IDIxLjUgNS01In1dLFsicGF0aCIse2Q6Ik02IDE4SDRhMiAyIDAgMCAxLTItMnYtNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2MS41In1dLFsicGF0aCIse2Q6Ik02IDlWM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2NiJ9XV0sdHJyPVtbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjVhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiA5VjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjYifV0sWyJyZWN0Iix7eDoiNiIseToiMTQiLHdpZHRoOiIxMiIsaGVpZ2h0OiI4IixyeDoiMSJ9XV0scnJyPVtbInBhdGgiLHtkOiJNNSA3IDMgNSJ9XSxbInBhdGgiLHtkOiJNOSA2VjMifV0sWyJwYXRoIix7ZDoibTEzIDcgMi0yIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxMyIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTEuODMgMTJIMjBhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi00YTIgMiAwIDAgMSAyLTJoMi4xNyJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoMiJ9XV0sYXJyPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiA5djExIn1dLFsicGF0aCIse2Q6Ik0yIDloMTNhMiAyIDAgMCAxIDIgMnY5In1dXSxpcnI9W1sicGF0aCIse2Q6Ik0xNS4zOSA0LjM5YTEgMSAwIDAgMCAxLjY4LS40NzQgMi41IDIuNSAwIDEgMSAzLjAxNCAzLjAxNSAxIDEgMCAwIDAtLjQ3NCAxLjY4bDEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDAgMy40MTRMMTkuNjEgMTUuMzlhMSAxIDAgMCAxLTEuNjgtLjQ3NCAyLjUgMi41IDAgMSAwLTMuMDE0IDMuMDE1IDEgMSAwIDAgMSAuNDc0IDEuNjhsLTEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxLTMuNDE0IDBMOC42MSAxOS42MWExIDEgMCAwIDAtMS42OC40NzQgMi41IDIuNSAwIDEgMS0zLjAxNC0zLjAxNSAxIDEgMCAwIDAgLjQ3NC0xLjY4bC0xLjY4My0xLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAwLTMuNDE0TDQuMzkgOC42MWExIDEgMCAwIDEgMS42OC40NzQgMi41IDIuNSAwIDEgMCAzLjAxNC0zLjAxNSAxIDEgMCAwIDEtLjQ3NC0xLjY4bDEuNjgzLTEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDMuNDE0IDB6In1dXSxucnI9W1sicGF0aCIse2Q6Ik0yLjUgMTYuODhhMSAxIDAgMCAxLS4zMi0xLjQzbDktMTMuMDJhMSAxIDAgMCAxIDEuNjQgMGw5IDEzLjAxYTEgMSAwIDAgMS0uMzIgMS40NGwtOC41MSA0Ljg2YTIgMiAwIDAgMS0xLjk4IDBaIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIwIn1dXSxzcnI9W1sicmVjdCIse3dpZHRoOiI1IixoZWlnaHQ6IjUiLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI1IixoZWlnaHQ6IjUiLHg6IjE2Iix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNSIsaGVpZ2h0OiI1Iix4OiIzIix5OiIxNiIscng6IjEifV0sWyJwYXRoIix7ZDoiTTIxIDE2aC0zYTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMjEgMjF2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA3djNhMiAyIDAgMCAxLTIgMkg3In1dLFsicGF0aCIse2Q6Ik0zIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgM2guMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE2di4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJ2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAyMXYtMSJ9XV0sb3JyPVtbInBhdGgiLHtkOiJNMTYgM2EyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMiAxIDEgMCAwIDEgMSAxdjFhMiAyIDAgMCAxLTIgMiAxIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMSA2IDYgMCAwIDAgNi02VjVhMiAyIDAgMCAwLTItMnoifV0sWyJwYXRoIix7ZDoiTTUgM2EyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMiAxIDEgMCAwIDEgMSAxdjFhMiAyIDAgMCAxLTIgMiAxIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMSA2IDYgMCAwIDAgNi02VjVhMiAyIDAgMCAwLTItMnoifV1dLGxycj1bWyJwYXRoIix7ZDoiTTEzIDE2YTMgMyAwIDAgMSAyLjI0IDUifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggMjFoLThhNCA0IDAgMCAxLTQtNCA3IDcgMCAwIDEgNy03aC4yTDkuNiA2LjRhMSAxIDAgMSAxIDIuOC0yLjhMMTUuOCA3aC4yYzMuMyAwIDYgMi43IDYgNnYxYTIgMiAwIDAgMS0yIDJoLTFhMyAzIDAgMCAwLTMgMyJ9XSxbInBhdGgiLHtkOiJNMjAgOC41NFY0YTIgMiAwIDEgMC00IDB2MyJ9XSxbInBhdGgiLHtkOiJNNy42MTIgMTIuNTI0YTMgMyAwIDEgMC0xLjYgNC4zIn1dXSxjcnI9W1sicGF0aCIse2Q6Ik0xOS4wNyA0LjkzQTEwIDEwIDAgMCAwIDYuOTkgMy4zNCJ9XSxbInBhdGgiLHtkOiJNNCA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMi4yOSA5LjYyQTEwIDEwIDAgMSAwIDIxLjMxIDguMzUifV0sWyJwYXRoIix7ZDoiTTE2LjI0IDcuNzZBNiA2IDAgMSAwIDguMjMgMTYuNjcifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcuOTkgMTEuNjZBNiA2IDAgMCAxIDE1Ljc3IDE2LjY3In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoibTEzLjQxIDEwLjU5IDUuNjYtNS42NiJ9XV0sZHJyPVtbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxNS40NjQxYTQgNCAwIDAgMS00IDBMNy41Mjc4NiAxOS43NDU5NyBBIDEgMSAwIDAgMCA3Ljk5MzAzIDIxLjE2MjExIDEwIDEwIDAgMCAwIDE2LjAwNjk3IDIxLjE2MjExIDEgMSAwIDAgMCAxNi40NzIxNCAxOS43NDU5N3oifV0sWyJwYXRoIix7ZDoiTTE2IDEyYTQgNCAwIDAgMC0yLTMuNDY0bDIuNDcyLTQuMjgyYTEgMSAwIDAgMSAxLjQ2LS4zMDUgMTAgMTAgMCAwIDEgNC4wMDYgNi45NEExIDEgMCAwIDEgMjEgMTJ6In1dLFsicGF0aCIse2Q6Ik04IDEyYTQgNCAwIDAgMSAyLTMuNDY0TDcuNTI4IDQuMjU0YTEgMSAwIDAgMC0xLjQ2LS4zMDUgMTAgMTAgMCAwIDAtNC4wMDYgNi45NEExIDEgMCAwIDAgMyAxMnoifV1dLHVycj1bWyJwYXRoIix7ZDoiTTMgMTJoMy4yOGExIDEgMCAwIDEgLjk0OC42ODRsMi4yOTggNy45MzRhLjUuNSAwIDAgMCAuOTYtLjA0NEwxMy44MiA0Ljc3MUExIDEgMCAwIDEgMTQuNzkyIDRIMjEifV1dLHBycj1bWyJwYXRoIix7ZDoiTTUgMTZ2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2MiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XV0sZnJyPVtbInBhdGgiLHtkOiJNNC45IDE2LjFDMSAxMi4yIDEgNS44IDQuOSAxLjkifV0sWyJwYXRoIix7ZDoiTTcuOCA0LjdhNi4xNCA2LjE0IDAgMCAwLS44IDcuNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTE2LjIgNC44YzIgMiAyLjI2IDUuMTEuOCA3LjQ3In1dLFsicGF0aCIse2Q6Ik0xOS4xIDEuOWE5Ljk2IDkuOTYgMCAwIDEgMCAxNC4xIn1dLFsicGF0aCIse2Q6Ik05LjUgMThoNSJ9XSxbInBhdGgiLHtkOiJtOCAyMiA0LTExIDQgMTEifV1dLGhycj1bWyJwYXRoIix7ZDoiTTE2LjI0NyA3Ljc2MWE2IDYgMCAwIDEgMCA4LjQ3OCJ9XSxbInBhdGgiLHtkOiJNMTkuMDc1IDQuOTMzYTEwIDEwIDAgMCAxIDAgMTQuMTM0In1dLFsicGF0aCIse2Q6Ik00LjkyNSAxOS4wNjdhMTAgMTAgMCAwIDEgMC0xNC4xMzQifV0sWyJwYXRoIix7ZDoiTTcuNzUzIDE2LjIzOWE2IDYgMCAwIDEgMC04LjQ3OCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXSxtcnI9W1sicGF0aCIse2Q6Ik0yMC4zNCAxNy41MmExMCAxMCAwIDEgMC0yLjgyIDIuODIifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJtMTMuNDEgMTMuNDEgNC4xOCA0LjE4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dLGdycj1bWyJwYXRoIix7ZDoiTTUgMTVoMTQifV0sWyJwYXRoIix7ZDoiTTUgOWgxNCJ9XSxbInBhdGgiLHtkOiJtMTQgMjAtNS01IDYtNi01LTUifV1dLGJycj1bWyJwYXRoIix7ZDoiTTIyIDE3YTEwIDEwIDAgMCAwLTIwIDAifV0sWyJwYXRoIix7ZDoiTTYgMTdhNiA2IDAgMCAxIDEyIDAifV0sWyJwYXRoIix7ZDoiTTEwIDE3YTIgMiAwIDAgMSA0IDAifV1dLHZycj1bWyJwYXRoIix7ZDoiTTEzIDIySDRhMiAyIDAgMCAxIDAtNGgxMiJ9XSxbInBhdGgiLHtkOiJNMTMuMjM2IDE4YTMgMyAwIDAgMC0yLjItNSJ9XSxbInBhdGgiLHtkOiJNMTYgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE2LjgyIDMuOTRhMyAzIDAgMSAxIDMuMjM3IDQuODY4bDEuODE1IDIuNTg3YTEuNSAxLjUgMCAwIDEtMS41IDIuMWwtMi44NzItLjQ1M2EzIDMgMCAwIDAtMy41IDMifV0sWyJwYXRoIix7ZDoiTTE3IDQuOTg4YTMgMyAwIDEgMC01LjIgMi4wNTJBNyA3IDAgMCAwIDQgMTQuMDE1IDQgNCAwIDAgMCA4IDE4In1dXSx4cnI9W1sicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIyMCIseDoiNiIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XV0seXJyPVtbInBhdGgiLHtkOiJNNCAydjIwbDItMSAyIDEgMi0xIDIgMSAyLTEgMiAxIDItMSAyIDFWMmwtMiAxLTItMS0yIDEtMi0xLTIgMS0yLTEtMiAxWiJ9XSxbInBhdGgiLHtkOiJNMTIgNi41djExIn1dLFsicGF0aCIse2Q6Ik0xNSA5LjRhNCA0IDAgMSAwIDAgNS4yIn1dXSx3cnI9W1sicGF0aCIse2Q6Ik00IDJ2MjBsMi0xIDIgMSAyLTEgMiAxIDItMSAyIDEgMi0xIDIgMVYybC0yIDEtMi0xLTIgMS0yLTEtMiAxLTItMS0yIDFaIn1dLFsicGF0aCIse2Q6Ik04IDEyaDUifV0sWyJwYXRoIix7ZDoiTTE2IDkuNWE0IDQgMCAxIDAgMCA1LjIifV1dLE1ycj1bWyJwYXRoIix7ZDoiTTQgMnYyMGwyLTEgMiAxIDItMSAyIDEgMi0xIDIgMSAyLTEgMiAxVjJsLTIgMS0yLTEtMiAxLTItMS0yIDEtMi0xLTIgMVoifV0sWyJwYXRoIix7ZDoiTTggN2g4In1dLFsicGF0aCIse2Q6Ik0xMiAxNy41IDggMTVoMWE0IDQgMCAwIDAgMC04In1dLFsicGF0aCIse2Q6Ik04IDExaDgifV1dLGtycj1bWyJwYXRoIix7ZDoiTTQgMnYyMGwyLTEgMiAxIDItMSAyIDEgMi0xIDIgMSAyLTEgMiAxVjJsLTIgMS0yLTEtMiAxLTItMS0yIDEtMi0xLTIgMVoifV0sWyJwYXRoIix7ZDoibTEyIDEwIDMtMyJ9XSxbInBhdGgiLHtkOiJtOSA3IDMgM3Y3LjUifV0sWyJwYXRoIix7ZDoiTTkgMTFoNiJ9XSxbInBhdGgiLHtkOiJNOSAxNWg2In1dXSxTcnI9W1sicGF0aCIse2Q6Ik00IDJ2MjBsMi0xIDIgMSAyLTEgMiAxIDItMSAyIDEgMi0xIDIgMVYybC0yIDEtMi0xLTIgMS0yLTEtMiAxLTItMS0yIDFaIn1dLFsicGF0aCIse2Q6Ik04IDEzaDUifV0sWyJwYXRoIix7ZDoiTTEwIDE3VjkuNWEyLjUgMi41IDAgMCAxIDUgMCJ9XSxbInBhdGgiLHtkOiJNOCAxN2g3In1dXSx6cnI9W1sicGF0aCIse2Q6Ik00IDJ2MjBsMi0xIDIgMSAyLTEgMiAxIDItMSAyIDEgMi0xIDIgMVYybC0yIDEtMi0xLTIgMS0yLTEtMiAxLTItMS0yIDFaIn1dLFsicGF0aCIse2Q6Ik04IDE1aDUifV0sWyJwYXRoIix7ZDoiTTggMTFoNWEyIDIgMCAxIDAgMC00aC0zdjEwIn1dXSxDcnI9W1sicGF0aCIse2Q6Ik00IDJ2MjBsMi0xIDIgMSAyLTEgMiAxIDItMSAyIDEgMi0xIDIgMVYybC0yIDEtMi0xLTIgMS0yLTEtMiAxLTItMS0yIDFaIn1dLFsicGF0aCIse2Q6Ik0xMCAxN1Y3aDUifV0sWyJwYXRoIix7ZDoiTTEwIDExaDQifV0sWyJwYXRoIix7ZDoiTTggMTVoNSJ9XV0sVHJyPVtbInBhdGgiLHtkOiJNMTMgMTZIOCJ9XSxbInBhdGgiLHtkOiJNMTQgOEg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMkg4In1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dXSxfcnI9W1sicGF0aCIse2Q6Ik0xMCA2LjV2MTFhNS41IDUuNSAwIDAgMCA1LjUtNS41In1dLFsicGF0aCIse2Q6Im0xNCA4LTYgMyJ9XSxbInBhdGgiLHtkOiJNNCAydjIwbDItMSAyIDEgMi0xIDIgMSAyLTEgMiAxIDItMSAyIDFWMmwtMiAxLTItMS0yIDEtMi0xLTIgMS0yLTEtMiAxeiJ9XV0sTHJyPVtbInBhdGgiLHtkOiJNNCAydjIwbDItMSAyIDEgMi0xIDIgMSAyLTEgMiAxIDItMSAyIDFWMmwtMiAxLTItMS0yIDEtMi0xLTIgMS0yLTEtMiAxWiJ9XSxbInBhdGgiLHtkOiJNMTYgOGgtNmEyIDIgMCAxIDAgMCA0aDRhMiAyIDAgMSAxIDAgNEg4In1dLFsicGF0aCIse2Q6Ik0xMiAxNy41di0xMSJ9XV0sJHJyPVtbInBhdGgiLHtkOiJNMTQgNHYxNkgzYTEgMSAwIDAgMS0xLTFWNWExIDEgMCAwIDEgMS0xeiJ9XSxbImNpcmNsZSIse2N4OiIxNCIsY3k6IjEyIixyOiI4In1dXSxDUD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNyAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTcgMTJoLjAxIn1dXSxEcnI9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxMiIseDoiMiIseToiNiIscng6IjIifV1dLEFycj1bWyJwYXRoIix7ZDoiTTIwIDZhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTRhMiAyIDAgMCAxLTEuNi0uOGwtMS42LTIuMTNhMSAxIDAgMCAwLTEuNiAwTDkuNiAxNy4yQTIgMiAwIDAgMSA4IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJ6In1dXSxFcnI9W1sicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIyMCIseDoiNiIseToiMiIscng6IjIifV1dLElycj1bWyJwYXRoIix7ZDoiTTcgMTlINC44MTVhMS44MyAxLjgzIDAgMCAxLTEuNTctLjg4MSAxLjc4NSAxLjc4NSAwIDAgMS0uMDA0LTEuNzg0TDcuMTk2IDkuNSJ9XSxbInBhdGgiLHtkOiJNMTEgMTloOC4yMDNhMS44MyAxLjgzIDAgMCAwIDEuNTU2LS44OSAxLjc4NCAxLjc4NCAwIDAgMCAwLTEuNzc1bC0xLjIyNi0yLjEyIn1dLFsicGF0aCIse2Q6Im0xNCAxNi0zIDMgMyAzIn1dLFsicGF0aCIse2Q6Ik04LjI5MyAxMy41OTYgNy4xOTYgOS41IDMuMSAxMC41OTgifV0sWyJwYXRoIix7ZDoibTkuMzQ0IDUuODExIDEuMDkzLTEuODkyQTEuODMgMS44MyAwIDAgMSAxMS45ODUgM2ExLjc4NCAxLjc4NCAwIDAgMSAxLjU0Ni44ODhsMy45NDMgNi44NDMifV0sWyJwYXRoIix7ZDoibTEzLjM3OCA5LjYzMyA0LjA5NiAxLjA5OCAxLjA5Ny00LjA5NiJ9XV0sUHJyPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE3IixyOiIxIn1dLFsicGF0aCIse2Q6Ik0yMSA3djZoLTYifV0sWyJwYXRoIix7ZDoiTTMgMTdhOSA5IDAgMCAxIDktOSA5IDkgMCAwIDEgNiAyLjNsMyAyLjcifV1dLE5ycj1bWyJwYXRoIix7ZDoibTE1IDE0IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTIwIDlIOS41QTUuNSA1LjUgMCAwIDAgNCAxNC41QTUuNSA1LjUgMCAwIDAgOS41IDIwSDEzIn1dXSxGcnI9W1sicGF0aCIse2Q6Ik0yMSA3djZoLTYifV0sWyJwYXRoIix7ZDoiTTMgMTdhOSA5IDAgMCAxIDktOSA5IDkgMCAwIDEgNiAyLjNsMyAyLjcifV1dLE9ycj1bWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDAgMC05LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAwIDkgOSA5Ljc1IDkuNzUgMCAwIDAgNi43NC0yLjc0TDIxIDE2In1dLFsicGF0aCIse2Q6Ik0xNiAxNmg1djUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV0sUnJyPVtbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMCAwLTktOSA5Ljc1IDkuNzUgMCAwIDAtNi43NCAyLjc0TDMgOCJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSJ9XSxbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAwIDAgOSA5IDkuNzUgOS43NSAwIDAgMCA2Ljc0LTIuNzRMMjEgMTYifV0sWyJwYXRoIix7ZDoiTTE2IDE2aDV2NSJ9XV0sQnJyPVtbInBhdGgiLHtkOiJNMjEgOEwxOC43NCA1Ljc0QTkuNzUgOS43NSAwIDAgMCAxMiAzQzExIDMgMTAuMDMgMy4xNiA5LjEzIDMuNDcifV0sWyJwYXRoIix7ZDoiTTggMTZIM3Y1In1dLFsicGF0aCIse2Q6Ik0zIDEyQzMgOS41MSA0IDcuMjYgNS42NCA1LjY0In1dLFsicGF0aCIse2Q6Im0zIDE2IDIuMjYgMi4yNkE5Ljc1IDkuNzUgMCAwIDAgMTIgMjFjMi40OSAwIDQuNzQtMSA2LjM2LTIuNjQifV0sWyJwYXRoIix7ZDoiTTIxIDEyYzAgMS0uMTYgMS45Ny0uNDcgMi44NyJ9XSxbInBhdGgiLHtkOiJNMjEgM3Y1aC01In1dLFsicGF0aCIse2Q6Ik0yMiAyMiAyIDIifV1dLEhycj1bWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAxIDktOSA5Ljc1IDkuNzUgMCAwIDEgNi43NCAyLjc0TDIxIDgifV0sWyJwYXRoIix7ZDoiTTIxIDN2NWgtNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMCAxLTkgOSA5Ljc1IDkuNzUgMCAwIDEtNi43NC0yLjc0TDMgMTYifV0sWyJwYXRoIix7ZDoiTTggMTZIM3Y1In1dXSxxcnI9W1sicGF0aCIse2Q6Ik01IDZhNCA0IDAgMCAxIDQtNGg2YTQgNCAwIDAgMSA0IDR2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNloifV0sWyJwYXRoIix7ZDoiTTUgMTBoMTQifV0sWyJwYXRoIix7ZDoiTTE1IDd2NiJ9XV0sanJyPVtbInBhdGgiLHtkOiJNMTcgM3YxMCJ9XSxbInBhdGgiLHtkOiJtMTIuNjcgNS41IDguNjYgNSJ9XSxbInBhdGgiLHtkOiJtMTIuNjcgMTAuNSA4LjY2LTUifV0sWyJwYXRoIix7ZDoiTTkgMTdhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MmEyIDIgMCAwIDAgMiAyaDJhMiAyIDAgMCAwIDItMnYtMnoifV1dLFZycj1bWyJwYXRoIix7ZDoiTTQgN1Y0aDE2djMifV0sWyJwYXRoIix7ZDoiTTUgMjBoNiJ9XSxbInBhdGgiLHtkOiJNMTMgNCA4IDIwIn1dLFsicGF0aCIse2Q6Im0xNSAxNSA1IDUifV0sWyJwYXRoIix7ZDoibTIwIDE1LTUgNSJ9XV0sVXJyPVtbInBhdGgiLHtkOiJtMiA5IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTEzIDE4SDdhMiAyIDAgMCAxLTItMlY2In1dLFsicGF0aCIse2Q6Im0yMiAxNS0zIDMtMy0zIn1dLFsicGF0aCIse2Q6Ik0xMSA2aDZhMiAyIDAgMCAxIDIgMnYxMCJ9XV0sV3JyPVtbInBhdGgiLHtkOiJtMTcgMiA0IDQtNCA0In1dLFsicGF0aCIse2Q6Ik0zIDExdi0xYTQgNCAwIDAgMSA0LTRoMTQifV0sWyJwYXRoIix7ZDoibTcgMjItNC00IDQtNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTN2MWE0IDQgMCAwIDEtNCA0SDMifV0sWyJwYXRoIix7ZDoiTTExIDEwaDF2NCJ9XV0sR3JyPVtbInBhdGgiLHtkOiJtMTcgMiA0IDQtNCA0In1dLFsicGF0aCIse2Q6Ik0zIDExdi0xYTQgNCAwIDAgMSA0LTRoMTQifV0sWyJwYXRoIix7ZDoibTcgMjItNC00IDQtNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTN2MWE0IDQgMCAwIDEtNCA0SDMifV1dLFlycj1bWyJwYXRoIix7ZDoiTTE0IDE0YTEgMSAwIDAgMSAxIDF2NWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Ik0xNCA0YTEgMSAwIDAgMSAxLTEifV0sWyJwYXRoIix7ZDoiTTE1IDEwYTEgMSAwIDAgMS0xLTEifV0sWyJwYXRoIix7ZDoiTTE5IDE0YTEgMSAwIDAgMSAxIDF2NWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Ik0yMSA0YTEgMSAwIDAgMC0xLTEifV0sWyJwYXRoIix7ZDoiTTIxIDlhMSAxIDAgMCAxLTEgMSJ9XSxbInBhdGgiLHtkOiJtMyA3IDMgMyAzLTMifV0sWyJwYXRoIix7ZDoiTTYgMTBWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJyZWN0Iix7eDoiMyIseToiMTQiLHdpZHRoOiI3IixoZWlnaHQ6IjciLHJ4OiIxIn1dXSxacnI9W1sicGF0aCIse2Q6Ik0xNCA0YTEgMSAwIDAgMSAxLTEifV0sWyJwYXRoIix7ZDoiTTE1IDEwYTEgMSAwIDAgMS0xLTEifV0sWyJwYXRoIix7ZDoiTTIxIDRhMSAxIDAgMCAwLTEtMSJ9XSxbInBhdGgiLHtkOiJNMjEgOWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Im0zIDcgMyAzIDMtMyJ9XSxbInBhdGgiLHtkOiJNNiAxMFY1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInJlY3QiLHt4OiIzIix5OiIxNCIsd2lkdGg6IjciLGhlaWdodDoiNyIscng6IjEifV1dLFhycj1bWyJwYXRoIix7ZDoibTEyIDE3LTUtNSA1LTUifV0sWyJwYXRoIix7ZDoiTTIyIDE4di0yYTQgNCAwIDAgMC00LTRINyJ9XSxbInBhdGgiLHtkOiJtNyAxNy01LTUgNS01In1dXSxRcnI9W1sicGF0aCIse2Q6Ik0yMCAxOHYtMmE0IDQgMCAwIDAtNC00SDQifV0sWyJwYXRoIix7ZDoibTkgMTctNS01IDUtNSJ9XV0sSnJyPVtbInBhdGgiLHtkOiJNMTIgNmEyIDIgMCAwIDAtMy40MTQtMS40MTRsLTYgNmEyIDIgMCAwIDAgMCAyLjgyOGw2IDZBMiAyIDAgMCAwIDEyIDE4eiJ9XSxbInBhdGgiLHtkOiJNMjIgNmEyIDIgMCAwIDAtMy40MTQtMS40MTRsLTYgNmEyIDIgMCAwIDAgMCAyLjgyOGw2IDZBMiAyIDAgMCAwIDIyIDE4eiJ9XV0sS3JyPVtbInBhdGgiLHtkOiJNMTIgMTEuMjJDMTEgOS45OTcgMTAgOSAxMCA4YTIgMiAwIDAgMSA0IDBjMCAxLS45OTggMi4wMDItMi4wMSAzLjIyIn1dLFsicGF0aCIse2Q6Im0xMiAxOCAyLjU3LTMuNSJ9XSxbInBhdGgiLHtkOiJNNi4yNDMgOS4wMTZhNyA3IDAgMCAxIDExLjUwNy0uMDA5In1dLFsicGF0aCIse2Q6Ik05LjM1IDE0LjUzIDEyIDExLjIyIn1dLFsicGF0aCIse2Q6Ik05LjM1IDE0LjUzQzcuNzI4IDEyLjI0NiA2IDEwLjIyMSA2IDdhNiA1IDAgMCAxIDEyIDBjLS4wMDUgMy4yMi0xLjc3OCA1LjIzNS0zLjQzIDcuNWwzLjU1NyA0LjUyN2ExIDEgMCAwIDEtLjIwMyAxLjQzbC0xLjg5NCAxLjM2YTEgMSAwIDAgMS0xLjM4NC0uMjE1TDEyIDE4bC0yLjY3OSAzLjU5M2ExIDEgMCAwIDEtMS4zOS4yMTNsLTEuODY1LTEuMzUzYTEgMSAwIDAgMS0uMjAzLTEuNDIyeiJ9XV0sZWFyPVtbInBhdGgiLHtkOiJNNC41IDE2LjVjLTEuNSAxLjI2LTIgNS0yIDVzMy43NC0uNSA1LTJjLjcxLS44NC43LTIuMTMtLjA5LTIuOTFhMi4xOCAyLjE4IDAgMCAwLTIuOTEtLjA5eiJ9XSxbInBhdGgiLHtkOiJtMTIgMTUtMy0zYTIyIDIyIDAgMCAxIDItMy45NUExMi44OCAxMi44OCAwIDAgMSAyMiAyYzAgMi43Mi0uNzggNy41LTYgMTFhMjIuMzUgMjIuMzUgMCAwIDEtNCAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMkg0cy41NS0zLjAzIDItNGMxLjYyLTEuMDggNSAwIDUgMCJ9XSxbInBhdGgiLHtkOiJNMTIgMTV2NXMzLjAzLS41NSA0LTJjMS4wOC0xLjYyIDAtNSAwLTUifV1dLHRhcj1bWyJwb2x5bGluZSIse3BvaW50czoiMy41IDIgNi41IDEyLjUgMTggMTIuNSJ9XSxbImxpbmUiLHt4MToiOS41Iix4MjoiNS41Iix5MToiMTIuNSIseTI6IjIwIn1dLFsibGluZSIse3gxOiIxNSIseDI6IjE4LjUiLHkxOiIxMi41Iix5MjoiMjAifV0sWyJwYXRoIix7ZDoiTTIuNzUgMThhMTMgMTMgMCAwIDAgMTguNSAwIn1dXSxyYXI9W1sicGF0aCIse2Q6Ik02IDE5VjUifV0sWyJwYXRoIix7ZDoiTTEwIDE5VjYuOCJ9XSxbInBhdGgiLHtkOiJNMTQgMTl2LTcuOCJ9XSxbInBhdGgiLHtkOiJNMTggNXY0In1dLFsicGF0aCIse2Q6Ik0xOCAxOXYtNiJ9XSxbInBhdGgiLHtkOiJNMjIgMTlWOSJ9XSxbInBhdGgiLHtkOiJNMiAxOVY5YTQgNCAwIDAgMSA0LTRjMiAwIDQgMS4zMyA2IDRzNCA0IDYgNGE0IDQgMCAxIDAtMy02LjY1In1dXSxhYXI9W1sicGF0aCIse2Q6Ik0xNyAxMGgtMWE0IDQgMCAxIDEgNC00di41MzQifV0sWyJwYXRoIix7ZDoiTTE3IDZoMWE0IDQgMCAwIDEgMS40MiA3Ljc0bC0yLjI5Ljg3YTYgNiAwIDAgMS01LjMzOS0xMC42OGwyLjA2OS0xLjMxIn1dLFsicGF0aCIse2Q6Ik00LjUgMTdjMi44LS41IDQuNCAwIDUuNS44czEuOCAyLjIgMi4zIDMuN2MtMiAuNC0zLjUuNC00LjgtLjMtMS4yLS42LTIuMy0xLjktMy00LjIifV0sWyJwYXRoIix7ZDoiTTkuNzcgMTJDNCAxNSAyIDIyIDIgMjIifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI4IixyOiIyIn1dXSxUUD1bWyJwYXRoIix7ZDoiTTE2LjQ2NiA3LjVDMTUuNjQzIDQuMjM3IDEzLjk1MiAyIDEyIDIgOS4yMzkgMiA3IDYuNDc3IDcgMTJzMi4yMzkgMTAgNSAxMGMuMzQyIDAgLjY3Ny0uMDY5IDEtLjIifV0sWyJwYXRoIix7ZDoibTE1LjE5NCAxMy43MDcgMy44MTQgMS44Ni0xLjg2IDMuODE0In1dLFsicGF0aCIse2Q6Ik0xOSAxNS41N2MtMS44MDQuODg1LTQuMjc0IDEuNDMtNyAxLjQzLTUuNTIzIDAtMTAtMi4yMzktMTAtNXM0LjQ3Ny01IDEwLTVjNC44MzggMCA4Ljg3MyAxLjcxOCA5LjggNCJ9XV0saWFyPVtbInBhdGgiLHtkOiJNMTIgN3Y2In1dLFsicGF0aCIse2Q6Ik0xMiA5aDIifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMSAwIDktOSA5Ljc0IDkuNzQgMCAwIDAtNi43NCAyLjc0TDMgOCJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE1IixyOiIyIn1dXSxuYXI9W1sicGF0aCIse2Q6Ik0yMCA5VjdhMiAyIDAgMCAwLTItMmgtNiJ9XSxbInBhdGgiLHtkOiJtMTUgMi0zIDMgMyAzIn1dLFsicGF0aCIse2Q6Ik0yMCAxM3Y1YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMmgyIn1dXSxzYXI9W1sicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDEgMCA5LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV1dLG9hcj1bWyJwYXRoIix7ZDoiTTEyIDVINmEyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoibTkgOCAzLTMtMy0zIn1dLFsicGF0aCIse2Q6Ik00IDE0djRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtMiJ9XV0sbGFyPVtbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMSAxLTktOWMyLjUyIDAgNC45MyAxIDYuNzQgMi43NEwyMSA4In1dLFsicGF0aCIse2Q6Ik0yMSAzdjVoLTUifV1dLGNhcj1bWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE5IixyOiIzIn1dLFsicGF0aCIse2Q6Ik05IDE5aDguNWMuNCAwIC45LS4xIDEuMy0uMiJ9XSxbInBhdGgiLHtkOiJNNS4yIDUuMkEzLjUgMy41MyAwIDAgMCA2LjUgMTJIMTIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEgMTUuM2EzLjUgMy41IDAgMCAwLTMuMy0zLjMifV0sWyJwYXRoIix7ZDoiTTE1IDVoLTQuMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjUiLHI6IjMifV1dLGRhcj1bWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE5IixyOiIzIn1dLFsicGF0aCIse2Q6Ik05IDE5aDguNWEzLjUgMy41IDAgMCAwIDAtN2gtMTFhMy41IDMuNSAwIDAgMSAwLTdIMTUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dXSx1YXI9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI4Iix4OiIyIix5OiIxNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYuMDEgMThINiJ9XSxbInBhdGgiLHtkOiJNMTAuMDEgMThIMTAifV0sWyJwYXRoIix7ZDoiTTE1IDEwdjQifV0sWyJwYXRoIix7ZDoiTTE3Ljg0IDcuMTdhNCA0IDAgMCAwLTUuNjYgMCJ9XSxbInBhdGgiLHtkOiJNMjAuNjYgNC4zNGE4IDggMCAwIDAtMTEuMzEgMCJ9XV0sX1A9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV1dLExQPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMSA5SDMifV0sWyJwYXRoIix7ZDoiTTIxIDE1SDMifV1dLHBhcj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjEgNy41SDMifV0sWyJwYXRoIix7ZDoiTTIxIDEySDMifV0sWyJwYXRoIix7ZDoiTTIxIDE2LjVIMyJ9XV0sZmFyPVtbInBhdGgiLHtkOiJNNCAxMWE5IDkgMCAwIDEgOSA5In1dLFsicGF0aCIse2Q6Ik00IDRhMTYgMTYgMCAwIDEgMTYgMTYifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIxIn1dXSxoYXI9W1sicGF0aCIse2Q6Ik0xMCAxNXYtMyJ9XSxbInBhdGgiLHtkOiJNMTQgMTV2LTMifV0sWyJwYXRoIix7ZDoiTTE4IDE1di0zIn1dLFsicGF0aCIse2Q6Ik0yIDhWNCJ9XSxbInBhdGgiLHtkOiJNMjIgNkgyIn1dLFsicGF0aCIse2Q6Ik0yMiA4VjQifV0sWyJwYXRoIix7ZDoiTTYgMTV2LTMifV0sWyJyZWN0Iix7eDoiMiIseToiMTIiLHdpZHRoOiIyMCIsaGVpZ2h0OiI4IixyeDoiMiJ9XV0sbWFyPVtbInBhdGgiLHtkOiJNNiAxMWg4YTQgNCAwIDAgMCAwLThIOXYxOCJ9XSxbInBhdGgiLHtkOiJNNiAxNWg4In1dXSxnYXI9W1sicGF0aCIse2Q6Ik0yMS4zIDE1LjNhMi40IDIuNCAwIDAgMSAwIDMuNGwtMi42IDIuNmEyLjQgMi40IDAgMCAxLTMuNCAwTDIuNyA4LjdhMi40MSAyLjQxIDAgMCAxIDAtMy40bDIuNi0yLjZhMi40MSAyLjQxIDAgMCAxIDMuNCAwWiJ9XSxbInBhdGgiLHtkOiJtMTQuNSAxMi41IDItMiJ9XSxbInBhdGgiLHtkOiJtMTEuNSA5LjUgMi0yIn1dLFsicGF0aCIse2Q6Im04LjUgNi41IDItMiJ9XSxbInBhdGgiLHtkOiJtMTcuNSAxNS41IDItMiJ9XV0sYmFyPVtbInBhdGgiLHtkOiJNNyAyMWgxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMjFhOSA5IDAgMCAwIDktOUgzYTkgOSAwIDAgMCA5IDlaIn1dLFsicGF0aCIse2Q6Ik0xMS4zOCAxMmEyLjQgMi40IDAgMCAxLS40LTQuNzcgMi40IDIuNCAwIDAgMSAzLjItMi43NyAyLjQgMi40IDAgMCAxIDMuNDctLjYzIDIuNCAyLjQgMCAwIDEgMy4zNyAzLjM3IDIuNCAyLjQgMCAwIDEtMS4xIDMuNyAyLjUxIDIuNTEgMCAwIDEgLjAzIDEuMSJ9XSxbInBhdGgiLHtkOiJtMTMgMTIgNC00In1dLFsicGF0aCIse2Q6Ik0xMC45IDcuMjVBMy45OSAzLjk5IDAgMCAwIDQgMTBjMCAuNzMuMiAxLjQxLjU0IDIifV1dLHhhcj1bWyJwYXRoIix7ZDoiTTEwIDJ2MTUifV0sWyJwYXRoIix7ZDoiTTcgMjJhNCA0IDAgMCAxLTQtNCAxIDEgMCAwIDEgMS0xaDE2YTEgMSAwIDAgMSAxIDEgNCA0IDAgMCAxLTQgNHoifV0sWyJwYXRoIix7ZDoiTTkuMTU5IDIuNDZhMSAxIDAgMCAxIDEuNTIxLS4xOTNsOS45NzcgOC45OEExIDEgMCAwIDEgMjAgMTNINGExIDEgMCAwIDEtLjgyNC0xLjU2N3oifV1dLHlhcj1bWyJwYXRoIix7ZDoibTIuMzcgMTEuMjIzIDguMzcyLTYuNzc3YTIgMiAwIDAgMSAyLjUxNiAwbDguMzcxIDYuNzc3In1dLFsicGF0aCIse2Q6Ik0yMSAxNWExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMWgtNS4yNSJ9XSxbInBhdGgiLHtkOiJNMyAxNWExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWg5In1dLFsicGF0aCIse2Q6Im02LjY3IDE1IDYuMTMgNC42YTIgMiAwIDAgMCAyLjgtLjRsMy4xNS00LjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjQiLHg6IjIiLHk6IjExIixyeDoiMSJ9XV0sd2FyPVtbInBhdGgiLHtkOiJNNCAxMGE3LjMxIDcuMzEgMCAwIDAgMTAgMTBaIn1dLFsicGF0aCIse2Q6Im05IDE1IDMtMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTNhNiA2IDAgMCAwLTYtNiJ9XSxbInBhdGgiLHtkOiJNMjEgMTNBMTAgMTAgMCAwIDAgMTEgMyJ9XV0sTWFyPVtbInBhdGgiLHtkOiJtMTMuNSA2LjUtMy4xNDgtMy4xNDhhMS4yMDUgMS4yMDUgMCAwIDAtMS43MDQgMEw2LjM1MiA1LjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0TDkuNSAxMC41In1dLFsicGF0aCIse2Q6Ik0xNi41IDcuNSAxOSA1In1dLFsicGF0aCIse2Q6Im0xNy41IDEwLjUgMy4xNDggMy4xNDhhMS4yMDUgMS4yMDUgMCAwIDEgMCAxLjcwNGwtMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDEtMS43MDQgMEwxMy41IDE0LjUifV0sWyJwYXRoIix7ZDoiTTkgMjFhNiA2IDAgMCAwLTYtNiJ9XSxbInBhdGgiLHtkOiJNOS4zNTIgMTAuNjQ4YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMS43MDQgMGw0LjI5Ni00LjI5NmExLjIwNSAxLjIwNSAwIDAgMCAwLTEuNzA0bC0yLjI5Ni0yLjI5NmExLjIwNSAxLjIwNSAwIDAgMC0xLjcwNCAweiJ9XV0sa2FyPVtbInBhdGgiLHtkOiJtMjAgMTkuNS01LjUgMS4yIn1dLFsicGF0aCIse2Q6Ik0xNC41IDR2MTEuMjJhMSAxIDAgMCAwIDEuMjQyLjk3TDIwIDE1LjIifV0sWyJwYXRoIix7ZDoibTIuOTc4IDE5LjM1MSA1LjU0OS0xLjM2M0EyIDIgMCAwIDAgMTAgMTZWMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTAgNCAxMy41In1dXSxTYXI9W1sicGF0aCIse2Q6Ik0xMCAydjNhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xOCAxOHYtNmExIDEgMCAwIDAtMS0xaC02YTEgMSAwIDAgMC0xIDF2NiJ9XSxbInBhdGgiLHtkOiJNMTggMjJINGEyIDIgMCAwIDEtMi0yVjYifV0sWyJwYXRoIix7ZDoiTTggMThhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOS4xNzJhMiAyIDAgMCAxIDEuNDE0LjU4NmwyLjgyOCAyLjgyOEEyIDIgMCAwIDEgMjIgNi44MjhWMTZhMiAyIDAgMCAxLTIuMDEgMnoifV1dLHphcj1bWyJwYXRoIix7ZDoiTTEzIDEzSDhhMSAxIDAgMCAwLTEgMXY3In1dLFsicGF0aCIse2Q6Ik0xNCA4aDEifV0sWyJwYXRoIix7ZDoiTTE3IDIxdi00In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwLjQxIDIwLjQxQTIgMiAwIDAgMSAxOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgLjU5LTEuNDEifV0sWyJwYXRoIix7ZDoiTTI5LjUgMTEuNXM1IDUgNCA1In1dLFsicGF0aCIse2Q6Ik05IDNoNi4yYTIgMiAwIDAgMSAxLjQuNmwzLjggMy44YTIgMiAwIDAgMSAuNiAxLjRWMTUifV1dLENhcj1bWyJwYXRoIix7ZDoiTTE1LjIgM2EyIDIgMCAwIDEgMS40LjZsMy44IDMuOGEyIDIgMCAwIDEgLjYgMS40VjE5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoiTTE3IDIxdi03YTEgMSAwIDAgMC0xLTFIOGExIDEgMCAwIDAtMSAxdjcifV0sWyJwYXRoIix7ZDoiTTcgM3Y0YTEgMSAwIDAgMCAxIDFoNyJ9XV0sJFA9W1sicGF0aCIse2Q6Ik01IDd2MTFhMSAxIDAgMCAwIDEgMWgxMSJ9XSxbInBhdGgiLHtkOiJNNS4yOTMgMTguNzA3IDExIDEzIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjIifV1dLFRhcj1bWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJwYXRoIix7ZDoibTE5IDggMyA4YTUgNSAwIDAgMS02IDB6VjcifV0sWyJwYXRoIix7ZDoiTTMgN2gxYTE3IDE3IDAgMCAwIDgtMiAxNyAxNyAwIDAgMCA4IDJoMSJ9XSxbInBhdGgiLHtkOiJtNSA4IDMgOGE1IDUgMCAwIDEtNiAwelY3In1dLFsicGF0aCIse2Q6Ik03IDIxaDEwIn1dXSxfYXI9W1sicGF0aCIse2Q6Ik0xMiAzSDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTcifV0sWyJwYXRoIix7ZDoiTTE0IDE1SDl2LTUifV0sWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Ik0yMSAzIDkgMTUifV1dLExhcj1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsicGF0aCIse2Q6Ik0xOC45NDQgMTIuMzNhMSAxIDAgMCAwIDAtLjY2IDcuNSA3LjUgMCAwIDAtMTMuODg4IDAgMSAxIDAgMCAwIDAgLjY2IDcuNSA3LjUgMCAwIDAgMTMuODg4IDAifV1dLCRhcj1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInBhdGgiLHtkOiJNOCA3djEwIn1dLFsicGF0aCIse2Q6Ik0xMiA3djEwIn1dLFsicGF0aCIse2Q6Ik0xNyA3djEwIn1dXSxEYXI9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTggMTRzMS41IDIgNCAyIDQtMiA0LTIifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDloLjAxIn1dXSxBYXI9W1sicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTcuODI4IDEzLjA3QTMgMyAwIDAgMSAxMiA4Ljc2NGEzIDMgMCAwIDEgNC4xNzIgNC4zMDZsLTMuNDQ3IDMuNjJhMSAxIDAgMCAxLTEuNDQ5IDB6In1dXSxFYXI9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTcgMTJoMTAifV1dLElhcj1bWyJwYXRoIix7ZDoiTTE3IDEydjRhMSAxIDAgMCAxLTEgMWgtNCJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTcgOFY3In1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNNyAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicmVjdCIse3g6IjciLHk6IjciLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXSxQYXI9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTYtMS45LTEuOSJ9XV0sTmFyPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik03IDhoOCJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNmg2In1dXSxGYXI9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV1dLE9hcj1bWyJwYXRoIix7ZDoiTTE0IDIxdi0zYTIgMiAwIDAgMC00IDB2MyJ9XSxbInBhdGgiLHtkOiJNMTggNXYxNiJ9XSxbInBhdGgiLHtkOiJtNCA2IDcuMTA2LTMuNzlhMiAyIDAgMCAxIDEuNzg4IDBMMjAgNiJ9XSxbInBhdGgiLHtkOiJtNiAxMS0zLjUyIDIuMTQ3YTEgMSAwIDAgMC0uNDguODU0VjE5YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNWExIDEgMCAwIDAtLjQ4LS44NTNMMTggMTEifV0sWyJwYXRoIix7ZDoiTTYgNXYxNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjkiLHI6IjIifV1dLFJhcj1bWyJwYXRoIix7ZDoiTTUuNDIgOS40MiA4IDEyIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiI4IixyOiIyIn1dLFsicGF0aCIse2Q6Im0xNCA2LTguNTggOC41OCJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTYiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEwLjggMTQuOCAxNCAxOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLTIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC0yIn1dXSxCYXI9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik04LjEyIDguMTIgMTIgMTIifV0sWyJwYXRoIix7ZDoiTTIwIDQgOC4xMiAxNS44OCJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTE0LjggMTQuOCAyMCAyMCJ9XV0sSGFyPVtbInBhdGgiLHtkOiJNMjEgNGgtMy41bDIgMTEuMDUifV0sWyJwYXRoIix7ZDoiTTYuOTUgMTdoNS4xNDJjLjUyMyAwIC45NS0uNDA2IDEuMDYzLS45MTZhNi41IDYuNSAwIDAgMSA1LjM0NS01LjAwOSJ9XSxbImNpcmNsZSIse2N4OiIxOS41IixjeToiMTcuNSIscjoiMi41In1dLFsiY2lyY2xlIix7Y3g6IjQuNSIsY3k6IjE3LjUiLHI6IjIuNSJ9XV0scWFyPVtbInBhdGgiLHtkOiJNMTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoibTIyIDMtNSA1In1dLFsicGF0aCIse2Q6Im0xNyAzIDUgNSJ9XV0samFyPVtbInBhdGgiLHtkOiJNMTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoibTE3IDggNS01In1dLFsicGF0aCIse2Q6Ik0xNyAzaDV2NSJ9XV0sVmFyPVtbInBhdGgiLHtkOiJNMTkgMTdWNWEyIDIgMCAwIDAtMi0ySDQifV0sWyJwYXRoIix7ZDoiTTggMjFoMTJhMiAyIDAgMCAwIDItMnYtMWExIDEgMCAwIDAtMS0xSDExYTEgMSAwIDAgMC0xIDF2MWEyIDIgMCAxIDEtNCAwVjVhMiAyIDAgMSAwLTQgMHYyYTEgMSAwIDAgMCAxIDFoMyJ9XV0sVWFyPVtbInBhdGgiLHtkOiJNMTUgMTJoLTUifV0sWyJwYXRoIix7ZDoiTTE1IDhoLTUifV0sWyJwYXRoIix7ZDoiTTE5IDE3VjVhMiAyIDAgMCAwLTItMkg0In1dLFsicGF0aCIse2Q6Ik04IDIxaDEyYTIgMiAwIDAgMCAyLTJ2LTFhMSAxIDAgMCAwLTEtMUgxMWExIDEgMCAwIDAtMSAxdjFhMiAyIDAgMSAxLTQgMFY1YTIgMiAwIDEgMC00IDB2MmExIDEgMCAwIDAgMSAxaDMifV1dLFdhcj1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XSxbInBhdGgiLHtkOiJNMTEgN3Y0In1dLFsicGF0aCIse2Q6Ik0xMSAxNWguMDEifV1dLEdhcj1bWyJwYXRoIix7ZDoibTggMTEgMiAyIDQtNCJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dXSxZYXI9W1sicGF0aCIse2Q6Im0xMyAxMy41IDItMi41LTItMi41In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dLFsicGF0aCIse2Q6Ik05IDguNSA3IDExbDIgMi41In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV1dLFphcj1bWyJwYXRoIix7ZDoibTEzLjUgOC41LTUgNSJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dXSxYYXI9W1sicGF0aCIse2Q6Im0xMy41IDguNS01IDUifV0sWyJwYXRoIix7ZDoibTguNSA4LjUgNSA1In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV0sWyJwYXRoIix7ZDoibTIxIDIxLTQuMy00LjMifV1dLFFhcj1bWyJwYXRoIix7ZDoibTIxIDIxLTQuMzQtNC4zNCJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dXSxKYXI9W1sicGF0aCIse2Q6Ik0xNiA1YTQgMyAwIDAgMC04IDBjMCA0IDggMyA4IDdhNCAzIDAgMCAxLTggMCJ9XSxbInBhdGgiLHtkOiJNOCAxOWE0IDMgMCAwIDAgOCAwYzAtNC04LTMtOC03YTQgMyAwIDAgMSA4IDAifV1dLERQPVtbInBhdGgiLHtkOiJNMy43MTQgMy4wNDhhLjQ5OC40OTggMCAwIDAtLjY4My42MjdsMi44NDMgNy42MjdhMiAyIDAgMCAxIDAgMS4zOTZsLTIuODQyIDcuNjI3YS40OTguNDk4IDAgMCAwIC42ODIuNjI3bDE4LTguNWEuNS41IDAgMCAwIDAtLjkwNHoifV0sWyJwYXRoIix7ZDoiTTYgMTJoMTYifV1dLEthcj1bWyJyZWN0Iix7eDoiMTQiLHk6IjE0Iix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMiJ9XSxbInJlY3QiLHt4OiIyIix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAxNHYxYTIgMiAwIDAgMCAyIDJoMSJ9XSxbInBhdGgiLHtkOiJNMTQgN2gxYTIgMiAwIDAgMSAyIDJ2MSJ9XV0sZWlyPVtbInBhdGgiLHtkOiJNMTQuNTM2IDIxLjY4NmEuNS41IDAgMCAwIC45MzctLjAyNGw2LjUtMTlhLjQ5Ni40OTYgMCAwIDAtLjYzNS0uNjM1bC0xOSA2LjVhLjUuNSAwIDAgMC0uMDI0LjkzN2w3LjkzIDMuMThhMiAyIDAgMCAxIDEuMTEyIDEuMTF6In1dLFsicGF0aCIse2Q6Im0yMS44NTQgMi4xNDctMTAuOTQgMTAuOTM5In1dXSx0aXI9W1sicGF0aCIse2Q6Ik0xMiAzdjE4In1dLFsicGF0aCIse2Q6Im0xNiAxNiA0LTQtNC00In1dLFsicGF0aCIse2Q6Im04IDgtNCA0IDQgNCJ9XV0scmlyPVtbInBhdGgiLHtkOiJtMTYgMTYtNCA0LTQtNCJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XSxbInBhdGgiLHtkOiJtOCA4IDQtNCA0IDQifV1dLGFpcj1bWyJwYXRoIix7ZDoibTEwLjg1MiAxNC43NzItLjM4My45MjMifV0sWyJwYXRoIix7ZDoiTTEzLjE0OCAxNC43NzJhMyAzIDAgMSAwLTIuMjk2LTUuNTQ0bC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTEzLjE0OCA5LjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTMuNTMgMTUuNjk2LS4zODItLjkyNGEzIDMgMCAxIDEtMi4yOTYtNS41NDQifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxMC44NTIuOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxMy4xNDguOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNNC41IDEwSDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJoLS41In1dLFsicGF0aCIse2Q6Ik00LjUgMTRINGEyIDIgMCAwIDAtMiAydjRhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi00YTIgMiAwIDAgMC0yLTJoLS41In1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNNiA2aC4wMSJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTAuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTMuMTQ4LS45MjMuMzgzIn1dXSxpaXI9W1sicGF0aCIse2Q6Ik02IDEwSDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTYgMTRINGEyIDIgMCAwIDAtMiAydjRhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi00YTIgMiAwIDAgMC0yLTJoLTIifV0sWyJwYXRoIix7ZDoiTTYgNmguMDEifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Im0xMyA2LTQgNmg2bC00IDYifV1dLG5pcj1bWyJwYXRoIix7ZDoiTTcgMmgxM2EyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtNSJ9XSxbInBhdGgiLHtkOiJNMTAgMTAgMi41IDIuNUMyIDIgMiAyLjUgMiA1djNhMiAyIDAgMCAwIDIgMmg2eiJ9XSxbInBhdGgiLHtkOiJNMjIgMTd2LTFhMiAyIDAgMCAwLTItMmgtMSJ9XSxbInBhdGgiLHtkOiJNNCAxNGEyIDIgMCAwIDAtMiAydjRhMiAyIDAgMCAwIDIgMmgxNi41bDEtLjUuNS41LTgtOEg0eiJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV0sc2lyPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMiIscng6IjIiLHJ5OiIyIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI4Iix4OiIyIix5OiIxNCIscng6IjIiLHJ5OiIyIn1dLFsibGluZSIse3gxOiI2Iix4MjoiNi4wMSIseTE6IjYiLHkyOiI2In1dLFsibGluZSIse3gxOiI2Iix4MjoiNi4wMSIseTE6IjE4Iix5MjoiMTgifV1dLG9pcj1bWyJwYXRoIix7ZDoiTTE0IDE3SDUifV0sWyJwYXRoIix7ZDoiTTE5IDdoLTkifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNyIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiNyIscjoiMyJ9XV0sbGlyPVtbInBhdGgiLHtkOiJNOS42NzEgNC4xMzZhMi4zNCAyLjM0IDAgMCAxIDQuNjU5IDAgMi4zNCAyLjM0IDAgMCAwIDMuMzE5IDEuOTE1IDIuMzQgMi4zNCAwIDAgMSAyLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMCAwIDMuODMxIDIuMzQgMi4zNCAwIDAgMS0yLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMC0zLjMxOSAxLjkxNSAyLjM0IDIuMzQgMCAwIDEtNC42NTkgMCAyLjM0IDIuMzQgMCAwIDAtMy4zMi0xLjkxNSAyLjM0IDIuMzQgMCAwIDEtMi4zMy00LjAzMyAyLjM0IDIuMzQgMCAwIDAgMC0zLjgzMUEyLjM0IDIuMzQgMCAwIDEgNi4zNSA2LjA1MWEyLjM0IDIuMzQgMCAwIDAgMy4zMTktMS45MTUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XV0sY2lyPVtbInBhdGgiLHtkOiJNOC4zIDEwYS43LjcgMCAwIDEtLjYyNi0xLjA3OUwxMS40IDNhLjcuNyAwIDAgMSAxLjE5OC0uMDQzTDE2LjMgOC45YS43LjcgMCAwIDEtLjU3MiAxLjFaIn1dLFsicmVjdCIse3g6IjMiLHk6IjE0Iix3aWR0aDoiNyIsaGVpZ2h0OiI3IixyeDoiMSJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTcuNSIscjoiMy41In1dXSxkaXI9W1siY2lyY2xlIix7Y3g6IjE4IixjeToiNSIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTIiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOSIscjoiMyJ9XSxbImxpbmUiLHt4MToiOC41OSIseDI6IjE1LjQyIix5MToiMTMuNTEiLHkyOiIxNy40OSJ9XSxbImxpbmUiLHt4MToiMTUuNDEiLHgyOiI4LjU5Iix5MToiNi41MSIseTI6IjEwLjQ5In1dXSx1aXI9W1sicGF0aCIse2Q6Ik0xMiAydjEzIn1dLFsicGF0aCIse2Q6Im0xNiA2LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTQgMTJ2OGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTgifV1dLHBpcj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJsaW5lIix7eDE6IjMiLHgyOiIyMSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiIzIix4MjoiMjEiLHkxOiIxNSIseTI6IjE1In1dLFsibGluZSIse3gxOiI5Iix4MjoiOSIseTE6IjkiLHkyOiIyMSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNSIseTE6IjkiLHkyOiIyMSJ9XV0sZmlyPVtbInBhdGgiLHtkOiJNMTQgMTFhMiAyIDAgMSAxLTQgMCA0IDQgMCAwIDEgOCAwIDYgNiAwIDAgMS0xMiAwIDggOCAwIDAgMSAxNiAwIDEwIDEwIDAgMSAxLTIwIDAgMTEuOTMgMTEuOTMgMCAwIDEgMi40Mi03LjIyIDIgMiAwIDEgMSAzLjE2IDIuNDQifV1dLGhpcj1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik0xMiA4djQifV0sWyJwYXRoIix7ZDoiTTEyIDE2aC4wMSJ9XV0sbWlyPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoibTQuMjQzIDUuMjEgMTQuMzkgMTIuNDcyIn1dXSxnaXI9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXSxiaXI9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dXSx2aXI9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJWMiJ9XV0seGlyPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTkgMTJoNiJ9XV0seWlyPVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik01IDVhMSAxIDAgMCAwLTEgMXY3YzAgNSAzLjUgNy41IDcuNjcgOC45NGExIDEgMCAwIDAgLjY3LjAxYzIuMzUtLjgyIDQuNDgtMS45NyA1LjktMy43MSJ9XSxbInBhdGgiLHtkOiJNOS4zMDkgMy42NTJBMTIuMjUyIDEyLjI1MiAwIDAgMCAxMS4yNCAyLjI4YTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXY3YTkuNzg0IDkuNzg0IDAgMCAxLS4wOCAxLjI2NCJ9XV0sd2lyPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTkgMTJoNiJ9XSxbInBhdGgiLHtkOiJNMTIgOXY2In1dXSxBUD1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik05LjEgOWEzIDMgMCAwIDEgNS44MiAxYzAgMi0zIDMtMyAzIn1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV1dLE1pcj1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik02LjM3NiAxOC45MWE2IDYgMCAwIDEgMTEuMjQ5LjAwMyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExIixyOiI0In1dXSxFUD1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Im0xNC41IDkuNS01IDUifV0sWyJwYXRoIix7ZDoibTkuNSA5LjUgNSA1In1dXSxraXI9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XV0sU2lyPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI4In1dLFsicGF0aCIse2Q6Ik0xMiAydjcuNSJ9XSxbInBhdGgiLHtkOiJtMTkgNS01LjIzIDUuMjMifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC03LjUifV0sWyJwYXRoIix7ZDoibTE5IDE5LTUuMjMtNS4yMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTQuNVYyMiJ9XSxbInBhdGgiLHtkOiJNMTAuMjMgMTMuNzcgNSAxOSJ9XSxbInBhdGgiLHtkOiJNOS41IDEySDIifV0sWyJwYXRoIix7ZDoiTTEwLjIzIDEwLjIzIDUgNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyLjUifV1dLHppcj1bWyJwYXRoIix7ZDoiTTEyIDEwLjE4OVYxNCJ9XSxbInBhdGgiLHtkOiJNMTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0xOSAxM1Y3YTIgMiAwIDAgMC0yLTJIN2EyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoiTTE5LjM4IDIwQTExLjYgMTEuNiAwIDAgMCAyMSAxNGwtOC4xODgtMy42MzlhMiAyIDAgMCAwLTEuNjI0IDBMMyAxNGExMS42IDExLjYgMCAwIDAgMi44MSA3Ljc2In1dLFsicGF0aCIse2Q6Ik0yIDIxYy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxczEuMiAxIDIuNSAxYzIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XV0sQ2lyPVtbInBhdGgiLHtkOiJNMjAuMzggMy40NiAxNiAyYTQgNCAwIDAgMS04IDBMMy42MiAzLjQ2YTIgMiAwIDAgMC0xLjM0IDIuMjNsLjU4IDMuNDdhMSAxIDAgMCAwIC45OS44NEg2djEwYzAgMS4xLjkgMiAyIDJoOGEyIDIgMCAwIDAgMi0yVjEwaDIuMTVhMSAxIDAgMCAwIC45OS0uODRsLjU4LTMuNDdhMiAyIDAgMCAwLTEuMzQtMi4yM3oifV1dLFRpcj1bWyJwYXRoIix7ZDoiTTE2IDEwYTQgNCAwIDAgMS04IDAifV0sWyJwYXRoIix7ZDoiTTMuMTAzIDYuMDM0aDE3Ljc5NCJ9XSxbInBhdGgiLHtkOiJNMy40IDUuNDY3YTIgMiAwIDAgMC0uNCAxLjJWMjBhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yVjYuNjY3YTIgMiAwIDAgMC0uNC0xLjJsLTItMi42NjdBMiAyIDAgMCAwIDE3IDJIN2EyIDIgMCAwIDAtMS42Ljh6In1dXSxfaXI9W1sicGF0aCIse2Q6Im0xNSAxMS0xIDkifV0sWyJwYXRoIix7ZDoibTE5IDExLTQtNyJ9XSxbInBhdGgiLHtkOiJNMiAxMWgyMCJ9XSxbInBhdGgiLHtkOiJtMy41IDExIDEuNiA3LjRhMiAyIDAgMCAwIDIgMS42aDkuOGEyIDIgMCAwIDAgMi0xLjZsMS43LTcuNCJ9XSxbInBhdGgiLHtkOiJNNC41IDE1LjVoMTUifV0sWyJwYXRoIix7ZDoibTUgMTEgNC03In1dLFsicGF0aCIse2Q6Im05IDExIDEgOSJ9XV0sTGlyPVtbImNpcmNsZSIse2N4OiI4IixjeToiMjEiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIyMSIscjoiMSJ9XSxbInBhdGgiLHtkOiJNMi4wNSAyLjA1aDJsMi42NiAxMi40MmEyIDIgMCAwIDAgMiAxLjU4aDkuNzhhMiAyIDAgMCAwIDEuOTUtMS41N2wxLjY1LTcuNDNINS4xMiJ9XV0sJGlyPVtbInBhdGgiLHtkOiJNMjEuNTYgNC41NmExLjUgMS41IDAgMCAxIDAgMi4xMjJsLS40Ny40N2EzIDMgMCAwIDEtNC4yMTItLjAzIDMgMyAwIDAgMSAwLTQuMjQzbC40NC0uNDRhMS41IDEuNSAwIDAgMSAyLjEyMSAweiJ9XSxbInBhdGgiLHtkOiJNMyAyMmExIDEgMCAwIDEtMS0xdi0zLjU4NmExIDEgMCAwIDEgLjI5My0uNzA3bDMuMzU1LTMuMzU1YTEuMjA1IDEuMjA1IDAgMCAxIDEuNzA0IDBsMy4yOTYgMy4yOTZhMS4yMDUgMS4yMDUgMCAwIDEgMCAxLjcwNGwtMy4zNTUgMy4zNTVhMSAxIDAgMCAxLS43MDcuMjkzeiJ9XSxbInBhdGgiLHtkOiJtOSAxNSA3Ljg3OS03Ljg3OCJ9XV0sRGlyPVtbInBhdGgiLHtkOiJtNCA0IDIuNSAyLjUifV0sWyJwYXRoIix7ZDoiTTEzLjUgNi41YTQuOTUgNC45NSAwIDAgMC03IDcifV0sWyJwYXRoIix7ZDoiTTE1IDUgNSAxNSJ9XSxbInBhdGgiLHtkOiJNMTQgMTd2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNnYuMDEifV0sWyJwYXRoIix7ZDoiTTEzIDEzdi4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTB2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMSAyMHYuMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE0di4wMSJ9XSxbInBhdGgiLHtkOiJNMjAgMTF2LjAxIn1dXSxBaXI9W1sicGF0aCIse2Q6Ik00IDEzVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHY1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAyMnYtNSJ9XSxbInBhdGgiLHtkOiJNMTQgMTl2LTIifV0sWyJwYXRoIix7ZDoiTTE4IDIwdi0zIn1dLFsicGF0aCIse2Q6Ik0yIDEzaDIwIn1dLFsicGF0aCIse2Q6Ik02IDIwdi0zIn1dXSxFaXI9W1sicGF0aCIse2Q6Ik0xMSAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEzIDIyYy41LS41IDEuMTItMSAyLjUtMS0xLjM4IDAtMi0uNS0yLjUtMSJ9XSxbInBhdGgiLHtkOiJNMTQgMmEzLjI4IDMuMjggMCAwIDEtMy4yMjcgMS43OThsLTYuMTctLjU2MUEyLjM4NyAyLjM4NyAwIDEgMCA0LjM4NyA4SDE1LjVhMSAxIDAgMCAxIDAgMTMgMSAxIDAgMCAwIDAtNUgxMmE3IDcgMCAwIDEtNy03VjgifV0sWyJwYXRoIix7ZDoiTTE0IDhhOC41IDguNSAwIDAgMSAwIDgifV0sWyJwYXRoIix7ZDoiTTE2IDE2YzIgMCA0LjUtNCA0LTYifV1dLElpcj1bWyJwYXRoIix7ZDoibTE1IDE1IDYgNm0tNi02djQuOG0wLTQuOGg0LjgifV0sWyJwYXRoIix7ZDoiTTkgMTkuOFYxNW0wIDBINC4yTTkgMTVsLTYgNiJ9XSxbInBhdGgiLHtkOiJNMTUgNC4yVjltMCAwaDQuOE0xNSA5bDYtNiJ9XSxbInBhdGgiLHtkOiJNOSA0LjJWOW0wIDBINC4yTTkgOSAzIDMifV1dLFBpcj1bWyJwYXRoIix7ZDoibTE4IDE0IDQgNC00IDQifV0sWyJwYXRoIix7ZDoibTE4IDIgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMiAxOGgxLjk3M2E0IDQgMCAwIDAgMy4zLTEuN2w1LjQ1NC04LjZhNCA0IDAgMCAxIDMuMy0xLjdIMjIifV0sWyJwYXRoIix7ZDoiTTIgNmgxLjk3MmE0IDQgMCAwIDEgMy42IDIuMiJ9XSxbInBhdGgiLHtkOiJNMjIgMThoLTYuMDQxYTQgNCAwIDAgMS0zLjMtMS44bC0uMzU5LS40NSJ9XV0sTmlyPVtbInBhdGgiLHtkOiJNMTIgMjJ2LTUuMTcyYTIgMiAwIDAgMC0uNTg2LTEuNDE0TDkuNSAxMy41In1dLFsicGF0aCIse2Q6Ik0xNC41IDE0LjUgMTIgMTcifV0sWyJwYXRoIix7ZDoiTTE3IDguOEE2IDYgMCAwIDEgMTMuOCAyMEgxMEE2LjUgNi41IDAgMCAxIDcgOGE1IDUgMCAwIDEgMTAgMHoifV1dLEZpcj1bWyJwYXRoIix7ZDoiTTE4IDdWNWExIDEgMCAwIDAtMS0xSDYuNWEuNS41IDAgMCAwLS40LjhsNC41IDZhMiAyIDAgMCAxIDAgMi40bC00LjUgNmEuNS41IDAgMCAwIC40LjhIMTdhMSAxIDAgMCAwIDEtMXYtMiJ9XV0sT2lyPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMjB2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dLFsicGF0aCIse2Q6Ik0xNyAyMFY4In1dXSxSaXI9W1sicGF0aCIse2Q6Ik0yIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAyMHYtNCJ9XV0sQmlyPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMjB2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dXSxIaXI9W1sicGF0aCIse2Q6Ik0yIDIwaC4wMSJ9XV0scWlyPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMjB2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dLFsicGF0aCIse2Q6Ik0xNyAyMFY4In1dLFsicGF0aCIse2Q6Ik0yMiA0djE2In1dXSxqaXI9W1sicGF0aCIse2Q6Im0yMSAxNy0yLjE1Ni0xLjg2OEEuNS41IDAgMCAwIDE4IDE1LjV2LjVhMSAxIDAgMCAxLTEgMWgtMmExIDEgMCAwIDEtMS0xYzAtMi41NDUtMy45OTEtMy45Ny04LjUtNGExIDEgMCAwIDAgMCA1YzQuMTUzIDAgNC43NDUtMTEuMjk1IDUuNzA4LTEzLjVhMi41IDIuNSAwIDEgMSAzLjMxIDMuMjg0In1dLFsicGF0aCIse2Q6Ik0zIDIxaDE4In1dXSxWaXI9W1sicGF0aCIse2Q6Ik0xMCA5SDRMMiA3bDItMmg2In1dLFsicGF0aCIse2Q6Ik0xNCA1aDZsMiAyLTIgMmgtNiJ9XSxbInBhdGgiLHtkOiJNMTAgMjJWNGEyIDIgMCAxIDEgNCAwdjE4In1dLFsicGF0aCIse2Q6Ik04IDIyaDgifV1dLFVpcj1bWyJwYXRoIix7ZDoiTTEyIDEzdjgifV0sWyJwYXRoIix7ZDoiTTEyIDN2MyJ9XSxbInBhdGgiLHtkOiJNMTggNmEyIDIgMCAwIDEgMS4zODcuNTZsMi4zMDcgMi4yMmExIDEgMCAwIDEgMCAxLjQ0bC0yLjMwNyAyLjIyQTIgMiAwIDAgMSAxOCAxM0g2YTIgMiAwIDAgMS0xLjM4Ny0uNTZsLTIuMzA2LTIuMjJhMSAxIDAgMCAxIDAtMS40NGwyLjMwNi0yLjIyQTIgMiAwIDAgMSA2IDZ6In1dXSxXaXI9W1sicGF0aCIse2Q6Ik03IDE4di02YTUgNSAwIDEgMSAxMCAwdjYifV0sWyJwYXRoIix7ZDoiTTUgMjFhMSAxIDAgMCAwIDEgMWgxMmExIDEgMCAwIDAgMS0xdi0xYTIgMiAwIDAgMC0yLTJIN2EyIDIgMCAwIDAtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoMSJ9XSxbInBhdGgiLHtkOiJNMTguNSA0LjUgMTggNSJ9XSxbInBhdGgiLHtkOiJNMiAxMmgxIn1dLFsicGF0aCIse2Q6Ik0xMiAydjEifV0sWyJwYXRoIix7ZDoibTQuOTI5IDQuOTI5LjcwNy43MDcifV0sWyJwYXRoIix7ZDoiTTEyIDEydjYifV1dLEdpcj1bWyJwYXRoIix7ZDoiTTE3Ljk3MSA0LjI4NUEyIDIgMCAwIDEgMjEgNnYxMmEyIDIgMCAwIDEtMy4wMjkgMS43MTVsLTkuOTk3LTUuOTk4YTIgMiAwIDAgMS0uMDAzLTMuNDMyeiJ9XSxbInBhdGgiLHtkOiJNMyAyMFY0In1dXSxZaXI9W1sicGF0aCIse2Q6Ik0yMSA0djE2In1dLFsicGF0aCIse2Q6Ik02LjAyOSA0LjI4NUEyIDIgMCAwIDAgMyA2djEyYTIgMiAwIDAgMCAzLjAyOSAxLjcxNWw5Ljk5Ny01Ljk5OGEyIDIgMCAwIDAgLjAwMy0zLjQzMnoifV1dLFppcj1bWyJwYXRoIix7ZDoibTEyLjUgMTctLjUtMS0uNSAxaDF6In1dLFsicGF0aCIse2Q6Ik0xNSAyMmExIDEgMCAwIDAgMS0xdi0xYTIgMiAwIDAgMCAxLjU2LTMuMjUgOCA4IDAgMSAwLTExLjEyIDBBMiAyIDAgMCAwIDggMjB2MWExIDEgMCAwIDAgMSAxeiJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMSJ9XV0sWGlyPVtbInJlY3QiLHt3aWR0aDoiMyIsaGVpZ2h0OiI4Iix4OiIxMyIseToiMiIscng6IjEuNSJ9XSxbInBhdGgiLHtkOiJNMTkgOC41VjEwaDEuNUExLjUgMS41IDAgMSAwIDE5IDguNSJ9XSxbInJlY3QiLHt3aWR0aDoiMyIsaGVpZ2h0OiI4Iix4OiI4Iix5OiIxNCIscng6IjEuNSJ9XSxbInBhdGgiLHtkOiJNNSAxNS41VjE0SDMuNUExLjUgMS41IDAgMSAwIDUgMTUuNSJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIzIix4OiIxNCIseToiMTMiLHJ4OiIxLjUifV0sWyJwYXRoIix7ZDoiTTE1LjUgMTlIMTR2MS41YTEuNSAxLjUgMCAxIDAgMS41LTEuNSJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIzIix4OiIyIix5OiI4IixyeDoiMS41In1dLFsicGF0aCIse2Q6Ik04LjUgNUgxMFYzLjVBMS41IDEuNSAwIDEgMCA4LjUgNSJ9XV0sUWlyPVtbInBhdGgiLHtkOiJNMjIgMiAyIDIyIn1dXSxKaXI9W1sicGF0aCIse2Q6Ik0xMSAxNi41ODZWMTlhMSAxIDAgMCAxLTEgMUgyTDE4LjM3IDMuNjNhMSAxIDAgMSAxIDMgM2wtOS42NjMgOS42NjNhMSAxIDAgMCAxLTEuNDE0IDBMOCAxNCJ9XV0sS2lyPVtbInBhdGgiLHtkOiJNMTAgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMiAxOUgzIn1dLFsicGF0aCIse2Q6Ik0xNCAzdjQifV0sWyJwYXRoIix7ZDoiTTE2IDE3djQifV0sWyJwYXRoIix7ZDoiTTIxIDEyaC05In1dLFsicGF0aCIse2Q6Ik0yMSAxOWgtNSJ9XSxbInBhdGgiLHtkOiJNMjEgNWgtNyJ9XSxbInBhdGgiLHtkOiJNOCAxMHY0In1dLFsicGF0aCIse2Q6Ik04IDEySDMifV1dLElQPVtbInBhdGgiLHtkOiJNMTAgOGg0In1dLFsicGF0aCIse2Q6Ik0xMiAyMXYtOSJ9XSxbInBhdGgiLHtkOiJNMTIgOFYzIn1dLFsicGF0aCIse2Q6Ik0xNyAxNmg0In1dLFsicGF0aCIse2Q6Ik0xOSAxMlYzIn1dLFsicGF0aCIse2Q6Ik0xOSAyMXYtNSJ9XSxbInBhdGgiLHtkOiJNMyAxNGg0In1dLFsicGF0aCIse2Q6Ik01IDEwVjMifV0sWyJwYXRoIix7ZDoiTTUgMjF2LTcifV1dLGVucj1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjIwIix4OiI1Iix5OiIyIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTEyLjY2NyA4IDEwIDEyaDRsLTIuNjY3IDQifV1dLHRucj1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xMyA4LjMyYTcuNDMgNy40MyAwIDAgMSAwIDcuMzYifV0sWyJwYXRoIix7ZDoiTTE2LjQ2IDYuMjFhMTEuNzYgMTEuNzYgMCAwIDEgMCAxMS41OCJ9XSxbInBhdGgiLHtkOiJNMTkuOTEgNC4xYTE1LjkxIDE1LjkxIDAgMCAxIC4wMSAxNS44In1dXSxybnI9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIyMCIseDoiNSIseToiMiIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGguMDEifV1dLGFucj1bWyJwYXRoIix7ZDoiTTIyIDExdjFhMTAgMTAgMCAxIDEtOS0xMCJ9XSxbInBhdGgiLHtkOiJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dLFsicGF0aCIse2Q6Ik0xNiA1aDYifV0sWyJwYXRoIix7ZDoiTTE5IDJ2NiJ9XV0saW5yPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXSxubnI9W1sicGF0aCIse2Q6Ik0yIDEzYTYgNiAwIDEgMCAxMiAwIDQgNCAwIDEgMC04IDAgMiAyIDAgMCAwIDQgMCJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik0yIDIxaDEyYzQuNCAwIDgtMy42IDgtOFY3YTIgMiAwIDEgMC00IDB2NiJ9XSxbInBhdGgiLHtkOiJNMTggMyAxOS4xIDUuMiJ9XSxbInBhdGgiLHtkOiJNMjIgMyAyMC45IDUuMiJ9XV0sc25yPVtbInBhdGgiLHtkOiJNMTAuNSAydjQifV0sWyJwYXRoIix7ZDoiTTE0IDJIN2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xOS4yOSAxNC43NkE2LjY3IDYuNjcgMCAwIDEgMTcgMTFhNi42IDYuNiAwIDAgMS0yLjI5IDMuNzZjLTEuMTUuOTItMS43MSAyLjA0LTEuNzEgMy4xOSAwIDIuMjIgMS44IDQuMDUgNCA0LjA1czQtMS44MyA0LTQuMDVjMC0xLjE2LS41Ny0yLjI2LTEuNzEtMy4xOSJ9XSxbInBhdGgiLHtkOiJNOS42MDcgMjFINmEyIDIgMCAwIDEtMi0ydi03YTIgMiAwIDAgMSAyLTJoN1Y3YTEgMSAwIDAgMC0xLTFIOWExIDEgMCAwIDAtMSAxdjMifV1dLG9ucj1bWyJwYXRoIix7ZDoibTEwIDIwLTEuMjUtMi41TDYgMTgifV0sWyJwYXRoIix7ZDoiTTEwIDQgOC43NSA2LjUgNiA2In1dLFsicGF0aCIse2Q6Im0xNCAyMCAxLjI1LTIuNUwxOCAxOCJ9XSxbInBhdGgiLHtkOiJtMTQgNCAxLjI1IDIuNUwxOCA2In1dLFsicGF0aCIse2Q6Im0xNyAyMS0zLTZoLTQifV0sWyJwYXRoIix7ZDoibTE3IDMtMyA2IDEuNSAzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDYuNUwxMCA5In1dLFsicGF0aCIse2Q6Im0yMCAxMC0xLjUgMiAxLjUgMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTYuNUwxNCAxNSJ9XSxbInBhdGgiLHtkOiJtNCAxMCAxLjUgMkw0IDE0In1dLFsicGF0aCIse2Q6Im03IDIxIDMtNi0xLjUtMyJ9XSxbInBhdGgiLHtkOiJtNyAzIDMgNmg0In1dXSxsbnI9W1sicGF0aCIse2Q6Ik0yMCA5VjZhMiAyIDAgMCAwLTItMkg2YTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMiAxNmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTVhMiAyIDAgMCAwLTQgMHYxLjVhLjUuNSAwIDAgMS0uNS41aC0xMWEuNS41IDAgMCAxLS41LS41VjExYTIgMiAwIDAgMC00IDB6In1dLFsicGF0aCIse2Q6Ik00IDE4djIifV0sWyJwYXRoIix7ZDoiTTIwIDE4djIifV0sWyJwYXRoIix7ZDoiTTEyIDR2OSJ9XV0sY25yPVtbInBhdGgiLHtkOiJNMTEgMmgyIn1dLFsicGF0aCIse2Q6Im0xNC4yOCAxNC00LjU2IDgifV0sWyJwYXRoIix7ZDoibTIxIDIyLTEuNTU4LTRINC41NTgifV0sWyJwYXRoIix7ZDoiTTMgMTB2MiJ9XSxbInBhdGgiLHtkOiJNNi4yNDUgMTUuMDRBMiAyIDAgMCAxIDggMTRoMTJhMSAxIDAgMCAxIC44NjQgMS41MDVsLTMuMTEgNS40NTdBMiAyIDAgMCAxIDE2IDIySDRhMSAxIDAgMCAxLS44NjMtMS41MDZ6In1dLFsicGF0aCIse2Q6Ik03IDJhNCA0IDAgMCAxLTQgNCJ9XSxbInBhdGgiLHtkOiJtOC42NiA3LjY2IDEuNDEgMS40MSJ9XV0sZG5yPVtbInBhdGgiLHtkOiJNMTIgMjFhOSA5IDAgMCAwIDktOUgzYTkgOSAwIDAgMCA5IDlaIn1dLFsicGF0aCIse2Q6Ik03IDIxaDEwIn1dLFsicGF0aCIse2Q6Ik0xOS41IDEyIDIyIDYifV0sWyJwYXRoIix7ZDoiTTE2LjI1IDNjLjI3LjEuOC41My43NSAxLjM2LS4wNi44My0uOTMgMS4yLTEgMi4wMi0uMDUuNzguMzQgMS4yNC43MyAxLjYyIn1dLFsicGF0aCIse2Q6Ik0xMS4yNSAzYy4yNy4xLjguNTMuNzQgMS4zNi0uMDUuODMtLjkzIDEuMi0uOTggMi4wMi0uMDYuNzguMzMgMS4yNC43MiAxLjYyIn1dLFsicGF0aCIse2Q6Ik02LjI1IDNjLjI3LjEuOC41My43NSAxLjM2LS4wNi44My0uOTMgMS4yLTEgMi4wMi0uMDUuNzguMzQgMS4yNC43NCAxLjYyIn1dXSx1bnI9W1sicGF0aCIse2Q6Ik0yMiAxN3YxYzAgLjUtLjUgMS0xIDFIM2MtLjUgMC0xLS41LTEtMXYtMSJ9XV0scG5yPVtbInBhdGgiLHtkOiJNMTIgMTh2NCJ9XSxbInBhdGgiLHtkOiJNMiAxNC40OTlhNS41IDUuNSAwIDAgMCA5LjU5MSAzLjY3NS42LjYgMCAwIDEgLjgxOC4wMDFBNS41IDUuNSAwIDAgMCAyMiAxNC41YzAtMi4yOS0xLjUtNC0zLTUuNWwtNS40OTItNS4zMTJhMiAyIDAgMCAwLTMtLjAyTDUgOC45OTljLTEuNSAxLjUtMyAzLjItMyA1LjUifV1dLGZucj1bWyJwYXRoIix7ZDoiTTExLjAxNyAyLjgxNGExIDEgMCAwIDEgMS45NjYgMGwxLjA1MSA1LjU1OGEyIDIgMCAwIDAgMS41OTQgMS41OTRsNS41NTggMS4wNTFhMSAxIDAgMCAxIDAgMS45NjZsLTUuNTU4IDEuMDUxYTIgMiAwIDAgMC0xLjU5NCAxLjU5NGwtMS4wNTEgNS41NThhMSAxIDAgMCAxLTEuOTY2IDBsLTEuMDUxLTUuNTU4YTIgMiAwIDAgMC0xLjU5NC0xLjU5NGwtNS41NTgtMS4wNTFhMSAxIDAgMCAxIDAtMS45NjZsNS41NTgtMS4wNTFhMiAyIDAgMCAwIDEuNTk0LTEuNTk0eiJ9XV0sUFA9W1sicGF0aCIse2Q6Ik0xMS4wMTcgMi44MTRhMSAxIDAgMCAxIDEuOTY2IDBsMS4wNTEgNS41NThhMiAyIDAgMCAwIDEuNTk0IDEuNTk0bDUuNTU4IDEuMDUxYTEgMSAwIDAgMSAwIDEuOTY2bC01LjU1OCAxLjA1MWEyIDIgMCAwIDAtMS41OTQgMS41OTRsLTEuMDUxIDUuNTU4YTEgMSAwIDAgMS0xLjk2NiAwbC0xLjA1MS01LjU1OGEyIDIgMCAwIDAtMS41OTQtMS41OTRsLTUuNTU4LTEuMDUxYTEgMSAwIDAgMSAwLTEuOTY2bDUuNTU4LTEuMDUxYTIgMiAwIDAgMCAxLjU5NC0xLjU5NHoifV0sWyJwYXRoIix7ZDoiTTIwIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjIgNGgtNCJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMjAiLHI6IjIifV1dLGhucj1bWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgNmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNCIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dXSxtbnI9W1sicGF0aCIse2Q6Ik04LjggMjB2LTQuMWwxLjkuMmEyLjMgMi4zIDAgMCAwIDIuMTY0LTIuMVY4LjNBNS4zNyA1LjM3IDAgMCAwIDIgOC4yNWMwIDIuOC42NTYgMy4wNTQgMSA0LjU1YTUuNzcgNS43NyAwIDAgMSAuMDI5IDIuNzU4TDIgMjAifV0sWyJwYXRoIix7ZDoiTTE5LjggMTcuOGE3LjUgNy41IDAgMCAwIC4wMDMtMTAuNjAzIn1dLFsicGF0aCIse2Q6Ik0xNyAxNWEzLjUgMy41IDAgMCAwLS4wMjUtNC45NzUifV1dLGducj1bWyJwYXRoIix7ZDoibTYgMTYgNi0xMiA2IDEyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMjFjMS4xIDAgMS4xLTEgMi4zLTFzMS4xIDEgMi4zIDFjMS4xIDAgMS4xLTEgMi4zLTEgMS4xIDAgMS4xIDEgMi4zIDEgMS4xIDAgMS4xLTEgMi4zLTEgMS4xIDAgMS4xIDEgMi4zIDEgMS4xIDAgMS4xLTEgMi4zLTEifV1dLGJucj1bWyJwYXRoIix7ZDoibTYgMTYgNi0xMiA2IDEyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoibTE2IDIwIDIgMiA0LTQifV1dLHZucj1bWyJwYXRoIix7ZDoiTTEyLjAzNCAxMi42ODFhLjQ5OC40OTggMCAwIDEgLjY0Ny0uNjQ3bDkgMy41YS41LjUgMCAwIDEtLjAzMy45NDNsLTMuNDQ0IDEuMDY4YTEgMSAwIDAgMC0uNjYuNjZsLTEuMDY3IDMuNDQzYS41LjUgMCAwIDEtLjk0My4wMzN6In1dLFsicGF0aCIse2Q6Ik01IDE3QTEyIDEyIDAgMCAxIDE3IDUifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI1IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxOSIscjoiMiJ9XV0seG5yPVtbImNpcmNsZSIse2N4OiIxOSIsY3k6IjUiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIyIn1dLFsicGF0aCIse2Q6Ik01IDE3QTEyIDEyIDAgMCAxIDE3IDUifV1dLHlucj1bWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Ik04IDNIM3Y1In1dLFsicGF0aCIse2Q6Ik0xMiAyMnYtOC4zYTQgNCAwIDAgMC0xLjE3Mi0yLjg3MkwzIDMifV0sWyJwYXRoIix7ZDoibTE1IDkgNi02In1dXSx3bnI9W1sicGF0aCIse2Q6Ik0xNyAxMy40NCA0LjQ0MiAxNy4wODJBMiAyIDAgMCAwIDQuOTgyIDIxSDE5YTIgMiAwIDAgMCAuNTU4LTMuOTIxbC0xLjExNS0uMzJBMiAyIDAgMCAxIDE3IDE0LjgzN1Y3LjY2In1dLFsicGF0aCIse2Q6Im03IDEwLjU2IDEyLjU1OC0zLjY0MkEyIDIgMCAwIDAgMTkuMDE4IDNINWEyIDIgMCAwIDAtLjU1OCAzLjkyMWwxLjExNS4zMkEyIDIgMCAwIDEgNyA5LjE2M3Y3LjE3OCJ9XV0sTW5yPVtbInBhdGgiLHtkOiJNMTUuMjk1IDE5LjU2MiAxNiAyMiJ9XSxbInBhdGgiLHtkOiJtMTcgMTYgMy43NTggMi4wOTgifV0sWyJwYXRoIix7ZDoibTE5IDEyLjUgMy4wMjYtLjU5OCJ9XSxbInBhdGgiLHtkOiJNNy42MSA2LjNhMyAzIDAgMCAwLTMuOTIgMS4zbC0xLjM4IDIuNzlhMyAzIDAgMCAwIDEuMyAzLjkxbDYuODkgMy41OTdhMSAxIDAgMCAwIDEuMzQyLS40NDdsMy4xMDYtNi4yMTFhMSAxIDAgMCAwLS40NDctMS4zNDF6In1dLFsicGF0aCIse2Q6Ik04IDlWMiJ9XV0sa25yPVtbInBhdGgiLHtkOiJNMyAzaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyA1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTEgN2guMDEifV0sWyJwYXRoIix7ZDoiTTMgN2guMDEifV0sWyJwYXRoIix7ZDoiTTcgOWguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTFoLjAxIn1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjQiLHg6IjE1Iix5OiI1In1dLFsicGF0aCIse2Q6Im0xOSA5IDIgMnYxMGMwIC42LS40IDEtMSAxaC02Yy0uNiAwLTEtLjQtMS0xVjExbDItMiJ9XSxbInBhdGgiLHtkOiJtMTMgMTQgOC0yIn1dLFsicGF0aCIse2Q6Im0xMyAxOSA4LTIifV1dLFNucj1bWyJwYXRoIix7ZDoiTTE0IDkuNTM2VjdhNCA0IDAgMCAxIDQtNGgxLjVhLjUuNSAwIDAgMSAuNS41VjVhNCA0IDAgMCAxLTQgNCA0IDQgMCAwIDAtNCA0YzAgMiAxIDMgMSA1YTUgNSAwIDAgMS0xIDMifV0sWyJwYXRoIix7ZDoiTTQgOWE1IDUgMCAwIDEgOCA0IDUgNSAwIDAgMS04LTQifV0sWyJwYXRoIix7ZDoiTTUgMjFoMTQifV1dLE5QPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNiA4LTggOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTZIOFY4In1dXSxGUD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTcgMTJoLTJsLTIgNS0yLTEwLTIgNUg3In1dXSxPUD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtOCA4IDggOCJ9XSxbInBhdGgiLHtkOiJNMTYgOHY4SDgifV1dLFJQPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoibTggMTIgNCA0IDQtNCJ9XV0sQlA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTEyIDgtNCA0IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIOCJ9XV0sSFA9W1sicGF0aCIse2Q6Ik0xMyAyMWg2YTIgMiAwIDAgMCAyLTJWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnY2In1dLFsicGF0aCIse2Q6Im0zIDIxIDktOSJ9XSxbInBhdGgiLHtkOiJNOSAyMUgzdi02In1dXSxxUD1bWyJwYXRoIix7ZDoiTTEzIDNoNmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi02In1dLFsicGF0aCIse2Q6Im0zIDMgOSA5In1dLFsicGF0aCIse2Q6Ik0zIDlWM2g2In1dXSxqUD1bWyJwYXRoIix7ZDoiTTIxIDExVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2In1dLFsicGF0aCIse2Q6Im0yMSAyMS05LTkifV0sWyJwYXRoIix7ZDoiTTIxIDE1djZoLTYifV1dLFZQPVtbInBhdGgiLHtkOiJNMjEgMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNiJ9XSxbInBhdGgiLHtkOiJtMjEgMy05IDkifV0sWyJwYXRoIix7ZDoiTTE1IDNoNnY2In1dXSxVUD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Im0xMiAxNiA0LTQtNC00In1dXSxXUD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxNlY4aDgifV0sWyJwYXRoIix7ZDoiTTE2IDE2IDggOCJ9XV0sR1A9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggOGg4djgifV0sWyJwYXRoIix7ZDoibTggMTYgOC04In1dXSxZUD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTYgMTItNC00LTQgNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZWOCJ9XV0sWlA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDh2OCJ9XSxbInBhdGgiLHtkOiJtOC41IDE0IDctNCJ9XSxbInBhdGgiLHtkOiJtOC41IDEwIDcgNCJ9XV0sWFA9W1sibGluZSIse3gxOiI1Iix5MToiMyIseDI6IjE5Iix5MjoiMyJ9XSxbImxpbmUiLHt4MToiMyIseTE6IjUiLHgyOiIzIix5MjoiMTkifV0sWyJsaW5lIix7eDE6IjIxIix5MToiNSIseDI6IjIxIix5MjoiMTkifV0sWyJsaW5lIix7eDE6IjkiLHkxOiIyMSIseDI6IjEwIix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjE0Iix5MToiMjEiLHgyOiIxNSIseTI6IjIxIn1dLFsicGF0aCIse2Q6Ik0gMyA1IEEyIDIgMCAwIDEgNSAzIn1dLFsicGF0aCIse2Q6Ik0gMTkgMyBBMiAyIDAgMCAxIDIxIDUifV0sWyJwYXRoIix7ZDoiTSA1IDIxIEEyIDIgMCAwIDEgMyAxOSJ9XSxbInBhdGgiLHtkOiJNIDIxIDE5IEEyIDIgMCAwIDEgMTkgMjEifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiOC41IixyOiIxLjUifV0sWyJsaW5lIix7eDE6IjkuNTYwNjYiLHkxOiI5LjU2MDY2Iix4MjoiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTciLHkxOiIxNyIseDI6IjE0LjgyIix5MjoiMTQuODIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiMTUuNSIscjoiMS41In1dLFsibGluZSIse3gxOiI5LjU2MDY2Iix5MToiMTQuNDM5MzQiLHgyOiIxNyIseTI6IjcifV1dLG1mPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDhoNyJ9XSxbInBhdGgiLHtkOiJNOCAxMmg2In1dLFsicGF0aCIse2Q6Ik0xMSAxNmg1In1dXSxRUD1bWyJwYXRoIix7ZDoiTTIxIDEwLjY1NlYxOWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTIuMzQ0In1dLFsicGF0aCIse2Q6Im05IDExIDMgM0wyMiA0In1dXSxKUD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXSxLUD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTYgMTAtNCA0LTQtNCJ9XV0sZU49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTE0IDE2LTQtNCA0LTQifV1dLHROPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xMCA4IDQgNC00IDQifV1dLHJOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im04IDE0IDQtNCA0IDQifV1dLHpucj1bWyJwYXRoIix7ZDoiTTEwIDkuNSA4IDEybDIgMi41In1dLFsicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Im0xNCA5LjUgMiAyLjUtMiAyLjUifV0sWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV1dLGFOPVtbInBhdGgiLHtkOiJtMTAgOS0zIDMgMyAzIn1dLFsicGF0aCIse2Q6Im0xNCAxNSAzLTMtMy0zIn1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dLENucj1bWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV1dLGlOPVtbInBhdGgiLHtkOiJNOCA3djcifV0sWyJwYXRoIix7ZDoiTTEyIDd2NCJ9XSxbInBhdGgiLHtkOiJNMTYgN3Y5In1dLFsicGF0aCIse2Q6Ik01IDNhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNOSAzaDEifV0sWyJwYXRoIix7ZDoiTTE0IDNoMSJ9XSxbInBhdGgiLHtkOiJNMTkgM2EyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0yMSA5djEifV0sWyJwYXRoIix7ZDoiTTIxIDE0djEifV0sWyJwYXRoIix7ZDoiTTIxIDE5YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik0zIDE0djEifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dXSxuTj1bWyJwYXRoIix7ZDoiTTEyLjAzNCAxMi42ODFhLjQ5OC40OTggMCAwIDEgLjY0Ny0uNjQ3bDkgMy41YS41LjUgMCAwIDEtLjAzMy45NDNsLTMuNDQ0IDEuMDY4YTEgMSAwIDAgMC0uNjYuNjZsLTEuMDY3IDMuNDQzYS41LjUgMCAwIDEtLjk0My4wMzN6In1dLFsicGF0aCIse2Q6Ik01IDNhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTkgM2EyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTkgM2gxIn1dLFsicGF0aCIse2Q6Ik05IDIxaDIifV0sWyJwYXRoIix7ZDoiTTE0IDNoMSJ9XSxbInBhdGgiLHtkOiJNMyA5djEifV0sWyJwYXRoIix7ZDoiTTIxIDl2MiJ9XSxbInBhdGgiLHtkOiJNMyAxNHYxIn1dXSxzTj1bWyJwYXRoIix7ZDoiTTUgM2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xOSAzYTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIxIDE5YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNOSAzaDEifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XSxbInBhdGgiLHtkOiJNMTQgM2gxIn1dLFsicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik0zIDl2MSJ9XSxbInBhdGgiLHtkOiJNMjEgOXYxIn1dLFsicGF0aCIse2Q6Ik0zIDE0djEifV0sWyJwYXRoIix7ZDoiTTIxIDE0djEifV1dLFRucj1bWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTIxIDE0djEifV0sWyJwYXRoIix7ZDoiTTIxIDE5YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTIxIDl2MSJ9XSxbInBhdGgiLHtkOiJNMyAxNHYxIn1dLFsicGF0aCIse2Q6Ik0zIDVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0zIDl2MSJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV1dLG9OPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE2Iix5MjoiMTYifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI4Iix5MjoiOCJ9XV0sbE49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV0sY049W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTBoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTRoMTAifV1dLGROPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNOSAxN2MyIDAgMi44LTEgMi44LTIuOFYxMGMwLTIgMS0zLjMgMy4yLTMifV0sWyJwYXRoIix7ZDoiTTkgMTEuMmg1LjcifV1dLHVOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDd2NyJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik0xNiA3djkifV1dLHBOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDd2MTAifV0sWyJwYXRoIix7ZDoiTTExIDd2MTAifV0sWyJwYXRoIix7ZDoibTE1IDcgMiAxMCJ9XV0sZk49W1sicGF0aCIse2Q6Ik04IDE2VjguNWEuNS41IDAgMCAxIC45LS4zbDIuNyAzLjU5OWEuNS41IDAgMCAwIC44IDBsMi43LTMuNmEuNS41IDAgMCAxIC45LjNWMTYifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV0saE49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgOGgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNmgxMCJ9XV0sbU49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XV0sZ049W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiJ9XSxbInBhdGgiLHtkOiJNMjEgMTFWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYifV1dLGJOPVtbInBhdGgiLHtkOiJNMy42IDMuNkEyIDIgMCAwIDEgNSAzaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLS41OSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0zIDguN1YxOWEyIDIgMCAwIDAgMiAyaDEwLjMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMTMgMTNhMyAzIDAgMSAwIDAtNkg5djIifV0sWyJwYXRoIix7ZDoiTTkgMTd2LTIuMyJ9XV0sdk49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgMTdWN2g0YTMgMyAwIDAgMSAwIDZIOSJ9XV0sX25yPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsibGluZSIse3gxOiIxMCIseDI6IjEwIix5MToiMTUiLHkyOiI5In1dLFsibGluZSIse3gxOiIxNCIseDI6IjE0Iix5MToiMTUiLHkyOiI5In1dXSxHND1bWyJwYXRoIix7ZDoiTTEyIDNINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnYtNyJ9XSxbInBhdGgiLHtkOiJNMTguMzc1IDIuNjI1YTEgMSAwIDAgMSAzIDNsLTkuMDEzIDkuMDE0YTIgMiAwIDAgMS0uODUzLjUwNWwtMi44NzMuODRhLjUuNSAwIDAgMS0uNjItLjYybC44NC0yLjg3M2EyIDIgMCAwIDEgLjUwNi0uODUyeiJ9XV0seE49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgN2gxMCJ9XSxbInBhdGgiLHtkOiJNMTAgN3YxMCJ9XSxbInBhdGgiLHtkOiJNMTYgMTdhMiAyIDAgMCAxLTItMlY3In1dXSx5Tj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTUgOS02IDYifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDE1aC4wMSJ9XV0sd049W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDEySDkuNWEyLjUgMi41IDAgMCAxIDAtNUgxNyJ9XSxbInBhdGgiLHtkOiJNMTIgN3YxMCJ9XSxbInBhdGgiLHtkOiJNMTYgN3YxMCJ9XV0sTU49W1sicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgOS4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3QTEgMSAwIDAgMSA5IDE0Ljk5NnoifV1dLGtOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoiTTEyIDh2OCJ9XV0sU049W1sicGF0aCIse2Q6Ik0xMiA3djQifV0sWyJwYXRoIix7ZDoiTTcuOTk4IDkuMDAzYTUgNSAwIDEgMCA4LS4wMDUifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV0sTG5yPVtbInBhdGgiLHtkOiJNMjEgMTFhOCA4IDAgMCAwLTgtOCJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNCJ9XV0sJG5yPVtbInBhdGgiLHtkOiJNNyAxMmgybDIgNSAyLTEwaDQifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV0sek49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiOC41IixyOiIxLjUifV0sWyJsaW5lIix7eDE6IjkuNTYwNjYiLHkxOiI5LjU2MDY2Iix4MjoiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTciLHkxOiIxNyIseDI6IjE0LjgyIix5MjoiMTQuODIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiMTUuNSIscjoiMS41In1dLFsibGluZSIse3gxOiI5LjU2MDY2Iix5MToiMTQuNDM5MzQiLHgyOiIxNyIseTI6IjcifV1dLENOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiA4LjlWN0g4bDQgNS00IDVoOHYtMS45In1dXSxUTj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiMTUiLHkyOiI5In1dXSxfTj1bWyJwYXRoIix7ZDoiTTggMTlINWMtMSAwLTItMS0yLTJWN2MwLTEgMS0yIDItMmgzIn1dLFsicGF0aCIse2Q6Ik0xNiA1aDNjMSAwIDIgMSAyIDJ2MTBjMCAxLTEgMi0yIDJoLTMifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI0Iix5MjoiMjAifV1dLExOPVtbInBhdGgiLHtkOiJNNSA4VjVjMC0xIDEtMiAyLTJoMTBjMSAwIDIgMSAyIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2M2MwIDEtMSAyLTIgMkg3Yy0xIDAtMi0xLTItMnYtMyJ9XSxbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiMTIiLHkyOiIxMiJ9XV0sRG5yPVtbInBhdGgiLHtkOiJNNCAxMGMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDRjMS4xIDAgMiAuOSAyIDIifV0sWyJwYXRoIix7ZDoiTTEwIDE2Yy0xLjEgMC0yLS45LTItMnYtNGMwLTEuMS45LTIgMi0yaDRjMS4xIDAgMiAuOSAyIDIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiOCIseDoiMTQiLHk6IjE0IixyeDoiMiJ9XV0sQW5yPVtbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjgiLHk6IjgiLHdpZHRoOiI4IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXSxFbnI9W1sicGF0aCIse2Q6Ik0xMS4wMzUgNy42OWExIDEgMCAwIDEgMS45MDkuMDI0bC43MzcgMS40NTJhMSAxIDAgMCAwIC43MzcuNTM1bDEuNjM0LjI1NmExIDEgMCAwIDEgLjU4OCAxLjgwNmwtMS4xNzIgMS4xNjhhMSAxIDAgMCAwLS4yODIuODY2bC4yNTkgMS42MTNhMSAxIDAgMCAxLTEuNTQxIDEuMTM0bC0xLjQ2NS0uNzVhMSAxIDAgMCAwLS45MTIgMGwtMS40NjUuNzVhMSAxIDAgMCAxLTEuNTM5LTEuMTMzbC4yNTgtMS42MTNhMSAxIDAgMCAwLS4yODItLjg2NmwtMS4xNTYtMS4xNTNhMSAxIDAgMCAxIC41NzItMS44MjJsMS42MzMtLjI1NmExIDEgMCAwIDAgLjczNy0uNTM1eiJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXSxJbnI9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJyZWN0Iix7eDoiOSIseToiOSIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV1dLCROPVtbInBhdGgiLHtkOiJtNyAxMSAyLTItMi0yIn1dLFsicGF0aCIse2Q6Ik0xMSAxM2g0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dXSxETj1bWyJwYXRoIix7ZDoiTTE4IDIxYTYgNiAwIDAgMC0xMiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTEiLHI6IjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XV0sQU49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNyAyMXYtMmEyIDIgMCAwIDEgMi0yaDZhMiAyIDAgMCAxIDIgMnYyIn1dXSxFTj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Im05IDkgNiA2In1dXSxQbnI9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV1dLE5ucj1bWyJwYXRoIix7ZDoiTTE2IDEydjJhMiAyIDAgMCAxLTIgMkg5YTEgMSAwIDAgMC0xIDF2M2EyIDIgMCAwIDAgMiAyaDEwYTIgMiAwIDAgMCAyLTJWMTBhMiAyIDAgMCAwLTItMmgwIn1dLFsicGF0aCIse2Q6Ik00IDE2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2M2ExIDEgMCAwIDEtMSAxaC01YTIgMiAwIDAgMC0yIDJ2MiJ9XV0sRm5yPVtbInBhdGgiLHtkOiJNMTAgMjJhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNMTQgMmEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0xNiAyMmgtMiJ9XSxbInBhdGgiLHtkOiJNMiAxMFY4In1dLFsicGF0aCIse2Q6Ik0yIDRhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJNMjAgOGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0yMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMGEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik00IDE2YTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTggMTBhMiAyIDAgMCAxIDItMmg1YTEgMSAwIDAgMSAxIDF2NWEyIDIgMCAwIDEtMiAySDlhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTggMmgyIn1dXSxPbnI9W1sicGF0aCIse2Q6Ik0xMCAyMmEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik0xNiAyMmgtMiJ9XSxbInBhdGgiLHtkOiJNMTYgNGEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDNhMSAxIDAgMCAwIDEtMXYtNWEyIDIgMCAwIDEgMi0yaDVhMSAxIDAgMCAwIDEtMXoifV0sWyJwYXRoIix7ZDoiTTIwIDhhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMjIgMjBhMiAyIDAgMCAxLTIgMiJ9XV0sUm5yPVtbInBhdGgiLHtkOiJNNCAxNmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjNhMSAxIDAgMCAwIDEgMWgzYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMkgxMGEyIDIgMCAwIDEtMi0ydi0zYTEgMSAwIDAgMC0xLTF6In1dXSxCbnI9W1sicGF0aCIse2Q6Ik0xMy43NyAzLjA0M2EzNCAzNCAwIDAgMC0zLjU0IDAifV0sWyJwYXRoIix7ZDoiTTEzLjc3MSAyMC45NTZhMzMgMzMgMCAwIDEtMy41NDEuMDAxIn1dLFsicGF0aCIse2Q6Ik0yMC4xOCAxNy43NGMtLjUxIDEuMTUtMS4yOSAxLjkzLTIuNDM5IDIuNDQifV0sWyJwYXRoIix7ZDoiTTIwLjE4IDYuMjU5Yy0uNTEtMS4xNDgtMS4yOTEtMS45MjktMi40NC0yLjQzOCJ9XSxbInBhdGgiLHtkOiJNMjAuOTU3IDEwLjIzYTMzIDMzIDAgMCAxIDAgMy41NCJ9XSxbInBhdGgiLHtkOiJNMy4wNDMgMTAuMjNhMzQgMzQgMCAwIDAgLjAwMSAzLjU0MSJ9XSxbInBhdGgiLHtkOiJNNi4yNiAyMC4xNzljLTEuMTUtLjUwOC0xLjkzLTEuMjktMi40NC0yLjQzOCJ9XSxbInBhdGgiLHtkOiJNNi4yNiAzLjgyYy0xLjE0OS41MS0xLjkzIDEuMjkxLTIuNDQgMi40NCJ9XV0sSG5yPVtbInBhdGgiLHtkOiJNMTIgM2M3LjIgMCA5IDEuOCA5IDlzLTEuOCA5LTkgOS05LTEuOC05LTkgMS44LTkgOS05In1dXSxxbnI9W1sicGF0aCIse2Q6Ik0xNS4yMzYgMjJhMyAzIDAgMCAwLTIuMi01In1dLFsicGF0aCIse2Q6Ik0xNiAyMGEzIDMgMCAwIDEgMy0zaDFhMiAyIDAgMCAwIDItMnYtMmE0IDQgMCAwIDAtNC00VjQifV0sWyJwYXRoIix7ZDoiTTE4IDEzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggNmE0IDQgMCAwIDAtNCA0IDcgNyAwIDAgMC03IDdjMC01IDQtNSA0LTEwLjVhNC41IDQuNSAwIDEgMC05IDAgMi41IDIuNSAwIDAgMCA1IDBDNyAxMCAzIDExIDMgMTdjMCAyLjggMi4yIDUgNSA1aDEwIn1dXSxqbnI9W1sicGF0aCIse2Q6Ik0xNCAxM1Y4LjVDMTQgNyAxNSA3IDE1IDVhMyAzIDAgMCAwLTYgMGMwIDIgMSAyIDEgMy41VjEzIn1dLFsicGF0aCIse2Q6Ik0yMCAxNS41YTIuNSAyLjUgMCAwIDAtMi41LTIuNWgtMTFBMi41IDIuNSAwIDAgMCA0IDE1LjVWMTdhMSAxIDAgMCAwIDEgMWgxNGExIDEgMCAwIDAgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNSAyMmgxNCJ9XV0sVm5yPVtbInBhdGgiLHtkOiJNMTIgMTguMzM4YTIuMSAyLjEgMCAwIDAtLjk4Ny4yNDRMNi4zOTYgMjEuMDFhLjUzLjUzIDAgMCAxLS43Ny0uNTZsLjg4MS01LjEzOWEyLjEyIDIuMTIgMCAwIDAtLjYxMS0xLjg3OUwyLjE2IDkuNzk1YS41My41MyAwIDAgMSAuMjk0LS45MDZsNS4xNjUtLjc1NWEyLjEyIDIuMTIgMCAwIDAgMS41OTctMS4xNmwyLjMwOS00LjY3OUEuNTMuNTMgMCAwIDEgMTIgMiJ9XV0sVW5yPVtbInBhdGgiLHtkOiJtMTAuMzQ0IDQuNjg4IDEuMTgxLTIuMzkzYS41My41MyAwIDAgMSAuOTUgMGwyLjMxIDQuNjc5YTIuMTIgMi4xMiAwIDAgMCAxLjU5NSAxLjE2bDUuMTY2Ljc1NmEuNTMuNTMgMCAwIDEgLjI5NC45MDRsLTMuMjM3IDMuMTUyIn1dLFsicGF0aCIse2Q6Im0xNy45NDUgMTcuOTQ1LjQzIDIuNTA1YS41My41MyAwIDAgMS0uNzcxLjU2bC00LjYxOC0yLjQyOGEyLjEyIDIuMTIgMCAwIDAtMS45NzMgMEw2LjM5NiAyMS4wMWEuNTMuNTMgMCAwIDEtLjc3LS41NmwuODgxLTUuMTM5YTIuMTIgMi4xMiAwIDAgMC0uNjExLTEuODc5TDIuMTYgOS43OTVhLjUzLjUzIDAgMCAxIC4yOTQtLjkwNmw1LjE2NS0uNzU1YTggOCAwIDAgMCAuNC0uMDk5In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dLFducj1bWyJwYXRoIix7ZDoiTTExLjUyNSAyLjI5NWEuNTMuNTMgMCAwIDEgLjk1IDBsMi4zMSA0LjY3OWEyLjEyMyAyLjEyMyAwIDAgMCAxLjU5NSAxLjE2bDUuMTY2Ljc1NmEuNTMuNTMgMCAwIDEgLjI5NC45MDRsLTMuNzM2IDMuNjM4YTIuMTIzIDIuMTIzIDAgMCAwLS42MTEgMS44NzhsLjg4MiA1LjE0YS41My41MyAwIDAgMS0uNzcxLjU2bC00LjYxOC0yLjQyOGEyLjEyMiAyLjEyMiAwIDAgMC0xLjk3MyAwTDYuMzk2IDIxLjAxYS41My41MyAwIDAgMS0uNzctLjU2bC44ODEtNS4xMzlhMi4xMjIgMi4xMjIgMCAwIDAtLjYxMS0xLjg3OUwyLjE2IDkuNzk1YS41My41MyAwIDAgMSAuMjk0LS45MDZsNS4xNjUtLjc1NWEyLjEyMiAyLjEyMiAwIDAgMCAxLjU5Ny0xLjE2eiJ9XV0sR25yPVtbInBhdGgiLHtkOiJNMTMuOTcxIDQuMjg1QTIgMiAwIDAgMSAxNyA2djEyYTIgMiAwIDAgMS0zLjAyOSAxLjcxNWwtOS45OTctNS45OThhMiAyIDAgMCAxLS4wMDMtMy40MzJ6In1dLFsicGF0aCIse2Q6Ik0yMSAyMFY0In1dXSxZbnI9W1sicGF0aCIse2Q6Ik0xMC4wMjkgNC4yODVBMiAyIDAgMCAwIDcgNnYxMmEyIDIgMCAwIDAgMy4wMjkgMS43MTVsOS45OTctNS45OThhMiAyIDAgMCAwIC4wMDMtMy40MzJ6In1dLFsicGF0aCIse2Q6Ik0zIDR2MTYifV1dLFpucj1bWyJwYXRoIix7ZDoiTTExIDJ2MiJ9XSxbInBhdGgiLHtkOiJNNSAydjIifV0sWyJwYXRoIix7ZDoiTTUgM0g0YTIgMiAwIDAgMC0yIDJ2NGE2IDYgMCAwIDAgMTIgMFY1YTIgMiAwIDAgMC0yLTJoLTEifV0sWyJwYXRoIix7ZDoiTTggMTVhNiA2IDAgMCAwIDEyIDB2LTMifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxMCIscjoiMiJ9XV0sWG5yPVtbInBhdGgiLHtkOiJNMjEgOWEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTUgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yeiJ9XSxbInBhdGgiLHtkOiJNMTUgM3Y1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxM2guMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTZzLjggMSAyIDFjMS4zIDAgMi0xIDItMSJ9XV0sUW5yPVtbInBhdGgiLHtkOiJNMjEgOWEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTUgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yeiJ9XSxbInBhdGgiLHtkOiJNMTUgM3Y1YTEgMSAwIDAgMCAxIDFoNSJ9XV0sSm5yPVtbInBhdGgiLHtkOiJNMTEuMjY0IDIuMjA1QTQgNCAwIDAgMCA2LjQyIDQuMjExbC00IDhhNCA0IDAgMCAwIDEuMzU5IDUuMTE3bDYgNGE0IDQgMCAwIDAgNC40MzggMGw2LTRhNCA0IDAgMCAwIDEuNTc2LTQuNTkybC0yLTZhNCA0IDAgMCAwLTIuNTMtMi41M3oifV0sWyJwYXRoIix7ZDoiTTExLjk5IDIyIDE0IDEybDcuODIyIDMuMTg0In1dLFsicGF0aCIse2Q6Ik0xNCAxMiA4LjQ3IDIuMzAyIn1dXSxLbnI9W1sicGF0aCIse2Q6Ik0xNSAyMXYtNWExIDEgMCAwIDAtMS0xaC00YTEgMSAwIDAgMC0xIDF2NSJ9XSxbInBhdGgiLHtkOiJNMTcuNzc0IDEwLjMxYTEuMTIgMS4xMiAwIDAgMC0xLjU0OSAwIDIuNSAyLjUgMCAwIDEtMy40NTEgMCAxLjEyIDEuMTIgMCAwIDAtMS41NDggMCAyLjUgMi41IDAgMCAxLTMuNDUyIDAgMS4xMiAxLjEyIDAgMCAwLTEuNTQ5IDAgMi41IDIuNSAwIDAgMS0zLjc3LTMuMjQ4bDIuODg5LTQuMTg0QTIgMiAwIDAgMSA3IDJoMTBhMiAyIDAgMCAxIDEuNjUzLjg3M2wyLjg5NSA0LjE5MmEyLjUgMi41IDAgMCAxLTMuNzc0IDMuMjQ0In1dLFsicGF0aCIse2Q6Ik00IDEwLjk1VjE5YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtOC4wNSJ9XV0sZTFyPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNiIseDoiMiIseToiNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjYiLHg6IjIiLHk6IjE0IixyeDoiMiJ9XV0sdDFyPVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMjAiLHg6IjE0Iix5OiIyIixyeDoiMiJ9XV0scjFyPVtbInBhdGgiLHtkOiJNMTYgNEg5YTMgMyAwIDAgMC0yLjgzIDQifV0sWyJwYXRoIix7ZDoiTTE0IDEyYTQgNCAwIDAgMSAwIDhINiJ9XSxbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiMTIiLHkyOiIxMiJ9XV0sYTFyPVtbInBhdGgiLHtkOiJtNCA1IDggOCJ9XSxbInBhdGgiLHtkOiJtMTIgNS04IDgifV0sWyJwYXRoIix7ZDoiTTIwIDE5aC00YzAtMS41LjQ0LTIgMS41LTIuNVMyMCAxNS4zMyAyMCAxNGMwLS40Ny0uMTctLjkzLS40OC0xLjI5YTIuMTEgMi4xMSAwIDAgMC0yLjYyLS40NGMtLjQyLjI0LS43NC42Mi0uOSAxLjA3In1dXSxpMXI9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDRoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE3LjY1NyA2LjM0M2guMDEifV0sWyJwYXRoIix7ZDoiTTE3LjY1NyAxNy42NTdoLjAxIn1dLFsicGF0aCIse2Q6Ik02LjM0MyAxNy42NTdoLjAxIn1dLFsicGF0aCIse2Q6Ik02LjM0MyA2LjM0M2guMDEifV1dLG4xcj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxIn1dLFsicGF0aCIse2Q6Ik0xMiAyMHYxIn1dLFsicGF0aCIse2Q6Ik0zIDEyaDEifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDEifV0sWyJwYXRoIix7ZDoibTE4LjM2NCA1LjYzNi0uNzA3LjcwNyJ9XSxbInBhdGgiLHtkOiJtNi4zNDMgMTcuNjU3LS43MDcuNzA3In1dLFsicGF0aCIse2Q6Im01LjYzNiA1LjYzNi43MDcuNzA3In1dLFsicGF0aCIse2Q6Im0xNy42NTcgMTcuNjU3LjcwNy43MDcifV1dLHMxcj1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTQuODM3IDE2LjM4NWE2IDYgMCAxIDEtNy4yMjMtNy4yMjJjLjYyNC0uMTQ3Ljk3LjY2LjcxNSAxLjI0OGE0IDQgMCAwIDAgNS4yNiA1LjI1OWMuNTg5LS4yNTUgMS4zOTYuMDkgMS4yNDguNzE1In1dLFsicGF0aCIse2Q6Ik0xNiAxMmE0IDQgMCAwIDAtNC00In1dLFsicGF0aCIse2Q6Im0xOSA1LTEuMjU2IDEuMjU2In1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dXSxvMXI9W1sicGF0aCIse2Q6Ik0xMCAyMXYtMSJ9XSxbInBhdGgiLHtkOiJNMTAgNFYzIn1dLFsicGF0aCIse2Q6Ik0xMCA5YTMgMyAwIDAgMCAwIDYifV0sWyJwYXRoIix7ZDoibTE0IDIwIDEuMjUtMi41TDE4IDE4In1dLFsicGF0aCIse2Q6Im0xNCA0IDEuMjUgMi41TDE4IDYifV0sWyJwYXRoIix7ZDoibTE3IDIxLTMtNiAxLjUtM0gyMiJ9XSxbInBhdGgiLHtkOiJtMTcgMy0zIDYgMS41IDMifV0sWyJwYXRoIix7ZDoiTTIgMTJoMSJ9XSxbInBhdGgiLHtkOiJtMjAgMTAtMS41IDIgMS41IDIifV0sWyJwYXRoIix7ZDoibTMuNjQgMTguMzYuNy0uNyJ9XSxbInBhdGgiLHtkOiJtNC4zNCA2LjM0LS43LS43In1dXSxsMXI9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MiJ9XSxbInBhdGgiLHtkOiJtNC45MyA0LjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJtMTcuNjYgMTcuNjYgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoibTYuMzQgMTcuNjYtMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Im0xOS4wNyA0LjkzLTEuNDEgMS40MSJ9XV0sYzFyPVtbInBhdGgiLHtkOiJNMTIgMnY4In1dLFsicGF0aCIse2Q6Im00LjkzIDEwLjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMiAxOGgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxOGgyIn1dLFsicGF0aCIse2Q6Im0xOS4wNyAxMC45My0xLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIyIDIySDIifV0sWyJwYXRoIix7ZDoibTggNiA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik0xNiAxOGE0IDQgMCAwIDAtOCAwIn1dXSxkMXI9W1sicGF0aCIse2Q6Ik0xMiAxMFYyIn1dLFsicGF0aCIse2Q6Im00LjkzIDEwLjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMiAxOGgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxOGgyIn1dLFsicGF0aCIse2Q6Im0xOS4wNyAxMC45My0xLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIyIDIySDIifV0sWyJwYXRoIix7ZDoibTE2IDYtNCA0LTQtNCJ9XSxbInBhdGgiLHtkOiJNMTYgMThhNCA0IDAgMCAwLTggMCJ9XV0sdTFyPVtbInBhdGgiLHtkOiJtNCAxOSA4LTgifV0sWyJwYXRoIix7ZDoibTEyIDE5LTgtOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoLTRjMC0xLjUuNDQyLTIgMS41LTIuNVMyMCA4LjMzNCAyMCA3LjAwMmMwLS40NzItLjE3LS45My0uNDg0LTEuMjlhMi4xMDUgMi4xMDUgMCAwIDAtMi42MTctLjQzNmMtLjQyLjIzOS0uNzM4LjYxNC0uODk5IDEuMDYifV1dLHAxcj1bWyJwYXRoIix7ZDoiTTExIDE3YTQgNCAwIDAgMS04IDBWNWEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMloifV0sWyJwYXRoIix7ZDoiTTE2LjcgMTNIMTlhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJINyJ9XSxbInBhdGgiLHtkOiJNIDcgMTdoLjAxIn1dLFsicGF0aCIse2Q6Im0xMSA4IDIuMy0yLjNhMi40IDIuNCAwIDAgMSAzLjQwNC4wMDRMMTguNiA3LjZhMi40IDIuNCAwIDAgMSAuMDI2IDMuNDM0TDkuOSAxOS44In1dXSxmMXI9W1sicGF0aCIse2Q6Ik0xMCAyMVYzaDgifV0sWyJwYXRoIix7ZDoiTTYgMTZoOSJ9XSxbInBhdGgiLHtkOiJNMTAgOS41aDcifV1dLGgxcj1bWyJwYXRoIix7ZDoiTTExIDE5SDRhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTJoNSJ9XSxbInBhdGgiLHtkOiJNMTMgNWg3YTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMmgtNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Im0xOCAyMi0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Im02IDIgMyAzLTMgMyJ9XV0sbTFyPVtbInBhdGgiLHtkOiJtMTEgMTktNi02In1dLFsicGF0aCIse2Q6Im01IDIxLTItMiJ9XSxbInBhdGgiLHtkOiJtOCAxNi00IDQifV0sWyJwYXRoIix7ZDoiTTkuNSAxNy41IDIxIDZWM2gtM0w2LjUgMTQuNSJ9XV0sZzFyPVtbInBvbHlsaW5lIix7cG9pbnRzOiIxNC41IDE3LjUgMyA2IDMgMyA2IDMgMTcuNSAxNC41In1dLFsibGluZSIse3gxOiIxMyIseDI6IjE5Iix5MToiMTkiLHkyOiIxMyJ9XSxbImxpbmUiLHt4MToiMTYiLHgyOiIyMCIseTE6IjE2Iix5MjoiMjAifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiMjEiLHkxOiIyMSIseTI6IjE5In1dLFsicG9seWxpbmUiLHtwb2ludHM6IjE0LjUgNi41IDE4IDMgMjEgMyAyMSA2IDE3LjUgOS41In1dLFsibGluZSIse3gxOiI1Iix4MjoiOSIseTE6IjE0Iix5MjoiMTgifV0sWyJsaW5lIix7eDE6IjciLHgyOiI0Iix5MToiMTciLHkyOiIyMCJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjUiLHkxOiIxOSIseTI6IjIxIn1dXSxiMXI9W1sicGF0aCIse2Q6Im0xOCAyIDQgNCJ9XSxbInBhdGgiLHtkOiJtMTcgNyAzLTMifV0sWyJwYXRoIix7ZDoiTTE5IDkgOC43IDE5LjNjLTEgMS0yLjUgMS0zLjQgMGwtLjYtLjZjLTEtMS0xLTIuNSAwLTMuNEwxNSA1In1dLFsicGF0aCIse2Q6Im05IDExIDQgNCJ9XSxbInBhdGgiLHtkOiJtNSAxOS0zIDMifV0sWyJwYXRoIix7ZDoibTE0IDQgNiA2In1dXSx2MXI9W1sicGF0aCIse2Q6Ik05IDNINWEyIDIgMCAwIDAtMiAydjRtNi02aDEwYTIgMiAwIDAgMSAyIDJ2NE05IDN2MThtMCAwaDEwYTIgMiAwIDAgMCAyLTJWOU05IDIxSDVhMiAyIDAgMCAxLTItMlY5bTAgMGgxOCJ9XV0seDFyPVtbInBhdGgiLHtkOiJNMTIgMjF2LTYifV0sWyJwYXRoIix7ZDoiTTEyIDlWMyJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV1dLHkxcj1bWyJwYXRoIix7ZDoiTTEyIDE1VjkifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dXSx3MXI9W1sicGF0aCIse2Q6Ik0xNCAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xNCAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDh2MiJ9XSxbInBhdGgiLHtkOiJNMiAxNWg4In1dLFsicGF0aCIse2Q6Ik0yIDNoNmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJIMiJ9XSxbInBhdGgiLHtkOiJNMiA5aDgifV0sWyJwYXRoIix7ZDoiTTIyIDE1aC00In1dLFsicGF0aCIse2Q6Ik0yMiAzaC0yYTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgyIn1dLFsicGF0aCIse2Q6Ik0yMiA5aC00In1dLFsicGF0aCIse2Q6Ik01IDN2MTgifV1dLE0xcj1bWyJwYXRoIix7ZDoiTTE2IDVIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMjEgNWguMDEifV0sWyJwYXRoIix7ZDoiTTIxIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTloLjAxIn1dXSxrMXI9W1sicGF0aCIse2Q6Ik0xNSAzdjE4In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIxIDlIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTVIMyJ9XV0sUzFyPVtbInBhdGgiLHtkOiJNMTQgMTBoMiJ9XSxbInBhdGgiLHtkOiJNMTUgMjJ2LTgifV0sWyJwYXRoIix7ZDoiTTE1IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMiAxMGgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMGgyIn1dLFsicGF0aCIse2Q6Ik0zIDE5aDE4In1dLFsicGF0aCIse2Q6Ik0zIDIydi02YTIgMiAxMzUgMCAxIDItMmgxNGEyIDIgNDUgMCAxIDIgMnY2In1dLFsicGF0aCIse2Q6Ik0zIDJ2MmEyIDIgNDUgMCAwIDIgMmgxNGEyIDIgMTM1IDAgMCAyLTJWMiJ9XSxbInBhdGgiLHtkOiJNOCAxMGgyIn1dLFsicGF0aCIse2Q6Ik05IDIydi04In1dLFsicGF0aCIse2Q6Ik05IDJ2NCJ9XV0sejFyPVtbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV1dLEMxcj1bWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiIscnk6IjIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIuMDEiLHkxOiIxOCIseTI6IjE4In1dXSxUMXI9W1sicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxNCIseDoiMyIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTUgNGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MTZhMiAyIDAgMCAxLTIgMmgtMi40In1dLFsicGF0aCIse2Q6Ik04IDE4aC4wMSJ9XV0sXzFyPVtbImNpcmNsZSIse2N4OiI3IixjeToiNyIscjoiNSJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiI1In1dLFsicGF0aCIse2Q6Ik0xMiAxN2gxMCJ9XSxbInBhdGgiLHtkOiJtMy40NiAxMC41NCA3LjA4LTcuMDgifV1dLEwxcj1bWyJwYXRoIix7ZDoiTTEyLjU4NiAyLjU4NkEyIDIgMCAwIDAgMTEuMTcyIDJINGEyIDIgMCAwIDAtMiAydjcuMTcyYTIgMiAwIDAgMCAuNTg2IDEuNDE0bDguNzA0IDguNzA0YTIuNDI2IDIuNDI2IDAgMCAwIDMuNDIgMGw2LjU4LTYuNThhMi40MjYgMi40MjYgMCAwIDAgMC0zLjQyeiJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV1dLCQxcj1bWyJwYXRoIix7ZDoiTTEzLjE3MiAyYTIgMiAwIDAgMSAxLjQxNC41ODZsNi43MSA2LjcxYTIuNCAyLjQgMCAwIDEgMCAzLjQwOGwtNC41OTIgNC41OTJhMi40IDIuNCAwIDAgMS0zLjQwOCAwbC02LjcxLTYuNzFBMiAyIDAgMCAxIDYgOS4xNzJWM2ExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNMiA3djYuMTcyYTIgMiAwIDAgMCAuNTg2IDEuNDE0bDYuNzEgNi43MWEyLjQgMi40IDAgMCAwIDMuMTkxLjE5MyJ9XSxbImNpcmNsZSIse2N4OiIxMC41IixjeToiNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dXSxEMXI9W1sicGF0aCIse2Q6Ik00IDR2MTYifV1dLEExcj1bWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XSxbInBhdGgiLHtkOiJNOSA0djE2In1dXSxFMXI9W1sicGF0aCIse2Q6Ik00IDR2MTYifV0sWyJwYXRoIix7ZDoiTTkgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTQgNHYxNiJ9XV0sSTFyPVtbInBhdGgiLHtkOiJNNCA0djE2In1dLFsicGF0aCIse2Q6Ik05IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE0IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE5IDR2MTYifV1dLFAxcj1bWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XSxbInBhdGgiLHtkOiJNOSA0djE2In1dLFsicGF0aCIse2Q6Ik0xNCA0djE2In1dLFsicGF0aCIse2Q6Ik0xOSA0djE2In1dLFsicGF0aCIse2Q6Ik0yMiA2IDIgMTgifV1dLE4xcj1bWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI0IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xNS41OSA1LjQxIDUuNDEgMTUuNTkifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjE3IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMnMtNC05LTEuNS0xMS41UzIyIDEyIDIyIDEyIn1dXSxGMXI9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV0sTzFyPVtbInBhdGgiLHtkOiJtMTAuMDY1IDEyLjQ5My02LjE4IDEuMzE4YS45MzQuOTM0IDAgMCAxLTEuMTA4LS43MDJsLS41MzctMi4xNWExLjA3IDEuMDcgMCAwIDEgLjY5MS0xLjI2NWwxMy41MDQtNC40NCJ9XSxbInBhdGgiLHtkOiJtMTMuNTYgMTEuNzQ3IDQuMzMyLS45MjQifV0sWyJwYXRoIix7ZDoibTE2IDIxLTMuMTA1LTYuMjEifV0sWyJwYXRoIix7ZDoiTTE2LjQ4NSA1Ljk0YTIgMiAwIDAgMSAxLjQ1NS0yLjQyNWwxLjA5LS4yNzJhMSAxIDAgMCAxIDEuMjEyLjcyN2wxLjUxNSA2LjA2YTEgMSAwIDAgMS0uNzI3IDEuMjEzbC0xLjA5LjI3MmEyIDIgMCAwIDEtMi40MjUtMS40NTV6In1dLFsicGF0aCIse2Q6Im02LjE1OCA4LjYzMyAxLjExNCA0LjQ1NiJ9XSxbInBhdGgiLHtkOiJtOCAyMSAzLjEwNS02LjIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjIifV1dLFIxcj1bWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjQiLHI6IjIifV0sWyJwYXRoIix7ZDoibTE0IDUgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTAgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTRWMiJ9XSxbInBhdGgiLHtkOiJNMTcgMTRIN2wtNSA4aDIwWiJ9XSxbInBhdGgiLHtkOiJNOCAxNHY4In1dLFsicGF0aCIse2Q6Im05IDE0IDUgOCJ9XV0sQjFyPVtbInBhdGgiLHtkOiJNMy41IDIxIDE0IDMifV0sWyJwYXRoIix7ZDoiTTIwLjUgMjEgMTAgMyJ9XSxbInBhdGgiLHtkOiJNMTUuNSAyMSAxMiAxNWwtMy41IDYifV0sWyJwYXRoIix7ZDoiTTIgMjFoMjAifV1dLEgxcj1bWyJwYXRoIix7ZDoiTTEyIDE5aDgifV0sWyJwYXRoIix7ZDoibTQgMTcgNi02LTYtNiJ9XV0sSU49W1sicGF0aCIse2Q6Ik0yMSA3IDYuODIgMjEuMThhMi44MyAyLjgzIDAgMCAxLTMuOTktLjAxYTIuODMgMi44MyAwIDAgMSAwLTRMMTcgMyJ9XSxbInBhdGgiLHtkOiJtMTYgMiA2IDYifV0sWyJwYXRoIix7ZDoiTTEyIDE2SDQifV1dLHExcj1bWyJwYXRoIix7ZDoiTTE0LjUgMnYxNy41YzAgMS40LTEuMSAyLjUtMi41IDIuNWMtMS40IDAtMi41LTEuMS0yLjUtMi41VjIifV0sWyJwYXRoIix7ZDoiTTguNSAyaDcifV0sWyJwYXRoIix7ZDoiTTE0LjUgMTZoLTUifV1dLGoxcj1bWyJwYXRoIix7ZDoiTTkgMnYxNy41QTIuNSAyLjUgMCAwIDEgNi41IDIyQTIuNSAyLjUgMCAwIDEgNCAxOS41VjIifV0sWyJwYXRoIix7ZDoiTTIwIDJ2MTcuNWEyLjUgMi41IDAgMCAxLTIuNSAyLjVhMi41IDIuNSAwIDAgMS0yLjUtMi41VjIifV0sWyJwYXRoIix7ZDoiTTMgMmg3In1dLFsicGF0aCIse2Q6Ik0xNCAyaDcifV0sWyJwYXRoIix7ZDoiTTkgMTZINCJ9XSxbInBhdGgiLHtkOiJNMjAgMTZoLTUifV1dLFBOPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNyAxMkg3In1dLFsicGF0aCIse2Q6Ik0xOSAxOUg1In1dXSxOTj1bWyJwYXRoIix7ZDoiTTIxIDVIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIOSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlINyJ9XV0sRk49W1sicGF0aCIse2Q6Ik0zIDVoMTgifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJwYXRoIix7ZDoiTTMgMTloMTgifV1dLFYxcj1bWyJwYXRoIix7ZDoiTTEyIDIwaC0xYTIgMiAwIDAgMS0yLTIgMiAyIDAgMCAxLTIgMkg2In1dLFsicGF0aCIse2Q6Ik0xMyA4aDdhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJoLTcifV0sWyJwYXRoIix7ZDoiTTUgMTZINGEyIDIgMCAwIDEtMi0ydi00YTIgMiAwIDAgMSAyLTJoMSJ9XSxbInBhdGgiLHtkOiJNNiA0aDFhMiAyIDAgMCAxIDIgMiAyIDIgMCAwIDEgMi0yaDEifV0sWyJwYXRoIix7ZDoiTTkgNnYxMiJ9XV0sZ2Y9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTE1IDEySDMifV0sWyJwYXRoIix7ZDoiTTE3IDE5SDMifV1dLFUxcj1bWyJwYXRoIix7ZDoiTTE3IDIyaC0xYTQgNCAwIDAgMS00LTRWNmE0IDQgMCAwIDEgNC00aDEifV0sWyJwYXRoIix7ZDoiTTcgMjJoMWE0IDQgMCAwIDAgNC00di0xIn1dLFsicGF0aCIse2Q6Ik03IDJoMWE0IDQgMCAwIDEgNCA0djEifV1dLE9OPVtbInBhdGgiLHtkOiJNMTUgNWg2In1dLFsicGF0aCIse2Q6Ik0xNSAxMmg2In1dLFsicGF0aCIse2Q6Ik0zIDE5aDE4In1dLFsicGF0aCIse2Q6Im0zIDEyIDMuNTUzLTcuNzI0YS41LjUgMCAwIDEgLjg5NCAwTDExIDEyIn1dLFsicGF0aCIse2Q6Ik0zLjkyIDEwaDYuMTYifV1dLFcxcj1bWyJwYXRoIix7ZDoiTTE3IDVIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIOCJ9XSxbInBhdGgiLHtkOiJNMjEgMTlIOCJ9XSxbInBhdGgiLHtkOiJNMyAxMnY3In1dXSxHMXI9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTEwIDEySDMifV0sWyJwYXRoIix7ZDoiTTEwIDE5SDMifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNSIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjEgMTktMS45LTEuOSJ9XV0sUk49W1sicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik0xNCAzaDEifV0sWyJwYXRoIix7ZDoiTTE5IDNhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjEgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMjEgOXYxIn1dLFsicGF0aCIse2Q6Ik0zIDE0djEifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dLFsicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTUgM2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik03IDEyaDEwIn1dLFsicGF0aCIse2Q6Ik03IDE2aDYifV0sWyJwYXRoIix7ZDoiTTcgOGg4In1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV0sWyJwYXRoIix7ZDoiTTkgM2gxIn1dXSxCTj1bWyJwYXRoIix7ZDoibTE2IDE2LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTQuNWExIDEgMCAwIDEgMCA3SDEzIn1dLFsicGF0aCIse2Q6Ik0zIDE5aDYifV0sWyJwYXRoIix7ZDoiTTMgNWgxOCJ9XV0sWTFyPVtbInBhdGgiLHtkOiJNMiAxMHMzLTMgMy04In1dLFsicGF0aCIse2Q6Ik0yMiAxMHMtMy0zLTMtOCJ9XSxbInBhdGgiLHtkOiJNMTAgMmMwIDQuNC0zLjYgOC04IDgifV0sWyJwYXRoIix7ZDoiTTE0IDJjMCA0LjQgMy42IDggOCA4In1dLFsicGF0aCIse2Q6Ik0yIDEwczIgMiAyIDUifV0sWyJwYXRoIix7ZDoiTTIyIDEwcy0yIDItMiA1In1dLFsicGF0aCIse2Q6Ik04IDE1aDgifV0sWyJwYXRoIix7ZDoiTTIgMjJ2LTFhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MSJ9XSxbInBhdGgiLHtkOiJNMTQgMjJ2LTFhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MSJ9XV0sWjFyPVtbInBhdGgiLHtkOiJtMTAgMjAtMS4yNS0yLjVMNiAxOCJ9XSxbInBhdGgiLHtkOiJNMTAgNCA4Ljc1IDYuNSA2IDYifV0sWyJwYXRoIix7ZDoiTTEwLjU4NSAxNUgxMCJ9XSxbInBhdGgiLHtkOiJNMiAxMmg2LjVMMTAgOSJ9XSxbInBhdGgiLHtkOiJNMjAgMTQuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDB6In1dLFsicGF0aCIse2Q6Im00IDEwIDEuNSAyTDQgMTQifV0sWyJwYXRoIix7ZDoibTcgMjEgMy02LTEuNS0zIn1dLFsicGF0aCIse2Q6Im03IDMgMyA2aDIifV1dLFgxcj1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOGE0IDQgMCAwIDAtMS42NDUgNy42NDcifV0sWyJwYXRoIix7ZDoiTTIgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTQuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDB6In1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Im02LjM0IDE3LjY2LTEuNDEgMS40MSJ9XV0sUTFyPVtbInBhdGgiLHtkOiJNMTQgNHYxMC41NGE0IDQgMCAxIDEtNCAwVjRhMiAyIDAgMCAxIDQgMFoifV1dLEoxcj1bWyJwYXRoIix7ZDoiTTkgMTguMTIgMTAgMTRINC4xN2EyIDIgMCAwIDEtMS45Mi0yLjU2bDIuMzMtOEEyIDIgMCAwIDEgNi41IDJIMjBhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTIuNzZhMiAyIDAgMCAwLTEuNzkgMS4xMUwxMiAyMmEzLjEzIDMuMTMgMCAwIDEtMy0zLjg4WiJ9XSxbInBhdGgiLHtkOiJNMTcgMTRWMiJ9XV0sSzFyPVtbInBhdGgiLHtkOiJNMTUgNS44OCAxNCAxMGg1LjgzYTIgMiAwIDAgMSAxLjkyIDIuNTZsLTIuMzMgOEEyIDIgMCAwIDEgMTcuNSAyMkg0YTIgMiAwIDAgMS0yLTJ2LThhMiAyIDAgMCAxIDItMmgyLjc2YTIgMiAwIDAgMCAxLjc5LTEuMTFMMTIgMmEzLjEzIDMuMTMgMCAwIDEgMyAzLjg4WiJ9XSxbInBhdGgiLHtkOiJNNyAxMHYxMiJ9XV0sZXNyPVtbInBhdGgiLHtkOiJNMiA5YTMgMyAwIDAgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMCAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXSx0c3I9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV1dLHJzcj1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAxIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDEgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dLGFzcj1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoiTTkgMTJoNiJ9XSxbInBhdGgiLHtkOiJNMTIgOXY2In1dXSxpc3I9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Im05LjUgMTQuNSA1LTUifV1dLG5zcj1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkuNSAxNC41IDUtNSJ9XSxbInBhdGgiLHtkOiJtOS41IDkuNSA1IDUifV1dLHNzcj1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoiTTEzIDV2MiJ9XSxbInBhdGgiLHtkOiJNMTMgMTd2MiJ9XSxbInBhdGgiLHtkOiJNMTMgMTF2MiJ9XV0sb3NyPVtbInBhdGgiLHtkOiJNMTAuNSAxN2gxLjIyN2EyIDIgMCAwIDAgMS4zNDUtLjUyTDE4IDEyIn1dLFsicGF0aCIse2Q6Im0xMiAxMy41IDMuNzk0LjUwNiJ9XSxbInBhdGgiLHtkOiJtMy4xNzMgOC4xOCAxMS01YTIgMiAwIDAgMSAyLjY0Ny45OTNMMTguNTYgOCJ9XSxbInBhdGgiLHtkOiJNNiAxMFY4In1dLFsicGF0aCIse2Q6Ik02IDE0djEifV0sWyJwYXRoIix7ZDoiTTYgMTl2MiJ9XSxbInJlY3QiLHt4OiIyIix5OiI4Iix3aWR0aDoiMjAiLGhlaWdodDoiMTMiLHJ4OiIyIn1dXSxsc3I9W1sicGF0aCIse2Q6Ik0xMCAyaDQifV0sWyJwYXRoIix7ZDoiTTQuNiAxMWE4IDggMCAwIDAgMS43IDguNyA4IDggMCAwIDAgOC43IDEuNyJ9XSxbInBhdGgiLHtkOiJNNy40IDcuNGE4IDggMCAwIDEgMTAuMyAxIDggOCAwIDAgMSAuOSAxMC4yIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTEyIDEydi0yIn1dXSxjc3I9W1sicGF0aCIse2Q6Im0zLjE3MyA4LjE4IDExLTVhMiAyIDAgMCAxIDIuNjQ3Ljk5M0wxOC41NiA4In1dLFsicGF0aCIse2Q6Ik02IDEwVjgifV0sWyJwYXRoIix7ZDoiTTYgMTR2MSJ9XSxbInBhdGgiLHtkOiJNNiAxOXYyIn1dLFsicmVjdCIse3g6IjIiLHk6IjgiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMyIscng6IjIifV1dLGRzcj1bWyJwYXRoIix7ZDoiTTEwIDJoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTQgMTNhOCA4IDAgMCAxIDgtNyA4IDggMCAxIDEtNS4zIDE0TDQgMTcuNiJ9XSxbInBhdGgiLHtkOiJNOSAxN0g0djUifV1dLHVzcj1bWyJsaW5lIix7eDE6IjEwIix4MjoiMTQiLHkxOiIyIix5MjoiMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxNSIseTE6IjE0Iix5MjoiMTEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNCIscjoiOCJ9XV0scHNyPVtbImNpcmNsZSIse2N4OiI5IixjeToiMTIiLHI6IjMifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiI1IixyeDoiNyJ9XV0sZnNyPVtbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIzIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjcifV1dLGhzcj1bWyJwYXRoIix7ZDoiTTcgMTJoMTNhMSAxIDAgMCAxIDEgMSA1IDUgMCAwIDEtNSA1aC0uNTk4YS41LjUgMCAwIDAtLjQyNC43NjVsMS41NDQgMi40N2EuNS41IDAgMCAxLS40MjQuNzY1SDUuNDAyYS41LjUgMCAwIDEtLjQyNC0uNzY1TDcgMTgifV0sWyJwYXRoIix7ZDoiTTggMThhNSA1IDAgMCAxLTUtNVY0YTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDEgMiAydjgifV1dLG1zcj1bWyJwYXRoIix7ZDoiTTEwIDE1aDQifV0sWyJwYXRoIix7ZDoibTE0LjgxNyAxMC45OTUtLjk3MS0xLjQ1IDEuMDM0LTEuMjMyYTIgMiAwIDAgMC0yLjAyNS0zLjIzOGwtMS44Mi4zNjRMOS45MSAzLjg4NWEyIDIgMCAwIDAtMy42MjUuNzQ4TDYuMTQxIDYuNTVsLTEuNzI1LjQyNmEyIDIgMCAwIDAtLjE5IDMuNzU2bC42NTcuMjcifV0sWyJwYXRoIix7ZDoibTE4LjgyMiAxMC45OTUgMi4yNi01LjM4YTEgMSAwIDAgMC0uNTU3LTEuMzE4TDE2Ljk1NCAyLjlhMSAxIDAgMCAwLTEuMjgxLjUzM2wtLjkyNCAyLjEyMiJ9XSxbInBhdGgiLHtkOiJNNCAxMi4wMDZBMSAxIDAgMCAxIDQuOTk0IDExSDE5YTEgMSAwIDAgMSAxIDF2N2EyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnoifV1dLGdzcj1bWyJwYXRoIix7ZDoiTTE2IDEydjQifV0sWyJwYXRoIix7ZDoiTTE2IDZhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0IDRBMiAyIDAgMCAxIDIyIDEydjdhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTdhMiAyIDAgMCAxIC41ODYtMS40MTRsNC00QTIgMiAwIDAgMSA4IDZ6In1dLFsicGF0aCIse2Q6Ik0xNiA2VjRhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMjAifV0sWyJwYXRoIix7ZDoiTTggMTJ2NCJ9XV0sYnNyPVtbInBhdGgiLHtkOiJNMjEgNEgzIn1dLFsicGF0aCIse2Q6Ik0xOCA4SDYifV0sWyJwYXRoIix7ZDoiTTE5IDEySDkifV0sWyJwYXRoIix7ZDoiTTE2IDE2aC02In1dLFsicGF0aCIse2Q6Ik0xMSAyMEg5In1dXSx2c3I9W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjExIixyeDoiMyIscnk6IjIifV0sWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiMTIuNSIscng6IjEwIixyeToiOC41In1dXSx4c3I9W1sicGF0aCIse2Q6Ik0xMiAyMHYtNiJ9XSxbInBhdGgiLHtkOiJNMTkuNjU2IDE0SDIyIn1dLFsicGF0aCIse2Q6Ik0yIDE0aDEyIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwIDIwSDRhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoiTTkuNjU2IDRIMjBhMiAyIDAgMCAxIDIgMnYxMC4zNDQifV1dLHlzcj1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAxNGgyMCJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2LTYifV1dLHdzcj1bWyJwYXRoIix7ZDoiTTE4LjIgMTIuMjcgMjAgNkg0bDEuOCA2LjI3YTEgMSAwIDAgMCAuOTUuNzNoMTAuNWExIDEgMCAwIDAgLjk2LS43M1oifV0sWyJwYXRoIix7ZDoiTTggMTN2OSJ9XSxbInBhdGgiLHtkOiJNMTYgMjJ2LTkifV0sWyJwYXRoIix7ZDoibTkgNiAxIDcifV0sWyJwYXRoIix7ZDoibTE1IDYtMSA3In1dLFsicGF0aCIse2Q6Ik0xMiA2VjIifV0sWyJwYXRoIix7ZDoiTTEzIDJoLTIifV1dLE1zcj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjEyIix4OiIzIix5OiI4IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTAgOFY1YzAtLjYtLjQtMS0xLTFINmExIDEgMCAwIDAtMSAxdjMifV0sWyJwYXRoIix7ZDoiTTE5IDhWNWMwLS42LS40LTEtMS0xaC0zYTEgMSAwIDAgMC0xIDF2MyJ9XV0sa3NyPVtbInBhdGgiLHtkOiJtMTAgMTEgMTEgLjlhMSAxIDAgMCAxIC44IDEuMWwtLjY2NSA0LjE1OGExIDEgMCAwIDEtLjk4OC44NDJIMjAifV0sWyJwYXRoIix7ZDoiTTE2IDE4aC01In1dLFsicGF0aCIse2Q6Ik0xOCA1YTEgMSAwIDAgMC0xIDF2NS41NzMifV0sWyJwYXRoIix7ZDoiTTMgNGg4LjEyOWExIDEgMCAwIDEgLjk5Ljg2M0wxMyAxMS4yNDYifV0sWyJwYXRoIix7ZDoiTTQgMTFWNCJ9XSxbInBhdGgiLHtkOiJNNyAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTggMTAuMVY0In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE1IixyOiI1In1dXSxTc3I9W1sicGF0aCIse2Q6Ik0xNi4wNSAxMC45NjZhNSAyLjUgMCAwIDEtOC4xIDAifV0sWyJwYXRoIix7ZDoibTE2LjkyMyAxNC4wNDkgNC40OCAyLjA0YTEgMSAwIDAgMSAuMDAxIDEuODMxbC04LjU3NCAzLjlhMiAyIDAgMCAxLTEuNjYgMGwtOC41NzQtMy45MWExIDEgMCAwIDEgMC0xLjgzbDQuNDg0LTIuMDQifV0sWyJwYXRoIix7ZDoiTTE2Ljk0OSAxNC4xNGE1IDIuNSAwIDEgMS05LjkgMEwxMC4wNjMgMy41YTIgMiAwIDAgMSAzLjg3NCAweiJ9XSxbInBhdGgiLHtkOiJNOS4xOTQgNi41N2E1IDIuNSAwIDAgMCA1LjYxIDAifV1dLHpzcj1bWyJwYXRoIix7ZDoiTTIgMjJWMTJhMTAgMTAgMCAxIDEgMjAgMHYxMCJ9XSxbInBhdGgiLHtkOiJNMTUgNi44djEuNGEzIDIuOCAwIDEgMS02IDBWNi44In1dLFsicGF0aCIse2Q6Ik0xMCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTE0IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTlhNCA0IDAgMCAxLTQtNHYtM2E2IDYgMCAxIDEgMTIgMHYzYTQgNCAwIDAgMS00IDRaIn1dLFsicGF0aCIse2Q6Im05IDE5LTIgMyJ9XSxbInBhdGgiLHtkOiJtMTUgMTkgMiAzIn1dXSxDc3I9W1sicGF0aCIse2Q6Ik04IDMuMVY3YTQgNCAwIDAgMCA4IDBWMy4xIn1dLFsicGF0aCIse2Q6Im05IDE1LTEtMSJ9XSxbInBhdGgiLHtkOiJtMTUgMTUgMS0xIn1dLFsicGF0aCIse2Q6Ik05IDE5Yy0yLjggMC01LTIuMi01LTV2LTRhOCA4IDAgMCAxIDE2IDB2NGMwIDIuOC0yLjIgNS01IDVaIn1dLFsicGF0aCIse2Q6Im04IDE5LTIgMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMiAzIn1dXSxUc3I9W1sicGF0aCIse2Q6Ik0yIDE3IDE3IDIifV0sWyJwYXRoIix7ZDoibTIgMTQgOCA4In1dLFsicGF0aCIse2Q6Im01IDExIDggOCJ9XSxbInBhdGgiLHtkOiJtOCA4IDggOCJ9XSxbInBhdGgiLHtkOiJtMTEgNSA4IDgifV0sWyJwYXRoIix7ZDoibTE0IDIgOCA4In1dLFsicGF0aCIse2Q6Ik03IDIyIDIyIDcifV1dLEhOPVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDExaDE2In1dLFsicGF0aCIse2Q6Ik0xMiAzdjgifV0sWyJwYXRoIix7ZDoibTggMTktMiAzIn1dLFsicGF0aCIse2Q6Im0xOCAyMi0yLTMifV0sWyJwYXRoIix7ZDoiTTggMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNWguMDEifV1dLF9zcj1bWyJwYXRoIix7ZDoiTTEyIDE2djYifV0sWyJwYXRoIix7ZDoiTTE0IDIwaC00In1dLFsicGF0aCIse2Q6Ik0xOCAyaDR2NCJ9XSxbInBhdGgiLHtkOiJtMiAyIDcuMTcgNy4xNyJ9XSxbInBhdGgiLHtkOiJNMiA1LjM1NVYyaDMuMzU3In1dLFsicGF0aCIse2Q6Im0yMiAyLTcuMTcgNy4xNyJ9XSxbInBhdGgiLHtkOiJNOCA1IDUgOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dXSxMc3I9W1sicGF0aCIse2Q6Ik0xMCAxMXY2In1dLFsicGF0aCIse2Q6Ik0xNCAxMXY2In1dLFsicGF0aCIse2Q6Ik0xOSA2djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjYifV0sWyJwYXRoIix7ZDoiTTMgNmgxOCJ9XSxbInBhdGgiLHtkOiJNOCA2VjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MiJ9XV0sJHNyPVtbInBhdGgiLHtkOiJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2In1dLFsicGF0aCIse2Q6Ik0zIDZoMTgifV0sWyJwYXRoIix7ZDoiTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIifV1dLERzcj1bWyJwYXRoIix7ZDoiTTggMTlhNCA0IDAgMCAxLTIuMjQtNy4zMkEzLjUgMy41IDAgMCAxIDkgNi4wM1Y2YTMgMyAwIDEgMSA2IDB2LjA0YTMuNSAzLjUgMCAwIDEgMy4yNCA1LjY1QTQgNCAwIDAgMSAxNiAxOVoifV0sWyJwYXRoIix7ZDoiTTEyIDE5djMifV1dLHFOPVtbInBhdGgiLHtkOiJNMTMgOGMwLTIuNzYtMi40Ni01LTUuNS01UzIgNS4yNCAyIDhoMmwxLTEgMSAxaDQifV0sWyJwYXRoIix7ZDoiTTEzIDcuMTRBNS44MiA1LjgyIDAgMCAxIDE2LjUgNmMzLjA0IDAgNS41IDIuMjQgNS41IDVoLTNsLTEtMS0xIDFoLTMifV0sWyJwYXRoIix7ZDoiTTUuODkgOS43MWMtMi4xNSAyLjE1LTIuMyA1LjQ3LS4zNSA3LjQzbDQuMjQtNC4yNS43LS43LjcxLS43MSAyLjEyLTIuMTJjLTEuOTUtMS45Ni01LjI3LTEuOC03LjQyLjM1In1dLFsicGF0aCIse2Q6Ik0xMSAxNS41Yy41IDIuNS0uMTcgNC41LTEgNi41aDRjMi01LjUtLjUtMTItMS0xNCJ9XV0sQXNyPVtbInBhdGgiLHtkOiJtMTcgMTQgMyAzLjNhMSAxIDAgMCAxLS43IDEuN0g0LjdhMSAxIDAgMCAxLS43LTEuN0w3IDE0aC0uM2ExIDEgMCAwIDEtLjctMS43TDkgOWgtLjJBMSAxIDAgMCAxIDggNy4zTDEyIDNsNCA0LjNhMSAxIDAgMCAxLS44IDEuN0gxNWwzIDMuM2ExIDEgMCAwIDEtLjcgMS43SDE3WiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJ2LTMifV1dLEVzcj1bWyJwYXRoIix7ZDoiTTEwIDEwdi4yQTMgMyAwIDAgMSA4LjkgMTZINWEzIDMgMCAwIDEtMS01LjhWMTBhMyAzIDAgMCAxIDYgMFoifV0sWyJwYXRoIix7ZDoiTTcgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMTMgMTl2MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTloOC4zYTEgMSAwIDAgMCAuNy0xLjdMMTggMTRoLjNhMSAxIDAgMCAwIC43LTEuN0wxNiA5aC4yYTEgMSAwIDAgMCAuOC0xLjdMMTMgM2wtMS40IDEuNSJ9XV0sSXNyPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMyIsaGVpZ2h0OiI5Iix4OiI3Iix5OiI3In1dLFsicmVjdCIse3dpZHRoOiIzIixoZWlnaHQ6IjUiLHg6IjE0Iix5OiI3In1dXSxQc3I9W1sicGF0aCIse2Q6Ik0xNiAxN2g2di02In1dLFsicGF0aCIse2Q6Im0yMiAxNy04LjUtOC41LTUgNUwyIDcifV1dLE5zcj1bWyJwYXRoIix7ZDoiTTE0LjgyOCAxNC44MjggMjEgMjEifV0sWyJwYXRoIix7ZDoiTTIxIDE2djVoLTUifV0sWyJwYXRoIix7ZDoibTIxIDMtOSA5LTQtNC02IDYifV0sWyJwYXRoIix7ZDoiTTIxIDhWM2gtNSJ9XV0sRnNyPVtbInBhdGgiLHtkOiJNMTYgN2g2djYifV0sWyJwYXRoIix7ZDoibTIyIDctOC41IDguNS01LTVMMiAxNyJ9XV0sak49W1sicGF0aCIse2Q6Im0yMS43MyAxOC04LTE0YTIgMiAwIDAgMC0zLjQ4IDBsLTggMTRBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuNzMtMyJ9XSxbInBhdGgiLHtkOiJNMTIgOXY0In1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV1dLE9zcj1bWyJwYXRoIix7ZDoiTTEwLjE3IDQuMTkzYTIgMiAwIDAgMSAzLjY2Ni4wMTMifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDIifV0sWyJwYXRoIix7ZDoibTE1Ljg3NCA3Ljc0MyAxIDEuNzMyIn1dLFsicGF0aCIse2Q6Im0xOC44NDkgMTIuOTUyIDEgMS43MzIifV0sWyJwYXRoIix7ZDoiTTIxLjgyNCAxOC4xOGEyIDIgMCAwIDEtMS44MzUgMi44MjQifV0sWyJwYXRoIix7ZDoiTTQuMDI0IDIxYTIgMiAwIDAgMS0xLjgzOS0yLjgzOSJ9XSxbInBhdGgiLHtkOiJtNS4xMzYgMTIuOTUyLTEgMS43MzIifV0sWyJwYXRoIix7ZDoiTTggMjFoMiJ9XSxbInBhdGgiLHtkOiJtOC4xMDIgNy43NDMtMSAxLjczMiJ9XV0sUnNyPVtbInBhdGgiLHtkOiJNMjIgMThhMiAyIDAgMCAxLTIgMkgzYy0xLjEgMC0xLjMtLjYtLjQtMS4zTDIwLjQgNC4zYy45LS43IDEuNi0uNCAxLjYuN1oifV1dLEJzcj1bWyJwYXRoIix7ZDoiTTEzLjczIDRhMiAyIDAgMCAwLTMuNDYgMGwtOCAxNEEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS43My0zWiJ9XV0sSHNyPVtbInBhdGgiLHtkOiJNMTQgMTlWN2EyIDIgMCAwIDAtMi0ySDkifV0sWyJwYXRoIix7ZDoiTTE1IDE5SDkifV0sWyJwYXRoIix7ZDoiTTE5IDE5aDJhMSAxIDAgMCAwIDEtMXYtMy42NWExIDEgMCAwIDAtLjIyLS42MkwxOC4zIDkuMzhhMSAxIDAgMCAwLS43OC0uMzhIMTQifV0sWyJwYXRoIix7ZDoiTTIgMTN2NWExIDEgMCAwIDAgMSAxaDIifV0sWyJwYXRoIix7ZDoiTTQgMyAyLjE1IDUuMTVhLjQ5NS40OTUgMCAwIDAgLjM1Ljg2aDIuMTVhLjQ3LjQ3IDAgMCAxIC4zNS44NkwzIDkuMDIifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTkiLHI6IjIifV1dLHFzcj1bWyJwYXRoIix7ZDoiTTEwIDE0LjY2djEuNjI2YTIgMiAwIDAgMS0uOTc2IDEuNjk2QTUgNSAwIDAgMCA3IDIxLjk3OCJ9XSxbInBhdGgiLHtkOiJNMTQgMTQuNjZ2MS42MjZhMiAyIDAgMCAwIC45NzYgMS42OTZBNSA1IDAgMCAxIDE3IDIxLjk3OCJ9XSxbInBhdGgiLHtkOiJNMTggOWgxLjVhMSAxIDAgMCAwIDAtNUgxOCJ9XSxbInBhdGgiLHtkOiJNNCAyMmgxNiJ9XSxbInBhdGgiLHtkOiJNNiA5YTYgNiAwIDAgMCAxMiAwVjNhMSAxIDAgMCAwLTEtMUg3YTEgMSAwIDAgMC0xIDF6In1dLFsicGF0aCIse2Q6Ik02IDlINC41YTEgMSAwIDAgMSAwLTVINiJ9XV0sanNyPVtbInBhdGgiLHtkOiJNMTQgMThWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMWExIDEgMCAwIDAgMSAxaDIifV0sWyJwYXRoIix7ZDoiTTE1IDE4SDkifV0sWyJwYXRoIix7ZDoiTTE5IDE4aDJhMSAxIDAgMCAwIDEtMXYtMy42NWExIDEgMCAwIDAtLjIyLS42MjRsLTMuNDgtNC4zNUExIDEgMCAwIDAgMTcuNTIgOEgxNCJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE4IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOCIscjoiMiJ9XV0sVnNyPVtbInBhdGgiLHtkOiJNMTUgNCA1IDkifV0sWyJwYXRoIix7ZDoibTE1IDguNS0xMCA1In1dLFsicGF0aCIse2Q6Ik0xOCAxMmE5IDkgMCAwIDEtOSA5VjMifV1dLFVzcj1bWyJwYXRoIix7ZDoiTTEwIDEyLjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOHY0YTggOCAwIDAgMS0xLjA3IDQifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMiIscjoiNCJ9XSxbInJlY3QiLHt4OiIyIix5OiI0Iix3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHJ4OiIyIn1dXSxXc3I9W1sicGF0aCIse2Q6Im0xMiAxMCAyIDR2M2ExIDEgMCAwIDAgMSAxaDJhMSAxIDAgMCAwIDEtMXYtM2E4IDggMCAxIDAtMTYgMHYzYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xdi0zbDItNGg0WiJ9XSxbInBhdGgiLHtkOiJNNC44MiA3LjkgOCAxMCJ9XSxbInBhdGgiLHtkOiJNMTUuMTggNy45IDEyIDEwIn1dLFsicGF0aCIse2Q6Ik0xNi45MyAxMEgyMGEyIDIgMCAwIDEgMCA0SDIifV1dLEdzcj1bWyJwYXRoIix7ZDoiTTE1LjAzMyA5LjQ0YS42NDcuNjQ3IDAgMCAxIDAgMS4xMmwtNC4wNjUgMi4zNTJhLjY0NS42NDUgMCAwIDEtLjk2OC0uNTZWNy42NDhhLjY0NS42NDUgMCAwIDEgLjk2Ny0uNTZ6In1dLFsicGF0aCIse2Q6Ik03IDIxaDEwIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV1dLFZOPVtbInBhdGgiLHtkOiJNNyAyMWgxMCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjMiLHJ4OiIyIn1dXSxZc3I9W1sicGF0aCIse2Q6Im0xNyAyLTUgNS01LTUifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE1Iix4OiIyIix5OiI3IixyeDoiMiJ9XV0sWnNyPVtbInBhdGgiLHtkOiJNMjEgMkgzdjE2aDV2NGw0LTRoNWw0LTRWMnptLTEwIDlWN201IDRWNyJ9XV0sWHNyPVtbInBhdGgiLHtkOiJNMjIgNHMtLjcgMi4xLTIgMy40YzEuNiAxMC05LjQgMTcuMy0xOCAxMS42IDIuMi4xIDQuNC0uNiA2LTJDMyAxNS41LjUgOS42IDMgNWMyLjIgMi42IDUuNiA0LjEgOSA0LS45LTQuMiA0LTYuNiA3LTMuOCAxLjEgMCAzLTEuMiAzLTEuMnoifV1dLFFzcj1bWyJwYXRoIix7ZDoiTTE0IDE2LjVhLjUuNSAwIDAgMCAuNS41aC41YTIgMiAwIDAgMSAwIDRIOWEyIDIgMCAwIDEgMC00aC41YS41LjUgMCAwIDAgLjUtLjV2LTlhLjUuNSAwIDAgMC0uNS0uNWgtM2EuNS41IDAgMCAwLS41LjVWOGEyIDIgMCAwIDEtNCAwVjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTQgMHYtLjVhLjUuNSAwIDAgMC0uNS0uNWgtM2EuNS41IDAgMCAwLS41LjVaIn1dXSxKc3I9W1sicGF0aCIse2Q6Ik0xMiA0djE2In1dLFsicGF0aCIse2Q6Ik00IDdWNWExIDEgMCAwIDEgMS0xaDE0YTEgMSAwIDAgMSAxIDF2MiJ9XSxbInBhdGgiLHtkOiJNOSAyMGg2In1dXSxLc3I9W1sicGF0aCIse2Q6Ik0xMiAxM3Y3YTIgMiAwIDAgMCA0IDAifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTguNjU2IDEzaDIuMzM2YTEgMSAwIDAgMCAuOTctMS4yNzQgMTAuMjg0IDEwLjI4NCAwIDAgMC0xMi4wNy03LjUxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTUuOTYxIDUuOTU3YTEwLjI4IDEwLjI4IDAgMCAwLTMuOTIyIDUuNzY5QTEgMSAwIDAgMCAzIDEzaDEwIn1dXSxlb3I9W1sicGF0aCIse2Q6Ik0xMiAxM3Y3YTIgMiAwIDAgMCA0IDAifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjAuOTkyIDEzYTEgMSAwIDAgMCAuOTctMS4yNzQgMTAuMjg0IDEwLjI4NCAwIDAgMC0xOS45MjMgMEExIDEgMCAwIDAgMyAxM3oifV1dLHRvcj1bWyJwYXRoIix7ZDoiTTYgNHY2YTYgNiAwIDAgMCAxMiAwVjQifV0sWyJsaW5lIix7eDE6IjQiLHgyOiIyMCIseTE6IjIwIix5MjoiMjAifV1dLHJvcj1bWyJwYXRoIix7ZDoiTTkgMTQgNCA5bDUtNSJ9XSxbInBhdGgiLHtkOiJNNCA5aDEwLjVhNS41IDUuNSAwIDAgMSA1LjUgNS41YTUuNSA1LjUgMCAwIDEtNS41IDUuNUgxMSJ9XV0sYW9yPVtbInBhdGgiLHtkOiJNMjEgMTdhOSA5IDAgMCAwLTE1LTYuN0wzIDEzIn1dLFsicGF0aCIse2Q6Ik0zIDd2Nmg2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjEifV1dLGlvcj1bWyJwYXRoIix7ZDoiTTMgN3Y2aDYifV0sWyJwYXRoIix7ZDoiTTIxIDE3YTkgOSAwIDAgMC05LTkgOSA5IDAgMCAwLTYgMi4zTDMgMTMifV1dLG5vcj1bWyJwYXRoIix7ZDoiTTE2IDEyaDYifV0sWyJwYXRoIix7ZDoiTTggMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djIifV0sWyJwYXRoIix7ZDoiTTEyIDE0djIifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoibTE5IDE1IDMtMy0zLTMifV0sWyJwYXRoIix7ZDoibTUgOS0zIDMgMyAzIn1dXSxzb3I9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNiJ9XSxbInBhdGgiLHtkOiJNMTIgOFYyIn1dLFsicGF0aCIse2Q6Ik00IDEySDIifV0sWyJwYXRoIix7ZDoiTTEwIDEySDgifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJtMTUgMTktMyAzLTMtMyJ9XSxbInBhdGgiLHtkOiJtMTUgNS0zLTMtMyAzIn1dXSxvb3I9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjQiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjYiLHg6IjExIix5OiIxNCIscng6IjEifV1dLFVOPVtbInBhdGgiLHtkOiJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgN2ExIDEgMCAwIDAtMS0xaC0yYTIgMiAwIDAgMS0xLjE0My0uMzU5TDEzLjE0MyAyLjM2YTIgMiAwIDAgMC0yLjI4Ni0uMDAxTDYuMTQzIDUuNjRBMiAyIDAgMCAxIDUgNkgzYTEgMSAwIDAgMC0xIDF2MTJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yeiJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTYgMTZoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjIifV1dLGxvcj1bWyJwYXRoIix7ZDoibTE4Ljg0IDEyLjI1IDEuNzItMS43MWgtLjAyYTUuMDA0IDUuMDA0IDAgMCAwLS4xMi03LjA3IDUuMDA2IDUuMDA2IDAgMCAwLTYuOTUgMGwtMS43MiAxLjcxIn1dLFsicGF0aCIse2Q6Im01LjE3IDExLjc1LTEuNzEgMS43MWE1LjAwNCA1LjAwNCAwIDAgMCAuMTIgNy4wNyA1LjAwNiA1LjAwNiAwIDAgMCA2Ljk1IDBsMS43MS0xLjcxIn1dLFsibGluZSIse3gxOiI4Iix4MjoiOCIseTE6IjIiLHkyOiI1In1dLFsibGluZSIse3gxOiIyIix4MjoiNSIseTE6IjgiLHkyOiI4In1dLFsibGluZSIse3gxOiIxNiIseDI6IjE2Iix5MToiMTkiLHkyOiIyMiJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIyMiIseTE6IjE2Iix5MjoiMTYifV1dLGNvcj1bWyJwYXRoIix7ZDoiTTE1IDdoMmE1IDUgMCAwIDEgMCAxMGgtMm0tNiAwSDdBNSA1IDAgMCAxIDcgN2gyIn1dXSxkb3I9W1sicGF0aCIse2Q6Im0xOSA1IDMtMyJ9XSxbInBhdGgiLHtkOiJtMiAyMiAzLTMifV0sWyJwYXRoIix7ZDoiTTYuMyAyMC4zYTIuNCAyLjQgMCAwIDAgMy40IDBMMTIgMThsLTYtNi0yLjMgMi4zYTIuNCAyLjQgMCAwIDAgMCAzLjRaIn1dLFsicGF0aCIse2Q6Ik03LjUgMTMuNSAxMCAxMSJ9XSxbInBhdGgiLHtkOiJNMTAuNSAxNi41IDEzIDE0In1dLFsicGF0aCIse2Q6Im0xMiA2IDYgNiAyLjMtMi4zYTIuNCAyLjQgMCAwIDAgMC0zLjRsLTIuNi0yLjZhMi40IDIuNCAwIDAgMC0zLjQgMFoifV1dLHVvcj1bWyJwYXRoIix7ZDoiTTEyIDN2MTIifV0sWyJwYXRoIix7ZDoibTE3IDgtNS01LTUgNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCJ9XV0scG9yPVtbImNpcmNsZSIse2N4OiIxMCIsY3k6IjciLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjIwIixyOiIxIn1dLFsicGF0aCIse2Q6Ik00LjcgMTkuMyAxOSA1In1dLFsicGF0aCIse2Q6Im0yMSAzLTMgMSAyIDJaIn1dLFsicGF0aCIse2Q6Ik05LjI2IDcuNjggNSAxMmwyIDUifV0sWyJwYXRoIix7ZDoibTEwIDE0IDUgMiAzLjUtMy41In1dLFsicGF0aCIse2Q6Im0xOCAxMiAxLTEgMSAxLTEgMVoifV1dLGhvcj1bWyJwYXRoIix7ZDoibTE2IDExIDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTE2IDIxdi0yYTQgNCAwIDAgMC00LTRINmE0IDQgMCAwIDAtNCA0djIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQifV1dLG1vcj1bWyJwYXRoIix7ZDoiTTEwIDE1SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsicGF0aCIse2Q6Im0xNC4zMDUgMTYuNTMuOTIzLS4zODIifV0sWyJwYXRoIix7ZDoibTE1LjIyOCAxMy44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMTIuMjI4LS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE3Ljc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTkuMTQ4IDEyLjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuNTMgMTguNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDEzLjg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2LjE0OC45MjQuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTUiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQifV1dLGdvcj1bWyJwYXRoIix7ZDoiTTIwIDExdjYifV0sWyJwYXRoIix7ZDoiTTIwIDEzaDIifV0sWyJwYXRoIix7ZDoiTTMgMjF2LTJhNCA0IDAgMCAxIDQtNGg2YTQgNCAwIDAgMSAyLjA3Mi41NzgifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI3IixyOiI0In1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiMTkiLHI6IjIifV1dLGJvcj1bWyJwYXRoIix7ZDoiTTE5IDE2di0yYTIgMiAwIDAgMC00IDB2MiJ9XSxbInBhdGgiLHtkOiJNOS41IDE1SDdhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XSxbInJlY3QiLHt4OiIxMyIseToiMTYiLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIuODk5In1dXSx2b3I9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dLFsibGluZSIse3gxOiIyMiIseDI6IjE2Iix5MToiMTEiLHkyOiIxMSJ9XV0seG9yPVtbInBhdGgiLHtkOiJNMTEuNSAxNUg3YTQgNCAwIDAgMC00IDR2MiJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDE2LjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XV0seW9yPVtbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIxOSIseTE6IjgiLHkyOiIxNCJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIxNiIseTE6IjExIix5MjoiMTEifV1dLFdOPVtbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTMuMjkyLTYifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dLFsicGF0aCIse2Q6Im0xNiAxOSAyIDIgNC00In1dXSxHTj1bWyJwYXRoIix7ZDoibTE0LjMwNSAxOS41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAxNS4yMjgtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMjAuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im0xOS4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xOS41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMC40MzQtNy42MiJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE5LjE0OC45MjQuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXSx3b3I9W1sicGF0aCIse2Q6Ik0xOSAxMXY2In1dLFsicGF0aCIse2Q6Ik0xOSAxM2gyIn1dLFsicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMi44NjgtNi4zNDkifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTkiLHI6IjIifV1dLFlOPVtbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTMuMjkyLTYifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dLFsicGF0aCIse2Q6Ik0yMiAxOWgtNiJ9XV0sTW9yPVtbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTAuODIxLTcuNDg3In1dLFsicGF0aCIse2Q6Ik0yMS4zNzggMTYuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dXSxaTj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEzLjI5Mi02In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMjIgMTloLTYifV1dLGtvcj1bWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dLFsicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMC40MzQtNy42MiJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMiAyMi0xLjktMS45In1dXSxYTj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDExLjg3My03In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNSA1In1dLFsicGF0aCIse2Q6Im0yMiAxNy01IDUifV1dLFFOPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjUifV0sWyJwYXRoIix7ZDoiTTIwIDIxYTggOCAwIDAgMC0xNiAwIn1dXSxTb3I9W1siY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTAuMyAxNUg3YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMSAyMS0xLjktMS45In1dXSx6b3I9W1sicGF0aCIse2Q6Ik0xNi4wNTEgMTIuNjE2YTEgMSAwIDAgMSAxLjkwOS4wMjRsLjczNyAxLjQ1MmExIDEgMCAwIDAgLjczNy41MzVsMS42MzQuMjU2YTEgMSAwIDAgMSAuNTg4IDEuODA2bC0xLjE3MiAxLjE2OGExIDEgMCAwIDAtLjI4Mi44NjZsLjI1OSAxLjYxM2ExIDEgMCAwIDEtMS41NDEgMS4xMzRsLTEuNDY1LS43NWExIDEgMCAwIDAtLjkxMiAwbC0xLjQ2NS43NWExIDEgMCAwIDEtMS41MzktMS4xMzNsLjI1OC0xLjYxM2ExIDEgMCAwIDAtLjI4Mi0uODY2bC0xLjE1Ni0xLjE1M2ExIDEgMCAwIDEgLjU3Mi0xLjgyMmwxLjYzMy0uMjU2YTEgMSAwIDAgMCAuNzM3LS41MzV6In1dLFsicGF0aCIse2Q6Ik04IDE1SDdhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XV0sQ29yPVtbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XSxbImxpbmUiLHt4MToiMTciLHgyOiIyMiIseTE6IjgiLHkyOiIxMyJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIxNyIseTE6IjgiLHkyOiIxMyJ9XV0sVG9yPVtbInBhdGgiLHtkOiJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjciLHI6IjQifV1dLEpOPVtbInBhdGgiLHtkOiJNMTggMjFhOCA4IDAgMCAwLTE2IDAifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dLFsicGF0aCIse2Q6Ik0yMiAyMGMwLTMuMzctMi02LjUtNC04YTUgNSAwIDAgMC0uNDUtOC4zIn1dXSxfb3I9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsicGF0aCIse2Q6Ik0xNiAzLjEyOGE0IDQgMCAwIDEgMCA3Ljc0NCJ9XSxbInBhdGgiLHtkOiJNMjIgMjF2LTJhNCA0IDAgMCAwLTMtMy44NyJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XV0sS049W1sicGF0aCIse2Q6Im0xNiAyLTIuMyAyLjNhMyAzIDAgMCAwIDAgNC4ybDEuOCAxLjhhMyAzIDAgMCAwIDQuMiAwTDIyIDgifV0sWyJwYXRoIix7ZDoiTTE1IDE1IDMuMyAzLjNhNC4yIDQuMiAwIDAgMCAwIDZsNy4zIDcuM2MuNy43IDIgLjcgMi44IDBMMTUgMTVabTAgMCA3IDcifV0sWyJwYXRoIix7ZDoibTIuMSAyMS44IDYuNC02LjMifV0sWyJwYXRoIix7ZDoibTE5IDUtNyA3In1dXSxlRj1bWyJwYXRoIix7ZDoiTTMgMnY3YzAgMS4xLjkgMiAyIDJoNGEyIDIgMCAwIDAgMi0yVjIifV0sWyJwYXRoIix7ZDoiTTcgMnYyMCJ9XSxbInBhdGgiLHtkOiJNMjEgMTVWMmE1IDUgMCAwIDAtNSA1djZjMCAxLjEuOSAyIDIgMmgzWm0wIDB2NyJ9XV0sTG9yPVtbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XSxbInBhdGgiLHtkOiJNMiA1aDIwIn1dLFsicGF0aCIse2Q6Ik0zIDN2MiJ9XSxbInBhdGgiLHtkOiJNNyAzdjIifV0sWyJwYXRoIix7ZDoiTTE3IDN2MiJ9XSxbInBhdGgiLHtkOiJNMjEgM3YyIn1dLFsicGF0aCIse2Q6Im0xOSA1LTcgNy03LTcifV1dLCRvcj1bWyJwYXRoIix7ZDoiTTEzIDZ2NWExIDEgMCAwIDAgMSAxaDYuMTAyYTEgMSAwIDAgMSAuNzEyLjI5OGwuODk4LjkxYTEgMSAwIDAgMSAuMjg4LjcwMlYxN2ExIDEgMCAwIDEtMSAxaC0zIn1dLFsicGF0aCIse2Q6Ik01IDE4SDNhMSAxIDAgMCAxLTEtMVY4YTIgMiAwIDAgMSAyLTJoMTJjMS4xIDAgMi4xLjggMi40IDEuOGwxLjE3NiA0LjIifV0sWyJwYXRoIix7ZDoiTTkgMThoNSJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE4IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOCIscjoiMiJ9XV0sRG9yPVtbInBhdGgiLHtkOiJNOCAyMXMtNC0zLTQtOSA0LTkgNC05In1dLFsicGF0aCIse2Q6Ik0xNiAzczQgMyA0IDktNCA5LTQgOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiI5Iix5MToiOSIseTI6IjE1In1dLFsibGluZSIse3gxOiI5Iix4MjoiMTUiLHkxOiI5Iix5MjoiMTUifV1dLEFvcj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoibTcuOSA3LjkgMi43IDIuNyJ9XSxbImNpcmNsZSIse2N4OiIxNi41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Im0xMy40IDEwLjYgMi43LTIuNyJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiIxNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Im03LjkgMTYuMSAyLjctMi43In1dLFsiY2lyY2xlIix7Y3g6IjE2LjUiLGN5OiIxNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Im0xMy40IDEzLjQgMi43IDIuNyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXSxFb3I9W1sicGF0aCIse2Q6Ik0xOS41IDdhMjQgMjQgMCAwIDEgMCAxMCJ9XSxbInBhdGgiLHtkOiJNNC41IDdhMjQgMjQgMCAwIDAgMCAxMCJ9XSxbInBhdGgiLHtkOiJNNyAxOS41YTI0IDI0IDAgMCAwIDEwIDAifV0sWyJwYXRoIix7ZDoiTTcgNC41YTI0IDI0IDAgMCAxIDEwIDAifV0sWyJyZWN0Iix7eDoiMTciLHk6IjE3Iix3aWR0aDoiNSIsaGVpZ2h0OiI1IixyeDoiMSJ9XSxbInJlY3QiLHt4OiIxNyIseToiMiIsd2lkdGg6IjUiLGhlaWdodDoiNSIscng6IjEifV0sWyJyZWN0Iix7eDoiMiIseToiMTciLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjIiLHk6IjIiLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXSxJb3I9W1sicGF0aCIse2Q6Ik0xNiA4cTYgMCA2LTYtNiAwLTYgNiJ9XSxbInBhdGgiLHtkOiJNMTcuNDEgMy41OWExMCAxMCAwIDEgMCAzIDMifV0sWyJwYXRoIix7ZDoiTTIgMmEyNi42IDI2LjYgMCAwIDEgMTAgMjBjLjktNi44MiAxLjUtOS41IDQtMTQifV1dLFBvcj1bWyJwYXRoIix7ZDoiTTE4IDExYy0xLjUgMC0yLjUuNS0zIDIifV0sWyJwYXRoIix7ZDoiTTQgNmEyIDIgMCAwIDAtMiAydjRhNSA1IDAgMCAwIDUgNSA4IDggMCAwIDEgNSAyIDggOCAwIDAgMSA1LTIgNSA1IDAgMCAwIDUtNVY4YTIgMiAwIDAgMC0yLTJoLTNhOCA4IDAgMCAwLTUgMiA4IDggMCAwIDAtNS0yeiJ9XSxbInBhdGgiLHtkOiJNNiAxMWMxLjUgMCAyLjUuNSAzIDIifV1dLE5vcj1bWyJwYXRoIix7ZDoiTTEwIDIwaDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2djYifV0sWyJwYXRoIix7ZDoiTTE3IDJoNHY0In1dLFsicGF0aCIse2Q6Im0yMSAyLTUuNDYgNS40NiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExIixyOiI1In1dXSxGb3I9W1sicGF0aCIse2Q6Ik0xMiAxNXY3In1dLFsicGF0aCIse2Q6Ik05IDE5aDYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI5IixyOiI2In1dXSxPb3I9W1sicGF0aCIse2Q6Im0yIDggMiAyLTIgMiAyIDItMiAyIn1dLFsicGF0aCIse2Q6Im0yMiA4LTIgMiAyIDItMiAyIDIgMiJ9XSxbInBhdGgiLHtkOiJNOCA4djEwYzAgLjU1LjQ1IDEgMSAxaDZjLjU1IDAgMS0uNDUgMS0xdi0yIn1dLFsicGF0aCIse2Q6Ik0xNiAxMC4zNFY2YzAtLjU1LS40NS0xLTEtMWgtNC4zNCJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXSxSb3I9W1sicGF0aCIse2Q6Im0yIDggMiAyLTIgMiAyIDItMiAyIn1dLFsicGF0aCIse2Q6Im0yMiA4LTIgMiAyIDItMiAyIDIgMiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIxNCIseDoiOCIseToiNSIscng6IjEifV1dLEJvcj1bWyJwYXRoIix7ZDoiTTEwLjY2IDZIMTRhMiAyIDAgMCAxIDIgMnYyLjVsNS4yNDgtMy4wNjJBLjUuNSAwIDAgMSAyMiA3Ljg3djguMTk2In1dLFsicGF0aCIse2Q6Ik0xNiAxNmEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXSxIb3I9W1sicGF0aCIse2Q6Im0xNiAxMyA1LjIyMyAzLjQ4MmEuNS41IDAgMCAwIC43NzctLjQxNlY3Ljg3YS41LjUgMCAwIDAtLjc1Mi0uNDMyTDE2IDEwLjUifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE0IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV0scW9yPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDhoMjAifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjE0IixyOiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNCIscjoiMiJ9XV0sam9yPVtbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInBhdGgiLHtkOiJNMjEgN1Y1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbInBhdGgiLHtkOiJNMTguOTQ0IDEyLjMzYTEgMSAwIDAgMCAwLS42NiA3LjUgNy41IDAgMCAwLTEzLjg4OCAwIDEgMSAwIDAgMCAwIC42NiA3LjUgNy41IDAgMCAwIDEzLjg4OCAwIn1dXSxWb3I9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiIxMiIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjEyIixyOiI0In1dLFsibGluZSIse3gxOiI2Iix4MjoiMTgiLHkxOiIxNiIseTI6IjE2In1dXSxVb3I9W1sicGF0aCIse2Q6Ik0xMS4xIDcuMWExNi41NSAxNi41NSAwIDAgMSAxMC45IDQifV0sWyJwYXRoIix7ZDoiTTEyIDEyYTEyLjYgMTIuNiAwIDAgMS04LjcgNSJ9XSxbInBhdGgiLHtkOiJNMTYuOCAxMy42YTE2LjU1IDE2LjU1IDAgMCAxLTkgNy41In1dLFsicGF0aCIse2Q6Ik0yMC43IDE3YTEyLjggMTIuOCAwIDAgMC04LjctNSAxMy4zIDEzLjMgMCAwIDEgMC0xMCJ9XSxbInBhdGgiLHtkOiJNNi4zIDMuOGExNi41NSAxNi41NSAwIDAgMCAxLjkgMTEuNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV0sV29yPVtbInBhdGgiLHtkOiJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoifV0sWyJwYXRoIix7ZDoiTTE2IDlhNSA1IDAgMCAxIDAgNiJ9XV0sR29yPVtbInBhdGgiLHtkOiJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoifV0sWyJwYXRoIix7ZDoiTTE2IDlhNSA1IDAgMCAxIDAgNiJ9XSxbInBhdGgiLHtkOiJNMTkuMzY0IDE4LjM2NGE5IDkgMCAwIDAgMC0xMi43MjgifV1dLFlvcj1bWyJwYXRoIix7ZDoiTTE2IDlhNSA1IDAgMCAxIC45NSAyLjI5MyJ9XSxbInBhdGgiLHtkOiJNMTkuMzY0IDUuNjM2YTkgOSAwIDAgMSAxLjg4OSA5Ljk2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoibTcgNy0uNTg3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OFYxMSJ9XSxbInBhdGgiLHtkOiJNOS44MjggNC4xNzJBLjY4Ni42ODYgMCAwIDEgMTEgNC42NTd2LjY4NiJ9XV0sWm9yPVtbInBhdGgiLHtkOiJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoifV0sWyJsaW5lIix7eDE6IjIyIix4MjoiMTYiLHkxOiI5Iix5MjoiMTUifV0sWyJsaW5lIix7eDE6IjE2Iix4MjoiMjIiLHkxOiI5Iix5MjoiMTUifV1dLFhvcj1bWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNNSA3YzAtMS4xLjktMiAyLTJoMTBhMiAyIDAgMCAxIDIgMnYxMkg1VjdaIn1dLFsicGF0aCIse2Q6Ik0yMiAxOUgyIn1dXSxRb3I9W1sicGF0aCIse2Q6Ik0xMSA0LjcwMmEuNzA1LjcwNSAwIDAgMC0xLjIwMy0uNDk4TDYuNDEzIDcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4eiJ9XV0sSm9yPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDlhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0zIDExaDNjLjggMCAxLjYuMyAyLjEuOWwxLjEuOWMxLjYgMS42IDQuMSAxLjYgNS43IDBsMS4xLS45Yy41LS41IDEuMy0uOSAyLjEtLjlIMjEifV1dLHRGPVtbInBhdGgiLHtkOiJNMTcgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDdoMTJhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTQifV1dLEtvcj1bWyJwYXRoIix7ZDoiTTE5IDdWNGExIDEgMCAwIDAtMS0xSDVhMiAyIDAgMCAwIDAgNGgxNWExIDEgMCAwIDEgMSAxdjRoLTNhMiAyIDAgMCAwIDAgNGgzYTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAwLTEtMSJ9XSxbInBhdGgiLHtkOiJNMyA1djE0YTIgMiAwIDAgMCAyIDJoMTVhMSAxIDAgMCAwIDEtMXYtNCJ9XV0sZTJyPVtbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicGF0aCIse2Q6Im05IDE3IDYuMS02LjFhMiAyIDAgMCAxIDIuODEuMDFMMjIgMTUifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjkiLHI6IjIifV0sWyJyZWN0Iix7eDoiMiIseToiMyIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixyeDoiMiJ9XV0sckY9W1sicGF0aCIse2Q6Im0yMS42NCAzLjY0LTEuMjgtMS4yOGExLjIxIDEuMjEgMCAwIDAtMS43MiAwTDIuMzYgMTguNjRhMS4yMSAxLjIxIDAgMCAwIDAgMS43MmwxLjI4IDEuMjhhMS4yIDEuMiAwIDAgMCAxLjcyIDBMMjEuNjQgNS4zNmExLjIgMS4yIDAgMCAwIDAtMS43MiJ9XSxbInBhdGgiLHtkOiJtMTQgNyAzIDMifV0sWyJwYXRoIix7ZDoiTTUgNnY0In1dLFsicGF0aCIse2Q6Ik0xOSAxNHY0In1dLFsicGF0aCIse2Q6Ik0xMCAydjIifV0sWyJwYXRoIix7ZDoiTTcgOEgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxNmgtNCJ9XSxbInBhdGgiLHtkOiJNMTEgM0g5In1dXSx0MnI9W1sicGF0aCIse2Q6Ik0xNSA0VjIifV0sWyJwYXRoIix7ZDoiTTE1IDE2di0yIn1dLFsicGF0aCIse2Q6Ik04IDloMiJ9XSxbInBhdGgiLHtkOiJNMjAgOWgyIn1dLFsicGF0aCIse2Q6Ik0xNy44IDExLjggMTkgMTMifV0sWyJwYXRoIix7ZDoiTTE1IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNy44IDYuMiAxOSA1In1dLFsicGF0aCIse2Q6Im0zIDIxIDktOSJ9XSxbInBhdGgiLHtkOiJNMTIuMiA2LjIgMTEgNSJ9XV0scjJyPVtbInBhdGgiLHtkOiJNMTggMjFWMTBhMSAxIDAgMCAwLTEtMUg3YTEgMSAwIDAgMC0xIDF2MTEifV0sWyJwYXRoIix7ZDoiTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDEuMTMyLTEuODAzbDcuOTUtMy45NzRhMiAyIDAgMCAxIDEuODM3IDBsNy45NDggMy45NzRBMiAyIDAgMCAxIDIyIDh6In1dLFsicGF0aCIse2Q6Ik02IDEzaDEyIn1dLFsicGF0aCIse2Q6Ik02IDE3aDEyIn1dXSxhMnI9W1sicGF0aCIse2Q6Ik0zIDZoMyJ9XSxbInBhdGgiLHtkOiJNMTcgNmguMDEifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjIwIix4OiIzIix5OiIyIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI1In1dLFsicGF0aCIse2Q6Ik0xMiAxOGEyLjUgMi41IDAgMCAwIDAtNSAyLjUgMi41IDAgMCAxIDAtNSJ9XV0saTJyPVtbInBhdGgiLHtkOiJNMTIgMTB2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Im0xNi4xMyA3LjY2LS44MS00LjA1YTIgMiAwIDAgMC0yLTEuNjFoLTIuNjhhMiAyIDAgMCAwLTIgMS42MWwtLjc4IDQuMDUifV0sWyJwYXRoIix7ZDoibTcuODggMTYuMzYuOCA0YTIgMiAwIDAgMCAyIDEuNjFoMi43MmEyIDIgMCAwIDAgMi0xLjYxbC44MS00LjA1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjYifV1dLG4ycj1bWyJwYXRoIix7ZDoiTTEyIDEwTDEyIDIifV0sWyJwYXRoIix7ZDoiTTE2IDZMMTIgMTBMOCA2In1dLFsicGF0aCIse2Q6Ik0yIDE1QzIuNiAxNS41IDMuMiAxNiA0LjUgMTZDNyAxNiA3IDE0IDkuNSAxNEMxMi4xIDE0IDExLjkgMTYgMTQuNSAxNkMxNyAxNiAxNyAxNCAxOS41IDE0QzIwLjggMTQgMjEuNCAxNC41IDIyIDE1In1dLFsicGF0aCIse2Q6Ik0yIDIxQzIuNiAyMS41IDMuMiAyMiA0LjUgMjJDNyAyMiA3IDIwIDkuNSAyMEMxMi4xIDIwIDExLjkgMjIgMTQuNSAyMkMxNyAyMiAxNyAyMCAxOS41IDIwQzIwLjggMjAgMjEuNCAyMC41IDIyIDIxIn1dXSxzMnI9W1sicGF0aCIse2Q6Ik0xMiAydjgifV0sWyJwYXRoIix7ZDoiTTIgMTVjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNMiAyMWMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dLFsicGF0aCIse2Q6Im04IDYgNC00IDQgNCJ9XV0sbzJyPVtbInBhdGgiLHtkOiJNMTkgNWEyIDIgMCAwIDAtMiAydjExIn1dLFsicGF0aCIse2Q6Ik0yIDE4Yy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV0sWyJwYXRoIix7ZDoiTTcgMTNoMTAifV0sWyJwYXRoIix7ZDoiTTcgOWgxMCJ9XSxbInBhdGgiLHtkOiJNOSA1YTIgMiAwIDAgMC0yIDJ2MTEifV1dLGwycj1bWyJwYXRoIix7ZDoiTTIgNmMuNi41IDEuMiAxIDIuNSAxQzcgNyA3IDUgOS41IDVjMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNMiAxMmMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dLFsicGF0aCIse2Q6Ik0yIDE4Yy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV1dLGMycj1bWyJwYXRoIix7ZDoibTEwLjU4NiA1LjQxNC01LjE3MiA1LjE3MiJ9XSxbInBhdGgiLHtkOiJtMTguNTg2IDEzLjQxNC01LjE3MiA1LjE3MiJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjIwIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjEyIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIxMiIscjoiMiJ9XV0sZDJyPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiI4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTcgMjJoMTAifV0sWyJwYXRoIix7ZDoiTTEyIDIydi00In1dXSx1MnI9W1sicGF0aCIse2Q6Ik0xNyAxN2gtNWMtMS4wOS0uMDItMS45NC45Mi0yLjUgMS45QTMgMyAwIDEgMSAyLjU3IDE1In1dLFsicGF0aCIse2Q6Ik05IDMuNGE0IDQgMCAwIDEgNi41Mi42NiJ9XSxbInBhdGgiLHtkOiJtNiAxNyAzLjEtNS44YTIuNSAyLjUgMCAwIDAgLjA1Ny0yLjA1In1dLFsicGF0aCIse2Q6Ik0yMC4zIDIwLjNhNCA0IDAgMCAxLTIuMy43In1dLFsicGF0aCIse2Q6Ik0xOC42IDEzYTQgNCAwIDAgMSAzLjM1NyAzLjQxNCJ9XSxbInBhdGgiLHtkOiJtMTIgNiAuNiAxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dLHAycj1bWyJwYXRoIix7ZDoiTTE4IDE2Ljk4aC01Ljk5Yy0xLjEgMC0xLjk1Ljk0LTIuNDggMS45QTQgNCAwIDAgMSAyIDE3Yy4wMS0uNy4yLTEuNC41Ny0yIn1dLFsicGF0aCIse2Q6Im02IDE3IDMuMTMtNS43OGMuNTMtLjk3LjEtMi4xOC0uNS0zLjFhNCA0IDAgMSAxIDYuODktNC4wNiJ9XSxbInBhdGgiLHtkOiJtMTIgNiAzLjEzIDUuNzNDMTUuNjYgMTIuNyAxNi45IDEzIDE4IDEzYTQgNCAwIDAgMSAwIDgifV1dLGYycj1bWyJwYXRoIix7ZDoiTTYuNSA4YTIgMiAwIDAgMC0xLjkwNiAxLjQ2TDIuMSAxOC41QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjkyNS0yLjU0TDE5LjQgOS41QTIgMiAwIDAgMCAxNy40OCA4eiJ9XSxbInBhdGgiLHtkOiJNNy45OTkgMTVhMi41IDIuNSAwIDAgMSA0IDAgMi41IDIuNSAwIDAgMCA0IDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIzIn1dXSxoMnI9W1sicGF0aCIse2Q6Im0yIDIyIDEwLTEwIn1dLFsicGF0aCIse2Q6Im0xNiA4LTEuMTcgMS4xNyJ9XSxbInBhdGgiLHtkOiJNMy40NyAxMi41MyA1IDExbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIDAgNC45NEw1IDE5bC0xLjUzLTEuNTNhMy41IDMuNSAwIDAgMSAwLTQuOTRaIn1dLFsicGF0aCIse2Q6Im04IDgtLjUzLjUzYTMuNSAzLjUgMCAwIDAgMCA0Ljk0TDkgMTVsMS41My0xLjUzYy41NS0uNTUuODgtMS4yNS45OC0xLjk3In1dLFsicGF0aCIse2Q6Ik0xMC45MSA1LjI2Yy4xNS0uMjYuMzQtLjUxLjU2LS43M0wxMyAzbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIC4yOCA0LjYyIn1dLFsicGF0aCIse2Q6Ik0yMCAyaDJ2MmE0IDQgMCAwIDEtNCA0aC0yVjZhNCA0IDAgMCAxIDQtNFoifV0sWyJwYXRoIix7ZDoiTTExLjQ3IDE3LjQ3IDEzIDE5bC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMNSAxOWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIn1dLFsicGF0aCIse2Q6Im0xNiAxNi0uNTMuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMOSAxNWwxLjUzLTEuNTNhMy40OSAzLjQ5IDAgMCAxIDEuOTctLjk4In1dLFsicGF0aCIse2Q6Ik0xOC43NCAxMy4wOWMuMjYtLjE1LjUxLS4zNC43My0uNTZMMjEgMTFsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAwLTQuNjItLjI4In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dLG0ycj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02LjUgOGEyIDIgMCAwIDAtMS45MDUgMS40NkwyLjEgMTguNUEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS45MjUtMi41NEwxOS40IDkuNUEyIDIgMCAwIDAgMTcuNDggOFoifV1dLGcycj1bWyJwYXRoIix7ZDoiTTIgMjIgMTYgOCJ9XSxbInBhdGgiLHtkOiJNMy40NyAxMi41MyA1IDExbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIDAgNC45NEw1IDE5bC0xLjUzLTEuNTNhMy41IDMuNSAwIDAgMSAwLTQuOTRaIn1dLFsicGF0aCIse2Q6Ik03LjQ3IDguNTMgOSA3bDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIDAgNC45NEw5IDE1bC0xLjUzLTEuNTNhMy41IDMuNSAwIDAgMSAwLTQuOTRaIn1dLFsicGF0aCIse2Q6Ik0xMS40NyA0LjUzIDEzIDNsMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEgMCA0Ljk0TDEzIDExbC0xLjUzLTEuNTNhMy41IDMuNSAwIDAgMSAwLTQuOTRaIn1dLFsicGF0aCIse2Q6Ik0yMCAyaDJ2MmE0IDQgMCAwIDEtNCA0aC0yVjZhNCA0IDAgMCAxIDQtNFoifV0sWyJwYXRoIix7ZDoiTTExLjQ3IDE3LjQ3IDEzIDE5bC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMNSAxOWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIn1dLFsicGF0aCIse2Q6Ik0xNS40NyAxMy40NyAxNyAxNWwtMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEtNC45NCAwTDkgMTVsMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgNC45NCAwWiJ9XSxbInBhdGgiLHtkOiJNMTkuNDcgOS40NyAyMSAxMWwtMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEtNC45NCAwTDEzIDExbDEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDQuOTQgMFoifV1dLGIycj1bWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMCA5djYifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTQgN3Y4In1dLFsicGF0aCIse2Q6Ik0yMiAxN3YxYzAgLjUtLjUgMS0xIDFIM2MtLjUgMC0xLS41LTEtMXYtMSJ9XV0sdjJyPVtbInBhdGgiLHtkOiJtMTQuMzA1IDE5LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE1LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAxNS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoiTTIgNy44MmExNSAxNSAwIDAgMSAyMCAwIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTYuODUyLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTkuMTQ4LjkyNC4zODMifV0sWyJwYXRoIix7ZDoiTTUgMTEuODU4YTEwIDEwIDAgMCAxIDExLjUtMS43ODUifV0sWyJwYXRoIix7ZDoiTTguNSAxNS40MjlhNSA1IDAgMCAxIDIuNDEzLTEuMzEifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV0seDJyPVtbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik01IDEyLjg1OWExMCAxMCAwIDAgMSAxNCAwIn1dLFsicGF0aCIse2Q6Ik04LjUgMTYuNDI5YTUgNSAwIDAgMSA3IDAifV1dLHkycj1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIn1dXSx3MnI9W1sicGF0aCIse2Q6Ik0xMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTguNSAxNi40MjlhNSA1IDAgMCAxIDcgMCJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgNS4xNy0yLjY5In1dLFsicGF0aCIse2Q6Ik0xOSAxMi44NTlhMTAgMTAgMCAwIDAtMi4wMDctMS41MjMifV0sWyJwYXRoIix7ZDoiTTIgOC44MmExNSAxNSAwIDAgMSA0LjE3Ny0yLjY0MyJ9XSxbInBhdGgiLHtkOiJNMjIgOC44MmExNSAxNSAwIDAgMC0xMS4yODgtMy43NjQifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV0sTTJyPVtbInBhdGgiLHtkOiJNMiA4LjgyYTE1IDE1IDAgMCAxIDIwIDAifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCAxNi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTAuNS0yLjIyMiJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgMy0xLjQwNiJ9XV0sazJyPVtbInBhdGgiLHtkOiJNMTEuOTY1IDEwLjEwNXY0TDEzLjUgMTIuNWE1IDUgMCAwIDEgOCAxLjUifV0sWyJwYXRoIix7ZDoiTTExLjk2NSAxNC4xMDVoNCJ9XSxbInBhdGgiLHtkOiJNMTcuOTY1IDE4LjEwNWg0TDIwLjQzIDE5LjcxYTUgNSAwIDAgMS04LTEuNSJ9XSxbInBhdGgiLHtkOiJNMiA4LjgyYTE1IDE1IDAgMCAxIDIwIDAifV0sWyJwYXRoIix7ZDoiTTIxLjk2NSAyMi4xMDV2LTQifV0sWyJwYXRoIix7ZDoiTTUgMTIuODZhMTAgMTAgMCAwIDEgMy0yLjAzMiJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWguMDEifV1dLFMycj1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XV0sejJyPVtbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik0yIDguODJhMTUgMTUgMCAwIDEgMjAgMCJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTQgMCJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIn1dXSxDMnI9W1sicGF0aCIse2Q6Ik0xMCAydjgifV0sWyJwYXRoIix7ZDoiTTEyLjggMjEuNkEyIDIgMCAxIDAgMTQgMThIMiJ9XSxbInBhdGgiLHtkOiJNMTcuNSAxMGEyLjUgMi41IDAgMSAxIDIgNEgyIn1dLFsicGF0aCIse2Q6Im02IDYgNCA0IDQtNCJ9XV0sVDJyPVtbInBhdGgiLHtkOiJNMTIuOCAxOS42QTIgMiAwIDEgMCAxNCAxNkgyIn1dLFsicGF0aCIse2Q6Ik0xNy41IDhhMi41IDIuNSAwIDEgMSAyIDRIMiJ9XSxbInBhdGgiLHtkOiJNOS44IDQuNEEyIDIgMCAxIDEgMTEgOEgyIn1dXSxfMnI9W1sicGF0aCIse2Q6Ik04IDIyaDgifV0sWyJwYXRoIix7ZDoiTTcgMTBoMTAifV0sWyJwYXRoIix7ZDoiTTEyIDE1djcifV0sWyJwYXRoIix7ZDoiTTEyIDE1YTUgNSAwIDAgMCA1LTVjMC0yLS41LTQtMi04SDljLTEuNSA0LTIgNi0yIDhhNSA1IDAgMCAwIDUgNVoifV1dLEwycj1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTF2NGEyIDIgMCAwIDAgMiAyaDQifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiOCIseDoiMTMiLHk6IjEzIixyeDoiMiJ9XV0sJDJyPVtbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik03IDEwaDNtNyAwaC0xLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTV2NyJ9XSxbInBhdGgiLHtkOiJNNy4zMDcgNy4zMDdBMTIuMzMgMTIuMzMgMCAwIDAgNyAxMGE1IDUgMCAwIDAgNy4zOTEgNC4zOTFNOC42MzggMi45ODFDOC43NSAyLjY2OCA4Ljg3MiAyLjM0IDkgMmg2YzEuNSA0IDIgNiAyIDggMCAuNDA3LS4wNS44MDktLjE0NSAxLjE5OCJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXSxEMnI9W1sicGF0aCIse2Q6Im0xOSAxMi0xLjUgMyJ9XSxbInBhdGgiLHtkOiJNMTkuNjMgMTguODEgMjIgMjAifV0sWyJwYXRoIix7ZDoiTTYuNDcgOC4yM2ExLjY4IDEuNjggMCAwIDEgMi40NCAxLjkzbC0uNjQgMi4wOGE2Ljc2IDYuNzYgMCAwIDAgMTAuMTYgNy42N2wuNDItLjI3YTEgMSAwIDEgMC0yLjczLTQuMjFsLS40Mi4yN2ExLjc2IDEuNzYgMCAwIDEtMi42My0xLjk5bC42NC0yLjA4QTYuNjYgNi42NiAwIDAgMCAzLjk0IDMuOWwtLjcuNGExIDEgMCAxIDAgMi41NSA0LjM0eiJ9XV0sQTJyPVtbInBhdGgiLHtkOiJNMTggNiA2IDE4In1dLFsicGF0aCIse2Q6Im02IDYgMTIgMTIifV1dLEUycj1bWyJwYXRoIix7ZDoiTTIuNSAxN2EyNC4xMiAyNC4xMiAwIDAgMSAwLTEwIDIgMiAwIDAgMSAxLjQtMS40IDQ5LjU2IDQ5LjU2IDAgMCAxIDE2LjIgMEEyIDIgMCAwIDEgMjEuNSA3YTI0LjEyIDI0LjEyIDAgMCAxIDAgMTAgMiAyIDAgMCAxLTEuNCAxLjQgNDkuNTUgNDkuNTUgMCAwIDEtMTYuMiAwQTIgMiAwIDAgMSAyLjUgMTcifV0sWyJwYXRoIix7ZDoibTEwIDE1IDUtMy01LTN6In1dXSxJMnI9W1sicGF0aCIse2Q6Ik0xNC43IDYuM2ExIDEgMCAwIDAgMCAxLjRsMS42IDEuNmExIDEgMCAwIDAgMS40IDBsMy4xMDYtMy4xMDVjLjMyLS4zMjIuODYzLS4yMi45ODMuMjE4YTYgNiAwIDAgMS04LjI1OSA3LjA1N2wtNy45MSA3LjkxYTEgMSAwIDAgMS0yLjk5OS0zbDcuOTEtNy45MWE2IDYgMCAwIDEgNy4wNTctOC4yNTljLjQzOC4xMi41NC42NjIuMjE5Ljk4NHoifV1dLFAycj1bWyJwYXRoIix7ZDoiTTEwLjUxMyA0Ljg1NiAxMy4xMiAyLjE3YS41LjUgMCAwIDEgLjg2LjQ2bC0xLjM3NyA0LjMxNyJ9XSxbInBhdGgiLHtkOiJNMTUuNjU2IDEwSDIwYTEgMSAwIDAgMSAuNzggMS42M2wtMS43MiAxLjc3MyJ9XSxbInBhdGgiLHtkOiJNMTYuMjczIDE2LjI3MyAxMC44OCAyMS44M2EuNS41IDAgMCAxLS44Ni0uNDZsMS45Mi02LjAyQTEgMSAwIDAgMCAxMSAxNEg0YTEgMSAwIDAgMS0uNzgtMS42M2w0LjUwNy00LjY0MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXSxOMnI9W1sicGF0aCIse2Q6Ik00IDE0YTEgMSAwIDAgMS0uNzgtMS42M2w5LjktMTAuMmEuNS41IDAgMCAxIC44Ni40NmwtMS45MiA2LjAyQTEgMSAwIDAgMCAxMyAxMGg3YTEgMSAwIDAgMSAuNzggMS42M2wtOS45IDEwLjJhLjUuNSAwIDAgMS0uODYtLjQ2bDEuOTItNi4wMkExIDEgMCAwIDAgMTEgMTR6In1dXSxGMnI9W1siY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTYuNjUiLHkxOiIyMSIseTI6IjE2LjY1In1dLFsibGluZSIse3gxOiI4Iix4MjoiMTQiLHkxOiIxMSIseTI6IjExIn1dXSxPMnI9W1siY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTYuNjUiLHkxOiIyMSIseTI6IjE2LjY1In1dLFsibGluZSIse3gxOiIxMSIseDI6IjExIix5MToiOCIseTI6IjE0In1dLFsibGluZSIse3gxOiI4Iix4MjoiMTQiLHkxOiIxMSIseTI6IjExIn1dXSxDUXI9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQUFycm93RG93bjpyRnQsQUFycm93VXA6YUZ0LEFMYXJnZVNtYWxsOmlGdCxBY2Nlc3NpYmlsaXR5Om5GdCxBY3Rpdml0eTpvRnQsQWN0aXZpdHlTcXVhcmU6RlAsQWlyVmVudDpzRnQsQWlycGxheTpsRnQsQWxhcm1DaGVjazpYQSxBbGFybUNsb2NrOmRGdCxBbGFybUNsb2NrQ2hlY2s6WEEsQWxhcm1DbG9ja01pbnVzOlFBLEFsYXJtQ2xvY2tPZmY6Y0Z0LEFsYXJtQ2xvY2tQbHVzOkpBLEFsYXJtTWludXM6UUEsQWxhcm1QbHVzOkpBLEFsYXJtU21va2U6dUZ0LEFsYnVtOnBGdCxBbGVydENpcmNsZTpURSxBbGVydE9jdGFnb246dVAsQWxlcnRUcmlhbmdsZTpqTixBbGlnbkNlbnRlcjpQTixBbGlnbkNlbnRlckhvcml6b250YWw6ZkZ0LEFsaWduQ2VudGVyVmVydGljYWw6aEZ0LEFsaWduRW5kSG9yaXpvbnRhbDptRnQsQWxpZ25FbmRWZXJ0aWNhbDpnRnQsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUNlbnRlcjpiRnQsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUVuZDp2RnQsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZVN0YXJ0OnhGdCxBbGlnbkhvcml6b250YWxKdXN0aWZ5Q2VudGVyOnlGdCxBbGlnbkhvcml6b250YWxKdXN0aWZ5RW5kOndGdCxBbGlnbkhvcml6b250YWxKdXN0aWZ5U3RhcnQ6TUZ0LEFsaWduSG9yaXpvbnRhbFNwYWNlQXJvdW5kOmtGdCxBbGlnbkhvcml6b250YWxTcGFjZUJldHdlZW46U0Z0LEFsaWduSnVzdGlmeTpGTixBbGlnbkxlZnQ6Z2YsQWxpZ25SaWdodDpOTixBbGlnblN0YXJ0SG9yaXpvbnRhbDp6RnQsQWxpZ25TdGFydFZlcnRpY2FsOkNGdCxBbGlnblZlcnRpY2FsRGlzdHJpYnV0ZUNlbnRlcjpURnQsQWxpZ25WZXJ0aWNhbERpc3RyaWJ1dGVFbmQ6X0Z0LEFsaWduVmVydGljYWxEaXN0cmlidXRlU3RhcnQ6TEZ0LEFsaWduVmVydGljYWxKdXN0aWZ5Q2VudGVyOiRGdCxBbGlnblZlcnRpY2FsSnVzdGlmeUVuZDpERnQsQWxpZ25WZXJ0aWNhbEp1c3RpZnlTdGFydDpBRnQsQWxpZ25WZXJ0aWNhbFNwYWNlQXJvdW5kOkVGdCxBbGlnblZlcnRpY2FsU3BhY2VCZXR3ZWVuOklGdCxBbWJ1bGFuY2U6UEZ0LEFtcGVyc2FuZDpORnQsQW1wZXJzYW5kczpGRnQsQW1waG9yYTpPRnQsQW5jaG9yOlJGdCxBbmdyeTpCRnQsQW5ub3llZDpIRnQsQW50ZW5uYTpxRnQsQW52aWw6akZ0LEFwZXJ0dXJlOlZGdCxBcHBXaW5kb3c6V0Z0LEFwcFdpbmRvd01hYzpVRnQsQXBwbGU6R0Z0LEFyY2hpdmU6WEZ0LEFyY2hpdmVSZXN0b3JlOllGdCxBcmNoaXZlWDpaRnQsQXJlYUNoYXJ0OmZFLEFybWNoYWlyOlFGdCxBcnJvd0JpZ0Rvd246S0Z0LEFycm93QmlnRG93bkRhc2g6SkZ0LEFycm93QmlnTGVmdDp0T3QsQXJyb3dCaWdMZWZ0RGFzaDplT3QsQXJyb3dCaWdSaWdodDphT3QsQXJyb3dCaWdSaWdodERhc2g6ck90LEFycm93QmlnVXA6bk90LEFycm93QmlnVXBEYXNoOmlPdCxBcnJvd0Rvd246bU90LEFycm93RG93bjAxOnNPdCxBcnJvd0Rvd24xMDpvT3QsQXJyb3dEb3duQVo6S0EsQXJyb3dEb3duQXo6S0EsQXJyb3dEb3duQ2lyY2xlOl9FLEFycm93RG93bkZyb21MaW5lOmxPdCxBcnJvd0Rvd25MZWZ0OmNPdCxBcnJvd0Rvd25MZWZ0RnJvbUNpcmNsZTokRSxBcnJvd0Rvd25MZWZ0RnJvbVNxdWFyZTpIUCxBcnJvd0Rvd25MZWZ0U3F1YXJlOk5QLEFycm93RG93bk5hcnJvd1dpZGU6ZE90LEFycm93RG93blJpZ2h0OnVPdCxBcnJvd0Rvd25SaWdodEZyb21DaXJjbGU6REUsQXJyb3dEb3duUmlnaHRGcm9tU3F1YXJlOmpQLEFycm93RG93blJpZ2h0U3F1YXJlOk9QLEFycm93RG93blNxdWFyZTpSUCxBcnJvd0Rvd25Ub0RvdDpwT3QsQXJyb3dEb3duVG9MaW5lOmZPdCxBcnJvd0Rvd25VcDpoT3QsQXJyb3dEb3duV2lkZU5hcnJvdzplRSxBcnJvd0Rvd25aQTp0RSxBcnJvd0Rvd25aYTp0RSxBcnJvd0xlZnQ6eE90LEFycm93TGVmdENpcmNsZTpMRSxBcnJvd0xlZnRGcm9tTGluZTpnT3QsQXJyb3dMZWZ0UmlnaHQ6Yk90LEFycm93TGVmdFNxdWFyZTpCUCxBcnJvd0xlZnRUb0xpbmU6dk90LEFycm93UmlnaHQ6a090LEFycm93UmlnaHRDaXJjbGU6SUUsQXJyb3dSaWdodEZyb21MaW5lOnlPdCxBcnJvd1JpZ2h0TGVmdDp3T3QsQXJyb3dSaWdodFNxdWFyZTpVUCxBcnJvd1JpZ2h0VG9MaW5lOk1PdCxBcnJvd1VwOkVPdCxBcnJvd1VwMDE6U090LEFycm93VXAxMDp6T3QsQXJyb3dVcEFaOnJFLEFycm93VXBBejpyRSxBcnJvd1VwQ2lyY2xlOlBFLEFycm93VXBEb3duOkNPdCxBcnJvd1VwRnJvbURvdDpUT3QsQXJyb3dVcEZyb21MaW5lOl9PdCxBcnJvd1VwTGVmdDpMT3QsQXJyb3dVcExlZnRGcm9tQ2lyY2xlOkFFLEFycm93VXBMZWZ0RnJvbVNxdWFyZTpxUCxBcnJvd1VwTGVmdFNxdWFyZTpXUCxBcnJvd1VwTmFycm93V2lkZTphRSxBcnJvd1VwUmlnaHQ6JE90LEFycm93VXBSaWdodEZyb21DaXJjbGU6RUUsQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZTpWUCxBcnJvd1VwUmlnaHRTcXVhcmU6R1AsQXJyb3dVcFNxdWFyZTpZUCxBcnJvd1VwVG9MaW5lOkRPdCxBcnJvd1VwV2lkZU5hcnJvdzpBT3QsQXJyb3dVcFpBOmlFLEFycm93VXBaYTppRSxBcnJvd3NVcEZyb21MaW5lOklPdCxBc3RlcmlzazpQT3QsQXN0ZXJpc2tTcXVhcmU6WlAsQXRTaWduOk5PdCxBdG9tOkZPdCxBdWRpb0xpbmVzOk9PdCxBdWRpb1dhdmVmb3JtOlJPdCxBd2FyZDpCT3QsQXhlOkhPdCxBeGlzM0Q6bkUsQXhpczNkOm5FLEJhYnk6ak90LEJhY2twYWNrOnFPdCxCYWRnZTpuUnQsQmFkZ2VBbGVydDpWT3QsQmFkZ2VDZW50OlVPdCxCYWRnZUNoZWNrOnNFLEJhZGdlRG9sbGFyU2lnbjpHT3QsQmFkZ2VFdXJvOllPdCxCYWRnZUhlbHA6b0UsQmFkZ2VJbmRpYW5SdXBlZTpXT3QsQmFkZ2VJbmZvOlpPdCxCYWRnZUphcGFuZXNlWWVuOlhPdCxCYWRnZU1pbnVzOlFPdCxCYWRnZVBlcmNlbnQ6Sk90LEJhZGdlUGx1czpLT3QsQmFkZ2VQb3VuZFN0ZXJsaW5nOmVSdCxCYWRnZVF1ZXN0aW9uTWFyazpvRSxCYWRnZVJ1c3NpYW5SdWJsZTp0UnQsQmFkZ2VTd2lzc0ZyYW5jOnJSdCxCYWRnZVR1cmtpc2hMaXJhOmFSdCxCYWRnZVg6aVJ0LEJhZ2dhZ2VDbGFpbTpzUnQsQmFsbG9vbjpvUnQsQmFuOmxSdCxCYW5hbmE6Y1J0LEJhbmRhZ2U6ZFJ0LEJhbmtub3RlOmhSdCxCYW5rbm90ZUFycm93RG93bjp1UnQsQmFua25vdGVBcnJvd1VwOnBSdCxCYW5rbm90ZVg6ZlJ0LEJhckNoYXJ0OndFLEJhckNoYXJ0MjpNRSxCYXJDaGFydDM6eEUsQmFyQ2hhcnQ0OnZFLEJhckNoYXJ0QmlnOmdFLEJhckNoYXJ0SG9yaXpvbnRhbDpiRSxCYXJDaGFydEhvcml6b250YWxCaWc6aEUsQmFyY29kZTptUnQsQmFycmVsOmdSdCxCYXNlbGluZTpiUnQsQmF0aDp2UnQsQmF0dGVyeTp6UnQsQmF0dGVyeUNoYXJnaW5nOnhSdCxCYXR0ZXJ5RnVsbDp5UnQsQmF0dGVyeUxvdzp3UnQsQmF0dGVyeU1lZGl1bTpNUnQsQmF0dGVyeVBsdXM6a1J0LEJhdHRlcnlXYXJuaW5nOlNSdCxCZWFrZXI6Q1J0LEJlYW46X1J0LEJlYW5PZmY6VFJ0LEJlZDpEUnQsQmVkRG91YmxlOkxSdCxCZWRTaW5nbGU6JFJ0LEJlZWY6QVJ0LEJlZXI6SVJ0LEJlZXJPZmY6RVJ0LEJlbGw6SFJ0LEJlbGxEb3Q6UFJ0LEJlbGxFbGVjdHJpYzpOUnQsQmVsbE1pbnVzOkZSdCxCZWxsT2ZmOk9SdCxCZWxsUGx1czpSUnQsQmVsbFJpbmc6QlJ0LEJldHdlZW5Ib3Jpem9uYWxFbmQ6bEUsQmV0d2Vlbkhvcml6b25hbFN0YXJ0OmNFLEJldHdlZW5Ib3Jpem9udGFsRW5kOmxFLEJldHdlZW5Ib3Jpem9udGFsU3RhcnQ6Y0UsQmV0d2VlblZlcnRpY2FsRW5kOnFSdCxCZXR3ZWVuVmVydGljYWxTdGFydDpqUnQsQmljZXBzRmxleGVkOlZSdCxCaWtlOlVSdCxCaW5hcnk6V1J0LEJpbm9jdWxhcnM6R1J0LEJpb2hhemFyZDpZUnQsQmlyZDpaUnQsQmlyZGhvdXNlOlhSdCxCaXRjb2luOlFSdCxCbGVuZDpKUnQsQmxpbmRzOktSdCxCbG9ja3M6dEJ0LEJsdWV0b290aDpuQnQsQmx1ZXRvb3RoQ29ubmVjdGVkOmVCdCxCbHVldG9vdGhPZmY6ckJ0LEJsdWV0b290aFNlYXJjaGluZzphQnQsQm9sZDppQnQsQm9sdDpvQnQsQm9tYjpzQnQsQm9uZTpsQnQsQm9vazpFQnQsQm9va0E6Y0J0LEJvb2tBbGVydDpkQnQsQm9va0F1ZGlvOnBCdCxCb29rQ2hlY2s6dUJ0LEJvb2tDb3B5OmZCdCxCb29rRGFzaGVkOmRFLEJvb2tEb3duOmhCdCxCb29rSGVhZHBob25lczptQnQsQm9va0hlYXJ0OmdCdCxCb29rSW1hZ2U6YkJ0LEJvb2tLZXk6dkJ0LEJvb2tMb2NrOnhCdCxCb29rTWFya2VkOnlCdCxCb29rTWludXM6d0J0LEJvb2tPcGVuOlNCdCxCb29rT3BlbkNoZWNrOk1CdCxCb29rT3BlblRleHQ6a0J0LEJvb2tQbHVzOnpCdCxCb29rU2VhcmNoOkNCdCxCb29rVGVtcGxhdGU6ZEUsQm9va1RleHQ6VEJ0LEJvb2tUeXBlOl9CdCxCb29rVXA6JEJ0LEJvb2tVcDI6TEJ0LEJvb2tVc2VyOkRCdCxCb29rWDpBQnQsQm9va21hcms6T0J0LEJvb2ttYXJrQ2hlY2s6SUJ0LEJvb2ttYXJrTWludXM6UEJ0LEJvb2ttYXJrUGx1czpOQnQsQm9va21hcmtYOkZCdCxCb29tQm94OlJCdCxCb3Q6SEJ0LEJvdE1lc3NhZ2VTcXVhcmU6QkJ0LEJvdE9mZjpxQnQsQm90dGxlV2luZTpqQnQsQm93QXJyb3c6VkJ0LEJveDpVQnQsQm94U2VsZWN0OnNOLEJveGVzOldCdCxCcmFjZXM6dUUsQnJhY2tldHM6R0J0LEJyYWluOlhCdCxCcmFpbkNpcmN1aXQ6WUJ0LEJyYWluQ29nOlpCdCxCcmlja1dhbGw6ZUh0LEJyaWNrV2FsbEZpcmU6UUJ0LEJyaWNrV2FsbFNoaWVsZDpKQnQsQnJpZWZjYXNlOmFIdCxCcmllZmNhc2VCdXNpbmVzczpLQnQsQnJpZWZjYXNlQ29udmV5b3JCZWx0OnRIdCxCcmllZmNhc2VNZWRpY2FsOnJIdCxCcmluZ1RvRnJvbnQ6aUh0LEJydXNoOnNIdCxCcnVzaENsZWFuaW5nOm5IdCxCdWJibGVzOm9IdCxCdWc6ZEh0LEJ1Z09mZjpsSHQsQnVnUGxheTpjSHQsQnVpbGRpbmc6cEh0LEJ1aWxkaW5nMjp1SHQsQnVzOmhIdCxCdXNGcm9udDpmSHQsQ2FibGU6Z0h0LENhYmxlQ2FyOm1IdCxDYWtlOnZIdCxDYWtlU2xpY2U6Ykh0LENhbGN1bGF0b3I6eEh0LENhbGVuZGFyOkJIdCxDYWxlbmRhcjE6eUh0LENhbGVuZGFyQXJyb3dEb3duOndIdCxDYWxlbmRhckFycm93VXA6TUh0LENhbGVuZGFyQ2hlY2s6U0h0LENhbGVuZGFyQ2hlY2syOmtIdCxDYWxlbmRhckNsb2NrOnpIdCxDYWxlbmRhckNvZzpDSHQsQ2FsZW5kYXJEYXlzOlRIdCxDYWxlbmRhckZvbGQ6X0h0LENhbGVuZGFySGVhcnQ6TEh0LENhbGVuZGFyTWludXM6REh0LENhbGVuZGFyTWludXMyOiRIdCxDYWxlbmRhck9mZjpBSHQsQ2FsZW5kYXJQbHVzOklIdCxDYWxlbmRhclBsdXMyOkVIdCxDYWxlbmRhclJhbmdlOlBIdCxDYWxlbmRhclNlYXJjaDpOSHQsQ2FsZW5kYXJTeW5jOkZIdCxDYWxlbmRhclg6Ukh0LENhbGVuZGFyWDI6T0h0LENhbGVuZGFyczpISHQsQ2FtZXJhOmpIdCxDYW1lcmFPZmY6cUh0LENhbmRsZXN0aWNrQ2hhcnQ6bUUsQ2FuZHk6V0h0LENhbmR5Q2FuZTpWSHQsQ2FuZHlPZmY6VUh0LENhbm5hYmlzOllIdCxDYW5uYWJpc09mZjpHSHQsQ2FwdGlvbnM6cEUsQ2FwdGlvbnNPZmY6Wkh0LENhcjpKSHQsQ2FyRnJvbnQ6WEh0LENhclRheGlGcm9udDpRSHQsQ2FyYXZhbjpLSHQsQ2FyZFNpbTplcXQsQ2Fycm90OnRxdCxDYXNlTG93ZXI6cnF0LENhc2VTZW5zaXRpdmU6YXF0LENhc2VVcHBlcjppcXQsQ2Fzc2V0dGVUYXBlOm5xdCxDYXN0OnNxdCxDYXN0bGU6b3F0LENhdDpscXQsQ2N0djpjcXQsQ2hhcnRBcmVhOmZFLENoYXJ0QmFyOmJFLENoYXJ0QmFyQmlnOmhFLENoYXJ0QmFyRGVjcmVhc2luZzpkcXQsQ2hhcnRCYXJJbmNyZWFzaW5nOnVxdCxDaGFydEJhclN0YWNrZWQ6cHF0LENoYXJ0Q2FuZGxlc3RpY2s6bUUsQ2hhcnRDb2x1bW46eEUsQ2hhcnRDb2x1bW5CaWc6Z0UsQ2hhcnRDb2x1bW5EZWNyZWFzaW5nOmZxdCxDaGFydENvbHVtbkluY3JlYXNpbmc6dkUsQ2hhcnRDb2x1bW5TdGFja2VkOmhxdCxDaGFydEdhbnR0Om1xdCxDaGFydExpbmU6eUUsQ2hhcnROZXR3b3JrOmdxdCxDaGFydE5vQXhlc0NvbHVtbjpNRSxDaGFydE5vQXhlc0NvbHVtbkRlY3JlYXNpbmc6YnF0LENoYXJ0Tm9BeGVzQ29sdW1uSW5jcmVhc2luZzp3RSxDaGFydE5vQXhlc0NvbWJpbmVkOnZxdCxDaGFydE5vQXhlc0dhbnR0OmtFLENoYXJ0UGllOlNFLENoYXJ0U2NhdHRlcjp6RSxDaGFydFNwbGluZTp4cXQsQ2hlY2s6U3F0LENoZWNrQ2hlY2s6d3F0LENoZWNrQ2lyY2xlOk5FLENoZWNrQ2lyY2xlMjpGRSxDaGVja0xpbmU6eXF0LENoZWNrU3F1YXJlOlFQLENoZWNrU3F1YXJlMjpKUCxDaGVmSGF0Ok1xdCxDaGVycnk6a3F0LENoZXNzQmlzaG9wOnpxdCxDaGVzc0tpbmc6Q3F0LENoZXNzS25pZ2h0OkxxdCxDaGVzc1Bhd246VHF0LENoZXNzUXVlZW46X3F0LENoZXNzUm9vazokcXQsQ2hldnJvbkRvd246RHF0LENoZXZyb25Eb3duQ2lyY2xlOk9FLENoZXZyb25Eb3duU3F1YXJlOktQLENoZXZyb25GaXJzdDpBcXQsQ2hldnJvbkxhc3Q6RXF0LENoZXZyb25MZWZ0OklxdCxDaGV2cm9uTGVmdENpcmNsZTpSRSxDaGV2cm9uTGVmdFNxdWFyZTplTixDaGV2cm9uUmlnaHQ6UHF0LENoZXZyb25SaWdodENpcmNsZTpCRSxDaGV2cm9uUmlnaHRTcXVhcmU6dE4sQ2hldnJvblVwOk5xdCxDaGV2cm9uVXBDaXJjbGU6SEUsQ2hldnJvblVwU3F1YXJlOnJOLENoZXZyb25zRG93bjpPcXQsQ2hldnJvbnNEb3duVXA6RnF0LENoZXZyb25zTGVmdDpIcXQsQ2hldnJvbnNMZWZ0UmlnaHQ6QnF0LENoZXZyb25zTGVmdFJpZ2h0RWxsaXBzaXM6UnF0LENoZXZyb25zUmlnaHQ6anF0LENoZXZyb25zUmlnaHRMZWZ0OnFxdCxDaGV2cm9uc1VwOlZxdCxDaGV2cm9uc1VwRG93bjpVcXQsQ2hyb21lOkNFLENocm9taXVtOkNFLENodXJjaDpHcXQsQ2lnYXJldHRlOllxdCxDaWdhcmV0dGVPZmY6V3F0LENpcmNsZTpjanQsQ2lyY2xlQWxlcnQ6VEUsQ2lyY2xlQXJyb3dEb3duOl9FLENpcmNsZUFycm93TGVmdDpMRSxDaXJjbGVBcnJvd091dERvd25MZWZ0OiRFLENpcmNsZUFycm93T3V0RG93blJpZ2h0OkRFLENpcmNsZUFycm93T3V0VXBMZWZ0OkFFLENpcmNsZUFycm93T3V0VXBSaWdodDpFRSxDaXJjbGVBcnJvd1JpZ2h0OklFLENpcmNsZUFycm93VXA6UEUsQ2lyY2xlQ2hlY2s6RkUsQ2lyY2xlQ2hlY2tCaWc6TkUsQ2lyY2xlQ2hldnJvbkRvd246T0UsQ2lyY2xlQ2hldnJvbkxlZnQ6UkUsQ2lyY2xlQ2hldnJvblJpZ2h0OkJFLENpcmNsZUNoZXZyb25VcDpIRSxDaXJjbGVEYXNoZWQ6WnF0LENpcmNsZURpdmlkZTpxRSxDaXJjbGVEb2xsYXJTaWduOlhxdCxDaXJjbGVEb3Q6SnF0LENpcmNsZURvdERhc2hlZDpRcXQsQ2lyY2xlRWxsaXBzaXM6S3F0LENpcmNsZUVxdWFsOmVqdCxDaXJjbGVGYWRpbmdBcnJvd1VwOnRqdCxDaXJjbGVGYWRpbmdQbHVzOnJqdCxDaXJjbGVHYXVnZTpqRSxDaXJjbGVIZWxwOmNmLENpcmNsZU1pbnVzOlZFLENpcmNsZU9mZjphanQsQ2lyY2xlUGFya2luZzpXRSxDaXJjbGVQYXJraW5nT2ZmOlVFLENpcmNsZVBhdXNlOkdFLENpcmNsZVBlcmNlbnQ6WUUsQ2lyY2xlUGlsZTppanQsQ2lyY2xlUGxheTpaRSxDaXJjbGVQbHVzOlhFLENpcmNsZVBvdW5kU3Rlcmxpbmc6bmp0LENpcmNsZVBvd2VyOlFFLENpcmNsZVF1ZXN0aW9uTWFyazpjZixDaXJjbGVTbGFzaDpzanQsQ2lyY2xlU2xhc2gyOkpFLENpcmNsZVNsYXNoZWQ6SkUsQ2lyY2xlU21hbGw6b2p0LENpcmNsZVN0YXI6bGp0LENpcmNsZVN0b3A6S0UsQ2lyY2xlVXNlcjp0SSxDaXJjbGVVc2VyUm91bmQ6ZUksQ2lyY2xlWDpySSxDaXJjdWl0Qm9hcmQ6ZGp0LENpdHJ1czp1anQsQ2xhcHBlcmJvYXJkOnBqdCxDbGlwYm9hcmQ6a2p0LENsaXBib2FyZENoZWNrOmZqdCxDbGlwYm9hcmRDbG9jazpoanQsQ2xpcGJvYXJkQ29weTptanQsQ2xpcGJvYXJkRWRpdDppSSxDbGlwYm9hcmRMaXN0OmdqdCxDbGlwYm9hcmRNaW51czpianQsQ2xpcGJvYXJkUGFzdGU6dmp0LENsaXBib2FyZFBlbjppSSxDbGlwYm9hcmRQZW5MaW5lOmFJLENsaXBib2FyZFBsdXM6eGp0LENsaXBib2FyZFNpZ25hdHVyZTphSSxDbGlwYm9hcmRUeXBlOnlqdCxDbGlwYm9hcmRYOndqdCxDbG9jazpIanQsQ2xvY2sxOk1qdCxDbG9jazEwOlNqdCxDbG9jazExOnpqdCxDbG9jazEyOkNqdCxDbG9jazI6VGp0LENsb2NrMzpfanQsQ2xvY2s0OkxqdCxDbG9jazU6JGp0LENsb2NrNjpEanQsQ2xvY2s3OkFqdCxDbG9jazg6RWp0LENsb2NrOTpJanQsQ2xvY2tBbGVydDpOanQsQ2xvY2tBcnJvd0Rvd246UGp0LENsb2NrQXJyb3dVcDpGanQsQ2xvY2tDaGVjazpPanQsQ2xvY2tGYWRpbmc6Ump0LENsb2NrUGx1czpCanQsQ2xvc2VkQ2FwdGlvbjpxanQsQ2xvdWQ6c1Z0LENsb3VkQWxlcnQ6amp0LENsb3VkQmFja3VwOlZqdCxDbG91ZENoZWNrOlVqdCxDbG91ZENvZzpXanQsQ2xvdWREb3dubG9hZDpuSSxDbG91ZERyaXp6bGU6R2p0LENsb3VkRm9nOllqdCxDbG91ZEhhaWw6Wmp0LENsb3VkTGlnaHRuaW5nOlFqdCxDbG91ZE1vb246Smp0LENsb3VkTW9vblJhaW46WGp0LENsb3VkT2ZmOktqdCxDbG91ZFJhaW46dFZ0LENsb3VkUmFpbldpbmQ6ZVZ0LENsb3VkU25vdzpyVnQsQ2xvdWRTdW46aVZ0LENsb3VkU3VuUmFpbjphVnQsQ2xvdWRTeW5jOm5WdCxDbG91ZFVwbG9hZDpzSSxDbG91ZHk6b1Z0LENsb3ZlcjpsVnQsQ2x1YjpjVnQsQ29kZTpkVnQsQ29kZTI6b0ksQ29kZVNxdWFyZTphTixDb2RlWG1sOm9JLENvZGVwZW46dVZ0LENvZGVzYW5kYm94OnBWdCxDb2ZmZWU6ZlZ0LENvZzpoVnQsQ29pbnM6bVZ0LENvbHVtbnM6bEksQ29sdW1uczI6bEksQ29sdW1uczM6Y0ksQ29sdW1uczNDb2c6ZGYsQ29sdW1uczQ6Z1Z0LENvbHVtbnNTZXR0aW5nczpkZixDb21iaW5lOmJWdCxDb21tYW5kOnZWdCxDb21wYXNzOnhWdCxDb21wb25lbnQ6eVZ0LENvbXB1dGVyOndWdCxDb25jaWVyZ2VCZWxsOk1WdCxDb25lOmtWdCxDb25zdHJ1Y3Rpb246U1Z0LENvbnRhY3Q6elZ0LENvbnRhY3QyOmRJLENvbnRhY3RSb3VuZDpkSSxDb250YWluZXI6Q1Z0LENvbnRyYXN0Ol9WdCxDb29raWU6VFZ0LENvb2tpbmdQb3Q6TFZ0LENvcHk6UFZ0LENvcHlDaGVjazokVnQsQ29weU1pbnVzOkRWdCxDb3B5UGx1czpBVnQsQ29weVNsYXNoOkVWdCxDb3B5WDpJVnQsQ29weWxlZnQ6TlZ0LENvcHlyaWdodDpGVnQsQ29ybmVyRG93bkxlZnQ6T1Z0LENvcm5lckRvd25SaWdodDpSVnQsQ29ybmVyTGVmdERvd246QlZ0LENvcm5lckxlZnRVcDpIVnQsQ29ybmVyUmlnaHREb3duOnFWdCxDb3JuZXJSaWdodFVwOmpWdCxDb3JuZXJVcExlZnQ6VlZ0LENvcm5lclVwUmlnaHQ6VVZ0LENwdTpXVnQsQ3JlYXRpdmVDb21tb25zOkdWdCxDcmVkaXRDYXJkOllWdCxDcm9pc3NhbnQ6WlZ0LENyb3A6WFZ0LENyb3NzOlFWdCxDcm9zc2hhaXI6SlZ0LENyb3duOktWdCxDdWJvaWQ6ZVV0LEN1cFNvZGE6dFV0LEN1cmx5QnJhY2VzOnVFLEN1cnJlbmN5OmFVdCxDeWxpbmRlcjpyVXQsRGFtOm5VdCxEYXRhYmFzZTpsVXQsRGF0YWJhc2VCYWNrdXA6aVV0LERhdGFiYXNlU2VhcmNoOnNVdCxEYXRhYmFzZVphcDpvVXQsRGVjaW1hbHNBcnJvd0xlZnQ6Y1V0LERlY2ltYWxzQXJyb3dSaWdodDpkVXQsRGVsZXRlOnVVdCxEZXNzZXJ0OnBVdCxEaWFtZXRlcjpmVXQsRGlhbW9uZDpnVXQsRGlhbW9uZE1pbnVzOmhVdCxEaWFtb25kUGVyY2VudDp1SSxEaWFtb25kUGx1czptVXQsRGljZTE6YlV0LERpY2UyOnZVdCxEaWNlMzp4VXQsRGljZTQ6eVV0LERpY2U1OndVdCxEaWNlNjpNVXQsRGljZXM6a1V0LERpZmY6U1V0LERpc2M6X1V0LERpc2MyOnpVdCxEaXNjMzpDVXQsRGlzY0FsYnVtOlRVdCxEaXZpZGU6TFV0LERpdmlkZUNpcmNsZTpxRSxEaXZpZGVTcXVhcmU6b04sRG5hOkRVdCxEbmFPZmY6JFV0LERvY2s6SVV0LERvZzpBVXQsRG9sbGFyU2lnbjpFVXQsRG9udXQ6UFV0LERvb3JDbG9zZWQ6RlV0LERvb3JDbG9zZWRMb2NrZWQ6TlV0LERvb3JPcGVuOk9VdCxEb3Q6UlV0LERvdFNxdWFyZTpsTixEb3dubG9hZDpCVXQsRG93bmxvYWRDbG91ZDpuSSxEcmFmdGluZ0NvbXBhc3M6SFV0LERyYW1hOmpVdCxEcmliYmJsZTpxVXQsRHJpbGw6VlV0LERyb25lOlVVdCxEcm9wbGV0OkdVdCxEcm9wbGV0T2ZmOldVdCxEcm9wbGV0czpZVXQsRHJ1bTpaVXQsRHJ1bXN0aWNrOlhVdCxEdW1iYmVsbDpRVXQsRWFyOmVXdCxFYXJPZmY6SlV0LEVhcnRoOnBJLEVhcnRoTG9jazpLVXQsRWNsaXBzZTp0V3QsRWRpdDpHNCxFZGl0MjpTUCxFZGl0MzprUCxFZ2c6aVd0LEVnZ0ZyaWVkOnJXdCxFZ2dPZmY6YVd0LEVsbGlwc2lzOmhJLEVsbGlwc2lzVmVydGljYWw6ZkksRXF1YWw6b1d0LEVxdWFsQXBwcm94aW1hdGVseTpuV3QsRXF1YWxOb3Q6c1d0LEVxdWFsU3F1YXJlOmNOLEVyYXNlcjpjV3QsRXRoZXJuZXRQb3J0OmxXdCxFdXJvOmRXdCxFdkNoYXJnZXI6dVd0LEV4cGFuZDpwV3QsRXh0ZXJuYWxMaW5rOmZXdCxFeWU6bVd0LEV5ZUNsb3NlZDpoV3QsRXllT2ZmOmdXdCxGYWNlYm9vazpiV3QsRmFjdG9yeTp2V3QsRmFuOnhXdCxGYXN0Rm9yd2FyZDp5V3QsRmVhdGhlcjp3V3QsRmVuY2U6TVd0LEZlcnJpc1doZWVsOmtXdCxGaWdtYTpTV3QsRmlsZTpLV3QsRmlsZUFyY2hpdmU6eld0LEZpbGVBdWRpbzp1ZixGaWxlQXVkaW8yOnVmLEZpbGVBeGlzM0Q6bUksRmlsZUF4aXMzZDptSSxGaWxlQmFkZ2U6Z0ksRmlsZUJhZGdlMjpnSSxGaWxlQmFyQ2hhcnQ6eEksRmlsZUJhckNoYXJ0Mjp5SSxGaWxlQm94OkNXdCxGaWxlQnJhY2VzOnZJLEZpbGVCcmFjZXNDb3JuZXI6YkksRmlsZUNoYXJ0Q29sdW1uOnlJLEZpbGVDaGFydENvbHVtbkluY3JlYXNpbmc6eEksRmlsZUNoYXJ0TGluZTp3SSxGaWxlQ2hhcnRQaWU6TUksRmlsZUNoZWNrOl9XdCxGaWxlQ2hlY2syOmtJLEZpbGVDaGVja0Nvcm5lcjprSSxGaWxlQ2xvY2s6VFd0LEZpbGVDb2RlOkxXdCxGaWxlQ29kZTI6U0ksRmlsZUNvZGVDb3JuZXI6U0ksRmlsZUNvZzp6SSxGaWxlQ29nMjp6SSxGaWxlRGlmZjokV3QsRmlsZURpZ2l0OkRXdCxGaWxlRG93bjpBV3QsRmlsZUVkaXQ6REksRmlsZUV4Y2xhbWF0aW9uUG9pbnQ6Q0ksRmlsZUhlYWRwaG9uZTp1ZixGaWxlSGVhcnQ6RVd0LEZpbGVJbWFnZTpJV3QsRmlsZUlucHV0OlBXdCxGaWxlSnNvbjp2SSxGaWxlSnNvbjI6YkksRmlsZUtleTpUSSxGaWxlS2V5MjpUSSxGaWxlTGluZUNoYXJ0OndJLEZpbGVMb2NrOl9JLEZpbGVMb2NrMjpfSSxGaWxlTWludXM6Tld0LEZpbGVNaW51czI6TEksRmlsZU1pbnVzQ29ybmVyOkxJLEZpbGVNdXNpYzpGV3QsRmlsZU91dHB1dDpPV3QsRmlsZVBlbjpESSxGaWxlUGVuTGluZTokSSxGaWxlUGllQ2hhcnQ6TUksRmlsZVBsYXk6QUksRmlsZVBsdXM6Uld0LEZpbGVQbHVzMjpFSSxGaWxlUGx1c0Nvcm5lcjpFSSxGaWxlUXVlc3Rpb246SUksRmlsZVF1ZXN0aW9uTWFyazpJSSxGaWxlU2NhbjpCV3QsRmlsZVNlYXJjaDpIV3QsRmlsZVNlYXJjaDI6UEksRmlsZVNlYXJjaENvcm5lcjpQSSxGaWxlU2lnbmFsOk5JLEZpbGVTaWduYXR1cmU6JEksRmlsZVNsaWRlcnM6cVd0LEZpbGVTcHJlYWRzaGVldDpqV3QsRmlsZVN0YWNrOlZXdCxGaWxlU3ltbGluazpVV3QsRmlsZVRlcm1pbmFsOldXdCxGaWxlVGV4dDpHV3QsRmlsZVR5cGU6WVd0LEZpbGVUeXBlMjpGSSxGaWxlVHlwZUNvcm5lcjpGSSxGaWxlVXA6Wld0LEZpbGVVc2VyOlhXdCxGaWxlVmlkZW86QUksRmlsZVZpZGVvMjpPSSxGaWxlVmlkZW9DYW1lcmE6T0ksRmlsZVZvbHVtZTpRV3QsRmlsZVZvbHVtZTI6TkksRmlsZVdhcm5pbmc6Q0ksRmlsZVg6Sld0LEZpbGVYMjpSSSxGaWxlWENvcm5lcjpSSSxGaWxlczplR3QsRmlsbTp0R3QsRmlsdGVyOlZJLEZpbHRlclg6akksRmluZ2VycHJpbnQ6QkksRmluZ2VycHJpbnRQYXR0ZXJuOkJJLEZpcmVFeHRpbmd1aXNoZXI6ckd0LEZpc2g6bkd0LEZpc2hPZmY6YUd0LEZpc2hTeW1ib2w6aUd0LEZpc2hpbmdIb29rOnNHdCxGbGFnOmRHdCxGbGFnT2ZmOm9HdCxGbGFnVHJpYW5nbGVMZWZ0OmxHdCxGbGFnVHJpYW5nbGVSaWdodDpjR3QsRmxhbWU6cEd0LEZsYW1lS2luZGxpbmc6dUd0LEZsYXNobGlnaHQ6aEd0LEZsYXNobGlnaHRPZmY6Zkd0LEZsYXNrQ29uaWNhbDpnR3QsRmxhc2tDb25pY2FsT2ZmOm1HdCxGbGFza1JvdW5kOmJHdCxGbGlwSG9yaXpvbnRhbDp4R3QsRmxpcEhvcml6b250YWwyOnZHdCxGbGlwVmVydGljYWw6d0d0LEZsaXBWZXJ0aWNhbDI6eUd0LEZsb3dlcjprR3QsRmxvd2VyMjpNR3QsRm9jdXM6U0d0LEZvbGRIb3Jpem9udGFsOnpHdCxGb2xkVmVydGljYWw6Q0d0LEZvbGRlcjplWXQsRm9sZGVyQXJjaGl2ZTpfR3QsRm9sZGVyQ2hlY2s6VEd0LEZvbGRlckNsb2NrOkxHdCxGb2xkZXJDbG9zZWQ6JEd0LEZvbGRlckNvZGU6REd0LEZvbGRlckNvZzpISSxGb2xkZXJDb2cyOkhJLEZvbGRlckRvdDpBR3QsRm9sZGVyRG93bjpFR3QsRm9sZGVyRWRpdDpxSSxGb2xkZXJHaXQ6UEd0LEZvbGRlckdpdDI6SUd0LEZvbGRlckhlYXJ0Ok5HdCxGb2xkZXJJbnB1dDpGR3QsRm9sZGVyS2FuYmFuOk9HdCxGb2xkZXJLZXk6Ukd0LEZvbGRlckxvY2s6Qkd0LEZvbGRlck1pbnVzOkhHdCxGb2xkZXJPcGVuOmpHdCxGb2xkZXJPcGVuRG90OnFHdCxGb2xkZXJPdXRwdXQ6Vkd0LEZvbGRlclBlbjpxSSxGb2xkZXJQbHVzOlVHdCxGb2xkZXJSb290OldHdCxGb2xkZXJTZWFyY2g6WUd0LEZvbGRlclNlYXJjaDI6R0d0LEZvbGRlclN5bWxpbms6Wkd0LEZvbGRlclN5bmM6WEd0LEZvbGRlclRyZWU6UUd0LEZvbGRlclVwOkpHdCxGb2xkZXJYOktHdCxGb2xkZXJzOnRZdCxGb290cHJpbnRzOmFZdCxGb3JrS25pZmU6ZUYsRm9ya0tuaWZlQ3Jvc3NlZDpLTixGb3JrbGlmdDpyWXQsRm9ybTppWXQsRm9ybUlucHV0OkNQLEZvcndhcmQ6bll0LEZyYW1lOnNZdCxGcmFtZXI6b1l0LEZyb3duOmxZdCxGdWVsOmNZdCxGdWxsc2NyZWVuOmRZdCxGdW5jdGlvblNxdWFyZTpkTixGdW5uZWw6VkksRnVubmVsUGx1czp1WXQsRnVubmVsWDpqSSxHYWxsZXJ5SG9yaXpvbnRhbDpmWXQsR2FsbGVyeUhvcml6b250YWxFbmQ6cFl0LEdhbGxlcnlUaHVtYm5haWxzOmhZdCxHYWxsZXJ5VmVydGljYWw6Z1l0LEdhbGxlcnlWZXJ0aWNhbEVuZDptWXQsR2FtZXBhZDp4WXQsR2FtZXBhZDI6Yll0LEdhbWVwYWREaXJlY3Rpb25hbDp2WXQsR2FudHRDaGFydDprRSxHYW50dENoYXJ0U3F1YXJlOm1mLEdhdWdlOnlZdCxHYXVnZUNpcmNsZTpqRSxHYXZlbDp3WXQsR2VtOk1ZdCxHZW9yZ2lhbkxhcmk6a1l0LEdob3N0OlNZdCxHaWZ0OlRZdCxHaXRCcmFuY2g6X1l0LEdpdEJyYW5jaE1pbnVzOnpZdCxHaXRCcmFuY2hQbHVzOkNZdCxHaXRDb21taXQ6VUksR2l0Q29tbWl0SG9yaXpvbnRhbDpVSSxHaXRDb21taXRWZXJ0aWNhbDpMWXQsR2l0Q29tcGFyZTpEWXQsR2l0Q29tcGFyZUFycm93czokWXQsR2l0Rm9yazpBWXQsR2l0R3JhcGg6RVl0LEdpdE1lcmdlOklZdCxHaXRQdWxsUmVxdWVzdDpCWXQsR2l0UHVsbFJlcXVlc3RBcnJvdzpQWXQsR2l0UHVsbFJlcXVlc3RDbG9zZWQ6Tll0LEdpdFB1bGxSZXF1ZXN0Q3JlYXRlOk9ZdCxHaXRQdWxsUmVxdWVzdENyZWF0ZUFycm93OkZZdCxHaXRQdWxsUmVxdWVzdERyYWZ0OlJZdCxHaXRodWI6SFl0LEdpdGxhYjpxWXQsR2xhc3NXYXRlcjpqWXQsR2xhc3NlczpWWXQsR2xvYmU6V1l0LEdsb2JlMjpwSSxHbG9iZUxvY2s6VVl0LEdsb2JlWDpHWXQsR29hbDpZWXQsR3B1OlpZdCxHcmFiOlhJLEdyYWR1YXRpb25DYXA6WFl0LEdyYXBlOlFZdCxHcmlkOnBmLEdyaWQyWDI6WkksR3JpZDJYMkNoZWNrOldJLEdyaWQyWDJQbHVzOkdJLEdyaWQyWDJYOllJLEdyaWQyeDI6WkksR3JpZDJ4MkNoZWNrOldJLEdyaWQyeDJQbHVzOkdJLEdyaWQyeDJYOllJLEdyaWQzWDM6cGYsR3JpZDN4MjpKWXQsR3JpZDN4MzpwZixHcmlwOnRadCxHcmlwSG9yaXpvbnRhbDpLWXQsR3JpcFZlcnRpY2FsOmVadCxHcm91cDpyWnQsR3VpdGFyOmFadCxIYW06aVp0LEhhbWJ1cmdlcjpuWnQsSGFtbWVyOnNadCxIYW5kOnBadCxIYW5kQ29pbnM6b1p0LEhhbmRGaXN0OmxadCxIYW5kR3JhYjpYSSxIYW5kSGVhcnQ6Y1p0LEhhbmRIZWxwaW5nOlFJLEhhbmRNZXRhbDpkWnQsSGFuZFBsYXR0ZXI6dVp0LEhhbmRiYWc6Zlp0LEhhbmRzaGFrZTpoWnQsSGFyZERyaXZlOmJadCxIYXJkRHJpdmVEb3dubG9hZDptWnQsSGFyZERyaXZlVXBsb2FkOmdadCxIYXJkSGF0OnZadCxIYXNoOnhadCxIYXRHbGFzc2VzOnladCxIYXplOndadCxIZDpNWnQsSGRtaVBvcnQ6a1p0LEhlYWRpbmc6JFp0LEhlYWRpbmcxOlNadCxIZWFkaW5nMjp6WnQsSGVhZGluZzM6Q1p0LEhlYWRpbmc0OlRadCxIZWFkaW5nNTpfWnQsSGVhZGluZzY6TFp0LEhlYWRwaG9uZU9mZjpEWnQsSGVhZHBob25lczpBWnQsSGVhZHNldDpJWnQsSGVhcnQ6Qlp0LEhlYXJ0Q3JhY2s6RVp0LEhlYXJ0SGFuZHNoYWtlOlBadCxIZWFydE1pbnVzOk5adCxIZWFydE9mZjpGWnQsSGVhcnRQbHVzOlJadCxIZWFydFB1bHNlOk9adCxIZWF0ZXI6SFp0LEhlbGljb3B0ZXI6cVp0LEhlbHBDaXJjbGU6Y2YsSGVscGluZ0hhbmQ6UUksSGV4YWdvbjpqWnQsSGlnaGxpZ2h0ZXI6Vlp0LEhpc3Rvcnk6VVp0LEhvbWU6SkksSG9wOldadCxIb3BPZmY6R1p0LEhvc3BpdGFsOlladCxIb3RlbDpaWnQsSG91cmdsYXNzOlhadCxIb3VzZTpKSSxIb3VzZUhlYXJ0OlFadCxIb3VzZVBsdWc6Slp0LEhvdXNlUGx1czpLWnQsSG91c2VXaWZpOmVYdCxJY2VDcmVhbTplUCxJY2VDcmVhbTI6S0ksSWNlQ3JlYW1Cb3dsOktJLEljZUNyZWFtQ29uZTplUCxJZENhcmQ6clh0LElkQ2FyZExhbnlhcmQ6dFh0LEltYWdlOmNYdCxJbWFnZURvd246YVh0LEltYWdlTWludXM6aVh0LEltYWdlT2ZmOm5YdCxJbWFnZVBsYXk6c1h0LEltYWdlUGx1czpvWHQsSW1hZ2VVcDpsWHQsSW1hZ2VVcHNjYWxlOmRYdCxJbWFnZXM6dVh0LEltcG9ydDpwWHQsSW5ib3g6Zlh0LEluZGVudDpoZixJbmRlbnREZWNyZWFzZTpmZixJbmRlbnRJbmNyZWFzZTpoZixJbmRpYW5SdXBlZTpoWHQsSW5maW5pdHk6bVh0LEluZm86Z1h0LEluc3BlY3Q6Z04sSW5zcGVjdGlvblBhbmVsOmJYdCxJbnN0YWdyYW06dlh0LEl0YWxpYzp5WHQsSXRlcmF0aW9uQ2N3OnhYdCxJdGVyYXRpb25Ddzp3WHQsSmFwYW5lc2VZZW46TVh0LEpveXN0aWNrOmtYdCxLYW5iYW46U1h0LEthbmJhblNxdWFyZTp1TixLYW5iYW5TcXVhcmVEYXNoZWQ6aU4sS2F5YWs6elh0LEtleTpfWHQsS2V5Um91bmQ6Q1h0LEtleVNxdWFyZTpUWHQsS2V5Ym9hcmQ6RFh0LEtleWJvYXJkTXVzaWM6TFh0LEtleWJvYXJkT2ZmOiRYdCxMYW1wOkZYdCxMYW1wQ2VpbGluZzpBWHQsTGFtcERlc2s6RVh0LExhbXBGbG9vcjpJWHQsTGFtcFdhbGxEb3duOlBYdCxMYW1wV2FsbFVwOk5YdCxMYW5kUGxvdDpSWHQsTGFuZG1hcms6T1h0LExhbmd1YWdlczpCWHQsTGFwdG9wOnFYdCxMYXB0b3AyOnRQLExhcHRvcE1pbmltYWw6dFAsTGFwdG9wTWluaW1hbENoZWNrOkhYdCxMYXNzbzpWWHQsTGFzc29TZWxlY3Q6alh0LExhdWdoOlVYdCxMYXllcnM6clAsTGF5ZXJzMjpXWHQsTGF5ZXJzMzpyUCxMYXllcnNQbHVzOkdYdCxMYXlvdXQ6TVAsTGF5b3V0RGFzaGJvYXJkOllYdCxMYXlvdXRHcmlkOlpYdCxMYXlvdXRMaXN0OlhYdCxMYXlvdXRQYW5lbExlZnQ6UVh0LExheW91dFBhbmVsVG9wOkpYdCxMYXlvdXRUZW1wbGF0ZTpLWHQsTGVhZjplUXQsTGVhZnlHcmVlbjp0UXQsTGVjdGVybjpyUXQsTGV0dGVyVGV4dDpPTixMaWJyYXJ5OmlRdCxMaWJyYXJ5QmlnOmFRdCxMaWJyYXJ5U3F1YXJlOnBOLExpZmVCdW95Om5RdCxMaWdhdHVyZTpzUXQsTGlnaHRidWxiOmxRdCxMaWdodGJ1bGJPZmY6b1F0LExpbmVDaGFydDp5RSxMaW5lU3F1aWdnbGU6Y1F0LExpbms6cFF0LExpbmsyOnVRdCxMaW5rMk9mZjpkUXQsTGlua2VkaW46ZlF0LExpc3Q6QVF0LExpc3RDaGVjazpoUXQsTGlzdENoZWNrczptUXQsTGlzdENoZXZyb25zRG93blVwOmdRdCxMaXN0Q2hldnJvbnNVcERvd246YlF0LExpc3RDb2xsYXBzZTp2UXQsTGlzdEVuZDp4UXQsTGlzdEZpbHRlcjp3UXQsTGlzdEZpbHRlclBsdXM6eVF0LExpc3RJbmRlbnREZWNyZWFzZTpmZixMaXN0SW5kZW50SW5jcmVhc2U6aGYsTGlzdE1pbnVzOk1RdCxMaXN0TXVzaWM6a1F0LExpc3RPcmRlcmVkOlNRdCxMaXN0UGx1czp6UXQsTGlzdFJlc3RhcnQ6Q1F0LExpc3RTdGFydDpUUXQsTGlzdFRvZG86X1F0LExpc3RUcmVlOkxRdCxMaXN0VmlkZW86JFF0LExpc3RYOkRRdCxMb2FkZXI6RVF0LExvYWRlcjI6YVAsTG9hZGVyQ2lyY2xlOmFQLExvYWRlclBpbndoZWVsOklRdCxMb2NhdGU6RlF0LExvY2F0ZUZpeGVkOlBRdCxMb2NhdGVPZmY6TlF0LExvY2F0aW9uRWRpdDpvUCxMb2NrOlJRdCxMb2NrS2V5aG9sZTpPUXQsTG9ja0tleWhvbGVPcGVuOmlQLExvY2tPcGVuOm5QLExvZ0luOkJRdCxMb2dPdXQ6cVF0LExvZ3M6SFF0LExvbGxpcG9wOmpRdCxMdWdnYWdlOlZRdCxNU3F1YXJlOmZOLE1hZ25ldDpVUXQsTWFpbDpKUXQsTWFpbENoZWNrOldRdCxNYWlsTWludXM6R1F0LE1haWxPcGVuOllRdCxNYWlsUGx1czpaUXQsTWFpbFF1ZXN0aW9uOnNQLE1haWxRdWVzdGlvbk1hcms6c1AsTWFpbFNlYXJjaDpYUXQsTWFpbFdhcm5pbmc6UVF0LE1haWxYOktRdCxNYWlsYm94OmVKdCxNYWlsczp0SnQsTWFwOmdKdCxNYXBNaW51czpySnQsTWFwUGluOmZKdCxNYXBQaW5DaGVjazppSnQsTWFwUGluQ2hlY2tJbnNpZGU6YUp0LE1hcFBpbkhvdXNlOm5KdCxNYXBQaW5NaW51czpvSnQsTWFwUGluTWludXNJbnNpZGU6c0p0LE1hcFBpbk9mZjpsSnQsTWFwUGluUGVuOm9QLE1hcFBpblBsdXM6ZEp0LE1hcFBpblBsdXNJbnNpZGU6Y0p0LE1hcFBpblg6cEp0LE1hcFBpblhJbnNpZGU6dUp0LE1hcFBpbm5lZDpoSnQsTWFwUGx1czptSnQsTWFyczp2SnQsTWFyc1N0cm9rZTpiSnQsTWFydGluaTp4SnQsTWF4aW1pemU6d0p0LE1heGltaXplMjp5SnQsTWVkYWw6TUp0LE1lZ2FwaG9uZTpTSnQsTWVnYXBob25lT2ZmOmtKdCxNZWg6ekp0LE1lbW9yeVN0aWNrOlRKdCxNZW51OkNKdCxNZW51U3F1YXJlOmhOLE1lcmdlOl9KdCxNZXNzYWdlQ2lyY2xlOk9KdCxNZXNzYWdlQ2lyY2xlQ29kZTpMSnQsTWVzc2FnZUNpcmNsZURhc2hlZDokSnQsTWVzc2FnZUNpcmNsZUhlYXJ0OkRKdCxNZXNzYWdlQ2lyY2xlTW9yZTpBSnQsTWVzc2FnZUNpcmNsZU9mZjpFSnQsTWVzc2FnZUNpcmNsZVBsdXM6SUp0LE1lc3NhZ2VDaXJjbGVRdWVzdGlvbjpsUCxNZXNzYWdlQ2lyY2xlUXVlc3Rpb25NYXJrOmxQLE1lc3NhZ2VDaXJjbGVSZXBseTpOSnQsTWVzc2FnZUNpcmNsZVdhcm5pbmc6UEp0LE1lc3NhZ2VDaXJjbGVYOkZKdCxNZXNzYWdlU3F1YXJlOmVLdCxNZXNzYWdlU3F1YXJlQ29kZTpSSnQsTWVzc2FnZVNxdWFyZURhc2hlZDpCSnQsTWVzc2FnZVNxdWFyZURpZmY6SEp0LE1lc3NhZ2VTcXVhcmVEb3Q6cUp0LE1lc3NhZ2VTcXVhcmVIZWFydDpqSnQsTWVzc2FnZVNxdWFyZUxvY2s6Vkp0LE1lc3NhZ2VTcXVhcmVNb3JlOlVKdCxNZXNzYWdlU3F1YXJlT2ZmOldKdCxNZXNzYWdlU3F1YXJlUGx1czpHSnQsTWVzc2FnZVNxdWFyZVF1b3RlOllKdCxNZXNzYWdlU3F1YXJlUmVwbHk6Wkp0LE1lc3NhZ2VTcXVhcmVTaGFyZTpYSnQsTWVzc2FnZVNxdWFyZVRleHQ6UUp0LE1lc3NhZ2VTcXVhcmVXYXJuaW5nOkpKdCxNZXNzYWdlU3F1YXJlWDpLSnQsTWVzc2FnZXNTcXVhcmU6dEt0LE1pYzphS3QsTWljMjpjUCxNaWNPZmY6ckt0LE1pY1ZvY2FsOmNQLE1pY3JvY2hpcDppS3QsTWljcm9zY29wZTpuS3QsTWljcm93YXZlOnNLdCxNaWxlc3RvbmU6b0t0LE1pbGs6ZEt0LE1pbGtPZmY6bEt0LE1pbmltaXplOnVLdCxNaW5pbWl6ZTI6Y0t0LE1pbnVzOnBLdCxNaW51c0NpcmNsZTpWRSxNaW51c1NxdWFyZTptTixNb25pdG9yOkNLdCxNb25pdG9yQ2hlY2s6Zkt0LE1vbml0b3JDbG91ZDpoS3QsTW9uaXRvckNvZzptS3QsTW9uaXRvckRvdDpnS3QsTW9uaXRvckRvd246Ykt0LE1vbml0b3JPZmY6dkt0LE1vbml0b3JQYXVzZTp4S3QsTW9uaXRvclBsYXk6eUt0LE1vbml0b3JTbWFydHBob25lOndLdCxNb25pdG9yU3BlYWtlcjpNS3QsTW9uaXRvclN0b3A6a0t0LE1vbml0b3JVcDpTS3QsTW9uaXRvclg6ekt0LE1vb246X0t0LE1vb25TdGFyOlRLdCxNb3JlSG9yaXpvbnRhbDpoSSxNb3JlVmVydGljYWw6ZkksTW90b3JiaWtlOkxLdCxNb3VudGFpbjpES3QsTW91bnRhaW5Tbm93OiRLdCxNb3VzZTpPS3QsTW91c2VPZmY6QUt0LE1vdXNlUG9pbnRlcjpGS3QsTW91c2VQb2ludGVyMjpJS3QsTW91c2VQb2ludGVyMk9mZjpFS3QsTW91c2VQb2ludGVyQmFuOlBLdCxNb3VzZVBvaW50ZXJDbGljazpOS3QsTW91c2VQb2ludGVyU3F1YXJlRGFzaGVkOm5OLE1vdmU6UUt0LE1vdmUzRDpkUCxNb3ZlM2Q6ZFAsTW92ZURpYWdvbmFsOkJLdCxNb3ZlRGlhZ29uYWwyOlJLdCxNb3ZlRG93bjpqS3QsTW92ZURvd25MZWZ0OkhLdCxNb3ZlRG93blJpZ2h0OnFLdCxNb3ZlSG9yaXpvbnRhbDpWS3QsTW92ZUxlZnQ6VUt0LE1vdmVSaWdodDpXS3QsTW92ZVVwOlpLdCxNb3ZlVXBMZWZ0OkdLdCxNb3ZlVXBSaWdodDpZS3QsTW92ZVZlcnRpY2FsOlhLdCxNdXNpYzp0ZXIsTXVzaWMyOkpLdCxNdXNpYzM6S0t0LE11c2ljNDplZXIsTmF2aWdhdGlvbjppZXIsTmF2aWdhdGlvbjI6YWVyLE5hdmlnYXRpb24yT2ZmOnJlcixOYXZpZ2F0aW9uT2ZmOm5lcixOZXR3b3JrOnNlcixOZXdzcGFwZXI6b2VyLE5mYzpsZXIsTm9uQmluYXJ5OmNlcixOb3RlYm9vazpmZXIsTm90ZWJvb2tQZW46ZGVyLE5vdGVib29rVGFiczp1ZXIsTm90ZWJvb2tUZXh0OnBlcixOb3RlcGFkVGV4dDptZXIsTm90ZXBhZFRleHREYXNoZWQ6aGVyLE51dDpnZXIsTnV0T2ZmOmJlcixPY3RhZ29uOnhlcixPY3RhZ29uQWxlcnQ6dVAsT2N0YWdvbk1pbnVzOnZlcixPY3RhZ29uUGF1c2U6cFAsT2N0YWdvblg6ZlAsT21lZ2E6eWVyLE9wdGlvbjpNZXIsT3JiaXQ6d2VyLE9yaWdhbWk6a2VyLE91dGRlbnQ6ZmYsUGFja2FnZTpEZXIsUGFja2FnZTI6U2VyLFBhY2thZ2VDaGVjazp6ZXIsUGFja2FnZU1pbnVzOkNlcixQYWNrYWdlT3BlbjpUZXIsUGFja2FnZVBsdXM6X2VyLFBhY2thZ2VTZWFyY2g6TGVyLFBhY2thZ2VYOiRlcixQYWludEJ1Y2tldDpFZXIsUGFpbnRSb2xsZXI6QWVyLFBhaW50YnJ1c2g6SWVyLFBhaW50YnJ1c2gyOmhQLFBhaW50YnJ1c2hWZXJ0aWNhbDpoUCxQYWxldHRlOlBlcixQYWxtdHJlZTpxTixQYW5kYTpOZXIsUGFuZWxCb3R0b206UmVyLFBhbmVsQm90dG9tQ2xvc2U6RmVyLFBhbmVsQm90dG9tRGFzaGVkOm1QLFBhbmVsQm90dG9tSW5hY3RpdmU6bVAsUGFuZWxCb3R0b21PcGVuOk9lcixQYW5lbExlZnQ6eFAsUGFuZWxMZWZ0Q2xvc2U6Z1AsUGFuZWxMZWZ0RGFzaGVkOmJQLFBhbmVsTGVmdEluYWN0aXZlOmJQLFBhbmVsTGVmdE9wZW46dlAsUGFuZWxMZWZ0UmlnaHREYXNoZWQ6QmVyLFBhbmVsUmlnaHQ6amVyLFBhbmVsUmlnaHRDbG9zZTpIZXIsUGFuZWxSaWdodERhc2hlZDp5UCxQYW5lbFJpZ2h0SW5hY3RpdmU6eVAsUGFuZWxSaWdodE9wZW46cWVyLFBhbmVsVG9wOkdlcixQYW5lbFRvcEJvdHRvbURhc2hlZDpWZXIsUGFuZWxUb3BDbG9zZTpVZXIsUGFuZWxUb3BEYXNoZWQ6d1AsUGFuZWxUb3BJbmFjdGl2ZTp3UCxQYW5lbFRvcE9wZW46V2VyLFBhbmVsc0xlZnRCb3R0b206WWVyLFBhbmVsc0xlZnRSaWdodDpjSSxQYW5lbHNSaWdodEJvdHRvbTpaZXIsUGFuZWxzVG9wQm90dG9tOkxQLFBhbmVsc1RvcExlZnQ6TVAsUGFwZXJjbGlwOlhlcixQYXJlbnRoZXNlczpRZXIsUGFya2luZ0NpcmNsZTpXRSxQYXJraW5nQ2lyY2xlT2ZmOlVFLFBhcmtpbmdNZXRlcjpKZXIsUGFya2luZ1NxdWFyZTp2TixQYXJraW5nU3F1YXJlT2ZmOmJOLFBhcnR5UG9wcGVyOktlcixQYXVzZTpldHIsUGF1c2VDaXJjbGU6R0UsUGF1c2VPY3RhZ29uOnBQLFBhd1ByaW50OnR0cixQY0Nhc2U6cnRyLFBlbjpTUCxQZW5Cb3g6RzQsUGVuTGluZTprUCxQZW5PZmY6YXRyLFBlblNxdWFyZTpHNCxQZW5Ub29sOml0cixQZW5jaWw6Y3RyLFBlbmNpbExpbmU6bnRyLFBlbmNpbE9mZjpzdHIsUGVuY2lsUnVsZXI6b3RyLFBlbnRhZ29uOmx0cixQZXJjZW50OmR0cixQZXJjZW50Q2lyY2xlOllFLFBlcmNlbnREaWFtb25kOnVJLFBlcmNlbnRTcXVhcmU6eU4sUGVyc29uU3RhbmRpbmc6dXRyLFBoaWxpcHBpbmVQZXNvOnB0cixQaG9uZTp4dHIsUGhvbmVDYWxsOmZ0cixQaG9uZUZvcndhcmRlZDpodHIsUGhvbmVJbmNvbWluZzptdHIsUGhvbmVNaXNzZWQ6Z3RyLFBob25lT2ZmOmJ0cixQaG9uZU91dGdvaW5nOnZ0cixQaTp5dHIsUGlTcXVhcmU6eE4sUGlhbm86d3RyLFBpY2theGU6TXRyLFBpY3R1cmVJblBpY3R1cmU6enRyLFBpY3R1cmVJblBpY3R1cmUyOmt0cixQaWVDaGFydDpTRSxQaWdneUJhbms6U3RyLFBpbGNyb3c6X3RyLFBpbGNyb3dMZWZ0OkN0cixQaWxjcm93UmlnaHQ6VHRyLFBpbGNyb3dTcXVhcmU6d04sUGlsbDokdHIsUGlsbEJvdHRsZTpMdHIsUGluOkF0cixQaW5PZmY6RHRyLFBpcGV0dGU6RXRyLFBpenphOkl0cixQbGFuZTpGdHIsUGxhbmVMYW5kaW5nOlB0cixQbGFuZVRha2VvZmY6TnRyLFBsYXk6T3RyLFBsYXlDaXJjbGU6WkUsUGxheVNxdWFyZTpNTixQbHVnOkJ0cixQbHVnMjpSdHIsUGx1Z1phcDp6UCxQbHVnWmFwMjp6UCxQbHVzOkh0cixQbHVzQ2lyY2xlOlhFLFBsdXNTcXVhcmU6a04sUG9ja2V0OlZ0cixQb2NrZXRLbmlmZTpxdHIsUG9kY2FzdDpqdHIsUG9pbnRlcjpXdHIsUG9pbnRlck9mZjpVdHIsUG9wY29ybjpHdHIsUG9wc2ljbGU6WXRyLFBvdW5kU3Rlcmxpbmc6WnRyLFBvd2VyOlF0cixQb3dlckNpcmNsZTpRRSxQb3dlck9mZjpYdHIsUG93ZXJTcXVhcmU6U04sUHJlc2VudGF0aW9uOkt0cixQcmludGVyOnRycixQcmludGVyQ2hlY2s6SnRyLFByaW50ZXJYOmVycixQcm9qZWN0b3I6cnJyLFByb3BvcnRpb25zOmFycixQdXp6bGU6aXJyLFB5cmFtaWQ6bnJyLFFyQ29kZTpzcnIsUXVvdGU6b3JyLFJhYmJpdDpscnIsUmFkYXI6Y3JyLFJhZGlhdGlvbjpkcnIsUmFkaWNhbDp1cnIsUmFkaW86aHJyLFJhZGlvUmVjZWl2ZXI6cHJyLFJhZGlvVG93ZXI6ZnJyLFJhZGl1czptcnIsUmFpbFN5bWJvbDpncnIsUmFpbmJvdzpicnIsUmF0OnZycixSYXRpbzp4cnIsUmVjZWlwdDpMcnIsUmVjZWlwdENlbnQ6eXJyLFJlY2VpcHRFdXJvOndycixSZWNlaXB0SW5kaWFuUnVwZWU6TXJyLFJlY2VpcHRKYXBhbmVzZVllbjprcnIsUmVjZWlwdFBvdW5kU3Rlcmxpbmc6U3JyLFJlY2VpcHRSdXNzaWFuUnVibGU6enJyLFJlY2VpcHRTd2lzc0ZyYW5jOkNycixSZWNlaXB0VGV4dDpUcnIsUmVjZWlwdFR1cmtpc2hMaXJhOl9ycixSZWN0YW5nbGVDaXJjbGU6JHJyLFJlY3RhbmdsZUVsbGlwc2lzOkNQLFJlY3RhbmdsZUdvZ2dsZXM6QXJyLFJlY3RhbmdsZUhvcml6b250YWw6RHJyLFJlY3RhbmdsZVZlcnRpY2FsOkVycixSZWN5Y2xlOklycixSZWRvOkZycixSZWRvMjpOcnIsUmVkb0RvdDpQcnIsUmVmcmVzaENjdzpScnIsUmVmcmVzaENjd0RvdDpPcnIsUmVmcmVzaEN3OkhycixSZWZyZXNoQ3dPZmY6QnJyLFJlZnJpZ2VyYXRvcjpxcnIsUmVnZXg6anJyLFJlbW92ZUZvcm1hdHRpbmc6VnJyLFJlcGVhdDpHcnIsUmVwZWF0MTpXcnIsUmVwZWF0MjpVcnIsUmVwbGFjZTpacnIsUmVwbGFjZUFsbDpZcnIsUmVwbHk6UXJyLFJlcGx5QWxsOlhycixSZXdpbmQ6SnJyLFJpYmJvbjpLcnIsUm9ja2V0OmVhcixSb2NraW5nQ2hhaXI6dGFyLFJvbGxlckNvYXN0ZXI6cmFyLFJvc2U6YWFyLFJvdGF0ZTNEOlRQLFJvdGF0ZTNkOlRQLFJvdGF0ZUNjdzpzYXIsUm90YXRlQ2N3S2V5OmlhcixSb3RhdGVDY3dTcXVhcmU6bmFyLFJvdGF0ZUN3OmxhcixSb3RhdGVDd1NxdWFyZTpvYXIsUm91dGU6ZGFyLFJvdXRlT2ZmOmNhcixSb3V0ZXI6dWFyLFJvd3M6X1AsUm93czI6X1AsUm93czM6TFAsUm93czQ6cGFyLFJzczpmYXIsUnVsZXI6Z2FyLFJ1bGVyRGltZW5zaW9uTGluZTpoYXIsUnVzc2lhblJ1YmxlOm1hcixTYWlsYm9hdDp4YXIsU2FsYWQ6YmFyLFNhbmR3aWNoOnlhcixTYXRlbGxpdGU6TWFyLFNhdGVsbGl0ZURpc2g6d2FyLFNhdWRpUml5YWw6a2FyLFNhdmU6Q2FyLFNhdmVBbGw6U2FyLFNhdmVPZmY6emFyLFNjYWxlOlRhcixTY2FsZTNEOiRQLFNjYWxlM2Q6JFAsU2NhbGluZzpfYXIsU2NhbjpGYXIsU2NhbkJhcmNvZGU6JGFyLFNjYW5FeWU6TGFyLFNjYW5GYWNlOkRhcixTY2FuSGVhcnQ6QWFyLFNjYW5MaW5lOkVhcixTY2FuUXJDb2RlOklhcixTY2FuU2VhcmNoOlBhcixTY2FuVGV4dDpOYXIsU2NhdHRlckNoYXJ0OnpFLFNjaG9vbDpPYXIsU2Nob29sMjpVTixTY2lzc29yczpCYXIsU2Npc3NvcnNMaW5lRGFzaGVkOlJhcixTY2lzc29yc1NxdWFyZTp6TixTY2lzc29yc1NxdWFyZURhc2hlZEJvdHRvbTpYUCxTY29vdGVyOkhhcixTY3JlZW5TaGFyZTpqYXIsU2NyZWVuU2hhcmVPZmY6cWFyLFNjcm9sbDpWYXIsU2Nyb2xsVGV4dDpVYXIsU2VhcmNoOlFhcixTZWFyY2hBbGVydDpXYXIsU2VhcmNoQ2hlY2s6R2FyLFNlYXJjaENvZGU6WWFyLFNlYXJjaFNsYXNoOlphcixTZWFyY2hYOlhhcixTZWN0aW9uOkphcixTZW5kOmVpcixTZW5kSG9yaXpvbmFsOkRQLFNlbmRIb3Jpem9udGFsOkRQLFNlbmRUb0JhY2s6S2FyLFNlcGFyYXRvckhvcml6b250YWw6cmlyLFNlcGFyYXRvclZlcnRpY2FsOnRpcixTZXJ2ZXI6c2lyLFNlcnZlckNvZzphaXIsU2VydmVyQ3Jhc2g6aWlyLFNlcnZlck9mZjpuaXIsU2V0dGluZ3M6bGlyLFNldHRpbmdzMjpvaXIsU2hhcGVzOmNpcixTaGFyZTp1aXIsU2hhcmUyOmRpcixTaGVldDpwaXIsU2hlbGw6ZmlyLFNoaWVsZDpraXIsU2hpZWxkQWxlcnQ6aGlyLFNoaWVsZEJhbjptaXIsU2hpZWxkQ2hlY2s6Z2lyLFNoaWVsZENsb3NlOkVQLFNoaWVsZEVsbGlwc2lzOmJpcixTaGllbGRIYWxmOnZpcixTaGllbGRNaW51czp4aXIsU2hpZWxkT2ZmOnlpcixTaGllbGRQbHVzOndpcixTaGllbGRRdWVzdGlvbjpBUCxTaGllbGRRdWVzdGlvbk1hcms6QVAsU2hpZWxkVXNlcjpNaXIsU2hpZWxkWDpFUCxTaGlwOnppcixTaGlwV2hlZWw6U2lyLFNoaXJ0OkNpcixTaG9wcGluZ0JhZzpUaXIsU2hvcHBpbmdCYXNrZXQ6X2lyLFNob3BwaW5nQ2FydDpMaXIsU2hvdmVsOiRpcixTaG93ZXJIZWFkOkRpcixTaHJlZGRlcjpBaXIsU2hyaW1wOkVpcixTaHJpbms6SWlyLFNocnViOk5pcixTaHVmZmxlOlBpcixTaWRlYmFyOnhQLFNpZGViYXJDbG9zZTpnUCxTaWRlYmFyT3Blbjp2UCxTaWdtYTpGaXIsU2lnbWFTcXVhcmU6Q04sU2lnbmFsOnFpcixTaWduYWxIaWdoOk9pcixTaWduYWxMb3c6UmlyLFNpZ25hbE1lZGl1bTpCaXIsU2lnbmFsWmVybzpIaXIsU2lnbmF0dXJlOmppcixTaWducG9zdDpVaXIsU2lnbnBvc3RCaWc6VmlyLFNpcmVuOldpcixTa2lwQmFjazpHaXIsU2tpcEZvcndhcmQ6WWlyLFNrdWxsOlppcixTbGFjazpYaXIsU2xhc2g6UWlyLFNsYXNoU3F1YXJlOlROLFNsaWNlOkppcixTbGlkZXJzOklQLFNsaWRlcnNIb3Jpem9udGFsOktpcixTbGlkZXJzVmVydGljYWw6SVAsU21hcnRwaG9uZTpybnIsU21hcnRwaG9uZUNoYXJnaW5nOmVucixTbWFydHBob25lTmZjOnRucixTbWlsZTppbnIsU21pbGVQbHVzOmFucixTbmFpbDpubnIsU25vd2ZsYWtlOm9ucixTb2FwRGlzcGVuc2VyRHJvcGxldDpzbnIsU29mYTpsbnIsU29sYXJQYW5lbDpjbnIsU29ydEFzYzphRSxTb3J0RGVzYzplRSxTb3VwOmRucixTcGFjZTp1bnIsU3BhZGU6cG5yLFNwYXJrbGU6Zm5yLFNwYXJrbGVzOlBQLFNwZWFrZXI6aG5yLFNwZWVjaDptbnIsU3BlbGxDaGVjazpibnIsU3BlbGxDaGVjazI6Z25yLFNwbGluZTp4bnIsU3BsaW5lUG9pbnRlcjp2bnIsU3BsaXQ6eW5yLFNwbGl0U3F1YXJlSG9yaXpvbnRhbDpfTixTcGxpdFNxdWFyZVZlcnRpY2FsOkxOLFNwb29sOnducixTcG90bGlnaHQ6TW5yLFNwcmF5Q2FuOmtucixTcHJvdXQ6U25yLFNxdWFyZTpQbnIsU3F1YXJlQWN0aXZpdHk6RlAsU3F1YXJlQXJyb3dEb3duOlJQLFNxdWFyZUFycm93RG93bkxlZnQ6TlAsU3F1YXJlQXJyb3dEb3duUmlnaHQ6T1AsU3F1YXJlQXJyb3dMZWZ0OkJQLFNxdWFyZUFycm93T3V0RG93bkxlZnQ6SFAsU3F1YXJlQXJyb3dPdXREb3duUmlnaHQ6alAsU3F1YXJlQXJyb3dPdXRVcExlZnQ6cVAsU3F1YXJlQXJyb3dPdXRVcFJpZ2h0OlZQLFNxdWFyZUFycm93UmlnaHQ6VVAsU3F1YXJlQXJyb3dVcDpZUCxTcXVhcmVBcnJvd1VwTGVmdDpXUCxTcXVhcmVBcnJvd1VwUmlnaHQ6R1AsU3F1YXJlQXN0ZXJpc2s6WlAsU3F1YXJlQm90dG9tRGFzaGVkU2Npc3NvcnM6WFAsU3F1YXJlQ2hhcnRHYW50dDptZixTcXVhcmVDaGVjazpKUCxTcXVhcmVDaGVja0JpZzpRUCxTcXVhcmVDaGV2cm9uRG93bjpLUCxTcXVhcmVDaGV2cm9uTGVmdDplTixTcXVhcmVDaGV2cm9uUmlnaHQ6dE4sU3F1YXJlQ2hldnJvblVwOnJOLFNxdWFyZUNvZGU6YU4sU3F1YXJlRGFzaGVkOnNOLFNxdWFyZURhc2hlZEJvdHRvbTpDbnIsU3F1YXJlRGFzaGVkQm90dG9tQ29kZTp6bnIsU3F1YXJlRGFzaGVkS2FuYmFuOmlOLFNxdWFyZURhc2hlZE1vdXNlUG9pbnRlcjpuTixTcXVhcmVEYXNoZWRUb3BTb2xpZDpUbnIsU3F1YXJlRGl2aWRlOm9OLFNxdWFyZURvdDpsTixTcXVhcmVFcXVhbDpjTixTcXVhcmVGdW5jdGlvbjpkTixTcXVhcmVHYW50dENoYXJ0Om1mLFNxdWFyZUthbmJhbjp1TixTcXVhcmVMaWJyYXJ5OnBOLFNxdWFyZU06Zk4sU3F1YXJlTWVudTpoTixTcXVhcmVNaW51czptTixTcXVhcmVNb3VzZVBvaW50ZXI6Z04sU3F1YXJlUGFya2luZzp2TixTcXVhcmVQYXJraW5nT2ZmOmJOLFNxdWFyZVBhdXNlOl9ucixTcXVhcmVQZW46RzQsU3F1YXJlUGVyY2VudDp5TixTcXVhcmVQaTp4TixTcXVhcmVQaWxjcm93OndOLFNxdWFyZVBsYXk6TU4sU3F1YXJlUGx1czprTixTcXVhcmVQb3dlcjpTTixTcXVhcmVSYWRpY2FsOiRucixTcXVhcmVSb3VuZENvcm5lcjpMbnIsU3F1YXJlU2Npc3NvcnM6ek4sU3F1YXJlU2lnbWE6Q04sU3F1YXJlU2xhc2g6VE4sU3F1YXJlU3BsaXRIb3Jpem9udGFsOl9OLFNxdWFyZVNwbGl0VmVydGljYWw6TE4sU3F1YXJlU3F1YXJlOkFucixTcXVhcmVTdGFjazpEbnIsU3F1YXJlU3RhcjpFbnIsU3F1YXJlU3RvcDpJbnIsU3F1YXJlVGVybWluYWw6JE4sU3F1YXJlVXNlcjpBTixTcXVhcmVVc2VyUm91bmQ6RE4sU3F1YXJlWDpFTixTcXVhcmVzRXhjbHVkZTpObnIsU3F1YXJlc0ludGVyc2VjdDpGbnIsU3F1YXJlc1N1YnRyYWN0Ok9ucixTcXVhcmVzVW5pdGU6Um5yLFNxdWlyY2xlOkhucixTcXVpcmNsZURhc2hlZDpCbnIsU3F1aXJyZWw6cW5yLFN0YW1wOmpucixTdGFyOlducixTdGFySGFsZjpWbnIsU3Rhck9mZjpVbnIsU3RhcnM6UFAsU3RlcEJhY2s6R25yLFN0ZXBGb3J3YXJkOllucixTdGV0aG9zY29wZTpabnIsU3RpY2tlcjpYbnIsU3RpY2t5Tm90ZTpRbnIsU3RvbmU6Sm5yLFN0b3BDaXJjbGU6S0UsU3RvcmU6S25yLFN0cmV0Y2hIb3Jpem9udGFsOmUxcixTdHJldGNoVmVydGljYWw6dDFyLFN0cmlrZXRocm91Z2g6cjFyLFN1YnNjcmlwdDphMXIsU3VidGl0bGVzOnBFLFN1bjpsMXIsU3VuRGltOmkxcixTdW5NZWRpdW06bjFyLFN1bk1vb246czFyLFN1blNub3c6bzFyLFN1bnJpc2U6YzFyLFN1bnNldDpkMXIsU3VwZXJzY3JpcHQ6dTFyLFN3YXRjaEJvb2s6cDFyLFN3aXNzRnJhbmM6ZjFyLFN3aXRjaENhbWVyYTpoMXIsU3dvcmQ6bTFyLFN3b3JkczpnMXIsU3lyaW5nZTpiMXIsVGFibGU6ejFyLFRhYmxlMjp2MXIsVGFibGVDZWxsc01lcmdlOngxcixUYWJsZUNlbGxzU3BsaXQ6eTFyLFRhYmxlQ29sdW1uc1NwbGl0OncxcixUYWJsZUNvbmZpZzpkZixUYWJsZU9mQ29udGVudHM6TTFyLFRhYmxlUHJvcGVydGllczprMXIsVGFibGVSb3dzU3BsaXQ6UzFyLFRhYmxldDpDMXIsVGFibGV0U21hcnRwaG9uZTpUMXIsVGFibGV0czpfMXIsVGFnOkwxcixUYWdzOiQxcixUYWxseTE6RDFyLFRhbGx5MjpBMXIsVGFsbHkzOkUxcixUYWxseTQ6STFyLFRhbGx5NTpQMXIsVGFuZ2VudDpOMXIsVGFyZ2V0OkYxcixUZWxlc2NvcGU6TzFyLFRlbnQ6QjFyLFRlbnRUcmVlOlIxcixUZXJtaW5hbDpIMXIsVGVybWluYWxTcXVhcmU6JE4sVGVzdFR1YmU6cTFyLFRlc3RUdWJlMjpJTixUZXN0VHViZURpYWdvbmFsOklOLFRlc3RUdWJlczpqMXIsVGV4dDpnZixUZXh0QWxpZ25DZW50ZXI6UE4sVGV4dEFsaWduRW5kOk5OLFRleHRBbGlnbkp1c3RpZnk6Rk4sVGV4dEFsaWduU3RhcnQ6Z2YsVGV4dEN1cnNvcjpVMXIsVGV4dEN1cnNvcklucHV0OlYxcixUZXh0SW5pdGlhbDpPTixUZXh0UXVvdGU6VzFyLFRleHRTZWFyY2g6RzFyLFRleHRTZWxlY3Q6Uk4sVGV4dFNlbGVjdGlvbjpSTixUZXh0V3JhcDpCTixUaGVhdGVyOlkxcixUaGVybW9tZXRlcjpRMXIsVGhlcm1vbWV0ZXJTbm93Zmxha2U6WjFyLFRoZXJtb21ldGVyU3VuOlgxcixUaHVtYnNEb3duOkoxcixUaHVtYnNVcDpLMXIsVGlja2V0OnNzcixUaWNrZXRDaGVjazplc3IsVGlja2V0TWludXM6dHNyLFRpY2tldFBlcmNlbnQ6cnNyLFRpY2tldFBsdXM6YXNyLFRpY2tldFNsYXNoOmlzcixUaWNrZXRYOm5zcixUaWNrZXRzOmNzcixUaWNrZXRzUGxhbmU6b3NyLFRpbWVyOnVzcixUaW1lck9mZjpsc3IsVGltZXJSZXNldDpkc3IsVG9nZ2xlTGVmdDpwc3IsVG9nZ2xlUmlnaHQ6ZnNyLFRvaWxldDpoc3IsVG9vbENhc2U6bXNyLFRvb2xib3g6Z3NyLFRvcm5hZG86YnNyLFRvcnVzOnZzcixUb3VjaHBhZDp5c3IsVG91Y2hwYWRPZmY6eHNyLFRvd2VyQ29udHJvbDp3c3IsVG95QnJpY2s6TXNyLFRyYWN0b3I6a3NyLFRyYWZmaWNDb25lOlNzcixUcmFpbjpITixUcmFpbkZyb250OkNzcixUcmFpbkZyb250VHVubmVsOnpzcixUcmFpblRyYWNrOlRzcixUcmFtRnJvbnQ6SE4sVHJhbnNnZW5kZXI6X3NyLFRyYXNoOiRzcixUcmFzaDI6THNyLFRyZWVEZWNpZHVvdXM6RHNyLFRyZWVQYWxtOnFOLFRyZWVQaW5lOkFzcixUcmVlczpFc3IsVHJlbGxvOklzcixUcmVuZGluZ0Rvd246UHNyLFRyZW5kaW5nVXA6RnNyLFRyZW5kaW5nVXBEb3duOk5zcixUcmlhbmdsZTpCc3IsVHJpYW5nbGVBbGVydDpqTixUcmlhbmdsZURhc2hlZDpPc3IsVHJpYW5nbGVSaWdodDpSc3IsVHJvcGh5OnFzcixUcnVjazpqc3IsVHJ1Y2tFbGVjdHJpYzpIc3IsVHVya2lzaExpcmE6VnNyLFR1cm50YWJsZTpVc3IsVHVydGxlOldzcixUdjpZc3IsVHYyOlZOLFR2TWluaW1hbDpWTixUdk1pbmltYWxQbGF5OkdzcixUd2l0Y2g6WnNyLFR3aXR0ZXI6WHNyLFR5cGU6SnNyLFR5cGVPdXRsaW5lOlFzcixVbWJyZWxsYTplb3IsVW1icmVsbGFPZmY6S3NyLFVuZGVybGluZTp0b3IsVW5kbzppb3IsVW5kbzI6cm9yLFVuZG9Eb3Q6YW9yLFVuZm9sZEhvcml6b250YWw6bm9yLFVuZm9sZFZlcnRpY2FsOnNvcixVbmdyb3VwOm9vcixVbml2ZXJzaXR5OlVOLFVubGluazpsb3IsVW5saW5rMjpjb3IsVW5sb2NrOm5QLFVubG9ja0tleWhvbGU6aVAsVW5wbHVnOmRvcixVcGxvYWQ6dW9yLFVwbG9hZENsb3VkOnNJLFVzYjpwb3IsVXNlcjpUb3IsVXNlcjI6UU4sVXNlckNoZWNrOmhvcixVc2VyQ2hlY2syOldOLFVzZXJDaXJjbGU6dEksVXNlckNpcmNsZTI6ZUksVXNlckNvZzptb3IsVXNlckNvZzI6R04sVXNlcktleTpnb3IsVXNlckxvY2s6Ym9yLFVzZXJNaW51czp2b3IsVXNlck1pbnVzMjpZTixVc2VyUGVuOnhvcixVc2VyUGx1czp5b3IsVXNlclBsdXMyOlpOLFVzZXJSb3VuZDpRTixVc2VyUm91bmRDaGVjazpXTixVc2VyUm91bmRDb2c6R04sVXNlclJvdW5kS2V5OndvcixVc2VyUm91bmRNaW51czpZTixVc2VyUm91bmRQZW46TW9yLFVzZXJSb3VuZFBsdXM6Wk4sVXNlclJvdW5kU2VhcmNoOmtvcixVc2VyUm91bmRYOlhOLFVzZXJTZWFyY2g6U29yLFVzZXJTcXVhcmU6QU4sVXNlclNxdWFyZTI6RE4sVXNlclN0YXI6em9yLFVzZXJYOkNvcixVc2VyWDI6WE4sVXNlcnM6X29yLFVzZXJzMjpKTixVc2Vyc1JvdW5kOkpOLFV0ZW5zaWxzOmVGLFV0ZW5zaWxzQ3Jvc3NlZDpLTixVdGlsaXR5UG9sZTpMb3IsVmFuOiRvcixWYXJpYWJsZTpEb3IsVmF1bHQ6QW9yLFZlY3RvclNxdWFyZTpFb3IsVmVnYW46SW9yLFZlbmV0aWFuTWFzazpQb3IsVmVudXM6Rm9yLFZlbnVzQW5kTWFyczpOb3IsVmVyaWZpZWQ6c0UsVmlicmF0ZTpSb3IsVmlicmF0ZU9mZjpPb3IsVmlkZW86SG9yLFZpZGVvT2ZmOkJvcixWaWRlb3RhcGU6cW9yLFZpZXc6am9yLFZvaWNlbWFpbDpWb3IsVm9sbGV5YmFsbDpVb3IsVm9sdW1lOlFvcixWb2x1bWUxOldvcixWb2x1bWUyOkdvcixWb2x1bWVPZmY6WW9yLFZvbHVtZVg6Wm9yLFZvdGU6WG9yLFdhbGxldDpLb3IsV2FsbGV0Mjp0RixXYWxsZXRDYXJkczpKb3IsV2FsbGV0TWluaW1hbDp0RixXYWxscGFwZXI6ZTJyLFdhbmQ6dDJyLFdhbmQyOnJGLFdhbmRTcGFya2xlczpyRixXYXJlaG91c2U6cjJyLFdhc2hpbmdNYWNoaW5lOmEycixXYXRjaDppMnIsV2F2ZXM6bDJyLFdhdmVzQXJyb3dEb3duOm4ycixXYXZlc0Fycm93VXA6czJyLFdhdmVzTGFkZGVyOm8ycixXYXlwb2ludHM6YzJyLFdlYmNhbTpkMnIsV2ViaG9vazpwMnIsV2ViaG9va09mZjp1MnIsV2VpZ2h0Om0ycixXZWlnaHRUaWxkZTpmMnIsV2hlYXQ6ZzJyLFdoZWF0T2ZmOmgycixXaG9sZVdvcmQ6YjJyLFdpZmk6ejJyLFdpZmlDb2c6djJyLFdpZmlIaWdoOngycixXaWZpTG93OnkycixXaWZpT2ZmOncycixXaWZpUGVuOk0ycixXaWZpU3luYzprMnIsV2lmaVplcm86UzJyLFdpbmQ6VDJyLFdpbmRBcnJvd0Rvd246QzJyLFdpbmU6XzJyLFdpbmVPZmY6JDJyLFdvcmtmbG93OkwycixXb3JtOkQycixXcmFwVGV4dDpCTixXcmVuY2g6STJyLFg6QTJyLFhDaXJjbGU6ckksWE9jdGFnb246ZlAsWFNxdWFyZTpFTixZb3V0dWJlOkUycixaYXA6TjJyLFphcE9mZjpQMnIsWm9vbUluOk8ycixab29tT3V0OkYycn0pLFIycj0oe2ljb25zOmU9e30sbmFtZUF0dHI6dD0iZGF0YS1sdWNpZGUiLGF0dHJzOnI9e30scm9vdDphPWRvY3VtZW50LGluVGVtcGxhdGVzOml9PXt9KT0+e2lmKCFPYmplY3QudmFsdWVzKGUpLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFBsZWFzZSBwcm92aWRlIGFuIGljb25zIG9iamVjdC4KSWYgeW91IHdhbnQgdG8gdXNlIGFsbCB0aGUgaWNvbnMgeW91IGNhbiBpbXBvcnQgaXQgbGlrZToKIFxgaW1wb3J0IHsgY3JlYXRlSWNvbnMsIGljb25zIH0gZnJvbSAnbHVjaWRlJzsKbHVjaWRlLmNyZWF0ZUljb25zKHtpY29uc30pO1xgYCk7aWYodHlwZW9mIGE+InUiKXRocm93IG5ldyBFcnJvcigiYGNyZWF0ZUljb25zKClgIG9ubHkgd29ya3MgaW4gYSBicm93c2VyIGVudmlyb25tZW50LiIpO2lmKEFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKGBbJHt0fV1gKSkuZm9yRWFjaChzPT50RnQocyx7bmFtZUF0dHI6dCxpY29uczplLGF0dHJzOnJ9KSksaSYmQXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwoInRlbXBsYXRlIikpLmZvckVhY2gobz0+UjJyKHtpY29uczplLG5hbWVBdHRyOnQsYXR0cnM6cixyb290Om8uY29udGVudCxpblRlbXBsYXRlczppfSkpLHQ9PT0iZGF0YS1sdWNpZGUiKXtsZXQgcz1hLnF1ZXJ5U2VsZWN0b3JBbGwoIltpY29uLW5hbWVdIik7cy5sZW5ndGg+MCYmKGNvbnNvbGUud2FybigiW0x1Y2lkZV0gU29tZSBpY29ucyB3ZXJlIGZvdW5kIHdpdGggdGhlIG5vdyBkZXByZWNhdGVkIGljb24tbmFtZSBhdHRyaWJ1dGUuIFRoZXNlIHdpbGwgc3RpbGwgYmUgcmVwbGFjZWQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBidXQgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIGluIHYxLjAgYW5kIHlvdSBzaG91bGQgc3dpdGNoIHRvIGRhdGEtbHVjaWRlIiksQXJyYXkuZnJvbShzKS5mb3JFYWNoKG89PnRGdChvLHtuYW1lQXR0cjoiaWNvbi1uYW1lIixpY29uczplLGF0dHJzOnJ9KSkpfX07eC5BQXJyb3dEb3duPXJGdCx4LkFBcnJvd1VwPWFGdCx4LkFMYXJnZVNtYWxsPWlGdCx4LkFjY2Vzc2liaWxpdHk9bkZ0LHguQWN0aXZpdHk9b0Z0LHguQWN0aXZpdHlTcXVhcmU9RlAseC5BaXJWZW50PXNGdCx4LkFpcnBsYXk9bEZ0LHguQWxhcm1DaGVjaz1YQSx4LkFsYXJtQ2xvY2s9ZEZ0LHguQWxhcm1DbG9ja0NoZWNrPVhBLHguQWxhcm1DbG9ja01pbnVzPVFBLHguQWxhcm1DbG9ja09mZj1jRnQseC5BbGFybUNsb2NrUGx1cz1KQSx4LkFsYXJtTWludXM9UUEseC5BbGFybVBsdXM9SkEseC5BbGFybVNtb2tlPXVGdCx4LkFsYnVtPXBGdCx4LkFsZXJ0Q2lyY2xlPVRFLHguQWxlcnRPY3RhZ29uPXVQLHguQWxlcnRUcmlhbmdsZT1qTix4LkFsaWduQ2VudGVyPVBOLHguQWxpZ25DZW50ZXJIb3Jpem9udGFsPWZGdCx4LkFsaWduQ2VudGVyVmVydGljYWw9aEZ0LHguQWxpZ25FbmRIb3Jpem9udGFsPW1GdCx4LkFsaWduRW5kVmVydGljYWw9Z0Z0LHguQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUNlbnRlcj1iRnQseC5BbGlnbkhvcml6b250YWxEaXN0cmlidXRlRW5kPXZGdCx4LkFsaWduSG9yaXpvbnRhbERpc3RyaWJ1dGVTdGFydD14RnQseC5BbGlnbkhvcml6b250YWxKdXN0aWZ5Q2VudGVyPXlGdCx4LkFsaWduSG9yaXpvbnRhbEp1c3RpZnlFbmQ9d0Z0LHguQWxpZ25Ib3Jpem9udGFsSnVzdGlmeVN0YXJ0PU1GdCx4LkFsaWduSG9yaXpvbnRhbFNwYWNlQXJvdW5kPWtGdCx4LkFsaWduSG9yaXpvbnRhbFNwYWNlQmV0d2Vlbj1TRnQseC5BbGlnbkp1c3RpZnk9Rk4seC5BbGlnbkxlZnQ9Z2YseC5BbGlnblJpZ2h0PU5OLHguQWxpZ25TdGFydEhvcml6b250YWw9ekZ0LHguQWxpZ25TdGFydFZlcnRpY2FsPUNGdCx4LkFsaWduVmVydGljYWxEaXN0cmlidXRlQ2VudGVyPVRGdCx4LkFsaWduVmVydGljYWxEaXN0cmlidXRlRW5kPV9GdCx4LkFsaWduVmVydGljYWxEaXN0cmlidXRlU3RhcnQ9TEZ0LHguQWxpZ25WZXJ0aWNhbEp1c3RpZnlDZW50ZXI9JEZ0LHguQWxpZ25WZXJ0aWNhbEp1c3RpZnlFbmQ9REZ0LHguQWxpZ25WZXJ0aWNhbEp1c3RpZnlTdGFydD1BRnQseC5BbGlnblZlcnRpY2FsU3BhY2VBcm91bmQ9RUZ0LHguQWxpZ25WZXJ0aWNhbFNwYWNlQmV0d2Vlbj1JRnQseC5BbWJ1bGFuY2U9UEZ0LHguQW1wZXJzYW5kPU5GdCx4LkFtcGVyc2FuZHM9RkZ0LHguQW1waG9yYT1PRnQseC5BbmNob3I9UkZ0LHguQW5ncnk9QkZ0LHguQW5ub3llZD1IRnQseC5BbnRlbm5hPXFGdCx4LkFudmlsPWpGdCx4LkFwZXJ0dXJlPVZGdCx4LkFwcFdpbmRvdz1XRnQseC5BcHBXaW5kb3dNYWM9VUZ0LHguQXBwbGU9R0Z0LHguQXJjaGl2ZT1YRnQseC5BcmNoaXZlUmVzdG9yZT1ZRnQseC5BcmNoaXZlWD1aRnQseC5BcmVhQ2hhcnQ9ZkUseC5Bcm1jaGFpcj1RRnQseC5BcnJvd0JpZ0Rvd249S0Z0LHguQXJyb3dCaWdEb3duRGFzaD1KRnQseC5BcnJvd0JpZ0xlZnQ9dE90LHguQXJyb3dCaWdMZWZ0RGFzaD1lT3QseC5BcnJvd0JpZ1JpZ2h0PWFPdCx4LkFycm93QmlnUmlnaHREYXNoPXJPdCx4LkFycm93QmlnVXA9bk90LHguQXJyb3dCaWdVcERhc2g9aU90LHguQXJyb3dEb3duPW1PdCx4LkFycm93RG93bjAxPXNPdCx4LkFycm93RG93bjEwPW9PdCx4LkFycm93RG93bkFaPUtBLHguQXJyb3dEb3duQXo9S0EseC5BcnJvd0Rvd25DaXJjbGU9X0UseC5BcnJvd0Rvd25Gcm9tTGluZT1sT3QseC5BcnJvd0Rvd25MZWZ0PWNPdCx4LkFycm93RG93bkxlZnRGcm9tQ2lyY2xlPSRFLHguQXJyb3dEb3duTGVmdEZyb21TcXVhcmU9SFAseC5BcnJvd0Rvd25MZWZ0U3F1YXJlPU5QLHguQXJyb3dEb3duTmFycm93V2lkZT1kT3QseC5BcnJvd0Rvd25SaWdodD11T3QseC5BcnJvd0Rvd25SaWdodEZyb21DaXJjbGU9REUseC5BcnJvd0Rvd25SaWdodEZyb21TcXVhcmU9alAseC5BcnJvd0Rvd25SaWdodFNxdWFyZT1PUCx4LkFycm93RG93blNxdWFyZT1SUCx4LkFycm93RG93blRvRG90PXBPdCx4LkFycm93RG93blRvTGluZT1mT3QseC5BcnJvd0Rvd25VcD1oT3QseC5BcnJvd0Rvd25XaWRlTmFycm93PWVFLHguQXJyb3dEb3duWkE9dEUseC5BcnJvd0Rvd25aYT10RSx4LkFycm93TGVmdD14T3QseC5BcnJvd0xlZnRDaXJjbGU9TEUseC5BcnJvd0xlZnRGcm9tTGluZT1nT3QseC5BcnJvd0xlZnRSaWdodD1iT3QseC5BcnJvd0xlZnRTcXVhcmU9QlAseC5BcnJvd0xlZnRUb0xpbmU9dk90LHguQXJyb3dSaWdodD1rT3QseC5BcnJvd1JpZ2h0Q2lyY2xlPUlFLHguQXJyb3dSaWdodEZyb21MaW5lPXlPdCx4LkFycm93UmlnaHRMZWZ0PXdPdCx4LkFycm93UmlnaHRTcXVhcmU9VVAseC5BcnJvd1JpZ2h0VG9MaW5lPU1PdCx4LkFycm93VXA9RU90LHguQXJyb3dVcDAxPVNPdCx4LkFycm93VXAxMD16T3QseC5BcnJvd1VwQVo9ckUseC5BcnJvd1VwQXo9ckUseC5BcnJvd1VwQ2lyY2xlPVBFLHguQXJyb3dVcERvd249Q090LHguQXJyb3dVcEZyb21Eb3Q9VE90LHguQXJyb3dVcEZyb21MaW5lPV9PdCx4LkFycm93VXBMZWZ0PUxPdCx4LkFycm93VXBMZWZ0RnJvbUNpcmNsZT1BRSx4LkFycm93VXBMZWZ0RnJvbVNxdWFyZT1xUCx4LkFycm93VXBMZWZ0U3F1YXJlPVdQLHguQXJyb3dVcE5hcnJvd1dpZGU9YUUseC5BcnJvd1VwUmlnaHQ9JE90LHguQXJyb3dVcFJpZ2h0RnJvbUNpcmNsZT1FRSx4LkFycm93VXBSaWdodEZyb21TcXVhcmU9VlAseC5BcnJvd1VwUmlnaHRTcXVhcmU9R1AseC5BcnJvd1VwU3F1YXJlPVlQLHguQXJyb3dVcFRvTGluZT1ET3QseC5BcnJvd1VwV2lkZU5hcnJvdz1BT3QseC5BcnJvd1VwWkE9aUUseC5BcnJvd1VwWmE9aUUseC5BcnJvd3NVcEZyb21MaW5lPUlPdCx4LkFzdGVyaXNrPVBPdCx4LkFzdGVyaXNrU3F1YXJlPVpQLHguQXRTaWduPU5PdCx4LkF0b209Rk90LHguQXVkaW9MaW5lcz1PT3QseC5BdWRpb1dhdmVmb3JtPVJPdCx4LkF3YXJkPUJPdCx4LkF4ZT1IT3QseC5BeGlzM0Q9bkUseC5BeGlzM2Q9bkUseC5CYWJ5PWpPdCx4LkJhY2twYWNrPXFPdCx4LkJhZGdlPW5SdCx4LkJhZGdlQWxlcnQ9Vk90LHguQmFkZ2VDZW50PVVPdCx4LkJhZGdlQ2hlY2s9c0UseC5CYWRnZURvbGxhclNpZ249R090LHguQmFkZ2VFdXJvPVlPdCx4LkJhZGdlSGVscD1vRSx4LkJhZGdlSW5kaWFuUnVwZWU9V090LHguQmFkZ2VJbmZvPVpPdCx4LkJhZGdlSmFwYW5lc2VZZW49WE90LHguQmFkZ2VNaW51cz1RT3QseC5CYWRnZVBlcmNlbnQ9Sk90LHguQmFkZ2VQbHVzPUtPdCx4LkJhZGdlUG91bmRTdGVybGluZz1lUnQseC5CYWRnZVF1ZXN0aW9uTWFyaz1vRSx4LkJhZGdlUnVzc2lhblJ1YmxlPXRSdCx4LkJhZGdlU3dpc3NGcmFuYz1yUnQseC5CYWRnZVR1cmtpc2hMaXJhPWFSdCx4LkJhZGdlWD1pUnQseC5CYWdnYWdlQ2xhaW09c1J0LHguQmFsbG9vbj1vUnQseC5CYW49bFJ0LHguQmFuYW5hPWNSdCx4LkJhbmRhZ2U9ZFJ0LHguQmFua25vdGU9aFJ0LHguQmFua25vdGVBcnJvd0Rvd249dVJ0LHguQmFua25vdGVBcnJvd1VwPXBSdCx4LkJhbmtub3RlWD1mUnQseC5CYXJDaGFydD13RSx4LkJhckNoYXJ0Mj1NRSx4LkJhckNoYXJ0Mz14RSx4LkJhckNoYXJ0ND12RSx4LkJhckNoYXJ0QmlnPWdFLHguQmFyQ2hhcnRIb3Jpem9udGFsPWJFLHguQmFyQ2hhcnRIb3Jpem9udGFsQmlnPWhFLHguQmFyY29kZT1tUnQseC5CYXJyZWw9Z1J0LHguQmFzZWxpbmU9YlJ0LHguQmF0aD12UnQseC5CYXR0ZXJ5PXpSdCx4LkJhdHRlcnlDaGFyZ2luZz14UnQseC5CYXR0ZXJ5RnVsbD15UnQseC5CYXR0ZXJ5TG93PXdSdCx4LkJhdHRlcnlNZWRpdW09TVJ0LHguQmF0dGVyeVBsdXM9a1J0LHguQmF0dGVyeVdhcm5pbmc9U1J0LHguQmVha2VyPUNSdCx4LkJlYW49X1J0LHguQmVhbk9mZj1UUnQseC5CZWQ9RFJ0LHguQmVkRG91YmxlPUxSdCx4LkJlZFNpbmdsZT0kUnQseC5CZWVmPUFSdCx4LkJlZXI9SVJ0LHguQmVlck9mZj1FUnQseC5CZWxsPUhSdCx4LkJlbGxEb3Q9UFJ0LHguQmVsbEVsZWN0cmljPU5SdCx4LkJlbGxNaW51cz1GUnQseC5CZWxsT2ZmPU9SdCx4LkJlbGxQbHVzPVJSdCx4LkJlbGxSaW5nPUJSdCx4LkJldHdlZW5Ib3Jpem9uYWxFbmQ9bEUseC5CZXR3ZWVuSG9yaXpvbmFsU3RhcnQ9Y0UseC5CZXR3ZWVuSG9yaXpvbnRhbEVuZD1sRSx4LkJldHdlZW5Ib3Jpem9udGFsU3RhcnQ9Y0UseC5CZXR3ZWVuVmVydGljYWxFbmQ9cVJ0LHguQmV0d2VlblZlcnRpY2FsU3RhcnQ9alJ0LHguQmljZXBzRmxleGVkPVZSdCx4LkJpa2U9VVJ0LHguQmluYXJ5PVdSdCx4LkJpbm9jdWxhcnM9R1J0LHguQmlvaGF6YXJkPVlSdCx4LkJpcmQ9WlJ0LHguQmlyZGhvdXNlPVhSdCx4LkJpdGNvaW49UVJ0LHguQmxlbmQ9SlJ0LHguQmxpbmRzPUtSdCx4LkJsb2Nrcz10QnQseC5CbHVldG9vdGg9bkJ0LHguQmx1ZXRvb3RoQ29ubmVjdGVkPWVCdCx4LkJsdWV0b290aE9mZj1yQnQseC5CbHVldG9vdGhTZWFyY2hpbmc9YUJ0LHguQm9sZD1pQnQseC5Cb2x0PW9CdCx4LkJvbWI9c0J0LHguQm9uZT1sQnQseC5Cb29rPUVCdCx4LkJvb2tBPWNCdCx4LkJvb2tBbGVydD1kQnQseC5Cb29rQXVkaW89cEJ0LHguQm9va0NoZWNrPXVCdCx4LkJvb2tDb3B5PWZCdCx4LkJvb2tEYXNoZWQ9ZEUseC5Cb29rRG93bj1oQnQseC5Cb29rSGVhZHBob25lcz1tQnQseC5Cb29rSGVhcnQ9Z0J0LHguQm9va0ltYWdlPWJCdCx4LkJvb2tLZXk9dkJ0LHguQm9va0xvY2s9eEJ0LHguQm9va01hcmtlZD15QnQseC5Cb29rTWludXM9d0J0LHguQm9va09wZW49U0J0LHguQm9va09wZW5DaGVjaz1NQnQseC5Cb29rT3BlblRleHQ9a0J0LHguQm9va1BsdXM9ekJ0LHguQm9va1NlYXJjaD1DQnQseC5Cb29rVGVtcGxhdGU9ZEUseC5Cb29rVGV4dD1UQnQseC5Cb29rVHlwZT1fQnQseC5Cb29rVXA9JEJ0LHguQm9va1VwMj1MQnQseC5Cb29rVXNlcj1EQnQseC5Cb29rWD1BQnQseC5Cb29rbWFyaz1PQnQseC5Cb29rbWFya0NoZWNrPUlCdCx4LkJvb2ttYXJrTWludXM9UEJ0LHguQm9va21hcmtQbHVzPU5CdCx4LkJvb2ttYXJrWD1GQnQseC5Cb29tQm94PVJCdCx4LkJvdD1IQnQseC5Cb3RNZXNzYWdlU3F1YXJlPUJCdCx4LkJvdE9mZj1xQnQseC5Cb3R0bGVXaW5lPWpCdCx4LkJvd0Fycm93PVZCdCx4LkJveD1VQnQseC5Cb3hTZWxlY3Q9c04seC5Cb3hlcz1XQnQseC5CcmFjZXM9dUUseC5CcmFja2V0cz1HQnQseC5CcmFpbj1YQnQseC5CcmFpbkNpcmN1aXQ9WUJ0LHguQnJhaW5Db2c9WkJ0LHguQnJpY2tXYWxsPWVIdCx4LkJyaWNrV2FsbEZpcmU9UUJ0LHguQnJpY2tXYWxsU2hpZWxkPUpCdCx4LkJyaWVmY2FzZT1hSHQseC5CcmllZmNhc2VCdXNpbmVzcz1LQnQseC5CcmllZmNhc2VDb252ZXlvckJlbHQ9dEh0LHguQnJpZWZjYXNlTWVkaWNhbD1ySHQseC5CcmluZ1RvRnJvbnQ9aUh0LHguQnJ1c2g9c0h0LHguQnJ1c2hDbGVhbmluZz1uSHQseC5CdWJibGVzPW9IdCx4LkJ1Zz1kSHQseC5CdWdPZmY9bEh0LHguQnVnUGxheT1jSHQseC5CdWlsZGluZz1wSHQseC5CdWlsZGluZzI9dUh0LHguQnVzPWhIdCx4LkJ1c0Zyb250PWZIdCx4LkNhYmxlPWdIdCx4LkNhYmxlQ2FyPW1IdCx4LkNha2U9dkh0LHguQ2FrZVNsaWNlPWJIdCx4LkNhbGN1bGF0b3I9eEh0LHguQ2FsZW5kYXI9Qkh0LHguQ2FsZW5kYXIxPXlIdCx4LkNhbGVuZGFyQXJyb3dEb3duPXdIdCx4LkNhbGVuZGFyQXJyb3dVcD1NSHQseC5DYWxlbmRhckNoZWNrPVNIdCx4LkNhbGVuZGFyQ2hlY2syPWtIdCx4LkNhbGVuZGFyQ2xvY2s9ekh0LHguQ2FsZW5kYXJDb2c9Q0h0LHguQ2FsZW5kYXJEYXlzPVRIdCx4LkNhbGVuZGFyRm9sZD1fSHQseC5DYWxlbmRhckhlYXJ0PUxIdCx4LkNhbGVuZGFyTWludXM9REh0LHguQ2FsZW5kYXJNaW51czI9JEh0LHguQ2FsZW5kYXJPZmY9QUh0LHguQ2FsZW5kYXJQbHVzPUlIdCx4LkNhbGVuZGFyUGx1czI9RUh0LHguQ2FsZW5kYXJSYW5nZT1QSHQseC5DYWxlbmRhclNlYXJjaD1OSHQseC5DYWxlbmRhclN5bmM9Rkh0LHguQ2FsZW5kYXJYPVJIdCx4LkNhbGVuZGFyWDI9T0h0LHguQ2FsZW5kYXJzPUhIdCx4LkNhbWVyYT1qSHQseC5DYW1lcmFPZmY9cUh0LHguQ2FuZGxlc3RpY2tDaGFydD1tRSx4LkNhbmR5PVdIdCx4LkNhbmR5Q2FuZT1WSHQseC5DYW5keU9mZj1VSHQseC5DYW5uYWJpcz1ZSHQseC5DYW5uYWJpc09mZj1HSHQseC5DYXB0aW9ucz1wRSx4LkNhcHRpb25zT2ZmPVpIdCx4LkNhcj1KSHQseC5DYXJGcm9udD1YSHQseC5DYXJUYXhpRnJvbnQ9UUh0LHguQ2FyYXZhbj1LSHQseC5DYXJkU2ltPWVxdCx4LkNhcnJvdD10cXQseC5DYXNlTG93ZXI9cnF0LHguQ2FzZVNlbnNpdGl2ZT1hcXQseC5DYXNlVXBwZXI9aXF0LHguQ2Fzc2V0dGVUYXBlPW5xdCx4LkNhc3Q9c3F0LHguQ2FzdGxlPW9xdCx4LkNhdD1scXQseC5DY3R2PWNxdCx4LkNoYXJ0QXJlYT1mRSx4LkNoYXJ0QmFyPWJFLHguQ2hhcnRCYXJCaWc9aEUseC5DaGFydEJhckRlY3JlYXNpbmc9ZHF0LHguQ2hhcnRCYXJJbmNyZWFzaW5nPXVxdCx4LkNoYXJ0QmFyU3RhY2tlZD1wcXQseC5DaGFydENhbmRsZXN0aWNrPW1FLHguQ2hhcnRDb2x1bW49eEUseC5DaGFydENvbHVtbkJpZz1nRSx4LkNoYXJ0Q29sdW1uRGVjcmVhc2luZz1mcXQseC5DaGFydENvbHVtbkluY3JlYXNpbmc9dkUseC5DaGFydENvbHVtblN0YWNrZWQ9aHF0LHguQ2hhcnRHYW50dD1tcXQseC5DaGFydExpbmU9eUUseC5DaGFydE5ldHdvcms9Z3F0LHguQ2hhcnROb0F4ZXNDb2x1bW49TUUseC5DaGFydE5vQXhlc0NvbHVtbkRlY3JlYXNpbmc9YnF0LHguQ2hhcnROb0F4ZXNDb2x1bW5JbmNyZWFzaW5nPXdFLHguQ2hhcnROb0F4ZXNDb21iaW5lZD12cXQseC5DaGFydE5vQXhlc0dhbnR0PWtFLHguQ2hhcnRQaWU9U0UseC5DaGFydFNjYXR0ZXI9ekUseC5DaGFydFNwbGluZT14cXQseC5DaGVjaz1TcXQseC5DaGVja0NoZWNrPXdxdCx4LkNoZWNrQ2lyY2xlPU5FLHguQ2hlY2tDaXJjbGUyPUZFLHguQ2hlY2tMaW5lPXlxdCx4LkNoZWNrU3F1YXJlPVFQLHguQ2hlY2tTcXVhcmUyPUpQLHguQ2hlZkhhdD1NcXQseC5DaGVycnk9a3F0LHguQ2hlc3NCaXNob3A9enF0LHguQ2hlc3NLaW5nPUNxdCx4LkNoZXNzS25pZ2h0PUxxdCx4LkNoZXNzUGF3bj1UcXQseC5DaGVzc1F1ZWVuPV9xdCx4LkNoZXNzUm9vaz0kcXQseC5DaGV2cm9uRG93bj1EcXQseC5DaGV2cm9uRG93bkNpcmNsZT1PRSx4LkNoZXZyb25Eb3duU3F1YXJlPUtQLHguQ2hldnJvbkZpcnN0PUFxdCx4LkNoZXZyb25MYXN0PUVxdCx4LkNoZXZyb25MZWZ0PUlxdCx4LkNoZXZyb25MZWZ0Q2lyY2xlPVJFLHguQ2hldnJvbkxlZnRTcXVhcmU9ZU4seC5DaGV2cm9uUmlnaHQ9UHF0LHguQ2hldnJvblJpZ2h0Q2lyY2xlPUJFLHguQ2hldnJvblJpZ2h0U3F1YXJlPXROLHguQ2hldnJvblVwPU5xdCx4LkNoZXZyb25VcENpcmNsZT1IRSx4LkNoZXZyb25VcFNxdWFyZT1yTix4LkNoZXZyb25zRG93bj1PcXQseC5DaGV2cm9uc0Rvd25VcD1GcXQseC5DaGV2cm9uc0xlZnQ9SHF0LHguQ2hldnJvbnNMZWZ0UmlnaHQ9QnF0LHguQ2hldnJvbnNMZWZ0UmlnaHRFbGxpcHNpcz1ScXQseC5DaGV2cm9uc1JpZ2h0PWpxdCx4LkNoZXZyb25zUmlnaHRMZWZ0PXFxdCx4LkNoZXZyb25zVXA9VnF0LHguQ2hldnJvbnNVcERvd249VXF0LHguQ2hyb21lPUNFLHguQ2hyb21pdW09Q0UseC5DaHVyY2g9R3F0LHguQ2lnYXJldHRlPVlxdCx4LkNpZ2FyZXR0ZU9mZj1XcXQseC5DaXJjbGU9Y2p0LHguQ2lyY2xlQWxlcnQ9VEUseC5DaXJjbGVBcnJvd0Rvd249X0UseC5DaXJjbGVBcnJvd0xlZnQ9TEUseC5DaXJjbGVBcnJvd091dERvd25MZWZ0PSRFLHguQ2lyY2xlQXJyb3dPdXREb3duUmlnaHQ9REUseC5DaXJjbGVBcnJvd091dFVwTGVmdD1BRSx4LkNpcmNsZUFycm93T3V0VXBSaWdodD1FRSx4LkNpcmNsZUFycm93UmlnaHQ9SUUseC5DaXJjbGVBcnJvd1VwPVBFLHguQ2lyY2xlQ2hlY2s9RkUseC5DaXJjbGVDaGVja0JpZz1ORSx4LkNpcmNsZUNoZXZyb25Eb3duPU9FLHguQ2lyY2xlQ2hldnJvbkxlZnQ9UkUseC5DaXJjbGVDaGV2cm9uUmlnaHQ9QkUseC5DaXJjbGVDaGV2cm9uVXA9SEUseC5DaXJjbGVEYXNoZWQ9WnF0LHguQ2lyY2xlRGl2aWRlPXFFLHguQ2lyY2xlRG9sbGFyU2lnbj1YcXQseC5DaXJjbGVEb3Q9SnF0LHguQ2lyY2xlRG90RGFzaGVkPVFxdCx4LkNpcmNsZUVsbGlwc2lzPUtxdCx4LkNpcmNsZUVxdWFsPWVqdCx4LkNpcmNsZUZhZGluZ0Fycm93VXA9dGp0LHguQ2lyY2xlRmFkaW5nUGx1cz1yanQseC5DaXJjbGVHYXVnZT1qRSx4LkNpcmNsZUhlbHA9Y2YseC5DaXJjbGVNaW51cz1WRSx4LkNpcmNsZU9mZj1hanQseC5DaXJjbGVQYXJraW5nPVdFLHguQ2lyY2xlUGFya2luZ09mZj1VRSx4LkNpcmNsZVBhdXNlPUdFLHguQ2lyY2xlUGVyY2VudD1ZRSx4LkNpcmNsZVBpbGU9aWp0LHguQ2lyY2xlUGxheT1aRSx4LkNpcmNsZVBsdXM9WEUseC5DaXJjbGVQb3VuZFN0ZXJsaW5nPW5qdCx4LkNpcmNsZVBvd2VyPVFFLHguQ2lyY2xlUXVlc3Rpb25NYXJrPWNmLHguQ2lyY2xlU2xhc2g9c2p0LHguQ2lyY2xlU2xhc2gyPUpFLHguQ2lyY2xlU2xhc2hlZD1KRSx4LkNpcmNsZVNtYWxsPW9qdCx4LkNpcmNsZVN0YXI9bGp0LHguQ2lyY2xlU3RvcD1LRSx4LkNpcmNsZVVzZXI9dEkseC5DaXJjbGVVc2VyUm91bmQ9ZUkseC5DaXJjbGVYPXJJLHguQ2lyY3VpdEJvYXJkPWRqdCx4LkNpdHJ1cz11anQseC5DbGFwcGVyYm9hcmQ9cGp0LHguQ2xpcGJvYXJkPWtqdCx4LkNsaXBib2FyZENoZWNrPWZqdCx4LkNsaXBib2FyZENsb2NrPWhqdCx4LkNsaXBib2FyZENvcHk9bWp0LHguQ2xpcGJvYXJkRWRpdD1pSSx4LkNsaXBib2FyZExpc3Q9Z2p0LHguQ2xpcGJvYXJkTWludXM9Ymp0LHguQ2xpcGJvYXJkUGFzdGU9dmp0LHguQ2xpcGJvYXJkUGVuPWlJLHguQ2xpcGJvYXJkUGVuTGluZT1hSSx4LkNsaXBib2FyZFBsdXM9eGp0LHguQ2xpcGJvYXJkU2lnbmF0dXJlPWFJLHguQ2xpcGJvYXJkVHlwZT15anQseC5DbGlwYm9hcmRYPXdqdCx4LkNsb2NrPUhqdCx4LkNsb2NrMT1NanQseC5DbG9jazEwPVNqdCx4LkNsb2NrMTE9emp0LHguQ2xvY2sxMj1DanQseC5DbG9jazI9VGp0LHguQ2xvY2szPV9qdCx4LkNsb2NrND1ManQseC5DbG9jazU9JGp0LHguQ2xvY2s2PURqdCx4LkNsb2NrNz1BanQseC5DbG9jazg9RWp0LHguQ2xvY2s5PUlqdCx4LkNsb2NrQWxlcnQ9Tmp0LHguQ2xvY2tBcnJvd0Rvd249UGp0LHguQ2xvY2tBcnJvd1VwPUZqdCx4LkNsb2NrQ2hlY2s9T2p0LHguQ2xvY2tGYWRpbmc9Ump0LHguQ2xvY2tQbHVzPUJqdCx4LkNsb3NlZENhcHRpb249cWp0LHguQ2xvdWQ9c1Z0LHguQ2xvdWRBbGVydD1qanQseC5DbG91ZEJhY2t1cD1WanQseC5DbG91ZENoZWNrPVVqdCx4LkNsb3VkQ29nPVdqdCx4LkNsb3VkRG93bmxvYWQ9bkkseC5DbG91ZERyaXp6bGU9R2p0LHguQ2xvdWRGb2c9WWp0LHguQ2xvdWRIYWlsPVpqdCx4LkNsb3VkTGlnaHRuaW5nPVFqdCx4LkNsb3VkTW9vbj1KanQseC5DbG91ZE1vb25SYWluPVhqdCx4LkNsb3VkT2ZmPUtqdCx4LkNsb3VkUmFpbj10VnQseC5DbG91ZFJhaW5XaW5kPWVWdCx4LkNsb3VkU25vdz1yVnQseC5DbG91ZFN1bj1pVnQseC5DbG91ZFN1blJhaW49YVZ0LHguQ2xvdWRTeW5jPW5WdCx4LkNsb3VkVXBsb2FkPXNJLHguQ2xvdWR5PW9WdCx4LkNsb3Zlcj1sVnQseC5DbHViPWNWdCx4LkNvZGU9ZFZ0LHguQ29kZTI9b0kseC5Db2RlU3F1YXJlPWFOLHguQ29kZVhtbD1vSSx4LkNvZGVwZW49dVZ0LHguQ29kZXNhbmRib3g9cFZ0LHguQ29mZmVlPWZWdCx4LkNvZz1oVnQseC5Db2lucz1tVnQseC5Db2x1bW5zPWxJLHguQ29sdW1uczI9bEkseC5Db2x1bW5zMz1jSSx4LkNvbHVtbnMzQ29nPWRmLHguQ29sdW1uczQ9Z1Z0LHguQ29sdW1uc1NldHRpbmdzPWRmLHguQ29tYmluZT1iVnQseC5Db21tYW5kPXZWdCx4LkNvbXBhc3M9eFZ0LHguQ29tcG9uZW50PXlWdCx4LkNvbXB1dGVyPXdWdCx4LkNvbmNpZXJnZUJlbGw9TVZ0LHguQ29uZT1rVnQseC5Db25zdHJ1Y3Rpb249U1Z0LHguQ29udGFjdD16VnQseC5Db250YWN0Mj1kSSx4LkNvbnRhY3RSb3VuZD1kSSx4LkNvbnRhaW5lcj1DVnQseC5Db250cmFzdD1fVnQseC5Db29raWU9VFZ0LHguQ29va2luZ1BvdD1MVnQseC5Db3B5PVBWdCx4LkNvcHlDaGVjaz0kVnQseC5Db3B5TWludXM9RFZ0LHguQ29weVBsdXM9QVZ0LHguQ29weVNsYXNoPUVWdCx4LkNvcHlYPUlWdCx4LkNvcHlsZWZ0PU5WdCx4LkNvcHlyaWdodD1GVnQseC5Db3JuZXJEb3duTGVmdD1PVnQseC5Db3JuZXJEb3duUmlnaHQ9UlZ0LHguQ29ybmVyTGVmdERvd249QlZ0LHguQ29ybmVyTGVmdFVwPUhWdCx4LkNvcm5lclJpZ2h0RG93bj1xVnQseC5Db3JuZXJSaWdodFVwPWpWdCx4LkNvcm5lclVwTGVmdD1WVnQseC5Db3JuZXJVcFJpZ2h0PVVWdCx4LkNwdT1XVnQseC5DcmVhdGl2ZUNvbW1vbnM9R1Z0LHguQ3JlZGl0Q2FyZD1ZVnQseC5Dcm9pc3NhbnQ9WlZ0LHguQ3JvcD1YVnQseC5Dcm9zcz1RVnQseC5Dcm9zc2hhaXI9SlZ0LHguQ3Jvd249S1Z0LHguQ3Vib2lkPWVVdCx4LkN1cFNvZGE9dFV0LHguQ3VybHlCcmFjZXM9dUUseC5DdXJyZW5jeT1hVXQseC5DeWxpbmRlcj1yVXQseC5EYW09blV0LHguRGF0YWJhc2U9bFV0LHguRGF0YWJhc2VCYWNrdXA9aVV0LHguRGF0YWJhc2VTZWFyY2g9c1V0LHguRGF0YWJhc2VaYXA9b1V0LHguRGVjaW1hbHNBcnJvd0xlZnQ9Y1V0LHguRGVjaW1hbHNBcnJvd1JpZ2h0PWRVdCx4LkRlbGV0ZT11VXQseC5EZXNzZXJ0PXBVdCx4LkRpYW1ldGVyPWZVdCx4LkRpYW1vbmQ9Z1V0LHguRGlhbW9uZE1pbnVzPWhVdCx4LkRpYW1vbmRQZXJjZW50PXVJLHguRGlhbW9uZFBsdXM9bVV0LHguRGljZTE9YlV0LHguRGljZTI9dlV0LHguRGljZTM9eFV0LHguRGljZTQ9eVV0LHguRGljZTU9d1V0LHguRGljZTY9TVV0LHguRGljZXM9a1V0LHguRGlmZj1TVXQseC5EaXNjPV9VdCx4LkRpc2MyPXpVdCx4LkRpc2MzPUNVdCx4LkRpc2NBbGJ1bT1UVXQseC5EaXZpZGU9TFV0LHguRGl2aWRlQ2lyY2xlPXFFLHguRGl2aWRlU3F1YXJlPW9OLHguRG5hPURVdCx4LkRuYU9mZj0kVXQseC5Eb2NrPUlVdCx4LkRvZz1BVXQseC5Eb2xsYXJTaWduPUVVdCx4LkRvbnV0PVBVdCx4LkRvb3JDbG9zZWQ9RlV0LHguRG9vckNsb3NlZExvY2tlZD1OVXQseC5Eb29yT3Blbj1PVXQseC5Eb3Q9UlV0LHguRG90U3F1YXJlPWxOLHguRG93bmxvYWQ9QlV0LHguRG93bmxvYWRDbG91ZD1uSSx4LkRyYWZ0aW5nQ29tcGFzcz1IVXQseC5EcmFtYT1qVXQseC5EcmliYmJsZT1xVXQseC5EcmlsbD1WVXQseC5Ecm9uZT1VVXQseC5Ecm9wbGV0PUdVdCx4LkRyb3BsZXRPZmY9V1V0LHguRHJvcGxldHM9WVV0LHguRHJ1bT1aVXQseC5EcnVtc3RpY2s9WFV0LHguRHVtYmJlbGw9UVV0LHguRWFyPWVXdCx4LkVhck9mZj1KVXQseC5FYXJ0aD1wSSx4LkVhcnRoTG9jaz1LVXQseC5FY2xpcHNlPXRXdCx4LkVkaXQ9RzQseC5FZGl0Mj1TUCx4LkVkaXQzPWtQLHguRWdnPWlXdCx4LkVnZ0ZyaWVkPXJXdCx4LkVnZ09mZj1hV3QseC5FbGxpcHNpcz1oSSx4LkVsbGlwc2lzVmVydGljYWw9ZkkseC5FcXVhbD1vV3QseC5FcXVhbEFwcHJveGltYXRlbHk9bld0LHguRXF1YWxOb3Q9c1d0LHguRXF1YWxTcXVhcmU9Y04seC5FcmFzZXI9Y1d0LHguRXRoZXJuZXRQb3J0PWxXdCx4LkV1cm89ZFd0LHguRXZDaGFyZ2VyPXVXdCx4LkV4cGFuZD1wV3QseC5FeHRlcm5hbExpbms9Zld0LHguRXllPW1XdCx4LkV5ZUNsb3NlZD1oV3QseC5FeWVPZmY9Z1d0LHguRmFjZWJvb2s9Yld0LHguRmFjdG9yeT12V3QseC5GYW49eFd0LHguRmFzdEZvcndhcmQ9eVd0LHguRmVhdGhlcj13V3QseC5GZW5jZT1NV3QseC5GZXJyaXNXaGVlbD1rV3QseC5GaWdtYT1TV3QseC5GaWxlPUtXdCx4LkZpbGVBcmNoaXZlPXpXdCx4LkZpbGVBdWRpbz11Zix4LkZpbGVBdWRpbzI9dWYseC5GaWxlQXhpczNEPW1JLHguRmlsZUF4aXMzZD1tSSx4LkZpbGVCYWRnZT1nSSx4LkZpbGVCYWRnZTI9Z0kseC5GaWxlQmFyQ2hhcnQ9eEkseC5GaWxlQmFyQ2hhcnQyPXlJLHguRmlsZUJveD1DV3QseC5GaWxlQnJhY2VzPXZJLHguRmlsZUJyYWNlc0Nvcm5lcj1iSSx4LkZpbGVDaGFydENvbHVtbj15SSx4LkZpbGVDaGFydENvbHVtbkluY3JlYXNpbmc9eEkseC5GaWxlQ2hhcnRMaW5lPXdJLHguRmlsZUNoYXJ0UGllPU1JLHguRmlsZUNoZWNrPV9XdCx4LkZpbGVDaGVjazI9a0kseC5GaWxlQ2hlY2tDb3JuZXI9a0kseC5GaWxlQ2xvY2s9VFd0LHguRmlsZUNvZGU9TFd0LHguRmlsZUNvZGUyPVNJLHguRmlsZUNvZGVDb3JuZXI9U0kseC5GaWxlQ29nPXpJLHguRmlsZUNvZzI9ekkseC5GaWxlRGlmZj0kV3QseC5GaWxlRGlnaXQ9RFd0LHguRmlsZURvd249QVd0LHguRmlsZUVkaXQ9REkseC5GaWxlRXhjbGFtYXRpb25Qb2ludD1DSSx4LkZpbGVIZWFkcGhvbmU9dWYseC5GaWxlSGVhcnQ9RVd0LHguRmlsZUltYWdlPUlXdCx4LkZpbGVJbnB1dD1QV3QseC5GaWxlSnNvbj12SSx4LkZpbGVKc29uMj1iSSx4LkZpbGVLZXk9VEkseC5GaWxlS2V5Mj1USSx4LkZpbGVMaW5lQ2hhcnQ9d0kseC5GaWxlTG9jaz1fSSx4LkZpbGVMb2NrMj1fSSx4LkZpbGVNaW51cz1OV3QseC5GaWxlTWludXMyPUxJLHguRmlsZU1pbnVzQ29ybmVyPUxJLHguRmlsZU11c2ljPUZXdCx4LkZpbGVPdXRwdXQ9T1d0LHguRmlsZVBlbj1ESSx4LkZpbGVQZW5MaW5lPSRJLHguRmlsZVBpZUNoYXJ0PU1JLHguRmlsZVBsYXk9QUkseC5GaWxlUGx1cz1SV3QseC5GaWxlUGx1czI9RUkseC5GaWxlUGx1c0Nvcm5lcj1FSSx4LkZpbGVRdWVzdGlvbj1JSSx4LkZpbGVRdWVzdGlvbk1hcms9SUkseC5GaWxlU2Nhbj1CV3QseC5GaWxlU2VhcmNoPUhXdCx4LkZpbGVTZWFyY2gyPVBJLHguRmlsZVNlYXJjaENvcm5lcj1QSSx4LkZpbGVTaWduYWw9TkkseC5GaWxlU2lnbmF0dXJlPSRJLHguRmlsZVNsaWRlcnM9cVd0LHguRmlsZVNwcmVhZHNoZWV0PWpXdCx4LkZpbGVTdGFjaz1WV3QseC5GaWxlU3ltbGluaz1VV3QseC5GaWxlVGVybWluYWw9V1d0LHguRmlsZVRleHQ9R1d0LHguRmlsZVR5cGU9WVd0LHguRmlsZVR5cGUyPUZJLHguRmlsZVR5cGVDb3JuZXI9RkkseC5GaWxlVXA9Wld0LHguRmlsZVVzZXI9WFd0LHguRmlsZVZpZGVvPUFJLHguRmlsZVZpZGVvMj1PSSx4LkZpbGVWaWRlb0NhbWVyYT1PSSx4LkZpbGVWb2x1bWU9UVd0LHguRmlsZVZvbHVtZTI9TkkseC5GaWxlV2FybmluZz1DSSx4LkZpbGVYPUpXdCx4LkZpbGVYMj1SSSx4LkZpbGVYQ29ybmVyPVJJLHguRmlsZXM9ZUd0LHguRmlsbT10R3QseC5GaWx0ZXI9VkkseC5GaWx0ZXJYPWpJLHguRmluZ2VycHJpbnQ9QkkseC5GaW5nZXJwcmludFBhdHRlcm49QkkseC5GaXJlRXh0aW5ndWlzaGVyPXJHdCx4LkZpc2g9bkd0LHguRmlzaE9mZj1hR3QseC5GaXNoU3ltYm9sPWlHdCx4LkZpc2hpbmdIb29rPXNHdCx4LkZsYWc9ZEd0LHguRmxhZ09mZj1vR3QseC5GbGFnVHJpYW5nbGVMZWZ0PWxHdCx4LkZsYWdUcmlhbmdsZVJpZ2h0PWNHdCx4LkZsYW1lPXBHdCx4LkZsYW1lS2luZGxpbmc9dUd0LHguRmxhc2hsaWdodD1oR3QseC5GbGFzaGxpZ2h0T2ZmPWZHdCx4LkZsYXNrQ29uaWNhbD1nR3QseC5GbGFza0NvbmljYWxPZmY9bUd0LHguRmxhc2tSb3VuZD1iR3QseC5GbGlwSG9yaXpvbnRhbD14R3QseC5GbGlwSG9yaXpvbnRhbDI9dkd0LHguRmxpcFZlcnRpY2FsPXdHdCx4LkZsaXBWZXJ0aWNhbDI9eUd0LHguRmxvd2VyPWtHdCx4LkZsb3dlcjI9TUd0LHguRm9jdXM9U0d0LHguRm9sZEhvcml6b250YWw9ekd0LHguRm9sZFZlcnRpY2FsPUNHdCx4LkZvbGRlcj1lWXQseC5Gb2xkZXJBcmNoaXZlPV9HdCx4LkZvbGRlckNoZWNrPVRHdCx4LkZvbGRlckNsb2NrPUxHdCx4LkZvbGRlckNsb3NlZD0kR3QseC5Gb2xkZXJDb2RlPURHdCx4LkZvbGRlckNvZz1ISSx4LkZvbGRlckNvZzI9SEkseC5Gb2xkZXJEb3Q9QUd0LHguRm9sZGVyRG93bj1FR3QseC5Gb2xkZXJFZGl0PXFJLHguRm9sZGVyR2l0PVBHdCx4LkZvbGRlckdpdDI9SUd0LHguRm9sZGVySGVhcnQ9Tkd0LHguRm9sZGVySW5wdXQ9Rkd0LHguRm9sZGVyS2FuYmFuPU9HdCx4LkZvbGRlcktleT1SR3QseC5Gb2xkZXJMb2NrPUJHdCx4LkZvbGRlck1pbnVzPUhHdCx4LkZvbGRlck9wZW49akd0LHguRm9sZGVyT3BlbkRvdD1xR3QseC5Gb2xkZXJPdXRwdXQ9Vkd0LHguRm9sZGVyUGVuPXFJLHguRm9sZGVyUGx1cz1VR3QseC5Gb2xkZXJSb290PVdHdCx4LkZvbGRlclNlYXJjaD1ZR3QseC5Gb2xkZXJTZWFyY2gyPUdHdCx4LkZvbGRlclN5bWxpbms9Wkd0LHguRm9sZGVyU3luYz1YR3QseC5Gb2xkZXJUcmVlPVFHdCx4LkZvbGRlclVwPUpHdCx4LkZvbGRlclg9S0d0LHguRm9sZGVycz10WXQseC5Gb290cHJpbnRzPWFZdCx4LkZvcmtLbmlmZT1lRix4LkZvcmtLbmlmZUNyb3NzZWQ9S04seC5Gb3JrbGlmdD1yWXQseC5Gb3JtPWlZdCx4LkZvcm1JbnB1dD1DUCx4LkZvcndhcmQ9bll0LHguRnJhbWU9c1l0LHguRnJhbWVyPW9ZdCx4LkZyb3duPWxZdCx4LkZ1ZWw9Y1l0LHguRnVsbHNjcmVlbj1kWXQseC5GdW5jdGlvblNxdWFyZT1kTix4LkZ1bm5lbD1WSSx4LkZ1bm5lbFBsdXM9dVl0LHguRnVubmVsWD1qSSx4LkdhbGxlcnlIb3Jpem9udGFsPWZZdCx4LkdhbGxlcnlIb3Jpem9udGFsRW5kPXBZdCx4LkdhbGxlcnlUaHVtYm5haWxzPWhZdCx4LkdhbGxlcnlWZXJ0aWNhbD1nWXQseC5HYWxsZXJ5VmVydGljYWxFbmQ9bVl0LHguR2FtZXBhZD14WXQseC5HYW1lcGFkMj1iWXQseC5HYW1lcGFkRGlyZWN0aW9uYWw9dll0LHguR2FudHRDaGFydD1rRSx4LkdhbnR0Q2hhcnRTcXVhcmU9bWYseC5HYXVnZT15WXQseC5HYXVnZUNpcmNsZT1qRSx4LkdhdmVsPXdZdCx4LkdlbT1NWXQseC5HZW9yZ2lhbkxhcmk9a1l0LHguR2hvc3Q9U1l0LHguR2lmdD1UWXQseC5HaXRCcmFuY2g9X1l0LHguR2l0QnJhbmNoTWludXM9ell0LHguR2l0QnJhbmNoUGx1cz1DWXQseC5HaXRDb21taXQ9VUkseC5HaXRDb21taXRIb3Jpem9udGFsPVVJLHguR2l0Q29tbWl0VmVydGljYWw9TFl0LHguR2l0Q29tcGFyZT1EWXQseC5HaXRDb21wYXJlQXJyb3dzPSRZdCx4LkdpdEZvcms9QVl0LHguR2l0R3JhcGg9RVl0LHguR2l0TWVyZ2U9SVl0LHguR2l0UHVsbFJlcXVlc3Q9Qll0LHguR2l0UHVsbFJlcXVlc3RBcnJvdz1QWXQseC5HaXRQdWxsUmVxdWVzdENsb3NlZD1OWXQseC5HaXRQdWxsUmVxdWVzdENyZWF0ZT1PWXQseC5HaXRQdWxsUmVxdWVzdENyZWF0ZUFycm93PUZZdCx4LkdpdFB1bGxSZXF1ZXN0RHJhZnQ9Ull0LHguR2l0aHViPUhZdCx4LkdpdGxhYj1xWXQseC5HbGFzc1dhdGVyPWpZdCx4LkdsYXNzZXM9Vll0LHguR2xvYmU9V1l0LHguR2xvYmUyPXBJLHguR2xvYmVMb2NrPVVZdCx4Lkdsb2JlWD1HWXQseC5Hb2FsPVlZdCx4LkdwdT1aWXQseC5HcmFiPVhJLHguR3JhZHVhdGlvbkNhcD1YWXQseC5HcmFwZT1RWXQseC5HcmlkPXBmLHguR3JpZDJYMj1aSSx4LkdyaWQyWDJDaGVjaz1XSSx4LkdyaWQyWDJQbHVzPUdJLHguR3JpZDJYMlg9WUkseC5HcmlkMngyPVpJLHguR3JpZDJ4MkNoZWNrPVdJLHguR3JpZDJ4MlBsdXM9R0kseC5HcmlkMngyWD1ZSSx4LkdyaWQzWDM9cGYseC5HcmlkM3gyPUpZdCx4LkdyaWQzeDM9cGYseC5HcmlwPXRadCx4LkdyaXBIb3Jpem9udGFsPUtZdCx4LkdyaXBWZXJ0aWNhbD1lWnQseC5Hcm91cD1yWnQseC5HdWl0YXI9YVp0LHguSGFtPWladCx4LkhhbWJ1cmdlcj1uWnQseC5IYW1tZXI9c1p0LHguSGFuZD1wWnQseC5IYW5kQ29pbnM9b1p0LHguSGFuZEZpc3Q9bFp0LHguSGFuZEdyYWI9WEkseC5IYW5kSGVhcnQ9Y1p0LHguSGFuZEhlbHBpbmc9UUkseC5IYW5kTWV0YWw9ZFp0LHguSGFuZFBsYXR0ZXI9dVp0LHguSGFuZGJhZz1mWnQseC5IYW5kc2hha2U9aFp0LHguSGFyZERyaXZlPWJadCx4LkhhcmREcml2ZURvd25sb2FkPW1adCx4LkhhcmREcml2ZVVwbG9hZD1nWnQseC5IYXJkSGF0PXZadCx4Lkhhc2g9eFp0LHguSGF0R2xhc3Nlcz15WnQseC5IYXplPXdadCx4LkhkPU1adCx4LkhkbWlQb3J0PWtadCx4LkhlYWRpbmc9JFp0LHguSGVhZGluZzE9U1p0LHguSGVhZGluZzI9elp0LHguSGVhZGluZzM9Q1p0LHguSGVhZGluZzQ9VFp0LHguSGVhZGluZzU9X1p0LHguSGVhZGluZzY9TFp0LHguSGVhZHBob25lT2ZmPURadCx4LkhlYWRwaG9uZXM9QVp0LHguSGVhZHNldD1JWnQseC5IZWFydD1CWnQseC5IZWFydENyYWNrPUVadCx4LkhlYXJ0SGFuZHNoYWtlPVBadCx4LkhlYXJ0TWludXM9Tlp0LHguSGVhcnRPZmY9Rlp0LHguSGVhcnRQbHVzPVJadCx4LkhlYXJ0UHVsc2U9T1p0LHguSGVhdGVyPUhadCx4LkhlbGljb3B0ZXI9cVp0LHguSGVscENpcmNsZT1jZix4LkhlbHBpbmdIYW5kPVFJLHguSGV4YWdvbj1qWnQseC5IaWdobGlnaHRlcj1WWnQseC5IaXN0b3J5PVVadCx4LkhvbWU9SkkseC5Ib3A9V1p0LHguSG9wT2ZmPUdadCx4Lkhvc3BpdGFsPVladCx4LkhvdGVsPVpadCx4LkhvdXJnbGFzcz1YWnQseC5Ib3VzZT1KSSx4LkhvdXNlSGVhcnQ9UVp0LHguSG91c2VQbHVnPUpadCx4LkhvdXNlUGx1cz1LWnQseC5Ib3VzZVdpZmk9ZVh0LHguSWNlQ3JlYW09ZVAseC5JY2VDcmVhbTI9S0kseC5JY2VDcmVhbUJvd2w9S0kseC5JY2VDcmVhbUNvbmU9ZVAseC5JZENhcmQ9clh0LHguSWRDYXJkTGFueWFyZD10WHQseC5JbWFnZT1jWHQseC5JbWFnZURvd249YVh0LHguSW1hZ2VNaW51cz1pWHQseC5JbWFnZU9mZj1uWHQseC5JbWFnZVBsYXk9c1h0LHguSW1hZ2VQbHVzPW9YdCx4LkltYWdlVXA9bFh0LHguSW1hZ2VVcHNjYWxlPWRYdCx4LkltYWdlcz11WHQseC5JbXBvcnQ9cFh0LHguSW5ib3g9Zlh0LHguSW5kZW50PWhmLHguSW5kZW50RGVjcmVhc2U9ZmYseC5JbmRlbnRJbmNyZWFzZT1oZix4LkluZGlhblJ1cGVlPWhYdCx4LkluZmluaXR5PW1YdCx4LkluZm89Z1h0LHguSW5zcGVjdD1nTix4Lkluc3BlY3Rpb25QYW5lbD1iWHQseC5JbnN0YWdyYW09dlh0LHguSXRhbGljPXlYdCx4Lkl0ZXJhdGlvbkNjdz14WHQseC5JdGVyYXRpb25Ddz13WHQseC5KYXBhbmVzZVllbj1NWHQseC5Kb3lzdGljaz1rWHQseC5LYW5iYW49U1h0LHguS2FuYmFuU3F1YXJlPXVOLHguS2FuYmFuU3F1YXJlRGFzaGVkPWlOLHguS2F5YWs9elh0LHguS2V5PV9YdCx4LktleVJvdW5kPUNYdCx4LktleVNxdWFyZT1UWHQseC5LZXlib2FyZD1EWHQseC5LZXlib2FyZE11c2ljPUxYdCx4LktleWJvYXJkT2ZmPSRYdCx4LkxhbXA9Rlh0LHguTGFtcENlaWxpbmc9QVh0LHguTGFtcERlc2s9RVh0LHguTGFtcEZsb29yPUlYdCx4LkxhbXBXYWxsRG93bj1QWHQseC5MYW1wV2FsbFVwPU5YdCx4LkxhbmRQbG90PVJYdCx4LkxhbmRtYXJrPU9YdCx4Lkxhbmd1YWdlcz1CWHQseC5MYXB0b3A9cVh0LHguTGFwdG9wMj10UCx4LkxhcHRvcE1pbmltYWw9dFAseC5MYXB0b3BNaW5pbWFsQ2hlY2s9SFh0LHguTGFzc289Vlh0LHguTGFzc29TZWxlY3Q9alh0LHguTGF1Z2g9VVh0LHguTGF5ZXJzPXJQLHguTGF5ZXJzMj1XWHQseC5MYXllcnMzPXJQLHguTGF5ZXJzUGx1cz1HWHQseC5MYXlvdXQ9TVAseC5MYXlvdXREYXNoYm9hcmQ9WVh0LHguTGF5b3V0R3JpZD1aWHQseC5MYXlvdXRMaXN0PVhYdCx4LkxheW91dFBhbmVsTGVmdD1RWHQseC5MYXlvdXRQYW5lbFRvcD1KWHQseC5MYXlvdXRUZW1wbGF0ZT1LWHQseC5MZWFmPWVRdCx4LkxlYWZ5R3JlZW49dFF0LHguTGVjdGVybj1yUXQseC5MZXR0ZXJUZXh0PU9OLHguTGlicmFyeT1pUXQseC5MaWJyYXJ5QmlnPWFRdCx4LkxpYnJhcnlTcXVhcmU9cE4seC5MaWZlQnVveT1uUXQseC5MaWdhdHVyZT1zUXQseC5MaWdodGJ1bGI9bFF0LHguTGlnaHRidWxiT2ZmPW9RdCx4LkxpbmVDaGFydD15RSx4LkxpbmVTcXVpZ2dsZT1jUXQseC5MaW5rPXBRdCx4LkxpbmsyPXVRdCx4LkxpbmsyT2ZmPWRRdCx4LkxpbmtlZGluPWZRdCx4Lkxpc3Q9QVF0LHguTGlzdENoZWNrPWhRdCx4Lkxpc3RDaGVja3M9bVF0LHguTGlzdENoZXZyb25zRG93blVwPWdRdCx4Lkxpc3RDaGV2cm9uc1VwRG93bj1iUXQseC5MaXN0Q29sbGFwc2U9dlF0LHguTGlzdEVuZD14UXQseC5MaXN0RmlsdGVyPXdRdCx4Lkxpc3RGaWx0ZXJQbHVzPXlRdCx4Lkxpc3RJbmRlbnREZWNyZWFzZT1mZix4Lkxpc3RJbmRlbnRJbmNyZWFzZT1oZix4Lkxpc3RNaW51cz1NUXQseC5MaXN0TXVzaWM9a1F0LHguTGlzdE9yZGVyZWQ9U1F0LHguTGlzdFBsdXM9elF0LHguTGlzdFJlc3RhcnQ9Q1F0LHguTGlzdFN0YXJ0PVRRdCx4Lkxpc3RUb2RvPV9RdCx4Lkxpc3RUcmVlPUxRdCx4Lkxpc3RWaWRlbz0kUXQseC5MaXN0WD1EUXQseC5Mb2FkZXI9RVF0LHguTG9hZGVyMj1hUCx4LkxvYWRlckNpcmNsZT1hUCx4LkxvYWRlclBpbndoZWVsPUlRdCx4LkxvY2F0ZT1GUXQseC5Mb2NhdGVGaXhlZD1QUXQseC5Mb2NhdGVPZmY9TlF0LHguTG9jYXRpb25FZGl0PW9QLHguTG9jaz1SUXQseC5Mb2NrS2V5aG9sZT1PUXQseC5Mb2NrS2V5aG9sZU9wZW49aVAseC5Mb2NrT3Blbj1uUCx4LkxvZ0luPUJRdCx4LkxvZ091dD1xUXQseC5Mb2dzPUhRdCx4LkxvbGxpcG9wPWpRdCx4Lkx1Z2dhZ2U9VlF0LHguTVNxdWFyZT1mTix4Lk1hZ25ldD1VUXQseC5NYWlsPUpRdCx4Lk1haWxDaGVjaz1XUXQseC5NYWlsTWludXM9R1F0LHguTWFpbE9wZW49WVF0LHguTWFpbFBsdXM9WlF0LHguTWFpbFF1ZXN0aW9uPXNQLHguTWFpbFF1ZXN0aW9uTWFyaz1zUCx4Lk1haWxTZWFyY2g9WFF0LHguTWFpbFdhcm5pbmc9UVF0LHguTWFpbFg9S1F0LHguTWFpbGJveD1lSnQseC5NYWlscz10SnQseC5NYXA9Z0p0LHguTWFwTWludXM9ckp0LHguTWFwUGluPWZKdCx4Lk1hcFBpbkNoZWNrPWlKdCx4Lk1hcFBpbkNoZWNrSW5zaWRlPWFKdCx4Lk1hcFBpbkhvdXNlPW5KdCx4Lk1hcFBpbk1pbnVzPW9KdCx4Lk1hcFBpbk1pbnVzSW5zaWRlPXNKdCx4Lk1hcFBpbk9mZj1sSnQseC5NYXBQaW5QZW49b1AseC5NYXBQaW5QbHVzPWRKdCx4Lk1hcFBpblBsdXNJbnNpZGU9Y0p0LHguTWFwUGluWD1wSnQseC5NYXBQaW5YSW5zaWRlPXVKdCx4Lk1hcFBpbm5lZD1oSnQseC5NYXBQbHVzPW1KdCx4Lk1hcnM9dkp0LHguTWFyc1N0cm9rZT1iSnQseC5NYXJ0aW5pPXhKdCx4Lk1heGltaXplPXdKdCx4Lk1heGltaXplMj15SnQseC5NZWRhbD1NSnQseC5NZWdhcGhvbmU9U0p0LHguTWVnYXBob25lT2ZmPWtKdCx4Lk1laD16SnQseC5NZW1vcnlTdGljaz1USnQseC5NZW51PUNKdCx4Lk1lbnVTcXVhcmU9aE4seC5NZXJnZT1fSnQseC5NZXNzYWdlQ2lyY2xlPU9KdCx4Lk1lc3NhZ2VDaXJjbGVDb2RlPUxKdCx4Lk1lc3NhZ2VDaXJjbGVEYXNoZWQ9JEp0LHguTWVzc2FnZUNpcmNsZUhlYXJ0PURKdCx4Lk1lc3NhZ2VDaXJjbGVNb3JlPUFKdCx4Lk1lc3NhZ2VDaXJjbGVPZmY9RUp0LHguTWVzc2FnZUNpcmNsZVBsdXM9SUp0LHguTWVzc2FnZUNpcmNsZVF1ZXN0aW9uPWxQLHguTWVzc2FnZUNpcmNsZVF1ZXN0aW9uTWFyaz1sUCx4Lk1lc3NhZ2VDaXJjbGVSZXBseT1OSnQseC5NZXNzYWdlQ2lyY2xlV2FybmluZz1QSnQseC5NZXNzYWdlQ2lyY2xlWD1GSnQseC5NZXNzYWdlU3F1YXJlPWVLdCx4Lk1lc3NhZ2VTcXVhcmVDb2RlPVJKdCx4Lk1lc3NhZ2VTcXVhcmVEYXNoZWQ9Qkp0LHguTWVzc2FnZVNxdWFyZURpZmY9SEp0LHguTWVzc2FnZVNxdWFyZURvdD1xSnQseC5NZXNzYWdlU3F1YXJlSGVhcnQ9akp0LHguTWVzc2FnZVNxdWFyZUxvY2s9Vkp0LHguTWVzc2FnZVNxdWFyZU1vcmU9VUp0LHguTWVzc2FnZVNxdWFyZU9mZj1XSnQseC5NZXNzYWdlU3F1YXJlUGx1cz1HSnQseC5NZXNzYWdlU3F1YXJlUXVvdGU9WUp0LHguTWVzc2FnZVNxdWFyZVJlcGx5PVpKdCx4Lk1lc3NhZ2VTcXVhcmVTaGFyZT1YSnQseC5NZXNzYWdlU3F1YXJlVGV4dD1RSnQseC5NZXNzYWdlU3F1YXJlV2FybmluZz1KSnQseC5NZXNzYWdlU3F1YXJlWD1LSnQseC5NZXNzYWdlc1NxdWFyZT10S3QseC5NaWM9YUt0LHguTWljMj1jUCx4Lk1pY09mZj1yS3QseC5NaWNWb2NhbD1jUCx4Lk1pY3JvY2hpcD1pS3QseC5NaWNyb3Njb3BlPW5LdCx4Lk1pY3Jvd2F2ZT1zS3QseC5NaWxlc3RvbmU9b0t0LHguTWlsaz1kS3QseC5NaWxrT2ZmPWxLdCx4Lk1pbmltaXplPXVLdCx4Lk1pbmltaXplMj1jS3QseC5NaW51cz1wS3QseC5NaW51c0NpcmNsZT1WRSx4Lk1pbnVzU3F1YXJlPW1OLHguTW9uaXRvcj1DS3QseC5Nb25pdG9yQ2hlY2s9Zkt0LHguTW9uaXRvckNsb3VkPWhLdCx4Lk1vbml0b3JDb2c9bUt0LHguTW9uaXRvckRvdD1nS3QseC5Nb25pdG9yRG93bj1iS3QseC5Nb25pdG9yT2ZmPXZLdCx4Lk1vbml0b3JQYXVzZT14S3QseC5Nb25pdG9yUGxheT15S3QseC5Nb25pdG9yU21hcnRwaG9uZT13S3QseC5Nb25pdG9yU3BlYWtlcj1NS3QseC5Nb25pdG9yU3RvcD1rS3QseC5Nb25pdG9yVXA9U0t0LHguTW9uaXRvclg9ekt0LHguTW9vbj1fS3QseC5Nb29uU3Rhcj1US3QseC5Nb3JlSG9yaXpvbnRhbD1oSSx4Lk1vcmVWZXJ0aWNhbD1mSSx4Lk1vdG9yYmlrZT1MS3QseC5Nb3VudGFpbj1ES3QseC5Nb3VudGFpblNub3c9JEt0LHguTW91c2U9T0t0LHguTW91c2VPZmY9QUt0LHguTW91c2VQb2ludGVyPUZLdCx4Lk1vdXNlUG9pbnRlcjI9SUt0LHguTW91c2VQb2ludGVyMk9mZj1FS3QseC5Nb3VzZVBvaW50ZXJCYW49UEt0LHguTW91c2VQb2ludGVyQ2xpY2s9Tkt0LHguTW91c2VQb2ludGVyU3F1YXJlRGFzaGVkPW5OLHguTW92ZT1RS3QseC5Nb3ZlM0Q9ZFAseC5Nb3ZlM2Q9ZFAseC5Nb3ZlRGlhZ29uYWw9Qkt0LHguTW92ZURpYWdvbmFsMj1SS3QseC5Nb3ZlRG93bj1qS3QseC5Nb3ZlRG93bkxlZnQ9SEt0LHguTW92ZURvd25SaWdodD1xS3QseC5Nb3ZlSG9yaXpvbnRhbD1WS3QseC5Nb3ZlTGVmdD1VS3QseC5Nb3ZlUmlnaHQ9V0t0LHguTW92ZVVwPVpLdCx4Lk1vdmVVcExlZnQ9R0t0LHguTW92ZVVwUmlnaHQ9WUt0LHguTW92ZVZlcnRpY2FsPVhLdCx4Lk11c2ljPXRlcix4Lk11c2ljMj1KS3QseC5NdXNpYzM9S0t0LHguTXVzaWM0PWVlcix4Lk5hdmlnYXRpb249aWVyLHguTmF2aWdhdGlvbjI9YWVyLHguTmF2aWdhdGlvbjJPZmY9cmVyLHguTmF2aWdhdGlvbk9mZj1uZXIseC5OZXR3b3JrPXNlcix4Lk5ld3NwYXBlcj1vZXIseC5OZmM9bGVyLHguTm9uQmluYXJ5PWNlcix4Lk5vdGVib29rPWZlcix4Lk5vdGVib29rUGVuPWRlcix4Lk5vdGVib29rVGFicz11ZXIseC5Ob3RlYm9va1RleHQ9cGVyLHguTm90ZXBhZFRleHQ9bWVyLHguTm90ZXBhZFRleHREYXNoZWQ9aGVyLHguTnV0PWdlcix4Lk51dE9mZj1iZXIseC5PY3RhZ29uPXhlcix4Lk9jdGFnb25BbGVydD11UCx4Lk9jdGFnb25NaW51cz12ZXIseC5PY3RhZ29uUGF1c2U9cFAseC5PY3RhZ29uWD1mUCx4Lk9tZWdhPXllcix4Lk9wdGlvbj1NZXIseC5PcmJpdD13ZXIseC5PcmlnYW1pPWtlcix4Lk91dGRlbnQ9ZmYseC5QYWNrYWdlPURlcix4LlBhY2thZ2UyPVNlcix4LlBhY2thZ2VDaGVjaz16ZXIseC5QYWNrYWdlTWludXM9Q2VyLHguUGFja2FnZU9wZW49VGVyLHguUGFja2FnZVBsdXM9X2VyLHguUGFja2FnZVNlYXJjaD1MZXIseC5QYWNrYWdlWD0kZXIseC5QYWludEJ1Y2tldD1FZXIseC5QYWludFJvbGxlcj1BZXIseC5QYWludGJydXNoPUllcix4LlBhaW50YnJ1c2gyPWhQLHguUGFpbnRicnVzaFZlcnRpY2FsPWhQLHguUGFsZXR0ZT1QZXIseC5QYWxtdHJlZT1xTix4LlBhbmRhPU5lcix4LlBhbmVsQm90dG9tPVJlcix4LlBhbmVsQm90dG9tQ2xvc2U9RmVyLHguUGFuZWxCb3R0b21EYXNoZWQ9bVAseC5QYW5lbEJvdHRvbUluYWN0aXZlPW1QLHguUGFuZWxCb3R0b21PcGVuPU9lcix4LlBhbmVsTGVmdD14UCx4LlBhbmVsTGVmdENsb3NlPWdQLHguUGFuZWxMZWZ0RGFzaGVkPWJQLHguUGFuZWxMZWZ0SW5hY3RpdmU9YlAseC5QYW5lbExlZnRPcGVuPXZQLHguUGFuZWxMZWZ0UmlnaHREYXNoZWQ9QmVyLHguUGFuZWxSaWdodD1qZXIseC5QYW5lbFJpZ2h0Q2xvc2U9SGVyLHguUGFuZWxSaWdodERhc2hlZD15UCx4LlBhbmVsUmlnaHRJbmFjdGl2ZT15UCx4LlBhbmVsUmlnaHRPcGVuPXFlcix4LlBhbmVsVG9wPUdlcix4LlBhbmVsVG9wQm90dG9tRGFzaGVkPVZlcix4LlBhbmVsVG9wQ2xvc2U9VWVyLHguUGFuZWxUb3BEYXNoZWQ9d1AseC5QYW5lbFRvcEluYWN0aXZlPXdQLHguUGFuZWxUb3BPcGVuPVdlcix4LlBhbmVsc0xlZnRCb3R0b209WWVyLHguUGFuZWxzTGVmdFJpZ2h0PWNJLHguUGFuZWxzUmlnaHRCb3R0b209WmVyLHguUGFuZWxzVG9wQm90dG9tPUxQLHguUGFuZWxzVG9wTGVmdD1NUCx4LlBhcGVyY2xpcD1YZXIseC5QYXJlbnRoZXNlcz1RZXIseC5QYXJraW5nQ2lyY2xlPVdFLHguUGFya2luZ0NpcmNsZU9mZj1VRSx4LlBhcmtpbmdNZXRlcj1KZXIseC5QYXJraW5nU3F1YXJlPXZOLHguUGFya2luZ1NxdWFyZU9mZj1iTix4LlBhcnR5UG9wcGVyPUtlcix4LlBhdXNlPWV0cix4LlBhdXNlQ2lyY2xlPUdFLHguUGF1c2VPY3RhZ29uPXBQLHguUGF3UHJpbnQ9dHRyLHguUGNDYXNlPXJ0cix4LlBlbj1TUCx4LlBlbkJveD1HNCx4LlBlbkxpbmU9a1AseC5QZW5PZmY9YXRyLHguUGVuU3F1YXJlPUc0LHguUGVuVG9vbD1pdHIseC5QZW5jaWw9Y3RyLHguUGVuY2lsTGluZT1udHIseC5QZW5jaWxPZmY9c3RyLHguUGVuY2lsUnVsZXI9b3RyLHguUGVudGFnb249bHRyLHguUGVyY2VudD1kdHIseC5QZXJjZW50Q2lyY2xlPVlFLHguUGVyY2VudERpYW1vbmQ9dUkseC5QZXJjZW50U3F1YXJlPXlOLHguUGVyc29uU3RhbmRpbmc9dXRyLHguUGhpbGlwcGluZVBlc289cHRyLHguUGhvbmU9eHRyLHguUGhvbmVDYWxsPWZ0cix4LlBob25lRm9yd2FyZGVkPWh0cix4LlBob25lSW5jb21pbmc9bXRyLHguUGhvbmVNaXNzZWQ9Z3RyLHguUGhvbmVPZmY9YnRyLHguUGhvbmVPdXRnb2luZz12dHIseC5QaT15dHIseC5QaVNxdWFyZT14Tix4LlBpYW5vPXd0cix4LlBpY2theGU9TXRyLHguUGljdHVyZUluUGljdHVyZT16dHIseC5QaWN0dXJlSW5QaWN0dXJlMj1rdHIseC5QaWVDaGFydD1TRSx4LlBpZ2d5QmFuaz1TdHIseC5QaWxjcm93PV90cix4LlBpbGNyb3dMZWZ0PUN0cix4LlBpbGNyb3dSaWdodD1UdHIseC5QaWxjcm93U3F1YXJlPXdOLHguUGlsbD0kdHIseC5QaWxsQm90dGxlPUx0cix4LlBpbj1BdHIseC5QaW5PZmY9RHRyLHguUGlwZXR0ZT1FdHIseC5QaXp6YT1JdHIseC5QbGFuZT1GdHIseC5QbGFuZUxhbmRpbmc9UHRyLHguUGxhbmVUYWtlb2ZmPU50cix4LlBsYXk9T3RyLHguUGxheUNpcmNsZT1aRSx4LlBsYXlTcXVhcmU9TU4seC5QbHVnPUJ0cix4LlBsdWcyPVJ0cix4LlBsdWdaYXA9elAseC5QbHVnWmFwMj16UCx4LlBsdXM9SHRyLHguUGx1c0NpcmNsZT1YRSx4LlBsdXNTcXVhcmU9a04seC5Qb2NrZXQ9VnRyLHguUG9ja2V0S25pZmU9cXRyLHguUG9kY2FzdD1qdHIseC5Qb2ludGVyPVd0cix4LlBvaW50ZXJPZmY9VXRyLHguUG9wY29ybj1HdHIseC5Qb3BzaWNsZT1ZdHIseC5Qb3VuZFN0ZXJsaW5nPVp0cix4LlBvd2VyPVF0cix4LlBvd2VyQ2lyY2xlPVFFLHguUG93ZXJPZmY9WHRyLHguUG93ZXJTcXVhcmU9U04seC5QcmVzZW50YXRpb249S3RyLHguUHJpbnRlcj10cnIseC5QcmludGVyQ2hlY2s9SnRyLHguUHJpbnRlclg9ZXJyLHguUHJvamVjdG9yPXJycix4LlByb3BvcnRpb25zPWFycix4LlB1enpsZT1pcnIseC5QeXJhbWlkPW5ycix4LlFyQ29kZT1zcnIseC5RdW90ZT1vcnIseC5SYWJiaXQ9bHJyLHguUmFkYXI9Y3JyLHguUmFkaWF0aW9uPWRycix4LlJhZGljYWw9dXJyLHguUmFkaW89aHJyLHguUmFkaW9SZWNlaXZlcj1wcnIseC5SYWRpb1Rvd2VyPWZycix4LlJhZGl1cz1tcnIseC5SYWlsU3ltYm9sPWdycix4LlJhaW5ib3c9YnJyLHguUmF0PXZycix4LlJhdGlvPXhycix4LlJlY2VpcHQ9THJyLHguUmVjZWlwdENlbnQ9eXJyLHguUmVjZWlwdEV1cm89d3JyLHguUmVjZWlwdEluZGlhblJ1cGVlPU1ycix4LlJlY2VpcHRKYXBhbmVzZVllbj1rcnIseC5SZWNlaXB0UG91bmRTdGVybGluZz1TcnIseC5SZWNlaXB0UnVzc2lhblJ1YmxlPXpycix4LlJlY2VpcHRTd2lzc0ZyYW5jPUNycix4LlJlY2VpcHRUZXh0PVRycix4LlJlY2VpcHRUdXJraXNoTGlyYT1fcnIseC5SZWN0YW5nbGVDaXJjbGU9JHJyLHguUmVjdGFuZ2xlRWxsaXBzaXM9Q1AseC5SZWN0YW5nbGVHb2dnbGVzPUFycix4LlJlY3RhbmdsZUhvcml6b250YWw9RHJyLHguUmVjdGFuZ2xlVmVydGljYWw9RXJyLHguUmVjeWNsZT1JcnIseC5SZWRvPUZycix4LlJlZG8yPU5ycix4LlJlZG9Eb3Q9UHJyLHguUmVmcmVzaENjdz1ScnIseC5SZWZyZXNoQ2N3RG90PU9ycix4LlJlZnJlc2hDdz1IcnIseC5SZWZyZXNoQ3dPZmY9QnJyLHguUmVmcmlnZXJhdG9yPXFycix4LlJlZ2V4PWpycix4LlJlbW92ZUZvcm1hdHRpbmc9VnJyLHguUmVwZWF0PUdycix4LlJlcGVhdDE9V3JyLHguUmVwZWF0Mj1VcnIseC5SZXBsYWNlPVpycix4LlJlcGxhY2VBbGw9WXJyLHguUmVwbHk9UXJyLHguUmVwbHlBbGw9WHJyLHguUmV3aW5kPUpycix4LlJpYmJvbj1LcnIseC5Sb2NrZXQ9ZWFyLHguUm9ja2luZ0NoYWlyPXRhcix4LlJvbGxlckNvYXN0ZXI9cmFyLHguUm9zZT1hYXIseC5Sb3RhdGUzRD1UUCx4LlJvdGF0ZTNkPVRQLHguUm90YXRlQ2N3PXNhcix4LlJvdGF0ZUNjd0tleT1pYXIseC5Sb3RhdGVDY3dTcXVhcmU9bmFyLHguUm90YXRlQ3c9bGFyLHguUm90YXRlQ3dTcXVhcmU9b2FyLHguUm91dGU9ZGFyLHguUm91dGVPZmY9Y2FyLHguUm91dGVyPXVhcix4LlJvd3M9X1AseC5Sb3dzMj1fUCx4LlJvd3MzPUxQLHguUm93czQ9cGFyLHguUnNzPWZhcix4LlJ1bGVyPWdhcix4LlJ1bGVyRGltZW5zaW9uTGluZT1oYXIseC5SdXNzaWFuUnVibGU9bWFyLHguU2FpbGJvYXQ9eGFyLHguU2FsYWQ9YmFyLHguU2FuZHdpY2g9eWFyLHguU2F0ZWxsaXRlPU1hcix4LlNhdGVsbGl0ZURpc2g9d2FyLHguU2F1ZGlSaXlhbD1rYXIseC5TYXZlPUNhcix4LlNhdmVBbGw9U2FyLHguU2F2ZU9mZj16YXIseC5TY2FsZT1UYXIseC5TY2FsZTNEPSRQLHguU2NhbGUzZD0kUCx4LlNjYWxpbmc9X2FyLHguU2Nhbj1GYXIseC5TY2FuQmFyY29kZT0kYXIseC5TY2FuRXllPUxhcix4LlNjYW5GYWNlPURhcix4LlNjYW5IZWFydD1BYXIseC5TY2FuTGluZT1FYXIseC5TY2FuUXJDb2RlPUlhcix4LlNjYW5TZWFyY2g9UGFyLHguU2NhblRleHQ9TmFyLHguU2NhdHRlckNoYXJ0PXpFLHguU2Nob29sPU9hcix4LlNjaG9vbDI9VU4seC5TY2lzc29ycz1CYXIseC5TY2lzc29yc0xpbmVEYXNoZWQ9UmFyLHguU2Npc3NvcnNTcXVhcmU9ek4seC5TY2lzc29yc1NxdWFyZURhc2hlZEJvdHRvbT1YUCx4LlNjb290ZXI9SGFyLHguU2NyZWVuU2hhcmU9amFyLHguU2NyZWVuU2hhcmVPZmY9cWFyLHguU2Nyb2xsPVZhcix4LlNjcm9sbFRleHQ9VWFyLHguU2VhcmNoPVFhcix4LlNlYXJjaEFsZXJ0PVdhcix4LlNlYXJjaENoZWNrPUdhcix4LlNlYXJjaENvZGU9WWFyLHguU2VhcmNoU2xhc2g9WmFyLHguU2VhcmNoWD1YYXIseC5TZWN0aW9uPUphcix4LlNlbmQ9ZWlyLHguU2VuZEhvcml6b25hbD1EUCx4LlNlbmRIb3Jpem9udGFsPURQLHguU2VuZFRvQmFjaz1LYXIseC5TZXBhcmF0b3JIb3Jpem9udGFsPXJpcix4LlNlcGFyYXRvclZlcnRpY2FsPXRpcix4LlNlcnZlcj1zaXIseC5TZXJ2ZXJDb2c9YWlyLHguU2VydmVyQ3Jhc2g9aWlyLHguU2VydmVyT2ZmPW5pcix4LlNldHRpbmdzPWxpcix4LlNldHRpbmdzMj1vaXIseC5TaGFwZXM9Y2lyLHguU2hhcmU9dWlyLHguU2hhcmUyPWRpcix4LlNoZWV0PXBpcix4LlNoZWxsPWZpcix4LlNoaWVsZD1raXIseC5TaGllbGRBbGVydD1oaXIseC5TaGllbGRCYW49bWlyLHguU2hpZWxkQ2hlY2s9Z2lyLHguU2hpZWxkQ2xvc2U9RVAseC5TaGllbGRFbGxpcHNpcz1iaXIseC5TaGllbGRIYWxmPXZpcix4LlNoaWVsZE1pbnVzPXhpcix4LlNoaWVsZE9mZj15aXIseC5TaGllbGRQbHVzPXdpcix4LlNoaWVsZFF1ZXN0aW9uPUFQLHguU2hpZWxkUXVlc3Rpb25NYXJrPUFQLHguU2hpZWxkVXNlcj1NaXIseC5TaGllbGRYPUVQLHguU2hpcD16aXIseC5TaGlwV2hlZWw9U2lyLHguU2hpcnQ9Q2lyLHguU2hvcHBpbmdCYWc9VGlyLHguU2hvcHBpbmdCYXNrZXQ9X2lyLHguU2hvcHBpbmdDYXJ0PUxpcix4LlNob3ZlbD0kaXIseC5TaG93ZXJIZWFkPURpcix4LlNocmVkZGVyPUFpcix4LlNocmltcD1FaXIseC5TaHJpbms9SWlyLHguU2hydWI9TmlyLHguU2h1ZmZsZT1QaXIseC5TaWRlYmFyPXhQLHguU2lkZWJhckNsb3NlPWdQLHguU2lkZWJhck9wZW49dlAseC5TaWdtYT1GaXIseC5TaWdtYVNxdWFyZT1DTix4LlNpZ25hbD1xaXIseC5TaWduYWxIaWdoPU9pcix4LlNpZ25hbExvdz1SaXIseC5TaWduYWxNZWRpdW09QmlyLHguU2lnbmFsWmVybz1IaXIseC5TaWduYXR1cmU9amlyLHguU2lnbnBvc3Q9VWlyLHguU2lnbnBvc3RCaWc9VmlyLHguU2lyZW49V2lyLHguU2tpcEJhY2s9R2lyLHguU2tpcEZvcndhcmQ9WWlyLHguU2t1bGw9WmlyLHguU2xhY2s9WGlyLHguU2xhc2g9UWlyLHguU2xhc2hTcXVhcmU9VE4seC5TbGljZT1KaXIseC5TbGlkZXJzPUlQLHguU2xpZGVyc0hvcml6b250YWw9S2lyLHguU2xpZGVyc1ZlcnRpY2FsPUlQLHguU21hcnRwaG9uZT1ybnIseC5TbWFydHBob25lQ2hhcmdpbmc9ZW5yLHguU21hcnRwaG9uZU5mYz10bnIseC5TbWlsZT1pbnIseC5TbWlsZVBsdXM9YW5yLHguU25haWw9bm5yLHguU25vd2ZsYWtlPW9ucix4LlNvYXBEaXNwZW5zZXJEcm9wbGV0PXNucix4LlNvZmE9bG5yLHguU29sYXJQYW5lbD1jbnIseC5Tb3J0QXNjPWFFLHguU29ydERlc2M9ZUUseC5Tb3VwPWRucix4LlNwYWNlPXVucix4LlNwYWRlPXBucix4LlNwYXJrbGU9Zm5yLHguU3BhcmtsZXM9UFAseC5TcGVha2VyPWhucix4LlNwZWVjaD1tbnIseC5TcGVsbENoZWNrPWJucix4LlNwZWxsQ2hlY2syPWducix4LlNwbGluZT14bnIseC5TcGxpbmVQb2ludGVyPXZucix4LlNwbGl0PXlucix4LlNwbGl0U3F1YXJlSG9yaXpvbnRhbD1fTix4LlNwbGl0U3F1YXJlVmVydGljYWw9TE4seC5TcG9vbD13bnIseC5TcG90bGlnaHQ9TW5yLHguU3ByYXlDYW49a25yLHguU3Byb3V0PVNucix4LlNxdWFyZT1QbnIseC5TcXVhcmVBY3Rpdml0eT1GUCx4LlNxdWFyZUFycm93RG93bj1SUCx4LlNxdWFyZUFycm93RG93bkxlZnQ9TlAseC5TcXVhcmVBcnJvd0Rvd25SaWdodD1PUCx4LlNxdWFyZUFycm93TGVmdD1CUCx4LlNxdWFyZUFycm93T3V0RG93bkxlZnQ9SFAseC5TcXVhcmVBcnJvd091dERvd25SaWdodD1qUCx4LlNxdWFyZUFycm93T3V0VXBMZWZ0PXFQLHguU3F1YXJlQXJyb3dPdXRVcFJpZ2h0PVZQLHguU3F1YXJlQXJyb3dSaWdodD1VUCx4LlNxdWFyZUFycm93VXA9WVAseC5TcXVhcmVBcnJvd1VwTGVmdD1XUCx4LlNxdWFyZUFycm93VXBSaWdodD1HUCx4LlNxdWFyZUFzdGVyaXNrPVpQLHguU3F1YXJlQm90dG9tRGFzaGVkU2Npc3NvcnM9WFAseC5TcXVhcmVDaGFydEdhbnR0PW1mLHguU3F1YXJlQ2hlY2s9SlAseC5TcXVhcmVDaGVja0JpZz1RUCx4LlNxdWFyZUNoZXZyb25Eb3duPUtQLHguU3F1YXJlQ2hldnJvbkxlZnQ9ZU4seC5TcXVhcmVDaGV2cm9uUmlnaHQ9dE4seC5TcXVhcmVDaGV2cm9uVXA9ck4seC5TcXVhcmVDb2RlPWFOLHguU3F1YXJlRGFzaGVkPXNOLHguU3F1YXJlRGFzaGVkQm90dG9tPUNucix4LlNxdWFyZURhc2hlZEJvdHRvbUNvZGU9em5yLHguU3F1YXJlRGFzaGVkS2FuYmFuPWlOLHguU3F1YXJlRGFzaGVkTW91c2VQb2ludGVyPW5OLHguU3F1YXJlRGFzaGVkVG9wU29saWQ9VG5yLHguU3F1YXJlRGl2aWRlPW9OLHguU3F1YXJlRG90PWxOLHguU3F1YXJlRXF1YWw9Y04seC5TcXVhcmVGdW5jdGlvbj1kTix4LlNxdWFyZUdhbnR0Q2hhcnQ9bWYseC5TcXVhcmVLYW5iYW49dU4seC5TcXVhcmVMaWJyYXJ5PXBOLHguU3F1YXJlTT1mTix4LlNxdWFyZU1lbnU9aE4seC5TcXVhcmVNaW51cz1tTix4LlNxdWFyZU1vdXNlUG9pbnRlcj1nTix4LlNxdWFyZVBhcmtpbmc9dk4seC5TcXVhcmVQYXJraW5nT2ZmPWJOLHguU3F1YXJlUGF1c2U9X25yLHguU3F1YXJlUGVuPUc0LHguU3F1YXJlUGVyY2VudD15Tix4LlNxdWFyZVBpPXhOLHguU3F1YXJlUGlsY3Jvdz13Tix4LlNxdWFyZVBsYXk9TU4seC5TcXVhcmVQbHVzPWtOLHguU3F1YXJlUG93ZXI9U04seC5TcXVhcmVSYWRpY2FsPSRucix4LlNxdWFyZVJvdW5kQ29ybmVyPUxucix4LlNxdWFyZVNjaXNzb3JzPXpOLHguU3F1YXJlU2lnbWE9Q04seC5TcXVhcmVTbGFzaD1UTix4LlNxdWFyZVNwbGl0SG9yaXpvbnRhbD1fTix4LlNxdWFyZVNwbGl0VmVydGljYWw9TE4seC5TcXVhcmVTcXVhcmU9QW5yLHguU3F1YXJlU3RhY2s9RG5yLHguU3F1YXJlU3Rhcj1FbnIseC5TcXVhcmVTdG9wPUlucix4LlNxdWFyZVRlcm1pbmFsPSROLHguU3F1YXJlVXNlcj1BTix4LlNxdWFyZVVzZXJSb3VuZD1ETix4LlNxdWFyZVg9RU4seC5TcXVhcmVzRXhjbHVkZT1ObnIseC5TcXVhcmVzSW50ZXJzZWN0PUZucix4LlNxdWFyZXNTdWJ0cmFjdD1PbnIseC5TcXVhcmVzVW5pdGU9Um5yLHguU3F1aXJjbGU9SG5yLHguU3F1aXJjbGVEYXNoZWQ9Qm5yLHguU3F1aXJyZWw9cW5yLHguU3RhbXA9am5yLHguU3Rhcj1XbnIseC5TdGFySGFsZj1WbnIseC5TdGFyT2ZmPVVucix4LlN0YXJzPVBQLHguU3RlcEJhY2s9R25yLHguU3RlcEZvcndhcmQ9WW5yLHguU3RldGhvc2NvcGU9Wm5yLHguU3RpY2tlcj1YbnIseC5TdGlja3lOb3RlPVFucix4LlN0b25lPUpucix4LlN0b3BDaXJjbGU9S0UseC5TdG9yZT1LbnIseC5TdHJldGNoSG9yaXpvbnRhbD1lMXIseC5TdHJldGNoVmVydGljYWw9dDFyLHguU3RyaWtldGhyb3VnaD1yMXIseC5TdWJzY3JpcHQ9YTFyLHguU3VidGl0bGVzPXBFLHguU3VuPWwxcix4LlN1bkRpbT1pMXIseC5TdW5NZWRpdW09bjFyLHguU3VuTW9vbj1zMXIseC5TdW5Tbm93PW8xcix4LlN1bnJpc2U9YzFyLHguU3Vuc2V0PWQxcix4LlN1cGVyc2NyaXB0PXUxcix4LlN3YXRjaEJvb2s9cDFyLHguU3dpc3NGcmFuYz1mMXIseC5Td2l0Y2hDYW1lcmE9aDFyLHguU3dvcmQ9bTFyLHguU3dvcmRzPWcxcix4LlN5cmluZ2U9YjFyLHguVGFibGU9ejFyLHguVGFibGUyPXYxcix4LlRhYmxlQ2VsbHNNZXJnZT14MXIseC5UYWJsZUNlbGxzU3BsaXQ9eTFyLHguVGFibGVDb2x1bW5zU3BsaXQ9dzFyLHguVGFibGVDb25maWc9ZGYseC5UYWJsZU9mQ29udGVudHM9TTFyLHguVGFibGVQcm9wZXJ0aWVzPWsxcix4LlRhYmxlUm93c1NwbGl0PVMxcix4LlRhYmxldD1DMXIseC5UYWJsZXRTbWFydHBob25lPVQxcix4LlRhYmxldHM9XzFyLHguVGFnPUwxcix4LlRhZ3M9JDFyLHguVGFsbHkxPUQxcix4LlRhbGx5Mj1BMXIseC5UYWxseTM9RTFyLHguVGFsbHk0PUkxcix4LlRhbGx5NT1QMXIseC5UYW5nZW50PU4xcix4LlRhcmdldD1GMXIseC5UZWxlc2NvcGU9TzFyLHguVGVudD1CMXIseC5UZW50VHJlZT1SMXIseC5UZXJtaW5hbD1IMXIseC5UZXJtaW5hbFNxdWFyZT0kTix4LlRlc3RUdWJlPXExcix4LlRlc3RUdWJlMj1JTix4LlRlc3RUdWJlRGlhZ29uYWw9SU4seC5UZXN0VHViZXM9ajFyLHguVGV4dD1nZix4LlRleHRBbGlnbkNlbnRlcj1QTix4LlRleHRBbGlnbkVuZD1OTix4LlRleHRBbGlnbkp1c3RpZnk9Rk4seC5UZXh0QWxpZ25TdGFydD1nZix4LlRleHRDdXJzb3I9VTFyLHguVGV4dEN1cnNvcklucHV0PVYxcix4LlRleHRJbml0aWFsPU9OLHguVGV4dFF1b3RlPVcxcix4LlRleHRTZWFyY2g9RzFyLHguVGV4dFNlbGVjdD1STix4LlRleHRTZWxlY3Rpb249Uk4seC5UZXh0V3JhcD1CTix4LlRoZWF0ZXI9WTFyLHguVGhlcm1vbWV0ZXI9UTFyLHguVGhlcm1vbWV0ZXJTbm93Zmxha2U9WjFyLHguVGhlcm1vbWV0ZXJTdW49WDFyLHguVGh1bWJzRG93bj1KMXIseC5UaHVtYnNVcD1LMXIseC5UaWNrZXQ9c3NyLHguVGlja2V0Q2hlY2s9ZXNyLHguVGlja2V0TWludXM9dHNyLHguVGlja2V0UGVyY2VudD1yc3IseC5UaWNrZXRQbHVzPWFzcix4LlRpY2tldFNsYXNoPWlzcix4LlRpY2tldFg9bnNyLHguVGlja2V0cz1jc3IseC5UaWNrZXRzUGxhbmU9b3NyLHguVGltZXI9dXNyLHguVGltZXJPZmY9bHNyLHguVGltZXJSZXNldD1kc3IseC5Ub2dnbGVMZWZ0PXBzcix4LlRvZ2dsZVJpZ2h0PWZzcix4LlRvaWxldD1oc3IseC5Ub29sQ2FzZT1tc3IseC5Ub29sYm94PWdzcix4LlRvcm5hZG89YnNyLHguVG9ydXM9dnNyLHguVG91Y2hwYWQ9eXNyLHguVG91Y2hwYWRPZmY9eHNyLHguVG93ZXJDb250cm9sPXdzcix4LlRveUJyaWNrPU1zcix4LlRyYWN0b3I9a3NyLHguVHJhZmZpY0NvbmU9U3NyLHguVHJhaW49SE4seC5UcmFpbkZyb250PUNzcix4LlRyYWluRnJvbnRUdW5uZWw9enNyLHguVHJhaW5UcmFjaz1Uc3IseC5UcmFtRnJvbnQ9SE4seC5UcmFuc2dlbmRlcj1fc3IseC5UcmFzaD0kc3IseC5UcmFzaDI9THNyLHguVHJlZURlY2lkdW91cz1Ec3IseC5UcmVlUGFsbT1xTix4LlRyZWVQaW5lPUFzcix4LlRyZWVzPUVzcix4LlRyZWxsbz1Jc3IseC5UcmVuZGluZ0Rvd249UHNyLHguVHJlbmRpbmdVcD1Gc3IseC5UcmVuZGluZ1VwRG93bj1Oc3IseC5UcmlhbmdsZT1Cc3IseC5UcmlhbmdsZUFsZXJ0PWpOLHguVHJpYW5nbGVEYXNoZWQ9T3NyLHguVHJpYW5nbGVSaWdodD1Sc3IseC5Ucm9waHk9cXNyLHguVHJ1Y2s9anNyLHguVHJ1Y2tFbGVjdHJpYz1Ic3IseC5UdXJraXNoTGlyYT1Wc3IseC5UdXJudGFibGU9VXNyLHguVHVydGxlPVdzcix4LlR2PVlzcix4LlR2Mj1WTix4LlR2TWluaW1hbD1WTix4LlR2TWluaW1hbFBsYXk9R3NyLHguVHdpdGNoPVpzcix4LlR3aXR0ZXI9WHNyLHguVHlwZT1Kc3IseC5UeXBlT3V0bGluZT1Rc3IseC5VbWJyZWxsYT1lb3IseC5VbWJyZWxsYU9mZj1Lc3IseC5VbmRlcmxpbmU9dG9yLHguVW5kbz1pb3IseC5VbmRvMj1yb3IseC5VbmRvRG90PWFvcix4LlVuZm9sZEhvcml6b250YWw9bm9yLHguVW5mb2xkVmVydGljYWw9c29yLHguVW5ncm91cD1vb3IseC5Vbml2ZXJzaXR5PVVOLHguVW5saW5rPWxvcix4LlVubGluazI9Y29yLHguVW5sb2NrPW5QLHguVW5sb2NrS2V5aG9sZT1pUCx4LlVucGx1Zz1kb3IseC5VcGxvYWQ9dW9yLHguVXBsb2FkQ2xvdWQ9c0kseC5Vc2I9cG9yLHguVXNlcj1Ub3IseC5Vc2VyMj1RTix4LlVzZXJDaGVjaz1ob3IseC5Vc2VyQ2hlY2syPVdOLHguVXNlckNpcmNsZT10SSx4LlVzZXJDaXJjbGUyPWVJLHguVXNlckNvZz1tb3IseC5Vc2VyQ29nMj1HTix4LlVzZXJLZXk9Z29yLHguVXNlckxvY2s9Ym9yLHguVXNlck1pbnVzPXZvcix4LlVzZXJNaW51czI9WU4seC5Vc2VyUGVuPXhvcix4LlVzZXJQbHVzPXlvcix4LlVzZXJQbHVzMj1aTix4LlVzZXJSb3VuZD1RTix4LlVzZXJSb3VuZENoZWNrPVdOLHguVXNlclJvdW5kQ29nPUdOLHguVXNlclJvdW5kS2V5PXdvcix4LlVzZXJSb3VuZE1pbnVzPVlOLHguVXNlclJvdW5kUGVuPU1vcix4LlVzZXJSb3VuZFBsdXM9Wk4seC5Vc2VyUm91bmRTZWFyY2g9a29yLHguVXNlclJvdW5kWD1YTix4LlVzZXJTZWFyY2g9U29yLHguVXNlclNxdWFyZT1BTix4LlVzZXJTcXVhcmUyPUROLHguVXNlclN0YXI9em9yLHguVXNlclg9Q29yLHguVXNlclgyPVhOLHguVXNlcnM9X29yLHguVXNlcnMyPUpOLHguVXNlcnNSb3VuZD1KTix4LlV0ZW5zaWxzPWVGLHguVXRlbnNpbHNDcm9zc2VkPUtOLHguVXRpbGl0eVBvbGU9TG9yLHguVmFuPSRvcix4LlZhcmlhYmxlPURvcix4LlZhdWx0PUFvcix4LlZlY3RvclNxdWFyZT1Fb3IseC5WZWdhbj1Jb3IseC5WZW5ldGlhbk1hc2s9UG9yLHguVmVudXM9Rm9yLHguVmVudXNBbmRNYXJzPU5vcix4LlZlcmlmaWVkPXNFLHguVmlicmF0ZT1Sb3IseC5WaWJyYXRlT2ZmPU9vcix4LlZpZGVvPUhvcix4LlZpZGVvT2ZmPUJvcix4LlZpZGVvdGFwZT1xb3IseC5WaWV3PWpvcix4LlZvaWNlbWFpbD1Wb3IseC5Wb2xsZXliYWxsPVVvcix4LlZvbHVtZT1Rb3IseC5Wb2x1bWUxPVdvcix4LlZvbHVtZTI9R29yLHguVm9sdW1lT2ZmPVlvcix4LlZvbHVtZVg9Wm9yLHguVm90ZT1Yb3IseC5XYWxsZXQ9S29yLHguV2FsbGV0Mj10Rix4LldhbGxldENhcmRzPUpvcix4LldhbGxldE1pbmltYWw9dEYseC5XYWxscGFwZXI9ZTJyLHguV2FuZD10MnIseC5XYW5kMj1yRix4LldhbmRTcGFya2xlcz1yRix4LldhcmVob3VzZT1yMnIseC5XYXNoaW5nTWFjaGluZT1hMnIseC5XYXRjaD1pMnIseC5XYXZlcz1sMnIseC5XYXZlc0Fycm93RG93bj1uMnIseC5XYXZlc0Fycm93VXA9czJyLHguV2F2ZXNMYWRkZXI9bzJyLHguV2F5cG9pbnRzPWMycix4LldlYmNhbT1kMnIseC5XZWJob29rPXAycix4LldlYmhvb2tPZmY9dTJyLHguV2VpZ2h0PW0ycix4LldlaWdodFRpbGRlPWYycix4LldoZWF0PWcycix4LldoZWF0T2ZmPWgycix4Lldob2xlV29yZD1iMnIseC5XaWZpPXoycix4LldpZmlDb2c9djJyLHguV2lmaUhpZ2g9eDJyLHguV2lmaUxvdz15MnIseC5XaWZpT2ZmPXcycix4LldpZmlQZW49TTJyLHguV2lmaVN5bmM9azJyLHguV2lmaVplcm89UzJyLHguV2luZD1UMnIseC5XaW5kQXJyb3dEb3duPUMycix4LldpbmU9XzJyLHguV2luZU9mZj0kMnIseC5Xb3JrZmxvdz1MMnIseC5Xb3JtPUQycix4LldyYXBUZXh0PUJOLHguV3JlbmNoPUkycix4Llg9QTJyLHguWENpcmNsZT1ySSx4LlhPY3RhZ29uPWZQLHguWFNxdWFyZT1FTix4LllvdXR1YmU9RTJyLHguWmFwPU4ycix4LlphcE9mZj1QMnIseC5ab29tSW49TzJyLHguWm9vbU91dD1GMnIseC5jcmVhdGVFbGVtZW50PUtOdCx4LmNyZWF0ZUljb25zPVIycix4Lmljb25zPUNRcn0pO3ZhciBiZixCMnIsSDJyPWYoKCk9Pnt1ZSgpO2lyKCk7YmY9c3IoYUYoKSwxKSxCMnI9KCk9PntsZXQgZT1PYmplY3Qua2V5cyhpRi5mYSk7Y29uc29sZS5sb2coIkZpcnN0IGZldyBMdWNpZGUga2V5czoiLE9iamVjdC5rZXlzKGJmKS5zbGljZSgwLDUpKTtsZXQgdD1PYmplY3Qua2V5cyhiZikuZmlsdGVyKG49PntsZXQgcz1uWzBdPT09blswXS50b1VwcGVyQ2FzZSgpJiZuWzBdIT09blswXS50b0xvd2VyQ2FzZSgpLG89dHlwZW9mIGJmW25dPT0iZnVuY3Rpb24iLGM9IVsiY3JlYXRlRWxlbWVudCIsImNyZWF0ZUljb25zIiwiZGVmYXVsdCJdLmluY2x1ZGVzKG4pO3JldHVybiBvJiZzJiZjfSkubWFwKG49Pm4uY2hhckF0KDApLnRvTG93ZXJDYXNlKCkrbi5zbGljZSgxKSk7aWYoY29uc29sZS5sb2coYEZvdW5kICR7dC5sZW5ndGh9IEx1Y2lkZSBpY29uc2ApLHQubGVuZ3RoPT09MCYmKGNvbnNvbGUubG9nKCJUcnlpbmcgYWx0ZXJuYXRpdmUgYXBwcm9hY2ggdG8gZmluZCBMdWNpZGUgaWNvbnMiKSxiZi5pY29ucykpe2xldCBuPWJmLmljb25zfHx7fTt0LnB1c2goLi4uT2JqZWN0LmtleXMobikpLGNvbnNvbGUubG9nKGBGb3VuZCAke3QubGVuZ3RofSBpY29ucyB2aWEgYWx0ZXJuYXRpdmUgbWV0aG9kYCl9bGV0IHI9KCk9PntsZXQgbj1lLm1hcChsPT5gZmE6JHtsfWApLHM9dC5tYXAobD0+YGx1Y2lkZToke2x9YCksbz1bLi4ubiwuLi5zXSxjPW8uam9pbihgCmApO25hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGMpLnRoZW4oKCk9PntsZXQgdT13aW5kb3cuZXZlbnQuY3VycmVudFRhcmdldCxkPXUudGV4dENvbnRlbnQ7dS50ZXh0Q29udGVudD1gXHUyNzEzIENvcGllZCAke28ubGVuZ3RofSBpY29uIG5hbWVzIWAsc2V0VGltZW91dCgoKT0+e3UudGV4dENvbnRlbnQ9ZH0sMmUzKX0pfSxhPW49PntsZXQgcz1uLnRhcmdldC52YWx1ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKSxvPW4udGFyZ2V0LmNsb3Nlc3QoIi5kZW1vQ29udGFpbmVyIik7by5xdWVyeVNlbGVjdG9yQWxsKCIuaWNvbkNvbnRhaW5lciIpLmZvckVhY2gobD0+e2xldCB1PWwuZ2V0QXR0cmlidXRlKCJkYXRhLW5hbWUiKTtzPT09IiJ8fHUmJnUuaW5jbHVkZXMocyk/bC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTpsLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfSksby5xdWVyeVNlbGVjdG9yQWxsKCIuc2VjdGlvbi1jb250YWluZXIiKS5mb3JFYWNoKGw9PntsZXQgdT1sLnF1ZXJ5U2VsZWN0b3JBbGwoIi5pY29uQ29udGFpbmVyOm5vdCguaGlkZGVuKSIpLmxlbmd0aCxkPWwucXVlcnlTZWxlY3RvcigiLmljb24tY291bnQiKTtpZihkKXtsZXQgaD1sLmNsYXNzTGlzdC5jb250YWlucygiZmEtc2VjdGlvbiIpP2UubGVuZ3RoOnQubGVuZ3RoO2QudGV4dENvbnRlbnQ9dT09PWg/YCR7aH0gaWNvbnNgOmAke3V9IG9mICR7aH0gaWNvbnNgfX0pfSxpPShuLHMpPT57bGV0IG89YCR7c306JHtufWA7bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQobykudGhlbigoKT0+e2xldCB1PXdpbmRvdy5ldmVudC5jdXJyZW50VGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LXRvb2x0aXAiKTt1JiYodS50ZXh0Q29udGVudD0iQ29waWVkISIsc2V0VGltZW91dCgoKT0+e3UudGV4dENvbnRlbnQ9IkNsaWNrIHRvIGNvcHkifSwyZTMpKX0pfTtyZXR1cm4gTWAKICA8c3R5bGU+CiAgICAuZGVtb0NvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGJhY2tncm91bmQ6ICMxMTExMTE7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMzBweDsKICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7CiAgICB9CiAgICAKICAgIC5zZWFyY2gtY29udGFpbmVyIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMTBweDsKICAgIH0KICAgIAogICAgI2ljb25TZWFyY2ggewogICAgICBmbGV4OiAxOwogICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6ICMyMjI7CiAgICAgIGNvbG9yOiAjZmZmOwogICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzOwogICAgfQogICAgCiAgICAjaWNvblNlYXJjaDpmb2N1cyB7CiAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIGJvcmRlci1jb2xvcjogI2U0MDAyYjsKICAgIH0KICAgIAogICAgLmNvcHktYWxsLWJ1dHRvbiB7CiAgICAgIHBhZGRpbmc6IDEycHggMjBweDsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYmFja2dyb3VuZDogI2U0MDAyYjsKICAgICAgY29sb3I6ICNmZmY7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICB9CiAgICAKICAgIC5jb3B5LWFsbC1idXR0b246aG92ZXIgewogICAgICBiYWNrZ3JvdW5kOiAjYzQwMDFiOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgICB9CiAgICAKICAgIC5jb3B5LWFsbC1idXR0b246YWN0aXZlIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgfQogICAgCiAgICBkZWVzLWljb24gewogICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICBjb2xvcjogI2ZmZmZmZjsKICAgIH0KCiAgICAuaWNvbkNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIHBhZGRpbmc6IDIwcHggMTZweCAwcHggMTZweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsKICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yczsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CiAgICAKICAgIC5pY29uQ29udGFpbmVyOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjsKICAgIH0KCiAgICAuaWNvbk5hbWUgewogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgY29sb3I6ICNjY2M7CiAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7CiAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICBtYXJnaW4tbGVmdDogLTE2cHg7CiAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7CiAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICBtYXgtd2lkdGg6IDEyMHB4OwogICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICBtYXJnaW46IDIwcHggMDsKICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7CiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzMzMzOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB9CiAgICAKICAgIC5hcGktbm90ZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICNlNDAwMmI7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNDAwMmI7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyMjgsIDAsIDQzLCAwLjEpOwogICAgfQogICAgCiAgICAuaWNvbi1jb3VudCB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICM4ODg7CiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIGJhY2tncm91bmQ6ICMyMjI7CiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgfQogICAgCiAgICAuaWNvbnMtZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQogICAgCiAgICAuY29weS10b29sdGlwIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBiYWNrZ3JvdW5kOiAjMzMzOwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgdG9wOiAtMzBweDsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIH0KICAgIAogICAgLmljb25Db250YWluZXI6aG92ZXIgLmNvcHktdG9vbHRpcCB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICB9CgogICAgLmljb25Db250YWluZXI6aG92ZXIgZGVlcy1pY29uIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgfQogICAgCiAgICAuaGlkZGVuIHsKICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtb0NvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtY29udGFpbmVyIj4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJpY29uU2VhcmNoIiBwbGFjZWhvbGRlcj0iU2VhcmNoIGljb25zLi4uIiBAaW5wdXQ9JHthfT4KICAgICAgPGJ1dHRvbiBjbGFzcz0iY29weS1hbGwtYnV0dG9uIiBAY2xpY2s9JHtyfT7wn5OLIENvcHkgQWxsIEljb24gTmFtZXM8L2J1dHRvbj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJhcGktbm90ZSI+CiAgICAgIE5ldyBBUEk6IFVzZSA8Y29kZT5pY29uPSJmYTppY29uTmFtZSI8L2NvZGU+IG9yIDxjb2RlPmljb249Imx1Y2lkZTppY29uTmFtZSI8L2NvZGU+IGluc3RlYWQgb2YgPGNvZGU+aWNvbkZBPC9jb2RlPi4gCiAgICAgIENsaWNrIGFueSBpY29uIHRvIGNvcHkgaXRzIG5ldyBmb3JtYXQgdG8gY2xpcGJvYXJkLgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGFpbmVyIGZhLXNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICBGb250QXdlc29tZSBJY29ucwogICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWNvdW50Ij4ke2UubGVuZ3RofSBpY29uczwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imljb25zLWdyaWQiPgogICAgICAgICR7ZS5tYXAobj0+e2xldCBzPWBmYToke259YDtyZXR1cm4gTWAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uQ29udGFpbmVyIGZhLWljb24iIGRhdGEtbmFtZT0ke24udG9Mb3dlckNhc2UoKX0gQGNsaWNrPSR7KCk9PmkobiwiZmEiKX0+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7c30gaWNvblNpemU9IjI0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25OYW1lIj5mYToke259PC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29weS10b29sdGlwIj5DbGljayB0byBjb3B5PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250YWluZXIgbHVjaWRlLXNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICBMdWNpZGUgSWNvbnMKICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1jb3VudCI+JHt0Lmxlbmd0aH0gaWNvbnM8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpY29ucy1ncmlkIj4KICAgICAgICAke3QubWFwKG49PntsZXQgcz1gbHVjaWRlOiR7bn1gO3JldHVybiBNYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25Db250YWluZXIgbHVjaWRlLWljb24iIGRhdGEtbmFtZT0ke24udG9Mb3dlckNhc2UoKX0gQGNsaWNrPSR7KCk9PmkobiwibHVjaWRlIil9PgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke3N9IGljb25TaXplPSIyNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uTmFtZSI+bHVjaWRlOiR7bn08L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb3B5LXRvb2x0aXAiPkNsaWNrIHRvIGNvcHk8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9KX0KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICBgfX0pO2Z1bmN0aW9uIF9Rcigpe3hmLnNpemU+cTJyJiZBcnJheS5mcm9tKHhmLmtleXMoKSkuc2xpY2UoMCxxMnIvNSkuZm9yRWFjaCh0PT54Zi5kZWxldGUodCkpfXZhciBuRixBZGUsdmYsQW8sVFFyLGlGLHhmLHEycixqMnIsaXI9ZigoKT0+e3VlKCk7SnQoKTtRZSgpO05udCgpO0hkdCgpO3NwdCgpO1hOdCgpO0gycigpO25GPXNyKGFGKCksMSksQWRlPXNyKGFGKCksMSksdmY9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxBbz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sVFFyPXthcnJvd1JpZ2h0OmpBLGFycm93VXBSaWdodEZyb21TcXVhcmU6Q2IsYmVsbDpEQSxidWc6V0EsYnVpbGRpbmc6QkEsY2FyZXRMZWZ0OklBLGNhcmV0UmlnaHQ6JEEsY2hlY2s6cUEsY2lyY2xlSW5mbzpfYixjaXJjbGVDaGVjazpYZyxjaXJjbGVDaGVja1NvbGlkOk1iLGNpcmNsZVhtYXJrOnRmLGNpcmNsZVhtYXJrU29saWQ6b2YsY2xvY2tSb3RhdGVMZWZ0OmtiLGNvcHk6QUQsY29weVNvbGlkOkdBLGRlc2t0b3A6VGIsZXllOkVBLGV5ZVNsYXNoOllBLGZpbGVJbnZvaWNlOlZBLGZpbGVJbnZvaWNlRG9sbGVyOlVBLGdlYXI6eWIsZ3JpcDpsZixtYWduaWZ5aW5nR2xhc3M6YmIsbWVzc2FnZTpZZyxtZXNzYWdlU29saWQ6bWIsbW9uZXlDaGVja0RvbGxhcjp6YixtdWdIb3Q6WkEsbWludXM6aGIsbmV0d29ya1dpcmVkOk9BLHBhcGVyY2xpcDpIQSxwYXN0ZTpHZyxwYXN0ZVNvbGlkOmZiLHBlblRvU3F1YXJlOnZiLHBsdXM6U2IscmVjZWlwdDpQQSxyc3M6Z2Isc2hhcmU6eGIsc3VuOkRELHN1blNvbGlkOkZBLHRlcm1pbmFsOlJBLHRyYXNoOkxiLHRyYXNoU29saWQ6TGIsdHJhc2hDYW46WmcsdHJhc2hDYW5Tb2xpZDp3Yix1c2VyczpOQSx3YWxsZXQ6QUEseG1hcms6VzQsZmFjZWJvb2s6dkQsZ29vZ2xlOmdELGluc3RhZ3JhbTp3RCxsaW5rZWRpbjpiRCxtZWRpdW06Vmcsc2xhY2s6eEQsdGlrdG9rOnlELHR3aXR0ZXI6TUR9LGlGPXtmYTpUUXJ9LHhmPW5ldyBNYXAscTJyPTUwMDtqMnI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWljb24iKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXTt2YXIgUj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IEM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmcsY29udmVydGVyOntmcm9tQXR0cmlidXRlOlM9PlMsdG9BdHRyaWJ1dGU6Uz0+U319KV0sYz1bRih7dHlwZTpTdHJpbmcsY29udmVydGVyOntmcm9tQXR0cmlidXRlOlM9PlMsdG9BdHRyaWJ1dGU6Uz0+U319KV0sZD1bRih7dHlwZTpOdW1iZXJ9KV0sdj1bRih7dHlwZTpTdHJpbmd9KV0seT1bRih7dHlwZTpOdW1iZXJ9KV0sdmYodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uRkEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJpY29uRkEiaW4gUyxnZXQ6Uz0+Uy5pY29uRkEsc2V0OihTLE8pPT57Uy5pY29uRkE9T319LG1ldGFkYXRhOkN9LHMsbyksdmYodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4iaWNvbiJpbiBTLGdldDpTPT5TLmljb24sc2V0OihTLE8pPT57Uy5pY29uPU99fSxtZXRhZGF0YTpDfSxsLHUpLHZmKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvblNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJpY29uU2l6ZSJpbiBTLGdldDpTPT5TLmljb25TaXplLHNldDooUyxPKT0+e1MuaWNvblNpemU9T319LG1ldGFkYXRhOkN9LGgsbSksdmYodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+ImNvbG9yImluIFMsZ2V0OlM9PlMuY29sb3Isc2V0OihTLE8pPT57Uy5jb2xvcj1PfX0sbWV0YWRhdGE6Q30sYixnKSx2Zih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0cm9rZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4ic3Ryb2tlV2lkdGgiaW4gUyxnZXQ6Uz0+Uy5zdHJva2VXaWR0aCxzZXQ6KFMsTyk9PntTLnN0cm9rZVdpZHRoPU99fSxtZXRhZGF0YTpDfSx3LGspLHZmKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOkN9LG51bGwsciksUj1hPXQudmFsdWUsQyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpDfSl9c3RhdGljIGRlbW89QjJyO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPUFvKHRoaXMscyx2b2lkIDApO2dldCBpY29uRkEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaWNvbkZBKEMpe3RoaXMuI2U9Q30jdD0oQW8odGhpcyxvKSxBbyh0aGlzLGwsdm9pZCAwKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgaWNvbihDKXt0aGlzLiN0PUN9I3I9KEFvKHRoaXMsdSksQW8odGhpcyxoLHZvaWQgMCkpO2dldCBpY29uU2l6ZSgpe3JldHVybiB0aGlzLiNyfXNldCBpY29uU2l6ZShDKXt0aGlzLiNyPUN9I2E9KEFvKHRoaXMsbSksQW8odGhpcyxiLCJjdXJyZW50Q29sb3IiKSk7Z2V0IGNvbG9yKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGNvbG9yKEMpe3RoaXMuI2E9Q30jaT0oQW8odGhpcyxnKSxBbyh0aGlzLHcsMikpO2dldCBzdHJva2VXaWR0aCgpe3JldHVybiB0aGlzLiNpfXNldCBzdHJva2VXaWR0aChDKXt0aGlzLiNpPUN9bGFzdEljb249KEFvKHRoaXMsayksbnVsbCk7bGFzdEljb25TaXplPW51bGw7bGFzdENvbG9yPW51bGw7bGFzdFN0cm9rZVdpZHRoPW51bGw7Y29uc3RydWN0b3IoKXtzdXBlcigpLHBhLnNldHVwKCl9Z2V0RWZmZWN0aXZlSWNvbigpe3JldHVybiB0aGlzLmljb24/dGhpcy5pY29uOnRoaXMuaWNvbkZBP3RoaXMuaWNvbkZBLnN0YXJ0c1dpdGgoImx1Y2lkZToiKT90aGlzLmljb25GQTpgZmE6JHt0aGlzLmljb25GQX1gOm51bGx9cGFyc2VJY29uU3RyaW5nKEMpe2xldCBTPUMudG9Mb3dlckNhc2UoKTtyZXR1cm4gUy5zdGFydHNXaXRoKCJmYToiKT97dHlwZToiZmEiLG5hbWU6Qy5zdWJzdHJpbmcoMyl9OlMuc3RhcnRzV2l0aCgibHVjaWRlOiIpP3t0eXBlOiJsdWNpZGUiLG5hbWU6Qy5zdWJzdHJpbmcoNyl9Ont0eXBlOiJsdWNpZGUiLG5hbWU6Q319cmVuZGVyTHVjaWRlSWNvbihDKXtsZXQgUz1gbHVjaWRlOiR7Q306JHt0aGlzLmljb25TaXplfToke3RoaXMuY29sb3J9OiR7dGhpcy5zdHJva2VXaWR0aH1gO2lmKHhmLmhhcyhTKSlyZXR1cm4geGYuZ2V0KFMpfHwiIjt0cnl7bGV0IE89Qy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStDLnNsaWNlKDEpO2lmKCFuRltPXSlyZXR1cm4gY29uc29sZS53YXJuKGBMdWNpZGUgaWNvbiAnJHtPfScgbm90IGZvdW5kIGluIGx1Y2lkZUljb25zIG9iamVjdGApLCIiO2xldCBEPSgwLEFkZS5jcmVhdGVFbGVtZW50KShuRltPXSx7Y29sb3I6dGhpcy5jb2xvcixzaXplOnRoaXMuaWNvblNpemUsc3Ryb2tlV2lkdGg6dGhpcy5zdHJva2VXaWR0aH0pO2lmKCFEKXJldHVybiBjb25zb2xlLndhcm4oYGNyZWF0ZUVsZW1lbnQgcmV0dXJuZWQgZW1wdHkgcmVzdWx0IGZvciAke099YCksIiI7bGV0IE49RC5vdXRlckhUTUw7cmV0dXJuIHhmLnNldChTLE4pLF9RcigpLE59Y2F0Y2goTyl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoYEVycm9yIHJlbmRlcmluZyBMdWNpZGUgaWNvbiAke0N9OmAsTyksYDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iJHt0aGlzLmljb25TaXplfSIgaGVpZ2h0PSIke3RoaXMuaWNvblNpemV9IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iJHt0aGlzLmNvbG9yfSIgc3Ryb2tlLXdpZHRoPSIke3RoaXMuc3Ryb2tlV2lkdGh9IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgIDx0ZXh0IHg9IjUwJSIgeT0iNTAlIiBmb250LXNpemU9IjYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIGZpbGw9IiR7dGhpcy5jb2xvcn0iPiR7Q308L3RleHQ+CiAgICAgIDwvc3ZnPmB9fXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CgogICAgICAvKiBJbXByb3ZlIHJlbmRlcmluZyBwZXJmb3JtYW5jZSAqLwogICAgICAjaWNvbkNvbnRhaW5lciBzdmcgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyAvKiBIZWxwcyB3aXRoIGFuaW1hdGlvbnMgKi8KICAgICAgICBjb250YWluOiBzdHJpY3Q7IC8qIFBlcmZvcm1hbmNlIG9wdGltaXphdGlvbiAqLwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgJHtwYS5zdHlsZXN9CiAgICAgIDxzdHlsZT4KICAgICAgICAjaWNvbkNvbnRhaW5lciB7CiAgICAgICAgICB3aWR0aDogJHt0aGlzLmljb25TaXplfXB4OwogICAgICAgICAgaGVpZ2h0OiAke3RoaXMuaWNvblNpemV9cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGlkPSJpY29uQ29udGFpbmVyIj48L2Rpdj4KICAgIGB9dXBkYXRlZCgpe3RoaXMuaWNvblNpemV8fCh0aGlzLmljb25TaXplPXBhcnNlSW50KGdsb2JhbFRoaXMuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5mb250U2l6ZS5yZXBsYWNlKC9cRC9nLCIiKSkpO2xldCBDPXRoaXMuZ2V0RWZmZWN0aXZlSWNvbigpO2lmKHRoaXMubGFzdEljb249PT1DJiZ0aGlzLmxhc3RJY29uU2l6ZT09PXRoaXMuaWNvblNpemUmJnRoaXMubGFzdENvbG9yPT09dGhpcy5jb2xvciYmdGhpcy5sYXN0U3Ryb2tlV2lkdGg9PT10aGlzLnN0cm9rZVdpZHRoKXJldHVybjt0aGlzLmxhc3RJY29uPUMsdGhpcy5sYXN0SWNvblNpemU9dGhpcy5pY29uU2l6ZSx0aGlzLmxhc3RDb2xvcj10aGlzLmNvbG9yLHRoaXMubGFzdFN0cm9rZVdpZHRoPXRoaXMuc3Ryb2tlV2lkdGg7bGV0IFM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIjaWNvbkNvbnRhaW5lciIpO2lmKCEoIVN8fCFDKSl0cnl7bGV0e3R5cGU6TyxuYW1lOkR9PXRoaXMucGFyc2VJY29uU3RyaW5nKEMpO2lmKE89PT0ibHVjaWRlIil7Uy5pbm5lckhUTUw9IiI7dHJ5e2xldCBOPUQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrRC5zbGljZSgxKTtpZihuRltOXSl7bGV0IHE9KDAsQWRlLmNyZWF0ZUVsZW1lbnQpKG5GW05dLHtjb2xvcjp0aGlzLmNvbG9yLHNpemU6dGhpcy5pY29uU2l6ZSxzdHJva2VXaWR0aDp0aGlzLnN0cm9rZVdpZHRofSk7aWYocSl7Uy5hcHBlbmRDaGlsZChxKTtyZXR1cm59fXRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGNyZWF0ZSBlbGVtZW50IGZvciAke059YCl9Y2F0Y2goTil7Y29uc29sZS5lcnJvcigiRXJyb3IgcmVuZGVyaW5nIEx1Y2lkZSBpY29uOiIsTik7bGV0IHE9dGhpcy5yZW5kZXJMdWNpZGVJY29uKEQpO3EmJihTLmlubmVySFRNTD1xKX19ZWxzZXtsZXQgTj1pRi5mYVtEXTtpZihOKXtsZXQgcT14MWUoTikuaHRtbFswXTtTLmlubmVySFRNTD1xfWVsc2UgY29uc29sZS53YXJuKGBGb250QXdlc29tZSBpY29uIG5vdCBmb3VuZDogJHtEfWApfX1jYXRjaChPKXtjb25zb2xlLmVycm9yKGBFcnJvciB1cGRhdGluZyBpY29uICR7Q306YCxPKX19YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMubGFzdEljb249bnVsbCx0aGlzLmxhc3RJY29uU2l6ZT1udWxsLHRoaXMubGFzdENvbG9yPW51bGwsdGhpcy5sYXN0U3Ryb2tlV2lkdGg9bnVsbH1zdGF0aWN7QW8oYSxyKX19O3JldHVybiBSPWF9KSgpfSk7dmFyIFYycixFZGUsTXIsTWk9ZigoKT0+e3dpKCk7dGl0KCk7dWUoKTtKdCgpO2tjKCk7a3MoKTtpcigpO1FlKCk7VjJyPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sRWRlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxNcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtY29udGV4dG1lbnUiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXTt2YXIgYz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGw9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpBcnJheX0pXSxWMnIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJtZW51SXRlbXMiaW4gdSxnZXQ6dT0+dS5tZW51SXRlbXMsc2V0Oih1LGQpPT57dS5tZW51SXRlbXM9ZH19LG1ldGFkYXRhOmx9LHMsbyksVjJyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89ZWl0O3N0YXRpYyBkZW1vR3JvdXBzPVsiT3ZlcmxheSJdO3N0YXRpYyBjb250ZXh0TWVudURlYWN0aXZhdGVkPSExO3N0YXRpYyBhY2N1bXVsYXRlZE1lbnVJdGVtcz1bXTtzdGF0aWMgaW5pdGlhbGl6ZUdsb2JhbExpc3RlbmVyKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGw9PntpZih0aGlzLmNvbnRleHRNZW51RGVhY3RpdmF0ZWQpcmV0dXJuO2wucHJldmVudERlZmF1bHQoKSxjLmFjY3VtdWxhdGVkTWVudUl0ZW1zPVtdO2xldCB1PWwuY29tcG9zZWRQYXRoKCk7Zm9yKGxldCBkIG9mIHUpaWYoZC5nZXRDb250ZXh0TWVudUl0ZW1zKXtsZXQgaD1kLmdldENvbnRleHRNZW51SXRlbXMoKTtoJiZoLmxlbmd0aD4wJiYoYy5hY2N1bXVsYXRlZE1lbnVJdGVtcy5sZW5ndGg+MCYmYy5hY2N1bXVsYXRlZE1lbnVJdGVtcy5wdXNoKHtkaXZpZGVyOiEwfSksYy5hY2N1bXVsYXRlZE1lbnVJdGVtcy5wdXNoKC4uLmgpKX1jLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGwsYy5hY2N1bXVsYXRlZE1lbnVJdGVtcyl9KX1zdGF0aWMgYXN5bmMgb3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMobCx1KXtpZih0aGlzLmNvbnRleHRNZW51RGVhY3RpdmF0ZWQpcmV0dXJuO2wucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpO2xldCBkPW5ldyBjO2Quc3R5bGUucG9zaXRpb249ImZpeGVkIixkLnN0eWxlLnpJbmRleD1TdHJpbmcobWkub3ZlcmxheS5jb250ZXh0TWVudSksZC5zdHlsZS5vcGFjaXR5PSIwIixkLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCkiLGQubWVudUl0ZW1zPXUsZC53aW5kb3dMYXllcj1hd2FpdCBPcy5jcmVhdGVBbmRTaG93KCksZC53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMgeT0+e3kudGFyZ2V0LmNsb3Nlc3QoImRlZXMtY29udGV4dG1lbnUiKXx8YXdhaXQgZC5kZXN0cm95KCl9KSxkb2N1bWVudC5ib2R5LmFwcGVuZChkKSxhd2FpdCBqdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApO2xldCBoPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbT13aW5kb3cuaW5uZXJXaWR0aCx2PXdpbmRvdy5pbm5lckhlaWdodCxiPWwuY2xpZW50WSxnPWwuY2xpZW50WDtnK2gud2lkdGg+bSYmKGc9bS1oLndpZHRoLTEwKSxiK2guaGVpZ2h0PnYmJihiPXYtaC5oZWlnaHQtMTApLGc8MTAmJihnPTEwKSxiPDEwJiYoYj0xMCksZC5zdHlsZS50b3A9YCR7Yn1weGAsZC5zdHlsZS5sZWZ0PWAke2d9cHhgLGQuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSJ0b3AgbGVmdCIsYXdhaXQganQuc21hcnRkZWxheS5kZWxheUZvcigwKSxkLnN0eWxlLm9wYWNpdHk9IjEiLGQuc3R5bGUudHJhbnNmb3JtPSJzY2FsZSgxKSB0cmFuc2xhdGVZKDApIn0jZT1FZGUodGhpcyxzLFtdKTtnZXQgbWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG1lbnVJdGVtcyhsKXt0aGlzLiNlPWx9d2luZG93TGF5ZXI9RWRlKHRoaXMsbyk7c3VibWVudT1udWxsO3N1Ym1lbnVUaW1lb3V0PW51bGw7cGFyZW50TWVudT1udWxsO2lzRGVzdHJveWluZz0hMTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50YWJJbmRleD0wfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCB0cmFuc2Zvcm0gMC4yczsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAubWFpbmJveCB7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBtYXgtd2lkdGg6IDI4MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJveC1zaGFkb3c6ICR7cC5iZFRoZW1lKCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMzMzIiwiI2NjYyIpfTsKICAgICAgfQoKICAgICAgLm1lbnVpdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CiAgICAgIAogICAgICAubWVudWl0ZW0uaGFzLXN1Ym1lbnU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAn4oC6JzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDhweDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAubWVudWl0ZW06YWN0aXZlOm5vdCguaGFzLXN1Ym1lbnUpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tZW51aXRlbS5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAubWVudWl0ZW0tc2hvcnRjdXQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLm1lbnUtZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAke3RoaXMubWVudUl0ZW1zLm1hcChsPT57aWYoImRpdmlkZXIiaW4gbCYmbC5kaXZpZGVyKXJldHVybiBNYDxkaXYgY2xhc3M9Im1lbnUtZGl2aWRlciI+PC9kaXY+YDtsZXQgdT1sLGQ9dS5zdWJtZW51JiZ1LnN1Ym1lbnUubGVuZ3RoPjA7cmV0dXJuIE1gCiAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgY2xhc3M9Im1lbnVpdGVtICR7dS5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSAke2Q/Imhhcy1zdWJtZW51IjoiIn0iIAogICAgICAgICAgICAgIEBjbGljaz0keygpPT4hdS5kaXNhYmxlZCYmIWQmJnRoaXMuaGFuZGxlQ2xpY2sodSl9CiAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9JHsoKT0+dGhpcy5oYW5kbGVNZW51SXRlbUhvdmVyKHUsZCl9CiAgICAgICAgICAgICAgQG1vdXNlbGVhdmU9JHsoKT0+dGhpcy5oYW5kbGVNZW51SXRlbUxlYXZlKCl9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICAke3UuaWNvbk5hbWU/TWAKICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7dS5pY29uTmFtZX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnVpdGVtLXRleHQiPiR7dS5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAke3Uuc2hvcnRjdXQmJiFkP01gCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudWl0ZW0tc2hvcnRjdXQiPiR7dS5zaG9ydGN1dH08L3NwYW4+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSl9CiAgICAgICAgJHt0aGlzLm1lbnVJdGVtcy5sZW5ndGg9PT0wP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnVpdGVtIiBAY2xpY2s9JHsoKT0+e2MuY29udGV4dE1lbnVEZWFjdGl2YXRlZD0hMCx0aGlzLmRlc3Ryb3koKX19PgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249Imx1Y2lkZTp4Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudWl0ZW0tdGV4dCI+QWxsb3cgbmF0aXZlIGNvbnRleHQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6TWBgfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5mb2N1cygpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlkb3duKX1oYW5kbGVLZXlkb3duPWw9PntsZXQgdT1BcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIubWVudWl0ZW06bm90KC5kaXNhYmxlZCkiKSksZD11LmZpbmRJbmRleChoPT5oLm1hdGNoZXMoIjpob3ZlciIpKTtzd2l0Y2gobC5rZXkpe2Nhc2UiQXJyb3dEb3duIjpsLnByZXZlbnREZWZhdWx0KCk7bGV0IGg9ZCsxPHUubGVuZ3RoP2QrMTowO3VbaF0uZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudCgibW91c2VlbnRlciIpKTticmVhaztjYXNlIkFycm93VXAiOmwucHJldmVudERlZmF1bHQoKTtsZXQgbT1kLTE+PTA/ZC0xOnUubGVuZ3RoLTE7dVttXS5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCJtb3VzZWVudGVyIikpO2JyZWFrO2Nhc2UiRW50ZXIiOmwucHJldmVudERlZmF1bHQoKSxkPj0wJiZ1W2RdLmNsaWNrKCk7YnJlYWs7Y2FzZSJFc2NhcGUiOmwucHJldmVudERlZmF1bHQoKSx0aGlzLmRlc3Ryb3koKTticmVha319O2FzeW5jIGhhbmRsZUNsaWNrKGwpe2wuYWN0aW9uKCksYXdhaXQgdGhpcy5kZXN0cm95QWxsKCl9YXN5bmMgaGFuZGxlTWVudUl0ZW1Ib3ZlcihsLHUpe3RoaXMuc3VibWVudVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5zdWJtZW51VGltZW91dCksdGhpcy5zdWJtZW51VGltZW91dD1udWxsKSx0aGlzLnN1Ym1lbnUmJmF3YWl0IHRoaXMuaGlkZVN1Ym1lbnUoKSx1JiZsLnN1Ym1lbnUmJih0aGlzLnN1Ym1lbnVUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnNob3dTdWJtZW51KGwpfSwyMDApKX1oYW5kbGVNZW51SXRlbUxlYXZlKCl7dGhpcy5zdWJtZW51VGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuc3VibWVudVRpbWVvdXQpLHRoaXMuc3VibWVudVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuc3VibWVudSYmIXRoaXMuc3VibWVudS5tYXRjaGVzKCI6aG92ZXIiKSYmdGhpcy5oaWRlU3VibWVudSgpfSwzMDApfWFzeW5jIHNob3dTdWJtZW51KGwpe2lmKCFsLnN1Ym1lbnV8fGwuc3VibWVudS5sZW5ndGg9PT0wKXJldHVybjtsZXQgZD1BcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIubWVudWl0ZW0iKSkuZmluZCh3PT53LnF1ZXJ5U2VsZWN0b3IoIi5tZW51aXRlbS10ZXh0Iik/LnRleHRDb250ZW50PT09bC5uYW1lKTtpZighZClyZXR1cm47dGhpcy5zdWJtZW51PW5ldyBjLHRoaXMuc3VibWVudS5tZW51SXRlbXM9bC5zdWJtZW51LHRoaXMuc3VibWVudS5wYXJlbnRNZW51PXRoaXMsdGhpcy5zdWJtZW51LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdGhpcy5zdWJtZW51LnN0eWxlLnpJbmRleD1TdHJpbmcocGFyc2VJbnQodGhpcy5zdHlsZS56SW5kZXgpKzEpLHRoaXMuc3VibWVudS5zdHlsZS5vcGFjaXR5PSIwIix0aGlzLnN1Ym1lbnUuc3R5bGUudHJhbnNmb3JtPSJzY2FsZSgwLjk1KSIsZG9jdW1lbnQuYm9keS5hcHBlbmQodGhpcy5zdWJtZW51KSxhd2FpdCBqdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApO2xldCBoPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHY9dGhpcy5zdWJtZW51LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGI9d2luZG93LmlubmVyV2lkdGgsZz1tLnJpZ2h0LTQseT1oLnRvcDtnK3Yud2lkdGg+Yi0xMCYmKGc9bS5sZWZ0LXYud2lkdGgrNCkseSt2LmhlaWdodD53aW5kb3cuaW5uZXJIZWlnaHQtMTAmJih5PXdpbmRvdy5pbm5lckhlaWdodC12LmhlaWdodC0xMCksdGhpcy5zdWJtZW51LnN0eWxlLmxlZnQ9YCR7Z31weGAsdGhpcy5zdWJtZW51LnN0eWxlLnRvcD1gJHt5fXB4YCxhd2FpdCBqdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMuc3VibWVudS5zdHlsZS5vcGFjaXR5PSIxIix0aGlzLnN1Ym1lbnUuc3R5bGUudHJhbnNmb3JtPSJzY2FsZSgxKSIsdGhpcy5zdWJtZW51LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCgpPT57dGhpcy5zdWJtZW51VGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLnN1Ym1lbnVUaW1lb3V0KSx0aGlzLnN1Ym1lbnVUaW1lb3V0PW51bGwpfSksdGhpcy5zdWJtZW51LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLCgpPT57dGhpcy5oYW5kbGVNZW51SXRlbUxlYXZlKCl9KX1hc3luYyBoaWRlU3VibWVudSgpe3RoaXMuc3VibWVudSYmKGF3YWl0IHRoaXMuc3VibWVudS5kZXN0cm95KCksdGhpcy5zdWJtZW51PW51bGwpfWFzeW5jIGRlc3Ryb3koKXt0aGlzLmlzRGVzdHJveWluZ3x8KHRoaXMuaXNEZXN0cm95aW5nPSEwLHRoaXMuc3VibWVudVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5zdWJtZW51VGltZW91dCksdGhpcy5zdWJtZW51VGltZW91dD1udWxsKSx0aGlzLnN1Ym1lbnUmJihhd2FpdCB0aGlzLnN1Ym1lbnUuZGVzdHJveSgpLHRoaXMuc3VibWVudT1udWxsKSx0aGlzLndpbmRvd0xheWVyJiYhdGhpcy5wYXJlbnRNZW51JiZ0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKSx0aGlzLnN0eWxlLm9wYWNpdHk9IjAiLHRoaXMuc3R5bGUudHJhbnNmb3JtPSJzY2FsZSgwLjk1KSB0cmFuc2xhdGVZKC0xMHB4KSIsYXdhaXQganQuc21hcnRkZWxheS5kZWxheUZvcigxMDApLHRoaXMucGFyZW50RWxlbWVudCYmdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMpKX1hc3luYyBkZXN0cm95QWxsKCl7bGV0IGw9dGhpcztmb3IoO2wucGFyZW50TWVudTspbD1sLnBhcmVudE1lbnU7YXdhaXQgbC5kZXN0cm95KCl9c3RhdGlje0VkZShhLHIpfX07cmV0dXJuIGM9YX0pKCk7TXIuaW5pdGlhbGl6ZUdsb2JhbExpc3RlbmVyKCl9KTt2YXIgVTJyLElkZSxMUXIsVzJyPWYoKCk9Pnt1ZSgpO1Uycj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LElkZT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sTFFyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1kZW1vd3JhcHBlciIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdO3ZhciBjPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgbD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHthdHRyaWJ1dGU6ITF9KV0sVTJyKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicnVuQWZ0ZXJSZW5kZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJydW5BZnRlclJlbmRlciJpbiB1LGdldDp1PT51LnJ1bkFmdGVyUmVuZGVyLHNldDoodSxkKT0+e3UucnVuQWZ0ZXJSZW5kZXI9ZH19LG1ldGFkYXRhOmx9LHMsbyksVTJyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9I2U9SWRlKHRoaXMscyx2b2lkIDApO2dldCBydW5BZnRlclJlbmRlcigpe3JldHVybiB0aGlzLiNlfXNldCBydW5BZnRlclJlbmRlcihsKXt0aGlzLiNlPWx9c3RhdGljIHN0eWxlcz1bSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGF3YWl0IG5ldyBQcm9taXNlKGw9PnNldFRpbWVvdXQobCw1MCkpLHRoaXMuY2hpbGRyZW4ubGVuZ3RoPjAmJnRoaXMucnVuQWZ0ZXJSZW5kZXIpdHJ5e2F3YWl0IHRoaXMucnVuQWZ0ZXJSZW5kZXIodGhpcyl9Y2F0Y2gobCl7Y29uc29sZS5lcnJvcigiRXJyb3IgaW4gcnVuQWZ0ZXJSZW5kZXI6IixsKX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLElkZSh0aGlzLG8pfXN0YXRpY3tJZGUoYSxyKX19O3JldHVybiBjPWF9KSgpfSk7dmFyIGhhPWYoKCk9PntXMnIoKX0pO3ZhciBHMnIsWTJyPWYoKCk9Pnt1ZSgpO2hhKCk7RzJyPSgpPT57bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyIpO3JldHVybiBzZXRUaW1lb3V0KCgpPT57ZS5hZGRNYW55KFt7dHlwZToibG9naW4iLHVzZXI6IkpvaG4gRG9lIixtZXNzYWdlOiJsb2dnZWQgaW4gZnJvbSBDaHJvbWUgb24gbWFjT1MifSx7dHlwZToiY3JlYXRlIix1c2VyOiJKb2huIERvZSIsbWVzc2FnZTonY3JlYXRlZCBhIG5ldyBwcm9qZWN0ICJGcm9udGVuZCBBcHAiJ30se3R5cGU6InVwZGF0ZSIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToidXBkYXRlZCBBUEkgZG9jdW1lbnRhdGlvbiJ9LHt0eXBlOiJ2aWV3Iix1c2VyOiJKb2huIERvZSIsbWVzc2FnZToidmlld2VkIGRhc2hib2FyZCBhbmFseXRpY3MifSx7dHlwZToiZGVsZXRlIix1c2VyOiJBZG1pbiIsbWVzc2FnZToicmVtb3ZlZCBkZXByZWNhdGVkIGVuZHBvaW50In0se3R5cGU6ImN1c3RvbSIsdXNlcjoiU3lzdGVtIixtZXNzYWdlOiJzY2hlZHVsZWQgYmFja3VwIGNvbXBsZXRlZCIsaWNvbk5hbWU6Imx1Y2lkZTpkYXRhYmFzZSJ9LHt0eXBlOiJsb2dvdXQiLHVzZXI6IkFsaWNlIEJyb3duIixtZXNzYWdlOiJsb2dnZWQgb3V0In0se3R5cGU6ImNyZWF0ZSIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToiY3JlYXRlZCBpbnZvaWNlICMxMjM0In1dKSxlLmVudHJpZXMkLnN1YnNjcmliZSh0PT57Y29uc29sZS5sb2coIkFjdGl2aXR5IGxvZyB1cGRhdGVkOiIsdC5sZW5ndGgsImVudHJpZXMiKX0pfSwxMDApLE1gCiAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgPHN0eWxlPgogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgaGVpZ2h0OiA2MDBweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzA5MDkwYiIpfTsKICAgICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgICAgJHtlfQogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfX0pO3ZhciBzRixWNixaMnIsUGRlPWYoKCk9Pnt1ZSgpO0p0KCk7TWkoKTtpcigpO1kycigpO1FlKCk7c0Y9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxWNj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sWjJyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdO3ZhciB2PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtzZSgpXSxjPVtzZSgpXSxkPVtzZSgpXSxzRih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVudHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJlbnRyaWVzImluIGcsZ2V0Omc9PmcuZW50cmllcyxzZXQ6KGcseSk9PntnLmVudHJpZXM9eX19LG1ldGFkYXRhOmJ9LHMsbyksc0YodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hRdWVyeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+InNlYXJjaFF1ZXJ5ImluIGcsZ2V0Omc9Pmcuc2VhcmNoUXVlcnksc2V0OihnLHkpPT57Zy5zZWFyY2hRdWVyeT15fX0sbWV0YWRhdGE6Yn0sbCx1KSxzRih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlckNyaXRlcmlhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4iZmlsdGVyQ3JpdGVyaWEiaW4gZyxnZXQ6Zz0+Zy5maWx0ZXJDcml0ZXJpYSxzZXQ6KGcseSk9PntnLmZpbHRlckNyaXRlcmlhPXl9fSxtZXRhZGF0YTpifSxoLG0pLHNGKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsciksdj1hPXQudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89RzJyO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9VjYodGhpcyxzLFtdKTtnZXQgZW50cmllcygpe3JldHVybiB0aGlzLiNlfXNldCBlbnRyaWVzKGIpe3RoaXMuI2U9Yn0jdD0oVjYodGhpcyxvKSxWNih0aGlzLGwsIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VhcmNoUXVlcnkoYil7dGhpcy4jdD1ifSNyPShWNih0aGlzLHUpLFY2KHRoaXMsaCx7fSkpO2dldCBmaWx0ZXJDcml0ZXJpYSgpe3JldHVybiB0aGlzLiNyfXNldCBmaWx0ZXJDcml0ZXJpYShiKXt0aGlzLiNyPWJ9ZW50cmllcyQ9KFY2KHRoaXMsbSksbmV3IGp0LnNtYXJ0cngucnhqcy5TdWJqZWN0KTtzdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIC8qIENTUyBWYXJpYWJsZXMgYWxpZ25lZCB3aXRoIHNlY29uZGFyeSBtZW51ICovCiAgICAgICAgLS1hY3Rpdml0eWxvZy1iZzogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIC0tYWN0aXZpdHlsb2ctZmc6ICR7cC5iZFRoZW1lKCIjNTI1MjUyIiwiI2EzYTNhMyIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWZnLW11dGVkOiAke3AuYmRUaGVtZSgiIzczNzM3MyIsIiM3MzczNzMiKX07CiAgICAgICAgLS1hY3Rpdml0eWxvZy1mZy1hY3RpdmU6ICR7cC5iZFRoZW1lKCIjMGEwYTBhIiwiI2ZhZmFmYSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWJvcmRlcjogJHtwLmJkVGhlbWUoIiNlNWU1ZTUiLCIjMWExYTFhIil9OwogICAgICAgIC0tYWN0aXZpdHlsb2ctaG92ZXI6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWFjY2VudDogJHtwLmJkVGhlbWUoIiM3ODcxNmMiLCIjYjVhOTlhIil9OwoKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmcpOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctYmcpOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWFjdGl2aXR5bG9nLWJvcmRlcik7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMjgwcHg7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciB3aXRoIHN0cmVhbWluZyBpbmRpY2F0b3IgKi8KICAgICAgLnRvcGJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY3Rpdml0eWxvZy1iZyk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFjdGl2aXR5bG9nLWJvcmRlcik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudG9wYmFyIC5oZWFkaW5nIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLmxpdmUtaW5kaWNhdG9yIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5saXZlLWluZGljYXRvciAuZG90IHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgMCUsIDEwMCUgeyBvcGFjaXR5OiAwLjU7IHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfQogICAgICAgIDUwJSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfQogICAgICB9CgogICAgICAvKiBBY3Rpdml0eSBjb250YWluZXIgKi8KICAgICAgLmFjdGl2aXR5Q29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA0OHB4OwogICAgICAgIGJvdHRvbTogNDhweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwogICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHtwLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjMzMzMzMzIil9IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYWN0aXZpdHlDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHlDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjMzMzMzMzIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNhM2EzYTMiLCIjNTI1MjUyIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDBweCAxNnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC8qIERhdGUgc2VwYXJhdG9yIC0gd2FybSB0YXVwZSBzdHlsaW5nICovCiAgICAgIC5kYXRlLXNlcGFyYXRvciB7CiAgICAgICAgcGFkZGluZzogMTJweCAxMnB4IDZweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctYWNjZW50KTsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFjdGl2aXR5bG9nLWJnKTsKICAgICAgfQoKICAgICAgLyogQWN0aXZpdHkgZW50cnkgLSBtb2Rlcm4gc3RhY2tlZCBsYXlvdXQgKi8KICAgICAgLmFjdGl2aXR5ZW50cnkgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBtYXJnaW46IDJweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZWFzZS1vdXQ7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgZmFkZUluIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuYWN0aXZpdHllbnRyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctaG92ZXIpOwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbiB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA0KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICAgIG1hcmdpbi10b3A6IDFweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24ubG9naW4gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjA4KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiM0YWRlODAiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmxvZ291dCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMDgpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24udmlldyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA4KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEyKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbi5jcmVhdGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDE2OCwgODUsIDI0NywgMC4wOCkiLCJyZ2JhKDE2OCwgODUsIDI0NywgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjOTMzM2VhIiwiI2MwODRmYyIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24udXBkYXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgyNTEsIDE0NiwgNjAsIDAuMDgpIiwicmdiYSgyNTEsIDE0NiwgNjAsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2VhNTgwYyIsIiNmYjkyM2MiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmRlbGV0ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMDgpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24uY3VzdG9tIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgxMDAsIDExNiwgMTM5LCAwLjA4KSIsInJnYmEoMTAwLCAxMTYsIDEzOSwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNDc1NTY5IiwiIzk0YTNiOCIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHktdXNlciB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1zZXBhcmF0b3IgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICB9CgogICAgICAudGltZXN0YW1wIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuYWN0aXZpdHktbWVzc2FnZSB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnKTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAvKiBTZWFyY2ggYm94IC0gcmVmaW5lZCBzdHlsaW5nICovCiAgICAgIC5zZWFyY2hib3ggewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctYmcpOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hY3Rpdml0eWxvZy1ib3JkZXIpOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pY29uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTBweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLW11dGVkKTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlYXJjaGJveCBpbnB1dCB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLWFjdGl2ZSk7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpIil9OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweCAwIDM0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hib3ggaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICB9CgogICAgICAuc2VhcmNoYm94IGlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC13cmFwcGVyOmhhcyhpbnB1dDpmb2N1cykgLnNlYXJjaC1pY29uIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmcpOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgYj10aGlzLmdldEZpbHRlcmVkRW50cmllcygpLGc9dGhpcy5ncm91cEVudHJpZXNCeURhdGUoYik7cmV0dXJuIE1gCiAgICAgICR7cGEuc3R5bGVzfQogICAgICA8c3R5bGU+PC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9wYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmciPkFjdGl2aXR5IExvZzwvZGl2PgogICAgICAgICAgJHtiLmxlbmd0aD4wP01gPGRpdiBjbGFzcz0ibGl2ZS1pbmRpY2F0b3IiPjxzcGFuIGNsYXNzPSJkb3QiPjwvc3Bhbj5MaXZlPC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpdml0eUNvbnRhaW5lciI+CiAgICAgICAgICAke2IubGVuZ3RoPT09MD9NYDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBhY3Rpdml0eSBlbnRyaWVzPC9kaXY+YDpnLm1hcCh5PT5NYAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlLXNlcGFyYXRvciI+JHt5LmxhYmVsfTwvZGl2PgogICAgICAgICAgICAgICAgICAke3kuZW50cmllcy5tYXAodz0+dGhpcy5yZW5kZXJBY3Rpdml0eUVudHJ5KHcpKX0KICAgICAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaGJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtd3JhcHBlciI+CiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9InNlYXJjaC1pY29uIiAuaWNvbj0keyJsdWNpZGU6c2VhcmNoIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBhY3Rpdml0aWVzLCB1c2Vycy4uLiIKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlU2VhcmNoSW5wdXR9CiAgICAgICAgICAgIC8+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGl2aXR5RW50cnkoYil7bGV0IGc9Yi50aW1lc3RhbXB8fG5ldyBEYXRlLHk9dGhpcy5mb3JtYXRUaW1lKGcpLHc9Yi5pY29uTmFtZXx8dGhpcy5nZXRJY29uRm9yVHlwZShiLnR5cGUpO3JldHVybiBNYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImFjdGl2aXR5ZW50cnkiCiAgICAgICAgQGNvbnRleHRtZW51PSR7az0+dGhpcy5oYW5kbGVDb250ZXh0TWVudShrLGIpfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aXZpdHktaWNvbiAke2IudHlwZX0iPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke3d9PjwvZGVlcy1pY29uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LWNvbnRlbnQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aXZpdHktaGVhZGVyIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2aXR5LXVzZXIiPiR7Yi51c2VyfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2aXR5LXNlcGFyYXRvciI+wrc8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lc3RhbXAiPiR7eX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LW1lc3NhZ2UiPiR7Yi5tZXNzYWdlfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YWRkKGIpe2xldCBnPXsuLi5iLGlkOmIuaWR8fHRoaXMuZ2VuZXJhdGVJZCgpLHRpbWVzdGFtcDpiLnRpbWVzdGFtcHx8bmV3IERhdGV9O3RoaXMuZW50cmllcz1bZywuLi50aGlzLmVudHJpZXNdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWFkZE1hbnkoYil7bGV0IGc9Yi5tYXAoeT0+KHsuLi55LGlkOnkuaWR8fHRoaXMuZ2VuZXJhdGVJZCgpLHRpbWVzdGFtcDp5LnRpbWVzdGFtcHx8bmV3IERhdGV9KSk7dGhpcy5lbnRyaWVzPVsuLi5nLnJldmVyc2UoKSwuLi50aGlzLmVudHJpZXNdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWNsZWFyKCl7dGhpcy5lbnRyaWVzPVtdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWdldEVudHJpZXMoKXtyZXR1cm5bLi4udGhpcy5lbnRyaWVzXX1maWx0ZXIoYil7cmV0dXJuIHRoaXMuZW50cmllcy5maWx0ZXIoZz0+IShiLnVzZXImJmcudXNlciE9PWIudXNlcnx8Yi50eXBlJiZnLnR5cGUhPT1iLnR5cGUpKX1zZWFyY2goYil7bGV0IGc9Yi50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLmVudHJpZXMuZmlsdGVyKHk9PnkubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpfHx5LnVzZXIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhnKSl9Z2VuZXJhdGVJZCgpe3JldHVybmBhY3Rpdml0eS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsOSl9YH1nZXRGaWx0ZXJlZEVudHJpZXMoKXtsZXQgYj10aGlzLmVudHJpZXM7aWYodGhpcy5zZWFyY2hRdWVyeSl7bGV0IGc9dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO2I9Yi5maWx0ZXIoeT0+eS5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZyl8fHkudXNlci50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpKX1yZXR1cm4odGhpcy5maWx0ZXJDcml0ZXJpYS51c2VyfHx0aGlzLmZpbHRlckNyaXRlcmlhLnR5cGUpJiYoYj1iLmZpbHRlcihnPT4hKHRoaXMuZmlsdGVyQ3JpdGVyaWEudXNlciYmZy51c2VyIT09dGhpcy5maWx0ZXJDcml0ZXJpYS51c2VyfHx0aGlzLmZpbHRlckNyaXRlcmlhLnR5cGUmJmcudHlwZSE9PXRoaXMuZmlsdGVyQ3JpdGVyaWEudHlwZSkpKSxifWdyb3VwRW50cmllc0J5RGF0ZShiKXtsZXQgZz1uZXcgTWFwLHk9bmV3IERhdGUsdz1uZXcgRGF0ZSh5KTt3LnNldERhdGUody5nZXREYXRlKCktMSk7Zm9yKGxldCBrIG9mIGIpe2xldCBSPWsudGltZXN0YW1wfHxuZXcgRGF0ZSxDO3RoaXMuaXNTYW1lRGF5KFIseSk/Qz0iVG9kYXkiOnRoaXMuaXNTYW1lRGF5KFIsdyk/Qz0iWWVzdGVyZGF5IjpDPVIudG9Mb2NhbGVEYXRlU3RyaW5nKCJlbi1VUyIse21vbnRoOiJzaG9ydCIsZGF5OiJudW1lcmljIix5ZWFyOlIuZ2V0RnVsbFllYXIoKSE9PXkuZ2V0RnVsbFllYXIoKT8ibnVtZXJpYyI6dm9pZCAwfSksZy5oYXMoQyl8fGcuc2V0KEMsW10pLGcuZ2V0KEMpLnB1c2goayl9cmV0dXJuIEFycmF5LmZyb20oZy5lbnRyaWVzKCkpLm1hcCgoW2ssUl0pPT4oe2xhYmVsOmssZW50cmllczpSfSkpfWlzU2FtZURheShiLGcpe3JldHVybiBiLmdldEZ1bGxZZWFyKCk9PT1nLmdldEZ1bGxZZWFyKCkmJmIuZ2V0TW9udGgoKT09PWcuZ2V0TW9udGgoKSYmYi5nZXREYXRlKCk9PT1nLmdldERhdGUoKX1mb3JtYXRUaW1lKGIpe3JldHVybiBiLnRvTG9jYWxlVGltZVN0cmluZygiZW4tVVMiLHtob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLGhvdXIxMjohMX0pfWdldEljb25Gb3JUeXBlKGIpe2xldCBnPXtsb2dpbjoibHVjaWRlOmxvZ0luIixsb2dvdXQ6Imx1Y2lkZTpsb2dPdXQiLHZpZXc6Imx1Y2lkZTpleWUiLGNyZWF0ZToibHVjaWRlOnBsdXMiLHVwZGF0ZToibHVjaWRlOmVkaXQiLGRlbGV0ZToibHVjaWRlOnRyYXNoMiIsY3VzdG9tOiJsdWNpZGU6YWN0aXZpdHkifTtyZXR1cm4gZ1tiXXx8Zy5jdXN0b219aGFuZGxlU2VhcmNoSW5wdXQoYil7bGV0IGc9Yi50YXJnZXQ7dGhpcy5zZWFyY2hRdWVyeT1nLnZhbHVlfWhhbmRsZUNvbnRleHRNZW51KGIsZyl7Yi5wcmV2ZW50RGVmYXVsdCgpLE1yLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGIsW3tuYW1lOiJDb3B5IGFjdGl2aXR5IixpY29uTmFtZToibHVjaWRlOmNvcHkiLGFjdGlvbjphc3luYygpPT57YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYCR7Zy51c2VyfSAke2cubWVzc2FnZX1gKX19LHtuYW1lOiJGaWx0ZXIgYnkgdXNlciIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixhY3Rpb246YXN5bmMoKT0+e3RoaXMuZmlsdGVyQ3JpdGVyaWE9e3VzZXI6Zy51c2VyfX19LHtuYW1lOiJGaWx0ZXIgYnkgdHlwZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGFjdGlvbjphc3luYygpPT57dGhpcy5maWx0ZXJDcml0ZXJpYT17dHlwZTpnLnR5cGV9fX0se25hbWU6IkNsZWFyIGZpbHRlcnMiLGljb25OYW1lOiJsdWNpZGU6eCIsYWN0aW9uOmFzeW5jKCk9Pnt0aGlzLmZpbHRlckNyaXRlcmlhPXt9LHRoaXMuc2VhcmNoUXVlcnk9IiJ9fV0pfXN0YXRpY3tWNihhLHIpfX07cmV0dXJuIHY9YX0pKCl9KTt2YXIgWDJyPWYoKCk9PntQZGUoKX0pO3ZhciBRMnI9ZigoKT0+e30pO3ZhciBKMnI9ZigoKT0+e3dpKCl9KTt2YXIgSzJyPWYoKCk9Pnt9KTt2YXIgZWxyPWYoKCk9Pnt9KTt2YXIgdGxyPWYoKCk9Pnt9KTt2YXIgWTQ9ZigoKT0+e1EycigpO0oycigpO0sycigpO2VscigpO3RscigpfSk7dmFyIHJscixhbHI9ZigoKT0+e3VlKCk7aGEoKTtOZGUoKTtybHI9KCk9PntsZXQgZT1be25hbWU6IkZpbGUiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiTmV3IEZpbGUiLHNob3J0Y3V0OiJDbWQrTiIsaWNvbk5hbWU6ImZpbGUtcGx1cyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJOZXcgZmlsZSIpfSx7bmFtZToiT3Blbi4uLiIsc2hvcnRjdXQ6IkNtZCtPIixpY29uTmFtZToiZm9sZGVyLW9wZW4iLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiIpfSx7bmFtZToiT3BlbiBSZWNlbnQiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToicHJvamVjdC1hbHBoYS50cyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIHJlY2VudCAxIil9LHtuYW1lOiJjb25maWcuanNvbiIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIHJlY2VudCAyIil9LHtuYW1lOiJyZWFkbWUubWQiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiByZWNlbnQgMyIpfV19LHtkaXZpZGVyOiEwfSx7bmFtZToiU2F2ZSIsc2hvcnRjdXQ6IkNtZCtTIixpY29uTmFtZToic2F2ZSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJTYXZlIil9LHtuYW1lOiJTYXZlIEFzLi4uIixzaG9ydGN1dDoiQ21kK1NoaWZ0K1MiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiU2F2ZSBhcyIpLGRpc2FibGVkOiEwfSx7ZGl2aWRlcjohMH0se25hbWU6IkV4aXQiLHNob3J0Y3V0OiJDbWQrUSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJFeGl0Iil9XX0se25hbWU6IkVkaXQiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiVW5kbyIsc2hvcnRjdXQ6IkNtZCtaIixpY29uTmFtZToidW5kbyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJVbmRvIil9LHtuYW1lOiJSZWRvIixzaG9ydGN1dDoiQ21kK1NoaWZ0K1oiLGljb25OYW1lOiJyZWRvIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlJlZG8iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJDdXQiLHNob3J0Y3V0OiJDbWQrWCIsaWNvbk5hbWU6InNjaXNzb3JzIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkN1dCIpfSx7bmFtZToiQ29weSIsc2hvcnRjdXQ6IkNtZCtDIixpY29uTmFtZToiY29weSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJDb3B5Iil9LHtuYW1lOiJQYXN0ZSIsc2hvcnRjdXQ6IkNtZCtWIixpY29uTmFtZToiY2xpcGJvYXJkIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlBhc3RlIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRmluZCIsc2hvcnRjdXQ6IkNtZCtGIixpY29uTmFtZToic2VhcmNoIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkZpbmQiKX0se25hbWU6IlJlcGxhY2UiLHNob3J0Y3V0OiJDbWQrSCIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZXBsYWNlIil9XX0se25hbWU6IlZpZXciLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiVG9nZ2xlIEZ1bGxzY3JlZW4iLHNob3J0Y3V0OiJGMTEiLGljb25OYW1lOiJleHBhbmQiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiRnVsbHNjcmVlbiIpfSx7bmFtZToiWm9vbSBJbiIsc2hvcnRjdXQ6IkNtZCsrIixpY29uTmFtZToiem9vbS1pbiIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJab29tIGluIil9LHtuYW1lOiJab29tIE91dCIsc2hvcnRjdXQ6IkNtZCstIixpY29uTmFtZToiem9vbS1vdXQiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBvdXQiKX0se25hbWU6IlJlc2V0IFpvb20iLHNob3J0Y3V0OiJDbWQrMCIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZXNldCB6b29tIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiVG9nZ2xlIFNpZGViYXIiLHNob3J0Y3V0OiJDbWQrQiIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJUb2dnbGUgc2lkZWJhciIpfSx7bmFtZToiVG9nZ2xlIFRlcm1pbmFsIixzaG9ydGN1dDoiQ21kK0oiLGljb25OYW1lOiJ0ZXJtaW5hbCIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJUb2dnbGUgdGVybWluYWwiKX1dfSx7bmFtZToiSGVscCIsYWN0aW9uOmFzeW5jKCk9Pnt9LHN1Ym1lbnU6W3tuYW1lOiJEb2N1bWVudGF0aW9uIixpY29uTmFtZToiYm9vayIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJEb2N1bWVudGF0aW9uIil9LHtuYW1lOiJSZWxlYXNlIE5vdGVzIixpY29uTmFtZToiZmlsZS10ZXh0IixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlJlbGVhc2Ugbm90ZXMiKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJSZXBvcnQgSXNzdWUiLGljb25OYW1lOiJidWciLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiUmVwb3J0IGlzc3VlIil9LHtuYW1lOiJBYm91dCIsaWNvbk5hbWU6ImluZm8iLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiQWJvdXQiKX1dfV07cmV0dXJuIE1gCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IHI9dC5xdWVyeVNlbGVjdG9yKCIjYXBwYmFyIiksYT10LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zdGF0dXMtdG9nZ2xlIGRlZXMtYnV0dG9uIik7YVswXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntyLnVzZXI9ey4uLnIudXNlcixzdGF0dXM6Im9ubGluZSJ9fSksYVsxXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntyLnVzZXI9ey4uLnIudXNlcixzdGF0dXM6ImJ1c3kifX0pLGFbMl0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ci51c2VyPXsuLi5yLnVzZXIsc3RhdHVzOiJhd2F5In19KSxhWzNdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3IudXNlcj17Li4uci51c2VyLHN0YXR1czoib2ZmbGluZSJ9fSksdC5xdWVyeVNlbGVjdG9yKCIud2luZG93LWNvbnRyb2xzLXRvZ2dsZSBkZWVzLWJ1dHRvbiIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3Iuc2hvd1dpbmRvd0NvbnRyb2xzPSFyLnNob3dXaW5kb3dDb250cm9sc30pO2xldCBuPXQucXVlcnlTZWxlY3RvckFsbCgiLmJyZWFkY3J1bWItdG9nZ2xlIGRlZXMtYnV0dG9uIik7blswXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntyLmJyZWFkY3J1bWJzPSJIb21lID4gRG9jdW1lbnRzID4gUHJvamVjdHMgPiBNeUFwcCA+IHNyYyA+IGluZGV4LnRzIn0pLG5bMV0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ci5icmVhZGNydW1icz0iRGFzaGJvYXJkIn0pfX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke0pgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGhlaWdodDogNjAwcHg7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbnRlbnQgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICBjb2xvcjogI2NjYzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbnRyb2xzIHsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbC1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbC1ncm91cCBsYWJlbCB7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogIzg4ODsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLWFwcHVpLWFwcGJhcgogICAgICAgIGlkPSJhcHBiYXIiCiAgICAgICAgLm1lbnVJdGVtcz0ke2V9CiAgICAgICAgLmJyZWFkY3J1bWJzPSR7IlByb2plY3QgPiBzcmMgPiBjb21wb25lbnRzID4gQXBwQmFyLnRzIn0KICAgICAgICAuYnJlYWRjcnVtYlNlcGFyYXRvcj0keyIgPiAifQogICAgICAgIC5zaG93V2luZG93Q29udHJvbHM9JHshMH0KICAgICAgICAuc2hvd1NlYXJjaD0keyEwfQogICAgICAgIC50aGVtZT0keyJkYXJrIn0KICAgICAgICAudXNlcj0ke3tuYW1lOiJKb2huIERvZSIsc3RhdHVzOiJvbmxpbmUifX0KICAgICAgICBAbWVudS1zZWxlY3Q9JHt0PT5jb25zb2xlLmxvZygiTWVudSBzZWxlY3RlZDoiLHQuZGV0YWlsLml0ZW0pfQogICAgICAgIEBicmVhZGNydW1iLW5hdmlnYXRlPSR7dD0+Y29uc29sZS5sb2coIkJyZWFkY3J1bWIgY2xpY2tlZDoiLHQuZGV0YWlsKX0KICAgICAgICBAc2VhcmNoLWNsaWNrPSR7KCk9PmNvbnNvbGUubG9nKCJTZWFyY2ggY2xpY2tlZCIpfQogICAgICAgIEB1c2VyLW1lbnUtb3Blbj0keygpPT5jb25zb2xlLmxvZygiVXNlciBtZW51IGNsaWNrZWQiKX0KICAgICAgPjwvZGVlcy1hcHB1aS1hcHBiYXI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICA8aDI+QXBwIEJhciBEZW1vPC9oMj4KICAgICAgICA8cD5UaGlzIGRlbW8gc2hvd3MgdmFyaW91cyBmZWF0dXJlcyBvZiB0aGUgYXBwIGJhciBjb21wb25lbnQ6PC9wPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5EeW5hbWljIG1lbnUgaXRlbXMgd2l0aCBpY29ucywgc2hvcnRjdXRzLCBhbmQgc3VibWVudXM8L2xpPgogICAgICAgICAgPGxpPkJyZWFkY3J1bWIgbmF2aWdhdGlvbjwvbGk+CiAgICAgICAgICA8bGk+VXNlciBhY2NvdW50IHNlY3Rpb24gd2l0aCBzdGF0dXMgaW5kaWNhdG9yPC9saT4KICAgICAgICAgIDxsaT5TZWFyY2ggaWNvbjwvbGk+CiAgICAgICAgICA8bGk+V2luZG93IGNvbnRyb2xzIChwbGF0Zm9ybS1zcGVjaWZpYyk8L2xpPgogICAgICAgICAgPGxpPkRhcmsvbGlnaHQgdGhlbWUgc3VwcG9ydDwvbGk+CiAgICAgICAgICA8bGk+S2V5Ym9hcmQgbmF2aWdhdGlvbiAoVGFiLCBFbnRlciwgRXNjYXBlKTwvbGk+CiAgICAgICAgICA8bGk+Q3VzdG9tIGV2ZW50cyBmb3IgYWxsIGludGVyYWN0aW9uczwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ncm91cCI+CiAgICAgICAgICA8bGFiZWw+VGhlbWU8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJ0aGVtZS10b2dnbGUiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+RGFyazwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5MaWdodDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtZ3JvdXAiPgogICAgICAgICAgPGxhYmVsPlVzZXIgU3RhdHVzPC9sYWJlbD4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBjbGFzcz0ic3RhdHVzLXRvZ2dsZSI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5PbmxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+QnVzeTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5Bd2F5PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPk9mZmxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWdyb3VwIj4KICAgICAgICAgIDxsYWJlbD5XaW5kb3cgQ29udHJvbHM8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJ3aW5kb3ctY29udHJvbHMtdG9nZ2xlIj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtZ3JvdXAiPgogICAgICAgICAgPGxhYmVsPkJyZWFkY3J1bWJzPC9sYWJlbD4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBjbGFzcz0iYnJlYWRjcnVtYi10b2dnbGUiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+TG9uZyBQYXRoPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlNob3J0IFBhdGg8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfX0pO3ZhciBpbHIsbmxyPWYoKCk9Pnt1ZSgpO2lscj1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICAvKiBDU1MgVmFyaWFibGVzIGZvciB0aGVtaW5nICovCiAgICAgICAgLS1hcHBiYXItaGVpZ2h0OiA0MHB4OwogICAgICAgIC0tYXBwYmFyLWZvbnQtc2l6ZTogMTJweDsKICAgICAgICAKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1hcHBiYXItaGVpZ2h0KTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwMDAwMDA4MCIsIiNmZmZmZmY4MCIpfTsKICAgICAgICBmb250LXNpemU6IHZhcigtLWFwcGJhci1mb250LXNpemUpOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvOwogICAgICAgIC13ZWJraXQtYXBwLXJlZ2lvbjogZHJhZzsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnVzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAubWVudUl0ZW0gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBtYXJnaW46IDhweCAwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIC13ZWJraXQtYXBwLXJlZ2lvbjogbm8tZHJhZzsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLyogT3B0aW9uYWw6IFN0eWxlIGZvciBtZW51IGl0ZW1zIHdpdGggaWNvbnMgKG5vdCB0eXBpY2FsbHkgdXNlZCBmb3IgdG9wLWxldmVsIGl0ZW1zKSAqLwogICAgICAubWVudUl0ZW0gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CgogICAgICAubWVudUl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMDAwMDAwMTAiLCIjZmZmZmZmMjAiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMwMDAwMDAyMCIsIiNmZmZmZmYzMCIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW1bZGlzYWJsZWRdIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtOmZvY3VzLXZpc2libGUgewogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke3AuYmRUaGVtZSgiIzAwMDAwMDgwIiwiI2ZmZmZmZjgwIil9OwogICAgICB9CgoKICAgICAgLyogRHJvcGRvd24gc3R5bGVzICovCiAgICAgIC5kcm9wZG93biB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTBlMGUwIiwiIzIwMjAyMCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYm94LXNoYWRvdzogJHtwLmJkVGhlbWUoIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KSIsIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpIil9OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMsIHRyYW5zZm9ybSAwLjJzOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuZHJvcGRvd24ub3BlbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi1pdGVtIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWl0ZW06aG92ZXIsCiAgICAgIC5kcm9wZG93bi1pdGVtLmZvY3VzZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMDAwMDAwMTAiLCIjZmZmZmZmMjAiKX07CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi1kaXZpZGVyIHsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWl0ZW1bZGlzYWJsZWRdIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWl0ZW0gLnNob3J0Y3V0IHsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICB9CgogICAgICAvKiBCcmVhZGNydW1icyAqLwogICAgICAuYnJlYWRjcnVtYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmJyZWFkY3J1bWItaXRlbSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDAwMDAwODAiLCIjZmZmZmZmODAiKX07CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7CiAgICAgIH0KCiAgICAgIC5icmVhZGNydW1iLWl0ZW06aG92ZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5icmVhZGNydW1iLXNlcGFyYXRvciB7CiAgICAgICAgbWFyZ2luOiAwIDhweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC8qIEFjY291bnQgc2VjdGlvbiAqLwogICAgICAuYWNjb3VudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pY29uIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pY29uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAudXNlci1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yczsKICAgICAgfQoKICAgICAgLnVzZXItaW5mbzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMwMDAwMDAxMCIsIiNmZmZmZmYyMCIpfTsKICAgICAgfQoKICAgICAgLnVzZXItYXZhdGFyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzAwMDAwMDIwIiwiI2ZmZmZmZjMwIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KCiAgICAgIC51c2VyLWF2YXRhciBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogLTJweDsKICAgICAgICByaWdodDogLTJweDsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5vbmxpbmUgewogICAgICAgIGJhY2tncm91bmQ6ICM0Y2FmNTA7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5vZmZsaW5lIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjNzU3NTc1OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMuYnVzeSB7CiAgICAgICAgYmFja2dyb3VuZDogI2Y0NDMzNjsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLmF3YXkgewogICAgICAgIGJhY2tncm91bmQ6ICNmZjk4MDA7CiAgICAgIH0KCiAgICAgIC8qIEFjdGl2aXR5IGxvZyB0b2dnbGUgYnV0dG9uICovCiAgICAgIC5hY3Rpdml0eS10b2dnbGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICAtd2Via2l0LWFwcC1yZWdpb246IG5vLWRyYWc7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDAwMDAwNjAiLCIjZmZmZmZmNjAiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LXRvZ2dsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMwMDAwMDAxMCIsIiNmZmZmZmYxNSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS10b2dnbGUuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzAwMDAwMDE1IiwiI2ZmZmZmZjIwIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LXRvZ2dsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWJhZGdlIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsKICAgICAgICBtaW4td2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDAgNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjNTI1MjUyIiwiIzUyNTI1MiIpfTsKICAgICAgICBjb2xvcjogI2ZhZmFmYTsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICB9CiAgICBgXX0pO3ZhciBzbHIsb2xyPWYoKCk9Pnt1ZSgpO3Nscj1lPT5NYAogICAgICAgIDxkaXYgY2xhc3M9Im1lbnVzIj4KICAgICAgICAgICR7ZS5zaG93V2luZG93Q29udHJvbHM/TWA8ZGVlcy13aW5kb3djb250cm9scz48L2RlZXMtd2luZG93Y29udHJvbHM+YDoiIn0KICAgICAgICAgICR7ZS5yZW5kZXJNZW51SXRlbXMoKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJicmVhZGNydW1icyI+CiAgICAgICAgICAke2UucmVuZGVyQnJlYWRjcnVtYnMoKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvdW50Ij4KICAgICAgICAgICR7ZS5yZW5kZXJBY2NvdW50U2VjdGlvbigpfQogICAgICAgIDwvZGl2PgogICAgICBgfSk7dmFyIEZkZSwkYixsbHIsT2RlPWYoKCk9Pnt1ZSgpO1FlKCk7RmRlPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sJGI9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGxscj0oKCk9PntsZXQgZT1bcmUoImRlZXMtd2luZG93Y29udHJvbHMiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGg9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7cmVmbGVjdDohMH0pXSxjPVtGKHtyZWZsZWN0OiEwfSldLEZkZSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJ0eXBlImluIG0sZ2V0Om09Pm0udHlwZSxzZXQ6KG0sdik9PnttLnR5cGU9dn19LG1ldGFkYXRhOmh9LHMsbyksRmRlKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJwb3NpdGlvbiJpbiBtLGdldDptPT5tLnBvc2l0aW9uLHNldDoobSx2KT0+e20ucG9zaXRpb249dn19LG1ldGFkYXRhOmh9LGwsdSksRmRlKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmh9LG51bGwsciksZD1hPXQudmFsdWUsaCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpofSl9c3RhdGljIGRlbW89KCk9Pk1gPGRlZXMtd2luZG93Y29udHJvbHM+PC9kZWVzLXdpbmRvd2NvbnRyb2xzPmA7c3RhdGljIGRlbW9Hcm91cHM9WyJVdGlsaXR5Il07I2U9JGIodGhpcyxzLCJtYWMiKTtnZXQgdHlwZSgpe3JldHVybiB0aGlzLiNlfXNldCB0eXBlKGgpe3RoaXMuI2U9aH0jdD0oJGIodGhpcyxvKSwkYih0aGlzLGwsImxlZnQiKSk7Z2V0IHBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBvc2l0aW9uKGgpe3RoaXMuI3Q9aH1zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIHBhZGRpbmctbGVmdDogMTZweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgZGl2IHsKICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBtYXJnaW46IDBweDsKICAgICAgICBwYWRkaW5nOiAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogIzIyMjIyMjsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIGRpdi5jbG9zZSB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmNWY1NzsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyBkaXYudG9Eb2NrIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmZiZDJlOwogICAgICAgIG1hcmdpbi1yaWdodDogMTJweDsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIGRpdi5taW5NYXggewogICAgICAgIGJhY2tncm91bmQ6ICMyN2M5M2Y7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyBkaXY6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICAke3RoaXMudHlwZT09PSJtYWMiJiZ0aGlzLnBvc2l0aW9uPT09ImxlZnQifHwodGhpcy50eXBlPT09ImxpbnV4Inx8dGhpcy50eXBlPT09IndpbmRvd3MiKSYmdGhpcy5wb3NpdGlvbj09PSJyaWdodCI/TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0id2luZG93Q29udHJvbHMiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlIj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b0RvY2siPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbk1heCI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDpNYGB9CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSwkYih0aGlzLHUpfXN0YXRpY3skYihhLHIpfX07cmV0dXJuIGQ9YX0pKCl9KTt2YXIgRGIsVGMsY2xyLFJkZT1mKCgpPT57d2koKTtrcygpO3VlKCk7UWUoKTtEYj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFRjPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxjbHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93biIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgdz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOk9iamVjdH0pXSxjPVtGKHt0eXBlOkFycmF5fSldLGQ9W0Yoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHY9W0Yoe3R5cGU6U3RyaW5nfSldLERiKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXNlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+InVzZXIiaW4gayxnZXQ6az0+ay51c2VyLHNldDooayxSKT0+e2sudXNlcj1SfX0sbWV0YWRhdGE6d30scyxvKSxEYih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+Im1lbnVJdGVtcyJpbiBrLGdldDprPT5rLm1lbnVJdGVtcyxzZXQ6KGssUik9PntrLm1lbnVJdGVtcz1SfX0sbWV0YWRhdGE6d30sbCx1KSxEYih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzT3BlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImlzT3BlbiJpbiBrLGdldDprPT5rLmlzT3BlbixzZXQ6KGssUik9PntrLmlzT3Blbj1SfX0sbWV0YWRhdGE6d30saCxtKSxEYih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4icG9zaXRpb24iaW4gayxnZXQ6az0+ay5wb3NpdGlvbixzZXQ6KGssUik9PntrLnBvc2l0aW9uPVJ9fSxtZXRhZGF0YTp3fSxiLGcpLERiKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOnd9LG51bGwscikseT1hPXQudmFsdWUsdyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp3fSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGVlcy1hcHB1aS1wcm9maWxlZHJvcGRvd24KICAgICAgLnVzZXI9JHt7bmFtZToiSm9obiBEb2UiLGVtYWlsOiJqb2huLmRvZUBleGFtcGxlLmNvbSIsYXZhdGFyOiJodHRwczovL3JhbmRvbXVzZXIubWUvYXBpL3BvcnRyYWl0cy9tZW4vMS5qcGciLHN0YXR1czoib25saW5lIn19CiAgICAgIC5tZW51SXRlbXM9JHtbe25hbWU6IlByb2ZpbGUgU2V0dGluZ3MiLGljb25OYW1lOiJ1c2VyIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlByb2ZpbGUiKX0se25hbWU6IkFjY291bnQiLGljb25OYW1lOiJzZXR0aW5ncyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJBY2NvdW50Iil9LHtkaXZpZGVyOiEwfSx7bmFtZToiSGVscCAmIFN1cHBvcnQiLGljb25OYW1lOiJoZWxwQ2lyY2xlIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkhlbHAiKX0se25hbWU6IktleWJvYXJkIFNob3J0Y3V0cyIsaWNvbk5hbWU6ImtleWJvYXJkIixzaG9ydGN1dDoiQ21kK0siLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiU2hvcnRjdXRzIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2lnbiBPdXQiLGljb25OYW1lOiJsb2dPdXQiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiU2lnbiBvdXQiKX1dfQogICAgICAuaXNPcGVuPSR7ITB9CiAgICA+PC9kZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93bj4KICBgO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9VGModGhpcyxzLHZvaWQgMCk7Z2V0IHVzZXIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdXNlcih3KXt0aGlzLiNlPXd9I3Q9KFRjKHRoaXMsbyksVGModGhpcyxsLFtdKSk7Z2V0IG1lbnVJdGVtcygpe3JldHVybiB0aGlzLiN0fXNldCBtZW51SXRlbXModyl7dGhpcy4jdD13fSNyPShUYyh0aGlzLHUpLFRjKHRoaXMsaCwhMSkpO2dldCBpc09wZW4oKXtyZXR1cm4gdGhpcy4jcn1zZXQgaXNPcGVuKHcpe3RoaXMuI3I9d30jYT0oVGModGhpcyxtKSxUYyh0aGlzLGIsInRvcC1yaWdodCIpKTtnZXQgcG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgcG9zaXRpb24odyl7dGhpcy4jYT13fXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuZHJvcGRvd24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBtaW4td2lkdGg6IDIyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJveC1zaGFkb3c6ICR7cC5iZFRoZW1lKCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICB6LWluZGV4OiAke21pLm92ZXJsYXkuZHJvcGRvd259OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KSB0cmFuc2xhdGVZKC0xMHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMsIHRyYW5zZm9ybSAwLjJzOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CgogICAgICA6aG9zdChbaXNvcGVuXSkgLmRyb3Bkb3duIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgfQogICAgICAKICAgICAgLmJhY2tkcm9wIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBQb3NpdGlvbiB2YXJpYW50cyAqLwogICAgICAuZHJvcGRvd24udG9wLXJpZ2h0IHsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAuZHJvcGRvd24udG9wLWxlZnQgewogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLmJvdHRvbS1yaWdodCB7CiAgICAgICAgYm90dG9tOiAxMDAlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLmJvdHRvbS1sZWZ0IHsKICAgICAgICBib3R0b206IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC8qIFVzZXIgc2VjdGlvbiAqLwogICAgICAudXNlci1zZWN0aW9uIHsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgIH0KCiAgICAgIC51c2VyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC51c2VyLWF2YXRhciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2NjYiLCIjOTk5Iil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC51c2VyLWF2YXRhciBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHdpZHRoOiAxMHB4OwogICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMub25saW5lIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjNGNhZjUwOwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMub2ZmbGluZSB7CiAgICAgICAgYmFja2dyb3VuZDogIzc1NzU3NTsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLmJ1c3kgewogICAgICAgIGJhY2tncm91bmQ6ICNmNDQzMzY7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5hd2F5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmY5ODAwOwogICAgICB9CgogICAgICAudXNlci1kZXRhaWxzIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnVzZXItbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDAwIiwiI2ZmZiIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4yOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC51c2VyLWVtYWlsIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNjY2IiwiIzk5OSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAvKiBNZW51IHNlY3Rpb24gKi8KICAgICAgLm1lbnUtc2VjdGlvbiB7CiAgICAgICAgcGFkZGluZzogNHB4IDA7CiAgICAgIH0KCiAgICAgIC5tZW51LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAubWVudS1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA0KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkiKX07CiAgICAgIH0KCiAgICAgIC5tZW51LWl0ZW06YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikiKX07CiAgICAgIH0KCiAgICAgIC5tZW51LWl0ZW0gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAubWVudS1pdGVtLXRleHQgewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5tZW51LXNob3J0Y3V0IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfTsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5tZW51LWRpdmlkZXIgewogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZTBlMGUwIiwiIzIwMjAyMCIpfTsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CgogICAgICAvKiBCYWNrZHJvcCBmb3IgbW9iaWxlICovCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5iYWNrZHJvcCB7CiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgICBib3R0b206IDA7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgICB6LWluZGV4OiAke21pLmJhY2tkcm9wLmRyb3Bkb3dufTsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7CiAgICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIH0KCiAgICAgICAgOmhvc3QoW2lzb3Blbl0pIC5iYWNrZHJvcCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB9CgogICAgICAgIC5kcm9wZG93biB7CiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICB0b3A6IDUwJTsKICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgIHJpZ2h0OiBhdXRvOwogICAgICAgICAgYm90dG9tOiBhdXRvOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC45NSk7CiAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTsKICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMnB4KTsKICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICAgIH0KCiAgICAgICAgOmhvc3QoW2lzb3Blbl0pIC5kcm9wZG93biB7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJiYWNrZHJvcCIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2UoKX0+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duICR7dGhpcy5wb3NpdGlvbn0iPgogICAgICAgICR7dGhpcy51c2VyP01gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLWluZm8iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItYXZhdGFyIj4KICAgICAgICAgICAgICAgICR7dGhpcy51c2VyLmF2YXRhcj9NYDxpbWcgc3JjPSIke3RoaXMudXNlci5hdmF0YXJ9IiBhbHQ9IiR7dGhpcy51c2VyLm5hbWV9Ij5gOnRoaXMuZ2V0SW5pdGlhbHModGhpcy51c2VyLm5hbWUpfQogICAgICAgICAgICAgICAgJHt0aGlzLnVzZXIuc3RhdHVzP01gCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItc3RhdHVzICR7dGhpcy51c2VyLnN0YXR1c30iPjwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLWRldGFpbHMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1uYW1lIj4ke3RoaXMudXNlci5uYW1lfTwvZGl2PgogICAgICAgICAgICAgICAgJHt0aGlzLnVzZXIuZW1haWw/TWAKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1lbWFpbCI+JHt0aGlzLnVzZXIuZW1haWx9PC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1zZWN0aW9uIj4KICAgICAgICAgICR7dGhpcy5tZW51SXRlbXMubWFwKHc9PnRoaXMucmVuZGVyTWVudUl0ZW0odykpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTWVudUl0ZW0odyl7aWYoImRpdmlkZXIiaW4gdyYmdy5kaXZpZGVyKXJldHVybiBNYDxkaXYgY2xhc3M9Im1lbnUtZGl2aWRlciI+PC9kaXY+YDtsZXQgaz13O3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJtZW51LWl0ZW0iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZU1lbnVDbGljayhrKX0+CiAgICAgICAgJHtrLmljb25OYW1lP01gCiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke2BsdWNpZGU6JHtrLmljb25OYW1lfWB9Ij48L2RlZXMtaWNvbj4KICAgICAgICBgOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJtZW51LWl0ZW0tdGV4dCI+JHtrLm5hbWV9PC9zcGFuPgogICAgICAgICR7ay5zaG9ydGN1dD9NYAogICAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnUtc2hvcnRjdXQiPiR7ay5zaG9ydGN1dH08L3NwYW4+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldEluaXRpYWxzKHcpe3JldHVybiB3LnNwbGl0KCIgIikubWFwKGs9PmtbMF0pLmpvaW4oIiIpLnRvVXBwZXJDYXNlKCkuc2xpY2UoMCwyKX1hc3luYyBoYW5kbGVNZW51Q2xpY2sodyl7YXdhaXQgdy5hY3Rpb24oKSx0aGlzLmNsb3NlKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWVudS1zZWxlY3QiLHtkZXRhaWw6e2l0ZW06d30sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1vcGVuKCl7dGhpcy5pc09wZW49ITB9Y2xvc2UoKXt0aGlzLmlzT3Blbj0hMX10b2dnbGUoKXt0aGlzLmlzT3Blbj0hdGhpcy5pc09wZW59YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaGFuZGxlT3V0c2lkZUNsaWNrPXRoaXMuaGFuZGxlT3V0c2lkZUNsaWNrLmJpbmQodGhpcyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlT3V0c2lkZUNsaWNrKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlT3V0c2lkZUNsaWNrKX1oYW5kbGVPdXRzaWRlQ2xpY2sodyl7aWYodGhpcy5pc09wZW4mJiF0aGlzLmNvbnRhaW5zKHcudGFyZ2V0KSl7bGV0IGs9dGhpcy5wYXJlbnRFbGVtZW50O2lmKGsmJmsuY29udGFpbnMody50YXJnZXQpKXJldHVybjt0aGlzLmNsb3NlKCl9fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxUYyh0aGlzLGcpfXN0YXRpY3tUYyhhLHIpfX07cmV0dXJuIHk9YX0pKCl9KTt2YXIgUG4sa3IsZGxyLE5kZT1mKCgpPT57dWUoKTtKdCgpO1k0KCk7d2koKTthbHIoKTtubHIoKTtvbHIoKTtpcigpO09kZSgpO1JkZSgpO1BuPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sa3I9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGRscj0oKCk9PntsZXQgZT1bcmUoImRlZXMtYXBwdWktYXBwYmFyIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W10sVixCPVtdLFU9W10sSyxJPVtdLHZlPVtdLE1lLFA9W10sbGU9W10sU2UsWj1bXSxBPVtdLCQsaj1bXSxIPVtdLFksZGU9W10sd2U9W107dmFyIExlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgRz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOkFycmF5fSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W0Yoe3R5cGU6U3RyaW5nfSldLHY9W0Yoe3R5cGU6Qm9vbGVhbn0pXSx5PVtGKHt0eXBlOk9iamVjdH0pXSxSPVtGKHt0eXBlOkFycmF5fSldLE89W0Yoe3R5cGU6Qm9vbGVhbn0pXSxxPVtGKHt0eXBlOkJvb2xlYW59KV0sRT1bRih7dHlwZTpOdW1iZXJ9KV0sVj1bRih7dHlwZTpCb29sZWFufSldLEs9W3NlKCldLE1lPVtzZSgpXSxTZT1bc2UoKV0sJD1bc2UoKV0sWT1bc2UoKV0sUG4odGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJtZW51SXRlbXMiaW4gVyxnZXQ6Vz0+Vy5tZW51SXRlbXMsc2V0OihXLGFlKT0+e1cubWVudUl0ZW1zPWFlfX0sbWV0YWRhdGE6R30scyxvKSxQbih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJyZWFkY3J1bWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iYnJlYWRjcnVtYnMiaW4gVyxnZXQ6Vz0+Vy5icmVhZGNydW1icyxzZXQ6KFcsYWUpPT57Vy5icmVhZGNydW1icz1hZX19LG1ldGFkYXRhOkd9LGwsdSksUG4odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJicmVhZGNydW1iU2VwYXJhdG9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iYnJlYWRjcnVtYlNlcGFyYXRvciJpbiBXLGdldDpXPT5XLmJyZWFkY3J1bWJTZXBhcmF0b3Isc2V0OihXLGFlKT0+e1cuYnJlYWRjcnVtYlNlcGFyYXRvcj1hZX19LG1ldGFkYXRhOkd9LGgsbSksUG4odGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93V2luZG93Q29udHJvbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJzaG93V2luZG93Q29udHJvbHMiaW4gVyxnZXQ6Vz0+Vy5zaG93V2luZG93Q29udHJvbHMsc2V0OihXLGFlKT0+e1cuc2hvd1dpbmRvd0NvbnRyb2xzPWFlfX0sbWV0YWRhdGE6R30sYixnKSxQbih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InVzZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJ1c2VyImluIFcsZ2V0Olc9PlcudXNlcixzZXQ6KFcsYWUpPT57Vy51c2VyPWFlfX0sbWV0YWRhdGE6R30sdyxrKSxQbih0aGlzLG51bGwsUix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb2ZpbGVNZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJwcm9maWxlTWVudUl0ZW1zImluIFcsZ2V0Olc9PlcucHJvZmlsZU1lbnVJdGVtcyxzZXQ6KFcsYWUpPT57Vy5wcm9maWxlTWVudUl0ZW1zPWFlfX0sbWV0YWRhdGE6R30sQyxTKSxQbih0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dTZWFyY2giLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJzaG93U2VhcmNoImluIFcsZ2V0Olc9Plcuc2hvd1NlYXJjaCxzZXQ6KFcsYWUpPT57Vy5zaG93U2VhcmNoPWFlfX0sbWV0YWRhdGE6R30sRCxOKSxQbih0aGlzLG51bGwscSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dBY3Rpdml0eUxvZ1RvZ2dsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+InNob3dBY3Rpdml0eUxvZ1RvZ2dsZSJpbiBXLGdldDpXPT5XLnNob3dBY3Rpdml0eUxvZ1RvZ2dsZSxzZXQ6KFcsYWUpPT57Vy5zaG93QWN0aXZpdHlMb2dUb2dnbGU9YWV9fSxtZXRhZGF0YTpHfSxfLHopLFBuKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZpdHlMb2dDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+ImFjdGl2aXR5TG9nQ291bnQiaW4gVyxnZXQ6Vz0+Vy5hY3Rpdml0eUxvZ0NvdW50LHNldDooVyxhZSk9PntXLmFjdGl2aXR5TG9nQ291bnQ9YWV9fSxtZXRhZGF0YTpHfSxULEwpLFBuKHRoaXMsbnVsbCxWLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZpdHlMb2dBY3RpdmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJhY3Rpdml0eUxvZ0FjdGl2ZSJpbiBXLGdldDpXPT5XLmFjdGl2aXR5TG9nQWN0aXZlLHNldDooVyxhZSk9PntXLmFjdGl2aXR5TG9nQWN0aXZlPWFlfX0sbWV0YWRhdGE6R30sQixVKSxQbih0aGlzLG51bGwsSyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZU1lbnUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJhY3RpdmVNZW51ImluIFcsZ2V0Olc9PlcuYWN0aXZlTWVudSxzZXQ6KFcsYWUpPT57Vy5hY3RpdmVNZW51PWFlfX0sbWV0YWRhdGE6R30sSSx2ZSksUG4odGhpcyxudWxsLE1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3BlbkRyb3Bkb3ducyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+Im9wZW5Ecm9wZG93bnMiaW4gVyxnZXQ6Vz0+Vy5vcGVuRHJvcGRvd25zLHNldDooVyxhZSk9PntXLm9wZW5Ecm9wZG93bnM9YWV9fSxtZXRhZGF0YTpHfSxQLGxlKSxQbih0aGlzLG51bGwsU2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmb2N1c2VkSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+ImZvY3VzZWRJdGVtImluIFcsZ2V0Olc9PlcuZm9jdXNlZEl0ZW0sc2V0OihXLGFlKT0+e1cuZm9jdXNlZEl0ZW09YWV9fSxtZXRhZGF0YTpHfSxaLEEpLFBuKHRoaXMsbnVsbCwkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZm9jdXNlZERyb3Bkb3duSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+ImZvY3VzZWREcm9wZG93bkl0ZW0iaW4gVyxnZXQ6Vz0+Vy5mb2N1c2VkRHJvcGRvd25JdGVtLHNldDooVyxhZSk9PntXLmZvY3VzZWREcm9wZG93bkl0ZW09YWV9fSxtZXRhZGF0YTpHfSxqLEgpLFBuKHRoaXMsbnVsbCxZLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQcm9maWxlRHJvcGRvd25PcGVuIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iaXNQcm9maWxlRHJvcGRvd25PcGVuImluIFcsZ2V0Olc9PlcuaXNQcm9maWxlRHJvcGRvd25PcGVuLHNldDooVyxhZSk9PntXLmlzUHJvZmlsZURyb3Bkb3duT3Blbj1hZX19LG1ldGFkYXRhOkd9LGRlLHdlKSxQbihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpHfSxudWxsLHIpLExlPWE9dC52YWx1ZSxHJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkd9KX1zdGF0aWMgZGVtbz1ybHI7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTsjZT1rcih0aGlzLHMsW10pO2dldCBtZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbWVudUl0ZW1zKEcpe3RoaXMuI2U9R30jdD0oa3IodGhpcyxvKSxrcih0aGlzLGwsIiIpKTtnZXQgYnJlYWRjcnVtYnMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYnJlYWRjcnVtYnMoRyl7dGhpcy4jdD1HfSNyPShrcih0aGlzLHUpLGtyKHRoaXMsaCwiID4gIikpO2dldCBicmVhZGNydW1iU2VwYXJhdG9yKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGJyZWFkY3J1bWJTZXBhcmF0b3IoRyl7dGhpcy4jcj1HfSNhPShrcih0aGlzLG0pLGtyKHRoaXMsYiwhMCkpO2dldCBzaG93V2luZG93Q29udHJvbHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1dpbmRvd0NvbnRyb2xzKEcpe3RoaXMuI2E9R30jaT0oa3IodGhpcyxnKSxrcih0aGlzLHcsdm9pZCAwKSk7Z2V0IHVzZXIoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdXNlcihHKXt0aGlzLiNpPUd9I249KGtyKHRoaXMsayksa3IodGhpcyxDLFtdKSk7Z2V0IHByb2ZpbGVNZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgcHJvZmlsZU1lbnVJdGVtcyhHKXt0aGlzLiNuPUd9I3M9KGtyKHRoaXMsUyksa3IodGhpcyxELCExKSk7Z2V0IHNob3dTZWFyY2goKXtyZXR1cm4gdGhpcy4jc31zZXQgc2hvd1NlYXJjaChHKXt0aGlzLiNzPUd9I289KGtyKHRoaXMsTiksa3IodGhpcyxfLCExKSk7Z2V0IHNob3dBY3Rpdml0eUxvZ1RvZ2dsZSgpe3JldHVybiB0aGlzLiNvfXNldCBzaG93QWN0aXZpdHlMb2dUb2dnbGUoRyl7dGhpcy4jbz1HfSNsPShrcih0aGlzLHopLGtyKHRoaXMsVCwwKSk7Z2V0IGFjdGl2aXR5TG9nQ291bnQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgYWN0aXZpdHlMb2dDb3VudChHKXt0aGlzLiNsPUd9I2M9KGtyKHRoaXMsTCksa3IodGhpcyxCLCExKSk7Z2V0IGFjdGl2aXR5TG9nQWN0aXZlKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGFjdGl2aXR5TG9nQWN0aXZlKEcpe3RoaXMuI2M9R30jZD0oa3IodGhpcyxVKSxrcih0aGlzLEksbnVsbCkpO2dldCBhY3RpdmVNZW51KCl7cmV0dXJuIHRoaXMuI2R9c2V0IGFjdGl2ZU1lbnUoRyl7dGhpcy4jZD1HfSN1PShrcih0aGlzLHZlKSxrcih0aGlzLFAsbmV3IFNldCkpO2dldCBvcGVuRHJvcGRvd25zKCl7cmV0dXJuIHRoaXMuI3V9c2V0IG9wZW5Ecm9wZG93bnMoRyl7dGhpcy4jdT1HfSNwPShrcih0aGlzLGxlKSxrcih0aGlzLFosbnVsbCkpO2dldCBmb2N1c2VkSXRlbSgpe3JldHVybiB0aGlzLiNwfXNldCBmb2N1c2VkSXRlbShHKXt0aGlzLiNwPUd9I2Y9KGtyKHRoaXMsQSksa3IodGhpcyxqLC0xKSk7Z2V0IGZvY3VzZWREcm9wZG93bkl0ZW0oKXtyZXR1cm4gdGhpcy4jZn1zZXQgZm9jdXNlZERyb3Bkb3duSXRlbShHKXt0aGlzLiNmPUd9I2g9KGtyKHRoaXMsSCksa3IodGhpcyxkZSwhMSkpO2dldCBpc1Byb2ZpbGVEcm9wZG93bk9wZW4oKXtyZXR1cm4gdGhpcy4jaH1zZXQgaXNQcm9maWxlRHJvcGRvd25PcGVuKEcpe3RoaXMuI2g9R31zdGF0aWMgc3R5bGVzPWlscjtyZW5kZXIoKXtyZXR1cm4gc2xyKHRoaXMpfXJlbmRlck1lbnVJdGVtcygpe3JldHVybiBNYAogICAgICAke3RoaXMubWVudUl0ZW1zLm1hcCgoRyxXKT0+dGhpcy5yZW5kZXJNZW51SXRlbShHLGBtZW51LSR7V31gKSl9CiAgICBgfXJlbmRlck1lbnVJdGVtKEcsVyl7aWYoImRpdmlkZXIiaW4gRyYmRy5kaXZpZGVyKXJldHVybiBNYDxkaXYgY2xhc3M9ImRyb3Bkb3duLWRpdmlkZXIiPjwvZGl2PmA7bGV0IGFlPUcseWU9dGhpcy5hY3RpdmVNZW51PT09VyxtZT1hZS5zdWJtZW51JiZhZS5zdWJtZW51Lmxlbmd0aD4wO3JldHVybiBNYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9Im1lbnVJdGVtICR7eWU/ImFjdGl2ZSI6IiJ9IgogICAgICAgID9kaXNhYmxlZD0ke2FlLmRpc2FibGVkfQogICAgICAgIHRhYmluZGV4PSIke2FlLmRpc2FibGVkPy0xOjB9IgogICAgICAgIGRhdGEtaXRlbS1pZD0iJHtXfSIKICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVNZW51Q2xpY2soYWUsVyl9CiAgICAgICAgQGtleWRvd249JHtDZT0+dGhpcy5oYW5kbGVNZW51S2V5ZG93bihDZSxhZSxXKX0KICAgICAgICByb2xlPSJtZW51aXRlbSIKICAgICAgICBhcmlhLWhhc3BvcHVwPSIke21lfSIKICAgICAgICBhcmlhLWV4cGFuZGVkPSIke3llfSIKICAgICAgPgogICAgICAgICR7YWUuaWNvbk5hbWU/TWA8ZGVlcy1pY29uIC5pY29uPSIke2BsdWNpZGU6JHthZS5pY29uTmFtZX1gfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAke2FlLm5hbWV9CiAgICAgICAgJHttZT90aGlzLnJlbmRlckRyb3Bkb3duKGFlLnN1Ym1lbnUsVyx5ZSk6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJEcm9wZG93bihHLFcsYWUpe3JldHVybiBNYAogICAgICA8ZGl2IAogICAgICAgIGNsYXNzPSJkcm9wZG93biAke2FlPyJvcGVuIjoiIn0iIAogICAgICAgIEBjbGljaz0ke3llPT55ZS5zdG9wUHJvcGFnYXRpb24oKX0KICAgICAgICBAa2V5ZG93bj0ke3llPT50aGlzLmhhbmRsZURyb3Bkb3duS2V5ZG93bih5ZSxHLFcpfQogICAgICAgIHRhYmluZGV4PSIke2FlPzA6LTF9IgogICAgICAgIHJvbGU9Im1lbnUiCiAgICAgID4KICAgICAgICAke0cubWFwKCh5ZSxtZSk9PnRoaXMucmVuZGVyRHJvcGRvd25JdGVtKHllLGAke1d9LSR7bWV9YCkpfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRHJvcGRvd25JdGVtKEcsVyl7aWYoImRpdmlkZXIiaW4gRyYmRy5kaXZpZGVyKXJldHVybiBNYDxkaXYgY2xhc3M9ImRyb3Bkb3duLWRpdmlkZXIiPjwvZGl2PmA7bGV0IGFlPUcseWU9cGFyc2VJbnQoVy5zcGxpdCgiLSIpLnBvcCgpfHwiMCIpLG1lPXRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT09PXllO3JldHVybiBNYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWl0ZW0gJHttZT8iZm9jdXNlZCI6IiJ9IgogICAgICAgID9kaXNhYmxlZD0ke2FlLmRpc2FibGVkfQogICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURyb3Bkb3duSXRlbUNsaWNrKGFlKX0KICAgICAgICBAbW91c2VlbnRlcj0keygpPT50aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09eWV9CiAgICAgICAgcm9sZT0ibWVudWl0ZW0iCiAgICAgICAgdGFiaW5kZXg9IiR7YWUuZGlzYWJsZWQ/LTE6MH0iCiAgICAgID4KICAgICAgICAke2FlLmljb25OYW1lP01gPGRlZXMtaWNvbiAuaWNvbj0iJHtgbHVjaWRlOiR7YWUuaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4+JHthZS5uYW1lfTwvc3Bhbj4KICAgICAgICAke2FlLnNob3J0Y3V0P01gPHNwYW4gY2xhc3M9InNob3J0Y3V0Ij4ke2FlLnNob3J0Y3V0fTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQnJlYWRjcnVtYnMoKXtpZighdGhpcy5icmVhZGNydW1icylyZXR1cm4gTWBgO2xldCBHPXRoaXMuYnJlYWRjcnVtYnMuc3BsaXQodGhpcy5icmVhZGNydW1iU2VwYXJhdG9yKTtyZXR1cm4gTWAKICAgICAgJHtHLm1hcCgoVyxhZSk9Pk1gCiAgICAgICAgJHthZT4wP01gPHNwYW4gY2xhc3M9ImJyZWFkY3J1bWItc2VwYXJhdG9yIj4ke3RoaXMuYnJlYWRjcnVtYlNlcGFyYXRvcn08L3NwYW4+YDoiIn0KICAgICAgICA8c3BhbiAKICAgICAgICAgIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iIAogICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQnJlYWRjcnVtYkNsaWNrKFcsYWUpfQogICAgICAgID4KICAgICAgICAgICR7V30KICAgICAgICA8L3NwYW4+CiAgICAgIGApfQogICAgYH1yZW5kZXJBY2NvdW50U2VjdGlvbigpe3JldHVybiBNYAogICAgICAke3RoaXMuc2hvd1NlYXJjaD9NYAogICAgICAgIDxkZWVzLWljb24KICAgICAgICAgIGNsYXNzPSJzZWFyY2gtaWNvbiIKICAgICAgICAgIC5pY29uPSR7Imx1Y2lkZTpzZWFyY2gifQogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVTZWFyY2hDbGlja30KICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgIGA6IiJ9CiAgICAgICR7dGhpcy51c2VyP01gCiAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLWluZm8iIEBjbGljaz0ke3RoaXMuaGFuZGxlVXNlckNsaWNrfT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1hdmF0YXIiPgogICAgICAgICAgICAgICR7dGhpcy51c2VyLmF2YXRhcj9NYDxpbWcgc3JjPSIke3RoaXMudXNlci5hdmF0YXJ9IiBhbHQ9IiR7dGhpcy51c2VyLm5hbWV9Ij5gOk1gJHt0aGlzLnVzZXIubmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX1gfQogICAgICAgICAgICAgICR7dGhpcy51c2VyLnN0YXR1cz9NYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1zdGF0dXMgJHt0aGlzLnVzZXIuc3RhdHVzfSI+PC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxzcGFuPiR7dGhpcy51c2VyLm5hbWV9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGVlcy1hcHB1aS1wcm9maWxlZHJvcGRvd24KICAgICAgICAgICAgLnVzZXI9JHt0aGlzLnVzZXJ9CiAgICAgICAgICAgIC5tZW51SXRlbXM9JHt0aGlzLnByb2ZpbGVNZW51SXRlbXN9CiAgICAgICAgICAgIC5pc09wZW49JHt0aGlzLmlzUHJvZmlsZURyb3Bkb3duT3Blbn0KICAgICAgICAgICAgLnBvc2l0aW9uPSR7InRvcC1yaWdodCJ9CiAgICAgICAgICAgIEBtZW51LXNlbGVjdD0ke0c9PnRoaXMuaGFuZGxlUHJvZmlsZU1lbnVTZWxlY3QoRyl9CiAgICAgICAgICA+PC9kZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93bj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgICAgJHt0aGlzLnNob3dBY3Rpdml0eUxvZ1RvZ2dsZT9NYAogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJhY3Rpdml0eS10b2dnbGUgJHt0aGlzLmFjdGl2aXR5TG9nQWN0aXZlPyJhY3RpdmUiOiIifSIKICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlQWN0aXZpdHlUb2dnbGV9CiAgICAgICAgICB0aXRsZT0iQWN0aXZpdHkgTG9nIgogICAgICAgID4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmFjdGl2aXR5In0+PC9kZWVzLWljb24+CiAgICAgICAgICAke3RoaXMuYWN0aXZpdHlMb2dDb3VudD4wP01gCiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhY3Rpdml0eS1iYWRnZSI+JHt0aGlzLmFjdGl2aXR5TG9nQ291bnQ+OTk/Ijk5KyI6dGhpcy5hY3Rpdml0eUxvZ0NvdW50fTwvc3Bhbj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICBgfWhhbmRsZU1lbnVDbGljayhHLFcpe0cuZGlzYWJsZWR8fChHLnN1Ym1lbnUmJkcuc3VibWVudS5sZW5ndGg+MD90aGlzLmFjdGl2ZU1lbnU9PT1XP3RoaXMuYWN0aXZlTWVudT1udWxsOnRoaXMuYWN0aXZlTWVudT1XOih0aGlzLmFjdGl2ZU1lbnU9bnVsbCxHLmFjdGlvbiYmRy5hY3Rpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtZW51LXNlbGVjdCIse2RldGFpbDp7aXRlbTpHfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKSl9aGFuZGxlRHJvcGRvd25JdGVtQ2xpY2soRyl7Ry5kaXNhYmxlZHx8KHRoaXMuYWN0aXZlTWVudT1udWxsLEcuYWN0aW9uJiZHLmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1lbnUtc2VsZWN0Iix7ZGV0YWlsOntpdGVtOkd9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpfWhhbmRsZU1lbnVLZXlkb3duKEcsVyxhZSl7c3dpdGNoKEcua2V5KXtjYXNlIkVudGVyIjpjYXNlIiAiOkcucHJldmVudERlZmF1bHQoKSx0aGlzLmhhbmRsZU1lbnVDbGljayhXLGFlKTticmVhaztjYXNlIkFycm93RG93biI6aWYoVy5zdWJtZW51JiZ0aGlzLmFjdGl2ZU1lbnU9PT1hZSl7Ry5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0wO2xldCB5ZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKFcuc3VibWVudSwtMSwxKTt5ZSE9PS0xJiYodGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPXllLHNldFRpbWVvdXQoKCk9PntsZXQgbWU9dGhpcy5yZW5kZXJSb290LnF1ZXJ5U2VsZWN0b3IoIi5kcm9wZG93bi5vcGVuIik7bWUmJm1lLmZvY3VzKCl9LDApKX1icmVhaztjYXNlIkVzY2FwZSI6dGhpcy5hY3RpdmVNZW51PW51bGwsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPS0xO2JyZWFrO2Nhc2UiVGFiIjp0aGlzLmFjdGl2ZU1lbnU9PT1hZSYmKHRoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMSk7YnJlYWs7Y2FzZSJBcnJvd1JpZ2h0IjpHLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c05leHRNZW51SXRlbShhZSwxKTticmVhaztjYXNlIkFycm93TGVmdCI6Ry5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNOZXh0TWVudUl0ZW0oYWUsLTEpO2JyZWFrfX1oYW5kbGVCcmVhZGNydW1iQ2xpY2soRyxXKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJicmVhZGNydW1iLW5hdmlnYXRlIix7ZGV0YWlsOnticmVhZGNydW1iOkcsaW5kZXg6V30sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTZWFyY2hDbGljaygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlYXJjaC1jbGljayIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQWN0aXZpdHlUb2dnbGUoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhY3Rpdml0eS10b2dnbGUiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVVzZXJDbGljaygpe3RoaXMuaXNQcm9maWxlRHJvcGRvd25PcGVuPSF0aGlzLmlzUHJvZmlsZURyb3Bkb3duT3Blbix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ1c2VyLW1lbnUtb3BlbiIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlUHJvZmlsZU1lbnVTZWxlY3QoRyl7dGhpcy5pc1Byb2ZpbGVEcm9wZG93bk9wZW49ITEsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicHJvZmlsZS1tZW51LXNlbGVjdCIse2RldGFpbDpHLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUdsb2JhbENsaWNrKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVEb2N1bWVudENsaWNrKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlRG9jdW1lbnRDbGljayl9aGFuZGxlR2xvYmFsQ2xpY2s9KGtyKHRoaXMsd2UpLEc9PntHLnN0b3BQcm9wYWdhdGlvbigpfSk7aGFuZGxlRG9jdW1lbnRDbGljaz0oKT0+e3RoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMX07aGFuZGxlRHJvcGRvd25LZXlkb3duKEcsVyxhZSl7bGV0IHllPVcuZmlsdGVyKG1lPT4hKCJkaXZpZGVyImluIG1lJiZtZS5kaXZpZGVyKSk7c3dpdGNoKEcua2V5KXtjYXNlIkFycm93RG93biI6Ry5wcmV2ZW50RGVmYXVsdCgpO2xldCBtZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKFcsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtLDEpO21lIT09LTEmJih0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09bWUpO2JyZWFrO2Nhc2UiQXJyb3dVcCI6Ry5wcmV2ZW50RGVmYXVsdCgpO2xldCBDZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKFcsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtLC0xKTtDZSE9PS0xJiYodGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPUNlKTticmVhaztjYXNlIkVudGVyIjppZihHLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtIT09LTEpe2xldCBJZT15ZVt0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW1dO0llJiYiYWN0aW9uImluIEllJiYhSWUuZGlzYWJsZWQmJnRoaXMuaGFuZGxlRHJvcGRvd25JdGVtQ2xpY2soSWUpfWJyZWFrO2Nhc2UiSG9tZSI6Ry5wcmV2ZW50RGVmYXVsdCgpO2xldCBiZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKFcsLTEsMSk7YmUhPT0tMSYmKHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT1iZSk7YnJlYWs7Y2FzZSJFbmQiOkcucHJldmVudERlZmF1bHQoKTtsZXQgbmU9dGhpcy5maW5kTmV4dFZhbGlkSXRlbShXLFcubGVuZ3RoLC0xKTtuZSE9PS0xJiYodGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPW5lKTticmVhaztjYXNlIkVzY2FwZSI6Ry5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMTtsZXQgemU9dGhpcy5yZW5kZXJSb290LnF1ZXJ5U2VsZWN0b3IoIi5tZW51SXRlbS5hY3RpdmUiKTt6ZSYmemUuZm9jdXMoKTticmVha319ZmluZE5leHRWYWxpZEl0ZW0oRyxXLGFlKXtsZXQgeWU9VythZTtmb3IoO3llPj0wJiZ5ZTxHLmxlbmd0aDspe2xldCBtZT1HW3llXTtpZighKCJkaXZpZGVyImluIG1lJiZtZS5kaXZpZGVyKSYmISgiZGlzYWJsZWQiaW4gbWUmJm1lLmRpc2FibGVkKSlyZXR1cm4geWU7eWUrPWFlfXJldHVybi0xfWZvY3VzTmV4dE1lbnVJdGVtKEcsVyl7bGV0IGFlPUFycmF5LmZyb20odGhpcy5yZW5kZXJSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tZW51SXRlbSIpKSx5ZT1hZS5maW5kSW5kZXgoYmU9PmJlLmdldEF0dHJpYnV0ZSgiZGF0YS1pdGVtLWlkIik9PT1HKTtpZih5ZT09PS0xKXJldHVybjtsZXQgbWU9eWUrVzttZTwwP21lPWFlLmxlbmd0aC0xOm1lPj1hZS5sZW5ndGgmJihtZT0wKTtsZXQgQ2U9MDtmb3IoO0NlPGFlLmxlbmd0aDspe2xldCBiZT1hZVttZV07aWYoIWJlLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7YmUuZm9jdXMoKSx0aGlzLmFjdGl2ZU1lbnUmJih0aGlzLmFjdGl2ZU1lbnU9bnVsbCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09LTEpO2JyZWFrfW1lPShtZStXK2FlLmxlbmd0aCklYWUubGVuZ3RoLENlKyt9fXN0YXRpY3trcihhLHIpfX07cmV0dXJuIExlPWF9KSgpfSk7dmFyIEJkZT1mKCgpPT57TmRlKCl9KTt2YXIgdWxyLHBscixmbHI9ZigoKT0+e3VlKCk7aGEoKTtwbHI9KCk9Pk0odWxyfHwodWxyPUx1KFtgCiAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgPHN0eWxlPgogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhOwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tbGFiZWwgewogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICM3MzczNzM7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tYm90dG9tYmFyLXdyYXBwZXIgewogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgaHNsKDAgMCUgMjAlKTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tbGFiZWwiPkJvdHRvbSBiYXIgd2l0aCBzdGF0dXMgd2lkZ2V0cyBhbmQgYWN0aW9uczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ib3R0b21iYXItd3JhcHBlciI+CiAgICAgICAgICAgIDxkZWVzLWFwcHVpLWJvdHRvbWJhcgogICAgICAgICAgICAgIGlkPSJkZW1vLWJvdHRvbWJhciIKICAgICAgICAgICAgPjwvZGVlcy1hcHB1aS1ib3R0b21iYXI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tbGFiZWwiPkNvbnRyb2xzPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgZmxleC13cmFwOiB3cmFwOyI+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkU3VjY2Vzc1dpZGdldCgpIj5BZGQgU3VjY2VzcyBXaWRnZXQ8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJhZGRXYXJuaW5nV2lkZ2V0KCkiPkFkZCBXYXJuaW5nIFdpZGdldDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZEVycm9yV2lkZ2V0KCkiPkFkZCBFcnJvciBXaWRnZXQ8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJhZGRMb2FkaW5nV2lkZ2V0KCkiPkFkZCBMb2FkaW5nIFdpZGdldDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZFJpZ2h0V2lkZ2V0KCkiPkFkZCBSaWdodCBXaWRnZXQ8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJhZGRBY3Rpb24oKSI+QWRkIEFjdGlvbjwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImNsZWFyQWxsKCkiPkNsZWFyIEFsbDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+CiAgICAgICAgY29uc3QgYm90dG9tYmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RlbW8tYm90dG9tYmFyJyk7CgogICAgICAgIC8vIFdhaXQgZm9yIGNvbXBvbmVudCB0byBpbml0aWFsaXplCiAgICAgICAgYXdhaXQgYm90dG9tYmFyLnVwZGF0ZUNvbXBsZXRlOwoKICAgICAgICAvLyBBZGQgaW5pdGlhbCB3aWRnZXRzCiAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICBpZDogJ3N0YXR1cycsCiAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTphY3Rpdml0eScsCiAgICAgICAgICBsYWJlbDogJ1N5c3RlbSBPbmxpbmUnLAogICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsCiAgICAgICAgICB0b29sdGlwOiAnQWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwnLAogICAgICAgICAgb25DbGljazogKCkgPT4gY29uc29sZS5sb2coJ1N0YXR1cyBjbGlja2VkJyksCiAgICAgICAgICBjb250ZXh0TWVudUl0ZW1zOiBbCiAgICAgICAgICAgIHsgbmFtZTogJ1ZpZXcgRGV0YWlscycsIGljb25OYW1lOiAnbHVjaWRlOmluZm8nLCBhY3Rpb246ICgpID0+IGFsZXJ0KCdTeXN0ZW0gZGV0YWlscycpIH0sCiAgICAgICAgICAgIHsgZGl2aWRlcjogdHJ1ZSB9LAogICAgICAgICAgICB7IG5hbWU6ICdSZWZyZXNoIFN0YXR1cycsIGljb25OYW1lOiAnbHVjaWRlOnJlZnJlc2hDdycsIGFjdGlvbjogKCkgPT4gYWxlcnQoJ1JlZnJlc2hpbmcuLi4nKSB9LAogICAgICAgICAgXSwKICAgICAgICB9KTsKCiAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICBpZDogJ25vdGlmaWNhdGlvbnMnLAogICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6YmVsbCcsCiAgICAgICAgICBsYWJlbDogJzMgbm90aWZpY2F0aW9ucycsCiAgICAgICAgICBzdGF0dXM6ICd3YXJuaW5nJywKICAgICAgICAgIHRvb2x0aXA6ICdZb3UgaGF2ZSB1bnJlYWQgbm90aWZpY2F0aW9ucycsCiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBjb25zb2xlLmxvZygnTm90aWZpY2F0aW9ucyBjbGlja2VkJyksCiAgICAgICAgfSk7CgogICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgaWQ6ICd2ZXJzaW9uJywKICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmdpdEJyYW5jaCcsCiAgICAgICAgICBsYWJlbDogJ3YxLjIuMycsCiAgICAgICAgICB0b29sdGlwOiAnQ3VycmVudCB2ZXJzaW9uJywKICAgICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLAogICAgICAgICAgb25DbGljazogKCkgPT4gY29uc29sZS5sb2coJ1ZlcnNpb24gY2xpY2tlZCcpLAogICAgICAgIH0pOwoKICAgICAgICAvLyBBZGQgaW5pdGlhbCBhY3Rpb25zCiAgICAgICAgYm90dG9tYmFyLmFkZEFjdGlvbih7CiAgICAgICAgICBpZDogJ3NldHRpbmdzJywKICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOnNldHRpbmdzJywKICAgICAgICAgIHRvb2x0aXA6ICdTZXR0aW5ncycsCiAgICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JywKICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGFsZXJ0KCdTZXR0aW5ncyBjbGlja2VkJyksCiAgICAgICAgfSk7CgogICAgICAgIGJvdHRvbWJhci5hZGRBY3Rpb24oewogICAgICAgICAgaWQ6ICdoZWxwJywKICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmhlbHBDaXJjbGUnLAogICAgICAgICAgdG9vbHRpcDogJ0hlbHAnLAogICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBhbGVydCgnSGVscCBjbGlja2VkJyksCiAgICAgICAgfSk7CgogICAgICAgIC8vIERlbW8gY29udHJvbCBmdW5jdGlvbnMKICAgICAgICBsZXQgd2lkZ2V0Q291bnRlciA9IDA7CiAgICAgICAgbGV0IGFjdGlvbkNvdW50ZXIgPSAwOwoKICAgICAgICB3aW5kb3cuYWRkU3VjY2Vzc1dpZGdldCA9ICgpID0+IHsKICAgICAgICAgIHdpZGdldENvdW50ZXIrKzsKICAgICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgICBpZDogJ3N1Y2Nlc3MtJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmNoZWNrQ2lyY2xlJywKICAgICAgICAgICAgbGFiZWw6ICdTdWNjZXNzICcgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJywKICAgICAgICAgICAgdG9vbHRpcDogJ1N1Y2Nlc3Mgd2lkZ2V0JywKICAgICAgICAgICAgb25DbGljazogKCkgPT4gYm90dG9tYmFyLnJlbW92ZVdpZGdldCgnc3VjY2Vzcy0nICsgd2lkZ2V0Q291bnRlciksCiAgICAgICAgICB9KTsKICAgICAgICB9OwoKICAgICAgICB3aW5kb3cuYWRkV2FybmluZ1dpZGdldCA9ICgpID0+IHsKICAgICAgICAgIHdpZGdldENvdW50ZXIrKzsKICAgICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgICBpZDogJ3dhcm5pbmctJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmFsZXJ0VHJpYW5nbGUnLAogICAgICAgICAgICBsYWJlbDogJ1dhcm5pbmcgJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIHN0YXR1czogJ3dhcm5pbmcnLAogICAgICAgICAgICB0b29sdGlwOiAnV2FybmluZyB3aWRnZXQnLAogICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBib3R0b21iYXIucmVtb3ZlV2lkZ2V0KCd3YXJuaW5nLScgKyB3aWRnZXRDb3VudGVyKSwKICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5hZGRFcnJvcldpZGdldCA9ICgpID0+IHsKICAgICAgICAgIHdpZGdldENvdW50ZXIrKzsKICAgICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgICBpZDogJ2Vycm9yLScgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTp4Q2lyY2xlJywKICAgICAgICAgICAgbGFiZWw6ICdFcnJvciAnICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgc3RhdHVzOiAnZXJyb3InLAogICAgICAgICAgICB0b29sdGlwOiAnRXJyb3Igd2lkZ2V0JywKICAgICAgICAgICAgb25DbGljazogKCkgPT4gYm90dG9tYmFyLnJlbW92ZVdpZGdldCgnZXJyb3ItJyArIHdpZGdldENvdW50ZXIpLAogICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmFkZExvYWRpbmdXaWRnZXQgPSAoKSA9PiB7CiAgICAgICAgICB3aWRnZXRDb3VudGVyKys7CiAgICAgICAgICBjb25zdCBpZCA9ICdsb2FkaW5nLScgKyB3aWRnZXRDb3VudGVyOwogICAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICAgIGlkOiBpZCwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6bG9hZGVyMicsCiAgICAgICAgICAgIGxhYmVsOiAnTG9hZGluZy4uLicsCiAgICAgICAgICAgIHN0YXR1czogJ2FjdGl2ZScsCiAgICAgICAgICAgIGxvYWRpbmc6IHRydWUsCiAgICAgICAgICAgIHRvb2x0aXA6ICdMb2FkaW5nIGluIHByb2dyZXNzJywKICAgICAgICAgIH0pOwoKICAgICAgICAgIC8vIFNpbXVsYXRlIGNvbXBsZXRpb24gYWZ0ZXIgMyBzZWNvbmRzCiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgYm90dG9tYmFyLnVwZGF0ZVdpZGdldChpZCwgewogICAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmNoZWNrJywKICAgICAgICAgICAgICBsYWJlbDogJ0RvbmUhJywKICAgICAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJywKICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9LCAzMDAwKTsKICAgICAgICB9OwoKICAgICAgICB3aW5kb3cuYWRkUmlnaHRXaWRnZXQgPSAoKSA9PiB7CiAgICAgICAgICB3aWRnZXRDb3VudGVyKys7CiAgICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgICAgaWQ6ICdyaWdodC0nICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6aW5mbycsCiAgICAgICAgICAgIGxhYmVsOiAnUmlnaHQgJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLAogICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBib3R0b21iYXIucmVtb3ZlV2lkZ2V0KCdyaWdodC0nICsgd2lkZ2V0Q291bnRlciksCiAgICAgICAgICB9KTsKICAgICAgICB9OwoKICAgICAgICB3aW5kb3cuYWRkQWN0aW9uID0gKCkgPT4gewogICAgICAgICAgYWN0aW9uQ291bnRlcisrOwogICAgICAgICAgYm90dG9tYmFyLmFkZEFjdGlvbih7CiAgICAgICAgICAgIGlkOiAnYWN0aW9uLScgKyBhY3Rpb25Db3VudGVyLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTp6YXAnLAogICAgICAgICAgICB0b29sdGlwOiAnQWN0aW9uICcgKyBhY3Rpb25Db3VudGVyLAogICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7CiAgICAgICAgICAgICAgYWxlcnQoJ0FjdGlvbiAnICsgYWN0aW9uQ291bnRlciArICcgY2xpY2tlZCcpOwogICAgICAgICAgICAgIGJvdHRvbWJhci5yZW1vdmVBY3Rpb24oJ2FjdGlvbi0nICsgYWN0aW9uQ291bnRlcik7CiAgICAgICAgICAgIH0sCiAgICAgICAgICB9KTsKICAgICAgICB9OwoKICAgICAgICB3aW5kb3cuY2xlYXJBbGwgPSAoKSA9PiB7CiAgICAgICAgICBib3R0b21iYXIuY2xlYXJXaWRnZXRzKCk7CiAgICAgICAgICBib3R0b21iYXIuY2xlYXJBY3Rpb25zKCk7CiAgICAgICAgICB3aWRnZXRDb3VudGVyID0gMDsKICAgICAgICAgIGFjdGlvbkNvdW50ZXIgPSAwOwogICAgICAgIH07CiAgICAgIDxcL3NjcmlwdD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgXSkpKX0pO3ZhciBIZGUsQWIsaGxyLHFkZT1mKCgpPT57dWUoKTtRZSgpO2lyKCk7TWkoKTtmbHIoKTtIZGU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxBYj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0saGxyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1hcHB1aS1ib3R0b21iYXIiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGg9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bc2UoKV0sYz1bc2UoKV0sSGRlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2lkZ2V0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+IndpZGdldHMiaW4gbSxnZXQ6bT0+bS53aWRnZXRzLHNldDoobSx2KT0+e20ud2lkZ2V0cz12fX0sbWV0YWRhdGE6aH0scyxvKSxIZGUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4iYWN0aW9ucyJpbiBtLGdldDptPT5tLmFjdGlvbnMsc2V0OihtLHYpPT57bS5hY3Rpb25zPXZ9fSxtZXRhZGF0YTpofSxsLHUpLEhkZShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBkZW1vPXBscjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPUFiKHRoaXMscyxbXSk7Z2V0IHdpZGdldHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgd2lkZ2V0cyhoKXt0aGlzLiNlPWh9I3Q9KEFiKHRoaXMsbyksQWIodGhpcyxsLFtdKSk7Z2V0IGFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYWN0aW9ucyhoKXt0aGlzLiN0PWh9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ib3R0b20tYmFyIHsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NCUpIiwiaHNsKDAgMCUgNiUpIil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNDAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC53aWRnZXQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0IGRlZXMtaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC53aWRnZXQtc2VwYXJhdG9yIHsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODAlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgLyogU3RhdHVzIGNvbG9ycyBtYXRjaGluZyBkZWVzLXdvcmtzcGFjZS1ib3R0b21iYXIgKi8KICAgICAgLndpZGdldC5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQ1JSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC5zdWNjZXNzIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgxNDIgNzAlIDM1JSkiLCJoc2woMTQyIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0Lndhcm5pbmcgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDM4IDkyJSA0NSUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LmVycm9yIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9CiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgIH0KCiAgICAgIC5zcGlubmluZyB7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgLnNwYWNlciB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRpc2FibGVkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgaD10aGlzLndpZGdldHMuZmlsdGVyKGc9PmcucG9zaXRpb24hPT0icmlnaHQiKS5zb3J0KChnLHkpPT4oZy5vcmRlcnx8MCktKHkub3JkZXJ8fDApKSxtPXRoaXMud2lkZ2V0cy5maWx0ZXIoZz0+Zy5wb3NpdGlvbj09PSJyaWdodCIpLnNvcnQoKGcseSk9PihnLm9yZGVyfHwwKS0oeS5vcmRlcnx8MCkpLHY9dGhpcy5hY3Rpb25zLmZpbHRlcihnPT5nLnBvc2l0aW9uPT09ImxlZnQiKSxiPXRoaXMuYWN0aW9ucy5maWx0ZXIoZz0+Zy5wb3NpdGlvbiE9PSJsZWZ0Iik7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS1iYXIiPgogICAgICAgIDwhLS0gTGVmdCBhY3Rpb25zIC0tPgogICAgICAgICR7di5tYXAoZz0+dGhpcy5yZW5kZXJBY3Rpb24oZykpfQoKICAgICAgICA8IS0tIExlZnQgd2lkZ2V0cyAtLT4KICAgICAgICAke2gubWFwKChnLHkpPT5NYAogICAgICAgICAgJHt5PjB8fHYubGVuZ3RoPjA/TWA8ZGl2IGNsYXNzPSJ3aWRnZXQtc2VwYXJhdG9yIj48L2Rpdj5gOiIifQogICAgICAgICAgJHt0aGlzLnJlbmRlcldpZGdldChnKX0KICAgICAgICBgKX0KCiAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KCiAgICAgICAgPCEtLSBSaWdodCB3aWRnZXRzIC0tPgogICAgICAgICR7bS5tYXAoKGcseSk9Pk1gCiAgICAgICAgICAke3RoaXMucmVuZGVyV2lkZ2V0KGcpfQogICAgICAgICAgJHt5PG0ubGVuZ3RoLTF8fGIubGVuZ3RoPjA/TWA8ZGl2IGNsYXNzPSJ3aWRnZXQtc2VwYXJhdG9yIj48L2Rpdj5gOiIifQogICAgICAgIGApfQoKICAgICAgICA8IS0tIFJpZ2h0IGFjdGlvbnMgLS0+CiAgICAgICAgJHtiLm1hcChnPT50aGlzLnJlbmRlckFjdGlvbihnKSl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJXaWRnZXQoaCl7bGV0IG09aC5zdGF0dXMmJmguc3RhdHVzIT09ImlkbGUiP2guc3RhdHVzOiIiLHY9aC5pY29uTmFtZT9oLmljb25OYW1lLnN0YXJ0c1dpdGgoImx1Y2lkZToiKT9oLmljb25OYW1lOmBsdWNpZGU6JHtoLmljb25OYW1lfWA6IiI7cmV0dXJuIE1gCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0id2lkZ2V0ICR7bX0iCiAgICAgICAgdGl0bGU9IiR7aC50b29sdGlwfHwiIn0iCiAgICAgICAgQGNsaWNrPSR7KCk9Pmgub25DbGljaz8uKCl9CiAgICAgICAgQGNvbnRleHRtZW51PSR7Yj0+dGhpcy5oYW5kbGVXaWRnZXRDb250ZXh0TWVudShiLGgpfQogICAgICA+CiAgICAgICAgJHt2P01gCiAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgIC5pY29uPSR7dn0KICAgICAgICAgICAgaWNvblNpemU9IjEyIgogICAgICAgICAgICBjbGFzcz0iJHtoLmxvYWRpbmc/InNwaW5uaW5nIjoiIn0iCiAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgYDoiIn0KICAgICAgICAke2gubGFiZWw/TWA8c3Bhbj4ke2gubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJBY3Rpb24oaCl7bGV0IG09aC5pY29uTmFtZS5zdGFydHNXaXRoKCJsdWNpZGU6Iik/aC5pY29uTmFtZTpgbHVjaWRlOiR7aC5pY29uTmFtZX1gO3JldHVybiBNYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImFjdGlvbi1idXR0b24gJHtoLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIHRpdGxlPSIke2gudG9vbHRpcHx8IiJ9IgogICAgICAgIEBjbGljaz0keygpPT4haC5kaXNhYmxlZCYmaC5vbkNsaWNrPy4oKX0KICAgICAgPgogICAgICAgIDxkZWVzLWljb24KICAgICAgICAgIC5pY29uPSR7bX0KICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBoYW5kbGVXaWRnZXRDb250ZXh0TWVudShoLG0pe2lmKCFtLmNvbnRleHRNZW51SXRlbXN8fG0uY29udGV4dE1lbnVJdGVtcy5sZW5ndGg9PT0wKXJldHVybjtoLnByZXZlbnREZWZhdWx0KCk7bGV0IHY9W107Zm9yKGxldCBiIG9mIG0uY29udGV4dE1lbnVJdGVtcyliLmRpdmlkZXI/di5wdXNoKHtkaXZpZGVyOiEwfSk6di5wdXNoKHtuYW1lOmIubmFtZSxpY29uTmFtZTpiLmljb25OYW1lLGFjdGlvbjphc3luYygpPT57YXdhaXQgYi5hY3Rpb24oKX0sZGlzYWJsZWQ6Yi5kaXNhYmxlZH0pO2F3YWl0IE1yLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGgsdil9YWRkV2lkZ2V0KGgpe3RoaXMud2lkZ2V0cz10aGlzLndpZGdldHMuZmlsdGVyKG09Pm0uaWQhPT1oLmlkKSx0aGlzLndpZGdldHM9Wy4uLnRoaXMud2lkZ2V0cyxoXX11cGRhdGVXaWRnZXQoaCxtKXt0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcCh2PT52LmlkPT09aD97Li4udiwuLi5tfTp2KX1yZW1vdmVXaWRnZXQoaCl7dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5maWx0ZXIobT0+bS5pZCE9PWgpfWdldFdpZGdldChoKXtyZXR1cm4gdGhpcy53aWRnZXRzLmZpbmQobT0+bS5pZD09PWgpfWNsZWFyV2lkZ2V0cygpe3RoaXMud2lkZ2V0cz1bXX1hZGRBY3Rpb24oaCl7dGhpcy5hY3Rpb25zPXRoaXMuYWN0aW9ucy5maWx0ZXIobT0+bS5pZCE9PWguaWQpLHRoaXMuYWN0aW9ucz1bLi4udGhpcy5hY3Rpb25zLGhdfXJlbW92ZUFjdGlvbihoKXt0aGlzLmFjdGlvbnM9dGhpcy5hY3Rpb25zLmZpbHRlcihtPT5tLmlkIT09aCl9Y2xlYXJBY3Rpb25zKCl7dGhpcy5hY3Rpb25zPVtdfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxBYih0aGlzLHUpfXN0YXRpY3tBYihhLHIpfX07cmV0dXJuIGQ9YX0pKCl9KTt2YXIgbWxyPWYoKCk9PntxZGUoKX0pO3ZhciBnbHIsYmxyPWYoKCk9Pnt1ZSgpO2dscj0oKT0+TWAKICA8c3R5bGU+CiAgICAke0pgCiAgICAgIC5kZW1vLWJhY2tncm91bmQgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA1JSkiKX07CiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIG1hcmdpbjogMzJweCAwIDE2cHggMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CiAgICAgIAogICAgICAuc2VjdGlvbi10aXRsZTpmaXJzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5ncmlkLTNjb2wgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjhweCkgewogICAgICAgIC5ncmlkLTNjb2wgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tYmFja2dyb3VuZCI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RGVmYXVsdCBQYW5lbHM8L2gyPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlBhbmVsIENvbXBvbmVudCJ9IC5zdWJ0aXRsZT0keyJUaGUgZGVmYXVsdCBwYW5lbCB2YXJpYW50IHdpdGggc2hhZGNuLWluc3BpcmVkIHN0eWxpbmcifT4KICAgICAgICA8cD5UaGUgcGFuZWwgY29tcG9uZW50IGF1dG9tYXRpY2FsbHkgZm9sbG93cyB0aGUgdGhlbWUgYW5kIHByb3ZpZGVzIGNvbnNpc3RlbnQgc3R5bGluZyBmb3IgZ3JvdXBlZCBjb250ZW50LjwvcD4KICAgICAgICA8cD5JdCdzIHBlcmZlY3QgZm9yIGNyZWF0aW5nIHNlY3Rpb25zIGluIHlvdXIgYXBwbGljYXRpb24gd2l0aCBwcm9wZXIgc3BhY2luZyBhbmQgYm9yZGVycy48L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRmVhdHVyZSBPdmVydmlldyJ9IC5zdWJ0aXRsZT0keyJLZXkgY2FwYWJpbGl0aWVzIn0+CiAgICAgICAgICA8cD5HcmlkIGxheW91dHMgd29yayBncmVhdCB3aXRoIHBhbmVscyBmb3IgY3JlYXRpbmcgZGFzaGJvYXJkcyBhbmQgZmVhdHVyZSBzZWN0aW9ucy48L3A+CiAgICAgICAgICA8ZGVlcy1idXR0b24+TGVhcm4gTW9yZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJRdWljayBBY3Rpb25zIn0gLnN1YnRpdGxlPSR7IkNvbW1vbiB0YXNrcyJ9PgogICAgICAgICAgPHA+RWFjaCBwYW5lbCBtYWludGFpbnMgY29uc2lzdGVudCBzcGFjaW5nIGFuZCBzdHlsaW5nIGFjcm9zcyB5b3VyIGFwcGxpY2F0aW9uLjwvcD4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5HZXQgU3RhcnRlZDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UGFuZWwgVmFyaWFudHM8L2gyPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkRlZmF1bHQgVmFyaWFudCJ9IC52YXJpYW50PSR7ImRlZmF1bHQifT4KICAgICAgICA8cD5UaGUgZGVmYXVsdCB2YXJpYW50IGhhcyBhIHdoaXRlIGJhY2tncm91bmQsIHN1YnRsZSBib3JkZXIsIGFuZCBtaW5pbWFsIHNoYWRvdy4gSXQncyB0aGUgc3RhbmRhcmQgY2hvaWNlIGZvciBtb3N0IGNvbnRlbnQuPC9wPgogICAgICAgIDxwPlVzZSA8Y29kZT52YXJpYW50PSJkZWZhdWx0IjwvY29kZT4gb3Igb21pdCB0aGUgdmFyaWFudCBwcm9wZXJ0eS48L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJPdXRsaW5lIFZhcmlhbnQifSAuc3VidGl0bGU9JHsiVHJhbnNwYXJlbnQgYmFja2dyb3VuZCB3aXRoIGJvcmRlciJ9IC52YXJpYW50PSR7Im91dGxpbmUifT4KICAgICAgICA8cD5UaGUgb3V0bGluZSB2YXJpYW50IHJlbW92ZXMgdGhlIGJhY2tncm91bmQgY29sb3IgYW5kIHNoYWRvdywga2VlcGluZyBvbmx5IHRoZSBib3JkZXIuPC9wPgogICAgICAgIDxwPlVzZSA8Y29kZT52YXJpYW50PSJvdXRsaW5lIjwvY29kZT4gZm9yIGEgbGlnaHRlciB2aXN1YWwgd2VpZ2h0LjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ikdob3N0IFZhcmlhbnQifSAuc3VidGl0bGU9JHsiTWluaW1hbCBzdHlsaW5nIGZvciBzdWJ0bGUgc2VjdGlvbnMifSAudmFyaWFudD0keyJnaG9zdCJ9PgogICAgICAgIDxwPlRoZSBnaG9zdCB2YXJpYW50IGhhcyBubyBib3JkZXIgb3IgYmFja2dyb3VuZCBieSBkZWZhdWx0LCBvbmx5IHNob3dpbmcgYSBzdWJ0bGUgYmFja2dyb3VuZCBvbiBob3Zlci48L3A+CiAgICAgICAgPHA+VXNlIDxjb2RlPnZhcmlhbnQ9Imdob3N0IjwvY29kZT4gZm9yIHRoZSBtb3N0IG1pbmltYWwgYXBwZWFyYW5jZS48L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UGFuZWwgU2l6ZXM8L2gyPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZ3JpZC0zY29sIj4KICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU21hbGwgUGFuZWwifSAuc2l6ZT0keyJzbSJ9PgogICAgICAgICAgPHA+Q29tcGFjdCBwYWRkaW5nIGZvciBkZW5zZSBsYXlvdXRzLjwvcD4KICAgICAgICAgIDxwPlVzZSA8Y29kZT5zaXplPSJzbSI8L2NvZGU+PC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgICAKICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTWVkaXVtIFBhbmVsIn0gLnNpemU9JHsibWQifT4KICAgICAgICAgIDxwPkRlZmF1bHQgc2l6ZSB3aXRoIGJhbGFuY2VkIHNwYWNpbmcuPC9wPgogICAgICAgICAgPHA+VXNlIDxjb2RlPnNpemU9Im1kIjwvY29kZT4gb3Igb21pdC48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJMYXJnZSBQYW5lbCJ9IC5zaXplPSR7ImxnIn0+CiAgICAgICAgICA8cD5HZW5lcm91cyBwYWRkaW5nIGZvciBwcm9taW5lbnQgc2VjdGlvbnMuPC9wPgogICAgICAgICAgPHA+VXNlIDxjb2RlPnNpemU9ImxnIjwvY29kZT48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q29tcGxleCBFeGFtcGxlczwvaDI+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRm9ybSBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IlBhbmVscyB3b3JrIGdyZWF0IGZvciBvcmdhbml6aW5nIGZvcm0gc2VjdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiUHJvamVjdCBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiRGVzY3JpcHRpb24ifSAuaW5wdXRUeXBlPSR7InRleHRhcmVhIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93biAKICAgICAgICAgICAgLmxhYmVsPSR7IkNhdGVnb3J5In0gCiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IldlYiBEZXZlbG9wbWVudCIsa2V5OiJ3ZWIifSx7b3B0aW9uOiJNb2JpbGUgQXBwIixrZXk6Im1vYmlsZSJ9LHtvcHRpb246IkRlc2t0b3AgU29mdHdhcmUiLGtleToiZGVza3RvcCJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5DcmVhdGUgUHJvamVjdDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik5lc3RlZCBQYW5lbHMifSAuc3VidGl0bGU9JHsiUGFuZWxzIGNhbiBiZSBuZXN0ZWQgZm9yIGhpZXJhcmNoaWNhbCBvcmdhbml6YXRpb24ifT4KICAgICAgICA8cD5Zb3UgY2FuIG5lc3QgcGFuZWxzIHRvIGNyZWF0ZSBtb3JlIGNvbXBsZXggbGF5b3V0czo8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik5lc3RlZCBQYW5lbCAxIn0gLnZhcmlhbnQ9JHsib3V0bGluZSJ9IC5zaXplPSR7InNtIn0+CiAgICAgICAgICA8cD5UaGlzIGlzIGEgbmVzdGVkIHBhbmVsIHdpdGggb3V0bGluZSB2YXJpYW50IGFuZCBzbWFsbCBzaXplLjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik5lc3RlZCBQYW5lbCAyIn0gLnZhcmlhbnQ9JHsiZ2hvc3QifSAuc2l6ZT0keyJzbSJ9PgogICAgICAgICAgPHA+VGhpcyBpcyBhbm90aGVyIG5lc3RlZCBwYW5lbCB3aXRoIGdob3N0IHZhcmlhbnQuPC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5VbnRpdGxlZCBQYW5lbHM8L2gyPgogICAgICAKICAgICAgPGRlZXMtcGFuZWw+CiAgICAgICAgPHA+UGFuZWxzIHdvcmsgZ3JlYXQgZXZlbiB3aXRob3V0IGEgdGl0bGUgZm9yIHNpbXBsZSBjb250ZW50IGdyb3VwaW5nLjwvcD4KICAgICAgICA8cD5UaGV5IHByb3ZpZGUgdmlzdWFsIHNlcGFyYXRpb24gYW5kIGNvbnNpc3RlbnQgcGFkZGluZyB0aHJvdWdob3V0IHlvdXIgaW50ZXJmYWNlLjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgIDxkZWVzLXBhbmVsIC52YXJpYW50PSR7Im91dGxpbmUifT4KICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPkN1c3RvbSBDb250ZW50PC9oND4KICAgICAgICAgIDxwPllvdSBjYW4gYWRkIHlvdXIgb3duIGhlYWRpbmdzIGFuZCBzdHJ1Y3R1cmUgd2l0aGluIHVudGl0bGVkIHBhbmVscy48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC52YXJpYW50PSR7Imdob3N0In0+CiAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij5NaW5pbWFsIFN0eWxlPC9oND4KICAgICAgICAgIDxwPkdob3N0IHBhbmVscyB3aXRob3V0IHRpdGxlcyBjcmVhdGUgdmVyeSBzdWJ0bGUgY29udGVudCBzZWN0aW9ucy48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgfSk7dmFyICRRcixEUXIsamRlLEFRcixJcixVNixFUXIsSVFyLHZscixQUXIsTlFyLFlubixabm4sSm49ZigoKT0+e3VlKCk7JFFyPSJHZWlzdCBTYW5zIixEUXI9IkludGVsIE9uZSBNb25vIixqZGU9YCckeyRRcn0nLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCAnT3h5Z2VuJywgJ1VidW50dScsICdDYW50YXJlbGwnLCAnRmlyYSBTYW5zJywgJ0Ryb2lkIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmYCxBUXI9YCcke0RRcn0nLCAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgJ0ZpcmEgTW9ubycsICdEcm9pZCBTYW5zIE1vbm8nLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2VgLElyPXdyKGpkZSksVTY9d3IoQVFyKSxFUXI9IkNhbCBTYW5zIixJUXI9YCcke0VRcn0nLCAke2pkZX1gLHZscj13cihJUXIpLFBRcj0iUm9ib3RvIFNsYWIiLE5Rcj1gJyR7UFFyfScsIEdlb3JnaWEsIHNlcmlmYCxZbm49d3IoTlFyKSxabm49d3IoYAogIGZvbnQtZmFtaWx5OiAke2pkZX07CiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdjdjExJywgJ3RudW0nLCAnY3YwNScgMTsKYCl9KTt2YXIgeWYsRW8seGxyLE9pPWYoKCk9Pnt1ZSgpO2JscigpO0puKCk7UWUoKTt5Zj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LEVvPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSx4bHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXBhbmVsIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W107dmFyIFI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBDPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W0Yoe3R5cGU6U3RyaW5nfSldLHY9W0Yoe3R5cGU6U3RyaW5nfSldLHk9W0Yoe2F0dHJpYnV0ZTohMX0pXSx5Zih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4idGl0bGUiaW4gUyxnZXQ6Uz0+Uy50aXRsZSxzZXQ6KFMsTyk9PntTLnRpdGxlPU99fSxtZXRhZGF0YTpDfSxzLG8pLHlmKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJzdWJ0aXRsZSJpbiBTLGdldDpTPT5TLnN1YnRpdGxlLHNldDooUyxPKT0+e1Muc3VidGl0bGU9T319LG1ldGFkYXRhOkN9LGwsdSkseWYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YXJpYW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4idmFyaWFudCJpbiBTLGdldDpTPT5TLnZhcmlhbnQsc2V0OihTLE8pPT57Uy52YXJpYW50PU99fSxtZXRhZGF0YTpDfSxoLG0pLHlmKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+InNpemUiaW4gUyxnZXQ6Uz0+Uy5zaXplLHNldDooUyxPKT0+e1Muc2l6ZT1PfX0sbWV0YWRhdGE6Q30sYixnKSx5Zih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJ1bkFmdGVyUmVuZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4icnVuQWZ0ZXJSZW5kZXIiaW4gUyxnZXQ6Uz0+Uy5ydW5BZnRlclJlbmRlcixzZXQ6KFMsTyk9PntTLnJ1bkFmdGVyUmVuZGVyPU99fSxtZXRhZGF0YTpDfSx3LGspLHlmKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOkN9LG51bGwsciksUj1hPXQudmFsdWUsQyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpDfSl9c3RhdGljIGRlbW89Z2xyO3N0YXRpYyBkZW1vR3JvdXBzPVsiTGF5b3V0Il07I2U9RW8odGhpcyxzLCIiKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGl0bGUoQyl7dGhpcy4jZT1DfSN0PShFbyh0aGlzLG8pLEVvKHRoaXMsbCwiIikpO2dldCBzdWJ0aXRsZSgpe3JldHVybiB0aGlzLiN0fXNldCBzdWJ0aXRsZShDKXt0aGlzLiN0PUN9I3I9KEVvKHRoaXMsdSksRW8odGhpcyxoLCJkZWZhdWx0IikpO2dldCB2YXJpYW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHZhcmlhbnQoQyl7dGhpcy4jcj1DfSNhPShFbyh0aGlzLG0pLEVvKHRoaXMsYiwibWQiKSk7Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2l6ZShDKXt0aGlzLiNhPUN9I2k9KEVvKHRoaXMsZyksRW8odGhpcyx3LHZvaWQgMCkpO2dldCBydW5BZnRlclJlbmRlcigpe3JldHVybiB0aGlzLiNpfXNldCBydW5BZnRlclJlbmRlcihDKXt0aGlzLiNpPUN9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICB9CgogICAgICAvKiBWYXJpYW50OiBkZWZhdWx0ICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJkZWZhdWx0Il0pIHsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggMCBoc2woMCAwJSAwJSAvIDAuMDUpOwogICAgICB9CgogICAgICAvKiBWYXJpYW50OiBvdXRsaW5lICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJvdXRsaW5lIl0pIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICB9CgogICAgICAvKiBWYXJpYW50OiBnaG9zdCAqLwogICAgICA6aG9zdChbdmFyaWFudD0iZ2hvc3QiXSkgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAvKiBTaXplIHZhcmlhdGlvbnMgKi8KICAgICAgOmhvc3QoW3NpemU9InNtIl0pIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICA6aG9zdChbc2l6ZT0ibGciXSkgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXI6ZW1wdHkgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQoKICAgICAgLyogVGl0bGUgc2l6ZSB2YXJpYXRpb25zICovCiAgICAgIDpob3N0KFtzaXplPSJzbSJdKSAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3NpemU9ImxnIl0pIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIG1hcmdpbjogNHB4IDAgMCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQoKICAgICAgLyogU3VidGl0bGUgc2l6ZSB2YXJpYXRpb25zICovCiAgICAgIDpob3N0KFtzaXplPSJzbSJdKSAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3NpemU9ImxnIl0pIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIG1hcmdpbi10b3A6IDZweDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgODQuOSUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICB9CgogICAgICAvKiBDb250ZW50IHNpemUgdmFyaWF0aW9ucyAqLwogICAgICA6aG9zdChbc2l6ZT0ic20iXSkgLmNvbnRlbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3NpemU9ImxnIl0pIC5jb250ZW50IHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIH0KCiAgICAgIC8qIFJlbW92ZSBtYXJnaW5zIGZyb20gZmlyc3QgYW5kIGxhc3QgY2hpbGRyZW4gKi8KICAgICAgLmNvbnRlbnQgOjpzbG90dGVkKCo6Zmlyc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICB9CgogICAgICAuY29udGVudCA6OnNsb3R0ZWQoKjpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogSW50ZXJhY3RpdmUgc3RhdGVzIGZvciBkZWZhdWx0IHZhcmlhbnQgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9ImRlZmF1bHQiXTpob3ZlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCBoc2woMCAwJSAwJSAvIDAuMSksIDAgMnB4IDRweCAtMnB4IGhzbCgwIDAlIDAlIC8gMC4xKTsKICAgICAgfQoKICAgICAgLyogSW50ZXJhY3RpdmUgc3RhdGVzIGZvciBvdXRsaW5lIHZhcmlhbnQgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9Im91dGxpbmUiXTpob3ZlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDcuOCUpIil9OwogICAgICB9CgogICAgICAvKiBJbnRlcmFjdGl2ZSBzdGF0ZXMgZm9yIGdob3N0IHZhcmlhbnQgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9Imdob3N0Il06aG92ZXIpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAvKiBGb2N1cyBzdGF0ZXMgKi8KICAgICAgOmhvc3QoOmZvY3VzLXdpdGhpbikgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLyogTmVzdGVkIHBhbmVscyBzcGFjaW5nICovCiAgICAgIDo6c2xvdHRlZChkZWVzLXBhbmVsKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKGRlZXMtcGFuZWw6Zmlyc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAke3RoaXMudGl0bGU/TWA8aDMgY2xhc3M9InRpdGxlIj4ke3RoaXMudGl0bGV9PC9oMz5gOiIifQogICAgICAgICR7dGhpcy5zdWJ0aXRsZT9NYDxwIGNsYXNzPSJzdWJ0aXRsZSI+JHt0aGlzLnN1YnRpdGxlfTwvcD5gOiIifQogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5ydW5BZnRlclJlbmRlciYmYXdhaXQgdGhpcy5ydW5BZnRlclJlbmRlcih0aGlzKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRW8odGhpcyxrKX1zdGF0aWN7RW8oYSxyKX19O3JldHVybiBSPWF9KSgpfSk7dmFyIHlscixWZGUsd2xyLE1scj1mKCgpPT57dWUoKTtoYSgpO09pKCk7VmRlPWU9PkFycmF5LmZyb20oe2xlbmd0aDplfSwodCxyKT0+KHtpZDpyLHVzYWdlOk1hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxMDApLGxhYmVsOmAke3J9YH0pKSx3bHI9KCk9Pk0oeWxyfHwoeWxyPUx1KFtgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgIGAsYAogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAuZ3JpZEFjdGlvbnM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJhY3Rpb24tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsgcGFkZGluZzogMTJweDsgYmFja2dyb3VuZDogYCwiOyBib3JkZXItcmFkaXVzOiA2cHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgY29sb3I6ICIsYDsiPgogICAgICAgICAgPGVtPkNsaWNrIG9uIHRpbGUgYWN0aW9ucyBvciBncmlkIGFjdGlvbnMgdG8gc2VlIHRoZSByZXN1bHQuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWNvbmZpZyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy10aXRsZSI+Q29uZmlndXJhdGlvbiBPcHRpb25zPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgRWFjaCB0aWxlIHR5cGUgc3VwcG9ydHMgZGlmZmVyZW50IHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW46IDhweCAwOyBwYWRkaW5nLWxlZnQ6IDIwcHg7Ij4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPk51bWJlcjo8L3N0cm9uZz4gdmFsdWUsIHVuaXQsIGNvbG9yLCBkZXNjcmlwdGlvbjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5HYXVnZTo8L3N0cm9uZz4gdmFsdWUsIHVuaXQsIGdhdWdlT3B0aW9ucyAobWluLCBtYXgsIHRocmVzaG9sZHMpPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPlBlcmNlbnRhZ2U6PC9zdHJvbmc+IHZhbHVlICgwLTEwMCksIGNvbG9yLCBkZXNjcmlwdGlvbjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5UcmVuZDo8L3N0cm9uZz4gdmFsdWUsIHVuaXQsIHRyZW5kRGF0YSBhcnJheSwgZGVzY3JpcHRpb248L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+VGV4dDo8L3N0cm9uZz4gdmFsdWUgKHN0cmluZyksIGNvbG9yLCBkZXNjcmlwdGlvbjwvbGk+CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAwIDAgMTZweCAwOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7Ij5Db21wYWN0IExheW91dCAoMTgwcHggdGlsZXMpPC9oND4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgogICAgICAgIAogICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAyNHB4IDAgMTZweCAwOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7Ij5TcGFjaW91cyBMYXlvdXQgKDMyMHB4IHRpbGVzKTwvaDQ+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgaWQ9ImNwdS1jb3Jlcy1ncmlkIgogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLmdyaWRBY3Rpb25zPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIGlkPSJpbnRlcmFjdGl2ZS1ncmlkIgogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLmdyaWRBY3Rpb25zPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWJsb2NrIj5gLGA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtY29uZmlnIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXRpdGxlIj5QYXJ0aXRpb24gVGlsZSBQcm9wZXJ0aWVzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW46IDhweCAwOyBwYWRkaW5nLWxlZnQ6IDIwcHg7Ij4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPnBhcnRpdGlvbkRhdGEudXNlZDo8L3N0cm9uZz4gVXNlZCBzcGFjZSBpbiBieXRlcyAoYXV0by1mb3JtYXR0ZWQpPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPnBhcnRpdGlvbkRhdGEudG90YWw6PC9zdHJvbmc+IFRvdGFsIGNhcGFjaXR5IGluIGJ5dGVzPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPnBhcnRpdGlvbkRhdGEuZmlsZXN5c3RlbTo8L3N0cm9uZz4gRmlsZXN5c3RlbSB0eXBlIChleHQ0LCB4ZnMsIG50ZnMpPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPnBhcnRpdGlvbkRhdGEubW91bnRQb2ludDo8L3N0cm9uZz4gTW91bnQgcG9pbnQgcGF0aCAob3B0aW9uYWwpPC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIENvbG9yIHRocmVzaG9sZHM6IE5vcm1hbCAoJmx0Ozc1JSksIFdhcm5pbmcgKDc1LTkwJSksIENyaXRpY2FsICgmZ3Q7OTAlKQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctdGl0bGUiPkRpc2sgVGlsZSBQcm9wZXJ0aWVzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW46IDhweCAwOyBwYWRkaW5nLWxlZnQ6IDIwcHg7Ij4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPmRpc2tEYXRhLmNhcGFjaXR5Ojwvc3Ryb25nPiBUb3RhbCBjYXBhY2l0eSBpbiBieXRlczwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5kaXNrRGF0YS5tb2RlbDo8L3N0cm9uZz4gRGlzayBtb2RlbCBuYW1lIChvcHRpb25hbCk8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+ZGlza0RhdGEudHlwZTo8L3N0cm9uZz4gRGlzayB0eXBlOiAnc3NkJywgJ2hkZCcsIG9yICdudm1lJzwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5kaXNrRGF0YS5pb3BzOjwvc3Ryb25nPiBSZWFkL3dyaXRlIElPUFMgKG9wdGlvbmFsKTwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5kaXNrRGF0YS5oZWFsdGg6PC9zdHJvbmc+IEhlYWx0aCBwZXJjZW50YWdlIDAtMTAwIChvcHRpb25hbCk8L2xpPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgSGVhbHRoIHRocmVzaG9sZHM6IEdvb2QgKDcwLTEwMCUpLCBXYXJuaW5nICgzMC03MCUpLCBDcml0aWNhbCAoJmx0OzMwJSkKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CgogICAgPHNjcmlwdD4KICAgICAgLy8gQ2xlYW51cCBsaXZlIHVwZGF0ZXMgb24gcGFnZSB1bmxvYWQKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsICgpID0+IHsKICAgICAgICBpZiAoKHdpbmRvdyBhcyBhbnkpLmxpdmVVcGRhdGVJbnRlcnZhbCkgewogICAgICAgICAgY2xlYXJJbnRlcnZhbCgod2luZG93IGFzIGFueSkubGl2ZVVwZGF0ZUludGVydmFsKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgPFwvc2NyaXB0PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgXSkpLEpgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTQwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWwgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC50aWxlLWNvbmZpZyB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29uZmlnLXNlY3Rpb24gewogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbmZpZy10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbmZpZy1kZXNjcmlwdGlvbiB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvZGUtYmxvY2sgewogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7CiAgICAgICAgfQogICAgICBgLCIxLiBDb21wcmVoZW5zaXZlIERhc2hib2FyZCIsIkZ1bGwtZmVhdHVyZWQgc3RhdHMgZ3JpZCB3aXRoIHZhcmlvdXMgdGlsZSB0eXBlcywgYWN0aW9ucywgYW5kIEx1Y2lkZSBpY29ucyIsW3tpZDoicmV2ZW51ZSIsdGl0bGU6IlRvdGFsIFJldmVudWUiLHZhbHVlOjEyNTQyMCx1bml0OiIkIix0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpkb2xsYXItc2lnbiIsZGVzY3JpcHRpb246IisxMi41JSBmcm9tIGxhc3QgbW9udGgiLGFjdGlvbnM6W3tuYW1lOiJWaWV3IERldGFpbHMiLGljb25OYW1lOiJsdWNpZGU6dHJlbmRpbmctdXAiLGFjdGlvbjphc3luYygpPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTtlJiYoZS50ZXh0Q29udGVudD0iVmlld2luZyByZXZlbnVlIGRldGFpbHM6ICQxMjUsNDIwICgrMTIuNSUpIil9fSx7bmFtZToiRXhwb3J0IERhdGEiLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjphc3luYygpPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTtlJiYoZS50ZXh0Q29udGVudD0iRXhwb3J0aW5nIHJldmVudWUgZGF0YSB0byBDU1YuLi4iKX19XX0se2lkOiJ1c2VycyIsdGl0bGU6IkFjdGl2ZSBVc2VycyIsdmFsdWU6Mzg0Nyx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp1c2VycyIsZGVzY3JpcHRpb246IjMyNCBuZXcgdGhpcyB3ZWVrIixhY3Rpb25zOlt7bmFtZToiVmlldyBVc2VyIExpc3QiLGljb25OYW1lOiJsdWNpZGU6bGlzdCIsYWN0aW9uOmFzeW5jKCk9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWN0aW9uLW91dHB1dCIpO2UmJihlLnRleHRDb250ZW50PSJPcGVuaW5nIHVzZXIgbGlzdC4uLiIpfX1dfSx7aWQ6ImNwdSIsdGl0bGU6IkNQVSBVc2FnZSIsdmFsdWU6NzMsdW5pdDoiJSIsdHlwZToiZ2F1Z2UiLGljb246Imx1Y2lkZTpjcHUiLGdhdWdlT3B0aW9uczp7bWluOjAsbWF4OjEwMCx0aHJlc2hvbGRzOlt7dmFsdWU6MCxjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSJ9LHt2YWx1ZTo2MCxjb2xvcjoiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIn0se3ZhbHVlOjgwLGNvbG9yOiJoc2woMCA4NC4yJSA2MC4yJSkifV19fSx7aWQ6InN0b3JhZ2UiLHRpdGxlOiJTdG9yYWdlIFVzZWQiLHZhbHVlOjY1LHR5cGU6InBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpoYXJkLWRyaXZlIixkZXNjcmlwdGlvbjoiNjUwIEdCIG9mIDEgVEIifSx7aWQ6ImxhdGVuY3kiLHRpdGxlOiJSZXNwb25zZSBUaW1lIix2YWx1ZToxNDIsdW5pdDoibXMiLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6YWN0aXZpdHkiLHRyZW5kRGF0YTpbMTUwLDE0NSwxNDgsMTQyLDEzOCwxNDAsMTM1LDE0NSwxNDJdLGRlc2NyaXB0aW9uOiJQOTUifSx7aWQ6InVwdGltZSIsdGl0bGU6IlN5c3RlbSBVcHRpbWUiLHZhbHVlOiI5OS45NSUiLHR5cGU6InRleHQiLGljb246Imx1Y2lkZTpjaGVjay1jaXJjbGUiLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixkZXNjcmlwdGlvbjoiTGFzdCAzMCBkYXlzIn1dLFt7bmFtZToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpyZWZyZXNoLWN3IixhY3Rpb246YXN5bmMoKT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc3RhdHNncmlkIik7ZSYmKGUuc3R5bGUub3BhY2l0eT0iMC41IixzZXRUaW1lb3V0KCgpPT57ZS5zdHlsZS5vcGFjaXR5PSIxIn0sMzAwKSl9fSx7bmFtZToiRXhwb3J0IixpY29uTmFtZToibHVjaWRlOnNoYXJlIixhY3Rpb246YXN5bmMoKT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhY3Rpb24tb3V0cHV0Iik7ZSYmKGUudGV4dENvbnRlbnQ9IkV4cG9ydGluZyBkYXNoYm9hcmQgcmVwb3J0Li4uIil9fSx7bmFtZToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGFjdGlvbjphc3luYygpPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTtlJiYoZS50ZXh0Q29udGVudD0iT3BlbmluZyBkYXNoYm9hcmQgc2V0dGluZ3MuLi4iKX19XSwyNTAsMTYscC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpLHAuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKSwiMi4gVGlsZSBUeXBlcyIsIkRpZmZlcmVudCB2aXN1YWxpemF0aW9uIHR5cGVzIGF2YWlsYWJsZSBpbiB0aGUgc3RhdHMgZ3JpZCIsW3tpZDoibnVtYmVyLWV4YW1wbGUiLHRpdGxlOiJOdW1iZXIgVGlsZSIsdmFsdWU6NDIxOTUsdW5pdDoiJCIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6aGFzaCIsZGVzY3JpcHRpb246IlNpbXBsZSBudW1lcmljIGRpc3BsYXkifSx7aWQ6ImdhdWdlLWV4YW1wbGUiLHRpdGxlOiJHYXVnZSBUaWxlIix2YWx1ZTo2OCx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoibHVjaWRlOmdhdWdlIixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjAsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkifSx7dmFsdWU6NTAsY29sb3I6ImhzbCg0NS40IDkzLjQlIDQ3LjUlKSJ9LHt2YWx1ZTo4MCxjb2xvcjoiaHNsKDAgODQuMiUgNjAuMiUpIn1dfX0se2lkOiJwZXJjZW50YWdlLWV4YW1wbGUiLHRpdGxlOiJQZXJjZW50YWdlIFRpbGUiLHZhbHVlOjc4LHR5cGU6InBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpwZXJjZW50IixkZXNjcmlwdGlvbjoiUHJvZ3Jlc3MgYmFyIHZpc3VhbGl6YXRpb24ifSx7aWQ6InRyZW5kLWV4YW1wbGUiLHRpdGxlOiJUcmVuZCBUaWxlIix2YWx1ZTo4OTIsdW5pdDoib3BzL3MiLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6dHJlbmRpbmctdXAiLHRyZW5kRGF0YTpbNzIwLDc1MCw3ODAsNzk1LDgxMCw4MzUsODUwLDg2NSw4ODAsODkyXSxkZXNjcmlwdGlvbjoiYXZnIn0se2lkOiJ0ZXh0LWV4YW1wbGUiLHRpdGxlOiJUZXh0IFRpbGUiLHZhbHVlOiJPcGVyYXRpb25hbCIsdHlwZToidGV4dCIsaWNvbjoibHVjaWRlOmluZm8iLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixkZXNjcmlwdGlvbjoiU3RhdHVzIGRpc3BsYXkifV0sMjgwLDE2LCIzLiBHcmlkIENvbmZpZ3VyYXRpb25zIiwiRGlmZmVyZW50IGxheW91dCBvcHRpb25zIGFuZCByZXNwb25zaXZlIGJlaGF2aW9yIixbe2lkOiIxIix0aXRsZToiT3JkZXJzIix2YWx1ZToxNTYsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6c2hvcHBpbmctY2FydCJ9LHtpZDoiMiIsdGl0bGU6IlJldmVudWUiLHZhbHVlOjg0MjAsdW5pdDoiJCIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6ZG9sbGFyLXNpZ24ifSx7aWQ6IjMiLHRpdGxlOiJVc2VycyIsdmFsdWU6NDIzLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnVzZXJzIn0se2lkOiI0Iix0aXRsZToiR3Jvd3RoIix2YWx1ZToxMi41LHVuaXQ6IiUiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnRyZW5kaW5nLXVwIixjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSJ9XSwxODAsMTIsW3tpZDoic3BhY2lvdXMxIix0aXRsZToiTW9udGhseSBSZXZlbnVlIix2YWx1ZToxODQ1MDAsdW5pdDoiJCIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6Y3JlZGl0LWNhcmQiLGRlc2NyaXB0aW9uOiJUb3RhbCByZXZlbnVlIHRoaXMgbW9udGgifSx7aWQ6InNwYWNpb3VzMiIsdGl0bGU6IkN1c3RvbWVyIFNhdGlzZmFjdGlvbiIsdmFsdWU6OTQsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOnNtaWxlIixkZXNjcmlwdGlvbjoiQmFzZWQgb24gMSwyMzQgcmV2aWV3cyJ9LHtpZDoic3BhY2lvdXMzIix0aXRsZToiU2VydmVyIFJlc3BvbnNlIix2YWx1ZTo5OCx1bml0OiJtcyIsdHlwZToidHJlbmQiLGljb246Imx1Y2lkZTpzZXJ2ZXIiLHRyZW5kRGF0YTpbMTA1LDEwMiwxMDAsOTksOTgsOTgsOTcsOThdLGRlc2NyaXB0aW9uOiJhdmcgcmVzcG9uc2UgdGltZSJ9XSwzMjAsMjAsIjQuIENQVSBDb3JlcyBWaXN1YWxpemF0aW9uIiwiVmVydGljYWwgYmFyIHZpc3VhbGl6YXRpb24gZm9yIG11bHRpLWNvcmUgQ1BVIHVzYWdlIHdpdGggY29sdW1uIHNwYW5uaW5nIixbe2lkOiJjcHUtY29yZXMtOCIsdGl0bGU6IkNQVSBDb3JlcyAoOC1jb3JlKSIsdmFsdWU6MCx0eXBlOiJjcHVDb3JlcyIsaWNvbjoibHVjaWRlOmNwdSIsY29sdW1uU3BhbjoyLGNvcmVzRGF0YTpWZGUoOCksZGVzY3JpcHRpb246IkludGVsIGk3IC0gOCBjb3JlcyJ9LHtpZDoibWVtb3J5Iix0aXRsZToiTWVtb3J5IFVzYWdlIix2YWx1ZTo2OCx0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6ZGF0YWJhc2UiLGRlc2NyaXB0aW9uOiIxMy42IEdCIG9mIDIwIEdCIn0se2lkOiJjcHUtY29yZXMtMTYiLHRpdGxlOiJDUFUgQ29yZXMgKDE2LWNvcmUpIix2YWx1ZTowLHR5cGU6ImNwdUNvcmVzIixpY29uOiJsdWNpZGU6Y3B1Iixjb2x1bW5TcGFuOjIsY29yZXNEYXRhOlZkZSgxNiksZGVzY3JpcHRpb246IkFNRCBSeXplbiA5IC0gMTYgY29yZXMifSx7aWQ6Im5ldHdvcmsiLHRpdGxlOiJOZXR3b3JrIEkvTyIsdmFsdWU6MjQ1LHVuaXQ6Ik1CL3MiLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6bmV0d29yayIsdHJlbmREYXRhOlsyMDAsMjIwLDIzNSwyNDAsMjM4LDI0NV0sZGVzY3JpcHRpb246InRocm91Z2hwdXQifSx7aWQ6ImNwdS1jb3Jlcy0zMiIsdGl0bGU6IlNlcnZlciBDUFUgKDMyLWNvcmUpIix2YWx1ZTowLHR5cGU6ImNwdUNvcmVzIixpY29uOiJsdWNpZGU6c2VydmVyIixjb2x1bW5TcGFuOjMsY29yZXNEYXRhOlZkZSgzMiksZGVzY3JpcHRpb246IkFNRCBFUFlDIC0gMzIgY29yZXMifSx7aWQ6ImRpc2siLHRpdGxlOiJEaXNrIFVzYWdlIix2YWx1ZTo0Mix0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6aGFyZC1kcml2ZSIsZGVzY3JpcHRpb246IjQyMCBHQiBvZiAxIFRCIn1dLFt7bmFtZToiUmFuZG9taXplIixpY29uTmFtZToibHVjaWRlOnNodWZmbGUiLGFjdGlvbjphc3luYygpPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NwdS1jb3Jlcy1ncmlkIik7aWYoIWUpcmV0dXJuO2xldCB0PWUudGlsZXMubWFwKHI9PnIudHlwZT09PSJjcHVDb3JlcyImJnIuY29yZXNEYXRhP3suLi5yLGNvcmVzRGF0YTpyLmNvcmVzRGF0YS5tYXAoYT0+KHsuLi5hLHVzYWdlOk1hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxMDApfSkpfTpyKTtlLnRpbGVzPXR9fV0sMjUwLDE2LCI1LiBJbnRlcmFjdGl2ZSBGZWF0dXJlcyIsIlRpbGVzIHdpdGggYWN0aW9ucyBhbmQgcmVhbC10aW1lIHVwZGF0ZXMiLFt7aWQ6ImxpdmUtY3B1Iix0aXRsZToiTGl2ZSBDUFUiLHZhbHVlOjQ1LHVuaXQ6IiUiLHR5cGU6ImdhdWdlIixpY29uOiJsdWNpZGU6Y3B1IixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjAsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkifSx7dmFsdWU6NjAsY29sb3I6ImhzbCg0NS40IDkzLjQlIDQ3LjUlKSJ9LHt2YWx1ZTo4MCxjb2xvcjoiaHNsKDAgODQuMiUgNjAuMiUpIn1dfX0se2lkOiJsaXZlLXJlcXVlc3RzIix0aXRsZToiUmVxdWVzdHMvc2VjIix2YWx1ZTo4OTIsdHlwZToidHJlbmQiLGljb246Imx1Y2lkZTphY3Rpdml0eSIsdHJlbmREYXRhOls4NTAsODYwLDg3MCw4ODAsODg1LDg5MCw4OTJdfSx7aWQ6ImxpdmUtbWVtb3J5Iix0aXRsZToiTWVtb3J5IFVzYWdlIix2YWx1ZTo2Mix0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6ZGF0YWJhc2UifSx7aWQ6ImNvdW50ZXIiLHRpdGxlOiJFdmVudCBDb3VudGVyIix2YWx1ZTowLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnphcCIsYWN0aW9uczpbe25hbWU6IkluY3JlbWVudCIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixhY3Rpb246YXN5bmMoKT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1ncmlkIik7aWYoIWUpcmV0dXJuO2xldCB0PWUudGlsZXMuZmluZChyPT5yLmlkPT09ImNvdW50ZXIiKTt0LnZhbHVlPXR5cGVvZiB0LnZhbHVlPT0ibnVtYmVyIj90LnZhbHVlKzE6MSxlLnRpbGVzPVsuLi5lLnRpbGVzXX19LHtuYW1lOiJSZXNldCIsaWNvbk5hbWU6Imx1Y2lkZTpyb3RhdGUtY2N3IixhY3Rpb246YXN5bmMoKT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1ncmlkIik7aWYoIWUpcmV0dXJuO2xldCB0PWUudGlsZXMuZmluZChyPT5yLmlkPT09ImNvdW50ZXIiKTt0LnZhbHVlPTAsZS50aWxlcz1bLi4uZS50aWxlc119fV19XSxbe25hbWU6IlN0YXJ0IExpdmUgVXBkYXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpwbGF5IixhY3Rpb246YXN5bmMgZnVuY3Rpb24oKXt3aW5kb3cubGl2ZVVwZGF0ZUludGVydmFsPyhjbGVhckludGVydmFsKHdpbmRvdy5saXZlVXBkYXRlSW50ZXJ2YWwpLHdpbmRvdy5saXZlVXBkYXRlSW50ZXJ2YWw9bnVsbCx0aGlzLm5hbWU9IlN0YXJ0IExpdmUgVXBkYXRlcyIsdGhpcy5pY29uTmFtZT0ibHVjaWRlOnBsYXkiKTood2luZG93LmxpdmVVcGRhdGVJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1ncmlkIik7aWYoZSl7bGV0IHQ9Wy4uLmUudGlsZXNdLHI9dC5maW5kKHM9PnMuaWQ9PT0ibGl2ZS1jcHUiKTtyLnZhbHVlPU1hdGgubWF4KDAsTWF0aC5taW4oMTAwLHIudmFsdWUrKE1hdGgucmFuZG9tKCkqMjAtMTApKSk7bGV0IGE9dC5maW5kKHM9PnMuaWQ9PT0ibGl2ZS1yZXF1ZXN0cyIpLGk9YS52YWx1ZStNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqNTAtMjUpO2EudmFsdWU9TWF0aC5tYXgoODAwLGkpLGEudHJlbmREYXRhPVsuLi5hLnRyZW5kRGF0YS5zbGljZSgxKSxhLnZhbHVlXTtsZXQgbj10LmZpbmQocz0+cy5pZD09PSJsaXZlLW1lbW9yeSIpO24udmFsdWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsbi52YWx1ZSsoTWF0aC5yYW5kb20oKSoxMC01KSkpLGUudGlsZXM9dH19LDFlMyksdGhpcy5uYW1lPSJTdG9wIExpdmUgVXBkYXRlcyIsdGhpcy5pY29uTmFtZT0ibHVjaWRlOnBhdXNlIil9fV0sMjUwLDE2LCI2LiBDb2RlIEV4YW1wbGUiLCJIb3cgdG8gaW1wbGVtZW50IGEgc3RhdHMgZ3JpZCB3aXRoIFR5cGVTY3JpcHQiLGBjb25zdCB0aWxlczogSVN0YXRzVGlsZVtdID0gWwogIHsKICAgIGlkOiAncmV2ZW51ZScsCiAgICB0aXRsZTogJ1RvdGFsIFJldmVudWUnLAogICAgdmFsdWU6IDEyNTQyMCwKICAgIHVuaXQ6ICckJywKICAgIHR5cGU6ICdudW1iZXInLAogICAgaWNvbjogJ2x1Y2lkZTpkb2xsYXItc2lnbicsCiAgICBkZXNjcmlwdGlvbjogJysxMi41JSBmcm9tIGxhc3QgbW9udGgnLAogICAgYWN0aW9uczogWwogICAgICB7CiAgICAgICAgbmFtZTogJ1ZpZXcgRGV0YWlscycsCiAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6dHJlbmRpbmctdXAnLAogICAgICAgIGFjdGlvbjogYXN5bmMgKCkgPT4gewogICAgICAgICAgY29uc29sZS5sb2coJ1ZpZXcgcmV2ZW51ZSBkZXRhaWxzJyk7CiAgICAgICAgfQogICAgICB9CiAgICBdCiAgfSwKICB7CiAgICBpZDogJ2NwdScsCiAgICB0aXRsZTogJ0NQVSBVc2FnZScsCiAgICB2YWx1ZTogNzMsCiAgICB1bml0OiAnJScsCiAgICB0eXBlOiAnZ2F1Z2UnLAogICAgaWNvbjogJ2x1Y2lkZTpjcHUnLAogICAgZ2F1Z2VPcHRpb25zOiB7CiAgICAgIG1pbjogMCwKICAgICAgbWF4OiAxMDAsCiAgICAgIHRocmVzaG9sZHM6IFsKICAgICAgICB7IHZhbHVlOiAwLCBjb2xvcjogJ2hzbCgxNDIuMSA3Ni4yJSAzNi4zJSknIH0sCiAgICAgICAgeyB2YWx1ZTogNjAsIGNvbG9yOiAnaHNsKDQ1LjQgOTMuNCUgNDcuNSUpJyB9LAogICAgICAgIHsgdmFsdWU6IDgwLCBjb2xvcjogJ2hzbCgwIDg0LjIlIDYwLjIlKScgfQogICAgICBdCiAgICB9CiAgfQpdOwoKLy8gUmVuZGVyIHRoZSBzdGF0cyBncmlkCmh0bWxcYAogIDxkZWVzLXN0YXRzZ3JpZAogICAgLnRpbGVzPVwke3RpbGVzfQogICAgLm1pblRpbGVXaWR0aD1cJHsyNTB9CiAgICAuZ2FwPVwkezE2fQogICAgLmdyaWRBY3Rpb25zPVwke1sKICAgICAgewogICAgICAgIG5hbWU6ICdSZWZyZXNoJywKICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpyZWZyZXNoLWN3JywKICAgICAgICBhY3Rpb246IGFzeW5jICgpID0+IGNvbnNvbGUubG9nKCdSZWZyZXNoJykKICAgICAgfQogICAgXX0KICA+PC9kZWVzLXN0YXRzZ3JpZD4KXGA7YCwiNy4gRGlzayAmIFN0b3JhZ2UgVGlsZXMiLCJQYXJ0aXRpb24gYW5kIHBoeXNpY2FsIGRpc2sgdmlzdWFsaXphdGlvbiB0aWxlcyIsW3tpZDoicm9vdC1wYXJ0aXRpb24iLHRpdGxlOiJSb290IFBhcnRpdGlvbiIsdmFsdWU6MCx0eXBlOiJwYXJ0aXRpb24iLGljb246Imx1Y2lkZTpmb2xkZXItcm9vdCIscGFydGl0aW9uRGF0YTp7dXNlZDo2OTgzNDE0MjUxNTIsdG90YWw6MTA3Mzc0MTgyNGUzLGZpbGVzeXN0ZW06ImV4dDQiLG1vdW50UG9pbnQ6Ii8ifX0se2lkOiJob21lLXBhcnRpdGlvbiIsdGl0bGU6IkhvbWUgUGFydGl0aW9uIix2YWx1ZTowLHR5cGU6InBhcnRpdGlvbiIsaWNvbjoibHVjaWRlOmhvbWUiLHBhcnRpdGlvbkRhdGE6e3VzZWQ6MjE0NzQ4MzY0ODAwLHRvdGFsOjUzNjg3MDkxMmUzLGZpbGVzeXN0ZW06ImV4dDQiLG1vdW50UG9pbnQ6Ii9ob21lIn19LHtpZDoiZGF0YS1wYXJ0aXRpb24iLHRpdGxlOiJEYXRhIFBhcnRpdGlvbiIsdmFsdWU6MCx0eXBlOiJwYXJ0aXRpb24iLGljb246Imx1Y2lkZTpkYXRhYmFzZSIscGFydGl0aW9uRGF0YTp7dXNlZDoxOTMyNzM1MjgzMjAwLHRvdGFsOjIxNDc0ODM2NDhlMyxmaWxlc3lzdGVtOiJ4ZnMiLG1vdW50UG9pbnQ6Ii9kYXRhIn19LHtpZDoibnZtZS1zc2QiLHRpdGxlOiJQcmltYXJ5IE5WTWUiLHZhbHVlOjAsdHlwZToiZGlzayIsaWNvbjoibHVjaWRlOmhhcmQtZHJpdmUiLGNvbHVtblNwYW46MixkaXNrRGF0YTp7Y2FwYWNpdHk6MmUxMixtb2RlbDoiU2Ftc3VuZyA5OTAgUHJvIix0eXBlOiJudm1lIixpb3BzOntyZWFkOjc0NTAsd3JpdGU6NjkwMH0saGVhbHRoOjk4fX0se2lkOiJzYXRhLXNzZCIsdGl0bGU6IlNlY29uZGFyeSBTU0QiLHZhbHVlOjAsdHlwZToiZGlzayIsaWNvbjoibHVjaWRlOmhhcmQtZHJpdmUiLGRpc2tEYXRhOntjYXBhY2l0eToxZTEyLG1vZGVsOiJDcnVjaWFsIE1YNTAwIix0eXBlOiJzc2QiLGlvcHM6e3JlYWQ6NTYwLHdyaXRlOjUxMH0saGVhbHRoOjg1fX0se2lkOiJoZGQtc3RvcmFnZSIsdGl0bGU6IkJhY2t1cCBIREQiLHZhbHVlOjAsdHlwZToiZGlzayIsaWNvbjoibHVjaWRlOmFyY2hpdmUiLGRpc2tEYXRhOntjYXBhY2l0eTo4ZTEyLG1vZGVsOiJTZWFnYXRlIElyb25Xb2xmIix0eXBlOiJoZGQiLGlvcHM6e3JlYWQ6MjEwLHdyaXRlOjE5NX0saGVhbHRoOjQyfX1dLDI4MCwxNil9KTt2YXIgVzYsJDEsbnQsU2E9ZigoKT0+e3VlKCk7SnQoKTtXNj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LCQxPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxudD0oKCk9PntsZXQgZT1oZSx0LHI9W10sYT1bXSxpLG49W10scz1bXSxvLGM9W10sbD1bXSx1LGQ9W10saD1bXSxtLHY9W10sYj1bXSxnLHk9W10sdz1bXSxrLFI9W10sQz1bXTtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBle3N0YXRpY3tsZXQgTz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShlW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDt0PVtGKHt0eXBlOlN0cmluZ30pXSxpPVtGKHt0eXBlOlN0cmluZ30pXSxvPVtGKHt0eXBlOlN0cmluZ30pXSx1PVtGKHt0eXBlOlN0cmluZ30pXSxtPVtGKHt0eXBlOkJvb2xlYW59KV0sZz1bRih7dHlwZTpCb29sZWFufSldLGs9W0Yoe3R5cGU6U3RyaW5nfSldLFc2KHRoaXMsbnVsbCx0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGF5b3V0TW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6RD0+ImxheW91dE1vZGUiaW4gRCxnZXQ6RD0+RC5sYXlvdXRNb2RlLHNldDooRCxOKT0+e0QubGF5b3V0TW9kZT1OfX0sbWV0YWRhdGE6T30scixhKSxXNih0aGlzLG51bGwsaSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkQ9PiJsYWJlbFBvc2l0aW9uImluIEQsZ2V0OkQ9PkQubGFiZWxQb3NpdGlvbixzZXQ6KEQsTik9PntELmxhYmVsUG9zaXRpb249Tn19LG1ldGFkYXRhOk99LG4scyksVzYodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJrZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkQ9PiJrZXkiaW4gRCxnZXQ6RD0+RC5rZXksc2V0OihELE4pPT57RC5rZXk9Tn19LG1ldGFkYXRhOk99LGMsbCksVzYodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6RD0+ImxhYmVsImluIEQsZ2V0OkQ9PkQubGFiZWwsc2V0OihELE4pPT57RC5sYWJlbD1OfX0sbWV0YWRhdGE6T30sZCxoKSxXNih0aGlzLG51bGwsbSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlcXVpcmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpEPT4icmVxdWlyZWQiaW4gRCxnZXQ6RD0+RC5yZXF1aXJlZCxzZXQ6KEQsTik9PntELnJlcXVpcmVkPU59fSxtZXRhZGF0YTpPfSx2LGIpLFc2KHRoaXMsbnVsbCxnLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzYWJsZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkQ9PiJkaXNhYmxlZCJpbiBELGdldDpEPT5ELmRpc2FibGVkLHNldDooRCxOKT0+e0QuZGlzYWJsZWQ9Tn19LG1ldGFkYXRhOk99LHksdyksVzYodGhpcyxudWxsLGsse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkZXNjcmlwdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6RD0+ImRlc2NyaXB0aW9uImluIEQsZ2V0OkQ9PkQuZGVzY3JpcHRpb24sc2V0OihELE4pPT57RC5kZXNjcmlwdGlvbj1OfX0sbWV0YWRhdGE6T30sUixDKSxPJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk99KX0jZT0kMSh0aGlzLHIsImF1dG8iKTtnZXQgbGF5b3V0TW9kZSgpe3JldHVybiB0aGlzLiNlfXNldCBsYXlvdXRNb2RlKE8pe3RoaXMuI2U9T30jdD0oJDEodGhpcyxhKSwkMSh0aGlzLG4sInRvcCIpKTtnZXQgbGFiZWxQb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBsYWJlbFBvc2l0aW9uKE8pe3RoaXMuI3Q9T30jcj0oJDEodGhpcyxzKSwkMSh0aGlzLGMsdm9pZCAwKSk7Z2V0IGtleSgpe3JldHVybiB0aGlzLiNyfXNldCBrZXkoTyl7dGhpcy4jcj1PfSNhPSgkMSh0aGlzLGwpLCQxKHRoaXMsZCx2b2lkIDApKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbGFiZWwoTyl7dGhpcy4jYT1PfSNpPSgkMSh0aGlzLGgpLCQxKHRoaXMsdiwhMSkpO2dldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLiNpfXNldCByZXF1aXJlZChPKXt0aGlzLiNpPU99I249KCQxKHRoaXMsYiksJDEodGhpcyx5LCExKSk7Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuI259c2V0IGRpc2FibGVkKE8pe3RoaXMuI249T30jcz0oJDEodGhpcyx3KSwkMSh0aGlzLFIsdm9pZCAwKSk7Z2V0IGRlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGRlc2NyaXB0aW9uKE8pe3RoaXMuI3M9T31zdGF0aWMgZ2V0IGJhc2VTdHlsZXMoKXtyZXR1cm5bSmAKICAgICAgICAvKiBDU1MgVmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHNwYWNpbmcgKi8KICAgICAgICA6aG9zdCB7CiAgICAgICAgICAtLWRlZXMtaW5wdXQtc3BhY2luZy11bml0OiA4cHg7CiAgICAgICAgICAtLWRlZXMtaW5wdXQtbGFiZWwtZ2FwOiB2YXIoLS1kZWVzLWlucHV0LXNwYWNpbmctdW5pdCk7IC8qIDhweCAqLwogICAgICAgIH0KCiAgICAgICAgLyogRGVmYXVsdCBibG9jayBkaXNwbGF5IHdpdGggbm8gbWFyZ2lucyAtIHNwYWNpbmcgaXMgY29udGFpbmVyLWRyaXZlbiAqLwogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIH0KCiAgICAgICAgLyogSG9yaXpvbnRhbCBsYXlvdXQgbW9kZSAtIGFjdGl2YXRlZCBieSBhdHRyaWJ1dGUgKi8KICAgICAgICA6aG9zdChbbGF5b3V0LW1vZGU9Imhvcml6b250YWwiXSkgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLyogTGFiZWwgcG9zaXRpb24gdmFyaWF0aW9ucyAqLwogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjsKICAgICAgICAgIGdhcDogdmFyKC0tZGVlcy1pbnB1dC1sYWJlbC1nYXApOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0icmlnaHQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87CiAgICAgICAgICBnYXA6IHZhcigtLWRlZXMtaW5wdXQtbGFiZWwtZ2FwKTsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249InRvcCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibm9uZSJdKSBkZWVzLWxhYmVsIHsKICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQogICAgICBgXX1jaGFuZ2VTdWJqZWN0PSgkMSh0aGlzLEMpLG5ldyBqdC5zbWFydHJ4LnJ4anMuU3ViamVjdCk7YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuZGV0ZWN0TGF5b3V0TW9kZSgpfWRldGVjdExheW91dE1vZGUoKXtpZih0aGlzLmxheW91dE1vZGUhPT0iYXV0byIpe3RoaXMuc2V0QXR0cmlidXRlKCJsYXlvdXQtbW9kZSIsdGhpcy5sYXlvdXRNb2RlKTtyZXR1cm59bGV0IE89dGhpcy5jbG9zZXN0KCJkZWVzLWZvcm0iKTtPJiZPLmhhc0F0dHJpYnV0ZSgiaG9yaXpvbnRhbC1sYXlvdXQiKT90aGlzLnNldEF0dHJpYnV0ZSgibGF5b3V0LW1vZGUiLCJob3Jpem9udGFsIik6dGhpcy5zZXRBdHRyaWJ1dGUoImxheW91dC1tb2RlIiwidmVydGljYWwiKX11cGRhdGVkKE8pe3N1cGVyLnVwZGF0ZWQoTyksTy5oYXMoImxheW91dE1vZGUiKSYmdGhpcy5kZXRlY3RMYXlvdXRNb2RlKCksTy5oYXMoImxhYmVsUG9zaXRpb24iKSYmdGhpcy5zZXRBdHRyaWJ1dGUoImxhYmVsLXBvc2l0aW9uIix0aGlzLmxhYmVsUG9zaXRpb24pfWFzeW5jIGZyZWV6ZSgpe3RoaXMuZGlzYWJsZWQ9ITB9YXN5bmMgdW5mcmVlemUoKXt0aGlzLmRpc2FibGVkPSExfX19KSgpfSk7dmFyIGtscixTbHI9ZigoKT0+e3VlKCk7aGEoKTtPaSgpO1o0KCk7a2xyPSgpPT5NYAogIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtY2hlY2tib3giKSxyPWUucXVlcnlTZWxlY3RvcigiI3NlbGVjdC1hbGwtYnRuIiksYT1lLnF1ZXJ5U2VsZWN0b3IoIiNjbGVhci1hbGwtYnRuIik7ciYmYSYmKHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC5mb3JFYWNoKGk9PnshaS5kaXNhYmxlZCYmaS5rZXk/LnN0YXJ0c1dpdGgoImZlYXR1cmUiKSYmKGkudmFsdWU9ITApfSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QuZm9yRWFjaChpPT57IWkuZGlzYWJsZWQmJmkua2V5Py5zdGFydHNXaXRoKCJmZWF0dXJlIikmJihpLnZhbHVlPSExKX0pfSkpfX0+CiAgICA8c3R5bGU+CiAgICAgICR7SmAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNoZWNrYm94LWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaG9yaXpvbnRhbC1jaGVja2JveGVzIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5pbnRlcmFjdGl2ZS1zZWN0aW9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3V0cHV0LXRleHQgewogICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjEwIDQwJSA4MCUpIil9OwogICAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk4JSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5mb3JtLXNlY3Rpb24gewogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5idXR0b24tZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZlYXR1cmUtbGlzdCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIENoZWNrYm94ZXMifSAuc3VidGl0bGU9JHsiU2ltcGxlIGNoZWNrYm94IGV4YW1wbGVzIHdpdGggdmFyaW91cyBsYWJlbHMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7IkkgYWdyZWUgdG8gdGhlIFRlcm1zIGFuZCBDb25kaXRpb25zIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAua2V5PSR7InRlcm1zIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAubGFiZWw9JHsiU3Vic2NyaWJlIHRvIG5ld3NsZXR0ZXIifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5rZXk9JHsibmV3c2xldHRlciJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7IkVuYWJsZSBub3RpZmljYXRpb25zIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiUmVjZWl2ZSBlbWFpbCB1cGRhdGVzIGFib3V0IHlvdXIgYWNjb3VudCJ9CiAgICAgICAgICAgIC5rZXk9JHsibm90aWZpY2F0aW9ucyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQ2hlY2tib3ggU3RhdGVzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBjaGVja2JveCBzdGF0ZXMgYW5kIGNvbmZpZ3VyYXRpb25zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tib3gtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJEZWZhdWx0IHN0YXRlIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJDaGVja2VkIHN0YXRlIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCB1bmNoZWNrZWQifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCBjaGVja2VkIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAubGFiZWw9JHsiUmVxdWlyZWQgY2hlY2tib3gifSAKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsicmVxdWlyZWQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ikhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7IkNoZWNrYm94ZXMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5IGZvciBjb21wYWN0IGZvcm1zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1jaGVja2JveGVzIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAubGFiZWw9JHsiT3B0aW9uIEEifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAua2V5PSR7Im9wdGlvbkEifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJPcHRpb24gQiJ9IAogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5rZXk9JHsib3B0aW9uQiJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7Ik9wdGlvbiBDIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLmtleT0keyJvcHRpb25DIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAubGFiZWw9JHsiT3B0aW9uIEQifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAua2V5PSR7Im9wdGlvbkQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkZlYXR1cmUgU2VsZWN0aW9uIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiQ29tbW9uIHVzZSBjYXNlIGZvciBmZWF0dXJlIHRvZ2dsZXMgd2l0aCBiYXRjaCBvcGVyYXRpb25zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpZD0ic2VsZWN0LWFsbC1idG4iIHR5cGU9InNlY29uZGFyeSI+U2VsZWN0IEFsbDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gaWQ9ImNsZWFyLWFsbC1idG4iIHR5cGU9InNlY29uZGFyeSI+Q2xlYXIgQWxsPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWxpc3QiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tib3gtZ3JvdXAiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgICAubGFiZWw9JHsiRGFyayBNb2RlIFN1cHBvcnQifSAKICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImZlYXR1cmUxIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAgIC5sYWJlbD0keyJFbWFpbCBOb3RpZmljYXRpb25zIn0gCiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmtleT0keyJmZWF0dXJlMiJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgICAubGFiZWw9JHsiVHdvLUZhY3RvciBBdXRoZW50aWNhdGlvbiJ9IAogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5rZXk9JHsiZmVhdHVyZTMifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkFQSSBBY2Nlc3MifSAKICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImZlYXR1cmU0In0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAgIC5sYWJlbD0keyJBZHZhbmNlZCBBbmFseXRpY3MifSAKICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAua2V5PSR7ImZlYXR1cmU1In0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiUHJpdmFjeSBTZXR0aW5ncyBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IkNoZWNrYm94ZXMgaW4gYSB0eXBpY2FsIGZvcm0gY29udGV4dCJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tc2VjdGlvbiI+CiAgICAgICAgICA8aDQgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlByaXZhY3kgUHJlZmVyZW5jZXM8L2g0PgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveC1ncm91cCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAgIC5sYWJlbD0keyJTaGFyZSBhbmFseXRpY3MgZGF0YSJ9IAogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJIZWxwIHVzIGltcHJvdmUgYnkgc2hhcmluZyBhbm9ueW1vdXMgdXNhZ2UgZGF0YSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgICAubGFiZWw9JHsiUGVyc29uYWxpemVkIHJlY29tbWVuZGF0aW9ucyJ9IAogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJHZXQgc3VnZ2VzdGlvbnMgYmFzZWQgb24geW91ciBhY3Rpdml0eSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgICAubGFiZWw9JHsiTWFya2V0aW5nIGNvbW11bmljYXRpb25zIn0gCiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlJlY2VpdmUgcHJvbW90aW9uYWwgZW1haWxzIGFuZCBzcGVjaWFsIG9mZmVycyJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgICAubGFiZWw9JHsiVGhpcmQtcGFydHkgaW50ZWdyYXRpb25zIn0gCiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFsbG93IGFwcHJvdmVkIHBhcnRuZXJzIHRvIGFjY2VzcyB5b3VyIGRhdGEifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJJbnRlcmFjdGl2ZSBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IkNsaWNrIGNoZWNrYm94ZXMgdG8gc2VlIHZhbHVlIGNoYW5nZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7IkZlYXR1cmUgdG9nZ2xlIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICBAY2hhbmdlU3ViamVjdD0ke2U9PntsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2hlY2tib3gtb3V0cHV0Iik7aWYodCYmZS5kZXRhaWwpe2xldCByPWUuZGV0YWlsLmdldFZhbHVlKCk7dC50ZXh0Q29udGVudD1gRmVhdHVyZSBpcyAke3I/ImVuYWJsZWQiOiJkaXNhYmxlZCJ9YH19fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJEZWJ1ZyBtb2RlIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICBAY2hhbmdlU3ViamVjdD0ke2U9PntsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjZGVidWctb3V0cHV0Iik7aWYodCYmZS5kZXRhaWwpe2xldCByPWUuZGV0YWlsLmdldFZhbHVlKCk7dC50ZXh0Q29udGVudD1gRGVidWcgbW9kZTogJHtyPyJPTiI6Ik9GRiJ9YH19fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJpbnRlcmFjdGl2ZS1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgaWQ9ImNoZWNrYm94LW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0Ij5GZWF0dXJlIGlzIGRpc2FibGVkPC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJkZWJ1Zy1vdXRwdXQiIGNsYXNzPSJvdXRwdXQtdGV4dCIgc3R5bGU9Im1hcmdpbi10b3A6IDhweDsiPkRlYnVnIG1vZGU6IE9GRjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmB9KTt2YXIgVWRlLEViLG9GLGxGPWYoKCk9Pnt1ZSgpO1NhKCk7U2xyKCk7Sm4oKTtRZSgpO1VkZT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LEViPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxvRj0oKCk9PntsZXQgZT1bcmUoImRlZXMtaW5wdXQtY2hlY2tib3giKV0sdCxyPVtdLGEsaT1udCxuLHM9W10sbz1bXSxjLGw9W10sdT1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGg9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpCb29sZWFufSldLGM9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxVZGUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+InZhbHVlImluIG0sZ2V0Om09Pm0udmFsdWUsc2V0OihtLHYpPT57bS52YWx1ZT12fX0sbWV0YWRhdGE6aH0scyxvKSxVZGUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmRldGVybWluYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4iaW5kZXRlcm1pbmF0ZSJpbiBtLGdldDptPT5tLmluZGV0ZXJtaW5hdGUsc2V0OihtLHYpPT57bS5pbmRldGVybWluYXRlPXZ9fSxtZXRhZGF0YTpofSxsLHUpLFVkZShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBkZW1vPWtscjtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9RWIodGhpcyxzLCExKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoaCl7dGhpcy4jZT1ofSN0PShFYih0aGlzLG8pLEViKHRoaXMsbCwhMSkpO2dldCBpbmRldGVybWluYXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluZGV0ZXJtaW5hdGUoaCl7dGhpcy4jdD1ofWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxFYih0aGlzLHUpLHRoaXMubGFiZWxQb3NpdGlvbj0icmlnaHQifXN0YXRpYyBzdHlsZXM9W0RlLC4uLm50LmJhc2VTdHlsZXMscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgICAqIHsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQoKICAgICAgICA6aG9zdCB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgICAgfQoKICAgICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGhlaWdodDogMThweDsKICAgICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIG1hcmdpbi10b3A6IDFweDsKICAgICAgICB9CgogICAgICAgIC5tYWluY29udGFpbmVyOmhvdmVyIC5jaGVja2JveCB7CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3guc2VsZWN0ZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3g6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgICB9CgogICAgICAgIC8qIENoZWNrbWFyayB1c2luZyBMdWNpZGUgaWNvbiBzdHlsZSAqLwogICAgICAgIC5jaGVja2JveCAuY2hlY2ttYXJrIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIHRvcDogNTAlOwogICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94LnNlbGVjdGVkIC5jaGVja21hcmsgewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveCAuY2hlY2ttYXJrIHN2ZyB7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIHN0cm9rZTogd2hpdGU7CiAgICAgICAgICBzdHJva2Utd2lkdGg6IDM7CiAgICAgICAgfQoKICAgICAgICAvKiBEaXNhYmxlZCBzdGF0ZSAqLwogICAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkIHsKICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3guZGlzYWJsZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC8qIExhYmVsICovCiAgICAgICAgLmxhYmVsLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMnB4OwogICAgICAgICAgZmxleDogMTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveC1sYWJlbCB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIH0KCiAgICAgICAgLm1haW5jb250YWluZXI6aG92ZXIgLmNoZWNrYm94LWxhYmVsIHsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkOmhvdmVyIC5jaGVja2JveC1sYWJlbCB7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLyogRGVzY3JpcHRpb24gKi8KICAgICAgICAuZGVzY3JpcHRpb24tdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIgJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IiBAY2xpY2s9IiR7dGhpcy50b2dnbGVTZWxlY3RlZH0iPgogICAgICAgICAgPGRpdiAKICAgICAgICAgICAgY2xhc3M9ImNoZWNrYm94ICR7dGhpcy52YWx1ZT8ic2VsZWN0ZWQiOiIifSAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iIAogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7dGhpcy5oYW5kbGVLZXlkb3dufSIKICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlP01gCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaGVja21hcmsiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIwIDZMOSAxN0w0IDEyIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIGA6dGhpcy5pbmRldGVybWluYXRlP01gCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+CiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTJIMTkiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgYDpNYGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWNvbnRhaW5lciI+CiAgICAgICAgICAgICR7dGhpcy5sYWJlbD9NYDxkaXYgY2xhc3M9ImNoZWNrYm94LWxhYmVsIj4ke3RoaXMubGFiZWx9PC9kaXY+YDoiIn0KICAgICAgICAgICAgJHt0aGlzLmRlc2NyaXB0aW9uP01gPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24tdGV4dCI+JHt0aGlzLmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIHRvZ2dsZVNlbGVjdGVkKCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMudmFsdWU9IXRoaXMudmFsdWUsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibmV3VmFsdWUiLHtkZXRhaWw6dGhpcy52YWx1ZSxidWJibGVzOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGgpe3RoaXMudmFsdWU9aH1mb2N1cygpe2xldCBoPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hlY2tib3giKTtoJiZoLmZvY3VzKCl9aGFuZGxlS2V5ZG93bihoKXsoaC5rZXk9PT0iICJ8fGgua2V5PT09IkVudGVyIikmJihoLnByZXZlbnREZWZhdWx0KCksdGhpcy50b2dnbGVTZWxlY3RlZCgpKX1zdGF0aWN7RWIoYSxyKX19O3JldHVybiBkPWF9KSgpfSk7dmFyIFk2PXt9O1JlKFk2LHticmlnaHQ6KCk9Pkc2LGRhcms6KCk9PlJzfSk7dmFyIFJzLEc2LEJzPWYoKCk9PntScz17Ymx1ZToiIzAwNTBiOSIsYmx1ZUFjdGl2ZToiIzAwNjlmMiIsYmx1ZU11dGVkOiIjMDEyNDUyIix0ZXh0OiIjZmZmZmZmIn0sRzY9e2JsdWU6IiMwMDUwYjkiLGJsdWVBY3RpdmU6IiMwMDY5ZjIiLGJsdWVNdXRlZDoiIzAwNjlmMiIsdGV4dDoiIzMzMzMzMyJ9fSk7dmFyIHpscixDbHI9ZigoKT0+e3VlKCk7WjYoKTt6bHI9KCk9Pk1gCiAgPHN0eWxlPgogICAgJHtKYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMWExYTFhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTBlMGUwIiwiIzMzMyIpfTsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tc2VjdGlvbiBoMyB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLXNlY3Rpb24gcCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNjY2IiwiIzk5OSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNTBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkhlYWRlciBCdXR0b25zPC9oMz4KICAgICAgPHA+TW9kYWxzIGNhbiBoYXZlIG9wdGlvbmFsIGhlYWRlciBidXR0b25zIGZvciBoZWxwIGFuZCBjbG9zaW5nLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IldpdGggSGVscCBCdXR0b24iLHNob3dIZWxwQnV0dG9uOiEwLG9uSGVscDphc3luYygpPT57bGV0IGU9YXdhaXQgR3IuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiSGVscCIsd2lkdGg6InNtYWxsIixzaG93Q2xvc2VCdXR0b246ITAsc2hvd0hlbHBCdXR0b246ITEsY29udGVudDpNYAogICAgICAgICAgICAgICAgICA8cD5UaGlzIGlzIHRoZSBoZWxwIGNvbnRlbnQgZm9yIHRoZSBtb2RhbC48L3A+CiAgICAgICAgICAgICAgICAgIDxwPllvdSBjYW4gcHJvdmlkZSBjb250ZXh0LXNwZWNpZmljIGhlbHAgaGVyZS48L3A+CiAgICAgICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiR290IGl0IixhY3Rpb246YXN5bmMgdD0+dC5kZXN0cm95KCl9XX0pfSxjb250ZW50Ok1gCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgYSBoZWxwIGJ1dHRvbiBpbiB0aGUgaGVhZGVyLiBDbGljayBpdCB0byBzZWUgaGVscCBjb250ZW50LjwvcD4KICAgICAgICAgICAgICA8cD5UaGUgY2xvc2UgYnV0dG9uIGlzIGFsc28gdmlzaWJsZSBieSBkZWZhdWx0LjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6Ik9LIixhY3Rpb246YXN5bmMgZT0+ZS5kZXN0cm95KCl9XX0pfX0+V2l0aCBIZWxwIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57R3IuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTm8gQ2xvc2UgQnV0dG9uIixzaG93Q2xvc2VCdXR0b246ITEsY29udGVudDpNYAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIG5vIGNsb3NlIGJ1dHRvbiBpbiB0aGUgaGVhZGVyLjwvcD4KICAgICAgICAgICAgICA8cD5Zb3UgbXVzdCB1c2UgdGhlIGFjdGlvbiBidXR0b25zIG9yIGNsaWNrIG91dHNpZGUgdG8gY2xvc2UgaXQuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2xvc2UiLGFjdGlvbjphc3luYyBlPT5lLmRlc3Ryb3koKX1dfSl9fT5ObyBDbG9zZSBCdXR0b248L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkJvdGggQnV0dG9ucyIsc2hvd0hlbHBCdXR0b246ITAsc2hvd0Nsb3NlQnV0dG9uOiEwLG9uSGVscDooKT0+YWxlcnQoIkhlbHAgY2xpY2tlZCEiKSxjb250ZW50Ok1gCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgYm90aCBoZWxwIGFuZCBjbG9zZSBidXR0b25zLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkRvbmUiLGFjdGlvbjphc3luYyBlPT5lLmRlc3Ryb3koKX1dfSl9fT5Cb3RoIEJ1dHRvbnM8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkNsZWFuIEhlYWRlciIsc2hvd0Nsb3NlQnV0dG9uOiExLHNob3dIZWxwQnV0dG9uOiExLGNvbnRlbnQ6TWAKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBhIGNsZWFuIGhlYWRlciB3aXRoIG5vIGJ1dHRvbnMuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2xvc2UiLGFjdGlvbjphc3luYyBlPT5lLmRlc3Ryb3koKX1dfSl9fT5DbGVhbiBIZWFkZXI8L2RlZXMtYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+TW9kYWwgV2lkdGggVmFyaWF0aW9uczwvaDM+CiAgICAgIDxwPk1vZGFscyBjYW4gaGF2ZSBkaWZmZXJlbnQgd2lkdGhzOiBzbWFsbCwgbWVkaXVtLCBsYXJnZSwgZnVsbHNjcmVlbiwgb3IgY3VzdG9tIHBpeGVsIHZhbHVlcy48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntHci5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJTbWFsbCBNb2RhbCIsd2lkdGg6InNtYWxsIixjb250ZW50Ok1gCiAgICAgICAgICAgICAgPHA+VGhpcyBpcyBhIHNtYWxsIG1vZGFsIHdpdGggYSB3aWR0aCBvZiAzODBweC4gUGVyZmVjdCBmb3Igc2ltcGxlIGNvbmZpcm1hdGlvbnMgb3IgYnJpZWYgbWVzc2FnZXMuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246YXN5bmMgZT0+ZS5kZXN0cm95KCl9LHtuYW1lOiJPSyIsYWN0aW9uOmFzeW5jIGU9PmUuZGVzdHJveSgpfV19KX19PlNtYWxsIE1vZGFsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntHci5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJNZWRpdW0gTW9kYWwgKERlZmF1bHQpIix3aWR0aDoibWVkaXVtIixjb250ZW50Ok1gCiAgICAgICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IlVzZXJuYW1lIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJFbWFpbCJ9IC5pbnB1dFR5cGU9JHsiZW1haWwifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IlBhc3N3b3JkIn0gLmlucHV0VHlwZT0keyJwYXNzd29yZCJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246YXN5bmMgZT0+ZS5kZXN0cm95KCl9LHtuYW1lOiJTaWduIFVwIixhY3Rpb246YXN5bmMgZT0+ZS5kZXN0cm95KCl9XX0pfX0+TWVkaXVtIE1vZGFsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntHci5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJMYXJnZSBNb2RhbCIsd2lkdGg6ImxhcmdlIixjb250ZW50Ok1gCiAgICAgICAgICAgICAgPGg0PldpZGUgQ29udGVudCBBcmVhPC9oND4KICAgICAgICAgICAgICA8cD5UaGlzIGxhcmdlIG1vZGFsIGlzIDgwMHB4IHdpZGUgYW5kIHBlcmZlY3QgZm9yIGRpc3BsYXlpbmcgbW9yZSBjb21wbGV4IGNvbnRlbnQgbGlrZSBmb3JtcyB3aXRoIG11bHRpcGxlIGNvbHVtbnMsIHRhYmxlcywgb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24uPC9wPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiAxNnB4OyBtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJGaXJzdCBOYW1lIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJMYXN0IE5hbWUifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkNvbXBhbnkifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IlBvc2l0aW9uIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjphc3luYyBlPT5lLmRlc3Ryb3koKX0se25hbWU6IlNhdmUiLGFjdGlvbjphc3luYyBlPT5lLmRlc3Ryb3koKX1dfSl9fT5MYXJnZSBNb2RhbDwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57R3IuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiRnVsbHNjcmVlbiBFZGl0b3IiLHdpZHRoOiJmdWxsc2NyZWVuIixzaG93SGVscEJ1dHRvbjohMCxvbkhlbHA6YXN5bmMoKT0+e2FsZXJ0KCJJbiBhIHJlYWwgYXBwLCB0aGlzIHdvdWxkIHNob3cgZWRpdG9yIGRvY3VtZW50YXRpb24iKX0sY29udGVudDpNYAogICAgICAgICAgICAgIDxoND5GdWxsc2NyZWVuIEV4cGVyaWVuY2Ugd2l0aCBIZWFkZXIgQ29udHJvbHM8L2g0PgogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgdGFrZXMgdXAgYWxtb3N0IHRoZSBlbnRpcmUgdmlld3BvcnQgd2l0aCBhIDIwcHggbWFyZ2luIG9uIGFsbCBzaWRlcy4gVGhlIGhlYWRlciBidXR0b25zIGFyZSBwYXJ0aWN1bGFybHkgdXNlZnVsIGluIGZ1bGxzY3JlZW4gbW9kZS48L3A+CiAgICAgICAgICAgICAgPHA+VGhlIGNvbnRlbnQgYXJlYSBjYW4gYmUgYXMgdGFsbCBhcyBuZWVkZWQgYW5kIHdpbGwgc2Nyb2xsIGlmIG5lY2Vzc2FyeS48L3A+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmMGYwZjAiLCIjMmEyYTJhIil9OyBib3JkZXItcmFkaXVzOiA4cHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICR7cC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfSI+TGFyZ2UgY29udGVudCBhcmVhPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiU2F2ZSIsYWN0aW9uOmFzeW5jIGU9PmUuZGVzdHJveSgpfSx7bmFtZToiQ2FuY2VsIixhY3Rpb246YXN5bmMgZT0+ZS5kZXN0cm95KCl9XX0pfX0+RnVsbHNjcmVlbiBNb2RhbDwvZGVlcy1idXR0b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5DdXN0b20gV2lkdGggJiBDb25zdHJhaW50czwvaDM+CiAgICAgIDxwPllvdSBjYW4gYWxzbyBzZXQgY3VzdG9tIHBpeGVsIHdpZHRocyBhbmQgbWluL21heCBjb25zdHJhaW50cy48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntHci5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJDdXN0b20gV2lkdGggKDcwMHB4KSIsd2lkdGg6NzAwLGNvbnRlbnQ6TWAKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBhIGN1c3RvbSB3aWR0aCBvZiBleGFjdGx5IDcwMCBwaXhlbHMuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2xvc2UiLGFjdGlvbjphc3luYyBlPT5lLmRlc3Ryb3koKX1dfSl9fT5DdXN0b20gNzAwcHg8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IldpdGggTWF4IFdpZHRoIix3aWR0aDoibGFyZ2UiLG1heFdpZHRoOjYwMCxjb250ZW50Ok1gCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBpcyBzZXQgdG8gJ2xhcmdlJyBidXQgY29uc3RyYWluZWQgYnkgYSBtYXhXaWR0aCBvZiA2MDBweC48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJHb3QgaXQiLGFjdGlvbjphc3luYyBlPT5lLmRlc3Ryb3koKX1dfSl9fT5NYXggV2lkdGggNjAwcHg8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IldpdGggTWluIFdpZHRoIix3aWR0aDozMDAsbWluV2lkdGg6NDAwLGNvbnRlbnQ6TWAKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIHdpZHRoIGlzIHNldCB0byAzMDBweCBidXQgaGFzIGEgbWluV2lkdGggb2YgNDAwcHgsIHNvIGl0IHdpbGwgYmUgNDAwcHggd2lkZS48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJPSyIsYWN0aW9uOmFzeW5jIGU9PmUuZGVzdHJveSgpfV19KX19Pk1pbiBXaWR0aCA0MDBweDwvZGVlcy1idXR0b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5CdXR0b24gVmFyaWF0aW9uczwvaDM+CiAgICAgIDxwPk1vZGFscyBjYW4gaGF2ZSBkaWZmZXJlbnQgYnV0dG9uIGNvbmZpZ3VyYXRpb25zIHdpdGggcHJvcGVyIHNwYWNpbmcuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57R3IuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTXVsdGlwbGUgQWN0aW9ucyIsY29udGVudDpNYAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgZGVtb25zdHJhdGVzIG11bHRpcGxlIGJ1dHRvbnMgd2l0aCBwcm9wZXIgc3BhY2luZyBiZXR3ZWVuIHRoZW0uPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiRGVsZXRlIixhY3Rpb246YXN5bmMgZT0+ZS5kZXN0cm95KCl9LHtuYW1lOiJDYW5jZWwiLGFjdGlvbjphc3luYyBlPT5lLmRlc3Ryb3koKX0se25hbWU6IlNhdmUgQ2hhbmdlcyIsYWN0aW9uOmFzeW5jIGU9PmUuZGVzdHJveSgpfV19KX19PlRocmVlIEJ1dHRvbnM8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IlNpbmdsZSBBY3Rpb24iLGNvbnRlbnQ6TWAKICAgICAgICAgICAgICA8cD5Tb21ldGltZXMgeW91IGp1c3QgbmVlZCBvbmUgYnV0dG9uLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkFja25vd2xlZGdlIixhY3Rpb246YXN5bmMgZT0+ZS5kZXN0cm95KCl9XX0pfX0+U2luZ2xlIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57R3IuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTm8gQWN0aW9ucyIsY29udGVudDpNYAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIG5vIGJvdHRvbSBidXR0b25zLiBVc2UgdGhlIFggYnV0dG9uIG9yIGNsaWNrIG91dHNpZGUgdG8gY2xvc2UuPC9wPgogICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyBjb2xvcjogJHtwLmJkVGhlbWUoIiM2NjYiLCIjOTk5Iil9OyI+VGhpcyBpcyB1c2VmdWwgZm9yIGluZm9ybWF0aW9uYWwgbW9kYWxzIHRoYXQgZG9uJ3QgcmVxdWlyZSB1c2VyIGFjdGlvbi48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W119KX19Pk5vIEJ1dHRvbnM8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkxvbmcgQnV0dG9uIExhYmVscyIsY29udGVudDpNYAogICAgICAgICAgICAgIDxwPlRlc3RpbmcgYnV0dG9uIGxheW91dCB3aXRoIGxvbmdlciBsYWJlbHMuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiRGlzY2FyZCBBbGwgQ2hhbmdlcyIsYWN0aW9uOmFzeW5jIGU9PmUuZGVzdHJveSgpfSx7bmFtZToiU2F2ZSBhbmQgQ29udGludWUgRWRpdGluZyIsYWN0aW9uOmFzeW5jIGU9PmUuZGVzdHJveSgpfV19KX19PkxvbmcgTGFiZWxzPC9kZWVzLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlJlc3BvbnNpdmUgQmVoYXZpb3I8L2gzPgogICAgICA8cD5BbGwgbW9kYWxzIGF1dG9tYXRpY2FsbHkgYmVjb21lIGZ1bGwtd2lkdGggb24gbW9iaWxlIGRldmljZXMgKDwgNzY4cHggdmlld3BvcnQgd2lkdGgpIGZvciBiZXR0ZXIgdXNhYmlsaXR5LjwvcD4KICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57R3IuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiUmVzcG9uc2l2ZSBNb2RhbCIsd2lkdGg6ImxhcmdlIixzaG93SGVscEJ1dHRvbjohMCxvbkhlbHA6KCk9PmNvbnNvbGUubG9nKCJIZWxwIHJlcXVlc3RlZCBmb3IgcmVzcG9uc2l2ZSBtb2RhbCIpLGNvbnRlbnQ6TWAKICAgICAgICAgICAgPHA+UmVzaXplIHlvdXIgYnJvd3NlciB3aW5kb3cgdG8gc2VlIGhvdyB0aGlzIG1vZGFsIGFkYXB0cy4gT24gbW9iaWxlIHZpZXdwb3J0cywgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IHRha2UgdGhlIGZ1bGwgd2lkdGggbWludXMgbWFyZ2lucy48L3A+CiAgICAgICAgICAgIDxwPlRoZSBoZWFkZXIgYnV0dG9ucyByZW1haW4gYWNjZXNzaWJsZSBhdCBhbGwgdmlld3BvcnQgc2l6ZXMuPC9wPgogICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNsb3NlIixhY3Rpb246YXN5bmMgZT0+ZS5kZXN0cm95KCl9XX0pfX0+VGVzdCBSZXNwb25zaXZlPC9kZWVzLWJ1dHRvbj4KICAgIDwvZGl2PgogIDwvZGl2PgpgfSk7dmFyIEoxLG1hLEdyLFo2PWYoKCk9PntCcygpO3dpKCk7a3MoKTtKbigpO0NscigpO3VlKCk7SnQoKTtrYygpO2lyKCk7UWUoKTtKMT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LG1hPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxHcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtbW9kYWwiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXSxSLEM9W10sUz1bXSxPLEQ9W10sTj1bXSxxLF89W10sej1bXSxFLFQ9W10sTD1bXSxWLEI9W10sVT1bXSxLLEk9W10sdmU9W10sTWUsUD1bXSxsZT1bXTt2YXIgU2U9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBaPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W3NlKHt9KV0sZD1bc2Uoe30pXSx2PVtGKHt0eXBlOlN0cmluZ30pXSx5PVtGKHt0eXBlOk51bWJlcn0pXSxSPVtGKHt0eXBlOk51bWJlcn0pXSxPPVtGKHt0eXBlOkJvb2xlYW59KV0scT1bRih7dHlwZTpCb29sZWFufSldLEU9W0Yoe2F0dHJpYnV0ZTohMX0pXSxWPVtGKHt0eXBlOkJvb2xlYW59KV0sSz1bRih7dHlwZTpOdW1iZXJ9KV0sTWU9W3NlKCldLEoxKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+ImhlYWRpbmciaW4gQSxnZXQ6QT0+QS5oZWFkaW5nLHNldDooQSwkKT0+e0EuaGVhZGluZz0kfX0sbWV0YWRhdGE6Wn0scyxvKSxKMSh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkE9PiJjb250ZW50ImluIEEsZ2V0OkE9PkEuY29udGVudCxzZXQ6KEEsJCk9PntBLmNvbnRlbnQ9JH19LG1ldGFkYXRhOlp9LGwsdSksSjEodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51T3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+Im1lbnVPcHRpb25zImluIEEsZ2V0OkE9PkEubWVudU9wdGlvbnMsc2V0OihBLCQpPT57QS5tZW51T3B0aW9ucz0kfX0sbWV0YWRhdGE6Wn0saCxtKSxKMSh0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4id2lkdGgiaW4gQSxnZXQ6QT0+QS53aWR0aCxzZXQ6KEEsJCk9PntBLndpZHRoPSR9fSxtZXRhZGF0YTpafSxiLGcpLEoxKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4V2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkE9PiJtYXhXaWR0aCJpbiBBLGdldDpBPT5BLm1heFdpZHRoLHNldDooQSwkKT0+e0EubWF4V2lkdGg9JH19LG1ldGFkYXRhOlp9LHcsayksSjEodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5XaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+Im1pbldpZHRoImluIEEsZ2V0OkE9PkEubWluV2lkdGgsc2V0OihBLCQpPT57QS5taW5XaWR0aD0kfX0sbWV0YWRhdGE6Wn0sQyxTKSxKMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDbG9zZUJ1dHRvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+InNob3dDbG9zZUJ1dHRvbiJpbiBBLGdldDpBPT5BLnNob3dDbG9zZUJ1dHRvbixzZXQ6KEEsJCk9PntBLnNob3dDbG9zZUJ1dHRvbj0kfX0sbWV0YWRhdGE6Wn0sRCxOKSxKMSh0aGlzLG51bGwscSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dIZWxwQnV0dG9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4ic2hvd0hlbHBCdXR0b24iaW4gQSxnZXQ6QT0+QS5zaG93SGVscEJ1dHRvbixzZXQ6KEEsJCk9PntBLnNob3dIZWxwQnV0dG9uPSR9fSxtZXRhZGF0YTpafSxfLHopLEoxKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib25IZWxwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4ib25IZWxwImluIEEsZ2V0OkE9PkEub25IZWxwLHNldDooQSwkKT0+e0Eub25IZWxwPSR9fSxtZXRhZGF0YTpafSxULEwpLEoxKHRoaXMsbnVsbCxWLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW9iaWxlRnVsbHNjcmVlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+Im1vYmlsZUZ1bGxzY3JlZW4iaW4gQSxnZXQ6QT0+QS5tb2JpbGVGdWxsc2NyZWVuLHNldDooQSwkKT0+e0EubW9iaWxlRnVsbHNjcmVlbj0kfX0sbWV0YWRhdGE6Wn0sQixVKSxKMSh0aGlzLG51bGwsSyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnRQYWRkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4iY29udGVudFBhZGRpbmciaW4gQSxnZXQ6QT0+QS5jb250ZW50UGFkZGluZyxzZXQ6KEEsJCk9PntBLmNvbnRlbnRQYWRkaW5nPSR9fSxtZXRhZGF0YTpafSxJLHZlKSxKMSh0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2RhbFpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+Im1vZGFsWkluZGV4ImluIEEsZ2V0OkE9PkEubW9kYWxaSW5kZXgsc2V0OihBLCQpPT57QS5tb2RhbFpJbmRleD0kfX0sbWV0YWRhdGE6Wn0sUCxsZSksSjEobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Wn0sbnVsbCxyKSxTZT1hPXQudmFsdWUsWiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpafSl9c3RhdGljIGRlbW89emxyO3N0YXRpYyBkZW1vR3JvdXBzPVsiT3ZlcmxheSJdO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KFope2xldCBBPWRvY3VtZW50LmJvZHksJD1uZXcgU2U7cmV0dXJuICQuaGVhZGluZz1aLmhlYWRpbmcsJC5jb250ZW50PVouY29udGVudCwkLm1lbnVPcHRpb25zPVoubWVudU9wdGlvbnMsWi53aWR0aCYmKCQud2lkdGg9Wi53aWR0aCksWi5tYXhXaWR0aCYmKCQubWF4V2lkdGg9Wi5tYXhXaWR0aCksWi5taW5XaWR0aCYmKCQubWluV2lkdGg9Wi5taW5XaWR0aCksWi5zaG93Q2xvc2VCdXR0b24hPT12b2lkIDAmJigkLnNob3dDbG9zZUJ1dHRvbj1aLnNob3dDbG9zZUJ1dHRvbiksWi5zaG93SGVscEJ1dHRvbiE9PXZvaWQgMCYmKCQuc2hvd0hlbHBCdXR0b249Wi5zaG93SGVscEJ1dHRvbiksWi5vbkhlbHAmJigkLm9uSGVscD1aLm9uSGVscCksWi5tb2JpbGVGdWxsc2NyZWVuIT09dm9pZCAwJiYoJC5tb2JpbGVGdWxsc2NyZWVuPVoubW9iaWxlRnVsbHNjcmVlbiksWi5jb250ZW50UGFkZGluZyE9PXZvaWQgMCYmKCQuY29udGVudFBhZGRpbmc9Wi5jb250ZW50UGFkZGluZyksJC53aW5kb3dMYXllcj1hd2FpdCBPcy5jcmVhdGVBbmRTaG93KHtibHVyOiEwfSksJC53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e2F3YWl0ICQuZGVzdHJveSgpfSksQS5hcHBlbmQoJC53aW5kb3dMYXllciksQS5hcHBlbmQoJCksJC5tb2RhbFpJbmRleD1yYS5nZXROZXh0WkluZGV4KCkscmEucmVnaXN0ZXIoJCwkLm1vZGFsWkluZGV4KSwkfSNlPW1hKHRoaXMscywiIik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyhaKXt0aGlzLiNlPVp9I3Q9KG1hKHRoaXMsbyksbWEodGhpcyxsLHZvaWQgMCkpO2dldCBjb250ZW50KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNvbnRlbnQoWil7dGhpcy4jdD1afSNyPShtYSh0aGlzLHUpLG1hKHRoaXMsaCxbXSkpO2dldCBtZW51T3B0aW9ucygpe3JldHVybiB0aGlzLiNyfXNldCBtZW51T3B0aW9ucyhaKXt0aGlzLiNyPVp9I2E9KG1hKHRoaXMsbSksbWEodGhpcyxiLCJtZWRpdW0iKSk7Z2V0IHdpZHRoKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHdpZHRoKFope3RoaXMuI2E9Wn0jaT0obWEodGhpcyxnKSxtYSh0aGlzLHcsdm9pZCAwKSk7Z2V0IG1heFdpZHRoKCl7cmV0dXJuIHRoaXMuI2l9c2V0IG1heFdpZHRoKFope3RoaXMuI2k9Wn0jbj0obWEodGhpcyxrKSxtYSh0aGlzLEMsdm9pZCAwKSk7Z2V0IG1pbldpZHRoKCl7cmV0dXJuIHRoaXMuI259c2V0IG1pbldpZHRoKFope3RoaXMuI249Wn0jcz0obWEodGhpcyxTKSxtYSh0aGlzLEQsITApKTtnZXQgc2hvd0Nsb3NlQnV0dG9uKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNob3dDbG9zZUJ1dHRvbihaKXt0aGlzLiNzPVp9I289KG1hKHRoaXMsTiksbWEodGhpcyxfLCExKSk7Z2V0IHNob3dIZWxwQnV0dG9uKCl7cmV0dXJuIHRoaXMuI299c2V0IHNob3dIZWxwQnV0dG9uKFope3RoaXMuI289Wn0jbD0obWEodGhpcyx6KSxtYSh0aGlzLFQsdm9pZCAwKSk7Z2V0IG9uSGVscCgpe3JldHVybiB0aGlzLiNsfXNldCBvbkhlbHAoWil7dGhpcy4jbD1afSNjPShtYSh0aGlzLEwpLG1hKHRoaXMsQiwhMSkpO2dldCBtb2JpbGVGdWxsc2NyZWVuKCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1vYmlsZUZ1bGxzY3JlZW4oWil7dGhpcy4jYz1afSNkPShtYSh0aGlzLFUpLG1hKHRoaXMsSSwxNikpO2dldCBjb250ZW50UGFkZGluZygpe3JldHVybiB0aGlzLiNkfXNldCBjb250ZW50UGFkZGluZyhaKXt0aGlzLiNkPVp9I3U9KG1hKHRoaXMsdmUpLG1hKHRoaXMsUCwxZTMpKTtnZXQgbW9kYWxaSW5kZXgoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbW9kYWxaSW5kZXgoWil7dGhpcy4jdT1afWNvbnN0cnVjdG9yKCl7c3VwZXIoKX1zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtZmFtaWx5OiAke0lyfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgIH0KICAgICAgLm1vZGFsQ29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CiAgICAgIC5tb2RhbCB7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjk1KTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNik7CiAgICAgICAgbWFyZ2luOiAyMHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICB9CgogICAgICAvKiBXaWR0aCB2YXJpYXRpb25zICovCiAgICAgIC5tb2RhbC53aWR0aC1zbWFsbCB7CiAgICAgICAgd2lkdGg6IDM4MHB4OwogICAgICB9CgogICAgICAubW9kYWwud2lkdGgtbWVkaXVtIHsKICAgICAgICB3aWR0aDogNTYwcHg7CiAgICAgIH0KCiAgICAgIC5tb2RhbC53aWR0aC1sYXJnZSB7CiAgICAgICAgd2lkdGg6IDgwMHB4OwogICAgICB9CgogICAgICAubW9kYWwud2lkdGgtZnVsbHNjcmVlbiB7CiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KTsKICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTsKICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDBweCk7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5tb2RhbCB7CiAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpICFpbXBvcnRhbnQ7CiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogQWxsb3cgZnVsbCBoZWlnaHQgb24gbW9iaWxlIHdoZW4gY29udGVudCBuZWVkcyBpdCAqLwogICAgICAgIC5tb2RhbENvbnRhaW5lciB7CiAgICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAubW9kYWwgewogICAgICAgICAgbWFyZ2luOiAxMHB4OwogICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwcHgpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBGdWxsIHNjcmVlbiBtb2RlIG9uIG1vYmlsZSAqLwogICAgICAgIC5tb2RhbC5tb2JpbGUtZnVsbHNjcmVlbiB7CiAgICAgICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDsKICAgICAgICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDsKICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7CiAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwOwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1vZGFsLnNob3cgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMSk7CiAgICAgIH0KCiAgICAgIC5tb2RhbC5zaG93LnByZWRlc3Ryb3kgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpIHNjYWxlKDEpOwogICAgICB9CgogICAgICAubW9kYWwgLmhlYWRpbmcgewogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAke0lyfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm1vZGFsIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogOHB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgfQoKICAgICAgLm1vZGFsIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uIHsKICAgICAgICB3aWR0aDogMjhweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLm1vZGFsIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLm1vZGFsIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICB9CgogICAgICAubW9kYWwgLmhlYWRpbmcgLmhlYWRlci1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5tb2RhbCAuaGVhZGluZyAuaGVhZGluZy10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogNDBweDsKICAgICAgICBwYWRkaW5nOiAwIDQwcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLm1vZGFsIC5jb250ZW50IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIH0KICAgICAgLm1vZGFsIC5ib3R0b21CdXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm1vZGFsIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24gewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBsaW5lLWhlaWdodDogMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAubW9kYWwgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNTI1MjViIil9OwogICAgICB9CiAgICAgIC5tb2RhbCAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjNTI1MjViIil9OwogICAgICB9CiAgICAgIC5tb2RhbCAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uOmxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgfQoKICAgICAgLm1vZGFsIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICB9CiAgICAgIC5tb2RhbCAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzI1NjNlYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzI1NjNlYiIpfTsKICAgICAgfQogICAgICAubW9kYWwgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5OmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxZDRlZDgiLCIjMWQ0ZWQ4Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiMxZDRlZDgiLCIjMWQ0ZWQ4Iil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgWj10eXBlb2YgdGhpcy53aWR0aD09InN0cmluZyI/YHdpZHRoLSR7dGhpcy53aWR0aH1gOiIiLEE9dHlwZW9mIHRoaXMud2lkdGg9PSJudW1iZXIiP2Ake3RoaXMud2lkdGh9cHhgOiIiLCQ9dGhpcy5tYXhXaWR0aD9gJHt0aGlzLm1heFdpZHRofXB4YDoiIixqPXRoaXMubWluV2lkdGg/YCR7dGhpcy5taW5XaWR0aH1weGA6IiIsSD10aGlzLm1vYmlsZUZ1bGxzY3JlZW4/Im1vYmlsZS1mdWxsc2NyZWVuIjoiIjtyZXR1cm4gTWAKICAgICAgPHN0eWxlPgogICAgICAgICR7QT9gLm1vZGFsIHsgd2lkdGg6ICR7QX07IH1gOiIifQogICAgICAgICR7JD9gLm1vZGFsIHsgbWF4LXdpZHRoOiAkeyR9OyB9YDoiIn0KICAgICAgICAke2o/YC5tb2RhbCB7IG1pbi13aWR0aDogJHtqfTsgfWA6IiJ9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsQ29udGFpbmVyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZU91dHNpZGVDbGlja30gc3R5bGU9InotaW5kZXg6ICR7dGhpcy5tb2RhbFpJbmRleH0iPgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsICR7Wn0gJHtIfSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy10ZXh0Ij4ke3RoaXMuaGVhZGluZ308L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWJ1dHRvbnMiPgogICAgICAgICAgICAgICR7dGhpcy5zaG93SGVscEJ1dHRvbj9NYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5oYW5kbGVIZWxwfSB0aXRsZT0iSGVscCI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmhlbHBDaXJjbGUifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgJHt0aGlzLnNob3dDbG9zZUJ1dHRvbj9NYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuZGVzdHJveSgpfSB0aXRsZT0iQ2xvc2UiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp4In0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCIgc3R5bGU9InBhZGRpbmc6ICR7dGhpcy5jb250ZW50UGFkZGluZ31weDsiPiR7dGhpcy5jb250ZW50fTwvZGl2PgogICAgICAgICAgJHt0aGlzLm1lbnVPcHRpb25zLmxlbmd0aD4wP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbUJ1dHRvbnMiPgogICAgICAgICAgICAgICR7dGhpcy5tZW51T3B0aW9ucy5tYXAoKFksZGUpPT5NYAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b21CdXR0b24gJHtkZT09PXRoaXMubWVudU9wdGlvbnMubGVuZ3RoLTE/InByaW1hcnkiOiIifSAke1kubmFtZT09PSJPSyI/Im9rIjoiIn0iIEBjbGljaz0keygpPT57WS5hY3Rpb24odGhpcyl9fT4ke1kubmFtZX08L2Rpdj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH13aW5kb3dMYXllcj1tYSh0aGlzLGxlKTthc3luYyBmaXJzdFVwZGF0ZWQoWil7c3VwZXIuZmlyc3RVcGRhdGVkKFopLGF3YWl0KGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlKS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwKSx0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1vZGFsIikuY2xhc3NMaXN0LmFkZCgic2hvdyIpfWFzeW5jIGhhbmRsZU91dHNpZGVDbGljayhaKXtaLnN0b3BQcm9wYWdhdGlvbigpO2xldCBBPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubW9kYWxDb250YWluZXIiKTtaLnRhcmdldD09PUEmJmF3YWl0IHRoaXMuZGVzdHJveSgpfWFzeW5jIGRlc3Ryb3koKXtsZXQgWj1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1vZGFsIikuY2xhc3NMaXN0LmFkZCgicHJlZGVzdHJveSIpLGF3YWl0IFouY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigyMDApLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcyksYXdhaXQgdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCkscmEudW5yZWdpc3Rlcih0aGlzKX1hc3luYyBoYW5kbGVIZWxwKCl7dGhpcy5vbkhlbHAmJmF3YWl0IHRoaXMub25IZWxwKCl9c3RhdGlje21hKGEscil9fTtyZXR1cm4gU2U9YX0pKCl9KTt2YXIgVGxyLF9scj1mKCgpPT57dWUoKTtUbHI9KCk9Pk1gCiAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHsiYSBsYWJlbCJ9PjwvZGVlcy1sYWJlbD4KICBgfSk7dmFyIGNGLFg2LExscix3Zj1mKCgpPT57d2koKTtCcygpO3VlKCk7X2xyKCk7UWUoKTtjRj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFg2PWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxMbHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWxhYmVsIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W107dmFyIHY9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sYz1bRih7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxkPVtGKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxjRih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4ibGFiZWwiaW4gZyxnZXQ6Zz0+Zy5sYWJlbCxzZXQ6KGcseSk9PntnLmxhYmVsPXl9fSxtZXRhZGF0YTpifSxzLG8pLGNGKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGVzY3JpcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJkZXNjcmlwdGlvbiJpbiBnLGdldDpnPT5nLmRlc2NyaXB0aW9uLHNldDooZyx5KT0+e2cuZGVzY3JpcHRpb249eX19LG1ldGFkYXRhOmJ9LGwsdSksY0YodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+InJlcXVpcmVkImluIGcsZ2V0Omc9PmcucmVxdWlyZWQsc2V0OihnLHkpPT57Zy5yZXF1aXJlZD15fX0sbWV0YWRhdGE6Yn0saCxtKSxjRihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpifSxudWxsLHIpLHY9YT10LnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPVRscjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCIsIklucHV0Il07I2U9WDYodGhpcyxzLCIiKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbGFiZWwoYil7dGhpcy4jZT1ifSN0PShYNih0aGlzLG8pLFg2KHRoaXMsbCx2b2lkIDApKTtnZXQgZGVzY3JpcHRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgZGVzY3JpcHRpb24oYil7dGhpcy4jdD1ifSNyPShYNih0aGlzLHUpLFg2KHRoaXMsaCwhMSkpO2dldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLiNyfXNldCByZXF1aXJlZChiKXt0aGlzLiNyPWJ9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLmxhYmVsIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5yZXF1aXJlZCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA3Mi4yJSA1MC42JSkiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsKICAgICAgfQoKICAgICAgZGVlcy1pY29uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOwogICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgY3Vyc29yOiBoZWxwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgJHt0aGlzLmxhYmVsP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIj4KICAgICAgICAgICAgICAke3RoaXMubGFiZWx9CiAgICAgICAgICAgICAgJHt0aGlzLnJlcXVpcmVkP01gPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgJHt0aGlzLmRlc2NyaXB0aW9uP01gCiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6aW5mbyJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDxkZWVzLXNwZWVjaGJ1YmJsZSAudGV4dD0ke3RoaXMuZGVzY3JpcHRpb259PjwvZGVlcy1zcGVlY2hidWJibGU+CiAgICAgICAgICAgICAgICAgIGA6TWBgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6TWBgfQogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksWDYodGhpcyxtKX1zdGF0aWN7WDYoYSxyKX19O3JldHVybiB2PWF9KSgpfSk7dmFyIGRGLFdkZT1mKCgpPT57ZEY9IjAuNTUuMSJ9KTt2YXIgTWYsSW8sJGxyLFE2PWYoKCk9Pnt1ZSgpO0p0KCk7V2RlKCk7UWUoKTtNZj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LElvPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSwkbHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXTt2YXIgUj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IEM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpTdHJpbmd9KV0sdj1bRih7dHlwZTpPYmplY3R9KV0seT1bRih7dHlwZTpCb29sZWFufSldLE1mKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+ImNvbnRlbnQiaW4gUyxnZXQ6Uz0+Uy5jb250ZW50LHNldDooUyxPKT0+e1MuY29udGVudD1PfX0sbWV0YWRhdGE6Q30scyxvKSxNZih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxhbmd1YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4ibGFuZ3VhZ2UiaW4gUyxnZXQ6Uz0+Uy5sYW5ndWFnZSxzZXQ6KFMsTyk9PntTLmxhbmd1YWdlPU99fSxtZXRhZGF0YTpDfSxsLHUpLE1mKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZVBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJmaWxlUGF0aCJpbiBTLGdldDpTPT5TLmZpbGVQYXRoLHNldDooUyxPKT0+e1MuZmlsZVBhdGg9T319LG1ldGFkYXRhOkN9LGgsbSksTWYodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50U3ViamVjdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+ImNvbnRlbnRTdWJqZWN0ImluIFMsZ2V0OlM9PlMuY29udGVudFN1YmplY3Qsc2V0OihTLE8pPT57Uy5jb250ZW50U3ViamVjdD1PfX0sbWV0YWRhdGE6Q30sYixnKSxNZih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmRXcmFwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4id29yZFdyYXAiaW4gUyxnZXQ6Uz0+Uy53b3JkV3JhcCxzZXQ6KFMsTyk9PntTLndvcmRXcmFwPU99fSxtZXRhZGF0YTpDfSx3LGspLE1mKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOkN9LG51bGwsciksUj1hPXQudmFsdWUsQyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpDfSl9c3RhdGljIGRlbW89KCk9Pk1gPGRlZXMtd29ya3NwYWNlLW1vbmFjbz48L2RlZXMtd29ya3NwYWNlLW1vbmFjbz5gO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07c3RhdGljIG1vbmFjb0RlZmVycmVkO2VkaXRvckRlZmVycmVkPWp0LnNtYXJ0cHJvbWlzZS5kZWZlcigpOyNlPUlvKHRoaXMscyxgZnVuY3Rpb24gaGVsbG8oKSB7CglhbGVydCgnSGVsbG8gd29ybGQhJyk7Cn1gKTtnZXQgY29udGVudCgpe3JldHVybiB0aGlzLiNlfXNldCBjb250ZW50KEMpe3RoaXMuI2U9Q30jdD0oSW8odGhpcyxvKSxJbyh0aGlzLGwsInR5cGVzY3JpcHQiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxhbmd1YWdlKEMpe3RoaXMuI3Q9Q30jcj0oSW8odGhpcyx1KSxJbyh0aGlzLGgsIiIpKTtnZXQgZmlsZVBhdGgoKXtyZXR1cm4gdGhpcy4jcn1zZXQgZmlsZVBhdGgoQyl7dGhpcy4jcj1DfSNhPShJbyh0aGlzLG0pLElvKHRoaXMsYixuZXcganQuc21hcnRyeC5yeGpzLlN1YmplY3QpKTtnZXQgY29udGVudFN1YmplY3QoKXtyZXR1cm4gdGhpcy4jYX1zZXQgY29udGVudFN1YmplY3QoQyl7dGhpcy4jYT1DfSNpPShJbyh0aGlzLGcpLElvKHRoaXMsdywib2ZmIikpO2dldCB3b3JkV3JhcCgpe3JldHVybiB0aGlzLiNpfXNldCB3b3JkV3JhcChDKXt0aGlzLiNpPUN9bW9uYWNvVGhlbWVTdWJzY3JpcHRpb249KElvKHRoaXMsayksbnVsbCk7aXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksRW4uc2V0dXBEb21Ub29scygpfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLm1haW5ib3ggewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNjb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICA8ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKEMpe3N1cGVyLmZpcnN0VXBkYXRlZChDKTtsZXQgUz10aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLE89YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbW9uYWNvLWVkaXRvckAke2RGfWA7aWYoIVIubW9uYWNvRGVmZXJyZWQpe1IubW9uYWNvRGVmZXJyZWQ9anQuc21hcnRwcm9taXNlLmRlZmVyKCk7bGV0IF89YCR7T30vbWluL3ZzL2xvYWRlci5qc2Asej1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTt6LnNyYz1fLHoub25sb2FkPSgpPT57Ui5tb25hY29EZWZlcnJlZC5yZXNvbHZlKCl9LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoeil9YXdhaXQgUi5tb25hY29EZWZlcnJlZC5wcm9taXNlLHdpbmRvdy5yZXF1aXJlLmNvbmZpZyh7cGF0aHM6e3ZzOmAke099L21pbi92c2B9fSksd2luZG93LnJlcXVpcmUoWyJ2cy9lZGl0b3IvZWRpdG9yLm1haW4iXSxhc3luYygpPT57bGV0IF89YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsRT1fLnRoZW1lTWFuYWdlci5nb0JyaWdodEJvb2xlYW4/InZzIjoidnMtZGFyayIsVD13aW5kb3cubW9uYWNvLEw9bnVsbDtpZih0aGlzLmZpbGVQYXRoKXtsZXQgQj1ULlVyaS5wYXJzZShgZmlsZTovLyR7dGhpcy5maWxlUGF0aH1gKTtMPVQuZWRpdG9yLmdldE1vZGVsKEIpLEw/TC5zZXRWYWx1ZSh0aGlzLmNvbnRlbnQpOkw9VC5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5jb250ZW50LHRoaXMubGFuZ3VhZ2UsQil9bGV0IFY9VC5lZGl0b3IuY3JlYXRlKFMse21vZGVsOkx8fHZvaWQgMCx2YWx1ZTpMP3ZvaWQgMDp0aGlzLmNvbnRlbnQsbGFuZ3VhZ2U6TD92b2lkIDA6dGhpcy5sYW5ndWFnZSx0aGVtZTpFLHVzZVNoYWRvd0RPTTohMCxmb250U2l6ZToxNixhdXRvbWF0aWNMYXlvdXQ6ITAsd29yZFdyYXA6dGhpcy53b3JkV3JhcCxob3Zlcjp7ZW5hYmxlZDohMCxkZWxheTozMDAsc3RpY2t5OiEwLGFib3ZlOiExfX0pO3RoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb249Xy50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShCPT57bGV0IFU9Qj8idnMiOiJ2cy1kYXJrIjtWLnVwZGF0ZU9wdGlvbnMoe3RoZW1lOlV9KX0pLHRoaXMuZWRpdG9yRGVmZXJyZWQucmVzb2x2ZShWKX0pO2xldCBEPWF3YWl0KGF3YWl0IGZldGNoKGAke099L21pbi92cy9lZGl0b3IvZWRpdG9yLm1haW4uY3NzYCkpLnRleHQoKSxOPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7Ti50ZXh0Q29udGVudD1ELHRoaXMuc2hhZG93Um9vdC5hcHBlbmQoTik7bGV0IHE9YXdhaXQgdGhpcy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlO3Eub25EaWRDaGFuZ2VNb2RlbENvbnRlbnQoYXN5bmMgXz0+e2lmKHRoaXMuaXNVcGRhdGluZ0Zyb21FeHRlcm5hbClyZXR1cm47bGV0IHo9cS5nZXRWYWx1ZSgpO3RoaXMuY29udGVudFN1YmplY3QubmV4dCh6KSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb250ZW50LWNoYW5nZSIse2RldGFpbDp6LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9KSx0aGlzLmNvbnRlbnRTdWJqZWN0Lm5leHQocS5nZXRWYWx1ZSgpKX1hc3luYyB1cGRhdGVkKEMpe3N1cGVyLnVwZGF0ZWQoQyk7bGV0IFM9d2luZG93Lm1vbmFjbztpZihTKXtpZihDLmhhcygiZmlsZVBhdGgiKSYmdGhpcy5maWxlUGF0aCl7bGV0IE89YXdhaXQgdGhpcy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlLEQ9Uy5VcmkucGFyc2UoYGZpbGU6Ly8ke3RoaXMuZmlsZVBhdGh9YCksTj1TLmVkaXRvci5nZXRNb2RlbChEKTtOP04uZ2V0VmFsdWUoKSE9PXRoaXMuY29udGVudCYmKHRoaXMuaXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMCxOLnNldFZhbHVlKHRoaXMuY29udGVudCksdGhpcy5pc1VwZGF0aW5nRnJvbUV4dGVybmFsPSExKTpOPVMuZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuY29udGVudCx0aGlzLmxhbmd1YWdlLEQpLE8uZ2V0TW9kZWwoKT8udXJpLnRvU3RyaW5nKCkhPT1ELnRvU3RyaW5nKCkmJk8uc2V0TW9kZWwoTik7cmV0dXJufWlmKEMuaGFzKCJjb250ZW50Iikpe2xldCBPPWF3YWl0IHRoaXMuZWRpdG9yRGVmZXJyZWQucHJvbWlzZTtPLmdldFZhbHVlKCkhPT10aGlzLmNvbnRlbnQmJih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITAsTy5zZXRWYWx1ZSh0aGlzLmNvbnRlbnQpLHRoaXMuaXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMSl9aWYoQy5oYXMoImxhbmd1YWdlIikpe2xldCBEPShhd2FpdCB0aGlzLmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldE1vZGVsKCk7RCYmUy5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShELHRoaXMubGFuZ3VhZ2UpfX19YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb24mJih0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbj1udWxsKX1hc3luYyBzZXRDb250ZW50RXh0ZXJuYWwoQyxTPSEwKXtsZXQgTz1hd2FpdCB0aGlzLmVkaXRvckRlZmVycmVkLnByb21pc2U7aWYoTy5nZXRWYWx1ZSgpPT09QylyZXR1cm47bGV0IE49Uz9PLmdldFBvc2l0aW9uKCk6bnVsbCxxPVM/Ty5nZXRTZWxlY3Rpb25zKCk6bnVsbCxfPVM/Ty5nZXRTY3JvbGxUb3AoKTowLHo9Uz9PLmdldFNjcm9sbExlZnQoKTowO2lmKHRoaXMuaXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMCxPLnNldFZhbHVlKEMpLHRoaXMuaXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMSxTKXtpZihOKXtsZXQgRT1PLmdldE1vZGVsKCksVD1FPy5nZXRMaW5lQ291bnQoKXx8MSxMPU1hdGgubWluKE4ubGluZU51bWJlcixUKSxWPUU/LmdldExpbmVNYXhDb2x1bW4oTCl8fDEsQj1NYXRoLm1pbihOLmNvbHVtbixWKTtPLnNldFBvc2l0aW9uKHtsaW5lTnVtYmVyOkwsY29sdW1uOkJ9KX1pZihxJiZxLmxlbmd0aD4wKXRyeXtPLnNldFNlbGVjdGlvbnMocSl9Y2F0Y2h7fU8uc2V0U2Nyb2xsUG9zaXRpb24oe3Njcm9sbFRvcDpfLHNjcm9sbExlZnQ6en0pfX1zdGF0aWN7SW8oYSxyKX19O3JldHVybiBSPWF9KSgpfSk7dmFyIFg0LEtuLEliLHVGLEdkZT1mKCgpPT57U2EoKTt1ZSgpO1FlKCk7WjYoKTtpcigpO3dmKCk7UTYoKTtRNigpO1g0PWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sS249ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LEliPVt7a2V5OiJ0eXBlc2NyaXB0IixsYWJlbDoiVHlwZVNjcmlwdCJ9LHtrZXk6ImphdmFzY3JpcHQiLGxhYmVsOiJKYXZhU2NyaXB0In0se2tleToianNvbiIsbGFiZWw6IkpTT04ifSx7a2V5OiJodG1sIixsYWJlbDoiSFRNTCJ9LHtrZXk6ImNzcyIsbGFiZWw6IkNTUyJ9LHtrZXk6InNjc3MiLGxhYmVsOiJTQ1NTIn0se2tleToibWFya2Rvd24iLGxhYmVsOiJNYXJrZG93biJ9LHtrZXk6InlhbWwiLGxhYmVsOiJZQU1MIn0se2tleToieG1sIixsYWJlbDoiWE1MIn0se2tleToic3FsIixsYWJlbDoiU1FMIn0se2tleToicHl0aG9uIixsYWJlbDoiUHl0aG9uIn0se2tleToiamF2YSIsbGFiZWw6IkphdmEifSx7a2V5OiJjc2hhcnAiLGxhYmVsOiJDIyJ9LHtrZXk6ImNwcCIsbGFiZWw6IkMrKyJ9LHtrZXk6ImdvIixsYWJlbDoiR28ifSx7a2V5OiJydXN0IixsYWJlbDoiUnVzdCJ9LHtrZXk6InNoZWxsIixsYWJlbDoiU2hlbGwifSx7a2V5OiJwbGFpbnRleHQiLGxhYmVsOiJQbGFpbiBUZXh0In1dLHVGPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1pbnB1dC1jb2RlIildLHQscj1bXSxhLGk9bnQsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W107dmFyIHE9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W0Yoe3R5cGU6U3RyaW5nfSldLHY9W0Yoe3R5cGU6U3RyaW5nfSldLHk9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxSPVtzZSgpXSxPPVtzZSgpXSxYNCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4idmFsdWUiaW4geixnZXQ6ej0+ei52YWx1ZSxzZXQ6KHosRSk9Pnt6LnZhbHVlPUV9fSxtZXRhZGF0YTpffSxzLG8pLFg0KHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJsYW5ndWFnZSJpbiB6LGdldDp6PT56Lmxhbmd1YWdlLHNldDooeixFKT0+e3oubGFuZ3VhZ2U9RX19LG1ldGFkYXRhOl99LGwsdSksWDQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJoZWlnaHQiaW4geixnZXQ6ej0+ei5oZWlnaHQsc2V0Oih6LEUpPT57ei5oZWlnaHQ9RX19LG1ldGFkYXRhOl99LGgsbSksWDQodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3b3JkV3JhcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+IndvcmRXcmFwImluIHosZ2V0Ono9Pnoud29yZFdyYXAsc2V0Oih6LEUpPT57ei53b3JkV3JhcD1FfX0sbWV0YWRhdGE6X30sYixnKSxYNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dMaW5lTnVtYmVycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+InNob3dMaW5lTnVtYmVycyJpbiB6LGdldDp6PT56LnNob3dMaW5lTnVtYmVycyxzZXQ6KHosRSk9Pnt6LnNob3dMaW5lTnVtYmVycz1FfX0sbWV0YWRhdGE6X30sdyxrKSxYNCh0aGlzLG51bGwsUix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJpc0xhbmd1YWdlRHJvcGRvd25PcGVuImluIHosZ2V0Ono9PnouaXNMYW5ndWFnZURyb3Bkb3duT3BlbixzZXQ6KHosRSk9Pnt6LmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49RX19LG1ldGFkYXRhOl99LEMsUyksWDQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb3B5U3VjY2VzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+ImNvcHlTdWNjZXNzImluIHosZ2V0Ono9PnouY29weVN1Y2Nlc3Msc2V0Oih6LEUpPT57ei5jb3B5U3VjY2Vzcz1FfX0sbWV0YWRhdGE6X30sRCxOKSxYNChudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpffSxudWxsLHIpLHE9YT10LnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRlZXMtaW5wdXQtY29kZQogICAgICBsYWJlbD0iVHlwZVNjcmlwdCBDb2RlIgogICAgICBrZXk9ImNvZGUiCiAgICAgIGxhbmd1YWdlPSJ0eXBlc2NyaXB0IgogICAgICBoZWlnaHQ9IjMwMHB4IgogICAgICAudmFsdWU9JHtgY29uc3QgZ3JlZXRpbmc6IHN0cmluZyA9ICJIZWxsbyBXb3JsZCI7CmNvbnNvbGUubG9nKGdyZWV0aW5nKTtgfQogICAgPjwvZGVlcy1pbnB1dC1jb2RlPgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCIsIldvcmtzcGFjZSJdOyNlPUtuKHRoaXMscywiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKF8pe3RoaXMuI2U9X30jdD0oS24odGhpcyxvKSxLbih0aGlzLGwsInR5cGVzY3JpcHQiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxhbmd1YWdlKF8pe3RoaXMuI3Q9X30jcj0oS24odGhpcyx1KSxLbih0aGlzLGgsIjIwMHB4IikpO2dldCBoZWlnaHQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgaGVpZ2h0KF8pe3RoaXMuI3I9X30jYT0oS24odGhpcyxtKSxLbih0aGlzLGIsIm9mZiIpKTtnZXQgd29yZFdyYXAoKXtyZXR1cm4gdGhpcy4jYX1zZXQgd29yZFdyYXAoXyl7dGhpcy4jYT1ffSNpPShLbih0aGlzLGcpLEtuKHRoaXMsdywhMCkpO2dldCBzaG93TGluZU51bWJlcnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2hvd0xpbmVOdW1iZXJzKF8pe3RoaXMuI2k9X30jbj0oS24odGhpcyxrKSxLbih0aGlzLEMsITEpKTtnZXQgaXNMYW5ndWFnZURyb3Bkb3duT3Blbigpe3JldHVybiB0aGlzLiNufXNldCBpc0xhbmd1YWdlRHJvcGRvd25PcGVuKF8pe3RoaXMuI249X30jcz0oS24odGhpcyxTKSxLbih0aGlzLEQsITEpKTtnZXQgY29weVN1Y2Nlc3MoKXtyZXR1cm4gdGhpcy4jc31zZXQgY29weVN1Y2Nlc3MoXyl7dGhpcy4jcz1ffWVkaXRvckVsZW1lbnQ9KEtuKHRoaXMsTiksbnVsbCk7c3RhdGljIHN0eWxlcz1bRGUsLi4ubnQuYmFzZVN0eWxlcyxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuaW5wdXQtd3JhcHBlciwKICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJ0b3AiXSkgLmlucHV0LXdyYXBwZXIsCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciwKICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJyaWdodCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLmNvZGUtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItbGVmdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAudG9vbGJhci1yaWdodCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAubGFuZ3VhZ2Utc2VsZWN0b3IgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubGFuZ3VhZ2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1kcm9wZG93biB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgICAgICB6LWluZGV4OiAxMDA7CiAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtaW4td2lkdGg6IDE0MHB4OwogICAgICB9CgogICAgICAubGFuZ3VhZ2Utb3B0aW9uIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubGFuZ3VhZ2Utb3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1vcHRpb24uc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24uc3VjY2VzcyB7CiAgICAgICAgY29sb3I6IGhzbCgxNDIuMSA3Ni4yJSAzNi4zJSk7CiAgICAgIH0KCiAgICAgIC5lZGl0b3Itd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtbW9uYWNvIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWRpdmlkZXIgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuY29kZS1jb250YWluZXIgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IF89SWIuZmluZCh6PT56LmtleT09PXRoaXMubGFuZ3VhZ2UpfHxJYlswXTtyZXR1cm4gTWAKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGhlaWdodDogJHt0aGlzLmhlaWdodH07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItbGVmdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2VsZWN0b3IiPgogICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnRvZ2dsZUxhbmd1YWdlRHJvcGRvd259CiAgICAgICAgICAgICAgICAgIEBibHVyPSR7dGhpcy5oYW5kbGVMYW5ndWFnZUJsdXJ9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7Xy5sYWJlbH0KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Q2hldnJvbkRvd24ifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAke3RoaXMuaXNMYW5ndWFnZURyb3Bkb3duT3Blbj9NYAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1kcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgJHtJYi5tYXAoej0+TWAKICAgICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLW9wdGlvbiAke3oua2V5PT09dGhpcy5sYW5ndWFnZT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke0U9PnRoaXMuc2VsZWN0TGFuZ3VhZ2UoRSx6LmtleSl9CiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICR7ei5sYWJlbH0KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLXJpZ2h0Ij4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLndvcmRXcmFwPT09Im9uIj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICB0aXRsZT0iV29yZCBXcmFwIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy50b2dnbGVXb3JkV3JhcH0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpXcmFwVGV4dCJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uICR7dGhpcy5zaG93TGluZU51bWJlcnM/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgdGl0bGU9IkxpbmUgTnVtYmVycyIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMudG9nZ2xlTGluZU51bWJlcnN9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6SGFzaCJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1kaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLmNvcHlTdWNjZXNzPyJzdWNjZXNzIjoiIn0iCiAgICAgICAgICAgICAgICB0aXRsZT0iQ29weSBDb2RlIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5jb3B5Q29kZX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5jb3B5U3VjY2Vzcz8ibHVjaWRlOkNoZWNrIjoibHVjaWRlOkNvcHkifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIHRpdGxlPSJFeHBhbmQiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLm9wZW5GdWxsc2NyZWVufQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOk1heGltaXplMiJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3Itd3JhcHBlciI+CiAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgICAuY29udGVudD0ke3RoaXMudmFsdWV9CiAgICAgICAgICAgICAgLmxhbmd1YWdlPSR7dGhpcy5sYW5ndWFnZX0KICAgICAgICAgICAgICAud29yZFdyYXA9JHt0aGlzLndvcmRXcmFwfQogICAgICAgICAgICAgIEBjb250ZW50LWNoYW5nZT0ke3RoaXMuaGFuZGxlQ29udGVudENoYW5nZX0KICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLmVkaXRvckVsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKSx0aGlzLmVkaXRvckVsZW1lbnQmJnRoaXMuZWRpdG9yRWxlbWVudC5jb250ZW50U3ViamVjdC5zdWJzY3JpYmUoXz0+e3RoaXMudmFsdWUhPT1fJiYodGhpcy52YWx1ZT1fLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX0pfXRvZ2dsZUxhbmd1YWdlRHJvcGRvd24oKXt0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49IXRoaXMuaXNMYW5ndWFnZURyb3Bkb3duT3Blbn1oYW5kbGVMYW5ndWFnZUJsdXIoKXtzZXRUaW1lb3V0KCgpPT57dGhpcy5pc0xhbmd1YWdlRHJvcGRvd25PcGVuPSExfSwxNTApfWFzeW5jIHNlbGVjdExhbmd1YWdlKF8seil7aWYoXy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubGFuZ3VhZ2U9eix0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49ITEsdGhpcy5lZGl0b3JFbGVtZW50KXt0aGlzLmVkaXRvckVsZW1lbnQubGFuZ3VhZ2U9ejtsZXQgVD0oYXdhaXQgdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldE1vZGVsKCk7VCYmd2luZG93Lm1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShULHopfX10b2dnbGVXb3JkV3JhcCgpe3RoaXMud29yZFdyYXA9dGhpcy53b3JkV3JhcD09PSJvbiI/Im9mZiI6Im9uIix0aGlzLnVwZGF0ZUVkaXRvck9wdGlvbigid29yZFdyYXAiLHRoaXMud29yZFdyYXApfXRvZ2dsZUxpbmVOdW1iZXJzKCl7dGhpcy5zaG93TGluZU51bWJlcnM9IXRoaXMuc2hvd0xpbmVOdW1iZXJzLHRoaXMudXBkYXRlRWRpdG9yT3B0aW9uKCJsaW5lTnVtYmVycyIsdGhpcy5zaG93TGluZU51bWJlcnM/Im9uIjoib2ZmIil9YXN5bmMgdXBkYXRlRWRpdG9yT3B0aW9uKF8seil7dGhpcy5lZGl0b3JFbGVtZW50JiYoYXdhaXQgdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe1tfXTp6fSl9YXN5bmMgY29weUNvZGUoKXt0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGhpcy52YWx1ZSksdGhpcy5jb3B5U3VjY2Vzcz0hMCxzZXRUaW1lb3V0KCgpPT57dGhpcy5jb3B5U3VjY2Vzcz0hMX0sMmUzKX1jYXRjaChfKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weSBjb2RlOiIsXyl9fWhhbmRsZUNvbnRlbnRDaGFuZ2UoXyl7bGV0IHo9Xy5kZXRhaWw7dGhpcy52YWx1ZSE9PXomJih0aGlzLnZhbHVlPXosdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWFzeW5jIG9wZW5GdWxsc2NyZWVuKCl7bGV0IF89dGhpcy52YWx1ZSx6PW51bGwsRT10aGlzLmxhbmd1YWdlLFQ9dGhpcy53b3JkV3JhcCxMPXRoaXMuc2hvd0xpbmVOdW1iZXJzLFY9ITEsQj0hMSxVPSgpPT57bGV0IE1lPUliLmZpbmQoUD0+UC5rZXk9PT1FKTtyZXR1cm4gTWU/TWUubGFiZWw6IlR5cGVTY3JpcHQifSxLPU1lPT57bGV0IFA9TWUuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsLXRvb2xiYXIiKTtpZighUClyZXR1cm47bGV0IGxlPVAucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLWJ1dHRvbiBzcGFuIik7bGUmJihsZS50ZXh0Q29udGVudD1VKCkpO2xldCBTZT1QLnF1ZXJ5U2VsZWN0b3IoIi53cmFwLWJ0biIpO1NlJiZTZS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLFQ9PT0ib24iKTtsZXQgWj1QLnF1ZXJ5U2VsZWN0b3IoIi5saW5lcy1idG4iKTtaJiZaLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsTCk7bGV0IEE9UC5xdWVyeVNlbGVjdG9yKCIuY29weS1idG4iKSwkPUE/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaWNvbiIpO0EmJiQmJihBLmNsYXNzTGlzdC50b2dnbGUoInN1Y2Nlc3MiLEIpLCQuaWNvbj1CPyJsdWNpZGU6Q2hlY2siOiJsdWNpZGU6Q29weSIpO2xldCBqPVAucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLWRyb3Bkb3duIik7aiYmKGouc3R5bGUuZGlzcGxheT1WPyJibG9jayI6Im5vbmUiKX0sST1hd2FpdCBHci5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOnRoaXMubGFiZWx8fCJDb2RlIEVkaXRvciIsd2lkdGg6ImZ1bGxzY3JlZW4iLGNvbnRlbnRQYWRkaW5nOjAsY29udGVudDpNYAogICAgICAgIDxzdHlsZT4KICAgICAgICAgIC5tb2RhbC10b29sYmFyIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWxlZnQgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLXJpZ2h0IHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utc2VsZWN0b3IgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2UtYnV0dG9uIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLWRyb3Bkb3duIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgICAgIHotaW5kZXg6IDEwMDsKICAgICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7CiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgICAgIG1pbi13aWR0aDogMTQwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utb3B0aW9uIHsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utb3B0aW9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLW9wdGlvbi5zZWxlY3RlZCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NSUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1idXR0b24uYWN0aXZlIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLnRvb2xiYXItYnV0dG9uLnN1Y2Nlc3MgewogICAgICAgICAgICBjb2xvcjogaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWRpdmlkZXIgewogICAgICAgICAgICB3aWR0aDogMXB4OwogICAgICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC1lZGl0b3Itd3JhcHBlciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTc1cHgpOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIH0KICAgICAgICA8L3N0eWxlPgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLXRvb2xiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1sZWZ0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2VsZWN0b3IiPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imxhbmd1YWdlLWJ1dHRvbiI+CiAgICAgICAgICAgICAgICA8c3Bhbj4ke1UoKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpDaGV2cm9uRG93biJ9IGljb25TaXplPSIxNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtZHJvcGRvd24iPgogICAgICAgICAgICAgICAgJHtJYi5tYXAoTWU9Pk1gCiAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibGFuZ3VhZ2Utb3B0aW9uICR7TWUua2V5PT09RT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICBkYXRhLWxhbmc9IiR7TWUua2V5fSIKICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICR7TWUubGFiZWx9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLXJpZ2h0Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24gd3JhcC1idG4gJHtUPT09Im9uIj8iYWN0aXZlIjoiIn0iIHRpdGxlPSJXb3JkIFdyYXAiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOldyYXBUZXh0In0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIGxpbmVzLWJ0biAke0w/ImFjdGl2ZSI6IiJ9IiB0aXRsZT0iTGluZSBOdW1iZXJzIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpIYXNoIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZGl2aWRlciI+PC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIGNvcHktYnRuIiB0aXRsZT0iQ29weSBDb2RlIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpDb3B5In0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1lZGl0b3Itd3JhcHBlciI+CiAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbW9uYWNvCiAgICAgICAgICAgIC5jb250ZW50PSR7X30KICAgICAgICAgICAgLmxhbmd1YWdlPSR7RX0KICAgICAgICAgICAgLndvcmRXcmFwPSR7VH0KICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLW1vbmFjbz4KICAgICAgICA8L2Rpdj4KICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOmFzeW5jIE1lPT57YXdhaXQgTWUuZGVzdHJveSgpfX0se25hbWU6IlNhdmUgJiBDbG9zZSIsYWN0aW9uOmFzeW5jIE1lPT57aWYoej1NZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKSx6KXtsZXQgbGU9KGF3YWl0IHouZWRpdG9yRGVmZXJyZWQucHJvbWlzZSkuZ2V0VmFsdWUoKTt0aGlzLnNldFZhbHVlKGxlKX1hd2FpdCBNZS5kZXN0cm95KCl9fV19KTthd2FpdCBuZXcgUHJvbWlzZShNZT0+c2V0VGltZW91dChNZSwxMDApKSx6PUkuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIik7bGV0IHZlPUkuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsLXRvb2xiYXIiKTtpZih2ZSl7bGV0IE1lPXZlLnF1ZXJ5U2VsZWN0b3IoIi5sYW5ndWFnZS1idXR0b24iKTtNZT8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57Vj0hVixLKEkpfSk7bGV0IFA9dmUucXVlcnlTZWxlY3RvckFsbCgiLmxhbmd1YWdlLW9wdGlvbiIpO1AuZm9yRWFjaChBPT57QS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e2xldCAkPUEuZGF0YXNldC5sYW5nO2lmKCQmJnope0U9JCxWPSExO2xldCBIPShhd2FpdCB6LmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldE1vZGVsKCk7SCYmd2luZG93Lm1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShILCQpLFAuZm9yRWFjaChZPT5ZLmNsYXNzTGlzdC5yZW1vdmUoInNlbGVjdGVkIikpLEEuY2xhc3NMaXN0LmFkZCgic2VsZWN0ZWQiKSxLKEkpfX0pfSksdmUucXVlcnlTZWxlY3RvcigiLndyYXAtYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57VD1UPT09Im9uIj8ib2ZmIjoib24iLHomJihhd2FpdCB6LmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe3dvcmRXcmFwOlR9KSxLKEkpfSksdmUucXVlcnlTZWxlY3RvcigiLmxpbmVzLWJ0biIpPy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e0w9IUwseiYmKGF3YWl0IHouZWRpdG9yRGVmZXJyZWQucHJvbWlzZSkudXBkYXRlT3B0aW9ucyh7bGluZU51bWJlcnM6TD8ib24iOiJvZmYifSksSyhJKX0pLHZlLnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LWJ0biIpPy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e2lmKHope2xldCAkPShhd2FpdCB6LmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldFZhbHVlKCk7dHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KCQpLEI9ITAsSyhJKSxzZXRUaW1lb3V0KCgpPT57Qj0hMSxLKEkpfSwyZTMpfWNhdGNoKGope2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjb3B5IGNvZGU6IixqKX19fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLEE9PntWJiYhTWU/LmNvbnRhaW5zKEEudGFyZ2V0KSYmKFY9ITEsSyhJKSl9LHtvbmNlOiEwfSl9fWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoXyl7dGhpcy52YWx1ZT1fLHRoaXMuZWRpdG9yRWxlbWVudCYmKHRoaXMuZWRpdG9yRWxlbWVudC5jb250ZW50PV8sdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UudGhlbih6PT57ei5nZXRWYWx1ZSgpIT09XyYmei5zZXRWYWx1ZShfKX0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1zdGF0aWN7S24oYSxyKX19O3JldHVybiBxPWF9KSgpfSk7dmFyIERscixBbHI9ZigoKT0+e3VlKCk7aGEoKTtPaSgpO1lkZSgpO0Rscj0oKT0+TWAKICA8c3R5bGU+CiAgICAke0pgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CiAgICAgIAogICAgICAuZGF0ZS1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHI9Pntjb25zb2xlLmxvZygiQmFzaWMgZGF0ZSBzZWxlY3RlZDoiLHIudGFyZ2V0LnZhbHVlKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBEYXRlIFBpY2tlciJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgZGF0ZSBzZWxlY3Rpb24gd2l0aG91dCB0aW1lIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IlNlbGVjdCBEYXRlIgogICAgICAgICAgZGVzY3JpcHRpb249IkNob29zZSBhIGRhdGUgZnJvbSB0aGUgY2FsZW5kYXIiCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kYXRlcGlja2VyW2xhYmVsPSJFdmVudCBEYXRlICYgVGltZSJdJykscj1lLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZGF0ZXBpY2tlcltsYWJlbD0iQXBwb2ludG1lbnQiXScpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhPT57bGV0IGk9YS50YXJnZXQudmFsdWU7Y29uc29sZS5sb2coIjI0aCBmb3JtYXQgZGF0ZXRpbWU6IixpKX0pLHImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhPT57bGV0IGk9YS50YXJnZXQudmFsdWU7Y29uc29sZS5sb2coIjEyaCBmb3JtYXQgZGF0ZXRpbWU6IixpKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJEYXRlIGFuZCBUaW1lIFNlbGVjdGlvbiJ9IC5zdWJ0aXRsZT0keyJEYXRlIHBpY2tlcnMgd2l0aCB0aW1lIHNlbGVjdGlvbiBpbiBkaWZmZXJlbnQgZm9ybWF0cyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJFdmVudCBEYXRlICYgVGltZSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTZWxlY3QgYm90aCBkYXRlIGFuZCB0aW1lICgyNC1ob3VyIGZvcm1hdCkiCiAgICAgICAgICAuZW5hYmxlVGltZT0keyEwfQogICAgICAgICAgdGltZUZvcm1hdD0iMjRoIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iQXBwb2ludG1lbnQiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iRGF0ZSBhbmQgdGltZSB3aXRoIEFNL1BNIHNlbGVjdG9yICgxNS1taW51dGUgaW5jcmVtZW50cykiCiAgICAgICAgICAuZW5hYmxlVGltZT0keyEwfQogICAgICAgICAgdGltZUZvcm1hdD0iMTJoIgogICAgICAgICAgLm1pbnV0ZUluY3JlbWVudD0kezE1fQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntlLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhPT57bGV0IGk9YS50YXJnZXQ7Y29uc29sZS5sb2coYCR7aS5sYWJlbH0gdmFsdWU6YCxpLnZhbHVlKTtsZXQgbj1pLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5kYXRlLWlucHV0Iik7biYmY29uc29sZS5sb2coYCR7aS5sYWJlbH0gZm9ybWF0dGVkOmAsbi52YWx1ZSl9KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJUaW1lem9uZSBTdXBwb3J0In0gLnN1YnRpdGxlPSR7IkRhdGUgYW5kIHRpbWUgc2VsZWN0aW9uIHdpdGggdGltZXpvbmUgYXdhcmVuZXNzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9Ik1lZXRpbmcgVGltZSAod2l0aCBUaW1lem9uZSkiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iU2VsZWN0IGEgZGF0ZS90aW1lIGFuZCB0aW1lem9uZSBmb3IgdGhlIG1lZXRpbmciCiAgICAgICAgICAuZW5hYmxlVGltZT0keyEwfQogICAgICAgICAgLmVuYWJsZVRpbWV6b25lPSR7ITB9CiAgICAgICAgICB0aW1lRm9ybWF0PSIyNGgiCiAgICAgICAgICB0aW1lem9uZT0iQW1lcmljYS9OZXdfWW9yayIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9Ikdsb2JhbCBFdmVudCBTY2hlZHVsZSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTY2hlZHVsZSBhbiBldmVudCBhY3Jvc3MgZGlmZmVyZW50IHRpbWV6b25lcyIKICAgICAgICAgIC5lbmFibGVUaW1lPSR7ITB9CiAgICAgICAgICAuZW5hYmxlVGltZXpvbmU9JHshMH0KICAgICAgICAgIHRpbWVGb3JtYXQ9IjEyaCIKICAgICAgICAgIHRpbWV6b25lPSJFdXJvcGUvTG9uZG9uIgogICAgICAgICAgLm1pbnV0ZUluY3JlbWVudD0kezMwfQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixyPT57bGV0IGE9ci50YXJnZXQudmFsdWU7aWYoYSl7bGV0IGk9bmV3IERhdGUoYSksbj1uZXcgRGF0ZSxzPU1hdGguZmxvb3IoKGkuZ2V0VGltZSgpLW4uZ2V0VGltZSgpKS8oMWUzKjYwKjYwKjI0KSk7Y29uc29sZS5sb2coYFNlbGVjdGVkIGRhdGUgaXMgJHtzfSBkYXlzIGZyb20gdG9kYXlgKX19KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRGF0ZSBSYW5nZSBDb25zdHJhaW50cyJ9IC5zdWJ0aXRsZT0keyJMaW1pdCBzZWxlY3RhYmxlIGRhdGVzIHdpdGggbWluIGFuZCBtYXggdmFsdWVzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkZ1dHVyZSBEYXRlIE9ubHkiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2FuIG9ubHkgc2VsZWN0IGRhdGVzIGZyb20gdG9kYXkgdG8gOTAgZGF5cyBpbiB0aGUgZnV0dXJlIgogICAgICAgICAgLm1pbkRhdGU9JHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9CiAgICAgICAgICAubWF4RGF0ZT0ke25ldyBEYXRlKERhdGUubm93KCkrMjE2MCo2MCo2MCoxZTMpLnRvSVNPU3RyaW5nKCl9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PXsiREQvTU0vWVlZWSI6IkV1cm9wZWFuIiwiTU0vREQvWVlZWSI6IlVTIiwiWVlZWS1NTS1ERCI6IklTTyJ9O2UucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC1kYXRlcGlja2VyIikuZm9yRWFjaChhPT57YS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGk9PntsZXQgbj1pLnRhcmdldCxzPW4uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmRhdGUtaW5wdXQiKTtzJiZjb25zb2xlLmxvZyhgJHtuLmxhYmVsfSBmb3JtYXQ6YCxzLnZhbHVlKX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkRhdGUgRm9ybWF0cyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgZGF0ZSBkaXNwbGF5IGZvcm1hdHMgZm9yIHZhcmlvdXMgcmVnaW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRhdGUtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgICBsYWJlbD0iRXVyb3BlYW4gRm9ybWF0IgogICAgICAgICAgICBkYXRlRm9ybWF0PSJERC9NTS9ZWVlZIgogICAgICAgICAgICAudmFsdWU9JHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IlVTIEZvcm1hdCIKICAgICAgICAgICAgZGF0ZUZvcm1hdD0iTU0vREQvWVlZWSIKICAgICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICAgIGxhYmVsPSJJU08gRm9ybWF0IgogICAgICAgICAgICBkYXRlRm9ybWF0PSJZWVlZLU1NLUREIgogICAgICAgICAgICAudmFsdWU9JHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXJbcmVxdWlyZWRdIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3QuZ2V0VmFsdWUoKXx8Y29uc29sZS5sb2coIlJlcXVpcmVkIGRhdGUgZmllbGQgaXMgZW1wdHkiKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJSZXF1aXJlZCBhbmQgZGlzYWJsZWQgc3RhdGVzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkJpcnRoIERhdGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVGhpcyBmaWVsZCBpcyByZXF1aXJlZCIKICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgcGxhY2Vob2xkZXI9IlNlbGVjdCB5b3VyIGJpcnRoIGRhdGUiCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJEaXNhYmxlZCBEYXRlIgogICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgZmllbGQgY2Fubm90IGJlIGVkaXRlZCIKICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZGF0ZXBpY2tlcltsYWJlbD0iVVMgQ2FsZW5kYXIiXScpLHI9ZS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRhdGVwaWNrZXJbbGFiZWw9IkVVIENhbGVuZGFyIl0nKTt0JiZjb25zb2xlLmxvZygiVVMgQ2FsZW5kYXIgc3RhcnRzIG9uIFN1bmRheSAoMCkiKSxyJiZjb25zb2xlLmxvZygiRVUgQ2FsZW5kYXIgc3RhcnRzIG9uIE1vbmRheSAoMSkiKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQ2FsZW5kYXIgQ3VzdG9taXphdGlvbiJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgd2VlayBzdGFydCBkYXlzIGZvciB2YXJpb3VzIHJlZ2lvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IlVTIENhbGVuZGFyIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iV2VlayBzdGFydHMgb24gU3VuZGF5IgogICAgICAgICAgICAud2Vla1N0YXJ0c09uPSR7MH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgICBsYWJlbD0iRVUgQ2FsZW5kYXIiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJXZWVrIHN0YXJ0cyBvbiBNb25kYXkiCiAgICAgICAgICAgIC53ZWVrU3RhcnRzT249JHsxfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PSgpPT57bGV0IGE9W10saT1uZXcgRGF0ZSxuPWkuZ2V0RnVsbFllYXIoKSxzPWkuZ2V0TW9udGgoKSxvPW5ldyBEYXRlKG4scywxKTtmb3IoO28uZ2V0TW9udGgoKT09PXM7KShvLmdldERheSgpPT09MHx8by5nZXREYXkoKT09PTYpJiZhLnB1c2gobmV3IERhdGUobykudG9JU09TdHJpbmcoKSksby5zZXREYXRlKG8uZ2V0RGF0ZSgpKzEpO3JldHVybiBhfSxyPWUucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyIik7ciYmKHIuZGlzYWJsZWREYXRlcz10KCksY29uc29sZS5sb2coIkRpc2FibGVkIHdlZWtlbmQgZGF0ZXMgZm9yIGN1cnJlbnQgbW9udGgiKSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkRpc2FibGVkIERhdGVzIn0gLnN1YnRpdGxlPSR7IkNhbGVuZGFyIHdpdGggc3BlY2lmaWMgZGF0ZXMgZGlzYWJsZWQgKHdlZWtlbmRzIGluIGN1cnJlbnQgbW9udGgpIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkF2YWlsYWJpbGl0eSBDYWxlbmRhciIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJXZWVrZW5kcyBhcmUgZGlzYWJsZWQgZm9yIHRoZSBjdXJyZW50IG1vbnRoIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1uZXcgRGF0ZSxyPXQuZ2V0TW9udGgoKSxhPXQuZ2V0RnVsbFllYXIoKSxpPVt7ZGF0ZTpgJHthfS0keyhyKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0ke3QuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWAsdGl0bGU6IlRlYW0gTWVldGluZyIsdHlwZToiaW5mbyIsY291bnQ6Mn0se2RhdGU6YCR7YX0tJHsocisxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHsodC5nZXREYXRlKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YCx0aXRsZToiUHJvamVjdCBEZWFkbGluZSIsdHlwZToid2FybmluZyJ9LHtkYXRlOmAke2F9LSR7KHIrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7KHQuZ2V0RGF0ZSgpKzIpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWAsdGl0bGU6IlJlbGVhc2UgRGF5Iix0eXBlOiJzdWNjZXNzIn0se2RhdGU6YCR7YX0tJHsocisxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHsodC5nZXREYXRlKCkrNSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YCx0aXRsZToiVXJnZW50IEZpeCBSZXF1aXJlZCIsdHlwZToiZXJyb3IifSx7ZGF0ZTpgJHthfS0keyhyKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0keyh0LmdldERhdGUoKSs3KS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gLHRpdGxlOiJNdWx0aXBsZSBFdmVudHMgVG9kYXkiLHR5cGU6ImluZm8iLGNvdW50OjV9LHtkYXRlOmAke2F9LSR7KHIrMikudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LTE1YCx0aXRsZToiRnV0dXJlIFBsYW5uaW5nIFNlc3Npb24iLHR5cGU6ImluZm8ifV0sbj1lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpO24mJihuLmV2ZW50cz1pLGNvbnNvbGUubG9nKCJDYWxlbmRhciBldmVudHMgbG9hZGVkOiIsaSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJDYWxlbmRhciB3aXRoIEV2ZW50cyJ9IC5zdWJ0aXRsZT0keyJWaXN1YWwgZmVlZGJhY2sgZm9yIHNjaGVkdWxlZCBldmVudHMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iRXZlbnQgQ2FsZW5kYXIiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iRGF5cyB3aXRoIGNvbG9yZWQgZG90cyBoYXZlIGV2ZW50cy4gSG92ZXIgdG8gc2VlIGRldGFpbHMuIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLW91dHB1dCIgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgIDxzdHJvbmc+RXZlbnQgTGVnZW5kOjwvc3Ryb25nPjxicj4KICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzA5NjlkYTsiPuKXjyBJbmZvPC9zcGFuPiB8IAogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjZDI5OTIyOyI+4pePIFdhcm5pbmc8L3NwYW4+IHwgCiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMyZWEwNDM7Ij7il48gU3VjY2Vzczwvc3Bhbj4gfCAKICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogI2NmMjIyZTsiPuKXjyBFcnJvcjwvc3Bhbj48YnI+CiAgICAgICAgICA8ZW0+RGF5cyB3aXRoIG1vcmUgdGhhbiAzIGV2ZW50cyBzaG93IGEgY291bnQgYmFkZ2U8L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyIikscj1lLnF1ZXJ5U2VsZWN0b3IoIiNldmVudC1vdXRwdXQiKTt0JiZyJiYodC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGE9PntsZXQgaT1hLnRhcmdldCxuPWkudmFsdWU7aWYobil7bGV0IHM9bmV3IERhdGUobiksYz1pLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5kYXRlLWlucHV0Iik/LnZhbHVlfHwiTi9BIjtyLmlubmVySFRNTD1gCiAgICAgICAgICAgICAgPHN0cm9uZz5FdmVudCB0cmlnZ2VyZWQhPC9zdHJvbmc+PGJyPgogICAgICAgICAgICAgIElTTyBWYWx1ZTogJHtufTxicj4KICAgICAgICAgICAgICBGb3JtYXR0ZWQ6ICR7Y308YnI+CiAgICAgICAgICAgICAgRGF0ZSBvYmplY3Q6ICR7cy50b0xvY2FsZVN0cmluZygpfQogICAgICAgICAgICBgfWVsc2Ugci5pbm5lckhUTUw9IjxlbT5EYXRlIGNsZWFyZWQ8L2VtPiJ9KSx0LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57Y29uc29sZS5sb2coIkRhdGVwaWNrZXIgbG9zdCBmb2N1cyIpfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJFdmVudCBIYW5kbGluZyJ9IC5zdWJ0aXRsZT0keyJJbnRlcmFjdGl2ZSBkZW1vbnN0cmF0aW9uIG9mIGNoYW5nZSBldmVudHMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iRXZlbnQgRGVtbyIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTZWxlY3QgYSBkYXRlIHRvIHNlZSB0aGUgZXZlbnQgZGV0YWlscyIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0iZXZlbnQtb3V0cHV0IiBjbGFzcz0iZGVtby1vdXRwdXQiPgogICAgICAgICAgPGVtPlNlbGVjdCBhIGRhdGUgdG8gc2VlIGV2ZW50IGRldGFpbHMuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmB9KTt2YXIgRWxyLElscj1mKCgpPT57dWUoKTtTYSgpO0Vscj1bLi4ubnQuYmFzZVN0eWxlcyxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgfQoKICAgICAgLmRhdGUtaW5wdXQ6Zm9jdXMsCiAgICAgIC5kYXRlLWlucHV0Lm9wZW4gewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9LAogICAgICAgICAgICAgICAgICAgIDAgMCAwIDRweCAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlIC8gMC4xKSIsImhzbCgyMTAgMjAlIDk4JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5kYXRlLWlucHV0OmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAvKiBJY29uIGNvbnRhaW5lciB1c2luZyBmbGV4Ym94IGZvciBiZXR0ZXIgcG9zaXRpb25pbmcgKi8KICAgICAgLmljb24tY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuaWNvbi1jb250YWluZXIgPiAqIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgfQoKICAgICAgLmNhbGVuZGFyLWljb24gewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmNsZWFyLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmNsZWFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBDYWxlbmRhciBQb3B1cCBTdHlsZXMgKi8KICAgICAgLmNhbGVuZGFyLXBvcHVwIHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIyNCA3MS40JSA0LjElKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogJHtwLmJkVGhlbWUoIjAgMTBweCAxNXB4IC0zcHggaHNsKDAgMCUgMCUgLyAwLjEpLCAwIDRweCA2cHggLTRweCBoc2woMCAwJSAwJSAvIDAuMSkiLCIwIDEwcHggMTVweCAtM3B4IGhzbCgwIDAlIDAlIC8gMC4yKSwgMCA0cHggNnB4IC00cHggaHNsKDAgMCUgMCUgLyAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgei1pbmRleDogNTA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBtaW4td2lkdGg6IDI4MHB4OwogICAgICB9CgogICAgICAuY2FsZW5kYXItcG9wdXAudG9wIHsKICAgICAgICBib3R0b206IGNhbGMoMTAwJSArIDRweCk7CiAgICAgICAgdG9wOiBhdXRvOwogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOwogICAgICB9CgogICAgICAuY2FsZW5kYXItcG9wdXAuYm90dG9tIHsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYWxlbmRhci1wb3B1cC5zaG93IHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAvKiBDYWxlbmRhciBIZWFkZXIgKi8KICAgICAgLmNhbGVuZGFyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAubW9udGgteWVhci1kaXNwbGF5IHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAubmF2LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAubmF2LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICB9CgogICAgICAubmF2LWJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLyogV2Vla2RheSBoZWFkZXJzICovCiAgICAgIC53ZWVrZGF5cyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpOwogICAgICAgIGdhcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC53ZWVrZGF5IHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgcGFkZGluZzogMCAwIDhweCAwOwogICAgICB9CgogICAgICAvKiBEYXlzIGdyaWQgKi8KICAgICAgLmRheXMtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAuZGF5IHsKICAgICAgICBhc3BlY3QtcmF0aW86IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgd2lkdGg6IDM2cHg7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuZGF5OmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICB9CgogICAgICAuZGF5Lm90aGVyLW1vbnRoIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5kYXkudG9kYXkgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmRheS5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmRheS5kaXNhYmxlZCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgIH0KCiAgICAgIC8qIEV2ZW50IGluZGljYXRvcnMgKi8KICAgICAgLmRheS5oYXMtZXZlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmV2ZW50LWluZGljYXRvciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogNHB4OwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmV2ZW50LWRvdCB7CiAgICAgICAgd2lkdGg6IDRweDsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgfQoKICAgICAgLmV2ZW50LWRvdC5pbmZvIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMSA3MCUgNTIlKSIsImhzbCgyMTEgNzAlIDYyJSkiKX07CiAgICAgIH0KCiAgICAgIC5ldmVudC1kb3Qud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCg0NSA5MCUgNDUlKSIsImhzbCg0NSA5MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmV2ZW50LWRvdC5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDE0MiA2OSUgNDUlKSIsImhzbCgxNDIgNjklIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5ldmVudC1kb3QuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCA3MiUgNTElKSIsImhzbCgwIDcyJSA2MSUpIil9OwogICAgICB9CgogICAgICAuZXZlbnQtY291bnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDJweDsKICAgICAgICByaWdodDogMnB4OwogICAgICAgIG1pbi13aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDcyJSA1MSUpIiwiaHNsKDAgNzIlIDYxJSkiKX07CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIH0KCiAgICAgIC8qIFRvb2x0aXAgZm9yIGV2ZW50IGRldGFpbHMgKi8KICAgICAgLmV2ZW50LXRvb2x0aXAgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IGNhbGMoMTAwJSArIDhweCk7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDAlKSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICB9CgogICAgICAuZXZlbnQtdG9vbHRpcDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kYXkuaGFzLWV2ZW50OmhvdmVyIC5ldmVudC10b29sdGlwIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAvKiBUaW1lIHNlbGVjdG9yICovCiAgICAgIC50aW1lLXNlbGVjdG9yIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgIH0KCiAgICAgIC50aW1lLXNlbGVjdG9yLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC50aW1lLWlucHV0cyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAudGltZS1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDY1cHg7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIyNCA3MS40JSA0LjElKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50aW1lLWlucHV0OmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICB9CgogICAgICAudGltZS1pbnB1dDpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSAvIDAuMSkiLCJoc2woMjEwIDIwJSA5OCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAudGltZS1zZXBhcmF0b3IgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuYW0tcG0tc2VsZWN0b3IgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgfQoKICAgICAgLmFtLXBtLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuYW0tcG0tYnV0dG9uLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmFtLXBtLWJ1dHRvbjpob3Zlcjpub3QoLnNlbGVjdGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLyogQWN0aW9uIGJ1dHRvbnMgKi8KICAgICAgLmNhbGVuZGFyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC50b2RheS1idXR0b24gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC50b2RheS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgIH0KCiAgICAgIC50b2RheS1idXR0b246YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgIH0KCiAgICAgIC5jbGVhci1idXR0b24gewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjEpIiwiaHNsKDAgNjIuOCUgMzAuNiUgLyAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4yKSIsImhzbCgwIDYyLjglIDMwLjYlIC8gMC4yKSIpfTsKICAgICAgfQoKICAgICAgLyogVGltZXpvbmUgc2VsZWN0b3IgKi8KICAgICAgLnRpbWV6b25lLXNlbGVjdG9yIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgIH0KCiAgICAgIC50aW1lem9uZS1zZWxlY3Rvci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAudGltZXpvbmUtc2VsZWN0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnRpbWV6b25lLXNlbGVjdDpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgfQoKICAgICAgLnRpbWV6b25lLXNlbGVjdDpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSAvIDAuMSkiLCJoc2woMjEwIDIwJSA5OCUgLyAwLjEpIil9OwogICAgICB9CiAgICBgXX0pO3ZhciBQbHIsTmxyPWYoKCk9Pnt1ZSgpO1Bscj1lPT57bGV0IHQ9WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLHI9ZS53ZWVrU3RhcnRzT249PT0xP1siTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIiwiU3UiXTpbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sYT1lLmdldERheXNJbk1vbnRoKCksaT1lLnNlbGVjdGVkSG91cjwxMixuPWUuZ2V0VGltZXpvbmVzKCk7cmV0dXJuIE1gCiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHtlLmxhYmVsfSAuZGVzY3JpcHRpb249JHtlLmRlc2NyaXB0aW9ufSAucmVxdWlyZWQ9JHtlLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1jb250YWluZXIiPgogICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgIGNsYXNzPSJkYXRlLWlucHV0ICR7ZS5pc09wZW5lZD8ib3BlbiI6IiJ9IgogICAgICAgICAgICAgIC52YWx1ZT0ke2UuZm9ybWF0RGF0ZShlLnZhbHVlKX0KICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9JHtlLnBsYWNlaG9sZGVyfQogICAgICAgICAgICAgID9kaXNhYmxlZD0ke2UuZGlzYWJsZWR9CiAgICAgICAgICAgICAgQGNsaWNrPSR7ZS50b2dnbGVDYWxlbmRhcn0KICAgICAgICAgICAgICBAa2V5ZG93bj0ke2UuaGFuZGxlS2V5ZG93bn0KICAgICAgICAgICAgICBAaW5wdXQ9JHtlLmhhbmRsZU1hbnVhbElucHV0fQogICAgICAgICAgICAgIEBibHVyPSR7ZS5oYW5kbGVJbnB1dEJsdXJ9CiAgICAgICAgICAgICAgc3R5bGU9InBhZGRpbmctcmlnaHQ6ICR7ZS52YWx1ZT8iNjRweCI6IjQwcHgifSIKICAgICAgICAgICAgLz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1jb250YWluZXIiPgogICAgICAgICAgICAgICR7ZS52YWx1ZSYmIWUuZGlzYWJsZWQ/TWAKICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNsZWFyLWJ1dHRvbiIgQGNsaWNrPSR7ZS5jbGVhclZhbHVlfSB0aXRsZT0iQ2xlYXIiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTp4IiBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjYWxlbmRhci1pY29uIiBpY29uPSJsdWNpZGU6Y2FsZW5kYXIiIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgICAgIDwhLS0gQ2FsZW5kYXIgUG9wdXAgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbGVuZGFyLXBvcHVwICR7ZS5pc09wZW5lZD8ic2hvdyI6IiJ9ICR7ZS5vcGVuc1RvVG9wPyJ0b3AiOiJib3R0b20ifSI+CiAgICAgICAgICAgICAgPCEtLSBNb250aC9ZZWFyIE5hdmlnYXRpb24gLS0+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FsZW5kYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1idXR0b24iIEBjbGljaz0ke2UucHJldmlvdXNNb250aH0+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOmNoZXZyb25MZWZ0IiBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb250aC15ZWFyLWRpc3BsYXkiPgogICAgICAgICAgICAgICAgICAke3RbZS52aWV3RGF0ZS5nZXRNb250aCgpXX0gJHtlLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCl9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1idXR0b24iIEBjbGljaz0ke2UubmV4dE1vbnRofT4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Y2hldnJvblJpZ2h0IiBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgIDwhLS0gV2Vla2RheSBIZWFkZXJzIC0tPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndlZWtkYXlzIj4KICAgICAgICAgICAgICAgICR7ci5tYXAocz0+TWA8ZGl2IGNsYXNzPSJ3ZWVrZGF5Ij4ke3N9PC9kaXY+YCl9CiAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgIDwhLS0gRGF5cyBHcmlkIC0tPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRheXMtZ3JpZCI+CiAgICAgICAgICAgICAgICAke2EubWFwKHM9PntsZXQgbz1lLmlzVG9kYXkocyksYz1lLmlzU2VsZWN0ZWQocyksbD1zLmdldE1vbnRoKCkhPT1lLnZpZXdEYXRlLmdldE1vbnRoKCksdT1lLmlzRGlzYWJsZWQocyksZD1lLmdldEV2ZW50c0ZvckRhdGUocyksaD1kLmxlbmd0aD4wLG09ZC5yZWR1Y2UoKHYsYik9PnYrKGIuY291bnR8fDEpLDApO3JldHVybiBNYAogICAgICAgICAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZGF5ICR7bD8ib3RoZXItbW9udGgiOiIifSAke28/InRvZGF5IjoiIn0gJHtjPyJzZWxlY3RlZCI6IiJ9ICR7dT8iZGlzYWJsZWQiOiIifSAke2g/Imhhcy1ldmVudCI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PiF1JiZlLnNlbGVjdERhdGUocyl9CiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgJHtzLmdldERhdGUoKX0KICAgICAgICAgICAgICAgICAgICAgICR7aD9NYAogICAgICAgICAgICAgICAgICAgICAgICAke20+Mz9NYAogICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LWNvdW50Ij4ke219PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIGA6TWAKICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJldmVudC1pbmRpY2F0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkLnNsaWNlKDAsMykubWFwKHY9Pk1gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LWRvdCAke3YudHlwZXx8ImluZm8ifSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgICAgICAgJHtkWzBdLnRpdGxlP01gCiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXZlbnQtdG9vbHRpcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2RbMF0udGl0bGV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke20+MT9NYCAoKyR7bS0xfSBtb3JlKWA6IiJ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgfSl9CiAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgIDwhLS0gVGltZSBTZWxlY3RvciAtLT4KICAgICAgICAgICAgICAke2UuZW5hYmxlVGltZT9NYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZS1zZWxlY3RvciI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWUtc2VsZWN0b3ItdGl0bGUiPlRpbWU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZS1pbnB1dHMiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCAKICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Im51bWJlciIgCiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGltZS1pbnB1dCIgCiAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHtlLnRpbWVGb3JtYXQ9PT0iMTJoIj8oZS5zZWxlY3RlZEhvdXI9PT0wPzEyOmUuc2VsZWN0ZWRIb3VyPjEyP2Uuc2VsZWN0ZWRIb3VyLTEyOmUuc2VsZWN0ZWRIb3VyKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKTplLnNlbGVjdGVkSG91ci50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0KICAgICAgICAgICAgICAgICAgICAgIEBpbnB1dD0ke3M9PmUuaGFuZGxlSG91cklucHV0KHMpfQogICAgICAgICAgICAgICAgICAgICAgbWluPSIke2UudGltZUZvcm1hdD09PSIxMmgiPzE6MH0iCiAgICAgICAgICAgICAgICAgICAgICBtYXg9IiR7ZS50aW1lRm9ybWF0PT09IjEyaCI/MTI6MjN9IgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpbWUtc2VwYXJhdG9yIj46PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCAKICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Im51bWJlciIgCiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGltZS1pbnB1dCIgCiAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHtlLnNlbGVjdGVkTWludXRlLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfQogICAgICAgICAgICAgICAgICAgICAgQGlucHV0PSR7cz0+ZS5oYW5kbGVNaW51dGVJbnB1dChzKX0KICAgICAgICAgICAgICAgICAgICAgIG1pbj0iMCIKICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTkiCiAgICAgICAgICAgICAgICAgICAgICBzdGVwPSIke2UubWludXRlSW5jcmVtZW50fHwxfSIKICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICR7ZS50aW1lRm9ybWF0PT09IjEyaCI/TWAKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFtLXBtLXNlbGVjdG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAKICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYW0tcG0tYnV0dG9uICR7aT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+ZS5zZXRBTVBNKCJhbSIpfQogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgQU0KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gCiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFtLXBtLWJ1dHRvbiAke2k/IiI6InNlbGVjdGVkIn0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PmUuc2V0QU1QTSgicG0iKX0KICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgIFBNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgICA8IS0tIFRpbWV6b25lIFNlbGVjdG9yIC0tPgogICAgICAgICAgICAgICR7ZS5lbmFibGVUaW1lem9uZT9NYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZXpvbmUtc2VsZWN0b3IiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lem9uZS1zZWxlY3Rvci10aXRsZSI+VGltZXpvbmU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPHNlbGVjdCAKICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGltZXpvbmUtc2VsZWN0IiAKICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHtlLnRpbWV6b25lfQogICAgICAgICAgICAgICAgICAgIEBjaGFuZ2U9JHtzPT5lLmhhbmRsZVRpbWV6b25lQ2hhbmdlKHMpfQogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgJHtuLm1hcChzPT5NYAogICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iJHtzLnZhbHVlfSIgP3NlbGVjdGVkPSR7cy52YWx1ZT09PWUudGltZXpvbmV9PgogICAgICAgICAgICAgICAgICAgICAgICAke3MubGFiZWx9CiAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgICA8IS0tIEFjdGlvbiBCdXR0b25zIC0tPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbGVuZGFyLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiB0b2RheS1idXR0b24iIEBjbGljaz0ke2Uuc2VsZWN0VG9kYXl9PgogICAgICAgICAgICAgICAgICBUb2RheQogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGNsZWFyLWJ1dHRvbiIgQGNsaWNrPSR7ZS5jbGVhcn0+CiAgICAgICAgICAgICAgICAgIENsZWFyCiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYH19KTt2YXIgb2ksVnQscEYsWWRlPWYoKCk9Pnt1ZSgpO1NhKCk7QWxyKCk7SWxyKCk7TmxyKCk7aXIoKTt3ZigpO29pPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sVnQ9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LHBGPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1pbnB1dC1kYXRlcGlja2VyIildLHQscj1bXSxhLGk9bnQsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W10sVixCPVtdLFU9W10sSyxJPVtdLHZlPVtdLE1lLFA9W10sbGU9W10sU2UsWj1bXSxBPVtdLCQsaj1bXSxIPVtdLFksZGU9W10sd2U9W10sTGUsRz1bXSxXPVtdLGFlLHllPVtdLG1lPVtdLENlLGJlPVtdLG5lPVtdLHplLEllPVtdLFplPVtdO3ZhciB0ZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IFg9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpCb29sZWFufSldLGQ9W0Yoe3R5cGU6U3RyaW5nfSldLHY9W0Yoe3R5cGU6TnVtYmVyfSldLHk9W0Yoe3R5cGU6U3RyaW5nfSldLFI9W0Yoe3R5cGU6U3RyaW5nfSldLE89W0Yoe3R5cGU6U3RyaW5nfSldLHE9W0Yoe3R5cGU6QXJyYXl9KV0sRT1bRih7dHlwZTpOdW1iZXJ9KV0sVj1bRih7dHlwZTpTdHJpbmd9KV0sSz1bRih7dHlwZTpCb29sZWFufSldLE1lPVtGKHt0eXBlOlN0cmluZ30pXSxTZT1bRih7dHlwZTpBcnJheX0pXSwkPVtzZSgpXSxZPVtzZSgpXSxMZT1bc2UoKV0sYWU9W3NlKCldLENlPVtzZSgpXSx6ZT1bc2UoKV0sb2kodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ZWU9PiJ2YWx1ZSJpbiBlZSxnZXQ6ZWU9PmVlLnZhbHVlLHNldDooZWUseGUpPT57ZWUudmFsdWU9eGV9fSxtZXRhZGF0YTpYfSxzLG8pLG9pKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlVGltZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ZWU9PiJlbmFibGVUaW1lImluIGVlLGdldDplZT0+ZWUuZW5hYmxlVGltZSxzZXQ6KGVlLHhlKT0+e2VlLmVuYWJsZVRpbWU9eGV9fSxtZXRhZGF0YTpYfSxsLHUpLG9pKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGltZUZvcm1hdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ZWU9PiJ0aW1lRm9ybWF0ImluIGVlLGdldDplZT0+ZWUudGltZUZvcm1hdCxzZXQ6KGVlLHhlKT0+e2VlLnRpbWVGb3JtYXQ9eGV9fSxtZXRhZGF0YTpYfSxoLG0pLG9pKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWludXRlSW5jcmVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczplZT0+Im1pbnV0ZUluY3JlbWVudCJpbiBlZSxnZXQ6ZWU9PmVlLm1pbnV0ZUluY3JlbWVudCxzZXQ6KGVlLHhlKT0+e2VlLm1pbnV0ZUluY3JlbWVudD14ZX19LG1ldGFkYXRhOlh9LGIsZyksb2kodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRlRm9ybWF0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczplZT0+ImRhdGVGb3JtYXQiaW4gZWUsZ2V0OmVlPT5lZS5kYXRlRm9ybWF0LHNldDooZWUseGUpPT57ZWUuZGF0ZUZvcm1hdD14ZX19LG1ldGFkYXRhOlh9LHcsayksb2kodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5EYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczplZT0+Im1pbkRhdGUiaW4gZWUsZ2V0OmVlPT5lZS5taW5EYXRlLHNldDooZWUseGUpPT57ZWUubWluRGF0ZT14ZX19LG1ldGFkYXRhOlh9LEMsUyksb2kodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhEYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczplZT0+Im1heERhdGUiaW4gZWUsZ2V0OmVlPT5lZS5tYXhEYXRlLHNldDooZWUseGUpPT57ZWUubWF4RGF0ZT14ZX19LG1ldGFkYXRhOlh9LEQsTiksb2kodGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZERhdGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczplZT0+ImRpc2FibGVkRGF0ZXMiaW4gZWUsZ2V0OmVlPT5lZS5kaXNhYmxlZERhdGVzLHNldDooZWUseGUpPT57ZWUuZGlzYWJsZWREYXRlcz14ZX19LG1ldGFkYXRhOlh9LF8seiksb2kodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3ZWVrU3RhcnRzT24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmVlPT4id2Vla1N0YXJ0c09uImluIGVlLGdldDplZT0+ZWUud2Vla1N0YXJ0c09uLHNldDooZWUseGUpPT57ZWUud2Vla1N0YXJ0c09uPXhlfX0sbWV0YWRhdGE6WH0sVCxMKSxvaSh0aGlzLG51bGwsVix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczplZT0+InBsYWNlaG9sZGVyImluIGVlLGdldDplZT0+ZWUucGxhY2Vob2xkZXIsc2V0OihlZSx4ZSk9PntlZS5wbGFjZWhvbGRlcj14ZX19LG1ldGFkYXRhOlh9LEIsVSksb2kodGhpcyxudWxsLEsse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVUaW1lem9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ZWU9PiJlbmFibGVUaW1lem9uZSJpbiBlZSxnZXQ6ZWU9PmVlLmVuYWJsZVRpbWV6b25lLHNldDooZWUseGUpPT57ZWUuZW5hYmxlVGltZXpvbmU9eGV9fSxtZXRhZGF0YTpYfSxJLHZlKSxvaSh0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aW1lem9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ZWU9PiJ0aW1lem9uZSJpbiBlZSxnZXQ6ZWU9PmVlLnRpbWV6b25lLHNldDooZWUseGUpPT57ZWUudGltZXpvbmU9eGV9fSxtZXRhZGF0YTpYfSxQLGxlKSxvaSh0aGlzLG51bGwsU2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJldmVudHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmVlPT4iZXZlbnRzImluIGVlLGdldDplZT0+ZWUuZXZlbnRzLHNldDooZWUseGUpPT57ZWUuZXZlbnRzPXhlfX0sbWV0YWRhdGE6WH0sWixBKSxvaSh0aGlzLG51bGwsJCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzT3BlbmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczplZT0+ImlzT3BlbmVkImluIGVlLGdldDplZT0+ZWUuaXNPcGVuZWQsc2V0OihlZSx4ZSk9PntlZS5pc09wZW5lZD14ZX19LG1ldGFkYXRhOlh9LGosSCksb2kodGhpcyxudWxsLFkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcGVuc1RvVG9wIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczplZT0+Im9wZW5zVG9Ub3AiaW4gZWUsZ2V0OmVlPT5lZS5vcGVuc1RvVG9wLHNldDooZWUseGUpPT57ZWUub3BlbnNUb1RvcD14ZX19LG1ldGFkYXRhOlh9LGRlLHdlKSxvaSh0aGlzLG51bGwsTGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmVlPT4ic2VsZWN0ZWREYXRlImluIGVlLGdldDplZT0+ZWUuc2VsZWN0ZWREYXRlLHNldDooZWUseGUpPT57ZWUuc2VsZWN0ZWREYXRlPXhlfX0sbWV0YWRhdGE6WH0sRyxXKSxvaSh0aGlzLG51bGwsYWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aWV3RGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ZWU9PiJ2aWV3RGF0ZSJpbiBlZSxnZXQ6ZWU9PmVlLnZpZXdEYXRlLHNldDooZWUseGUpPT57ZWUudmlld0RhdGU9eGV9fSxtZXRhZGF0YTpYfSx5ZSxtZSksb2kodGhpcyxudWxsLENlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRIb3VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczplZT0+InNlbGVjdGVkSG91ciJpbiBlZSxnZXQ6ZWU9PmVlLnNlbGVjdGVkSG91cixzZXQ6KGVlLHhlKT0+e2VlLnNlbGVjdGVkSG91cj14ZX19LG1ldGFkYXRhOlh9LGJlLG5lKSxvaSh0aGlzLG51bGwsemUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZE1pbnV0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ZWU9PiJzZWxlY3RlZE1pbnV0ZSJpbiBlZSxnZXQ6ZWU9PmVlLnNlbGVjdGVkTWludXRlLHNldDooZWUseGUpPT57ZWUuc2VsZWN0ZWRNaW51dGU9eGV9fSxtZXRhZGF0YTpYfSxJZSxaZSksb2kobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6WH0sbnVsbCxyKSx0ZT1hPXQudmFsdWUsWCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpYfSl9c3RhdGljIGRlbW89RGxyO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1WdCh0aGlzLHMsIiIpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShYKXt0aGlzLiNlPVh9I3Q9KFZ0KHRoaXMsbyksVnQodGhpcyxsLCExKSk7Z2V0IGVuYWJsZVRpbWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZW5hYmxlVGltZShYKXt0aGlzLiN0PVh9I3I9KFZ0KHRoaXMsdSksVnQodGhpcyxoLCIyNGgiKSk7Z2V0IHRpbWVGb3JtYXQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGltZUZvcm1hdChYKXt0aGlzLiNyPVh9I2E9KFZ0KHRoaXMsbSksVnQodGhpcyxiLDEpKTtnZXQgbWludXRlSW5jcmVtZW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1pbnV0ZUluY3JlbWVudChYKXt0aGlzLiNhPVh9I2k9KFZ0KHRoaXMsZyksVnQodGhpcyx3LCJZWVlZLU1NLUREIikpO2dldCBkYXRlRm9ybWF0KCl7cmV0dXJuIHRoaXMuI2l9c2V0IGRhdGVGb3JtYXQoWCl7dGhpcy4jaT1YfSNuPShWdCh0aGlzLGspLFZ0KHRoaXMsQywiIikpO2dldCBtaW5EYXRlKCl7cmV0dXJuIHRoaXMuI259c2V0IG1pbkRhdGUoWCl7dGhpcy4jbj1YfSNzPShWdCh0aGlzLFMpLFZ0KHRoaXMsRCwiIikpO2dldCBtYXhEYXRlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IG1heERhdGUoWCl7dGhpcy4jcz1YfSNvPShWdCh0aGlzLE4pLFZ0KHRoaXMsXyxbXSkpO2dldCBkaXNhYmxlZERhdGVzKCl7cmV0dXJuIHRoaXMuI299c2V0IGRpc2FibGVkRGF0ZXMoWCl7dGhpcy4jbz1YfSNsPShWdCh0aGlzLHopLFZ0KHRoaXMsVCwxKSk7Z2V0IHdlZWtTdGFydHNPbigpe3JldHVybiB0aGlzLiNsfXNldCB3ZWVrU3RhcnRzT24oWCl7dGhpcy4jbD1YfSNjPShWdCh0aGlzLEwpLFZ0KHRoaXMsQiwiWVlZWS1NTS1ERCIpKTtnZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy4jY31zZXQgcGxhY2Vob2xkZXIoWCl7dGhpcy4jYz1YfSNkPShWdCh0aGlzLFUpLFZ0KHRoaXMsSSwhMSkpO2dldCBlbmFibGVUaW1lem9uZSgpe3JldHVybiB0aGlzLiNkfXNldCBlbmFibGVUaW1lem9uZShYKXt0aGlzLiNkPVh9I3U9KFZ0KHRoaXMsdmUpLFZ0KHRoaXMsUCxJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUpKTtnZXQgdGltZXpvbmUoKXtyZXR1cm4gdGhpcy4jdX1zZXQgdGltZXpvbmUoWCl7dGhpcy4jdT1YfSNwPShWdCh0aGlzLGxlKSxWdCh0aGlzLFosW10pKTtnZXQgZXZlbnRzKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGV2ZW50cyhYKXt0aGlzLiNwPVh9I2Y9KFZ0KHRoaXMsQSksVnQodGhpcyxqLCExKSk7Z2V0IGlzT3BlbmVkKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGlzT3BlbmVkKFgpe3RoaXMuI2Y9WH0jaD0oVnQodGhpcyxIKSxWdCh0aGlzLGRlLCExKSk7Z2V0IG9wZW5zVG9Ub3AoKXtyZXR1cm4gdGhpcy4jaH1zZXQgb3BlbnNUb1RvcChYKXt0aGlzLiNoPVh9I209KFZ0KHRoaXMsd2UpLFZ0KHRoaXMsRyxudWxsKSk7Z2V0IHNlbGVjdGVkRGF0ZSgpe3JldHVybiB0aGlzLiNtfXNldCBzZWxlY3RlZERhdGUoWCl7dGhpcy4jbT1YfSNnPShWdCh0aGlzLFcpLFZ0KHRoaXMseWUsbmV3IERhdGUpKTtnZXQgdmlld0RhdGUoKXtyZXR1cm4gdGhpcy4jZ31zZXQgdmlld0RhdGUoWCl7dGhpcy4jZz1YfSNiPShWdCh0aGlzLG1lKSxWdCh0aGlzLGJlLDApKTtnZXQgc2VsZWN0ZWRIb3VyKCl7cmV0dXJuIHRoaXMuI2J9c2V0IHNlbGVjdGVkSG91cihYKXt0aGlzLiNiPVh9I3Y9KFZ0KHRoaXMsbmUpLFZ0KHRoaXMsSWUsMCkpO2dldCBzZWxlY3RlZE1pbnV0ZSgpe3JldHVybiB0aGlzLiN2fXNldCBzZWxlY3RlZE1pbnV0ZShYKXt0aGlzLiN2PVh9c3RhdGljIHN0eWxlcz1FbHI7Z2V0VGltZXpvbmVzKCl7cmV0dXJuW3t2YWx1ZToiVVRDIixsYWJlbDoiVVRDIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSkifSx7dmFsdWU6IkFtZXJpY2EvTmV3X1lvcmsiLGxhYmVsOiJFYXN0ZXJuIFRpbWUgKFVTICYgQ2FuYWRhKSJ9LHt2YWx1ZToiQW1lcmljYS9DaGljYWdvIixsYWJlbDoiQ2VudHJhbCBUaW1lIChVUyAmIENhbmFkYSkifSx7dmFsdWU6IkFtZXJpY2EvRGVudmVyIixsYWJlbDoiTW91bnRhaW4gVGltZSAoVVMgJiBDYW5hZGEpIn0se3ZhbHVlOiJBbWVyaWNhL0xvc19BbmdlbGVzIixsYWJlbDoiUGFjaWZpYyBUaW1lIChVUyAmIENhbmFkYSkifSx7dmFsdWU6IkFtZXJpY2EvUGhvZW5peCIsbGFiZWw6IkFyaXpvbmEifSx7dmFsdWU6IkFtZXJpY2EvQW5jaG9yYWdlIixsYWJlbDoiQWxhc2thIn0se3ZhbHVlOiJQYWNpZmljL0hvbm9sdWx1IixsYWJlbDoiSGF3YWlpIn0se3ZhbHVlOiJFdXJvcGUvTG9uZG9uIixsYWJlbDoiTG9uZG9uIn0se3ZhbHVlOiJFdXJvcGUvUGFyaXMiLGxhYmVsOiJQYXJpcyJ9LHt2YWx1ZToiRXVyb3BlL0JlcmxpbiIsbGFiZWw6IkJlcmxpbiJ9LHt2YWx1ZToiRXVyb3BlL01vc2NvdyIsbGFiZWw6Ik1vc2NvdyJ9LHt2YWx1ZToiQXNpYS9EdWJhaSIsbGFiZWw6IkR1YmFpIn0se3ZhbHVlOiJBc2lhL0tvbGthdGEiLGxhYmVsOiJJbmRpYSBTdGFuZGFyZCBUaW1lIn0se3ZhbHVlOiJBc2lhL1NoYW5naGFpIixsYWJlbDoiQ2hpbmEgU3RhbmRhcmQgVGltZSJ9LHt2YWx1ZToiQXNpYS9Ub2t5byIsbGFiZWw6IlRva3lvIn0se3ZhbHVlOiJBdXN0cmFsaWEvU3lkbmV5IixsYWJlbDoiU3lkbmV5In0se3ZhbHVlOiJQYWNpZmljL0F1Y2tsYW5kIixsYWJlbDoiQXVja2xhbmQifV19cmVuZGVyKCl7cmV0dXJuIFBscih0aGlzKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5oYW5kbGVDbGlja091dHNpZGU9dGhpcy5oYW5kbGVDbGlja091dHNpZGUuYmluZCh0aGlzKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZih0aGlzLnZhbHVlfHwodGhpcy52YWx1ZT0iIiksdGhpcy52YWx1ZSl0cnl7bGV0IFg9bmV3IERhdGUodGhpcy52YWx1ZSk7aXNOYU4oWC5nZXRUaW1lKCkpfHwodGhpcy5zZWxlY3RlZERhdGU9WCx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKFgpLHRoaXMuc2VsZWN0ZWRIb3VyPVguZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPVguZ2V0TWludXRlcygpKX1jYXRjaHt9ZWxzZXtsZXQgWD1uZXcgRGF0ZTt0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKFgpLHRoaXMuc2VsZWN0ZWRIb3VyPVguZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPTB9fWZvcm1hdERhdGUoWCl7aWYoIVgpcmV0dXJuIiI7dHJ5e2xldCBlZT1uZXcgRGF0ZShYKTtpZihpc05hTihlZS5nZXRUaW1lKCkpKXJldHVybiIiO2xldCB4ZT10aGlzLmRhdGVGb3JtYXQsQWU9ZWUuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpLFVlPShlZS5nZXRNb250aCgpKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpLGt0PWVlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtpZih4ZT14ZS5yZXBsYWNlKCJZWVlZIixrdCkseGU9eGUucmVwbGFjZSgiWVkiLGt0LnNsaWNlKC0yKSkseGU9eGUucmVwbGFjZSgiTU0iLFVlKSx4ZT14ZS5yZXBsYWNlKCJERCIsQWUpLHRoaXMuZW5hYmxlVGltZSl7bGV0IHJ0PWVlLmdldEhvdXJzKCksJHQ9cnQ9PT0wPzEyOnJ0PjEyP3J0LTEyOnJ0LFV0PWVlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxvZT1ydD49MTI/IlBNIjoiQU0iO3RoaXMudGltZUZvcm1hdD09PSIxMmgiP3hlKz1gICR7JHR9OiR7VXR9ICR7b2V9YDp4ZSs9YCAke3J0LnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfToke1V0fWB9aWYodGhpcy5lbmFibGVUaW1lem9uZSl7bGV0IFV0PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbi1VUyIse3RpbWVab25lTmFtZToic2hvcnQiLHRpbWVab25lOnRoaXMudGltZXpvbmV9KS5mb3JtYXRUb1BhcnRzKGVlKS5maW5kKG9lPT5vZS50eXBlPT09InRpbWVab25lTmFtZSIpO1V0JiYoeGUrPWAgJHtVdC52YWx1ZX1gKX1yZXR1cm4geGV9Y2F0Y2h7cmV0dXJuIiJ9fWhhbmRsZUNsaWNrT3V0c2lkZT0oVnQodGhpcyxaZSksWD0+e1guY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcyl8fCh0aGlzLmlzT3BlbmVkPSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSkpfSk7YXN5bmMgdG9nZ2xlQ2FsZW5kYXIoKXtpZighdGhpcy5kaXNhYmxlZClpZih0aGlzLmlzT3BlbmVkPSF0aGlzLmlzT3BlbmVkLHRoaXMuaXNPcGVuZWQpe2xldCBlZT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbnRhaW5lciIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHhlPXdpbmRvdy5pbm5lckhlaWdodC1lZS5ib3R0b20sQWU9ZWUudG9wO3RoaXMub3BlbnNUb1RvcD14ZTw0MDAmJkFlPnhlLHNldFRpbWVvdXQoKCk9Pntkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVDbGlja091dHNpZGUpfSwwKX1lbHNlIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSl9Z2V0RGF5c0luTW9udGgoKXtsZXQgWD10aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksZWU9dGhpcy52aWV3RGF0ZS5nZXRNb250aCgpLHhlPW5ldyBEYXRlKFgsZWUsMSksQWU9bmV3IERhdGUoWCxlZSsxLDApLFVlPVtdLGt0PXRoaXMud2Vla1N0YXJ0c09uPT09MT94ZS5nZXREYXkoKT09PTA/Njp4ZS5nZXREYXkoKS0xOnhlLmdldERheSgpO2ZvcihsZXQgJHQ9a3Q7JHQ+MDskdC0tKVVlLnB1c2gobmV3IERhdGUoWCxlZSwxLSR0KSk7Zm9yKGxldCAkdD0xOyR0PD1BZS5nZXREYXRlKCk7JHQrKylVZS5wdXNoKG5ldyBEYXRlKFgsZWUsJHQpKTtsZXQgcnQ9NDItVWUubGVuZ3RoO2ZvcihsZXQgJHQ9MTskdDw9cnQ7JHQrKylVZS5wdXNoKG5ldyBEYXRlKFgsZWUrMSwkdCkpO3JldHVybiBVZX1pc1RvZGF5KFgpe2xldCBlZT1uZXcgRGF0ZTtyZXR1cm4gWC5nZXREYXRlKCk9PT1lZS5nZXREYXRlKCkmJlguZ2V0TW9udGgoKT09PWVlLmdldE1vbnRoKCkmJlguZ2V0RnVsbFllYXIoKT09PWVlLmdldEZ1bGxZZWFyKCl9aXNTZWxlY3RlZChYKXtyZXR1cm4gdGhpcy5zZWxlY3RlZERhdGU/WC5nZXREYXRlKCk9PT10aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkmJlguZ2V0TW9udGgoKT09PXRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkmJlguZ2V0RnVsbFllYXIoKT09PXRoaXMuc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCk6ITF9aXNEaXNhYmxlZChYKXtpZih0aGlzLm1pbkRhdGUpe2xldCBlZT1uZXcgRGF0ZSh0aGlzLm1pbkRhdGUpO2lmKFg8ZWUpcmV0dXJuITB9aWYodGhpcy5tYXhEYXRlKXtsZXQgZWU9bmV3IERhdGUodGhpcy5tYXhEYXRlKTtpZihYPmVlKXJldHVybiEwfXJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMmJnRoaXMuZGlzYWJsZWREYXRlcy5sZW5ndGg+MD90aGlzLmRpc2FibGVkRGF0ZXMuc29tZShlZT0+e3RyeXtsZXQgeGU9bmV3IERhdGUoZWUpO3JldHVybiBYLmdldERhdGUoKT09PXhlLmdldERhdGUoKSYmWC5nZXRNb250aCgpPT09eGUuZ2V0TW9udGgoKSYmWC5nZXRGdWxsWWVhcigpPT09eGUuZ2V0RnVsbFllYXIoKX1jYXRjaHtyZXR1cm4hMX19KTohMX1nZXRFdmVudHNGb3JEYXRlKFgpe2lmKCF0aGlzLmV2ZW50c3x8dGhpcy5ldmVudHMubGVuZ3RoPT09MClyZXR1cm5bXTtsZXQgZWU9YCR7WC5nZXRGdWxsWWVhcigpfS0keyhYLmdldE1vbnRoKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7WC5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YDtyZXR1cm4gdGhpcy5ldmVudHMuZmlsdGVyKHhlPT54ZS5kYXRlPT09ZWUpfXNlbGVjdERhdGUoWCl7dGhpcy5zZWxlY3RlZERhdGU9bmV3IERhdGUoWC5nZXRGdWxsWWVhcigpLFguZ2V0TW9udGgoKSxYLmdldERhdGUoKSx0aGlzLnNlbGVjdGVkSG91cix0aGlzLnNlbGVjdGVkTWludXRlKSx0aGlzLnZhbHVlPXRoaXMuZm9ybWF0VmFsdWVXaXRoVGltZXpvbmUodGhpcy5zZWxlY3RlZERhdGUpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpLHRoaXMuZW5hYmxlVGltZXx8KHRoaXMuaXNPcGVuZWQ9ITEpfXNlbGVjdFRvZGF5KCl7bGV0IFg9bmV3IERhdGU7dGhpcy5zZWxlY3RlZERhdGU9WCx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKFgpLHRoaXMuc2VsZWN0ZWRIb3VyPVguZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPVguZ2V0TWludXRlcygpLHRoaXMudmFsdWU9dGhpcy5mb3JtYXRWYWx1ZVdpdGhUaW1lem9uZSh0aGlzLnNlbGVjdGVkRGF0ZSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksdGhpcy5lbmFibGVUaW1lfHwodGhpcy5pc09wZW5lZD0hMSl9Y2xlYXIoKXt0aGlzLnZhbHVlPSIiLHRoaXMuc2VsZWN0ZWREYXRlPW51bGwsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksdGhpcy5pc09wZW5lZD0hMX1wcmV2aW91c01vbnRoKCl7dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpLTEsMSl9bmV4dE1vbnRoKCl7dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpKzEsMSl9aGFuZGxlSG91cklucHV0KFgpe2xldCBlZT1YLnRhcmdldCx4ZT1wYXJzZUludChlZS52YWx1ZSl8fDA7dGhpcy50aW1lRm9ybWF0PT09IjEyaCI/KHhlPU1hdGgubWF4KDEsTWF0aC5taW4oMTIseGUpKSx0aGlzLnNlbGVjdGVkSG91cj49MTImJnhlIT09MTI/dGhpcy5zZWxlY3RlZEhvdXI9eGUrMTI6dGhpcy5zZWxlY3RlZEhvdXI8MTImJnhlPT09MTI/dGhpcy5zZWxlY3RlZEhvdXI9MDp0aGlzLnNlbGVjdGVkSG91cj14ZSk6dGhpcy5zZWxlY3RlZEhvdXI9TWF0aC5tYXgoMCxNYXRoLm1pbigyMyx4ZSkpLHRoaXMudXBkYXRlU2VsZWN0ZWREYXRlVGltZSgpfWhhbmRsZU1pbnV0ZUlucHV0KFgpe2xldCBlZT1YLnRhcmdldCx4ZT1wYXJzZUludChlZS52YWx1ZSl8fDA7eGU9TWF0aC5tYXgoMCxNYXRoLm1pbig1OSx4ZSkpLHRoaXMubWludXRlSW5jcmVtZW50JiZ0aGlzLm1pbnV0ZUluY3JlbWVudD4xJiYoeGU9TWF0aC5yb3VuZCh4ZS90aGlzLm1pbnV0ZUluY3JlbWVudCkqdGhpcy5taW51dGVJbmNyZW1lbnQpLHRoaXMuc2VsZWN0ZWRNaW51dGU9eGUsdGhpcy51cGRhdGVTZWxlY3RlZERhdGVUaW1lKCl9c2V0QU1QTShYKXtYPT09ImFtIiYmdGhpcy5zZWxlY3RlZEhvdXI+PTEyP3RoaXMuc2VsZWN0ZWRIb3VyLT0xMjpYPT09InBtIiYmdGhpcy5zZWxlY3RlZEhvdXI8MTImJih0aGlzLnNlbGVjdGVkSG91cis9MTIpLHRoaXMudXBkYXRlU2VsZWN0ZWREYXRlVGltZSgpfXVwZGF0ZVNlbGVjdGVkRGF0ZVRpbWUoKXt0aGlzLnNlbGVjdGVkRGF0ZSYmKHRoaXMuc2VsZWN0ZWREYXRlPW5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCksdGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSx0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCksdGhpcy5zZWxlY3RlZEhvdXIsdGhpcy5zZWxlY3RlZE1pbnV0ZSksdGhpcy52YWx1ZT10aGlzLmZvcm1hdFZhbHVlV2l0aFRpbWV6b25lKHRoaXMuc2VsZWN0ZWREYXRlKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9aGFuZGxlVGltZXpvbmVDaGFuZ2UoWCl7bGV0IGVlPVgudGFyZ2V0O3RoaXMudGltZXpvbmU9ZWUudmFsdWUsdGhpcy51cGRhdGVTZWxlY3RlZERhdGVUaW1lKCl9Zm9ybWF0VmFsdWVXaXRoVGltZXpvbmUoWCl7aWYoIXRoaXMuZW5hYmxlVGltZXpvbmUpcmV0dXJuIFgudG9JU09TdHJpbmcoKTtsZXQgeGU9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoImVuLVVTIix7eWVhcjoibnVtZXJpYyIsbW9udGg6IjItZGlnaXQiLGRheToiMi1kaWdpdCIsaG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0IixzZWNvbmQ6IjItZGlnaXQiLGhvdXIxMjohMSx0aW1lWm9uZTp0aGlzLnRpbWV6b25lLHRpbWVab25lTmFtZToic2hvcnQifSkuZm9ybWF0VG9QYXJ0cyhYKSxBZT17fTt4ZS5mb3JFYWNoKHJ0PT57QWVbcnQudHlwZV09cnQudmFsdWV9KTtsZXQgVWU9YCR7QWUueWVhcn0tJHtBZS5tb250aH0tJHtBZS5kYXl9VCR7QWUuaG91cn06JHtBZS5taW51dGV9OiR7QWUuc2Vjb25kfWAsa3Q9dGhpcy5nZXRUaW1lem9uZU9mZnNldChYLHRoaXMudGltZXpvbmUpO3JldHVybmAke1VlfSR7a3R9YH1nZXRUaW1lem9uZU9mZnNldChYLGVlKXtsZXQgeGU9bmV3IERhdGUoWC50b0xvY2FsZVN0cmluZygiZW4tVVMiLHt0aW1lWm9uZTplZX0pKSxBZT1uZXcgRGF0ZShYLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse3RpbWVab25lOiJVVEMifSkpLFVlPSh4ZS5nZXRUaW1lKCktQWUuZ2V0VGltZSgpKS8oMWUzKjYwKSxrdD1NYXRoLmZsb29yKE1hdGguYWJzKFVlKS82MCkscnQ9TWF0aC5hYnMoVWUpJTYwO3JldHVybmAke1VlPj0wPyIrIjoiLSJ9JHtrdC50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHtydC50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfWhhbmRsZUtleWRvd24oWCl7WC5rZXk9PT0iRW50ZXIifHxYLmtleT09PSIgIj8oWC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMudG9nZ2xlQ2FsZW5kYXIoKSk6WC5rZXk9PT0iRXNjYXBlIiYmdGhpcy5pc09wZW5lZCYmKFgucHJldmVudERlZmF1bHQoKSx0aGlzLmlzT3BlbmVkPSExKX1jbGVhclZhbHVlKFgpe1guc3RvcFByb3BhZ2F0aW9uKCksdGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWhhbmRsZU1hbnVhbElucHV0KFgpe2xldCB4ZT1YLnRhcmdldC52YWx1ZS50cmltKCk7aWYoIXhlKXt0aGlzLnZhbHVlPSIiLHRoaXMuc2VsZWN0ZWREYXRlPW51bGw7cmV0dXJufWxldCBBZT10aGlzLnBhcnNlTWFudWFsRGF0ZSh4ZSk7QWUmJiFpc05hTihBZS5nZXRUaW1lKCkpJiYodGhpcy52YWx1ZT1BZS50b0lTT1N0cmluZygpLHRoaXMuc2VsZWN0ZWREYXRlPUFlLHRoaXMudmlld0RhdGU9bmV3IERhdGUoQWUpLHRoaXMuc2VsZWN0ZWRIb3VyPUFlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT1BZS5nZXRNaW51dGVzKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWhhbmRsZUlucHV0Qmx1cihYKXtsZXQgZWU9WC50YXJnZXQseGU9ZWUudmFsdWUudHJpbSgpO2lmKCF4ZSl7dGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpO3JldHVybn1sZXQgQWU9dGhpcy5wYXJzZU1hbnVhbERhdGUoeGUpO0FlJiYhaXNOYU4oQWUuZ2V0VGltZSgpKT8odGhpcy52YWx1ZT1BZS50b0lTT1N0cmluZygpLHRoaXMuc2VsZWN0ZWREYXRlPUFlLHRoaXMudmlld0RhdGU9bmV3IERhdGUoQWUpLHRoaXMuc2VsZWN0ZWRIb3VyPUFlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT1BZS5nZXRNaW51dGVzKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksZWUudmFsdWU9dGhpcy5mb3JtYXREYXRlKHRoaXMudmFsdWUpKTplZS52YWx1ZT10aGlzLmZvcm1hdERhdGUodGhpcy52YWx1ZSl9cGFyc2VNYW51YWxEYXRlKFgpe2lmKCFYKXJldHVybiBudWxsO2xldCBlZT1YLnNwbGl0KCIgIikseGU9ZWVbMF0sQWU9ZWVbMV18fCIiLFVlPW51bGwsa3Q9eGUubWF0Y2goL14oXGR7NH0pLShcZHsxLDJ9KS0oXGR7MSwyfSkkLyk7aWYoa3Qpe2xldFtydCwkdCxVdCxvZV09a3Q7VWU9bmV3IERhdGUocGFyc2VJbnQoJHQpLHBhcnNlSW50KFV0KS0xLHBhcnNlSW50KG9lKSl9aWYoIVVlKXtsZXQgcnQ9eGUubWF0Y2goL14oXGR7MSwyfSlcLihcZHsxLDJ9KVwuKFxkezR9KSQvKTtpZihydCl7bGV0WyR0LFV0LG9lLGNlXT1ydDtVZT1uZXcgRGF0ZShwYXJzZUludChjZSkscGFyc2VJbnQob2UpLTEscGFyc2VJbnQoVXQpKX19aWYoIVVlKXtsZXQgcnQ9eGUubWF0Y2goL14oXGR7MSwyfSlcLyhcZHsxLDJ9KVwvKFxkezR9KSQvKTtpZihydCl7bGV0WyR0LFV0LG9lLGNlXT1ydDtVZT1uZXcgRGF0ZShwYXJzZUludChjZSkscGFyc2VJbnQoVXQpLTEscGFyc2VJbnQob2UpKX19aWYoIVVlfHxpc05hTihVZS5nZXRUaW1lKCkpKXJldHVybiBudWxsO2lmKEFlKXtsZXQgcnQ9QWUubWF0Y2goL14oXGR7MSwyfSk6KFxkezJ9KSQvKTtpZihydCl7bGV0WyR0LFV0LG9lXT1ydDtVZS5zZXRIb3VycyhwYXJzZUludChVdCkpLFVlLnNldE1pbnV0ZXMocGFyc2VJbnQob2UpKX19ZWxzZSBpZighdGhpcy5lbmFibGVUaW1lKXtsZXQgcnQ9bmV3IERhdGU7VWUuc2V0SG91cnMocnQuZ2V0SG91cnMoKSksVWUuc2V0TWludXRlcyhydC5nZXRNaW51dGVzKCkpLFVlLnNldFNlY29uZHMoMCksVWUuc2V0TWlsbGlzZWNvbmRzKDApfXJldHVybiBVZX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKFgpe2lmKHRoaXMudmFsdWU9WCxYKXRyeXtsZXQgZWU9bmV3IERhdGUoWCk7aXNOYU4oZWUuZ2V0VGltZSgpKXx8KHRoaXMuc2VsZWN0ZWREYXRlPWVlLHRoaXMudmlld0RhdGU9bmV3IERhdGUoZWUpLHRoaXMuc2VsZWN0ZWRIb3VyPWVlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT1lZS5nZXRNaW51dGVzKCkpfWNhdGNoe319c3RhdGlje1Z0KGEscil9fTtyZXR1cm4gdGU9YX0pKCl9KTt2YXIgWmRlPWYoKCk9PntZZGUoKX0pO3ZhciBGbHIsT2xyPWYoKCk9Pnt1ZSgpO2hhKCk7T2koKTtGbHI9KCk9Pk1gCiAgPHN0eWxlPgogICAgJHtKYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5pbnB1dC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC5pbnRlcmFjdGl2ZS1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLm91dHB1dC10ZXh0IHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxMCA0MCUgODAlKSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk4JSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgbWluLWhlaWdodDogMjRweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntlLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtdGV4dCIpLmZvckVhY2goYT0+e2EuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlU3ViamVjdCIsaT0+e2NvbnNvbGUubG9nKGBJbnB1dCAiJHthLmxhYmVsfSIgY2hhbmdlZCB0bzpgLGEuZ2V0VmFsdWUoKSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57Y29uc29sZS5sb2coYElucHV0ICIke2EubGFiZWx9IiBsb3N0IGZvY3VzYCl9KX0pLGUucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC10ZXh0W2tleT0icGFzc3dvcmQiXScpJiZjb25zb2xlLmxvZygiUGFzc3dvcmQgaW5wdXQgaW5jbHVkZXMgdmlzaWJpbGl0eSB0b2dnbGUiKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgVGV4dCBJbnB1dHMifSAuc3VidGl0bGU9JHsiU3RhbmRhcmQgdGV4dCBpbnB1dHMgd2l0aCBsYWJlbHMgYW5kIGRlc2NyaXB0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlVzZXJuYW1lIn0KICAgICAgICAgICAgLnZhbHVlPSR7ImpvaG5kb2UifQogICAgICAgICAgICAua2V5PSR7InVzZXJuYW1lIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJFbWFpbCBBZGRyZXNzIn0KICAgICAgICAgICAgLnZhbHVlPSR7ImpvaG5AZXhhbXBsZS5jb20ifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiV2Ugd2lsbCBuZXZlciBzaGFyZSB5b3VyIGVtYWlsIHdpdGggYW55b25lIn0KICAgICAgICAgICAgLmtleT0keyJlbWFpbCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiUGFzc3dvcmQifQogICAgICAgICAgICAuaXNQYXNzd29yZEJvb2w9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7InNlY3JldDEyMyJ9CiAgICAgICAgICAgIC5rZXk9JHsicGFzc3dvcmQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntlLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtdGV4dCIpLmZvckVhY2goaT0+e2xldCBuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGkpO2NvbnNvbGUubG9nKGBIb3Jpem9udGFsIGlucHV0ICIke2kubGFiZWx9IiBkaXNwbGF5OmAsbi5kaXNwbGF5KX0pO2xldCByPWUucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC10ZXh0W2tleT0iZmlyc3ROYW1lIl0nKSxhPWUucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC10ZXh0W2tleT0ibGFzdE5hbWUiXScpO2lmKHImJmEpe2xldCBpPSgpPT57bGV0IG49ci5nZXRWYWx1ZSgpLHM9YS5nZXRWYWx1ZSgpO2NvbnNvbGUubG9nKGBGdWxsIG5hbWU6ICR7bn0gJHtzfWApfTtyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLGkpLGEuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlU3ViamVjdCIsaSl9fX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJIb3Jpem9udGFsIExheW91dCJ9IC5zdWJ0aXRsZT0keyJNdWx0aXBsZSBpbnB1dHMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5IGZvciBjb21wYWN0IGZvcm1zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiRmlyc3QgTmFtZSJ9IAogICAgICAgICAgICAudmFsdWU9JHsiSm9obiJ9IAogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLmtleT0keyJmaXJzdE5hbWUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiTGFzdCBOYW1lIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyJEb2UifSAKICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5rZXk9JHsibGFzdE5hbWUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiQWdlIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyIyOCJ9IAogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLmtleT0keyJhZ2UifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntlLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtdGV4dCIpLmZvckVhY2goYT0+e2xldCBpPWEubGFiZWxQb3NpdGlvbjtjb25zb2xlLmxvZyhgSW5wdXQgIiR7YS5sYWJlbH0iIGhhcyBsYWJlbCBwb3NpdGlvbjogJHtpfWApfSk7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yQWxsKCdkZWVzLWlucHV0LXRleHRbbGFiZWxQb3NpdGlvbj0ibGVmdCJdJyk7ci5sZW5ndGg+MCYmY29uc29sZS5sb2coYCR7ci5sZW5ndGh9IGlucHV0cyBoYXZlIGxlZnQtYWxpZ25lZCBsYWJlbHMgZm9yIGlubGluZSBsYXlvdXRgKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTGFiZWwgUG9zaXRpb25zIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBsYWJlbCBwb3NpdGlvbmluZyBvcHRpb25zIGZvciB2YXJpb3VzIGxheW91dHMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJMYWJlbCBvbiBUb3AgKERlZmF1bHQpIn0KICAgICAgICAgICAgLnZhbHVlPSR7IlN0YW5kYXJkIGxheW91dCJ9CiAgICAgICAgICAgIC5sYWJlbFBvc2l0aW9uPSR7InRvcCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiTGFiZWwgb24gTGVmdCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJJbmxpbmUgbGFiZWwifQogICAgICAgICAgICAubGFiZWxQb3NpdGlvbj0keyJsZWZ0In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiQ2l0eSJ9IAogICAgICAgICAgICAudmFsdWU9JHsiTmV3IFlvcmsifSAKICAgICAgICAgICAgLmxhYmVsUG9zaXRpb249JHsibGVmdCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlpJUCBDb2RlIn0KICAgICAgICAgICAgLnZhbHVlPSR7IjEwMDAxIn0KICAgICAgICAgICAgLmxhYmVsUG9zaXRpb249JHsibGVmdCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC10ZXh0W3JlcXVpcmVkXSIpLHI9ZS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHRbZGlzYWJsZWRdIiksYT1lLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtdGV4dFt2YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiXScpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9Pnt0LmdldFZhbHVlKCl8fGNvbnNvbGUubG9nKCJSZXF1aXJlZCBmaWVsZCBpcyBlbXB0eSEiKX0pLHImJmNvbnNvbGUubG9nKCJEaXNhYmxlZCBpbnB1dCBjYW5ub3QgYmUgZWRpdGVkIiksYSYmKGNvbnNvbGUubG9nKCJFcnJvciBpbnB1dCBzaG93cyB2YWxpZGF0aW9uIG1lc3NhZ2U6IixhLnZhbGlkYXRpb25UZXh0KSxhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLCgpPT57bGV0IGk9YS5nZXRWYWx1ZSgpO2kuaW5jbHVkZXMoIkAiKSYmaS5pbmNsdWRlcygiLiIpJiYoYS52YWxpZGF0aW9uU3RhdGU9InZhbGlkIixhLnZhbGlkYXRpb25UZXh0PSIiLGNvbnNvbGUubG9nKCJFbWFpbCB2YWxpZGF0aW9uIHBhc3NlZCEiKSl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlZhbGlkYXRpb24gJiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHZhbGlkYXRpb24gc3RhdGVzIGFuZCBpbnB1dCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVpcmVkIEZpZWxkIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsicmVxdWlyZWRGaWVsZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgRmllbGQifQogICAgICAgICAgICAudmFsdWU9JHsiQ2Fubm90IGVkaXQgdGhpcyJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IkZpZWxkIHdpdGggRXJyb3IifQogICAgICAgICAgICAudmFsdWU9JHsiaW52YWxpZEAifQogICAgICAgICAgICAudmFsaWRhdGlvblRleHQ9JHsiUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcyJ9CiAgICAgICAgICAgIC52YWxpZGF0aW9uU3RhdGU9JHsiaW52YWxpZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2UucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0W2lzUGFzc3dvcmRCb29sXSIpLmZvckVhY2gocj0+e2xldCBhPSgpPT57bGV0IGk9ci5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpO2kmJmNvbnNvbGUubG9nKGBQYXNzd29yZCBmaWVsZCAiJHtyLmxhYmVsfSIgdHlwZTpgLGkudHlwZSl9O2lmKHIuc2hhZG93Um9vdCl7bGV0IGk9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoYSksbj1yLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiaW5wdXQiKTtuJiZpLm9ic2VydmUobix7YXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WyJ0eXBlIl19KX19KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQWR2YW5jZWQgRmVhdHVyZXMifSAuc3VidGl0bGU9JHsiUGFzc3dvcmQgdmlzaWJpbGl0eSB0b2dnbGUgYW5kIG90aGVyIGFkdmFuY2VkIGZlYXR1cmVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiUGFzc3dvcmQgd2l0aCBUb2dnbGUifQogICAgICAgICAgICAuaXNQYXNzd29yZEJvb2w9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7Im15U2VjdXJlUGFzc3dvcmQxMjMifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQ2xpY2sgdGhlIGV5ZSBpY29uIHRvIHNob3cvaGlkZSBwYXNzd29yZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiQVBJIEtleSJ9CiAgICAgICAgICAgIC5pc1Bhc3N3b3JkQm9vbD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHsic2stMTIzNDU2Nzg5MGFiY2RlZiJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJLZWVwIHRoaXMga2V5IHNlY3VyZSBhbmQgbmV2ZXIgc2hhcmUgaXQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtdGV4dCIpLHI9ZS5xdWVyeVNlbGVjdG9yKCIjdGV4dC1pbnB1dC1vdXRwdXQiKTtpZih0JiZyKXt0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLGk9PntsZXQgbj1pLmRldGFpbC5nZXRWYWx1ZSgpO3IudGV4dENvbnRlbnQ9YEN1cnJlbnQgdmFsdWU6ICIke259ImB9KSx0LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e2NvbnNvbGUubG9nKCJJbnB1dCBmb2N1c2VkIil9KSx0LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57Y29uc29sZS5sb2coIklucHV0IGJsdXJyZWQiKX0pO2xldCBhPTA7dC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwoKT0+e2ErKyxjb25zb2xlLmxvZyhgS2V5cHJlc3MgY291bnQ6ICR7YX1gKX0pfX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSW50ZXJhY3RpdmUgRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJUcnkgdHlwaW5nIGluIHRoZSBpbnB1dHMgdG8gc2VlIHJlYWwtdGltZSB2YWx1ZSBjaGFuZ2VzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgIC5sYWJlbD0keyJEeW5hbWljIElucHV0In0gCiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiVHlwZSBzb21ldGhpbmcgaGVyZS4uLiJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImludGVyYWN0aXZlLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBpZD0idGV4dC1pbnB1dC1vdXRwdXQiIGNsYXNzPSJvdXRwdXQtdGV4dCI+Q3VycmVudCB2YWx1ZTogIiI8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIDwvZGl2PgpgfSk7dmFyIEo2LEsxLGZGLFE0PWYoKCk9PntCcygpO1NhKCk7T2xyKCk7Sm4oKTt1ZSgpO1FlKCk7SjY9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxLMT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sZkY9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWlucHV0LXRleHQiKV0sdCxyPVtdLGEsaT1udCxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXSxSLEM9W10sUz1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IEQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxjPVtGKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxkPVtGKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx2PVtGKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx5PVtGKHtyZWZsZWN0OiEwfSldLFI9W0Yoe30pXSxKNih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4idmFsdWUiaW4gTixnZXQ6Tj0+Ti52YWx1ZSxzZXQ6KE4scSk9PntOLnZhbHVlPXF9fSxtZXRhZGF0YTpEfSxzLG8pLEo2KHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQYXNzd29yZEJvb2wiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJpc1Bhc3N3b3JkQm9vbCJpbiBOLGdldDpOPT5OLmlzUGFzc3dvcmRCb29sLHNldDooTixxKT0+e04uaXNQYXNzd29yZEJvb2w9cX19LG1ldGFkYXRhOkR9LGwsdSksSjYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93UGFzc3dvcmRCb29sIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4ic2hvd1Bhc3N3b3JkQm9vbCJpbiBOLGdldDpOPT5OLnNob3dQYXNzd29yZEJvb2wsc2V0OihOLHEpPT57Ti5zaG93UGFzc3dvcmRCb29sPXF9fSxtZXRhZGF0YTpEfSxoLG0pLEo2KHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblN0YXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4idmFsaWRhdGlvblN0YXRlImluIE4sZ2V0Ok49Pk4udmFsaWRhdGlvblN0YXRlLHNldDooTixxKT0+e04udmFsaWRhdGlvblN0YXRlPXF9fSxtZXRhZGF0YTpEfSxiLGcpLEo2KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJ2YWxpZGF0aW9uVGV4dCJpbiBOLGdldDpOPT5OLnZhbGlkYXRpb25UZXh0LHNldDooTixxKT0+e04udmFsaWRhdGlvblRleHQ9cX19LG1ldGFkYXRhOkR9LHcsayksSjYodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uRnVuY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJ2YWxpZGF0aW9uRnVuY3Rpb24iaW4gTixnZXQ6Tj0+Ti52YWxpZGF0aW9uRnVuY3Rpb24sc2V0OihOLHEpPT57Ti52YWxpZGF0aW9uRnVuY3Rpb249cX19LG1ldGFkYXRhOkR9LEMsUyksSjYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6RH0sbnVsbCxyKSxPPWE9dC52YWx1ZSxEJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkR9KX1zdGF0aWMgZGVtbz1GbHI7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPUsxKHRoaXMscywiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKEQpe3RoaXMuI2U9RH0jdD0oSzEodGhpcyxvKSxLMSh0aGlzLGwsITEpKTtnZXQgaXNQYXNzd29yZEJvb2woKXtyZXR1cm4gdGhpcy4jdH1zZXQgaXNQYXNzd29yZEJvb2woRCl7dGhpcy4jdD1EfSNyPShLMSh0aGlzLHUpLEsxKHRoaXMsaCwhMSkpO2dldCBzaG93UGFzc3dvcmRCb29sKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNob3dQYXNzd29yZEJvb2woRCl7dGhpcy4jcj1EfSNhPShLMSh0aGlzLG0pLEsxKHRoaXMsYix2b2lkIDApKTtnZXQgdmFsaWRhdGlvblN0YXRlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHZhbGlkYXRpb25TdGF0ZShEKXt0aGlzLiNhPUR9I2k9KEsxKHRoaXMsZyksSzEodGhpcyx3LCIiKSk7Z2V0IHZhbGlkYXRpb25UZXh0KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHZhbGlkYXRpb25UZXh0KEQpe3RoaXMuI2k9RH0jbj0oSzEodGhpcyxrKSxLMSh0aGlzLEMsdm9pZCAwKSk7Z2V0IHZhbGlkYXRpb25GdW5jdGlvbigpe3JldHVybiB0aGlzLiNufXNldCB2YWxpZGF0aW9uRnVuY3Rpb24oRCl7dGhpcy4jbj1EfXN0YXRpYyBzdHlsZXM9W0RlLC4uLm50LmJhc2VTdHlsZXMscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogYXV0bzsKICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAzLjklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIGlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIGlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdCg6Zm9jdXMpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIGlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSAvIDAuMDUpIiwiaHNsKDAgMCUgOTglIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIGlucHV0OmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLyogUGFzc3dvcmQgdG9nZ2xlIGJ1dHRvbiAqLwogICAgICAuc2hvd1Bhc3N3b3JkIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDFweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzOHB4OwogICAgICAgIGhlaWdodDogMzhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7CiAgICAgIH0KCiAgICAgIC5zaG93UGFzc3dvcmQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTMuOSUpIil9OwogICAgICB9CgogICAgICAvKiBWYWxpZGF0aW9uIHN0eWxlcyAqLwogICAgICAudmFsaWRhdGlvbkNvbnRhaW5lciB7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnZhbGlkYXRpb25Db250YWluZXIuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSAvIDAuMSkiLCJoc2woMCA3Mi4yJSA1MC42JSAvIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA3Mi4yJSA1MC42JSkiKX07CiAgICAgIH0KCiAgICAgIC52YWxpZGF0aW9uQ29udGFpbmVyLndhcm4gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSAvIDAuMSkiLCJoc2woMjUgOTUlIDYzJSAvIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSkiLCJoc2woMjUgOTUlIDYzJSkiKX07CiAgICAgIH0KCiAgICAgIC52YWxpZGF0aW9uQ29udGFpbmVyLnZhbGlkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4xKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgfQoKICAgICAgLyogRXJyb3Igc3RhdGUgZm9yIGlucHV0ICovCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uLXN0YXRlPSJpbnZhbGlkIl0pIGlucHV0IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA3Mi4yJSA1MC42JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uLXN0YXRlPSJpbnZhbGlkIl0pIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA3Mi4yJSA1MC42JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7cC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSAvIDAuMDUpIiwiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLyogV2FybmluZyBzdGF0ZSBmb3IgaW5wdXQgKi8KICAgICAgOmhvc3QoW3ZhbGlkYXRpb24tc3RhdGU9Indhcm4iXSkgaW5wdXQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlKSIsImhzbCgyNSA5NSUgNjMlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbGlkYXRpb24tc3RhdGU9Indhcm4iXSkgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlKSIsImhzbCgyNSA5NSUgNjMlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtwLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlIC8gMC4wNSkiLCJoc2woMjUgOTUlIDYzJSAvIDAuMDUpIil9OwogICAgICB9CgogICAgICAvKiBWYWxpZCBzdGF0ZSBmb3IgaW5wdXQgKi8KICAgICAgOmhvc3QoW3ZhbGlkYXRpb24tc3RhdGU9InZhbGlkIl0pIGlucHV0IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbGlkYXRpb24tc3RhdGU9InZhbGlkIl0pIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtwLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMDUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlIC8gMC4wNSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8c3R5bGU+CiAgICAgICAgaW5wdXQgewogICAgICAgICAgZm9udC1mYW1pbHk6ICR7dGhpcy5pc1Bhc3N3b3JkQm9vbD9VNjoiaW5oZXJpdCJ9OwogICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR7dGhpcy5pc1Bhc3N3b3JkQm9vbD8iMC41cHgiOiJub3JtYWwifTsKICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR7dGhpcy5pc1Bhc3N3b3JkQm9vbD8iNDhweCI6IjEycHgifTsKICAgICAgICB9CiAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0P0pgCiAgICAgICAgICAgICAgLnZhbGlkYXRpb25Db250YWluZXIgewogICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGA6SmAKICAgICAgICAgICAgICAudmFsaWRhdGlvbkNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmRlc2NyaXB0aW9uPSR7dGhpcy5kZXNjcmlwdGlvbn0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9IiR7dGhpcy5pc1Bhc3N3b3JkQm9vbCYmIXRoaXMuc2hvd1Bhc3N3b3JkQm9vbD8icGFzc3dvcmQiOiJ0ZXh0In0iCiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMudmFsdWV9CiAgICAgICAgICAgIEBpbnB1dD0iJHt0aGlzLnVwZGF0ZVZhbHVlfSIKICAgICAgICAgICAgLmRpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgcGxhY2Vob2xkZXI9IiR7dGhpcy5sYWJlbD8iIjoiRW50ZXIgdGV4dC4uLiJ9IgogICAgICAgICAgLz4KICAgICAgICAgICR7dGhpcy5pc1Bhc3N3b3JkQm9vbD9NYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvd1Bhc3N3b3JkIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZVBhc3N3b3JkVmlld30+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt0aGlzLnNob3dQYXNzd29yZEJvb2w/Imx1Y2lkZTpFeWUiOiJsdWNpZGU6RXllT2ZmIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOk1gYH0KICAgICAgICAgICR7dGhpcy52YWxpZGF0aW9uVGV4dD9NYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmFsaWRhdGlvbkNvbnRhaW5lciAke3RoaXMudmFsaWRhdGlvblN0YXRlfHwiZXJyb3IifSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy52YWxpZGF0aW9uVGV4dH0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6TWA8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uQ29udGFpbmVyIj48L2Rpdj5gfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKCl7fWFzeW5jIHVwZGF0ZVZhbHVlKEQpe2xldCBOPUQudGFyZ2V0O3RoaXMudmFsdWU9Ti52YWx1ZSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKEQpe3RoaXMudmFsdWU9RH1hc3luYyB0b2dnbGVQYXNzd29yZFZpZXcoKXt0aGlzLnNob3dQYXNzd29yZEJvb2w9IXRoaXMuc2hvd1Bhc3N3b3JkQm9vbH1hc3luYyBmb2N1cygpe3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLmZvY3VzKCl9YXN5bmMgYmx1cigpe3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLmJsdXIoKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksSzEodGhpcyxTKX1zdGF0aWN7SzEoYSxyKX19O3JldHVybiBPPWF9KSgpfSk7dmFyIFJscixCbHI9ZigoKT0+e3VlKCk7aGEoKTtPaSgpO1Jscj0oKT0+TWAKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtKYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucHJvZHVjdC1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7CiAgICAgICAgICBnYXA6IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuY2FydC1zdW1tYXJ5IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDIxLjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LXN1bW1hcnktdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2FydC1pdGVtIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDc0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LXRvdGFsIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnNlbGVjdGVkLXByb2R1Y3RzIHsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDc0LjklKSIpfTsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBQcm9kdWN0IENhcmRzIn0gLnN1YnRpdGxlPSR7IlNpbXBsZSBwcm9kdWN0IGRpc3BsYXkgd2l0aCB2YXJpb3VzIGNvbmZpZ3VyYXRpb25zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJXaXJlbGVzcyBCbHVldG9vdGggSGVhZHBob25lcyIsY2F0ZWdvcnk6IkF1ZGlvIixkZXNjcmlwdGlvbjoiUHJlbWl1bSBzb3VuZCBxdWFsaXR5IHdpdGggYWN0aXZlIG5vaXNlIGNhbmNlbGxhdGlvbiIscHJpY2U6MTQ5Ljk5LG9yaWdpbmFsUHJpY2U6MTk5Ljk5LGljb25OYW1lOiJsdWNpZGU6aGVhZHBob25lcyJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiU21hcnQgV2F0Y2ggU2VyaWVzIDciLGNhdGVnb3J5OiJXZWFyYWJsZXMiLGRlc2NyaXB0aW9uOiJUcmFjayB5b3VyIGZpdG5lc3MgYW5kIHN0YXkgY29ubmVjdGVkIG9uIHRoZSBnbyIscHJpY2U6Mzk5LGljb25OYW1lOiJsdWNpZGU6d2F0Y2gifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlVTQi1DIEh1YiIsY2F0ZWdvcnk6IkFjY2Vzc29yaWVzIixwcmljZTo0OS45OSxpY29uTmFtZToibHVjaWRlOnVzYiIsaW5TdG9jazohMX19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezB9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSW50ZXJhY3RpdmUgU2hvcHBpbmcgQ2FydCJ9IC5zdWJ0aXRsZT0keyJQcm9kdWN0IGNhcmRzIHdpdGggZHluYW1pYyBjYXJ0IGNhbGN1bGF0aW9uIn0gLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PVt7aWQ6ImxhcHRvcCIsZWxlbWVudDpudWxsLGRhdGE6e25hbWU6J01hY0Jvb2sgUHJvIDE0IicsY2F0ZWdvcnk6IkNvbXB1dGVycyIsZGVzY3JpcHRpb246Ik0zIFBybyBjaGlwIHdpdGggMThHQiBSQU0iLHByaWNlOjE5OTksb3JpZ2luYWxQcmljZToyMTk5LGljb25OYW1lOiJsdWNpZGU6bGFwdG9wIn19LHtpZDoiaXBhZCIsZWxlbWVudDpudWxsLGRhdGE6e25hbWU6ImlQYWQgQWlyIixjYXRlZ29yeToiVGFibGV0cyIsZGVzY3JpcHRpb246JzEwLjkiIExpcXVpZCBSZXRpbmEgZGlzcGxheScscHJpY2U6NTk5LGljb25OYW1lOiJsdWNpZGU6dGFibGV0In19LHtpZDoia2V5Ym9hcmQiLGVsZW1lbnQ6bnVsbCxkYXRhOntuYW1lOiJNYWdpYyBLZXlib2FyZCIsY2F0ZWdvcnk6IkFjY2Vzc29yaWVzIixkZXNjcmlwdGlvbjoiV2lyZWxlc3Mga2V5Ym9hcmQgd2l0aCBUb3VjaCBJRCIscHJpY2U6MTQ5LGljb25OYW1lOiJsdWNpZGU6a2V5Ym9hcmQifX1dLHI9KCk9PntsZXQgYT0wLGk9W107dC5mb3JFYWNoKHM9PntsZXQgbz1lLnF1ZXJ5U2VsZWN0b3IoYCMke3MuaWR9YCk7aWYobyYmby5xdWFudGl0eT4wKXtsZXQgYz1zLmRhdGEucHJpY2Uqby5xdWFudGl0eTthKz1jLGkucHVzaChgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3Bhbj4ke3MuZGF0YS5uYW1lfSAoJHtvLnF1YW50aXR5fSk8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPiQke2MudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX19KTtsZXQgbj1lLnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1jYXJ0LXN1bW1hcnkiKTtuJiYobi5pbm5lckhUTUw9YAogICAgICAgICAgICAgICR7aS5qb2luKCIiKX0KICAgICAgICAgICAgICAke2kubGVuZ3RoPT09MD8nPGRpdiBjbGFzcz0iY2FydC1pdGVtIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzk5OTsiPllvdXIgY2FydCBpcyBlbXB0eTwvZGl2Pic6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC10b3RhbCI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Ub3RhbDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke2EudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfTtzZXRUaW1lb3V0KHIsMTAwKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQiKS5mb3JFYWNoKGE9PnthLmFkZEV2ZW50TGlzdGVuZXIoInF1YW50aXR5Q2hhbmdlIixyKX0pfX0+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJsYXB0b3AiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOidNYWNCb29rIFBybyAxNCInLGNhdGVnb3J5OiJDb21wdXRlcnMiLGRlc2NyaXB0aW9uOiJNMyBQcm8gY2hpcCB3aXRoIDE4R0IgUkFNIixwcmljZToxOTk5LG9yaWdpbmFsUHJpY2U6MjE5OSxpY29uTmFtZToibHVjaWRlOmxhcHRvcCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0iaXBhZCIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6ImlQYWQgQWlyIixjYXRlZ29yeToiVGFibGV0cyIsZGVzY3JpcHRpb246JzEwLjkiIExpcXVpZCBSZXRpbmEgZGlzcGxheScscHJpY2U6NTk5LGljb25OYW1lOiJsdWNpZGU6dGFibGV0In19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezB9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJrZXlib2FyZCIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6Ik1hZ2ljIEtleWJvYXJkIixjYXRlZ29yeToiQWNjZXNzb3JpZXMiLGRlc2NyaXB0aW9uOiJXaXJlbGVzcyBrZXlib2FyZCB3aXRoIFRvdWNoIElEIixwcmljZToxNDksaWNvbk5hbWU6Imx1Y2lkZTprZXlib2FyZCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsyfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1zdW1tYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iY2FydC1zdW1tYXJ5LXRpdGxlIj5TaG9wcGluZyBDYXJ0PC9oMz4KICAgICAgICAgIDxkaXYgaWQ9ImludGVyYWN0aXZlLWNhcnQtc3VtbWFyeSI+CiAgICAgICAgICAgIDwhLS0gRHluYW1pY2FsbHkgdXBkYXRlZCAtLT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU2VsZWN0YWJsZSBQcm9kdWN0IENhcmRzIn0gLnN1YnRpdGxlPSR7IkNsaWNrIGNhcmRzIG9yIGNoZWNrYm94ZXMgdG8gc2VsZWN0IHByb2R1Y3RzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJTb255IEFscGhhIDcgSVYiLGNhdGVnb3J5OiJDYW1lcmFzIixkZXNjcmlwdGlvbjoiRnVsbC1mcmFtZSBtaXJyb3JsZXNzIGNhbWVyYSIscHJpY2U6MjQ5OCxpY29uTmFtZToibHVjaWRlOmNhbWVyYSJ9fQogICAgICAgICAgICAuc2VsZWN0YWJsZT0keyEwfQogICAgICAgICAgICAuc2hvd1F1YW50aXR5U2VsZWN0b3I9JHshMX0KICAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke2U9PntsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2lmKHQpe2xldCByPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmRbc2VsZWN0YWJsZV0iKSxhPVtdO3IuZm9yRWFjaChpPT57aS5zZWxlY3RlZCYmYS5wdXNoKGkucHJvZHVjdERhdGEubmFtZSl9KSx0LnRleHRDb250ZW50PWEubGVuZ3RoPjA/YFNlbGVjdGVkOiAke2Euam9pbigiLCAiKX1gOiJObyBwcm9kdWN0cyBzZWxlY3RlZCJ9fX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IkRKSSBNaW5pIDMgUHJvIixjYXRlZ29yeToiRHJvbmVzIixkZXNjcmlwdGlvbjoiTGlnaHR3ZWlnaHQgZHJvbmUgd2l0aCA0SyBjYW1lcmEiLHByaWNlOjc1OSxpY29uTmFtZToibHVjaWRlOnBsYW5lIn19CiAgICAgICAgICAgIC5zZWxlY3RhYmxlPSR7ITB9CiAgICAgICAgICAgIC5zaG93UXVhbnRpdHlTZWxlY3Rvcj0keyExfQogICAgICAgICAgICBAc2VsZWN0aW9uQ2hhbmdlPSR7ZT0+e2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzZWxlY3Rpb24tb3V0cHV0Iik7aWYodCl7bGV0IHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZFtzZWxlY3RhYmxlXSIpLGE9W107ci5mb3JFYWNoKGk9PntpLnNlbGVjdGVkJiZhLnB1c2goaS5wcm9kdWN0RGF0YS5uYW1lKX0pLHQudGV4dENvbnRlbnQ9YS5sZW5ndGg+MD9gU2VsZWN0ZWQ6ICR7YS5qb2luKCIsICIpfWA6Ik5vIHByb2R1Y3RzIHNlbGVjdGVkIn19fQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiR29Qcm8gSEVSTzEyIixjYXRlZ29yeToiQWN0aW9uIENhbWVyYXMiLGRlc2NyaXB0aW9uOiI1LjNLIHZpZGVvIHdpdGggSHlwZXJTbW9vdGggNi4wIixwcmljZTozOTksb3JpZ2luYWxQcmljZTo0NDksaWNvbk5hbWU6Imx1Y2lkZTp2aWRlbyJ9fQogICAgICAgICAgICAuc2VsZWN0YWJsZT0keyEwfQogICAgICAgICAgICAuc2hvd1F1YW50aXR5U2VsZWN0b3I9JHshMX0KICAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke2U9PntsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2lmKHQpe2xldCByPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmRbc2VsZWN0YWJsZV0iKSxhPVtdO3IuZm9yRWFjaChpPT57aS5zZWxlY3RlZCYmYS5wdXNoKGkucHJvZHVjdERhdGEubmFtZSl9KSx0LnRleHRDb250ZW50PWEubGVuZ3RoPjA/YFNlbGVjdGVkOiAke2Euam9pbigiLCAiKX1gOiJObyBwcm9kdWN0cyBzZWxlY3RlZCJ9fX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ic2VsZWN0ZWQtcHJvZHVjdHMiIGlkPSJzZWxlY3Rpb24tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgTm8gcHJvZHVjdHMgc2VsZWN0ZWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByb2R1Y3QgVmFyaWF0aW9ucyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiTGltaXRlZCBFZGl0aW9uIFNuZWFrZXJzIixjYXRlZ29yeToiRm9vdHdlYXIiLGRlc2NyaXB0aW9uOiJFeGNsdXNpdmUgY29sb3J3YXkgLSBPbmx5IDUwMCBwYWlycyIscHJpY2U6Mjk5LGljb25OYW1lOiJsdWNpZGU6Zm9vdHByaW50cyIsaW5TdG9jazohMSxzdG9ja1RleHQ6IlNvbGQgT3V0In19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezB9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJNaW5pbWFsaXN0IFdhbGxldCIscHJpY2U6MzkuOTksaWNvbk5hbWU6Imx1Y2lkZTp3YWxsZXQifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlByZW1pdW0gQ29mZmVlIEJlYW5zIixjYXRlZ29yeToiRm9vZCAmIEJldmVyYWdlIixkZXNjcmlwdGlvbjoiU2luZ2xlIG9yaWdpbiwgbWVkaXVtIHJvYXN0IixwcmljZToxOC41LGljb25OYW1lOiJsdWNpZGU6Y29mZmVlIixjdXJyZW5jeToiXHUyMEFDIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezJ9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmB9KTt2YXIga2YsUG8sSGxyLFhkZT1mKCgpPT57dWUoKTtCbHIoKTtRZSgpO2tmPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sUG89ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LEhscj0oKCk9PntsZXQgZT1bcmUoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXTt2YXIgUj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IEM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpPYmplY3R9KV0sYz1bRih7dHlwZTpOdW1iZXJ9KV0sZD1bRih7dHlwZTpCb29sZWFufSldLHY9W0Yoe3R5cGU6Qm9vbGVhbn0pXSx5PVtGKHt0eXBlOkJvb2xlYW59KV0sa2YodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcm9kdWN0RGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+InByb2R1Y3REYXRhImluIFMsZ2V0OlM9PlMucHJvZHVjdERhdGEsc2V0OihTLE8pPT57Uy5wcm9kdWN0RGF0YT1PfX0sbWV0YWRhdGE6Q30scyxvKSxrZih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InF1YW50aXR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4icXVhbnRpdHkiaW4gUyxnZXQ6Uz0+Uy5xdWFudGl0eSxzZXQ6KFMsTyk9PntTLnF1YW50aXR5PU99fSxtZXRhZGF0YTpDfSxsLHUpLGtmKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1F1YW50aXR5U2VsZWN0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJzaG93UXVhbnRpdHlTZWxlY3RvciJpbiBTLGdldDpTPT5TLnNob3dRdWFudGl0eVNlbGVjdG9yLHNldDooUyxPKT0+e1Muc2hvd1F1YW50aXR5U2VsZWN0b3I9T319LG1ldGFkYXRhOkN9LGgsbSksa2YodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RhYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4ic2VsZWN0YWJsZSJpbiBTLGdldDpTPT5TLnNlbGVjdGFibGUsc2V0OihTLE8pPT57Uy5zZWxlY3RhYmxlPU99fSxtZXRhZGF0YTpDfSxiLGcpLGtmKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJzZWxlY3RlZCJpbiBTLGdldDpTPT5TLnNlbGVjdGVkLHNldDooUyxPKT0+e1Muc2VsZWN0ZWQ9T319LG1ldGFkYXRhOkN9LHcsayksa2YobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Q30sbnVsbCxyKSxSPWE9dC52YWx1ZSxDJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkN9KX1zdGF0aWMgZGVtbz1SbHI7c3RhdGljIGRlbW9Hcm91cHM9WyJTaW1wbGUiXTsjZT1Qbyh0aGlzLHMse25hbWU6IlByb2R1Y3QgTmFtZSIscHJpY2U6MH0pO2dldCBwcm9kdWN0RGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBwcm9kdWN0RGF0YShDKXt0aGlzLiNlPUN9I3Q9KFBvKHRoaXMsbyksUG8odGhpcyxsLDApKTtnZXQgcXVhbnRpdHkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcXVhbnRpdHkoQyl7dGhpcy4jdD1DfSNyPShQbyh0aGlzLHUpLFBvKHRoaXMsaCwhMCkpO2dldCBzaG93UXVhbnRpdHlTZWxlY3Rvcigpe3JldHVybiB0aGlzLiNyfXNldCBzaG93UXVhbnRpdHlTZWxlY3RvcihDKXt0aGlzLiNyPUN9I2E9KFBvKHRoaXMsbSksUG8odGhpcyxiLCExKSk7Z2V0IHNlbGVjdGFibGUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0YWJsZShDKXt0aGlzLiNhPUN9I2k9KFBvKHRoaXMsZyksUG8odGhpcyx3LCExKSk7Z2V0IHNlbGVjdGVkKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNlbGVjdGVkKEMpe3RoaXMuI2k9Q31zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAucHJvZHVjdC1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWNhcmQ6aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCBoc2woMCAwJSAwJSAvIDAuMSksIDAgMnB4IDRweCAtMnB4IGhzbCgwIDAlIDAlIC8gMC4xKTsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtY2FyZC5zZWxlY3RhYmxlIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWNhcmQuc2VsZWN0ZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke3AuYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWltYWdlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDE4MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWltYWdlIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICB9CgogICAgICAucHJvZHVjdC1pbWFnZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogNDhweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMjAuMiUgNjUuMSUpIiwiaHNsKDIxNSAyMC4yJSAzNS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5zZWxlY3Rpb24tY2hlY2tib3ggewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEycHg7CiAgICAgICAgcmlnaHQ6IDEycHg7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZWxlY3Rpb24tY2hlY2tib3guY2hlY2tlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0aW9uLWNoZWNrYm94IGRlZXMtaWNvbiB7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbi1jaGVja2JveC5jaGVja2VkIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICB9CgogICAgICAucHJvZHVjdC1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgZmxleDogMTsKICAgICAgfQogICAgICAKICAgICAgLnByb2R1Y3QtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWNhdGVnb3J5IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQogICAgICAKICAgICAgLnByb2R1Y3QtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBmbGV4OiAxOwogICAgICB9CiAgICAgIAogICAgICAucHJvZHVjdC1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAucHJvZHVjdC1wcmljZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAucHJpY2UtY3VycmVudCB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAucHJpY2Utb3JpZ2luYWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsKICAgICAgfQoKICAgICAgLnN0b2NrLXN0YXR1cyB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAuc3RvY2stc3RhdHVzLmluLXN0b2NrIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIil9OwogICAgICB9CgogICAgICAuc3RvY2stc3RhdHVzLm91dC1vZi1zdG9jayB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgIH0KCiAgICAgIC5zdG9jay1zdGF0dXMgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldHtuYW1lOkMsY2F0ZWdvcnk6UyxkZXNjcmlwdGlvbjpPLHByaWNlOkQsb3JpZ2luYWxQcmljZTpOLGN1cnJlbmN5OnE9IiQiLGluU3RvY2s6Xz0hMCxzdG9ja1RleHQ6ej1fPyJJbiBTdG9jayI6Ik91dCBvZiBTdG9jayIsaW1hZ2VVcmw6RSxpY29uTmFtZTpUPSJsdWNpZGU6cGFja2FnZSJ9PXRoaXMucHJvZHVjdERhdGEsTD1WPT5gJHtxfSR7Vi50b0ZpeGVkKDIpfWA7cmV0dXJuIE1gCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9InByb2R1Y3QtY2FyZCAke3RoaXMuc2VsZWN0YWJsZT8ic2VsZWN0YWJsZSI6IiJ9ICR7dGhpcy5zZWxlY3RlZD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNhcmRDbGlja30KICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtaW1hZ2UiPgogICAgICAgICAgJHtFP01gCiAgICAgICAgICAgIDxpbWcgc3JjPSIke0V9IiBhbHQ9IiR7Q30iPgogICAgICAgICAgYDpNYAogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7VH0+PC9kZWVzLWljb24+CiAgICAgICAgICBgfQogICAgICAgICAgJHt0aGlzLnNlbGVjdGFibGU/TWAKICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICBjbGFzcz0ic2VsZWN0aW9uLWNoZWNrYm94ICR7dGhpcy5zZWxlY3RlZD8iY2hlY2tlZCI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0ke1Y9PntWLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuaGFuZGxlU2VsZWN0aW9uVG9nZ2xlKCl9fQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hlY2sifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWhlYWRlciI+CiAgICAgICAgICAgICR7Uz9NYDxkaXYgY2xhc3M9InByb2R1Y3QtY2F0ZWdvcnkiPiR7U308L2Rpdj5gOiIifQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LW5hbWUiPiR7Q308L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHtPP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZGVzY3JpcHRpb24iPiR7T308L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdG9jay1zdGF0dXMgJHtfPyJpbi1zdG9jayI6Im91dC1vZi1zdG9jayJ9Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke18/Imx1Y2lkZTpjaGVjay1jaXJjbGUiOiJsdWNpZGU6eC1jaXJjbGUifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgJHt6fQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWZvb3RlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcHJpY2UiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1jdXJyZW50Ij4ke0woRCl9PC9zcGFuPgogICAgICAgICAgICAgICR7TiYmTj5EP01gCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2Utb3JpZ2luYWwiPiR7TChOKX08L3NwYW4+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5zaG93UXVhbnRpdHlTZWxlY3Rvcj9NYAogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMucXVhbnRpdHl9CiAgICAgICAgICAgICAgICBAY2hhbmdlU3ViamVjdD0ke1Y9Pnt0aGlzLnF1YW50aXR5PVYuZGV0YWlsLmdldFZhbHVlKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicXVhbnRpdHlDaGFuZ2UiLHtkZXRhaWw6e3F1YW50aXR5OnRoaXMucXVhbnRpdHkscHJvZHVjdERhdGE6dGhpcy5wcm9kdWN0RGF0YX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX19CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDYXJkQ2xpY2soKXt0aGlzLnNlbGVjdGFibGUmJih0aGlzLnNlbGVjdGVkPSF0aGlzLnNlbGVjdGVkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlbGVjdGlvbkNoYW5nZSIse2RldGFpbDp7c2VsZWN0ZWQ6dGhpcy5zZWxlY3RlZCxwcm9kdWN0RGF0YTp0aGlzLnByb2R1Y3REYXRhfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1oYW5kbGVTZWxlY3Rpb25Ub2dnbGUoKXt0aGlzLnNlbGVjdGVkPSF0aGlzLnNlbGVjdGVkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlbGVjdGlvbkNoYW5nZSIse2RldGFpbDp7c2VsZWN0ZWQ6dGhpcy5zZWxlY3RlZCxwcm9kdWN0RGF0YTp0aGlzLnByb2R1Y3REYXRhfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxQbyh0aGlzLGspfXN0YXRpY3tQbyhhLHIpfX07cmV0dXJuIFI9YX0pKCl9KTt2YXIgcWxyLGpscj1mKCgpPT57dWUoKTtYZGUoKTtxbHI9KCk9Pk1gCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7SmAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmlucHV0LWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLnNob3BwaW5nLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LXN1bW1hcnkgewogICAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMjEuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtc3VtbWFyeS10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LWl0ZW0gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtdG90YWwgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgUXVhbnRpdHkgU2VsZWN0b3IifSAuc3VidGl0bGU9JHsiU2ltcGxlIHF1YW50aXR5IGlucHV0IHdpdGggaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAubGFiZWw9JHsiUXVhbnRpdHkifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiU2VsZWN0IHRoZSBkZXNpcmVkIHF1YW50aXR5In0KICAgICAgICAgICAgLnZhbHVlPSR7MX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3Rvcj4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yCiAgICAgICAgICAgIC5sYWJlbD0keyJJdGVtcyBpbiBDYXJ0In0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkanVzdCB0aGUgcXVhbnRpdHkgb2YgaXRlbXMifQogICAgICAgICAgICAudmFsdWU9JHszfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU2hvcHBpbmcgQ2FydCJ9IC5zdWJ0aXRsZT0keyJNb2Rlcm4gZS1jb21tZXJjZSBwcm9kdWN0IGNhcmRzIHdpdGggaW50ZXJhY3RpdmUgcXVhbnRpdHkgc2VsZWN0b3JzIn0gLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PSgpPT57bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIjaGVhZHBob25lcy1xdHkiKSxhPWUucXVlcnlTZWxlY3RvcigiI21vdXNlLXF0eSIpLGk9ZS5xdWVyeVNlbGVjdG9yKCIja2V5Ym9hcmQtcXR5Iiksbj1yPy5xdWFudGl0eXx8MCxzPWE/LnF1YW50aXR5fHwwLG89aT8ucXVhbnRpdHl8fDAsYz0zNDkuOTkqbixsPTk5Ljk5KnMsdT03OS45OSpvLGQ9YytsK3UsaD1lLnF1ZXJ5U2VsZWN0b3IoIiNjYXJ0LXN1bW1hcnktY29udGVudCIpO2gmJihoLmlubmVySFRNTD1gCiAgICAgICAgICAgICAgJHtuPjA/YDxkaXYgY2xhc3M9ImNhcnQtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Tb255IFdILTEwMDBYTTUgKCR7bn0pPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+JCR7Yy50b0ZpeGVkKDIpfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj5gOiIifQogICAgICAgICAgICAgICR7cz4wP2A8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4+TG9naXRlY2ggTVggTWFzdGVyIDNTICgke3N9KTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke2wudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke28+MD9gPGRpdiBjbGFzcz0iY2FydC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuPktleWNocm9uIEsyICgke299KTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke3UudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke2Q9PT0wPyc8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiAjOTk5OyI+WW91ciBjYXJ0IGlzIGVtcHR5PC9kaXY+JzoiIn0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LXRvdGFsIj4KICAgICAgICAgICAgICAgIDxzcGFuPlRvdGFsPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+JCR7ZC50b0ZpeGVkKDIpfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9O3NldFRpbWVvdXQodCwxMDApLGUucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZCIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigicXVhbnRpdHlDaGFuZ2UiLHQpfSl9fT4KICAgICAgICA8ZGl2IGNsYXNzPSJzaG9wcGluZy1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJoZWFkcGhvbmVzLXF0eSIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlNvbnkgV0gtMTAwMFhNNSBXaXJlbGVzcyBIZWFkcGhvbmVzIixjYXRlZ29yeToiQXVkaW8iLGRlc2NyaXB0aW9uOiJJbmR1c3RyeS1sZWFkaW5nIG5vaXNlIGNhbmNlbGluZyB3aXRoIEF1dG8gTkMgT3B0aW1pemVyIixwcmljZTozNDkuOTksb3JpZ2luYWxQcmljZTozOTkuOTksaWNvbk5hbWU6Imx1Y2lkZTpoZWFkcGhvbmVzIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0ibW91c2UtcXR5IgogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiTG9naXRlY2ggTVggTWFzdGVyIDNTIixjYXRlZ29yeToiQWNjZXNzb3JpZXMiLGRlc2NyaXB0aW9uOiJQZXJmb3JtYW5jZSB3aXJlbGVzcyBtb3VzZSB3aXRoIHVsdHJhLWZhc3Qgc2Nyb2xsaW5nIixwcmljZTo5OS45OSxpY29uTmFtZToibHVjaWRlOm1vdXNlLXBvaW50ZXIifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7Mn0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJrZXlib2FyZC1xdHkiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJLZXljaHJvbiBLMiBXaXJlbGVzcyBNZWNoYW5pY2FsIEtleWJvYXJkIixjYXRlZ29yeToiS2V5Ym9hcmRzIixkZXNjcmlwdGlvbjoiQ29tcGFjdCA3NSUgbGF5b3V0IHdpdGggaG90LXN3YXBwYWJsZSBzd2l0Y2hlcyIscHJpY2U6NzkuOTksb3JpZ2luYWxQcmljZTo5NC45OSxpY29uTmFtZToibHVjaWRlOmtleWJvYXJkIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LXN1bW1hcnkiPgogICAgICAgICAgPGgzIGNsYXNzPSJjYXJ0LXN1bW1hcnktdGl0bGUiPk9yZGVyIFN1bW1hcnk8L2gzPgogICAgICAgICAgPGRpdiBpZD0iY2FydC1zdW1tYXJ5LWNvbnRlbnQiPgogICAgICAgICAgICA8IS0tIENvbnRlbnQgd2lsbCBiZSBkeW5hbWljYWxseSB1cGRhdGVkIC0tPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJSZXF1aXJlZCAmIERpc2FibGVkIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGZvciB2YWxpZGF0aW9uIGFuZCByZXN0cmljdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yCiAgICAgICAgICAgIC5sYWJlbD0keyJOdW1iZXIgb2YgTGljZW5zZXMifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiU2VsZWN0IGhvdyBtYW55IGxpY2Vuc2VzIHlvdSBuZWVkIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC52YWx1ZT0kezF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CgogICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAubGFiZWw9JHsiRml4ZWQgUXVhbnRpdHkifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhpcyBxdWFudGl0eSBjYW5ub3QgYmUgY2hhbmdlZCJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHs1fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiT3JkZXIgRm9ybSJ9IC5zdWJ0aXRsZT0keyJDb21wbGV0ZSBvcmRlciBmb3JtIHdpdGggcXVhbnRpdHkgc2VsZWN0aW9uIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkN1c3RvbWVyIE5hbWUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiUHJvZHVjdCJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJCYXNpYyBQbGFuIiwiUHJvIFBsYW4iLCJFbnRlcnByaXNlIFBsYW4iXX0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAubGFiZWw9JHsiUXVhbnRpdHkifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiTnVtYmVyIG9mIGxpY2Vuc2VzIn0KICAgICAgICAgICAgLnZhbHVlPSR7MX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3Rvcj4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlNwZWNpYWwgSW5zdHJ1Y3Rpb25zIn0KICAgICAgICAgICAgLmlucHV0VHlwZT0keyJ0ZXh0YXJlYSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYH0pO3ZhciBWbHIsUWRlLGhGLEpkZT1mKCgpPT57dWUoKTtKdCgpO1NhKCk7amxyKCk7UWUoKTtWbHI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxRZGU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGhGPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yIildLHQscj1bXSxhLGk9bnQsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6TnVtYmVyfSldLFZscih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp1PT4idmFsdWUiaW4gdSxnZXQ6dT0+dS52YWx1ZSxzZXQ6KHUsZCk9Pnt1LnZhbHVlPWR9fSxtZXRhZGF0YTpsfSxzLG8pLFZscihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpsfSxudWxsLHIpLGM9YT10LnZhbHVlLGwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bH0pfXN0YXRpYyBkZW1vPXFscjtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9UWRlKHRoaXMscywxKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUobCl7dGhpcy4jZT1sfXN0YXRpYyBzdHlsZXM9W0RlLC4uLm50LmJhc2VTdHlsZXMscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgICA6aG9zdCB7CiAgICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIH0KCiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lciB7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAucXVhbnRpdHktY29udGFpbmVyOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eS1jb250YWluZXI6Zm9jdXMtd2l0aGluIHsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3RvciB7CiAgICAgICAgICBmbGV4OiAwIDAgNDBweDsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3Rvcjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnNlbGVjdG9yOmFjdGl2ZSB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTElKSIsImhzbCgwIDAlIDExJSkiKX07CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0b3IubWludXMgewogICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3Rvci5wbHVzIHsKICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eSB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07CiAgICAgICAgfQoKICAgICAgICAvKiBLZXlib2FyZCBuYXZpZ2F0aW9uIGZvY3VzIHN0eWxlcyAqLwogICAgICAgIC5zZWxlY3Rvcjpmb2N1cyB7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgei1pbmRleDogMTsKICAgICAgICB9CgogICAgICAgIC8qIE1pbiB2YWx1ZSBzdGF0ZSAqLwogICAgICAgIC5xdWFudGl0eS1jb250YWluZXJbZGF0YS1taW49InRydWUiXSAuc2VsZWN0b3IubWludXMgewogICAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eS1jb250YWluZXJbZGF0YS1taW49InRydWUiXSAuc2VsZWN0b3IubWludXM6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB9CgogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5sYWJlbD9NYDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5kZXNjcmlwdGlvbj0ke3RoaXMuZGVzY3JpcHRpb259IC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD5gOiIifQogICAgICAgIDxkaXYgCiAgICAgICAgICBjbGFzcz0icXVhbnRpdHktY29udGFpbmVyICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgIGRhdGEtbWluPSIke3RoaXMudmFsdWU8PTB9IgogICAgICAgID4KICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgIGNsYXNzPSJzZWxlY3RvciBtaW51cyIgCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3RoaXMuZGVjcmVhc2UoKX19IgogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7bD0+eyhsLmtleT09PSJFbnRlciJ8fGwua2V5PT09IiAiKSYmKGwucHJldmVudERlZmF1bHQoKSx0aGlzLmRlY3JlYXNlKCkpfX0iCiAgICAgICAgICAgIHJvbGU9ImJ1dHRvbiIKICAgICAgICAgICAgYXJpYS1sYWJlbD0iRGVjcmVhc2UgcXVhbnRpdHkiCiAgICAgICAgICA+4oiSPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWFudGl0eSIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0cnVlIj4ke3RoaXMudmFsdWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0ic2VsZWN0b3IgcGx1cyIgCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3RoaXMuaW5jcmVhc2UoKX19IgogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7bD0+eyhsLmtleT09PSJFbnRlciJ8fGwua2V5PT09IiAiKSYmKGwucHJldmVudERlZmF1bHQoKSx0aGlzLmluY3JlYXNlKCkpfX0iCiAgICAgICAgICAgIHJvbGU9ImJ1dHRvbiIKICAgICAgICAgICAgYXJpYS1sYWJlbD0iSW5jcmVhc2UgcXVhbnRpdHkiCiAgICAgICAgICA+KzwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aW5jcmVhc2UoKXt0aGlzLmRpc2FibGVkfHwodGhpcy52YWx1ZSsrLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1kZWNyZWFzZSgpeyF0aGlzLmRpc2FibGVkJiZ0aGlzLnZhbHVlPjAmJih0aGlzLnZhbHVlLS0sdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUobCl7dGhpcy52YWx1ZT1sfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxRZGUodGhpcyxvKX1zdGF0aWN7UWRlKGEscil9fTtyZXR1cm4gYz1hfSkoKX0pO3ZhciBVbHIsV2xyPWYoKCk9Pnt1ZSgpO2hhKCk7T2koKTtVbHI9KCk9Pk1gCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7SmAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmlucHV0LWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5yZXN1bHQtZGlzcGxheSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIEJhc2ljIFJhZGlvIEdyb3VwcyJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgc3RyaW5nIG9wdGlvbnMgZm9yIGNvbW1vbiB1c2UgY2FzZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiU3Vic2NyaXB0aW9uIFBsYW4ifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQmFzaWMgLSAkOS9tb250aCIsIlBybyAtICQyOS9tb250aCIsIkVudGVycHJpc2UgLSAkOTkvbW9udGgiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlBybyAtICQyOS9tb250aCJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJDaG9vc2UgeW91ciBzdWJzY3JpcHRpb24gdGllciJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlByaW9yaXR5IExldmVsIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkhpZ2giLCJNZWRpdW0iLCJMb3ciXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7Ik1lZGl1bSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiUmFkaW8gZ3JvdXBzIHdpdGggaG9yaXpvbnRhbCBhcnJhbmdlbWVudCJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkRvIHlvdSBhZ3JlZSB3aXRoIHRoZSB0ZXJtcz8ifQogICAgICAgICAgICAub3B0aW9ucz0ke1siWWVzIiwiTm8iLCJNYXliZSJdfQogICAgICAgICAgICAuZGlyZWN0aW9uPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiWWVzIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJFeHBlcmllbmNlIExldmVsIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkJlZ2lubmVyIiwiSW50ZXJtZWRpYXRlIiwiRXhwZXJ0Il19CiAgICAgICAgICAgIC5kaXJlY3Rpb249JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJJbnRlcm1lZGlhdGUifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiU2VsZWN0IHlvdXIgZXhwZXJpZW5jZSBsZXZlbCB3aXRoIHdlYiBkZXZlbG9wbWVudCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBBZHZhbmNlZCBPcHRpb25zIn0gLnN1YnRpdGxlPSR7IlVzaW5nIG9iamVjdCBmb3JtYXQgd2l0aCBrZXlzIGFuZCBwYXlsb2FkcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgIGlkPSJhZHZhbmNlZC1yYWRpbyIKICAgICAgICAgIC5sYWJlbD0keyJTZWxlY3QgUmVnaW9uIn0KICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlVuaXRlZCBTdGF0ZXMgKFVTIEVhc3QpIixrZXk6InVzLWVhc3QiLHBheWxvYWQ6e3JlZ2lvbjoidXMtZWFzdC0xIixsYXRlbmN5OjIwfX0se29wdGlvbjoiRXVyb3BlIChGcmFua2Z1cnQpIixrZXk6ImV1LWNlbnRyYWwiLHBheWxvYWQ6e3JlZ2lvbjoiZXUtY2VudHJhbC0xIixsYXRlbmN5OjUwfX0se29wdGlvbjoiQXNpYSBQYWNpZmljIChTaW5nYXBvcmUpIixrZXk6ImFwLXNvdXRoZWFzdCIscGF5bG9hZDp7cmVnaW9uOiJhcC1zb3V0aGVhc3QtMSIsbGF0ZW5jeToxMjB9fV19CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiZXUtY2VudHJhbCJ9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQ2hvb3NlIHRoZSBjbG9zZXN0IHJlZ2lvbiBmb3Igb3B0aW1hbCBwZXJmb3JtYW5jZSJ9CiAgICAgICAgICBAY2hhbmdlPSR7ZT0+e2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNyZWdpb24tcmVzdWx0Iik7dCYmKHQudGV4dENvbnRlbnQ9IlNlbGVjdGVkOiAiK0pTT04uc3RyaW5naWZ5KGUuZGV0YWlsLnZhbHVlLG51bGwsMikpfX0KICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPGRpdiBpZD0icmVnaW9uLXJlc3VsdCIgY2xhc3M9InJlc3VsdC1kaXNwbGF5Ij5TZWxlY3RlZDogeyAicmVnaW9uIjogImV1LWNlbnRyYWwtMSIsICJsYXRlbmN5IjogNTAgfTwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gU3VydmV5IEV4YW1wbGUifSAuc3VidGl0bGU9JHsiTXVsdGlwbGUgcmFkaW8gZ3JvdXBzIGZvciBzdXJ2ZXlzIGFuZCBmb3JtcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJIb3cgc2F0aXNmaWVkIGFyZSB5b3U/In0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIlZlcnkgU2F0aXNmaWVkIiwiU2F0aXNmaWVkIiwiTmV1dHJhbCIsIkRpc3NhdGlzZmllZCIsIlZlcnkgRGlzc2F0aXNmaWVkIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJTYXRpc2ZpZWQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJXb3VsZCB5b3UgcmVjb21tZW5kIHVzPyJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJEZWZpbml0ZWx5IiwiUHJvYmFibHkiLCJOb3QgU3VyZSIsIlByb2JhYmx5IE5vdCIsIkRlZmluaXRlbHkgTm90Il19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJQcm9iYWJseSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI1LiBTdGF0ZXMgJiBWYWxpZGF0aW9uIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBzdGF0ZXMgYW5kIHZhbGlkYXRpb24gZXhhbXBsZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiUmVxdWlyZWQgU2VsZWN0aW9uIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIk9wdGlvbiBBIiwiT3B0aW9uIEIiLCJPcHRpb24gQyJdfQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCBTdGF0ZSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJEaXNhYmxlZCBPcHRpb24gMSIsIkRpc2FibGVkIE9wdGlvbiAyIiwiRGlzYWJsZWQgT3B0aW9uIDMiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkRpc2FibGVkIE9wdGlvbiAyIn0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBTZXR0aW5ncyBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IkNvbW1vbiBwYXR0ZXJucyBpbiBhcHBsaWNhdGlvbiBzZXR0aW5ncyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlRoZW1lIFByZWZlcmVuY2UifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJMaWdodCBUaGVtZSIsa2V5OiJsaWdodCIscGF5bG9hZDoibGlnaHQifSx7b3B0aW9uOiJEYXJrIFRoZW1lIixrZXk6ImRhcmsiLHBheWxvYWQ6ImRhcmsifSx7b3B0aW9uOiJTeXN0ZW0gRGVmYXVsdCIsa2V5OiJzeXN0ZW0iLHBheWxvYWQ6ImF1dG8ifV19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJkYXJrIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNob29zZSBob3cgdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBhcHBlYXIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGlmaWNhdGlvbiBGcmVxdWVuY3kifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQWxsIE5vdGlmaWNhdGlvbnMiLCJJbXBvcnRhbnQgT25seSIsIk5vbmUiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkltcG9ydGFudCBPbmx5In0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNvbnRyb2wgaG93IG9mdGVuIHlvdSByZWNlaXZlIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7Ikxhbmd1YWdlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkVuZ2xpc2giLCJHZXJtYW4iLCJGcmVuY2giLCJTcGFuaXNoIiwiSmFwYW5lc2UiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVuZ2xpc2gifQogICAgICAgICAgICAuZGlyZWN0aW9uPSR7Imhvcml6b250YWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJXb3JrcyBzZWFtbGVzc2x5IHdpdGggZGVlcy1mb3JtIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QgTmFtZSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7InByb2R1Y3ROYW1lIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiUHJvZHVjdCBDYXRlZ29yeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJFbGVjdHJvbmljcyIsIkNsb3RoaW5nIiwiQm9va3MiLCJIb21lICYgR2FyZGVuIiwiU3BvcnRzIl19CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7ImNhdGVnb3J5In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiQ29uZGl0aW9uIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIk5ldyIsIkxpa2UgTmV3IiwiR29vZCIsIkZhaXIiLCJQb29yIl19CiAgICAgICAgICAgIC5kaXJlY3Rpb249JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5rZXk9JHsiY29uZGl0aW9uIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7Ik5ldyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlNoaXBwaW5nIFNwZWVkIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiU3RhbmRhcmQgKDUtNyBkYXlzKSIsa2V5OiJzdGFuZGFyZCIscGF5bG9hZDp7ZGF5czo3LHByaWNlOjB9fSx7b3B0aW9uOiJFeHByZXNzICgyLTMgZGF5cykiLGtleToiZXhwcmVzcyIscGF5bG9hZDp7ZGF5czozLHByaWNlOjEwfX0se29wdGlvbjoiT3Zlcm5pZ2h0IixrZXk6Im92ZXJuaWdodCIscGF5bG9hZDp7ZGF5czoxLHByaWNlOjI1fX1dfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsic3RhbmRhcmQifQogICAgICAgICAgICAua2V5PSR7InNoaXBwaW5nIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9JHsiU3VibWl0IFByb2R1Y3QifT48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYH0pO3ZhciBQYixfYyxtRixnRj1mKCgpPT57dWUoKTtTYSgpO1dscigpO1FlKCk7UGI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxfYz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sbUY9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWlucHV0LXJhZGlvZ3JvdXAiKV0sdCxyPVtdLGEsaT1udCxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IHc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpBcnJheX0pXSxjPVtGKCldLGQ9W0Yoe3R5cGU6U3RyaW5nfSldLHY9W0Yoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sUGIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4ib3B0aW9ucyJpbiBrLGdldDprPT5rLm9wdGlvbnMsc2V0OihrLFIpPT57ay5vcHRpb25zPVJ9fSxtZXRhZGF0YTp3fSxzLG8pLFBiKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJzZWxlY3RlZE9wdGlvbiJpbiBrLGdldDprPT5rLnNlbGVjdGVkT3B0aW9uLHNldDooayxSKT0+e2suc2VsZWN0ZWRPcHRpb249Un19LG1ldGFkYXRhOnd9LGwsdSksUGIodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXJlY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJkaXJlY3Rpb24iaW4gayxnZXQ6az0+ay5kaXJlY3Rpb24sc2V0OihrLFIpPT57ay5kaXJlY3Rpb249Un19LG1ldGFkYXRhOnd9LGgsbSksUGIodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uU3RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJ2YWxpZGF0aW9uU3RhdGUiaW4gayxnZXQ6az0+ay52YWxpZGF0aW9uU3RhdGUsc2V0OihrLFIpPT57ay52YWxpZGF0aW9uU3RhdGU9Un19LG1ldGFkYXRhOnd9LGIsZyksUGIobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6d30sbnVsbCxyKSx5PWE9dC52YWx1ZSx3JiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnd9KX1zdGF0aWMgZGVtbz1VbHI7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPV9jKHRoaXMscyxbXSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3B0aW9ucyh3KXt0aGlzLiNlPXd9I3Q9KF9jKHRoaXMsbyksX2ModGhpcyxsLCIiKSk7Z2V0IHNlbGVjdGVkT3B0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkT3B0aW9uKHcpe3RoaXMuI3Q9d30jcj0oX2ModGhpcyx1KSxfYyh0aGlzLGgsInZlcnRpY2FsIikpO2dldCBkaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy4jcn1zZXQgZGlyZWN0aW9uKHcpe3RoaXMuI3I9d30jYT0oX2ModGhpcyxtKSxfYyh0aGlzLGIsbnVsbCkpO2dldCB2YWxpZGF0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdmFsaWRhdGlvblN0YXRlKHcpe3RoaXMuI2E9d31nZXQgdmFsdWUoKXtsZXQgdz10aGlzLmdldE9wdGlvbkJ5S2V5KHRoaXMuc2VsZWN0ZWRPcHRpb24pO3JldHVybiB0eXBlb2Ygdz09Im9iamVjdCImJncucGF5bG9hZCE9PXZvaWQgMD93LnBheWxvYWQ6dGhpcy5zZWxlY3RlZE9wdGlvbn1zZXQgdmFsdWUodyl7aWYodHlwZW9mIHc9PSJzdHJpbmciKXRoaXMuc2VsZWN0ZWRPcHRpb249dztlbHNle2xldCBrPXRoaXMub3B0aW9ucy5maW5kKFI9PnR5cGVvZiBSPT0ib2JqZWN0IiYmUi5wYXlsb2FkPT09dyk7ayYmdHlwZW9mIGs9PSJvYmplY3QiJiYodGhpcy5zZWxlY3RlZE9wdGlvbj1rLmtleSl9fXN0YXRpYyBzdHlsZXM9W0RlLC4uLm50LmJhc2VTdHlsZXMscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogNnB4IDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIuaG9yaXpvbnRhbCAucmFkaW8tb3B0aW9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMjBweCA2cHggMDsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tbGFiZWwgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5yYWRpby1jaXJjbGUgewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTUgMjAuMiUgNjUuMSUpIiwiaHNsKDIxNSAyMC4yJSAzNS4xJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAzMCUgNi44JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlOjphZnRlciB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgLnJhZGlvLWNpcmNsZTpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDMwJSAzLjklKSIpfSwKICAgICAgICAgICAgICAgICAgICAwIDAgMCA0cHggJHtwLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICB9CgogICAgICAucmFkaW8tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAucmFkaW8tb3B0aW9uIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAucmFkaW8tb3B0aW9uOmhvdmVyIC5yYWRpby1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5sYWJlbC10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24tdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDAzZW07CiAgICAgIH0KCiAgICAgIC8qIFZhbGlkYXRpb24gc3R5bGVzICovCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiXSkgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIl0pIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uU3RhdGU9InZhbGlkIl0pIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIsImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvblN0YXRlPSJ3YXJuIl0pIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIiwiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woNDUuNCA5My40JSA0Ny41JSkiLCJoc2woNDUuNCA5My40JSA0Ny41JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIE92ZXJyaWRlIGJhc2UgZ3JpZCBsYXlvdXQgZm9yIHJhZGlvZ3JvdXAgdG8gcHJldmVudCBsYXJnZSBnYXBzICovCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0icmlnaHQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP01gPGRpdiBjbGFzcz0ibGFiZWwtdGV4dCI+JHt0aGlzLmxhYmVsfTwvZGl2PmA6IiJ9CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciAke3RoaXMuZGlyZWN0aW9ufSI+CiAgICAgICAgICAke3RoaXMub3B0aW9ucy5tYXAodz0+e2xldCBrPXRoaXMuZ2V0T3B0aW9uS2V5KHcpLFI9dGhpcy5nZXRPcHRpb25MYWJlbCh3KSxDPXRoaXMuc2VsZWN0ZWRPcHRpb249PT1rO3JldHVybiBNYAogICAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgICBjbGFzcz0icmFkaW8tb3B0aW9uICR7Qz8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy5zZWxlY3RPcHRpb24oayl9IgogICAgICAgICAgICAgICAgQGtleWRvd249IiR7Uz0+dGhpcy5oYW5kbGVLZXlkb3duKFMsayl9IgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJyYWRpby1jaXJjbGUiIAogICAgICAgICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgICAgICAgcm9sZT0icmFkaW8iCiAgICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD0iJHtDfSIKICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iJHtSfSIKICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhZGlvLWxhYmVsIj4ke1J9PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9KX0KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZGVzY3JpcHRpb24/TWA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbi10ZXh0Ij4ke3RoaXMuZGVzY3JpcHRpb259PC9kaXY+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldE9wdGlvbktleSh3KXtyZXR1cm4gdHlwZW9mIHc9PSJzdHJpbmciP3c6dy5rZXl9Z2V0T3B0aW9uTGFiZWwodyl7cmV0dXJuIHR5cGVvZiB3PT0ic3RyaW5nIj93Oncub3B0aW9ufWdldE9wdGlvbkJ5S2V5KHcpe3JldHVybiB0aGlzLm9wdGlvbnMuZmluZChrPT50aGlzLmdldE9wdGlvbktleShrKT09PXcpfXNlbGVjdE9wdGlvbih3KXtpZih0aGlzLmRpc2FibGVkKXJldHVybjtsZXQgaz10aGlzLnNlbGVjdGVkT3B0aW9uO3RoaXMuc2VsZWN0ZWRPcHRpb249dyxrIT09dyYmKHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNoYW5nZSIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpbnB1dCIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZSh3KXt0aGlzLnZhbHVlPXd9YXN5bmMgdmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXF1aXJlZCYmIXRoaXMuc2VsZWN0ZWRPcHRpb24/KHRoaXMudmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIiwhMSk6KHRoaXMudmFsaWRhdGlvblN0YXRlPSJ2YWxpZCIsITApfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2lmKCF0aGlzLnNlbGVjdGVkT3B0aW9uJiZ0aGlzLm9wdGlvbnMubGVuZ3RoPjAmJiF0aGlzLnJlcXVpcmVkKXtsZXQgdz10aGlzLm9wdGlvbnNbMF07dGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLmdldE9wdGlvbktleSh3KX19aGFuZGxlS2V5ZG93bih3LGspe3RoaXMuZGlzYWJsZWR8fCh3LmtleT09PSIgInx8dy5rZXk9PT0iRW50ZXIiPyh3LnByZXZlbnREZWZhdWx0KCksdGhpcy5zZWxlY3RPcHRpb24oaykpOncua2V5PT09IkFycm93RG93biJ8fHcua2V5PT09IkFycm93UmlnaHQiPyh3LnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c05leHRPcHRpb24oKSk6KHcua2V5PT09IkFycm93VXAifHx3LmtleT09PSJBcnJvd0xlZnQiKSYmKHcucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzUHJldmlvdXNPcHRpb24oKSkpfWZvY3VzTmV4dE9wdGlvbigpe2xldCB3PUFycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5yYWRpby1jaXJjbGUiKSksUj0ody5maW5kSW5kZXgoQz0+Qz09PXRoaXMuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50KSsxKSV3Lmxlbmd0aDt3W1JdLmZvY3VzKCl9Zm9jdXNQcmV2aW91c09wdGlvbigpe2xldCB3PUFycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5yYWRpby1jaXJjbGUiKSksaz13LmZpbmRJbmRleChDPT5DPT09dGhpcy5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQpLFI9azw9MD93Lmxlbmd0aC0xOmstMTt3W1JdLmZvY3VzKCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLF9jKHRoaXMsZyl9c3RhdGlje19jKGEscil9fTtyZXR1cm4geT1hfSkoKX0pO3ZhciBHbHIsWWxyPWYoKCk9Pnt1ZSgpO0dscj0oKT0+TWAKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDI0cHg7CiAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAxMnB4OwogICAgfQogICAgLmRlbW8tc2VjdGlvbiBoMyB7CiAgICAgIG1hcmdpbjogMCAwIDhweCAwOwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAjODg4OwogICAgfQogICAgLmRlbW8tcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAxMnB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+QmFzaWMgVXNhZ2U8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U3VibWl0IEZvcm08L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgdGV4dD0iV2l0aCBUZXh0IFByb3BlcnR5Ij48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPldpdGggSWNvbnMgKGluaGVyaXRlZCBmcm9tIERlZXNCdXR0b24pPC9oMz4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IGljb249Imx1Y2lkZTpzZW5kIj5TdWJtaXQ8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgaWNvbj0ibHVjaWRlOnNhdmUiIGljb25Qb3NpdGlvbj0ibGVmdCI+U2F2ZSBGb3JtPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IGljb249Imx1Y2lkZTphcnJvdy1yaWdodCIgaWNvblBvc2l0aW9uPSJyaWdodCI+Q29udGludWU8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkJ1dHRvbiBUeXBlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCB0eXBlPSJoaWdobGlnaHRlZCIgaWNvbj0ibHVjaWRlOnNlbmQiPkhpZ2hsaWdodGVkPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHR5cGU9Im5vcm1hbCIgaWNvbj0ibHVjaWRlOnNlbmQiPk5vcm1hbDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCB0eXBlPSJkaXNjcmVldCIgaWNvbj0ibHVjaWRlOnNlbmQiPkRpc2NyZWV0PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TaXplczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzaXplPSJzbWFsbCIgaWNvbj0ibHVjaWRlOnNlbmQiPlNtYWxsPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHNpemU9Im5vcm1hbCIgaWNvbj0ibHVjaWRlOnNlbmQiPk5vcm1hbDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzaXplPSJsYXJnZSIgaWNvbj0ibHVjaWRlOnNlbmQiPkxhcmdlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TdGF0ZXM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc3RhdHVzPSJub3JtYWwiIGljb249Imx1Y2lkZTpzZW5kIj5Ob3JtYWw8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc3RhdHVzPSJwZW5kaW5nIiBpY29uPSJsdWNpZGU6c2VuZCI+UGVuZGluZzwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzdGF0dXM9InN1Y2Nlc3MiIGljb249Imx1Y2lkZTpjaGVjayI+U3VjY2VzczwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzdGF0dXM9ImVycm9yIiBpY29uPSJsdWNpZGU6eCI+RXJyb3I8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgZGlzYWJsZWQgaWNvbj0ibHVjaWRlOnNlbmQiPkRpc2FibGVkPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5JbiBhIEZvcm0gQ29udGV4dDwvaDM+CiAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBsYWJlbD0iTmFtZSIga2V5PSJuYW1lIj48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGxhYmVsPSJFbWFpbCIga2V5PSJlbWFpbCI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgaWNvbj0ibHVjaWRlOnNlbmQiIHR5cGU9ImhpZ2hsaWdodGVkIj5TdWJtaXQgRm9ybTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgPC9kZWVzLWZvcm0+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYH0pO3ZhciBKNCxlMSxiRixLNj1mKCgpPT57WWxyKCk7dWUoKTtRZSgpO0o0PWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sZTE9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGJGPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1mb3JtLXN1Ym1pdCIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdO3ZhciBxPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKHt0eXBlOlN0cmluZ30pXSx2PVtGKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLHk9W0Yoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sUj1bRih7dHlwZTpTdHJpbmd9KV0sTz1bRih7dHlwZTpTdHJpbmd9KV0sSjQodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+ImRpc2FibGVkImluIHosZ2V0Ono9PnouZGlzYWJsZWQsc2V0Oih6LEUpPT57ei5kaXNhYmxlZD1FfX0sbWV0YWRhdGE6X30scyxvKSxKNCh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJ0ZXh0ImluIHosZ2V0Ono9PnoudGV4dCxzZXQ6KHosRSk9Pnt6LnRleHQ9RX19LG1ldGFkYXRhOl99LGwsdSksSjQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJzdGF0dXMiaW4geixnZXQ6ej0+ei5zdGF0dXMsc2V0Oih6LEUpPT57ei5zdGF0dXM9RX19LG1ldGFkYXRhOl99LGgsbSksSjQodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4idHlwZSJpbiB6LGdldDp6PT56LnR5cGUsc2V0Oih6LEUpPT57ei50eXBlPUV9fSxtZXRhZGF0YTpffSxiLGcpLEo0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+InNpemUiaW4geixnZXQ6ej0+ei5zaXplLHNldDooeixFKT0+e3ouc2l6ZT1FfX0sbWV0YWRhdGE6X30sdyxrKSxKNCh0aGlzLG51bGwsUix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJpY29uImluIHosZ2V0Ono9PnouaWNvbixzZXQ6KHosRSk9Pnt6Lmljb249RX19LG1ldGFkYXRhOl99LEMsUyksSjQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJpY29uUG9zaXRpb24iaW4geixnZXQ6ej0+ei5pY29uUG9zaXRpb24sc2V0Oih6LEUpPT57ei5pY29uUG9zaXRpb249RX19LG1ldGFkYXRhOl99LEQsTiksSjQobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6X30sbnVsbCxyKSxxPWE9dC52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1HbHI7c3RhdGljIGRlbW9Hcm91cHM9WyJGb3JtIiwiQnV0dG9uIl07I2U9ZTEodGhpcyxzLCExKTtnZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGlzYWJsZWQoXyl7dGhpcy4jZT1ffSN0PShlMSh0aGlzLG8pLGUxKHRoaXMsbCx2b2lkIDApKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCB0ZXh0KF8pe3RoaXMuI3Q9X30jcj0oZTEodGhpcyx1KSxlMSh0aGlzLGgsIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHN0YXR1cyhfKXt0aGlzLiNyPV99I2E9KGUxKHRoaXMsbSksZTEodGhpcyxiLCJkZWZhdWx0IikpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHR5cGUoXyl7dGhpcy4jYT1ffSNpPShlMSh0aGlzLGcpLGUxKHRoaXMsdywiZGVmYXVsdCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNpfXNldCBzaXplKF8pe3RoaXMuI2k9X30jbj0oZTEodGhpcyxrKSxlMSh0aGlzLEMsdm9pZCAwKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jbn1zZXQgaWNvbihfKXt0aGlzLiNuPV99I3M9KGUxKHRoaXMsUyksZTEodGhpcyxELCJsZWZ0IikpO2dldCBpY29uUG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jc31zZXQgaWNvblBvc2l0aW9uKF8pe3RoaXMuI3M9X31jb25zdHJ1Y3Rvcigpe3N1cGVyKCksZTEodGhpcyxOKX1zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgICBkZWVzLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGVlcy1idXR0b24KICAgICAgICAuc3RhdHVzPSR7dGhpcy5zdGF0dXN9CiAgICAgICAgLnR5cGU9JHt0aGlzLnR5cGV9CiAgICAgICAgLnNpemU9JHt0aGlzLnNpemV9CiAgICAgICAgLmljb249JHt0aGlzLmljb259CiAgICAgICAgLmljb25Qb3NpdGlvbj0ke3RoaXMuaWNvblBvc2l0aW9ufQogICAgICAgIC50ZXh0PSR7dGhpcy50ZXh0fQogICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgQGNsaWNrZWQ9JHt0aGlzLnN1Ym1pdH0KICAgICAgPgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgIGB9YXN5bmMgc3VibWl0KCl7aWYodGhpcy5kaXNhYmxlZClyZXR1cm47bGV0IF89dGhpcy5jbG9zZXN0KCJkZWVzLWZvcm0iKTtfJiZfLmdhdGhlckFuZERpc3BhdGNoJiZfLmdhdGhlckFuZERpc3BhdGNoKCl9YXN5bmMgZm9jdXMoKXtsZXQgXz1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLmRpc2FibGVkfHwoYXdhaXQgXy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMuc3VibWl0KCkpfXN0YXRpY3tlMShhLHIpfX07cmV0dXJuIHE9YX0pKCl9KTt2YXIgWmxyLFhscj1mKCgpPT57dWUoKTtoYSgpO09pKCk7U2YoKTtLNigpO1pscj0oKT0+TWAKICA8c3R5bGU+CiAgICAke0pgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQogICAgICAKICAgICAgLmlucHV0LWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAuc3BhY2VyIHsKICAgICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRyb3Bkb3duW2xhYmVsPSJTZWxlY3QgQ291bnRyeSJdJykscj1lLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZHJvcGRvd25bbGFiZWw9IlNlbGVjdCBSb2xlIl0nKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIixhPT57Y29uc29sZS5sb2coIkNvdW50cnkgc2VsZWN0ZWQ6IixhLmRldGFpbCl9KSxyJiZyLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIixhPT57Y29uc29sZS5sb2coIlJvbGUgc2VsZWN0ZWQ6IixhLmRldGFpbCl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQmFzaWMgRHJvcGRvd25zIn0gLnN1YnRpdGxlPSR7IlN0YW5kYXJkIGRyb3Bkb3duIHdpdGggc2VhcmNoIGZ1bmN0aW9uYWxpdHkgYW5kIHZhcmlvdXMgb3B0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJTZWxlY3QgQ291bnRyeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlVuaXRlZCBTdGF0ZXMiLGtleToidXMifSx7b3B0aW9uOiJDYW5hZGEiLGtleToiY2EifSx7b3B0aW9uOiJHZXJtYW55IixrZXk6ImRlIn0se29wdGlvbjoiRnJhbmNlIixrZXk6ImZyIn0se29wdGlvbjoiVW5pdGVkIEtpbmdkb20iLGtleToidWsifSx7b3B0aW9uOiJBdXN0cmFsaWEiLGtleToiYXUifSx7b3B0aW9uOiJKYXBhbiIsa2V5OiJqcCJ9LHtvcHRpb246IkJyYXppbCIsa2V5OiJiciJ9XX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiVW5pdGVkIFN0YXRlcyIsa2V5OiJ1cyJ9fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiU2VsZWN0IFJvbGUifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJBZG1pbmlzdHJhdG9yIixrZXk6ImFkbWluIn0se29wdGlvbjoiRWRpdG9yIixrZXk6ImVkaXRvciJ9LHtvcHRpb246IlZpZXdlciIsa2V5OiJ2aWV3ZXIifSx7b3B0aW9uOiJHdWVzdCIsa2V5OiJndWVzdCJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kcm9wZG93biIpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLHI9Pntjb25zb2xlLmxvZyhgUHJpb3JpdHkgY2hhbmdlZCB0bzogJHtyLmRldGFpbC5vcHRpb259YCl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gV2l0aG91dCBTZWFyY2gifSAuc3VidGl0bGU9JHsiRHJvcGRvd24gd2l0aCBzZWFyY2ggZnVuY3Rpb25hbGl0eSBkaXNhYmxlZCBmb3Igc2ltcGxlciBzZWxlY3Rpb24ifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgLmxhYmVsPSR7IlByaW9yaXR5IExldmVsIn0KICAgICAgICAgIC5lbmFibGVTZWFyY2g9JHshMX0KICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkhpZ2giLGtleToiaGlnaCJ9LHtvcHRpb246Ik1lZGl1bSIsa2V5OiJtZWRpdW0ifSx7b3B0aW9uOiJMb3ciLGtleToibG93In1dfQogICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiTWVkaXVtIixrZXk6Im1lZGl1bSJ9fQogICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2UucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC1kcm9wZG93biIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLGE9PntsZXQgaT1yLmdldEF0dHJpYnV0ZSgibGFiZWwiKTtjb25zb2xlLmxvZyhgJHtpfTogJHthLmRldGFpbC5vcHRpb259YCl9KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBIb3Jpem9udGFsIExheW91dCJ9IC5zdWJ0aXRsZT0keyJNdWx0aXBsZSBkcm9wZG93bnMgaW4gYSBob3Jpem9udGFsIGxheW91dCBmb3IgY29tcGFjdCBmb3JtcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IkRlcGFydG1lbnQifQogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiRW5naW5lZXJpbmciLGtleToiZW5nIn0se29wdGlvbjoiRGVzaWduIixrZXk6ImRlc2lnbiJ9LHtvcHRpb246Ik1hcmtldGluZyIsa2V5OiJtYXJrZXRpbmcifSx7b3B0aW9uOiJTYWxlcyIsa2V5OiJzYWxlcyJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJUZWFtIFNpemUifQogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiIxLTUiLGtleToic21hbGwifSx7b3B0aW9uOiI2LTIwIixrZXk6Im1lZGl1bSJ9LHtvcHRpb246IjIxLTUwIixrZXk6ImxhcmdlIn0se29wdGlvbjoiNTArIixrZXk6InhsYXJnZSJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJMb2NhdGlvbiJ9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJSZW1vdGUiLGtleToicmVtb3RlIn0se29wdGlvbjoiT24tc2l0ZSIsa2V5OiJvbnNpdGUifSx7b3B0aW9uOiJIeWJyaWQiLGtleToiaHlicmlkIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRyb3Bkb3duW3JlcXVpcmVkXSIpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9Pntjb25zb2xlLmxvZygiUmVxdWlyZWQgZHJvcGRvd24gbG9zdCBmb2N1cyIpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjQuIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJSZXF1aXJlZCBGaWVsZCJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJPcHRpb24gQSIsa2V5OiJhIn0se29wdGlvbjoiT3B0aW9uIEIiLGtleToiYiJ9LHtvcHRpb246Ik9wdGlvbiBDIixrZXk6ImMifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgoKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCBEcm9wZG93biJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJDYW5ub3QgU2VsZWN0IixrZXk6ImRpc2FibGVkIn1dfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHt7b3B0aW9uOiJDYW5ub3QgU2VsZWN0IixrZXk6ImRpc2FibGVkIn19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkaXYgY2xhc3M9InNwYWNlciI+CiAgICAgIChTcGFjZXIgdG8gdGVzdCBkcm9wZG93biBwb3NpdGlvbmluZykKICAgIDwvZGl2PgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRyb3Bkb3duIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIscj0+e2NvbnNvbGUubG9nKCJCb3R0b20gZHJvcGRvd24gc2VsZWN0ZWQ6IixyLmRldGFpbCl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gQm90dG9tIFBvc2l0aW9uaW5nIn0gLnN1YnRpdGxlPSR7IkRyb3Bkb3duIHRoYXQgb3BlbnMgdXB3YXJkIHdoZW4gbmVhciBib3R0b20gb2Ygdmlld3BvcnQifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgLmxhYmVsPSR7Ik9wZW5zIFVwd2FyZCJ9CiAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJGaXJzdCBPcHRpb24iLGtleToiZmlyc3QifSx7b3B0aW9uOiJTZWNvbmQgT3B0aW9uIixrZXk6InNlY29uZCJ9LHtvcHRpb246IlRoaXJkIE9wdGlvbiIsa2V5OiJ0aGlyZCJ9LHtvcHRpb246IkZvdXJ0aCBPcHRpb24iLGtleToiZm91cnRoIn0se29wdGlvbjoiRmlmdGggT3B0aW9uIixrZXk6ImZpZnRoIn1dfQogICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRyb3Bkb3duIikscj1lLnF1ZXJ5U2VsZWN0b3IoIiNzZWxlY3Rpb24tb3V0cHV0Iik7dCYmciYmKHIuaW5uZXJIVE1MPSI8ZW0+U2VsZWN0IGEgcHJvZHVjdCB0byBzZWUgZGV0YWlscy4uLjwvZW0+Iix0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYT0+e2EuZGV0YWlsLnZhbHVlJiYoci5pbm5lckhUTUw9YAogICAgICAgICAgICAgIDxzdHJvbmc+U2VsZWN0ZWQ6PC9zdHJvbmc+ICR7YS5kZXRhaWwudmFsdWUub3B0aW9ufTxicj4KICAgICAgICAgICAgICA8c3Ryb25nPktleTo8L3N0cm9uZz4gJHthLmRldGFpbC52YWx1ZS5rZXl9PGJyPgogICAgICAgICAgICAgIDxzdHJvbmc+UHJpY2U6PC9zdHJvbmc+ICQke2EuZGV0YWlsLnZhbHVlLnBheWxvYWQ/LnByaWNlfHwiTi9BIn08YnI+CiAgICAgICAgICAgICAgPHN0cm9uZz5GZWF0dXJlczo8L3N0cm9uZz4gJHthLmRldGFpbC52YWx1ZS5wYXlsb2FkPy5mZWF0dXJlcz8uam9pbigiLCAiKXx8Ik4vQSJ9CiAgICAgICAgICAgIGApfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBFdmVudCBIYW5kbGluZyAmIFBheWxvYWQifSAuc3VidGl0bGU9JHsiRHJvcGRvd24gd2l0aCBwYXlsb2FkIGRhdGEgYW5kIGNoYW5nZSBldmVudCBoYW5kbGluZyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAubGFiZWw9JHsiU2VsZWN0IFByb2R1Y3QifQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiQmFzaWMgUGxhbiIsa2V5OiJiYXNpYyIscGF5bG9hZDp7cHJpY2U6OS45OSxmZWF0dXJlczpbIkZlYXR1cmUgQSJdfX0se29wdGlvbjoiUHJvIFBsYW4iLGtleToicHJvIixwYXlsb2FkOntwcmljZToxOS45OSxmZWF0dXJlczpbIkZlYXR1cmUgQSIsIkZlYXR1cmUgQiJdfX0se29wdGlvbjoiRW50ZXJwcmlzZSBQbGFuIixrZXk6ImVudGVycHJpc2UiLHBheWxvYWQ6e3ByaWNlOjQ5Ljk5LGZlYXR1cmVzOlsiRmVhdHVyZSBBIiwiRmVhdHVyZSBCIiwiRmVhdHVyZSBDIl19fV19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJzZWxlY3Rpb24tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsgcGFkZGluZzogMTJweDsgYmFja2dyb3VuZDogcmdiYSgwLCAxMDUsIDI0MiwgMC4xKTsgYm9yZGVyLXJhZGl1czogNHB4OyBmb250LXNpemU6IDE0cHg7Ij48L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLHI9ZS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRyb3Bkb3duW2tleT0icHJvamVjdFR5cGUiXScpLGE9ZS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRyb3Bkb3duW2tleT0iZnJhbWV3b3JrIl0nKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIixpPT57Y29uc29sZS5sb2coIkZvcm0gc3VibWl0dGVkIHdpdGggZGF0YToiLGkuZGV0YWlsLmRhdGEpfSksciYmYSYmci5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIsaT0+e2xldCBuPWkuZGV0YWlsLmtleTtjb25zb2xlLmxvZyhgUHJvamVjdCB0eXBlIGNoYW5nZWQgdG86ICR7bn1gKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI3LiBGb3JtIEludGVncmF0aW9uIn0gLnN1YnRpdGxlPSR7IkRyb3Bkb3duIHdvcmtpbmcgd2l0aGluIGEgZm9ybSB3aXRoIHZhbGlkYXRpb24ifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlByb2plY3QgVHlwZSJ9CiAgICAgICAgICAgIC5rZXk9JHsicHJvamVjdFR5cGUifQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiV2ViIEFwcGxpY2F0aW9uIixrZXk6IndlYiJ9LHtvcHRpb246Ik1vYmlsZSBBcHBsaWNhdGlvbiIsa2V5OiJtb2JpbGUifSx7b3B0aW9uOiJEZXNrdG9wIEFwcGxpY2F0aW9uIixrZXk6ImRlc2t0b3AifSx7b3B0aW9uOiJBUEkgU2VydmljZSIsa2V5OiJhcGkifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiRGV2ZWxvcG1lbnQgRnJhbWV3b3JrIn0KICAgICAgICAgICAgLmtleT0keyJmcmFtZXdvcmsifQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiUmVhY3QiLGtleToicmVhY3QiLHBheWxvYWQ6e3R5cGU6IndlYiJ9fSx7b3B0aW9uOiJWdWUuanMiLGtleToidnVlIixwYXlsb2FkOnt0eXBlOiJ3ZWIifX0se29wdGlvbjoiQW5ndWxhciIsa2V5OiJhbmd1bGFyIixwYXlsb2FkOnt0eXBlOiJ3ZWIifX0se29wdGlvbjoiUmVhY3QgTmF0aXZlIixrZXk6InJlYWN0LW5hdGl2ZSIscGF5bG9hZDp7dHlwZToibW9iaWxlIn19LHtvcHRpb246IkZsdXR0ZXIiLGtleToiZmx1dHRlciIscGF5bG9hZDp7dHlwZToibW9iaWxlIn19LHtvcHRpb246IkVsZWN0cm9uIixrZXk6ImVsZWN0cm9uIixwYXlsb2FkOnt0eXBlOiJkZXNrdG9wIn19XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IC50ZXh0PSR7IkNyZWF0ZSBQcm9qZWN0In0+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmB9KTt2YXIgTGMsUWksdkYseEY9ZigoKT0+e3VlKCk7SnQoKTtYbHIoKTtTYSgpO0puKCk7UWUoKTtMYz1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFFpPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSx2Rj0oKCk9PntsZXQgZT1bcmUoImRlZXMtaW5wdXQtZHJvcGRvd24iKV0sdCxyPVtdLGEsaT1udCxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXSxSLEM9W10sUz1bXSxPLEQ9W10sTj1bXSxxLF89W10sej1bXTt2YXIgRT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IFQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRigpXSxjPVtGKCldLGQ9W0Yoe3R5cGU6Qm9vbGVhbn0pXSx2PVtzZSgpXSx5PVtzZSgpXSxSPVtzZSgpXSxPPVtzZSgpXSxxPVtzZSgpXSxMYyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJvcHRpb25zImluIEwsZ2V0Okw9Pkwub3B0aW9ucyxzZXQ6KEwsVik9PntMLm9wdGlvbnM9Vn19LG1ldGFkYXRhOlR9LHMsbyksTGModGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZE9wdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6TD0+InNlbGVjdGVkT3B0aW9uImluIEwsZ2V0Okw9Pkwuc2VsZWN0ZWRPcHRpb24sc2V0OihMLFYpPT57TC5zZWxlY3RlZE9wdGlvbj1WfX0sbWV0YWRhdGE6VH0sbCx1KSxMYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZVNlYXJjaCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6TD0+ImVuYWJsZVNlYXJjaCJpbiBMLGdldDpMPT5MLmVuYWJsZVNlYXJjaCxzZXQ6KEwsVik9PntMLmVuYWJsZVNlYXJjaD1WfX0sbWV0YWRhdGE6VH0saCxtKSxMYyh0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wZW5zVG9Ub3AiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJvcGVuc1RvVG9wImluIEwsZ2V0Okw9Pkwub3BlbnNUb1RvcCxzZXQ6KEwsVik9PntMLm9wZW5zVG9Ub3A9Vn19LG1ldGFkYXRhOlR9LGIsZyksTGModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJlZE9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJmaWx0ZXJlZE9wdGlvbnMiaW4gTCxnZXQ6TD0+TC5maWx0ZXJlZE9wdGlvbnMsc2V0OihMLFYpPT57TC5maWx0ZXJlZE9wdGlvbnM9Vn19LG1ldGFkYXRhOlR9LHcsayksTGModGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoaWdobGlnaHRlZEluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4iaGlnaGxpZ2h0ZWRJbmRleCJpbiBMLGdldDpMPT5MLmhpZ2hsaWdodGVkSW5kZXgsc2V0OihMLFYpPT57TC5oaWdobGlnaHRlZEluZGV4PVZ9fSxtZXRhZGF0YTpUfSxDLFMpLExjKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNPcGVuZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJpc09wZW5lZCJpbiBMLGdldDpMPT5MLmlzT3BlbmVkLHNldDooTCxWKT0+e0wuaXNPcGVuZWQ9Vn19LG1ldGFkYXRhOlR9LEQsTiksTGModGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6TD0+InNlYXJjaFZhbHVlImluIEwsZ2V0Okw9Pkwuc2VhcmNoVmFsdWUsc2V0OihMLFYpPT57TC5zZWFyY2hWYWx1ZT1WfX0sbWV0YWRhdGE6VH0sXyx6KSxMYyhudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpUfSxudWxsLHIpLEU9YT10LnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPVpscjtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9UWkodGhpcyxzLFtdKTtnZXQgb3B0aW9ucygpe3JldHVybiB0aGlzLiNlfXNldCBvcHRpb25zKFQpe3RoaXMuI2U9VH0jdD0oUWkodGhpcyxvKSxRaSh0aGlzLGwsbnVsbCkpO2dldCBzZWxlY3RlZE9wdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZE9wdGlvbihUKXt0aGlzLiN0PVR9Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb259c2V0IHZhbHVlKFQpe3RoaXMuc2VsZWN0ZWRPcHRpb249VH0jcj0oUWkodGhpcyx1KSxRaSh0aGlzLGgsITApKTtnZXQgZW5hYmxlU2VhcmNoKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGVuYWJsZVNlYXJjaChUKXt0aGlzLiNyPVR9I2E9KFFpKHRoaXMsbSksUWkodGhpcyxiLCExKSk7Z2V0IG9wZW5zVG9Ub3AoKXtyZXR1cm4gdGhpcy4jYX1zZXQgb3BlbnNUb1RvcChUKXt0aGlzLiNhPVR9I2k9KFFpKHRoaXMsZyksUWkodGhpcyx3LFtdKSk7Z2V0IGZpbHRlcmVkT3B0aW9ucygpe3JldHVybiB0aGlzLiNpfXNldCBmaWx0ZXJlZE9wdGlvbnMoVCl7dGhpcy4jaT1UfSNuPShRaSh0aGlzLGspLFFpKHRoaXMsQywwKSk7Z2V0IGhpZ2hsaWdodGVkSW5kZXgoKXtyZXR1cm4gdGhpcy4jbn1zZXQgaGlnaGxpZ2h0ZWRJbmRleChUKXt0aGlzLiNuPVR9I3M9KFFpKHRoaXMsUyksUWkodGhpcyxELCExKSk7Z2V0IGlzT3BlbmVkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGlzT3BlbmVkKFQpe3RoaXMuI3M9VH0jbz0oUWkodGhpcyxOKSxRaSh0aGlzLF8sIiIpKTtnZXQgc2VhcmNoVmFsdWUoKXtyZXR1cm4gdGhpcy4jb31zZXQgc2VhcmNoVmFsdWUoVCl7dGhpcy4jbz1UfXN0YXRpYyBzdHlsZXM9W0RlLC4uLm50LmJhc2VTdHlsZXMscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZEJveCB7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBsaW5lLWhlaWdodDogMzhweDsKICAgICAgICBwYWRkaW5nOiAwIDQwcHggMCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnNlbGVjdGVkQm94OmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZEJveDpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZEJveC5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC8qIERyb3Bkb3duIGFycm93ICovCiAgICAgIC5zZWxlY3RlZEJveDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMTJweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZEJveC5vcGVuOjphZnRlciB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpOwogICAgICB9CgogICAgICAuc2VsZWN0aW9uQm94IHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpIHNjYWxlKDAuOTgpOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggaHNsKDAgMCUgMCUgLyAwLjEpLCAwIDJweCA0cHggLTJweCBoc2woMCAwJSAwJSAvIDAuMSk7CiAgICAgICAgbWluLWhlaWdodDogNDBweDsKICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIHotaW5kZXg6IDUwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5zZWxlY3Rpb25Cb3gudG9wIHsKICAgICAgICBib3R0b206IGNhbGMoMTAwJSArIDRweCk7CiAgICAgICAgdG9wOiBhdXRvOwogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpIHNjYWxlKDAuOTgpOwogICAgICB9CiAgICAgIAogICAgICAuc2VsZWN0aW9uQm94LmJvdHRvbSB7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICB9CgogICAgICAuc2VsZWN0aW9uQm94LnNob3cgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC8qIE9wdGlvbnMgY29udGFpbmVyICovCiAgICAgIC5vcHRpb25zLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgIH0KCiAgICAgIC8qIE9wdGlvbnMgKi8KICAgICAgLm9wdGlvbiB7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogMnB4IDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAub3B0aW9uLmhpZ2hsaWdodGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAub3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLyogTm8gb3B0aW9ucyBtZXNzYWdlICovCiAgICAgIC5uby1vcHRpb25zIHsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC8qIFNlYXJjaCAqLwogICAgICAuc2VhcmNoIHsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CiAgICAgIAogICAgICAuc2VhcmNoLmJvdHRvbSB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQogICAgICAKICAgICAgLnNlYXJjaCBpbnB1dCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2ggaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICB9CgogICAgICAvKiBTY3JvbGxiYXIgc3R5bGluZyAqLwogICAgICAub3B0aW9ucy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICB9CgogICAgICAub3B0aW9ucy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm9wdGlvbnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJzZWxlY3RlZEJveCAke3RoaXMuaXNPcGVuZWQ/Im9wZW4iOiIifSAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+IXRoaXMuZGlzYWJsZWQmJnRoaXMudG9nZ2xlU2VsZWN0aW9uQm94KCl9IgogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7dGhpcy5oYW5kbGVTZWxlY3RlZEJveEtleWRvd259IgogICAgICAgICAgPgogICAgICAgICAgICAke3RoaXMuc2VsZWN0ZWRPcHRpb24/Lm9wdGlvbnx8IlNlbGVjdCBhbiBvcHRpb24ifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWxlY3Rpb25Cb3ggJHt0aGlzLmlzT3BlbmVkPyJzaG93IjoiIn0gJHt0aGlzLm9wZW5zVG9Ub3A/InRvcCI6ImJvdHRvbSJ9Ij4KICAgICAgICAgICAgJHt0aGlzLmVuYWJsZVNlYXJjaD9NYAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2giPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCAKICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiIAogICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBvcHRpb25zLi4uIiAKICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZT0iJHt0aGlzLnNlYXJjaFZhbHVlfSIKICAgICAgICAgICAgICAgICAgICAgIEBpbnB1dD0iJHt0aGlzLmhhbmRsZVNlYXJjaH0iCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9IiR7VD0+VC5zdG9wUHJvcGFnYXRpb24oKX0iCiAgICAgICAgICAgICAgICAgICAgICBAa2V5ZG93bj0iJHt0aGlzLmhhbmRsZVNlYXJjaEtleWRvd259IgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDpudWxsfQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcHRpb25zLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgJHt0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGg9PT0wP01gPGRpdiBjbGFzcz0ibm8tb3B0aW9ucyI+Tm8gb3B0aW9ucyBmb3VuZDwvZGl2PmA6dGhpcy5maWx0ZXJlZE9wdGlvbnMubWFwKChULEwpPT57bGV0IFY9dGhpcy5oaWdobGlnaHRlZEluZGV4PT09TDtyZXR1cm4gTWAKICAgICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wdGlvbiAke1Y/ImhpZ2hsaWdodGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy51cGRhdGVTZWxlY3Rpb24oVCl9IgogICAgICAgICAgICAgICAgICAgICAgICBAbW91c2VlbnRlcj0iJHsoKT0+dGhpcy5oaWdobGlnaHRlZEluZGV4PUx9IgogICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAke1Qub3B0aW9ufQogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYH0pfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlPXRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlLmJpbmQodGhpcyl9Zmlyc3RVcGRhdGVkKCl7dGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLnNlbGVjdGVkT3B0aW9ufHxudWxsLHRoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9uc311cGRhdGVkKFQpe3N1cGVyLnVwZGF0ZWQoVCksVC5oYXMoIm9wdGlvbnMiKSYmKHRoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9ucyl9YXN5bmMgdXBkYXRlU2VsZWN0aW9uKFQpe3RoaXMuc2VsZWN0ZWRPcHRpb249VCx0aGlzLmlzT3BlbmVkPSExLHRoaXMuc2VhcmNoVmFsdWU9IiIsdGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD0wLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlbGVjdGVkT3B0aW9uIix7ZGV0YWlsOlQsYnViYmxlczohMH0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1oYW5kbGVDbGlja091dHNpZGU9KFFpKHRoaXMseiksVD0+e1QuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcyl8fCh0aGlzLmlzT3BlbmVkPSExLHRoaXMuc2VhcmNoVmFsdWU9IiIsdGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSkpfSk7YXN5bmMgdG9nZ2xlU2VsZWN0aW9uQm94KCl7aWYodGhpcy5pc09wZW5lZD0hdGhpcy5pc09wZW5lZCx0aGlzLmlzT3BlbmVkKXtsZXQgTD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNlbGVjdGVkQm94IikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksVj13aW5kb3cuaW5uZXJIZWlnaHQtTC5ib3R0b20sQj1MLnRvcDt0aGlzLm9wZW5zVG9Ub3A9VjwzMDAmJkI+Vixhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO2xldCBVPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoIGlucHV0Iik7VSYmVS5mb2N1cygpLHNldFRpbWVvdXQoKCk9Pntkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVDbGlja091dHNpZGUpfSwwKX1lbHNlIHRoaXMuc2VhcmNoVmFsdWU9IiIsdGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSl9aGFuZGxlU2VhcmNoKFQpe2xldCBMPVQudGFyZ2V0LnZhbHVlO3RoaXMuc2VhcmNoVmFsdWU9TDtsZXQgVj1MLnRvTG93ZXJDYXNlKCk7dGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLmZpbHRlcihCPT5CLm9wdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFYpKSx0aGlzLmhpZ2hsaWdodGVkSW5kZXg9MH1oYW5kbGVLZXlEb3duKFQpe2xldCBMPVQua2V5LFY9dGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoLTE7TD09PSJBcnJvd0Rvd24iPyhULnByZXZlbnREZWZhdWx0KCksdGhpcy5oaWdobGlnaHRlZEluZGV4PXRoaXMuaGlnaGxpZ2h0ZWRJbmRleCsxPlY/MDp0aGlzLmhpZ2hsaWdodGVkSW5kZXgrMSk6TD09PSJBcnJvd1VwIj8oVC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD10aGlzLmhpZ2hsaWdodGVkSW5kZXgtMTwwP1Y6dGhpcy5oaWdobGlnaHRlZEluZGV4LTEpOkw9PT0iRW50ZXIiPyhULnByZXZlbnREZWZhdWx0KCksdGhpcy5maWx0ZXJlZE9wdGlvbnNbdGhpcy5oaWdobGlnaHRlZEluZGV4XSYmdGhpcy51cGRhdGVTZWxlY3Rpb24odGhpcy5maWx0ZXJlZE9wdGlvbnNbdGhpcy5oaWdobGlnaHRlZEluZGV4XSkpOkw9PT0iRXNjYXBlIiYmKFQucHJldmVudERlZmF1bHQoKSx0aGlzLmlzT3BlbmVkPSExKX1oYW5kbGVTZWFyY2hLZXlkb3duKFQpeyhULmtleT09PSJBcnJvd0Rvd24ifHxULmtleT09PSJBcnJvd1VwInx8VC5rZXk9PT0iRW50ZXIiKSYmdGhpcy5oYW5kbGVLZXlEb3duKFQpfWhhbmRsZVNlbGVjdGVkQm94S2V5ZG93bihUKXt0aGlzLmRpc2FibGVkfHwoVC5rZXk9PT0iRW50ZXIifHxULmtleT09PSIgIj8oVC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMudG9nZ2xlU2VsZWN0aW9uQm94KCkpOlQua2V5PT09IkFycm93RG93biJ8fFQua2V5PT09IkFycm93VXAiPyhULnByZXZlbnREZWZhdWx0KCksdGhpcy5pc09wZW5lZHx8dGhpcy50b2dnbGVTZWxlY3Rpb25Cb3goKSk6VC5rZXk9PT0iRXNjYXBlIiYmKFQucHJldmVudERlZmF1bHQoKSx0aGlzLmlzT3BlbmVkJiYodGhpcy5pc09wZW5lZD0hMSkpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9ufXNldFZhbHVlKFQpe3RoaXMuc2VsZWN0ZWRPcHRpb249VH1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlKX1zdGF0aWN7UWkoYSxyKX19O3JldHVybiBFPWF9KSgpfSk7dmFyIFFscixKbHI9ZigoKT0+e3VlKCk7S2RlKCk7T2koKTtRbHI9KCk9Pk1gCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7SmAKICAgICAgICAuZGVtby1zaGVsbCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMzJweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDExNjBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7CiAgICAgICAgICAuZGVtby1ncmlkLS10d28gewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAuZGVtby1zdGFjayB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMThweDsKICAgICAgICB9CgogICAgICAgIC5kZW1vLW5vdGUgewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDkwJSkiLCJoc2woMjE1IDIwJSAyNiUpIil9OwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTMgMTAwJSA5NyUpIiwiaHNsKDIxNSAyMCUgMTIlKSIpfTsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAyNSUgMzIlKSIsImhzbCgyMTUgMjAlIDgyJSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTsKICAgICAgICB9CgogICAgICAgIC5kZW1vLW5vdGUgc3Ryb25nIHsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNyA5MSUgNDUlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zaGVsbCI+CiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7Ik1vZGVybiBmaWxlIHVwbG9hZGVyIn0KICAgICAgICAuc3VidGl0bGU9JHsiU2hhZGNuLWluc3BpcmVkIGxheW91dCB3aXRoIGRyYWcgJiBkcm9wLCBwcmV2aWV3cyBhbmQgdmFsaWRhdGlvbiJ9CiAgICAgID4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQgZGVtby1ncmlkLS10d28iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1zdGFjayI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAgICAubGFiZWw9JHsiQXR0YWNobWVudHMifQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJVcGxvYWQgc3VwcG9ydGluZyBkb2N1bWVudHMgZm9yIHlvdXIgcmVxdWVzdCJ9CiAgICAgICAgICAgICAgLmFjY2VwdD0keyJpbWFnZS8qLC5wZGYsLnppcCJ9CiAgICAgICAgICAgICAgLm1heFNpemU9JHsxMCoxMDI0KjEwMjR9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAgICAubGFiZWw9JHsiQnJhbmQgYXNzZXRzIn0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVXBsb2FkIGhpZ2gtcmVzb2x1dGlvbiBpbWFnZXJ5IChKUEcvUE5HKSJ9CiAgICAgICAgICAgICAgLmFjY2VwdD0keyJpbWFnZS9qcGVnLGltYWdlL3BuZyJ9CiAgICAgICAgICAgICAgLm11bHRpcGxlPSR7ITF9CiAgICAgICAgICAgICAgLm1heFNpemU9JHs1KjEwMjQqMTAyNH0KICAgICAgICAgICAgICAuYnV0dG9uVGV4dD0keyJTZWxlY3QgY292ZXIgaW1hZ2UifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXN0YWNrIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgIC5sYWJlbD0keyJBdWRpbyB1cGxvYWRzIn0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiU2hhcmUgcG9kY2FzdCBkcmFmdHMgKE1QMy9XQVYsIG1heCAyNU1CIGVhY2gpIn0KICAgICAgICAgICAgICAuYWNjZXB0PSR7ImF1ZGlvLyoifQogICAgICAgICAgICAgIC5tYXhTaXplPSR7MjUqMTAyNCoxMDI0fQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIGV4YW1wbGUifQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJVcGxvYWRlciBpcyBkaXNhYmxlZCB3aGlsZSBtb2RlcmF0aW9uIGlzIHBlbmRpbmcifQogICAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiRm9ybSBpbnRlZ3JhdGlvbiJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IkNvbWJpbmUgZmlsZSB1cGxvYWRzIHdpdGggdGhlIHJlc3Qgb2YgdGhlIERFRVMgZm9ybSBlY29zeXN0ZW0ifQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc3RhY2siPgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJQcm9qZWN0IG5hbWUifQogICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkhvdyBzaG91bGQgd2UgcmVmZXIgdG8gdGhpcyBwcm9qZWN0IGludGVybmFsbHk/In0KICAgICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgICAgLmtleT0keyJwcm9qZWN0TmFtZSJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgICAgICAubGFiZWw9JHsiQ29udGFjdCBlbWFpbCJ9CiAgICAgICAgICAgICAgICAuaW5wdXRUeXBlPSR7ImVtYWlsIn0KICAgICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgICAgLmtleT0keyJjb250YWN0RW1haWwifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IlN0YXRlbWVudCBvZiB3b3JrIn0KICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJVcGxvYWQgYSBzaWduZWQgc3RhdGVtZW50IG9mIHdvcmsgKFBERiwgbWF4IDE1TUIpIn0KICAgICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgICAgLmFjY2VwdD0keyJhcHBsaWNhdGlvbi9wZGYifQogICAgICAgICAgICAgICAgLm1heFNpemU9JHsxNSoxMDI0KjEwMjR9CiAgICAgICAgICAgICAgICAubXVsdGlwbGU9JHshMX0KICAgICAgICAgICAgICAgIC5rZXk9JHsic293In0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJDcmVhdGl2ZSByZWZlcmVuY2VzIn0KICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJPcHRpb25hbC4gVXBsb2FkIHVwIHRvIGZpdmUgdmlzdWFsIHJlZmVyZW5jZXMifQogICAgICAgICAgICAgICAgLmFjY2VwdD0keyJpbWFnZS8qIn0KICAgICAgICAgICAgICAgIC5tYXhGaWxlcz0kezV9CiAgICAgICAgICAgICAgICAubWF4U2l6ZT0kezgqMTAyNCoxMDI0fQogICAgICAgICAgICAgICAgLmtleT0keyJyZWZlcmVuY2VzIn0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJOb3RlcyJ9CiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIG9wdGlvbmFsIGNvbnRleHQgZm9yIHJldmlld2VycyJ9CiAgICAgICAgICAgICAgICAuaW5wdXRUeXBlPSR7InRleHRhcmVhIn0KICAgICAgICAgICAgICAgIC5rZXk9JHsibm90ZXMifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9JHsiU3VibWl0IGJyaWVmaW5nIn0+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy1mb3JtPgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tbm90ZSI+CiAgICAgICAgICAgIDxzdHJvbmc+R29vZCB0byBrbm93Ojwvc3Ryb25nPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPkRyYWcgJiBkcm9wIGhpZ2hsaWdodHMgdGhlIGRyb3B6b25lIGFuZCBzdXBwb3J0cyBrZXlib2FyZCBhY3RpdmF0aW9uLjwvbGk+CiAgICAgICAgICAgICAgPGxpPkFjY2VwdGVkIGZpbGUgdHlwZXMgYXJlIHN1bW1hcmlzZWQgYXV0b21hdGljYWxseSBmcm9tIHRoZSA8Y29kZT5hY2NlcHQ8L2NvZGU+IGF0dHJpYnV0ZS48L2xpPgogICAgICAgICAgICAgIDxsaT5JbWFnZSB1cGxvYWRzIHNob3cgbGl2ZSBwcmV2aWV3cyBnZW5lcmF0ZWQgdmlhIDxjb2RlPlVSTC5jcmVhdGVPYmplY3RVUkw8L2NvZGU+LjwvbGk+CiAgICAgICAgICAgICAgPGxpPkZpbGUgc2l6ZSBhbmQgZmlsZS1jb3VudCBsaW1pdHMgc3VyZmFjZSBpbmxpbmUgdmFsaWRhdGlvbiBtZXNzYWdlcy48L2xpPgogICAgICAgICAgICAgIDxsaT5UaGUgY29tcG9uZW50IHN0YXlzIGNvbXBhdGlibGUgd2l0aCA8Y29kZT5kZWVzLWZvcm08L2NvZGU+IHZhbHVlIGFjY2Vzc29ycy48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYH0pO3ZhciBLbHIsZWNyPWYoKCk9Pnt1ZSgpO1NhKCk7S2xyPVtwLmRlZmF1bHRTdHlsZXMsLi4ubnQuYmFzZVN0eWxlcyxKYAogICAgOmhvc3QgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgfQoKCiAgICAuaW5wdXQtd3JhcHBlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMTJweDsKICAgIH0KCiAgICAuZHJvcHpvbmUgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIGJvcmRlcjogMS41cHggZGFzaGVkICR7cC5iZFRoZW1lKCJoc2woMjE1IDE2JSA4MCUpIiwiaHNsKDIxNyAyMCUgMjUlKSIpfTsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAyMCUgMTIlKSIpfTsKICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4ycyBlYXNlOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIG91dGxpbmU6IG5vbmU7CiAgICB9CgogICAgLmRyb3B6b25lOmZvY3VzLXZpc2libGUgewogICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAyMCUgMTIlKSIpfSwKICAgICAgICAwIDAgMCA0cHggJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSAvIDAuNSkiLCJoc2woMjEzIDkzJSA2OCUgLyAwLjQpIil9OwogICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgIH0KCiAgICAuZHJvcHpvbmUtLWFjdGl2ZSB7CiAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICBib3gtc2hhZG93OiAwIDEycHggMzJweCAke3AuYmRUaGVtZSgicmdiYSgxNSwgMjMsIDQyLCAwLjEyKSIsInJnYmEoMCwgMCwgMCwgMC4zNSkiKX07CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUgLyAwLjA2KSIsImhzbCgyMTMgOTMlIDY4JSAvIDAuMTIpIil9OwogICAgfQoKICAgIC5kcm9wem9uZS0taGFzLWZpbGVzIHsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk5JSkiLCJoc2woMjE1IDIwJSAxMSUpIil9OwogICAgfQoKICAgIC5kcm9wem9uZS0tZGlzYWJsZWQgewogICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgfQoKICAgIC5kcm9wem9uZV9fYm9keSB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogMTZweDsKICAgIH0KCiAgICAuZHJvcHpvbmVfX2ljb24gewogICAgICB3aWR0aDogNDhweDsKICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICBib3JkZXItcmFkaXVzOiAxNnB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSAvIDAuMTIpIiwiaHNsKDIxMyA5MyUgNjglIC8gMC4xMikiKX07CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLmRyb3B6b25lX19pY29uIGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMjJweDsKICAgIH0KCiAgICAuZHJvcHpvbmVfX2xvYWRlciB7CiAgICAgIHdpZHRoOiAyMHB4OwogICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICBib3JkZXI6IDJweCBzb2xpZCAke3AuYmRUaGVtZSgicmdiYSgxNSwgMjMsIDQyLCAwLjE1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkiKX07CiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgYW5pbWF0aW9uOiBsb2FkZXItc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTsKICAgIH0KCiAgICAuZHJvcHpvbmVfX2NvbnRlbnQgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDRweDsKICAgICAgbWluLXdpZHRoOiAwOwogICAgfQoKICAgIC5kcm9wem9uZV9faGVhZGxpbmUgewogICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMiA0NyUgMTElKSIsImhzbCgyMTAgMjAlIDk2JSkiKX07CiAgICB9CgogICAgLmRyb3B6b25lX19zdWJsaW5lIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ2JSkiLCJoc2woMjE1IDE2JSA3MCUpIil9OwogICAgfQoKICAgIC5kcm9wem9uZV9fYnJvd3NlIHsKICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICBwYWRkaW5nOiAwOwogICAgICBtYXJnaW4tbGVmdDogNHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIH0KCiAgICAuZHJvcHpvbmVfX2Jyb3dzZTpob3ZlciB7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgfQoKICAgIC5kcm9wem9uZV9fYnJvd3NlOmRpc2FibGVkIHsKICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgb3BhY2l0eTogMC42OwogICAgfQoKICAgIC5kcm9wem9uZV9fbWV0YSB7CiAgICAgIG1hcmdpbi10b3A6IDE0cHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDE2JSA1MCUpIiwiaHNsKDIxNSAxNiUgNzIlKSIpfTsKICAgIH0KCiAgICAuZHJvcHpvbmVfX21ldGEgc3BhbiB7CiAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDk1JSkiLCJoc2woMjEzIDkzJSAxOCUpIil9OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNyA5MSUgOTAlKSIsImhzbCgyMTMgOTMlIDI0JSkiKX07CiAgICB9CgogICAgLmZpbGUtbGlzdCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMTJweDsKICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgcGFkZGluZy10b3A6IDIwcHg7CiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNyA5MSUgOTAlKSIsImhzbCgyMTMgOTMlIDI0JSkiKX07CiAgICB9CgogICAgLmZpbGUtbGlzdF9faGVhZGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDY4JSkiKX07CiAgICB9CgogICAgLmZpbGUtbGlzdF9fY2xlYXIgewogICAgICBhcHBlYXJhbmNlOiBub25lOwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBwYWRkaW5nOiAwOwogICAgfQoKICAgIC5maWxlLWxpc3RfX2NsZWFyOmhvdmVyIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB9CgogICAgLmZpbGUtbGlzdF9faXRlbXMgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDEycHg7CiAgICB9CgogICAgLmZpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAxMnB4OwogICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlIC8gMC41KSIsImhzbCgyMTUgMjAlIDE2JSAvIDAuNSkiKX07CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMjEzIDI3JSA5MiUpIiwiaHNsKDIxNyAyNSUgMjYlKSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICB9CgogICAgLmZpbGUtcm93OmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUgLyAwLjgpIiwiaHNsKDIxNSAyMCUgMTYlIC8gMC44KSIpfTsKICAgIH0KCiAgICAuZmlsZS10aHVtYiB7CiAgICAgIHdpZHRoOiAzNnB4OwogICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTQgMzElIDkyJSkiLCJoc2woMjE3IDMyJSAxOCUpIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLmZpbGUtdGh1bWIgZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3MCUpIil9OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDE4cHg7CiAgICAgIGhlaWdodDogMThweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgfQoKCiAgICAudGh1bWItaW1hZ2UgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIH0KCiAgICAuZmlsZS1tZXRhIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiA0cHg7CiAgICAgIG1pbi13aWR0aDogMDsKICAgIH0KCiAgICAuZmlsZS1uYW1lIHsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIgNDclIDExJSkiLCJoc2woMjEwIDIwJSA5NiUpIil9OwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIH0KCiAgICAuZmlsZS1kZXRhaWxzIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ2JSkiLCJoc2woMjE1IDE2JSA3MCUpIil9OwogICAgfQoKICAgIC5maWxlLXNpemUgewogICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgfQoKICAgIC5maWxlLXR5cGUgewogICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDMyJSAyOCUpIil9OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ2JSkiLCJoc2woMjE1IDE2JSA3MCUpIil9OwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOwogICAgICBsaW5lLWhlaWdodDogMTsKICAgIH0KCiAgICAuZmlsZS1hY3Rpb25zIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgfQoKICAgIC5yZW1vdmUtYnV0dG9uIHsKICAgICAgd2lkdGg6IDI4cHg7CiAgICAgIGhlaWdodDogMjhweDsKICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlOwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDUyJSkiLCJoc2woMjE1IDE2JSA2OCUpIil9OwogICAgfQoKICAgIC5yZW1vdmUtYnV0dG9uOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDcyJSA1MCUgLyAwLjA4KSIsImhzbCgwIDYyJSAzMiUgLyAwLjE1KSIpfTsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCA3MiUgNDYlKSIsImhzbCgwIDcwJSA3MCUpIil9OwogICAgfQoKICAgIC5yZW1vdmUtYnV0dG9uOmFjdGl2ZSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nik7CiAgICB9CgogICAgLnJlbW92ZS1idXR0b24gZGVlcy1pY29uIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxNHB4OwogICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgfQoKICAgIC52YWxpZGF0aW9uLW1lc3NhZ2UgewogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIlIDQwJSkiLCJoc2woMCA3MCUgNjglKSIpfTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIH0KCiAgICBAa2V5ZnJhbWVzIGxvYWRlci1zcGluIHsKICAgICAgdG8gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgIH0KICAgIH0KICBgXX0pO3ZhciBjbCxraSx5RixLZGU9ZigoKT0+e1NhKCk7SmxyKCk7ZWNyKCk7aXIoKTt3ZigpO3VlKCk7Y2w9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxraT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0seUY9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWlucHV0LWZpbGV1cGxvYWQiKV0sdCxyPVtdLGEsaT1udCxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXSxSLEM9W10sUz1bXSxPLEQ9W10sTj1bXSxxLF89W10sej1bXSxFLFQ9W10sTD1bXTt2YXIgVj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IEI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7YXR0cmlidXRlOiExfSldLGM9W3NlKCldLGQ9W3NlKCldLHY9W0Yoe3R5cGU6U3RyaW5nfSldLHk9W0Yoe3R5cGU6U3RyaW5nfSldLFI9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxPPVtGKHt0eXBlOk51bWJlcn0pXSxxPVtGKHt0eXBlOk51bWJlcn0pXSxFPVtGKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLGNsKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJ2YWx1ZSJpbiBVLGdldDpVPT5VLnZhbHVlLHNldDooVSxLKT0+e1UudmFsdWU9S319LG1ldGFkYXRhOkJ9LHMsbyksY2wodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+InN0YXRlImluIFUsZ2V0OlU9PlUuc3RhdGUsc2V0OihVLEspPT57VS5zdGF0ZT1LfX0sbWV0YWRhdGE6Qn0sbCx1KSxjbCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+ImlzTG9hZGluZyJpbiBVLGdldDpVPT5VLmlzTG9hZGluZyxzZXQ6KFUsSyk9PntVLmlzTG9hZGluZz1LfX0sbWV0YWRhdGE6Qn0saCxtKSxjbCh0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJ1dHRvblRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJidXR0b25UZXh0ImluIFUsZ2V0OlU9PlUuYnV0dG9uVGV4dCxzZXQ6KFUsSyk9PntVLmJ1dHRvblRleHQ9S319LG1ldGFkYXRhOkJ9LGIsZyksY2wodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY2NlcHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJhY2NlcHQiaW4gVSxnZXQ6VT0+VS5hY2NlcHQsc2V0OihVLEspPT57VS5hY2NlcHQ9S319LG1ldGFkYXRhOkJ9LHcsayksY2wodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtdWx0aXBsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+Im11bHRpcGxlImluIFUsZ2V0OlU9PlUubXVsdGlwbGUsc2V0OihVLEspPT57VS5tdWx0aXBsZT1LfX0sbWV0YWRhdGE6Qn0sQyxTKSxjbCh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heFNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJtYXhTaXplImluIFUsZ2V0OlU9PlUubWF4U2l6ZSxzZXQ6KFUsSyk9PntVLm1heFNpemU9S319LG1ldGFkYXRhOkJ9LEQsTiksY2wodGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhGaWxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+Im1heEZpbGVzImluIFUsZ2V0OlU9PlUubWF4RmlsZXMsc2V0OihVLEspPT57VS5tYXhGaWxlcz1LfX0sbWV0YWRhdGE6Qn0sXyx6KSxjbCh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkYXRpb25TdGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+InZhbGlkYXRpb25TdGF0ZSJpbiBVLGdldDpVPT5VLnZhbGlkYXRpb25TdGF0ZSxzZXQ6KFUsSyk9PntVLnZhbGlkYXRpb25TdGF0ZT1LfX0sbWV0YWRhdGE6Qn0sVCxMKSxjbChudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpCfSxudWxsLHIpLFY9YT10LnZhbHVlLEImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Qn0pfXN0YXRpYyBkZW1vPVFscjtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9a2kodGhpcyxzLFtdKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoQil7dGhpcy4jZT1CfSN0PShraSh0aGlzLG8pLGtpKHRoaXMsbCwiaWRsZSIpKTtnZXQgc3RhdGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc3RhdGUoQil7dGhpcy4jdD1CfSNyPShraSh0aGlzLHUpLGtpKHRoaXMsaCwhMSkpO2dldCBpc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy4jcn1zZXQgaXNMb2FkaW5nKEIpe3RoaXMuI3I9Qn0jYT0oa2kodGhpcyxtKSxraSh0aGlzLGIsIlNlbGVjdCBmaWxlcyIpKTtnZXQgYnV0dG9uVGV4dCgpe3JldHVybiB0aGlzLiNhfXNldCBidXR0b25UZXh0KEIpe3RoaXMuI2E9Qn0jaT0oa2kodGhpcyxnKSxraSh0aGlzLHcsIiIpKTtnZXQgYWNjZXB0KCl7cmV0dXJuIHRoaXMuI2l9c2V0IGFjY2VwdChCKXt0aGlzLiNpPUJ9I249KGtpKHRoaXMsayksa2kodGhpcyxDLCEwKSk7Z2V0IG11bHRpcGxlKCl7cmV0dXJuIHRoaXMuI259c2V0IG11bHRpcGxlKEIpe3RoaXMuI249Qn0jcz0oa2kodGhpcyxTKSxraSh0aGlzLEQsMCkpO2dldCBtYXhTaXplKCl7cmV0dXJuIHRoaXMuI3N9c2V0IG1heFNpemUoQil7dGhpcy4jcz1CfSNvPShraSh0aGlzLE4pLGtpKHRoaXMsXywwKSk7Z2V0IG1heEZpbGVzKCl7cmV0dXJuIHRoaXMuI299c2V0IG1heEZpbGVzKEIpe3RoaXMuI289Qn0jbD0oa2kodGhpcyx6KSxraSh0aGlzLFQsbnVsbCkpO2dldCB2YWxpZGF0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy4jbH1zZXQgdmFsaWRhdGlvblN0YXRlKEIpe3RoaXMuI2w9Qn0jYz0oa2kodGhpcyxMKSwiIik7Z2V0IHZhbGlkYXRpb25NZXNzYWdlKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHZhbGlkYXRpb25NZXNzYWdlKEIpe3RoaXMuI2M9Qn1wcmV2aWV3VXJsTWFwPW5ldyBXZWFrTWFwO2Ryb3BBcmVhPW51bGw7c3RhdGljIHN0eWxlcz1LbHI7cmVuZGVyKCl7bGV0IEI9dGhpcy5nZXRBY2NlcHRlZFN1bW1hcnkoKSxVPVt0aGlzLm11bHRpcGxlPyJNdWx0aXBsZSBmaWxlcyBzdXBwb3J0ZWQiOiJTaW5nbGUgZmlsZSBvbmx5Iix0aGlzLm1heFNpemU+MD9gTWF4ICR7dGhpcy5mb3JtYXRGaWxlU2l6ZSh0aGlzLm1heFNpemUpfWA6Ik5vIHNpemUgbGltaXQiXTtyZXR1cm4gQiYmVS5wdXNoKGBBY2NlcHRzICR7Qn1gKSxNYAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbAogICAgICAgICAgLmxhYmVsPSR7dGhpcy5sYWJlbH0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0ke3RoaXMuZGVzY3JpcHRpb259CiAgICAgICAgICAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfQogICAgICAgID48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImRyb3B6b25lICR7dGhpcy5zdGF0ZT09PSJkcmFnT3ZlciI/ImRyb3B6b25lLS1hY3RpdmUiOiIifSAke3RoaXMuZGlzYWJsZWQ/ImRyb3B6b25lLS1kaXNhYmxlZCI6IiJ9ICR7dGhpcy52YWx1ZS5sZW5ndGg+MD8iZHJvcHpvbmUtLWhhcy1maWxlcyI6IiJ9IgogICAgICAgICAgcm9sZT0iYnV0dG9uIgogICAgICAgICAgdGFiaW5kZXg9JHt0aGlzLmRpc2FibGVkPy0xOjB9CiAgICAgICAgICBhcmlhLWRpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgIGFyaWEtbGFiZWw9JHtgU2VsZWN0IGZpbGVzJHtCP2AgKCR7Qn0pYDoiIn1gfQogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVEcm9wem9uZUNsaWNrfQogICAgICAgICAgQGtleWRvd249JHt0aGlzLmhhbmRsZURyb3B6b25lS2V5ZG93bn0KICAgICAgICA+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgY2xhc3M9ImZpbGUtaW5wdXQiCiAgICAgICAgICAgIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgdG9wOiAwOyBsZWZ0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyIKICAgICAgICAgICAgdHlwZT0iZmlsZSIKICAgICAgICAgICAgP211bHRpcGxlPSR7dGhpcy5tdWx0aXBsZX0KICAgICAgICAgICAgYWNjZXB0PSR7dGhpcy5hY2NlcHR8fCIifQogICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVGaWxlSW5wdXRDaGFuZ2V9CiAgICAgICAgICAgIHRhYmluZGV4PSItMSIKICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wem9uZV9fYm9keSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3B6b25lX19pY29uIj4KICAgICAgICAgICAgICAke3RoaXMuaXNMb2FkaW5nP01gPHNwYW4gY2xhc3M9ImRyb3B6b25lX19sb2FkZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+YDpNYDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkZvbGRlck9wZW4iPjwvZGVlcy1pY29uPmB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wem9uZV9fY29udGVudCI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3B6b25lX19oZWFkbGluZSI+JHt0aGlzLmJ1dHRvblRleHR8fCJTZWxlY3QgZmlsZXMifTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcHpvbmVfX3N1YmxpbmUiPgogICAgICAgICAgICAgICAgRHJhZyBhbmQgZHJvcCBmaWxlcyBoZXJlIG9yCiAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIKICAgICAgICAgICAgICAgICAgY2xhc3M9ImRyb3B6b25lX19icm93c2UiCiAgICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlQnJvd3NlQ2xpY2t9CiAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIGJyb3dzZQogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcHpvbmVfX21ldGEiPgogICAgICAgICAgICAke1UubWFwKEs9Pk1gPHNwYW4+JHtLfTwvc3Bhbj5gKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLnJlbmRlckZpbGVMaXN0KCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25NZXNzYWdlP01gPGRpdiBjbGFzcz0idmFsaWRhdGlvbi1tZXNzYWdlIiBhcmlhLWxpdmU9InBvbGl0ZSI+JHt0aGlzLnZhbGlkYXRpb25NZXNzYWdlfTwvZGl2PmA6TWBgfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRmlsZUxpc3QoKXtyZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGg9PT0wP01gYDpNYAogICAgICA8ZGl2IGNsYXNzPSJmaWxlLWxpc3QiPgogICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtbGlzdF9faGVhZGVyIj4KICAgICAgICAgIDxzcGFuPiR7dGhpcy52YWx1ZS5sZW5ndGh9IGZpbGUke3RoaXMudmFsdWUubGVuZ3RoPT09MT8iIjoicyJ9IHNlbGVjdGVkPC9zcGFuPgogICAgICAgICAgJHt0aGlzLnZhbHVlLmxlbmd0aD4wP01gPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJmaWxlLWxpc3RfX2NsZWFyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsZWFyQWxsfT5DbGVhciAke3RoaXMudmFsdWUubGVuZ3RoPjE/ImFsbCI6IiJ9PC9idXR0b24+YDpNYGB9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1saXN0X19pdGVtcyI+CiAgICAgICAgICAke3RoaXMudmFsdWUubWFwKEI9PnRoaXMucmVuZGVyRmlsZVJvdyhCKSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWxlUm93KEIpe2xldCBVPXRoaXMuZ2V0RmlsZVR5cGUoQiksSz10aGlzLmNhblNob3dQcmV2aWV3KEIpP3RoaXMuZ2V0UHJldmlld1VybChCKTpudWxsO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJmaWxlLXJvdyAke1V9LWZpbGUiPgogICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtdGh1bWIiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICR7Sz9NYDxpbWcgY2xhc3M9InRodW1iLWltYWdlIiBzcmM9JHtLfSBhbHQ9JHtgUHJldmlldyBvZiAke0IubmFtZX1gfT5gOk1gPGRlZXMtaWNvbiBpY29uPSR7dGhpcy5nZXRGaWxlSWNvbihCKX0+PC9kZWVzLWljb24+YH0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLW1ldGEiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1uYW1lIiB0aXRsZT0ke0IubmFtZX0+JHtCLm5hbWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWRldGFpbHMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1zaXplIj4ke3RoaXMuZm9ybWF0RmlsZVNpemUoQi5zaXplKX08L3NwYW4+CiAgICAgICAgICAgICR7VSE9PSJmaWxlIj9NYDxzcGFuIGNsYXNzPSJmaWxlLXR5cGUiPiR7VX08L3NwYW4+YDpNYGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWFjdGlvbnMiPgogICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgIGNsYXNzPSJyZW1vdmUtYnV0dG9uIgogICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVGaWxlKEIpfQogICAgICAgICAgICBhcmlhLWxhYmVsPSR7YFJlbW92ZSAke0IubmFtZX1gfQogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpYIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlRmlsZUlucHV0Q2hhbmdlPWFzeW5jIEI9Pnt0aGlzLmlzTG9hZGluZz0hMTtsZXQgVT1CLnRhcmdldCxLPUFycmF5LmZyb20oVS5maWxlcz8/W10pO0subGVuZ3RoPjAmJmF3YWl0IHRoaXMuYWRkRmlsZXMoSyksVS52YWx1ZT0iIn07aGFuZGxlRHJvcHpvbmVDbGljaz1CPT57dGhpcy5kaXNhYmxlZHx8Qi50YXJnZXQuY2xvc2VzdCgiLmRyb3B6b25lX19icm93c2UsIC5maWxlLWxpc3QiKXx8dGhpcy5vcGVuRmlsZVNlbGVjdG9yKCl9O2hhbmRsZUJyb3dzZUNsaWNrPUI9Pnt0aGlzLmRpc2FibGVkfHwoQi5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm9wZW5GaWxlU2VsZWN0b3IoKSl9O2hhbmRsZURyb3B6b25lS2V5ZG93bj1CPT57dGhpcy5kaXNhYmxlZHx8KEIua2V5PT09IkVudGVyInx8Qi5rZXk9PT0iICIpJiYoQi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMub3BlbkZpbGVTZWxlY3RvcigpKX07aGFuZGxlQ2xlYXJBbGw9Qj0+e0IucHJldmVudERlZmF1bHQoKSx0aGlzLmNsZWFyQWxsKCl9O2hhbmRsZURyYWdFdmVudD1hc3luYyBCPT57aWYoQi5wcmV2ZW50RGVmYXVsdCgpLEIuc3RvcFByb3BhZ2F0aW9uKCksIXRoaXMuZGlzYWJsZWQpe2lmKEIudHlwZT09PSJkcmFnZW50ZXIifHxCLnR5cGU9PT0iZHJhZ292ZXIiKXtCLmRhdGFUcmFuc2ZlciYmKEIuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9ImNvcHkiKSx0aGlzLnN0YXRlPSJkcmFnT3ZlciI7cmV0dXJufWlmKEIudHlwZT09PSJkcmFnbGVhdmUiKXtpZighdGhpcy5kcm9wQXJlYSl7dGhpcy5zdGF0ZT0iaWRsZSI7cmV0dXJufWxldCBVPXRoaXMuZHJvcEFyZWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2NsaWVudFg6Sz0wLGNsaWVudFk6ST0wfT1COyhLPD1VLmxlZnR8fEs+PVUucmlnaHR8fEk8PVUudG9wfHxJPj1VLmJvdHRvbSkmJih0aGlzLnN0YXRlPSJpZGxlIik7cmV0dXJufWlmKEIudHlwZT09PSJkcm9wIil7dGhpcy5zdGF0ZT0iaWRsZSI7bGV0IFU9QXJyYXkuZnJvbShCLmRhdGFUcmFuc2Zlcj8uZmlsZXM/P1tdKTtVLmxlbmd0aD4wJiZhd2FpdCB0aGlzLmFkZEZpbGVzKFUpfX19O2F0dGFjaERyb3BMaXN0ZW5lcnMoKXt0aGlzLmRyb3BBcmVhJiZbImRyYWdlbnRlciIsImRyYWdvdmVyIiwiZHJhZ2xlYXZlIiwiZHJvcCJdLmZvckVhY2goQj0+e3RoaXMuZHJvcEFyZWEuYWRkRXZlbnRMaXN0ZW5lcihCLHRoaXMuaGFuZGxlRHJhZ0V2ZW50KX0pfWRldGFjaERyb3BMaXN0ZW5lcnMoKXt0aGlzLmRyb3BBcmVhJiZbImRyYWdlbnRlciIsImRyYWdvdmVyIiwiZHJhZ2xlYXZlIiwiZHJvcCJdLmZvckVhY2goQj0+e3RoaXMuZHJvcEFyZWEucmVtb3ZlRXZlbnRMaXN0ZW5lcihCLHRoaXMuaGFuZGxlRHJhZ0V2ZW50KX0pfXJlYmluZEludGVyYWN0aXZlRWxlbWVudHMoKXtsZXQgQj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5kcm9wem9uZSIpO0IhPT10aGlzLmRyb3BBcmVhJiYodGhpcy5kZXRhY2hEcm9wTGlzdGVuZXJzKCksdGhpcy5kcm9wQXJlYT1CLHRoaXMuYXR0YWNoRHJvcExpc3RlbmVycygpKX1mb3JtYXRGaWxlU2l6ZShCKXtsZXQgVT1bIkJ5dGVzIiwiS0IiLCJNQiIsIkdCIl07aWYoQj09PTApcmV0dXJuIjAgQnl0ZXMiO2xldCBLPU1hdGgubWluKE1hdGguZmxvb3IoTWF0aC5sb2coQikvTWF0aC5sb2coMTAyNCkpLFUubGVuZ3RoLTEpLEk9Qi9NYXRoLnBvdygxMDI0LEspO3JldHVybmAke01hdGgucm91bmQoSSoxMDApLzEwMH0gJHtVW0tdfWB9Z2V0RmlsZVR5cGUoQil7bGV0IFU9Qi50eXBlLnRvTG93ZXJDYXNlKCk7cmV0dXJuIFUuc3RhcnRzV2l0aCgiaW1hZ2UvIik/ImltYWdlIjpVPT09ImFwcGxpY2F0aW9uL3BkZiI/InBkZiI6VS5pbmNsdWRlcygid29yZCIpfHxVLmluY2x1ZGVzKCJkb2N1bWVudCIpPyJkb2MiOlUuaW5jbHVkZXMoInNoZWV0Iil8fFUuaW5jbHVkZXMoImV4Y2VsIik/InNwcmVhZHNoZWV0IjpVLmluY2x1ZGVzKCJwcmVzZW50YXRpb24iKXx8VS5pbmNsdWRlcygicG93ZXJwb2ludCIpPyJwcmVzZW50YXRpb24iOlUuc3RhcnRzV2l0aCgidmlkZW8vIik/InZpZGVvIjpVLnN0YXJ0c1dpdGgoImF1ZGlvLyIpPyJhdWRpbyI6VS5pbmNsdWRlcygiemlwIil8fFUuaW5jbHVkZXMoImNvbXByZXNzZWQiKT8iYXJjaGl2ZSI6ImZpbGUifWdldEZpbGVJY29uKEIpe2xldCBVPXRoaXMuZ2V0RmlsZVR5cGUoQik7cmV0dXJue2ltYWdlOiJsdWNpZGU6RmlsZUltYWdlIixwZGY6Imx1Y2lkZTpGaWxlVGV4dCIsZG9jOiJsdWNpZGU6RmlsZVRleHQiLHNwcmVhZHNoZWV0OiJsdWNpZGU6RmlsZVNwcmVhZHNoZWV0IixwcmVzZW50YXRpb246Imx1Y2lkZTpGaWxlQmFyQ2hhcnQiLHZpZGVvOiJsdWNpZGU6RmlsZVZpZGVvIixhdWRpbzoibHVjaWRlOkZpbGVBdWRpbyIsYXJjaGl2ZToibHVjaWRlOkZpbGVBcmNoaXZlIixmaWxlOiJsdWNpZGU6RmlsZSJ9W1VdPz8ibHVjaWRlOkZpbGUifWNhblNob3dQcmV2aWV3KEIpe3JldHVybiBCLnR5cGUuc3RhcnRzV2l0aCgiaW1hZ2UvIikmJkIuc2l6ZTw1KjEwMjQqMTAyNH12YWxpZGF0ZUZpbGUoQil7aWYodGhpcy5tYXhTaXplPjAmJkIuc2l6ZT50aGlzLm1heFNpemUpcmV0dXJuIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2U9YEZpbGUgIiR7Qi5uYW1lfSIgZXhjZWVkcyB0aGUgbWF4aW11bSBzaXplIG9mICR7dGhpcy5mb3JtYXRGaWxlU2l6ZSh0aGlzLm1heFNpemUpfWAsdGhpcy52YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiLCExO2lmKHRoaXMuYWNjZXB0KXtsZXQgVT10aGlzLmFjY2VwdC5zcGxpdCgiLCIpLm1hcChLPT5LLnRyaW0oKSkuZmlsdGVyKEs9PksubGVuZ3RoPjApO2lmKFUubGVuZ3RoPjApe2xldCBLPSExO2ZvcihsZXQgSSBvZiBVKWlmKEkuc3RhcnRzV2l0aCgiLiIpKXtpZihCLm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChJLnRvTG93ZXJDYXNlKCkpKXtLPSEwO2JyZWFrfX1lbHNlIGlmKEkuZW5kc1dpdGgoIi8qIikpe2xldCB2ZT1JLnNsaWNlKDAsLTIpO2lmKEIudHlwZS5zdGFydHNXaXRoKHZlKSl7Sz0hMDticmVha319ZWxzZSBpZihCLnR5cGU9PT1JKXtLPSEwO2JyZWFrfWlmKCFLKXJldHVybiB0aGlzLnZhbGlkYXRpb25NZXNzYWdlPWBGaWxlIHR5cGUgbm90IGFjY2VwdGVkLiBBbGxvd2VkOiAke1Uuam9pbigiLCAiKX1gLHRoaXMudmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIiwhMX19cmV0dXJuITB9Z2V0UHJldmlld1VybChCKXtsZXQgVT10aGlzLnByZXZpZXdVcmxNYXAuZ2V0KEIpO3JldHVybiBVfHwoVT1VUkwuY3JlYXRlT2JqZWN0VVJMKEIpLHRoaXMucHJldmlld1VybE1hcC5zZXQoQixVKSksVX1yZWxlYXNlUHJldmlldyhCKXtsZXQgVT10aGlzLnByZXZpZXdVcmxNYXAuZ2V0KEIpO1UmJihVUkwucmV2b2tlT2JqZWN0VVJMKFUpLHRoaXMucHJldmlld1VybE1hcC5kZWxldGUoQikpfWdldEFjY2VwdGVkU3VtbWFyeSgpe2lmKCF0aGlzLmFjY2VwdClyZXR1cm4gbnVsbDtsZXQgQj1BcnJheS5mcm9tKG5ldyBTZXQodGhpcy5hY2NlcHQuc3BsaXQoIiwiKS5tYXAoVT0+VS50cmltKCkpLmZpbHRlcihVPT5VLmxlbmd0aD4wKS5tYXAoVT0+dGhpcy5mb3JtYXRBY2NlcHRUb2tlbihVKSkpKS5maWx0ZXIoQm9vbGVhbik7cmV0dXJuIEIubGVuZ3RoPT09MD9udWxsOkIubGVuZ3RoPT09MT9CWzBdOkIubGVuZ3RoPT09Mj9gJHtCWzBdfSwgJHtCWzFdfWA6YCR7Qi5zbGljZSgwLDIpLmpvaW4oIiwgIil9XHUyMDI2YH1mb3JtYXRBY2NlcHRUb2tlbihCKXtpZihCPT09IiovKiIpcmV0dXJuIkFsbCBmaWxlcyI7aWYoQi5lbmRzV2l0aCgiLyoiKSl7bGV0IEk9Qi5zcGxpdCgiLyIpWzBdO3JldHVybiBJP2Ake0kuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHtJLnNsaWNlKDEpfSBmaWxlc2A6IkFsbCBmaWxlcyJ9cmV0dXJuIEIuc3RhcnRzV2l0aCgiLiIpP0Iuc2xpY2UoMSkudG9VcHBlckNhc2UoKTpCLmluY2x1ZGVzKCJwZGYiKT8iUERGIjpCLmluY2x1ZGVzKCJ6aXAiKT8iWklQIjpCLmluY2x1ZGVzKCJqc29uIik/IkpTT04iOkIuaW5jbHVkZXMoIm1zd29yZCIpPyJET0MiOkIuaW5jbHVkZXMoIndvcmRwcm9jZXNzaW5nbWwiKT8iRE9DWCI6Qi5pbmNsdWRlcygiZXhjZWwiKT8iWExTIjpCLmluY2x1ZGVzKCJwcmVzZW50YXRpb24iKT8iUFBUIjooQi5zcGxpdCgiLyIpLnBvcCgpPz9CKS50b1VwcGVyQ2FzZSgpfWF0dGFjaExpZmVjeWNsZUxpc3RlbmVycygpe3RoaXMucmViaW5kSW50ZXJhY3RpdmVFbGVtZW50cygpfWZpcnN0VXBkYXRlZChCKXtzdXBlci5maXJzdFVwZGF0ZWQoQiksdGhpcy5hdHRhY2hMaWZlY3ljbGVMaXN0ZW5lcnMoKX11cGRhdGVkKEIpe3N1cGVyLnVwZGF0ZWQoQiksQi5oYXMoInZhbHVlIikmJnRoaXMudmFsaWRhdGUoKSx0aGlzLnJlYmluZEludGVyYWN0aXZlRWxlbWVudHMoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuZGV0YWNoRHJvcExpc3RlbmVycygpLHRoaXMudmFsdWUuZm9yRWFjaChCPT50aGlzLnJlbGVhc2VQcmV2aWV3KEIpKSx0aGlzLnByZXZpZXdVcmxNYXA9bmV3IFdlYWtNYXAsYXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKX1hc3luYyBvcGVuRmlsZVNlbGVjdG9yKCl7aWYodGhpcy5kaXNhYmxlZHx8dGhpcy5pc0xvYWRpbmcpcmV0dXJuO3RoaXMuaXNMb2FkaW5nPSEwO2xldCBCPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZpbGUtaW5wdXQiKTtpZighQil7dGhpcy5pc0xvYWRpbmc9ITE7cmV0dXJufWxldCBVPSgpPT57c2V0VGltZW91dCgoKT0+eyghQi5maWxlc3x8Qi5maWxlcy5sZW5ndGg9PT0wKSYmKHRoaXMuaXNMb2FkaW5nPSExKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpfSwzMDApfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpLEIuY2xpY2soKX1yZW1vdmVGaWxlKEIpe2xldCBVPXRoaXMudmFsdWUuaW5kZXhPZihCKTtVPi0xJiYodGhpcy5yZWxlYXNlUHJldmlldyhCKSx0aGlzLnZhbHVlLnNwbGljZShVLDEpLHRoaXMucmVxdWVzdFVwZGF0ZSgidmFsdWUiKSx0aGlzLnZhbGlkYXRlKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWNsZWFyQWxsKCl7bGV0IEI9Wy4uLnRoaXMudmFsdWVdO3RoaXMudmFsdWU9W10sQi5mb3JFYWNoKFU9PnRoaXMucmVsZWFzZVByZXZpZXcoVSkpLHRoaXMucmVxdWVzdFVwZGF0ZSgidmFsdWUiKSx0aGlzLnZhbGlkYXRlKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksdGhpcy5idXR0b25UZXh0PSJTZWxlY3QgZmlsZXMifWFzeW5jIHVwZGF0ZVZhbHVlKEIpe2xldCBVPUIudGFyZ2V0O3RoaXMudmFsdWU9QXJyYXkuZnJvbShVLmZpbGVzPz9bXSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9c2V0VmFsdWUoQil7dGhpcy52YWx1ZS5mb3JFYWNoKFU9PnRoaXMucmVsZWFzZVByZXZpZXcoVSkpLHRoaXMudmFsdWU9QixCLmxlbmd0aD4wP3RoaXMuYnV0dG9uVGV4dD10aGlzLm11bHRpcGxlPyJBZGQgbW9yZSBmaWxlcyI6IlJlcGxhY2UgZmlsZSI6dGhpcy5idXR0b25UZXh0PSJTZWxlY3QgZmlsZXMiLHRoaXMucmVxdWVzdFVwZGF0ZSgidmFsdWUiKSx0aGlzLnZhbGlkYXRlKCl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1hc3luYyBhZGRGaWxlcyhCKXtsZXQgVT1bXTtmb3IobGV0IEsgb2YgQil0aGlzLnZhbGlkYXRlRmlsZShLKSYmVS5wdXNoKEspO2lmKFUubGVuZ3RoPT09MCl7dGhpcy5pc0xvYWRpbmc9ITE7cmV0dXJufWlmKHRoaXMubWF4RmlsZXM+MCYmdGhpcy52YWx1ZS5sZW5ndGgrVS5sZW5ndGg+dGhpcy5tYXhGaWxlcyl7bGV0IEk9dGhpcy5tYXhGaWxlcy10aGlzLnZhbHVlLmxlbmd0aDtpZihJPD0wKXt0aGlzLnZhbGlkYXRpb25NZXNzYWdlPWBNYXhpbXVtICR7dGhpcy5tYXhGaWxlc30gZmlsZXMgYWxsb3dlZGAsdGhpcy52YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiLHRoaXMuaXNMb2FkaW5nPSExO3JldHVybn1VLnNwbGljZShJKSx0aGlzLnZhbGlkYXRpb25NZXNzYWdlPWBPbmx5ICR7SX0gbW9yZSBmaWxlKHMpIGNhbiBiZSBhZGRlZGAsdGhpcy52YWxpZGF0aW9uU3RhdGU9Indhcm4ifSF0aGlzLm11bHRpcGxlJiZVLmxlbmd0aD4wPyh0aGlzLnZhbHVlLmZvckVhY2goSz0+dGhpcy5yZWxlYXNlUHJldmlldyhLKSksdGhpcy52YWx1ZT1bVVswXV0pOnRoaXMudmFsdWUucHVzaCguLi5VKSx0aGlzLnZhbGlkYXRpb25NZXNzYWdlPSIiLHRoaXMudmFsaWRhdGlvblN0YXRlPW51bGwsdGhpcy5yZXF1ZXN0VXBkYXRlKCJ2YWx1ZSIpLGF3YWl0IHRoaXMudmFsaWRhdGUoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSx0aGlzLmlzTG9hZGluZz0hMSx0aGlzLnZhbHVlLmxlbmd0aD4wP3RoaXMuYnV0dG9uVGV4dD10aGlzLm11bHRpcGxlPyJBZGQgbW9yZSBmaWxlcyI6IlJlcGxhY2UgZmlsZSI6dGhpcy5idXR0b25UZXh0PSJTZWxlY3QgZmlsZXMifWFzeW5jIHZhbGlkYXRlKCl7aWYodGhpcy52YWxpZGF0aW9uTWVzc2FnZT0iIix0aGlzLnJlcXVpcmVkJiZ0aGlzLnZhbHVlLmxlbmd0aD09PTApcmV0dXJuIHRoaXMudmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIix0aGlzLnZhbGlkYXRpb25NZXNzYWdlPSJQbGVhc2Ugc2VsZWN0IGF0IGxlYXN0IG9uZSBmaWxlIiwhMTtmb3IobGV0IEIgb2YgdGhpcy52YWx1ZSlpZighdGhpcy52YWxpZGF0ZUZpbGUoQikpcmV0dXJuITE7cmV0dXJuIHRoaXMudmFsaWRhdGlvblN0YXRlPXRoaXMudmFsdWUubGVuZ3RoPjA/InZhbGlkIjpudWxsLCEwfXN0YXRpY3traShhLHIpfX07cmV0dXJuIFY9YX0pKCl9KTt2YXIgZTZlPWYoKCk9PntLZGUoKX0pO2Z1bmN0aW9uIGE2ZShlLHQpe2lmKHQ9PT12b2lkIDAmJih0PXthbGxvd1FSSUJBTjohMH0pLGU9PW51bGwpcmV0dXJuITE7dmFyIHI9bmV3IFJlZ0V4cCgiXlswLTldezJ9JCIsIiIpLGE9ZS5zbGljZSgwLDIpLGk9SHNbYV07cmV0dXJuIGk9PT12b2lkIDB8fGkuYmJhbl9yZWdleHA9PT12b2lkIDB8fGkuYmJhbl9yZWdleHA9PT1udWxsfHxpLmNoYXJzPT09dm9pZCAwPyExOmkuY2hhcnM9PT1lLmxlbmd0aCYmci50ZXN0KGUuc2xpY2UoMiw0KSkmJkZRcihlLnNsaWNlKDQpLGEpJiZyY3IoZSkmJih0LmFsbG93UVJJQkFOfHwhdGNyKGUpKX1mdW5jdGlvbiBjMm4oZSx0KXt0PT09dm9pZCAwJiYodD17YWxsb3dRUklCQU46ITB9KTt2YXIgcj17ZXJyb3JDb2RlczpbXSx2YWxpZDohMH07aWYoZSE9bnVsbCYmZSE9PSIiKXt2YXIgYT1Ic1tlLnNsaWNlKDAsMildO2lmKCFhfHwhKGEuYmJhbl9yZWdleHB8fGEuY2hhcnMpKXJldHVybiByLnZhbGlkPSExLHIuZXJyb3JDb2Rlcy5wdXNoKE5vLk5vSUJBTkNvdW50cnkpLHI7YSYmYS5jaGFycyYmYS5jaGFycyE9PWUubGVuZ3RoJiYoci52YWxpZD0hMSxyLmVycm9yQ29kZXMucHVzaChOby5Xcm9uZ0JCQU5MZW5ndGgpKSxhJiZhLmJiYW5fcmVnZXhwJiYhdDZlKGUuc2xpY2UoNCksYS5iYmFuX3JlZ2V4cCkmJihyLnZhbGlkPSExLHIuZXJyb3JDb2Rlcy5wdXNoKE5vLldyb25nQkJBTkZvcm1hdCkpLGEmJmEuYmJhbl92YWxpZGF0aW9uX2Z1bmMmJiFhLmJiYW5fdmFsaWRhdGlvbl9mdW5jKGUuc2xpY2UoNCkpJiYoci52YWxpZD0hMSxyLmVycm9yQ29kZXMucHVzaChOby5Xcm9uZ0FjY291bnRCYW5rQnJhbmNoQ2hlY2tzdW0pKTt2YXIgaT1uZXcgUmVnRXhwKCJeWzAtOV17Mn0kIiwiIik7aS50ZXN0KGUuc2xpY2UoMiw0KSl8fChyLnZhbGlkPSExLHIuZXJyb3JDb2Rlcy5wdXNoKE5vLkNoZWNrc3VtTm90TnVtYmVyKSksKHIuZXJyb3JDb2Rlcy5pbmRleE9mKE5vLldyb25nQkJBTkZvcm1hdCkhPT0tMXx8IXJjcihlKSkmJihyLnZhbGlkPSExLHIuZXJyb3JDb2Rlcy5wdXNoKE5vLldyb25nSUJBTkNoZWNrc3VtKSksIXQuYWxsb3dRUklCQU4mJnRjcihlKSYmKHIudmFsaWQ9ITEsci5lcnJvckNvZGVzLnB1c2goTm8uUVJJQkFOTm90QWxsb3dlZCkpfWVsc2Ugci52YWxpZD0hMSxyLmVycm9yQ29kZXMucHVzaChOby5Ob0lCQU5Qcm92aWRlZCk7cmV0dXJuIHJ9ZnVuY3Rpb24gRlFyKGUsdCl7aWYoZT09bnVsbHx8dD09PXZvaWQgMHx8dD09PW51bGwpcmV0dXJuITE7dmFyIHI9SHNbdF07cmV0dXJuIHI9PW51bGx8fHIuYmJhbl9yZWdleHA9PT12b2lkIDB8fHIuYmJhbl9yZWdleHA9PT1udWxsfHxyLmNoYXJzPT09dm9pZCAwfHxyLmNoYXJzPT09bnVsbD8hMTpyLmNoYXJzLTQ9PT1lLmxlbmd0aCYmdDZlKGUsci5iYmFuX3JlZ2V4cCk/ci5iYmFuX3ZhbGlkYXRpb25fZnVuYz9yLmJiYW5fdmFsaWRhdGlvbl9mdW5jKGUucmVwbGFjZSgvW1xzLl0rL2csIiIpKTohMDohMX1mdW5jdGlvbiBkMm4oZSl7aWYoZSE9bnVsbCl7dmFyIHQ9SHNbZV07aWYodCE9PXZvaWQgMClyZXR1cm4gdC5TRVBBP3QuU0VQQTohMX1yZXR1cm4hMX1mdW5jdGlvbiB0Y3IoZSl7aWYoZT09bnVsbClyZXR1cm4hMTt2YXIgdD1lLnNsaWNlKDAsMikscj1bIkxJIiwiQ0giXTtpZighci5pbmNsdWRlcyh0KSlyZXR1cm4hMTt2YXIgYT1uZXcgUmVnRXhwKCJeM1swLTFdezF9WzAtOV17M30kIiwiIik7cmV0dXJuIGEudGVzdChlLnNsaWNlKDQsOSkpfWZ1bmN0aW9uIHUybihlKXt2YXIgdD1yNmUoZS5iYmFuKXx8IiI7aWYoZS5jb3VudHJ5Q29kZT09PW51bGx8fGUuY291bnRyeUNvZGU9PT12b2lkIDApcmV0dXJuIG51bGw7dmFyIHI9SHNbZS5jb3VudHJ5Q29kZV07aWYodCE9PSIiJiZyIT09dm9pZCAwJiZyLmNoYXJzJiZyLmNoYXJzIT09bnVsbCYmci5jaGFycz09PXQubGVuZ3RoKzQmJnIuYmJhbl9yZWdleHAmJnIuYmJhbl9yZWdleHAhPT1udWxsJiZ0NmUodCxyLmJiYW5fcmVnZXhwKSl7dmFyIGE9T1FyKGUuY291bnRyeUNvZGUrIjAwIit0KTtyZXR1cm4gZS5jb3VudHJ5Q29kZSsoIjAiKyg5OC1hKSkuc2xpY2UoLTIpK3R9cmV0dXJuIG51bGx9ZnVuY3Rpb24gcDJuKGUpe3ZhciB0PXt9LHI9cjZlKGUpO2lmKHQuaWJhbj1yfHxlLHImJmE2ZShyKSl7dC5iYmFuPXIuc2xpY2UoNCksdC5jb3VudHJ5Q29kZT1yLnNsaWNlKDAsMiksdC52YWxpZD0hMDt2YXIgYT1Ic1t0LmNvdW50cnlDb2RlXTtpZihhLmFjY291bnRfaW5kZW50aWZpZXIpe3ZhciBpPWEuYWNjb3VudF9pbmRlbnRpZmllci5zcGxpdCgiLSIpLG49cGFyc2VJbnQoaVswXSkscz1wYXJzZUludChpWzFdKTt0LmFjY291bnROdW1iZXI9dC5pYmFuLnNsaWNlKG4scysxKX1pZihhLmJhbmtfaWRlbnRpZmllcil7dmFyIGk9YS5iYW5rX2lkZW50aWZpZXIuc3BsaXQoIi0iKSxuPXBhcnNlSW50KGlbMF0pLHM9cGFyc2VJbnQoaVsxXSk7dC5iYW5rSWRlbnRpZmllcj10LmJiYW4uc2xpY2UobixzKzEpfWlmKGEuYnJhbmNoX2luZGVudGlmaWVyKXt2YXIgaT1hLmJyYW5jaF9pbmRlbnRpZmllci5zcGxpdCgiLSIpLG49cGFyc2VJbnQoaVswXSkscz1wYXJzZUludChpWzFdKTt0LmJyYW5jaElkZW50aWZpZXI9dC5iYmFuLnNsaWNlKG4scysxKX19ZWxzZSB0LnZhbGlkPSExO3JldHVybiB0fWZ1bmN0aW9uIHQ2ZShlLHQpe3ZhciByPW5ldyBSZWdFeHAodCwiIik7cmV0dXJuIHIudGVzdChlKX1mdW5jdGlvbiByNmUoZSl7cmV0dXJuIHR5cGVvZiBlIT0ic3RyaW5nIj9udWxsOmUucmVwbGFjZSgvWy1cIF0vZywiIikudG9VcHBlckNhc2UoKX1mdW5jdGlvbiBpNmUoZSx0KXtpZih0eXBlb2YgZSE9InN0cmluZyIpcmV0dXJuIG51bGw7dD09bnVsbCYmKHQ9IiAiKTt2YXIgcj1yNmUoZSk7cmV0dXJuIHI9PT1udWxsP251bGw6ci5yZXBsYWNlKC8oLns0fSkoPyEkKS9nLCIkMSIrdCl9ZnVuY3Rpb24gcmNyKGUpe3ZhciB0PWUuc2xpY2UoMCwyKSxyPXBhcnNlSW50KGUuc2xpY2UoMiw0KSwxMCksYT1lLnNsaWNlKDQpLGk9YWNyKCIiLmNvbmNhdChhKS5jb25jYXQodCwiMDAiKSksbj13RihpKTtyZXR1cm4gOTgtbj09PXJ9ZnVuY3Rpb24gYWNyKGUpe3JldHVybiBlLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24odCl7dmFyIHI9dC5jaGFyQ29kZUF0KDApO3JldHVybiByPj02NT8oci01NSkudG9TdHJpbmcoKTp0fSkuam9pbigiIil9ZnVuY3Rpb24gT1FyKGUpe3JldHVybiB3RihhY3IoZS5zbGljZSg0KStlLnNsaWNlKDAsNCkpKX1mdW5jdGlvbiBmMm4oKXt2YXIgZT17fTtmb3IodmFyIHQgaW4gSHMpe3ZhciByPUhzW3RdO2VbdF09e2NoYXJzOnIuY2hhcnN8fG51bGwsYmJhbl9yZWdleHA6ci5iYmFuX3JlZ2V4cHx8bnVsbCxJQkFOUmVnaXN0cnk6ci5JQkFOUmVnaXN0cnl8fCExLFNFUEE6ci5TRVBBfHwhMX19cmV0dXJuIGV9ZnVuY3Rpb24gUlFyKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PW5ldyBSZWdFeHAoIl5bYS16QS1aXXs2fVthLXpBLVowLTldezJ9KFthLXpBLVowLTldezN9KT8kIiwiIikscj1Ic1tlLnRvVXBwZXJDYXNlKCkuc2xpY2UoNCw2KV07cmV0dXJuIHQudGVzdChlKSYmciE9PXZvaWQgMH1mdW5jdGlvbiBoMm4oZSl7dmFyIHQ9e2Vycm9yQ29kZXM6W10sdmFsaWQ6ITB9O2lmKGUhPW51bGwmJmUhPT0iIil7dmFyIHI9SHNbZS50b1VwcGVyQ2FzZSgpLnNsaWNlKDQsNildO2lmKHI9PT12b2lkIDApdC52YWxpZD0hMSx0LmVycm9yQ29kZXMucHVzaChOYi5Ob0JJQ0NvdW50cnkpO2Vsc2V7dmFyIGE9bmV3IFJlZ0V4cCgiXlthLXpBLVpdezZ9W2EtekEtWjAtOV17Mn0oW2EtekEtWjAtOV17M30pPyQiLCIiKTthLnRlc3QoZSl8fCh0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKE5iLldyb25nQklDRm9ybWF0KSl9fWVsc2UgdC52YWxpZD0hMSx0LmVycm9yQ29kZXMucHVzaChOYi5Ob0JJQ1Byb3ZpZGVkKTtyZXR1cm4gdH1mdW5jdGlvbiBtMm4oZSl7dmFyIHQ9e30scj1lLnRvVXBwZXJDYXNlKCk7cmV0dXJuIFJRcihyKT8odC5iYW5rQ29kZT1yLnNsaWNlKDAsNCksdC5jb3VudHJ5Q29kZT1yLnNsaWNlKDQsNiksdC5sb2NhdGlvbkNvZGU9ci5zbGljZSg2LDgpLHQudGVzdEJJQz10LmxvY2F0aW9uQ29kZVsxXT09PSIwIix0LmJyYW5jaENvZGU9ci5sZW5ndGg+OD9yLnNsaWNlKDgpOm51bGwsdC52YWxpZD0hMCk6dC52YWxpZD0hMSx0fXZhciBObyxOYixCUXIsSFFyLHdGLHpmLHFRcixqUXIsaWNyLFZRcixuY3IsVVFyLHNjcixXUXIsZzJuLEhzLG9jcj1mKCgpPT57InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlKXtlW2UuTm9JQkFOUHJvdmlkZWQ9MF09Ik5vSUJBTlByb3ZpZGVkIixlW2UuTm9JQkFOQ291bnRyeT0xXT0iTm9JQkFOQ291bnRyeSIsZVtlLldyb25nQkJBTkxlbmd0aD0yXT0iV3JvbmdCQkFOTGVuZ3RoIixlW2UuV3JvbmdCQkFORm9ybWF0PTNdPSJXcm9uZ0JCQU5Gb3JtYXQiLGVbZS5DaGVja3N1bU5vdE51bWJlcj00XT0iQ2hlY2tzdW1Ob3ROdW1iZXIiLGVbZS5Xcm9uZ0lCQU5DaGVja3N1bT01XT0iV3JvbmdJQkFOQ2hlY2tzdW0iLGVbZS5Xcm9uZ0FjY291bnRCYW5rQnJhbmNoQ2hlY2tzdW09Nl09Ildyb25nQWNjb3VudEJhbmtCcmFuY2hDaGVja3N1bSIsZVtlLlFSSUJBTk5vdEFsbG93ZWQ9N109IlFSSUJBTk5vdEFsbG93ZWQifSkoTm98fChObz17fSkpOyhmdW5jdGlvbihlKXtlW2UuTm9CSUNQcm92aWRlZD0wXT0iTm9CSUNQcm92aWRlZCIsZVtlLk5vQklDQ291bnRyeT0xXT0iTm9CSUNDb3VudHJ5IixlW2UuV3JvbmdCSUNGb3JtYXQ9Ml09Ildyb25nQklDRm9ybWF0In0pKE5ifHwoTmI9e30pKTtCUXI9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVs1LDQsMywyLDcsNiw1LDQsMywyXSxyPWUucmVwbGFjZSgvW1xzLl0rL2csIiIpLGE9cGFyc2VJbnQoci5jaGFyQXQoMTApLDEwKSxpPXIuc3Vic3RyaW5nKDAsMTApLG49MCxzPTA7czwxMDtzKyspbis9cGFyc2VJbnQoaS5jaGFyQXQocyksMTApKnRbc107dmFyIG89biUxMTtyZXR1cm4gYT09PShvPT09MD8wOjExLW8pfSxIUXI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKC9bXHMuXSsvZywiIikscj1wYXJzZUludCh0LnN1YnN0cmluZygwLHQubGVuZ3RoLTIpLDEwKSxhPXBhcnNlSW50KHQuc3Vic3RyaW5nKHQubGVuZ3RoLTIsdC5sZW5ndGgpLDEwKSxpPXIlOTc9PT0wPzk3OnIlOTc7cmV0dXJuIGk9PT1hfSx3Rj1mdW5jdGlvbihlKXtmb3IoO2UubGVuZ3RoPjI7KXt2YXIgdD1lLnNsaWNlKDAsNikscj1wYXJzZUludCh0LDEwKTtpZihpc05hTihyKSlyZXR1cm4gTmFOO2U9ciU5NytlLnNsaWNlKHQubGVuZ3RoKX1yZXR1cm4gcGFyc2VJbnQoZSwxMCklOTd9LHpmPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSgvW1xzLl0rL2csIiIpLHI9d0YodCk7cmV0dXJuIHI9PT0xfSxxUXI9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVszLDksNywxLDMsOSw3XSxyPXBhcnNlSW50KGUuY2hhckF0KDcpLDEwKSxhPWUuc3Vic3RyaW5nKDAsNyksaT0wLG49MDtuPDc7bisrKWkrPXBhcnNlSW50KGEuY2hhckF0KG4pLDEwKSp0W25dO3ZhciBzPWklMTA7cmV0dXJuIHI9PT0ocz09PTA/MDoxMC1zKX0salFyPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bNCw4LDUsMTAsOSw3LDMsNl0scj1bMSwyLDQsOCw1LDEwLDksNywzLDZdLGE9cGFyc2VJbnQoZS5jaGFyQXQoOCksMTApLGk9cGFyc2VJbnQoZS5jaGFyQXQoOSksMTApLG49ZS5zdWJzdHJpbmcoMCw4KSxzPWUuc3Vic3RyaW5nKDEwLDIwKSxvPTAsYz0wO2M8ODtjKyspbys9cGFyc2VJbnQobi5jaGFyQXQoYyksMTApKnRbY107dmFyIGw9byUxMTtpZihhIT09KGw9PT0wPzA6bD09PTE/MToxMS1sKSlyZXR1cm4hMTtvPTA7Zm9yKHZhciBjPTA7YzwxMDtjKyspbys9cGFyc2VJbnQocy5jaGFyQXQoYyksMTApKnJbY107cmV0dXJuIGw9byUxMSxpPT09KGw9PT0wPzA6bD09PTE/MToxMS1sKX0saWNyPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPTEwLGE9MDthPGUubGVuZ3RoO2ErKylyKz1wYXJzZUludChlLmNoYXJBdChhKSwxMCksciUxMCE9PTAmJihyPXIlMTApLHI9cioyLHI9ciUxMTtyZXR1cm4gdD09PSgxMS1yPT09MTA/MDoxMS1yKX0sVlFyPWZ1bmN0aW9uKGUpe3ZhciB0PXBhcnNlSW50KGUuY2hhckF0KDYpLDEwKSxyPXBhcnNlSW50KGUuY2hhckF0KDE2KSwxMCksYT1lLnN1YnN0cmluZygwLDYpLGk9ZS5zdWJzdHJpbmcoNywxNik7cmV0dXJuIGljcihhLHQpJiZpY3IoaSxyKX0sbmNyPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bMTAsNSw4LDQsMiwxXSxyPVs2LDMsNyw5LDEwLDUsOCw0LDIsMV0sYT1wYXJzZUludChlLmNoYXJBdCg5KSwxMCksaT1wYXJzZUludChlLmNoYXJBdCgxOSksMTApLG49ZS5zdWJzdHJpbmcoNCw5KSxzPWUuc3Vic3RyaW5nKDEwLDE5KSxvPTAsYz0wO2M8bi5sZW5ndGg7YysrKW8rPXBhcnNlSW50KG4uY2hhckF0KGMpLDEwKSp0W2NdO3ZhciBsPW8lMTE7aWYoYSE9PShsPT09MD8wOmw9PT0xPzE6MTEtbCkpcmV0dXJuITE7bz0wO2Zvcih2YXIgYz0wO2M8cy5sZW5ndGg7YysrKW8rPXBhcnNlSW50KHMuY2hhckF0KGMpLDEwKSpyW2NdO3JldHVybiBsPW8lMTEsaT09PShsPT09MD8wOmw9PT0xPzE6MTEtbCl9LFVRcj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9WzcsMSwzLDcsMSwzLDcsMSwzLDcsMSwzLDddLHI9cGFyc2VJbnQoZS5jaGFyQXQoMTUpLDEwKSxhPWUuc3Vic3RyaW5nKDIsMTUpLGk9MCxuPTA7bjxhLmxlbmd0aDtuKyspaSs9cGFyc2VJbnQoYS5jaGFyQXQobiksMTApKnRbbl07dmFyIHM9aSUxMDtyZXR1cm4gcj09PShzPT09MD8wOjEwLXMpfSxzY3I9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUucmVwbGFjZSgvW1xzLl0rL2csIiIpLHI9QXJyYXkuZnJvbSh0KSxhPTA7YTx0Lmxlbmd0aDthKyspe3ZhciBpPXJbYV0uY2hhckNvZGVBdCgwKTtpZihpPj02NSlzd2l0Y2goaSl7Y2FzZSA2NTpjYXNlIDc0OnJbYV09IjEiO2JyZWFrO2Nhc2UgNjY6Y2FzZSA3NTpjYXNlIDgzOnJbYV09IjIiO2JyZWFrO2Nhc2UgNjc6Y2FzZSA3NjpjYXNlIDg0OnJbYV09IjMiO2JyZWFrO2Nhc2UgNjg6Y2FzZSA3NzpjYXNlIDg1OnJbYV09IjQiO2JyZWFrO2Nhc2UgNjk6Y2FzZSA3ODpjYXNlIDg2OnJbYV09IjUiO2JyZWFrO2Nhc2UgNzA6Y2FzZSA3OTpjYXNlIDg3OnJbYV09IjYiO2JyZWFrO2Nhc2UgNzE6Y2FzZSA4MDpjYXNlIDg4OnJbYV09IjciO2JyZWFrO2Nhc2UgNzI6Y2FzZSA4MTpjYXNlIDg5OnJbYV09IjgiO2JyZWFrO2Nhc2UgNzM6Y2FzZSA4MjpjYXNlIDkwOnJbYV09IjkiO2JyZWFrfX12YXIgbj13RihyLmpvaW4oIiIpKTtyZXR1cm4gbj09PTB9LFdRcj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9WzksNywzLDEsOSw3LDMsMSw5LDcsMywxLDksNywzXSxyPXBhcnNlSW50KGUuY2hhckF0KDcpLDEwKSxhPWUuc3Vic3RyaW5nKDAsNyksaT0wLG49MDtuPGEubGVuZ3RoO24rKylpKz1wYXJzZUludChhLmNoYXJBdChuKSwxMCkqdFtuXTt2YXIgcz1pJTEwO2lmKHIhPT0ocz09PTA/MDoxMC1zKSlyZXR1cm4hMTtpZihpPTAsZS5lbmRzV2l0aCgiMDAwMDAwMDAiKSl7Zm9yKHZhciBvPWUuc3Vic3RyaW5nKDgsMTUpLGM9cGFyc2VJbnQoZS5jaGFyQXQoMTUpLDEwKSxuPTA7bjxvLmxlbmd0aDtuKyspaSs9cGFyc2VJbnQoby5jaGFyQXQobiksMTApKnRbbl07dmFyIGw9aSUxMDtyZXR1cm4gYz09PShsPT09MD8wOjEwLWwpfWVsc2V7Zm9yKHZhciBvPWUuc3Vic3RyaW5nKDgsMjMpLGM9cGFyc2VJbnQoZS5jaGFyQXQoMjMpLDEwKSxuPTA7bjxvLmxlbmd0aDtuKyspaSs9cGFyc2VJbnQoby5jaGFyQXQobiksMTApKnRbbl07dmFyIHU9aSUxMDtyZXR1cm4gYz09PSh1PT09MD8wOjEwLXUpfX0sZzJuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR5cGVvZiBIc1tlXT4idSI/ITE6KEhzW2VdLmJiYW5fdmFsaWRhdGlvbl9mdW5jPXQsITApfSxIcz17QUQ6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17OH1bQS1aMC05XXsxMn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNyIsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjQifSxBRTp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bMC05XXszfVswLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiNy0yMyJ9LEFGOnt9LEFHOnt9LEFJOnt9LEFMOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXlswLTldezh9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy03IixiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTItMjgifSxBTTp7fSxBTzp7Y2hhcnM6MjUsYmJhbl9yZWdleHA6Il5bMC05XXsyMX0kIn0sQVE6e30sQVI6e30sQVM6e30sQVQ6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxBVTp7fSxBVzp7fSxBWDp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITB9LEFaOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9W0EtWjAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTI4In0sQkE6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6emYsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy01IixiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LEJCOnt9LEJEOnt9LEJFOntjaGFyczoxNixiYmFuX3JlZ2V4cDoiXlswLTldezEyfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOkhRcixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMC0xNiJ9LEJGOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezJ9WzAtOV17MjJ9JCJ9LEJHOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17Nn1bQS1aMC05XXs4fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03IixiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LEJIOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVpdezR9W0EtWjAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTIyIn0sQkk6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCIsYnJhbmNoX2luZGVudGlmaWVyOiI1LTkiLGJhbmtfaWRlbnRpZmllcjoiMC00IixhY2NvdW50X2luZGVudGlmaWVyOiIxNC0yNyJ9LEJKOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezJ9WzAtOV17MjJ9JCJ9LEJMOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCJ9LEJNOnt9LEJOOnt9LEJPOnt9LEJROnt9LEJSOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXlswLTldezIzfVtBLVpdezF9W0EtWjAtOV17MX0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI4LTEyIixiYW5rX2lkZW50aWZpZXI6IjAtNyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTctMjkifSxCUzp7fSxCVDp7fSxCVjp7fSxCVzp7fSxCWTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezR9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sQlo6e30sQ0E6e30sQ0M6e30sQ0Q6e30sQ0Y6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LENHOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQifSxDSDp7Y2hhcnM6MjEsYmJhbl9yZWdleHA6Il5bMC05XXs1fVtBLVowLTldezEyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC00In0sQ0k6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17MX1bMC05XXsyM30kIn0sQ0s6e30sQ0w6e30sQ006e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LENOOnt9LENPOnt9LENSOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXlswLTldezE4fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yMiJ9LENVOnt9LENWOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQifSxDVzp7fSxDWDp7fSxDWTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bMC05XXs4fVtBLVowLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy03IixiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTItMjgifSxDWjp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bMC05XXsyMH0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpuY3IsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxERTp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTMtMjIifSxESjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIixicmFuY2hfaW5kZW50aWZpZXI6IjUtOSIsYmFua19pZGVudGlmaWVyOiIwLTQiLGFjY291bnRfaW5kZW50aWZpZXI6IjE0LTI3In0sREs6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMTgifSxETTp7fSxETzp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yOCJ9LERaOntjaGFyczoyNixiYmFuX3JlZ2V4cDoiXlswLTldezIyfSQifSxFQzp7fSxFRTp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpVUXIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjAifSxFRzp7Y2hhcnM6MjksYmJhbl9yZWdleHA6Il5bMC05XXsyNX0iLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNyIsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE3LTI5In0sRUg6e30sRVI6e30sRVM6e2NoYXJzOjI0LGJiYW5fdmFsaWRhdGlvbl9mdW5jOmpRcixiYmFuX3JlZ2V4cDoiXlswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjQifSxFVDp7fSxGSTp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMC0wIn0sRko6e30sRks6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeW0EtWl17Mn1bMC05XXsxMn0kIixiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiNi0xOCJ9LEZNOnt9LEZPOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0xOCJ9LEZSOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6c2NyLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC00IixicmFuY2hfaW5kZW50aWZpZXI6IjUtOSIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjQifSxHQTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sR0I6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtOSIsYmFua19pZGVudGlmaWVyOiIwLTMifSxHRDp7fSxHRTp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bQS1aMC05XXsyfVswLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiNi0yMiJ9LEdGOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxHRzp7fSxHSDp7fSxHSTp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezE1fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTIzIn0sR0w6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTE4In0sR006e30sR046e30sR1A6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LEdROntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQifSxHUjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXs3fVtBLVowLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy02IixiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiNy0yNyJ9LEdTOnt9LEdUOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezI0fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yOCJ9LEdVOnt9LEdXOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MTl9JCJ9LEdZOnt9LEhLOnt9LEhNOnt9LEhOOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCJ9LEhSOntjaGFyczoyMSxiYmFuX3JlZ2V4cDoiXlswLTldezE3fSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOlZRcixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNiJ9LEhUOnt9LEhVOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXlswLTldezI0fSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOldRcixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjMtNiIsYmFua19pZGVudGlmaWVyOiIwLTIifSxJRDp7fSxJRTp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bQS1aMC05XXs0fVswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC05IixiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LElMOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezE5fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjMtNSIsYmFua19pZGVudGlmaWVyOiIwLTIifSxJTTp7fSxJTjp7fSxJTzp7fSxJUTp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezE1fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNiIsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjExLTIzIn0sSVI6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17MjJ9JCJ9LElTOntjaGFyczoyNixiYmFuX3JlZ2V4cDoiXlswLTldezIyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMi0zIixiYW5rX2lkZW50aWZpZXI6IjAtMSJ9LElUOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXltBLVpdezF9WzAtOV17MTB9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI2LTEwIixiYW5rX2lkZW50aWZpZXI6IjEtNSIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0yNyJ9LEpFOnt9LEpNOnt9LEpPOntjaGFyczozMCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17NH1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiNC03In0sSlA6e30sS0U6e30sS0c6e30sS0g6e30sS0k6e30sS006e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LEtOOnt9LEtQOnt9LEtSOnt9LEtXOntjaGFyczozMCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9W0EtWjAtOV17MjJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIyMC0zMCJ9LEtZOnt9LEtaOntjaGFyczoyMCxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTN9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTIwIn0sTEE6e30sTEI6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17NH1bQS1aMC05XXsyMH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE0LTI4In0sTEM6e2NoYXJzOjMyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyNH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMzIifSxMSTp7Y2hhcnM6MjEsYmJhbl9yZWdleHA6Il5bMC05XXs1fVtBLVowLTldezEyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC00In0sTEs6e30sTFI6e30sTFM6e30sTFQ6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxMVTp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXszfVtBLVowLTldezEzfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sTFY6e2NoYXJzOjIxLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsxM30kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMC0yMSJ9LExZOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjMtNSIsYmFua19pZGVudGlmaWVyOiIwLTIiLGFjY291bnRfaW5kZW50aWZpZXI6IjEwLTI1In0sTUE6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17MjR9JCJ9LE1DOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6c2NyLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixiYW5rX2lkZW50aWZpZXI6IjAtNCJ9LE1EOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezJ9W0EtWjAtOV17MTh9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTI0In0sTUU6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6emYsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTIyIn0sTUY6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LE1HOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQifSxNSDp7fSxNSzp7Y2hhcnM6MTksYmJhbl9yZWdleHA6Il5bMC05XXszfVtBLVowLTldezEwfVswLTldezJ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6emYsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sTUw6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bMC05XXsyMn0kIn0sTU06e30sTU46e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTIwIn0sTU86e30sTVA6e30sTVE6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LE1SOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjUtOSIsYmFua19pZGVudGlmaWVyOiIwLTQiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjcifSxNUzp7fSxNVDp7Y2hhcnM6MzEsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezV9W0EtWjAtOV17MTh9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTgiLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIxNS0zMSJ9LE1VOntjaGFyczozMCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MTl9W0EtWl17M30kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI2LTciLGJhbmtfaWRlbnRpZmllcjoiMC01IixhY2NvdW50X2luZGVudGlmaWVyOiIwLTMwIn0sTVY6e30sTVc6e30sTVg6e30sTVk6e30sTVo6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCJ9LE5BOnt9LE5DOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxORTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXsyfVswLTldezIyfSQifSxORjp7fSxORzp7fSxOSTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezIwfSQiLGJhbmtfaWRlbnRpZmllcjoiMC0zIixJQkFOUmVnaXN0cnk6ITAsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yOCJ9LE5MOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MTB9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMTgifSxOTzp7Y2hhcnM6MTUsYmJhbl9yZWdleHA6Il5bMC05XXsxMX0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpCUXIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMTUifSxOUDp7fSxOUjp7fSxOVTp7fSxOWjp7fSxPTTp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bMC05XXszfVtBLVowLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiExLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sUEE6e30sUEU6e30sUEY6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LFBHOnt9LFBIOnt9LFBLOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezR9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sUEw6e2NoYXJzOjI4LGJiYW5fdmFsaWRhdGlvbl9mdW5jOnFRcixiYmFuX3JlZ2V4cDoiXlswLTldezI0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMC03IixhY2NvdW50X2luZGVudGlmaWVyOiIyLTI4In0sUE06e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LFBOOnt9LFBSOnt9LFBTOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXltBLVowLTldezR9WzAtOV17MjF9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIxNy0yOSJ9LFBUOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOnpmLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sUFc6e30sUFk6e30sUUE6e2NoYXJzOjI5LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyMX0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjkifSxSRTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sUk86e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMC0yNCJ9LFJTOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXlswLTldezE4fSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOnpmLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LFJVOntjaGFyczozMyxiYmFuX3JlZ2V4cDoiXlswLTldezE0fVtBLVowLTldezE1fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjktMTMiLGJhbmtfaWRlbnRpZmllcjoiMC04IixhY2NvdW50X2luZGVudGlmaWVyOiIxMy0zMyJ9LFJXOnt9LFNBOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezJ9W0EtWjAtOV17MTh9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yNCJ9LFNCOnt9LFNDOntjaGFyczozMSxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9W0EtWl17M30kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI2LTciLGJhbmtfaWRlbnRpZmllcjoiMC01IixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yOCJ9LFNEOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiNi0xOCJ9LFNFOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sU0c6e30sU0g6e30sU0k6e2NoYXJzOjE5LGJiYW5fcmVnZXhwOiJeWzAtOV17MTV9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6emYsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIyLTQiLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI5LTE2In0sU0o6e30sU0s6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6bmNyLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwfSxTTDp7fSxTTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bQS1aXXsxfVswLTldezEwfVtBLVowLTldezEyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNi0xMCJ9LFNOOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MjJ9JCJ9LFNPOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezE5fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTEtMjMifSxTUjp7fSxTUzp7fSxTVDp7Y2hhcnM6MjUsYmJhbl9yZWdleHA6Il5bMC05XXsyMX0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTcifSxTVjp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sU1g6e30sU1k6e30sU1o6e30sVEM6e30sVEQ6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LFRGOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxURzp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXsyfVswLTldezIyfSQifSxUSDp7fSxUSjp7fSxUSzp7fSxUTDp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bMC05XXsxOX0kIixJQkFOUmVnaXN0cnk6ITAsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0yMyJ9LFRNOnt9LFROOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjItNCIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0yNCJ9LFRPOnt9LFRSOntjaGFyczoyNixiYmFuX3JlZ2V4cDoiXlswLTldezV9W0EtWjAtOV17MTd9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxUVDp7fSxUVjp7fSxUVzp7fSxUWjp7fSxVQTp7Y2hhcnM6MjksYmJhbl9yZWdleHA6Il5bMC05XXs2fVtBLVowLTldezE5fSQiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiIxNS0yOSJ9LFVHOnt9LFVNOnt9LFVTOnt9LFVZOnt9LFVaOnt9LFZBOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXlswLTldezE4fSIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYWNjb3VudF9pbmRlbnRpZmllcjoiNy0yMiJ9LFZDOnt9LFZFOnt9LFZHOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezR9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjQifSxWSTp7fSxWTjp7fSxWVTp7fSxXRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sV1M6e30sWEs6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMi0zIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTIwIn0sWUU6e30sWVQ6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LFpBOnt9LFpNOnt9LFpXOnt9fX0pO3ZhciBsY3IsY2NyPWYoKCk9Pnt1ZSgpO2xjcj0oKT0+TWAKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtKYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaW5wdXQtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAucGF5bWVudC1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBJQkFOIElucHV0In0gLnN1YnRpdGxlPSR7IkludGVybmF0aW9uYWwgQmFuayBBY2NvdW50IE51bWJlciB3aXRoIGF1dG9tYXRpYyBmb3JtYXR0aW5nIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbgogICAgICAgICAgICAubGFiZWw9JHsiQmFuayBBY2NvdW50IElCQU4ifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiRW50ZXIgeW91ciBJbnRlcm5hdGlvbmFsIEJhbmsgQWNjb3VudCBOdW1iZXIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgoKICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4KICAgICAgICAgICAgLmxhYmVsPSR7IlZlcmlmaWVkIElCQU4ifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhpcyBJQkFOIGhhcyBiZWVuIHZlcmlmaWVkIn0KICAgICAgICAgICAgLnZhbHVlPSR7IkRFODkzNzA0MDA0NDA1MzIwMTMwMDAifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiUGF5bWVudCBJbmZvcm1hdGlvbiJ9IC5zdWJ0aXRsZT0keyJJQkFOIGlucHV0IHdpdGggaG9yaXpvbnRhbCBsYXlvdXQgZm9yIHBheW1lbnQgZm9ybXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXltZW50LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgCiAgICAgICAgICAgIC5sYWJlbD0keyJBY2NvdW50IEhvbGRlciJ9IAogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLnZhbHVlPSR7IkpvaG4gRG9lIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbiAKICAgICAgICAgICAgLmxhYmVsPSR7IklCQU4ifSAKICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJHQjgyV0VTVDEyMzQ1Njk4NzY1NDMyIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlZhbGlkYXRpb24gJiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiUmVxdWlyZWQgZmllbGRzIGFuZCBkaXNhYmxlZCBzdGF0ZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuCiAgICAgICAgICAgIC5sYWJlbD0keyJQYXltZW50IEFjY291bnQifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiUmVxdWlyZWQgZm9yIHByb2Nlc3NpbmcgcGF5bWVudHMifQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuCiAgICAgICAgICAgIC5sYWJlbD0keyJMb2NrZWQgSUJBTiJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUaGlzIElCQU4gY2Fubm90IGJlIGNoYW5nZWQifQogICAgICAgICAgICAudmFsdWU9JHsiRlIxNDIwMDQxMDEwMDUwNTAwMDEzTTAyNjA2In0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWliYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYW5rIFRyYW5zZmVyIEZvcm0ifSAuc3VidGl0bGU9JHsiQ29tcGxldGUgZm9ybSBleGFtcGxlIHdpdGggSUJBTiB2YWxpZGF0aW9uIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IlJlY2lwaWVudCBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbiAubGFiZWw9JHsiUmVjaXBpZW50IElCQU4ifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LWliYW4+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJUcmFuc2ZlciBSZWZlcmVuY2UifSAuZGVzY3JpcHRpb249JHsiT3B0aW9uYWwgcmVmZXJlbmNlIGZvciB0aGUgdHJhbnNmZXIifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkFtb3VudCJ9IC5pbnB1dFR5cGU9JHsibnVtYmVyIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmB9KTt2YXIgTUYsZXUsa0YsbjZlPWYoKCk9Pnt1ZSgpO0p0KCk7U2EoKTtvY3IoKTtjY3IoKTtRZSgpO01GPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sZXU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGtGPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1pbnB1dC1pYmFuIildLHQscj1bXSxhLGk9bnQsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W107dmFyIHY9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W3NlKCldLGM9W3NlKCldLGQ9W0Yoe3R5cGU6U3RyaW5nfSldLE1GKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW50ZXJlZFN0cmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+ImVudGVyZWRTdHJpbmciaW4gZyxnZXQ6Zz0+Zy5lbnRlcmVkU3RyaW5nLHNldDooZyx5KT0+e2cuZW50ZXJlZFN0cmluZz15fX0sbWV0YWRhdGE6Yn0scyxvKSxNRih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVudGVyZWRJYmFuSXNWYWxpZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+ImVudGVyZWRJYmFuSXNWYWxpZCJpbiBnLGdldDpnPT5nLmVudGVyZWRJYmFuSXNWYWxpZCxzZXQ6KGcseSk9PntnLmVudGVyZWRJYmFuSXNWYWxpZD15fX0sbWV0YWRhdGE6Yn0sbCx1KSxNRih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4idmFsdWUiaW4gZyxnZXQ6Zz0+Zy52YWx1ZSxzZXQ6KGcseSk9PntnLnZhbHVlPXl9fSxtZXRhZGF0YTpifSxoLG0pLE1GKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsciksdj1hPXQudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89bGNyO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1ldSh0aGlzLHMsIiIpO2dldCBlbnRlcmVkU3RyaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGVudGVyZWRTdHJpbmcoYil7dGhpcy4jZT1ifSN0PShldSh0aGlzLG8pLGV1KHRoaXMsbCwhMSkpO2dldCBlbnRlcmVkSWJhbklzVmFsaWQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZW50ZXJlZEliYW5Jc1ZhbGlkKGIpe3RoaXMuI3Q9Yn0jcj0oZXUodGhpcyx1KSxldSh0aGlzLGgsIiIpKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmFsdWUoYil7dGhpcy4jcj1ifXN0YXRpYyBzdHlsZXM9W0RlLC4uLm50LmJhc2VTdHlsZXMscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIC8qIElCQU4gaW5wdXQgc3BlY2lmaWMgc3R5bGVzIGNhbiBnbyBoZXJlICovCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbHx8IklCQU4ifSAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgLnZhbHVlPSR7dGhpcy52YWx1ZX0KICAgICAgICAgIC5kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkRFODkgMzcwNCAwMDQ0IDA1MzIgMDEzMCAwMCJ9CiAgICAgICAgICBAaW5wdXQ9JHtiPT57dGhpcy52YWxpZGF0ZUliYW4oYil9fQogICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgPC9kaXY+CiAgICBgfWZpcnN0VXBkYXRlZChiKXtzdXBlci5maXJzdFVwZGF0ZWQoYik7bGV0IGc9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtdGV4dCIpO2cmJmcuY2hhbmdlU3ViamVjdCYmZy5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZSgoKT0+e3RoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSl9YXN5bmMgdmFsaWRhdGVJYmFuKGIpe2xldCBnPWIudGFyZ2V0LHk9Zz8udmFsdWU7eT15fHwiIix0aGlzLmVudGVyZWRTdHJpbmchPT15JiYodGhpcy5lbnRlcmVkU3RyaW5nPWk2ZSh5KXx8IiIsZyYmKGcudmFsdWU9dGhpcy5lbnRlcmVkU3RyaW5nLHRoaXMudmFsdWU9dGhpcy5lbnRlcmVkU3RyaW5nLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKSksdGhpcy5lbnRlcmVkSWJhbklzVmFsaWQ9YTZlKHRoaXMuZW50ZXJlZFN0cmluZy5yZXBsYWNlKC8gL2csIiIpKTtsZXQgdz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC10ZXh0Iik7dy52YWxpZGF0aW9uVGV4dD1gSUJBTiBpcyB2YWxpZDogJHt0aGlzLmVudGVyZWRJYmFuSXNWYWxpZH1gfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoYil7dGhpcy52YWx1ZT1iLHRoaXMuZW50ZXJlZFN0cmluZz1pNmUoYil8fCIifWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxldSh0aGlzLG0pfXN0YXRpY3tldShhLHIpfX07cmV0dXJuIHY9YX0pKCl9KTt2YXIgZGNyLHVjcj1mKCgpPT57dWUoKTtkY3I9KCk9Pk1gCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7SmAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDMycHg7CiAgICAgICAgICBwYWRkaW5nOiA0OHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZWN0aW9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZXR0aW5ncy1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgLnNldHRpbmdzLWdyaWQgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk11bHRpLU9wdGlvbiBUb2dnbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TZWxlY3QgZnJvbSBtdWx0aXBsZSBvcHRpb25zIHdpdGggYSBzbW9vdGggc2xpZGluZyBpbmRpY2F0b3IgYW5pbWF0aW9uLjwvZGl2PgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAubGFiZWw9JHsiRGlzcGxheSBNb2RlIn0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJDaG9vc2UgaG93IGNvbnRlbnQgaXMgZGlzcGxheWVkIn0KICAgICAgICAgIC5vcHRpb25zPSR7WyJMaXN0IFZpZXciLCJHcmlkIFZpZXciLCJDb21wYWN0Il19CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiR3JpZCBWaWV3In0KICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIAogICAgICAgIDxicj48YnI+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgIC5sYWJlbD0keyJULVNoaXJ0IFNpemUifQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlNlbGVjdCB5b3VyIHByZWZlcnJlZCBzaXplIn0KICAgICAgICAgIC5vcHRpb25zPSR7WyJYUyIsIlMiLCJNIiwiTCIsIlhMIiwiWFhMIl19CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiTSJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Cb29sZWFuIFRvZ2dsZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlNpbXBsZSBvbi9vZmYgc3dpdGNoZXMgd2l0aCBjdXN0b21pemFibGUgbGFiZWxzIGZvciBjbGVhcmVyIGNvbnRleHQuPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgIC5sYWJlbD0keyJOb3RpZmljYXRpb25zIn0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJFbmFibGUgb3IgZGlzYWJsZSBwdXNoIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsidHJ1ZSJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAKICAgICAgICA8YnI+PGJyPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAubGFiZWw9JHsiVGhlbWUgTW9kZSJ9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiU3dpdGNoIGJldHdlZW4gbGlnaHQgYW5kIGRhcmsgdGhlbWUifQogICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAuYm9vbGVhblRydWVOYW1lPSR7IkRhcmsifQogICAgICAgICAgLmJvb2xlYW5GYWxzZU5hbWU9JHsiTGlnaHQifQogICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkRhcmsifQogICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U2V0dGluZ3MgR3JpZDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkNvbmZpZ3VyYXRpb24gb3B0aW9ucyBhcnJhbmdlZCBpbiBhIHJlc3BvbnNpdmUgZ3JpZCBsYXlvdXQuPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiQXV0by1TYXZlIn0KICAgICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAgIC5ib29sZWFuVHJ1ZU5hbWU9JHsiRW5hYmxlZCJ9CiAgICAgICAgICAgIC5ib29sZWFuRmFsc2VOYW1lPSR7IkRpc2FibGVkIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVuYWJsZWQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7Ikxhbmd1YWdlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkVuZ2xpc2giLCJHZXJtYW4iLCJGcmVuY2giLCJTcGFuaXNoIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJFbmdsaXNoIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJRdWFsaXR5In0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkxvdyIsIk1lZGl1bSIsIkhpZ2giLCJVbHRyYSJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiSGlnaCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiUHJpdmFjeSJ9CiAgICAgICAgICAgIC50eXBlPSR7ImJvb2xlYW4ifQogICAgICAgICAgICAuYm9vbGVhblRydWVOYW1lPSR7IlByaXZhdGUifQogICAgICAgICAgICAuYm9vbGVhbkZhbHNlTmFtZT0keyJQdWJsaWMifQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiUHJpdmF0ZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlN0YXRlcyAmIEZvcm0gSW50ZWdyYXRpb248L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5FeGFtcGxlcyBvZiBkaXNhYmxlZCBzdGF0ZXMgYW5kIGludGVncmF0aW9uIHdpdGhpbiBmb3Jtcy48L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgLmxhYmVsPSR7IkFjY291bnQgVHlwZSJ9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhpcyBzZXR0aW5nIGlzIGxvY2tlZCJ9CiAgICAgICAgICAub3B0aW9ucz0ke1siRnJlZSIsIlBybyIsIkVudGVycHJpc2UiXX0KICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJFbnRlcnByaXNlIn0KICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgCiAgICAgICAgPGJyPjxicj4KICAgICAgICAKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiUHJvamVjdCBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IlZpc2liaWxpdHkifQogICAgICAgICAgICAudHlwZT0keyJib29sZWFuIn0KICAgICAgICAgICAgLmJvb2xlYW5UcnVlTmFtZT0keyJQdWJsaWMifQogICAgICAgICAgICAuYm9vbGVhbkZhbHNlTmFtZT0keyJQcml2YXRlIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlByaXZhdGUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJMaWNlbnNlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIk1JVCIsIkFwYWNoZSAyLjAiLCJHUEwgdjMiLCJQcm9wcmlldGFyeSJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiTUlUIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgfSk7dmFyIHR1LGVzLFNGLHM2ZT1mKCgpPT57dWUoKTtTYSgpO0JzKCk7dWNyKCk7UWUoKTt0dT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LGVzPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxTRj0oKCk9PntsZXQgZT1bcmUoImRlZXMtaW5wdXQtbXVsdGl0b2dnbGUiKV0sdCxyPVtdLGEsaT1udCxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXSxSLEM9W10sUz1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IEQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRigpXSxjPVtGKCldLGQ9W0YoKV0sdj1bRih7dHlwZTpBcnJheX0pXSx5PVtGKCldLFI9W0Yoe3R5cGU6Qm9vbGVhbn0pXSx0dSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJ0eXBlImluIE4sZ2V0Ok49Pk4udHlwZSxzZXQ6KE4scSk9PntOLnR5cGU9cX19LG1ldGFkYXRhOkR9LHMsbyksdHUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib29sZWFuVHJ1ZU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJib29sZWFuVHJ1ZU5hbWUiaW4gTixnZXQ6Tj0+Ti5ib29sZWFuVHJ1ZU5hbWUsc2V0OihOLHEpPT57Ti5ib29sZWFuVHJ1ZU5hbWU9cX19LG1ldGFkYXRhOkR9LGwsdSksdHUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib29sZWFuRmFsc2VOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4iYm9vbGVhbkZhbHNlTmFtZSJpbiBOLGdldDpOPT5OLmJvb2xlYW5GYWxzZU5hbWUsc2V0OihOLHEpPT57Ti5ib29sZWFuRmFsc2VOYW1lPXF9fSxtZXRhZGF0YTpEfSxoLG0pLHR1KHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+Im9wdGlvbnMiaW4gTixnZXQ6Tj0+Ti5vcHRpb25zLHNldDooTixxKT0+e04ub3B0aW9ucz1xfX0sbWV0YWRhdGE6RH0sYixnKSx0dSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkT3B0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4ic2VsZWN0ZWRPcHRpb24iaW4gTixnZXQ6Tj0+Ti5zZWxlY3RlZE9wdGlvbixzZXQ6KE4scSk9PntOLnNlbGVjdGVkT3B0aW9uPXF9fSxtZXRhZGF0YTpEfSx3LGspLHR1KHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm9vbFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4iYm9vbFZhbHVlImluIE4sZ2V0Ok49Pk4uYm9vbFZhbHVlLHNldDooTixxKT0+e04uYm9vbFZhbHVlPXF9fSxtZXRhZGF0YTpEfSxDLFMpLHR1KG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOkR9LG51bGwsciksTz1hPXQudmFsdWUsRCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpEfSl9c3RhdGljIGRlbW89ZGNyO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1lcyh0aGlzLHMsIm11bHRpIik7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHlwZShEKXt0aGlzLiNlPUR9I3Q9KGVzKHRoaXMsbyksZXModGhpcyxsLCJ0cnVlIikpO2dldCBib29sZWFuVHJ1ZU5hbWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYm9vbGVhblRydWVOYW1lKEQpe3RoaXMuI3Q9RH0jcj0oZXModGhpcyx1KSxlcyh0aGlzLGgsImZhbHNlIikpO2dldCBib29sZWFuRmFsc2VOYW1lKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGJvb2xlYW5GYWxzZU5hbWUoRCl7dGhpcy4jcj1EfSNhPShlcyh0aGlzLG0pLGVzKHRoaXMsYixbXSkpO2dldCBvcHRpb25zKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG9wdGlvbnMoRCl7dGhpcy4jYT1EfSNpPShlcyh0aGlzLGcpLGVzKHRoaXMsdywiIikpO2dldCBzZWxlY3RlZE9wdGlvbigpe3JldHVybiB0aGlzLiNpfXNldCBzZWxlY3RlZE9wdGlvbihEKXt0aGlzLiNpPUR9I249KGVzKHRoaXMsayksZXModGhpcyxDLCExKSk7Z2V0IGJvb2xWYWx1ZSgpe3JldHVybiB0aGlzLiNufXNldCBib29sVmFsdWUoRCl7dGhpcy4jbj1EfWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLnR5cGU9PT0iYm9vbGVhbiI/dGhpcy5zZWxlY3RlZE9wdGlvbj09PXRoaXMuYm9vbGVhblRydWVOYW1lOnRoaXMuc2VsZWN0ZWRPcHRpb259c2V0IHZhbHVlKEQpe3RoaXMudHlwZT09PSJib29sZWFuIiYmdHlwZW9mIEQ9PSJib29sZWFuIj90aGlzLnNlbGVjdGVkT3B0aW9uPUQ/dGhpcy5ib29sZWFuVHJ1ZU5hbWU6dGhpcy5ib29sZWFuRmFsc2VOYW1lOnRoaXMuc2VsZWN0ZWRPcHRpb249RCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmhhc1VwZGF0ZWQmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuc2V0SW5kaWNhdG9yKCl9KX1zdGF0aWMgc3R5bGVzPVtEZSwuLi5udC5iYXNlU3R5bGVzLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbnMgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpOwogICAgICB9CgogICAgICAub3B0aW9uIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgIH0KCiAgICAgIC5vcHRpb246aG92ZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNlNGU0ZTciKX07CiAgICAgIH0KCiAgICAgIC5vcHRpb24uc2VsZWN0ZWQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5pbmRpY2F0b3IgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gOHB4KTsKICAgICAgICB0b3A6IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5pbmRpY2F0b3Iubm8tdHJhbnNpdGlvbiB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnNlbGVjdGlvbnMgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAub3B0aW9uIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuaW5kaWNhdG9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgxMTMsIDExMywgMTIyLCAwLjE1KSIsInJnYmEoMTEzLCAxMTMsIDEyMiwgMC4xNSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWxlY3Rpb25zIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImluZGljYXRvciI+PC9kaXY+CiAgICAgICAgICAke3RoaXMub3B0aW9ucy5tYXAoRD0+TWA8ZGl2IGNsYXNzPSJvcHRpb24gJHtEPT09dGhpcy5zZWxlY3RlZE9wdGlvbj8ic2VsZWN0ZWQiOiIifSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU2VsZWN0aW9uKEQpfT4KICAgICAgICAgICAgICAgICR7RH0KICAgICAgICAgICAgICA8L2Rpdj4gYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnR5cGU9PT0iYm9vbGVhbiImJnRoaXMub3B0aW9ucy5sZW5ndGg9PT0wJiYodGhpcy5vcHRpb25zPVt0aGlzLmJvb2xlYW5UcnVlTmFtZXx8InRydWUiLHRoaXMuYm9vbGVhbkZhbHNlTmFtZXx8ImZhbHNlIl0sdGhpcy5zZWxlY3RlZE9wdGlvbnx8KHRoaXMuc2VsZWN0ZWRPcHRpb249dGhpcy5ib29sZWFuRmFsc2VOYW1lfHwiZmFsc2UiKSksIXRoaXMuc2VsZWN0ZWRPcHRpb24mJnRoaXMub3B0aW9ucy5sZW5ndGg+MCYmKHRoaXMuc2VsZWN0ZWRPcHRpb249dGhpcy5vcHRpb25zWzBdKX1hc3luYyBmaXJzdFVwZGF0ZWQoRCl7c3VwZXIuZmlyc3RVcGRhdGVkKEQpLHRoaXMudHlwZT09PSJib29sZWFuIiYmKHRoaXMub3B0aW9ucz1bdGhpcy5ib29sZWFuVHJ1ZU5hbWV8fCJ0cnVlIix0aGlzLmJvb2xlYW5GYWxzZU5hbWV8fCJmYWxzZSJdKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGRvY3VtZW50LmZvbnRzJiZhd2FpdCBkb2N1bWVudC5mb250cy5yZWFkeSxhd2FpdCBuZXcgUHJvbWlzZShOPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoTikpLHRoaXMuc2V0SW5kaWNhdG9yKCl9YXN5bmMgaGFuZGxlU2VsZWN0aW9uKEQpe3RoaXMuZGlzYWJsZWR8fCh0aGlzLnNlbGVjdGVkT3B0aW9uPUQsdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLnNldEluZGljYXRvcigpKX1pbmRpY2F0b3JJbml0aWFsaXplZD0oZXModGhpcyxTKSwhMSk7YXN5bmMgc2V0SW5kaWNhdG9yKCl7bGV0IEQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5pbmRpY2F0b3IiKSxOPXRoaXMub3B0aW9ucy5pbmRleE9mKHRoaXMuc2VsZWN0ZWRPcHRpb24pO2lmKE49PT0tMXx8IUQpe0QmJihELnN0eWxlLm9wYWNpdHk9IjAiKTtyZXR1cm59bGV0IHE9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoYC5vcHRpb246bnRoLWNoaWxkKCR7TisyfSlgKTtEJiZxJiYodGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZHx8KEQuY2xhc3NMaXN0LmFkZCgibm8tdHJhbnNpdGlvbiIpLHRoaXMuaW5kaWNhdG9ySW5pdGlhbGl6ZWQ9ITAsc2V0VGltZW91dCgoKT0+e0QuY2xhc3NMaXN0LnJlbW92ZSgibm8tdHJhbnNpdGlvbiIpfSw1MCkpLEQuc3R5bGUud2lkdGg9YCR7cS5jbGllbnRXaWR0aH1weGAsRC5zdHlsZS5sZWZ0PWAke3Eub2Zmc2V0TGVmdH1weGAsRC5zdHlsZS5vcGFjaXR5PSIxIil9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy50eXBlPT09ImJvb2xlYW4iP3RoaXMuc2VsZWN0ZWRPcHRpb249PT10aGlzLmJvb2xlYW5UcnVlTmFtZTp0aGlzLnNlbGVjdGVkT3B0aW9ufXNldFZhbHVlKEQpe3RoaXMudHlwZT09PSJib29sZWFuIiYmdHlwZW9mIEQ9PSJib29sZWFuIj90aGlzLnNlbGVjdGVkT3B0aW9uPUQ/dGhpcy5ib29sZWFuVHJ1ZU5hbWV8fCJ0cnVlIjp0aGlzLmJvb2xlYW5GYWxzZU5hbWV8fCJmYWxzZSI6dGhpcy5zZWxlY3RlZE9wdGlvbj1ELHRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMuaGFzVXBkYXRlZCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zZXRJbmRpY2F0b3IoKX0pfXN0YXRpY3tlcyhhLHIpfX07cmV0dXJuIE89YX0pKCl9KTt2YXIgcGNyLGZjcj1mKCgpPT57dWUoKTtwY3I9KCk9Pk1gCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7SmAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmlucHV0LWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmhvcml6b250YWwtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgUGhvbmUgSW5wdXQifSAuc3VidGl0bGU9JHsiQXV0b21hdGljIGZvcm1hdHRpbmcgZm9yIHBob25lIG51bWJlcnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZQogICAgICAgICAgICAubGFiZWw9JHsiUGhvbmUgTnVtYmVyIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkVudGVyIHlvdXIgcGhvbmUgbnVtYmVyIHdpdGggY291bnRyeSBjb2RlIn0KICAgICAgICAgICAgLnZhbHVlPSR7IjU1NTEyMzQ1NjcifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1waG9uZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZQogICAgICAgICAgICAubGFiZWw9JHsiQ29udGFjdCBQaG9uZSJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJSZXF1aXJlZCBmb3IgYWNjb3VudCB2ZXJpZmljYXRpb24ifQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IisxICg1NTUpIDAwMC0wMDAwIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJIb3Jpem9udGFsIExheW91dCJ9IC5zdWJ0aXRsZT0keyJQaG9uZSBpbnB1dHMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5In0+CiAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZSAKICAgICAgICAgICAgLmxhYmVsPSR7Ik1vYmlsZSJ9IAogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLnZhbHVlPSR7IjQxNTU1NTEyMzQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1waG9uZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUgCiAgICAgICAgICAgIC5sYWJlbD0keyJPZmZpY2UifSAKICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyIrMSAoODAwKSA1NTUtMDAwMCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSW50ZXJuYXRpb25hbCBOdW1iZXJzIn0gLnN1YnRpdGxlPSR7IlN1cHBvcnRzIGZvcm1hdHRpbmcgZm9yIG51bWJlcnMgd2l0aCBjb3VudHJ5IGNvZGVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgLmxhYmVsPSR7IkludGVybmF0aW9uYWwgQ29udGFjdCJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJBdXRvbWF0aWNhbGx5IGZvcm1hdHMgaW50ZXJuYXRpb25hbCBudW1iZXJzIn0KICAgICAgICAgICAgLnZhbHVlPSR7IjQ0MTIzNDU2Nzg5MCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lCiAgICAgICAgICAgIC5sYWJlbD0keyJFbWVyZ2VuY3kgQ29udGFjdCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyI5MTEifQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIEludGVncmF0aW9uIn0gLnN1YnRpdGxlPSR7IlBob25lIGlucHV0IGFzIHBhcnQgb2YgYSBjb250YWN0IGZvcm0ifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiRnVsbCBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUgLmxhYmVsPSR7IlBob25lIE51bWJlciJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJFbWFpbCJ9IC5pbnB1dFR5cGU9JHsiZW1haWwifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgfSk7dmFyIHpGLHJ1LENGLG82ZT1mKCgpPT57dWUoKTtKdCgpO1NhKCk7ZmNyKCk7UWUoKTt6Rj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LHJ1PWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxDRj0oKCk9PntsZXQgZT1bcmUoImRlZXMtaW5wdXQtcGhvbmUiKV0sdCxyPVtdLGEsaT1udCxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXTt2YXIgdj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bc2UoKV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpTdHJpbmd9KV0sekYodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmb3JtYXR0ZWRQaG9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+ImZvcm1hdHRlZFBob25lImluIGcsZ2V0Omc9PmcuZm9ybWF0dGVkUGhvbmUsc2V0OihnLHkpPT57Zy5mb3JtYXR0ZWRQaG9uZT15fX0sbWV0YWRhdGE6Yn0scyxvKSx6Rih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4idmFsdWUiaW4gZyxnZXQ6Zz0+Zy52YWx1ZSxzZXQ6KGcseSk9PntnLnZhbHVlPXl9fSxtZXRhZGF0YTpifSxsLHUpLHpGKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJwbGFjZWhvbGRlciJpbiBnLGdldDpnPT5nLnBsYWNlaG9sZGVyLHNldDooZyx5KT0+e2cucGxhY2Vob2xkZXI9eX19LG1ldGFkYXRhOmJ9LGgsbSksekYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCxyKSx2PWE9dC52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1wY3I7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPXJ1KHRoaXMscywiIik7Z2V0IGZvcm1hdHRlZFBob25lKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGZvcm1hdHRlZFBob25lKGIpe3RoaXMuI2U9Yn0jdD0ocnUodGhpcyxvKSxydSh0aGlzLGwsIiIpKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdmFsdWUoYil7dGhpcy4jdD1ifSNyPShydSh0aGlzLHUpLHJ1KHRoaXMsaCwiKzEgKDU1NSkgMTIzLTQ1NjciKSk7Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHBsYWNlaG9sZGVyKGIpe3RoaXMuI3I9Yn1zdGF0aWMgc3R5bGVzPVtEZSwuLi5udC5iYXNlU3R5bGVzLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICAvKiBQaG9uZSBpbnB1dCBzcGVjaWZpYyBzdHlsZXMgY2FuIGdvIGhlcmUgKi8KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgLnZhbHVlPSR7dGhpcy5mb3JtYXR0ZWRQaG9uZX0KICAgICAgICAgIC5kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7dGhpcy5wbGFjZWhvbGRlcn0KICAgICAgICAgIEBpbnB1dD0ke2I9PnRoaXMuaGFuZGxlUGhvbmVJbnB1dChiKX0KICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgIDwvZGl2PgogICAgYH1maXJzdFVwZGF0ZWQoYil7c3VwZXIuZmlyc3RVcGRhdGVkKGIpLHRoaXMudmFsdWUmJih0aGlzLmZvcm1hdHRlZFBob25lPXRoaXMuZm9ybWF0UGhvbmVOdW1iZXIodGhpcy52YWx1ZSkpO2xldCBnPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKTtnJiZnLmNoYW5nZVN1YmplY3QmJmcuY2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoKCk9Pnt0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX0pfWhhbmRsZVBob25lSW5wdXQoYil7bGV0IGc9Yi50YXJnZXQseT10aGlzLmNsZWFuUGhvbmVOdW1iZXIoZy52YWx1ZSksdz10aGlzLmZvcm1hdFBob25lTnVtYmVyKHkpO2lmKGcudmFsdWUhPT13KXtsZXQgaz1nLnNlbGVjdGlvblN0YXJ0fHwwO2cudmFsdWU9dztsZXQgUj10aGlzLmNhbGN1bGF0ZUN1cnNvclBvc2l0aW9uKHksdyxrKTtnLnNldFNlbGVjdGlvblJhbmdlKFIsUil9dGhpcy5mb3JtYXR0ZWRQaG9uZT13LHRoaXMudmFsdWU9eSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1jbGVhblBob25lTnVtYmVyKGIpe3JldHVybiBiLnJlcGxhY2UoL1xEL2csIiIpfWZvcm1hdFBob25lTnVtYmVyKGIpe2xldCBnPXRoaXMuY2xlYW5QaG9uZU51bWJlcihiKTtyZXR1cm4gZy5sZW5ndGg9PT0wPyIiOmcubGVuZ3RoPD0zP2c6Zy5sZW5ndGg8PTY/YCgke2cuc2xpY2UoMCwzKX0pICR7Zy5zbGljZSgzKX1gOmcubGVuZ3RoPD0xMD9gKCR7Zy5zbGljZSgwLDMpfSkgJHtnLnNsaWNlKDMsNil9LSR7Zy5zbGljZSg2KX1gOmArJHtnLnNsaWNlKDAsZy5sZW5ndGgtMTApfSAoJHtnLnNsaWNlKC0xMCwtNyl9KSAke2cuc2xpY2UoLTcsLTQpfS0ke2cuc2xpY2UoLTQpfWB9Y2FsY3VsYXRlQ3Vyc29yUG9zaXRpb24oYixnLHkpe2xldCB3PTA7Zm9yKGxldCBrPTA7azx5JiZrPGcubGVuZ3RoO2srKykvXGQvLnRlc3QoZ1trXSl8fHcrKztyZXR1cm4gTWF0aC5taW4oeSt3LGcubGVuZ3RoKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGIpe3RoaXMudmFsdWU9Yix0aGlzLmZvcm1hdHRlZFBob25lPXRoaXMuZm9ybWF0UGhvbmVOdW1iZXIoYil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHJ1KHRoaXMsbSl9c3RhdGlje3J1KGEscil9fTtyZXR1cm4gdj1hfSkoKX0pO3ZhciBoY3IsbWNyPWYoKCk9Pnt1ZSgpO2hhKCk7T2koKTtoY3I9KCk9Pk1gCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiI3RvZ2dsZS1hbGwtb24iKSxyPWUucXVlcnlTZWxlY3RvcigiI3RvZ2dsZS1hbGwtb2ZmIiksYT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mZWF0dXJlLXRvZ2dsZXMgZGVlcy1pbnB1dC10b2dnbGUiKTt0JiZyJiYodC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnthLmZvckVhY2goaT0+eyFpLmRpc2FibGVkJiYhaS5yZXF1aXJlZCYmKGkudmFsdWU9ITApfSl9KSxyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2EuZm9yRWFjaChpPT57IWkuZGlzYWJsZWQmJiFpLnJlcXVpcmVkJiYoaS52YWx1ZT0hMSl9KX0pKX19PgogICAgPHN0eWxlPgogICAgICAke0pgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQoKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CgogICAgICAgIC50b2dnbGUtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuaG9yaXpvbnRhbC10b2dnbGVzIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDMycHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQoKICAgICAgICAuaW50ZXJhY3RpdmUtc2VjdGlvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICB9CgogICAgICAgIC5vdXRwdXQtdGV4dCB7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTAgNDAlIDgwJSkiKX07CiAgICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgbWluLWhlaWdodDogMjRweDsKICAgICAgICB9CgogICAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NyUpIiwiaHNsKDAgMCUgNyUpIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuYnV0dG9uLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuZmVhdHVyZS10b2dnbGVzIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmRyYWctaGludCB7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFRvZ2dsZSJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgb24vb2ZmIHRvZ2dsZSBzd2l0Y2ggd2l0aCBkcmFnIHN1cHBvcnQifT4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJFbmFibGUgZmVhdHVyZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAua2V5PSR7ImJhc2ljIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiQWN0aXZlIHRvZ2dsZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAua2V5PSR7ImFjdGl2ZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IldpdGggZGVzY3JpcHRpb24ifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgdG9nZ2xlIGhhcyBhZGRpdGlvbmFsIGhlbHBlciB0ZXh0IGV4cGxhaW5pbmcgaXRzIHB1cnBvc2UifQogICAgICAgICAgICAua2V5PSR7IndpdGhEZXNjIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxwIGNsYXNzPSJkcmFnLWhpbnQiPlRpcDogWW91IGNhbiBkcmFnIHRoZSB0b2dnbGUga25vYiB0byBzd2l0Y2ggc3RhdGVzPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiVG9nZ2xlIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgdG9nZ2xlIHN0YXRlcyBhbmQgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJEZWZhdWx0IChvZmYpIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkVuYWJsZWQgKG9uKSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCAob2ZmKSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgKG9uKSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiUmVxdWlyZWQgKGFsd2F5cyBvbikifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUaGlzIHRvZ2dsZSBjYW5ub3QgYmUgdHVybmVkIG9mZiJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ikhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7IlRvZ2dsZXMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5IGZvciBjb21wYWN0IGludGVyZmFjZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLXRvZ2dsZXMiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJXaUZpIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJCbHVldG9vdGgifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkdQUyJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiTkZDIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTZXR0aW5ncyBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IlRvZ2dsZXMgaW4gYSB0eXBpY2FsIHNldHRpbmdzIGNvbnRleHQifT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICAgIDxoNCBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Tm90aWZpY2F0aW9uIFNldHRpbmdzPC9oND4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiUHVzaCBub3RpZmljYXRpb25zIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiUmVjZWl2ZSBwdXNoIG5vdGlmaWNhdGlvbnMgb24geW91ciBkZXZpY2UifQogICAgICAgICAgICAgIC5rZXk9JHsicHVzaCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJHZXQgaW1wb3J0YW50IHVwZGF0ZXMgdmlhIGVtYWlsIn0KICAgICAgICAgICAgICAua2V5PSR7ImVtYWlsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiU291bmQifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJQbGF5IGEgc291bmQgZm9yIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC5rZXk9JHsic291bmQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJWaWJyYXRpb24ifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJWaWJyYXRlIGZvciBub3RpZmljYXRpb25zIn0KICAgICAgICAgICAgICAua2V5PSR7InZpYnJhdGlvbiJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlIFRvZ2dsZXMifSAuc3VidGl0bGU9JHsiQmF0Y2ggb3BlcmF0aW9ucyBvbiBtdWx0aXBsZSB0b2dnbGVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpZD0idG9nZ2xlLWFsbC1vbiIgdHlwZT0ic2Vjb25kYXJ5Ij5FbmFibGUgQWxsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpZD0idG9nZ2xlLWFsbC1vZmYiIHR5cGU9InNlY29uZGFyeSI+RGlzYWJsZSBBbGw8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLXRvZ2dsZXMiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLWdyb3VwIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRhcmsgTW9kZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmtleT0keyJkYXJrTW9kZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkF1dG8tc2F2ZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmtleT0keyJhdXRvU2F2ZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlNwZWxsIGNoZWNrIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAua2V5PSR7InNwZWxsQ2hlY2sifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJEZXZlbG9wZXIgbW9kZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJkZXZNb2RlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiQmV0YSBmZWF0dXJlcyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJiZXRhIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiVG9nZ2xlIHRvIHNlZSB2YWx1ZSBjaGFuZ2VzIGluIHJlYWwtdGltZSJ9PgogICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkFpcnBsYW5lIG1vZGUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQG5ld1ZhbHVlPSR7ZT0+e2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaXJwbGFuZS1vdXRwdXQiKTt0JiYodC50ZXh0Q29udGVudD1gQWlycGxhbmUgbW9kZTogJHtlLmRldGFpbD8iT04iOiJPRkYifWApfX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRG8gbm90IGRpc3R1cmIifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQG5ld1ZhbHVlPSR7ZT0+e2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNkbmQtb3V0cHV0Iik7dCYmKHQudGV4dENvbnRlbnQ9YERvIG5vdCBkaXN0dXJiOiAke2UuZGV0YWlsPyJFTkFCTEVEIjoiRElTQUJMRUQifWApfX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbnRlcmFjdGl2ZS1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgaWQ9ImFpcnBsYW5lLW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0Ij5BaXJwbGFuZSBtb2RlOiBPRkY8L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImRuZC1vdXRwdXQiIGNsYXNzPSJvdXRwdXQtdGV4dCIgc3R5bGU9Im1hcmdpbi10b3A6IDhweDsiPkRvIG5vdCBkaXN0dXJiOiBESVNBQkxFRDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmB9KTt2YXIgZ2NyLGw2ZSxURixjNmU9ZigoKT0+e3VlKCk7SnQoKTtTYSgpO21jcigpO0puKCk7UWUoKTtnY3I9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxsNmU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LFRGPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1pbnB1dC10b2dnbGUiKV0sdCxyPVtdLGEsaT1udCxuLHM9W10sbz1bXTt2YXIgYz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGw9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sZ2NyKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJ2YWx1ZSJpbiB1LGdldDp1PT51LnZhbHVlLHNldDoodSxkKT0+e3UudmFsdWU9ZH19LG1ldGFkYXRhOmx9LHMsbyksZ2NyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89aGNyO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1sNmUodGhpcyxzLCExKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUobCl7dGhpcy4jZT1sfWN1cnJlbnRYPShsNmUodGhpcyxvKSwwKTtpc0RyYWdnaW5nPSExO2hhc0RyYWdnZWQ9ITE7c3RhcnRYPTA7dHJhY2tXaWR0aD0zNjt0cmFja0hlaWdodD0yMDtrbm9iU2l6ZT0xNDtwYWRkaW5nPTI7bWF4VHJhdmVsPTE2O2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmxhYmVsUG9zaXRpb249InJpZ2h0In1zdGF0aWMgc3R5bGVzPVtEZSwuLi5udC5iYXNlU3R5bGVzLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtdHJhY2sgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgd2lkdGg6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgbWFyZ2luLXRvcDogMXB4OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lcjpob3ZlciAudG9nZ2xlLXRyYWNrIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWx1ZV0pIC50b2dnbGUtdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS10cmFjazpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC50b2dnbGUta25vYiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMnB4OwogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUta25vYi5kcmFnZ2luZyB7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbdmFsdWVdKSAudG9nZ2xlLWtub2IgewogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICB9CgogICAgICAvKiBEaXNhYmxlZCBzdGF0ZSAqLwogICAgICAubWFpbmNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtdHJhY2suZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAvKiBSZXF1aXJlZCBzdGF0ZSAobG9ja2VkIG9uKSAqLwogICAgICA6aG9zdChbcmVxdWlyZWRdW3ZhbHVlXSkgLnRvZ2dsZS10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA2MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNDkuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA2MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNDkuOCUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtyZXF1aXJlZF1bdmFsdWVdKSAudG9nZ2xlLWtub2IgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLyogTGFiZWwgKi8KICAgICAgLmxhYmVsLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXI6aG92ZXIgLnRvZ2dsZS1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lci5kaXNhYmxlZDpob3ZlciAudG9nZ2xlLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAvKiBEZXNjcmlwdGlvbiAqLwogICAgICAuZGVzY3JpcHRpb24tdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIgQGNsaWNrPSIke3RoaXMuaGFuZGxlQ2xpY2t9Ij4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9InRvZ2dsZS10cmFjayAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICAgIHRhYmluZGV4PSIke3RoaXMuZGlzYWJsZWQ/Ii0xIjoiMCJ9IgogICAgICAgICAgICBAa2V5ZG93bj0iJHt0aGlzLmhhbmRsZUtleWRvd259IgogICAgICAgICAgPgogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgY2xhc3M9InRvZ2dsZS1rbm9iIgogICAgICAgICAgICAgIHN0eWxlPSJsZWZ0OiAke3RoaXMucGFkZGluZyt0aGlzLmN1cnJlbnRYfXB4OyIKICAgICAgICAgICAgICBAcG9pbnRlcmRvd249IiR7dGhpcy5vblBvaW50ZXJEb3dufSIKICAgICAgICAgICAgICBAcG9pbnRlcm1vdmU9IiR7dGhpcy5vblBvaW50ZXJNb3ZlfSIKICAgICAgICAgICAgICBAcG9pbnRlcnVwPSIke3RoaXMub25Qb2ludGVyVXB9IgogICAgICAgICAgICAgIEBwb2ludGVyY2FuY2VsPSIke3RoaXMub25Qb2ludGVyVXB9IgogICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWNvbnRhaW5lciI+CiAgICAgICAgICAgICR7dGhpcy5sYWJlbD9NYDxkaXYgY2xhc3M9InRvZ2dsZS1sYWJlbCI+JHt0aGlzLmxhYmVsfTwvZGl2PmA6IiJ9CiAgICAgICAgICAgICR7dGhpcy5kZXNjcmlwdGlvbj9NYDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uLXRleHQiPiR7dGhpcy5kZXNjcmlwdGlvbn08L2Rpdj5gOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQobCl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKGwpLHRoaXMucmVxdWlyZWQmJiF0aGlzLnZhbHVlJiYodGhpcy52YWx1ZT0hMCksdGhpcy5jdXJyZW50WD10aGlzLnZhbHVlP3RoaXMubWF4VHJhdmVsOjAsdGhpcy5yZXF1ZXN0VXBkYXRlKCl9YXN5bmMgaGFuZGxlQ2xpY2sobCl7aWYodGhpcy5pc0RyYWdnaW5nfHx0aGlzLmhhc0RyYWdnZWQpe2wuc3RvcFByb3BhZ2F0aW9uKCksbC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1pZighdGhpcy5kaXNhYmxlZCl7aWYodGhpcy5yZXF1aXJlZCl7dGhpcy5jdXJyZW50WD10aGlzLm1heFRyYXZlbCx0aGlzLnJlcXVlc3RVcGRhdGUoKSxhd2FpdCBuZXcgUHJvbWlzZSh1PT5zZXRUaW1lb3V0KHUsMTApKSx0aGlzLmN1cnJlbnRYPXRoaXMubWF4VHJhdmVsLTMsdGhpcy5yZXF1ZXN0VXBkYXRlKCksYXdhaXQganQuc21hcnRkZWxheS5kZWxheUZvcigxNTApLHRoaXMuY3VycmVudFg9dGhpcy5tYXhUcmF2ZWwsdGhpcy5yZXF1ZXN0VXBkYXRlKCk7cmV0dXJufWwuc3RvcFByb3BhZ2F0aW9uKCksbC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMudmFsdWU9IXRoaXMudmFsdWUsdGhpcy5jdXJyZW50WD10aGlzLnZhbHVlP3RoaXMubWF4VHJhdmVsOjAsdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibmV3VmFsdWUiLHtkZXRhaWw6dGhpcy52YWx1ZSxidWJibGVzOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpLGp0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCkudGhlbigoKT0+e3RoaXMuaGFzRHJhZ2dlZD0hMX0pfX1vblBvaW50ZXJEb3duKGwpe3RoaXMucmVxdWlyZWR8fHRoaXMuZGlzYWJsZWR8fCh0aGlzLmlzRHJhZ2dpbmc9ITAsdGhpcy5zdGFydFg9bC5jbGllbnRYLXRoaXMuY3VycmVudFgsbC50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUobC5wb2ludGVySWQpKX1vblBvaW50ZXJNb3ZlKGwpe2lmKCF0aGlzLmlzRHJhZ2dpbmcpcmV0dXJuO2xldCB1PWwuY2xpZW50WC10aGlzLnN0YXJ0WDt0aGlzLmhhc0RyYWdnZWQ9ITA7bGV0IGQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudG9nZ2xlLWtub2IiKTtkJiZkLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksdGhpcy5jdXJyZW50WD1NYXRoLm1heCgwLE1hdGgubWluKHUsdGhpcy5tYXhUcmF2ZWwpKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1vblBvaW50ZXJVcChsKXtpZighdGhpcy5pc0RyYWdnaW5nfHwobC50YXJnZXQucmVsZWFzZVBvaW50ZXJDYXB0dXJlKGwucG9pbnRlcklkKSx0aGlzLmlzRHJhZ2dpbmc9ITEsIXRoaXMuaGFzRHJhZ2dlZCkpcmV0dXJuO2xldCB1PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRvZ2dsZS1rbm9iIik7dSYmdS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpO2xldCBkPXRoaXMubWF4VHJhdmVsLzI7dGhpcy52YWx1ZT10aGlzLmN1cnJlbnRYPmQsdGhpcy5jdXJyZW50WD10aGlzLnZhbHVlP3RoaXMubWF4VHJhdmVsOjAsdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibmV3VmFsdWUiLHtkZXRhaWw6dGhpcy52YWx1ZSxidWJibGVzOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpLGp0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCkudGhlbigoKT0+e3RoaXMuaGFzRHJhZ2dlZD0hMX0pfXVwZGF0ZWQobCl7c3VwZXIudXBkYXRlZChsKSxsLmhhcygidmFsdWUiKSYmIXRoaXMuaXNEcmFnZ2luZyYmIXRoaXMuaGFzRHJhZ2dlZCYmKHRoaXMuY3VycmVudFg9dGhpcy52YWx1ZT90aGlzLm1heFRyYXZlbDowLHRoaXMucmVxdWVzdFVwZGF0ZSgpKX1oYW5kbGVLZXlkb3duKGwpeyhsLmtleT09PSIgInx8bC5rZXk9PT0iRW50ZXIiKSYmKGwucHJldmVudERlZmF1bHQoKSx0aGlzLmhhbmRsZUNsaWNrKGwpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGwpe3RoaXMudmFsdWU9bH1mb2N1cygpe2xldCBsPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRvZ2dsZS10cmFjayIpO2wmJmwuZm9jdXMoKX1zdGF0aWN7bDZlKGEscil9fTtyZXR1cm4gYz1hfSkoKX0pO3ZhciBiY3IsdmNyPWYoKCk9Pnt1ZSgpO2Jjcj0oKT0+TWAKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtKYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaW5wdXQtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuaG9yaXpvbnRhbC1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5pbmZvLWJveCB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNlM2YyZmQ7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBjb2xvcjogIzE5NzZkMjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLmluZm8tYm94IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzFlM2E1ZjsKICAgICAgICAgICAgY29sb3I6ICM5MGNhZjk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgVHlwZSBMaXN0In0gLnN1YnRpdGxlPSR7IkFkZCBhbmQgcmVtb3ZlIGl0ZW1zIGZyb20gYSBsaXN0In0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlRhZ3MifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIHRhZ3MgYnkgdHlwaW5nIGFuZCBwcmVzc2luZyBFbnRlciJ9CiAgICAgICAgICAgIC52YWx1ZT0ke1siamF2YXNjcmlwdCIsInR5cGVzY3JpcHQiLCJ3ZWItY29tcG9uZW50cyJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiVGVhbSBNZW1iZXJzIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkZCBlbWFpbCBhZGRyZXNzZXMgb2YgdGVhbSBtZW1iZXJzIn0KICAgICAgICAgICAgLnZhbHVlPSR7WyJhbGljZUBleGFtcGxlLmNvbSIsImJvYkBleGFtcGxlLmNvbSJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlNraWxscyAmIEtleXdvcmRzIn0gLnN1YnRpdGxlPSR7Ik1hbmFnZSBsaXN0cyBvZiBza2lsbHMgYW5kIGtleXdvcmRzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IllvdXIgU2tpbGxzIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7Ikxpc3QgeW91ciBwcm9mZXNzaW9uYWwgc2tpbGxzIn0KICAgICAgICAgICAgLnZhbHVlPSR7WyJIVE1MIiwiQ1NTIiwiSmF2YVNjcmlwdCIsIk5vZGUuanMiLCJSZWFjdCJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJDYXRlZ29yaWVzIn0KICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC52YWx1ZT0ke1siVGVjaG5vbG9neSIsIkRlc2lnbiIsIkJ1c2luZXNzIl19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiS2V5d29yZHMifQogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLnZhbHVlPSR7WyJpbm5vdmF0aW9uIiwic3RhcnR1cCIsImdyb3d0aCJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlJlcXVpcmVkICYgRGlzYWJsZWQgU3RhdGVzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBpbnB1dCBzdGF0ZXMgZm9yIHZhbGlkYXRpb24ifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiUHJvamVjdCBEZXBlbmRlbmNpZXMifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiTGlzdCBhbGwgcmVxdWlyZWQgbnBtIHBhY2thZ2VzIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC52YWx1ZT0ke1siQGRlc2lnbi5lc3RhdGUvZGVlcy1lbGVtZW50IiwiQGRlc2lnbi5lc3RhdGUvZGVlcy1kb210b29scyJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiU3lzdGVtIFRhZ3MifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhlc2UgdGFncyBhcmUgbWFuYWdlZCBieSB0aGUgc3lzdGVtIn0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICAgIC52YWx1ZT0ke1sic3lzdGVtIiwicHJvdGVjdGVkIiwicmVhZG9ubHkiXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJBcnRpY2xlIFB1Ymxpc2hpbmcgRm9ybSJ9IC5zdWJ0aXRsZT0keyJDb21wbGV0ZSBmb3JtIHdpdGggdGFnIG1hbmFnZW1lbnQifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiQXJ0aWNsZSBUaXRsZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgCiAgICAgICAgICAgIC5sYWJlbD0keyJTdW1tYXJ5In0gCiAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGFydGljbGUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlRhZ3MifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIHJlbGV2YW50IHRhZ3MgZm9yIGJldHRlciBkaXNjb3ZlcmFiaWxpdHkifQogICAgICAgICAgICAudmFsdWU9JHtbInR1dG9yaWFsIiwid2ViLWRldmVsb3BtZW50Il19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IkNvLUF1dGhvcnMifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIGVtYWlsIGFkZHJlc3NlcyBvZiBjby1hdXRob3JzIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ib3giPgogICAgICAgICAgPHN0cm9uZz5UaXA6PC9zdHJvbmc+IFR5cGUgYSB2YWx1ZSBhbmQgcHJlc3MgRW50ZXIgdG8gYWRkIGl0IHRvIHRoZSBsaXN0LiBDbGljayBvbiBhbnkgaXRlbSB0byByZW1vdmUgaXQuCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYH0pO3ZhciBkNmUsRmIsX0YsdTZlPWYoKCk9Pnt1ZSgpO0p0KCk7U2EoKTt2Y3IoKTtRZSgpO2Q2ZT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LEZiPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxfRj0oKCk9PntsZXQgZT1bcmUoImRlZXMtaW5wdXQtdHlwZWxpc3QiKV0sdCxyPVtdLGEsaT1udCxuLHM9W10sbz1bXSxjLGw9W10sdT1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGg9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpBcnJheX0pXSxjPVtzZSgpXSxkNmUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+InZhbHVlImluIG0sZ2V0Om09Pm0udmFsdWUsc2V0OihtLHYpPT57bS52YWx1ZT12fX0sbWV0YWRhdGE6aH0scyxvKSxkNmUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbnB1dFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4iaW5wdXRWYWx1ZSJpbiBtLGdldDptPT5tLmlucHV0VmFsdWUsc2V0OihtLHYpPT57bS5pbnB1dFZhbHVlPXZ9fSxtZXRhZGF0YTpofSxsLHUpLGQ2ZShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBkZW1vPWJjcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9RmIodGhpcyxzLFtdKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoaCl7dGhpcy4jZT1ofSN0PShGYih0aGlzLG8pLEZiKHRoaXMsbCwiIikpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGlucHV0VmFsdWUoaCl7dGhpcy4jdD1ofXN0YXRpYyBzdHlsZXM9W0RlLC4uLm50LmJhc2VTdHlsZXMscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICB9CiAgICAgIC5tYWluYm94IHsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMjIyMjIyIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYm9yZGVyLXRvcDogJHtwLmJkVGhlbWUoIjFweCBzb2xpZCAjQ0NDIiwiMXB4IHNvbGlkICNmZmZmZmYxMCIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAke3AuYmRUaGVtZSgiMXB4IHNvbGlkICNDQ0MiLCIxcHggc29saWQgIzIyMiIpfTsKICAgICAgICBib3JkZXItcmlnaHQ6ICR7cC5iZFRoZW1lKCIxcHggc29saWQgI0NDQyIsIjFweCBzb2xpZCAjZmZmZmZmMTAiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6ICR7cC5iZFRoZW1lKCIxcHggc29saWQgI0NDQyIsIjFweCBzb2xpZCAjZmZmZmZmMTAiKX07CiAgICAgICAgYm94LXNoYWRvdzogJHtwLmJkVGhlbWUoIjBweCAxcHggNHB4IHJnYmEoMCwwLDAsMC4zKSIsIm5vbmUiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgIAogICAgICAubWFpbmJveDpob3ZlciB7CiAgICAgICAgZmlsdGVyOiAke3AuYmRUaGVtZSgiYnJpZ2h0bmVzcygwLjk4KSIsImJyaWdodG5lc3MoMS4wNSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYWluYm94OmZvY3VzLXdpdGhpbiB7CiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICR7cC5iZFRoZW1lKCIjMDA2OWYyIiwiIzAwODRmZiIpfTsKICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgICAgfQoKICAgICAgLnRhZ3MgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAubm90YWdzIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICBpbnB1dCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y1ZjVmNSIsIiMxODE4MTgiKX07CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBsaW5lLWhlaWdodDogMzJweDsKICAgICAgICBoZWlnaHQ6IDBweDsKICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yczsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICB9CgogICAgICBpbnB1dDpmb2N1cyB7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzFhMWExYSIpfTsKICAgICAgfQogICAgICAKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICB9CgogICAgICAudGFnIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlOGY1ZTkiLCIjMmQzYTJkIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzJlN2QzMiIsIiM4MWM3ODQiKX07CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjYzhlNmM5IiwiIzFiNWUyMCIpfTsKICAgICAgfQogICAgICAKICAgICAgLnRhZzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNjOGU2YzkiLCIjM2Q0ZjNkIil9OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKICAgICAgfQoKICAgICAgLnRhZyAucmVtb3ZlIHsKICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICB9CgogICAgICAudGFnIC5yZW1vdmU6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjYzYyODI4IiwiI2VmNTM1MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi8KICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLm1haW5ib3ggewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAudGFncyB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnRhZyB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIGlucHV0IHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5kZXNjcmlwdGlvbj0ke3RoaXMuZGVzY3JpcHRpb259PjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InRhZ3MiIEBjbGljaz0keygpPT57dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikuZm9jdXMoKX19PgogICAgICAgICAgICAke3RoaXMudmFsdWUubGVuZ3RoPT09MD9NYDxkaXYgY2xhc3M9Im5vdGFncyI+Tm8gdGFncyB5ZXQ8L2Rpdj5gOnRoaXMudmFsdWUubWFwKGg9Pk1gCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhZyI+CiAgICAgICAgICAgICAgICAgICAgICAke2h9CiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVtb3ZlIiBAY2xpY2s9JHttPT57bS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnJlbW92ZVRhZyhoKX19PsOXPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0iVHlwZSwgcHJlc3MgRW50ZXIgdG8gYWRkIGl0Li4uIgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLmlucHV0VmFsdWV9CiAgICAgICAgICAgIEBpbnB1dD0ke2g9Pnt0aGlzLmlucHV0VmFsdWU9aC50YXJnZXQudmFsdWV9fQogICAgICAgICAgICBAa2V5ZG93bj0ke2g9PntoLmtleT09PSJFbnRlciImJnRoaXMuaW5wdXRWYWx1ZS50cmltKCkmJihoLnByZXZlbnREZWZhdWx0KCksdGhpcy5hZGRUYWcodGhpcy5pbnB1dFZhbHVlLnRyaW0oKSkpfX0KICAgICAgICAgICAgLmRpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgIC8+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hZGRUYWcoaCl7dGhpcy52YWx1ZS5pbmNsdWRlcyhoKXx8KHRoaXMudmFsdWU9Wy4uLnRoaXMudmFsdWUsaF0sdGhpcy5pbnB1dFZhbHVlPSIiLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1yZW1vdmVUYWcoaCl7dGhpcy52YWx1ZT10aGlzLnZhbHVlLmZpbHRlcihtPT5tIT09aCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShoKXt0aGlzLnZhbHVlPWh9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEZiKHRoaXMsdSl9c3RhdGlje0ZiKGEscil9fTtyZXR1cm4gZD1hfSkoKX0pO3ZhciB4Y3IseWNyPWYoKCk9PntwNmUoKTt3aSgpO3VlKCk7eGNyPSgpPT5NYAogIDxzdHlsZT4KICAgICR7SmAKICAgICAgLmRlbW9XcmFwcGVyIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDUlKSIpfTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsKICAgICAgfQogICAgICAuZGVtby10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQogICAgICAuZGVtby1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgLnRoZW1lLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMTZweDsKICAgICAgICByaWdodDogMTZweDsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtb1dyYXBwZXIiPgogICAgPGRlZXMtYnV0dG9uIGNsYXNzPSJ0aGVtZS10b2dnbGUiIEBjbGljaz0keygpPT57ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudG9nZ2xlKCJicmlnaHQiKSxkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoImRhcmsiKX19PlRvZ2dsZSBUaGVtZTwvZGVlcy1idXR0b24+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkJhc2ljIFRhYmxlIHdpdGggQWN0aW9uczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkEgc3RhbmRhcmQgdGFibGUgd2l0aCByb3cgYWN0aW9ucywgZWRpdGFibGUgZmllbGRzLCBhbmQgY29udGV4dCBtZW51IHN1cHBvcnQuIERvdWJsZS1jbGljayBvbiBkZXNjcmlwdGlvbnMgdG8gZWRpdC4gR3JpZCBsaW5lcyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0LjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IkN1cnJlbnQgQWNjb3VudCBTdGF0ZW1lbnQiCiAgICAgICAgICBoZWFkaW5nMj0iQnVucSAtIFBheW1lbnQgQWNjb3VudCAyIC0gQXByaWwgMjAyMSIKICAgICAgICAgIC5lZGl0YWJsZUZpZWxkcz0iJHtbImRlc2NyaXB0aW9uIl19IgogICAgICAgICAgLmRhdGE9JHtbe2RhdGU6IjIwMjEtMDQtMDEiLGFtb3VudDoiMjQ2NC42NSBcdTIwQUMiLGRlc2NyaXB0aW9uOiJQcmludGluZyBQYXBlciAoT2ZmaWNlIFN1cHBsaWVzKSAtIFNUQVBMRVMgQlJFTUVOIn0se2RhdGU6IjIwMjEtMDQtMDIiLGFtb3VudDoiMTY1LjY1IFx1MjBBQyIsZGVzY3JpcHRpb246IkxvZ2l0ZWNoIE1vdXNlIChIYXJkd2FyZSkgLSBsb2dpLmNvbSBPbmxpbmVTaG9wIn0se2RhdGU6IjIwMjEtMDQtMDMiLGFtb3VudDoiMjk5OSwwMCBcdTIwQUMiLGRlc2NyaXB0aW9uOiJNYWNib29rIFBybyAxNmluY2ggKEhhcmR3YXJlKSAtIEFwcGxlLmRlIE9ubGluZVNob3AifSx7ZGF0ZToiMjAyMS0wNC0wMSIsYW1vdW50OiIyNDY0LjY1IFx1MjBBQyIsZGVzY3JpcHRpb246Ik9mZmljZS1TdXBwbGllcyAtIFNUQVBMRVMgQlJFTUVOIn0se2RhdGU6IjIwMjEtMDQtMDEiLGFtb3VudDoiMjQ2NC42NSBcdTIwQUMiLGRlc2NyaXB0aW9uOiJPZmZpY2UtU3VwcGxpZXMgLSBTVEFQTEVTIEJSRU1FTiJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJ0cmFuc2FjdGlvbnMiCiAgICAgICAgICAuZGF0YUFjdGlvbnM9IiR7W3tuYW1lOiJ1cGxvYWQiLGljb25OYW1lOiJiZWxsIix1c2VUYWJsZUJlaGF2aW91cjoidXBsb2FkIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOmFzeW5jIGU9PnthbGVydChlLml0ZW0uYW1vdW50KX19LHtuYW1lOiJ2aXNpYmlsaXR5IixpY29uTmFtZToiY29weSIsdHlwZTpbImluUm93Il0sdXNlVGFibGVCZWhhdmlvdXI6InByZXZpZXciLGFjdGlvbkZ1bmM6YXN5bmMgZT0+e319LHtuYW1lOiJjcmVhdGUgbmV3IixpY29uTmFtZToiaW5zdGFncmFtIix0eXBlOlsiaGVhZGVyIl0sdXNlVGFibGVCZWhhdmlvdXI6InByZXZpZXciLGFjdGlvbkZ1bmM6YXN5bmMgZT0+e319LHtuYW1lOiJ0byBnYWxsZXJ5IixpY29uTmFtZToibWVzc2FnZSIsdHlwZTpbImZvb3RlciJdLHVzZVRhYmxlQmVoYXZpb3VyOiJwcmV2aWV3IixhY3Rpb25GdW5jOmFzeW5jIGU9Pnt9fSx7bmFtZToiY29weSIsaWNvbk5hbWU6ImNvcHlTb2xpZCIsdHlwZTpbImNvbnRleHRtZW51IiwiaW5Sb3ciXSxhY3Rpb246YXN5bmMoKT0+bnVsbH0se25hbWU6ImVkaXQgKGZyb20gZGVtbykiLGljb25OYW1lOiJwZW5Ub1NxdWFyZSIsdHlwZTpbImNvbnRleHRtZW51Il0sYWN0aW9uOmFzeW5jKCk9Pm51bGx9LHtuYW1lOiJwYXN0ZSIsaWNvbk5hbWU6InBhc3RlU29saWQiLHR5cGU6WyJjb250ZXh0bWVudSJdLGFjdGlvbjphc3luYygpPT5udWxsfSx7bmFtZToicHJldmlldyIsdHlwZTpbImRvdWJsZUNsaWNrIiwiY29udGV4dG1lbnUiXSxpY29uTmFtZToiZXllIixhY3Rpb25GdW5jOmFzeW5jIGU9PihhbGVydChlLml0ZW0uYW1vdW50KSxudWxsKX1dfSIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5UYWJsZSB3aXRoIFZlcnRpY2FsIExpbmVzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RW5oYW5jZWQgY29sdW1uIHNlcGFyYXRpb24gZm9yIGJldHRlciBkYXRhIHRyYWNraW5nLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlByb2R1Y3QgSW52ZW50b3J5IgogICAgICAgICAgaGVhZGluZzI9IkN1cnJlbnQgc3RvY2sgbGV2ZWxzIGFjcm9zcyB3YXJlaG91c2VzIgogICAgICAgICAgLnNob3dWZXJ0aWNhbExpbmVzPSR7ITB9CiAgICAgICAgICAuZGF0YT0ke1t7cHJvZHVjdDonTWFjQm9vayBQcm8gMTYiJyx3YXJlaG91c2VfYToiNDUiLHdhcmVob3VzZV9iOiIzMiIsd2FyZWhvdXNlX2M6IjI4Iix0b3RhbDoiMTA1IixzdGF0dXM6Ilx1MjcxMyBJbiBTdG9jayJ9LHtwcm9kdWN0OiJpUGhvbmUgMTUgUHJvIix3YXJlaG91c2VfYToiMTIwIix3YXJlaG91c2VfYjoiODkiLHdhcmVob3VzZV9jOiIxNTYiLHRvdGFsOiIzNjUiLHN0YXR1czoiXHUyNzEzIEluIFN0b2NrIn0se3Byb2R1Y3Q6IkFpclBvZHMgUHJvIix3YXJlaG91c2VfYToiMCIsd2FyZWhvdXNlX2I6IjEyIix3YXJlaG91c2VfYzoiNSIsdG90YWw6IjE3IixzdGF0dXM6Ilx1MjZBMCBMb3cgU3RvY2sifSx7cHJvZHVjdDoiaVBhZCBBaXIiLHdhcmVob3VzZV9hOiIyMyIsd2FyZWhvdXNlX2I6IjQ1Iix3YXJlaG91c2VfYzoiNjciLHRvdGFsOiIxMzUiLHN0YXR1czoiXHUyNzEzIEluIFN0b2NrIn1dfQogICAgICAgICAgZGF0YU5hbWU9InByb2R1Y3RzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRhYmxlIHdpdGggRnVsbCBHcmlkPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+Q29tcGxldGUgZ3JpZCBsaW5lcyBmb3IgbWF4aW11bSByZWFkYWJpbGl0eSBhbmQgc3RydWN0dXJlLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlNlcnZlciBNb25pdG9yaW5nIERhc2hib2FyZCIKICAgICAgICAgIGhlYWRpbmcyPSJSZWFsLXRpbWUgbWV0cmljcyBhY3Jvc3MgcmVnaW9ucyIKICAgICAgICAgIC5zaG93R3JpZD0keyEwfQogICAgICAgICAgLmRhdGE9JHtbe3NlcnZlcjoiQVBJLTEiLHJlZ2lvbjoiVVMtRWFzdCIsY3B1OiI0NSUiLG1lbW9yeToiNjIlIixkaXNrOiI3OCUiLGxhdGVuY3k6IjEybXMiLHVwdGltZToiOTkuOSUiLHN0YXR1czoiXHV7MUY3RTJ9IEhlYWx0aHkifSx7c2VydmVyOiJBUEktMiIscmVnaW9uOiJFVS1XZXN0IixjcHU6IjM4JSIsbWVtb3J5OiI1NSUiLGRpc2s6IjQ1JSIsbGF0ZW5jeToiMjVtcyIsdXB0aW1lOiI5OS44JSIsc3RhdHVzOiJcdXsxRjdFMn0gSGVhbHRoeSJ9LHtzZXJ2ZXI6IkRCLU1hc3RlciIscmVnaW9uOiJVUy1FYXN0IixjcHU6IjcyJSIsbWVtb3J5OiI4MSUiLGRpc2s6IjkyJSIsbGF0ZW5jeToiOG1zIix1cHRpbWU6IjEwMCUiLHN0YXR1czoiXHV7MUY3RTF9IFdhcm5pbmcifSx7c2VydmVyOiJEQi1SZXBsaWNhIixyZWdpb246IkVVLVdlc3QiLGNwdToiMjMlIixtZW1vcnk6IjM0JSIsZGlzazoiNDUlIixsYXRlbmN5OiIxNW1zIix1cHRpbWU6Ijk5LjclIixzdGF0dXM6Ilx1ezFGN0UyfSBIZWFsdGh5In0se3NlcnZlcjoiQ2FjaGUtMSIscmVnaW9uOiJBUC1Tb3V0aCIsY3B1OiI4OSUiLG1lbW9yeToiOTIlIixkaXNrOiIxMiUiLGxhdGVuY3k6IjEyMG1zIix1cHRpbWU6Ijk4LjUlIixzdGF0dXM6Ilx1ezFGNTM0fSBDcml0aWNhbCJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJzZXJ2ZXJzIgogICAgICAgICAgLmRhdGFBY3Rpb25zPSIke1t7bmFtZToiU1NIIENvbm5lY3QiLGljb25OYW1lOiJsdWNpZGU6dGVybWluYWwiLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6YXN5bmMgZT0+e2NvbnNvbGUubG9nKCJDb25uZWN0aW5nIHRvOiIsZS5pdGVtLnNlcnZlcil9fSx7bmFtZToiVmlldyBMb2dzIixpY29uTmFtZToibHVjaWRlOmZpbGUtdGV4dCIsdHlwZTpbImluUm93IiwiY29udGV4dG1lbnUiXSxhY3Rpb25GdW5jOmFzeW5jIGU9Pntjb25zb2xlLmxvZygiVmlld2luZyBsb2dzIGZvcjoiLGUuaXRlbS5zZXJ2ZXIpfX0se25hbWU6IlJlc3RhcnQgU2VydmVyIixpY29uTmFtZToibHVjaWRlOnJlZnJlc2gtY3ciLHR5cGU6WyJjb250ZXh0bWVudSJdLGFjdGlvbkZ1bmM6YXN5bmMgZT0+e2NvbnNvbGUubG9nKCJSZXN0YXJ0aW5nOiIsZS5pdGVtLnNlcnZlcil9fV19IgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRhYmxlIHdpdGggSG9yaXpvbnRhbCBMaW5lcyBPbmx5PC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RW1waGFzaXMgb24gcm93IHNlcGFyYXRpb24gd2l0aG91dCBjb2x1bW4gZGl2aWRlcnMuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iU2FsZXMgUGVyZm9ybWFuY2UiCiAgICAgICAgICBoZWFkaW5nMj0iVG9wIHBlcmZvcm1lcnMgdGhpcyBxdWFydGVyIgogICAgICAgICAgLnNob3dIb3Jpem9udGFsTGluZXM9JHshMH0KICAgICAgICAgIC5zaG93VmVydGljYWxMaW5lcz0keyExfQogICAgICAgICAgLmRhdGE9JHtbe3NhbGVzcGVyc29uOiJFbWlseSBKb2huc29uIixyZWdpb246Ik5vcnRoIEFtZXJpY2EiLGRlYWxzX2Nsb3NlZDoiNDIiLHJldmVudWU6IiQxLjJNIixxdW90YV9hY2hpZXZlbWVudDoiMTI4JSIscmF0aW5nOiJcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTAifSx7c2FsZXNwZXJzb246Ik1pY2hhZWwgQ2hlbiIscmVnaW9uOiJBc2lhIFBhY2lmaWMiLGRlYWxzX2Nsb3NlZDoiMzgiLHJldmVudWU6IiQ5ODBLIixxdW90YV9hY2hpZXZlbWVudDoiMTE1JSIscmF0aW5nOiJcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTAifSx7c2FsZXNwZXJzb246IlNhcmFoIFdpbGxpYW1zIixyZWdpb246IkV1cm9wZSIsZGVhbHNfY2xvc2VkOiIzNSIscmV2ZW51ZToiJDg3NUsiLHF1b3RhX2FjaGlldmVtZW50OiIxMDglIixyYXRpbmc6Ilx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MCJ9LHtzYWxlc3BlcnNvbjoiRGF2aWQgR2FyY2lhIixyZWdpb246IkxhdGluIEFtZXJpY2EiLGRlYWxzX2Nsb3NlZDoiMzEiLHJldmVudWU6IiQ3NTBLIixxdW90YV9hY2hpZXZlbWVudDoiOTUlIixyYXRpbmc6Ilx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MCJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJzYWxlcyByZXBzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNpbXBsZSBUYWJsZSAoTm8gR3JpZCk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5DbGVhbiwgbWluaW1hbCBkZXNpZ24gd2l0aG91dCBncmlkIGxpbmVzLiBTZXQgc2hvd0dyaWQgdG8gZmFsc2UgdG8gZGlzYWJsZSB0aGUgZGVmYXVsdCBncmlkLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlRlYW0gTWVtYmVycyIKICAgICAgICAgIGhlYWRpbmcyPSJFbmdpbmVlcmluZyBEZXBhcnRtZW50IgogICAgICAgICAgLnNob3dHcmlkPSR7ITF9CiAgICAgICAgICAuZGF0YT0ke1t7bmFtZToiQWxpY2UgSm9obnNvbiIscm9sZToiTGVhZCBFbmdpbmVlciIsZW1haWw6ImFsaWNlQGNvbXBhbnkuY29tIixsb2NhdGlvbjoiU2FuIEZyYW5jaXNjbyIsam9pbmVkOiIyMDIwLTAzLTE1In0se25hbWU6IkJvYiBTbWl0aCIscm9sZToiU2VuaW9yIERldmVsb3BlciIsZW1haWw6ImJvYkBjb21wYW55LmNvbSIsbG9jYXRpb246Ik5ldyBZb3JrIixqb2luZWQ6IjIwMTktMDctMjIifSx7bmFtZToiQ2hhcmxpZSBEYXZpcyIscm9sZToiRGV2T3BzIEVuZ2luZWVyIixlbWFpbDoiY2hhcmxpZUBjb21wYW55LmNvbSIsbG9jYXRpb246IkxvbmRvbiIsam9pbmVkOiIyMDIxLTAxLTEwIn0se25hbWU6IkRpYW5hIE1hcnRpbmV6Iixyb2xlOiJGcm9udGVuZCBEZXZlbG9wZXIiLGVtYWlsOiJkaWFuYUBjb21wYW55LmNvbSIsbG9jYXRpb246IkJhcmNlbG9uYSIsam9pbmVkOiIyMDIyLTA1LTE4In1dfQogICAgICAgICAgZGF0YU5hbWU9InRlYW0gbWVtYmVycyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5UYWJsZSB3aXRoIEN1c3RvbSBEaXNwbGF5IEZ1bmN0aW9uPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+VHJhbnNmb3JtIGRhdGEgZm9yIGRpc3BsYXkgdXNpbmcgY3VzdG9tIGZvcm1hdHRpbmcuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iU2FsZXMgUmVwb3J0IgogICAgICAgICAgaGVhZGluZzI9IlE0IDIwMjMgUGVyZm9ybWFuY2UiCiAgICAgICAgICAuZGF0YT0ke1t7cHJvZHVjdDoiRW50ZXJwcmlzZSBMaWNlbnNlIix1bml0czo0NSxyZXZlbnVlOjIyNWUzLGdyb3d0aDouMjMsZm9yZWNhc3Q6MjhlNH0se3Byb2R1Y3Q6IlByb2Zlc3Npb25hbCBMaWNlbnNlIix1bml0czoxMjgscmV2ZW51ZToxMjhlMyxncm93dGg6LjE1LGZvcmVjYXN0OjE0N2UzfSx7cHJvZHVjdDoiU3RhcnRlciBMaWNlbnNlIix1bml0czozNDIscmV2ZW51ZTo2ODQwMCxncm93dGg6LjQyLGZvcmVjYXN0Ojk3ZTN9XX0KICAgICAgICAgIC5kaXNwbGF5RnVuY3Rpb249JHtlPT4oe1Byb2R1Y3Q6ZS5wcm9kdWN0LCJVbml0cyBTb2xkIjplLnVuaXRzLnRvTG9jYWxlU3RyaW5nKCksUmV2ZW51ZToiJCIrZS5yZXZlbnVlLnRvTG9jYWxlU3RyaW5nKCksR3Jvd3RoOihlLmdyb3d0aCoxMDApLnRvRml4ZWQoMSkrIiUiLCJRMSAyMDI0IEZvcmVjYXN0IjoiJCIrZS5mb3JlY2FzdC50b0xvY2FsZVN0cmluZygpfSl9CiAgICAgICAgICBkYXRhTmFtZT0icHJvZHVjdHMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+RW1wdHkgVGFibGUgU3RhdGU8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5Ib3cgdGhlIHRhYmxlIGxvb2tzIHdoZW4gbm8gZGF0YSBpcyBhdmFpbGFibGUuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iTm8gRGF0YSBBdmFpbGFibGUiCiAgICAgICAgICBoZWFkaW5nMj0iVGhpcyB0YWJsZSBpcyBjdXJyZW50bHkgZW1wdHkiCiAgICAgICAgICAuZGF0YT0ke1tdfQogICAgICAgICAgZGF0YU5hbWU9Iml0ZW1zIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNjaGVtYS1GaXJzdCBDb2x1bW5zIChOZXcpPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RGVmaW5lcyBjb2x1bW5zIGV4cGxpY2l0bHkgYW5kIHJlbmRlcnMgdmlhIHNjaGVtYS4gTm8gZGlzcGxheUZ1bmN0aW9uIG5lZWRlZC48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJVc2VycyAoU2NoZW1hLUZpcnN0KSIKICAgICAgICAgIGhlYWRpbmcyPSJDb2x1bW5zIGRlZmluZSByZW5kZXJpbmcgYW5kIG9yZGVyIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToiZW1haWwiLGhlYWRlcjoiRW1haWwiLHJlbmRlcmVyOmU9Pk1gPGRlZXMtYmFkZ2U+JHtlfTwvZGVlcy1iYWRnZT5gfSx7a2V5OiJqb2luZWRBdCIsaGVhZGVyOiJKb2luZWQiLHJlbmRlcmVyOmU9Pm5ldyBEYXRlKGUpLnRvTG9jYWxlRGF0ZVN0cmluZygpfV19CiAgICAgICAgICAuZGF0YT0ke1t7bmFtZToiQWxpY2UiLGVtYWlsOiJhbGljZUBleGFtcGxlLmNvbSIsam9pbmVkQXQ6IjIwMjItMDgtMDEifSx7bmFtZToiQm9iIixlbWFpbDoiYm9iQGV4YW1wbGUuY29tIixqb2luZWRBdDoiMjAyMS0xMi0xMSJ9LHtuYW1lOiJDYXJvbCIsZW1haWw6ImNhcm9sQGV4YW1wbGUuY29tIixqb2luZWRBdDoiMjAyMy0wMy0yMiJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJ1c2VycyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5QYXJ0aWFsIFNjaGVtYSArIEF1Z21lbnQgKE5ldyk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5Qcm92aWRlcyBvbmx5IHRoZSBpbXBvcnRhbnQgY29sdW1uczsgdGhlIHJlc3QgYXJlIG1lcmdlZCBpbiBmcm9tIGRpc3BsYXlGdW5jdGlvbi48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJVc2VycyAoUGFydGlhbCArIEF1Z21lbnQpIgogICAgICAgICAgaGVhZGluZzI9Ik1pc3NpbmcgY29sdW1ucyBhcmUgZGVyaXZlZCIKICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6Im5hbWUiLGhlYWRlcjoiTmFtZSIsc29ydGFibGU6ITB9XX0KICAgICAgICAgIC5kaXNwbGF5RnVuY3Rpb249JHtlPT4oe25hbWU6ZS5uYW1lLGVtYWlsOmUuZW1haWwscm9sZTplLnJvbGV9KX0KICAgICAgICAgIC5hdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbj0keyEwfQogICAgICAgICAgLmRhdGE9JHtbe25hbWU6IkVyaW4iLGVtYWlsOiJlcmluQGV4YW1wbGUuY29tIixyb2xlOiJBZG1pbiJ9LHtuYW1lOiJGaW5uIixlbWFpbDoiZmlubkBleGFtcGxlLmNvbSIscm9sZToiVXNlciJ9LHtuYW1lOiJHaW5hIixlbWFpbDoiZ2luYUBleGFtcGxlLmNvbSIscm9sZToiVXNlciJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJ1c2VycyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiIgCiAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke2U9Pntjb25zb2xlLmxvZygiU2VsZWN0aW9uIGNoYW5nZWQiLGUuZGV0YWlsKX19CiAgICAgICAgICAgQHNlYXJjaC1jaGFuZ2VkPSR7ZT0+e2xldCB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YWJsZUZpbHRlclNlbGVjdERlbW8iKTt0JiZ0LnNldEZpbHRlclRleHQoZS5kZXRhaWwudmFsdWUpfX0KICAgICAgICAgICBAc2VhcmNoLXN1Ym1pdD0ke2U9PntsZXQgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFibGVGaWx0ZXJTZWxlY3REZW1vIik7dCYmdC5zZXRGaWx0ZXJUZXh0KGUuZGV0YWlsLnZhbHVlKX19CiAgICAgID4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkZpbHRlcmluZyArIE11bHRpLVNlbGVjdGlvbiAoTmV3KTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlVzZSB0aGUgc2VhcmNoIGJhciB0byBmaWx0ZXIgcm93czsgdG9nZ2xlIHNlbGVjdGlvbiB2aWEgY2hlY2tib3hlcy4gQ2xpY2sgaGVhZGVycyB0byBzb3J0LjwvcD4KICAgICAgICA8ZGVlcy1zZWFyY2hiYXI+PC9kZWVzLXNlYXJjaGJhcj4KICAgICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEycHgiPjwvZGl2PgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBpZD0idGFibGVGaWx0ZXJTZWxlY3REZW1vIgogICAgICAgICAgaGVhZGluZzE9IkludmVudG9yeSAoRmlsdGVyICsgU2VsZWN0KSIKICAgICAgICAgIGhlYWRpbmcyPSJUcnkgdHlwaW5nIHRvIGZpbHRlciBhbmQgc2VsZWN0aW5nIG11bHRpcGxlIHJvd3MiCiAgICAgICAgICAuc2VsZWN0aW9uTW9kZT0keyJtdWx0aSJ9CiAgICAgICAgICAucm93S2V5PSR7InNrdSJ9CiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJza3UiLGhlYWRlcjoiU0tVIixzb3J0YWJsZTohMH0se2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToic3RvY2siLGhlYWRlcjoiU3RvY2siLHNvcnRhYmxlOiEwfV19CiAgICAgICAgICAuZGF0YT0ke1t7c2t1OiJBLTEwMCIsbmFtZToiVVNCLUMgQ2FibGUiLHN0b2NrOjEyMH0se3NrdToiQS0xMDEiLG5hbWU6IldpcmVsZXNzIE1vdXNlIixzdG9jazo1NX0se3NrdToiQS0xMDIiLG5hbWU6IkxhcHRvcCBTdGFuZCIsc3RvY2s6MTh9LHtza3U6IkItMjAwIixuYW1lOiJLZXlib2FyZCAoSVNPKSIsc3RvY2s6ODl9LHtza3U6IkItMjAxIixuYW1lOiJIRE1JIEFkYXB0ZXIiLHN0b2NrOjB9LHtza3U6IkMtMzAwIixuYW1lOiJXZWJjYW0gMTA4MHAiLHN0b2NrOjQyfV19CiAgICAgICAgICBkYXRhTmFtZT0iaXRlbXMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+Q29sdW1uIEZpbHRlcnMgKyBTdGlja3kgSGVhZGVyIChOZXcpPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+UGVyLWNvbHVtbiBxdWljayBmaWx0ZXJzIGFuZCBzdGlja3kgaGVhZGVyIHdpdGggaW50ZXJuYWwgc2Nyb2xsLiBUcnkgZmlsdGVyaW5nIHRoZSBOYW1lIGNvbHVtbi4gVXNlcyAtLXRhYmxlLW1heC1oZWlnaHQgdmFyLjwvcD4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICBkZWVzLXRhYmxlW3N0aWNreS1oZWFkZXJdIHsgLS10YWJsZS1tYXgtaGVpZ2h0OiAyMjBweDsgfQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJFbXBsb3llZXMiCiAgICAgICAgICBoZWFkaW5nMj0iUXVpY2sgZmlsdGVyIHBlciBjb2x1bW4gKyBzdGlja3kgaGVhZGVyIgogICAgICAgICAgLnNob3dDb2x1bW5GaWx0ZXJzPSR7ITB9CiAgICAgICAgICAuc3RpY2t5SGVhZGVyPSR7ITB9CiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJlbWFpbCIsaGVhZGVyOiJFbWFpbCIsc29ydGFibGU6ITB9LHtrZXk6ImRlcGFydG1lbnQiLGhlYWRlcjoiRGVwYXJ0bWVudCIsc29ydGFibGU6ITB9XX0KICAgICAgICAgIC5kYXRhPSR7W3tuYW1lOiJBbGljZSBKb2huc29uIixlbWFpbDoiYWxpY2VAY29ycC5jb20iLGRlcGFydG1lbnQ6IkVuZ2luZWVyaW5nIn0se25hbWU6IkJvYiBTbWl0aCIsZW1haWw6ImJvYkBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiU2FsZXMifSx7bmFtZToiQ2hhcmxpZSBEYXZpcyIsZW1haWw6ImNoYXJsaWVAY29ycC5jb20iLGRlcGFydG1lbnQ6IkhSIn0se25hbWU6IkRpYW5hIE1hcnRpbmV6IixlbWFpbDoiZGlhbmFAY29ycC5jb20iLGRlcGFydG1lbnQ6IkVuZ2luZWVyaW5nIn0se25hbWU6IkV0aGFuIEJyb3duIixlbWFpbDoiZXRoYW5AY29ycC5jb20iLGRlcGFydG1lbnQ6IkZpbmFuY2UifSx7bmFtZToiRmlvbmEgQ2xhcmsiLGVtYWlsOiJmaW9uYUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiU2FsZXMifSx7bmFtZToiR3JhY2UgTGVlIixlbWFpbDoiZ3JhY2VAY29ycC5jb20iLGRlcGFydG1lbnQ6IkVuZ2luZWVyaW5nIn0se25hbWU6IkhlbnJ5IFdpbHNvbiIsZW1haWw6ImhlbnJ5QGNvcnAuY29tIixkZXBhcnRtZW50OiJNYXJrZXRpbmcifSx7bmFtZToiSXJlbmUgV2Fsa2VyIixlbWFpbDoiaXJlbmVAY29ycC5jb20iLGRlcGFydG1lbnQ6IkZpbmFuY2UifSx7bmFtZToiSmFjayBUdXJuZXIiLGVtYWlsOiJqYWNrQGNvcnAuY29tIixkZXBhcnRtZW50OiJTdXBwb3J0In1dfQogICAgICAgICAgZGF0YU5hbWU9ImVtcGxveWVlcyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiIKICAgICAgICBAc2VhcmNoUmVxdWVzdD0ke2FzeW5jIGU9PntsZXR7cXVlcnk6dH09ZS5kZXRhaWx8fHtxdWVyeToiIn0scj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VydmVyU2VhcmNoRGVtbyIpLGE9W3tpZDoxLG5hbWU6IkFsaWNlIixjaXR5OiJCZXJsaW4iLHRpdGxlOiJFbmdpbmVlciJ9LHtpZDoyLG5hbWU6IkJvYiIsY2l0eToiUGFyaXMiLHRpdGxlOiJEZXNpZ25lciJ9LHtpZDozLG5hbWU6IkNoYXJsaWUiLGNpdHk6IkxvbmRvbiIsdGl0bGU6Ik1hbmFnZXIifSx7aWQ6NCxuYW1lOiJEaWFuYSIsY2l0eToiTWFkcmlkIix0aXRsZToiRW5naW5lZXIifSx7aWQ6NSxuYW1lOiJFdGhhbiIsY2l0eToiUm9tZSIsdGl0bGU6IlN1cHBvcnQifV07YXdhaXQgbmV3IFByb21pc2Uocz0+c2V0VGltZW91dChzLDMwMCkpO2xldCBpPVN0cmluZyh0fHwiIikudG9Mb3dlckNhc2UoKSxuPWk/YS5maWx0ZXIocz0+T2JqZWN0LnZhbHVlcyhzKS5zb21lKG89PlN0cmluZyhvKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGkpKSk6YTtyLmRhdGE9bn19CiAgICAgID4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNlcnZlciBTZWFyY2ggKE5ldyk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5TZWxlY3QgU2VydmVyIG1vZGUsIHR5cGUgYSBxdWVyeSwgYW5kIHdhdGNoIHRoZSB0YWJsZSBmZXRjaCBzaW11bGF0ZWQgcmVzdWx0cy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGlkPSJzZXJ2ZXJTZWFyY2hEZW1vIgogICAgICAgICAgaGVhZGluZzE9IlBlb3BsZSAoU2VydmVyIFNlYXJjaCkiCiAgICAgICAgICBoZWFkaW5nMj0iQ2xpY2sgU2VhcmNoLCBjaG9vc2UgU2VydmVyIG1vZGUsIGFuZCB0eXBlIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToibmFtZSIsaGVhZGVyOiJOYW1lIn0se2tleToiY2l0eSIsaGVhZGVyOiJDaXR5In0se2tleToidGl0bGUiLGhlYWRlcjoiVGl0bGUifV19CiAgICAgICAgICAuZGF0YT0ke1t7aWQ6MSxuYW1lOiJBbGljZSIsY2l0eToiQmVybGluIix0aXRsZToiRW5naW5lZXIifSx7aWQ6MixuYW1lOiJCb2IiLGNpdHk6IlBhcmlzIix0aXRsZToiRGVzaWduZXIifSx7aWQ6MyxuYW1lOiJDaGFybGllIixjaXR5OiJMb25kb24iLHRpdGxlOiJNYW5hZ2VyIn0se2lkOjQsbmFtZToiRGlhbmEiLGNpdHk6Ik1hZHJpZCIsdGl0bGU6IkVuZ2luZWVyIn0se2lkOjUsbmFtZToiRXRoYW4iLGNpdHk6IlJvbWUiLHRpdGxlOiJTdXBwb3J0In1dfQogICAgICAgICAgZGF0YU5hbWU9InBlb3BsZSIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5XaWRlIFByb3BlcnRpZXMgKyBNYW55IEFjdGlvbnM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5BIHRhYmxlIHdpdGggbWFueSBjb2x1bW5zIGFuZCByaWNoIGFjdGlvbnMgdG8gc3RyZXNzIHRlc3QgbGF5b3V0IGFuZCBzdGlja3kgQWN0aW9ucy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJQZW9wbGUgRGlyZWN0b3J5IgogICAgICAgICAgaGVhZGluZzI9Ik1hbnkgcHJvcGVydGllcyBhbmQgYWN0aW9ucyIKICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6ImlkIixoZWFkZXI6IklEIixzb3J0YWJsZTohMH0se2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToicm9sZSIsaGVhZGVyOiJSb2xlIixzb3J0YWJsZTohMH0se2tleToiZGVwYXJ0bWVudCIsaGVhZGVyOiJEZXBhcnRtZW50Iixzb3J0YWJsZTohMH0se2tleToiZW1haWwiLGhlYWRlcjoiRW1haWwifSx7a2V5OiJwaG9uZSIsaGVhZGVyOiJQaG9uZSJ9LHtrZXk6ImxvY2F0aW9uIixoZWFkZXI6IkxvY2F0aW9uIixzb3J0YWJsZTohMH0se2tleToic3RhdHVzIixoZWFkZXI6IlN0YXR1cyIsc29ydGFibGU6ITB9LHtrZXk6ImNyZWF0ZWRBdCIsaGVhZGVyOiJDcmVhdGVkIixzb3J0YWJsZTohMH0se2tleToidXBkYXRlZEF0IixoZWFkZXI6IlVwZGF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJsYXN0TG9naW4iLGhlYWRlcjoiTGFzdCBMb2dpbiIsc29ydGFibGU6ITB9LHtrZXk6InByb2plY3RzIixoZWFkZXI6IlByb2plY3RzIn0se2tleToidGFncyIsaGVhZGVyOiJUYWdzIn0se2tleToibm90ZXMiLGhlYWRlcjoiTm90ZXMifV19CiAgICAgICAgICAuZGF0YT0ke1t7aWQ6MSxuYW1lOiJBbGljZSBKb2huc29uIixyb2xlOiJFbmdpbmVlciIsZGVwYXJ0bWVudDoiUiZEIixlbWFpbDoiYWxpY2VAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTEiLGxvY2F0aW9uOiJCZXJsaW4iLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjMtMDEtMTIiLHVwZGF0ZWRBdDoiMjAyNC0wNS0wMyIsbGFzdExvZ2luOiIyMDI0LTEwLTAxIixwcm9qZWN0czo1LHRhZ3M6InR5cGVzY3JpcHQsIHVpIixub3RlczoiTWVudG9yIn0se2lkOjIsbmFtZToiQm9iIFNtaXRoIixyb2xlOiJEZXNpZ25lciIsZGVwYXJ0bWVudDoiRGVzaWduIixlbWFpbDoiYm9iQGNvcnAuY29tIixwaG9uZToiKzEgMjAyIDU1NSAwMTEyIixsb2NhdGlvbjoiUGFyaXMiLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjItMTEtMDUiLHVwZGF0ZWRBdDoiMjAyNC0wNC0xMCIsbGFzdExvZ2luOiIyMDI0LTA5LTI4Iixwcm9qZWN0czo4LHRhZ3M6ImZpZ21hLCBicmFuZCIsbm90ZXM6IlBhcnQtdGltZSJ9LHtpZDozLG5hbWU6IkNoYXJsaWUgRGF2aXMiLHJvbGU6Ik1hbmFnZXIiLGRlcGFydG1lbnQ6Ik9wcyIsZW1haWw6ImNoYXJsaWVAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTMiLGxvY2F0aW9uOiJMb25kb24iLHN0YXR1czoiT24gTGVhdmUiLGNyZWF0ZWRBdDoiMjAyMS0wNC0yMSIsdXBkYXRlZEF0OiIyMDI0LTAyLTE1IixsYXN0TG9naW46IjIwMjQtMDgtMTIiLHByb2plY3RzOjMsdGFnczoic3JlLCBsZWFkZXJzaGlwIixub3RlczoiIn0se2lkOjQsbmFtZToiRGlhbmEgTWFydGluZXoiLHJvbGU6IkVuZ2luZWVyIixkZXBhcnRtZW50OiJQbGF0Zm9ybSIsZW1haWw6ImRpYW5hQGNvcnAuY29tIixwaG9uZToiKzEgMjAyIDU1NSAwMTE0Iixsb2NhdGlvbjoiTWFkcmlkIixzdGF0dXM6IkFjdGl2ZSIsY3JlYXRlZEF0OiIyMDIwLTA2LTMwIix1cGRhdGVkQXQ6IjIwMjQtMDYtMjUiLGxhc3RMb2dpbjoiMjAyNC0xMC0wMiIscHJvamVjdHM6Nix0YWdzOiJub2RlLCBhcGkiLG5vdGVzOiJPbi1jYWxsIn0se2lkOjUsbmFtZToiRXRoYW4gQnJvd24iLHJvbGU6IlN1cHBvcnQiLGRlcGFydG1lbnQ6IkNTIixlbWFpbDoiZXRoYW5AY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTUiLGxvY2F0aW9uOiJSb21lIixzdGF0dXM6IkluYWN0aXZlIixjcmVhdGVkQXQ6IjIwMTktMDktMTgiLHVwZGF0ZWRBdDoiMjAyNC0wMy0wOSIsbGFzdExvZ2luOiIyMDI0LTA2LTE5Iixwcm9qZWN0czoyLHRhZ3M6InplbmRlc2siLG5vdGVzOiJSZWhpcmUifSx7aWQ6NixuYW1lOiJGaW9uYSBDbGFyayIscm9sZToiUUEiLGRlcGFydG1lbnQ6IlFBIixlbWFpbDoiZmlvbmFAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTYiLGxvY2F0aW9uOiJWaWVubmEiLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjItMDMtMTQiLHVwZGF0ZWRBdDoiMjAyNC0wMy0wMSIsbGFzdExvZ2luOiIyMDI0LTA5LTA3Iixwcm9qZWN0czo3LHRhZ3M6InBsYXl3cmlnaHQiLG5vdGVzOiIifV19CiAgICAgICAgICAuZGF0YUFjdGlvbnM9JHtbe25hbWU6IlZpZXciLGljb25OYW1lOiJsdWNpZGU6ZXllIix0eXBlOlsiaW5Sb3ciLCJjb250ZXh0bWVudSJdLGFjdGlvbkZ1bmM6YXN5bmMoe2l0ZW06ZX0pPT57Y29uc29sZS5sb2coInZpZXciLGUpfX0se25hbWU6IkVkaXQiLGljb25OYW1lOiJsdWNpZGU6ZWRpdCIsdHlwZTpbImluUm93IiwiY29udGV4dG1lbnUiXSxhY3Rpb25GdW5jOmFzeW5jKHtpdGVtOmV9KT0+e2NvbnNvbGUubG9nKCJlZGl0IixlKX19LHtuYW1lOiJEZWxldGUiLGljb25OYW1lOiJsdWNpZGU6dHJhc2giLHR5cGU6WyJpblJvdyIsImNvbnRleHRtZW51Il0sYWN0aW9uRnVuYzphc3luYyh7aXRlbTplfSk9Pntjb25zb2xlLmxvZygiZGVsZXRlIixlKX19LHtuYW1lOiJNZXNzYWdlIixpY29uTmFtZToibHVjaWRlOm1lc3NhZ2Utc3F1YXJlIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOmFzeW5jKHtpdGVtOmV9KT0+e2NvbnNvbGUubG9nKCJtZXNzYWdlIixlKX19LHtuYW1lOiJIaXN0b3J5IixpY29uTmFtZToibHVjaWRlOmNsb2NrIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOmFzeW5jKHtpdGVtOmV9KT0+e2NvbnNvbGUubG9nKCJoaXN0b3J5IixlKX19LHtuYW1lOiJBZGQgTmV3IixpY29uTmFtZToibHVjaWRlOnBsdXMiLHR5cGU6WyJoZWFkZXIiXSxhY3Rpb25GdW5jOmFzeW5jKHt0YWJsZTplfSk9Pntjb25zb2xlLmxvZygiYWRkIil9fSx7bmFtZToiRXhwb3J0IENTViIsaWNvbk5hbWU6Imx1Y2lkZTpkb3dubG9hZCIsdHlwZTpbImhlYWRlciJdLGFjdGlvbkZ1bmM6YXN5bmMoe3RhYmxlOmV9KT0+e2NvbnNvbGUubG9nKCJleHBvcnQiKX19LHtuYW1lOiJCdWxrIERlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaC0yIix0eXBlOlsiZm9vdGVyIl0sYWN0aW9uRnVuYzphc3luYyh7dGFibGU6ZX0pPT57Y29uc29sZS5sb2coImJ1bGsgZGVsZXRlIil9fV19CiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+U2Nyb2xsYWJsZSBTbWFsbCBIZWlnaHQ8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5TYW1lIGFzIGFib3ZlLCBidXQgd2l0aCBtYW55IGl0ZW1zIGFuZCBhIHNtYWxsIGZpeGVkIGhlaWdodCB0byBmb3JjZSB2ZXJ0aWNhbCBzY3JvbGxpbmcgaW5zaWRlIHRoZSB0YWJsZS4gQWN0aW9ucyByZW1haW4gdmlzaWJsZSBvbiB0aGUgcmlnaHQ7IGhvcml6b250YWwgc2Nyb2xsIGFwcGVhcnMgaWYgbmVlZGVkLjwvcD4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAjc2Nyb2xsU21hbGxIZWlnaHQgeyAtLXRhYmxlLW1heC1oZWlnaHQ6IDI0MHB4OyB9CiAgICAgICAgPC9zdHlsZT4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaWQ9InNjcm9sbFNtYWxsSGVpZ2h0IgogICAgICAgICAgLnN0aWNreUhlYWRlcj0keyEwfQogICAgICAgICAgaGVhZGluZzE9IlBlb3BsZSBEaXJlY3RvcnkgKFNjcm9sbGFibGUpIgogICAgICAgICAgaGVhZGluZzI9IkZvcmNlZCBzY3JvbGxpbmcgd2l0aCBtYW55IGl0ZW1zIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToiaWQiLGhlYWRlcjoiSUQiLHNvcnRhYmxlOiEwfSx7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJyb2xlIixoZWFkZXI6IlJvbGUiLHNvcnRhYmxlOiEwfSx7a2V5OiJkZXBhcnRtZW50IixoZWFkZXI6IkRlcGFydG1lbnQiLHNvcnRhYmxlOiEwfSx7a2V5OiJlbWFpbCIsaGVhZGVyOiJFbWFpbCJ9LHtrZXk6InBob25lIixoZWFkZXI6IlBob25lIn0se2tleToibG9jYXRpb24iLGhlYWRlcjoiTG9jYXRpb24iLHNvcnRhYmxlOiEwfSx7a2V5OiJzdGF0dXMiLGhlYWRlcjoiU3RhdHVzIixzb3J0YWJsZTohMH0se2tleToiY3JlYXRlZEF0IixoZWFkZXI6IkNyZWF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJ1cGRhdGVkQXQiLGhlYWRlcjoiVXBkYXRlZCIsc29ydGFibGU6ITB9LHtrZXk6Imxhc3RMb2dpbiIsaGVhZGVyOiJMYXN0IExvZ2luIixzb3J0YWJsZTohMH0se2tleToicHJvamVjdHMiLGhlYWRlcjoiUHJvamVjdHMifSx7a2V5OiJ0YWdzIixoZWFkZXI6IlRhZ3MifSx7a2V5OiJub3RlcyIsaGVhZGVyOiJOb3RlcyJ9XX0KICAgICAgICAgIC5kYXRhPSR7QXJyYXkuZnJvbSh7bGVuZ3RoOjEwMH0sKGUsdCk9Pih7aWQ6dCsxLG5hbWU6YFVzZXIgJHt0KzF9YCxyb2xlOlsiRW5naW5lZXIiLCJEZXNpZ25lciIsIk1hbmFnZXIiLCJRQSIsIlN1cHBvcnQiXVt0JTVdLGRlcGFydG1lbnQ6WyJSJkQiLCJEZXNpZ24iLCJPcHMiLCJRQSIsIkNTIl1bdCU1XSxlbWFpbDpgdXNlciR7dCsxfUBjb3JwLmNvbWAscGhvbmU6YCsxIDIwMiA1NTUgJHtTdHJpbmcoMWUzK3QpLnNsaWNlKC00KX1gLGxvY2F0aW9uOlsiQmVybGluIiwiUGFyaXMiLCJMb25kb24iLCJNYWRyaWQiLCJSb21lIl1bdCU1XSxzdGF0dXM6WyJBY3RpdmUiLCJJbmFjdGl2ZSIsIk9uIExlYXZlIl1bdCUzXSxjcmVhdGVkQXQ6YDIwMjMtJHtTdHJpbmcodCUxMisxKS5wYWRTdGFydCgyLCIwIil9LSR7U3RyaW5nKHQlMjgrMSkucGFkU3RhcnQoMiwiMCIpfWAsdXBkYXRlZEF0OmAyMDI0LSR7U3RyaW5nKCh0KzMpJTEyKzEpLnBhZFN0YXJ0KDIsIjAiKX0tJHtTdHJpbmcoKHQrNyklMjgrMSkucGFkU3RhcnQoMiwiMCIpfWAsbGFzdExvZ2luOmAyMDI0LSR7U3RyaW5nKCh0KzYpJTEyKzEpLnBhZFN0YXJ0KDIsIjAiKX0tJHtTdHJpbmcoKHQrMTApJTI4KzEpLnBhZFN0YXJ0KDIsIjAiKX1gLHByb2plY3RzOnQlMTIsdGFnczp0JTI/InR5cGVzY3JpcHQiOiJkZXNpZ24iLG5vdGVzOnQlMz8iIjoiTm90ZSJ9KSl9CiAgICAgICAgICAuZGF0YUFjdGlvbnM9JHtbe25hbWU6IlZpZXciLGljb25OYW1lOiJsdWNpZGU6ZXllIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOmFzeW5jKHtpdGVtOmV9KT0+e319LHtuYW1lOiJFZGl0IixpY29uTmFtZToibHVjaWRlOmVkaXQiLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6YXN5bmMoe2l0ZW06ZX0pPT57fX0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaCIsdHlwZTpbImluUm93Il0sYWN0aW9uRnVuYzphc3luYyh7aXRlbTplfSk9Pnt9fV19CiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYH0pO3ZhciB3Y3IsTWNyPWYoKCk9Pnt1ZSgpO0puKCk7UWUoKTt3Y3I9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5tYWluYm94IHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDMuOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTZweCAyNHB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDY0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nQ29udGFpbmVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuaGVhZGluZyB7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcxIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CiAgICAgIAogICAgICAuaGVhZGluZzIgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nU2VwYXJhdGlvbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLmhlYWRlckFjdGlvbnMgewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQogICAgICAKICAgICAgLmhlYWRlckFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmhlYWRlckFjdGlvbjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICB9CgogICAgICAuaGVhZGVyQWN0aW9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuc2VhcmNoR3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLWdhcDogMTZweDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBtYXgtY29udGVudDsKICAgICAgICBwYWRkaW5nOiAxNnB4IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk4JSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAgICAgICAuc2VhcmNoR3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qIGxldCBzZWFyY2ggbW9kZSBzaXplIHRvIGNvbnRlbnQgKG5vIGZvcmNlZCB3aWR0aCkgKi8KCiAgICAgIC5zZWFyY2hHcmlkLmhpZGRlbiB7CiAgICAgICAgaGVpZ2h0OiAwcHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBhZGRpbmc6IDBweCAyNHB4OwogICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDsKICAgICAgfQoKICAgICAgLnRhYmxlU2Nyb2xsIHsKICAgICAgICAvKiBlbmFibGUgaG9yaXpvbnRhbCBzY3JvbGwgb25seSB3aGVuIGNvbnRlbnQgZXhjZWVkcyB3aWR0aCAqLwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgLyogcHJldmVudCB2ZXJ0aWNhbCBzY3JvbGwgaW5zaWRlIHRoZSB0YWJsZSBjb250YWluZXIgKi8KICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47CiAgICAgICAgLyogYXZvaWQgcmVzZXJ2aW5nIGV4dHJhIHNwYWNlIGZvciBjbGFzc2ljIHNjcm9sbGJhcnMgd2hlcmUgcG9zc2libGUgKi8KICAgICAgICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGUgYm90aC1lZGdlczsKICAgICAgfQogICAgICAvKiBIaWRlIGhvcml6b250YWwgc2Nyb2xsYmFyIGVudGlyZWx5IHdoZW4gbm90IHVzaW5nIHN0aWNreSBoZWFkZXIgKi8KICAgICAgOmhvc3QoOm5vdChbc3RpY2t5LWhlYWRlcl0pKSAudGFibGVTY3JvbGwgewogICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUvRWRnZSAqLwogICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgICAvKiBGaXJlZm94IChoaWRlcyBib3RoIGF4ZXMpICovCiAgICAgIH0KICAgICAgOmhvc3QoOm5vdChbc3RpY2t5LWhlYWRlcl0pKSAudGFibGVTY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICBkaXNwbGF5OiBub25lOyAvKiBDaHJvbWUvU2FmYXJpICovCiAgICAgIH0KICAgICAgLyogSW4gc3RpY2t5LWhlYWRlciBtb2RlLCBoaWRlIG9ubHkgdGhlIGhvcml6b250YWwgc2Nyb2xsYmFyIGluIFdlYktpdC9CbGluayAqLwogICAgICA6aG9zdChbc3RpY2t5LWhlYWRlcl0pIC50YWJsZVNjcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXI6aG9yaXpvbnRhbCB7CiAgICAgICAgaGVpZ2h0OiAwcHg7CiAgICAgIH0KICAgICAgOmhvc3QoW3N0aWNreS1oZWFkZXJdKSAudGFibGVTY3JvbGwgewogICAgICAgIG1heC1oZWlnaHQ6IHZhcigtLXRhYmxlLW1heC1oZWlnaHQsIDM2MHB4KTsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfQoKICAgICAgdGFibGUgewogICAgICAgIC8qIGFsbG93IHRhYmxlIHRvIGdyb3cgd2lkZXIgdGhhbiBjb250YWluZXIgc28gYWN0aW9ucyBjb2x1bW4gY2FuIHN0aWNrICovCiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50OwogICAgICAgIG1pbi13aWR0aDogMTAwJTsKICAgICAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsKICAgICAgICBib3JkZXItc3BhY2luZzogMDsKICAgICAgfQogICAgICAKICAgICAgLm5vRGF0YVNldCB7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgfQogICAgICAKICAgICAgdGhlYWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KICAgICAgOmhvc3QoW3N0aWNreS1oZWFkZXJdKSB0aGVhZCB0aCB7CiAgICAgICAgcG9zaXRpb246IHN0aWNreTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgfQogICAgICAKICAgICAgdGJvZHkgdHIgewogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIERlZmF1bHQgaG9yaXpvbnRhbCBsaW5lcyAoYm90dG9tIGJvcmRlciBvbmx5KSAqLwogICAgICB0Ym9keSB0ciB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIHRib2R5IHRyOmxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEZ1bGwgaG9yaXpvbnRhbCBsaW5lcyB3aGVuIGVuYWJsZWQgKi8KICAgICAgOmhvc3QoW3Nob3ctaG9yaXpvbnRhbC1saW5lc10pIHRib2R5IHRyIHsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctaG9yaXpvbnRhbC1saW5lc10pIHRib2R5IHRyOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy1ob3Jpem9udGFsLWxpbmVzXSkgdGJvZHkgdHI6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIHRib2R5IHRyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUgLyAwLjUpIiwiaHNsKDAgMCUgMTQuOSUgLyAwLjUpIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBDb2x1bW4gaG92ZXIgZWZmZWN0IGZvciBiZXR0ZXIgdHJhY2VhYmlsaXR5ICovCiAgICAgIHRkIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KICAgICAgCiAgICAgIHRkOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUgLyAwLjMpIiwiaHNsKDAgMCUgMTQuOSUgLyAwLjMpIil9OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIHotaW5kZXg6IC0xOwogICAgICB9CiAgICAgIAogICAgICB0ZDpob3Zlcjo6YWZ0ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEdyaWQgbW9kZSAtIHNob3dzIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWwgbGluZXMgKi8KICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRoIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0ZCB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy1ncmlkXSkgdGg6Zmlyc3QtY2hpbGQsCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0ZDpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy1ncmlkXSkgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQgewogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFN0aWNreSBBY3Rpb25zIGNvbHVtbiAocmlnaHQgcGlubmVkKSAqLwogICAgICB0aGVhZCB0aC5hY3Rpb25zQ29sLAogICAgICB0Ym9keSB0ZC5hY3Rpb25zQ29sIHsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICB9CiAgICAgIHRoZWFkIHRoLmFjdGlvbnNDb2wgeyB6LWluZGV4OiAzOyB9CiAgICAgIHRib2R5IHRkLmFjdGlvbnNDb2wgewogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgYm94LXNoYWRvdzogLTFweCAwIDAgMCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CiAgICAgIAogICAgICB0Ym9keSB0ci5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgdGJvZHkgdHIuaGFzQXR0YWNobWVudCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjEpIil9OwogICAgICB9CgogICAgICB0aCB7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LXZlcnRpY2FsLWxpbmVzXSkgdGggewogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIHRkIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDI0cHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDMuOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctdmVydGljYWwtbGluZXNdKSB0ZCB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQogICAgICAKICAgICAgdGg6Zmlyc3QtY2hpbGQsCiAgICAgIHRkOmZpcnN0LWNoaWxkIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIHRoOmxhc3QtY2hpbGQsCiAgICAgIHRkOmxhc3QtY2hpbGQgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LXZlcnRpY2FsLWxpbmVzXSkgdGg6bGFzdC1jaGlsZCwKICAgICAgOmhvc3QoW3Nob3ctdmVydGljYWwtbGluZXNdKSB0ZDpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5pbm5lckNlbGxDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAyNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICB9CiAgICAgIHRkIGlucHV0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA0cHg7CiAgICAgICAgYm90dG9tOiA0cHg7CiAgICAgICAgbGVmdDogMjBweDsKICAgICAgICByaWdodDogMjBweDsKICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpOwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDMuOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSk7CiAgICAgIH0KICAgICAgCiAgICAgIHRkIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMikiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjIpIil9OwogICAgICB9CgogICAgICAvKiBmaWx0ZXIgcm93ICovCiAgICAgIHRoZWFkIHRyLmZpbHRlcnNSb3cgdGggewogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDEycHggMTJweDsKICAgICAgfQogICAgICB0aGVhZCB0ci5maWx0ZXJzUm93IHRoIGlucHV0W3R5cGU9J3RleHQnXSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBwYWRkaW5nOiA2cHggOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAzLjklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgIH0KICAgICAgLmFjdGlvbnNDb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQogICAgICAKICAgICAgLmFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMCAwJSAxMS44JSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5hY3Rpb24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgaGVpZ2h0OiA1MnB4OwogICAgICAgIHBhZGRpbmc6IDAgMjRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlU3RhdGlzdGljcyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmZvb3RlckFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5mb290ZXJBY3Rpb25zIC5mb290ZXJBY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5mb290ZXJBY3Rpb25zIC5mb290ZXJBY3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAuZm9vdGVyQWN0aW9ucyAuZm9vdGVyQWN0aW9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CiAgYF19KTtmdW5jdGlvbiBmNmUoZSx0KXtpZighdHx8dC5sZW5ndGg9PT0wKXJldHVybltdO2xldCByPWUodFswXSk7cmV0dXJuIE9iamVjdC5rZXlzKHIpLm1hcChpPT4oe2tleTppLGhlYWRlcjppLHZhbHVlOm49PmUobilbaV19KSl9ZnVuY3Rpb24ga2NyKGUsdCxyLGEpe2xldCBpPShlfHxbXSkuc2xpY2UoKTtpZighdClyZXR1cm4gaTtsZXQgbj1mNmUocixhKSxzPW5ldyBTZXQoaS5tYXAobz0+U3RyaW5nKG8ua2V5KSkpO2ZvcihsZXQgbyBvZiBuKXMuaGFzKFN0cmluZyhvLmtleSkpfHxpLnB1c2gobyk7cmV0dXJuIGl9ZnVuY3Rpb24gQ2YoZSx0LHIpe3JldHVybiB0LnZhbHVlP3QudmFsdWUoZSk6ZVt0LmtleV19ZnVuY3Rpb24gU2NyKGUsdCxyLGEsaSxuLHM9InRhYmxlIixvKXtsZXQgYz1lLnNsaWNlKCksbD0oaXx8IiIpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLHU9bnx8e30sZD1PYmplY3Qua2V5cyh1KS5maWx0ZXIodj0+KHVbdl0/PyIiKS50cmltKCkubGVuZ3RoPjApO2lmKChsfHxkLmxlbmd0aD4wKSYmKGM9Yy5maWx0ZXIodj0+e2ZvcihsZXQgYiBvZiBkKWlmKHM9PT0iZGF0YSIpe2xldCBnPXZbYl0seT1TdHJpbmcoZz8/IiIpLnRvTG93ZXJDYXNlKCksdz1TdHJpbmcodVtiXSkudG9Mb3dlckNhc2UoKTtpZigheS5pbmNsdWRlcyh3KSlyZXR1cm4hMX1lbHNle2xldCBnPXQuZmluZChSPT5TdHJpbmcoUi5rZXkpPT09Yik7aWYoIWd8fGcuaGlkZGVufHxnLmZpbHRlcmFibGU9PT0hMSljb250aW51ZTtsZXQgeT1DZih2LGcpLHc9U3RyaW5nKHk/PyIiKS50b0xvd2VyQ2FzZSgpLGs9U3RyaW5nKHVbYl0pLnRvTG93ZXJDYXNlKCk7aWYoIXcuaW5jbHVkZXMoaykpcmV0dXJuITF9aWYobCl7aWYobylyZXR1cm4hIW8odik7bGV0IGI9ITE7aWYocz09PSJkYXRhIil7Zm9yKGxldCBnIG9mIE9iamVjdC52YWx1ZXModikpaWYoU3RyaW5nKGc/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGwpKXtiPSEwO2JyZWFrfX1lbHNlIGZvcihsZXQgZyBvZiB0KXtpZihnLmhpZGRlbiljb250aW51ZTtsZXQgeT1DZih2LGcpO2lmKFN0cmluZyh5Pz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsKSl7Yj0hMDticmVha319aWYoIWIpcmV0dXJuITF9cmV0dXJuITB9KSksIXJ8fCFhKXJldHVybiBjO2xldCBoPXQuZmluZCh2PT5TdHJpbmcodi5rZXkpPT09cik7aWYoIWgpcmV0dXJuIGM7bGV0IG09YT09PSJhc2MiPzE6LTE7cmV0dXJuIGMuc29ydCgodixiKT0+e2xldCBnPUNmKHYsaCkseT1DZihiLGgpO2lmKGc9PW51bGwmJnk9PW51bGwpcmV0dXJuIDA7aWYoZz09bnVsbClyZXR1cm4tMSptO2lmKHk9PW51bGwpcmV0dXJuIDEqbTtpZih0eXBlb2YgZz09Im51bWJlciImJnR5cGVvZiB5PT0ibnVtYmVyIilyZXR1cm4oZy15KSptO2xldCB3PVN0cmluZyhnKS50b0xvd2VyQ2FzZSgpLGs9U3RyaW5nKHkpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHc8az8tMSptOnc+az8xKm06MH0pLGN9dmFyIHpjcj1mKCgpPT57fSk7ZnVuY3Rpb24gTEYoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgnIicpJiZlLmVuZHNXaXRoKCciJyl8fGUuc3RhcnRzV2l0aCgiJyIpJiZlLmVuZHNXaXRoKCInIik/ZS5zbGljZSgxLC0xKTplfWZ1bmN0aW9uIFlRcihlKXtyZXR1cm4gZS5zcGxpdCgvXHMrT1JccysvaSkubWFwKHQ9PnQudHJpbSgpKS5maWx0ZXIoQm9vbGVhbil9ZnVuY3Rpb24gWlFyKGUpe3JldHVybiBlLnNwbGl0KC9ccytBTkRccysvaSkubWFwKHQ9PnQudHJpbSgpKS5maWx0ZXIoQm9vbGVhbil9ZnVuY3Rpb24gWFFyKGUpe2lmKCFlKXJldHVybiBudWxsO2xldCB0PSExLHI9ZS5tYXRjaCgvXlxzKihOT1Rccyt8LSlccyooLiopJC9pKTtyJiYodD0hMCxlPXJbMl0pO2xldCBhPWUubWF0Y2goL14oW146XHNdKylccyo6XHMqXFsoLio/KVxzK1RPXHMrKC4qPylcXSQvaSk7aWYoYSlyZXR1cm57ZmllbGQ6YVsxXSxuZWdhdGU6dCxyYW5nZTp7bG93ZXI6TEYoYVsyXSkudG9Mb3dlckNhc2UoKSx1cHBlcjpMRihhWzNdKS50b0xvd2VyQ2FzZSgpLGluY2x1c2l2ZTohMH19O2xldCBpPWUubWF0Y2goL14oW146XHNdKylccyo6XHMqKCJbXiJdKiJ8J1teJ10qJ3xbXiInXHNdKykkLyk7cmV0dXJuIGk/e2ZpZWxkOmlbMV0sdmFsdWU6TEYoaVsyXSkudG9Mb3dlckNhc2UoKSxuZWdhdGU6dH06ZS5sZW5ndGg+MD97dmFsdWU6TEYoZSkudG9Mb3dlckNhc2UoKSxuZWdhdGU6dH06bnVsbH1mdW5jdGlvbiBRUXIoZSl7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHQ9WVFyKGUpLm1hcChyPT4oe3Rlcm1zOlpRcihyKS5tYXAoWFFyKS5maWx0ZXIoaT0+ISFpJiYhIWkudmFsdWUpfSkpLmZpbHRlcihyPT5yLnRlcm1zLmxlbmd0aD4wKTtyZXR1cm4gdC5sZW5ndGg9PT0wP251bGw6e2NsYXVzZXM6dH19ZnVuY3Rpb24gQ2NyKGUsdCxyKXtsZXQgYT1RUXIoZSk7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGk9bmV3IE1hcChyLm1hcChjPT5bU3RyaW5nKGMua2V5KSxjXSkpLG49KGMsbCk9PmM8bD8tMTpjPmw/MTowLHM9Yz0+e2xldCBsPVN0cmluZyhjPz8iIikudG9Mb3dlckNhc2UoKSx1PU51bWJlcihsKSxkPURhdGUucGFyc2UobCk7cmV0dXJuIU51bWJlci5pc05hTih1KSYmbC50cmltKCkhPT0iIj97dDoibiIsdjp1fTpOdW1iZXIuaXNOYU4oZCk/e3Q6InMiLHY6bH06e3Q6ImQiLHY6ZH19LG89KGMsbCx1KT0+e2xldCBkPXMoYyksaD1zKGwpLG09cyh1KTtpZihkLnQ9PT0icyImJmgudD09PSJzIiYmbS50PT09InMiKXtsZXQgYj1kLnY7cmV0dXJuIG4oYixoLnYpPj0wJiZuKGIsbS52KTw9MH1pZihkLnQ9PT0ibiImJmgudD09PSJuIiYmbS50PT09Im4iKXtsZXQgYj1kLnY7cmV0dXJuIGI+PWgudiYmYjw9bS52fWlmKGQudD09PSJkIiYmaC50PT09ImQiJiZtLnQ9PT0iZCIpe2xldCBiPWQudjtyZXR1cm4gYj49aC52JiZiPD1tLnZ9bGV0IHY9U3RyaW5nKGM/PyIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBuKHYsbCk+PTAmJm4odix1KTw9MH07cmV0dXJuIGM9Pntmb3IobGV0IGwgb2YgYS5jbGF1c2VzKXtsZXQgdT0hMDtmb3IobGV0IGQgb2YgbC50ZXJtcyl7bGV0IGg9ITE7aWYoZC5yYW5nZSYmZC5maWVsZClpZih0PT09ImRhdGEiKWg9byhjW2QuZmllbGRdLGQucmFuZ2UubG93ZXIsZC5yYW5nZS51cHBlcik7ZWxzZXtsZXQgbT1pLmdldChkLmZpZWxkKTtpZighbXx8bS5oaWRkZW4paD0hMTtlbHNle2xldCB2PW0udmFsdWU/bS52YWx1ZShjKTpjW20ua2V5XTtoPW8odixkLnJhbmdlLmxvd2VyLGQucmFuZ2UudXBwZXIpfX1lbHNlIGlmKGQuZmllbGQmJmQudmFsdWUhPW51bGwpaWYodD09PSJkYXRhIiloPVN0cmluZyhjW2QuZmllbGRdPz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhkLnZhbHVlKTtlbHNle2xldCBtPWkuZ2V0KGQuZmllbGQpO2lmKCFtfHxtLmhpZGRlbj09PSEwKWg9ITE7ZWxzZXtsZXQgdj1tLnZhbHVlP20udmFsdWUoYyk6Y1ttLmtleV07aD1TdHJpbmcodj8/IiIpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZC52YWx1ZSl9fWVsc2UgZC52YWx1ZSE9bnVsbCYmKHQ9PT0iZGF0YSI/aD1PYmplY3QudmFsdWVzKGMpLnNvbWUobT0+U3RyaW5nKG0/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGQudmFsdWUpKTpoPXIuc29tZShtPT57aWYobS5oaWRkZW4pcmV0dXJuITE7bGV0IHY9bS52YWx1ZT9tLnZhbHVlKGMpOmNbbS5rZXldO3JldHVybiBTdHJpbmcodj8/IiIpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZC52YWx1ZSl9KSk7aWYoZC5uZWdhdGUmJihoPSFoKSwhaCl7dT0hMTticmVha319aWYodSlyZXR1cm4hMH1yZXR1cm4hMX19dmFyIFRjcj1mKCgpPT57fSk7dmFyIFByLHN0LCRGLHA2ZT1mKCgpPT57d2koKTt5Y3IoKTt1ZSgpO01pKCk7SnQoKTtpcigpO01jcigpO3pjcigpO1RjcigpO1FlKCk7UHI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxzdD1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sJEY9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXRhYmxlIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W10sVixCPVtdLFU9W10sSyxJPVtdLHZlPVtdLE1lLFA9W10sbGU9W10sU2UsWj1bXSxBPVtdLCQsaj1bXSxIPVtdLFksZGU9W10sd2U9W10sTGUsRz1bXSxXPVtdLGFlLHllPVtdLG1lPVtdLENlLGJlPVtdLG5lPVtdLHplLEllPVtdLFplPVtdLHRlLFg9W10sZWU9W10seGUsQWU9W10sVWU9W10sa3QscnQ9W10sJHQ9W10sVXQsb2U9W10sY2U9W10sX2UsdnQ9W10senQ9W10sWnIsaDE9W10sUXM9W10sSnMsa2U9W10sRWU9W10sQnQsT3I9W10sUXI9W10sbGEsSnI9W10sS3M9W10sZW8sdG89W10sR2Y9W107dmFyIFlmPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgVGU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpBcnJheX0pXSx2PVtGKHt0eXBlOlN0cmluZ30pXSx5PVtGKHt0eXBlOlN0cmluZ30pXSxSPVtGKHt0eXBlOkJvb2xlYW59KV0sTz1bRih7dHlwZTpCb29sZWFufSldLHE9W0Yoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sRT1bRih7dHlwZTpCb29sZWFufSldLFY9W0Yoe3R5cGU6QXJyYXl9KV0sSz1bRih7YXR0cmlidXRlOiExfSldLE1lPVtGKHthdHRyaWJ1dGU6ITF9KV0sU2U9W0Yoe3R5cGU6Qm9vbGVhbn0pXSwkPVtGKHthdHRyaWJ1dGU6ITF9KV0sWT1bRih7YXR0cmlidXRlOiExfSldLExlPVtGKHt0eXBlOk9iamVjdH0pXSxhZT1bRih7dHlwZTpBcnJheX0pXSxDZT1bRih7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJzaG93LXZlcnRpY2FsLWxpbmVzIn0pXSx6ZT1bRih7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJzaG93LWhvcml6b250YWwtbGluZXMifSldLHRlPVtGKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMCxhdHRyaWJ1dGU6InNob3ctZ3JpZCJ9KV0seGU9W0Yoe2F0dHJpYnV0ZTohMX0pXSxrdD1bRih7YXR0cmlidXRlOiExfSldLFV0PVtGKHt0eXBlOlN0cmluZ30pXSxfZT1bRih7YXR0cmlidXRlOiExfSldLFpyPVtGKHt0eXBlOkJvb2xlYW4sYXR0cmlidXRlOiJzaG93LWNvbHVtbi1maWx0ZXJzIn0pXSxKcz1bRih7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJzdGlja3ktaGVhZGVyIn0pXSxCdD1bRih7dHlwZTpTdHJpbmd9KV0sbGE9W0Yoe3R5cGU6U3RyaW5nfSldLGVvPVtGKHthdHRyaWJ1dGU6ITF9KV0sUHIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nMSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJoZWFkaW5nMSJpbiBnZSxnZXQ6Z2U9PmdlLmhlYWRpbmcxLHNldDooZ2UsQmUpPT57Z2UuaGVhZGluZzE9QmV9fSxtZXRhZGF0YTpUZX0scyxvKSxQcih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmcyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnZT0+ImhlYWRpbmcyImluIGdlLGdldDpnZT0+Z2UuaGVhZGluZzIsc2V0OihnZSxCZSk9PntnZS5oZWFkaW5nMj1CZX19LG1ldGFkYXRhOlRlfSxsLHUpLFByKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJkYXRhImluIGdlLGdldDpnZT0+Z2UuZGF0YSxzZXQ6KGdlLEJlKT0+e2dlLmRhdGE9QmV9fSxtZXRhZGF0YTpUZX0saCxtKSxQcih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJrZXkiaW4gZ2UsZ2V0OmdlPT5nZS5rZXksc2V0OihnZSxCZSk9PntnZS5rZXk9QmV9fSxtZXRhZGF0YTpUZX0sYixnKSxQcih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnZT0+ImxhYmVsImluIGdlLGdldDpnZT0+Z2UubGFiZWwsc2V0OihnZSxCZSk9PntnZS5sYWJlbD1CZX19LG1ldGFkYXRhOlRlfSx3LGspLFByKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzYWJsZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmdlPT4iZGlzYWJsZWQiaW4gZ2UsZ2V0OmdlPT5nZS5kaXNhYmxlZCxzZXQ6KGdlLEJlKT0+e2dlLmRpc2FibGVkPUJlfX0sbWV0YWRhdGE6VGV9LEMsUyksUHIodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJyZXF1aXJlZCJpbiBnZSxnZXQ6Z2U9PmdlLnJlcXVpcmVkLHNldDooZ2UsQmUpPT57Z2UucmVxdWlyZWQ9QmV9fSxtZXRhZGF0YTpUZX0sRCxOKSxQcih0aGlzLG51bGwscSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnZT0+ImRhdGFOYW1lImluIGdlLGdldDpnZT0+Z2UuZGF0YU5hbWUsc2V0OihnZSxCZSk9PntnZS5kYXRhTmFtZT1CZX19LG1ldGFkYXRhOlRlfSxfLHopLFByKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoYWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJzZWFyY2hhYmxlImluIGdlLGdldDpnZT0+Z2Uuc2VhcmNoYWJsZSxzZXQ6KGdlLEJlKT0+e2dlLnNlYXJjaGFibGU9QmV9fSxtZXRhZGF0YTpUZX0sVCxMKSxQcih0aGlzLG51bGwsVix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFBY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnZT0+ImRhdGFBY3Rpb25zImluIGdlLGdldDpnZT0+Z2UuZGF0YUFjdGlvbnMsc2V0OihnZSxCZSk9PntnZS5kYXRhQWN0aW9ucz1CZX19LG1ldGFkYXRhOlRlfSxCLFUpLFByKHRoaXMsbnVsbCxLLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sdW1ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJjb2x1bW5zImluIGdlLGdldDpnZT0+Z2UuY29sdW1ucyxzZXQ6KGdlLEJlKT0+e2dlLmNvbHVtbnM9QmV9fSxtZXRhZGF0YTpUZX0sSSx2ZSksUHIodGhpcyxudWxsLE1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm93S2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnZT0+InJvd0tleSJpbiBnZSxnZXQ6Z2U9PmdlLnJvd0tleSxzZXQ6KGdlLEJlKT0+e2dlLnJvd0tleT1CZX19LG1ldGFkYXRhOlRlfSxQLGxlKSxQcih0aGlzLG51bGwsU2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbiJpbiBnZSxnZXQ6Z2U9PmdlLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uLHNldDooZ2UsQmUpPT57Z2UuYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb249QmV9fSxtZXRhZGF0YTpUZX0sWixBKSxQcih0aGlzLG51bGwsJCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc3BsYXlGdW5jdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJkaXNwbGF5RnVuY3Rpb24iaW4gZ2UsZ2V0OmdlPT5nZS5kaXNwbGF5RnVuY3Rpb24sc2V0OihnZSxCZSk9PntnZS5kaXNwbGF5RnVuY3Rpb249QmV9fSxtZXRhZGF0YTpUZX0saixIKSxQcih0aGlzLG51bGwsWSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJldmVyc2VEaXNwbGF5RnVuY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmdlPT4icmV2ZXJzZURpc3BsYXlGdW5jdGlvbiJpbiBnZSxnZXQ6Z2U9PmdlLnJldmVyc2VEaXNwbGF5RnVuY3Rpb24sc2V0OihnZSxCZSk9PntnZS5yZXZlcnNlRGlzcGxheUZ1bmN0aW9uPUJlfX0sbWV0YWRhdGE6VGV9LGRlLHdlKSxQcih0aGlzLG51bGwsTGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERhdGFSb3ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmdlPT4ic2VsZWN0ZWREYXRhUm93ImluIGdlLGdldDpnZT0+Z2Uuc2VsZWN0ZWREYXRhUm93LHNldDooZ2UsQmUpPT57Z2Uuc2VsZWN0ZWREYXRhUm93PUJlfX0sbWV0YWRhdGE6VGV9LEcsVyksUHIodGhpcyxudWxsLGFlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZWRpdGFibGVGaWVsZHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmdlPT4iZWRpdGFibGVGaWVsZHMiaW4gZ2UsZ2V0OmdlPT5nZS5lZGl0YWJsZUZpZWxkcyxzZXQ6KGdlLEJlKT0+e2dlLmVkaXRhYmxlRmllbGRzPUJlfX0sbWV0YWRhdGE6VGV9LHllLG1lKSxQcih0aGlzLG51bGwsQ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VmVydGljYWxMaW5lcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJzaG93VmVydGljYWxMaW5lcyJpbiBnZSxnZXQ6Z2U9PmdlLnNob3dWZXJ0aWNhbExpbmVzLHNldDooZ2UsQmUpPT57Z2Uuc2hvd1ZlcnRpY2FsTGluZXM9QmV9fSxtZXRhZGF0YTpUZX0sYmUsbmUpLFByKHRoaXMsbnVsbCx6ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dIb3Jpem9udGFsTGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmdlPT4ic2hvd0hvcml6b250YWxMaW5lcyJpbiBnZSxnZXQ6Z2U9PmdlLnNob3dIb3Jpem9udGFsTGluZXMsc2V0OihnZSxCZSk9PntnZS5zaG93SG9yaXpvbnRhbExpbmVzPUJlfX0sbWV0YWRhdGE6VGV9LEllLFplKSxQcih0aGlzLG51bGwsdGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93R3JpZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJzaG93R3JpZCJpbiBnZSxnZXQ6Z2U9PmdlLnNob3dHcmlkLHNldDooZ2UsQmUpPT57Z2Uuc2hvd0dyaWQ9QmV9fSxtZXRhZGF0YTpUZX0sWCxlZSksUHIodGhpcyxudWxsLHhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic29ydEtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJzb3J0S2V5ImluIGdlLGdldDpnZT0+Z2Uuc29ydEtleSxzZXQ6KGdlLEJlKT0+e2dlLnNvcnRLZXk9QmV9fSxtZXRhZGF0YTpUZX0sQWUsVWUpLFByKHRoaXMsbnVsbCxrdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNvcnREaXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmdlPT4ic29ydERpciJpbiBnZSxnZXQ6Z2U9PmdlLnNvcnREaXIsc2V0OihnZSxCZSk9PntnZS5zb3J0RGlyPUJlfX0sbWV0YWRhdGE6VGV9LHJ0LCR0KSxQcih0aGlzLG51bGwsVXQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJUZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnZT0+ImZpbHRlclRleHQiaW4gZ2UsZ2V0OmdlPT5nZS5maWx0ZXJUZXh0LHNldDooZ2UsQmUpPT57Z2UuZmlsdGVyVGV4dD1CZX19LG1ldGFkYXRhOlRlfSxvZSxjZSksUHIodGhpcyxudWxsLF9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sdW1uRmlsdGVycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJjb2x1bW5GaWx0ZXJzImluIGdlLGdldDpnZT0+Z2UuY29sdW1uRmlsdGVycyxzZXQ6KGdlLEJlKT0+e2dlLmNvbHVtbkZpbHRlcnM9QmV9fSxtZXRhZGF0YTpUZX0sdnQsenQpLFByKHRoaXMsbnVsbCxacix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDb2x1bW5GaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnZT0+InNob3dDb2x1bW5GaWx0ZXJzImluIGdlLGdldDpnZT0+Z2Uuc2hvd0NvbHVtbkZpbHRlcnMsc2V0OihnZSxCZSk9PntnZS5zaG93Q29sdW1uRmlsdGVycz1CZX19LG1ldGFkYXRhOlRlfSxoMSxRcyksUHIodGhpcyxudWxsLEpzLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RpY2t5SGVhZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnZT0+InN0aWNreUhlYWRlciJpbiBnZSxnZXQ6Z2U9PmdlLnN0aWNreUhlYWRlcixzZXQ6KGdlLEJlKT0+e2dlLnN0aWNreUhlYWRlcj1CZX19LG1ldGFkYXRhOlRlfSxrZSxFZSksUHIodGhpcyxudWxsLEJ0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJzZWFyY2hNb2RlImluIGdlLGdldDpnZT0+Z2Uuc2VhcmNoTW9kZSxzZXQ6KGdlLEJlKT0+e2dlLnNlYXJjaE1vZGU9QmV9fSxtZXRhZGF0YTpUZX0sT3IsUXIpLFByKHRoaXMsbnVsbCxsYSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGlvbk1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmdlPT4ic2VsZWN0aW9uTW9kZSJpbiBnZSxnZXQ6Z2U9PmdlLnNlbGVjdGlvbk1vZGUsc2V0OihnZSxCZSk9PntnZS5zZWxlY3Rpb25Nb2RlPUJlfX0sbWV0YWRhdGE6VGV9LEpyLEtzKSxQcih0aGlzLG51bGwsZW8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZElkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Z2U9PiJzZWxlY3RlZElkcyJpbiBnZSxnZXQ6Z2U9PmdlLnNlbGVjdGVkSWRzLHNldDooZ2UsQmUpPT57Z2Uuc2VsZWN0ZWRJZHM9QmV9fSxtZXRhZGF0YTpUZX0sdG8sR2YpLFByKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOlRlfSxudWxsLHIpLFlmPWE9dC52YWx1ZSxUZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpUZX0pfXN0YXRpYyBkZW1vPXhjcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhdGEgVmlldyJdOyNlPXN0KHRoaXMscywiaGVhZGluZyAxIik7Z2V0IGhlYWRpbmcxKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcxKFRlKXt0aGlzLiNlPVRlfSN0PShzdCh0aGlzLG8pLHN0KHRoaXMsbCwiaGVhZGluZyAyIikpO2dldCBoZWFkaW5nMigpe3JldHVybiB0aGlzLiN0fXNldCBoZWFkaW5nMihUZSl7dGhpcy4jdD1UZX0jcj0oc3QodGhpcyx1KSxzdCh0aGlzLGgsW10pKTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNyfXNldCBkYXRhKFRlKXt0aGlzLiNyPVRlfSNhPShzdCh0aGlzLG0pLHN0KHRoaXMsYix2b2lkIDApKTtnZXQga2V5KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGtleShUZSl7dGhpcy4jYT1UZX0jaT0oc3QodGhpcyxnKSxzdCh0aGlzLHcsdm9pZCAwKSk7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGxhYmVsKFRlKXt0aGlzLiNpPVRlfSNuPShzdCh0aGlzLGspLHN0KHRoaXMsQywhMSkpO2dldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLiNufXNldCBkaXNhYmxlZChUZSl7dGhpcy4jbj1UZX0jcz0oc3QodGhpcyxTKSxzdCh0aGlzLEQsITEpKTtnZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy4jc31zZXQgcmVxdWlyZWQoVGUpe3RoaXMuI3M9VGV9Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuZGF0YX1zZXQgdmFsdWUoVGUpe31jaGFuZ2VTdWJqZWN0PShzdCh0aGlzLE4pLG5ldyBqdC5zbWFydHJ4LnJ4anMuU3ViamVjdCk7I289c3QodGhpcyxfLHZvaWQgMCk7Z2V0IGRhdGFOYW1lKCl7cmV0dXJuIHRoaXMuI299c2V0IGRhdGFOYW1lKFRlKXt0aGlzLiNvPVRlfSNsPShzdCh0aGlzLHopLHN0KHRoaXMsVCwhMCkpO2dldCBzZWFyY2hhYmxlKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHNlYXJjaGFibGUoVGUpe3RoaXMuI2w9VGV9I2M9KHN0KHRoaXMsTCksc3QodGhpcyxCLFtdKSk7Z2V0IGRhdGFBY3Rpb25zKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGRhdGFBY3Rpb25zKFRlKXt0aGlzLiNjPVRlfSNkPShzdCh0aGlzLFUpLHN0KHRoaXMsSSxbXSkpO2dldCBjb2x1bW5zKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGNvbHVtbnMoVGUpe3RoaXMuI2Q9VGV9I3U9KHN0KHRoaXMsdmUpLHN0KHRoaXMsUCx2b2lkIDApKTtnZXQgcm93S2V5KCl7cmV0dXJuIHRoaXMuI3V9c2V0IHJvd0tleShUZSl7dGhpcy4jdT1UZX0jcD0oc3QodGhpcyxsZSksc3QodGhpcyxaLCExKSk7Z2V0IGF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uKFRlKXt0aGlzLiNwPVRlfSNmPShzdCh0aGlzLEEpLHN0KHRoaXMsaixUZT0+VGUpKTtnZXQgZGlzcGxheUZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGRpc3BsYXlGdW5jdGlvbihUZSl7dGhpcy4jZj1UZX0jaD0oc3QodGhpcyxIKSxzdCh0aGlzLGRlLFRlPT5UZSkpO2dldCByZXZlcnNlRGlzcGxheUZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuI2h9c2V0IHJldmVyc2VEaXNwbGF5RnVuY3Rpb24oVGUpe3RoaXMuI2g9VGV9I209KHN0KHRoaXMsd2UpLHN0KHRoaXMsRyx2b2lkIDApKTtnZXQgc2VsZWN0ZWREYXRhUm93KCl7cmV0dXJuIHRoaXMuI219c2V0IHNlbGVjdGVkRGF0YVJvdyhUZSl7dGhpcy4jbT1UZX0jZz0oc3QodGhpcyxXKSxzdCh0aGlzLHllLFtdKSk7Z2V0IGVkaXRhYmxlRmllbGRzKCl7cmV0dXJuIHRoaXMuI2d9c2V0IGVkaXRhYmxlRmllbGRzKFRlKXt0aGlzLiNnPVRlfSNiPShzdCh0aGlzLG1lKSxzdCh0aGlzLGJlLCExKSk7Z2V0IHNob3dWZXJ0aWNhbExpbmVzKCl7cmV0dXJuIHRoaXMuI2J9c2V0IHNob3dWZXJ0aWNhbExpbmVzKFRlKXt0aGlzLiNiPVRlfSN2PShzdCh0aGlzLG5lKSxzdCh0aGlzLEllLCExKSk7Z2V0IHNob3dIb3Jpem9udGFsTGluZXMoKXtyZXR1cm4gdGhpcy4jdn1zZXQgc2hvd0hvcml6b250YWxMaW5lcyhUZSl7dGhpcy4jdj1UZX0jeD0oc3QodGhpcyxaZSksc3QodGhpcyxYLCEwKSk7Z2V0IHNob3dHcmlkKCl7cmV0dXJuIHRoaXMuI3h9c2V0IHNob3dHcmlkKFRlKXt0aGlzLiN4PVRlfWZpbGVzPShzdCh0aGlzLGVlKSxbXSk7ZmlsZVdlYWtNYXA9bmV3IFdlYWtNYXA7ZGF0YUNoYW5nZVN1YmplY3Q9bmV3IGp0LnNtYXJ0cngucnhqcy5TdWJqZWN0OyN5PXN0KHRoaXMsQWUsdm9pZCAwKTtnZXQgc29ydEtleSgpe3JldHVybiB0aGlzLiN5fXNldCBzb3J0S2V5KFRlKXt0aGlzLiN5PVRlfSN3PShzdCh0aGlzLFVlKSxzdCh0aGlzLHJ0LG51bGwpKTtnZXQgc29ydERpcigpe3JldHVybiB0aGlzLiN3fXNldCBzb3J0RGlyKFRlKXt0aGlzLiN3PVRlfSNNPShzdCh0aGlzLCR0KSxzdCh0aGlzLG9lLCIiKSk7Z2V0IGZpbHRlclRleHQoKXtyZXR1cm4gdGhpcy4jTX1zZXQgZmlsdGVyVGV4dChUZSl7dGhpcy4jTT1UZX0jaz0oc3QodGhpcyxjZSksc3QodGhpcyx2dCx7fSkpO2dldCBjb2x1bW5GaWx0ZXJzKCl7cmV0dXJuIHRoaXMuI2t9c2V0IGNvbHVtbkZpbHRlcnMoVGUpe3RoaXMuI2s9VGV9I1M9KHN0KHRoaXMsenQpLHN0KHRoaXMsaDEsITEpKTtnZXQgc2hvd0NvbHVtbkZpbHRlcnMoKXtyZXR1cm4gdGhpcy4jU31zZXQgc2hvd0NvbHVtbkZpbHRlcnMoVGUpe3RoaXMuI1M9VGV9I3o9KHN0KHRoaXMsUXMpLHN0KHRoaXMsa2UsITEpKTtnZXQgc3RpY2t5SGVhZGVyKCl7cmV0dXJuIHRoaXMuI3p9c2V0IHN0aWNreUhlYWRlcihUZSl7dGhpcy4jej1UZX0jQz0oc3QodGhpcyxFZSksc3QodGhpcyxPciwidGFibGUiKSk7Z2V0IHNlYXJjaE1vZGUoKXtyZXR1cm4gdGhpcy4jQ31zZXQgc2VhcmNoTW9kZShUZSl7dGhpcy4jQz1UZX1fX3NlYXJjaFRleHRTdWI9c3QodGhpcyxRcik7X19zZWFyY2hNb2RlU3ViOyNUPXN0KHRoaXMsSnIsIm5vbmUiKTtnZXQgc2VsZWN0aW9uTW9kZSgpe3JldHVybiB0aGlzLiNUfXNldCBzZWxlY3Rpb25Nb2RlKFRlKXt0aGlzLiNUPVRlfSNfPShzdCh0aGlzLEtzKSxzdCh0aGlzLHRvLG5ldyBTZXQpKTtnZXQgc2VsZWN0ZWRJZHMoKXtyZXR1cm4gdGhpcy4jX31zZXQgc2VsZWN0ZWRJZHMoVGUpe3RoaXMuI189VGV9X3Jvd0lkTWFwPShzdCh0aGlzLEdmKSxuZXcgV2Vha01hcCk7X3Jvd0lkQ291bnRlcj0wO2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1zdGF0aWMgc3R5bGVzPXdjcjtyZW5kZXIoKXtsZXQgZ2U9QXJyYXkuaXNBcnJheSh0aGlzLmNvbHVtbnMpJiZ0aGlzLmNvbHVtbnMubGVuZ3RoPjA/a2NyKHRoaXMuY29sdW1ucyx0aGlzLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uLHRoaXMuZGlzcGxheUZ1bmN0aW9uLHRoaXMuZGF0YSk6ZjZlKHRoaXMuZGlzcGxheUZ1bmN0aW9uLHRoaXMuZGF0YSksQmU9Q2NyKHRoaXMuZmlsdGVyVGV4dCx0aGlzLnNlYXJjaE1vZGU9PT0iZGF0YSI/ImRhdGEiOiJ0YWJsZSIsZ2UpLFJhPVNjcih0aGlzLmRhdGEsZ2UsdGhpcy5zb3J0S2V5LHRoaXMuc29ydERpcix0aGlzLmZpbHRlclRleHQsdGhpcy5jb2x1bW5GaWx0ZXJzLHRoaXMuc2VhcmNoTW9kZT09PSJkYXRhIj8iZGF0YSI6InRhYmxlIixCZXx8dm9pZCAwKTtyZXR1cm4gdGhpcy5fbGFzdFZpZXdEYXRhPVJhLE1gCiAgICAgIDxkaXYgY2xhc3M9Im1haW5ib3giPgogICAgICAgIDwhLS0gdGhlIGhlYWRpbmcgcGFydCAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZ0NvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmcgaGVhZGluZzEiPiR7dGhpcy5sYWJlbHx8dGhpcy5oZWFkaW5nMX08L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZyBoZWFkaW5nMiI+JHt0aGlzLmhlYWRpbmcyfTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXJBY3Rpb25zIj4KICAgICAgICAgICAgJHtGcy5yZXNvbHZlRXhlYyhhc3luYygpPT57bGV0IHh0PVtdO2ZvcihsZXQgS3Igb2YgdGhpcy5kYXRhQWN0aW9ucylLci50eXBlPy5pbmNsdWRlcygiaGVhZGVyIikmJnh0LnB1c2goTWA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImhlYWRlckFjdGlvbiIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e0tyLmFjdGlvbkZ1bmMoe2l0ZW06dGhpcy5zZWxlY3RlZERhdGFSb3csdGFibGU6dGhpc30pfX0KICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICR7S3IuaWNvbk5hbWU/TWA8ZGVlcy1pY29uIC5pY29uU2l6ZT0kezE0fSAuaWNvbj0ke0tyLmljb25OYW1lfT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAke0tyLm5hbWV9YDpLci5uYW1lfQogICAgICAgICAgICAgICAgICA8L2Rpdj5gKTtyZXR1cm4geHR9KX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmdTZXBhcmF0aW9uIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2hHcmlkIGhpZGRlbiI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJsdWNlbmUgc3ludGF4IHNlYXJjaCJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0ke2AKICAgICAgICAgICAgICBZb3UgY2FuIHVzZSB0aGUgbHVjZW5lIHN5bnRheCB0byBzZWFyY2ggZm9yIGRhdGEsIGUuZy46CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgXGBcYFxgCiAgICAgICAgICAgICAgbmFtZTogImpvaG4iIEFORCBhZ2U6IDE4CiAgICAgICAgICAgICAgXGBcYFxgCiAgICAgICAgICAgICAgCiAgICAgICAgICAgIGB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsic2VhcmNoIG1vZGUifQogICAgICAgICAgICAub3B0aW9ucz0ke1sidGFibGUiLCJkYXRhIiwic2VydmVyIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJ0YWJsZSJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0ke2AKICAgICAgICAgICAgICBUaGVyZSBhcmUgdGhyZWUgYmFzaWMgbW9kZXM6CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgKiB0YWJsZTogb25seSBzZWFyY2hlcyBkYXRhIGFscmVhZHkgaW4gdGhlIHRhYmxlCiAgICAgICAgICAgICAgKiBkYXRhOiBzZWFyY2hlcyBvcmlnaW5hbCBkYXRhLCBpZ25vcmluZyB0YWJsZSB0cmFuc2Zvcm1zCiAgICAgICAgICAgICAgKiBzZXJ2ZXI6IHNlYXJjaGVzIGRhdGEgb24gdGhlIHNlcnZlcgogICAgICAgICAgICAgIAogICAgICAgICAgICBgfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSB0aGUgYWN0dWFsIHRhYmxlIC0tPgogICAgICAgIDxzdHlsZT48L3N0eWxlPgogICAgICAgICR7dGhpcy5kYXRhLmxlbmd0aD4wP01gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGVTY3JvbGwiPgogICAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICR7dGhpcy5zZWxlY3Rpb25Nb2RlIT09Im5vbmUiP01gCiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo0MnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHt0aGlzLnNlbGVjdGlvbk1vZGU9PT0ibXVsdGkiP01gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmFyZUFsbFZpc2libGVTZWxlY3RlZCgpfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaW5kZXRlcm1pbmF0ZT0ke3RoaXMuaXNWaXNpYmxlU2VsZWN0aW9uSW5kZXRlcm1pbmF0ZSgpfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbmV3VmFsdWU9JHt4dD0+e3h0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuc2V0U2VsZWN0VmlzaWJsZSh4dC5kZXRhaWw9PT0hMCl9fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOk1gYH0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICBgOk1gYH0KICAgICAgICAgICAgICAgICAgICAke2dlLmZpbHRlcih4dD0+IXh0LmhpZGRlbikubWFwKHh0PT57bGV0IEtyPSEheHQuc29ydGFibGUsQm49dGhpcy5nZXRBcmlhU29ydCh4dCk7cmV0dXJuIE1gCiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPSJjb2x1bW5oZWFkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLXNvcnQ9JHtCbn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIke0tyPyJjdXJzb3I6IHBvaW50ZXI7IjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+S3I/dGhpcy50b2dnbGVTb3J0KHh0KTpudWxsfQogICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7eHQuaGVhZGVyPz94dC5rZXl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyU29ydEluZGljYXRvcih4dCl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5gfSl9CiAgICAgICAgICAgICAgICAgICAgJHsoKCk9PntpZih0aGlzLmRhdGFBY3Rpb25zJiZ0aGlzLmRhdGFBY3Rpb25zLmxlbmd0aD4wKXJldHVybiBNYCA8dGggY2xhc3M9ImFjdGlvbnNDb2wiPkFjdGlvbnM8L3RoPiBgfSkoKX0KICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnNob3dDb2x1bW5GaWx0ZXJzP01gPHRyIGNsYXNzPSJmaWx0ZXJzUm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgJHt0aGlzLnNlbGVjdGlvbk1vZGUhPT0ibm9uZSI/TWA8dGggc3R5bGU9IndpZHRoOjQycHg7Ij48L3RoPmA6TWBgfQogICAgICAgICAgICAgICAgICAgICAgICAke2dlLmZpbHRlcih4dD0+IXh0LmhpZGRlbikubWFwKHh0PT57bGV0IEtyPVN0cmluZyh4dC5rZXkpO3JldHVybiB4dC5maWx0ZXJhYmxlPT09ITE/TWA8dGg+PC90aD5gOk1gPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkZpbHRlci4uLiIgLnZhbHVlPSR7dGhpcy5jb2x1bW5GaWx0ZXJzW0tyXXx8IiJ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlucHV0PSR7Qm49PnRoaXMuc2V0Q29sdW1uRmlsdGVyKEtyLEJuLnRhcmdldC52YWx1ZSl9IC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPmB9KX0KICAgICAgICAgICAgICAgICAgICAgICAgJHsoKCk9PntpZih0aGlzLmRhdGFBY3Rpb25zJiZ0aGlzLmRhdGFBY3Rpb25zLmxlbmd0aD4wKXJldHVybiBNYCA8dGg+PC90aD4gYH0pKCl9CiAgICAgICAgICAgICAgICAgICAgICA8L3RyPmA6TWBgfQogICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgJHtSYS5tYXAoKHh0LEtyKT0+e2xldCBCbj1mdD0+ZnQudGFnTmFtZT09PSJUUiI/ZnQ6Qm4oZnQucGFyZW50RWxlbWVudCk7cmV0dXJuIE1gCiAgICAgICAgICAgICAgICAgICAgICA8dHIKICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PntpZih0aGlzLnNlbGVjdGVkRGF0YVJvdz14dCx0aGlzLnNlbGVjdGlvbk1vZGU9PT0ic2luZ2xlIil7bGV0IGZ0PXRoaXMuZ2V0Um93SWQoeHQpO3RoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSx0aGlzLnNlbGVjdGVkSWRzLmFkZChmdCksdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9fX0KICAgICAgICAgICAgICAgICAgICAgICAgQGRyYWdlbnRlcj0ke2FzeW5jIGZ0PT57ZnQucHJldmVudERlZmF1bHQoKSxmdC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgWGE9Qm4oZnQudGFyZ2V0KTtzZXRUaW1lb3V0KCgpPT57WGEuY2xhc3NMaXN0LmFkZCgiaGFzQXR0YWNobWVudCIpfSwwKX19CiAgICAgICAgICAgICAgICAgICAgICAgIEBkcmFnbGVhdmU9JHthc3luYyBmdD0+e2Z0LnByZXZlbnREZWZhdWx0KCksZnQuc3RvcFByb3BhZ2F0aW9uKCksQm4oZnQudGFyZ2V0KS5jbGFzc0xpc3QucmVtb3ZlKCJoYXNBdHRhY2htZW50Iil9fQogICAgICAgICAgICAgICAgICAgICAgICBAZHJhZ292ZXI9JHthc3luYyBmdD0+e2Z0LnByZXZlbnREZWZhdWx0KCl9fQogICAgICAgICAgICAgICAgICAgICAgICBAZHJvcD0ke2FzeW5jIGZ0PT57ZnQucHJldmVudERlZmF1bHQoKTtsZXQgWGE9W107Zm9yKGxldCBybyBvZiBBcnJheS5mcm9tKGZ0LmRhdGFUcmFuc2Zlci5maWxlcykpdGhpcy5maWxlcy5wdXNoKHJvKSxYYS5wdXNoKHJvKSx0aGlzLnJlcXVlc3RVcGRhdGUoKTtsZXQgSG49dGhpcy5maWxlV2Vha01hcC5nZXQoeHQpO0huP0huLnB1c2goLi4uWGEpOnRoaXMuZmlsZVdlYWtNYXAuc2V0KHh0LFhhKX19CiAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke2FzeW5jIGZ0PT57TXIub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoZnQsdGhpcy5nZXRBY3Rpb25zRm9yVHlwZSgiY29udGV4dG1lbnUiKS5tYXAoWGE9Pih7bmFtZTpYYS5uYW1lLGljb25OYW1lOlhhLmljb25OYW1lLGFjdGlvbjphc3luYygpPT4oYXdhaXQgWGEuYWN0aW9uRnVuYyh7aXRlbTp4dCx0YWJsZTp0aGlzfSksbnVsbCl9KSkpfX0KICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IiR7eHQ9PT10aGlzLnNlbGVjdGVkRGF0YVJvdz8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgJHt0aGlzLnNlbGVjdGlvbk1vZGUhPT0ibm9uZSI/TWA8dGQgc3R5bGU9IndpZHRoOjQycHg7IHRleHQtYWxpZ246Y2VudGVyOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pc1Jvd1NlbGVjdGVkKHh0KX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbmV3VmFsdWU9JHtmdD0+e2Z0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuc2V0Um93U2VsZWN0ZWQoeHQsZnQuZGV0YWlsPT09ITApfX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+YDpNYGB9CiAgICAgICAgICAgICAgICAgICAgICAgICR7Z2UuZmlsdGVyKGZ0PT4hZnQuaGlkZGVuKS5tYXAoKGZ0LFhhKT0+e2xldCBIbj1DZih4dCxmdCx0aGlzLmRpc3BsYXlGdW5jdGlvbikscm89ZnQucmVuZGVyZXI/ZnQucmVuZGVyZXIoSG4seHQse3Jvd0luZGV4OktyLGNvbEluZGV4OlhhLGNvbHVtbjpmdH0pOkhuLFpmPVN0cmluZyhmdC5rZXkpO3JldHVybiBNYAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZGJsY2xpY2s9JHtPdj0+e2xldCBYZj10aGlzLmRhdGFBY3Rpb25zLmZpbmQoUnY9PlJ2LnR5cGU/LmluY2x1ZGVzKCJkb3VibGVDbGljayIpKTt0aGlzLmVkaXRhYmxlRmllbGRzLmluY2x1ZGVzKFpmKT90aGlzLmhhbmRsZUNlbGxFZGl0aW5nKE92LHh0LFpmKTpYZiYmWGYuYWN0aW9uRnVuYyh7aXRlbTp4dCx0YWJsZTp0aGlzfSl9fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXJDZWxsQ29udGFpbmVyIj4ke3JvfTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYH0pfQogICAgICAgICAgICAgICAgICAgICAgICAkeygoKT0+e2lmKHRoaXMuZGF0YUFjdGlvbnMmJnRoaXMuZGF0YUFjdGlvbnMubGVuZ3RoPjApcmV0dXJuIE1gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iYWN0aW9uc0NvbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uc0NvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3RoaXMuZ2V0QWN0aW9uc0ZvclR5cGUoImluUm93IikubWFwKGZ0PT5NYAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhY3Rpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+ZnQuYWN0aW9uRnVuYyh7aXRlbTp4dCx0YWJsZTp0aGlzfSl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtmdC5pY29uTmFtZT9NYCA8ZGVlcy1pY29uIC5pY29uPSR7ZnQuaWNvbk5hbWV9PjwvZGVlcy1pY29uPiBgOmZ0Lm5hbWV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYH0pKCl9CiAgICAgICAgICAgICAgICAgICAgICA8L3RyPmB9KX0KICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDpNYCA8ZGl2IGNsYXNzPSJub0RhdGFTZXQiPk5vIGRhdGEgc2V0ITwvZGl2PiBgfQogICAgICAgIDxkaXYgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZVN0YXRpc3RpY3MiPgogICAgICAgICAgICAke3RoaXMuZGF0YS5sZW5ndGh9ICR7dGhpcy5kYXRhTmFtZXx8ImRhdGEgcm93cyJ9ICh0b3RhbCkgfAogICAgICAgICAgICAke3RoaXMuc2VsZWN0ZWREYXRhUm93P2AjICR7dGhpcy5kYXRhLmluZGV4T2YodGhpcy5zZWxlY3RlZERhdGFSb3cpKzF9YDoiTm8ifQogICAgICAgICAgICBzZWxlY3RlZAogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJBY3Rpb25zIj4KICAgICAgICAgICAgJHtGcy5yZXNvbHZlRXhlYyhhc3luYygpPT57bGV0IHh0PVtdO2ZvcihsZXQgS3Igb2YgdGhpcy5kYXRhQWN0aW9ucylLci50eXBlPy5pbmNsdWRlcygiZm9vdGVyIikmJnh0LnB1c2goTWA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvb3RlckFjdGlvbiIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e0tyLmFjdGlvbkZ1bmMoe2l0ZW06dGhpcy5zZWxlY3RlZERhdGFSb3csdGFibGU6dGhpc30pfX0KICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICR7S3IuaWNvbk5hbWU/TWA8ZGVlcy1pY29uIC5pY29uU2l6ZT0kezE0fSAuaWNvbj0ke0tyLmljb25OYW1lfT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAke0tyLm5hbWV9YDpLci5uYW1lfQogICAgICAgICAgICAgICAgICA8L2Rpdj5gKTtyZXR1cm4geHR9KX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7fWFzeW5jIHVwZGF0ZWQoVGUpe3N1cGVyLnVwZGF0ZWQoVGUpLHRoaXMuZGV0ZXJtaW5lQ29sdW1uV2lkdGhzKCksdGhpcy5zZWFyY2hhYmxlJiYodGhpcy5kYXRhQWN0aW9ucy5maW5kKEJlPT5CZS50eXBlPy5pbmNsdWRlcygiaGVhZGVyIikmJkJlLm5hbWU9PT0iU2VhcmNoIil8fCh0aGlzLmRhdGFBY3Rpb25zLnVuc2hpZnQoe25hbWU6IlNlYXJjaCIsaWNvbk5hbWU6Imx1Y2lkZTpTZWFyY2giLHR5cGU6WyJoZWFkZXIiXSxhY3Rpb25GdW5jOmFzeW5jKCk9Pntjb25zb2xlLmxvZygib3BlbiBzZWFyY2giKSx0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNlYXJjaEdyaWQiKS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iKX19KSxjb25zb2xlLmxvZyh0aGlzLmRhdGFBY3Rpb25zKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSksdGhpcy53aXJlU2VhcmNoSW5wdXRzKCkpfV9fZGVib3VuY2VUaW1lcjtkZWJvdW5jZVJ1bihUZSxnZT0yMDApe3RoaXMuX19kZWJvdW5jZVRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy5fX2RlYm91bmNlVGltZXIpLHRoaXMuX19kZWJvdW5jZVRpbWVyPXNldFRpbWVvdXQoVGUsZ2UpfXdpcmVTZWFyY2hJbnB1dHMoKXtsZXQgVGU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoR3JpZCBkZWVzLWlucHV0LXRleHQiKSxnZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zZWFyY2hHcmlkIGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUiKTtUZSYmIXRoaXMuX19zZWFyY2hUZXh0U3ViJiYodGhpcy5fX3NlYXJjaFRleHRTdWI9VGUuY2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoQmU9PntsZXQgUmE9QmU/LnZhbHVlPz8iIjt0aGlzLmRlYm91bmNlUnVuKCgpPT57dGhpcy5zZWFyY2hNb2RlPT09InNlcnZlciI/dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoUmVxdWVzdCIse2RldGFpbDp7cXVlcnk6UmEsbW9kZToic2VydmVyIn0sYnViYmxlczohMH0pKTp0aGlzLnNldEZpbHRlclRleHQoUmEpfSl9KSksZ2UmJiF0aGlzLl9fc2VhcmNoTW9kZVN1YiYmKHRoaXMuX19zZWFyY2hNb2RlU3ViPWdlLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKEJlPT57bGV0IFJhPUJlPy5zZWxlY3RlZE9wdGlvbnx8QmU/LnZhbHVlfHwidGFibGUiO2lmKFJhPT09InRhYmxlInx8UmE9PT0iZGF0YSJ8fFJhPT09InNlcnZlciIpe3RoaXMuc2VhcmNoTW9kZT1SYTtsZXQgeHQ9VGU/LnZhbHVlPz8iIjt0aGlzLmRlYm91bmNlUnVuKCgpPT57dGhpcy5zZWFyY2hNb2RlPT09InNlcnZlciI/dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoUmVxdWVzdCIse2RldGFpbDp7cXVlcnk6eHQsbW9kZToic2VydmVyIn0sYnViYmxlczohMH0pKTp0aGlzLnNldEZpbHRlclRleHQoeHQpfSl9fSkpfWFzeW5jIGRldGVybWluZUNvbHVtbldpZHRocygpe2F3YWl0KGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlKS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApO2xldCBnZT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigidGFibGUiKTtpZighZ2UpcmV0dXJuO2xldCBCZT1nZS5yb3dzWzBdLmNlbGxzLFJhPWFzeW5jKHh0LEtyPSExKT0+e2xldCBCbj1LZS5kZWZlcigpLGZ0PUJlW3h0XSxYYT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmdCkud2lkdGg7aWYoZnQudGV4dENvbnRlbnQuaW5jbHVkZXMoIkFjdGlvbnMiKSl7bGV0IEhuPXRoaXMuZGF0YUFjdGlvbnMuZmlsdGVyKHJvPT5yby50eXBlPy5pbmNsdWRlcygiaW5Sb3ciKSkubGVuZ3RoKjM2O2Z0LnN0eWxlLndpZHRoPWAke01hdGgubWF4KEhuLDY4KX1weGB9ZWxzZSBmdC5zdHlsZS53aWR0aD1YYTtLciYmKHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e0JuLnJlc29sdmUoKX0pLGF3YWl0IEJuLnByb21pc2UpfTtCZVtCZS5sZW5ndGgtMV0udGV4dENvbnRlbnQuaW5jbHVkZXMoIkFjdGlvbnMiKSYmYXdhaXQgUmEoQmUubGVuZ3RoLTEsITApO2ZvcihsZXQgeHQ9MDt4dDxCZS5sZW5ndGg7eHQrKylCZVt4dF0udGV4dENvbnRlbnQuaW5jbHVkZXMoIkFjdGlvbnMiKXx8YXdhaXQgUmEoeHQpO2dlLnN0eWxlLnRhYmxlTGF5b3V0PSJmaXhlZCJ9dG9nZ2xlU29ydChUZSl7bGV0IGdlPVN0cmluZyhUZS5rZXkpO3RoaXMuc29ydEtleSE9PWdlPyh0aGlzLnNvcnRLZXk9Z2UsdGhpcy5zb3J0RGlyPSJhc2MiKTp0aGlzLnNvcnREaXI9PT0iYXNjIj90aGlzLnNvcnREaXI9ImRlc2MiOnRoaXMuc29ydERpcj09PSJkZXNjIj8odGhpcy5zb3J0RGlyPW51bGwsdGhpcy5zb3J0S2V5PXZvaWQgMCk6dGhpcy5zb3J0RGlyPSJhc2MiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNvcnRDaGFuZ2UiLHtkZXRhaWw6e2tleTp0aGlzLnNvcnRLZXksZGlyOnRoaXMuc29ydERpcn0sYnViYmxlczohMH0pKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1nZXRBcmlhU29ydChUZSl7cmV0dXJuIFN0cmluZyhUZS5rZXkpIT09dGhpcy5zb3J0S2V5fHwhdGhpcy5zb3J0RGlyPyJub25lIjp0aGlzLnNvcnREaXI9PT0iYXNjIj8iYXNjZW5kaW5nIjoiZGVzY2VuZGluZyJ9cmVuZGVyU29ydEluZGljYXRvcihUZSl7cmV0dXJuIFN0cmluZyhUZS5rZXkpIT09dGhpcy5zb3J0S2V5fHwhdGhpcy5zb3J0RGlyP01gYDpNYDxzcGFuIHN0eWxlPSJtYXJnaW4tbGVmdDo2cHg7IG9wYWNpdHk6MC43OyI+JHt0aGlzLnNvcnREaXI9PT0iYXNjIj8iXHUyNUIyIjoiXHUyNUJDIn08L3NwYW4+YH1zZXRGaWx0ZXJUZXh0KFRlKXtsZXQgZ2U9dGhpcy5maWx0ZXJUZXh0O3RoaXMuZmlsdGVyVGV4dD1UZT8/IiIsZ2UhPT10aGlzLmZpbHRlclRleHQmJih0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJmaWx0ZXJDaGFuZ2UiLHtkZXRhaWw6e3RleHQ6dGhpcy5maWx0ZXJUZXh0LGNvbHVtbnM6ey4uLnRoaXMuY29sdW1uRmlsdGVyc319LGJ1YmJsZXM6ITB9KSksdGhpcy5yZXF1ZXN0VXBkYXRlKCkpfXNldENvbHVtbkZpbHRlcihUZSxnZSl7dGhpcy5jb2x1bW5GaWx0ZXJzPXsuLi50aGlzLmNvbHVtbkZpbHRlcnMsW1RlXTpnZX0sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsdGVyQ2hhbmdlIix7ZGV0YWlsOnt0ZXh0OnRoaXMuZmlsdGVyVGV4dCxjb2x1bW5zOnsuLi50aGlzLmNvbHVtbkZpbHRlcnN9fSxidWJibGVzOiEwfSkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWdldFJvd0lkKFRlKXtpZih0aGlzLnJvd0tleSlyZXR1cm4gdHlwZW9mIHRoaXMucm93S2V5PT0iZnVuY3Rpb24iP3RoaXMucm93S2V5KFRlKTpTdHJpbmcoVGVbdGhpcy5yb3dLZXldKTtsZXQgZ2U9VGU7cmV0dXJuIHRoaXMuX3Jvd0lkTWFwLmhhcyhnZSl8fHRoaXMuX3Jvd0lkTWFwLnNldChnZSxTdHJpbmcoKyt0aGlzLl9yb3dJZENvdW50ZXIpKSx0aGlzLl9yb3dJZE1hcC5nZXQoZ2UpfWlzUm93U2VsZWN0ZWQoVGUpe3JldHVybiB0aGlzLnNlbGVjdGVkSWRzLmhhcyh0aGlzLmdldFJvd0lkKFRlKSl9dG9nZ2xlUm93U2VsZWN0ZWQoVGUpe2xldCBnZT10aGlzLmdldFJvd0lkKFRlKTt0aGlzLnNlbGVjdGlvbk1vZGU9PT0ic2luZ2xlIj8odGhpcy5zZWxlY3RlZElkcy5jbGVhcigpLHRoaXMuc2VsZWN0ZWRJZHMuYWRkKGdlKSk6dGhpcy5zZWxlY3Rpb25Nb2RlPT09Im11bHRpIiYmKHRoaXMuc2VsZWN0ZWRJZHMuaGFzKGdlKT90aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZShnZSk6dGhpcy5zZWxlY3RlZElkcy5hZGQoZ2UpKSx0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1zZXRSb3dTZWxlY3RlZChUZSxnZSl7bGV0IEJlPXRoaXMuZ2V0Um93SWQoVGUpO3RoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiPyh0aGlzLnNlbGVjdGVkSWRzLmNsZWFyKCksZ2UmJnRoaXMuc2VsZWN0ZWRJZHMuYWRkKEJlKSk6dGhpcy5zZWxlY3Rpb25Nb2RlPT09Im11bHRpIiYmKGdlP3RoaXMuc2VsZWN0ZWRJZHMuYWRkKEJlKTp0aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZShCZSkpLHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWFyZUFsbFZpc2libGVTZWxlY3RlZCgpe2xldCBUZT10aGlzLl9sYXN0Vmlld0RhdGF8fFtdO2lmKFRlLmxlbmd0aD09PTApcmV0dXJuITE7Zm9yKGxldCBnZSBvZiBUZSlpZighdGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChnZSkpKXJldHVybiExO3JldHVybiEwfWlzVmlzaWJsZVNlbGVjdGlvbkluZGV0ZXJtaW5hdGUoKXtsZXQgVGU9dGhpcy5fbGFzdFZpZXdEYXRhfHxbXTtpZihUZS5sZW5ndGg9PT0wKXJldHVybiExO2xldCBnZT0wO2ZvcihsZXQgQmUgb2YgVGUpdGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChCZSkpJiZnZSsrO3JldHVybiBnZT4wJiZnZTxUZS5sZW5ndGh9c2V0U2VsZWN0VmlzaWJsZShUZSl7bGV0IGdlPXRoaXMuX2xhc3RWaWV3RGF0YXx8W107aWYoVGUpZm9yKGxldCBCZSBvZiBnZSl0aGlzLnNlbGVjdGVkSWRzLmFkZCh0aGlzLmdldFJvd0lkKEJlKSk7ZWxzZSBmb3IobGV0IEJlIG9mIGdlKXRoaXMuc2VsZWN0ZWRJZHMuZGVsZXRlKHRoaXMuZ2V0Um93SWQoQmUpKTt0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1lbWl0U2VsZWN0aW9uQ2hhbmdlKCl7bGV0IFRlPUFycmF5LmZyb20odGhpcy5zZWxlY3RlZElkcyksZ2U9dGhpcy5kYXRhLmZpbHRlcihCZT0+dGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChCZSkpKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWxlY3Rpb25DaGFuZ2UiLHtkZXRhaWw6e3NlbGVjdGVkSWRzOlRlLHNlbGVjdGVkUm93czpnZX0sYnViYmxlczohMH0pKX1nZXRBY3Rpb25zRm9yVHlwZShUZSl7bGV0IGdlPVtdO2ZvcihsZXQgQmUgb2YgdGhpcy5kYXRhQWN0aW9ucylCZS50eXBlPy5pbmNsdWRlcyhUZSkmJmdlLnB1c2goQmUpO3JldHVybiBnZX1hc3luYyBoYW5kbGVDZWxsRWRpdGluZyhUZSxnZSxCZSl7YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7bGV0IFJhPVRlLnRhcmdldCx4dD1SYS5zdHlsZS5jb2xvcjtSYS5zdHlsZS5jb2xvcj0idHJhbnNwYXJlbnQiO2xldCBCbj10aGlzLmRpc3BsYXlGdW5jdGlvbihnZSlbQmVdPz9nZVtCZV0/PyIiLGZ0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7ZnQudHlwZT0idGV4dCIsZnQudmFsdWU9Qm47bGV0IFhhPWFzeW5jKEhuPSEwLHJvPSExKT0+e0huJiZmdC5ibHVyKCkscm8mJihnZVtCZV09ZnQudmFsdWUsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpLGZ0LnJlbW92ZSgpLFJhLnN0eWxlLmNvbG9yPXh0LHRoaXMucmVxdWVzdFVwZGF0ZSgpfTtmdC5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e1hhKCExLCExKX0pLGZ0LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLEhuPT57SG4ua2V5PT09IkVudGVyIiYmWGEoITAsITApfSksUmEuYXBwZW5kQ2hpbGQoZnQpLGZ0LmZvY3VzKCl9c3RhdGlje3N0KGEscil9fTtyZXR1cm4gWWY9YX0pKCl9KTt2YXIgaDZlPWYoKCk9PntwNmUoKX0pO3ZhciBfY3IsTGNyPWYoKCk9Pnt1ZSgpO2hhKCk7X2NyPSgpPT5NYAogIDxzdHlsZT4KICAgICR7SmAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgLmZvcm0tb3V0cHV0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5zdGF0dXMtbWVzc2FnZSB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5zdGF0dXMtbWVzc2FnZS5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlIC8gMC4xKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMTQyLjEgNzAuNiUgMzUuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDY1LjMlKSIpfTsKICAgICAgfQogICAgICAKICAgICAgLnN0YXR1cy1tZXNzYWdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjEpIiwiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNDAuNiUpIiwiaHNsKDAgNzIuMiUgNjAuNiUpIil9OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIikscj1lLnF1ZXJ5U2VsZWN0b3IoIi5mb3JtLW91dHB1dCIpO3QmJnImJih0LmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIixhc3luYyBpPT57bGV0IG49aS5kZXRhaWwuZGF0YTtjb25zb2xlLmxvZygiRm9ybSBzdWJtaXR0ZWQgd2l0aCBkYXRhOiIsbiksdC5zZXRTdGF0dXMoInBlbmRpbmciLCJQcm9jZXNzaW5nIHlvdXIgcmVnaXN0cmF0aW9uLi4uIiksci5pbm5lckhUTUw9YDxzdHJvbmc+U3VibWl0dGVkIERhdGE6PC9zdHJvbmc+CiR7SlNPTi5zdHJpbmdpZnkobixudWxsLDIpfWAsYXdhaXQgU3QucGx1Z2lucy5zbWFydGRlbGF5LmRlbGF5Rm9yKDJlMyksdC5zZXRTdGF0dXMoInN1Y2Nlc3MiLCJSZWdpc3RyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseSEiKSxhd2FpdCBTdC5wbHVnaW5zLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMmUzKSx0LnJlc2V0KCksci5pbm5lckhUTUw9IjxlbT5Gb3JtIGhhcyBiZWVuIHJlc2V0PC9lbT4ifSksdC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LXRleHQsIGRlZXMtaW5wdXQtZHJvcGRvd24sIGRlZXMtaW5wdXQtY2hlY2tib3giKS5mb3JFYWNoKGk9PntpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLCgpPT57Y29uc29sZS5sb2coIkZpZWxkIGNoYW5nZWQ6IixpLmdldEF0dHJpYnV0ZSgia2V5IikpfSl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLmhlYWRpbmc9IkNvbXBsZXRlIEZvcm0gRXhhbXBsZSIgLmRlc2NyaXB0aW9uPSJBIGNvbXByZWhlbnNpdmUgZm9ybSB3aXRoIHZhcmlvdXMgaW5wdXQgdHlwZXMsIHZhbGlkYXRpb24sIGFuZCBmb3JtIHN1Ym1pc3Npb24gaGFuZGxpbmciPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0gCiAgICAgICAgICAgIGtleT0iZmlyc3ROYW1lIiAKICAgICAgICAgICAgbGFiZWw9IkZpcnN0IE5hbWUiCiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJZb3VyIGdpdmVuIG5hbWUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0gCiAgICAgICAgICAgIGtleT0ibGFzdE5hbWUiIAogICAgICAgICAgICBsYWJlbD0iTGFzdCBOYW1lIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0gCiAgICAgICAgICAgIGtleT0iZW1haWwiIAogICAgICAgICAgICBsYWJlbD0iRW1haWwgQWRkcmVzcyIKICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IldlIHdpbGwgdXNlIHRoaXMgdG8gY29udGFjdCB5b3UifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAga2V5PSJjb3VudHJ5IgogICAgICAgICAgICAubGFiZWw9JHsiQ291bnRyeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlVuaXRlZCBTdGF0ZXMiLGtleToidXMifSx7b3B0aW9uOiJDYW5hZGEiLGtleToiY2EifSx7b3B0aW9uOiJHZXJtYW55IixrZXk6ImRlIn0se29wdGlvbjoiRnJhbmNlIixrZXk6ImZyIn0se29wdGlvbjoiVW5pdGVkIEtpbmdkb20iLGtleToidWsifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICBrZXk9InBhc3N3b3JkIgogICAgICAgICAgICBsYWJlbD0iUGFzc3dvcmQiCiAgICAgICAgICAgIGlzUGFzc3dvcmRCb29sCiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJNaW5pbXVtIDggY2hhcmFjdGVycyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICBrZXk9InRlcm1zIgogICAgICAgICAgICBsYWJlbD0iSSBhZ3JlZSB0byB0aGUgVGVybXMgYW5kIENvbmRpdGlvbnMiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICBrZXk9Im5ld3NsZXR0ZXIiCiAgICAgICAgICAgIGxhYmVsPSJTZW5kIG1lIHByb21vdGlvbmFsIGVtYWlscyIKICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5DcmVhdGUgQWNjb3VudDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLW91dHB1dCI+CiAgICAgICAgICA8ZW0+U3VibWl0IHRoZSBmb3JtIHRvIHNlZSB0aGUgY29sbGVjdGVkIGRhdGEuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpO3QmJihjb25zb2xlLmxvZygiSG9yaXpvbnRhbCBmb3JtIGxheW91dCBhY3RpdmUiKSx0LmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIixhPT57bGV0IGk9YS5kZXRhaWwuZGF0YTtjb25zb2xlLmxvZygiRmlsdGVyIGFwcGxpZWQ6IixpKTtsZXQgbj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTAwKSsxO2NvbnNvbGUubG9nKGBGb3VuZCAke259IHJlc3VsdHMgd2l0aCBmaWx0ZXJzOmAsaSl9KSx0LnF1ZXJ5U2VsZWN0b3JBbGwoIltrZXldIikuZm9yRWFjaChhPT57YS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2VTdWJqZWN0Iixhc3luYygpPT57bGV0IGk9YXdhaXQgdC5jb2xsZWN0Rm9ybURhdGEoKTtjb25zb2xlLmxvZygiTGl2ZSBmaWx0ZXIgdXBkYXRlOiIsaSl9KX0pKX19PgogICAgICA8ZGVlcy1wYW5lbCAuaGVhZGluZz0iSG9yaXpvbnRhbCBGb3JtIExheW91dCIgLmRlc2NyaXB0aW9uPSJDb21wYWN0IGZvcm0gd2l0aCBpbnB1dHMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5IC0gcGVyZmVjdCBmb3IgZmlsdGVycyBhbmQgcXVpY2sgZm9ybXMiPgogICAgICAgIDxkZWVzLWZvcm0gaG9yaXpvbnRhbC1sYXlvdXQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICBrZXk9InNlYXJjaCIgCiAgICAgICAgICAgIGxhYmVsPSJTZWFyY2giCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJFbnRlciBrZXl3b3Jkcy4uLiIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAga2V5PSJjYXRlZ29yeSIKICAgICAgICAgICAgLmxhYmVsPSR7IkNhdGVnb3J5In0KICAgICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJBbGwiLGtleToiYWxsIn0se29wdGlvbjoiUHJvZHVjdHMiLGtleToicHJvZHVjdHMifSx7b3B0aW9uOiJTZXJ2aWNlcyIsa2V5OiJzZXJ2aWNlcyJ9LHtvcHRpb246IlN1cHBvcnQiLGtleToic3VwcG9ydCJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIGtleT0ic29ydCIKICAgICAgICAgICAgLmxhYmVsPSR7IlNvcnQgQnkifQogICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246Ik5ld2VzdCIsa2V5OiJuZXdlc3QifSx7b3B0aW9uOiJQb3B1bGFyIixrZXk6InBvcHVsYXIifSx7b3B0aW9uOiJQcmljZTogTG93IHRvIEhpZ2giLGtleToicHJpY2VfYXNjIn0se29wdGlvbjoiUHJpY2U6IEhpZ2ggdG8gTG93IixrZXk6InByaWNlX2Rlc2MifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICBrZXk9ImluU3RvY2siCiAgICAgICAgICAgIGxhYmVsPSJJbiBTdG9jayBPbmx5IgogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIikscj1lLnF1ZXJ5U2VsZWN0b3IoIiNzdGF0dXMtZGlzcGxheSIpO2lmKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLGFzeW5jIGk9PntsZXQgbj1pLmRldGFpbC5kYXRhO2NvbnNvbGUubG9nKCJBZHZhbmNlZCBmb3JtIGRhdGE6IixuKSx0LnNldFN0YXR1cygicGVuZGluZyIsIlZhbGlkYXRpbmcgeW91ciBpbmZvcm1hdGlvbi4uLiIpLGF3YWl0IFN0LnBsdWdpbnMuc21hcnRkZWxheS5kZWxheUZvcigxNTAwKSxuLmliYW4mJm4uaWJhbi5sZW5ndGg+MTU/KHQuc2V0U3RhdHVzKCJzdWNjZXNzIiwiQXBwbGljYXRpb24gc3VibWl0dGVkIHN1Y2Nlc3NmdWxseSEiKSxyJiYoci5jbGFzc05hbWU9InN0YXR1cy1tZXNzYWdlIHN1Y2Nlc3MiLHIudGV4dENvbnRlbnQ9Ilx1MjcxMyBZb3VyIGFwcGxpY2F0aW9uIGhhcyBiZWVuIHN1Ym1pdHRlZC4gV2Ugd2lsbCBjb250YWN0IHlvdSBzb29uLiIpKToodC5zZXRTdGF0dXMoImVycm9yIiwiUGxlYXNlIGNoZWNrIHlvdXIgSUJBTiIpLHImJihyLmNsYXNzTmFtZT0ic3RhdHVzLW1lc3NhZ2UgZXJyb3IiLHIudGV4dENvbnRlbnQ9Ilx1MjcxNyBJbnZhbGlkIElCQU4gZm9ybWF0LiBQbGVhc2UgY2hlY2sgYW5kIHRyeSBhZ2Fpbi4iKSksY29uc29sZS5sb2coIkZvcm0gZGF0YSBsb2dnZWQ6IixuKX0pO2xldCBhPXQucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1maWxldXBsb2FkIik7YSYmYS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGk9PntsZXQgbj1pLmRldGFpbD8uZmlsZXN8fFtdO2NvbnNvbGUubG9nKGAke24ubGVuZ3RofSBmaWxlKHMpIHNlbGVjdGVkIGZvciB1cGxvYWRgKX0pfX19PgogICAgICA8ZGVlcy1wYW5lbCAuaGVhZGluZz0iQWR2YW5jZWQgRm9ybSBGZWF0dXJlcyIgLmRlc2NyaXB0aW9uPSJGb3JtIHdpdGggc3BlY2lhbGl6ZWQgaW5wdXQgdHlwZXMgYW5kIGNvbXBsZXggdmFsaWRhdGlvbiI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4gCiAgICAgICAgICAgIGtleT0iaWJhbiIKICAgICAgICAgICAgbGFiZWw9IklCQU4iCiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZQogICAgICAgICAgICBrZXk9InBob25lIgogICAgICAgICAgICBsYWJlbD0iUGhvbmUgTnVtYmVyIgogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIGtleT0icHJlZmVyZW5jZXMiCiAgICAgICAgICAgIC5sYWJlbD0keyJOb3RpZmljYXRpb24gUHJlZmVyZW5jZXMifQogICAgICAgICAgICAub3B0aW9ucz0ke1siRW1haWwiLCJTTVMiLCJQdXNoIiwiSW4tQXBwIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJFbWFpbCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXNlbGVjdAogICAgICAgICAgICBrZXk9ImludGVyZXN0cyIKICAgICAgICAgICAgLmxhYmVsPSR7IkFyZWFzIG9mIEludGVyZXN0In0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiVGVjaG5vbG9neSIsa2V5OiJ0ZWNoIn0se29wdGlvbjoiRGVzaWduIixrZXk6ImRlc2lnbiJ9LHtvcHRpb246IkJ1c2luZXNzIixrZXk6ImJ1c2luZXNzIn0se29wdGlvbjoiTWFya2V0aW5nIixrZXk6Im1hcmtldGluZyJ9LHtvcHRpb246IlNhbGVzIixrZXk6InNhbGVzIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXNlbGVjdD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICBrZXk9ImRvY3VtZW50cyIKICAgICAgICAgICAgLmxhYmVsPSR7IlVwbG9hZCBEb2N1bWVudHMifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiUERGLCBET0MsIG9yIERPQ1ggZmlsZXMgdXAgdG8gMTBNQiJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlN1Ym1pdCBBcHBsaWNhdGlvbjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJzdGF0dXMtZGlzcGxheSI+PC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYH0pO3ZhciAkY3IsbTZlLERjcixBY3IsU2Y9ZigoKT0+e3VlKCk7SnQoKTtsRigpO0dkZSgpO1pkZSgpO1E0KCk7SmRlKCk7Z0YoKTt4RigpO2U2ZSgpO242ZSgpO3M2ZSgpO282ZSgpO2M2ZSgpO3U2ZSgpO0s2KCk7aDZlKCk7TGNyKCk7JGNyPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sbTZlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxEY3I9W29GLHVGLHBGLHZGLHlGLGtGLFNGLENGLGhGLG1GLGZGLFRGLF9GLCRGXSxBY3I9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWZvcm0iKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXTt2YXIgYz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGw9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJob3Jpem9udGFsLWxheW91dCJ9KV0sJGNyKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaG9yaXpvbnRhbExheW91dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dT0+Imhvcml6b250YWxMYXlvdXQiaW4gdSxnZXQ6dT0+dS5ob3Jpem9udGFsTGF5b3V0LHNldDoodSxkKT0+e3UuaG9yaXpvbnRhbExheW91dD1kfX0sbWV0YWRhdGE6bH0scyxvKSwkY3IobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6bH0sbnVsbCxyKSxjPWE9dC52YWx1ZSxsJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmx9KX1zdGF0aWMgZGVtbz1fY3I7c3RhdGljIGRlbW9Hcm91cHM9WyJGb3JtIl07bmFtZT0ibXlmb3JtIjtjaGFuZ2VTdWJqZWN0PW5ldyBqdC5zbWFydHJ4LnJ4anMuU3ViamVjdDtyZWFkeURlZmVycmVkPWp0LnNtYXJ0cHJvbWlzZS5kZWZlcigpOyNlPW02ZSh0aGlzLHMsITEpO2dldCBob3Jpem9udGFsTGF5b3V0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhvcml6b250YWxMYXlvdXQobCl7dGhpcy4jZT1sfXN0YXRpYyBzdHlsZXM9W0pgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICA6aG9zdChbaG9yaXpvbnRhbC1sYXlvdXRdKSB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtsZXQgbD10aGlzLmdldEZvcm1FbGVtZW50cygpO3RoaXMudXBkYXRlUmVxdWlyZWRTdGF0dXMoKSx0aGlzLnVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpO2ZvcihsZXQgdSBvZiBsKXUuY2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoYXN5bmMoKT0+e2xldCBkPWF3YWl0IHRoaXMuY29sbGVjdEZvcm1EYXRhKCk7dGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQoZCksY29uc29sZS5sb2coZCksdGhpcy51cGRhdGVSZXF1aXJlZFN0YXR1cygpfSk7YXdhaXQgdGhpcy5hZGRCZWhhdmlvdXJzKCksdGhpcy5yZWFkeURlZmVycmVkLnJlc29sdmUoKX1nZXRGb3JtRWxlbWVudHMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maWx0ZXIobD0+RGNyLmluY2x1ZGVzKGwuY29uc3RydWN0b3IpKX1nZXRTdWJtaXRCdXR0b24oKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKGw9PmwgaW5zdGFuY2VvZiBiRil9YXN5bmMgdXBkYXRlUmVxdWlyZWRTdGF0dXMoKXtjb25zb2xlLmxvZygiY2hlY2tpbmcgdGhlIHJlcXVpcmVkIHN0YXR1cy4iKTtsZXQgbD0hMDtmb3IobGV0IHUgb2YgdGhpcy5nZXRGb3JtRWxlbWVudHMoKSl1LnJlcXVpcmVkJiYhdS52YWx1ZSYmKGw9ITEpO3RoaXMuZ2V0U3VibWl0QnV0dG9uKCkmJih0aGlzLmdldFN1Ym1pdEJ1dHRvbigpLmRpc2FibGVkPSFsKX1hc3luYyBjb2xsZWN0Rm9ybURhdGEoKXtsZXQgbD10aGlzLmdldEZvcm1FbGVtZW50cygpLHU9e307Zm9yKGxldCBkIG9mIGwpe2lmKCFkLmtleSl7Y29uc29sZS5sb2coYGZvcm0gZWxlbWVudCB3aXRoIGxhYmVsICIke2QubGFiZWx9IiBoYXMgbm8ga2V5LiBza2lwcGluZy5gKTtjb250aW51ZX11W2Qua2V5XT1kLnZhbHVlfXJldHVybiB1fWFzeW5jIGdhdGhlckFuZERpc3BhdGNoKCl7bGV0IGw9YXdhaXQgdGhpcy5jb2xsZWN0Rm9ybURhdGEoKSx1PW5ldyBDdXN0b21FdmVudCgiZm9ybURhdGEiLHtkZXRhaWw6e2RhdGE6bH0sYnViYmxlczohMH0pO3RoaXMuZGlzcGF0Y2hFdmVudCh1KSxjb25zb2xlLmxvZygiZGlzcGF0Y2hlZCBkYXRhOiIpLGNvbnNvbGUubG9nKGwpfXNldFN0YXR1cyhsLHUpe2xldCBkPXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCksaD10aGlzLmdldFN1Ym1pdEJ1dHRvbigpO3N3aXRjaChsKXtjYXNlIm5vcm1hbCI6aC5kaXNhYmxlZD0hMSxoLnN0YXR1cz0ibm9ybWFsIjtmb3IobGV0IG0gb2YgZCltLmRpc2FibGVkPSExO2JyZWFrO2Nhc2UicGVuZGluZyI6aC5kaXNhYmxlZD0hMCxoLnN0YXR1cz0icGVuZGluZyI7Zm9yKGxldCBtIG9mIGQpbS5kaXNhYmxlZD0hMDticmVhaztjYXNlInN1Y2Nlc3MiOmguZGlzYWJsZWQ9ITAsaC5zdGF0dXM9InN1Y2Nlc3MiO2ZvcihsZXQgbSBvZiBkKW0uZGlzYWJsZWQ9ITA7YnJlYWs7Y2FzZSJlcnJvciI6aC5kaXNhYmxlZD0hMCxoLnN0YXR1cz0iZXJyb3IiO2ZvcihsZXQgbSBvZiBkKW0uZGlzYWJsZWQ9ITA7YnJlYWt9aC50ZXh0PXV9cmVzZXQoKXtsZXQgbD10aGlzLmdldEZvcm1FbGVtZW50cygpLHU9dGhpcy5nZXRTdWJtaXRCdXR0b24oKTtmb3IobGV0IGQgb2YgbClkLnZhbHVlPW51bGw7dGhpcy5zZXRTdGF0dXMoIm5vcm1hbCIsIlN1Ym1pdCIpfWFzeW5jIGFkZEJlaGF2aW91cnMoKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGw9PntsZXQgdT1sLnRhcmdldDtpZihEY3IuaW5jbHVkZXModS5jb25zdHJ1Y3RvcikmJmwua2V5PT09IkVudGVyIil7bGV0IGQ9dGhpcy5nZXRGb3JtRWxlbWVudHMoKSxoPWQuaW5kZXhPZih1KTtoPGQubGVuZ3RoLTE/ZFtoKzFdLmZvY3VzKCk6KHUuYmx1cigpLHRoaXMuZ2V0U3VibWl0QnV0dG9uKCk/LmZvY3VzKCkpfX0pfXVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpe2xldCBsPXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCk7Zm9yKGxldCB1IG9mIGwpImxheW91dE1vZGUiaW4gdSYmKHUubGF5b3V0TW9kZT0iYXV0byIpfXVwZGF0ZWQobCl7c3VwZXIudXBkYXRlZChsKSxsLmhhcygiaG9yaXpvbnRhbExheW91dCIpJiZ0aGlzLnVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxtNmUodGhpcyxvKX1zdGF0aWN7bTZlKGEscil9fTtyZXR1cm4gYz1hfSkoKX0pO3ZhciBFY3IsSWNyPWYoKCk9Pnt1ZSgpO2hhKCk7T2koKTtTZigpO0s2KCk7UTQoKTtpcigpO0Vjcj0oKT0+TWAKICA8c3R5bGU+CiAgICAke0pgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIAogICAgICAudmVydGljYWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmljb24tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLXNuaXBwZXQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57ZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9PntsZXQgYT1yLmdldEF0dHJpYnV0ZSgidHlwZSIpfHwiZGVmYXVsdCI7Y29uc29sZS5sb2coYEJ1dHRvbiB2YXJpYW50IGNsaWNrZWQ6ICR7YX1gKX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIEJ1dHRvbiBWYXJpYW50cyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgdmlzdWFsIHN0eWxlcyBmb3IgdmFyaW91cyB1c2UgY2FzZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlZmF1bHQiPkRlZmF1bHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSI+U2Vjb25kYXJ5PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZXN0cnVjdGl2ZSI+RGVzdHJ1Y3RpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiPk91dGxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0Ij5HaG9zdDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ibGluayI+TGluayBCdXR0b248L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntlLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChyPT57ci5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCBhPXIuZ2V0QXR0cmlidXRlKCJzaXplIil8fCJkZWZhdWx0Ijtjb25zb2xlLmxvZyhgQnV0dG9uIHNpemU6ICR7YX1gKX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjIuIEJ1dHRvbiBTaXplcyJ9IC5zdWJ0aXRsZT0keyJNdWx0aXBsZSBzaXplcyBmb3IgZGlmZmVyZW50IGNvbnRleHRzIGFuZCB1c2UgY2FzZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9InNtIj5TbWFsbCBCdXR0b248L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9ImRlZmF1bHQiPkRlZmF1bHQgU2l6ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0ibGciPkxhcmdlIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ib3V0bGluZSIgLnRleHQ9JHsiXHV7MUY2ODB9In0+PC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0ic20iIHR5cGU9InNlY29uZGFyeSI+U21hbGwgU2Vjb25kYXJ5PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJkZWZhdWx0IiB0eXBlPSJkZXN0cnVjdGl2ZSI+RGVmYXVsdCBEZXN0cnVjdGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0ibGciIHR5cGU9Im91dGxpbmUiPkxhcmdlIE91dGxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntlLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChyPT57ci5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCBhPXIucXVlcnlTZWxlY3RvcigiZGVlcy1pY29uIik7aWYoYSl7bGV0IGk9YS5nZXRBdHRyaWJ1dGUoImljb25GQSIpfHwidW5rbm93biI7Y29uc29sZS5sb2coYEljb24gYnV0dG9uIGNsaWNrZWQ6ICR7aX1gKX19KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBCdXR0b25zIHdpdGggSWNvbnMifSAuc3VidGl0bGU9JHsiQ29tYmluaW5nIGljb25zIHdpdGggdGV4dCBmb3IgZW5oYW5jZWQgdmlzdWFsIGNvbW11bmljYXRpb24ifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6cGx1cyI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIEFkZCBJdGVtCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTp0cmFzaCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIERlbGV0ZQogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJvdXRsaW5lIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RG93bmxvYWQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICBEb3dubG9hZAogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSIgc2l6ZT0ic20iPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOmdlYXIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICBTZXR0aW5ncwogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6Y2FyZXRMZWZ0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgQmFjawogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCI+CiAgICAgICAgICAgIE5leHQKICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpjYXJldFJpZ2h0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZWZhdWx0Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpwbHVzIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ic2Vjb25kYXJ5Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpnZWFyIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ib3V0bGluZSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlNlYXJjaCI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9Imdob3N0Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6TW9yZVZlcnRpY2FsIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0iZGVzdHJ1Y3RpdmUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOnRyYXNoIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57ZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9PntsZXQgYT1yLmdldEF0dHJpYnV0ZSgiaWNvbiIpfHwibm9uZSIsaT1yLmdldEF0dHJpYnV0ZSgiaWNvblBvc2l0aW9uIil8fCJsZWZ0Ijtjb25zb2xlLmxvZyhgSWNvbiBwcm9wZXJ0eSBidXR0b246IGljb249JHthfSwgcG9zaXRpb249JHtpfWApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gSWNvbnMgdmlhIFByb3BlcnR5In0gLnN1YnRpdGxlPSR7IlNpbXBsaWZpZWQgaWNvbiBzeW50YXggdXNpbmcgdGhlIGljb24gcHJvcGVydHkifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gaWNvbj0iZmE6cGx1cyI+QWRkIEl0ZW08L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIiBpY29uPSJmYTp0cmFzaCI+RGVsZXRlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJvdXRsaW5lIiBpY29uPSJsdWNpZGU6RG93bmxvYWQiPkRvd25sb2FkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSIgc2l6ZT0ic20iIGljb249ImZhOmdlYXIiPlNldHRpbmdzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCIgaWNvbj0iZmE6Y2FyZXRMZWZ0Ij5CYWNrPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCIgaWNvbj0iZmE6Y2FyZXRSaWdodCIgaWNvblBvc2l0aW9uPSJyaWdodCI+TmV4dDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZWZhdWx0IiBpY29uPSJmYTpwbHVzIj48L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9InNlY29uZGFyeSIgaWNvbj0ibHVjaWRlOlNldHRpbmdzIj48L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9Im91dGxpbmUiIGljb249Imx1Y2lkZTpTZWFyY2giPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0iZ2hvc3QiIGljb249Imx1Y2lkZTpNb3JlVmVydGljYWwiPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0iZGVzdHJ1Y3RpdmUiIGljb249ImZhOnRyYXNoIj48L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLXNuaXBwZXQiPgogICAgICAgICAgICAmbHQ7ZGVlcy1idXR0b24gaWNvbj0iZmE6cGx1cyImZ3Q7QWRkIEl0ZW0mbHQ7L2RlZXMtYnV0dG9uJmd0Ozxicj4KICAgICAgICAgICAgJmx0O2RlZXMtYnV0dG9uIGljb249ImZhOmNhcmV0UmlnaHQiIGljb25Qb3NpdGlvbj0icmlnaHQiJmd0O05leHQmbHQ7L2RlZXMtYnV0dG9uJmd0OwogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvbltzdGF0dXM9InBlbmRpbmciXScpLHI9ZS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvbltzdGF0dXM9InN1Y2Nlc3MiXScpLGE9ZS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvbltzdGF0dXM9ImVycm9yIl0nKTt0JiZzZXRUaW1lb3V0KCgpPT57Y29uc29sZS5sb2coIlBlbmRpbmcgYnV0dG9uIGlzIHNob3dpbmcgbG9hZGluZyBzdGF0ZSIpfSwxZTMpLHImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9Pntjb25zb2xlLmxvZygiU3VjY2VzcyBzdGF0ZSBidXR0b24gY2xpY2tlZCIpfSksYSYmYS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2NvbnNvbGUubG9nKCJFcnJvciBzdGF0ZSBidXR0b24gY2xpY2tlZCIpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIEJ1dHRvbiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHN0YXRlcyB0byBpbmRpY2F0ZSBidXR0b24gc3RhdHVzIGFuZCBsb2FkaW5nIGNvbmRpdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHN0YXR1cz0ibm9ybWFsIj5Ob3JtYWw8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHN0YXR1cz0icGVuZGluZyI+UHJvY2Vzc2luZy4uLjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJzdWNjZXNzIj5TdWNjZXNzITwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJlcnJvciI+RXJyb3IhPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBkaXNhYmxlZD5EaXNhYmxlZDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSIgc3RhdHVzPSJwZW5kaW5nIiBzaXplPSJzbSI+U21hbGwgTG9hZGluZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ib3V0bGluZSIgc3RhdHVzPSJwZW5kaW5nIj5EZWZhdWx0IExvYWRpbmc8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIiBzdGF0dXM9InBlbmRpbmciIHNpemU9ImxnIj5MYXJnZSBMb2FkaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIjY2xpY2stb3V0cHV0Iikscj1lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtYnV0dG9uOmZpcnN0LW9mLXR5cGUiKSxhPWUucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0ic2Vjb25kYXJ5Il0nKSxpPWUucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0iZGVzdHJ1Y3RpdmUiXScpO3ImJnQmJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9Pnt0LnRleHRDb250ZW50PWBDbGlja2VkOiBEZWZhdWx0IGJ1dHRvbiBhdCAke25ldyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCl9YH0pLGEmJnQmJmEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsbj0+e3QudGV4dENvbnRlbnQ9YENsaWNrZWQ6IFNlY29uZGFyeSBidXR0b24gd2l0aCBkYXRhOiAke24uZGV0YWlsLmRhdGF9YH0pLGkmJnQmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsYXN5bmMoKT0+e3QudGV4dENvbnRlbnQ9IlByb2Nlc3NpbmcuLi4iLGF3YWl0IFN0LnBsdWdpbnMuc21hcnRkZWxheS5kZWxheUZvcigyZTMpLHQudGV4dENvbnRlbnQ9IkFjdGlvbiBjb21wbGV0ZWQhIn0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBFdmVudCBIYW5kbGluZyJ9IC5zdWJ0aXRsZT0keyJJbnRlcmFjdGl2ZSBleGFtcGxlcyB3aXRoIGNsaWNrIGV2ZW50IGhhbmRsaW5nIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5DbGljayBNZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiAuZXZlbnREZXRhaWxEYXRhPSR7ImN1c3RvbS1kYXRhLTEyMyJ9PgogICAgICAgICAgICBDbGljayB3aXRoIERhdGEKICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiPkFzeW5jIEFjdGlvbjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0iY2xpY2stb3V0cHV0IiBjbGFzcz0iZGVtby1vdXRwdXQiPgogICAgICAgICAgPGVtPkNsaWNrIGEgYnV0dG9uIHRvIHNlZSB0aGUgcmVzdWx0Li4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKSxyPWUucXVlcnlTZWxlY3RvcigiI2Zvcm0tb3V0cHV0Iik7dCYmciYmdC5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsbj0+e3IuaW5uZXJIVE1MPSI8c3Ryb25nPkZvcm0gc3VibWl0dGVkIHdpdGggZGF0YTo8L3N0cm9uZz48YnI+IitKU09OLnN0cmluZ2lmeShuLmRldGFpbC5kYXRhLG51bGwsMil9KTtsZXQgYT1lLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3R5cGU9InNlY29uZGFyeSJdJyksaT1lLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3R5cGU9Imdob3N0Il0nKTthJiZhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57Y29uc29sZS5sb2coIlNhdmUgRHJhZnQgY2xpY2tlZCIpfSksaSYmaS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2NvbnNvbGUubG9nKCJDYW5jZWwgY2xpY2tlZCIpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjcuIEZvcm0gSW50ZWdyYXRpb24ifSAuc3VidGl0bGU9JHsiQnV0dG9ucyB3b3JraW5nIHdpdGhpbiBmb3JtcyB3aXRoIGF1dG9tYXRpYyBzcGFjaW5nIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgbGFiZWw9Ik5hbWUiIGtleT0ibmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGxhYmVsPSJFbWFpbCIga2V5PSJlbWFpbCIgdHlwZT0iZW1haWwiIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBsYWJlbD0iTWVzc2FnZSIga2V5PSJtZXNzYWdlIiBpc011bHRpbGluZT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSI+U2F2ZSBEcmFmdDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZ2hvc3QiPkNhbmNlbDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5TdWJtaXQgRm9ybTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJmb3JtLW91dHB1dCIgY2xhc3M9ImRlbW8tb3V0cHV0IiBzdHlsZT0id2hpdGUtc3BhY2U6IHByZS13cmFwOyI+CiAgICAgICAgICA8ZW0+U3VibWl0IHRoZSBmb3JtIHRvIHNlZSB0aGUgZGF0YS4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2UucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKHI9PntsZXQgYT1yLmdldEF0dHJpYnV0ZSgidHlwZSIpO2EmJmNvbnNvbGUubG9nKGBMZWdhY3kgdHlwZSAiJHthfSIgaXMgc3VwcG9ydGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5YCl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOC4gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSJ9IC5zdWJ0aXRsZT0keyJPbGQgYnV0dG9uIHR5cGVzIGFyZSBhdXRvbWF0aWNhbGx5IG1hcHBlZCB0byBuZXcgdmFyaWFudHMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im5vcm1hbCI+Tm9ybWFsIOKGkiBEZWZhdWx0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+SGlnaGxpZ2h0ZWQg4oaSIERlc3RydWN0aXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkaXNjcmVldCI+RGlzY3JlZXQg4oaSIE91dGxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImJpZyI+QmlnIOKGkiBMYXJnZSBTaXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsiPgogICAgICAgICAgVGhlc2UgbGVnYWN5IHR5cGUgdmFsdWVzIGFyZSBtYWludGFpbmVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGJ1dCB3ZSByZWNvbW1lbmQgdXNpbmcgdGhlIG5ldyB2YXJpYW50IHN5c3RlbS4KICAgICAgICA8L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvckFsbCgiLnZlcnRpY2FsLWdyb3VwIilbMF0scj1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi52ZXJ0aWNhbC1ncm91cCIpWzFdO3QmJnQucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKChpLG4pPT57aS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCBzPVsiU2F2ZSBDaGFuZ2VzIiwiRGlzY2FyZCIsIkhlbHAiXVtuXTtjb25zb2xlLmxvZyhgQWN0aW9uIGdyb3VwOiAke3N9IGNsaWNrZWRgKX0pfSksciYmci5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goKGksbik9PntpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IHM9WyJEZWxldGUgQWNjb3VudCIsIkFyY2hpdmUgRGF0YSIsIk5vdCBBdmFpbGFibGUiXVtuXTtuIT09MiYmY29uc29sZS5sb2coYERhbmdlciB6b25lOiAke3N9IGNsaWNrZWRgKX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjkuIEFkdmFuY2VkIEV4YW1wbGVzIn0gLnN1YnRpdGxlPSR7IkNvbXBsZXggYnV0dG9uIGNvbmZpZ3VyYXRpb25zIGFuZCByZWFsLXdvcmxkIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtZ3JvdXAiPgogICAgICAgICAgPGRpdiBjbGFzcz0idmVydGljYWwtZ3JvdXAiPgogICAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMCAwIDhweCAwOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7Ij5BY3Rpb24gR3JvdXA8L2g0PgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVmYXVsdCIgc2l6ZT0ic20iPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlNhdmUiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIFNhdmUgQ2hhbmdlcwogICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6VW5kbzIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIERpc2NhcmQKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6SGVscENpcmNsZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgSGVscAogICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0idmVydGljYWwtZ3JvdXAiPgogICAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMCAwIDhweCAwOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7Ij5EYW5nZXIgWm9uZTwvaDQ+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZXN0cnVjdGl2ZSIgc2l6ZT0ic20iPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6dHJhc2giPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIERlbGV0ZSBBY2NvdW50CiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJvdXRsaW5lIiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6QXJjaGl2ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgQXJjaGl2ZSBEYXRhCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCIgc2l6ZT0ic20iIGRpc2FibGVkPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkJhbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgTm90IEF2YWlsYWJsZQogICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMjRweDsiPgogICAgICAgICAgPGg0IHN0eWxlPSJtYXJnaW46IDAgMCA4cHggMDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOyI+Q29kZSBFeGFtcGxlOjwvaDQ+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLXNuaXBwZXQiPgogICAgICAgICAgICAmbHQ7ZGVlcy1idXR0b24gdHlwZT0iZGVmYXVsdCIgc2l6ZT0ic20iIGljb249Imx1Y2lkZTpTYXZlIiBAY2xpY2tlZD0iXCR7aGFuZGxlQ2xpY2t9IiZndDs8YnI+CiAgICAgICAgICAgICZuYnNwOyZuYnNwO1NhdmUgQ2hhbmdlczxicj4KICAgICAgICAgICAgJmx0Oy9kZWVzLWJ1dHRvbiZndDsKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmB9KTt2YXIgRm8sWWEsUGNyLFo0PWYoKCk9Pnt1ZSgpO0p0KCk7SWNyKCk7UWUoKTtGbz1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFlhPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxQY3I9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWJ1dHRvbiIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdLHEsXz1bXSx6PVtdLEUsVD1bXSxMPVtdLFYsQj1bXSxVPVtdO3ZhciBLPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgST10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHtyZWZsZWN0OiEwLGhhc0NoYW5nZWQoKXtyZXR1cm4hMH19KV0sYz1bRigpXSxkPVtGKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx2PVtGKHt0eXBlOkJvb2xlYW59KV0seT1bRih7dHlwZTpTdHJpbmd9KV0sUj1bRih7dHlwZTpTdHJpbmd9KV0sTz1bRih7dHlwZTpTdHJpbmd9KV0scT1bRih7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sRT1bRih7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxWPVtGKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLEZvKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dmU9PiJ0ZXh0ImluIHZlLGdldDp2ZT0+dmUudGV4dCxzZXQ6KHZlLE1lKT0+e3ZlLnRleHQ9TWV9fSxtZXRhZGF0YTpJfSxzLG8pLEZvKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXZlbnREZXRhaWxEYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp2ZT0+ImV2ZW50RGV0YWlsRGF0YSJpbiB2ZSxnZXQ6dmU9PnZlLmV2ZW50RGV0YWlsRGF0YSxzZXQ6KHZlLE1lKT0+e3ZlLmV2ZW50RGV0YWlsRGF0YT1NZX19LG1ldGFkYXRhOkl9LGwsdSksRm8odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dmU9PiJkaXNhYmxlZCJpbiB2ZSxnZXQ6dmU9PnZlLmRpc2FibGVkLHNldDoodmUsTWUpPT57dmUuZGlzYWJsZWQ9TWV9fSxtZXRhZGF0YTpJfSxoLG0pLEZvKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIaWRkZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnZlPT4iaXNIaWRkZW4iaW4gdmUsZ2V0OnZlPT52ZS5pc0hpZGRlbixzZXQ6KHZlLE1lKT0+e3ZlLmlzSGlkZGVuPU1lfX0sbWV0YWRhdGE6SX0sYixnKSxGbyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnZlPT4idHlwZSJpbiB2ZSxnZXQ6dmU9PnZlLnR5cGUsc2V0Oih2ZSxNZSk9Pnt2ZS50eXBlPU1lfX0sbWV0YWRhdGE6SX0sdyxrKSxGbyh0aGlzLG51bGwsUix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnZlPT4ic2l6ZSJpbiB2ZSxnZXQ6dmU9PnZlLnNpemUsc2V0Oih2ZSxNZSk9Pnt2ZS5zaXplPU1lfX0sbWV0YWRhdGE6SX0sQyxTKSxGbyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dmU9PiJzdGF0dXMiaW4gdmUsZ2V0OnZlPT52ZS5zdGF0dXMsc2V0Oih2ZSxNZSk9Pnt2ZS5zdGF0dXM9TWV9fSxtZXRhZGF0YTpJfSxELE4pLEZvKHRoaXMsbnVsbCxxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5zaWRlRm9ybSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dmU9PiJpbnNpZGVGb3JtImluIHZlLGdldDp2ZT0+dmUuaW5zaWRlRm9ybSxzZXQ6KHZlLE1lKT0+e3ZlLmluc2lkZUZvcm09TWV9fSxtZXRhZGF0YTpJfSxfLHopLEZvKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dmU9PiJpY29uImluIHZlLGdldDp2ZT0+dmUuaWNvbixzZXQ6KHZlLE1lKT0+e3ZlLmljb249TWV9fSxtZXRhZGF0YTpJfSxULEwpLEZvKHRoaXMsbnVsbCxWLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvblBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp2ZT0+Imljb25Qb3NpdGlvbiJpbiB2ZSxnZXQ6dmU9PnZlLmljb25Qb3NpdGlvbixzZXQ6KHZlLE1lKT0+e3ZlLmljb25Qb3NpdGlvbj1NZX19LG1ldGFkYXRhOkl9LEIsVSksRm8obnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6SX0sbnVsbCxyKSxLPWE9dC52YWx1ZSxJJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkl9KX1zdGF0aWMgZGVtbz1FY3I7c3RhdGljIGRlbW9Hcm91cHM9WyJCdXR0b24iXTsjZT1ZYSh0aGlzLHMsdm9pZCAwKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiNlfXNldCB0ZXh0KEkpe3RoaXMuI2U9SX0jdD0oWWEodGhpcyxvKSxZYSh0aGlzLGwsdm9pZCAwKSk7Z2V0IGV2ZW50RGV0YWlsRGF0YSgpe3JldHVybiB0aGlzLiN0fXNldCBldmVudERldGFpbERhdGEoSSl7dGhpcy4jdD1JfSNyPShZYSh0aGlzLHUpLFlhKHRoaXMsaCwhMSkpO2dldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLiNyfXNldCBkaXNhYmxlZChJKXt0aGlzLiNyPUl9I2E9KFlhKHRoaXMsbSksWWEodGhpcyxiLCExKSk7Z2V0IGlzSGlkZGVuKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzSGlkZGVuKEkpe3RoaXMuI2E9SX0jaT0oWWEodGhpcyxnKSxZYSh0aGlzLHcsImRlZmF1bHQiKSk7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdHlwZShJKXt0aGlzLiNpPUl9I249KFlhKHRoaXMsayksWWEodGhpcyxDLCJkZWZhdWx0IikpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI259c2V0IHNpemUoSSl7dGhpcy4jbj1JfSNzPShZYSh0aGlzLFMpLFlhKHRoaXMsRCwibm9ybWFsIikpO2dldCBzdGF0dXMoKXtyZXR1cm4gdGhpcy4jc31zZXQgc3RhdHVzKEkpe3RoaXMuI3M9SX0jbz0oWWEodGhpcyxOKSxZYSh0aGlzLF8sITEpKTtnZXQgaW5zaWRlRm9ybSgpe3JldHVybiB0aGlzLiNvfXNldCBpbnNpZGVGb3JtKEkpe3RoaXMuI289SX0jbD0oWWEodGhpcyx6KSxZYSh0aGlzLFQsdm9pZCAwKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jbH1zZXQgaWNvbihJKXt0aGlzLiNsPUl9I2M9KFlhKHRoaXMsTCksWWEodGhpcyxCLCJsZWZ0IikpO2dldCBpY29uUG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jY31zZXQgaWNvblBvc2l0aW9uKEkpe3RoaXMuI2M9SX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksWWEodGhpcyxVKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksIXRoaXMuaW5zaWRlRm9ybSYmdGhpcy5jbG9zZXN0KCJkZWVzLWZvcm0iKSYmKHRoaXMuaW5zaWRlRm9ybT0hMCl9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgfQogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEZvcm0gc3BhY2luZyBzdHlsZXMgKi8KICAgICAgOmhvc3QoW2luc2lkZS1mb3JtXSkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtpbnNpZGUtZm9ybV06bGFzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtZm9ybVtob3Jpem9udGFsLWxheW91dF0gOmhvc3QoW2luc2lkZS1mb3JtXSkgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1mb3JtW2hvcml6b250YWwtbGF5b3V0XSA6aG9zdChbaW5zaWRlLWZvcm1dOmxhc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5idXR0b24gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC8qIFNpemUgdmFyaWFudHMgKi8KICAgICAgLmJ1dHRvbi5zaXplLWRlZmF1bHQgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLnNpemUtc20gewogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAuYnV0dG9uLnNpemUtbGcgewogICAgICAgIGhlaWdodDogNDRweDsKICAgICAgICBwYWRkaW5nOiAwIDI0cHg7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICB9CgogICAgICAuYnV0dG9uLnNpemUtaWNvbiB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC8qIERlZmF1bHQgdmFyaWFudCAqLwogICAgICAuYnV0dG9uLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAwLjA1KTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5kZWZhdWx0OmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxMC4yJSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDg1JSkiLCJoc2woMjE1IDIwLjIlIDIwJSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24uZGVmYXVsdDphY3RpdmU6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSA5JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIERlc3RydWN0aXZlIHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5kZXN0cnVjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNjAuMiUpOwogICAgICAgIGNvbG9yOiBoc2woMCAwJSA5OCUpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYnV0dG9uLmRlc3RydWN0aXZlOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMCA4NC4yJSA1Ni4yJSk7CiAgICAgIH0KCiAgICAgIC5idXR0b24uZGVzdHJ1Y3RpdmU6YWN0aXZlOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMCA4NC4yJSA1Mi4yJSk7CiAgICAgIH0KCiAgICAgIC8qIE91dGxpbmUgdmFyaWFudCAqLwogICAgICAuYnV0dG9uLm91dGxpbmUgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDIxLjglKSIpfTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5vdXRsaW5lOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDg1JSkiLCJoc2woMjE1IDIwLjIlIDI2LjglKSIpfTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5vdXRsaW5lOmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDEzLjglKSIpfTsKICAgICAgfQoKICAgICAgLyogU2Vjb25kYXJ5IHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYnV0dG9uLnNlY29uZGFyeTpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDEzLjglKSIpfTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDg1JSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgfQoKICAgICAgLyogR2hvc3QgdmFyaWFudCAqLwogICAgICAuYnV0dG9uLmdob3N0IHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYnV0dG9uLmdob3N0OmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24uZ2hvc3Q6YWN0aXZlOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMTMuOCUpIil9OwogICAgICB9CgogICAgICAvKiBMaW5rIHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5saW5rIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAuYnV0dG9uLmxpbms6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAvKiBTdGF0dXMgc3RhdGVzICovCiAgICAgIC5idXR0b24ucGVuZGluZywKICAgICAgLmJ1dHRvbi5zdWNjZXNzLAogICAgICAuYnV0dG9uLmVycm9yIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7IC8qIFNwYWNlIGZvciBzcGlubmVyICovCiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24uc2l6ZS1zbS5wZW5kaW5nLAogICAgICAuYnV0dG9uLnNpemUtc20uc3VjY2VzcywKICAgICAgLmJ1dHRvbi5zaXplLXNtLmVycm9yIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24uc2l6ZS1sZy5wZW5kaW5nLAogICAgICAuYnV0dG9uLnNpemUtbGcuc3VjY2VzcywKICAgICAgLmJ1dHRvbi5zaXplLWxnLmVycm9yIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24ucGVuZGluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYnV0dG9uLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDYyLjglIDcwLjYlIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgNjIuOCUgNzAuNiUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAvKiBEaXNhYmxlZCBzdGF0ZSAqLwogICAgICAuYnV0dG9uLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLyogSGlkZGVuIHN0YXRlICovCiAgICAgIC5idXR0b24uaGlkZGVuIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBGb2N1cyBzdGF0ZSAqLwogICAgICAuYnV0dG9uOmZvY3VzLXZpc2libGUgewogICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDsKICAgICAgfQoKICAgICAgLyogTG9hZGluZyBzcGlubmVyICovCiAgICAgIGRlZXMtc3Bpbm5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDEwcHg7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtc20gZGVlcy1zcGlubmVyIHsKICAgICAgICBsZWZ0OiA4cHg7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtbGcgZGVlcy1zcGlubmVyIHsKICAgICAgICBsZWZ0OiAxNHB4OwogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgfQogICAgICAKICAgICAgLyogSWNvbiBzaXppbmcgd2l0aGluIGJ1dHRvbnMgKi8KICAgICAgLmJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLXNtIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtbGcgZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgIH0KCiAgICAgIC8qIFRleHQgYWxpZ25tZW50ICovCiAgICAgIC50ZXh0Ym94IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICBgXTtleHRyYWN0TGlnaHREb20oKXtsZXQgST10aGlzLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaWNvbiIpLHZlPUFycmF5LmZyb20odGhpcy5jaGlsZE5vZGVzKS5maWx0ZXIoTWU9Pk1lLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpLm1hcChNZT0+TWUudGV4dENvbnRlbnQ/LnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKTtpZih2ZSYmIXRoaXMudGV4dCYmKHRoaXMudGV4dD12ZSksSSl7bGV0IE1lPUkuaWNvbnx8SS5nZXRBdHRyaWJ1dGUoImljb24iKXx8KEkuaWNvbkZBP2BmYToke0kuaWNvbkZBfWA6bnVsbCk7aWYoTWUpe2xldCBQPUFycmF5LmZyb20odGhpcy5jaGlsZE5vZGVzKSxsZT1QLmluZGV4T2YoSSksU2U9UC5maWx0ZXIoWj0+Wi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZaLnRleHRDb250ZW50Py50cmltKCkpO2lmKFNlLmxlbmd0aD4wKXtsZXQgWj1QLmluZGV4T2YoU2VbMF0pO3RoaXMuaWNvblBvc2l0aW9uPWxlPFo/ImxlZnQiOiJyaWdodCJ9dGhpcy5pY29uPU1lfUkucmVtb3ZlKCl9dGhpcy5pbm5lckhUTUw9IiJ9cmVuZGVyKCl7bGV0IHZlPXtub3JtYWw6ImRlZmF1bHQiLGhpZ2hsaWdodGVkOiJkZXN0cnVjdGl2ZSIsZGlzY3JlZXQ6Im91dGxpbmUiLGJpZzoiZGVmYXVsdCJ9W3RoaXMudHlwZV18fHRoaXMudHlwZSxNZT10aGlzLnR5cGU9PT0iYmlnIj8ibGciOnRoaXMuc2l6ZSxQPXRoaXMuaWNvblBvc2l0aW9uPT09ImxlZnQiJiZ0aGlzLmljb24/TWA8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5pY29ufT48L2RlZXMtaWNvbj5gOiIiLGxlPXRoaXMuaWNvblBvc2l0aW9uPT09InJpZ2h0IiYmdGhpcy5pY29uP01gPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuaWNvbn0+PC9kZWVzLWljb24+YDoiIixTZT1NZT09PSJpY29uIiYmdGhpcy5pY29uO3JldHVybiBNYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJ1dHRvbiAke3RoaXMuaXNIaWRkZW4/ImhpZGRlbiI6IiJ9ICR7dmV9IHNpemUtJHtNZX0gJHt0aGlzLnN0YXR1c30gJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIEBjbGljaz0iJHt0aGlzLmRpc3BhdGNoQ2xpY2t9IgogICAgICA+CiAgICAgICAgJHt0aGlzLnN0YXR1cz09PSJub3JtYWwiP01gYDpNYAogICAgICAgICAgPGRlZXMtc3Bpbm5lcgogICAgICAgICAgICAuYm53PSR7ITB9CiAgICAgICAgICAgIHN0YXR1cz0iJHt0aGlzLnN0YXR1c30iCiAgICAgICAgICAgIHNpemU9IiR7TWU9PT0ic20iPzE0Ok1lPT09ImxnIj8xODoxNn0iCiAgICAgICAgICA+PC9kZWVzLXNwaW5uZXI+CiAgICAgICAgYH0KICAgICAgICAke1B9CiAgICAgICAgJHtTZT8iIjpNYDxkaXYgY2xhc3M9InRleHRib3giPiR7dGhpcy50ZXh0fHwiQnV0dG9uIn08L2Rpdj5gfQogICAgICAgICR7bGV9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBkaXNwYXRjaENsaWNrKCl7dGhpcy5kaXNhYmxlZHx8dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xpY2tlZCIse2RldGFpbDp7ZGF0YTp0aGlzLmV2ZW50RGV0YWlsRGF0YX0sYnViYmxlczohMH0pKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLmV4dHJhY3RMaWdodERvbSgpfXN0YXRpY3tZYShhLHIpfX07cmV0dXJuIEs9YX0pKCl9KTt2YXIgSzQsdDEsTmNyLERGPWYoKCk9PntNbHIoKTt3aSgpO0puKCk7dWUoKTtpcigpO01pKCk7WjQoKTtRZSgpO0s0PWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sdDE9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LE5jcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtc3RhdHNncmlkIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W107dmFyIHE9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6QXJyYXl9KV0sYz1bRih7dHlwZTpOdW1iZXJ9KV0sZD1bRih7dHlwZTpOdW1iZXJ9KV0sdj1bRih7dHlwZTpBcnJheX0pXSx5PVtzZSgpXSxSPVtzZSgpXSxPPVtzZSgpXSxLNCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpbGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4idGlsZXMiaW4geixnZXQ6ej0+ei50aWxlcyxzZXQ6KHosRSk9Pnt6LnRpbGVzPUV9fSxtZXRhZGF0YTpffSxzLG8pLEs0KHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluVGlsZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4ibWluVGlsZVdpZHRoImluIHosZ2V0Ono9PnoubWluVGlsZVdpZHRoLHNldDooeixFKT0+e3oubWluVGlsZVdpZHRoPUV9fSxtZXRhZGF0YTpffSxsLHUpLEs0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ2FwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4iZ2FwImluIHosZ2V0Ono9PnouZ2FwLHNldDooeixFKT0+e3ouZ2FwPUV9fSxtZXRhZGF0YTpffSxoLG0pLEs0KHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ3JpZEFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJncmlkQWN0aW9ucyJpbiB6LGdldDp6PT56LmdyaWRBY3Rpb25zLHNldDooeixFKT0+e3ouZ3JpZEFjdGlvbnM9RX19LG1ldGFkYXRhOl99LGIsZyksSzQodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZXh0TWVudVZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJjb250ZXh0TWVudVZpc2libGUiaW4geixnZXQ6ej0+ei5jb250ZXh0TWVudVZpc2libGUsc2V0Oih6LEUpPT57ei5jb250ZXh0TWVudVZpc2libGU9RX19LG1ldGFkYXRhOl99LHcsayksSzQodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZXh0TWVudVBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4iY29udGV4dE1lbnVQb3NpdGlvbiJpbiB6LGdldDp6PT56LmNvbnRleHRNZW51UG9zaXRpb24sc2V0Oih6LEUpPT57ei5jb250ZXh0TWVudVBvc2l0aW9uPUV9fSxtZXRhZGF0YTpffSxDLFMpLEs0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGV4dE1lbnVBY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4iY29udGV4dE1lbnVBY3Rpb25zImluIHosZ2V0Ono9PnouY29udGV4dE1lbnVBY3Rpb25zLHNldDooeixFKT0+e3ouY29udGV4dE1lbnVBY3Rpb25zPUV9fSxtZXRhZGF0YTpffSxELE4pLEs0KG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOl99LG51bGwscikscT1hPXQudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89d2xyO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGF0YSBWaWV3Il07I2U9dDEodGhpcyxzLFtdKTtnZXQgdGlsZXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGlsZXMoXyl7dGhpcy4jZT1ffSN0PSh0MSh0aGlzLG8pLHQxKHRoaXMsbCwyNTApKTtnZXQgbWluVGlsZVdpZHRoKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1pblRpbGVXaWR0aChfKXt0aGlzLiN0PV99I3I9KHQxKHRoaXMsdSksdDEodGhpcyxoLDE2KSk7Z2V0IGdhcCgpe3JldHVybiB0aGlzLiNyfXNldCBnYXAoXyl7dGhpcy4jcj1ffSNhPSh0MSh0aGlzLG0pLHQxKHRoaXMsYixbXSkpO2dldCBncmlkQWN0aW9ucygpe3JldHVybiB0aGlzLiNhfXNldCBncmlkQWN0aW9ucyhfKXt0aGlzLiNhPV99I2k9KHQxKHRoaXMsZyksdDEodGhpcyx3LCExKSk7Z2V0IGNvbnRleHRNZW51VmlzaWJsZSgpe3JldHVybiB0aGlzLiNpfXNldCBjb250ZXh0TWVudVZpc2libGUoXyl7dGhpcy4jaT1ffSNuPSh0MSh0aGlzLGspLHQxKHRoaXMsQyx7eDowLHk6MH0pKTtnZXQgY29udGV4dE1lbnVQb3NpdGlvbigpe3JldHVybiB0aGlzLiNufXNldCBjb250ZXh0TWVudVBvc2l0aW9uKF8pe3RoaXMuI249X30jcz0odDEodGhpcyxTKSx0MSh0aGlzLEQsW10pKTtnZXQgY29udGV4dE1lbnVBY3Rpb25zKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGNvbnRleHRNZW51QWN0aW9ucyhfKXt0aGlzLiNzPV99c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgIH0KCiAgICAgIC8qIENTUyBWYXJpYWJsZXMgZm9yIGNvbnNpc3RlbnQgc3BhY2luZyBhbmQgc2l6aW5nICovCiAgICAgIDpob3N0IHsKICAgICAgICAtLWdyaWQtZ2FwOiAxMnB4OwogICAgICAgIC0tdGlsZS1wYWRkaW5nOiAxNnB4OwogICAgICAgIC0taGVhZGVyLXNwYWNpbmc6IDEycHg7CiAgICAgICAgLS1jb250ZW50LW1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgICAgLS12YWx1ZS1mb250LXNpemU6IDI2cHg7CiAgICAgICAgLS11bml0LWZvbnQtc2l6ZTogMTRweDsKICAgICAgICAtLWxhYmVsLWZvbnQtc2l6ZTogMTJweDsKICAgICAgICAtLXRpdGxlLWZvbnQtc2l6ZTogMTNweDsKICAgICAgICAtLWRlc2NyaXB0aW9uLXNwYWNpbmc6IDhweDsKICAgICAgICAtLWJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAtLXRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOwogICAgICB9CgogICAgICAvKiBHcmlkIExheW91dCAqLwogICAgICAuZ3JpZC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1ncmlkLWdhcCkgKiAxLjUpOwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5ncmlkLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAuZ3JpZC1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuZ3JpZC1hY3Rpb25zIGRlZXMtYnV0dG9uIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLWxhYmVsLWZvbnQtc2l6ZSk7CiAgICAgIH0KCiAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoJHt3cigyNTApfXB4LCAxZnIpKTsKICAgICAgICBnYXA6ICR7d3IoMTYpfXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAvKiBUaWxlIEJhc2UgU3R5bGVzICovCiAgICAgIC5zdGF0cy10aWxlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpOwogICAgICAgIHBhZGRpbmc6IHZhcigtLXRpbGUtcGFkZGluZyk7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24pIGVhc2U7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfQoKICAgICAgLnN0YXRzLXRpbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBkMGQwZCIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZDBkMGQwIiwiIzJhMmEyYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXRzLXRpbGUuY2xpY2thYmxlIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5zdGF0cy10aWxlLmNsaWNrYWJsZTpob3ZlciB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCAke3AuYmRUaGVtZSgicmdiYSgwLDAsMCwwLjAzKSIsInJnYmEoMCwwLDAsMC4xNSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFRpbGUgSGVhZGVyICovCiAgICAgIC50aWxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taGVhZGVyLXNwYWNpbmcpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGlsZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS10aXRsZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgIH0KCiAgICAgIC50aWxlLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC8qIFRpbGUgQ29udGVudCAqLwogICAgICAudGlsZS1jb250ZW50IHsKICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1jb250ZW50LW1pbi1oZWlnaHQpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAudGlsZS12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLnRpbGUtdW5pdCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS11bml0LWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLnRpbGUtZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbGFiZWwtZm9udC1zaXplKTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1kZXNjcmlwdGlvbi1zcGFjaW5nKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLyogR2F1Z2UgU3R5bGVzICovCiAgICAgIC5nYXVnZS13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMjBweDsKICAgICAgICBoZWlnaHQ6IDcwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbi10b3A6IC04cHg7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1zdmcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmdhdWdlLWJhY2tncm91bmQgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlOiAke3AuYmRUaGVtZSgiI2U4ZThlOCIsIiMxYTFhMWEiKX07CiAgICAgICAgc3Ryb2tlLXdpZHRoOiA2OwogICAgICB9CgogICAgICAuZ2F1Z2UtZmlsbCB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2Utd2lkdGg6IDY7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLmdhdWdlLXRleHQgewogICAgICAgIGZpbGw6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC1hbmNob3I6IG1pZGRsZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5nYXVnZS11bml0IHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXVuaXQtZm9udC1zaXplKTsKICAgICAgICBmaWxsOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7SXJ9OwogICAgICB9CgogICAgICAvKiBQZXJjZW50YWdlIFN0eWxlcyAqLwogICAgICAucGVyY2VudGFnZS13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5wZXJjZW50YWdlLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLnBlcmNlbnRhZ2UtYmFyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U4ZThlOCIsIiMxYTFhMWEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLnBlcmNlbnRhZ2UtZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMzMzMzMzIiwiI2UwZTBlMCIpfTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAvKiBNdWx0aSBQZXJjZW50YWdlIFN0eWxlcyAqLwogICAgICAubXVsdGktcGVyY2VudGFnZS13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtaXRlbXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtYmFyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U4ZThlOCIsIiMxYTFhMWEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzMzMzMzMyIsIiNlMGUwZTAiKX07CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgfQoKICAgICAgLyogQ1BVIENvcmVzIFN0eWxlcyAqLwogICAgICAuY3B1LWNvcmVzLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbGFiZWwtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLWJhcnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICAgIGdhcDogM3B4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogNjBweDsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgfQoKICAgICAgLmNwdS1jb3Jlcy1iYXJzLmNlbnRlcmVkIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWJhci1jb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiA2cHg7CiAgICAgICAgbWF4LXdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWJhci13cmFwcGVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZThlOGU4IiwiIzFhMWExYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgbWluLWhlaWdodDogNDBweDsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWJhci1maWxsIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiM2NjY2NjYiLCIjODg4ODg4Iil9OwogICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwOwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLWZpbGwubG93IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItZmlsbC5tZWRpdW0gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woNDUuNCA5My40JSA0Ny41JSkiLCJoc2woNDUuNCA5My40JSA0Ny41JSkiKX07CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItZmlsbC5oaWdoIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgODQuMiUgNjAuMiUpIil9OwogICAgICB9CgogICAgICAuY3B1LWNvcmUtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC8qIFBhcnRpdGlvbiBTdHlsZXMgKi8KICAgICAgLnBhcnRpdGlvbi13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAucGFydGl0aW9uLXBlcmNlbnRhZ2UgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tYmFyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U4ZThlOCIsIiMxYTFhMWEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tYmFyLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzMzMzMzMyIsIiNlMGUwZTAiKX07CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1iYXItZmlsbC53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIiwiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIil9OwogICAgICB9CgogICAgICAucGFydGl0aW9uLWJhci1maWxsLmNyaXRpY2FsIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgODQuMiUgNjAuMiUpIil9OwogICAgICB9CgogICAgICAucGFydGl0aW9uLXN0YXRzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi10b3A6IGF1dG87CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tc3RhdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAucGFydGl0aW9uLXN0YXQtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1zdGF0LXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAucGFydGl0aW9uLW1ldGEgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tZmlsZXN5c3RlbSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAucGFydGl0aW9uLW1vdW50cG9pbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgfQoKICAgICAgLyogRGlzayBTdHlsZXMgKi8KICAgICAgLmRpc2std3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLWNhcGFjaXR5IHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CgogICAgICAuZGlzay1tb2RlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLmRpc2stdHlwZS1iYWRnZSB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLW1ldHJpY3MgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAuZGlzay1pb3BzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuZGlzay1pb3BzLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuZGlzay1pb3BzLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9CgogICAgICAuZGlzay1pb3BzLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGggewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWJhciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlOGU4ZTgiLCIjMWExYTFhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1maWxsLmdvb2QgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWZpbGwud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIsImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWZpbGwuY3JpdGljYWwgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA4NC4yJSA2MC4yJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFRyZW5kIFN0eWxlcyAqLwogICAgICAudHJlbmQtY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnRyZW5kLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC50cmVuZC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLnRyZW5kLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC50cmVuZC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1sYWJlbC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC50cmVuZC1ncmFwaCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAudHJlbmQtc3ZnIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC50cmVuZC1saW5lIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZTogJHtwLmJkVGhlbWUoIiM5OTk5OTkiLCIjNjY2NjY2Iil9OwogICAgICAgIHN0cm9rZS13aWR0aDogMS41OwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICB9CgogICAgICAudHJlbmQtYXJlYSB7CiAgICAgICAgZmlsbDogJHtwLmJkVGhlbWUoInJnYmEoMTUwLCAxNTAsIDE1MCwgMC4wOCkiLCJyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMDgpIil9OwogICAgICB9CgogICAgICAvKiBUZXh0IFZhbHVlIFN0eWxlcyAqLwogICAgICAudGV4dC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLyogQ29udGV4dCBNZW51ICovCiAgICAgIGRlZXMtY29udGV4dG1lbnUgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICB9CiAgICBgXTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdDEodGhpcyxOKX1yZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgJHt0aGlzLmdyaWRBY3Rpb25zLmxlbmd0aD4wP01gCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC10aXRsZSI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWFjdGlvbnMiPgogICAgICAgICAgICAke3RoaXMuZ3JpZEFjdGlvbnMubWFwKF89Pk1gCiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uIAogICAgICAgICAgICAgICAgQGNsaWNrZWQ9JHsoKT0+dGhpcy5oYW5kbGVHcmlkQWN0aW9uKF8pfQogICAgICAgICAgICAgICAgdHlwZT0ib3V0bGluZSIKICAgICAgICAgICAgICAgIHNpemU9InNtIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7Xy5pY29uTmFtZT9NYDxkZWVzLWljb24gLmljb249JHtfLmljb25OYW1lfSBzaXplPSJzbWFsbCI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICAgICR7Xy5uYW1lfQogICAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIiBzdHlsZT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgke3RoaXMubWluVGlsZVdpZHRofXB4LCAxZnIpKTsgZ2FwOiAke3RoaXMuZ2FwfXB4OyI+CiAgICAgICAgJHt0aGlzLnRpbGVzLm1hcChfPT50aGlzLnJlbmRlclRpbGUoXykpfQogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jb250ZXh0TWVudVZpc2libGU/TWAKICAgICAgICA8ZGVlcy1jb250ZXh0bWVudQogICAgICAgICAgLng9JHt0aGlzLmNvbnRleHRNZW51UG9zaXRpb24ueH0KICAgICAgICAgIC55PSR7dGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnl9CiAgICAgICAgICAubWVudUl0ZW1zPSR7dGhpcy5jb250ZXh0TWVudUFjdGlvbnN9CiAgICAgICAgICBAY2xpY2tlZD0keygpPT50aGlzLmNvbnRleHRNZW51VmlzaWJsZT0hMX0KICAgICAgICA+PC9kZWVzLWNvbnRleHRtZW51PgogICAgICBgOiIifQogICAgYH1yZW5kZXJUaWxlKF8pe2xldCB6PV8uYWN0aW9ucyYmXy5hY3Rpb25zLmxlbmd0aD4wLEU9eiYmXy5hY3Rpb25zLmxlbmd0aD09PTEsVD1fLmNvbHVtblNwYW4mJl8uY29sdW1uU3Bhbj4xP18uY29sdW1uU3Bhbjp2b2lkIDA7cmV0dXJuIE1gCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ic3RhdHMtdGlsZSAke0U/ImNsaWNrYWJsZSI6IiJ9IgogICAgICAgIHN0eWxlPSIke1Q/YGdyaWQtY29sdW1uOiBzcGFuICR7VH1gOiIifSIKICAgICAgICBAY2xpY2s9JHtFPygpPT50aGlzLmhhbmRsZVRpbGVBY3Rpb24oXy5hY3Rpb25zWzBdLF8pOnZvaWQgMH0KICAgICAgICBAY29udGV4dG1lbnU9JHt6P0w9PnRoaXMuc2hvd0NvbnRleHRNZW51KEwsXyk6dm9pZCAwfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1oZWFkZXIiPgogICAgICAgICAgPGgzIGNsYXNzPSJ0aWxlLXRpdGxlIj4ke18udGl0bGV9PC9oMz4KICAgICAgICAgICR7Xy5pY29uP01gCiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9InRpbGUtaWNvbiIgLmljb249JHtfLmljb259IHNpemU9InNtYWxsIj48L2RlZXMtaWNvbj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1jb250ZW50Ij4KICAgICAgICAgICR7dGhpcy5yZW5kZXJUaWxlQ29udGVudChfKX0KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAke18uZGVzY3JpcHRpb24mJl8udHlwZSE9PSJ0cmVuZCI/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZGVzY3JpcHRpb24iPiR7Xy5kZXNjcmlwdGlvbn08L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVGlsZUNvbnRlbnQoXyl7c3dpdGNoKF8udHlwZSl7Y2FzZSJudW1iZXIiOnJldHVybiBNYAogICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSIgc3R5bGU9IiR7Xy5jb2xvcj9gY29sb3I6ICR7Xy5jb2xvcn1gOiIifSI+CiAgICAgICAgICAgIDxzcGFuPiR7Xy52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICR7Xy51bml0P01gPHNwYW4gY2xhc3M9InRpbGUtdW5pdCI+JHtfLnVuaXR9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgO2Nhc2UiZ2F1Z2UiOnJldHVybiB0aGlzLnJlbmRlckdhdWdlKF8pO2Nhc2UicGVyY2VudGFnZSI6cmV0dXJuIHRoaXMucmVuZGVyUGVyY2VudGFnZShfKTtjYXNlInRyZW5kIjpyZXR1cm4gdGhpcy5yZW5kZXJUcmVuZChfKTtjYXNlIm11bHRpUGVyY2VudGFnZSI6cmV0dXJuIHRoaXMucmVuZGVyTXVsdGlQZXJjZW50YWdlKF8pO2Nhc2UiY3B1Q29yZXMiOnJldHVybiB0aGlzLnJlbmRlckNwdUNvcmVzKF8pO2Nhc2UicGFydGl0aW9uIjpyZXR1cm4gdGhpcy5yZW5kZXJQYXJ0aXRpb24oXyk7Y2FzZSJkaXNrIjpyZXR1cm4gdGhpcy5yZW5kZXJEaXNrKF8pO2Nhc2UidGV4dCI6cmV0dXJuIE1gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXZhbHVlIiBzdHlsZT0iJHtfLmNvbG9yP2Bjb2xvcjogJHtfLmNvbG9yfWA6IiJ9Ij4KICAgICAgICAgICAgJHtfLnZhbHVlfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDtkZWZhdWx0OnJldHVybiBNYDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7Xy52YWx1ZX08L2Rpdj5gfX1yZW5kZXJHYXVnZShfKXtsZXQgej10eXBlb2YgXy52YWx1ZT09Im51bWJlciI/Xy52YWx1ZTpwYXJzZUZsb2F0KF8udmFsdWUpLEU9Xy5nYXVnZU9wdGlvbnN8fHttaW46MCxtYXg6MTAwfSxUPSh6LUUubWluKS8oRS5tYXgtRS5taW4pKjEwMCxMPTEyMCxWPTcwLFU9Ni8yKzIsSz00MCxJPUwvMix2ZT1WLVUsTWU9SS1LLFA9dmUsbGU9SStLLFo9YE0gJHtNZX0gJHtQfSBBICR7S30gJHtLfSAwIDAgMSAke2xlfSAke3ZlfWAsQT1NYXRoLlBJKkssJD1BLUEqVC8xMDAsaj1fLmNvbG9yfHxwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjguOCUpIiwiaHNsKDIxMCA0MCUgNzglKSIpO2lmKEUudGhyZXNob2xkcyl7bGV0IEg9Wy4uLkUudGhyZXNob2xkc10uc29ydCgoWSxkZSk9PmRlLnZhbHVlLVkudmFsdWUpO2ZvcihsZXQgWSBvZiBIKWlmKHo+PVkudmFsdWUpe2o9WS5jb2xvcjticmVha319cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImdhdWdlLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImdhdWdlLWNvbnRhaW5lciI+CiAgICAgICAgICA8c3ZnIGNsYXNzPSJnYXVnZS1zdmciIHZpZXdCb3g9IjAgMCAke0x9ICR7Vn0iIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgogICAgICAgICAgICA8IS0tIEJhY2tncm91bmQgYXJjIC0tPgogICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgIGNsYXNzPSJnYXVnZS1iYWNrZ3JvdW5kIgogICAgICAgICAgICAgIGQ9IiR7Wn0iCiAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwhLS0gRmlsbGVkIGFyYyAtLT4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICBjbGFzcz0iZ2F1Z2UtZmlsbCIKICAgICAgICAgICAgICBkPSIke1p9IgogICAgICAgICAgICAgIHN0cm9rZT0iJHtqfSIKICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PSIke0F9IgogICAgICAgICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0PSIkeyR9IgogICAgICAgICAgICAvPgogICAgICAgICAgICA8IS0tIFZhbHVlIHRleHQgLS0+CiAgICAgICAgICAgIDx0ZXh0IGNsYXNzPSJnYXVnZS10ZXh0IiB4PSIke0l9IiB5PSIke3ZlLTh9IiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIj4KICAgICAgICAgICAgICA8dHNwYW4+JHt6fTwvdHNwYW4+JHtfLnVuaXQ/TWA8dHNwYW4gY2xhc3M9ImdhdWdlLXVuaXQiIGR4PSIyIiBkeT0iMCI+JHtfLnVuaXR9PC90c3Bhbj5gOiIifQogICAgICAgICAgICA8L3RleHQ+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBlcmNlbnRhZ2UoXyl7bGV0IHo9dHlwZW9mIF8udmFsdWU9PSJudW1iZXIiP18udmFsdWU6cGFyc2VGbG9hdChfLnZhbHVlKSxFPU1hdGgubWluKDEwMCxNYXRoLm1heCgwLHopKTtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0icGVyY2VudGFnZS13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwZXJjZW50YWdlLXZhbHVlIj4ke0V9JTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBlcmNlbnRhZ2UtYmFyIj4KICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgIGNsYXNzPSJwZXJjZW50YWdlLWZpbGwiIAogICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7RX0lOyAke18uY29sb3I/YGJhY2tncm91bmQ6ICR7Xy5jb2xvcn1gOiIifSIKICAgICAgICAgID48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclRyZW5kKF8pe2lmKCFfLnRyZW5kRGF0YXx8Xy50cmVuZERhdGEubGVuZ3RoPDIpcmV0dXJuIE1gPGRpdiBjbGFzcz0idGlsZS12YWx1ZSI+JHtfLnZhbHVlfTwvZGl2PmA7bGV0IHo9Xy50cmVuZERhdGEsRT1NYXRoLm1heCguLi56KSxUPU1hdGgubWluKC4uLnopLEw9RS1UfHwxLFY9MzAwLEI9MzIsVT0yLEs9ei5tYXAoKHZlLE1lKT0+e2xldCBQPU1lLyh6Lmxlbmd0aC0xKSpWLGxlPVUrKEItMipVKS0odmUtVCkvTCooQi0yKlUpO3JldHVybmAke1B9LCR7bGV9YH0pLmpvaW4oIiAiKSxJPWAwLCR7Qn0gJHtLfSAke1Z9LCR7Qn1gO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJ0cmVuZC1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRyZW5kLWhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idHJlbmQtdmFsdWUiPiR7Xy52YWx1ZX08L3NwYW4+CiAgICAgICAgICAke18udW5pdD9NYDxzcGFuIGNsYXNzPSJ0cmVuZC11bml0Ij4ke18udW5pdH08L3NwYW4+YDoiIn0KICAgICAgICAgICR7Xy5kZXNjcmlwdGlvbj9NYDxzcGFuIGNsYXNzPSJ0cmVuZC1sYWJlbCI+JHtfLmRlc2NyaXB0aW9ufTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRyZW5kLWdyYXBoIj4KICAgICAgICAgIDxzdmcgY2xhc3M9InRyZW5kLXN2ZyIgdmlld0JveD0iMCAwICR7Vn0gJHtCfSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgICAgICAgICAgIDxwb2x5Z29uIGNsYXNzPSJ0cmVuZC1hcmVhIiBwb2ludHM9IiR7SX0iIC8+CiAgICAgICAgICAgIDxwb2x5bGluZSBjbGFzcz0idHJlbmQtbGluZSIgcG9pbnRzPSIke0t9IiAvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJNdWx0aVBlcmNlbnRhZ2UoXyl7aWYoIV8ucGVyY2VudGFnZXN8fF8ucGVyY2VudGFnZXMubGVuZ3RoPT09MClyZXR1cm4gTWA8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke18udmFsdWV9PC9kaXY+YDtsZXQgej1fLnBlcmNlbnRhZ2VzLnNsaWNlKDAsMyk7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2Utd3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS1pdGVtcyI+CiAgICAgICAgICAke3oubWFwKEU9PntsZXQgVD1NYXRoLm1pbigxMDAsTWF0aC5tYXgoMCxFLnZhbHVlKSk7cmV0dXJuIE1gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtbGFiZWwiPiR7RS5sYWJlbH08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLXZhbHVlIj4ke1R9JTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS1iYXIiPgogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtZmlsbCIKICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7VH0lOyAke0UuY29sb3I/YGJhY2tncm91bmQ6ICR7RS5jb2xvcn1gOiIifSIKICAgICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9KX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckNwdUNvcmVzKF8pe2lmKCFfLmNvcmVzRGF0YXx8Xy5jb3Jlc0RhdGEubGVuZ3RoPT09MClyZXR1cm4gTWA8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke18udmFsdWV9PC9kaXY+YDtsZXQgej1fLmNvcmVzRGF0YSxFPU1hdGgucm91bmQoei5yZWR1Y2UoKEssSSk9PksrSS51c2FnZSwwKS96Lmxlbmd0aCksVD1LPT5LPDUwPyJsb3ciOks8ODA/Im1lZGl1bSI6ImhpZ2giLEw9ei5sZW5ndGgqMjQrKHoubGVuZ3RoLTEpKjMsVj1fLmNvbHVtblNwYW58fDEsQj10aGlzLm1pblRpbGVXaWR0aCpWKyhWLTEpKnRoaXMuZ2FwLTMyLFU9TDxCKi42NjY7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImNwdS1jb3Jlcy13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjcHUtY29yZXMtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHUtY29yZXMtdmFsdWUiPiR7RX08L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B1LWNvcmVzLXVuaXQiPiU8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B1LWNvcmVzLWxhYmVsIj4ke3oubGVuZ3RofSBjb3Jlczwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjcHUtY29yZXMtYmFycyAke1U/ImNlbnRlcmVkIjoiIn0iPgogICAgICAgICAgJHt6Lm1hcChLPT57bGV0IEk9TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsSy51c2FnZSkpLHZlPVQoSSk7cmV0dXJuIE1gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmUtYmFyLWNvbnRhaW5lciIgdGl0bGU9IkNvcmUgJHtLLmxhYmVsfHxLLmlkfTogJHtJfSUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmUtYmFyLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNwdS1jb3JlLWJhci1maWxsICR7dmV9IgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSJoZWlnaHQ6ICR7SX0lIgogICAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7ei5sZW5ndGg8PTE2P01gCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHUtY29yZS1sYWJlbCI+JHtLLmxhYmVsfHxLLmlkfTwvc3Bhbj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9KX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWZvcm1hdEJ5dGVzKF8pe2lmKF89PT0wKXJldHVybiIwIEIiO2xldCB6PTEwMjQsRT1bIkIiLCJLQiIsIk1CIiwiR0IiLCJUQiIsIlBCIl0sVD1NYXRoLmZsb29yKE1hdGgubG9nKF8pL01hdGgubG9nKHopKTtyZXR1cm4gcGFyc2VGbG9hdCgoXy9NYXRoLnBvdyh6LFQpKS50b0ZpeGVkKDEpKSsiICIrRVtUXX1yZW5kZXJQYXJ0aXRpb24oXyl7aWYoIV8ucGFydGl0aW9uRGF0YSlyZXR1cm4gTWA8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke18udmFsdWV9PC9kaXY+YDtsZXR7dXNlZDp6LHRvdGFsOkUsZmlsZXN5c3RlbTpULG1vdW50UG9pbnQ6TH09Xy5wYXJ0aXRpb25EYXRhLFY9TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsei9FKjEwMCkpLEI9RS16LFU9KCk9PlY+PTkwPyJjcml0aWNhbCI6Vj49NzU/Indhcm5pbmciOiIiO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24td3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLWhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXBlcmNlbnRhZ2UiPiR7TWF0aC5yb3VuZChWKX0lPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1iYXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0icGFydGl0aW9uLWJhci1maWxsICR7VSgpfSIKICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke1Z9JSIKICAgICAgICAgID48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24tc3RhdHMiPgogICAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXN0YXQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtbGFiZWwiPlVzZWQ8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tc3RhdC12YWx1ZSI+JHt0aGlzLmZvcm1hdEJ5dGVzKHopfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXN0YXQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtbGFiZWwiPkZyZWU8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tc3RhdC12YWx1ZSI+JHt0aGlzLmZvcm1hdEJ5dGVzKEIpfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1tZXRhIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tZmlsZXN5c3RlbSI+JHtUfTwvc3Bhbj4KICAgICAgICAgICR7TD9NYDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tbW91bnRwb2ludCI+JHtMfTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRGlzayhfKXtpZighXy5kaXNrRGF0YSlyZXR1cm4gTWA8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke18udmFsdWV9PC9kaXY+YDtsZXR7Y2FwYWNpdHk6eixtb2RlbDpFLHR5cGU6VCxpb3BzOkwsaGVhbHRoOlZ9PV8uZGlza0RhdGEsQj1VPT5VPj03MD8iZ29vZCI6VT49MzA/Indhcm5pbmciOiJjcml0aWNhbCI7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImRpc2std3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1jYXBhY2l0eSI+JHt0aGlzLmZvcm1hdEJ5dGVzKHopfTwvZGl2PgogICAgICAgICR7RXx8VD9NYAogICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1tb2RlbCI+CiAgICAgICAgICAgICR7RT9NYDxzcGFuPiR7RX08L3NwYW4+YDoiIn0KICAgICAgICAgICAgJHtUP01gPHNwYW4gY2xhc3M9ImRpc2stdHlwZS1iYWRnZSI+JHtUfTwvc3Bhbj5gOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLW1ldHJpY3MiPgogICAgICAgICAgJHtMP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpc2staW9wcyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1pb3BzLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy1sYWJlbCI+UmVhZDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXNrLWlvcHMtdmFsdWUiPiR7TC5yZWFkLnRvTG9jYWxlU3RyaW5nKCl9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpc2staW9wcy1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXNrLWlvcHMtbGFiZWwiPldyaXRlPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy12YWx1ZSI+JHtMLndyaXRlLnRvTG9jYWxlU3RyaW5nKCl9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke1YhPT12b2lkIDA/TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1oZWFsdGgiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpc2staGVhbHRoLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlzay1oZWFsdGgtbGFiZWwiPkhlYWx0aDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXNrLWhlYWx0aC12YWx1ZSI+JHtWfSU8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1oZWFsdGgtYmFyIj4KICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9ImRpc2staGVhbHRoLWZpbGwgJHtCKFYpfSIKICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke1Z9JSIKICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgaGFuZGxlR3JpZEFjdGlvbihfKXtfLmFjdGlvbiYmYXdhaXQgXy5hY3Rpb24oKX1hc3luYyBoYW5kbGVUaWxlQWN0aW9uKF8seil7Xy5hY3Rpb24mJmF3YWl0IF8uYWN0aW9uKCl9c2hvd0NvbnRleHRNZW51KF8seil7aWYoIXouYWN0aW9uc3x8ei5hY3Rpb25zLmxlbmd0aD09PTApcmV0dXJuO18ucHJldmVudERlZmF1bHQoKSx0aGlzLmNvbnRleHRNZW51UG9zaXRpb249e3g6Xy5jbGllbnRYLHk6Xy5jbGllbnRZfSx0aGlzLmNvbnRleHRNZW51QWN0aW9ucz16LmFjdGlvbnMsdGhpcy5jb250ZXh0TWVudVZpc2libGU9ITA7bGV0IEU9KCk9Pnt0aGlzLmNvbnRleHRNZW51VmlzaWJsZT0hMSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsRSl9O3NldFRpbWVvdXQoKCk9Pntkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsRSl9LDEwMCl9c3RhdGlje3QxKGEscil9fTtyZXR1cm4gcT1hfSkoKX0pO3ZhciBhdSxkbCwkY24sRGNuLEFjbixFY24sRmNyLE9jcj1mKCgpPT57dWUoKTtoYSgpO0RGKCk7YXU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxkbD1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sJGNuPSgoKT0+e2xldCBlPVtyZSgiZGVtby1kYXNoYm9hcmQtdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdO3ZhciBjPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgbD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtzZSgpXSxhdSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2YXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dT0+ImFjdGl2YXRlZCJpbiB1LGdldDp1PT51LmFjdGl2YXRlZCxzZXQ6KHUsZCk9Pnt1LmFjdGl2YXRlZD1kfX0sbWV0YWRhdGE6bH0scyxvKSxhdShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpsfSxudWxsLHIpLGM9YT10LnZhbHVlLGwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bH0pLGRsKGEscil9I2U9ZGwodGhpcyxzLCExKTtnZXQgYWN0aXZhdGVkKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGFjdGl2YXRlZChsKXt0aGlzLiNlPWx9Y3R4PWRsKHRoaXMsbyk7c3RhdHNUaWxlcz1be2lkOiJ1c2VycyIsdGl0bGU6IkFjdGl2ZSBVc2VycyIsdmFsdWU6MTIzNCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp1c2VycyIsZGVzY3JpcHRpb246Ik9ubGluZSBub3ciLGNvbG9yOiIjMjJjNTVlIn0se2lkOiJhcGktY2FsbHMiLHRpdGxlOiJBUEkgQ2FsbHMiLHZhbHVlOjQ1MjAwLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6YWN0aXZpdHkiLGRlc2NyaXB0aW9uOiIrMTIlIGZyb20gbGFzdCBob3VyIixjb2xvcjoiIzNiODJmNiIsdHJlbmREYXRhOlszMmUzLDM1ZTMsMzhlMyw0MWUzLDM5ZTMsNDJlMyw0NTIwMF19LHtpZDoiaGVhbHRoIix0aXRsZToiU3lzdGVtIEhlYWx0aCIsdmFsdWU6OTkuOSx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoibHVjaWRlOmhlYXJ0LXB1bHNlIixkZXNjcmlwdGlvbjoiQWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwiLGNvbG9yOiIjMTBiOTgxIixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjgwLGNvbG9yOiIjZWY0NDQ0In0se3ZhbHVlOjk1LGNvbG9yOiIjZjU5ZTBiIn0se3ZhbHVlOjEwMCxjb2xvcjoiIzEwYjk4MSJ9XX19LHtpZDoicmVzcG9uc2UiLHRpdGxlOiJBdmcgUmVzcG9uc2UiLHZhbHVlOjEyNyx1bml0OiJtcyIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6dGltZXIiLGRlc2NyaXB0aW9uOiItMTVtcyBmcm9tIHllc3RlcmRheSIsY29sb3I6IiM4YjVjZjYifSx7aWQ6InJlc291cmNlcyIsdGl0bGU6IlJlc291cmNlIFVzYWdlIix2YWx1ZToiIix0eXBlOiJtdWx0aVBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpzZXJ2ZXIiLHBlcmNlbnRhZ2VzOlt7bGFiZWw6IkNQVSIsdmFsdWU6NjcsY29sb3I6IiMzYjgyZjYifSx7bGFiZWw6Ik1lbW9yeSIsdmFsdWU6ODQsY29sb3I6IiM4YjVjZjYifSx7bGFiZWw6IkRpc2siLHZhbHVlOjQ1LGNvbG9yOiIjMTBiOTgxIn1dfSx7aWQ6InJlcXVlc3RzIix0aXRsZToiUmVxdWVzdHMvc2VjIix2YWx1ZToxODUwLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6emFwIixkZXNjcmlwdGlvbjoiQ3VycmVudCB0aHJvdWdocHV0Iixjb2xvcjoiIzA2YjZkNCIsdHJlbmREYXRhOlsxMjAwLDE0MDAsMTM1MCwxNjAwLDE3NTAsMTY4MCwxODUwXX1dO29uQWN0aXZhdGUobCl7dGhpcy5jdHg9bCx0aGlzLmFjdGl2YXRlZD0hMCxjb25zb2xlLmxvZygiRGFzaGJvYXJkIGFjdGl2YXRlZCB3aXRoIGNvbnRleHQ6IixsKSxsLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkRhc2hib2FyZCIsZ3JvdXBzOlt7bmFtZToiUXVpY2sgQWNjZXNzIixpY29uTmFtZToibHVjaWRlOnphcCIsaXRlbXM6W3trZXk6Ik92ZXJ2aWV3IixpY29uTmFtZToibGF5b3V0RGFzaGJvYXJkIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJPdmVydmlldyIpfSx7a2V5OiJSZWNlbnQiLGljb25OYW1lOiJjbG9jayIsYmFkZ2U6NSxhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJSZWNlbnQiKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2ggRGF0YSIsaWNvbk5hbWU6Imx1Y2lkZTpyZWZyZXNoQ3ciLGFjdGlvbjooKT0+YWxlcnQoIlJlZnJlc2hpbmcgZGFzaGJvYXJkIGRhdGEuLi4iKX1dfSx7bmFtZToiRmlsdGVycyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiVGltZSBSYW5nZSJ9LHt0eXBlOiJmaWx0ZXIiLGtleToiTGl2ZSBVcGRhdGVzIixpY29uTmFtZToibHVjaWRlOnJhZGlvIixhY3RpdmU6ITAsb25Ub2dnbGU6dT0+Y29uc29sZS5sb2coIkxpdmUgdXBkYXRlczoiLHUpfSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgQXJjaGl2ZWQiLGljb25OYW1lOiJsdWNpZGU6YXJjaGl2ZSIsYWN0aXZlOiExLG9uVG9nZ2xlOnU9PmNvbnNvbGUubG9nKCJTaG93IGFyY2hpdmVkOiIsdSl9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6Im11bHRpRmlsdGVyIixrZXk6IkRhdGEgU291cmNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpkYXRhYmFzZSIsb3B0aW9uczpbe2tleToiYXBpIixsYWJlbDoiQVBJIFNlcnZlciIsY2hlY2tlZDohMCxpY29uTmFtZToibHVjaWRlOnNlcnZlciJ9LHtrZXk6IndlYiIsbGFiZWw6IldlYiBUcmFmZmljIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6Z2xvYmUifSx7a2V5OiJtb2JpbGUiLGxhYmVsOiJNb2JpbGUgQXBwIixjaGVja2VkOiExLGljb25OYW1lOiJsdWNpZGU6c21hcnRwaG9uZSJ9XSxvbkNoYW5nZTp1PT5jb25zb2xlLmxvZygiRGF0YSBzb3VyY2VzOiIsdSl9XX0se25hbWU6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydDMiLGl0ZW1zOlt7a2V5OiJNZXRyaWNzIixpY29uTmFtZToiYWN0aXZpdHkiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIk1ldHJpY3MiKX0se2tleToiUmVwb3J0cyIsaWNvbk5hbWU6ImZpbGVUZXh0IixiYWRnZToibmV3IixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIlJlcG9ydHMiKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToibGluayIsa2V5OiJBbmFseXRpY3MgRG9jcyIsaWNvbk5hbWU6Imx1Y2lkZTpleHRlcm5hbExpbmsiLGhyZWY6Imh0dHBzOi8vZG9jcy5leGFtcGxlLmNvbS9hbmFseXRpY3MifV19XX0pLGwuYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6Ik92ZXJ2aWV3IixpY29uTmFtZToibHVjaWRlOmxheW91dERhc2hib2FyZCIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiT3ZlcnZpZXcgdGFiIil9LHtrZXk6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydCIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiQW5hbHl0aWNzIHRhYiIpfSx7a2V5OiJSZXBvcnRzIixpY29uTmFtZToibHVjaWRlOmZpbGVUZXh0IixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJSZXBvcnRzIHRhYiIpfV0pfW9uRGVhY3RpdmF0ZSgpe3RoaXMuYWN0aXZhdGVkPSExLGNvbnNvbGUubG9nKCJEYXNoYm9hcmQgZGVhY3RpdmF0ZWQiKX1yZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgaDEgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KICAgICAgICBwIHsgY29sb3I6ICM3MzczNzM7IG1hcmdpbi1ib3R0b206IDMycHg7IH0KICAgICAgICBkZWVzLXN0YXRzZ3JpZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLmN0eC1hY3Rpb25zIHsKICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAyKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgfQogICAgICAgIC5jdHgtYWN0aW9ucyBoMiB7IGNvbG9yOiAjZmFmYWZhOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206IDE2cHg7IH0KICAgICAgICAuYnV0dG9uLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0biB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpOwogICAgICAgICAgY29sb3I6ICM2MGE1ZmE7CiAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0bjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuNSk7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuLmRhbmdlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpOwogICAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuLmRhbmdlcjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjUpOwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0bi5zdWNjZXNzIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMSk7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7CiAgICAgICAgICBjb2xvcjogIzRhZGU4MDsKICAgICAgICB9CiAgICAgICAgLmN0eC1idG4uc3VjY2Vzczpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjIpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjUpOwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGgxPkRhc2hib2FyZDwvaDE+CiAgICAgIDxwPldlbGNvbWUgYmFjayEgSGVyZSdzIGFuIG92ZXJ2aWV3IG9mIHlvdXIgc3lzdGVtLjwvcD4KICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy5zdGF0c1RpbGVzfQogICAgICAgIEB0aWxlLWFjdGlvbj0ke2w9PmNvbnNvbGUubG9nKCJUaWxlIGFjdGlvbjoiLGwuZGV0YWlsKX0KICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CgogICAgICA8ZGl2IGNsYXNzPSJjdHgtYWN0aW9ucyI+CiAgICAgICAgPGgyPkNvbnRleHQgQWN0aW9ucyAoY3R4LmFwcHVpKTwvaDI+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRNYWluTWVudVZpc2libGUoITEpfT5IaWRlIE1haW4gTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldE1haW5NZW51VmlzaWJsZSghMCl9PlNob3cgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldFNlY29uZGFyeU1lbnVWaXNpYmxlKCExKX0+SGlkZSBTZWNvbmRhcnkgTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldFNlY29uZGFyeU1lbnVWaXNpYmxlKCEwKX0+U2hvdyBTZWNvbmRhcnkgTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRDb250ZW50VGFic1Zpc2libGUoITEpfT5IaWRlIENvbnRlbnQgVGFiczwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldENvbnRlbnRUYWJzVmlzaWJsZSghMCl9PlNob3cgQ29udGVudCBUYWJzPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldE1haW5NZW51Q29sbGFwc2VkKCEwKX0+Q29sbGFwc2UgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIHN1Y2Nlc3MiIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0TWFpbk1lbnVDb2xsYXBzZWQoITEpfT5FeHBhbmQgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldEJyZWFkY3J1bWJzKFsiRGFzaGJvYXJkIiwiT3ZlcnZpZXciLCJTdGF0cyJdKX0+U2V0IEJyZWFkY3J1bWJzPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLm5hdmlnYXRlVG9WaWV3KCJwcm9qZWN0cyIpfT5HbyB0byBQcm9qZWN0czwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5uYXZpZ2F0ZVRvVmlldygic2V0dGluZ3MiLHtzZWN0aW9uOiJzZWN1cml0eSJ9KX0+R28gdG8gU2V0dGluZ3MvU2VjdXJpdHk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuYWN0aXZpdHlMb2cuYWRkKHt0eXBlOiJjdXN0b20iLHVzZXI6IkRlbW8gVXNlciIsbWVzc2FnZToiQnV0dG9uIGNsaWNrZWQgZnJvbSBjdHghIixpY29uTmFtZToibHVjaWRlOm1vdXNlLXBvaW50ZXItY2xpY2sifSl9PkFkZCBBY3Rpdml0eSBFbnRyeTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRNYWluTWVudUJhZGdlKCJ0YXNrcyIsOTkpfT5TZXQgVGFza3MgQmFkZ2UgdG8gOTk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLmNsZWFyTWFpbk1lbnVCYWRnZSgidGFza3MiKX0+Q2xlYXIgVGFza3MgQmFkZ2U8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0Q29udGVudFRhYnNBdXRvSGlkZSghMCwxKX0+QXV0by1oaWRlIFRhYnMgKOKJpDEpPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIGRhbmdlciIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRDb250ZW50VGFic0F1dG9IaWRlKCExKX0+RGlzYWJsZSBBdXRvLWhpZGU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gc3VjY2VzcyIgQGNsaWNrPSR7KCk9PnRoaXMuYWRkQ2xvc2VhYmxlVGFiKCl9PkFkZCBDbG9zZWFibGUgVGFiPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH10YWJDb3VudGVyPTA7YWRkQ2xvc2VhYmxlVGFiKCl7aWYoIXRoaXMuY3R4KXJldHVybjt0aGlzLnRhYkNvdW50ZXIrKztsZXQgbD1gVGFiICR7dGhpcy50YWJDb3VudGVyfWA7dGhpcy5jdHguYXBwdWkuYWRkQ29udGVudFRhYih7a2V5OmwsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKGBTZWxlY3RlZCAke2x9YCksY2xvc2VhYmxlOiEwLG9uQ2xvc2U6KCk9Pnt0aGlzLmN0eD8uYXBwdWkucmVtb3ZlQ29udGVudFRhYihsKX19KX19O3JldHVybiBjPWF9KSgpLERjbj0oKCk9PntsZXQgZT1bcmUoImRlbW8tc2V0dGluZ3MtdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgaD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtzZSgpXSxjPVtzZSgpXSxhdSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJzZWN0aW9uImluIG0sZ2V0Om09Pm0uc2VjdGlvbixzZXQ6KG0sdik9PnttLnNlY3Rpb249dn19LG1ldGFkYXRhOmh9LHMsbyksYXUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYXNDaGFuZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4iaGFzQ2hhbmdlcyJpbiBtLGdldDptPT5tLmhhc0NoYW5nZXMsc2V0OihtLHYpPT57bS5oYXNDaGFuZ2VzPXZ9fSxtZXRhZGF0YTpofSxsLHUpLGF1KG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmh9LG51bGwsciksZD1hPXQudmFsdWUsaCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpofSksZGwoYSxyKX0jZT1kbCh0aGlzLHMsImdlbmVyYWwiKTtnZXQgc2VjdGlvbigpe3JldHVybiB0aGlzLiNlfXNldCBzZWN0aW9uKGgpe3RoaXMuI2U9aH0jdD0oZGwodGhpcyxvKSxkbCh0aGlzLGwsITEpKTtnZXQgaGFzQ2hhbmdlcygpe3JldHVybiB0aGlzLiN0fXNldCBoYXNDaGFuZ2VzKGgpe3RoaXMuI3Q9aH1hcHB1aT1kbCh0aGlzLHUpO29uQWN0aXZhdGUoaCl7dGhpcy5hcHB1aT1oLmFwcHVpLGNvbnNvbGUubG9nKCJTZXR0aW5ncyBhY3RpdmF0ZWQgd2l0aCBwYXJhbXM6IixoLnBhcmFtcyksaC5wYXJhbXM/LnNlY3Rpb24mJih0aGlzLnNlY3Rpb249aC5wYXJhbXMuc2VjdGlvbiksaC5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJTZXR0aW5ncyIsZ3JvdXBzOlt7bmFtZToiQWNjb3VudCIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixpdGVtczpbe2tleToiZ2VuZXJhbCIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246KCk9PnRoaXMuc2hvd1NlY3Rpb24oImdlbmVyYWwiKX0se2tleToicHJvZmlsZSIsaWNvbk5hbWU6InVzZXIiLGFjdGlvbjooKT0+dGhpcy5zaG93U2VjdGlvbigicHJvZmlsZSIpfSx7a2V5OiJzZWN1cml0eSIsaWNvbk5hbWU6InNoaWVsZCIsYWN0aW9uOigpPT50aGlzLnNob3dTZWN0aW9uKCJzZWN1cml0eSIpfV19LHtuYW1lOiJQcmVmZXJlbmNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpzbGlkZXJzIixpdGVtczpbe2tleToibm90aWZpY2F0aW9ucyIsaWNvbk5hbWU6ImJlbGwiLGJhZGdlOjMsYWN0aW9uOigpPT50aGlzLnNob3dTZWN0aW9uKCJub3RpZmljYXRpb25zIil9LHtrZXk6ImFwcGVhcmFuY2UiLGljb25OYW1lOiJwYWxldHRlIixhY3Rpb246KCk9PnRoaXMuc2hvd1NlY3Rpb24oImFwcGVhcmFuY2UiKX1dfV19KSxoLmFwcHVpLnNldFNlY29uZGFyeU1lbnVTZWxlY3Rpb24odGhpcy5zZWN0aW9uKSxoLmFwcHVpLnNldENvbnRlbnRUYWJzKFtdKX1vbkRlYWN0aXZhdGUoKXtjb25zb2xlLmxvZygiU2V0dGluZ3MgZGVhY3RpdmF0ZWQiKSx0aGlzLmhhc0NoYW5nZXM9ITF9Y2FuRGVhY3RpdmF0ZSgpe3JldHVybiB0aGlzLmhhc0NoYW5nZXM/IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcy4gTGVhdmUgYW55d2F5PyI6ITB9c2hvd1NlY3Rpb24oaCl7dGhpcy5zZWN0aW9uPWgsdGhpcy5hcHB1aT8uc2V0U2Vjb25kYXJ5TWVudVNlbGVjdGlvbihoKX1zaW11bGF0ZUNoYW5nZSgpe3RoaXMuaGFzQ2hhbmdlcz0hMH1yZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgaDEgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KICAgICAgICBwIHsgY29sb3I6ICM3MzczNzM7IG1hcmdpbi1ib3R0b206IDI0cHg7IH0KICAgICAgICAuc2VjdGlvbi1uYW1lIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgY29sb3I6ICNmYWZhZmE7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIH0KICAgICAgICAuYWN0aW9ucyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIH0KICAgICAgICBidXR0b24gewogICAgICAgICAgYmFja2dyb3VuZDogIzNiODJmNjsKICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KICAgICAgICBidXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogIzI1NjNlYjsKICAgICAgICB9CiAgICAgICAgLndhcm5pbmcgewogICAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGgxPlNldHRpbmdzPC9oMT4KICAgICAgPHA+TWFuYWdlIHlvdXIgYWNjb3VudCBhbmQgYXBwbGljYXRpb24gcHJlZmVyZW5jZXMuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW5hbWUiPgogICAgICAgIEN1cnJlbnQgc2VjdGlvbjogPHN0cm9uZz4ke3RoaXMuc2VjdGlvbn08L3N0cm9uZz4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMiPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9PnRoaXMuc2ltdWxhdGVDaGFuZ2UoKX0+TWFrZSBDaGFuZ2VzPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMuaGFzQ2hhbmdlcz9NYDxwIGNsYXNzPSJ3YXJuaW5nIj5Zb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuIE5hdmlnYXRpb24gd2lsbCBwcm9tcHQgZm9yIGNvbmZpcm1hdGlvbi48L3A+YDoiIn0KICAgIGB9fTtyZXR1cm4gZD1hfSkoKSxBY249KCgpPT57bGV0IGU9W3JlKCJkZW1vLXByb2plY3RzLXZpZXciKV0sdCxyPVtdLGEsaT1oZTt2YXIgbj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IHM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7YXUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6c30sbnVsbCxyKSxuPWE9dC52YWx1ZSxzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnN9KSxkbChhLHIpfW9uQWN0aXZhdGUocyl7cy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJQcm9qZWN0cyIsZ3JvdXBzOlt7bmFtZToiTXkgUHJvamVjdHMiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyIixpdGVtczpbe2tleToiQWN0aXZlIixpY29uTmFtZToiZm9sZGVyIixiYWRnZTozLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkFjdGl2ZSIpfSx7a2V5OiJBcmNoaXZlZCIsaWNvbk5hbWU6ImFyY2hpdmUiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkFyY2hpdmVkIil9LHtrZXk6IlNoYXJlZCIsaWNvbk5hbWU6InVzZXJzIixiYWRnZToyLGJhZGdlVmFyaWFudDoid2FybmluZyIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiU2hhcmVkIil9XX0se25hbWU6IlF1aWNrIEFjdGlvbnMiLGljb25OYW1lOiJsdWNpZGU6emFwIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJOZXcgUHJvamVjdCIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246KCk9PmFsZXJ0KCJDcmVhdGUgbmV3IHByb2plY3QiKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQiLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjooKT0+YWxlcnQoIkltcG9ydCBwcm9qZWN0Iil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImxpbmsiLGtleToiVGVtcGxhdGVzIixpY29uTmFtZToibHVjaWRlOmxheW91dFRlbXBsYXRlIixocmVmOiJodHRwczovL3RlbXBsYXRlcy5leGFtcGxlLmNvbSJ9XX1dfSkscy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiR3JpZCIsaWNvbk5hbWU6Imx1Y2lkZTpncmlkIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJHcmlkIHZpZXciKX0se2tleToiTGlzdCIsaWNvbk5hbWU6Imx1Y2lkZTpsaXN0IixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJMaXN0IHZpZXciKX0se2tleToiQm9hcmQiLGljb25OYW1lOiJsdWNpZGU6a2FuYmFuIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJCb2FyZCB2aWV3Iil9XSl9cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBjb2xvcjogI2EzYTNhMzsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICAgIGgxIHsgY29sb3I6ICNmYWZhZmE7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMjRweDsgbWFyZ2luLWJvdHRvbTogMjRweDsgfQogICAgICAgIC5wcm9qZWN0cyB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICB9CiAgICAgICAgLnByb2plY3QgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAzKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7CiAgICAgICAgfQogICAgICAgIC5wcm9qZWN0OmhvdmVyIHsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjIpOwogICAgICAgIH0KICAgICAgICAucHJvamVjdCBoMyB7IGNvbG9yOiAjZmFmYWZhOyBtYXJnaW46IDAgMCA4cHggMDsgZm9udC1zaXplOiAxNnB4OyB9CiAgICAgICAgLnByb2plY3QgcCB7IGNvbG9yOiAjNzM3MzczOyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTNweDsgfQogICAgICAgIC5iYWRnZSB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTQ1MzJkOwogICAgICAgICAgY29sb3I6ICM0YWRlODA7CiAgICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxoMT5Qcm9qZWN0czwvaDE+CiAgICAgIDxkaXYgY2xhc3M9InByb2plY3RzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9qZWN0Ij4KICAgICAgICAgIDxoMz5Gcm9udGVuZCBBcHAgPHNwYW4gY2xhc3M9ImJhZGdlIj5BY3RpdmU8L3NwYW4+PC9oMz4KICAgICAgICAgIDxwPlJlYWN0LWJhc2VkIGRhc2hib2FyZCBhcHBsaWNhdGlvbjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9qZWN0Ij4KICAgICAgICAgIDxoMz5BUEkgU2VydmVyIDxzcGFuIGNsYXNzPSJiYWRnZSI+QWN0aXZlPC9zcGFuPjwvaDM+CiAgICAgICAgICA8cD5Ob2RlLmpzIFJFU1QgQVBJIGJhY2tlbmQ8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvamVjdCI+CiAgICAgICAgICA8aDM+TW9iaWxlIEFwcCA8c3BhbiBjbGFzcz0iYmFkZ2UiPkFjdGl2ZTwvc3Bhbj48L2gzPgogICAgICAgICAgPHA+UmVhY3QgTmF0aXZlIGlPUy9BbmRyb2lkIGFwcDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9qZWN0Ij4KICAgICAgICAgIDxoMz5Eb2N1bWVudGF0aW9uPC9oMz4KICAgICAgICAgIDxwPlRlY2huaWNhbCBkb2N1bWVudGF0aW9uIHNpdGU8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH19O3JldHVybiBuPWF9KSgpLEVjbj0oKCk9PntsZXQgZT1bcmUoImRlbW8tdGFza3MtdmlldyIpXSx0LHI9W10sYSxpPWhlO3ZhciBuPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgcz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDthdShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpzfSxudWxsLHIpLG49YT10LnZhbHVlLHMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6c30pLGRsKGEscil9b25BY3RpdmF0ZShzKXtzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IlRhc2tzIixncm91cHM6W3tuYW1lOiJWaWV3cyIsaWNvbk5hbWU6Imx1Y2lkZTpleWUiLGl0ZW1zOlt7a2V5OiJBbGwgVGFza3MiLGljb25OYW1lOiJsaXN0IixiYWRnZToxMixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJBbGwiKX0se2tleToiVG9kYXkiLGljb25OYW1lOiJjYWxlbmRhciIsYmFkZ2U6MyxhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJUb2RheSIpfSx7a2V5OiJVcGNvbWluZyIsaWNvbk5hbWU6ImNsb2NrIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJVcGNvbWluZyIpfSx7a2V5OiJDb21wbGV0ZWQiLGljb25OYW1lOiJjaGVja0NpcmNsZSIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiQ29tcGxldGVkIil9XX0se25hbWU6IkZpbHRlcnMiLGljb25OYW1lOiJsdWNpZGU6ZmlsdGVyIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IlByaW9yaXR5In0se3R5cGU6Im11bHRpRmlsdGVyIixrZXk6IlByaW9yaXR5IixpY29uTmFtZToibHVjaWRlOmZsYWciLG9wdGlvbnM6W3trZXk6ImhpZ2giLGxhYmVsOiJIaWdoIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6YWxlcnRDaXJjbGUifSx7a2V5OiJtZWRpdW0iLGxhYmVsOiJNZWRpdW0iLGNoZWNrZWQ6ITAsaWNvbk5hbWU6Imx1Y2lkZTptaW51c0NpcmNsZSJ9LHtrZXk6ImxvdyIsbGFiZWw6IkxvdyIsY2hlY2tlZDohMSxpY29uTmFtZToibHVjaWRlOmNpcmNsZSJ9XSxvbkNoYW5nZTpvPT5jb25zb2xlLmxvZygiUHJpb3JpdHkgZmlsdGVyOiIsbyl9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6Ik9wdGlvbnMifSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgU3VidGFza3MiLGljb25OYW1lOiJsdWNpZGU6bGlzdFRyZWUiLGFjdGl2ZTohMCxvblRvZ2dsZTpvPT5jb25zb2xlLmxvZygiU2hvdyBzdWJ0YXNrczoiLG8pfSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgQ29tcGxldGVkIixpY29uTmFtZToibHVjaWRlOmNoZWNrU3F1YXJlIixhY3RpdmU6ITEsb25Ub2dnbGU6bz0+Y29uc29sZS5sb2coIlNob3cgY29tcGxldGVkOiIsbyl9XX0se25hbWU6IkFjdGlvbnMiLGljb25OYW1lOiJsdWNpZGU6emFwIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgVGFzayIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixhY3Rpb246KCk9PmFsZXJ0KCJBZGQgbmV3IHRhc2siKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQgVGFza3MiLGljb25OYW1lOiJsdWNpZGU6dXBsb2FkIixhY3Rpb246KCk9PmFsZXJ0KCJJbXBvcnQgdGFza3MiKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiYWN0aW9uIixrZXk6IkNsZWFyIENvbXBsZXRlZCIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLHZhcmlhbnQ6ImRhbmdlciIsY29uZmlybU1lc3NhZ2U6IkRlbGV0ZSBhbGwgY29tcGxldGVkIHRhc2tzPyIsYWN0aW9uOigpPT5hbGVydCgiQ2xlYXJlZCBjb21wbGV0ZWQgdGFza3MiKX1dfV19KSxzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJMaXN0IixpY29uTmFtZToibHVjaWRlOmxpc3QiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkxpc3QiKX0se2tleToiQ2FsZW5kYXIiLGljb25OYW1lOiJsdWNpZGU6Y2FsZW5kYXIiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkNhbGVuZGFyIil9XSl9cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBjb2xvcjogI2EzYTNhMzsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICAgIGgxIHsgY29sb3I6ICNmYWZhZmE7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMjRweDsgbWFyZ2luLWJvdHRvbTogMjRweDsgfQogICAgICAgIC50YXNrLWxpc3QgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CiAgICAgICAgLnRhc2sgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDMpOwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICB9CiAgICAgICAgLmNoZWNrYm94IHsKICAgICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzUyNTI1MjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CiAgICAgICAgLnRhc2stdGV4dCB7IGNvbG9yOiAjZmFmYWZhOyBmbGV4OiAxOyB9CiAgICAgICAgLmR1ZS1kYXRlIHsgY29sb3I6ICM3MzczNzM7IGZvbnQtc2l6ZTogMTJweDsgfQogICAgICAgIC5wcmlvcml0eSB7CiAgICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIH0KICAgICAgICAucHJpb3JpdHkuaGlnaCB7IGJhY2tncm91bmQ6ICM0NTBhMGE7IGNvbG9yOiAjZjg3MTcxOyB9CiAgICAgICAgLnByaW9yaXR5Lm1lZGl1bSB7IGJhY2tncm91bmQ6ICM0NTFhMDM7IGNvbG9yOiAjZmJiZjI0OyB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxoMT5UYXNrczwvaDE+CiAgICAgIDxkaXYgY2xhc3M9InRhc2stbGlzdCI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFzayI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveCI+PC9kaXY+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idGFzay10ZXh0Ij5SZXZpZXcgcHVsbCByZXF1ZXN0ICM0Mjwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJkdWUtZGF0ZSI+VG9kYXk8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpb3JpdHkgaGlnaCI+SGlnaDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YXNrIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94Ij48L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YXNrLXRleHQiPlVwZGF0ZSBkb2N1bWVudGF0aW9uPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImR1ZS1kYXRlIj5Ub21vcnJvdzwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmlvcml0eSBtZWRpdW0iPk1lZGl1bTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YXNrIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94Ij48L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YXNrLXRleHQiPldyaXRlIHVuaXQgdGVzdHM8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZHVlLWRhdGUiPkRlYyAyMDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfX07cmV0dXJuIG49YX0pKCksRmNyPSgpPT57bGV0IGU9e2JyYW5kaW5nOntsb2dvSWNvbjoibHVjaWRlOmJveCIsbG9nb1RleHQ6IkFjbWUgQXBwIn0sYXBwQmFyOnttZW51SXRlbXM6W3tuYW1lOiJGaWxlIixhY3Rpb246YXN5bmMoKT0+e30sc3VibWVudTpbe25hbWU6Ik5ldyBQcm9qZWN0IixzaG9ydGN1dDoiQ21kK04iLGljb25OYW1lOiJmaWxlUGx1cyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJOZXciKX0se25hbWU6Ik9wZW4uLi4iLHNob3J0Y3V0OiJDbWQrTyIsaWNvbk5hbWU6ImZvbGRlck9wZW4iLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiIpfSx7bmFtZToiUmVjZW50IFByb2plY3RzIixhY3Rpb246YXN5bmMoKT0+e30sc3VibWVudTpbe25hbWU6Im15LWFwcCIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIG15LWFwcCIpfSx7bmFtZToiY29tcG9uZW50LWxpYiIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIGNvbXBvbmVudC1saWIiKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IlNhdmUgQWxsIixzaG9ydGN1dDoiQ21kK1MiLGljb25OYW1lOiJzYXZlIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlNhdmUiKX1dfSx7bmFtZToiRWRpdCIsYWN0aW9uOmFzeW5jKCk9Pnt9LHN1Ym1lbnU6W3tuYW1lOiJVbmRvIixzaG9ydGN1dDoiQ21kK1oiLGljb25OYW1lOiJ1bmRvIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlVuZG8iKX0se25hbWU6IlJlZG8iLHNob3J0Y3V0OiJDbWQrU2hpZnQrWiIsaWNvbk5hbWU6InJlZG8iLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiUmVkbyIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkN1dCIsc2hvcnRjdXQ6IkNtZCtYIixpY29uTmFtZToic2Npc3NvcnMiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiQ3V0Iil9LHtuYW1lOiJDb3B5IixzaG9ydGN1dDoiQ21kK0MiLGljb25OYW1lOiJjb3B5IixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIkNvcHkiKX0se25hbWU6IlBhc3RlIixzaG9ydGN1dDoiQ21kK1YiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiUGFzdGUiKX1dfSx7bmFtZToiVmlldyIsYWN0aW9uOmFzeW5jKCk9Pnt9LHN1Ym1lbnU6W3tuYW1lOiJUb2dnbGUgU2lkZWJhciIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlRvZ2dsZSBzaWRlYmFyIil9LHtuYW1lOiJUb2dnbGUgQWN0aXZpdHkgTG9nIixzaG9ydGN1dDoiQ21kK1NoaWZ0K0EiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIGFjdGl2aXR5Iil9XX0se25hbWU6IkhlbHAiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiRG9jdW1lbnRhdGlvbiIsaWNvbk5hbWU6ImJvb2siLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiRG9jcyIpfSx7bmFtZToiS2V5Ym9hcmQgU2hvcnRjdXRzIixpY29uTmFtZToia2V5Ym9hcmQiLHNob3J0Y3V0OiJDbWQrLyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaG9ydGN1dHMiKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJBYm91dCIsaWNvbk5hbWU6ImluZm8iLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiQWJvdXQiKX1dfV0sYnJlYWRjcnVtYnM6IkRhc2hib2FyZCIsc2hvd1dpbmRvd0NvbnRyb2xzOiEwLHNob3dTZWFyY2g6ITAsdXNlcjp7bmFtZToiSmFuZSBTbWl0aCIsZW1haWw6ImphbmUuc21pdGhAZXhhbXBsZS5jb20iLHN0YXR1czoib25saW5lIn0scHJvZmlsZU1lbnVJdGVtczpbe25hbWU6IlByb2ZpbGUiLGljb25OYW1lOiJ1c2VyIixhY3Rpb246YXN5bmMoKT0+Y29uc29sZS5sb2coIlByb2ZpbGUiKX0se25hbWU6IkFjY291bnQgU2V0dGluZ3MiLGljb25OYW1lOiJzZXR0aW5ncyIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkhlbHAgJiBTdXBwb3J0IixpY29uTmFtZToiaGVscENpcmNsZSIsYWN0aW9uOmFzeW5jKCk9PmNvbnNvbGUubG9nKCJIZWxwIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2lnbiBPdXQiLGljb25OYW1lOiJsb2dPdXQiLGFjdGlvbjphc3luYygpPT5jb25zb2xlLmxvZygiU2lnbiBvdXQiKX1dfSx2aWV3czpbe2lkOiJkYXNoYm9hcmQiLG5hbWU6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixjb250ZW50OiJkZW1vLWRhc2hib2FyZC12aWV3Iixyb3V0ZToiZGFzaGJvYXJkIn0se2lkOiJwcm9qZWN0cyIsbmFtZToiUHJvamVjdHMiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyIixjb250ZW50OiJkZW1vLXByb2plY3RzLXZpZXciLHJvdXRlOiJwcm9qZWN0cyIsYmFkZ2U6M30se2lkOiJ0YXNrcyIsbmFtZToiVGFza3MiLGljb25OYW1lOiJsdWNpZGU6Y2hlY2tTcXVhcmUiLGNvbnRlbnQ6ImRlbW8tdGFza3MtdmlldyIscm91dGU6InRhc2tzIixiYWRnZToxMn0se2lkOiJzZXR0aW5ncyIsbmFtZToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGNvbnRlbnQ6ImRlbW8tc2V0dGluZ3MtdmlldyIscm91dGU6InNldHRpbmdzLzpzZWN0aW9uPyJ9XSxtYWluTWVudTp7c2VjdGlvbnM6W3tuYW1lOiJNYWluIix2aWV3czpbImRhc2hib2FyZCJdfSx7bmFtZToiV29ya3NwYWNlIix2aWV3czpbInByb2plY3RzIiwidGFza3MiXX1dLGJvdHRvbUl0ZW1zOlsic2V0dGluZ3MiXX0sZGVmYXVsdFZpZXc6ImRhc2hib2FyZCIsYm90dG9tQmFyOnt2aXNpYmxlOiEwLHdpZGdldHM6W3tpZDoic3RhdHVzIixpY29uTmFtZToibHVjaWRlOmFjdGl2aXR5IixsYWJlbDoiU3lzdGVtIE9ubGluZSIsc3RhdHVzOiJzdWNjZXNzIix0b29sdGlwOiJBbGwgc3lzdGVtcyBvcGVyYXRpb25hbCIsb25DbGljazooKT0+Y29uc29sZS5sb2coIlN0YXR1cyBjbGlja2VkIil9LHtpZDoibm90aWZpY2F0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTpiZWxsIixsYWJlbDoiMyBub3RpZmljYXRpb25zIixzdGF0dXM6Indhcm5pbmciLHRvb2x0aXA6IllvdSBoYXZlIHVucmVhZCBub3RpZmljYXRpb25zIixvbkNsaWNrOigpPT5jb25zb2xlLmxvZygiTm90aWZpY2F0aW9ucyBjbGlja2VkIil9LHtpZDoidmVyc2lvbiIsaWNvbk5hbWU6Imx1Y2lkZTpnaXRCcmFuY2giLGxhYmVsOiJ2MS4yLjMiLHBvc2l0aW9uOiJyaWdodCIsdG9vbHRpcDoiQ3VycmVudCB2ZXJzaW9uIn1dLGFjdGlvbnM6W3tpZDoidGVybWluYWwiLGljb25OYW1lOiJsdWNpZGU6dGVybWluYWwiLHRvb2x0aXA6Ik9wZW4gVGVybWluYWwiLHBvc2l0aW9uOiJyaWdodCIsb25DbGljazooKT0+Y29uc29sZS5sb2coIlRlcm1pbmFsIGNsaWNrZWQiKX1dfSxvblZpZXdDaGFuZ2U6KGEsaSk9Pntjb25zb2xlLmxvZyhgVmlldyBjaGFuZ2VkIHRvOiAke2F9ICgke2kubmFtZX0pYCl9LG9uU2VhcmNoOmE9Pntjb25zb2xlLmxvZygiU2VhcmNoIHF1ZXJ5OiIsYSl9fSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuY2xhc3NOYW1lPSJkZW1vLWNvbnRhaW5lciIsdC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsiO2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRlZXMtYXBwdWkiKTtyZXR1cm4gdC5hcHBlbmRDaGlsZChyKSxzZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCByLnVwZGF0ZUNvbXBsZXRlLHIuY29uZmlndXJlKGUpLHNldFRpbWVvdXQoKCk9PntyLmFjdGl2aXR5TG9nLmFkZE1hbnkoW3t0eXBlOiJsb2dpbiIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToibG9nZ2VkIGluIGZyb20gQ2hyb21lIG9uIG1hY09TIn0se3R5cGU6ImNyZWF0ZSIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZTonY3JlYXRlZCBwcm9qZWN0ICJGcm9udGVuZCBBcHAiJ30se3R5cGU6InVwZGF0ZSIsdXNlcjoiSm9obiBEb2UiLG1lc3NhZ2U6InVwZGF0ZWQgQVBJIGRvY3VtZW50YXRpb24ifSx7dHlwZToidmlldyIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToidmlld2VkIGRhc2hib2FyZCBhbmFseXRpY3MifSx7dHlwZToiZGVsZXRlIix1c2VyOiJBZG1pbiIsbWVzc2FnZToicmVtb3ZlZCBkZXByZWNhdGVkIGVuZHBvaW50In0se3R5cGU6ImN1c3RvbSIsdXNlcjoiU3lzdGVtIixtZXNzYWdlOiJzY2hlZHVsZWQgYmFja3VwIGNvbXBsZXRlZCIsaWNvbk5hbWU6Imx1Y2lkZTpkYXRhYmFzZSJ9XSl9LDUwMCksci52aWV3Q2hhbmdlZCQuc3Vic2NyaWJlKGE9Pntjb25zb2xlLmxvZygiVmlldyBjaGFuZ2VkIGV2ZW50OiIsYSksci5zZXRCcmVhZGNydW1icyhhLnZpZXcubmFtZSl9KSxyLnZpZXdMaWZlY3ljbGUkLnN1YnNjcmliZShhPT57Y29uc29sZS5sb2coIkxpZmVjeWNsZSBldmVudDoiLGEudHlwZSxhLnZpZXdJZCl9KSxzZXRUaW1lb3V0KCgpPT57ci5zZXRNYWluTWVudUJhZGdlKCJ0YXNrcyIsMTUpLHIuYWN0aXZpdHlMb2cuYWRkKHt0eXBlOiJ1cGRhdGUiLHVzZXI6IlN5c3RlbSIsbWVzc2FnZToibmV3IHRhc2tzIGFkZGVkIn0pfSw1ZTMpfSwwKSxNYAogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgICR7dH0KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfX0pO3ZhciBPYixnNmU9ZigoKT0+e3VlKCk7T2I9Y2xhc3N7dmlld3M9bmV3IE1hcDtpbnN0YW5jZXM9bmV3IE1hcDtjdXJyZW50Vmlld0lkPW51bGw7YXBwdWk9bnVsbDtzZXRBcHB1aVJlZih0KXt0aGlzLmFwcHVpPXR9cmVnaXN0ZXIodCl7dGhpcy52aWV3cy5oYXModC5pZCkmJmNvbnNvbGUud2FybihgVmlldyB3aXRoIGlkICIke3QuaWR9IiBhbHJlYWR5IHJlZ2lzdGVyZWQuIE92ZXJ3cml0aW5nLmApLHRoaXMudmlld3Muc2V0KHQuaWQsdCl9cmVnaXN0ZXJBbGwodCl7dC5mb3JFYWNoKHI9PnRoaXMucmVnaXN0ZXIocikpfWdldCh0KXtyZXR1cm4gdGhpcy52aWV3cy5nZXQodCl9Z2V0Vmlld0lkcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMudmlld3Mua2V5cygpKX1nZXRBbGwoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnZpZXdzLnZhbHVlcygpKX1nZXRSb3V0ZSh0KXtsZXQgcj10aGlzLnZpZXdzLmdldCh0KTtyZXR1cm4gcj8ucm91dGV8fHI/LmlkfHwiIn1maW5kQnlSb3V0ZSh0KXtmb3IobGV0IHIgb2YgdGhpcy52aWV3cy52YWx1ZXMoKSl7bGV0IGE9ci5yb3V0ZXx8ci5pZCxpPXRoaXMubWF0Y2hSb3V0ZShhLHQpO2lmKGkhPT1udWxsKXJldHVybnt2aWV3OnIscGFyYW1zOml9fX1tYXRjaFJvdXRlKHQscil7bGV0IGE9dC5zcGxpdCgiLyIpLGk9ci5zcGxpdCgiLyIpO2lmKGEubGVuZ3RoPjAmJmFbYS5sZW5ndGgtMV0uZW5kc1dpdGgoIj8iKSl7aWYoaS5sZW5ndGg8YS5sZW5ndGgtMXx8aS5sZW5ndGg+YS5sZW5ndGgpcmV0dXJuIG51bGx9ZWxzZSBpZihhLmxlbmd0aCE9PWkubGVuZ3RoKXJldHVybiBudWxsO2xldCBzPXt9O2ZvcihsZXQgbz0wO288YS5sZW5ndGg7bysrKXtsZXQgYz1hW29dLGw9Yy5lbmRzV2l0aCgiPyIpO2lmKGwmJihjPWMuc2xpY2UoMCwtMSkpLGMuc3RhcnRzV2l0aCgiOiIpKXtsZXQgdT1jLnNsaWNlKDEpO2lmKGlbb10hPT12b2lkIDApc1t1XT1pW29dO2Vsc2UgaWYoIWwpcmV0dXJuIG51bGx9ZWxzZSBpZihpW29dIT09YylyZXR1cm4gbnVsbH1yZXR1cm4gc31hc3luYyBjYW5MZWF2ZUN1cnJlbnRWaWV3KCl7aWYoIXRoaXMuY3VycmVudFZpZXdJZClyZXR1cm4hMDtsZXQgdD10aGlzLmluc3RhbmNlcy5nZXQodGhpcy5jdXJyZW50Vmlld0lkKTtpZighdClyZXR1cm4hMDtsZXQgcj10O3JldHVybiB0eXBlb2Ygci5jYW5EZWFjdGl2YXRlPT0iZnVuY3Rpb24iP2F3YWl0IHIuY2FuRGVhY3RpdmF0ZSgpOiEwfWFzeW5jIGFjdGl2YXRlVmlldyh0LHIsYSl7bGV0IGk9dGhpcy52aWV3cy5nZXQodCk7aWYoIWkpcmV0dXJuIGNvbnNvbGUuZXJyb3IoYFZpZXcgIiR7dH0iIG5vdCBmb3VuZCBpbiByZWdpc3RyeWApLG51bGw7bGV0IG49aS5jYWNoZSE9PSExO3RoaXMuY3VycmVudFZpZXdJZCYmdGhpcy5jdXJyZW50Vmlld0lkIT09dCYmYXdhaXQgdGhpcy5kZWFjdGl2YXRlVmlldyh0aGlzLmN1cnJlbnRWaWV3SWQpO2xldCBzPW4/dGhpcy5pbnN0YW5jZXMuZ2V0KHQpOnZvaWQgMDtpZihzKXMuc3R5bGUuZGlzcGxheT0iIjtlbHNle2lmKHM9YXdhaXQgdGhpcy5jcmVhdGVWaWV3RWxlbWVudChpKSwhcylyZXR1cm4gY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNyZWF0ZSBlbGVtZW50IGZvciB2aWV3ICIke3R9ImApLG51bGw7ci5hcHBlbmRDaGlsZChzKSxuJiZ0aGlzLmluc3RhbmNlcy5zZXQodCxzKX1yZXR1cm4gdGhpcy5jdXJyZW50Vmlld0lkPXQsYXdhaXQgdGhpcy5jYWxsT25BY3RpdmF0ZShzLHQsYSksc31hc3luYyBkZWFjdGl2YXRlVmlldyh0KXtsZXQgcj10aGlzLmluc3RhbmNlcy5nZXQodCk7aWYoIXIpcmV0dXJuO2xldCBhPXI7dHlwZW9mIGEub25EZWFjdGl2YXRlPT0iZnVuY3Rpb24iJiZhd2FpdCBhLm9uRGVhY3RpdmF0ZSgpLHIuc3R5bGUuZGlzcGxheT0ibm9uZSJ9YXN5bmMgY3JlYXRlVmlld0VsZW1lbnQodCl7bGV0IHI9dC5jb250ZW50O2lmKHR5cGVvZiByPT0iZnVuY3Rpb24iJiYhKHIucHJvdG90eXBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpJiZyLmNvbnN0cnVjdG9yLm5hbWU9PT0iQXN5bmNGdW5jdGlvbiIpdHJ5e3I9YXdhaXQgcigpfWNhdGNoKGkpe3JldHVybiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBhc3luYyBjb250ZW50IGZvciB2aWV3ICIke3QuaWR9IjpgLGkpLG51bGx9bGV0IGE7aWYodHlwZW9mIHI9PSJzdHJpbmciKWE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChyKTtlbHNlIGlmKHR5cGVvZiByPT0iZnVuY3Rpb24iKWlmKHIucHJvdG90eXBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpYT1uZXcgcjtlbHNle2xldCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuY2xhc3NOYW1lPSJ2aWV3LWNvbnRlbnQtd3JhcHBlciIsaS5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5OiBjb250ZW50czsiO2xldCBuPXIoKTtBZChuLGkpLGE9aX1lbHNlIHJldHVybiBjb25zb2xlLmVycm9yKGBJbnZhbGlkIGNvbnRlbnQgdHlwZSBmb3IgdmlldyAiJHt0LmlkfSJgKSxudWxsO3JldHVybiBhLmRhdGFzZXQudmlld0lkPXQuaWQsYX1hc3luYyBjYWxsT25BY3RpdmF0ZSh0LHIsYSl7bGV0IGk9dDtpZih0eXBlb2YgaS5vbkFjdGl2YXRlPT0iZnVuY3Rpb24iKXtsZXQgbj17YXBwdWk6dGhpcy5hcHB1aSx2aWV3SWQ6cixwYXJhbXM6YX07YXdhaXQgaS5vbkFjdGl2YXRlKG4pfX1yZW5kZXJWaWV3KHQscil7bGV0IGE9dGhpcy52aWV3cy5nZXQodCk7aWYoIWEpcmV0dXJuIGNvbnNvbGUuZXJyb3IoYFZpZXcgIiR7dH0iIG5vdCBmb3VuZCBpbiByZWdpc3RyeWApLG51bGw7ci5pbm5lckhUTUw9IiI7bGV0IGksbj1hLmNvbnRlbnQ7aWYodHlwZW9mIG49PSJzdHJpbmciKWk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuKTtlbHNlIGlmKHR5cGVvZiBuPT0iZnVuY3Rpb24iKWlmKG4ucHJvdG90eXBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpaT1uZXcgbjtlbHNle2xldCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NOYW1lPSJ2aWV3LWNvbnRlbnQtd3JhcHBlciIscy5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5OiBjb250ZW50czsiO2xldCBvPW4oKTtBZChvLHMpLGk9c31lbHNlIHJldHVybiBjb25zb2xlLmVycm9yKGBJbnZhbGlkIGNvbnRlbnQgdHlwZSBmb3IgdmlldyAiJHt0fSJgKSxudWxsO3JldHVybiByLmFwcGVuZENoaWxkKGkpLHRoaXMuaW5zdGFuY2VzLnNldCh0LGkpLHRoaXMuY3VycmVudFZpZXdJZD10LGl9Z2V0Q3VycmVudFZpZXdJZCgpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3SWR9Z2V0SW5zdGFuY2UodCl7cmV0dXJuIHRoaXMuaW5zdGFuY2VzLmdldCh0KX1jbGVhckluc3RhbmNlKHQpe2xldCByPXRoaXMuaW5zdGFuY2VzLmdldCh0KTtyJiZyLnBhcmVudE5vZGUmJnIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSx0aGlzLmluc3RhbmNlcy5kZWxldGUodCksdGhpcy5jdXJyZW50Vmlld0lkPT09dCYmKHRoaXMuY3VycmVudFZpZXdJZD1udWxsKX1jbGVhckluc3RhbmNlcygpe2ZvcihsZXRbdCxyXW9mIHRoaXMuaW5zdGFuY2VzKXIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpO3RoaXMuaW5zdGFuY2VzLmNsZWFyKCksdGhpcy5jdXJyZW50Vmlld0lkPW51bGx9dW5yZWdpc3Rlcih0KXtyZXR1cm4gdGhpcy5jbGVhckluc3RhbmNlKHQpLHRoaXMudmlld3MuZGVsZXRlKHQpfWNsZWFyKCl7dGhpcy52aWV3cy5jbGVhcigpLHRoaXMuY2xlYXJJbnN0YW5jZXMoKX1oYXModCl7cmV0dXJuIHRoaXMudmlld3MuaGFzKHQpfWdldCBzaXplKCl7cmV0dXJuIHRoaXMudmlld3Muc2l6ZX19fSk7dmFyIFJjcixCY3I9ZigoKT0+e3VlKCk7UmNyPSgpPT5NYAogIDxzdHlsZT4KICAgIC5kZW1vLW1haW5tZW51LWNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgYmFja2dyb3VuZDogIzFhMWExYTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgfQogICAgLmRlbW8tbWFpbm1lbnUtY29udGFpbmVyIC5zcGFjZXIgewogICAgICBmbGV4OiAxOwogICAgICBiYWNrZ3JvdW5kOiAjMGYwZjBmOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1tYWlubWVudS1jb250YWluZXIiPgogICAgPGRlZXMtYXBwdWktbWFpbm1lbnUKICAgICAgLmxvZ29JY29uPSR7Imx1Y2lkZTpib3gifQogICAgICAubG9nb1RleHQ9JHsiQWNtZSBBcHAifQogICAgICAubWVudUdyb3Vwcz0ke1t7dGFiczpbe2tleToiRGFzaGJvYXJkIixpY29uTmFtZToibHVjaWRlOmhvbWUiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkRhc2hib2FyZCIpfSx7a2V5OiJJbmJveCIsaWNvbk5hbWU6Imx1Y2lkZTppbmJveCIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiSW5ib3giKX1dfSx7bmFtZToiV29ya3NwYWNlIix0YWJzOlt7a2V5OiJQcm9qZWN0cyIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXIiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIlByb2plY3RzIil9LHtrZXk6IlRhc2tzIixpY29uTmFtZToibHVjaWRlOmNoZWNrU3F1YXJlIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJUYXNrcyIpfSx7a2V5OiJEb2N1bWVudHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkRvY3VtZW50cyIpfV19LHtuYW1lOiJBbmFseXRpY3MiLHRhYnM6W3trZXk6IlJlcG9ydHMiLGljb25OYW1lOiJsdWNpZGU6YmFyQ2hhcnQzIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJSZXBvcnRzIil9LHtrZXk6Ikluc2lnaHRzIixpY29uTmFtZToibHVjaWRlOmxpZ2h0YnVsYiIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiSW5zaWdodHMiKX1dfV19CiAgICAgIC5ib3R0b21UYWJzPSR7W3trZXk6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpfSx7a2V5OiJIZWxwIixpY29uTmFtZToibHVjaWRlOmhlbHBDaXJjbGUiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkhlbHAiKX1dfQogICAgPjwvZGVlcy1hcHB1aS1tYWlubWVudT4KICAgIDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CiAgPC9kaXY+CmB9KTt2YXIgZTMscjEsSGNyLGI2ZT1mKCgpPT57d2koKTtZNCgpO2tzKCk7dWUoKTtNaSgpO0JjcigpO1FlKCk7ZTM9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxyMT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sSGNyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1hcHB1aS1tYWlubWVudSIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdO3ZhciBxPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOlN0cmluZ30pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKHt0eXBlOkFycmF5fSldLHY9W0Yoe3R5cGU6QXJyYXl9KV0seT1bRih7dHlwZTpBcnJheX0pXSxSPVtGKCldLE89W0Yoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLGUzKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9nb0ljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJsb2dvSWNvbiJpbiB6LGdldDp6PT56LmxvZ29JY29uLHNldDooeixFKT0+e3oubG9nb0ljb249RX19LG1ldGFkYXRhOl99LHMsbyksZTModGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2dvVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+ImxvZ29UZXh0ImluIHosZ2V0Ono9PnoubG9nb1RleHQsc2V0Oih6LEUpPT57ei5sb2dvVGV4dD1FfX0sbWV0YWRhdGE6X30sbCx1KSxlMyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVHcm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJtZW51R3JvdXBzImluIHosZ2V0Ono9PnoubWVudUdyb3VwcyxzZXQ6KHosRSk9Pnt6Lm1lbnVHcm91cHM9RX19LG1ldGFkYXRhOl99LGgsbSksZTModGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib3R0b21UYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4iYm90dG9tVGFicyJpbiB6LGdldDp6PT56LmJvdHRvbVRhYnMsc2V0Oih6LEUpPT57ei5ib3R0b21UYWJzPUV9fSxtZXRhZGF0YTpffSxiLGcpLGUzKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+InRhYnMiaW4geixnZXQ6ej0+ei50YWJzLHNldDooeixFKT0+e3oudGFicz1FfX0sbWV0YWRhdGE6X30sdyxrKSxlMyh0aGlzLG51bGwsUix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4ic2VsZWN0ZWRUYWIiaW4geixnZXQ6ej0+ei5zZWxlY3RlZFRhYixzZXQ6KHosRSk9Pnt6LnNlbGVjdGVkVGFiPUV9fSxtZXRhZGF0YTpffSxDLFMpLGUzKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4iY29sbGFwc2VkImluIHosZ2V0Ono9PnouY29sbGFwc2VkLHNldDooeixFKT0+e3ouY29sbGFwc2VkPUV9fSxtZXRhZGF0YTpffSxELE4pLGUzKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOl99LG51bGwscikscT1hPXQudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89UmNyO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9cjEodGhpcyxzLCIiKTtnZXQgbG9nb0ljb24oKXtyZXR1cm4gdGhpcy4jZX1zZXQgbG9nb0ljb24oXyl7dGhpcy4jZT1ffSN0PShyMSh0aGlzLG8pLHIxKHRoaXMsbCwiIikpO2dldCBsb2dvVGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCBsb2dvVGV4dChfKXt0aGlzLiN0PV99I3I9KHIxKHRoaXMsdSkscjEodGhpcyxoLFtdKSk7Z2V0IG1lbnVHcm91cHMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbWVudUdyb3VwcyhfKXt0aGlzLiNyPV99I2E9KHIxKHRoaXMsbSkscjEodGhpcyxiLFtdKSk7Z2V0IGJvdHRvbVRhYnMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYm90dG9tVGFicyhfKXt0aGlzLiNhPV99I2k9KHIxKHRoaXMsZykscjEodGhpcyx3LFtdKSk7Z2V0IHRhYnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdGFicyhfKXt0aGlzLiNpPV99I249KHIxKHRoaXMsaykscjEodGhpcyxDLHZvaWQgMCkpO2dldCBzZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiNufXNldCBzZWxlY3RlZFRhYihfKXt0aGlzLiNuPV99I3M9KHIxKHRoaXMsUykscjEodGhpcyxELCExKSk7Z2V0IGNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNzfXNldCBjb2xsYXBzZWQoXyl7dGhpcy4jcz1ffXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgLS1tZW51LXdpZHRoLWV4cGFuZGVkOiAyMDBweDsKICAgICAgICAtLW1lbnUtd2lkdGgtY29sbGFwc2VkOiA1NnB4OwogICAgICAgIC0tdG9vbHRpcC1iZzogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIC0tdG9vbHRpcC1mZzogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5tYWluQ29udGFpbmVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2NjYiLCIjY2NjIil9OwogICAgICAgIHotaW5kZXg6ICR7bWkuZml4ZWQuYXBwQmFyfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiB2YXIoLS1tZW51LXdpZHRoLWV4cGFuZGVkKTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlNWU1IiwiIzFhMWExYSIpfTsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgZWFzZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tYWluQ29udGFpbmVyIHsKICAgICAgICB3aWR0aDogdmFyKC0tbWVudS13aWR0aC1jb2xsYXBzZWQpOwogICAgICB9CgogICAgICAvKiBGbG9hdGluZyBjb2xsYXBzZSB0b2dnbGUgYnV0dG9uICovCiAgICAgIC5jb2xsYXBzZS10b2dnbGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogLTEycHg7CiAgICAgICAgdG9wOiAyNHB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTVlNSIsIiMzZjNmNDYiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzczNzM3MyIsIiNhMWExYWEiKX07CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5jb2xsYXBzZS10b2dnbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzNmM2Y0NiIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwYTBhMGEiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICA6aG9zdCg6aG92ZXIpIC5jb2xsYXBzZS10b2dnbGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5jb2xsYXBzZS10b2dnbGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC8qIExvZ28gU2VjdGlvbiAqLwogICAgICAubG9nb1NlY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIHBhZGRpbmc6IDAgMTRweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU1ZTUiLCIjMWExYTFhIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5sb2dvU2VjdGlvbiAubG9nb0ljb24gewogICAgICAgIGZvbnQtc2l6ZTogMjJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwYTBhMGEiLCIjZmFmYWZhIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubG9nb1NlY3Rpb24gLmxvZ29UZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzBhMGEwYSIsIiNmYWZhZmEiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmxvZ29TZWN0aW9uIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGdhcDogMDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5sb2dvU2VjdGlvbiAubG9nb1RleHQgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIE1pZGRsZSBTZWN0aW9uIChzY3JvbGxhYmxlKSAqLwogICAgICAubWVudVNlY3Rpb24gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMjUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSIpfTsKICAgICAgfQoKICAgICAgLyogTWVudSBHcm91cCAqLwogICAgICAubWVudUdyb3VwIHsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5tZW51R3JvdXA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweCA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzM3MzczIiwiIzczNzM3MyIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIG1heC1oZWlnaHQgMC4yNXMgZWFzZTsKICAgICAgICBtYXgtaGVpZ2h0OiAzMHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmdyb3VwSGVhZGVyIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG1heC1oZWlnaHQ6IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5ncm91cFRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51R3JvdXAgewogICAgICAgIHBhZGRpbmc6IDAgNHB4OwogICAgICB9CgogICAgICAvKiBUYWIgSXRlbSAqLwogICAgICAudGFiIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM1MjUyNTIiLCIjYTNhM2EzIil9OwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA0KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjYyNjI2IiwiI2U1ZTVlNSIpfTsKICAgICAgfQoKICAgICAgLnRhYjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzBhMGEwYSIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWI6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAzcHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMGEwYTBhIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDJweCAycHggMDsKICAgICAgfQoKICAgICAgLnRhYiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBvcGFjaXR5OiAwLjg1OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLnRhYiAudGFiTGFiZWwgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICAvKiBDb2xsYXBzZWQgdGFiIHN0eWxlcyAqLwogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLnRhYiB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICBnYXA6IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAudGFiIC50YWJMYWJlbCB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAudGFiLnNlbGVjdGVkVGFiOjpiZWZvcmUgewogICAgICAgIGxlZnQ6IC00cHg7CiAgICAgIH0KCiAgICAgIC8qIFRvb2x0aXAgZm9yIGNvbGxhcHNlZCBzdGF0ZSAqLwogICAgICAudGFiLXRvb2x0aXAgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAxMDAlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBtYXJnaW4tbGVmdDogMTJweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b29sdGlwLWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tdG9vbHRpcC1mZyk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgICAgfQoKICAgICAgLnRhYi10b29sdGlwOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAtNHB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLXRvb2x0aXAtYmcpOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLnRhYjpob3ZlciAudGFiLXRvb2x0aXAgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMXM7CiAgICAgIH0KCiAgICAgIC8qIEJhZGdlIHN0eWxlcyAqLwogICAgICAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbWluLXdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICBwYWRkaW5nOiAwIDZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC5iYWRnZS5kZWZhdWx0IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjM2YzZjQ2IiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGNmY2U3IiwiIzE0NTMyZCIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNjY1MzQiLCIjNGFkZTgwIil9OwogICAgICB9CgogICAgICAuYmFkZ2Uud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWYzYzciLCIjNDUxYTAzIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzkyNDAwZSIsIiNmYmJmMjQiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCIjNDUwYTBhIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzk5MWIxYiIsIiNmODcxNzEiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEJvdHRvbSBTZWN0aW9uICovCiAgICAgIC5ib3R0b21TZWN0aW9uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlNWU1IiwiIzFhMWExYSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuYm90dG9tU2VjdGlvbiB7CiAgICAgICAgcGFkZGluZzogOHB4IDRweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IF89dGhpcy5nZXRBbGxUYWJzKCk7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9Im1haW5Db250YWluZXIiIEBjb250ZXh0bWVudT0ke3o9PntNci5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyh6LFt7bmFtZToiYXBwIHNldHRpbmdzIixhY3Rpb246YXN5bmMoKT0+e30saWNvbk5hbWU6ImdlYXIifV0pfX0+CiAgICAgICAgJHt0aGlzLmxvZ29JY29ufHx0aGlzLmxvZ29UZXh0P01gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvU2VjdGlvbiI+CiAgICAgICAgICAgICR7dGhpcy5sb2dvSWNvbj9NYDxkZWVzLWljb24gY2xhc3M9ImxvZ29JY29uIiAuaWNvbj0iJHt0aGlzLmxvZ29JY29ufSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgJHt0aGlzLmxvZ29UZXh0P01gPHNwYW4gY2xhc3M9ImxvZ29UZXh0Ij4ke3RoaXMubG9nb1RleHR9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51U2VjdGlvbiI+CiAgICAgICAgICAke3RoaXMubWVudUdyb3Vwcy5sZW5ndGg+MD90aGlzLnJlbmRlck1lbnVHcm91cHMoKTp0aGlzLnJlbmRlckxlZ2FjeVRhYnMoKX0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLmJvdHRvbVRhYnMubGVuZ3RoPjA/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbVNlY3Rpb24iPgogICAgICAgICAgICAke3RoaXMuYm90dG9tVGFicy5tYXAoej0+dGhpcy5yZW5kZXJUYWIoeikpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICAgIDxidXR0b24gY2xhc3M9ImNvbGxhcHNlLXRvZ2dsZSIgQGNsaWNrPSIkeygpPT50aGlzLnRvZ2dsZUNvbGxhcHNlKCl9Ij4KICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMuY29sbGFwc2VkPyJsdWNpZGU6Y2hldnJvblJpZ2h0IjoibHVjaWRlOmNoZXZyb25MZWZ0In0iPjwvZGVlcy1pY29uPgogICAgICA8L2J1dHRvbj4KICAgIGB9cmVuZGVyTWVudUdyb3Vwcygpe3JldHVybiBNYAogICAgICAke3RoaXMubWVudUdyb3Vwcy5tYXAoXz0+TWAKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51R3JvdXAiPgogICAgICAgICAgJHtfLm5hbWU/TWA8ZGl2IGNsYXNzPSJncm91cEhlYWRlciI+JHtfLm5hbWV9PC9kaXY+YDoiIn0KICAgICAgICAgIDxkaXYgY2xhc3M9Imdyb3VwVGFicyI+CiAgICAgICAgICAgICR7Xy5pdGVtcy5tYXAoej0+dGhpcy5yZW5kZXJUYWIoeikpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGApfQogICAgYH1yZW5kZXJMZWdhY3lUYWJzKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9Im1lbnVHcm91cCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JvdXBUYWJzIj4KICAgICAgICAgICR7dGhpcy50YWJzLm1hcChfPT50aGlzLnJlbmRlclRhYihfKSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJUYWIoXyl7cmV0dXJuIE1gCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0idGFiICR7Xz09PXRoaXMuc2VsZWN0ZWRUYWI/InNlbGVjdGVkVGFiIjoiIn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT57dGhpcy51cGRhdGVUYWIoXyl9fSIKICAgICAgPgogICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Xy5pY29uTmFtZXx8IiJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICA8c3BhbiBjbGFzcz0idGFiTGFiZWwiPiR7Xy5rZXl9PC9zcGFuPgogICAgICAgICR7Xy5iYWRnZSE9PXZvaWQgMD9NYAogICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7Xy5iYWRnZVZhcmlhbnR8fCJkZWZhdWx0In0iPiR7Xy5iYWRnZX08L3NwYW4+CiAgICAgICAgYDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0idGFiLXRvb2x0aXAiPiR7Xy5rZXl9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9Z2V0QWxsVGFicygpe3JldHVybiB0aGlzLm1lbnVHcm91cHMubGVuZ3RoPjA/Wy4uLnRoaXMubWVudUdyb3Vwcy5mbGF0TWFwKHo9PnouaXRlbXMpLC4uLnRoaXMuYm90dG9tVGFic106Wy4uLnRoaXMudGFicywuLi50aGlzLmJvdHRvbVRhYnNdfXVwZGF0ZVRhYihfKXt0aGlzLnNlbGVjdGVkVGFiPV8sdGhpcy5zZWxlY3RlZFRhYi5hY3Rpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOnt0YWI6X30sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1maXJzdFVwZGF0ZWQoKXtsZXQgXz10aGlzLmdldEFsbFRhYnMoKTtfLmxlbmd0aD4wJiZ0aGlzLnVwZGF0ZVRhYihfWzBdKX10b2dnbGVDb2xsYXBzZSgpe3RoaXMuY29sbGFwc2VkPSF0aGlzLmNvbGxhcHNlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb2xsYXBzZS1jaGFuZ2UiLHtkZXRhaWw6e2NvbGxhcHNlZDp0aGlzLmNvbGxhcHNlZH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykscjEodGhpcyxOKX1zdGF0aWN7cjEoYSxyKX19O3JldHVybiBxPWF9KSgpfSk7dmFyIHFjcixqY3I9ZigoKT0+e3VlKCk7cWNyPSgpPT5NYAogIDxzdHlsZT4KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhOwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICB9CiAgICAuZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciAuc3BhY2VyIHsKICAgICAgZmxleDogMTsKICAgICAgYmFja2dyb3VuZDogIzBmMGYwZjsKICAgICAgcGFkZGluZzogMjBweDsKICAgICAgY29sb3I6ICNhM2EzYTM7CiAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICB9CiAgICAuZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciAuc3BhY2VyIGgzIHsKICAgICAgY29sb3I6ICNmYWZhZmE7CiAgICAgIG1hcmdpbi10b3A6IDA7CiAgICB9CiAgICAuZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciAuc3BhY2VyIGNvZGUgewogICAgICBiYWNrZ3JvdW5kOiAjMjcyNzJhOwogICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIH0KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIC5zcGFjZXIgdWwgewogICAgICBsaW5lLWhlaWdodDogMS44OwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciI+CiAgICA8ZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51CiAgICAgIC5oZWFkaW5nPSR7IlByb2plY3RzIn0KICAgICAgLmdyb3Vwcz0ke1t7bmFtZToiTmF2aWdhdGlvbiIsaWNvbk5hbWU6Imx1Y2lkZTpjb21wYXNzIixpdGVtczpbe2tleToiRGFzaGJvYXJkIixpY29uTmFtZToibHVjaWRlOmxheW91dERhc2hib2FyZCIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiRGFzaGJvYXJkIGNsaWNrZWQiKSxiYWRnZTozLGJhZGdlVmFyaWFudDoid2FybmluZyJ9LHtrZXk6IlByb2plY3RzIixpY29uTmFtZToibHVjaWRlOmZvbGRlciIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiUHJvamVjdHMgY2xpY2tlZCIpLGJhZGdlOiJuZXciLGJhZGdlVmFyaWFudDoic3VjY2VzcyJ9LHtrZXk6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydDIiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkFuYWx5dGljcyBjbGlja2VkIil9XX0se25hbWU6IkFjdGlvbnMiLGljb25OYW1lOiJsdWNpZGU6emFwIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJDcmVhdGUgTmV3IixpY29uTmFtZToibHVjaWRlOnBsdXMiLGFjdGlvbjooKT0+YWxlcnQoIkNyZWF0ZSBOZXcgY2xpY2tlZCEiKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQgRGF0YSIsaWNvbk5hbWU6Imx1Y2lkZTp1cGxvYWQiLGFjdGlvbjooKT0+YWxlcnQoIkltcG9ydCBEYXRhIGNsaWNrZWQhIil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImFjdGlvbiIsa2V5OiJEZWxldGUgQWxsIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsdmFyaWFudDoiZGFuZ2VyIixjb25maXJtTWVzc2FnZToiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBhbGwgaXRlbXM/IixhY3Rpb246KCk9PmFsZXJ0KCJEZWxldGVkISIpfV19LHtuYW1lOiJGaWx0ZXJzIixpY29uTmFtZToibHVjaWRlOmZpbHRlciIsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOiJTdGF0dXMifSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgQWN0aXZlIixpY29uTmFtZToibHVjaWRlOmNoZWNrQ2lyY2xlIixhY3RpdmU6ITAsb25Ub2dnbGU6ZT0+Y29uc29sZS5sb2coIlNob3cgQWN0aXZlOiIsZSl9LHt0eXBlOiJmaWx0ZXIiLGtleToiU2hvdyBBcmNoaXZlZCIsaWNvbk5hbWU6Imx1Y2lkZTphcmNoaXZlIixhY3RpdmU6ITEsb25Ub2dnbGU6ZT0+Y29uc29sZS5sb2coIlNob3cgQXJjaGl2ZWQ6IixlKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToibXVsdGlGaWx0ZXIiLGtleToiQ2F0ZWdvcmllcyIsaWNvbk5hbWU6Imx1Y2lkZTp0YWciLGNvbGxhcHNlZDohMSxvcHRpb25zOlt7a2V5OiJmcm9udGVuZCIsbGFiZWw6IkZyb250ZW5kIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6bW9uaXRvciJ9LHtrZXk6ImJhY2tlbmQiLGxhYmVsOiJCYWNrZW5kIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6c2VydmVyIn0se2tleToiZGV2b3BzIixsYWJlbDoiRGV2T3BzIixjaGVja2VkOiExLGljb25OYW1lOiJsdWNpZGU6Y2xvdWQifSx7a2V5OiJkZXNpZ24iLGxhYmVsOiJEZXNpZ24iLGNoZWNrZWQ6ITEsaWNvbk5hbWU6Imx1Y2lkZTpwYWxldHRlIn1dLG9uQ2hhbmdlOmU9PmNvbnNvbGUubG9nKCJTZWxlY3RlZCBjYXRlZ29yaWVzOiIsZSl9XX0se25hbWU6IlJlc291cmNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpib29rT3BlbiIsY29sbGFwc2VkOiEwLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiRG9jdW1lbnRhdGlvbiJ9LHt0eXBlOiJsaW5rIixrZXk6IkFQSSBSZWZlcmVuY2UiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGhyZWY6Imh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2RvY3MifSx7dHlwZToibGluayIsa2V5OiJVc2VyIEd1aWRlIixpY29uTmFtZToibHVjaWRlOmJvb2siLGhyZWY6Imh0dHBzOi8vZG9jcy5leGFtcGxlLmNvbS9ndWlkZSJ9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6IlN1cHBvcnQifSx7dHlwZToibGluayIsa2V5OiJIZWxwIENlbnRlciIsaWNvbk5hbWU6Imx1Y2lkZTpoZWxwQ2lyY2xlIixocmVmOiIvaGVscCIsZXh0ZXJuYWw6ITF9LHt0eXBlOiJsaW5rIixrZXk6IkdpdEh1YiBJc3N1ZXMiLGljb25OYW1lOiJsdWNpZGU6Z2l0aHViIixocmVmOiJodHRwczovL2dpdGh1Yi5jb20vZXhhbXBsZS9pc3N1ZXMifV19XX0KICAgICAgQGl0ZW0tc2VsZWN0PSR7ZT0+Y29uc29sZS5sb2coIlRhYiBzZWxlY3RlZDoiLGUuZGV0YWlsKX0KICAgICAgQGFjdGlvbi1jbGljaz0ke2U9PmNvbnNvbGUubG9nKCJBY3Rpb24gY2xpY2tlZDoiLGUuZGV0YWlsKX0KICAgICAgQGZpbHRlci10b2dnbGU9JHtlPT5jb25zb2xlLmxvZygiRmlsdGVyIHRvZ2dsZWQ6IixlLmRldGFpbCl9CiAgICAgIEBtdWx0aWZpbHRlci1jaGFuZ2U9JHtlPT5jb25zb2xlLmxvZygiTXVsdGktZmlsdGVyIGNoYW5nZWQ6IixlLmRldGFpbCl9CiAgICAgIEBsaW5rLWNsaWNrPSR7ZT0+Y29uc29sZS5sb2coIkxpbmsgY2xpY2tlZDoiLGUuZGV0YWlsKX0KICAgID48L2RlZXMtYXBwdWktc2Vjb25kYXJ5bWVudT4KICAgIDxkaXYgY2xhc3M9InNwYWNlciI+CiAgICAgIDxoMz5TZWNvbmRhcnkgTWVudSBEZW1vPC9oMz4KICAgICAgPHA+VGhpcyBkZW1vIHNob3djYXNlcyBhbGwgOCBpdGVtIHR5cGVzOjwvcD4KICAgICAgPHVsPgogICAgICAgIDxsaT48Y29kZT50YWI8L2NvZGU+IC0gU2VsZWN0YWJsZSBpdGVtcyAoTmF2aWdhdGlvbiBncm91cCk8L2xpPgogICAgICAgIDxsaT48Y29kZT5hY3Rpb248L2NvZGU+IC0gQmx1ZSBhY3Rpb25zIChBY3Rpb25zIGdyb3VwKTwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmFjdGlvbjwvY29kZT4gd2l0aCA8Y29kZT52YXJpYW50OiAnZGFuZ2VyJzwvY29kZT4gLSBSZWQgZGFuZ2VyIGFjdGlvbjwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmZpbHRlcjwvY29kZT4gLSBDaGVja2JveCB0b2dnbGVzIChGaWx0ZXJzIGdyb3VwKTwvbGk+CiAgICAgICAgPGxpPjxjb2RlPm11bHRpRmlsdGVyPC9jb2RlPiAtIENvbGxhcHNpYmxlIG11bHRpLXNlbGVjdCAoQ2F0ZWdvcmllcyk8L2xpPgogICAgICAgIDxsaT48Y29kZT5kaXZpZGVyPC9jb2RlPiAtIFZpc3VhbCBzZXBhcmF0b3JzPC9saT4KICAgICAgICA8bGk+PGNvZGU+aGVhZGVyPC9jb2RlPiAtIFNlY3Rpb24gbGFiZWxzPC9saT4KICAgICAgICA8bGk+PGNvZGU+bGluazwvY29kZT4gLSBFeHRlcm5hbC9pbnRlcm5hbCBsaW5rcyAoUmVzb3VyY2VzIGdyb3VwKTwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxwPlRyeSB0aGUgY29sbGFwc2UgdG9nZ2xlIG9uIHRoZSBsZWZ0IGVkZ2UhPC9wPgogICAgPC9kaXY+CiAgPC9kaXY+CmB9KTt2YXIgJGMsSmksVmNyLHY2ZT1mKCgpPT57d2koKTtZNCgpO01pKCk7aXIoKTt1ZSgpO2pjcigpO1FlKCk7JGM9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxKaT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sVmNyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W107dmFyIEU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBUPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6QXJyYXl9KV0sZD1bRih7dHlwZTpBcnJheX0pXSx2PVtGKHt0eXBlOk9iamVjdH0pXSx5PVtzZSgpXSxSPVtzZSgpXSxPPVtzZSgpXSxxPVtGKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSwkYyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJoZWFkaW5nImluIEwsZ2V0Okw9PkwuaGVhZGluZyxzZXQ6KEwsVik9PntMLmhlYWRpbmc9Vn19LG1ldGFkYXRhOlR9LHMsbyksJGModGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJncm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJncm91cHMiaW4gTCxnZXQ6TD0+TC5ncm91cHMsc2V0OihMLFYpPT57TC5ncm91cHM9Vn19LG1ldGFkYXRhOlR9LGwsdSksJGModGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3Rpb25PcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4ic2VsZWN0aW9uT3B0aW9ucyJpbiBMLGdldDpMPT5MLnNlbGVjdGlvbk9wdGlvbnMsc2V0OihMLFYpPT57TC5zZWxlY3Rpb25PcHRpb25zPVZ9fSxtZXRhZGF0YTpUfSxoLG0pLCRjKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRJdGVtIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4ic2VsZWN0ZWRJdGVtImluIEwsZ2V0Okw9Pkwuc2VsZWN0ZWRJdGVtLHNldDooTCxWKT0+e0wuc2VsZWN0ZWRJdGVtPVZ9fSxtZXRhZGF0YTpUfSxiLGcpLCRjKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2VkR3JvdXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4iY29sbGFwc2VkR3JvdXBzImluIEwsZ2V0Okw9PkwuY29sbGFwc2VkR3JvdXBzLHNldDooTCxWKT0+e0wuY29sbGFwc2VkR3JvdXBzPVZ9fSxtZXRhZGF0YTpUfSx3LGspLCRjKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2VkTXVsdGlGaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4iY29sbGFwc2VkTXVsdGlGaWx0ZXJzImluIEwsZ2V0Okw9PkwuY29sbGFwc2VkTXVsdGlGaWx0ZXJzLHNldDooTCxWKT0+e0wuY29sbGFwc2VkTXVsdGlGaWx0ZXJzPVZ9fSxtZXRhZGF0YTpUfSxDLFMpLCRjKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuZGVyQ291bnRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6TD0+InJlbmRlckNvdW50ZXIiaW4gTCxnZXQ6TD0+TC5yZW5kZXJDb3VudGVyLHNldDooTCxWKT0+e0wucmVuZGVyQ291bnRlcj1WfX0sbWV0YWRhdGE6VH0sRCxOKSwkYyh0aGlzLG51bGwscSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6TD0+ImNvbGxhcHNlZCJpbiBMLGdldDpMPT5MLmNvbGxhcHNlZCxzZXQ6KEwsVik9PntMLmNvbGxhcHNlZD1WfX0sbWV0YWRhdGE6VH0sXyx6KSwkYyhudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpUfSxudWxsLHIpLEU9YT10LnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXFjcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPUppKHRoaXMscywiTWVudSIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcoVCl7dGhpcy4jZT1UfSN0PShKaSh0aGlzLG8pLEppKHRoaXMsbCxbXSkpO2dldCBncm91cHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZ3JvdXBzKFQpe3RoaXMuI3Q9VH0jcj0oSmkodGhpcyx1KSxKaSh0aGlzLGgsW10pKTtnZXQgc2VsZWN0aW9uT3B0aW9ucygpe3JldHVybiB0aGlzLiNyfXNldCBzZWxlY3Rpb25PcHRpb25zKFQpe3RoaXMuI3I9VH0jYT0oSmkodGhpcyxtKSxKaSh0aGlzLGIsbnVsbCkpO2dldCBzZWxlY3RlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0ZWRJdGVtKFQpe3RoaXMuI2E9VH0jaT0oSmkodGhpcyxnKSxKaSh0aGlzLHcsbmV3IFNldCkpO2dldCBjb2xsYXBzZWRHcm91cHMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgY29sbGFwc2VkR3JvdXBzKFQpe3RoaXMuI2k9VH0jbj0oSmkodGhpcyxrKSxKaSh0aGlzLEMsbmV3IFNldCkpO2dldCBjb2xsYXBzZWRNdWx0aUZpbHRlcnMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgY29sbGFwc2VkTXVsdGlGaWx0ZXJzKFQpe3RoaXMuI249VH0jcz0oSmkodGhpcyxTKSxKaSh0aGlzLEQsMCkpO2dldCByZW5kZXJDb3VudGVyKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHJlbmRlckNvdW50ZXIoVCl7dGhpcy4jcz1UfSNvPShKaSh0aGlzLE4pLEppKHRoaXMsXywhMSkpO2dldCBjb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jb31zZXQgY29sbGFwc2VkKFQpe3RoaXMuI289VH1zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIC0tc2lkZWJhci13aWR0aC1leHBhbmRlZDogMjQwcHg7CiAgICAgICAgLS1zaWRlYmFyLXdpZHRoLWNvbGxhcHNlZDogNTZweDsKICAgICAgICAtLXNpZGViYXItYmc6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICAtLXNpZGViYXItZmc6ICR7cC5iZFRoZW1lKCIjNTI1MjUyIiwiI2EzYTNhMyIpfTsKICAgICAgICAtLXNpZGViYXItZmctbXV0ZWQ6ICR7cC5iZFRoZW1lKCIjNzM3MzczIiwiIzczNzM3MyIpfTsKICAgICAgICAtLXNpZGViYXItZmctYWN0aXZlOiAke3AuYmRUaGVtZSgiIzBhMGEwYSIsIiNmYWZhZmEiKX07CiAgICAgICAgLS1zaWRlYmFyLWJvcmRlcjogJHtwLmJkVGhlbWUoIiNlNWU1ZTUiLCIjMWExYTFhIil9OwogICAgICAgIC0tc2lkZWJhci1ob3ZlcjogJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIil9OwogICAgICAgIC0tc2lkZWJhci1hY3RpdmU6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgICAgICAtLXNpZGViYXItYWNjZW50OiAke3AuYmRUaGVtZSgiIzBhMGEwYSIsIiNmYWZhZmEiKX07CiAgICAgICAgLS10b29sdGlwLWJnOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgLS10b29sdGlwLWZnOiAke3AuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CgogICAgICAgIC8qIEJhZGdlIGNvbG9ycyAqLwogICAgICAgIC0tYmFkZ2UtZGVmYXVsdC1iZzogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIC0tYmFkZ2UtZGVmYXVsdC1mZzogJHtwLmJkVGhlbWUoIiMzZjNmNDYiLCIjYTFhMWFhIil9OwogICAgICAgIC0tYmFkZ2Utc3VjY2Vzcy1iZzogJHtwLmJkVGhlbWUoIiNkY2ZjZTciLCIjMTQ1MzJkIil9OwogICAgICAgIC0tYmFkZ2Utc3VjY2Vzcy1mZzogJHtwLmJkVGhlbWUoIiMxNjY1MzQiLCIjNGFkZTgwIil9OwogICAgICAgIC0tYmFkZ2Utd2FybmluZy1iZzogJHtwLmJkVGhlbWUoIiNmZWYzYzciLCIjNDUxYTAzIil9OwogICAgICAgIC0tYmFkZ2Utd2FybmluZy1mZzogJHtwLmJkVGhlbWUoIiM5MjQwMGUiLCIjZmJiZjI0Iil9OwogICAgICAgIC0tYmFkZ2UtZXJyb3ItYmc6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwiIzQ1MGEwYSIpfTsKICAgICAgICAtLWJhZGdlLWVycm9yLWZnOiAke3AuYmRUaGVtZSgiIzk5MWIxYiIsIiNmODcxNzEiKX07CgogICAgICAgIC8qIEFjdGlvbiBjb2xvcnMgKi8KICAgICAgICAtLWFjdGlvbi1wcmltYXJ5OiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgICAgLS1hY3Rpb24tcHJpbWFyeS1ob3ZlcjogJHtwLmJkVGhlbWUoIiMxZDRlZDgiLCIjNjBhNWZhIil9OwogICAgICAgIC0tYWN0aW9uLWRhbmdlcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIC0tYWN0aW9uLWRhbmdlci1ob3ZlcjogJHtwLmJkVGhlbWUoIiNiOTFjMWMiLCIjZjg3MTcxIil9OwoKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoLWV4cGFuZGVkKTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWJnKTsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1zaWRlYmFyLWJvcmRlcik7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBzYW5zLXNlcmlmOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSB7CiAgICAgICAgd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgtY29sbGFwc2VkKTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC8qIEZsb2F0aW5nIGNvbGxhcHNlIHRvZ2dsZSBidXR0b24gKi8KICAgICAgLmNvbGxhcHNlLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAtMTJweDsKICAgICAgICB0b3A6IDI0cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlNWU1IiwiIzNmM2Y0NiIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzM3MzczIiwiI2ExYTFhYSIpfTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmNvbGxhcHNlLXRvZ2dsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjM2YzZjQ2Iil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzBhMGEwYSIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KDpob3ZlcikgLmNvbGxhcHNlLXRvZ2dsZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmNvbGxhcHNlLXRvZ2dsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLyogSGVhZGVyIFNlY3Rpb24gKi8KICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1zaWRlYmFyLWJvcmRlcik7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciAuaGVhZGluZyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1hY3RpdmUpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgd2lkdGggMC4yNXMgZWFzZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5oZWFkZXIgewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmhlYWRlciAuaGVhZGluZyB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAvKiBTY3JvbGxhYmxlIE1lbnUgU2VjdGlvbiAqLwogICAgICAubWVudVNlY3Rpb24gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMjUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSIpfTsKICAgICAgfQoKICAgICAgLyogTWVudSBHcm91cCAqLwogICAgICAubWVudUdyb3VwIHsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUdyb3VwIHsKICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZSwgbWF4LWhlaWdodCAwLjI1cyBlYXNlOwogICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlcjpob3ZlciB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoInJnYmEoMTQwLCAxMjAsIDEwMCwgMC4wNikiLCJyZ2JhKDE4MCwgMTYwLCAxNDAsIDAuMDgpIil9OwogICAgICAgIHBhZGRpbmc6IDdweCAxMXB4OwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXI6bm90KC5jb2xsYXBzZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgxNDAsIDEyMCwgMTAwLCAwLjA2KSIsInJnYmEoMTgwLCAxNjAsIDE0MCwgMC4wOCkiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIgLmdyb3VwVGl0bGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3ODcxNmMiLCIjYjVhOTlhIil9OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyIC5ncm91cFRpdGxlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzc4NzE2YyIsIiNiNWE5OWEiKX07CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlciAuY2hldnJvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzg3MTZjIiwiI2I1YTk5YSIpfTsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyLmNvbGxhcHNlZCAuY2hldnJvbiB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgfQoKICAgICAgLyogSGlkZSBncm91cCBoZWFkZXJzIHdoZW4gaG9yaXpvbnRhbGx5IGNvbGxhcHNlZCAqLwogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmdyb3VwSGVhZGVyIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG1heC1oZWlnaHQ6IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEdyb3VwIEl0ZW1zIENvbnRhaW5lciAqLwogICAgICAuZ3JvdXBJdGVtcyB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMjVzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlLCBtYXJnaW4gMC4yNXMgZWFzZTsKICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAuZ3JvdXBJdGVtcy5jb2xsYXBzZWQgewogICAgICAgIG1heC1oZWlnaHQ6IDA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAvKiBBbHdheXMgc2hvdyBpdGVtcyB3aGVuIGhvcml6b250YWxseSBjb2xsYXBzZWQgKHJlZ2FyZGxlc3Mgb2YgZ3JvdXAgY29sbGFwc2Ugc3RhdGUpICovCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuZ3JvdXBJdGVtcyB7CiAgICAgICAgbWF4LWhlaWdodDogbm9uZTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAvKiBNZW51IEl0ZW0gQmFzZSAqLwogICAgICAubWVudUl0ZW0gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIG1hcmdpbjogMnB4IDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZyk7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1hY3RpdmUpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubWVudUl0ZW0uc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWN0aXZlKTsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1hY3RpdmUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5zZWxlY3RlZDo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgd2lkdGg6IDNweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1hY2NlbnQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwOwogICAgICB9CgogICAgICAubWVudUl0ZW0gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubWVudUl0ZW0uc2VsZWN0ZWQgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAubWVudUl0ZW0gLml0ZW1MYWJlbCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC8qIEFjdGlvbiBJdGVtIFN0eWxlcyAqLwogICAgICAubWVudUl0ZW0uYWN0aW9uLXByaW1hcnkgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpb24tcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5hY3Rpb24tcHJpbWFyeTpob3ZlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGlvbi1wcmltYXJ5LWhvdmVyKTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgzNywgOTksIDIzNSwgMC4wOCkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xMikiKX07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5hY3Rpb24tcHJpbWFyeSBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5hY3Rpb24tZGFuZ2VyIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aW9uLWRhbmdlcik7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5hY3Rpb24tZGFuZ2VyOmhvdmVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aW9uLWRhbmdlci1ob3Zlcik7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMjIwLCAzOCwgMzgsIDAuMDgpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xMikiKX07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5hY3Rpb24tZGFuZ2VyIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLyogRmlsdGVyIEl0ZW0gU3R5bGVzICovCiAgICAgIC5tZW51SXRlbS5maWx0ZXIgewogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmZpbHRlciAuZmlsdGVyLWNoZWNrYm94IHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHtwLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjNTI1MjUyIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5maWx0ZXIgLmZpbHRlci1jaGVja2JveC5jaGVja2VkIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWFjY2VudCk7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zaWRlYmFyLWFjY2VudCk7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5maWx0ZXIgLmZpbHRlci1jaGVja2JveCBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5maWx0ZXIuYWN0aXZlIHsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1hY3RpdmUpOwogICAgICB9CgogICAgICAvKiBNdWx0aS1GaWx0ZXIgQ29udGFpbmVyICovCiAgICAgIC5tdWx0aUZpbHRlciB7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zaWRlYmFyLWJvcmRlcik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIil9OwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWhvdmVyKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciAubXVsdGlGaWx0ZXItdGl0bGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1hY3RpdmUpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyIC5tdWx0aUZpbHRlci10aXRsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1oZWFkZXIgLm11bHRpRmlsdGVyLWNvdW50IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctbXV0ZWQpOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLWRlZmF1bHQtYmcpOwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyIC5jaGV2cm9uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1oZWFkZXIuY29sbGFwc2VkIC5jaGV2cm9uIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9ucyB7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXNpZGViYXItYm9yZGVyKTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yNXMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbnMuY29sbGFwc2VkIHsKICAgICAgICBtYXgtaGVpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZyk7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb24gLm9wdGlvbi1jaGVja2JveCB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZDRkNGQ0IiwiIzUyNTI1MiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uIC5vcHRpb24tY2hlY2tib3guY2hlY2tlZCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1hY2NlbnQpOwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2lkZWJhci1hY2NlbnQpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uIC5vcHRpb24tY2hlY2tib3ggZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbiBkZWVzLWljb24ub3B0aW9uLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC8qIERpdmlkZXIgKi8KICAgICAgLm1lbnVEaXZpZGVyIHsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWJvcmRlcik7CiAgICAgICAgbWFyZ2luOiA4cHggMTJweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51RGl2aWRlciB7CiAgICAgICAgbWFyZ2luOiA4cHggNHB4OwogICAgICB9CgogICAgICAvKiBIZWFkZXIvTGFiZWwgKi8KICAgICAgLm1lbnVIZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDEycHggMTJweCA0cHggMTJweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1tdXRlZCk7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUhlYWRlciB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogTGluayBJdGVtICovCiAgICAgIC5tZW51SXRlbS5saW5rIC5leHRlcm5hbC1pY29uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICB9CgogICAgICAvKiBDb2xsYXBzZWQgbWVudSBpdGVtIHN0eWxlcyAqLwogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVJdGVtIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgZ2FwOiAwOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVJdGVtIC5pdGVtTGFiZWwgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVJdGVtLnNlbGVjdGVkOjpiZWZvcmUgewogICAgICAgIGxlZnQ6IC00cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW0gLmZpbHRlci1jaGVja2JveCwKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbSAuZXh0ZXJuYWwtaWNvbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tdWx0aUZpbHRlciB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogVG9vbHRpcCBmb3IgY29sbGFwc2VkIHN0YXRlICovCiAgICAgIC5pdGVtLXRvb2x0aXAgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAxMDAlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBtYXJnaW4tbGVmdDogMTJweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b29sdGlwLWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tdG9vbHRpcC1mZyk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgICAgfQoKICAgICAgLml0ZW0tdG9vbHRpcDo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogLTRweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS10b29sdGlwLWJnKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbTpob3ZlciAuaXRlbS10b29sdGlwIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzOwogICAgICB9CgogICAgICAvKiBCYWRnZSBTdHlsZXMgKi8KICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG1pbi13aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMCA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuYmFkZ2UuZGVmYXVsdCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFkZ2UtZGVmYXVsdC1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWJhZGdlLWRlZmF1bHQtZmcpOwogICAgICB9CgogICAgICAuYmFkZ2Uuc3VjY2VzcyB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFkZ2Utc3VjY2Vzcy1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWJhZGdlLXN1Y2Nlc3MtZmcpOwogICAgICB9CgogICAgICAuYmFkZ2Uud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFkZ2Utd2FybmluZy1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWJhZGdlLXdhcm5pbmctZmcpOwogICAgICB9CgogICAgICAuYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLWVycm9yLWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tYmFkZ2UtZXJyb3ItZmcpOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBMZWdhY3kgb3B0aW9ucyBjb250YWluZXIgKi8KICAgICAgLmxlZ2FjeU9wdGlvbnMgewogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICB9CgogICAgICAvKiBEaXZpZGVyIChsZWdhY3kpICovCiAgICAgIC5kaXZpZGVyIHsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWJvcmRlcik7CiAgICAgICAgbWFyZ2luOiA4cHggMTJweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVhZGluZyI+JHt0aGlzLmhlYWRpbmd9PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1lbnVTZWN0aW9uIj4KICAgICAgICAgICR7dGhpcy5ncm91cHMubGVuZ3RoPjA/dGhpcy5yZW5kZXJHcm91cHMoKTp0aGlzLnJlbmRlckxlZ2FjeU9wdGlvbnMoKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxidXR0b24gY2xhc3M9ImNvbGxhcHNlLXRvZ2dsZSIgQGNsaWNrPSIkeygpPT50aGlzLnRvZ2dsZUNvbGxhcHNlKCl9Ij4KICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMuY29sbGFwc2VkPyJsdWNpZGU6Y2hldnJvblJpZ2h0IjoibHVjaWRlOmNoZXZyb25MZWZ0In0iPjwvZGVlcy1pY29uPgogICAgICA8L2J1dHRvbj4KICAgIGB9cmVuZGVyR3JvdXBzKCl7cmV0dXJuIE1gCiAgICAgICR7dGhpcy5ncm91cHMubWFwKFQ9Pk1gCiAgICAgICAgPGRpdiBjbGFzcz0ibWVudUdyb3VwIj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9Imdyb3VwSGVhZGVyICR7dGhpcy5jb2xsYXBzZWRHcm91cHMuaGFzKFQubmFtZSk/ImNvbGxhcHNlZCI6IiJ9IgogICAgICAgICAgICBAY2xpY2s9IiR7KCk9PnRoaXMudG9nZ2xlR3JvdXAoVC5uYW1lKX0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncm91cFRpdGxlIj4KICAgICAgICAgICAgICAke1QuaWNvbk5hbWU/TWA8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihULmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgJHtULm5hbWV9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iY2hldnJvbiIgLmljb249IiR7Imx1Y2lkZTpjaGV2cm9uRG93biJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JvdXBJdGVtcyAke3RoaXMuY29sbGFwc2VkR3JvdXBzLmhhcyhULm5hbWUpPyJjb2xsYXBzZWQiOiIifSI+CiAgICAgICAgICAgICR7VC5pdGVtcy5tYXAoTD0+dGhpcy5yZW5kZXJJdGVtKEwsVCkpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGApfQogICAgYH1yZW5kZXJJdGVtKFQsTCl7aWYoImhpZGRlbiJpbiBUJiZULmhpZGRlbilyZXR1cm4gTWBgO3N3aXRjaCgidHlwZSJpbiBUP1QudHlwZToidGFiIil7Y2FzZSJhY3Rpb24iOnJldHVybiB0aGlzLnJlbmRlckFjdGlvbkl0ZW0oVCk7Y2FzZSJmaWx0ZXIiOnJldHVybiB0aGlzLnJlbmRlckZpbHRlckl0ZW0oVCk7Y2FzZSJtdWx0aUZpbHRlciI6cmV0dXJuIHRoaXMucmVuZGVyTXVsdGlGaWx0ZXJJdGVtKFQpO2Nhc2UiZGl2aWRlciI6cmV0dXJuIHRoaXMucmVuZGVyRGl2aWRlcigpO2Nhc2UiaGVhZGVyIjpyZXR1cm4gdGhpcy5yZW5kZXJIZWFkZXIoVCk7Y2FzZSJsaW5rIjpyZXR1cm4gdGhpcy5yZW5kZXJMaW5rSXRlbShUKTtkZWZhdWx0OnJldHVybiB0aGlzLnJlbmRlclRhYkl0ZW0oVCxMKX19cmVuZGVyVGFiSXRlbShULEwpe2xldCBWPXRoaXMuc2VsZWN0ZWRJdGVtPy5rZXk9PT1ULmtleSxCPVQuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gTWAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSAke1Y/InNlbGVjdGVkIjoiIn0gJHtCPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIEBjbGljaz0iJHsoKT0+IUImJnRoaXMuc2VsZWN0VGFiSXRlbShULEwpfSIKICAgICAgICBAY29udGV4dG1lbnU9IiR7VT0+dGhpcy5oYW5kbGVDb250ZXh0TWVudShVLFQpfSIKICAgICAgPgogICAgICAgICR7VC5pY29uTmFtZT9NYDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKFQuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbUxhYmVsIj4ke1Qua2V5fTwvc3Bhbj4KICAgICAgICAke1QuYmFkZ2UhPT12b2lkIDA/TWAKICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke1QuYmFkZ2VWYXJpYW50fHwiZGVmYXVsdCJ9Ij4ke1QuYmFkZ2V9PC9zcGFuPgogICAgICAgIGA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdG9vbHRpcCI+JHtULmtleX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJBY3Rpb25JdGVtKFQpe2xldCBMPVQudmFyaWFudHx8InByaW1hcnkiLFY9VC5kaXNhYmxlZD09PSEwO3JldHVybiBNYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9Im1lbnVJdGVtIGFjdGlvbi0ke0x9ICR7Vj8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7KCk9PiFWJiZ0aGlzLmhhbmRsZUFjdGlvbkNsaWNrKFQpfSIKICAgICAgPgogICAgICAgICR7VC5pY29uTmFtZT9NYDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKFQuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbUxhYmVsIj4ke1Qua2V5fTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS10b29sdGlwIj4ke1Qua2V5fTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZpbHRlckl0ZW0oVCl7bGV0IEw9VC5kaXNhYmxlZD09PSEwO3JldHVybiBNYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9Im1lbnVJdGVtIGZpbHRlciAke1QuYWN0aXZlPyJhY3RpdmUiOiIifSAke0w/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT4hTCYmdGhpcy5oYW5kbGVGaWx0ZXJUb2dnbGUoVCl9IgogICAgICA+CiAgICAgICAgJHtULmljb25OYW1lP01gPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLm5vcm1hbGl6ZUljb24oVC5pY29uTmFtZSl9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtTGFiZWwiPiR7VC5rZXl9PC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImZpbHRlci1jaGVja2JveCAke1QuYWN0aXZlPyJjaGVja2VkIjoiIn0iPgogICAgICAgICAgJHtULmFjdGl2ZT9NYDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTpjaGVjayJ9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRvb2x0aXAiPiR7VC5rZXl9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTXVsdGlGaWx0ZXJJdGVtKFQpe2xldCBMPXRoaXMuY29sbGFwc2VkTXVsdGlGaWx0ZXJzLmhhcyhULmtleSksVj1ULm9wdGlvbnMuZmlsdGVyKEI9PkIuY2hlY2tlZCkubGVuZ3RoO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJtdWx0aUZpbHRlciI+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9Im11bHRpRmlsdGVyLWhlYWRlciAke0w/ImNvbGxhcHNlZCI6IiJ9IgogICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLnRvZ2dsZU11bHRpRmlsdGVyKFQua2V5KX0iCiAgICAgICAgPgogICAgICAgICAgPHNwYW4gY2xhc3M9Im11bHRpRmlsdGVyLXRpdGxlIj4KICAgICAgICAgICAgJHtULmljb25OYW1lP01gPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLm5vcm1hbGl6ZUljb24oVC5pY29uTmFtZSl9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICAgICAke1Qua2V5fQogICAgICAgICAgPC9zcGFuPgogICAgICAgICAgJHtWPjA/TWA8c3BhbiBjbGFzcz0ibXVsdGlGaWx0ZXItY291bnQiPiR7Vn08L3NwYW4+YDoiIn0KICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImNoZXZyb24iIC5pY29uPSIkeyJsdWNpZGU6Y2hldnJvbkRvd24ifSI+PC9kZWVzLWljb24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibXVsdGlGaWx0ZXItb3B0aW9ucyAke0w/ImNvbGxhcHNlZCI6IiJ9Ij4KICAgICAgICAgICR7VC5vcHRpb25zLm1hcChCPT5NYAogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgY2xhc3M9Im11bHRpRmlsdGVyLW9wdGlvbiIKICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9PnRoaXMuaGFuZGxlTXVsdGlGaWx0ZXJPcHRpb25Ub2dnbGUoVCxCLmtleSl9IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3B0aW9uLWNoZWNrYm94ICR7Qi5jaGVja2VkPyJjaGVja2VkIjoiIn0iPgogICAgICAgICAgICAgICAgJHtCLmNoZWNrZWQ/TWA8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6Y2hlY2sifSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAke0IuaWNvbk5hbWU/TWA8ZGVlcy1pY29uIGNsYXNzPSJvcHRpb24taWNvbiIgLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKEIuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICA8c3Bhbj4ke0IubGFiZWx9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRGl2aWRlcigpe3JldHVybiBNYDxkaXYgY2xhc3M9Im1lbnVEaXZpZGVyIj48L2Rpdj5gfXJlbmRlckhlYWRlcihUKXtyZXR1cm4gTWA8ZGl2IGNsYXNzPSJtZW51SGVhZGVyIj4ke1QubGFiZWx9PC9kaXY+YH1yZW5kZXJMaW5rSXRlbShUKXtsZXQgTD1ULmV4dGVybmFsPz9ULmhyZWYuc3RhcnRzV2l0aCgiaHR0cCIpLFY9VC5kaXNhYmxlZD09PSEwO3JldHVybiBNYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9Im1lbnVJdGVtIGxpbmsgJHtWPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIEBjbGljaz0iJHsoKT0+IVYmJnRoaXMuaGFuZGxlTGlua0NsaWNrKFQpfSIKICAgICAgPgogICAgICAgICR7VC5pY29uTmFtZT9NYDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKFQuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbUxhYmVsIj4ke1Qua2V5fTwvc3Bhbj4KICAgICAgICAke0w/TWA8ZGVlcy1pY29uIGNsYXNzPSJleHRlcm5hbC1pY29uIiAuaWNvbj0iJHsibHVjaWRlOmV4dGVybmFsTGluayJ9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRvb2x0aXAiPiR7VC5rZXl9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTGVnYWN5T3B0aW9ucygpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJsZWdhY3lPcHRpb25zIj4KICAgICAgICAke3RoaXMuc2VsZWN0aW9uT3B0aW9ucy5tYXAoVD0+e2lmKCJkaXZpZGVyImluIFQmJlQuZGl2aWRlcilyZXR1cm4gTWA8ZGl2IGNsYXNzPSJkaXZpZGVyIj48L2Rpdj5gO2xldCBMPVQsVj17a2V5Okwua2V5LGljb25OYW1lOkwuaWNvbk5hbWUsYWN0aW9uOkwuYWN0aW9uLGJhZGdlOkwuYmFkZ2UsYmFkZ2VWYXJpYW50OkwuYmFkZ2VWYXJpYW50fTtyZXR1cm4gdGhpcy5yZW5kZXJUYWJJdGVtKFYpfSl9CiAgICAgIDwvZGl2PgogICAgYH1ub3JtYWxpemVJY29uKFQpe3JldHVybiBULnN0YXJ0c1dpdGgoImx1Y2lkZToiKT9UOmBsdWNpZGU6JHtUfWB9dG9nZ2xlR3JvdXAoVCl7bGV0IEw9bmV3IFNldCh0aGlzLmNvbGxhcHNlZEdyb3Vwcyk7TC5oYXMoVCk/TC5kZWxldGUoVCk6TC5hZGQoVCksdGhpcy5jb2xsYXBzZWRHcm91cHM9TH10b2dnbGVNdWx0aUZpbHRlcihUKXtsZXQgTD1uZXcgU2V0KHRoaXMuY29sbGFwc2VkTXVsdGlGaWx0ZXJzKTtMLmhhcyhUKT9MLmRlbGV0ZShUKTpMLmFkZChUKSx0aGlzLmNvbGxhcHNlZE11bHRpRmlsdGVycz1MfXRvZ2dsZUNvbGxhcHNlKCl7dGhpcy5jb2xsYXBzZWQ9IXRoaXMuY29sbGFwc2VkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbGxhcHNlLWNoYW5nZSIse2RldGFpbDp7Y29sbGFwc2VkOnRoaXMuY29sbGFwc2VkfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXNlbGVjdFRhYkl0ZW0oVCxMKXt0aGlzLnNlbGVjdGVkSXRlbT1ULFQuYWN0aW9uKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaXRlbS1zZWxlY3QiLHtkZXRhaWw6e2l0ZW06VCxncm91cDpMfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWFzeW5jIGhhbmRsZUFjdGlvbkNsaWNrKFQpe1QuY29uZmlybU1lc3NhZ2UmJiF3aW5kb3cuY29uZmlybShULmNvbmZpcm1NZXNzYWdlKXx8KGF3YWl0IFQuYWN0aW9uKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aW9uLWNsaWNrIix7ZGV0YWlsOntpdGVtOlR9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpfWhhbmRsZUZpbHRlclRvZ2dsZShUKXtsZXQgTD0hVC5hY3RpdmU7VC5hY3RpdmU9TCxULm9uVG9nZ2xlKEwpLHRoaXMucmVuZGVyQ291bnRlcisrLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZpbHRlci10b2dnbGUiLHtkZXRhaWw6e2l0ZW06VCxhY3RpdmU6TH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVNdWx0aUZpbHRlck9wdGlvblRvZ2dsZShULEwpe2xldCBWPVQub3B0aW9ucy5maW5kKFU9PlUua2V5PT09TCk7ViYmKFYuY2hlY2tlZD0hVi5jaGVja2VkKTtsZXQgQj1ULm9wdGlvbnMuZmlsdGVyKFU9PlUuY2hlY2tlZCkubWFwKFU9PlUua2V5KTtULm9uQ2hhbmdlKEIpLHRoaXMucmVuZGVyQ291bnRlcisrLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm11bHRpZmlsdGVyLWNoYW5nZSIse2RldGFpbDp7aXRlbTpULHNlbGVjdGVkS2V5czpCfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUxpbmtDbGljayhUKXtULmV4dGVybmFsPz9ULmhyZWYuc3RhcnRzV2l0aCgiaHR0cCIpP3dpbmRvdy5vcGVuKFQuaHJlZiwiX2JsYW5rIiwibm9vcGVuZXIsbm9yZWZlcnJlciIpOndpbmRvdy5sb2NhdGlvbi5ocmVmPVQuaHJlZix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsaW5rLWNsaWNrIix7ZGV0YWlsOntpdGVtOlR9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ29udGV4dE1lbnUoVCxMKXtNci5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhULFt7bmFtZToiVmlldyBkZXRhaWxzIixhY3Rpb246YXN5bmMoKT0+e30saWNvbk5hbWU6Imx1Y2lkZTpleWUifSx7bmFtZToiRWRpdCIsYWN0aW9uOmFzeW5jKCk9Pnt9LGljb25OYW1lOiJsdWNpZGU6cGVuY2lsIn1dKX1hc3luYyBmaXJzdFVwZGF0ZWQoVCl7aWYoYXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKFQpLHRoaXMuZ3JvdXBzLmxlbmd0aD4wKXtsZXQgTD1uZXcgU2V0LFY9bmV3IFNldDtpZih0aGlzLmdyb3Vwcy5mb3JFYWNoKEI9PntCLmNvbGxhcHNlZCYmTC5hZGQoQi5uYW1lKSxCLml0ZW1zLmZvckVhY2goVT0+e2lmKCJ0eXBlImluIFUmJlUudHlwZT09PSJtdWx0aUZpbHRlciIpe2xldCBLPVU7Sy5jb2xsYXBzZWQmJlYuYWRkKEsua2V5KX19KX0pLHRoaXMuY29sbGFwc2VkR3JvdXBzPUwsdGhpcy5jb2xsYXBzZWRNdWx0aUZpbHRlcnM9ViwhdGhpcy5zZWxlY3RlZEl0ZW0pZm9yKGxldCBCIG9mIHRoaXMuZ3JvdXBzKWZvcihsZXQgVSBvZiBCLml0ZW1zKXtsZXQgSz0idHlwZSJpbiBVP1UudHlwZToidGFiIjtpZihLPT09InRhYiJ8fEs9PT12b2lkIDApe2xldCBJPVU7aWYoIUkuZGlzYWJsZWQpe3RoaXMuc2VsZWN0VGFiSXRlbShJLEIpO3JldHVybn19fX1lbHNlIGlmKHRoaXMuc2VsZWN0aW9uT3B0aW9ucy5sZW5ndGg+MCl7bGV0IEw9dGhpcy5zZWxlY3Rpb25PcHRpb25zLmZpbmQoVj0+ISgiZGl2aWRlciJpbiBWKSk7aWYoTCYmIXRoaXMuc2VsZWN0ZWRJdGVtKXtsZXQgVj17a2V5Okwua2V5LGljb25OYW1lOkwuaWNvbk5hbWUsYWN0aW9uOkwuYWN0aW9ufTt0aGlzLnNlbGVjdFRhYkl0ZW0oVil9fX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksSmkodGhpcyx6KX1zdGF0aWN7SmkoYSxyKX19O3JldHVybiBFPWF9KSgpfSk7dmFyIGl1LHFzLHAwbixmMG4sVWNyLFdjcj1mKCgpPT57dWUoKTtZNCgpO2l1PWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0scXM9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LHAwbj0oKCk9PntsZXQgZT1bcmUoImRlbW8tY2xvc2VhYmxlLXRhYnMiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGg9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bc2UoKV0sYz1bc2UoKV0saXUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4idGFicyJpbiBtLGdldDptPT5tLnRhYnMsc2V0OihtLHYpPT57bS50YWJzPXZ9fSxtZXRhZGF0YTpofSxzLG8pLGl1KHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFiQ291bnRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+InRhYkNvdW50ZXIiaW4gbSxnZXQ6bT0+bS50YWJDb3VudGVyLHNldDoobSx2KT0+e20udGFiQ291bnRlcj12fX0sbWV0YWRhdGE6aH0sbCx1KSxpdShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfSNlPXFzKHRoaXMscyxbe2tleToiTWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJNYWluIGNsaWNrZWQiKX1dKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKGgpe3RoaXMuI2U9aH0jdD0ocXModGhpcyxvKSxxcyh0aGlzLGwsMCkpO2dldCB0YWJDb3VudGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRhYkNvdW50ZXIoaCl7dGhpcy4jdD1ofXN0YXRpYyBzdHlsZXM9W0pgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuY29udHJvbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQogICAgICBidXR0b24gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgfQogICAgICAuaW5mbyB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMDIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07YWRkVGFiKCl7dGhpcy50YWJDb3VudGVyKys7bGV0IGg9YERvY3VtZW50ICR7dGhpcy50YWJDb3VudGVyfWA7dGhpcy50YWJzPVsuLi50aGlzLnRhYnMse2tleTpoLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOigpPT5jb25zb2xlLmxvZyhgJHtofSBjbGlja2VkYCksY2xvc2VhYmxlOiEwLG9uQ2xvc2U6KCk9PnRoaXMucmVtb3ZlVGFiKGgpfV19cmVtb3ZlVGFiKGgpe3RoaXMudGFicz10aGlzLnRhYnMuZmlsdGVyKG09Pm0ua2V5IT09aCl9cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAudGFicz0ke3RoaXMudGFic30KICAgICAgICBAdGFiLWNsb3NlPSR7aD0+dGhpcy5yZW1vdmVUYWIoaC5kZXRhaWwudGFiLmtleSl9CiAgICAgID48L2RlZXMtYXBwdWktdGFicz4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9PnRoaXMuYWRkVGFiKCl9PisgQWRkIE5ldyBUYWI8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgIENsaWNrIHRoZSBYIGJ1dHRvbiBvbiB0YWJzIHRvIGNsb3NlIHRoZW0uIFRoZSAiTWFpbiIgdGFiIGlzIG5vdCBjbG9zZWFibGUuCiAgICAgICAgPGJyPkN1cnJlbnQgdGFiczogJHt0aGlzLnRhYnMubGVuZ3RofQogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHFzKHRoaXMsdSl9c3RhdGlje3FzKGEscil9fTtyZXR1cm4gZD1hfSkoKSxmMG49KCgpPT57bGV0IGU9W3JlKCJkZW1vLWF1dG9oaWRlLXRhYnMiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXTt2YXIgdj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bc2UoKV0sYz1bc2UoKV0sZD1bc2UoKV0saXUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4idGFicyJpbiBnLGdldDpnPT5nLnRhYnMsc2V0OihnLHkpPT57Zy50YWJzPXl9fSxtZXRhZGF0YTpifSxzLG8pLGl1KHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b0hpZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJhdXRvSGlkZSJpbiBnLGdldDpnPT5nLmF1dG9IaWRlLHNldDooZyx5KT0+e2cuYXV0b0hpZGU9eX19LG1ldGFkYXRhOmJ9LGwsdSksaXUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aHJlc2hvbGQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJ0aHJlc2hvbGQiaW4gZyxnZXQ6Zz0+Zy50aHJlc2hvbGQsc2V0OihnLHkpPT57Zy50aHJlc2hvbGQ9eX19LG1ldGFkYXRhOmJ9LGgsbSksaXUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCxyKSx2PWE9dC52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX0jZT1xcyh0aGlzLHMsW3trZXk6IlRhYiAxIixpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIlRhYiAxIil9LHtrZXk6IlRhYiAyIixpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIlRhYiAyIil9XSk7Z2V0IHRhYnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGFicyhiKXt0aGlzLiNlPWJ9I3Q9KHFzKHRoaXMsbykscXModGhpcyxsLCEwKSk7Z2V0IGF1dG9IaWRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGF1dG9IaWRlKGIpe3RoaXMuI3Q9Yn0jcj0ocXModGhpcyx1KSxxcyh0aGlzLGgsMSkpO2dldCB0aHJlc2hvbGQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGhyZXNob2xkKGIpe3RoaXMuI3I9Yn1zdGF0aWMgc3R5bGVzPVtKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KICAgICAgLnRhYnMtY29udGFpbmVyIHsKICAgICAgICBtaW4taGVpZ2h0OiA2MHB4OwogICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQogICAgICAudGFicy1jb250YWluZXIgZGVlcy1hcHB1aS10YWJzIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgICAucGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ExYTFhYSIsIiM3MTcxN2EiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQogICAgICAuY29udHJvbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMykiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIGJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgIH0KICAgICAgYnV0dG9uLmRhbmdlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2VmNDQ0NCIsIiNmODcxNzEiKX07CiAgICAgIH0KICAgICAgYnV0dG9uLmRhbmdlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CiAgICAgIC5pbmZvIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgwLDAsMCwwLjAyKSIsInJnYmEoMjU1LDI1NSwyNTUsMC4wMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTt0YWJDb3VudGVyPShxcyh0aGlzLG0pLDIpO2FkZFRhYigpe3RoaXMudGFiQ291bnRlcisrLHRoaXMudGFicz1bLi4udGhpcy50YWJzLHtrZXk6YFRhYiAke3RoaXMudGFiQ291bnRlcn1gLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOigpPT5jb25zb2xlLmxvZyhgVGFiICR7dGhpcy50YWJDb3VudGVyfWApfV19cmVtb3ZlTGFzdFRhYigpe3RoaXMudGFicy5sZW5ndGg+MCYmKHRoaXMudGFicz10aGlzLnRhYnMuc2xpY2UoMCwtMSkpfWNsZWFyVGFicygpe3RoaXMudGFicz1bXX1yZW5kZXIoKXtsZXQgYj10aGlzLmF1dG9IaWRlJiZ0aGlzLnRhYnMubGVuZ3RoPD10aGlzLnRocmVzaG9sZDtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0idGFicy1jb250YWluZXIiPgogICAgICAgICR7Yj9NYDxzcGFuIGNsYXNzPSJwbGFjZWhvbGRlciI+VGFicyBoaWRkZW4gKCR7dGhpcy50YWJzLmxlbmd0aH0gdGFicyDiiaQgdGhyZXNob2xkICR7dGhpcy50aHJlc2hvbGR9KTwvc3Bhbj5gOk1gPGRlZXMtYXBwdWktdGFicwogICAgICAgICAgICAgIC50YWJzPSR7dGhpcy50YWJzfQogICAgICAgICAgICAgIC5hdXRvSGlkZT0ke3RoaXMuYXV0b0hpZGV9CiAgICAgICAgICAgICAgLmF1dG9IaWRlVGhyZXNob2xkPSR7dGhpcy50aHJlc2hvbGR9CiAgICAgICAgICAgID48L2RlZXMtYXBwdWktdGFicz5gfQogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9PnRoaXMuYWRkVGFiKCl9PisgQWRkIFRhYjwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImRhbmdlciIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlTGFzdFRhYigpfT4tIFJlbW92ZSBUYWI8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJkYW5nZXIiIEBjbGljaz0keygpPT50aGlzLmNsZWFyVGFicygpfT5DbGVhciBBbGw8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT57dGhpcy50aHJlc2hvbGQ9MH19PlRocmVzaG9sZDogMDwvYnV0dG9uPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9Pnt0aGlzLnRocmVzaG9sZD0xfX0+VGhyZXNob2xkOiAxPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+e3RoaXMudGhyZXNob2xkPTJ9fT5UaHJlc2hvbGQ6IDI8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgIEF1dG8taGlkZTogJHt0aGlzLmF1dG9IaWRlPyJPTiI6Ik9GRiJ9IHwgVGhyZXNob2xkOiAke3RoaXMudGhyZXNob2xkfSB8IFRhYnM6ICR7dGhpcy50YWJzLmxlbmd0aH0KICAgICAgICA8YnI+VGFicyB3aWxsIGhpZGUgd2hlbiBjb3VudCDiiaQgdGhyZXNob2xkLgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3FzKGEscil9fTtyZXR1cm4gdj1hfSkoKSxVY3I9KCk9PntsZXQgZT1be2tleToiSG9tZSIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJIb21lIGNsaWNrZWQiKX0se2tleToiQW5hbHl0aWNzIERhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpsaW5lQ2hhcnQiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkFuYWx5dGljcyBjbGlja2VkIil9LHtrZXk6IlJlcG9ydHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIlJlcG9ydHMgY2xpY2tlZCIpfSx7a2V5OiJVc2VyIFNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyBjbGlja2VkIil9LHtrZXk6IkhlbHAiLGljb25OYW1lOiJsdWNpZGU6aGVscENpcmNsZSIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiSGVscCBjbGlja2VkIil9XSx0PVt7a2V5OiJQcm9maWxlIixpY29uTmFtZToibHVjaWRlOnVzZXIiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIlByb2ZpbGUgY2xpY2tlZCIpfSx7a2V5OiJTZWN1cml0eSIsaWNvbk5hbWU6Imx1Y2lkZTpzaGllbGQiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIlNlY3VyaXR5IGNsaWNrZWQiKX0se2tleToiTm90aWZpY2F0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTpiZWxsIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJOb3RpZmljYXRpb25zIGNsaWNrZWQiKX0se2tleToiSW50ZWdyYXRpb25zIixpY29uTmFtZToibHVjaWRlOmxpbmsiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkludGVncmF0aW9ucyBjbGlja2VkIil9LHtrZXk6IkFkdmFuY2VkIixpY29uTmFtZToibHVjaWRlOmNvZGUiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkFkdmFuY2VkIGNsaWNrZWQiKX1dLHI9W3trZXk6IkFsbCIsYWN0aW9uOigpPT5jb25zb2xlLmxvZygiQWxsIGNsaWNrZWQiKX0se2tleToiQWN0aXZlIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJBY3RpdmUgY2xpY2tlZCIpfSx7a2V5OiJDb21wbGV0ZWQiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkNvbXBsZXRlZCBjbGlja2VkIil9LHtrZXk6IkFyY2hpdmVkIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJBcmNoaXZlZCBjbGlja2VkIil9XSxhPWk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OyI+CiAgICAgICR7aX0KICAgIDwvZGl2PgogIGA7cmV0dXJuIE1gCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMzJweDsKICAgICAgICBwYWRkaW5nOiA0OHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnR3by1jb2x1bW4gewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMDBweCAxZnI7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SG9yaXpvbnRhbCBUYWJzIHdpdGggQW5pbWF0ZWQgSW5kaWNhdG9yPC9kaXY+CiAgICAgICAgPGRlZXMtYXBwdWktdGFicyAudGFicz0ke2V9PjwvZGVlcy1hcHB1aS10YWJzPgogICAgICAgICR7YSgiU2VsZWN0IGEgdGFiIHRvIHNlZSB0aGUgc21vb3RoIHNsaWRpbmcgYW5pbWF0aW9uIG9mIHRoZSBpbmRpY2F0b3IuIFRoZSBpbmRpY2F0b3IgYXV0b21hdGljYWxseSBhZGp1c3RzIGl0cyB3aWR0aCB0byBtYXRjaCB0aGUgdGFiIGNvbnRlbnQgd2l0aCBtaW5pbWFsIHBhZGRpbmcuIil9CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q2xvc2VhYmxlIFRhYnMgKEJyb3dzZXItc3R5bGUpPC9kaXY+CiAgICAgICAgPGRlbW8tY2xvc2VhYmxlLXRhYnM+PC9kZW1vLWNsb3NlYWJsZS10YWJzPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkF1dG8taGlkZSBUYWJzPC9kaXY+CiAgICAgICAgPGRlbW8tYXV0b2hpZGUtdGFicz48L2RlbW8tYXV0b2hpZGUtdGFicz4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5WZXJ0aWNhbCBUYWJzIExheW91dDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InR3by1jb2x1bW4iPgogICAgICAgICAgPGRlZXMtYXBwdWktdGFicyAudGFiU3R5bGU9JHsidmVydGljYWwifSAudGFicz0ke3R9PjwvZGVlcy1hcHB1aS10YWJzPgogICAgICAgICAgJHthKCJWZXJ0aWNhbCB0YWJzIHdvcmsgZ3JlYXQgZm9yIHNldHRpbmdzIHBhZ2VzIGFuZCBuYXZpZ2F0aW9uIG1lbnVzLiBUaGUgYW5pbWF0ZWQgaW5kaWNhdG9yIHNtb290aGx5IHRyYW5zaXRpb25zIGJldHdlZW4gc2VsZWN0aW9ucy4iKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5XaXRob3V0IEluZGljYXRvcjwvZGl2PgogICAgICAgIDxkZWVzLWFwcHVpLXRhYnMgLnNob3dUYWJJbmRpY2F0b3I9JHshMX0gLnRhYnM9JHtyfT48L2RlZXMtYXBwdWktdGFicz4KICAgICAgICAke2EoIlRhYnMgY2FuIGFsc28gYmUgdXNlZCB3aXRob3V0IHRoZSBhbmltYXRlZCBpbmRpY2F0b3IgYnkgc2V0dGluZyBzaG93VGFiSW5kaWNhdG9yIHRvIGZhbHNlLiIpfQogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGB9fSk7dmFyIERjLEtpLEdjcix4NmU9ZigoKT0+e1k0KCk7dWUoKTtKdCgpO1djcigpO1FlKCk7RGM9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxLaT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sR2NyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1hcHB1aS10YWJzIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W107dmFyIEU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBUPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6QXJyYXl9KV0sYz1bRih7dHlwZTpPYmplY3R9KV0sZD1bRih7dHlwZTpCb29sZWFufSldLHY9W0Yoe3R5cGU6U3RyaW5nfSldLHk9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxSPVtGKHt0eXBlOk51bWJlcn0pXSxPPVtzZSgpXSxxPVtzZSgpXSxEYyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJ0YWJzImluIEwsZ2V0Okw9PkwudGFicyxzZXQ6KEwsVik9PntMLnRhYnM9Vn19LG1ldGFkYXRhOlR9LHMsbyksRGModGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6TD0+InNlbGVjdGVkVGFiImluIEwsZ2V0Okw9Pkwuc2VsZWN0ZWRUYWIsc2V0OihMLFYpPT57TC5zZWxlY3RlZFRhYj1WfX0sbWV0YWRhdGE6VH0sbCx1KSxEYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUYWJJbmRpY2F0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJzaG93VGFiSW5kaWNhdG9yImluIEwsZ2V0Okw9Pkwuc2hvd1RhYkluZGljYXRvcixzZXQ6KEwsVik9PntMLnNob3dUYWJJbmRpY2F0b3I9Vn19LG1ldGFkYXRhOlR9LGgsbSksRGModGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJTdHlsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6TD0+InRhYlN0eWxlImluIEwsZ2V0Okw9PkwudGFiU3R5bGUsc2V0OihMLFYpPT57TC50YWJTdHlsZT1WfX0sbWV0YWRhdGE6VH0sYixnKSxEYyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9IaWRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4iYXV0b0hpZGUiaW4gTCxnZXQ6TD0+TC5hdXRvSGlkZSxzZXQ6KEwsVik9PntMLmF1dG9IaWRlPVZ9fSxtZXRhZGF0YTpUfSx3LGspLERjKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b0hpZGVUaHJlc2hvbGQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJhdXRvSGlkZVRocmVzaG9sZCJpbiBMLGdldDpMPT5MLmF1dG9IaWRlVGhyZXNob2xkLHNldDooTCxWKT0+e0wuYXV0b0hpZGVUaHJlc2hvbGQ9Vn19LG1ldGFkYXRhOlR9LEMsUyksRGModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjYW5TY3JvbGxMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4iY2FuU2Nyb2xsTGVmdCJpbiBMLGdldDpMPT5MLmNhblNjcm9sbExlZnQsc2V0OihMLFYpPT57TC5jYW5TY3JvbGxMZWZ0PVZ9fSxtZXRhZGF0YTpUfSxELE4pLERjKHRoaXMsbnVsbCxxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2FuU2Nyb2xsUmlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJjYW5TY3JvbGxSaWdodCJpbiBMLGdldDpMPT5MLmNhblNjcm9sbFJpZ2h0LHNldDooTCxWKT0+e0wuY2FuU2Nyb2xsUmlnaHQ9Vn19LG1ldGFkYXRhOlR9LF8seiksRGMobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6VH0sbnVsbCxyKSxFPWE9dC52YWx1ZSxUJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlR9KX1zdGF0aWMgZGVtbz1VY3I7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTsjZT1LaSh0aGlzLHMsW10pO2dldCB0YWJzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRhYnMoVCl7dGhpcy4jZT1UfSN0PShLaSh0aGlzLG8pLEtpKHRoaXMsbCxudWxsKSk7Z2V0IHNlbGVjdGVkVGFiKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkVGFiKFQpe3RoaXMuI3Q9VH0jcj0oS2kodGhpcyx1KSxLaSh0aGlzLGgsITApKTtnZXQgc2hvd1RhYkluZGljYXRvcigpe3JldHVybiB0aGlzLiNyfXNldCBzaG93VGFiSW5kaWNhdG9yKFQpe3RoaXMuI3I9VH0jYT0oS2kodGhpcyxtKSxLaSh0aGlzLGIsImhvcml6b250YWwiKSk7Z2V0IHRhYlN0eWxlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHRhYlN0eWxlKFQpe3RoaXMuI2E9VH0jaT0oS2kodGhpcyxnKSxLaSh0aGlzLHcsITEpKTtnZXQgYXV0b0hpZGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYXV0b0hpZGUoVCl7dGhpcy4jaT1UfSNuPShLaSh0aGlzLGspLEtpKHRoaXMsQywwKSk7Z2V0IGF1dG9IaWRlVGhyZXNob2xkKCl7cmV0dXJuIHRoaXMuI259c2V0IGF1dG9IaWRlVGhyZXNob2xkKFQpe3RoaXMuI249VH0jcz0oS2kodGhpcyxTKSxLaSh0aGlzLEQsITEpKTtnZXQgY2FuU2Nyb2xsTGVmdCgpe3JldHVybiB0aGlzLiNzfXNldCBjYW5TY3JvbGxMZWZ0KFQpe3RoaXMuI3M9VH0jbz0oS2kodGhpcyxOKSxLaSh0aGlzLF8sITEpKTtnZXQgY2FuU2Nyb2xsUmlnaHQoKXtyZXR1cm4gdGhpcy4jb31zZXQgY2FuU2Nyb2xsUmlnaHQoVCl7dGhpcy4jbz1UfXJlc2l6ZU9ic2VydmVyPShLaSh0aGlzLHopLG51bGwpO3N0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudGFicy13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAudGFicy13cmFwcGVyLmhvcml6b250YWwtd3JhcHBlciB7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAvKiBTY3JvbGwgZmFkZSBpbmRpY2F0b3JzICovCiAgICAgIC5zY3JvbGwtZmFkZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDFweDsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAuc2Nyb2xsLWZhZGUtbGVmdCB7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsCiAgICAgICAgICAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxNjE2MTYiKX0gMCUsCiAgICAgICAgICAke3AuYmRUaGVtZSgicmdiYSgyNTUsMjU1LDI1NSwwKSIsInJnYmEoMjIsMjIsMjIsMCkiKX0gMTAwJSk7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtZmFkZS1yaWdodCB7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsCiAgICAgICAgICAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxNjE2MTYiKX0gMCUsCiAgICAgICAgICAke3AuYmRUaGVtZSgicmdiYSgyNTUsMjU1LDI1NSwwKSIsInJnYmEoMjIsMjIsMjIsMCkiKX0gMTAwJSk7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtZmFkZS52aXNpYmxlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKICAgICAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC8qIFNob3cgc2Nyb2xsYmFyIG9uIGhvdmVyICovCiAgICAgIC50YWJzLXdyYXBwZXI6aG92ZXIgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbCB7CiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiAke3AuYmRUaGVtZSgicmdiYSgwLDAsMCwwLjIpIiwicmdiYSgyNTUsMjU1LDI1NSwwLjIpIil9IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgIH0KCiAgICAgIC50YWJzQ29udGFpbmVyLmhvcml6b250YWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlcjpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4yKSIsInJnYmEoMjU1LDI1NSwyNTUsMC4yKSIpfTsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlcjpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4zNSkiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMzUpIil9OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lci52ZXJ0aWNhbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIH0KCiAgICAgIC50YWIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiAyOwogICAgICB9CgogICAgICAuaG9yaXpvbnRhbCAudGFiIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwgLnRhYjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAtMnB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiIC50YWItY29udGVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsIC50YWIgewogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMykiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsIC50YWI6aG92ZXI6OmFmdGVyLAogICAgICAuaG9yaXpvbnRhbCAudGFiOmhvdmVyICsgLnRhYjo6YWZ0ZXIgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KCiAgICAgIC52ZXJ0aWNhbCAudGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgyNDQsIDI0NCwgMjQ1LCAwLjUpIiwicmdiYSgzOSwgMzksIDQyLCAwLjUpIil9OwogICAgICB9CgogICAgICAuaG9yaXpvbnRhbCAudGFiLnNlbGVjdGVkVGFiIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiLnNlbGVjdGVkVGFiOjphZnRlciwKICAgICAgLmhvcml6b250YWwgLnRhYi5zZWxlY3RlZFRhYiArIC50YWI6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAudmVydGljYWwgLnRhYi5zZWxlY3RlZFRhYiB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLnRhYkluZGljYXRvciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQogICAgICAKICAgICAgLnRhYkluZGljYXRvci5uby10cmFuc2l0aW9uIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CgogICAgICAudGFicy13cmFwcGVyIC50YWJJbmRpY2F0b3IgewogICAgICAgIGhlaWdodDogM3B4OwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7CiAgICAgICAgei1pbmRleDogMzsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsLXdyYXBwZXIgLnRhYkluZGljYXRvciB7CiAgICAgICAgbGVmdDogOHB4OwogICAgICAgIHJpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzI3MjcyYSIpfTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpOwogICAgICB9CgogICAgICAvKiBDbG9zZSBidXR0b24gKi8KICAgICAgLnRhYi1jbG9zZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIGJhY2tncm91bmQgMC4xNXM7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciAudGFiLWNsb3NlIHsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC50YWItY2xvc2U6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4xKSIsInJnYmEoMjU1LDI1NSwyNTUsMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiIC50YWItY2xvc2UgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYjpob3ZlciAudGFiLWNsb3NlIHsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWIgLnRhYi1jbG9zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuYXV0b0hpZGUmJnRoaXMudGFicy5sZW5ndGg8PXRoaXMuYXV0b0hpZGVUaHJlc2hvbGQ/TWBgOk1gCiAgICAgICR7dGhpcy5yZW5kZXJUYWJzV3JhcHBlcigpfQogICAgYH1yZW5kZXJUYWJzV3JhcHBlcigpe2xldCBUPXRoaXMudGFiU3R5bGU9PT0iaG9yaXpvbnRhbCIsTD1UPyJ0YWJzLXdyYXBwZXIgaG9yaXpvbnRhbC13cmFwcGVyIjoidmVydGljYWwtd3JhcHBlciIsVj1gdGFic0NvbnRhaW5lciAke3RoaXMudGFiU3R5bGV9YDtyZXR1cm4gVD9NYAogICAgICAgIDxkaXYgY2xhc3M9IiR7TH0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsLWZhZGUgc2Nyb2xsLWZhZGUtbGVmdCAke3RoaXMuY2FuU2Nyb2xsTGVmdD8idmlzaWJsZSI6IiJ9Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9IiR7Vn0iIEBzY3JvbGw9JHt0aGlzLmhhbmRsZVNjcm9sbH0+CiAgICAgICAgICAgICR7dGhpcy50YWJzLm1hcChCPT50aGlzLnJlbmRlclRhYihCLFQpKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsLWZhZGUgc2Nyb2xsLWZhZGUtcmlnaHQgJHt0aGlzLmNhblNjcm9sbFJpZ2h0PyJ2aXNpYmxlIjoiIn0iPjwvZGl2PgogICAgICAgICAgJHt0aGlzLnNob3dUYWJJbmRpY2F0b3I/TWA8ZGl2IGNsYXNzPSJ0YWJJbmRpY2F0b3IiPjwvZGl2PmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6TWAKICAgICAgPGRpdiBjbGFzcz0iJHtMfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iJHtWfSI+CiAgICAgICAgICAke3RoaXMudGFicy5tYXAoQj0+dGhpcy5yZW5kZXJUYWIoQixUKSl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnNob3dUYWJJbmRpY2F0b3I/TWA8ZGl2IGNsYXNzPSJ0YWJJbmRpY2F0b3IiPjwvZGl2PmA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJUYWIoVCxMKXtsZXQgQj1gdGFiICR7VD09PXRoaXMuc2VsZWN0ZWRUYWI/InNlbGVjdGVkVGFiIjoiIn1gLFU9VC5jbG9zZWFibGU/TWAKICAgICAgPHNwYW4gY2xhc3M9InRhYi1jbG9zZSIgQGNsaWNrPSIke0k9PnRoaXMuY2xvc2VUYWIoSSxUKX0iPgogICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyI+PC9kZWVzLWljb24+CiAgICAgIDwvc3Bhbj4KICAgIGA6IiIsSz1MP01gCiAgICAgIDxzcGFuIGNsYXNzPSJ0YWItY29udGVudCI+CiAgICAgICAgJHt0aGlzLnJlbmRlclRhYkljb24oVCl9CiAgICAgICAgJHtULmtleX0KICAgICAgPC9zcGFuPgogICAgICAke1V9CiAgICBgOk1gCiAgICAgICR7dGhpcy5yZW5kZXJUYWJJY29uKFQpfQogICAgICAke1Qua2V5fQogICAgICAke1V9CiAgICBgO3JldHVybiBNYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9IiR7Qn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLnNlbGVjdFRhYihUKX0iCiAgICAgID4KICAgICAgICAke0t9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJUYWJJY29uKFQpe3JldHVybiBULmljb25OYW1lP01gPGRlZXMtaWNvbiAuaWNvbj0ke1QuaWNvbk5hbWV9PjwvZGVlcy1pY29uPmA6IiJ9c2VsZWN0VGFiKFQpe3RoaXMuc2VsZWN0ZWRUYWI9VCxULmFjdGlvbigpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuc2Nyb2xsVGFiSW50b1ZpZXcoVCl9KSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOnt0YWI6VH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jbG9zZVRhYihULEwpe1Quc3RvcFByb3BhZ2F0aW9uKCksTC5vbkNsb3NlJiZMLm9uQ2xvc2UoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY2xvc2UiLHtkZXRhaWw6e3RhYjpMfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWZpcnN0VXBkYXRlZCgpe3RoaXMudGFicyYmdGhpcy50YWJzLmxlbmd0aD4wJiZ0aGlzLnNlbGVjdFRhYih0aGlzLnRhYnNbMF0pLHRoaXMuc2V0dXBSZXNpemVPYnNlcnZlcigpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMudXBkYXRlU2Nyb2xsU3RhdGUoKX0pfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlc2l6ZU9ic2VydmVyJiYodGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5yZXNpemVPYnNlcnZlcj1udWxsKX1zZXR1cFJlc2l6ZU9ic2VydmVyKCl7aWYodGhpcy50YWJTdHlsZSE9PSJob3Jpem9udGFsIilyZXR1cm47dGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlKCl9KTtsZXQgVD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJzQ29udGFpbmVyLmhvcml6b250YWwiKTtUJiZ0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoVCl9aGFuZGxlU2Nyb2xsPSgpPT57dGhpcy51cGRhdGVTY3JvbGxTdGF0ZSgpfTt1cGRhdGVTY3JvbGxTdGF0ZSgpe2xldCBUPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbCIpO2lmKCFUKXJldHVybjtsZXQgTD1ULnNjcm9sbExlZnQsVj1ULnNjcm9sbFdpZHRoLEI9VC5jbGllbnRXaWR0aCxVPTI7dGhpcy5jYW5TY3JvbGxMZWZ0PUw+VSx0aGlzLmNhblNjcm9sbFJpZ2h0PUw8Vi1CLVV9c2Nyb2xsVGFiSW50b1ZpZXcoVCl7aWYodGhpcy50YWJTdHlsZSE9PSJob3Jpem9udGFsIilyZXR1cm47bGV0IEw9dGhpcy50YWJzLmluZGV4T2YoVCk7aWYoTD09PS0xKXJldHVybjtsZXQgVj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJzQ29udGFpbmVyLmhvcml6b250YWwiKSxCPVY/LnF1ZXJ5U2VsZWN0b3IoYC50YWI6bnRoLWNoaWxkKCR7TCsxfSlgKTtpZihCJiZWKXtsZXQgVT1WLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEs9Qi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtLLmxlZnQ+PVUubGVmdCYmSy5yaWdodDw9VS5yaWdodHx8Qi5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6InNtb290aCIsYmxvY2s6Im5lYXJlc3QiLGlubGluZToibmVhcmVzdCJ9KX19YXN5bmMgdXBkYXRlZChUKXtzdXBlci51cGRhdGVkKFQpLFQuaGFzKCJ0YWJzIikmJnRoaXMudGFicyYmdGhpcy50YWJzLmxlbmd0aD4wJiYhdGhpcy5zZWxlY3RlZFRhYiYmdGhpcy5zZWxlY3RUYWIodGhpcy50YWJzWzBdKSwoVC5oYXMoInNlbGVjdGVkVGFiIil8fFQuaGFzKCJ0YWJzIikpJiYoYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSwhdGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZCYmZG9jdW1lbnQuZm9udHMmJmF3YWl0IGRvY3VtZW50LmZvbnRzLnJlYWR5LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMudXBkYXRlVGFiSW5kaWNhdG9yKCksdGhpcy51cGRhdGVTY3JvbGxTdGF0ZSgpfSkpfWluZGljYXRvckluaXRpYWxpemVkPSExO3VwZGF0ZVRhYkluZGljYXRvcigpe2lmKCF0aGlzLnNob3VsZFNob3dJbmRpY2F0b3IoKSlyZXR1cm47bGV0IFQ9dGhpcy5nZXRTZWxlY3RlZFRhYkVsZW1lbnQoKTtpZighVClyZXR1cm47bGV0IEw9dGhpcy5nZXRJbmRpY2F0b3JFbGVtZW50KCk7TCYmKHRoaXMuaGFuZGxlSW5pdGlhbFRyYW5zaXRpb24oTCksdGhpcy50YWJTdHlsZT09PSJob3Jpem9udGFsIj90aGlzLnVwZGF0ZUhvcml6b250YWxJbmRpY2F0b3IoTCxUKTp0aGlzLnVwZGF0ZVZlcnRpY2FsSW5kaWNhdG9yKEwsVCksTC5zdHlsZS5vcGFjaXR5PSIxIil9c2hvdWxkU2hvd0luZGljYXRvcigpe3JldHVybiB0aGlzLnNlbGVjdGVkVGFiJiZ0aGlzLnNob3dUYWJJbmRpY2F0b3ImJnRoaXMudGFicy5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkVGFiKX1nZXRTZWxlY3RlZFRhYkVsZW1lbnQoKXtsZXQgVD10aGlzLnRhYnMuaW5kZXhPZih0aGlzLnNlbGVjdGVkVGFiKSxWPXRoaXMudGFiU3R5bGU9PT0iaG9yaXpvbnRhbCI/YC50YWJzLXdyYXBwZXIgLnRhYnNDb250YWluZXIgLnRhYjpudGgtY2hpbGQoJHtUKzF9KWA6YC52ZXJ0aWNhbC13cmFwcGVyIC50YWJzQ29udGFpbmVyIC50YWI6bnRoLWNoaWxkKCR7VCsxfSlgO3JldHVybiB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihWKX1nZXRJbmRpY2F0b3JFbGVtZW50KCl7cmV0dXJuIHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIudGFiSW5kaWNhdG9yIil9aGFuZGxlSW5pdGlhbFRyYW5zaXRpb24oVCl7dGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZHx8KFQuY2xhc3NMaXN0LmFkZCgibm8tdHJhbnNpdGlvbiIpLHRoaXMuaW5kaWNhdG9ySW5pdGlhbGl6ZWQ9ITAsc2V0VGltZW91dCgoKT0+e1QuY2xhc3NMaXN0LnJlbW92ZSgibm8tdHJhbnNpdGlvbiIpfSw1MCkpfXVwZGF0ZUhvcml6b250YWxJbmRpY2F0b3IoVCxMKXtsZXQgVj1MLnF1ZXJ5U2VsZWN0b3IoIi50YWItY29udGVudCIpO2lmKCFWKXJldHVybjtsZXQgQj1ULnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksVT1WLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEs9VS5sZWZ0LUIubGVmdCxJPVUud2lkdGgrOCx2ZT1LLTQ7VC5zdHlsZS53aWR0aD1gJHtJfXB4YCxULnN0eWxlLmxlZnQ9YCR7dmV9cHhgfXVwZGF0ZVZlcnRpY2FsSW5kaWNhdG9yKFQsTCl7bGV0IFY9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi52ZXJ0aWNhbC13cmFwcGVyIC50YWJzQ29udGFpbmVyIik7ViYmKFQuc3R5bGUudG9wPWAke0wub2Zmc2V0VG9wK1Yub2Zmc2V0VG9wfXB4YCxULnN0eWxlLmhlaWdodD1gJHtMLmNsaWVudEhlaWdodH1weGApfXN0YXRpY3tLaShhLHIpfX07cmV0dXJuIEU9YX0pKCl9KTt2YXIgVGYsT28sWWNyLHk2ZT1mKCgpPT57WTQoKTt1ZSgpO0p0KCk7eDZlKCk7UWUoKTtUZj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LE9vPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxZY3I9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWFwcHVpLW1haW5jb250ZW50IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W107dmFyIFI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBDPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6QXJyYXl9KV0sYz1bRih7dHlwZTpPYmplY3R9KV0sZD1bRih7dHlwZTpCb29sZWFufSldLHY9W0Yoe3R5cGU6Qm9vbGVhbn0pXSx5PVtGKHt0eXBlOk51bWJlcn0pXSxUZih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJ0YWJzImluIFMsZ2V0OlM9PlMudGFicyxzZXQ6KFMsTyk9PntTLnRhYnM9T319LG1ldGFkYXRhOkN9LHMsbyksVGYodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+InNlbGVjdGVkVGFiImluIFMsZ2V0OlM9PlMuc2VsZWN0ZWRUYWIsc2V0OihTLE8pPT57Uy5zZWxlY3RlZFRhYj1PfX0sbWV0YWRhdGE6Q30sbCx1KSxUZih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4ic2hvd1RhYnMiaW4gUyxnZXQ6Uz0+Uy5zaG93VGFicyxzZXQ6KFMsTyk9PntTLnNob3dUYWJzPU99fSxtZXRhZGF0YTpDfSxoLG0pLFRmKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFic0F1dG9IaWRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4idGFic0F1dG9IaWRlImluIFMsZ2V0OlM9PlMudGFic0F1dG9IaWRlLHNldDooUyxPKT0+e1MudGFic0F1dG9IaWRlPU99fSxtZXRhZGF0YTpDfSxiLGcpLFRmKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFic0F1dG9IaWRlVGhyZXNob2xkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4idGFic0F1dG9IaWRlVGhyZXNob2xkImluIFMsZ2V0OlM9PlMudGFic0F1dG9IaWRlVGhyZXNob2xkLHNldDooUyxPKT0+e1MudGFic0F1dG9IaWRlVGhyZXNob2xkPU99fSxtZXRhZGF0YTpDfSx3LGspLFRmKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOkN9LG51bGwsciksUj1hPXQudmFsdWUsQyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpDfSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGVlcy1hcHB1aS1tYWluY29udGVudAogICAgICAudGFicz0ke1t7a2V5OiJPdmVydmlldyIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246KCk9PmNvbnNvbGUubG9nKCJPdmVydmlldyIpfSx7a2V5OiJEZXRhaWxzIixpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIkRldGFpbHMiKX0se2tleToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGFjdGlvbjooKT0+Y29uc29sZS5sb2coIlNldHRpbmdzIil9XX0KICAgID4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBzdHlsZT0icGFkZGluZzogNDBweDsgY29sb3I6ICNjY2M7Ij4KICAgICAgICA8aDE+TWFpbiBDb250ZW50IEFyZWE8L2gxPgogICAgICAgIDxwPlRoaXMgaXMgd2hlcmUgeW91ciBhcHBsaWNhdGlvbiBjb250ZW50IGdvZXMuPC9wPgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1hcHB1aS1tYWluY29udGVudD4KICBgO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9T28odGhpcyxzLFt7a2V5OiJcdTI2QTBcdUZFMEYgUGxlYXNlIHNldCB0YWJzIixhY3Rpb246KCk9PmNvbnNvbGUud2FybigiTm8gdGFicyBjb25maWd1cmVkIGZvciBtYWluY29udGVudCIpfV0pO2dldCB0YWJzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRhYnMoQyl7dGhpcy4jZT1DfSN0PShPbyh0aGlzLG8pLE9vKHRoaXMsbCxudWxsKSk7Z2V0IHNlbGVjdGVkVGFiKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkVGFiKEMpe3RoaXMuI3Q9Q30jcj0oT28odGhpcyx1KSxPbyh0aGlzLGgsITApKTtnZXQgc2hvd1RhYnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd1RhYnMoQyl7dGhpcy4jcj1DfSNhPShPbyh0aGlzLG0pLE9vKHRoaXMsYiwhMSkpO2dldCB0YWJzQXV0b0hpZGUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdGFic0F1dG9IaWRlKEMpe3RoaXMuI2E9Q30jaT0oT28odGhpcyxnKSxPbyh0aGlzLHcsMCkpO2dldCB0YWJzQXV0b0hpZGVUaHJlc2hvbGQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdGFic0F1dG9IaWRlVGhyZXNob2xkKEMpe3RoaXMuI2k9Q31zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxNjE2MTYiKX07CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQoKICAgICAgLnRvcGJhciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b3BiYXIgPiAqIHsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuY29udGVudC1hcmVhIHsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIH0KCiAgICAgIDpob3N0KFtub3RhYnNdKSAudG9wYmFyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRvcGJhciI+CiAgICAgICAgICA8ZGVlcy1hcHB1aS10YWJzCiAgICAgICAgICAgIC50YWJzPSR7dGhpcy50YWJzfQogICAgICAgICAgICAuc2VsZWN0ZWRUYWI9JHt0aGlzLnNlbGVjdGVkVGFifQogICAgICAgICAgICAuc2hvd1RhYkluZGljYXRvcj0keyEwfQogICAgICAgICAgICAudGFiU3R5bGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5hdXRvSGlkZT0ke3RoaXMudGFic0F1dG9IaWRlfQogICAgICAgICAgICAuYXV0b0hpZGVUaHJlc2hvbGQ9JHt0aGlzLnRhYnNBdXRvSGlkZVRocmVzaG9sZH0KICAgICAgICAgICAgQHRhYi1zZWxlY3Q9JHtDPT50aGlzLmhhbmRsZVRhYlNlbGVjdChDKX0KICAgICAgICAgICAgQHRhYi1jbG9zZT0ke0M9PnRoaXMuaGFuZGxlVGFiQ2xvc2UoQyl9CiAgICAgICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudC1hcmVhIj4KICAgICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgICAgIDxzbG90IG5hbWU9ImNvbnRlbnQiPjwvc2xvdD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVRhYlNlbGVjdChDKXt0aGlzLnNlbGVjdGVkVGFiPUMuZGV0YWlsLnRhYix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOkMuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlVGFiQ2xvc2UoQyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNsb3NlIix7ZGV0YWlsOkMuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9dXBkYXRlZChDKXtzdXBlci51cGRhdGVkKEMpLEMuaGFzKCJzaG93VGFicyIpJiYodGhpcy5zaG93VGFicz90aGlzLnJlbW92ZUF0dHJpYnV0ZSgibm90YWJzIik6dGhpcy5zZXRBdHRyaWJ1dGUoIm5vdGFicyIsIiIpKX1hc3luYyBmaXJzdFVwZGF0ZWQoQyl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKEMpLHRoaXMuc2hvd1RhYnN8fHRoaXMuc2V0QXR0cmlidXRlKCJub3RhYnMiLCIiKTtsZXQgUz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS10YWJzIik7UyYmYXdhaXQgUy51cGRhdGVDb21wbGV0ZX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksT28odGhpcyxrKX1zdGF0aWN7T28oYSxyKX19O3JldHVybiBSPWF9KSgpfSk7dmFyIG5yLFhlLFpjcixYY3I9ZigoKT0+e3VlKCk7SnQoKTtZNCgpO09jcigpO1FlKCk7ZzZlKCk7QmRlKCk7cWRlKCk7YjZlKCk7djZlKCk7eTZlKCk7UGRlKCk7bnI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxYZT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sWmNyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1hcHB1aSIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdLHEsXz1bXSx6PVtdLEUsVD1bXSxMPVtdLFYsQj1bXSxVPVtdLEssST1bXSx2ZT1bXSxNZSxQPVtdLGxlPVtdLFNlLFo9W10sQT1bXSwkLGo9W10sSD1bXSxZLGRlPVtdLHdlPVtdLExlLEc9W10sVz1bXSxhZSx5ZT1bXSxtZT1bXSxDZSxiZT1bXSxuZT1bXSx6ZSxJZT1bXSxaZT1bXSx0ZSxYPVtdLGVlPVtdLHhlLEFlPVtdLFVlPVtdLGt0LHJ0PVtdLCR0PVtdLFV0LG9lPVtdLGNlPVtdLF9lLHZ0PVtdLHp0PVtdLFpyLGgxPVtdLFFzPVtdLEpzLGtlPVtdLEVlPVtdLEJ0LE9yPVtdLFFyPVtdLGxhLEpyPVtdLEtzPVtdLGVvLHRvPVtdLEdmPVtdLFlmLFRlPVtdLGdlPVtdLEJlLFJhPVtdLHh0PVtdLEtyLEJuPVtdLGZ0PVtdLFhhLEhuPVtdLHJvPVtdLFpmLE92PVtdLFhmPVtdLFJ2LG5wZT1bXSxzcGU9W107dmFyIG9wZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IFE9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpBcnJheX0pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKHt0eXBlOlN0cmluZ30pXSx2PVtGKHt0eXBlOkJvb2xlYW59KV0seT1bRih7dHlwZTpPYmplY3R9KV0sUj1bRih7dHlwZTpBcnJheX0pXSxPPVtGKHt0eXBlOkJvb2xlYW59KV0scT1bRih7dHlwZTpTdHJpbmd9KV0sRT1bRih7dHlwZTpTdHJpbmd9KV0sVj1bRih7dHlwZTpBcnJheX0pXSxLPVtGKHt0eXBlOkFycmF5fSldLE1lPVtGKHt0eXBlOkFycmF5fSldLFNlPVtGKHt0eXBlOk9iamVjdH0pXSwkPVtGKHt0eXBlOlN0cmluZ30pXSxZPVtGKHt0eXBlOkFycmF5fSldLExlPVtGKHt0eXBlOk9iamVjdH0pXSxhZT1bRih7dHlwZTpCb29sZWFufSldLENlPVtGKHt0eXBlOkJvb2xlYW59KV0semU9W0Yoe3R5cGU6Qm9vbGVhbn0pXSx0ZT1bRih7dHlwZTpCb29sZWFufSldLHhlPVtGKHt0eXBlOkJvb2xlYW59KV0sa3Q9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxVdD1bRih7dHlwZTpOdW1iZXJ9KV0sX2U9W3NlKCldLFpyPVtzZSgpXSxKcz1bRih7dHlwZTpBcnJheX0pXSxCdD1bRih7dHlwZTpPYmplY3R9KV0sbGE9W3NlKCldLGVvPVtzZSgpXSxZZj1bc2UoKV0sQmU9W3NlKCldLEtyPVtzZSgpXSxYYT1bc2UoKV0sWmY9W3NlKCldLFJ2PVtzZSgpXSxucih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhck1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJhcHBiYXJNZW51SXRlbXMiaW4gaWUsZ2V0OmllPT5pZS5hcHBiYXJNZW51SXRlbXMsc2V0OihpZSwkZSk9PntpZS5hcHBiYXJNZW51SXRlbXM9JGV9fSxtZXRhZGF0YTpRfSxzLG8pLG5yKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyQnJlYWRjcnVtYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4iYXBwYmFyQnJlYWRjcnVtYnMiaW4gaWUsZ2V0OmllPT5pZS5hcHBiYXJCcmVhZGNydW1icyxzZXQ6KGllLCRlKT0+e2llLmFwcGJhckJyZWFkY3J1bWJzPSRlfX0sbWV0YWRhdGE6UX0sbCx1KSxucih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4iYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvciJpbiBpZSxnZXQ6aWU9PmllLmFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3Isc2V0OihpZSwkZSk9PntpZS5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yPSRlfX0sbWV0YWRhdGE6UX0saCxtKSxucih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhclNob3dXaW5kb3dDb250cm9scyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJhcHBiYXJTaG93V2luZG93Q29udHJvbHMiaW4gaWUsZ2V0OmllPT5pZS5hcHBiYXJTaG93V2luZG93Q29udHJvbHMsc2V0OihpZSwkZSk9PntpZS5hcHBiYXJTaG93V2luZG93Q29udHJvbHM9JGV9fSxtZXRhZGF0YTpRfSxiLGcpLG5yKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyVXNlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJhcHBiYXJVc2VyImluIGllLGdldDppZT0+aWUuYXBwYmFyVXNlcixzZXQ6KGllLCRlKT0+e2llLmFwcGJhclVzZXI9JGV9fSxtZXRhZGF0YTpRfSx3LGspLG5yKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyUHJvZmlsZU1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJhcHBiYXJQcm9maWxlTWVudUl0ZW1zImluIGllLGdldDppZT0+aWUuYXBwYmFyUHJvZmlsZU1lbnVJdGVtcyxzZXQ6KGllLCRlKT0+e2llLmFwcGJhclByb2ZpbGVNZW51SXRlbXM9JGV9fSxtZXRhZGF0YTpRfSxDLFMpLG5yKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyU2hvd1NlYXJjaCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJhcHBiYXJTaG93U2VhcmNoImluIGllLGdldDppZT0+aWUuYXBwYmFyU2hvd1NlYXJjaCxzZXQ6KGllLCRlKT0+e2llLmFwcGJhclNob3dTZWFyY2g9JGV9fSxtZXRhZGF0YTpRfSxELE4pLG5yKHRoaXMsbnVsbCxxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVMb2dvSWNvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJtYWlubWVudUxvZ29JY29uImluIGllLGdldDppZT0+aWUubWFpbm1lbnVMb2dvSWNvbixzZXQ6KGllLCRlKT0+e2llLm1haW5tZW51TG9nb0ljb249JGV9fSxtZXRhZGF0YTpRfSxfLHopLG5yKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVMb2dvVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJtYWlubWVudUxvZ29UZXh0ImluIGllLGdldDppZT0+aWUubWFpbm1lbnVMb2dvVGV4dCxzZXQ6KGllLCRlKT0+e2llLm1haW5tZW51TG9nb1RleHQ9JGV9fSxtZXRhZGF0YTpRfSxULEwpLG5yKHRoaXMsbnVsbCxWLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVHcm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4ibWFpbm1lbnVHcm91cHMiaW4gaWUsZ2V0OmllPT5pZS5tYWlubWVudUdyb3VwcyxzZXQ6KGllLCRlKT0+e2llLm1haW5tZW51R3JvdXBzPSRlfX0sbWV0YWRhdGE6UX0sQixVKSxucih0aGlzLG51bGwsSyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51Qm90dG9tVGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJtYWlubWVudUJvdHRvbVRhYnMiaW4gaWUsZ2V0OmllPT5pZS5tYWlubWVudUJvdHRvbVRhYnMsc2V0OihpZSwkZSk9PntpZS5tYWlubWVudUJvdHRvbVRhYnM9JGV9fSxtZXRhZGF0YTpRfSxJLHZlKSxucih0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudVRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4ibWFpbm1lbnVUYWJzImluIGllLGdldDppZT0+aWUubWFpbm1lbnVUYWJzLHNldDooaWUsJGUpPT57aWUubWFpbm1lbnVUYWJzPSRlfX0sbWV0YWRhdGE6UX0sUCxsZSksbnIodGhpcyxudWxsLFNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVTZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJtYWlubWVudVNlbGVjdGVkVGFiImluIGllLGdldDppZT0+aWUubWFpbm1lbnVTZWxlY3RlZFRhYixzZXQ6KGllLCRlKT0+e2llLm1haW5tZW51U2VsZWN0ZWRUYWI9JGV9fSxtZXRhZGF0YTpRfSxaLEEpLG5yKHRoaXMsbnVsbCwkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudUhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4ic2Vjb25kYXJ5bWVudUhlYWRpbmciaW4gaWUsZ2V0OmllPT5pZS5zZWNvbmRhcnltZW51SGVhZGluZyxzZXQ6KGllLCRlKT0+e2llLnNlY29uZGFyeW1lbnVIZWFkaW5nPSRlfX0sbWV0YWRhdGE6UX0saixIKSxucih0aGlzLG51bGwsWSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY29uZGFyeW1lbnVHcm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4ic2Vjb25kYXJ5bWVudUdyb3VwcyJpbiBpZSxnZXQ6aWU9PmllLnNlY29uZGFyeW1lbnVHcm91cHMsc2V0OihpZSwkZSk9PntpZS5zZWNvbmRhcnltZW51R3JvdXBzPSRlfX0sbWV0YWRhdGE6UX0sZGUsd2UpLG5yKHRoaXMsbnVsbCxMZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4ic2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbSJpbiBpZSxnZXQ6aWU9PmllLnNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0sc2V0OihpZSwkZSk9PntpZS5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtPSRlfX0sbWV0YWRhdGE6UX0sRyxXKSxucih0aGlzLG51bGwsYWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudUNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJtYWlubWVudUNvbGxhcHNlZCJpbiBpZSxnZXQ6aWU9PmllLm1haW5tZW51Q29sbGFwc2VkLHNldDooaWUsJGUpPT57aWUubWFpbm1lbnVDb2xsYXBzZWQ9JGV9fSxtZXRhZGF0YTpRfSx5ZSxtZSksbnIodGhpcyxudWxsLENlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudUNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJzZWNvbmRhcnltZW51Q29sbGFwc2VkImluIGllLGdldDppZT0+aWUuc2Vjb25kYXJ5bWVudUNvbGxhcHNlZCxzZXQ6KGllLCRlKT0+e2llLnNlY29uZGFyeW1lbnVDb2xsYXBzZWQ9JGV9fSxtZXRhZGF0YTpRfSxiZSxuZSksbnIodGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppZT0+Im1haW5tZW51VmlzaWJsZSJpbiBpZSxnZXQ6aWU9PmllLm1haW5tZW51VmlzaWJsZSxzZXQ6KGllLCRlKT0+e2llLm1haW5tZW51VmlzaWJsZT0kZX19LG1ldGFkYXRhOlF9LEllLFplKSxucih0aGlzLG51bGwsdGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51VmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJzZWNvbmRhcnltZW51VmlzaWJsZSJpbiBpZSxnZXQ6aWU9PmllLnNlY29uZGFyeW1lbnVWaXNpYmxlLHNldDooaWUsJGUpPT57aWUuc2Vjb25kYXJ5bWVudVZpc2libGU9JGV9fSxtZXRhZGF0YTpRfSxYLGVlKSxucih0aGlzLG51bGwseGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWluY29udGVudFRhYnNWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppZT0+Im1haW5jb250ZW50VGFic1Zpc2libGUiaW4gaWUsZ2V0OmllPT5pZS5tYWluY29udGVudFRhYnNWaXNpYmxlLHNldDooaWUsJGUpPT57aWUubWFpbmNvbnRlbnRUYWJzVmlzaWJsZT0kZX19LG1ldGFkYXRhOlF9LEFlLFVlKSxucih0aGlzLG51bGwsa3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VGFic0F1dG9IaWRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppZT0+ImNvbnRlbnRUYWJzQXV0b0hpZGUiaW4gaWUsZ2V0OmllPT5pZS5jb250ZW50VGFic0F1dG9IaWRlLHNldDooaWUsJGUpPT57aWUuY29udGVudFRhYnNBdXRvSGlkZT0kZX19LG1ldGFkYXRhOlF9LHJ0LCR0KSxucih0aGlzLG51bGwsVXQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppZT0+ImNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGQiaW4gaWUsZ2V0OmllPT5pZS5jb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkLHNldDooaWUsJGUpPT57aWUuY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZD0kZX19LG1ldGFkYXRhOlF9LG9lLGNlKSxucih0aGlzLG51bGwsX2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpdml0eUxvZ1Zpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4iYWN0aXZpdHlMb2dWaXNpYmxlImluIGllLGdldDppZT0+aWUuYWN0aXZpdHlMb2dWaXNpYmxlLHNldDooaWUsJGUpPT57aWUuYWN0aXZpdHlMb2dWaXNpYmxlPSRlfX0sbWV0YWRhdGE6UX0sdnQsenQpLG5yKHRoaXMsbnVsbCxacix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2aXR5TG9nQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4iYWN0aXZpdHlMb2dDb3VudCJpbiBpZSxnZXQ6aWU9PmllLmFjdGl2aXR5TG9nQ291bnQsc2V0OihpZSwkZSk9PntpZS5hY3Rpdml0eUxvZ0NvdW50PSRlfX0sbWV0YWRhdGE6UX0saDEsUXMpLG5yKHRoaXMsbnVsbCxKcyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5jb250ZW50VGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJtYWluY29udGVudFRhYnMiaW4gaWUsZ2V0OmllPT5pZS5tYWluY29udGVudFRhYnMsc2V0OihpZSwkZSk9PntpZS5tYWluY29udGVudFRhYnM9JGV9fSxtZXRhZGF0YTpRfSxrZSxFZSksbnIodGhpcyxudWxsLEJ0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbmNvbnRlbnRTZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJtYWluY29udGVudFNlbGVjdGVkVGFiImluIGllLGdldDppZT0+aWUubWFpbmNvbnRlbnRTZWxlY3RlZFRhYixzZXQ6KGllLCRlKT0+e2llLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9JGV9fSxtZXRhZGF0YTpRfSxPcixRciksbnIodGhpcyxudWxsLGxhLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppZT0+ImFwcGJhciJpbiBpZSxnZXQ6aWU9PmllLmFwcGJhcixzZXQ6KGllLCRlKT0+e2llLmFwcGJhcj0kZX19LG1ldGFkYXRhOlF9LEpyLEtzKSxucih0aGlzLG51bGwsZW8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJtYWlubWVudSJpbiBpZSxnZXQ6aWU9PmllLm1haW5tZW51LHNldDooaWUsJGUpPT57aWUubWFpbm1lbnU9JGV9fSxtZXRhZGF0YTpRfSx0byxHZiksbnIodGhpcyxudWxsLFlmLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJzZWNvbmRhcnltZW51ImluIGllLGdldDppZT0+aWUuc2Vjb25kYXJ5bWVudSxzZXQ6KGllLCRlKT0+e2llLnNlY29uZGFyeW1lbnU9JGV9fSxtZXRhZGF0YTpRfSxUZSxnZSksbnIodGhpcyxudWxsLEJlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbmNvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4ibWFpbmNvbnRlbnQiaW4gaWUsZ2V0OmllPT5pZS5tYWluY29udGVudCxzZXQ6KGllLCRlKT0+e2llLm1haW5jb250ZW50PSRlfX0sbWV0YWRhdGE6UX0sUmEseHQpLG5yKHRoaXMsbnVsbCxLcix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2aXR5bG9nRWxlbWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJhY3Rpdml0eWxvZ0VsZW1lbnQiaW4gaWUsZ2V0OmllPT5pZS5hY3Rpdml0eWxvZ0VsZW1lbnQsc2V0OihpZSwkZSk9PntpZS5hY3Rpdml0eWxvZ0VsZW1lbnQ9JGV9fSxtZXRhZGF0YTpRfSxCbixmdCksbnIodGhpcyxudWxsLFhhLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm90dG9tYmFyRWxlbWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJib3R0b21iYXJFbGVtZW50ImluIGllLGdldDppZT0+aWUuYm90dG9tYmFyRWxlbWVudCxzZXQ6KGllLCRlKT0+e2llLmJvdHRvbWJhckVsZW1lbnQ9JGV9fSxtZXRhZGF0YTpRfSxIbixybyksbnIodGhpcyxudWxsLFpmLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm90dG9tYmFyVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aWU9PiJib3R0b21iYXJWaXNpYmxlImluIGllLGdldDppZT0+aWUuYm90dG9tYmFyVmlzaWJsZSxzZXQ6KGllLCRlKT0+e2llLmJvdHRvbWJhclZpc2libGU9JGV9fSxtZXRhZGF0YTpRfSxPdixYZiksbnIodGhpcyxudWxsLFJ2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFZpZXciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmllPT4iY3VycmVudFZpZXciaW4gaWUsZ2V0OmllPT5pZS5jdXJyZW50VmlldyxzZXQ6KGllLCRlKT0+e2llLmN1cnJlbnRWaWV3PSRlfX0sbWV0YWRhdGE6UX0sbnBlLHNwZSksbnIobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6UX0sbnVsbCxyKSxvcGU9YT10LnZhbHVlLFEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6UX0pfXN0YXRpYyBkZW1vPUZjcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdO3ZpZXdMaWZlY3ljbGUkPW5ldyBqdC5zbWFydHJ4LnJ4anMuU3ViamVjdDt2aWV3Q2hhbmdlZCQ9bmV3IGp0LnNtYXJ0cngucnhqcy5TdWJqZWN0OyNlPVhlKHRoaXMscyxbXSk7Z2V0IGFwcGJhck1lbnVJdGVtcygpe3JldHVybiB0aGlzLiNlfXNldCBhcHBiYXJNZW51SXRlbXMoUSl7dGhpcy4jZT1RfSN0PShYZSh0aGlzLG8pLFhlKHRoaXMsbCwiIikpO2dldCBhcHBiYXJCcmVhZGNydW1icygpe3JldHVybiB0aGlzLiN0fXNldCBhcHBiYXJCcmVhZGNydW1icyhRKXt0aGlzLiN0PVF9I3I9KFhlKHRoaXMsdSksWGUodGhpcyxoLCIgPiAiKSk7Z2V0IGFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3IoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvcihRKXt0aGlzLiNyPVF9I2E9KFhlKHRoaXMsbSksWGUodGhpcyxiLCEwKSk7Z2V0IGFwcGJhclNob3dXaW5kb3dDb250cm9scygpe3JldHVybiB0aGlzLiNhfXNldCBhcHBiYXJTaG93V2luZG93Q29udHJvbHMoUSl7dGhpcy4jYT1RfSNpPShYZSh0aGlzLGcpLFhlKHRoaXMsdyx2b2lkIDApKTtnZXQgYXBwYmFyVXNlcigpe3JldHVybiB0aGlzLiNpfXNldCBhcHBiYXJVc2VyKFEpe3RoaXMuI2k9UX0jbj0oWGUodGhpcyxrKSxYZSh0aGlzLEMsW10pKTtnZXQgYXBwYmFyUHJvZmlsZU1lbnVJdGVtcygpe3JldHVybiB0aGlzLiNufXNldCBhcHBiYXJQcm9maWxlTWVudUl0ZW1zKFEpe3RoaXMuI249UX0jcz0oWGUodGhpcyxTKSxYZSh0aGlzLEQsITEpKTtnZXQgYXBwYmFyU2hvd1NlYXJjaCgpe3JldHVybiB0aGlzLiNzfXNldCBhcHBiYXJTaG93U2VhcmNoKFEpe3RoaXMuI3M9UX0jbz0oWGUodGhpcyxOKSxYZSh0aGlzLF8sIiIpKTtnZXQgbWFpbm1lbnVMb2dvSWNvbigpe3JldHVybiB0aGlzLiNvfXNldCBtYWlubWVudUxvZ29JY29uKFEpe3RoaXMuI289UX0jbD0oWGUodGhpcyx6KSxYZSh0aGlzLFQsIiIpKTtnZXQgbWFpbm1lbnVMb2dvVGV4dCgpe3JldHVybiB0aGlzLiNsfXNldCBtYWlubWVudUxvZ29UZXh0KFEpe3RoaXMuI2w9UX0jYz0oWGUodGhpcyxMKSxYZSh0aGlzLEIsW10pKTtnZXQgbWFpbm1lbnVHcm91cHMoKXtyZXR1cm4gdGhpcy4jY31zZXQgbWFpbm1lbnVHcm91cHMoUSl7dGhpcy4jYz1RfSNkPShYZSh0aGlzLFUpLFhlKHRoaXMsSSxbXSkpO2dldCBtYWlubWVudUJvdHRvbVRhYnMoKXtyZXR1cm4gdGhpcy4jZH1zZXQgbWFpbm1lbnVCb3R0b21UYWJzKFEpe3RoaXMuI2Q9UX0jdT0oWGUodGhpcyx2ZSksWGUodGhpcyxQLFtdKSk7Z2V0IG1haW5tZW51VGFicygpe3JldHVybiB0aGlzLiN1fXNldCBtYWlubWVudVRhYnMoUSl7dGhpcy4jdT1RfSNwPShYZSh0aGlzLGxlKSxYZSh0aGlzLFosdm9pZCAwKSk7Z2V0IG1haW5tZW51U2VsZWN0ZWRUYWIoKXtyZXR1cm4gdGhpcy4jcH1zZXQgbWFpbm1lbnVTZWxlY3RlZFRhYihRKXt0aGlzLiNwPVF9I2Y9KFhlKHRoaXMsQSksWGUodGhpcyxqLCIiKSk7Z2V0IHNlY29uZGFyeW1lbnVIZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IHNlY29uZGFyeW1lbnVIZWFkaW5nKFEpe3RoaXMuI2Y9UX0jaD0oWGUodGhpcyxIKSxYZSh0aGlzLGRlLFtdKSk7Z2V0IHNlY29uZGFyeW1lbnVHcm91cHMoKXtyZXR1cm4gdGhpcy4jaH1zZXQgc2Vjb25kYXJ5bWVudUdyb3VwcyhRKXt0aGlzLiNoPVF9I209KFhlKHRoaXMsd2UpLFhlKHRoaXMsRyx2b2lkIDApKTtnZXQgc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbSgpe3JldHVybiB0aGlzLiNtfXNldCBzZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtKFEpe3RoaXMuI209UX0jZz0oWGUodGhpcyxXKSxYZSh0aGlzLHllLCExKSk7Z2V0IG1haW5tZW51Q29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2d9c2V0IG1haW5tZW51Q29sbGFwc2VkKFEpe3RoaXMuI2c9UX0jYj0oWGUodGhpcyxtZSksWGUodGhpcyxiZSwhMSkpO2dldCBzZWNvbmRhcnltZW51Q29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2J9c2V0IHNlY29uZGFyeW1lbnVDb2xsYXBzZWQoUSl7dGhpcy4jYj1RfSN2PShYZSh0aGlzLG5lKSxYZSh0aGlzLEllLCEwKSk7Z2V0IG1haW5tZW51VmlzaWJsZSgpe3JldHVybiB0aGlzLiN2fXNldCBtYWlubWVudVZpc2libGUoUSl7dGhpcy4jdj1RfSN4PShYZSh0aGlzLFplKSxYZSh0aGlzLFgsITApKTtnZXQgc2Vjb25kYXJ5bWVudVZpc2libGUoKXtyZXR1cm4gdGhpcy4jeH1zZXQgc2Vjb25kYXJ5bWVudVZpc2libGUoUSl7dGhpcy4jeD1RfSN5PShYZSh0aGlzLGVlKSxYZSh0aGlzLEFlLCEwKSk7Z2V0IG1haW5jb250ZW50VGFic1Zpc2libGUoKXtyZXR1cm4gdGhpcy4jeX1zZXQgbWFpbmNvbnRlbnRUYWJzVmlzaWJsZShRKXt0aGlzLiN5PVF9I3c9KFhlKHRoaXMsVWUpLFhlKHRoaXMscnQsITEpKTtnZXQgY29udGVudFRhYnNBdXRvSGlkZSgpe3JldHVybiB0aGlzLiN3fXNldCBjb250ZW50VGFic0F1dG9IaWRlKFEpe3RoaXMuI3c9UX0jTT0oWGUodGhpcywkdCksWGUodGhpcyxvZSwwKSk7Z2V0IGNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGQoKXtyZXR1cm4gdGhpcy4jTX1zZXQgY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZChRKXt0aGlzLiNNPVF9I2s9KFhlKHRoaXMsY2UpLFhlKHRoaXMsdnQsITEpKTtnZXQgYWN0aXZpdHlMb2dWaXNpYmxlKCl7cmV0dXJuIHRoaXMuI2t9c2V0IGFjdGl2aXR5TG9nVmlzaWJsZShRKXt0aGlzLiNrPVF9I1M9KFhlKHRoaXMsenQpLFhlKHRoaXMsaDEsMCkpO2dldCBhY3Rpdml0eUxvZ0NvdW50KCl7cmV0dXJuIHRoaXMuI1N9c2V0IGFjdGl2aXR5TG9nQ291bnQoUSl7dGhpcy4jUz1RfSN6PShYZSh0aGlzLFFzKSxYZSh0aGlzLGtlLFtdKSk7Z2V0IG1haW5jb250ZW50VGFicygpe3JldHVybiB0aGlzLiN6fXNldCBtYWluY29udGVudFRhYnMoUSl7dGhpcy4jej1RfSNDPShYZSh0aGlzLEVlKSxYZSh0aGlzLE9yLHZvaWQgMCkpO2dldCBtYWluY29udGVudFNlbGVjdGVkVGFiKCl7cmV0dXJuIHRoaXMuI0N9c2V0IG1haW5jb250ZW50U2VsZWN0ZWRUYWIoUSl7dGhpcy4jQz1RfSNUPShYZSh0aGlzLFFyKSxYZSh0aGlzLEpyLHZvaWQgMCkpO2dldCBhcHBiYXIoKXtyZXR1cm4gdGhpcy4jVH1zZXQgYXBwYmFyKFEpe3RoaXMuI1Q9UX0jXz0oWGUodGhpcyxLcyksWGUodGhpcyx0byx2b2lkIDApKTtnZXQgbWFpbm1lbnUoKXtyZXR1cm4gdGhpcy4jX31zZXQgbWFpbm1lbnUoUSl7dGhpcy4jXz1RfSNMPShYZSh0aGlzLEdmKSxYZSh0aGlzLFRlLHZvaWQgMCkpO2dldCBzZWNvbmRhcnltZW51KCl7cmV0dXJuIHRoaXMuI0x9c2V0IHNlY29uZGFyeW1lbnUoUSl7dGhpcy4jTD1RfSMkPShYZSh0aGlzLGdlKSxYZSh0aGlzLFJhLHZvaWQgMCkpO2dldCBtYWluY29udGVudCgpe3JldHVybiB0aGlzLiMkfXNldCBtYWluY29udGVudChRKXt0aGlzLiMkPVF9I0Q9KFhlKHRoaXMseHQpLFhlKHRoaXMsQm4sdm9pZCAwKSk7Z2V0IGFjdGl2aXR5bG9nRWxlbWVudCgpe3JldHVybiB0aGlzLiNEfXNldCBhY3Rpdml0eWxvZ0VsZW1lbnQoUSl7dGhpcy4jRD1RfSNBPShYZSh0aGlzLGZ0KSxYZSh0aGlzLEhuLHZvaWQgMCkpO2dldCBib3R0b21iYXJFbGVtZW50KCl7cmV0dXJuIHRoaXMuI0F9c2V0IGJvdHRvbWJhckVsZW1lbnQoUSl7dGhpcy4jQT1RfSNFPShYZSh0aGlzLHJvKSxYZSh0aGlzLE92LCEwKSk7Z2V0IGJvdHRvbWJhclZpc2libGUoKXtyZXR1cm4gdGhpcy4jRX1zZXQgYm90dG9tYmFyVmlzaWJsZShRKXt0aGlzLiNFPVF9I0k9KFhlKHRoaXMsWGYpLFhlKHRoaXMsbnBlLHZvaWQgMCkpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNJfXNldCBjdXJyZW50VmlldyhRKXt0aGlzLiNJPVF9dmlld1JlZ2lzdHJ5PShYZSh0aGlzLHNwZSksbmV3IE9iKTtyb3V0ZXJDbGVhbnVwPW51bGw7c2VhcmNoQ2FsbGJhY2s9bnVsbDtzdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9OwogICAgICB9CiAgICAgIC5tYWluZ3JpZCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNDBweDsKICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQwcHggLSAyNHB4KTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIC8qIGdyaWQtdGVtcGxhdGUtY29sdW1ucyBzZXQgZHluYW1pY2FsbHkgaW4gdGVtcGxhdGUgKi8KICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjsKICAgICAgICB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLWNvbHVtbnMgMC4zcyBlYXNlLCBoZWlnaHQgMC4zcyBlYXNlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIDpob3N0KFtib3R0b21iYXItaGlkZGVuXSkgLm1haW5ncmlkIHsKICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQwcHgpOwogICAgICB9CgogICAgICBkZWVzLWFwcHVpLWJvdHRvbWJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHotaW5kZXg6IDQ7CiAgICAgIH0KCiAgICAgIC8qIFotaW5kZXggbGF5ZXJpbmcgZm9yIHByb3BlciBzdGFja2luZyAqLwogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLW1haW5tZW51IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMzsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1tYWluY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1hY3Rpdml0eWxvZy5oaWRkZW4gewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLWFjdGl2aXR5bG9nLnZpc2libGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgICB9CgogICAgICAvKiBWaWV3IGNvbnRhaW5lciBmb3IgZHluYW1pY2FsbHkgbG9hZGVkIHZpZXdzICovCiAgICAgIC52aWV3LWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogY29udGVudHM7CiAgICAgIH0KCiAgICAgIC52aWV3LWNvbnRhaW5lcjplbXB0eSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkZWVzLWFwcHVpLWFwcGJhcgogICAgICAgIC5tZW51SXRlbXM9JHt0aGlzLmFwcGJhck1lbnVJdGVtc30KICAgICAgICAuYnJlYWRjcnVtYnM9JHt0aGlzLmFwcGJhckJyZWFkY3J1bWJzfQogICAgICAgIC5icmVhZGNydW1iU2VwYXJhdG9yPSR7dGhpcy5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yfQogICAgICAgIC5zaG93V2luZG93Q29udHJvbHM9JHt0aGlzLmFwcGJhclNob3dXaW5kb3dDb250cm9sc30KICAgICAgICAudXNlcj0ke3RoaXMuYXBwYmFyVXNlcn0KICAgICAgICAucHJvZmlsZU1lbnVJdGVtcz0ke3RoaXMuYXBwYmFyUHJvZmlsZU1lbnVJdGVtc30KICAgICAgICAuc2hvd1NlYXJjaD0ke3RoaXMuYXBwYmFyU2hvd1NlYXJjaH0KICAgICAgICAuc2hvd0FjdGl2aXR5TG9nVG9nZ2xlPSR7ITB9CiAgICAgICAgLmFjdGl2aXR5TG9nQ291bnQ9JHt0aGlzLmFjdGl2aXR5TG9nQ291bnR9CiAgICAgICAgLmFjdGl2aXR5TG9nQWN0aXZlPSR7dGhpcy5hY3Rpdml0eUxvZ1Zpc2libGV9CiAgICAgICAgQG1lbnUtc2VsZWN0PSR7UT0+dGhpcy5oYW5kbGVBcHBiYXJNZW51U2VsZWN0KFEpfQogICAgICAgIEBicmVhZGNydW1iLW5hdmlnYXRlPSR7UT0+dGhpcy5oYW5kbGVBcHBiYXJCcmVhZGNydW1iTmF2aWdhdGUoUSl9CiAgICAgICAgQHNlYXJjaC1jbGljaz0keygpPT50aGlzLmhhbmRsZUFwcGJhclNlYXJjaENsaWNrKCl9CiAgICAgICAgQHNlYXJjaC1xdWVyeT0ke1E9PnRoaXMuaGFuZGxlQXBwYmFyU2VhcmNoUXVlcnkoUSl9CiAgICAgICAgQHVzZXItbWVudS1vcGVuPSR7KCk9PnRoaXMuaGFuZGxlQXBwYmFyVXNlck1lbnVPcGVuKCl9CiAgICAgICAgQHByb2ZpbGUtbWVudS1zZWxlY3Q9JHtRPT50aGlzLmhhbmRsZUFwcGJhclByb2ZpbGVNZW51U2VsZWN0KFEpfQogICAgICAgIEBhY3Rpdml0eS10b2dnbGU9JHsoKT0+dGhpcy50b2dnbGVBY3Rpdml0eUxvZygpfQogICAgICA+PC9kZWVzLWFwcHVpLWFwcGJhcj4KICAgICAgPGRpdiBjbGFzcz0ibWFpbmdyaWQiIHN0eWxlPSJncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAxZnIgJHt0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZT8iMjgwcHgiOiIwcHgifTsiPgogICAgICAgICR7dGhpcy5tYWlubWVudVZpc2libGU/TWAKICAgICAgICAgIDxkZWVzLWFwcHVpLW1haW5tZW51CiAgICAgICAgICAgIC5sb2dvSWNvbj0ke3RoaXMubWFpbm1lbnVMb2dvSWNvbn0KICAgICAgICAgICAgLmxvZ29UZXh0PSR7dGhpcy5tYWlubWVudUxvZ29UZXh0fQogICAgICAgICAgICAubWVudUdyb3Vwcz0ke3RoaXMubWFpbm1lbnVHcm91cHN9CiAgICAgICAgICAgIC5ib3R0b21UYWJzPSR7dGhpcy5tYWlubWVudUJvdHRvbVRhYnN9CiAgICAgICAgICAgIC50YWJzPSR7dGhpcy5tYWlubWVudVRhYnN9CiAgICAgICAgICAgIC5zZWxlY3RlZFRhYj0ke3RoaXMubWFpbm1lbnVTZWxlY3RlZFRhYn0KICAgICAgICAgICAgLmNvbGxhcHNlZD0ke3RoaXMubWFpbm1lbnVDb2xsYXBzZWR9CiAgICAgICAgICAgIEB0YWItc2VsZWN0PSR7UT0+dGhpcy5oYW5kbGVNYWlubWVudVRhYlNlbGVjdChRKX0KICAgICAgICAgICAgQGNvbGxhcHNlLWNoYW5nZT0ke1E9PnRoaXMuaGFuZGxlTWFpbm1lbnVDb2xsYXBzZUNoYW5nZShRKX0KICAgICAgICAgID48L2RlZXMtYXBwdWktbWFpbm1lbnU+CiAgICAgICAgYDoiIn0KICAgICAgICAke3RoaXMuc2Vjb25kYXJ5bWVudVZpc2libGU/TWAKICAgICAgICAgIDxkZWVzLWFwcHVpLXNlY29uZGFyeW1lbnUKICAgICAgICAgICAgLmhlYWRpbmc9JHt0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nfQogICAgICAgICAgICAuZ3JvdXBzPSR7dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzfQogICAgICAgICAgICAuc2VsZWN0ZWRJdGVtPSR7dGhpcy5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtfQogICAgICAgICAgICAuY29sbGFwc2VkPSR7dGhpcy5zZWNvbmRhcnltZW51Q29sbGFwc2VkfQogICAgICAgICAgICBAaXRlbS1zZWxlY3Q9JHtRPT50aGlzLmhhbmRsZVNlY29uZGFyeW1lbnVJdGVtU2VsZWN0KFEpfQogICAgICAgICAgICBAY29sbGFwc2UtY2hhbmdlPSR7UT0+dGhpcy5oYW5kbGVTZWNvbmRhcnltZW51Q29sbGFwc2VDaGFuZ2UoUSl9CiAgICAgICAgICA+PC9kZWVzLWFwcHVpLXNlY29uZGFyeW1lbnU+CiAgICAgICAgYDoiIn0KICAgICAgICA8ZGVlcy1hcHB1aS1tYWluY29udGVudAogICAgICAgICAgLnRhYnM9JHt0aGlzLm1haW5jb250ZW50VGFic30KICAgICAgICAgIC5zZWxlY3RlZFRhYj0ke3RoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYn0KICAgICAgICAgIC5zaG93VGFicz0ke3RoaXMubWFpbmNvbnRlbnRUYWJzVmlzaWJsZX0KICAgICAgICAgIC50YWJzQXV0b0hpZGU9JHt0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGV9CiAgICAgICAgICAudGFic0F1dG9IaWRlVGhyZXNob2xkPSR7dGhpcy5jb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkfQogICAgICAgICAgQHRhYi1zZWxlY3Q9JHtRPT50aGlzLmhhbmRsZUNvbnRlbnRUYWJTZWxlY3QoUSl9CiAgICAgICAgICBAdGFiLWNsb3NlPSR7UT0+dGhpcy5oYW5kbGVDb250ZW50VGFiQ2xvc2UoUSl9CiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0idmlldy1jb250YWluZXIiPjwvZGl2PgogICAgICAgICAgPHNsb3QgbmFtZT0ibWFpbmNvbnRlbnQiPjwvc2xvdD4KICAgICAgICA8L2RlZXMtYXBwdWktbWFpbmNvbnRlbnQ+CiAgICAgICAgPGRlZXMtYXBwdWktYWN0aXZpdHlsb2cKICAgICAgICAgIGNsYXNzPSIke3RoaXMuYWN0aXZpdHlMb2dWaXNpYmxlPyJ2aXNpYmxlIjoiaGlkZGVuIn0iCiAgICAgICAgPjwvZGVlcy1hcHB1aS1hY3Rpdml0eWxvZz4KICAgICAgPC9kaXY+CiAgICAgICR7dGhpcy5ib3R0b21iYXJWaXNpYmxlP01gCiAgICAgICAgPGRlZXMtYXBwdWktYm90dG9tYmFyPjwvZGVlcy1hcHB1aS1ib3R0b21iYXI+CiAgICAgIGA6IiJ9CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMuYXBwYmFyPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLWFwcGJhciIpLHRoaXMubWFpbm1lbnU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktbWFpbm1lbnUiKSx0aGlzLnNlY29uZGFyeW1lbnU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudSIpLHRoaXMubWFpbmNvbnRlbnQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktbWFpbmNvbnRlbnQiKSx0aGlzLmFjdGl2aXR5bG9nRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyIpLHRoaXMuYm90dG9tYmFyRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1ib3R0b21iYXIiKSx0aGlzLmFjdGl2aXR5bG9nRWxlbWVudCYmdGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuZW50cmllcyQuc3Vic2NyaWJlKFE9Pnt0aGlzLmFjdGl2aXR5TG9nQ291bnQ9US5sZW5ndGh9KSx0aGlzLnZpZXdSZWdpc3RyeS5zZXRBcHB1aVJlZih0aGlzKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yb3V0ZXJDbGVhbnVwJiYodGhpcy5yb3V0ZXJDbGVhbnVwKCksdGhpcy5yb3V0ZXJDbGVhbnVwPW51bGwpLHRoaXMudmlld0xpZmVjeWNsZSQuY29tcGxldGUoKSx0aGlzLnZpZXdDaGFuZ2VkJC5jb21wbGV0ZSgpfXNldEFwcEJhck1lbnVzKFEpe3RoaXMuYXBwYmFyTWVudUl0ZW1zPVsuLi5RXX11cGRhdGVBcHBCYXJNZW51KFEsaWUpe3RoaXMuYXBwYmFyTWVudUl0ZW1zPXRoaXMuYXBwYmFyTWVudUl0ZW1zLm1hcCgkZT0+Im5hbWUiaW4gJGUmJiRlLm5hbWU9PT1RP3suLi4kZSwuLi5pZX06JGUpfXNldEJyZWFkY3J1bWJzKFEpe0FycmF5LmlzQXJyYXkoUSk/dGhpcy5hcHBiYXJCcmVhZGNydW1icz1RLmpvaW4odGhpcy5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yKTp0aGlzLmFwcGJhckJyZWFkY3J1bWJzPVF9c2V0VXNlcihRKXt0aGlzLmFwcGJhclVzZXI9UX1zZXRQcm9maWxlTWVudUl0ZW1zKFEpe3RoaXMuYXBwYmFyUHJvZmlsZU1lbnVJdGVtcz1bLi4uUV19c2V0U2VhcmNoVmlzaWJsZShRKXt0aGlzLmFwcGJhclNob3dTZWFyY2g9UX1zZXRXaW5kb3dDb250cm9sc1Zpc2libGUoUSl7dGhpcy5hcHBiYXJTaG93V2luZG93Q29udHJvbHM9UX1vblNlYXJjaChRKXt0aGlzLnNlYXJjaENhbGxiYWNrPVF9c2V0TWFpbk1lbnUoUSl7US5sb2dvSWNvbiE9PXZvaWQgMCYmKHRoaXMubWFpbm1lbnVMb2dvSWNvbj1RLmxvZ29JY29uKSxRLmxvZ29UZXh0IT09dm9pZCAwJiYodGhpcy5tYWlubWVudUxvZ29UZXh0PVEubG9nb1RleHQpLFEuZ3JvdXBzIT09dm9pZCAwJiYodGhpcy5tYWlubWVudUdyb3Vwcz1bLi4uUS5ncm91cHNdKSxRLmJvdHRvbVRhYnMhPT12b2lkIDAmJih0aGlzLm1haW5tZW51Qm90dG9tVGFicz1bLi4uUS5ib3R0b21UYWJzXSl9dXBkYXRlTWFpbk1lbnVHcm91cChRLGllKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKCRlPT4kZS5uYW1lPT09UT97Li4uJGUsLi4uaWV9OiRlKX1hZGRNYWluTWVudUl0ZW0oUSxpZSl7dGhpcy5tYWlubWVudUdyb3Vwcz10aGlzLm1haW5tZW51R3JvdXBzLm1hcCgkZT0+JGUubmFtZT09PVE/ey4uLiRlLGl0ZW1zOlsuLi4kZS5pdGVtc3x8W10saWVdfTokZSl9cmVtb3ZlTWFpbk1lbnVJdGVtKFEsaWUpe3RoaXMubWFpbm1lbnVHcm91cHM9dGhpcy5tYWlubWVudUdyb3Vwcy5tYXAoJGU9PiRlLm5hbWU9PT1RP3suLi4kZSxpdGVtczooJGUuaXRlbXN8fFtdKS5maWx0ZXIoZnI9PmZyLmtleSE9PWllKX06JGUpfXNldE1haW5NZW51U2VsZWN0aW9uKFEpe2ZvcihsZXQgJGUgb2YgdGhpcy5tYWlubWVudUdyb3Vwcyl7bGV0IGZyPSRlLml0ZW1zPy5maW5kKG0xPT5tMS5rZXk9PT1RKTtpZihmcil7dGhpcy5tYWlubWVudVNlbGVjdGVkVGFiPWZyO3JldHVybn19bGV0IGllPXRoaXMubWFpbm1lbnVCb3R0b21UYWJzLmZpbmQoJGU9PiRlLmtleT09PVEpO2llJiYodGhpcy5tYWlubWVudVNlbGVjdGVkVGFiPWllKX1zZXRNYWluTWVudUNvbGxhcHNlZChRKXt0aGlzLm1haW5tZW51Q29sbGFwc2VkPVF9c2V0TWFpbk1lbnVWaXNpYmxlKFEpe3RoaXMubWFpbm1lbnVWaXNpYmxlPVF9c2V0U2Vjb25kYXJ5TWVudUNvbGxhcHNlZChRKXt0aGlzLnNlY29uZGFyeW1lbnVDb2xsYXBzZWQ9UX1zZXRTZWNvbmRhcnlNZW51VmlzaWJsZShRKXt0aGlzLnNlY29uZGFyeW1lbnVWaXNpYmxlPVF9c2V0Q29udGVudFRhYnNWaXNpYmxlKFEpe3RoaXMubWFpbmNvbnRlbnRUYWJzVmlzaWJsZT1RfXNldENvbnRlbnRUYWJzQXV0b0hpZGUoUSxpZT0wKXt0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGU9USx0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGQ9aWV9c2V0TWFpbk1lbnVCYWRnZShRLGllKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKCRlPT4oey4uLiRlLGl0ZW1zOigkZS5pdGVtc3x8W10pLm1hcChmcj0+ZnIua2V5PT09UT97Li4uZnIsYmFkZ2U6aWV9OmZyKX0pKSx0aGlzLm1haW5tZW51Qm90dG9tVGFicz10aGlzLm1haW5tZW51Qm90dG9tVGFicy5tYXAoJGU9PiRlLmtleT09PVE/ey4uLiRlLGJhZGdlOmllfTokZSl9Y2xlYXJNYWluTWVudUJhZGdlKFEpe3RoaXMubWFpbm1lbnVHcm91cHM9dGhpcy5tYWlubWVudUdyb3Vwcy5tYXAoaWU9Pih7Li4uaWUsaXRlbXM6KGllLml0ZW1zfHxbXSkubWFwKCRlPT57aWYoJGUua2V5PT09USl7bGV0e2JhZGdlOmZyLC4uLm0xfT0kZTtyZXR1cm4gbTF9cmV0dXJuICRlfSl9KSksdGhpcy5tYWlubWVudUJvdHRvbVRhYnM9dGhpcy5tYWlubWVudUJvdHRvbVRhYnMubWFwKGllPT57aWYoaWUua2V5PT09USl7bGV0e2JhZGdlOiRlLC4uLmZyfT1pZTtyZXR1cm4gZnJ9cmV0dXJuIGllfSl9c2V0U2Vjb25kYXJ5TWVudShRKXtRLmhlYWRpbmchPT12b2lkIDAmJih0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nPVEuaGVhZGluZyksdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPVsuLi5RLmdyb3Vwc119dXBkYXRlU2Vjb25kYXJ5TWVudUdyb3VwKFEsaWUpe3RoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcz10aGlzLnNlY29uZGFyeW1lbnVHcm91cHMubWFwKCRlPT4kZS5uYW1lPT09UT97Li4uJGUsLi4uaWV9OiRlKX1hZGRTZWNvbmRhcnlNZW51SXRlbShRLGllKXt0aGlzLnNlY29uZGFyeW1lbnVHcm91cHM9dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzLm1hcCgkZT0+JGUubmFtZT09PVE/ey4uLiRlLGl0ZW1zOlsuLi4kZS5pdGVtcyxpZV19OiRlKX1zZXRTZWNvbmRhcnlNZW51U2VsZWN0aW9uKFEpe2ZvcihsZXQgaWUgb2YgdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzKXtsZXQgJGU9aWUuaXRlbXMuZmluZChmcj0+ImtleSJpbiBmciYmZnIua2V5PT09USk7aWYoJGUmJighKCJ0eXBlImluICRlKXx8JGUudHlwZT09PSJ0YWIifHwkZS50eXBlPT09dm9pZCAwKSl7dGhpcy5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtPSRlO3JldHVybn19fWNsZWFyU2Vjb25kYXJ5TWVudSgpe3RoaXMuc2Vjb25kYXJ5bWVudUhlYWRpbmc9IiIsdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPVtdLHRoaXMuc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbT12b2lkIDB9c2V0Q29udGVudFRhYnMoUSl7dGhpcy5tYWluY29udGVudFRhYnM9Wy4uLlFdLFEubGVuZ3RoPjAmJiF0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWImJih0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9UVswXSl9YWRkQ29udGVudFRhYihRKXt0aGlzLm1haW5jb250ZW50VGFicz1bLi4udGhpcy5tYWluY29udGVudFRhYnMsUV19cmVtb3ZlQ29udGVudFRhYihRKXt0aGlzLm1haW5jb250ZW50VGFicz10aGlzLm1haW5jb250ZW50VGFicy5maWx0ZXIoaWU9PmllLmtleSE9PVEpLHRoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj8ua2V5PT09USYmKHRoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj10aGlzLm1haW5jb250ZW50VGFic1swXSl9c2VsZWN0Q29udGVudFRhYihRKXtsZXQgaWU9dGhpcy5tYWluY29udGVudFRhYnMuZmluZCgkZT0+JGUua2V5PT09USk7aWUmJih0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9aWUpfWdldFNlbGVjdGVkQ29udGVudFRhYigpe3JldHVybiB0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWJ9Z2V0IGFjdGl2aXR5TG9nKCl7cmV0dXJuIHRoaXMuYWN0aXZpdHlsb2dFbGVtZW50P3thZGQ6UT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuYWRkKFEpLGFkZE1hbnk6UT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuYWRkTWFueShRKSxjbGVhcjooKT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuY2xlYXIoKSxnZXRFbnRyaWVzOigpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5nZXRFbnRyaWVzKCksZmlsdGVyOlE9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50LmZpbHRlcihRKSxzZWFyY2g6UT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuc2VhcmNoKFEpfTp7YWRkOlE9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5hZGQoUSkpfSxhZGRNYW55OlE9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5hZGRNYW55KFEpKX0sY2xlYXI6KCk9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5jbGVhcigpKX0sZ2V0RW50cmllczooKT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/LmdldEVudHJpZXMoKXx8W10sZmlsdGVyOlE9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5maWx0ZXIoUSl8fFtdLHNlYXJjaDpRPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudD8uc2VhcmNoKFEpfHxbXX19c2V0QWN0aXZpdHlMb2dWaXNpYmxlKFEpe3RoaXMuYWN0aXZpdHlMb2dWaXNpYmxlPVF9dG9nZ2xlQWN0aXZpdHlMb2coKXt0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZT0hdGhpcy5hY3Rpdml0eUxvZ1Zpc2libGV9Z2V0QWN0aXZpdHlMb2dWaXNpYmxlKCl7cmV0dXJuIHRoaXMuYWN0aXZpdHlMb2dWaXNpYmxlfWdldCBib3R0b21CYXIoKXtyZXR1cm4gdGhpcy5ib3R0b21iYXJFbGVtZW50P3thZGRXaWRnZXQ6UT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmFkZFdpZGdldChRKSx1cGRhdGVXaWRnZXQ6KFEsaWUpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQudXBkYXRlV2lkZ2V0KFEsaWUpLHJlbW92ZVdpZGdldDpRPT50aGlzLmJvdHRvbWJhckVsZW1lbnQucmVtb3ZlV2lkZ2V0KFEpLGdldFdpZGdldDpRPT50aGlzLmJvdHRvbWJhckVsZW1lbnQuZ2V0V2lkZ2V0KFEpLGNsZWFyV2lkZ2V0czooKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmNsZWFyV2lkZ2V0cygpLGFkZEFjdGlvbjpRPT50aGlzLmJvdHRvbWJhckVsZW1lbnQuYWRkQWN0aW9uKFEpLHJlbW92ZUFjdGlvbjpRPT50aGlzLmJvdHRvbWJhckVsZW1lbnQucmVtb3ZlQWN0aW9uKFEpLGNsZWFyQWN0aW9uczooKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmNsZWFyQWN0aW9ucygpfTp7YWRkV2lkZ2V0OlE9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8uYWRkV2lkZ2V0KFEpKX0sdXBkYXRlV2lkZ2V0OihRLGllKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py51cGRhdGVXaWRnZXQoUSxpZSkpfSxyZW1vdmVXaWRnZXQ6UT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5yZW1vdmVXaWRnZXQoUSkpfSxnZXRXaWRnZXQ6UT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5nZXRXaWRnZXQoUSksY2xlYXJXaWRnZXRzOigpPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LmNsZWFyV2lkZ2V0cygpKX0sYWRkQWN0aW9uOlE9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8uYWRkQWN0aW9uKFEpKX0scmVtb3ZlQWN0aW9uOlE9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8ucmVtb3ZlQWN0aW9uKFEpKX0sY2xlYXJBY3Rpb25zOigpPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LmNsZWFyQWN0aW9ucygpKX19fXNldEJvdHRvbUJhclZpc2libGUoUSl7dGhpcy5ib3R0b21iYXJWaXNpYmxlPVEsUT90aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYm90dG9tYmFyLWhpZGRlbiIpOnRoaXMuc2V0QXR0cmlidXRlKCJib3R0b21iYXItaGlkZGVuIiwiIil9Z2V0Qm90dG9tQmFyVmlzaWJsZSgpe3JldHVybiB0aGlzLmJvdHRvbWJhclZpc2libGV9YXN5bmMgbmF2aWdhdGVUb1ZpZXcoUSxpZSl7bGV0ICRlPXRoaXMudmlld1JlZ2lzdHJ5LmdldChRKTtpZighJGUpcmV0dXJuIGNvbnNvbGUud2FybihgQ2Fubm90IG5hdmlnYXRlIHRvIHVua25vd24gdmlldzogJHtRfWApLCExO2xldCBmcj1hd2FpdCB0aGlzLnZpZXdSZWdpc3RyeS5jYW5MZWF2ZUN1cnJlbnRWaWV3KCk7aWYoZnIhPT0hMClpZih0eXBlb2YgZnI9PSJzdHJpbmciKXtpZighd2luZG93LmNvbmZpcm0oZnIpKXJldHVybiExfWVsc2UgcmV0dXJuITE7dGhpcy52aWV3TGlmZWN5Y2xlJC5uZXh0KHt0eXBlOiJsb2FkaW5nIix2aWV3SWQ6UX0pO3RyeXthd2FpdCB0aGlzLmxvYWRWaWV3KCRlLGllKTtsZXQgUWY9YCMkeyRlLnJvdXRlfHxRfWA7cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5oYXNoIT09UWYmJndpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7dmlld0lkOlF9LCIiLFFmKSwhMH1jYXRjaChtMSl7cmV0dXJuIHRoaXMudmlld0xpZmVjeWNsZSQubmV4dCh7dHlwZToibG9hZEVycm9yIix2aWV3SWQ6USxlcnJvcjptMX0pLCExfX1nZXRDdXJyZW50Vmlldygpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3fWdldFZpZXdSZWdpc3RyeSgpe3JldHVybiB0aGlzLnZpZXdSZWdpc3RyeX1jb25maWd1cmUoUSl7US52aWV3cyYmKHRoaXMudmlld1JlZ2lzdHJ5LmNsZWFyKCksdGhpcy52aWV3UmVnaXN0cnkucmVnaXN0ZXJBbGwoUS52aWV3cykpLFEuYnJhbmRpbmcmJih0aGlzLm1haW5tZW51TG9nb0ljb249US5icmFuZGluZy5sb2dvSWNvbnx8IiIsdGhpcy5tYWlubWVudUxvZ29UZXh0PVEuYnJhbmRpbmcubG9nb1RleHR8fCIiKSxRLmFwcEJhciYmKHRoaXMuYXBwYmFyTWVudUl0ZW1zPVEuYXBwQmFyLm1lbnVJdGVtc3x8W10sdGhpcy5hcHBiYXJCcmVhZGNydW1icz1RLmFwcEJhci5icmVhZGNydW1ic3x8IiIsdGhpcy5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yPVEuYXBwQmFyLmJyZWFkY3J1bWJTZXBhcmF0b3J8fCIgPiAiLHRoaXMuYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzPVEuYXBwQmFyLnNob3dXaW5kb3dDb250cm9scz8/ITAsdGhpcy5hcHBiYXJTaG93U2VhcmNoPVEuYXBwQmFyLnNob3dTZWFyY2g/PyExLHRoaXMuYXBwYmFyVXNlcj1RLmFwcEJhci51c2VyLHRoaXMuYXBwYmFyUHJvZmlsZU1lbnVJdGVtcz1RLmFwcEJhci5wcm9maWxlTWVudUl0ZW1zfHxbXSksUS5tYWluTWVudSYmKFEubWFpbk1lbnUuc2VjdGlvbnM/dGhpcy5tYWlubWVudUdyb3Vwcz10aGlzLmJ1aWxkTWFpbk1lbnVGcm9tU2VjdGlvbnMoUSk6US5tYWluTWVudS5ncm91cHMmJih0aGlzLm1haW5tZW51R3JvdXBzPVEubWFpbk1lbnUuZ3JvdXBzKSxRLm1haW5NZW51LmxvZ29JY29uJiYodGhpcy5tYWlubWVudUxvZ29JY29uPVEubWFpbk1lbnUubG9nb0ljb24pLFEubWFpbk1lbnUubG9nb1RleHQmJih0aGlzLm1haW5tZW51TG9nb1RleHQ9US5tYWluTWVudS5sb2dvVGV4dCksUS5tYWluTWVudS5ib3R0b21UYWJzP3RoaXMubWFpbm1lbnVCb3R0b21UYWJzPVEubWFpbk1lbnUuYm90dG9tVGFiczpRLm1haW5NZW51LmJvdHRvbUl0ZW1zJiYodGhpcy5tYWlubWVudUJvdHRvbVRhYnM9dGhpcy5idWlsZEJvdHRvbVRhYnNGcm9tSXRlbXMoUS5tYWluTWVudS5ib3R0b21JdGVtcykpKSxRLmJvdHRvbUJhciYmKHRoaXMuc2V0Qm90dG9tQmFyVmlzaWJsZShRLmJvdHRvbUJhci52aXNpYmxlPz8hMCksUS5ib3R0b21CYXIud2lkZ2V0cyYmUS5ib3R0b21CYXIud2lkZ2V0cy5mb3JFYWNoKGllPT57dGhpcy5ib3R0b21CYXIuYWRkV2lkZ2V0KGllKX0pLFEuYm90dG9tQmFyLmFjdGlvbnMmJlEuYm90dG9tQmFyLmFjdGlvbnMuZm9yRWFjaChpZT0+e3RoaXMuYm90dG9tQmFyLmFkZEFjdGlvbihpZSl9KSksdGhpcy5zZXR1cFJvdXRlckludGVncmF0aW9uKFEpLFEub25WaWV3Q2hhbmdlJiZ0aGlzLnZpZXdDaGFuZ2VkJC5zdWJzY3JpYmUoaWU9PntRLm9uVmlld0NoYW5nZShpZS52aWV3SWQsaWUudmlldyl9KSxRLm9uU2VhcmNoJiYodGhpcy5zZWFyY2hDYWxsYmFjaz1RLm9uU2VhcmNoKSxRLmRlZmF1bHRWaWV3JiZ0aGlzLm5hdmlnYXRlVG9WaWV3KFEuZGVmYXVsdFZpZXcpfXNldHVwUm91dGVySW50ZWdyYXRpb24oUSl7bGV0IGllPSgpPT57bGV0IGZyPXdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpO2lmKCFmcilyZXR1cm47bGV0IG0xPXRoaXMudmlld1JlZ2lzdHJ5LmZpbmRCeVJvdXRlKGZyKTttMSYmdGhpcy5uYXZpZ2F0ZVRvVmlldyhtMS52aWV3LmlkLG0xLnBhcmFtcyl9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixpZSksdGhpcy5yb3V0ZXJDbGVhbnVwPSgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGllKX07bGV0ICRlPXdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpO2lmKCRlKXtsZXQgZnI9dGhpcy52aWV3UmVnaXN0cnkuZmluZEJ5Um91dGUoJGUpO2ZyJiZzZXRUaW1lb3V0KCgpPT50aGlzLm5hdmlnYXRlVG9WaWV3KGZyLnZpZXcuaWQsZnIucGFyYW1zKSwwKX19YnVpbGRNYWluTWVudUZyb21TZWN0aW9ucyhRKXtyZXR1cm4gUS5tYWluTWVudT8uc2VjdGlvbnM/US5tYWluTWVudS5zZWN0aW9ucy5tYXAoaWU9Pih7bmFtZTppZS5uYW1lLGl0ZW1zOmllLnZpZXdzLm1hcCgkZT0+e2xldCBmcj10aGlzLnZpZXdSZWdpc3RyeS5nZXQoJGUpO3JldHVybiBmcj97a2V5OmZyLmlkLGljb25OYW1lOmZyLmljb25OYW1lLGFjdGlvbjooKT0+dGhpcy5uYXZpZ2F0ZVRvVmlldygkZSksYmFkZ2U6ZnIuYmFkZ2V9Oihjb25zb2xlLndhcm4oYFZpZXcgIiR7JGV9IiBub3QgZm91bmQgaW4gcmVnaXN0cnlgKSxudWxsKX0pLmZpbHRlcihCb29sZWFuKX0pKTpbXX1idWlsZEJvdHRvbVRhYnNGcm9tSXRlbXMoUSl7cmV0dXJuIFEubWFwKGllPT57bGV0ICRlPXRoaXMudmlld1JlZ2lzdHJ5LmdldChpZSk7cmV0dXJuICRlP3trZXk6JGUuaWQsaWNvbk5hbWU6JGUuaWNvbk5hbWUsYWN0aW9uOigpPT50aGlzLm5hdmlnYXRlVG9WaWV3KGllKX06KGNvbnNvbGUud2FybihgVmlldyAiJHtpZX0iIG5vdCBmb3VuZCBpbiByZWdpc3RyeWApLG51bGwpfSkuZmlsdGVyKEJvb2xlYW4pfWFzeW5jIGxvYWRWaWV3KFEsaWUpe2xldCAkZT10aGlzLmN1cnJlbnRWaWV3O3RoaXMuY3VycmVudFZpZXc9UTtsZXQgZnI9dGhpcy5tYWluY29udGVudD8ucXVlcnlTZWxlY3RvcigiLnZpZXctY29udGFpbmVyIil8fHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnZpZXctY29udGFpbmVyIik7aWYoZnIpe2xldCBRZj1hd2FpdCB0aGlzLnZpZXdSZWdpc3RyeS5hY3RpdmF0ZVZpZXcoUS5pZCxmcixpZSk7UWYmJnRoaXMudmlld0xpZmVjeWNsZSQubmV4dCh7dHlwZToiYWN0aXZhdGVkIix2aWV3SWQ6US5pZCxlbGVtZW50OlFmLHBhcmFtczppZX0pfVEuc2Vjb25kYXJ5TWVudSYmKHRoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcz1RLnNlY29uZGFyeU1lbnUsdGhpcy5zZWNvbmRhcnltZW51SGVhZGluZz1RLm5hbWUpLFEuY29udGVudFRhYnMmJih0aGlzLm1haW5jb250ZW50VGFicz1RLmNvbnRlbnRUYWJzKSx0aGlzLnNldE1haW5NZW51U2VsZWN0aW9uKFEuaWQpO2xldCBtMT17dmlld0lkOlEuaWQsdmlldzpRLHByZXZpb3VzVmlldzokZSxwYXJhbXM6aWV9O3RoaXMudmlld0NoYW5nZWQkLm5leHQobTEpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInZpZXctY2hhbmdlIix7ZGV0YWlsOm0xLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyTWVudVNlbGVjdChRKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhcHBiYXItbWVudS1zZWxlY3QiLHtkZXRhaWw6US5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJCcmVhZGNydW1iTmF2aWdhdGUoUSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYXBwYmFyLWJyZWFkY3J1bWItbmF2aWdhdGUiLHtkZXRhaWw6US5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJTZWFyY2hDbGljaygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFwcGJhci1zZWFyY2gtY2xpY2siLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhclNlYXJjaFF1ZXJ5KFEpe3RoaXMuc2VhcmNoQ2FsbGJhY2smJnRoaXMuc2VhcmNoQ2FsbGJhY2soUS5kZXRhaWwucXVlcnkpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlYXJjaC1xdWVyeSIse2RldGFpbDpRLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhclVzZXJNZW51T3Blbigpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFwcGJhci11c2VyLW1lbnUtb3BlbiIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyUHJvZmlsZU1lbnVTZWxlY3QoUSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYXBwYmFyLXByb2ZpbGUtbWVudS1zZWxlY3QiLHtkZXRhaWw6US5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVNYWlubWVudVRhYlNlbGVjdChRKXt0aGlzLm1haW5tZW51U2VsZWN0ZWRUYWI9US5kZXRhaWwudGFiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1haW5tZW51LXRhYi1zZWxlY3QiLHtkZXRhaWw6US5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTZWNvbmRhcnltZW51SXRlbVNlbGVjdChRKXt0aGlzLnNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW09US5kZXRhaWwuaXRlbSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWNvbmRhcnltZW51LWl0ZW0tc2VsZWN0Iix7ZGV0YWlsOlEuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlTWFpbm1lbnVDb2xsYXBzZUNoYW5nZShRKXt0aGlzLm1haW5tZW51Q29sbGFwc2VkPVEuZGV0YWlsLmNvbGxhcHNlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtYWlubWVudS1jb2xsYXBzZS1jaGFuZ2UiLHtkZXRhaWw6US5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTZWNvbmRhcnltZW51Q29sbGFwc2VDaGFuZ2UoUSl7dGhpcy5zZWNvbmRhcnltZW51Q29sbGFwc2VkPVEuZGV0YWlsLmNvbGxhcHNlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWNvbmRhcnltZW51LWNvbGxhcHNlLWNoYW5nZSIse2RldGFpbDpRLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNvbnRlbnRUYWJTZWxlY3QoUSl7dGhpcy5tYWluY29udGVudFNlbGVjdGVkVGFiPVEuZGV0YWlsLnRhYix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb250ZW50LXRhYi1zZWxlY3QiLHtkZXRhaWw6US5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDb250ZW50VGFiQ2xvc2UoUSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29udGVudC10YWItY2xvc2UiLHtkZXRhaWw6US5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1zdGF0aWN7WGUoYSxyKX19O3JldHVybiBvcGU9YX0pKCl9KTt2YXIgUWNyPWYoKCk9PntYY3IoKTtnNmUoKX0pO3ZhciBKY3I9ZigoKT0+e3k2ZSgpfSk7dmFyIEtjcj1mKCgpPT57YjZlKCl9KTt2YXIgZTByPWYoKCk9Pnt2NmUoKX0pO3ZhciB0MHI9ZigoKT0+e1JkZSgpfSk7dmFyIHIwcj1mKCgpPT57eDZlKCl9KTt2YXIgQUYsbnUsYTByLGkwcj1mKCgpPT57d2koKTtrcygpO0puKCk7dWUoKTtrYygpO2lyKCk7UWUoKTtBRj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LG51PWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxhMHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLW1vYmlsZW5hdmlnYXRpb24iKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXTt2YXIgdj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpBcnJheX0pXSxkPVtzZSgpXSxBRih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJoZWFkaW5nImluIGcsZ2V0Omc9PmcuaGVhZGluZyxzZXQ6KGcseSk9PntnLmhlYWRpbmc9eX19LG1ldGFkYXRhOmJ9LHMsbyksQUYodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJtZW51SXRlbXMiaW4gZyxnZXQ6Zz0+Zy5tZW51SXRlbXMsc2V0OihnLHkpPT57Zy5tZW51SXRlbXM9eX19LG1ldGFkYXRhOmJ9LGwsdSksQUYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2JpbGVOYXZaSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJtb2JpbGVOYXZaSW5kZXgiaW4gZyxnZXQ6Zz0+Zy5tb2JpbGVOYXZaSW5kZXgsc2V0OihnLHkpPT57Zy5tb2JpbGVOYXZaSW5kZXg9eX19LG1ldGFkYXRhOmJ9LGgsbSksQUYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCxyKSx2PWE9dC52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdO3N0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57di5jcmVhdGVBbmRTaG93KFt7bmFtZToiRGFzaGJvYXJkIixpY29uTmFtZToibHVjaWRlOmxheW91dC1kYXNoYm9hcmQiLGFjdGlvbjphc3luYyBiPT4oY29uc29sZS5sb2coIk5hdmlnYXRlIHRvIGRhc2hib2FyZCIpLG51bGwpfSx7bmFtZToiUHJvZmlsZSIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixhY3Rpb246YXN5bmMgYj0+KGNvbnNvbGUubG9nKCJOYXZpZ2F0ZSB0byBwcm9maWxlIiksbnVsbCl9LHtuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsYWN0aW9uOmFzeW5jIGI9Pihjb25zb2xlLmxvZygiTmF2aWdhdGUgdG8gc2V0dGluZ3MiKSxudWxsKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJIZWxwIixpY29uTmFtZToibHVjaWRlOmhlbHAtY2lyY2xlIixhY3Rpb246YXN5bmMgYj0+KGNvbnNvbGUubG9nKCJTaG93IGhlbHAiKSxudWxsKX0se25hbWU6IlNpZ24gT3V0IixpY29uTmFtZToibHVjaWRlOmxvZy1vdXQiLGFjdGlvbjphc3luYyBiPT4oY29uc29sZS5sb2coIlNpZ24gb3V0IiksbnVsbCl9XSl9fT5PcGVuIE1vYmlsZSBOYXZpZ2F0aW9uPC9kZWVzLWJ1dHRvbj4KICBgO3N0YXRpYyBzaW5nbGV0b25SZWY7c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coYil7cmV0dXJuIHRoaXMuc2luZ2xldG9uUmVmfHwodGhpcy5zaW5nbGV0b25SZWY9bmV3IHYsZG9jdW1lbnQuYm9keS5hcHBlbmQodGhpcy5zaW5nbGV0b25SZWYpLGF3YWl0IHRoaXMuc2luZ2xldG9uUmVmLmluaXQoKSksdGhpcy5zaW5nbGV0b25SZWYubWVudUl0ZW1zPWIsYXdhaXQgdGhpcy5zaW5nbGV0b25SZWYucmVhZHlEZWZlcnJlZC5wcm9taXNlLHRoaXMuc2luZ2xldG9uUmVmLnNob3coKSx0aGlzLnNpbmdsZXRvblJlZn0jZT1udSh0aGlzLHMsIk1lbnUiKTtnZXQgaGVhZGluZygpe3JldHVybiB0aGlzLiNlfXNldCBoZWFkaW5nKGIpe3RoaXMuI2U9Yn0jdD0obnUodGhpcyxvKSxudSh0aGlzLGwsW10pKTtnZXQgbWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1lbnVJdGVtcyhiKXt0aGlzLiN0PWJ9I3I9KG51KHRoaXMsdSksbnUodGhpcyxoLDFlMykpO2dldCBtb2JpbGVOYXZaSW5kZXgoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbW9iaWxlTmF2WkluZGV4KGIpe3RoaXMuI3I9Yn1yZWFkeURlZmVycmVkPShudSh0aGlzLG0pLFN0LnBsdWdpbnMuc21hcnRwcm9taXNlLmRlZmVyKCkpO2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1hc3luYyBpbml0KCl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7SXJ9OwogICAgICB9CgogICAgICAubWFpbiB7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogMzIwcHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICByaWdodDogMHB4OwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGJvdHRvbTogMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBib3gtc2hhZG93OiAke3AuYmRUaGVtZSgiLTIwcHggMCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAtMTBweCAwIDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMDQpIiwiLTIwcHggMCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpLCAtMTBweCAwIDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAubWFpbi5zaG93IHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAubWVudS1jb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpOwogICAgICB9CgogICAgICAubWVudUl0ZW0gZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTpob3ZlciBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAubWVudUl0ZW0tZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIG1hcmdpbjogOHB4IDE2cHg7CiAgICAgIH0KCiAgICAgIC8qIE1vYmlsZSByZXNwb25zaXZlbmVzcyAqLwogICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHsKICAgICAgICAubWFpbiB7CiAgICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3OwogICAgICAgICAgd2lkdGg6IDg1dnc7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKiBBbmltYXRpb24gZm9yIG1lbnUgaXRlbXMgKi8KICAgICAgQGtleWZyYW1lcyBzbGlkZUluUmlnaHQgewogICAgICAgIGZyb20gewogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICAgICAgICB9CiAgICAgICAgdG8gewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5tYWluLnNob3cgLm1lbnVJdGVtIHsKICAgICAgICBhbmltYXRpb246IHNsaWRlSW5SaWdodCAwLjNzIGVhc2Utb3V0IGZvcndhcmRzOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1pdGVtLWluZGV4LCAwKSAqIDAuMDVzKTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAvKiBTY3JvbGxiYXIgc3R5bGluZyAqLwogICAgICAubWVudS1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAubWVudS1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm1lbnUtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLm1lbnUtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNTI1MjViIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPHN0eWxlPgogICAgICAgIC5tYWluIHsKICAgICAgICAgIC0tei1pbmRleDogJHt0aGlzLm1vYmlsZU5hdlpJbmRleH07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJtYWluIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGgyIGNsYXNzPSJoZWFkaW5nIj4ke3RoaXMuaGVhZGluZ308L2gyPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtY29udGFpbmVyIj4KICAgICAgICAgICR7dGhpcy5tZW51SXRlbXMubWFwKChiLGcpPT4iZGl2aWRlciJpbiBiJiZiLmRpdmlkZXI/TWA8ZGl2IGNsYXNzPSJtZW51SXRlbS1kaXZpZGVyIj48L2Rpdj5gOk1gCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVJdGVtIgogICAgICAgICAgICAgICAgc3R5bGU9Ii0taXRlbS1pbmRleDogJHtnfSIKICAgICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3RoaXMuaGlkZSgpLGIuYWN0aW9uKHRoaXMpfX0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtiLmljb25OYW1lP01gCiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHtiLmljb25OYW1lfSBzaXplPSIyMCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnVJdGVtLXRleHQiPiR7Yi5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH13aW5kb3dMYXllcjthc3luYyBzaG93KCl7bGV0IGI9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsZz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW4iKTt0aGlzLndpbmRvd0xheWVyPyhkb2N1bWVudC5ib2R5LmFwcGVuZCh0aGlzLndpbmRvd0xheWVyKSxhd2FpdCB0aGlzLndpbmRvd0xheWVyLnNob3coKSk6KHRoaXMud2luZG93TGF5ZXI9YXdhaXQgT3MuY3JlYXRlQW5kU2hvdyh7Ymx1cjohMH0pLHRoaXMud2luZG93TGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5oaWRlKCl9KSksdGhpcy5tb2JpbGVOYXZaSW5kZXg9cmEuZ2V0TmV4dFpJbmRleCgpLHJhLnJlZ2lzdGVyKHRoaXMsdGhpcy5tb2JpbGVOYXZaSW5kZXgpLGF3YWl0IGIuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigxMCksZy5jbGFzc0xpc3QuYWRkKCJzaG93Iil9YXN5bmMgaGlkZSgpe2xldCBiPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubWFpbiIpLmNsYXNzTGlzdC5yZW1vdmUoInNob3ciKSxyYS51bnJlZ2lzdGVyKHRoaXMpLHRoaXMud2luZG93TGF5ZXImJmF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxyYS51bnJlZ2lzdGVyKHRoaXMpLHRoaXMud2luZG93TGF5ZXImJmF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpfXN0YXRpY3tudShhLHIpfX07cmV0dXJuIHY9YX0pKCl9KTt2YXIgbjByPWYoKCk9PntpMHIoKX0pO3ZhciBzMHI9ZigoKT0+e1gycigpO0JkZSgpO21scigpO1FjcigpO0pjcigpO0tjcigpO2UwcigpO3QwcigpO3IwcigpO24wcigpfSk7dmFyIG8wcj1mKCgpPT57WjQoKX0pO3ZhciBsMHIsdzZlLGMwcixkMHI9ZigoKT0+e3VlKCk7bDByPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sdzZlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxjMHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWJ1dHRvbi1leGl0IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6TnVtYmVyfSldLGwwcih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJzaXplImluIHUsZ2V0OnU9PnUuc2l6ZSxzZXQ6KHUsZCk9Pnt1LnNpemU9ZH19LG1ldGFkYXRhOmx9LHMsbyksbDByKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGVlcy1idXR0b24tZXhpdD48L2RlZXMtYnV0dG9uLWV4aXQ+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkJ1dHRvbiJdOyNlPXc2ZSh0aGlzLHMsMjQpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNpemUobCl7dGhpcy4jZT1sfXN0eWxlcz0odzZlKHRoaXMsbyksW3AuZGVmYXVsdFN0eWxlcyxKYAoKICAgIGBdKTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPHN0eWxlPgogICAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHdpZHRoOiAke3RoaXMuc2l6ZX1weDsKICAgICAgICAgIGhlaWdodDogJHt0aGlzLnNpemV9cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdExpbmUiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY29uZExpbmUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3c2ZShhLHIpfX07cmV0dXJuIGM9YX0pKCl9KTt2YXIgdTByPWYoKCk9PntkMHIoKX0pO3ZhciBwMHIsZjByPWYoKCk9Pnt1ZSgpO3Awcj0oKT0+TWAKICAgIDxzdHlsZT4KICAgICAgJHtKYAogICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7CiAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tdGl0bGUgewogICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1kZXNjcmlwdGlvbiB7CiAgICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkJhc2ljIEJ1dHRvbiBHcm91cHM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5CdXR0b24gZ3JvdXBzIHdpdGhvdXQgbGFiZWxzIGZvciBzaW1wbGUgZ3JvdXBpbmc8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgICAgPGRlZXMtYnV0dG9uPk9wdGlvbiAxPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5PcHRpb24gMjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+T3B0aW9uIDM8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkxhYmVsZWQgQnV0dG9uIEdyb3VwczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkJ1dHRvbiBncm91cHMgd2l0aCBkZXNjcmlwdGl2ZSBsYWJlbHM8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJWaWV3IE1vZGU6Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+R3JpZDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+TGlzdDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+Q2FyZHM8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPk11bHRpcGxlIEdyb3VwczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPk11bHRpcGxlIGJ1dHRvbiBncm91cHMgdXNlZCB0b2dldGhlcjwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBnYXA6IDE2cHg7IGZsZXgtd3JhcDogd3JhcDsiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJEYXRhc2V0OiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+U3lzdGVtPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPk5ldHdvcms8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U2FsZXM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJUaW1lIFJhbmdlOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj4xSDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+MjRIPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPjdEPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPjMwRDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlJlZnJlc2g8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+RXhwb3J0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlZlcnRpY2FsIEJ1dHRvbiBHcm91cHM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5CdXR0b24gZ3JvdXBzIHdpdGggdmVydGljYWwgbGF5b3V0PC9wPgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogMjRweDsiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGRpcmVjdGlvbj0idmVydGljYWwiIGxhYmVsPSJOYXZpZ2F0aW9uOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5EYXNoYm9hcmQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iaGlnaGxpZ2h0ZWQiPkFuYWx5dGljczwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5SZXBvcnRzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlNldHRpbmdzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBkaXJlY3Rpb249InZlcnRpY2FsIj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkFkZCBJdGVtPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkVkaXQgSXRlbTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5EZWxldGUgSXRlbTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5NaXhlZCBCdXR0b24gVHlwZXM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5EaWZmZXJlbnQgYnV0dG9uIHR5cGVzIHdpdGhpbiBncm91cHM8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJTdGF0dXM6Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJzdWNjZXNzIj5BY3RpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlBlbmRpbmc8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRhbmdlciI+SW5hY3RpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0pO3ZhciBNNmUsUmIsaDByLG0wcj1mKCgpPT57dWUoKTtKdCgpO2YwcigpO1FlKCk7TTZlPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sUmI9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGgwcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtYnV0dG9uLWdyb3VwIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBoPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0YoKV0sYz1bRigpXSxNNmUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+ImxhYmVsImluIG0sZ2V0Om09Pm0ubGFiZWwsc2V0OihtLHYpPT57bS5sYWJlbD12fX0sbWV0YWRhdGE6aH0scyxvKSxNNmUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXJlY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJkaXJlY3Rpb24iaW4gbSxnZXQ6bT0+bS5kaXJlY3Rpb24sc2V0OihtLHYpPT57bS5kaXJlY3Rpb249dn19LG1ldGFkYXRhOmh9LGwsdSksTTZlKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmh9LG51bGwsciksZD1hPXQudmFsdWUsaCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpofSl9c3RhdGljIGRlbW89cDByO3N0YXRpYyBkZW1vR3JvdXBzPVsiQnV0dG9uIl07I2U9UmIodGhpcyxzLCIiKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbGFiZWwoaCl7dGhpcy4jZT1ofSN0PShSYih0aGlzLG8pLFJiKHRoaXMsbCwiaG9yaXpvbnRhbCIpKTtnZXQgZGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGRpcmVjdGlvbihoKXt0aGlzLiN0PWh9Y29uc3RydWN0b3IoKXtzdXBlcigpLFJiKHRoaXMsdSkscGEuc2V0dXAoKX1zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAuYnV0dG9uLWdyb3VwLnZlcnRpY2FsIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICB9CgogICAgICAubGFiZWwgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi1ncm91cC52ZXJ0aWNhbCAubGFiZWwgewogICAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAgJHt0aGlzLmRpcmVjdGlvbn0iPgogICAgICAgICR7dGhpcy5sYWJlbD9NYDxzcGFuIGNsYXNzPSJsYWJlbCI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tSYihhLHIpfX07cmV0dXJuIGQ9YX0pKCl9KTt2YXIgZzByPWYoKCk9PnttMHIoKX0pO3ZhciBiMHI9ZigoKT0+e28wcigpO3UwcigpO2cwcigpfSk7dmFyIHYwcix4MHI9ZigoKT0+e3VlKCk7aGEoKTtrNmUoKTt2MHI9KCk9PntsZXQgZT17c3lzdGVtOntsYWJlbDoiU3lzdGVtIFVzYWdlICglKSIsc2VyaWVzOlt7bmFtZToiQ1BVIixkYXRhOlt7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTNlNSkudG9JU09TdHJpbmcoKSx5OjI1fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTI0ZTQpLnRvSVNPU3RyaW5nKCkseTozMH0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0xOGU0KS50b0lTT1N0cmluZygpLHk6Mjh9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMTJlNCkudG9JU09TdHJpbmcoKSx5OjM1fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTZlNCkudG9JU09TdHJpbmcoKSx5OjMyfSx7eDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkseTozOH1dfSx7bmFtZToiTWVtb3J5IixkYXRhOlt7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTNlNSkudG9JU09TdHJpbmcoKSx5OjQ1fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTI0ZTQpLnRvSVNPU3RyaW5nKCkseTo0OH0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0xOGU0KS50b0lTT1N0cmluZygpLHk6NDZ9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMTJlNCkudG9JU09TdHJpbmcoKSx5OjUyfSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTZlNCkudG9JU09TdHJpbmcoKSx5OjUwfSx7eDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkseTo1NX1dfV19fSx0PXtzeXN0ZW06cj0+YCR7cn0lYH07cmV0dXJuIE1gCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyByPT57bGV0IGE9ci5xdWVyeVNlbGVjdG9yKCIjbWFpbi1jaGFydCIpLGk9ci5xdWVyeVNlbGVjdG9yKCIjY29ubmVjdGlvbnMtY2hhcnQiKSxuLHMsbz0ic3lzdGVtIixjPXtzeXN0ZW06ej0+YCR7en0lYCxuZXR3b3JrOno9PmAke3p9IE1icHNgLHNhbGVzOno9PmAkJHt6LnRvTG9jYWxlU3RyaW5nKCl9YH0sbD0xMjAqMWUzLHU9MWUzLGQ9NWUzLGg9e2NwdTozMCxtZW1vcnk6NTAsZG93bmxvYWQ6MTUwLHVwbG9hZDozMCxjb25uZWN0aW9uczoxNTB9LG09KHosRSxUPWQpPT57bGV0IEw9W10sVj1EYXRlLm5vdygpLEI9TWF0aC5mbG9vcihsL1QpO2ZvcihsZXQgVT1CO1U+PTA7VS0tKXtsZXQgSz1uZXcgRGF0ZShWLVUqVCkudG9JU09TdHJpbmcoKSxJPXorKE1hdGgucmFuZG9tKCktLjUpKkU7TC5wdXNoKHt4OksseTpNYXRoLnJvdW5kKEkpfSl9cmV0dXJuIEx9LHY9e3N5c3RlbTp7bGFiZWw6IlN5c3RlbSBVc2FnZSAoJSkiLHNlcmllczpbe25hbWU6IkNQVSIsZGF0YTptKGguY3B1LDEwKX0se25hbWU6Ik1lbW9yeSIsZGF0YTptKGgubWVtb3J5LDgpfV19LG5ldHdvcms6e2xhYmVsOiJOZXR3b3JrIFRyYWZmaWMgKE1icHMpIixzZXJpZXM6W3tuYW1lOiJEb3dubG9hZCIsZGF0YTptKGguZG93bmxvYWQsMzApfSx7bmFtZToiVXBsb2FkIixkYXRhOm0oaC51cGxvYWQsMTApfV19LHNhbGVzOntsYWJlbDoiU2FsZXMgQW5hbHl0aWNzIixzZXJpZXM6W3tuYW1lOiJSZXZlbnVlIixkYXRhOlt7eDoiMjAyNS0wMS0wMSIseTo0NWUzfSx7eDoiMjAyNS0wMS0wMiIseTo1MmUzfSx7eDoiMjAyNS0wMS0wMyIseTo0OGUzfSx7eDoiMjAyNS0wMS0wNCIseTo2MWUzfSx7eDoiMjAyNS0wMS0wNSIseTo1OGUzfSx7eDoiMjAyNS0wMS0wNiIseTo2NWUzfV19LHtuYW1lOiJQcm9maXQiLGRhdGE6W3t4OiIyMDI1LTAxLTAxIix5OjEyZTN9LHt4OiIyMDI1LTAxLTAyIix5OjE0ZTN9LHt4OiIyMDI1LTAxLTAzIix5OjExZTN9LHt4OiIyMDI1LTAxLTA0Iix5OjE4ZTN9LHt4OiIyMDI1LTAxLTA1Iix5OjE2ZTN9LHt4OiIyMDI1LTAxLTA2Iix5OjJlNH1dfV19fSxiPSh6LEUsVCxMPTUpPT57bGV0IFY9KE1hdGgucmFuZG9tKCktLjUpKkwqMixCPXorVixLPSgoRStUKS8yLUIpKi4xO3JldHVybiBCKz1LLEI9TWF0aC5tYXgoRSxNYXRoLm1pbihULEIpKSxNYXRoLnJvdW5kKEIpfSxnPURhdGUubm93KCkseT1EYXRlLm5vdygpLHc9KCk9PntpZighYSlyZXR1cm47bGV0IHo9RGF0ZS5ub3coKTtpZih6LWc+PWQpe2c9ejtsZXQgVD1uZXcgRGF0ZSh6KS50b0lTT1N0cmluZygpO2lmKG89PT0ic3lzdGVtIil7aC5jcHU9YihoLmNwdSwyMCw1MCwzKSxoLm1lbW9yeT1iKGgubWVtb3J5LDQwLDcwLDIpO2xldCBMPWEuY2hhcnRTZXJpZXMubWFwKChWLEIpPT4oe25hbWU6Vi5uYW1lLGRhdGE6Wy4uLlYuZGF0YSxCPT09MD97eDpULHk6aC5jcHV9Ont4OlQseTpoLm1lbW9yeX1dfSkpO2EudXBkYXRlU2VyaWVzKEwsITEpfWVsc2UgaWYobz09PSJuZXR3b3JrIil7aC5kb3dubG9hZD1iKGguZG93bmxvYWQsMTAwLDIwMCwxMCksaC51cGxvYWQ9YihoLnVwbG9hZCwyMCw1MCw1KTtsZXQgTD1hLmNoYXJ0U2VyaWVzLm1hcCgoVixCKT0+KHtuYW1lOlYubmFtZSxkYXRhOlsuLi5WLmRhdGEsQj09PTA/e3g6VCx5OmguZG93bmxvYWR9Ont4OlQseTpoLnVwbG9hZH1dfSkpO2EudXBkYXRlU2VyaWVzKEwsITEpfX19LGs9KCk9PntpZighaSlyZXR1cm47bGV0IHo9RGF0ZS5ub3coKSxFPW5ldyBEYXRlKHopLnRvSVNPU3RyaW5nKCksVD1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjEpLTEwO2guY29ubmVjdGlvbnM9TWF0aC5tYXgoNTAsTWF0aC5taW4oMzAwLGguY29ubmVjdGlvbnMrVCkpO2xldCBMPWkuY2hhcnRTZXJpZXMsVj1be25hbWU6TFswXT8ubmFtZXx8IkNvbm5lY3Rpb25zIixkYXRhOlsuLi5MWzBdPy5kYXRhfHxbXSx7eDpFLHk6aC5jb25uZWN0aW9uc31dfV07aS51cGRhdGVTZXJpZXMoViwhMSl9LFI9ej0+e289ejtsZXQgRT12W3pdO2EubGFiZWw9RS5sYWJlbCxhLnNlcmllcz1FLnNlcmllcyxhLnlBeGlzRm9ybWF0dGVyPWNbel0sej09PSJzeXN0ZW0iPyhhLnlBeGlzU2NhbGluZz0icGVyY2VudGFnZSIsYS55QXhpc01heD0xMDApOmEueUF4aXNTY2FsaW5nPSJkeW5hbWljIixnPURhdGUubm93KCktZH0sQz0oKT0+eyFuJiYobz09PSJzeXN0ZW0ifHxvPT09Im5ldHdvcmsiKSYmKGEucmVhbHRpbWVNb2RlPSEwLG49d2luZG93LnNldEludGVydmFsKCgpPT53KCksZCkpLHN8fChpLnJlYWx0aW1lTW9kZT0hMCxzPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+aygpLHUpKX0sUz0oKT0+e24mJih3aW5kb3cuY2xlYXJJbnRlcnZhbChuKSxuPW51bGwsYS5yZWFsdGltZU1vZGU9ITEpLHMmJih3aW5kb3cuY2xlYXJJbnRlcnZhbChzKSxzPW51bGwsaS5yZWFsdGltZU1vZGU9ITEpfSxPPSgpPT57bz09PSJzeXN0ZW0iPyhoLmNwdT1NYXRoLnJhbmRvbSgpPi41Pzg1OjI1LGgubWVtb3J5PU1hdGgucmFuZG9tKCk+LjU/ODA6NDUpOm89PT0ibmV0d29yayImJihoLmRvd25sb2FkPU1hdGgucmFuZG9tKCk+LjU/MjUwOjEwMCxoLnVwbG9hZD1NYXRoLnJhbmRvbSgpPi41PzgwOjIwKSxoLmNvbm5lY3Rpb25zPU1hdGgucmFuZG9tKCk+LjU/MjgwOjgwLGc9MCx5PTB9LEQ9ci5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpO0QuZm9yRWFjaCh6PT57bGV0IEU9ei50ZXh0Q29udGVudD8udHJpbSgpO0U9PT0iU3lzdGVtIFVzYWdlIj96LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+Uigic3lzdGVtIikpOkU9PT0iTmV0d29yayBUcmFmZmljIj96LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+UigibmV0d29yayIpKTpFPT09IlNhbGVzIERhdGEiP3ouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5SKCJzYWxlcyIpKTpFPT09IlN0YXJ0IExpdmUiP3ouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5DKCkpOkU9PT0iU3RvcCBMaXZlIj96LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+UygpKTpFPT09IlNwaWtlIFZhbHVlcyImJnouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5PKCkpfSk7bGV0IE49KCk9PntyLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChFPT57bGV0IFQ9RS50ZXh0Q29udGVudD8udHJpbSgpO1Q9PT0iU3lzdGVtIFVzYWdlIj9FLnR5cGU9bz09PSJzeXN0ZW0iPyJoaWdobGlnaHRlZCI6Im5vcm1hbCI6VD09PSJOZXR3b3JrIFRyYWZmaWMiP0UudHlwZT1vPT09Im5ldHdvcmsiPyJoaWdobGlnaHRlZCI6Im5vcm1hbCI6VD09PSJTYWxlcyBEYXRhIiYmKEUudHlwZT1vPT09InNhbGVzIj8iaGlnaGxpZ2h0ZWQiOiJub3JtYWwiKX0pfTthLnJvbGxpbmdXaW5kb3c9bCxhLnJlYWx0aW1lTW9kZT0hMSxhLnlBeGlzU2NhbGluZz0icGVyY2VudGFnZSIsYS55QXhpc01heD0xMDAsYS5hdXRvU2Nyb2xsSW50ZXJ2YWw9MWUzLHNldFRpbWVvdXQoKCk9PnthLnVwZGF0ZVRpbWVXaW5kb3coKX0sMTAwKTtsZXQgcT1SLF89ej0+e3EoeiksTigpfTtpZihELmZvckVhY2goej0+e2xldCBFPXoudGV4dENvbnRlbnQ/LnRyaW0oKTtFPT09IlN5c3RlbSBVc2FnZSI/KHoucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5SKCJzeXN0ZW0iKSksei5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pl8oInN5c3RlbSIpKSk6RT09PSJOZXR3b3JrIFRyYWZmaWMiPyh6LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+UigibmV0d29yayIpKSx6LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+XygibmV0d29yayIpKSk6RT09PSJTYWxlcyBEYXRhIiYmKHoucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5SKCJzYWxlcyIpKSx6LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+Xygic2FsZXMiKSkpfSksaSl7bGV0IHo9bShoLmNvbm5lY3Rpb25zLDMwLHUpO2kuc2VyaWVzPVt7bmFtZToiQ29ubmVjdGlvbnMiLGRhdGE6en1dLGkucm9sbGluZ1dpbmRvdz1sLGkucmVhbHRpbWVNb2RlPSExLGkueUF4aXNTY2FsaW5nPSJmaXhlZCIsaS55QXhpc01heD0zNTAsaS5hdXRvU2Nyb2xsSW50ZXJ2YWw9MWUzLHNldFRpbWVvdXQoKCk9PntpLnVwZGF0ZVRpbWVXaW5kb3coKX0sMTAwKX19fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7SmAKICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbnRyb2xzIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jaGFydC1jb250YWluZXIgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaW5mbyB7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkRhdGFzZXQ6Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+U3lzdGVtIFVzYWdlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5OZXR3b3JrIFRyYWZmaWM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlNhbGVzIERhdGE8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJSZWFsLXRpbWU6Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TdGFydCBMaXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TdG9wIExpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBY3Rpb25zOiI+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3Bpa2UgVmFsdWVzPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciI+CiAgICAgICAgPGRlZXMtY2hhcnQtYXJlYQogICAgICAgICAgaWQ9Im1haW4tY2hhcnQiCiAgICAgICAgICAubGFiZWw9JHtlLnN5c3RlbS5sYWJlbH0KICAgICAgICAgIC5zZXJpZXM9JHtlLnN5c3RlbS5zZXJpZXN9CiAgICAgICAgICAueUF4aXNGb3JtYXR0ZXI9JHt0LnN5c3RlbX0KICAgICAgICA+PC9kZWVzLWNoYXJ0LWFyZWE+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIiBzdHlsZT0ibWFyZ2luLXRvcDogMjBweDsiPgogICAgICAgIDxkZWVzLWNoYXJ0LWFyZWEKICAgICAgICAgIGlkPSJjb25uZWN0aW9ucy1jaGFydCIKICAgICAgICAgIC5sYWJlbD0keyJBY3RpdmUgQ29ubmVjdGlvbnMifQogICAgICAgICAgLnNlcmllcz0ke1t7bmFtZToiQ29ubmVjdGlvbnMiLGRhdGE6W119XX0KICAgICAgICAgIC55QXhpc0Zvcm1hdHRlcj0ke3I9PmAke3J9YH0KICAgICAgICA+PC9kZWVzLWNoYXJ0LWFyZWE+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgUmVhbC10aW1lIG1vbml0b3Jpbmcgd2l0aCAyLW1pbnV0ZSByb2xsaW5nIHdpbmRvdyDigKIgCiAgICAgICAgVXBkYXRlcyBldmVyeSBzZWNvbmQgd2l0aCBzbW9vdGggdmFsdWUgdHJhbnNpdGlvbnMg4oCiIAogICAgICAgIENsaWNrICdTcGlrZSBWYWx1ZXMnIHRvIHNpbXVsYXRlIGxvYWQgc3Bpa2VzCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYH19KTt2YXIgeTByLHcwcj1mKCgpPT57dWUoKTt5MHI9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAzLjklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgICAgLm1haW5ib3ggewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jaGFydFRpdGxlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBwYWRkaW5nOiAxNnB4IDI0cHg7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICB9CiAgICAgIC5jaGFydENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICByaWdodDogMHB4OwogICAgICAgIHBhZGRpbmc6IDQ0cHggMTZweCAxNnB4IDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBFbnN1cmUgY29udGFpbmVyIGRvZXNuJ3Qgb3ZlcnJpZGUgY2hhcnQgYmFja2dyb3VuZCAqLwogICAgICB9CiAgICAgIAogICAgICAvKiBBcGV4Q2hhcnRzIHRoZW1lIG92ZXJyaWRlcyAqLwogICAgICAuYXBleGNoYXJ0cy1jYW52YXMgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5hcGV4Y2hhcnRzLWlubmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAgICB9CiAgICAgIAogICAgICAuYXBleGNoYXJ0cy1ncmFwaGljYWwgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIGBdfSk7dmFyIE0wcixrMHI9ZigoKT0+e3VlKCk7TTByPWU9Pk1gCiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydFRpdGxlIj4ke2UubGFiZWx9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydENvbnRhaW5lciI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9KTt2YXIgUm8sTm4sUzZlPWYoKCk9PntSbz17eHRlcm06IjUuMy4wIix4dGVybUFkZG9uRml0OiIwLjguMCIseHRlcm1BZGRvblNlYXJjaDoiMC4xMy4wIixoaWdobGlnaHRKczoiMTEuMTEuMSIsYXBleGNoYXJ0czoiNS4zLjYiLHRpcHRhcDoiMi4yMy4wIixmb250YXdlc29tZToiNy4xLjAifSxObj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbSJ9KTt2YXIgZW4sUzByPWYoKCk9PntTNmUoKTtlbj1jbGFzcyBle3N0YXRpYyBpbnN0YW5jZTt4dGVybUxpYj1udWxsO3h0ZXJtRml0QWRkb25MaWI9bnVsbDt4dGVybVNlYXJjaEFkZG9uTGliPW51bGw7aGlnaGxpZ2h0SnNMaWI9bnVsbDthcGV4Q2hhcnRzTGliPW51bGw7dGlwdGFwTGliPW51bGw7eHRlcm1Mb2FkaW5nUHJvbWlzZT1udWxsO3h0ZXJtRml0QWRkb25Mb2FkaW5nUHJvbWlzZT1udWxsO3h0ZXJtU2VhcmNoQWRkb25Mb2FkaW5nUHJvbWlzZT1udWxsO2hpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U9bnVsbDthcGV4Q2hhcnRzTG9hZGluZ1Byb21pc2U9bnVsbDt0aXB0YXBMb2FkaW5nUHJvbWlzZT1udWxsO2NvbnN0cnVjdG9yKCl7fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBlLmluc3RhbmNlfHwoZS5pbnN0YW5jZT1uZXcgZSksZS5pbnN0YW5jZX1hc3luYyBsb2FkWHRlcm0oKXtyZXR1cm4gdGhpcy54dGVybUxpYj90aGlzLnh0ZXJtTGliOnRoaXMueHRlcm1Mb2FkaW5nUHJvbWlzZT90aGlzLnh0ZXJtTG9hZGluZ1Byb21pc2U6KHRoaXMueHRlcm1Mb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCByPWF3YWl0IGltcG9ydChgJHtObn0veHRlcm1AJHtSby54dGVybX0vK2VzbWApO3JldHVybiBhd2FpdCB0aGlzLmluamVjdFh0ZXJtU3R5bGVzKCksdGhpcy54dGVybUxpYj17VGVybWluYWw6ci5UZXJtaW5hbH0sdGhpcy54dGVybUxpYn0pKCksdGhpcy54dGVybUxvYWRpbmdQcm9taXNlKX1hc3luYyBsb2FkWHRlcm1GaXRBZGRvbigpe3JldHVybiB0aGlzLnh0ZXJtRml0QWRkb25MaWI/dGhpcy54dGVybUZpdEFkZG9uTGliOnRoaXMueHRlcm1GaXRBZGRvbkxvYWRpbmdQcm9taXNlP3RoaXMueHRlcm1GaXRBZGRvbkxvYWRpbmdQcm9taXNlOih0aGlzLnh0ZXJtRml0QWRkb25Mb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCByPWF3YWl0IGltcG9ydChgJHtObn0veHRlcm0tYWRkb24tZml0QCR7Um8ueHRlcm1BZGRvbkZpdH0vK2VzbWApO3JldHVybiB0aGlzLnh0ZXJtRml0QWRkb25MaWI9e0ZpdEFkZG9uOnIuRml0QWRkb259LHRoaXMueHRlcm1GaXRBZGRvbkxpYn0pKCksdGhpcy54dGVybUZpdEFkZG9uTG9hZGluZ1Byb21pc2UpfWFzeW5jIGxvYWRYdGVybVNlYXJjaEFkZG9uKCl7cmV0dXJuIHRoaXMueHRlcm1TZWFyY2hBZGRvbkxpYj90aGlzLnh0ZXJtU2VhcmNoQWRkb25MaWI6dGhpcy54dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U/dGhpcy54dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U6KHRoaXMueHRlcm1TZWFyY2hBZGRvbkxvYWRpbmdQcm9taXNlPShhc3luYygpPT57bGV0IHI9YXdhaXQgaW1wb3J0KGAke05ufS94dGVybS1hZGRvbi1zZWFyY2hAJHtSby54dGVybUFkZG9uU2VhcmNofS8rZXNtYCk7cmV0dXJuIHRoaXMueHRlcm1TZWFyY2hBZGRvbkxpYj17U2VhcmNoQWRkb246ci5TZWFyY2hBZGRvbn0sdGhpcy54dGVybVNlYXJjaEFkZG9uTGlifSkoKSx0aGlzLnh0ZXJtU2VhcmNoQWRkb25Mb2FkaW5nUHJvbWlzZSl9YXN5bmMgaW5qZWN0WHRlcm1TdHlsZXMoKXtsZXQgdD0ieHRlcm0tY2RuLXN0eWxlcyI7aWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCkpcmV0dXJuO2xldCByPWAke05ufS94dGVybUAke1JvLnh0ZXJtfS9jc3MveHRlcm0uY3NzYCxpPWF3YWl0KGF3YWl0IGZldGNoKHIpKS50ZXh0KCksbj1gCi8qIEZpeCB4dGVybS5qcyBXaWR0aENhY2hlIG1lYXN1cmVtZW50IGNvbnRhaW5lciBjYXVzaW5nIGhvcml6b250YWwgc2Nyb2xsYmFyICovCi8qIHh0ZXJtIGNyZWF0ZXMgdGhpcyBvbiBkb2N1bWVudC5ib2R5IC0gbW92ZSBpdCBvZmYtc2NyZWVuIGhvcml6b250YWxseSB0b28gKi8KYm9keSA+IGRpdltzdHlsZSo9InRvcDogLTUwMDAwcHgiXVtzdHlsZSo9IndpZHRoOiA1MDAwMHB4Il0gewogIGxlZnQ6IC01MDAwMHB4ICFpbXBvcnRhbnQ7Cn0KYCxzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7cy5pZD10LHMudGV4dENvbnRlbnQ9aStuLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyl9YXN5bmMgbG9hZEhpZ2hsaWdodEpzKCl7cmV0dXJuIHRoaXMuaGlnaGxpZ2h0SnNMaWI/dGhpcy5oaWdobGlnaHRKc0xpYjp0aGlzLmhpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U/dGhpcy5oaWdobGlnaHRKc0xvYWRpbmdQcm9taXNlOih0aGlzLmhpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgcj1hd2FpdCBpbXBvcnQoYCR7Tm59L2hpZ2hsaWdodC5qc0Ake1JvLmhpZ2hsaWdodEpzfS8rZXNtYCk7cmV0dXJuIHRoaXMuaGlnaGxpZ2h0SnNMaWI9ci5kZWZhdWx0LHRoaXMuaGlnaGxpZ2h0SnNMaWJ9KSgpLHRoaXMuaGlnaGxpZ2h0SnNMb2FkaW5nUHJvbWlzZSl9YXN5bmMgbG9hZEFwZXhDaGFydHMoKXtyZXR1cm4gdGhpcy5hcGV4Q2hhcnRzTGliP3RoaXMuYXBleENoYXJ0c0xpYjp0aGlzLmFwZXhDaGFydHNMb2FkaW5nUHJvbWlzZT90aGlzLmFwZXhDaGFydHNMb2FkaW5nUHJvbWlzZToodGhpcy5hcGV4Q2hhcnRzTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgcj1hd2FpdCBpbXBvcnQoYCR7Tm59L2FwZXhjaGFydHNAJHtSby5hcGV4Y2hhcnRzfS8rZXNtYCk7cmV0dXJuIHRoaXMuYXBleENoYXJ0c0xpYj1yLmRlZmF1bHQsdGhpcy5hcGV4Q2hhcnRzTGlifSkoKSx0aGlzLmFwZXhDaGFydHNMb2FkaW5nUHJvbWlzZSl9YXN5bmMgbG9hZFRpcHRhcCgpe3JldHVybiB0aGlzLnRpcHRhcExpYj90aGlzLnRpcHRhcExpYjp0aGlzLnRpcHRhcExvYWRpbmdQcm9taXNlP3RoaXMudGlwdGFwTG9hZGluZ1Byb21pc2U6KHRoaXMudGlwdGFwTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgdD1Sby50aXB0YXAsW3IsYSxpLG4scyxvXT1hd2FpdCBQcm9taXNlLmFsbChbaW1wb3J0KGAke05ufS9AdGlwdGFwL2NvcmVAJHt0fS8rZXNtYCksaW1wb3J0KGAke05ufS9AdGlwdGFwL3N0YXJ0ZXIta2l0QCR7dH0vK2VzbWApLGltcG9ydChgJHtObn0vQHRpcHRhcC9leHRlbnNpb24tdW5kZXJsaW5lQCR7dH0vK2VzbWApLGltcG9ydChgJHtObn0vQHRpcHRhcC9leHRlbnNpb24tdGV4dC1hbGlnbkAke3R9Lytlc21gKSxpbXBvcnQoYCR7Tm59L0B0aXB0YXAvZXh0ZW5zaW9uLWxpbmtAJHt0fS8rZXNtYCksaW1wb3J0KGAke05ufS9AdGlwdGFwL2V4dGVuc2lvbi10eXBvZ3JhcGh5QCR7dH0vK2VzbWApXSk7cmV0dXJuIHRoaXMudGlwdGFwTGliPXtFZGl0b3I6ci5FZGl0b3IsU3RhcnRlcktpdDphLmRlZmF1bHR8fGEuU3RhcnRlcktpdCxVbmRlcmxpbmU6aS5kZWZhdWx0fHxpLlVuZGVybGluZSxUZXh0QWxpZ246bi5kZWZhdWx0fHxuLlRleHRBbGlnbixMaW5rOnMuZGVmYXVsdHx8cy5MaW5rLFR5cG9ncmFwaHk6by5kZWZhdWx0fHxvLlR5cG9ncmFwaHl9LHRoaXMudGlwdGFwTGlifSkoKSx0aGlzLnRpcHRhcExvYWRpbmdQcm9taXNlKX1hc3luYyBwcmVsb2FkQWxsKCl7YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMubG9hZFh0ZXJtKCksdGhpcy5sb2FkWHRlcm1GaXRBZGRvbigpLHRoaXMubG9hZFh0ZXJtU2VhcmNoQWRkb24oKSx0aGlzLmxvYWRIaWdobGlnaHRKcygpLHRoaXMubG9hZEFwZXhDaGFydHMoKSx0aGlzLmxvYWRUaXB0YXAoKV0pfWlzTG9hZGVkKHQpe3N3aXRjaCh0KXtjYXNlInh0ZXJtIjpyZXR1cm4gdGhpcy54dGVybUxpYiE9PW51bGw7Y2FzZSJ4dGVybUZpdEFkZG9uIjpyZXR1cm4gdGhpcy54dGVybUZpdEFkZG9uTGliIT09bnVsbDtjYXNlInh0ZXJtU2VhcmNoQWRkb24iOnJldHVybiB0aGlzLnh0ZXJtU2VhcmNoQWRkb25MaWIhPT1udWxsO2Nhc2UiaGlnaGxpZ2h0SnMiOnJldHVybiB0aGlzLmhpZ2hsaWdodEpzTGliIT09bnVsbDtjYXNlImFwZXhDaGFydHMiOnJldHVybiB0aGlzLmFwZXhDaGFydHNMaWIhPT1udWxsO2Nhc2UidGlwdGFwIjpyZXR1cm4gdGhpcy50aXB0YXBMaWIhPT1udWxsO2RlZmF1bHQ6cmV0dXJuITF9fX19KTt2YXIgdDM9ZigoKT0+e1MwcigpO1M2ZSgpfSk7dmFyIHVsLFNpLHowcixrNmU9ZigoKT0+e3VlKCk7SnQoKTt4MHIoKTt3MHIoKTtrMHIoKTt0MygpO3VsPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sU2k9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LHowcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtY2hhcnQtYXJlYSIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdLHEsXz1bXSx6PVtdLEUsVD1bXSxMPVtdO3ZhciBWPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgQj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtzZSgpXSxjPVtGKCldLGQ9W0Yoe3R5cGU6QXJyYXl9KV0sdj1bRih7YXR0cmlidXRlOiExfSldLHk9W0Yoe3R5cGU6TnVtYmVyfSldLFI9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxPPVtGKHt0eXBlOlN0cmluZ30pXSxxPVtGKHt0eXBlOk51bWJlcn0pXSxFPVtGKHt0eXBlOk51bWJlcn0pXSx1bCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNoYXJ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpVPT4iY2hhcnQiaW4gVSxnZXQ6VT0+VS5jaGFydCxzZXQ6KFUsSyk9PntVLmNoYXJ0PUt9fSxtZXRhZGF0YTpCfSxzLG8pLHVsKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJsYWJlbCJpbiBVLGdldDpVPT5VLmxhYmVsLHNldDooVSxLKT0+e1UubGFiZWw9S319LG1ldGFkYXRhOkJ9LGwsdSksdWwodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJzZXJpZXMiaW4gVSxnZXQ6VT0+VS5zZXJpZXMsc2V0OihVLEspPT57VS5zZXJpZXM9S319LG1ldGFkYXRhOkJ9LGgsbSksdWwodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc0Zvcm1hdHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+InlBeGlzRm9ybWF0dGVyImluIFUsZ2V0OlU9PlUueUF4aXNGb3JtYXR0ZXIsc2V0OihVLEspPT57VS55QXhpc0Zvcm1hdHRlcj1LfX0sbWV0YWRhdGE6Qn0sYixnKSx1bCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvbGxpbmdXaW5kb3ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJyb2xsaW5nV2luZG93ImluIFUsZ2V0OlU9PlUucm9sbGluZ1dpbmRvdyxzZXQ6KFUsSyk9PntVLnJvbGxpbmdXaW5kb3c9S319LG1ldGFkYXRhOkJ9LHcsayksdWwodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWFsdGltZU1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJyZWFsdGltZU1vZGUiaW4gVSxnZXQ6VT0+VS5yZWFsdGltZU1vZGUsc2V0OihVLEspPT57VS5yZWFsdGltZU1vZGU9S319LG1ldGFkYXRhOkJ9LEMsUyksdWwodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc1NjYWxpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJ5QXhpc1NjYWxpbmciaW4gVSxnZXQ6VT0+VS55QXhpc1NjYWxpbmcsc2V0OihVLEspPT57VS55QXhpc1NjYWxpbmc9S319LG1ldGFkYXRhOkJ9LEQsTiksdWwodGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc01heCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+InlBeGlzTWF4ImluIFUsZ2V0OlU9PlUueUF4aXNNYXgsc2V0OihVLEspPT57VS55QXhpc01heD1LfX0sbWV0YWRhdGE6Qn0sXyx6KSx1bCh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9TY3JvbGxJbnRlcnZhbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+ImF1dG9TY3JvbGxJbnRlcnZhbCJpbiBVLGdldDpVPT5VLmF1dG9TY3JvbGxJbnRlcnZhbCxzZXQ6KFUsSyk9PntVLmF1dG9TY3JvbGxJbnRlcnZhbD1LfX0sbWV0YWRhdGE6Qn0sVCxMKSx1bChudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpCfSxudWxsLHIpLFY9YT10LnZhbHVlLEImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Qn0pfXN0YXRpYyBkZW1vPXYwcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0Il07I2U9U2kodGhpcyxzLHZvaWQgMCk7Z2V0IGNoYXJ0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGNoYXJ0KEIpe3RoaXMuI2U9Qn0jdD0oU2kodGhpcyxvKSxTaSh0aGlzLGwsIlVudGl0bGVkIENoYXJ0IikpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiN0fXNldCBsYWJlbChCKXt0aGlzLiN0PUJ9I3I9KFNpKHRoaXMsdSksU2kodGhpcyxoLFtdKSk7Z2V0IHNlcmllcygpe3JldHVybiB0aGlzLiNyfXNldCBzZXJpZXMoQil7dGhpcy4jcj1CfWdldCBjaGFydFNlcmllcygpe3JldHVybiB0aGlzLmludGVybmFsQ2hhcnREYXRhLmxlbmd0aD4wP3RoaXMuaW50ZXJuYWxDaGFydERhdGE6dGhpcy5zZXJpZXN9I2E9KFNpKHRoaXMsbSksU2kodGhpcyxiLEI9PmAke0J9IE1icHNgKSk7Z2V0IHlBeGlzRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHlBeGlzRm9ybWF0dGVyKEIpe3RoaXMuI2E9Qn0jaT0oU2kodGhpcyxnKSxTaSh0aGlzLHcsMCkpO2dldCByb2xsaW5nV2luZG93KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHJvbGxpbmdXaW5kb3coQil7dGhpcy4jaT1CfSNuPShTaSh0aGlzLGspLFNpKHRoaXMsQywhMSkpO2dldCByZWFsdGltZU1vZGUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgcmVhbHRpbWVNb2RlKEIpe3RoaXMuI249Qn0jcz0oU2kodGhpcyxTKSxTaSh0aGlzLEQsImR5bmFtaWMiKSk7Z2V0IHlBeGlzU2NhbGluZygpe3JldHVybiB0aGlzLiNzfXNldCB5QXhpc1NjYWxpbmcoQil7dGhpcy4jcz1CfSNvPShTaSh0aGlzLE4pLFNpKHRoaXMsXywxMDApKTtnZXQgeUF4aXNNYXgoKXtyZXR1cm4gdGhpcy4jb31zZXQgeUF4aXNNYXgoQil7dGhpcy4jbz1CfSNsPShTaSh0aGlzLHopLFNpKHRoaXMsVCwxZTMpKTtnZXQgYXV0b1Njcm9sbEludGVydmFsKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGF1dG9TY3JvbGxJbnRlcnZhbChCKXt0aGlzLiNsPUJ9cmVzaXplT2JzZXJ2ZXI9U2kodGhpcyxMKTtyZXNpemVUaW1lb3V0O2ludGVybmFsQ2hhcnREYXRhPVtdO2F1dG9TY3JvbGxUaW1lcj1udWxsO0RFQlVHX1JFU0laRT0hMTtDSEFSVF9DT0xPUlM9e2Rhcms6WyJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDE3My40IDgwLjQlIDQwJSkiLCJoc2woMjgwLjMgODcuNCUgNjYuNyUpIiwiaHNsKDI0LjYgOTUlIDUzLjElKSJdLGxpZ2h0OlsiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMjgwLjMgNDcuNyUgNTAuMiUpIiwiaHNsKDIwLjUgOTAuMiUgNDguMiUpIl19O2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxwYS5zZXR1cCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKEI9Pnt0aGlzLnJlc2l6ZVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpLHRoaXMucmVzaXplVGltZW91dD13aW5kb3cuc2V0VGltZW91dCgoKT0+e2lmKHRoaXMuY2hhcnQpe2lmKHRoaXMuREVCVUdfUkVTSVpFJiZCLmxlbmd0aD4wKXtsZXQgVT1CWzBdO2NvbnNvbGUubG9nKCJEZWVzQ2hhcnRBcmVhIC0gUmVzaXplIGRldGVjdGVkOiIse3dpZHRoOlUuY29udGVudFJlY3Qud2lkdGgsaGVpZ2h0OlUuY29udGVudFJlY3QuaGVpZ2h0fSl9dGhpcy5yZXNpemVDaGFydCgpfX0sMTAwKX0pLHRoaXMucmVnaXN0ZXJHYXJiYWdlRnVuY3Rpb24oYXN5bmMoKT0+e2lmKHRoaXMucmVzaXplVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZW91dCksdGhpcy5yZXNpemVPYnNlcnZlciYmdGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5zdG9wQXV0b1Njcm9sbCgpLHRoaXMuY2hhcnQpdHJ5e3RoaXMuY2hhcnQuZGVzdHJveSgpLHRoaXMuY2hhcnQ9bnVsbH1jYXRjaChCKXtjb25zb2xlLmVycm9yKCJFcnJvciBkZXN0cm95aW5nIGNoYXJ0OiIsQil9fSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY2hhcnQmJihhd2FpdCBuZXcgUHJvbWlzZShCPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoQikpLGF3YWl0IHRoaXMucmVzaXplQ2hhcnQoKSl9c3RhdGljIHN0eWxlcz15MHI7cmVuZGVyKCl7cmV0dXJuIE0wcih0aGlzKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTtsZXQgQj1hd2FpdCBlbi5nZXRJbnN0YW5jZSgpLmxvYWRBcGV4Q2hhcnRzKCk7YXdhaXQgbmV3IFByb21pc2UoWT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFkpKTtsZXQgVT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW5ib3giKSxLPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hhcnRDb250YWluZXIiKTtpZighVXx8IUspe2NvbnNvbGUuZXJyb3IoIkNoYXJ0IGNvbnRhaW5lcnMgbm90IGZvdW5kIik7cmV0dXJufWxldCBJPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKEspLHZlPXBhcnNlSW50KEkucGFkZGluZ1RvcCwxMCksTWU9cGFyc2VJbnQoSS5wYWRkaW5nQm90dG9tLDEwKSxQPXBhcnNlSW50KEkucGFkZGluZ0xlZnQsMTApLGxlPXBhcnNlSW50KEkucGFkZGluZ1JpZ2h0LDEwKSxTZT1VLmNsaWVudFdpZHRoLVAtbGUsWj1VLm9mZnNldEhlaWdodC12ZS1NZSxBPXRoaXMuc2VyaWVzLmxlbmd0aD4wP3RoaXMuc2VyaWVzOlt7bmFtZToiY3B1IixkYXRhOlt7eDoiMjAyNS0wMS0xNVQwMzowMDowMCIseToyNX0se3g6IjIwMjUtMDEtMTVUMDc6MDA6MDAiLHk6MzB9LHt4OiIyMDI1LTAxLTE1VDExOjAwOjAwIix5OjIwfSx7eDoiMjAyNS0wMS0xNVQxNTowMDowMCIseTozNX0se3g6IjIwMjUtMDEtMTVUMTk6MDA6MDAiLHk6MjV9XX0se25hbWU6Im1lbW9yeSIsZGF0YTpbe3g6IjIwMjUtMDEtMTVUMDM6MDA6MDAiLHk6MTB9LHt4OiIyMDI1LTAxLTE1VDA3OjAwOjAwIix5OjEyfSx7eDoiMjAyNS0wMS0xNVQxMTowMDowMCIseToxMH0se3g6IjIwMjUtMDEtMTVUMTU6MDA6MDAiLHk6MzB9LHt4OiIyMDI1LTAxLTE1VDE5OjAwOjAwIix5OjQwfV19XTt0aGlzLmludGVybmFsQ2hhcnREYXRhPUE7bGV0ICQ9IXRoaXMuZ29CcmlnaHQsaj0kPyJkYXJrIjoibGlnaHQiO3ZhciBIPXtzZXJpZXM6QSxjaGFydDp7d2lkdGg6U2V8fDEwMCxoZWlnaHQ6Wnx8MTAwLHR5cGU6ImFyZWEiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iix0b29sYmFyOntzaG93OiExfSxhbmltYXRpb25zOntlbmFibGVkOiF0aGlzLnJlYWx0aW1lTW9kZSxzcGVlZDo0MDAsYW5pbWF0ZUdyYWR1YWxseTp7ZW5hYmxlZDohMSxkZWxheTowfSxkeW5hbWljQW5pbWF0aW9uOntlbmFibGVkOiF0aGlzLnJlYWx0aW1lTW9kZSxzcGVlZDozNTB9fSx6b29tOntlbmFibGVkOiExfSxzZWxlY3Rpb246e2VuYWJsZWQ6ITF9fSxkYXRhTGFiZWxzOntlbmFibGVkOiExfSxzdHJva2U6e3dpZHRoOjIsY3VydmU6InNtb290aCJ9LHhheGlzOnt0eXBlOiJkYXRldGltZSIsbGFiZWxzOntmb3JtYXQ6IkhIOm1tOnNzIixkYXRldGltZVVUQzohMSxzdHlsZTp7Y29sb3JzOlskPyJoc2woMCAwJSA2My45JSkiOiJoc2woMCAwJSAyMCUpIl0sZm9udFNpemU6IjEycHgiLGZvbnRGYW1pbHk6Jy1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgc2Fucy1zZXJpZicsZm9udFdlaWdodDoiNDAwIn19LGF4aXNCb3JkZXI6e3Nob3c6ITF9LGF4aXNUaWNrczp7c2hvdzohMX19LHlheGlzOnttaW46MCxtYXg6dGhpcy55QXhpc1NjYWxpbmc9PT0iZHluYW1pYyI/dm9pZCAwOnRoaXMueUF4aXNNYXgsbGFiZWxzOntmb3JtYXR0ZXI6dGhpcy55QXhpc0Zvcm1hdHRlcixzdHlsZTp7Y29sb3JzOlskPyJoc2woMCAwJSA2My45JSkiOiJoc2woMCAwJSAyMCUpIl0sZm9udFNpemU6IjEycHgiLGZvbnRGYW1pbHk6Jy1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgc2Fucy1zZXJpZicsZm9udFdlaWdodDoiNDAwIn19LGF4aXNCb3JkZXI6e3Nob3c6ITF9LGF4aXNUaWNrczp7c2hvdzohMX19LHRvb2x0aXA6e3NoYXJlZDohMCxpbnRlcnNlY3Q6ITEsZm9sbG93Q3Vyc29yOiEwLHg6e2Zvcm1hdDoiZGQvTU0veXkgSEg6bW0ifSxjdXN0b206KHtzZXJpZXM6WSxkYXRhUG9pbnRJbmRleDpkZSx3OndlfSk9PntsZXQgRz13ZS5jb25maWcudGhlbWUubW9kZT09PSJkYXJrIixXPUc/ImhzbCgwIDAlIDklKSI6ImhzbCgwIDAlIDEwMCUpIixhZT1HPyJoc2woMCAwJSA5NSUpIjoiaHNsKDAgMCUgOSUpIix5ZT1HPyJoc2woMCAwJSAxNC45JSkiOiJoc2woMCAwJSA4OS44JSkiLG1lPXdlLmNvbmZpZy55YXhpc1swXT8ubGFiZWxzPy5mb3JtYXR0ZXJ8fChiZT0+YmUudG9TdHJpbmcoKSksQ2U9YDxkaXYgc3R5bGU9InBhZGRpbmc6IDEycHg7IGJhY2tncm91bmQ6ICR7V307IGNvbG9yOiAke2FlfTsgYm9yZGVyLXJhZGl1czogNnB4OyBib3gtc2hhZG93OiAwIDJweCA4cHggMCBoc2woMCAwJSAwJSAvICR7Rz8iMC4yIjoiMC4xIn0pOyBib3JkZXI6IDFweCBzb2xpZCAke3llfTtmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHg7Ij5gO3JldHVybiBZLmZvckVhY2goKGJlLG5lKT0+e2xldCB6ZT13ZS5nbG9iYWxzLnNlcmllc05hbWVzW25lXSxJZT1iZVtkZV0sWmU9d2UuZ2xvYmFscy5jb2xvcnNbbmVdLHRlPW1lKEllKTtDZSs9YDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBtYXJnaW46ICR7bmU+MD8iNnB4IjoiMCJ9IDA7Ij4KICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiAke1plfTsgYm9yZGVyLXJhZGl1czogMnB4OyI+PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNTAwOyI+JHt6ZX06PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJtYXJnaW4tbGVmdDogYXV0bzsgZm9udC13ZWlnaHQ6IDYwMDsiPiR7dGV9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj5gfSksQ2UrPSI8L2Rpdj4iLENlfX0sZ3JpZDp7eGF4aXM6e2xpbmVzOntzaG93OiExfX0seWF4aXM6e2xpbmVzOntzaG93OiEwfX0sYm9yZGVyQ29sb3I6JD8iaHNsKDAgMCUgMTQuOSUpIjoiaHNsKDAgMCUgOTQlKSIsc3Ryb2tlRGFzaEFycmF5OjAscGFkZGluZzp7dG9wOjEwLHJpZ2h0OjIwLGJvdHRvbToxMCxsZWZ0OjIwfX0sZmlsbDp7dHlwZToiZ3JhZGllbnQiLGdyYWRpZW50OntzaGFkZTokPyJkYXJrIjoibGlnaHQiLHR5cGU6InZlcnRpY2FsIixzaGFkZUludGVuc2l0eTouMSxvcGFjaXR5RnJvbTokPy4yOi4zLG9wYWNpdHlUbzowLHN0b3BzOlswLDEwMF19fSxjb2xvcnM6JD90aGlzLkNIQVJUX0NPTE9SUy5kYXJrOnRoaXMuQ0hBUlRfQ09MT1JTLmxpZ2h0LHRoZW1lOnttb2RlOmp9fTt0cnl7dGhpcy5jaGFydD1uZXcgQih0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNoYXJ0Q29udGFpbmVyIiksSCksYXdhaXQgdGhpcy5jaGFydC5yZW5kZXIoKSxhd2FpdCBuZXcgUHJvbWlzZShkZT0+c2V0VGltZW91dChkZSwxMDApKSxhd2FpdCB0aGlzLnJlc2l6ZUNoYXJ0KCk7bGV0IFk9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluYm94Iik7WSYmdGhpcy5yZXNpemVPYnNlcnZlciYmKHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShZKSx0aGlzLkRFQlVHX1JFU0laRSYmY29uc29sZS5sb2coIkRlZXNDaGFydEFyZWEgLSBSZXNpemVPYnNlcnZlciBhdHRhY2hlZCB0byBtYWluYm94IikpfWNhdGNoKFkpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIGNoYXJ0OiIsWSl9fWFzeW5jIHVwZGF0ZWQoQil7c3VwZXIudXBkYXRlZChCKSxCLmhhcygiZ29CcmlnaHQiKSYmdGhpcy5jaGFydCYmYXdhaXQgdGhpcy51cGRhdGVDaGFydFRoZW1lKCksQi5oYXMoInNlcmllcyIpJiZ0aGlzLmNoYXJ0JiZ0aGlzLnNlcmllcy5sZW5ndGg+MCYmYXdhaXQgdGhpcy51cGRhdGVTZXJpZXModGhpcy5zZXJpZXMpLEIuaGFzKCJ5QXhpc0Zvcm1hdHRlciIpJiZ0aGlzLmNoYXJ0JiZhd2FpdCB0aGlzLmNoYXJ0LnVwZGF0ZU9wdGlvbnMoe3lheGlzOntsYWJlbHM6e2Zvcm1hdHRlcjp0aGlzLnlBeGlzRm9ybWF0dGVyfX19KSxCLmhhcygicmVhbHRpbWVNb2RlIikmJnRoaXMuY2hhcnQmJihhd2FpdCB0aGlzLmNoYXJ0LnVwZGF0ZU9wdGlvbnMoe2NoYXJ0OnthbmltYXRpb25zOntlbmFibGVkOiF0aGlzLnJlYWx0aW1lTW9kZSxzcGVlZDo0MDAsYW5pbWF0ZUdyYWR1YWxseTp7ZW5hYmxlZDohMSxkZWxheTowfSxkeW5hbWljQW5pbWF0aW9uOntlbmFibGVkOiF0aGlzLnJlYWx0aW1lTW9kZSxzcGVlZDozNTB9fX19KSx0aGlzLnJlYWx0aW1lTW9kZSYmdGhpcy5yb2xsaW5nV2luZG93PjAmJnRoaXMuYXV0b1Njcm9sbEludGVydmFsPjA/dGhpcy5zdGFydEF1dG9TY3JvbGwoKTp0aGlzLnN0b3BBdXRvU2Nyb2xsKCkpLEIuaGFzKCJhdXRvU2Nyb2xsSW50ZXJ2YWwiKSYmdGhpcy5jaGFydCYmKHRoaXMuc3RvcEF1dG9TY3JvbGwoKSx0aGlzLnJlYWx0aW1lTW9kZSYmdGhpcy5yb2xsaW5nV2luZG93PjAmJnRoaXMuYXV0b1Njcm9sbEludGVydmFsPjAmJnRoaXMuc3RhcnRBdXRvU2Nyb2xsKCkpLChCLmhhcygieUF4aXNTY2FsaW5nIil8fEIuaGFzKCJ5QXhpc01heCIpKSYmdGhpcy5jaGFydCYmYXdhaXQgdGhpcy5jaGFydC51cGRhdGVPcHRpb25zKHt5YXhpczp7bWluOjAsbWF4OnRoaXMueUF4aXNTY2FsaW5nPT09ImR5bmFtaWMiP3ZvaWQgMDp0aGlzLnlBeGlzTWF4fX0pfWFzeW5jIHVwZGF0ZVNlcmllcyhCLFU9ITApe2lmKHRoaXMuY2hhcnQpdHJ5e2lmKHRoaXMuaW50ZXJuYWxDaGFydERhdGE9Qix0aGlzLnJvbGxpbmdXaW5kb3c+MCYmdGhpcy5yZWFsdGltZU1vZGUpe2xldCBJPURhdGUubm93KCktdGhpcy5yb2xsaW5nV2luZG93LHZlPUIubWFwKE1lPT4oe25hbWU6TWUubmFtZSxkYXRhOk1lLmRhdGEuZmlsdGVyKFA9PnR5cGVvZiBQPT0ib2JqZWN0IiYmUCE9PW51bGwmJiJ4ImluIFA/bmV3IERhdGUoUC54KS5nZXRUaW1lKCk+STohMSl9KSk7aWYodmUuc29tZShNZT0+TWUuZGF0YS5sZW5ndGg+MCkpe2lmKHRoaXMueUF4aXNTY2FsaW5nPT09ImR5bmFtaWMiKXtsZXQgTWU9dmUuZmxhdE1hcChQPT5QLmRhdGEubWFwKGxlPT5sZS55KSk7aWYoTWUubGVuZ3RoPjApe2xldCBQPU1hdGgubWF4KC4uLk1lKSxsZT1NYXRoLmNlaWwoUCoxLjEpO2F3YWl0IHRoaXMuY2hhcnQudXBkYXRlT3B0aW9ucyh7eWF4aXM6e21pbjowLG1heDpsZX19LCExLCExKX19YXdhaXQgdGhpcy5jaGFydC51cGRhdGVTZXJpZXModmUsITEpfX1lbHNlIGF3YWl0IHRoaXMuY2hhcnQudXBkYXRlU2VyaWVzKEIsVSl9Y2F0Y2goSyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHVwZGF0ZSBjaGFydCBzZXJpZXM6IixLKX19YXN5bmMgdXBkYXRlVGltZVdpbmRvdygpe2lmKCF0aGlzLmNoYXJ0fHx0aGlzLnJvbGxpbmdXaW5kb3c8PTApcmV0dXJuO2xldCBCPURhdGUubm93KCksVT1CLXRoaXMucm9sbGluZ1dpbmRvdzthd2FpdCB0aGlzLmNoYXJ0LnVwZGF0ZU9wdGlvbnMoe3hheGlzOnttaW46VSxtYXg6QixsYWJlbHM6e2Zvcm1hdDoiSEg6bW06c3MiLGRhdGV0aW1lVVRDOiExLHN0eWxlOntjb2xvcnM6W3RoaXMuZ29CcmlnaHQ/ImhzbCgwIDAlIDIwJSkiOiJoc2woMCAwJSA2My45JSkiXSxmb250U2l6ZToiMTJweCIsZm9udEZhbWlseTonLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBzYW5zLXNlcmlmJyxmb250V2VpZ2h0OiI0MDAifX0sdGlja0Ftb3VudDo2fX0sITEsITEpfWFzeW5jIGFwcGVuZERhdGEoQil7dGhpcy5jaGFydCYmdGhpcy5jaGFydC5hcHBlbmREYXRhKEIpfWFzeW5jIHVwZGF0ZU9wdGlvbnMoQixVLEspe2lmKHRoaXMuY2hhcnQpcmV0dXJuIHRoaXMuY2hhcnQudXBkYXRlT3B0aW9ucyhCLFUsSyl9YXN5bmMgcmVzaXplQ2hhcnQoKXtpZih0aGlzLmNoYXJ0KXt0aGlzLkRFQlVHX1JFU0laRSYmY29uc29sZS5sb2coIkRlZXNDaGFydEFyZWEgLSByZXNpemVDaGFydCBjYWxsZWQiKTt0cnl7bGV0IEI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluYm94IiksVT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNoYXJ0Q29udGFpbmVyIik7aWYoIUJ8fCFVKXJldHVybjtCLm9mZnNldEhlaWdodDtsZXQgSz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShVKSxJPXBhcnNlSW50KEsucGFkZGluZ1RvcCwxMCksdmU9cGFyc2VJbnQoSy5wYWRkaW5nQm90dG9tLDEwKSxNZT1wYXJzZUludChLLnBhZGRpbmdMZWZ0LDEwKSxQPXBhcnNlSW50KEsucGFkZGluZ1JpZ2h0LDEwKSxsZT1CLmNsaWVudFdpZHRoLU1lLVAsU2U9Qi5vZmZzZXRIZWlnaHQtSS12ZTtsZT4wJiZTZT4wJiYodGhpcy5ERUJVR19SRVNJWkUmJmNvbnNvbGUubG9nKCJEZWVzQ2hhcnRBcmVhIC0gVXBkYXRpbmcgY2hhcnQgZGltZW5zaW9uczoiLHt3aWR0aDpsZSxoZWlnaHQ6U2V9KSxhd2FpdCB0aGlzLmNoYXJ0LnVwZGF0ZU9wdGlvbnMoe2NoYXJ0Ont3aWR0aDpsZSxoZWlnaHQ6U2V9fSwhMCwhMSkpfWNhdGNoKEIpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byByZXNpemUgY2hhcnQ6IixCKX19fWFzeW5jIGZvcmNlUmVzaXplKCl7YXdhaXQgdGhpcy5yZXNpemVDaGFydCgpfXN0YXJ0QXV0b1Njcm9sbCgpe3RoaXMuYXV0b1Njcm9sbFRpbWVyfHwodGhpcy5hdXRvU2Nyb2xsVGltZXI9d2luZG93LnNldEludGVydmFsKCgpPT57dGhpcy51cGRhdGVUaW1lV2luZG93KCl9LHRoaXMuYXV0b1Njcm9sbEludGVydmFsKSl9c3RvcEF1dG9TY3JvbGwoKXt0aGlzLmF1dG9TY3JvbGxUaW1lciYmKHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMuYXV0b1Njcm9sbFRpbWVyKSx0aGlzLmF1dG9TY3JvbGxUaW1lcj1udWxsKX1hc3luYyB1cGRhdGVDaGFydFRoZW1lKCl7aWYoIXRoaXMuY2hhcnQpcmV0dXJuO2xldCBCPSF0aGlzLmdvQnJpZ2h0LFU9Qj8iZGFyayI6ImxpZ2h0Ijthd2FpdCB0aGlzLmNoYXJ0LnVwZGF0ZU9wdGlvbnMoe3RoZW1lOnttb2RlOlV9LGNvbG9yczpCP3RoaXMuQ0hBUlRfQ09MT1JTLmRhcms6dGhpcy5DSEFSVF9DT0xPUlMubGlnaHQseGF4aXM6e2xhYmVsczp7c3R5bGU6e2NvbG9yczpbQj8iaHNsKDAgMCUgNjMuOSUpIjoiaHNsKDAgMCUgMjAlKSJdfX19LHlheGlzOntsYWJlbHM6e3N0eWxlOntjb2xvcnM6W0I/ImhzbCgwIDAlIDYzLjklKSI6ImhzbCgwIDAlIDIwJSkiXX19fSxncmlkOntib3JkZXJDb2xvcjpCPyJoc2woMCAwJSAxNC45JSkiOiJoc2woMCAwJSA5NCUpIn0sZmlsbDp7Z3JhZGllbnQ6e3NoYWRlOkI/ImRhcmsiOiJsaWdodCIsb3BhY2l0eUZyb206Qj8uMjouM319fSl9c3RhdGlje1NpKGEscil9fTtyZXR1cm4gVj1hfSkoKX0pO3ZhciBDMHI9ZigoKT0+e2s2ZSgpfSk7dmFyIFQwcixfMHI9ZigoKT0+e3VlKCk7aGEoKTtUMHI9KCk9Pk1gCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIjc3RydWN0dXJlZC1sb2ciKSxyPWUucXVlcnlTZWxlY3RvcigiI3Jhdy1sb2ciKSxhLGksbj1bIlNlcnZlciIsIkRhdGFiYXNlIiwiQVBJIiwiQXV0aCIsIkNhY2hlIiwiUXVldWUiLCJXZWJTb2NrZXQiLCJTY2hlZHVsZXIiXSxzPXtkZWJ1ZzpbIkxvYWRpbmcgbW9kdWxlOiB7e21vZHVsZX19IiwiQ2FjaGUgaGl0IGZvciBrZXk6IHt7a2V5fX0iLCJTUUwgcXVlcnkgZXhlY3V0ZWQgaW4ge3t0aW1lfX1tcyIsIlJlcXVlc3QgaGVhZGVyczoge3toZWFkZXJzfX0iLCJFbnZpcm9ubWVudCB2YXJpYWJsZSBsb2FkZWQ6IHt7dmFyfX0iXSxpbmZvOlsiUmVxdWVzdCByZWNlaXZlZDoge3ttZXRob2R9fSB7e3BhdGh9fSIsIlVzZXIge3t1c2VySWR9fSBhdXRoZW50aWNhdGVkIHN1Y2Nlc3NmdWxseSIsIlByb2Nlc3Npbmcgam9iIHt7am9iSWR9fSBmcm9tIHF1ZXVlIiwnU2NoZWR1bGVkIHRhc2sgInt7dGFza319IiBzdGFydGVkJywiV2ViU29ja2V0IGNvbm5lY3Rpb24gZXN0YWJsaXNoZWQgZnJvbSB7e2lwfX0iXSx3YXJuOlsiU2xvdyBxdWVyeSBkZXRlY3RlZDoge3txdWVyeX19ICh7e3RpbWV9fW1zKSIsIk1lbW9yeSB1c2FnZSBhdCB7e3BlcmNlbnR9fSUiLCJSYXRlIGxpbWl0IGFwcHJvYWNoaW5nIGZvciBJUCB7e2lwfX0iLCJEZXByZWNhdGVkIEFQSSBlbmRwb2ludCBjYWxsZWQ6IHt7ZW5kcG9pbnR9fSIsIkNlcnRpZmljYXRlIGV4cGlyZXMgaW4ge3tkYXlzfX0gZGF5cyJdLGVycm9yOlsiRGF0YWJhc2UgY29ubmVjdGlvbiBsb3N0OiB7e2Vycm9yfX0iLCJGYWlsZWQgdG8gcHJvY2VzcyByZXF1ZXN0OiB7e2Vycm9yfX0iLCJBdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yIHVzZXIge3t1c2VyfX0iLCJGaWxlIG5vdCBmb3VuZDoge3twYXRofX0iLCJTZXJ2aWNlIHVuYXZhaWxhYmxlOiB7e3NlcnZpY2V9fSJdLHN1Y2Nlc3M6WyJTZXJ2ZXIgc3RhcnRlZCBzdWNjZXNzZnVsbHkgb24gcG9ydCB7e3BvcnR9fSIsIkRhdGFiYXNlIG1pZ3JhdGlvbiBjb21wbGV0ZWQiLCJCYWNrdXAgY29tcGxldGVkOiB7e3NpemV9fSBNQiIsIlNTTCBjZXJ0aWZpY2F0ZSByZW5ld2VkIiwiSGVhbHRoIGNoZWNrIHBhc3NlZDogYWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwiXX0sbz1bIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0NS4xMjNaXHgxQlswbSBceDFCWzM2bUlORk9ceDFCWzBtICBbbmdpbnhdIEdFVCAvYXBpL2hlYWx0aCAyMDAgLSAybXMiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDUuNDU2Wlx4MUJbMG0gXHgxQlszM21XQVJOXHgxQlswbSAgW3JlZGlzXSBDb25uZWN0aW9uIHBvb2wgcnVubmluZyBsb3c6IDMvMTAiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDUuNzg5Wlx4MUJbMG0gXHgxQlszMW1FUlJPUlx4MUJbMG0gW21vbmdvZGJdIFF1ZXJ5IHRpbWVvdXQgYWZ0ZXIgMzAwMDBtcyIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ni4wMTJaXHgxQlswbSBceDFCWzM2bUlORk9ceDFCWzBtICBbYXBwXSBQcm9jZXNzaW5nIGJhdGNoIGpvYiAje3tqb2JJZH19IiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ2LjM0NVpceDFCWzBtIFx4MUJbMzJtT0tceDFCWzBtICAgIFtoZWFsdGhdIEFsbCBzZXJ2aWNlcyBoZWFsdGh5IiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ2LjY3OFpceDFCWzBtIFx4MUJbMzZtSU5GT1x4MUJbMG0gIFtrYWZrYV0gTWVzc2FnZSBjb25zdW1lZCBmcm9tIHRvcGljOiBldmVudHMiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDcuMDAxWlx4MUJbMG0gXHgxQlszNW1ERUJVR1x4MUJbMG0gW2dycGNdIFJlcXVlc3QgcmVjZWl2ZWQ6IEdldFVzZXIoaWQ9e3t1c2VySWR9fSkiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDcuMjM0Wlx4MUJbMG0gXHgxQlszMW1FUlJPUlx4MUJbMG0gW2F1dGhdIFRva2VuIHZhbGlkYXRpb24gZmFpbGVkOiBleHBpcmVkIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ3LjU2N1pceDFCWzBtIFx4MUJbMzNtV0FSTlx4MUJbMG0gIFtyYXRlLWxpbWl0XSBJUCB7e2lwfX0gYXBwcm9hY2hpbmcgcmF0ZSBsaW1pdCIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ny44OTBaXHgxQlswbSBceDFCWzM2bUlORk9ceDFCWzBtICBbd2Vic29ja2V0XSBDbGllbnQgY29ubmVjdGVkOiBzZXNzaW9uPXt7c2Vzc2lvbn19IixgXHgxQlszMW1FcnJvcjogQ29ubmVjdGlvbiByZWZ1c2VkXHgxQlswbQogICAgYXQgVGNwQ29ubmVjdGlvbi5jb25uZWN0ICgvYXBwL25vZGVfbW9kdWxlcy9wZy9saWIvY29ubmVjdGlvbi5qczoxMjoxNSkKICAgIGF0IFBvb2wuY29ubmVjdCAoL2FwcC9ub2RlX21vZHVsZXMvcGcvbGliL3Bvb2wuanM6NDU6MjMpCiAgICBhdCBhc3luYyBEYXRhYmFzZVNlcnZpY2UucXVlcnkgKC9hcHAvc3JjL2RiL3NlcnZpY2UudHM6ODk6MTIpYF0sYz0oKT0+e2xldCBiPVsiZGVidWciLCJpbmZvIiwid2FybiIsImVycm9yIiwic3VjY2VzcyJdLGc9Wy4yLC41LC4xNSwuMSwuMDVdLHk9TWF0aC5yYW5kb20oKSx3PTAsaz0iaW5mbyI7Zm9yKGxldCBEPTA7RDxnLmxlbmd0aDtEKyspaWYodys9Z1tEXSx5PHcpe2s9YltEXTticmVha31sZXQgUj1uW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpuLmxlbmd0aCldLEM9c1trXSxPPUNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKkMubGVuZ3RoKV0ucmVwbGFjZSgie3ttb2R1bGV9fSIsWyJleHByZXNzIiwibW9uZ29vc2UiLCJyZWRpcyIsInNvY2tldC5pbyJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7a2V5fX0iLCJ1c2VyOiIrTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlMykpLnJlcGxhY2UoInt7dGltZX19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjUwMCkrNTApKS5yZXBsYWNlKCJ7e2hlYWRlcnN9fSIsIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiwgQXV0aG9yaXphdGlvbjogQmVhcmVyIC4uLiIpLnJlcGxhY2UoInt7dmFyfX0iLFsiTk9ERV9FTlYiLCJEQVRBQkFTRV9VUkwiLCJBUElfS0VZIiwiUE9SVCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7bWV0aG9kfX0iLFsiR0VUIiwiUE9TVCIsIlBVVCIsIkRFTEVURSJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7cGF0aH19IixbIi9hcGkvdXNlcnMiLCIvYXBpL2F1dGgvbG9naW4iLCIvYXBpL3Byb2R1Y3RzIiwiL2hlYWx0aCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7dXNlcklkfX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWU0KSkpLnJlcGxhY2UoInt7am9iSWR9fSIsImpvYl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDExKSkucmVwbGFjZSgie3t0YXNrfX0iLFsiY2xlYW51cCIsImJhY2t1cCIsInJlcG9ydC1nZW5lcmF0aW9uIiwiY2FjaGUtcmVmcmVzaCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7aXB9fSIsYDE5Mi4xNjguMS4ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTUpfWApLnJlcGxhY2UoInt7cXVlcnl9fSIsIlNFTEVDVCAqIEZST00gdXNlcnMgV0hFUkUgLi4uIikucmVwbGFjZSgie3twZXJjZW50fX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMzApKzcwKSkucmVwbGFjZSgie3tlbmRwb2ludH19IiwiL2FwaS92MS9sZWdhY3kiKS5yZXBsYWNlKCJ7e2RheXN9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozMCkrMSkpLnJlcGxhY2UoInt7ZXJyb3J9fSIsWyJFQ09OTlJFRlVTRUQiLCJFVElNRURPVVQiLCJFTk9URk9VTkQiXVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMyldKS5yZXBsYWNlKCJ7e3VzZXJ9fSIsInVzZXJfIitNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWUzKSkucmVwbGFjZSgie3tzZXJ2aWNlfX0iLFsiUmVkaXMiLCJNb25nb0RCIiwiRWxhc3RpY1NlYXJjaCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozKV0pLnJlcGxhY2UoInt7cG9ydH19IixTdHJpbmcoM2UzK01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxMCkpKS5yZXBsYWNlKCJ7e3NpemV9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MDApKzEwMCkpO3QuYWRkTG9nKGssTyxSKX0sbD0oKT0+e2xldCBiPW9bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKm8ubGVuZ3RoKV0sZz1uZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkseT1iLnJlcGxhY2UoLzIwMjQtMDEtMTVUMTA6MjM6XGR7Mn1cLlxkezN9Wi9nLGcpLnJlcGxhY2UoInt7am9iSWR9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTQpKSkucmVwbGFjZSgie3t1c2VySWR9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTQpKSkucmVwbGFjZSgie3tpcH19IixgMTkyLjE2OC4xLiR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1NSl9YCkucmVwbGFjZSgie3tzZXNzaW9ufX0iLE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDExKSk7ci53cml0ZWxuUmF3KHkpfSx1PSgpPT57aWYoIWEpe2xldCBiPSgpPT57YygpO2xldCBnPU1hdGgucmFuZG9tKCkqMmUzKzUwMDthPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57YSYmYigpfSxnKX07YigpfX0sZD0oKT0+e2EmJih3aW5kb3cuY2xlYXJUaW1lb3V0KGEpLGE9bnVsbCl9LGg9KCk9PntpZighaSl7bGV0IGI9KCk9PntsKCk7bGV0IGc9TWF0aC5yYW5kb20oKSoxZTMrMjAwO2k9d2luZG93LnNldFRpbWVvdXQoKCk9PntpJiZiKCl9LGcpfTtiKCl9fSxtPSgpPT57aSYmKHdpbmRvdy5jbGVhclRpbWVvdXQoaSksaT1udWxsKX07ZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goYj0+e3N3aXRjaChiLnRleHRDb250ZW50Py50cmltKCkpe2Nhc2UiQWRkIFN0cnVjdHVyZWQgTG9nIjpiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+YygpKTticmVhaztjYXNlIlN0YXJ0IFN0cnVjdHVyZWQiOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT51KCkpO2JyZWFrO2Nhc2UiU3RvcCBTdHJ1Y3R1cmVkIjpiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+ZCgpKTticmVhaztjYXNlIkFkZCBEb2NrZXIgTG9nIjpiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+bCgpKTticmVhaztjYXNlIlN0YXJ0IERvY2tlciI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PmgoKSk7YnJlYWs7Y2FzZSJTdG9wIERvY2tlciI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pm0oKSk7YnJlYWt9fSl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7SmAKICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDUlKSIpfTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQogICAgICAgICAgLnNlY3Rpb24gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICB9CiAgICAgICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgfQogICAgICAgICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgfQogICAgICAgICAgLmNvbnRyb2xzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICA8IS0tIFN0cnVjdHVyZWQgTG9ncyBTZWN0aW9uIC0tPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TdHJ1Y3R1cmVkIExvZ3MgKElMb2dFbnRyeSk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFN0cnVjdHVyZWQgbG9nIGVudHJpZXMgd2l0aCBsZXZlbCwgbWVzc2FnZSwgYW5kIHNvdXJjZS4gU3VwcG9ydHMgc2VhcmNoIGFuZCBrZXl3b3JkIGhpZ2hsaWdodGluZy4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24+QWRkIFN0cnVjdHVyZWQgTG9nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TdGFydCBTdHJ1Y3R1cmVkPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TdG9wIFN0cnVjdHVyZWQ8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkZWVzLWNoYXJ0LWxvZwogICAgICAgICAgaWQ9InN0cnVjdHVyZWQtbG9nIgogICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3Rpb24gU2VydmVyIExvZ3MifQogICAgICAgICAgLmhpZ2hsaWdodEtleXdvcmRzPSR7WyJlcnJvciIsImZhaWxlZCIsInRpbWVvdXQiXX0KICAgICAgICAgIC5zaG93TWV0cmljcz0keyEwfQogICAgICAgID48L2RlZXMtY2hhcnQtbG9nPgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gUmF3IExvZ3MgU2VjdGlvbiAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UmF3IExvZ3MgKERvY2tlci9Db250YWluZXIgU3R5bGUpPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBSYXcgbG9nIG91dHB1dCB3aXRoIEFOU0kgZXNjYXBlIHNlcXVlbmNlcyBmb3IgcmVhbCBEb2NrZXIvY29udGFpbmVyIGxvZ3MuCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkFkZCBEb2NrZXIgTG9nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TdGFydCBEb2NrZXI8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlN0b3AgRG9ja2VyPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGVlcy1jaGFydC1sb2cKICAgICAgICAgIGlkPSJyYXctbG9nIgogICAgICAgICAgLmxhYmVsPSR7IkRvY2tlciBDb250YWluZXIgTG9ncyJ9CiAgICAgICAgICAubW9kZT0keyJyYXcifQogICAgICAgICAgLnNob3dNZXRyaWNzPSR7ITF9CiAgICAgICAgPjwvZGVlcy1jaGFydC1sb2c+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYH0pO3ZhciBqcyx6YSxMMHIsJDByPWYoKCk9Pnt1ZSgpO0p0KCk7XzByKCk7UWUoKTt0MygpO2pzPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0semE9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LEwwcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtY2hhcnQtbG9nIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W10sVixCPVtdLFU9W10sSyxJPVtdLHZlPVtdO3ZhciBNZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IFA9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRigpXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKHt0eXBlOkFycmF5fSldLHY9W0Yoe3R5cGU6Qm9vbGVhbn0pXSx5PVtGKHt0eXBlOk51bWJlcn0pXSxSPVtGKHt0eXBlOkFycmF5fSldLE89W0Yoe3R5cGU6Qm9vbGVhbn0pXSxxPVtzZSgpXSxFPVtzZSgpXSxWPVtzZSgpXSxLPVtzZSgpXSxqcyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsZT0+ImxhYmVsImluIGxlLGdldDpsZT0+bGUubGFiZWwsc2V0OihsZSxTZSk9PntsZS5sYWJlbD1TZX19LG1ldGFkYXRhOlB9LHMsbyksanModGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsZT0+Im1vZGUiaW4gbGUsZ2V0OmxlPT5sZS5tb2RlLHNldDoobGUsU2UpPT57bGUubW9kZT1TZX19LG1ldGFkYXRhOlB9LGwsdSksanModGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2dFbnRyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsZT0+ImxvZ0VudHJpZXMiaW4gbGUsZ2V0OmxlPT5sZS5sb2dFbnRyaWVzLHNldDoobGUsU2UpPT57bGUubG9nRW50cmllcz1TZX19LG1ldGFkYXRhOlB9LGgsbSksanModGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvU2Nyb2xsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsZT0+ImF1dG9TY3JvbGwiaW4gbGUsZ2V0OmxlPT5sZS5hdXRvU2Nyb2xsLHNldDoobGUsU2UpPT57bGUuYXV0b1Njcm9sbD1TZX19LG1ldGFkYXRhOlB9LGIsZyksanModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhFbnRyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsZT0+Im1heEVudHJpZXMiaW4gbGUsZ2V0OmxlPT5sZS5tYXhFbnRyaWVzLHNldDoobGUsU2UpPT57bGUubWF4RW50cmllcz1TZX19LG1ldGFkYXRhOlB9LHcsayksanModGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoaWdobGlnaHRLZXl3b3JkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bGU9PiJoaWdobGlnaHRLZXl3b3JkcyJpbiBsZSxnZXQ6bGU9PmxlLmhpZ2hsaWdodEtleXdvcmRzLHNldDoobGUsU2UpPT57bGUuaGlnaGxpZ2h0S2V5d29yZHM9U2V9fSxtZXRhZGF0YTpQfSxDLFMpLGpzKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01ldHJpY3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmxlPT4ic2hvd01ldHJpY3MiaW4gbGUsZ2V0OmxlPT5sZS5zaG93TWV0cmljcyxzZXQ6KGxlLFNlKT0+e2xlLnNob3dNZXRyaWNzPVNlfX0sbWV0YWRhdGE6UH0sRCxOKSxqcyh0aGlzLG51bGwscSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaFF1ZXJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsZT0+InNlYXJjaFF1ZXJ5ImluIGxlLGdldDpsZT0+bGUuc2VhcmNoUXVlcnksc2V0OihsZSxTZSk9PntsZS5zZWFyY2hRdWVyeT1TZX19LG1ldGFkYXRhOlB9LF8seiksanModGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJNb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsZT0+ImZpbHRlck1vZGUiaW4gbGUsZ2V0OmxlPT5sZS5maWx0ZXJNb2RlLHNldDoobGUsU2UpPT57bGUuZmlsdGVyTW9kZT1TZX19LG1ldGFkYXRhOlB9LFQsTCksanModGhpcyxudWxsLFYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZXRyaWNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsZT0+Im1ldHJpY3MiaW4gbGUsZ2V0OmxlPT5sZS5tZXRyaWNzLHNldDoobGUsU2UpPT57bGUubWV0cmljcz1TZX19LG1ldGFkYXRhOlB9LEIsVSksanModGhpcyxudWxsLEsse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0ZXJtaW5hbFJlYWR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpsZT0+InRlcm1pbmFsUmVhZHkiaW4gbGUsZ2V0OmxlPT5sZS50ZXJtaW5hbFJlYWR5LHNldDoobGUsU2UpPT57bGUudGVybWluYWxSZWFkeT1TZX19LG1ldGFkYXRhOlB9LEksdmUpLGpzKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOlB9LG51bGwsciksTWU9YT10LnZhbHVlLFAmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6UH0pfXN0YXRpYyBkZW1vPVQwcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0IiwiV29ya3NwYWNlIl07I2U9emEodGhpcyxzLCJTZXJ2ZXIgTG9ncyIpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNlfXNldCBsYWJlbChQKXt0aGlzLiNlPVB9I3Q9KHphKHRoaXMsbyksemEodGhpcyxsLCJzdHJ1Y3R1cmVkIikpO2dldCBtb2RlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1vZGUoUCl7dGhpcy4jdD1QfSNyPSh6YSh0aGlzLHUpLHphKHRoaXMsaCxbXSkpO2dldCBsb2dFbnRyaWVzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGxvZ0VudHJpZXMoUCl7dGhpcy4jcj1QfSNhPSh6YSh0aGlzLG0pLHphKHRoaXMsYiwhMCkpO2dldCBhdXRvU2Nyb2xsKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGF1dG9TY3JvbGwoUCl7dGhpcy4jYT1QfSNpPSh6YSh0aGlzLGcpLHphKHRoaXMsdywxZTQpKTtnZXQgbWF4RW50cmllcygpe3JldHVybiB0aGlzLiNpfXNldCBtYXhFbnRyaWVzKFApe3RoaXMuI2k9UH0jbj0oemEodGhpcyxrKSx6YSh0aGlzLEMsW10pKTtnZXQgaGlnaGxpZ2h0S2V5d29yZHMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgaGlnaGxpZ2h0S2V5d29yZHMoUCl7dGhpcy4jbj1QfSNzPSh6YSh0aGlzLFMpLHphKHRoaXMsRCwhMCkpO2dldCBzaG93TWV0cmljcygpe3JldHVybiB0aGlzLiNzfXNldCBzaG93TWV0cmljcyhQKXt0aGlzLiNzPVB9I289KHphKHRoaXMsTiksemEodGhpcyxfLCIiKSk7Z2V0IHNlYXJjaFF1ZXJ5KCl7cmV0dXJuIHRoaXMuI299c2V0IHNlYXJjaFF1ZXJ5KFApe3RoaXMuI289UH0jbD0oemEodGhpcyx6KSx6YSh0aGlzLFQsITEpKTtnZXQgZmlsdGVyTW9kZSgpe3JldHVybiB0aGlzLiNsfXNldCBmaWx0ZXJNb2RlKFApe3RoaXMuI2w9UH0jYz0oemEodGhpcyxMKSx6YSh0aGlzLEIse2RlYnVnOjAsaW5mbzowLHdhcm46MCxlcnJvcjowLHN1Y2Nlc3M6MCx0b3RhbDowLHJhdGU6MH0pKTtnZXQgbWV0cmljcygpe3JldHVybiB0aGlzLiNjfXNldCBtZXRyaWNzKFApe3RoaXMuI2M9UH0jZD0oemEodGhpcyxVKSx6YSh0aGlzLEksITEpKTtnZXQgdGVybWluYWxSZWFkeSgpe3JldHVybiB0aGlzLiNkfXNldCB0ZXJtaW5hbFJlYWR5KFApe3RoaXMuI2Q9UH1sb2dCdWZmZXI9KHphKHRoaXMsdmUpLFtdKTt0cmFpbGluZ0hpZGRlbkNvdW50PTA7dGVybWluYWw9bnVsbDtmaXRBZGRvbj1udWxsO3NlYXJjaEFkZG9uPW51bGw7cmVzaXplT2JzZXJ2ZXI9bnVsbDt0ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPW51bGw7ZG9tdG9vbHNJbnN0YW5jZT1udWxsO3JhdGVCdWZmZXI9W107cmF0ZUludGVydmFsPW51bGw7c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICB9CgogICAgICAubWFpbmJveCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NyUpIiwiaHNsKDAgMCUgNyUpIil9OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuc2VhcmNoLWJveCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAxNTBweDsKICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OwogICAgICB9CgogICAgICAuc2VhcmNoLWJveCBpbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtYm94IGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1ib3ggaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1uYXYgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtbmF2IGJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNHB4IDZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1uYXYgYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5maWx0ZXItdG9nZ2xlIHsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5maWx0ZXItdG9nZ2xlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5maWx0ZXItdG9nZ2xlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCg0NSA5MyUgNDclKSIsImhzbCg0NSA5MyUgNDclKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woNDUgOTMlIDQ3JSkiLCJoc2woNDUgOTMlIDQ3JSkiKX07CiAgICAgICAgY29sb3I6IGhzbCgwIDAlIDklKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNnB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICB9CgogICAgICAuY29udHJvbC1idXR0b24gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzOwogICAgICB9CgogICAgICAuY29udHJvbC1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDI1JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTMuOSUpIil9OwogICAgICB9CgogICAgICAuY29udHJvbC1idXR0b24uYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CgogICAgICAudGVybWluYWwtY29udGFpbmVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICB9CgogICAgICAudGVybWluYWwtY29udGFpbmVyIC54dGVybSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAubG9hZGluZy1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubWV0cmljcy1iYXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NyUpIiwiaHNsKDAgMCUgNyUpIil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubWV0cmljIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWM6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMuZXJyb3I6OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNjAuMiUpOwogICAgICB9CgogICAgICAubWV0cmljLndhcm46OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDI1IDk1JSA1MyUpOwogICAgICB9CgogICAgICAubWV0cmljLmluZm86OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKTsKICAgICAgfQoKICAgICAgLm1ldHJpYy5zdWNjZXNzOjpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgxNDIuMSA3Ni4yJSAzNi4zJSk7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMuZGVidWc6OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgMCUgNjMuOSUpOwogICAgICB9CgogICAgICAubWV0cmljLnJhdGUgewogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICB9CgogICAgICAubWV0cmljLnJhdGU6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07Y29uc3RydWN0b3IoKXtzdXBlcigpLHBhLnNldHVwKCl9cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9Im1haW5ib3giPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+JHt0aGlzLmxhYmVsfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLWJveCI+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBsb2dzLi4uIgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VhcmNoUXVlcnl9CiAgICAgICAgICAgICAgQGlucHV0PSR7UD0+dGhpcy5oYW5kbGVTZWFyY2hJbnB1dChQKX0KICAgICAgICAgICAgICBAa2V5ZG93bj0ke1A9PnRoaXMuaGFuZGxlU2VhcmNoS2V5ZG93bihQKX0KICAgICAgICAgICAgLz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLW5hdiI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+dGhpcy5zZWFyY2hQcmV2aW91cygpfSB0aXRsZT0iUHJldmlvdXMgbWF0Y2giPuKGkTwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9PnRoaXMuc2VhcmNoTmV4dCgpfSB0aXRsZT0iTmV4dCBtYXRjaCI+4oaTPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImZpbHRlci10b2dnbGUgJHt0aGlzLmZpbHRlck1vZGU/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZUZpbHRlck1vZGUoKX0KICAgICAgICAgICAgICB0aXRsZT0iJHt0aGlzLmZpbHRlck1vZGU/IlN3aXRjaCB0byBoaWdobGlnaHQgbW9kZSI6IlN3aXRjaCB0byBmaWx0ZXIgbW9kZSJ9IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHt0aGlzLmZpbHRlck1vZGU/IkZpbHRlciI6IkhpZ2hsaWdodCJ9CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iY29udHJvbC1idXR0b24gJHt0aGlzLmF1dG9TY3JvbGw/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZUF1dG9TY3JvbGwoKX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIEF1dG8gU2Nyb2xsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjb250cm9sLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY2xlYXJMb2dzKCl9PgogICAgICAgICAgICAgIENsZWFyCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRlcm1pbmFsLWNvbnRhaW5lciI+CiAgICAgICAgICAke3RoaXMudGVybWluYWxSZWFkeT8iIjpNYDxkaXYgY2xhc3M9ImxvYWRpbmctc3RhdGUiPkxvYWRpbmcgdGVybWluYWwuLi48L2Rpdj5gfQogICAgICAgIDwvZGl2PgoKICAgICAgICAke3RoaXMuc2hvd01ldHJpY3M/TWAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWNzLWJhciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIGVycm9yIj5lcnJvcnM6ICR7dGhpcy5tZXRyaWNzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgd2FybiI+d2FybnM6ICR7dGhpcy5tZXRyaWNzLndhcm59PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyBpbmZvIj5pbmZvOiAke3RoaXMubWV0cmljcy5pbmZvfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgc3VjY2VzcyI+c3VjY2VzczogJHt0aGlzLm1ldHJpY3Muc3VjY2Vzc308L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIGRlYnVnIj5kZWJ1ZzogJHt0aGlzLm1ldHJpY3MuZGVidWd9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyByYXRlIj4ke3RoaXMubWV0cmljcy5yYXRlLnRvRml4ZWQoMSl9IGxvZ3Mvc2VjPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYodGhpcy5kb210b29sc0luc3RhbmNlPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVRlcm1pbmFsKCksdGhpcy5sb2dFbnRyaWVzLmxlbmd0aD4wJiZ0aGlzLmxvZ0J1ZmZlci5sZW5ndGg9PT0wKXt0aGlzLmxvZ0J1ZmZlcj1bLi4udGhpcy5sb2dFbnRyaWVzXTtmb3IobGV0IFAgb2YgdGhpcy5sb2dFbnRyaWVzKXRoaXMudXBkYXRlTWV0cmljcyhQLmxldmVsKSx0aGlzLndyaXRlTG9nRW50cnkoUCl9ZWxzZSBpZih0aGlzLmxvZ0VudHJpZXMubGVuZ3RoPjAmJnRoaXMubG9nQnVmZmVyLmxlbmd0aD4wKXtsZXQgUD1uZXcgU2V0KHRoaXMubG9nQnVmZmVyLm1hcChsZT0+YCR7bGUudGltZXN0YW1wfXwke2xlLm1lc3NhZ2V9YCkpO2ZvcihsZXQgbGUgb2YgdGhpcy5sb2dFbnRyaWVzKVAuaGFzKGAke2xlLnRpbWVzdGFtcH18JHtsZS5tZXNzYWdlfWApfHwodGhpcy5sb2dCdWZmZXIucHVzaChsZSksdGhpcy51cGRhdGVNZXRyaWNzKGxlLmxldmVsKSx0aGlzLndyaXRlTG9nRW50cnkobGUpKX19YXN5bmMgaW5pdGlhbGl6ZVRlcm1pbmFsKCl7bGV0IFA9ZW4uZ2V0SW5zdGFuY2UoKSxbbGUsU2UsWl09YXdhaXQgUHJvbWlzZS5hbGwoW1AubG9hZFh0ZXJtKCksUC5sb2FkWHRlcm1GaXRBZGRvbigpLFAubG9hZFh0ZXJtU2VhcmNoQWRkb24oKV0pO2F3YWl0IHRoaXMuaW5qZWN0WHRlcm1TdHlsZXNJbnRvU2hhZG93KCksdGhpcy50ZXJtaW5hbD1uZXcgbGUuVGVybWluYWwoe2N1cnNvckJsaW5rOiExLGRpc2FibGVTdGRpbjohMCxmb250U2l6ZToxMixmb250RmFtaWx5OiInU0YgTW9ubycsICdNb25hY28nLCAnQ29uc29sYXMnLCAnTGliZXJhdGlvbiBNb25vJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlIix0aGVtZTp0aGlzLmdldFRlcm1pbmFsVGhlbWUoKSxzY3JvbGxiYWNrOnRoaXMubWF4RW50cmllcyxjb252ZXJ0RW9sOiEwfSksdGhpcy5maXRBZGRvbj1uZXcgU2UuRml0QWRkb24sdGhpcy5zZWFyY2hBZGRvbj1uZXcgWi5TZWFyY2hBZGRvbix0aGlzLnRlcm1pbmFsLmxvYWRBZGRvbih0aGlzLmZpdEFkZG9uKSx0aGlzLnRlcm1pbmFsLmxvYWRBZGRvbih0aGlzLnNlYXJjaEFkZG9uKTtsZXQgQT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnRlcm1pbmFsLWNvbnRhaW5lciIpO3RoaXMudGVybWluYWwub3BlbihBKSxhd2FpdCBuZXcgUHJvbWlzZSgkPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoJCkpLHRoaXMuZml0QWRkb24uZml0KCksdGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLmZpdEFkZG9uPy5maXQoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShBKSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249dGhpcy5kb210b29sc0luc3RhbmNlLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKCgpPT57dGhpcy50ZXJtaW5hbCYmKHRoaXMudGVybWluYWwub3B0aW9ucy50aGVtZT10aGlzLmdldFRlcm1pbmFsVGhlbWUoKSl9KSx0aGlzLnJhdGVJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+dGhpcy5jYWxjdWxhdGVSYXRlKCksMWUzKSx0aGlzLnRlcm1pbmFsUmVhZHk9ITA7Zm9yKGxldCAkIG9mIHRoaXMubG9nQnVmZmVyKXRoaXMud3JpdGVMb2dFbnRyeSgkKX11cGRhdGVkKFApe2lmKHN1cGVyLnVwZGF0ZWQoUCksUC5oYXMoImxvZ0VudHJpZXMiKSYmdGhpcy50ZXJtaW5hbFJlYWR5JiZ0aGlzLmxvZ0VudHJpZXMubGVuZ3RoPjApe2xldCBsZT1QLmdldCgibG9nRW50cmllcyIpfHxbXSxTZT10aGlzLmxvZ0VudHJpZXM7aWYobGUubGVuZ3RoPT09U2UubGVuZ3RoJiZsZS5sZW5ndGg+MCYmbGVbbGUubGVuZ3RoLTFdLnRpbWVzdGFtcD09PVNlW1NlLmxlbmd0aC0xXS50aW1lc3RhbXAmJmxlW2xlLmxlbmd0aC0xXS5tZXNzYWdlPT09U2VbU2UubGVuZ3RoLTFdLm1lc3NhZ2UpcmV0dXJuO2lmKFNlLmxlbmd0aD5sZS5sZW5ndGgmJmxlLmxlbmd0aD4wJiZsZVtsZS5sZW5ndGgtMV0udGltZXN0YW1wPT09U2VbbGUubGVuZ3RoLTFdLnRpbWVzdGFtcCYmbGVbbGUubGVuZ3RoLTFdLm1lc3NhZ2U9PT1TZVtsZS5sZW5ndGgtMV0ubWVzc2FnZSl7bGV0IFo9U2Uuc2xpY2UobGUubGVuZ3RoKTtmb3IobGV0IEEgb2YgWil0aGlzLmxvZ0J1ZmZlci5wdXNoKEEpLHRoaXMudXBkYXRlTWV0cmljcyhBLmxldmVsKSx0aGlzLmxvZ0J1ZmZlci5sZW5ndGg+dGhpcy5tYXhFbnRyaWVzJiZ0aGlzLmxvZ0J1ZmZlci5zaGlmdCgpLCghdGhpcy5maWx0ZXJNb2RlfHwhdGhpcy5zZWFyY2hRdWVyeXx8dGhpcy5lbnRyeU1hdGNoZXNGaWx0ZXIoQSkpJiZ0aGlzLndyaXRlTG9nRW50cnkoQSk7cmV0dXJufXRoaXMubG9nQnVmZmVyPVsuLi5TZV0sdGhpcy5yZVJlbmRlckZpbHRlcmVkTG9ncygpfX1nZXRUZXJtaW5hbFRoZW1lKCl7cmV0dXJuIHRoaXMuZG9tdG9vbHNJbnN0YW5jZT8udGhlbWVNYW5hZ2VyPy5pc0RhcmtNb2RlPz8hMD97YmFja2dyb3VuZDoiIzBhMGEwYSIsZm9yZWdyb3VuZDoiI2UwZTBlMCIsY3Vyc29yOiIjZTBlMGUwIixzZWxlY3Rpb25CYWNrZ3JvdW5kOiIjNDA0MDQwIixibGFjazoiIzAwMDAwMCIscmVkOiIjZmY1NTU1IixncmVlbjoiIzUwZmE3YiIseWVsbG93OiIjZjFmYThjIixibHVlOiIjNjI3MmE0IixtYWdlbnRhOiIjZmY3OWM2IixjeWFuOiIjOGJlOWZkIix3aGl0ZToiI2Y4ZjhmMiIsYnJpZ2h0QmxhY2s6IiM2MjcyYTQiLGJyaWdodFJlZDoiI2ZmNmU2ZSIsYnJpZ2h0R3JlZW46IiM2OWZmOTQiLGJyaWdodFllbGxvdzoiI2ZmZmZhNSIsYnJpZ2h0Qmx1ZToiI2Q2YWNmZiIsYnJpZ2h0TWFnZW50YToiI2ZmOTJkZiIsYnJpZ2h0Q3lhbjoiI2E0ZmZmZiIsYnJpZ2h0V2hpdGU6IiNmZmZmZmYifTp7YmFja2dyb3VuZDoiI2ZmZmZmZiIsZm9yZWdyb3VuZDoiIzMzMzMzMyIsY3Vyc29yOiIjMzMzMzMzIixzZWxlY3Rpb25CYWNrZ3JvdW5kOiIjYWRkNmZmIixibGFjazoiIzAwMDAwMCIscmVkOiIjY2QzMTMxIixncmVlbjoiIzAwYmMwMCIseWVsbG93OiIjOTQ5ODAwIixibHVlOiIjMDQ1MWE1IixtYWdlbnRhOiIjYmMwNWJjIixjeWFuOiIjMDU5OGJjIix3aGl0ZToiIzU1NTU1NSIsYnJpZ2h0QmxhY2s6IiM2NjY2NjYiLGJyaWdodFJlZDoiI2NkMzEzMSIsYnJpZ2h0R3JlZW46IiMxNGNlMTQiLGJyaWdodFllbGxvdzoiI2I1YmEwMCIsYnJpZ2h0Qmx1ZToiIzA0NTFhNSIsYnJpZ2h0TWFnZW50YToiI2JjMDViYyIsYnJpZ2h0Q3lhbjoiIzA1OThiYyIsYnJpZ2h0V2hpdGU6IiNhNWE1YTUifX1hc3luYyBpbmplY3RYdGVybVN0eWxlc0ludG9TaGFkb3coKXtsZXQgUD0ieHRlcm0tc2hhZG93LXN0eWxlcyI7aWYodGhpcy5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKFApKXJldHVybjtsZXQgbGU9YCR7Tm59L3h0ZXJtQCR7Um8ueHRlcm19L2Nzcy94dGVybS5jc3NgLFo9YXdhaXQoYXdhaXQgZmV0Y2gobGUpKS50ZXh0KCksQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO0EuaWQ9UCxBLnRleHRDb250ZW50PVosdGhpcy5zaGFkb3dSb290LmFwcGVuZENoaWxkKEEpfWFkZExvZyhQLGxlLFNlKXtsZXQgWj17dGltZXN0YW1wOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxsZXZlbDpQLG1lc3NhZ2U6bGUsc291cmNlOlNlfTt0aGlzLmxvZ0J1ZmZlci5wdXNoKFopLHRoaXMubG9nQnVmZmVyLmxlbmd0aD50aGlzLm1heEVudHJpZXMmJnRoaXMubG9nQnVmZmVyLnNoaWZ0KCksIXRoaXMuZmlsdGVyTW9kZXx8IXRoaXMuc2VhcmNoUXVlcnk/dGhpcy53cml0ZUxvZ0VudHJ5KFopOnRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKFopPyh0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ9MCx0aGlzLndyaXRlTG9nRW50cnkoWikpOnRoaXMudXBkYXRlVHJhaWxpbmdQbGFjZWhvbGRlcigpLHRoaXMudXBkYXRlTWV0cmljcyhaLmxldmVsKX11cGRhdGVMb2coUCl7aWYoUClmb3IobGV0IGxlIG9mIFApdGhpcy5sb2dCdWZmZXIucHVzaChsZSksdGhpcy5sb2dCdWZmZXIubGVuZ3RoPnRoaXMubWF4RW50cmllcyYmdGhpcy5sb2dCdWZmZXIuc2hpZnQoKSwhdGhpcy5maWx0ZXJNb2RlfHwhdGhpcy5zZWFyY2hRdWVyeT90aGlzLndyaXRlTG9nRW50cnkobGUpOnRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKGxlKT8odGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PTAsdGhpcy53cml0ZUxvZ0VudHJ5KGxlKSk6dGhpcy51cGRhdGVUcmFpbGluZ1BsYWNlaG9sZGVyKCksdGhpcy51cGRhdGVNZXRyaWNzKGxlLmxldmVsKX11cGRhdGVUcmFpbGluZ1BsYWNlaG9sZGVyKCl7dGhpcy50ZXJtaW5hbCYmKHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudD4wJiZ0aGlzLnRlcm1pbmFsLndyaXRlKCJceDFCWzFBXHgxQlsyS1xyIiksdGhpcy50cmFpbGluZ0hpZGRlbkNvdW50KyssdGhpcy53cml0ZUhpZGRlblBsYWNlaG9sZGVyKHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudCksdGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCkpfWVudHJ5TWF0Y2hlc0ZpbHRlcihQKXtpZighdGhpcy5zZWFyY2hRdWVyeSlyZXR1cm4hMDtsZXQgbGU9dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO3JldHVybiBQLm1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsZSl8fFAubGV2ZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsZSl8fChQLnNvdXJjZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsZSk/PyExKX13cml0ZUxvZ0VudHJ5KFApe2lmKCF0aGlzLnRlcm1pbmFsKXJldHVybjtsZXQgbGU9dGhpcy5mb3JtYXRMb2dFbnRyeShQKTt0aGlzLnRlcm1pbmFsLndyaXRlbG4obGUpLHRoaXMuYXV0b1Njcm9sbCYmdGhpcy50ZXJtaW5hbC5zY3JvbGxUb0JvdHRvbSgpfWZvcm1hdExvZ0VudHJ5KFApe2xldCBsZT10aGlzLmZvcm1hdFRpbWVzdGFtcChQLnRpbWVzdGFtcCksU2U9e2RlYnVnOiJceDFCWzkwbSIsaW5mbzoiXHgxQlszNm0iLHdhcm46Ilx4MUJbMzNtIixlcnJvcjoiXHgxQlszMW0iLHN1Y2Nlc3M6Ilx4MUJbMzJtIn0sWj0iXHgxQlswbSIsQT0iXHgxQlsybSIsJD1gJHtTZVtQLmxldmVsXX1bJHtQLmxldmVsLnRvVXBwZXJDYXNlKCkucGFkRW5kKDcpfV0ke1p9YCxqPVAuc291cmNlP2Ake0F9WyR7UC5zb3VyY2V9XSR7Wn0gYDoiIixIPXRoaXMuYXBwbHlIaWdobGlnaHRzKFAubWVzc2FnZSk7cmV0dXJuYCR7QX0ke2xlfSR7Wn0gJHskfSAke2p9JHtIfWB9Zm9ybWF0VGltZXN0YW1wKFApe3JldHVybiBuZXcgRGF0ZShQKS50b0xvY2FsZVRpbWVTdHJpbmcoImVuLVVTIix7aG91cjEyOiExLGhvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCIsc2Vjb25kOiIyLWRpZ2l0IixmcmFjdGlvbmFsU2Vjb25kRGlnaXRzOjN9KX1hcHBseUhpZ2hsaWdodHMoUCl7bGV0IGxlPVsuLi50aGlzLmhpZ2hsaWdodEtleXdvcmRzXTtpZih0aGlzLmZpbHRlck1vZGUmJnRoaXMuc2VhcmNoUXVlcnkmJmxlLnB1c2godGhpcy5zZWFyY2hRdWVyeSksbGUubGVuZ3RoPT09MClyZXR1cm4gUDtsZXQgU2U9UDtmb3IobGV0IFogb2YgbGUpe2xldCBBPVoucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xdXFxdL2csIlxcJCYiKSwkPW5ldyBSZWdFeHAoYCgke0F9KWAsImdpIik7U2U9U2UucmVwbGFjZSgkLCJceDFCWzQzbVx4MUJbMzBtJDFceDFCWzBtIil9cmV0dXJuIFNlfXdyaXRlUmF3KFApe3RoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLndyaXRlKFApLHRoaXMucmVjb3JkTG9nRXZlbnQoKSx0aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKSl9d3JpdGVsblJhdyhQKXt0aGlzLnRlcm1pbmFsJiYodGhpcy50ZXJtaW5hbC53cml0ZWxuKFApLHRoaXMucmVjb3JkTG9nRXZlbnQoKSx0aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKSl9aGFuZGxlU2VhcmNoSW5wdXQoUCl7bGV0IFNlPVAudGFyZ2V0LnZhbHVlLFo9dGhpcy5zZWFyY2hRdWVyeSE9PVNlO3RoaXMuc2VhcmNoUXVlcnk9U2UsdGhpcy5maWx0ZXJNb2RlJiZaP3RoaXMucmVSZW5kZXJGaWx0ZXJlZExvZ3MoKTp0aGlzLnNlYXJjaFF1ZXJ5JiZ0aGlzLnNlYXJjaEFkZG9uPy5maW5kTmV4dCh0aGlzLnNlYXJjaFF1ZXJ5KX1oYW5kbGVTZWFyY2hLZXlkb3duKFApe1Aua2V5PT09IkVudGVyIj9QLnNoaWZ0S2V5P3RoaXMuc2VhcmNoUHJldmlvdXMoKTp0aGlzLnNlYXJjaE5leHQoKTpQLmtleT09PSJFc2NhcGUiJiYodGhpcy5zZWFyY2hRdWVyeT0iIixQLnRhcmdldC52YWx1ZT0iIil9c2VhcmNoKFApe3RoaXMuc2VhcmNoUXVlcnk9UCx0aGlzLnNlYXJjaEFkZG9uPy5maW5kTmV4dChQKX1zZWFyY2hOZXh0KCl7dGhpcy5zZWFyY2hRdWVyeSYmdGhpcy5zZWFyY2hBZGRvbj8uZmluZE5leHQodGhpcy5zZWFyY2hRdWVyeSl9c2VhcmNoUHJldmlvdXMoKXt0aGlzLnNlYXJjaFF1ZXJ5JiZ0aGlzLnNlYXJjaEFkZG9uPy5maW5kUHJldmlvdXModGhpcy5zZWFyY2hRdWVyeSl9dG9nZ2xlQXV0b1Njcm9sbCgpe3RoaXMuYXV0b1Njcm9sbD0hdGhpcy5hdXRvU2Nyb2xsLHRoaXMuYXV0b1Njcm9sbCYmdGhpcy50ZXJtaW5hbCYmdGhpcy50ZXJtaW5hbC5zY3JvbGxUb0JvdHRvbSgpfXRvZ2dsZUZpbHRlck1vZGUoKXt0aGlzLmZpbHRlck1vZGU9IXRoaXMuZmlsdGVyTW9kZSx0aGlzLnJlUmVuZGVyRmlsdGVyZWRMb2dzKCl9cmVSZW5kZXJGaWx0ZXJlZExvZ3MoKXtpZih0aGlzLnRlcm1pbmFsKXtpZih0aGlzLnRlcm1pbmFsLmNsZWFyKCksdGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PTAsIXRoaXMuZmlsdGVyTW9kZXx8IXRoaXMuc2VhcmNoUXVlcnkpZm9yKGxldCBQIG9mIHRoaXMubG9nQnVmZmVyKXtsZXQgbGU9dGhpcy5mb3JtYXRMb2dFbnRyeShQKTt0aGlzLnRlcm1pbmFsLndyaXRlbG4obGUpfWVsc2V7bGV0IFA9MDtmb3IobGV0IGxlIG9mIHRoaXMubG9nQnVmZmVyKWlmKHRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKGxlKSl7UD4wJiYodGhpcy53cml0ZUhpZGRlblBsYWNlaG9sZGVyKFApLFA9MCk7bGV0IFNlPXRoaXMuZm9ybWF0TG9nRW50cnkobGUpO3RoaXMudGVybWluYWwud3JpdGVsbihTZSl9ZWxzZSBQKys7UD4wJiYodGhpcy53cml0ZUhpZGRlblBsYWNlaG9sZGVyKFApLHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudD1QKX10aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKX19d3JpdGVIaWRkZW5QbGFjZWhvbGRlcihQKXtsZXQgbGU9Ilx4MUJbMm0iLFNlPSJceDFCWzBtIixaPVA9PT0xPyJbMSBsb2cgbGluZSBoaWRkZW4gYnkgZmlsdGVyIC4uLl0iOmBbJHtQfSBsb2cgbGluZXMgaGlkZGVuIGJ5IGZpbHRlciAuLi5dYDt0aGlzLnRlcm1pbmFsPy53cml0ZWxuKGAke2xlfSR7Wn0ke1NlfWApfWNsZWFyTG9ncygpe3RoaXMudGVybWluYWw/LmNsZWFyKCksdGhpcy5sb2dCdWZmZXI9W10sdGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PTAsdGhpcy5yZXNldE1ldHJpY3MoKX1zY3JvbGxUb0JvdHRvbSgpe3RoaXMudGVybWluYWw/LnNjcm9sbFRvQm90dG9tKCl9dXBkYXRlTWV0cmljcyhQKXt0aGlzLm1ldHJpY3M9ey4uLnRoaXMubWV0cmljcyxbUF06dGhpcy5tZXRyaWNzW1BdKzEsdG90YWw6dGhpcy5tZXRyaWNzLnRvdGFsKzF9LHRoaXMucmVjb3JkTG9nRXZlbnQoKX1yZWNvcmRMb2dFdmVudCgpe3RoaXMucmF0ZUJ1ZmZlci5wdXNoKERhdGUubm93KCkpfWNhbGN1bGF0ZVJhdGUoKXtsZXQgUD1EYXRlLm5vdygpO3RoaXMucmF0ZUJ1ZmZlcj10aGlzLnJhdGVCdWZmZXIuZmlsdGVyKFNlPT5QLVNlPDFlNCk7bGV0IGxlPXRoaXMucmF0ZUJ1ZmZlci5sZW5ndGgvMTA7bGUhPT10aGlzLm1ldHJpY3MucmF0ZSYmKHRoaXMubWV0cmljcz17Li4udGhpcy5tZXRyaWNzLHJhdGU6bGV9KX1yZXNldE1ldHJpY3MoKXt0aGlzLm1ldHJpY3M9e2RlYnVnOjAsaW5mbzowLHdhcm46MCxlcnJvcjowLHN1Y2Nlc3M6MCx0b3RhbDowLHJhdGU6MH0sdGhpcy5yYXRlQnVmZmVyPVtdfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlc2l6ZU9ic2VydmVyJiZ0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb24mJnRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMucmF0ZUludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMucmF0ZUludGVydmFsKSx0aGlzLnRlcm1pbmFsJiZ0aGlzLnRlcm1pbmFsLmRpc3Bvc2UoKX1zdGF0aWN7emEoYSxyKX19O3JldHVybiBNZT1hfSkoKX0pO3ZhciBEMHI9ZigoKT0+eyQwcigpfSk7dmFyIEEwcj1mKCgpPT57QzByKCk7RDByKCl9KTt2YXIgRTByLEkwcj1mKCgpPT57dWUoKTtFMHI9KCk9Pk1gCiAgPHN0eWxlPgogICAgLmRlbW9XcmFwcGVyIHsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgfQogICAgCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KICAgIAogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtb1dyYXBwZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlR5cGVTY3JpcHQgQ29kZSBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkEgY29tcHJlaGVuc2l2ZSBUeXBlU2NyaXB0IGNvZGUgZXhhbXBsZSB3aXRoIHZhcmlvdXMgc3ludGF4IGhpZ2hsaWdodGluZy48L2Rpdj4KICAgICAgPGRlZXMtZGF0YXZpZXctY29kZWJveCBwcm9nbGFuZz0idHlwZXNjcmlwdCI+CmludGVyZmFjZSBVc2VyIHsKICBpZDogbnVtYmVyOwogIG5hbWU6IHN0cmluZzsKICBlbWFpbDogc3RyaW5nOwogIGlzQWN0aXZlOiBib29sZWFuOwp9CgpjbGFzcyBVc2VyU2VydmljZSB7CiAgcHJpdmF0ZSB1c2VyczogVXNlcltdID0gW107CiAgCiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlVcmw6IHN0cmluZykgewogICAgY29uc29sZS5sb2coJ1VzZXJTZXJ2aWNlIGluaXRpYWxpemVkJyk7CiAgfQogIAogIGFzeW5jIGdldFVzZXJzKCk6IFByb21pc2U8VXNlcltdPiB7CiAgICB0cnkgewogICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHRoaXMuYXBpVXJsKTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKICAgICAgcmV0dXJuIGRhdGEudXNlcnM7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggdXNlcnM6JywgZXJyb3IpOwogICAgICByZXR1cm4gW107CiAgICB9CiAgfQogIAogIGFkZFVzZXIodXNlcjogVXNlcik6IHZvaWQgewogICAgdGhpcy51c2Vycy5wdXNoKHVzZXIpOwogIH0KfQoKLy8gVXNhZ2UgZXhhbXBsZQpjb25zdCBzZXJ2aWNlID0gbmV3IFVzZXJTZXJ2aWNlKCdodHRwczovL2FwaS5leGFtcGxlLmNvbS91c2VycycpOwpjb25zdCB1c2VycyA9IGF3YWl0IHNlcnZpY2UuZ2V0VXNlcnMoKTsKY29uc29sZS5sb2coJ0ZvdW5kIHVzZXJzOicsIHVzZXJzLmxlbmd0aCk7CiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5KYXZhU2NyaXB0IEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+TW9kZXJuIEphdmFTY3JpcHQgd2l0aCBFUzYrIGZlYXR1cmVzLjwvZGl2PgogICAgICA8ZGVlcy1kYXRhdmlldy1jb2RlYm94IHByb2dsYW5nPSJqYXZhc2NyaXB0Ij4KLy8gQXJyYXkgbWFuaXB1bGF0aW9uIGV4YW1wbGVzCmNvbnN0IG51bWJlcnMgPSBbMSwgMiwgMywgNCwgNV07CmNvbnN0IGRvdWJsZWQgPSBudW1iZXJzLm1hcChuID0+IG4gKiAyKTsKY29uc3QgZmlsdGVyZWQgPSBudW1iZXJzLmZpbHRlcihuID0+IG4gPiAzKTsKCi8vIE9iamVjdCBkZXN0cnVjdHVyaW5nCmNvbnN0IHVzZXIgPSB7IG5hbWU6ICdKb2huJywgYWdlOiAzMCwgY2l0eTogJ05ldyBZb3JrJyB9Owpjb25zdCB7IG5hbWUsIGFnZSB9ID0gdXNlcjsKCi8vIFByb21pc2UgaGFuZGxpbmcKY29uc3QgZmV0Y2hEYXRhID0gYXN5bmMgKHVybCkgPT4gewogIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTsKICByZXR1cm4gcmVzcG9uc2UuanNvbigpOwp9OwoKLy8gTW9kZXJuIHN5bnRheApjb25zdCBncmVldCA9IChuYW1lID0gJ1dvcmxkJykgPT4gXGBIZWxsbywgXCR7bmFtZX0hXGA7CmNvbnNvbGUubG9nKGdyZWV0KCdTaGFkQ04nKSk7CiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QeXRob24gRXhhbXBsZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5QeXRob24gY29kZSB3aXRoIGNsYXNzZXMgYW5kIHR5cGUgaGludHMuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9InB5dGhvbiI+CmZyb20gdHlwaW5nIGltcG9ydCBMaXN0LCBPcHRpb25hbAppbXBvcnQgYXN5bmNpbwoKY2xhc3MgRGF0YVByb2Nlc3NvcjoKICAgICIiIkEgc2ltcGxlIGRhdGEgcHJvY2Vzc29yIGNsYXNzIiIiCiAgICAKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lOiBzdHIpOgogICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICBzZWxmLmRhdGE6IExpc3RbZGljdF0gPSBbXQogICAgCiAgICBhc3luYyBkZWYgcHJvY2Vzc19kYXRhKHNlbGYsIGl0ZW1zOiBMaXN0W2RpY3RdKSAtPiBMaXN0W2RpY3RdOgogICAgICAgICIiIlByb2Nlc3MgZGF0YSBpdGVtcyBhc3luY2hyb25vdXNseSIiIgogICAgICAgIHJlc3VsdHMgPSBbXQogICAgICAgIGZvciBpdGVtIGluIGl0ZW1zOgogICAgICAgICAgICAjIFNpbXVsYXRlIGFzeW5jIHByb2Nlc3NpbmcKICAgICAgICAgICAgYXdhaXQgYXN5bmNpby5zbGVlcCgwLjEpCiAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKHsKICAgICAgICAgICAgICAgICdpZCc6IGl0ZW0uZ2V0KCdpZCcpLAogICAgICAgICAgICAgICAgJ3Byb2Nlc3NlZCc6IFRydWUsCiAgICAgICAgICAgICAgICAncHJvY2Vzc29yJzogc2VsZi5uYW1lCiAgICAgICAgICAgIH0pCiAgICAgICAgcmV0dXJuIHJlc3VsdHMKICAgIAogICAgZGVmIGdldF9zdW1tYXJ5KHNlbGYpIC0+IGRpY3Q6CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgJ3Byb2Nlc3Nvcic6IHNlbGYubmFtZSwKICAgICAgICAgICAgJ2l0ZW1zX3Byb2Nlc3NlZCc6IGxlbihzZWxmLmRhdGEpCiAgICAgICAgfQoKIyBVc2FnZQpwcm9jZXNzb3IgPSBEYXRhUHJvY2Vzc29yKCJNYWluIikKZGF0YSA9IGF3YWl0IHByb2Nlc3Nvci5wcm9jZXNzX2RhdGEoW3snaWQnOiAxfSwgeydpZCc6IDJ9XSkKICAgICAgPC9kZWVzLWRhdGF2aWV3LWNvZGVib3g+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNTUyBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPk1vZGVybiBDU1Mgd2l0aCBjdXN0b20gcHJvcGVydGllcyBhbmQgYW5pbWF0aW9ucy4gTm90ZSB0aGUgc2hvcnRlciBsYW5ndWFnZSBsYWJlbC48L2Rpdj4KICAgICAgPGRlZXMtZGF0YXZpZXctY29kZWJveCBwcm9nbGFuZz0iY3NzIj4KLyogTW9kZXJuIENTUyB3aXRoIGN1c3RvbSBwcm9wZXJ0aWVzICovCjpyb290IHsKICAtLXByaW1hcnktY29sb3I6ICMzYjgyZjY7CiAgLS1zZWNvbmRhcnktY29sb3I6ICMxMGI5ODE7CiAgLS1iYWNrZ3JvdW5kOiAjZmZmZmZmOwogIC0tdGV4dC1jb2xvcjogIzA5MDkwYjsKICAtLWJvcmRlci1yYWRpdXM6IDZweDsKfQoKLmNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQpOwogIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7CiAgcGFkZGluZzogMjRweDsKICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7Cn0KCi5jYXJkOmhvdmVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKfQoKQGtleWZyYW1lcyBmYWRlSW4gewogIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH0KICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQp9CiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5KU09OIEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+SlNPTiBjb25maWd1cmF0aW9uIHdpdGggcHJvcGVyIGZvcm1hdHRpbmcuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9Impzb24iPgp7CiAgIm5hbWUiOiAiQGRlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIiwKICAidmVyc2lvbiI6ICIxLjEwLjciLAogICJkZXNjcmlwdGlvbiI6ICJBIGNvbXByZWhlbnNpdmUgY2F0YWxvZyBvZiB3ZWIgY29tcG9uZW50cyIsCiAgIm1haW4iOiAiZGlzdF90c193ZWIvaW5kZXguanMiLAogICJ0eXBlIjogIm1vZHVsZSIsCiAgInNjcmlwdHMiOiB7CiAgICAiYnVpbGQiOiAidHNidWlsZCB0c2ZvbGRlcnMgLS1hbGxvd2ltcGxpY2l0YW55ICYmIHRzYnVuZGxlIGVsZW1lbnQgLS1wcm9kdWN0aW9uIiwKICAgICJ3YXRjaCI6ICJ0c3dhdGNoIGVsZW1lbnQiLAogICAgInRlc3QiOiAidHN0ZXN0IHRlc3QvIC0td2ViIC0tdmVyYm9zZSIKICB9LAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAiQGRlc2lnbi5lc3RhdGUvZGVlcy1lbGVtZW50IjogIl4yLjAuNDUiLAogICAgImhpZ2hsaWdodC5qcyI6ICJeMTEuOS4wIgogIH0KfQogICAgICA8L2RlZXMtZGF0YXZpZXctY29kZWJveD4KICAgIDwvZGl2PgogIDwvZGl2PgpgfSk7dmFyIHo2ZSxCYixQMHIsQzZlPWYoKCk9PntJMHIoKTt1ZSgpO0puKCk7VDkoKTtKdCgpO01pKCk7dDMoKTt6NmU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxCYj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sUDByPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1kYXRhdmlldy1jb2RlYm94IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBoPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0YoKV0sYz1bRih7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSx6NmUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcm9nTGFuZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+InByb2dMYW5nImluIG0sZ2V0Om09Pm0ucHJvZ0xhbmcsc2V0OihtLHYpPT57bS5wcm9nTGFuZz12fX0sbWV0YWRhdGE6aH0scyxvKSx6NmUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2RlVG9EaXNwbGF5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4iY29kZVRvRGlzcGxheSJpbiBtLGdldDptPT5tLmNvZGVUb0Rpc3BsYXksc2V0OihtLHYpPT57bS5jb2RlVG9EaXNwbGF5PXZ9fSxtZXRhZGF0YTpofSxsLHUpLHo2ZShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBkZW1vPUUwcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhdGEgVmlldyIsIldvcmtzcGFjZSJdOyNlPUJiKHRoaXMscywidHlwZXNjcmlwdCIpO2dldCBwcm9nTGFuZygpe3JldHVybiB0aGlzLiNlfXNldCBwcm9nTGFuZyhoKXt0aGlzLiNlPWh9I3Q9KEJiKHRoaXMsbyksQmIodGhpcyxsLCIiKSk7Z2V0IGNvZGVUb0Rpc3BsYXkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY29kZVRvRGlzcGxheShoKXt0aGlzLiN0PWh9Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiBNYAogICAgICAke3BhLnN0eWxlc30KICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAke0lyfTsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQogICAgICAgIC5tYWluYm94IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQoKICAgICAgICAuYXBwYmFyIHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxODE4MWIiKX07CiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAuYXBwYmFyIC5maWxlTmFtZSB7CiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAuYm90dG9tQmFyIHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxODE4MWIiKX07CiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLnNwYWNlc0xhYmVsIHsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLmxhbmd1YWdlTGFiZWwgewogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiKX07CiAgICAgICAgICBwYWRkaW5nOiAwcHggMTZweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5obGpzLWtleXdvcmQgewogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICB9CgogICAgICAgIC5jb2RlZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4IGF1dG87CiAgICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIH0KCiAgICAgICAgLmxpbmVOdW1iZXJzIHsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiM1MjUyNWIiKX07CiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDE2cHggMHB4IDBweDsKICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIH0KCiAgICAgICAgLmxpbmVDb3VudGVyOmxhc3QtY2hpbGQgewogICAgICAgICAgb3BhY2l0eTogNTAlOwogICAgICAgIH0KCiAgICAgICAgcHJlIHsKICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgICBtYXJnaW46IDBweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHggMjRweDsKICAgICAgICB9CgogICAgICAgIGNvZGUgewogICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICAgIHBhZGRpbmc6IDBweDsKICAgICAgICAgIG1hcmdpbjogMHB4OwogICAgICAgIH0KCiAgICAgICAgY29kZSwKICAgICAgICBjb2RlICosCiAgICAgICAgLmxpbmVOdW1iZXJzIHsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7CiAgICAgICAgICBmb250LWZhbWlseTogJHtVNn07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1zdHJpbmcgewogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDU5NjY5IiwiIzEwYjk4MSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWJ1aWx0X2luIHsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzhiNWNmNiIsIiNhNzhiZmEiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1mdW5jdGlvbiB7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtcGFyYW1zIHsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA4OTFiMiIsIiMwNmI2ZDQiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1jb21tZW50IHsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1udW1iZXIgewogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZWE1ODBjIiwiI2ZiOTIzYyIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWxpdGVyYWwgewogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWF0dHIgewogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjOGI1Y2Y2IiwiI2E3OGJmYSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLXZhcmlhYmxlIHsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9Im1haW5ib3giCiAgICAgICAgQGNvbnRleHRtZW51PSIke2g9PntNci5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhoLFt7bmFtZToiQWJvdXQiLGljb25OYW1lOiJjaXJjbGVJbmZvIixhY3Rpb246YXN5bmMoKT0+bnVsbH1dKX19IgogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iYXBwYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZpbGVOYW1lIj5pbmRleC50czwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvZGVncmlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmVOdW1iZXJzIj4KICAgICAgICAgICAgJHsoKCk9PntsZXQgaD0wO3JldHVybiB0aGlzLmNvZGVUb0Rpc3BsYXkuc3BsaXQoYApgKS5tYXAobT0+KGgrKyxNYDxkaXYgY2xhc3M9ImxpbmVDb3VudGVyIj4ke2h9PC9kaXY+YCkpfSkoKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHByZT48Y29kZT48L2NvZGU+PC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tQmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlc0xhYmVsIj5TcGFjZXM6IDI8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlTGFiZWwiPiR7dGhpcy5wcm9nTGFuZ308L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvZGVUb0Rpc3BsYXlTdG9yZT0oQmIodGhpcyx1KSwiIik7aGlnaGxpZ2h0SnM9bnVsbDthc3luYyB1cGRhdGVkKGgpe3N1cGVyLnVwZGF0ZWQoaCksY29uc29sZS5sb2coImhpZ2hsaWdodGluZyBub3ciKSxjb25zb2xlLmxvZyh0aGlzLmNoaWxkTm9kZXMpO2xldCBtPVtdO3RoaXMuY2hpbGROb2Rlcy5mb3JFYWNoKGc9PntnLm5vZGVOYW1lPT09IiN0ZXh0IiYmbS5wdXNoKGcpfSksdGhpcy5jb2RlVG9EaXNwbGF5JiZ0aGlzLmNvZGVUb0Rpc3BsYXkhPT10aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZSYmKHRoaXMuY29kZVRvRGlzcGxheVN0b3JlPXQ2Lm5vcm1hbGl6ZSh0aGlzLmNvZGVUb0Rpc3BsYXkpLnRyaW1TdGFydCgpKSxtWzBdJiZtWzBdLndob2xlVGV4dCYmIXRoaXMuY29kZVRvRGlzcGxheSYmKHRoaXMuY29kZVRvRGlzcGxheVN0b3JlPXQ2Lm5vcm1hbGl6ZShtWzBdLndob2xlVGV4dCkudHJpbVN0YXJ0KCksdGhpcy5jb2RlVG9EaXNwbGF5PXRoaXMuY29kZVRvRGlzcGxheVN0b3JlKSxhd2FpdCBqdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMuaGlnaGxpZ2h0SnN8fCh0aGlzLmhpZ2hsaWdodEpzPWF3YWl0IGVuLmdldEluc3RhbmNlKCkubG9hZEhpZ2hsaWdodEpzKCkpO2xldCB2PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJjb2RlIiksYj10aGlzLmhpZ2hsaWdodEpzLmhpZ2hsaWdodCh0aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZSx7bGFuZ3VhZ2U6dGhpcy5wcm9nTGFuZyxpZ25vcmVJbGxlZ2FsczohMH0pO3YuaW5uZXJIVE1MPWIudmFsdWV9c3RhdGlje0JiKGEscil9fTtyZXR1cm4gZD1hfSkoKX0pO3ZhciBOMHI9ZigoKT0+e0M2ZSgpfSk7dmFyIEYwcixPMHI9ZigoKT0+e3VlKCk7X28oKTtGMHI9KCk9Pk1gIDxzdHlsZT4KICAgIC5kZW1vIHsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNWY1ZjUiLCIjMGEwYTBhIil9OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICB9CiAgICAKICAgIC5kZW1vLWdyaWQgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBnYXA6IDI0cHg7CiAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQogICAgCiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAxNnB4OwogICAgfQogICAgCiAgICAuZGVtby10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgIH0KICAgIAogICAgLmRlbW8tbm90ZSB7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtbyI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLW5vdGUiPgogICAgICBSaWdodC1jbGljayBvbiBhbnkgZGV0YWlsIHJvdyB0byBjb3B5IHRoZSB2YWx1ZSwga2V5LCBvciBrZXk6dmFsdWUgY29tYmluYXRpb24KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXRpdGxlIj5TZXJ2aWNlIEhlYWx0aCBTdGF0dXM8L2Rpdj4KICAgICAgICA8ZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3QKICAgICAgICAgIC5zdGF0dXNPYmplY3Q9JHt7aWQ6IjEiLG5hbWU6IkFQSSBHYXRld2F5IFNlcnZpY2UiLGNvbWJpbmVkU3RhdHVzOiJvayIsY29tYmluZWRTdGF0dXNUZXh0OiJBbGwgc3lzdGVtcyBvcGVyYXRpb25hbCIsZGV0YWlsczpbe25hbWU6IlJlc3BvbnNlIFRpbWUiLHZhbHVlOiI0NW1zIChhdmcpIixzdGF0dXM6Im9rIixzdGF0dXNUZXh0OiJXaXRoaW4gbm9ybWFsIHJhbmdlIn0se25hbWU6IlVwdGltZSIsdmFsdWU6Ijk5Ljk5JSAoMzAgZGF5cykiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6IkV4Y2VsbGVudCB1cHRpbWUifSx7bmFtZToiQWN0aXZlIENvbm5lY3Rpb25zIix2YWx1ZToiMSwyMzQgLyAxMCwwMDAiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6Ik5vcm1hbCBsb2FkIn0se25hbWU6IlNTTCBDZXJ0aWZpY2F0ZSIsdmFsdWU6IlZhbGlkIHVudGlsIDIwMjQtMTItMzEiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6IkNlcnRpZmljYXRlIHZhbGlkIn1dfX0KICAgICAgICA+CiAgICAgICAgPC9kZWVzLWRhdGF2aWV3LXN0YXR1c29iamVjdD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tdGl0bGUiPkRhdGFiYXNlIENsdXN0ZXIgU3RhdHVzPC9kaXY+CiAgICAgICAgPGRlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0CiAgICAgICAgICAuc3RhdHVzT2JqZWN0PSR7e2lkOiIyIixuYW1lOiJQb3N0Z3JlU1FMIENsdXN0ZXIiLGNvbWJpbmVkU3RhdHVzOiJwYXJ0bHlfb2siLGNvbWJpbmVkU3RhdHVzVGV4dDoiTWlub3IgaXNzdWVzIGRldGVjdGVkIixkZXRhaWxzOlt7bmFtZToiUHJpbWFyeSBOb2RlIix2YWx1ZToiZGItcHJpbWFyeS0wMSAoaGVhbHRoeSkiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6Ik9wZXJhdGluZyBub3JtYWxseSJ9LHtuYW1lOiJSZXBsaWNhIExhZyIsdmFsdWU6IjIuNSBzZWNvbmRzIixzdGF0dXM6InBhcnRseV9vayIsc3RhdHVzVGV4dDoiU2xpZ2h0bHkgZWxldmF0ZWQifSx7bmFtZToiRGlzayBVc2FnZSIsdmFsdWU6Ijc4JSAoMzEyR0IgLyA0MDBHQikiLHN0YXR1czoicGFydGx5X29rIixzdGF0dXNUZXh0OiJBcHByb2FjaGluZyB0aHJlc2hvbGQifSx7bmFtZToiQ29ubmVjdGlvbiBQb29sIix2YWx1ZToiODkgLyAxMDAgY29ubmVjdGlvbnMiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6IldpdGhpbiBsaW1pdHMifV19fQogICAgICAgID4KICAgICAgICA8L2RlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0PgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby10aXRsZSI+QnVpbGQgUGlwZWxpbmUgU3RhdHVzPC9kaXY+CiAgICAgICAgPGRlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0CiAgICAgICAgICAuc3RhdHVzT2JqZWN0PSR7e2lkOiIzIixuYW1lOiJDSS9DRCBQaXBlbGluZSIsY29tYmluZWRTdGF0dXM6Im5vdF9vayIsY29tYmluZWRTdGF0dXNUZXh0OiJCdWlsZCBmYWlsdXJlIixkZXRhaWxzOlt7bmFtZToiTGFzdCBCdWlsZCIsdmFsdWU6IkJ1aWxkICMxMjM0IC0gRmFpbGVkIixzdGF0dXM6Im5vdF9vayIsc3RhdHVzVGV4dDoiVGVzdCBmYWlsdXJlcyJ9LHtuYW1lOiJGYWlsZWQgVGVzdHMiLHZhbHVlOiIzIHRlc3RzIGZhaWxlZDogYXV0aC5zcGVjLnRzLCB1c2VyLnNwZWMudHMsIGFwaS5zcGVjLnRzIixzdGF0dXM6Im5vdF9vayIsc3RhdHVzVGV4dDoiVW5pdCB0ZXN0IGZhaWx1cmVzIn0se25hbWU6IkNvZGUgQ292ZXJhZ2UiLHZhbHVlOiI4Mi41JSAodGFyZ2V0OiA4NSUpIixzdGF0dXM6InBhcnRseV9vayIsc3RhdHVzVGV4dDoiQmVsb3cgdGFyZ2V0In0se25hbWU6IkJ1aWxkIER1cmF0aW9uIix2YWx1ZToiMTJtIDM0cyIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiTm9ybWFsIGR1cmF0aW9uIn1dfX0KICAgICAgICA+CiAgICAgICAgPC9kZWVzLWRhdGF2aWV3LXN0YXR1c29iamVjdD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj5gfSk7dmFyIFIwcixUNmUsQjByLEgwcj1mKCgpPT57QnMoKTt3aSgpO08wcigpO3VlKCk7X28oKTtNaSgpO1FlKCk7UjByPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sVDZlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxCMHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWRhdGF2aWV3LXN0YXR1c29iamVjdCIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdO3ZhciBjPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgbD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOk9iamVjdH0pXSxSMHIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXNPYmplY3QiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJzdGF0dXNPYmplY3QiaW4gdSxnZXQ6dT0+dS5zdGF0dXNPYmplY3Qsc2V0Oih1LGQpPT57dS5zdGF0dXNPYmplY3Q9ZH19LG1ldGFkYXRhOmx9LHMsbyksUjByKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89RjByO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGF0YSBWaWV3Il07I2U9VDZlKHRoaXMscyx2b2lkIDApO2dldCBzdGF0dXNPYmplY3QoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RhdHVzT2JqZWN0KGwpe3RoaXMuI2U9bH1zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAubWFpbmJveCB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgaHNsKDAgMCUgMCUgLyAwLjEpLCAwIDFweCAycHggLTFweCBoc2woMCAwJSAwJSAvIDAuMSk7CiAgICAgICAgbWluLWhlaWdodDogNDhweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0OHB4IGF1dG8gMTAwcHg7CiAgICAgICAgaGVpZ2h0OiA1NnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgaDEgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMHB4OwogICAgICAgIHBhZGRpbmc6IDBweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkzLjklKSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1c2RvdCB7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICAgIHdpZHRoOiAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtwLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklIC8gMC4yKSIsImhzbCgwIDAlIDQ1LjElIC8gMC4yKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAuY29weU1haW4gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuY29weU1haW46aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkzLjklKSIpfTsKICAgICAgfQoKICAgICAgLmNvcHlNYWluOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDkxJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLnN0YXR1c2RvdC5vayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke3AuYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4yKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXNkb3Qubm90X29rIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgNzIuMiUgNTAuNiUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke3AuYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUgLyAwLjIpIiwiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjIpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzZG90LnBhcnRseV9vayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlKSIsImhzbCgyNSA5NSUgNjMlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtwLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlIC8gMC4yKSIsImhzbCgyNSA5NSUgNjMlIC8gMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmRldGFpbCB7CiAgICAgICAgbWluLWhlaWdodDogNjBweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0OHB4IGF1dG87CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OwogICAgICAgIGN1cnNvcjogY29udGV4dC1tZW51OwogICAgICB9CgogICAgICAuZGV0YWlsOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgfQoKICAgICAgLmRldGFpbDphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICB9CgogICAgICAuZGV0YWlsIC5kZXRhaWxzVGV4dCB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwgLmRldGFpbHNUZXh0IC5sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX0KICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5kZXRhaWwgLmRldGFpbHNUZXh0IC52YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZWwgT25lIE1vbm8nLCAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1c2RvdCAke3RoaXMuc3RhdHVzT2JqZWN0Py5jb21iaW5lZFN0YXR1c30iPjwvZGl2PgogICAgICAgICAgPGgxPiR7dGhpcy5zdGF0dXNPYmplY3Q/Lm5hbWV8fCJObyBzdGF0dXMgb2JqZWN0IGFzc2lnbmVkIn08L2gxPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29weU1haW4iIEBjbGljaz0ke3RoaXMuaGFuZGxlQ29weUFzSnNvbn0+Q29weSBKU09OPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnN0YXR1c09iamVjdD8uZGV0YWlscz8ubWFwKGw9Pk1gCiAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgY2xhc3M9ImRldGFpbCIKICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHt1PT57dS5wcmV2ZW50RGVmYXVsdCgpLE1yLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHUsW3tuYW1lOiJDb3B5IFZhbHVlIixpY29uTmFtZToibHVjaWRlOmNvcHkiLGFjdGlvbjphc3luYygpPT57YXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQobC52YWx1ZSwiVmFsdWUiKX19LHtuYW1lOiJDb3B5IEtleSIsaWNvbk5hbWU6Imx1Y2lkZTprZXkiLGFjdGlvbjphc3luYygpPT57YXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQobC5uYW1lLCJLZXkiKX19LHtuYW1lOiJDb3B5IEtleTpWYWx1ZSIsaWNvbk5hbWU6Imx1Y2lkZTpjb3B5LXBsdXMiLGFjdGlvbjphc3luYygpPT57YXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQoYCR7bC5uYW1lfTogJHtsLnZhbHVlfWAsIktleTpWYWx1ZSIpfX1dKX19CiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXNkb3QgJHtsLnN0YXR1c30iPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHNUZXh0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIj4ke2wubmFtZX08L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZhbHVlIj4ke2wudmFsdWV9PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt9YXN5bmMgY29weVRvQ2xpcGJvYXJkKGwsdT0iVGV4dCIpe3RyeXthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChsKSxjb25zb2xlLmxvZyhgJHt1fSBjb3BpZWQgdG8gY2xpcGJvYXJkYCl9Y2F0Y2goZCl7Y29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNvcHkgJHt1fTpgLGQpfX1hc3luYyBoYW5kbGVDb3B5QXNKc29uKCl7aWYodGhpcy5zdGF0dXNPYmplY3QpdHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdHVzT2JqZWN0LG51bGwsMikpO2xldCBsPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29weU1haW4iKSx1PWwudGV4dENvbnRlbnQ7bC50ZXh0Q29udGVudD0iQ29waWVkISI7bGV0IGQ9IXRoaXMuZ29CcmlnaHQ7bC5zdHlsZS5iYWNrZ3JvdW5kPWQ/ImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjEpIixsLnN0eWxlLmJvcmRlckNvbG9yPWQ/ImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixsLnN0eWxlLmNvbG9yPWQ/ImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixzZXRUaW1lb3V0KCgpPT57bC50ZXh0Q29udGVudD11LGwuc3R5bGUuYmFja2dyb3VuZD0iIixsLnN0eWxlLmJvcmRlckNvbG9yPSIiLGwuc3R5bGUuY29sb3I9IiJ9LDE1MDApfWNhdGNoKGwpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjb3B5OiIsbCl9fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxUNmUodGhpcyxvKX1zdGF0aWN7VDZlKGEscil9fTtyZXR1cm4gYz1hfSkoKX0pO3ZhciBxMHI9ZigoKT0+e0gwcigpfSk7dmFyIGowcj1mKCgpPT57REYoKX0pO3ZhciBWMHI9ZigoKT0+e04wcigpO3EwcigpO2g2ZSgpO2owcigpfSk7dmFyIEhiLEFjLFUwcixFRj1mKCgpPT57dWUoKTtRZSgpO2lyKCk7SGI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxBYz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sVTByPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1hY3Rpb25iYXIiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IHc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bc2UoKV0sYz1bc2UoKV0sZD1bc2UoKV0sdj1bc2UoKV0sSGIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50QmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4iY3VycmVudEJhciJpbiBrLGdldDprPT5rLmN1cnJlbnRCYXIsc2V0OihrLFIpPT57ay5jdXJyZW50QmFyPVJ9fSxtZXRhZGF0YTp3fSxzLG8pLEhiKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGltZVJlbWFpbmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+InRpbWVSZW1haW5pbmciaW4gayxnZXQ6az0+ay50aW1lUmVtYWluaW5nLHNldDooayxSKT0+e2sudGltZVJlbWFpbmluZz1SfX0sbWV0YWRhdGE6d30sbCx1KSxIYih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb2dyZXNzUGVyY2VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+InByb2dyZXNzUGVyY2VudCJpbiBrLGdldDprPT5rLnByb2dyZXNzUGVyY2VudCxzZXQ6KGssUik9PntrLnByb2dyZXNzUGVyY2VudD1SfX0sbWV0YWRhdGE6d30saCxtKSxIYih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImlzVmlzaWJsZSJpbiBrLGdldDprPT5rLmlzVmlzaWJsZSxzZXQ6KGssUik9PntrLmlzVmlzaWJsZT1SfX0sbWV0YWRhdGE6d30sYixnKSxIYihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTp3fSxudWxsLHIpLHk9YT10LnZhbHVlLHcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6d30pfXN0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siLCJPdmVybGF5Il07c3RhdGljIGRlbW89KCk9PntsZXQgdz1TPT5TLmN1cnJlbnRUYXJnZXQuY2xvc2VzdCgiLmRlbW8tY29udGFpbmVyIik/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYWN0aW9uYmFyIik7cmV0dXJuIE1gCiAgICAgIDxzdHlsZT4KICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMzsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgICAgIC5kZW1vLWNvbnRlbnQgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRlbnQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0ke2FzeW5jIFM9PntsZXQgTz13KFMpO2lmKCFPKXJldHVybjtsZXQgRD1hd2FpdCBPLnNob3coe21lc3NhZ2U6IkZpbGUgY2hhbmdlZCBleHRlcm5hbGx5LiBSZWxvYWQ/Iix0eXBlOiJ3YXJuaW5nIixpY29uOiJsdWNpZGU6YWxlcnRUcmlhbmdsZSIsYWN0aW9uczpbe2lkOiJyZWxvYWQiLGxhYmVsOiJSZWxvYWQiLHByaW1hcnk6ITB9LHtpZDoiaWdub3JlIixsYWJlbDoiSWdub3JlIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjVlMyxkZWZhdWx0QWN0aW9uSWQ6InJlbG9hZCJ9LGRpc21pc3NpYmxlOiEwfSk7Y29uc29sZS5sb2coIkFjdGlvbiBiYXIgcmVzdWx0OiIsRCl9fT5XYXJuaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHthc3luYyBTPT57bGV0IE89dyhTKTtpZighTylyZXR1cm47bGV0IEQ9YXdhaXQgTy5zaG93KHttZXNzYWdlOiJQcm9jZXNzIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxIix0eXBlOiJlcnJvciIsaWNvbjoibHVjaWRlOnhDaXJjbGUiLGFjdGlvbnM6W3tpZDoicmV0cnkiLGxhYmVsOiJSZXRyeSIscHJpbWFyeTohMH0se2lkOiJkaXNtaXNzIixsYWJlbDoiRGlzbWlzcyJ9XSx0aW1lb3V0OntkdXJhdGlvbjoxZTQsZGVmYXVsdEFjdGlvbklkOiJkaXNtaXNzIn19KTtjb25zb2xlLmxvZygiRXJyb3IgYmFyIHJlc3VsdDoiLEQpfX0+RXJyb3I8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0ke2FzeW5jIFM9PntsZXQgTz13KFMpO2lmKCFPKXJldHVybjtsZXQgRD1hd2FpdCBPLnNob3coe21lc3NhZ2U6IlNhdmUgY2hhbmdlcyBiZWZvcmUgY2xvc2luZz8iLHR5cGU6InF1ZXN0aW9uIixpY29uOiJsdWNpZGU6aGVscENpcmNsZSIsYWN0aW9uczpbe2lkOiJzYXZlIixsYWJlbDoiU2F2ZSIscHJpbWFyeTohMH0se2lkOiJkaXNjYXJkIixsYWJlbDoiRGlzY2FyZCJ9LHtpZDoiY2FuY2VsIixsYWJlbDoiQ2FuY2VsIn1dfSk7Y29uc29sZS5sb2coIlF1ZXN0aW9uIGJhciByZXN1bHQ6IixEKX19PlF1ZXN0aW9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGVlcy1hY3Rpb25iYXI+PC9kZWVzLWFjdGlvbmJhcj4KICAgICAgPC9kaXY+CiAgICBgfTtxdWV1ZT1bXTsjZT1BYyh0aGlzLHMsbnVsbCk7Z2V0IGN1cnJlbnRCYXIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudEJhcih3KXt0aGlzLiNlPXd9I3Q9KEFjKHRoaXMsbyksQWModGhpcyxsLDApKTtnZXQgdGltZVJlbWFpbmluZygpe3JldHVybiB0aGlzLiN0fXNldCB0aW1lUmVtYWluaW5nKHcpe3RoaXMuI3Q9d30jcj0oQWModGhpcyx1KSxBYyh0aGlzLGgsMTAwKSk7Z2V0IHByb2dyZXNzUGVyY2VudCgpe3JldHVybiB0aGlzLiNyfXNldCBwcm9ncmVzc1BlcmNlbnQodyl7dGhpcy4jcj13fSNhPShBYyh0aGlzLG0pLEFjKHRoaXMsYiwhMSkpO2dldCBpc1Zpc2libGUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgaXNWaXNpYmxlKHcpe3RoaXMuI2E9d310aW1lb3V0SW50ZXJ2YWw9KEFjKHRoaXMsZyksbnVsbCk7Y3VycmVudFJlc29sdmU9bnVsbDtzdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuYWN0aW9uYmFyLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwZnI7CiAgICAgICAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1yb3dzIDAuMnMgZWFzZS1vdXQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KC52aXNpYmxlKSAuYWN0aW9uYmFyLWl0ZW0gewogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyOwogICAgICB9CgogICAgICAuYWN0aW9uYmFyLWNvbnRlbnQgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dDsKICAgICAgfQoKICAgICAgOmhvc3QoLnZpc2libGUpIC5hY3Rpb25iYXItY29udGVudCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhciB7CiAgICAgICAgaGVpZ2h0OiAzcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxOCUpIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1iYXItZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgbGluZWFyOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyLWZpbGwud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgzOCA5MiUgNTAlKSIsImhzbCgzOCA5MiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhci1maWxsLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhci1maWxsLnF1ZXN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDI3MCA3MCUgNTAlKSIsImhzbCgyNzAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDMycHg7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlLXNlY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi5pbmZvIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0NSUpIiwiaHNsKDIxMCAxMDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlLWljb24ud2FybmluZyB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMzggOTIlIDQ1JSkiLCJoc2woMzggOTIlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlLWljb24uZXJyb3IgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi5xdWVzdGlvbiB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjcwIDcwJSA1MCUpIiwiaHNsKDI3MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDg1JSkiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuYWN0aW9ucy1zZWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDcwJSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODAlKSIsImhzbCgwIDAlIDMwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDkyJSkiLCJoc2woMCAwJSAxOCUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDUwJSkiLCJoc2woMjEwIDEwMCUgNTUlKSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNDUlKSIsImhzbCgyMTAgMTAwJSA1MCUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5Lndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMzggOTIlIDQ1JSkiLCJoc2woMzggOTIlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkud2FybmluZzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgzOCA5MiUgNDAlKSIsImhzbCgzOCA5MiUgNDUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkuZXJyb3I6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCA3MCUgNDUlKSIsImhzbCgwIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5LnF1ZXN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDI3MCA3MCUgNTAlKSIsImhzbCgyNzAgNzAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkucXVlc3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjcwIDcwJSA0NSUpIiwiaHNsKDI3MCA3MCUgNTAlKSIpfTsKICAgICAgfQoKICAgICAgLmNvdW50ZG93biB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICBtYXJnaW4tbGVmdDogMnB4OwogICAgICB9CgogICAgICAuZGlzbWlzcy1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuZGlzbWlzcy1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMjIlKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3MCUpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgdz10aGlzLmN1cnJlbnRCYXIsaz13Py50eXBlfHwiaW5mbyIsUj13Py50aW1lb3V0JiZ0aGlzLnRpbWVSZW1haW5pbmc+MDtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uYmFyLWl0ZW0iPgogICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbmJhci1jb250ZW50Ij4KICAgICAgICAgICR7dz9NYAogICAgICAgICAgICAke1I/TWAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZ3Jlc3MtYmFyLWZpbGwgJHtrfSIKICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke3RoaXMucHJvZ3Jlc3NQZXJjZW50fSUiCiAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lc3NhZ2Utc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAke3cuaWNvbj9NYAogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lc3NhZ2UtaWNvbiAke2t9IgogICAgICAgICAgICAgICAgICAgIC5pY29uPSR7dy5pY29ufQogICAgICAgICAgICAgICAgICAgIGljb25TaXplPSIxNiIKICAgICAgICAgICAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXNzYWdlLXRleHQiPiR7dy5tZXNzYWdlfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zLXNlY3Rpb24iPgogICAgICAgICAgICAgICAgJHt3LmFjdGlvbnMubWFwKEM9PnRoaXMucmVuZGVyQWN0aW9uQnV0dG9uKEMsdyxSKSl9CiAgICAgICAgICAgICAgICAke3cuZGlzbWlzc2libGU/TWAKICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJkaXNtaXNzLWJ1dHRvbiIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEaXNtaXNzKCl9CiAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkRpc21pc3MiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp4In0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJBY3Rpb25CdXR0b24odyxrLFIpe2xldCBDPXcucHJpbWFyeSxTPWsudHlwZXx8ImluZm8iLE89ay50aW1lb3V0Py5kZWZhdWx0QWN0aW9uSWQ9PT13LmlkLEQ9UiYmTyxOPU1hdGguY2VpbCh0aGlzLnRpbWVSZW1haW5pbmcvMWUzKTtyZXR1cm4gTWAKICAgICAgPGJ1dHRvbgogICAgICAgIGNsYXNzPSJhY3Rpb24tYnV0dG9uICR7Qz9gcHJpbWFyeSAke1N9YDoic2Vjb25kYXJ5In0iCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKHcuaWQsITEpfQogICAgICA+CiAgICAgICAgJHt3Lmljb24/TWAKICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt3Lmljb259IGljb25TaXplPSIxMiI+PC9kZWVzLWljb24+CiAgICAgICAgYDoiIn0KICAgICAgICA8c3Bhbj4ke3cubGFiZWx9PC9zcGFuPgogICAgICAgICR7RD9NYAogICAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50ZG93biI+KCR7Tn1zKTwvc3Bhbj4KICAgICAgICBgOiIifQogICAgICA8L2J1dHRvbj4KICAgIGB9YXN5bmMgc2hvdyh3KXtyZXR1cm4gbmV3IFByb21pc2Uoaz0+e3RoaXMucXVldWUucHVzaCh7b3B0aW9uczp3LHJlc29sdmU6a30pLHRoaXMuY3VycmVudEJhcnx8dGhpcy5wcm9jZXNzUXVldWUoKX0pfWRpc21pc3MoKXt0aGlzLmhhbmRsZURpc21pc3MoKX1jbGVhclF1ZXVlKCl7Zm9yKGxldCB3IG9mIHRoaXMucXVldWUpdy5yZXNvbHZlKHthY3Rpb25JZDoiZGlzbWlzc2VkIix0aW1lZE91dDohMX0pO3RoaXMucXVldWU9W119YXN5bmMgaGlkZUN1cnJlbnRCYXIoKXt0aGlzLmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKSx0aGlzLmlzVmlzaWJsZT0hMSxhd2FpdCBuZXcgUHJvbWlzZSh3PT5zZXRUaW1lb3V0KHcsMjIwKSksdGhpcy5jdXJyZW50QmFyPW51bGwsdGhpcy5jdXJyZW50UmVzb2x2ZT1udWxsfWFzeW5jIHByb2Nlc3NRdWV1ZSgpe2lmKHRoaXMucXVldWUubGVuZ3RoPT09MCl7dGhpcy5oaWRlQ3VycmVudEJhcigpO3JldHVybn1sZXQgdz10aGlzLnF1ZXVlLnNoaWZ0KCk7dGhpcy5jdXJyZW50QmFyPXcub3B0aW9ucyx0aGlzLmN1cnJlbnRSZXNvbHZlPXcucmVzb2x2ZSx0aGlzLmlzVmlzaWJsZT0hMCxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpfSksdy5vcHRpb25zLnRpbWVvdXQmJnRoaXMuc3RhcnRUaW1lb3V0KHcub3B0aW9ucy50aW1lb3V0LmR1cmF0aW9uLHcub3B0aW9ucy50aW1lb3V0LmRlZmF1bHRBY3Rpb25JZCl9c3RhcnRUaW1lb3V0KHcsayl7dGhpcy50aW1lUmVtYWluaW5nPXcsdGhpcy5wcm9ncmVzc1BlcmNlbnQ9MTAwO2xldCBSPURhdGUubm93KCksQz01MDt0aGlzLnRpbWVvdXRJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+e2xldCBTPURhdGUubm93KCktUjt0aGlzLnRpbWVSZW1haW5pbmc9TWF0aC5tYXgoMCx3LVMpLHRoaXMucHJvZ3Jlc3NQZXJjZW50PXRoaXMudGltZVJlbWFpbmluZy93KjEwMCx0aGlzLnRpbWVSZW1haW5pbmc8PTAmJih0aGlzLmNsZWFyVGltZW91dEludGVydmFsKCksdGhpcy5oYW5kbGVBY3Rpb24oaywhMCkpfSxDKX1jbGVhclRpbWVvdXRJbnRlcnZhbCgpe3RoaXMudGltZW91dEludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVvdXRJbnRlcnZhbCksdGhpcy50aW1lb3V0SW50ZXJ2YWw9bnVsbCl9aGFuZGxlQWN0aW9uKHcsayl7dGhpcy5jbGVhclRpbWVvdXRJbnRlcnZhbCgpLHRoaXMuY3VycmVudFJlc29sdmUmJnRoaXMuY3VycmVudFJlc29sdmUoe2FjdGlvbklkOncsdGltZWRPdXQ6a30pLHRoaXMucHJvY2Vzc1F1ZXVlKCl9aGFuZGxlRGlzbWlzcygpe3RoaXMuaGFuZGxlQWN0aW9uKCJkaXNtaXNzZWQiLCExKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jbGVhclRpbWVvdXRJbnRlcnZhbCgpfXN0YXRpY3tBYyhhLHIpfX07cmV0dXJuIHk9YX0pKCl9KTt2YXIgVzByPWYoKCk9Pnt9KTt2YXIgRzByPWYoKCk9PntFRigpO1cwcigpfSk7dmFyIFkwcixaMHI9ZigoKT0+e3VlKCk7WTByPSgpPT5NYAogIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyI+CiAgICA8ZGVlcy1iYWRnZSAudGV4dD0keyJEZWZhdWx0In0+PC9kZWVzLWJhZGdlPgogICAgPGRlZXMtYmFkZ2UgLnR5cGU9JHsicHJpbWFyeSJ9IC50ZXh0PSR7IlByaW1hcnkifT48L2RlZXMtYmFkZ2U+CiAgICA8ZGVlcy1iYWRnZSAudHlwZT0keyJzdWNjZXNzIn0gLnRleHQ9JHsiU3VjY2VzcyJ9PjwvZGVlcy1iYWRnZT4KICAgIDxkZWVzLWJhZGdlIC50eXBlPSR7Indhcm5pbmcifSAudGV4dD0keyJXYXJuaW5nIn0+PC9kZWVzLWJhZGdlPgogICAgPGRlZXMtYmFkZ2UgLnR5cGU9JHsiZXJyb3IifSAudGV4dD0keyJFcnJvciJ9PjwvZGVlcy1iYWRnZT4KICAgIDxkZWVzLWJhZGdlIC50eXBlPSR7InByaW1hcnkifSAucm91bmRlZD0keyEwfSAudGV4dD0keyJSb3VuZGVkIn0+PC9kZWVzLWJhZGdlPgogIDwvZGl2PgpgfSk7dmFyIElGLHN1LFgwcixRMHI9ZigoKT0+e3VlKCk7SnQoKTtaMHIoKTtRZSgpO0lGPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sc3U9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LFgwcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtYmFkZ2UiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXTt2YXIgdj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpCb29sZWFufSldLElGKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+InR5cGUiaW4gZyxnZXQ6Zz0+Zy50eXBlLHNldDooZyx5KT0+e2cudHlwZT15fX0sbWV0YWRhdGE6Yn0scyxvKSxJRih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJ0ZXh0ImluIGcsZ2V0Omc9PmcudGV4dCxzZXQ6KGcseSk9PntnLnRleHQ9eX19LG1ldGFkYXRhOmJ9LGwsdSksSUYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3VuZGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4icm91bmRlZCJpbiBnLGdldDpnPT5nLnJvdW5kZWQsc2V0OihnLHkpPT57Zy5yb3VuZGVkPXl9fSxtZXRhZGF0YTpifSxoLG0pLElGKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsciksdj1hPXQudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89WTByO3N0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siXTsjZT1zdSh0aGlzLHMsImRlZmF1bHQiKTtnZXQgdHlwZSgpe3JldHVybiB0aGlzLiNlfXNldCB0eXBlKGIpe3RoaXMuI2U9Yn0jdD0oc3UodGhpcyxvKSxzdSh0aGlzLGwsIiIpKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCB0ZXh0KGIpe3RoaXMuI3Q9Yn0jcj0oc3UodGhpcyx1KSxzdSh0aGlzLGgsITEpKTtnZXQgcm91bmRlZCgpe3JldHVybiB0aGlzLiNyfXNldCByb3VuZGVkKGIpe3RoaXMuI3I9Yn1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksc3UodGhpcyxtKSxwYS5zZXR1cCgpfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYmFkZ2Uucm91bmRlZCB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgfQoKICAgICAgLmJhZGdlLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjVmNWY1IiwiIzMzMyIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2NjYiLCIjY2NjIil9OwogICAgICB9CgogICAgICAuYmFkZ2UucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogIzAwNTBiOTsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQoKICAgICAgLmJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICMyZTdkMzI7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KCiAgICAgIC5iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZWQ2YzAyOwogICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICB9CgogICAgICAuYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICNlNDAwMmI7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJiYWRnZSAke3RoaXMudHlwZX0gJHt0aGlzLnJvdW5kZWQ/InJvdW5kZWQiOiIifSI+CiAgICAgICAgJHt0aGlzLnRleHR9CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7c3UoYSxyKX19O3JldHVybiB2PWF9KSgpfSk7dmFyIEowcj1mKCgpPT57UTByKCl9KTt2YXIgSzByLGU0cj1mKCgpPT57dWUoKTtLMHI9KCk9Pk1gCiAgPGRlZXMtaGludD48L2RlZXMtaGludD4KYH0pO3ZhciB0NHIsXzZlLHI0cixhNHI9ZigoKT0+e3VlKCk7SnQoKTtlNHIoKTtRZSgpO3Q0cj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LF82ZT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0scjRyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1oaW50IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLHQ0cih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJ0eXBlImluIHUsZ2V0OnU9PnUudHlwZSxzZXQ6KHUsZCk9Pnt1LnR5cGU9ZH19LG1ldGFkYXRhOmx9LHMsbyksdDRyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89SzByO3N0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siXTsjZT1fNmUodGhpcyxzLCJpbmZvIik7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHlwZShsKXt0aGlzLiNlPWx9Y29uc3RydWN0b3IoKXtzdXBlcigpLF82ZSh0aGlzLG8pLHBhLnNldHVwKCl9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAgPGRpdiBjbGFzcz0ibWFpbmJveCI+PC9kaXY+IGB9c3RhdGlje182ZShhLHIpfX07cmV0dXJuIGM9YX0pKCl9KTt2YXIgaTRyPWYoKCk9PnthNHIoKX0pO3ZhciBuNHIsczRyPWYoKCk9Pnt1ZSgpO0w2ZSgpO240cj0oKT0+TWAKICAgIDxkZWVzLXByb2dyZXNzYmFyCiAgICAgIC5wZXJjZW50YWdlPSR7NTB9CiAgICA+PC9kZWVzLXByb2dyZXNzYmFyPgogIGB9KTt2YXIgbzRyLCQ2ZSxsNHIsTDZlPWYoKCk9Pnt3aSgpO0JzKCk7czRyKCk7dWUoKTtKdCgpO1FlKCk7bzRyPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sJDZlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxsNHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXByb2dyZXNzYmFyIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6TnVtYmVyfSldLG80cih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBlcmNlbnRhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJwZXJjZW50YWdlImluIHUsZ2V0OnU9PnUucGVyY2VudGFnZSxzZXQ6KHUsZCk9Pnt1LnBlcmNlbnRhZ2U9ZH19LG1ldGFkYXRhOmx9LHMsbyksbzRyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89bjRyO3N0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siXTsjZT0kNmUodGhpcyxzLDApO2dldCBwZXJjZW50YWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHBlcmNlbnRhZ2UobCl7dGhpcy4jZT1sfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKEc2LnRleHQsUnMudGV4dCl9OwogICAgICB9CiAgICAgIC5wcm9ncmVzc0JhckNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc0JhciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlZWVlZWIiLCIjNDQ0Iil9OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3JkZXItdG9wOiAwLjVweCBzb2xpZCAke3AuYmRUaGVtZSgibm9uZSIsIiM1NTUiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc0JhckZpbGwgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKFJzLmJsdWVBY3RpdmUsRzYuYmx1ZUFjdGl2ZSl9OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIG1hcmdpbi10b3A6IC0wLjVweDsKICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIHdpZHRoOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB3aWR0aDogMHB4OwogICAgICAgIGJvcmRlci10b3A6IDAuNSBzb2xpZCAke3AuYmRUaGVtZSgibm9uZSIsIiMzOThmZmYiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc1RleHQgewogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzc0JhckNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NCYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NCYXJGaWxsIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzVGV4dCI+CiAgICAgICAgICAgICR7dGhpcy5wZXJjZW50YWdlfSUKICAgICAgICAgIDxkaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1maXJzdFVwZGF0ZWQobCl7c3VwZXIuZmlyc3RVcGRhdGVkKGwpLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e3RoaXMudXBkYXRlUGVyY2VudGFnZSgpfSl9YXN5bmMgdXBkYXRlUGVyY2VudGFnZSgpe2xldCBsPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIucHJvZ3Jlc3NCYXJGaWxsIik7bC5zdHlsZS53aWR0aD1gJHt0aGlzLnBlcmNlbnRhZ2V9JWB9dXBkYXRlZCgpe3RoaXMudXBkYXRlUGVyY2VudGFnZSgpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSwkNmUodGhpcyxvKX1zdGF0aWN7JDZlKGEscil9fTtyZXR1cm4gYz1hfSkoKX0pO3ZhciBjNHI9ZigoKT0+e0w2ZSgpfSk7dmFyIFBGLG91LGQ0cix1NHI9ZigoKT0+e3VlKCk7SnQoKTtRZSgpO1BGPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sb3U9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGQ0cj0oKCk9PntsZXQgZT1bcmUoImRlZXMtc3Bpbm5lciIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdO3ZhciB2PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOk51bWJlcn0pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKCldLFBGKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+InNpemUiaW4gZyxnZXQ6Zz0+Zy5zaXplLHNldDooZyx5KT0+e2cuc2l6ZT15fX0sbWV0YWRhdGE6Yn0scyxvKSxQRih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJudyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+ImJudyJpbiBnLGdldDpnPT5nLmJudyxzZXQ6KGcseSk9PntnLmJudz15fX0sbWV0YWRhdGE6Yn0sbCx1KSxQRih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+InN0YXR1cyJpbiBnLGdldDpnPT5nLnN0YXR1cyxzZXQ6KGcseSk9PntnLnN0YXR1cz15fX0sbWV0YWRhdGE6Yn0saCxtKSxQRihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpifSxudWxsLHIpLHY9YT10LnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siXTtzdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkZWVzLXNwaW5uZXI+PC9kZWVzLXNwaW5uZXI+CiAgICA8ZGVlcy1zcGlubmVyIHN0YXR1cz0ic3VjY2VzcyI+PC9kZWVzLXNwaW5uZXI+CiAgICA8ZGVlcy1zcGlubmVyIHN0YXR1cz0iZXJyb3IiPjwvZGVlcy1zcGlubmVyPgogICAgPGRlZXMtc3Bpbm5lciBzaXplPSR7NjR9IHN0YXR1cz0ic3VjY2VzcyI+PC9kZWVzLXNwaW5uZXI+CiAgICA8ZGVlcy1zcGlubmVyIC5zaXplPSR7NjR9IHN0YXR1cz0iZXJyb3IiPjwvZGVlcy1zcGlubmVyPgogIGA7I2U9b3UodGhpcyxzLDIwKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNlfXNldCBzaXplKGIpe3RoaXMuI2U9Yn0jdD0ob3UodGhpcyxvKSxvdSh0aGlzLGwsITEpKTtnZXQgYm53KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJudyhiKXt0aGlzLiN0PWJ9I3I9KG91KHRoaXMsdSksb3UodGhpcyxoLCJub3JtYWwiKSk7Z2V0IHN0YXR1cygpe3JldHVybiB0aGlzLiNyfXNldCBzdGF0dXMoYil7dGhpcy4jcj1ifWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxvdSh0aGlzLG0pfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgICNsb2FkaW5nIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kOiAjOGJjMzRhMDA7CiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtwLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgI2xvYWRpbmcuc3VjY2VzcyB7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IG5vbmU7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgICNsb2FkaW5nLmVycm9yIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogbm9uZTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBkZWVzLWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8c3R5bGU+CiAgICAgICAgI2xvYWRpbmcgewogICAgICAgICAgd2lkdGg6ICR7dGhpcy5zaXplfXB4OwogICAgICAgICAgaGVpZ2h0OiAke3RoaXMuc2l6ZX1weDsKICAgICAgICB9CiAgICAgICAgI2xvYWRpbmcuc3VjY2VzcyB7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUodGhpcy5ibnc/IiMzMzMiOiIjOGJjMzRhIix0aGlzLmJudz8iI2ZmZiI6IiM4YmMzNGEiKX07CiAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgI2xvYWRpbmcuZXJyb3IgewogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKHRoaXMuYm53PyIjMzMzIjoiI2U2NGExOSIsdGhpcy5ibnc/IiNmZmYiOiIjZTY0YTE5Iil9OwogICAgICAgIH0KICAgICAgICBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAke3RoaXMuc2l6ZX1weDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9IiR7dGhpcy5zdGF0dXN9IiBpZD0ibG9hZGluZyI+CiAgICAgICAgJHsoKCk9PntpZih0aGlzLnN0YXR1cz09PSJzdWNjZXNzIilyZXR1cm4gTWA8ZGVlcy1pY29uIHN0eWxlPSJ0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMSUpIHRyYW5zbGF0ZVkoMyUpOyIgLmljb249JHsiZmE6Y2lyY2xlLWNoZWNrIn0+PC9kZWVzLWljb24+YDtpZih0aGlzLnN0YXR1cz09PSJlcnJvciIpcmV0dXJuIE1gPGRlZXMtaWNvbiAuaWNvbj0keyJmYTpjaXJjbGUteG1hcmsifT48L2RlZXMtaWNvbj5gfSkoKX0KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tvdShhLHIpfX07cmV0dXJuIHY9YX0pKCl9KTt2YXIgcDRyPWYoKCk9Pnt1NHIoKX0pO3ZhciBmNHIsaDRyPWYoKCk9Pnt1ZSgpO0Q2ZSgpO1o0KCk7ZjRyPSgpPT5NYAogICAgPHN0eWxlPgogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICB9CgogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4OwogICAgICB9CgogICAgICAuZGVtby10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuZGVtby1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzY2NiIsIiNhYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICB9CgogICAgICAudGhlbWUtdG9nZ2xlIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAxNnB4OwogICAgICAgIHJpZ2h0OiAxNnB4OwogICAgICAgIHotaW5kZXg6IDEwMDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLWJ1dHRvbiBjbGFzcz0idGhlbWUtdG9nZ2xlIiBAY2xpY2tlZD0keygpPT57ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudG9nZ2xlKCJicmlnaHQiKX19PlRvZ2dsZSBUaGVtZTwvZGVlcy1idXR0b24+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+VG9hc3QgVHlwZXM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIERpZmZlcmVudCB0b2FzdCB0eXBlcyBmb3IgdmFyaW91cyBub3RpZmljYXRpb24gc2NlbmFyaW9zLiBDbGljayBhbnkgYnV0dG9uIHRvIHNob3cgYSB0b2FzdC4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9Pnttci5pbmZvKCJUaGlzIGlzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSIpfX0+SW5mbyBUb2FzdDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCIgQGNsaWNrZWQ9JHsoKT0+e21yLnN1Y2Nlc3MoIk9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5ISIpfX0+U3VjY2VzcyBUb2FzdDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57bXIud2FybmluZygiUGxlYXNlIHJldmlldyBiZWZvcmUgcHJvY2VlZGluZyIpfX0+V2FybmluZyBUb2FzdDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57bXIuZXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmciKX19PkVycm9yIFRvYXN0PC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+VG9hc3QgUG9zaXRpb25zPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBUb2FzdHMgY2FuIGFwcGVhciBpbiBkaWZmZXJlbnQgcG9zaXRpb25zIG9uIHRoZSBzY3JlZW4uCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57bXIuc2hvdyh7bWVzc2FnZToiVG9wIFJpZ2h0IFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoidG9wLXJpZ2h0In0pfX0+VG9wIFJpZ2h0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9Pnttci5zaG93KHttZXNzYWdlOiJUb3AgTGVmdCBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246InRvcC1sZWZ0In0pfX0+VG9wIExlZnQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e21yLnNob3coe21lc3NhZ2U6IkJvdHRvbSBSaWdodCBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246ImJvdHRvbS1yaWdodCJ9KX19PkJvdHRvbSBSaWdodDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57bXIuc2hvdyh7bWVzc2FnZToiQm90dG9tIExlZnQgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJib3R0b20tbGVmdCJ9KX19PkJvdHRvbSBMZWZ0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9Pnttci5zaG93KHttZXNzYWdlOiJUb3AgQ2VudGVyIFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoidG9wLWNlbnRlciJ9KX19PlRvcCBDZW50ZXI8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e21yLnNob3coe21lc3NhZ2U6IkJvdHRvbSBDZW50ZXIgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJib3R0b20tY2VudGVyIn0pfX0+Qm90dG9tIENlbnRlcjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkR1cmF0aW9uIE9wdGlvbnM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENvbnRyb2wgaG93IGxvbmcgdG9hc3RzIHN0YXkgdmlzaWJsZS4gRHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzLgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e21yLnNob3coe21lc3NhZ2U6IlF1aWNrIHRvYXN0ICgxIHNlY29uZCkiLHR5cGU6ImluZm8iLGR1cmF0aW9uOjFlM30pfX0+MSBTZWNvbmQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e21yLnNob3coe21lc3NhZ2U6IlN0YW5kYXJkIHRvYXN0ICgzIHNlY29uZHMpIix0eXBlOiJpbmZvIixkdXJhdGlvbjozZTN9KX19PjMgU2Vjb25kcyAoRGVmYXVsdCk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e21yLnNob3coe21lc3NhZ2U6IkxvbmcgdG9hc3QgKDUgc2Vjb25kcykiLHR5cGU6ImluZm8iLGR1cmF0aW9uOjVlM30pfX0+NSBTZWNvbmRzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9Pnttci5zaG93KHttZXNzYWdlOiJNYW51YWwgZGlzbWlzcyBvbmx5IChjbGljayB0byBjbG9zZSkiLHR5cGU6Indhcm5pbmciLGR1cmF0aW9uOjB9KX19Pk5vIEF1dG8tRGlzbWlzczwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPk11bHRpcGxlIFRvYXN0czwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgTXVsdGlwbGUgdG9hc3RzIHN0YWNrIGF1dG9tYXRpY2FsbHkuIFRoZXkgbWFpbnRhaW4gdGhlaXIgb3JkZXIgYW5kIGFuaW1hdGUgc21vb3RobHkuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57bXIuaW5mbygiRmlyc3Qgbm90aWZpY2F0aW9uIiksc2V0VGltZW91dCgoKT0+bXIuc3VjY2VzcygiU2Vjb25kIG5vdGlmaWNhdGlvbiIpLDIwMCksc2V0VGltZW91dCgoKT0+bXIud2FybmluZygiVGhpcmQgbm90aWZpY2F0aW9uIiksNDAwKSxzZXRUaW1lb3V0KCgpPT5tci5lcnJvcigiRm91cnRoIG5vdGlmaWNhdGlvbiIpLDYwMCl9fT5TaG93IE11bHRpcGxlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9Pntmb3IobGV0IGU9MTtlPD01O2UrKylzZXRUaW1lb3V0KCgpPT57bXIuc2hvdyh7bWVzc2FnZTpgTm90aWZpY2F0aW9uICMke2V9YCx0eXBlOmUlMj09PTA/InN1Y2Nlc3MiOiJpbmZvIixkdXJhdGlvbjoyZTMrZSo1MDB9KX0sZSoxMDApfX0+UmFwaWQgRmlyZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlJlYWwtV29ybGQgRXhhbXBsZXM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENvbW1vbiB1c2UgY2FzZXMgZm9yIHRvYXN0IG5vdGlmaWNhdGlvbnMgaW4gYXBwbGljYXRpb25zLgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHthc3luYygpPT57bGV0IGU9YXdhaXQgbXIuc2hvdyh7bWVzc2FnZToiU2F2aW5nIGNoYW5nZXMuLi4iLHR5cGU6ImluZm8iLGR1cmF0aW9uOjB9KTtzZXRUaW1lb3V0KCgpPT57ZS5kaXNtaXNzKCksbXIuc3VjY2VzcygiQ2hhbmdlcyBzYXZlZCBzdWNjZXNzZnVsbHkhIil9LDJlMyl9fT5TYXZlIE9wZXJhdGlvbjwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57bXIuZXJyb3IoIkZhaWxlZCB0byBjb25uZWN0IHRvIHNlcnZlci4gUGxlYXNlIGNoZWNrIHlvdXIgaW50ZXJuZXQgY29ubmVjdGlvbi4iKX19Pk5ldHdvcmsgRXJyb3I8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e21yLndhcm5pbmcoIllvdXIgc2Vzc2lvbiB3aWxsIGV4cGlyZSBpbiA1IG1pbnV0ZXMiKX19PlNlc3Npb24gV2FybmluZzwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57bXIuc3VjY2VzcygiRmlsZSB1cGxvYWRlZCBzdWNjZXNzZnVsbHkhIil9fT5VcGxvYWQgQ29tcGxldGU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5Qcm9ncmFtbWF0aWMgQ29udHJvbDwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgQWR2YW5jZWQgY29udHJvbCBvdmVyIHRvYXN0IGJlaGF2aW9yLgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHthc3luYygpPT57bGV0IGU9YXdhaXQgbXIuc2hvdyh7bWVzc2FnZToiVGhpcyB0b2FzdCBjYW4gYmUgZGlzbWlzc2VkIHByb2dyYW1tYXRpY2FsbHkiLHR5cGU6ImluZm8iLGR1cmF0aW9uOjB9KTtzZXRUaW1lb3V0KCgpPT57ZS5kaXNtaXNzKCksbXIuc3VjY2VzcygiVG9hc3QgZGlzbWlzc2VkIGFmdGVyIDIgc2Vjb25kcyIpfSwyZTMpfX0+UHJvZ3JhbW1hdGljIERpc21pc3M8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e21yLmluZm8oIkluZm8gbWVzc2FnZSIsMmUzKSxzZXRUaW1lb3V0KCgpPT5tci5zdWNjZXNzKCJTdWNjZXNzIG1lc3NhZ2UiLDJlMyksNTAwKSxzZXRUaW1lb3V0KCgpPT5tci53YXJuaW5nKCJXYXJuaW5nIG1lc3NhZ2UiLDJlMyksMWUzKSxzZXRUaW1lb3V0KCgpPT5tci5lcnJvcigiRXJyb3IgbWVzc2FnZSIsMmUzKSwxNTAwKX19PkNvbnZlbmllbmNlIE1ldGhvZHM8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGB9KTt2YXIgcWIsRWMsbXIsRDZlPWYoKCk9Pnt1ZSgpO0p0KCk7a3MoKTtoNHIoKTtKbigpO1FlKCk7cWI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxFYz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sbXI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXRvYXN0IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCB3PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W0Yoe3R5cGU6TnVtYmVyfSldLHY9W0Yoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHFiKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVzc2FnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+Im1lc3NhZ2UiaW4gayxnZXQ6az0+ay5tZXNzYWdlLHNldDooayxSKT0+e2subWVzc2FnZT1SfX0sbWV0YWRhdGE6d30scyxvKSxxYih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJ0eXBlImluIGssZ2V0Oms9PmsudHlwZSxzZXQ6KGssUik9PntrLnR5cGU9Un19LG1ldGFkYXRhOnd9LGwsdSkscWIodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImR1cmF0aW9uImluIGssZ2V0Oms9PmsuZHVyYXRpb24sc2V0OihrLFIpPT57ay5kdXJhdGlvbj1SfX0sbWV0YWRhdGE6d30saCxtKSxxYih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImlzVmlzaWJsZSJpbiBrLGdldDprPT5rLmlzVmlzaWJsZSxzZXQ6KGssUik9PntrLmlzVmlzaWJsZT1SfX0sbWV0YWRhdGE6d30sYixnKSxxYihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTp3fSxudWxsLHIpLHk9YT10LnZhbHVlLHcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6d30pfXN0YXRpYyBkZW1vPWY0cjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIiwiT3ZlcmxheSJdO3N0YXRpYyB0b2FzdENvbnRhaW5lcnM9bmV3IE1hcDtzdGF0aWMgZ2V0T3JDcmVhdGVDb250YWluZXIodyl7aWYoIXRoaXMudG9hc3RDb250YWluZXJzLmhhcyh3KSl7bGV0IGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7c3dpdGNoKGsuY2xhc3NOYW1lPWB0b2FzdC1jb250YWluZXIgdG9hc3QtY29udGFpbmVyLSR7d31gLGsuc3R5bGUuY3NzVGV4dD1gCiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHotaW5kZXg6ICR7bWkub3ZlcmxheS50b2FzdH07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIGAsdyl7Y2FzZSJ0b3AtcmlnaHQiOmsuc3R5bGUudG9wPSIwIixrLnN0eWxlLnJpZ2h0PSIwIjticmVhaztjYXNlInRvcC1sZWZ0IjprLnN0eWxlLnRvcD0iMCIsay5zdHlsZS5sZWZ0PSIwIjticmVhaztjYXNlImJvdHRvbS1yaWdodCI6ay5zdHlsZS5ib3R0b209IjAiLGsuc3R5bGUucmlnaHQ9IjAiO2JyZWFrO2Nhc2UiYm90dG9tLWxlZnQiOmsuc3R5bGUuYm90dG9tPSIwIixrLnN0eWxlLmxlZnQ9IjAiO2JyZWFrO2Nhc2UidG9wLWNlbnRlciI6ay5zdHlsZS50b3A9IjAiLGsuc3R5bGUubGVmdD0iNTAlIixrLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWCgtNTAlKSI7YnJlYWs7Y2FzZSJib3R0b20tY2VudGVyIjprLnN0eWxlLmJvdHRvbT0iMCIsay5zdHlsZS5sZWZ0PSI1MCUiLGsuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVYKC01MCUpIjticmVha31kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGspLHRoaXMudG9hc3RDb250YWluZXJzLnNldCh3LGspfXJldHVybiB0aGlzLnRvYXN0Q29udGFpbmVycy5nZXQodyl9c3RhdGljIGFzeW5jIHNob3codyl7bGV0IGs9dHlwZW9mIHc9PSJzdHJpbmciP3ttZXNzYWdlOnd9OncsUj1uZXcgeTtyZXR1cm4gUi5tZXNzYWdlPWsubWVzc2FnZSxSLnR5cGU9ay50eXBlfHwiaW5mbyIsUi5kdXJhdGlvbj1rLmR1cmF0aW9ufHwzZTMsdGhpcy5nZXRPckNyZWF0ZUNvbnRhaW5lcihrLnBvc2l0aW9ufHwidG9wLXJpZ2h0IikuYXBwZW5kQ2hpbGQoUiksYXdhaXQgUi51cGRhdGVDb21wbGV0ZSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntSLmlzVmlzaWJsZT0hMH0pLFIuZHVyYXRpb24+MCYmc2V0VGltZW91dCgoKT0+e1IuZGlzbWlzcygpfSxSLmR1cmF0aW9uKSxSfXN0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KHcpe3JldHVybiB0aGlzLnNob3codyl9c3RhdGljIGluZm8odyxrKXtyZXR1cm4gdGhpcy5zaG93KHttZXNzYWdlOncsdHlwZToiaW5mbyIsZHVyYXRpb246a30pfXN0YXRpYyBzdWNjZXNzKHcsayl7cmV0dXJuIHRoaXMuc2hvdyh7bWVzc2FnZTp3LHR5cGU6InN1Y2Nlc3MiLGR1cmF0aW9uOmt9KX1zdGF0aWMgd2FybmluZyh3LGspe3JldHVybiB0aGlzLnNob3coe21lc3NhZ2U6dyx0eXBlOiJ3YXJuaW5nIixkdXJhdGlvbjprfSl9c3RhdGljIGVycm9yKHcsayl7cmV0dXJuIHRoaXMuc2hvdyh7bWVzc2FnZTp3LHR5cGU6ImVycm9yIixkdXJhdGlvbjprfSl9I2U9RWModGhpcyxzLCIiKTtnZXQgbWVzc2FnZSgpe3JldHVybiB0aGlzLiNlfXNldCBtZXNzYWdlKHcpe3RoaXMuI2U9d30jdD0oRWModGhpcyxvKSxFYyh0aGlzLGwsImluZm8iKSk7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdHlwZSh3KXt0aGlzLiN0PXd9I3I9KEVjKHRoaXMsdSksRWModGhpcyxoLDNlMykpO2dldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLiNyfXNldCBkdXJhdGlvbih3KXt0aGlzLiNyPXd9I2E9KEVjKHRoaXMsbSksRWModGhpcyxiLCExKSk7Z2V0IGlzVmlzaWJsZSgpe3JldHVybiB0aGlzLiNhfXNldCBpc1Zpc2libGUodyl7dGhpcy4jYT13fWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxFYyh0aGlzLGcpLHBhLnNldHVwKCl9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtpc3Zpc2libGVdKSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIH0KCiAgICAgIC50b2FzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmIiwiIzIyMiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2UwZTBlMCIsIiMzMzMiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCAke3AuYmRUaGVtZSgicmdiYSgwLDAsMCwwLjEpIiwicmdiYSgwLDAsMCwwLjMpIil9OwogICAgICAgIG1pbi13aWR0aDogMzAwcHg7CiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC50b2FzdDpob3ZlciB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsKICAgICAgfQoKICAgICAgLmljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAubWVzc2FnZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuY2xvc2UgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsKICAgICAgfQoKICAgICAgLmNsb3NlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuY2xvc2Ugc3ZnIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAvKiBUeXBlLXNwZWNpZmljIHN0eWxlcyAqLwogICAgICA6aG9zdChbdHlwZT0iaW5mbyJdKSAuaWNvbiB7CiAgICAgICAgY29sb3I6ICMwMDg0ZmY7CiAgICAgIH0KCiAgICAgIDpob3N0KFt0eXBlPSJzdWNjZXNzIl0pIC5pY29uIHsKICAgICAgICBjb2xvcjogIzIyYzU1ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW3R5cGU9Indhcm5pbmciXSkgLmljb24gewogICAgICAgIGNvbG9yOiAjZjU5ZTBiOwogICAgICB9CgogICAgICA6aG9zdChbdHlwZT0iZXJyb3IiXSkgLmljb24gewogICAgICAgIGNvbG9yOiAjZWY0NDQ0OwogICAgICB9CgogICAgICAvKiBQcm9ncmVzcyBiYXIgKi8KICAgICAgLnByb2dyZXNzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAzcHg7CiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0OwogICAgICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MgbGluZWFyIGZvcndhcmRzOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHByb2dyZXNzIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCB3PXtpbmZvOk1gPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMS0xMWExIDEgMCAxMC0yIDB2Mkg3YTEgMSAwIDEwMCAyaDJ2MmExIDEgMCAxMDIgMHYtMmgyYTEgMSAwIDEwMC0yaC0yVjd6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPC9zdmc+YCxzdWNjZXNzOk1gPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPC9zdmc+YCx3YXJuaW5nOk1gPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOC4yNTcgMy4wOTljLjc2NS0xLjM2IDIuNzIyLTEuMzYgMy40ODYgMGw1LjU4IDkuOTJjLjc1IDEuMzM0LS4yMTMgMi45OC0xLjc0MiAyLjk4SDQuNDJjLTEuNTMgMC0yLjQ5My0xLjY0Ni0xLjc0My0yLjk4bDUuNTgtOS45MnpNMTEgMTNhMSAxIDAgMTEtMiAwIDEgMSAwIDAxMiAwem0tMS04YTEgMSAwIDAwLTEgMXYzYTEgMSAwIDAwMiAwVjZhMSAxIDAgMDAtMS0xeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvc3ZnPmAsZXJyb3I6TWA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2ek04LjcwNyA3LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNEw4LjU4NiAxMGwtMS4yOTMgMS4yOTNhMSAxIDAgMTAxLjQxNCAxLjQxNEwxMCAxMS40MTRsMS4yOTMgMS4yOTNhMSAxIDAgMDAxLjQxNC0xLjQxNEwxMS40MTQgMTBsMS4yOTMtMS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMMTAgOC41ODYgOC43MDcgNy4yOTN6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPC9zdmc+YH07cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9InRvYXN0IiBAY2xpY2s9JHt0aGlzLmRpc21pc3N9PgogICAgICAgIDxkaXYgY2xhc3M9Imljb24iPgogICAgICAgICAgJHt3W3RoaXMudHlwZV19CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZSI+JHt0aGlzLm1lc3NhZ2V9PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2xvc2UiPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDcuMjkzbDIuNjQ2LTIuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhMOC43MDcgOGwyLjY0NyAyLjY0NmEuNS41IDAgMCAxLS43MDguNzA4TDggOC43MDdsLTIuNjQ2IDIuNjQ3YS41LjUgMCAwIDEtLjcwOC0uNzA4TDcuMjkzIDggNC42NDYgNS4zNTRhLjUuNSAwIDAgMSAwLS43MDh6Ii8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZHVyYXRpb24+MD9NYAogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiIHN0eWxlPSJhbmltYXRpb24tZHVyYXRpb246ICR7dGhpcy5kdXJhdGlvbn1tcyI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZGlzbWlzcygpe3RoaXMuaXNWaXNpYmxlPSExLGF3YWl0IG5ldyBQcm9taXNlKGs9PnNldFRpbWVvdXQoaywzMDApKSx0aGlzLnJlbW92ZSgpO2xldCB3PXRoaXMucGFyZW50RWxlbWVudDtpZih3JiZ3LmNoaWxkcmVuLmxlbmd0aD09PTApe3cucmVtb3ZlKCk7Zm9yKGxldFtrLFJdb2YgeS50b2FzdENvbnRhaW5lcnMuZW50cmllcygpKWlmKFI9PT13KXt5LnRvYXN0Q29udGFpbmVycy5kZWxldGUoayk7YnJlYWt9fX1maXJzdFVwZGF0ZWQoKXt0aGlzLnNldEF0dHJpYnV0ZSgidHlwZSIsdGhpcy50eXBlKX1zdGF0aWN7RWMoYSxyKX19O3JldHVybiB5PWF9KSgpfSk7dmFyIG00cj1mKCgpPT57RDZlKCl9KTt2YXIgZzRyPWYoKCk9PntHMHIoKTtKMHIoKTtpNHIoKTtjNHIoKTtwNHIoKTttNHIoKX0pO3ZhciBiNHI9ZigoKT0+e1NmKCl9KTt2YXIgdjRyPWYoKCk9PntLNigpfSk7dmFyIHg0cj1mKCgpPT57YjRyKCk7djRyKCl9KTt2YXIgeTRyPWYoKCk9PntTYSgpfSk7dmFyIHc0cj1mKCgpPT57bEYoKX0pO3ZhciBNNHI9ZigoKT0+e0dkZSgpfSk7dmFyIGs0cj1mKCgpPT57eEYoKX0pO3ZhciBTNHI9ZigoKT0+e242ZSgpfSk7dmFyIHo0cixDNHI9ZigoKT0+e3VlKCk7aGEoKTtPaSgpO1NmKCk7UTQoKTtLNigpO3o0cj0oKT0+TWAKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtKYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2YzZjRmNjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjMzc0MTUxOwogICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYzJjOwogICAgICAgICAgICBjb2xvcjogI2U0ZTRlNzsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZlYXR1cmUtbm90ZSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNlZmY2ZmY7CiAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMzYjgyZjY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBjb2xvcjogIzFlNDBhZjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLmZlYXR1cmUtbm90ZSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxZTNhNWY7CiAgICAgICAgICAgIGNvbG9yOiAjOTNjNWZkOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIEJhc2ljIExpc3QgSW5wdXQifSAuc3VidGl0bGU9JHsiU2ltcGxlIGxpc3QgbWFuYWdlbWVudCB3aXRoIGFkZCwgZWRpdCwgYW5kIGRlbGV0ZSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJTaG9wcGluZyBMaXN0In0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgaXRlbSB0byB5b3VyIGxpc3QuLi4ifQogICAgICAgICAgLnZhbHVlPSR7WyJNaWxrIiwiQnJlYWQiLCJFZ2dzIiwiQ2hlZXNlIl19CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiRG91YmxlLWNsaWNrIHRvIGVkaXQgaXRlbXMsIG9yIHVzZSB0aGUgZWRpdCBidXR0b24ifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLW5vdGUiPgogICAgICAgICAg8J+SoSBEb3VibGUtY2xpY2sgYW55IGl0ZW0gdG8gcXVpY2tseSBlZGl0IGl0IGlubGluZQogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gU29ydGFibGUgTGlzdCJ9IC5zdWJ0aXRsZT0keyJEcmFnIGFuZCBkcm9wIHRvIHJlb3JkZXIgaXRlbXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiVGFzayBQcmlvcml0eSJ9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIGEgdGFzay4uLiJ9CiAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgIC52YWx1ZT0ke1siUmV2aWV3IHB1bGwgcmVxdWVzdHMiLCJGaXggY3JpdGljYWwgYnVnIiwiVXBkYXRlIGRvY3VtZW50YXRpb24iLCJEZXBsb3kgdG8gcHJvZHVjdGlvbiIsIlRlYW0gc3RhbmR1cCBtZWV0aW5nIl19CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiRHJhZyBpdGVtcyB1c2luZyB0aGUgaGFuZGxlIHRvIHJlb3JkZXIgdGhlbSJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtbm90ZSI+CiAgICAgICAgICDwn5SEIERyYWcgdGhlIGdyaXAgaGFuZGxlIHRvIHJlb3JkZXIgdGFza3MgYnkgcHJpb3JpdHkKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIFZhbGlkYXRpb24gJiBDb25zdHJhaW50cyJ9IC5zdWJ0aXRsZT0keyJMaXN0cyB3aXRoIG1pbmltdW0vbWF4aW11bSBpdGVtcyBhbmQgZHVwbGljYXRlIHByZXZlbnRpb24ifT4KICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJUZWFtIE1lbWJlcnMgKE1pbiAyLCBNYXggNSkifQogICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIHRlYW0gbWVtYmVyLi4uIn0KICAgICAgICAgICAgLm1pbkl0ZW1zPSR7Mn0KICAgICAgICAgICAgLm1heEl0ZW1zPSR7NX0KICAgICAgICAgICAgLnZhbHVlPSR7WyJBbGljZSIsIkJvYiJdfQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkZCAyLTUgdGVhbSBtZW1iZXJzIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiVW5pcXVlIFRhZ3MgKE5vIER1cGxpY2F0ZXMpIn0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCB1bmlxdWUgdGFnLi4uIn0KICAgICAgICAgICAgLmFsbG93RHVwbGljYXRlcz0keyExfQogICAgICAgICAgICAudmFsdWU9JHtbImZyb250ZW5kIiwiYmFja2VuZCIsImRhdGFiYXNlIl19CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJEdXBsaWNhdGUgaXRlbXMgYXJlIG5vdCBhbGxvd2VkIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjQuIERlbGV0ZSBDb25maXJtYXRpb24ifSAuc3VidGl0bGU9JHsiUmVxdWlyZSBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIGl0ZW1zIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IkltcG9ydGFudCBEb2N1bWVudHMifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBkb2N1bWVudCBuYW1lLi4uIn0KICAgICAgICAgIC5jb25maXJtRGVsZXRlPSR7ITB9CiAgICAgICAgICAudmFsdWU9JHtbIkNvbnRyYWN0XzIwMjQucGRmIiwiRmluYW5jaWFsX1JlcG9ydF9RMy54bHN4IiwiUHJvamVjdF9Qcm9wb3NhbC5kb2N4IiwiTWVldGluZ19Ob3Rlcy50eHQiXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJEZWxldGlvbiByZXF1aXJlcyBjb25maXJtYXRpb24gZm9yIHNhZmV0eSJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gRGlzYWJsZWQgU3RhdGUifSAuc3VidGl0bGU9JHsiUmVhZC1vbmx5IGxpc3QgZGlzcGxheSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJTeXN0ZW0gRGVmYXVsdHMifQogICAgICAgICAgLnZhbHVlPSR7WyJEZWZhdWx0IFNldHRpbmcgMSIsIkRlZmF1bHQgU2V0dGluZyAyIiwiRGVmYXVsdCBTZXR0aW5nIDMiXX0KICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoZXNlIGl0ZW1zIGNhbm5vdCBiZSBtb2RpZmllZCJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNi4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJMaXN0IGlucHV0IHdvcmtpbmcgd2l0aGluIGEgZm9ybSBjb250ZXh0In0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlJlY2lwZSBOYW1lIn0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7Ik15IEFtYXppbmcgUmVjaXBlIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsibmFtZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICAgIC5sYWJlbD0keyJJbmdyZWRpZW50cyJ9CiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBpbmdyZWRpZW50Li4uIn0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgICAubWluSXRlbXM9JHszfQogICAgICAgICAgICAgIC5rZXk9JHsiaW5ncmVkaWVudHMifQogICAgICAgICAgICAgIC5zb3J0YWJsZT0keyEwfQogICAgICAgICAgICAgIC52YWx1ZT0ke1siMiBjdXBzIGZsb3VyIiwiMSBjdXAgc3VnYXIiLCIzIGVnZ3MiXX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIGF0IGxlYXN0IDMgaW5ncmVkaWVudHMifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ikluc3RydWN0aW9ucyJ9CiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBpbnN0cnVjdGlvbiBzdGVwLi4uIn0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgICAubWluSXRlbXM9JHsyfQogICAgICAgICAgICAgIC5rZXk9JHsiaW5zdHJ1Y3Rpb25zIn0KICAgICAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgICAgICAudmFsdWU9JHtbIlByZWhlYXQgb3ZlbiB0byAzNTBceEIwRiIsIk1peCBkcnkgaW5ncmVkaWVudHMiXX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIGNvb2tpbmcgaW5zdHJ1Y3Rpb25zIGluIG9yZGVyIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGVzIn0KICAgICAgICAgICAgLmlucHV0VHlwZT0keyJ0ZXh0YXJlYSJ9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBbnkgc3BlY2lhbCBub3RlcyBvciB0aXBzLi4uIn0KICAgICAgICAgICAgLmtleT0keyJub3RlcyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IC50ZXh0PSR7IlNhdmUgUmVjaXBlIn0+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gSW50ZXJhY3RpdmUgRGVtbyJ9IC5zdWJ0aXRsZT0keyJCdWlsZCB5b3VyIG93biBmZWF0dXJlIGxpc3QgYW5kIHNlZSB0aGUgZGF0YSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIGlkPSJpbnRlcmFjdGl2ZS1saXN0IgogICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QgRmVhdHVyZXMifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBhIGZlYXR1cmUuLi4ifQogICAgICAgICAgLnNvcnRhYmxlPSR7ITB9CiAgICAgICAgICAuY29uZmlybURlbGV0ZT0keyExfQogICAgICAgICAgLmFsbG93RHVwbGljYXRlcz0keyExfQogICAgICAgICAgLm1heEl0ZW1zPSR7MTB9CiAgICAgICAgICBAY2hhbmdlPSR7ZT0+e2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNsaXN0LWpzb24iKTtpZih0KXtsZXQgcj17aXRlbXM6ZS5kZXRhaWwudmFsdWUsY291bnQ6ZS5kZXRhaWwudmFsdWUubGVuZ3RoLHRpbWVzdGFtcDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9O3QudGV4dENvbnRlbnQ9SlNPTi5zdHJpbmdpZnkocixudWxsLDIpfX19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1wcmV2aWV3IiBpZD0ibGlzdC1qc29uIj4KICAgICAgICAgIHsKICAgICAgICAgICAgIml0ZW1zIjogW10sCiAgICAgICAgICAgICJjb3VudCI6IDAsCiAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAiJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9IgogICAgICAgICAgfQogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtbm90ZSI+CiAgICAgICAgICDinKggQWRkLCBlZGl0LCByZW1vdmUsIGFuZCByZW9yZGVyIGl0ZW1zIHRvIHNlZSB0aGUgSlNPTiBvdXRwdXQgdXBkYXRlIGluIHJlYWwtdGltZQogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOC4gQWR2YW5jZWQgQ29uZmlndXJhdGlvbiJ9IC5zdWJ0aXRsZT0keyJDb21iaW5lIGFsbCBmZWF0dXJlcyBmb3IgY29tcGxleCB1c2UgY2FzZXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiUHJvamVjdCBNaWxlc3RvbmVzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgbWlsZXN0b25lLi4uIn0KICAgICAgICAgIC52YWx1ZT0ke1siUHJvamVjdCBLaWNrb2ZmIC0gV2VlayAxIiwiUmVxdWlyZW1lbnRzIEdhdGhlcmluZyAtIFdlZWsgMi0zIiwiRGVzaWduIFBoYXNlIC0gV2VlayA0LTYiLCJEZXZlbG9wbWVudCBTcHJpbnQgMSAtIFdlZWsgNy05IiwiVGVzdGluZyAmIFFBIC0gV2VlayAxMC0xMSIsIkRlcGxveW1lbnQgLSBXZWVrIDEyIl19CiAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgIC5jb25maXJtRGVsZXRlPSR7ITB9CiAgICAgICAgICAuYWxsb3dEdXBsaWNhdGVzPSR7ITF9CiAgICAgICAgICAubWluSXRlbXM9JHszfQogICAgICAgICAgLm1heEl0ZW1zPSR7MTJ9CiAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJNYW5hZ2UgcHJvamVjdCBtaWxlc3RvbmVzICgzLTEyIGl0ZW1zLCBzb3J0YWJsZSwgbm8gZHVwbGljYXRlcykifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjkuIEVtcHR5IFN0YXRlIn0gLnN1YnRpdGxlPSR7IkhvdyB0aGUgY29tcG9uZW50IGxvb2tzIHdpdGggbm8gaXRlbXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiWW91ciBJZGVhcyJ9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiU2hhcmUgeW91ciBpZGVhcy4uLiJ9CiAgICAgICAgICAudmFsdWU9JHtbXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJTdGFydCBhZGRpbmcgaXRlbXMgdG8gYnVpbGQgeW91ciBsaXN0In0KICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYH0pO3ZhciBSaSxjcixUNHIsXzRyPWYoKCk9Pnt1ZSgpO1NhKCk7aXIoKTtaNCgpO0M0cigpO1FlKCk7Umk9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxjcj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sVDRyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1pbnB1dC1saXN0IildLHQscj1bXSxhLGk9bnQsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W10sVixCPVtdLFU9W10sSyxJPVtdLHZlPVtdLE1lLFA9W10sbGU9W10sU2UsWj1bXSxBPVtdLCQsaj1bXSxIPVtdLFksZGU9W10sd2U9W10sTGUsRz1bXSxXPVtdLGFlLHllPVtdLG1lPVtdO3ZhciBDZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGJlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6QXJyYXl9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpOdW1iZXJ9KV0sdj1bRih7dHlwZTpOdW1iZXJ9KV0seT1bRih7dHlwZTpCb29sZWFufSldLFI9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxPPVtGKHt0eXBlOkJvb2xlYW59KV0scT1bRih7dHlwZTpTdHJpbmd9KV0sRT1bc2UoKV0sVj1bc2UoKV0sSz1bc2UoKV0sTWU9W3NlKCldLFNlPVtzZSgpXSwkPVtzZSgpXSxZPVtzZSgpXSxMZT1bc2UoKV0sYWU9W3NlKCldLFJpKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm5lPT4idmFsdWUiaW4gbmUsZ2V0Om5lPT5uZS52YWx1ZSxzZXQ6KG5lLHplKT0+e25lLnZhbHVlPXplfX0sbWV0YWRhdGE6YmV9LHMsbyksUmkodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwbGFjZWhvbGRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bmU9PiJwbGFjZWhvbGRlciJpbiBuZSxnZXQ6bmU9Pm5lLnBsYWNlaG9sZGVyLHNldDoobmUsemUpPT57bmUucGxhY2Vob2xkZXI9emV9fSxtZXRhZGF0YTpiZX0sbCx1KSxSaSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heEl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpuZT0+Im1heEl0ZW1zImluIG5lLGdldDpuZT0+bmUubWF4SXRlbXMsc2V0OihuZSx6ZSk9PntuZS5tYXhJdGVtcz16ZX19LG1ldGFkYXRhOmJlfSxoLG0pLFJpKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluSXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm5lPT4ibWluSXRlbXMiaW4gbmUsZ2V0Om5lPT5uZS5taW5JdGVtcyxzZXQ6KG5lLHplKT0+e25lLm1pbkl0ZW1zPXplfX0sbWV0YWRhdGE6YmV9LGIsZyksUmkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhbGxvd0R1cGxpY2F0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm5lPT4iYWxsb3dEdXBsaWNhdGVzImluIG5lLGdldDpuZT0+bmUuYWxsb3dEdXBsaWNhdGVzLHNldDoobmUsemUpPT57bmUuYWxsb3dEdXBsaWNhdGVzPXplfX0sbWV0YWRhdGE6YmV9LHcsayksUmkodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzb3J0YWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bmU9PiJzb3J0YWJsZSJpbiBuZSxnZXQ6bmU9Pm5lLnNvcnRhYmxlLHNldDoobmUsemUpPT57bmUuc29ydGFibGU9emV9fSxtZXRhZGF0YTpiZX0sQyxTKSxSaSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbmZpcm1EZWxldGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm5lPT4iY29uZmlybURlbGV0ZSJpbiBuZSxnZXQ6bmU9Pm5lLmNvbmZpcm1EZWxldGUsc2V0OihuZSx6ZSk9PntuZS5jb25maXJtRGVsZXRlPXplfX0sbWV0YWRhdGE6YmV9LEQsTiksUmkodGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bmU9PiJ2YWxpZGF0aW9uVGV4dCJpbiBuZSxnZXQ6bmU9Pm5lLnZhbGlkYXRpb25UZXh0LHNldDoobmUsemUpPT57bmUudmFsaWRhdGlvblRleHQ9emV9fSxtZXRhZGF0YTpiZX0sXyx6KSxSaSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlucHV0VmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm5lPT4iaW5wdXRWYWx1ZSJpbiBuZSxnZXQ6bmU9Pm5lLmlucHV0VmFsdWUsc2V0OihuZSx6ZSk9PntuZS5pbnB1dFZhbHVlPXplfX0sbWV0YWRhdGE6YmV9LFQsTCksUmkodGhpcyxudWxsLFYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0aW5nSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm5lPT4iZWRpdGluZ0luZGV4ImluIG5lLGdldDpuZT0+bmUuZWRpdGluZ0luZGV4LHNldDoobmUsemUpPT57bmUuZWRpdGluZ0luZGV4PXplfX0sbWV0YWRhdGE6YmV9LEIsVSksUmkodGhpcyxudWxsLEsse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0aW5nVmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm5lPT4iZWRpdGluZ1ZhbHVlImluIG5lLGdldDpuZT0+bmUuZWRpdGluZ1ZhbHVlLHNldDoobmUsemUpPT57bmUuZWRpdGluZ1ZhbHVlPXplfX0sbWV0YWRhdGE6YmV9LEksdmUpLFJpKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdnZWRJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bmU9PiJkcmFnZ2VkSW5kZXgiaW4gbmUsZ2V0Om5lPT5uZS5kcmFnZ2VkSW5kZXgsc2V0OihuZSx6ZSk9PntuZS5kcmFnZ2VkSW5kZXg9emV9fSxtZXRhZGF0YTpiZX0sUCxsZSksUmkodGhpcyxudWxsLFNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bmU9PiJkcmFnT3ZlckluZGV4ImluIG5lLGdldDpuZT0+bmUuZHJhZ092ZXJJbmRleCxzZXQ6KG5lLHplKT0+e25lLmRyYWdPdmVySW5kZXg9emV9fSxtZXRhZGF0YTpiZX0sWixBKSxSaSh0aGlzLG51bGwsJCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdTdGFydFkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm5lPT4iZHJhZ1N0YXJ0WSJpbiBuZSxnZXQ6bmU9Pm5lLmRyYWdTdGFydFksc2V0OihuZSx6ZSk9PntuZS5kcmFnU3RhcnRZPXplfX0sbWV0YWRhdGE6YmV9LGosSCksUmkodGhpcyxudWxsLFkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnQ3VycmVudFkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm5lPT4iZHJhZ0N1cnJlbnRZImluIG5lLGdldDpuZT0+bmUuZHJhZ0N1cnJlbnRZLHNldDoobmUsemUpPT57bmUuZHJhZ0N1cnJlbnRZPXplfX0sbWV0YWRhdGE6YmV9LGRlLHdlKSxSaSh0aGlzLG51bGwsTGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YXJnZXRJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bmU9PiJ0YXJnZXRJbmRleCJpbiBuZSxnZXQ6bmU9Pm5lLnRhcmdldEluZGV4LHNldDoobmUsemUpPT57bmUudGFyZ2V0SW5kZXg9emV9fSxtZXRhZGF0YTpiZX0sRyxXKSxSaSh0aGlzLG51bGwsYWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpdGVtSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpuZT0+Iml0ZW1IZWlnaHQiaW4gbmUsZ2V0Om5lPT5uZS5pdGVtSGVpZ2h0LHNldDoobmUsemUpPT57bmUuaXRlbUhlaWdodD16ZX19LG1ldGFkYXRhOmJlfSx5ZSxtZSksUmkobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6YmV9LG51bGwsciksQ2U9YT10LnZhbHVlLGJlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJlfSl9c3RhdGljIGRlbW89ejRyO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1jcih0aGlzLHMsW10pO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShiZSl7dGhpcy4jZT1iZX0jdD0oY3IodGhpcyxvKSxjcih0aGlzLGwsIkFkZCBuZXcgaXRlbS4uLiIpKTtnZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcGxhY2Vob2xkZXIoYmUpe3RoaXMuI3Q9YmV9I3I9KGNyKHRoaXMsdSksY3IodGhpcyxoLDApKTtnZXQgbWF4SXRlbXMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbWF4SXRlbXMoYmUpe3RoaXMuI3I9YmV9I2E9KGNyKHRoaXMsbSksY3IodGhpcyxiLDApKTtnZXQgbWluSXRlbXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWluSXRlbXMoYmUpe3RoaXMuI2E9YmV9I2k9KGNyKHRoaXMsZyksY3IodGhpcyx3LCExKSk7Z2V0IGFsbG93RHVwbGljYXRlcygpe3JldHVybiB0aGlzLiNpfXNldCBhbGxvd0R1cGxpY2F0ZXMoYmUpe3RoaXMuI2k9YmV9I249KGNyKHRoaXMsayksY3IodGhpcyxDLCExKSk7Z2V0IHNvcnRhYmxlKCl7cmV0dXJuIHRoaXMuI259c2V0IHNvcnRhYmxlKGJlKXt0aGlzLiNuPWJlfSNzPShjcih0aGlzLFMpLGNyKHRoaXMsRCwhMSkpO2dldCBjb25maXJtRGVsZXRlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGNvbmZpcm1EZWxldGUoYmUpe3RoaXMuI3M9YmV9I289KGNyKHRoaXMsTiksY3IodGhpcyxfLCIiKSk7Z2V0IHZhbGlkYXRpb25UZXh0KCl7cmV0dXJuIHRoaXMuI299c2V0IHZhbGlkYXRpb25UZXh0KGJlKXt0aGlzLiNvPWJlfSNsPShjcih0aGlzLHopLGNyKHRoaXMsVCwiIikpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGlucHV0VmFsdWUoYmUpe3RoaXMuI2w9YmV9I2M9KGNyKHRoaXMsTCksY3IodGhpcyxCLC0xKSk7Z2V0IGVkaXRpbmdJbmRleCgpe3JldHVybiB0aGlzLiNjfXNldCBlZGl0aW5nSW5kZXgoYmUpe3RoaXMuI2M9YmV9I2Q9KGNyKHRoaXMsVSksY3IodGhpcyxJLCIiKSk7Z2V0IGVkaXRpbmdWYWx1ZSgpe3JldHVybiB0aGlzLiNkfXNldCBlZGl0aW5nVmFsdWUoYmUpe3RoaXMuI2Q9YmV9I3U9KGNyKHRoaXMsdmUpLGNyKHRoaXMsUCwtMSkpO2dldCBkcmFnZ2VkSW5kZXgoKXtyZXR1cm4gdGhpcy4jdX1zZXQgZHJhZ2dlZEluZGV4KGJlKXt0aGlzLiN1PWJlfSNwPShjcih0aGlzLGxlKSxjcih0aGlzLFosLTEpKTtnZXQgZHJhZ092ZXJJbmRleCgpe3JldHVybiB0aGlzLiNwfXNldCBkcmFnT3ZlckluZGV4KGJlKXt0aGlzLiNwPWJlfSNmPShjcih0aGlzLEEpLGNyKHRoaXMsaiwwKSk7Z2V0IGRyYWdTdGFydFkoKXtyZXR1cm4gdGhpcy4jZn1zZXQgZHJhZ1N0YXJ0WShiZSl7dGhpcy4jZj1iZX0jaD0oY3IodGhpcyxIKSxjcih0aGlzLGRlLDApKTtnZXQgZHJhZ0N1cnJlbnRZKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGRyYWdDdXJyZW50WShiZSl7dGhpcy4jaD1iZX0jbT0oY3IodGhpcyx3ZSksY3IodGhpcyxHLC0xKSk7Z2V0IHRhcmdldEluZGV4KCl7cmV0dXJuIHRoaXMuI219c2V0IHRhcmdldEluZGV4KGJlKXt0aGlzLiNtPWJlfSNnPShjcih0aGlzLFcpLGNyKHRoaXMseWUsMCkpO2dldCBpdGVtSGVpZ2h0KCl7cmV0dXJuIHRoaXMuI2d9c2V0IGl0ZW1IZWlnaHQoYmUpe3RoaXMuI2c9YmV9Ym91bmRIYW5kbGVHbG9iYWxEcmFnT3Zlcj0oY3IodGhpcyxtZSksbnVsbCk7Ym91bmRIYW5kbGVHbG9iYWxEcmFnRW5kPW51bGw7b3JpZ2luYWxJdGVtUmVjdHM9W107c3RhdGljIHN0eWxlcz1bRGUsLi4ubnQuYmFzZVN0eWxlcyxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5saXN0LWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmxpc3QtY29udGFpbmVyOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5saXN0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5saXN0LWNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW1zIHsKICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICAubGlzdC1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGFuaW1hdGlvbiBmcm9tIGFmZmVjdGluZyBzY3JvbGwgYm91bmRzICovCiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW06bGFzdC1vZi10eXBlIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAubGlzdC1pdGVtczpub3QoLmlzLWRyYWdnaW5nKSAubGlzdC1pdGVtOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTcuNSUpIiwiaHNsKDAgMCUgNi45JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIERyYWdnaW5nIGl0ZW0gLSBmb2xsb3dzIGN1cnNvciAqLwogICAgICAubGlzdC1pdGVtLmRyYWdnaW5nIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMTAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5OCUpIiwiaHNsKDIxNSAyMC4yJSAxMiUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xNSkiLCJyZ2JhKDAsIDAsIDAsIDAuNCkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xNXMgZWFzZSwgYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAvKiBJdGVtcyB0aGF0IG5lZWQgdG8gbW92ZSB1cCB0byBtYWtlIHNwYWNlICovCiAgICAgIC5saXN0LWl0ZW0ubW92ZS11cCB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS1pdGVtLWhlaWdodCwgNDhweCkpKTsKICAgICAgfQoKICAgICAgLyogSXRlbXMgdGhhdCBuZWVkIHRvIG1vdmUgZG93biB0byBtYWtlIHNwYWNlICovCiAgICAgIC5saXN0LWl0ZW0ubW92ZS1kb3duIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0taXRlbS1oZWlnaHQsIDQ4cHgpKTsKICAgICAgfQoKCiAgICAgIC5kcmFnLWhhbmRsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGN1cnNvcjogbW92ZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuZHJhZy1oYW5kbGU6aG92ZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICB9CgogICAgICAuZHJhZy1oYW5kbGUgZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5pdGVtLWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLml0ZW0tdGV4dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC5pdGVtLWVkaXQtaW5wdXQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC5pdGVtLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjhweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2F2ZSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2F2ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5jYW5jZWwgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgNTAuNiUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5jYW5jZWw6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSAvIDAuMSkiLCJoc2woMCA2Mi44JSA1MC42JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSA1MC42JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIsImhzbCgwIDYyLjglIDUwLjYlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5hZGQtaXRlbS1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5Ny41JSkiLCJoc2woMCAwJSA2LjklKSIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLmFkZC1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuYWRkLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuYWRkLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5hZGQtaW5wdXQ6ZGlzYWJsZWQgewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgcGFkZGluZzogMzJweCAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luLXRvcDogNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC5kZXNjcmlwdGlvbiB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG1hcmdpbi10b3A6IDZweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAvKiBTY3JvbGxiYXIgc3R5bGluZyAqLwogICAgICAubGlzdC1pdGVtczo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDI0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDM0LjklKSIpfTsKICAgICAgfQoKICAgICAgLyogRGlzYWJsZSB0cmFuc2l0aW9ucyBkdXJpbmcgZHJvcCB0byBwcmV2ZW50IGZsYXNoICovCiAgICAgIC5saXN0LWl0ZW1zLmRyb3BwaW5nIC5saXN0LWl0ZW0gewogICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5sYWJlbD9NYDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD5gOiIifQogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Imxpc3QtY29udGFpbmVyICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsaXN0LWl0ZW1zIj4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlLmxlbmd0aD4wP3RoaXMudmFsdWUubWFwKChiZSxuZSk9Pk1gCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9Imxpc3QtaXRlbSAke3RoaXMuZHJhZ2dlZEluZGV4PT09bmU/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICAgICAgICBkcmFnZ2FibGU9IiR7dGhpcy5zb3J0YWJsZSYmIXRoaXMuZGlzYWJsZWR9IgogICAgICAgICAgICAgICAgQGRyYWdzdGFydD0ke3plPT50aGlzLmhhbmRsZURyYWdTdGFydCh6ZSxuZSl9CiAgICAgICAgICAgICAgICBAZHJhZ2VuZD0ke3RoaXMuaGFuZGxlRHJhZ0VuZH0KICAgICAgICAgICAgICAgIEBkcmFnb3Zlcj0ke3plPT50aGlzLmhhbmRsZURyYWdPdmVyKHplLG5lKX0KICAgICAgICAgICAgICAgIEBkcm9wPSR7emU9PnRoaXMuaGFuZGxlRHJvcCh6ZSxuZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHt0aGlzLnNvcnRhYmxlJiYhdGhpcy5kaXNhYmxlZD9NYAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcmFnLWhhbmRsZSI+CiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Z3JpcFZlcnRpY2FsIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbS1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmVkaXRpbmdJbmRleD09PW5lP01gCiAgICAgICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Iml0ZW0tZWRpdC1pbnB1dCIKICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuZWRpdGluZ1ZhbHVlfQogICAgICAgICAgICAgICAgICAgICAgQGlucHV0PSR7emU9PnRoaXMuZWRpdGluZ1ZhbHVlPXplLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgICAgICAgICAgIEBrZXlkb3duPSR7emU9PnRoaXMuaGFuZGxlRWRpdEtleURvd24oemUsbmUpfQogICAgICAgICAgICAgICAgICAgICAgQGJsdXI9JHsoKT0+dGhpcy5zYXZlRWRpdChuZSl9CiAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgYDpNYAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0tdGV4dCIgQGRibGNsaWNrPSR7KCk9PiF0aGlzLmRpc2FibGVkJiZ0aGlzLnN0YXJ0RWRpdChuZSl9PgogICAgICAgICAgICAgICAgICAgICAgJHtiZX0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAke3RoaXMuZWRpdGluZ0luZGV4PT09bmU/TWAKICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHNhdmUiIEBjbGljaz0keygpPT50aGlzLnNhdmVFZGl0KG5lKX0+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpjaGVjayJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gY2FuY2VsIiBAY2xpY2s9JHsoKT0+dGhpcy5jYW5jZWxFZGl0KCl9PgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICBgOk1gCiAgICAgICAgICAgICAgICAgICAgJHt0aGlzLmRpc2FibGVkPyIiOk1gCiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5zdGFydEVkaXQobmUpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6cGVuY2lsIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVJdGVtKG5lKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOnRyYXNoMiJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgKTpNYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgICAgIE5vIGl0ZW1zIGFkZGVkIHlldAogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAKICAgICAgICAgICR7IXRoaXMuZGlzYWJsZWQmJighdGhpcy5tYXhJdGVtc3x8dGhpcy52YWx1ZS5sZW5ndGg8dGhpcy5tYXhJdGVtcyk/TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRkLWl0ZW0tY29udGFpbmVyIj4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iYWRkLWlucHV0IgogICAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7dGhpcy5wbGFjZWhvbGRlcn0KICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuaW5wdXRWYWx1ZX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlSW5wdXR9CiAgICAgICAgICAgICAgICBAa2V5ZG93bj0ke3RoaXMuaGFuZGxlQWRkS2V5RG93bn0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJhZGQtYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5hZGRJdGVtfQogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7IXRoaXMuaW5wdXRWYWx1ZS50cmltKCl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6cGx1cyJ9PjwvZGVlcy1pY29uPiBBZGQKICAgICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CgogICAgICAgICR7dGhpcy52YWxpZGF0aW9uVGV4dD9NYAogICAgICAgICAgPGRpdiBjbGFzcz0idmFsaWRhdGlvbi1tZXNzYWdlIj4ke3RoaXMudmFsaWRhdGlvblRleHR9PC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgICAKICAgICAgICAke3RoaXMuZGVzY3JpcHRpb24/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4ke3RoaXMuZGVzY3JpcHRpb259PC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZUlucHV0KGJlKXt0aGlzLmlucHV0VmFsdWU9YmUudGFyZ2V0LnZhbHVlfWhhbmRsZUFkZEtleURvd24oYmUpe2JlLmtleT09PSJFbnRlciImJnRoaXMuaW5wdXRWYWx1ZS50cmltKCkmJihiZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWRkSXRlbSgpKX1oYW5kbGVFZGl0S2V5RG93bihiZSxuZSl7YmUua2V5PT09IkVudGVyIj8oYmUucHJldmVudERlZmF1bHQoKSx0aGlzLnNhdmVFZGl0KG5lKSk6YmUua2V5PT09IkVzY2FwZSImJihiZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2FuY2VsRWRpdCgpKX1hZGRJdGVtKCl7bGV0IGJlPXRoaXMuaW5wdXRWYWx1ZS50cmltKCk7aWYoIWJlKXJldHVybjtpZighdGhpcy5hbGxvd0R1cGxpY2F0ZXMmJnRoaXMudmFsdWUuaW5jbHVkZXMoYmUpKXt0aGlzLnZhbGlkYXRpb25UZXh0PSJUaGlzIGl0ZW0gYWxyZWFkeSBleGlzdHMgaW4gdGhlIGxpc3QiLHNldFRpbWVvdXQoKCk9PnRoaXMudmFsaWRhdGlvblRleHQ9IiIsM2UzKTtyZXR1cm59aWYodGhpcy5tYXhJdGVtcyYmdGhpcy52YWx1ZS5sZW5ndGg+PXRoaXMubWF4SXRlbXMpe3RoaXMudmFsaWRhdGlvblRleHQ9YE1heGltdW0gJHt0aGlzLm1heEl0ZW1zfSBpdGVtcyBhbGxvd2VkYCxzZXRUaW1lb3V0KCgpPT50aGlzLnZhbGlkYXRpb25UZXh0PSIiLDNlMyk7cmV0dXJufXRoaXMudmFsdWU9Wy4uLnRoaXMudmFsdWUsYmVdLHRoaXMuaW5wdXRWYWx1ZT0iIix0aGlzLnZhbGlkYXRpb25UZXh0PSIiO2xldCBuZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5hZGQtaW5wdXQiKTtuZSYmKG5lLnZhbHVlPSIiLG5lLmZvY3VzKCkpLHRoaXMuZW1pdENoYW5nZSgpfXN0YXJ0RWRpdChiZSl7dGhpcy5lZGl0aW5nSW5kZXg9YmUsdGhpcy5lZGl0aW5nVmFsdWU9dGhpcy52YWx1ZVtiZV0sdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IG5lPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLml0ZW0tZWRpdC1pbnB1dCIpO25lJiYobmUuZm9jdXMoKSxuZS5zZWxlY3QoKSl9KX1zYXZlRWRpdChiZSl7bGV0IG5lPXRoaXMuZWRpdGluZ1ZhbHVlLnRyaW0oKTtpZighbmUpe3RoaXMuY2FuY2VsRWRpdCgpO3JldHVybn1pZighdGhpcy5hbGxvd0R1cGxpY2F0ZXMmJm5lIT09dGhpcy52YWx1ZVtiZV0mJnRoaXMudmFsdWUuaW5jbHVkZXMobmUpKXt0aGlzLnZhbGlkYXRpb25UZXh0PSJUaGlzIGl0ZW0gYWxyZWFkeSBleGlzdHMgaW4gdGhlIGxpc3QiLHNldFRpbWVvdXQoKCk9PnRoaXMudmFsaWRhdGlvblRleHQ9IiIsM2UzKTtyZXR1cm59bGV0IHplPVsuLi50aGlzLnZhbHVlXTt6ZVtiZV09bmUsdGhpcy52YWx1ZT16ZSx0aGlzLmVkaXRpbmdJbmRleD0tMSx0aGlzLmVkaXRpbmdWYWx1ZT0iIix0aGlzLnZhbGlkYXRpb25UZXh0PSIiLHRoaXMuZW1pdENoYW5nZSgpfWNhbmNlbEVkaXQoKXt0aGlzLmVkaXRpbmdJbmRleD0tMSx0aGlzLmVkaXRpbmdWYWx1ZT0iIn1hc3luYyByZW1vdmVJdGVtKGJlKXt0aGlzLmNvbmZpcm1EZWxldGUmJiFhd2FpdCB0aGlzLnNob3dDb25maXJtRGlhbG9nKGBEZWxldGUgIiR7dGhpcy52YWx1ZVtiZV19Ij9gKXx8KHRoaXMudmFsdWU9dGhpcy52YWx1ZS5maWx0ZXIoKG5lLHplKT0+emUhPT1iZSksdGhpcy5lbWl0Q2hhbmdlKCkpfWFzeW5jIHNob3dDb25maXJtRGlhbG9nKGJlKXtyZXR1cm4gY29uZmlybShiZSl9aGFuZGxlRHJhZ1N0YXJ0KGJlLG5lKXtpZighdGhpcy5zb3J0YWJsZXx8dGhpcy5kaXNhYmxlZClyZXR1cm47dGhpcy5kcmFnZ2VkSW5kZXg9bmUsdGhpcy50YXJnZXRJbmRleD1uZSxiZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0ibW92ZSIsYmUuZGF0YVRyYW5zZmVyLnNldERhdGEoInRleHQvcGxhaW4iLG5lLnRvU3RyaW5nKCkpO2xldCB6ZT1uZXcgSW1hZ2U7emUuc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBVUVCQUFBQUN3QUFBQUFBUUFCQUFBQ0FrUUJBRHM9IixiZS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKHplLDAsMCksdGhpcy5kcmFnU3RhcnRZPWJlLmNsaWVudFksdGhpcy5kcmFnQ3VycmVudFk9YmUuY2xpZW50WTtsZXQgSWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubGlzdC1pdGVtcyIpLFplPUFycmF5LmZyb20oSWU/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5saXN0LWl0ZW0iKXx8W10pO1plW25lXSYmKHRoaXMuaXRlbUhlaWdodD1aZVtuZV0ub2Zmc2V0SGVpZ2h0KSx0aGlzLm9yaWdpbmFsSXRlbVJlY3RzPVplLm1hcCh0ZT0+dGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLEllPy5jbGFzc0xpc3QuYWRkKCJpcy1kcmFnZ2luZyIpLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnT3Zlcj10aGlzLmhhbmRsZUdsb2JhbERyYWdPdmVyLmJpbmQodGhpcyksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQ9dGhpcy5oYW5kbGVHbG9iYWxEcmFnRW5kLmJpbmQodGhpcyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnT3ZlciksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VuZCIsdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQpfWhhbmRsZUdsb2JhbERyYWdPdmVyKGJlKXtpZihiZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZHJhZ2dlZEluZGV4PT09LTEpcmV0dXJuO3RoaXMuZHJhZ0N1cnJlbnRZPWJlLmNsaWVudFk7bGV0IG5lPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKTtpZighbmUpcmV0dXJuO2xldCB6ZT1BcnJheS5mcm9tKG5lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5saXN0LWl0ZW0iKSksSWU9emVbdGhpcy5kcmFnZ2VkSW5kZXhdO2lmKCFJZSlyZXR1cm47bGV0IFplPXRoaXMuZHJhZ0N1cnJlbnRZLXRoaXMuZHJhZ1N0YXJ0WTtJZS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZVkoJHtaZX1weClgO2xldCB0ZT10aGlzLm9yaWdpbmFsSXRlbVJlY3RzW3RoaXMuZHJhZ2dlZEluZGV4XTtpZighdGUpcmV0dXJuO2xldCBYPXRlLnRvcCt0ZS5oZWlnaHQvMitaZSxlZT10aGlzLmRyYWdnZWRJbmRleDtmb3IobGV0IHhlPTA7eGU8emUubGVuZ3RoO3hlKyspe2lmKHhlPT09dGhpcy5kcmFnZ2VkSW5kZXgpY29udGludWU7bGV0IEFlPXRoaXMub3JpZ2luYWxJdGVtUmVjdHNbeGVdO2lmKCFBZSljb250aW51ZTtsZXQgVWU9QWUudG9wK0FlLmhlaWdodC8yO2lmKHplW3hlXS5jbGFzc0xpc3QuY29udGFpbnMoIm1vdmUtdXAiKT9VZS09dGhpcy5pdGVtSGVpZ2h0OnplW3hlXS5jbGFzc0xpc3QuY29udGFpbnMoIm1vdmUtZG93biIpJiYoVWUrPXRoaXMuaXRlbUhlaWdodCksWDxVZSYmeGU8dGhpcy5kcmFnZ2VkSW5kZXgpe2VlPXhlO2JyZWFrfWVsc2UgWD5VZSYmeGU+dGhpcy5kcmFnZ2VkSW5kZXgmJihlZT14ZSl9ZWUhPT10aGlzLnRhcmdldEluZGV4JiYodGhpcy50YXJnZXRJbmRleD1lZSx0aGlzLnVwZGF0ZUl0ZW1Qb3NpdGlvbnMoemUpKX11cGRhdGVJdGVtUG9zaXRpb25zKGJlKXtsZXQgbmU9dGhpcy5kcmFnZ2VkSW5kZXgsemU9dGhpcy50YXJnZXRJbmRleCxJZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIik7SWUmJkllLnN0eWxlLnNldFByb3BlcnR5KCItLWl0ZW0taGVpZ2h0IixgJHt0aGlzLml0ZW1IZWlnaHR9cHhgKSxiZS5mb3JFYWNoKChaZSx0ZSk9Pnt0ZSE9PW5lJiYoWmUuY2xhc3NMaXN0LnJlbW92ZSgibW92ZS11cCIsIm1vdmUtZG93biIpLFplLnN0eWxlLnNldFByb3BlcnR5KCItLWl0ZW0taGVpZ2h0IixgJHt0aGlzLml0ZW1IZWlnaHR9cHhgKSxuZTx6ZT90ZT5uZSYmdGU8PXplJiZaZS5jbGFzc0xpc3QuYWRkKCJtb3ZlLXVwIik6bmU+emUmJnRlPj16ZSYmdGU8bmUmJlplLmNsYXNzTGlzdC5hZGQoIm1vdmUtZG93biIpKX0pfWhhbmRsZUdsb2JhbERyYWdFbmQoKXt0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdPdmVyKSx0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXI9bnVsbCksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ0VuZCksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQ9bnVsbCk7bGV0IGJlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKSxuZT1iZT8ucXVlcnlTZWxlY3RvckFsbCgiLmxpc3QtaXRlbSIpLHplPW5lPy5bdGhpcy5kcmFnZ2VkSW5kZXhdO2lmKHRoaXMuZHJhZ2dlZEluZGV4PT09LTF8fHRoaXMudGFyZ2V0SW5kZXg9PT0tMXx8dGhpcy5kcmFnZ2VkSW5kZXg9PT10aGlzLnRhcmdldEluZGV4KXtpZih6ZSYmdGhpcy5kcmFnZ2VkSW5kZXghPT0tMSl7emUuc3R5bGUudHJhbnNpdGlvbj0idHJhbnNmb3JtIDAuMTVzIGVhc2UiLHplLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgwKSI7bGV0IHhlPSExLEFlPSgpPT57eGV8fCh4ZT0hMCx6ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixBZSksdGhpcy5jbGVhbnVwRHJhZ1N0YXRlKGJlLG5lKSl9O3plLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLEFlLHtvbmNlOiEwfSksc2V0VGltZW91dChBZSwyMDApfWVsc2UgdGhpcy5jbGVhbnVwRHJhZ1N0YXRlKGJlLG5lKTtyZXR1cm59bGV0IEllPXRoaXMub3JpZ2luYWxJdGVtUmVjdHNbdGhpcy5kcmFnZ2VkSW5kZXhdLFplPXRoaXMub3JpZ2luYWxJdGVtUmVjdHNbdGhpcy50YXJnZXRJbmRleF07aWYoIUllfHwhWmV8fCF6ZSl7dGhpcy5jbGVhbnVwRHJhZ1N0YXRlKGJlLG5lKTtyZXR1cm59bGV0IHRlO3RoaXMudGFyZ2V0SW5kZXg+dGhpcy5kcmFnZ2VkSW5kZXg/dGU9WmUuYm90dG9tLUllLmJvdHRvbTp0ZT1aZS50b3AtSWUudG9wLHplLnN0eWxlLnRyYW5zaXRpb249InRyYW5zZm9ybSAwLjE1cyBlYXNlIix6ZS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZVkoJHt0ZX1weClgO2xldCBYPSExLGVlPSgpPT57aWYoWClyZXR1cm47WD0hMCx6ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixlZSksYmU/LmNsYXNzTGlzdC5hZGQoImRyb3BwaW5nIiksYmU/Lm9mZnNldEhlaWdodCxuZT8uZm9yRWFjaChVZT0+e1VlLmNsYXNzTGlzdC5yZW1vdmUoIm1vdmUtdXAiLCJtb3ZlLWRvd24iLCJkcmFnZ2luZyIpLFVlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2Zvcm0iKSxVZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNpdGlvbiIpfSk7bGV0IHhlPVsuLi50aGlzLnZhbHVlXSxbQWVdPXhlLnNwbGljZSh0aGlzLmRyYWdnZWRJbmRleCwxKTt4ZS5zcGxpY2UodGhpcy50YXJnZXRJbmRleCwwLEFlKSx0aGlzLnZhbHVlPXhlLHRoaXMuZW1pdENoYW5nZSgpLHRoaXMuZHJhZ2dlZEluZGV4PS0xLHRoaXMuZHJhZ092ZXJJbmRleD0tMSx0aGlzLnRhcmdldEluZGV4PS0xLHRoaXMuZHJhZ1N0YXJ0WT0wLHRoaXMuZHJhZ0N1cnJlbnRZPTAsdGhpcy5vcmlnaW5hbEl0ZW1SZWN0cz1bXSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgVWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIubGlzdC1pdGVtIik7VWU/LmZvckVhY2goa3Q9PntrdC5zdHlsZS50cmFuc2l0aW9uPSJub25lIn0pLHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKT8ub2Zmc2V0SGVpZ2h0LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e1VlPy5mb3JFYWNoKGt0PT57a3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKX0pLGJlPy5jbGFzc0xpc3QucmVtb3ZlKCJkcm9wcGluZyIsImlzLWRyYWdnaW5nIil9KX0pfTt6ZS5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixlZSx7b25jZTohMH0pLHNldFRpbWVvdXQoZWUsMjAwKX1jbGVhbnVwRHJhZ1N0YXRlKGJlLG5lKXtiZT8uY2xhc3NMaXN0LmFkZCgiZHJvcHBpbmciKSxiZT8ub2Zmc2V0SGVpZ2h0LG5lPy5mb3JFYWNoKHplPT57emUuY2xhc3NMaXN0LnJlbW92ZSgibW92ZS11cCIsIm1vdmUtZG93biIsImRyYWdnaW5nIiksemUuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zZm9ybSIpLHplLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2l0aW9uIil9KSx0aGlzLmRyYWdnZWRJbmRleD0tMSx0aGlzLmRyYWdPdmVySW5kZXg9LTEsdGhpcy50YXJnZXRJbmRleD0tMSx0aGlzLmRyYWdTdGFydFk9MCx0aGlzLmRyYWdDdXJyZW50WT0wLHRoaXMub3JpZ2luYWxJdGVtUmVjdHM9W10sdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IHplPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLmxpc3QtaXRlbSIpO3plPy5mb3JFYWNoKEllPT57SWUuc3R5bGUudHJhbnNpdGlvbj0ibm9uZSJ9KSx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIik/Lm9mZnNldEhlaWdodCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt6ZT8uZm9yRWFjaChJZT0+e0llLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2l0aW9uIil9KSxiZT8uY2xhc3NMaXN0LnJlbW92ZSgiZHJvcHBpbmciLCJpcy1kcmFnZ2luZyIpfSl9KX1oYW5kbGVEcmFnRW5kKCl7dGhpcy5oYW5kbGVHbG9iYWxEcmFnRW5kKCl9aGFuZGxlRHJhZ092ZXIoYmUsbmUpeyF0aGlzLnNvcnRhYmxlfHx0aGlzLmRpc2FibGVkfHwoYmUucHJldmVudERlZmF1bHQoKSxiZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0ibW92ZSIpfWhhbmRsZURyYWdMZWF2ZSgpe31oYW5kbGVEcm9wKGJlLG5lKXshdGhpcy5zb3J0YWJsZXx8dGhpcy5kaXNhYmxlZHx8YmUucHJldmVudERlZmF1bHQoKX1lbWl0Q2hhbmdlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2hhbmdlIix7ZGV0YWlsOnt2YWx1ZTp0aGlzLnZhbHVlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoYmUpe3RoaXMudmFsdWU9YmV8fFtdfWFzeW5jIHZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucmVxdWlyZWQmJighdGhpcy52YWx1ZXx8dGhpcy52YWx1ZS5sZW5ndGg9PT0wKT8odGhpcy52YWxpZGF0aW9uVGV4dD0iQXQgbGVhc3Qgb25lIGl0ZW0gaXMgcmVxdWlyZWQiLCExKTp0aGlzLm1pbkl0ZW1zJiZ0aGlzLnZhbHVlLmxlbmd0aDx0aGlzLm1pbkl0ZW1zPyh0aGlzLnZhbGlkYXRpb25UZXh0PWBBdCBsZWFzdCAke3RoaXMubWluSXRlbXN9IGl0ZW1zIHJlcXVpcmVkYCwhMSk6KHRoaXMudmFsaWRhdGlvblRleHQ9IiIsITApfXN0YXRpY3tjcihhLHIpfX07cmV0dXJuIENlPWF9KSgpfSk7dmFyIEw0cj1mKCgpPT57XzRyKCl9KTt2YXIgJDRyPWYoKCk9PntzNmUoKX0pO3ZhciBENHI9ZigoKT0+e282ZSgpfSk7dmFyIEE0cj1mKCgpPT57SmRlKCl9KTt2YXIgRTRyPWYoKCk9PntnRigpfSk7dmFyIEk0cixQNHI9ZigoKT0+e3VlKCk7aGEoKTtBNmUoKTtPaSgpO0k0cj0oKT0+TWAKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtKYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2YzZjRmNjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjMzc0MTUxOwogICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYzJjOwogICAgICAgICAgICBjb2xvcjogI2U0ZTRlNzsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIxLiBCYXNpYyBSaWNoIFRleHQgRWRpdG9yIn0gLnN1YnRpdGxlPSR7IkEgZnVsbC1mZWF0dXJlZCByaWNoIHRleHQgZWRpdG9yIHdpdGggZm9ybWF0dGluZyB0b29sYmFyIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICAubGFiZWw9JHsiQXJ0aWNsZSBDb250ZW50In0gCiAgICAgICAgICAudmFsdWU9JHsnPGgxPldlbGNvbWUgdG8gdGhlIFJpY2ggVGV4dCBFZGl0b3IhPC9oMT48cD5UaGlzIGlzIGEgZmVhdHVyZS1yaWNoIGVkaXRvciBidWlsdCB3aXRoIFRpcFRhcC4gWW91IGNhbjo8L3A+PHVsPjxsaT48c3Ryb25nPkZvcm1hdCB0ZXh0PC9zdHJvbmc+IHdpdGggPGVtPnZhcmlvdXM8L2VtPiA8dT5zdHlsZXM8L3U+PC9saT48bGk+Q3JlYXRlIGRpZmZlcmVudCBoZWFkaW5nIGxldmVsczwvbGk+PGxpPkFkZCA8YSBocmVmPSJodHRwczovL2V4YW1wbGUuY29tIj5saW5rczwvYT4gdG8gZXh0ZXJuYWwgcmVzb3VyY2VzPC9saT48bGk+V3JpdGUgPGNvZGU+aW5saW5lIGNvZGU8L2NvZGU+IG9yIGNvZGUgYmxvY2tzPC9saT48L3VsPjxibG9ja3F1b3RlPjxwPlVzZSB0aGUgdG9vbGJhciBhYm92ZSB0byBleHBsb3JlIGFsbCB0aGUgZm9ybWF0dGluZyBvcHRpb25zIGF2YWlsYWJsZSE8L3A+PC9ibG9ja3F1b3RlPjxwPlN0YXJ0IHR5cGluZyB0byBzZWUgdGhlIG1hZ2ljIGhhcHBlbi4uLjwvcD4nfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlVzZSB0aGUgdG9vbGJhciB0byBmb3JtYXQgeW91ciBjb250ZW50IHdpdGggaGVhZGluZ3MsIGxpc3RzLCBsaW5rcywgYW5kIG1vcmUifQogICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMH0KICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gV2l0aCBQbGFjZWhvbGRlciJ9IC5zdWJ0aXRsZT0keyJFbXB0eSBlZGl0b3Igd2l0aCBwbGFjZWhvbGRlciB0ZXh0In0+CiAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICAubGFiZWw9JHsiQmxvZyBQb3N0In0gCiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiU3RhcnQgd3JpdGluZyB5b3VyIGJsb2cgcG9zdCBoZXJlLi4uIn0KICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIERpZmZlcmVudCBIZWlnaHRzIn0gLnN1YnRpdGxlPSR7IkVkaXRvcnMgd2l0aCBkaWZmZXJlbnQgbWluaW11bSBoZWlnaHRzIGZvciB2YXJpb3VzIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiU2hvcnQgTm90ZSJ9IAogICAgICAgICAgICAubWluSGVpZ2h0PSR7MTUwfQogICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiUXVpY2sgbm90ZS4uLiJ9CiAgICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgICAgLmxhYmVsPSR7IkV4dGVuZGVkIENvbnRlbnQifSAKICAgICAgICAgICAgLm1pbkhlaWdodD0kezMwMH0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IldyaXRlIHlvdXIgZXh0ZW5kZWQgY29udGVudCBoZXJlLi4uIn0KICAgICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBDb2RlIEV4YW1wbGVzIn0gLnN1YnRpdGxlPSR7IkVkaXRvciBwcmUtZmlsbGVkIHdpdGggY29kZSBleGFtcGxlcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgLmxhYmVsPSR7IlRlY2huaWNhbCBEb2N1bWVudGF0aW9uIn0gCiAgICAgICAgICAudmFsdWU9JHsnPGgyPkluc3RhbGxhdGlvbiBHdWlkZTwvaDI+PHA+VG8gaW5zdGFsbCB0aGUgcGFja2FnZSwgcnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZDo8L3A+PHByZT48Y29kZT5ucG0gaW5zdGFsbCBAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2c8L2NvZGU+PC9wcmU+PHA+VGhlbiBpbXBvcnQgdGhlIGNvbXBvbmVudCBpbiB5b3VyIFR5cGVTY3JpcHQgZmlsZTo8L3A+PHByZT48Y29kZT5pbXBvcnQgeyBEZWVzSW5wdXRSaWNodGV4dCB9IGZyb20gIkBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZyI7PC9jb2RlPjwvcHJlPjxwPllvdSBjYW4gbm93IHVzZSB0aGUgPGNvZGU+Jmx0O2RlZXMtaW5wdXQtcmljaHRleHQmZ3Q7PC9jb2RlPiBlbGVtZW50IGluIHlvdXIgdGVtcGxhdGVzLjwvcD4nfQogICAgICAgICAgLm1pbkhlaWdodD0kezI1MH0KICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIERpc2FibGVkIFN0YXRlIn0gLnN1YnRpdGxlPSR7IlJlYWQtb25seSByaWNoIHRleHQgY29udGVudCJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgLmxhYmVsPSR7IlB1Ymxpc2hlZCBBcnRpY2xlIChSZWFkIE9ubHkpIn0gCiAgICAgICAgICAudmFsdWU9JHsnPGgyPlRoZSBGdXR1cmUgb2YgV2ViIENvbXBvbmVudHM8L2gyPjxwPldlYiBDb21wb25lbnRzIGhhdmUgcmV2b2x1dGlvbml6ZWQgaG93IHdlIGJ1aWxkIG1vZGVybiB3ZWIgYXBwbGljYXRpb25zLi4uPC9wPjxibG9ja3F1b3RlPjxwPiJUaGUgZnV0dXJlIG9mIHdlYiBkZXZlbG9wbWVudCBsaWVzIGluIHJldXNhYmxlLCBlbmNhcHN1bGF0ZWQgY29tcG9uZW50cy4iPC9wPjwvYmxvY2txdW90ZT4nfQogICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBJbnRlcmFjdGl2ZSBEZW1vIn0gLnN1YnRpdGxlPSR7IlR5cGUgaW4gdGhlIGVkaXRvciBiZWxvdyBhbmQgc2VlIHRoZSBIVE1MIG91dHB1dCJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgaWQ9ImludGVyYWN0aXZlLWVkaXRvciIKICAgICAgICAgIC5sYWJlbD0keyJUcnkgaXQgeW91cnNlbGYifSAKICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJUeXBlIHNvbWV0aGluZyBoZXJlLi4uIn0KICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgICBAY2hhbmdlPSR7ZT0+e2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNvdXRwdXQtcHJldmlldyIpO3QmJih0LnRleHRDb250ZW50PWUuZGV0YWlsLnZhbHVlKX19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtcHJldmlldyIgaWQ9Im91dHB1dC1wcmV2aWV3Ij4KICAgICAgICAgIDxlbT5IVE1MIG91dHB1dCB3aWxsIGFwcGVhciBoZXJlLi4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgfSk7dmFyIE40cixGNHI9ZigoKT0+e3VlKCk7U2EoKTtONHI9Wy4uLm50LmJhc2VTdHlsZXMscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZm9udC1mYW1pbHk6IEludGVyLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmxhYmVsIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTMuOSUpIil9OwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG1pbi1oZWlnaHQ6ICR7cC5iZFRoZW1lKCIyMDBweCIsIjIwMHB4Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGFpbmVyOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGFpbmVyLmZvY3VzZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSAvIDAuMDUpIiwiaHNsKDAgMCUgOTglIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItdG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItZGl2aWRlciB7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLW1pbi1oZWlnaHQsIDIwMHB4KTsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcCB7CiAgICAgICAgbWFyZ2luOiAwLjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHA6Zmlyc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGgxIHsKICAgICAgICBmb250LXNpemU6IDJlbTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBtYXJnaW46IDFlbSAwIDAuNWVtIDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBoMiB7CiAgICAgICAgZm9udC1zaXplOiAxLjVlbTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBtYXJnaW46IDFlbSAwIDAuNWVtIDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBoMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgbWFyZ2luOiAxZW0gMCAwLjVlbSAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgdWwsCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3Igb2wgewogICAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07CiAgICAgICAgbWFyZ2luOiAwLjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGxpIHsKICAgICAgICBtYXJnaW46IDAuMjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGJsb2NrcXVvdGUgewogICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBtYXJnaW46IDFlbSAwOwogICAgICAgIHBhZGRpbmctbGVmdDogMWVtOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBwYWRkaW5nOiAwLjJlbSAwLjRlbTsKICAgICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgJ0ZpcmEgQ29kZScsICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsICdSb2JvdG8gTW9ubycsIENvbnNvbGFzLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAwLjllbTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcHJlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxZW07CiAgICAgICAgbWFyZ2luOiAxZW0gMDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHByZSBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBhIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBhOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA0MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNjkuOCUpIil9OwogICAgICB9CgogICAgICAuZWRpdG9yLWZvb3RlciB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLndvcmQtY291bnQgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQuc2hvdyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0IGlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAzLjklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSAvIDAuMDUpIiwiaHNsKDAgMCUgOTglIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LWJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAubGluay1pbnB1dC1idXR0b25zIGJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQtYnV0dG9ucyBidXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAubGluay1pbnB1dC1idXR0b25zIGJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQtYnV0dG9ucyBidXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkzLjklKSIpfTsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5lZGl0b3ItY29udGFpbmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnRvb2xiYXItYnV0dG9uLAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuZWRpdG9yLWNvbnRlbnQgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICBgXX0pO3ZhciBPNHIsUjRyPWYoKCk9Pnt1ZSgpO080cj1lPT5NYAogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICAgJHtlLmxhYmVsP01gPGxhYmVsIGNsYXNzPSJsYWJlbCI+JHtlLmxhYmVsfTwvbGFiZWw+YDoiIn0KICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1jb250YWluZXIgJHtlLmVkaXRvcj8uaXNGb2N1c2VkPyJmb2N1c2VkIjoiIn0iIHN0eWxlPSItLW1pbi1oZWlnaHQ6ICR7ZS5taW5IZWlnaHR9cHgiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItdG9vbGJhciI+CiAgICAgICAgICAgICAgJHtlLnJlbmRlclRvb2xiYXIoKX0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5rLWlucHV0ICR7ZS5zaG93TGlua0lucHV0PyJzaG93IjoiIn0iPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InVybCIgcGxhY2Vob2xkZXI9IkVudGVyIFVSTC4uLiIgQGtleWRvd249JHtlLmhhbmRsZUxpbmtJbnB1dEtleWRvd259IC8+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5rLWlucHV0LWJ1dHRvbnMiPgogICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJwcmltYXJ5IiBAY2xpY2s9JHtlLnNhdmVMaW5rfT5TYXZlPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSR7ZS5yZW1vdmVMaW5rfT5SZW1vdmU8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHtlLmhpZGVMaW5rSW5wdXR9PkNhbmNlbDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItY29udGVudCI+PC9kaXY+CiAgICAgICAgICAgICR7ZS5zaG93V29yZENvdW50P01gCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1mb290ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3b3JkLWNvdW50Ij4ke2Uud29yZENvdW50fSB3b3JkJHtlLndvcmRDb3VudCE9PTE/InMiOiIifTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke2UuZGVzY3JpcHRpb24/TWA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+JHtlLmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIGB9KTt2YXIgbHUsdHMsQjRyLEE2ZT1mKCgpPT57U2EoKTtQNHIoKTtGNHIoKTtSNHIoKTtpcigpO3VlKCk7dDMoKTtsdT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LHRzPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxCNHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLWlucHV0LXJpY2h0ZXh0IildLHQscj1bXSxhLGk9bnQsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W107dmFyIE89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBEPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpCb29sZWFufSldLHY9W0Yoe3R5cGU6TnVtYmVyfSldLHk9W3NlKCldLFI9W3NlKCldLGx1KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJ2YWx1ZSJpbiBOLGdldDpOPT5OLnZhbHVlLHNldDooTixxKT0+e04udmFsdWU9cX19LG1ldGFkYXRhOkR9LHMsbyksbHUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwbGFjZWhvbGRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+InBsYWNlaG9sZGVyImluIE4sZ2V0Ok49Pk4ucGxhY2Vob2xkZXIsc2V0OihOLHEpPT57Ti5wbGFjZWhvbGRlcj1xfX0sbWV0YWRhdGE6RH0sbCx1KSxsdSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dXb3JkQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJzaG93V29yZENvdW50ImluIE4sZ2V0Ok49Pk4uc2hvd1dvcmRDb3VudCxzZXQ6KE4scSk9PntOLnNob3dXb3JkQ291bnQ9cX19LG1ldGFkYXRhOkR9LGgsbSksbHUodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5IZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJtaW5IZWlnaHQiaW4gTixnZXQ6Tj0+Ti5taW5IZWlnaHQsc2V0OihOLHEpPT57Ti5taW5IZWlnaHQ9cX19LG1ldGFkYXRhOkR9LGIsZyksbHUodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TGlua0lucHV0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4ic2hvd0xpbmtJbnB1dCJpbiBOLGdldDpOPT5OLnNob3dMaW5rSW5wdXQsc2V0OihOLHEpPT57Ti5zaG93TGlua0lucHV0PXF9fSxtZXRhZGF0YTpEfSx3LGspLGx1KHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid29yZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4id29yZENvdW50ImluIE4sZ2V0Ok49Pk4ud29yZENvdW50LHNldDooTixxKT0+e04ud29yZENvdW50PXF9fSxtZXRhZGF0YTpEfSxDLFMpLGx1KG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOkR9LG51bGwsciksTz1hPXQudmFsdWUsRCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpEfSl9c3RhdGljIGRlbW89STRyO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT10cyh0aGlzLHMsIiIpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShEKXt0aGlzLiNlPUR9I3Q9KHRzKHRoaXMsbyksdHModGhpcyxsLCIiKSk7Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBsYWNlaG9sZGVyKEQpe3RoaXMuI3Q9RH0jcj0odHModGhpcyx1KSx0cyh0aGlzLGgsITApKTtnZXQgc2hvd1dvcmRDb3VudCgpe3JldHVybiB0aGlzLiNyfXNldCBzaG93V29yZENvdW50KEQpe3RoaXMuI3I9RH0jYT0odHModGhpcyxtKSx0cyh0aGlzLGIsMjAwKSk7Z2V0IG1pbkhlaWdodCgpe3JldHVybiB0aGlzLiNhfXNldCBtaW5IZWlnaHQoRCl7dGhpcy4jYT1EfSNpPSh0cyh0aGlzLGcpLHRzKHRoaXMsdywhMSkpO2dldCBzaG93TGlua0lucHV0KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNob3dMaW5rSW5wdXQoRCl7dGhpcy4jaT1EfSNuPSh0cyh0aGlzLGspLHRzKHRoaXMsQywwKSk7Z2V0IHdvcmRDb3VudCgpe3JldHVybiB0aGlzLiNufXNldCB3b3JkQ291bnQoRCl7dGhpcy4jbj1EfWVkaXRvckVsZW1lbnQ9dHModGhpcyxTKTtsaW5rSW5wdXRFbGVtZW50O3RpcHRhcEJ1bmRsZT1udWxsO2VkaXRvcjtzdGF0aWMgc3R5bGVzPU40cjtyZW5kZXIoKXtyZXR1cm4gTzRyKHRoaXMpfXJlbmRlclRvb2xiYXIoKXtsZXQgRD10aGlzLmdldFRvb2xiYXJCdXR0b25zKCk7cmV0dXJuIE1gCiAgICAgICR7RC5tYXAoTj0+Ti5pc0RpdmlkZXI/TWA8ZGl2IGNsYXNzPSJ0b29sYmFyLWRpdmlkZXIiPjwvZGl2PmA6TWAKICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uICR7Ti5pc0FjdGl2ZT8uKCk/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICBAY2xpY2s9JHtOLmFjdGlvbn0KICAgICAgICAgICAgdGl0bGU9JHtOLnRpdGxlfQogICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfHwhdGhpcy5lZGl0b3J9CiAgICAgICAgICA+CiAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHtOLmljb259PjwvZGVlcy1pY29uPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgYCl9CiAgICBgfWdldFRvb2xiYXJCdXR0b25zKCl7cmV0dXJuIHRoaXMuZWRpdG9yP1t7bmFtZToiYm9sZCIsaWNvbjoibHVjaWRlOmJvbGQiLHRpdGxlOiJCb2xkIChDdHJsK0IpIixhY3Rpb246KCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCb2xkKCkucnVuKCksaXNBY3RpdmU6KCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJib2xkIil9LHtuYW1lOiJpdGFsaWMiLGljb246Imx1Y2lkZTppdGFsaWMiLHRpdGxlOiJJdGFsaWMgKEN0cmwrSSkiLGFjdGlvbjooKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUl0YWxpYygpLnJ1bigpLGlzQWN0aXZlOigpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgiaXRhbGljIil9LHtuYW1lOiJ1bmRlcmxpbmUiLGljb246Imx1Y2lkZTp1bmRlcmxpbmUiLHRpdGxlOiJVbmRlcmxpbmUgKEN0cmwrVSkiLGFjdGlvbjooKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZVVuZGVybGluZSgpLnJ1bigpLGlzQWN0aXZlOigpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgidW5kZXJsaW5lIil9LHtuYW1lOiJzdHJpa2UiLGljb246Imx1Y2lkZTpzdHJpa2V0aHJvdWdoIix0aXRsZToiU3RyaWtldGhyb3VnaCIsYWN0aW9uOigpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlU3RyaWtlKCkucnVuKCksaXNBY3RpdmU6KCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJzdHJpa2UiKX0se25hbWU6ImRpdmlkZXIxIix0aXRsZToiIixpc0RpdmlkZXI6ITB9LHtuYW1lOiJoMSIsaWNvbjoibHVjaWRlOmhlYWRpbmcxIix0aXRsZToiSGVhZGluZyAxIixhY3Rpb246KCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVIZWFkaW5nKHtsZXZlbDoxfSkucnVuKCksaXNBY3RpdmU6KCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJoZWFkaW5nIix7bGV2ZWw6MX0pfSx7bmFtZToiaDIiLGljb246Imx1Y2lkZTpoZWFkaW5nMiIsdGl0bGU6IkhlYWRpbmcgMiIsYWN0aW9uOigpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlSGVhZGluZyh7bGV2ZWw6Mn0pLnJ1bigpLGlzQWN0aXZlOigpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgiaGVhZGluZyIse2xldmVsOjJ9KX0se25hbWU6ImgzIixpY29uOiJsdWNpZGU6aGVhZGluZzMiLHRpdGxlOiJIZWFkaW5nIDMiLGFjdGlvbjooKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjN9KS5ydW4oKSxpc0FjdGl2ZTooKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDozfSl9LHtuYW1lOiJkaXZpZGVyMiIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToiYnVsbGV0TGlzdCIsaWNvbjoibHVjaWRlOmxpc3QiLHRpdGxlOiJCdWxsZXQgTGlzdCIsYWN0aW9uOigpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQnVsbGV0TGlzdCgpLnJ1bigpLGlzQWN0aXZlOigpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgiYnVsbGV0TGlzdCIpfSx7bmFtZToib3JkZXJlZExpc3QiLGljb246Imx1Y2lkZTpsaXN0T3JkZXJlZCIsdGl0bGU6Ik51bWJlcmVkIExpc3QiLGFjdGlvbjooKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZU9yZGVyZWRMaXN0KCkucnVuKCksaXNBY3RpdmU6KCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJvcmRlcmVkTGlzdCIpfSx7bmFtZToiYmxvY2txdW90ZSIsaWNvbjoibHVjaWRlOnF1b3RlIix0aXRsZToiUXVvdGUiLGFjdGlvbjooKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUJsb2NrcXVvdGUoKS5ydW4oKSxpc0FjdGl2ZTooKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImJsb2NrcXVvdGUiKX0se25hbWU6ImNvZGUiLGljb246Imx1Y2lkZTpjb2RlIix0aXRsZToiQ29kZSIsYWN0aW9uOigpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQ29kZSgpLnJ1bigpLGlzQWN0aXZlOigpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgiY29kZSIpfSx7bmFtZToiY29kZUJsb2NrIixpY29uOiJsdWNpZGU6ZmlsZUNvZGUiLHRpdGxlOiJDb2RlIEJsb2NrIixhY3Rpb246KCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVDb2RlQmxvY2soKS5ydW4oKSxpc0FjdGl2ZTooKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImNvZGVCbG9jayIpfSx7bmFtZToiZGl2aWRlcjMiLHRpdGxlOiIiLGlzRGl2aWRlcjohMH0se25hbWU6ImxpbmsiLGljb246Imx1Y2lkZTpsaW5rIix0aXRsZToiQWRkIExpbmsiLGFjdGlvbjooKT0+dGhpcy50b2dnbGVMaW5rKCksaXNBY3RpdmU6KCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJsaW5rIil9LHtuYW1lOiJhbGlnbkxlZnQiLGljb246Imx1Y2lkZTphbGlnbkxlZnQiLHRpdGxlOiJBbGlnbiBMZWZ0IixhY3Rpb246KCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRUZXh0QWxpZ24oImxlZnQiKS5ydW4oKSxpc0FjdGl2ZTooKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoe3RleHRBbGlnbjoibGVmdCJ9KX0se25hbWU6ImFsaWduQ2VudGVyIixpY29uOiJsdWNpZGU6YWxpZ25DZW50ZXIiLHRpdGxlOiJBbGlnbiBDZW50ZXIiLGFjdGlvbjooKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbigiY2VudGVyIikucnVuKCksaXNBY3RpdmU6KCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKHt0ZXh0QWxpZ246ImNlbnRlciJ9KX0se25hbWU6ImFsaWduUmlnaHQiLGljb246Imx1Y2lkZTphbGlnblJpZ2h0Iix0aXRsZToiQWxpZ24gUmlnaHQiLGFjdGlvbjooKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbigicmlnaHQiKS5ydW4oKSxpc0FjdGl2ZTooKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoe3RleHRBbGlnbjoicmlnaHQifSl9LHtuYW1lOiJkaXZpZGVyNCIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToidW5kbyIsaWNvbjoibHVjaWRlOnVuZG8iLHRpdGxlOiJVbmRvIChDdHJsK1opIixhY3Rpb246KCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS51bmRvKCkucnVuKCl9LHtuYW1lOiJyZWRvIixpY29uOiJsdWNpZGU6cmVkbyIsdGl0bGU6IlJlZG8gKEN0cmwrWSkiLGFjdGlvbjooKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnJlZG8oKS5ydW4oKX1dOltdfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy50aXB0YXBCdW5kbGU9YXdhaXQgZW4uZ2V0SW5zdGFuY2UoKS5sb2FkVGlwdGFwKCksdGhpcy5lZGl0b3JFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnQiKSx0aGlzLmxpbmtJbnB1dEVsZW1lbnQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5saW5rLWlucHV0IGlucHV0IiksdGhpcy5pbml0aWFsaXplRWRpdG9yKCl9aW5pdGlhbGl6ZUVkaXRvcigpe2lmKHRoaXMuZGlzYWJsZWR8fCF0aGlzLnRpcHRhcEJ1bmRsZSlyZXR1cm47bGV0e0VkaXRvcjpELFN0YXJ0ZXJLaXQ6TixVbmRlcmxpbmU6cSxUZXh0QWxpZ246XyxMaW5rOnosVHlwb2dyYXBoeTpFfT10aGlzLnRpcHRhcEJ1bmRsZTt0aGlzLmVkaXRvcj1uZXcgRCh7ZWxlbWVudDp0aGlzLmVkaXRvckVsZW1lbnQsZXh0ZW5zaW9uczpbTi5jb25maWd1cmUoe2hlYWRpbmc6e2xldmVsczpbMSwyLDNdfX0pLHEuY29uZmlndXJlKHt9KSxfLmNvbmZpZ3VyZSh7dHlwZXM6WyJoZWFkaW5nIiwicGFyYWdyYXBoIl19KSx6LmNvbmZpZ3VyZSh7b3Blbk9uQ2xpY2s6ITEsSFRNTEF0dHJpYnV0ZXM6e2NsYXNzOiJlZGl0b3ItbGluayJ9fSksRS5jb25maWd1cmUoe30pXSxjb250ZW50OnRoaXMudmFsdWV8fCh0aGlzLnBsYWNlaG9sZGVyP2A8cD4ke3RoaXMucGxhY2Vob2xkZXJ9PC9wPmA6IiIpLG9uVXBkYXRlOih7ZWRpdG9yOlR9KT0+e3RoaXMudmFsdWU9VC5nZXRIVE1MKCksdGhpcy51cGRhdGVXb3JkQ291bnQoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpbnB1dCIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9LG9uU2VsZWN0aW9uVXBkYXRlOigpPT57dGhpcy5yZXF1ZXN0VXBkYXRlKCl9LG9uRm9jdXM6KCk9Pnt0aGlzLnJlcXVlc3RVcGRhdGUoKX0sb25CbHVyOigpPT57dGhpcy5yZXF1ZXN0VXBkYXRlKCl9fSksdGhpcy51cGRhdGVXb3JkQ291bnQoKX11cGRhdGVXb3JkQ291bnQoKXtpZighdGhpcy5lZGl0b3IpcmV0dXJuO2xldCBEPXRoaXMuZWRpdG9yLmdldFRleHQoKTt0aGlzLndvcmRDb3VudD1ELnRyaW0oKT9ELnRyaW0oKS5zcGxpdCgvXHMrLykubGVuZ3RoOjB9dG9nZ2xlTGluaygpe2lmKHRoaXMuZWRpdG9yKWlmKHRoaXMuZWRpdG9yLmlzQWN0aXZlKCJsaW5rIikpe2xldCBEPXRoaXMuZWRpdG9yLmdldEF0dHJpYnV0ZXMoImxpbmsiKS5ocmVmO3RoaXMuc2hvd0xpbmtJbnB1dD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmxpbmtJbnB1dEVsZW1lbnQmJih0aGlzLmxpbmtJbnB1dEVsZW1lbnQudmFsdWU9RHx8IiIsdGhpcy5saW5rSW5wdXRFbGVtZW50LmZvY3VzKCksdGhpcy5saW5rSW5wdXRFbGVtZW50LnNlbGVjdCgpKX0pfWVsc2UgdGhpcy5zaG93TGlua0lucHV0PSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMubGlua0lucHV0RWxlbWVudCYmKHRoaXMubGlua0lucHV0RWxlbWVudC52YWx1ZT0iIix0aGlzLmxpbmtJbnB1dEVsZW1lbnQuZm9jdXMoKSl9KX1zYXZlTGluaygpe2lmKCF0aGlzLmVkaXRvcnx8IXRoaXMubGlua0lucHV0RWxlbWVudClyZXR1cm47bGV0IEQ9dGhpcy5saW5rSW5wdXRFbGVtZW50LnZhbHVlO0QmJnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRMaW5rKHtocmVmOkR9KS5ydW4oKSx0aGlzLmhpZGVMaW5rSW5wdXQoKX1yZW1vdmVMaW5rKCl7dGhpcy5lZGl0b3ImJih0aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudW5zZXRMaW5rKCkucnVuKCksdGhpcy5oaWRlTGlua0lucHV0KCkpfWhpZGVMaW5rSW5wdXQoKXt0aGlzLnNob3dMaW5rSW5wdXQ9ITEsdGhpcy5lZGl0b3I/LmNvbW1hbmRzLmZvY3VzKCl9aGFuZGxlTGlua0lucHV0S2V5ZG93bihEKXtELmtleT09PSJFbnRlciI/KEQucHJldmVudERlZmF1bHQoKSx0aGlzLnNhdmVMaW5rKCkpOkQua2V5PT09IkVzY2FwZSImJihELnByZXZlbnREZWZhdWx0KCksdGhpcy5oaWRlTGlua0lucHV0KCkpfXNldFZhbHVlKEQpe3RoaXMudmFsdWU9RCx0aGlzLmVkaXRvciYmRCE9PXRoaXMuZWRpdG9yLmdldEhUTUwoKSYmdGhpcy5lZGl0b3IuY29tbWFuZHMuc2V0Q29udGVudChEKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfWNsZWFyKCl7dGhpcy5zZXRWYWx1ZSgiIil9Zm9jdXMoKXt0aGlzLmVkaXRvcj8uY29tbWFuZHMuZm9jdXMoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5lZGl0b3ImJnRoaXMuZWRpdG9yLmRlc3Ryb3koKX1zdGF0aWN7dHMoYSxyKX19O3JldHVybiBPPWF9KSgpfSk7dmFyIEg0cj1mKCgpPT57QTZlKCl9KTt2YXIgcTRyPWYoKCk9Pnt9KTt2YXIgajRyPWYoKCk9PntxNHIoKX0pO3ZhciBWNHIsVTRyLFc0cj1mKCgpPT57dWUoKTtoYSgpO09pKCk7VTRyPSgpPT5NKFY0cnx8KFY0cj1MdShbYAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICBgLGAKICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgIC52YWx1ZT1gLGAKICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAuc3VnZ2VzdGlvbnM9YCxgCiAgICAgICAgICAudmFsdWU9YCxgCiAgICAgICAgICAuZGVzY3JpcHRpb249YCxgCiAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgLm1heFRhZ3M9YCxgCiAgICAgICAgICAgIC52YWx1ZT1gLGAKICAgICAgICAgICAgLmRlc2NyaXB0aW9uPWAsYAogICAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgICAubWF4VGFncz1gLGAKICAgICAgICAgICAgLnN1Z2dlc3Rpb25zPWAsYAogICAgICAgICAgICAudmFsdWU9YCxgCiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgIC5yZXF1aXJlZD1gLGAKICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAudmFsdWU9YCxgCiAgICAgICAgICAuZGlzYWJsZWQ9YCxgCiAgICAgICAgICAuZGVzY3JpcHRpb249YCxgCiAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAgIC5yZXF1aXJlZD1gLGAKICAgICAgICAgICAgLmtleT1gLGAKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgICAucmVxdWlyZWQ9YCxgCiAgICAgICAgICAgICAgLmtleT1gLGAKICAgICAgICAgICAgICAuc3VnZ2VzdGlvbnM9YCxgCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgICAgIC5rZXk9YCxgCiAgICAgICAgICAgICAgLm1heFRhZ3M9YCxgCiAgICAgICAgICAgICAgLnN1Z2dlc3Rpb25zPWAsYAogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAgIC5pbnB1dFR5cGU9YCxgCiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgLmtleT1gLGAKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9YCxgPjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIGlkPSJpbnRlcmFjdGl2ZS10YWdzIgogICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgLnN1Z2dlc3Rpb25zPWAsYAogICAgICAgICAgQGNoYW5nZT1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idGFnLXByZXZpZXciIGlkPSJ0YWdzLXByZXZpZXciPgogICAgICAgICAgPGVtIHN0eWxlPSJjb2xvcjogIzk5OTsiPk5vIHRhZ3MgYWRkZWQgeWV0Li4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtcHJldmlldyIgaWQ9InRhZ3MtanNvbiI+CiAgICAgICAgICA8ZW0+SlNPTiBvdXRwdXQgd2lsbCBhcHBlYXIgaGVyZS4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIFVwZGF0ZSBKU09OIHByZXZpZXcKICAgICAgICAgIGNvbnN0IHRhZ3NJbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNpbnRlcmFjdGl2ZS10YWdzJyk7CiAgICAgICAgICB0YWdzSW5wdXQ/LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgICAgICAgIGNvbnN0IGpzb25QcmV2aWV3ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhZ3MtanNvbicpOwogICAgICAgICAgICBpZiAoanNvblByZXZpZXcpIHsKICAgICAgICAgICAgICBqc29uUHJldmlldy50ZXh0Q29udGVudCA9IEpTT04uc3RyaW5naWZ5KGUuZGV0YWlsLnZhbHVlLCBudWxsLCAyKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgPFwvc2NyaXB0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmBdKSksSmAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogIzM3NDE1MTsKICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzJjMmMyYzsKICAgICAgICAgICAgY29sb3I6ICNlNGU0ZTc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC50YWctcHJldmlldyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2Y5ZmFmYjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAudGFnLXByZXZpZXcgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWYyOTM3OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAudGFnLXByZXZpZXctaXRlbSB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNlMGU3ZmY7CiAgICAgICAgICBjb2xvcjogIzQzMzhjYTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC50YWctcHJldmlldy1pdGVtIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzMxMmU4MTsKICAgICAgICAgICAgY29sb3I6ICNjN2QyZmU7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBgLCIxLiBCYXNpYyBUYWdzIElucHV0IiwiU2ltcGxlIHRhZyBpbnB1dCB3aXRoIGNvbW1vbiBwcm9ncmFtbWluZyBsYW5ndWFnZXMiLCJQcm9ncmFtbWluZyBMYW5ndWFnZXMiLCJBZGQgYSBsYW5ndWFnZS4uLiIsWyJKYXZhU2NyaXB0IiwiVHlwZVNjcmlwdCIsIlB5dGhvbiIsIkdvIl0sIlByZXNzIEVudGVyIG9yIGNvbW1hIHRvIGFkZCB0YWdzIiwiMi4gVGFncyB3aXRoIFN1Z2dlc3Rpb25zIiwiQXV0by1jb21wbGV0ZSBzdWdnZXN0aW9ucyBmb3IgZmFzdGVyIGlucHV0IiwiVGVjaCBTdGFjayIsIlR5cGUgdG8gc2VlIHN1Z2dlc3Rpb25zLi4uIixbIlJlYWN0IiwiVnVlIiwiQW5ndWxhciIsIlN2ZWx0ZSIsIkxpdCIsIk5leHQuanMiLCJOdXh0IiwiU3ZlbHRlS2l0IiwiTm9kZS5qcyIsIkRlbm8iLCJCdW4iLCJFeHByZXNzIiwiRmFzdGlmeSIsIk5lc3QuanMiLCJLb2EiLCJNb25nb0RCIiwiUG9zdGdyZVNRTCIsIlJlZGlzIiwiTXlTUUwiLCJTUUxpdGUiLCJDYXNzYW5kcmEiLCJEb2NrZXIiLCJLdWJlcm5ldGVzIiwiQVdTIiwiQXp1cmUiLCJHQ1AiLCJWZXJjZWwiLCJOZXRsaWZ5Il0sWyJSZWFjdCIsIk5vZGUuanMiLCJQb3N0Z3JlU1FMIiwiRG9ja2VyIl0sIlN0YXJ0IHR5cGluZyB0byBzZWUgc3VnZ2VzdGlvbnMgZnJvbSBwb3B1bGFyIHRlY2hub2xvZ2llcyIsIjMuIExpbWl0ZWQgVGFncyIsIlJlc3RyaWN0IHRoZSBudW1iZXIgb2YgdGFncyB1c2VycyBjYW4gYWRkIiwiVG9wIDMgU2tpbGxzIiwiQWRkIHVwIHRvIDMgc2tpbGxzLi4uIiwzLFsiRGVzaWduIiwiRGV2ZWxvcG1lbnQiXSwiTWF4aW11bSAzIHRhZ3MgYWxsb3dlZCIsIkNhdGVnb3JpZXMgKE1heCA1KSIsIlNlbGVjdCBjYXRlZ29yaWVzLi4uIiw1LFsiQmxvZyIsIlR1dG9yaWFsIiwiTmV3cyIsIlJldmlldyIsIkd1aWRlIiwiQ2FzZSBTdHVkeSIsIkludGVydmlldyJdLFsiVHV0b3JpYWwiLCJHdWlkZSJdLCJDaG9vc2UgdXAgdG8gNSBjYXRlZ29yaWVzIiwiNC4gUmVxdWlyZWQgJiBWYWxpZGF0aW9uIiwiVGFncyBpbnB1dCB3aXRoIHZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIiwiUHJvamVjdCBUYWdzIiwiQWRkIGF0IGxlYXN0IG9uZSB0YWcuLi4iLCEwLCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkIC0gYWRkIGF0IGxlYXN0IG9uZSB0YWciLCI1LiBEaXNhYmxlZCBTdGF0ZSIsIlJlYWQtb25seSB0YWdzIGRpc3BsYXkiLCJTeXN0ZW0gVGFncyIsWyJTeXN0ZW0iLCJQcm90ZWN0ZWQiLCJSZWFkLU9ubHkiLCJBcmNoaXZlIl0sITAsIlRoZXNlIHRhZ3MgY2Fubm90IGJlIG1vZGlmaWVkIiwiNi4gRm9ybSBJbnRlZ3JhdGlvbiIsIlRhZ3MgaW5wdXQgd29ya2luZyB3aXRoaW4gYSBmb3JtIGNvbnRleHQiLCJQcm9qZWN0IE5hbWUiLCJNeSBBd2Vzb21lIFByb2plY3QiLCEwLCJuYW1lIiwiVGVjaG5vbG9naWVzIFVzZWQiLCJBZGQgdGVjaG5vbG9naWVzLi4uIiwhMCwidGVjaG5vbG9naWVzIixbIlR5cGVTY3JpcHQiLCJKYXZhU2NyaXB0IiwiUHl0aG9uIiwiR28iLCJSdXN0IiwiUmVhY3QiLCJWdWUiLCJBbmd1bGFyIiwiU3ZlbHRlIiwiTm9kZS5qcyIsIkRlbm8iLCJFeHByZXNzIiwiRmFzdEFQSSJdLCJQcm9qZWN0IFRhZ3MiLCJBZGQgZGVzY3JpcHRpdmUgdGFncy4uLiIsInRhZ3MiLDEwLFsiZnJvbnRlbmQiLCJiYWNrZW5kIiwiZnVsbHN0YWNrIiwibW9iaWxlIiwiZGVza3RvcCIsIndlYiIsImFwaSIsImRhdGFiYXNlIiwiZGV2b3BzIiwidWkvdXgiLCJvcGVuc291cmNlIiwic2FhcyIsImVudGVycHJpc2UiLCJzdGFydHVwIl0sIkRlc2NyaXB0aW9uIiwidGV4dGFyZWEiLCJEZXNjcmliZSB5b3VyIHByb2plY3QuLi4iLCJkZXNjcmlwdGlvbiIsIkNyZWF0ZSBQcm9qZWN0IiwiNy4gSW50ZXJhY3RpdmUgRGVtbyIsIkFkZCB0YWdzIGFuZCBzZWUgdGhlbSBjb2xsZWN0ZWQgaW4gcmVhbC10aW1lIiwiWW91ciBJbnRlcmVzdHMiLCJUeXBlIHlvdXIgaW50ZXJlc3RzLi4uIixbIk11c2ljIiwiTW92aWVzIiwiQm9va3MiLCJUcmF2ZWwiLCJQaG90b2dyYXBoeSIsIkNvb2tpbmciLCJHYW1pbmciLCJTcG9ydHMiLCJBcnQiLCJUZWNobm9sb2d5IiwiRmFzaGlvbiIsIkZpdG5lc3MiLCJOYXR1cmUiLCJTY2llbmNlIiwiSGlzdG9yeSJdLGU9PntsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjdGFncy1wcmV2aWV3Iikscj1lLmRldGFpbC52YWx1ZTt0JiYoci5sZW5ndGg9PT0wP3QuaW5uZXJIVE1MPSc8ZW0gc3R5bGU9ImNvbG9yOiAjOTk5OyI+Tm8gdGFncyBhZGRlZCB5ZXQuLi48L2VtPic6dC5pbm5lckhUTUw9ci5tYXAoYT0+YDxzcGFuIGNsYXNzPSJ0YWctcHJldmlldy1pdGVtIj4ke2F9PC9zcGFuPmApLmpvaW4oIiIpKX0pfSk7dmFyIEljLHRuLEc0cixZNHI9ZigoKT0+e3VlKCk7U2EoKTtpcigpO1c0cigpO1FlKCk7SWM9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSx0bj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sRzRyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1pbnB1dC10YWdzIildLHQscj1bXSxhLGk9bnQsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W107dmFyIEU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBUPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6QXJyYXl9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpOdW1iZXJ9KV0sdj1bRih7dHlwZTpBcnJheX0pXSx5PVtzZSgpXSxSPVtzZSgpXSxPPVtzZSgpXSxxPVtGKHt0eXBlOlN0cmluZ30pXSxJYyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4idmFsdWUiaW4gTCxnZXQ6TD0+TC52YWx1ZSxzZXQ6KEwsVik9PntMLnZhbHVlPVZ9fSxtZXRhZGF0YTpUfSxzLG8pLEljKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJwbGFjZWhvbGRlciJpbiBMLGdldDpMPT5MLnBsYWNlaG9sZGVyLHNldDooTCxWKT0+e0wucGxhY2Vob2xkZXI9Vn19LG1ldGFkYXRhOlR9LGwsdSksSWModGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhUYWdzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4ibWF4VGFncyJpbiBMLGdldDpMPT5MLm1heFRhZ3Msc2V0OihMLFYpPT57TC5tYXhUYWdzPVZ9fSxtZXRhZGF0YTpUfSxoLG0pLEljKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VnZ2VzdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJzdWdnZXN0aW9ucyJpbiBMLGdldDpMPT5MLnN1Z2dlc3Rpb25zLHNldDooTCxWKT0+e0wuc3VnZ2VzdGlvbnM9Vn19LG1ldGFkYXRhOlR9LGIsZyksSWModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbnB1dFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4iaW5wdXRWYWx1ZSJpbiBMLGdldDpMPT5MLmlucHV0VmFsdWUsc2V0OihMLFYpPT57TC5pbnB1dFZhbHVlPVZ9fSxtZXRhZGF0YTpUfSx3LGspLEljKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1N1Z2dlc3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4ic2hvd1N1Z2dlc3Rpb25zImluIEwsZ2V0Okw9Pkwuc2hvd1N1Z2dlc3Rpb25zLHNldDooTCxWKT0+e0wuc2hvd1N1Z2dlc3Rpb25zPVZ9fSxtZXRhZGF0YTpUfSxDLFMpLEljKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJoaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleCJpbiBMLGdldDpMPT5MLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4LHNldDooTCxWKT0+e0wuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9Vn19LG1ldGFkYXRhOlR9LEQsTiksSWModGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6TD0+InZhbGlkYXRpb25UZXh0ImluIEwsZ2V0Okw9PkwudmFsaWRhdGlvblRleHQsc2V0OihMLFYpPT57TC52YWxpZGF0aW9uVGV4dD1WfX0sbWV0YWRhdGE6VH0sXyx6KSxJYyhudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpUfSxudWxsLHIpLEU9YT10LnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPVU0cjtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9dG4odGhpcyxzLFtdKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoVCl7dGhpcy4jZT1UfSN0PSh0bih0aGlzLG8pLHRuKHRoaXMsbCwiQWRkIHRhZ3MuLi4iKSk7Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBsYWNlaG9sZGVyKFQpe3RoaXMuI3Q9VH0jcj0odG4odGhpcyx1KSx0bih0aGlzLGgsMCkpO2dldCBtYXhUYWdzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IG1heFRhZ3MoVCl7dGhpcy4jcj1UfSNhPSh0bih0aGlzLG0pLHRuKHRoaXMsYixbXSkpO2dldCBzdWdnZXN0aW9ucygpe3JldHVybiB0aGlzLiNhfXNldCBzdWdnZXN0aW9ucyhUKXt0aGlzLiNhPVR9I2k9KHRuKHRoaXMsZyksdG4odGhpcyx3LCIiKSk7Z2V0IGlucHV0VmFsdWUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgaW5wdXRWYWx1ZShUKXt0aGlzLiNpPVR9I249KHRuKHRoaXMsayksdG4odGhpcyxDLCExKSk7Z2V0IHNob3dTdWdnZXN0aW9ucygpe3JldHVybiB0aGlzLiNufXNldCBzaG93U3VnZ2VzdGlvbnMoVCl7dGhpcy4jbj1UfSNzPSh0bih0aGlzLFMpLHRuKHRoaXMsRCwtMSkpO2dldCBoaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleCgpe3JldHVybiB0aGlzLiNzfXNldCBoaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleChUKXt0aGlzLiNzPVR9I289KHRuKHRoaXMsTiksdG4odGhpcyxfLCIiKSk7Z2V0IHZhbGlkYXRpb25UZXh0KCl7cmV0dXJuIHRoaXMuI299c2V0IHZhbGlkYXRpb25UZXh0KFQpe3RoaXMuI289VH1zdGF0aWMgc3R5bGVzPVtEZSwuLi5udC5iYXNlU3R5bGVzLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLnRhZ3MtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY3Vyc29yOiB0ZXh0OwogICAgICB9CgogICAgICAudGFncy1jb250YWluZXI6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQoKICAgICAgLnRhZ3MtY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7cC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLnRhZ3MtY29udGFpbmVyLmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLnRhZyB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElIC8gMC4yKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUgLyAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElIC8gMC4zKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUgLyAwLjMpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMThweDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBhbmltYXRpb246IHRhZ0FwcGVhciAwLjE1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHRhZ0FwcGVhciB7CiAgICAgICAgZnJvbSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQogICAgICB9CgogICAgICAudGFnLXJlbW92ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBtYXJnaW4tbGVmdDogMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDQ2LjclKSIsImhzbCgyMTcuOSAxMC42JSA1NC45JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWctcmVtb3ZlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA4KSIsImhzbCgwIDAlIDEwMCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDc0LjklKSIpfTsKICAgICAgfQoKICAgICAgLnRhZy1yZW1vdmUgZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgIH0KCiAgICAgIC50YWctaW5wdXQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAxMjBweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIHBhZGRpbmc6IDJweCA0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC50YWctaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgfQoKICAgICAgLnRhZy1pbnB1dDpkaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLyogU3VnZ2VzdGlvbnMgZHJvcGRvd24gKi8KICAgICAgLnN1Z2dlc3Rpb25zLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuc3VnZ2VzdGlvbnMtZHJvcGRvd24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggaHNsKDAgMCUgMCUgLyAwLjEpLCAwIDJweCA0cHggLTJweCBoc2woMCAwJSAwJSAvIDAuMSk7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICB9CgogICAgICAuc3VnZ2VzdGlvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAuc3VnZ2VzdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb24uaGlnaGxpZ2h0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFZhbGlkYXRpb24gc3R5bGVzICovCiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2UgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXJnaW4tdG9wOiA2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQoKICAgICAgLyogRGVzY3JpcHRpb24gc3R5bGVzICovCiAgICAgIC5kZXNjcmlwdGlvbiB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG1hcmdpbi10b3A6IDZweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAvKiBTY3JvbGxiYXIgc3R5bGluZyAqLwogICAgICAuc3VnZ2VzdGlvbnMtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICB9CgogICAgICAuc3VnZ2VzdGlvbnMtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb25zLWRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9ucy1kcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBUPXRoaXMuc3VnZ2VzdGlvbnMuZmlsdGVyKEw9PiF0aGlzLnZhbHVlLmluY2x1ZGVzKEwpJiZMLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5pbnB1dFZhbHVlLnRvTG93ZXJDYXNlKCkpKTtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP01gPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPmA6IiJ9CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ic3VnZ2VzdGlvbnMtY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9InRhZ3MtY29udGFpbmVyICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVDb250YWluZXJDbGlja30KICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlLm1hcChMPT5NYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhZyI+CiAgICAgICAgICAgICAgICA8c3Bhbj4ke0x9PC9zcGFuPgogICAgICAgICAgICAgICAgJHt0aGlzLmRpc2FibGVkPyIiOk1gCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhZy1yZW1vdmUiIEBjbGljaz0ke1Y9PnRoaXMucmVtb3ZlVGFnKFYsTCl9PgogICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgKX0KICAgICAgICAgICAgCiAgICAgICAgICAgICR7IXRoaXMuZGlzYWJsZWQmJighdGhpcy5tYXhUYWdzfHx0aGlzLnZhbHVlLmxlbmd0aDx0aGlzLm1heFRhZ3MpP01gCiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgY2xhc3M9InRhZy1pbnB1dCIKICAgICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0ke3RoaXMucGxhY2Vob2xkZXJ9CiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmlucHV0VmFsdWV9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZUlucHV0fQogICAgICAgICAgICAgICAgQGtleWRvd249JHt0aGlzLmhhbmRsZUtleURvd259CiAgICAgICAgICAgICAgICBAZm9jdXM9JHt0aGlzLmhhbmRsZUZvY3VzfQogICAgICAgICAgICAgICAgQGJsdXI9JHt0aGlzLmhhbmRsZUJsdXJ9CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAke3RoaXMuc2hvd1N1Z2dlc3Rpb25zJiZULmxlbmd0aD4wP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Z2dlc3Rpb25zLWRyb3Bkb3duIj4KICAgICAgICAgICAgICAke1QubWFwKChMLFYpPT5NYAogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0ic3VnZ2VzdGlvbiAke1Y9PT10aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PyJoaWdobGlnaHRlZCI6IiJ9IgogICAgICAgICAgICAgICAgICBAbW91c2Vkb3duPSR7Qj0+e0IucHJldmVudERlZmF1bHQoKSx0aGlzLmFkZFRhZyhMKX19CiAgICAgICAgICAgICAgICAgIEBtb3VzZWVudGVyPSR7KCk9PnRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9Vn0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgJHtMfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0P01gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uLW1lc3NhZ2UiPiR7dGhpcy52YWxpZGF0aW9uVGV4dH08L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIAogICAgICAgICR7dGhpcy5kZXNjcmlwdGlvbj9NYAogICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPiR7dGhpcy5kZXNjcmlwdGlvbn08L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlQ29udGFpbmVyQ2xpY2soVCl7aWYodGhpcy5kaXNhYmxlZClyZXR1cm47bGV0IEw9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudGFnLWlucHV0Iik7TCYmVC50YXJnZXQhPT1MJiZMLmZvY3VzKCl9aGFuZGxlSW5wdXQoVCl7bGV0IEw9VC50YXJnZXQ7aWYodGhpcy5pbnB1dFZhbHVlPUwudmFsdWUsdGhpcy5pbnB1dFZhbHVlLmluY2x1ZGVzKCIsIil8fHRoaXMuaW5wdXRWYWx1ZS5pbmNsdWRlcygiOyIpKXtsZXQgVj10aGlzLmlucHV0VmFsdWUucmVwbGFjZSgvWyw7XS9nLCIiKS50cmltKCk7ViYmdGhpcy5hZGRUYWcoVil9fWhhbmRsZUtleURvd24oVCl7bGV0IEw9VC50YXJnZXQ7aWYoVC5rZXk9PT0iRW50ZXIiKWlmKFQucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4Pj0wJiZ0aGlzLnNob3dTdWdnZXN0aW9ucyl7bGV0IFY9dGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIoQj0+IXRoaXMudmFsdWUuaW5jbHVkZXMoQikmJkIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKSkpO1ZbdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleF0mJnRoaXMuYWRkVGFnKFZbdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleF0pfWVsc2UgdGhpcy5pbnB1dFZhbHVlLnRyaW0oKSYmdGhpcy5hZGRUYWcodGhpcy5pbnB1dFZhbHVlLnRyaW0oKSk7ZWxzZSBpZihULmtleT09PSJCYWNrc3BhY2UiJiYhdGhpcy5pbnB1dFZhbHVlJiZ0aGlzLnZhbHVlLmxlbmd0aD4wKXRoaXMucmVtb3ZlVGFnKFQsdGhpcy52YWx1ZVt0aGlzLnZhbHVlLmxlbmd0aC0xXSk7ZWxzZSBpZihULmtleT09PSJBcnJvd0Rvd24iJiZ0aGlzLnNob3dTdWdnZXN0aW9ucyl7VC5wcmV2ZW50RGVmYXVsdCgpO2xldCBWPXRoaXMuc3VnZ2VzdGlvbnMuZmlsdGVyKEI9PiF0aGlzLnZhbHVlLmluY2x1ZGVzKEIpJiZCLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5pbnB1dFZhbHVlLnRvTG93ZXJDYXNlKCkpKS5sZW5ndGg7dGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD1NYXRoLm1pbih0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4KzEsVi0xKX1lbHNlIFQua2V5PT09IkFycm93VXAiJiZ0aGlzLnNob3dTdWdnZXN0aW9ucz8oVC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9TWF0aC5tYXgodGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleC0xLDApKTpULmtleT09PSJFc2NhcGUiJiYodGhpcy5zaG93U3VnZ2VzdGlvbnM9ITEsdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD0tMSl9aGFuZGxlRm9jdXMoKXt0aGlzLnN1Z2dlc3Rpb25zLmxlbmd0aD4wJiYodGhpcy5zaG93U3VnZ2VzdGlvbnM9ITApfWhhbmRsZUJsdXIoKXtzZXRUaW1lb3V0KCgpPT57dGhpcy5zaG93U3VnZ2VzdGlvbnM9ITEsdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD0tMX0sMjAwKX1hZGRUYWcoVCl7aWYoIVR8fHRoaXMudmFsdWUuaW5jbHVkZXMoVCl8fHRoaXMubWF4VGFncyYmdGhpcy52YWx1ZS5sZW5ndGg+PXRoaXMubWF4VGFncylyZXR1cm47dGhpcy52YWx1ZT1bLi4udGhpcy52YWx1ZSxUXSx0aGlzLmlucHV0VmFsdWU9IiIsdGhpcy5zaG93U3VnZ2VzdGlvbnM9ITEsdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD0tMTtsZXQgTD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWctaW5wdXQiKTtMJiYoTC52YWx1ZT0iIiksdGhpcy5lbWl0Q2hhbmdlKCl9cmVtb3ZlVGFnKFQsTCl7VC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnZhbHVlPXRoaXMudmFsdWUuZmlsdGVyKFY9PlYhPT1MKSx0aGlzLmVtaXRDaGFuZ2UoKX1lbWl0Q2hhbmdlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2hhbmdlIix7ZGV0YWlsOnt2YWx1ZTp0aGlzLnZhbHVlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoVCl7dGhpcy52YWx1ZT1UfHxbXX1hc3luYyB2YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJlcXVpcmVkJiYoIXRoaXMudmFsdWV8fHRoaXMudmFsdWUubGVuZ3RoPT09MCk/KHRoaXMudmFsaWRhdGlvblRleHQ9IkF0IGxlYXN0IG9uZSB0YWcgaXMgcmVxdWlyZWQiLCExKToodGhpcy52YWxpZGF0aW9uVGV4dD0iIiwhMCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRuKHRoaXMseil9c3RhdGlje3RuKGEscil9fTtyZXR1cm4gRT1hfSkoKX0pO3ZhciBaNHI9ZigoKT0+e1k0cigpfSk7dmFyIFg0cj1mKCgpPT57UTQoKX0pO3ZhciBRNHI9ZigoKT0+e2M2ZSgpfSk7dmFyIEo0cj1mKCgpPT57dTZlKCl9KTt2YXIgSlFyLEtRcixlSnIsdEpyLHJKcixhSnIsaUpyLEs0cixlM3I9ZigoKT0+e3VlKCk7aGEoKTtPaSgpO0pRcj0oKT0+e2xldCBlPURhdGUubm93KCk7cmV0dXJuW3tpZDpgdGl0bGUtJHtlfWAsdHlwZToiaGVhZGluZy0xIixjb250ZW50OiJTeXN0ZW0gUGVyZm9ybWFuY2UgUmVwb3J0In0se2lkOmBkYXRlLSR7ZSsxfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OmBHZW5lcmF0ZWQgb246ICR7bmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygpfWB9LHtpZDpgc3VtbWFyeS1oZWFkaW5nLSR7ZSsyfWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJFeGVjdXRpdmUgU3VtbWFyeSJ9LHtpZDpgc3VtbWFyeS0ke2UrM31gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiVGhpcyByZXBvcnQgcHJvdmlkZXMgYW4gYW5hbHlzaXMgb2Ygc3lzdGVtIHBlcmZvcm1hbmNlIG1ldHJpY3Mgb3ZlciB0aGUgbGFzdCAzMCBkYXlzLiJ9LHtpZDpgbWV0cmljcy1oZWFkaW5nLSR7ZSs0fWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJLZXkgTWV0cmljcyJ9LHtpZDpgbWV0cmljcy1saXN0LSR7ZSs1fWAsdHlwZToibGlzdCIsY29udGVudDpgQXZlcmFnZSByZXNwb25zZSB0aW1lOiAxMjRtcwpVcHRpbWU6IDk5Ljk3JQpDUFUgdXRpbGl6YXRpb246IDQ1JQpNZW1vcnkgdXNhZ2U6IDIuM0dCIC8gOEdCYCxtZXRhZGF0YTp7bGlzdFR5cGU6ImJ1bGxldCJ9fSx7aWQ6YGFuYWx5c2lzLWhlYWRpbmctJHtlKzZ9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6IlBlcmZvcm1hbmNlIEFuYWx5c2lzIn0se2lkOmBhbmFseXNpcy1xdW90ZS0ke2UrN31gLHR5cGU6InF1b3RlIixjb250ZW50OiJTeXN0ZW0gcGVyZm9ybWFuY2UgcmVtYWlucyB3aXRoaW4gYWNjZXB0YWJsZSBwYXJhbWV0ZXJzIHdpdGggcm9vbSBmb3Igb3B0aW1pemF0aW9uIGluIG1lbW9yeSBtYW5hZ2VtZW50LiJ9LHtpZDpgY29kZS1oZWFkaW5nLSR7ZSs4fWAsdHlwZToiaGVhZGluZy0zIixjb250ZW50OiJTYW1wbGUgUXVlcnkgUGVyZm9ybWFuY2UifSx7aWQ6YGNvZGUtYmxvY2stJHtlKzl9YCx0eXBlOiJjb2RlIixjb250ZW50OmBTRUxFQ1QgQVZHKHJlc3BvbnNlX3RpbWUpIGFzIGF2Z190aW1lLAogICAgICAgQ09VTlQoKikgYXMgdG90YWxfcmVxdWVzdHMsCiAgICAgICBEQVRFKGNyZWF0ZWRfYXQpIGFzIGRhdGUKRlJPTSBwZXJmb3JtYW5jZV9sb2dzCldIRVJFIGNyZWF0ZWRfYXQgPj0gTk9XKCkgLSBJTlRFUlZBTCAzMCBEQVkKR1JPVVAgQlkgREFURShjcmVhdGVkX2F0KQpPUkRFUiBCWSBkYXRlIERFU0M7YCxtZXRhZGF0YTp7bGFuZ3VhZ2U6InNxbCJ9fSx7aWQ6YGRpdmlkZXItJHtlKzEwfWAsdHlwZToiZGl2aWRlciIsY29udGVudDoiIn0se2lkOmBmb290ZXItJHtlKzExfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJSZXBvcnQgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgU3lzdGVtIE1vbml0b3IgdjIuNS4wIn1dfSxLUXI9KCk9PntsZXQgZT1EYXRlLm5vdygpO3JldHVyblt7aWQ6YHJlY2lwZS10aXRsZS0ke2V9YCx0eXBlOiJoZWFkaW5nLTEiLGNvbnRlbnQ6IkNsYXNzaWMgTWFyZ2hlcml0YSBQaXp6YSJ9LHtpZDpgcmVjaXBlLWludHJvLSR7ZSsxfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJBIHRyYWRpdGlvbmFsIEl0YWxpYW4gcGl6emEgd2l0aCBmcmVzaCBiYXNpbCwgbW96emFyZWxsYSwgYW5kIHRvbWF0byBzYXVjZS4ifSx7aWQ6YGluZ3JlZGllbnRzLWhlYWRpbmctJHtlKzJ9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6Ilx1ezFGMzU1fSBJbmdyZWRpZW50cyJ9LHtpZDpgZG91Z2gtaGVhZGluZy0ke2UrM31gLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDoiRm9yIHRoZSBEb3VnaDoifSx7aWQ6YGRvdWdoLWxpc3QtJHtlKzR9YCx0eXBlOiJsaXN0Iixjb250ZW50OmA1MDBnIHRpcG8gIjAwIiBmbG91cgozMjVtbCB3YXJtIHdhdGVyCjEwZyBzYWx0CjdnIGFjdGl2ZSBkcnkgeWVhc3QKMiB0YnNwIG9saXZlIG9pbGAsbWV0YWRhdGE6e2xpc3RUeXBlOiJidWxsZXQifX0se2lkOmB0b3BwaW5ncy1oZWFkaW5nLSR7ZSs1fWAsdHlwZToiaGVhZGluZy0zIixjb250ZW50OiJGb3IgdGhlIFRvcHBpbmdzOiJ9LHtpZDpgdG9wcGluZ3MtbGlzdC0ke2UrNn1gLHR5cGU6Imxpc3QiLGNvbnRlbnQ6YDQwMGcgY2FubmVkIFNhbiBNYXJ6YW5vIHRvbWF0b2VzCjI1MGcgZnJlc2ggbW96emFyZWxsYQpGcmVzaCBiYXNpbCBsZWF2ZXMKRXh0cmEgdmlyZ2luIG9saXZlIG9pbApTYWx0IGFuZCBwZXBwZXIgdG8gdGFzdGVgLG1ldGFkYXRhOntsaXN0VHlwZToiYnVsbGV0In19LHtpZDpgaW5zdHJ1Y3Rpb25zLWhlYWRpbmctJHtlKzd9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6Ilx1ezFGNDY4fVx1MjAwRFx1ezFGMzczfSBJbnN0cnVjdGlvbnMifSx7aWQ6YHN0ZXBzLWxpc3QtJHtlKzh9YCx0eXBlOiJsaXN0Iixjb250ZW50OmBEaXNzb2x2ZSB5ZWFzdCBpbiB3YXJtIHdhdGVyIGFuZCBsZXQgc3RhbmQgZm9yIDUgbWludXRlcwpNaXggZmxvdXIgYW5kIHNhbHQsIGNyZWF0ZSBhIHdlbGwgaW4gY2VudGVyCkFkZCB5ZWFzdCBtaXh0dXJlIGFuZCBvbGl2ZSBvaWwKS25lYWQgZm9yIDEwIG1pbnV0ZXMgdW50aWwgc21vb3RoCkxldCByaXNlIGZvciAxLTIgaG91cnMgdW50aWwgZG91YmxlZApQdW5jaCBkb3duIGFuZCBkaXZpZGUgaW50byBwb3J0aW9ucwpSb2xsIG91dCBlYWNoIHBvcnRpb24gdG8gMTItaW5jaCBjaXJjbGVzClRvcCB3aXRoIGNydXNoZWQgdG9tYXRvZXMsIG1venphcmVsbGEsIGFuZCBiYXNpbApCYWtlIGF0IDQ3NVx4QjBGICgyNDVceEIwQykgZm9yIDEwLTEyIG1pbnV0ZXNgLG1ldGFkYXRhOntsaXN0VHlwZToib3JkZXJlZCJ9fSx7aWQ6YHRpcC0ke2UrOX1gLHR5cGU6InF1b3RlIixjb250ZW50OiJQcm8gdGlwOiBGb3IgYW4gYXV0aGVudGljIHRhc3RlLCB1c2UgYSBwaXp6YSBzdG9uZSBhbmQgcHJlaGVhdCBpdCBpbiB0aGUgb3ZlbiBmb3IgYXQgbGVhc3QgMzAgbWludXRlcyBiZWZvcmUgYmFraW5nLiJ9LHtpZDpgZGl2aWRlci0ke2UrMTB9YCx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIifSx7aWQ6YHNlcnZpbmdzLSR7ZSsxMX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiU2VydmluZ3M6IDQgcGl6emFzIHwgUHJlcCB0aW1lOiAyIGhvdXJzIHwgQ29vayB0aW1lOiAxMiBtaW51dGVzIn1dfSxlSnI9ZT0+e2xldCB0PXt9O3JldHVybiB0LmJhc2ljPWUucXVlcnlTZWxlY3RvcigiI2VkaXRvci1iYXNpYyIpLHQuYXJ0aWNsZT1lLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItYXJ0aWNsZSIpLHQuZHJhZ0Ryb3A9ZS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLWRyYWdkcm9wIiksdC50dXRvcmlhbD1lLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItdHV0b3JpYWwiKSx0Lm1lZXRpbmc9ZS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLW1lZXRpbmciKSx0LnJlY2lwZT1lLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItcmVjaXBlIiksdC50ZWNobmljYWw9ZS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLXRlY2huaWNhbCIpLHQuZm9ybUludGVncmF0aW9uPWUucXVlcnlTZWxlY3RvcigiI2VkaXRvci1mb3JtLWludGVncmF0aW9uIiksdC5wcm9ncmFtbWF0aWM9ZS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLXByb2dyYW1tYXRpYyIpLHQuZXhwb3J0RGVtbz1lLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItZXhwb3J0IiksdH0sdEpyPShlLHQpPT57bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIjYnRuLWdlbmVyYXRlLXJlcG9ydCIpLGE9ZS5xdWVyeVNlbGVjdG9yKCIjYnRuLWdlbmVyYXRlLXJlY2lwZSIpLGk9ZS5xdWVyeVNlbGVjdG9yKCIjYnRuLWNsZWFyLWVkaXRvciIpO3ImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC5pbXBvcnRCbG9ja3MoSlFyKCkpfSksYSYmYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LmltcG9ydEJsb2NrcyhLUXIoKSl9KSxpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QuaW1wb3J0QmxvY2tzKFtdKX0pfSxySnI9KGUsdCk9PntsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZXhwb3J0LWJsb2NrcyIpLGE9ZS5xdWVyeVNlbGVjdG9yKCIjYnRuLWV4cG9ydC1odG1sIiksaT1lLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZXhwb3J0LW1hcmtkb3duIiksbj1lLnF1ZXJ5U2VsZWN0b3IoIiNidG4tc2F2ZS1zdGF0ZSIpLHM9ZS5xdWVyeVNlbGVjdG9yKCIjYnRuLXJlc3RvcmUtc3RhdGUiKSxvPW51bGw7ciYmci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsZXQgYz10LmV4cG9ydEJsb2NrcygpO2NvbnNvbGUubG9nKCJFeHBvcnRlZCBibG9ja3M6IixjKSxhbGVydChgRXhwb3J0ZWQgJHtjLmxlbmd0aH0gYmxvY2tzIHRvIGNvbnNvbGUuIENoZWNrIGRldmVsb3BlciB0b29scy5gKX0pLGEmJmEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bGV0IGM9dC5leHBvcnRBc0h0bWwoKTtjb25zb2xlLmxvZygiSFRNTCBFeHBvcnQ6IixjKSxhbGVydCgiSFRNTCBleHBvcnRlZCB0byBjb25zb2xlLiBDaGVjayBkZXZlbG9wZXIgdG9vbHMuIil9KSxpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2xldCBjPXQuZXhwb3J0QXNNYXJrZG93bigpO2NvbnNvbGUubG9nKCJNYXJrZG93biBFeHBvcnQ6IixjKSxhbGVydCgiTWFya2Rvd24gZXhwb3J0ZWQgdG8gY29uc29sZS4gQ2hlY2sgZGV2ZWxvcGVyIHRvb2xzLiIpfSksbiYmbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntvPXQuZXhwb3J0U3RhdGUoKSxjb25zb2xlLmxvZygiU2F2ZWQgc3RhdGU6IixvKSxhbGVydCgiRWRpdG9yIHN0YXRlIHNhdmVkISIpfSkscyYmcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntvPyh0LmltcG9ydFN0YXRlKG8pLGFsZXJ0KCJFZGl0b3Igc3RhdGUgcmVzdG9yZWQhIikpOmFsZXJ0KCJObyBzYXZlZCBzdGF0ZSBmb3VuZC4gU2F2ZSBzdGF0ZSBmaXJzdCEiKX0pfSxhSnI9KGUsdCxyKT0+e2xldCBhPWUucXVlcnlTZWxlY3RvcigiI2J0bi1zaG93LWh0bWwtb3V0cHV0IiksaT1lLnF1ZXJ5U2VsZWN0b3IoIiNvdXRwdXQtcHJldmlldy1odG1sIik7YSYmaSYmdCYmYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntpLnRleHRDb250ZW50PXQuZ2V0VmFsdWUoKSxpLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKX0pO2xldCBuPWUucXVlcnlTZWxlY3RvcigiI2J0bi1zaG93LW1hcmtkb3duLW91dHB1dCIpLHM9ZS5xdWVyeVNlbGVjdG9yKCIjb3V0cHV0LXByZXZpZXctbWFya2Rvd24iKTtuJiZzJiZyJiZuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3MudGV4dENvbnRlbnQ9ci5nZXRWYWx1ZSgpLHMuY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpfSl9LGlKcj1lPT57ZS5hcnRpY2xlJiZzZXRUaW1lb3V0KCgpPT57bGV0IHQ9W3tpZDoiaW50cm8taGVhZGluZy0iK0RhdGUubm93KCksdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJJbnRyb2R1Y3Rpb24gdG8gTW9kZXJuIFdlYiBEZXZlbG9wbWVudCJ9LHtpZDoiaW50cm8tcGFyYS0iK0RhdGUubm93KCksdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJNb2Rlcm4gd2ViIGRldmVsb3BtZW50IGhhcyBldm9sdmVkIHNpZ25pZmljYW50bHkgb3ZlciB0aGUgcGFzdCBkZWNhZGUuIEluIHRoaXMgYXJ0aWNsZSwgd2UnbGwgZXhwbG9yZSB0aGUga2V5IHRlY2hub2xvZ2llcyBhbmQgYmVzdCBwcmFjdGljZXMgdGhhdCBkZWZpbmUgd2ViIGRldmVsb3BtZW50IGluIDIwMjQuIn0se2lkOiJ0ZWNoLWhlYWRpbmctIitEYXRlLm5vdygpLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDoiS2V5IFRlY2hub2xvZ2llcyJ9LHtpZDoidGVjaC1saXN0LSIrRGF0ZS5ub3coKSx0eXBlOiJsaXN0Iixjb250ZW50OmBUeXBlU2NyaXB0IC0gVHlwZS1zYWZlIEphdmFTY3JpcHQgZGV2ZWxvcG1lbnQKV2ViIENvbXBvbmVudHMgLSBOYXRpdmUgY29tcG9uZW50IG1vZGVsCkVTIE1vZHVsZXMgLSBNb2Rlcm4gbW9kdWxlIHN5c3RlbQpXZWJBc3NlbWJseSAtIEhpZ2gtcGVyZm9ybWFuY2UgY29tcHV0aW5nYCxtZXRhZGF0YTp7bGlzdFR5cGU6Im9yZGVyZWQifX0se2lkOiJxdW90ZS0iK0RhdGUubm93KCksdHlwZToicXVvdGUiLGNvbnRlbnQ6IlRoZSBiZXN0IHdheSB0byBwcmVkaWN0IHRoZSBmdXR1cmUgaXMgdG8gaW52ZW50IGl0LiAtIEFsYW4gS2F5In0se2lkOiJleGFtcGxlLWhlYWRpbmctIitEYXRlLm5vdygpLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDoiQ29kZSBFeGFtcGxlIn0se2lkOiJjb2RlLWV4YW1wbGUtIitEYXRlLm5vdygpLHR5cGU6ImNvZGUiLGNvbnRlbnQ6YGNsYXNzIE1vZGVybldlYkFwcCBleHRlbmRzIEhUTUxFbGVtZW50IHsKICBjb25zdHJ1Y3RvcigpIHsKICAgIHN1cGVyKCk7CiAgICB0aGlzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KTsKICB9CiAgCiAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICB0aGlzLnJlbmRlcigpOwogIH0KfWAsbWV0YWRhdGE6e2xhbmd1YWdlOiJqYXZhc2NyaXB0In19XTtlLmFydGljbGUuaW1wb3J0QmxvY2tzKHQpfSw1MDApLGUuZHJhZ0Ryb3AmJnNldFRpbWVvdXQoKCk9PntsZXQgdD1be2lkOiJkcmFnLXRpdGxlLSIrRGF0ZS5ub3coKSx0eXBlOiJoZWFkaW5nLTEiLGNvbnRlbnQ6IkRyYWcgJiBEcm9wIERlbW8ifSx7aWQ6ImRyYWctaW50cm8tIitEYXRlLm5vdygpLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiVGhpcyBlZGl0b3IgZGVtb25zdHJhdGVzIGRyYWcgYW5kIGRyb3AgZnVuY3Rpb25hbGl0eS4gVHJ5IGRyYWdnaW5nIHRoZXNlIGJsb2NrcyBhcm91bmQhIn0se2lkOiJkcmFnLWhlYWRpbmctIitEYXRlLm5vdygpLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDoiSG93IEl0IFdvcmtzIn0se2lkOiJkcmFnLWxpc3QtIitEYXRlLm5vdygpLHR5cGU6Imxpc3QiLGNvbnRlbnQ6YEhvdmVyIG92ZXIgYW55IGJsb2NrIHRvIHNlZSB0aGUgZHJhZyBoYW5kbGUKQ2xpY2sgYW5kIGhvbGQgdGhlIGhhbmRsZSB0byBzdGFydCBkcmFnZ2luZwpEcmFnIHRvIHJlb3JkZXIgYmxvY2tzClJlbGVhc2UgdG8gZHJvcCBpbiB0aGUgbmV3IHBvc2l0aW9uYCxtZXRhZGF0YTp7bGlzdFR5cGU6Im9yZGVyZWQifX0se2lkOiJkcmFnLXF1b3RlLSIrRGF0ZS5ub3coKSx0eXBlOiJxdW90ZSIsY29udGVudDoiVGhlIGRyYWcgYW5kIGRyb3AgZmVhdHVyZSBtYWtlcyBpdCBlYXN5IHRvIHJlb3JnYW5pemUgeW91ciBjb250ZW50IHdpdGhvdXQgY3V0dGluZyBhbmQgcGFzdGluZy4ifSx7aWQ6ImRyYWctZGl2aWRlci0iK0RhdGUubm93KCksdHlwZToiZGl2aWRlciIsY29udGVudDoiIn0se2lkOiJkcmFnLWZvb3Rlci0iK0RhdGUubm93KCksdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJOb3RlOiBEaXZpZGVyIGJsb2NrcyBjYW5ub3QgYmUgZHJhZ2dlZCwgYnV0IG90aGVyIGJsb2NrcyBjYW4gYmUgbW92ZWQgYXJvdW5kIHRoZW0uIn1dO2UuZHJhZ0Ryb3AuaW1wb3J0QmxvY2tzKHQpfSw2MDApfSxLNHI9KCk9Pk1gCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2F3YWl0IG5ldyBQcm9taXNlKHI9PnNldFRpbWVvdXQociw1MDApKTtsZXQgdD1lSnIoZSk7dC5wcm9ncmFtbWF0aWMmJnRKcihlLHQucHJvZ3JhbW1hdGljKSx0LmV4cG9ydERlbW8mJnJKcihlLHQuZXhwb3J0RGVtbyksYUpyKGUsdC5tZWV0aW5nLHQucmVjaXBlKSxpSnIodCksY29uc29sZS5sb2coIldZU0lXWUcgRGVtbyBpbml0aWFsaXplZCB3aXRoIGVkaXRvcnM6IixPYmplY3Qua2V5cyh0KSl9fT4KICA8c3R5bGU+CiAgICAke0pgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMzJweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICB9CiAgICAgIAogICAgICAucGFuZWwtZGVzY3JpcHRpb24gewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5wYW5lbC1kZXNjcmlwdGlvbiB7CiAgICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjb2xvcjogIzU1NTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWljb24gewogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAuZmVhdHVyZS1pdGVtIHsKICAgICAgICAgIGNvbG9yOiAjYWFhOwogICAgICAgIH0KICAgICAgICAuZmVhdHVyZS1pY29uIHsKICAgICAgICAgIGNvbG9yOiAjNGQ5NGZmOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnNob3J0Y3V0cy1ib3ggewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTAyLCAyMDQsIDAuMDUpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMTAyLCAyMDQsIDAuMik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5zaG9ydGN1dHMtYm94IHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNzcsIDE0OCwgMjU1LCAwLjEpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDc3LCAxNDgsIDI1NSwgMC4zKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5zaG9ydGN1dHMtdGl0bGUgewogICAgICAgIG1hcmdpbjogMCAwIDEycHggMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogIzAwNjZjYzsKICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5zaG9ydGN1dHMtdGl0bGUgewogICAgICAgICAgY29sb3I6ICM0ZDk0ZmY7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2hvcnRjdXRzLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTgwcHgsIDFmcikpOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc2hvcnRjdXQtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogIzU1NTsKICAgICAgfQoKICAgICAgLnNob3J0Y3V0LWtleSB7CiAgICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogIzMzMzsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnNob3J0Y3V0LWl0ZW0gewogICAgICAgICAgY29sb3I6ICNiYmI7CiAgICAgICAgfQogICAgICAgIC5zaG9ydGN1dC1rZXkgewogICAgICAgICAgYmFja2dyb3VuZDogIzMzMzsKICAgICAgICAgIGNvbG9yOiAjZGRkOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm91dHB1dC1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzIwcHgsIDFmcikpOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICB9CgogICAgICAub3V0cHV0LWNhcmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5vdXRwdXQtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjA0KTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LCAjMGYxNzJhKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4OwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdChbdGhlbWU9J2RhcmsnXSkgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMDYpOwogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE1KTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LCAjZjRmNGY1KTsKICAgICAgfQoKICAgICAgLm91dHB1dC1wcmV2aWV3LnZpc2libGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAub3V0cHV0LWdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAudGlwcy1ib3ggewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmOGZmOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC50aXBzLWJveCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc3LCAxNDgsIDI1NSwgMC4xKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC50aXBzLWJveCBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnRpcHMtYm94IHN0cm9uZyB7CiAgICAgICAgICBjb2xvcjogIzRkOTRmZjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC50aXBzLWxpc3QgewogICAgICAgIG1hcmdpbjogOHB4IDAgMCAwOwogICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLnRpcHMtbGlzdCBsaSB7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZThlOGU4OwogICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAuZGVtby1idXR0b24gewogICAgICAgICAgYmFja2dyb3VuZDogIzMzMzsKICAgICAgICAgIGJvcmRlci1jb2xvcjogIzU1NTsKICAgICAgICAgIGNvbG9yOiAjZGRkOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZGVtby1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogIzQ0NDsKICAgICAgICAgIGJvcmRlci1jb2xvcjogIzY2NjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLmJsb2NrcyB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDIsIDIwNCwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQuaHRtbCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg3NiwgMTc1LCA4MCwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQubWFya2Rvd24gewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNTIsIDAsIDAuMSk7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLnN0YXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1NiwgMzksIDE3NiwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQgc3Ryb25nIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLmJsb2NrcyBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5odG1sIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICM0Q0FGNTA7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLm1hcmtkb3duIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICNGRjk4MDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLnN0YXRlIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICM5QzI3QjA7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkIHAgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gXHV7MUY2ODB9IE1vZGVybiBXWVNJV1lHIEVkaXRvciJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBBIHBvd2VyZnVsIGJsb2NrLWJhc2VkIGVkaXRvciB3aXRoIHNsYXNoIGNvbW1hbmRzLCBrZXlib2FyZCBzaG9ydGN1dHMsIGFuZCBtdWx0aXBsZSBvdXRwdXQgZm9ybWF0cy4gCiAgICAgICAgICBQZXJmZWN0IGZvciBjb250ZW50IGNyZWF0aW9uLCBibG9nIHBvc3RzLCBkb2N1bWVudGF0aW9uLCBhbmQgbW9yZS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ncmlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+U2xhc2ggY29tbWFuZHMgKC8pPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPktleWJvYXJkIHNob3J0Y3V0czwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5CbG9jay1iYXNlZCBlZGl0aW5nPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPkRyYWcgJiBkcm9wIHJlb3JkZXJpbmc8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+SFRNTCAmIE1hcmtkb3duIG91dHB1dDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5EYXJrIG1vZGUgc3VwcG9ydDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5Nb2JpbGUgcmVzcG9uc2l2ZTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLWJhc2ljIgogICAgICAgICAgbGFiZWw9IlJpY2ggVGV4dCBFZGl0b3IiIAogICAgICAgICAgZGVzY3JpcHRpb249IlN0YXJ0IHR5cGluZyBvciB1c2UgJy8nIHRvIGluc2VydCBkaWZmZXJlbnQgYmxvY2sgdHlwZXMiCiAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dHMtYm94Ij4KICAgICAgICAgIDxoNCBjbGFzcz0ic2hvcnRjdXRzLXRpdGxlIj7ijKjvuI8gS2V5Ym9hcmQgU2hvcnRjdXRzPC9oND4KICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0cy1ncmlkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+Lzwvc3Bhbj4gU2xhc2ggY29tbWFuZHMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPiM8L3NwYW4+IEhlYWRpbmcgMQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+IyM8L3NwYW4+IEhlYWRpbmcgMgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+IyMjPC9zcGFuPiBIZWFkaW5nIDMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPj48L3NwYW4+IFF1b3RlCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij5cYFxgXGA8L3NwYW4+IENvZGUgYmxvY2sKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPio8L3NwYW4+IG9yIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPi08L3NwYW4+IEJ1bGxldCBsaXN0CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4xLjwvc3Bhbj4gTnVtYmVyZWQgbGlzdAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+LS0tPC9zcGFuPiBEaXZpZGVyCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBcdXsxRjRERH0gQmxvZyBQb3N0IEV4YW1wbGUifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgUGVyZmVjdCBmb3IgY3JlYXRpbmcgcmljaCBjb250ZW50IHdpdGggbXVsdGlwbGUgYmxvY2sgdHlwZXMuIAogICAgICAgICAgVGhlIGVkaXRvciBwcmVzZXJ2ZXMgZm9ybWF0dGluZyBhbmQgcHJvdmlkZXMgYSBjbGVhbiBlZGl0aW5nIGV4cGVyaWVuY2UuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLWFydGljbGUiCiAgICAgICAgICBsYWJlbD0iQmxvZyBQb3N0IENvbnRlbnQiIAogICAgICAgICAgZGVzY3JpcHRpb249IldyaXRlIHlvdXIgYXJ0aWNsZSB1c2luZyB2YXJpb3VzIGZvcm1hdHRpbmcgb3B0aW9ucyIKICAgICAgICAgIG91dHB1dEZvcm1hdD0iaHRtbCIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBcdXsxRjUwMH0gRHJhZyAmIERyb3AgUmVvcmRlcmluZyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBFYXNpbHkgcmVhcnJhbmdlIHlvdXIgY29udGVudCBibG9ja3MgYnkgZHJhZ2dpbmcgdGhlbS4gCiAgICAgICAgICBIb3ZlciBvdmVyIGFueSBibG9jayB0byByZXZlYWwgdGhlIGRyYWcgaGFuZGxlIG9uIHRoZSBsZWZ0IHNpZGUuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLWRyYWdkcm9wIgogICAgICAgICAgbGFiZWw9IkRyYWcgJiBEcm9wIERlbW8iIAogICAgICAgICAgZGVzY3JpcHRpb249IlRyeSBkcmFnZ2luZyBibG9ja3MgdG8gcmVvcmRlciB0aGVtIC0gaG92ZXIgdG8gc2VlIGRyYWcgaGFuZGxlcyIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idGlwcy1ib3giPgogICAgICAgICAgPHN0cm9uZz7wn5KhIFRpcHM6PC9zdHJvbmc+CiAgICAgICAgICA8dWwgY2xhc3M9InRpcHMtbGlzdCI+CiAgICAgICAgICAgIDxsaT5Ib3ZlciBvdmVyIGFueSBibG9jayB0byBzZWUgdGhlIGRyYWcgaGFuZGxlICjii67ii64pIG9uIHRoZSBsZWZ0PC9saT4KICAgICAgICAgICAgPGxpPkNsaWNrIGFuZCBob2xkIHRoZSBkcmFnIGhhbmRsZSB0byBzdGFydCBkcmFnZ2luZzwvbGk+CiAgICAgICAgICAgIDxsaT5CbHVlIGluZGljYXRvcnMgc2hvdyB3aGVyZSB0aGUgYmxvY2sgd2lsbCBiZSBkcm9wcGVkPC9saT4KICAgICAgICAgICAgPGxpPkRpdmlkZXIgYmxvY2tzIGNhbm5vdCBiZSBkcmFnZ2VkPC9saT4KICAgICAgICAgICAgPGxpPlRoZSBlZGl0b3IgbWFpbnRhaW5zIGZvY3VzIG9uIHRoZSBtb3ZlZCBibG9jayBhZnRlciBkcm9wcGluZzwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gXHV7MUY0REF9IFR1dG9yaWFsICYgRG9jdW1lbnRhdGlvbiJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDcmVhdGUgY29tcHJlaGVuc2l2ZSB0dXRvcmlhbHMgYW5kIGRvY3VtZW50YXRpb24gd2l0aCBjb2RlIGV4YW1wbGVzLCBsaXN0cywgYW5kIHN0cnVjdHVyZWQgY29udGVudC4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgIGlkPSJlZGl0b3ItdHV0b3JpYWwiCiAgICAgICAgICBsYWJlbD0iR2l0IFR1dG9yaWFsIiAKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTdGVwLWJ5LXN0ZXAgZ3VpZGUgd2l0aCBjb21tYW5kcyBhbmQgZXhwbGFuYXRpb25zIgogICAgICAgICAgb3V0cHV0Rm9ybWF0PSJtYXJrZG93biIKICAgICAgICAgIHZhbHVlPSIjIEdpdCBUdXRvcmlhbCBmb3IgQmVnaW5uZXJzCgpHaXQgaXMgYSBkaXN0cmlidXRlZCB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtIHRoYXQgaGVscHMgeW91IHRyYWNrIGNoYW5nZXMgaW4geW91ciBjb2RlIG92ZXIgdGltZS4gVGhpcyB0dXRvcmlhbCB3aWxsIGd1aWRlIHlvdSB0aHJvdWdoIHRoZSBiYXNpY3MuCgojIyBQcmVyZXF1aXNpdGVzCgpCZWZvcmUgc3RhcnRpbmcsIGVuc3VyZSB5b3UgaGF2ZToKCi0gR2l0IGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbQotIEEgdGV4dCBlZGl0b3Igb3IgSURFCi0gQmFzaWMgY29tbWFuZCBsaW5lIGtub3dsZWRnZQoKIyMgR2V0dGluZyBTdGFydGVkCgojIyMgMS4gQ29uZmlndXJlIEdpdAoKRmlyc3QsIHNldCB1cCB5b3VyIGlkZW50aXR5OgoKXGBcYFxgYmFzaApnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAmcXVvdDtZb3VyIE5hbWUmcXVvdDsKZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsICZxdW90O3lvdXIuZW1haWxAZXhhbXBsZS5jb20mcXVvdDsKXGBcYFxgCgojIyMgMi4gSW5pdGlhbGl6ZSBhIFJlcG9zaXRvcnkKCkNyZWF0ZSBhIG5ldyBHaXQgcmVwb3NpdG9yeToKClxgXGBcYGJhc2gKbWtkaXIgbXktcHJvamVjdApjZCBteS1wcm9qZWN0CmdpdCBpbml0ClxgXGBcYAoKIyMjIDMuIEJhc2ljIEdpdCBXb3JrZmxvdwoKIyMjIyBBZGRpbmcgRmlsZXMKCkNyZWF0ZSBhIGZpbGUgYW5kIGFkZCBpdCB0byBzdGFnaW5nOgoKXGBcYFxgYmFzaAplY2hvICZxdW90OyMgTXkgUHJvamVjdCZxdW90OyA+IFJFQURNRS5tZApnaXQgYWRkIFJFQURNRS5tZApcYFxgXGAKCiMjIyMgQ29tbWl0dGluZyBDaGFuZ2VzCgpcYFxgXGBiYXNoCmdpdCBjb21taXQgLW0gJnF1b3Q7SW5pdGlhbCBjb21taXQmcXVvdDsKXGBcYFxgCgo+ICoqQmVzdCBQcmFjdGljZToqKiBXcml0ZSBjbGVhciwgZGVzY3JpcHRpdmUgY29tbWl0IG1lc3NhZ2VzIHRoYXQgZXhwbGFpbiB3aGF0IGNoYW5nZXMgd2VyZSBtYWRlIGFuZCB3aHkuCgojIyMgNC4gV29ya2luZyB3aXRoIEJyYW5jaGVzCgpCcmFuY2hlcyBhbGxvdyB5b3UgdG8gd29yayBvbiBmZWF0dXJlcyBpbmRlcGVuZGVudGx5OgoKXGBcYFxgYmFzaAojIENyZWF0ZSBhbmQgc3dpdGNoIHRvIGEgbmV3IGJyYW5jaApnaXQgY2hlY2tvdXQgLWIgZmVhdHVyZS1icmFuY2gKCiMgTWFrZSBjaGFuZ2VzIGFuZCBjb21taXQKZ2l0IGFkZCAuCmdpdCBjb21taXQgLW0gJnF1b3Q7QWRkIG5ldyBmZWF0dXJlJnF1b3Q7CgojIFN3aXRjaCBiYWNrIHRvIG1haW4KZ2l0IGNoZWNrb3V0IG1haW4KCiMgTWVyZ2UgdGhlIGZlYXR1cmUKZ2l0IG1lcmdlIGZlYXR1cmUtYnJhbmNoClxgXGBcYAoKLS0tCgojIyBDb21tb24gQ29tbWFuZHMgUmVmZXJlbmNlCgp8IENvbW1hbmQgfCBEZXNjcmlwdGlvbiB8CnwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwKfCBcYGdpdCBzdGF0dXNcYCB8IENoZWNrIHJlcG9zaXRvcnkgc3RhdHVzIHwKfCBcYGdpdCBsb2dcYCB8IFZpZXcgY29tbWl0IGhpc3RvcnkgfAp8IFxgZ2l0IGRpZmZcYCB8IFNob3cgY2hhbmdlcyB8CnwgXGBnaXQgcHVsbFxgIHwgRmV0Y2ggYW5kIG1lcmdlIGNoYW5nZXMgfAp8IFxgZ2l0IHB1c2hcYCB8IFVwbG9hZCBjaGFuZ2VzIHRvIHJlbW90ZSB8CgojIyBOZXh0IFN0ZXBzCgoxLiBMZWFybiBhYm91dCByZW1vdGUgcmVwb3NpdG9yaWVzCjIuIEV4cGxvcmUgYWR2YW5jZWQgR2l0IGZlYXR1cmVzCjMuIFByYWN0aWNlIHdpdGggcmVhbCBwcm9qZWN0cwo0LiBDb250cmlidXRlIHRvIG9wZW4gc291cmNlCgoqKkhhcHB5IGNvZGluZyEqKiDwn5qAIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIFx1ezFGNTA0fSBPdXRwdXQgRm9ybWF0cyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDaG9vc2UgYmV0d2VlbiBIVE1MIGFuZCBNYXJrZG93biBvdXRwdXQgZm9ybWF0cyBkZXBlbmRpbmcgb24geW91ciBuZWVkcy4gCiAgICAgICAgICBQZXJmZWN0IGZvciBzdGF0aWMgc2l0ZSBnZW5lcmF0b3JzLCBkb2N1bWVudGF0aW9uIHN5c3RlbXMsIG9yIGFueSBjb250ZW50IG1hbmFnZW1lbnQgd29ya2Zsb3cuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1ncmlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1jYXJkIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgICAgICBpZD0iZWRpdG9yLW1lZXRpbmciCiAgICAgICAgICAgICAgbGFiZWw9Ik1lZXRpbmcgTm90ZXMiIAogICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJTdHJ1Y3R1cmVkIG1lZXRpbmcgZG9jdW1lbnRhdGlvbiIKICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgICAgICAgdmFsdWU9IjxoMj5RNCBQbGFubmluZyBNZWV0aW5nPC9oMj48cD48c3Ryb25nPkRhdGU6PC9zdHJvbmc+IERlY2VtYmVyIDE1LCAyMDI0PGJyPjxzdHJvbmc+QXR0ZW5kZWVzOjwvc3Ryb25nPiBQcm9kdWN0IFRlYW0sIEVuZ2luZWVyaW5nLCBEZXNpZ248L3A+PGgzPkFnZW5kYSBJdGVtczwvaDM+PG9sPjxsaT5SZXZpZXcgUTMgYWNoaWV2ZW1lbnRzPC9saT48bGk+U2V0IFE0IG9iamVjdGl2ZXM8L2xpPjxsaT5SZXNvdXJjZSBhbGxvY2F0aW9uPC9saT48bGk+VGltZWxpbmUgZGlzY3Vzc2lvbjwvbGk+PC9vbD48aDM+S2V5IERlY2lzaW9uczwvaDM+PHVsPjxsaT5MYXVuY2ggbmV3IGRhc2hib2FyZCBmZWF0dXJlIGJ5IGVuZCBvZiBKYW51YXJ5PC9saT48bGk+SW5jcmVhc2UgZW5naW5lZXJpbmcgdGVhbSBieSAyIGRldmVsb3BlcnM8L2xpPjxsaT5JbXBsZW1lbnQgd2Vla2x5IGRlc2lnbiByZXZpZXdzPC9saT48L3VsPjxibG9ja3F1b3RlPiZxdW90O0ZvY3VzIG9uIHVzZXIgZXhwZXJpZW5jZSBpbXByb3ZlbWVudHMgYmFzZWQgb24gUTMgZmVlZGJhY2smcXVvdDsgLSBQcm9kdWN0IE1hbmFnZXI8L2Jsb2NrcXVvdGU+PGgzPkFjdGlvbiBJdGVtczwvaDM+PHVsPjxsaT5TYXJhaDogQ3JlYXRlIGRldGFpbGVkIHByb2plY3QgdGltZWxpbmU8L2xpPjxsaT5NaWtlOiBEcmFmdCB0ZWNobmljYWwgcmVxdWlyZW1lbnRzPC9saT48bGk+TGlzYTogU2NoZWR1bGUgdXNlciByZXNlYXJjaCBzZXNzaW9uczwvbGk+PC91bD48aHI+PHA+TmV4dCBtZWV0aW5nOiBKYW51YXJ5IDUsIDIwMjU8L3A+IgogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1hY3Rpb25zIj4KICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tc2hvdy1odG1sLW91dHB1dCIgY2xhc3M9ImRlbW8tYnV0dG9uIj5TaG93IEhUTUwgT3V0cHV0PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cHJlIGlkPSJvdXRwdXQtcHJldmlldy1odG1sIiBjbGFzcz0ib3V0cHV0LXByZXZpZXciIGFyaWEtbGl2ZT0icG9saXRlIj48L3ByZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtY2FyZCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICAgICAgaWQ9ImVkaXRvci1yZWNpcGUiCiAgICAgICAgICAgICAgbGFiZWw9IlJlY2lwZSBCbG9nIFBvc3QiIAogICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJGb29kIGJsb2cgd2l0aCBtaXhlZCBjb250ZW50IgogICAgICAgICAgICAgIG91dHB1dEZvcm1hdD0ibWFya2Rvd24iCiAgICAgICAgICAgICAgdmFsdWU9IiMgVWx0aW1hdGUgQ2hvY29sYXRlIENoaXAgQ29va2llcwoKVGhlcmUncyBub3RoaW5nIHF1aXRlIGxpa2UgdGhlIHNtZWxsIG9mIGZyZXNobHkgYmFrZWQgY2hvY29sYXRlIGNoaXAgY29va2llcy4gVGhpcyByZWNpcGUgaGFzIGJlZW4gcGVyZmVjdGVkIG92ZXIgeWVhcnMgb2YgdGVzdGluZyEKCiMjIEluZ3JlZGllbnRzCgotIDLCvCBjdXBzIGFsbC1wdXJwb3NlIGZsb3VyCi0gMSB0c3AgYmFraW5nIHNvZGEKLSAxIHRzcCBzYWx0Ci0gMSBjdXAgYnV0dGVyLCBzb2Z0ZW5lZAotIMK+IGN1cCBncmFudWxhdGVkIHN1Z2FyCi0gwr4gY3VwIHBhY2tlZCBicm93biBzdWdhcgotIDIgbGFyZ2UgZWdncwotIDIgdHNwIHZhbmlsbGEgZXh0cmFjdAotIDIgY3VwcyBjaG9jb2xhdGUgY2hpcHMKCiMjIEluc3RydWN0aW9ucwoKIyMjIFN0ZXAgMTogUHJlcGFyYXRpb24KClByZWhlYXQgeW91ciBvdmVuIHRvICoqMzc1wrBGICgxOTDCsEMpKiouIFRoaXMgdGVtcGVyYXR1cmUgaXMgY3J1Y2lhbCBmb3IgYWNoaWV2aW5nIHRoZSBwZXJmZWN0IHRleHR1cmUuCgojIyMgU3RlcCAyOiBNaXggRHJ5IEluZ3JlZGllbnRzCgpJbiBhIG1lZGl1bSBib3dsLCB3aGlzayB0b2dldGhlcjoKCjEuIEZsb3VyCjIuIEJha2luZyBzb2RhCjMuIFNhbHQKCiMjIyBTdGVwIDM6IENyZWFtIEJ1dHRlciBhbmQgU3VnYXJzCgpcYFxgXGAKQ3JlYW0gYnV0dGVyIGFuZCBzdWdhcnMgZm9yIDMtNCBtaW51dGVzCnVudGlsIGxpZ2h0IGFuZCBmbHVmZnkKXGBcYFxgCgo+ICoqUHJvIHRpcDoqKiBSb29tIHRlbXBlcmF0dXJlIGluZ3JlZGllbnRzIG1peCBiZXR0ZXIgYW5kIGNyZWF0ZSBhIG1vcmUgdW5pZm9ybSBkb3VnaC4KCiMjIyBTdGVwIDQ6IEFkZCBXZXQgSW5ncmVkaWVudHMKCkJlYXQgaW4gZWdncyBvbmUgYXQgYSB0aW1lLCB0aGVuIGFkZCB2YW5pbGxhIGV4dHJhY3QuCgojIyMgU3RlcCA1OiBDb21iaW5lIGFuZCBCYWtlCgpHcmFkdWFsbHkgYmxlbmQgaW4gZmxvdXIgbWl4dHVyZSwgdGhlbiBzdGlyIGluIGNob2NvbGF0ZSBjaGlwcy4gRHJvcCByb3VuZGVkIHRhYmxlc3Bvb25zIG9udG8gdW5ncmVhc2VkIGNvb2tpZSBzaGVldHMuCgotLS0KCioqQmFraW5nIHRpbWU6KiogOS0xMSBtaW51dGVzIG9yIHVudGlsIGdvbGRlbiBicm93bgoKKipZaWVsZDoqKiBBYm91dCA1IGRvemVuIGNvb2tpZXMiCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LWFjdGlvbnMiPgogICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1zaG93LW1hcmtkb3duLW91dHB1dCIgY2xhc3M9ImRlbW8tYnV0dG9uIj5TaG93IE1hcmtkb3duIE91dHB1dDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBpZD0ib3V0cHV0LXByZXZpZXctbWFya2Rvd24iIGNsYXNzPSJvdXRwdXQtcHJldmlldyIgYXJpYS1saXZlPSJwb2xpdGUiPjwvcHJlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBcdXsxRjNBOH0gQWR2YW5jZWQgRWRpdGluZyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDcmVhdGUgY29tcGxleCBkb2N1bWVudHMgd2l0aCBtaXhlZCBjb250ZW50IHR5cGVzLiBUaGUgZWRpdG9yIGhhbmRsZXMgYWxsIGZvcm1hdHRpbmcgc2VhbWxlc3NseS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgIGlkPSJlZGl0b3ItdGVjaG5pY2FsIgogICAgICAgICAgbGFiZWw9IlRlY2huaWNhbCBEb2N1bWVudGF0aW9uIiAKICAgICAgICAgIGRlc2NyaXB0aW9uPSJDcmVhdGUgdGVjaG5pY2FsIGRvY3Mgd2l0aCBjb2RlIGV4YW1wbGVzIGFuZCBzdHJ1Y3R1cmVkIGNvbnRlbnQiCiAgICAgICAgICB2YWx1ZT0iPGgxPkFQSSBEb2N1bWVudGF0aW9uPC9oMT48cD5XZWxjb21lIHRvIG91ciBBUEkgZG9jdW1lbnRhdGlvbi4gQmVsb3cgeW91J2xsIGZpbmQgZXhhbXBsZXMgb2YgaG93IHRvIHVzZSBvdXIgZW5kcG9pbnRzLjwvcD48aDI+QXV0aGVudGljYXRpb248L2gyPjxwPkFsbCBBUEkgcmVxdWVzdHMgcmVxdWlyZSBhdXRoZW50aWNhdGlvbiB1c2luZyBhbiBBUEkga2V5OjwvcD48cHJlPjxjb2RlPkF1dGhvcml6YXRpb246IEJlYXJlciBZT1VSX0FQSV9LRVk8L2NvZGU+PC9wcmU+PGgyPkVuZHBvaW50czwvaDI+PGgzPkdFVCAvdXNlcnM8L2gzPjxwPlJldHJpZXZlIGEgbGlzdCBvZiB1c2VycyBmcm9tIHRoZSBzeXN0ZW0uPC9wPjxwcmU+PGNvZGU+Y3VybCAtWCBHRVQgaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdXNlcnMgXFwKICAtSCAmcXVvdDtBdXRob3JpemF0aW9uOiBCZWFyZXIgWU9VUl9BUElfS0VZJnF1b3Q7PC9jb2RlPjwvcHJlPjxibG9ja3F1b3RlPk5vdGU6IFJhdGUgbGltaXRpbmcgYXBwbGllcyB0byBhbGwgZW5kcG9pbnRzLiBZb3UgY2FuIG1ha2UgdXAgdG8gMTAwIHJlcXVlc3RzIHBlciBtaW51dGUuPC9ibG9ja3F1b3RlPjxoMz5QT1NUIC91c2VyczwvaDM+PHA+Q3JlYXRlIGEgbmV3IHVzZXIgaW4gdGhlIHN5c3RlbS48L3A+PHByZT48Y29kZT57CiAgJnF1b3Q7bmFtZSZxdW90OzogJnF1b3Q7Sm9obiBEb2UmcXVvdDssCiAgJnF1b3Q7ZW1haWwmcXVvdDs6ICZxdW90O2pvaG5AZXhhbXBsZS5jb20mcXVvdDssCiAgJnF1b3Q7cm9sZSZxdW90OzogJnF1b3Q7dXNlciZxdW90Owp9PC9jb2RlPjwvcHJlPjxocj48cD5Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIG91ciBjb21wbGV0ZSBkb2N1bWVudGF0aW9uLjwvcD4iCiAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gXHUyNjk5XHVGRTBGIEZvcm0gSW50ZWdyYXRpb24ifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgU2VhbWxlc3NseSBpbnRlZ3JhdGVzIHdpdGggZGVlcy1mb3JtIGZvciBjb21wbGV0ZSBmb3JtIHNvbHV0aW9ucy4gCiAgICAgICAgICBBbGwgc3RhbmRhcmQgZm9ybSBmZWF0dXJlcyBsaWtlIHZhbGlkYXRpb24sIHJlcXVpcmVkIGZpZWxkcywgYW5kIGRhdGEgYmluZGluZyB3b3JrIG91dCBvZiB0aGUgYm94LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgbGFiZWw9IkFydGljbGUgVGl0bGUiIAogICAgICAgICAgICByZXF1aXJlZD0idHJ1ZSIKICAgICAgICAgICAgdmFsdWU9IkhvdyB0byBCdWlsZCBNb2Rlcm4gV2ViIEFwcGxpY2F0aW9ucyIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgICAgaWQ9ImVkaXRvci1mb3JtLWludGVncmF0aW9uIgogICAgICAgICAgICBsYWJlbD0iQXJ0aWNsZSBDb250ZW50IiAKICAgICAgICAgICAgZGVzY3JpcHRpb249IldyaXRlIHlvdXIgYXJ0aWNsZSBjb250ZW50IGhlcmUiCiAgICAgICAgICAgIHJlcXVpcmVkPSJ0cnVlIgogICAgICAgICAgICBvdXRwdXRGb3JtYXQ9Im1hcmtkb3duIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgIGxhYmVsPSJUYWdzIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iQWRkIHJlbGV2YW50IHRhZ3MgZm9yIHlvdXIgYXJ0aWNsZSIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjguIFx1ezFGOUU5fSBQcm9ncmFtbWF0aWMgQmxvY2sgQ3JlYXRpb24ifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgQ3JlYXRlIGNvbnRlbnQgcHJvZ3JhbW1hdGljYWxseSB1c2luZyB0aGUgYmxvY2sgQVBJIGZvciBkeW5hbWljIGRvY3VtZW50IGdlbmVyYXRpb24uCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcKICAgICAgICAgIGlkPSJlZGl0b3ItcHJvZ3JhbW1hdGljIgogICAgICAgICAgbGFiZWw9IlByb2dyYW1tYXRpY2FsbHkgR2VuZXJhdGVkIENvbnRlbnQiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVGhpcyBjb250ZW50IHdhcyBjcmVhdGVkIHVzaW5nIHRoZSBpbXBvcnRCbG9ja3MgQVBJIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWdlbmVyYXRlLXJlcG9ydCIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgR2VuZXJhdGUgUmVwb3J0CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWdlbmVyYXRlLXJlY2lwZSIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgR2VuZXJhdGUgUmVjaXBlCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWNsZWFyLWVkaXRvciIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgQ2xlYXIgRWRpdG9yCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjkuIFx1ezFGNEU0fSBFeHBvcnQvSW1wb3J0IEZlYXR1cmVzIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFRoZSBXWVNJV1lHIGVkaXRvciBwcm92aWRlcyBtdWx0aXBsZSBleHBvcnQgZm9ybWF0cyBhbmQgbG9zc2xlc3Mgc2F2ZS9yZXN0b3JlIGNhcGFiaWxpdGllcyBmb3IgbWF4aW11bSBmbGV4aWJpbGl0eS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJleHBvcnQtaW5mby1jYXJkIGJsb2NrcyI+CiAgICAgICAgICAgIDxzdHJvbmc+TG9zc2xlc3MgQmxvY2tzPC9zdHJvbmc+CiAgICAgICAgICAgIDxwPkV4cG9ydCBhbmQgaW1wb3J0IHJhdyBibG9jayBzdHJ1Y3R1cmUgZm9yIHBlcmZlY3Qgcm91bmQtdHJpcCBlZGl0aW5nPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJleHBvcnQtaW5mby1jYXJkIGh0bWwiPgogICAgICAgICAgICA8c3Ryb25nPkhUTUwgRXhwb3J0PC9zdHJvbmc+CiAgICAgICAgICAgIDxwPkdldCBjbGVhbiwgc2VtYW50aWMgSFRNTCByZWdhcmRsZXNzIG9mIG91dHB1dCBmb3JtYXQgc2V0dGluZzwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tY2FyZCBtYXJrZG93biI+CiAgICAgICAgICAgIDxzdHJvbmc+TWFya2Rvd24gRXhwb3J0PC9zdHJvbmc+CiAgICAgICAgICAgIDxwPkV4cG9ydCBhcyBNYXJrZG93biBmb3IgZG9jcywgUkVBRE1FcywgYW5kIHN0YXRpYyBzaXRlczwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tY2FyZCBzdGF0ZSI+CiAgICAgICAgICAgIDxzdHJvbmc+U3RhdGUgTWFuYWdlbWVudDwvc3Ryb25nPgogICAgICAgICAgICA8cD5TYXZlIGFuZCByZXN0b3JlIGNvbXBsZXRlIGVkaXRvciBzdGF0ZSBpbmNsdWRpbmcgc2V0dGluZ3M8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnCiAgICAgICAgICBpZD0iZWRpdG9yLWV4cG9ydCIKICAgICAgICAgIGxhYmVsPSJFeHBvcnQgRGVtbyBFZGl0b3IiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVHJ5IHRoZSBleHBvcnQgYnV0dG9ucyBiZWxvdyB0byBzZWUgZGlmZmVyZW50IG91dHB1dCBmb3JtYXRzIgogICAgICAgICAgdmFsdWU9IjxoMT5Tb2Z0d2FyZSBSZWxlYXNlIE5vdGVzPC9oMT48cD48c3Ryb25nPlZlcnNpb24gMi41LjA8L3N0cm9uZz4gLSBSZWxlYXNlZCBEZWNlbWJlciAxNSwgMjAyNDwvcD48aDI+8J+OiSBOZXcgRmVhdHVyZXM8L2gyPjx1bD48bGk+QWRkZWQgZGFyayBtb2RlIHN1cHBvcnQgYWNyb3NzIGFsbCBjb21wb25lbnRzPC9saT48bGk+SW1wbGVtZW50ZWQgcmVhbC10aW1lIGNvbGxhYm9yYXRpb24gZmVhdHVyZXM8L2xpPjxsaT5OZXcgZGFzaGJvYXJkIGFuYWx5dGljcyB3aWRnZXRzPC9saT48bGk+RXhwb3J0IGZ1bmN0aW9uYWxpdHkgZm9yIGFsbCByZXBvcnQgdHlwZXM8L2xpPjwvdWw+PGgyPvCfkJsgQnVnIEZpeGVzPC9oMj48dWw+PGxpPkZpeGVkIG1lbW9yeSBsZWFrIGluIGRhdGEgcHJvY2Vzc2luZyBtb2R1bGU8L2xpPjxsaT5SZXNvbHZlZCBhdXRoZW50aWNhdGlvbiB0aW1lb3V0IGlzc3VlczwvbGk+PGxpPkNvcnJlY3RlZCB0aW1lem9uZSBoYW5kbGluZyBpbiBzY2hlZHVsZWQgdGFza3M8L2xpPjwvdWw+PGgyPuKaoSBQZXJmb3JtYW5jZSBJbXByb3ZlbWVudHM8L2gyPjxibG9ja3F1b3RlPlBhZ2UgbG9hZCB0aW1lcyByZWR1Y2VkIGJ5IDQwJSB0aHJvdWdoIGxhenkgbG9hZGluZyBhbmQgY29kZSBzcGxpdHRpbmc8L2Jsb2NrcXVvdGU+PGgyPvCflKcgVGVjaG5pY2FsIERldGFpbHM8L2gyPjxwcmU+PGNvZGU+Ly8gTmV3IEFQSSBlbmRwb2ludCBmb3IgYmF0Y2ggb3BlcmF0aW9ucwpQT1NUIC9hcGkvdjIvYmF0Y2gKewogICZxdW90O29wZXJhdGlvbnMmcXVvdDs6IFsKICAgIHsgJnF1b3Q7bWV0aG9kJnF1b3Q7OiAmcXVvdDtHRVQmcXVvdDssICZxdW90O3BhdGgmcXVvdDs6ICZxdW90Oy91c2Vycy8xMjMmcXVvdDsgfSwKICAgIHsgJnF1b3Q7bWV0aG9kJnF1b3Q7OiAmcXVvdDtQVVQmcXVvdDssICZxdW90O3BhdGgmcXVvdDs6ICZxdW90Oy9zZXR0aW5ncyZxdW90OywgJnF1b3Q7Ym9keSZxdW90Ozogey4uLn0gfQogIF0KfTwvY29kZT48L3ByZT48aDI+8J+SoSBNaWdyYXRpb24gR3VpZGU8L2gyPjxvbD48bGk+VXBkYXRlIHlvdXIgZGVwZW5kZW5jaWVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnM8L2xpPjxsaT5SdW4gZGF0YWJhc2UgbWlncmF0aW9uczogPGNvZGU+bnBtIHJ1biBtaWdyYXRlPC9jb2RlPjwvbGk+PGxpPkNsZWFyIGNhY2hlOiA8Y29kZT5ucG0gcnVuIGNhY2hlOmNsZWFyPC9jb2RlPjwvbGk+PGxpPlJlc3RhcnQgYWxsIHNlcnZpY2VzPC9saT48L29sPjxocj48cD5Gb3IgcXVlc3Rpb25zIG9yIGlzc3VlcywgcGxlYXNlIGNvbnRhY3QgdGhlIGRldmVsb3BtZW50IHRlYW0gb3IgZmlsZSBhIHRpY2tldCBpbiBvdXIgaXNzdWUgdHJhY2tlci48L3A+IgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWV4cG9ydC1ibG9ja3MiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIEV4cG9ydCBCbG9ja3MKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZXhwb3J0LWh0bWwiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIEV4cG9ydCBhcyBIVE1MCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWV4cG9ydC1tYXJrZG93biIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgRXhwb3J0IGFzIE1hcmtkb3duCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXNhdmUtc3RhdGUiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIFNhdmUgU3RhdGUKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tcmVzdG9yZS1zdGF0ZSIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgUmVzdG9yZSBTdGF0ZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYH0pO3ZhciBEMT1mKCgpPT57fSk7dmFyIFphLGN1PWYoKCk9PntEMSgpO1phPWNsYXNze3N0YXRpYyBIRUFESU5HX1BBVFRFUk5TPVt7cGF0dGVybjovXiNbXHNcdTAwQTBdJC8sdHlwZToiaGVhZGluZy0xIn0se3BhdHRlcm46L14jI1tcc1x1MDBBMF0kLyx0eXBlOiJoZWFkaW5nLTIifSx7cGF0dGVybjovXiMjI1tcc1x1MDBBMF0kLyx0eXBlOiJoZWFkaW5nLTMifV07c3RhdGljIExJU1RfUEFUVEVSTlM9W3twYXR0ZXJuOi9eWyotXVtcc1x1MDBBMF0kLyx0eXBlOiJidWxsZXQifSx7cGF0dGVybjovXihcZCspXC5bXHNcdTAwQTBdJC8sdHlwZToib3JkZXJlZCJ9LHtwYXR0ZXJuOi9eKFxkKylcKVtcc1x1MDBBMF0kLyx0eXBlOiJvcmRlcmVkIn1dO3N0YXRpYyBRVU9URV9QQVRURVJOPS9ePltcc1x1MDBBMF0kLztzdGF0aWMgQ09ERV9QQVRURVJOPS9eYGBgJC87c3RhdGljIERJVklERVJfUEFUVEVSTlM9WyItLS0iLCIqKioiLCJfX18iXTtzdGF0aWMgY2hlY2tIZWFkaW5nU2hvcnRjdXQodCl7Zm9yKGxldHtwYXR0ZXJuOnIsdHlwZTphfW9mIHRoaXMuSEVBRElOR19QQVRURVJOUylpZihyLnRlc3QodCkpcmV0dXJue3R5cGU6YX07cmV0dXJuIG51bGx9c3RhdGljIGNoZWNrTGlzdFNob3J0Y3V0KHQpe2ZvcihsZXR7cGF0dGVybjpyLHR5cGU6YX1vZiB0aGlzLkxJU1RfUEFUVEVSTlMpaWYoci50ZXN0KHQpKXJldHVybnt0eXBlOiJsaXN0IixsaXN0VHlwZTphfTtyZXR1cm4gbnVsbH1zdGF0aWMgY2hlY2tRdW90ZVNob3J0Y3V0KHQpe3JldHVybiB0aGlzLlFVT1RFX1BBVFRFUk4udGVzdCh0KX1zdGF0aWMgY2hlY2tDb2RlU2hvcnRjdXQodCl7cmV0dXJuIHRoaXMuQ09ERV9QQVRURVJOLnRlc3QodCl9c3RhdGljIGNoZWNrRGl2aWRlclNob3J0Y3V0KHQpe3JldHVybiB0aGlzLkRJVklERVJfUEFUVEVSTlMuaW5jbHVkZXModCl9c3RhdGljIGdldFNsYXNoTWVudUl0ZW1zKCl7cmV0dXJuW3t0eXBlOiJwYXJhZ3JhcGgiLGxhYmVsOiJQYXJhZ3JhcGgiLGljb246Imx1Y2lkZTpwaWxjcm93In0se3R5cGU6ImhlYWRpbmctMSIsbGFiZWw6IkhlYWRpbmcgMSIsaWNvbjoibHVjaWRlOmhlYWRpbmcxIn0se3R5cGU6ImhlYWRpbmctMiIsbGFiZWw6IkhlYWRpbmcgMiIsaWNvbjoibHVjaWRlOmhlYWRpbmcyIn0se3R5cGU6ImhlYWRpbmctMyIsbGFiZWw6IkhlYWRpbmcgMyIsaWNvbjoibHVjaWRlOmhlYWRpbmczIn0se3R5cGU6InF1b3RlIixsYWJlbDoiUXVvdGUiLGljb246Imx1Y2lkZTpxdW90ZSJ9LHt0eXBlOiJjb2RlIixsYWJlbDoiQ29kZSBCbG9jayIsaWNvbjoibHVjaWRlOmZpbGVDb2RlIn0se3R5cGU6Imxpc3QiLGxhYmVsOiJCdWxsZXQgTGlzdCIsaWNvbjoibHVjaWRlOmxpc3QifSx7dHlwZToiaW1hZ2UiLGxhYmVsOiJJbWFnZSIsaWNvbjoibHVjaWRlOmltYWdlIn0se3R5cGU6ImRpdmlkZXIiLGxhYmVsOiJEaXZpZGVyIixpY29uOiJsdWNpZGU6bWludXMifSx7dHlwZToieW91dHViZSIsbGFiZWw6IllvdVR1YmUiLGljb246Imx1Y2lkZTp5b3V0dWJlIn0se3R5cGU6Im1hcmtkb3duIixsYWJlbDoiTWFya2Rvd24iLGljb246Imx1Y2lkZTpmaWxlVGV4dCJ9LHt0eXBlOiJodG1sIixsYWJlbDoiSFRNTCIsaWNvbjoibHVjaWRlOmNvZGUifSx7dHlwZToiYXR0YWNobWVudCIsbGFiZWw6IkZpbGUgQXR0YWNobWVudCIsaWNvbjoibHVjaWRlOnBhcGVyY2xpcCJ9XX1zdGF0aWMgZ2VuZXJhdGVCbG9ja0lkKCl7cmV0dXJuYGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gfX19KTt2YXIgX2YsQm8sTkYsRTZlPWYoKCk9Pnt1ZSgpO2tzKCk7aXIoKTtEMSgpO2N1KCk7UWUoKTtfZj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LEJvPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxORj0oKCk9PntsZXQgZT1bcmUoImRlZXMtc2xhc2gtbWVudSIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdO3ZhciBSPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgQz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtzZSgpXSxjPVtzZSgpXSxkPVtzZSgpXSx2PVtzZSgpXSx5PVtzZSgpXSxfZih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJ2aXNpYmxlImluIFMsZ2V0OlM9PlMudmlzaWJsZSxzZXQ6KFMsTyk9PntTLnZpc2libGU9T319LG1ldGFkYXRhOkN9LHMsbyksX2YodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+InBvc2l0aW9uImluIFMsZ2V0OlM9PlMucG9zaXRpb24sc2V0OihTLE8pPT57Uy5wb3NpdGlvbj1PfX0sbWV0YWRhdGE6Q30sbCx1KSxfZih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+ImZpbHRlciJpbiBTLGdldDpTPT5TLmZpbHRlcixzZXQ6KFMsTyk9PntTLmZpbHRlcj1PfX0sbWV0YWRhdGE6Q30saCxtKSxfZih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJzZWxlY3RlZEluZGV4ImluIFMsZ2V0OlM9PlMuc2VsZWN0ZWRJbmRleCxzZXQ6KFMsTyk9PntTLnNlbGVjdGVkSW5kZXg9T319LG1ldGFkYXRhOkN9LGIsZyksX2YodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51WkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4ibWVudVpJbmRleCJpbiBTLGdldDpTPT5TLm1lbnVaSW5kZXgsc2V0OihTLE8pPT57Uy5tZW51WkluZGV4PU99fSxtZXRhZGF0YTpDfSx3LGspLF9mKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOkN9LG51bGwsciksUj1hPXQudmFsdWUsQyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpDfSl9c3RhdGljIGluc3RhbmNlO3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBSLmluc3RhbmNlfHwoUi5pbnN0YW5jZT1uZXcgUixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFIuaW5zdGFuY2UpKSxSLmluc3RhbmNlfSNlPUJvKHRoaXMscywhMSk7Z2V0IHZpc2libGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmlzaWJsZShDKXt0aGlzLiNlPUN9I3Q9KEJvKHRoaXMsbyksQm8odGhpcyxsLHt4OjAseTowfSkpO2dldCBwb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBwb3NpdGlvbihDKXt0aGlzLiN0PUN9I3I9KEJvKHRoaXMsdSksQm8odGhpcyxoLCIiKSk7Z2V0IGZpbHRlcigpe3JldHVybiB0aGlzLiNyfXNldCBmaWx0ZXIoQyl7dGhpcy4jcj1DfSNhPShCbyh0aGlzLG0pLEJvKHRoaXMsYiwwKSk7Z2V0IHNlbGVjdGVkSW5kZXgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0ZWRJbmRleChDKXt0aGlzLiNhPUN9I2k9KEJvKHRoaXMsZyksQm8odGhpcyx3LDFlMykpO2dldCBtZW51WkluZGV4KCl7cmV0dXJuIHRoaXMuI2l9c2V0IG1lbnVaSW5kZXgoQyl7dGhpcy4jaT1DfWNhbGxiYWNrPShCbyh0aGlzLGspLG51bGwpO3N0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgfQoKICAgICAgLnNsYXNoLW1lbnUgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgbWluLXdpZHRoOiAyMjBweDsKICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGFuaW1hdGlvbjogZmFkZUluU2NhbGUgMC4xNXMgZWFzZS1vdXQ7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgZmFkZUluU2NhbGUgewogICAgICAgIGZyb20gewogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCkgdHJhbnNsYXRlWSgtMnB4KTsKICAgICAgICB9CiAgICAgICAgdG8gewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51LWl0ZW0gewogICAgICAgIHBhZGRpbmc6IDhweCAxMHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLnNsYXNoLW1lbnUtaXRlbTpob3ZlciwKICAgICAgLnNsYXNoLW1lbnUtaXRlbS5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51LWl0ZW0gLmljb24gewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnNsYXNoLW1lbnUtaXRlbTpob3ZlciAuaWNvbiwKICAgICAgLnNsYXNoLW1lbnUtaXRlbS5zZWxlY3RlZCAuaWNvbiB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7aWYoIXRoaXMudmlzaWJsZSlyZXR1cm4gTWBgO3RoaXMuc3R5bGUuekluZGV4PXRoaXMubWVudVpJbmRleC50b1N0cmluZygpO2xldCBDPXRoaXMuZ2V0RmlsdGVyZWRNZW51SXRlbXMoKTtyZXR1cm4gTWAKICAgICAgPGRpdiAKICAgICAgICBjbGFzcz0ic2xhc2gtbWVudSIgCiAgICAgICAgc3R5bGU9ImxlZnQ6ICR7dGhpcy5wb3NpdGlvbi54fXB4OyB0b3A6ICR7dGhpcy5wb3NpdGlvbi55fXB4OyIKICAgICAgICB0YWJpbmRleD0iLTEiCiAgICAgICAgZGF0YS1tZW51LXR5cGU9InNsYXNoIgogICAgICA+CiAgICAgICAgJHtDLm1hcCgoUyxPKT0+TWAKICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgIGNsYXNzPSJzbGFzaC1tZW51LWl0ZW0gJHtPPT09dGhpcy5zZWxlY3RlZEluZGV4PyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICBkYXRhLWl0ZW0tdHlwZT0iJHtTLnR5cGV9IgogICAgICAgICAgICBkYXRhLWl0ZW0taW5kZXg9IiR7T30iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9Imljb24iIC5pY29uPSIke1MuaWNvbn0iIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuPiR7Uy5sYWJlbH08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKX0KICAgICAgPC9kaXY+CiAgICBgfWdldEZpbHRlcmVkTWVudUl0ZW1zKCl7cmV0dXJuIFphLmdldFNsYXNoTWVudUl0ZW1zKCkuZmlsdGVyKFM9PnRoaXMuZmlsdGVyPT09IiJ8fFMubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmZpbHRlci50b0xvd2VyQ2FzZSgpKSl9c2VsZWN0SXRlbShDKXt0aGlzLmNhbGxiYWNrJiZ0aGlzLmNhbGxiYWNrKEMpLHRoaXMuaGlkZSgpfXNob3coQyxTKXt0aGlzLnBvc2l0aW9uPUMsdGhpcy5jYWxsYmFjaz1TLHRoaXMuZmlsdGVyPSIiLHRoaXMuc2VsZWN0ZWRJbmRleD0wLHRoaXMubWVudVpJbmRleD1yYS5nZXROZXh0WkluZGV4KCkscmEucmVnaXN0ZXIodGhpcyx0aGlzLm1lbnVaSW5kZXgpLHRoaXMuc3R5bGUuekluZGV4PXRoaXMubWVudVpJbmRleC50b1N0cmluZygpLHRoaXMudmlzaWJsZT0hMH1oaWRlKCl7dGhpcy52aXNpYmxlPSExLHRoaXMuY2FsbGJhY2s9bnVsbCx0aGlzLmZpbHRlcj0iIix0aGlzLnNlbGVjdGVkSW5kZXg9MCxyYS51bnJlZ2lzdGVyKHRoaXMpfXVwZGF0ZUZpbHRlcihDKXt0aGlzLmZpbHRlcj1DLHRoaXMuc2VsZWN0ZWRJbmRleD0wfW5hdmlnYXRlKEMpe2xldCBTPXRoaXMuZ2V0RmlsdGVyZWRNZW51SXRlbXMoKTtDPT09ImRvd24iP3RoaXMuc2VsZWN0ZWRJbmRleD0odGhpcy5zZWxlY3RlZEluZGV4KzEpJVMubGVuZ3RoOnRoaXMuc2VsZWN0ZWRJbmRleD10aGlzLnNlbGVjdGVkSW5kZXg9PT0wP1MubGVuZ3RoLTE6dGhpcy5zZWxlY3RlZEluZGV4LTF9c2VsZWN0Q3VycmVudCgpe2xldCBDPXRoaXMuZ2V0RmlsdGVyZWRNZW51SXRlbXMoKTtDW3RoaXMuc2VsZWN0ZWRJbmRleF0mJnRoaXMuc2VsZWN0SXRlbShDW3RoaXMuc2VsZWN0ZWRJbmRleF0udHlwZSl9Zmlyc3RVcGRhdGVkKCl7dGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLEM9PntsZXQgUz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zbGFzaC1tZW51Iik7UyYmUy5jb250YWlucyhDLnRhcmdldCkmJihDLnByZXZlbnREZWZhdWx0KCksQy5zdG9wUHJvcGFnYXRpb24oKSl9KSx0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixDPT57bGV0IE89Qy50YXJnZXQuY2xvc2VzdCgiLnNsYXNoLW1lbnUtaXRlbSIpO2lmKE8pe0MucHJldmVudERlZmF1bHQoKSxDLnN0b3BQcm9wYWdhdGlvbigpO2xldCBEPU8uZ2V0QXR0cmlidXRlKCJkYXRhLWl0ZW0tdHlwZSIpO0QmJnRoaXMuc2VsZWN0SXRlbShEKX19KSx0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLEM9PntsZXQgTz1DLnRhcmdldC5jbG9zZXN0KCIuc2xhc2gtbWVudS1pdGVtIik7aWYoTyl7bGV0IEQ9cGFyc2VJbnQoTy5nZXRBdHRyaWJ1dGUoImRhdGEtaXRlbS1pbmRleCIpfHwiMCIsMTApO3RoaXMuc2VsZWN0ZWRJbmRleD1EfX0sITApLHRoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLEM9PntsZXQgUz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zbGFzaC1tZW51Iik7UyYmUy5jb250YWlucyhDLnRhcmdldCkmJihDLnByZXZlbnREZWZhdWx0KCksQy5zdG9wUHJvcGFnYXRpb24oKSl9LCEwKX1zdGF0aWN7Qm8oYSxyKX19O3JldHVybiBSPWF9KSgpfSk7dmFyIFllLHBsPWYoKCk9PntZZT1jbGFzc3tzdGF0aWMgZ2V0U2VsZWN0aW9uSW5mbyguLi50KXtsZXQgcj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoY29uc29sZS5sb2coIld5c2l3eWdTZWxlY3Rpb24uZ2V0U2VsZWN0aW9uSW5mbyAtIHNlbGVjdGlvbjoiLHIsInJhbmdlQ291bnQ6IixyPy5yYW5nZUNvdW50KSwhcilyZXR1cm4gbnVsbDtpZigiZ2V0Q29tcG9zZWRSYW5nZXMiaW4gciYmdHlwZW9mIHIuZ2V0Q29tcG9zZWRSYW5nZXM9PSJmdW5jdGlvbiIpe2NvbnNvbGUubG9nKCJVc2luZyBnZXRDb21wb3NlZFJhbmdlcyB3aXRoIix0Lmxlbmd0aCwic2hhZG93IHJvb3RzIik7dHJ5e2xldCBhPXIuZ2V0Q29tcG9zZWRSYW5nZXMoe3NoYWRvd1Jvb3RzOnR9KTtpZihjb25zb2xlLmxvZygiZ2V0Q29tcG9zZWRSYW5nZXMgcmV0dXJuZWQiLGEubGVuZ3RoLCJyYW5nZXMiKSxhLmxlbmd0aD4wKXtsZXQgaT1hWzBdO3JldHVybntzdGFydENvbnRhaW5lcjppLnN0YXJ0Q29udGFpbmVyLHN0YXJ0T2Zmc2V0Omkuc3RhcnRPZmZzZXQsZW5kQ29udGFpbmVyOmkuZW5kQ29udGFpbmVyLGVuZE9mZnNldDppLmVuZE9mZnNldCxjb2xsYXBzZWQ6aS5jb2xsYXBzZWR9fX1jYXRjaChhKXtjb25zb2xlLndhcm4oImdldENvbXBvc2VkUmFuZ2VzIGZhaWxlZCwgZmFsbGluZyBiYWNrIHRvIGdldFJhbmdlQXQ6IixhKX19ZWxzZSBjb25zb2xlLmxvZygiZ2V0Q29tcG9zZWRSYW5nZXMgbm90IGF2YWlsYWJsZSwgdXNpbmcgZmFsbGJhY2siKTtpZihyLnJhbmdlQ291bnQ+MCl7bGV0IGE9ci5nZXRSYW5nZUF0KDApO3JldHVybntzdGFydENvbnRhaW5lcjphLnN0YXJ0Q29udGFpbmVyLHN0YXJ0T2Zmc2V0OmEuc3RhcnRPZmZzZXQsZW5kQ29udGFpbmVyOmEuZW5kQ29udGFpbmVyLGVuZE9mZnNldDphLmVuZE9mZnNldCxjb2xsYXBzZWQ6YS5jb2xsYXBzZWR9fXJldHVybiBudWxsfXN0YXRpYyBpc1NlbGVjdGlvbkluRWxlbWVudCh0LHIpe2xldCBhPXI/dGhpcy5nZXRTZWxlY3Rpb25JbmZvKHIpOnRoaXMuZ2V0U2VsZWN0aW9uSW5mbygpO3JldHVybiBhP3QuY29udGFpbnMoYS5zdGFydENvbnRhaW5lcil8fHQuY29udGFpbnMoYS5lbmRDb250YWluZXIpOiExfXN0YXRpYyBnZXRTZWxlY3RlZFRleHQoKXtsZXQgdD13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7cmV0dXJuIHQ/dC50b1N0cmluZygpOiIifXN0YXRpYyBjcmVhdGVSYW5nZUZyb21JbmZvKHQpe2xldCByPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHIuc2V0U3RhcnQodC5zdGFydENvbnRhaW5lcix0LnN0YXJ0T2Zmc2V0KSxyLnNldEVuZCh0LmVuZENvbnRhaW5lcix0LmVuZE9mZnNldCkscn1zdGF0aWMgc2V0U2VsZWN0aW9uRnJvbVJhbmdlKHQpe2xldCByPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtyJiYoci5yZW1vdmVBbGxSYW5nZXMoKSxyLmFkZFJhbmdlKHQpKX1zdGF0aWMgZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQodCwuLi5yKXtsZXQgYT1yLmxlbmd0aD4wP3RoaXMuZ2V0U2VsZWN0aW9uSW5mbyguLi5yKTp0aGlzLmdldFNlbGVjdGlvbkluZm8oKTtpZighYXx8IWEuY29sbGFwc2VkKXJldHVybiBudWxsO3RyeXtsZXQgaT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO2lmKGkuc2VsZWN0Tm9kZUNvbnRlbnRzKHQpLHRoaXMuY29udGFpbnNBY3Jvc3NTaGFkb3dET00odCxhLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gaS5zZXRFbmQoYS5zdGFydENvbnRhaW5lcixhLnN0YXJ0T2Zmc2V0KSxpLnRvU3RyaW5nKCkubGVuZ3RoO3tsZXQgcz10LnRleHRDb250ZW50fHwiIixvPWEuc3RhcnRDb250YWluZXIudGV4dENvbnRlbnR8fCIiO3JldHVybiBhLnN0YXJ0T2Zmc2V0PT09MD8wOmEuc3RhcnRPZmZzZXQ9PT1vLmxlbmd0aD9zLmxlbmd0aDooY29uc29sZS53YXJuKCJTZWxlY3Rpb24gY29udGFpbmVyIG5vdCB3aXRoaW4gZWxlbWVudCwgdXNpbmcgdGV4dCBtYXRjaGluZyBmYWxsYmFjayIpLGEuc3RhcnRPZmZzZXQpfX1jYXRjaChpKXtyZXR1cm4gY29uc29sZS53YXJuKCJGYWlsZWQgdG8gZ2V0IGN1cnNvciBwb3NpdGlvbjoiLGkpLG51bGx9fXN0YXRpYyBnZXRDdXJzb3JQb3NpdGlvbkZyb21Qb2ludCh0LHIsYSwuLi5pKXtpZigiY2FyZXRQb3NpdGlvbkZyb21Qb2ludCJpbiBkb2N1bWVudCYmZG9jdW1lbnQuY2FyZXRQb3NpdGlvbkZyb21Qb2ludCl7bGV0IG49bnVsbDt0cnl7bj1kb2N1bWVudC5jYXJldFBvc2l0aW9uRnJvbVBvaW50KHQsciwuLi5pKX1jYXRjaHtuPWRvY3VtZW50LmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQodCxyKX1pZihuJiZhLmNvbnRhaW5zKG4ub2Zmc2V0Tm9kZSkpcmV0dXJuIHRoaXMuZ2V0T2Zmc2V0SW5FbGVtZW50KG4ub2Zmc2V0Tm9kZSxuLm9mZnNldCxhKX1pZigiY2FyZXRSYW5nZUZyb21Qb2ludCJpbiBkb2N1bWVudCl7bGV0IG49ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCh0LHIpO2lmKG4mJmEuY29udGFpbnMobi5zdGFydENvbnRhaW5lcikpcmV0dXJuIHRoaXMuZ2V0T2Zmc2V0SW5FbGVtZW50KG4uc3RhcnRDb250YWluZXIsbi5zdGFydE9mZnNldCxhKX1yZXR1cm4gbnVsbH1zdGF0aWMgZ2V0T2Zmc2V0SW5FbGVtZW50KHQscixhKXtsZXQgaT0wLG49ITEscz1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGEsTm9kZUZpbHRlci5TSE9XX1RFWFQsbnVsbCksbztmb3IoO289cy5uZXh0Tm9kZSgpOylpZihvPT09dCl7aSs9cixuPSEwO2JyZWFrfWVsc2UgaSs9by50ZXh0Q29udGVudD8ubGVuZ3RofHwwO3JldHVybiBuP2k6MH1zdGF0aWMgc2V0Q3Vyc29yUG9zaXRpb24odCxyKXtsZXQgYT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKHQsTm9kZUZpbHRlci5TSE9XX1RFWFQsbnVsbCksaT0wLG49bnVsbCxzPTA7Zm9yKDthLm5leHROb2RlKCk7KXtsZXQgbz1hLmN1cnJlbnROb2RlLGM9by50ZXh0Q29udGVudD8ubGVuZ3RofHwwO2lmKGkrYz49cil7bj1vLHM9ci1pO2JyZWFrfWkrPWN9aWYobil7bGV0IG89ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtvLnNldFN0YXJ0KG4scyksby5jb2xsYXBzZSghMCksdGhpcy5zZXRTZWxlY3Rpb25Gcm9tUmFuZ2Uobyl9fXN0YXRpYyBjb250YWluc0Fjcm9zc1NoYWRvd0RPTSh0LHIpe2lmKCF0fHwhcilyZXR1cm4hMTtsZXQgYT1yO2Zvcig7YTspe2lmKGE9PT10KXJldHVybiEwO2lmKGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUmJmEuaG9zdCl7bGV0IGk9YTtpZihpLmNvbnRhaW5zKHQpKXJldHVybiExO2E9aS5ob3N0fWVsc2UgYT1hLnBhcmVudE5vZGV9cmV0dXJuITF9fX0pO3ZhciBQYyxJNmU9ZigoKT0+e3VlKCk7cGwoKTtQYz1jbGFzc3tzdGF0aWMgZm9ybWF0QnV0dG9ucz1be2NvbW1hbmQ6ImJvbGQiLGljb246IkIiLGxhYmVsOiJCb2xkIixzaG9ydGN1dDoiXHUyMzE4QiJ9LHtjb21tYW5kOiJpdGFsaWMiLGljb246IkkiLGxhYmVsOiJJdGFsaWMiLHNob3J0Y3V0OiJcdTIzMThJIn0se2NvbW1hbmQ6InVuZGVybGluZSIsaWNvbjoiVSIsbGFiZWw6IlVuZGVybGluZSIsc2hvcnRjdXQ6Ilx1MjMxOFUifSx7Y29tbWFuZDoic3RyaWtlVGhyb3VnaCIsaWNvbjoiU1x1MDMzNiIsbGFiZWw6IlN0cmlrZXRocm91Z2gifSx7Y29tbWFuZDoiY29kZSIsaWNvbjoieyB9IixsYWJlbDoiSW5saW5lIENvZGUifSx7Y29tbWFuZDoibGluayIsaWNvbjoiXHV7MUY1MTd9IixsYWJlbDoiTGluayIsc2hvcnRjdXQ6Ilx1MjMxOEsifV07c3RhdGljIHJlbmRlckZvcm1hdHRpbmdNZW51KHQscil7cmV0dXJuIE1gCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9ImZvcm1hdHRpbmctbWVudSIgCiAgICAgICAgc3R5bGU9InRvcDogJHt0Lnl9cHg7IGxlZnQ6ICR7dC54fXB4OyIKICAgICAgICBAbW91c2Vkb3duPSIke2E9PnthLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKX19IgogICAgICAgIEBjbGljaz0iJHthPT5hLnN0b3BQcm9wYWdhdGlvbigpfSIKICAgICAgPgogICAgICAgICR7dGhpcy5mb3JtYXRCdXR0b25zLm1hcChhPT5NYAogICAgICAgICAgPGJ1dHRvbiAKICAgICAgICAgICAgY2xhc3M9ImZvcm1hdC1idXR0b24gJHthLmNvbW1hbmR9IgogICAgICAgICAgICBAY2xpY2s9IiR7KCk9PnIoYS5jb21tYW5kKX0iCiAgICAgICAgICAgIHRpdGxlPSIke2EubGFiZWx9JHthLnNob3J0Y3V0P2AgKCR7YS5zaG9ydGN1dH0pYDoiIn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSIke2EuY29tbWFuZD09PSJjb2RlIj8iY29kZS1pY29uIjoiIn0iPiR7YS5pY29ufTwvc3Bhbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGljIGFwcGx5Rm9ybWF0KHQscixhLGkpe2xldCBuO2lmKGEpbj1hO2Vsc2V7bGV0IHM9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFzfHxzLnJhbmdlQ291bnQ9PT0wKXJldHVybiExO249cy5nZXRSYW5nZUF0KDApfXN3aXRjaCh0KXtjYXNlImJvbGQiOnRoaXMud3JhcFNlbGVjdGlvbihuLCJzdHJvbmciKTticmVhaztjYXNlIml0YWxpYyI6dGhpcy53cmFwU2VsZWN0aW9uKG4sImVtIik7YnJlYWs7Y2FzZSJ1bmRlcmxpbmUiOnRoaXMud3JhcFNlbGVjdGlvbihuLCJ1Iik7YnJlYWs7Y2FzZSJzdHJpa2VUaHJvdWdoIjp0aGlzLndyYXBTZWxlY3Rpb24obiwicyIpO2JyZWFrO2Nhc2UiY29kZSI6dGhpcy53cmFwU2VsZWN0aW9uKG4sImNvZGUiKTticmVhaztjYXNlImxpbmsiOmlmKCFyKXJldHVybiExO3RoaXMud3JhcFNlbGVjdGlvbldpdGhMaW5rKG4scik7YnJlYWt9aWYoaSYmaS5sZW5ndGg+MClZZS5zZXRTZWxlY3Rpb25Gcm9tUmFuZ2Uobik7ZWxzZXtsZXQgcz13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7cyYmKHMucmVtb3ZlQWxsUmFuZ2VzKCkscy5hZGRSYW5nZShuKSl9cmV0dXJuITB9c3RhdGljIHdyYXBTZWxlY3Rpb24odCxyKXtsZXQgYT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIWEpcmV0dXJuO2lmKHRoaXMuc2VsZWN0aW9uQ29udGFpbnNUYWcodCxyKSl0aGlzLnJlbW92ZVRhZ0Zyb21TZWxlY3Rpb24odCxyKTtlbHNle2xldCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocik7dHJ5e2xldCBzPXQuZXh0cmFjdENvbnRlbnRzKCk7bi5hcHBlbmRDaGlsZChzKSx0Lmluc2VydE5vZGUobiksdC5zZWxlY3ROb2RlQ29udGVudHMobiksYS5yZW1vdmVBbGxSYW5nZXMoKSxhLmFkZFJhbmdlKHQpfWNhdGNoKHMpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB3cmFwIHNlbGVjdGlvbjoiLHMpfX19c3RhdGljIHNlbGVjdGlvbkNvbnRhaW5zVGFnKHQscil7bGV0IGE9dC5zdGFydENvbnRhaW5lcjtmb3IoO2EmJmEhPT10LmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm93bmVyRG9jdW1lbnQ7KXtpZihhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmEudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09cilyZXR1cm4hMDthPWEucGFyZW50Tm9kZX1mb3IoYT10LmVuZENvbnRhaW5lcjthJiZhIT09dC5jb21tb25BbmNlc3RvckNvbnRhaW5lci5vd25lckRvY3VtZW50Oyl7aWYoYS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZhLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PXIpcmV0dXJuITA7YT1hLnBhcmVudE5vZGV9bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbj10LmNsb25lQ29udGVudHMoKTtyZXR1cm4gaS5hcHBlbmRDaGlsZChuKSxpLmdldEVsZW1lbnRzQnlUYWdOYW1lKHIpLmxlbmd0aD4wfXN0YXRpYyByZW1vdmVUYWdGcm9tU2VsZWN0aW9uKHQscil7bGV0IGE9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFhKXJldHVybjtsZXQgaT10LmNsb25lUmFuZ2UoKSxuPXQuc3RhcnRDb250YWluZXIscz1udWxsO2Zvcig7biYmbiE9PXQuY29tbW9uQW5jZXN0b3JDb250YWluZXIub3duZXJEb2N1bWVudDspe2lmKG4ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmbi50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT1yKXtzPW47YnJlYWt9bj1uLnBhcmVudE5vZGV9bGV0IG89dC5lbmRDb250YWluZXIsYz1udWxsO2Zvcig7byYmbyE9PXQuY29tbW9uQW5jZXN0b3JDb250YWluZXIub3duZXJEb2N1bWVudDspe2lmKG8ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmby50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT1yKXtjPW87YnJlYWt9bz1vLnBhcmVudE5vZGV9cyYmaS5zZXRTdGFydEJlZm9yZShzKSxjJiZpLnNldEVuZEFmdGVyKGMpO2xldCBsPWkuZXh0cmFjdENvbnRlbnRzKCksdT10aGlzLnJlbW92ZVRhZ3NGcm9tRnJhZ21lbnQobCxyKTtpLmluc2VydE5vZGUodSk7bGV0IGQ9W10saD1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKHUsTm9kZUZpbHRlci5TSE9XX1RFWFQsbnVsbCksbTtmb3IoO209aC5uZXh0Tm9kZSgpOylkLnB1c2gobSk7aWYoZC5sZW5ndGg+MCl7bGV0IHY9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt2LnNldFN0YXJ0KGRbMF0sMCksdi5zZXRFbmQoZFtkLmxlbmd0aC0xXSxkW2QubGVuZ3RoLTFdLnRleHRDb250ZW50Py5sZW5ndGh8fDApLGEucmVtb3ZlQWxsUmFuZ2VzKCksYS5hZGRSYW5nZSh2KX19c3RhdGljIHJlbW92ZVRhZ3NGcm9tRnJhZ21lbnQodCxyKXtsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmFwcGVuZENoaWxkKHQpO2xldCBpPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUocik7QXJyYXkuZnJvbShpKS5mb3JFYWNoKG89PntsZXQgYz1vLnBhcmVudE5vZGU7aWYoYyl7Zm9yKDtvLmZpcnN0Q2hpbGQ7KWMuaW5zZXJ0QmVmb3JlKG8uZmlyc3RDaGlsZCxvKTtjLnJlbW92ZUNoaWxkKG8pfX0pO2xldCBzPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtmb3IoO2EuZmlyc3RDaGlsZDspcy5hcHBlbmRDaGlsZChhLmZpcnN0Q2hpbGQpO3JldHVybiBzfXN0YXRpYyB3cmFwU2VsZWN0aW9uV2l0aExpbmsodCxyKXtsZXQgYT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIWEpcmV0dXJuO3RoaXMuc2VsZWN0aW9uQ29udGFpbnNUYWcodCwiYSIpJiYodGhpcy5yZW1vdmVUYWdGcm9tU2VsZWN0aW9uKHQsImEiKSxhLnJhbmdlQ291bnQ+MCYmKHQ9YS5nZXRSYW5nZUF0KDApKSk7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2kuaHJlZj1yLGkudGFyZ2V0PSJfYmxhbmsiLGkucmVsPSJub29wZW5lciBub3JlZmVycmVyIjt0cnl7bGV0IG49dC5leHRyYWN0Q29udGVudHMoKTtpLmFwcGVuZENoaWxkKG4pLHQuaW5zZXJ0Tm9kZShpKSx0LnNlbGVjdE5vZGVDb250ZW50cyhpKSxhLnJlbW92ZUFsbFJhbmdlcygpLGEuYWRkUmFuZ2UodCl9Y2F0Y2gobil7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBsaW5rOiIsbil9fXN0YXRpYyBnZXRTZWxlY3Rpb25Db29yZGluYXRlcyguLi50KXtsZXQgcj1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLnQpO2lmKGNvbnNvbGUubG9nKCJnZXRTZWxlY3Rpb25Db29yZGluYXRlcyAtIHNlbGVjdGlvbkluZm86IixyKSwhcilyZXR1cm4gY29uc29sZS5sb2coIk5vIHNlbGVjdGlvbiBpbmZvIGF2YWlsYWJsZSIpLG51bGw7bGV0IGk9WWUuY3JlYXRlUmFuZ2VGcm9tSW5mbyhyKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihjb25zb2xlLmxvZygiUmFuZ2UgcmVjdDoiLGkpLGkud2lkdGg9PT0wJiZpLmhlaWdodD09PTApe2lmKGNvbnNvbGUubG9nKCJSZWN0IHdpZHRoIGFuZCBoZWlnaHQgYXJlIDAsIHRyeWluZyBkaWZmZXJlbnQgYXBwcm9hY2giKSwiY2FyZXRQb3NpdGlvbkZyb21Qb2ludCJpbiBkb2N1bWVudCl7bGV0IHM9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKHMmJnMucmFuZ2VDb3VudD4wKXtsZXQgbz1zLmdldFJhbmdlQXQoMCksYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yy50ZXh0Q29udGVudD0iXHUyMDBCIixvLmluc2VydE5vZGUoYyk7bGV0IGw9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihjLnJlbW92ZSgpLGwud2lkdGg+MHx8bC5oZWlnaHQ+MCl7bGV0IHU9e3g6bC5sZWZ0LHk6TWF0aC5tYXgoNDUsbC50b3AtNDUpfTtyZXR1cm4gY29uc29sZS5sb2coIlVzZWQgc3BhbiB0cmljayBmb3IgY29vcmRzOiIsdSksdX19fXJldHVybiBudWxsfWxldCBuPXt4OmkubGVmdCtpLndpZHRoLzIseTpNYXRoLm1heCg0NSxpLnRvcC00NSl9O3JldHVybiBjb25zb2xlLmxvZygiUmV0dXJuaW5nIGNvb3JkczoiLG4pLG59fX0pO3ZhciBGRixkdSxPRixQNmU9ZigoKT0+e3VlKCk7a3MoKTtJNmUoKTtRZSgpO0ZGPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sZHU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LE9GPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1mb3JtYXR0aW5nLW1lbnUiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXTt2YXIgdj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bc2UoKV0sYz1bc2UoKV0sZD1bc2UoKV0sRkYodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4idmlzaWJsZSJpbiBnLGdldDpnPT5nLnZpc2libGUsc2V0OihnLHkpPT57Zy52aXNpYmxlPXl9fSxtZXRhZGF0YTpifSxzLG8pLEZGKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJwb3NpdGlvbiJpbiBnLGdldDpnPT5nLnBvc2l0aW9uLHNldDooZyx5KT0+e2cucG9zaXRpb249eX19LG1ldGFkYXRhOmJ9LGwsdSksRkYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51WkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4ibWVudVpJbmRleCJpbiBnLGdldDpnPT5nLm1lbnVaSW5kZXgsc2V0OihnLHkpPT57Zy5tZW51WkluZGV4PXl9fSxtZXRhZGF0YTpifSxoLG0pLEZGKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsciksdj1hPXQudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGluc3RhbmNlO3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB2Lmluc3RhbmNlfHwodi5pbnN0YW5jZT1uZXcgdixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHYuaW5zdGFuY2UpKSx2Lmluc3RhbmNlfSNlPWR1KHRoaXMscywhMSk7Z2V0IHZpc2libGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmlzaWJsZShiKXt0aGlzLiNlPWJ9I3Q9KGR1KHRoaXMsbyksZHUodGhpcyxsLHt4OjAseTowfSkpO2dldCBwb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBwb3NpdGlvbihiKXt0aGlzLiN0PWJ9I3I9KGR1KHRoaXMsdSksZHUodGhpcyxoLDFlMykpO2dldCBtZW51WkluZGV4KCl7cmV0dXJuIHRoaXMuI3J9c2V0IG1lbnVaSW5kZXgoYil7dGhpcy4jcj1ifWNhbGxiYWNrPShkdSh0aGlzLG0pLG51bGwpO3N0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgfQoKICAgICAgLmZvcm1hdHRpbmctbWVudSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzI2MjYyNiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2UwZTBlMCIsIiM0MDQwNDAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpIHRyYW5zbGF0ZVkoNXB4KTsKICAgICAgICB9CiAgICAgICAgdG8gewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uIHsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAwMDAwMCIsIiNlMGUwZTAiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmMGYwZjAiLCIjMzMzMzMzIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAwNjZjYyIsIiM0ZDk0ZmYiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsKICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b24uYm9sZCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b24uaXRhbGljIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uLnVuZGVybGluZSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uIC5jb2RlLWljb24gewogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMudmlzaWJsZT8odGhpcy5zdHlsZS56SW5kZXg9dGhpcy5tZW51WkluZGV4LnRvU3RyaW5nKCksTWAKICAgICAgPGRpdiAKICAgICAgICBjbGFzcz0iZm9ybWF0dGluZy1tZW51IiAKICAgICAgICBzdHlsZT0ibGVmdDogJHt0aGlzLnBvc2l0aW9uLnh9cHg7IHRvcDogJHt0aGlzLnBvc2l0aW9uLnl9cHg7IgogICAgICAgIHRhYmluZGV4PSItMSIKICAgICAgICBkYXRhLW1lbnUtdHlwZT0iZm9ybWF0dGluZyIKICAgICAgPgogICAgICAgICR7UGMuZm9ybWF0QnV0dG9ucy5tYXAoYj0+TWAKICAgICAgICAgIDxidXR0b24gCiAgICAgICAgICAgIGNsYXNzPSJmb3JtYXQtYnV0dG9uICR7Yi5jb21tYW5kfSIKICAgICAgICAgICAgZGF0YS1jb21tYW5kPSIke2IuY29tbWFuZH0iCiAgICAgICAgICAgIHRpdGxlPSIke2IubGFiZWx9JHtiLnNob3J0Y3V0P2AgKCR7Yi5zaG9ydGN1dH0pYDoiIn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSIke2IuY29tbWFuZD09PSJjb2RlIj8iY29kZS1pY29uIjoiIn0iPiR7Yi5pY29ufTwvc3Bhbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGApOk1gYH1hcHBseUZvcm1hdChiKXt0aGlzLmNhbGxiYWNrJiZ0aGlzLmNhbGxiYWNrKGIpLGI9PT0ibGluayImJnRoaXMuaGlkZSgpfXNob3coYixnKXtjb25zb2xlLmxvZygiRm9ybWF0dGluZ01lbnUuc2hvdyBjYWxsZWQ6Iix7cG9zaXRpb246Yix2aXNpYmxlOnRoaXMudmlzaWJsZX0pLHRoaXMucG9zaXRpb249Yix0aGlzLmNhbGxiYWNrPWcsdGhpcy5tZW51WkluZGV4PXJhLmdldE5leHRaSW5kZXgoKSxyYS5yZWdpc3Rlcih0aGlzLHRoaXMubWVudVpJbmRleCksdGhpcy5zdHlsZS56SW5kZXg9dGhpcy5tZW51WkluZGV4LnRvU3RyaW5nKCksdGhpcy52aXNpYmxlPSEwfWhpZGUoKXt0aGlzLnZpc2libGU9ITEsdGhpcy5jYWxsYmFjaz1udWxsLHJhLnVucmVnaXN0ZXIodGhpcyl9dXBkYXRlUG9zaXRpb24oYil7dGhpcy5wb3NpdGlvbj1ifWZpcnN0VXBkYXRlZCgpe3RoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixiPT57bGV0IGc9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZm9ybWF0dGluZy1tZW51Iik7ZyYmZy5jb250YWlucyhiLnRhcmdldCkmJihiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSl9KSx0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiPT57bGV0IHk9Yi50YXJnZXQuY2xvc2VzdCgiLmZvcm1hdC1idXR0b24iKTtpZih5KXtiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKTtsZXQgdz15LmdldEF0dHJpYnV0ZSgiZGF0YS1jb21tYW5kIik7dyYmdGhpcy5hcHBseUZvcm1hdCh3KX19KSx0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixiPT57bGV0IGc9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZm9ybWF0dGluZy1tZW51Iik7ZyYmZy5jb250YWlucyhiLnRhcmdldCkmJihiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSl9LCEwKX1zdGF0aWN7ZHUoYSxyKX19O3JldHVybiB2PWF9KSgpfSk7dmFyIExmPWYoKCk9Pnt1ZSgpO0QxKCk7RTZlKCk7UDZlKCl9KTt2YXIgamIsUkY9ZigoKT0+e2piPVsiSmF2YVNjcmlwdCIsIlR5cGVTY3JpcHQiLCJQeXRob24iLCJKYXZhIiwiQysrIiwiQyMiLCJHbyIsIlJ1c3QiLCJIVE1MIiwiQ1NTIiwiU1FMIiwiU2hlbGwiLCJKU09OIiwiWUFNTCIsIk1hcmtkb3duIiwiUGxhaW4gVGV4dCJdfSk7dmFyIE42ZSx0M3I9ZigoKT0+e3VlKCk7TjZlPUpgCiAgOmhvc3QgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgfQoKICAud3lzaXd5Zy1jb250YWluZXIgewogICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgbWluLWhlaWdodDogMjAwcHg7CiAgICBwYWRkaW5nOiAyNHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAud3lzaXd5Zy1jb250YWluZXI6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2QxZDVkYiIsIiMzZjNmNDYiKX07CiAgfQoKICAud3lzaXd5Zy1jb250YWluZXI6Zm9jdXMtd2l0aGluIHsKICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7CiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9LCAwIDAgMCA0cHggJHtwLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjUpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuNSkiKX07CiAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICB9CgogIC8qIFZpc3VhbCBoaW50IGZvciB0ZXh0IHNlbGVjdGlvbiAqLwogIC5lZGl0b3ItY29udGVudDpob3ZlciB7CiAgICBjdXJzb3I6IHRleHQ7CiAgfQoKICAuZWRpdG9yLWNvbnRlbnQgewogICAgb3V0bGluZTogbm9uZTsKICAgIG1pbi1oZWlnaHQ6IDE2MHB4OwogICAgbWFyZ2luOiAwIC04cHg7CiAgICBwYWRkaW5nOiAwIDhweDsKICB9CgogIC5ibG9jayB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiA0cHggMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgbWluLWhlaWdodDogMS42ZW07CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLyogRmlyc3QgYW5kIGxhc3QgYmxvY2tzIGRvbid0IG5lZWQgZXh0cmEgc3BhY2luZyAqLwogIC5ibG9jay13cmFwcGVyOmZpcnN0LWNoaWxkIC5ibG9jayB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQoKICAuYmxvY2std3JhcHBlcjpsYXN0LWNoaWxkIC5ibG9jayB7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KCiAgLmJsb2NrLnNlbGVjdGVkIHsKICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiKX07CiAgICBvdXRsaW5lOiAycHggc29saWQgJHtwLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG1hcmdpbi1sZWZ0OiAtOHB4OwogICAgbWFyZ2luLXJpZ2h0OiAtOHB4OwogICAgcGFkZGluZy1sZWZ0OiA4cHg7CiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7CiAgfQoKICAuYmxvY2tbY29udGVudGVkaXRhYmxlXSB7CiAgICBvdXRsaW5lOiBub25lOwogIH0KCiAgLmJsb2NrLnBhcmFncmFwaCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICB9CgogIC5ibG9jay5wYXJhZ3JhcGg6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiVHlwZSAnLycgZm9yIGNvbW1hbmRzLi4uIjsKICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMSB7CiAgICBmb250LXNpemU6IDMycHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuYmxvY2suaGVhZGluZy0xOmVtcHR5OjpiZWZvcmUgewogICAgY29udGVudDogIkhlYWRpbmcgMSI7CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LXNpemU6IDMycHg7CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9CgogIC5ibG9jay5oZWFkaW5nLTIgewogICAgZm9udC1zaXplOiAyNHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMjplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJIZWFkaW5nIDIiOwogICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgZm9udC1zaXplOiAyNHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgfQoKICAuYmxvY2suaGVhZGluZy0zIHsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICB9CgogIC5ibG9jay5oZWFkaW5nLTM6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiSGVhZGluZyAzIjsKICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICBmb250LXdlaWdodDogNjAwOwogIH0KCiAgLmJsb2NrLnF1b3RlIHsKICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICB9CgogIC5ibG9jay5xdW90ZTplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJRdW90ZSI7CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICB9CgogIC5jb2RlLWJsb2NrLWNvbnRhaW5lciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW46IDIwcHggMDsKICB9CgogIC5jb2RlLWxhbmd1YWdlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgYm9yZGVyLXJhZGl1czogMCA0cHggMCA0cHg7CiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOwogICAgei1pbmRleDogMTsKICB9CgogIC5ibG9jay5jb2RlIHsKICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIHBhZGRpbmc6IDE2cHg7CiAgICBwYWRkaW5nLXRvcDogMzJweDsgLyogTWFrZSByb29tIGZvciBsYW5ndWFnZSBpbmRpY2F0b3IgKi8KICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICBvdmVyZmxvdy14OiBhdXRvOwogIH0KCiAgLmJsb2NrLmNvZGU6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiLy8gQ29kZSBibG9jayI7CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogIH0KCiAgLmJsb2NrLmxpc3QgewogICAgcGFkZGluZy1sZWZ0OiAwOwogIH0KCiAgLmJsb2NrLmxpc3QgdWwsCiAgLmJsb2NrLmxpc3Qgb2wgewogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMCAwIDAgMjRweDsKICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7CiAgfQoKICAuYmxvY2subGlzdCB1bCB7CiAgICBsaXN0LXN0eWxlOiBkaXNjOwogIH0KCiAgLmJsb2NrLmxpc3Qgb2wgewogICAgbGlzdC1zdHlsZTogZGVjaW1hbDsKICB9CgogIC5ibG9jay5saXN0IGxpIHsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgfQoKICAuYmxvY2subGlzdCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuYmxvY2suZGl2aWRlciB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAyMHB4IDA7CiAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICB9CgogIC5ibG9jay5kaXZpZGVyIGhyIHsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBtYXJnaW46IDA7CiAgfQoKICAuc2xhc2gtbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgIHBhZGRpbmc6IDRweDsKICAgIHotaW5kZXg6IDEwMDA7CiAgICBtaW4td2lkdGg6IDIyMHB4OwogICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKICB9CgogIC5zbGFzaC1tZW51LWl0ZW0gewogICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMnB4OwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIGZvbnQtc2l6ZTogMTRweDsKICB9CgogIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIsCiAgLnNsYXNoLW1lbnUtaXRlbS5zZWxlY3RlZCB7CiAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLnNsYXNoLW1lbnUtaXRlbSAuaWNvbiB7CiAgICB3aWR0aDogMjRweDsKICAgIGhlaWdodDogMjRweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICB9CgogIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIgLmljb24sCiAgLnNsYXNoLW1lbnUtaXRlbS5zZWxlY3RlZCAuaWNvbiB7CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KCiAgLnRvb2xiYXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAtNDBweDsKICAgIGxlZnQ6IDA7CiAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgIHBhZGRpbmc6IDRweDsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBnYXA6IDRweDsKICAgIHotaW5kZXg6IDEwMDA7CiAgfQoKICAudG9vbGJhci52aXNpYmxlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgfQoKICAudG9vbGJhci1idXR0b24gewogICAgd2lkdGg6IDMycHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICB9CgogIC8qIERyYWcgYW5kIERyb3AgU3R5bGVzICovCiAgLmJsb2NrLXdyYXBwZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7CiAgfQoKICAvKiBFbnN1cmUgcHJvcGVyIHNwYWNpbmcgY29udGV4dCBmb3IgYmxvY2tzICovCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2sgewogICAgbWFyZ2luLXRvcDogMTZweDsKICB9CgogIC8qIE92ZXJyaWRlIGZvciBoZWFkaW5ncyBmb2xsb3dpbmcgb3RoZXIgYmxvY2tzICovCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2suaGVhZGluZy0xLAogIC5ibG9jay13cmFwcGVyICsgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLmhlYWRpbmctMiwKICAuYmxvY2std3JhcHBlciArIC5ibG9jay13cmFwcGVyIC5ibG9jay5oZWFkaW5nLTMgewogICAgbWFyZ2luLXRvcDogMjRweDsKICB9CgogIC8qIENvZGUgYW5kIHF1b3RlIGJsb2NrcyBuZWVkIGNvbnNpc3RlbnQgc3BhY2luZyAqLwogIC5ibG9jay13cmFwcGVyICsgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLmNvZGUsCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2sucXVvdGUgewogICAgbWFyZ2luLXRvcDogMjBweDsKICB9CgogIC5kcmFnLWhhbmRsZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAtMjhweDsKICAgIHRvcDogNTAlOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgd2lkdGg6IDI0cHg7CiAgICBoZWlnaHQ6IDI0cHg7CiAgICBjdXJzb3I6IGdyYWI7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICB9CgogIC5kcmFnLWhhbmRsZTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICLii67ii64iOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7CiAgfQoKICAuYmxvY2std3JhcHBlcjpob3ZlciAuZHJhZy1oYW5kbGUgewogICAgb3BhY2l0eTogMTsKICB9CgogIC5kcmFnLWhhbmRsZTpob3ZlciB7CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogIH0KCiAgLmRyYWctaGFuZGxlOmFjdGl2ZSB7CiAgICBjdXJzb3I6IGdyYWJiaW5nOwogICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogIH0KCiAgLmJsb2NrLXdyYXBwZXIuZHJhZ2dpbmcgewogICAgb3BhY2l0eTogMC44OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB6LWluZGV4OiAyMDAxOwogICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogIH0KCgogIC8qIEJsb2NrcyB0aGF0IHNob3VsZCBtb3ZlIG91dCBvZiB0aGUgd2F5ICovCiAgLmJsb2NrLXdyYXBwZXIubW92ZS1kb3duIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1kcmFnLW9mZnNldCwgMHB4KSk7CiAgfQoKICAuYmxvY2std3JhcHBlci5tb3ZlLXVwIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tZHJhZy1vZmZzZXQsIDBweCkpKTsKICB9CgogIC8qIERyb3AgaW5kaWNhdG9yICovCiAgLmRyb3AtaW5kaWNhdG9yIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiKX07CiAgICBib3JkZXI6IDJweCBkYXNoZWQgJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgZWFzZSwgaGVpZ2h0IDAuMnMgZWFzZTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgei1pbmRleDogMTk5OTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgfQoKICAvKiBSZW1vdmUgb2xkIGRyYWctb3ZlciBzdHlsZXMgKi8KICAuYmxvY2std3JhcHBlci5kcmFnLW92ZXItYmVmb3JlLAogIC5ibG9jay13cmFwcGVyLmRyYWctb3Zlci1hZnRlciB7CiAgICAvKiBObyBsb25nZXIgbmVlZGVkLCB1c2luZyBkcm9wIGluZGljYXRvciBpbnN0ZWFkICovCiAgfQoKICAuZWRpdG9yLWNvbnRlbnQuZHJhZ2dpbmcgKiB7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKICB9CgogIC8qIEJsb2NrIFNldHRpbmdzIEJ1dHRvbiAtIFJlbW92ZWQgaW4gZmF2b3Igb2YgY29udGV4dCBtZW51ICovCgogIC8qIFRleHQgU2VsZWN0aW9uIFN0eWxlcyAqLwogIC5ibG9jayA6OnNlbGVjdGlvbiB7CiAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgIGNvbG9yOiBpbmhlcml0OwogIH0KCiAgLyogRm9ybWF0dGluZyBNZW51ICovCiAgLmZvcm1hdHRpbmctbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgIHBhZGRpbmc6IDRweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDJweDsKICAgIHotaW5kZXg6IDEwMDE7CiAgICBhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0OwogIH0KCiAgQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7CiAgICBmcm9tIHsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KSB0cmFuc2xhdGVZKDJweCk7CiAgICB9CiAgICB0byB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTsKICAgIH0KICB9CgogIC5mb3JtYXQtYnV0dG9uIHsKICAgIHdpZHRoOiAzMnB4OwogICAgaGVpZ2h0OiAzMnB4OwogICAgYm9yZGVyOiBub25lOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CgogIC5mb3JtYXQtYnV0dG9uOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgfQoKICAuZm9ybWF0LWJ1dHRvbjphY3RpdmUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsKICB9CgogIC5mb3JtYXQtYnV0dG9uLmJvbGQgewogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9CgogIC5mb3JtYXQtYnV0dG9uLml0YWxpYyB7CiAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgfQoKICAuZm9ybWF0LWJ1dHRvbi51bmRlcmxpbmUgewogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQoKICAuZm9ybWF0LWJ1dHRvbiAuY29kZS1pY29uIHsKICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxMnB4OwogIH0KCiAgLyogQXBwbGllZCBmb3JtYXQgc3R5bGVzIGluIGNvbnRlbnQgKi8KICAuYmxvY2sgc3Ryb25nLAogIC5ibG9jayBiIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrIGVtLAogIC5ibG9jayBpIHsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICB9CgogIC5ibG9jayB1IHsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogIH0KCiAgLmJsb2NrIHN0cmlrZSwKICAuYmxvY2sgcyB7CiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsKICAgIG9wYWNpdHk6IDAuNzsKICB9CgogIC5ibG9jayBjb2RlIHsKICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrIGEgewogICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogIH0KCiAgLmJsb2NrIGE6aG92ZXIgewogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KYH0pO3ZhciBWcyxGNmU9ZigoKT0+e0QxKCk7VnM9Y2xhc3N7c3RhdGljIGVzY2FwZUh0bWwodCl7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHIudGV4dENvbnRlbnQ9dCxyLmlubmVySFRNTH1zdGF0aWMgZm9ybWF0RmlsZVNpemUodCl7aWYodD09PTApcmV0dXJuIjAgQnl0ZXMiO2xldCByPTEwMjQsYT1bIkJ5dGVzIiwiS0IiLCJNQiIsIkdCIl0saT1NYXRoLmZsb29yKE1hdGgubG9nKHQpL01hdGgubG9nKHIpKTtyZXR1cm4gcGFyc2VGbG9hdCgodC9NYXRoLnBvdyhyLGkpKS50b0ZpeGVkKDIpKSsiICIrYVtpXX1zdGF0aWMgZ2V0SHRtbE91dHB1dCh0KXtyZXR1cm4gdC5tYXAocj0+e2xldCBhPXIuY29udGVudC5pbmNsdWRlcygiPCIpJiZyLmNvbnRlbnQuaW5jbHVkZXMoIj4iKT9yLmNvbnRlbnQ6dGhpcy5lc2NhcGVIdG1sKHIuY29udGVudCk7c3dpdGNoKHIudHlwZSl7Y2FzZSJwYXJhZ3JhcGgiOnJldHVybiByLmNvbnRlbnQ/YDxwPiR7YX08L3A+YDoiIjtjYXNlImhlYWRpbmctMSI6cmV0dXJuYDxoMT4ke2F9PC9oMT5gO2Nhc2UiaGVhZGluZy0yIjpyZXR1cm5gPGgyPiR7YX08L2gyPmA7Y2FzZSJoZWFkaW5nLTMiOnJldHVybmA8aDM+JHthfTwvaDM+YDtjYXNlInF1b3RlIjpyZXR1cm5gPGJsb2NrcXVvdGU+JHthfTwvYmxvY2txdW90ZT5gO2Nhc2UiY29kZSI6cmV0dXJuYDxwcmU+PGNvZGU+JHt0aGlzLmVzY2FwZUh0bWwoci5jb250ZW50KX08L2NvZGU+PC9wcmU+YDtjYXNlImxpc3QiOmxldCBpPXIuY29udGVudC5zcGxpdChgCmApLmZpbHRlcihjPT5jLnRyaW0oKSk7aWYoaS5sZW5ndGg+MCl7bGV0IGM9ci5tZXRhZGF0YT8ubGlzdFR5cGU9PT0ib3JkZXJlZCI/Im9sIjoidWwiO3JldHVybmA8JHtjfT4ke2kubWFwKGw9PmA8bGk+JHtsfTwvbGk+YCkuam9pbigiIil9PC8ke2N9PmB9cmV0dXJuIiI7Y2FzZSJkaXZpZGVyIjpyZXR1cm4iPGhyPiI7Y2FzZSJpbWFnZSI6bGV0IG49ci5tZXRhZGF0YT8udXJsO2lmKG4pe2xldCBjPXRoaXMuZXNjYXBlSHRtbChyLmNvbnRlbnR8fCJJbWFnZSIpO3JldHVybmA8aW1nIHNyYz0iJHtufSIgYWx0PSIke2N9IiAvPmB9cmV0dXJuIiI7Y2FzZSJ5b3V0dWJlIjpsZXQgcz1yLm1ldGFkYXRhPy52aWRlb0lkO3JldHVybiBzP2A8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7c30iIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPmA6IiI7Y2FzZSJtYXJrZG93biI6cmV0dXJuYDxkaXYgY2xhc3M9Im1hcmtkb3duLWNvbnRlbnQiPiR7dGhpcy5lc2NhcGVIdG1sKHIuY29udGVudCl9PC9kaXY+YDtjYXNlImh0bWwiOnJldHVybiByLmNvbnRlbnQ7Y2FzZSJhdHRhY2htZW50IjpsZXQgbz1yLm1ldGFkYXRhPy5maWxlc3x8W107cmV0dXJuIG8ubGVuZ3RoPjA/YDxkaXYgY2xhc3M9ImF0dGFjaG1lbnRzIj4ke28ubWFwKGM9PmA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWl0ZW0iIGRhdGEtZmlsZS1pZD0iJHtjLmlkfSI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIke2MuZGF0YX0iIGRvd25sb2FkPSIke2MubmFtZX0iPiR7dGhpcy5lc2NhcGVIdG1sKGMubmFtZSl9PC9hPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpbGUtc2l6ZSI+KCR7dGhpcy5mb3JtYXRGaWxlU2l6ZShjLnNpemUpfSk8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+YCkuam9pbigiIil9PC9kaXY+YDoiIjtkZWZhdWx0OnJldHVybmA8cD4ke2F9PC9wPmB9fSkuZmlsdGVyKHI9PnIhPT0iIikuam9pbihgCmApfXN0YXRpYyBnZXRNYXJrZG93bk91dHB1dCh0KXtyZXR1cm4gdC5tYXAocj0+e3N3aXRjaChyLnR5cGUpe2Nhc2UicGFyYWdyYXBoIjpyZXR1cm4gci5jb250ZW50O2Nhc2UiaGVhZGluZy0xIjpyZXR1cm5gIyAke3IuY29udGVudH1gO2Nhc2UiaGVhZGluZy0yIjpyZXR1cm5gIyMgJHtyLmNvbnRlbnR9YDtjYXNlImhlYWRpbmctMyI6cmV0dXJuYCMjIyAke3IuY29udGVudH1gO2Nhc2UicXVvdGUiOnJldHVybmA+ICR7ci5jb250ZW50fWA7Y2FzZSJjb2RlIjpyZXR1cm5gXGBcYFxgCiR7ci5jb250ZW50fQpcYFxgXGBgO2Nhc2UibGlzdCI6bGV0IGE9ci5jb250ZW50LnNwbGl0KGAKYCkuZmlsdGVyKGw9PmwudHJpbSgpKTtyZXR1cm4gci5tZXRhZGF0YT8ubGlzdFR5cGU9PT0ib3JkZXJlZCI/YS5tYXAoKGwsdSk9PmAke3UrMX0uICR7bH1gKS5qb2luKGAKYCk6YS5tYXAobD0+YC0gJHtsfWApLmpvaW4oYApgKTtjYXNlImRpdmlkZXIiOnJldHVybiItLS0iO2Nhc2UiaW1hZ2UiOmxldCBpPXIubWV0YWRhdGE/LnVybCxuPXIuY29udGVudHx8IkltYWdlIjtyZXR1cm4gaT9gIVske259XSgke2l9KWA6IiI7Y2FzZSJ5b3V0dWJlIjpsZXQgcz1yLm1ldGFkYXRhPy52aWRlb0lkLG89ci5tZXRhZGF0YT8udXJsfHwocz9gaHR0cHM6Ly95b3V0dWJlLmNvbS93YXRjaD92PSR7c31gOiIiKTtyZXR1cm4gbz9gW1lvdVR1YmUgVmlkZW9dKCR7b30pYDoiIjtjYXNlIm1hcmtkb3duIjpyZXR1cm4gci5jb250ZW50O2Nhc2UiaHRtbCI6cmV0dXJuYDwhLS0gSFRNTCBCbG9jawoke3IuY29udGVudH0KLS0+YDtjYXNlImF0dGFjaG1lbnQiOmxldCBjPXIubWV0YWRhdGE/LmZpbGVzfHxbXTtyZXR1cm4gYy5sZW5ndGg+MD9jLm1hcChsPT5gLSBbJHtsLm5hbWV9XSgke2wuZGF0YX0pYCkuam9pbihgCmApOiIiO2RlZmF1bHQ6cmV0dXJuIHIuY29udGVudH19KS5maWx0ZXIocj0+ciE9PSIiKS5qb2luKGAKCmApfXN0YXRpYyBwYXJzZUh0bWxUb0Jsb2Nrcyh0KXtsZXQgYT1uZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKHQsInRleHQvaHRtbCIpLGk9W10sbj1zPT57aWYocy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZzLnRleHRDb250ZW50Py50cmltKCkpaS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OnMudGV4dENvbnRlbnQudHJpbSgpfSk7ZWxzZSBpZihzLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe2xldCBvPXMsYz1vLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtzd2l0Y2goYyl7Y2FzZSJwIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6by5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJoMSI6aS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaGVhZGluZy0xIixjb250ZW50Om8uaW5uZXJIVE1MfHwiIn0pO2JyZWFrO2Nhc2UiaDIiOmkucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDpvLmlubmVySFRNTHx8IiJ9KTticmVhaztjYXNlImgzIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6by5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJibG9ja3F1b3RlIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJxdW90ZSIsY29udGVudDpvLmlubmVySFRNTHx8IiJ9KTticmVhaztjYXNlInByZSI6Y2FzZSJjb2RlIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJjb2RlIixjb250ZW50Om8udGV4dENvbnRlbnR8fCIifSk7YnJlYWs7Y2FzZSJ1bCI6Y2FzZSJvbCI6bGV0IHU9QXJyYXkuZnJvbShvLnF1ZXJ5U2VsZWN0b3JBbGwoImxpIikpLm1hcChoPT5oLmlubmVySFRNTHx8IiIpLmpvaW4oYApgKTtpLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJsaXN0Iixjb250ZW50OnUsbWV0YWRhdGE6e2xpc3RUeXBlOmM9PT0ib2wiPyJvcmRlcmVkIjoiYnVsbGV0In19KTticmVhaztjYXNlImhyIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIgIn0pO2JyZWFrO2Nhc2UiaW1nIjpsZXQgZD1vO2kucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImltYWdlIixjb250ZW50OmQuYWx0fHwiIixtZXRhZGF0YTp7dXJsOmQuc3JjfX0pO2JyZWFrO2RlZmF1bHQ6by5jaGlsZE5vZGVzLmZvckVhY2goaD0+bihoKSl9fX07cmV0dXJuIGEuYm9keS5jaGlsZE5vZGVzLmZvckVhY2gocz0+bihzKSksaX1zdGF0aWMgcGFyc2VNYXJrZG93blRvQmxvY2tzKHQpe2xldCByPXQuc3BsaXQoYApgKSxhPVtdLGk9W107Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDtuKyspe2xldCBzPXJbbl07aWYocy5zdGFydHNXaXRoKCIjICIpKWEucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMSIsY29udGVudDpzLnN1YnN0cmluZygyKX0pO2Vsc2UgaWYocy5zdGFydHNXaXRoKCIjIyAiKSlhLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6cy5zdWJzdHJpbmcoMyl9KTtlbHNlIGlmKHMuc3RhcnRzV2l0aCgiIyMjICIpKWEucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDpzLnN1YnN0cmluZyg0KX0pO2Vsc2UgaWYocy5zdGFydHNXaXRoKCI+ICIpKWEucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6InF1b3RlIixjb250ZW50OnMuc3Vic3RyaW5nKDIpfSk7ZWxzZSBpZihzLnN0YXJ0c1dpdGgoImBgYCIpKXtsZXQgbz1bXTtmb3IobisrO248ci5sZW5ndGgmJiFyW25dLnN0YXJ0c1dpdGgoImBgYCIpOylvLnB1c2gocltuXSksbisrO2EucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImNvZGUiLGNvbnRlbnQ6by5qb2luKGAKYCl9KX1lbHNlIGlmKHMubWF0Y2goL14oXCp8LSkgLykpaS5wdXNoKHMuc3Vic3RyaW5nKDIpKSwobj09PXIubGVuZ3RoLTF8fCFyW24rMV0ubWF0Y2goL14oXCp8LSkgLykpJiYoYS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToibGlzdCIsY29udGVudDppLmpvaW4oYApgKSxtZXRhZGF0YTp7bGlzdFR5cGU6ImJ1bGxldCJ9fSksaT1bXSk7ZWxzZSBpZihzLm1hdGNoKC9eXGQrXC4gLykpaS5wdXNoKHMucmVwbGFjZSgvXlxkK1wuIC8sIiIpKSwobj09PXIubGVuZ3RoLTF8fCFyW24rMV0ubWF0Y2goL15cZCtcLiAvKSkmJihhLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJsaXN0Iixjb250ZW50Omkuam9pbihgCmApLG1ldGFkYXRhOntsaXN0VHlwZToib3JkZXJlZCJ9fSksaT1bXSk7ZWxzZSBpZihzPT09Ii0tLSJ8fHM9PT0iKioqInx8cz09PSJfX18iKWEucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImRpdmlkZXIiLGNvbnRlbnQ6IiAifSk7ZWxzZSBpZihzLm1hdGNoKC9eIVxbKFteXF1dKilcXVwoKFteXCldKylcKSQvKSl7bGV0IG89cy5tYXRjaCgvXiFcWyhbXlxdXSopXF1cKChbXlwpXSspXCkkLyk7byYmYS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaW1hZ2UiLGNvbnRlbnQ6b1sxXXx8IiIsbWV0YWRhdGE6e3VybDpvWzJdfX0pfWVsc2Ugcy50cmltKCkmJmEucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDpzfSl9cmV0dXJuIGF9fX0pO3ZhciBybixOYz1mKCgpPT57dWUoKTtEMSgpO0Y2ZSgpO3JuPWNsYXNze3N0YXRpYyByZW5kZXJMaXN0Q29udGVudCh0LHIpe2xldCBhPXQuc3BsaXQoYApgKS5maWx0ZXIobj0+bi50cmltKCkpO2lmKGEubGVuZ3RoPT09MClyZXR1cm4iIjtsZXQgaT1yPy5saXN0VHlwZT09PSJvcmRlcmVkIj8ib2wiOiJ1bCI7cmV0dXJuYDwke2l9PiR7YS5tYXAobj0+YDxsaT4ke259PC9saT5gKS5qb2luKCIiKX08LyR7aX0+YH1zdGF0aWMgcmVuZGVyQmxvY2sodCxyLGEpe2lmKHQudHlwZT09PSJkaXZpZGVyIilyZXR1cm4gTWAKICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0iYmxvY2sgZGl2aWRlciIKICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7dC5pZH0iCiAgICAgICAgPgogICAgICAgICAgPGhyPgogICAgICAgIDwvZGl2PgogICAgICBgO2lmKHQudHlwZT09PSJsaXN0IilyZXR1cm4gTWAKICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0iYmxvY2sgbGlzdCAke3I/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICBkYXRhLWJsb2NrLWlkPSIke3QuaWR9IgogICAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgICAgQGlucHV0PSIke2Eub25JbnB1dH0iCiAgICAgICAgICBAa2V5ZG93bj0iJHthLm9uS2V5RG93bn0iCiAgICAgICAgICBAZm9jdXM9IiR7YS5vbkZvY3VzfSIKICAgICAgICAgIEBibHVyPSIke2Eub25CbHVyfSIKICAgICAgICAgIEBjb21wb3NpdGlvbnN0YXJ0PSIke2Eub25Db21wb3NpdGlvblN0YXJ0fSIKICAgICAgICAgIEBjb21wb3NpdGlvbmVuZD0iJHthLm9uQ29tcG9zaXRpb25FbmR9IgogICAgICAgICAgQG1vdXNldXA9IiR7bj0+e2NvbnNvbGUubG9nKCJCbG9jayBtb3VzZXVwIGV2ZW50IGZpcmVkIiksYS5vbk1vdXNlVXAmJmEub25Nb3VzZVVwKG4pfX0iCiAgICAgICAgICAuaW5uZXJIVE1MPSIke3RoaXMucmVuZGVyTGlzdENvbnRlbnQodC5jb250ZW50LHQubWV0YWRhdGEpfSIKICAgICAgICA+PC9kaXY+CiAgICAgIGA7aWYodC50eXBlPT09ImNvZGUiKXtsZXQgbj10Lm1ldGFkYXRhPy5sYW5ndWFnZXx8InBsYWluIHRleHQiO3JldHVybiBNYAogICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtYmxvY2stY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtbGFuZ3VhZ2UiPiR7bn08L2Rpdj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9ImJsb2NrICR7dC50eXBlfSAke3I/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICAgICAgQGlucHV0PSIke2Eub25JbnB1dH0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke2Eub25LZXlEb3dufSIKICAgICAgICAgICAgQGZvY3VzPSIke2Eub25Gb2N1c30iCiAgICAgICAgICAgIEBibHVyPSIke2Eub25CbHVyfSIKICAgICAgICAgICAgQGNvbXBvc2l0aW9uc3RhcnQ9IiR7YS5vbkNvbXBvc2l0aW9uU3RhcnR9IgogICAgICAgICAgICBAY29tcG9zaXRpb25lbmQ9IiR7YS5vbkNvbXBvc2l0aW9uRW5kfSIKICAgICAgICAgICAgQG1vdXNldXA9IiR7cz0+e2NvbnNvbGUubG9nKCJCbG9jayBtb3VzZXVwIGV2ZW50IGZpcmVkIiksYS5vbk1vdXNlVXAmJmEub25Nb3VzZVVwKHMpfX0iCiAgICAgICAgICAgIC50ZXh0Q29udGVudD0iJHt0LmNvbnRlbnR8fCIifSIKICAgICAgICAgID48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYH1yZXR1cm4gTWAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayAke3QudHlwZX0gJHtyPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICBAaW5wdXQ9IiR7YS5vbklucHV0fSIKICAgICAgICBAa2V5ZG93bj0iJHthLm9uS2V5RG93bn0iCiAgICAgICAgQGZvY3VzPSIke2Eub25Gb2N1c30iCiAgICAgICAgQGJsdXI9IiR7YS5vbkJsdXJ9IgogICAgICAgIEBjb21wb3NpdGlvbnN0YXJ0PSIke2Eub25Db21wb3NpdGlvblN0YXJ0fSIKICAgICAgICBAY29tcG9zaXRpb25lbmQ9IiR7YS5vbkNvbXBvc2l0aW9uRW5kfSIKICAgICAgICBAbW91c2V1cD0iJHtuPT57Y29uc29sZS5sb2coIkJsb2NrIG1vdXNldXAgZXZlbnQgZmlyZWQiKSxhLm9uTW91c2VVcCYmYS5vbk1vdXNlVXAobil9fSIKICAgICAgICAuaW5uZXJIVE1MPSIke3QuY29udGVudHx8IiJ9IgogICAgICA+PC9kaXY+CiAgICBgfXN0YXRpYyBzZXRDdXJzb3JUb0VuZCh0KXtsZXQgcj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIXIpcmV0dXJuO2xldCBhPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7aWYodC5jaGlsZE5vZGVzLmxlbmd0aD09PTApe2xldCBpPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJcdTIwMEIiKTt0LmFwcGVuZENoaWxkKGkpLGEuc2V0U3RhcnQoaSwxKSxhLmNvbGxhcHNlKCEwKX1lbHNle2xldCBpPXRoaXMuZ2V0TGFzdE5vZGUodCk7aS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP2Euc2V0U3RhcnQoaSxpLnRleHRDb250ZW50Py5sZW5ndGh8fDApOmEuc2V0U3RhcnRBZnRlcihpKSxhLmNvbGxhcHNlKCEwKX1yLnJlbW92ZUFsbFJhbmdlcygpLHIuYWRkUmFuZ2UoYSksdC50ZXh0Q29udGVudD09PSJcdTIwMEIiJiYodC50ZXh0Q29udGVudD0iIil9c3RhdGljIHNldEN1cnNvclRvU3RhcnQodCl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyKXJldHVybjtsZXQgYT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO2lmKHQuY2hpbGROb2Rlcy5sZW5ndGg9PT0wKWEuc2V0U3RhcnQodCwwKSxhLmNvbGxhcHNlKCEwKTtlbHNle2xldCBpPXRoaXMuZ2V0Rmlyc3ROb2RlKHQpO2kubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9hLnNldFN0YXJ0KGksMCk6YS5zZXRTdGFydEJlZm9yZShpKSxhLmNvbGxhcHNlKCEwKX1yLnJlbW92ZUFsbFJhbmdlcygpLHIuYWRkUmFuZ2UoYSl9c3RhdGljIGdldExhc3ROb2RlKHQpe2lmKHQuY2hpbGROb2Rlcy5sZW5ndGg9PT0wKXJldHVybiB0O2xldCByPXQuY2hpbGROb2Rlc1t0LmNoaWxkTm9kZXMubGVuZ3RoLTFdO3JldHVybiByLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREV8fHIuY2hpbGROb2Rlcy5sZW5ndGg9PT0wP3I6dGhpcy5nZXRMYXN0Tm9kZShyKX1zdGF0aWMgZ2V0Rmlyc3ROb2RlKHQpe2lmKHQuY2hpbGROb2Rlcy5sZW5ndGg9PT0wKXJldHVybiB0O2xldCByPXQuY2hpbGROb2Rlc1swXTtyZXR1cm4gci5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFfHxyLmNoaWxkTm9kZXMubGVuZ3RoPT09MD9yOnRoaXMuZ2V0Rmlyc3ROb2RlKHIpfXN0YXRpYyBmb2N1c0xpc3RJdGVtKHQpe2xldCByPXQucXVlcnlTZWxlY3RvcigibGkiKTtpZihyKXtyLmZvY3VzKCk7bGV0IGE9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxpPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTthLnNlbGVjdE5vZGVDb250ZW50cyhyKSxhLmNvbGxhcHNlKCEwKSxpLnJlbW92ZUFsbFJhbmdlcygpLGkuYWRkUmFuZ2UoYSl9fX19KTt2YXIgVmIsTzZlPWYoKCk9PntEMSgpO0xmKCk7Y3UoKTtOYygpO1ZiPWNsYXNze2NvbXBvbmVudDtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNvbXBvbmVudD10fWNyZWF0ZUJsb2NrKHQ9InBhcmFncmFwaCIscj0iIixhKXtyZXR1cm57aWQ6WmEuZ2VuZXJhdGVCbG9ja0lkKCksdHlwZTp0LGNvbnRlbnQ6ciwuLi5hJiZ7bWV0YWRhdGE6YX19fWFzeW5jIGluc2VydEJsb2NrQWZ0ZXIodCxyLGE9ITApe2xldCBpPXRoaXMuY29tcG9uZW50LmJsb2NrcyxuPWkuZmluZEluZGV4KHM9PnMuaWQ9PT10LmlkKTtpZih0aGlzLmNvbXBvbmVudC5ibG9ja3M9Wy4uLmkuc2xpY2UoMCxuKzEpLHIsLi4uaS5zbGljZShuKzEpXSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmKXtsZXQgcz10aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKTtpZihzKXtsZXQgbz10aGlzLmNvbXBvbmVudC5jcmVhdGVCbG9ja0VsZW1lbnQocik7cy5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyZW5kIixvKX19dGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSxhJiZyLnR5cGUhPT0iZGl2aWRlciImJihhd2FpdCBuZXcgUHJvbWlzZShzPT5zZXRUaW1lb3V0KHMsMCkpLGF3YWl0IHRoaXMuZm9jdXNCbG9jayhyLmlkLCJzdGFydCIpKX1yZW1vdmVCbG9jayh0KXtpZih0aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKSx0aGlzLmNvbXBvbmVudC5ibG9ja3M9dGhpcy5jb21wb25lbnQuYmxvY2tzLmZpbHRlcihyPT5yLmlkIT09dCksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZil7bGV0IHI9dGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0fSJdYCk7ciYmci5yZW1vdmUoKX10aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpfWZpbmRCbG9jayh0KXtyZXR1cm4gdGhpcy5jb21wb25lbnQuYmxvY2tzLmZpbmQocj0+ci5pZD09PXQpfWdldEJsb2NrSW5kZXgodCl7cmV0dXJuIHRoaXMuY29tcG9uZW50LmJsb2Nrcy5maW5kSW5kZXgocj0+ci5pZD09PXQpfWFzeW5jIGZvY3VzQmxvY2sodCxyPSJzdGFydCIpe2xldCBhPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7dH0iXWApO2lmKGEpe2xldCBpPWEucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aSYmKGF3YWl0IG5ldyBQcm9taXNlKG49PnJlcXVlc3RBbmltYXRpb25GcmFtZShuKSksaS5mb2N1c1dpdGhDdXJzb3IocikpfX11cGRhdGVCbG9ja0NvbnRlbnQodCxyKXtsZXQgYT10aGlzLmZpbmRCbG9jayh0KTthJiYoYS5jb250ZW50PXIsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSl9dHJhbnNmb3JtQmxvY2sodCxyLGEpe2xldCBpPXRoaXMuZmluZEJsb2NrKHQpO2kmJih0aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKSxpLnR5cGU9cixpLmNvbnRlbnQ9IiIsYSYmKGkubWV0YWRhdGE9YSksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQudXBkYXRlQmxvY2tFbGVtZW50KHQpLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCkpfW1vdmVCbG9jayh0LHIpe2xldCBhPVsuLi50aGlzLmNvbXBvbmVudC5ibG9ja3NdLGk9dGhpcy5nZXRCbG9ja0luZGV4KHQpO2lmKGk9PT0tMXx8cjwwfHxyPj1hLmxlbmd0aClyZXR1cm47bGV0W25dPWEuc3BsaWNlKGksMSk7YS5zcGxpY2UociwwLG4pLHRoaXMuY29tcG9uZW50LmJsb2Nrcz1hLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9Z2V0UHJldmlvdXNCbG9jayh0KXtsZXQgcj10aGlzLmdldEJsb2NrSW5kZXgodCk7cmV0dXJuIHI+MD90aGlzLmNvbXBvbmVudC5ibG9ja3Nbci0xXTpudWxsfWdldE5leHRCbG9jayh0KXtsZXQgcj10aGlzLmdldEJsb2NrSW5kZXgodCk7cmV0dXJuIHI8dGhpcy5jb21wb25lbnQuYmxvY2tzLmxlbmd0aC0xP3RoaXMuY29tcG9uZW50LmJsb2Nrc1tyKzFdOm51bGx9fX0pO3ZhciBnYSxycz1mKCgpPT57Z2E9Y2xhc3N7c2V0dXAodCxyLGEpe31nZXRTdHlsZXMoKXtyZXR1cm4iIn19fSk7dmFyIE5yLHIzcj1mKCgpPT57TnI9Y2xhc3N7c3RhdGljIGhhbmRsZXJzPW5ldyBNYXA7c3RhdGljIHJlZ2lzdGVyKHQscil7dGhpcy5oYW5kbGVycy5zZXQodCxyKX1zdGF0aWMgZ2V0SGFuZGxlcih0KXtyZXR1cm4gdGhpcy5oYW5kbGVycy5nZXQodCl9c3RhdGljIGdldEFsbFR5cGVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5oYW5kbGVycy5rZXlzKCkpfX19KTt2YXIgYTNyPWYoKCk9Pnt9KTt2YXIgVWIsaTNyPWYoKCk9PntycygpO3VlKCk7TmMoKTtwbCgpO1ViPWNsYXNzIGV4dGVuZHMgZ2F7dHlwZT0icGFyYWdyYXBoIjtsYXN0S25vd25DdXJzb3JQb3NpdGlvbj0wO2xhc3RTZWxlY3RlZFRleHQ9IiI7c2VsZWN0aW9uSGFuZGxlcj1udWxsO3JlbmRlcih0LHIpe2xldCBhPXI/IiBzZWxlY3RlZCI6IiIsaT10aGlzLmdldFBsYWNlaG9sZGVyKCk7cmV0dXJuYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJsb2NrIHBhcmFncmFwaCR7YX0iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9IiR7aX0iCiAgICAgICAgZGF0YS1ibG9jay1pZD0iJHt0LmlkfSIKICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7dC50eXBlfSIKICAgICAgPjwvZGl2PgogICAgYH1zZXR1cCh0LHIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7aWYoIWkpe2NvbnNvbGUuZXJyb3IoIlBhcmFncmFwaEJsb2NrSGFuZGxlci5zZXR1cDogTm8gcGFyYWdyYXBoIGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59ci5jb250ZW50JiYhaS5pbm5lckhUTUwmJihpLmlubmVySFRNTD1yLmNvbnRlbnQpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG49PnthLm9uSW5wdXQobik7bGV0IHM9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0KTtzIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249cyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49PntsZXQgcz10aGlzLmdldEN1cnNvclBvc2l0aW9uKHQpO3MhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1zKSxhLm9uS2V5RG93bihuKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57YS5vbkZvY3VzKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57YS5vbkJsdXIoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PnthLm9uQ29tcG9zaXRpb25TdGFydCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PnthLm9uQ29tcG9zaXRpb25FbmQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbj0+e2xldCBzPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24odCk7cyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXMpLGEub25Nb3VzZVVwPy4obil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuPT57c2V0VGltZW91dCgoKT0+e2xldCBzPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24odCk7cyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXMpfSwwKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG49PntsZXQgcz10aGlzLmdldEN1cnNvclBvc2l0aW9uKHQpO3MhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1zKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKHQsaSxyKX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIodCxyLGEpe2xldCBpPSgpPT57bGV0IHM9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFzfHxzLnJhbmdlQ291bnQ9PT0wKXJldHVybjtsZXQgbz1zLnRvU3RyaW5nKCk7aWYoby5sZW5ndGg9PT0wKXt0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KHQse3RleHQ6IiIsYmxvY2tJZDphLmlkLGhhc1NlbGVjdGlvbjohMX0pKTtyZXR1cm59bGV0IGM9ci5nZXRSb290Tm9kZSgpLmhvc3QsdT1jPy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxkPWM/LnNoYWRvd1Jvb3QsaD1bXTt1JiZoLnB1c2godSksZCYmaC5wdXNoKGQpO2xldCBtPVllLmdldFNlbGVjdGlvbkluZm8oLi4uaCk7aWYoIW0pcmV0dXJuO2xldCB2PVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHIsbS5zdGFydENvbnRhaW5lciksYj1ZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLG0uZW5kQ29udGFpbmVyKTtpZih2fHxiKXtpZihvIT09dGhpcy5sYXN0U2VsZWN0ZWRUZXh0KXt0aGlzLmxhc3RTZWxlY3RlZFRleHQ9bztsZXQgZz1ZZS5jcmVhdGVSYW5nZUZyb21JbmZvKG0pLHk9Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQodCx7dGV4dDpvLnRyaW0oKSxibG9ja0lkOmEuaWQscmFuZ2U6ZyxyZWN0OnksaGFzU2VsZWN0aW9uOiEwfSl9fWVsc2UgdGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudCh0LHt0ZXh0OiIiLGJsb2NrSWQ6YS5pZCxoYXNTZWxlY3Rpb246ITF9KSl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsaSksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPWk7bGV0IG49dC5jbG9zZXN0KCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihuKXtsZXQgcz1uLmRpc2Nvbm5lY3RlZENhbGxiYWNrO24uZGlzY29ubmVjdGVkQ2FsbGJhY2s9YXN5bmMgZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGlvbkhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHRoaXMuc2VsZWN0aW9uSGFuZGxlciksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPW51bGwpLHMmJmF3YWl0IHMuY2FsbChuKX0uYmluZCh0aGlzKX19ZGlzcGF0Y2hTZWxlY3Rpb25FdmVudCh0LHIpe2xldCBhPW5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDpyLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KTt0LmRpc3BhdGNoRXZlbnQoYSl9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBQYXJhZ3JhcGggc3BlY2lmaWMgc3R5bGVzICovCiAgICAgIC5ibG9jay5wYXJhZ3JhcGggewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgIH0KICAgIGB9Z2V0UGxhY2Vob2xkZXIoKXtyZXR1cm4iVHlwZSAnLycgZm9yIGNvbW1hbmRzLi4uIn1nZXRMYXN0VGV4dE5vZGUodCl7aWYodC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiB0O2ZvcihsZXQgcj10LmNoaWxkTm9kZXMubGVuZ3RoLTE7cj49MDtyLS0pe2xldCBhPXRoaXMuZ2V0TGFzdFRleHROb2RlKHQuY2hpbGROb2Rlc1tyXSk7aWYoYSlyZXR1cm4gYX1yZXR1cm4gbnVsbH1nZXRDdXJzb3JQb3NpdGlvbih0LHIpe2xldCBhPXQucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO2lmKCFhKXJldHVybiBudWxsO2xldCBzPXI/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3Qsbz1yPy5zaGFkb3dSb290LGM9W107cyYmYy5wdXNoKHMpLG8mJmMucHVzaChvKTtsZXQgbD1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLmMpO2lmKCFsfHwhWWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oYSxsLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gbnVsbDtsZXQgdT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiB1LnNlbGVjdE5vZGVDb250ZW50cyhhKSx1LnNldEVuZChsLnN0YXJ0Q29udGFpbmVyLGwuc3RhcnRPZmZzZXQpLHUudG9TdHJpbmcoKS5sZW5ndGh9Z2V0Q29udGVudCh0LHIpe2xldCBhPXQucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO3JldHVybiBhJiZhLmlubmVySFRNTHx8IiJ9c2V0Q29udGVudCh0LHIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7aWYoIWkpcmV0dXJuO2xldCBuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHx0LnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pO2kuaW5uZXJIVE1MPXIsbiYmaS5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQodCxyKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTthJiZybi5zZXRDdXJzb3JUb1N0YXJ0KGEpfXNldEN1cnNvclRvRW5kKHQscil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7YSYmcm4uc2V0Q3Vyc29yVG9FbmQoYSl9Zm9jdXModCxyKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTthJiYoYS5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxhLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLGEuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09YSYmdC5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09YSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2EuZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3IodCxyPSJlbmQiLGEpe2xldCBpPXQucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO2lmKCFpKXJldHVybjtpZihpLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fGkuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIikscj09PSJlbmQiJiZpLnRleHRDb250ZW50JiZpLnRleHRDb250ZW50Lmxlbmd0aD4wKXtsZXQgcz13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYocyl7bGV0IG89ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxjPXRoaXMuZ2V0TGFzdFRleHROb2RlKGkpfHxpO2Mubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT8oby5zZXRTdGFydChjLGMudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCksby5zZXRFbmQoYyxjLnRleHRDb250ZW50Py5sZW5ndGh8fDApKTooby5zZWxlY3ROb2RlQ29udGVudHMoYyksby5jb2xsYXBzZSghMSkpLHMucmVtb3ZlQWxsUmFuZ2VzKCkscy5hZGRSYW5nZShvKX19aS5mb2N1cygpO2xldCBuPSgpPT57cj09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KHQsYSk6cj09PSJlbmQiJiYoIWkudGV4dENvbnRlbnR8fGkudGV4dENvbnRlbnQubGVuZ3RoPT09MCk/dGhpcy5zZXRDdXJzb3JUb0VuZCh0LGEpOnR5cGVvZiByPT0ibnVtYmVyIiYmWWUuc2V0Q3Vyc29yUG9zaXRpb24oaSxyKX07ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fHQuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk/bigpOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8dC5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9uKCk6c2V0VGltZW91dCgoKT0+eyhkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8dC5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aSkmJm4oKX0sMTApfSl9Z2V0U3BsaXRDb250ZW50KHQscil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7aWYoIWEpcmV0dXJuIG51bGw7bGV0IHM9cj8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxvPXI/LnNoYWRvd1Jvb3QsYz1bXTtzJiZjLnB1c2gocyksbyYmYy5wdXNoKG8pO2xldCBsPVllLmdldFNlbGVjdGlvbkluZm8oLi4uYyk7aWYoIWwpe2lmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgdz1hLnRleHRDb250ZW50fHwiIixrPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24sdy5sZW5ndGgpO3JldHVybntiZWZvcmU6dy5zdWJzdHJpbmcoMCxrKSxhZnRlcjp3LnN1YnN0cmluZyhrKX19cmV0dXJuIG51bGx9aWYoIVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGEsbC5zdGFydENvbnRhaW5lcikpe2lmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgdz1hLnRleHRDb250ZW50fHwiIixrPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24sdy5sZW5ndGgpO3JldHVybntiZWZvcmU6dy5zdWJzdHJpbmcoMCxrKSxhZnRlcjp3LnN1YnN0cmluZyhrKX19cmV0dXJuIG51bGx9bGV0IHU9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0LHIpO2lmKHU9PT1udWxsfHx1PT09MClyZXR1cm57YmVmb3JlOiIiLGFmdGVyOmEuaW5uZXJIVE1MfTtsZXQgZD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGg9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtkLnNldFN0YXJ0KGEsMCksZC5zZXRFbmQobC5zdGFydENvbnRhaW5lcixsLnN0YXJ0T2Zmc2V0KSxoLnNldFN0YXJ0KGwuc3RhcnRDb250YWluZXIsbC5zdGFydE9mZnNldCksaC5zZXRFbmQoYSxhLmNoaWxkTm9kZXMubGVuZ3RoKTtsZXQgbT1kLmNsb25lQ29udGVudHMoKSx2PWguY2xvbmVDb250ZW50cygpLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5hcHBlbmRDaGlsZChtKTtsZXQgZz1iLmlubmVySFRNTDtiLmlubmVySFRNTD0iIixiLmFwcGVuZENoaWxkKHYpO2xldCB5PWIuaW5uZXJIVE1MO3JldHVybntiZWZvcmU6ZyxhZnRlcjp5fX19fSk7dmFyIHV1LG4zcj1mKCgpPT57cnMoKTt1ZSgpO05jKCk7cGwoKTt1dT1jbGFzcyBleHRlbmRzIGdhe3R5cGU7bGV2ZWw7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT10LHRoaXMubGV2ZWw9cGFyc2VJbnQodC5zcGxpdCgiLSIpWzFdKX1yZW5kZXIodCxyKXtsZXQgYT1yPyIgc2VsZWN0ZWQiOiIiLGk9dGhpcy5nZXRQbGFjZWhvbGRlcigpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBoZWFkaW5nLSR7dGhpcy5sZXZlbH0ke2F9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICBkYXRhLXBsYWNlaG9sZGVyPSIke2l9IgogICAgICAgIGRhdGEtYmxvY2staWQ9IiR7dC5pZH0iCiAgICAgICAgZGF0YS1ibG9jay10eXBlPSIke3QudHlwZX0iCiAgICAgID48L2Rpdj4KICAgIGB9c2V0dXAodCxyLGEpe2xldCBpPXQucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO2lmKCFpKXtjb25zb2xlLmVycm9yKCJIZWFkaW5nQmxvY2tIYW5kbGVyLnNldHVwOiBObyBoZWFkaW5nIGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59ci5jb250ZW50JiYhaS5pbm5lckhUTUwmJihpLmlubmVySFRNTD1yLmNvbnRlbnQpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG49PnthLm9uSW5wdXQobik7bGV0IHM9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0KTtzIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249cyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49PntsZXQgcz10aGlzLmdldEN1cnNvclBvc2l0aW9uKHQpO3MhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1zKSxhLm9uS2V5RG93bihuKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57YS5vbkZvY3VzKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57YS5vbkJsdXIoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PnthLm9uQ29tcG9zaXRpb25TdGFydCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PnthLm9uQ29tcG9zaXRpb25FbmQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbj0+e2xldCBzPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24odCk7cyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXMpLGEub25Nb3VzZVVwPy4obil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuPT57c2V0VGltZW91dCgoKT0+e2xldCBzPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24odCk7cyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXMpfSwwKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG49PntsZXQgcz10aGlzLmdldEN1cnNvclBvc2l0aW9uKHQpO3MhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1zKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKHQsaSxyKX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIodCxyLGEpe2xldCBpPSgpPT57bGV0IHM9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFzfHxzLnJhbmdlQ291bnQ9PT0wKXJldHVybjtsZXQgbz1zLnRvU3RyaW5nKCk7aWYoby5sZW5ndGg9PT0wKXt0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KHQse3RleHQ6IiIsYmxvY2tJZDphLmlkLGhhc1NlbGVjdGlvbjohMX0pKTtyZXR1cm59bGV0IGM9ci5nZXRSb290Tm9kZSgpLmhvc3QsdT1jPy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxkPWM/LnNoYWRvd1Jvb3QsaD1bXTt1JiZoLnB1c2godSksZCYmaC5wdXNoKGQpO2xldCBtPVllLmdldFNlbGVjdGlvbkluZm8oLi4uaCk7aWYoIW0pcmV0dXJuO2xldCB2PVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHIsbS5zdGFydENvbnRhaW5lciksYj1ZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLG0uZW5kQ29udGFpbmVyKTtpZih2fHxiKXtpZihvIT09dGhpcy5sYXN0U2VsZWN0ZWRUZXh0KXt0aGlzLmxhc3RTZWxlY3RlZFRleHQ9bztsZXQgZz1ZZS5jcmVhdGVSYW5nZUZyb21JbmZvKG0pLHk9Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQodCx7dGV4dDpvLnRyaW0oKSxibG9ja0lkOmEuaWQscmFuZ2U6ZyxyZWN0OnksaGFzU2VsZWN0aW9uOiEwfSl9fWVsc2UgdGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudCh0LHt0ZXh0OiIiLGJsb2NrSWQ6YS5pZCxoYXNTZWxlY3Rpb246ITF9KSl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsaSksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPWk7bGV0IG49ci5nZXRSb290Tm9kZSgpLmhvc3Q7aWYobil7bGV0IHM9bi5kaXNjb25uZWN0ZWRDYWxsYmFjaztuLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIix0aGlzLnNlbGVjdGlvbkhhbmRsZXIpLHRoaXMuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxzJiZhd2FpdCBzLmNhbGwobil9LmJpbmQodGhpcyl9fWRpc3BhdGNoU2VsZWN0aW9uRXZlbnQodCxyKXtsZXQgYT1uZXcgQ3VzdG9tRXZlbnQoImJsb2NrLXRleHQtc2VsZWN0ZWQiLHtkZXRhaWw6cixidWJibGVzOiEwLGNvbXBvc2VkOiEwfSk7dC5kaXNwYXRjaEV2ZW50KGEpfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLmJsb2NrLmhlYWRpbmctMSB7CiAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgICBtYXJnaW46IDI0cHggMCA4cHggMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAuYmxvY2suaGVhZGluZy0yIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS4zOwogICAgICAgIG1hcmdpbjogMjBweCAwIDZweCAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5ibG9jay5oZWFkaW5nLTMgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgICAgbWFyZ2luOiAxNnB4IDAgNHB4IDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgfQogICAgYH1nZXRQbGFjZWhvbGRlcigpe3N3aXRjaCh0aGlzLmxldmVsKXtjYXNlIDE6cmV0dXJuIkhlYWRpbmcgMSI7Y2FzZSAyOnJldHVybiJIZWFkaW5nIDIiO2Nhc2UgMzpyZXR1cm4iSGVhZGluZyAzIjtkZWZhdWx0OnJldHVybiJIZWFkaW5nIn19Z2V0TGFzdFRleHROb2RlKHQpe2lmKHQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSlyZXR1cm4gdDtmb3IobGV0IHI9dC5jaGlsZE5vZGVzLmxlbmd0aC0xO3I+PTA7ci0tKXtsZXQgYT10aGlzLmdldExhc3RUZXh0Tm9kZSh0LmNoaWxkTm9kZXNbcl0pO2lmKGEpcmV0dXJuIGF9cmV0dXJuIG51bGx9Z2V0Q3Vyc29yUG9zaXRpb24odCxyKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtpZighYSlyZXR1cm4gbnVsbDtsZXQgcz1yPy5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LG89cj8uc2hhZG93Um9vdCxjPVtdO3MmJmMucHVzaChzKSxvJiZjLnB1c2gobyk7bGV0IGw9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5jKTtpZighbHx8IVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGEsbC5zdGFydENvbnRhaW5lcikpcmV0dXJuIG51bGw7bGV0IHU9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gdS5zZWxlY3ROb2RlQ29udGVudHMoYSksdS5zZXRFbmQobC5zdGFydENvbnRhaW5lcixsLnN0YXJ0T2Zmc2V0KSx1LnRvU3RyaW5nKCkubGVuZ3RofWdldENvbnRlbnQodCxyKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtyZXR1cm4gYSYmYS5pbm5lckhUTUx8fCIifXNldENvbnRlbnQodCxyLGEpe2xldCBpPXQucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO2lmKCFpKXJldHVybjtsZXQgbj1kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8dC5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aTtpLmlubmVySFRNTD1yLG4mJmkuZm9jdXMoKX1zZXRDdXJzb3JUb1N0YXJ0KHQscil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7YSYmcm4uc2V0Q3Vyc29yVG9TdGFydChhKX1zZXRDdXJzb3JUb0VuZCh0LHIpe2xldCBhPXQucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO2EmJnJuLnNldEN1cnNvclRvRW5kKGEpfWZvY3VzKHQscil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7YSYmKGEuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8YS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxhLmZvY3VzKCksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWEmJnQuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudCE9PWEmJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnthLmZvY3VzKCl9KSl9Zm9jdXNXaXRoQ3Vyc29yKHQscj0iZW5kIixhKXtsZXQgaT10LnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtpZighaSlyZXR1cm47aWYoaS5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxpLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLHI9PT0iZW5kIiYmaS50ZXh0Q29udGVudCYmaS50ZXh0Q29udGVudC5sZW5ndGg+MCl7bGV0IHM9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKHMpe2xldCBvPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksYz10aGlzLmdldExhc3RUZXh0Tm9kZShpKXx8aTtjLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/KG8uc2V0U3RhcnQoYyxjLnRleHRDb250ZW50Py5sZW5ndGh8fDApLG8uc2V0RW5kKGMsYy50ZXh0Q29udGVudD8ubGVuZ3RofHwwKSk6KG8uc2VsZWN0Tm9kZUNvbnRlbnRzKGMpLG8uY29sbGFwc2UoITEpKSxzLnJlbW92ZUFsbFJhbmdlcygpLHMuYWRkUmFuZ2Uobyl9fWkuZm9jdXMoKTtsZXQgbj0oKT0+e3I9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydCh0LGEpOnI9PT0iZW5kIiYmKCFpLnRleHRDb250ZW50fHxpLnRleHRDb250ZW50Lmxlbmd0aD09PTApP3RoaXMuc2V0Q3Vyc29yVG9FbmQodCxhKTp0eXBlb2Ygcj09Im51bWJlciImJlllLnNldEN1cnNvclBvc2l0aW9uKGkscil9O2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHx0LnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pP24oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fHQuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk/bigpOnNldFRpbWVvdXQoKCk9PnsoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fHQuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWkpJiZuKCl9LDEwKX0pfWdldFNwbGl0Q29udGVudCh0LHIpe2xldCBhPXQucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO2lmKCFhKXJldHVybiBudWxsO2xldCBzPXI/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3Qsbz1yPy5zaGFkb3dSb290LGM9W107cyYmYy5wdXNoKHMpLG8mJmMucHVzaChvKTtsZXQgbD1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLmMpO2lmKCFsKXtpZih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IHc9YS50ZXh0Q29udGVudHx8IiIsaz1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLHcubGVuZ3RoKTtyZXR1cm57YmVmb3JlOncuc3Vic3RyaW5nKDAsayksYWZ0ZXI6dy5zdWJzdHJpbmcoayl9fXJldHVybiBudWxsfWlmKCFZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShhLGwuc3RhcnRDb250YWluZXIpKXtpZih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IHc9YS50ZXh0Q29udGVudHx8IiIsaz1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLHcubGVuZ3RoKTtyZXR1cm57YmVmb3JlOncuc3Vic3RyaW5nKDAsayksYWZ0ZXI6dy5zdWJzdHJpbmcoayl9fXJldHVybiBudWxsfWxldCB1PXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24odCxyKTtpZih1PT09bnVsbHx8dT09PTApcmV0dXJue2JlZm9yZToiIixhZnRlcjphLmlubmVySFRNTH07bGV0IGQ9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxoPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7ZC5zZXRTdGFydChhLDApLGQuc2V0RW5kKGwuc3RhcnRDb250YWluZXIsbC5zdGFydE9mZnNldCksaC5zZXRTdGFydChsLnN0YXJ0Q29udGFpbmVyLGwuc3RhcnRPZmZzZXQpLGguc2V0RW5kKGEsYS5jaGlsZE5vZGVzLmxlbmd0aCk7bGV0IG09ZC5jbG9uZUNvbnRlbnRzKCksdj1oLmNsb25lQ29udGVudHMoKSxiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuYXBwZW5kQ2hpbGQobSk7bGV0IGc9Yi5pbm5lckhUTUw7Yi5pbm5lckhUTUw9IiIsYi5hcHBlbmRDaGlsZCh2KTtsZXQgeT1iLmlubmVySFRNTDtyZXR1cm57YmVmb3JlOmcsYWZ0ZXI6eX19fX0pO3ZhciBXYixzM3I9ZigoKT0+e3JzKCk7dWUoKTtOYygpO3BsKCk7V2I9Y2xhc3MgZXh0ZW5kcyBnYXt0eXBlPSJxdW90ZSI7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtyZW5kZXIodCxyKXtsZXQgYT1yPyIgc2VsZWN0ZWQiOiIiLGk9dGhpcy5nZXRQbGFjZWhvbGRlcigpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBxdW90ZSR7YX0iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9IiR7aX0iCiAgICAgICAgZGF0YS1ibG9jay1pZD0iJHt0LmlkfSIKICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7dC50eXBlfSIKICAgICAgPjwvZGl2PgogICAgYH1zZXR1cCh0LHIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtpZighaSl7Y29uc29sZS5lcnJvcigiUXVvdGVCbG9ja0hhbmRsZXIuc2V0dXA6IE5vIHF1b3RlIGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59ci5jb250ZW50JiYhaS5pbm5lckhUTUwmJihpLmlubmVySFRNTD1yLmNvbnRlbnQpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG49PnthLm9uSW5wdXQobik7bGV0IHM9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0KTtzIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249cyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49PntsZXQgcz10aGlzLmdldEN1cnNvclBvc2l0aW9uKHQpO3MhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1zKSxhLm9uS2V5RG93bihuKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57YS5vbkZvY3VzKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57YS5vbkJsdXIoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PnthLm9uQ29tcG9zaXRpb25TdGFydCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PnthLm9uQ29tcG9zaXRpb25FbmQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbj0+e2xldCBzPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24odCk7cyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXMpLGEub25Nb3VzZVVwPy4obil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuPT57c2V0VGltZW91dCgoKT0+e2xldCBzPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24odCk7cyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXMpfSwwKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG49PntsZXQgcz10aGlzLmdldEN1cnNvclBvc2l0aW9uKHQpO3MhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1zKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKHQsaSxyKX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIodCxyLGEpe2xldCBpPSgpPT57bGV0IHM9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFzfHxzLnJhbmdlQ291bnQ9PT0wKXJldHVybjtsZXQgbz1zLnRvU3RyaW5nKCk7aWYoby5sZW5ndGg9PT0wKXt0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KHQse3RleHQ6IiIsYmxvY2tJZDphLmlkLGhhc1NlbGVjdGlvbjohMX0pKTtyZXR1cm59bGV0IGM9ci5nZXRSb290Tm9kZSgpLmhvc3QsdT1jPy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxkPWM/LnNoYWRvd1Jvb3QsaD1bXTt1JiZoLnB1c2godSksZCYmaC5wdXNoKGQpO2xldCBtPVllLmdldFNlbGVjdGlvbkluZm8oLi4uaCk7aWYoIW0pcmV0dXJuO2xldCB2PVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHIsbS5zdGFydENvbnRhaW5lciksYj1ZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLG0uZW5kQ29udGFpbmVyKTtpZih2fHxiKXtpZihvIT09dGhpcy5sYXN0U2VsZWN0ZWRUZXh0KXt0aGlzLmxhc3RTZWxlY3RlZFRleHQ9bztsZXQgZz1ZZS5jcmVhdGVSYW5nZUZyb21JbmZvKG0pLHk9Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQodCx7dGV4dDpvLnRyaW0oKSxibG9ja0lkOmEuaWQscmFuZ2U6ZyxyZWN0OnksaGFzU2VsZWN0aW9uOiEwfSl9fWVsc2UgdGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudCh0LHt0ZXh0OiIiLGJsb2NrSWQ6YS5pZCxoYXNTZWxlY3Rpb246ITF9KSl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsaSksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPWk7bGV0IG49ci5nZXRSb290Tm9kZSgpLmhvc3Q7aWYobil7bGV0IHM9bi5kaXNjb25uZWN0ZWRDYWxsYmFjaztuLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIix0aGlzLnNlbGVjdGlvbkhhbmRsZXIpLHRoaXMuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxzJiZhd2FpdCBzLmNhbGwobil9LmJpbmQodGhpcyl9fWRpc3BhdGNoU2VsZWN0aW9uRXZlbnQodCxyKXtsZXQgYT1uZXcgQ3VzdG9tRXZlbnQoImJsb2NrLXRleHQtc2VsZWN0ZWQiLHtkZXRhaWw6cixidWJibGVzOiEwLGNvbXBvc2VkOiEwfSk7dC5kaXNwYXRjaEV2ZW50KGEpfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLyogUXVvdGUgc3BlY2lmaWMgc3R5bGVzICovCiAgICAgIC5ibG9jay5xdW90ZSB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAke3AuYmRUaGVtZSgiIzAwNjZjYyIsIiM0ZDk0ZmYiKX07CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzU1NSIsIiNiMGIwYjAiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgbWFyZ2luOiAxNnB4IDA7CiAgICAgIH0KICAgIGB9Z2V0UGxhY2Vob2xkZXIoKXtyZXR1cm4iQWRkIGEgcXVvdGUuLi4ifWdldEN1cnNvclBvc2l0aW9uKHQscil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtpZighYSlyZXR1cm4gbnVsbDtsZXQgcz1yPy5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LG89cj8uc2hhZG93Um9vdCxjPVtdO3MmJmMucHVzaChzKSxvJiZjLnB1c2gobyk7bGV0IGw9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5jKTtpZighbHx8IVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGEsbC5zdGFydENvbnRhaW5lcikpcmV0dXJuIG51bGw7bGV0IHU9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gdS5zZWxlY3ROb2RlQ29udGVudHMoYSksdS5zZXRFbmQobC5zdGFydENvbnRhaW5lcixsLnN0YXJ0T2Zmc2V0KSx1LnRvU3RyaW5nKCkubGVuZ3RofWdldENvbnRlbnQodCxyKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO3JldHVybiBhJiZhLmlubmVySFRNTHx8IiJ9c2V0Q29udGVudCh0LHIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtpZighaSlyZXR1cm47bGV0IG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fHQuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk7aS5pbm5lckhUTUw9cixuJiZpLmZvY3VzKCl9c2V0Q3Vyc29yVG9TdGFydCh0LHIpe2xldCBhPXQucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7YSYmcm4uc2V0Q3Vyc29yVG9TdGFydChhKX1zZXRDdXJzb3JUb0VuZCh0LHIpe2xldCBhPXQucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7YSYmcm4uc2V0Q3Vyc29yVG9FbmQoYSl9Zm9jdXModCxyKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO2EmJihhLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fGEuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksYS5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1hJiZ0LnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQhPT1hJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57YS5mb2N1cygpfSkpfWZvY3VzV2l0aEN1cnNvcih0LHI9ImVuZCIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtpZighaSlyZXR1cm47aS5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxpLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLGkuZm9jdXMoKTtsZXQgbj0oKT0+e3I9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydCh0LGEpOnI9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKHQsYSk6dHlwZW9mIHI9PSJudW1iZXIiJiZZZS5zZXRDdXJzb3JQb3NpdGlvbihpLHIpfTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8dC5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9uKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+eyhkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8dC5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aSkmJm4oKX0pfWdldFNwbGl0Q29udGVudCh0LHIpe2xldCBhPXQucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7aWYoIWEpcmV0dXJuIG51bGw7bGV0IHM9cj8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxvPXI/LnNoYWRvd1Jvb3QsYz1bXTtzJiZjLnB1c2gocyksbyYmYy5wdXNoKG8pO2xldCBsPVllLmdldFNlbGVjdGlvbkluZm8oLi4uYyk7aWYoIWwpe2lmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgdz1hLnRleHRDb250ZW50fHwiIixrPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24sdy5sZW5ndGgpO3JldHVybntiZWZvcmU6dy5zdWJzdHJpbmcoMCxrKSxhZnRlcjp3LnN1YnN0cmluZyhrKX19cmV0dXJuIG51bGx9aWYoIVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGEsbC5zdGFydENvbnRhaW5lcikpe2lmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgdz1hLnRleHRDb250ZW50fHwiIixrPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24sdy5sZW5ndGgpO3JldHVybntiZWZvcmU6dy5zdWJzdHJpbmcoMCxrKSxhZnRlcjp3LnN1YnN0cmluZyhrKX19cmV0dXJuIG51bGx9bGV0IHU9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0LHIpO2lmKHU9PT1udWxsfHx1PT09MClyZXR1cm57YmVmb3JlOiIiLGFmdGVyOmEuaW5uZXJIVE1MfTtsZXQgZD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGg9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtkLnNldFN0YXJ0KGEsMCksZC5zZXRFbmQobC5zdGFydENvbnRhaW5lcixsLnN0YXJ0T2Zmc2V0KSxoLnNldFN0YXJ0KGwuc3RhcnRDb250YWluZXIsbC5zdGFydE9mZnNldCksaC5zZXRFbmQoYSxhLmNoaWxkTm9kZXMubGVuZ3RoKTtsZXQgbT1kLmNsb25lQ29udGVudHMoKSx2PWguY2xvbmVDb250ZW50cygpLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5hcHBlbmRDaGlsZChtKTtsZXQgZz1iLmlubmVySFRNTDtiLmlubmVySFRNTD0iIixiLmFwcGVuZENoaWxkKHYpO2xldCB5PWIuaW5uZXJIVE1MO3JldHVybntiZWZvcmU6ZyxhZnRlcjp5fX19fSk7dmFyIEdiLG8zcj1mKCgpPT57cnMoKTt1ZSgpO3BsKCk7Sm4oKTtSRigpO3QzKCk7R2I9Y2xhc3MgZXh0ZW5kcyBnYXt0eXBlPSJjb2RlIjtoaWdobGlnaHRUaW1lcj1udWxsO2hpZ2hsaWdodEpzPW51bGw7cmVuZGVyKHQscil7bGV0IGE9dC5tZXRhZGF0YT8ubGFuZ3VhZ2V8fCJ0eXBlc2NyaXB0IixpPXQuY29udGVudHx8IiIsbj1pLnNwbGl0KGAKYCkubGVuZ3RoLHM9IiI7Zm9yKGxldCBjPTE7Yzw9bjtjKyspcys9YDxkaXYgY2xhc3M9ImxpbmUtbnVtYmVyIj4ke2N9PC9kaXY+YDtsZXQgbz1qYi5tYXAoYz0+e2xldCBsPWMudG9Mb3dlckNhc2UoKTtyZXR1cm5gPG9wdGlvbiB2YWx1ZT0iJHtsfSIgJHtsPT09YT8ic2VsZWN0ZWQiOiIifT4ke2N9PC9vcHRpb24+YH0pLmpvaW4oIiIpO3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iY29kZS1ibG9jay1jb250YWluZXIke3I/IiBzZWxlY3RlZCI6IiJ9IiBkYXRhLWxhbmd1YWdlPSIke2F9Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWhlYWRlciI+CiAgICAgICAgICA8c2VsZWN0IGNsYXNzPSJsYW5ndWFnZS1zZWxlY3RvciIgZGF0YS1ibG9jay1pZD0iJHt0LmlkfSI+CiAgICAgICAgICAgICR7b30KICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY29weS1idXR0b24iIHRpdGxlPSJDb3B5IGNvZGUiPgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJjb3B5LWljb24iIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wIDYuNzVDMCA1Ljc4NC43ODQgNSAxLjc1IDVoMS41YS43NS43NSAwIDAxMCAxLjVoLTEuNWEuMjUuMjUgMCAwMC0uMjUuMjV2Ny41YzAgLjEzOC4xMTIuMjUuMjUuMjVoNy41YS4yNS4yNSAwIDAwLjI1LS4yNXYtMS41YS43NS43NSAwIDAxMS41IDB2MS41QTEuNzUgMS43NSAwIDAxOS4yNSAxNmgtNy41QTEuNzUgMS43NSAwIDAxMCAxNC4yNXYtNy41eiI+PC9wYXRoPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDEuNzVDNSAuNzg0IDUuNzg0IDAgNi43NSAwaDcuNUMxNS4yMTYgMCAxNiAuNzg0IDE2IDEuNzV2Ny41QTEuNzUgMS43NSAwIDAxMTQuMjUgMTFoLTcuNUExLjc1IDEuNzUgMCAwMTUgOS4yNXYtNy41em0xLjc1LS4yNWEuMjUuMjUgMCAwMC0uMjUuMjV2Ny41YzAgLjEzOC4xMTIuMjUuMjUuMjVoNy41YS4yNS4yNSAwIDAwLjI1LS4yNXYtNy41YS4yNS4yNSAwIDAwLS4yNS0uMjVoLTcuNXoiPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb3B5LXRleHQiPkNvcHk8L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWJvZHkiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZS1udW1iZXJzIj4ke3N9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWNvbnRlbnQiPgogICAgICAgICAgICA8cHJlIGNsYXNzPSJjb2RlLXByZSI+PGNvZGUgY2xhc3M9ImNvZGUtZWRpdG9yIiAKICAgICAgICAgICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHt0LmlkfSIKICAgICAgICAgICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7dC50eXBlfSIKICAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSI+JHt0aGlzLmVzY2FwZUh0bWwoaSl9PC9jb2RlPjwvcHJlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cCh0LHIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKSxuPXQucXVlcnlTZWxlY3RvcigiLmNvZGUtYmxvY2stY29udGFpbmVyIikscz10LnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LWJ1dHRvbiIpLG89dC5xdWVyeVNlbGVjdG9yKCIubGFuZ3VhZ2Utc2VsZWN0b3IiKTtpZighaXx8IW4pcmV0dXJuO28mJm8uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixsPT57bGV0IHU9bC50YXJnZXQudmFsdWU7ci5tZXRhZGF0YT17Li4uci5tZXRhZGF0YSxsYW5ndWFnZTp1fSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1sYW5ndWFnZSIsdSksci5jb250ZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09aSYmdGhpcy5hcHBseUhpZ2hsaWdodGluZyh0LHIpLGEub25JbnB1dCYmYS5vbklucHV0KG5ldyBJbnB1dEV2ZW50KCJpbnB1dCIpKX0pLHMmJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9PntsZXQgbD1pLnRleHRDb250ZW50fHwiIjt0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQobCk7bGV0IHU9cy5xdWVyeVNlbGVjdG9yKCIuY29weS10ZXh0IiksZD11LnRleHRDb250ZW50O3UudGV4dENvbnRlbnQ9IkNvcGllZCEiLHMuY2xhc3NMaXN0LmFkZCgiY29waWVkIiksc2V0VGltZW91dCgoKT0+e3UudGV4dENvbnRlbnQ9ZCxzLmNsYXNzTGlzdC5yZW1vdmUoImNvcGllZCIpfSwyZTMpfWNhdGNoKHUpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjb3B5OiIsdSk7bGV0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTtkLnZhbHVlPWwsZC5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGQuc3R5bGUub3BhY2l0eT0iMCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkKSxkLnNlbGVjdCgpO3RyeXtkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpO2xldCBoPXMucXVlcnlTZWxlY3RvcigiLmNvcHktdGV4dCIpLG09aC50ZXh0Q29udGVudDtoLnRleHRDb250ZW50PSJDb3BpZWQhIixzLmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoKCk9PntoLnRleHRDb250ZW50PW0scy5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKX0sMmUzKX1jYXRjaChoKXtjb25zb2xlLmVycm9yKCJGYWxsYmFjayBjb3B5IGZhaWxlZDoiLGgpfWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZCl9fSk7bGV0IGM9ITE7aS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PntjPSEwLG4uY2xhc3NMaXN0LmFkZCgiZWRpdGluZyIpO2xldCBsPWkudGV4dENvbnRlbnR8fCIiO2kudGV4dENvbnRlbnQ9bCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntsZXQgdT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGQ9d2luZG93LmdldFNlbGVjdGlvbigpO2kuZmlyc3RDaGlsZCYmKHUuc2V0U3RhcnQoaS5maXJzdENoaWxkLDApLHUuY29sbGFwc2UoITApLGQ/LnJlbW92ZUFsbFJhbmdlcygpLGQ/LmFkZFJhbmdlKHUpKX0pLGEub25Gb2N1cygpfSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2M9ITEsbi5jbGFzc0xpc3QucmVtb3ZlKCJlZGl0aW5nIiksdGhpcy5hcHBseUhpZ2hsaWdodGluZyh0LHIpLGEub25CbHVyKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixsPT57YS5vbklucHV0KGwpLHRoaXMudXBkYXRlTGluZU51bWJlcnModCksY2xlYXJUaW1lb3V0KHRoaXMuaGlnaGxpZ2h0VGltZXIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixsPT57aWYobC5rZXk9PT0iVGFiIil7bC5wcmV2ZW50RGVmYXVsdCgpO2xldCB1PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZih1JiZ1LnJhbmdlQ291bnQ+MCl7bGV0IGQ9dS5nZXRSYW5nZUF0KDApLGg9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAgIik7ZC5pbnNlcnROb2RlKGgpLGQuc2V0U3RhcnRBZnRlcihoKSxkLnNldEVuZEFmdGVyKGgpLHUucmVtb3ZlQWxsUmFuZ2VzKCksdS5hZGRSYW5nZShkKSxhLm9uSW5wdXQobmV3IElucHV0RXZlbnQoImlucHV0IikpLHRoaXMudXBkYXRlTGluZU51bWJlcnModCl9cmV0dXJufWlmKFsiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsIkFycm93VXAiLCJBcnJvd0Rvd24iXS5pbmNsdWRlcyhsLmtleSkpe2xldCB1PXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24odCksZD1pLnRleHRDb250ZW50Py5sZW5ndGh8fDA7aWYobC5rZXk9PT0iQXJyb3dMZWZ0IiYmdT09PTB8fGwua2V5PT09IkFycm93UmlnaHQiJiZ1PT09ZCl7YS5vbktleURvd24obCk7cmV0dXJufWlmKGwua2V5PT09IkFycm93VXAifHxsLmtleT09PSJBcnJvd0Rvd24iKXtsZXQgaD0oaS50ZXh0Q29udGVudHx8IiIpLnNwbGl0KGAKYCksbT10aGlzLmdldEN1cnJlbnRMaW5lSW5kZXgoaSk7aWYobC5rZXk9PT0iQXJyb3dVcCImJm09PT0wfHxsLmtleT09PSJBcnJvd0Rvd24iJiZtPT09aC5sZW5ndGgtMSl7YS5vbktleURvd24obCk7cmV0dXJufX19YS5vbktleURvd24obCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIixsPT57bC5wcmV2ZW50RGVmYXVsdCgpO2xldCB1PWwuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgidGV4dC9wbGFpbiIpO2lmKHUpe2xldCBkPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihkJiZkLnJhbmdlQ291bnQ+MCl7bGV0IGg9ZC5nZXRSYW5nZUF0KDApO2guZGVsZXRlQ29udGVudHMoKTtsZXQgbT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh1KTtoLmluc2VydE5vZGUobSksaC5zZXRTdGFydEFmdGVyKG0pLGguc2V0RW5kQWZ0ZXIobSksZC5yZW1vdmVBbGxSYW5nZXMoKSxkLmFkZFJhbmdlKGgpLGEub25JbnB1dChuZXcgSW5wdXRFdmVudCgiaW5wdXQiKSksdGhpcy51cGRhdGVMaW5lTnVtYmVycyh0KX19fSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IiwoKT0+YS5vbkNvbXBvc2l0aW9uU3RhcnQoKSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PmEub25Db21wb3NpdGlvbkVuZCgpKSxyLmNvbnRlbnQmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1pJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmFwcGx5SGlnaGxpZ2h0aW5nKHQscil9KX11cGRhdGVMaW5lTnVtYmVycyh0KXtsZXQgcj10LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpLGE9dC5xdWVyeVNlbGVjdG9yKCIubGluZS1udW1iZXJzIik7aWYoIXJ8fCFhKXJldHVybjtsZXQgcz0oci50ZXh0Q29udGVudHx8IiIpLnNwbGl0KGAKYCkubGVuZ3RofHwxLG89IiI7Zm9yKGxldCBjPTE7Yzw9cztjKyspbys9YDxkaXYgY2xhc3M9ImxpbmUtbnVtYmVyIj4ke2N9PC9kaXY+YDthLmlubmVySFRNTD1vfWdldEN1cnJlbnRMaW5lSW5kZXgodCl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyfHxyLnJhbmdlQ291bnQ9PT0wKXJldHVybiAwO2xldCBhPXIuZ2V0UmFuZ2VBdCgwKSxpPWEuY2xvbmVSYW5nZSgpO3JldHVybiBpLnNlbGVjdE5vZGVDb250ZW50cyh0KSxpLnNldEVuZChhLnN0YXJ0Q29udGFpbmVyLGEuc3RhcnRPZmZzZXQpLGkudG9TdHJpbmcoKS5zcGxpdChgCmApLmxlbmd0aC0xfWFzeW5jIGFwcGx5SGlnaGxpZ2h0aW5nKHQscil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTtpZighYSlyZXR1cm47dGhpcy5oaWdobGlnaHRKc3x8KHRoaXMuaGlnaGxpZ2h0SnM9YXdhaXQgZW4uZ2V0SW5zdGFuY2UoKS5sb2FkSGlnaGxpZ2h0SnMoKSk7bGV0IGk9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0KSxuPWEudGV4dENvbnRlbnR8fCIiLHM9ci5tZXRhZGF0YT8ubGFuZ3VhZ2V8fCJ0eXBlc2NyaXB0Ijt0cnl7bGV0IG89dGhpcy5oaWdobGlnaHRKcy5oaWdobGlnaHQobix7bGFuZ3VhZ2U6cyxpZ25vcmVJbGxlZ2FsczohMH0pO28udmFsdWUmJihhLmlubmVySFRNTD1vLnZhbHVlLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1hJiZpIT09bnVsbCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57WWUuc2V0Q3Vyc29yUG9zaXRpb24oYSxpKX0pKX1jYXRjaChvKXtjb25zb2xlLndhcm4oIlN5bnRheCBoaWdobGlnaHRpbmcgZmFpbGVkOiIsbyl9fWVzY2FwZUh0bWwodCl7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHIudGV4dENvbnRlbnQ9dCxyLmlubmVySFRNTH1nZXRDb250ZW50KHQpe3JldHVybiB0LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpPy50ZXh0Q29udGVudHx8IiJ9c2V0Q29udGVudCh0LHIpe2xldCBhPXQucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYoYSYmKGEudGV4dENvbnRlbnQ9cix0aGlzLnVwZGF0ZUxpbmVOdW1iZXJzKHQpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1hKSl7bGV0IGk9e2lkOmEuZGF0YXNldC5ibG9ja0lkfHwiIix0eXBlOiJjb2RlIixjb250ZW50OnIsbWV0YWRhdGE6e2xhbmd1YWdlOnQucXVlcnlTZWxlY3RvcigiLmNvZGUtYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1sYW5ndWFnZSIpfHwidHlwZXNjcmlwdCJ9fTt0aGlzLmFwcGx5SGlnaGxpZ2h0aW5nKHQsaSl9fWdldEN1cnNvclBvc2l0aW9uKHQpe2xldCByPXQucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYoIXIpcmV0dXJuIG51bGw7bGV0IGE9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFhfHxhLnJhbmdlQ291bnQ9PT0wKXJldHVybiBudWxsO2xldCBpPWEuZ2V0UmFuZ2VBdCgwKTtpZighci5jb250YWlucyhpLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gbnVsbDtsZXQgbj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBuLnNlbGVjdE5vZGVDb250ZW50cyhyKSxuLnNldEVuZChpLnN0YXJ0Q29udGFpbmVyLGkuc3RhcnRPZmZzZXQpLG4udG9TdHJpbmcoKS5sZW5ndGh9c2V0Q3Vyc29yVG9TdGFydCh0KXtsZXQgcj10LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO3ImJlllLnNldEN1cnNvclBvc2l0aW9uKHIsMCl9c2V0Q3Vyc29yVG9FbmQodCl7bGV0IHI9dC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTtpZihyKXtsZXQgYT1yLnRleHRDb250ZW50Py5sZW5ndGh8fDA7WWUuc2V0Q3Vyc29yUG9zaXRpb24ocixhKX19Zm9jdXModCl7dC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKT8uZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IodCxyPSJlbmQiKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO2EmJihhLmZvY3VzKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57cj09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KHQpOnI9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKHQpOnR5cGVvZiByPT0ibnVtYmVyIiYmWWUuc2V0Q3Vyc29yUG9zaXRpb24oYSxyKX0pKX1nZXRTcGxpdENvbnRlbnQodCl7bGV0IHI9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0KTtpZihyPT09bnVsbClyZXR1cm4gbnVsbDtsZXQgYT10aGlzLmdldENvbnRlbnQodCk7cmV0dXJue2JlZm9yZTphLnN1YnN0cmluZygwLHIpLGFmdGVyOmEuc3Vic3RyaW5nKHIpfX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIENvZGUgQmxvY2sgQ29udGFpbmVyIC0gTWluaW1hbGlzdCBzaGFkY24gc3R5bGUgKi8KICAgICAgLmNvZGUtYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuZWRpdGluZyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBIZWFkZXIgLSBTaW1wbGlmaWVkICovCiAgICAgIC5jb2RlLWhlYWRlciB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CiAgICAgIAogICAgICAubGFuZ3VhZ2Utc2VsZWN0b3IgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGZvbnQtZmFtaWx5OiAke0lyfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmxhbmd1YWdlLXNlbGVjdG9yOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmxhbmd1YWdlLXNlbGVjdG9yOmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQ29weSBCdXR0b24gLSBNaW5pbWFsICovCiAgICAgIC5jb3B5LWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAke0lyfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uLmNvcGllZCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDU5NjY5IiwiIzEwYjk4MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CiAgICAgIAogICAgICAuY29weS1idXR0b246aG92ZXIgLmNvcHktaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktdGV4dCB7CiAgICAgICAgbWluLXdpZHRoOiA0MHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQogICAgICAKICAgICAgLyogQ29kZSBCb2R5ICovCiAgICAgIC5jb2RlLWJvZHkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogTGluZSBOdW1iZXJzIC0gU3VidGxlICovCiAgICAgIC5saW5lLW51bWJlcnMgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBtaW4td2lkdGg6IDQwcHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICB9CiAgICAgIAogICAgICAubGluZS1udW1iZXIgewogICAgICAgIHBhZGRpbmc6IDAgMTJweCAwIDhweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNGI1NTYzIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAke1U2fTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBDb2RlIENvbnRlbnQgKi8KICAgICAgLmNvZGUtY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtcHJlIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtZmFtaWx5OiAke1U2fTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFBsYWNlaG9sZGVyICovCiAgICAgIC5jb2RlLWVkaXRvcjplbXB0eTo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAiLy8gVHlwZSBvciBwYXN0ZSBjb2RlIGhlcmUuLi4iOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM0YjU1NjMiKX07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFdoZW4gZWRpdGluZyAoZm9jdXNlZCksIHNob3cgZ3JleSB0ZXh0IHdpdGhvdXQgaGlnaGxpZ2h0aW5nICovCiAgICAgIC5jb2RlLWJsb2NrLWNvbnRhaW5lci5lZGl0aW5nIC5jb2RlLWVkaXRvciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfSAhaW1wb3J0YW50OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuZWRpdGluZyAuY29kZS1lZGl0b3IgKiB7CiAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsKICAgICAgfQogICAgICAKICAgICAgLyogU3ludGF4IEhpZ2hsaWdodGluZyAtIE11dGVkIGNvbG9ycyAqLwogICAgICAuY29kZS1lZGl0b3IgLmhsanMta2V5d29yZCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtc3RyaW5nIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwNTk2NjkiLCIjMTBiOTgxIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtbnVtYmVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3YzNhZWQiLCIjYTc4YmZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtZnVuY3Rpb24gewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1jb21tZW50IHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2YjcyODAiLCIjNmI3MjgwIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXZhcmlhYmxlLAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtYXR0ciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZWE1ODBjIiwiI2ZiOTIzYyIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWNsYXNzLAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtdGl0bGUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXBhcmFtcyB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWJ1aWx0X2luIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3YzNhZWQiLCIjYTc4YmZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtbGl0ZXJhbCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLW1ldGEgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1wdW5jdHVhdGlvbiB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMzc0MTUxIiwiI2QxZDVkYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXRhZyB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWF0dHJpYnV0ZSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXNlbGVjdG9yLXRhZyB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXNlbGVjdG9yLWNsYXNzIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtc2VsZWN0b3ItaWQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzdjM2FlZCIsIiNhNzhiZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFNlbGVjdGlvbiAqLwogICAgICAuY29kZS1lZGl0b3I6OnNlbGVjdGlvbiwKICAgICAgLmNvZGUtZWRpdG9yICo6OnNlbGVjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoOTksIDEwMiwgMjQxLCAwLjIpIiwicmdiYSg5OSwgMTAyLCAyNDEsIDAuMykiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFNjcm9sbGJhciBzdHlsaW5nIC0gTWluaW1hbCAqLwogICAgICAuY29kZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgIGB9fX0pO3ZhciBZYixsM3I9ZigoKT0+e3JzKCk7dWUoKTtOYygpO3BsKCk7WWI9Y2xhc3MgZXh0ZW5kcyBnYXt0eXBlPSJsaXN0IjtsYXN0S25vd25DdXJzb3JQb3NpdGlvbj0wO2xhc3RTZWxlY3RlZFRleHQ9IiI7c2VsZWN0aW9uSGFuZGxlcj1udWxsO3JlbmRlcih0LHIpe2xldCBhPXI/IiBzZWxlY3RlZCI6IiIsbj0odC5tZXRhZGF0YT8ubGlzdFR5cGV8fCJ1bm9yZGVyZWQiKT09PSJvcmRlcmVkIj8ib2wiOiJ1bCIscz10aGlzLnJlbmRlckxpc3RDb250ZW50KHQuY29udGVudCx0Lm1ldGFkYXRhKTtyZXR1cm5gCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYmxvY2sgbGlzdCR7YX0iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgIGRhdGEtYmxvY2staWQ9IiR7dC5pZH0iCiAgICAgICAgZGF0YS1ibG9jay10eXBlPSIke3QudHlwZX0iCiAgICAgID4ke3N9PC9kaXY+CiAgICBgfXJlbmRlckxpc3RDb250ZW50KHQscil7aWYoIXQpcmV0dXJuIjx1bD48bGk+PC9saT48L3VsPiI7bGV0IGk9KHI/Lmxpc3RUeXBlfHwidW5vcmRlcmVkIik9PT0ib3JkZXJlZCI/Im9sIjoidWwiLG49dC5zcGxpdChgCmApLmZpbHRlcihvPT5vLnRyaW0oKSk7aWYobi5sZW5ndGg9PT0wKXJldHVybmA8JHtpfT48bGk+PC9saT48LyR7aX0+YDtsZXQgcz1uLm1hcChvPT5gPGxpPiR7b308L2xpPmApLmpvaW4oIiIpO3JldHVybmA8JHtpfT4ke3N9PC8ke2l9PmB9c2V0dXAodCxyLGEpe2xldCBpPXQucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighaSl7Y29uc29sZS5lcnJvcigiTGlzdEJsb2NrSGFuZGxlci5zZXR1cDogTm8gbGlzdCBibG9jayBlbGVtZW50IGZvdW5kIik7cmV0dXJufXIuY29udGVudCYmIWkuaW5uZXJIVE1MJiYoaS5pbm5lckhUTUw9dGhpcy5yZW5kZXJMaXN0Q29udGVudChyLmNvbnRlbnQsci5tZXRhZGF0YSkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG49PnthLm9uSW5wdXQobik7bGV0IHM9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0KTtzIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249cyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49PntsZXQgcz10aGlzLmdldEN1cnNvclBvc2l0aW9uKHQpO2lmKHMhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1zKSxuLmtleT09PSJFbnRlciImJiFuLnNoaWZ0S2V5KXtsZXQgbz13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYobyYmby5yYW5nZUNvdW50PjApe2xldCBsPW8uZ2V0UmFuZ2VBdCgwKS5zdGFydENvbnRhaW5lci5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCJsaSIpO2lmKGwmJmwudGV4dENvbnRlbnQ9PT0iIil7bi5wcmV2ZW50RGVmYXVsdCgpLGEub25LZXlEb3duKG4pO3JldHVybn19fWEub25LZXlEb3duKG4pfSksaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnthLm9uRm9jdXMoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnthLm9uQmx1cigpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IiwoKT0+e2Eub25Db21wb3NpdGlvblN0YXJ0KCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uZW5kIiwoKT0+e2Eub25Db21wb3NpdGlvbkVuZCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixuPT57bGV0IHM9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0KTtzIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249cyksYS5vbk1vdXNlVXA/LihuKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG49PntzZXRUaW1lb3V0KCgpPT57bGV0IHM9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbih0KTtzIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249cyl9LDApfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsbj0+e2xldCBzPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24odCk7cyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXMpfSksdGhpcy5zZXR1cFNlbGVjdGlvbkhhbmRsZXIodCxpLHIpfXNldHVwU2VsZWN0aW9uSGFuZGxlcih0LHIsYSl7bGV0IGk9KCk9PntsZXQgcz13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIXN8fHMucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBvPXMudG9TdHJpbmcoKTtpZihvLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQodCx7dGV4dDoiIixibG9ja0lkOmEuaWQsaGFzU2VsZWN0aW9uOiExfSkpO3JldHVybn1sZXQgYz1yLmdldFJvb3ROb2RlKCkuaG9zdCx1PWM/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGQ9Yz8uc2hhZG93Um9vdCxoPVtdO3UmJmgucHVzaCh1KSxkJiZoLnB1c2goZCk7bGV0IG09WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5oKTtpZighbSlyZXR1cm47bGV0IHY9WWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocixtLnN0YXJ0Q29udGFpbmVyKSxiPVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHIsbS5lbmRDb250YWluZXIpO2lmKHZ8fGIpe2lmKG8hPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1vO2xldCBnPVllLmNyZWF0ZVJhbmdlRnJvbUluZm8obSkseT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudCh0LHt0ZXh0Om8udHJpbSgpLGJsb2NrSWQ6YS5pZCxyYW5nZTpnLHJlY3Q6eSxoYXNTZWxlY3Rpb246ITB9KX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KHQse3RleHQ6IiIsYmxvY2tJZDphLmlkLGhhc1NlbGVjdGlvbjohMX0pKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixpKSx0aGlzLnNlbGVjdGlvbkhhbmRsZXI9aTtsZXQgbj1yLmdldFJvb3ROb2RlKCkuaG9zdDtpZihuKXtsZXQgcz1uLmRpc2Nvbm5lY3RlZENhbGxiYWNrO24uZGlzY29ubmVjdGVkQ2FsbGJhY2s9YXN5bmMgZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGlvbkhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHRoaXMuc2VsZWN0aW9uSGFuZGxlciksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPW51bGwpLHMmJmF3YWl0IHMuY2FsbChuKX0uYmluZCh0aGlzKX19ZGlzcGF0Y2hTZWxlY3Rpb25FdmVudCh0LHIpe2xldCBhPW5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDpyLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KTt0LmRpc3BhdGNoRXZlbnQoYSl9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBMaXN0IHNwZWNpZmljIHN0eWxlcyAqLwogICAgICAuYmxvY2subGlzdCB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgICAKICAgICAgLmJsb2NrLmxpc3QgdWwsCiAgICAgIC5ibG9jay5saXN0IG9sIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAuYmxvY2subGlzdCBsaSB7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICB9CiAgICAgIAogICAgICAuYmxvY2subGlzdCBsaTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICBgfWdldFBsYWNlaG9sZGVyKCl7cmV0dXJuIiJ9Z2V0Q3Vyc29yUG9zaXRpb24odCxyKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIWEpcmV0dXJuIG51bGw7bGV0IHM9cj8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxvPXI/LnNoYWRvd1Jvb3QsYz1bXTtzJiZjLnB1c2gocyksbyYmYy5wdXNoKG8pO2xldCBsPVllLmdldFNlbGVjdGlvbkluZm8oLi4uYyk7aWYoIWx8fCFZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShhLGwuc3RhcnRDb250YWluZXIpKXJldHVybiBudWxsO2xldCB1PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHUuc2VsZWN0Tm9kZUNvbnRlbnRzKGEpLHUuc2V0RW5kKGwuc3RhcnRDb250YWluZXIsbC5zdGFydE9mZnNldCksdS50b1N0cmluZygpLmxlbmd0aH1nZXRDb250ZW50KHQscil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFhKXJldHVybiIiO2xldCBpPWEucXVlcnlTZWxlY3RvckFsbCgibGkiKTtyZXR1cm4gQXJyYXkuZnJvbShpKS5tYXAocz0+cy50ZXh0Q29udGVudHx8IiIpLmpvaW4oYApgKX1zZXRDb250ZW50KHQscixhKXtsZXQgaT10LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIWkpcmV0dXJuO2xldCBuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHx0LnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pLG89aS5xdWVyeVNlbGVjdG9yKCJ1bCwgb2wiKT8udGFnTmFtZT09PSJPTCI7aS5pbm5lckhUTUw9dGhpcy5yZW5kZXJMaXN0Q29udGVudChyLHtsaXN0VHlwZTpvPyJvcmRlcmVkIjoidW5vcmRlcmVkIn0pLG4mJmkuZm9jdXMoKX1zZXRDdXJzb3JUb1N0YXJ0KHQscil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFhKXJldHVybjtsZXQgaT1hLnF1ZXJ5U2VsZWN0b3IoImxpIik7aWYoaSl7bGV0IG49dGhpcy5nZXRGaXJzdFRleHROb2RlKGkpO2lmKG4pe2xldCBzPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksbz13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7cy5zZXRTdGFydChuLDApLHMuc2V0RW5kKG4sMCksbz8ucmVtb3ZlQWxsUmFuZ2VzKCksbz8uYWRkUmFuZ2Uocyl9fX1zZXRDdXJzb3JUb0VuZCh0LHIpe2xldCBhPXQucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighYSlyZXR1cm47bGV0IGk9YS5xdWVyeVNlbGVjdG9yKCJsaTpsYXN0LWNoaWxkIik7aWYoaSl7bGV0IG49dGhpcy5nZXRMYXN0VGV4dE5vZGUoaSk7aWYobil7bGV0IHM9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxvPXdpbmRvdy5nZXRTZWxlY3Rpb24oKSxjPW4udGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtzLnNldFN0YXJ0KG4sYykscy5zZXRFbmQobixjKSxvPy5yZW1vdmVBbGxSYW5nZXMoKSxvPy5hZGRSYW5nZShzKX19fWdldEZpcnN0VGV4dE5vZGUodCl7aWYodC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiB0O2ZvcihsZXQgcj0wO3I8dC5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe2xldCBhPXRoaXMuZ2V0Rmlyc3RUZXh0Tm9kZSh0LmNoaWxkTm9kZXNbcl0pO2lmKGEpcmV0dXJuIGF9cmV0dXJuIG51bGx9Z2V0TGFzdFRleHROb2RlKHQpe2lmKHQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSlyZXR1cm4gdDtmb3IobGV0IHI9dC5jaGlsZE5vZGVzLmxlbmd0aC0xO3I+PTA7ci0tKXtsZXQgYT10aGlzLmdldExhc3RUZXh0Tm9kZSh0LmNoaWxkTm9kZXNbcl0pO2lmKGEpcmV0dXJuIGF9cmV0dXJuIG51bGx9Zm9jdXModCxyKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7YSYmKGEuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8YS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxhLmZvY3VzKCksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWEmJnQuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudCE9PWEmJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnthLmZvY3VzKCl9KSl9Zm9jdXNXaXRoQ3Vyc29yKHQscj0iZW5kIixhKXtsZXQgaT10LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIWkpcmV0dXJuO2kuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8aS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxpLmZvY3VzKCk7bGV0IG49KCk9PntyPT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQodCxhKTpyPT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZCh0LGEpOnR5cGVvZiByPT0ibnVtYmVyIiYmdGhpcy5zZXRDdXJzb3JUb0VuZCh0LGEpfTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8dC5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9uKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+eyhkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8dC5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aSkmJm4oKX0pfWdldFNwbGl0Q29udGVudCh0LHIpe3JldHVybiB0LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0IiksbnVsbH19fSk7dmFyIFpiLGMzcj1mKCgpPT57cnMoKTt1ZSgpO1piPWNsYXNzIGV4dGVuZHMgZ2F7dHlwZT0iaW1hZ2UiO3JlbmRlcih0LHIpe2xldCBhPXQubWV0YWRhdGE/LnVybCxpPXQuY29udGVudHx8IkltYWdlIixuPXQubWV0YWRhdGE/LmxvYWRpbmc7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS1ibG9jay1jb250YWluZXIke3I/IiBzZWxlY3RlZCI6IiJ9IiAKICAgICAgICAgICBkYXRhLWJsb2NrLWlkPSIke3QuaWR9IgogICAgICAgICAgIGRhdGEtaGFzLWltYWdlPSIkeyEhYX0iCiAgICAgICAgICAgdGFiaW5kZXg9IjAiPgogICAgICAgICR7bj90aGlzLnJlbmRlckxvYWRpbmcoKTphP3RoaXMucmVuZGVySW1hZ2UoYSxpKTp0aGlzLnJlbmRlclBsYWNlaG9sZGVyKCl9CiAgICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIAogICAgICAgICAgICAgICBjbGFzcz0iaW1hZ2UtZmlsZS1pbnB1dCIgCiAgICAgICAgICAgICAgIGFjY2VwdD0iaW1hZ2UvKiIgCiAgICAgICAgICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgLz4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBsYWNlaG9sZGVyKCl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWQtaWNvbiIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBub25lOyI+CiAgICAgICAgICA8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPgogICAgICAgICAgICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIiByeT0iMiIvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSI4LjUiIGN5PSI4LjUiIHI9IjEuNSIvPgogICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMSAxNSAxNiAxMCA1IDIxIi8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWQtdGV4dCIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBub25lOyI+Q2xpY2sgdG8gdXBsb2FkIGFuIGltYWdlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLWhpbnQiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsiPm9yIGRyYWcgYW5kIGRyb3A8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckltYWdlKHQscil7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS1jb250YWluZXIiPgogICAgICAgIDxpbWcgc3JjPSIke3R9IiBhbHQ9IiR7dGhpcy5lc2NhcGVIdG1sKHIpfSIgLz4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckxvYWRpbmcoKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlLWxvYWRpbmciPgogICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy10ZXh0Ij5VcGxvYWRpbmcgaW1hZ2UuLi48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKHQscixhKXtsZXQgaT10LnF1ZXJ5U2VsZWN0b3IoIi5pbWFnZS1ibG9jay1jb250YWluZXIiKSxuPXQucXVlcnlTZWxlY3RvcigiLmltYWdlLWZpbGUtaW5wdXQiKTtpZighaSl7Y29uc29sZS5lcnJvcigiSW1hZ2VCbG9ja0hhbmRsZXI6IENvdWxkIG5vdCBmaW5kIGNvbnRhaW5lciIpO3JldHVybn1pZighbil7Y29uc29sZS5lcnJvcigiSW1hZ2VCbG9ja0hhbmRsZXI6IENvdWxkIG5vdCBmaW5kIGZpbGUgaW5wdXQiKTtyZXR1cm59bGV0IHM9aS5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIik7cyYmcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbz0+e28ucHJldmVudERlZmF1bHQoKSxvLnN0b3BQcm9wYWdhdGlvbigpLGNvbnNvbGUubG9nKCJJbWFnZUJsb2NrSGFuZGxlcjogUGxhY2Vob2xkZXIgY2xpY2tlZCwgb3BlbmluZyBmaWxlIHNlbGVjdG9yIiksbi5jbGljaygpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnthLm9uRm9jdXMoKX0pLG4uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhc3luYyBvPT57bGV0IGw9by50YXJnZXQuZmlsZXM/LlswXTtsJiYoY29uc29sZS5sb2coIkltYWdlQmxvY2tIYW5kbGVyOiBGaWxlIHNlbGVjdGVkOiIsbC5uYW1lKSxhd2FpdCB0aGlzLmhhbmRsZUZpbGVVcGxvYWQobCxyLGEpKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLG89PntvLnByZXZlbnREZWZhdWx0KCksby5zdG9wUHJvcGFnYXRpb24oKSxyLm1ldGFkYXRhPy51cmx8fGkuY2xhc3NMaXN0LmFkZCgiZHJhZy1vdmVyIil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsbz0+e28ucHJldmVudERlZmF1bHQoKSxvLnN0b3BQcm9wYWdhdGlvbigpLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLGFzeW5jIG89PntvLnByZXZlbnREZWZhdWx0KCksby5zdG9wUHJvcGFnYXRpb24oKSxpLmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpO2xldCBjPW8uZGF0YVRyYW5zZmVyPy5maWxlc1swXTtjJiZjLnR5cGUuc3RhcnRzV2l0aCgiaW1hZ2UvIikmJiFyLm1ldGFkYXRhPy51cmwmJmF3YWl0IHRoaXMuaGFuZGxlRmlsZVVwbG9hZChjLHIsYSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+YS5vbkZvY3VzKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PmEub25CbHVyKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbz0+e2lmKChvLmtleT09PSJEZWxldGUifHxvLmtleT09PSJCYWNrc3BhY2UiKSYmci5tZXRhZGF0YT8udXJsKXtyLm1ldGFkYXRhLnVybD12b2lkIDAsci5tZXRhZGF0YS5sb2FkaW5nPSExLHIuY29udGVudD0iIixhLm9uSW5wdXQobmV3IElucHV0RXZlbnQoImlucHV0IikpO3JldHVybn1hLm9uS2V5RG93bihvKX0pfWFzeW5jIGhhbmRsZUZpbGVVcGxvYWQodCxyLGEpe2lmKGNvbnNvbGUubG9nKCJJbWFnZUJsb2NrSGFuZGxlcjogU3RhcnRpbmcgZmlsZSB1cGxvYWQiLHtmaWxlTmFtZTp0Lm5hbWUsZmlsZVNpemU6dC5zaXplLGJsb2NrSWQ6ci5pZH0pLCF0LnR5cGUuc3RhcnRzV2l0aCgiaW1hZ2UvIikpe2NvbnNvbGUuZXJyb3IoIkludmFsaWQgZmlsZSB0eXBlOiIsdC50eXBlKTtyZXR1cm59bGV0IGk9MTAqMTAyNCoxMDI0O2lmKHQuc2l6ZT5pKXtjb25zb2xlLmVycm9yKCJGaWxlIHRvbyBsYXJnZS4gTWF4aW11bSBzaXplIGlzIDEwTUIiKTtyZXR1cm59ci5tZXRhZGF0YXx8KHIubWV0YWRhdGE9e30pLHIubWV0YWRhdGEubG9hZGluZz0hMCxyLm1ldGFkYXRhLmZpbGVOYW1lPXQubmFtZSxyLm1ldGFkYXRhLmZpbGVTaXplPXQuc2l6ZSxyLm1ldGFkYXRhLm1pbWVUeXBlPXQudHlwZSxjb25zb2xlLmxvZygiSW1hZ2VCbG9ja0hhbmRsZXI6IFNldCBsb2FkaW5nIHN0YXRlLCByZXF1ZXN0aW5nIHVwZGF0ZSIpLGEub25SZXF1ZXN0VXBkYXRlPy4oKTt0cnl7bGV0IG49YXdhaXQgdGhpcy5maWxlVG9EYXRhVXJsKHQpO3IubWV0YWRhdGEudXJsPW4sci5tZXRhZGF0YS5sb2FkaW5nPSExO2xldCBzPXQubmFtZS5yZXBsYWNlKC9cLlteLy5dKyQvLCIiKTtyLmNvbnRlbnQ9cyxjb25zb2xlLmxvZygiSW1hZ2VCbG9ja0hhbmRsZXI6IFVwbG9hZCBjb21wbGV0ZSwgcmVxdWVzdGluZyB1cGRhdGUiLHtoYXNVcmw6ISFyLm1ldGFkYXRhLnVybCx1cmxMZW5ndGg6bi5sZW5ndGgsYWx0VGV4dDpyLmNvbnRlbnR9KSxhLm9uUmVxdWVzdFVwZGF0ZT8uKCl9Y2F0Y2gobil7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZToiLG4pLHIubWV0YWRhdGEubG9hZGluZz0hMSxhLm9uUmVxdWVzdFVwZGF0ZT8uKCl9fWZpbGVUb0RhdGFVcmwodCl7cmV0dXJuIG5ldyBQcm9taXNlKChyLGEpPT57bGV0IGk9bmV3IEZpbGVSZWFkZXI7aS5vbmxvYWQ9bj0+e2xldCBzPW4udGFyZ2V0Py5yZXN1bHQ7dHlwZW9mIHM9PSJzdHJpbmciP3Iocyk6YShuZXcgRXJyb3IoIkZhaWxlZCB0byByZWFkIGZpbGUiKSl9LGkub25lcnJvcj1hLGkucmVhZEFzRGF0YVVSTCh0KX0pfWVzY2FwZUh0bWwodCl7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHIudGV4dENvbnRlbnQ9dCxyLmlubmVySFRNTH1nZXRDb250ZW50KHQpe3JldHVybiB0aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQodCk/LmNvbnRlbnR8fCIifXNldENvbnRlbnQodCxyKXtsZXQgYT10aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQodCk7YSYmKGEuY29udGVudD1yKX1nZXRCbG9ja0Zyb21FbGVtZW50KHQpe2xldCBhPXQucXVlcnlTZWxlY3RvcigiLmltYWdlLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4gYT97aWQ6YSx0eXBlOiJpbWFnZSIsY29udGVudDoiIixtZXRhZGF0YTp7fX06bnVsbH1nZXRDdXJzb3JQb3NpdGlvbih0KXtyZXR1cm4gbnVsbH1zZXRDdXJzb3JUb1N0YXJ0KHQpe3RoaXMuZm9jdXModCl9c2V0Q3Vyc29yVG9FbmQodCl7dGhpcy5mb2N1cyh0KX1mb2N1cyh0KXt0LnF1ZXJ5U2VsZWN0b3IoIi5pbWFnZS1ibG9jay1jb250YWluZXIiKT8uZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IodCxyPSJlbmQiKXt0aGlzLmZvY3VzKHQpfWdldFNwbGl0Q29udGVudCh0KXtyZXR1cm4gbnVsbH1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIEltYWdlIEJsb2NrIENvbnRhaW5lciAqLwogICAgICAuaW1hZ2UtYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KICAgICAgCiAgICAgIC5pbWFnZS1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke3AuYmRUaGVtZSgiIzYzNjZmMSIsIiM4MThjZjgiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFVwbG9hZCBQbGFjZWhvbGRlciAqLwogICAgICAuaW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgYm9yZGVyOiAycHggZGFzaGVkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuaW1hZ2UtYmxvY2stY29udGFpbmVyOmhvdmVyIC5pbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiIzExMTgyNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLmltYWdlLWJsb2NrLWNvbnRhaW5lci5kcmFnLW92ZXIgLmltYWdlLXVwbG9hZC1wbGFjZWhvbGRlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiIzYzNjZmMSIsIiM4MThjZjgiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlZmY2ZmYiLCIjMWUxYjRiIil9OwogICAgICB9CiAgICAgIAogICAgICAudXBsb2FkLWljb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjOWNhM2FmIiwiIzRiNTU2MyIpfTsKICAgICAgfQogICAgICAKICAgICAgLnVwbG9hZC10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQogICAgICAKICAgICAgLnVwbG9hZC1oaW50IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSW1hZ2UgQ29udGFpbmVyICovCiAgICAgIC5pbWFnZS1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5pbWFnZS1jb250YWluZXIgaW1nIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQogICAgICAKICAgICAgLyogTG9hZGluZyBTdGF0ZSAqLwogICAgICAuaW1hZ2UtbG9hZGluZyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3AuYmRUaGVtZSgiIzYzNjZmMSIsIiM4MThjZjgiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CiAgICAgIAogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICB9CiAgICAgIAogICAgICAubG9hZGluZy10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogRmlsZSBpbnB1dCBoaWRkZW4gKi8KICAgICAgLmltYWdlLWZpbGUtaW5wdXQgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgYH19fSk7dmFyIFhiLGQzcj1mKCgpPT57cnMoKTt1ZSgpO1hiPWNsYXNzIGV4dGVuZHMgZ2F7dHlwZT0ieW91dHViZSI7cmVuZGVyKHQscil7bGV0IGE9dC5tZXRhZGF0YT8udmlkZW9JZCxpPXQubWV0YWRhdGE/LnVybHx8IiI7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJ5b3V0dWJlLWJsb2NrLWNvbnRhaW5lciR7cj8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7dC5pZH0iCiAgICAgICAgICAgZGF0YS1oYXMtdmlkZW89IiR7ISFhfSI+CiAgICAgICAgJHthP3RoaXMucmVuZGVyVmlkZW8oYSk6dGhpcy5yZW5kZXJQbGFjZWhvbGRlcihpKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBsYWNlaG9sZGVyKHQpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0ieW91dHViZS1wbGFjZWhvbGRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0icGxhY2Vob2xkZXItaWNvbiI+CiAgICAgICAgICA8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTkuNjE1IDMuMTg0Yy0zLjYwNC0uMjQ2LTExLjYzMS0uMjQ1LTE1LjIzIDAtMy44OTcuMjY2LTQuMzU2IDIuNjItNC4zODUgOC44MTYuMDI5IDYuMTg1LjQ4NCA4LjU0OSA0LjM4NSA4LjgxNiAzLjYuMjQ1IDExLjYyNi4yNDYgMTUuMjMgMCAzLjg5Ny0uMjY2IDQuMzU2LTIuNjIgNC4zODUtOC44MTYtLjAyOS02LjE4NS0uNDg0LTguNTQ5LTQuMzg1LTguODE2em0tMTAuNjE1IDEyLjgxNnYtOGw4IDMuOTkzLTggNC4wMDd6Ii8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci10ZXh0Ij5FbnRlciBZb3VUdWJlIFVSTDwvZGl2PgogICAgICAgIDxpbnB1dCB0eXBlPSJ1cmwiIAogICAgICAgICAgICAgICBjbGFzcz0ieW91dHViZS11cmwtaW5wdXQiIAogICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iaHR0cHM6Ly95b3V0dWJlLmNvbS93YXRjaD92PS4uLiIgCiAgICAgICAgICAgICAgIHZhbHVlPSIke3RoaXMuZXNjYXBlSHRtbCh0KX0iIC8+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0ieW91dHViZS1lbWJlZC1idG4iPkVtYmVkIFZpZGVvPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJWaWRlbyh0KXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9InlvdXR1YmUtY29udGFpbmVyIj4KICAgICAgICA8aWZyYW1lIAogICAgICAgICAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke3R9IgogICAgICAgICAgZnJhbWVib3JkZXI9IjAiCiAgICAgICAgICBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIKICAgICAgICAgIGFsbG93ZnVsbHNjcmVlbgogICAgICAgID48L2lmcmFtZT4KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKHQscixhKXtsZXQgaT10LnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLWJsb2NrLWNvbnRhaW5lciIpO2lmKCFpKXJldHVybjtpZihyLm1ldGFkYXRhPy52aWRlb0lkKXtpLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PmEub25Gb2N1cygpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5hLm9uQmx1cigpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG89Pnsoby5rZXk9PT0iRGVsZXRlInx8by5rZXk9PT0iQmFja3NwYWNlIikmJm8ucHJldmVudERlZmF1bHQoKSxhLm9uS2V5RG93bihvKX0pO3JldHVybn1sZXQgbj10LnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLXVybC1pbnB1dCIpLHM9dC5xdWVyeVNlbGVjdG9yKCIueW91dHViZS1lbWJlZC1idG4iKTshbnx8IXN8fChuLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+YS5vbkZvY3VzKCkpLG4uYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PmEub25CbHVyKCkpLHMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5lbWJlZFZpZGVvKG4udmFsdWUscixhKX0pLG4uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbz0+e28ua2V5PT09IkVudGVyIj8oby5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZW1iZWRWaWRlbyhuLnZhbHVlLHIsYSkpOm8ua2V5PT09IkVzY2FwZSImJihvLnByZXZlbnREZWZhdWx0KCksbi5ibHVyKCkpfSksbi5hZGRFdmVudExpc3RlbmVyKCJwYXN0ZSIsbz0+e3NldFRpbWVvdXQoKCk9PntsZXQgYz1uLnZhbHVlO3RoaXMuZXh0cmFjdFlvdVR1YmVWaWRlb0lkKGMpJiZ0aGlzLmVtYmVkVmlkZW8oYyxyLGEpfSwwKX0pLG4uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCgpPT57ci5tZXRhZGF0YXx8KHIubWV0YWRhdGE9e30pLHIubWV0YWRhdGEudXJsPW4udmFsdWV9KSl9ZW1iZWRWaWRlbyh0LHIsYSl7bGV0IGk9dGhpcy5leHRyYWN0WW91VHViZVZpZGVvSWQodCk7aWYoIWkpe2NvbnNvbGUuZXJyb3IoIkludmFsaWQgWW91VHViZSBVUkwiKTtyZXR1cm59ci5tZXRhZGF0YXx8KHIubWV0YWRhdGE9e30pLHIubWV0YWRhdGEudmlkZW9JZD1pLHIubWV0YWRhdGEudXJsPXQsci5jb250ZW50PWBZb3VUdWJlIFZpZGVvOiAke2l9YCxhLm9uUmVxdWVzdFVwZGF0ZT8uKCl9ZXh0cmFjdFlvdVR1YmVWaWRlb0lkKHQpe2xldCByPVsvKD86eW91dHViZVwuY29tXC8oPzpbXlwvXStcLy4rXC98KD86dnxlKD86bWJlZCk/KVwvfC4qWz8mXXY9KXx5b3V0dVwuYmVcLykoW14iJj9cLyBdezExfSkvLC95b3V0dWJlXC5jb21cL2VtYmVkXC8oW14iJj9cLyBdezExfSkvLC95b3V0dWJlXC5jb21cL3dhdGNoXD92PShbXiImP1wvIF17MTF9KS8sL3lvdXR1XC5iZVwvKFteIiY/XC8gXXsxMX0pL107Zm9yKGxldCBhIG9mIHIpe2xldCBpPXQubWF0Y2goYSk7aWYoaSlyZXR1cm4gaVsxXX1yZXR1cm4gbnVsbH1lc2NhcGVIdG1sKHQpe2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiByLnRleHRDb250ZW50PXQsci5pbm5lckhUTUx9Z2V0Q29udGVudCh0KXtyZXR1cm4gdGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KHQpPy5jb250ZW50fHwiIn1zZXRDb250ZW50KHQscil7bGV0IGE9dGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KHQpO2EmJihhLmNvbnRlbnQ9cil9Z2V0QmxvY2tGcm9tRWxlbWVudCh0KXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4gYT97aWQ6YSx0eXBlOiJ5b3V0dWJlIixjb250ZW50OiIiLG1ldGFkYXRhOnt9fTpudWxsfWdldEN1cnNvclBvc2l0aW9uKHQpe3JldHVybiBudWxsfXNldEN1cnNvclRvU3RhcnQodCl7dGhpcy5mb2N1cyh0KX1zZXRDdXJzb3JUb0VuZCh0KXt0aGlzLmZvY3VzKHQpfWZvY3VzKHQpe2xldCByPXQucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtYmxvY2stY29udGFpbmVyIiksYT10LnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLXVybC1pbnB1dCIpO2E/YS5mb2N1cygpOnImJnIuZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IodCxyPSJlbmQiKXt0aGlzLmZvY3VzKHQpfWdldFNwbGl0Q29udGVudCh0KXtyZXR1cm4gbnVsbH1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIFlvdVR1YmUgQmxvY2sgQ29udGFpbmVyICovCiAgICAgIC55b3V0dWJlLWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7cC5iZFRoZW1lKCIjNjM2NmYxIiwiIzgxOGNmOCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogWW91VHViZSBQbGFjZWhvbGRlciAqLwogICAgICAueW91dHViZS1wbGFjZWhvbGRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMzJweCAyNHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQogICAgICAKICAgICAgLnBsYWNlaG9sZGVyLWljb24gewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CiAgICAgIAogICAgICAucGxhY2Vob2xkZXItdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtdXJsLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTExODI3Iil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtdXJsLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxZjI5MzciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLWVtYmVkLWJ0biB7CiAgICAgICAgcGFkZGluZzogNnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxMTE4MjciKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLWVtYmVkLWJ0bjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS1lbWJlZC1idG46YWN0aXZlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpOwogICAgICB9CiAgICAgIAogICAgICAvKiBZb3VUdWJlIENvbnRhaW5lciAqLwogICAgICAueW91dHViZS1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiAxNjo5IGFzcGVjdCByYXRpbyAqLwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMDAwMDAwIiwiIzAwMDAwMCIpfTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtY29udGFpbmVyIGlmcmFtZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3JkZXI6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CiAgICBgfX19KTt2YXIgUWIsdTNyPWYoKCk9PntycygpO3VlKCk7UWI9Y2xhc3MgZXh0ZW5kcyBnYXt0eXBlPSJhdHRhY2htZW50IjtyZW5kZXIodCxyKXtsZXQgYT10Lm1ldGFkYXRhPy5maWxlc3x8W107cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lciR7cj8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7dC5pZH0iCiAgICAgICAgICAgdGFiaW5kZXg9IjAiPgogICAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtaWNvbiI+XHV7MUY0Q0V9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LXRpdGxlIj5GaWxlIEF0dGFjaG1lbnRzPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYXR0YWNobWVudC1saXN0Ij4KICAgICAgICAgICR7YS5sZW5ndGg+MD90aGlzLnJlbmRlckZpbGVzKGEpOnRoaXMucmVuZGVyUGxhY2Vob2xkZXIoKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8aW5wdXQgdHlwZT0iZmlsZSIgCiAgICAgICAgICAgICAgIGNsYXNzPSJhdHRhY2htZW50LWZpbGUtaW5wdXQiIAogICAgICAgICAgICAgICBtdWx0aXBsZSAKICAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiAvPgogICAgICAgICR7YS5sZW5ndGg+MD8nPGJ1dHRvbiBjbGFzcz0iYWRkLW1vcmUtZmlsZXMiPkFkZCBNb3JlIEZpbGVzPC9idXR0b24+JzoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBsYWNlaG9sZGVyKCl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LXBsYWNlaG9sZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci10ZXh0Ij5DbGljayB0byBhZGQgZmlsZXM8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci1oaW50Ij5vciBkcmFnIGFuZCBkcm9wPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWxlcyh0KXtyZXR1cm4gdC5tYXAocj0+YAogICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWl0ZW0iIGRhdGEtZmlsZS1pZD0iJHtyLmlkfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1pY29uIj4ke3RoaXMuZ2V0RmlsZUljb24oci50eXBlKX08L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1uYW1lIj4ke3RoaXMuZXNjYXBlSHRtbChyLm5hbWUpfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1zaXplIj4ke3RoaXMuZm9ybWF0RmlsZVNpemUoci5zaXplKX08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZW1vdmUtZmlsZSIgZGF0YS1maWxlLWlkPSIke3IuaWR9Ij5ceEQ3PC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgYCkuam9pbigiIil9c2V0dXAodCxyLGEpe2xldCBpPXQucXVlcnlTZWxlY3RvcigiLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyIiksbj10LnF1ZXJ5U2VsZWN0b3IoIi5hdHRhY2htZW50LWZpbGUtaW5wdXQiKTtpZighaXx8IW4pe2NvbnNvbGUuZXJyb3IoIkF0dGFjaG1lbnRCbG9ja0hhbmRsZXI6IENvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGVsZW1lbnRzIik7cmV0dXJufXIubWV0YWRhdGF8fChyLm1ldGFkYXRhPXt9KSxyLm1ldGFkYXRhLmZpbGVzfHwoci5tZXRhZGF0YS5maWxlcz1bXSk7bGV0IHM9aS5xdWVyeVNlbGVjdG9yKCIuYXR0YWNobWVudC1wbGFjZWhvbGRlciIpO3MmJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGM9PntjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSxuLmNsaWNrKCl9KTtsZXQgbz1pLnF1ZXJ5U2VsZWN0b3IoIi5hZGQtbW9yZS1maWxlcyIpO28mJm8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGM9PntjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSxuLmNsaWNrKCl9KSxuLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYXN5bmMgYz0+e2xldCBsPWMudGFyZ2V0LHU9bC5maWxlczt1JiZ1Lmxlbmd0aD4wJiYoYXdhaXQgdGhpcy5oYW5kbGVGaWxlQXR0YWNobWVudHModSxyLGEpLGwudmFsdWU9IiIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYz0+e2xldCBsPWMudGFyZ2V0O2lmKGwuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZW1vdmUtZmlsZSIpKXtjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKTtsZXQgdT1sLmdldEF0dHJpYnV0ZSgiZGF0YS1maWxlLWlkIik7dSYmdGhpcy5yZW1vdmVGaWxlKHUscixhKX19KSxpLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIixjPT57Yy5wcmV2ZW50RGVmYXVsdCgpLGMuc3RvcFByb3BhZ2F0aW9uKCksaS5jbGFzc0xpc3QuYWRkKCJkcmFnLW92ZXIiKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2xlYXZlIixjPT57Yy5wcmV2ZW50RGVmYXVsdCgpLGMuc3RvcFByb3BhZ2F0aW9uKCksaS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsYXN5bmMgYz0+e2MucHJldmVudERlZmF1bHQoKSxjLnN0b3BQcm9wYWdhdGlvbigpLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIik7bGV0IGw9Yy5kYXRhVHJhbnNmZXI/LmZpbGVzO2wmJmwubGVuZ3RoPjAmJmF3YWl0IHRoaXMuaGFuZGxlRmlsZUF0dGFjaG1lbnRzKGwscixhKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5hLm9uRm9jdXMoKSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+YS5vbkJsdXIoKSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixjPT57aWYoKGMua2V5PT09IkRlbGV0ZSJ8fGMua2V5PT09IkJhY2tzcGFjZSIpJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aSYmci5tZXRhZGF0YT8uZmlsZXM/Lmxlbmd0aD4wKXtjLnByZXZlbnREZWZhdWx0KCksci5tZXRhZGF0YS5maWxlcz1bXSxhLm9uUmVxdWVzdFVwZGF0ZT8uKCk7cmV0dXJufWEub25LZXlEb3duKGMpfSl9YXN5bmMgaGFuZGxlRmlsZUF0dGFjaG1lbnRzKHQscixhKXtyLm1ldGFkYXRhfHwoci5tZXRhZGF0YT17fSksci5tZXRhZGF0YS5maWxlc3x8KHIubWV0YWRhdGEuZmlsZXM9W10pO2ZvcihsZXQgaSBvZiBBcnJheS5mcm9tKHQpKXRyeXtsZXQgbj1hd2FpdCB0aGlzLmZpbGVUb0RhdGFVcmwoaSkscz17aWQ6dGhpcy5nZW5lcmF0ZUlkKCksbmFtZTppLm5hbWUsc2l6ZTppLnNpemUsdHlwZTppLnR5cGUsZGF0YTpufTtyLm1ldGFkYXRhLmZpbGVzLnB1c2gocyl9Y2F0Y2gobil7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGF0dGFjaCBmaWxlOiIsaS5uYW1lLG4pfXIuY29udGVudD1gJHtyLm1ldGFkYXRhLmZpbGVzLmxlbmd0aH0gZmlsZSR7ci5tZXRhZGF0YS5maWxlcy5sZW5ndGghPT0xPyJzIjoiIn0gYXR0YWNoZWRgLGEub25SZXF1ZXN0VXBkYXRlPy4oKX1yZW1vdmVGaWxlKHQscixhKXtyLm1ldGFkYXRhPy5maWxlcyYmKHIubWV0YWRhdGEuZmlsZXM9ci5tZXRhZGF0YS5maWxlcy5maWx0ZXIoaT0+aS5pZCE9PXQpLHIuY29udGVudD1yLm1ldGFkYXRhLmZpbGVzLmxlbmd0aD4wP2Ake3IubWV0YWRhdGEuZmlsZXMubGVuZ3RofSBmaWxlJHtyLm1ldGFkYXRhLmZpbGVzLmxlbmd0aCE9PTE/InMiOiIifSBhdHRhY2hlZGA6IiIsYS5vblJlcXVlc3RVcGRhdGU/LigpKX1maWxlVG9EYXRhVXJsKHQpe3JldHVybiBuZXcgUHJvbWlzZSgocixhKT0+e2xldCBpPW5ldyBGaWxlUmVhZGVyO2kub25sb2FkPW49PntsZXQgcz1uLnRhcmdldD8ucmVzdWx0O3R5cGVvZiBzPT0ic3RyaW5nIj9yKHMpOmEobmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBmaWxlIikpfSxpLm9uZXJyb3I9YSxpLnJlYWRBc0RhdGFVUkwodCl9KX1nZXRGaWxlSWNvbih0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCJpbWFnZS8iKT8iXHV7MUY1QkN9XHVGRTBGIjp0LnN0YXJ0c1dpdGgoInZpZGVvLyIpPyJcdXsxRjNBNX0iOnQuc3RhcnRzV2l0aCgiYXVkaW8vIik/Ilx1ezFGM0I1fSI6dC5pbmNsdWRlcygicGRmIik/Ilx1ezFGNEM0fSI6dC5pbmNsdWRlcygiemlwIil8fHQuaW5jbHVkZXMoInJhciIpfHx0LmluY2x1ZGVzKCJ0YXIiKT8iXHV7MUY1QzR9XHVGRTBGIjp0LmluY2x1ZGVzKCJzaGVldCIpPyJcdXsxRjRDQX0iOnQuaW5jbHVkZXMoImRvY3VtZW50Iil8fHQuaW5jbHVkZXMoIm1zd29yZCIpPyJcdXsxRjRERH0iOnQuaW5jbHVkZXMoInByZXNlbnRhdGlvbiIpPyJcdXsxRjRDQn0iOnQuaW5jbHVkZXMoInRleHQiKT8iXHV7MUY0QzN9IjoiXHV7MUY0QzF9In1mb3JtYXRGaWxlU2l6ZSh0KXtpZih0PT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IHI9MTAyNCxhPVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXSxpPU1hdGguZmxvb3IoTWF0aC5sb2codCkvTWF0aC5sb2cocikpO3JldHVybiBwYXJzZUZsb2F0KCh0L01hdGgucG93KHIsaSkpLnRvRml4ZWQoMikpKyIgIithW2ldfWdlbmVyYXRlSWQoKXtyZXR1cm5gZmlsZS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsOSl9YH1lc2NhcGVIdG1sKHQpe2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiByLnRleHRDb250ZW50PXQsci5pbm5lckhUTUx9Z2V0Q29udGVudCh0KXtyZXR1cm4gdGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KHQpPy5jb250ZW50fHwiIn1zZXRDb250ZW50KHQscil7bGV0IGE9dGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KHQpO2EmJihhLmNvbnRlbnQ9cil9Z2V0QmxvY2tGcm9tRWxlbWVudCh0KXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4gYT97aWQ6YSx0eXBlOiJhdHRhY2htZW50Iixjb250ZW50OiIiLG1ldGFkYXRhOnt9fTpudWxsfWdldEN1cnNvclBvc2l0aW9uKHQpe3JldHVybiBudWxsfXNldEN1cnNvclRvU3RhcnQodCl7dGhpcy5mb2N1cyh0KX1zZXRDdXJzb3JUb0VuZCh0KXt0aGlzLmZvY3VzKHQpfWZvY3VzKHQpe3QucXVlcnlTZWxlY3RvcigiLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyIik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKHQscj0iZW5kIil7dGhpcy5mb2N1cyh0KX1nZXRTcGxpdENvbnRlbnQodCl7cmV0dXJuIG51bGx9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBBdHRhY2htZW50IEJsb2NrIENvbnRhaW5lciAqLwogICAgICAuYXR0YWNobWVudC1ibG9jay1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDEycHggMDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lci5kcmFnLW92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjNjM2NmYxIiwiIzgxOGNmOCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSGVhZGVyICovCiAgICAgIC5hdHRhY2htZW50LWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEZpbGUgTGlzdCAqLwogICAgICAuYXR0YWNobWVudC1saXN0IHsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgbWluLWhlaWdodDogODBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFBsYWNlaG9sZGVyICovCiAgICAgIC5hdHRhY2htZW50LXBsYWNlaG9sZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtcGxhY2Vob2xkZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLnBsYWNlaG9sZGVyLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQogICAgICAKICAgICAgLnBsYWNlaG9sZGVyLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBGaWxlIEl0ZW1zICovCiAgICAgIC5hdHRhY2htZW50LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjNmNGY2IiwiIzM3NDE1MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmZpbGUtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CiAgICAgIAogICAgICAuZmlsZS1pbmZvIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQogICAgICAKICAgICAgLmZpbGUtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5maWxlLXNpemUgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQogICAgICAKICAgICAgLnJlbW92ZS1maWxlIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgICAKICAgICAgLnJlbW92ZS1maWxlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsIiM5OTFiMWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2ZjYTVhNSIsIiNkYzI2MjYiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2ZjYTVhNSIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQWRkIE1vcmUgRmlsZXMgQnV0dG9uICovCiAgICAgIC5hZGQtbW9yZS1maWxlcyB7CiAgICAgICAgbWFyZ2luOiA4cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgfQogICAgICAKICAgICAgLmFkZC1tb3JlLWZpbGVzOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEhpZGRlbiBmaWxlIGlucHV0ICovCiAgICAgIC5hdHRhY2htZW50LWZpbGUtaW5wdXQgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgYH19fSk7dmFyIEpiLHAzcj1mKCgpPT57cnMoKTt1ZSgpO0piPWNsYXNzIGV4dGVuZHMgZ2F7dHlwZT0iZGl2aWRlciI7cmVuZGVyKHQscil7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJibG9jayBkaXZpZGVyJHtyPyIgc2VsZWN0ZWQiOiIifSIgZGF0YS1ibG9jay1pZD0iJHt0LmlkfSIgZGF0YS1ibG9jay10eXBlPSIke3QudHlwZX0iIHRhYmluZGV4PSIwIj4KICAgICAgICA8aHI+CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cCh0LHIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIuYmxvY2suZGl2aWRlciIpO2kmJihpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuPT57bi5zdG9wUHJvcGFnYXRpb24oKSxpLmZvY3VzKCksYS5vbkZvY3VzPy4oKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57YS5vbkZvY3VzPy4oKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnthLm9uQmx1cj8uKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49Pnsobi5rZXk9PT0iQmFja3NwYWNlInx8bi5rZXk9PT0iRGVsZXRlIikmJm4ucHJldmVudERlZmF1bHQoKSxhLm9uS2V5RG93bj8uKG4pfSkpfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLmJsb2NrLmRpdmlkZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIG1hcmdpbjogMTZweCAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuYmxvY2suZGl2aWRlcjpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLmJsb2NrLmRpdmlkZXIuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjA1KSIsInJnYmEoNzcsIDE0OCwgMjU1LCAwLjA4KSIpfTsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJHtwLmJkVGhlbWUoInJnYmEoMCwgMTAyLCAyMDQsIDAuMikiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrLmRpdmlkZXIgaHIgewogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgYH19fSk7dmFyIEtiLGYzcj1mKCgpPT57cnMoKTt1ZSgpO0tiPWNsYXNzIGV4dGVuZHMgZ2F7dHlwZT0ibWFya2Rvd24iO3JlbmRlcih0LHIpe2xldCBhPXQubWV0YWRhdGE/LmlzRWRpdE1vZGU/PyEwLGk9dC5jb250ZW50fHwiIjtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWJsb2NrLWNvbnRhaW5lciR7cj8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7dC5pZH0iCiAgICAgICAgICAgZGF0YS1lZGl0LW1vZGU9IiR7YX0iPgogICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi1pY29uIj5NXHUyMTkzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi10aXRsZSI+TWFya2Rvd248L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9Im1hcmtkb3duLXRvZ2dsZS1tb2RlIiB0aXRsZT0iJHthPyJQcmV2aWV3IjoiRWRpdCJ9Ij4KICAgICAgICAgICAgJHthPyJcdXsxRjQ0MX1cdUZFMEYiOiJcdTI3MEZcdUZFMEYifQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tY29udGVudCI+CiAgICAgICAgICAke2E/dGhpcy5yZW5kZXJFZGl0b3IoaSk6dGhpcy5yZW5kZXJQcmV2aWV3KGkpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRWRpdG9yKHQpe3JldHVybmAKICAgICAgPHRleHRhcmVhIGNsYXNzPSJtYXJrZG93bi1lZGl0b3IiIAogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIG1hcmtkb3duIGNvbnRlbnQuLi4iCiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSI+JHt0aGlzLmVzY2FwZUh0bWwodCl9PC90ZXh0YXJlYT4KICAgIGB9cmVuZGVyUHJldmlldyh0KXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLXByZXZpZXciPgogICAgICAgICR7dGhpcy5wYXJzZU1hcmtkb3duKHQpfHwnPGRpdiBjbGFzcz0icHJldmlldy1lbXB0eSI+Tm8gY29udGVudCB0byBwcmV2aWV3PC9kaXY+J30KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKHQscixhKXtsZXQgaT10LnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1ibG9jay1jb250YWluZXIiKSxuPXQucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLXRvZ2dsZS1tb2RlIik7aWYoIWl8fCFuKXtjb25zb2xlLmVycm9yKCJNYXJrZG93bkJsb2NrSGFuZGxlcjogQ291bGQgbm90IGZpbmQgcmVxdWlyZWQgZWxlbWVudHMiKTtyZXR1cm59ci5tZXRhZGF0YXx8KHIubWV0YWRhdGE9e30pLHIubWV0YWRhdGEuaXNFZGl0TW9kZT09PXZvaWQgMCYmKHIubWV0YWRhdGEuaXNFZGl0TW9kZT0hMCksbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscz0+e2lmKHMucHJldmVudERlZmF1bHQoKSxzLnN0b3BQcm9wYWdhdGlvbigpLHIubWV0YWRhdGEuaXNFZGl0TW9kZSl7bGV0IG89aS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7byYmKHIuY29udGVudD1vLnZhbHVlKX1yLm1ldGFkYXRhLmlzRWRpdE1vZGU9IXIubWV0YWRhdGEuaXNFZGl0TW9kZSxhLm9uUmVxdWVzdFVwZGF0ZT8uKCl9KSxyLm1ldGFkYXRhLmlzRWRpdE1vZGU/dGhpcy5zZXR1cEVkaXRvcih0LHIsYSk6dGhpcy5zZXR1cFByZXZpZXcodCxyLGEpfXNldHVwRWRpdG9yKHQscixhKXtsZXQgaT10LnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtpJiYoaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PmEub25Gb2N1cygpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5hLm9uQmx1cigpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKT0+e3IuY29udGVudD1pLnZhbHVlfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixuPT57aWYobi5rZXk9PT0iVGFiIil7bi5wcmV2ZW50RGVmYXVsdCgpO2xldCBzPWkuc2VsZWN0aW9uU3RhcnQsbz1pLnNlbGVjdGlvbkVuZCxjPWkudmFsdWU7aWYobi5zaGlmdEtleSl7bGV0IGQ9Yy5zdWJzdHJpbmcoMCxzKS5sYXN0SW5kZXhPZihgCmApKzEsaD1jLnN1YnN0cmluZyhkLHMpO2guc3RhcnRzV2l0aCgiICAiKSYmKGkudmFsdWU9Yy5zdWJzdHJpbmcoMCxkKStoLnN1YnN0cmluZygyKStjLnN1YnN0cmluZyhzKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPXMtMil9ZWxzZSBpLnZhbHVlPWMuc3Vic3RyaW5nKDAscykrIiAgIitjLnN1YnN0cmluZyhvKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPXMrMjtyLmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59aWYoKG4uY3RybEtleXx8bi5tZXRhS2V5KSYmbi5rZXk9PT0iYiIpe24ucHJldmVudERlZmF1bHQoKSx0aGlzLndyYXBTZWxlY3Rpb24oaSwiKioiLCIqKiIpLHIuY29udGVudD1pLnZhbHVlO3JldHVybn1pZigobi5jdHJsS2V5fHxuLm1ldGFLZXkpJiZuLmtleT09PSJpIil7bi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMud3JhcFNlbGVjdGlvbihpLCJfIiwiXyIpLHIuY29udGVudD1pLnZhbHVlO3JldHVybn1pZigobi5jdHJsS2V5fHxuLm1ldGFLZXkpJiZuLmtleT09PSJrIil7bi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaW5zZXJ0TGluayhpKSxyLmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59YS5vbktleURvd24obil9KSx0aGlzLmF1dG9SZXNpemUoaSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9PnRoaXMuYXV0b1Jlc2l6ZShpKSkpfXNldHVwUHJldmlldyh0LHIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tYmxvY2stY29udGFpbmVyIiksbj10LnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1wcmV2aWV3Iik7IWl8fCFufHwobi5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLG4uYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5hLm9uRm9jdXMoKSksbi5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+YS5vbkJsdXIoKSksbi5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixzPT57aWYocy5rZXk9PT0iRW50ZXIiJiYhcy5zaGlmdEtleSl7cy5wcmV2ZW50RGVmYXVsdCgpLHIubWV0YWRhdGEuaXNFZGl0TW9kZT0hMCxhLm9uUmVxdWVzdFVwZGF0ZT8uKCk7cmV0dXJufWEub25LZXlEb3duKHMpfSkpfXdyYXBTZWxlY3Rpb24odCxyLGEpe2xldCBpPXQuc2VsZWN0aW9uU3RhcnQsbj10LnNlbGVjdGlvbkVuZCxzPXQudmFsdWUuc3Vic3RyaW5nKGksbiksbz1yKyhzfHwidGV4dCIpK2E7dC52YWx1ZT10LnZhbHVlLnN1YnN0cmluZygwLGkpK28rdC52YWx1ZS5zdWJzdHJpbmcobikscz8odC5zZWxlY3Rpb25TdGFydD1pLHQuc2VsZWN0aW9uRW5kPWkrby5sZW5ndGgpOih0LnNlbGVjdGlvblN0YXJ0PWkrci5sZW5ndGgsdC5zZWxlY3Rpb25FbmQ9aStyLmxlbmd0aCs0KSx0LmZvY3VzKCl9aW5zZXJ0TGluayh0KXtsZXQgcj10LnNlbGVjdGlvblN0YXJ0LGE9dC5zZWxlY3Rpb25FbmQsbj10LnZhbHVlLnN1YnN0cmluZyhyLGEpfHwibGluayB0ZXh0IixzPWBbJHtufV0odXJsKWA7dC52YWx1ZT10LnZhbHVlLnN1YnN0cmluZygwLHIpK3MrdC52YWx1ZS5zdWJzdHJpbmcoYSksdC5zZWxlY3Rpb25TdGFydD1yK24ubGVuZ3RoKzMsdC5zZWxlY3Rpb25FbmQ9cituLmxlbmd0aCs2LHQuZm9jdXMoKX1hdXRvUmVzaXplKHQpe3Quc3R5bGUuaGVpZ2h0PSJhdXRvIix0LnN0eWxlLmhlaWdodD10LnNjcm9sbEhlaWdodCsicHgifXBhcnNlTWFya2Rvd24odCl7bGV0IHI9dGhpcy5lc2NhcGVIdG1sKHQpO3JldHVybiByPXIucmVwbGFjZSgvXiMjIyAoLispJC9nbSwiPGgzPiQxPC9oMz4iKSxyPXIucmVwbGFjZSgvXiMjICguKykkL2dtLCI8aDI+JDE8L2gyPiIpLHI9ci5yZXBsYWNlKC9eIyAoLispJC9nbSwiPGgxPiQxPC9oMT4iKSxyPXIucmVwbGFjZSgvXCpcKiguKz8pXCpcKi9nLCI8c3Ryb25nPiQxPC9zdHJvbmc+Iikscj1yLnJlcGxhY2UoL19fKC4rPylfXy9nLCI8c3Ryb25nPiQxPC9zdHJvbmc+Iikscj1yLnJlcGxhY2UoL1wqKC4rPylcKi9nLCI8ZW0+JDE8L2VtPiIpLHI9ci5yZXBsYWNlKC9fKC4rPylfL2csIjxlbT4kMTwvZW0+Iikscj1yLnJlcGxhY2UoL2BgYChbXHNcU10qPylgYGAvZywiPHByZT48Y29kZT4kMTwvY29kZT48L3ByZT4iKSxyPXIucmVwbGFjZSgvYCguKz8pYC9nLCI8Y29kZT4kMTwvY29kZT4iKSxyPXIucmVwbGFjZSgvXFsoW15cXV0rKVxdXCgoW14pXSspXCkvZywnPGEgaHJlZj0iJDIiPiQxPC9hPicpLHI9ci5yZXBsYWNlKC9eXCogKC4rKSQvZ20sIjxsaT4kMTwvbGk+Iikscj1yLnJlcGxhY2UoL14tICguKykkL2dtLCI8bGk+JDE8L2xpPiIpLHI9ci5yZXBsYWNlKC9eXGQrXC4gKC4rKSQvZ20sIjxsaT4kMTwvbGk+Iikscj1yLnJlcGxhY2UoLyg8bGk+Lio8XC9saT5cbj8pKy9nLGE9PiI8dWw+IithKyI8L3VsPiIpLHI9ci5yZXBsYWNlKC9cblxuL2csIjwvcD48cD4iKSxyPSI8cD4iK3IrIjwvcD4iLHI9ci5yZXBsYWNlKC88cD48XC9wPi9nLCIiKSxyPXIucmVwbGFjZSgvPHA+KDxoWzEtM10+KS9nLCIkMSIpLHI9ci5yZXBsYWNlKC8oPFwvaFsxLTNdPik8XC9wPi9nLCIkMSIpLHI9ci5yZXBsYWNlKC88cD4oPHVsPikvZywiJDEiKSxyPXIucmVwbGFjZSgvKDxcL3VsPik8XC9wPi9nLCIkMSIpLHI9ci5yZXBsYWNlKC88cD4oPHByZT4pL2csIiQxIikscj1yLnJlcGxhY2UoLyg8XC9wcmU+KTxcL3A+L2csIiQxIikscn1lc2NhcGVIdG1sKHQpe2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiByLnRleHRDb250ZW50PXQsci5pbm5lckhUTUx9Z2V0Q29udGVudCh0KXtsZXQgcj10LnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtpZihyKXJldHVybiByLnZhbHVlO2xldCBpPXQucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4iIn1zZXRDb250ZW50KHQscil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7YSYmKGEudmFsdWU9cix0aGlzLmF1dG9SZXNpemUoYSkpfWdldEN1cnNvclBvc2l0aW9uKHQpe2xldCByPXQucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3JldHVybiByP3Iuc2VsZWN0aW9uU3RhcnQ6bnVsbH1zZXRDdXJzb3JUb1N0YXJ0KHQpe2xldCByPXQucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3I/KHIuc2VsZWN0aW9uU3RhcnQ9ci5zZWxlY3Rpb25FbmQ9MCxyLmZvY3VzKCkpOnRoaXMuZm9jdXModCl9c2V0Q3Vyc29yVG9FbmQodCl7bGV0IHI9dC5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7aWYocil7bGV0IGE9ci52YWx1ZS5sZW5ndGg7ci5zZWxlY3Rpb25TdGFydD1yLnNlbGVjdGlvbkVuZD1hLHIuZm9jdXMoKX1lbHNlIHRoaXMuZm9jdXModCl9Zm9jdXModCl7bGV0IHI9dC5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7cj9yLmZvY3VzKCk6dC5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tcHJldmlldyIpPy5mb2N1cygpfWZvY3VzV2l0aEN1cnNvcih0LHI9ImVuZCIpe2xldCBhPXQucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO2E/cj09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KHQpOnI9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKHQpOnR5cGVvZiByPT0ibnVtYmVyIiYmKGEuc2VsZWN0aW9uU3RhcnQ9YS5zZWxlY3Rpb25FbmQ9cixhLmZvY3VzKCkpOnRoaXMuZm9jdXModCl9Z2V0U3BsaXRDb250ZW50KHQpe2xldCByPXQucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO2lmKCFyKXJldHVybiBudWxsO2xldCBhPXIuc2VsZWN0aW9uU3RhcnQ7cmV0dXJue2JlZm9yZTpyLnZhbHVlLnN1YnN0cmluZygwLGEpLGFmdGVyOnIudmFsdWUuc3Vic3RyaW5nKGEpfX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIE1hcmtkb3duIEJsb2NrIENvbnRhaW5lciAqLwogICAgICAubWFya2Rvd24tYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzExMTgyNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEhlYWRlciAqLwogICAgICAubWFya2Rvd24taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi10aXRsZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tdG9nZ2xlLW1vZGUgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tdG9nZ2xlLW1vZGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjNmNGY2IiwiIzFmMjkzNyIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQ29udGVudCAqLwogICAgICAubWFya2Rvd24tY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBFZGl0b3IgKi8KICAgICAgLm1hcmtkb3duLWVkaXRvciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICByZXNpemU6IG5vbmU7CiAgICAgICAgZm9udC1mYW1pbHk6ICdNb25hY28nLCAnQ29uc29sYXMnLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tZWRpdG9yOjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogUHJldmlldyAqLwogICAgICAubWFya2Rvd24tcHJldmlldyB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBtaW4taGVpZ2h0OiA5NnB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnByZXZpZXctZW1wdHkgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CiAgICAgIAogICAgICAvKiBNYXJrZG93biBwcmV2aWV3IHN0eWxlcyAqLwogICAgICAubWFya2Rvd24tcHJldmlldyBoMSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luOiAxNnB4IDAgOHB4IDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbjogMTRweCAwIDZweCAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGgzIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW46IDEycHggMCA0cHggMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBwIHsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyB1bCwKICAgICAgLm1hcmtkb3duLXByZXZpZXcgb2wgewogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBsaSB7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDJweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHByZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgcHJlIGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHN0cm9uZyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBlbSB7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBhIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGJsb2NrcXVvdGUgewogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIHBhZGRpbmctbGVmdDogMTJweDsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgIH0KICAgIGB9fX0pO3ZhciBldixoM3I9ZigoKT0+e3JzKCk7dWUoKTtldj1jbGFzcyBleHRlbmRzIGdhe3R5cGU9Imh0bWwiO3JlbmRlcih0LHIpe2xldCBhPXQubWV0YWRhdGE/LmlzRWRpdE1vZGU/PyEwLGk9dC5jb250ZW50fHwiIjtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Imh0bWwtYmxvY2stY29udGFpbmVyJHtyPyIgc2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHt0LmlkfSIKICAgICAgICAgICBkYXRhLWVkaXQtbW9kZT0iJHthfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iaHRtbC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaHRtbC1pY29uIj4mbHQ7LyZndDs8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imh0bWwtdGl0bGUiPkhUTUw8L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9Imh0bWwtdG9nZ2xlLW1vZGUiIHRpdGxlPSIke2E/IlByZXZpZXciOiJFZGl0In0iPgogICAgICAgICAgICAke2E/Ilx1ezFGNDQxfVx1RkUwRiI6Ilx1MjcwRlx1RkUwRiJ9CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJodG1sLWNvbnRlbnQiPgogICAgICAgICAgJHthP3RoaXMucmVuZGVyRWRpdG9yKGkpOnRoaXMucmVuZGVyUHJldmlldyhpKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckVkaXRvcih0KXtyZXR1cm5gCiAgICAgIDx0ZXh0YXJlYSBjbGFzcz0iaHRtbC1lZGl0b3IiIAogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIEhUTUwgY29udGVudC4uLiIKICAgICAgICAgICAgICAgIHNwZWxsY2hlY2s9ImZhbHNlIj4ke3RoaXMuZXNjYXBlSHRtbCh0KX08L3RleHRhcmVhPgogICAgYH1yZW5kZXJQcmV2aWV3KHQpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaHRtbC1wcmV2aWV3Ij4KICAgICAgICAke3R8fCc8ZGl2IGNsYXNzPSJwcmV2aWV3LWVtcHR5Ij5ObyBjb250ZW50IHRvIHByZXZpZXc8L2Rpdj4nfQogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAodCxyLGEpe2xldCBpPXQucXVlcnlTZWxlY3RvcigiLmh0bWwtYmxvY2stY29udGFpbmVyIiksbj10LnF1ZXJ5U2VsZWN0b3IoIi5odG1sLXRvZ2dsZS1tb2RlIik7aWYoIWl8fCFuKXtjb25zb2xlLmVycm9yKCJIdG1sQmxvY2tIYW5kbGVyOiBDb3VsZCBub3QgZmluZCByZXF1aXJlZCBlbGVtZW50cyIpO3JldHVybn1yLm1ldGFkYXRhfHwoci5tZXRhZGF0YT17fSksci5tZXRhZGF0YS5pc0VkaXRNb2RlPT09dm9pZCAwJiYoci5tZXRhZGF0YS5pc0VkaXRNb2RlPSEwKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixzPT57aWYocy5wcmV2ZW50RGVmYXVsdCgpLHMuc3RvcFByb3BhZ2F0aW9uKCksci5tZXRhZGF0YS5pc0VkaXRNb2RlKXtsZXQgbz1pLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO28mJihyLmNvbnRlbnQ9by52YWx1ZSl9ci5tZXRhZGF0YS5pc0VkaXRNb2RlPSFyLm1ldGFkYXRhLmlzRWRpdE1vZGUsYS5vblJlcXVlc3RVcGRhdGU/LigpfSksci5tZXRhZGF0YS5pc0VkaXRNb2RlP3RoaXMuc2V0dXBFZGl0b3IodCxyLGEpOnRoaXMuc2V0dXBQcmV2aWV3KHQscixhKX1zZXR1cEVkaXRvcih0LHIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtpJiYoaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PmEub25Gb2N1cygpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5hLm9uQmx1cigpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKT0+e3IuY29udGVudD1pLnZhbHVlLHRoaXMudmFsaWRhdGVIdG1sKGkudmFsdWUpfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixuPT57aWYobi5rZXk9PT0iVGFiIil7bi5wcmV2ZW50RGVmYXVsdCgpO2xldCBzPWkuc2VsZWN0aW9uU3RhcnQsbz1pLnNlbGVjdGlvbkVuZCxjPWkudmFsdWU7aWYobi5zaGlmdEtleSl7bGV0IGQ9Yy5zdWJzdHJpbmcoMCxzKS5sYXN0SW5kZXhPZihgCmApKzEsaD1jLnN1YnN0cmluZyhkLHMpO2guc3RhcnRzV2l0aCgiICAiKSYmKGkudmFsdWU9Yy5zdWJzdHJpbmcoMCxkKStoLnN1YnN0cmluZygyKStjLnN1YnN0cmluZyhzKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPXMtMil9ZWxzZSBpLnZhbHVlPWMuc3Vic3RyaW5nKDAscykrIiAgIitjLnN1YnN0cmluZyhvKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPXMrMjtyLmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59aWYoKG4uY3RybEtleXx8bi5tZXRhS2V5KSYmbi5rZXk9PT0iLyIpe24ucHJldmVudERlZmF1bHQoKSx0aGlzLmF1dG9DbG9zZVRhZyhpKSxyLmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59YS5vbktleURvd24obil9KSx0aGlzLmF1dG9SZXNpemUoaSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9PnRoaXMuYXV0b1Jlc2l6ZShpKSkpfXNldHVwUHJldmlldyh0LHIsYSl7bGV0IGk9dC5xdWVyeVNlbGVjdG9yKCIuaHRtbC1ibG9jay1jb250YWluZXIiKSxuPXQucXVlcnlTZWxlY3RvcigiLmh0bWwtcHJldmlldyIpOyFpfHwhbnx8KG4uc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSxuLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+YS5vbkZvY3VzKCkpLG4uYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PmEub25CbHVyKCkpLG4uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIscz0+e2lmKHMua2V5PT09IkVudGVyIiYmIXMuc2hpZnRLZXkpe3MucHJldmVudERlZmF1bHQoKSxyLm1ldGFkYXRhLmlzRWRpdE1vZGU9ITAsYS5vblJlcXVlc3RVcGRhdGU/LigpO3JldHVybn1hLm9uS2V5RG93bihzKX0pLHRoaXMuc2FuZGJveENvbnRlbnQobikpfWF1dG9DbG9zZVRhZyh0KXtsZXQgcj10LnNlbGVjdGlvblN0YXJ0LGE9dC52YWx1ZSxpPXI7Zm9yKDtpPjAmJmFbaS0xXSE9PSI8IjspaS0tO2lmKGk+MCl7bGV0IHM9YS5zdWJzdHJpbmcoaSxyKS5tYXRjaCgvXihcdyspLyk7aWYocyl7bGV0IGM9YDwvJHtzWzFdfT5gO3QudmFsdWU9YS5zdWJzdHJpbmcoMCxyKSsiPiIrYythLnN1YnN0cmluZyhyKSx0LnNlbGVjdGlvblN0YXJ0PXQuc2VsZWN0aW9uRW5kPXIrMX19fWF1dG9SZXNpemUodCl7dC5zdHlsZS5oZWlnaHQ9ImF1dG8iLHQuc3R5bGUuaGVpZ2h0PXQuc2Nyb2xsSGVpZ2h0KyJweCJ9dmFsaWRhdGVIdG1sKHQpe2xldCByPVtdLGE9LzxcLz8oW2EtekEtWl1bYS16QS1aMC05XSopXGJbXj5dKj4vZyxpO2Zvcig7KGk9YS5leGVjKHQpKSE9PW51bGw7KXtsZXQgbj1pWzBdLnN0YXJ0c1dpdGgoIjwvIikscz1pWzFdLnRvTG93ZXJDYXNlKCk7aWYobil7aWYoci5sZW5ndGg9PT0wfHxyW3IubGVuZ3RoLTFdIT09cylyZXR1cm4gY29uc29sZS53YXJuKGBNaXNtYXRjaGVkIGNsb3NpbmcgdGFnOiAke3N9YCksITE7ci5wb3AoKX1lbHNlIGlbMF0uZW5kc1dpdGgoIi8+Iil8fHIucHVzaChzKX1yZXR1cm4gci5sZW5ndGg+MD8oY29uc29sZS53YXJuKGBVbmNsb3NlZCB0YWdzOiAke3Iuam9pbigiLCAiKX1gKSwhMSk6ITB9c2FuZGJveENvbnRlbnQodCl7dC5xdWVyeVNlbGVjdG9yQWxsKCJzY3JpcHQiKS5mb3JFYWNoKG49Pm4ucmVtb3ZlKCkpLHQucXVlcnlTZWxlY3RvckFsbCgiKiIpLmZvckVhY2gobj0+e0FycmF5LmZyb20obi5hdHRyaWJ1dGVzKS5mb3JFYWNoKHM9PntzLm5hbWUuc3RhcnRzV2l0aCgib24iKSYmbi5yZW1vdmVBdHRyaWJ1dGUocy5uYW1lKX0pfSksdC5xdWVyeVNlbGVjdG9yQWxsKCJmb3JtIikuZm9yRWFjaChuPT57bi5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLHM9PntzLnByZXZlbnREZWZhdWx0KCkscy5zdG9wUHJvcGFnYXRpb24oKX0pfSl9ZXNjYXBlSHRtbCh0KXtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gci50ZXh0Q29udGVudD10LHIuaW5uZXJIVE1MfWdldENvbnRlbnQodCl7bGV0IHI9dC5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtpZihyKXJldHVybiByLnZhbHVlO2xldCBpPXQucXVlcnlTZWxlY3RvcigiLmh0bWwtYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO3JldHVybiIifXNldENvbnRlbnQodCxyKXtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO2EmJihhLnZhbHVlPXIsdGhpcy5hdXRvUmVzaXplKGEpKX1nZXRDdXJzb3JQb3NpdGlvbih0KXtsZXQgcj10LnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO3JldHVybiByP3Iuc2VsZWN0aW9uU3RhcnQ6bnVsbH1zZXRDdXJzb3JUb1N0YXJ0KHQpe2xldCByPXQucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7cj8oci5zZWxlY3Rpb25TdGFydD1yLnNlbGVjdGlvbkVuZD0wLHIuZm9jdXMoKSk6dGhpcy5mb2N1cyh0KX1zZXRDdXJzb3JUb0VuZCh0KXtsZXQgcj10LnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO2lmKHIpe2xldCBhPXIudmFsdWUubGVuZ3RoO3Iuc2VsZWN0aW9uU3RhcnQ9ci5zZWxlY3Rpb25FbmQ9YSxyLmZvY3VzKCl9ZWxzZSB0aGlzLmZvY3VzKHQpfWZvY3VzKHQpe2xldCByPXQucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7cj9yLmZvY3VzKCk6dC5xdWVyeVNlbGVjdG9yKCIuaHRtbC1wcmV2aWV3Iik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKHQscj0iZW5kIil7bGV0IGE9dC5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTthP3I9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydCh0KTpyPT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZCh0KTp0eXBlb2Ygcj09Im51bWJlciImJihhLnNlbGVjdGlvblN0YXJ0PWEuc2VsZWN0aW9uRW5kPXIsYS5mb2N1cygpKTp0aGlzLmZvY3VzKHQpfWdldFNwbGl0Q29udGVudCh0KXtsZXQgcj10LnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO2lmKCFyKXJldHVybiBudWxsO2xldCBhPXIuc2VsZWN0aW9uU3RhcnQ7cmV0dXJue2JlZm9yZTpyLnZhbHVlLnN1YnN0cmluZygwLGEpLGFmdGVyOnIudmFsdWUuc3Vic3RyaW5nKGEpfX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIEhUTUwgQmxvY2sgQ29udGFpbmVyICovCiAgICAgIC5odG1sLWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEhlYWRlciAqLwogICAgICAuaHRtbC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC10aXRsZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC10b2dnbGUtbW9kZSB7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXRvZ2dsZS1tb2RlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2YzZjRmNiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvbnRlbnQgKi8KICAgICAgLmh0bWwtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBFZGl0b3IgKi8KICAgICAgLmh0bWwtZWRpdG9yIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHJlc2l6ZTogbm9uZTsKICAgICAgICBmb250LWZhbWlseTogJ01vbmFjbycsICdDb25zb2xhcycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxZjI5MzciLCIjZjNmNGY2Iil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLWVkaXRvcjo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFByZXZpZXcgKi8KICAgICAgLmh0bWwtcHJldmlldyB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBtaW4taGVpZ2h0OiA5NnB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnByZXZpZXctZW1wdHkgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CiAgICAgIAogICAgICAvKiBTYW5kYm94ZWQgSFRNTCBwcmV2aWV3IHN0eWxlcyAqLwogICAgICAuaHRtbC1wcmV2aWV3ICogewogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBpbWcgewogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBhIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyB0YWJsZSB7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IHRoLAogICAgICAuaHRtbC1wcmV2aWV3IHRkIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgdGggewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IHByZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2YzZjRmNiIsIiMxZjI5MzciKX07CiAgICAgICAgcGFkZGluZzogMnB4IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdNb25hY28nLCAnQ29uc29sYXMnLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAwLjllbTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBwcmUgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgYH19fSk7dmFyIFI2ZT1mKCgpPT57cnMoKTtyM3IoKTthM3IoKTtpM3IoKTtuM3IoKTtzM3IoKTtvM3IoKTtsM3IoKTtjM3IoKTtkM3IoKTt1M3IoKTtwM3IoKTtmM3IoKTtoM3IoKX0pO2Z1bmN0aW9uIG0zcigpe05yLnJlZ2lzdGVyKCJkaXZpZGVyIixuZXcgSmIpLE5yLnJlZ2lzdGVyKCJwYXJhZ3JhcGgiLG5ldyBVYiksTnIucmVnaXN0ZXIoImhlYWRpbmctMSIsbmV3IHV1KCJoZWFkaW5nLTEiKSksTnIucmVnaXN0ZXIoImhlYWRpbmctMiIsbmV3IHV1KCJoZWFkaW5nLTIiKSksTnIucmVnaXN0ZXIoImhlYWRpbmctMyIsbmV3IHV1KCJoZWFkaW5nLTMiKSksTnIucmVnaXN0ZXIoInF1b3RlIixuZXcgV2IpLE5yLnJlZ2lzdGVyKCJjb2RlIixuZXcgR2IpLE5yLnJlZ2lzdGVyKCJsaXN0IixuZXcgWWIpLE5yLnJlZ2lzdGVyKCJpbWFnZSIsbmV3IFpiKSxOci5yZWdpc3RlcigieW91dHViZSIsbmV3IFhiKSxOci5yZWdpc3RlcigiYXR0YWNobWVudCIsbmV3IFFiKSxOci5yZWdpc3RlcigibWFya2Rvd24iLG5ldyBLYiksTnIucmVnaXN0ZXIoImh0bWwiLG5ldyBldil9dmFyIEI2ZT1mKCgpPT57UjZlKCk7bTNyKCl9KTt2YXIgdHYsSDZlPWYoKCk9Pnt1ZSgpO1o2KCk7RDEoKTtjdSgpO1JGKCk7dHY9Y2xhc3N7c3RhdGljIGFzeW5jIHNob3dMYW5ndWFnZVNlbGVjdGlvbk1vZGFsKCl7cmV0dXJuIG5ldyBQcm9taXNlKHQ9PntsZXQgcj1udWxsO0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IlNlbGVjdCBQcm9ncmFtbWluZyBMYW5ndWFnZSIsY29udGVudDpNYAogICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAubGFuZ3VhZ2UtY29udGFpbmVyIHsKICAgICAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OwogICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxhbmd1YWdlLWdyaWQgewogICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTIwcHgsIDFmcikpOwogICAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5sYW5ndWFnZS1idXR0b24gewogICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggOHB4OwogICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5sYW5ndWFnZS1idXR0b246aG92ZXIgewogICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgICAgICAgfQogICAgICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uLnNlbGVjdGVkIHsKICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2YzZjRmNiIsIiMzNzQxNTEiKX07CiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICAgICAgfQogICAgICAgICAgPC9zdHlsZT4KICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlLWdyaWQiPgogICAgICAgICAgICAgICR7dGhpcy5nZXRMYW5ndWFnZXMoKS5tYXAoYT0+TWAKICAgICAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJsYW5ndWFnZS1idXR0b24gJHtyPT09YS50b0xvd2VyQ2FzZSgpPyJzZWxlY3RlZCI6IiJ9IiAKICAgICAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT57cj1hLnRvTG93ZXJDYXNlKCk7bGV0IGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGVlcy1tb2RhbCIpO2kmJnR5cGVvZiBpLmRlc3Ryb3k9PSJmdW5jdGlvbiImJmkuZGVzdHJveSgpLHQocil9fSI+CiAgICAgICAgICAgICAgICAgICR7YX0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjphc3luYyBhPT57YS5kZXN0cm95KCksdChudWxsKX19XX0pfSl9c3RhdGljIGFzeW5jIHNob3dCbG9ja1NldHRpbmdzTW9kYWwodCxyKXtsZXQgYT1NYAogICAgICA8c3R5bGU+CiAgICAgICAgLnNldHRpbmdzLWNvbnRhaW5lciB7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIH0KICAgICAgICAuc2V0dGluZ3Mtc2VjdGlvbiB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAuc2V0dGluZ3Mtc2VjdGlvbjpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQogICAgICAgIC5zZXR0aW5ncy1sYWJlbCB7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIH0KICAgICAgICAuYmxvY2stdHlwZS1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNjBweCwgMWZyKSk7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CiAgICAgICAgLmJsb2NrLXR5cGUtYnV0dG9uIHsKICAgICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICAgIH0KICAgICAgICAuYmxvY2stdHlwZS1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgICAgfQogICAgICAgIC5ibG9jay10eXBlLWJ1dHRvbi5zZWxlY3RlZCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2YzZjRmNiIsIiMzNzQxNTEiKX07CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgfQogICAgICAgIC5ibG9jay10eXBlLWljb24gewogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb250YWluZXIiPgogICAgICAgICR7dGhpcy5nZXRCbG9ja1R5cGVTZWxlY3Rvcih0LHIpfQogICAgICAgICR7dC50eXBlPT09ImNvZGUiP3RoaXMuZ2V0Q29kZUJsb2NrU2V0dGluZ3ModCxyKToiIn0KICAgICAgPC9kaXY+CiAgICBgO0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkJsb2NrIFNldHRpbmdzIixjb250ZW50OmEsbWVudU9wdGlvbnM6W3tuYW1lOiJEb25lIixhY3Rpb246YXN5bmMgaT0+e2kuZGVzdHJveSgpfX1dfSl9c3RhdGljIGdldENvZGVCbG9ja1NldHRpbmdzKHQscil7bGV0IGE9dC5tZXRhZGF0YT8ubGFuZ3VhZ2V8fCJqYXZhc2NyaXB0IjtyZXR1cm4gTWAKICAgICAgPHN0eWxlPgogICAgICAgIC5sYW5ndWFnZS1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMDBweCwgMWZyKSk7CiAgICAgICAgICBnYXA6IDZweDsKICAgICAgICB9CiAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbiB7CiAgICAgICAgICBwYWRkaW5nOiA4cHggNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgICAgfQogICAgICAgIC5sYW5ndWFnZS1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgICAgfQogICAgICAgIC5sYW5ndWFnZS1idXR0b24uc2VsZWN0ZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMzc0MTUxIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlByb2dyYW1taW5nIExhbmd1YWdlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtZ3JpZCI+CiAgICAgICAgICAke3RoaXMuZ2V0TGFuZ3VhZ2VzKCkubWFwKGk9Pk1gCiAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLWJ1dHRvbiAke2E9PT1pLnRvTG93ZXJDYXNlKCk/InNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3QubWV0YWRhdGF8fCh0Lm1ldGFkYXRhPXt9KSx0Lm1ldGFkYXRhLmxhbmd1YWdlPWkudG9Mb3dlckNhc2UoKSxyKHQpO2xldCBuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtbW9kYWwiKTtuJiZ0eXBlb2Ygbi5kZXN0cm95PT0iZnVuY3Rpb24iJiZuLmRlc3Ryb3koKX19IgogICAgICAgICAgICAgIGRhdGEtbGFuZz0iJHtpfSIKICAgICAgICAgICAgPiR7aX08L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGljIGdldExhbmd1YWdlcygpe3JldHVyblsuLi5qYl19c3RhdGljIGdldEJsb2NrVHlwZVNlbGVjdG9yKHQscil7bGV0IGE9WmEuZ2V0U2xhc2hNZW51SXRlbXMoKS5maWx0ZXIoaT0+aS50eXBlIT09ImRpdmlkZXIiKTtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPkJsb2NrIFR5cGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJibG9jay10eXBlLWdyaWQiPgogICAgICAgICAgJHthLm1hcChpPT5NYAogICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgIGNsYXNzPSJibG9jay10eXBlLWJ1dHRvbiAke3QudHlwZT09PWkudHlwZT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICBAY2xpY2s9IiR7YXN5bmMgbj0+e2xldCBzPW4uY3VycmVudFRhcmdldCxvPXQudHlwZTtpZih0LnR5cGU9aS50eXBlLG89PT0iY29kZSImJnQudHlwZSE9PSJjb2RlIilkZWxldGUgdC5tZXRhZGF0YT8ubGFuZ3VhZ2U7ZWxzZSBpZihvPT09Imxpc3QiJiZ0LnR5cGUhPT0ibGlzdCIpZGVsZXRlIHQubWV0YWRhdGE/Lmxpc3RUeXBlO2Vsc2UgaWYodC50eXBlPT09Imxpc3QiJiYhdC5tZXRhZGF0YT8ubGlzdFR5cGUpdC5tZXRhZGF0YT17bGlzdFR5cGU6ImJ1bGxldCJ9O2Vsc2UgaWYodC50eXBlPT09ImNvZGUiJiYhdC5tZXRhZGF0YT8ubGFuZ3VhZ2Upe2xldCBsPWF3YWl0IHRoaXMuc2hvd0xhbmd1YWdlU2VsZWN0aW9uTW9kYWwoKTtpZihsKXQubWV0YWRhdGE9e2xhbmd1YWdlOmx9O2Vsc2V7dC50eXBlPW87cmV0dXJufX1yKHQpO2xldCBjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtbW9kYWwiKTtjJiZ0eXBlb2YgYy5kZXN0cm95PT0iZnVuY3Rpb24iJiZjLmRlc3Ryb3koKX19IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsb2NrLXR5cGUtaWNvbiI+JHtpLmljb259PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuPiR7aS5sYWJlbH08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH19fSk7dmFyIHJ2LGczcj1mKCgpPT57RDEoKTtMZigpO2N1KCk7TmMoKTtPNmUoKTtINmUoKTtydj1jbGFzc3tjb21wb25lbnQ7c2F2ZVRpbWVvdXQ9bnVsbDtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNvbXBvbmVudD10fWhhbmRsZUJsb2NrSW5wdXQodCxyKXtpZih0aGlzLmNvbXBvbmVudC5pc0NvbXBvc2luZylyZXR1cm47bGV0IGE9dC50YXJnZXQsaT1hLnRleHRDb250ZW50fHwiIixuPXRoaXMuZGV0ZWN0QmxvY2tUeXBlSW50ZW50KGkpO2lmKG4mJm4udHlwZSE9PXIudHlwZSl7dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlQmxvY2tUcmFuc2Zvcm1hdGlvbihyLG4sYSk7cmV0dXJufXRoaXMuaGFuZGxlU2xhc2hDb21tYW5kKGksYSksdGhpcy5zY2hlZHVsZUF1dG9TYXZlKCl9dXBkYXRlQmxvY2tDb250ZW50KHQscil7bGV0IGk9ci5jbG9zZXN0KCIuYmxvY2std3JhcHBlciIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihpKXtsZXQgbj1pLmdldENvbnRlbnQoKTtpZih0LmNvbnRlbnQhPT1uJiYodC5jb250ZW50PW4pLHQudHlwZT09PSJsaXN0Iil7bGV0IHM9ci5xdWVyeVNlbGVjdG9yKCJvbCwgdWwiKTtzJiYodC5tZXRhZGF0YT17bGlzdFR5cGU6cy50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0ib2wiPyJvcmRlcmVkIjoiYnVsbGV0In0pfX1lbHNlIGlmKHQudHlwZT09PSJsaXN0Iil7bGV0IG49ci5xdWVyeVNlbGVjdG9yQWxsKCJsaSIpO3QuY29udGVudD1BcnJheS5mcm9tKG4pLm1hcChvPT5vLmlubmVySFRNTHx8IiIpLmpvaW4oYApgKTtsZXQgcz1yLnF1ZXJ5U2VsZWN0b3IoIm9sLCB1bCIpO3MmJih0Lm1ldGFkYXRhPXtsaXN0VHlwZTpzLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJvbCI/Im9yZGVyZWQiOiJidWxsZXQifSl9ZWxzZSB0LnR5cGU9PT0iY29kZSI/dC5jb250ZW50PXIudGV4dENvbnRlbnR8fCIiOnQuY29udGVudD1yLmlubmVySFRNTHx8IiJ9ZGV0ZWN0QmxvY2tUeXBlSW50ZW50KHQpe2xldCByPVphLmNoZWNrSGVhZGluZ1Nob3J0Y3V0KHQpO2lmKHIpcmV0dXJuIHI7bGV0IGE9WmEuY2hlY2tMaXN0U2hvcnRjdXQodCk7cmV0dXJuIGF8fChaYS5jaGVja1F1b3RlU2hvcnRjdXQodCk/e3R5cGU6InF1b3RlIn06WmEuY2hlY2tDb2RlU2hvcnRjdXQodCk/e3R5cGU6ImNvZGUifTpaYS5jaGVja0RpdmlkZXJTaG9ydGN1dCh0KT97dHlwZToiZGl2aWRlciJ9Om51bGwpfWFzeW5jIGhhbmRsZUJsb2NrVHJhbnNmb3JtYXRpb24odCxyLGEpe2xldCBpPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucztpZihyLnR5cGU9PT0ibGlzdCIpe3QudHlwZT0ibGlzdCIsdC5jb250ZW50PSIiLHQubWV0YWRhdGE9e2xpc3RUeXBlOnIubGlzdFR5cGV9O2xldCBuPXIubGlzdFR5cGU9PT0ib3JkZXJlZCI/Im9sIjoidWwiO2EuaW5uZXJIVE1MPWA8JHtufT48bGk+PC9saT48LyR7bn0+YCx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LnVwZGF0ZUJsb2NrRWxlbWVudCh0LmlkKSxzZXRUaW1lb3V0KCgpPT57cm4uZm9jdXNMaXN0SXRlbShhKX0sMCl9ZWxzZSBpZihyLnR5cGU9PT0iZGl2aWRlciIpe3QudHlwZT0iZGl2aWRlciIsdC5jb250ZW50PSIgIix0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQodC5pZCk7bGV0IG49aS5jcmVhdGVCbG9jaygpO2kuaW5zZXJ0QmxvY2tBZnRlcih0LG4pLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9ZWxzZSBpZihyLnR5cGU9PT0iY29kZSIpe2xldCBuPWF3YWl0IHR2LnNob3dMYW5ndWFnZVNlbGVjdGlvbk1vZGFsKCk7biYmKHQudHlwZT0iY29kZSIsdC5jb250ZW50PSIiLHQubWV0YWRhdGE9e2xhbmd1YWdlOm59LGEudGV4dENvbnRlbnQ9IiIsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQodC5pZCksc2V0VGltZW91dChhc3luYygpPT57YXdhaXQgaS5mb2N1c0Jsb2NrKHQuaWQsInN0YXJ0Iil9LDUwKSl9ZWxzZSB0LnR5cGU9ci50eXBlLHQuY29udGVudD0iIixhLnRleHRDb250ZW50PSIiLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQudXBkYXRlQmxvY2tFbGVtZW50KHQuaWQpLHNldFRpbWVvdXQoYXN5bmMoKT0+e2F3YWl0IGkuZm9jdXNCbG9jayh0LmlkLCJzdGFydCIpfSw1MCl9aGFuZGxlU2xhc2hDb21tYW5kKHQscil7bGV0IGE9dGhpcy5jb21wb25lbnQuc2xhc2hNZW51LGk9YSYmYS52aXNpYmxlO2lmKHQ9PT0iLyJ8fHQuc3RhcnRzV2l0aCgiLyIpJiZpKXtpZighaSYmdD09PSIvIil7bGV0IG49dGhpcy5nZXRDYXJldENvb3JkaW5hdGVzKHIpO2Euc2hvdyh7eDpuLmxlZnQseTpuLmJvdHRvbSs0fSxzPT57dGhpcy5jb21wb25lbnQuaW5zZXJ0QmxvY2socyl9KSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ciYmci5mb2N1cygpfSl9YSYmYS51cGRhdGVGaWx0ZXIodC5zbGljZSgxKSl9ZWxzZSB0LnN0YXJ0c1dpdGgoIi8iKXx8dGhpcy5jb21wb25lbnQuY2xvc2VTbGFzaE1lbnUoKX1nZXRDYXJldENvb3JkaW5hdGVzKHQpe2xldCByPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihyJiZyLnJhbmdlQ291bnQ+MCl7bGV0IGk9ci5nZXRSYW5nZUF0KDApLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGkud2lkdGg+MHx8aS5oZWlnaHQ+MClyZXR1cm4gaX1yZXR1cm4gdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1zY2hlZHVsZUF1dG9TYXZlKCl7dGhpcy5zYXZlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuc2F2ZVRpbWVvdXQpLCEodGhpcy5jb21wb25lbnQuc2xhc2hNZW51JiZ0aGlzLmNvbXBvbmVudC5zbGFzaE1lbnUudmlzaWJsZSkmJih0aGlzLnNhdmVUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnN5bmNBbGxCbG9ja0NvbnRlbnQoKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpfSwyZTMpKX1zeW5jQWxsQmxvY2tDb250ZW50KCl7dGhpcy5jb21wb25lbnQuYmxvY2tzLmZvckVhY2godD0+e2xldCBhPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoYSYmYS5nZXRDb250ZW50KXtsZXQgaT1hLmdldENvbnRlbnQoKTt0LmNvbnRlbnQhPT1pJiYodC5jb250ZW50PWkpfX0pfWRlc3Ryb3koKXt0aGlzLnNhdmVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5zYXZlVGltZW91dCl9fX0pO3ZhciBhdixiM3I9ZigoKT0+e0QxKCk7TGYoKTtwbCgpO2F2PWNsYXNze2NvbXBvbmVudDtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNvbXBvbmVudD10fWFzeW5jIGhhbmRsZUJsb2NrS2V5RG93bih0LHIpe2lmKHRoaXMuY29tcG9uZW50LnNsYXNoTWVudS52aXNpYmxlJiZ0aGlzLmlzU2xhc2hNZW51S2V5KHQua2V5KSl7dGhpcy5jb21wb25lbnQuaGFuZGxlU2xhc2hNZW51S2V5Ym9hcmQodCk7cmV0dXJufWlmKCF0aGlzLmhhbmRsZUZvcm1hdHRpbmdTaG9ydGN1dHModCkpc3dpdGNoKHQua2V5KXtjYXNlIlRhYiI6dGhpcy5oYW5kbGVUYWIodCxyKTticmVhaztjYXNlIkVudGVyIjphd2FpdCB0aGlzLmhhbmRsZUVudGVyKHQscik7YnJlYWs7Y2FzZSJCYWNrc3BhY2UiOmF3YWl0IHRoaXMuaGFuZGxlQmFja3NwYWNlKHQscik7YnJlYWs7Y2FzZSJEZWxldGUiOmF3YWl0IHRoaXMuaGFuZGxlRGVsZXRlKHQscik7YnJlYWs7Y2FzZSJBcnJvd1VwIjphd2FpdCB0aGlzLmhhbmRsZUFycm93VXAodCxyKTticmVhaztjYXNlIkFycm93RG93biI6YXdhaXQgdGhpcy5oYW5kbGVBcnJvd0Rvd24odCxyKTticmVhaztjYXNlIkFycm93TGVmdCI6YXdhaXQgdGhpcy5oYW5kbGVBcnJvd0xlZnQodCxyKTticmVhaztjYXNlIkFycm93UmlnaHQiOmF3YWl0IHRoaXMuaGFuZGxlQXJyb3dSaWdodCh0LHIpO2JyZWFrfX1pc1NsYXNoTWVudUtleSh0KXtyZXR1cm5bIkFycm93RG93biIsIkFycm93VXAiLCJFbnRlciIsIkVzY2FwZSJdLmluY2x1ZGVzKHQpfWhhbmRsZUZvcm1hdHRpbmdTaG9ydGN1dHModCl7aWYoISh0Lm1ldGFLZXl8fHQuY3RybEtleSkpcmV0dXJuITE7c3dpdGNoKHQua2V5LnRvTG93ZXJDYXNlKCkpe2Nhc2UiYiI6cmV0dXJuIHQucHJldmVudERlZmF1bHQoKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT50aGlzLmNvbXBvbmVudC5hcHBseUZvcm1hdCgiYm9sZCIpKSwhMDtjYXNlImkiOnJldHVybiB0LnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoIml0YWxpYyIpKSwhMDtjYXNlInUiOnJldHVybiB0LnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoInVuZGVybGluZSIpKSwhMDtjYXNlImsiOnJldHVybiB0LnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoImxpbmsiKSksITB9cmV0dXJuITF9aGFuZGxlVGFiKHQscil7ci50eXBlIT09ImNvZGUiJiZyLnR5cGU9PT0ibGlzdCImJnQucHJldmVudERlZmF1bHQoKX1hc3luYyBoYW5kbGVFbnRlcih0LHIpe2xldCBhPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucztpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXMoci50eXBlKSl7dC5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPWEuY3JlYXRlQmxvY2soKTthd2FpdCBhLmluc2VydEJsb2NrQWZ0ZXIocixuKTtyZXR1cm59aWYoci50eXBlPT09ImNvZGUiKXtpZih0LnNoaWZ0S2V5KXt0LnByZXZlbnREZWZhdWx0KCk7bGV0IG49YS5jcmVhdGVCbG9jaygpO2F3YWl0IGEuaW5zZXJ0QmxvY2tBZnRlcihyLG4pfXJldHVybn1pZighdC5zaGlmdEtleSlpZihyLnR5cGU9PT0ibGlzdCIpYXdhaXQgdGhpcy5oYW5kbGVFbnRlckluTGlzdCh0LHIpO2Vsc2V7dC5wcmV2ZW50RGVmYXVsdCgpO2xldCBzPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3IuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYocyYmcy5nZXRTcGxpdENvbnRlbnQpe2xldCBvPXMuZ2V0U3BsaXRDb250ZW50KCk7aWYobyl7cy5zZXRDb250ZW50KG8uYmVmb3JlKSxyLmNvbnRlbnQ9by5iZWZvcmU7bGV0IGM9YS5jcmVhdGVCbG9jaygicGFyYWdyYXBoIixvLmFmdGVyKTthd2FpdCBhLmluc2VydEJsb2NrQWZ0ZXIocixjKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpfWVsc2V7bGV0IGM9YS5jcmVhdGVCbG9jaygpO2F3YWl0IGEuaW5zZXJ0QmxvY2tBZnRlcihyLGMpfX1lbHNle2xldCBvPWEuY3JlYXRlQmxvY2soKTthd2FpdCBhLmluc2VydEJsb2NrQWZ0ZXIocixvKX19fWFzeW5jIGhhbmRsZUVudGVySW5MaXN0KHQscil7bGV0IGE9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKGEmJmEucmFuZ2VDb3VudD4wKXtsZXQgbj1hLmdldFJhbmdlQXQoMCkuc3RhcnRDb250YWluZXIucGFyZW50RWxlbWVudD8uY2xvc2VzdCgibGkiKTtpZihuJiZuLnRleHRDb250ZW50PT09IiIpe3QucHJldmVudERlZmF1bHQoKTtsZXQgcz10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsbz1zLmNyZWF0ZUJsb2NrKCk7YXdhaXQgcy5pbnNlcnRCbG9ja0FmdGVyKHIsbyl9fX1hc3luYyBoYW5kbGVCYWNrc3BhY2UodCxyKXtsZXQgYT10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnM7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKHIudHlwZSkpe2lmKHQucHJldmVudERlZmF1bHQoKSx0aGlzLmNvbXBvbmVudC5ibG9ja3MubGVuZ3RoPT09MSl7dGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSksYS5yZW1vdmVCbG9jayhyLmlkKTtsZXQgdj1hLmNyZWF0ZUJsb2NrKCJwYXJhZ3JhcGgiLCIiKTt0aGlzLmNvbXBvbmVudC5ibG9ja3M9W3ZdLHRoaXMuY29tcG9uZW50LnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKSxhd2FpdCBhLmZvY3VzQmxvY2sodi5pZCwic3RhcnQiKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpO3JldHVybn10aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKTtsZXQgaD1hLmdldFByZXZpb3VzQmxvY2soci5pZCksbT1hLmdldE5leHRCbG9jayhyLmlkKTthLnJlbW92ZUJsb2NrKHIuaWQpLGgmJmgudHlwZSE9PSJkaXZpZGVyIiYmaC50eXBlIT09ImltYWdlIj9hd2FpdCBhLmZvY3VzQmxvY2soaC5pZCwiZW5kIik6bSYmbS50eXBlIT09ImRpdmlkZXIiJiZtLnR5cGUhPT0iaW1hZ2UiP2F3YWl0IGEuZm9jdXNCbG9jayhtLmlkLCJzdGFydCIpOmg/YXdhaXQgYS5mb2N1c0Jsb2NrKGguaWQpOm0mJmF3YWl0IGEuZm9jdXNCbG9jayhtLmlkKTtyZXR1cm59bGV0IHM9dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ci5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZighc3x8IXMuc2hhZG93Um9vdClyZXR1cm47bGV0IG89ci50eXBlPT09ImNvZGUiP3Muc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTpzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIW8pcmV0dXJuO2xldCBjPXMuY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIiksbD1bXTtjPy5zaGFkb3dSb290JiZsLnB1c2goYy5zaGFkb3dSb290KSxsLnB1c2gocy5zaGFkb3dSb290KTtsZXQgdT1ZZS5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudChvLC4uLmwpLGQ9cy5nZXRDb250ZW50P3MuZ2V0Q29udGVudCgpOm8udGV4dENvbnRlbnQ7aWYodT09PTApe3QucHJldmVudERlZmF1bHQoKTtsZXQgaD1hLmdldFByZXZpb3VzQmxvY2soci5pZCk7aWYoaCl7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKGgudHlwZSkpe2F3YWl0IGEuZm9jdXNCbG9jayhoLmlkKTtyZXR1cm59aWYodGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSksaC50eXBlPT09ImNvZGUiJiZyLnR5cGUhPT0iY29kZSIpe3IuY29udGVudD09PSIiJiYoYS5yZW1vdmVCbG9jayhyLmlkKSxhd2FpdCBhLmZvY3VzQmxvY2soaC5pZCwiZW5kIikpO3JldHVybn1pZihyLnR5cGU9PT0iY29kZSImJmgudHlwZSE9PSJjb2RlIil7bGV0IFI9cy5nZXRDb250ZW50P3MuZ2V0Q29udGVudCgpOnIuY29udGVudDsoUj09PSIifHxSLnRyaW0oKT09PSIiKSYmKGEucmVtb3ZlQmxvY2soci5pZCksYXdhaXQgYS5mb2N1c0Jsb2NrKGguaWQsImVuZCIpKTtyZXR1cm59bGV0IGI9dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7aC5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKSxnPWI/LmdldENvbnRlbnQoKXx8aC5jb250ZW50fHwiIix5PXMuZ2V0Q29udGVudCgpfHxyLmNvbnRlbnR8fCIiLHc9IiI7aC50eXBlPT09ImNvZGUiJiZyLnR5cGU9PT0iY29kZSJ8fGgudHlwZT09PSJsaXN0IiYmci50eXBlPT09Imxpc3QiP3c9ZysoZyYmeT9gCmA6IiIpK3k6dz1nKyhnJiZ5PyIgIjoiIikreTtsZXQgaz1nLmxlbmd0aDthLnVwZGF0ZUJsb2NrQ29udGVudChoLmlkLHcpLGImJmIuc2V0Q29udGVudCh3KSxhLnJlbW92ZUJsb2NrKHIuaWQpLGF3YWl0IGEuZm9jdXNCbG9jayhoLmlkLGspfX1lbHNlIGlmKHRoaXMuY29tcG9uZW50LmJsb2Nrcy5sZW5ndGg+MSl7bGV0IGg9cy5nZXRDb250ZW50P3MuZ2V0Q29udGVudCgpOnIuY29udGVudDtpZihoPT09IiJ8fGgudHJpbSgpPT09IiIpe3QucHJldmVudERlZmF1bHQoKTtsZXQgbT1hLmdldFByZXZpb3VzQmxvY2soci5pZCk7bSYmKGEucmVtb3ZlQmxvY2soci5pZCksbS50eXBlIT09ImRpdmlkZXIiJiZhd2FpdCBhLmZvY3VzQmxvY2sobS5pZCwiZW5kIikpfX19YXN5bmMgaGFuZGxlRGVsZXRlKHQscil7bGV0IGE9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zO2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhyLnR5cGUpKXtpZih0LnByZXZlbnREZWZhdWx0KCksdGhpcy5jb21wb25lbnQuYmxvY2tzLmxlbmd0aD09PTEpe3RoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLGEucmVtb3ZlQmxvY2soci5pZCk7bGV0IGI9YS5jcmVhdGVCbG9jaygicGFyYWdyYXBoIiwiIik7dGhpcy5jb21wb25lbnQuYmxvY2tzPVtiXSx0aGlzLmNvbXBvbmVudC5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksYXdhaXQgYS5mb2N1c0Jsb2NrKGIuaWQsInN0YXJ0IiksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKTtyZXR1cm59dGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSk7bGV0IGg9YS5nZXRQcmV2aW91c0Jsb2NrKHIuaWQpLG09YS5nZXROZXh0QmxvY2soci5pZCk7YS5yZW1vdmVCbG9jayhyLmlkKTtsZXQgdj1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07bSYmIXYuaW5jbHVkZXMobS50eXBlKT9hd2FpdCBhLmZvY3VzQmxvY2sobS5pZCwic3RhcnQiKTpoJiYhdi5pbmNsdWRlcyhoLnR5cGUpP2F3YWl0IGEuZm9jdXNCbG9jayhoLmlkLCJlbmQiKTptP2F3YWl0IGEuZm9jdXNCbG9jayhtLmlkKTpoJiZhd2FpdCBhLmZvY3VzQmxvY2soaC5pZCk7cmV0dXJufWxldCBzPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3IuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIXN8fCFzLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBvPXIudHlwZT09PSJjb2RlIj9zLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6cy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFvKXJldHVybjtsZXQgYz1zLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGw9W107Yz8uc2hhZG93Um9vdCYmbC5wdXNoKGMuc2hhZG93Um9vdCksbC5wdXNoKHMuc2hhZG93Um9vdCk7bGV0IHU9WWUuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQobywuLi5sKSxkPW8udGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtpZih1PT09ZCl7bGV0IGg9YS5nZXROZXh0QmxvY2soci5pZCk7aWYoaCYmWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKGgudHlwZSkpe3QucHJldmVudERlZmF1bHQoKSxhd2FpdCBhLmZvY3VzQmxvY2soaC5pZCk7cmV0dXJufX19YXN5bmMgaGFuZGxlQXJyb3dVcCh0LHIpe2xldCBhPVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTtpZihhLmluY2x1ZGVzKHIudHlwZSkpe3QucHJldmVudERlZmF1bHQoKTtsZXQgdT10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsZD11LmdldFByZXZpb3VzQmxvY2soci5pZCk7ZCYmYXdhaXQgdS5mb2N1c0Jsb2NrKGQuaWQsYS5pbmNsdWRlcyhkLnR5cGUpP3ZvaWQgMDoiZW5kIik7cmV0dXJufWxldCBuPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3IuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW58fCFuLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBzPXIudHlwZT09PSJjb2RlIj9uLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFzKXJldHVybjtsZXQgbz1uLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGM9W107bz8uc2hhZG93Um9vdCYmYy5wdXNoKG8uc2hhZG93Um9vdCksYy5wdXNoKG4uc2hhZG93Um9vdCk7bGV0IGw9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5jKTtpZighKCFsfHwhbC5jb2xsYXBzZWQpJiZ0aGlzLmlzT25GaXJzdExpbmUobCxzLC4uLmMpKXt0LnByZXZlbnREZWZhdWx0KCk7bGV0IHU9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLGQ9dS5nZXRQcmV2aW91c0Jsb2NrKHIuaWQpO2lmKGQpe2xldCBoPVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCB1LmZvY3VzQmxvY2soZC5pZCxoLmluY2x1ZGVzKGQudHlwZSk/dm9pZCAwOiJlbmQiKX19fWFzeW5jIGhhbmRsZUFycm93RG93bih0LHIpe2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhyLnR5cGUpKXt0LnByZXZlbnREZWZhdWx0KCk7bGV0IHU9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLGQ9dS5nZXROZXh0QmxvY2soci5pZCk7aWYoZCl7bGV0IGg9WyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdO2F3YWl0IHUuZm9jdXNCbG9jayhkLmlkLGguaW5jbHVkZXMoZC50eXBlKT92b2lkIDA6InN0YXJ0Iil9cmV0dXJufWxldCBuPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3IuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW58fCFuLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBzPXIudHlwZT09PSJjb2RlIj9uLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFzKXJldHVybjtsZXQgbz1uLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGM9W107bz8uc2hhZG93Um9vdCYmYy5wdXNoKG8uc2hhZG93Um9vdCksYy5wdXNoKG4uc2hhZG93Um9vdCk7bGV0IGw9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5jKTtpZighKCFsfHwhbC5jb2xsYXBzZWQpJiZ0aGlzLmlzT25MYXN0TGluZShsLHMsLi4uYykpe3QucHJldmVudERlZmF1bHQoKTtsZXQgdT10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsZD11LmdldE5leHRCbG9jayhyLmlkKTtpZihkKXtsZXQgaD1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgdS5mb2N1c0Jsb2NrKGQuaWQsaC5pbmNsdWRlcyhkLnR5cGUpP3ZvaWQgMDoic3RhcnQiKX19fWdldExhc3RUZXh0Tm9kZSh0KXtpZih0Lm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIHQ7Zm9yKGxldCByPXQuY2hpbGROb2Rlcy5sZW5ndGgtMTtyPj0wO3ItLSl7bGV0IGE9dGhpcy5nZXRMYXN0VGV4dE5vZGUodC5jaGlsZE5vZGVzW3JdKTtpZihhKXJldHVybiBhfXJldHVybiBudWxsfWFzeW5jIGhhbmRsZUFycm93TGVmdCh0LHIpe2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhyLnR5cGUpKXt0LnByZXZlbnREZWZhdWx0KCk7bGV0IGQ9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLGg9ZC5nZXRQcmV2aW91c0Jsb2NrKHIuaWQpO2lmKGgpe2xldCBtPVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBkLmZvY3VzQmxvY2soaC5pZCxtLmluY2x1ZGVzKGgudHlwZSk/dm9pZCAwOiJlbmQiKX1yZXR1cm59bGV0IG49dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ci5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZighbnx8IW4uc2hhZG93Um9vdClyZXR1cm47bGV0IHM9ci50eXBlPT09ImNvZGUiP24uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTpuLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIXMpcmV0dXJuO2xldCBvPW4uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIiksYz1bXTtvPy5zaGFkb3dSb290JiZjLnB1c2goby5zaGFkb3dSb290KSxjLnB1c2gobi5zaGFkb3dSb290KTtsZXQgbD1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLmMpO2lmKCFsfHwhbC5jb2xsYXBzZWQpcmV0dXJuO2lmKFllLmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KHMsLi4uYyk9PT0wKXtsZXQgZD10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsaD1kLmdldFByZXZpb3VzQmxvY2soci5pZCk7aWYoaCl7dC5wcmV2ZW50RGVmYXVsdCgpO2xldCB2PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhoLnR5cGUpP3ZvaWQgMDoiZW5kIjthd2FpdCBkLmZvY3VzQmxvY2soaC5pZCx2KX19fWFzeW5jIGhhbmRsZUFycm93UmlnaHQodCxyKXtpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXMoci50eXBlKSl7dC5wcmV2ZW50RGVmYXVsdCgpO2xldCBoPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyxtPWguZ2V0TmV4dEJsb2NrKHIuaWQpO2lmKG0pe2xldCB2PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBoLmZvY3VzQmxvY2sobS5pZCx2LmluY2x1ZGVzKG0udHlwZSk/dm9pZCAwOiJzdGFydCIpfXJldHVybn1sZXQgbj10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtyLmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKCFufHwhbi5zaGFkb3dSb290KXJldHVybjtsZXQgcz1yLnR5cGU9PT0iY29kZSI/bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpOm4uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighcylyZXR1cm47bGV0IG89bi5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKSxjPVtdO28/LnNoYWRvd1Jvb3QmJmMucHVzaChvLnNoYWRvd1Jvb3QpLGMucHVzaChuLnNoYWRvd1Jvb3QpO2xldCBsPVllLmdldFNlbGVjdGlvbkluZm8oLi4uYyk7aWYoIWx8fCFsLmNvbGxhcHNlZClyZXR1cm47bGV0IHU9WWUuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQocywuLi5jKSxkPXMudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtpZih1PT09ZCl7bGV0IGg9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLG09aC5nZXROZXh0QmxvY2soci5pZCk7aWYobSl7dC5wcmV2ZW50RGVmYXVsdCgpO2xldCB2PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBoLmZvY3VzQmxvY2sobS5pZCx2LmluY2x1ZGVzKG0udHlwZSk/dm9pZCAwOiJzdGFydCIpfX19aXNPbkZpcnN0TGluZSh0LHIsLi4uYSl7dHJ5e2xldCBpPVllLmNyZWF0ZVJhbmdlRnJvbUluZm8odCksbj1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHM9aS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtzLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihzPXMucGFyZW50RWxlbWVudCk7bGV0IG89cy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxjPW4udG9wLW8udG9wPDU7cmV0dXJuIHMudGV4dENvbnRlbnQmJiFzLnRleHRDb250ZW50LmluY2x1ZGVzKGAKYCk/WWUuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQocywuLi5hKT09PTA6Y31jYXRjaChpKXtyZXR1cm4gY29uc29sZS53YXJuKCJFcnJvciBjaGVja2luZyBmaXJzdCBsaW5lOiIsaSksdC5zdGFydE9mZnNldD09PTB9fWlzT25MYXN0TGluZSh0LHIsLi4uYSl7dHJ5e2xldCBpPVllLmNyZWF0ZVJhbmdlRnJvbUluZm8odCksbj1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHM9aS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtzLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihzPXMucGFyZW50RWxlbWVudCk7bGV0IGM9cy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20tbi5ib3R0b208NTtpZihzLnRleHRDb250ZW50JiYhcy50ZXh0Q29udGVudC5pbmNsdWRlcyhgCmApKXtsZXQgbD1yLnRleHRDb250ZW50Py5sZW5ndGh8fDA7cmV0dXJuIFllLmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KHIsLi4uYSk9PT1sfXJldHVybiBjfWNhdGNoKGkpe2NvbnNvbGUud2FybigiRXJyb3IgY2hlY2tpbmcgbGFzdCBsaW5lOiIsaSk7bGV0IG49ci50ZXh0Q29udGVudD8ubGVuZ3RofHwwO3JldHVybiBZZS5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudChyLC4uLmEpPT09bn19fX0pO3ZhciBpdix2M3I9ZigoKT0+e0QxKCk7TGYoKTtpdj1jbGFzc3tjb21wb25lbnQ7ZHJhZ2dlZEJsb2NrSWQ9bnVsbDtkcmFnT3ZlckJsb2NrSWQ9bnVsbDtkcmFnT3ZlclBvc2l0aW9uPW51bGw7ZHJvcEluZGljYXRvcj1udWxsO2luaXRpYWxNb3VzZVk9MDtpbml0aWFsQmxvY2tZPTA7ZHJhZ2dlZEJsb2NrRWxlbWVudD1udWxsO2RyYWdnZWRCbG9ja0hlaWdodD0wO2RyYWdnZWRCbG9ja0NvbnRlbnRIZWlnaHQ9MDtkcmFnZ2VkQmxvY2tNYXJnaW5Ub3A9MDtsYXN0VXBkYXRlVGltZT0wO3VwZGF0ZVRocm90dGxlPTgwO2NvbnN0cnVjdG9yKHQpe3RoaXMuY29tcG9uZW50PXR9Z2V0IGRyYWdTdGF0ZSgpe3JldHVybntkcmFnZ2VkQmxvY2tJZDp0aGlzLmRyYWdnZWRCbG9ja0lkLGRyYWdPdmVyQmxvY2tJZDp0aGlzLmRyYWdPdmVyQmxvY2tJZCxkcmFnT3ZlclBvc2l0aW9uOnRoaXMuZHJhZ092ZXJQb3NpdGlvbn19aGFuZGxlRHJhZ1N0YXJ0KHQscil7aWYoIXQuZGF0YVRyYW5zZmVyKXJldHVybjt0aGlzLmRyYWdnZWRCbG9ja0lkPXIuaWQsdC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0ibW92ZSIsdC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dC9wbGFpbiIsci5pZCk7bGV0IGE9bmV3IEltYWdlO2lmKGEuc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBVUVCQUFBQUN3QUFBQUFBUUFCQUFBQ0FrUUJBRHM9Iix0LmRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UoYSwwLDApLHRoaXMuaW5pdGlhbE1vdXNlWT10LmNsaWVudFksdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50PXRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ci5pZH0iXWApLHRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudCl7bGV0IGk9dGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuaW5pdGlhbEJsb2NrWT1pLnRvcDtsZXQgbj10aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYobil7bGV0IHM9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG4pO3RoaXMuZHJhZ2dlZEJsb2NrTWFyZ2luVG9wPXBhcnNlSW50KG8ubWFyZ2luVG9wKXx8MCx0aGlzLmRyYWdnZWRCbG9ja0NvbnRlbnRIZWlnaHQ9cy5oZWlnaHR9dGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHQ9aS5oZWlnaHQsY29uc29sZS5sb2coIkRyYWcgbWVhc3VyZW1lbnRzOiIse3dyYXBwZXJIZWlnaHQ6aS5oZWlnaHQsbWFyZ2luVG9wOnRoaXMuZHJhZ2dlZEJsb2NrTWFyZ2luVG9wLGRyb3BJbmRpY2F0b3JIZWlnaHQ6dGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHQsY29udGVudEhlaWdodDp0aGlzLmRyYWdnZWRCbG9ja0NvbnRlbnRIZWlnaHQsYmxvY2tJZDpyLmlkfSksdGhpcy5jcmVhdGVEcm9wSW5kaWNhdG9yKCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLHRoaXMuaGFuZGxlR2xvYmFsRHJhZ092ZXIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdlbmQiLHRoaXMuaGFuZGxlR2xvYmFsRHJhZ0VuZCl9dGhpcy5jb21wb25lbnQuZHJhZ2dlZEJsb2NrSWQ9dGhpcy5kcmFnZ2VkQmxvY2tJZCxzZXRUaW1lb3V0KCgpPT57dGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50JiZ0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIil9LDEwKX1oYW5kbGVEcmFnRW5kKCl7dGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpLmZvckVhY2gocj0+e3IuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciLCJtb3ZlLXVwIiwibW92ZS1kb3duIiksci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1kcmFnLW9mZnNldCIpLHIuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zZm9ybSIpfSksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLHRoaXMuZHJhZ2dlZEJsb2NrSWQ9bnVsbCx0aGlzLmRyYWdPdmVyQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJQb3NpdGlvbj1udWxsLHRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudD1udWxsLHRoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0PTAsdGhpcy5kcmFnZ2VkQmxvY2tDb250ZW50SGVpZ2h0PTAsdGhpcy5kcmFnZ2VkQmxvY2tNYXJnaW5Ub3A9MCx0aGlzLmluaXRpYWxCbG9ja1k9MCx0aGlzLmNvbXBvbmVudC5kcmFnZ2VkQmxvY2tJZD1udWxsLHRoaXMuY29tcG9uZW50LmRyYWdPdmVyQmxvY2tJZD1udWxsLHRoaXMuY29tcG9uZW50LmRyYWdPdmVyUG9zaXRpb249bnVsbH1oYW5kbGVEcmFnT3Zlcih0LHIpe2lmKHQucHJldmVudERlZmF1bHQoKSwhdC5kYXRhVHJhbnNmZXJ8fCF0aGlzLmRyYWdnZWRCbG9ja0lkfHx0aGlzLmRyYWdnZWRCbG9ja0lkPT09ci5pZClyZXR1cm47dC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0ibW92ZSI7bGV0IGE9dC5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9YS50b3ArYS5oZWlnaHQvMjt0aGlzLmRyYWdPdmVyQmxvY2tJZD1yLmlkLHRoaXMuZHJhZ092ZXJQb3NpdGlvbj10LmNsaWVudFk8aT8iYmVmb3JlIjoiYWZ0ZXIiLHRoaXMuY29tcG9uZW50LmRyYWdPdmVyQmxvY2tJZD10aGlzLmRyYWdPdmVyQmxvY2tJZCx0aGlzLmNvbXBvbmVudC5kcmFnT3ZlclBvc2l0aW9uPXRoaXMuZHJhZ092ZXJQb3NpdGlvbn1oYW5kbGVEcmFnTGVhdmUodCl7dGhpcy5kcmFnT3ZlckJsb2NrSWQ9PT10LmlkJiYodGhpcy5kcmFnT3ZlckJsb2NrSWQ9bnVsbCx0aGlzLmRyYWdPdmVyUG9zaXRpb249bnVsbCx0aGlzLmNvbXBvbmVudC5kcmFnT3ZlckJsb2NrSWQ9bnVsbCx0aGlzLmNvbXBvbmVudC5kcmFnT3ZlclBvc2l0aW9uPW51bGwpfWhhbmRsZURyb3AodCxyKXt0LnByZXZlbnREZWZhdWx0KCksISghdGhpcy5kcmFnZ2VkQmxvY2tJZHx8dGhpcy5kcmFnZ2VkQmxvY2tJZD09PXIuaWQpJiZ0aGlzLmNvbXBvbmVudC5oYW5kbGVEcm9wKHQscil9aXNEcmFnZ2luZyh0KXtyZXR1cm4gdGhpcy5kcmFnZ2VkQmxvY2tJZD09PXR9aXNEcmFnT3Zlcih0KXtyZXR1cm4gdGhpcy5kcmFnT3ZlckJsb2NrSWQ9PT10fWdldERyYWdPdmVyQ2xhc3Nlcyh0KXtyZXR1cm4gdGhpcy5pc0RyYWdPdmVyKHQpP3RoaXMuZHJhZ092ZXJQb3NpdGlvbj09PSJiZWZvcmUiPyJkcmFnLW92ZXItYmVmb3JlIjoiZHJhZy1vdmVyLWFmdGVyIjoiIn1jcmVhdGVEcm9wSW5kaWNhdG9yKCl7dGhpcy5kcm9wSW5kaWNhdG9yPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuZHJvcEluZGljYXRvci5jbGFzc05hbWU9ImRyb3AtaW5kaWNhdG9yIix0aGlzLmRyb3BJbmRpY2F0b3Iuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5hcHBlbmRDaGlsZCh0aGlzLmRyb3BJbmRpY2F0b3IpfWhhbmRsZUdsb2JhbERyYWdPdmVyPXQ9PntpZih0LnByZXZlbnREZWZhdWx0KCksIXRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudClyZXR1cm47bGV0IHI9dC5jbGllbnRZLXRoaXMuaW5pdGlhbE1vdXNlWTt0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGVZKCR7cn1weClgO2xldCBhPURhdGUubm93KCk7YS10aGlzLmxhc3RVcGRhdGVUaW1lPHRoaXMudXBkYXRlVGhyb3R0bGV8fCh0aGlzLmxhc3RVcGRhdGVUaW1lPWEsdGhpcy51cGRhdGVCbG9ja1Bvc2l0aW9ucyh0LmNsaWVudFkpKX07dXBkYXRlQmxvY2tQb3NpdGlvbnModCl7bGV0IHI9QXJyYXkuZnJvbSh0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIikpLGE9ci5maW5kSW5kZXgobj0+bi5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKT09PXRoaXMuZHJhZ2dlZEJsb2NrSWQpO2lmKGE9PT0tMSlyZXR1cm47ci5mb3JFYWNoKG49PntuLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpIT09dGhpcy5kcmFnZ2VkQmxvY2tJZCYmKG4uY2xhc3NMaXN0LnJlbW92ZSgibW92ZS11cCIsIm1vdmUtZG93biIpLG4uc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tZHJhZy1vZmZzZXQiKSl9KTtsZXQgaT1yLmxlbmd0aDtmb3IobGV0IG49MDtuPHIubGVuZ3RoO24rKyl7aWYobj09PWEpY29udGludWU7bGV0IG89cltuXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxjPW8udG9wO2lmKHQ8YytvLmhlaWdodCouNSl7aT1uO2JyZWFrfX1mb3IobGV0IG49MDtuPHIubGVuZ3RoO24rKyl7aWYobj09PWEpY29udGludWU7bGV0IHM9cltuXTthPGk/bj5hJiZuPGkmJihzLmNsYXNzTGlzdC5hZGQoIm1vdmUtdXAiKSxzLnN0eWxlLnNldFByb3BlcnR5KCItLWRyYWctb2Zmc2V0IixgJHt0aGlzLmRyYWdnZWRCbG9ja0hlaWdodH1weGApKTphPmkmJm4+PWkmJm48YSYmKHMuY2xhc3NMaXN0LmFkZCgibW92ZS1kb3duIikscy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1kcmFnLW9mZnNldCIsYCR7dGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHR9cHhgKSl9dGhpcy51cGRhdGVEcm9wSW5kaWNhdG9yKHIsaSxhKX11cGRhdGVEcm9wSW5kaWNhdG9yKHQscixhKXtpZighdGhpcy5kcm9wSW5kaWNhdG9yfHwhdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50KXJldHVybjt0aGlzLmRyb3BJbmRpY2F0b3Iuc3R5bGUuZGlzcGxheT0iYmxvY2siO2xldCBpPXRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj0wLHM9W107Zm9yKGxldCBsPTA7bDx0Lmxlbmd0aDtsKyspe2lmKGw9PT1hKWNvbnRpbnVlO2xldCB1PXRbbF0sZD11LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGg9ZC50b3AtaS50b3AsbT1kLmJvdHRvbS1pLnRvcCx2PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHUpLnRyYW5zZm9ybTtpZih2JiZ2IT09Im5vbmUiKXtsZXQgZz1uZXcgRE9NTWF0cml4KHYpLm00MjtoKz1nLG0rPWd9cy5wdXNoKHtpbmRleDpsLHRvcDpoLGJvdHRvbTptfSl9cy5zb3J0KChsLHUpPT5sLnRvcC11LnRvcCk7bGV0IG89cjtyPmEmJm8tLTtsZXQgYz0xNjtpZih0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQpe2xldCBsPXRoaXMuY29tcG9uZW50LmJsb2Nrcy5maW5kKHU9PnUuaWQ9PT10aGlzLmRyYWdnZWRCbG9ja0lkKTtpZihsKXtsZXQgdT1sLnR5cGU7dT09PSJoZWFkaW5nLTEifHx1PT09ImhlYWRpbmctMiJ8fHU9PT0iaGVhZGluZy0zIj9jPTI0Oih1PT09ImNvZGUifHx1PT09InF1b3RlIikmJihjPTIwKX19aWYobz09PTApbj0wO2Vsc2UgaWYobz49cy5sZW5ndGgpe2xldCBsPXNbcy5sZW5ndGgtMV07bCYmKG49bC5ib3R0b20sbis9Yyl9ZWxzZXtsZXQgbD1zW28tMV07bCYmKG49bC5ib3R0b20sbis9Yyl9dGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLmhlaWdodD1gJHt0aGlzLmRyYWdnZWRCbG9ja0hlaWdodH1weGAsdGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLnRvcD1gJHtNYXRoLm1heCgwLG4pfXB4YCxjb25zb2xlLmxvZygiRHJvcCBpbmRpY2F0b3IgdXBkYXRlOiIse3RhcmdldEluZGV4OnIsYWRqdXN0ZWRUYXJnZXRJbmRleDpvLGRyYWdnZWRJbmRleDphLHRvcFBvc2l0aW9uOm4saGVpZ2h0OnRoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0LGJsb2NrTWFyZ2luOmMsdmlzdWFsQmxvY2tzOnMubWFwKGw9Pih7aW5kZXg6bC5pbmRleCx0b3A6bC50b3AsYm90dG9tOmwuYm90dG9tfSkpfSl9aGFuZGxlR2xvYmFsRHJhZ0VuZD0oKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIix0aGlzLmhhbmRsZUdsb2JhbERyYWdPdmVyKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLmhhbmRsZUdsb2JhbERyYWdFbmQpLHRoaXMuZHJvcEluZGljYXRvciYmKHRoaXMuZHJvcEluZGljYXRvci5yZW1vdmUoKSx0aGlzLmRyb3BJbmRpY2F0b3I9bnVsbCksdGhpcy5kcmFnZ2VkQmxvY2tJZD9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLnBlcmZvcm1Ecm9wKCksdGhpcy5oYW5kbGVEcmFnRW5kKCl9KTp0aGlzLmhhbmRsZURyYWdFbmQoKX07cGVyZm9ybURyb3AoKXtpZighdGhpcy5kcmFnZ2VkQmxvY2tJZClyZXR1cm47bGV0IHQ9QXJyYXkuZnJvbSh0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIikpO2lmKCF0LmZpbmQodT0+dS5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKT09PXRoaXMuZHJhZ2dlZEJsb2NrSWQpKXJldHVybjtsZXQgYT10Lm1hcCh1PT57bGV0IGQ9dS5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKSxoPXUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbT1oLnRvcCtoLmhlaWdodC8yO3JldHVybntpZDpkLGNlbnRlclk6bSxlbGVtZW50OnV9fSk7YS5zb3J0KCh1LGQpPT51LmNlbnRlclktZC5jZW50ZXJZKTtsZXQgaT1hLm1hcCh1PT51LmlkKS5maWx0ZXIodT0+dSE9PW51bGwpLG49Wy4uLnRoaXMuY29tcG9uZW50LmJsb2Nrc10scz1uLmZpbmQodT0+dS5pZD09PXRoaXMuZHJhZ2dlZEJsb2NrSWQpO2lmKCFzKXJldHVybjtsZXQgbz1uLm1hcCh1PT51LmlkKTtpZighIWkuZXZlcnkoKHUsZCk9PnU9PT1vW2RdKSlyZXR1cm47bGV0IGw9aS5tYXAodT0+bi5maW5kKGQ9PmQuaWQ9PT11KSkuZmlsdGVyKEJvb2xlYW4pO3RoaXMuY29tcG9uZW50LmJsb2Nrcz1sLHRoaXMuY29tcG9uZW50LnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpLHNldFRpbWVvdXQoKCk9PntzLnR5cGUhPT0iZGl2aWRlciImJnRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKHMuaWQpfSwxMDApfX19KTt2YXIgbnYseDNyPWYoKCk9PntEMSgpO252PWNsYXNze2hpc3Rvcnk9W107Y3VycmVudEluZGV4PS0xO21heEhpc3RvcnlTaXplPTUwO2xhc3RTYXZlVGltZT0wO3NhdmVEZWJvdW5jZU1zPTUwMDtjb25zdHJ1Y3Rvcigpe3RoaXMuaGlzdG9yeT1bXSx0aGlzLmN1cnJlbnRJbmRleD0tMX1zYXZlU3RhdGUodCxyLGEpe2xldCBpPURhdGUubm93KCk7aWYoaS10aGlzLmxhc3RTYXZlVGltZTx0aGlzLnNhdmVEZWJvdW5jZU1zJiZ0aGlzLmN1cnJlbnRJbmRleD49MCl7dGhpcy5oaXN0b3J5W3RoaXMuY3VycmVudEluZGV4XT17YmxvY2tzOnRoaXMuY2xvbmVCbG9ja3ModCksc2VsZWN0ZWRCbG9ja0lkOnIsY3Vyc29yUG9zaXRpb246YT97Li4uYX06dm9pZCAwLHRpbWVzdGFtcDppfTtyZXR1cm59dGhpcy5jdXJyZW50SW5kZXg8dGhpcy5oaXN0b3J5Lmxlbmd0aC0xJiYodGhpcy5oaXN0b3J5PXRoaXMuaGlzdG9yeS5zbGljZSgwLHRoaXMuY3VycmVudEluZGV4KzEpKTtsZXQgbj17YmxvY2tzOnRoaXMuY2xvbmVCbG9ja3ModCksc2VsZWN0ZWRCbG9ja0lkOnIsY3Vyc29yUG9zaXRpb246YT97Li4uYX06dm9pZCAwLHRpbWVzdGFtcDppfTt0aGlzLmhpc3RvcnkucHVzaChuKSx0aGlzLmN1cnJlbnRJbmRleCsrLHRoaXMuaGlzdG9yeS5sZW5ndGg+dGhpcy5tYXhIaXN0b3J5U2l6ZSYmKHRoaXMuaGlzdG9yeS5zaGlmdCgpLHRoaXMuY3VycmVudEluZGV4LS0pLHRoaXMubGFzdFNhdmVUaW1lPWl9c2F2ZUNoZWNrcG9pbnQodCxyLGEpe3RoaXMubGFzdFNhdmVUaW1lPTAsdGhpcy5zYXZlU3RhdGUodCxyLGEpfXVuZG8oKXtyZXR1cm4gdGhpcy5jYW5VbmRvKCk/KHRoaXMuY3VycmVudEluZGV4LS0sdGhpcy5jbG9uZVN0YXRlKHRoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF0pKTpudWxsfXJlZG8oKXtyZXR1cm4gdGhpcy5jYW5SZWRvKCk/KHRoaXMuY3VycmVudEluZGV4KyssdGhpcy5jbG9uZVN0YXRlKHRoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF0pKTpudWxsfWNhblVuZG8oKXtyZXR1cm4gdGhpcy5jdXJyZW50SW5kZXg+MH1jYW5SZWRvKCl7cmV0dXJuIHRoaXMuY3VycmVudEluZGV4PHRoaXMuaGlzdG9yeS5sZW5ndGgtMX1nZXRDdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5jdXJyZW50SW5kZXg+PTAmJnRoaXMuY3VycmVudEluZGV4PHRoaXMuaGlzdG9yeS5sZW5ndGg/dGhpcy5jbG9uZVN0YXRlKHRoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF0pOm51bGx9Y2xlYXIoKXt0aGlzLmhpc3Rvcnk9W10sdGhpcy5jdXJyZW50SW5kZXg9LTEsdGhpcy5sYXN0U2F2ZVRpbWU9MH1jbG9uZUJsb2Nrcyh0KXtyZXR1cm4gdC5tYXAocj0+KHsuLi5yLG1ldGFkYXRhOnIubWV0YWRhdGE/ey4uLnIubWV0YWRhdGF9OnZvaWQgMH0pKX1jbG9uZVN0YXRlKHQpe3JldHVybntibG9ja3M6dGhpcy5jbG9uZUJsb2Nrcyh0LmJsb2Nrcyksc2VsZWN0ZWRCbG9ja0lkOnQuc2VsZWN0ZWRCbG9ja0lkLGN1cnNvclBvc2l0aW9uOnQuY3Vyc29yUG9zaXRpb24/ey4uLnQuY3Vyc29yUG9zaXRpb259OnZvaWQgMCx0aW1lc3RhbXA6dC50aW1lc3RhbXB9fWdldEhpc3RvcnlJbmZvKCl7cmV0dXJue3NpemU6dGhpcy5oaXN0b3J5Lmxlbmd0aCxjdXJyZW50SW5kZXg6dGhpcy5jdXJyZW50SW5kZXgsY2FuVW5kbzp0aGlzLmNhblVuZG8oKSxjYW5SZWRvOnRoaXMuY2FuUmVkbygpfX19fSk7dmFyIHN2LEZjLHkzcix3M3I9ZigoKT0+e3VlKCk7RDEoKTtOYygpO3BsKCk7UjZlKCk7QjZlKCk7Y3UoKTtNaSgpO1FlKCk7c3Y9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxGYz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0seTNyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy13eXNpd3lnLWJsb2NrIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCB3PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6T2JqZWN0fSldLGM9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxkPVtGKHt0eXBlOk9iamVjdH0pXSx2PVtGKHt0eXBlOk9iamVjdH0pXSxzdih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJsb2NrIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4iYmxvY2siaW4gayxnZXQ6az0+ay5ibG9jayxzZXQ6KGssUik9PntrLmJsb2NrPVJ9fSxtZXRhZGF0YTp3fSxzLG8pLHN2KHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNTZWxlY3RlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImlzU2VsZWN0ZWQiaW4gayxnZXQ6az0+ay5pc1NlbGVjdGVkLHNldDooayxSKT0+e2suaXNTZWxlY3RlZD1SfX0sbWV0YWRhdGE6d30sbCx1KSxzdih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhhbmRsZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4iaGFuZGxlcnMiaW4gayxnZXQ6az0+ay5oYW5kbGVycyxzZXQ6KGssUik9PntrLmhhbmRsZXJzPVJ9fSxtZXRhZGF0YTp3fSxoLG0pLHN2KHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid3lzaXd5Z0NvbXBvbmVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+Ind5c2l3eWdDb21wb25lbnQiaW4gayxnZXQ6az0+ay53eXNpd3lnQ29tcG9uZW50LHNldDooayxSKT0+e2sud3lzaXd5Z0NvbXBvbmVudD1SfX0sbWV0YWRhdGE6d30sYixnKSxzdihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTp3fSxudWxsLHIpLHk9YT10LnZhbHVlLHcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6d30pfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9zZWxlY3Rpb25IYW5kbGVyJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHRoaXMuX3NlbGVjdGlvbkhhbmRsZXIpfSNlPUZjKHRoaXMscyx2b2lkIDApO2dldCBibG9jaygpe3JldHVybiB0aGlzLiNlfXNldCBibG9jayh3KXt0aGlzLiNlPXd9I3Q9KEZjKHRoaXMsbyksRmModGhpcyxsLCExKSk7Z2V0IGlzU2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaXNTZWxlY3RlZCh3KXt0aGlzLiN0PXd9I3I9KEZjKHRoaXMsdSksRmModGhpcyxoLHZvaWQgMCkpO2dldCBoYW5kbGVycygpe3JldHVybiB0aGlzLiNyfXNldCBoYW5kbGVycyh3KXt0aGlzLiNyPXd9I2E9KEZjKHRoaXMsbSksRmModGhpcyxiLHZvaWQgMCkpO2dldCB3eXNpd3lnQ29tcG9uZW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHd5c2l3eWdDb21wb25lbnQodyl7dGhpcy4jYT13fWJsb2NrRWxlbWVudD0oRmModGhpcyxnKSxudWxsKTtjb250ZW50SW5pdGlhbGl6ZWQ9ITE7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO2hhbmRsZXJTdHlsZXNJbmplY3RlZD0hMTtzdGF0aWMgTk9OX0VESVRBQkxFX1RZUEVTPVsiaW1hZ2UiLCJkaXZpZGVyIiwieW91dHViZSJdO2luamVjdEhhbmRsZXJTdHlsZXMoKXtpZih0aGlzLmhhbmRsZXJTdHlsZXNJbmplY3RlZClyZXR1cm47dGhpcy5oYW5kbGVyU3R5bGVzSW5qZWN0ZWQ9ITA7bGV0IHc9IiIsaz1Oci5nZXRBbGxUeXBlcygpO2ZvcihsZXQgUiBvZiBrKXtsZXQgQz1Oci5nZXRIYW5kbGVyKFIpO0MmJih3Kz1DLmdldFN0eWxlcygpKX1pZih3KXtsZXQgUj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO1IudGV4dENvbnRlbnQ9dyx0aGlzLnNoYWRvd1Jvb3Q/LmFwcGVuZENoaWxkKFIpfX1zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuYmxvY2sgewogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICAgIG1pbi1oZWlnaHQ6IDEuNmVtOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwMDAwMDAiLCIjZTBlMGUwIil9OwogICAgICB9CgogICAgICAuYmxvY2s6ZW1wdHk6bm90KDpmb2N1cyk6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXBsYWNlaG9sZGVyKTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLyogQmxvY2stc3BlY2lmaWMgc3R5bGVzIG1vdmVkIHRvIGhhbmRsZXJzICovCgoKICAgICAgLyogRm9ybWF0dGluZyBzdHlsZXMgKi8KICAgICAgLmJsb2NrIDppcyhiLCBzdHJvbmcpIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5ibG9jayA6aXMoaSwgZW0pIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5ibG9jayB1IHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLmJsb2NrIHMgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOwogICAgICB9CgogICAgICAuYmxvY2sgY29kZSB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAwLjllbTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkMTQiLCIjZmY2YjZiIil9OwogICAgICB9CgogICAgICAuYmxvY2sgYSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDA2NmNjIiwiIzRkOTRmZiIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmJsb2NrIGE6aG92ZXIgewogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR7cC5iZFRoZW1lKCIjMDA2NmNjIiwiIzRkOTRmZiIpfTsKICAgICAgfQoKICAgICAgLyogQ29kZSBibG9jayBjb250YWluZXIgYW5kIGxhbmd1YWdlIHN0eWxlcyBtb3ZlZCB0byBoYW5kbGVyICovCgogICAgICAvKiBTZWxlY3Rpb24gc3R5bGVzICovCiAgICAgIC5ibG9jayA6OnNlbGVjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwgMTAyLCAyMDQsIDAuMykiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4zKSIpfTsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgfQoKCiAgICAgIC8qIFN0cmlrZSB0aHJvdWdoICovCiAgICAgIC5ibG9jayA6aXMocywgc3RyaWtlKSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgoKICAgICAgLyogQmxvY2sgbWFyZ2luIGFkanVzdG1lbnRzIGJhc2VkIG9uIHR5cGUgKi8KICAgICAgOmhvc3QtY29udGV4dCguYmxvY2std3JhcHBlcjpmaXJzdC1jaGlsZCkgLmJsb2NrIHsKICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIDpob3N0LWNvbnRleHQoLmJsb2NrLXdyYXBwZXI6bGFzdC1jaGlsZCkgLmJsb2NrIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAvKiBTZWxlY3RlZCBzdGF0ZSAqLwogICAgICAuYmxvY2suc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjA1KSIsInJnYmEoNzcsIDE0OCwgMjU1LCAwLjA4KSIpfTsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJHtwLmJkVGhlbWUoInJnYmEoMCwgMTAyLCAyMDQsIDAuMikiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtOHB4OwogICAgICAgIHBhZGRpbmctbGVmdDogOHB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsKICAgICAgfQoKCgoKICAgIGBdO3Nob3VsZFVwZGF0ZSh3KXtpZih3LmhhcygiaXNTZWxlY3RlZCIpJiZ0aGlzLmJsb2NrKXtsZXQgaz1udWxsLEM9YC5ibG9jay4ke3RoaXMuYmxvY2sudHlwZX1gO3JldHVybiBrPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihDKSxrJiYodGhpcy5pc1NlbGVjdGVkP2suY2xhc3NMaXN0LmFkZCgic2VsZWN0ZWQiKTprLmNsYXNzTGlzdC5yZW1vdmUoInNlbGVjdGVkIikpLCExfWlmKHcuaGFzKCJibG9jayIpJiZ0aGlzLmJsb2NrKXtsZXQgaz13LmdldCgiYmxvY2siKTtpZihrJiZrLmlkJiZrLnR5cGUmJmsuaWQ9PT10aGlzLmJsb2NrLmlkJiZrLnR5cGU9PT10aGlzLmJsb2NrLnR5cGUpcmV0dXJuITF9cmV0dXJuIXRoaXMuYmxvY2tFbGVtZW50fHx0aGlzLmJsb2NrPy50eXBlIT09dGhpcy5ibG9ja0VsZW1lbnQuZGF0YXNldC5ibG9ja1R5cGV9Zmlyc3RVcGRhdGVkKCl7dGhpcy5jb250ZW50SW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbmplY3RIYW5kbGVyU3R5bGVzKCk7bGV0IHc9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud3lzaXd5Zy1ibG9jay1jb250YWluZXIiKTtpZih3JiZ0aGlzLmJsb2NrJiYody5pbm5lckhUTUw9dGhpcy5yZW5kZXJCbG9ja0NvbnRlbnQoKSksdGhpcy5ibG9jayl7bGV0IFI9TnIuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKFIpe2xldCBDPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIik7QyYmUi5zZXR1cChDLHRoaXMuYmxvY2ssdGhpcy5oYW5kbGVycyk7cmV0dXJufX1sZXQgaz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKGspe2suc2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIix0aGlzLmJsb2NrLmlkKSxrLnNldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay10eXBlIix0aGlzLmJsb2NrLnR5cGUpLGsuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLEM9Pnt0aGlzLmhhbmRsZXJzPy5vbklucHV0Py4oQyk7bGV0IFM9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihrKTtTIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249Uyl9KSxrLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLEM9PntsZXQgUz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGspO1MhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1TKSx0aGlzLmhhbmRsZXJzPy5vbktleURvd24/LihDKX0pLGsuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57dGhpcy5oYW5kbGVycz8ub25Gb2N1cz8uKCl9KSxrLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57dGhpcy5oYW5kbGVycz8ub25CbHVyPy4oKX0pLGsuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9Pnt0aGlzLmhhbmRsZXJzPy5vbkNvbXBvc2l0aW9uU3RhcnQ/LigpfSksay5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9Pnt0aGlzLmhhbmRsZXJzPy5vbkNvbXBvc2l0aW9uRW5kPy4oKX0pLGsuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsQz0+e2xldCBTPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oayk7UyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPVMpLHRoaXMuaGFuZGxlcnM/Lm9uTW91c2VVcD8uKEMpfSksay5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntzZXRUaW1lb3V0KCgpPT57bGV0IEM9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihrKTtDIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249Qyl9LDApfSk7bGV0IFI9KCk9PntsZXQgQz13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIUN8fEMucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBTPUMudG9TdHJpbmcoKTtpZihTLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnt0ZXh0OiIiLGJsb2NrSWQ6dGhpcy5ibG9jay5pZCxoYXNTZWxlY3Rpb246ITF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpO3JldHVybn1sZXQgTz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFPKXJldHVybjtsZXQgTj10aGlzLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHE9W107TiYmcS5wdXNoKE4pLHRoaXMuc2hhZG93Um9vdCYmcS5wdXNoKHRoaXMuc2hhZG93Um9vdCk7bGV0IF89WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5xKTtpZighXylyZXR1cm47bGV0IHo9WWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oTyxfLnN0YXJ0Q29udGFpbmVyKSxFPVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKE8sXy5lbmRDb250YWluZXIpO2lmKHp8fEUpe2lmKFMhPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1TO2xldCBUPVllLmNyZWF0ZVJhbmdlRnJvbUluZm8oXyksTD1ULmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJsb2NrLXRleHQtc2VsZWN0ZWQiLHtkZXRhaWw6e3RleHQ6Uy50cmltKCksYmxvY2tJZDp0aGlzLmJsb2NrLmlkLHJhbmdlOlQscmVjdDpMLGhhc1NlbGVjdGlvbjohMH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDp7dGV4dDoiIixibG9ja0lkOnRoaXMuYmxvY2suaWQsaGFzU2VsZWN0aW9uOiExfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixSKSx0aGlzLl9zZWxlY3Rpb25IYW5kbGVyPVIsay5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsKCk9PntsZXQgQz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGspO0MhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1DKX0pLHRoaXMuYmxvY2suY29udGVudCYmKGsuaW5uZXJIVE1MPXRoaXMuYmxvY2suY29udGVudCl9dGhpcy5ibG9ja0VsZW1lbnQ9a31yZW5kZXIoKXtyZXR1cm4gdGhpcy5ibG9jaz9CNGA8ZGl2IGNsYXNzPSJ3eXNpd3lnLWJsb2NrLWNvbnRhaW5lciI+PC9kaXY+YDpCNGBgfXJlbmRlckJsb2NrQ29udGVudCgpe2lmKCF0aGlzLmJsb2NrKXJldHVybiIiO2xldCB3PU5yLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZih3KXJldHVybiB3LnJlbmRlcih0aGlzLmJsb2NrLHRoaXMuaXNTZWxlY3RlZCk7bGV0IGs9dGhpcy5pc1NlbGVjdGVkPyIgc2VsZWN0ZWQiOiIiO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayAke3RoaXMuYmxvY2sudHlwZX0ke2t9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgPjwvZGl2PgogICAgYH1mb2N1cygpe2xldCB3PU5yLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZih3JiZ3LmZvY3VzKXtsZXQgUj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpLEM9e3NoYWRvd1Jvb3Q6dGhpcy5zaGFkb3dSb290LGNvbXBvbmVudDp0aGlzfTtyZXR1cm4gdy5mb2N1cyhSLEMpfWlmKHRoaXMuYmxvY2smJnkuTk9OX0VESVRBQkxFX1RZUEVTLmluY2x1ZGVzKHRoaXMuYmxvY2sudHlwZSkpe2xldCBSPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLmJsb2NrLiR7dGhpcy5ibG9jay50eXBlfWApO1ImJlIuZm9jdXMoKTtyZXR1cm59bGV0IGs9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtrJiYoay5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxrLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLGsuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ayYmdGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09ayYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2suZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3Iodz0iZW5kIil7bGV0IGs9TnIuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKGsmJmsuZm9jdXNXaXRoQ3Vyc29yKXtsZXQgUz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpLE89e3NoYWRvd1Jvb3Q6dGhpcy5zaGFkb3dSb290LGNvbXBvbmVudDp0aGlzfTtyZXR1cm4gay5mb2N1c1dpdGhDdXJzb3IoUyx3LE8pfWlmKHRoaXMuYmxvY2smJnkuTk9OX0VESVRBQkxFX1RZUEVTLmluY2x1ZGVzKHRoaXMuYmxvY2sudHlwZSkpe3RoaXMuZm9jdXMoKTtyZXR1cm59bGV0IFI9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighUilyZXR1cm47Ui5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxSLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLFIuZm9jdXMoKTtsZXQgQz0oKT0+e3c9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydCgpOnc9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKCk6dHlwZW9mIHc9PSJudW1iZXIiJiZZZS5zZXRDdXJzb3JQb3NpdGlvbihSLHcpfTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09Unx8dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09Uj9DKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+eyhkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09Unx8dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09UikmJkMoKX0pfWdldEN1cnNvclBvc2l0aW9uKHcpe2xldCBrPU5yLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihrJiZrLmdldEN1cnNvclBvc2l0aW9uKXtsZXQgcT17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLmdldEN1cnNvclBvc2l0aW9uKHcscSl9bGV0IEM9dGhpcy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxTPVtdO0MmJlMucHVzaChDKSx0aGlzLnNoYWRvd1Jvb3QmJlMucHVzaCh0aGlzLnNoYWRvd1Jvb3QpO2xldCBPPVllLmdldFNlbGVjdGlvbkluZm8oLi4uUyk7aWYoY29uc29sZS5sb2coImdldEN1cnNvclBvc2l0aW9uOiBTZWxlY3Rpb24gaW5mbyBmcm9tIHNoYWRvdyBET01zOiIse3NlbGVjdGlvbkluZm86TyxzaGFkb3dSb290c0NvdW50OlMubGVuZ3RofSksIU8pcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRDdXJzb3JQb3NpdGlvbjogTm8gc2VsZWN0aW9uIGZvdW5kIiksbnVsbDtpZihjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IFJhbmdlIGluZm86Iix7c3RhcnRDb250YWluZXI6Ty5zdGFydENvbnRhaW5lcixzdGFydE9mZnNldDpPLnN0YXJ0T2Zmc2V0LGNvbGxhcHNlZDpPLmNvbGxhcHNlZCxzdGFydENvbnRhaW5lclRleHQ6Ty5zdGFydENvbnRhaW5lci50ZXh0Q29udGVudH0pLCF3LmNvbnRhaW5zKE8uc3RhcnRDb250YWluZXIpKXJldHVybiBjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IFJhbmdlIG5vdCBpbiBlbGVtZW50IiksbnVsbDtsZXQgRD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO0Quc2VsZWN0Tm9kZUNvbnRlbnRzKHcpLEQuc2V0RW5kKE8uc3RhcnRDb250YWluZXIsTy5zdGFydE9mZnNldCk7bGV0IE49RC50b1N0cmluZygpLmxlbmd0aDtyZXR1cm4gY29uc29sZS5sb2coImdldEN1cnNvclBvc2l0aW9uOiBDYWxjdWxhdGVkIHBvc2l0aW9uOiIse3Bvc2l0aW9uOk4scHJlQ2FyZXRUZXh0OkQudG9TdHJpbmcoKSxlbGVtZW50VGV4dDp3LnRleHRDb250ZW50LGVsZW1lbnRUZXh0TGVuZ3RoOncudGV4dENvbnRlbnQ/Lmxlbmd0aH0pLE59Z2V0Q29udGVudCgpe2xldCB3PU5yLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZih3JiZ3LmdldENvbnRlbnQpe2xldCBDPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksUz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiB3LmdldENvbnRlbnQoQyxTKX1sZXQgaz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFrKXJldHVybiIiO2xldCBSPWsuaW5uZXJIVE1MfHwiIjtyZXR1cm4gY29uc29sZS5sb2coIkdldHRpbmcgY29udGVudCBmcm9tIGJsb2NrOiIsUiksUn1zZXRDb250ZW50KHcpe2xldCBrPU5yLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihrJiZrLnNldENvbnRlbnQpe2xldCBTPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksTz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLnNldENvbnRlbnQoUyx3LE8pfWxldCBSPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIVIpcmV0dXJuO2xldCBDPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1SfHx0aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1SO1IuaW5uZXJIVE1MPXcsQyYmUi5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQoKXtsZXQgdz1Oci5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYodyYmdy5zZXRDdXJzb3JUb1N0YXJ0KXtsZXQgUj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpLEM9e3NoYWRvd1Jvb3Q6dGhpcy5zaGFkb3dSb290LGNvbXBvbmVudDp0aGlzfTtyZXR1cm4gdy5zZXRDdXJzb3JUb1N0YXJ0KFIsQyl9bGV0IGs9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtrJiZybi5zZXRDdXJzb3JUb1N0YXJ0KGspfXNldEN1cnNvclRvRW5kKCl7bGV0IHc9TnIuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKHcmJncuc2V0Q3Vyc29yVG9FbmQpe2xldCBSPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksQz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiB3LnNldEN1cnNvclRvRW5kKFIsQyl9bGV0IGs9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtrJiZybi5zZXRDdXJzb3JUb0VuZChrKX1nZXRDb250ZXh0TWVudUl0ZW1zKCl7aWYoIXRoaXMuYmxvY2t8fHRoaXMuYmxvY2sudHlwZT09PSJkaXZpZGVyIilyZXR1cm5bXTtsZXQgdz1aYS5nZXRTbGFzaE1lbnVJdGVtcygpLGs9dGhpcy5ibG9jay50eXBlLFI9dGhpcy53eXNpd3lnQ29tcG9uZW50LEM9dGhpcy5ibG9jay5pZCxPPVt7bmFtZToiQ2hhbmdlIFR5cGUiLGljb25OYW1lOiJ0eXBlIixzdWJtZW51OncuZmlsdGVyKEQ9PkQudHlwZSE9PWsmJkQudHlwZSE9PSJkaXZpZGVyIikubWFwKEQ9Pih7bmFtZTpELmxhYmVsLGljb25OYW1lOkQuaWNvbi5yZXBsYWNlKCJsdWNpZGU6IiwiIiksYWN0aW9uOmFzeW5jKCk9PntpZihSJiZSLmJsb2NrT3BlcmF0aW9ucyl7bGV0IE49Ui5ibG9ja3MuZmluZChxPT5xLmlkPT09Qyk7TiYmKE4udHlwZT1ELnR5cGUsTi5jb250ZW50PU4uY29udGVudHx8IiIsRC50eXBlPT09ImNvZGUiP04ubWV0YWRhdGE9e2xhbmd1YWdlOiJ0eXBlc2NyaXB0In06RC50eXBlPT09Imxpc3QiP04ubWV0YWRhdGE9e2xpc3RUeXBlOiJidWxsZXQifTpELnR5cGU9PT0iaW1hZ2UiPyhOLmNvbnRlbnQ9IiIsTi5tZXRhZGF0YT17dXJsOiIiLGxvYWRpbmc6ITF9KTpELnR5cGU9PT0ieW91dHViZSI/KE4uY29udGVudD0iIixOLm1ldGFkYXRhPXt2aWRlb0lkOiIiLHVybDoiIn0pOkQudHlwZT09PSJtYXJrZG93biI/Ti5tZXRhZGF0YT17c2hvd1ByZXZpZXc6ITF9OkQudHlwZT09PSJodG1sIj9OLm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06RC50eXBlPT09ImF0dGFjaG1lbnQiJiYoTi5jb250ZW50PSIiLE4ubWV0YWRhdGE9e2ZpbGVzOltdfSksUi51cGRhdGVCbG9ja0VsZW1lbnQoQyksUi51cGRhdGVWYWx1ZSgpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e1IuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soQyl9KSl9fX0pKX1dO3JldHVyblsiaW1hZ2UiLCJkaXZpZGVyIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0aGlzLmJsb2NrLnR5cGUpfHxPLnB1c2goe2RpdmlkZXI6ITB9LHtuYW1lOiJDdXQiLGljb25OYW1lOiJzY2lzc29ycyIsc2hvcnRjdXQ6IkNtZCtYIixhY3Rpb246YXN5bmMoKT0+e2RvY3VtZW50LmV4ZWNDb21tYW5kKCJjdXQiKX19LHtuYW1lOiJDb3B5IixpY29uTmFtZToiY29weSIsc2hvcnRjdXQ6IkNtZCtDIixhY3Rpb246YXN5bmMoKT0+e2RvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5Iil9fSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLHNob3J0Y3V0OiJDbWQrViIsYWN0aW9uOmFzeW5jKCk9Pntkb2N1bWVudC5leGVjQ29tbWFuZCgicGFzdGUiKX19KSxPLnB1c2goe2RpdmlkZXI6ITB9LHtuYW1lOiJEZWxldGUgQmxvY2siLGljb25OYW1lOiJ0cmFzaDIiLGFjdGlvbjphc3luYygpPT57UiYmUi5ibG9ja09wZXJhdGlvbnMmJlIuYmxvY2tPcGVyYXRpb25zLmRlbGV0ZUJsb2NrKEMpfX0pLE99Z2V0U3BsaXRDb250ZW50KCl7Y29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU3RhcnRpbmcuLi4iKTtsZXQgdz1Oci5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogQ2hlY2tpbmcgZm9yIGhhbmRsZXIiLHtibG9ja1R5cGU6dGhpcy5ibG9jay50eXBlLGhhc0hhbmRsZXI6ISF3LGhhc1NwbGl0TWV0aG9kOiEhKHcmJncuZ2V0U3BsaXRDb250ZW50KX0pLHcmJncuZ2V0U3BsaXRDb250ZW50KXtsZXQgVj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpO2NvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEZvdW5kIGNvbnRhaW5lciIse2NvbnRhaW5lcjohIVYsY29udGFpbmVySFRNTDpWPy5pbm5lckhUTUw/LnN1YnN0cmluZygwLDEwMCl9KTtsZXQgQj17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiB3LmdldFNwbGl0Q29udGVudChWLEIpfWxldCBrPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIWspcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IE5vIGVkaXRhYmxlIGVsZW1lbnQgZm91bmQiKSxudWxsO2NvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEVsZW1lbnQgaW5mbzoiLHtibG9ja1R5cGU6dGhpcy5ibG9jay50eXBlLGlubmVySFRNTDprLmlubmVySFRNTCx0ZXh0Q29udGVudDprLnRleHRDb250ZW50LHRleHRMZW5ndGg6ay50ZXh0Q29udGVudD8ubGVuZ3RofSk7bGV0IEM9dGhpcy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxTPVtdO0MmJlMucHVzaChDKSx0aGlzLnNoYWRvd1Jvb3QmJlMucHVzaCh0aGlzLnNoYWRvd1Jvb3QpO2xldCBPPVllLmdldFNlbGVjdGlvbkluZm8oLi4uUyk7aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU2VsZWN0aW9uIGluZm8gZnJvbSBzaGFkb3cgRE9NczoiLHtzZWxlY3Rpb25JbmZvOk8sc2hhZG93Um9vdHNDb3VudDpTLmxlbmd0aH0pLCFPKXtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBObyBzZWxlY3Rpb24sIHVzaW5nIGxhc3Qga25vd24gcG9zaXRpb246Iix0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uKSx0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IFY9ay50ZXh0Q29udGVudHx8IiIsQj1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLFYubGVuZ3RoKTtyZXR1cm4gY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU3BsaXR0aW5nIHdpdGggbGFzdCBrbm93biBwb3NpdGlvbjoiLHtwb3M6QixmdWxsVGV4dExlbmd0aDpWLmxlbmd0aCxiZWZvcmU6Vi5zdWJzdHJpbmcoMCxCKSxhZnRlcjpWLnN1YnN0cmluZyhCKX0pLHtiZWZvcmU6Vi5zdWJzdHJpbmcoMCxCKSxhZnRlcjpWLnN1YnN0cmluZyhCKX19cmV0dXJuIG51bGx9aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU2VsZWN0aW9uIHJhbmdlOiIse3N0YXJ0Q29udGFpbmVyOk8uc3RhcnRDb250YWluZXIsc3RhcnRPZmZzZXQ6Ty5zdGFydE9mZnNldCxzdGFydENvbnRhaW5lckluRWxlbWVudDprLmNvbnRhaW5zKE8uc3RhcnRDb250YWluZXIpfSksIVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGssTy5zdGFydENvbnRhaW5lcikpe2lmKGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IFNlbGVjdGlvbiBub3QgaW4gdGhpcyBibG9jaywgdXNpbmcgbGFzdCBrbm93biBwb3NpdGlvbjoiLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24pLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgVj1rLnRleHRDb250ZW50fHwiIixCPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24sVi5sZW5ndGgpO3JldHVybntiZWZvcmU6Vi5zdWJzdHJpbmcoMCxCKSxhZnRlcjpWLnN1YnN0cmluZyhCKX19cmV0dXJuIG51bGx9bGV0IEQ9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihrKTtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBDdXJzb3IgcG9zaXRpb24gZm9yIEhUTUwgc3BsaXQ6IixEKSxEPT09bnVsbHx8RD09PTApcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEN1cnNvciBhdCBzdGFydCBvciBudWxsLCBtb3ZpbmcgYWxsIGNvbnRlbnQiKSx7YmVmb3JlOiIiLGFmdGVyOmsuaW5uZXJIVE1MfTtsZXQgTj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLHE9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtOLnNldFN0YXJ0KGssMCksTi5zZXRFbmQoTy5zdGFydENvbnRhaW5lcixPLnN0YXJ0T2Zmc2V0KSxxLnNldFN0YXJ0KE8uc3RhcnRDb250YWluZXIsTy5zdGFydE9mZnNldCkscS5zZXRFbmQoayxrLmNoaWxkTm9kZXMubGVuZ3RoKTtsZXQgXz1OLmNsb25lQ29udGVudHMoKSx6PXEuY2xvbmVDb250ZW50cygpLEU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7RS5hcHBlbmRDaGlsZChfKTtsZXQgVD1FLmlubmVySFRNTDtFLmlubmVySFRNTD0iIixFLmFwcGVuZENoaWxkKHopO2xldCBMPUUuaW5uZXJIVE1MO3JldHVybiBjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBGaW5hbCBzcGxpdCByZXN1bHQ6Iix7Y3Vyc29yUG9zOkQsYmVmb3JlSHRtbDpULGJlZm9yZUxlbmd0aDpULmxlbmd0aCxiZWZvcmVIdG1sUHJldmlldzpULnN1YnN0cmluZygwLDEwMCkrKFQubGVuZ3RoPjEwMD8iLi4uIjoiIiksYWZ0ZXJIdG1sOkwsYWZ0ZXJMZW5ndGg6TC5sZW5ndGgsYWZ0ZXJIdG1sUHJldmlldzpMLnN1YnN0cmluZygwLDEwMCkrKEwubGVuZ3RoPjEwMD8iLi4uIjoiIil9KSx7YmVmb3JlOlQsYWZ0ZXI6TH19c3RhdGlje0ZjKGEscil9fTtyZXR1cm4geT1hfSkoKX0pO3ZhciBxNmU9ZigoKT0+e2o2ZSgpO0QxKCk7TGYoKTtSRigpO3QzcigpO0Y2ZSgpO2N1KCk7STZlKCk7cGwoKTtOYygpO082ZSgpO0I2ZSgpO2czcigpO2IzcigpO3YzcigpO0g2ZSgpO3gzcigpO0U2ZSgpO1A2ZSgpO3czcigpfSk7dmFyIHIzLGExLFY2ZSxqNmU9ZigoKT0+e1NhKCk7ZTNyKCk7WjYoKTt1ZSgpO3E2ZSgpO1FlKCk7cjM9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxhMT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sVjZlPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1pbnB1dC13eXNpd3lnIildLHQscj1bXSxhLGk9bnQsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W107dmFyIHE9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W3NlKCldLHY9W3NlKCldLHk9W3NlKCldLFI9W3NlKCldLE89W3NlKCldLHIzKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJ2YWx1ZSJpbiB6LGdldDp6PT56LnZhbHVlLHNldDooeixFKT0+e3oudmFsdWU9RX19LG1ldGFkYXRhOl99LHMsbykscjModGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdXRwdXRGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJvdXRwdXRGb3JtYXQiaW4geixnZXQ6ej0+ei5vdXRwdXRGb3JtYXQsc2V0Oih6LEUpPT57ei5vdXRwdXRGb3JtYXQ9RX19LG1ldGFkYXRhOl99LGwsdSkscjModGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJibG9ja3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJibG9ja3MiaW4geixnZXQ6ej0+ei5ibG9ja3Msc2V0Oih6LEUpPT57ei5ibG9ja3M9RX19LG1ldGFkYXRhOl99LGgsbSkscjModGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnZ2VkQmxvY2tJZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+ImRyYWdnZWRCbG9ja0lkImluIHosZ2V0Ono9PnouZHJhZ2dlZEJsb2NrSWQsc2V0Oih6LEUpPT57ei5kcmFnZ2VkQmxvY2tJZD1FfX0sbWV0YWRhdGE6X30sYixnKSxyMyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdPdmVyQmxvY2tJZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+ImRyYWdPdmVyQmxvY2tJZCJpbiB6LGdldDp6PT56LmRyYWdPdmVyQmxvY2tJZCxzZXQ6KHosRSk9Pnt6LmRyYWdPdmVyQmxvY2tJZD1FfX0sbWV0YWRhdGE6X30sdyxrKSxyMyh0aGlzLG51bGwsUix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdPdmVyUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJkcmFnT3ZlclBvc2l0aW9uImluIHosZ2V0Ono9PnouZHJhZ092ZXJQb3NpdGlvbixzZXQ6KHosRSk9Pnt6LmRyYWdPdmVyUG9zaXRpb249RX19LG1ldGFkYXRhOl99LEMsUykscjModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJzZWxlY3RlZFRleHQiaW4geixnZXQ6ej0+ei5zZWxlY3RlZFRleHQsc2V0Oih6LEUpPT57ei5zZWxlY3RlZFRleHQ9RX19LG1ldGFkYXRhOl99LEQsTikscjMobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6X30sbnVsbCxyKSxxPWE9dC52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1LNHI7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCIsIldvcmtzcGFjZSJdOyNlPWExKHRoaXMscywiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKF8pe3RoaXMuI2U9X30jdD0oYTEodGhpcyxvKSxhMSh0aGlzLGwsImh0bWwiKSk7Z2V0IG91dHB1dEZvcm1hdCgpe3JldHVybiB0aGlzLiN0fXNldCBvdXRwdXRGb3JtYXQoXyl7dGhpcy4jdD1ffSNyPShhMSh0aGlzLHUpLGExKHRoaXMsaCxbe2lkOlphLmdlbmVyYXRlQmxvY2tJZCgpLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiIn1dKSk7Z2V0IGJsb2Nrcygpe3JldHVybiB0aGlzLiNyfXNldCBibG9ja3MoXyl7dGhpcy4jcj1ffXNlbGVjdGVkQmxvY2tJZD0oYTEodGhpcyxtKSxudWxsKTtzbGFzaE1lbnU9TkYuZ2V0SW5zdGFuY2UoKTsjYT1hMSh0aGlzLGIsbnVsbCk7Z2V0IGRyYWdnZWRCbG9ja0lkKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGRyYWdnZWRCbG9ja0lkKF8pe3RoaXMuI2E9X30jaT0oYTEodGhpcyxnKSxhMSh0aGlzLHcsbnVsbCkpO2dldCBkcmFnT3ZlckJsb2NrSWQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgZHJhZ092ZXJCbG9ja0lkKF8pe3RoaXMuI2k9X30jbj0oYTEodGhpcyxrKSxhMSh0aGlzLEMsbnVsbCkpO2dldCBkcmFnT3ZlclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI259c2V0IGRyYWdPdmVyUG9zaXRpb24oXyl7dGhpcy4jbj1ffWZvcm1hdHRpbmdNZW51PShhMSh0aGlzLFMpLE9GLmdldEluc3RhbmNlKCkpOyNzPWExKHRoaXMsRCwiIik7Z2V0IHNlbGVjdGVkVGV4dCgpe3JldHVybiB0aGlzLiNzfXNldCBzZWxlY3RlZFRleHQoXyl7dGhpcy4jcz1ffWVkaXRvckNvbnRlbnRSZWY9YTEodGhpcyxOKTtpc0NvbXBvc2luZz0hMTtibG9ja09wZXJhdGlvbnM7aW5wdXRIYW5kbGVyO2tleWJvYXJkSGFuZGxlcjtkcmFnRHJvcEhhbmRsZXI7aGlzdG9yeTtzdGF0aWMgc3R5bGVzPVtEZSwuLi5udC5iYXNlU3R5bGVzLHAuZGVmYXVsdFN0eWxlcyxONmVdO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmJsb2NrT3BlcmF0aW9ucz1uZXcgVmIodGhpcyksdGhpcy5pbnB1dEhhbmRsZXI9bmV3IHJ2KHRoaXMpLHRoaXMua2V5Ym9hcmRIYW5kbGVyPW5ldyBhdih0aGlzKSx0aGlzLmRyYWdEcm9wSGFuZGxlcj1uZXcgaXYodGhpcyksdGhpcy5oaXN0b3J5PW5ldyBudn1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaW5wdXRIYW5kbGVyPy5kZXN0cm95KCksdGhpcy5ibHVyVGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLmJsdXJUaW1lb3V0KSx0aGlzLmJsdXJUaW1lb3V0PW51bGwpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2lmKHRoaXMudmFsdWUmJnRoaXMudmFsdWUudHJpbSgpLmxlbmd0aD4wKXtsZXQgXz10aGlzLm91dHB1dEZvcm1hdD09PSJodG1sIj9Wcy5wYXJzZUh0bWxUb0Jsb2Nrcyh0aGlzLnZhbHVlKTpWcy5wYXJzZU1hcmtkb3duVG9CbG9ja3ModGhpcy52YWx1ZSk7Xy5sZW5ndGg+MCYmKHRoaXMuYmxvY2tzPV8pfXRoaXMudXBkYXRlVmFsdWUoKSx0aGlzLmVkaXRvckNvbnRlbnRSZWY9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItY29udGVudCIpLHRoaXMuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5lZGl0b3JDb250ZW50UmVmLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixfPT50aGlzLmhhbmRsZUVkaXRvckNsaWNrKF8pKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrLXRleHQtc2VsZWN0ZWQiLF89PntpZighdGhpcy5zbGFzaE1lbnUudmlzaWJsZSYmXy5kZXRhaWwuaGFzU2VsZWN0aW9uJiZfLmRldGFpbC50ZXh0Lmxlbmd0aD4wJiYodGhpcy5zZWxlY3RlZFRleHQ9Xy5kZXRhaWwudGV4dCxfLmRldGFpbC5yZWN0KSl7bGV0IHo9e3g6Xy5kZXRhaWwucmVjdC5sZWZ0K18uZGV0YWlsLnJlY3Qud2lkdGgvMix5Ok1hdGgubWF4KDQ1LF8uZGV0YWlsLnJlY3QudG9wLTQ1KX07dGhpcy5mb3JtYXR0aW5nTWVudS5zaG93KHosYXN5bmMgRT0+YXdhaXQgdGhpcy5hcHBseUZvcm1hdChFKSl9fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixfPT57bGV0IHo9dGhpcy5mb3JtYXR0aW5nTWVudS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZm9ybWF0dGluZy1tZW51Iik7aWYoeiYmei5jb250YWlucyhfLnRhcmdldCkpcmV0dXJuO2xldCBFPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtFJiZFLnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aD4wfHx0aGlzLmZvcm1hdHRpbmdNZW51LnZpc2libGUmJnRoaXMuaGlkZUZvcm1hdHRpbmdNZW51KCl9KSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLF89PntsZXQgej1fLnRhcmdldDshdGhpcy5jb250YWlucyh6KSYmIXRoaXMuc2hhZG93Um9vdD8uY29udGFpbnMoeil8fCgoXy5tZXRhS2V5fHxfLmN0cmxLZXkpJiYhXy5zaGlmdEtleSYmXy5rZXk9PT0ieiI/KF8ucHJldmVudERlZmF1bHQoKSx0aGlzLnVuZG8oKSk6KF8ubWV0YUtleXx8Xy5jdHJsS2V5KSYmXy5zaGlmdEtleSYmXy5rZXk9PT0ieiImJihfLnByZXZlbnREZWZhdWx0KCksdGhpcy5yZWRvKCkpKX0pLHRoaXMuaGlzdG9yeS5zYXZlU3RhdGUodGhpcy5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQpLHRoaXMucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpfXJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKXt0aGlzLmVkaXRvckNvbnRlbnRSZWYmJih0aGlzLmVkaXRvckNvbnRlbnRSZWYuaW5uZXJIVE1MPSIiLHRoaXMuYmxvY2tzLmZvckVhY2goXz0+e2xldCB6PXRoaXMuY3JlYXRlQmxvY2tFbGVtZW50KF8pO3RoaXMuZWRpdG9yQ29udGVudFJlZi5hcHBlbmRDaGlsZCh6KX0pKX1jcmVhdGVCbG9ja0VsZW1lbnQoXyl7bGV0IHo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoei5jbGFzc05hbWU9ImJsb2NrLXdyYXBwZXIiLHouc2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIixfLmlkKSxfLnR5cGUhPT0iZGl2aWRlciIpe2xldCBUPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO1QuY2xhc3NOYW1lPSJkcmFnLWhhbmRsZSIsVC5kcmFnZ2FibGU9ITAsVC5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLEw9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdTdGFydChMLF8pKSx6LmFwcGVuZENoaWxkKFQpfWxldCBFPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRlZXMtd3lzaXd5Zy1ibG9jayIpO3JldHVybiBFLmJsb2NrPV8sRS5pc1NlbGVjdGVkPXRoaXMuc2VsZWN0ZWRCbG9ja0lkPT09Xy5pZCxFLnd5c2l3eWdDb21wb25lbnQ9dGhpcyxFLmhhbmRsZXJzPXtvbklucHV0OlQ9PnRoaXMuaW5wdXRIYW5kbGVyLmhhbmRsZUJsb2NrSW5wdXQoVCxfKSxvbktleURvd246VD0+dGhpcy5rZXlib2FyZEhhbmRsZXIuaGFuZGxlQmxvY2tLZXlEb3duKFQsXyksb25Gb2N1czooKT0+dGhpcy5oYW5kbGVCbG9ja0ZvY3VzKF8pLG9uQmx1cjooKT0+dGhpcy5oYW5kbGVCbG9ja0JsdXIoXyksb25Db21wb3NpdGlvblN0YXJ0OigpPT50aGlzLmlzQ29tcG9zaW5nPSEwLG9uQ29tcG9zaXRpb25FbmQ6KCk9PnRoaXMuaXNDb21wb3Npbmc9ITEsb25Nb3VzZVVwOlQ9PnRoaXMuaGFuZGxlVGV4dFNlbGVjdGlvbihUKSxvblJlcXVlc3RVcGRhdGU6KCk9PnRoaXMudXBkYXRlQmxvY2tFbGVtZW50KF8uaWQpfSx6LmFwcGVuZENoaWxkKEUpLHouYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLFQ9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdPdmVyKFQsXykpLHouYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsVD0+dGhpcy5kcmFnRHJvcEhhbmRsZXIuaGFuZGxlRHJvcChULF8pKSx6LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsKCk9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdMZWF2ZShfKSksen11cGRhdGVCbG9ja0VsZW1lbnQoXyl7bGV0IHo9dGhpcy5ibG9ja3MuZmluZChMPT5MLmlkPT09Xyk7aWYoIXopcmV0dXJuO2xldCBFPXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtffSJdYCk7aWYoIUUpcmV0dXJuO2xldCBUPXRoaXMuY3JlYXRlQmxvY2tFbGVtZW50KHopO0UucmVwbGFjZVdpdGgoVCl9cmVuZGVyKCl7cmV0dXJuIEI0YAogICAgICA8ZGVlcy1sYWJlbAogICAgICAgIC5sYWJlbD0iJHt0aGlzLmxhYmVsfSIKICAgICAgICAuZGVzY3JpcHRpb249IiR7dGhpcy5kZXNjcmlwdGlvbn0iCiAgICAgICAgLnJlcXVpcmVkPSIke3RoaXMucmVxdWlyZWR9IgogICAgICA+PC9kZWVzLWxhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJ3eXNpd3lnLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiAKICAgICAgICAgIGNsYXNzPSJlZGl0b3ItY29udGVudCAke3RoaXMuZHJhZ2dlZEJsb2NrSWQ/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICBpZD0iZWRpdG9yLWNvbnRlbnQiCiAgICAgICAgPgogICAgICAgICAgPCEtLSBCbG9ja3Mgd2lsbCBiZSByZW5kZXJlZCBwcm9ncmFtbWF0aWNhbGx5IC0tPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU2xhc2hNZW51S2V5Ym9hcmQoXyl7c3dpdGNoKF8ua2V5KXtjYXNlIkFycm93RG93biI6Xy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2xhc2hNZW51Lm5hdmlnYXRlKCJkb3duIik7YnJlYWs7Y2FzZSJBcnJvd1VwIjpfLnByZXZlbnREZWZhdWx0KCksdGhpcy5zbGFzaE1lbnUubmF2aWdhdGUoInVwIik7YnJlYWs7Y2FzZSJFbnRlciI6Xy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2xhc2hNZW51LnNlbGVjdEN1cnJlbnQoKTticmVhaztjYXNlIkVzY2FwZSI6Xy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xvc2VTbGFzaE1lbnUoITApO2JyZWFrfX1jbG9zZVNsYXNoTWVudShfPSExKXtpZihfJiZ0aGlzLnNlbGVjdGVkQmxvY2tJZCl7bGV0IHo9dGhpcy5ibG9ja3MuZmluZChFPT5FLmlkPT09dGhpcy5zZWxlY3RlZEJsb2NrSWQpO2lmKHope2xldCBUPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt6LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKFQpe2xldCBMPVQuZ2V0Q29udGVudCgpO2lmKEwuc3RhcnRzV2l0aCgiLyIpKXtsZXQgVj1MLnJlcGxhY2UoL15cL1teXHNdKlxzKi8sIiIpLnRyaW0oKTtULnNldENvbnRlbnQoViksei5jb250ZW50PVYscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57VC5mb2N1c1dpdGhDdXJzb3IoMCl9KX19fX10aGlzLnNsYXNoTWVudS5oaWRlKCl9aGFuZGxlQmxvY2tGb2N1cyhfKXt0aGlzLmJsdXJUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpLHRoaXMuYmx1clRpbWVvdXQ9bnVsbCk7bGV0IHo9dGhpcy5zZWxlY3RlZEJsb2NrSWQ7aWYodGhpcy5zZWxlY3RlZEJsb2NrSWQ9Xy5pZCx6IT09Xy5pZCl7aWYoeil7bGV0IFY9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt6fSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO1YmJihWLmlzU2VsZWN0ZWQ9ITEpfWxldCBUPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Xy5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtUJiYoVC5pc1NlbGVjdGVkPSEwKX19Ymx1clRpbWVvdXQ9bnVsbDtoYW5kbGVCbG9ja0JsdXIoXyl7aWYodGhpcy5ibHVyVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpLHRoaXMuc2xhc2hNZW51LnZpc2libGUpcmV0dXJuO2xldCBFPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Xy5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihFJiZFLmdldENvbnRlbnQpe2xldCBUPUUuZ2V0Q29udGVudCgpO18uY29udGVudCE9PVQmJihfLmNvbnRlbnQ9VCl9dGhpcy5ibHVyVGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoImJsb2NrIil8fHRoaXMudXBkYXRlVmFsdWUoKX0sMTAwKX1oYW5kbGVFZGl0b3JDbGljayhfKXtsZXQgej1fLnRhcmdldDtpZih0aGlzLnNsYXNoTWVudS52aXNpYmxlJiZ0aGlzLmNsb3NlU2xhc2hNZW51KCEwKSx6LmNsYXNzTGlzdC5jb250YWlucygiZWRpdG9yLWNvbnRlbnQiKSl7bGV0IEU9dGhpcy5ibG9ja3NbdGhpcy5ibG9ja3MubGVuZ3RoLTFdO3RoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soRS5pZCxFLnR5cGU9PT0iZGl2aWRlciJ8fEUudHlwZT09PSJpbWFnZSI/dm9pZCAwOiJlbmQiKX19Y3JlYXRlTmV3QmxvY2soXz0icGFyYWdyYXBoIix6PSIiLEUpe3JldHVybntpZDpaYS5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOl8sY29udGVudDp6LC4uLkUmJnttZXRhZGF0YTpFfX19YXN5bmMgaW5zZXJ0QmxvY2tBZnRlcihfLHosRT0hMCl7bGV0IFQ9dGhpcy5ibG9ja3MuZmluZEluZGV4KFY9PlYuaWQ9PT1fLmlkKTt0aGlzLmJsb2Nrcz1bLi4udGhpcy5ibG9ja3Muc2xpY2UoMCxUKzEpLHosLi4udGhpcy5ibG9ja3Muc2xpY2UoVCsxKV07bGV0IEw9dGhpcy5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke18uaWR9Il1gKTtpZihMKXtsZXQgVj10aGlzLmNyZWF0ZUJsb2NrRWxlbWVudCh6KTtMLmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJlbmQiLFYpfXRoaXMudXBkYXRlVmFsdWUoKSxFJiZ6LnR5cGUhPT0iZGl2aWRlciImJihhd2FpdCBuZXcgUHJvbWlzZShWPT5zZXRUaW1lb3V0KFYsMCkpLGF3YWl0IHRoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soei5pZCwic3RhcnQiKSl9YXN5bmMgaW5zZXJ0QmxvY2soXyl7bGV0IHo9dGhpcy5ibG9ja3MuZmluZChMPT5MLmlkPT09dGhpcy5zZWxlY3RlZEJsb2NrSWQpO2lmKCF6KXt0aGlzLmNsb3NlU2xhc2hNZW51KCk7cmV0dXJufWxldCBUPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt6LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKFQpe2xldCBMPVQuZ2V0Q29udGVudCgpO2lmKEwuc3RhcnRzV2l0aCgiLyIpKXtsZXQgVj1MLnJlcGxhY2UoL15cL1teXHNdKlxzKi8sIiIpLnRyaW0oKTtULnNldENvbnRlbnQoViksei5jb250ZW50PVZ9fWlmKHRoaXMuY2xvc2VTbGFzaE1lbnUoITEpLF89PT0iY29kZSImJih6Lm1ldGFkYXRhPXtsYW5ndWFnZToidHlwZXNjcmlwdCJ9KSx6LnR5cGU9Xyx6LmNvbnRlbnQ9ei5jb250ZW50fHwiIixfPT09ImRpdmlkZXIiKXt6LmNvbnRlbnQ9IiAiO2xldCBMPXRoaXMuY3JlYXRlTmV3QmxvY2soKTt0aGlzLmluc2VydEJsb2NrQWZ0ZXIoeixMKX1lbHNlIF89PT0ibGlzdCI/KHoubWV0YWRhdGE9e2xpc3RUeXBlOiJidWxsZXQifSx6LmNvbnRlbnQ9IiIpOl89PT0iaW1hZ2UiPyh6LmNvbnRlbnQ9IiIsei5tZXRhZGF0YT17dXJsOiIiLGxvYWRpbmc6ITF9KTpfPT09InlvdXR1YmUiPyh6LmNvbnRlbnQ9IiIsei5tZXRhZGF0YT17dmlkZW9JZDoiIix1cmw6IiJ9KTpfPT09Im1hcmtkb3duIj96Lm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06Xz09PSJodG1sIj96Lm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06Xz09PSJhdHRhY2htZW50Ij8oei5jb250ZW50PSIiLHoubWV0YWRhdGE9e2ZpbGVzOltdfSk6ei5jb250ZW50PXouY29udGVudHx8IiI7dGhpcy51cGRhdGVCbG9ja0VsZW1lbnQoei5pZCksdGhpcy51cGRhdGVWYWx1ZSgpLGF3YWl0IG5ldyBQcm9taXNlKEw9PnNldFRpbWVvdXQoTCwwKSksXz09PSJsaXN0Ij8odGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayh6LmlkLCJzdGFydCIpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2xldCBWPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ei5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtWJiZWLmZvY3VzTGlzdEl0ZW0oKX0pKTpfIT09ImRpdmlkZXIiJiZfIT09ImltYWdlIiYmXyE9PSJ5b3V0dWJlIiYmXyE9PSJtYXJrZG93biImJl8hPT0iaHRtbCImJl8hPT0iYXR0YWNobWVudCI/dGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayh6LmlkLCJzdGFydCIpOihfPT09ImltYWdlInx8Xz09PSJ5b3V0dWJlInx8Xz09PSJtYXJrZG93biJ8fF89PT0iaHRtbCJ8fF89PT0iYXR0YWNobWVudCIpJiZ0aGlzLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKHouaWQpfXVwZGF0ZVZhbHVlKCl7dGhpcy5vdXRwdXRGb3JtYXQ9PT0iaHRtbCI/dGhpcy52YWx1ZT1Wcy5nZXRIdG1sT3V0cHV0KHRoaXMuYmxvY2tzKTp0aGlzLnZhbHVlPVZzLmdldE1hcmtkb3duT3V0cHV0KHRoaXMuYmxvY2tzKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzLnZhbHVlKSx0aGlzLnNhdmVUb0hpc3RvcnkoITApfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoXyl7dGhpcy52YWx1ZT1fLHRoaXMub3V0cHV0Rm9ybWF0PT09Imh0bWwiP3RoaXMuYmxvY2tzPVZzLnBhcnNlSHRtbFRvQmxvY2tzKF8pOnRoaXMuYmxvY2tzPVZzLnBhcnNlTWFya2Rvd25Ub0Jsb2NrcyhfKSx0aGlzLmJsb2Nrcy5sZW5ndGg9PT0wJiYodGhpcy5ibG9ja3M9W3tpZDpaYS5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IiJ9XSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcy52YWx1ZSksdGhpcy5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKX1leHBvcnRCbG9ja3MoKXtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmJsb2NrcykpfWltcG9ydEJsb2NrcyhfKXt0aGlzLmJsb2Nrcz1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KF8pKSx0aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKX1leHBvcnRBc0h0bWwoKXtyZXR1cm4gVnMuZ2V0SHRtbE91dHB1dCh0aGlzLmJsb2Nrcyl9ZXhwb3J0QXNNYXJrZG93bigpe3JldHVybiBWcy5nZXRNYXJrZG93bk91dHB1dCh0aGlzLmJsb2Nrcyl9ZXhwb3J0U3RhdGUoKXtyZXR1cm57YmxvY2tzOnRoaXMuZXhwb3J0QmxvY2tzKCksb3V0cHV0Rm9ybWF0OnRoaXMub3V0cHV0Rm9ybWF0fX1pbXBvcnRTdGF0ZShfKXtfLm91dHB1dEZvcm1hdCYmKHRoaXMub3V0cHV0Rm9ybWF0PV8ub3V0cHV0Rm9ybWF0KSx0aGlzLmltcG9ydEJsb2NrcyhfLmJsb2Nrcyl9aGFuZGxlRHJhZ0VuZCgpe2lmKHRoaXMuZHJhZ2dlZEJsb2NrSWQpe2xldCB6PXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0aGlzLmRyYWdnZWRCbG9ja0lkfSJdYCk7eiYmei5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpfXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpLmZvckVhY2goej0+e3ouY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyLWJlZm9yZSIsImRyYWctb3Zlci1hZnRlciIpfSksdGhpcy5lZGl0b3JDb250ZW50UmVmLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5kcmFnZ2VkQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPW51bGx9aGFuZGxlRHJvcChfLHope2lmKF8ucHJldmVudERlZmF1bHQoKSwhdGhpcy5kcmFnZ2VkQmxvY2tJZHx8dGhpcy5kcmFnZ2VkQmxvY2tJZD09PXouaWQpcmV0dXJuO2xldCBFPXRoaXMuYmxvY2tzLmZpbmRJbmRleChCPT5CLmlkPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCksVD10aGlzLmJsb2Nrcy5maW5kSW5kZXgoQj0+Qi5pZD09PXouaWQpO2lmKEU9PT0tMXx8VD09PS0xKXJldHVybjtsZXRbTF09dGhpcy5ibG9ja3Muc3BsaWNlKEUsMSksVj1UO3RoaXMuZHJhZ092ZXJQb3NpdGlvbj09PSJhZnRlciI/Vj1FPFQ/VDpUKzE6Vj1FPFQ/VC0xOlQsdGhpcy5ibG9ja3Muc3BsaWNlKFYsMCxMKSx0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKSx0aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5oYW5kbGVEcmFnRW5kKCksc2V0VGltZW91dCgoKT0+e2xldCBCPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtMLmlkfSJdIC5ibG9ja2ApO0ImJkwudHlwZSE9PSJkaXZpZGVyIiYmQi5mb2N1cygpfSwxMDApfWhhbmRsZVRleHRTZWxlY3Rpb24oXyl7dGhpcy5zbGFzaE1lbnUudmlzaWJsZX11cGRhdGVGb3JtYXR0aW5nTWVudVBvc2l0aW9uKCl7bGV0IF89W107dGhpcy5zaGFkb3dSb290JiZfLnB1c2godGhpcy5zaGFkb3dSb290KSx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIik/LmZvckVhY2goVD0+e2xldCBMPVQucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7TD8uc2hhZG93Um9vdCYmXy5wdXNoKEwuc2hhZG93Um9vdCl9KTtsZXQgRT1QYy5nZXRTZWxlY3Rpb25Db29yZGluYXRlcyguLi5fKTtFJiZ0aGlzLmZvcm1hdHRpbmdNZW51LnNob3coe3g6RS54LHk6RS55fSxhc3luYyBUPT5hd2FpdCB0aGlzLmFwcGx5Rm9ybWF0KFQpKX1oaWRlRm9ybWF0dGluZ01lbnUoKXt0aGlzLmZvcm1hdHRpbmdNZW51LmhpZGUoKSx0aGlzLnNlbGVjdGVkVGV4dD0iIn1hc3luYyBhcHBseUZvcm1hdChfKXtsZXQgej1bXTt0aGlzLnNoYWRvd1Jvb3QmJnoucHVzaCh0aGlzLnNoYWRvd1Jvb3QpLHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKT8uZm9yRWFjaChLPT57bGV0IEk9Sy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtJPy5zaGFkb3dSb290JiZ6LnB1c2goSS5zaGFkb3dSb290KX0pO2xldCBUPVllLmdldFNlbGVjdGlvbkluZm8oLi4ueik7aWYoIVQpcmV0dXJuO2xldCBMLFYsQj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKTtmb3IobGV0IEs9MDtLPEIubGVuZ3RoO0srKyl7bGV0IEk9QltLXSx2ZT1JLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKHZlPy5zaGFkb3dSb290KXtsZXQgTWU9dmUuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZihNZSYmKE1lLmNvbnRhaW5zKFQuc3RhcnRDb250YWluZXIpfHxNZS5jb250YWlucyhULmVuZENvbnRhaW5lcikpKXtsZXQgUD1JLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO0w9dGhpcy5ibG9ja3MuZmluZChsZT0+bGUuaWQ9PT1QKSxWPXZlO2JyZWFrfX19aWYoIUx8fCFWKXJldHVybjtsZXQgVT1ZZS5jcmVhdGVSYW5nZUZyb21JbmZvKFQpO2lmKF89PT0ibGluayIpe2xldCBLPWF3YWl0IHRoaXMuc2hvd0xpbmtEaWFsb2coKTtpZighSyl7Vi5mb2N1cygpO3JldHVybn1QYy5hcHBseUZvcm1hdChfLEssVSx6KX1lbHNlIFBjLmFwcGx5Rm9ybWF0KF8sdm9pZCAwLFUseik7YXdhaXQgbmV3IFByb21pc2UoSz0+c2V0VGltZW91dChLLDEwKSksTC5jb250ZW50PVYuZ2V0Q29udGVudCgpLHRoaXMudXBkYXRlVmFsdWUoKSxWLmZvY3VzKCksXz09PSJsaW5rIj90aGlzLmhpZGVGb3JtYXR0aW5nTWVudSgpOnRoaXMuc2VsZWN0ZWRUZXh0PSIifWFzeW5jIHNob3dMaW5rRGlhbG9nKCl7cmV0dXJuIG5ldyBQcm9taXNlKF89PntsZXQgej1udWxsO0dyLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkFkZCBMaW5rIixjb250ZW50OkI0YAogICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAubGluay1pbnB1dCB7CiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1saW5lLWJyaWdodCk7CiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaW5wdXQpOwogICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQpOwogICAgICAgICAgICAgIG1hcmdpbjogMTZweCAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5saW5rLWlucHV0OmZvY3VzIHsKICAgICAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1wcmltYXJ5KTsKICAgICAgICAgICAgfQogICAgICAgICAgPC9zdHlsZT4KICAgICAgICAgIDxpbnB1dCAKICAgICAgICAgICAgY2xhc3M9ImxpbmstaW5wdXQiIAogICAgICAgICAgICB0eXBlPSJ1cmwiIAogICAgICAgICAgICBwbGFjZWhvbGRlcj0iaHR0cHM6Ly9leGFtcGxlLmNvbSIgCiAgICAgICAgICAgIEBrZXlkb3duPSIke0U9PntpZihFLmtleT09PSJFbnRlciIpe2xldCBUPUUudGFyZ2V0O3o9VC52YWx1ZTtsZXQgTD1ULmNsb3Nlc3QoImRlZXMtbW9kYWwiKTtpZihMKXtsZXQgVj1MLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ib3R0b21CdXR0b246bGFzdC1jaGlsZCIpO1YmJlYuY2xpY2soKX19fX0iCiAgICAgICAgICAgIEBpbnB1dD0iJHtFPT57ej1FLnRhcmdldC52YWx1ZX19IgogICAgICAgICAgLz4KICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246YXN5bmMgRT0+e0UuZGVzdHJveSgpLF8obnVsbCl9fSx7bmFtZToiQWRkIExpbmsiLGFjdGlvbjphc3luYyBFPT57RS5kZXN0cm95KCksXyh6KX19XX0pLHNldFRpbWVvdXQoKCk9PntsZXQgRT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZWVzLW1vZGFsIC5saW5rLWlucHV0Iik7RSYmRS5mb2N1cygpfSwxMDApfSl9dW5kbygpe2xldCBfPXRoaXMuaGlzdG9yeS51bmRvKCk7XyYmdGhpcy5yZXN0b3JlU3RhdGUoXyl9cmVkbygpe2xldCBfPXRoaXMuaGlzdG9yeS5yZWRvKCk7XyYmdGhpcy5yZXN0b3JlU3RhdGUoXyl9cmVzdG9yZVN0YXRlKF8pe3RoaXMuYmxvY2tzPV8uYmxvY2tzLHRoaXMuc2VsZWN0ZWRCbG9ja0lkPV8uc2VsZWN0ZWRCbG9ja0lkLHRoaXMucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpLF8uY3Vyc29yUG9zaXRpb24/c2V0VGltZW91dCgoKT0+e2xldCBFPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Xy5jdXJzb3JQb3NpdGlvbi5ibG9ja0lkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO0UmJkUuZm9jdXNXaXRoQ3Vyc29yKF8uY3Vyc29yUG9zaXRpb24ub2Zmc2V0KX0sNTApOl8uc2VsZWN0ZWRCbG9ja0lkJiZzZXRUaW1lb3V0KCgpPT57dGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhfLnNlbGVjdGVkQmxvY2tJZCl9LDUwKSx0aGlzLnVwZGF0ZVZhbHVlKCl9c2F2ZVRvSGlzdG9yeShfPSEwKXtsZXQgejtpZih0aGlzLnNlbGVjdGVkQmxvY2tJZCl7bGV0IFQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0aGlzLnNlbGVjdGVkQmxvY2tJZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihUJiZ0eXBlb2YgVC5nZXRDdXJzb3JQb3NpdGlvbj09ImZ1bmN0aW9uIil7bGV0IEw9VC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZihMKXtsZXQgVj1ULmdldEN1cnNvclBvc2l0aW9uKEwpO1YhPT1udWxsJiYoej17YmxvY2tJZDp0aGlzLnNlbGVjdGVkQmxvY2tJZCxvZmZzZXQ6Vn0pfX19Xz90aGlzLmhpc3Rvcnkuc2F2ZVN0YXRlKHRoaXMuYmxvY2tzLHRoaXMuc2VsZWN0ZWRCbG9ja0lkLHopOnRoaXMuaGlzdG9yeS5zYXZlQ2hlY2twb2ludCh0aGlzLmJsb2Nrcyx0aGlzLnNlbGVjdGVkQmxvY2tJZCx6KX1zdGF0aWN7YTEoYSxyKX19O3JldHVybiBxPWF9KSgpfSk7dmFyIE0zcj1mKCgpPT57ajZlKCk7cTZlKCl9KTt2YXIgQkYsazNyPWYoKCk9PntCRj1jbGFzc3tvcHRpb25zO2NhbnZhcztjdHg7aW1nO292ZXJsYXlDYW52YXM7b3ZlcmxheUN0eDtjcm9wWD0wO2Nyb3BZPTA7Y3JvcFNpemU9MjAwO21pbkNyb3BTaXplPTUwO2lzRHJhZ2dpbmc9ITE7aXNSZXNpemluZz0hMTtkcmFnU3RhcnRYPTA7ZHJhZ1N0YXJ0WT0wO3Jlc2l6ZUhhbmRsZT0iIjtpbWFnZVNjYWxlPTE7aW1hZ2VPZmZzZXRYPTA7aW1hZ2VPZmZzZXRZPTA7Y29uc3RydWN0b3IodCl7dGhpcy5vcHRpb25zPXttaW5TaXplOjUwLG91dHB1dFNpemU6ODAwLG91dHB1dFF1YWxpdHk6Ljk1LC4uLnR9LHRoaXMuY2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHRoaXMuY3R4PXRoaXMuY2FudmFzLmdldENvbnRleHQoIjJkIiksdGhpcy5vdmVybGF5Q2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHRoaXMub3ZlcmxheUN0eD10aGlzLm92ZXJsYXlDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSx0aGlzLmltZz1uZXcgSW1hZ2V9YXN5bmMgaW5pdGlhbGl6ZSgpe2F3YWl0IHRoaXMubG9hZEltYWdlKCksdGhpcy5zZXR1cENhbnZhc2VzKCksdGhpcy5zZXR1cEV2ZW50TGlzdGVuZXJzKCksdGhpcy5yZW5kZXIoKX1hc3luYyBsb2FkSW1hZ2UoKXtyZXR1cm4gbmV3IFByb21pc2UoKHQscik9Pnt0aGlzLmltZy5vbmxvYWQ9KCk9PnQoKSx0aGlzLmltZy5vbmVycm9yPXIsdGhpcy5pbWcuc3JjPXRoaXMub3B0aW9ucy5pbWFnZX0pfXNldHVwQ2FudmFzZXMoKXtsZXQgdD10aGlzLm9wdGlvbnMuY29udGFpbmVyLHI9TWF0aC5taW4odC5jbGllbnRXaWR0aCx0LmNsaWVudEhlaWdodCk7dGhpcy5jYW52YXMud2lkdGg9cix0aGlzLmNhbnZhcy5oZWlnaHQ9cix0aGlzLmNhbnZhcy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5jYW52YXMuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLmNhbnZhcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMuY2FudmFzLnN0eWxlLnRvcD0iMCIsdGhpcy5jYW52YXMuc3R5bGUubGVmdD0iMCIsdGhpcy5vdmVybGF5Q2FudmFzLndpZHRoPXIsdGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodD1yLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmhlaWdodD0iMTAwJSIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLnRvcD0iMCIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmxlZnQ9IjAiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5jdXJzb3I9Im1vdmUiLHQuYXBwZW5kQ2hpbGQodGhpcy5jYW52YXMpLHQuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5Q2FudmFzKTtsZXQgYT1NYXRoLm1pbihyL3RoaXMuaW1nLndpZHRoLHIvdGhpcy5pbWcuaGVpZ2h0KTt0aGlzLmltYWdlU2NhbGU9YSx0aGlzLmltYWdlT2Zmc2V0WD0oci10aGlzLmltZy53aWR0aCphKS8yLHRoaXMuaW1hZ2VPZmZzZXRZPShyLXRoaXMuaW1nLmhlaWdodCphKS8yO2xldCBpPXRoaXMuaW1nLndpZHRoKmEsbj10aGlzLmltZy5oZWlnaHQqYSxzPU1hdGgubWluKGksbixyKi44KTt0aGlzLmNyb3BTaXplPXMqLjgsdGhpcy5jcm9wWD0oci10aGlzLmNyb3BTaXplKS8yLHRoaXMuY3JvcFk9KHItdGhpcy5jcm9wU2l6ZSkvMn1zZXR1cEV2ZW50TGlzdGVuZXJzKCl7dGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5oYW5kbGVNb3VzZURvd24uYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcC5iaW5kKHRoaXMpKSx0aGlzLm92ZXJsYXlDYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5oYW5kbGVNb3VzZVVwLmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLmhhbmRsZVRvdWNoU3RhcnQuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5oYW5kbGVUb3VjaE1vdmUuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLmhhbmRsZVRvdWNoRW5kLmJpbmQodGhpcykpfWhhbmRsZU1vdXNlRG93bih0KXtsZXQgcj10aGlzLm92ZXJsYXlDYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYT0odC5jbGllbnRYLXIubGVmdCkqKHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aC9yLndpZHRoKSxpPSh0LmNsaWVudFktci50b3ApKih0aGlzLm92ZXJsYXlDYW52YXMuaGVpZ2h0L3IuaGVpZ2h0KSxuPXRoaXMuZ2V0UmVzaXplSGFuZGxlKGEsaSk7bj8odGhpcy5pc1Jlc2l6aW5nPSEwLHRoaXMucmVzaXplSGFuZGxlPW4pOnRoaXMuaXNJbnNpZGVDcm9wQXJlYShhLGkpJiYodGhpcy5pc0RyYWdnaW5nPSEwKSx0aGlzLmRyYWdTdGFydFg9YSx0aGlzLmRyYWdTdGFydFk9aX1oYW5kbGVNb3VzZU1vdmUodCl7bGV0IHI9dGhpcy5vdmVybGF5Q2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9KHQuY2xpZW50WC1yLmxlZnQpKih0aGlzLm92ZXJsYXlDYW52YXMud2lkdGgvci53aWR0aCksaT0odC5jbGllbnRZLXIudG9wKSoodGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodC9yLmhlaWdodCksbj10aGlzLmdldFJlc2l6ZUhhbmRsZShhLGkpO2lmKG4/dGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmN1cnNvcj10aGlzLmdldFJlc2l6ZUN1cnNvcihuKTp0aGlzLmlzSW5zaWRlQ3JvcEFyZWEoYSxpKT90aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUuY3Vyc29yPSJtb3ZlIjp0aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUuY3Vyc29yPSJkZWZhdWx0Iix0aGlzLmlzRHJhZ2dpbmcpe2xldCBzPWEtdGhpcy5kcmFnU3RhcnRYLG89aS10aGlzLmRyYWdTdGFydFksYz10aGlzLmltYWdlT2Zmc2V0WCxsPXRoaXMuaW1hZ2VPZmZzZXRYK3RoaXMuaW1nLndpZHRoKnRoaXMuaW1hZ2VTY2FsZS10aGlzLmNyb3BTaXplLHU9dGhpcy5pbWFnZU9mZnNldFksZD10aGlzLmltYWdlT2Zmc2V0WSt0aGlzLmltZy5oZWlnaHQqdGhpcy5pbWFnZVNjYWxlLXRoaXMuY3JvcFNpemU7dGhpcy5jcm9wWD1NYXRoLm1heChjLE1hdGgubWluKGwsdGhpcy5jcm9wWCtzKSksdGhpcy5jcm9wWT1NYXRoLm1heCh1LE1hdGgubWluKGQsdGhpcy5jcm9wWStvKSksdGhpcy5kcmFnU3RhcnRYPWEsdGhpcy5kcmFnU3RhcnRZPWksdGhpcy5yZW5kZXIoKX10aGlzLmlzUmVzaXppbmcmJih0aGlzLmhhbmRsZVJlc2l6ZShhLGkpLHRoaXMuZHJhZ1N0YXJ0WD1hLHRoaXMuZHJhZ1N0YXJ0WT1pLHRoaXMucmVuZGVyKCkpfWhhbmRsZU1vdXNlVXAoKXt0aGlzLmlzRHJhZ2dpbmc9ITEsdGhpcy5pc1Jlc2l6aW5nPSExLHRoaXMucmVzaXplSGFuZGxlPSIifWhhbmRsZVRvdWNoU3RhcnQodCl7dC5wcmV2ZW50RGVmYXVsdCgpO2xldCByPXQudG91Y2hlc1swXSxhPW5ldyBNb3VzZUV2ZW50KCJtb3VzZWRvd24iLHtjbGllbnRYOnIuY2xpZW50WCxjbGllbnRZOnIuY2xpZW50WX0pO3RoaXMuaGFuZGxlTW91c2VEb3duKGEpfWhhbmRsZVRvdWNoTW92ZSh0KXt0LnByZXZlbnREZWZhdWx0KCk7bGV0IHI9dC50b3VjaGVzWzBdLGE9bmV3IE1vdXNlRXZlbnQoIm1vdXNlbW92ZSIse2NsaWVudFg6ci5jbGllbnRYLGNsaWVudFk6ci5jbGllbnRZfSk7dGhpcy5oYW5kbGVNb3VzZU1vdmUoYSl9aGFuZGxlVG91Y2hFbmQodCl7dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlTW91c2VVcCgpfWdldFJlc2l6ZUhhbmRsZSh0LHIpe2xldCBpPXtudzp7eDp0aGlzLmNyb3BYLHk6dGhpcy5jcm9wWX0sbmU6e3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWX0sc3c6e3g6dGhpcy5jcm9wWCx5OnRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZX0sc2U6e3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfX07Zm9yKGxldFtuLHNdb2YgT2JqZWN0LmVudHJpZXMoaSkpaWYoTWF0aC5hYnModC1zLngpPDIwJiZNYXRoLmFicyhyLXMueSk8MjApcmV0dXJuIG47cmV0dXJuIiJ9Z2V0UmVzaXplQ3Vyc29yKHQpe3JldHVybntudzoibnctcmVzaXplIixuZToibmUtcmVzaXplIixzdzoic3ctcmVzaXplIixzZToic2UtcmVzaXplIn1bdF18fCJkZWZhdWx0In1pc0luc2lkZUNyb3BBcmVhKHQscil7cmV0dXJuIHQ+PXRoaXMuY3JvcFgmJnQ8PXRoaXMuY3JvcFgrdGhpcy5jcm9wU2l6ZSYmcj49dGhpcy5jcm9wWSYmcjw9dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfWhhbmRsZVJlc2l6ZSh0LHIpe2xldCBhPXQtdGhpcy5kcmFnU3RhcnRYLGk9ci10aGlzLmRyYWdTdGFydFksbj10aGlzLmltYWdlT2Zmc2V0WCxzPXRoaXMuaW1hZ2VPZmZzZXRZLG89dGhpcy5pbWFnZU9mZnNldFgrdGhpcy5pbWcud2lkdGgqdGhpcy5pbWFnZVNjYWxlLGM9dGhpcy5pbWFnZU9mZnNldFkrdGhpcy5pbWcuaGVpZ2h0KnRoaXMuaW1hZ2VTY2FsZTtzd2l0Y2godGhpcy5yZXNpemVIYW5kbGUpe2Nhc2Uic2UiOnRoaXMuY3JvcFNpemU9TWF0aC5tYXgodGhpcy5taW5Dcm9wU2l6ZSxNYXRoLm1pbih0aGlzLmNyb3BTaXplK01hdGgubWF4KGEsaSksTWF0aC5taW4oby10aGlzLmNyb3BYLGMtdGhpcy5jcm9wWSkpKTticmVhaztjYXNlIm53IjpsZXQgbD1NYXRoLm1heCh0aGlzLm1pbkNyb3BTaXplLHRoaXMuY3JvcFNpemUtTWF0aC5tYXgoYSxpKSksdT10aGlzLmNyb3BTaXplLWwsZD10aGlzLmNyb3BYK3UsaD10aGlzLmNyb3BZK3U7ZD49biYmaD49cyYmKHRoaXMuY3JvcFg9ZCx0aGlzLmNyb3BZPWgsdGhpcy5jcm9wU2l6ZT1sKTticmVhaztjYXNlIm5lIjpsZXQgbT1NYXRoLm1heChhLC1pKSx2PU1hdGgubWF4KHRoaXMubWluQ3JvcFNpemUsdGhpcy5jcm9wU2l6ZSttKSxiPXYtdGhpcy5jcm9wU2l6ZSxnPXRoaXMuY3JvcFktYjtnPj1zJiZ0aGlzLmNyb3BYK3Y8PW8mJih0aGlzLmNyb3BZPWcsdGhpcy5jcm9wU2l6ZT12KTticmVhaztjYXNlInN3IjpsZXQgeT1NYXRoLm1heCgtYSxpKSx3PU1hdGgubWF4KHRoaXMubWluQ3JvcFNpemUsdGhpcy5jcm9wU2l6ZSt5KSxrPXctdGhpcy5jcm9wU2l6ZSxSPXRoaXMuY3JvcFgtaztSPj1uJiZ0aGlzLmNyb3BZK3c8PWMmJih0aGlzLmNyb3BYPVIsdGhpcy5jcm9wU2l6ZT13KTticmVha319cmVuZGVyKCl7dGhpcy5jdHguY2xlYXJSZWN0KDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLHRoaXMub3ZlcmxheUN0eC5jbGVhclJlY3QoMCwwLHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aCx0aGlzLm92ZXJsYXlDYW52YXMuaGVpZ2h0KSx0aGlzLmN0eC5maWxsU3R5bGU9IiMwMDAwMDAiLHRoaXMuY3R4LmZpbGxSZWN0KDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLHRoaXMuY3R4LmRyYXdJbWFnZSh0aGlzLmltZyx0aGlzLmltYWdlT2Zmc2V0WCx0aGlzLmltYWdlT2Zmc2V0WSx0aGlzLmltZy53aWR0aCp0aGlzLmltYWdlU2NhbGUsdGhpcy5pbWcuaGVpZ2h0KnRoaXMuaW1hZ2VTY2FsZSksdGhpcy5vdmVybGF5Q3R4LmZpbGxTdHlsZT0icmdiYSgwLCAwLCAwLCAwLjUpIix0aGlzLm92ZXJsYXlDdHguZmlsbFJlY3QodGhpcy5pbWFnZU9mZnNldFgsdGhpcy5pbWFnZU9mZnNldFksdGhpcy5pbWcud2lkdGgqdGhpcy5pbWFnZVNjYWxlLHRoaXMuaW1nLmhlaWdodCp0aGlzLmltYWdlU2NhbGUpLHRoaXMub3ZlcmxheUN0eC5zYXZlKCksdGhpcy5vcHRpb25zLnNoYXBlPT09InJvdW5kIj8odGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5hcmModGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wU2l6ZS8yLDAsTWF0aC5QSSoyKSx0aGlzLm92ZXJsYXlDdHguY2xpcCgpKToodGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5yZWN0KHRoaXMuY3JvcFgsdGhpcy5jcm9wWSx0aGlzLmNyb3BTaXplLHRoaXMuY3JvcFNpemUpLHRoaXMub3ZlcmxheUN0eC5jbGlwKCkpLHRoaXMub3ZlcmxheUN0eC5jbGVhclJlY3QoMCwwLHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aCx0aGlzLm92ZXJsYXlDYW52YXMuaGVpZ2h0KSx0aGlzLm92ZXJsYXlDdHgucmVzdG9yZSgpLHRoaXMub3ZlcmxheUN0eC5zdHJva2VTdHlsZT0id2hpdGUiLHRoaXMub3ZlcmxheUN0eC5saW5lV2lkdGg9Mix0aGlzLm9wdGlvbnMuc2hhcGU9PT0icm91bmQiPyh0aGlzLm92ZXJsYXlDdHguYmVnaW5QYXRoKCksdGhpcy5vdmVybGF5Q3R4LmFyYyh0aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUvMix0aGlzLmNyb3BZK3RoaXMuY3JvcFNpemUvMix0aGlzLmNyb3BTaXplLzIsMCxNYXRoLlBJKjIpLHRoaXMub3ZlcmxheUN0eC5zdHJva2UoKSk6dGhpcy5vdmVybGF5Q3R4LnN0cm9rZVJlY3QodGhpcy5jcm9wWCx0aGlzLmNyb3BZLHRoaXMuY3JvcFNpemUsdGhpcy5jcm9wU2l6ZSksdGhpcy5kcmF3UmVzaXplSGFuZGxlcygpfWRyYXdSZXNpemVIYW5kbGVzKCl7bGV0IHI9W3t4OnRoaXMuY3JvcFgseTp0aGlzLmNyb3BZfSx7eDp0aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUseTp0aGlzLmNyb3BZfSx7eDp0aGlzLmNyb3BYLHk6dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfSx7eDp0aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUseTp0aGlzLmNyb3BZK3RoaXMuY3JvcFNpemV9XTt0aGlzLm92ZXJsYXlDdHguZmlsbFN0eWxlPSJ3aGl0ZSIsci5mb3JFYWNoKGE9Pnt0aGlzLm92ZXJsYXlDdHguYmVnaW5QYXRoKCksdGhpcy5vdmVybGF5Q3R4LmFyYyhhLngsYS55LDgsMCxNYXRoLlBJKjIpLHRoaXMub3ZlcmxheUN0eC5maWxsKCl9KX1hc3luYyBnZXRDcm9wcGVkSW1hZ2UoKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxyPXQuZ2V0Q29udGV4dCgiMmQiKSxhPTEvdGhpcy5pbWFnZVNjYWxlLGk9dGhpcy5jcm9wU2l6ZSphLG49dGhpcy5vcHRpb25zLm91dHB1dFNpemU7bj5pJiZjb25zb2xlLmluZm8oYFByb2ZpbGUgcGljdHVyZTogVXBzY2FsaW5nIGZyb20gJHtNYXRoLnJvdW5kKGkpfXB4IHRvICR7bn1weGApLHQud2lkdGg9bix0LmhlaWdodD1uO2xldCBzPSh0aGlzLmNyb3BYLXRoaXMuaW1hZ2VPZmZzZXRYKSphLG89KHRoaXMuY3JvcFktdGhpcy5pbWFnZU9mZnNldFkpKmEsYz10aGlzLmNyb3BTaXplKmE7dGhpcy5vcHRpb25zLnNoYXBlPT09InJvdW5kIiYmKHIuYmVnaW5QYXRoKCksci5hcmMobi8yLG4vMixuLzIsMCxNYXRoLlBJKjIpLHIuY2xpcCgpKSxyLmltYWdlU21vb3RoaW5nRW5hYmxlZD0hMCxyLmltYWdlU21vb3RoaW5nUXVhbGl0eT0iaGlnaCIsci5kcmF3SW1hZ2UodGhpcy5pbWcscyxvLGMsYywwLDAsbixuKTtsZXQgdT10aGlzLm9wdGlvbnMuaW1hZ2UuaW5jbHVkZXMoImltYWdlL3BuZyIpPyJpbWFnZS9wbmciOiJpbWFnZS9qcGVnIjtyZXR1cm4gdC50b0RhdGFVUkwodSx0aGlzLm9wdGlvbnMub3V0cHV0UXVhbGl0eSl9ZGVzdHJveSgpe3RoaXMuY2FudmFzLnJlbW92ZSgpLHRoaXMub3ZlcmxheUNhbnZhcy5yZW1vdmUoKX19fSk7dmFyIGEzLGkxLFU2ZSxTM3I9ZigoKT0+e3VlKCk7QnMoKTtKbigpO2tzKCk7aXIoKTtaNCgpO2tjKCk7a2MoKTtrM3IoKTtRZSgpO2EzPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0saTE9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LFU2ZT0oKCk9PntsZXQgZT1bcmUoImRlZXMtcHJvZmlsZXBpY3R1cmUtbW9kYWwiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXSxSLEM9W10sUz1bXSxPLEQ9W10sTj1bXTt2YXIgcT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpOdW1iZXJ9KV0sdj1bRih7dHlwZTpOdW1iZXJ9KV0seT1bc2UoKV0sUj1bc2UoKV0sTz1bc2UoKV0sYTModGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0aWFsSW1hZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJpbml0aWFsSW1hZ2UiaW4geixnZXQ6ej0+ei5pbml0aWFsSW1hZ2Usc2V0Oih6LEUpPT57ei5pbml0aWFsSW1hZ2U9RX19LG1ldGFkYXRhOl99LHMsbyksYTModGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaGFwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+InNoYXBlImluIHosZ2V0Ono9Pnouc2hhcGUsc2V0Oih6LEUpPT57ei5zaGFwZT1FfX0sbWV0YWRhdGE6X30sbCx1KSxhMyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dFNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJvdXRwdXRTaXplImluIHosZ2V0Ono9Pnoub3V0cHV0U2l6ZSxzZXQ6KHosRSk9Pnt6Lm91dHB1dFNpemU9RX19LG1ldGFkYXRhOl99LGgsbSksYTModGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdXRwdXRRdWFsaXR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4ib3V0cHV0UXVhbGl0eSJpbiB6LGdldDp6PT56Lm91dHB1dFF1YWxpdHksc2V0Oih6LEUpPT57ei5vdXRwdXRRdWFsaXR5PUV9fSxtZXRhZGF0YTpffSxiLGcpLGEzKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFN0ZXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJjdXJyZW50U3RlcCJpbiB6LGdldDp6PT56LmN1cnJlbnRTdGVwLHNldDooeixFKT0+e3ouY3VycmVudFN0ZXA9RX19LG1ldGFkYXRhOl99LHcsayksYTModGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjcm9wcGVkSW1hZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJjcm9wcGVkSW1hZ2UiaW4geixnZXQ6ej0+ei5jcm9wcGVkSW1hZ2Usc2V0Oih6LEUpPT57ei5jcm9wcGVkSW1hZ2U9RX19LG1ldGFkYXRhOl99LEMsUyksYTModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1Byb2Nlc3NpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJpc1Byb2Nlc3NpbmciaW4geixnZXQ6ej0+ei5pc1Byb2Nlc3Npbmcsc2V0Oih6LEUpPT57ei5pc1Byb2Nlc3Npbmc9RX19LG1ldGFkYXRhOl99LEQsTiksYTMobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6X30sbnVsbCxyKSxxPWE9dC52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX0jZT1pMSh0aGlzLHMsIiIpO2dldCBpbml0aWFsSW1hZ2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaW5pdGlhbEltYWdlKF8pe3RoaXMuI2U9X30jdD0oaTEodGhpcyxvKSxpMSh0aGlzLGwsInJvdW5kIikpO2dldCBzaGFwZSgpe3JldHVybiB0aGlzLiN0fXNldCBzaGFwZShfKXt0aGlzLiN0PV99I3I9KGkxKHRoaXMsdSksaTEodGhpcyxoLDgwMCkpO2dldCBvdXRwdXRTaXplKCl7cmV0dXJuIHRoaXMuI3J9c2V0IG91dHB1dFNpemUoXyl7dGhpcy4jcj1ffSNhPShpMSh0aGlzLG0pLGkxKHRoaXMsYiwuOTUpKTtnZXQgb3V0cHV0UXVhbGl0eSgpe3JldHVybiB0aGlzLiNhfXNldCBvdXRwdXRRdWFsaXR5KF8pe3RoaXMuI2E9X30jaT0oaTEodGhpcyxnKSxpMSh0aGlzLHcsImNyb3AiKSk7Z2V0IGN1cnJlbnRTdGVwKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGN1cnJlbnRTdGVwKF8pe3RoaXMuI2k9X30jbj0oaTEodGhpcyxrKSxpMSh0aGlzLEMsIiIpKTtnZXQgY3JvcHBlZEltYWdlKCl7cmV0dXJuIHRoaXMuI259c2V0IGNyb3BwZWRJbWFnZShfKXt0aGlzLiNuPV99I3M9KGkxKHRoaXMsUyksaTEodGhpcyxELCExKSk7Z2V0IGlzUHJvY2Vzc2luZygpe3JldHVybiB0aGlzLiNzfXNldCBpc1Byb2Nlc3NpbmcoXyl7dGhpcy4jcz1ffWNyb3BwZXI9KGkxKHRoaXMsTiksbnVsbCk7d2luZG93TGF5ZXI7ekluZGV4PTA7c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogJHtJcn07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4KTsKICAgICAgfQoKICAgICAgLm1vZGFsLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMGEwYTBhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7cC5iZFRoZW1lKCIwIDIwcHggMjVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAxMHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMDQpIiwiMCAyMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTBweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIHdpZHRoOiA0ODBweDsKICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCkgc2NhbGUoMC45OCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBhbmltYXRpb246IG1vZGFsU2hvdyAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIGZvcndhcmRzOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIG1vZGFsU2hvdyB7CiAgICAgICAgdG8gewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDEpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1vZGFsLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiA1MnB4OwogICAgICAgIHBhZGRpbmc6IDAgMjBweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tb2RhbC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLmNsb3NlLWJ1dHRvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAxMHB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jbG9zZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2xvc2UtYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAubW9kYWwtYm9keSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAyMHB4OwogICAgICB9CgogICAgICAuY3JvcHBlci1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogMzYwcHg7CiAgICAgICAgYXNwZWN0LXJhdGlvOiAxOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzAwMDAwMCIsIiMwMDAwMDAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJveC1zaGFkb3c6ICR7cC5iZFRoZW1lKCJpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA2KSIsImluc2V0IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAyMHB4OwogICAgICB9CgogICAgICAucHJldmlldy1pbWFnZSB7CiAgICAgICAgd2lkdGg6IDE4MHB4OwogICAgICAgIGhlaWdodDogMTgwcHg7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7cC5iZFRoZW1lKCIwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCA0cHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjA1KSIsIjAgMTBweCAxNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDRweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWltYWdlLnJvdW5kIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWltYWdlLnNxdWFyZSB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDsKICAgICAgfQoKICAgICAgLnN1Y2Nlc3MtbWVzc2FnZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxMGI5ODEiLCIjMTBiOTgxIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBhbmltYXRpb246IHN1Y2Nlc3NQdWxzZSAwLjRzIGVhc2Utb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHN1Y2Nlc3NQdWxzZSB7CiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IG9wYWNpdHk6IDA7IH0KICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9CiAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IG9wYWNpdHk6IDE7IH0KICAgICAgfQoKICAgICAgLm1vZGFsLWZvb3RlciB7CiAgICAgICAgcGFkZGluZzogMjBweCAyNHB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmluc3RydWN0aW9ucyB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDsKICAgICAgfQoKICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IHNwaW4gMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5tb2RhbC1jb250YWluZXIgewogICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTsKICAgICAgICAgIG1hcmdpbjogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm1vZGFsLWJvZHkgewogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLndpbmRvd0xheWVyPWF3YWl0IE9zLmNyZWF0ZUFuZFNob3coe2JsdXI6ITB9KSx0aGlzLndpbmRvd0xheWVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+dGhpcy5jbG9zZSgpKSx0aGlzLnpJbmRleD1yYS5nZXROZXh0WkluZGV4KCksdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS16LWluZGV4Iix0aGlzLnpJbmRleC50b1N0cmluZygpKSxyYS5yZWdpc3Rlcih0aGlzLHRoaXMuekluZGV4KX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jcm9wcGVyJiZ0aGlzLmNyb3BwZXIuZGVzdHJveSgpLHRoaXMud2luZG93TGF5ZXImJmF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLHJhLnVucmVnaXN0ZXIodGhpcyl9cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRhaW5lciIgQGNsaWNrPSR7Xz0+Xy5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KICAgICAgICAgIDxoMyBjbGFzcz0ibW9kYWwtdGl0bGUiPgogICAgICAgICAgICAke3RoaXMuY3VycmVudFN0ZXA9PT0iY3JvcCI/IkFkanVzdCBJbWFnZSI6IlN1Y2Nlc3MifQogICAgICAgICAgPC9oMz4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNsb3NlLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5jbG9zZX0gdGl0bGU9IkNsb3NlIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6eCIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgogICAgICAgICAgJHt0aGlzLmN1cnJlbnRTdGVwPT09ImNyb3AiP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imluc3RydWN0aW9ucyI+CiAgICAgICAgICAgICAgUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgc3F1YXJlIHRvIHNlbGVjdCB5b3VyIHByb2ZpbGUgYXJlYQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3JvcHBlci1jb250YWluZXIiIGlkPSJjcm9wcGVyQ29udGFpbmVyIj48L2Rpdj4KICAgICAgICAgIGA6TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgICAgICAgICR7dGhpcy5pc1Byb2Nlc3Npbmc/TWAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnN0cnVjdGlvbnMiPlNhdmluZy4uLjwvZGl2PgogICAgICAgICAgICAgIGA6TWAKICAgICAgICAgICAgICAgIDxpbWcgCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcmV2aWV3LWltYWdlICR7dGhpcy5zaGFwZX0iIAogICAgICAgICAgICAgICAgICBzcmM9IiR7dGhpcy5jcm9wcGVkSW1hZ2V9IiAKICAgICAgICAgICAgICAgICAgYWx0PSJDcm9wcGVkIHByZXZpZXciCiAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VjY2Vzcy1tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Y2hlY2siIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDxzcGFuPkxvb2tpbmcgZ29vZCE8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4KICAgICAgICAgICR7dGhpcy5jdXJyZW50U3RlcD09PSJjcm9wIj9NYAogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiIHNpemU9InNtIiBAY2xpY2s9JHt0aGlzLmNsb3NlfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlZmF1bHQiIHNpemU9InNtIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUNyb3B9PgogICAgICAgICAgICAgIFNhdmUKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLmN1cnJlbnRTdGVwPT09ImNyb3AiJiZhd2FpdCB0aGlzLmluaXRpYWxpemVDcm9wcGVyKCl9YXN5bmMgaW5pdGlhbGl6ZUNyb3BwZXIoKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO2xldCBfPXRoaXMuc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgiY3JvcHBlckNvbnRhaW5lciIpO18mJih0aGlzLmNyb3BwZXI9bmV3IEJGKHtjb250YWluZXI6XyxpbWFnZTp0aGlzLmluaXRpYWxJbWFnZSxzaGFwZTp0aGlzLnNoYXBlLGFzcGVjdFJhdGlvOjEsb3V0cHV0U2l6ZTp0aGlzLm91dHB1dFNpemUsb3V0cHV0UXVhbGl0eTp0aGlzLm91dHB1dFF1YWxpdHl9KSxhd2FpdCB0aGlzLmNyb3BwZXIuaW5pdGlhbGl6ZSgpKX1hc3luYyBoYW5kbGVDcm9wKCl7aWYodGhpcy5jcm9wcGVyKXRyeXt0aGlzLmlzUHJvY2Vzc2luZz0hMCx0aGlzLmN1cnJlbnRTdGVwPSJwcmV2aWV3Iixhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO2xldCBfPWF3YWl0IHRoaXMuY3JvcHBlci5nZXRDcm9wcGVkSW1hZ2UoKTt0aGlzLmNyb3BwZWRJbWFnZT1fLGF3YWl0IG5ldyBQcm9taXNlKHo9PnNldFRpbWVvdXQoeiw4MDApKSx0aGlzLmlzUHJvY2Vzc2luZz0hMSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzYXZlIix7ZGV0YWlsOntjcm9wcGVkSW1hZ2U6dGhpcy5jcm9wcGVkSW1hZ2V9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksc2V0VGltZW91dCgoKT0+e3RoaXMuY2xvc2UoKX0sMTUwMCl9Y2F0Y2goXyl7Y29uc29sZS5lcnJvcigiRXJyb3IgY3JvcHBpbmcgaW1hZ2U6IixfKSx0aGlzLmlzUHJvY2Vzc2luZz0hMX19Y2xvc2UoKXt0aGlzLnJlbW92ZSgpfXN0YXRpY3tpMShhLHIpfX07cmV0dXJuIHE9YX0pKCl9KTt2YXIgejNyLEMzcj1mKCgpPT57dWUoKTtoYSgpO09pKCk7VzZlKCk7ejNyPSgpPT5NYAogIDxzdHlsZT4KICAgICR7SmAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDQ4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICAgIAogICAgICAuZmVhdHVyZS1saXN0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgfQogICAgICAKICAgICAgLmZlYXR1cmUtbGlzdCBsaSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZVtzaGFwZT0icm91bmQiXScpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixyPT57bGV0IGE9ci50YXJnZXQ7Y29uc29sZS5sb2coIlJvdW5kIHByb2ZpbGUgcGljdHVyZSBjaGFuZ2VkOiIsYS52YWx1ZT8uc3Vic3RyaW5nKDAsNTApKyIuLi4iKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJQcm9maWxlIFBpY3R1cmUgSW5wdXQifSAuc3VidGl0bGU9JHsiQmFzaWMgdXNhZ2Ugd2l0aCByb3VuZCBhbmQgc3F1YXJlIHNoYXBlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJQcm9maWxlIFBpY3R1cmUgKFJvdW5kKSIKICAgICAgICAgICAgZGVzY3JpcHRpb249IkNsaWNrIHRvIHVwbG9hZCBvciBkcmFnICYgZHJvcCBhbiBpbWFnZSIKICAgICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgICBzaXplPSIxMjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iUHJvZmlsZSBQaWN0dXJlIChTcXVhcmUpIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iU3VwcG9ydHMgSlBFRywgUE5HLCBhbmQgV2ViUCBmb3JtYXRzIgogICAgICAgICAgICBzaGFwZT0ic3F1YXJlIgogICAgICAgICAgICBzaXplPSIxMjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2UucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZSIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhPT57bGV0IGk9YS50YXJnZXQ7Y29uc29sZS5sb2coYFByb2ZpbGUgKHNpemUgJHtpLnNpemV9KSBjaGFuZ2VkYCl9KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTaXplIFZhcmlhdGlvbnMifSAuc3VidGl0bGU9JHsiUHJvZmlsZSBwaWN0dXJlcyBpbiBkaWZmZXJlbnQgc2l6ZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iU21hbGwgKDgwcHgpIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIHNpemU9IjgwIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgICAgbGFiZWw9Ik1lZGl1bSAoMTIwcHgpIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIHNpemU9IjEyMCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJMYXJnZSAoMTYwcHgpIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIHNpemU9IjE2MCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qQXdJaUJvWldsbmFIUTlJakl3TUNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S0lDQThaR1ZtY3o0S0lDQWdJRHhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpWjNKaFpHbGxiblFpSUhneFBTSXdKU0lnZVRFOUlqQWxJaUI0TWowaU1UQXdKU0lnZVRJOUlqRXdNQ1VpUGdvZ0lDQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqQWxJaUJ6ZEc5d0xXTnZiRzl5UFNJak5qWTNaV1ZoSWlBdlBnb2dJQ0FnSUNBOGMzUnZjQ0J2Wm1aelpYUTlJakV3TUNVaUlITjBiM0F0WTI5c2IzSTlJaU0zTmpSaVlUSWlJQzgrQ2lBZ0lDQThMMnhwYm1WaGNrZHlZV1JwWlc1MFBnb2dJRHd2WkdWbWN6NEtJQ0E4Y21WamRDQjNhV1IwYUQwaU1qQXdJaUJvWldsbmFIUTlJakl3TUNJZ1ptbHNiRDBpZFhKc0tDTm5jbUZrYVdWdWRDa2lJQzgrQ2lBZ1BIUmxlSFFnZUQwaU5UQWxJaUI1UFNJMU1DVWlJR1J2YldsdVlXNTBMV0poYzJWc2FXNWxQU0p0YVdSa2JHVWlJSFJsZUhRdFlXNWphRzl5UFNKdGFXUmtiR1VpSUdadmJuUXRabUZ0YVd4NVBTSkJjbWxoYkNJZ1ptOXVkQzF6YVhwbFBTSTRNQ0lnWm1sc2JEMGlkMmhwZEdVaVBrcEVQQzkwWlhoMFBnbzhMM04yWno0PSIscj1lLnF1ZXJ5U2VsZWN0b3IoIiNwcmVmaWxsZWQtcHJvZmlsZSIpO3ImJihyLnZhbHVlPXQsci5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGE9PntsZXQgaT1hLnRhcmdldCxuPWUucXVlcnlTZWxlY3RvcigiI3ByZWZpbGxlZC1vdXRwdXQiKTtuJiYobi50ZXh0Q29udGVudD1pLnZhbHVlP2BJbWFnZSBkYXRhOiAke2kudmFsdWUuc3Vic3RyaW5nKDAsODApfS4uLmA6Ik5vIGltYWdlIHNlbGVjdGVkIil9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByZS1maWxsZWQgYW5kIFZhbHVlIEJpbmRpbmcifSAuc3VidGl0bGU9JHsiUHJvZmlsZSBwaWN0dXJlIHdpdGggaW5pdGlhbCB2YWx1ZSBhbmQgY2hhbmdlIHRyYWNraW5nIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgIGlkPSJwcmVmaWxsZWQtcHJvZmlsZSIKICAgICAgICAgIGxhYmVsPSJFZGl0IEV4aXN0aW5nIFByb2ZpbGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2xpY2sgdGhlIGVkaXQgYnV0dG9uIHRvIGNoYW5nZSBvciBkZWxldGUgdG8gcmVtb3ZlIgogICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgc2l6ZT0iMTUwIgogICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0icHJlZmlsbGVkLW91dHB1dCIgY2xhc3M9ImRlbW8tb3V0cHV0Ij4KICAgICAgICAgIEltYWdlIGRhdGEgd2lsbCBhcHBlYXIgaGVyZSB3aGVuIGNoYW5nZWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIiNkaXNhYmxlZC1wcm9maWxlIik7dCYmKHQudmFsdWU9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qQXdJaUJvWldsbmFIUTlJakl3TUNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S0lDQThjbVZqZENCM2FXUjBhRDBpTWpBd0lpQm9aV2xuYUhROUlqSXdNQ0lnWm1sc2JEMGlJMk5qWTJOall5SWdMejRLSUNBOGRHVjRkQ0I0UFNJMU1DVWlJSGs5SWpVd0pTSWdaRzl0YVc1aGJuUXRZbUZ6Wld4cGJtVTlJbTFwWkdSc1pTSWdkR1Y0ZEMxaGJtTm9iM0k5SW0xcFpHUnNaU0lnWm05dWRDMW1ZVzFwYkhrOUlrRnlhV0ZzSWlCbWIyNTBMWE5wZW1VOUlqWXdJaUJtYVd4c1BTSjNhR2wwWlNJK1RrRThMM1JsZUhRK0Nqd3ZjM1puUGc9PSIpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJSZXF1aXJlZCBGaWVsZCIKICAgICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBpZD0iZGlzYWJsZWQtcHJvZmlsZSIKICAgICAgICAgICAgbGFiZWw9IkRpc2FibGVkIFN0YXRlIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2Fubm90IGJlIGVkaXRlZCIKICAgICAgICAgICAgc2hhcGU9InNxdWFyZSIKICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iVXBsb2FkIE9ubHkiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJEZWxldGUgbm90IGFsbG93ZWQiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgLmFsbG93RGVsZXRlPSR7ITF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlcyJ9IC5zdWJ0aXRsZT0keyJDb21wbGV0ZSBmZWF0dXJlIHNldCBvZiB0aGUgcHJvZmlsZSBwaWN0dXJlIGlucHV0In0+CiAgICAgICAgPHVsIGNsYXNzPSJmZWF0dXJlLWxpc3QiPgogICAgICAgICAgPGxpPjxzdHJvbmc+SW1hZ2UgVXBsb2FkOjwvc3Ryb25nPiBDbGljayB0byB1cGxvYWQgb3IgZHJhZyAmIGRyb3AgaW1hZ2VzPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkltYWdlIENyb3BwaW5nOjwvc3Ryb25nPiBJbnRlcmFjdGl2ZSBjcm9wIHRvb2wgd2l0aCByZXNpemUgaGFuZGxlczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5TaGFwZSBTdXBwb3J0Ojwvc3Ryb25nPiBSb3VuZCBvciBzcXVhcmUgcHJvZmlsZSBwaWN0dXJlczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5TaXplIEN1c3RvbWl6YXRpb246PC9zdHJvbmc+IEFkanVzdGFibGUgZGltZW5zaW9uczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5QcmV2aWV3ICYgRWRpdDo8L3N0cm9uZz4gSG92ZXIgb3ZlcmxheSB3aXRoIGVkaXQgYW5kIGRlbGV0ZSBvcHRpb25zPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkZpbGUgVmFsaWRhdGlvbjo8L3N0cm9uZz4gRm9ybWF0IGFuZCBzaXplIHJlc3RyaWN0aW9uczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5SZXNwb25zaXZlIERlc2lnbjo8L3N0cm9uZz4gV29ya3Mgb24gZGVza3RvcCBhbmQgbW9iaWxlIGRldmljZXM8L2xpPgogICAgICAgICAgPGxpPjxzdHJvbmc+Rm9ybSBJbnRlZ3JhdGlvbjo8L3N0cm9uZz4gU3RhbmRhcmQgZm9ybSB2YWx1ZSBiaW5kaW5nIGFuZCB2YWxpZGF0aW9uPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkFjY2Vzc2liaWxpdHk6PC9zdHJvbmc+IEtleWJvYXJkIG5hdmlnYXRpb24gYW5kIHNjcmVlbiByZWFkZXIgc3VwcG9ydDwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5aLUluZGV4IE1hbmFnZW1lbnQ6PC9zdHJvbmc+IFByb3BlciBtb2RhbCBzdGFja2luZyB3aXRoIHJlZ2lzdHJ5PC9saT4KICAgICAgICA8L3VsPgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDI0cHg7Ij4KICAgICAgICAgIDxzdHJvbmc+U3VwcG9ydGVkIEZvcm1hdHM6PC9zdHJvbmc+IEpQRUcsIFBORywgV2ViUDxicj4KICAgICAgICAgIDxzdHJvbmc+TWF4IEZpbGUgU2l6ZTo8L3N0cm9uZz4gNU1CIChjb25maWd1cmFibGUpPGJyPgogICAgICAgICAgPHN0cm9uZz5PdXRwdXQgRm9ybWF0Ojwvc3Ryb25nPiBCYXNlNjQgZW5jb2RlZCBKUEVHCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYH0pO3ZhciBBMSxpYSxUM3IsVzZlPWYoKCk9Pnt1ZSgpO1NhKCk7aXIoKTt3ZigpO1MzcigpO0MzcigpO1FlKCk7QTE9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxpYT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sVDNyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZSIpXSx0LHI9W10sYSxpPW50LG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdLHEsXz1bXSx6PVtdLEUsVD1bXSxMPVtdLFYsQj1bXSxVPVtdLEssST1bXSx2ZT1bXSxNZSxQPVtdLGxlPVtdLFNlLFo9W10sQT1bXTt2YXIgJD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGo9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpOdW1iZXJ9KV0sdj1bRih7dHlwZTpTdHJpbmd9KV0seT1bRih7dHlwZTpCb29sZWFufSldLFI9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxPPVtGKHt0eXBlOk51bWJlcn0pXSxxPVtGKHt0eXBlOkFycmF5fSldLEU9W0Yoe3R5cGU6TnVtYmVyfSldLFY9W0Yoe3R5cGU6TnVtYmVyfSldLEs9W3NlKCldLE1lPVtzZSgpXSxTZT1bc2UoKV0sQTEodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6SD0+InZhbHVlImluIEgsZ2V0Okg9PkgudmFsdWUsc2V0OihILFkpPT57SC52YWx1ZT1ZfX0sbWV0YWRhdGE6an0scyxvKSxBMSh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNoYXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpIPT4ic2hhcGUiaW4gSCxnZXQ6SD0+SC5zaGFwZSxzZXQ6KEgsWSk9PntILnNoYXBlPVl9fSxtZXRhZGF0YTpqfSxsLHUpLEExKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6SD0+InNpemUiaW4gSCxnZXQ6SD0+SC5zaXplLHNldDooSCxZKT0+e0guc2l6ZT1ZfX0sbWV0YWRhdGE6an0saCxtKSxBMSh0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpIPT4icGxhY2Vob2xkZXIiaW4gSCxnZXQ6SD0+SC5wbGFjZWhvbGRlcixzZXQ6KEgsWSk9PntILnBsYWNlaG9sZGVyPVl9fSxtZXRhZGF0YTpqfSxiLGcpLEExKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWxsb3dVcGxvYWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJhbGxvd1VwbG9hZCJpbiBILGdldDpIPT5ILmFsbG93VXBsb2FkLHNldDooSCxZKT0+e0guYWxsb3dVcGxvYWQ9WX19LG1ldGFkYXRhOmp9LHcsayksQTEodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhbGxvd0RlbGV0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6SD0+ImFsbG93RGVsZXRlImluIEgsZ2V0Okg9PkguYWxsb3dEZWxldGUsc2V0OihILFkpPT57SC5hbGxvd0RlbGV0ZT1ZfX0sbWV0YWRhdGE6an0sQyxTKSxBMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heEZpbGVTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpIPT4ibWF4RmlsZVNpemUiaW4gSCxnZXQ6SD0+SC5tYXhGaWxlU2l6ZSxzZXQ6KEgsWSk9PntILm1heEZpbGVTaXplPVl9fSxtZXRhZGF0YTpqfSxELE4pLEExKHRoaXMsbnVsbCxxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWNjZXB0ZWRGb3JtYXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpIPT4iYWNjZXB0ZWRGb3JtYXRzImluIEgsZ2V0Okg9PkguYWNjZXB0ZWRGb3JtYXRzLHNldDooSCxZKT0+e0guYWNjZXB0ZWRGb3JtYXRzPVl9fSxtZXRhZGF0YTpqfSxfLHopLEExKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3V0cHV0U2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6SD0+Im91dHB1dFNpemUiaW4gSCxnZXQ6SD0+SC5vdXRwdXRTaXplLHNldDooSCxZKT0+e0gub3V0cHV0U2l6ZT1ZfX0sbWV0YWRhdGE6an0sVCxMKSxBMSh0aGlzLG51bGwsVix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dFF1YWxpdHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJvdXRwdXRRdWFsaXR5ImluIEgsZ2V0Okg9Pkgub3V0cHV0UXVhbGl0eSxzZXQ6KEgsWSk9PntILm91dHB1dFF1YWxpdHk9WX19LG1ldGFkYXRhOmp9LEIsVSksQTEodGhpcyxudWxsLEsse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0hvdmVyZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJpc0hvdmVyZWQiaW4gSCxnZXQ6SD0+SC5pc0hvdmVyZWQsc2V0OihILFkpPT57SC5pc0hvdmVyZWQ9WX19LG1ldGFkYXRhOmp9LEksdmUpLEExKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJpc0RyYWdnaW5nImluIEgsZ2V0Okg9PkguaXNEcmFnZ2luZyxzZXQ6KEgsWSk9PntILmlzRHJhZ2dpbmc9WX19LG1ldGFkYXRhOmp9LFAsbGUpLEExKHRoaXMsbnVsbCxTZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6SD0+ImlzTG9hZGluZyJpbiBILGdldDpIPT5ILmlzTG9hZGluZyxzZXQ6KEgsWSk9PntILmlzTG9hZGluZz1ZfX0sbWV0YWRhdGE6an0sWixBKSxBMShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpqfSxudWxsLHIpLCQ9YT10LnZhbHVlLGomJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6an0pfXN0YXRpYyBkZW1vPXozcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9aWEodGhpcyxzLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoail7dGhpcy4jZT1qfSN0PShpYSh0aGlzLG8pLGlhKHRoaXMsbCwicm91bmQiKSk7Z2V0IHNoYXBlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNoYXBlKGope3RoaXMuI3Q9an0jcj0oaWEodGhpcyx1KSxpYSh0aGlzLGgsMTIwKSk7Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2l6ZShqKXt0aGlzLiNyPWp9I2E9KGlhKHRoaXMsbSksaWEodGhpcyxiLCIiKSk7Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHBsYWNlaG9sZGVyKGope3RoaXMuI2E9an0jaT0oaWEodGhpcyxnKSxpYSh0aGlzLHcsITApKTtnZXQgYWxsb3dVcGxvYWQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYWxsb3dVcGxvYWQoail7dGhpcy4jaT1qfSNuPShpYSh0aGlzLGspLGlhKHRoaXMsQywhMCkpO2dldCBhbGxvd0RlbGV0ZSgpe3JldHVybiB0aGlzLiNufXNldCBhbGxvd0RlbGV0ZShqKXt0aGlzLiNuPWp9I3M9KGlhKHRoaXMsUyksaWEodGhpcyxELDUqMTAyNCoxMDI0KSk7Z2V0IG1heEZpbGVTaXplKCl7cmV0dXJuIHRoaXMuI3N9c2V0IG1heEZpbGVTaXplKGope3RoaXMuI3M9an0jbz0oaWEodGhpcyxOKSxpYSh0aGlzLF8sWyJpbWFnZS9qcGVnIiwiaW1hZ2UvcG5nIiwiaW1hZ2Uvd2VicCJdKSk7Z2V0IGFjY2VwdGVkRm9ybWF0cygpe3JldHVybiB0aGlzLiNvfXNldCBhY2NlcHRlZEZvcm1hdHMoail7dGhpcy4jbz1qfSNsPShpYSh0aGlzLHopLGlhKHRoaXMsVCw4MDApKTtnZXQgb3V0cHV0U2l6ZSgpe3JldHVybiB0aGlzLiNsfXNldCBvdXRwdXRTaXplKGope3RoaXMuI2w9an0jYz0oaWEodGhpcyxMKSxpYSh0aGlzLEIsLjk1KSk7Z2V0IG91dHB1dFF1YWxpdHkoKXtyZXR1cm4gdGhpcy4jY31zZXQgb3V0cHV0UXVhbGl0eShqKXt0aGlzLiNjPWp9I2Q9KGlhKHRoaXMsVSksaWEodGhpcyxJLCExKSk7Z2V0IGlzSG92ZXJlZCgpe3JldHVybiB0aGlzLiNkfXNldCBpc0hvdmVyZWQoail7dGhpcy4jZD1qfSN1PShpYSh0aGlzLHZlKSxpYSh0aGlzLFAsITEpKTtnZXQgaXNEcmFnZ2luZygpe3JldHVybiB0aGlzLiN1fXNldCBpc0RyYWdnaW5nKGope3RoaXMuI3U9an0jcD0oaWEodGhpcyxsZSksaWEodGhpcyxaLCExKSk7Z2V0IGlzTG9hZGluZygpe3JldHVybiB0aGlzLiNwfXNldCBpc0xvYWRpbmcoail7dGhpcy4jcD1qfW1vZGFsSW5zdGFuY2U9KGlhKHRoaXMsQSksbnVsbCk7c3RhdGljIHN0eWxlcz1bRGUsLi4ubnQuYmFzZVN0eWxlcyxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtY29udGFpbmVyOmhvdmVyIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlIHsKICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSwgMTIwcHgpOwogICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSwgMTIwcHgpOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjVmNWY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUucm91bmQgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZS5zcXVhcmUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUuZHJhZ2dpbmcgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAke3AuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg5NiwgMTY1LCAyNTAsIDAuMTUpIil9OwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZTpkaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWltYWdlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC5wbGFjZWhvbGRlci1pY29uIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAub3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWNvbnRhaW5lcjpob3ZlciAub3ZlcmxheSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm92ZXJsYXktY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSIsInJnYmEoMzksIDM5LCA0MiwgMC45NSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICB9CgogICAgICAub3ZlcmxheS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzNmM2Y0NiIpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWJ1dHRvbi5kZWxldGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjkpIiwicmdiYSgyMjAsIDM4LCAzOCwgMC45KSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm92ZXJsYXktYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZGMyNjI2Iil9OwogICAgICB9CgogICAgICAuZHJvcC16b25lLXRleHQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuaGlkZGVuLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBMb2FkaW5nIGFuaW1hdGlvbiAqLwogICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkiLCJyZ2JhKDAsIDAsIDAsIDAuOCkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLmxvYWRpbmctb3ZlcmxheS5zaG93IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQogICAgICAgIDUwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIH0KICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZS5jbGlja2luZyB7CiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAwLjNzIGVhc2Utb3V0OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmRlc2NyaXB0aW9uPSR7dGhpcy5kZXNjcmlwdGlvbn0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgIAogICAgICAgIDxkaXYgCiAgICAgICAgICBjbGFzcz0icHJvZmlsZS1jb250YWluZXIiCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsaWNrfQogICAgICAgICAgQGRyYWdvdmVyPSR7dGhpcy5oYW5kbGVEcmFnT3Zlcn0KICAgICAgICAgIEBkcmFnbGVhdmU9JHt0aGlzLmhhbmRsZURyYWdMZWF2ZX0KICAgICAgICAgIEBkcm9wPSR7dGhpcy5oYW5kbGVEcm9wfQogICAgICAgICAgc3R5bGU9Ii0tc2l6ZTogJHt0aGlzLnNpemV9cHgiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1waWN0dXJlICR7dGhpcy5zaGFwZX0gJHt0aGlzLmlzRHJhZ2dpbmc/ImRyYWdnaW5nIjoiIn0gJHt0aGlzLmlzTG9hZGluZyYmIXRoaXMudmFsdWU/ImNsaWNraW5nIjoiIn0iPgogICAgICAgICAgICAke3RoaXMudmFsdWU/TWAKICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJwcm9maWxlLWltYWdlIiBzcmM9IiR7dGhpcy52YWx1ZX0iIGFsdD0iUHJvZmlsZSBwaWN0dXJlIiAvPgogICAgICAgICAgICBgOk1gCiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0icGxhY2Vob2xkZXItaWNvbiIgaWNvbj0ibHVjaWRlOnVzZXIiIGljb25TaXplPSIke3RoaXMuc2l6ZSouNX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICBgfQogICAgICAgICAgICAKICAgICAgICAgICAgJHt0aGlzLmlzRHJhZ2dpbmc/TWAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0ib3BhY2l0eTogMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wLXpvbmUtdGV4dCI+CiAgICAgICAgICAgICAgICAgIERyb3AgaW1hZ2UgaGVyZQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIAogICAgICAgICAgICAke3RoaXMudmFsdWUmJiF0aGlzLmRpc2FibGVkP01gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAke3RoaXMuYWxsb3dVcGxvYWQ/TWAKICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJvdmVybGF5LWJ1dHRvbiIgQGNsaWNrPSR7aj0+e2ouc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5vcGVuTW9kYWwoKX19IHRpdGxlPSJDaGFuZ2UgcGljdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpwZW5jaWwiIGljb25TaXplPSIyMCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICR7dGhpcy5hbGxvd0RlbGV0ZT9NYAogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im92ZXJsYXktYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7aj0+e2ouc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kZWxldGVQaWN0dXJlKCl9fSB0aXRsZT0iRGVsZXRlIHBpY3R1cmUiPgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6dHJhc2gyIiBpY29uU2l6ZT0iMjAiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIAogICAgICAgICAgICAke3RoaXMuaXNMb2FkaW5nJiYhdGhpcy52YWx1ZT9NYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctb3ZlcmxheSBzaG93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8aW5wdXQKICAgICAgICAgIHR5cGU9ImZpbGUiCiAgICAgICAgICBjbGFzcz0iaGlkZGVuLWlucHV0IgogICAgICAgICAgYWNjZXB0PSIke3RoaXMuYWNjZXB0ZWRGb3JtYXRzLmpvaW4oIiwiKX0iCiAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVGaWxlU2VsZWN0fQogICAgICAgIC8+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDbGljaygpe2lmKCEodGhpcy5kaXNhYmxlZHx8IXRoaXMuYWxsb3dVcGxvYWQpJiYhdGhpcy52YWx1ZSl7dGhpcy5pc0xvYWRpbmc9ITA7bGV0IGo9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5oaWRkZW4taW5wdXQiKSxIPSgpPT57c2V0VGltZW91dCgoKT0+eyghai5maWxlc3x8ai5maWxlcy5sZW5ndGg9PT0wKSYmKHRoaXMuaXNMb2FkaW5nPSExKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLEgpfSwzMDApfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLEgpLGouY2xpY2soKX19aGFuZGxlRmlsZVNlbGVjdChqKXtsZXQgSD1qLnRhcmdldCxZPUguZmlsZXM/LlswXTt0aGlzLmlzTG9hZGluZz0hMSxZJiZ0aGlzLnByb2Nlc3NGaWxlKFkpLEgudmFsdWU9IiJ9aGFuZGxlRHJhZ092ZXIoail7ai5wcmV2ZW50RGVmYXVsdCgpLCF0aGlzLmRpc2FibGVkJiZ0aGlzLmFsbG93VXBsb2FkJiYodGhpcy5pc0RyYWdnaW5nPSEwKX1oYW5kbGVEcmFnTGVhdmUoKXt0aGlzLmlzRHJhZ2dpbmc9ITF9aGFuZGxlRHJvcChqKXtpZihqLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc0RyYWdnaW5nPSExLHRoaXMuZGlzYWJsZWR8fCF0aGlzLmFsbG93VXBsb2FkKXJldHVybjtsZXQgSD1qLmRhdGFUcmFuc2Zlcj8uZmlsZXNbMF07SCYmdGhpcy5wcm9jZXNzRmlsZShIKX1hc3luYyBwcm9jZXNzRmlsZShqKXtpZighdGhpcy5hY2NlcHRlZEZvcm1hdHMuaW5jbHVkZXMoai50eXBlKSl7Y29uc29sZS5lcnJvcigiSW52YWxpZCBmaWxlIHR5cGU6IixqLnR5cGUpO3JldHVybn1pZihqLnNpemU+dGhpcy5tYXhGaWxlU2l6ZSl7Y29uc29sZS5lcnJvcigiRmlsZSB0b28gbGFyZ2U6IixqLnNpemUpO3JldHVybn1sZXQgSD1uZXcgRmlsZVJlYWRlcjtILm9ubG9hZD1hc3luYyBZPT57bGV0IGRlPVkudGFyZ2V0Py5yZXN1bHQ7YXdhaXQgdGhpcy5vcGVuTW9kYWwoZGUpfSxILnJlYWRBc0RhdGFVUkwoail9YXN5bmMgb3Blbk1vZGFsKGope2xldCBIPWp8fHRoaXMudmFsdWU7aWYoIUgpe3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuaGlkZGVuLWlucHV0IikuY2xpY2soKTtyZXR1cm59dGhpcy5tb2RhbEluc3RhbmNlPW5ldyBVNmUsdGhpcy5tb2RhbEluc3RhbmNlLnNoYXBlPXRoaXMuc2hhcGUsdGhpcy5tb2RhbEluc3RhbmNlLmluaXRpYWxJbWFnZT1ILHRoaXMubW9kYWxJbnN0YW5jZS5vdXRwdXRTaXplPXRoaXMub3V0cHV0U2l6ZSx0aGlzLm1vZGFsSW5zdGFuY2Uub3V0cHV0UXVhbGl0eT10aGlzLm91dHB1dFF1YWxpdHksdGhpcy5tb2RhbEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoInNhdmUiLFk9Pnt0aGlzLnZhbHVlPVkuZGV0YWlsLmNyb3BwZWRJbWFnZSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX0pLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5tb2RhbEluc3RhbmNlKX1kZWxldGVQaWN0dXJlKCl7dGhpcy52YWx1ZT0iIix0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGope3RoaXMudmFsdWU9an1zdGF0aWN7aWEoYSxyKX19O3JldHVybiAkPWF9KSgpfSk7dmFyIF8zcj1mKCgpPT57eTRyKCk7dzRyKCk7TTRyKCk7WmRlKCk7azRyKCk7ZTZlKCk7UzRyKCk7TDRyKCk7JDRyKCk7RDRyKCk7QTRyKCk7RTRyKCk7SDRyKCk7ajRyKCk7WjRyKCk7WDRyKCk7UTRyKCk7SjRyKCk7TTNyKCk7VzZlKCl9KTt2YXIgTDNyLCQzcj1mKCgpPT57dWUoKTtMM3I9KCk9Pk1gCiAgPHN0eWxlPgogICAgLmRlbW9Db250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDMycHg7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICB9CiAgICAKICAgIC5zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgcGFkZGluZzogMjRweDsKICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgIH0KICAgIAogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtb0NvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Tm9uLVNlbGVjdGFibGUgQ2hpcHM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+QmFzaWMgY2hpcHMgd2l0aG91dCBzZWxlY3Rpb24gY2FwYWJpbGl0eS4gVXNlIGZvciBkaXNwbGF5LW9ubHkgdGFncy48L2Rpdj4KICAgICAgPGRlZXMtY2hpcHMKICAgICAgICBzZWxlY3Rpb25Nb2RlPSJub25lIgogICAgICAgIC5zZWxlY3RhYmxlQ2hpcHM9JHtbe2tleToic3RhdHVzIix2YWx1ZToiQWN0aXZlIn0se2tleToidGllciIsdmFsdWU6IlByZW1pdW0ifSx7a2V5OiJyZWdpb24iLHZhbHVlOiJFVS1XZXN0In0se2tleToidHlwZSIsdmFsdWU6IkVudGVycHJpc2UifV19CiAgICAgID48L2RlZXMtY2hpcHM+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNpbmdsZSBTZWxlY3Rpb24gQ2hpcHM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+Q2xpY2sgdG8gc2VsZWN0IG9uZSBjaGlwIGF0IGEgdGltZS4gVXNlZnVsIGZvciBmaWx0ZXJzIGFuZCBvcHRpb25zLjwvZGl2PgogICAgICA8ZGVlcy1jaGlwcwogICAgICAgIHNlbGVjdGlvbk1vZGU9InNpbmdsZSIKICAgICAgICAuc2VsZWN0YWJsZUNoaXBzPSR7W3trZXk6ImFsbCIsdmFsdWU6IkFsbCBQcm9qZWN0cyJ9LHtrZXk6ImFjdGl2ZSIsdmFsdWU6IkFjdGl2ZSJ9LHtrZXk6ImFyY2hpdmVkIix2YWx1ZToiQXJjaGl2ZWQifSx7a2V5OiJkcmFmdHMiLHZhbHVlOiJEcmFmdHMifV19CiAgICAgID48L2RlZXMtY2hpcHM+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk11bHRpcGxlIFNlbGVjdGlvbiBDaGlwczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TZWxlY3QgbXVsdGlwbGUgY2hpcHMgc2ltdWx0YW5lb3VzbHkuIEdyZWF0IGZvciB0YWcgc2VsZWN0aW9uLjwvZGl2PgogICAgICA8ZGVlcy1jaGlwcwogICAgICAgIHNlbGVjdGlvbk1vZGU9Im11bHRpcGxlIgogICAgICAgIC5zZWxlY3RhYmxlQ2hpcHM9JHtbe2tleToianMiLHZhbHVlOiJKYXZhU2NyaXB0In0se2tleToidHMiLHZhbHVlOiJUeXBlU2NyaXB0In0se2tleToicmVhY3QiLHZhbHVlOiJSZWFjdCJ9LHtrZXk6InZ1ZSIsdmFsdWU6IlZ1ZSJ9LHtrZXk6ImFuZ3VsYXIiLHZhbHVlOiJBbmd1bGFyIn0se2tleToibm9kZSIsdmFsdWU6Ik5vZGUuanMifV19CiAgICAgID48L2RlZXMtY2hpcHM+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlJlbW92YWJsZSBDaGlwcyB3aXRoIEtleXM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+Q2hpcHMgd2l0aCByZW1vdmUgYnV0dG9ucyBhbmQga2V5LXZhbHVlIHBhaXJzLiBQZXJmZWN0IGZvciBkeW5hbWljIGxpc3RzLjwvZGl2PgogICAgICA8ZGVlcy1jaGlwcwogICAgICAgIHNlbGVjdGlvbk1vZGU9InNpbmdsZSIKICAgICAgICBjaGlwc0FyZVJlbW92YWJsZQogICAgICAgIC5zZWxlY3RhYmxlQ2hpcHM9JHtbe2tleToiZW52Iix2YWx1ZToiUHJvZHVjdGlvbiJ9LHtrZXk6InZlcnNpb24iLHZhbHVlOiIyLjQuMSJ9LHtrZXk6ImJyYW5jaCIsdmFsdWU6Im1haW4ifSx7a2V5OiJhdXRob3IiLHZhbHVlOiJKb2huIERvZSJ9XX0KICAgICAgPjwvZGVlcy1jaGlwcz4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TWl4ZWQgQ29udGVudCBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkNvbWJpbmluZyBkaWZmZXJlbnQgY2hpcCB0eXBlcyBmb3IgY29tcGxleCBVSXMuPC9kaXY+CiAgICAgIDxkZWVzLWNoaXBzCiAgICAgICAgc2VsZWN0aW9uTW9kZT0ibXVsdGlwbGUiCiAgICAgICAgY2hpcHNBcmVSZW1vdmFibGUKICAgICAgICAuc2VsZWN0YWJsZUNoaXBzPSR7W3trZXk6InByaW9yaXR5Iix2YWx1ZToiSGlnaCJ9LHtrZXk6InN0YXR1cyIsdmFsdWU6IkluIFByb2dyZXNzIn0se2tleToiYnVnIix2YWx1ZToiQnVnIn0se2tleToiZmVhdHVyZSIsdmFsdWU6IkZlYXR1cmUifSx7a2V5OiJzcHJpbnQiLHZhbHVlOiJTcHJpbnQgMjMifSx7a2V5OiJhc3NpZ25lZSIsdmFsdWU6IkFsaWNlIn1dfQogICAgICA+PC9kZWVzLWNoaXBzPgogICAgPC9kaXY+CiAgPC9kaXY+CmB9KTt2YXIgJGYsSG8sRDNyLEEzcj1mKCgpPT57dWUoKTtKdCgpOyQzcigpO1FlKCk7JGY9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxIbz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sRDNyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1jaGlwcyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdO3ZhciBSPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgQz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKCldLGM9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxkPVtGKHt0eXBlOkFycmF5fSldLHY9W0YoKV0seT1bRih7dHlwZTpBcnJheX0pXSwkZih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGlvbk1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJzZWxlY3Rpb25Nb2RlImluIFMsZ2V0OlM9PlMuc2VsZWN0aW9uTW9kZSxzZXQ6KFMsTyk9PntTLnNlbGVjdGlvbk1vZGU9T319LG1ldGFkYXRhOkN9LHMsbyksJGYodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjaGlwc0FyZVJlbW92YWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+ImNoaXBzQXJlUmVtb3ZhYmxlImluIFMsZ2V0OlM9PlMuY2hpcHNBcmVSZW1vdmFibGUsc2V0OihTLE8pPT57Uy5jaGlwc0FyZVJlbW92YWJsZT1PfX0sbWV0YWRhdGE6Q30sbCx1KSwkZih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGFibGVDaGlwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+InNlbGVjdGFibGVDaGlwcyJpbiBTLGdldDpTPT5TLnNlbGVjdGFibGVDaGlwcyxzZXQ6KFMsTyk9PntTLnNlbGVjdGFibGVDaGlwcz1PfX0sbWV0YWRhdGE6Q30saCxtKSwkZih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkQ2hpcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+InNlbGVjdGVkQ2hpcCJpbiBTLGdldDpTPT5TLnNlbGVjdGVkQ2hpcCxzZXQ6KFMsTyk9PntTLnNlbGVjdGVkQ2hpcD1PfX0sbWV0YWRhdGE6Q30sYixnKSwkZih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkQ2hpcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJzZWxlY3RlZENoaXBzImluIFMsZ2V0OlM9PlMuc2VsZWN0ZWRDaGlwcyxzZXQ6KFMsTyk9PntTLnNlbGVjdGVkQ2hpcHM9T319LG1ldGFkYXRhOkN9LHcsayksJGYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Q30sbnVsbCxyKSxSPWE9dC52YWx1ZSxDJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkN9KX1zdGF0aWMgZGVtbz1MM3I7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT1Ibyh0aGlzLHMsInNpbmdsZSIpO2dldCBzZWxlY3Rpb25Nb2RlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNlbGVjdGlvbk1vZGUoQyl7dGhpcy4jZT1DfSN0PShIbyh0aGlzLG8pLEhvKHRoaXMsbCwhMSkpO2dldCBjaGlwc0FyZVJlbW92YWJsZSgpe3JldHVybiB0aGlzLiN0fXNldCBjaGlwc0FyZVJlbW92YWJsZShDKXt0aGlzLiN0PUN9I3I9KEhvKHRoaXMsdSksSG8odGhpcyxoLFtdKSk7Z2V0IHNlbGVjdGFibGVDaGlwcygpe3JldHVybiB0aGlzLiNyfXNldCBzZWxlY3RhYmxlQ2hpcHMoQyl7dGhpcy4jcj1DfSNhPShIbyh0aGlzLG0pLEhvKHRoaXMsYixudWxsKSk7Z2V0IHNlbGVjdGVkQ2hpcCgpe3JldHVybiB0aGlzLiNhfXNldCBzZWxlY3RlZENoaXAoQyl7dGhpcy4jYT1DfSNpPShIbyh0aGlzLGcpLEhvKHRoaXMsdyxbXSkpO2dldCBzZWxlY3RlZENoaXBzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNlbGVjdGVkQ2hpcHMoQyl7dGhpcy4jaT1DfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxIbyh0aGlzLGspfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLm1haW5ib3ggewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuY2hpcCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7CiAgICAgIH0KCiAgICAgIC5jaGlwOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2QxZDVkYiIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzI1NjNlYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzI1NjNlYiIpfTsKICAgICAgfQoKICAgICAgLmNoaXBLZXkgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OwogICAgICAgIHBhZGRpbmc6IDBweCA4cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwLnNlbGVjdGVkIC5jaGlwS2V5IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKICAgICAgfQoKICAgICAgZGVlcy1pY29uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuY2hpcC5zZWxlY3RlZCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgICAgIH0KCiAgICAgIGRlZXMtaWNvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY2hpcC5zZWxlY3RlZCBkZWVzLWljb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9Im1haW5ib3giPgogICAgICAgICR7dGhpcy5zZWxlY3RhYmxlQ2hpcHMubWFwKEM9Pk1gCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RDaGlwKEMpfQogICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5pc1NlbGVjdGVkKEMpPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHtDLmtleT9NYDxkaXYgY2xhc3M9ImNoaXBLZXkiPiR7Qy5rZXl9PC9kaXY+YDpNYGB9ICR7Qy52YWx1ZX0KICAgICAgICAgICAgICAke3RoaXMuY2hpcHNBcmVSZW1vdmFibGU/TWAKICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHtTPT57Uy5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnJlbW92ZUNoaXAoQyl9fQogICAgICAgICAgICAgICAgICAgICAgLmljb249JHsiZmE6eG1hcmsifQogICAgICAgICAgICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgYDpNYGB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt9aXNTZWxlY3RlZChDKXtyZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlPT09InNpbmdsZSI/dGhpcy5zZWxlY3RlZENoaXA/dGhpcy5pc1NhbWVDaGlwKHRoaXMuc2VsZWN0ZWRDaGlwLEMpOiExOnRoaXMuc2VsZWN0ZWRDaGlwcy5zb21lKFM9PnRoaXMuaXNTYW1lQ2hpcChTLEMpKX1pc1NhbWVDaGlwKEMsUyl7cmV0dXJuKEMua2V5JiZTLmtleXx8Qy52YWx1ZT09PVMudmFsdWUpJiZDLmtleT09PVMua2V5fWFzeW5jIHNlbGVjdENoaXAoQyl7dGhpcy5zZWxlY3Rpb25Nb2RlIT09Im5vbmUiJiYodGhpcy5zZWxlY3Rpb25Nb2RlPT09InNpbmdsZSI/dGhpcy5pc1NlbGVjdGVkKEMpPyh0aGlzLnNlbGVjdGVkQ2hpcD1udWxsLHRoaXMuc2VsZWN0ZWRDaGlwcz1bXSk6KHRoaXMuc2VsZWN0ZWRDaGlwPUMsdGhpcy5zZWxlY3RlZENoaXBzPVtDXSk6dGhpcy5zZWxlY3Rpb25Nb2RlPT09Im11bHRpcGxlIiYmKHRoaXMuaXNTZWxlY3RlZChDKT90aGlzLnNlbGVjdGVkQ2hpcHM9dGhpcy5zZWxlY3RlZENoaXBzLmZpbHRlcihTPT4hdGhpcy5pc1NhbWVDaGlwKFMsQykpOnRoaXMuc2VsZWN0ZWRDaGlwcz1bLi4udGhpcy5zZWxlY3RlZENoaXBzLENdLHRoaXMucmVxdWVzdFVwZGF0ZSgpKSxjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkQ2hpcHMpKX1yZW1vdmVDaGlwKEMpe3RoaXMuc2VsZWN0YWJsZUNoaXBzPXRoaXMuc2VsZWN0YWJsZUNoaXBzLmZpbHRlcihTPT4hdGhpcy5pc1NhbWVDaGlwKFMsQykpLHRoaXMuc2VsZWN0ZWRDaGlwcz10aGlzLnNlbGVjdGVkQ2hpcHMuZmlsdGVyKFM9PiF0aGlzLmlzU2FtZUNoaXAoUyxDKSksdGhpcy5zZWxlY3RlZENoaXAmJnRoaXMuaXNTYW1lQ2hpcCh0aGlzLnNlbGVjdGVkQ2hpcCxDKSYmKHRoaXMuc2VsZWN0ZWRDaGlwPW51bGwpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfXN0YXRpY3tIbyhhLHIpfX07cmV0dXJuIFI9YX0pKCl9KTt2YXIgRTNyPWYoKCk9PntBM3IoKX0pO3ZhciBJM3IsUDNyPWYoKCk9Pnt1ZSgpO2hhKCk7STNyPSgpPT5NYAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiI2Rhc2hib2FyZEdyaWQiKSxyPVt7aWQ6Im1ldHJpY3MxIix4OjAseTowLHc6MyxoOjIsdGl0bGU6IlJldmVudWUiLGljb246Imx1Y2lkZTpkb2xsYXJTaWduIixjb250ZW50Ok1gCiAgICAgICAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDIwcHg7Ij4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDMycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07Ij4kMTI0LDU2MzwvZGl2PgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOiAjMjJjNTVlOyBmb250LXNpemU6IDE0cHg7IG1hcmdpbi10b3A6IDhweDsiPuKGkSAxMi41JSBmcm9tIGxhc3QgbW9udGg8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSx7aWQ6Im1ldHJpY3MyIix4OjMseTowLHc6MyxoOjIsdGl0bGU6IlVzZXJzIixpY29uOiJsdWNpZGU6dXNlcnMiLGNvbnRlbnQ6TWAKICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMzJweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsiPjgsMjM0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6ICMzYjgyZjY7IGZvbnQtc2l6ZTogMTRweDsgbWFyZ2luLXRvcDogOHB4OyI+4oaRIDUuMiUgZnJvbSBsYXN0IHdlZWs8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSx7aWQ6ImNoYXJ0MSIseDo2LHk6MCx3OjYsaDo0LHRpdGxlOiJBbmFseXRpY3MiLGljb246Imx1Y2lkZTpsaW5lQ2hhcnQiLGNvbnRlbnQ6TWAKICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICM3MTcxN2E7Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmxpbmVDaGFydCJ9IHN0eWxlPSJmb250LXNpemU6IDQ4cHg7IG1hcmdpbi1ib3R0b206IDE2cHg7Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDxkaXY+Q2hhcnQgdmlzdWFsaXphdGlvbiBhcmVhPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH1dO3Qud2lkZ2V0cz1yLm1hcCh5PT4oey4uLnl9KSksdC5jZWxsSGVpZ2h0PTgwLHQubWFyZ2luPXt0b3A6MTAscmlnaHQ6MTAsYm90dG9tOjEwLGxlZnQ6MTB9LHQuZW5hYmxlQW5pbWF0aW9uPSEwLHQuc2hvd0dyaWRMaW5lcz0hMTtsZXQgYT10LmdldExheW91dCgpLm1hcCh5PT4oey4uLnl9KSksaT10LndpZGdldHMubWFwKCh5LHcpPT4oe2lkOnkuaWQseDowLHk6dz09PTA/MDp0LndpZGdldHMuc2xpY2UoMCx3KS5yZWR1Y2UoKGssUik9PmsrUi5oLDApLHc6dC5jb2x1bW5zLGg6eS5ofSkpO3QubGF5b3V0cz17YmFzZTphLG1vYmlsZTppfTtsZXQgbj1lLnF1ZXJ5U2VsZWN0b3IoIiNkYXNoYm9hcmRMYXlvdXRTdGF0dXMiKSxzPSgpPT57bGV0IHk9dC5nZXRMYXlvdXQoKTtuLnRleHRDb250ZW50PWBBY3RpdmUgYnJlYWtwb2ludDogJHt0LmFjdGl2ZUJyZWFrcG9pbnR9IFx1MjAyMiBUaWxlczogJHt5Lmxlbmd0aH1gfSxvPXdpbmRvdy5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiA3NjhweCkiKSxjPSgpPT57bGV0IHk9by5tYXRjaGVzPyJtb2JpbGUiOiJiYXNlIjt0LmFwcGx5QnJlYWtwb2ludExheW91dCh5KSxzKCl9O3R5cGVvZiBvLmFkZEV2ZW50TGlzdGVuZXI9PSJmdW5jdGlvbiI/by5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGMpOm8uYWRkTGlzdGVuZXI/LihjKSxjKCk7bGV0IGw9NDtlLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCh5PT57c3dpdGNoKHkudGV4dENvbnRlbnQ/LnRyaW0oKSl7Y2FzZSJUb2dnbGUgQW5pbWF0aW9uIjp5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QuZW5hYmxlQW5pbWF0aW9uPSF0LmVuYWJsZUFuaW1hdGlvbn0pO2JyZWFrO2Nhc2UiVG9nZ2xlIEdyaWQgTGluZXMiOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC5zaG93R3JpZExpbmVzPSF0LnNob3dHcmlkTGluZXN9KTticmVhaztjYXNlIkFkZCBXaWRnZXQiOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bGV0IGs9e2lkOmB3aWRnZXQke2wrK31gLHg6MCx5OjAsdzozLGg6MixhdXRvUG9zaXRpb246ITAsdGl0bGU6YFdpZGdldCAke2wtMX1gLGljb246Imx1Y2lkZTpwYWNrYWdlIixjb250ZW50Ok1gCiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOiAjNzE3MTdhOyI+TmV3IHdpZGdldCBjb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogOHB4OyBmb250LXNpemU6IDI0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07Ij4ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTMpfTwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGB9O3QuYWRkV2lkZ2V0KGssITApfSk7YnJlYWs7Y2FzZSJDb21wYWN0IEdyaWQiOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC5jb21wYWN0KCl9KTticmVhaztjYXNlIlRvZ2dsZSBFZGl0IE1vZGUiOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC5lZGl0YWJsZT0hdC5lZGl0YWJsZSx5LnRleHRDb250ZW50PXQuZWRpdGFibGU/IkxvY2sgR3JpZCI6IlVubG9jayBHcmlkIn0pO2JyZWFrO2Nhc2UiUmVzZXQgTGF5b3V0Ijp5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QuYXBwbHlCcmVha3BvaW50TGF5b3V0KHQuYWN0aXZlQnJlYWtwb2ludCl9KTticmVhaztkZWZhdWx0OmJyZWFrfX0pO2xldCBkPW51bGwsaD0wLG09KHksdyk9PntsZXQgaz10LmdldExheW91dCgpO2NvbnNvbGUuZ3JvdXAoYFx1ezFGNTA0fSAke3l9IFtFdmVudCAjJHsrK2h9XWApLGNvbnNvbGUubG9nKCJUaW1lc3RhbXA6IixuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLGNvbnNvbGUubG9nKCJHcmlkIENvbmZpZ3VyYXRpb246Iix7Y29sdW1uczp0LmNvbHVtbnMsY2VsbEhlaWdodDp0LmNlbGxIZWlnaHQsbWFyZ2luOnQubWFyZ2luLGVkaXRhYmxlOnQuZWRpdGFibGUsYWN0aXZlQnJlYWtwb2ludDp0LmFjdGl2ZUJyZWFrcG9pbnR9KSxjb25zb2xlLmxvZygiQ3VycmVudCBMYXlvdXQ6IixrKSxjb25zb2xlLmxvZygiV2lkZ2V0IENvdW50OiIsay5sZW5ndGgpLGNvbnNvbGUubG9nKCJHcmlkIEJvdW5kczoiLHt0b3RhbFdpZGdldHM6dC53aWRnZXRzLmxlbmd0aCxtYXhZOk1hdGgubWF4KC4uLmsubWFwKFI9PlIueStSLmgpKSxvY2N1cGllZDprLm1hcChSPT5gJHtSLmlkfTogKCR7Ui54fSwke1IueX0pICR7Ui53fXgke1IuaH1gKS5qb2luKCIsICIpfSksdyYmY29uc29sZS5sb2coIkV2ZW50IERldGFpbHM6Iix3KSxjb25zb2xlLmdyb3VwRW5kKCl9LHY9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCk9PntsZXQgeT10LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5wbGFjZWhvbGRlciIpO2lmKHkpe2xldCB3PXtsZWZ0Onkuc3R5bGUubGVmdCx0b3A6eS5zdHlsZS50b3Asd2lkdGg6eS5zdHlsZS53aWR0aCxoZWlnaHQ6eS5zdHlsZS5oZWlnaHR9O2lmKEpTT04uc3RyaW5naWZ5KHcpIT09SlNPTi5zdHJpbmdpZnkoZCkpe2NvbnNvbGUuZ3JvdXAoIlx1ezFGNENEfSBQbGFjZWhvbGRlciBQb3NpdGlvbiBDaGFuZ2VkIiksY29uc29sZS5sb2coIlByZXZpb3VzOiIsZCksY29uc29sZS5sb2coIkN1cnJlbnQ6Iix3KTtsZXQgaz10LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ncmlkLWNvbnRhaW5lciIpO2smJmNvbnNvbGUubG9nKCJHcmlkIENvbnRhaW5lciBEaW1lbnNpb25zOiIse3dpZHRoOmsuY2xpZW50V2lkdGgsaGVpZ2h0OmsuY2xpZW50SGVpZ2h0fSksY29uc29sZS5ncm91cEVuZCgpLGQ9d319fSk7dC5zaGFkb3dSb290JiZ2Lm9ic2VydmUodC5zaGFkb3dSb290LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMCxhdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbInN0eWxlIl19KSxtKCJJbml0aWFsIEdyaWQgU3RhdGUiKSx0LmFkZEV2ZW50TGlzdGVuZXIoIndpZGdldC1tb3ZlIix5PT57bSgiV2lkZ2V0IE1vdmUiLHt3aWRnZXQ6eS5kZXRhaWwud2lkZ2V0LGRpc3BsYWNlZDp5LmRldGFpbC5kaXNwbGFjZWQsc3dhcHBlZFdpdGg6eS5kZXRhaWwuc3dhcHBlZFdpdGh9KX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigid2lkZ2V0LXJlc2l6ZSIseT0+e20oIldpZGdldCBSZXNpemUiLHt3aWRnZXQ6eS5kZXRhaWwud2lkZ2V0LGRpc3BsYWNlZDp5LmRldGFpbC5kaXNwbGFjZWQsc3dhcHBlZFdpdGg6eS5kZXRhaWwuc3dhcHBlZFdpdGh9KX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigid2lkZ2V0LXJlbW92ZSIseT0+e20oIldpZGdldCBSZW1vdmUiLHtyZW1vdmVkV2lkZ2V0OnkuZGV0YWlsLndpZGdldH0pLHMoKX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigibGF5b3V0LWNoYW5nZSIsKCk9PnttKCJMYXlvdXQgQ2hhbmdlIikscygpfSksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIseT0+e2xldCB3PXkudGFyZ2V0LmNsb3Nlc3QoIi53aWRnZXQtaGVhZGVyIiksaz15LnRhcmdldC5jbG9zZXN0KCIucmVzaXplLWhhbmRsZSIpO2lmKHd8fGspe2NvbnNvbGUuZ3JvdXAoYFx1ezFGM0FGfSBJbnRlcmFjdGlvbiBTdGFydGVkOiAke3c/IkRyYWciOiJSZXNpemUifWApLGNvbnNvbGUubG9nKCJUYXJnZXQgV2lkZ2V0OiIseS50YXJnZXQuY2xvc2VzdCgiLndpZGdldCIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtd2lkZ2V0LWlkIikpLGNvbnNvbGUubG9nKCJQb2ludGVyIFBvc2l0aW9uOiIse3g6eS5jbGllbnRYLHk6eS5jbGllbnRZfSksY29uc29sZS5ncm91cEVuZCgpO2xldCBSPVM9PntsZXQgTz15LnRhcmdldC5jbG9zZXN0KCIud2lkZ2V0Iik7TyYmY29uc29sZS5sb2coIlx1MjE5NFx1RkUwRiBQb2ludGVyIE1vdmU6Iix7d2lkZ2V0SWQ6Ty5nZXRBdHRyaWJ1dGUoImRhdGEtd2lkZ2V0LWlkIikscG9zaXRpb246e3g6Uy5jbGllbnRYLHk6Uy5jbGllbnRZfSxkZWx0YTp7eDpTLmNsaWVudFgteS5jbGllbnRYLHk6Uy5jbGllbnRZLXkuY2xpZW50WX19KX0sQz0oKT0+e2NvbnNvbGUuZ3JvdXAoIlx1ezFGM0MxfSBJbnRlcmFjdGlvbiBFbmRlZCIpLG0oIkZpbmFsIFN0YXRlIEFmdGVyIEludGVyYWN0aW9uIiksY29uc29sZS5ncm91cEVuZCgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixSKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLEMpfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsUiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixDKX19KTtsZXQgYj10LmFkZFdpZGdldC5iaW5kKHQpO3QuYWRkV2lkZ2V0PSh5LHcpPT57Y29uc29sZS5ncm91cCgiXHUyNzk1IEFkZGluZyBXaWRnZXQiKSxjb25zb2xlLmxvZygiTmV3IFdpZGdldDoiLHkpLGNvbnNvbGUubG9nKCJBdXRvIFBvc2l0aW9uOiIsdyk7bGV0IGs9Yih5LHcpO3JldHVybiBtKCJBZnRlciBXaWRnZXQgQWRkZWQiKSxjb25zb2xlLmdyb3VwRW5kKCksa307bGV0IGc9dC5jb21wYWN0LmJpbmQodCk7dC5jb21wYWN0PXk9Pntjb25zb2xlLmdyb3VwKCJcdXsxRjVEQ31cdUZFMEYgQ29tcGFjdGluZyBHcmlkIiksY29uc29sZS5sb2coIkRpcmVjdGlvbjoiLHl8fCJ2ZXJ0aWNhbCIpLG0oIkJlZm9yZSBDb21wYWN0Iik7bGV0IHc9Zyh5KTtyZXR1cm4gbSgiQWZ0ZXIgQ29tcGFjdCIpLGNvbnNvbGUuZ3JvdXBFbmQoKSx3fSxzKCl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7SmAKICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMwOTA5MGIiKX07CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KCiAgICAgICAgICAuZGVtby1jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgfQoKICAgICAgICAgIC5kZW1vLWNvbnRyb2xzIGRlZXMtYnV0dG9uIHsKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICB9CgogICAgICAgICAgLmdyaWQtY29udGFpbmVyLXdyYXBwZXIgewogICAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgICBtaW4taGVpZ2h0OiA2MDBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgfQoKICAgICAgICAgIC5pbmZvIHsKICAgICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogNnB4OwogICAgICAgICAgfQoKICAgICAgICAgICNkYXNoYm9hcmRMYXlvdXRTdGF0dXMgewogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBbmltYXRpb246Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZSBBbmltYXRpb248L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkRpc3BsYXk6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZSBHcmlkIExpbmVzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBY3Rpb25zOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5BZGQgV2lkZ2V0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkNvbXBhY3QgR3JpZDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5SZXNldCBMYXlvdXQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9Ik1vZGU6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZSBFZGl0IE1vZGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jb250YWluZXItd3JhcHBlciI+CiAgICAgICAgICA8ZGVlcy1kYXNoYm9hcmRncmlkIGlkPSJkYXNoYm9hcmRHcmlkIj48L2RlZXMtZGFzaGJvYXJkZ3JpZD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgICA8ZGl2PkRyYWcgdG8gcmVwb3NpdGlvbiwgcmVzaXplIGZyb20gaGFuZGxlcywgb3IgcmlnaHQtY2xpY2sgYSBoZWFkZXIgdG8gZGVsZXRlIGEgdGlsZS48L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImRhc2hib2FyZExheW91dFN0YXR1cyI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9KTt2YXIgTjNyLEYzcj1mKCgpPT57dWUoKTtOM3I9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmdyaWQtY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLWhlaWdodDogNDAwcHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtlbmFibGVhbmltYXRpb25dKSAuZ3JpZC13aWRnZXQgewogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldC5kcmFnZ2luZyB7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIGN1cnNvcjogZ3JhYmJpbmc7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtd2lkZ2V0LnBsYWNlaG9sZGVyIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC13aWRnZXQucGxhY2Vob2xkZXIgLndpZGdldC1jb250ZW50IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIpfTsKICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldC5yZXNpemluZyB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAud2lkZ2V0LWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBib3gtc2hhZG93OiAke3AuYmRUaGVtZSgiMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSIsIjAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldDpob3ZlciAud2lkZ2V0LWNvbnRlbnQgewogICAgICAgIGJveC1zaGFkb3c6ICR7cC5iZFRoZW1lKCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC40KSIpfTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0LmRyYWdnaW5nIC53aWRnZXQtY29udGVudCB7CiAgICAgICAgYm94LXNoYWRvdzogJHtwLmJkVGhlbWUoIjAgMTZweCA0OHB4IHJnYmEoMCwgMCwgMCwgMC4yNSkiLCIwIDE2cHggNDhweCByZ2JhKDAsIDAsIDAsIDAuNikiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgfQoKICAgICAgLndpZGdldC1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiIzBhMGEwYSIpfTsKICAgICAgICBjdXJzb3I6IGdyYWI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC53aWRnZXQtaGVhZGVyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC53aWRnZXQtaGVhZGVyOmFjdGl2ZSB7CiAgICAgICAgY3Vyc29yOiBncmFiYmluZzsKICAgICAgfQoKICAgICAgLndpZGdldC1oZWFkZXIubG9ja2VkIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KICAgICAgCiAgICAgIC53aWRnZXQtaGVhZGVyLmxvY2tlZDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmOWZhZmIiLCIjMGEwYTBhIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LWhlYWRlciBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LWJvZHkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC1ib2R5Lmhhcy1oZWFkZXIgewogICAgICAgIHRvcDogNDVweDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLWUgewogICAgICAgIGN1cnNvcjogZXctcmVzaXplOwogICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgIHJpZ2h0OiAtNnB4OwogICAgICAgIHRvcDogMTAlOwogICAgICAgIGhlaWdodDogODAlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1zIHsKICAgICAgICBjdXJzb3I6IG5zLXJlc2l6ZTsKICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgd2lkdGg6IDgwJTsKICAgICAgICBib3R0b206IC02cHg7CiAgICAgICAgbGVmdDogMTAlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1zZSB7CiAgICAgICAgY3Vyc29yOiBzZS1yZXNpemU7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIHJpZ2h0OiAtMnB4OwogICAgICAgIGJvdHRvbTogLTJweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAucmVzaXplLWhhbmRsZS1zZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogNHB4OwogICAgICAgIGJvdHRvbTogNHB4OwogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldDpob3ZlciAucmVzaXplLWhhbmRsZS1zZSB7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgICB9CiAgICAgIAogICAgICAucmVzaXplLWhhbmRsZS1zZTpob3Zlcjo6YWZ0ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAuZ3JpZC1wbGFjZWhvbGRlciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBvcGFjaXR5OiAwLjE7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogNDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGluZXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgei1pbmRleDogLTE7CiAgICAgIH0KICAgICAgCiAgICAgIC5ncmlkLWxpbmUtdmVydGljYWwgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGluZS1ob3Jpem9udGFsIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICB9CiAgYF19KTt2YXIgUGhuLEc2ZSxCM3IsSDNyLE8zcixvdixSM3IsbkpyLHNKcixZNmUsaTMscTNyLGozcixWM3I9ZigoKT0+e1Bobj0xMCxHNmU9ZT0+e2lmKHR5cGVvZiBlPT0ibnVtYmVyIilyZXR1cm57aG9yaXpvbnRhbDplLHZlcnRpY2FsOmUsdG9wOmUscmlnaHQ6ZSxib3R0b206ZSxsZWZ0OmV9O2xldCB0PXt0b3A6ZS50b3A/PzEwLHJpZ2h0OmUucmlnaHQ/PzEwLGJvdHRvbTplLmJvdHRvbT8/MTAsbGVmdDplLmxlZnQ/PzEwfTtyZXR1cm57Li4udCxob3Jpem9udGFsOih0LmxlZnQrdC5yaWdodCkvMix2ZXJ0aWNhbDoodC50b3ArdC5ib3R0b20pLzJ9fSxCM3I9KGUsdCxyLGEsaSk9PntsZXQgbj1yLmhvcml6b250YWwqKHQrMSkscz1NYXRoLm1heChlLW4sMCksbz10PjA/cy90OjAsYz1pPT09ImF1dG8iP286YTtyZXR1cm57Y29udGFpbmVyV2lkdGg6ZSxjZWxsV2lkdGhQeDpvLG1hcmdpbkhvcml6b250YWxQeDpyLmhvcml6b250YWwsY2VsbEhlaWdodFB4OmMsbWFyZ2luVmVydGljYWxQeDpyLnZlcnRpY2FsfX0sSDNyPShlLHQscik9PntpZihlLmxlbmd0aD09PTApcmV0dXJuIDA7bGV0IGE9TWF0aC5tYXgoLi4uZS5tYXAoaT0+aS55K2kuaCksMCk7cmV0dXJuIGEqcisoYSsxKSp0LnZlcnRpY2FsfSxPM3I9KGUsdCxyLGEsaSk9PnQ8ZS54K2UudyYmdCthPmUueCYmcjxlLnkrZS5oJiZyK2k+ZS55LG92PShlLHQscixhLGk9dC53LG49dC5oKT0+ZS5maWx0ZXIocz0+cy5pZD09PXQuaWQ/ITE6TzNyKHMscixhLGksbikpLFIzcj0oZSx0LHIsYSk9Pm92KGUsdCxyLGEpLmxlbmd0aD4wLG5Kcj1lPT4oey4uLmV9KSxzSnI9ZT0+ZS5tYXAobkpyKSxZNmU9KGUsdCxyLGEpPT57Zm9yKGxldCBuPTA7bjwyMDA7bisrKWZvcihsZXQgcz0wO3M8PWEtdDtzKyspaWYoIWUuc29tZShjPT5PM3IoYyxzLG4sdCxyKSkpcmV0dXJue3g6cyx5Om59O3JldHVybnt4OjAseTplLnJlZHVjZSgobixzKT0+TWF0aC5tYXgobixzLnkrcy5oKSwwKX19LGkzPShlLHQscixhLGkpPT57bGV0IG49c0pyKGUpLHM9bi5maW5kKGg9PmguaWQ9PT10KSxvPWUuZmluZChoPT5oLmlkPT09dCk7aWYoIXN8fCFvKXJldHVybiBudWxsO2xldCBjPXt4OnIueCx5OnIueSx3OnIudz8/cy53LGg6ci5oPz9zLmh9O3MueD1jLngscy55PWMueSxzLnc9Yy53LHMuaD1jLmg7bGV0IGw9b3YobixzLGMueCxjLnksYy53LGMuaCk7aWYobC5sZW5ndGg9PT0wKXJldHVybnt3aWRnZXRzOm4sbW92ZWRXaWRnZXRzOltzLmlkXX07aWYobC5sZW5ndGg9PT0xKXtsZXQgaD1sWzBdO2lmKCFoLmxvY2tlZCYmIWgubm9Nb3ZlJiZoLnc9PT1zLncmJmguaD09PXMuaCl7bGV0IG09bi5maW5kKHY9PnYuaWQ9PT1oLmlkKTtpZihtKXtsZXQgdj1vLGI9e3g6bS54LHk6bS55fTtpZihtLng9di54LG0ueT12Lnksb3YobixzLHMueCxzLnkscy53LHMuaCkubGVuZ3RoPT09MCYmb3YobixtLG0ueCxtLnksbS53LG0uaCkubGVuZ3RoPT09MClyZXR1cm57d2lkZ2V0czpuLG1vdmVkV2lkZ2V0czpbcy5pZCxtLmlkXSxzd2FwcGVkV2l0aDptLmlkfTttLng9Yi54LG0ueT1iLnl9fX1sZXQgdT1uZXcgU2V0KFtzLmlkXSk7Zm9yKGxldCBoIG9mIGwpe2lmKGgubG9ja2VkfHxoLm5vTW92ZSlyZXR1cm4gbnVsbDtsZXQgbT1uLmZpbmQoZz0+Zy5pZD09PWguaWQpO2lmKCFtKWNvbnRpbnVlO2xldCB2PW4uZmlsdGVyKGc9PmcuaWQhPT1oLmlkKSxiPVk2ZSh2LG0udyxtLmgsYSk7bS54PWIueCxtLnk9Yi55LHUuYWRkKG0uaWQpfXJldHVybiBvdihuLHMscy54LHMueSxzLncscy5oKS5sZW5ndGg+MD9udWxsOnt3aWRnZXRzOm4sbW92ZWRXaWRnZXRzOkFycmF5LmZyb20odSl9fSxxM3I9KGUsdD0idmVydGljYWwiKT0+e2xldCByPVsuLi5lXS5zb3J0KChhLGkpPT50PT09InZlcnRpY2FsIj9hLnkhPT1pLnk/YS55LWkueTphLngtaS54OmEueCE9PWkueD9hLngtaS54OmEueS1pLnkpO2ZvcihsZXQgYSBvZiByKWlmKCEoYS5sb2NrZWR8fGEubm9Nb3ZlKSlpZih0PT09InZlcnRpY2FsIilmb3IoO2EueT4wJiYhUjNyKGUsYSxhLngsYS55LTEpOylhLnktPTE7ZWxzZSBmb3IoO2EueD4wJiYhUjNyKGUsYSxhLngtMSxhLnkpOylhLngtPTF9LGozcj0oZSx0KT0+ZS5tYXAocj0+e2xldCBhPXQuZmluZChpPT5pLmlkPT09ci5pZCk7cmV0dXJuIGE/ey4uLnIsLi4uYX06cn0pfSk7dmFyIFUzcixXM3IsRzNyPWYoKCk9PntVM3I9KHtwb2ludGVyOmUsY29udGFpbmVyUmVjdDp0LG1ldHJpY3M6cixjb2x1bW5zOmEsd2lkZ2V0OmkscnRsOm4sZHJhZ09mZnNldFg6cz0wLGRyYWdPZmZzZXRZOm89MH0pPT57bGV0IGM9ZS5jbGllbnRYLXQubGVmdC1zLGw9ZS5jbGllbnRZLXQudG9wLW8sdT1yLm1hcmdpbkhvcml6b250YWxQeCxkPXIubWFyZ2luVmVydGljYWxQeCxoPXIuY2VsbFdpZHRoUHgsbT1yLmNlbGxIZWlnaHRQeCx2PShDLFMsTyk9Pk1hdGgubWF4KFMsTWF0aC5taW4oTyxDKSksYj12KGMtdSwwLHQud2lkdGgtdSksZz12KGwtZCwwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkseT1oK3Usdz1tK2Qsaz1NYXRoLnJvdW5kKGIveSk7biYmKGs9YS1pLnctayksaz12KGssMCxhLWkudyk7bGV0IFI9dihNYXRoLnJvdW5kKGcvdyksMCxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7cmV0dXJue3g6ayx5OlJ9fSxXM3I9KHtwb2ludGVyOmUsY29udGFpbmVyUmVjdDp0LG1ldHJpY3M6cixzdGFydFdpZHRoOmEsc3RhcnRIZWlnaHQ6aSxzdGFydFBvaW50ZXI6bixoYW5kbGVyOnMsd2lkZ2V0Om8sY29sdW1uczpjfSk9PntsZXQgbD1lLmNsaWVudFgtbi5jbGllbnRYLHU9ZS5jbGllbnRZLW4uY2xpZW50WSxkPWEsaD1pLG09ci5jZWxsV2lkdGhQeCtyLm1hcmdpbkhvcml6b250YWxQeCx2PXIuY2VsbEhlaWdodFB4K3IubWFyZ2luVmVydGljYWxQeDtpZihzLmluY2x1ZGVzKCJlIikpe2xldCB5PU1hdGgucm91bmQobC9tKTtkPWEreX1pZihzLmluY2x1ZGVzKCJzIikpe2xldCB5PU1hdGgucm91bmQodS92KTtoPWkreX1sZXQgYj1NYXRoLm1heChvLm1pbld8fDEsTWF0aC5taW4oZCxvLm1heFd8fGMtby54KSksZz1NYXRoLm1heChvLm1pbkh8fDEsTWF0aC5taW4oaCxvLm1heEh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSk7cmV0dXJue3dpZHRoOmIsaGVpZ2h0Omd9fX0pO3ZhciBZM3IsWjNyPWYoKCk9PntNaSgpO3dpKCk7WTNyPSh7d2lkZ2V0OmUsaG9zdDp0LGV2ZW50OnJ9KT0+e2xldCBhPVt7bmFtZToiRGVsZXRlIHRpbGUiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gyIixhY3Rpb246YXN5bmMoKT0+KHQucmVtb3ZlV2lkZ2V0KGUuaWQpLG51bGwpfV07TXIub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMocixhKX19KTt2YXIgRm4sU3IsWDNyLFEzcj1mKCgpPT57dWUoKTtpcigpO01pKCk7UDNyKCk7RjNyKCk7VjNyKCk7RzNyKCk7WjNyKCk7Rm49ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxTcj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sWDNyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1kYXNoYm9hcmRncmlkIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W10sVixCPVtdLFU9W10sSyxJPVtdLHZlPVtdLE1lLFA9W10sbGU9W10sU2UsWj1bXSxBPVtdLCQsaj1bXSxIPVtdLFksZGU9W10sd2U9W107dmFyIExlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgRz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOkFycmF5fSldLGM9W0Yoe3R5cGU6TnVtYmVyfSldLGQ9W0Yoe3R5cGU6T2JqZWN0fSldLHY9W0Yoe3R5cGU6TnVtYmVyfSldLHk9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxSPVtGKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxPPVtGKHt0eXBlOlN0cmluZ30pXSxxPVtGKHt0eXBlOkJvb2xlYW59KV0sRT1bRih7dHlwZTpCb29sZWFufSldLFY9W0Yoe2F0dHJpYnV0ZTohMX0pXSxLPVtGKHt0eXBlOlN0cmluZ30pXSxNZT1bc2UoKV0sU2U9W3NlKCldLCQ9W3NlKCldLFk9W3NlKCldLEZuKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2lkZ2V0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+IndpZGdldHMiaW4gVyxnZXQ6Vz0+Vy53aWRnZXRzLHNldDooVyxhZSk9PntXLndpZGdldHM9YWV9fSxtZXRhZGF0YTpHfSxzLG8pLEZuKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2VsbEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+ImNlbGxIZWlnaHQiaW4gVyxnZXQ6Vz0+Vy5jZWxsSGVpZ2h0LHNldDooVyxhZSk9PntXLmNlbGxIZWlnaHQ9YWV9fSxtZXRhZGF0YTpHfSxsLHUpLEZuKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFyZ2luIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4ibWFyZ2luImluIFcsZ2V0Olc9PlcubWFyZ2luLHNldDooVyxhZSk9PntXLm1hcmdpbj1hZX19LG1ldGFkYXRhOkd9LGgsbSksRm4odGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2x1bW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iY29sdW1ucyJpbiBXLGdldDpXPT5XLmNvbHVtbnMsc2V0OihXLGFlKT0+e1cuY29sdW1ucz1hZX19LG1ldGFkYXRhOkd9LGIsZyksRm4odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0YWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+ImVkaXRhYmxlImluIFcsZ2V0Olc9PlcuZWRpdGFibGUsc2V0OihXLGFlKT0+e1cuZWRpdGFibGU9YWV9fSxtZXRhZGF0YTpHfSx3LGspLEZuKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlQW5pbWF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iZW5hYmxlQW5pbWF0aW9uImluIFcsZ2V0Olc9PlcuZW5hYmxlQW5pbWF0aW9uLHNldDooVyxhZSk9PntXLmVuYWJsZUFuaW1hdGlvbj1hZX19LG1ldGFkYXRhOkd9LEMsUyksRm4odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjZWxsSGVpZ2h0VW5pdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+ImNlbGxIZWlnaHRVbml0ImluIFcsZ2V0Olc9PlcuY2VsbEhlaWdodFVuaXQsc2V0OihXLGFlKT0+e1cuY2VsbEhlaWdodFVuaXQ9YWV9fSxtZXRhZGF0YTpHfSxELE4pLEZuKHRoaXMsbnVsbCxxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicnRsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4icnRsImluIFcsZ2V0Olc9PlcucnRsLHNldDooVyxhZSk9PntXLnJ0bD1hZX19LG1ldGFkYXRhOkd9LF8seiksRm4odGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93R3JpZExpbmVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4ic2hvd0dyaWRMaW5lcyJpbiBXLGdldDpXPT5XLnNob3dHcmlkTGluZXMsc2V0OihXLGFlKT0+e1cuc2hvd0dyaWRMaW5lcz1hZX19LG1ldGFkYXRhOkd9LFQsTCksRm4odGhpcyxudWxsLFYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYXlvdXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4ibGF5b3V0cyJpbiBXLGdldDpXPT5XLmxheW91dHMsc2V0OihXLGFlKT0+e1cubGF5b3V0cz1hZX19LG1ldGFkYXRhOkd9LEIsVSksRm4odGhpcyxudWxsLEsse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVCcmVha3BvaW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iYWN0aXZlQnJlYWtwb2ludCJpbiBXLGdldDpXPT5XLmFjdGl2ZUJyZWFrcG9pbnQsc2V0OihXLGFlKT0+e1cuYWN0aXZlQnJlYWtwb2ludD1hZX19LG1ldGFkYXRhOkd9LEksdmUpLEZuKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJwbGFjZWhvbGRlclBvc2l0aW9uImluIFcsZ2V0Olc9PlcucGxhY2Vob2xkZXJQb3NpdGlvbixzZXQ6KFcsYWUpPT57Vy5wbGFjZWhvbGRlclBvc2l0aW9uPWFlfX0sbWV0YWRhdGE6R30sUCxsZSksRm4odGhpcyxudWxsLFNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWV0cmljcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+Im1ldHJpY3MiaW4gVyxnZXQ6Vz0+Vy5tZXRyaWNzLHNldDooVyxhZSk9PntXLm1ldHJpY3M9YWV9fSxtZXRhZGF0YTpHfSxaLEEpLEZuKHRoaXMsbnVsbCwkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRNYXJnaW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4icmVzb2x2ZWRNYXJnaW5zImluIFcsZ2V0Olc9PlcucmVzb2x2ZWRNYXJnaW5zLHNldDooVyxhZSk9PntXLnJlc29sdmVkTWFyZ2lucz1hZX19LG1ldGFkYXRhOkd9LGosSCksRm4odGhpcyxudWxsLFkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcmV2aWV3V2lkZ2V0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+InByZXZpZXdXaWRnZXRzImluIFcsZ2V0Olc9PlcucHJldmlld1dpZGdldHMsc2V0OihXLGFlKT0+e1cucHJldmlld1dpZGdldHM9YWV9fSxtZXRhZGF0YTpHfSxkZSx3ZSksRm4obnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6R30sbnVsbCxyKSxMZT1hPXQudmFsdWUsRyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpHfSl9c3RhdGljIGRlbW89STNyO3N0YXRpYyBkZW1vR3JvdXBzPVsiTGF5b3V0Il07c3RhdGljIHN0eWxlcz1OM3I7I2U9U3IodGhpcyxzLFtdKTtnZXQgd2lkZ2V0cygpe3JldHVybiB0aGlzLiNlfXNldCB3aWRnZXRzKEcpe3RoaXMuI2U9R30jdD0oU3IodGhpcyxvKSxTcih0aGlzLGwsODApKTtnZXQgY2VsbEhlaWdodCgpe3JldHVybiB0aGlzLiN0fXNldCBjZWxsSGVpZ2h0KEcpe3RoaXMuI3Q9R30jcj0oU3IodGhpcyx1KSxTcih0aGlzLGgsMTApKTtnZXQgbWFyZ2luKCl7cmV0dXJuIHRoaXMuI3J9c2V0IG1hcmdpbihHKXt0aGlzLiNyPUd9I2E9KFNyKHRoaXMsbSksU3IodGhpcyxiLDEyKSk7Z2V0IGNvbHVtbnMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgY29sdW1ucyhHKXt0aGlzLiNhPUd9I2k9KFNyKHRoaXMsZyksU3IodGhpcyx3LCEwKSk7Z2V0IGVkaXRhYmxlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGVkaXRhYmxlKEcpe3RoaXMuI2k9R30jbj0oU3IodGhpcyxrKSxTcih0aGlzLEMsITApKTtnZXQgZW5hYmxlQW5pbWF0aW9uKCl7cmV0dXJuIHRoaXMuI259c2V0IGVuYWJsZUFuaW1hdGlvbihHKXt0aGlzLiNuPUd9I3M9KFNyKHRoaXMsUyksU3IodGhpcyxELCJweCIpKTtnZXQgY2VsbEhlaWdodFVuaXQoKXtyZXR1cm4gdGhpcy4jc31zZXQgY2VsbEhlaWdodFVuaXQoRyl7dGhpcy4jcz1HfSNvPShTcih0aGlzLE4pLFNyKHRoaXMsXywhMSkpO2dldCBydGwoKXtyZXR1cm4gdGhpcy4jb31zZXQgcnRsKEcpe3RoaXMuI289R30jbD0oU3IodGhpcyx6KSxTcih0aGlzLFQsITEpKTtnZXQgc2hvd0dyaWRMaW5lcygpe3JldHVybiB0aGlzLiNsfXNldCBzaG93R3JpZExpbmVzKEcpe3RoaXMuI2w9R30jYz0oU3IodGhpcyxMKSxTcih0aGlzLEIsdm9pZCAwKSk7Z2V0IGxheW91dHMoKXtyZXR1cm4gdGhpcy4jY31zZXQgbGF5b3V0cyhHKXt0aGlzLiNjPUd9I2Q9KFNyKHRoaXMsVSksU3IodGhpcyxJLCJiYXNlIikpO2dldCBhY3RpdmVCcmVha3BvaW50KCl7cmV0dXJuIHRoaXMuI2R9c2V0IGFjdGl2ZUJyZWFrcG9pbnQoRyl7dGhpcy4jZD1HfSN1PShTcih0aGlzLHZlKSxTcih0aGlzLFAsbnVsbCkpO2dldCBwbGFjZWhvbGRlclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHBsYWNlaG9sZGVyUG9zaXRpb24oRyl7dGhpcy4jdT1HfSNwPShTcih0aGlzLGxlKSxTcih0aGlzLFosbnVsbCkpO2dldCBtZXRyaWNzKCl7cmV0dXJuIHRoaXMuI3B9c2V0IG1ldHJpY3MoRyl7dGhpcy4jcD1HfSNmPShTcih0aGlzLEEpLFNyKHRoaXMsaixudWxsKSk7Z2V0IHJlc29sdmVkTWFyZ2lucygpe3JldHVybiB0aGlzLiNmfXNldCByZXNvbHZlZE1hcmdpbnMoRyl7dGhpcy4jZj1HfSNoPShTcih0aGlzLEgpLFNyKHRoaXMsZGUsbnVsbCkpO2dldCBwcmV2aWV3V2lkZ2V0cygpe3JldHVybiB0aGlzLiNofXNldCBwcmV2aWV3V2lkZ2V0cyhHKXt0aGlzLiNoPUd9Y29udGFpbmVyQm91bmRzPShTcih0aGlzLHdlKSxudWxsKTtkcmFnU3RhdGU9bnVsbDtyZXNpemVTdGF0ZT1udWxsO3Jlc2l6ZU9ic2VydmVyO2ludGVyYWN0aW9uQWN0aXZlPSExO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmNvbXB1dGVNZXRyaWNzKCksdGhpcy5vYnNlcnZlUmVzaXplKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCksdGhpcy5yZWxlYXNlUG9pbnRlckV2ZW50cygpfXVwZGF0ZWQoRyl7KEcuaGFzKCJtYXJnaW4iKXx8Ry5oYXMoImNvbHVtbnMiKXx8Ry5oYXMoImNlbGxIZWlnaHQiKXx8Ry5oYXMoImNlbGxIZWlnaHRVbml0IikpJiZ0aGlzLmNvbXB1dGVNZXRyaWNzKCksRy5oYXMoIndpZGdldHMiKSYmIXRoaXMuaW50ZXJhY3Rpb25BY3RpdmUmJnRoaXMubm90aWZ5TGF5b3V0Q2hhbmdlKCl9cmVuZGVyKCl7bGV0IEc9dGhpcy53aWRnZXRzO2lmKEcubGVuZ3RoPT09MClyZXR1cm4gTWAKICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpsYXlvdXRHcmlkIn0+PC9kZWVzLWljb24+CiAgICAgICAgICA8ZGl2Pk5vIHdpZGdldHMgY29uZmlndXJlZDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tdG9wOiA4cHg7Ij5BZGQgd2lkZ2V0cyB0byBwb3B1bGF0ZSB0aGUgZGFzaGJvYXJkPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA7bGV0IFc9dGhpcy5lbnN1cmVNZXRyaWNzKCksYWU9dGhpcy5yZXNvbHZlZE1hcmdpbnM/P0c2ZSh0aGlzLm1hcmdpbikseWU9Vy5jZWxsSGVpZ2h0UHgsbWU9dGhpcy5wcmV2aWV3V2lkZ2V0cz8/dGhpcy53aWRnZXRzLENlPUgzcihtZSxhZSx5ZSksYmU9dGhpcy5wcmV2aWV3V2lkZ2V0cz9uZXcgTWFwKHRoaXMucHJldmlld1dpZGdldHMubWFwKG5lPT5bbmUuaWQsbmVdKSk6bnVsbDtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jb250YWluZXIiIHN0eWxlPSJoZWlnaHQ6ICR7Q2V9cHg7Ij4KICAgICAgICAke3RoaXMuc2hvd0dyaWRMaW5lcz90aGlzLnJlbmRlckdyaWRMaW5lcyhXLENlKTpudWxsfQogICAgICAgICR7Ry5tYXAobmU9PnRoaXMucmVuZGVyV2lkZ2V0KG5lLFcsYWUsYmUpKX0KICAgICAgICAke3RoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj90aGlzLnJlbmRlclBsYWNlaG9sZGVyKFcsYWUpOm51bGx9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJHcmlkTGluZXMoRyxXKXtsZXQgYWU9W10seWU9W10sbWU9Ry5jZWxsV2lkdGhQeCtHLm1hcmdpbkhvcml6b250YWxQeCxDZT1HLmNlbGxIZWlnaHRQeCtHLm1hcmdpblZlcnRpY2FsUHg7Zm9yKGxldCBuZT0wO25lPD10aGlzLmNvbHVtbnM7bmUrKyl7bGV0IHplPW5lKm1lK0cubWFyZ2luSG9yaXpvbnRhbFB4LEllPXRoaXMucHhUb1BlcmNlbnQoemUsRy5jb250YWluZXJXaWR0aCk7YWUucHVzaChNYDxkaXYgY2xhc3M9ImdyaWQtbGluZS12ZXJ0aWNhbCIgc3R5bGU9ImxlZnQ6ICR7SWV9JTsiPjwvZGl2PmApfWxldCBiZT1NYXRoLmNlaWwoVy9DZSk7Zm9yKGxldCBuZT0wO25lPD1iZTtuZSsrKXtsZXQgemU9bmUqQ2U7eWUucHVzaChNYDxkaXYgY2xhc3M9ImdyaWQtbGluZS1ob3Jpem9udGFsIiBzdHlsZT0idG9wOiAke3plfXB4OyI+PC9kaXY+YCl9cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGluZXMiPgogICAgICAgICR7YWV9CiAgICAgICAgJHt5ZX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlcldpZGdldChHLFcsYWUseWUpe2xldCBtZT10aGlzLmRyYWdTdGF0ZT8ud2lkZ2V0SWQ9PT1HLmlkLENlPXRoaXMucmVzaXplU3RhdGU/LndpZGdldElkPT09Ry5pZCxiZT1HLmxvY2tlZHx8IXRoaXMuZWRpdGFibGUsbmU9eWU/LmdldChHLmlkKT8/bnVsbCx6ZT1tZT9HOm5lPz9HLEllPXRoaXMuY29tcHV0ZVdpZGdldFJlY3QoemUsVyxhZSksWmU9dGhpcy5ydGw/InJpZ2h0IjoibGVmdCIsdGU9dGhpcy5weFRvUGVyY2VudChJZS5sZWZ0LFcuY29udGFpbmVyV2lkdGgpLFg9dGhpcy5weFRvUGVyY2VudChJZS53aWR0aCxXLmNvbnRhaW5lcldpZHRoKSxlZT0iIjtpZihtZSYmdGhpcy5kcmFnU3RhdGU/LmN1cnJlbnRQb2ludGVyKXtsZXQgeGU9dGhpcy5kcmFnU3RhdGUuY3VycmVudFBvaW50ZXIsQWU9dGhpcy5jb250YWluZXJCb3VuZHM/P3RoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksVWU9eGUuY2xpZW50WC1BZS5sZWZ0LXRoaXMuZHJhZ1N0YXRlLm9mZnNldFgtSWUubGVmdCxrdD14ZS5jbGllbnRZLUFlLnRvcC10aGlzLmRyYWdTdGF0ZS5vZmZzZXRZLUllLnRvcDtlZT1gdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHtVZX1weCwgJHtrdH1weCk7YH1yZXR1cm4gTWAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJncmlkLXdpZGdldCAke21lPyJkcmFnZ2luZyI6IiJ9ICR7Q2U/InJlc2l6aW5nIjoiIn0iCiAgICAgICAgc3R5bGU9IgogICAgICAgICAgJHtaZX06ICR7dGV9JTsKICAgICAgICAgIHRvcDogJHtJZS50b3B9cHg7CiAgICAgICAgICB3aWR0aDogJHtYfSU7CiAgICAgICAgICBoZWlnaHQ6ICR7SWUuaGVpZ2h0fXB4OwogICAgICAgICAgJHtlZX0KICAgICAgICAiCiAgICAgICAgZGF0YS13aWRnZXQtaWQ9JHtHLmlkfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgJHtHLnRpdGxlP01gCiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ3aWRnZXQtaGVhZGVyICR7YmU/ImxvY2tlZCI6IiJ9IgogICAgICAgICAgICAgICAgICBAcG9pbnRlcmRvd249JHshYmUmJiFHLm5vTW92ZT94ZT0+dGhpcy5zdGFydERyYWcoeGUsRyk6bnVsbH0KICAgICAgICAgICAgICAgICAgQGNvbnRleHRtZW51PSR7eGU9PnRoaXMuaGFuZGxlV2lkZ2V0Q29udGV4dE1lbnUoeGUsRyl9CiAgICAgICAgICAgICAgICAgIHRhYmluZGV4PSR7IWJlJiYhRy5ub01vdmU/MDotMX0KICAgICAgICAgICAgICAgICAgQGtleWRvd249JHt4ZT0+dGhpcy5oYW5kbGVIZWFkZXJLZXlkb3duKHhlLEcpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAke0cuaWNvbj9NYDxkZWVzLWljb24gLmljb249JHtHLmljb259PjwvZGVlcy1pY29uPmA6bnVsbH0KICAgICAgICAgICAgICAgICAgJHtHLnRpdGxlfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDpudWxsfQogICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWJvZHkgJHtHLnRpdGxlPyJoYXMtaGVhZGVyIjoiIn0iPgogICAgICAgICAgICAke0cuY29udGVudH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHshYmUmJiFHLm5vUmVzaXplP01gCiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlIHJlc2l6ZS1oYW5kbGUtZSIKICAgICAgICAgICAgICAgICAgQHBvaW50ZXJkb3duPSR7eGU9PnRoaXMuc3RhcnRSZXNpemUoeGUsRywiZSIpfQogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0icmVzaXplLWhhbmRsZSByZXNpemUtaGFuZGxlLXMiCiAgICAgICAgICAgICAgICAgIEBwb2ludGVyZG93bj0ke3hlPT50aGlzLnN0YXJ0UmVzaXplKHhlLEcsInMiKX0KICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1oYW5kbGUgcmVzaXplLWhhbmRsZS1zZSIKICAgICAgICAgICAgICAgICAgQHBvaW50ZXJkb3duPSR7eGU9PnRoaXMuc3RhcnRSZXNpemUoeGUsRywic2UiKX0KICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICBgOm51bGx9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJQbGFjZWhvbGRlcihHLFcpe2lmKCF0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24pcmV0dXJuIE1gYDtsZXQgYWU9dGhpcy5jb21wdXRlV2lkZ2V0UmVjdCh0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24sRyxXKSx5ZT10aGlzLnJ0bD8icmlnaHQiOiJsZWZ0IixtZT10aGlzLnB4VG9QZXJjZW50KGFlLmxlZnQsRy5jb250YWluZXJXaWR0aCksQ2U9dGhpcy5weFRvUGVyY2VudChhZS53aWR0aCxHLmNvbnRhaW5lcldpZHRoKTtyZXR1cm4gTWAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJncmlkLXdpZGdldCBwbGFjZWhvbGRlciIKICAgICAgICBzdHlsZT0iCiAgICAgICAgICAke3llfTogJHttZX0lOwogICAgICAgICAgdG9wOiAke2FlLnRvcH1weDsKICAgICAgICAgIHdpZHRoOiAke0NlfSU7CiAgICAgICAgICBoZWlnaHQ6ICR7YWUuaGVpZ2h0fXB4OwogICAgICAgICIKICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1jb250ZW50Ij48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXN0YXJ0RHJhZyhHLFcpe2lmKCF0aGlzLmVkaXRhYmxlfHxXLm5vTW92ZXx8Vy5sb2NrZWQpcmV0dXJuO0cucHJldmVudERlZmF1bHQoKSxHLnN0b3BQcm9wYWdhdGlvbigpO2xldCBhZT1HLmN1cnJlbnRUYXJnZXQuY2xvc2VzdCgiLmdyaWQtd2lkZ2V0Iik7aWYoIWFlKXJldHVybjtsZXQgeWU9YWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5jb250YWluZXJCb3VuZHM9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0aGlzLmVuc3VyZU1ldHJpY3MoKSx0aGlzLmRyYWdTdGF0ZT17d2lkZ2V0SWQ6Vy5pZCxwb2ludGVySWQ6Ry5wb2ludGVySWQsb2Zmc2V0WDpHLmNsaWVudFgteWUubGVmdCxvZmZzZXRZOkcuY2xpZW50WS15ZS50b3Asc3RhcnQ6e2lkOlcuaWQseDpXLngseTpXLnksdzpXLncsaDpXLmh9LHByZXZpb3VzUG9zaXRpb246e2lkOlcuaWQseDpXLngseTpXLnksdzpXLncsaDpXLmh9LGN1cnJlbnRQb2ludGVyOntjbGllbnRYOkcuY2xpZW50WCxjbGllbnRZOkcuY2xpZW50WX0sbGFzdFBsYWNlbWVudDpudWxsfSx0aGlzLmludGVyYWN0aW9uQWN0aXZlPSEwLEcuY3VycmVudFRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShHLnBvaW50ZXJJZCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHRoaXMuaGFuZGxlRHJhZ01vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdGhpcy5oYW5kbGVEcmFnRW5kKSx0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOlcuaWQseDpXLngseTpXLnksdzpXLncsaDpXLmh9fWhhbmRsZURyYWdNb3ZlPUc9PntpZighdGhpcy5kcmFnU3RhdGUpcmV0dXJuO2xldCBXPXRoaXMuZW5zdXJlTWV0cmljcygpLGFlPXRoaXMud2lkZ2V0cyx5ZT1hZS5maW5kKG5lPT5uZS5pZD09PXRoaXMuZHJhZ1N0YXRlLndpZGdldElkKTtpZigheWUpcmV0dXJuO0cucHJldmVudERlZmF1bHQoKTtsZXQgbWU9dGhpcy5kcmFnU3RhdGUucHJldmlvdXNQb3NpdGlvbixDZT1VM3Ioe3BvaW50ZXI6e2NsaWVudFg6Ry5jbGllbnRYLGNsaWVudFk6Ry5jbGllbnRZfSxjb250YWluZXJSZWN0OnRoaXMuY29udGFpbmVyQm91bmRzPz90aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG1ldHJpY3M6Vyxjb2x1bW5zOnRoaXMuY29sdW1ucyx3aWRnZXQ6eWUscnRsOnRoaXMucnRsLGRyYWdPZmZzZXRYOnRoaXMuZHJhZ1N0YXRlLm9mZnNldFgsZHJhZ09mZnNldFk6dGhpcy5kcmFnU3RhdGUub2Zmc2V0WX0pLGJlPWkzKGFlLHllLmlkLHt4OkNlLngseTpDZS55fSx0aGlzLmNvbHVtbnMsbWUpO2lmKGJlKXtsZXQgbmU9YmUud2lkZ2V0cy5maW5kKEllPT5JZS5pZD09PXllLmlkKTt0aGlzLmRyYWdTdGF0ZT17Li4udGhpcy5kcmFnU3RhdGUsY3VycmVudFBvaW50ZXI6e2NsaWVudFg6Ry5jbGllbnRYLGNsaWVudFk6Ry5jbGllbnRZfSxsYXN0UGxhY2VtZW50OmJlLHByZXZpb3VzUG9zaXRpb246bmU/e2lkOm5lLmlkLHg6bmUueCx5Om5lLnksdzpuZS53LGg6bmUuaH06e2lkOnllLmlkLHg6Q2UueCx5OkNlLnksdzp5ZS53LGg6eWUuaH19LHRoaXMucHJldmlld1dpZGdldHM9YmUud2lkZ2V0cztsZXQgemU9YmUud2lkZ2V0cy5maW5kKEllPT5JZS5pZD09PXllLmlkKTt6ZT90aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOnplLmlkLHg6emUueCx5OnplLnksdzp6ZS53LGg6emUuaH06dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPXtpZDp5ZS5pZCx4OkNlLngseTpDZS55LHc6eWUudyxoOnllLmh9fWVsc2UgdGhpcy5wcmV2aWV3V2lkZ2V0cz1udWxsLHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj1udWxsO3RoaXMucmVxdWVzdFVwZGF0ZSgpfTtoYW5kbGVEcmFnRW5kPUc9PntsZXQgVz10aGlzLmRyYWdTdGF0ZTtpZighV3x8Ry5wb2ludGVySWQhPT1XLnBvaW50ZXJJZClyZXR1cm47bGV0IGFlPXRoaXMud2lkZ2V0czt0aGlzLnByZXZpZXdXaWRnZXRzPW51bGw7bGV0IHllPXRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8/Vy5zdGFydCxtZT1pMyhhZSxXLndpZGdldElkLHt4OnllLngseTp5ZS55fSx0aGlzLmNvbHVtbnMsVy5wcmV2aW91c1Bvc2l0aW9uKTtpZihtZSl7bGV0IENlPW1lLndpZGdldHMuZmluZChiZT0+YmUuaWQ9PT1XLndpZGdldElkKTtDZSYmKG1lLndpZGdldHMuc29tZShuZT0+bmUuaWQ9PT1XLndpZGdldElkPyExOkNlLng8bmUueCtuZS53JiZDZS54K0NlLnc+bmUueCYmQ2UueTxuZS55K25lLmgmJkNlLnkrQ2UuaD5uZS55KT90aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcChuZT0+bmUuaWQ9PT1XLndpZGdldElkP3suLi5uZSx4Olcuc3RhcnQueCx5Olcuc3RhcnQueX06bmUpOnRoaXMuY29tbWl0UGxhY2VtZW50KG1lLFcud2lkZ2V0SWQsIndpZGdldC1tb3ZlIikpfWVsc2UgdGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5tYXAoQ2U9PkNlLmlkPT09Vy53aWRnZXRJZD97Li4uQ2UseDpXLnN0YXJ0LngseTpXLnN0YXJ0Lnl9OkNlKTt0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249bnVsbCx0aGlzLmRyYWdTdGF0ZT1udWxsLHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITEsdGhpcy5yZWxlYXNlUG9pbnRlckV2ZW50cygpfTtzdGFydFJlc2l6ZShHLFcsYWUpeyF0aGlzLmVkaXRhYmxlfHxXLm5vUmVzaXplfHxXLmxvY2tlZHx8KEcucHJldmVudERlZmF1bHQoKSxHLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZW5zdXJlTWV0cmljcygpLHRoaXMucmVzaXplU3RhdGU9e3dpZGdldElkOlcuaWQscG9pbnRlcklkOkcucG9pbnRlcklkLGhhbmRsZXI6YWUsc3RhcnRQb2ludGVyOntjbGllbnRYOkcuY2xpZW50WCxjbGllbnRZOkcuY2xpZW50WX0sc3RhcnQ6e2lkOlcuaWQseDpXLngseTpXLnksdzpXLncsaDpXLmh9LHN0YXJ0V2lkdGg6Vy53LHN0YXJ0SGVpZ2h0OlcuaCxsYXN0UGxhY2VtZW50Om51bGx9LHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITAsRy5jdXJyZW50VGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKEcucG9pbnRlcklkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVSZXNpemVNb3ZlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuaGFuZGxlUmVzaXplRW5kKSx0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOlcuaWQseDpXLngseTpXLnksdzpXLncsaDpXLmh9KX1oYW5kbGVSZXNpemVNb3ZlPUc9PntpZighdGhpcy5yZXNpemVTdGF0ZSlyZXR1cm47bGV0IFc9dGhpcy5lbnN1cmVNZXRyaWNzKCksYWU9dGhpcy53aWRnZXRzLHllPWFlLmZpbmQoYmU9PmJlLmlkPT09dGhpcy5yZXNpemVTdGF0ZS53aWRnZXRJZCk7aWYoIXllKXJldHVybjtHLnByZXZlbnREZWZhdWx0KCk7bGV0IG1lPVczcih7cG9pbnRlcjp7Y2xpZW50WDpHLmNsaWVudFgsY2xpZW50WTpHLmNsaWVudFl9LGNvbnRhaW5lclJlY3Q6dGhpcy5jb250YWluZXJCb3VuZHM/P3RoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbWV0cmljczpXLHN0YXJ0V2lkdGg6dGhpcy5yZXNpemVTdGF0ZS5zdGFydFdpZHRoLHN0YXJ0SGVpZ2h0OnRoaXMucmVzaXplU3RhdGUuc3RhcnRIZWlnaHQsc3RhcnRQb2ludGVyOnRoaXMucmVzaXplU3RhdGUuc3RhcnRQb2ludGVyLGhhbmRsZXI6dGhpcy5yZXNpemVTdGF0ZS5oYW5kbGVyLHdpZGdldDp5ZSxjb2x1bW5zOnRoaXMuY29sdW1uc30pLENlPWkzKGFlLHllLmlkLHt4OnllLngseTp5ZS55LHc6bWUud2lkdGgsaDptZS5oZWlnaHR9LHRoaXMuY29sdW1ucyx0aGlzLnJlc2l6ZVN0YXRlLnN0YXJ0KTtpZihDZSl7dGhpcy5yZXNpemVTdGF0ZT17Li4udGhpcy5yZXNpemVTdGF0ZSxsYXN0UGxhY2VtZW50OkNlfSx0aGlzLnByZXZpZXdXaWRnZXRzPUNlLndpZGdldHM7bGV0IGJlPUNlLndpZGdldHMuZmluZChuZT0+bmUuaWQ9PT15ZS5pZCk7YmU/dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPXtpZDpiZS5pZCx4OmJlLngseTpiZS55LHc6YmUudyxoOmJlLmh9OnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6eWUuaWQseDp5ZS54LHk6eWUueSx3Om1lLndpZHRoLGg6bWUuaGVpZ2h0fX1lbHNlIHRoaXMucHJldmlld1dpZGdldHM9bnVsbCx0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249bnVsbDt0aGlzLnJlcXVlc3RVcGRhdGUoKX07aGFuZGxlUmVzaXplRW5kPUc9PntsZXQgVz10aGlzLnJlc2l6ZVN0YXRlO2lmKCFXfHxHLnBvaW50ZXJJZCE9PVcucG9pbnRlcklkKXJldHVybjtsZXQgYWU9dGhpcy53aWRnZXRzO3RoaXMucHJldmlld1dpZGdldHM9bnVsbDtsZXQgeWU9Vy5sYXN0UGxhY2VtZW50Pz9pMyhhZSxXLndpZGdldElkLHt4OnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8ueD8/Vy5zdGFydC54LHk6dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPy55Pz9XLnN0YXJ0Lnksdzp0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24/Lnc/P1cuc3RhcnQudyxoOnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8uaD8/Vy5zdGFydC5ofSx0aGlzLmNvbHVtbnMsVy5zdGFydCk7eWU/dGhpcy5jb21taXRQbGFjZW1lbnQoeWUsVy53aWRnZXRJZCwid2lkZ2V0LXJlc2l6ZSIpOnRoaXMud2lkZ2V0cz10aGlzLndpZGdldHMubWFwKG1lPT5tZS5pZD09PVcud2lkZ2V0SWQ/ey4uLm1lLHc6Vy5zdGFydC53LGg6Vy5zdGFydC5ofTptZSksdGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPW51bGwsdGhpcy5yZXNpemVTdGF0ZT1udWxsLHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITEsdGhpcy5yZWxlYXNlUG9pbnRlckV2ZW50cygpfTtoYW5kbGVIZWFkZXJLZXlkb3duKEcsVyl7aWYoIXRoaXMuZWRpdGFibGV8fFcubm9Nb3ZlfHxXLmxvY2tlZClyZXR1cm47bGV0IGFlPUcua2V5LHllPUcuc2hpZnRLZXksbWU9bnVsbDtpZih5ZSYmWyJBcnJvd0xlZnQiLCJBcnJvd1JpZ2h0IiwiQXJyb3dVcCIsIkFycm93RG93biJdLmluY2x1ZGVzKGFlKSl7Ry5wcmV2ZW50RGVmYXVsdCgpO2xldCBJZT1hZT09PSJBcnJvd1JpZ2h0Inx8YWU9PT0iQXJyb3dEb3duIj8xOi0xO2lmKGFlPT09IkFycm93TGVmdCJ8fGFlPT09IkFycm93UmlnaHQiKXtsZXQgWmU9Vy5tYXhXPz90aGlzLmNvbHVtbnMtVy54LHRlPU1hdGgubWF4KFcubWluVz8/MSxNYXRoLm1pbihaZSxXLncrSWUpKTttZT1pMyh0aGlzLndpZGdldHMsVy5pZCx7eDpXLngseTpXLnksdzp0ZSxoOlcuaH0sdGhpcy5jb2x1bW5zKX1lbHNle2xldCBaZT1XLm1heEg/P051bWJlci5QT1NJVElWRV9JTkZJTklUWSx0ZT1NYXRoLm1heChXLm1pbkg/PzEsTWF0aC5taW4oWmUsVy5oK0llKSk7bWU9aTModGhpcy53aWRnZXRzLFcuaWQse3g6Vy54LHk6Vy55LHc6Vy53LGg6dGV9LHRoaXMuY29sdW1ucyl9bWUmJnRoaXMuY29tbWl0UGxhY2VtZW50KG1lLFcuaWQsIndpZGdldC1yZXNpemUiKTtyZXR1cm59bGV0IGJlPXtBcnJvd0xlZnQ6e2R4Oi0xLGR5OjB9LEFycm93UmlnaHQ6e2R4OjEsZHk6MH0sQXJyb3dVcDp7ZHg6MCxkeTotMX0sQXJyb3dEb3duOntkeDowLGR5OjF9fVthZV07aWYoIWJlKXJldHVybjtHLnByZXZlbnREZWZhdWx0KCk7bGV0IG5lPU1hdGgubWF4KDAsTWF0aC5taW4odGhpcy5jb2x1bW5zLVcudyxXLngrYmUuZHgpKSx6ZT1NYXRoLm1heCgwLFcueStiZS5keSk7bWU9aTModGhpcy53aWRnZXRzLFcuaWQse3g6bmUseTp6ZX0sdGhpcy5jb2x1bW5zKSxtZSYmdGhpcy5jb21taXRQbGFjZW1lbnQobWUsVy5pZCwid2lkZ2V0LW1vdmUiKX1oYW5kbGVXaWRnZXRDb250ZXh0TWVudShHLFcpe0cucHJldmVudERlZmF1bHQoKSxHLnN0b3BQcm9wYWdhdGlvbigpLFkzcih7d2lkZ2V0OlcsaG9zdDp0aGlzLGV2ZW50Okd9KX1jb21taXRQbGFjZW1lbnQoRyxXLGFlKXt0aGlzLnByZXZpZXdXaWRnZXRzPW51bGwsdGhpcy53aWRnZXRzPUcud2lkZ2V0cztsZXQgeWU9dGhpcy53aWRnZXRzLmZpbmQobWU9Pm1lLmlkPT09Vyk7eWUmJnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoYWUse2RldGFpbDp7d2lkZ2V0OnllLGRpc3BsYWNlZDpHLm1vdmVkV2lkZ2V0cy5maWx0ZXIobWU9Pm1lIT09Vyksc3dhcHBlZFdpdGg6Ry5zd2FwcGVkV2l0aH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1yZW1vdmVXaWRnZXQoRyl7bGV0IFc9dGhpcy53aWRnZXRzLmZpbmQoYWU9PmFlLmlkPT09Ryk7VyYmKHRoaXMud2lkZ2V0cz10aGlzLndpZGdldHMuZmlsdGVyKGFlPT5hZS5pZCE9PUcpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIndpZGdldC1yZW1vdmUiLHtkZXRhaWw6e3dpZGdldDpXfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX11cGRhdGVXaWRnZXQoRyxXKXt0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcChhZT0+YWUuaWQ9PT1HP3suLi5hZSwuLi5XfTphZSl9Z2V0TGF5b3V0KCl7cmV0dXJuIHRoaXMud2lkZ2V0cy5tYXAoKHtpZDpHLHg6Vyx5OmFlLHc6eWUsaDptZX0pPT4oe2lkOkcseDpXLHk6YWUsdzp5ZSxoOm1lfSkpfXNldExheW91dChHKXt0aGlzLndpZGdldHM9ajNyKHRoaXMud2lkZ2V0cyxHKX1sb2NrR3JpZCgpe3RoaXMuZWRpdGFibGU9ITF9dW5sb2NrR3JpZCgpe3RoaXMuZWRpdGFibGU9ITB9YWRkV2lkZ2V0KEcsVz0hMSl7bGV0IGFlPXsuLi5HfTtpZihXfHxhZS5hdXRvUG9zaXRpb24pe2xldCB5ZT1ZNmUodGhpcy53aWRnZXRzLGFlLncsYWUuaCx0aGlzLmNvbHVtbnMpO2FlLng9eWUueCxhZS55PXllLnl9dGhpcy53aWRnZXRzPVsuLi50aGlzLndpZGdldHMsYWVdfWNvbXBhY3QoRz0idmVydGljYWwiKXtsZXQgVz10aGlzLndpZGdldHMubWFwKGFlPT4oey4uLmFlfSkpO3EzcihXLEcpLHRoaXMud2lkZ2V0cz1XfWFwcGx5QnJlYWtwb2ludExheW91dChHKXt0aGlzLmFjdGl2ZUJyZWFrcG9pbnQ9RztsZXQgVz10aGlzLmxheW91dHM/LltHXTtXJiZ0aGlzLnNldExheW91dChXKX1ub3RpZnlMYXlvdXRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsYXlvdXQtY2hhbmdlIix7ZGV0YWlsOntsYXlvdXQ6dGhpcy5nZXRMYXlvdXQoKX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1lbnN1cmVNZXRyaWNzKCl7cmV0dXJuIHRoaXMubWV0cmljc3x8dGhpcy5jb21wdXRlTWV0cmljcygpLHRoaXMubWV0cmljc31jb21wdXRlTWV0cmljcygpe2lmKCF0aGlzLmlzQ29ubmVjdGVkKXJldHVybjtsZXQgRz10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuY29udGFpbmVyQm91bmRzPUc7bGV0IFc9RzZlKHRoaXMubWFyZ2luKTt0aGlzLnJlc29sdmVkTWFyZ2lucz1XLHRoaXMubWV0cmljcz1CM3IoRy53aWR0aCx0aGlzLmNvbHVtbnMsVyx0aGlzLmNlbGxIZWlnaHQsdGhpcy5jZWxsSGVpZ2h0VW5pdCl9b2JzZXJ2ZVJlc2l6ZSgpe3RoaXMucmVzaXplT2JzZXJ2ZXJ8fCh0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuY29tcHV0ZU1ldHJpY3MoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKSl9ZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCl7dGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9dm9pZCAwfXJlbGVhc2VQb2ludGVyRXZlbnRzKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHRoaXMuaGFuZGxlRHJhZ01vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdGhpcy5oYW5kbGVEcmFnRW5kKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVSZXNpemVNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuaGFuZGxlUmVzaXplRW5kKX1weFRvUGVyY2VudChHLFcpe3JldHVybiBXP051bWJlcigoRy9XKjEwMCkudG9GaXhlZCg0KSk6MH1jb21wdXRlV2lkZ2V0UmVjdChHLFcsYWUpe2xldCB5ZT1XLmNlbGxXaWR0aFB4LG1lPVcuY2VsbEhlaWdodFB4LENlPUcueCooeWUrYWUuaG9yaXpvbnRhbCkrYWUuaG9yaXpvbnRhbCxiZT1HLnkqKG1lK2FlLnZlcnRpY2FsKSthZS52ZXJ0aWNhbCxuZT1HLncqeWUrTWF0aC5tYXgoMCxHLnctMSkqYWUuaG9yaXpvbnRhbCx6ZT1HLmgqbWUrTWF0aC5tYXgoMCxHLmgtMSkqYWUudmVydGljYWw7cmV0dXJue2xlZnQ6Q2UsdG9wOmJlLHdpZHRoOm5lLGhlaWdodDp6ZX19c3RhdGlje1NyKGEscil9fTtyZXR1cm4gTGU9YX0pKCl9KTt2YXIgSjNyPWYoKCk9PntRM3IoKX0pO2Z1bmN0aW9uIEszcigpe3JldHVybiBNYAogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iMSI+VGhpcyBpcyBhIEgxIGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjIiPlRoaXMgaXMgYSBIMiBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSIzIj5UaGlzIGlzIGEgSDMgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iNCI+VGhpcyBpcyBhIEg0IGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjUiPlRoaXMgaXMgYSBINSBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSI2Ij5UaGlzIGlzIGEgSDYgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iaHIiPlRoaXMgaXMgYW4gaHIgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iaHItc21hbGwiPlRoaXMgaXMgYW4gaHIgc21hbGwgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogIGB9dmFyIGVkcj1mKCgpPT57dWUoKX0pO3ZhciB0ZHIsWjZlLHJkcixhZHI9ZigoKT0+e3VlKCk7ZWRyKCk7Sm4oKTtRZSgpO3Rkcj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFo2ZT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0scmRyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1oZWFkaW5nIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sdGRyKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGV2ZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJsZXZlbCJpbiB1LGdldDp1PT51LmxldmVsLHNldDoodSxkKT0+e3UubGV2ZWw9ZH19LG1ldGFkYXRhOmx9LHMsbyksdGRyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89SzNyO3N0YXRpYyBkZW1vR3JvdXBzPVsiTGF5b3V0Il07I2U9WjZlKHRoaXMscywiMSIpO2dldCBsZXZlbCgpe3JldHVybiB0aGlzLiNlfXNldCBsZXZlbChsKXt0aGlzLiNlPWx9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIC8qIEhlYWRpbmcgc3R5bGVzICovCiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgewogICAgICAgIG1hcmdpbjogMTZweCAwIDhweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgIH0KICAgICAgaDEgeyBmb250LXNpemU6IDMycHg7IGZvbnQtZmFtaWx5OiAke3Zscn07IGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO30KICAgICAgaDIgeyBmb250LXNpemU6IDI4cHg7IH0KICAgICAgaDMgeyBmb250LXNpemU6IDI0cHg7IH0KICAgICAgaDQgeyBmb250LXNpemU6IDIwcHg7IH0KICAgICAgaDUgeyBmb250LXNpemU6IDE2cHg7IH0KICAgICAgaDYgeyBmb250LXNpemU6IDE0cHg7IH0KICAgICAgLyogSG9yaXpvbnRhbCBydWxlIHN0eWxlIGhlYWRpbmcgKi8KICAgICAgLmhlYWRpbmctaHIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luOiAxNnB4IDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDAwIiwiI2ZmZiIpfTsKICAgICAgfQogICAgICAvKiBGYWRlIGxpbmVzIHRvd2FyZCBhbmQgYXdheSBmcm9tIHRleHQgZm9yIGhyIHN0eWxlICovCiAgICAgIC5oZWFkaW5nLWhyOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgLyogZmFkZSBpbiB0b3dhcmQgY2VudGVyICovCiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsICNjY2MpIiwibGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgIzMzMykiKX07CiAgICAgICAgbWFyZ2luOiAwIDhweDsKICAgICAgfQogICAgICAuaGVhZGluZy1ocjo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgLyogZmFkZSBvdXQgYXdheSBmcm9tIGNlbnRlciAqLwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsIHRyYW5zcGFyZW50KSIsImxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzMzMywgdHJhbnNwYXJlbnQpIil9OwogICAgICAgIG1hcmdpbjogMCA4cHg7CiAgICAgIH0KICAgICAgLyogU21hbGwgaHIgdmFyaWFudCB3aXRoIHJlZHVjZWQgbWFyZ2lucyAqLwogICAgICAuaGVhZGluZy1oci5oZWFkaW5nLWhyLXNtYWxsIHsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQogICAgICAuaGVhZGluZy1oci5oZWFkaW5nLWhyLXNtYWxsOjpiZWZvcmUsCiAgICAgIC5oZWFkaW5nLWhyLmhlYWRpbmctaHItc21hbGw6OmFmdGVyIHsKICAgICAgICBtYXJnaW46IDAgOHB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtzd2l0Y2godGhpcy5sZXZlbCl7Y2FzZSIxIjpyZXR1cm4gTWA8aDE+PHNsb3Q+PC9zbG90PjwvaDE+YDtjYXNlIjIiOnJldHVybiBNYDxoMj48c2xvdD48L3Nsb3Q+PC9oMj5gO2Nhc2UiMyI6cmV0dXJuIE1gPGgzPjxzbG90Pjwvc2xvdD48L2gzPmA7Y2FzZSI0IjpyZXR1cm4gTWA8aDQ+PHNsb3Q+PC9zbG90PjwvaDQ+YDtjYXNlIjUiOnJldHVybiBNYDxoNT48c2xvdD48L3Nsb3Q+PC9oNT5gO2Nhc2UiNiI6cmV0dXJuIE1gPGg2PjxzbG90Pjwvc2xvdD48L2g2PmA7Y2FzZSJociI6cmV0dXJuIE1gPGRpdiBjbGFzcz0iaGVhZGluZy1ociI+PHNsb3Q+PC9zbG90PjwvZGl2PmA7Y2FzZSJoci1zbWFsbCI6cmV0dXJuIE1gPGRpdiBjbGFzcz0iaGVhZGluZy1ociBoZWFkaW5nLWhyLXNtYWxsIj48c2xvdD48L3Nsb3Q+PC9kaXY+YDtkZWZhdWx0OnJldHVybiBNYDxoMT48c2xvdD48L3Nsb3Q+PC9oMT5gfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksWjZlKHRoaXMsbyl9c3RhdGlje1o2ZShhLHIpfX07cmV0dXJuIGM9YX0pKCl9KTt2YXIgaWRyPWYoKCk9PnthZHIoKX0pO3ZhciBuZHI9ZigoKT0+e3dmKCl9KTt2YXIgc2RyLG9kcj1mKCgpPT57dWUoKTtzZHI9KCk9Pk1gCiAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNnB4OyI+CiAgICA8IS0tIFNtYWxsIHNldCBvZiBwYWdlcyAtLT4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNHB4OyI+CiAgICAgIDxzcGFuPjUgcGFnZXMsIHN0YXJ0aW5nIGF0IDE6PC9zcGFuPgogICAgICA8ZGVlcy1wYWdpbmF0aW9uCiAgICAgICAgLnRvdGFsPSR7NX0KICAgICAgICAucGFnZT0kezF9CiAgICAgICAgQHBhZ2UtY2hhbmdlPSR7ZT0+Y29uc29sZS5sb2coIlBhZ2UgY2hhbmdlZCB0byIsZS5kZXRhaWwucGFnZSl9CiAgICAgID48L2RlZXMtcGFnaW5hdGlvbj4KICAgIDwvZGl2PgoKICAgIDwhLS0gTGFyZ2VyIHNldCBvZiBwYWdlcyAtLT4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNHB4OyI+CiAgICAgIDxzcGFuPjE1IHBhZ2VzLCBzdGFydGluZyBhdCA4Ojwvc3Bhbj4KICAgICAgPGRlZXMtcGFnaW5hdGlvbgogICAgICAgIC50b3RhbD0kezE1fQogICAgICAgIC5wYWdlPSR7OH0KICAgICAgICBAcGFnZS1jaGFuZ2U9JHtlPT5jb25zb2xlLmxvZygiUGFnZSBjaGFuZ2VkIHRvIixlLmRldGFpbC5wYWdlKX0KICAgICAgPjwvZGVlcy1wYWdpbmF0aW9uPgogICAgPC9kaXY+CiAgPC9kaXY+CmB9KTt2YXIgWDZlLGx2LGxkcixjZHI9ZigoKT0+e3VlKCk7b2RyKCk7UWUoKTtYNmU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxsdj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sbGRyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1wYWdpbmF0aW9uIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBoPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6TnVtYmVyLHJlZmxlY3Q6ITB9KV0sYz1bRih7dHlwZTpOdW1iZXIscmVmbGVjdDohMH0pXSxYNmUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4icGFnZSJpbiBtLGdldDptPT5tLnBhZ2Usc2V0OihtLHYpPT57bS5wYWdlPXZ9fSxtZXRhZGF0YTpofSxzLG8pLFg2ZSh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRvdGFsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4idG90YWwiaW4gbSxnZXQ6bT0+bS50b3RhbCxzZXQ6KG0sdik9PnttLnRvdGFsPXZ9fSxtZXRhZGF0YTpofSxsLHUpLFg2ZShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBkZW1vPXNkcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPWx2KHRoaXMscywxKTtnZXQgcGFnZSgpe3JldHVybiB0aGlzLiNlfXNldCBwYWdlKGgpe3RoaXMuI2U9aH0jdD0obHYodGhpcyxvKSxsdih0aGlzLGwsMSkpO2dldCB0b3RhbCgpe3JldHVybiB0aGlzLiN0fXNldCB0b3RhbChoKXt0aGlzLiN0PWh9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CiAgICAgIGJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgbWFyZ2luOiAwIDJweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yczsKICAgICAgfQogICAgICBidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZWVlIiwiIzQ0NCIpfTsKICAgICAgfQogICAgICBidXR0b246ZGlzYWJsZWQgewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNhYWEiLCIjNjY2Iil9OwogICAgICB9CiAgICAgIGJ1dHRvbi5jdXJyZW50IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDA1MGI5OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQogICAgICBzcGFuLmVsbGlwc2lzIHsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgIH0KICAgIGBdO2dldCBwYWdlcygpe2xldCBoPVtdLG09dGhpcy50b3RhbCx2PXRoaXMucGFnZTtpZihtPD03KWZvcihsZXQgYj0xO2I8PW07YisrKWgucHVzaChiKTtlbHNle2gucHVzaCgxKSx2PjQmJmgucHVzaCgiLi4uIik7bGV0IGI9TWF0aC5tYXgoMix2LTIpLGc9TWF0aC5taW4obS0xLHYrMik7Zm9yKGxldCB5PWI7eTw9Zzt5KyspaC5wdXNoKHkpO3Y8bS0zJiZoLnB1c2goIi4uLiIpLGgucHVzaChtKX1yZXR1cm4gaH1yZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGJ1dHRvbgogICAgICAgIEBjbGljaz0keygpPT50aGlzLmNoYW5nZVBhZ2UodGhpcy5wYWdlLTEpfQogICAgICAgID9kaXNhYmxlZD0ke3RoaXMucGFnZTw9MX0KICAgICAgICBhcmlhLWxhYmVsPSJQcmV2aW91cyBwYWdlIgogICAgICA+CiAgICAgICAg4oC5CiAgICAgIDwvYnV0dG9uPgogICAgICAke3RoaXMucGFnZXMubWFwKGg9Pmg9PT0iLi4uIj9NYDxzcGFuIGNsYXNzPSJlbGxpcHNpcyI+4oCmPC9zcGFuPmA6TWAKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iJHtoPT09dGhpcy5wYWdlPyJjdXJyZW50IjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5jaGFuZ2VQYWdlKGgpfQogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7aD09PXRoaXMucGFnZX0KICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9IlBhZ2UgJHtofSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke2h9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICA8YnV0dG9uCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2hhbmdlUGFnZSh0aGlzLnBhZ2UrMSl9CiAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5wYWdlPj10aGlzLnRvdGFsfQogICAgICAgIGFyaWEtbGFiZWw9Ik5leHQgcGFnZSIKICAgICAgPgogICAgICAgIOKAugogICAgICA8L2J1dHRvbj4KICAgIGB9Y2hhbmdlUGFnZShoKXtoPDF8fGg+dGhpcy50b3RhbHx8aD09PXRoaXMucGFnZXx8KHRoaXMucGFnZT1oLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInBhZ2UtY2hhbmdlIix7ZGV0YWlsOntwYWdlOnRoaXMucGFnZX0sYnViYmxlczohMH0pKSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGx2KHRoaXMsdSl9c3RhdGlje2x2KGEscil9fTtyZXR1cm4gZD1hfSkoKX0pO3ZhciBkZHI9ZigoKT0+e2NkcigpfSk7dmFyIHVkcj1mKCgpPT57T2koKX0pO3ZhciBwZHIsZmRyPWYoKCk9Pnt1ZSgpO3Bkcj0oKT0+TWAKICA8ZGVlcy1zdGVwcGVyCiAgICAuc3RlcHM9JHtbe3RpdGxlOiJBY2NvdW50IFNldHVwIixjb250ZW50Ok1gCiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iZW1haWwiIGxhYmVsPSJXb3JrIEVtYWlsIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9InBhc3N3b3JkIiBsYWJlbD0iQ3JlYXRlIFBhc3N3b3JkIiB0eXBlPSJwYXNzd29yZCIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PkNvbnRpbnVlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgYCx2YWxpZGF0aW9uRnVuYzphc3luYyhlLHQpPT57dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKCk9PmUuZ29OZXh0KCkse29uY2U6ITB9KX19LHt0aXRsZToiUHJvZmlsZSBEZXRhaWxzIixjb250ZW50Ok1gCiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iZmlyc3ROYW1lIiBsYWJlbD0iRmlyc3QgTmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJsYXN0TmFtZSIgbGFiZWw9Ikxhc3QgTmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PkNvbnRpbnVlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgYCx2YWxpZGF0aW9uRnVuYzphc3luYyhlLHQpPT57dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKCk9PmUuZ29OZXh0KCkse29uY2U6ITB9KX19LHt0aXRsZToiQ29udGFjdCBJbmZvcm1hdGlvbiIsY29udGVudDpNYAogICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUga2V5PSJwaG9uZSIgbGFiZWw9Ik1vYmlsZSBOdW1iZXIiIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC1waG9uZT4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9ImNvbXBhbnkiIGxhYmVsPSJDb21wYW55Ij48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+Q29udGludWU8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICBgLHZhbGlkYXRpb25GdW5jOmFzeW5jKGUsdCk9Pnt0LnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwoKT0+ZS5nb05leHQoKSx7b25jZTohMH0pfX0se3RpdGxlOiJUZWFtIFNpemUiLGNvbnRlbnQ6TWAKICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAga2V5PSJ0ZWFtU2l6ZSIKICAgICAgICAgICAgICBsYWJlbD0iSG93IGJpZyBpcyB5b3VyIHRlYW0/IgogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tsYWJlbDoiMS01Iix2YWx1ZToiMS01In0se2xhYmVsOiI2LTIwIix2YWx1ZToiNi0yMCJ9LHtsYWJlbDoiMjEtNTAiLHZhbHVlOiIyMS01MCJ9LHtsYWJlbDoiNTErIix2YWx1ZToiNTErIn1dfQogICAgICAgICAgICAgIHJlcXVpcmVkCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PkNvbnRpbnVlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgYCx2YWxpZGF0aW9uRnVuYzphc3luYyhlLHQpPT57dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKCk9PmUuZ29OZXh0KCkse29uY2U6ITB9KX19LHt0aXRsZToiR29hbHMiLGNvbnRlbnQ6TWAKICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgICAga2V5PSJnb2FsIgogICAgICAgICAgICAgIGxhYmVsPSJNYWluIG9iamVjdGl2ZSIKICAgICAgICAgICAgICAub3B0aW9ucz0ke1t7bGFiZWw6Ik9uYm9hcmRpbmciLHZhbHVlOiJvbmJvYXJkaW5nIn0se2xhYmVsOiJBbmFseXRpY3MiLHZhbHVlOiJhbmFseXRpY3MifSx7bGFiZWw6IkF1dG9tYXRpb24iLHZhbHVlOiJhdXRvbWF0aW9uIn1dfQogICAgICAgICAgICAgIHJlcXVpcmVkCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PkNvbnRpbnVlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgYCx2YWxpZGF0aW9uRnVuYzphc3luYyhlLHQpPT57dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKCk9PmUuZ29OZXh0KCkse29uY2U6ITB9KX19LHt0aXRsZToiQnJhbmQgUHJlZmVyZW5jZXMiLGNvbnRlbnQ6TWAKICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJicmFuZENvbG9yIiBsYWJlbD0iUHJpbWFyeSBicmFuZCBjb2xvciI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJ0b25lIiBsYWJlbD0iUHJlZmVycmVkIHRvbmUgKGUuZy4gZnJpZW5kbHksIGZvcm1hbCkiPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5Db250aW51ZTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIGAsdmFsaWRhdGlvbkZ1bmM6YXN5bmMoZSx0KT0+e3QucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIikuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLCgpPT5lLmdvTmV4dCgpLHtvbmNlOiEwfSl9fSx7dGl0bGU6IkludGVncmF0aW9ucyIsY29udGVudDpNYAogICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICAgIGtleT0iaW50ZWdyYXRpb25zIgogICAgICAgICAgICAgIGxhYmVsPSJJbnRlZ3JhdGlvbnMgaW4gdXNlIgogICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJBZGQgaW50ZWdyYXRpb24iCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+Q29udGludWU8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICBgLHZhbGlkYXRpb25GdW5jOmFzeW5jKGUsdCk9Pnt0LnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwoKT0+ZS5nb05leHQoKSx7b25jZTohMH0pfX0se3RpdGxlOiJSZXZpZXcgJiBMYXVuY2giLGNvbnRlbnQ6TWAKICAgICAgICAgIDxkZWVzLXBhbmVsPgogICAgICAgICAgICA8cD5BbG1vc3QgdGhlcmUhIFJldmlldyB5b3VyIHNlbGVjdGlvbnMgYW5kIGxhdW5jaCB3aGVuZXZlciB5b3UncmUgcmVhZHkuPC9wPgogICAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIGB9XX0KICA+PC9kZWVzLXN0ZXBwZXI+CmB9KTt2YXIgUTZlLGN2LGhkcixtZHI9ZigoKT0+e3dpKCk7QnMoKTt1ZSgpO0p0KCk7ZmRyKCk7UWUoKTtRNmU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxjdj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0saGRyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1zdGVwcGVyIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBoPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6QXJyYXl9KV0sYz1bRih7dHlwZTpPYmplY3R9KV0sUTZlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RlcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJzdGVwcyJpbiBtLGdldDptPT5tLnN0ZXBzLHNldDoobSx2KT0+e20uc3RlcHM9dn19LG1ldGFkYXRhOmh9LHMsbyksUTZlKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRTdGVwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4ic2VsZWN0ZWRTdGVwImluIG0sZ2V0Om09Pm0uc2VsZWN0ZWRTdGVwLHNldDoobSx2KT0+e20uc2VsZWN0ZWRTdGVwPXZ9fSxtZXRhZGF0YTpofSxsLHUpLFE2ZShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBkZW1vPXBkcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCIsIkZvcm0iXTsjZT1jdih0aGlzLHMsW10pO2dldCBzdGVwcygpe3JldHVybiB0aGlzLiNlfXNldCBzdGVwcyhoKXt0aGlzLiNlPWh9I3Q9KGN2KHRoaXMsbyksY3YodGhpcyxsLHZvaWQgMCkpO2dldCBzZWxlY3RlZFN0ZXAoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRTdGVwKGgpe3RoaXMuI3Q9aH1jb25zdHJ1Y3Rvcigpe3N1cGVyKCl9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIC5zdGVwcGVyQ29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zdGVwIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC43cyBjdWJpYy1iZXppZXIoMC44NywgMCwgMC4xMywgMSksIGJveC1zaGFkb3cgMC43cyBjdWJpYy1iZXppZXIoMC44NywgMCwgMC4xMywgMSksIGZpbHRlciAwLjdzIGN1YmljLWJlemllcigwLjg3LCAwLCAwLjEzLCAxKSwgYm9yZGVyIDAuN3MgY3ViaWMtYmV6aWVyKDAuODcsIDAsIDAuMTMsIDEpOwogICAgICAgIG1heC13aWR0aDogNTAwcHg7CiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwZjBmMTEiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlMmU4ZjAiLCIjMjcyNzI5Iil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzBmMTcyYSIsIiNmNWY1ZjUiKX07CiAgICAgICAgbWFyZ2luOiBhdXRvOwogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgZmlsdGVyOiBvcGFjaXR5KDAuNTUpIHNhdHVyYXRlKDAuODUpOwogICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc3RlcC5zZWxlY3RlZCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoMSkgc2F0dXJhdGUoMSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG87CiAgICAgIH0KCiAgICAgIC5zdGVwLmhpZGRlblN0ZXAgewogICAgICAgIGZpbHRlcjogb3BhY2l0eSgwKTsKICAgICAgfQoKICAgICAgLnN0ZXAuZW50cmFuY2UgewogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBlYXNlLCBib3gtc2hhZG93IDAuMzVzIGVhc2UsIGZpbHRlciAwLjM1cyBlYXNlLCBib3JkZXIgMC4zNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnN0ZXAuZW50cmFuY2UuaGlkZGVuU3RlcCB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOwogICAgICB9CgogICAgICAuc3RlcDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDB2aDsKICAgICAgfQoKICAgICAgLnN0ZXAgLnN0ZXBDb3VudGVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2NDc0OGIiLCIjYTFhMWFhIil9OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEycHg7CiAgICAgICAgcmlnaHQ6IDEycHg7CiAgICAgICAgcGFkZGluZzogNnB4IDE0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNSkiLCJyZ2JhKDYzLCA2MywgNzAsIDAuNDUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJyZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNykiLCJyZ2JhKDYzLCA2MywgNzAsIDAuNikiKX07CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2sgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEycHg7CiAgICAgICAgbGVmdDogMTJweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJyZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOSkiLCJyZ2JhKDYzLCA2MywgNzAsIDAuODUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkiLCJyZ2JhKDM5LCAzOSwgNDIsIDAuODUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzQ3NTU2OSIsIiNkNGQ0ZDgiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZSwgYmFja2dyb3VuZCAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2s6aG92ZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzBmMTcyYSIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZShScy5ibHVlLFJzLmJsdWUpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgyMjYsIDIzMiwgMjQwLCAwLjk1KSIsInJnYmEoNjMsIDYzLCA3MCwgMC43KSIpfTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2s6YWN0aXZlIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwZjE3MmEiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoUnMuYmx1ZUFjdGl2ZSxScy5ibHVlQWN0aXZlKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMjI2LCAyMzIsIDI0MCwgMC44NSkiLCJyZ2JhKDYzLCA2MywgNzAsIDAuNikiKX07CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2sgc3BhbiB7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2s6aG92ZXIgc3BhbiB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOwogICAgICB9CgogICAgICAuc3RlcCAudGl0bGUgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nLXRvcDogNjRweDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICB9CgogICAgICAuc3RlcCAuY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9InN0ZXBwZXJDb250YWluZXIiPgogICAgICAgICR7dGhpcy5zdGVwcy5tYXAoaD0+TWA8ZGl2CiAgICAgICAgICAgICAgY2xhc3M9InN0ZXAgJHtoPT09dGhpcy5zZWxlY3RlZFN0ZXA/InNlbGVjdGVkIjpudWxsfSAke3RoaXMuZ2V0SW5kZXhPZlN0ZXAoaCk+dGhpcy5nZXRJbmRleE9mU3RlcCh0aGlzLnNlbGVjdGVkU3RlcCk/ImhpZGRlblN0ZXAiOiIifSAke3RoaXMuZ2V0SW5kZXhPZlN0ZXAoaCk9PT0wPyJlbnRyYW5jZSI6IiJ9IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHt0aGlzLmdldEluZGV4T2ZTdGVwKGgpPjA/TWA8ZGl2IGNsYXNzPSJnb0JhY2siIEBjbGljaz0ke3RoaXMuZ29CYWNrfT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEludGVyIj48LTwvc3Bhbj4gZ28gdG8gcHJldmlvdXMgc3RlcDwvZGl2PmA6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcENvdW50ZXIiPgogICAgICAgICAgICAgICAgU3RlcCAke3RoaXMuc3RlcHMuZmluZEluZGV4KG09Pm09PT1oKSsxfSBvZgogICAgICAgICAgICAgICAgJHt0aGlzLnN0ZXBzLmxlbmd0aH0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+JHtoLnRpdGxlfTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPiR7aC5jb250ZW50fTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4gYCl9CiAgICAgIDwvZGl2PgogICAgYH1nZXRJbmRleE9mU3RlcD0oY3YodGhpcyx1KSxoPT50aGlzLnN0ZXBzLmZpbmRJbmRleChtPT5oPT09bSkpO2FzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGF3YWl0IHRoaXMuZG9tdG9vbHMuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnNlbGVjdGVkU3RlcD10aGlzLnN0ZXBzWzBdLHRoaXMuc2V0U2Nyb2xsU3RhdHVzKCksYXdhaXQgdGhpcy5kb210b29scy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDM1MCksdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zdGVwLmVudHJhbmNlIik/LmNsYXNzTGlzdC5yZW1vdmUoImVudHJhbmNlIil9YXN5bmMgdXBkYXRlZCgpe3RoaXMuc2V0U2Nyb2xsU3RhdHVzKCl9c2Nyb2xsZXI7YXN5bmMgc2V0U2Nyb2xsU3RhdHVzKCl7bGV0IGg9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zdGVwcGVyQ29udGFpbmVyIiksbT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnN0ZXAiKSx2PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VsZWN0ZWQiKTtpZighdilyZXR1cm47aC5zdHlsZS5wYWRkaW5nVG9wfHwoaC5zdHlsZS5wYWRkaW5nVG9wPWAke2gub2Zmc2V0SGVpZ2h0LzItdi5vZmZzZXRIZWlnaHQvMn1weGApLGNvbnNvbGUubG9nKCJTZXR0aW5nIHNjcm9sbCBzdGF0dXMiKSxjb25zb2xlLmxvZyh2KTtsZXQgYj12Lm9mZnNldFRvcC1oLm9mZnNldEhlaWdodC8yK3Yub2Zmc2V0SGVpZ2h0LzI7Y29uc29sZS5sb2coYik7bGV0IGc9YXdhaXQgRW4uc2V0dXBEb21Ub29scygpO3RoaXMuc2Nyb2xsZXJ8fCh0aGlzLnNjcm9sbGVyPW5ldyBqdC5Td2VldFNjcm9sbCh7dmVydGljYWw6ITAsaG9yaXpvbnRhbDohMSxlYXNpbmc6ImVhc2VJbk91dEV4cG8iLGR1cmF0aW9uOjcwMH0saCkpLCF0aGlzLnNlbGVjdGVkU3RlcC52YWxpZGF0aW9uRnVuY0NhbGxlZCYmdGhpcy5zZWxlY3RlZFN0ZXAudmFsaWRhdGlvbkZ1bmMmJih0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLnNlbGVjdGVkU3RlcC52YWxpZGF0aW9uRnVuY0NhbGxlZD0hMCxhd2FpdCB0aGlzLnNlbGVjdGVkU3RlcC52YWxpZGF0aW9uRnVuYyh0aGlzLHYsdGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyLnNpZ25hbCkpLHRoaXMuc2Nyb2xsZXIudG8oYil9YXN5bmMgZ29CYWNrKCl7bGV0IGg9dGhpcy5zdGVwcy5maW5kSW5kZXgoYj0+Yj09PXRoaXMuc2VsZWN0ZWRTdGVwKTtpZihoPD0wKXJldHVybjt0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXImJnRoaXMuc2VsZWN0ZWRTdGVwLmFib3J0Q29udHJvbGxlci5hYm9ydCgpO2xldCBtPXRoaXMuc3RlcHNbaF07bS52YWxpZGF0aW9uRnVuY0NhbGxlZD0hMTtsZXQgdj10aGlzLnN0ZXBzW2gtMV07di52YWxpZGF0aW9uRnVuY0NhbGxlZD0hMSx0aGlzLnNlbGVjdGVkU3RlcD12LGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGF3YWl0IHRoaXMuZG9tdG9vbHMuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigxMDApLHRoaXMuc2VsZWN0ZWRTdGVwLm9uUmV0dXJuVG9TdGVwRnVuYz8uKHRoaXMsdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zZWxlY3RlZCIpKX1nb05leHQoKXtsZXQgaD10aGlzLnN0ZXBzLmZpbmRJbmRleChiPT5iPT09dGhpcy5zZWxlY3RlZFN0ZXApO2lmKGg8MHx8aD49dGhpcy5zdGVwcy5sZW5ndGgtMSlyZXR1cm47dGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyJiZ0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtsZXQgbT10aGlzLnN0ZXBzW2hdO20udmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITE7bGV0IHY9dGhpcy5zdGVwc1toKzFdO3YudmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITEsdGhpcy5zZWxlY3RlZFN0ZXA9dn1zdGF0aWN7Y3YoYSxyKX19O3JldHVybiBkPWF9KSgpfSk7dmFyIGdkcj1mKCgpPT57bWRyKCl9KTt2YXIgYmRyPWYoKCk9PntFM3IoKTtKM3IoKTtpZHIoKTtuZHIoKTtkZHIoKTt1ZHIoKTtnZHIoKX0pO3ZhciB2ZHIseGRyPWYoKCk9Pnt1ZSgpO3Zkcj0oKT0+TWAKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMzJweDsKICAgIH0KCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQoKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQoKICAgIGRlZXMtaW1hZ2Utdmlld2VyIHsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLmNvbXBhY3QgewogICAgICBoZWlnaHQ6IDI1MHB4OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5KUEVHIEltYWdlIHdpdGggVG9vbGJhcjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BIGxhbmRzY2FwZSBwaG90byB3aXRoIHpvb20sIHBhbiwgZml0LCBhbmQgZG93bmxvYWQgY29udHJvbHMuPC9kaXY+CiAgICAgIDxkZWVzLWltYWdlLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1MDY3NDQwMzgxMzYtNDYyNzM4MzRiM2ZiP3c9MTIwMCIKICAgICAgICBhbHQ9Ik1vdW50YWluIGxhbmRzY2FwZSIKICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UE5HIHdpdGggVHJhbnNwYXJlbmN5PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlRyYW5zcGFyZW50IFBORyBkaXNwbGF5ZWQgb24gYSBjaGVja2VyYm9hcmQgYmFja2dyb3VuZC48L2Rpdj4KICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zLzQvNDcvUE5HX3RyYW5zcGFyZW5jeV9kZW1vbnN0cmF0aW9uXzEucG5nIgogICAgICAgIGFsdD0iUE5HIHRyYW5zcGFyZW5jeSBkZW1vIgogICAgICA+PC9kZWVzLWltYWdlLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TVkcgSW1hZ2U8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+U2NhbGFibGUgdmVjdG9yIGdyYXBoaWMuPC9kaXY+CiAgICAgIDxkZWVzLWltYWdlLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy8wLzAyL1NWR19sb2dvLnN2ZyIKICAgICAgICBhbHQ9IlNWRyBsb2dvIgogICAgICAgIGZpdD0iY29udGFpbiIKICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Tm8gVG9vbGJhciBWYXJpYW50PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkltYWdlIHZpZXdlciB3aXRoIHRoZSB0b29sYmFyIGhpZGRlbi48L2Rpdj4KICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgY2xhc3M9ImNvbXBhY3QiCiAgICAgICAgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ2OTQ3NDk2ODAyOC01NjYyM2YwMmU0MmU/dz04MDAiCiAgICAgICAgYWx0PSJOYXR1cmUgc2NlbmUiCiAgICAgICAgLnNob3dUb29sYmFyPSR7ITF9CiAgICAgID48L2RlZXMtaW1hZ2Utdmlld2VyPgogICAgPC9kaXY+CiAgPC9kaXY+CmB9KTt2YXIgYXMsYmEseWRyLEo2ZT1mKCgpPT57dWUoKTtpcigpO3hkcigpO2FzPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sYmE9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LHlkcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtaW1hZ2Utdmlld2VyIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W10sVixCPVtdLFU9W10sSyxJPVtdLHZlPVtdLE1lLFA9W10sbGU9W107dmFyIFNlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgWj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKCldLGM9W0YoKV0sZD1bRigpXSx2PVtGKHt0eXBlOkJvb2xlYW59KV0seT1bc2UoKV0sUj1bc2UoKV0sTz1bc2UoKV0scT1bc2UoKV0sRT1bc2UoKV0sVj1bc2UoKV0sSz1bc2UoKV0sTWU9W3NlKCldLGFzKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4ic3JjImluIEEsZ2V0OkE9PkEuc3JjLHNldDooQSwkKT0+e0Euc3JjPSR9fSxtZXRhZGF0YTpafSxzLG8pLGFzKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWx0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4iYWx0ImluIEEsZ2V0OkE9PkEuYWx0LHNldDooQSwkKT0+e0EuYWx0PSR9fSxtZXRhZGF0YTpafSxsLHUpLGFzKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZml0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4iZml0ImluIEEsZ2V0OkE9PkEuZml0LHNldDooQSwkKT0+e0EuZml0PSR9fSxtZXRhZGF0YTpafSxoLG0pLGFzKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1Rvb2xiYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkE9PiJzaG93VG9vbGJhciJpbiBBLGdldDpBPT5BLnNob3dUb29sYmFyLHNldDooQSwkKT0+e0Euc2hvd1Rvb2xiYXI9JH19LG1ldGFkYXRhOlp9LGIsZyksYXModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ6b29tIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4iem9vbSJpbiBBLGdldDpBPT5BLnpvb20sc2V0OihBLCQpPT57QS56b29tPSR9fSxtZXRhZGF0YTpafSx3LGspLGFzKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFuWCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+InBhblgiaW4gQSxnZXQ6QT0+QS5wYW5YLHNldDooQSwkKT0+e0EucGFuWD0kfX0sbWV0YWRhdGE6Wn0sQyxTKSxhcyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBhblkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkE9PiJwYW5ZImluIEEsZ2V0OkE9PkEucGFuWSxzZXQ6KEEsJCk9PntBLnBhblk9JH19LG1ldGFkYXRhOlp9LEQsTiksYXModGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0RyYWdnaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4iaXNEcmFnZ2luZyJpbiBBLGdldDpBPT5BLmlzRHJhZ2dpbmcsc2V0OihBLCQpPT57QS5pc0RyYWdnaW5nPSR9fSxtZXRhZGF0YTpafSxfLHopLGFzKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+ImxvYWRpbmciaW4gQSxnZXQ6QT0+QS5sb2FkaW5nLHNldDooQSwkKT0+e0EubG9hZGluZz0kfX0sbWV0YWRhdGE6Wn0sVCxMKSxhcyh0aGlzLG51bGwsVix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4iZXJyb3IiaW4gQSxnZXQ6QT0+QS5lcnJvcixzZXQ6KEEsJCk9PntBLmVycm9yPSR9fSxtZXRhZGF0YTpafSxCLFUpLGFzKHRoaXMsbnVsbCxLLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VOYXR1cmFsV2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkE9PiJpbWFnZU5hdHVyYWxXaWR0aCJpbiBBLGdldDpBPT5BLmltYWdlTmF0dXJhbFdpZHRoLHNldDooQSwkKT0+e0EuaW1hZ2VOYXR1cmFsV2lkdGg9JH19LG1ldGFkYXRhOlp9LEksdmUpLGFzKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlTmF0dXJhbEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+ImltYWdlTmF0dXJhbEhlaWdodCJpbiBBLGdldDpBPT5BLmltYWdlTmF0dXJhbEhlaWdodCxzZXQ6KEEsJCk9PntBLmltYWdlTmF0dXJhbEhlaWdodD0kfX0sbWV0YWRhdGE6Wn0sUCxsZSksYXMobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Wn0sbnVsbCxyKSxTZT1hPXQudmFsdWUsWiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpafSl9c3RhdGljIGRlbW89dmRyO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTsjZT1iYSh0aGlzLHMsIiIpO2dldCBzcmMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3JjKFope3RoaXMuI2U9Wn0jdD0oYmEodGhpcyxvKSxiYSh0aGlzLGwsIiIpKTtnZXQgYWx0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGFsdChaKXt0aGlzLiN0PVp9I3I9KGJhKHRoaXMsdSksYmEodGhpcyxoLCJjb250YWluIikpO2dldCBmaXQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgZml0KFope3RoaXMuI3I9Wn0jYT0oYmEodGhpcyxtKSxiYSh0aGlzLGIsITApKTtnZXQgc2hvd1Rvb2xiYXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1Rvb2xiYXIoWil7dGhpcy4jYT1afSNpPShiYSh0aGlzLGcpLGJhKHRoaXMsdywxKSk7Z2V0IHpvb20oKXtyZXR1cm4gdGhpcy4jaX1zZXQgem9vbShaKXt0aGlzLiNpPVp9I249KGJhKHRoaXMsayksYmEodGhpcyxDLDApKTtnZXQgcGFuWCgpe3JldHVybiB0aGlzLiNufXNldCBwYW5YKFope3RoaXMuI249Wn0jcz0oYmEodGhpcyxTKSxiYSh0aGlzLEQsMCkpO2dldCBwYW5ZKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHBhblkoWil7dGhpcy4jcz1afSNvPShiYSh0aGlzLE4pLGJhKHRoaXMsXywhMSkpO2dldCBpc0RyYWdnaW5nKCl7cmV0dXJuIHRoaXMuI299c2V0IGlzRHJhZ2dpbmcoWil7dGhpcy4jbz1afSNsPShiYSh0aGlzLHopLGJhKHRoaXMsVCwhMCkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGxvYWRpbmcoWil7dGhpcy4jbD1afSNjPShiYSh0aGlzLEwpLGJhKHRoaXMsQiwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNjfXNldCBlcnJvcihaKXt0aGlzLiNjPVp9I2Q9KGJhKHRoaXMsVSksYmEodGhpcyxJLDApKTtnZXQgaW1hZ2VOYXR1cmFsV2lkdGgoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaW1hZ2VOYXR1cmFsV2lkdGgoWil7dGhpcy4jZD1afSN1PShiYSh0aGlzLHZlKSxiYSh0aGlzLFAsMCkpO2dldCBpbWFnZU5hdHVyYWxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jdX1zZXQgaW1hZ2VOYXR1cmFsSGVpZ2h0KFope3RoaXMuI3U9Wn1kcmFnU3RhcnRYPShiYSh0aGlzLGxlKSwwKTtkcmFnU3RhcnRZPTA7ZHJhZ1N0YXJ0UGFuWD0wO2RyYWdTdGFydFBhblk9MDtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLnZpZXdlci1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgyMTUgMjAlIDEwJSkiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCJoc2woMjE1IDIwJSAxNSUpIil9OwogICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDRweDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MiUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b246YWN0aXZlIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICB9CgogICAgICAgIC56b29tLWxldmVsIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBtaW4td2lkdGg6IDQ4cHg7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmltYWdlLWFyZWEgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBjdXJzb3I6ICR7dGhpcy56b29tPjE/dGhpcy5pc0RyYWdnaW5nPyJncmFiYmluZyI6ImdyYWIiOiJkZWZhdWx0In07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tlcmJvYXJkIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgYmFja2dyb3VuZC1pbWFnZToKICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAke3AuYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX0gMjUlLCB0cmFuc3BhcmVudCAyNSUpLAogICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAke3AuYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX0gMjUlLCB0cmFuc3BhcmVudCAyNSUpLAogICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDc1JSwgJHtwLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDc1JSksCiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IDc1JSwgJHtwLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDc1JSk7CiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDsKICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgMCA4cHgsIDhweCAtOHB4LCAtOHB4IDBweDsKICAgICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS13cmFwcGVyIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR7dGhpcy5wYW5YfXB4LCAke3RoaXMucGFuWX1weCkgc2NhbGUoJHt0aGlzLnpvb219KTsKICAgICAgICAgIHRyYW5zaXRpb246ICR7dGhpcy5pc0RyYWdnaW5nPyJub25lIjoidHJhbnNmb3JtIDAuMnMgZWFzZSJ9OwogICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS13cmFwcGVyIGltZyB7CiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgICAgICAgb2JqZWN0LWZpdDogJHt0aGlzLmZpdH07CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lOwogICAgICAgIH0KCiAgICAgICAgLmltYWdlLXdyYXBwZXIgaW1nLmFjdHVhbCB7CiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7CiAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lOwogICAgICAgICAgb2JqZWN0LWZpdDogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMjU1LDI1NSwyNTUsMC44KSIsInJnYmEoMCwwLDAsMC42KSIpfTsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQoKICAgICAgICAuZXJyb3Itb3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgLmVycm9yLWljb24gewogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICB9CgogICAgICAgIC5lcnJvci10ZXh0IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS1pbmZvIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ExYTFhYSIsIiM3MTcxN2EiKX07CiAgICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8ZGl2IGNsYXNzPSJ2aWV3ZXItY29udGFpbmVyIj4KICAgICAgICAke3RoaXMuc2hvd1Rvb2xiYXI/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy56b29tT3V0fSB0aXRsZT0iWm9vbSBvdXQiPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Wm9vbU91dCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMucmVzZXRab29tfT4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ6b29tLWxldmVsIj4ke01hdGgucm91bmQodGhpcy56b29tKjEwMCl9JTwvc3Bhbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy56b29tSW59IHRpdGxlPSJab29tIGluIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlpvb21JbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5maXRUb1NjcmVlbn0gdGl0bGU9IkZpdCB0byBzY3JlZW4iPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6TWF4aW1pemUiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLmFjdHVhbFNpemV9IHRpdGxlPSJBY3R1YWwgc2l6ZSAoMTAwJSkiPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6U2NhbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5kb3dubG9hZH0gdGl0bGU9IkRvd25sb2FkIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkRvd25sb2FkIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5pbWFnZU5hdHVyYWxXaWR0aD4wP01gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW1hZ2UtaW5mbyI+JHt0aGlzLmltYWdlTmF0dXJhbFdpZHRofSB4ICR7dGhpcy5pbWFnZU5hdHVyYWxIZWlnaHR9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImltYWdlLWFyZWEiCiAgICAgICAgICBAd2hlZWw9JHt0aGlzLmhhbmRsZVdoZWVsfQogICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuaGFuZGxlTW91c2VEb3dufQogICAgICAgICAgQG1vdXNlbW92ZT0ke3RoaXMuaGFuZGxlTW91c2VNb3ZlfQogICAgICAgICAgQG1vdXNldXA9JHt0aGlzLmhhbmRsZU1vdXNlVXB9CiAgICAgICAgICBAbW91c2VsZWF2ZT0ke3RoaXMuaGFuZGxlTW91c2VVcH0KICAgICAgICAgIEBkYmxjbGljaz0ke3RoaXMuaGFuZGxlRG91YmxlQ2xpY2t9CiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tlcmJvYXJkIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImltYWdlLXdyYXBwZXIiPgogICAgICAgICAgICAke3RoaXMuc3JjP01gCiAgICAgICAgICAgICAgPGltZwogICAgICAgICAgICAgICAgY2xhc3M9IiR7dGhpcy5maXQ9PT0iYWN0dWFsIj8iYWN0dWFsIjoiIn0iCiAgICAgICAgICAgICAgICBzcmM9IiR7dGhpcy5zcmN9IgogICAgICAgICAgICAgICAgYWx0PSIke3RoaXMuYWx0fSIKICAgICAgICAgICAgICAgIEBsb2FkPSR7dGhpcy5oYW5kbGVJbWFnZUxvYWR9CiAgICAgICAgICAgICAgICBAZXJyb3I9JHt0aGlzLmhhbmRsZUltYWdlRXJyb3J9CiAgICAgICAgICAgICAgICBkcmFnZ2FibGU9ImZhbHNlIgogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dGhpcy5sb2FkaW5nJiZ0aGlzLnNyYz9NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICAgICR7dGhpcy5lcnJvcj9NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1vdmVybGF5Ij4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJlcnJvci1pY29uIiBpY29uPSJsdWNpZGU6SW1hZ2VPZmYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlcnJvci10ZXh0Ij4ke3RoaXMuZXJyb3J9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH16b29tSW4oKXt0aGlzLnpvb209TWF0aC5taW4oMTAsdGhpcy56b29tKjEuMjUpfXpvb21PdXQoKXt0aGlzLnpvb209TWF0aC5tYXgoLjEsdGhpcy56b29tLzEuMjUpLHRoaXMuem9vbTw9MSYmKHRoaXMucGFuWD0wLHRoaXMucGFuWT0wKX1yZXNldFpvb20oKXt0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MH1maXRUb1NjcmVlbigpe3RoaXMuem9vbT0xLHRoaXMucGFuWD0wLHRoaXMucGFuWT0wLHRoaXMuZml0PSJjb250YWluIn1hY3R1YWxTaXplKCl7dGhpcy56b29tPTEsdGhpcy5wYW5YPTAsdGhpcy5wYW5ZPTAsdGhpcy5maXQ9ImFjdHVhbCJ9ZG93bmxvYWQoKXtpZighdGhpcy5zcmMpcmV0dXJuO2xldCBaPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtaLmhyZWY9dGhpcy5zcmMsWi5kb3dubG9hZD10aGlzLnNyYy5zcGxpdCgiLyIpLnBvcCgpfHwiaW1hZ2UiLFouY2xpY2soKX1oYW5kbGVJbWFnZUxvYWQoWil7bGV0IEE9Wi50YXJnZXQ7dGhpcy5sb2FkaW5nPSExLHRoaXMuZXJyb3I9IiIsdGhpcy5pbWFnZU5hdHVyYWxXaWR0aD1BLm5hdHVyYWxXaWR0aCx0aGlzLmltYWdlTmF0dXJhbEhlaWdodD1BLm5hdHVyYWxIZWlnaHR9aGFuZGxlSW1hZ2VFcnJvcigpe3RoaXMubG9hZGluZz0hMSx0aGlzLmVycm9yPSJGYWlsZWQgdG8gbG9hZCBpbWFnZSJ9aGFuZGxlV2hlZWwoWil7Wi5wcmV2ZW50RGVmYXVsdCgpO2xldCBBPVouZGVsdGFZPjA/Ljk6MS4xLCQ9TWF0aC5taW4oMTAsTWF0aC5tYXgoLjEsdGhpcy56b29tKkEpKTt0aGlzLnpvb209JCx0aGlzLnpvb208PTEmJih0aGlzLnBhblg9MCx0aGlzLnBhblk9MCl9aGFuZGxlTW91c2VEb3duKFope3RoaXMuem9vbTw9MXx8KHRoaXMuaXNEcmFnZ2luZz0hMCx0aGlzLmRyYWdTdGFydFg9Wi5jbGllbnRYLHRoaXMuZHJhZ1N0YXJ0WT1aLmNsaWVudFksdGhpcy5kcmFnU3RhcnRQYW5YPXRoaXMucGFuWCx0aGlzLmRyYWdTdGFydFBhblk9dGhpcy5wYW5ZKX1oYW5kbGVNb3VzZU1vdmUoWil7dGhpcy5pc0RyYWdnaW5nJiYodGhpcy5wYW5YPXRoaXMuZHJhZ1N0YXJ0UGFuWCsoWi5jbGllbnRYLXRoaXMuZHJhZ1N0YXJ0WCksdGhpcy5wYW5ZPXRoaXMuZHJhZ1N0YXJ0UGFuWSsoWi5jbGllbnRZLXRoaXMuZHJhZ1N0YXJ0WSkpfWhhbmRsZU1vdXNlVXAoKXt0aGlzLmlzRHJhZ2dpbmc9ITF9aGFuZGxlRG91YmxlQ2xpY2soKXt0aGlzLnpvb209PT0xP3RoaXMuem9vbT0yOih0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MCl9dXBkYXRlZChaKXtzdXBlci51cGRhdGVkKFopLFouaGFzKCJzcmMiKSYmKHRoaXMubG9hZGluZz0hMCx0aGlzLmVycm9yPSIiLHRoaXMuem9vbT0xLHRoaXMucGFuWD0wLHRoaXMucGFuWT0wLHRoaXMuaW1hZ2VOYXR1cmFsV2lkdGg9MCx0aGlzLmltYWdlTmF0dXJhbEhlaWdodD0wKX1zdGF0aWN7YmEoYSxyKX19O3JldHVybiBTZT1hfSkoKX0pO3ZhciB3ZHI9ZigoKT0+e0o2ZSgpfSk7dmFyIE1kcixrZHI9ZigoKT0+e3VlKCk7TWRyPSgpPT5NYAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQoKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CgogICAgZGVlcy1hdWRpby12aWV3ZXIgewogICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KICA8L3N0eWxlPgoKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXVkaW8gd2l0aCBXYXZlZm9ybTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BdWRpbyBwbGF5ZXIgd2l0aCB3YXZlZm9ybSB2aXN1YWxpemF0aW9uIGFuZCBmdWxsIHRyYW5zcG9ydCBjb250cm9scy48L2Rpdj4KICAgICAgPGRlZXMtYXVkaW8tdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMSIKICAgICAgICBhcnRpc3Q9IlQuIFNjaHVlcmdlciIKICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXVkaW8gd2l0aG91dCBXYXZlZm9ybTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TaW1wbGUgYXVkaW8gcGxheWVyIHdpdGggYSBzZWVrYmFyIGluc3RlYWQgb2YgYSB3YXZlZm9ybS48L2Rpdj4KICAgICAgPGRlZXMtYXVkaW8tdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTIubXAzIgogICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMiIKICAgICAgICAuc2hvd1dhdmVmb3JtPSR7ITF9CiAgICAgID48L2RlZXMtYXVkaW8tdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk1pbmltYWwgQXVkaW8gUGxheWVyPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPk5vIHRpdGxlIG9yIGFydGlzdCBtZXRhZGF0YSDigJQganVzdCB0aGUgcGxheWVyLjwvZGl2PgogICAgICA8ZGVlcy1hdWRpby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMy5tcDMiCiAgICAgID48L2RlZXMtYXVkaW8tdmlld2VyPgogICAgPC9kaXY+CiAgPC9kaXY+CmB9KTt2YXIgT24senIsU2RyLEs2ZT1mKCgpPT57dWUoKTtpcigpO2tkcigpO09uPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0senI9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LFNkcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtYXVkaW8tdmlld2VyIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W10sVixCPVtdLFU9W10sSyxJPVtdLHZlPVtdLE1lLFA9W10sbGU9W10sU2UsWj1bXSxBPVtdLCQsaj1bXSxIPVtdLFksZGU9W10sd2U9W107dmFyIExlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgRz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKCldLGM9W0YoKV0sZD1bRigpXSx2PVtGKHt0eXBlOkJvb2xlYW59KV0seT1bRih7dHlwZTpCb29sZWFufSldLFI9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxPPVtzZSgpXSxxPVtzZSgpXSxFPVtzZSgpXSxWPVtzZSgpXSxLPVtzZSgpXSxNZT1bc2UoKV0sU2U9W3NlKCldLCQ9W3NlKCldLFk9W3NlKCldLE9uKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4ic3JjImluIFcsZ2V0Olc9Plcuc3JjLHNldDooVyxhZSk9PntXLnNyYz1hZX19LG1ldGFkYXRhOkd9LHMsbyksT24odGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+InRpdGxlImluIFcsZ2V0Olc9PlcudGl0bGUsc2V0OihXLGFlKT0+e1cudGl0bGU9YWV9fSxtZXRhZGF0YTpHfSxsLHUpLE9uKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXJ0aXN0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iYXJ0aXN0ImluIFcsZ2V0Olc9PlcuYXJ0aXN0LHNldDooVyxhZSk9PntXLmFydGlzdD1hZX19LG1ldGFkYXRhOkd9LGgsbSksT24odGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93V2F2ZWZvcm0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJzaG93V2F2ZWZvcm0iaW4gVyxnZXQ6Vz0+Vy5zaG93V2F2ZWZvcm0sc2V0OihXLGFlKT0+e1cuc2hvd1dhdmVmb3JtPWFlfX0sbWV0YWRhdGE6R30sYixnKSxPbih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9wbGF5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iYXV0b3BsYXkiaW4gVyxnZXQ6Vz0+Vy5hdXRvcGxheSxzZXQ6KFcsYWUpPT57Vy5hdXRvcGxheT1hZX19LG1ldGFkYXRhOkd9LHcsayksT24odGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb29wIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4ibG9vcCJpbiBXLGdldDpXPT5XLmxvb3Asc2V0OihXLGFlKT0+e1cubG9vcD1hZX19LG1ldGFkYXRhOkd9LEMsUyksT24odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1BsYXlpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJpc1BsYXlpbmciaW4gVyxnZXQ6Vz0+Vy5pc1BsYXlpbmcsc2V0OihXLGFlKT0+e1cuaXNQbGF5aW5nPWFlfX0sbWV0YWRhdGE6R30sRCxOKSxPbih0aGlzLG51bGwscSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUaW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iY3VycmVudFRpbWUiaW4gVyxnZXQ6Vz0+Vy5jdXJyZW50VGltZSxzZXQ6KFcsYWUpPT57Vy5jdXJyZW50VGltZT1hZX19LG1ldGFkYXRhOkd9LF8seiksT24odGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+ImR1cmF0aW9uImluIFcsZ2V0Olc9PlcuZHVyYXRpb24sc2V0OihXLGFlKT0+e1cuZHVyYXRpb249YWV9fSxtZXRhZGF0YTpHfSxULEwpLE9uKHRoaXMsbnVsbCxWLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidm9sdW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4idm9sdW1lImluIFcsZ2V0Olc9Plcudm9sdW1lLHNldDooVyxhZSk9PntXLnZvbHVtZT1hZX19LG1ldGFkYXRhOkd9LEIsVSksT24odGhpcyxudWxsLEsse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc011dGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpXPT4iaXNNdXRlZCJpbiBXLGdldDpXPT5XLmlzTXV0ZWQsc2V0OihXLGFlKT0+e1cuaXNNdXRlZD1hZX19LG1ldGFkYXRhOkd9LEksdmUpLE9uKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJsb2FkaW5nImluIFcsZ2V0Olc9PlcubG9hZGluZyxzZXQ6KFcsYWUpPT57Vy5sb2FkaW5nPWFlfX0sbWV0YWRhdGE6R30sUCxsZSksT24odGhpcyxudWxsLFNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlc9PiJlcnJvciJpbiBXLGdldDpXPT5XLmVycm9yLHNldDooVyxhZSk9PntXLmVycm9yPWFlfX0sbWV0YWRhdGE6R30sWixBKSxPbih0aGlzLG51bGwsJCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmVmb3JtRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+IndhdmVmb3JtRGF0YSJpbiBXLGdldDpXPT5XLndhdmVmb3JtRGF0YSxzZXQ6KFcsYWUpPT57Vy53YXZlZm9ybURhdGE9YWV9fSxtZXRhZGF0YTpHfSxqLEgpLE9uKHRoaXMsbnVsbCxZLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2F2ZWZvcm1SZWFkeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Vz0+IndhdmVmb3JtUmVhZHkiaW4gVyxnZXQ6Vz0+Vy53YXZlZm9ybVJlYWR5LHNldDooVyxhZSk9PntXLndhdmVmb3JtUmVhZHk9YWV9fSxtZXRhZGF0YTpHfSxkZSx3ZSksT24obnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6R30sbnVsbCxyKSxMZT1hPXQudmFsdWUsRyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpHfSl9c3RhdGljIGRlbW89TWRyO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTsjZT16cih0aGlzLHMsIiIpO2dldCBzcmMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3JjKEcpe3RoaXMuI2U9R30jdD0oenIodGhpcyxvKSx6cih0aGlzLGwsIiIpKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdGl0bGUoRyl7dGhpcy4jdD1HfSNyPSh6cih0aGlzLHUpLHpyKHRoaXMsaCwiIikpO2dldCBhcnRpc3QoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYXJ0aXN0KEcpe3RoaXMuI3I9R30jYT0oenIodGhpcyxtKSx6cih0aGlzLGIsITApKTtnZXQgc2hvd1dhdmVmb3JtKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNob3dXYXZlZm9ybShHKXt0aGlzLiNhPUd9I2k9KHpyKHRoaXMsZyksenIodGhpcyx3LCExKSk7Z2V0IGF1dG9wbGF5KCl7cmV0dXJuIHRoaXMuI2l9c2V0IGF1dG9wbGF5KEcpe3RoaXMuI2k9R30jbj0oenIodGhpcyxrKSx6cih0aGlzLEMsITEpKTtnZXQgbG9vcCgpe3JldHVybiB0aGlzLiNufXNldCBsb29wKEcpe3RoaXMuI249R30jcz0oenIodGhpcyxTKSx6cih0aGlzLEQsITEpKTtnZXQgaXNQbGF5aW5nKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGlzUGxheWluZyhHKXt0aGlzLiNzPUd9I289KHpyKHRoaXMsTiksenIodGhpcyxfLDApKTtnZXQgY3VycmVudFRpbWUoKXtyZXR1cm4gdGhpcy4jb31zZXQgY3VycmVudFRpbWUoRyl7dGhpcy4jbz1HfSNsPSh6cih0aGlzLHopLHpyKHRoaXMsVCwwKSk7Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGR1cmF0aW9uKEcpe3RoaXMuI2w9R30jYz0oenIodGhpcyxMKSx6cih0aGlzLEIsMSkpO2dldCB2b2x1bWUoKXtyZXR1cm4gdGhpcy4jY31zZXQgdm9sdW1lKEcpe3RoaXMuI2M9R30jZD0oenIodGhpcyxVKSx6cih0aGlzLEksITEpKTtnZXQgaXNNdXRlZCgpe3JldHVybiB0aGlzLiNkfXNldCBpc011dGVkKEcpe3RoaXMuI2Q9R30jdT0oenIodGhpcyx2ZSksenIodGhpcyxQLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbG9hZGluZyhHKXt0aGlzLiN1PUd9I3A9KHpyKHRoaXMsbGUpLHpyKHRoaXMsWiwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNwfXNldCBlcnJvcihHKXt0aGlzLiNwPUd9I2Y9KHpyKHRoaXMsQSksenIodGhpcyxqLFtdKSk7Z2V0IHdhdmVmb3JtRGF0YSgpe3JldHVybiB0aGlzLiNmfXNldCB3YXZlZm9ybURhdGEoRyl7dGhpcy4jZj1HfSNoPSh6cih0aGlzLEgpLHpyKHRoaXMsZGUsITEpKTtnZXQgd2F2ZWZvcm1SZWFkeSgpe3JldHVybiB0aGlzLiNofXNldCB3YXZlZm9ybVJlYWR5KEcpe3RoaXMuI2g9R31hdWRpb0VsZW1lbnQ9KHpyKHRoaXMsd2UpLG51bGwpO2NhbnZhc0VsZW1lbnQ9bnVsbDthbmltRnJhbWVJZD0wO3ZvbHVtZUJlZm9yZU11dGU9MTtyZW5kZXIoKXtsZXQgRz10aGlzLnRpdGxlJiZ0aGlzLmFydGlzdD9gJHt0aGlzLnRpdGxlfSBcdTIwMTQgJHt0aGlzLmFydGlzdH1gOnRoaXMudGl0bGV8fHRoaXMuYXJ0aXN0fHwiIjtyZXR1cm4gTWAKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLnZpZXdlci1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgyMTUgMjAlIDEwJSkiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1ncm91cC0tZW5kIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTQgMzElIDkyJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbjphY3RpdmUgewogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uLmFjdGl2ZSB7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRpbWUtZGlzcGxheSB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDRweDsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyIHsKICAgICAgICAgIHdpZHRoOiA3MHB4OwogICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTQgMzElIDkxJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotbW96LXJhbmdlLXRodW1iIHsKICAgICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRlbnQtYXJlYSB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAud2F2ZWZvcm0tY29udGFpbmVyIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC53YXZlZm9ybS1jb250YWluZXIgY2FudmFzIHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1jb250YWluZXIgewogICAgICAgICAgd2lkdGg6IDgwJTsKICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MSUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1maWxsIHsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgbGluZWFyOwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IC5lcnJvci1pY29uIHsKICAgICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDI4JSkiKX07CiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQogICAgICA8L3N0eWxlPgoKICAgICAgPGRpdiBjbGFzcz0idmlld2VyLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMudG9nZ2xlUGxheX0+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6JHt0aGlzLmlzUGxheWluZz8iUGF1c2UiOiJQbGF5In0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpbWUtZGlzcGxheSI+CiAgICAgICAgICAgICAgJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5jdXJyZW50VGltZSl9IC8gJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5kdXJhdGlvbil9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICR7Rz9NYAogICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9vbGJhci10aXRsZSI+JHtHfTwvc3Bhbj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cC0tZW5kIj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke3RoaXMubG9vcD8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy50b2dnbGVMb29wfQogICAgICAgICAgICAgIHRpdGxlPSJMb29wIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UmVwZWF0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2b2x1bWUtZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZU11dGV9IHRpdGxlPSIke3RoaXMuaXNNdXRlZD8iVW5tdXRlIjoiTXV0ZSJ9Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5pc011dGVkfHx0aGlzLnZvbHVtZT09PTA/IlZvbHVtZVgiOnRoaXMudm9sdW1lPC41PyJWb2x1bWUxIjoiVm9sdW1lMiJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIGNsYXNzPSJ2b2x1bWUtc2xpZGVyIgogICAgICAgICAgICAgICAgdHlwZT0icmFuZ2UiCiAgICAgICAgICAgICAgICBtaW49IjAiCiAgICAgICAgICAgICAgICBtYXg9IjEiCiAgICAgICAgICAgICAgICBzdGVwPSIwLjAxIgogICAgICAgICAgICAgICAgLnZhbHVlPSR7U3RyaW5nKHRoaXMuaXNNdXRlZD8wOnRoaXMudm9sdW1lKX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlVm9sdW1lQ2hhbmdlfQogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtYXJlYSI+CiAgICAgICAgICAke3RoaXMuZXJyb3I/TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3Itb3ZlcmxheSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0ibHVjaWRlOk11c2ljT2ZmIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3ItdGV4dCI+JHt0aGlzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOnRoaXMubG9hZGluZz9NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp0aGlzLnNob3dXYXZlZm9ybT9NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3YXZlZm9ybS1jb250YWluZXIiIEBjbGljaz0ke3RoaXMuaGFuZGxlV2F2ZWZvcm1DbGlja30+CiAgICAgICAgICAgICAgPGNhbnZhcz48L2NhbnZhcz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOk1gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZWtiYXItY29udGFpbmVyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZVNlZWtiYXJDbGlja30+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vla2Jhci1maWxsIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5kdXJhdGlvbj90aGlzLmN1cnJlbnRUaW1lL3RoaXMuZHVyYXRpb24qMTAwOjB9JSI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnNyYyYmdGhpcy5pbml0QXVkaW8oKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jbGVhbnVwKCl9YXN5bmMgdXBkYXRlZChHKXtzdXBlci51cGRhdGVkKEcpLEcuaGFzKCJzcmMiKSYmdGhpcy5zcmMmJih0aGlzLmNsZWFudXAoKSx0aGlzLmluaXRBdWRpbygpKSwoRy5oYXMoIndhdmVmb3JtRGF0YSIpfHxHLmhhcygiY3VycmVudFRpbWUiKSkmJnRoaXMuZHJhd1dhdmVmb3JtKCl9cGxheSgpe3RoaXMuYXVkaW9FbGVtZW50Py5wbGF5KCl9cGF1c2UoKXt0aGlzLmF1ZGlvRWxlbWVudD8ucGF1c2UoKX10b2dnbGVQbGF5KCl7dGhpcy5pc1BsYXlpbmc/dGhpcy5wYXVzZSgpOnRoaXMucGxheSgpfXNlZWsoRyl7dGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC5jdXJyZW50VGltZT1HKX1zZXRWb2x1bWUoRyl7dGhpcy52b2x1bWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxLEcpKSx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnZvbHVtZT10aGlzLnZvbHVtZSksdGhpcy52b2x1bWU+MCYmKHRoaXMuaXNNdXRlZD0hMSl9dG9nZ2xlTXV0ZSgpe3RoaXMuaXNNdXRlZD8odGhpcy5pc011dGVkPSExLHRoaXMudm9sdW1lPXRoaXMudm9sdW1lQmVmb3JlTXV0ZXx8LjUsdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC52b2x1bWU9dGhpcy52b2x1bWUpKToodGhpcy52b2x1bWVCZWZvcmVNdXRlPXRoaXMudm9sdW1lLHRoaXMuaXNNdXRlZD0hMCx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnZvbHVtZT0wKSl9dG9nZ2xlTG9vcCgpe3RoaXMubG9vcD0hdGhpcy5sb29wLHRoaXMuYXVkaW9FbGVtZW50JiYodGhpcy5hdWRpb0VsZW1lbnQubG9vcD10aGlzLmxvb3ApfWluaXRBdWRpbygpe3RoaXMuYXVkaW9FbGVtZW50PW5ldyBBdWRpbyx0aGlzLmF1ZGlvRWxlbWVudC5jcm9zc09yaWdpbj0iYW5vbnltb3VzIix0aGlzLmF1ZGlvRWxlbWVudC5zcmM9dGhpcy5zcmMsdGhpcy5hdWRpb0VsZW1lbnQudm9sdW1lPXRoaXMuaXNNdXRlZD8wOnRoaXMudm9sdW1lLHRoaXMuYXVkaW9FbGVtZW50Lmxvb3A9dGhpcy5sb29wLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIiwoKT0+e3RoaXMuZHVyYXRpb249dGhpcy5hdWRpb0VsZW1lbnQuZHVyYXRpb24sdGhpcy5sb2FkaW5nPSExfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGxheSIsKCk9Pnt0aGlzLmlzUGxheWluZz0hMCx0aGlzLnN0YXJ0VGltZVVwZGF0ZSgpfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLCgpPT57dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5zdG9wVGltZVVwZGF0ZSgpfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZW5kZWQiLCgpPT57dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5zdG9wVGltZVVwZGF0ZSgpfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCgpPT57dGhpcy5lcnJvcj0iRmFpbGVkIHRvIGxvYWQgYXVkaW8iLHRoaXMubG9hZGluZz0hMX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLCgpPT57dGhpcy5jdXJyZW50VGltZT10aGlzLmF1ZGlvRWxlbWVudC5jdXJyZW50VGltZX0pLHRoaXMuYXV0b3BsYXkmJnRoaXMuYXVkaW9FbGVtZW50LnBsYXkoKS5jYXRjaCgoKT0+e30pLHRoaXMuc2hvd1dhdmVmb3JtJiZ0aGlzLmxvYWRXYXZlZm9ybSgpfWFzeW5jIGxvYWRXYXZlZm9ybSgpe3RyeXt0aGlzLmxvYWRpbmc9ITA7bGV0IFc9YXdhaXQoYXdhaXQgZmV0Y2godGhpcy5zcmMpKS5hcnJheUJ1ZmZlcigpLGFlPW5ldyBBdWRpb0NvbnRleHQsbWU9KGF3YWl0IGFlLmRlY29kZUF1ZGlvRGF0YShXKSkuZ2V0Q2hhbm5lbERhdGEoMCksQ2U9MjAwLGJlPU1hdGguZmxvb3IobWUubGVuZ3RoL0NlKSxuZT1bXTtmb3IobGV0IEllPTA7SWU8Q2U7SWUrKyl7bGV0IFplPTA7Zm9yKGxldCB0ZT0wO3RlPGJlO3RlKyspWmUrPU1hdGguYWJzKG1lW0llKmJlK3RlXSk7bmUucHVzaChaZS9iZSl9bGV0IHplPU1hdGgubWF4KC4uLm5lKTt0aGlzLndhdmVmb3JtRGF0YT1uZS5tYXAoSWU9PnplPjA/SWUvemU6MCksdGhpcy53YXZlZm9ybVJlYWR5PSEwLHRoaXMubG9hZGluZz0hMSxhd2FpdCBhZS5jbG9zZSgpfWNhdGNoe3RoaXMud2F2ZWZvcm1SZWFkeT0hMSx0aGlzLmxvYWRpbmc9ITF9fWRyYXdXYXZlZm9ybSgpe2lmKCF0aGlzLnNob3dXYXZlZm9ybXx8IXRoaXMud2F2ZWZvcm1SZWFkeSlyZXR1cm47bGV0IEc9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJjYW52YXMiKTtpZighRylyZXR1cm47dGhpcy5jYW52YXNFbGVtZW50PUc7bGV0IFc9Ry5wYXJlbnRFbGVtZW50LGFlPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLHllPVcuY2xpZW50V2lkdGgsbWU9Vy5jbGllbnRIZWlnaHQ7Ry53aWR0aD15ZSphZSxHLmhlaWdodD1tZSphZTtsZXQgQ2U9Ry5nZXRDb250ZXh0KCIyZCIpO2lmKCFDZSlyZXR1cm47Q2Uuc2NhbGUoYWUsYWUpLENlLmNsZWFyUmVjdCgwLDAseWUsbWUpO2xldCBiZT10aGlzLndhdmVmb3JtRGF0YS5sZW5ndGg7aWYoYmU9PT0wKXJldHVybjtsZXQgbmU9eWUvYmUsemU9dGhpcy5kdXJhdGlvbj4wP3RoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvbjowLEllPU1hdGguZmxvb3IoemUqYmUpLFplPWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0aGVtZS1kYXJrIil8fHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyx0ZT1aZT8iaHNsKDIxMyA5MyUgNjglKSI6ImhzbCgyMTcgOTElIDYwJSkiLFg9WmU/ImhzbCgyMTcgMjUlIDIyJSkiOiJoc2woMjE0IDMxJSA4NiUpIjtmb3IobGV0IGVlPTA7ZWU8YmU7ZWUrKyl7bGV0IHhlPXRoaXMud2F2ZWZvcm1EYXRhW2VlXSxBZT1NYXRoLm1heCgyLHhlKihtZS00KSksVWU9ZWUqbmUsa3Q9KG1lLUFlKS8yO0NlLmZpbGxTdHlsZT1lZTxJZT90ZTpYLENlLmZpbGxSZWN0KFVlKy41LGt0LG5lLTEsQWUpfX1oYW5kbGVXYXZlZm9ybUNsaWNrKEcpe2xldCBXPUcuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhZT0oRy5jbGllbnRYLVcubGVmdCkvVy53aWR0aDt0aGlzLnNlZWsoYWUqdGhpcy5kdXJhdGlvbil9aGFuZGxlU2Vla2JhckNsaWNrKEcpe2xldCBXPUcuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhZT0oRy5jbGllbnRYLVcubGVmdCkvVy53aWR0aDt0aGlzLnNlZWsoYWUqdGhpcy5kdXJhdGlvbil9aGFuZGxlVm9sdW1lQ2hhbmdlKEcpe2xldCBXPXBhcnNlRmxvYXQoRy50YXJnZXQudmFsdWUpO3RoaXMuc2V0Vm9sdW1lKFcpfXN0YXJ0VGltZVVwZGF0ZSgpe3RoaXMuc3RvcFRpbWVVcGRhdGUoKTtsZXQgRz0oKT0+e3RoaXMuYXVkaW9FbGVtZW50JiZ0aGlzLmlzUGxheWluZyYmKHRoaXMuY3VycmVudFRpbWU9dGhpcy5hdWRpb0VsZW1lbnQuY3VycmVudFRpbWUsdGhpcy5hbmltRnJhbWVJZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoRykpfTt0aGlzLmFuaW1GcmFtZUlkPXJlcXVlc3RBbmltYXRpb25GcmFtZShHKX1zdG9wVGltZVVwZGF0ZSgpe3RoaXMuYW5pbUZyYW1lSWQmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmFuaW1GcmFtZUlkKSx0aGlzLmFuaW1GcmFtZUlkPTApfWZvcm1hdFRpbWUoRyl7aWYoIWlzRmluaXRlKEcpfHxHPDApcmV0dXJuIjA6MDAiO2xldCBXPU1hdGguZmxvb3IoRy82MCksYWU9TWF0aC5mbG9vcihHJTYwKTtyZXR1cm5gJHtXfToke2FlLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWB9Y2xlYW51cCgpe3RoaXMuc3RvcFRpbWVVcGRhdGUoKSx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnBhdXNlKCksdGhpcy5hdWRpb0VsZW1lbnQuc3JjPSIiLHRoaXMuYXVkaW9FbGVtZW50PW51bGwpLHRoaXMuaXNQbGF5aW5nPSExLHRoaXMuY3VycmVudFRpbWU9MCx0aGlzLmR1cmF0aW9uPTAsdGhpcy53YXZlZm9ybURhdGE9W10sdGhpcy53YXZlZm9ybVJlYWR5PSExfXN0YXRpY3t6cihhLHIpfX07cmV0dXJuIExlPWF9KSgpfSk7dmFyIHpkcj1mKCgpPT57SzZlKCl9KTt2YXIgQ2RyLFRkcj1mKCgpPT57dWUoKTtDZHI9KCk9Pk1gCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDMycHg7CiAgICB9CgogICAgLnNlY3Rpb24gewogICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CgogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KICA8L3N0eWxlPgoKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VmlkZW8gd2l0aCBDdXN0b20gQ29udHJvbHM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+QSB2aWRlbyBwbGF5ZXIgd2l0aCBvdmVybGF5IGNvbnRyb2xzLCBzZWVraW5nLCBhbmQgdm9sdW1lIGFkanVzdG1lbnQuPC9kaXY+CiAgICAgIDxkZWVzLXZpZGVvLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvQmlnQnVja0J1bm55Lm1wNCIKICAgICAgICBwb3N0ZXI9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL2ltYWdlcy9CaWdCdWNrQnVubnkuanBnIgogICAgICA+PC9kZWVzLXZpZGVvLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BdXRvcGxheSBNdXRlZDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5WaWRlbyB0aGF0IGF1dG9wbGF5cyBtdXRlZCwgY29tbW9ubHkgdXNlZCBmb3IgcHJldmlld3MuPC9kaXY+CiAgICAgIDxkZWVzLXZpZGVvLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvRWxlcGhhbnRzRHJlYW0ubXA0IgogICAgICAgIHBvc3Rlcj0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvaW1hZ2VzL0VsZXBoYW50c0RyZWFtLmpwZyIKICAgICAgICAuYXV0b3BsYXk9JHshMH0KICAgICAgICAubXV0ZWQ9JHshMH0KICAgICAgPjwvZGVlcy12aWRlby12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TmF0aXZlIENvbnRyb2xzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlZpZGVvIHVzaW5nIGJyb3dzZXItbmF0aXZlIGNvbnRyb2xzIGluc3RlYWQgb2YgY3VzdG9tIG92ZXJsYXkuPC9kaXY+CiAgICAgIDxkZWVzLXZpZGVvLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvRm9yQmlnZ2VyQmxhemVzLm1wNCIKICAgICAgICAuc2hvd0NvbnRyb2xzPSR7ITF9CiAgICAgID48L2RlZXMtdmlkZW8tdmlld2VyPgogICAgPC9kaXY+CiAgPC9kaXY+CmB9KTt2YXIgbjEsWXIsX2RyLGV1ZT1mKCgpPT57dWUoKTtpcigpO1RkcigpO24xPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sWXI9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LF9kcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtdmlkZW8tdmlld2VyIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W10sVixCPVtdLFU9W10sSyxJPVtdLHZlPVtdLE1lLFA9W10sbGU9W10sU2UsWj1bXSxBPVtdLCQsaj1bXSxIPVtdO3ZhciBZPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgZGU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRigpXSxjPVtGKCldLGQ9W0Yoe3R5cGU6Qm9vbGVhbn0pXSx2PVtGKHt0eXBlOkJvb2xlYW59KV0seT1bRih7dHlwZTpCb29sZWFufSldLFI9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxPPVtzZSgpXSxxPVtzZSgpXSxFPVtzZSgpXSxWPVtzZSgpXSxLPVtzZSgpXSxNZT1bc2UoKV0sU2U9W3NlKCldLCQ9W3NlKCldLG4xKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp3ZT0+InNyYyJpbiB3ZSxnZXQ6d2U9PndlLnNyYyxzZXQ6KHdlLExlKT0+e3dlLnNyYz1MZX19LG1ldGFkYXRhOmRlfSxzLG8pLG4xKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp3ZT0+InBvc3RlciJpbiB3ZSxnZXQ6d2U9PndlLnBvc3RlcixzZXQ6KHdlLExlKT0+e3dlLnBvc3Rlcj1MZX19LG1ldGFkYXRhOmRlfSxsLHUpLG4xKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0NvbnRyb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp3ZT0+InNob3dDb250cm9scyJpbiB3ZSxnZXQ6d2U9PndlLnNob3dDb250cm9scyxzZXQ6KHdlLExlKT0+e3dlLnNob3dDb250cm9scz1MZX19LG1ldGFkYXRhOmRlfSxoLG0pLG4xKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b3BsYXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOndlPT4iYXV0b3BsYXkiaW4gd2UsZ2V0OndlPT53ZS5hdXRvcGxheSxzZXQ6KHdlLExlKT0+e3dlLmF1dG9wbGF5PUxlfX0sbWV0YWRhdGE6ZGV9LGIsZyksbjEodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb29wIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp3ZT0+Imxvb3AiaW4gd2UsZ2V0OndlPT53ZS5sb29wLHNldDood2UsTGUpPT57d2UubG9vcD1MZX19LG1ldGFkYXRhOmRlfSx3LGspLG4xKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibXV0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOndlPT4ibXV0ZWQiaW4gd2UsZ2V0OndlPT53ZS5tdXRlZCxzZXQ6KHdlLExlKT0+e3dlLm11dGVkPUxlfX0sbWV0YWRhdGE6ZGV9LEMsUyksbjEodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1BsYXlpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOndlPT4iaXNQbGF5aW5nImluIHdlLGdldDp3ZT0+d2UuaXNQbGF5aW5nLHNldDood2UsTGUpPT57d2UuaXNQbGF5aW5nPUxlfX0sbWV0YWRhdGE6ZGV9LEQsTiksbjEodGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VGltZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6d2U9PiJjdXJyZW50VGltZSJpbiB3ZSxnZXQ6d2U9PndlLmN1cnJlbnRUaW1lLHNldDood2UsTGUpPT57d2UuY3VycmVudFRpbWU9TGV9fSxtZXRhZGF0YTpkZX0sXyx6KSxuMSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImR1cmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp3ZT0+ImR1cmF0aW9uImluIHdlLGdldDp3ZT0+d2UuZHVyYXRpb24sc2V0Oih3ZSxMZSk9Pnt3ZS5kdXJhdGlvbj1MZX19LG1ldGFkYXRhOmRlfSxULEwpLG4xKHRoaXMsbnVsbCxWLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidm9sdW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp3ZT0+InZvbHVtZSJpbiB3ZSxnZXQ6d2U9PndlLnZvbHVtZSxzZXQ6KHdlLExlKT0+e3dlLnZvbHVtZT1MZX19LG1ldGFkYXRhOmRlfSxCLFUpLG4xKHRoaXMsbnVsbCxLLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6d2U9PiJsb2FkaW5nImluIHdlLGdldDp3ZT0+d2UubG9hZGluZyxzZXQ6KHdlLExlKT0+e3dlLmxvYWRpbmc9TGV9fSxtZXRhZGF0YTpkZX0sSSx2ZSksbjEodGhpcyxudWxsLE1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOndlPT4iZXJyb3IiaW4gd2UsZ2V0OndlPT53ZS5lcnJvcixzZXQ6KHdlLExlKT0+e3dlLmVycm9yPUxlfX0sbWV0YWRhdGE6ZGV9LFAsbGUpLG4xKHRoaXMsbnVsbCxTZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRnVsbHNjcmVlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6d2U9PiJpc0Z1bGxzY3JlZW4iaW4gd2UsZ2V0OndlPT53ZS5pc0Z1bGxzY3JlZW4sc2V0Oih3ZSxMZSk9Pnt3ZS5pc0Z1bGxzY3JlZW49TGV9fSxtZXRhZGF0YTpkZX0sWixBKSxuMSh0aGlzLG51bGwsJCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRyb2xzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6d2U9PiJjb250cm9sc1Zpc2libGUiaW4gd2UsZ2V0OndlPT53ZS5jb250cm9sc1Zpc2libGUsc2V0Oih3ZSxMZSk9Pnt3ZS5jb250cm9sc1Zpc2libGU9TGV9fSxtZXRhZGF0YTpkZX0saixIKSxuMShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpkZX0sbnVsbCxyKSxZPWE9dC52YWx1ZSxkZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpkZX0pfXN0YXRpYyBkZW1vPUNkcjtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07I2U9WXIodGhpcyxzLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhkZSl7dGhpcy4jZT1kZX0jdD0oWXIodGhpcyxvKSxZcih0aGlzLGwsIiIpKTtnZXQgcG9zdGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBvc3RlcihkZSl7dGhpcy4jdD1kZX0jcj0oWXIodGhpcyx1KSxZcih0aGlzLGgsITApKTtnZXQgc2hvd0NvbnRyb2xzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNob3dDb250cm9scyhkZSl7dGhpcy4jcj1kZX0jYT0oWXIodGhpcyxtKSxZcih0aGlzLGIsITEpKTtnZXQgYXV0b3BsYXkoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYXV0b3BsYXkoZGUpe3RoaXMuI2E9ZGV9I2k9KFlyKHRoaXMsZyksWXIodGhpcyx3LCExKSk7Z2V0IGxvb3AoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbG9vcChkZSl7dGhpcy4jaT1kZX0jbj0oWXIodGhpcyxrKSxZcih0aGlzLEMsITEpKTtnZXQgbXV0ZWQoKXtyZXR1cm4gdGhpcy4jbn1zZXQgbXV0ZWQoZGUpe3RoaXMuI249ZGV9I3M9KFlyKHRoaXMsUyksWXIodGhpcyxELCExKSk7Z2V0IGlzUGxheWluZygpe3JldHVybiB0aGlzLiNzfXNldCBpc1BsYXlpbmcoZGUpe3RoaXMuI3M9ZGV9I289KFlyKHRoaXMsTiksWXIodGhpcyxfLDApKTtnZXQgY3VycmVudFRpbWUoKXtyZXR1cm4gdGhpcy4jb31zZXQgY3VycmVudFRpbWUoZGUpe3RoaXMuI289ZGV9I2w9KFlyKHRoaXMseiksWXIodGhpcyxULDApKTtnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy4jbH1zZXQgZHVyYXRpb24oZGUpe3RoaXMuI2w9ZGV9I2M9KFlyKHRoaXMsTCksWXIodGhpcyxCLDEpKTtnZXQgdm9sdW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHZvbHVtZShkZSl7dGhpcy4jYz1kZX0jZD0oWXIodGhpcyxVKSxZcih0aGlzLEksITApKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNkfXNldCBsb2FkaW5nKGRlKXt0aGlzLiNkPWRlfSN1PShZcih0aGlzLHZlKSxZcih0aGlzLFAsIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jdX1zZXQgZXJyb3IoZGUpe3RoaXMuI3U9ZGV9I3A9KFlyKHRoaXMsbGUpLFlyKHRoaXMsWiwhMSkpO2dldCBpc0Z1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy4jcH1zZXQgaXNGdWxsc2NyZWVuKGRlKXt0aGlzLiNwPWRlfSNmPShZcih0aGlzLEEpLFlyKHRoaXMsaiwhMCkpO2dldCBjb250cm9sc1Zpc2libGUoKXtyZXR1cm4gdGhpcy4jZn1zZXQgY29udHJvbHNWaXNpYmxlKGRlKXt0aGlzLiNmPWRlfWhpZGVDb250cm9sc1RpbWVyPShZcih0aGlzLEgpLG51bGwpO3ZpZGVvRWxlbWVudD1udWxsO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tY29udGFpbmVyIHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIHZpZGVvIHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAuY2VudGVyLXBsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICAgIHdpZHRoOiA2NHB4OwogICAgICAgICAgaGVpZ2h0OiA2NHB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgICBvcGFjaXR5OiAke3RoaXMuaXNQbGF5aW5nPzA6MX07CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogJHt0aGlzLmlzUGxheWluZz8ibm9uZSI6ImF1dG8ifTsKICAgICAgICB9CgogICAgICAgIC5jZW50ZXItcGxheSBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICAgIH0KCiAgICAgICAgLmNlbnRlci1wbGF5OmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMSk7CiAgICAgICAgfQoKICAgICAgICAuY29udHJvbHMtYmFyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjcpKTsKICAgICAgICAgIHBhZGRpbmc6IDI0cHggMTJweCAxMnB4OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIG9wYWNpdHk6ICR7dGhpcy5jb250cm9sc1Zpc2libGV8fCF0aGlzLmlzUGxheWluZz8xOjB9OwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1yb3cgewogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CgogICAgICAgIC5zZWVrYmFyLXJvdzpob3ZlciB7CiAgICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICB9CgogICAgICAgIC5zZWVrYmFyLXByb2dyZXNzIHsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRyb2xzLXJvdyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KCiAgICAgICAgLmN0cmwtYnV0dG9uIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5jdHJsLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmN0cmwtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7CiAgICAgICAgfQoKICAgICAgICAudGltZS1kaXNwbGF5IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOwogICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5zcGFjZXIgewogICAgICAgICAgZmxleDogMTsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDRweDsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyIHsKICAgICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYiB7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmZmZmY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQoKICAgICAgICAuZXJyb3Itb3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgZGVlcy1pY29uIHsKICAgICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLXRleHQgewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0idmlkZW8tY29udGFpbmVyIgogICAgICAgIEBtb3VzZW1vdmU9JHt0aGlzLmhhbmRsZU1vdXNlTW92ZX0KICAgICAgICBAbW91c2VsZWF2ZT0ke3RoaXMuaGFuZGxlTW91c2VMZWF2ZX0KICAgICAgPgogICAgICAgIDx2aWRlbwogICAgICAgICAgLnNyYz0ke3RoaXMuc3JjfQogICAgICAgICAgLnBvc3Rlcj0ke3RoaXMucG9zdGVyfQogICAgICAgICAgLm11dGVkPSR7dGhpcy5tdXRlZH0KICAgICAgICAgIC5sb29wPSR7dGhpcy5sb29wfQogICAgICAgICAgP2F1dG9wbGF5PSR7dGhpcy5hdXRvcGxheX0KICAgICAgICAgID9jb250cm9scz0keyF0aGlzLnNob3dDb250cm9sc30KICAgICAgICAgIHBsYXlzaW5saW5lCiAgICAgICAgICBAbG9hZGVkbWV0YWRhdGE9JHt0aGlzLmhhbmRsZUxvYWRlZE1ldGFkYXRhfQogICAgICAgICAgQHBsYXk9JHt0aGlzLmhhbmRsZVBsYXl9CiAgICAgICAgICBAcGF1c2U9JHt0aGlzLmhhbmRsZVBhdXNlfQogICAgICAgICAgQGVuZGVkPSR7dGhpcy5oYW5kbGVFbmRlZH0KICAgICAgICAgIEB0aW1ldXBkYXRlPSR7dGhpcy5oYW5kbGVUaW1lVXBkYXRlfQogICAgICAgICAgQGVycm9yPSR7dGhpcy5oYW5kbGVFcnJvcn0KICAgICAgICAgIEB3YWl0aW5nPSR7KCk9Pnt0aGlzLmxvYWRpbmc9ITB9fQogICAgICAgICAgQGNhbnBsYXk9JHsoKT0+e3RoaXMubG9hZGluZz0hMX19CiAgICAgICAgPjwvdmlkZW8+CgogICAgICAgICR7dGhpcy5zaG93Q29udHJvbHM/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXkiIEBjbGljaz0ke3RoaXMuaGFuZGxlT3ZlcmxheUNsaWNrfT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VudGVyLXBsYXkiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlBsYXkiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzLWJhciIgQGNsaWNrPSR7ZGU9PmRlLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWVrYmFyLXJvdyIgQGNsaWNrPSR7dGhpcy5oYW5kbGVTZWVrfT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZWtiYXItcHJvZ3Jlc3MiIHN0eWxlPSJ3aWR0aDogJHt0aGlzLmR1cmF0aW9uP3RoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvbioxMDA6MH0lIj48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMtcm93Ij4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0cmwtYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZVBsYXl9PgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZToke3RoaXMuaXNQbGF5aW5nPyJQYXVzZSI6IlBsYXkifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGltZS1kaXNwbGF5Ij4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5jdXJyZW50VGltZSl9IC8gJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5kdXJhdGlvbil9CiAgICAgICAgICAgICAgICA8L3NwYW4+CgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwYWNlciI+PC9zcGFuPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZvbHVtZS1ncm91cCI+CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0cmwtYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZU11dGV9PgogICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5tdXRlZHx8dGhpcy52b2x1bWU9PT0wPyJWb2x1bWVYIjp0aGlzLnZvbHVtZTwuNT8iVm9sdW1lMSI6IlZvbHVtZTIifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgICBjbGFzcz0idm9sdW1lLXNsaWRlciIKICAgICAgICAgICAgICAgICAgICB0eXBlPSJyYW5nZSIKICAgICAgICAgICAgICAgICAgICBtaW49IjAiCiAgICAgICAgICAgICAgICAgICAgbWF4PSIxIgogICAgICAgICAgICAgICAgICAgIHN0ZXA9IjAuMDEiCiAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7U3RyaW5nKHRoaXMubXV0ZWQ/MDp0aGlzLnZvbHVtZSl9CiAgICAgICAgICAgICAgICAgICAgQGlucHV0PSR7dGhpcy5oYW5kbGVWb2x1bWVDaGFuZ2V9CiAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHJsLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy50b2dnbGVGdWxsc2NyZWVufSB0aXRsZT0iRnVsbHNjcmVlbiI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5pc0Z1bGxzY3JlZW4/Ik1pbmltaXplIjoiTWF4aW1pemUifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICAke3RoaXMubG9hZGluZyYmIXRoaXMuZXJyb3I/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctb3ZlcmxheSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICAke3RoaXMuZXJyb3I/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW92ZXJsYXkiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpWaWRlb09mZiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlcnJvci10ZXh0Ij4ke3RoaXMuZXJyb3J9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMudmlkZW9FbGVtZW50PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigidmlkZW8iKXx8bnVsbCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuY2hhbmdlIix0aGlzLmhhbmRsZUZ1bGxzY3JlZW5DaGFuZ2UpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuY2hhbmdlIix0aGlzLmhhbmRsZUZ1bGxzY3JlZW5DaGFuZ2UpLHRoaXMuaGlkZUNvbnRyb2xzVGltZXImJmNsZWFyVGltZW91dCh0aGlzLmhpZGVDb250cm9sc1RpbWVyKX1wbGF5KCl7dGhpcy52aWRlb0VsZW1lbnQ/LnBsYXkoKX1wYXVzZSgpe3RoaXMudmlkZW9FbGVtZW50Py5wYXVzZSgpfXRvZ2dsZVBsYXkoKXt0aGlzLmlzUGxheWluZz90aGlzLnBhdXNlKCk6dGhpcy5wbGF5KCl9c2VlayhkZSl7dGhpcy52aWRlb0VsZW1lbnQmJih0aGlzLnZpZGVvRWxlbWVudC5jdXJyZW50VGltZT1kZSl9c2V0Vm9sdW1lKGRlKXt0aGlzLnZvbHVtZT1NYXRoLm1heCgwLE1hdGgubWluKDEsZGUpKSx0aGlzLnZpZGVvRWxlbWVudCYmKHRoaXMudmlkZW9FbGVtZW50LnZvbHVtZT10aGlzLnZvbHVtZSl9dG9nZ2xlRnVsbHNjcmVlbigpe2xldCBkZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi52aWRlby1jb250YWluZXIiKTtkZSYmKHRoaXMuaXNGdWxsc2NyZWVuP2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuPy4oKTpkZS5yZXF1ZXN0RnVsbHNjcmVlbj8uKCkpfWhhbmRsZUxvYWRlZE1ldGFkYXRhKCl7dGhpcy52aWRlb0VsZW1lbnQmJih0aGlzLmR1cmF0aW9uPXRoaXMudmlkZW9FbGVtZW50LmR1cmF0aW9uLHRoaXMubG9hZGluZz0hMSl9aGFuZGxlUGxheSgpe3RoaXMuaXNQbGF5aW5nPSEwLHRoaXMuc2NoZWR1bGVIaWRlQ29udHJvbHMoKX1oYW5kbGVQYXVzZSgpe3RoaXMuaXNQbGF5aW5nPSExLHRoaXMuY29udHJvbHNWaXNpYmxlPSEwfWhhbmRsZUVuZGVkKCl7dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5jb250cm9sc1Zpc2libGU9ITB9aGFuZGxlVGltZVVwZGF0ZSgpe3RoaXMudmlkZW9FbGVtZW50JiYodGhpcy5jdXJyZW50VGltZT10aGlzLnZpZGVvRWxlbWVudC5jdXJyZW50VGltZSl9aGFuZGxlRXJyb3IoKXt0aGlzLmVycm9yPSJGYWlsZWQgdG8gbG9hZCB2aWRlbyIsdGhpcy5sb2FkaW5nPSExfWhhbmRsZU92ZXJsYXlDbGljaygpe3RoaXMudG9nZ2xlUGxheSgpfWhhbmRsZVNlZWsoZGUpe2xldCB3ZT1kZS5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLExlPShkZS5jbGllbnRYLXdlLmxlZnQpL3dlLndpZHRoO3RoaXMuc2VlayhMZSp0aGlzLmR1cmF0aW9uKX1oYW5kbGVWb2x1bWVDaGFuZ2UoZGUpe2xldCB3ZT1wYXJzZUZsb2F0KGRlLnRhcmdldC52YWx1ZSk7dGhpcy5zZXRWb2x1bWUod2UpLHRoaXMubXV0ZWQ9d2U9PT0wfXRvZ2dsZU11dGUoKXt0aGlzLm11dGVkPSF0aGlzLm11dGVkLHRoaXMudmlkZW9FbGVtZW50JiYodGhpcy52aWRlb0VsZW1lbnQubXV0ZWQ9dGhpcy5tdXRlZCl9aGFuZGxlTW91c2VNb3ZlKCl7dGhpcy5jb250cm9sc1Zpc2libGU9ITAsdGhpcy5zY2hlZHVsZUhpZGVDb250cm9scygpfWhhbmRsZU1vdXNlTGVhdmUoKXt0aGlzLmlzUGxheWluZyYmKHRoaXMuY29udHJvbHNWaXNpYmxlPSExKX1zY2hlZHVsZUhpZGVDb250cm9scygpe3RoaXMuaGlkZUNvbnRyb2xzVGltZXImJmNsZWFyVGltZW91dCh0aGlzLmhpZGVDb250cm9sc1RpbWVyKSx0aGlzLmlzUGxheWluZyYmKHRoaXMuaGlkZUNvbnRyb2xzVGltZXI9c2V0VGltZW91dCgoKT0+e3RoaXMuY29udHJvbHNWaXNpYmxlPSExfSwzZTMpKX1oYW5kbGVGdWxsc2NyZWVuQ2hhbmdlPSgpPT57dGhpcy5pc0Z1bGxzY3JlZW49ISFkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudH07Zm9ybWF0VGltZShkZSl7aWYoIWlzRmluaXRlKGRlKXx8ZGU8MClyZXR1cm4iMDowMCI7bGV0IHdlPU1hdGguZmxvb3IoZGUvNjApLExlPU1hdGguZmxvb3IoZGUlNjApO3JldHVybmAke3dlfToke0xlLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWB9c3RhdGlje1lyKGEscil9fTtyZXR1cm4gWT1hfSkoKX0pO3ZhciBMZHI9ZigoKT0+e2V1ZSgpfSk7dmFyIGZsLEhGPWYoKCk9Pnt1ZSgpO2ZsPWNsYXNze3N0YXRpYyBwZGZqc0xpYjtzdGF0aWMgaW5pdGlhbGl6ZWQ9ITE7c3RhdGljIGFzeW5jIGluaXRpYWxpemUoKXt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5wZGZqc0xpYj1hd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcGRmanMtZGlzdEA0LjAuMzc5Lytlc20iKSx0aGlzLnBkZmpzTGliLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3BkZmpzLWRpc3RANC4wLjM3OS9idWlsZC9wZGYud29ya2VyLm1qcyIsdGhpcy5pbml0aWFsaXplZD0hMCl9c3RhdGljIGFzeW5jIGxvYWREb2N1bWVudCh0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0aWFsaXplKCksYXdhaXQgdGhpcy5wZGZqc0xpYi5nZXREb2N1bWVudCh0KS5wcm9taXNlfXN0YXRpYyByZWxlYXNlRG9jdW1lbnQodCl7fX19KTt2YXIgJGRyLERkcj1mKCgpPT57dWUoKTskZHI9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogNjAwcHg7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgY29udGFpbjogbGF5b3V0IHN0eWxlOwogICAgfQoKICAgIC5wZGYtdmlld2VyIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMjE1IDIwJSAxMCUpIil9OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLnRvb2xiYXIgewogICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMjAlIDE1JSkiKX07CiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTElKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgZ2FwOiAxNnB4OwogICAgICBmbGV4LXNocmluazogMDsKICAgIH0KCiAgICAudG9vbGJhci1ncm91cCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogNHB4OwogICAgfQoKICAgIC50b29sYmFyLWdyb3VwLS1lbmQgewogICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIH0KCiAgICAudG9vbGJhci1idXR0b24gewogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAudG9vbGJhci1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTIlKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICB9CgogICAgLnRvb2xiYXItYnV0dG9uOmRpc2FibGVkIHsKICAgICAgb3BhY2l0eTogMC40OwogICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgfQoKICAgIC50b29sYmFyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDE2cHg7CiAgICB9CgogICAgLnBhZ2UtaW5mbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogOHB4OwogICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgfQoKICAgIC5wYWdlLWlucHV0IHsKICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgIGhlaWdodDogMjhweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDI4JSkiKX07CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMjAlIDEyJSkiKX07CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIyMiA0NyUgMTElKSIsImhzbCgyMTAgMjAlIDk2JSkiKX07CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KCiAgICAucGFnZS1pbnB1dDpmb2N1cyB7CiAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgfQoKICAgIC5wYWdlLXNlcGFyYXRvciB7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNjAlKSIsImhzbCgyMTUgMTYlIDUwJSkiKX07CiAgICB9CgogICAgLnpvb20tbGV2ZWwgewogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIG1pbi13aWR0aDogNDhweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKICAgIC52aWV3ZXItY29udGFpbmVyIHsKICAgICAgZmxleDogMTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBtaW4taGVpZ2h0OiAwOwogICAgfQoKICAgIC5zaWRlYmFyIHsKICAgICAgd2lkdGg6IDIwMHB4OwogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDIwJSAxNSUpIil9OwogICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTElKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAuc2lkZWJhci1oZWFkZXIgewogICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgyMTQgMzElIDkxJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICB9CgogICAgLnNpZGViYXItY2xvc2UgewogICAgICB3aWR0aDogMjRweDsKICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgIH0KCiAgICAuc2lkZWJhci1jbG9zZTpob3ZlciB7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MiUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgIH0KCiAgICAuc2lkZWJhci1jbG9zZSBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICB9CgogICAgLnNpZGViYXItY29udGVudCB7CiAgICAgIGZsZXg6IDE7CiAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgcGFkZGluZzogMTJweDsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICB9CgogICAgLnRodW1ibmFpbCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMjE1IDIwJSAxOCUpIil9OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIC8qIERlZmF1bHQgQTQgYXNwZWN0IHJhdGlvICgyOTdtbSAvIDIxMG1tIOKJiCAxLjQxNCkgKi8KICAgICAgbWluLWhlaWdodDogY2FsYygxNzZweCAqIDEuNDE0KTsKICAgIH0KCiAgICAudGh1bWJuYWlsOmxhc3QtY2hpbGQgewogICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgfQoKICAgIC50aHVtYm5haWw6aG92ZXIgewogICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE0IDMxJSA4NiUpIiwiaHNsKDIxNyAyNSUgMzUlKSIpfTsKICAgIH0KCiAgICAudGh1bWJuYWlsLmFjdGl2ZSB7CiAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgfQoKICAgIC50aHVtYm5haWwtY2FudmFzIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IGF1dG87CiAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsKICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlczsKICAgIH0KCiAgICAudGh1bWJuYWlsLW51bWJlciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgYm90dG9tOiA0cHg7CiAgICAgIHJpZ2h0OiA0cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuNykiLCJyZ2JhKDAsIDAsIDAsIDAuOCkiKX07CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB9CgogICAgLnZpZXdlci1tYWluIHsKICAgICAgZmxleDogMTsKICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICBwYWRkaW5nOiAyMHB4OwogICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgbWluLWhlaWdodDogMDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQoKICAgIC5sb2FkaW5nLWNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGdhcDogMTZweDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgd2lkdGg6IDMycHg7CiAgICAgIGhlaWdodDogMzJweDsKICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBib3JkZXI6IDNweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDI4JSkiKX07CiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgfQoKICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgIHRvIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICB9CiAgICB9CgogICAgLmxvYWRpbmctdGV4dCB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIH0KCiAgICAucGFnZXMtY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAyMHB4OwogICAgfQoKICAgIC5wYWdlLXdyYXBwZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLmNhbnZhcy1jb250YWluZXIgewogICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgYm94LXNoYWRvdzogMCAycHggMTJweCAke3AuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgwLCAwLCAwLCAwLjMpIil9OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQoKICAgIC5wYWdlLWNhbnZhcyB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7CiAgICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7CiAgICB9CgogICAgLyogVGV4dCBsYXllciBmb3Igc2VsZWN0aW9uICovCiAgICAudGV4dC1sYXllciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaW5zZXQ6IDA7CiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgdGV4dC1zaXplLWFkanVzdDogbm9uZTsKICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogbm9uZTsKICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwOwogICAgICB6LWluZGV4OiAxOwogICAgICB1c2VyLXNlbGVjdDogdGV4dDsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDsKICAgIH0KCiAgICAudGV4dC1sYXllciBzcGFuLAogICAgLnRleHQtbGF5ZXIgYnIgewogICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICAgY3Vyc29yOiB0ZXh0OwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTsKICAgICAgdXNlci1zZWxlY3Q6IHRleHQ7CiAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7CiAgICB9CgogICAgLnRleHQtbGF5ZXIgOjpzZWxlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEwMCwgMjAwLCAwLjMpOwogICAgfQoKICAgIC50ZXh0LWxheWVyIGJyOjpzZWxlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIH0KCiAgICAudGV4dC1sYXllciAuZW5kT2ZDb250ZW50IHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaW5zZXQ6IDEwMCUgMCAwOwogICAgICB6LWluZGV4OiAwOwogICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgfQoKICAgIC50ZXh0LWxheWVyLnNlbGVjdGluZyAuZW5kT2ZDb250ZW50IHsKICAgICAgdG9wOiAwOwogICAgfQoKICAgIC5wZGYtdmlld2VyLndpdGgtc2lkZWJhciAudmlld2VyLW1haW4gewogICAgICBtYXJnaW4tbGVmdDogMDsKICAgIH0KICBgXX0pO3ZhciBBZHIsRWRyPWYoKCk9Pnt1ZSgpO0Fkcj0oKT0+TWAKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0MHB4OwogICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OwogICAgfQoKICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgfQoKICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQoKICAgIGRlZXMtcGRmLXZpZXdlciB7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAudmlld2VyLXRhbGwgewogICAgICBoZWlnaHQ6IDgwMHB4OwogICAgfQoKICAgIC52aWV3ZXItY29tcGFjdCB7CiAgICAgIGhlaWdodDogNTAwcHg7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkZ1bGwgRmVhdHVyZWQgUERGIFZpZXdlciB3aXRoIFRvb2xiYXI8L2gzPgogICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgY2xhc3M9InZpZXdlci10YWxsIgogICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgIHNob3dUb29sYmFyPSJ0cnVlIgogICAgICAgIHNob3dTaWRlYmFyPSJmYWxzZSIKICAgICAgICBpbml0aWFsWm9vbT0icGFnZS1maXQiCiAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5QREYgVmlld2VyIHdpdGggU2lkZWJhciBOYXZpZ2F0aW9uPC9oMz4KICAgICAgPGRlZXMtcGRmLXZpZXdlcgogICAgICAgIGNsYXNzPSJ2aWV3ZXItdGFsbCIKICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICBzaG93VG9vbGJhcj0idHJ1ZSIKICAgICAgICBzaG93U2lkZWJhcj0idHJ1ZSIKICAgICAgICBpbml0aWFsWm9vbT0icGFnZS13aWR0aCIKICAgICAgPjwvZGVlcy1wZGYtdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkNvbXBhY3QgVmlld2VyIHdpdGhvdXQgQ29udHJvbHM8L2gzPgogICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgY2xhc3M9InZpZXdlci1jb21wYWN0IgogICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIgogICAgICAgIHNob3dUb29sYmFyPSJmYWxzZSIKICAgICAgICBzaG93U2lkZWJhcj0iZmFsc2UiCiAgICAgICAgaW5pdGlhbFpvb209ImF1dG8iCiAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgIDwvZGl2PgogIDwvZGl2PgpgfSk7dmFyIGlzLHZhLElkcix0dWU9ZigoKT0+e3VlKCk7SEYoKTtEZHIoKTtFZHIoKTtpcigpO2lzPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sdmE9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LElkcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtcGRmLXZpZXdlciIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdLHEsXz1bXSx6PVtdLEUsVD1bXSxMPVtdLFYsQj1bXSxVPVtdLEssST1bXSx2ZT1bXSxNZSxQPVtdLGxlPVtdO3ZhciBTZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IFo9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpOdW1iZXJ9KV0sZD1bRih7dHlwZTpTdHJpbmd9KV0sdj1bRih7dHlwZTpCb29sZWFufSldLHk9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxSPVtGKHt0eXBlOk51bWJlcn0pXSxPPVtGKHt0eXBlOk51bWJlcn0pXSxxPVtGKHt0eXBlOk51bWJlcn0pXSxFPVtGKHt0eXBlOkJvb2xlYW59KV0sVj1bRih7dHlwZTpTdHJpbmd9KV0sSz1bRih7dHlwZTpBcnJheX0pXSxNZT1bRih7dHlwZTpBcnJheX0pXSxpcyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBkZlVybCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+InBkZlVybCJpbiBBLGdldDpBPT5BLnBkZlVybCxzZXQ6KEEsJCk9PntBLnBkZlVybD0kfX0sbWV0YWRhdGE6Wn0scyxvKSxpcyh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRpYWxQYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4iaW5pdGlhbFBhZ2UiaW4gQSxnZXQ6QT0+QS5pbml0aWFsUGFnZSxzZXQ6KEEsJCk9PntBLmluaXRpYWxQYWdlPSR9fSxtZXRhZGF0YTpafSxsLHUpLGlzKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdGlhbFpvb20iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkE9PiJpbml0aWFsWm9vbSJpbiBBLGdldDpBPT5BLmluaXRpYWxab29tLHNldDooQSwkKT0+e0EuaW5pdGlhbFpvb209JH19LG1ldGFkYXRhOlp9LGgsbSksaXModGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VG9vbGJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+InNob3dUb29sYmFyImluIEEsZ2V0OkE9PkEuc2hvd1Rvb2xiYXIsc2V0OihBLCQpPT57QS5zaG93VG9vbGJhcj0kfX0sbWV0YWRhdGE6Wn0sYixnKSxpcyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dTaWRlYmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4ic2hvd1NpZGViYXIiaW4gQSxnZXQ6QT0+QS5zaG93U2lkZWJhcixzZXQ6KEEsJCk9PntBLnNob3dTaWRlYmFyPSR9fSxtZXRhZGF0YTpafSx3LGspLGlzKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFBhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkE9PiJjdXJyZW50UGFnZSJpbiBBLGdldDpBPT5BLmN1cnJlbnRQYWdlLHNldDooQSwkKT0+e0EuY3VycmVudFBhZ2U9JH19LG1ldGFkYXRhOlp9LEMsUyksaXModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0b3RhbFBhZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4idG90YWxQYWdlcyJpbiBBLGdldDpBPT5BLnRvdGFsUGFnZXMsc2V0OihBLCQpPT57QS50b3RhbFBhZ2VzPSR9fSxtZXRhZGF0YTpafSxELE4pLGlzKHRoaXMsbnVsbCxxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFpvb20iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkE9PiJjdXJyZW50Wm9vbSJpbiBBLGdldDpBPT5BLmN1cnJlbnRab29tLHNldDooQSwkKT0+e0EuY3VycmVudFpvb209JH19LG1ldGFkYXRhOlp9LF8seiksaXModGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4ibG9hZGluZyJpbiBBLGdldDpBPT5BLmxvYWRpbmcsc2V0OihBLCQpPT57QS5sb2FkaW5nPSR9fSxtZXRhZGF0YTpafSxULEwpLGlzKHRoaXMsbnVsbCxWLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG9jdW1lbnRJZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6QT0+ImRvY3VtZW50SWQiaW4gQSxnZXQ6QT0+QS5kb2N1bWVudElkLHNldDooQSwkKT0+e0EuZG9jdW1lbnRJZD0kfX0sbWV0YWRhdGE6Wn0sQixVKSxpcyh0aGlzLG51bGwsSyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRodW1ibmFpbERhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkE9PiJ0aHVtYm5haWxEYXRhImluIEEsZ2V0OkE9PkEudGh1bWJuYWlsRGF0YSxzZXQ6KEEsJCk9PntBLnRodW1ibmFpbERhdGE9JH19LG1ldGFkYXRhOlp9LEksdmUpLGlzKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBhZ2VEYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpBPT4icGFnZURhdGEiaW4gQSxnZXQ6QT0+QS5wYWdlRGF0YSxzZXQ6KEEsJCk9PntBLnBhZ2VEYXRhPSR9fSxtZXRhZGF0YTpafSxQLGxlKSxpcyhudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpafSxudWxsLHIpLFNlPWE9dC52YWx1ZSxaJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlp9KX1zdGF0aWMgZGVtbz1BZHI7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSIsIlBERiJdO3N0YXRpYyBzdHlsZXM9JGRyOyNlPXZhKHRoaXMscywiIik7Z2V0IHBkZlVybCgpe3JldHVybiB0aGlzLiNlfXNldCBwZGZVcmwoWil7dGhpcy4jZT1afSN0PSh2YSh0aGlzLG8pLHZhKHRoaXMsbCwxKSk7Z2V0IGluaXRpYWxQYWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluaXRpYWxQYWdlKFope3RoaXMuI3Q9Wn0jcj0odmEodGhpcyx1KSx2YSh0aGlzLGgsImF1dG8iKSk7Z2V0IGluaXRpYWxab29tKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGluaXRpYWxab29tKFope3RoaXMuI3I9Wn0jYT0odmEodGhpcyxtKSx2YSh0aGlzLGIsITApKTtnZXQgc2hvd1Rvb2xiYXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1Rvb2xiYXIoWil7dGhpcy4jYT1afSNpPSh2YSh0aGlzLGcpLHZhKHRoaXMsdywhMSkpO2dldCBzaG93U2lkZWJhcigpe3JldHVybiB0aGlzLiNpfXNldCBzaG93U2lkZWJhcihaKXt0aGlzLiNpPVp9I249KHZhKHRoaXMsayksdmEodGhpcyxDLDEpKTtnZXQgY3VycmVudFBhZ2UoKXtyZXR1cm4gdGhpcy4jbn1zZXQgY3VycmVudFBhZ2UoWil7dGhpcy4jbj1afSNzPSh2YSh0aGlzLFMpLHZhKHRoaXMsRCwxKSk7Z2V0IHRvdGFsUGFnZXMoKXtyZXR1cm4gdGhpcy4jc31zZXQgdG90YWxQYWdlcyhaKXt0aGlzLiNzPVp9I289KHZhKHRoaXMsTiksdmEodGhpcyxfLDEpKTtnZXQgY3VycmVudFpvb20oKXtyZXR1cm4gdGhpcy4jb31zZXQgY3VycmVudFpvb20oWil7dGhpcy4jbz1afSNsPSh2YSh0aGlzLHopLHZhKHRoaXMsVCwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGxvYWRpbmcoWil7dGhpcy4jbD1afSNjPSh2YSh0aGlzLEwpLHZhKHRoaXMsQiwiIikpO2dldCBkb2N1bWVudElkKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGRvY3VtZW50SWQoWil7dGhpcy4jYz1afSNkPSh2YSh0aGlzLFUpLHZhKHRoaXMsSSxbXSkpO2dldCB0aHVtYm5haWxEYXRhKCl7cmV0dXJuIHRoaXMuI2R9c2V0IHRodW1ibmFpbERhdGEoWil7dGhpcy4jZD1afSN1PSh2YSh0aGlzLHZlKSx2YSh0aGlzLFAsW10pKTtnZXQgcGFnZURhdGEoKXtyZXR1cm4gdGhpcy4jdX1zZXQgcGFnZURhdGEoWil7dGhpcy4jdT1afXBkZkRvY3VtZW50PXZhKHRoaXMsbGUpO3JlbmRlclN0YXRlPSJpZGxlIjtyZW5kZXJBYm9ydENvbnRyb2xsZXI9bnVsbDtwYWdlUmVuZGVyaW5nPSExO3BhZ2VOdW1QZW5kaW5nPW51bGw7Y3VycmVudFJlbmRlclRhc2s9bnVsbDtjdXJyZW50UmVuZGVyUHJvbWlzZT1udWxsO3RodW1ibmFpbFJlbmRlclRhc2tzPVtdO3BhZ2VSZW5kZXJUYXNrcz1uZXcgTWFwO3RleHRMYXllclJlbmRlclRhc2tzPW5ldyBNYXA7Y2FudmFzO2N0eDt2aWV3ZXJNYWluPW51bGw7cmVzaXplT2JzZXJ2ZXI7aW50ZXJzZWN0aW9uT2JzZXJ2ZXI7c2Nyb2xsVGhyb3R0bGVUaW1lb3V0O3ZpZXdwb3J0RGltZW5zaW9ucz17d2lkdGg6MCxoZWlnaHQ6MH07dmlld3BvcnRNb2RlPSJhdXRvIjtNQU5VQUxfTUlOX1pPT009LjU7TUFOVUFMX01BWF9aT09NPTM7QUJTT0xVVEVfTUlOX1pPT009LjE7QUJTT0xVVEVfTUFYX1pPT009NDtQQUdFX0dBUD0yMDtSRU5ERVJfQlVGRkVSPTM7Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJwZGYtdmlld2VyICR7dGhpcy5zaG93U2lkZWJhcj8id2l0aC1zaWRlYmFyIjoiIn0iPgogICAgICAgICR7dGhpcy5zaG93VG9vbGJhcj9NYAogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMucHJldmlvdXNQYWdlfQogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5jdXJyZW50UGFnZTw9MX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpDaGV2cm9uTGVmdCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZS1pbmZvIj4KICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICB0eXBlPSJudW1iZXIiCiAgICAgICAgICAgICAgICAgIG1pbj0iMSIKICAgICAgICAgICAgICAgICAgbWF4PSIke3RoaXMudG90YWxQYWdlc30iCiAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke1N0cmluZyh0aGlzLmN1cnJlbnRQYWdlKX0KICAgICAgICAgICAgICAgICAgQGNoYW5nZT0ke3RoaXMuaGFuZGxlUGFnZUlucHV0fQogICAgICAgICAgICAgICAgICBjbGFzcz0icGFnZS1pbnB1dCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFnZS1zZXBhcmF0b3IiPi88L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFnZS10b3RhbCI+JHt0aGlzLnRvdGFsUGFnZXN9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMubmV4dFBhZ2V9CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmN1cnJlbnRQYWdlPj10aGlzLnRvdGFsUGFnZXN9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Q2hldnJvblJpZ2h0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnpvb21PdXR9CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5jYW5ab29tT3V0fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlpvb21PdXQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMucmVzZXRab29tfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ6b29tLWxldmVsIj4ke01hdGgucm91bmQodGhpcy5jdXJyZW50Wm9vbSoxMDApfSU8L3NwYW4+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy56b29tSW59CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5jYW5ab29tSW59CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Wm9vbUluIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmZpdFRvUGFnZX0KICAgICAgICAgICAgICAgIHRpdGxlPSJGaXQgdG8gcGFnZSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpNYXhpbWl6ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5maXRUb1dpZHRofQogICAgICAgICAgICAgICAgdGl0bGU9IkZpdCB0byB3aWR0aCIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBcnJvd0xlZnRSaWdodCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCB0b29sYmFyLWdyb3VwLS1lbmQiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNob3dTaWRlYmFyPSF0aGlzLnNob3dTaWRlYmFyfQogICAgICAgICAgICAgICAgdGl0bGU9IiR7dGhpcy5zaG93U2lkZWJhcj8iSGlkZSB0aHVtYm5haWxzIjoiU2hvdyB0aHVtYm5haWxzIn0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSIke3RoaXMuc2hvd1NpZGViYXI/Imx1Y2lkZTpTaWRlYmFyQ2xvc2UiOiJsdWNpZGU6U2lkZWJhciJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmRvd25sb2FkUGRmfQogICAgICAgICAgICAgICAgdGl0bGU9IkRvd25sb2FkIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkRvd25sb2FkIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnByaW50UGRmfQogICAgICAgICAgICAgICAgdGl0bGU9IlByaW50IgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlByaW50ZXIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYgY2xhc3M9InZpZXdlci1jb250YWluZXIiPgogICAgICAgICAgJHt0aGlzLnNob3dTaWRlYmFyP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuPlBhZ2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICBjbGFzcz0ic2lkZWJhci1jbG9zZSIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd1NpZGViYXI9ITF9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlgiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1jb250ZW50Ij4KICAgICAgICAgICAgICAgICR7RnMua2V5ZWQodGhpcy5kb2N1bWVudElkLE1gCiAgICAgICAgICAgICAgICAgICR7RnMucmVwZWF0KHRoaXMudGh1bWJuYWlsRGF0YSxaPT5aLnBhZ2UsWj0+TWAKICAgICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRodW1ibmFpbCAke3RoaXMuY3VycmVudFBhZ2U9PT1aLnBhZ2U/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2U9IiR7Wi5wYWdlfSIKICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVUaHVtYm5haWxDbGlja30KICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0idGh1bWJuYWlsLWNhbnZhcyIgZGF0YS1wYWdlPSIke1oucGFnZX0iPjwvY2FudmFzPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGh1bWJuYWlsLW51bWJlciI+JHtaLnBhZ2V9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgIDxkaXYgY2xhc3M9InZpZXdlci1tYWluIiBAc2Nyb2xsPSR7dGhpcy5oYW5kbGVTY3JvbGx9PgogICAgICAgICAgICAke3RoaXMubG9hZGluZz9NYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXRleHQiPkxvYWRpbmcgUERGLi4uPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6TWAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlcy1jb250YWluZXIiPgogICAgICAgICAgICAgICAgJHtGcy5yZXBlYXQodGhpcy5wYWdlRGF0YSxaPT5aLnBhZ2UsWj0+TWAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLXdyYXBwZXIiIGRhdGEtcGFnZT0iJHtaLnBhZ2V9Ij4KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbnZhcy1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGNsYXNzPSJwYWdlLWNhbnZhcyIgZGF0YS1wYWdlPSIke1oucGFnZX0iPjwvY2FudmFzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWxheWVyIiBkYXRhLXBhZ2U9IiR7Wi5wYWdlfSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuZW5zdXJlVmlld2VyUmVmcygpLHRoaXMucGRmVXJsJiYodGhpcy5kb2N1bWVudElkPWAke3RoaXMucGRmVXJsfS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gLGF3YWl0IHRoaXMubG9hZFBkZigpKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9dm9pZCAwLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPXZvaWQgMCx0aGlzLnNjcm9sbFRocm90dGxlVGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLnNjcm9sbFRocm90dGxlVGltZW91dCksdGhpcy5zY3JvbGxUaHJvdHRsZVRpbWVvdXQ9dm9pZCAwKSx0aGlzLnJlbmRlclN0YXRlPSJkaXNwb3NlZCIsYXdhaXQgdGhpcy5jbGVhbnVwRG9jdW1lbnQoKSx0aGlzLmNhbnZhcz12b2lkIDAsdGhpcy5jdHg9dm9pZCAwfWFzeW5jIHVwZGF0ZWQoWil7aWYoc3VwZXIudXBkYXRlZChaKSxaLmhhcygicGRmVXJsIikmJnRoaXMucGRmVXJsKXtsZXQgQT1aLmdldCgicGRmVXJsIik7QSYmZmwucmVsZWFzZURvY3VtZW50KEEpLHRoaXMuZG9jdW1lbnRJZD1gJHt0aGlzLnBkZlVybH0tJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCl9YCxhd2FpdCB0aGlzLmxvYWRQZGYoKX1aLmhhcygic2hvd1NpZGViYXIiKSYmdGhpcy5zaG93U2lkZWJhciYmdGhpcy5wZGZEb2N1bWVudCYmKGF3YWl0IG5ldyBQcm9taXNlKEE9PnJlcXVlc3RBbmltYXRpb25GcmFtZShBKSksdGhpcy50aHVtYm5haWxEYXRhLmZvckVhY2goQT0+QS5yZW5kZXJlZD0hMSksYXdhaXQgdGhpcy5yZW5kZXJUaHVtYm5haWxzKCksdGhpcy5zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCksdGhpcy5zY3JvbGxUaHVtYm5haWxJbnRvVmlldyh0aGlzLmN1cnJlbnRQYWdlKSl9YXN5bmMgbG9hZFBkZigpe3RoaXMubG9hZGluZz0hMCx0aGlzLnJlbmRlclN0YXRlPSJsb2FkaW5nIjt0cnl7YXdhaXQgdGhpcy5jbGVhbnVwRG9jdW1lbnQoKSx0aGlzLnJlbmRlckFib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyO2xldCBaPXRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyLnNpZ25hbDtpZih0aGlzLnBkZkRvY3VtZW50PWF3YWl0IGZsLmxvYWREb2N1bWVudCh0aGlzLnBkZlVybCksWi5hYm9ydGVkfHwodGhpcy50b3RhbFBhZ2VzPXRoaXMucGRmRG9jdW1lbnQubnVtUGFnZXMsdGhpcy5jdXJyZW50UGFnZT10aGlzLmluaXRpYWxQYWdlLHRoaXMucmVzb2x2ZUluaXRpYWxWaWV3cG9ydE1vZGUoKSx0aGlzLnRodW1ibmFpbERhdGE9QXJyYXkuZnJvbSh7bGVuZ3RoOnRoaXMudG90YWxQYWdlc30sKEEsJCk9Pih7cGFnZTokKzEscmVuZGVyZWQ6ITF9KSksdGhpcy5wYWdlRGF0YT1BcnJheS5mcm9tKHtsZW5ndGg6dGhpcy50b3RhbFBhZ2VzfSwoQSwkKT0+KHtwYWdlOiQrMSxyZW5kZXJlZDohMSxyZW5kZXJpbmc6ITEsdGV4dExheWVyUmVuZGVyZWQ6ITF9KSksdGhpcy5sb2FkaW5nPSExLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5lbnN1cmVWaWV3ZXJSZWZzKCksdGhpcy5zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCksYXdhaXQgbmV3IFByb21pc2UoQT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKEEpKSxaLmFib3J0ZWQpfHwodGhpcy5yZW5kZXJTdGF0ZT0icmVuZGVyaW5nLW1haW4iLGF3YWl0IHRoaXMucmVuZGVyVmlzaWJsZVBhZ2VzKCksWi5hYm9ydGVkKXx8KHRoaXMuaW5pdGlhbFBhZ2U+MSYmYXdhaXQgdGhpcy5zY3JvbGxUb1BhZ2UodGhpcy5pbml0aWFsUGFnZSwhMSksdGhpcy5zaG93U2lkZWJhciYmKGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsYXdhaXQgbmV3IFByb21pc2UoQT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKEEpKSxaLmFib3J0ZWR8fChhd2FpdCB0aGlzLnJlbmRlclRodW1ibmFpbHMoKSxaLmFib3J0ZWQpKSkpcmV0dXJuO3RoaXMucmVuZGVyU3RhdGU9InJlbmRlcmVkIn1jYXRjaChaKXtjb25zb2xlLmVycm9yKCJFcnJvciBsb2FkaW5nIFBERjoiLFopLHRoaXMubG9hZGluZz0hMSx0aGlzLnJlbmRlclN0YXRlPSJlcnJvciJ9fXNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKXt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyJiZ0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihBPT57Zm9yKGxldCAkIG9mIEEpe2xldCBqPSQudGFyZ2V0LEg9cGFyc2VJbnQoai5kYXRhc2V0LnBhZ2V8fCIxIik7JC5pc0ludGVyc2VjdGluZyYmdGhpcy5yZW5kZXJQYWdlSWZOZWVkZWQoSCl9fSx7cm9vdDp0aGlzLnZpZXdlck1haW4scm9vdE1hcmdpbjpgJHt0aGlzLlJFTkRFUl9CVUZGRVIqMTAwfXB4IDBweGAsdGhyZXNob2xkOi4wMX0pO2xldCBaPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLnBhZ2Utd3JhcHBlciIpO1omJlouZm9yRWFjaChBPT57dGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlcj8ub2JzZXJ2ZShBKX0pfWFzeW5jIHJlbmRlclZpc2libGVQYWdlcygpe2lmKCF0aGlzLnZpZXdlck1haW4pcmV0dXJuO2xldCBaPXRoaXMudmlld2VyTWFpbi5jbGllbnRIZWlnaHQ7Zm9yKGxldCBBIG9mIHRoaXMucGFnZURhdGEpe2xldCAkPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnBhZ2Utd3JhcHBlcltkYXRhLXBhZ2U9IiR7QS5wYWdlfSJdYCk7aWYoISQpY29udGludWU7bGV0IGo9JC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxIPXRoaXMudmlld2VyTWFpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxZPWoudG9wLUgudG9wLGRlPVkrai5oZWlnaHQsd2U9dGhpcy5SRU5ERVJfQlVGRkVSKlo7ZGU+PS13ZSYmWTw9Wit3ZSYmYXdhaXQgdGhpcy5yZW5kZXJQYWdlSWZOZWVkZWQoQS5wYWdlKX19YXN5bmMgcmVuZGVyUGFnZUlmTmVlZGVkKFope2xldCBBPXRoaXMucGFnZURhdGEuZmluZCgkPT4kLnBhZ2U9PT1aKTtpZighKCFBfHxBLnJlbmRlcmVkfHxBLnJlbmRlcmluZykpe0EucmVuZGVyaW5nPSEwO3RyeXtsZXQgJD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC5wYWdlLWNhbnZhc1tkYXRhLXBhZ2U9IiR7Wn0iXWApO2lmKCEkKXtBLnJlbmRlcmluZz0hMTtyZXR1cm59bGV0IGo9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXRQYWdlKFopLEg9dGhpcy5jb21wdXRlVmlld3BvcnQoaiksWT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTskLndpZHRoPU1hdGguZmxvb3IoSC53aWR0aCpZKSwkLmhlaWdodD1NYXRoLmZsb29yKEguaGVpZ2h0KlkpLCQuc3R5bGUud2lkdGg9YCR7SC53aWR0aH1weGAsJC5zdHlsZS5oZWlnaHQ9YCR7SC5oZWlnaHR9cHhgO2xldCBkZT0kLmdldENvbnRleHQoIjJkIik7aWYoIWRlKXtqLmNsZWFudXA/LigpLEEucmVuZGVyaW5nPSExO3JldHVybn1kZS5zY2FsZShZLFkpO2xldCB3ZT17Y2FudmFzQ29udGV4dDpkZSx2aWV3cG9ydDpIfSxMZT1qLnJlbmRlcih3ZSk7dGhpcy5wYWdlUmVuZGVyVGFza3Muc2V0KFosTGUpLGF3YWl0IExlLnByb21pc2Usai5jbGVhbnVwPy4oKSxBLnJlbmRlcmVkPSEwLEEucmVuZGVyaW5nPSExLHRoaXMucGFnZVJlbmRlclRhc2tzLmRlbGV0ZShaKSxhd2FpdCB0aGlzLnJlbmRlclRleHRMYXllcihaKSx0aGlzLnJlcXVlc3RVcGRhdGUoInBhZ2VEYXRhIil9Y2F0Y2goJCl7JD8ubmFtZSE9PSJSZW5kZXJpbmdDYW5jZWxsZWRFeGNlcHRpb24iJiZjb25zb2xlLmVycm9yKGBFcnJvciByZW5kZXJpbmcgcGFnZSAke1p9OmAsJCksQS5yZW5kZXJpbmc9ITEsdGhpcy5wYWdlUmVuZGVyVGFza3MuZGVsZXRlKFopfX19YXN5bmMgcmVuZGVyVGV4dExheWVyKFope2xldCBBPXRoaXMucGFnZURhdGEuZmluZCgkPT4kLnBhZ2U9PT1aKTtpZighKCFBfHxBLnRleHRMYXllclJlbmRlcmVkKSl0cnl7bGV0ICQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAudGV4dC1sYXllcltkYXRhLXBhZ2U9IiR7Wn0iXWApO2lmKCEkKXJldHVybjskLmlubmVySFRNTD0iIjtsZXQgaj1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldFBhZ2UoWiksSD1hd2FpdCBqLmdldFRleHRDb250ZW50KCksWT10aGlzLmNvbXB1dGVWaWV3cG9ydChqKSxkZT1hd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcGRmanMtZGlzdEA0LjAuMzc5Lytlc20iKTskLnN0eWxlLndpZHRoPWAke1kud2lkdGh9cHhgLCQuc3R5bGUuaGVpZ2h0PWAke1kuaGVpZ2h0fXB4YCwkLnN0eWxlLnNldFByb3BlcnR5KCItLXNjYWxlLWZhY3RvciIsU3RyaW5nKFkuc2NhbGUpKTtsZXQgd2U9ZGUucmVuZGVyVGV4dExheWVyKHt0ZXh0Q29udGVudFNvdXJjZTpILGNvbnRhaW5lcjokLHZpZXdwb3J0Oll9KTt0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLnNldChaLHdlKSxhd2FpdCB3ZS5wcm9taXNlO2xldCBMZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtMZS5jbGFzc05hbWU9ImVuZE9mQ29udGVudCIsJC5hcHBlbmRDaGlsZChMZSk7bGV0IEc9ITEsVz1udWxsLGFlPTAseWU9KGJlLG5lKT0+e2xldCB6ZT1BcnJheS5mcm9tKCQucXVlcnlTZWxlY3RvckFsbCgic3BhbiIpKTtmb3IobGV0IEllIG9mIHplKXtsZXQgWmU9SWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoYmU+PVplLmxlZnQmJmJlPD1aZS5yaWdodCYmbmU+PVplLnRvcCYmbmU8PVplLmJvdHRvbSl7bGV0IHRlPUllLmZpcnN0Q2hpbGQ7aWYodGUmJnRlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpe2xldCBYPXRlLnRleHRDb250ZW50fHwiIixlZT1aZS53aWR0aC9YLmxlbmd0aCx4ZT1iZS1aZS5sZWZ0LEFlPU1hdGgubWluKE1hdGgucm91bmQoeGUvZWUpLFgubGVuZ3RoKTtyZXR1cm57bm9kZTp0ZSxvZmZzZXQ6QWV9fX19cmV0dXJuIG51bGx9LG1lPSgpPT57RyYmKEc9ITEsVz1udWxsLCQuY2xhc3NMaXN0LnJlbW92ZSgic2VsZWN0aW5nIikpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG1lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLENlKX0sQ2U9YmU9PntpZighR3x8IVcpcmV0dXJuO2JlLnByZXZlbnREZWZhdWx0KCk7bGV0IG5lPXllKGJlLmNsaWVudFgsYmUuY2xpZW50WSk7aWYobmUpe2xldCB6ZT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoemUpdHJ5e3plLnNldEJhc2VBbmRFeHRlbnQoVyxhZSxuZS5ub2RlLG5lLm9mZnNldCl9Y2F0Y2h7fX19OyQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixiZT0+e2lmKGJlLmJ1dHRvbiE9PTApcmV0dXJuO2xldCBuZT15ZShiZS5jbGllbnRYLGJlLmNsaWVudFkpO25lJiYoYmUucHJldmVudERlZmF1bHQoKSxHPSEwLFc9bmUubm9kZSxhZT1uZS5vZmZzZXQsJC5jbGFzc0xpc3QuYWRkKCJzZWxlY3RpbmciKSx3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnJlbW92ZUFsbFJhbmdlcygpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsQ2UpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG1lKSl9KSxBLnRleHRMYXllclJlbmRlcmVkPSEwLGouY2xlYW51cD8uKCksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5kZWxldGUoWil9Y2F0Y2goJCl7JD8ubmFtZSE9PSJSZW5kZXJpbmdDYW5jZWxsZWRFeGNlcHRpb24iJiZjb25zb2xlLmVycm9yKGBFcnJvciByZW5kZXJpbmcgdGV4dCBsYXllciBmb3IgcGFnZSAke1p9OmAsJCksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5kZWxldGUoWil9fWhhbmRsZVNjcm9sbD0oKT0+e3RoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5zY3JvbGxUaHJvdHRsZVRpbWVvdXQpLHRoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0PXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dGhpcy51cGRhdGVDdXJyZW50UGFnZSgpLHRoaXMucmVuZGVyVmlzaWJsZVBhZ2VzKCl9LDUwKX07dXBkYXRlQ3VycmVudFBhZ2UoKXtpZighdGhpcy52aWV3ZXJNYWluKXJldHVybjtsZXQgWj10aGlzLnZpZXdlck1haW4uc2Nyb2xsVG9wLEE9dGhpcy52aWV3ZXJNYWluLmNsaWVudEhlaWdodCwkPVorQS8yO2ZvcihsZXQgaj0wO2o8dGhpcy5wYWdlRGF0YS5sZW5ndGg7aisrKXtsZXQgSD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC5wYWdlLXdyYXBwZXJbZGF0YS1wYWdlPSIke2orMX0iXWApO2lmKCFIKWNvbnRpbnVlO2xldCBZPUguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZGU9dGhpcy52aWV3ZXJNYWluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHdlPVkudG9wLWRlLnRvcCtaLExlPXdlK1kuaGVpZ2h0O2lmKCQ+PXdlJiYkPD1MZSl7dGhpcy5jdXJyZW50UGFnZSE9PWorMSYmKHRoaXMuY3VycmVudFBhZ2U9aisxLHRoaXMuc2hvd1NpZGViYXImJnRoaXMuc2Nyb2xsVGh1bWJuYWlsSW50b1ZpZXcoaisxKSk7YnJlYWt9fX1zY3JvbGxUaHVtYm5haWxJbnRvVmlldyhaKXtsZXQgQT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC50aHVtYm5haWxbZGF0YS1wYWdlPSIke1p9Il1gKSwkPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnNpZGViYXItY29udGVudCIpO2lmKEEmJiQpe2xldCBqPUEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksSD0kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFk9ai50b3A8SC50b3AsZGU9ai5ib3R0b20+SC5ib3R0b207aWYoWXx8ZGUpe2xldCB3ZT1BLm9mZnNldFRvcCxMZT1BLm9mZnNldEhlaWdodCxHPSQuY2xpZW50SGVpZ2h0LFc9d2UtRy8yK0xlLzI7JC5zY3JvbGxUbyh7dG9wOk1hdGgubWF4KDAsVyksYmVoYXZpb3I6InNtb290aCJ9KX19fWFzeW5jIHNjcm9sbFRvUGFnZShaLEE9ITApe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0ICQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAucGFnZS13cmFwcGVyW2RhdGEtcGFnZT0iJHtafSJdYCk7aWYoJCYmdGhpcy52aWV3ZXJNYWluKXtsZXQgaj0kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEg9dGhpcy52aWV3ZXJNYWluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGRlPXRoaXMudmlld2VyTWFpbi5zY3JvbGxUb3ArKGoudG9wLUgudG9wKS10aGlzLnZpZXdlck1haW4uY2xpZW50VG9wO0E/dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvKHt0b3A6ZGUsYmVoYXZpb3I6InNtb290aCJ9KTp0aGlzLnZpZXdlck1haW4uc2Nyb2xsVG9wPWRlLHRoaXMuY3VycmVudFBhZ2U9Wix0aGlzLnNob3dTaWRlYmFyJiZ0aGlzLnNjcm9sbFRodW1ibmFpbEludG9WaWV3KFopLGF3YWl0IHRoaXMucmVuZGVyUGFnZUlmTmVlZGVkKFopfX1hc3luYyByZW5kZXJUaHVtYm5haWxzKCl7aWYoIXRoaXMucGRmRG9jdW1lbnR8fHRoaXMudGh1bWJuYWlsRGF0YS5sZW5ndGg+MCYmdGhpcy50aHVtYm5haWxEYXRhLmV2ZXJ5KEE9PkEucmVuZGVyZWQpfHx0aGlzLnJlbmRlckFib3J0Q29udHJvbGxlcj8uc2lnbmFsLmFib3J0ZWQpcmV0dXJuO2xldCBaPXRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyPy5zaWduYWw7dGhpcy5yZW5kZXJTdGF0ZT0icmVuZGVyaW5nLXRodW1icyI7Zm9yKGxldCBBIG9mIHRoaXMudGh1bWJuYWlsUmVuZGVyVGFza3MpdHJ5e0EuY2FuY2VsKCl9Y2F0Y2h7fXRoaXMudGh1bWJuYWlsUmVuZGVyVGFza3M9W107dHJ5e2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IEE9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIudGh1bWJuYWlsIiksJD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoIi50aHVtYm5haWwtY2FudmFzIiksaj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zaWRlYmFyLWNvbnRlbnQiKSxIPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGopLGRlPTIwMC0ocGFyc2VGbG9hdChILnBhZGRpbmdMZWZ0KStwYXJzZUZsb2F0KEgucGFkZGluZ1JpZ2h0KSktNDtmb3IobGV0IHdlIG9mIEFycmF5LmZyb20oJCkpe2xldCBMZT13ZS5nZXRDb250ZXh0KCIyZCIpO0xlJiZMZS5jbGVhclJlY3QoMCwwLHdlLndpZHRoLHdlLmhlaWdodCl9Zm9yKGxldCB3ZT0wO3dlPCQubGVuZ3RoO3dlKyspe2lmKFo/LmFib3J0ZWQpcmV0dXJuO2xldCBMZT0kW3dlXSxHPUFbd2VdLFc9cGFyc2VJbnQoTGUuZGF0YXNldC5wYWdlfHwiMSIpLGFlPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShXKSx5ZT1hZS5nZXRWaWV3cG9ydCh7c2NhbGU6MX0pLG1lPWRlL3llLndpZHRoLENlPWFlLmdldFZpZXdwb3J0KHtzY2FsZTptZX0pLGJlPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO0xlLndpZHRoPU1hdGguZmxvb3IoQ2Uud2lkdGgqYmUpLExlLmhlaWdodD1NYXRoLmZsb29yKENlLmhlaWdodCpiZSksTGUuc3R5bGUud2lkdGg9YCR7Q2Uud2lkdGh9cHhgLExlLnN0eWxlLmhlaWdodD1gJHtDZS5oZWlnaHR9cHhgLEcuc3R5bGUuaGVpZ2h0PWAke0NlLmhlaWdodH1weGAsRy5zdHlsZS5taW5IZWlnaHQ9YCR7Q2UuaGVpZ2h0fXB4YDtsZXQgbmU9TGUuZ2V0Q29udGV4dCgiMmQiKTtpZighbmUpe2FlLmNsZWFudXA/LigpO2NvbnRpbnVlfW5lLnNjYWxlKGJlLGJlKTtsZXQgemU9e2NhbnZhc0NvbnRleHQ6bmUsdmlld3BvcnQ6Q2V9LEllPWFlLnJlbmRlcih6ZSk7dGhpcy50aHVtYm5haWxSZW5kZXJUYXNrcy5wdXNoKEllKSxhd2FpdCBJZS5wcm9taXNlLGFlLmNsZWFudXA/LigpO2xldCBaZT10aGlzLnRodW1ibmFpbERhdGEuZmluZCh0ZT0+dGUucGFnZT09PVcpO1plJiYoWmUucmVuZGVyZWQ9ITApfXRoaXMucmVxdWVzdFVwZGF0ZSgidGh1bWJuYWlsRGF0YSIpfWNhdGNoKEEpe0E/Lm5hbWUhPT0iUmVuZGVyaW5nQ2FuY2VsbGVkRXhjZXB0aW9uIiYmY29uc29sZS5lcnJvcigiRXJyb3IgcmVuZGVyaW5nIHRodW1ibmFpbHM6IixBKX1maW5hbGx5e3RoaXMudGh1bWJuYWlsUmVuZGVyVGFza3M9W119fXByZXZpb3VzUGFnZSgpe3RoaXMuY3VycmVudFBhZ2U+MSYmdGhpcy5zY3JvbGxUb1BhZ2UodGhpcy5jdXJyZW50UGFnZS0xKX1uZXh0UGFnZSgpe3RoaXMuY3VycmVudFBhZ2U8dGhpcy50b3RhbFBhZ2VzJiZ0aGlzLnNjcm9sbFRvUGFnZSh0aGlzLmN1cnJlbnRQYWdlKzEpfWhhbmRsZVRodW1ibmFpbENsaWNrKFope2xldCBBPVouY3VycmVudFRhcmdldCwkPXBhcnNlSW50KEEuZGF0YXNldC5wYWdlfHwiMSIpO3RoaXMuc2Nyb2xsVG9QYWdlKCQpfWhhbmRsZVBhZ2VJbnB1dChaKXtsZXQgQT1aLnRhcmdldCwkPXBhcnNlSW50KEEudmFsdWUpO3RoaXMuc2Nyb2xsVG9QYWdlKCQpfXpvb21Jbigpe2xldCBaPU1hdGgubWluKHRoaXMuTUFOVUFMX01BWF9aT09NLHRoaXMuY3VycmVudFpvb20qMS4yKTt0aGlzLnZpZXdwb3J0TW9kZT0iY3VzdG9tIixaIT09dGhpcy5jdXJyZW50Wm9vbSYmKHRoaXMuY3VycmVudFpvb209Wix0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKSl9em9vbU91dCgpe2xldCBaPU1hdGgubWF4KHRoaXMuTUFOVUFMX01JTl9aT09NLHRoaXMuY3VycmVudFpvb20vMS4yKTt0aGlzLnZpZXdwb3J0TW9kZT0iY3VzdG9tIixaIT09dGhpcy5jdXJyZW50Wm9vbSYmKHRoaXMuY3VycmVudFpvb209Wix0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKSl9cmVzZXRab29tKCl7dGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsdGhpcy5jdXJyZW50Wm9vbT0xLHRoaXMucmVSZW5kZXJBbGxQYWdlcygpfWZpdFRvUGFnZSgpe3RoaXMudmlld3BvcnRNb2RlPSJwYWdlLWZpdCIsdGhpcy5yZVJlbmRlckFsbFBhZ2VzKCl9Zml0VG9XaWR0aCgpe3RoaXMudmlld3BvcnRNb2RlPSJwYWdlLXdpZHRoIix0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKX1yZVJlbmRlckFsbFBhZ2VzKCl7dGhpcy5wYWdlRGF0YS5mb3JFYWNoKFo9PntaLnJlbmRlcmVkPSExLFoucmVuZGVyaW5nPSExLFoudGV4dExheWVyUmVuZGVyZWQ9ITF9KSx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5mb3JFYWNoKFo9Pnt0cnl7Wi5jYW5jZWwoKX1jYXRjaHt9fSksdGhpcy5wYWdlUmVuZGVyVGFza3MuY2xlYXIoKSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmZvckVhY2goWj0+e3RyeXtaLmNhbmNlbD8uKCl9Y2F0Y2h7fX0pLHRoaXMudGV4dExheWVyUmVuZGVyVGFza3MuY2xlYXIoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9Pnt0aGlzLnJlbmRlclZpc2libGVQYWdlcygpfSl9YXN5bmMgZG93bmxvYWRQZGYoKXtpZih0aGlzLnBkZkRvY3VtZW50KXRyeXtsZXQgWj1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldERhdGEoKSxBPW5ldyBCbG9iKFtaLmJ1ZmZlcl0se3R5cGU6ImFwcGxpY2F0aW9uL3BkZiJ9KSwkPVVSTC5jcmVhdGVPYmplY3RVUkwoQSksaj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7ai5ocmVmPSQsai5kb3dubG9hZD10aGlzLnBkZlVybCYmdGhpcy5wZGZVcmwuc3BsaXQoIi8iKS5wb3AoKXx8ImRvY3VtZW50LnBkZiIsai5jbGljaygpLHNldFRpbWVvdXQoKCk9PlVSTC5yZXZva2VPYmplY3RVUkwoJCksMWUzKX1jYXRjaChaKXtjb25zb2xlLmVycm9yKCJFcnJvciBkb3dubG9hZGluZyBQREY6IixaKX19YXN5bmMgcHJpbnRQZGYoKXtpZih0aGlzLnBkZkRvY3VtZW50KXRyeXtsZXQgWj1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldERhdGEoKSxBPW5ldyBCbG9iKFtaLmJ1ZmZlcl0se3R5cGU6ImFwcGxpY2F0aW9uL3BkZiJ9KSwkPVVSTC5jcmVhdGVPYmplY3RVUkwoQSksaj1gCiAgICAgICAgPCFET0NUWVBFIGh0bWw+CiAgICAgICAgPGh0bWw+CiAgICAgICAgPGhlYWQ+CiAgICAgICAgICA8dGl0bGU+UHJpbnQgUERGPC90aXRsZT4KICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgKiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfQogICAgICAgICAgICBodG1sLCBib2R5IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgICAgICAgICBpZnJhbWUgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBib3JkZXI6IG5vbmU7IH0KICAgICAgICAgICAgQG1lZGlhIHByaW50IHsKICAgICAgICAgICAgICBodG1sLCBib2R5LCBpZnJhbWUgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9CiAgICAgICAgICAgIH0KICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgPC9oZWFkPgogICAgICAgIDxib2R5PgogICAgICAgICAgPGlmcmFtZSBzcmM9IiR7JH0iIHR5cGU9ImFwcGxpY2F0aW9uL3BkZiI+PC9pZnJhbWU+CiAgICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHdpbmRvdy5mb2N1cygpOwogICAgICAgICAgICAgICAgd2luZG93LnByaW50KCk7CiAgICAgICAgICAgICAgfSwgNTAwKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgd2luZG93Lm9uYWZ0ZXJwcmludCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpOwogICAgICAgICAgICB9OwogICAgICAgICAgICAvLyBTYWZldHkgY2xvc2UgYWZ0ZXIgMiBtaW51dGVzCiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy5jbG9zZSgpOyB9LCAxMjAwMDApOwogICAgICAgICAgPFwvc2NyaXB0PgogICAgICAgIDwvYm9keT4KICAgICAgICA8L2h0bWw+CiAgICAgIGAsSD1uZXcgQmxvYihbal0se3R5cGU6InRleHQvaHRtbCJ9KSxZPVVSTC5jcmVhdGVPYmplY3RVUkwoSCksZGU9d2luZG93Lm9wZW4oWSwiX2JsYW5rIiwid2lkdGg9ODAwLGhlaWdodD02MDAiKTtpZihkZSl7bGV0IHdlPXNldEludGVydmFsKCgpPT57ZGUuY2xvc2VkJiYoY2xlYXJJbnRlcnZhbCh3ZSksVVJMLnJldm9rZU9iamVjdFVSTCgkKSxVUkwucmV2b2tlT2JqZWN0VVJMKFkpKX0sNTAwKTtzZXRUaW1lb3V0KCgpPT57Y2xlYXJJbnRlcnZhbCh3ZSksVVJMLnJldm9rZU9iamVjdFVSTCgkKSxVUkwucmV2b2tlT2JqZWN0VVJMKFkpfSwxMmU0KX1lbHNlIHdpbmRvdy5vcGVuKCQsIl9ibGFuayIpLHNldFRpbWVvdXQoKCk9PlVSTC5yZXZva2VPYmplY3RVUkwoJCksNmU0KSxVUkwucmV2b2tlT2JqZWN0VVJMKFkpfWNhdGNoKFope2NvbnNvbGUuZXJyb3IoIkVycm9yIHByaW50aW5nIFBERjoiLFopfX1nZXRDb250ZXh0TWVudUl0ZW1zKCl7bGV0IFo9W10sJD13aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnRvU3RyaW5nKCl8fCIiO3JldHVybiAkJiYoWi5wdXNoKHtuYW1lOiJDb3B5IixpY29uTmFtZToibHVjaWRlOkNvcHkiLGFjdGlvbjphc3luYygpPT57YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoJCl9fSksWi5wdXNoKHtkaXZpZGVyOiEwfSkpLFoucHVzaCh7bmFtZToiRG93bmxvYWQgUERGIixpY29uTmFtZToibHVjaWRlOkRvd25sb2FkIixhY3Rpb246YXN5bmMoKT0+e2F3YWl0IHRoaXMuZG93bmxvYWRQZGYoKX19LHtuYW1lOiJQcmludCBQREYiLGljb25OYW1lOiJsdWNpZGU6UHJpbnRlciIsYWN0aW9uOmFzeW5jKCk9Pnthd2FpdCB0aGlzLnByaW50UGRmKCl9fSksWn1nZXQgY2FuWm9vbUluKCl7cmV0dXJuIHRoaXMudmlld3BvcnRNb2RlIT09ImN1c3RvbSJ8fHRoaXMuY3VycmVudFpvb208dGhpcy5NQU5VQUxfTUFYX1pPT019Z2V0IGNhblpvb21PdXQoKXtyZXR1cm4gdGhpcy52aWV3cG9ydE1vZGUhPT0iY3VzdG9tInx8dGhpcy5jdXJyZW50Wm9vbT50aGlzLk1BTlVBTF9NSU5fWk9PTX1lbnN1cmVWaWV3ZXJSZWZzKCl7dGhpcy52aWV3ZXJNYWlufHwodGhpcy52aWV3ZXJNYWluPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnZpZXdlci1tYWluIikpLHRoaXMudmlld2VyTWFpbiYmIXRoaXMucmVzaXplT2JzZXJ2ZXImJih0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMubWVhc3VyZVZpZXdwb3J0RGltZW5zaW9ucygpLHRoaXMucGRmRG9jdW1lbnQmJnRoaXMucmVSZW5kZXJBbGxQYWdlcygpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMudmlld2VyTWFpbiksdGhpcy5tZWFzdXJlVmlld3BvcnREaW1lbnNpb25zKCksdGhpcy52aWV3ZXJNYWluLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixaPT57bGV0IEE9Wi5jdXJyZW50VGFyZ2V0LCQ9QS5zY3JvbGxUb3Asaj1BLnNjcm9sbEhlaWdodCxIPUEuY2xpZW50SGVpZ2h0LFk9Wi5kZWx0YVksZGU9JD09PTAsd2U9TWF0aC5hYnMoJCtILWopPDE7WTwwJiYhZGV8fFk+MCYmIXdlP1ouc3RvcFByb3BhZ2F0aW9uKCk6KFk8MCYmZGV8fFk+MCYmd2UpJiYoWi5wcmV2ZW50RGVmYXVsdCgpLFouc3RvcFByb3BhZ2F0aW9uKCkpfSx7cGFzc2l2ZTohMX0pKX1tZWFzdXJlVmlld3BvcnREaW1lbnNpb25zKCl7aWYoIXRoaXMudmlld2VyTWFpbil7dGhpcy52aWV3cG9ydERpbWVuc2lvbnM9e3dpZHRoOjAsaGVpZ2h0OjB9O3JldHVybn1sZXQgWj1nZXRDb21wdXRlZFN0eWxlKHRoaXMudmlld2VyTWFpbiksQT1wYXJzZUZsb2F0KFoucGFkZGluZ0xlZnR8fCIwIikrcGFyc2VGbG9hdChaLnBhZGRpbmdSaWdodHx8IjAiKSwkPXBhcnNlRmxvYXQoWi5wYWRkaW5nVG9wfHwiMCIpK3BhcnNlRmxvYXQoWi5wYWRkaW5nQm90dG9tfHwiMCIpLGo9TWF0aC5tYXgodGhpcy52aWV3ZXJNYWluLmNsaWVudFdpZHRoLUEsMCksSD1NYXRoLm1heCh0aGlzLnZpZXdlck1haW4uY2xpZW50SGVpZ2h0LSQsMCk7dGhpcy52aWV3cG9ydERpbWVuc2lvbnM9e3dpZHRoOmosaGVpZ2h0Okh9fXJlc29sdmVJbml0aWFsVmlld3BvcnRNb2RlKCl7dHlwZW9mIHRoaXMuaW5pdGlhbFpvb209PSJudW1iZXIiPyh0aGlzLnZpZXdwb3J0TW9kZT0iY3VzdG9tIix0aGlzLmN1cnJlbnRab29tPXRoaXMubm9ybWFsaXplWm9vbSh0aGlzLmluaXRpYWxab29tLCEwKSk6dGhpcy5pbml0aWFsWm9vbT09PSJwYWdlLXdpZHRoIj90aGlzLnZpZXdwb3J0TW9kZT0icGFnZS13aWR0aCI6dGhpcy5pbml0aWFsWm9vbT09PSJwYWdlLWZpdCJ8fHRoaXMuaW5pdGlhbFpvb209PT0iYXV0byI/dGhpcy52aWV3cG9ydE1vZGU9InBhZ2UtZml0Ijp0aGlzLnZpZXdwb3J0TW9kZT0iYXV0byIsdGhpcy52aWV3cG9ydE1vZGUhPT0iY3VzdG9tIiYmKHRoaXMuY3VycmVudFpvb209MSl9Y29tcHV0ZVZpZXdwb3J0KFope3RoaXMubWVhc3VyZVZpZXdwb3J0RGltZW5zaW9ucygpO2xldCBBPVouZ2V0Vmlld3BvcnQoe3NjYWxlOjF9KSwkO3N3aXRjaCh0aGlzLnZpZXdwb3J0TW9kZSl7Y2FzZSJwYWdlLXdpZHRoIjp7JD0odGhpcy52aWV3cG9ydERpbWVuc2lvbnMud2lkdGh8fEEud2lkdGgpL0Eud2lkdGg7YnJlYWt9Y2FzZSJwYWdlLWZpdCI6Y2FzZSJhdXRvIjp7bGV0IEg9dGhpcy52aWV3cG9ydERpbWVuc2lvbnMud2lkdGh8fEEud2lkdGgsWT10aGlzLnZpZXdwb3J0RGltZW5zaW9ucy5oZWlnaHR8fEEuaGVpZ2h0LGRlPUgvQS53aWR0aCx3ZT1ZL0EuaGVpZ2h0OyQ9TWF0aC5taW4oZGUsd2UpO2JyZWFrfWRlZmF1bHQ6eyQ9dGhpcy5ub3JtYWxpemVab29tKHRoaXMuY3VycmVudFpvb218fDEsITEpO2JyZWFrfX0oIU51bWJlci5pc0Zpbml0ZSgkKXx8JDw9MCkmJigkPTEpO2xldCBqPXRoaXMudmlld3BvcnRNb2RlPT09ImN1c3RvbSI/dGhpcy5ub3JtYWxpemVab29tKCQsITApOnRoaXMubm9ybWFsaXplWm9vbSgkLCExKTtyZXR1cm4gdGhpcy52aWV3cG9ydE1vZGUhPT0iY3VzdG9tIiYmKHRoaXMuY3VycmVudFpvb209aiksWi5nZXRWaWV3cG9ydCh7c2NhbGU6an0pfW5vcm1hbGl6ZVpvb20oWixBKXtsZXQgJD1BP3RoaXMuTUFOVUFMX01JTl9aT09NOnRoaXMuQUJTT0xVVEVfTUlOX1pPT00saj1BP3RoaXMuTUFOVUFMX01BWF9aT09NOnRoaXMuQUJTT0xVVEVfTUFYX1pPT007cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KFosJCksail9YXN5bmMgY2xlYW51cERvY3VtZW50KCl7aWYodGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXImJih0aGlzLnJlbmRlckFib3J0Q29udHJvbGxlci5hYm9ydCgpLHRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyPW51bGwpLHRoaXMuY3VycmVudFJlbmRlclByb21pc2Upe3RyeXthd2FpdCB0aGlzLmN1cnJlbnRSZW5kZXJQcm9taXNlfWNhdGNoe310aGlzLmN1cnJlbnRSZW5kZXJQcm9taXNlPW51bGx9dGhpcy5jdXJyZW50UmVuZGVyVGFzaz1udWxsLHRoaXMucGFnZVJlbmRlclRhc2tzLmZvckVhY2goWj0+e3RyeXtaLmNhbmNlbCgpfWNhdGNoe319KSx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5jbGVhcigpLHRoaXMudGV4dExheWVyUmVuZGVyVGFza3MuZm9yRWFjaChaPT57dHJ5e1ouY2FuY2VsPy4oKX1jYXRjaHt9fSksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5jbGVhcigpO2ZvcihsZXQgWiBvZiB0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzfHxbXSl0cnl7Wi5jYW5jZWwoKX1jYXRjaHt9aWYodGhpcy50aHVtYm5haWxSZW5kZXJUYXNrcz1bXSx0aGlzLnJlbmRlclN0YXRlPSJpZGxlIix0aGlzLnBhZ2VSZW5kZXJpbmc9ITEsdGhpcy5wYWdlTnVtUGVuZGluZz1udWxsLHRoaXMudGh1bWJuYWlsRGF0YT1bXSx0aGlzLnBhZ2VEYXRhPVtdLHRoaXMuZG9jdW1lbnRJZD0iIix0aGlzLmNhbnZhcyYmdGhpcy5jdHgmJnRoaXMuY3R4LmNsZWFyUmVjdCgwLDAsdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KSx0aGlzLnBkZkRvY3VtZW50KXRyeXt0aGlzLnBkZkRvY3VtZW50LmRlc3Ryb3koKX1jYXRjaChaKXtjb25zb2xlLmVycm9yKCJFcnJvciBkZXN0cm95aW5nIFBERiBkb2N1bWVudDoiLFopfXRoaXMucGRmRG9jdW1lbnQ9bnVsbCx0aGlzLnJlcXVlc3RVcGRhdGUoKX1zdGF0aWN7dmEoYSxyKX19O3JldHVybiBTZT1hfSkoKX0pO3ZhciBQZHIsTmRyPWYoKCk9Pnt1ZSgpO1Bkcj0oKT0+TWAKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogNDBweDsKICAgIH0KCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQoKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQoKICAgIC5wcmV2aWV3LWltYWdlIHsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgIH0KCiAgICAucHJldmlldy1wZGYgewogICAgICBoZWlnaHQ6IDYwMHB4OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5JbWFnZSBQcmV2aWV3IChVUkwpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkF1dG8tZGV0ZWN0cyBpbWFnZSBmcm9tIFVSTCBleHRlbnNpb24gYW5kIHJlbmRlcnMgd2l0aCB0aGUgaW1hZ2Ugdmlld2VyLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgY2xhc3M9InByZXZpZXctaW1hZ2UiCiAgICAgICAgdXJsPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUwNjc0NDAzODEzNi00NjI3MzgzNGIzZmI/dz0xMjAwIgogICAgICAgIGZpbGVuYW1lPSJsYW5kc2NhcGUuanBnIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UERGIFByZXZpZXcgKFVSTCk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+QXV0by1kZXRlY3RzIFBERiBhbmQgZGlzcGxheXMgd2l0aCB0aGUgUERGIHZpZXdlciBpbmNsdWRpbmcgdG9vbGJhci48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIGNsYXNzPSJwcmV2aWV3LXBkZiIKICAgICAgICB1cmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICBmaWxlbmFtZT0icmVzZWFyY2gtcGFwZXIucGRmIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q29kZSBQcmV2aWV3IChUZXh0IENvbnRlbnQpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlR5cGVTY3JpcHQgY29kZSBkaXNwbGF5ZWQgd2l0aCBzeW50YXggaGlnaGxpZ2h0aW5nIHZpYSB0aGUgY29kZWJveC48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIGZpbGVuYW1lPSJleGFtcGxlLnRzIgogICAgICAgIGxhbmd1YWdlPSJ0eXBlc2NyaXB0IgogICAgICAgIC50ZXh0Q29udGVudD0ke2BpbXBvcnQgeyBodG1sLCBjc3MgfSBmcm9tICdsaXQnOwoKZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7CiAgc3RhdGljIHN0eWxlcyA9IGNzc1xgCiAgICA6aG9zdCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwYWRkaW5nOiAxNnB4OwogICAgfQogIFxgOwoKICByZW5kZXIoKSB7CiAgICByZXR1cm4gaHRtbFxgPGgxPkhlbGxvIFdvcmxkPC9oMT5cYDsKICB9Cn1gfQogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXVkaW8gUHJldmlldyAoVVJMKTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BdWRpbyBmaWxlIGRldGVjdGVkIGJ5IGV4dGVuc2lvbiwgc2hvd24gd2l0aCB3YXZlZm9ybSBwbGF5ZXIuPC9kaXY+CiAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICB1cmw9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgZmlsZW5hbWU9InNvbmcubXAzIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VmlkZW8gUHJldmlldyAoVVJMKTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5WaWRlbyBmaWxlIGRldGVjdGVkIGZyb20gVVJMLCByZW5kZXJlZCB3aXRoIGN1c3RvbSB2aWRlbyBjb250cm9scy48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIHVybD0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvQmlnQnVja0J1bm55Lm1wNCIKICAgICAgICBmaWxlbmFtZT0iYmlnLWJ1Y2stYnVubnkubXA0IgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RXhwbGljaXQgVHlwZSBPdmVycmlkZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Gb3JjZSBjb250ZW50IHR5cGUgdG8gJ3RleHQnIGV2ZW4gdGhvdWdoIHRoZSBVUkwgaGFzIG5vIGV4dGVuc2lvbi48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIGNvbnRlbnRUeXBlPSJ0ZXh0IgogICAgICAgIC50ZXh0Q29udGVudD0ke2BUaGlzIGlzIHBsYWluIHRleHQgY29udGVudC4KSXQgcHJlc2VydmVzIHdoaXRlc3BhY2UgYW5kIGxpbmUgYnJlYWtzLgoKVXNlZnVsIGZvciBsb2cgZmlsZXMsIFJFQURNRXMsIGV0Yy5gfQogICAgICAgIGZpbGVuYW1lPSJub3Rlcy50eHQiCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Vbmtub3duIFR5cGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+V2hlbiBjb250ZW50IHR5cGUgY2Fubm90IGJlIGRldGVjdGVkLCBzaG93cyBhIHBsYWNlaG9sZGVyLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgZmlsZW5hbWU9ImRhdGEuYmluIgogICAgICAgIGNvbnRlbnRUeXBlPSJ1bmtub3duIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYH0pO3ZhciBhbixncixGZHIsb0pyLGxKcixjSnIsT2RyLFJkcj1mKCgpPT57dWUoKTtKNmUoKTtLNmUoKTtldWUoKTtDNmUoKTt0dWUoKTtpcigpO05kcigpO2FuPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sZ3I9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LEZkcj17anBnOiJpbWFnZSIsanBlZzoiaW1hZ2UiLHBuZzoiaW1hZ2UiLGdpZjoiaW1hZ2UiLHdlYnA6ImltYWdlIixzdmc6ImltYWdlIixibXA6ImltYWdlIixhdmlmOiJpbWFnZSIsaWNvOiJpbWFnZSIscGRmOiJwZGYiLG1wMzoiYXVkaW8iLHdhdjoiYXVkaW8iLG9nZzoiYXVkaW8iLGZsYWM6ImF1ZGlvIixhYWM6ImF1ZGlvIixtNGE6ImF1ZGlvIixvcHVzOiJhdWRpbyIsd2ViYToiYXVkaW8iLG1wNDoidmlkZW8iLHdlYm06InZpZGVvIixtb3Y6InZpZGVvIixhdmk6InZpZGVvIixta3Y6InZpZGVvIixvZ3Y6InZpZGVvIix0czoiY29kZSIsanM6ImNvZGUiLGpzeDoiY29kZSIsdHN4OiJjb2RlIixqc29uOiJjb2RlIixodG1sOiJjb2RlIixjc3M6ImNvZGUiLHNjc3M6ImNvZGUiLGxlc3M6ImNvZGUiLHB5OiJjb2RlIixqYXZhOiJjb2RlIixnbzoiY29kZSIscnM6ImNvZGUiLHlhbWw6ImNvZGUiLHltbDoiY29kZSIseG1sOiJjb2RlIixzcWw6ImNvZGUiLHNoOiJjb2RlIixiYXNoOiJjb2RlIix6c2g6ImNvZGUiLG1kOiJjb2RlIixjOiJjb2RlIixjcHA6ImNvZGUiLGg6ImNvZGUiLGhwcDoiY29kZSIscmI6ImNvZGUiLHBocDoiY29kZSIsc3dpZnQ6ImNvZGUiLGt0OiJjb2RlIix0eHQ6InRleHQiLGxvZzoidGV4dCIsY3N2OiJ0ZXh0IixlbnY6InRleHQifSxvSnI9eyJpbWFnZS8iOiJpbWFnZSIsImF1ZGlvLyI6ImF1ZGlvIiwidmlkZW8vIjoidmlkZW8iLCJhcHBsaWNhdGlvbi9wZGYiOiJwZGYifSxsSnI9e3RzOiJ0eXBlc2NyaXB0Iix0c3g6InR5cGVzY3JpcHQiLGpzOiJqYXZhc2NyaXB0Iixqc3g6ImphdmFzY3JpcHQiLGpzb246Impzb24iLGh0bWw6InhtbCIseG1sOiJ4bWwiLGNzczoiY3NzIixzY3NzOiJzY3NzIixsZXNzOiJsZXNzIixweToicHl0aG9uIixqYXZhOiJqYXZhIixnbzoiZ28iLHJzOiJydXN0Iix5YW1sOiJ5YW1sIix5bWw6InlhbWwiLHNxbDoic3FsIixzaDoiYmFzaCIsYmFzaDoiYmFzaCIsenNoOiJiYXNoIixjOiJjIixjcHA6ImNwcCIsaDoiYyIsaHBwOiJjcHAiLHJiOiJydWJ5IixwaHA6InBocCIsc3dpZnQ6InN3aWZ0IixrdDoia290bGluIixtZDoibWFya2Rvd24ifSxjSnI9e2ltYWdlOiJsdWNpZGU6SW1hZ2UiLHBkZjoibHVjaWRlOkZpbGVUZXh0IixhdWRpbzoibHVjaWRlOk11c2ljIix2aWRlbzoibHVjaWRlOlZpZGVvIixjb2RlOiJsdWNpZGU6Q29kZSIsdGV4dDoibHVjaWRlOkZpbGVUZXh0Iix1bmtub3duOiJsdWNpZGU6RmlsZSJ9LE9kcj0oKCk9PntsZXQgZT1bcmUoImRlZXMtcHJldmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdLHEsXz1bXSx6PVtdLEUsVD1bXSxMPVtdLFYsQj1bXSxVPVtdLEssST1bXSx2ZT1bXSxNZSxQPVtdLGxlPVtdLFNlLFo9W10sQT1bXSwkLGo9W10sSD1bXSxZLGRlPVtdLHdlPVtdLExlLEc9W10sVz1bXTt2YXIgYWU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCB5ZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKCldLGM9W0Yoe2F0dHJpYnV0ZTohMX0pXSxkPVtGKCldLHY9W0YoKV0seT1bRigpXSxSPVtGKCldLE89W0YoKV0scT1bRigpXSxFPVtGKHt0eXBlOkJvb2xlYW59KV0sVj1bRih7dHlwZTpCb29sZWFufSldLEs9W3NlKCldLE1lPVtzZSgpXSxTZT1bc2UoKV0sJD1bc2UoKV0sWT1bc2UoKV0sTGU9W3NlKCldLGFuKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptZT0+InVybCJpbiBtZSxnZXQ6bWU9Pm1lLnVybCxzZXQ6KG1lLENlKT0+e21lLnVybD1DZX19LG1ldGFkYXRhOnllfSxzLG8pLGFuKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bWU9PiJmaWxlImluIG1lLGdldDptZT0+bWUuZmlsZSxzZXQ6KG1lLENlKT0+e21lLmZpbGU9Q2V9fSxtZXRhZGF0YTp5ZX0sbCx1KSxhbih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhc2U2NCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bWU9PiJiYXNlNjQiaW4gbWUsZ2V0Om1lPT5tZS5iYXNlNjQsc2V0OihtZSxDZSk9PnttZS5iYXNlNjQ9Q2V9fSxtZXRhZGF0YTp5ZX0saCxtKSxhbih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHRDb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptZT0+InRleHRDb250ZW50ImluIG1lLGdldDptZT0+bWUudGV4dENvbnRlbnQsc2V0OihtZSxDZSk9PnttZS50ZXh0Q29udGVudD1DZX19LG1ldGFkYXRhOnllfSxiLGcpLGFuKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm1lPT4iY29udGVudFR5cGUiaW4gbWUsZ2V0Om1lPT5tZS5jb250ZW50VHlwZSxzZXQ6KG1lLENlKT0+e21lLmNvbnRlbnRUeXBlPUNlfX0sbWV0YWRhdGE6eWV9LHcsayksYW4odGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYW5ndWFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bWU9PiJsYW5ndWFnZSJpbiBtZSxnZXQ6bWU9Pm1lLmxhbmd1YWdlLHNldDoobWUsQ2UpPT57bWUubGFuZ3VhZ2U9Q2V9fSxtZXRhZGF0YTp5ZX0sQyxTKSxhbih0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbWVUeXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptZT0+Im1pbWVUeXBlImluIG1lLGdldDptZT0+bWUubWltZVR5cGUsc2V0OihtZSxDZSk9PnttZS5taW1lVHlwZT1DZX19LG1ldGFkYXRhOnllfSxELE4pLGFuKHRoaXMsbnVsbCxxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZW5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm1lPT4iZmlsZW5hbWUiaW4gbWUsZ2V0Om1lPT5tZS5maWxlbmFtZSxzZXQ6KG1lLENlKT0+e21lLmZpbGVuYW1lPUNlfX0sbWV0YWRhdGE6eWV9LF8seiksYW4odGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VG9vbGJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bWU9PiJzaG93VG9vbGJhciJpbiBtZSxnZXQ6bWU9Pm1lLnNob3dUb29sYmFyLHNldDoobWUsQ2UpPT57bWUuc2hvd1Rvb2xiYXI9Q2V9fSxtZXRhZGF0YTp5ZX0sVCxMKSxhbih0aGlzLG51bGwsVix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dGaWxlbmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bWU9PiJzaG93RmlsZW5hbWUiaW4gbWUsZ2V0Om1lPT5tZS5zaG93RmlsZW5hbWUsc2V0OihtZSxDZSk9PnttZS5zaG93RmlsZW5hbWU9Q2V9fSxtZXRhZGF0YTp5ZX0sQixVKSxhbih0aGlzLG51bGwsSyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkVHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bWU9PiJyZXNvbHZlZFR5cGUiaW4gbWUsZ2V0Om1lPT5tZS5yZXNvbHZlZFR5cGUsc2V0OihtZSxDZSk9PnttZS5yZXNvbHZlZFR5cGU9Q2V9fSxtZXRhZGF0YTp5ZX0sSSx2ZSksYW4odGhpcyxudWxsLE1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRTcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm1lPT4icmVzb2x2ZWRTcmMiaW4gbWUsZ2V0Om1lPT5tZS5yZXNvbHZlZFNyYyxzZXQ6KG1lLENlKT0+e21lLnJlc29sdmVkU3JjPUNlfX0sbWV0YWRhdGE6eWV9LFAsbGUpLGFuKHRoaXMsbnVsbCxTZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bWU9PiJyZXNvbHZlZFRleHQiaW4gbWUsZ2V0Om1lPT5tZS5yZXNvbHZlZFRleHQsc2V0OihtZSxDZSk9PnttZS5yZXNvbHZlZFRleHQ9Q2V9fSxtZXRhZGF0YTp5ZX0sWixBKSxhbih0aGlzLG51bGwsJCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkTGFuZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bWU9PiJyZXNvbHZlZExhbmciaW4gbWUsZ2V0Om1lPT5tZS5yZXNvbHZlZExhbmcsc2V0OihtZSxDZSk9PnttZS5yZXNvbHZlZExhbmc9Q2V9fSxtZXRhZGF0YTp5ZX0saixIKSxhbih0aGlzLG51bGwsWSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm1lPT4ibG9hZGluZyJpbiBtZSxnZXQ6bWU9Pm1lLmxvYWRpbmcsc2V0OihtZSxDZSk9PnttZS5sb2FkaW5nPUNlfX0sbWV0YWRhdGE6eWV9LGRlLHdlKSxhbih0aGlzLG51bGwsTGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bWU9PiJlcnJvciJpbiBtZSxnZXQ6bWU9Pm1lLmVycm9yLHNldDoobWUsQ2UpPT57bWUuZXJyb3I9Q2V9fSxtZXRhZGF0YTp5ZX0sRyxXKSxhbihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTp5ZX0sbnVsbCxyKSxhZT1hPXQudmFsdWUseWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6eWV9KX1zdGF0aWMgZGVtbz1QZHI7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSIsIkRhdGEgVmlldyJdOyNlPWdyKHRoaXMscywiIik7Z2V0IHVybCgpe3JldHVybiB0aGlzLiNlfXNldCB1cmwoeWUpe3RoaXMuI2U9eWV9I3Q9KGdyKHRoaXMsbyksZ3IodGhpcyxsLHZvaWQgMCkpO2dldCBmaWxlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGZpbGUoeWUpe3RoaXMuI3Q9eWV9I3I9KGdyKHRoaXMsdSksZ3IodGhpcyxoLCIiKSk7Z2V0IGJhc2U2NCgpe3JldHVybiB0aGlzLiNyfXNldCBiYXNlNjQoeWUpe3RoaXMuI3I9eWV9I2E9KGdyKHRoaXMsbSksZ3IodGhpcyxiLCIiKSk7Z2V0IHRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHRleHRDb250ZW50KHllKXt0aGlzLiNhPXllfSNpPShncih0aGlzLGcpLGdyKHRoaXMsdyx2b2lkIDApKTtnZXQgY29udGVudFR5cGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgY29udGVudFR5cGUoeWUpe3RoaXMuI2k9eWV9I249KGdyKHRoaXMsayksZ3IodGhpcyxDLCIiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI259c2V0IGxhbmd1YWdlKHllKXt0aGlzLiNuPXllfSNzPShncih0aGlzLFMpLGdyKHRoaXMsRCwiIikpO2dldCBtaW1lVHlwZSgpe3JldHVybiB0aGlzLiNzfXNldCBtaW1lVHlwZSh5ZSl7dGhpcy4jcz15ZX0jbz0oZ3IodGhpcyxOKSxncih0aGlzLF8sIiIpKTtnZXQgZmlsZW5hbWUoKXtyZXR1cm4gdGhpcy4jb31zZXQgZmlsZW5hbWUoeWUpe3RoaXMuI289eWV9I2w9KGdyKHRoaXMseiksZ3IodGhpcyxULCEwKSk7Z2V0IHNob3dUb29sYmFyKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHNob3dUb29sYmFyKHllKXt0aGlzLiNsPXllfSNjPShncih0aGlzLEwpLGdyKHRoaXMsQiwhMCkpO2dldCBzaG93RmlsZW5hbWUoKXtyZXR1cm4gdGhpcy4jY31zZXQgc2hvd0ZpbGVuYW1lKHllKXt0aGlzLiNjPXllfSNkPShncih0aGlzLFUpLGdyKHRoaXMsSSwidW5rbm93biIpKTtnZXQgcmVzb2x2ZWRUeXBlKCl7cmV0dXJuIHRoaXMuI2R9c2V0IHJlc29sdmVkVHlwZSh5ZSl7dGhpcy4jZD15ZX0jdT0oZ3IodGhpcyx2ZSksZ3IodGhpcyxQLCIiKSk7Z2V0IHJlc29sdmVkU3JjKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHJlc29sdmVkU3JjKHllKXt0aGlzLiN1PXllfSNwPShncih0aGlzLGxlKSxncih0aGlzLFosIiIpKTtnZXQgcmVzb2x2ZWRUZXh0KCl7cmV0dXJuIHRoaXMuI3B9c2V0IHJlc29sdmVkVGV4dCh5ZSl7dGhpcy4jcD15ZX0jZj0oZ3IodGhpcyxBKSxncih0aGlzLGosInRleHQiKSk7Z2V0IHJlc29sdmVkTGFuZygpe3JldHVybiB0aGlzLiNmfXNldCByZXNvbHZlZExhbmcoeWUpe3RoaXMuI2Y9eWV9I2g9KGdyKHRoaXMsSCksZ3IodGhpcyxkZSwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGxvYWRpbmcoeWUpe3RoaXMuI2g9eWV9I209KGdyKHRoaXMsd2UpLGdyKHRoaXMsRywiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNtfXNldCBlcnJvcih5ZSl7dGhpcy4jbT15ZX1vYmplY3RVcmw9KGdyKHRoaXMsVyksIiIpO3JlbmRlcigpe2xldCB5ZT10aGlzLmZpbGVuYW1lfHx0aGlzLmZpbGU/Lm5hbWV8fHRoaXMuZ2V0RmlsZW5hbWVGcm9tVXJsKCl8fCIiO3JldHVybiBNYAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAucHJldmlldy1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlci1iYXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjlmYWZiIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5oZWFkZXItaWNvbiB7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyLWZpbGVuYW1lIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyLWJhZGdlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIil9OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5jb250ZW50LWFyZWEgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICB9CgogICAgICAgIC5jb250ZW50LWFyZWEgPiAqIHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1pbWFnZS12aWV3ZXIgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXBkZi12aWV3ZXIgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXZpZGVvLXZpZXdlciB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIGRlZXMtYXVkaW8tdmlld2VyIHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1kYXRhdmlldy1jb2RlYm94IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLnRleHQtdmlld2VyIHsKICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIG1vbm9zcGFjZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgLnBsYWNlaG9sZGVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CiAgICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIH0KCiAgICAgICAgLnBsYWNlaG9sZGVyIGRlZXMtaWNvbiB7CiAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAucGxhY2Vob2xkZXItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgICB9CgogICAgICAgIC5lcnJvci1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1jb250YWluZXIgZGVlcy1pY29uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICB9CgogICAgICAgIC5lcnJvci10ZXh0IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLnNob3dGaWxlbmFtZSYmeWU/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1iYXIiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJoZWFkZXItaWNvbiIgaWNvbj0iJHtjSnJbdGhpcy5yZXNvbHZlZFR5cGVdfSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWFkZXItZmlsZW5hbWUiPiR7eWV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVhZGVyLWJhZGdlIj4ke3RoaXMucmVzb2x2ZWRUeXBlfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtYXJlYSI+CiAgICAgICAgICAke3RoaXMuZXJyb3I/TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3ItY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBbGVydFRyaWFuZ2xlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3ItdGV4dCI+JHt0aGlzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOnRoaXMubG9hZGluZz9NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOnRoaXMucmVuZGVyQ29udGVudCgpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQ29udGVudCgpe3N3aXRjaCh0aGlzLnJlc29sdmVkVHlwZSl7Y2FzZSJpbWFnZSI6cmV0dXJuIE1gCiAgICAgICAgICA8ZGVlcy1pbWFnZS12aWV3ZXIKICAgICAgICAgICAgLnNyYz0ke3RoaXMucmVzb2x2ZWRTcmN9CiAgICAgICAgICAgIC5zaG93VG9vbGJhcj0ke3RoaXMuc2hvd1Rvb2xiYXJ9CiAgICAgICAgICAgIGFsdD0iJHt0aGlzLmZpbGVuYW1lfHwiIn0iCiAgICAgICAgICA+PC9kZWVzLWltYWdlLXZpZXdlcj4KICAgICAgICBgO2Nhc2UicGRmIjpyZXR1cm4gTWAKICAgICAgICAgIDxkZWVzLXBkZi12aWV3ZXIKICAgICAgICAgICAgLnBkZlVybD0ke3RoaXMucmVzb2x2ZWRTcmN9CiAgICAgICAgICAgIC5zaG93VG9vbGJhcj0ke3RoaXMuc2hvd1Rvb2xiYXJ9CiAgICAgICAgICAgIGluaXRpYWxab29tPSJwYWdlLWZpdCIKICAgICAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgICAgICBgO2Nhc2UiYXVkaW8iOnJldHVybiBNYAogICAgICAgICAgPGRlZXMtYXVkaW8tdmlld2VyCiAgICAgICAgICAgIC5zcmM9JHt0aGlzLnJlc29sdmVkU3JjfQogICAgICAgICAgICAudGl0bGU9JHt0aGlzLmZpbGVuYW1lfHx0aGlzLmZpbGU/Lm5hbWV8fCIifQogICAgICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICAgICAgYDtjYXNlInZpZGVvIjpyZXR1cm4gTWAKICAgICAgICAgIDxkZWVzLXZpZGVvLXZpZXdlcgogICAgICAgICAgICAuc3JjPSR7dGhpcy5yZXNvbHZlZFNyY30KICAgICAgICAgID48L2RlZXMtdmlkZW8tdmlld2VyPgogICAgICAgIGA7Y2FzZSJjb2RlIjpyZXR1cm4gTWAKICAgICAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3gKICAgICAgICAgICAgLnByb2dMYW5nPSR7dGhpcy5yZXNvbHZlZExhbmd9CiAgICAgICAgICAgIC5jb2RlVG9EaXNwbGF5PSR7dGhpcy5yZXNvbHZlZFRleHR9CiAgICAgICAgICA+PC9kZWVzLWRhdGF2aWV3LWNvZGVib3g+CiAgICAgICAgYDtjYXNlInRleHQiOnJldHVybiBNYDxwcmUgY2xhc3M9InRleHQtdmlld2VyIj4ke3RoaXMucmVzb2x2ZWRUZXh0fTwvcHJlPmA7ZGVmYXVsdDpyZXR1cm4gTWAKICAgICAgICAgIDxkaXYgY2xhc3M9InBsYWNlaG9sZGVyIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RmlsZVF1ZXN0aW9uIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBsYWNlaG9sZGVyLXRleHQiPlByZXZpZXcgbm90IGF2YWlsYWJsZTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGB9fWFzeW5jIHVwZGF0ZWQoeWUpe3N1cGVyLnVwZGF0ZWQoeWUpLFsidXJsIiwiZmlsZSIsImJhc2U2NCIsInRleHRDb250ZW50IiwiY29udGVudFR5cGUiLCJsYW5ndWFnZSIsIm1pbWVUeXBlIiwiZmlsZW5hbWUiXS5zb21lKGJlPT55ZS5oYXMoYmUpKSYmYXdhaXQgdGhpcy5yZXNvbHZlQ29udGVudCgpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJldm9rZU9iamVjdFVybCgpfWFzeW5jIHJlc29sdmVDb250ZW50KCl7dGhpcy5lcnJvcj0iIix0aGlzLnJldm9rZU9iamVjdFVybCgpLHRoaXMucmVzb2x2ZWRUeXBlPXRoaXMuZGV0ZWN0VHlwZSgpO3RyeXtpZih0aGlzLnVybCl7aWYodGhpcy5yZXNvbHZlZFNyYz10aGlzLnVybCx0aGlzLnJlc29sdmVkVHlwZT09PSJjb2RlInx8dGhpcy5yZXNvbHZlZFR5cGU9PT0idGV4dCIpaWYodGhpcy50ZXh0Q29udGVudCl0aGlzLnJlc29sdmVkVGV4dD10aGlzLnRleHRDb250ZW50O2Vsc2V7dGhpcy5sb2FkaW5nPSEwO2xldCB5ZT1hd2FpdCBmZXRjaCh0aGlzLnVybCk7dGhpcy5yZXNvbHZlZFRleHQ9YXdhaXQgeWUudGV4dCgpLHRoaXMubG9hZGluZz0hMX19ZWxzZSBpZih0aGlzLmZpbGUpdGhpcy5vYmplY3RVcmw9VVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLmZpbGUpLHRoaXMucmVzb2x2ZWRTcmM9dGhpcy5vYmplY3RVcmwsKHRoaXMucmVzb2x2ZWRUeXBlPT09ImNvZGUifHx0aGlzLnJlc29sdmVkVHlwZT09PSJ0ZXh0IikmJih0aGlzLmxvYWRpbmc9ITAsdGhpcy5yZXNvbHZlZFRleHQ9YXdhaXQgdGhpcy5maWxlLnRleHQoKSx0aGlzLmxvYWRpbmc9ITEpO2Vsc2UgaWYodGhpcy5iYXNlNjQpe2xldCB5ZT10aGlzLm1pbWVUeXBlfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIjt0aGlzLnJlc29sdmVkU3JjPWBkYXRhOiR7eWV9O2Jhc2U2NCwke3RoaXMuYmFzZTY0fWB9ZWxzZSB0aGlzLnRleHRDb250ZW50JiYodGhpcy5yZXNvbHZlZFRleHQ9dGhpcy50ZXh0Q29udGVudCl9Y2F0Y2h7dGhpcy5lcnJvcj0iRmFpbGVkIHRvIGxvYWQgY29udGVudCIsdGhpcy5sb2FkaW5nPSExfXRoaXMucmVzb2x2ZWRMYW5nPXRoaXMucmVzb2x2ZUxhbmd1YWdlKCl9ZGV0ZWN0VHlwZSgpe2lmKHRoaXMuY29udGVudFR5cGUpcmV0dXJuIHRoaXMuY29udGVudFR5cGU7bGV0IHllPXRoaXMubWltZVR5cGV8fHRoaXMuZmlsZT8udHlwZXx8IiI7aWYoeWUpe2lmKHllPT09ImFwcGxpY2F0aW9uL3BkZiIpcmV0dXJuInBkZiI7Zm9yKGxldFtDZSxiZV1vZiBPYmplY3QuZW50cmllcyhvSnIpKWlmKHllLnN0YXJ0c1dpdGgoQ2UpKXJldHVybiBiZTtpZih5ZS5zdGFydHNXaXRoKCJ0ZXh0LyIpKXJldHVybiJ0ZXh0In1sZXQgbWU9dGhpcy5nZXRFeHRlbnNpb24oKTtyZXR1cm4gbWUmJkZkclttZV0/RmRyW21lXTp0aGlzLnRleHRDb250ZW50P3RoaXMubGFuZ3VhZ2U/ImNvZGUiOiJ0ZXh0IjoidW5rbm93biJ9Z2V0RXh0ZW5zaW9uKCl7bGV0IHllPXRoaXMuZmlsZW5hbWV8fHRoaXMuZmlsZT8ubmFtZXx8IiI7aWYoeWUpe2xldCBtZT15ZS5zcGxpdCgiLiIpO2lmKG1lLmxlbmd0aD4xKXJldHVybiBtZS5wb3AoKS50b0xvd2VyQ2FzZSgpfWlmKHRoaXMudXJsKXRyeXtsZXQgQ2U9bmV3IFVSTCh0aGlzLnVybCwiaHR0cHM6Ly9wbGFjZWhvbGRlci5jb20iKS5wYXRobmFtZS5zcGxpdCgiLiIpO2lmKENlLmxlbmd0aD4xKXJldHVybiBDZS5wb3AoKS50b0xvd2VyQ2FzZSgpfWNhdGNoe31yZXR1cm4iIn1nZXRGaWxlbmFtZUZyb21VcmwoKXtpZighdGhpcy51cmwpcmV0dXJuIiI7dHJ5e3JldHVybiBuZXcgVVJMKHRoaXMudXJsLCJodHRwczovL3BsYWNlaG9sZGVyLmNvbSIpLnBhdGhuYW1lLnNwbGl0KCIvIikucG9wKCl8fCIifWNhdGNoe3JldHVybiIifX1yZXNvbHZlTGFuZ3VhZ2UoKXtpZih0aGlzLmxhbmd1YWdlKXJldHVybiB0aGlzLmxhbmd1YWdlO2xldCB5ZT10aGlzLmdldEV4dGVuc2lvbigpO3JldHVybiBsSnJbeWVdfHwidGV4dCJ9cmV2b2tlT2JqZWN0VXJsKCl7dGhpcy5vYmplY3RVcmwmJihVUkwucmV2b2tlT2JqZWN0VVJMKHRoaXMub2JqZWN0VXJsKSx0aGlzLm9iamVjdFVybD0iIil9c3RhdGlje2dyKGEscil9fTtyZXR1cm4gYWU9YX0pKCl9KTt2YXIgQmRyPWYoKCk9PntSZHIoKX0pO3ZhciBIZHIscnVlLHFkcixqZHI9ZigoKT0+e3VlKCk7VWkoKTtNaSgpO2lyKCk7SGRyPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0scnVlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxxZHI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXBkZiIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdO3ZhciBjPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgbD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKCldLEhkcih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBkZlVybCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dT0+InBkZlVybCJpbiB1LGdldDp1PT51LnBkZlVybCxzZXQ6KHUsZCk9Pnt1LnBkZlVybD1kfX0sbWV0YWRhdGE6bH0scyxvKSxIZHIobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6bH0sbnVsbCxyKSxjPWE9dC52YWx1ZSxsJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmx9KX1zdGF0aWMgZGVtbz0oKT0+TWAgPGRlZXMtcGRmPjwvZGVlcy1wZGY+IGA7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSIsIlBERiJdOyNlPXJ1ZSh0aGlzLHMsImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIpO2dldCBwZGZVcmwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcGRmVXJsKGwpe3RoaXMuI2U9bH1jb25zdHJ1Y3Rvcigpe3N1cGVyKCkscnVlKHRoaXMsbyl9cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgICB9CiAgICAgICAgOmhvc3QoW2hpZGRlbl0pIHsKICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAjcGRmY2FudmFzIHsKICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICNjY2M7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxjYW52YXMKICAgICAgICBpZD0icGRmY2FudmFzIgogICAgICAgIC5oZWlnaHQ9JHswfQogICAgICAgIC53aWR0aD0kezB9CgogICAgICA+PC9jYW52YXM+CiAgICBgfXN0YXRpYyBwZGZKc1JlYWR5O3N0YXRpYyBwZGZqc0xpYjthc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2lmKHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksIWMucGRmSnNSZWFkeSl7bGV0IGw9U3QucGx1Z2lucy5zbWFydHByb21pc2UuZGVmZXIoKTtjLnBkZkpzUmVhZHk9bC5wcm9taXNlLGMucGRmanNMaWI9YXdhaXQgaW1wb3J0KCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3BkZmpzLWRpc3RANC4wLjM3OS8rZXNtIiksYy5wZGZqc0xpYi5HbG9iYWxXb3JrZXJPcHRpb25zLndvcmtlclNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9wZGZqcy1kaXN0QDQuMC4zNzkvYnVpbGQvcGRmLndvcmtlci5tanMiLGwucmVzb2x2ZSgpfWF3YWl0IGMucGRmSnNSZWFkeSx0aGlzLmRpc3BsYXlDb250ZW50KCl9YXN5bmMgZGlzcGxheUNvbnRlbnQoKXthd2FpdCBjLnBkZkpzUmVhZHksYy5wZGZqc0xpYi5nZXREb2N1bWVudCh0aGlzLnBkZlVybCkucHJvbWlzZS50aGVuKHU9Pntjb25zb2xlLmxvZygiUERGIGxvYWRlZCIpLHUuZ2V0UGFnZSgxKS50aGVuKGg9Pntjb25zb2xlLmxvZygiUGFnZSBsb2FkZWQiKTtsZXQgdj1oLmdldFZpZXdwb3J0KHtzY2FsZToxMH0pLGI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIiNwZGZjYW52YXMiKSxnPWIuZ2V0Q29udGV4dCgiMmQiKTtiLmhlaWdodD12LmhlaWdodCxiLndpZHRoPXYud2lkdGg7bGV0IHk9e2NhbnZhc0NvbnRleHQ6Zyx2aWV3cG9ydDp2fTtoLnJlbmRlcih5KS5wcm9taXNlLnRoZW4oZnVuY3Rpb24oKXtjb25zb2xlLmxvZygiUGFnZSByZW5kZXJlZCIpfSl9KX0sdT0+e2NvbnNvbGUuZXJyb3IodSl9KX1nZXRDb250ZXh0TWVudUl0ZW1zKCl7cmV0dXJuW3tuYW1lOiJPcGVuIFBERiBpbiBOZXcgVGFiIixpY29uTmFtZToibHVjaWRlOkV4dGVybmFsTGluayIsYWN0aW9uOmFzeW5jKCk9Pnt3aW5kb3cub3Blbih0aGlzLnBkZlVybCwiX2JsYW5rIil9fSx7ZGl2aWRlcjohMH0se25hbWU6IkNvcHkgUERGIFVSTCIsaWNvbk5hbWU6Imx1Y2lkZTpDb3B5IixhY3Rpb246YXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMucGRmVXJsKX19LHtuYW1lOiJEb3dubG9hZCBQREYiLGljb25OYW1lOiJsdWNpZGU6RG93bmxvYWQiLGFjdGlvbjphc3luYygpPT57bGV0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2wuaHJlZj10aGlzLnBkZlVybCxsLmRvd25sb2FkPXRoaXMucGRmVXJsLnNwbGl0KCIvIikucG9wKCl8fCJkb2N1bWVudC5wZGYiLGwuY2xpY2soKX19XX1zdGF0aWN7cnVlKGEscil9fTtyZXR1cm4gYz1hfSkoKX0pO3ZhciBWZHI9ZigoKT0+e2pkcigpfSk7dmFyIFJuLE9jPWYoKCk9Pnt1ZSgpO1JuPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgIDpob3N0IHsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLnRpbGUtY29udGFpbmVyIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB3aWR0aDogMjAwcHg7CiAgICAgIGhlaWdodDogMjYwcHg7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5OCUpIiwiaHNsKDIxNSAyMCUgMTQlKSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTsKICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTIpIiwicmdiYSgwLCAwLCAwLCAwLjI0KSIpfTsKICAgIH0KCiAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgfQoKICAgIC50aWxlLWNvbnRhaW5lci5jbGlja2FibGU6aG92ZXIgewogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggJHtwLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xMikiLCJyZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICB9CgogICAgLnRpbGUtY29udGFpbmVyLmNsaWNrYWJsZTpob3ZlciAudGlsZS1vdmVybGF5IHsKICAgICAgb3BhY2l0eTogMTsKICAgIH0KCiAgICAudGlsZS1jb250ZW50IHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAudGlsZS1vdmVybGF5IHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICBib3R0b206IDA7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuNykiLCJyZ2JhKDAsIDAsIDAsIDAuOCkiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBnYXA6IDhweDsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgIHotaW5kZXg6IDIwOwogICAgfQoKICAgIC50aWxlLW92ZXJsYXkgZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICBjb2xvcjogd2hpdGU7CiAgICB9CgogICAgLnRpbGUtb3ZlcmxheSBzcGFuIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBjb2xvcjogd2hpdGU7CiAgICB9CgogICAgLnRpbGUtaW5mbyB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgYm90dG9tOiA4cHg7CiAgICAgIGxlZnQ6IDhweDsKICAgICAgcmlnaHQ6IDhweDsKICAgICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlIC8gMC45MikiLCJoc2woMjE1IDIwJSAxMiUgLyAwLjkyKSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDZweDsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7CiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgIHotaW5kZXg6IDEwOwogICAgfQoKICAgIC50aWxlLWluZm8gZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgfQoKICAgIC50aWxlLWluZm8tdGV4dCB7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIH0KCiAgICAudGlsZS1iYWRnZSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiA4cHg7CiAgICAgIGxlZnQ6IDhweDsKICAgICAgcmlnaHQ6IDhweDsKICAgICAgcGFkZGluZzogNXB4IDhweDsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC43KSIsImhzbCgwIDAlIDEwMCUgLyAwLjkpIil9OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIndoaXRlIiwiaHNsKDIxNSAyMCUgMTIlKSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpOwogICAgICB6LWluZGV4OiAxNTsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZWFzZTsKICAgIH0KCiAgICAudGlsZS1iYWRnZS1jb3JuZXIgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGJvdHRvbTogOHB4OwogICAgICByaWdodDogOHB4OwogICAgICBwYWRkaW5nOiAzcHggOHB4OwogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjYpIiwiaHNsKDAgMCUgMTAwJSAvIDAuODUpIil9OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIndoaXRlIiwiaHNsKDIxNSAyMCUgMTIlKSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOwogICAgICB6LWluZGV4OiAxMDsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB9CgogICAgLnRpbGUtYmFkZ2UtdG9wcmlnaHQgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogOHB4OwogICAgICByaWdodDogOHB4OwogICAgICBwYWRkaW5nOiAzcHggOHB4OwogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjYpIiwiaHNsKDAgMCUgMTAwJSAvIDAuODUpIil9OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIndoaXRlIiwiaHNsKDIxNSAyMCUgMTIlKSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOwogICAgICB6LWluZGV4OiAxNTsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB9CgogICAgLyogU2hpZnQgYm90dG9tIGJhZGdlcyB1cCB3aGVuIGxhYmVsIGlzIHByZXNlbnQgKi8KICAgIC50aWxlLWNvbnRhaW5lcjpoYXMoLnRpbGUtbGFiZWwpIC50aWxlLWJhZGdlLWNvcm5lciB7CiAgICAgIGJvdHRvbTogMzNweDsKICAgIH0KCiAgICAudGlsZS1jb250YWluZXI6aGFzKC50aWxlLWxhYmVsKSAudGlsZS1pbmZvIHsKICAgICAgYm90dG9tOiAzM3B4OwogICAgfQoKICAgIC50aWxlLWxvYWRpbmcsCiAgICAudGlsZS1lcnJvciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgICByaWdodDogMDsKICAgICAgYm90dG9tOiAwOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgZ2FwOiAxMnB4OwogICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgfQoKICAgIC50aWxlLWxvYWRpbmcgewogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTklKSIsImhzbCgyMTUgMjAlIDE0JSkiKX07CiAgICB9CgogICAgLnRpbGUtZXJyb3IgewogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgNzIlIDk4JSkiLCJoc2woMCA2MiUgMjAlKSIpfTsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCA3MiUgNDAlKSIsImhzbCgwIDcwJSA2OCUpIil9OwogICAgfQoKICAgIC50aWxlLWVycm9yIGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgIH0KCiAgICAudGlsZS1zcGlubmVyIHsKICAgICAgd2lkdGg6IDI0cHg7CiAgICAgIGhlaWdodDogMjRweDsKICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBib3JkZXI6IDJweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDI4JSkiKX07CiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgfQoKICAgIC50aWxlLWxvYWRpbmctdGV4dCwKICAgIC50aWxlLWVycm9yLXRleHQgewogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICB9CgogICAgLnRpbGUtbGFiZWwgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGJvdHRvbTogMDsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSAvIDAuOTUpIiwiaHNsKDIxNSAyMCUgMTIlIC8gMC45NSkiKX07CiAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDE2JSAzNSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIHotaW5kZXg6IDEwOwogICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7CiAgICB9CgogICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgdG8gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgIH0KICAgIH0KCiAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7CiAgICAgIGZyb20gewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOwogICAgICB9CiAgICAgIHRvIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgfQogICAgfQoKICAgIC8qIFNpemUgdmFyaWFudHMgKi8KICAgIDpob3N0KFtzaXplPSJzbWFsbCJdKSAudGlsZS1jb250YWluZXIgewogICAgICB3aWR0aDogMTUwcHg7CiAgICAgIGhlaWdodDogMTk1cHg7CiAgICB9CgogICAgOmhvc3QoW3NpemU9ImxhcmdlIl0pIC50aWxlLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAyNTBweDsKICAgICAgaGVpZ2h0OiAzMjVweDsKICAgIH0KCiAgICAvKiBHcmlkIG9wdGltaXphdGlvbnMgKi8KICAgIDpob3N0KFtncmlkLW1vZGVdKSAudGlsZS1jb250YWluZXIgewogICAgICB3aWxsLWNoYW5nZTogYXV0bzsKICAgIH0KICBgXX0pO3ZhciBkdixobCxzMSxuMz1mKCgpPT57dWUoKTtPYygpO2lyKCk7ZHY9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxobD1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sczE9KCgpPT57bGV0IGU9aGUsdCxyPVtdLGE9W10saSxuPVtdLHM9W10sbyxjPVtdLGw9W10sdSxkPVtdLGg9W10sbSx2PVtdLGI9W107cmV0dXJuIGNsYXNzIGV4dGVuZHMgZXtzdGF0aWN7bGV0IHk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoZVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7dD1bRih7dHlwZTpCb29sZWFufSldLGk9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxvPVtGKHt0eXBlOkJvb2xlYW59KV0sdT1bRih7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxtPVtGKHt0eXBlOlN0cmluZ30pXSxkdih0aGlzLG51bGwsdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNsaWNrYWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dz0+ImNsaWNrYWJsZSJpbiB3LGdldDp3PT53LmNsaWNrYWJsZSxzZXQ6KHcsayk9Pnt3LmNsaWNrYWJsZT1rfX0sbWV0YWRhdGE6eX0scixhKSxkdih0aGlzLG51bGwsaSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnc9PiJsb2FkaW5nImluIHcsZ2V0Onc9PncubG9hZGluZyxzZXQ6KHcsayk9Pnt3LmxvYWRpbmc9a319LG1ldGFkYXRhOnl9LG4scyksZHYodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dz0+ImVycm9yImluIHcsZ2V0Onc9PncuZXJyb3Isc2V0Oih3LGspPT57dy5lcnJvcj1rfX0sbWV0YWRhdGE6eX0sYyxsKSxkdih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnc9PiJzaXplImluIHcsZ2V0Onc9Pncuc2l6ZSxzZXQ6KHcsayk9Pnt3LnNpemU9a319LG1ldGFkYXRhOnl9LGQsaCksZHYodGhpcyxudWxsLG0se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dz0+ImxhYmVsImluIHcsZ2V0Onc9PncubGFiZWwsc2V0Oih3LGspPT57dy5sYWJlbD1rfX0sbWV0YWRhdGE6eX0sdixiKSx5JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnl9KX1zdGF0aWMgc3R5bGVzPVJuOyNlPWhsKHRoaXMsciwhMCk7Z2V0IGNsaWNrYWJsZSgpe3JldHVybiB0aGlzLiNlfXNldCBjbGlja2FibGUoeSl7dGhpcy4jZT15fSN0PShobCh0aGlzLGEpLGhsKHRoaXMsbiwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxvYWRpbmcoeSl7dGhpcy4jdD15fSNyPShobCh0aGlzLHMpLGhsKHRoaXMsYywhMSkpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNyfXNldCBlcnJvcih5KXt0aGlzLiNyPXl9I2E9KGhsKHRoaXMsbCksaGwodGhpcyxkLCJkZWZhdWx0IikpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNpemUoeSl7dGhpcy4jYT15fSNpPShobCh0aGlzLGgpLGhsKHRoaXMsdiwiIikpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNpfXNldCBsYWJlbCh5KXt0aGlzLiNpPXl9b2JzZXJ2ZXI9aGwodGhpcyxiKTtfdmlzaWJsZT0hMTtnZXQgaXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGV9cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0idGlsZS1jb250YWluZXIgJHt0aGlzLmNsaWNrYWJsZT8iY2xpY2thYmxlIjoiIn0gJHt0aGlzLmxvYWRpbmc/ImxvYWRpbmciOiIifSAke3RoaXMuZXJyb3I/ImVycm9yIjoiIn0iCiAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVUaWxlQ2xpY2t9CiAgICAgICAgQG1vdXNlZW50ZXI9JHt0aGlzLm9uVGlsZU1vdXNlRW50ZXJ9CiAgICAgICAgQG1vdXNlbGVhdmU9JHt0aGlzLm9uVGlsZU1vdXNlTGVhdmV9CiAgICAgICAgQG1vdXNlbW92ZT0ke3RoaXMub25UaWxlTW91c2VNb3ZlfQogICAgICA+CiAgICAgICAgJHt0aGlzLmxvYWRpbmc/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtbG9hZGluZyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtbG9hZGluZy10ZXh0Ij5Mb2FkaW5nLi4uPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICAke3RoaXMuZXJyb3I/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZXJyb3IiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBbGVydFRyaWFuZ2xlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1lcnJvci10ZXh0Ij5GYWlsZWQgdG8gbG9hZDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgJHshdGhpcy5sb2FkaW5nJiYhdGhpcy5lcnJvcj90aGlzLnJlbmRlclRpbGVDb250ZW50KCk6IiJ9CgogICAgICAgICR7dGhpcy5sYWJlbD9NYAogICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1sYWJlbCI+JHt0aGlzLmxhYmVsfTwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMub2JzZXJ2ZXImJih0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLm9ic2VydmVyPXZvaWQgMCl9c2V0dXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpe3RoaXMub2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHk9Pntmb3IobGV0IHcgb2YgeSl7bGV0IGs9dGhpcy5fdmlzaWJsZTt0aGlzLl92aXNpYmxlPXcuaXNJbnRlcnNlY3RpbmcsdGhpcy5fdmlzaWJsZSYmIWsmJnRoaXMub25CZWNhbWVWaXNpYmxlKCl9fSx7cm9vdDpudWxsLHJvb3RNYXJnaW46IjIwMHB4Iix0aHJlc2hvbGQ6LjAxfSksdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMpfW9uQmVjYW1lVmlzaWJsZSgpe31vblRpbGVNb3VzZUVudGVyKCl7fW9uVGlsZU1vdXNlTGVhdmUoKXt9b25UaWxlTW91c2VNb3ZlKHkpe31oYW5kbGVUaWxlQ2xpY2soKXt0aGlzLmNsaWNrYWJsZSYmdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGlsZS1jbGljayIse2RldGFpbDp0aGlzLmdldFRpbGVDbGlja0RldGFpbCgpLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue319fX0pKCl9KTt2YXIgRGYsYXVlPWYoKCk9PntEZj1jbGFzc3tzdGF0aWMgcG9vbD1bXTtzdGF0aWMgbWF4UG9vbFNpemU9MjA7c3RhdGljIE1JTl9DQU5WQVNfU0laRT0yNTY7c3RhdGljIE1BWF9DQU5WQVNfU0laRT00MDk2O3N0YXRpYyBhY3F1aXJlKHQscil7bGV0IGE9dGhpcy5wb29sLmZpbmQobz0+IW8uaW5Vc2UmJm8uY2FudmFzLndpZHRoPj10JiZvLmNhbnZhcy5oZWlnaHQ+PXImJm8uY2FudmFzLndpZHRoPD10KjEuNSYmby5jYW52YXMuaGVpZ2h0PD1yKjEuNSk7aWYoYSlyZXR1cm4gYS5pblVzZT0hMCxhLmxhc3RVc2VkPURhdGUubm93KCksYS5jYW52YXMud2lkdGg9dCxhLmNhbnZhcy5oZWlnaHQ9cixhLmN0eC5jbGVhclJlY3QoMCwwLHQsciksYTtpZih0aGlzLnBvb2wubGVuZ3RoPHRoaXMubWF4UG9vbFNpemUpe2xldCBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGM9by5nZXRDb250ZXh0KCIyZCIse2FscGhhOiEwLGRlc3luY2hyb25pemVkOiEwfSk7by53aWR0aD1NYXRoLm1pbihNYXRoLm1heCh0LHRoaXMuTUlOX0NBTlZBU19TSVpFKSx0aGlzLk1BWF9DQU5WQVNfU0laRSksby5oZWlnaHQ9TWF0aC5taW4oTWF0aC5tYXgocix0aGlzLk1JTl9DQU5WQVNfU0laRSksdGhpcy5NQVhfQ0FOVkFTX1NJWkUpO2xldCBsPXtjYW52YXM6byxjdHg6YyxpblVzZTohMCxsYXN0VXNlZDpEYXRlLm5vdygpfTtyZXR1cm4gdGhpcy5wb29sLnB1c2gobCksbH1sZXQgaT10aGlzLnBvb2wuZmlsdGVyKG89PiFvLmluVXNlKS5zb3J0KChvLGMpPT5vLmxhc3RVc2VkLWMubGFzdFVzZWQpWzBdO2lmKGkpcmV0dXJuIGkuY2FudmFzLndpZHRoPXQsaS5jYW52YXMuaGVpZ2h0PXIsaS5jdHguY2xlYXJSZWN0KDAsMCx0LHIpLGkuaW5Vc2U9ITAsaS5sYXN0VXNlZD1EYXRlLm5vdygpLGk7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikscz1uLmdldENvbnRleHQoIjJkIik7cmV0dXJuIG4ud2lkdGg9dCxuLmhlaWdodD1yLHtjYW52YXM6bixjdHg6cyxpblVzZTohMCxsYXN0VXNlZDpEYXRlLm5vdygpfX1zdGF0aWMgcmVsZWFzZSh0KXt0aGlzLnBvb2wuaW5jbHVkZXModCkmJih0LmluVXNlPSExLHQuY3R4LmNsZWFyUmVjdCgwLDAsdC5jYW52YXMud2lkdGgsdC5jYW52YXMuaGVpZ2h0KSl9c3RhdGljIHJlbGVhc2VBbGwoKXtmb3IobGV0IHQgb2YgdGhpcy5wb29sKXQuaW5Vc2U9ITEsdC5jdHguY2xlYXJSZWN0KDAsMCx0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHQpfXN0YXRpYyBkZXN0cm95KCl7Zm9yKGxldCB0IG9mIHRoaXMucG9vbCl0LmNhbnZhcy53aWR0aD0wLHQuY2FudmFzLmhlaWdodD0wO3RoaXMucG9vbD1bXX1zdGF0aWMgZ2V0U3RhdHMoKXtyZXR1cm57cG9vbFNpemU6dGhpcy5wb29sLmxlbmd0aCxtYXhQb29sU2l6ZTp0aGlzLm1heFBvb2xTaXplLGluVXNlOnRoaXMucG9vbC5maWx0ZXIodD0+dC5pblVzZSkubGVuZ3RoLGF2YWlsYWJsZTp0aGlzLnBvb2wuZmlsdGVyKHQ9PiF0LmluVXNlKS5sZW5ndGh9fXN0YXRpYyBhZGp1c3RQb29sU2l6ZSh0KXtpZih0PHRoaXMucG9vbC5sZW5ndGgpe2xldCByPXRoaXMucG9vbC5sZW5ndGgtdCxhPXRoaXMucG9vbC5maWx0ZXIoaT0+IWkuaW5Vc2UpLnNsaWNlKDAscik7Zm9yKGxldCBpIG9mIGEpe2xldCBuPXRoaXMucG9vbC5pbmRleE9mKGkpO24+LTEmJnRoaXMucG9vbC5zcGxpY2UobiwxKX19dGhpcy5tYXhQb29sU2l6ZT10fX19KTtmdW5jdGlvbiBkSnIoZSx0KXtsZXQgcjtyZXR1cm4gZnVuY3Rpb24oLi4uaSl7bGV0IG49KCk9PntjbGVhclRpbWVvdXQociksZSguLi5pKX07Y2xlYXJUaW1lb3V0KHIpLHI9d2luZG93LnNldFRpbWVvdXQobix0KX19ZnVuY3Rpb24gdUpyKGUsdCl7bGV0IHI7cmV0dXJuIGZ1bmN0aW9uKC4uLmkpe3J8fChlLmFwcGx5KHRoaXMsaSkscj0hMCxzZXRUaW1lb3V0KCgpPT5yPSExLHQpKX19ZnVuY3Rpb24gcEpyKGUpe2lmKGU9PT0wKXJldHVybiIwIEJ5dGVzIjtsZXQgdD0xMDI0LHI9WyJCeXRlcyIsIktCIiwiTUIiLCJHQiJdLGE9TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLmxvZyh0KSk7cmV0dXJuIE1hdGgucm91bmQoZS9NYXRoLnBvdyh0LGEpKjEwMCkvMTAwKyIgIityW2FdfWZ1bmN0aW9uIGZKcihlLHQ9MCl7bGV0IHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gci50b3A+PS10JiZyLmxlZnQ+PS10JiZyLmJvdHRvbTw9KHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkrdCYmci5yaWdodDw9KHdpbmRvdy5pbm5lcldpZHRofHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpK3R9dmFyIEFmLGl1ZT1mKCgpPT57QWY9Y2xhc3N7c3RhdGljIG1hcmtzPW5ldyBNYXA7c3RhdGljIG1lYXN1cmVzPVtdO3N0YXRpYyBtYXJrKHQpe3RoaXMubWFya3Muc2V0KHQscGVyZm9ybWFuY2Uubm93KCkpfXN0YXRpYyBtZWFzdXJlKHQscil7bGV0IGE9dGhpcy5tYXJrcy5nZXQocik7aWYoYSl7bGV0IGk9cGVyZm9ybWFuY2Uubm93KCktYTtyZXR1cm4gdGhpcy5tZWFzdXJlcy5wdXNoKHtuYW1lOnQsZHVyYXRpb246aX0pLHRoaXMubWFya3MuZGVsZXRlKHIpLGl9cmV0dXJuIDB9c3RhdGljIGdldFJlcG9ydCgpe2xldCB0PXttZWFzdXJlczpbLi4udGhpcy5tZWFzdXJlc10sYXZlcmFnZXM6e319LHI9bmV3IE1hcDtmb3IobGV0IGEgb2YgdGhpcy5tZWFzdXJlcylyLmhhcyhhLm5hbWUpfHxyLnNldChhLm5hbWUsW10pLHIuZ2V0KGEubmFtZSkucHVzaChhLmR1cmF0aW9uKTtmb3IobGV0W2EsaV1vZiByKXQuYXZlcmFnZXNbYV09aS5yZWR1Y2UoKG4scyk9Pm4rcywwKS9pLmxlbmd0aDtyZXR1cm4gdH1zdGF0aWMgY2xlYXIoKXt0aGlzLm1hcmtzLmNsZWFyKCksdGhpcy5tZWFzdXJlcz1bXX19fSk7dmFyIFVkcixXZHI9ZigoKT0+e3VlKCk7VWRyPUpgCiAgLnByZXZpZXctc3RhY2sgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgfQoKICAucHJldmlldy1zdGFjay5ub24tYTQgewogICAgcGFkZGluZzogMTJweDsKICB9CgogIC5wcmV2aWV3LWNhbnZhcyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgbWF4LWhlaWdodDogMTAwJTsKICAgIHdpZHRoOiBhdXRvOwogICAgaGVpZ2h0OiBhdXRvOwogICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgIGltYWdlLXJlbmRlcmluZzogYXV0bzsKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgYm94LXNoYWRvdzogMCAxcHggM3B4ICR7cC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgfQoKICAubm9uLWE0IC5wcmV2aWV3LWNhbnZhcyB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTIlKSIsImhzbCgyMTcgMjUlIDI0JSkiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgfQoKICAvKiBHcmlkIG9wdGltaXphdGlvbnMgKi8KICA6aG9zdChbZ3JpZC1tb2RlXSkgLnByZXZpZXctY2FudmFzIHsKICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsKICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7CiAgfQpgfSk7dmFyIEdkcixZZHI9ZigoKT0+e3VlKCk7R2RyPSgpPT57bGV0IGU9WyJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiLCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvd2ViL2NvbXByZXNzZWQudHJhY2Vtb25rZXktcGxkaS0wOS5wZGYiXTtyZXR1cm4gTWAKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICAgIH0KCiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICAgIH0KCiAgICAgIGgzIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAucHJldmlldy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICB9CgogICAgICAucHJldmlldy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPlNpbmdsZSBQREYgVGlsZTwvaDM+CiAgICAgICAgPGRlZXMtdGlsZS1wZGYKICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgID48L2RlZXMtdGlsZS1wZGY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+RGlmZmVyZW50IFNpemVzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWxhYmVsIj5TbWFsbDo8L2Rpdj4KICAgICAgICAgIDxkZWVzLXRpbGUtcGRmCiAgICAgICAgICAgIHNpemU9InNtYWxsIgogICAgICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIKICAgICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgICAgPjwvZGVlcy10aWxlLXBkZj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1sYWJlbCI+RGVmYXVsdDo8L2Rpdj4KICAgICAgICAgIDxkZWVzLXRpbGUtcGRmCiAgICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIgogICAgICAgICAgICBjbGlja2FibGU9InRydWUiCiAgICAgICAgICA+PC9kZWVzLXRpbGUtcGRmPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWxhYmVsIj5MYXJnZTo8L2Rpdj4KICAgICAgICAgIDxkZWVzLXRpbGUtcGRmCiAgICAgICAgICAgIHNpemU9ImxhcmdlIgogICAgICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIKICAgICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgICAgPjwvZGVlcy10aWxlLXBkZj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5XaXRoIExhYmVsPC9oMz4KICAgICAgICA8ZGVlcy10aWxlLXBkZgogICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvd2ViL2NvbXByZXNzZWQudHJhY2Vtb25rZXktcGxkaS0wOS5wZGYiCiAgICAgICAgICBjbGlja2FibGU9InRydWUiCiAgICAgICAgICBsYWJlbD0iUmVzZWFyY2ggUGFwZXIucGRmIgogICAgICAgID48L2RlZXMtdGlsZS1wZGY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+Tm9uLUNsaWNrYWJsZTwvaDM+CiAgICAgICAgPGRlZXMtdGlsZS1wZGYKICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIgogICAgICAgICAgY2xpY2thYmxlPSJmYWxzZSIKICAgICAgICA+PC9kZWVzLXRpbGUtcGRmPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPkdyaWQgLSAyMCBQREZzIHdpdGggTGF6eSBMb2FkaW5nPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWdyaWQiPgogICAgICAgICAgJHsocj0+e2xldCBhPVtdO2ZvcihsZXQgaT0wO2k8cjtpKyspe2xldCBuPWVbaSVlLmxlbmd0aF07YS5wdXNoKE1gCiAgICAgICAgPGRlZXMtdGlsZS1wZGYKICAgICAgICAgIHBkZlVybD0iJHtufSIKICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgIGdyaWQtbW9kZQogICAgICAgICAgQHRpbGUtY2xpY2s9JHtzPT57Y29uc29sZS5sb2coIlBERiBUaWxlIGNsaWNrZWQ6IixzLmRldGFpbCksYWxlcnQoYFBERiBjbGlja2VkOiAke3MuZGV0YWlsLnBhZ2VDb3VudH0gcGFnZXNgKX19CiAgICAgICAgPjwvZGVlcy10aWxlLXBkZj4KICAgICAgYCl9cmV0dXJuIGF9KSgyMCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH19KTt2YXIgcHUsbnMscUYsbnVlPWYoKCk9Pnt1ZSgpO24zKCk7T2MoKTtIRigpO2F1ZSgpO2l1ZSgpO1dkcigpO1lkcigpO3B1PWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sbnM9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LHFGPSgoKT0+e2xldCBlPVtyZSgiZGVlcy10aWxlLXBkZiIpXSx0LHI9W10sYSxpPXMxLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgRD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOlN0cmluZ30pXSxjPVtGKHt0eXBlOk51bWJlcn0pXSxkPVtGKHt0eXBlOk51bWJlcn0pXSx2PVtGKHt0eXBlOkJvb2xlYW59KV0seT1bRih7dHlwZTpCb29sZWFufSldLFI9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxwdSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBkZlVybCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+InBkZlVybCJpbiBOLGdldDpOPT5OLnBkZlVybCxzZXQ6KE4scSk9PntOLnBkZlVybD1xfX0sbWV0YWRhdGE6RH0scyxvKSxwdSh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmV2aWV3UGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+ImN1cnJlbnRQcmV2aWV3UGFnZSJpbiBOLGdldDpOPT5OLmN1cnJlbnRQcmV2aWV3UGFnZSxzZXQ6KE4scSk9PntOLmN1cnJlbnRQcmV2aWV3UGFnZT1xfX0sbWV0YWRhdGE6RH0sbCx1KSxwdSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBhZ2VDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+InBhZ2VDb3VudCJpbiBOLGdldDpOPT5OLnBhZ2VDb3VudCxzZXQ6KE4scSk9PntOLnBhZ2VDb3VudD1xfX0sbWV0YWRhdGE6RH0saCxtKSxwdSh0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmRlcmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4icmVuZGVyZWQiaW4gTixnZXQ6Tj0+Ti5yZW5kZXJlZCxzZXQ6KE4scSk9PntOLnJlbmRlcmVkPXF9fSxtZXRhZGF0YTpEfSxiLGcpLHB1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIb3ZlcmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+ImlzSG92ZXJpbmciaW4gTixnZXQ6Tj0+Ti5pc0hvdmVyaW5nLHNldDooTixxKT0+e04uaXNIb3ZlcmluZz1xfX0sbWV0YWRhdGE6RH0sdyxrKSxwdSh0aGlzLG51bGwsUix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzQTRGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJpc0E0Rm9ybWF0ImluIE4sZ2V0Ok49Pk4uaXNBNEZvcm1hdCxzZXQ6KE4scSk9PntOLmlzQTRGb3JtYXQ9cX19LG1ldGFkYXRhOkR9LEMsUykscHUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6RH0sbnVsbCxyKSxPPWE9dC52YWx1ZSxEJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkR9KX1zdGF0aWMgZGVtbz1HZHI7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSIsIlBERiJdO3N0YXRpYyBzdHlsZXM9Wy4uLlJuLFVkcl07I2U9bnModGhpcyxzLCIiKTtnZXQgcGRmVXJsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHBkZlVybChEKXt0aGlzLiNlPUR9I3Q9KG5zKHRoaXMsbyksbnModGhpcyxsLDEpKTtnZXQgY3VycmVudFByZXZpZXdQYWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGN1cnJlbnRQcmV2aWV3UGFnZShEKXt0aGlzLiN0PUR9I3I9KG5zKHRoaXMsdSksbnModGhpcyxoLDApKTtnZXQgcGFnZUNvdW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHBhZ2VDb3VudChEKXt0aGlzLiNyPUR9I2E9KG5zKHRoaXMsbSksbnModGhpcyxiLCExKSk7Z2V0IHJlbmRlcmVkKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHJlbmRlcmVkKEQpe3RoaXMuI2E9RH0jaT0obnModGhpcyxnKSxucyh0aGlzLHcsITEpKTtnZXQgaXNIb3ZlcmluZygpe3JldHVybiB0aGlzLiNpfXNldCBpc0hvdmVyaW5nKEQpe3RoaXMuI2k9RH0jbj0obnModGhpcyxrKSxucyh0aGlzLEMsITApKTtnZXQgaXNBNEZvcm1hdCgpe3JldHVybiB0aGlzLiNufXNldCBpc0E0Rm9ybWF0KEQpe3RoaXMuI249RH1yZW5kZXJQYWdlc1Rhc2s9KG5zKHRoaXMsUyksbnVsbCk7cmVuZGVyUGFnZXNRdWV1ZWQ9ITE7cGRmRG9jdW1lbnQ7Y2FudmFzZXM9W107cmVzaXplT2JzZXJ2ZXI7c3RhY2tFbGVtZW50PW51bGw7bG9hZGVkUGRmVXJsPW51bGw7cmVuZGVyVGlsZUNvbnRlbnQoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1zdGFjayAke3RoaXMuaXNBNEZvcm1hdD8iIjoibm9uLWE0In0iPgogICAgICAgIDxjYW52YXMKICAgICAgICAgIGNsYXNzPSJwcmV2aWV3LWNhbnZhcyIKICAgICAgICAgIGRhdGEtcGFnZT0iJHt0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZX0iCiAgICAgICAgPjwvY2FudmFzPgogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5wYWdlQ291bnQ+MSYmdGhpcy5pc0hvdmVyaW5nP01gCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1iYWRnZSI+CiAgICAgICAgICBQYWdlICR7dGhpcy5jdXJyZW50UHJldmlld1BhZ2V9IG9mICR7dGhpcy5wYWdlQ291bnR9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CgogICAgICAke3RoaXMucGFnZUNvdW50PjAmJiF0aGlzLmlzSG92ZXJpbmc/TWAKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWJhZGdlLWNvcm5lciI+CiAgICAgICAgICAke3RoaXMucGFnZUNvdW50fSBwYWdlJHt0aGlzLnBhZ2VDb3VudD4xPyJzIjoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KCiAgICAgICR7dGhpcy5jbGlja2FibGU/TWAKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RXllIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPlZpZXcgUERGPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1nZXRUaWxlQ2xpY2tEZXRhaWwoKXtyZXR1cm57cGRmVXJsOnRoaXMucGRmVXJsLHBhZ2VDb3VudDp0aGlzLnBhZ2VDb3VudH19b25CZWNhbWVWaXNpYmxlKCl7IXRoaXMucmVuZGVyZWQmJnRoaXMucGRmVXJsJiZ0aGlzLmxvYWRBbmRSZW5kZXJQcmV2aWV3KCl9b25UaWxlTW91c2VFbnRlcigpe3RoaXMuaXNIb3ZlcmluZz0hMH1vblRpbGVNb3VzZUxlYXZlKCl7dGhpcy5pc0hvdmVyaW5nPSExLHRoaXMuY3VycmVudFByZXZpZXdQYWdlIT09MSYmKHRoaXMuY3VycmVudFByZXZpZXdQYWdlPTEsdGhpcy5zY2hlZHVsZVJlbmRlclBhZ2VzKCkpfW9uVGlsZU1vdXNlTW92ZShEKXtpZighdGhpcy5pc0hvdmVyaW5nfHx0aGlzLnBhZ2VDb3VudDw9MSlyZXR1cm47bGV0IE49dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxxPUQuY2xpZW50WC1OLmxlZnQsXz1OLndpZHRoLHo9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHEvXykpLEU9TWF0aC5jZWlsKHoqdGhpcy5wYWdlQ291bnQpfHwxO0UhPT10aGlzLmN1cnJlbnRQcmV2aWV3UGFnZSYmKHRoaXMuY3VycmVudFByZXZpZXdQYWdlPUUsdGhpcy5zY2hlZHVsZVJlbmRlclBhZ2VzKCkpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuY2FjaGVFbGVtZW50cygpLHRoaXMuc2V0dXBSZXNpemVPYnNlcnZlcigpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmNsZWFudXAoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCksdGhpcy5yZXNpemVPYnNlcnZlcj12b2lkIDB9YXN5bmMgbG9hZEFuZFJlbmRlclByZXZpZXcoKXtpZighKHRoaXMucmVuZGVyZWR8fHRoaXMubG9hZGluZykpe3RoaXMubG9hZGluZz0hMCx0aGlzLmVycm9yPSExLEFmLm1hcmsoYHByZXZpZXctbG9hZC0ke3RoaXMucGRmVXJsfWApO3RyeXt0aGlzLnBkZkRvY3VtZW50PWF3YWl0IGZsLmxvYWREb2N1bWVudCh0aGlzLnBkZlVybCksdGhpcy5wYWdlQ291bnQ9dGhpcy5wZGZEb2N1bWVudC5udW1QYWdlcyx0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZT0xLHRoaXMubG9hZGVkUGRmVXJsPXRoaXMucGRmVXJsLHRoaXMubG9hZGluZz0hMSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuY2FjaGVFbGVtZW50cygpLGF3YWl0IHRoaXMuc2NoZWR1bGVSZW5kZXJQYWdlcygpLHRoaXMucmVuZGVyZWQ9ITA7bGV0IEQ9QWYubWVhc3VyZShgcHJldmlldy1yZW5kZXItJHt0aGlzLnBkZlVybH1gLGBwcmV2aWV3LWxvYWQtJHt0aGlzLnBkZlVybH1gKTtjb25zb2xlLmxvZyhgUERGIHRpbGUgcmVuZGVyZWQgaW4gJHtEfW1zYCl9Y2F0Y2goRCl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGxvYWQgUERGIHRpbGU6IixEKSx0aGlzLmVycm9yPSEwLHRoaXMubG9hZGluZz0hMX19fXNjaGVkdWxlUmVuZGVyUGFnZXMoKXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudD90aGlzLnJlbmRlclBhZ2VzVGFzaz8odGhpcy5yZW5kZXJQYWdlc1F1ZXVlZD0hMCx0aGlzLnJlbmRlclBhZ2VzVGFzayk6KHRoaXMucmVuZGVyUGFnZXNUYXNrPShhc3luYygpPT57dHJ5e2F3YWl0IHRoaXMucGVyZm9ybVJlbmRlclBhZ2VzKCl9Y2F0Y2goRCl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHJlbmRlciBQREYgdGlsZSBwYWdlczoiLEQpfX0pKCkuZmluYWxseSgoKT0+e3RoaXMucmVuZGVyUGFnZXNUYXNrPW51bGwsdGhpcy5yZW5kZXJQYWdlc1F1ZXVlZCYmKHRoaXMucmVuZGVyUGFnZXNRdWV1ZWQ9ITEsdGhpcy5zY2hlZHVsZVJlbmRlclBhZ2VzKCkpfSksdGhpcy5yZW5kZXJQYWdlc1Rhc2spOlByb21pc2UucmVzb2x2ZSgpfWFzeW5jIHBlcmZvcm1SZW5kZXJQYWdlcygpe2lmKCF0aGlzLnBkZkRvY3VtZW50KXJldHVybjthd2FpdCBuZXcgUHJvbWlzZShfPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoXykpO2xldCBEPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnByZXZpZXctY2FudmFzIik7aWYoIUQpcmV0dXJuO3RoaXMuY2xlYXJDYW52YXNlcygpLHRoaXMuY2FjaGVFbGVtZW50cygpO2xldHthdmFpbGFibGVXaWR0aDpOLGF2YWlsYWJsZUhlaWdodDpxfT10aGlzLmdldEF2YWlsYWJsZVNpemUoKTt0cnl7bGV0IF89dGhpcy5jdXJyZW50UHJldmlld1BhZ2Usej1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldFBhZ2UoXyksRT16LmdldFZpZXdwb3J0KHtzY2FsZToxfSksVD1FLmhlaWdodC9FLndpZHRoLEw9MS40MTQsVj0uNzA3LEI9MS4yOTQsVT0uNzczLEs9LjA1LEk9TWF0aC5hYnMoVC1MKTxMKkssdmU9TWF0aC5hYnMoVC1WKTxWKkssTWU9TWF0aC5hYnMoVC1CKTxCKkssUD1NYXRoLmFicyhULVUpPFUqSzt0aGlzLmlzQTRGb3JtYXQ9SXx8dmV8fE1lfHxQO2xldCBsZT10aGlzLmlzQTRGb3JtYXQ/TjpOLTI0LFNlPXRoaXMuaXNBNEZvcm1hdD9xOnEtMjQsWj1sZT4wP2xlL0Uud2lkdGg6MCxBPVNlPjA/U2UvRS5oZWlnaHQ6MCwkPU1hdGgubWluKFp8fC41LEF8fFp8fC41KSxqPU1hdGgubWluKCQqMiwzKTtpZighTnVtYmVyLmlzRmluaXRlKGopfHxqPD0wKXt6LmNsZWFudXA/LigpO3JldHVybn1sZXQgSD16LmdldFZpZXdwb3J0KHtzY2FsZTpqfSksWT1EZi5hY3F1aXJlKEgud2lkdGgsSC5oZWlnaHQpO3RoaXMuY2FudmFzZXMucHVzaChZKTtsZXQgZGU9e2NhbnZhc0NvbnRleHQ6WS5jdHgsdmlld3BvcnQ6SH07YXdhaXQgei5yZW5kZXIoZGUpLnByb21pc2UsRC53aWR0aD1ILndpZHRoLEQuaGVpZ2h0PUguaGVpZ2h0O2xldCB3ZT1sZSxMZT1ILmhlaWdodC9ILndpZHRoKmxlO2lmKExlPlNlKXtsZXQgVz1TZSxhZT1ILndpZHRoL0guaGVpZ2h0KlNlO0Quc3R5bGUud2lkdGg9YCR7YWV9cHhgLEQuc3R5bGUuaGVpZ2h0PWAke1d9cHhgfWVsc2UgRC5zdHlsZS53aWR0aD1gJHt3ZX1weGAsRC5zdHlsZS5oZWlnaHQ9YCR7TGV9cHhgO2xldCBHPUQuZ2V0Q29udGV4dCgiMmQiKTtHJiYoRy5pbWFnZVNtb290aGluZ0VuYWJsZWQ9ITAsRy5pbWFnZVNtb290aGluZ1F1YWxpdHk9ImhpZ2giLEcuZHJhd0ltYWdlKFkuY2FudmFzLDAsMCkpLHouY2xlYW51cCgpfWNhdGNoKF8pe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byByZW5kZXIgcGFnZSAke3RoaXMuY3VycmVudFByZXZpZXdQYWdlfTpgLF8pfX1jbGVhckNhbnZhc2VzKCl7Zm9yKGxldCBEIG9mIHRoaXMuY2FudmFzZXMpRGYucmVsZWFzZShEKTt0aGlzLmNhbnZhc2VzPVtdfWNsZWFudXAoKXt0aGlzLmNsZWFyQ2FudmFzZXMoKSx0aGlzLnBkZkRvY3VtZW50JiYoZmwucmVsZWFzZURvY3VtZW50KHRoaXMubG9hZGVkUGRmVXJsPz90aGlzLnBkZlVybCksdGhpcy5wZGZEb2N1bWVudD1udWxsKSx0aGlzLnJlbmRlclBhZ2VzUXVldWVkPSExLHRoaXMucGFnZUNvdW50PTAsdGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MSx0aGlzLmlzSG92ZXJpbmc9ITEsdGhpcy5pc0E0Rm9ybWF0PSEwLHRoaXMuc3RhY2tFbGVtZW50PW51bGwsdGhpcy5sb2FkZWRQZGZVcmw9bnVsbCx0aGlzLnJlbmRlcmVkPSExLHRoaXMubG9hZGluZz0hMSx0aGlzLmVycm9yPSExfWFzeW5jIHVwZGF0ZWQoRCl7aWYoc3VwZXIudXBkYXRlZChEKSxELmhhcygicGRmVXJsIikmJnRoaXMucGRmVXJsKXtsZXQgTj1ELmdldCgicGRmVXJsIik7TiYmZmwucmVsZWFzZURvY3VtZW50KE4pLHRoaXMuY2xlYW51cCgpLHRoaXMucmVuZGVyZWQ9ITEsdGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MTtsZXQgcT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3EudG9wPHdpbmRvdy5pbm5lckhlaWdodCYmcS5ib3R0b20+MCYmdGhpcy5sb2FkQW5kUmVuZGVyUHJldmlldygpfUQuaGFzKCJjdXJyZW50UHJldmlld1BhZ2UiKSYmdGhpcy5yZW5kZXJlZCYmYXdhaXQgdGhpcy5zY2hlZHVsZVJlbmRlclBhZ2VzKCl9Z2V0Q29udGV4dE1lbnVJdGVtcygpe2xldCBEPVtdO3JldHVybiB0aGlzLmNsaWNrYWJsZSYmKEQucHVzaCh7bmFtZToiVmlldyBQREYiLGljb25OYW1lOiJsdWNpZGU6RXllIixhY3Rpb246YXN5bmMoKT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRpbGUtY2xpY2siLHtkZXRhaWw6dGhpcy5nZXRUaWxlQ2xpY2tEZXRhaWwoKSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX0pLEQucHVzaCh7ZGl2aWRlcjohMH0pKSxELnB1c2goe25hbWU6Ik9wZW4gUERGIGluIE5ldyBUYWIiLGljb25OYW1lOiJsdWNpZGU6RXh0ZXJuYWxMaW5rIixhY3Rpb246YXN5bmMoKT0+e3dpbmRvdy5vcGVuKHRoaXMucGRmVXJsLCJfYmxhbmsiKX19LHtkaXZpZGVyOiEwfSx7bmFtZToiQ29weSBQREYgVVJMIixpY29uTmFtZToibHVjaWRlOkNvcHkiLGFjdGlvbjphc3luYygpPT57YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGhpcy5wZGZVcmwpfX0se25hbWU6IkRvd25sb2FkIFBERiIsaWNvbk5hbWU6Imx1Y2lkZTpEb3dubG9hZCIsYWN0aW9uOmFzeW5jKCk9PntsZXQgTj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Ti5ocmVmPXRoaXMucGRmVXJsLE4uZG93bmxvYWQ9dGhpcy5wZGZVcmwuc3BsaXQoIi8iKS5wb3AoKXx8ImRvY3VtZW50LnBkZiIsTi5jbGljaygpfX0pLHRoaXMucGFnZUNvdW50PjAmJkQucHVzaCh7ZGl2aWRlcjohMH0se25hbWU6YCR7dGhpcy5wYWdlQ291bnR9IHBhZ2Uke3RoaXMucGFnZUNvdW50PjE/InMiOiIifWAsaWNvbk5hbWU6Imx1Y2lkZTpGaWxlVGV4dCIsZGlzYWJsZWQ6ITAsYWN0aW9uOmFzeW5jKCk9Pnt9fSksRH1jYWNoZUVsZW1lbnRzKCl7dGhpcy5zdGFja0VsZW1lbnR8fCh0aGlzLnN0YWNrRWxlbWVudD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5wcmV2aWV3LXN0YWNrIikpfXNldHVwUmVzaXplT2JzZXJ2ZXIoKXt0aGlzLnJlc2l6ZU9ic2VydmVyfHwodGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLnJlbmRlcmVkJiZ0aGlzLnBkZkRvY3VtZW50JiYhdGhpcy5sb2FkaW5nJiZ0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKSl9Z2V0QXZhaWxhYmxlU2l6ZSgpe2lmKHRoaXMuc3RhY2tFbGVtZW50fHwodGhpcy5zdGFja0VsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucHJldmlldy1zdGFjayIpKSwhdGhpcy5zdGFja0VsZW1lbnQpcmV0dXJue2F2YWlsYWJsZVdpZHRoOjIwMCxhdmFpbGFibGVIZWlnaHQ6MjYwfTtsZXQgRD10aGlzLnN0YWNrRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxOPU1hdGgubWF4KEQud2lkdGgsMCl8fDIwMCxxPU1hdGgubWF4KEQuaGVpZ2h0LDApfHwyNjA7cmV0dXJue2F2YWlsYWJsZVdpZHRoOk4sYXZhaWxhYmxlSGVpZ2h0OnF9fXN0YXRpY3tucyhhLHIpfX07cmV0dXJuIE89YX0pKCl9KTt2YXIgaEpyLG1KcixaZHIsWGRyPWYoKCk9Pnt1ZSgpO251ZSgpO2hKcj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LG1Kcj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sWmRyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy1wZGYtcHJldmlldyIpXSx0LHI9W10sYSxpPXFGO3ZhciBuPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgcz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtoSnIobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6c30sbnVsbCxyKSxuPWE9dC52YWx1ZSxzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnN9KX1zdGF0aWMgZGVtb0dyb3Vwcz1bXTtjb25uZWN0ZWRDYWxsYmFjaygpe3JldHVybiBjb25zb2xlLndhcm4oIltkZWVzLXBkZi1wcmV2aWV3XSBpcyBkZXByZWNhdGVkLiBVc2UgPGRlZXMtdGlsZS1wZGY+IGluc3RlYWQuIFRoaXMgY29tcG9uZW50IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIpLHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCl9c3RhdGlje21KcihhLHIpfX07cmV0dXJuIG49YX0pKCl9KTt2YXIgUWRyPWYoKCk9PntYZHIoKX0pO3ZhciBKZHI9ZigoKT0+e2F1ZSgpO0hGKCk7aXVlKCl9KTt2YXIgS2RyPWYoKCk9Pnt0dWUoKX0pO3ZhciBlNnI9ZigoKT0+e24zKCk7T2MoKX0pO3ZhciB0NnI9ZigoKT0+e251ZSgpfSk7dmFyIHI2cixhNnI9ZigoKT0+e3VlKCk7cjZyPSgpPT5NYAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgLnRpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAyNHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5JbWFnZSBUaWxlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aWxlLWltYWdlCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy84MDAvNjAwIgogICAgICAgICAgYWx0PSJMYW5kc2NhcGUgcGhvdG8iCiAgICAgICAgICBsYWJlbD0ibGFuZHNjYXBlLmpwZyIKICAgICAgICAgIEB0aWxlLWNsaWNrPSR7ZT0+Y29uc29sZS5sb2coIkltYWdlIGNsaWNrZWQ6IixlLmRldGFpbCl9CiAgICAgICAgPjwvZGVlcy10aWxlLWltYWdlPgoKICAgICAgICA8ZGVlcy10aWxlLWltYWdlCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy80MDAvNDAwIgogICAgICAgICAgYWx0PSJTcXVhcmUgcGhvdG8iCiAgICAgICAgICBsYWJlbD0ic3F1YXJlLnBuZyIKICAgICAgICA+PC9kZWVzLXRpbGUtaW1hZ2U+CgogICAgICAgIDxkZWVzLXRpbGUtaW1hZ2UKICAgICAgICAgIHNyYz0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzMwMC85MDAiCiAgICAgICAgICBhbHQ9IlBvcnRyYWl0IHBob3RvIgogICAgICAgICAgbGFiZWw9InBvcnRyYWl0LndlYnAiCiAgICAgICAgPjwvZGVlcy10aWxlLWltYWdlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgIDxkZWVzLXRpbGUtaW1hZ2UKICAgICAgICAgIHNpemU9InNtYWxsIgogICAgICAgICAgc3JjPSJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMCIKICAgICAgICAgIGFsdD0iU21hbGwiCiAgICAgICAgICBsYWJlbD0ic21hbGwuanBnIgogICAgICAgID48L2RlZXMtdGlsZS1pbWFnZT4KCiAgICAgICAgPGRlZXMtdGlsZS1pbWFnZQogICAgICAgICAgc3JjPSJodHRwczovL3BpY3N1bS5waG90b3MvNjAwLzQwMCIKICAgICAgICAgIGFsdD0iRGVmYXVsdCIKICAgICAgICAgIGxhYmVsPSJkZWZhdWx0LmpwZyIKICAgICAgICA+PC9kZWVzLXRpbGUtaW1hZ2U+CgogICAgICAgIDxkZWVzLXRpbGUtaW1hZ2UKICAgICAgICAgIHNpemU9ImxhcmdlIgogICAgICAgICAgc3JjPSJodHRwczovL3BpY3N1bS5waG90b3MvMTIwMC84MDAiCiAgICAgICAgICBhbHQ9IkxhcmdlIgogICAgICAgICAgbGFiZWw9ImxhcmdlLmpwZyIKICAgICAgICA+PC9kZWVzLXRpbGUtaW1hZ2U+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkVycm9yIFN0YXRlIChicm9rZW4gVVJMKTwvaDM+CiAgICAgIDxkZWVzLXRpbGUtaW1hZ2UKICAgICAgICBzcmM9Imh0dHBzOi8vaW52YWxpZC11cmwtdGhhdC1kb2VzLW5vdC1leGlzdC5leGFtcGxlL2ltYWdlLnBuZyIKICAgICAgICBhbHQ9IkJyb2tlbiIKICAgICAgICBsYWJlbD0iYnJva2VuLnBuZyIKICAgICAgPjwvZGVlcy10aWxlLWltYWdlPgogICAgPC9kaXY+CiAgPC9kaXY+CmB9KTt2YXIgRWYscW8saTZyLG42cj1mKCgpPT57dWUoKTtuMygpO09jKCk7YTZyKCk7RWY9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxxbz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0saTZyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy10aWxlLWltYWdlIildLHQscj1bXSxhLGk9czEsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W107dmFyIFI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBDPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W3NlKCldLHY9W3NlKCldLHk9W3NlKCldLEVmKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4ic3JjImluIFMsZ2V0OlM9PlMuc3JjLHNldDooUyxPKT0+e1Muc3JjPU99fSxtZXRhZGF0YTpDfSxzLG8pLEVmKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWx0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4iYWx0ImluIFMsZ2V0OlM9PlMuYWx0LHNldDooUyxPKT0+e1MuYWx0PU99fSxtZXRhZGF0YTpDfSxsLHUpLEVmKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VMb2FkZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJpbWFnZUxvYWRlZCJpbiBTLGdldDpTPT5TLmltYWdlTG9hZGVkLHNldDooUyxPKT0+e1MuaW1hZ2VMb2FkZWQ9T319LG1ldGFkYXRhOkN9LGgsbSksRWYodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbWFnZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4iaW1hZ2VXaWR0aCJpbiBTLGdldDpTPT5TLmltYWdlV2lkdGgsc2V0OihTLE8pPT57Uy5pbWFnZVdpZHRoPU99fSxtZXRhZGF0YTpDfSxiLGcpLEVmKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VIZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJpbWFnZUhlaWdodCJpbiBTLGdldDpTPT5TLmltYWdlSGVpZ2h0LHNldDooUyxPKT0+e1MuaW1hZ2VIZWlnaHQ9T319LG1ldGFkYXRhOkN9LHcsayksRWYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Q30sbnVsbCxyKSxSPWE9dC52YWx1ZSxDJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkN9KX1zdGF0aWMgZGVtbz1yNnI7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLlJuLEpgCiAgICAgIC5pbWFnZS13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZXBlYXRpbmctY29uaWMtZ3JhZGllbnQoI2U4ZThlOCAwJSAyNSUsIHdoaXRlIDAlIDUwJSkgNTAlIC8gMTZweCAxNnB4IiwicmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KGhzbCgyMTUgMjAlIDE4JSkgMCUgMjUlLCBoc2woMjE1IDIwJSAxNCUpIDAlIDUwJSkgNTAlIC8gMTZweCAxNnB4Iil9OwogICAgICB9CgogICAgICAuaW1hZ2Utd3JhcHBlciBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLmltYWdlLXdyYXBwZXIgaW1nLmxvYWRlZCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmltYWdlLXdyYXBwZXIgaW1nLmxvYWRpbmcgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJhZGdlLXRvcHJpZ2h0LmRpbWVuc2lvbi1iYWRnZSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnRpbGUtY29udGFpbmVyLmNsaWNrYWJsZTpob3ZlciAudGlsZS1iYWRnZS10b3ByaWdodC5kaW1lbnNpb24tYmFkZ2UgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KICAgIGBdOyNlPXFvKHRoaXMscywiIik7Z2V0IHNyYygpe3JldHVybiB0aGlzLiNlfXNldCBzcmMoQyl7dGhpcy4jZT1DfSN0PShxbyh0aGlzLG8pLHFvKHRoaXMsbCwiIikpO2dldCBhbHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYWx0KEMpe3RoaXMuI3Q9Q30jcj0ocW8odGhpcyx1KSxxbyh0aGlzLGgsITEpKTtnZXQgaW1hZ2VMb2FkZWQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgaW1hZ2VMb2FkZWQoQyl7dGhpcy4jcj1DfSNhPShxbyh0aGlzLG0pLHFvKHRoaXMsYiwwKSk7Z2V0IGltYWdlV2lkdGgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgaW1hZ2VXaWR0aChDKXt0aGlzLiNhPUN9I2k9KHFvKHRoaXMsZykscW8odGhpcyx3LDApKTtnZXQgaW1hZ2VIZWlnaHQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgaW1hZ2VIZWlnaHQoQyl7dGhpcy4jaT1DfWhhc1N0YXJ0ZWRMb2FkaW5nPShxbyh0aGlzLGspLCExKTtyZW5kZXJUaWxlQ29udGVudCgpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS13cmFwcGVyIj4KICAgICAgICAke3RoaXMuaGFzU3RhcnRlZExvYWRpbmc/TWAKICAgICAgICAgIDxpbWcKICAgICAgICAgICAgY2xhc3M9IiR7dGhpcy5pbWFnZUxvYWRlZD8ibG9hZGVkIjoibG9hZGluZyJ9IgogICAgICAgICAgICBzcmM9IiR7dGhpcy5zcmN9IgogICAgICAgICAgICBhbHQ9IiR7dGhpcy5hbHR9IgogICAgICAgICAgICBAbG9hZD0ke3RoaXMuaGFuZGxlSW1hZ2VMb2FkfQogICAgICAgICAgICBAZXJyb3I9JHt0aGlzLmhhbmRsZUltYWdlRXJyb3J9CiAgICAgICAgICAvPgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLmltYWdlV2lkdGg+MCYmdGhpcy5pbWFnZUhlaWdodD4wP01gCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1iYWRnZS10b3ByaWdodCBkaW1lbnNpb24tYmFkZ2UiPgogICAgICAgICAgJHt0aGlzLmltYWdlV2lkdGh9IMOXICR7dGhpcy5pbWFnZUhlaWdodH0KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KCiAgICAgICR7dGhpcy5pbWFnZUxvYWRlZD9NYAogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtaW5mbyI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpJbWFnZSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idGlsZS1pbmZvLXRleHQiPiR7dGhpcy5pbWFnZVdpZHRofSDDlyAke3RoaXMuaW1hZ2VIZWlnaHR9PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQoKICAgICAgJHt0aGlzLmNsaWNrYWJsZT9NYAogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtb3ZlcmxheSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpFeWUiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+VmlldyBJbWFnZTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3NyYzp0aGlzLnNyYyxhbHQ6dGhpcy5hbHQsd2lkdGg6dGhpcy5pbWFnZVdpZHRoLGhlaWdodDp0aGlzLmltYWdlSGVpZ2h0fX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5oYXNTdGFydGVkTG9hZGluZyYmdGhpcy5zcmMmJih0aGlzLmhhc1N0YXJ0ZWRMb2FkaW5nPSEwLHRoaXMubG9hZGluZz0hMCx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9aGFuZGxlSW1hZ2VMb2FkKEMpe2xldCBTPUMudGFyZ2V0O3RoaXMuaW1hZ2VXaWR0aD1TLm5hdHVyYWxXaWR0aCx0aGlzLmltYWdlSGVpZ2h0PVMubmF0dXJhbEhlaWdodCx0aGlzLmltYWdlTG9hZGVkPSEwLHRoaXMubG9hZGluZz0hMX1oYW5kbGVJbWFnZUVycm9yKCl7dGhpcy5lcnJvcj0hMCx0aGlzLmxvYWRpbmc9ITF9YXN5bmMgdXBkYXRlZChDKXtzdXBlci51cGRhdGVkKEMpLEMuaGFzKCJzcmMiKSYmdGhpcy5zcmMmJnRoaXMuaXNWaXNpYmxlJiYodGhpcy5oYXNTdGFydGVkTG9hZGluZz0hMCx0aGlzLmltYWdlTG9hZGVkPSExLHRoaXMubG9hZGluZz0hMCl9c3RhdGlje3FvKGEscil9fTtyZXR1cm4gUj1hfSkoKX0pO3ZhciBzNnI9ZigoKT0+e242cigpfSk7dmFyIG82cixsNnI9ZigoKT0+e3VlKCk7bzZyPSgpPT5NYAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgLnRpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAyNHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5BdWRpbyBUaWxlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aWxlLWF1ZGlvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgICB0aXRsZT0iU291bmRIZWxpeCBTb25nIDEiCiAgICAgICAgICBhcnRpc3Q9IlQuIFNjaHVlcmdlciIKICAgICAgICAgIGxhYmVsPSJzb3VuZGhlbGl4LTEubXAzIgogICAgICAgICAgQHRpbGUtY2xpY2s9JHtlPT5jb25zb2xlLmxvZygiQXVkaW8gY2xpY2tlZDoiLGUuZGV0YWlsKX0KICAgICAgICA+PC9kZWVzLXRpbGUtYXVkaW8+CgogICAgICAgIDxkZWVzLXRpbGUtYXVkaW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0yLm1wMyIKICAgICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMiIKICAgICAgICAgIGFydGlzdD0iVC4gU2NodWVyZ2VyIgogICAgICAgICAgbGFiZWw9InNvdW5kaGVsaXgtMi5tcDMiCiAgICAgICAgPjwvZGVlcy10aWxlLWF1ZGlvPgoKICAgICAgICA8ZGVlcy10aWxlLWF1ZGlvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMy5tcDMiCiAgICAgICAgICB0aXRsZT0iU291bmRIZWxpeCBTb25nIDMiCiAgICAgICAgICBsYWJlbD0ic291bmRoZWxpeC0zLm1wMyIKICAgICAgICA+PC9kZWVzLXRpbGUtYXVkaW8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlNpemUgVmFyaWFudHM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgPGRlZXMtdGlsZS1hdWRpbwogICAgICAgICAgc2l6ZT0ic21hbGwiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgICB0aXRsZT0iU21hbGwiCiAgICAgICAgICBsYWJlbD0ic21hbGwubXAzIgogICAgICAgID48L2RlZXMtdGlsZS1hdWRpbz4KCiAgICAgICAgPGRlZXMtdGlsZS1hdWRpbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgICAgdGl0bGU9IkRlZmF1bHQiCiAgICAgICAgICBsYWJlbD0iZGVmYXVsdC5tcDMiCiAgICAgICAgPjwvZGVlcy10aWxlLWF1ZGlvPgoKICAgICAgICA8ZGVlcy10aWxlLWF1ZGlvCiAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0xLm1wMyIKICAgICAgICAgIHRpdGxlPSJMYXJnZSIKICAgICAgICAgIGxhYmVsPSJsYXJnZS5tcDMiCiAgICAgICAgPjwvZGVlcy10aWxlLWF1ZGlvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgfSk7dmFyIHMzLG8xLGM2cixkNnI9ZigoKT0+e3VlKCk7bjMoKTtPYygpO2w2cigpO3MzPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sbzE9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGM2cj0oKCk9PntsZXQgZT1bcmUoImRlZXMtdGlsZS1hdWRpbyIpXSx0LHI9W10sYSxpPXMxLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdO3ZhciBxPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOlN0cmluZ30pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKHt0eXBlOlN0cmluZ30pXSx2PVtzZSgpXSx5PVtzZSgpXSxSPVtzZSgpXSxPPVtzZSgpXSxzMyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNyYyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+InNyYyJpbiB6LGdldDp6PT56LnNyYyxzZXQ6KHosRSk9Pnt6LnNyYz1FfX0sbWV0YWRhdGE6X30scyxvKSxzMyh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4idGl0bGUiaW4geixnZXQ6ej0+ei50aXRsZSxzZXQ6KHosRSk9Pnt6LnRpdGxlPUV9fSxtZXRhZGF0YTpffSxsLHUpLHMzKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXJ0aXN0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4iYXJ0aXN0ImluIHosZ2V0Ono9PnouYXJ0aXN0LHNldDooeixFKT0+e3ouYXJ0aXN0PUV9fSxtZXRhZGF0YTpffSxoLG0pLHMzKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJkdXJhdGlvbiJpbiB6LGdldDp6PT56LmR1cmF0aW9uLHNldDooeixFKT0+e3ouZHVyYXRpb249RX19LG1ldGFkYXRhOl99LGIsZyksczModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3YXZlZm9ybURhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJ3YXZlZm9ybURhdGEiaW4geixnZXQ6ej0+ei53YXZlZm9ybURhdGEsc2V0Oih6LEUpPT57ei53YXZlZm9ybURhdGE9RX19LG1ldGFkYXRhOl99LHcsayksczModGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3YXZlZm9ybVJlYWR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4id2F2ZWZvcm1SZWFkeSJpbiB6LGdldDp6PT56LndhdmVmb3JtUmVhZHksc2V0Oih6LEUpPT57ei53YXZlZm9ybVJlYWR5PUV9fSxtZXRhZGF0YTpffSxDLFMpLHMzKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQcmV2aWV3UGxheWluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+ImlzUHJldmlld1BsYXlpbmciaW4geixnZXQ6ej0+ei5pc1ByZXZpZXdQbGF5aW5nLHNldDooeixFKT0+e3ouaXNQcmV2aWV3UGxheWluZz1FfX0sbWV0YWRhdGE6X30sRCxOKSxzMyhudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpffSxudWxsLHIpLHE9YT10LnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPW82cjtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07c3RhdGljIHN0eWxlcz1bLi4uUm4sSmAKICAgICAgLmF1ZGlvLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBoc2woMjUwIDQwJSA5NiUpLCBoc2woMjgwIDMwJSA5NCUpKSIsImxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGhzbCgyNTAgMzAlIDE2JSksIGhzbCgyODAgMjUlIDE0JSkpIil9OwogICAgICB9CgogICAgICAubXVzaWMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiA0OHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDI1MCA2MCUgNjUlKSIsImhzbCgyNTAgNjAlIDcwJSkiKX07CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CgogICAgICAuYXVkaW8tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDI1MCAyMCUgMzUlKSIsImhzbCgyNTAgMjAlIDgwJSkiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYXVkaW8tYXJ0aXN0IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyNTAgMTUlIDUwJSkiLCJoc2woMjUwIDE1JSA2NSUpIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogLTEycHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLndhdmVmb3JtLWNvbnRhaW5lciB7CiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpOwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLndhdmVmb3JtLWNvbnRhaW5lciBjYW52YXMgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKCiAgICAgIC5wbGF5LW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgICAgei1pbmRleDogMTg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWNvbnRhaW5lci5jbGlja2FibGU6aG92ZXIgLnBsYXktb3ZlcmxheSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLnBsYXktY2lyY2xlIHsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7CiAgICAgIH0KCiAgICAgIC5wbGF5LWNpcmNsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KICAgIGBdOyNlPW8xKHRoaXMscywiIik7Z2V0IHNyYygpe3JldHVybiB0aGlzLiNlfXNldCBzcmMoXyl7dGhpcy4jZT1ffSN0PShvMSh0aGlzLG8pLG8xKHRoaXMsbCwiIikpO2dldCB0aXRsZSgpe3JldHVybiB0aGlzLiN0fXNldCB0aXRsZShfKXt0aGlzLiN0PV99I3I9KG8xKHRoaXMsdSksbzEodGhpcyxoLCIiKSk7Z2V0IGFydGlzdCgpe3JldHVybiB0aGlzLiNyfXNldCBhcnRpc3QoXyl7dGhpcy4jcj1ffSNhPShvMSh0aGlzLG0pLG8xKHRoaXMsYiwwKSk7Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGR1cmF0aW9uKF8pe3RoaXMuI2E9X30jaT0obzEodGhpcyxnKSxvMSh0aGlzLHcsW10pKTtnZXQgd2F2ZWZvcm1EYXRhKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHdhdmVmb3JtRGF0YShfKXt0aGlzLiNpPV99I249KG8xKHRoaXMsayksbzEodGhpcyxDLCExKSk7Z2V0IHdhdmVmb3JtUmVhZHkoKXtyZXR1cm4gdGhpcy4jbn1zZXQgd2F2ZWZvcm1SZWFkeShfKXt0aGlzLiNuPV99I3M9KG8xKHRoaXMsUyksbzEodGhpcyxELCExKSk7Z2V0IGlzUHJldmlld1BsYXlpbmcoKXtyZXR1cm4gdGhpcy4jc31zZXQgaXNQcmV2aWV3UGxheWluZyhfKXt0aGlzLiNzPV99YXVkaW9FbGVtZW50PShvMSh0aGlzLE4pLG51bGwpO3ByZXZpZXdUaW1lb3V0PW51bGw7aGFzTG9hZGVkV2F2ZWZvcm09ITE7cmVuZGVyVGlsZUNvbnRlbnQoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iYXVkaW8tY29udGVudCI+CiAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0ibXVzaWMtaWNvbiIgaWNvbj0ibHVjaWRlOk11c2ljIj48L2RlZXMtaWNvbj4KCiAgICAgICAgJHt0aGlzLnRpdGxlP01gPGRpdiBjbGFzcz0iYXVkaW8tdGl0bGUiPiR7dGhpcy50aXRsZX08L2Rpdj5gOiIifQogICAgICAgICR7dGhpcy5hcnRpc3Q/TWA8ZGl2IGNsYXNzPSJhdWRpby1hcnRpc3QiPiR7dGhpcy5hcnRpc3R9PC9kaXY+YDoiIn0KCiAgICAgICAgJHt0aGlzLndhdmVmb3JtUmVhZHk/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmVmb3JtLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxjYW52YXM+PC9jYW52YXM+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5kdXJhdGlvbj4wP01gCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1iYWRnZS1jb3JuZXIiPiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuZHVyYXRpb24pfTwvZGl2PgogICAgICBgOiIifQoKICAgICAgPGRpdiBjbGFzcz0icGxheS1vdmVybGF5Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LWNpcmNsZSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpQbGF5Ij48L2RlZXMtaWNvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP01gCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkhlYWRwaG9uZXMiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+UGxheSBBdWRpbzwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3NyYzp0aGlzLnNyYyx0aXRsZTp0aGlzLnRpdGxlLGFydGlzdDp0aGlzLmFydGlzdCxkdXJhdGlvbjp0aGlzLmR1cmF0aW9ufX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5oYXNMb2FkZWRXYXZlZm9ybSYmdGhpcy5zcmMmJih0aGlzLmhhc0xvYWRlZFdhdmVmb3JtPSEwLHRoaXMubG9hZEF1ZGlvTWV0YSgpKX1hc3luYyBsb2FkQXVkaW9NZXRhKCl7dGhpcy5sb2FkaW5nPSEwO3RyeXtsZXQgXz1uZXcgQXVkaW87Xy5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixfLnByZWxvYWQ9Im1ldGFkYXRhIixhd2FpdCBuZXcgUHJvbWlzZSgoeixFKT0+e18uYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVkbWV0YWRhdGEiLCgpPT57dGhpcy5kdXJhdGlvbj1fLmR1cmF0aW9uLHooKX0se29uY2U6ITB9KSxfLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+RShuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIGF1ZGlvIikpLHtvbmNlOiEwfSksXy5zcmM9dGhpcy5zcmN9KSxhd2FpdCB0aGlzLmxvYWRXYXZlZm9ybSgpLHRoaXMubG9hZGluZz0hMX1jYXRjaHt0aGlzLmxvYWRpbmc9ITF9fWFzeW5jIGxvYWRXYXZlZm9ybSgpe3RyeXtsZXQgej1hd2FpdChhd2FpdCBmZXRjaCh0aGlzLnNyYykpLmFycmF5QnVmZmVyKCksRT1uZXcgQXVkaW9Db250ZXh0LEw9KGF3YWl0IEUuZGVjb2RlQXVkaW9EYXRhKHopKS5nZXRDaGFubmVsRGF0YSgwKSxWPTgwLEI9TWF0aC5mbG9vcihMLmxlbmd0aC9WKSxVPVtdO2ZvcihsZXQgST0wO0k8VjtJKyspe2xldCB2ZT0wO2ZvcihsZXQgTWU9MDtNZTxCO01lKyspdmUrPU1hdGguYWJzKExbSSpCK01lXSk7VS5wdXNoKHZlL0IpfWxldCBLPU1hdGgubWF4KC4uLlUpO3RoaXMud2F2ZWZvcm1EYXRhPVUubWFwKEk9Pks+MD9JL0s6MCksdGhpcy53YXZlZm9ybVJlYWR5PSEwLGF3YWl0IEUuY2xvc2UoKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuZHJhd1dhdmVmb3JtKCl9Y2F0Y2h7dGhpcy53YXZlZm9ybVJlYWR5PSExfX1kcmF3V2F2ZWZvcm0oKXtpZighdGhpcy53YXZlZm9ybVJlYWR5KXJldHVybjtsZXQgXz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53YXZlZm9ybS1jb250YWluZXIgY2FudmFzIik7aWYoIV8pcmV0dXJuO2xldCB6PV8ucGFyZW50RWxlbWVudCxFPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLFQ9ei5jbGllbnRXaWR0aCxMPXouY2xpZW50SGVpZ2h0O18ud2lkdGg9VCpFLF8uaGVpZ2h0PUwqRTtsZXQgVj1fLmdldENvbnRleHQoIjJkIik7aWYoIVYpcmV0dXJuO1Yuc2NhbGUoRSxFKSxWLmNsZWFyUmVjdCgwLDAsVCxMKTtsZXQgQj10aGlzLndhdmVmb3JtRGF0YS5sZW5ndGg7aWYoQj09PTApcmV0dXJuO2xldCBVPVQvQixJPWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0aGVtZS1kYXJrIil8fHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcz8iaHNsKDI1MCA1MCUgNjAlKSI6ImhzbCgyNTAgNTAlIDcwJSkiO1YuZmlsbFN0eWxlPUk7Zm9yKGxldCB2ZT0wO3ZlPEI7dmUrKyl7bGV0IE1lPXRoaXMud2F2ZWZvcm1EYXRhW3ZlXSxQPU1hdGgubWF4KDIsTWUqKEwtNCkpLGxlPXZlKlUsU2U9KEwtUCkvMjtWLmZpbGxSZWN0KGxlKy41LFNlLFUtMSxQKX19YXN5bmMgdXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pLF8uaGFzKCJzcmMiKSYmdGhpcy5zcmMmJnRoaXMuaXNWaXNpYmxlJiYodGhpcy5oYXNMb2FkZWRXYXZlZm9ybT0hMCx0aGlzLndhdmVmb3JtUmVhZHk9ITEsdGhpcy5kdXJhdGlvbj0wLHRoaXMubG9hZEF1ZGlvTWV0YSgpKSxfLmhhcygid2F2ZWZvcm1SZWFkeSIpJiZ0aGlzLndhdmVmb3JtUmVhZHkmJihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuZHJhd1dhdmVmb3JtKCkpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnByZXZpZXdUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5wcmV2aWV3VGltZW91dCksdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC5wYXVzZSgpLHRoaXMuYXVkaW9FbGVtZW50LnNyYz0iIix0aGlzLmF1ZGlvRWxlbWVudD1udWxsKX1mb3JtYXRUaW1lKF8pe2lmKCFpc0Zpbml0ZShfKXx8XzwwKXJldHVybiIwOjAwIjtsZXQgej1NYXRoLmZsb29yKF8vNjApLEU9TWF0aC5mbG9vcihfJTYwKTtyZXR1cm5gJHt6fToke0UudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1zdGF0aWN7bzEoYSxyKX19O3JldHVybiBxPWF9KSgpfSk7dmFyIHU2cj1mKCgpPT57ZDZyKCl9KTt2YXIgcDZyLGY2cj1mKCgpPT57dWUoKTtwNnI9KCk9Pk1gCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDBweDsKICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgfQogICAgaDMgewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB9CiAgICAudGlsZS1yb3cgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDI0cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlZpZGVvIFRpbGVzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgIDxkZWVzLXRpbGUtdmlkZW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9ImJ1bm55Lm1wNCIKICAgICAgICAgIEB0aWxlLWNsaWNrPSR7ZT0+Y29uc29sZS5sb2coIlZpZGVvIGNsaWNrZWQ6IixlLmRldGFpbCl9CiAgICAgICAgPjwvZGVlcy10aWxlLXZpZGVvPgoKICAgICAgICA8ZGVlcy10aWxlLXZpZGVvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZpZS5tcDQiCiAgICAgICAgICBwb3N0ZXI9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy80MDAvMzAwIgogICAgICAgICAgbGFiZWw9Im1vdmllLm1wNCIKICAgICAgICA+PC9kZWVzLXRpbGUtdmlkZW8+CgogICAgICAgIDxkZWVzLXRpbGUtdmlkZW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9ImFub3RoZXItdmlkZW8ubXA0IgogICAgICAgID48L2RlZXMtdGlsZS12aWRlbz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+U2l6ZSBWYXJpYW50czwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aWxlLXZpZGVvCiAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9InNtYWxsLm1wNCIKICAgICAgICA+PC9kZWVzLXRpbGUtdmlkZW8+CgogICAgICAgIDxkZWVzLXRpbGUtdmlkZW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9ImRlZmF1bHQubXA0IgogICAgICAgID48L2RlZXMtdGlsZS12aWRlbz4KCiAgICAgICAgPGRlZXMtdGlsZS12aWRlbwogICAgICAgICAgc2l6ZT0ibGFyZ2UiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJsYXJnZS5tcDQiCiAgICAgICAgPjwvZGVlcy10aWxlLXZpZGVvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5XaXRoIFBvc3RlciBJbWFnZTwvaDM+CiAgICAgIDxkZWVzLXRpbGUtdmlkZW8KICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZpZS5tcDQiCiAgICAgICAgcG9zdGVyPSJodHRwczovL3BpY3N1bS5waG90b3MvNjAwLzQwMCIKICAgICAgICBsYWJlbD0icG9zdGVyLXZpZGVvLm1wNCIKICAgICAgPjwvZGVlcy10aWxlLXZpZGVvPgogICAgPC9kaXY+CiAgPC9kaXY+CmB9KTt2YXIgSWYsam8saDZyLG02cj1mKCgpPT57dWUoKTtuMygpO09jKCk7ZjZyKCk7SWY9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxqbz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0saDZyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy10aWxlLXZpZGVvIildLHQscj1bXSxhLGk9czEsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W107dmFyIFI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBDPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W3NlKCldLHY9W3NlKCldLHk9W3NlKCldLElmKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4ic3JjImluIFMsZ2V0OlM9PlMuc3JjLHNldDooUyxPKT0+e1Muc3JjPU99fSxtZXRhZGF0YTpDfSxzLG8pLElmKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4icG9zdGVyImluIFMsZ2V0OlM9PlMucG9zdGVyLHNldDooUyxPKT0+e1MucG9zdGVyPU99fSxtZXRhZGF0YTpDfSxsLHUpLElmKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJkdXJhdGlvbiJpbiBTLGdldDpTPT5TLmR1cmF0aW9uLHNldDooUyxPKT0+e1MuZHVyYXRpb249T319LG1ldGFkYXRhOkN9LGgsbSksSWYodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aHVtYm5haWxDYXB0dXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+InRodW1ibmFpbENhcHR1cmVkImluIFMsZ2V0OlM9PlMudGh1bWJuYWlsQ2FwdHVyZWQsc2V0OihTLE8pPT57Uy50aHVtYm5haWxDYXB0dXJlZD1PfX0sbWV0YWRhdGE6Q30sYixnKSxJZih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSG92ZXJpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJpc0hvdmVyaW5nImluIFMsZ2V0OlM9PlMuaXNIb3ZlcmluZyxzZXQ6KFMsTyk9PntTLmlzSG92ZXJpbmc9T319LG1ldGFkYXRhOkN9LHcsayksSWYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Q30sbnVsbCxyKSxSPWE9dC52YWx1ZSxDJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkN9KX1zdGF0aWMgZGVtbz1wNnI7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLlJuLEpgCiAgICAgIC52aWRlby13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogIzAwMDsKICAgICAgfQoKICAgICAgLnZpZGVvLXdyYXBwZXIgdmlkZW8gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnZpZGVvLXdyYXBwZXIgY2FudmFzIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5wb3N0ZXItaW1hZ2UgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKCiAgICAgIC5wbGF5LW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHotaW5kZXg6IDE1OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAucGxheS1vdmVybGF5IGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnRpbGUtY29udGFpbmVyLmNsaWNrYWJsZTpob3ZlciAucGxheS1vdmVybGF5IHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAudmlkZW8taG92ZXItcHJldmlldyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICB6LWluZGV4OiA1OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWRlby1ob3Zlci1wcmV2aWV3LmFjdGl2ZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQogICAgYF07I2U9am8odGhpcyxzLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhDKXt0aGlzLiNlPUN9I3Q9KGpvKHRoaXMsbyksam8odGhpcyxsLCIiKSk7Z2V0IHBvc3Rlcigpe3JldHVybiB0aGlzLiN0fXNldCBwb3N0ZXIoQyl7dGhpcy4jdD1DfSNyPShqbyh0aGlzLHUpLGpvKHRoaXMsaCwwKSk7Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGR1cmF0aW9uKEMpe3RoaXMuI3I9Q30jYT0oam8odGhpcyxtKSxqbyh0aGlzLGIsITEpKTtnZXQgdGh1bWJuYWlsQ2FwdHVyZWQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdGh1bWJuYWlsQ2FwdHVyZWQoQyl7dGhpcy4jYT1DfSNpPShqbyh0aGlzLGcpLGpvKHRoaXMsdywhMSkpO2dldCBpc0hvdmVyaW5nKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGlzSG92ZXJpbmcoQyl7dGhpcy4jaT1DfXRodW1ibmFpbENhbnZhcz0oam8odGhpcyxrKSxudWxsKTtob3ZlclZpZGVvPW51bGw7aGFzU3RhcnRlZExvYWRpbmc9ITE7cmVuZGVyVGlsZUNvbnRlbnQoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0idmlkZW8td3JhcHBlciI+CiAgICAgICAgJHt0aGlzLnBvc3Rlcj9NYAogICAgICAgICAgPGltZyBjbGFzcz0icG9zdGVyLWltYWdlIiBzcmM9IiR7dGhpcy5wb3N0ZXJ9IiBhbHQ9IiIgLz4KICAgICAgICBgOnRoaXMudGh1bWJuYWlsQ2FwdHVyZWQ/TWAKICAgICAgICAgIDxjYW52YXM+PC9jYW52YXM+CiAgICAgICAgYDpNYAogICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZDogIzAwMDsiPjwvZGl2PgogICAgICAgIGB9CgogICAgICAgICR7dGhpcy5pc0hvdmVyaW5nJiZ0aGlzLnNyYz9NYAogICAgICAgICAgPHZpZGVvCiAgICAgICAgICAgIGNsYXNzPSJ2aWRlby1ob3Zlci1wcmV2aWV3ICR7dGhpcy5pc0hvdmVyaW5nPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgLnNyYz0ke3RoaXMuc3JjfQogICAgICAgICAgICBtdXRlZAogICAgICAgICAgICBwbGF5c2lubGluZQogICAgICAgICAgICBAbG9hZGVkZGF0YT0ke3RoaXMuaGFuZGxlSG92ZXJWaWRlb0xvYWRlZH0KICAgICAgICAgID48L3ZpZGVvPgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLmR1cmF0aW9uPjA/TWAKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWJhZGdlLWNvcm5lciI+JHt0aGlzLmZvcm1hdFRpbWUodGhpcy5kdXJhdGlvbil9PC9kaXY+CiAgICAgIGA6IiJ9CgogICAgICAke3RoaXMuaXNIb3ZlcmluZz8iIjpNYAogICAgICAgIDxkaXYgY2xhc3M9InBsYXktb3ZlcmxheSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpQbGF5Ij48L2RlZXMtaWNvbj4KICAgICAgICA8L2Rpdj4KICAgICAgYH0KCiAgICAgICR7dGhpcy5jbGlja2FibGU/TWAKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UGxheSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5QbGF5IFZpZGVvPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1nZXRUaWxlQ2xpY2tEZXRhaWwoKXtyZXR1cm57c3JjOnRoaXMuc3JjLHBvc3Rlcjp0aGlzLnBvc3RlcixkdXJhdGlvbjp0aGlzLmR1cmF0aW9ufX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5oYXNTdGFydGVkTG9hZGluZyYmdGhpcy5zcmMmJih0aGlzLmhhc1N0YXJ0ZWRMb2FkaW5nPSEwLHRoaXMuY2FwdHVyZUZpcnN0RnJhbWUoKSl9YXN5bmMgY2FwdHVyZUZpcnN0RnJhbWUoKXtpZih0aGlzLnBvc3Rlcil7dGhpcy5sb2FkRHVyYXRpb24oKTtyZXR1cm59dGhpcy5sb2FkaW5nPSEwO3RyeXtsZXQgQz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2aWRlbyIpO0MuY3Jvc3NPcmlnaW49ImFub255bW91cyIsQy5tdXRlZD0hMCxDLnByZWxvYWQ9Im1ldGFkYXRhIixhd2FpdCBuZXcgUHJvbWlzZSgoUyxPKT0+e0MuYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVkZGF0YSIsKCk9Pnt0aGlzLmR1cmF0aW9uPUMuZHVyYXRpb24sQy5jdXJyZW50VGltZT0uMSxDLmFkZEV2ZW50TGlzdGVuZXIoInNlZWtlZCIsKCk9PntsZXQgRD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtELndpZHRoPUMudmlkZW9XaWR0aCxELmhlaWdodD1DLnZpZGVvSGVpZ2h0O2xldCBOPUQuZ2V0Q29udGV4dCgiMmQiKTtOJiYoTi5kcmF3SW1hZ2UoQywwLDApLHRoaXMudGh1bWJuYWlsQ2FudmFzPUQsdGhpcy50aHVtYm5haWxDYXB0dXJlZD0hMCksQy5zcmM9IiIsQy5sb2FkKCksUygpfSx7b25jZTohMH0pfSx7b25jZTohMH0pLEMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCgpPT5PKG5ldyBFcnJvcigiRmFpbGVkIHRvIGxvYWQgdmlkZW8iKSkse29uY2U6ITB9KSxDLnNyYz10aGlzLnNyY30pLHRoaXMubG9hZGluZz0hMSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuY29weVRodW1ibmFpbFRvQ2FudmFzKCl9Y2F0Y2h7dGhpcy5sb2FkaW5nPSExLHRoaXMubG9hZER1cmF0aW9uKCl9fWxvYWREdXJhdGlvbigpe2xldCBDPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIik7Qy5wcmVsb2FkPSJtZXRhZGF0YSIsQy5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRtZXRhZGF0YSIsKCk9Pnt0aGlzLmR1cmF0aW9uPUMuZHVyYXRpb24sQy5zcmM9IiIsQy5sb2FkKCl9KSxDLnNyYz10aGlzLnNyY31jb3B5VGh1bWJuYWlsVG9DYW52YXMoKXtpZighdGhpcy50aHVtYm5haWxDYW52YXMpcmV0dXJuO2xldCBDPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnZpZGVvLXdyYXBwZXIgY2FudmFzIik7aWYoIUMpcmV0dXJuO0Mud2lkdGg9dGhpcy50aHVtYm5haWxDYW52YXMud2lkdGgsQy5oZWlnaHQ9dGhpcy50aHVtYm5haWxDYW52YXMuaGVpZ2h0O2xldCBTPUMuZ2V0Q29udGV4dCgiMmQiKTtTJiZTLmRyYXdJbWFnZSh0aGlzLnRodW1ibmFpbENhbnZhcywwLDApfW9uVGlsZU1vdXNlRW50ZXIoKXt0aGlzLmlzSG92ZXJpbmc9ITB9b25UaWxlTW91c2VMZWF2ZSgpe3RoaXMuaXNIb3ZlcmluZz0hMSx0aGlzLmhvdmVyVmlkZW89bnVsbH1oYW5kbGVIb3ZlclZpZGVvTG9hZGVkKEMpe3RoaXMuaG92ZXJWaWRlbz1DLnRhcmdldCx0aGlzLmhvdmVyVmlkZW8ucGxheSgpLmNhdGNoKCgpPT57fSl9YXN5bmMgdXBkYXRlZChDKXtzdXBlci51cGRhdGVkKEMpLEMuaGFzKCJzcmMiKSYmdGhpcy5zcmMmJnRoaXMuaXNWaXNpYmxlJiYodGhpcy5oYXNTdGFydGVkTG9hZGluZz0hMCx0aGlzLnRodW1ibmFpbENhcHR1cmVkPSExLHRoaXMuZHVyYXRpb249MCx0aGlzLmNhcHR1cmVGaXJzdEZyYW1lKCkpLEMuaGFzKCJ0aHVtYm5haWxDYXB0dXJlZCIpJiZ0aGlzLnRodW1ibmFpbENhcHR1cmVkJiYoYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmNvcHlUaHVtYm5haWxUb0NhbnZhcygpKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5ob3ZlclZpZGVvJiYodGhpcy5ob3ZlclZpZGVvLnBhdXNlKCksdGhpcy5ob3ZlclZpZGVvLnNyYz0iIix0aGlzLmhvdmVyVmlkZW89bnVsbCksdGhpcy50aHVtYm5haWxDYW52YXM9bnVsbH1mb3JtYXRUaW1lKEMpe2lmKCFpc0Zpbml0ZShDKXx8QzwwKXJldHVybiIwOjAwIjtsZXQgUz1NYXRoLmZsb29yKEMvNjApLE89TWF0aC5mbG9vcihDJTYwKTtyZXR1cm5gJHtTfToke08udG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1zdGF0aWN7am8oYSxyKX19O3JldHVybiBSPWF9KSgpfSk7dmFyIGc2cj1mKCgpPT57bTZyKCl9KTt2YXIgYjZyLHY2cj1mKCgpPT57dWUoKTtiNnI9KCk9PntsZXQgZT1gaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7CgpleHBvcnQgY2xhc3MgTXlDb21wb25lbnQgewogIHByaXZhdGUgaXRlbXM6IHN0cmluZ1tdID0gW107CgogIHJlbmRlcigpIHsKICAgIHJldHVybiBodG1sXGAKICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICBcJHt0aGlzLml0ZW1zLm1hcChpdGVtID0+IGh0bWxcYAogICAgICAgICAgPHNwYW4+XCR7aXRlbX08L3NwYW4+CiAgICAgICAgXGApfQogICAgICA8L2Rpdj4KICAgIFxgOwogIH0KfWAsdD1gTWVldGluZyBOb3RlcyAtIFE0IFBsYW5uaW5nCkRhdGU6IEphbnVhcnkgMTUsIDIwMjYKQXR0ZW5kZWVzOiBBbGljZSwgQm9iLCBDaGFybGllCgpLZXkgRGVjaXNpb25zOgoxLiBMYXVuY2ggbmV3IGZlYXR1cmUgYnkgTWFyY2gKMi4gSGlyZSAyIG1vcmUgZW5naW5lZXJzCjMuIE1pZ3JhdGUgdG8gbmV3IENJL0NEIHBpcGVsaW5lCjQuIFVwZGF0ZSBkZXNpZ24gc3lzdGVtIHRvIHYzCgpBY3Rpb24gSXRlbXM6Ci0gQWxpY2U6IERyYWZ0IFBSRCBieSBuZXh0IHdlZWsKLSBCb2I6IFNldCB1cCBpbnRlcnZpZXcgcGlwZWxpbmUKLSBDaGFybGllOiBFdmFsdWF0ZSBKZW5raW5zIHZzIEdpdEh1YiBBY3Rpb25zYDtyZXR1cm4gTWAKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICAgIH0KICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgICAgfQogICAgICBoMyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQogICAgICAudGlsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPk5vdGUgVGlsZXM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICAgIDxkZWVzLXRpbGUtbm90ZQogICAgICAgICAgICB0aXRsZT0iY29tcG9uZW50LnRzIgogICAgICAgICAgICAuY29udGVudD0ke2V9CiAgICAgICAgICAgIGxhbmd1YWdlPSJ0eXBlc2NyaXB0IgogICAgICAgICAgICBsYWJlbD0iY29tcG9uZW50LnRzIgogICAgICAgICAgICBAdGlsZS1jbGljaz0ke2E9PmNvbnNvbGUubG9nKCJOb3RlIGNsaWNrZWQ6IixhLmRldGFpbCl9CiAgICAgICAgICA+PC9kZWVzLXRpbGUtbm90ZT4KCiAgICAgICAgICA8ZGVlcy10aWxlLW5vdGUKICAgICAgICAgICAgdGl0bGU9Ik1lZXRpbmcgTm90ZXMiCiAgICAgICAgICAgIC5jb250ZW50PSR7dH0KICAgICAgICAgICAgbGFiZWw9Im1lZXRpbmctbm90ZXMudHh0IgogICAgICAgICAgPjwvZGVlcy10aWxlLW5vdGU+CgogICAgICAgICAgPGRlZXMtdGlsZS1ub3RlCiAgICAgICAgICAgIHRpdGxlPSJwYWNrYWdlLmpzb24iCiAgICAgICAgICAgIC5jb250ZW50PSR7YHsKICAibmFtZSI6ICJAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2ciLAogICJ2ZXJzaW9uIjogIjMuMzguMCIsCiAgImRlc2NyaXB0aW9uIjogIkRlc2lnbiBjb21wb25lbnQgY2F0YWxvZyIsCiAgImRlcGVuZGVuY2llcyI6IHsKICAgICJAZGVzaWduLmVzdGF0ZS9kZWVzLWVsZW1lbnQiOiAiXjIuMC4wIiwKICAgICJsaXQiOiAiXjMuMS4wIgogIH0sCiAgInNjcmlwdHMiOiB7CiAgICAiYnVpbGQiOiAidHNidWlsZCIsCiAgICAidGVzdCI6ICJ0c3Rlc3QiCiAgfQp9YH0KICAgICAgICAgICAgbGFuZ3VhZ2U9Impzb24iCiAgICAgICAgICAgIGxhYmVsPSJwYWNrYWdlLmpzb24iCiAgICAgICAgICA+PC9kZWVzLXRpbGUtbm90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aWxlLW5vdGUKICAgICAgICAgICAgc2l6ZT0ic21hbGwiCiAgICAgICAgICAgIHRpdGxlPSJzbWFsbC50cyIKICAgICAgICAgICAgLmNvbnRlbnQ9JHtlfQogICAgICAgICAgICBsYW5ndWFnZT0idHMiCiAgICAgICAgICAgIGxhYmVsPSJzbWFsbC50cyIKICAgICAgICAgID48L2RlZXMtdGlsZS1ub3RlPgoKICAgICAgICAgIDxkZWVzLXRpbGUtbm90ZQogICAgICAgICAgICB0aXRsZT0iZGVmYXVsdC50cyIKICAgICAgICAgICAgLmNvbnRlbnQ9JHtlfQogICAgICAgICAgICBsYW5ndWFnZT0idHMiCiAgICAgICAgICAgIGxhYmVsPSJkZWZhdWx0LnRzIgogICAgICAgICAgPjwvZGVlcy10aWxlLW5vdGU+CgogICAgICAgICAgPGRlZXMtdGlsZS1ub3RlCiAgICAgICAgICAgIHNpemU9ImxhcmdlIgogICAgICAgICAgICB0aXRsZT0ibGFyZ2UudHMiCiAgICAgICAgICAgIC5jb250ZW50PSR7ZX0KICAgICAgICAgICAgbGFuZ3VhZ2U9InRzIgogICAgICAgICAgICBsYWJlbD0ibGFyZ2UudHMiCiAgICAgICAgICA+PC9kZWVzLXRpbGUtbm90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5XaXRob3V0IFRpdGxlPC9oMz4KICAgICAgICA8ZGVlcy10aWxlLW5vdGUKICAgICAgICAgIC5jb250ZW50PSR7dH0KICAgICAgICAgIGxhYmVsPSJ1bnRpdGxlZC50eHQiCiAgICAgICAgPjwvZGVlcy10aWxlLW5vdGU+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH19KTt2YXIgdXYsUmMseDZyLHk2cj1mKCgpPT57dWUoKTtuMygpO09jKCk7djZyKCk7dXY9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxSYz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0seDZyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy10aWxlLW5vdGUiKV0sdCxyPVtdLGEsaT1zMSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IHc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sZD1bRih7dHlwZTpTdHJpbmd9KV0sdj1bc2UoKV0sdXYodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+InRpdGxlImluIGssZ2V0Oms9PmsudGl0bGUsc2V0OihrLFIpPT57ay50aXRsZT1SfX0sbWV0YWRhdGE6d30scyxvKSx1dih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJjb250ZW50ImluIGssZ2V0Oms9PmsuY29udGVudCxzZXQ6KGssUik9PntrLmNvbnRlbnQ9Un19LG1ldGFkYXRhOnd9LGwsdSksdXYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYW5ndWFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+Imxhbmd1YWdlImluIGssZ2V0Oms9PmsubGFuZ3VhZ2Usc2V0OihrLFIpPT57ay5sYW5ndWFnZT1SfX0sbWV0YWRhdGE6d30saCxtKSx1dih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSG92ZXJpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJpc0hvdmVyaW5nImluIGssZ2V0Oms9PmsuaXNIb3ZlcmluZyxzZXQ6KGssUik9PntrLmlzSG92ZXJpbmc9Un19LG1ldGFkYXRhOnd9LGIsZyksdXYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6d30sbnVsbCxyKSx5PWE9dC52YWx1ZSx3JiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnd9KX1zdGF0aWMgZGVtbz1iNnI7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLlJuLEpgCiAgICAgIC5ub3RlLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiaHNsKDYwIDUlIDk2JSkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLm5vdGUtaGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHggOHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubm90ZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDIwJSAyMCUpIiwiaHNsKDIxNSAyMCUgMjAlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLm5vdGUtYm9keSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiAwIDE0cHggMTRweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLm5vdGUtdGV4dCB7CiAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDEwJSA0MCUpIiwiaHNsKDIxNSAxMCUgMzUlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAubm90ZS1mYWRlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiA2MHB4OwogICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICAgIHRyYW5zcGFyZW50LAogICAgICAgICAgJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCJoc2woNjAgNSUgOTYlKSIpfQogICAgICAgICk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWJhZGdlLXRvcHJpZ2h0Lm5vdGUtbGFuZ3VhZ2UgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDIwJSA5MiUpIiwiaHNsKDIxNSAyMCUgODglKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDUwJSkiLCJoc2woMjE1IDE2JSA0MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgei1pbmRleDogNTsKICAgICAgfQoKICAgICAgLm5vdGUtbGluZXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgd2lkdGg6IDM0cHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDcwJSA4NSUpIiwiaHNsKDAgNTAlIDgwJSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICB9CgogICAgICAubGluZS1udW1iZXIgewogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4OyAvKiBtYXRjaGVzIDEwcHggKiAxLjUgbGluZS1oZWlnaHQgKi8KICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTAlIDc1JSkiLCJoc2woMjE1IDEwJSA3MCUpIil9OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDsKICAgICAgfQoKICAgIGBdOyNlPVJjKHRoaXMscywiIik7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRpdGxlKHcpe3RoaXMuI2U9d30jdD0oUmModGhpcyxvKSxSYyh0aGlzLGwsIiIpKTtnZXQgY29udGVudCgpe3JldHVybiB0aGlzLiN0fXNldCBjb250ZW50KHcpe3RoaXMuI3Q9d30jcj0oUmModGhpcyx1KSxSYyh0aGlzLGgsIiIpKTtnZXQgbGFuZ3VhZ2UoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbGFuZ3VhZ2Uodyl7dGhpcy4jcj13fSNhPShSYyh0aGlzLG0pLFJjKHRoaXMsYiwhMSkpO2dldCBpc0hvdmVyaW5nKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzSG92ZXJpbmcodyl7dGhpcy4jYT13fW5vdGVCb2R5RWxlbWVudD0oUmModGhpcyxnKSxudWxsKTtyZW5kZXJUaWxlQ29udGVudCgpe2xldCB3PXRoaXMuY29udGVudC5zcGxpdChgCmApO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJub3RlLWNvbnRlbnQiPgogICAgICAgICR7dGhpcy5sYW5ndWFnZT9NYAogICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1iYWRnZS10b3ByaWdodCBub3RlLWxhbmd1YWdlIj4ke3RoaXMubGFuZ3VhZ2V9PC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgJHt0aGlzLnRpdGxlP01gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJub3RlLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtdGl0bGUiPiR7dGhpcy50aXRsZX08L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtYm9keSI+CiAgICAgICAgICA8cHJlIGNsYXNzPSJub3RlLXRleHQiPiR7dy5qb2luKGAKYCl9PC9wcmU+CiAgICAgICAgICAke3RoaXMuaXNIb3ZlcmluZz8iIjpNYDxkaXYgY2xhc3M9Im5vdGUtZmFkZSI+PC9kaXY+YH0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLmlzSG92ZXJpbmcmJncubGVuZ3RoPjEyP01gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWJhZGdlLWNvcm5lciI+CiAgICAgICAgICAgIExpbmUgJHt0aGlzLmdldFZpc2libGVMaW5lUmFuZ2Uody5sZW5ndGgpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP01gCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkZpbGVUZXh0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPk9wZW4gTm90ZTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3RpdGxlOnRoaXMudGl0bGUsY29udGVudDp0aGlzLmNvbnRlbnQsbGFuZ3VhZ2U6dGhpcy5sYW5ndWFnZX19b25UaWxlTW91c2VFbnRlcigpe3RoaXMuaXNIb3ZlcmluZz0hMCx0aGlzLm5vdGVCb2R5RWxlbWVudHx8KHRoaXMubm90ZUJvZHlFbGVtZW50PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm5vdGUtYm9keSIpKX1vblRpbGVNb3VzZUxlYXZlKCl7dGhpcy5pc0hvdmVyaW5nPSExLHRoaXMubm90ZUJvZHlFbGVtZW50JiYodGhpcy5ub3RlQm9keUVsZW1lbnQuc2Nyb2xsVG9wPTApfW9uVGlsZU1vdXNlTW92ZSh3KXtpZighdGhpcy5pc0hvdmVyaW5nfHwhdGhpcy5ub3RlQm9keUVsZW1lbnR8fHRoaXMuY29udGVudC5zcGxpdChgCmApLmxlbmd0aDw9MTIpcmV0dXJuO2xldCBSPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksQz13LmNsaWVudFgtUi5sZWZ0LFM9TWF0aC5tYXgoMCxNYXRoLm1pbigxLEMvUi53aWR0aCkpLE89dGhpcy5ub3RlQm9keUVsZW1lbnQuc2Nyb2xsSGVpZ2h0LXRoaXMubm90ZUJvZHlFbGVtZW50LmNsaWVudEhlaWdodDt0aGlzLm5vdGVCb2R5RWxlbWVudC5zY3JvbGxUb3A9UypPfWdldFZpc2libGVMaW5lUmFuZ2Uodyl7aWYoIXRoaXMubm90ZUJvZHlFbGVtZW50KXJldHVybmAxXHUyMDEzMTIgb2YgJHt3fWA7bGV0IGs9MTUsUj1NYXRoLmZsb29yKHRoaXMubm90ZUJvZHlFbGVtZW50LnNjcm9sbFRvcC9rKSsxLEM9TWF0aC5mbG9vcih0aGlzLm5vdGVCb2R5RWxlbWVudC5jbGllbnRIZWlnaHQvayksUz1NYXRoLm1pbihSK0MtMSx3KTtyZXR1cm5gJHtSfVx1MjAxMyR7U30gb2YgJHt3fWB9c3RhdGlje1JjKGEscil9fTtyZXR1cm4geT1hfSkoKX0pO3ZhciB3NnI9ZigoKT0+e3k2cigpfSk7dmFyIE02cixrNnI9ZigoKT0+e3VlKCk7TTZyPSgpPT57bGV0IGU9W3t0eXBlOiJpbWFnZSIsbmFtZToic3Vuc2V0LmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209MSJ9LHt0eXBlOiJpbWFnZSIsbmFtZToibW91bnRhaW4uanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT0yIn0se3R5cGU6ImltYWdlIixuYW1lOiJvY2Vhbi5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTMifSx7dHlwZToiaW1hZ2UiLG5hbWU6ImZvcmVzdC5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTQifSx7dHlwZToiaW1hZ2UiLG5hbWU6ImNpdHkuanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT01In0se3R5cGU6ImltYWdlIixuYW1lOiJkZXNlcnQuanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT02In1dO3JldHVybiBNYAogICAgPHN0eWxlPgogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgICAgfQogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgICB9CiAgICAgIGgzIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CiAgICAgIC50aWxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+Rm9sZGVyIFRpbGVzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aWxlLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJQaG90b3MiCiAgICAgICAgICAgIC5pdGVtcz0ke2V9CiAgICAgICAgICAgIGxhYmVsPSI2IHBob3RvcyIKICAgICAgICAgICAgQHRpbGUtY2xpY2s9JHtuPT5jb25zb2xlLmxvZygiRm9sZGVyIGNsaWNrZWQ6IixuLmRldGFpbCl9CiAgICAgICAgICA+PC9kZWVzLXRpbGUtZm9sZGVyPgoKICAgICAgICAgIDxkZWVzLXRpbGUtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9Im15LXByb2plY3QiCiAgICAgICAgICAgIC5pdGVtcz0ke1t7dHlwZToibm90ZSIsbmFtZToiUkVBRE1FLm1kIn0se3R5cGU6Im5vdGUiLG5hbWU6InBhY2thZ2UuanNvbiJ9LHt0eXBlOiJmb2xkZXIiLG5hbWU6InNyYyJ9LHt0eXBlOiJmb2xkZXIiLG5hbWU6InRlc3QifSx7dHlwZToibm90ZSIsbmFtZToidHNjb25maWcuanNvbiJ9LHt0eXBlOiJwZGYiLG5hbWU6ImRvY3MucGRmIn0se3R5cGU6ImltYWdlIixuYW1lOiJsb2dvLnBuZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMTAwLzEwMD9yYW5kb209MTAifV19CiAgICAgICAgICAgIGxhYmVsPSJQcm9qZWN0IGZpbGVzIgogICAgICAgICAgPjwvZGVlcy10aWxlLWZvbGRlcj4KCiAgICAgICAgICA8ZGVlcy10aWxlLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJNZWRpYSBBc3NldHMiCiAgICAgICAgICAgIC5pdGVtcz0ke1t7dHlwZToidmlkZW8iLG5hbWU6ImludHJvLm1wNCJ9LHt0eXBlOiJhdWRpbyIsbmFtZToiYmFja2dyb3VuZC5tcDMifSx7dHlwZToiaW1hZ2UiLG5hbWU6InRodW1ibmFpbC5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTIwIn0se3R5cGU6InBkZiIsbmFtZToic3Rvcnlib2FyZC5wZGYifV19CiAgICAgICAgICAgIGxhYmVsPSJNaXhlZCBtZWRpYSIKICAgICAgICAgID48L2RlZXMtdGlsZS1mb2xkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+RWRnZSBDYXNlczwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgICAgPGRlZXMtdGlsZS1mb2xkZXIKICAgICAgICAgICAgbmFtZT0iRW1wdHkgRm9sZGVyIgogICAgICAgICAgICAuaXRlbXM9JHtbXX0KICAgICAgICAgID48L2RlZXMtdGlsZS1mb2xkZXI+CgogICAgICAgICAgPGRlZXMtdGlsZS1mb2xkZXIKICAgICAgICAgICAgbmFtZT0iU2luZ2xlIEl0ZW0iCiAgICAgICAgICAgIC5pdGVtcz0ke1t7dHlwZToicGRmIixuYW1lOiJyZXBvcnQucGRmIn1dfQogICAgICAgICAgPjwvZGVlcy10aWxlLWZvbGRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aWxlLWZvbGRlcgogICAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgICAgbmFtZT0iU21hbGwiCiAgICAgICAgICAgIC5pdGVtcz0ke2V9CiAgICAgICAgICA+PC9kZWVzLXRpbGUtZm9sZGVyPgoKICAgICAgICAgIDxkZWVzLXRpbGUtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9IkRlZmF1bHQiCiAgICAgICAgICAgIC5pdGVtcz0ke2V9CiAgICAgICAgICA+PC9kZWVzLXRpbGUtZm9sZGVyPgoKICAgICAgICAgIDxkZWVzLXRpbGUtZm9sZGVyCiAgICAgICAgICAgIHNpemU9ImxhcmdlIgogICAgICAgICAgICBuYW1lPSJMYXJnZSIKICAgICAgICAgICAgLml0ZW1zPSR7ZX0KICAgICAgICAgID48L2RlZXMtdGlsZS1mb2xkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH19KTt2YXIgc3VlLHB2LFM2cix6NnIsQzZyPWYoKCk9Pnt1ZSgpO24zKCk7T2MoKTtrNnIoKTtzdWU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxwdj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sUzZyPXtwZGY6Imx1Y2lkZTpGaWxlVGV4dCIsaW1hZ2U6Imx1Y2lkZTpJbWFnZSIsYXVkaW86Imx1Y2lkZTpNdXNpYyIsdmlkZW86Imx1Y2lkZTpWaWRlbyIsbm90ZToibHVjaWRlOkZpbGVDb2RlIixmb2xkZXI6Imx1Y2lkZTpGb2xkZXIiLHVua25vd246Imx1Y2lkZTpGaWxlIn0sejZyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy10aWxlLWZvbGRlciIpXSx0LHI9W10sYSxpPXMxLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgaD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOlN0cmluZ30pXSxjPVtGKHthdHRyaWJ1dGU6ITF9KV0sc3VlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+Im5hbWUiaW4gbSxnZXQ6bT0+bS5uYW1lLHNldDoobSx2KT0+e20ubmFtZT12fX0sbWV0YWRhdGE6aH0scyxvKSxzdWUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+Iml0ZW1zImluIG0sZ2V0Om09Pm0uaXRlbXMsc2V0OihtLHYpPT57bS5pdGVtcz12fX0sbWV0YWRhdGE6aH0sbCx1KSxzdWUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6aH0sbnVsbCxyKSxkPWE9dC52YWx1ZSxoJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmh9KX1zdGF0aWMgZGVtbz1NNnI7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLlJuLEpgCiAgICAgIC5mb2xkZXItY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCg0MCAzMCUgOTclKSIsImhzbCgyMTUgMjAlIDE0JSkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmZvbGRlci1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHggOHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZm9sZGVyLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCg0MCA4MCUgNTAlKSIsImhzbCg0MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmZvbGRlci1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMjAlIDIwJSkiLCJoc2woMjE1IDE2JSA4MCUpIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAucHJldmlldy1ncmlkIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAwIDE0cHggMTRweDsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuZ3JpZC1jZWxsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTUgMjAlIDk0JSkiLCJoc2woMjE1IDIwJSAxOCUpIil9OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmdyaWQtY2VsbCBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmdyaWQtY2VsbCBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgMTYlIDYwJSkiLCJoc2woMjE1IDE2JSA1NSUpIil9OwogICAgICB9CgogICAgICAuZ3JpZC1jZWxsLWVtcHR5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAxNSUgOTYlKSIsImhzbCgyMTUgMjAlIDE2JSkiKX07CiAgICAgIH0KCiAgICBgXTsjZT1wdih0aGlzLHMsIiIpO2dldCBuYW1lKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG5hbWUoaCl7dGhpcy4jZT1ofSN0PShwdih0aGlzLG8pLHB2KHRoaXMsbCxbXSkpO2dldCBpdGVtcygpe3JldHVybiB0aGlzLiN0fXNldCBpdGVtcyhoKXt0aGlzLiN0PWh9cmVuZGVyVGlsZUNvbnRlbnQoKXtsZXQgaD10aGlzLml0ZW1zLnNsaWNlKDAsNCksbT00LWgubGVuZ3RoO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJmb2xkZXItY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9sZGVyLWhlYWRlciI+CiAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJmb2xkZXItaWNvbiIgaWNvbj0ibHVjaWRlOkZvbGRlciI+PC9kZWVzLWljb24+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xkZXItbmFtZSI+JHt0aGlzLm5hbWV8fCJVbnRpdGxlZCBGb2xkZXIifTwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWdyaWQiPgogICAgICAgICAgJHtoLm1hcCh2PT5NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWNlbGwiPgogICAgICAgICAgICAgICR7di50aHVtYm5haWxTcmM/TWAKICAgICAgICAgICAgICAgIDxpbWcgc3JjPSIke3YudGh1bWJuYWlsU3JjfSIgYWx0PSIke3YubmFtZX0iIC8+CiAgICAgICAgICAgICAgYDpNYAogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSIke1M2clt2LnR5cGVdfHxTNnIudW5rbm93bn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIGB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgICAke0FycmF5LmZyb20oe2xlbmd0aDptfSkubWFwKCgpPT5NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWNlbGwgZ3JpZC1jZWxsLWVtcHR5Ij48L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InRpbGUtYmFkZ2UtY29ybmVyIj4KICAgICAgICAke3RoaXMuaXRlbXMubGVuZ3RofSBpdGVtJHt0aGlzLml0ZW1zLmxlbmd0aCE9PTE/InMiOiIifQogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jbGlja2FibGU/TWAKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Rm9sZGVyT3BlbiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5PcGVuIEZvbGRlcjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue25hbWU6dGhpcy5uYW1lLGl0ZW1Db3VudDp0aGlzLml0ZW1zLmxlbmd0aCxpdGVtczp0aGlzLml0ZW1zfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykscHYodGhpcyx1KX1zdGF0aWN7cHYoYSxyKX19O3JldHVybiBkPWF9KSgpfSk7dmFyIFQ2cj1mKCgpPT57QzZyKCl9KTt2YXIgXzZyPWYoKCk9Pnt3ZHIoKTt6ZHIoKTtMZHIoKTtCZHIoKTtWZHIoKTtRZHIoKTtKZHIoKTtLZHIoKTtlNnIoKTt0NnIoKTtzNnIoKTt1NnIoKTtnNnIoKTt3NnIoKTtUNnIoKX0pO3ZhciBMNnI9ZigoKT0+e01pKCl9KTt2YXIgJDZyPWYoKCk9PntaNigpfSk7dmFyIEQ2cixBNnI9ZigoKT0+e3VlKCk7RDZyPSgpPT5NYAogICAgPHN0eWxlPgogICAgICAucmVmMSB7CiAgICAgICAgbWFyZ2luOiAyMHB4OwogICAgICAgIHdpZHRoOiAxMHB4OwogICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJyZWYxIj48L2Rpdj4KICAgIDxkZWVzLXNwZWVjaGJ1YmJsZSAudGV4dD0ke2AKICAgICAgKipUaGlzIGlzIGEgbG9uZ2VyIG1hcmtkb3duIHRleHQgdGhhdCAgY2FuIGJlIHVzZWQgdGhlIHdyaXRlKiogIAogICAgICBhIGxvbmdlciBkZXNjcmlwdGlvbiBhYm91dCB3aGF0cyBnb2luZyBvbiB0aGUgYXBwICAKICAKICAgICAgKipUaGlzIGlzIGEgc3ViaGVhZGVyKioKICAgICAgYW5kIGFub3RoZXIgdGV4dAogICAgCiAgICBgfT48L2RlZXMtc3BlZWNoYnViYmxlPgogIGB9KTt2YXIgUGYsVm8sRTZyLEk2cj1mKCgpPT57QnMoKTt3aSgpO0E2cigpO3VlKCk7a2MoKTtRZSgpO1BmPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sVm89ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LEU2cj0oKCk9PntsZXQgZT1bcmUoImRlZXMtc3BlZWNoYnViYmxlIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W107dmFyIFI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBDPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6T2JqZWN0fSldLGM9W0Yoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sZD1bRih7dHlwZTpCb29sZWFufSldLHY9W0Yoe3R5cGU6Qm9vbGVhbn0pXSx5PVtGKHt0eXBlOlN0cmluZ30pXSxQZih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZmZlZEVsZW1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJyZWZmZWRFbGVtZW50ImluIFMsZ2V0OlM9PlMucmVmZmVkRWxlbWVudCxzZXQ6KFMsTyk9PntTLnJlZmZlZEVsZW1lbnQ9T319LG1ldGFkYXRhOkN9LHMsbyksUGYodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0ZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4idGV4dCJpbiBTLGdldDpTPT5TLnRleHQsc2V0OihTLE8pPT57Uy50ZXh0PU99fSxtZXRhZGF0YTpDfSxsLHUpLFBmKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2F2ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+IndhdmUiaW4gUyxnZXQ6Uz0+Uy53YXZlLHNldDooUyxPKT0+e1Mud2F2ZT1PfX0sbWV0YWRhdGE6Q30saCxtKSxQZih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1hbmlmZXN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJtYW5pZmVzdGVkImluIFMsZ2V0OlM9PlMubWFuaWZlc3RlZCxzZXQ6KFMsTyk9PntTLm1hbmlmZXN0ZWQ9T319LG1ldGFkYXRhOkN9LGIsZyksUGYodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJzdGF0dXMiaW4gUyxnZXQ6Uz0+Uy5zdGF0dXMsc2V0OihTLE8pPT57Uy5zdGF0dXM9T319LG1ldGFkYXRhOkN9LHcsayksUGYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Q30sbnVsbCxyKSxSPWE9dC52YWx1ZSxDJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkN9KX1zdGF0aWMgZGVtbz1ENnI7c3RhdGljIGRlbW9Hcm91cHM9WyJPdmVybGF5Il07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coQyxTKXtsZXQgTz1hd2FpdCBPcy5jcmVhdGVBbmRTaG93KHtibHVyOiExfSksRD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLXNwZWVjaGJ1YmJsZSIpO3JldHVybiBELndpbmRvd0xheWVyPU8sRC5yZWZmZWRFbGVtZW50PUMsRC50ZXh0PVMsRC5tYW5pZmVzdGVkPSEwLE8uYXBwZW5kQ2hpbGQoRCksTy5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixPLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLndpbmRvd092ZXJsYXkiKS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixEfSNlPVZvKHRoaXMscyx2b2lkIDApO2dldCByZWZmZWRFbGVtZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlZmZlZEVsZW1lbnQoQyl7dGhpcy4jZT1DfSN0PShWbyh0aGlzLG8pLFZvKHRoaXMsbCx2b2lkIDApKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCB0ZXh0KEMpe3RoaXMuI3Q9Q30jcj0oVm8odGhpcyx1KSxWbyh0aGlzLGgsITEpKTtnZXQgd2F2ZSgpe3JldHVybiB0aGlzLiNyfXNldCB3YXZlKEMpe3RoaXMuI3I9Q30jYT0oVm8odGhpcyxtKSxWbyh0aGlzLGIsITEpKTtnZXQgbWFuaWZlc3RlZCgpe3JldHVybiB0aGlzLiNhfXNldCBtYW5pZmVzdGVkKEMpe3RoaXMuI2E9Q30jaT0oVm8odGhpcyxnKSxWbyh0aGlzLHcsIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHN0YXR1cyhDKXt0aGlzLiNpPUN9d2luZG93TGF5ZXI9Vm8odGhpcyxrKTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9c3RhdGljIHN0eWxlcz1bRGUscC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yczsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgICAgICBtYXJnaW4tbGVmdDogMHB4OwogICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDBweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICB9CgogICAgICAuYXJyb3cgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmYiLCIjMzMzIil9OwogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICB3aWR0aDogMTVweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgICAgdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLnNwZWVjaGJ1YmJsZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmYiLCIjMzMzIil9OwogICAgICAgIHBhZGRpbmc6IDBweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWluLXdpZHRoOiAyNDBweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogOHB4OwogICAgICB9CgogICAgICAud2F2ZSB7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHdhdmUtYW5pbWF0aW9uOyAvKiBSZWZlcnMgdG8gdGhlIG5hbWUgb2YgeW91ciBAa2V5ZnJhbWVzIGVsZW1lbnQgYmVsb3cgKi8KICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDIuNXM7IC8qIENoYW5nZSB0byBzcGVlZCB1cCBvciBzbG93IGRvd24gKi8KICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgLyogTmV2ZXIgc3RvcCB3YXZpbmcgOikgKi8KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA3MCUgNzAlOyAvKiBQaXZvdCBhcm91bmQgdGhlIGJvdHRvbS1sZWZ0IHBhbG0gKi8KICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgd2F2ZS1hbmltYXRpb24gewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIH0KICAgICAgICAxMCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTRkZWcpOwogICAgICAgIH0gLyogVGhlIGZvbGxvd2luZyBmaXZlIHZhbHVlcyBjYW4gYmUgcGxheWVkIHdpdGggdG8gbWFrZSB0aGUgd2F2aW5nIG1vcmUgb3IgbGVzcyBleHRyZW1lICovCiAgICAgICAgMjAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC04ZGVnKTsKICAgICAgICB9CiAgICAgICAgMzAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE0ZGVnKTsKICAgICAgICB9CiAgICAgICAgNDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00ZGVnKTsKICAgICAgICB9CiAgICAgICAgNTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIH0gLyogUmVzZXQgZm9yIHRoZSBsYXN0IGhhbGYgdG8gcGF1c2UgKi8KICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgICR7dGhpcy5tYW5pZmVzdGVkP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiIEBjbGljaz0ke3RoaXMuaGFuZGxlQ2xpY2t9PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVlY2hidWJibGUiPgogICAgICAgICAgICAgICAgJHt0aGlzLndhdmU/TWA8c3BhbiBjbGFzcz0id2F2ZSI+8J+Rizwvc3Bhbj5gOk1gYH0KICAgICAgICAgICAgICAgICR7RnMucmVzb2x2ZSh0aGlzLmdldEh0bWwoKSl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDpNYGB9CiAgICBgfWFzeW5jIGhhbmRsZUNsaWNrKCl7Y29uc29sZS5sb2coInNwZWVjaGJ1YmJsZSBnb3QgY2xpY2tlZC4iKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZih0aGlzLnJlZmZlZEVsZW1lbnR8fCh0aGlzLnJlZmZlZEVsZW1lbnQ9dGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSx0aGlzLm1hbmlmZXN0ZWQpYXdhaXQgdGhpcy51cGRhdGVQb3NpdGlvbigpLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubWFpbmNvbnRhaW5lciIpLnN0eWxlLm9wYWNpdHk9IjEiO2Vsc2V7bGV0IEM7dGhpcy5yZWZmZWRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGFzeW5jKCk9PntDPWF3YWl0IFIuY3JlYXRlQW5kU2hvdyh0aGlzLnJlZmZlZEVsZW1lbnQsdGhpcy50ZXh0KX0pLHRoaXMucmVmZmVkRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e0MuZGVzdHJveSgpfSl9fWFzeW5jIHVwZGF0ZVBvc2l0aW9uKCl7bGV0IEM9dGhpcy5yZWZmZWRFbGVtZW50LFM9Qy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdGhpcy5zdHlsZS50b3A9YCR7Uy50b3AtMTN9cHhgLHRoaXMuc3R5bGUubGVmdD1gJHtTLmxlZnQrQy5jbGllbnRXaWR0aCs0fXB4YCxTLnJpZ2h0PjI1MCYmKHRoaXMuc3R5bGUud2lkdGg9IjI1MHB4Iil9YXN5bmMgZ2V0SHRtbCgpe2lmKCF0aGlzLnRleHQpcmV0dXJuIiI7bGV0IEM9U3QucGx1Z2lucy5zbWFydHN0cmluZy5ub3JtYWxpemUuc3RhbmRhcmQodGhpcy50ZXh0KSxTPWF3YWl0IFN0LnBsdWdpbnMuc21hcnRtYXJrZG93bi5TbWFydE1hcmtkb3duLmVhc3lNYXJrZG93blRvSHRtbChDKTtyZXR1cm4gVyQoUyl9YXN5bmMgc2hvdygpe31hc3luYyBkZXN0cm95KCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluY29udGFpbmVyIikuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCl9c3RhdGlje1ZvKGEscil9fTtyZXR1cm4gUj1hfSkoKX0pO3ZhciBQNnI9ZigoKT0+e0k2cigpfSk7dmFyIE42cj1mKCgpPT57a2MoKX0pO3ZhciBGNnI9ZigoKT0+e0w2cigpOyQ2cigpO1A2cigpO042cigpfSk7dmFyIE82cj1mKCgpPT57fSk7dmFyIFI2cj1mKCgpPT57TzZyKCl9KTt2YXIgQjZyLGpGLFZGLG91ZSxINnIsVUYsV0YsR0YsWUY9ZigoKT0+e0I2cj0iaHR0cHM6Ly9zdGFja2JsaXR6LmNvbSIsakY9ImNvZGUiLFZGPSJlcnJvciIsb3VlPSJlcnJvcl9kZXNjcmlwdGlvbiIsSDZyPSJfX3djX2FwaV9iY19fIixVRj0iX193Y19hcGlfdG9rZW5zX18iLFdGPSJfX3djX2FwaV92ZXJpZmllcl9fIixHRj0iX193Y19hcGlfcG9wdXBfXyJ9KTt2YXIgZnUsbHVlPWYoKCk9PntmdT1jbGFzc3tfYnVzPW5ldyBFdmVudFRhcmdldDtsaXN0ZW4odCl7ZnVuY3Rpb24gcihhKXt0KGEuZGF0YSl9cmV0dXJuIHRoaXMuX2J1cy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixyKSwoKT0+dGhpcy5fYnVzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHIpfWZpcmVFdmVudCh0KXt0aGlzLl9idXMuZGlzcGF0Y2hFdmVudChuZXcgTWVzc2FnZUV2ZW50KCJtZXNzYWdlIix7ZGF0YTp0fSkpfX19KTtmdW5jdGlvbiBaRigpe2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFVGKX1mdW5jdGlvbiBXNnIoZSl7cmV0dXJuIGo2ci5saXN0ZW4oZSl9ZnVuY3Rpb24gZ0pyKCl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oVUYpO2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaHtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gYkpyKGUpe2xvY2FsU3RvcmFnZS5zZXRJdGVtKFVGLEpTT04uc3RyaW5naWZ5KGUpKX1mdW5jdGlvbiBWNnIoe2NyZWF0ZWRfYXQ6ZSxleHBpcmVzX2luOnR9KXtyZXR1cm4oZSt0KSoxZTN9ZnVuY3Rpb24gVTZyKGUpe2lmKHR5cGVvZiBlIT0ib2JqZWN0Inx8IWUpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFRva2VuIFJlc3BvbnNlIik7aWYodHlwZW9mIGUuYWNjZXNzX3Rva2VuIT0ic3RyaW5nInx8dHlwZW9mIGUucmVmcmVzaF90b2tlbiE9InN0cmluZyJ8fHR5cGVvZiBlLmNyZWF0ZWRfYXQhPSJudW1iZXIifHx0eXBlb2YgZS5leHBpcmVzX2luIT0ibnVtYmVyIil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVG9rZW4gUmVzcG9uc2UiKX1mdW5jdGlvbiB2SnIoZSl7cmV0dXJuIG5ldyBQcm9taXNlKHQ9PnNldFRpbWVvdXQodCxlKSl9ZnVuY3Rpb24geEpyKGUpe2o2ci5maXJlRXZlbnQoZSl9dmFyIHE2cixqNnIsTmYsY3VlPWYoKCk9PntZRigpO2x1ZSgpO3E2cj1uZXcgRXJyb3I7cTZyLnN0YWNrPSIiO2o2cj1uZXcgZnUsTmY9Y2xhc3MgZXtvcmlnaW47cmVmcmVzaDthY2Nlc3M7ZXhwaXJlcztfcmV2b2tlZD1uZXcgQWJvcnRDb250cm9sbGVyO2NvbnN0cnVjdG9yKHQscixhLGkpe3RoaXMub3JpZ2luPXQsdGhpcy5yZWZyZXNoPXIsdGhpcy5hY2Nlc3M9YSx0aGlzLmV4cGlyZXM9aX1hc3luYyBhY3RpdmF0ZSh0KXtpZih0aGlzLl9yZXZva2VkLnNpZ25hbC5hYm9ydGVkKXRocm93IG5ldyBFcnJvcigiVG9rZW4gcmV2b2tlZCIpO3JldHVybiB0aGlzLmV4cGlyZXM8RGF0ZS5ub3coKSYmIWF3YWl0IHRoaXMuX2ZldGNoTmV3QWNjZXNzVG9rZW4oKT8hMToodGhpcy5fc3luYygpLHRoaXMuX3N0YXJ0UmVmcmVzaFRva2Vuc0xvb3AodCksITApfWFzeW5jIHJldm9rZSh0LHIpe3RoaXMuX3Jldm9rZWQuYWJvcnQoKTt0cnl7aWYoIShhd2FpdCBmZXRjaChgJHt0aGlzLm9yaWdpbn0vb2F1dGgvcmV2b2tlYCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTpuZXcgVVJMU2VhcmNoUGFyYW1zKHt0b2tlbjp0aGlzLnJlZnJlc2gsdG9rZW5fdHlwZV9oaW50OiJyZWZyZXNoX3Rva2VuIixjbGllbnRfaWQ6dH0pLG1vZGU6ImNvcnMifSkpLm9rKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGxvZ291dCIpfWNhdGNoKGEpe2lmKCFyKXRocm93IGF9WkYoKX1zdGF0aWMgZnJvbVN0b3JhZ2UoKXtsZXQgdD1nSnIoKTtyZXR1cm4gdD9uZXcgZSh0Lm9yaWdpbix0LnJlZnJlc2gsdC5hY2Nlc3MsdC5leHBpcmVzKTpudWxsfXN0YXRpYyBhc3luYyBmcm9tQXV0aENvZGUoe2VkaXRvck9yaWdpbjp0LGNsaWVudElkOnIsY29kZVZlcmlmaWVyOmEsYXV0aENvZGU6aSxyZWRpcmVjdFVyaTpufSl7bGV0IHM9YXdhaXQgZmV0Y2goYCR7dH0vb2F1dGgvdG9rZW5gLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSxib2R5Om5ldyBVUkxTZWFyY2hQYXJhbXMoe2NsaWVudF9pZDpyLGNvZGU6aSxjb2RlX3ZlcmlmaWVyOmEsZ3JhbnRfdHlwZToiYXV0aG9yaXphdGlvbl9jb2RlIixyZWRpcmVjdF91cmk6bn0pLG1vZGU6ImNvcnMifSk7aWYoIXMub2spdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggdG9rZW46ICR7cy5zdGF0dXN9YCk7bGV0IG89YXdhaXQgcy5qc29uKCk7VTZyKG8pO2xldHthY2Nlc3NfdG9rZW46YyxyZWZyZXNoX3Rva2VuOmx9PW8sdT1WNnIobyk7cmV0dXJuIG5ldyBlKHQsbCxjLHUpfWFzeW5jIF9mZXRjaE5ld0FjY2Vzc1Rva2VuKCl7dHJ5e2xldCB0PWF3YWl0IGZldGNoKGAke3RoaXMub3JpZ2lufS9vYXV0aC90b2tlbmAse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9LGJvZHk6bmV3IFVSTFNlYXJjaFBhcmFtcyh7Z3JhbnRfdHlwZToicmVmcmVzaF90b2tlbiIscmVmcmVzaF90b2tlbjp0aGlzLnJlZnJlc2h9KSxtb2RlOiJjb3JzIixzaWduYWw6dGhpcy5fcmV2b2tlZC5zaWduYWx9KTtpZighdC5vayl0aHJvdyBxNnI7bGV0IHI9YXdhaXQgdC5qc29uKCk7VTZyKHIpO2xldHthY2Nlc3NfdG9rZW46YSxyZWZyZXNoX3Rva2VuOml9PXIsbj1WNnIocik7cmV0dXJuIHRoaXMuYWNjZXNzPWEsdGhpcy5leHBpcmVzPW4sdGhpcy5yZWZyZXNoPWksITB9Y2F0Y2h7cmV0dXJuIFpGKCksITF9fV9zeW5jKCl7YkpyKHRoaXMpLHhKcih0aGlzLmFjY2Vzcyl9YXN5bmMgX3N0YXJ0UmVmcmVzaFRva2Vuc0xvb3AodCl7Zm9yKDs7KXtsZXQgcj10aGlzLmV4cGlyZXMtRGF0ZS5ub3coKS0xZTM7aWYoYXdhaXQgdkpyKE1hdGgubWF4KHIsMWUzKSksdGhpcy5fcmV2b2tlZC5zaWduYWwuYWJvcnRlZClyZXR1cm47aWYoIXRoaXMuX2ZldGNoTmV3QWNjZXNzVG9rZW4oKSl7dCgpO3JldHVybn10aGlzLl9zeW5jKCl9fX19KTt2YXIgZHVlLFhGLEJjLHV1ZT1mKCgpPT57WUYoKTtkdWU9e30sWEY9bnVsbCxCYz17Z2V0IGVkaXRvck9yaWdpbigpe3JldHVybiBYRj09bnVsbCYmKFhGPW5ldyBVUkwoZ2xvYmFsVGhpcy5XRUJDT05UQUlORVJfQVBJX0lGUkFNRV9VUkw/P0I2cikub3JpZ2luKSxYRn0sc2V0IGVkaXRvck9yaWdpbihlKXtYRj1uZXcgVVJMKGUpLm9yaWdpbn0sc2V0UXVlcnlQYXJhbShlLHQpe2R1ZVtlXT10fSxnZXQgdXJsKCl7bGV0IGU9bmV3IFVSTCh0aGlzLmVkaXRvck9yaWdpbik7ZS5wYXRobmFtZT0iL2hlYWRsZXNzIjtmb3IobGV0IHQgaW4gZHVlKWUuc2VhcmNoUGFyYW1zLnNldCh0LGR1ZVt0XSk7cmV0dXJuIGUuc2VhcmNoUGFyYW1zLnNldCgidmVyc2lvbiIsIjEuNi4xIiksZX19fSk7YXN5bmMgZnVuY3Rpb24gRzZyKGUpe2xldCB0PW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShlKSxyPW5ldyBVaW50OEFycmF5KGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2Iix0KSk7cmV0dXJuIGJ0b2Eoci5yZWR1Y2UoKGEsaSk9PmErU3RyaW5nLmZyb21Db2RlUG9pbnQoaSksIiIpKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpfWZ1bmN0aW9uIFk2cigpe2xldCBlPW5ldyBVaW50OEFycmF5KDk2KTtjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGUpO2xldCB0PSIiO2ZvcihsZXQgcj0wO3I8MzI7KytyKXQrPXlKcihlWzMqciswXSxlWzMqcisxXSxlWzMqcisyXSk7cmV0dXJuIHR9ZnVuY3Rpb24geUpyKGUsdCxyKXtsZXQgYT1lPj4yLGk9KGUmMyk8PDR8dD4+NCxuPXQmMTV8KHImMTkyKT4+MixzPXImNjM7cmV0dXJuW2EsaSxuLHNdLm1hcCh3SnIpLmpvaW4oIiIpfWZ1bmN0aW9uIHdKcihlKXtsZXQgdDtyZXR1cm4gZTwyNj90PWUrNjU6ZTw1Mj90PWUtMjYrOTc6ZTw2Mj90PWUtNTIrNDg6dD1lPT09NjI/MzA6NDUsU3RyaW5nLmZyb21DaGFyQ29kZSh0KX12YXIgWjZyPWYoKCk9Pnt9KTtmdW5jdGlvbiBYNnIoKXtsZXQgZSx0O2Z1bmN0aW9uIHIoKXt0PW5ldyBQcm9taXNlKGE9PmU9YSl9cmV0dXJuIHIoKSx7Z2V0IHByb21pc2UoKXtyZXR1cm4gdH0scmVzb2x2ZShhKXtyZXR1cm4gZShhKX0scmVzZXQ6cn19dmFyIFE2cj1mKCgpPT57fSk7ZnVuY3Rpb24gZnYoZSl7RnQuYnJvYWRjYXN0Q2hhbm5lbCYmKEZ0LmJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UoZSksbG9jYWxTdG9yYWdlLmdldEl0ZW0oR0YpPT09InRydWUiJiZlLnR5cGUhPT0iYXV0aC1sb2dvdXQiJiYobG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oR0YpLHNldFRpbWVvdXQoKCk9Pnt3aW5kb3cuY2xvc2UoKX0pKSl9ZnVuY3Rpb24gcHVlKCl7aHUuZmlyZUV2ZW50KCksZnYoe3R5cGU6ImF1dGgtbG9nb3V0In0pfWZ1bmN0aW9uIEs2cigpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1hc3luYyBmdW5jdGlvbiBldXIoKXtsZXQgZT1ZNnIoKTtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShXRixlKTtsZXQgdD1hd2FpdCBHNnIoZSkscj1uZXcgVVJMKCIvb2F1dGgvYXV0aG9yaXplIixGdC5lZGl0b3JPcmlnaW4pLHtzZWFyY2hQYXJhbXM6YX09cjtyZXR1cm4gYS5hcHBlbmQoInJlc3BvbnNlX3R5cGUiLCJjb2RlIiksYS5hcHBlbmQoImNsaWVudF9pZCIsRnQuY2xpZW50SWQpLGEuYXBwZW5kKCJyZWRpcmVjdF91cmkiLEs2cigpKSxhLmFwcGVuZCgic2NvcGUiLEZ0Lm9hdXRoU2NvcGUpLGEuYXBwZW5kKCJjb2RlX2NoYWxsZW5nZSIsdCksYS5hcHBlbmQoImNvZGVfY2hhbGxlbmdlX21ldGhvZCIsIlMyNTYiKSxyLnRvU3RyaW5nKCl9ZnVuY3Rpb24gZnVlKGUpe2lmKCFlKXRocm93IG5ldyBFcnJvcigiT29wcyEgVG9rZW5zIGlzIG5vdCBkZWZpbmVkIHdoZW4gaXQgYWx3YXlzIHNob3VsZCBiZS4iKX12YXIgRnQsSjZyLGh1LHR1cixodWU9ZigoKT0+e2N1ZSgpO1lGKCk7dXVlKCk7WjZyKCk7UTZyKCk7bHVlKCk7RnQ9e2luaXRpYWxpemVkOiExLGJvb3RDYWxsZWQ6ITEsYXV0aENvbXBsZXRlOlg2cigpLGNsaWVudElkOiIiLG9hdXRoU2NvcGU6IiIsYnJvYWRjYXN0Q2hhbm5lbDpudWxsLGdldCBlZGl0b3JPcmlnaW4oKXtyZXR1cm4gQmMuZWRpdG9yT3JpZ2lufSx0b2tlbnM6bnVsbH0sSjZyPW5ldyBmdSxodT1uZXcgZnU7dHVyPXtpbml0KHtlZGl0b3JPcmlnaW46ZSxjbGllbnRJZDp0LHNjb3BlOnJ9KXtpZihGdC5pbml0aWFsaXplZCl0aHJvdyBuZXcgRXJyb3IoIkluaXQgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uY2UiKTtpZighMCYmRnQuYm9vdENhbGxlZCl0aHJvdyBuZXcgRXJyb3IoImBhdXRoLmluaXRgIHNob3VsZCBhbHdheXMgYmUgY2FsbGVkIGJlZm9yZSBgV2ViQ29udGFpbmVyLmJvb3RgIik7RnQuaW5pdGlhbGl6ZWQ9ITAsRnQudG9rZW5zPU5mLmZyb21TdG9yYWdlKCksRnQuY2xpZW50SWQ9dCxGdC5vYXV0aFNjb3BlPXIsRnQuYnJvYWRjYXN0Q2hhbm5lbD1uZXcgQnJvYWRjYXN0Q2hhbm5lbChINnIpLEJjLnNldFF1ZXJ5UGFyYW0oImNsaWVudF9pZCIsdCksZSYmKEJjLmVkaXRvck9yaWdpbj1uZXcgVVJMKGUpLm9yaWdpbiksaHUubGlzdGVuKCgpPT5GdC5hdXRoQ29tcGxldGUucmVzZXQoKSksRnQuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixpKTthc3luYyBmdW5jdGlvbiBpKGMpe2xldCBsPWMuZGF0YTtpZihsLnR5cGU9PT0iYXV0aC1jb21wbGV0ZSIpe0Z0LnRva2Vucz1OZi5mcm9tU3RvcmFnZSgpLGF3YWl0IEZ0LnRva2Vucy5hY3RpdmF0ZShwdWUpLEZ0LmF1dGhDb21wbGV0ZS5yZXNvbHZlKCk7cmV0dXJufWlmKGwudHlwZT09PSJhdXRoLWZhaWxlZCIpe0o2ci5maXJlRXZlbnQobCk7cmV0dXJufWlmKGwudHlwZT09PSJhdXRoLWxvZ291dCIpe2h1LmZpcmVFdmVudCgpO3JldHVybn19aWYoRnQudG9rZW5zKXtsZXQgYz1GdC50b2tlbnM7aWYoYy5vcmlnaW49PT1GdC5lZGl0b3JPcmlnaW4pcmV0dXJuKGFzeW5jKCk9PntpZighYXdhaXQgYy5hY3RpdmF0ZShwdWUpKXtpZihGdC50b2tlbnMhPT1jKXJldHVybjtodS5maXJlRXZlbnQoKTtyZXR1cm59RnQuYXV0aENvbXBsZXRlLnJlc29sdmUoKX0pKCkse3N0YXR1czoiYXV0aG9yaXplZCJ9O1pGKCksRnQudG9rZW5zPW51bGx9bGV0IG49bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikse3NlYXJjaFBhcmFtczpzfT1uLG89KCk9PndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSxkb2N1bWVudC50aXRsZSxuKTtpZihzLmhhcyhWRikpe2xldCBjPXMuZ2V0KFZGKSxsPXMuZ2V0KG91ZSk7cmV0dXJuIHMuZGVsZXRlKFZGKSxzLmRlbGV0ZShvdWUpLG8oKSxmdih7dHlwZToiYXV0aC1mYWlsZWQiLGVycm9yOmMsZGVzY3JpcHRpb246bH0pLHtzdGF0dXM6ImF1dGgtZmFpbGVkIixlcnJvcjpjLGRlc2NyaXB0aW9uOmx9fWlmKHMuaGFzKGpGKSl7bGV0IGM9cy5nZXQoakYpLGw9RnQuZWRpdG9yT3JpZ2luO3MuZGVsZXRlKGpGKSxvKCk7bGV0IHU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oV0YpO3JldHVybiB1Pyhsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShXRiksTmYuZnJvbUF1dGhDb2RlKHtlZGl0b3JPcmlnaW46bCxjbGllbnRJZDpGdC5jbGllbnRJZCxhdXRoQ29kZTpjLGNvZGVWZXJpZmllcjp1LHJlZGlyZWN0VXJpOks2cigpfSkudGhlbihhc3luYyBkPT57aWYoRnQudG9rZW5zPWQsZnVlKEZ0LnRva2VucyksIWF3YWl0IEZ0LnRva2Vucy5hY3RpdmF0ZShwdWUpKXRocm93IG5ldyBFcnJvcjtGdC5hdXRoQ29tcGxldGUucmVzb2x2ZSgpLGZ2KHt0eXBlOiJhdXRoLWNvbXBsZXRlIn0pfSkuY2F0Y2goZD0+e2NvbnNvbGUuZXJyb3IoZCksaHUuZmlyZUV2ZW50KCksZnYoe3R5cGU6ImF1dGgtbG9nb3V0In0pfSkse3N0YXR1czoiYXV0aG9yaXplZCJ9KTp7c3RhdHVzOiJuZWVkLWF1dGgifX1yZXR1cm57c3RhdHVzOiJuZWVkLWF1dGgifX0sYXN5bmMgc3RhcnRBdXRoRmxvdyh7cG9wdXA6ZX09e30pe2lmKCFGdC5pbml0aWFsaXplZCl0aHJvdyBuZXcgRXJyb3IoImF1dGguaW5pdCBtdXN0IGJlIGNhbGxlZCBmaXJzdCIpO2lmKGUpe2xvY2FsU3RvcmFnZS5zZXRJdGVtKEdGLCJ0cnVlIik7bGV0IHQ9NTAwLHI9NjIwLGE9d2luZG93LnNjcmVlbkxlZnQrKHdpbmRvdy5vdXRlcldpZHRoLXIpLzIsaT13aW5kb3cuc2NyZWVuVG9wKyh3aW5kb3cub3V0ZXJIZWlnaHQtdCkvMjt3aW5kb3cub3Blbihhd2FpdCBldXIoKSwiX2JsYW5rIixgcG9wdXAsd2lkdGg9JHtyfSxoZWlnaHQ9JHt0fSxsZWZ0PSR7YX0sdG9wPSR7aX1gKX1lbHNlIHdpbmRvdy5sb2NhdGlvbi5ocmVmPWF3YWl0IGV1cigpfSxhc3luYyBsb2dvdXQoe2lnbm9yZVJldm9rZUVycm9yOmV9PXt9KXthd2FpdCBGdC50b2tlbnM/LnJldm9rZShGdC5jbGllbnRJZCxlPz8hMSksaHUuZmlyZUV2ZW50KCksZnYoe3R5cGU6ImF1dGgtbG9nb3V0In0pfSxsb2dnZWRJbigpe3JldHVybiBGdC5hdXRoQ29tcGxldGUucHJvbWlzZX0sb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSJhdXRoLWZhaWxlZCI6cmV0dXJuIEo2ci5saXN0ZW4odCk7Y2FzZSJsb2dnZWQtb3V0IjpyZXR1cm4gaHUubGlzdGVuKHQpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBldmVudCB0eXBlICcke2V9Jy5gKX19fX0pO3ZhciBIYyxRRj1mKCgpPT57KGZ1bmN0aW9uKGUpe2UuVW5jYXVnaHRFeGNlcHRpb249IlBSRVZJRVdfVU5DQVVHSFRfRVhDRVBUSU9OIixlLlVuaGFuZGxlZFJlamVjdGlvbj0iUFJFVklFV19VTkhBTkRMRURfUkVKRUNUSU9OIixlLkNvbnNvbGVFcnJvcj0iUFJFVklFV19DT05TT0xFX0VSUk9SIn0pKEhjfHwoSGM9e30pKX0pO2Z1bmN0aW9uIHZ1ZShlLHQ9c2VsZil7dC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbiByKGEpe2lmKCFhfHwhYS5kYXRhKXJldHVybjtsZXR7aWQ6aSx0eXBlOm4scGF0aDpzfT1PYmplY3QuYXNzaWduKHtwYXRoOltdfSxhLmRhdGEpLG89KGEuZGF0YS5hcmd1bWVudExpc3R8fFtdKS5tYXAobXUpLGM7dHJ5e2xldCBsPXMuc2xpY2UoMCwtMSkucmVkdWNlKChkLGgpPT5kW2hdLGUpLHU9cy5yZWR1Y2UoKGQsaCk9PmRbaF0sZSk7c3dpdGNoKG4pe2Nhc2UgMDpjPXU7YnJlYWs7Y2FzZSAxOmxbcy5zbGljZSgtMSlbMF1dPW11KGEuZGF0YS52YWx1ZSksYz0hMDticmVhaztjYXNlIDI6Yz11LmFwcGx5KGwsbyk7YnJlYWs7Y2FzZSAzOntsZXQgZD1uZXcgdSguLi5vKTtjPWR1cihkKX1icmVhaztjYXNlIDQ6e2xldHtwb3J0MTpkLHBvcnQyOmh9PW5ldyBNZXNzYWdlQ2hhbm5lbDt2dWUoZSxoKSxjPWN1cihkLFtkXSl9YnJlYWs7Y2FzZSA1OmM9dm9pZCAwO2JyZWFrfX1jYXRjaChsKXtjPXt2YWx1ZTpsLFtndWVdOjB9fVByb21pc2UucmVzb2x2ZShjKS5jYXRjaChsPT4oe3ZhbHVlOmwsW2d1ZV06MH0pKS50aGVuKGw9PntsZXRbdSxkXT15dWUobCk7dC5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdSkse2lkOml9KSxkKSxuPT09NSYmKHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsciksbnVyKHQpKX0pfSksdC5zdGFydCYmdC5zdGFydCgpfWZ1bmN0aW9uIENKcihlKXtyZXR1cm4gZS5jb25zdHJ1Y3Rvci5uYW1lPT09Ik1lc3NhZ2VQb3J0In1mdW5jdGlvbiBudXIoZSl7Q0pyKGUpJiZlLmNsb3NlKCl9ZnVuY3Rpb24gc3VyKGUsdCl7cmV0dXJuIHh1ZShlLFtdLHQpfWZ1bmN0aW9uIEpGKGUpe2lmKGUpdGhyb3cgbmV3IEVycm9yKCJQcm94eSBoYXMgYmVlbiByZWxlYXNlZCBhbmQgaXMgbm90IHVzZWFibGUiKX1mdW5jdGlvbiB4dWUoZSx0PVtdLHI9ZnVuY3Rpb24oKXt9KXtsZXQgYT0hMSxpPW5ldyBQcm94eShyLHtnZXQobixzKXtpZihKRihhKSxzPT09YXVyKXJldHVybigpPT5GZihlLHt0eXBlOjUscGF0aDp0Lm1hcChvPT5vLnRvU3RyaW5nKCkpfSkudGhlbigoKT0+e251cihlKSxhPSEwfSk7aWYocz09PSJ0aGVuIil7aWYodC5sZW5ndGg9PT0wKXJldHVybnt0aGVuOigpPT5pfTtsZXQgbz1GZihlLHt0eXBlOjAscGF0aDp0Lm1hcChjPT5jLnRvU3RyaW5nKCkpfSkudGhlbihtdSk7cmV0dXJuIG8udGhlbi5iaW5kKG8pfXJldHVybiB4dWUoZSxbLi4udCxzXSl9LHNldChuLHMsbyl7SkYoYSk7bGV0W2MsbF09eXVlKG8pO3JldHVybiBGZihlLHt0eXBlOjEscGF0aDpbLi4udCxzXS5tYXAodT0+dS50b1N0cmluZygpKSx2YWx1ZTpjfSxsKS50aGVuKG11KX0sYXBwbHkobixzLG8pe0pGKGEpO2xldCBjPXRbdC5sZW5ndGgtMV07aWYoYz09PXJ1cilyZXR1cm4gRmYoZSx7dHlwZTo0fSkudGhlbihtdSk7aWYoYz09PSJiaW5kIilyZXR1cm4geHVlKGUsdC5zbGljZSgwLC0xKSk7bGV0W2wsdV09b3VyKG8pO3JldHVybiBGZihlLHt0eXBlOjIscGF0aDp0Lm1hcChkPT5kLnRvU3RyaW5nKCkpLGFyZ3VtZW50TGlzdDpsfSx1KS50aGVuKG11KX0sY29uc3RydWN0KG4scyl7SkYoYSk7bGV0W28sY109b3VyKHMpO3JldHVybiBGZihlLHt0eXBlOjMscGF0aDp0Lm1hcChsPT5sLnRvU3RyaW5nKCkpLGFyZ3VtZW50TGlzdDpvfSxjKS50aGVuKG11KX19KTtyZXR1cm4gaX1mdW5jdGlvbiBUSnIoZSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sZSl9ZnVuY3Rpb24gb3VyKGUpe2xldCB0PWUubWFwKHl1ZSk7cmV0dXJuW3QubWFwKHI9PnJbMF0pLFRKcih0Lm1hcChyPT5yWzFdKSldfWZ1bmN0aW9uIGN1cihlLHQpe3JldHVybiBsdXIuc2V0KGUsdCksZX1mdW5jdGlvbiBkdXIoZSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7W211ZV06ITB9KX1mdW5jdGlvbiBfSnIoZSx0PXNlbGYscj0iKiIpe3JldHVybntwb3N0TWVzc2FnZTooYSxpKT0+ZS5wb3N0TWVzc2FnZShhLHIsaSksYWRkRXZlbnRMaXN0ZW5lcjp0LmFkZEV2ZW50TGlzdGVuZXIuYmluZCh0KSxyZW1vdmVFdmVudExpc3RlbmVyOnQucmVtb3ZlRXZlbnRMaXN0ZW5lci5iaW5kKHQpfX1mdW5jdGlvbiB5dWUoZSl7Zm9yKGxldFt0LHJdb2YgYnVlKWlmKHIuY2FuSGFuZGxlKGUpKXtsZXRbYSxpXT1yLnNlcmlhbGl6ZShlKTtyZXR1cm5be3R5cGU6MyxuYW1lOnQsdmFsdWU6YX0saV19cmV0dXJuW3t0eXBlOjAsdmFsdWU6ZX0sbHVyLmdldChlKXx8W11dfWZ1bmN0aW9uIG11KGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UgMzpyZXR1cm4gYnVlLmdldChlLm5hbWUpLmRlc2VyaWFsaXplKGUudmFsdWUpO2Nhc2UgMDpyZXR1cm4gZS52YWx1ZX19ZnVuY3Rpb24gRmYoZSx0LHIpe3JldHVybiBuZXcgUHJvbWlzZShhPT57bGV0IGk9TEpyKCk7ZS5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbiBuKHMpeyFzLmRhdGF8fCFzLmRhdGEuaWR8fHMuZGF0YS5pZCE9PWl8fChlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG4pLGEocy5kYXRhKSl9KSxlLnN0YXJ0JiZlLnN0YXJ0KCksZS5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKHtpZDppfSx0KSxyKX0pfWZ1bmN0aW9uIExKcigpe3JldHVybiBuZXcgQXJyYXkoNCkuZmlsbCgwKS5tYXAoKCk9Pk1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikudG9TdHJpbmcoMTYpKS5qb2luKCItIil9dmFyIE1KcixrSnIsVXMsbXVlLHJ1cixhdXIsZ3VlLGl1cixTSnIsekpyLGJ1ZSxsdXIsdXVyPWYoKCk9PntNSnI9T2JqZWN0LmRlZmluZVByb3BlcnR5LGtKcj0oZSx0KT0+e2Zvcih2YXIgciBpbiB0KU1KcihlLHIse2dldDp0W3JdLGVudW1lcmFibGU6ITB9KX0sVXM9e307a0pyKFVzLHtjcmVhdGVFbmRwb2ludDooKT0+cnVyLGV4cG9zZTooKT0+dnVlLHByb3h5OigpPT5kdXIscHJveHlNYXJrZXI6KCk9Pm11ZSxyZWxlYXNlUHJveHk6KCk9PmF1cix0cmFuc2ZlcjooKT0+Y3VyLHRyYW5zZmVySGFuZGxlcnM6KCk9PmJ1ZSx3aW5kb3dFbmRwb2ludDooKT0+X0pyLHdyYXA6KCk9PnN1cn0pO211ZT1TeW1ib2woIkNvbWxpbmsucHJveHkiKSxydXI9U3ltYm9sKCJDb21saW5rLmVuZHBvaW50IiksYXVyPVN5bWJvbCgiQ29tbGluay5yZWxlYXNlUHJveHkiKSxndWU9U3ltYm9sKCJDb21saW5rLnRocm93biIpLGl1cj1lPT50eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsfHx0eXBlb2YgZT09ImZ1bmN0aW9uIixTSnI9e2NhbkhhbmRsZTplPT5pdXIoZSkmJmVbbXVlXSxzZXJpYWxpemUoZSl7bGV0e3BvcnQxOnQscG9ydDI6cn09bmV3IE1lc3NhZ2VDaGFubmVsO3JldHVybiB2dWUoZSx0KSxbcixbcl1dfSxkZXNlcmlhbGl6ZShlKXtyZXR1cm4gZS5zdGFydCgpLHN1cihlKX19LHpKcj17Y2FuSGFuZGxlOmU9Pml1cihlKSYmZ3VlIGluIGUsc2VyaWFsaXplKHt2YWx1ZTplfSl7bGV0IHQ7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj90PXtpc0Vycm9yOiEwLHZhbHVlOnttZXNzYWdlOmUubWVzc2FnZSxuYW1lOmUubmFtZSxzdGFjazplLnN0YWNrfX06dD17aXNFcnJvcjohMSx2YWx1ZTplfSxbdCxbXV19LGRlc2VyaWFsaXplKGUpe3Rocm93IGUuaXNFcnJvcj9PYmplY3QuYXNzaWduKG5ldyBFcnJvcihlLnZhbHVlLm1lc3NhZ2UpLGUudmFsdWUpOmUudmFsdWV9fSxidWU9bmV3IE1hcChbWyJwcm94eSIsU0pyXSxbInRocm93Iix6SnJdXSk7bHVyPW5ldyBXZWFrTWFwfSk7dmFyIHB1cj1mKCgpPT57fSk7ZnVuY3Rpb24gd3VlKGUpe3JldHVybiEoZT09bnVsbHx8dHlwZW9mIGUhPSJvYmplY3QifHwhKCJ0eXBlImluIGUpfHwhJEpyLmluY2x1ZGVzKGUudHlwZSkpfXZhciAkSnIsZnVyPWYoKCk9PntRRigpOyRKcj1bSGMuQ29uc29sZUVycm9yLEhjLlVuY2F1Z2h0RXhjZXB0aW9uLEhjLlVuaGFuZGxlZFJlamVjdGlvbl19KTt2YXIgTXVlPWYoKCk9PntwdXIoKTtRRigpO2Z1cigpfSk7ZnVuY3Rpb24gZ3UoZSl7bGV0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZT9PYmplY3QuYXNzaWduKHQsZSk6dH12YXIgaHVyPWYoKCk9Pnt9KTtmdW5jdGlvbiBrdWUoZSl7bGV0IHQ9e2Q6e319O2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyhlKSl7bGV0IGE9ZVtyXTtpZigiZmlsZSJpbiBhKXtpZigic3ltbGluayJpbiBhLmZpbGUpe3QuZFtyXT17Zjp7bDphLmZpbGUuc3ltbGlua319O2NvbnRpbnVlfWxldCBuPWEuZmlsZS5jb250ZW50cyxzPXR5cGVvZiBuPT0ic3RyaW5nIj9uOkRKci5kZWNvZGUobiksbz10eXBlb2Ygbj09InN0cmluZyI/e306e2I6ITB9O3QuZFtyXT17Zjp7YzpzLC4uLm99fTtjb250aW51ZX1sZXQgaT1rdWUoYS5kaXJlY3RvcnkpO3QuZFtyXT1pfXJldHVybiB0fWZ1bmN0aW9uIFN1ZShlKXtsZXQgdD1ndSgpO2lmKCJmImluIGUpdGhyb3cgbmV3IEVycm9yKCJJdCBpcyBub3QgcG9zc2libGUgdG8gZXhwb3J0IGEgc2luZ2xlIGZpbGUgaW4gdGhlIEpTT04gZm9ybWF0LiIpO2lmKCJkImluIGUpZm9yKGxldCByIG9mIE9iamVjdC5rZXlzKGUuZCkpe2xldCBhPWUuZFtyXTsiZCJpbiBhP3Rbcl09Z3Uoe2RpcmVjdG9yeTpTdWUoYSl9KToiZiJpbiBhJiYoImMiaW4gYS5mP3Rbcl09Z3Uoe2ZpbGU6Z3Uoe2NvbnRlbnRzOmEuZi5iP0FKcihhLmYuYyk6YS5mLmN9KX0pOiJsImluIGEuZiYmKHRbcl09Z3Uoe2ZpbGU6Z3Uoe3N5bWxpbms6YS5mLmx9KX0pKSl9cmV0dXJuIHR9ZnVuY3Rpb24gQUpyKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0W3JdPWVbcl0uY2hhckNvZGVBdCgwKTtyZXR1cm4gdH12YXIgREpyLG11cj1mKCgpPT57aHVyKCk7REpyPW5ldyBUZXh0RGVjb2RlcigibGF0aW4xIil9KTtmdW5jdGlvbiBsdm4oZSl7aWYoRnQuYm9vdENhbGxlZCl0aHJvdyBuZXcgRXJyb3IoImBjb25maWd1cmVBUElLZXlgIHNob3VsZCBhbHdheXMgYmUgY2FsbGVkIGJlZm9yZSBgV2ViQ29udGFpbmVyLmJvb3RgIik7QmMuc2V0UXVlcnlQYXJhbSgiY2xpZW50X2lkIixlKX1hc3luYyBmdW5jdGlvbiBOSnIoZSl7bGV0e3NlcnZlclByb21pc2U6dH09RkpyKGUpLGE9YXdhaXQoYXdhaXQgdCkuYnVpbGQoe2hvc3Q6d2luZG93LmxvY2F0aW9uLmhvc3QsdmVyc2lvbjoiMS42LjEiLHdvcmtkaXJOYW1lOmUud29ya2Rpck5hbWUsZm9yd2FyZFByZXZpZXdFcnJvcnM6ZS5mb3J3YXJkUHJldmlld0Vycm9yc30pLFtpLG4sc109YXdhaXQgUHJvbWlzZS5hbGwoW2EuZnMoKSxhLnByZXZpZXdTY3JpcHQoKSxhLnJ1bnRpbWVJbmZvKCldKTtyZXR1cm4gbmV3IGh2KGEsaSxuLHMpfWZ1bmN0aW9uICR1ZShlKXtpZihlIT1udWxsKXJldHVybiB0PT57dCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/ZShndXIuZGVjb2RlKHQpKTp0PT1udWxsJiZlKG51bGwpfX1mdW5jdGlvbiB0TyhlKXtpZihlIT1udWxsKXJldHVybiBVcy5wcm94eShlKX1mdW5jdGlvbiBGSnIoZSl7aWYoZU8hPW51bGwpcmV0dXJuIGUuY29lcCE9PXp1ZS5jb2VwJiYoY29uc29sZS53YXJuKGBBdHRlbXB0aW5nIHRvIGJvb3QgV2ViQ29udGFpbmVyIHdpdGggJ2NvZXA6ICR7ZS5jb2VwfSdgKSxjb25zb2xlLndhcm4oYEZpcnN0IGJvb3QgaGFkICdjb2VwOiAke3p1ZS5jb2VwfScsIG5ldyBzZXR0aW5ncyB3aWxsIG5vdCB0YWtlIGVmZmVjdCFgKSkse3NlcnZlclByb21pc2U6ZU99O2UuY29lcCYmQmMuc2V0UXVlcnlQYXJhbSgiY29lcCIsZS5jb2VwKSxlLmV4cGVyaW1lbnRhbE5vZGUmJkJjLnNldFF1ZXJ5UGFyYW0oImV4cGVyaW1lbnRhbF9ub2RlIiwiMSIpO2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3Quc3R5bGUuZGlzcGxheT0ibm9uZSIsdC5zZXRBdHRyaWJ1dGUoImFsbG93IiwiY3Jvc3Mtb3JpZ2luLWlzb2xhdGVkIik7bGV0IHI9QmMudXJsO3Quc3JjPXIudG9TdHJpbmcoKTtsZXR7b3JpZ2luOmF9PXI7cmV0dXJuIHp1ZT17Li4uZX0sZU89bmV3IFByb21pc2UoaT0+e2xldCBuPXM9PntpZihzLm9yaWdpbiE9PWEpcmV0dXJuO2xldHtkYXRhOm99PXM7aWYoby50eXBlPT09ImluaXQiKXtpKFVzLndyYXAocy5wb3J0c1swXSkpO3JldHVybn1pZihvLnR5cGU9PT0id2FybmluZyIpe2NvbnNvbGVbby5sZXZlbF0uY2FsbChjb25zb2xlLG8ubWVzc2FnZSk7cmV0dXJufX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG4pfSksZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUodCxudWxsKSx7c2VydmVyUHJvbWlzZTplT319ZnVuY3Rpb24gT0pyKGUpe3JldHVybiB0eXBlb2YgZVswXT09InN0cmluZyJ9ZnVuY3Rpb24gUkpyKGUpe3JldHVybiBlWzBdaW5zdGFuY2VvZiBVaW50OEFycmF5fWZ1bmN0aW9uIEJKcigpe2xldCBlPW51bGw7cmV0dXJue3N0cmVhbTpuZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0KGEpe2U9YX19KSxwdXNoOmE9PnthIT1udWxsP2U/LmVucXVldWUoYSk6KGU/LmNsb3NlKCksZT1udWxsKX19fWZ1bmN0aW9uIEhKcihlKXtsZXQgdD0hMSxyPSgpPT57fTtyZXR1cm57c3Vic2NyaWJlKGkpe3JldHVybiBpLnRoZW4obj0+e3I9bix0JiZyKCl9KSwoKT0+e3Q9ITAscigpfX0sbGlzdGVuZXI6KCguLi5pKT0+e3R8fGUoLi4uaSl9KX19dmFyIG92bixLRixlTyx6dWUsZ3VyLEVKcixodixJSnIsUEpyLEN1ZSxUdWUsX3VlLEx1ZSxidXI9ZigoKT0+e2h1ZSgpO1FGKCk7dXVyKCk7aHVlKCk7Y3VlKCk7dXVlKCk7TXVlKCk7bXVyKCk7TXVlKCk7b3ZuPXR1cixLRj1udWxsLGVPPW51bGwsenVlPXt9LGd1cj1uZXcgVGV4dERlY29kZXIsRUpyPW5ldyBUZXh0RW5jb2Rlcixodj1jbGFzcyBle19pbnN0YW5jZTtfcnVudGltZUluZm87ZnM7c3RhdGljIF9pbnN0YW5jZT1udWxsO3N0YXRpYyBfdGVhcmRvd25Qcm9taXNlPW51bGw7X3Rvcm5Eb3duPSExO191bnN1YnNjcmliZUZyb21Ub2tlbkNoYW5nZWRMaXN0ZW5lcj0oKT0+e307Y29uc3RydWN0b3IodCxyLGEsaSl7dGhpcy5faW5zdGFuY2U9dCx0aGlzLl9ydW50aW1lSW5mbz1pLHRoaXMuZnM9bmV3IEx1ZShyKSxGdC5pbml0aWFsaXplZCYmKHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyPVc2cihuPT57dGhpcy5faW5zdGFuY2Uuc2V0Q3JlZGVudGlhbHMoe2FjY2Vzc1Rva2VuOm4sZWRpdG9yT3JpZ2luOkZ0LmVkaXRvck9yaWdpbn0pfSksKGFzeW5jKCk9Pnthd2FpdCBGdC5hdXRoQ29tcGxldGUucHJvbWlzZSwhdGhpcy5fdG9ybkRvd24mJihmdWUoRnQudG9rZW5zKSxhd2FpdCB0aGlzLl9pbnN0YW5jZS5zZXRDcmVkZW50aWFscyh7YWNjZXNzVG9rZW46RnQudG9rZW5zLmFjY2VzcyxlZGl0b3JPcmlnaW46RnQuZWRpdG9yT3JpZ2lufSkpfSkoKS5jYXRjaChuPT57Y29uc29sZS5lcnJvcihuKX0pKX1hc3luYyBzcGF3bih0LHIsYSl7bGV0IGk9W107QXJyYXkuaXNBcnJheShyKT9pPXI6YT1yO2xldCBuLHM9bmV3IFJlYWRhYmxlU3RyZWFtO2lmKGE/Lm91dHB1dCE9PSExKXtsZXQgYj1CSnIoKTtuPWIucHVzaCxzPWIuc3RyZWFtfWxldCBvLGMsbCx1LGQ9dE8oJHVlKG4pKSxoPXRPKCR1ZShvKSksbT10TygkdWUobCkpLHY9YXdhaXQgdGhpcy5faW5zdGFuY2UucnVuKHtjb21tYW5kOnQsYXJnczppLGN3ZDphPy5jd2QsZW52OmE/LmVudix0ZXJtaW5hbDphPy50ZXJtaW5hbH0saCxtLGQpO3JldHVybiBuZXcgX3VlKHYscyxjLHUpfWFzeW5jIGV4cG9ydCh0LHIpe2xldCBhPXtmb3JtYXQ6cj8uZm9ybWF0Pz8ianNvbiIsaW5jbHVkZXM6cj8uaW5jbHVkZXMsZXhjbHVkZXM6cj8uZXhjbHVkZXMsZXh0ZXJuYWw6ITB9LGk9YXdhaXQgdGhpcy5faW5zdGFuY2Uuc2VyaWFsaXplKHQsYSk7aWYoYS5mb3JtYXQ9PT0ianNvbiIpe2xldCBuPUpTT04ucGFyc2UoZ3VyLmRlY29kZShpKSk7cmV0dXJuIFN1ZShuKX1yZXR1cm4gaX1vbih0LHIpe2lmKHQ9PT0icHJldmlldy1tZXNzYWdlIil7bGV0IG49cjtyPShzPT57d3VlKHMpJiZuKHMpfSl9bGV0e2xpc3RlbmVyOmEsc3Vic2NyaWJlOml9PUhKcihyKTtyZXR1cm4gaSh0aGlzLl9pbnN0YW5jZS5vbih0LFVzLnByb3h5KGEpKSl9bW91bnQodCxyKXtsZXQgYT10IGluc3RhbmNlb2YgVWludDhBcnJheT90OnQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9uZXcgVWludDhBcnJheSh0KTpFSnIuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGt1ZSh0KSkpO3JldHVybiB0aGlzLl9pbnN0YW5jZS5sb2FkRmlsZXMoVXMudHJhbnNmZXIoYSxbYS5idWZmZXJdKSx7bW91bnRQb2ludHM6cj8ubW91bnRQb2ludH0pfXNldFByZXZpZXdTY3JpcHQodCxyKXtyZXR1cm4gdGhpcy5faW5zdGFuY2Uuc2V0UHJldmlld1NjcmlwdCh0LHIpfWdldCBwYXRoKCl7cmV0dXJuIHRoaXMuX3J1bnRpbWVJbmZvLnBhdGh9Z2V0IHdvcmtkaXIoKXtyZXR1cm4gdGhpcy5fcnVudGltZUluZm8uY3dkfXRlYXJkb3duKCl7aWYodGhpcy5fdG9ybkRvd24pdGhyb3cgbmV3IEVycm9yKCJXZWJDb250YWluZXIgYWxyZWFkeSB0b3JuIGRvd24iKTt0aGlzLl90b3JuRG93bj0hMCx0aGlzLl91bnN1YnNjcmliZUZyb21Ub2tlbkNoYW5nZWRMaXN0ZW5lcigpO2xldCB0PWFzeW5jKCk9Pnt0cnl7YXdhaXQgdGhpcy5mcy5fdGVhcmRvd24oKSxhd2FpdCB0aGlzLl9pbnN0YW5jZS50ZWFyZG93bigpfWZpbmFsbHl7dGhpcy5faW5zdGFuY2VbVXMucmVsZWFzZVByb3h5XSgpLGUuX2luc3RhbmNlPT09dGhpcyYmKGUuX2luc3RhbmNlPW51bGwpfX07ZS5fdGVhcmRvd25Qcm9taXNlPXQoKX1zdGF0aWMgYXN5bmMgYm9vdCh0PXt9KXthd2FpdCB0aGlzLl90ZWFyZG93blByb21pc2UsZS5fdGVhcmRvd25Qcm9taXNlPW51bGw7bGV0e3dvcmtkaXJOYW1lOnJ9PXQ7aWYod2luZG93LmNyb3NzT3JpZ2luSXNvbGF0ZWQmJnQuY29lcD09PSJub25lIiYmY29uc29sZS53YXJuKGBBIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgaGVhZGVyIGlzIHJlcXVpcmVkIGluIGNyb3NzIG9yaWdpbiBpc29sYXRlZCBlbnZpcm9ubWVudHMuClNldCB0aGUgJ2NvZXAnIG9wdGlvbiB0byAncmVxdWlyZS1jb3JwJy5gKSxyPy5pbmNsdWRlcygiLyIpfHxyPT09Ii4uInx8cj09PSIuIil0aHJvdyBuZXcgRXJyb3IoIndvcmtkaXJOYW1lIHNob3VsZCBiZSBhIHZhbGlkIGZvbGRlciBuYW1lIik7Zm9yKEZ0LmJvb3RDYWxsZWQ9ITA7S0Y7KWF3YWl0IEtGO2lmKGUuX2luc3RhbmNlKXRocm93IG5ldyBFcnJvcigiT25seSBhIHNpbmdsZSBXZWJDb250YWluZXIgaW5zdGFuY2UgY2FuIGJlIGJvb3RlZCIpO2xldCBhPU5Kcih0KTtLRj1hLmNhdGNoKCgpPT57fSk7dHJ5e2xldCBpPWF3YWl0IGE7cmV0dXJuIGUuX2luc3RhbmNlPWksaX1maW5hbGx5e0tGPW51bGx9fX07SUpyPTEsUEpyPTIsQ3VlPWNsYXNze25hbWU7X3R5cGU7Y29uc3RydWN0b3IodCxyKXt0aGlzLm5hbWU9dCx0aGlzLl90eXBlPXJ9aXNGaWxlKCl7cmV0dXJuIHRoaXMuX3R5cGU9PT1JSnJ9aXNEaXJlY3RvcnkoKXtyZXR1cm4gdGhpcy5fdHlwZT09PVBKcn19LFR1ZT1jbGFzc3tfYXBpQ2xpZW50O19wYXRoO19vcHRpb25zO19saXN0ZW5lcjtfd3JhcHBlZExpc3RlbmVyO193YXRjaGVyO19jbG9zZWQ9ITE7Y29uc3RydWN0b3IodCxyLGEsaSl7dGhpcy5fYXBpQ2xpZW50PXQsdGhpcy5fcGF0aD1yLHRoaXMuX29wdGlvbnM9YSx0aGlzLl9saXN0ZW5lcj1pLHRoaXMuX2FwaUNsaWVudC5fd2F0Y2hlcnMuYWRkKHRoaXMpLHRoaXMuX3dyYXBwZWRMaXN0ZW5lcj0obixzKT0+e3RoaXMuX2xpc3RlbmVyJiYhdGhpcy5fY2xvc2VkJiZ0aGlzLl9saXN0ZW5lcihuLHMpfSx0aGlzLl9hcGlDbGllbnQuX2ZzLndhdGNoKHRoaXMuX3BhdGgsdGhpcy5fb3B0aW9ucyx0Tyh0aGlzLl93cmFwcGVkTGlzdGVuZXIpKS50aGVuKG49PntpZih0aGlzLl93YXRjaGVyPW4sdGhpcy5fY2xvc2VkKXJldHVybiB0aGlzLl90ZWFyZG93bigpfSkuY2F0Y2goY29uc29sZS5lcnJvcil9YXN5bmMgY2xvc2UoKXt0aGlzLl9jbG9zZWR8fCh0aGlzLl9jbG9zZWQ9ITAsdGhpcy5fYXBpQ2xpZW50Ll93YXRjaGVycy5kZWxldGUodGhpcyksYXdhaXQgdGhpcy5fdGVhcmRvd24oKSl9YXN5bmMgX3RlYXJkb3duKCl7YXdhaXQgdGhpcy5fd2F0Y2hlcj8uY2xvc2UoKS5maW5hbGx5KCgpPT57dGhpcy5fd2F0Y2hlcj8uW1VzLnJlbGVhc2VQcm94eV0oKX0pfX0sX3VlPWNsYXNze291dHB1dDtpbnB1dDtleGl0O19wcm9jZXNzO3N0ZG91dDtzdGRlcnI7Y29uc3RydWN0b3IodCxyLGEsaSl7dGhpcy5vdXRwdXQ9cix0aGlzLl9wcm9jZXNzPXQsdGhpcy5pbnB1dD1uZXcgV3JpdGFibGVTdHJlYW0oe3dyaXRlOm49Pnt0aGlzLl9nZXRQcm9jZXNzKCk/LndyaXRlKG4pLmNhdGNoKCgpPT57fSl9fSksdGhpcy5leGl0PXRoaXMuX29uRXhpdCgpLHRoaXMuc3Rkb3V0PWEsdGhpcy5zdGRlcnI9aX1raWxsKCl7dGhpcy5fcHJvY2Vzcz8ua2lsbCgpfXJlc2l6ZSh0KXt0aGlzLl9nZXRQcm9jZXNzKCk/LnJlc2l6ZSh0KX1hc3luYyBfb25FeGl0KCl7dHJ5e3JldHVybiBhd2FpdCB0aGlzLl9wcm9jZXNzLm9uRXhpdH1maW5hbGx5e3RoaXMuX3Byb2Nlc3M/LltVcy5yZWxlYXNlUHJveHldKCksdGhpcy5fcHJvY2Vzcz1udWxsfX1fZ2V0UHJvY2Vzcygpe3JldHVybiB0aGlzLl9wcm9jZXNzPT1udWxsJiZjb25zb2xlLndhcm4oIlRoaXMgcHJvY2VzcyBhbHJlYWR5IGV4aXRlZCIpLHRoaXMuX3Byb2Nlc3N9fSxMdWU9Y2xhc3N7X2ZzO193YXRjaGVycz1uZXcgU2V0KFtdKTtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9mcz10fXJtKC4uLnQpe3JldHVybiB0aGlzLl9mcy5ybSguLi50KX1hc3luYyByZWFkRmlsZSh0LHIpe3JldHVybiBhd2FpdCB0aGlzLl9mcy5yZWFkRmlsZSh0LHIpfWFzeW5jIHJlbmFtZSh0LHIpe3JldHVybiBhd2FpdCB0aGlzLl9mcy5yZW5hbWUodCxyKX1hc3luYyB3cml0ZUZpbGUodCxyLGEpe2lmKHIgaW5zdGFuY2VvZiBVaW50OEFycmF5KXtsZXQgaT1yLmJ1ZmZlci5zbGljZShyLmJ5dGVPZmZzZXQsci5ieXRlT2Zmc2V0K3IuYnl0ZUxlbmd0aCk7cj1Vcy50cmFuc2ZlcihuZXcgVWludDhBcnJheShpKSxbaV0pfWF3YWl0IHRoaXMuX2ZzLndyaXRlRmlsZSh0LHIsYSl9YXN5bmMgcmVhZGRpcih0LHIpe2xldCBhPWF3YWl0IHRoaXMuX2ZzLnJlYWRkaXIodCxyKTtyZXR1cm4gT0pyKGEpfHxSSnIoYSk/YTphLm1hcChuPT5uZXcgQ3VlKG4ubmFtZSxuWyJTeW1ib2wodHlwZSkiXSkpfWFzeW5jIG1rZGlyKHQscil7cmV0dXJuIGF3YWl0IHRoaXMuX2ZzLm1rZGlyKHQscil9d2F0Y2godCxyLGEpe3JldHVybiB0eXBlb2Ygcj09ImZ1bmN0aW9uIiYmKGE9cixyPW51bGwpLG5ldyBUdWUodGhpcyx0LHIsYSl9YXN5bmMgX3RlYXJkb3duKCl7dGhpcy5fZnNbVXMucmVsZWFzZVByb3h5XSgpLGF3YWl0IFByb21pc2UuYWxsKFsuLi50aGlzLl93YXRjaGVyc10ubWFwKHQ9PnQuY2xvc2UoKSkpfX19KTt2YXIgYnUsdnVyPWYoKCk9PntidXIoKTtidT1jbGFzcyBle3N0YXRpYyBzaGFyZWRDb250YWluZXI9bnVsbDtzdGF0aWMgYm9vdFByb21pc2U9bnVsbDtfcmVhZHk9ITE7dHlwZT0id2ViY29udGFpbmVyIjtnZXQgcmVhZHkoKXtyZXR1cm4gdGhpcy5fcmVhZHl9Z2V0IGNvbnRhaW5lcigpe3JldHVybiBlLnNoYXJlZENvbnRhaW5lcn1hc3luYyBpbml0KCl7aWYoISh0aGlzLl9yZWFkeSYmZS5zaGFyZWRDb250YWluZXIpKXtpZihlLmJvb3RQcm9taXNlKXthd2FpdCBlLmJvb3RQcm9taXNlLHRoaXMuX3JlYWR5PSEwO3JldHVybn1pZihlLnNoYXJlZENvbnRhaW5lcil7dGhpcy5fcmVhZHk9ITA7cmV0dXJufWlmKHR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlcj4idSIpdGhyb3cgbmV3IEVycm9yKGBXZWJDb250YWluZXIgcmVxdWlyZXMgU2hhcmVkQXJyYXlCdWZmZXIgd2hpY2ggaXMgbm90IGF2YWlsYWJsZS4gRW5zdXJlIHlvdXIgc2VydmVyIHNlbmRzIHRoZXNlIGhlYWRlcnM6CiAgQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3k6IHNhbWUtb3JpZ2luCiAgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeTogcmVxdWlyZS1jb3JwYCk7ZS5ib290UHJvbWlzZT1odi5ib290KCk7dHJ5e2Uuc2hhcmVkQ29udGFpbmVyPWF3YWl0IGUuYm9vdFByb21pc2UsdGhpcy5fcmVhZHk9ITB9Y2F0Y2godCl7dGhyb3cgZS5ib290UHJvbWlzZT1udWxsLHR9fX1hc3luYyBkZXN0cm95KCl7ZS5zaGFyZWRDb250YWluZXImJihlLnNoYXJlZENvbnRhaW5lci50ZWFyZG93bigpLGUuc2hhcmVkQ29udGFpbmVyPW51bGwsZS5ib290UHJvbWlzZT1udWxsLHRoaXMuX3JlYWR5PSExKX1hc3luYyByZWFkRmlsZSh0KXtyZXR1cm4gdGhpcy5lbnN1cmVSZWFkeSgpLGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLnJlYWRGaWxlKHQsInV0Zi04Iil9YXN5bmMgd3JpdGVGaWxlKHQscil7dGhpcy5lbnN1cmVSZWFkeSgpLGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLndyaXRlRmlsZSh0LHIsInV0Zi04Iil9YXN5bmMgcmVhZERpcih0KXtyZXR1cm4gdGhpcy5lbnN1cmVSZWFkeSgpLChhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy5yZWFkZGlyKHQse3dpdGhGaWxlVHlwZXM6ITB9KSkubWFwKGE9Pih7dHlwZTphLmlzRGlyZWN0b3J5KCk/ImRpcmVjdG9yeSI6ImZpbGUiLG5hbWU6YS5uYW1lLHBhdGg6dD09PSIvIj9gLyR7YS5uYW1lfWA6YCR7dH0vJHthLm5hbWV9YH0pKX1hc3luYyBta2Rpcih0KXt0aGlzLmVuc3VyZVJlYWR5KCksYXdhaXQgdGhpcy5jb250YWluZXIuZnMubWtkaXIodCx7cmVjdXJzaXZlOiEwfSl9YXN5bmMgcm0odCxyKXt0aGlzLmVuc3VyZVJlYWR5KCksYXdhaXQgdGhpcy5jb250YWluZXIuZnMucm0odCx7cmVjdXJzaXZlOnI/LnJlY3Vyc2l2ZT8/ITF9KX1hc3luYyBleGlzdHModCl7dGhpcy5lbnN1cmVSZWFkeSgpO3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5jb250YWluZXIuZnMucmVhZEZpbGUodCksITB9Y2F0Y2h7dHJ5e3JldHVybiBhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy5yZWFkZGlyKHQpLCEwfWNhdGNoe3JldHVybiExfX19d2F0Y2godCxyLGEpe3RoaXMuZW5zdXJlUmVhZHkoKTtsZXQgaT10aGlzLmNvbnRhaW5lci5mcy53YXRjaCh0LHtyZWN1cnNpdmU6YT8ucmVjdXJzaXZlPz8hMX0scik7cmV0dXJue3N0b3A6KCk9PmkuY2xvc2UoKX19YXN5bmMgc3Bhd24odCxyPVtdKXt0aGlzLmVuc3VyZVJlYWR5KCk7bGV0IGE9YXdhaXQgdGhpcy5jb250YWluZXIuc3Bhd24odCxyKTtyZXR1cm57b3V0cHV0OmEub3V0cHV0LGlucHV0OmEuaW5wdXQsZXhpdDphLmV4aXQsa2lsbDooKT0+YS5raWxsKCl9fWFzeW5jIG1vdW50KHQpe3RoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5tb3VudCh0KX1nZXRDb250YWluZXIoKXtyZXR1cm4gdGhpcy5lbnN1cmVSZWFkeSgpLHRoaXMuY29udGFpbmVyfWVuc3VyZVJlYWR5KCl7aWYoIXRoaXMuX3JlYWR5fHwhdGhpcy5jb250YWluZXIpdGhyb3cgbmV3IEVycm9yKCJXZWJDb250YWluZXJFbnZpcm9ubWVudCBub3QgaW5pdGlhbGl6ZWQuIENhbGwgaW5pdCgpIGZpcnN0LiIpfX19KTt2YXIgeHVyPWYoKCk9Pnt2dXIoKX0pO3ZhciByTz1mKCgpPT57UjZyKCk7eHVyKCl9KTt2YXIgeXVyPWYoKCk9PntYZGUoKX0pO3ZhciBtdixEdWU9ZigoKT0+e212PWNsYXNze3RhYnM9bmV3IE1hcDt0YWJDb3VudGVyPTA7eHRlcm1CdW5kbGU9bnVsbDt4dGVybUZpdEFkZG9uQnVuZGxlPW51bGw7c2V0WHRlcm1Nb2R1bGVzKHQscil7dGhpcy54dGVybUJ1bmRsZT10LHRoaXMueHRlcm1GaXRBZGRvbkJ1bmRsZT1yfWdlbmVyYXRlVGFiSWQoKXtyZXR1cm4gdGhpcy50YWJDb3VudGVyKyssYHRlcm1pbmFsLSR7dGhpcy50YWJDb3VudGVyfS0ke0RhdGUubm93KCl9YH1nZXREZWZhdWx0TGFiZWwodCxyKXtzd2l0Y2godCl7Y2FzZSJzaGVsbCI6cmV0dXJuImJhc2giO2Nhc2Uic2NyaXB0IjpyZXR1cm4gcj8uc2NyaXB0TmFtZXx8InNjcmlwdCI7Y2FzZSJwYWNrYWdlLXVwZGF0ZSI6cmV0dXJuIHI/LnBhY2thZ2VOYW1lP2B1cGRhdGUgJHtyLnBhY2thZ2VOYW1lfWA6InVwZGF0ZSI7Y2FzZSJjdXN0b20iOnJldHVybiByPy5jb21tYW5kfHwicHJvY2VzcyI7ZGVmYXVsdDpyZXR1cm4idGVybWluYWwifX1nZXREZWZhdWx0SWNvbih0KXtzd2l0Y2godCl7Y2FzZSJzaGVsbCI6cmV0dXJuImx1Y2lkZTp0ZXJtaW5hbCI7Y2FzZSJzY3JpcHQiOnJldHVybiJsdWNpZGU6cGxheSI7Y2FzZSJwYWNrYWdlLXVwZGF0ZSI6cmV0dXJuImx1Y2lkZTpwYWNrYWdlQ2hlY2siO2Nhc2UiY3VzdG9tIjpyZXR1cm4ibHVjaWRlOmNvZGUiO2RlZmF1bHQ6cmV0dXJuImx1Y2lkZTp0ZXJtaW5hbCJ9fWdldFRlcm1pbmFsVGhlbWUodCl7cmV0dXJuIHQ/e2JhY2tncm91bmQ6IiNmZmZmZmYiLGZvcmVncm91bmQ6IiMzMzMzMzMiLGN1cnNvcjoiIzMzMzMzMyIsY3Vyc29yQWNjZW50OiIjZmZmZmZmIixzZWxlY3Rpb246InJnYmEoMCwgMCwgMCwgMC4yKSIsYmxhY2s6IiMwMDAwMDAiLHJlZDoiI2NkMzEzMSIsZ3JlZW46IiMwMGJjMDAiLHllbGxvdzoiIzk0OTgwMCIsYmx1ZToiIzA0NTFhNSIsbWFnZW50YToiI2JjMDViYyIsY3lhbjoiIzA1OThiYyIsd2hpdGU6IiM1NTU1NTUiLGJyaWdodEJsYWNrOiIjNjY2NjY2IixicmlnaHRSZWQ6IiNjZDMxMzEiLGJyaWdodEdyZWVuOiIjMTRjZTE0IixicmlnaHRZZWxsb3c6IiNiNWJhMDAiLGJyaWdodEJsdWU6IiMwNDUxYTUiLGJyaWdodE1hZ2VudGE6IiNiYzA1YmMiLGJyaWdodEN5YW46IiMwNTk4YmMiLGJyaWdodFdoaXRlOiIjYTVhNWE1In06e2JhY2tncm91bmQ6IiMwMDAwMDAiLGZvcmVncm91bmQ6IiNmZmZmZmYiLGN1cnNvcjoiI2ZmZmZmZiIsY3Vyc29yQWNjZW50OiIjMDAwMDAwIixzZWxlY3Rpb246InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSJ9fWNyZWF0ZVRhYih0LHIpe2lmKCF0aGlzLnh0ZXJtQnVuZGxlfHwhdGhpcy54dGVybUZpdEFkZG9uQnVuZGxlKXRocm93IG5ldyBFcnJvcigiVGVybWluYWxUYWJNYW5hZ2VyOiB4dGVybSBtb2R1bGVzIG5vdCBpbml0aWFsaXplZC4gQ2FsbCBzZXRYdGVybU1vZHVsZXMoKSBmaXJzdC4iKTtsZXQgYT10aGlzLmdlbmVyYXRlVGFiSWQoKSxpPXQudHlwZSxuPW5ldyB0aGlzLnh0ZXJtQnVuZGxlLlRlcm1pbmFsKHtjb252ZXJ0RW9sOiEwLGN1cnNvckJsaW5rOiEwLHRoZW1lOnRoaXMuZ2V0VGVybWluYWxUaGVtZShyKSxmb250RmFtaWx5OidNZW5sbywgTW9uYWNvLCAiQ291cmllciBOZXciLCBtb25vc3BhY2UnLGZvbnRTaXplOjEzLGxpbmVIZWlnaHQ6MS4yfSkscz1uZXcgdGhpcy54dGVybUZpdEFkZG9uQnVuZGxlLkZpdEFkZG9uO24ubG9hZEFkZG9uKHMpO2xldCBvPXtpZDphLGxhYmVsOnQubGFiZWx8fHRoaXMuZ2V0RGVmYXVsdExhYmVsKGksdC5tZXRhZGF0YSksaWNvbk5hbWU6dC5pY29uTmFtZXx8dGhpcy5nZXREZWZhdWx0SWNvbihpKSx0eXBlOmksY2xvc2VhYmxlOnQuY2xvc2VhYmxlPz9pIT09InNoZWxsIix0ZXJtaW5hbDpuLGZpdEFkZG9uOnMscHJvY2VzczpudWxsLGlucHV0V3JpdGVyOm51bGwsZXhpdGVkOiExLGV4aXRDb2RlOm51bGwsY3JlYXRlZEF0OkRhdGUubm93KCksbWV0YWRhdGE6dC5tZXRhZGF0YX07cmV0dXJuIHRoaXMudGFicy5zZXQoYSxvKSxvfWdldFRhYih0KXtyZXR1cm4gdGhpcy50YWJzLmdldCh0KX1nZXRBbGxUYWJzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy50YWJzLnZhbHVlcygpKS5zb3J0KCh0LHIpPT50LmNyZWF0ZWRBdC1yLmNyZWF0ZWRBdCl9Z2V0VGFiQ291bnQoKXtyZXR1cm4gdGhpcy50YWJzLnNpemV9aGFzVGFiKHQpe3JldHVybiB0aGlzLnRhYnMuaGFzKHQpfWNsb3NlVGFiKHQpe2xldCByPXRoaXMudGFicy5nZXQodCk7aWYoIXIpcmV0dXJuITE7aWYoci5wcm9jZXNzJiYhci5leGl0ZWQpdHJ5e3IucHJvY2Vzcy5raWxsKCl9Y2F0Y2goYSl7Y29uc29sZS53YXJuKCJGYWlsZWQgdG8ga2lsbCBwcm9jZXNzOiIsYSl9dHJ5e3IudGVybWluYWwuZGlzcG9zZSgpfWNhdGNoKGEpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGRpc3Bvc2UgdGVybWluYWw6IixhKX1yZXR1cm4gdGhpcy50YWJzLmRlbGV0ZSh0KSwhMH1yZW5hbWVUYWIodCxyKXtsZXQgYT10aGlzLnRhYnMuZ2V0KHQpO3JldHVybiBhPyhhLmxhYmVsPXIsITApOiExfW1hcmtUYWJFeGl0ZWQodCxyKXtsZXQgYT10aGlzLnRhYnMuZ2V0KHQpO2EmJihhLmV4aXRlZD0hMCxhLmV4aXRDb2RlPXIpfXNldFRhYlByb2Nlc3ModCxyLGEpe2xldCBpPXRoaXMudGFicy5nZXQodCk7aSYmKGkucHJvY2Vzcz1yLGkuaW5wdXRXcml0ZXI9YSl9dXBkYXRlQWxsVGhlbWVzKHQpe2xldCByPXRoaXMuZ2V0VGVybWluYWxUaGVtZSh0KTtmb3IobGV0IGEgb2YgdGhpcy50YWJzLnZhbHVlcygpKWEudGVybWluYWwub3B0aW9ucy50aGVtZT1yfWRpc3Bvc2VBbGwoKXtmb3IobGV0W3Rdb2YgdGhpcy50YWJzKXRoaXMuY2xvc2VUYWIodCk7dGhpcy50YWJzLmNsZWFyKCl9fX0pO3ZhciB3dXI9e307UmUod3VyLHtEZWVzV29ya3NwYWNlVGVybWluYWw6KCk9PkF1ZX0pO3ZhciBvMyxsMSxBdWUsZ3Y9ZigoKT0+e3VlKCk7SnQoKTtRZSgpO3JPKCk7aXIoKTtFRigpO0R1ZSgpO3QzKCk7bzM9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxsMT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sQXVlPSgoKT0+e2xldCBlPVtyZSgiZGVlcy13b3Jrc3BhY2UtdGVybWluYWwiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXSxSLEM9W10sUz1bXSxPLEQ9W10sTj1bXTt2YXIgcT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpPYmplY3R9KV0sYz1bRigpXSxkPVtGKCldLHY9W0Yoe3R5cGU6TnVtYmVyfSldLHk9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxSPVtzZSgpXSxPPVtzZSgpXSxvMyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4ZWN1dGlvbkVudmlyb25tZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4iZXhlY3V0aW9uRW52aXJvbm1lbnQiaW4geixnZXQ6ej0+ei5leGVjdXRpb25FbnZpcm9ubWVudCxzZXQ6KHosRSk9Pnt6LmV4ZWN1dGlvbkVudmlyb25tZW50PUV9fSxtZXRhZGF0YTpffSxzLG8pLG8zKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2V0dXBDb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4ic2V0dXBDb21tYW5kImluIHosZ2V0Ono9Pnouc2V0dXBDb21tYW5kLHNldDooeixFKT0+e3ouc2V0dXBDb21tYW5kPUV9fSxtZXRhZGF0YTpffSxsLHUpLG8zKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW52aXJvbm1lbnRWYXJpYWJsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJlbnZpcm9ubWVudFZhcmlhYmxlcyJpbiB6LGdldDp6PT56LmVudmlyb25tZW50VmFyaWFibGVzLHNldDooeixFKT0+e3ouZW52aXJvbm1lbnRWYXJpYWJsZXM9RX19LG1ldGFkYXRhOl99LGgsbSksbzModGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJCYXJXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+InRhYkJhcldpZHRoImluIHosZ2V0Ono9PnoudGFiQmFyV2lkdGgsc2V0Oih6LEUpPT57ei50YWJCYXJXaWR0aD1FfX0sbWV0YWRhdGE6X30sYixnKSxvMyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUYWJCYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJzaG93VGFiQmFyImluIHosZ2V0Ono9Pnouc2hvd1RhYkJhcixzZXQ6KHosRSk9Pnt6LnNob3dUYWJCYXI9RX19LG1ldGFkYXRhOl99LHcsayksbzModGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4idGFicyJpbiB6LGdldDp6PT56LnRhYnMsc2V0Oih6LEUpPT57ei50YWJzPUV9fSxtZXRhZGF0YTpffSxDLFMpLG8zKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZlVGFiSWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJhY3RpdmVUYWJJZCJpbiB6LGdldDp6PT56LmFjdGl2ZVRhYklkLHNldDooeixFKT0+e3ouYWN0aXZlVGFiSWQ9RX19LG1ldGFkYXRhOl99LEQsTiksbzMobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6X30sbnVsbCxyKSxxPWE9dC52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz0oKT0+e2xldCBfPW5ldyBidTtyZXR1cm4gTWA8ZGVlcy13b3Jrc3BhY2UtdGVybWluYWwgLmV4ZWN1dGlvbkVudmlyb25tZW50PSR7X30+PC9kZWVzLXdvcmtzcGFjZS10ZXJtaW5hbD5gfTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdO3Jlc2l6ZU9ic2VydmVyO3RhYk1hbmFnZXI7I2U9bDEodGhpcyxzLG51bGwpO2dldCBleGVjdXRpb25FbnZpcm9ubWVudCgpe3JldHVybiB0aGlzLiNlfXNldCBleGVjdXRpb25FbnZpcm9ubWVudChfKXt0aGlzLiNlPV99I3Q9KGwxKHRoaXMsbyksbDEodGhpcyxsLCIiKSk7Z2V0IHNldHVwQ29tbWFuZCgpe3JldHVybiB0aGlzLiN0fXNldCBzZXR1cENvbW1hbmQoXyl7dGhpcy4jdD1ffSNyPShsMSh0aGlzLHUpLGwxKHRoaXMsaCx7fSkpO2dldCBlbnZpcm9ubWVudFZhcmlhYmxlcygpe3JldHVybiB0aGlzLiNyfXNldCBlbnZpcm9ubWVudFZhcmlhYmxlcyhfKXt0aGlzLiNyPV99I2E9KGwxKHRoaXMsbSksbDEodGhpcyxiLDE2MCkpO2dldCB0YWJCYXJXaWR0aCgpe3JldHVybiB0aGlzLiNhfXNldCB0YWJCYXJXaWR0aChfKXt0aGlzLiNhPV99I2k9KGwxKHRoaXMsZyksbDEodGhpcyx3LCEwKSk7Z2V0IHNob3dUYWJCYXIoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2hvd1RhYkJhcihfKXt0aGlzLiNpPV99I249KGwxKHRoaXMsayksbDEodGhpcyxDLFtdKSk7Z2V0IHRhYnMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgdGFicyhfKXt0aGlzLiNuPV99I3M9KGwxKHRoaXMsUyksbDEodGhpcyxELG51bGwpKTtnZXQgYWN0aXZlVGFiSWQoKXtyZXR1cm4gdGhpcy4jc31zZXQgYWN0aXZlVGFiSWQoXyl7dGhpcy4jcz1ffXRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249KGwxKHRoaXMsTiksbnVsbCk7aXNCcmlnaHQ9ITE7dGVybWluYWxBY3Rpb25iYXI9bnVsbDtlbnZpcm9ubWVudERlZmVycmVkPW5ldyBqdC5zbWFydHByb21pc2UuRGVmZXJyZWQ7ZW52aXJvbm1lbnRQcm9taXNlPXRoaXMuZW52aXJvbm1lbnREZWZlcnJlZC5wcm9taXNlO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnRhYk1hbmFnZXI9bmV3IG12LHRoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT57dGhpcy5oYW5kbGVSZXNpemUoKX0pfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9CgogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGVybWluYWwtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAudGVybWluYWwtY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgIH0KCiAgICAgICNhY3RpdmUtdGVybWluYWwtY29udGFpbmVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIG1hcmdpbjogMjBweDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRlbnQgZGVlcy1hY3Rpb25iYXIgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAvKiBUYWIgYmFyIG9uIHRoZSByaWdodCBzaWRlICovCiAgICAgIC50YWItYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYi1iYXItaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDhweCAxMHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NSUpIiwiaHNsKDAgMCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1iYXItdGl0bGUgewogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnRhYi1iYXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24gewogICAgICAgIHdpZHRoOiAyMnB4OwogICAgICAgIGhlaWdodDogMjJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudGFiLWFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWItbGlzdCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXRhYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQ1JSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudGVybWluYWwtdGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAyNSUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXRhYi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgOTUlKSIsImhzbCgyMTAgMzAlIDE1JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNDAlKSIsImhzbCgyMTAgMTAwJSA3MCUpIil9OwogICAgICB9CgogICAgICAudGVybWluYWwtdGFiLmV4aXRlZCB7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAudGFiLWljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGFiLWljb24ucnVubmluZyB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMTQyIDcwJSA0MCUpIiwiaHNsKDE0MiA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1sYWJlbCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5leGl0LWJhZGdlIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgcGFkZGluZzogMXB4IDVweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmV4aXQtYmFkZ2Uuc3VjY2VzcyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgxNDIgNzAlIDkwJSkiLCJoc2woMTQyIDMwJSAyMCUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDE0MiA3MCUgMzUlKSIsImhzbCgxNDIgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5leGl0LWJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgNzAlIDkzJSkiLCJoc2woMCAzMCUgMjAlKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDcwJSA0NSUpIiwiaHNsKDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWItY2xvc2UgewogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC10YWI6aG92ZXIgLnRhYi1jbG9zZSB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICB9CgogICAgICAudGFiLWNsb3NlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyNSUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNTAlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC8qIHh0ZXJtLmpzIHN0eWxlcyAqLwogICAgICAueHRlcm0gewogICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnIDA7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAueHRlcm0uZm9jdXMsCiAgICAgIC54dGVybTpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1oZWxwZXJzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHotaW5kZXg6IDU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0taGVscGVyLXRleHRhcmVhIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgbGVmdDogLTk5OTllbTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIHotaW5kZXg6IC01OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICByZXNpemU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAuY29tcG9zaXRpb24tdmlldyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzMzMzMzMyIsIiNmZmZmZmYiKX07CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CgogICAgICAueHRlcm0gLmNvbXBvc2l0aW9uLXZpZXcuYWN0aXZlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS12aWV3cG9ydCB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1zY3JlZW4gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1zY3JlZW4gY2FudmFzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2Nyb2xsLWFyZWEgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnh0ZXJtLWNoYXItbWVhc3VyZS1lbGVtZW50IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogLTk5OTllbTsKICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOwogICAgICB9CgogICAgICAueHRlcm0gewogICAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgfQoKICAgICAgLnh0ZXJtLmVuYWJsZS1tb3VzZS1ldmVudHMgewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgLnh0ZXJtLnh0ZXJtLWN1cnNvci1wb2ludGVyIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC54dGVybS5jb2x1bW4tc2VsZWN0LmZvY3VzIHsKICAgICAgICBjdXJzb3I6IGNyb3NzaGFpcjsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1hY2Nlc3NpYmlsaXR5LAogICAgICAueHRlcm0gLnh0ZXJtLW1lc3NhZ2UgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAueHRlcm0gLmxpdmUtcmVnaW9uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogLTk5OTlweDsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC54dGVybS1kaW0gewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLnh0ZXJtLXVuZGVybGluZSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBfPXRoaXMuYWN0aXZlVGFiSWQ/dGhpcy50YWJNYW5hZ2VyLmdldFRhYih0aGlzLmFjdGl2ZVRhYklkKTpudWxsO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250YWluZXIiPgogICAgICAgIDwhLS0gTWFpbiB0ZXJtaW5hbCBhcmVhIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InRlcm1pbmFsLWNvbnRlbnQiPgogICAgICAgICAgJHtfP01gCiAgICAgICAgICAgIDxkaXYgaWQ9ImFjdGl2ZS10ZXJtaW5hbC1jb250YWluZXIiPjwvZGl2PgogICAgICAgICAgYDpNYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6dGVybWluYWwifSBpY29uU2l6ZT0iMzIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDxzcGFuPk5vIHRlcm1pbmFsIG9wZW48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KICAgICAgICAgIDxkZWVzLWFjdGlvbmJhcj48L2RlZXMtYWN0aW9uYmFyPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFZlcnRpY2FsIHRhYiBiYXIgb24gdGhlIHJpZ2h0IC0tPgogICAgICAgICR7dGhpcy5zaG93VGFiQmFyP01gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItYmFyIiBzdHlsZT0id2lkdGg6ICR7dGhpcy50YWJCYXJXaWR0aH1weCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1iYXItaGVhZGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFiLWJhci10aXRsZSI+VGVybWluYWxzPC9zcGFuPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1iYXItYWN0aW9ucyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItYWN0aW9uIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUFkZFRhYn0gdGl0bGU9Ik5ldyBUZXJtaW5hbCI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOnBsdXMifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWxpc3QiPgogICAgICAgICAgICAgICR7dGhpcy50YWJzLm1hcCh6PT5NYAogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0idGVybWluYWwtdGFiICR7ei5pZD09PXRoaXMuYWN0aXZlVGFiSWQ/ImFjdGl2ZSI6IiJ9ICR7ei5leGl0ZWQ/ImV4aXRlZCI6IiJ9IgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zd2l0Y2hUb1RhYih6LmlkKX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAgICAgICAgIC5pY29uPSR7ei5pY29uTmFtZX0KICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZT0iMTQiCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRhYi1pY29uICR7ei5wcm9jZXNzJiYhei5leGl0ZWQ/InJ1bm5pbmciOiIifSIKICAgICAgICAgICAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFiLWxhYmVsIj4ke3oubGFiZWx9PC9zcGFuPgogICAgICAgICAgICAgICAgICAke3ouZXhpdGVkP01gCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImV4aXQtYmFkZ2UgJHt6LmV4aXRDb2RlPT09MD8ic3VjY2VzcyI6ImVycm9yIn0iPgogICAgICAgICAgICAgICAgICAgICAgJHt6LmV4aXRDb2RlfQogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICAgJHt6LmNsb3NlYWJsZT9NYAogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWItY2xvc2UiIEBjbGljaz0ke0U9PnRoaXMuaGFuZGxlVGFiQ2xvc2UoRSx6LmlkKX0+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp4In0gaWNvblNpemU9IjEyIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7bGV0IF89YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy5pc0JyaWdodD1fLnRoZW1lTWFuYWdlci5nb0JyaWdodEJvb2xlYW4sdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPV8udGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoTD0+e3RoaXMuaXNCcmlnaHQ9TCx0aGlzLnRhYk1hbmFnZXIudXBkYXRlQWxsVGhlbWVzKEwpfSk7bGV0IHo9ZW4uZ2V0SW5zdGFuY2UoKSxbRSxUXT1hd2FpdCBQcm9taXNlLmFsbChbei5sb2FkWHRlcm0oKSx6LmxvYWRYdGVybUZpdEFkZG9uKCldKTt0aGlzLnRhYk1hbmFnZXIuc2V0WHRlcm1Nb2R1bGVzKEUsVCksYXdhaXQgdGhpcy5jcmVhdGVTaGVsbFRhYigpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2xldCBfPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoImFjdGl2ZS10ZXJtaW5hbC1jb250YWluZXIiKTtfJiZ0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShfKSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb24mJih0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249bnVsbCksdGhpcy50YWJNYW5hZ2VyLmRpc3Bvc2VBbGwoKSxhd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpfWFzeW5jIGhhbmRsZUFkZFRhYigpe2F3YWl0IHRoaXMuY3JlYXRlU2hlbGxUYWIoKX1oYW5kbGVUYWJDbG9zZShfLHope18uc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jbG9zZVRhYih6KX1zd2l0Y2hUb1RhYihfKXtpZihfPT09dGhpcy5hY3RpdmVUYWJJZClyZXR1cm47bGV0IHo9dGhpcy50YWJNYW5hZ2VyLmdldFRhYihfKTtpZigheilyZXR1cm47bGV0IEU9dGhpcy5hY3RpdmVUYWJJZDt0aGlzLmFjdGl2ZVRhYklkJiZ0aGlzLmRldGFjaEFjdGl2ZVRlcm1pbmFsKCksdGhpcy5hY3RpdmVUYWJJZD1fLHRoaXMudGFicz10aGlzLnRhYk1hbmFnZXIuZ2V0QWxsVGFicygpLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e3RoaXMuYXR0YWNoVGVybWluYWxUb0NvbnRhaW5lcih6KSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc3dpdGNoZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDp7dGFiSWQ6XyxwcmV2aW91c1RhYklkOkV9fSkpfSl9ZGV0YWNoQWN0aXZlVGVybWluYWwoKXtsZXQgXz10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJhY3RpdmUtdGVybWluYWwtY29udGFpbmVyIik7XyYmKF8uaW5uZXJIVE1MPSIiKX1hdHRhY2hUZXJtaW5hbFRvQ29udGFpbmVyKF8pe2xldCB6PXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoImFjdGl2ZS10ZXJtaW5hbC1jb250YWluZXIiKTt6JiYodGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHopLHouaW5uZXJIVE1MPSIiLF8udGVybWluYWwub3Blbih6KSxfLmZpdEFkZG9uLmZpdCgpLF8udGVybWluYWwuZm9jdXMoKSl9aGFuZGxlUmVzaXplKCl7aWYodGhpcy5hY3RpdmVUYWJJZCl7bGV0IF89dGhpcy50YWJNYW5hZ2VyLmdldFRhYih0aGlzLmFjdGl2ZVRhYklkKTtfJiZfLmZpdEFkZG9uLmZpdCgpfX1hc3luYyBzcGF3blByb2Nlc3NGb3JUYWIoXyx6LEU9W10pe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXtfLnRlcm1pbmFsLndyaXRlKCJceDFCWzMxbSIpLF8udGVybWluYWwud3JpdGUoYFx1Mjc0QyBObyBleGVjdXRpb24gZW52aXJvbm1lbnQgYXZhaWxhYmxlLlxyCmApLF8udGVybWluYWwud3JpdGUoIlx4MUJbMG0iKTtyZXR1cm59dHJ5e3RoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZHl8fChfLnRlcm1pbmFsLndyaXRlKGBJbml0aWFsaXppbmcgZW52aXJvbm1lbnQuLi5ccgpgKSxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmluaXQoKSk7bGV0IFQ9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5zcGF3bih6LEUpO1Qub3V0cHV0LnBpcGVUbyhuZXcgV3JpdGFibGVTdHJlYW0oe3dyaXRlOlY9PntfLnRlcm1pbmFsLndyaXRlKFYpfX0pKTtsZXQgTD1ULmlucHV0LmdldFdyaXRlcigpO18udGVybWluYWwub25EYXRhKFY9PntMLndyaXRlKFYpfSksdGhpcy50YWJNYW5hZ2VyLnNldFRhYlByb2Nlc3MoXy5pZCxULEwpLHRoaXMudGFicz10aGlzLnRhYk1hbmFnZXIuZ2V0QWxsVGFicygpLFQuZXhpdC50aGVuKFY9Pnt0aGlzLmhhbmRsZVByb2Nlc3NFeGl0KF8uaWQsVil9KX1jYXRjaChUKXtfLnRlcm1pbmFsLndyaXRlKCJceDFCWzMxbSIpLF8udGVybWluYWwud3JpdGUoYFx1Mjc0QyBGYWlsZWQgdG8gc3Bhd24gcHJvY2VzczogJHtUfVxyCmApLF8udGVybWluYWwud3JpdGUoIlx4MUJbMG0iKSxjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3Bhd24gcHJvY2VzczoiLFQpfX1oYW5kbGVQcm9jZXNzRXhpdChfLHope2xldCBFPXRoaXMudGFiTWFuYWdlci5nZXRUYWIoXyk7aWYoIUUpcmV0dXJuO3RoaXMudGFiTWFuYWdlci5tYXJrVGFiRXhpdGVkKF8seik7bGV0IFQ9ej09PTA/YFxyClx4MUJbMzJtW1Byb2Nlc3MgY29tcGxldGVkIHN1Y2Nlc3NmdWxseV1ceDFCWzBtXHIKYDpgXHIKXHgxQlszMW1bUHJvY2VzcyBleGl0ZWQgd2l0aCBjb2RlICR7en1dXHgxQlswbVxyCmA7RS50ZXJtaW5hbC53cml0ZShUKSx0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwcm9jZXNzLWNvbXBsZXRlIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3RhYklkOl8sZXhpdENvZGU6en19KSksRS5jbG9zZWFibGUmJnRoaXMuc2hvd0V4aXRlZFRhYkFjdGlvbmJhcihfLEUubGFiZWwseil9YXN5bmMgc2hvd0V4aXRlZFRhYkFjdGlvbmJhcihfLHosRSl7bGV0IFQ9RT09PTA7KGF3YWl0IHRoaXMuc2hvd0FjdGlvbmJhcih7bWVzc2FnZTpUP2AiJHt6fSIgY29tcGxldGVkLiBDbG9zZSB0YWI/YDpgIiR7en0iIGV4aXRlZCAoY29kZSAke0V9KS4gQ2xvc2UgdGFiP2AsdHlwZTpUPyJpbmZvIjoid2FybmluZyIsaWNvbjpUPyJsdWNpZGU6Y2hlY2tDaXJjbGUiOiJsdWNpZGU6YWxlcnRUcmlhbmdsZSIsYWN0aW9uczpbe2lkOiJjbG9zZSIsbGFiZWw6IkNsb3NlIFRhYiIscHJpbWFyeTohMH0se2lkOiJrZWVwIixsYWJlbDoiS2VlcCBPcGVuIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjFlNCxkZWZhdWx0QWN0aW9uSWQ6ImNsb3NlIn0sZGlzbWlzc2libGU6ITB9KSkuYWN0aW9uSWQ9PT0iY2xvc2UiJiZ0aGlzLmNsb3NlVGFiKF8pfWFzeW5jIGNyZWF0ZVNoZWxsVGFiKF8pe2xldCB6PXRoaXMudGFiTWFuYWdlci5jcmVhdGVUYWIoe3R5cGU6InNoZWxsIixsYWJlbDpffHxgYmFzaCAke3RoaXMudGFiTWFuYWdlci5nZXRUYWJDb3VudCgpKzF9YCxjbG9zZWFibGU6dGhpcy50YWJNYW5hZ2VyLmdldFRhYkNvdW50KCk+MH0sdGhpcy5pc0JyaWdodCk7cmV0dXJuIHRoaXMudGFicz10aGlzLnRhYk1hbmFnZXIuZ2V0QWxsVGFicygpLHRoaXMuc3dpdGNoVG9UYWIoei5pZCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCB0aGlzLnNwYXduUHJvY2Vzc0ZvclRhYih6LCJqc2giKSx0aGlzLnRhYk1hbmFnZXIuZ2V0VGFiQ291bnQoKT09PTEmJnRoaXMuc2V0dXBDb21tYW5kJiYoYXdhaXQgdGhpcy53YWl0Rm9yUHJvbXB0KHoudGVybWluYWwsIn4vIiksei5pbnB1dFdyaXRlciYmei5pbnB1dFdyaXRlci53cml0ZSh0aGlzLnNldHVwQ29tbWFuZCkpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1jcmVhdGVkIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3RhYklkOnouaWR9fSkpLHouaWR9YXN5bmMgY3JlYXRlUHJvY2Vzc1RhYihfKXtsZXQgej10aGlzLnRhYk1hbmFnZXIuY3JlYXRlVGFiKF8sdGhpcy5pc0JyaWdodCk7cmV0dXJuIHRoaXMudGFicz10aGlzLnRhYk1hbmFnZXIuZ2V0QWxsVGFicygpLF8uc3dpdGNoVG9UYWIhPT0hMSYmdGhpcy5zd2l0Y2hUb1RhYih6LmlkKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLF8uY29tbWFuZCYmYXdhaXQgdGhpcy5zcGF3blByb2Nlc3NGb3JUYWIoeixfLmNvbW1hbmQsXy5hcmdzKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY3JlYXRlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDp6LmlkfX0pKSx6LmlkfWdldEFjdGl2ZVRhYigpe3JldHVybiB0aGlzLmFjdGl2ZVRhYklkJiZ0aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKHRoaXMuYWN0aXZlVGFiSWQpfHxudWxsfWdldFRhYnMoKXtyZXR1cm4gdGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKX1zZWxlY3RUYWIoXyl7cmV0dXJuIHRoaXMudGFiTWFuYWdlci5oYXNUYWIoXyk/KHRoaXMuc3dpdGNoVG9UYWIoXyksITApOiExfWNsb3NlVGFiKF8pe2xldCB6PXRoaXMudGFiTWFuYWdlci5nZXRUYWIoXyk7aWYoIXp8fCF6LmNsb3NlYWJsZSlyZXR1cm4hMTtpZihfPT09dGhpcy5hY3RpdmVUYWJJZCl7bGV0IEU9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSxUPUUuZmluZEluZGV4KFY9PlYuaWQ9PT1fKSxMPUVbVCsxXXx8RVtULTFdO0w/dGhpcy5zd2l0Y2hUb1RhYihMLmlkKToodGhpcy5hY3RpdmVUYWJJZD1udWxsLHRoaXMuZGV0YWNoQWN0aXZlVGVybWluYWwoKSl9cmV0dXJuIHRoaXMudGFiTWFuYWdlci5jbG9zZVRhYihfKSx0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY2xvc2VkIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3RhYklkOl99fSkpLCEwfXdyaXRlVG9UYWIoXyx6KXtsZXQgRT10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKF8pO3JldHVybiBFPyhFLnRlcm1pbmFsLndyaXRlKHopLCEwKTohMX1zZW5kSW5wdXRUb1RhYihfLHope2xldCBFPXRoaXMudGFiTWFuYWdlci5nZXRUYWIoXyk7cmV0dXJuIUV8fCFFLmlucHV0V3JpdGVyPyExOihFLmlucHV0V3JpdGVyLndyaXRlKHopLCEwKX1hc3luYyBzaG93QWN0aW9uYmFyKF8pe3JldHVybiB0aGlzLnRlcm1pbmFsQWN0aW9uYmFyfHwodGhpcy50ZXJtaW5hbEFjdGlvbmJhcj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYWN0aW9uYmFyIikpLHRoaXMudGVybWluYWxBY3Rpb25iYXI/LnNob3coXyl9YXN5bmMgd2FpdEZvclByb21wdChfLHope3JldHVybiBuZXcgUHJvbWlzZShFPT57bGV0IFQ9KCk9PntsZXQgTD1fLmJ1ZmZlci5hY3RpdmU7Zm9yKGxldCBWPTA7VjxMLmxlbmd0aDtWKyspe2xldCBCPUwuZ2V0TGluZShWKTtpZihCJiZCLnRyYW5zbGF0ZVRvU3RyaW5nKCkuaW5jbHVkZXMoeikpe3NldFRpbWVvdXQoKCk9PntFKCl9LDEwMCk7cmV0dXJufX1zZXRUaW1lb3V0KFQsMTAwKX07VCgpfSl9YXN5bmMgc2V0RW52aXJvbm1lbnRWYXJpYWJsZXMoXyl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpdGhyb3cgbmV3IEVycm9yKCJObyBleGVjdXRpb24gZW52aXJvbm1lbnQgYXZhaWxhYmxlIik7bGV0IHo9IiI7Zm9yKGxldCBFIGluIF8peis9YGV4cG9ydCAke0V9PSIke19bRV19IgpgO2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKCIvc291cmNlLmVudiIseil9Z2V0RXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudH1zdGF0aWN7bDEoYSxyKX19O3JldHVybiBxPWF9KSgpfSk7dmFyIEV1ZSxJdWUsakpyLFZKcixVSnIsTXVyLGt1cj1mKCgpPT57dWUoKTtTZigpO1E0KCk7bEYoKTt4RigpO2dGKCk7SzYoKTtERigpO0V1ZT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LEl1ZT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sakpyPSgoKT0+e2xldCBlPVtyZSgiZGVtby12aWV3LWRhc2hib2FyZCIpXSx0LHI9W10sYSxpPWhlO3ZhciBuPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgcz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtFdWUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6c30sbnVsbCxyKSxuPWE9dC52YWx1ZSxzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnN9KX1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIH0KICAgICAgaDEgewogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICB9CiAgICAgIGRlZXMtc3RhdHNncmlkIHsKICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICB9CiAgICBgXTtzdGF0c1RpbGVzPVt7aWQ6InVzZXJzIix0aXRsZToiQWN0aXZlIFVzZXJzIix2YWx1ZToxMjM0LHR5cGU6Im51bWJlciIsaWNvbjoiZmFVc2VycyIsZGVzY3JpcHRpb246IisxNSUgZnJvbSBsYXN0IHdlZWsiLGNvbG9yOiIjMjJjNTVlIn0se2lkOiJwYWdldmlld3MiLHRpdGxlOiJQYWdlIFZpZXdzIix2YWx1ZTo1NjcwMCx0eXBlOiJudW1iZXIiLGljb246ImZhRXllIixkZXNjcmlwdGlvbjoiNTYuN2sgdG90YWwgdmlld3MiLGNvbG9yOiIjM2I4MmY2In0se2lkOiJ1cHRpbWUiLHRpdGxlOiJTeXN0ZW0gVXB0aW1lIix2YWx1ZTo4OSx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoiZmFTZXJ2ZXIiLGRlc2NyaXB0aW9uOiJMYXN0IDMwIGRheXMiLGNvbG9yOiIjMTBiOTgxIixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjgwLGNvbG9yOiIjZWY0NDQ0In0se3ZhbHVlOjkwLGNvbG9yOiIjZjU5ZTBiIn0se3ZhbHVlOjEwMCxjb2xvcjoiIzEwYjk4MSJ9XX19LHtpZDoicmVzcG9uc2UiLHRpdGxlOiJBdmcgUmVzcG9uc2UgVGltZSIsdmFsdWU6My4yLHVuaXQ6InMiLHR5cGU6Im51bWJlciIsaWNvbjoiZmFDbG9jayIsZGVzY3JpcHRpb246Ii0wLjVzIGltcHJvdmVtZW50Iixjb2xvcjoiI2Y1OWUwYiJ9LHtpZDoicmV2ZW51ZSIsdGl0bGU6Ik1vbnRobHkgUmV2ZW51ZSIsdmFsdWU6NDg1MjAsdW5pdDoiJCIsdHlwZToidHJlbmQiLGljb246ImZhRG9sbGFyU2lnbiIsZGVzY3JpcHRpb246Iis4LjIlIGdyb3d0aCIsY29sb3I6IiMyMmM1NWUiLHRyZW5kRGF0YTpbMzVlMywzOGUzLDM3NTAwLDQxZTMsMzk4MDAsNDJlMyw0NDEwMCw0MzIwMCw0NTYwMCw0NzEwMCw0NjgwMCw0ODUyMF19LHtpZDoidHJhZmZpYyIsdGl0bGU6IlRyYWZmaWMgVHJlbmQiLHZhbHVlOjE2ODAsdHlwZToidHJlbmQiLGljb246ImZhQ2hhcnRMaW5lIixkZXNjcmlwdGlvbjoiTGFzdCA3IGRheXMiLGNvbG9yOiIjM2I4MmY2Iix0cmVuZERhdGE6WzEyMDAsMTM1MCwxMTAwLDE0NTAsMTYwMCwxNTUwLDE2ODBdfV07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxoMT5EYXNoYm9hcmQ8L2gxPgogICAgICA8cD5XZWxjb21lIHRvIHlvdXIgYXBwbGljYXRpb24gZGFzaGJvYXJkLiBIZXJlJ3MgYW4gb3ZlcnZpZXcgb2YgeW91ciBtZXRyaWNzOjwvcD4KICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy5zdGF0c1RpbGVzfQogICAgICAgIEB0aWxlLWFjdGlvbj0ke3M9Pntjb25zb2xlLmxvZygiVGlsZSBhY3Rpb246IixzLmRldGFpbCl9fQogICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgIGB9c3RhdGlje0l1ZShhLHIpfX07cmV0dXJuIG49YX0pKCksVkpyPSgoKT0+e2xldCBlPVtyZSgiZGVtby12aWV3LWFuYWx5dGljcyIpXSx0LHI9W10sYSxpPWhlO3ZhciBuPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgcz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtFdWUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6c30sbnVsbCxyKSxuPWE9dC52YWx1ZSxzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnN9KX1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIH0KICAgICAgaDEgewogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGgxPkFuYWx5dGljczwvaDE+CiAgICAgIDxwPlRoaXMgaXMgdGhlIGFuYWx5dGljcyB2aWV3LiBZb3UgY2FuIGFkZCBjaGFydHMgYW5kIG1ldHJpY3MgaGVyZS48L3A+CiAgICBgfXN0YXRpY3tJdWUoYSxyKX19O3JldHVybiBuPWF9KSgpLFVKcj0oKCk9PntsZXQgZT1bcmUoImRlbW8tdmlldy1zZXR0aW5ncyIpXSx0LHI9W10sYSxpPWhlO3ZhciBuPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgcz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtFdWUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6c30sbnVsbCxyKSxuPWE9dC52YWx1ZSxzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnN9KX1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIH0KICAgICAgaDEgewogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIGgyIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgIH0KICAgICAgLmhvcml6b250YWwtZm9ybS1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y1ZjVmNSIsIiMxYTFhMWEiKX07CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luOiAxNXB4IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8aDE+U2V0dGluZ3M8L2gxPgogICAgICA8cD5Db25maWd1cmUgeW91ciBhcHBsaWNhdGlvbiBzZXR0aW5ncyBiZWxvdzo8L3A+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICA8aDI+R2VuZXJhbCBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJhcHBOYW1lIiBsYWJlbD0iQXBwbGljYXRpb24gTmFtZSIgdmFsdWU9Ik15IEFwcCI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iYXBpRW5kcG9pbnQiIGxhYmVsPSJBUEkgRW5kcG9pbnQiIHZhbHVlPSJodHRwczovL2FwaS5leGFtcGxlLmNvbSI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICBrZXk9ImVudmlyb25tZW50IgogICAgICAgICAgICBsYWJlbD0iRW52aXJvbm1lbnQiCiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkRldmVsb3BtZW50IixrZXk6ImRldiJ9LHtvcHRpb246IlN0YWdpbmciLGtleToic3RhZ2luZyJ9LHtvcHRpb246IlByb2R1Y3Rpb24iLGtleToicHJvZCJ9XX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiUHJvZHVjdGlvbiIsa2V5OiJwcm9kIn19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJlbmFibGVOb3RpZmljYXRpb25zIiBsYWJlbD0iRW5hYmxlIE5vdGlmaWNhdGlvbnMiIHZhbHVlPSJ0cnVlIj48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCBrZXk9ImVuYWJsZUFuYWx5dGljcyIgbGFiZWw9IkVuYWJsZSBBbmFseXRpY3MiIHZhbHVlPSJmYWxzZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U2F2ZSBHZW5lcmFsIFNldHRpbmdzPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgIDxoMj5EaXNwbGF5IFByZWZlcmVuY2VzPC9oMj4KICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWZvcm0tc2VjdGlvbiI+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMTZweDsiPlF1aWNrIGRpc3BsYXkgc2V0dGluZ3MgdXNpbmcgaG9yaXpvbnRhbCBsYXlvdXQ6PC9wPgogICAgICAgICAgPGRlZXMtZm9ybSBob3Jpem9udGFsLWxheW91dD4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgICBrZXk9InRoZW1lIgogICAgICAgICAgICAgIGxhYmVsPSJUaGVtZSIKICAgICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiTGlnaHQiLGtleToibGlnaHQifSx7b3B0aW9uOiJEYXJrIixrZXk6ImRhcmsifSx7b3B0aW9uOiJBdXRvIixrZXk6ImF1dG8ifV19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiRGFyayIsa2V5OiJkYXJrIn19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAga2V5PSJsYW5ndWFnZSIKICAgICAgICAgICAgICBsYWJlbD0iTGFuZ3VhZ2UiCiAgICAgICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifSx7b3B0aW9uOiJHZXJtYW4iLGtleToiZGUifSx7b3B0aW9uOiJTcGFuaXNoIixrZXk6ImVzIn0se29wdGlvbjoiRnJlbmNoIixrZXk6ImZyIn1dfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJjb21wYWN0TW9kZSIgbGFiZWw9IkNvbXBhY3QgTW9kZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbiI+CiAgICAgICAgPGgyPk5vdGlmaWNhdGlvbiBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIEZyZXF1ZW5jeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJSZWFsLXRpbWUiLCJEYWlseSBEaWdlc3QiLCJXZWVrbHkgU3VtbWFyeSIsIk5ldmVyIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJSZWFsLXRpbWUifQogICAgICAgICAgICAua2V5PSR7ImVtYWlsRnJlcXVlbmN5In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IGtleT0icHVzaE5vdGlmaWNhdGlvbnMiIGxhYmVsPSJFbmFibGUgUHVzaCBOb3RpZmljYXRpb25zIiB2YWx1ZT0idHJ1ZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJzb3VuZEFsZXJ0cyIgbGFiZWw9IlBsYXkgU291bmQgZm9yIEFsZXJ0cyIgdmFsdWU9InRydWUiPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlVwZGF0ZSBOb3RpZmljYXRpb25zPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje0l1ZShhLHIpfX07cmV0dXJuIG49YX0pKCksTXVyPSgpPT5NYAogIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICB9CiAgICAuZGVtby1jb250YWluZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLXNpbXBsZS1hcHBkYXNoCiAgICAgIG5hbWU9Ik15IEFwcGxpY2F0aW9uIgogICAgICB0ZXJtaW5hbFNldHVwQ29tbWFuZD0iZWNobyAnV2VsY29tZSB0byB0aGUgdGVybWluYWwhJyIKICAgICAgLnZpZXdUYWJzPSR7W3tuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6aG9tZSIsZWxlbWVudDpqSnJ9LHtuYW1lOiJBbmFseXRpY3MiLGljb25OYW1lOiJsdWNpZGU6bGluZUNoYXJ0IixlbGVtZW50OlZKcn0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixlbGVtZW50OlVKcn1dfQogICAgICBAbG9nb3V0PSR7KCk9Pntjb25zb2xlLmxvZygiTG9nb3V0IGV2ZW50IHRyaWdnZXJlZCIpLGFsZXJ0KCJMb2dvdXQgY2xpY2tlZCEiKX19CiAgICAgIEB2aWV3LXNlbGVjdD0ke2U9Pntjb25zb2xlLmxvZygiVmlldyBzZWxlY3RlZDoiLGUuZGV0YWlsLnZpZXcubmFtZSl9fQogICAgPjwvZGVlcy1zaW1wbGUtYXBwZGFzaD4KICA8L2Rpdj4KYH0pO3ZhciBidixxYyxTdXIsenVyPWYoKCk9PntrdXIoKTt1ZSgpO2lyKCk7UWUoKTtidj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LHFjPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxTdXI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXNpbXBsZS1hcHBkYXNoIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCB3PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0YoKV0sYz1bRih7dHlwZTpBcnJheX0pXSxkPVtGKHt0eXBlOlN0cmluZ30pXSx2PVtzZSgpXSxidih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJuYW1lImluIGssZ2V0Oms9PmsubmFtZSxzZXQ6KGssUik9PntrLm5hbWU9Un19LG1ldGFkYXRhOnd9LHMsbyksYnYodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aWV3VGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+InZpZXdUYWJzImluIGssZ2V0Oms9Pmsudmlld1RhYnMsc2V0OihrLFIpPT57ay52aWV3VGFicz1SfX0sbWV0YWRhdGE6d30sbCx1KSxidih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRlcm1pbmFsU2V0dXBDb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4idGVybWluYWxTZXR1cENvbW1hbmQiaW4gayxnZXQ6az0+ay50ZXJtaW5hbFNldHVwQ29tbWFuZCxzZXQ6KGssUik9PntrLnRlcm1pbmFsU2V0dXBDb21tYW5kPVJ9fSxtZXRhZGF0YTp3fSxoLG0pLGJ2KHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRWaWV3IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4ic2VsZWN0ZWRWaWV3ImluIGssZ2V0Oms9Pmsuc2VsZWN0ZWRWaWV3LHNldDooayxSKT0+e2suc2VsZWN0ZWRWaWV3PVJ9fSxtZXRhZGF0YTp3fSxiLGcpLGJ2KG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOnd9LG51bGwscikseT1hPXQudmFsdWUsdyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp3fSl9c3RhdGljIGRlbW89TXVyO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2ltcGxlIl07I2U9cWModGhpcyxzLCJBcHBsaWNhdGlvbiBEYXNoYm9hcmQiKTtnZXQgbmFtZSgpe3JldHVybiB0aGlzLiNlfXNldCBuYW1lKHcpe3RoaXMuI2U9d30jdD0ocWModGhpcyxvKSxxYyh0aGlzLGwsW10pKTtnZXQgdmlld1RhYnMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdmlld1RhYnModyl7dGhpcy4jdD13fSNyPShxYyh0aGlzLHUpLHFjKHRoaXMsaCwnZWNobyAiVGVybWluYWwgcmVhZHkiJykpO2dldCB0ZXJtaW5hbFNldHVwQ29tbWFuZCgpe3JldHVybiB0aGlzLiNyfXNldCB0ZXJtaW5hbFNldHVwQ29tbWFuZCh3KXt0aGlzLiNyPXd9I2E9KHFjKHRoaXMsbSkscWModGhpcyxiLHZvaWQgMCkpO2dldCBzZWxlY3RlZFZpZXcoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0ZWRWaWV3KHcpe3RoaXMuI2E9d31zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICByaWdodDogMHB4OwogICAgICAgIGJvdHRvbTogMHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5hcHBiYXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNHB4KTsKICAgICAgICB3aWR0aDogMjQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk5JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDkxJSkiLCJoc2woMCAwJSAxMyUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIG1pbi1jb250ZW50OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyLWhlYWRlciB7CiAgICAgICAgcGFkZGluZzogMjBweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTElKSIsImhzbCgwIDAlIDEzJSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmhlYWRlci1pY29uLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgibGluZWFyLWdyYWRpZW50KDEzNWRlZywgaHNsKDIxNSAyMCUgOTUlKSAwJSwgaHNsKDIxNSAyMCUgOTAlKSAxMDAlKSIsImxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGhzbCgyMTUgMjAlIDE4JSkgMCUsIGhzbCgyMTUgMjAlIDE0JSkgMTAwJSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogJHtwLmJkVGhlbWUoIjAgMXB4IDJweCByZ2IoMCAwIDAgLyAwLjA1KSwgaW5zZXQgMCAxcHggMCByZ2IoMjU1IDI1NSAyNTUgLyAwLjUpIiwiMCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMiksIGluc2V0IDAgMXB4IDAgcmdiKDI1NSAyNTUgMjU1IC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaWNvbi13cmFwcGVyIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAyMCUgNDAlKSIsImhzbCgyMTUgMjAlIDcwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hcHBOYW1lIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOwogICAgICB9CgogICAgICAudmlld1RhYnMtY29udGFpbmVyIHsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDEycHggOHB4OwogICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKICAgICAgICBzY3JvbGxiYXItY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfSB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnZpZXdUYWJzLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnZpZXdUYWJzLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNzUlKSIsImhzbCgwIDAlIDMwJSkiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNTAlKSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweCA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAudmlld1RhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnZpZXdUYWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2NSUpIil9OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA0KSIsImhzbCgwIDAlIDEwMCUgLyAwLjA1KSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAudmlld1RhYjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDYpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMDcpIil9OwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OSk7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDIxNSAyNSUgOTUlKSIsImhzbCgyMTUgMjAlIDE1JSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDI1JSAzMCUpIiwiaHNsKDIxNSAyNSUgODUlKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAudmlld1RhYi5zZWxlY3RlZDo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDhweDsKICAgICAgICBib3R0b206IDhweDsKICAgICAgICB3aWR0aDogM3B4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjE1IDcwJSA1MCUpIiwiaHNsKDIxNSA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnZpZXdUYWIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC41NTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnZpZXdUYWI6aG92ZXIgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAwLjc1OwogICAgICB9CgogICAgICAudmlld1RhYi5zZWxlY3RlZCBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTUgNzAlIDQ1JSkiLCJoc2woMjE1IDcwJSA2NSUpIil9OwogICAgICB9CgogICAgICAudmlld1RhYiBzcGFuIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmFwcEFjdGlvbnMgewogICAgICAgIHBhZGRpbmc6IDEycHggOHB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTElKSIsImhzbCgwIDAlIDEzJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDg0JSA2MCUgLyAwLjA4KSIsImhzbCgwIDg0JSA2MCUgLyAwLjEyKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDg0JSA0NSUpIiwiaHNsKDAgODQlIDY1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uOmhvdmVyIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgODQlIDQ1JSkiLCJoc2woMCA4NCUgNjUlKSIpfTsKICAgICAgfQoKICAgICAgLmFwcGNvbnRlbnQgewogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMHB4OwogICAgICAgIHJpZ2h0OiAwcHg7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNHB4KTsKICAgICAgICBib3R0b206IDI0cHg7CiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI0MHB4KTsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDUlKSIpfTsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICB9CgogICAgICAuY29udHJvbGJhciB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMHB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMjAgMTMlIDE4JSkiLCJoc2woMjIwIDEzJSAxMiUpIil9OwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtOwogICAgICB9CgogICAgICAuY29udHJvbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgY29sb3I6IGhzbCgwIDAlIDcwJSk7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBoc2woMCAwJSAxMDAlIC8gMC4wOCk7CiAgICAgIH0KCiAgICAgIC5jb250cm9sOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLmNvbnRyb2w6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgwIDAlIDEwMCUgLyAwLjA2KTsKICAgICAgICBjb2xvcjogaHNsKDAgMCUgOTUlKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2wgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLnN0YXR1cy1jb25uZWN0ZWQgZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogaHNsKDE0MiA3MCUgNTAlKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2wuc3RhdHVzLXRlcm1pbmFsIGRlZXMtaWNvbiB7CiAgICAgICAgY29sb3I6IGhzbCg0NSA5MCUgNTUlKTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImFwcGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pY29uLXdyYXBwZXIiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTpsYXlvdXRHcmlkIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXBwTmFtZSI+JHt0aGlzLm5hbWV9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InZpZXdUYWJzLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPk5hdmlnYXRpb248L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlld1RhYnMiPgogICAgICAgICAgICAgICR7dGhpcy52aWV3VGFicy5tYXAodz0+TWAKICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ2aWV3VGFiICR7dGhpcy5zZWxlY3RlZFZpZXc9PT13PyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmxvYWRWaWV3KHcpfQogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgJHt3Lmljb25OYW1lP01gCiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke3cuaWNvbk5hbWUuaW5jbHVkZXMoIjoiKT93Lmljb25OYW1lOmBsdWNpZGU6JHt3Lmljb25OYW1lfWB9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICBgOk1gCiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6ZmlsZSJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgICAgIDxzcGFuPiR7dy5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcEFjdGlvbnMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24iIEBjbGljaz0keygpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibG9nb3V0Iix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX19PgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTpsb2dPdXQifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4+U2lnbiBvdXQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYXBwY29udGVudCI+CiAgICAgICAgICA8IS0tIENvbnRlbnQgZ29lcyBoZXJlIC0tPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbCBzdGF0dXMtY29ubmVjdGVkIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOndpZmkifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuPkNvbm5lY3RlZDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbCBzdGF0dXMtdGVybWluYWwiIEBjbGljaz0ke3RoaXMubGF1bmNoVGVybWluYWx9PgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6dGVybWluYWwifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuPlRlcm1pbmFsPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQodyl7bGV0IGs9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7aWYoc3VwZXIuZmlyc3RVcGRhdGVkKHcpLHRoaXMudmlld1RhYnMmJnRoaXMudmlld1RhYnMubGVuZ3RoPjApe2xldCBSPXRoaXMuc2VsZWN0ZWRWaWV3fHx0aGlzLnZpZXdUYWJzWzBdO2F3YWl0IHRoaXMubG9hZFZpZXcoUil9fWN1cnJlbnRUZXJtaW5hbD1xYyh0aGlzLGcpO2FzeW5jIGxhdW5jaFRlcm1pbmFsKCl7bGV0IHc9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7aWYodGhpcy5jdXJyZW50VGVybWluYWwpe2F3YWl0IHRoaXMuY2xvc2VUZXJtaW5hbCgpO3JldHVybn1sZXQgaz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW5jb250YWluZXIiKSx7RGVlc1dvcmtzcGFjZVRlcm1pbmFsOlJ9PWF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihndigpLHd1cikpLEM9bmV3IFI7cmV0dXJuIEMuc2V0dXBDb21tYW5kPXRoaXMudGVybWluYWxTZXR1cENvbW1hbmQsdGhpcy5jdXJyZW50VGVybWluYWw9QyxrLmFwcGVuZENoaWxkKEMpLEMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixDLnN0eWxlLnpJbmRleD0iMTAiLEMuc3R5bGUudG9wPSIwcHgiLEMuc3R5bGUubGVmdD0iMjQwcHgiLEMuc3R5bGUucmlnaHQ9IjBweCIsQy5zdHlsZS5ib3R0b209IjI0cHgiLEMuc3R5bGUub3BhY2l0eT0iMCIsQy5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoOHB4KSBzY2FsZSgwLjk5KSIsQy5zdHlsZS50cmFuc2l0aW9uPSJhbGwgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSIsQy5zdHlsZS5ib3hTaGFkb3c9IjAgMjVweCA1MHB4IC0xMnB4IHJnYigwIDAgMCAvIDAuNSksIDAgMCAwIDFweCByZ2IoMjU1IDI1NSAyNTUgLyAwLjA1KSIsQy5zdHlsZS5tYXhXaWR0aD1gY2FsYygke2suY2xpZW50V2lkdGh9cHggLTI0MHB4KWAsQy5zdHlsZS5tYXhIZWlnaHQ9YGNhbGMoJHtrLmNsaWVudEhlaWdodH1weCAtIDI0cHgpYCxDLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwoKT0+dGhpcy5jbG9zZVRlcm1pbmFsKCkpLGF3YWl0IHcuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSxDLnN0eWxlLm9wYWNpdHk9IjEiLEMuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDApIHNjYWxlKDEpIixDfWFzeW5jIGNsb3NlVGVybWluYWwoKXtsZXQgdz1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLmN1cnJlbnRUZXJtaW5hbCYmKHRoaXMuY3VycmVudFRlcm1pbmFsLnN0eWxlLm9wYWNpdHk9IjAiLHRoaXMuY3VycmVudFRlcm1pbmFsLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSg4cHgpIHNjYWxlKDAuOTkpIixhd2FpdCB3LmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMjUwKSx0aGlzLmN1cnJlbnRUZXJtaW5hbC5yZW1vdmUoKSx0aGlzLmN1cnJlbnRUZXJtaW5hbD1udWxsKX1jdXJyZW50Vmlldzthc3luYyBsb2FkVmlldyh3KXtsZXQgaz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmFwcGNvbnRlbnQiKSxSPW5ldyB3LmVsZW1lbnQ7dGhpcy5jdXJyZW50VmlldyYmdGhpcy5jdXJyZW50Vmlldy5yZW1vdmUoKSxrLmFwcGVuZENoaWxkKFIpLHRoaXMuY3VycmVudFZpZXc9Uix0aGlzLnNlbGVjdGVkVmlldz13LHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInZpZXctc2VsZWN0Iix7ZGV0YWlsOnt2aWV3Ond9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9c3RhdGlje3FjKGEscil9fTtyZXR1cm4geT1hfSkoKX0pO3ZhciBDdXI9ZigoKT0+e3p1cigpfSk7dmFyIFR1cixfdXI9ZigoKT0+e3VlKCk7VHVyPSgpPT5NYAogIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICB9CiAgICAuZGVtby1jb250YWluZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLXNpbXBsZS1sb2dpbiAKICAgICAgbmFtZT0iTXkgQXBwbGljYXRpb24iCiAgICAgIEBsb2dpbj0ke2U9Pntjb25zb2xlLmxvZygiTG9naW4gZXZlbnQgcmVjZWl2ZWQ6IixlLmRldGFpbCk7bGV0IHQ9ZS5kZXRhaWw/LmRhdGF8fGUuZGV0YWlsO3Q/LnVzZXJuYW1lJiZ0Py5wYXNzd29yZD9hbGVydChgTG9naW4gYXR0ZW1wdGVkIHdpdGg6ClVzZXJuYW1lOiAke3QudXNlcm5hbWV9ClBhc3N3b3JkOiAke3QucGFzc3dvcmR9YCk6Y29uc29sZS5lcnJvcigiSW52YWxpZCBsb2dpbiBkYXRhIHN0cnVjdHVyZToiLGUuZGV0YWlsKX19CiAgICA+CiAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDQwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICAgIDxoMT5XZWxjb21lITwvaDE+CiAgICAgICAgPHA+VGhpcyBpcyB0aGUgc2xvdHRlZCBjb250ZW50IHRoYXQgYXBwZWFycyBhZnRlciBsb2dpbi48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLXNpbXBsZS1sb2dpbj4KICA8L2Rpdj4KYH0pO3ZhciBMdXIsUHVlLCR1cixEdXI9ZigoKT0+e191cigpO3VlKCk7UWUoKTtMdXI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxQdWU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LCR1cj0oKCk9PntsZXQgZT1bcmUoImRlZXMtc2ltcGxlLWxvZ2luIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0YoKV0sTHVyKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dT0+Im5hbWUiaW4gdSxnZXQ6dT0+dS5uYW1lLHNldDoodSxkKT0+e3UubmFtZT1kfX0sbWV0YWRhdGE6bH0scyxvKSxMdXIobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6bH0sbnVsbCxyKSxjPWE9dC52YWx1ZSxsJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmx9KX1zdGF0aWMgZGVtbz1UdXI7c3RhdGljIGRlbW9Hcm91cHM9WyJTaW1wbGUiXTsjZT1QdWUodGhpcyxzLCJBcHBsaWNhdGlvbiIpO2dldCBuYW1lKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG5hbWUobCl7dGhpcy4jZT1sfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAzLjklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5sb2dpbkNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgIH0KCiAgICAgIC5zbG90Q29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5sb2dpbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAubG9naW4taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICB9CgogICAgICAuc3ViaGVhZGVyIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5sb2dpbi1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgfQoKICAgICAgLmxvZ2luLWNhcmQgZGVlcy1mb3JtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAubG9naW4tY2FyZCBkZWVzLWlucHV0LXRleHQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubG9naW4tY2FyZCBkZWVzLWZvcm0tc3VibWl0IHsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJsb2dpbkNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj5TaWduIGluPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YmhlYWRlciI+RW50ZXIgeW91ciBjcmVkZW50aWFscyB0byBhY2Nlc3MgJHt0aGlzLm5hbWV9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLWNhcmQiPgogICAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJ1c2VybmFtZSIgbGFiZWw9IlVzZXJuYW1lIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0icGFzc3dvcmQiIGxhYmVsPSJQYXNzd29yZCIgaXNQYXNzd29yZEJvb2wgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U2lnbiBpbjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNsb3RDb250YWluZXIiPgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZChsKXtzdXBlci5maXJzdFVwZGF0ZWQobCk7bGV0IHU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpO3UmJnUuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLGQ9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsb2dpbiIse2RldGFpbDpkLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfSl9YXN5bmMgc3dpdGNoVG9TbG90dGVkQ29udGVudCgpe2xldCBsPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbiIpLGQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbkNvbnRhaW5lciIpLGg9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zbG90Q29udGFpbmVyIik7dS5zdHlsZS5vcGFjaXR5PSIwIix1LnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIsZC5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixoLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIsYXdhaXQgbC5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwMCksaC5zdHlsZS5vcGFjaXR5PSIxIixoLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgwcHgpIixhd2FpdCBsLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzAwKSxoLnN0eWxlLnBvaW50ZXJFdmVudHM9ImFsbCJ9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFB1ZSh0aGlzLG8pfXN0YXRpY3tQdWUoYSxyKX19O3JldHVybiBjPWF9KSgpfSk7dmFyIEF1cj1mKCgpPT57RHVyKCl9KTt2YXIgRXVyPWYoKCk9Pnt5dXIoKTtDdXIoKTtBdXIoKX0pO3ZhciBJdXI9ZigoKT0+e2lyKCl9KTt2YXIgUHVyLE51cj1mKCgpPT57dWUoKTtQdXI9KCk9Pk1gCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vV3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIAogICAgICAgIGJhY2tncm91bmQ6ICM4ODg4ODg7CiAgICAgIH0KICAgICAgLmxvZ3MgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgd2lkdGg6IDYwMHB4OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgIH0KICAgICAgLmxvZ3MgZGl2IHsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0iZGVtb1dyYXBwZXIiPgogICAgICA8ZGVlcy1zZWFyY2hiYXIKICAgICAgICBAc2VhcmNoLWNoYW5nZWQ9JHtyPT57bGV0IGk9ci50YXJnZXQuY2xvc2VzdCgiLmRlbW9XcmFwcGVyIik/LnF1ZXJ5U2VsZWN0b3IoIiNjaGFuZ2VkIik7aSYmKGkudGV4dENvbnRlbnQ9YHNlYXJjaC1jaGFuZ2VkOiAke3IuZGV0YWlsLnZhbHVlfWApfX0KICAgICAgICBAc2VhcmNoLXN1Ym1pdD0ke3I9PntsZXQgaT1yLnRhcmdldC5jbG9zZXN0KCIuZGVtb1dyYXBwZXIiKT8ucXVlcnlTZWxlY3RvcigiI3N1Ym1pdHRlZCIpO2kmJihpLnRleHRDb250ZW50PWBzZWFyY2gtc3VibWl0OiAke3IuZGV0YWlsLnZhbHVlfWApfX0KICAgICAgPjwvZGVlcy1zZWFyY2hiYXI+CiAgICAgIDxkaXYgY2xhc3M9ImxvZ3MiPgogICAgICAgIDxkaXYgaWQ9ImNoYW5nZWQiPnNlYXJjaC1jaGFuZ2VkOjwvZGl2PgogICAgICAgIDxkaXYgaWQ9InN1Ym1pdHRlZCI+c2VhcmNoLXN1Ym1pdDo8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICBgfSk7dmFyIEZ1cixOdWUsT3VyLFJ1cj1mKCgpPT57dWUoKTtCcygpO051cigpO1FlKCk7RnVyPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sTnVlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxPdXI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXNlYXJjaGJhciIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdO3ZhciBjPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgbD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKCldLEZ1cih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlcnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJmaWx0ZXJzImluIHUsZ2V0OnU9PnUuZmlsdGVycyxzZXQ6KHUsZCk9Pnt1LmZpbHRlcnM9ZH19LG1ldGFkYXRhOmx9LHMsbyksRnVyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89UHVyO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdO3N0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICBmb250LWZhbWlseTogRGVlcyBTYW5zOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZWVlZWViIiwiIzAwMDAwMCIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaGJveENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMDAwMDAwMTUiLCIjZmZmZmZmMTUiKX07CiAgICAgICAgLS1ib3hIZWlnaHQ6IDYwcHg7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ib3hIZWlnaHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJveEhlaWdodCk7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxNDBweDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiIzAwMDAwMDE1IiwiI2ZmZmZmZjIwIil9OwogICAgICB9CgogICAgICBpbnB1dCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAwMDAwMCIsIiNlZWVlZWIiKX07CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OwogICAgICAgIG1hcmdpbi1yaWdodDogLThweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLnNlYXJjaEJ1dHRvbiB7CiAgICAgICAgLS1idXR0b25QYWRkaW5nOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlZWVlZWIiLCIjMDAwMDAwIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAwMDAwMCIsIiNlZWVlZWIiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGModmFyKC0tYm94SGVpZ2h0KSAtICh2YXIoLS1idXR0b25QYWRkaW5nKSAqIDIpKTsKICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3hIZWlnaHQpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIAogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzLCBiYWNrZ3JvdW5kIDAuMXM7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1idXR0b25QYWRkaW5nKTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnNlYXJjaEJ1dHRvbjpob3ZlciB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoRzYuYmx1ZSxScy5ibHVlKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2hCdXR0b246YWN0aXZlIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZShHNi5ibHVlQWN0aXZlLFJzLmJsdWVBY3RpdmUpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpOwogICAgICB9CgogICAgICAuZmlsdGVycyB7CiAgICAgICAgbWFyZ2luOiBhdXRvOwogICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIH0KICAgIGBdOyNlPU51ZSh0aGlzLHMsW10pO2dldCBmaWx0ZXJzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGZpbHRlcnMobCl7dGhpcy4jZT1sfXNlYXJjaElucHV0PU51ZSh0aGlzLG8pO3NlYXJjaEJ1dHRvbjtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9InNlYXJjaGJveENvbnRhaW5lciI+CiAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJZb3VyIFNraWxscyAoZS5nLiBUeXBlU2NyaXB0LCBSdXN0LCBQcm9qZWN0bWFuYWdlbWVudCkiIC8+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoQnV0dG9uIj5TZWFyY2ggLT48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgICR7dGhpcy5maWx0ZXJzLmxlbmd0aD4wP01gCiAgICAgICAgPGRpdiBjbGFzcz0iZmlsdGVycyI+CiAgICAgICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iaHItc21hbGwiPkZpbHRlcnM8L2RlZXMtaGVhZGluZz4KICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93biAubGFiZWw9JHsibG9jYXRpb24ifT48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgIDwvZGl2PiAgCiAgICAgIGA6TWBgfQogICAgYH1maXJzdFVwZGF0ZWQoKXt0aGlzLnNlYXJjaElucHV0LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlYXJjaC1jaGFuZ2VkIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3ZhbHVlOnRoaXMuc2VhcmNoSW5wdXQudmFsdWV9fSkpfSksdGhpcy5zZWFyY2hJbnB1dC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixsPT57bC5rZXk9PT0iRW50ZXIiJiZ0aGlzLl9kaXNwYXRjaFN1Ym1pdCgpfSksdGhpcy5zZWFyY2hCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT50aGlzLl9kaXNwYXRjaFN1Ym1pdCgpKX1fZGlzcGF0Y2hTdWJtaXQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2gtc3VibWl0Iix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3ZhbHVlOnRoaXMuc2VhcmNoSW5wdXQudmFsdWV9fSkpfXN0YXRpY3tOdWUoYSxyKX19O3JldHVybiBjPWF9KSgpfSk7dmFyIEJ1cj1mKCgpPT57UnVyKCl9KTt2YXIgSHVyLHF1cj1mKCgpPT57dWUoKTtIdXI9KCk9Pk1gCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgcGFkZGluZzogMjRweDsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgIH0KCiAgICAudG9rZW4tZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgZ2FwOiAxNnB4OwogICAgfQoKICAgIC50b2tlbi1pdGVtIHsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICB9CgogICAgLnRva2VuLW5hbWUgewogICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgbW9ub3NwYWNlOwogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIH0KCiAgICAudG9rZW4tdmFsdWUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNwYWNpbmctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAuc3BhY2luZy1ib3ggewogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIH0KCiAgICAucmFkaXVzLWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAucmFkaXVzLWJveCB7CiAgICAgIHdpZHRoOiA2MHB4OwogICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIC5zaGFkb3ctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMjRweDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5zaGFkb3ctYm94IHsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIH0KCiAgICAuaGVpZ2h0LWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5oZWlnaHQtYm94IHsKICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB3aWR0aDogMTIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtdGhlbWU+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNwYWNpbmcgU2NhbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENTUyB2YXJpYWJsZXM6IC0tZGVlcy1zcGFjaW5nLXhzIHRocm91Z2ggLS1kZWVzLXNwYWNpbmctM3hsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14cyk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhzKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54cyAoNHB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctc20pOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1zbSk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+c20gKDhweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLW1kKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctbWQpOyI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1kICgxMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctbGcpOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1sZyk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+bGcgKDE2cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54bCAoMjRweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MnhsICgzMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zeGwgKDQ4cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Cb3JkZXIgUmFkaXVzIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtcmFkaXVzLXhzIHRocm91Z2ggLS1kZWVzLXJhZGl1cy1mdWxsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLXhzKTsiPnhzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtc20pOyI+c208L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+NHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhZGl1cy1ib3giIHN0eWxlPSJib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy1tZCk7Ij5tZDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj42cHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjhweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMteGwpOyI+eGw8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MTJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtZnVsbCk7Ij5mdWxsPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjk5OXB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TaGFkb3cgRWxldmF0aW9uIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtc2hhZG93LXhzIHRocm91Z2ggLS1kZWVzLXNoYWRvdy1sZwogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy14cyk7Ij54czwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5taW5pbWFsPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5zdWJ0bGU8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZG93LWJveCIgc3R5bGU9ImJveC1zaGFkb3c6IHZhcigtLWRlZXMtc2hhZG93LW1kKTsiPm1kPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1lZGl1bTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ctYm94IiBzdHlsZT0iYm94LXNoYWRvdzogdmFyKC0tZGVlcy1zaGFkb3ctbGcpOyI+bGc8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+cHJvbWluZW50PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Db250cm9sIEhlaWdodCBTY2FsZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXNtIHRocm91Z2ggLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXhsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zMnB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlaWdodC1ib3giIHN0eWxlPSJoZWlnaHQ6IHZhcigtLWRlZXMtY29udHJvbC1oZWlnaHQtbWQpOyI+bWQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MzZweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWlnaHQtYm94IiBzdHlsZT0iaGVpZ2h0OiB2YXIoLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjQwcHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC14bCk7Ij54bDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj40OHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UcmFuc2l0aW9uIER1cmF0aW9uczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLXRyYW5zaXRpb24tZmFzdCB0aHJvdWdoIC0tZGVlcy10cmFuc2l0aW9uLXNsb3dlcgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWZhc3Q8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWRlZmF1bHQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMTVzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLXZhbHVlIj4wLjJzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93ZXI8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuM3M8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy10aGVtZT4KICA8L2Rpdj4KYH0pO3ZhciBPZixVbyxqdXIsVnVyPWYoKCk9Pnt1ZSgpO1FlKCk7cXVyKCk7T2Y9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxVbz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sanVyPSgoKT0+e2xldCBlPVtyZSgiZGVlcy10aGVtZSIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdO3ZhciBSPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgQz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOk9iamVjdH0pXSxjPVtGKHt0eXBlOk9iamVjdH0pXSxkPVtGKHt0eXBlOk9iamVjdH0pXSx2PVtGKHt0eXBlOk9iamVjdH0pXSx5PVtGKHt0eXBlOk9iamVjdH0pXSxPZih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbVNwYWNpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJjdXN0b21TcGFjaW5nImluIFMsZ2V0OlM9PlMuY3VzdG9tU3BhY2luZyxzZXQ6KFMsTyk9PntTLmN1c3RvbVNwYWNpbmc9T319LG1ldGFkYXRhOkN9LHMsbyksT2YodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXN0b21SYWRpdXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJjdXN0b21SYWRpdXMiaW4gUyxnZXQ6Uz0+Uy5jdXN0b21SYWRpdXMsc2V0OihTLE8pPT57Uy5jdXN0b21SYWRpdXM9T319LG1ldGFkYXRhOkN9LGwsdSksT2YodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXN0b21TaGFkb3dzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4iY3VzdG9tU2hhZG93cyJpbiBTLGdldDpTPT5TLmN1c3RvbVNoYWRvd3Msc2V0OihTLE8pPT57Uy5jdXN0b21TaGFkb3dzPU99fSxtZXRhZGF0YTpDfSxoLG0pLE9mKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VzdG9tVHJhbnNpdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJjdXN0b21UcmFuc2l0aW9ucyJpbiBTLGdldDpTPT5TLmN1c3RvbVRyYW5zaXRpb25zLHNldDooUyxPKT0+e1MuY3VzdG9tVHJhbnNpdGlvbnM9T319LG1ldGFkYXRhOkN9LGIsZyksT2YodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXN0b21Db250cm9sSGVpZ2h0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+ImN1c3RvbUNvbnRyb2xIZWlnaHRzImluIFMsZ2V0OlM9PlMuY3VzdG9tQ29udHJvbEhlaWdodHMsc2V0OihTLE8pPT57Uy5jdXN0b21Db250cm9sSGVpZ2h0cz1PfX0sbWV0YWRhdGE6Q30sdyxrKSxPZihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpDfSxudWxsLHIpLFI9YT10LnZhbHVlLEMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Q30pfXN0YXRpYyBkZW1vPUh1cjtzdGF0aWMgZGVtb0dyb3Vwcz1bIlV0aWxpdHkiXTsjZT1Vbyh0aGlzLHMsbnVsbCk7Z2V0IGN1c3RvbVNwYWNpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VzdG9tU3BhY2luZyhDKXt0aGlzLiNlPUN9I3Q9KFVvKHRoaXMsbyksVW8odGhpcyxsLG51bGwpKTtnZXQgY3VzdG9tUmFkaXVzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGN1c3RvbVJhZGl1cyhDKXt0aGlzLiN0PUN9I3I9KFVvKHRoaXMsdSksVW8odGhpcyxoLG51bGwpKTtnZXQgY3VzdG9tU2hhZG93cygpe3JldHVybiB0aGlzLiNyfXNldCBjdXN0b21TaGFkb3dzKEMpe3RoaXMuI3I9Q30jYT0oVW8odGhpcyxtKSxVbyh0aGlzLGIsbnVsbCkpO2dldCBjdXN0b21UcmFuc2l0aW9ucygpe3JldHVybiB0aGlzLiNhfXNldCBjdXN0b21UcmFuc2l0aW9ucyhDKXt0aGlzLiNhPUN9I2k9KFVvKHRoaXMsZyksVW8odGhpcyx3LG51bGwpKTtnZXQgY3VzdG9tQ29udHJvbEhlaWdodHMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgY3VzdG9tQ29udHJvbEhlaWdodHMoQyl7dGhpcy4jaT1DfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogY29udGVudHM7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8c3R5bGU+CiAgICAgICAgJHt0aGlzLmdlbmVyYXRlQ3VzdG9tU3R5bGVzKCl9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIGB9Z2VuZXJhdGVDdXN0b21TdHlsZXMoKXtsZXQgQz1bIjpob3N0IHsiXTtpZih0aGlzLmN1c3RvbVNwYWNpbmcpZm9yKGxldFtTLE9db2YgT2JqZWN0LmVudHJpZXModGhpcy5jdXN0b21TcGFjaW5nKSlPJiZDLnB1c2goYCAgLS1kZWVzLXNwYWNpbmctJHtTfTogJHtPfTtgKTtpZih0aGlzLmN1c3RvbVJhZGl1cylmb3IobGV0W1MsT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbVJhZGl1cykpTyYmQy5wdXNoKGAgIC0tZGVlcy1yYWRpdXMtJHtTfTogJHtPfTtgKTtpZih0aGlzLmN1c3RvbVNoYWRvd3MpZm9yKGxldFtTLE9db2YgT2JqZWN0LmVudHJpZXModGhpcy5jdXN0b21TaGFkb3dzKSlPJiZDLnB1c2goYCAgLS1kZWVzLXNoYWRvdy0ke1N9OiAke099O2ApO2lmKHRoaXMuY3VzdG9tVHJhbnNpdGlvbnMpe2ZvcihsZXRbUyxPXW9mIE9iamVjdC5lbnRyaWVzKHRoaXMuY3VzdG9tVHJhbnNpdGlvbnMpKWlmKE8pe2xldCBEPVM9PT0iZGVmYXVsdCI/ImRlZmF1bHQiOlM7Qy5wdXNoKGAgIC0tZGVlcy10cmFuc2l0aW9uLSR7RH06ICR7T307YCl9fWlmKHRoaXMuY3VzdG9tQ29udHJvbEhlaWdodHMpZm9yKGxldFtTLE9db2YgT2JqZWN0LmVudHJpZXModGhpcy5jdXN0b21Db250cm9sSGVpZ2h0cykpTyYmQy5wdXNoKGAgIC0tZGVlcy1jb250cm9sLWhlaWdodC0ke1N9OiAke099O2ApO3JldHVybiBDLnB1c2goIn0iKSxDLmpvaW4oYApgKX1zZXRTcGFjaW5nKEMsUyl7dGhpcy5jdXN0b21TcGFjaW5nPXsuLi50aGlzLmN1c3RvbVNwYWNpbmcsW0NdOlN9fXNldFJhZGl1cyhDLFMpe3RoaXMuY3VzdG9tUmFkaXVzPXsuLi50aGlzLmN1c3RvbVJhZGl1cyxbQ106U319c2V0U2hhZG93KEMsUyl7dGhpcy5jdXN0b21TaGFkb3dzPXsuLi50aGlzLmN1c3RvbVNoYWRvd3MsW0NdOlN9fXNldFRyYW5zaXRpb24oQyxTKXt0aGlzLmN1c3RvbVRyYW5zaXRpb25zPXsuLi50aGlzLmN1c3RvbVRyYW5zaXRpb25zLFtDXTpTfX1zZXRDb250cm9sSGVpZ2h0KEMsUyl7dGhpcy5jdXN0b21Db250cm9sSGVpZ2h0cz17Li4udGhpcy5jdXN0b21Db250cm9sSGVpZ2h0cyxbQ106U319Z2V0VGhlbWUoKXtyZXR1cm57Y29sb3JzOkg0LmNvbG9ycyxzcGFjaW5nOnsuLi5INC5zcGFjaW5nLC4uLnRoaXMuY3VzdG9tU3BhY2luZ30scmFkaXVzOnsuLi5INC5yYWRpdXMsLi4udGhpcy5jdXN0b21SYWRpdXN9LHNoYWRvd3M6ey4uLkg0LnNoYWRvd3MsLi4udGhpcy5jdXN0b21TaGFkb3dzfSx0cmFuc2l0aW9uczp7Li4uSDQudHJhbnNpdGlvbnMsLi4udGhpcy5jdXN0b21UcmFuc2l0aW9uc30sY29udHJvbEhlaWdodHM6ey4uLkg0LmNvbnRyb2xIZWlnaHRzLC4uLnRoaXMuY3VzdG9tQ29udHJvbEhlaWdodHN9fX1yZXNldFRvRGVmYXVsdHMoKXt0aGlzLmN1c3RvbVNwYWNpbmc9bnVsbCx0aGlzLmN1c3RvbVJhZGl1cz1udWxsLHRoaXMuY3VzdG9tU2hhZG93cz1udWxsLHRoaXMuY3VzdG9tVHJhbnNpdGlvbnM9bnVsbCx0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzPW51bGx9YXBwbHlUaGVtZShDKXtDLnNwYWNpbmcmJih0aGlzLmN1c3RvbVNwYWNpbmc9Qy5zcGFjaW5nKSxDLnJhZGl1cyYmKHRoaXMuY3VzdG9tUmFkaXVzPUMucmFkaXVzKSxDLnNoYWRvd3MmJih0aGlzLmN1c3RvbVNoYWRvd3M9Qy5zaGFkb3dzKSxDLnRyYW5zaXRpb25zJiYodGhpcy5jdXN0b21UcmFuc2l0aW9ucz1DLnRyYW5zaXRpb25zKSxDLmNvbnRyb2xIZWlnaHRzJiYodGhpcy5jdXN0b21Db250cm9sSGVpZ2h0cz1DLmNvbnRyb2xIZWlnaHRzKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksVW8odGhpcyxrKX1zdGF0aWN7VW8oYSxyKX19O3JldHVybiBSPWF9KSgpfSk7dmFyIFV1cj1mKCgpPT57VnVyKCl9KTt2YXIgV3VyLEd1cj1mKCgpPT57dWUoKTtGdWUoKTtXdXI9YXN5bmMoKT0+e2xldCBlPWF3YWl0IGFPLmNyZWF0ZUFuZFNob3coKTtzZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCBlLmRlc3Ryb3koKX0sMWU0KX19KTt2YXIgT3VlLHZ2LGFPLEZ1ZT1mKCgpPT57dWUoKTtHdXIoKTtrYygpO3VlKCk7UWUoKTtPdWU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSx2dj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sYU89KCgpPT57bGV0IGU9W3JlKCJkZWVzLXVwZGF0ZXIiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGg9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpTdHJpbmd9KV0sYz1bRih7dHlwZTpTdHJpbmd9KV0sT3VlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFZlcnNpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJjdXJyZW50VmVyc2lvbiJpbiBtLGdldDptPT5tLmN1cnJlbnRWZXJzaW9uLHNldDoobSx2KT0+e20uY3VycmVudFZlcnNpb249dn19LG1ldGFkYXRhOmh9LHMsbyksT3VlKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXBkYXRlZFZlcnNpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJ1cGRhdGVkVmVyc2lvbiJpbiBtLGdldDptPT5tLnVwZGF0ZWRWZXJzaW9uLHNldDoobSx2KT0+e20udXBkYXRlZFZlcnNpb249dn19LG1ldGFkYXRhOmh9LGwsdSksT3VlKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmh9LG51bGwsciksZD1hPXQudmFsdWUsaCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpofSl9c3RhdGljIGRlbW89V3VyO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KCl7bGV0IGg9bmV3IGQ7cmV0dXJuIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaCksaH0jZT12dih0aGlzLHMsdm9pZCAwKTtnZXQgY3VycmVudFZlcnNpb24oKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFZlcnNpb24oaCl7dGhpcy4jZT1ofSN0PSh2dih0aGlzLG8pLHZ2KHRoaXMsbCx2b2lkIDApKTtnZXQgdXBkYXRlZFZlcnNpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgdXBkYXRlZFZlcnNpb24oaCl7dGhpcy4jdD1ofWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx2dih0aGlzLHUpLFN0LmVsZW1lbnRCYXNpYy5zZXR1cCgpfXN0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICAubW9kYWxDb250YWluZXIgewogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZWVlZWViIiwiIzIyMiIpfTsKICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlZWVlZWIiLCIjMzMzIil9OwogICAgICB9CgogICAgICAuaGVhZGluZ0NvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDQwcHggNDBweDsKICAgICAgfQoKICAgICAgaDEgewogICAgICAgIG1hcmdpbjogbm9uZTsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICB9CgogICAgICAuYnV0dG9uQ29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkZWVzLXdpbmRvd2xheWVyCiAgICAgICAgQGNsaWNrZWQ9IiR7dGhpcy53aW5kb3dMYXllckNsaWNrZWR9IgogICAgICAgIC5vcHRpb25zPSR7e2JsdXI6ITB9fQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWxDb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZ0NvbnRhaW5lciI+CiAgICAgICAgICAgIDxkZWVzLXNwaW5uZXIgLnNpemU9JHs2MH0+PC9kZWVzLXNwaW5uZXI+CiAgICAgICAgICAgIDxoMT5VcGRhdGluZyB0aGUgYXBwbGljYXRpb24uLi48L2gxPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcyI+CiAgICAgICAgICAgIDxkZWVzLXByb2dyZXNzYmFyIC5wcm9ncmVzcz0key41fT48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbkNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5Nb3JlIGluZm88L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+Q2hhbmdlbG9nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PiA8L2RlZXMtd2luZG93bGF5ZXIKICAgICAgPj4KICAgIGB9YXN5bmMgZGVzdHJveSgpe3RoaXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzKX13aW5kb3dMYXllckNsaWNrZWQoKXt9c3RhdGlje3Z2KGEscil9fTtyZXR1cm4gZD1hfSkoKX0pO3ZhciBZdXI9ZigoKT0+e0Z1ZSgpfSk7dmFyIFp1cj1mKCgpPT57T2RlKCl9KTt2YXIgWHVyPWYoKCk9PntJdXIoKTtCdXIoKTtVdXIoKTtZdXIoKTtadXIoKX0pO3ZhciB2dSxzcyxRdXIsaU89ZigoKT0+e3VlKCk7SnQoKTtRZSgpO2lyKCk7TWkoKTtNaSgpO1o2KCk7UTQoKTtRNCgpO3Z1PWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sc3M9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LFF1cj0oKCk9PntsZXQgZT1bcmUoImRlZXMtd29ya3NwYWNlLWZpbGV0cmVlIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W107dmFyIE89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBEPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6T2JqZWN0fSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W0Yoe3R5cGU6U3RyaW5nfSldLHY9W3NlKCldLHk9W3NlKCldLFI9W3NlKCldLHZ1KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhlY3V0aW9uRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBOLGdldDpOPT5OLmV4ZWN1dGlvbkVudmlyb25tZW50LHNldDooTixxKT0+e04uZXhlY3V0aW9uRW52aXJvbm1lbnQ9cX19LG1ldGFkYXRhOkR9LHMsbyksdnUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb290UGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+InJvb3RQYXRoImluIE4sZ2V0Ok49Pk4ucm9vdFBhdGgsc2V0OihOLHEpPT57Ti5yb290UGF0aD1xfX0sbWV0YWRhdGE6RH0sbCx1KSx2dSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+InNlbGVjdGVkUGF0aCJpbiBOLGdldDpOPT5OLnNlbGVjdGVkUGF0aCxzZXQ6KE4scSk9PntOLnNlbGVjdGVkUGF0aD1xfX0sbWV0YWRhdGE6RH0saCxtKSx2dSh0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRyZWVEYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4idHJlZURhdGEiaW4gTixnZXQ6Tj0+Ti50cmVlRGF0YSxzZXQ6KE4scSk9PntOLnRyZWVEYXRhPXF9fSxtZXRhZGF0YTpEfSxiLGcpLHZ1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNMb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4iaXNMb2FkaW5nImluIE4sZ2V0Ok49Pk4uaXNMb2FkaW5nLHNldDooTixxKT0+e04uaXNMb2FkaW5nPXF9fSxtZXRhZGF0YTpEfSx3LGspLHZ1KHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3JNZXNzYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4iZXJyb3JNZXNzYWdlImluIE4sZ2V0Ok49Pk4uZXJyb3JNZXNzYWdlLHNldDooTixxKT0+e04uZXJyb3JNZXNzYWdlPXF9fSxtZXRhZGF0YTpEfSxDLFMpLHZ1KG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOkR9LG51bGwsciksTz1hPXQudmFsdWUsRCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpEfSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogNDAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICA8ZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWU+PC9kZWVzLXdvcmtzcGFjZS1maWxldHJlZT4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTsjZT1zcyh0aGlzLHMsbnVsbCk7Z2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KEQpe3RoaXMuI2U9RH0jdD0oc3ModGhpcyxvKSxzcyh0aGlzLGwsIi8iKSk7Z2V0IHJvb3RQYXRoKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHJvb3RQYXRoKEQpe3RoaXMuI3Q9RH0jcj0oc3ModGhpcyx1KSxzcyh0aGlzLGgsIiIpKTtnZXQgc2VsZWN0ZWRQYXRoKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNlbGVjdGVkUGF0aChEKXt0aGlzLiNyPUR9I2E9KHNzKHRoaXMsbSksc3ModGhpcyxiLFtdKSk7Z2V0IHRyZWVEYXRhKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHRyZWVEYXRhKEQpe3RoaXMuI2E9RH0jaT0oc3ModGhpcyxnKSxzcyh0aGlzLHcsITEpKTtnZXQgaXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGlzTG9hZGluZyhEKXt0aGlzLiNpPUR9I249KHNzKHRoaXMsayksc3ModGhpcyxDLCIiKSk7Z2V0IGVycm9yTWVzc2FnZSgpe3JldHVybiB0aGlzLiNufXNldCBlcnJvck1lc3NhZ2UoRCl7dGhpcy4jbj1EfWV4cGFuZGVkUGF0aHM9KHNzKHRoaXMsUyksbmV3IFNldCk7bG9hZFRyZWVTdGFydGVkPSExO2NsaXBib2FyZFBhdGg9bnVsbDtjbGlwYm9hcmRPcGVyYXRpb249bnVsbDtmaWxlV2F0Y2hlcj1udWxsO3JlZnJlc2hEZWJvdW5jZVRpbWVvdXQ9bnVsbDtsYXN0RXhlY3V0aW9uRW52aXJvbm1lbnQ9bnVsbDtzdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk4JSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLnRyZWUtY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtYXJnaW46IDFweCA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50cmVlLWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5MyUpIiwiaHNsKDAgMCUgMTQlKSIpfTsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbS5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA5NSUpIiwiaHNsKDIxMCA1MCUgMjAlKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0MCUpIiwiaHNsKDIxMCAxMDAlIDcwJSkiKX07CiAgICAgIH0KCiAgICAgIC50cmVlLWl0ZW0uc2VsZWN0ZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgOTIlKSIsImhzbCgyMTAgNTAlIDI1JSkiKX07CiAgICAgIH0KCiAgICAgIC5pbmRlbnQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmV4cGFuZC1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5leHBhbmQtaWNvbi5leHBhbmRlZCB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwogICAgICB9CgogICAgICAuZXhwYW5kLWljb24uaGlkZGVuIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uZm9sZGVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCg0NSA4MCUgNDUlKSIsImhzbCg0NSA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5maWxlIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZmlsZS1pY29uLnR5cGVzY3JpcHQgewogICAgICAgIGNvbG9yOiBoc2woMjExIDYwJSA0OCUpOwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmphdmFzY3JpcHQgewogICAgICAgIGNvbG9yOiBoc2woNTMgOTMlIDU0JSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uanNvbiB7CiAgICAgICAgY29sb3I6IGhzbCg0NSA4MCUgNTAlKTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5odG1sIHsKICAgICAgICBjb2xvcjogaHNsKDE0IDc3JSA1MiUpOwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmNzcyB7CiAgICAgICAgY29sb3I6IGhzbCgyMjggNzclIDU5JSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24ubWFya2Rvd24gewogICAgICAgIGNvbG9yOiBoc2woMCAwJSA1MCUpOwogICAgICB9CgogICAgICAuZmlsZS1uYW1lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA4NSUpIil9OwogICAgICB9CgogICAgICAubG9hZGluZyB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmVycm9yIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogaHNsKDAgNzAlIDUwJSk7CiAgICAgIH0KCiAgICAgIC5lbXB0eSB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5maWxldHJlZS10b29sYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDglKSIpfTsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CgogICAgICAudG9vbGJhci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cywgYmFja2dyb3VuZCAwLjE1czsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50P3RoaXMuaXNMb2FkaW5nP01gCiAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZyI+CiAgICAgICAgICBMb2FkaW5nIGZpbGVzLi4uCiAgICAgICAgPC9kaXY+CiAgICAgIGA6dGhpcy5lcnJvck1lc3NhZ2U/TWAKICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvciI+CiAgICAgICAgICAke3RoaXMuZXJyb3JNZXNzYWdlfQogICAgICAgIDwvZGl2PgogICAgICBgOk1gCiAgICAgIDxkaXYgY2xhc3M9ImZpbGV0cmVlLXRvb2xiYXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ0b29sYmFyLXRpdGxlIj5FeHBsb3Jlcjwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWFjdGlvbnMiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmNyZWF0ZU5ld0ZpbGUoIi8iKX0gdGl0bGU9Ik5ldyBGaWxlIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6ZmlsZVBsdXMifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3JlYXRlTmV3Rm9sZGVyKCIvIil9IHRpdGxlPSJOZXcgRm9sZGVyIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Zm9sZGVyUGx1cyJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgICR7dGhpcy50cmVlRGF0YS5sZW5ndGg9PT0wP01gPGRpdiBjbGFzcz0iZW1wdHkiPk5vIGZpbGVzIGZvdW5kLjwvZGl2PmA6TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0idHJlZS1jb250YWluZXIiIEBjb250ZXh0bWVudT0ke3RoaXMuaGFuZGxlRW1wdHlTcGFjZUNvbnRleHRNZW51fT4KICAgICAgICAgICAgICAke3RoaXMucmVuZGVyVHJlZSh0aGlzLnRyZWVEYXRhKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfQogICAgYDpNYAogICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5Ij4KICAgICAgICAgIE5vIGV4ZWN1dGlvbiBlbnZpcm9ubWVudCBwcm92aWRlZC4KICAgICAgICA8L2Rpdj4KICAgICAgYH1yZW5kZXJUcmVlKEQpe3JldHVybiBELm1hcChOPT50aGlzLnJlbmRlck5vZGUoTikpfXJlbmRlck5vZGUoRCl7bGV0IE49RC50eXBlPT09ImRpcmVjdG9yeSIscT10aGlzLmV4cGFuZGVkUGF0aHMuaGFzKEQucGF0aCksXz1ELnBhdGg9PT10aGlzLnNlbGVjdGVkUGF0aCx6PXRoaXMuZ2V0RmlsZUljb25DbGFzcyhEKTtyZXR1cm4gTWAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJ0cmVlLWl0ZW0gJHtfPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgIHN0eWxlPSJwYWRkaW5nLWxlZnQ6ICR7OCtELmxldmVsKjE2fXB4IgogICAgICAgIEBjbGljaz0ke0U9PnRoaXMuaGFuZGxlSXRlbUNsaWNrKEUsRCl9CiAgICAgICAgQGNvbnRleHRtZW51PSR7RT0+dGhpcy5oYW5kbGVDb250ZXh0TWVudShFLEQpfQogICAgICA+CiAgICAgICAgPHNwYW4gY2xhc3M9ImV4cGFuZC1pY29uICR7cT8iZXhwYW5kZWQiOiIifSAke04/IiI6ImhpZGRlbiJ9Ij4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNoZXZyb25SaWdodCJ9IGljb25TaXplPSIxMiI+PC9kZWVzLWljb24+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJmaWxlLWljb24gJHt6fSI+CiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5nZXRGaWxlSWNvbihEKX0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICA8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImZpbGUtbmFtZSI+JHtELm5hbWV9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgJHtOJiZxJiZELmNoaWxkcmVuP3RoaXMucmVuZGVyVHJlZShELmNoaWxkcmVuKToiIn0KICAgIGB9Z2V0RmlsZUljb24oRCl7aWYoRC50eXBlPT09ImRpcmVjdG9yeSIpcmV0dXJuIHRoaXMuZXhwYW5kZWRQYXRocy5oYXMoRC5wYXRoKT8ibHVjaWRlOmZvbGRlck9wZW4iOiJsdWNpZGU6Zm9sZGVyIjtzd2l0Y2goRC5uYW1lLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCkpe2Nhc2UidHMiOmNhc2UidHN4IjpyZXR1cm4ibHVjaWRlOmZpbGVDb2RlIjtjYXNlImpzIjpjYXNlImpzeCI6cmV0dXJuImx1Y2lkZTpmaWxlQ29kZSI7Y2FzZSJqc29uIjpyZXR1cm4ibHVjaWRlOmZpbGVKc29uIjtjYXNlImh0bWwiOnJldHVybiJsdWNpZGU6ZmlsZUNvZGUiO2Nhc2UiY3NzIjpjYXNlInNjc3MiOmNhc2UibGVzcyI6cmV0dXJuImx1Y2lkZTpmaWxlQ29kZSI7Y2FzZSJtZCI6cmV0dXJuImx1Y2lkZTpmaWxlVGV4dCI7Y2FzZSJwbmciOmNhc2UianBnIjpjYXNlImpwZWciOmNhc2UiZ2lmIjpjYXNlInN2ZyI6cmV0dXJuImx1Y2lkZTppbWFnZSI7ZGVmYXVsdDpyZXR1cm4ibHVjaWRlOmZpbGUifX1nZXRGaWxlSWNvbkNsYXNzKEQpe2lmKEQudHlwZT09PSJkaXJlY3RvcnkiKXJldHVybiJmb2xkZXIiO3N3aXRjaChELm5hbWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKSl7Y2FzZSJ0cyI6Y2FzZSJ0c3giOnJldHVybiJ0eXBlc2NyaXB0IjtjYXNlImpzIjpjYXNlImpzeCI6cmV0dXJuImphdmFzY3JpcHQiO2Nhc2UianNvbiI6cmV0dXJuImpzb24iO2Nhc2UiaHRtbCI6cmV0dXJuImh0bWwiO2Nhc2UiY3NzIjpjYXNlInNjc3MiOmNhc2UibGVzcyI6cmV0dXJuImNzcyI7Y2FzZSJtZCI6cmV0dXJuIm1hcmtkb3duIjtkZWZhdWx0OnJldHVybiJmaWxlIn19YXN5bmMgaGFuZGxlSXRlbUNsaWNrKEQsTil7RC5zdG9wUHJvcGFnYXRpb24oKSxOLnR5cGU9PT0iZGlyZWN0b3J5Ij9hd2FpdCB0aGlzLnRvZ2dsZURpcmVjdG9yeShOKToodGhpcy5zZWxlY3RlZFBhdGg9Ti5wYXRoLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZpbGUtc2VsZWN0Iix7ZGV0YWlsOntwYXRoOk4ucGF0aCxuYW1lOk4ubmFtZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSl9YXN5bmMgdG9nZ2xlRGlyZWN0b3J5KEQpe3RoaXMuZXhwYW5kZWRQYXRocy5oYXMoRC5wYXRoKT90aGlzLmV4cGFuZGVkUGF0aHMuZGVsZXRlKEQucGF0aCk6KHRoaXMuZXhwYW5kZWRQYXRocy5hZGQoRC5wYXRoKSwoIUQuY2hpbGRyZW58fEQuY2hpbGRyZW4ubGVuZ3RoPT09MCkmJmF3YWl0IHRoaXMubG9hZERpcmVjdG9yeUNvbnRlbnRzKEQpKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1hc3luYyBsb2FkRGlyZWN0b3J5Q29udGVudHMoRCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0cnl7bGV0IE49YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKEQucGF0aCk7RC5jaGlsZHJlbj10aGlzLnNvcnRFbnRyaWVzKE4pLm1hcChxPT4oey4uLnEsbGV2ZWw6RC5sZXZlbCsxLGV4cGFuZGVkOiExLGNoaWxkcmVuOnEudHlwZT09PSJkaXJlY3RvcnkiP1tdOnZvaWQgMH0pKX1jYXRjaChOKXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBkaXJlY3RvcnkgJHtELnBhdGh9OmAsTil9fWFzeW5jIGhhbmRsZUNvbnRleHRNZW51KEQsTil7RC5wcmV2ZW50RGVmYXVsdCgpLEQuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IHE9W107Ti50eXBlPT09ImRpcmVjdG9yeSImJnEucHVzaCh7bmFtZToiTmV3IEZpbGUiLGljb25OYW1lOiJmaWxlUGx1cyIsYWN0aW9uOmFzeW5jKCk9PnRoaXMuY3JlYXRlTmV3RmlsZShOLnBhdGgpfSx7bmFtZToiTmV3IEZvbGRlciIsaWNvbk5hbWU6ImZvbGRlclBsdXMiLGFjdGlvbjphc3luYygpPT50aGlzLmNyZWF0ZU5ld0ZvbGRlcihOLnBhdGgpfSx7ZGl2aWRlcjohMH0pLHEucHVzaCh7bmFtZToiUmVuYW1lIixpY29uTmFtZToicGVuY2lsIixhY3Rpb246YXN5bmMoKT0+dGhpcy5yZW5hbWVJdGVtKE4pfSx7bmFtZToiRHVwbGljYXRlIixpY29uTmFtZToiZmlsZXMiLGFjdGlvbjphc3luYygpPT50aGlzLmR1cGxpY2F0ZUl0ZW0oTil9LHtuYW1lOiJDb3B5IixpY29uTmFtZToiY29weSIsYWN0aW9uOmFzeW5jKCk9PnRoaXMuY29weUl0ZW0oTil9KSxOLnR5cGU9PT0iZGlyZWN0b3J5IiYmdGhpcy5jbGlwYm9hcmRQYXRoJiZxLnB1c2goe25hbWU6IlBhc3RlIixpY29uTmFtZToiY2xpcGJvYXJkIixhY3Rpb246YXN5bmMoKT0+dGhpcy5wYXN0ZUl0ZW0oTi5wYXRoKX0pLHEucHVzaCh7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6InRyYXNoMiIsYWN0aW9uOmFzeW5jKCk9PnRoaXMuZGVsZXRlSXRlbShOKX0pLGF3YWl0IE1yLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKEQscSl9YXN5bmMgaGFuZGxlRW1wdHlTcGFjZUNvbnRleHRNZW51KEQpe2lmKEQudGFyZ2V0LmNsb3Nlc3QoIi50cmVlLWl0ZW0iKSlyZXR1cm47RC5wcmV2ZW50RGVmYXVsdCgpLEQuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IHE9W3tuYW1lOiJOZXcgRmlsZSIsaWNvbk5hbWU6ImZpbGVQbHVzIixhY3Rpb246YXN5bmMoKT0+dGhpcy5jcmVhdGVOZXdGaWxlKCIvIil9LHtuYW1lOiJOZXcgRm9sZGVyIixpY29uTmFtZToiZm9sZGVyUGx1cyIsYWN0aW9uOmFzeW5jKCk9PnRoaXMuY3JlYXRlTmV3Rm9sZGVyKCIvIil9XTt0aGlzLmNsaXBib2FyZFBhdGgmJnEucHVzaCh7ZGl2aWRlcjohMH0se25hbWU6IlBhc3RlIixpY29uTmFtZToiY2xpcGJvYXJkIixhY3Rpb246YXN5bmMoKT0+dGhpcy5wYXN0ZUl0ZW0oIi8iKX0pLGF3YWl0IE1yLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKEQscSl9YXN5bmMgc2hvd0lucHV0TW9kYWwoRCl7cmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIE49PntsZXQgcT1hd2FpdCBHci5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOkQuaGVhZGluZyx3aWR0aDoic21hbGwiLGNvbnRlbnQ6TWAKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7RC5sYWJlbH0KICAgICAgICAgICAgLnZhbHVlPSR7RC52YWx1ZXx8IiJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOmFzeW5jIHo9Pnthd2FpdCB6LmRlc3Ryb3koKSxOKG51bGwpfX0se25hbWU6RC5idXR0b25OYW1lfHwiQ3JlYXRlIixhY3Rpb246YXN5bmMgej0+e2xldCBMPXouc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsIC5jb250ZW50Iik/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtdGV4dCIpPy52YWx1ZT8udHJpbSgpfHwiIjthd2FpdCB6LmRlc3Ryb3koKSxOKEx8fG51bGwpfX1dfSk7YXdhaXQgcS51cGRhdGVDb21wbGV0ZTtsZXQgXz1xLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbCAuY29udGVudCIpO2lmKF8pe2xldCB6PV8ucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC10ZXh0Iik7eiYmKGF3YWl0IHoudXBkYXRlQ29tcGxldGUsei5mb2N1cygpKX19KX1hc3luYyBjcmVhdGVOZXdGaWxlKEQpe2xldCBOPWF3YWl0IHRoaXMuc2hvd0lucHV0TW9kYWwoe2hlYWRpbmc6Ik5ldyBGaWxlIixsYWJlbDoiRmlsZSBuYW1lIn0pO2lmKCFOfHwhdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47bGV0IHE9RD09PSIvIj9gLyR7Tn1gOmAke0R9LyR7Tn1gO3RyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShxLCIiKSxhd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJmaWxlLWNyZWF0ZWQiLHtkZXRhaWw6e3BhdGg6cX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jYXRjaChfKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY3JlYXRlIGZpbGU6IixfKX19YXN5bmMgY3JlYXRlTmV3Rm9sZGVyKEQpe2xldCBOPWF3YWl0IHRoaXMuc2hvd0lucHV0TW9kYWwoe2hlYWRpbmc6Ik5ldyBGb2xkZXIiLGxhYmVsOiJGb2xkZXIgbmFtZSJ9KTtpZighTnx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2xldCBxPUQ9PT0iLyI/YC8ke059YDpgJHtEfS8ke059YDt0cnl7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5ta2RpcihxKSxhd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJmb2xkZXItY3JlYXRlZCIse2RldGFpbDp7cGF0aDpxfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKF8pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgZm9sZGVyOiIsXyl9fWFzeW5jIGRlbGV0ZUl0ZW0oRCl7aWYoISghdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8IWNvbmZpcm0oYERlbGV0ZSAke0QubmFtZX0/YCkpKXRyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJtKEQucGF0aCx7cmVjdXJzaXZlOkQudHlwZT09PSJkaXJlY3RvcnkifSksYXdhaXQgdGhpcy5yZWZyZXNoKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaXRlbS1kZWxldGVkIix7ZGV0YWlsOntwYXRoOkQucGF0aCx0eXBlOkQudHlwZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jYXRjaChxKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIGl0ZW06IixxKX19YXN5bmMgcmVuYW1lSXRlbShEKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47bGV0IE49YXdhaXQgdGhpcy5zaG93SW5wdXRNb2RhbCh7aGVhZGluZzoiUmVuYW1lIixsYWJlbDoiTmV3IG5hbWUiLHZhbHVlOkQubmFtZSxidXR0b25OYW1lOiJSZW5hbWUifSk7aWYoIU58fE49PT1ELm5hbWUpcmV0dXJuO2xldCBxPUQucGF0aC5zdWJzdHJpbmcoMCxELnBhdGgubGFzdEluZGV4T2YoIi8iKSl8fCIvIixfPXE9PT0iLyI/YC8ke059YDpgJHtxfS8ke059YDt0cnl7aWYoRC50eXBlPT09ImZpbGUiKXtsZXQgej1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKEQucGF0aCk7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoXyx6KSxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJtKEQucGF0aCl9ZWxzZSBhd2FpdCB0aGlzLmNvcHlEaXJlY3RvcnlDb250ZW50cyhELnBhdGgsXyksYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5ybShELnBhdGgse3JlY3Vyc2l2ZTohMH0pO2F3YWl0IHRoaXMucmVmcmVzaCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIml0ZW0tcmVuYW1lZCIse2RldGFpbDp7b2xkUGF0aDpELnBhdGgsbmV3UGF0aDpfLHR5cGU6RC50eXBlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKHope2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byByZW5hbWUgaXRlbToiLHopfX1hc3luYyBkdXBsaWNhdGVJdGVtKEQpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgTj1ELnBhdGguc3Vic3RyaW5nKDAsRC5wYXRoLmxhc3RJbmRleE9mKCIvIikpfHwiLyIscTtpZihELnR5cGU9PT0iZmlsZSIpe2xldCB6PUQubmFtZS5sYXN0SW5kZXhPZigiLiIpO2lmKHo+MCl7bGV0IEU9RC5uYW1lLnN1YnN0cmluZygwLHopLFQ9RC5uYW1lLnN1YnN0cmluZyh6KTtxPWAke0V9X2NvcHkke1R9YH1lbHNlIHE9YCR7RC5uYW1lfV9jb3B5YH1lbHNlIHE9YCR7RC5uYW1lfV9jb3B5YDtsZXQgXz1OPT09Ii8iP2AvJHtxfWA6YCR7Tn0vJHtxfWA7dHJ5e2lmKEQudHlwZT09PSJmaWxlIil7bGV0IHo9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShELnBhdGgpO2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKF8seil9ZWxzZSBhd2FpdCB0aGlzLmNvcHlEaXJlY3RvcnlDb250ZW50cyhELnBhdGgsXyk7YXdhaXQgdGhpcy5yZWZyZXNoKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaXRlbS1kdXBsaWNhdGVkIix7ZGV0YWlsOntzb3VyY2VQYXRoOkQucGF0aCxuZXdQYXRoOl8sdHlwZTpELnR5cGV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goeil7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGR1cGxpY2F0ZSBpdGVtOiIseil9fWFzeW5jIGNvcHlJdGVtKEQpe3RoaXMuY2xpcGJvYXJkUGF0aD1ELnBhdGgsdGhpcy5jbGlwYm9hcmRPcGVyYXRpb249ImNvcHkifWFzeW5jIHBhc3RlSXRlbShEKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8IXRoaXMuY2xpcGJvYXJkUGF0aClyZXR1cm47bGV0IE49dGhpcy5jbGlwYm9hcmRQYXRoLnNwbGl0KCIvIikucG9wKCl8fCJwYXN0ZWQiLHE9RD09PSIvIj9gLyR7Tn1gOmAke0R9LyR7Tn1gO3RyeXtpZighYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHModGhpcy5jbGlwYm9hcmRQYXRoKSl7Y29uc29sZS5lcnJvcigiU291cmNlIGZpbGUgbm8gbG9uZ2VyIGV4aXN0cyIpLHRoaXMuY2xpcGJvYXJkUGF0aD1udWxsLHRoaXMuY2xpcGJvYXJkT3BlcmF0aW9uPW51bGw7cmV0dXJufXRyeXtsZXQgXz1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKHRoaXMuY2xpcGJvYXJkUGF0aCk7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUocSxfKX1jYXRjaHthd2FpdCB0aGlzLmNvcHlEaXJlY3RvcnlDb250ZW50cyh0aGlzLmNsaXBib2FyZFBhdGgscSl9YXdhaXQgdGhpcy5yZWZyZXNoKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaXRlbS1wYXN0ZWQiLHtkZXRhaWw6e3NvdXJjZVBhdGg6dGhpcy5jbGlwYm9hcmRQYXRoLHRhcmdldFBhdGg6cX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmNsaXBib2FyZFBhdGg9bnVsbCx0aGlzLmNsaXBib2FyZE9wZXJhdGlvbj1udWxsfWNhdGNoKF8pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBwYXN0ZSBpdGVtOiIsXyl9fWFzeW5jIGNvcHlEaXJlY3RvcnlDb250ZW50cyhELE4pe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50Lm1rZGlyKE4pO2xldCBxPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZERpcihEKTtmb3IobGV0IF8gb2YgcSl7bGV0IHo9RD09PSIvIj9gLyR7Xy5uYW1lfWA6YCR7RH0vJHtfLm5hbWV9YCxFPU49PT0iLyI/YC8ke18ubmFtZX1gOmAke059LyR7Xy5uYW1lfWA7aWYoXy50eXBlPT09ImRpcmVjdG9yeSIpYXdhaXQgdGhpcy5jb3B5RGlyZWN0b3J5Q29udGVudHMoeixFKTtlbHNle2xldCBUPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoeik7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoRSxUKX19fWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMubG9hZFRyZWUoKX1hc3luYyB1cGRhdGVkKEQpe0QuaGFzKCJleGVjdXRpb25FbnZpcm9ubWVudCIpJiYodGhpcy5sYXN0RXhlY3V0aW9uRW52aXJvbm1lbnQhPT10aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYodGhpcy5zdG9wRmlsZVdhdGNoZXIoKSx0aGlzLmxhc3RFeGVjdXRpb25FbnZpcm9ubWVudD10aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSx0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYoYXdhaXQgdGhpcy5sb2FkVHJlZSgpLHRoaXMuc3RhcnRGaWxlV2F0Y2hlcigpKSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuc3RvcEZpbGVXYXRjaGVyKCksdGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMucmVmcmVzaERlYm91bmNlVGltZW91dCksdGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0PW51bGwpfXN0YXJ0RmlsZVdhdGNoZXIoKXtpZighKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHx0aGlzLmZpbGVXYXRjaGVyKSl0cnl7dGhpcy5maWxlV2F0Y2hlcj10aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndhdGNoKCIvIiwoRCxOKT0+e3RoaXMucmVmcmVzaERlYm91bmNlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMucmVmcmVzaERlYm91bmNlVGltZW91dCksdGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnJlZnJlc2goKX0sMzAwKX0se3JlY3Vyc2l2ZTohMH0pfWNhdGNoKEQpe2NvbnNvbGUud2FybigiRmlsZSB3YXRjaGluZyBub3Qgc3VwcG9ydGVkOiIsRCl9fXN0b3BGaWxlV2F0Y2hlcigpe3RoaXMuZmlsZVdhdGNoZXImJih0aGlzLmZpbGVXYXRjaGVyLnN0b3AoKSx0aGlzLmZpbGVXYXRjaGVyPW51bGwpfWFzeW5jIGxvYWRUcmVlKCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmIXRoaXMubG9hZFRyZWVTdGFydGVkKXt0aGlzLmxvYWRUcmVlU3RhcnRlZD0hMCx0aGlzLmlzTG9hZGluZz0hMCx0aGlzLmVycm9yTWVzc2FnZT0iIjt0cnl7dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkeXx8YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5pbml0KCk7bGV0IEQ9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKHRoaXMucm9vdFBhdGgpO3RoaXMudHJlZURhdGE9dGhpcy5zb3J0RW50cmllcyhEKS5tYXAoTj0+KHsuLi5OLGxldmVsOjAsZXhwYW5kZWQ6ITEsY2hpbGRyZW46Ti50eXBlPT09ImRpcmVjdG9yeSI/W106dm9pZCAwfSkpfWNhdGNoKEQpe3RoaXMuZXJyb3JNZXNzYWdlPWBGYWlsZWQgdG8gbG9hZCBmaWxlczogJHtEfWAsY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGxvYWQgZmlsZSB0cmVlOiIsRCksdGhpcy5sb2FkVHJlZVN0YXJ0ZWQ9ITF9ZmluYWxseXt0aGlzLmlzTG9hZGluZz0hMX19fXNvcnRFbnRyaWVzKEQpe3JldHVybiBELnNvcnQoKE4scSk9Pk4udHlwZSE9PXEudHlwZT9OLnR5cGU9PT0iZGlyZWN0b3J5Ij8tMToxOk4ubmFtZS5sb2NhbGVDb21wYXJlKHEubmFtZSkpfWFzeW5jIHJlZnJlc2goKXt0aGlzLmV4cGFuZGVkUGF0aHMuY2xlYXIoKSx0aGlzLmxvYWRUcmVlU3RhcnRlZD0hMSxhd2FpdCB0aGlzLmxvYWRUcmVlKCl9c2VsZWN0RmlsZShEKXt0aGlzLnNlbGVjdGVkUGF0aD1EfXN0YXRpY3tzcyhhLHIpfX07cmV0dXJuIE89YX0pKCl9KTt2YXIgUnVlLHh2LEp1cixCdWU9ZigoKT0+e3VlKCk7UWUoKTt0MygpO1J1ZT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LHh2PWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxKdXI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBoPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6QXJyYXl9KV0sUnVlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29tbWFuZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+ImNvbW1hbmQiaW4gbSxnZXQ6bT0+bS5jb21tYW5kLHNldDoobSx2KT0+e20uY29tbWFuZD12fX0sbWV0YWRhdGE6aH0scyxvKSxSdWUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsaW5lcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+ImxpbmVzImluIG0sZ2V0Om09Pm0ubGluZXMsc2V0OihtLHYpPT57bS5saW5lcz12fX0sbWV0YWRhdGE6aH0sbCx1KSxSdWUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6aH0sbnVsbCxyKSxkPWE9dC52YWx1ZSxoJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmh9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3CiAgICAgIC5jb21tYW5kPSR7InBucG0gaW5zdGFsbCJ9CiAgICAgIC5saW5lcz0ke1siUGFja2FnZXM6ICs0MiIsIlByb2dyZXNzOiByZXNvbHZlZCAxNDIsIHJldXNlZCAxNDAsIGRvd25sb2FkZWQgMiwgYWRkZWQgNDIsIGRvbmUiLCIiLCJkZXBlbmRlbmNpZXM6IiwiKyBAcHVzaC5yb2Nrcy9zbWFydHByb21pc2UgNC4yLjMiLCIrIHR5cGVzY3JpcHQgNS4zLjMiLCIiLCJEb25lIGluIDIuM3MiXX0KICAgID48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsLXByZXZpZXc+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdOyNlPXh2KHRoaXMscywiIik7Z2V0IGNvbW1hbmQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY29tbWFuZChoKXt0aGlzLiNlPWh9I3Q9KHh2KHRoaXMsbykseHYodGhpcyxsLFtdKSk7Z2V0IGxpbmVzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxpbmVzKGgpe3RoaXMuI3Q9aH10ZXJtaW5hbD0oeHYodGhpcyx1KSxudWxsKTtmaXRBZGRvbj1udWxsO2xhc3RMaW5lQ291bnQ9MDtyZXNpemVPYnNlcnZlcj1udWxsO3Rlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249bnVsbDtzdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1wcmV2aWV3IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDEwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNDAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWhlYWRlci1pY29uIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICB9CgogICAgICAudGVybWluYWwtaGVhZGVyLWNvbW1hbmQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICB9CgogICAgICAjeHRlcm0tY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA4cHg7CiAgICAgICAgbGVmdDogOHB4OwogICAgICAgIHJpZ2h0OiA4cHg7CiAgICAgICAgYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC8qIHh0ZXJtLmpzIHN0eWxlcyAqLwogICAgICAueHRlcm0gewogICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnIDA7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAueHRlcm0uZm9jdXMsCiAgICAgIC54dGVybTpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1oZWxwZXJzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHotaW5kZXg6IDU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0taGVscGVyLXRleHRhcmVhIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgbGVmdDogLTk5OTllbTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIHotaW5kZXg6IC01OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICByZXNpemU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAuY29tcG9zaXRpb24tdmlldyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzMzMzMzMyIsIiNmZmZmZmYiKX07CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CgogICAgICAueHRlcm0gLmNvbXBvc2l0aW9uLXZpZXcuYWN0aXZlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS12aWV3cG9ydCB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1zY3JlZW4gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1zY3JlZW4gY2FudmFzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2Nyb2xsLWFyZWEgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnh0ZXJtLWNoYXItbWVhc3VyZS1lbGVtZW50IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogLTk5OTllbTsKICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOwogICAgICB9CgogICAgICAueHRlcm0gewogICAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgfQoKICAgICAgLnh0ZXJtLmVuYWJsZS1tb3VzZS1ldmVudHMgewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgLnh0ZXJtLnh0ZXJtLWN1cnNvci1wb2ludGVyIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC54dGVybS5jb2x1bW4tc2VsZWN0LmZvY3VzIHsKICAgICAgICBjdXJzb3I6IGNyb3NzaGFpcjsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1hY2Nlc3NpYmlsaXR5LAogICAgICAueHRlcm0gLnh0ZXJtLW1lc3NhZ2UgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAueHRlcm0gLmxpdmUtcmVnaW9uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogLTk5OTlweDsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC54dGVybS1kaW0gewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLnh0ZXJtLXVuZGVybGluZSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC8qIEN1c3RvbSBzY3JvbGxiYXIgZm9yIHh0ZXJtIHZpZXdwb3J0ICovCiAgICAgIC54dGVybSAueHRlcm0tdmlld3BvcnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSA4JSkiKX07CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tdmlld3BvcnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODAlKSIsImhzbCgwIDAlIDI1JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDcwJSkiLCJoc2woMCAwJSAzNSUpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtcHJldmlldyI+CiAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXJtaW5hbC1oZWFkZXItaWNvbiI+JDwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXJtaW5hbC1oZWFkZXItY29tbWFuZCI+JHt0aGlzLmNvbW1hbmR8fCJXYWl0aW5nLi4uIn08L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYgaWQ9Inh0ZXJtLWNvbnRhaW5lciI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1nZXRUZXJtaW5hbFRoZW1lKGgpe3JldHVybiBoP3tiYWNrZ3JvdW5kOiIjZmZmZmZmIixmb3JlZ3JvdW5kOiIjMzMzMzMzIixjdXJzb3I6IiMzMzMzMzMiLGN1cnNvckFjY2VudDoiI2ZmZmZmZiIsc2VsZWN0aW9uQmFja2dyb3VuZDoicmdiYSgwLCAwLCAwLCAwLjIpIn06e2JhY2tncm91bmQ6IiMwMDAwMDAiLGZvcmVncm91bmQ6IiNjY2NjY2MiLGN1cnNvcjoiI2NjY2NjYyIsY3Vyc29yQWNjZW50OiIjMDAwMDAwIixzZWxlY3Rpb25CYWNrZ3JvdW5kOiJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikifX1hc3luYyBmaXJzdFVwZGF0ZWQoaCl7c3VwZXIuZmlyc3RVcGRhdGVkKGgpO2xldCBtPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInh0ZXJtLWNvbnRhaW5lciIpO2lmKCFtKXJldHVybjtsZXQgdj1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxiPXYudGhlbWVNYW5hZ2VyLmdvQnJpZ2h0Qm9vbGVhbixnPWVuLmdldEluc3RhbmNlKCksW3ksd109YXdhaXQgUHJvbWlzZS5hbGwoW2cubG9hZFh0ZXJtKCksZy5sb2FkWHRlcm1GaXRBZGRvbigpXSk7dGhpcy50ZXJtaW5hbD1uZXcgeS5UZXJtaW5hbCh7Y29udmVydEVvbDohMCxjdXJzb3JCbGluazohMSxkaXNhYmxlU3RkaW46ITAsZm9udFNpemU6MTIsZm9udEZhbWlseToiJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZSIsdGhlbWU6dGhpcy5nZXRUZXJtaW5hbFRoZW1lKGIpLHNjcm9sbGJhY2s6MWUzfSksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPXYudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoaz0+e3RoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLm9wdGlvbnMudGhlbWU9dGhpcy5nZXRUZXJtaW5hbFRoZW1lKGspKX0pLHRoaXMuZml0QWRkb249bmV3IHcuRml0QWRkb24sdGhpcy50ZXJtaW5hbC5sb2FkQWRkb24odGhpcy5maXRBZGRvbiksdGhpcy50ZXJtaW5hbC5vcGVuKG0pLHRoaXMuZml0QWRkb24uZml0KCksdGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLmZpdEFkZG9uJiZ0aGlzLmZpdEFkZG9uLmZpdCgpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKG0pLHRoaXMud3JpdGVOZXdMaW5lcygpfWFzeW5jIHVwZGF0ZWQoaCl7c3VwZXIudXBkYXRlZChoKSxoLmhhcygibGluZXMiKSYmdGhpcy53cml0ZU5ld0xpbmVzKCl9d3JpdGVOZXdMaW5lcygpe2lmKCF0aGlzLnRlcm1pbmFsKXJldHVybjtsZXQgaD10aGlzLmxpbmVzLnNsaWNlKHRoaXMubGFzdExpbmVDb3VudCk7Zm9yKGxldCBtIG9mIGgpdGhpcy50ZXJtaW5hbC53cml0ZWxuKG0pO3RoaXMubGFzdExpbmVDb3VudD10aGlzLmxpbmVzLmxlbmd0aH1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMucmVzaXplT2JzZXJ2ZXImJih0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW51bGwpLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbiYmKHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1udWxsKSx0aGlzLnRlcm1pbmFsJiYodGhpcy50ZXJtaW5hbC5kaXNwb3NlKCksdGhpcy50ZXJtaW5hbD1udWxsKSxhd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpfWFkZExpbmUoaCl7dGhpcy5saW5lcz1bLi4udGhpcy5saW5lcyxoXX1jbGVhcigpe3RoaXMubGluZXM9W10sdGhpcy5sYXN0TGluZUNvdW50PTAsdGhpcy50ZXJtaW5hbCYmdGhpcy50ZXJtaW5hbC5jbGVhcigpfXN0YXRpY3t4dihhLHIpfX07cmV0dXJuIGQ9YX0pKCl9KTt2YXIgUmYsV28sS3VyLEh1ZT1mKCgpPT57dWUoKTtRZSgpO2lyKCk7TWkoKTtSZj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFdvPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxLdXI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXdvcmtzcGFjZS1ib3R0b21iYXIiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXTt2YXIgUj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IEM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpPYmplY3R9KV0sYz1bc2UoKV0sZD1bc2UoKV0sdj1bc2UoKV0seT1bc2UoKV0sUmYodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJleGVjdXRpb25FbnZpcm9ubWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+ImV4ZWN1dGlvbkVudmlyb25tZW50ImluIFMsZ2V0OlM9PlMuZXhlY3V0aW9uRW52aXJvbm1lbnQsc2V0OihTLE8pPT57Uy5leGVjdXRpb25FbnZpcm9ubWVudD1PfX0sbWV0YWRhdGE6Q30scyxvKSxSZih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNjcmlwdHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJzY3JpcHRzImluIFMsZ2V0OlM9PlMuc2NyaXB0cyxzZXQ6KFMsTyk9PntTLnNjcmlwdHM9T319LG1ldGFkYXRhOkN9LGwsdSksUmYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYWNrYWdlU3RhdHVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4icGFja2FnZVN0YXR1cyJpbiBTLGdldDpTPT5TLnBhY2thZ2VTdGF0dXMsc2V0OihTLE8pPT57Uy5wYWNrYWdlU3RhdHVzPU99fSxtZXRhZGF0YTpDfSxoLG0pLFJmKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3V0ZGF0ZWRQYWNrYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+Im91dGRhdGVkUGFja2FnZXMiaW4gUyxnZXQ6Uz0+Uy5vdXRkYXRlZFBhY2thZ2VzLHNldDooUyxPKT0+e1Mub3V0ZGF0ZWRQYWNrYWdlcz1PfX0sbWV0YWRhdGE6Q30sYixnKSxSZih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzQ2hlY2tpbmdQYWNrYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+ImlzQ2hlY2tpbmdQYWNrYWdlcyJpbiBTLGdldDpTPT5TLmlzQ2hlY2tpbmdQYWNrYWdlcyxzZXQ6KFMsTyk9PntTLmlzQ2hlY2tpbmdQYWNrYWdlcz1PfX0sbWV0YWRhdGE6Q30sdyxrKSxSZihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpDfSxudWxsLHIpLFI9YT10LnZhbHVlLEMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Q30pfSNlPVdvKHRoaXMscyxudWxsKTtnZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoQyl7dGhpcy4jZT1DfSN0PShXbyh0aGlzLG8pLFdvKHRoaXMsbCx7fSkpO2dldCBzY3JpcHRzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNjcmlwdHMoQyl7dGhpcy4jdD1DfSNyPShXbyh0aGlzLHUpLFdvKHRoaXMsaCwiaWRsZSIpKTtnZXQgcGFja2FnZVN0YXR1cygpe3JldHVybiB0aGlzLiNyfXNldCBwYWNrYWdlU3RhdHVzKEMpe3RoaXMuI3I9Q30jYT0oV28odGhpcyxtKSxXbyh0aGlzLGIsW10pKTtnZXQgb3V0ZGF0ZWRQYWNrYWdlcygpe3JldHVybiB0aGlzLiNhfXNldCBvdXRkYXRlZFBhY2thZ2VzKEMpe3RoaXMuI2E9Q30jaT0oV28odGhpcyxnKSxXbyh0aGlzLHcsITEpKTtnZXQgaXNDaGVja2luZ1BhY2thZ2VzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGlzQ2hlY2tpbmdQYWNrYWdlcyhDKXt0aGlzLiNpPUN9cGVuZGluZ1BhY2thZ2VVcGRhdGU9KFdvKHRoaXMsayksITEpO2hhbmRsZVByb2Nlc3NDb21wbGV0ZT1DPT57dGhpcy5wZW5kaW5nUGFja2FnZVVwZGF0ZSYmKHRoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGU9ITEsc2V0VGltZW91dCgoKT0+dGhpcy5jaGVja1BhY2thZ2VzKCksNTAwKSl9O3N0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuYm90dG9tLWJhciB7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTQlKSIsImhzbCgwIDAlIDYlKSIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAud2lkZ2V0OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldCBkZWVzLWljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAud2lkZ2V0LXNlcGFyYXRvciB7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDgwJSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgIG1hcmdpbjogMCA0cHg7CiAgICAgIH0KCiAgICAgIC53aWRnZXQucnVubmluZyB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNDUlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LnVwLXRvLWRhdGUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDE0MiA3MCUgMzUlKSIsImhzbCgxNDIgNzAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQudXBkYXRlcy1hdmFpbGFibGUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDM4IDkyJSA0NSUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LmVycm9yIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9CiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgIH0KCiAgICAgIC5zcGlubmluZyB7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgLnNwYWNlciB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS1iYXIiPgogICAgICAgIDwhLS0gU2NyaXB0IFJ1bm5lciBXaWRnZXQgLS0+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9IndpZGdldCIKICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlU2NyaXB0Q2xpY2t9CiAgICAgICAgICB0aXRsZT0iUnVuIHNjcmlwdCIKICAgICAgICA+CiAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgIC5pY29uPSR7Imx1Y2lkZTpwbGF5In0KICAgICAgICAgICAgaWNvblNpemU9IjEyIgogICAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+U2NyaXB0czwvc3Bhbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LXNlcGFyYXRvciI+PC9kaXY+CgogICAgICAgIDwhLS0gUGFja2FnZSBDaGVja2VyIFdpZGdldCAtLT4KICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0id2lkZ2V0ICR7dGhpcy5nZXRQYWNrYWdlU3RhdHVzQ2xhc3MoKX0iCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZVBhY2thZ2VDbGlja30KICAgICAgICAgIHRpdGxlPSIke3RoaXMuZ2V0UGFja2FnZVRvb2x0aXAoKX0iCiAgICAgICAgPgogICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAuaWNvbj0ke3RoaXMuZ2V0UGFja2FnZUljb24oKX0KICAgICAgICAgICAgaWNvblNpemU9IjEyIgogICAgICAgICAgICBjbGFzcz0iJHt0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcz8ic3Bpbm5pbmciOiIifSIKICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPiR7dGhpcy5nZXRQYWNrYWdlU3RhdHVzVGV4dCgpfTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KCiAgICAgICAgPCEtLSBGdXR1cmUgd2lkZ2V0cyBjYW4gYmUgYWRkZWQgaGVyZSAtLT4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicHJvY2Vzcy1jb21wbGV0ZSIsdGhpcy5oYW5kbGVQcm9jZXNzQ29tcGxldGUpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicHJvY2Vzcy1jb21wbGV0ZSIsdGhpcy5oYW5kbGVQcm9jZXNzQ29tcGxldGUpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMubG9hZFNjcmlwdHMoKSxhd2FpdCB0aGlzLmNoZWNrUGFja2FnZXMoKX1hc3luYyB1cGRhdGVkKEMpe0MuaGFzKCJleGVjdXRpb25FbnZpcm9ubWVudCIpJiZ0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYoYXdhaXQgdGhpcy5sb2FkU2NyaXB0cygpLGF3YWl0IHRoaXMuY2hlY2tQYWNrYWdlcygpKX1hc3luYyBsb2FkU2NyaXB0cygpe2lmKHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpdHJ5e2lmKCFhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cygiL3BhY2thZ2UuanNvbiIpKXt0aGlzLnNjcmlwdHM9e307cmV0dXJufWxldCBTPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoIi9wYWNrYWdlLmpzb24iKSxPPUpTT04ucGFyc2UoUyk7dGhpcy5zY3JpcHRzPU8uc2NyaXB0c3x8e319Y2F0Y2goQyl7Y29uc29sZS53YXJuKCJGYWlsZWQgdG8gbG9hZCBzY3JpcHRzIGZyb20gcGFja2FnZS5qc29uOiIsQyksdGhpcy5zY3JpcHRzPXt9fX1hc3luYyBoYW5kbGVTY3JpcHRDbGljayhDKXtDLnN0b3BQcm9wYWdhdGlvbigpO2xldCBTPU9iamVjdC5rZXlzKHRoaXMuc2NyaXB0cyk7aWYoUy5sZW5ndGg9PT0wKXJldHVybjtsZXQgTz1TLm1hcChEPT4oe25hbWU6RCxpY29uTmFtZToibHVjaWRlOnRlcm1pbmFsIixhY3Rpb246YXN5bmMoKT0+e2F3YWl0IHRoaXMucnVuU2NyaXB0KEQpfX0pKTthd2FpdCBNci5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhDLE8pfWFzeW5jIHJ1blNjcmlwdChDKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47bGV0IFM9e3R5cGU6InNjcmlwdCIsbGFiZWw6Qyxjb21tYW5kOiJwbnBtIixhcmdzOlsicnVuIixDXSxtZXRhZGF0YTp7c2NyaXB0TmFtZTpDfX07dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicnVuLXByb2Nlc3MiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDpTfSkpfWFzeW5jIGNoZWNrUGFja2FnZXMoKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl7dGhpcy5wYWNrYWdlU3RhdHVzPSJpZGxlIjtyZXR1cm59dHJ5e2lmKCFhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cygiL3BhY2thZ2UuanNvbiIpKXt0aGlzLnBhY2thZ2VTdGF0dXM9ImlkbGUiO3JldHVybn10aGlzLnBhY2thZ2VTdGF0dXM9ImNoZWNraW5nIix0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcz0hMDtsZXQgUz1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnNwYXduKCJwbnBtIixbIm91dGRhdGVkIiwiLS1qc29uIl0pLE89IiIsRD1TLm91dHB1dC5nZXRSZWFkZXIoKTsoYXN5bmMoKT0+e3RyeXtmb3IoOzspe2xldHtkb25lOl8sdmFsdWU6en09YXdhaXQgRC5yZWFkKCk7aWYoXylicmVhaztPKz16fX1jYXRjaHt9fSkoKTtsZXQgcT1hd2FpdCBQcm9taXNlLnJhY2UoW1MuZXhpdCxuZXcgUHJvbWlzZShfPT5zZXRUaW1lb3V0KCgpPT5fKC0xKSwxZTQpKV0pO3RyeXthd2FpdCBELmNhbmNlbCgpfWNhdGNoe31pZihxPT09LTEpe2NvbnNvbGUud2FybigiUGFja2FnZSBjaGVjayB0aW1lZCBvdXQiKSx0aGlzLnBhY2thZ2VTdGF0dXM9ImVycm9yIjtyZXR1cm59aWYocT09PTApdGhpcy5wYWNrYWdlU3RhdHVzPSJ1cC10by1kYXRlIix0aGlzLm91dGRhdGVkUGFja2FnZXM9W107ZWxzZSB0cnl7bGV0IF89SlNPTi5wYXJzZShPKTt0aGlzLm91dGRhdGVkUGFja2FnZXM9dGhpcy5wYXJzZU91dGRhdGVkUGFja2FnZXMoXyksdGhpcy5wYWNrYWdlU3RhdHVzPXRoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGg+MD8idXBkYXRlcy1hdmFpbGFibGUiOiJ1cC10by1kYXRlIn1jYXRjaHt0aGlzLnBhY2thZ2VTdGF0dXM9InVwZGF0ZXMtYXZhaWxhYmxlIix0aGlzLm91dGRhdGVkUGFja2FnZXM9W119fWNhdGNoKEMpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGNoZWNrIGZvciBwYWNrYWdlIHVwZGF0ZXM6IixDKSx0aGlzLnBhY2thZ2VTdGF0dXM9ImVycm9yIn1maW5hbGx5e3RoaXMuaXNDaGVja2luZ1BhY2thZ2VzPSExfX1wYXJzZU91dGRhdGVkUGFja2FnZXMoQyl7bGV0IFM9W107aWYodHlwZW9mIEM9PSJvYmplY3QiJiZDIT09bnVsbClmb3IobGV0W08sRF1vZiBPYmplY3QuZW50cmllcyhDKSl7bGV0IE49RDtTLnB1c2goe25hbWU6TyxjdXJyZW50Ok4uY3VycmVudHx8InVua25vd24iLHdhbnRlZDpOLndhbnRlZHx8Ti5jdXJyZW50fHwidW5rbm93biIsbGF0ZXN0Ok4ubGF0ZXN0fHxOLndhbnRlZHx8InVua25vd24iLHR5cGU6Ti5kZXBlbmRlbmN5VHlwZT09PSJkZXZEZXBlbmRlbmNpZXMiPyJkZXZEZXBlbmRlbmNpZXMiOiJkZXBlbmRlbmNpZXMifSl9cmV0dXJuIFN9YXN5bmMgaGFuZGxlUGFja2FnZUNsaWNrKEMpe0Muc3RvcFByb3BhZ2F0aW9uKCk7bGV0IFM9W107aWYoUy5wdXNoKHtuYW1lOnRoaXMuaXNDaGVja2luZ1BhY2thZ2VzPyJDaGVja2luZy4uLiI6IkNoZWNrIGZvciB1cGRhdGVzIixpY29uTmFtZToibHVjaWRlOnJlZnJlc2hDdyIsYWN0aW9uOmFzeW5jKCk9PntpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm47bGV0IE89e3R5cGU6InBhY2thZ2UtdXBkYXRlIixsYWJlbDoiY2hlY2sgcGFja2FnZXMiLGNvbW1hbmQ6InBucG0iLGFyZ3M6WyJvdXRkYXRlZCJdfTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJydW4tcHJvY2VzcyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOk99KSksc2V0VGltZW91dCgoKT0+dGhpcy5jaGVja1BhY2thZ2VzKCksM2UzKX19KSx0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RoPjApe1MucHVzaCh7ZGl2aWRlcjohMH0pO2xldCBPPXRoaXMub3V0ZGF0ZWRQYWNrYWdlcy5zbGljZSgwLDEwKTtmb3IobGV0IEQgb2YgTylTLnB1c2goe25hbWU6YCR7RC5uYW1lfTogJHtELmN1cnJlbnR9IFx1MjE5MiAke0QubGF0ZXN0fWAsaWNvbk5hbWU6Imx1Y2lkZTpwYWNrYWdlIixhY3Rpb246YXN5bmMoKT0+e2F3YWl0IHRoaXMudXBkYXRlUGFja2FnZShELm5hbWUpfX0pO3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGg+MTAmJlMucHVzaCh7bmFtZTpgLi4uIGFuZCAke3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGgtMTB9IG1vcmVgLGljb25OYW1lOiJsdWNpZGU6bW9yZUhvcml6b250YWwiLGFjdGlvbjphc3luYygpPT57fX0pLFMucHVzaCh7ZGl2aWRlcjohMH0pLFMucHVzaCh7bmFtZToiVXBkYXRlIGFsbCBwYWNrYWdlcyIsaWNvbk5hbWU6Imx1Y2lkZTphcnJvd1VwQ2lyY2xlIixhY3Rpb246YXN5bmMoKT0+e2F3YWl0IHRoaXMudXBkYXRlQWxsUGFja2FnZXMoKX19KX1hd2FpdCBNci5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhDLFMpfWFzeW5jIHVwZGF0ZVBhY2thZ2UoQyl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO3RoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGU9ITA7bGV0IFM9e3R5cGU6InBhY2thZ2UtdXBkYXRlIixsYWJlbDpgdXBkYXRlICR7Q31gLGNvbW1hbmQ6InBucG0iLGFyZ3M6WyJ1cGRhdGUiLCItLWxhdGVzdCIsQ10sbWV0YWRhdGE6e3BhY2thZ2VOYW1lOkN9fTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJydW4tcHJvY2VzcyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOlN9KSl9YXN5bmMgdXBkYXRlQWxsUGFja2FnZXMoKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47dGhpcy5wZW5kaW5nUGFja2FnZVVwZGF0ZT0hMDtsZXQgQz17dHlwZToicGFja2FnZS11cGRhdGUiLGxhYmVsOiJ1cGRhdGUgYWxsIixjb21tYW5kOiJwbnBtIixhcmdzOlsidXBkYXRlIiwiLS1sYXRlc3QiXX07dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicnVuLXByb2Nlc3MiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDpDfSkpfWdldFBhY2thZ2VTdGF0dXNDbGFzcygpe3JldHVybiB0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcz8iIjp0aGlzLnBhY2thZ2VTdGF0dXN9Z2V0UGFja2FnZUljb24oKXtpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm4ibHVjaWRlOmxvYWRlcjIiO3N3aXRjaCh0aGlzLnBhY2thZ2VTdGF0dXMpe2Nhc2UidXAtdG8tZGF0ZSI6cmV0dXJuImx1Y2lkZTpjaGVja0NpcmNsZSI7Y2FzZSJ1cGRhdGVzLWF2YWlsYWJsZSI6cmV0dXJuImx1Y2lkZTphbGVydENpcmNsZSI7Y2FzZSJlcnJvciI6cmV0dXJuImx1Y2lkZTp4Q2lyY2xlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6cGFja2FnZSJ9fWdldFBhY2thZ2VTdGF0dXNUZXh0KCl7aWYodGhpcy5pc0NoZWNraW5nUGFja2FnZXMpcmV0dXJuIkNoZWNraW5nLi4uIjtzd2l0Y2godGhpcy5wYWNrYWdlU3RhdHVzKXtjYXNlInVwLXRvLWRhdGUiOnJldHVybiJVcCB0byBkYXRlIjtjYXNlInVwZGF0ZXMtYXZhaWxhYmxlIjpyZXR1cm5gJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RofSB1cGRhdGUke3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGghPT0xPyJzIjoiIn1gO2Nhc2UiZXJyb3IiOnJldHVybiJDaGVjayBmYWlsZWQiO2RlZmF1bHQ6cmV0dXJuIlBhY2thZ2VzIn19Z2V0UGFja2FnZVRvb2x0aXAoKXtpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm4iQ2hlY2tpbmcgZm9yIHBhY2thZ2UgdXBkYXRlcy4uLiI7c3dpdGNoKHRoaXMucGFja2FnZVN0YXR1cyl7Y2FzZSJ1cC10by1kYXRlIjpyZXR1cm4iQWxsIHBhY2thZ2VzIGFyZSB1cCB0byBkYXRlIjtjYXNlInVwZGF0ZXMtYXZhaWxhYmxlIjpyZXR1cm5gJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RofSBwYWNrYWdlIHVwZGF0ZSR7dGhpcy5vdXRkYXRlZFBhY2thZ2VzLmxlbmd0aCE9PTE/InMiOiIifSBhdmFpbGFibGVgO2Nhc2UiZXJyb3IiOnJldHVybiJGYWlsZWQgdG8gY2hlY2sgZm9yIHVwZGF0ZXMuIENsaWNrIHRvIHJldHJ5LiI7ZGVmYXVsdDpyZXR1cm4iQ2xpY2sgdG8gY2hlY2sgZm9yIHBhY2thZ2UgdXBkYXRlcyJ9fWFzeW5jIHJlZnJlc2hQYWNrYWdlU3RhdHVzKCl7YXdhaXQgdGhpcy5jaGVja1BhY2thZ2VzKCl9YXN5bmMgcmVmcmVzaFNjcmlwdHMoKXthd2FpdCB0aGlzLmxvYWRTY3JpcHRzKCl9c3RhdGlje1dvKGEscil9fTtyZXR1cm4gUj1hfSkoKX0pO3ZhciB5dixxdWU9ZigoKT0+e3l2PWNsYXNze2xvYWRlZExpYnM9bmV3IFNldDtub3RGb3VuZFBhY2thZ2VzPW5ldyBTZXQ7bW9uYWNvSW5zdGFuY2U9bnVsbDtleGVjdXRpb25FbnZpcm9ubWVudD1udWxsO2ZpbGVDYWNoZT1uZXcgTWFwO2FkZGVkRXh0cmFMaWJzPW5ldyBNYXA7Z2V0IHRzQXBpKCl7cmV0dXJuIHRoaXMubW9uYWNvSW5zdGFuY2U/dGhpcy5tb25hY29JbnN0YW5jZS5sYW5ndWFnZXMudHlwZXNjcmlwdDpudWxsfWFzeW5jIGluaXQodCxyKXt0aGlzLm1vbmFjb0luc3RhbmNlPXQsdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudD1yLHRoaXMuY29uZmlndXJlQ29tcGlsZXJPcHRpb25zKCksYXdhaXQgdGhpcy5sb2FkQWxsUHJvamVjdEZpbGVzKCl9YXN5bmMgbG9hZEFsbFByb2plY3RGaWxlcygpe3RoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJmF3YWl0IHRoaXMubG9hZEZpbGVzRnJvbURpcmVjdG9yeSgiLyIpfWFzeW5jIGxvYWRGaWxlc0Zyb21EaXJlY3RvcnkodCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0cnl7bGV0IHI9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKHQpO2ZvcihsZXQgYSBvZiByKXtsZXQgaT10PT09Ii8iP2AvJHthLm5hbWV9YDpgJHt0fS8ke2EubmFtZX1gO2lmKGEubmFtZSE9PSJub2RlX21vZHVsZXMiKXtpZihhLnR5cGU9PT0iZGlyZWN0b3J5Iilhd2FpdCB0aGlzLmxvYWRGaWxlc0Zyb21EaXJlY3RvcnkoaSk7ZWxzZSBpZihhLnR5cGU9PT0iZmlsZSIpe2xldCBuPWEubmFtZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpO2lmKG49PT0idHMifHxuPT09InRzeCJ8fG49PT0ianMifHxuPT09ImpzeCIpdHJ5e2xldCBzPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoaSk7dGhpcy5hZGRGaWxlTW9kZWwoaSxzKX1jYXRjaHt9fX19fWNhdGNoe319Y29uZmlndXJlQ29tcGlsZXJPcHRpb25zKCl7bGV0IHQ9dGhpcy50c0FwaTt0JiYodC50eXBlc2NyaXB0RGVmYXVsdHMuc2V0Q29tcGlsZXJPcHRpb25zKHt0YXJnZXQ6dC5TY3JpcHRUYXJnZXQuRVMyMDIwLG1vZHVsZTp0Lk1vZHVsZUtpbmQuRVNOZXh0LG1vZHVsZVJlc29sdXRpb246dC5Nb2R1bGVSZXNvbHV0aW9uS2luZC5CdW5kbGVyPz90Lk1vZHVsZVJlc29sdXRpb25LaW5kLk5vZGVKcyxhbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzOiEwLGVzTW9kdWxlSW50ZXJvcDohMCxzdHJpY3Q6ITAsbm9FbWl0OiEwLGFsbG93SnM6ITAsY2hlY2tKczohMSxhbGxvd05vblRzRXh0ZW5zaW9uczohMCxsaWI6WyJlczIwMjAiLCJkb20iLCJkb20uaXRlcmFibGUiXSxiYXNlVXJsOiIvIixhbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9uczohMCxyZXNvbHZlSnNvbk1vZHVsZTohMH0pLHQudHlwZXNjcmlwdERlZmF1bHRzLnNldERpYWdub3N0aWNzT3B0aW9ucyh7bm9TZW1hbnRpY1ZhbGlkYXRpb246ITEsbm9TeW50YXhWYWxpZGF0aW9uOiExfSksdC50eXBlc2NyaXB0RGVmYXVsdHMuc2V0RWFnZXJNb2RlbFN5bmMoITApKX1wYXJzZUltcG9ydHModCl7bGV0IHI9W10sYT0vaW1wb3J0XHMrKD86W1x3Knt9XHMsXStmcm9tXHMrKT9bJyJdKFteJyJdKylbJyJdL2csaTtmb3IoOyhpPWEuZXhlYyh0KSkhPT1udWxsOyl7bGV0IHM9aVsxXTtpZighcy5zdGFydHNXaXRoKCIuIikmJiFzLnN0YXJ0c1dpdGgoIi8iKSl7bGV0IG89cy5zdGFydHNXaXRoKCJAIik/cy5zcGxpdCgiLyIpLnNsaWNlKDAsMikuam9pbigiLyIpOnMuc3BsaXQoIi8iKVswXTtyLnB1c2gobyl9fWxldCBuPS9yZXF1aXJlXHMqXChccypbJyJdKFteJyJdKylbJyJdXHMqXCkvZztmb3IoOyhpPW4uZXhlYyh0KSkhPT1udWxsOyl7bGV0IHM9aVsxXTtpZighcy5zdGFydHNXaXRoKCIuIikmJiFzLnN0YXJ0c1dpdGgoIi8iKSl7bGV0IG89cy5zdGFydHNXaXRoKCJAIik/cy5zcGxpdCgiLyIpLnNsaWNlKDAsMikuam9pbigiLyIpOnMuc3BsaXQoIi8iKVswXTtyLnB1c2gobyl9fXJldHVyblsuLi5uZXcgU2V0KHIpXX1hc3luYyBsb2FkVHlwZXNGb3JQYWNrYWdlKHQpe2lmKCEoIXRoaXMubW9uYWNvSW5zdGFuY2V8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSYmIXRoaXMubG9hZGVkTGlicy5oYXModCkmJiF0aGlzLm5vdEZvdW5kUGFja2FnZXMuaGFzKHQpKXRyeXtsZXQgcj1hd2FpdCB0aGlzLnRyeUxvYWRQYWNrYWdlVHlwZXModCk7cnx8KHI9YXdhaXQgdGhpcy50cnlMb2FkQXRUeXBlc1BhY2thZ2UodCkpLHI/dGhpcy5sb2FkZWRMaWJzLmFkZCh0KTp0aGlzLm5vdEZvdW5kUGFja2FnZXMuYWRkKHQpfWNhdGNoKHIpe2NvbnNvbGUud2FybihgRmFpbGVkIHRvIGxvYWQgdHlwZXMgZm9yICR7dH06YCxyKX19YXN5bmMgdHJ5TG9hZFBhY2thZ2VUeXBlcyh0KXtsZXQgcj10aGlzLnRzQXBpO2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhcilyZXR1cm4hMTtsZXQgYT1gL25vZGVfbW9kdWxlcy8ke3R9YDt0cnl7bGV0IGk9YCR7YX0vcGFja2FnZS5qc29uYDtpZihhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cyhpKSl7bGV0IG89YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShpKSxjPUpTT04ucGFyc2Uobyk7aWYoci50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIobyxgZmlsZTovLyR7aX1gKSxjLnR5cGVzfHxjLnR5cGluZ3MpcmV0dXJuIGF3YWl0IHRoaXMubG9hZEFsbER0c0ZpbGVzRnJvbVBhY2thZ2UoYSksITB9bGV0IHM9W2Ake2F9L2luZGV4LmQudHNgLGAke2F9L2Rpc3QvaW5kZXguZC50c2AsYCR7YX0vbGliL2luZGV4LmQudHNgXTtmb3IobGV0IG8gb2YgcylpZihhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cyhvKSlyZXR1cm4gYXdhaXQgdGhpcy5sb2FkQWxsRHRzRmlsZXNGcm9tUGFja2FnZShhKSwhMDtyZXR1cm4hMX1jYXRjaChpKXtyZXR1cm4gY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGxvYWQgcGFja2FnZSB0eXBlcyBmb3IgJHt0fTpgLGkpLCExfX1hc3luYyBsb2FkQWxsRHRzRmlsZXNGcm9tUGFja2FnZSh0KXtsZXQgcj10aGlzLnRzQXBpOyF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhcnx8YXdhaXQgdGhpcy5sb2FkRHRzRmlsZXNGcm9tRGlyZWN0b3J5KHQpfWFzeW5jIGxvYWREdHNGaWxlc0Zyb21EaXJlY3RvcnkodCl7bGV0IHI9dGhpcy50c0FwaTtpZighKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhcikpdHJ5e2xldCBhPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZERpcih0KTtmb3IobGV0IGkgb2YgYSl7bGV0IG49dD09PSIvIj9gLyR7aS5uYW1lfWA6YCR7dH0vJHtpLm5hbWV9YDtpZihpLm5hbWUhPT0ibm9kZV9tb2R1bGVzIil7aWYoaS50eXBlPT09ImRpcmVjdG9yeSIpYXdhaXQgdGhpcy5sb2FkRHRzRmlsZXNGcm9tRGlyZWN0b3J5KG4pO2Vsc2UgaWYoaS50eXBlPT09ImZpbGUiJiZpLm5hbWUuZW5kc1dpdGgoIi5kLnRzIikpdHJ5e2xldCBzPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUobik7ci50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIocyxgZmlsZTovLyR7bn1gKX1jYXRjaHt9fX19Y2F0Y2h7fX1hc3luYyB0cnlMb2FkQXRUeXBlc1BhY2thZ2UodCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuITE7bGV0IGE9YC9ub2RlX21vZHVsZXMvJHt0LnN0YXJ0c1dpdGgoIkAiKT9gQHR5cGVzLyR7dC5zbGljZSgxKS5yZXBsYWNlKCIvIiwiX18iKX1gOmBAdHlwZXMvJHt0fWB9YDt0cnl7bGV0IGk9YCR7YX0vaW5kZXguZC50c2A7cmV0dXJuIGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKGkpPyhhd2FpdCB0aGlzLmxvYWRBbGxEdHNGaWxlc0Zyb21QYWNrYWdlKGEpLCEwKTohMX1jYXRjaHtyZXR1cm4hMX19YXN5bmMgcHJvY2Vzc0NvbnRlbnRDaGFuZ2UodCl7bGV0IHI9dGhpcy5wYXJzZUltcG9ydHModCk7Zm9yKGxldCBhIG9mIHIpdGhpcy5sb2FkZWRMaWJzLmhhcyhhKXx8YXdhaXQgdGhpcy5sb2FkVHlwZXNGb3JQYWNrYWdlKGEpfWFzeW5jIHNjYW5BbmRMb2FkTmV3UGFja2FnZVR5cGVzKCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl7dGhpcy5ub3RGb3VuZFBhY2thZ2VzLmNsZWFyKCk7dHJ5e2lmKCFhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cygiL25vZGVfbW9kdWxlcyIpKXJldHVybjtsZXQgdD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIoIi9ub2RlX21vZHVsZXMiKTtmb3IobGV0IHIgb2YgdClpZihyLnR5cGU9PT0iZGlyZWN0b3J5IilpZihyLm5hbWUuc3RhcnRzV2l0aCgiQCIpKXRyeXtsZXQgYT1gL25vZGVfbW9kdWxlcy8ke3IubmFtZX1gLGk9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKGEpO2ZvcihsZXQgbiBvZiBpKWlmKG4udHlwZT09PSJkaXJlY3RvcnkiKXtsZXQgcz1gJHtyLm5hbWV9LyR7bi5uYW1lfWA7YXdhaXQgdGhpcy5sb2FkVHlwZXNGb3JQYWNrYWdlKHMpfX1jYXRjaHt9ZWxzZSByLm5hbWUuc3RhcnRzV2l0aCgiLiIpfHxhd2FpdCB0aGlzLmxvYWRUeXBlc0ZvclBhY2thZ2Uoci5uYW1lKX1jYXRjaCh0KXtjb25zb2xlLndhcm4oIkZhaWxlZCB0byBzY2FuIG5vZGVfbW9kdWxlczoiLHQpfX19YWRkRmlsZU1vZGVsKHQscil7aWYoIXRoaXMubW9uYWNvSW5zdGFuY2UpcmV0dXJuO3RoaXMuZmlsZUNhY2hlLnNldCh0LHIpO2xldCBhPXRoaXMubW9uYWNvSW5zdGFuY2UuVXJpLnBhcnNlKGBmaWxlOi8vJHt0fWApLGk9dGhpcy5tb25hY29JbnN0YW5jZS5lZGl0b3IuZ2V0TW9kZWwoYSk7aWYoaSlpLmdldFZhbHVlKCkhPT1yJiZpLnNldFZhbHVlKHIpO2Vsc2V7bGV0IG49dGhpcy5nZXRMYW5ndWFnZUZyb21QYXRoKHQpO3RoaXMubW9uYWNvSW5zdGFuY2UuZWRpdG9yLmNyZWF0ZU1vZGVsKHIsbixhKX10aGlzLmFkZEZpbGVBc0V4dHJhTGliKHQscil9YWRkRmlsZUFzRXh0cmFMaWIodCxyKXtsZXQgYT10aGlzLnRzQXBpO2lmKCFhKXJldHVybjtsZXQgaT10aGlzLmFkZGVkRXh0cmFMaWJzLmdldCh0KTtpJiZpLmRpc3Bvc2UoKTtsZXQgbj1gZmlsZTovLyR7dH1gLHM9YS50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIocixuKTtpZih0aGlzLmFkZGVkRXh0cmFMaWJzLnNldCh0LHMpLHQuZW5kc1dpdGgoIi50cyIpJiYhdC5lbmRzV2l0aCgiLmQudHMiKSl7bGV0IG89dC5yZXBsYWNlKC9cLnRzJC8sIi5qcyIpLGM9YGZpbGU6Ly8ke299YCxsPWEudHlwZXNjcmlwdERlZmF1bHRzLmFkZEV4dHJhTGliKHIsYyk7dGhpcy5hZGRlZEV4dHJhTGlicy5zZXQobyxsKSx0aGlzLmZpbGVDYWNoZS5zZXQobyxyKX1lbHNlIGlmKHQuZW5kc1dpdGgoIi50c3giKSl7bGV0IG89dC5yZXBsYWNlKC9cLnRzeCQvLCIuanN4IiksYz1gZmlsZTovLyR7b31gLGw9YS50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIocixjKTt0aGlzLmFkZGVkRXh0cmFMaWJzLnNldChvLGwpLHRoaXMuZmlsZUNhY2hlLnNldChvLHIpfX1nZXRGaWxlQ29udGVudCh0KXtyZXR1cm4gdGhpcy5maWxlQ2FjaGUuZ2V0KHQpfWdldExhbmd1YWdlRnJvbVBhdGgodCl7c3dpdGNoKHQuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKSl7Y2FzZSJ0cyI6Y2FzZSJ0c3giOnJldHVybiJ0eXBlc2NyaXB0IjtjYXNlImpzIjpjYXNlImpzeCI6cmV0dXJuImphdmFzY3JpcHQiO2Nhc2UianNvbiI6cmV0dXJuImpzb24iO2RlZmF1bHQ6cmV0dXJuInBsYWludGV4dCJ9fX19KTt2YXIgeHUsb3MsZTVyLGp1ZT1mKCgpPT57dWUoKTtKdCgpO1dkZSgpO1FlKCk7WjQoKTt4dT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LG9zPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxlNXI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvciIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgRD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOlN0cmluZ30pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKHt0eXBlOlN0cmluZ30pXSx2PVtGKHt0eXBlOlN0cmluZ30pXSx5PVtGKHt0eXBlOlN0cmluZ30pXSxSPVtGKHt0eXBlOlN0cmluZ30pXSx4dSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9yaWdpbmFsQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+Im9yaWdpbmFsQ29udGVudCJpbiBOLGdldDpOPT5OLm9yaWdpbmFsQ29udGVudCxzZXQ6KE4scSk9PntOLm9yaWdpbmFsQ29udGVudD1xfX0sbWV0YWRhdGE6RH0scyxvKSx4dSh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vZGlmaWVkQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+Im1vZGlmaWVkQ29udGVudCJpbiBOLGdldDpOPT5OLm1vZGlmaWVkQ29udGVudCxzZXQ6KE4scSk9PntOLm1vZGlmaWVkQ29udGVudD1xfX0sbWV0YWRhdGE6RH0sbCx1KSx4dSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9yaWdpbmFsTGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJvcmlnaW5hbExhYmVsImluIE4sZ2V0Ok49Pk4ub3JpZ2luYWxMYWJlbCxzZXQ6KE4scSk9PntOLm9yaWdpbmFsTGFiZWw9cX19LG1ldGFkYXRhOkR9LGgsbSkseHUodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2RpZmllZExhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpOPT4ibW9kaWZpZWRMYWJlbCJpbiBOLGdldDpOPT5OLm1vZGlmaWVkTGFiZWwsc2V0OihOLHEpPT57Ti5tb2RpZmllZExhYmVsPXF9fSxtZXRhZGF0YTpEfSxiLGcpLHh1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOk49PiJsYW5ndWFnZSJpbiBOLGdldDpOPT5OLmxhbmd1YWdlLHNldDooTixxKT0+e04ubGFuZ3VhZ2U9cX19LG1ldGFkYXRhOkR9LHcsaykseHUodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Tj0+ImZpbGVQYXRoImluIE4sZ2V0Ok49Pk4uZmlsZVBhdGgsc2V0OihOLHEpPT57Ti5maWxlUGF0aD1xfX0sbWV0YWRhdGE6RH0sQyxTKSx4dShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpEfSxudWxsLHIpLE89YT10LnZhbHVlLEQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6RH0pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRlZXMtd29ya3NwYWNlLWRpZmYtZWRpdG9yCiAgICAgIC5vcmlnaW5hbENvbnRlbnQ9JHtgZnVuY3Rpb24gaGVsbG8oKSB7CiAgY29uc29sZS5sb2coIkhlbGxvIik7Cn1gfQogICAgICAubW9kaWZpZWRDb250ZW50PSR7YGZ1bmN0aW9uIGhlbGxvKCkgewogIGNvbnNvbGUubG9nKCJIZWxsbyBXb3JsZCEiKTsKICByZXR1cm4gdHJ1ZTsKfWB9CiAgICAgIC5sYW5ndWFnZT0keyJ0eXBlc2NyaXB0In0KICAgICAgLmZpbGVQYXRoPSR7Ii9kZW1vL2V4YW1wbGUudHMifQogICAgPjwvZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3I+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdO2RpZmZFZGl0b3JEZWZlcnJlZD1qdC5zbWFydHByb21pc2UuZGVmZXIoKTsjZT1vcyh0aGlzLHMsIiIpO2dldCBvcmlnaW5hbENvbnRlbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3JpZ2luYWxDb250ZW50KEQpe3RoaXMuI2U9RH0jdD0ob3ModGhpcyxvKSxvcyh0aGlzLGwsIiIpKTtnZXQgbW9kaWZpZWRDb250ZW50KCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1vZGlmaWVkQ29udGVudChEKXt0aGlzLiN0PUR9I3I9KG9zKHRoaXMsdSksb3ModGhpcyxoLCJEaXNrIFZlcnNpb24iKSk7Z2V0IG9yaWdpbmFsTGFiZWwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgb3JpZ2luYWxMYWJlbChEKXt0aGlzLiNyPUR9I2E9KG9zKHRoaXMsbSksb3ModGhpcyxiLCJMb2NhbCBWZXJzaW9uIikpO2dldCBtb2RpZmllZExhYmVsKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1vZGlmaWVkTGFiZWwoRCl7dGhpcy4jYT1EfSNpPShvcyh0aGlzLGcpLG9zKHRoaXMsdywidHlwZXNjcmlwdCIpKTtnZXQgbGFuZ3VhZ2UoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbGFuZ3VhZ2UoRCl7dGhpcy4jaT1EfSNuPShvcyh0aGlzLGspLG9zKHRoaXMsQywiIikpO2dldCBmaWxlUGF0aCgpe3JldHVybiB0aGlzLiNufXNldCBmaWxlUGF0aChEKXt0aGlzLiNuPUR9ZGlmZkVkaXRvcj0ob3ModGhpcyxTKSxudWxsKTttb25hY29UaGVtZVN1YnNjcmlwdGlvbj1udWxsO29yaWdpbmFsTW9kZWw9bnVsbDttb2RpZmllZE1vZGVsPW51bGw7Y29uc3RydWN0b3IoKXtzdXBlcigpLEVuLnNldHVwRG9tVG9vbHMoKX1zdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5kaWZmLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5kaWZmLXRvb2xiYXIgewogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmRpZmYtaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgfQoKICAgICAgLmRpZmYtZmlsZW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgLmRpZmYtbGFiZWxzIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmRpZmYtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZGlmZi1jb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLm5hdi1idXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBEPXRoaXMuZmlsZVBhdGguc3BsaXQoIi8iKS5wb3AoKXx8ImZpbGUiO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJkaWZmLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImRpZmYtdG9vbGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWZmLWluZm8iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlmZi1maWxlbmFtZSI+JHtEfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpZmYtbGFiZWxzIj4ke3RoaXMub3JpZ2luYWxMYWJlbH0g4oaUICR7dGhpcy5tb2RpZmllZExhYmVsfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1hY3Rpb25zIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWJ1dHRvbnMiPgogICAgICAgICAgICAgIDxkZWVzLWJ1dHRvbgogICAgICAgICAgICAgICAgdHlwZT0ib3V0bGluZSIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuZ29Ub1ByZXZpb3VzRGlmZn0KICAgICAgICAgICAgICA+UHJldmlvdXM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICAgIDxkZWVzLWJ1dHRvbgogICAgICAgICAgICAgICAgdHlwZT0ib3V0bGluZSIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuZ29Ub05leHREaWZmfQogICAgICAgICAgICAgID5OZXh0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbi1idXR0b25zIj4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIHR5cGU9ImhpZ2hsaWdodGVkIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5hY2NlcHRMb2NhbH0KICAgICAgICAgICAgICA+VXNlIExvY2FsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIHR5cGU9Im91dGxpbmUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmFjY2VwdERpc2t9CiAgICAgICAgICAgICAgPlVzZSBEaXNrPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIHR5cGU9Im91dGxpbmUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmNsb3NlfQogICAgICAgICAgICAgID5DbG9zZTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1jb250YWluZXIiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKG5ldyBNYXApLGF3YWl0IHRoaXMuaW5pdERpZmZFZGl0b3IoKX1hc3luYyBpbml0RGlmZkVkaXRvcigpe2xldCBEPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmRpZmYtY29udGFpbmVyIik7aWYoIUQpcmV0dXJuO2xldCBOPWBodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3JAJHtkRn1gLHE9d2luZG93Lm1vbmFjbztxfHwoYXdhaXQgbmV3IFByb21pc2UoVT0+e2xldCBLPXNldEludGVydmFsKCgpPT57d2luZG93Lm1vbmFjbyYmKGNsZWFySW50ZXJ2YWwoSyksVSgpKX0sMTAwKX0pLHE9d2luZG93Lm1vbmFjbyk7bGV0IF89YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsRT1fLnRoZW1lTWFuYWdlci5nb0JyaWdodEJvb2xlYW4/InZzIjoidnMtZGFyayIsVD1EYXRlLm5vdygpLEw9cS5VcmkucGFyc2UoYGRpZmY6Ly9vcmlnaW5hbC8ke1R9JHt0aGlzLmZpbGVQYXRofWApLFY9cS5VcmkucGFyc2UoYGRpZmY6Ly9tb2RpZmllZC8ke1R9JHt0aGlzLmZpbGVQYXRofWApO3RoaXMub3JpZ2luYWxNb2RlbD1xLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLm9yaWdpbmFsQ29udGVudCx0aGlzLmxhbmd1YWdlLEwpLHRoaXMubW9kaWZpZWRNb2RlbD1xLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLm1vZGlmaWVkQ29udGVudCx0aGlzLmxhbmd1YWdlLFYpLHRoaXMuZGlmZkVkaXRvcj1xLmVkaXRvci5jcmVhdGVEaWZmRWRpdG9yKEQse2F1dG9tYXRpY0xheW91dDohMCxyZWFkT25seTohMSxvcmlnaW5hbEVkaXRhYmxlOiExLHJlbmRlclNpZGVCeVNpZGU6ITAsaWdub3JlVHJpbVdoaXRlc3BhY2U6ITEsZm9udFNpemU6MTQsbWluaW1hcDp7ZW5hYmxlZDohMX19KSxxLmVkaXRvci5zZXRUaGVtZShFKSx0aGlzLmRpZmZFZGl0b3Iuc2V0TW9kZWwoe29yaWdpbmFsOnRoaXMub3JpZ2luYWxNb2RlbCxtb2RpZmllZDp0aGlzLm1vZGlmaWVkTW9kZWx9KSx0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPV8udGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoVT0+e2xldCBLPVU/InZzIjoidnMtZGFyayI7cS5lZGl0b3Iuc2V0VGhlbWUoSyl9KTtsZXQgQj0ibW9uYWNvLWRpZmYtZWRpdG9yLWNzcyI7aWYoIXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoQikpe2xldCBLPWF3YWl0KGF3YWl0IGZldGNoKGAke059L21pbi92cy9lZGl0b3IvZWRpdG9yLm1haW4uY3NzYCkpLnRleHQoKSxJPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7SS5pZD1CLEkudGV4dENvbnRlbnQ9Syx0aGlzLnNoYWRvd1Jvb3Q/LmFwcGVuZChJKX1zZXRUaW1lb3V0KCgpPT57dHJ5e3RoaXMuZGlmZkVkaXRvcj8ucmV2ZWFsRmlyc3REaWZmKCl9Y2F0Y2h7fX0sMTAwKSx0aGlzLmRpZmZFZGl0b3JEZWZlcnJlZC5yZXNvbHZlKHRoaXMuZGlmZkVkaXRvcil9Z29Ub05leHREaWZmKCl7dHJ5e3RoaXMuZGlmZkVkaXRvcj8uZ29Ub0RpZmYoIm5leHQiKX1jYXRjaHt9fWdvVG9QcmV2aW91c0RpZmYoKXt0cnl7dGhpcy5kaWZmRWRpdG9yPy5nb1RvRGlmZigicHJldmlvdXMiKX1jYXRjaHt9fWFjY2VwdExvY2FsKCl7bGV0IEQ9dGhpcy5kaWZmRWRpdG9yPy5nZXRNb2RpZmllZEVkaXRvcigpLmdldFZhbHVlKCl8fHRoaXMubW9kaWZpZWRDb250ZW50O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRpZmYtcmVzb2x2ZWQiLHtkZXRhaWw6e2FjdGlvbjoidXNlLWxvY2FsIixjb250ZW50OkR9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9YWNjZXB0RGlzaygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRpZmYtcmVzb2x2ZWQiLHtkZXRhaWw6e2FjdGlvbjoidXNlLWRpc2siLGNvbnRlbnQ6dGhpcy5vcmlnaW5hbENvbnRlbnR9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2xvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkaWZmLWNsb3NlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb24mJih0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbj1udWxsKSx0aGlzLm9yaWdpbmFsTW9kZWwmJih0aGlzLm9yaWdpbmFsTW9kZWwuZGlzcG9zZSgpLHRoaXMub3JpZ2luYWxNb2RlbD1udWxsKSx0aGlzLm1vZGlmaWVkTW9kZWwmJih0aGlzLm1vZGlmaWVkTW9kZWwuZGlzcG9zZSgpLHRoaXMubW9kaWZpZWRNb2RlbD1udWxsKSx0aGlzLmRpZmZFZGl0b3ImJih0aGlzLmRpZmZFZGl0b3IuZGlzcG9zZSgpLHRoaXMuZGlmZkVkaXRvcj1udWxsKX1zdGF0aWN7b3MoYSxyKX19O3JldHVybiBPPWF9KSgpfSk7dmFyIENhLER0LHQ1cixyNXI9ZigoKT0+e3VlKCk7SnQoKTtRZSgpO3JPKCk7UTYoKTtpTygpO2lPKCk7Z3YoKTtndigpO0J1ZSgpO0h1ZSgpO2lyKCk7UTYoKTtxdWUoKTtNaSgpO2hhKCk7RUYoKTtqdWUoKTtDYT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LER0PWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSx0NXI9KCgpPT57bGV0IGU9W3JlKCJkZWVzLXdvcmtzcGFjZSIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdLHEsXz1bXSx6PVtdLEUsVD1bXSxMPVtdLFYsQj1bXSxVPVtdLEssST1bXSx2ZT1bXSxNZSxQPVtdLGxlPVtdLFNlLFo9W10sQT1bXSwkLGo9W10sSD1bXSxZLGRlPVtdLHdlPVtdLExlLEc9W10sVz1bXSxhZSx5ZT1bXSxtZT1bXSxDZSxiZT1bXSxuZT1bXSx6ZSxJZT1bXSxaZT1bXSx0ZSxYPVtdLGVlPVtdLHhlLEFlPVtdLFVlPVtdLGt0LHJ0PVtdLCR0PVtdO3ZhciBVdD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IG9lPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6T2JqZWN0fSldLGM9W0Yoe2F0dHJpYnV0ZTohMX0pXSxkPVtGKHt0eXBlOkJvb2xlYW59KV0sdj1bRih7dHlwZTpCb29sZWFufSldLHk9W0Yoe3R5cGU6TnVtYmVyfSldLFI9W0Yoe3R5cGU6TnVtYmVyfSldLE89W3NlKCldLHE9W3NlKCldLEU9W3NlKCldLFY9W3NlKCldLEs9W3NlKCldLE1lPVtzZSgpXSxTZT1bc2UoKV0sJD1bc2UoKV0sWT1bc2UoKV0sTGU9W3NlKCldLGFlPVtzZSgpXSxDZT1bc2UoKV0semU9W3NlKCldLHRlPVtzZSgpXSx4ZT1bc2UoKV0sa3Q9W3NlKCldLENhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhlY3V0aW9uRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4iZXhlY3V0aW9uRW52aXJvbm1lbnQiaW4gY2UsZ2V0OmNlPT5jZS5leGVjdXRpb25FbnZpcm9ubWVudCxzZXQ6KGNlLF9lKT0+e2NlLmV4ZWN1dGlvbkVudmlyb25tZW50PV9lfX0sbWV0YWRhdGE6b2V9LHMsbyksQ2EodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0aWFsaXphdGlvblByb21pc2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4iaW5pdGlhbGl6YXRpb25Qcm9taXNlImluIGNlLGdldDpjZT0+Y2UuaW5pdGlhbGl6YXRpb25Qcm9taXNlLHNldDooY2UsX2UpPT57Y2UuaW5pdGlhbGl6YXRpb25Qcm9taXNlPV9lfX0sbWV0YWRhdGE6b2V9LGwsdSksQ2EodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93RmlsZVRyZWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4ic2hvd0ZpbGVUcmVlImluIGNlLGdldDpjZT0+Y2Uuc2hvd0ZpbGVUcmVlLHNldDooY2UsX2UpPT57Y2Uuc2hvd0ZpbGVUcmVlPV9lfX0sbWV0YWRhdGE6b2V9LGgsbSksQ2EodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VGVybWluYWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4ic2hvd1Rlcm1pbmFsImluIGNlLGdldDpjZT0+Y2Uuc2hvd1Rlcm1pbmFsLHNldDooY2UsX2UpPT57Y2Uuc2hvd1Rlcm1pbmFsPV9lfX0sbWV0YWRhdGE6b2V9LGIsZyksQ2EodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlVHJlZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpjZT0+ImZpbGVUcmVlV2lkdGgiaW4gY2UsZ2V0OmNlPT5jZS5maWxlVHJlZVdpZHRoLHNldDooY2UsX2UpPT57Y2UuZmlsZVRyZWVXaWR0aD1fZX19LG1ldGFkYXRhOm9lfSx3LGspLENhKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxIZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4idGVybWluYWxIZWlnaHQiaW4gY2UsZ2V0OmNlPT5jZS50ZXJtaW5hbEhlaWdodCxzZXQ6KGNlLF9lKT0+e2NlLnRlcm1pbmFsSGVpZ2h0PV9lfX0sbWV0YWRhdGE6b2V9LEMsUyksQ2EodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcGVuRmlsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4ib3BlbkZpbGVzImluIGNlLGdldDpjZT0+Y2Uub3BlbkZpbGVzLHNldDooY2UsX2UpPT57Y2Uub3BlbkZpbGVzPV9lfX0sbWV0YWRhdGE6b2V9LEQsTiksQ2EodGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVGaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Y2U9PiJhY3RpdmVGaWxlUGF0aCJpbiBjZSxnZXQ6Y2U9PmNlLmFjdGl2ZUZpbGVQYXRoLHNldDooY2UsX2UpPT57Y2UuYWN0aXZlRmlsZVBhdGg9X2V9fSxtZXRhZGF0YTpvZX0sXyx6KSxDYSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVGVybWluYWxDb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4iaXNUZXJtaW5hbENvbGxhcHNlZCJpbiBjZSxnZXQ6Y2U9PmNlLmlzVGVybWluYWxDb2xsYXBzZWQsc2V0OihjZSxfZSk9PntjZS5pc1Rlcm1pbmFsQ29sbGFwc2VkPV9lfX0sbWV0YWRhdGE6b2V9LFQsTCksQ2EodGhpcyxudWxsLFYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0ZpbGVUcmVlQ29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpjZT0+ImlzRmlsZVRyZWVDb2xsYXBzZWQiaW4gY2UsZ2V0OmNlPT5jZS5pc0ZpbGVUcmVlQ29sbGFwc2VkLHNldDooY2UsX2UpPT57Y2UuaXNGaWxlVHJlZUNvbGxhcHNlZD1fZX19LG1ldGFkYXRhOm9lfSxCLFUpLENhKHRoaXMsbnVsbCxLLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNJbml0aWFsaXppbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4iaXNJbml0aWFsaXppbmciaW4gY2UsZ2V0OmNlPT5jZS5pc0luaXRpYWxpemluZyxzZXQ6KGNlLF9lKT0+e2NlLmlzSW5pdGlhbGl6aW5nPV9lfX0sbWV0YWRhdGE6b2V9LEksdmUpLENhKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZUJvdHRvbVBhbmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpjZT0+ImFjdGl2ZUJvdHRvbVBhbmVsImluIGNlLGdldDpjZT0+Y2UuYWN0aXZlQm90dG9tUGFuZWwsc2V0OihjZSxfZSk9PntjZS5hY3RpdmVCb3R0b21QYW5lbD1fZX19LG1ldGFkYXRhOm9lfSxQLGxlKSxDYSh0aGlzLG51bGwsU2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaWFnbm9zdGljTWFya2VycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Y2U9PiJkaWFnbm9zdGljTWFya2VycyJpbiBjZSxnZXQ6Y2U9PmNlLmRpYWdub3N0aWNNYXJrZXJzLHNldDooY2UsX2UpPT57Y2UuZGlhZ25vc3RpY01hcmtlcnM9X2V9fSxtZXRhZGF0YTpvZX0sWixBKSxDYSh0aGlzLG51bGwsJCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9TYXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpjZT0+ImF1dG9TYXZlImluIGNlLGdldDpjZT0+Y2UuYXV0b1NhdmUsc2V0OihjZSxfZSk9PntjZS5hdXRvU2F2ZT1fZX19LG1ldGFkYXRhOm9lfSxqLEgpLENhKHRoaXMsbnVsbCxZLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdENvbW1hbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4iaW5pdENvbW1hbmQiaW4gY2UsZ2V0OmNlPT5jZS5pbml0Q29tbWFuZCxzZXQ6KGNlLF9lKT0+e2NlLmluaXRDb21tYW5kPV9lfX0sbWV0YWRhdGE6b2V9LGRlLHdlKSxDYSh0aGlzLG51bGwsTGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0T3V0cHV0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpjZT0+ImluaXRPdXRwdXQiaW4gY2UsZ2V0OmNlPT5jZS5pbml0T3V0cHV0LHNldDooY2UsX2UpPT57Y2UuaW5pdE91dHB1dD1fZX19LG1ldGFkYXRhOm9lfSxHLFcpLENhKHRoaXMsbnVsbCxhZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRGaWxlVHJlZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpjZT0+ImN1cnJlbnRGaWxlVHJlZVdpZHRoImluIGNlLGdldDpjZT0+Y2UuY3VycmVudEZpbGVUcmVlV2lkdGgsc2V0OihjZSxfZSk9PntjZS5jdXJyZW50RmlsZVRyZWVXaWR0aD1fZX19LG1ldGFkYXRhOm9lfSx5ZSxtZSksQ2EodGhpcyxudWxsLENlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRlcm1pbmFsSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpjZT0+ImN1cnJlbnRUZXJtaW5hbEhlaWdodCJpbiBjZSxnZXQ6Y2U9PmNlLmN1cnJlbnRUZXJtaW5hbEhlaWdodCxzZXQ6KGNlLF9lKT0+e2NlLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1fZX19LG1ldGFkYXRhOm9lfSxiZSxuZSksQ2EodGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNEcmFnZ2luZ0ZpbGVUcmVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpjZT0+ImlzRHJhZ2dpbmdGaWxlVHJlZSJpbiBjZSxnZXQ6Y2U9PmNlLmlzRHJhZ2dpbmdGaWxlVHJlZSxzZXQ6KGNlLF9lKT0+e2NlLmlzRHJhZ2dpbmdGaWxlVHJlZT1fZX19LG1ldGFkYXRhOm9lfSxJZSxaZSksQ2EodGhpcyxudWxsLHRlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNEcmFnZ2luZ1Rlcm1pbmFsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpjZT0+ImlzRHJhZ2dpbmdUZXJtaW5hbCJpbiBjZSxnZXQ6Y2U9PmNlLmlzRHJhZ2dpbmdUZXJtaW5hbCxzZXQ6KGNlLF9lKT0+e2NlLmlzRHJhZ2dpbmdUZXJtaW5hbD1fZX19LG1ldGFkYXRhOm9lfSxYLGVlKSxDYSh0aGlzLG51bGwseGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93RGlmZlZpZXciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmNlPT4ic2hvd0RpZmZWaWV3ImluIGNlLGdldDpjZT0+Y2Uuc2hvd0RpZmZWaWV3LHNldDooY2UsX2UpPT57Y2Uuc2hvd0RpZmZWaWV3PV9lfX0sbWV0YWRhdGE6b2V9LEFlLFVlKSxDYSh0aGlzLG51bGwsa3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaWZmVmlld0NvbmZpZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Y2U9PiJkaWZmVmlld0NvbmZpZyJpbiBjZSxnZXQ6Y2U9PmNlLmRpZmZWaWV3Q29uZmlnLHNldDooY2UsX2UpPT57Y2UuZGlmZlZpZXdDb25maWc9X2V9fSxtZXRhZGF0YTpvZX0scnQsJHQpLENhKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOm9lfSxudWxsLHIpLFV0PWE9dC52YWx1ZSxvZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpvZX0pfXN0YXRpYyBkZW1vPSgpPT57bGV0IG9lPW5ldyBidSxjZT0oYXN5bmMoKT0+e2F3YWl0IG9lLmluaXQoKTtsZXQgenQ9eyJwYWNrYWdlLmpzb24iOntmaWxlOntjb250ZW50czpKU09OLnN0cmluZ2lmeSh7bmFtZToiZGVtby1wcm9qZWN0Iix2ZXJzaW9uOiIxLjAuMCIsdHlwZToibW9kdWxlIixzY3JpcHRzOntidWlsZDoidHNjIixkZXY6InRzYyAtLXdhdGNoIn0sZGVwZW5kZW5jaWVzOnsiQHB1c2gucm9ja3Mvc21hcnRwcm9taXNlIjoiXjQuMi4zIn0sZGV2RGVwZW5kZW5jaWVzOnsiQHR5cGVzL25vZGUiOiJeMjIuMC4wIix0eXBlc2NyaXB0OiJeNS4wLjAifX0sbnVsbCwyKX19LCJucG1leHRyYS5qc29uIjp7ZmlsZTp7Y29udGVudHM6SlNPTi5zdHJpbmdpZnkoe2RlZXNFZGl0b3JXb3Jrc3BhY2U6e29uSW5pdDoicG5wbSBpbnN0YWxsIn19LG51bGwsMil9fSwidHNjb25maWcuanNvbiI6e2ZpbGU6e2NvbnRlbnRzOkpTT04uc3RyaW5naWZ5KHtjb21waWxlck9wdGlvbnM6e3RhcmdldDoiRVMyMDIyIixtb2R1bGU6Ik5vZGVOZXh0Iixtb2R1bGVSZXNvbHV0aW9uOiJOb2RlTmV4dCIsc3RyaWN0OiEwLG91dERpcjoiLi9kaXN0Iixyb290RGlyOiIuL3NyYyIsZGVjbGFyYXRpb246ITB9LGluY2x1ZGU6WyJzcmMvKiovKiJdfSxudWxsLDIpfX0sc3JjOntkaXJlY3Rvcnk6eyJpbmRleC50cyI6e2ZpbGU6e2NvbnRlbnRzOmAvLyBNYWluIGVudHJ5IHBvaW50CmltcG9ydCB7IGdyZWV0LCBmb3JtYXROYW1lIH0gZnJvbSAnLi91dGlscy5qcyc7Cgpjb25zdCBuYW1lID0gZm9ybWF0TmFtZSgnV29ybGQnKTsKY29uc29sZS5sb2coZ3JlZXQobmFtZSkpOwoKLy8gRXhhbXBsZSBhc3luYyBmdW5jdGlvbgphc3luYyBmdW5jdGlvbiBtYWluKCkgewogIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UucmVzb2x2ZSgnSGVsbG8gZnJvbSBhc3luYyEnKTsKICBjb25zb2xlLmxvZyhyZXN1bHQpOwp9CgptYWluKCk7CmB9fSwidXRpbHMudHMiOntmaWxlOntjb250ZW50czpgLy8gVXRpbGl0eSBmdW5jdGlvbnMKCmV4cG9ydCBpbnRlcmZhY2UgSVVzZXIgewogIGZpcnN0TmFtZTogc3RyaW5nOwogIGxhc3ROYW1lOiBzdHJpbmc7Cn0KCmV4cG9ydCBmdW5jdGlvbiBncmVldChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgewogIHJldHVybiBcYEhlbGxvLCBcJHtuYW1lfSFcYDsKfQoKZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdE5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHsKICByZXR1cm4gbmFtZS50cmltKCkudG9VcHBlckNhc2UoKTsKfQoKZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVzZXIoZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcpOiBJVXNlciB7CiAgcmV0dXJuIHsgZmlyc3ROYW1lLCBsYXN0TmFtZSB9Owp9CmB9fSwiaW1wb3J0dGVzdC50cyI6e2ZpbGU6e2NvbnRlbnRzOmAvLyBUZXN0IG5wbSBwYWNrYWdlIGltcG9ydHMKaW1wb3J0ICogYXMgc21hcnRwcm9taXNlIGZyb20gJ0BwdXNoLnJvY2tzL3NtYXJ0cHJvbWlzZSc7CgovLyBUaGlzIHNob3VsZCBoYXZlIEludGVsbGlTZW5zZSBzaG93aW5nIGRlZmVyKCkgbWV0aG9kCmNvbnN0IGRlZmVycmVkID0gc21hcnRwcm9taXNlLmRlZmVyPHN0cmluZz4oKTsKCi8vIFRlc3QgdXNpbmcgdGhlIGRlZmVycmVkIHByb21pc2UKYXN5bmMgZnVuY3Rpb24gdGVzdFNtYXJ0UHJvbWlzZSgpIHsKICBzZXRUaW1lb3V0KCgpID0+IHsKICAgIGRlZmVycmVkLnJlc29sdmUoJ0hlbGxvIGZyb20gc21hcnRwcm9taXNlIScpOwogIH0sIDEwMCk7CgogIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRlZmVycmVkLnByb21pc2U7CiAgY29uc29sZS5sb2cocmVzdWx0KTsKfQoKdGVzdFNtYXJ0UHJvbWlzZSgpOwpgfX19fX07YXdhaXQgb2UubW91bnQoenQpfSkoKSxfZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtfZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsiO2xldCB2dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLXdvcmtzcGFjZSIpO3JldHVybiB2dC5leGVjdXRpb25FbnZpcm9ubWVudD1vZSx2dC5pbml0aWFsaXphdGlvblByb21pc2U9Y2UsX2UuYXBwZW5kQ2hpbGQodnQpLE1gCiAgICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICAgICR7X2V9CiAgICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIGB9O3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07I2U9RHQodGhpcyxzLG51bGwpO2dldCBleGVjdXRpb25FbnZpcm9ubWVudCgpe3JldHVybiB0aGlzLiNlfXNldCBleGVjdXRpb25FbnZpcm9ubWVudChvZSl7dGhpcy4jZT1vZX0jdD0oRHQodGhpcyxvKSxEdCh0aGlzLGwsbnVsbCkpO2dldCBpbml0aWFsaXphdGlvblByb21pc2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaW5pdGlhbGl6YXRpb25Qcm9taXNlKG9lKXt0aGlzLiN0PW9lfSNyPShEdCh0aGlzLHUpLER0KHRoaXMsaCwhMCkpO2dldCBzaG93RmlsZVRyZWUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd0ZpbGVUcmVlKG9lKXt0aGlzLiNyPW9lfSNhPShEdCh0aGlzLG0pLER0KHRoaXMsYiwhMCkpO2dldCBzaG93VGVybWluYWwoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1Rlcm1pbmFsKG9lKXt0aGlzLiNhPW9lfSNpPShEdCh0aGlzLGcpLER0KHRoaXMsdywyNTApKTtnZXQgZmlsZVRyZWVXaWR0aCgpe3JldHVybiB0aGlzLiNpfXNldCBmaWxlVHJlZVdpZHRoKG9lKXt0aGlzLiNpPW9lfSNuPShEdCh0aGlzLGspLER0KHRoaXMsQywyMDApKTtnZXQgdGVybWluYWxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jbn1zZXQgdGVybWluYWxIZWlnaHQob2Upe3RoaXMuI249b2V9I3M9KER0KHRoaXMsUyksRHQodGhpcyxELFtdKSk7Z2V0IG9wZW5GaWxlcygpe3JldHVybiB0aGlzLiNzfXNldCBvcGVuRmlsZXMob2Upe3RoaXMuI3M9b2V9I289KER0KHRoaXMsTiksRHQodGhpcyxfLCIiKSk7Z2V0IGFjdGl2ZUZpbGVQYXRoKCl7cmV0dXJuIHRoaXMuI299c2V0IGFjdGl2ZUZpbGVQYXRoKG9lKXt0aGlzLiNvPW9lfSNsPShEdCh0aGlzLHopLER0KHRoaXMsVCwhMSkpO2dldCBpc1Rlcm1pbmFsQ29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGlzVGVybWluYWxDb2xsYXBzZWQob2Upe3RoaXMuI2w9b2V9I2M9KER0KHRoaXMsTCksRHQodGhpcyxCLCExKSk7Z2V0IGlzRmlsZVRyZWVDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jY31zZXQgaXNGaWxlVHJlZUNvbGxhcHNlZChvZSl7dGhpcy4jYz1vZX0jZD0oRHQodGhpcyxVKSxEdCh0aGlzLEksITApKTtnZXQgaXNJbml0aWFsaXppbmcoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNJbml0aWFsaXppbmcob2Upe3RoaXMuI2Q9b2V9I3U9KER0KHRoaXMsdmUpLER0KHRoaXMsUCwidGVybWluYWwiKSk7Z2V0IGFjdGl2ZUJvdHRvbVBhbmVsKCl7cmV0dXJuIHRoaXMuI3V9c2V0IGFjdGl2ZUJvdHRvbVBhbmVsKG9lKXt0aGlzLiN1PW9lfSNwPShEdCh0aGlzLGxlKSxEdCh0aGlzLFosW10pKTtnZXQgZGlhZ25vc3RpY01hcmtlcnMoKXtyZXR1cm4gdGhpcy4jcH1zZXQgZGlhZ25vc3RpY01hcmtlcnMob2Upe3RoaXMuI3A9b2V9ZWRpdG9yRWxlbWVudD0oRHQodGhpcyxBKSxudWxsKTtpbml0aWFsaXphdGlvblN0YXJ0ZWQ9ITE7aW50ZWxsaVNlbnNlTWFuYWdlcj1udWxsO2ludGVsbGlTZW5zZUluaXRpYWxpemVkPSExO25vZGVNb2R1bGVzV2F0Y2hlcj1udWxsO25vZGVNb2R1bGVzRGVib3VuY2VUaW1lb3V0PW51bGw7aW50ZWxsaVNlbnNlRGVib3VuY2VUaW1lb3V0PW51bGw7b3BlbkZpbGVXYXRjaGVycz1uZXcgTWFwO2ZpbGVDaGFuZ2VEZWJvdW5jZT1uZXcgTWFwO2FjdGlvbmJhckVsZW1lbnQ9bnVsbDsjZj1EdCh0aGlzLGosITEpO2dldCBhdXRvU2F2ZSgpe3JldHVybiB0aGlzLiNmfXNldCBhdXRvU2F2ZShvZSl7dGhpcy4jZj1vZX1hdXRvU2F2ZUludGVydmFsPShEdCh0aGlzLEgpLG51bGwpOyNoPUR0KHRoaXMsZGUsIiIpO2dldCBpbml0Q29tbWFuZCgpe3JldHVybiB0aGlzLiNofXNldCBpbml0Q29tbWFuZChvZSl7dGhpcy4jaD1vZX0jbT0oRHQodGhpcyx3ZSksRHQodGhpcyxHLFtdKSk7Z2V0IGluaXRPdXRwdXQoKXtyZXR1cm4gdGhpcy4jbX1zZXQgaW5pdE91dHB1dChvZSl7dGhpcy4jbT1vZX0jZz0oRHQodGhpcyxXKSxEdCh0aGlzLHllLDI1MCkpO2dldCBjdXJyZW50RmlsZVRyZWVXaWR0aCgpe3JldHVybiB0aGlzLiNnfXNldCBjdXJyZW50RmlsZVRyZWVXaWR0aChvZSl7dGhpcy4jZz1vZX0jYj0oRHQodGhpcyxtZSksRHQodGhpcyxiZSwyMDApKTtnZXQgY3VycmVudFRlcm1pbmFsSGVpZ2h0KCl7cmV0dXJuIHRoaXMuI2J9c2V0IGN1cnJlbnRUZXJtaW5hbEhlaWdodChvZSl7dGhpcy4jYj1vZX0jdj0oRHQodGhpcyxuZSksRHQodGhpcyxJZSwhMSkpO2dldCBpc0RyYWdnaW5nRmlsZVRyZWUoKXtyZXR1cm4gdGhpcy4jdn1zZXQgaXNEcmFnZ2luZ0ZpbGVUcmVlKG9lKXt0aGlzLiN2PW9lfSN4PShEdCh0aGlzLFplKSxEdCh0aGlzLFgsITEpKTtnZXQgaXNEcmFnZ2luZ1Rlcm1pbmFsKCl7cmV0dXJuIHRoaXMuI3h9c2V0IGlzRHJhZ2dpbmdUZXJtaW5hbChvZSl7dGhpcy4jeD1vZX0jeT0oRHQodGhpcyxlZSksRHQodGhpcyxBZSwhMSkpO2dldCBzaG93RGlmZlZpZXcoKXtyZXR1cm4gdGhpcy4jeX1zZXQgc2hvd0RpZmZWaWV3KG9lKXt0aGlzLiN5PW9lfSN3PShEdCh0aGlzLFVlKSxEdCh0aGlzLHJ0LG51bGwpKTtnZXQgZGlmZlZpZXdDb25maWcoKXtyZXR1cm4gdGhpcy4jd31zZXQgZGlmZlZpZXdDb25maWcob2Upe3RoaXMuI3c9b2V9a2V5ZG93bkhhbmRsZXI9KER0KHRoaXMsJHQpLG9lPT57KG9lLm1ldGFLZXl8fG9lLmN0cmxLZXkpJiZvZS5rZXk9PT0icyImJiFvZS5zaGlmdEtleSYmKG9lLnByZXZlbnREZWZhdWx0KCksdGhpcy5zYXZlQWN0aXZlRmlsZSgpKSwob2UubWV0YUtleXx8b2UuY3RybEtleSkmJm9lLnNoaWZ0S2V5JiZvZS5rZXkudG9Mb3dlckNhc2UoKT09PSJzIiYmKG9lLnByZXZlbnREZWZhdWx0KCksdGhpcy5zYXZlQWxsRmlsZXMoKSl9KTtoYW5kbGVGaWxlVHJlZU1vdXNlRG93bj1vZT0+e29lLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc0RyYWdnaW5nRmlsZVRyZWU9ITAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VNb3ZlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VVcCl9O2hhbmRsZUZpbGVUcmVlTW91c2VNb3ZlPW9lPT57aWYoIXRoaXMuaXNEcmFnZ2luZ0ZpbGVUcmVlKXJldHVybjtsZXQgY2U9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxfZT1vZS5jbGllbnRYLWNlLmxlZnQsdnQ9MTUwLHp0PWNlLndpZHRoKi41LFpyPU1hdGgubWF4KHZ0LE1hdGgubWluKHp0LF9lKSk7dGhpcy5jdXJyZW50RmlsZVRyZWVXaWR0aD1acn07aGFuZGxlRmlsZVRyZWVNb3VzZVVwPSgpPT57dGhpcy5pc0RyYWdnaW5nRmlsZVRyZWU9ITEsZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VVcCksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9O2hhbmRsZVRlcm1pbmFsTW91c2VEb3duPW9lPT57b2UucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKX07aGFuZGxlVGVybWluYWxNb3VzZU1vdmU9b2U9PntpZighdGhpcy5pc0RyYWdnaW5nVGVybWluYWwpcmV0dXJuO2xldCBjZT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLF9lPW9lLmNsaWVudFktY2UudG9wLHZ0PWNlLmhlaWdodC1fZSx6dD0xMDAsWnI9Y2UuaGVpZ2h0Ki43LGgxPU1hdGgubWF4KHp0LE1hdGgubWluKFpyLHZ0KSk7dGhpcy5jdXJyZW50VGVybWluYWxIZWlnaHQ9aDF9O2hhbmRsZVRlcm1pbmFsTW91c2VVcD0oKT0+e3RoaXMuaXNEcmFnZ2luZ1Rlcm1pbmFsPSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVUZXJtaW5hbE1vdXNlTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5oYW5kbGVUZXJtaW5hbE1vdXNlVXApLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgicmVzaXplIikpfTtzdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAud29ya3NwYWNlLW91dGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAud29ya3NwYWNlLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLmVkaXRvci1hcmVhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmZpbGV0cmVlLXBhbmVsIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmZpbGV0cmVlLXBhbmVsLmNvbGxhcHNlZCB7CiAgICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmVkaXRvci1wYW5lbCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1wYW5lbCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXBhbmVsLmNvbGxhcHNlZCB7CiAgICAgICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5wYW5lbC1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOCUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnBhbmVsLWhlYWRlci10aXRsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAucGFuZWwtaGVhZGVyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnBhbmVsLWFjdGlvbiB7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wYW5lbC1hY3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMTglKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAudGFicy1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgOCUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgfQoKICAgICAgLnRhYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBtaW4td2lkdGg6IDEyMHB4OwogICAgICAgIG1heC13aWR0aDogMjAwcHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtwLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgOTQlKSIsImhzbCgwIDAlIDEwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5MiUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAke3AuYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDUwJSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1uYW1lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnRhYi1jbG9zZSB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciAudGFiLWNsb3NlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAudGFiLWNsb3NlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDI1JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWItbW9kaWZpZWQgewogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYnMtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgfQoKICAgICAgLmVkaXRvci1tZW51LWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDhweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCBiYWNrZ3JvdW5kIDAuMTVzOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmVkaXRvci1tZW51LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA4KSIsImhzbCgwIDAlIDEwMCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAudGVybWluYWwtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMzJweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLnByb2JsZW1zLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDMycHg7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICB9CgogICAgICAucGFuZWwtdGFiIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNTUlKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWI6aG92ZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDc1JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtdGFiLmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDUwJSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYi1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtaW4td2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIHBhZGRpbmc6IDAgNXB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNDUlKSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWItYmFkZ2Uud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoImhzbCg0MCA3MCUgNTAlKSIsImhzbCg0MCA3MCUgNDUlKSIpfTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYi1iYWRnZS5ub25lIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAucHJvYmxlbXMtbGlzdCB7CiAgICAgICAgcGFkZGluZzogNHB4IDA7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2JsZW0taWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAucHJvYmxlbS1pY29uLmVycm9yIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWljb24ud2FybmluZyB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woNDAgNzAlIDUwJSkiLCJoc2woNDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWRldGFpbHMgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAucHJvYmxlbS1tZXNzYWdlIHsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAucHJvYmxlbS1sb2NhdGlvbiB7CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1NSUpIil9OwogICAgICB9CgogICAgICAucHJvYmxlbXMtZW1wdHkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDU1JSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNTAlKSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiA0OHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9CiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgIH0KCiAgICAgIC5pbml0aWFsaXppbmcgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5pbml0aWFsaXppbmcgZGVlcy1pY29uIHsKICAgICAgICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlOwogICAgICB9CgogICAgICAuaW5pdGlhbGl6aW5nIGRlZXMtd29ya3NwYWNlLXRlcm1pbmFsLXByZXZpZXcgewogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgICAgd2lkdGg6IDgwJTsKICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgIH0KCiAgICAgIGRlZXMtd29ya3NwYWNlLWZpbGV0cmVlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICBkZWVzLXdvcmtzcGFjZS1tb25hY28gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIGRlZXMtd29ya3NwYWNlLXRlcm1pbmFsIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICAvKiBSZXNpemUgaGFuZGxlcyAqLwogICAgICAucmVzaXplLWhhbmRsZS12ZXJ0aWNhbCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWw6aG92ZXIsCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsLmRyYWdnaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM1OGE2ZmYiKX07CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICB3aWR0aDogMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzljYTNhZiIsIiM2ZTc2ODEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS12ZXJ0aWNhbDpob3Zlcjo6YWZ0ZXIsCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsLmRyYWdnaW5nOjphZnRlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWwgewogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGN1cnNvcjogcm93LXJlc2l6ZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1ob3Jpem9udGFsOmhvdmVyLAogICAgICAucmVzaXplLWhhbmRsZS1ob3Jpem9udGFsLmRyYWdnaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM1OGE2ZmYiKX07CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWw6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZlNzY4MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWw6aG92ZXI6OmFmdGVyLAogICAgICAucmVzaXplLWhhbmRsZS1ob3Jpem9udGFsLmRyYWdnaW5nOjphZnRlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gd2hpbGUgZHJhZ2dpbmcgKi8KICAgICAgLndvcmtzcGFjZS1jb250YWluZXIuZHJhZ2dpbmcgewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAud29ya3NwYWNlLWNvbnRhaW5lci5kcmFnZ2luZyAuZmlsZXRyZWUtcGFuZWwsCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyLmRyYWdnaW5nIC5lZGl0b3ItcGFuZWwsCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyLmRyYWdnaW5nIC50ZXJtaW5hbC1wYW5lbCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICBgXTtyZW5kZXIoKXtsZXQgb2U9WyJ3b3Jrc3BhY2UtY29udGFpbmVyIix0aGlzLmlzRHJhZ2dpbmdGaWxlVHJlZXx8dGhpcy5pc0RyYWdnaW5nVGVybWluYWw/ImRyYWdnaW5nIjoiIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKTtyZXR1cm4gdGhpcy5pc0luaXRpYWxpemluZz9NYAogICAgICAgIDxkaXYgY2xhc3M9ImluaXRpYWxpemluZyI+CiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpsb2FkZXIyIn0gaWNvblNpemU9IjMyIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPkluaXRpYWxpemluZyB3b3Jrc3BhY2UuLi48L3NwYW4+CiAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtdGVybWluYWwtcHJldmlldwogICAgICAgICAgICAuY29tbWFuZD0ke3RoaXMuaW5pdENvbW1hbmR8fCIifQogICAgICAgICAgICAubGluZXM9JHt0aGlzLmluaXRPdXRwdXR9CiAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3PgogICAgICAgIDwvZGl2PgogICAgICBgOk1gCiAgICAgIDxkaXYgY2xhc3M9IndvcmtzcGFjZS1vdXRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iJHtvZX0iPgogICAgICAgICAgPCEtLSBGaWxldHJlZSBwYW5lbCAoZnVsbCBoZWlnaHQpIC0tPgogICAgICAgICAgJHt0aGlzLnNob3dGaWxlVHJlZT9NYAogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgY2xhc3M9ImZpbGV0cmVlLXBhbmVsICR7dGhpcy5pc0ZpbGVUcmVlQ29sbGFwc2VkPyJjb2xsYXBzZWQiOiIifSIKICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7dGhpcy5pc0ZpbGVUcmVlQ29sbGFwc2VkPzA6dGhpcy5jdXJyZW50RmlsZVRyZWVXaWR0aH1weCIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1maWxldHJlZQogICAgICAgICAgICAgICAgLmV4ZWN1dGlvbkVudmlyb25tZW50PSR7dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudH0KICAgICAgICAgICAgICAgIC5zZWxlY3RlZFBhdGg9JHt0aGlzLmFjdGl2ZUZpbGVQYXRofQogICAgICAgICAgICAgICAgQGZpbGUtc2VsZWN0PSR7dGhpcy5oYW5kbGVGaWxlU2VsZWN0fQogICAgICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLWZpbGV0cmVlPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgJHt0aGlzLmlzRmlsZVRyZWVDb2xsYXBzZWQ/IiI6TWAKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0icmVzaXplLWhhbmRsZS12ZXJ0aWNhbCAke3RoaXMuaXNEcmFnZ2luZ0ZpbGVUcmVlPyJkcmFnZ2luZyI6IiJ9IgogICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZURvd259CiAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICBgfQogICAgICAgICAgYDoiIn0KCiAgICAgICAgICA8IS0tIEVkaXRvciArIFRlcm1pbmFsIGFyZWEgLS0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItYXJlYSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1wYW5lbCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFicy1iYXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFicy1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAke3RoaXMub3BlbkZpbGVzLm1hcChjZT0+TWAKICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGFiICR7Y2UucGF0aD09PXRoaXMuYWN0aXZlRmlsZVBhdGg/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuYWN0aXZhdGVGaWxlKGNlLnBhdGgpfQogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICR7Y2UubW9kaWZpZWQ/TWA8c3BhbiBjbGFzcz0idGFiLW1vZGlmaWVkIj48L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWItbmFtZSI+JHtjZS5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWItY2xvc2UiIEBjbGljaz0ke19lPT50aGlzLmNsb3NlRmlsZShfZSxjZS5wYXRoKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBpY29uU2l6ZT0iMTIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yLW1lbnUtYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnNob3dFZGl0b3JNZW51fSB0aXRsZT0iRWRpdG9yIG9wdGlvbnMiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTptb3JlVmVydGljYWwifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgJHt0aGlzLnNob3dEaWZmVmlldyYmdGhpcy5kaWZmVmlld0NvbmZpZz9NYAogICAgICAgICAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3IKICAgICAgICAgICAgICAgICAgICAuZmlsZVBhdGg9JHt0aGlzLmRpZmZWaWV3Q29uZmlnLmZpbGVQYXRofQogICAgICAgICAgICAgICAgICAgIC5vcmlnaW5hbENvbnRlbnQ9JHt0aGlzLmRpZmZWaWV3Q29uZmlnLm9yaWdpbmFsQ29udGVudH0KICAgICAgICAgICAgICAgICAgICAubW9kaWZpZWRDb250ZW50PSR7dGhpcy5kaWZmVmlld0NvbmZpZy5tb2RpZmllZENvbnRlbnR9CiAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlPSR7dGhpcy5kaWZmVmlld0NvbmZpZy5sYW5ndWFnZX0KICAgICAgICAgICAgICAgICAgICBAZGlmZi1yZXNvbHZlZD0ke3RoaXMuaGFuZGxlRGlmZlJlc29sdmVkfQogICAgICAgICAgICAgICAgICAgIEBkaWZmLWNsb3NlZD0keygpPT57dGhpcy5zaG93RGlmZlZpZXc9ITEsdGhpcy5kaWZmVmlld0NvbmZpZz1udWxsfX0KICAgICAgICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3I+CiAgICAgICAgICAgICAgICBgOnRoaXMub3BlbkZpbGVzLmxlbmd0aD09PTA/TWAKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmZpbGVDb2RlIn0gaWNvblNpemU9IjQ4Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TZWxlY3QgYSBmaWxlIHRvIGVkaXQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDpNYAogICAgICAgICAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbW9uYWNvCiAgICAgICAgICAgICAgICAgICAgLmZpbGVQYXRoPSR7dGhpcy5hY3RpdmVGaWxlUGF0aH0KICAgICAgICAgICAgICAgICAgICAuY29udGVudD0ke3RoaXMuZ2V0QWN0aXZlRmlsZUNvbnRlbnQoKX0KICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2U9JHt0aGlzLmdldExhbmd1YWdlRnJvbVBhdGgodGhpcy5hY3RpdmVGaWxlUGF0aCl9CiAgICAgICAgICAgICAgICAgICAgQGNvbnRlbnQtY2hhbmdlPSR7dGhpcy5oYW5kbGVDb250ZW50Q2hhbmdlfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS1tb25hY28+CiAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkZWVzLWFjdGlvbmJhcj48L2RlZXMtYWN0aW9uYmFyPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gSG9yaXpvbnRhbCByZXNpemUgaGFuZGxlIGZvciB0ZXJtaW5hbCAtLT4KICAgICAgICAgICAgJHt0aGlzLnNob3dUZXJtaW5hbCYmIXRoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD9NYAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlLWhvcml6b250YWwgJHt0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD8iZHJhZ2dpbmciOiIifSIKICAgICAgICAgICAgICAgIEBtb3VzZWRvd249JHt0aGlzLmhhbmRsZVRlcm1pbmFsTW91c2VEb3dufQogICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgYDoiIn0KCiAgICAgICAgICAgIDwhLS0gVGVybWluYWwgcGFuZWwgLS0+CiAgICAgICAgICAgICR7dGhpcy5zaG93VGVybWluYWw/TWAKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0idGVybWluYWwtcGFuZWwgJHt0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ/ImNvbGxhcHNlZCI6IiJ9IgogICAgICAgICAgICAgICAgc3R5bGU9ImhlaWdodDogJHt0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ/MzI6dGhpcy5jdXJyZW50VGVybWluYWxIZWlnaHR9cHgiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtdGFicyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InBhbmVsLXRhYiAke3RoaXMuYWN0aXZlQm90dG9tUGFuZWw9PT0idGVybWluYWwiPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPSJ0ZXJtaW5hbCJ9CiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6dGVybWluYWwifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgVGVybWluYWwKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icGFuZWwtdGFiICR7dGhpcy5hY3RpdmVCb3R0b21QYW5lbD09PSJwcm9ibGVtcyI/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuYWN0aXZlQm90dG9tUGFuZWw9InByb2JsZW1zIn0KICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpjaXJjbGVBbGVydCJ9IGljb25TaXplPSIxNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICBQcm9ibGVtcwogICAgICAgICAgICAgICAgICAgICAgJHt0aGlzLmRpYWdub3N0aWNNYXJrZXJzLmxlbmd0aD4wP01gCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYW5lbC10YWItYmFkZ2UgJHt0aGlzLmdldEVycm9yQ291bnQoKT09PTA/Indhcm5pbmciOiIifSI+JHt0aGlzLmRpYWdub3N0aWNNYXJrZXJzLmxlbmd0aH08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtaGVhZGVyLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWFjdGlvbiIgQGNsaWNrPSR7dGhpcy50b2dnbGVUZXJtaW5hbH0+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uPSR7dGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkPyJsdWNpZGU6Y2hldnJvblVwIjoibHVjaWRlOmNoZXZyb25Eb3duIn0KICAgICAgICAgICAgICAgICAgICAgICAgaWNvblNpemU9IjE0IgogICAgICAgICAgICAgICAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtY29udGVudCIgc3R5bGU9ImRpc3BsYXk6ICR7dGhpcy5hY3RpdmVCb3R0b21QYW5lbD09PSJ0ZXJtaW5hbCI/ImJsb2NrIjoibm9uZSJ9Ij4KICAgICAgICAgICAgICAgICAgPGRlZXMtd29ya3NwYWNlLXRlcm1pbmFsCiAgICAgICAgICAgICAgICAgICAgLmV4ZWN1dGlvbkVudmlyb25tZW50PSR7dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudH0KICAgICAgICAgICAgICAgICAgICAuc2V0dXBDb21tYW5kPSR7IiJ9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtcy1jb250ZW50IiBzdHlsZT0iZGlzcGxheTogJHt0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPT09InByb2JsZW1zIj8iYmxvY2siOiJub25lIn0iPgogICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyUHJvYmxlbXNQYW5lbCgpfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBCb3R0b20gQmFyIChmdWxsIHdpZHRoKSAtLT4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtYm90dG9tYmFyCiAgICAgICAgICAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fQogICAgICAgICAgQHJ1bi1wcm9jZXNzPSR7dGhpcy5oYW5kbGVSdW5Qcm9jZXNzfQogICAgICAgID48L2RlZXMtd29ya3NwYWNlLWJvdHRvbWJhcj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmtleWRvd25IYW5kbGVyKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5rZXlkb3duSGFuZGxlciksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VVcCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZVRlcm1pbmFsTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZVRlcm1pbmFsTW91c2VVcCksdGhpcy5hdXRvU2F2ZUludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLmF1dG9TYXZlSW50ZXJ2YWwpLHRoaXMuYXV0b1NhdmVJbnRlcnZhbD1udWxsKSx0aGlzLnN0b3BOb2RlTW9kdWxlc1dhdGNoZXIoKSx0aGlzLnN0b3BBbGxGaWxlV2F0Y2hlcnMoKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLmN1cnJlbnRGaWxlVHJlZVdpZHRoPXRoaXMuZmlsZVRyZWVXaWR0aCx0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodD10aGlzLnRlcm1pbmFsSGVpZ2h0LHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJmF3YWl0IHRoaXMuaW5pdGlhbGl6ZVdvcmtzcGFjZSgpfWFzeW5jIHVwZGF0ZWQob2Upe29lLmhhcygiZXhlY3V0aW9uRW52aXJvbm1lbnQiKSYmdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmYXdhaXQgdGhpcy5pbml0aWFsaXplV29ya3NwYWNlKCksdGhpcy5hY3Rpb25iYXJFbGVtZW50fHwodGhpcy5hY3Rpb25iYXJFbGVtZW50PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmVkaXRvci1wYW5lbCBkZWVzLWFjdGlvbmJhciIpKX1hc3luYyBpbml0aWFsaXplV29ya3NwYWNlKCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmIXRoaXMuaW5pdGlhbGl6YXRpb25TdGFydGVkKXt0aGlzLmluaXRpYWxpemF0aW9uU3RhcnRlZD0hMCx0aGlzLmlzSW5pdGlhbGl6aW5nPSEwO3RyeXt0aGlzLmluaXRpYWxpemF0aW9uUHJvbWlzZT9hd2FpdCB0aGlzLmluaXRpYWxpemF0aW9uUHJvbWlzZTp0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWR5fHxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmluaXQoKSxhd2FpdCB0aGlzLmV4ZWN1dGVPbkluaXRDb21tYW5kKCl9Y2F0Y2gob2Upe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIHdvcmtzcGFjZToiLG9lKSx0aGlzLmluaXRpYWxpemF0aW9uU3RhcnRlZD0hMX1maW5hbGx5e3RoaXMuaXNJbml0aWFsaXppbmc9ITF9fX1hc3luYyBleGVjdXRlT25Jbml0Q29tbWFuZCgpe2lmKHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpdHJ5e2lmKGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKCIvbnBtZXh0cmEuanNvbiIpKXtsZXQgb2U9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZSgiL25wbWV4dHJhLmpzb24iKSxfZT1KU09OLnBhcnNlKG9lKT8uZGVlc0VkaXRvcldvcmtzcGFjZT8ub25Jbml0O2lmKF9lJiZ0eXBlb2YgX2U9PSJzdHJpbmciKXtjb25zb2xlLmxvZygiRXhlY3V0aW5nIG9uSW5pdCBjb21tYW5kOiIsX2UpLHRoaXMuaW5pdENvbW1hbmQ9X2UsdGhpcy5pbml0T3V0cHV0PVtdO2xldFt2dCwuLi56dF09X2Uuc3BsaXQoIiAiKSxacj1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnNwYXduKHZ0LHp0KTtaci5vdXRwdXQucGlwZVRvKG5ldyBXcml0YWJsZVN0cmVhbSh7d3JpdGU6UXM9PntsZXQgSnM9UXMuc3BsaXQoYApgKTtmb3IobGV0IGtlIG9mIEpzKWtlJiYodGhpcy5pbml0T3V0cHV0PVsuLi50aGlzLmluaXRPdXRwdXQsa2VdKX19KSk7bGV0IGgxPWF3YWl0IFpyLmV4aXQ7Y29uc29sZS5sb2coIm9uSW5pdCBjb21tYW5kIGNvbXBsZXRlZCB3aXRoIGV4aXQgY29kZToiLGgxKSx0aGlzLmluaXRPdXRwdXQ9Wy4uLnRoaXMuaW5pdE91dHB1dCwiIixgQ29tbWFuZCBjb21wbGV0ZWQgd2l0aCBleGl0IGNvZGU6ICR7aDF9YF19fX1jYXRjaChvZSl7Y29uc29sZS53YXJuKCJGYWlsZWQgdG8gZXhlY3V0ZSBvbkluaXQgY29tbWFuZDoiLG9lKX19YXN5bmMgaW5pdGlhbGl6ZUludGVsbGlTZW5zZSgpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHx0aGlzLmludGVsbGlTZW5zZUluaXRpYWxpemVkKXJldHVybjtsZXQgb2U9d2luZG93Lm1vbmFjbztpZihvZXx8KGF3YWl0IG5ldyBQcm9taXNlKGNlPT5zZXRUaW1lb3V0KGNlLDEwMCkpLG9lPXdpbmRvdy5tb25hY28pLCFvZSl7Y29uc29sZS53YXJuKCJNb25hY28gbm90IHlldCBsb2FkZWQsIEludGVsbGlTZW5zZSB3aWxsIGJlIGluaXRpYWxpemVkIGxhdGVyIik7cmV0dXJufXRoaXMuaW50ZWxsaVNlbnNlSW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyPW5ldyB5dixhd2FpdCB0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIuaW5pdChvZSx0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSx0aGlzLnNldHVwTWFya2VyTGlzdGVuZXIoKSx0aGlzLnN0YXJ0Tm9kZU1vZHVsZXNXYXRjaGVyKCksYXdhaXQgdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLnNjYW5BbmRMb2FkTmV3UGFja2FnZVR5cGVzKCl9c3RhcnROb2RlTW9kdWxlc1dhdGNoZXIoKXtpZighKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHx0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlcikpdHJ5e3RoaXMubm9kZU1vZHVsZXNXYXRjaGVyPXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud2F0Y2goIi9ub2RlX21vZHVsZXMiLChvZSxjZSk9Pnt0aGlzLm5vZGVNb2R1bGVzRGVib3VuY2VUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dCksdGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dD1zZXRUaW1lb3V0KGFzeW5jKCk9Pnt0aGlzLmludGVsbGlTZW5zZU1hbmFnZXImJmF3YWl0IHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlci5zY2FuQW5kTG9hZE5ld1BhY2thZ2VUeXBlcygpfSwyZTMpfSx7cmVjdXJzaXZlOiEwfSl9Y2F0Y2gob2Upe2NvbnNvbGUud2FybigiQ291bGQgbm90IHdhdGNoIG5vZGVfbW9kdWxlczoiLG9lKX19c3RvcE5vZGVNb2R1bGVzV2F0Y2hlcigpe3RoaXMubm9kZU1vZHVsZXNXYXRjaGVyJiYodGhpcy5ub2RlTW9kdWxlc1dhdGNoZXIuc3RvcCgpLHRoaXMubm9kZU1vZHVsZXNXYXRjaGVyPW51bGwpLHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dCksdGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dD1udWxsKX1zdGFydFdhdGNoaW5nRmlsZShvZSl7aWYoISghdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8dGhpcy5vcGVuRmlsZVdhdGNoZXJzLmhhcyhvZSkpKXRyeXtsZXQgY2U9dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53YXRjaChvZSwoX2UsdnQpPT57bGV0IHp0PXRoaXMuZmlsZUNoYW5nZURlYm91bmNlLmdldChvZSk7enQmJmNsZWFyVGltZW91dCh6dCk7bGV0IFpyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmhhbmRsZUV4dGVybmFsRmlsZUNoYW5nZShvZSksdGhpcy5maWxlQ2hhbmdlRGVib3VuY2UuZGVsZXRlKG9lKX0sMzAwKTt0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5zZXQob2UsWnIpfSk7dGhpcy5vcGVuRmlsZVdhdGNoZXJzLnNldChvZSxjZSl9Y2F0Y2goY2Upe2NvbnNvbGUud2FybihgQ291bGQgbm90IHdhdGNoIGZpbGUgJHtvZX06YCxjZSl9fXN0b3BXYXRjaGluZ0ZpbGUob2Upe2xldCBjZT10aGlzLm9wZW5GaWxlV2F0Y2hlcnMuZ2V0KG9lKTtjZSYmKGNlLnN0b3AoKSx0aGlzLm9wZW5GaWxlV2F0Y2hlcnMuZGVsZXRlKG9lKSk7bGV0IF9lPXRoaXMuZmlsZUNoYW5nZURlYm91bmNlLmdldChvZSk7X2UmJihjbGVhclRpbWVvdXQoX2UpLHRoaXMuZmlsZUNoYW5nZURlYm91bmNlLmRlbGV0ZShvZSkpfXN0b3BBbGxGaWxlV2F0Y2hlcnMoKXtmb3IobGV0IG9lIG9mIHRoaXMub3BlbkZpbGVXYXRjaGVycy52YWx1ZXMoKSlvZS5zdG9wKCk7dGhpcy5vcGVuRmlsZVdhdGNoZXJzLmNsZWFyKCk7Zm9yKGxldCBvZSBvZiB0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS52YWx1ZXMoKSljbGVhclRpbWVvdXQob2UpO3RoaXMuZmlsZUNoYW5nZURlYm91bmNlLmNsZWFyKCl9YXN5bmMgaGFuZGxlRXh0ZXJuYWxGaWxlQ2hhbmdlKG9lKXtsZXQgY2U9dGhpcy5vcGVuRmlsZXMuZmluZChfZT0+X2UucGF0aD09PW9lKTtpZighKCFjZXx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpKXRyeXtsZXQgX2U9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShvZSk7aWYoX2U9PT1jZS5jb250ZW50KXJldHVybjtpZihjZS5tb2RpZmllZCl7bGV0IHZ0PWF3YWl0IHRoaXMuYWN0aW9uYmFyRWxlbWVudD8uc2hvdyh7bWVzc2FnZTpgIiR7Y2UubmFtZX0iIGNoYW5nZWQgb24gZGlzay4gV2hhdCBkbyB5b3Ugd2FudCB0byBkbz9gLHR5cGU6InF1ZXN0aW9uIixpY29uOiJsdWNpZGU6Z2l0TWVyZ2UiLGFjdGlvbnM6W3tpZDoibG9hZC1kaXNrIixsYWJlbDoiTG9hZCBmcm9tIERpc2siLHByaW1hcnk6ITB9LHtpZDoic2F2ZS1sb2NhbCIsbGFiZWw6IlNhdmUgTG9jYWwgdG8gRGlzayJ9LHtpZDoiY29tcGFyZSIsbGFiZWw6IkNvbXBhcmUifV0sdGltZW91dDp7ZHVyYXRpb246MTVlMyxkZWZhdWx0QWN0aW9uSWQ6ImxvYWQtZGlzayJ9LGRpc21pc3NpYmxlOiEwfSk7dnQ/LmFjdGlvbklkPT09ImxvYWQtZGlzayI/YXdhaXQgdGhpcy51cGRhdGVGaWxlQ29udGVudChvZSxfZSwhMSk6dnQ/LmFjdGlvbklkPT09InNhdmUtbG9jYWwiPyhhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShvZSxjZS5jb250ZW50KSx0aGlzLm9wZW5GaWxlcz10aGlzLm9wZW5GaWxlcy5tYXAoenQ9Pnp0LnBhdGg9PT1vZT97Li4uenQsbW9kaWZpZWQ6ITF9Onp0KSk6dnQ/LmFjdGlvbklkPT09ImNvbXBhcmUiJiZ0aGlzLm9wZW5EaWZmVmlldyhvZSxjZS5jb250ZW50LF9lKX1lbHNlIGF3YWl0IHRoaXMudXBkYXRlRmlsZUNvbnRlbnQob2UsX2UsITApfWNhdGNoKF9lKXtjb25zb2xlLndhcm4oYEZhaWxlZCB0byBoYW5kbGUgZXh0ZXJuYWwgY2hhbmdlIGZvciAke29lfTpgLF9lKX19YXN5bmMgdXBkYXRlRmlsZUNvbnRlbnQob2UsY2UsX2Upe2lmKHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcCh2dD0+dnQucGF0aD09PW9lP3suLi52dCxjb250ZW50OmNlLG1vZGlmaWVkOiExfTp2dCksb2U9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKXtsZXQgdnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKTt2dCYmYXdhaXQgdnQuc2V0Q29udGVudEV4dGVybmFsKGNlLF9lKX19b3BlbkRpZmZWaWV3KG9lLGNlLF9lKXt0aGlzLmRpZmZWaWV3Q29uZmlnPXtmaWxlUGF0aDpvZSxvcmlnaW5hbENvbnRlbnQ6X2UsbW9kaWZpZWRDb250ZW50OmNlLGxhbmd1YWdlOnRoaXMuZ2V0TGFuZ3VhZ2VGcm9tUGF0aChvZSl9LHRoaXMuc2hvd0RpZmZWaWV3PSEwfWFzeW5jIGhhbmRsZURpZmZSZXNvbHZlZChvZSl7bGV0e2FjdGlvbjpjZSxjb250ZW50Ol9lfT1vZS5kZXRhaWwsdnQ9dGhpcy5kaWZmVmlld0NvbmZpZz8uZmlsZVBhdGg7aWYoIXZ0fHwhdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl7dGhpcy5zaG93RGlmZlZpZXc9ITEsdGhpcy5kaWZmVmlld0NvbmZpZz1udWxsO3JldHVybn1pZihjZT09PSJ1c2UtbG9jYWwiKXtpZihhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZSh2dCxfZSksdGhpcy5vcGVuRmlsZXM9dGhpcy5vcGVuRmlsZXMubWFwKHp0PT56dC5wYXRoPT09dnQ/ey4uLnp0LGNvbnRlbnQ6X2UsbW9kaWZpZWQ6ITF9Onp0KSx2dD09PXRoaXMuYWN0aXZlRmlsZVBhdGgpe2xldCB6dD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpO3p0JiZhd2FpdCB6dC5zZXRDb250ZW50RXh0ZXJuYWwoX2UsITEpfX1lbHNlIGNlPT09InVzZS1kaXNrIiYmYXdhaXQgdGhpcy51cGRhdGVGaWxlQ29udGVudCh2dCxfZSwhMSk7dGhpcy5zaG93RGlmZlZpZXc9ITEsdGhpcy5kaWZmVmlld0NvbmZpZz1udWxsfWFzeW5jIGhhbmRsZUZpbGVTZWxlY3Qob2Upe2xldHtwYXRoOmNlLG5hbWU6X2V9PW9lLmRldGFpbDthd2FpdCB0aGlzLm9wZW5GaWxlKGNlLF9lKX1hc3luYyBvcGVuRmlsZShvZSxjZSl7aWYodGhpcy5vcGVuRmlsZXMuZmluZCh2dD0+dnQucGF0aD09PW9lKSl7dGhpcy5hY3RpdmVGaWxlUGF0aD1vZTtyZXR1cm59aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0cnl7bGV0IHZ0PWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUob2UpO2lmKHRoaXMub3BlbkZpbGVzPVsuLi50aGlzLm9wZW5GaWxlcyx7cGF0aDpvZSxuYW1lOmNlLGNvbnRlbnQ6dnQsbW9kaWZpZWQ6ITF9XSx0aGlzLmFjdGl2ZUZpbGVQYXRoPW9lLHRoaXMuc3RhcnRXYXRjaGluZ0ZpbGUob2UpLCF0aGlzLmludGVsbGlTZW5zZUluaXRpYWxpemVkKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGF3YWl0IG5ldyBQcm9taXNlKFpyPT5zZXRUaW1lb3V0KFpyLDUwMCkpLGF3YWl0IHRoaXMuaW5pdGlhbGl6ZUludGVsbGlTZW5zZSgpO2xldCB6dD10aGlzLmdldExhbmd1YWdlRnJvbVBhdGgob2UpO3RoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmKHp0PT09InR5cGVzY3JpcHQifHx6dD09PSJqYXZhc2NyaXB0IikmJmF3YWl0IHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlci5wcm9jZXNzQ29udGVudENoYW5nZSh2dCl9fWNhdGNoKHZ0KXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gb3BlbiBmaWxlICR7b2V9OmAsdnQpfX1hY3RpdmF0ZUZpbGUob2Upe3RoaXMuYWN0aXZlRmlsZVBhdGg9b2V9Y2xvc2VGaWxlKG9lLGNlKXtvZS5zdG9wUHJvcGFnYXRpb24oKTtsZXQgX2U9dGhpcy5vcGVuRmlsZXMuZmluZEluZGV4KHp0PT56dC5wYXRoPT09Y2UpO2lmKF9lPT09LTEpcmV0dXJuO2xldCB2dD10aGlzLm9wZW5GaWxlc1tfZV07aWYoISh2dC5tb2RpZmllZCYmIWNvbmZpcm0oYCR7dnQubmFtZX0gaGFzIHVuc2F2ZWQgY2hhbmdlcy4gQ2xvc2UgYW55d2F5P2ApKSYmKHRoaXMuc3RvcFdhdGNoaW5nRmlsZShjZSksdGhpcy5vcGVuRmlsZXM9dGhpcy5vcGVuRmlsZXMuZmlsdGVyKHp0PT56dC5wYXRoIT09Y2UpLHRoaXMuYWN0aXZlRmlsZVBhdGg9PT1jZSkpaWYodGhpcy5vcGVuRmlsZXMubGVuZ3RoPjApe2xldCB6dD1NYXRoLm1pbihfZSx0aGlzLm9wZW5GaWxlcy5sZW5ndGgtMSk7dGhpcy5hY3RpdmVGaWxlUGF0aD10aGlzLm9wZW5GaWxlc1t6dF0ucGF0aH1lbHNlIHRoaXMuYWN0aXZlRmlsZVBhdGg9IiJ9Z2V0QWN0aXZlRmlsZUNvbnRlbnQoKXtyZXR1cm4gdGhpcy5vcGVuRmlsZXMuZmluZChjZT0+Y2UucGF0aD09PXRoaXMuYWN0aXZlRmlsZVBhdGgpPy5jb250ZW50fHwiIn1oYW5kbGVDb250ZW50Q2hhbmdlKG9lKXtsZXQgY2U9b2UuZGV0YWlsLF9lPXRoaXMub3BlbkZpbGVzLmZpbmRJbmRleCh6dD0+enQucGF0aD09PXRoaXMuYWN0aXZlRmlsZVBhdGgpO2lmKF9lPT09LTEpcmV0dXJuO2xldCB2dD10aGlzLm9wZW5GaWxlc1tfZV07aWYodnQuY29udGVudCE9PWNlKXt0aGlzLm9wZW5GaWxlcz1bLi4udGhpcy5vcGVuRmlsZXMuc2xpY2UoMCxfZSksey4uLnZ0LGNvbnRlbnQ6Y2UsbW9kaWZpZWQ6ITB9LC4uLnRoaXMub3BlbkZpbGVzLnNsaWNlKF9lKzEpXTtsZXQgenQ9dGhpcy5nZXRMYW5ndWFnZUZyb21QYXRoKHRoaXMuYWN0aXZlRmlsZVBhdGgpO3RoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmKHp0PT09InR5cGVzY3JpcHQifHx6dD09PSJqYXZhc2NyaXB0IikmJih0aGlzLmludGVsbGlTZW5zZURlYm91bmNlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuaW50ZWxsaVNlbnNlRGVib3VuY2VUaW1lb3V0KSx0aGlzLmludGVsbGlTZW5zZURlYm91bmNlVGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyPy5wcm9jZXNzQ29udGVudENoYW5nZShjZSl9LDUwMCkpfX1nZXRMYW5ndWFnZUZyb21QYXRoKG9lKXtsZXQgY2U9b2Uuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKTtyZXR1cm57dHM6InR5cGVzY3JpcHQiLHRzeDoidHlwZXNjcmlwdCIsanM6ImphdmFzY3JpcHQiLGpzeDoiamF2YXNjcmlwdCIsanNvbjoianNvbiIsaHRtbDoiaHRtbCIsY3NzOiJjc3MiLHNjc3M6InNjc3MiLGxlc3M6Imxlc3MiLG1kOiJtYXJrZG93biIseWFtbDoieWFtbCIseW1sOiJ5YW1sIix4bWw6InhtbCIsc3FsOiJzcWwiLHB5OiJweXRob24iLHNoOiJzaGVsbCIsYmFzaDoic2hlbGwifVtjZXx8IiJdfHwicGxhaW50ZXh0In10b2dnbGVUZXJtaW5hbCgpe3RoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD0hdGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkfWFzeW5jIHNhdmVBY3RpdmVGaWxlKCl7bGV0IG9lPXRoaXMub3BlbkZpbGVzLmZpbmQoY2U9PmNlLnBhdGg9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKTtpZighKCFvZXx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpKXRyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShvZS5wYXRoLG9lLmNvbnRlbnQpLHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcChjZT0+Y2UucGF0aD09PW9lLnBhdGg/ey4uLmNlLG1vZGlmaWVkOiExfTpjZSksdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyJiZ0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIuYWRkRmlsZU1vZGVsKG9lLnBhdGgsb2UuY29udGVudCl9Y2F0Y2goY2Upe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzYXZlIGZpbGU6IixjZSl9fWFzeW5jIHNhdmVBbGxGaWxlcygpe2lmKHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe2ZvcihsZXQgb2Ugb2YgdGhpcy5vcGVuRmlsZXMuZmlsdGVyKGNlPT5jZS5tb2RpZmllZCkpdHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKG9lLnBhdGgsb2UuY29udGVudCksdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyJiZ0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIuYWRkRmlsZU1vZGVsKG9lLnBhdGgsb2UuY29udGVudCl9Y2F0Y2goY2Upe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBzYXZlICR7b2UucGF0aH06YCxjZSl9dGhpcy5vcGVuRmlsZXM9dGhpcy5vcGVuRmlsZXMubWFwKG9lPT4oey4uLm9lLG1vZGlmaWVkOiExfSkpfX1hc3luYyBzaG93RWRpdG9yTWVudShvZSl7b2Uuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IGNlPVt7bmFtZTp0aGlzLmF1dG9TYXZlPyJcdTI3MTMgQXV0byBTYXZlIjoiQXV0byBTYXZlIixpY29uTmFtZToibHVjaWRlOnNhdmUiLGFjdGlvbjphc3luYygpPT50aGlzLnRvZ2dsZUF1dG9TYXZlKCl9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2F2ZSIsaWNvbk5hbWU6Imx1Y2lkZTpzYXZlIixhY3Rpb246YXN5bmMoKT0+dGhpcy5zYXZlQWN0aXZlRmlsZSgpfSx7bmFtZToiU2F2ZSBBbGwiLGljb25OYW1lOiJsdWNpZGU6c2F2ZSIsYWN0aW9uOmFzeW5jKCk9PnRoaXMuc2F2ZUFsbEZpbGVzKCl9XTthd2FpdCBNci5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhvZSxjZSl9dG9nZ2xlQXV0b1NhdmUoKXt0aGlzLmF1dG9TYXZlPSF0aGlzLmF1dG9TYXZlLHRoaXMuYXV0b1NhdmU/dGhpcy5hdXRvU2F2ZUludGVydmFsPXNldEludGVydmFsKCgpPT57dGhpcy5vcGVuRmlsZXMuc29tZShjZT0+Y2UubW9kaWZpZWQpJiZ0aGlzLnNhdmVBbGxGaWxlcygpfSwyZTMpOnRoaXMuYXV0b1NhdmVJbnRlcnZhbCYmKGNsZWFySW50ZXJ2YWwodGhpcy5hdXRvU2F2ZUludGVydmFsKSx0aGlzLmF1dG9TYXZlSW50ZXJ2YWw9bnVsbCl9Z2V0RXJyb3JDb3VudCgpe3JldHVybiB0aGlzLmRpYWdub3N0aWNNYXJrZXJzLmZpbHRlcihvZT0+b2Uuc2V2ZXJpdHk9PT04KS5sZW5ndGh9cmVuZGVyUHJvYmxlbXNQYW5lbCgpe3JldHVybiB0aGlzLmRpYWdub3N0aWNNYXJrZXJzLmxlbmd0aD09PTA/TWAKICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtcy1lbXB0eSI+CiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpjaGVja0NpcmNsZSJ9IGljb25TaXplPSIyNCI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5ObyBwcm9ibGVtcyBkZXRlY3RlZDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDpNYAogICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtcy1saXN0Ij4KICAgICAgICAke3RoaXMuZGlhZ25vc3RpY01hcmtlcnMubWFwKG9lPT5NYAogICAgICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbS1pdGVtIiBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZVRvUHJvYmxlbShvZSl9PgogICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgY2xhc3M9InByb2JsZW0taWNvbiAke29lLnNldmVyaXR5PT09OD8iZXJyb3IiOiJ3YXJuaW5nIn0iCiAgICAgICAgICAgICAgLmljb249JHtvZS5zZXZlcml0eT09PTg/Imx1Y2lkZTpjaXJjbGVYIjoibHVjaWRlOnRyaWFuZ2xlQWxlcnQifQogICAgICAgICAgICAgIGljb25TaXplPSIxNCIKICAgICAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtLWRldGFpbHMiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW0tbWVzc2FnZSI+JHtvZS5tZXNzYWdlfTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW0tbG9jYXRpb24iPgogICAgICAgICAgICAgICAgJHtvZS5yZXNvdXJjZS5wYXRoLnNwbGl0KCIvIikucG9wKCl9ICgke29lLnN0YXJ0TGluZU51bWJlcn0sICR7b2Uuc3RhcnRDb2x1bW59KQogICAgICAgICAgICAgICAgJHtvZS5zb3VyY2U/YFske29lLnNvdXJjZX1dYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKX0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIG5hdmlnYXRlVG9Qcm9ibGVtKG9lKXtsZXQgY2U9b2UucmVzb3VyY2UucGF0aCxfZT1jZS5zcGxpdCgiLyIpLnBvcCgpfHwiIjt0aGlzLm9wZW5GaWxlcy5maW5kKFpyPT5aci5wYXRoPT09Y2UpP3RoaXMuYWN0aXZlRmlsZVBhdGg9Y2U6YXdhaXQgdGhpcy5vcGVuRmlsZShjZSxfZSksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgenQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKTtpZih6dCl7bGV0IFpyPWF3YWl0IHp0LmVkaXRvckRlZmVycmVkLnByb21pc2U7WnIucmV2ZWFsTGluZUluQ2VudGVyKG9lLnN0YXJ0TGluZU51bWJlciksWnIuc2V0UG9zaXRpb24oe2xpbmVOdW1iZXI6b2Uuc3RhcnRMaW5lTnVtYmVyLGNvbHVtbjpvZS5zdGFydENvbHVtbn0pLFpyLmZvY3VzKCl9fXNldHVwTWFya2VyTGlzdGVuZXIoKXtsZXQgb2U9d2luZG93Lm1vbmFjbztvZSYmKG9lLmVkaXRvci5vbkRpZENoYW5nZU1hcmtlcnMoY2U9Pnt0aGlzLnVwZGF0ZURpYWdub3N0aWNNYXJrZXJzKCl9KSx0aGlzLnVwZGF0ZURpYWdub3N0aWNNYXJrZXJzKCkpfXVwZGF0ZURpYWdub3N0aWNNYXJrZXJzKCl7bGV0IG9lPXdpbmRvdy5tb25hY287aWYoIW9lKXJldHVybjtsZXQgY2U9b2UuZWRpdG9yLmdldE1vZGVsTWFya2Vycyh7fSk7dGhpcy5kaWFnbm9zdGljTWFya2Vycz1jZS5tYXAoX2U9Pih7bWVzc2FnZTpfZS5tZXNzYWdlLHNldmVyaXR5Ol9lLnNldmVyaXR5LHN0YXJ0TGluZU51bWJlcjpfZS5zdGFydExpbmVOdW1iZXIsc3RhcnRDb2x1bW46X2Uuc3RhcnRDb2x1bW4sZW5kTGluZU51bWJlcjpfZS5lbmRMaW5lTnVtYmVyLGVuZENvbHVtbjpfZS5lbmRDb2x1bW4sc291cmNlOl9lLnNvdXJjZSxyZXNvdXJjZTp7cGF0aDpfZS5yZXNvdXJjZS5wYXRofX0pKX1hc3luYyBoYW5kbGVSdW5Qcm9jZXNzKG9lKXtsZXQgY2U9b2UuZGV0YWlsLF9lPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtdGVybWluYWwiKTtpZighX2Upe2NvbnNvbGUud2FybigiVGVybWluYWwgY29tcG9uZW50IG5vdCBmb3VuZCIpO3JldHVybn10aGlzLmlzVGVybWluYWxDb2xsYXBzZWQmJih0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ9ITEpLHRoaXMuYWN0aXZlQm90dG9tUGFuZWw9InRlcm1pbmFsIixhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGF3YWl0IF9lLmNyZWF0ZVByb2Nlc3NUYWIoe3R5cGU6Y2UudHlwZSxsYWJlbDpjZS5sYWJlbCxjb21tYW5kOmNlLmNvbW1hbmQsYXJnczpjZS5hcmdzLG1ldGFkYXRhOmNlLm1ldGFkYXRhLHN3aXRjaFRvVGFiOiEwfSl9c2V0RmlsZVRyZWVXaWR0aChvZSl7bGV0IF9lPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgqLjU7dGhpcy5jdXJyZW50RmlsZVRyZWVXaWR0aD1NYXRoLm1heCgxNTAsTWF0aC5taW4oX2Usb2UpKSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX1zZXRUZXJtaW5hbEhlaWdodChvZSl7bGV0IF9lPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0Ki43O3RoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0PU1hdGgubWF4KDEwMCxNYXRoLm1pbihfZSxvZSkpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgicmVzaXplIikpfXJlc2V0TGF5b3V0KCl7dGhpcy5jdXJyZW50RmlsZVRyZWVXaWR0aD10aGlzLmZpbGVUcmVlV2lkdGgsdGhpcy5jdXJyZW50VGVybWluYWxIZWlnaHQ9dGhpcy50ZXJtaW5hbEhlaWdodCx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX1zdGF0aWN7RHQoYSxyKX19O3JldHVybiBVdD1hfSkoKX0pO3ZhciBhNXI9ZigoKT0+e3I1cigpO3F1ZSgpfSk7dmFyIGk1cj1mKCgpPT57UTYoKX0pO3ZhciBuNXI9ZigoKT0+e2lPKCl9KTt2YXIgczVyPWYoKCk9Pnt9KTt2YXIgbzVyPWYoKCk9PntndigpO3M1cigpO0R1ZSgpfSk7dmFyIGw1cj1mKCgpPT57QnVlKCl9KTt2YXIgd3YsamMsbXduLGM1cixkNXI9ZigoKT0+e3VlKCk7UWUoKTtRNigpO3d2PWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0samM9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LG13bj1TdC5wbHVnaW5zLnNtYXJ0cHJvbWlzZS5kZWZlcigpLGM1cj0oKCk9PntsZXQgZT1bcmUoImRlZXMtd29ya3NwYWNlLW1hcmtkb3duIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCB3PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6TnVtYmVyfSldLGM9W0Yoe3R5cGU6TnVtYmVyfSldLGQ9W3NlKCldLHY9W3NlKCldLHd2KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3BsaXRSYXRpbyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+InNwbGl0UmF0aW8iaW4gayxnZXQ6az0+ay5zcGxpdFJhdGlvLHNldDooayxSKT0+e2suc3BsaXRSYXRpbz1SfX0sbWV0YWRhdGE6d30scyxvKSx3dih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pblBhbmVsU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+Im1pblBhbmVsU2l6ZSJpbiBrLGdldDprPT5rLm1pblBhbmVsU2l6ZSxzZXQ6KGssUik9PntrLm1pblBhbmVsU2l6ZT1SfX0sbWV0YWRhdGE6d30sbCx1KSx3dih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRTcGxpdFJhdGlvIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4iY3VycmVudFNwbGl0UmF0aW8iaW4gayxnZXQ6az0+ay5jdXJyZW50U3BsaXRSYXRpbyxzZXQ6KGssUik9PntrLmN1cnJlbnRTcGxpdFJhdGlvPVJ9fSxtZXRhZGF0YTp3fSxoLG0pLHd2KHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNEcmFnZ2luZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImlzRHJhZ2dpbmciaW4gayxnZXQ6az0+ay5pc0RyYWdnaW5nLHNldDooayxSKT0+e2suaXNEcmFnZ2luZz1SfX0sbWV0YWRhdGE6d30sYixnKSx3dihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTp3fSxudWxsLHIpLHk9YT10LnZhbHVlLHcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6d30pfXN0YXRpYyBkZW1vPSgpPT5NYDxkZWVzLXdvcmtzcGFjZS1tYXJrZG93bj48L2RlZXMtd29ya3NwYWNlLW1hcmtkb3duPmA7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtzdGF0aWMgc3R5bGVzPVtEZSxwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zcGxpdENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIC5lZGl0b3JDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucmVzaXplSGFuZGxlIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMDM2M2QiKX07CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5yZXNpemVIYW5kbGU6aG92ZXIsCiAgICAgIC5yZXNpemVIYW5kbGUuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZUhhbmRsZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmU3NjgxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIH0KCiAgICAgIC5yZXNpemVIYW5kbGU6aG92ZXI6OmFmdGVyLAogICAgICAucmVzaXplSGFuZGxlLmRyYWdnaW5nOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjZmZmZmZmIil9OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5vdXRsZXRDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwZDExMTciKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjQyOTJmIiwiI2U2ZWRmMyIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnTm90byBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLyogUHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGlsZSBkcmFnZ2luZyAqLwogICAgICAuc3BsaXRDb250YWluZXIuZHJhZ2dpbmcgewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc3BsaXRDb250YWluZXIuZHJhZ2dpbmcgLmVkaXRvckNvbnRhaW5lciwKICAgICAgLnNwbGl0Q29udGFpbmVyLmRyYWdnaW5nIC5vdXRsZXRDb250YWluZXIgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICBgXTsjZT1qYyh0aGlzLHMsNTApO2dldCBzcGxpdFJhdGlvKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNwbGl0UmF0aW8odyl7dGhpcy4jZT13fSN0PShqYyh0aGlzLG8pLGpjKHRoaXMsbCwxMCkpO2dldCBtaW5QYW5lbFNpemUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbWluUGFuZWxTaXplKHcpe3RoaXMuI3Q9d30jcj0oamModGhpcyx1KSxqYyh0aGlzLGgsNTApKTtnZXQgY3VycmVudFNwbGl0UmF0aW8oKXtyZXR1cm4gdGhpcy4jcn1zZXQgY3VycmVudFNwbGl0UmF0aW8odyl7dGhpcy4jcj13fSNhPShqYyh0aGlzLG0pLGpjKHRoaXMsYiwhMSkpO2dldCBpc0RyYWdnaW5nKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzRHJhZ2dpbmcodyl7dGhpcy4jYT13fXJlc2l6ZUhhbmRsZUVsZW1lbnQ9amModGhpcyxnKTtjb250YWluZXJFbGVtZW50O3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJzcGxpdENvbnRhaW5lciAke3RoaXMuaXNEcmFnZ2luZz8iZHJhZ2dpbmciOiIifSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yQ29udGFpbmVyIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5jdXJyZW50U3BsaXRSYXRpb30lIj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgLmxhbmd1YWdlPSR7Im1hcmtkb3duIn0KICAgICAgICAgICAgLmNvbnRlbnQ9JHtgIyBhIHRlc3QgY29udGVudAoKVGhpcyBpcyB0ZXN0IGNvbnRlbnQgdGhhdCBpcyBvZiBsb25nZXIgZm9ybSBhbiBob3BlZnVsbHkgc3RhcnRzIHRvIHdyYXAgd2hlbiBJIG5lZWQgaXQuIEFuZCB5ZXMsIGl0IGRvZXMgcGVyZmVjdGx5LiBuaWNlLgoKVGVzdCB8IEhlbGxvCi0tLSB8IC0tLQpZZWFoIHwgU28gZ29vZAoKVGhpcyBpcyByZWFsIGFzc2V0IEkgdGhpbmsuIFdoeSB3b3VsZCB3ZSB3YW50IHRvIGxlYXZlIHRoYXQgb24gdGhlIHRhYmxlPyBDYW4geW91IHRlbGwgbXkgdGhhdD8KCldoeSBhcmUgd2UgaGVyZT8KCkRvIHlvdSBrbm93PwoKPiBub3RlOgpUaGVyZSBpcyBzb21ldGhpbmcgZ29pbmcgb24uCgpcYFxgXGB0eXBlc2NyaXB0CmNvbnN0IGhlbGxvID0gJ3llcycKXGBcYFxgCmB9CiAgICAgICAgICAgIHdvcmRXcmFwPSJib3VuZGVkIgogICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJyZXNpemVIYW5kbGUgJHt0aGlzLmlzRHJhZ2dpbmc/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICBAbW91c2Vkb3duPSR7dGhpcy5oYW5kbGVNb3VzZURvd259CiAgICAgICAgPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im91dGxldENvbnRhaW5lciIgc3R5bGU9IndpZHRoOiAkezEwMC10aGlzLmN1cnJlbnRTcGxpdFJhdGlvfSUiPgogICAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQodyl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKHcpLHRoaXMuY3VycmVudFNwbGl0UmF0aW89dGhpcy5zcGxpdFJhdGlvLHRoaXMuY29udGFpbmVyRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNwbGl0Q29udGFpbmVyIiksdGhpcy5yZXNpemVIYW5kbGVFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIucmVzaXplSGFuZGxlIik7bGV0IGs9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpLFI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0IiksUz1hd2FpdCBuZXcgU3QucGx1Z2lucy5zbWFydG1hcmtkb3duLlNtYXJ0TWFya2Rvd24oKS5nZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bigibG9hZGluZy4uLiIpO2suY29udGVudFN1YmplY3Quc3Vic2NyaWJlKGFzeW5jIE89Pnthd2FpdCBTLnVwZGF0ZUZyb21NYXJrZG93blN0cmluZyhPKTtsZXQgRD1TLmh0bWw7Ui51cGRhdGVIdG1sVGV4dChEKX0pfWhhbmRsZU1vdXNlRG93bj13PT57dy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNEcmFnZ2luZz0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlTW91c2VNb3ZlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZU1vdXNlVXApfTtoYW5kbGVNb3VzZU1vdmU9dz0+e2lmKCF0aGlzLmlzRHJhZ2dpbmd8fCF0aGlzLmNvbnRhaW5lckVsZW1lbnQpcmV0dXJuO2xldCBrPXRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxSPWsud2lkdGgsUz0ody5jbGllbnRYLWsubGVmdCkvUioxMDA7Uz1NYXRoLm1heCh0aGlzLm1pblBhbmVsU2l6ZSxNYXRoLm1pbigxMDAtdGhpcy5taW5QYW5lbFNpemUsUykpLHRoaXMuY3VycmVudFNwbGl0UmF0aW89U307aGFuZGxlTW91c2VVcD0oKT0+e3RoaXMuaXNEcmFnZ2luZz0hMSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZU1vdXNlVXApLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKSYmd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9O2FzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZU1vdXNlVXApfXNldFNwbGl0UmF0aW8odyl7dGhpcy5jdXJyZW50U3BsaXRSYXRpbz1NYXRoLm1heCh0aGlzLm1pblBhbmVsU2l6ZSxNYXRoLm1pbigxMDAtdGhpcy5taW5QYW5lbFNpemUsdykpfXJlc2V0U3BsaXRSYXRpbygpe3RoaXMuY3VycmVudFNwbGl0UmF0aW89dGhpcy5zcGxpdFJhdGlvfXN0YXRpY3tqYyhhLHIpfX07cmV0dXJuIHk9YX0pKCl9KTt2YXIgdTVyPWYoKCk9PntkNXIoKX0pO3ZhciBwNXIsZjVyPWYoKCk9Pnt1ZSgpO2hhKCk7T2koKTtwNXI9KCk9Pk1gCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7SmAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8IS0tIERlbW8gMTogSGVhZGluZ3MgLS0+CiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7IkhlYWRpbmdzIn0KICAgICAgICAuc3VidGl0bGU9JHsiQWxsIGhlYWRpbmcgbGV2ZWxzIGZyb20gSDEgdG8gSDYifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9Pnthd2FpdCBlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGgxPkhlYWRpbmcgTGV2ZWwgMTwvaDE+CiAgICAgICAgICAgIDxoMj5IZWFkaW5nIExldmVsIDI8L2gyPgogICAgICAgICAgICA8aDM+SGVhZGluZyBMZXZlbCAzPC9oMz4KICAgICAgICAgICAgPGg0PkhlYWRpbmcgTGV2ZWwgNDwvaDQ+CiAgICAgICAgICAgIDxoNT5IZWFkaW5nIExldmVsIDU8L2g1PgogICAgICAgICAgICA8aDY+SGVhZGluZyBMZXZlbCA2PC9oNj4KICAgICAgICAgIGApfX0KICAgICAgPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD48L2RlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8IS0tIERlbW8gMjogVGV4dCBGb3JtYXR0aW5nIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJUZXh0IEZvcm1hdHRpbmcifQogICAgICAgIC5zdWJ0aXRsZT0keyJCb2xkLCBpdGFsaWMsIGxpbmtzLCBjb2RlLCBhbmQga2V5Ym9hcmQgaW5wdXQifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9Pnthd2FpdCBlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPHA+VGhpcyBpcyBhIHBhcmFncmFwaCB3aXRoIDxzdHJvbmc+Ym9sZCB0ZXh0PC9zdHJvbmc+IGFuZCA8ZW0+aXRhbGljIHRleHQ8L2VtPi48L3A+CiAgICAgICAgICAgIDxwPllvdSBjYW4gYWxzbyB1c2UgPHN0cm9uZz48ZW0+Ym9sZCBpdGFsaWM8L2VtPjwvc3Ryb25nPiBmb3IgZW1waGFzaXMuPC9wPgogICAgICAgICAgICA8cD5IZXJlJ3MgYSA8YSBocmVmPSIjIj5saW5rIGV4YW1wbGU8L2E+IGFuZCBzb21lIDxjb2RlPmlubGluZSBjb2RlPC9jb2RlPi48L3A+CiAgICAgICAgICAgIDxwPlByZXNzIDxrYmQ+Q3RybDwva2JkPiArIDxrYmQ+Qzwva2JkPiB0byBjb3B5IHRleHQuPC9wPgogICAgICAgICAgICA8aHI+CiAgICAgICAgICAgIDxwPkFib3ZlIGlzIGEgaG9yaXpvbnRhbCBydWxlIHNlcGFyYXRvci48L3A+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDM6IExpc3RzIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJMaXN0cyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7Ik9yZGVyZWQsIHVub3JkZXJlZCwgYW5kIHRhc2sgbGlzdHMifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9Pnthd2FpdCBlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGgzPlVub3JkZXJlZCBMaXN0PC9oMz4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5GaXJzdCBpdGVtPC9saT4KICAgICAgICAgICAgICA8bGk+U2Vjb25kIGl0ZW0KICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgPGxpPk5lc3RlZCBpdGVtIDE8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+TmVzdGVkIGl0ZW0gMjwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgPGxpPlRoaXJkIGl0ZW08L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPGgzPk9yZGVyZWQgTGlzdDwvaDM+CiAgICAgICAgICAgIDxvbD4KICAgICAgICAgICAgICA8bGk+U3RlcCBvbmU8L2xpPgogICAgICAgICAgICAgIDxsaT5TdGVwIHR3bzwvbGk+CiAgICAgICAgICAgICAgPGxpPlN0ZXAgdGhyZWU8L2xpPgogICAgICAgICAgICA8L29sPgoKICAgICAgICAgICAgPGgzPlRhc2sgTGlzdDwvaDM+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNoZWNrZWQgZGlzYWJsZWQ+IENvbXBsZXRlZCB0YXNrPC9saT4KICAgICAgICAgICAgICA8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRpc2FibGVkPiBQZW5kaW5nIHRhc2s8L2xpPgogICAgICAgICAgICAgIDxsaSBjbGFzcz0idGFzay1saXN0LWl0ZW0iPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgZGlzYWJsZWQ+IEFub3RoZXIgdGFzazwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDQ6IENvZGUgQmxvY2tzIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJDb2RlIEJsb2NrcyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IlN5bnRheCBoaWdobGlnaHRlZCBjb2RlIGV4YW1wbGVzIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57YXdhaXQgZS5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxwPklubGluZSBjb2RlOiA8Y29kZT5jb25zdCBncmVldGluZyA9ICJIZWxsbywgV29ybGQhIjs8L2NvZGU+PC9wPgoKICAgICAgICAgICAgPGgzPlR5cGVTY3JpcHQgRXhhbXBsZTwvaDM+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+PHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+aW1wb3J0PC9zcGFuPiB7IGh0bWwsIGNzcyB9IDxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmZyb208L3NwYW4+IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+J0BkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCc8L3NwYW4+OwoKPHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+aW50ZXJmYWNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy10aXRsZSI+SVVzZXI8L3NwYW4+IHsKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj5uYW1lPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPnN0cmluZzwvc3Bhbj47CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+ZW1haWw8L3NwYW4+OiA8c3BhbiBjbGFzcz0iaGxqcy1idWlsdF9pbiI+c3RyaW5nPC9zcGFuPjsKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj5hZ2U8L3NwYW4+PzogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPm51bWJlcjwvc3Bhbj47Cn0KCjxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmNvbnN0PC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy10aXRsZSI+Z2V0VXNlcjwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5hc3luYzwvc3Bhbj4gKDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPmlkPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPnN0cmluZzwvc3Bhbj4pOiA8c3BhbiBjbGFzcz0iaGxqcy1idWlsdF9pbiI+UHJvbWlzZTwvc3Bhbj4mbHQ7SVVzZXImZ3Q7ID0mZ3Q7IHsKICA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5jb25zdDwvc3Bhbj4gcmVzcG9uc2UgPSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5hd2FpdDwvc3Bhbj4gZmV0Y2goXGAvYXBpL3VzZXJzL1wke2lkfVxgKTsKICA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5yZXR1cm48L3NwYW4+IHJlc3BvbnNlLmpzb24oKTsKfTs8L2NvZGU+PC9wcmU+CgogICAgICAgICAgICA8aDM+SlNPTiBFeGFtcGxlPC9oMz4KICAgICAgICAgICAgPHByZT48Y29kZT57CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+Im5hbWUiPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iZGVlcy1jYXRhbG9nIjwvc3Bhbj4sCiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+InZlcnNpb24iPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iMy4wLjAiPC9zcGFuPiwKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj4iZGVwZW5kZW5jaWVzIjwvc3Bhbj46IHsKICAgIDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPiJAZGVzaWduLmVzdGF0ZS9kZWVzLWVsZW1lbnQiPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iXjIuMC4wIjwvc3Bhbj4KICB9Cn08L2NvZGU+PC9wcmU+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDU6IFRhYmxlcyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiVGFibGVzIn0KICAgICAgICAuc3VidGl0bGU9JHsiU3R5bGVkIHRhYmxlcyB3aXRoIGFsdGVybmF0aW5nIHJvd3MifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9Pnthd2FpdCBlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRoPkZlYXR1cmU8L3RoPgogICAgICAgICAgICAgICAgICA8dGg+U3RhdHVzPC90aD4KICAgICAgICAgICAgICAgICAgPHRoPlByaW9yaXR5PC90aD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD5EYXJrIG1vZGUgc3VwcG9ydDwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5Db21wbGV0ZWQ8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SGlnaDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+UmVzcG9uc2l2ZSBkZXNpZ248L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SW4gUHJvZ3Jlc3M8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+TWVkaXVtPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD5BY2Nlc3NpYmlsaXR5PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPlBsYW5uZWQ8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SGlnaDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+RG9jdW1lbnRhdGlvbjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5JbiBQcm9ncmVzczwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5Mb3c8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA2OiBCbG9ja3F1b3RlcyAmIEFsZXJ0cyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiQmxvY2txdW90ZXMgJiBBbGVydHMifQogICAgICAgIC5zdWJ0aXRsZT0keyJRdW90ZXMgYW5kIEdpdEh1Yi1zdHlsZSBhbGVydHMifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9Pnthd2FpdCBlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGJsb2NrcXVvdGU+CiAgICAgICAgICAgICAgPHA+VGhpcyBpcyBhIHN0YW5kYXJkIGJsb2NrcXVvdGUuIEl0J3MgZ3JlYXQgZm9yIGhpZ2hsaWdodGluZyBpbXBvcnRhbnQgaW5mb3JtYXRpb24gb3IgcXVvdGVzIGZyb20gb3RoZXIgc291cmNlcy48L3A+CiAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LW5vdGUiPgogICAgICAgICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBpcyBhbiBpbmZvcm1hdGlvbmFsIG5vdGUgdG8gZHJhdyBhdHRlbnRpb24gdG8gaW1wb3J0YW50IGRldGFpbHMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LXRpcCI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5UaXA6PC9zdHJvbmc+IEhlcmUncyBhIGhlbHBmdWwgdGlwIHRvIGltcHJvdmUgeW91ciB3b3JrZmxvdy48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtaW1wb3J0YW50Ij4KICAgICAgICAgICAgICA8cD48c3Ryb25nPkltcG9ydGFudDo8L3N0cm9uZz4gVGhpcyBpbmZvcm1hdGlvbiBpcyBjcnVjaWFsIGZvciB1bmRlcnN0YW5kaW5nIHRoZSB0b3BpYy48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtd2FybmluZyI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5XYXJuaW5nOjwvc3Ryb25nPiBCZSBjYXJlZnVsIHdoZW4gcGVyZm9ybWluZyB0aGlzIGFjdGlvbi48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtY2F1dGlvbiI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5DYXV0aW9uOjwvc3Ryb25nPiBUaGlzIGFjdGlvbiBtYXkgaGF2ZSB1bmludGVuZGVkIGNvbnNlcXVlbmNlcy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA3OiBGdWxsIERvY3VtZW50IC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJGdWxsIERvY3VtZW50In0KICAgICAgICAuc3VidGl0bGU9JHsiQSBjb21wbGV0ZSBtYXJrZG93biBkb2N1bWVudCBleGFtcGxlIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57YXdhaXQgZS5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxoMT5HZXR0aW5nIFN0YXJ0ZWQgR3VpZGU8L2gxPgogICAgICAgICAgICA8cD5XZWxjb21lIHRvIHRoZSA8c3Ryb25nPmRlZXMtY2F0YWxvZzwvc3Ryb25nPiBjb21wb25lbnQgbGlicmFyeS4gVGhpcyBndWlkZSB3aWxsIGhlbHAgeW91IGdldCB1cCBhbmQgcnVubmluZyBxdWlja2x5LjwvcD4KCiAgICAgICAgICAgIDxoMj5JbnN0YWxsYXRpb248L2gyPgogICAgICAgICAgICA8cD5JbnN0YWxsIHRoZSBwYWNrYWdlIHVzaW5nIHlvdXIgcHJlZmVycmVkIHBhY2thZ2UgbWFuYWdlcjo8L3A+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+PHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+IyBVc2luZyBwbnBtIChyZWNvbW1lbmRlZCk8L3NwYW4+CnBucG0gYWRkIEBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZwoKPHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+IyBVc2luZyBucG08L3NwYW4+Cm5wbSBpbnN0YWxsIEBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZzwvY29kZT48L3ByZT4KCiAgICAgICAgICAgIDxoMj5CYXNpYyBVc2FnZTwvaDI+CiAgICAgICAgICAgIDxwPkltcG9ydCBhbmQgdXNlIGNvbXBvbmVudHMgaW4geW91ciBUeXBlU2NyaXB0IGZpbGVzOjwvcD4KICAgICAgICAgICAgPHByZT48Y29kZT48c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5pbXBvcnQ8L3NwYW4+IHsgRGVlc0J1dHRvbiB9IDxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmZyb208L3NwYW4+IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+J0BkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZyc8L3NwYW4+OwoKPHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+Ly8gVXNlIGluIHlvdXIgdGVtcGxhdGVzPC9zcGFuPgpodG1sXGAmbHQ7ZGVlcy1idXR0b24mZ3Q7Q2xpY2sgbWUmbHQ7L2RlZXMtYnV0dG9uJmd0O1xgPC9jb2RlPjwvcHJlPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtdGlwIj4KICAgICAgICAgICAgICA8cD48c3Ryb25nPlRpcDo8L3N0cm9uZz4gQ2hlY2sgdGhlIGRlbW8gc2hvd2Nhc2UgZm9yIGxpdmUgZXhhbXBsZXMgb2YgYWxsIGNvbXBvbmVudHMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxoMj5BdmFpbGFibGUgQ29tcG9uZW50czwvaDI+CiAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0aD5Db21wb25lbnQ8L3RoPgogICAgICAgICAgICAgICAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtYnV0dG9uPC9jb2RlPjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5QcmltYXJ5IGJ1dHRvbiBjb21wb25lbnQ8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtaW5wdXQtdGV4dDwvY29kZT48L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+VGV4dCBpbnB1dCBmaWVsZDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+PGNvZGU+ZGVlcy10YWJsZTwvY29kZT48L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+RGF0YSB0YWJsZSB3aXRoIHNvcnRpbmc8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtbW9kYWw8L2NvZGU+PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPk1vZGFsIGRpYWxvZzwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgICAgICA8aDI+TmV4dCBTdGVwczwvaDI+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+RXhwbG9yZSB0aGUgPGEgaHJlZj0iIyI+Y29tcG9uZW50IGRvY3VtZW50YXRpb248L2E+PC9saT4KICAgICAgICAgICAgICA8bGk+Q2hlY2sgb3V0IHRoZSA8YSBocmVmPSIjIj50aGVtaW5nIGd1aWRlPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPkpvaW4gb3VyIDxhIGhyZWY9IiMiPmNvbW11bml0eSBEaXNjb3JkPC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8YmxvY2txdW90ZT4KICAgICAgICAgICAgICA8cD4iVGhlIGJlc3QgY29tcG9uZW50IGxpYnJhcnkgaXMgb25lIHRoYXQgZ2V0cyBvdXQgb2YgeW91ciB3YXkuIiBcdTIwMTQgRGVzaWduIFN5c3RlbXMgVGVhbTwvcD4KICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYH0pO3ZhciBXSnIsR0pyLGg1cixtNXI9ZigoKT0+e3VlKCk7UWUoKTtmNXIoKTtXSnI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxHSnI9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGg1cj0oKCk9PntsZXQgZT1bcmUoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0IildLHQscj1bXSxhLGk9aGU7dmFyIG49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBzPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO1dKcihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpzfSxudWxsLHIpLG49YT10LnZhbHVlLHMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6c30pfXN0YXRpYyBkZW1vPXA1cjtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdO3N0YXRpYyBzdHlsZXM9W0RlLHAuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ05vdG8gU2FucycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjQyOTJmIiwiI2U2ZWRmMyIpfTsKICAgICAgfQoKICAgICAgLm91dGxldCB7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAvKiBIZWFkaW5ncyAqLwogICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxZjIzMjgiLCIjZjBmNmZjIil9OwogICAgICB9CgogICAgICBoMSB7CiAgICAgICAgZm9udC1zaXplOiAyZW07CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuM2VtOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICBmb250LXNpemU6IDEuNWVtOwogICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjNlbTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICB9CgogICAgICBoMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07CiAgICAgIH0KCiAgICAgIGg0IHsKICAgICAgICBmb250LXNpemU6IDFlbTsKICAgICAgfQoKICAgICAgaDUgewogICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsKICAgICAgfQoKICAgICAgaDYgewogICAgICAgIGZvbnQtc2l6ZTogMC44NWVtOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzY1NmQ3NiIsIiM4Yjk0OWUiKX07CiAgICAgIH0KCiAgICAgIC8qIFBhcmFncmFwaHMgYW5kIHRleHQgKi8KICAgICAgcCB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAvKiBMaW5rcyAqLwogICAgICBhIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMwOTY5ZGEiLCIjNThhNmZmIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC8qIFN0cm9uZyBhbmQgZW1waGFzaXMgKi8KICAgICAgc3Ryb25nIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzFmMjMyOCIsIiNmMGY2ZmMiKX07CiAgICAgIH0KCiAgICAgIGVtIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC8qIExpc3RzICovCiAgICAgIHVsLCBvbCB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMmVtOwogICAgICB9CgogICAgICBsaSB7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICBsaSArIGxpIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIHVsIHVsLCB1bCBvbCwgb2wgdWwsIG9sIG9sIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIEJsb2NrcXVvdGVzICovCiAgICAgIGJsb2NrcXVvdGUgewogICAgICAgIG1hcmdpbjogMCAwIDE2cHggMDsKICAgICAgICBwYWRkaW5nOiAwIDFlbTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2NTZkNzYiLCIjOGI5NDllIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJHtwLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICB9CgogICAgICBibG9ja3F1b3RlID4gOmZpcnN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICB9CgogICAgICBibG9ja3F1b3RlID4gOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIElubGluZSBjb2RlICovCiAgICAgIGNvZGUgewogICAgICAgIHBhZGRpbmc6IDAuMmVtIDAuNGVtOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXNpemU6IDg1JTsKICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgJ1NGIE1vbm8nLCBNZW5sbywgQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBtb25vc3BhY2U7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoInJnYmEoMTc1LCAxODQsIDE5MywgMC4yKSIsInJnYmEoMTEwLCAxMTgsIDEyOSwgMC40KSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlczsKICAgICAgfQoKICAgICAgLyogQ29kZSBibG9ja3MgKi8KICAgICAgcHJlIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBmb250LXNpemU6IDg1JTsKICAgICAgICBsaW5lLWhlaWdodDogMS40NTsKICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgJ1NGIE1vbm8nLCBNZW5sbywgQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBtb25vc3BhY2U7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoIiNmNmY4ZmEiLCIjMTYxYjIyIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDsKICAgICAgfQoKICAgICAgcHJlIGNvZGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICAgICAgIHdvcmQtd3JhcDogbm9ybWFsOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBmb250LXNpemU6IDEwMCU7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICAgfQoKICAgICAgLyogVGFibGVzICovCiAgICAgIHRhYmxlIHsKICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBib3JkZXItc3BhY2luZzogMDsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICB0YWJsZSB0aCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBwYWRkaW5nOiA2cHggMTNweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoIiNmNmY4ZmEiLCIjMTYxYjIyIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzFmMjMyOCIsIiNlNmVkZjMiKX07CiAgICAgIH0KCiAgICAgIHRhYmxlIHRkIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTNweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMWYyMzI4IiwiI2U2ZWRmMyIpfTsKICAgICAgfQoKICAgICAgdGFibGUgdHIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzBkMTExNyIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMjEyNjJkIil9OwogICAgICB9CgogICAgICB0YWJsZSB0cjpudGgtY2hpbGQoMm4pIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3AuYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgIH0KCiAgICAgIC8qIEhvcml6b250YWwgcnVsZXMgKi8KICAgICAgaHIgewogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAyNHB4IDA7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgIH0KCiAgICAgIC8qIEltYWdlcyAqLwogICAgICBpbWcgewogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgfQoKICAgICAgLyogVGFzayBsaXN0cyAqLwogICAgICAudGFzay1saXN0LWl0ZW0gewogICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhc2stbGlzdC1pdGVtIGlucHV0IHsKICAgICAgICBtYXJnaW46IDAgMC4yZW0gMC4yNWVtIC0xLjRlbTsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CgogICAgICAvKiBEZWZpbml0aW9uIGxpc3RzICovCiAgICAgIGRsIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICBkbCBkdCB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMWVtOwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICBkbCBkZCB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC8qIEtleWJvYXJkIGlucHV0ICovCiAgICAgIGtiZCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHBhZGRpbmc6IDNweCA1cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCAnU0YgTW9ubycsIE1lbmxvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICBsaW5lLWhlaWdodDogMTBweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxZjIzMjgiLCIjZTZlZGYzIil9OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoIiNmNmY4ZmEiLCIjMTYxYjIyIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgJHtwLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICB9CgogICAgICAvKiBGb290bm90ZXMgKi8KICAgICAgLmZvb3Rub3RlcyB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzY1NmQ3NiIsIiM4Yjk0OWUiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OwogICAgICB9CgogICAgICAvKiBBbGVydHMvQWRtb25pdGlvbnMgKi8KICAgICAgLm1hcmtkb3duLWFsZXJ0IHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtbm90ZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiIzA5NjlkYSIsIiM1OGE2ZmYiKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoInJnYmEoOSwgMTA1LCAyMTgsIDAuMSkiLCJyZ2JhKDU2LCAxMzksIDI1MywgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLm1hcmtkb3duLWFsZXJ0LXdhcm5pbmcgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiNiZjg3MDAiLCIjZDI5OTIyIil9OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cC5iZFRoZW1lKCJyZ2JhKDE5MSwgMTM1LCAwLCAwLjEpIiwicmdiYSgxODcsIDEyOCwgOSwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLm1hcmtkb3duLWFsZXJ0LWltcG9ydGFudCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiIzgyNTBkZiIsIiNhMzcxZjciKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoInJnYmEoMTMwLCA4MCwgMjIzLCAwLjEpIiwicmdiYSgxNjMsIDExMywgMjQ3LCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtY2F1dGlvbiB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2NmMjIyZSIsIiNmODUxNDkiKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwLmJkVGhlbWUoInJnYmEoMjA3LCAzNCwgNDYsIDAuMSkiLCJyZ2JhKDI0OCwgODEsIDczLCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtdGlwIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjMWE3ZjM3IiwiIzNmYjk1MCIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3AuYmRUaGVtZSgicmdiYSgyNiwgMTI3LCA1NSwgMC4xKSIsInJnYmEoNDYsIDE2MCwgNjcsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFN5bnRheCBoaWdobGlnaHRpbmcgZm9yIGNvZGUgYmxvY2tzICovCiAgICAgIC5obGpzLWNvbW1lbnQsCiAgICAgIC5obGpzLXF1b3RlIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM2YTczN2QiLCIjOGI5NDllIil9OwogICAgICB9CgogICAgICAuaGxqcy1rZXl3b3JkLAogICAgICAuaGxqcy1zZWxlY3Rvci10YWcsCiAgICAgIC5obGpzLWFkZGl0aW9uIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkNzNhNDkiLCIjZmY3YjcyIil9OwogICAgICB9CgogICAgICAuaGxqcy1udW1iZXIsCiAgICAgIC5obGpzLXN0cmluZywKICAgICAgLmhsanMtbWV0YSAuaGxqcy1tZXRhLXN0cmluZywKICAgICAgLmhsanMtbGl0ZXJhbCwKICAgICAgLmhsanMtZG9jdGFnLAogICAgICAuaGxqcy1yZWdleHAgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzAzMmY2MiIsIiNhNWQ2ZmYiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLXRpdGxlLAogICAgICAuaGxqcy1zZWN0aW9uLAogICAgICAuaGxqcy1uYW1lLAogICAgICAuaGxqcy1zZWxlY3Rvci1pZCwKICAgICAgLmhsanMtc2VsZWN0b3ItY2xhc3MgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzZmNDJjMSIsIiNkMmE4ZmYiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWF0dHJpYnV0ZSwKICAgICAgLmhsanMtYXR0ciwKICAgICAgLmhsanMtdmFyaWFibGUsCiAgICAgIC5obGpzLXRlbXBsYXRlLXZhcmlhYmxlLAogICAgICAuaGxqcy1jbGFzcyAuaGxqcy10aXRsZSwKICAgICAgLmhsanMtdHlwZSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMDA1Y2M1IiwiIzc5YzBmZiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtc3ltYm9sLAogICAgICAuaGxqcy1idWxsZXQsCiAgICAgIC5obGpzLXN1YnN0LAogICAgICAuaGxqcy1tZXRhLAogICAgICAuaGxqcy1tZXRhIC5obGpzLWtleXdvcmQsCiAgICAgIC5obGpzLXNlbGVjdG9yLWF0dHIsCiAgICAgIC5obGpzLXNlbGVjdG9yLXBzZXVkbywKICAgICAgLmhsanMtbGluayB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZTM2MjA5IiwiI2ZmYTY1NyIpfTsKICAgICAgfQoKICAgICAgLmhsanMtYnVpbHRfaW4sCiAgICAgIC5obGpzLWRlbGV0aW9uIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNiMzFkMjgiLCIjZmZhMTk4Iil9OwogICAgICB9CgogICAgICAuaGxqcy1mb3JtdWxhIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3AuYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWVtcGhhc2lzIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5obGpzLXN0cm9uZyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KICAgIGBdO291dGxldDtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0ib3V0bGV0Ij4KICAgICAgICA8aDE+TWFya2Rvd24gUHJldmlldzwvaDE+CiAgICAgICAgPHA+Q29udGVudCB3aWxsIGFwcGVhciBoZXJlIHdoZW4gbWFya2Rvd24gaXMgcGFyc2VkLjwvcD4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZChzKXthd2FpdCBzdXBlci5maXJzdFVwZGF0ZWQocyksdGhpcy5vdXRsZXQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5vdXRsZXQiKX1hc3luYyB1cGRhdGVIdG1sVGV4dChzKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMub3V0bGV0fHwodGhpcy5vdXRsZXQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5vdXRsZXQiKSksdGhpcy5vdXRsZXQuaW5uZXJIVE1MPXN9c3RhdGlje0dKcihhLHIpfX07cmV0dXJuIG49YX0pKCl9KTt2YXIgZzVyPWYoKCk9PnttNXIoKX0pO3ZhciBiNXI9ZigoKT0+e0h1ZSgpfSk7dmFyIHY1cj1mKCgpPT57anVlKCl9KTt2YXIgeDVyPWYoKCk9PnthNXIoKTtpNXIoKTtuNXIoKTtvNXIoKTtsNXIoKTt1NXIoKTtnNXIoKTtiNXIoKTt2NXIoKX0pO3ZhciB5NXI9ZigoKT0+e30pO3ZhciB3NXI9ZigoKT0+e3k1cigpfSk7dmFyIE01cj1mKCgpPT57dWUoKX0pO3ZhciBrNXI9ZigoKT0+e001cigpfSk7dmFyIFM1cj1mKCgpPT57a3MoKTtRZSgpO3MwcigpO2IwcigpO0EwcigpO1YwcigpO2c0cigpO3g0cigpO18zcigpO2JkcigpO182cigpO0Y2cigpO3JPKCk7RXVyKCk7WHVyKCk7eDVyKCk7dzVyKCk7azVyKCl9KTt2YXIgejVyLEM1cj1mKCgpPT57ejVyPXtuYW1lOiJAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2ciLHZlcnNpb246IjMuNDMuMyIsZGVzY3JpcHRpb246IkEgY29tcHJlaGVuc2l2ZSBsaWJyYXJ5IHRoYXQgcHJvdmlkZXMgZHluYW1pYyB3ZWIgY29tcG9uZW50cyBmb3IgYnVpbGRpbmcgc29waGlzdGljYXRlZCBhbmQgbW9kZXJuIHdlYiBhcHBsaWNhdGlvbnMgdXNpbmcgSmF2YVNjcmlwdCBhbmQgVHlwZVNjcmlwdC4ifX0pO3ZhciBWdWU9e307UmUoVnVlLHtDYW52YXNQb29sOigpPT5EZixEZWVzQWN0aW9uYmFyOigpPT5VMHIsRGVlc0FwcHVpOigpPT5aY3IsRGVlc0FwcHVpQWN0aXZpdHlsb2c6KCk9PloycixEZWVzQXBwdWlCYXI6KCk9PmRscixEZWVzQXBwdWlCb3R0b21iYXI6KCk9PmhscixEZWVzQXBwdWlNYWluY29udGVudDooKT0+WWNyLERlZXNBcHB1aU1haW5tZW51OigpPT5IY3IsRGVlc0FwcHVpUHJvZmlsZURyb3Bkb3duOigpPT5jbHIsRGVlc0FwcHVpU2Vjb25kYXJ5bWVudTooKT0+VmNyLERlZXNBcHB1aVRhYnM6KCk9PkdjcixEZWVzQXVkaW9WaWV3ZXI6KCk9PlNkcixEZWVzQmFkZ2U6KCk9PlgwcixEZWVzQnV0dG9uOigpPT5QY3IsRGVlc0J1dHRvbkV4aXQ6KCk9PmMwcixEZWVzQnV0dG9uR3JvdXA6KCk9PmgwcixEZWVzQ2hhcnRBcmVhOigpPT56MHIsRGVlc0NoYXJ0TG9nOigpPT5MMHIsRGVlc0NoaXBzOigpPT5EM3IsRGVlc0NvbnRleHRtZW51OigpPT5NcixEZWVzRGFzaGJvYXJkZ3JpZDooKT0+WDNyLERlZXNEYXRhdmlld0NvZGVib3g6KCk9PlAwcixEZWVzRGF0YXZpZXdTdGF0dXNvYmplY3Q6KCk9PkIwcixEZWVzRm9ybTooKT0+QWNyLERlZXNGb3JtU3VibWl0OigpPT5iRixEZWVzRm9ybWF0dGluZ01lbnU6KCk9Pk9GLERlZXNIZWFkaW5nOigpPT5yZHIsRGVlc0hpbnQ6KCk9PnI0cixEZWVzSWNvbjooKT0+ajJyLERlZXNJbWFnZVZpZXdlcjooKT0+eWRyLERlZXNJbnB1dEJhc2U6KCk9Pm50LERlZXNJbnB1dENoZWNrYm94OigpPT5vRixEZWVzSW5wdXRDb2RlOigpPT51RixEZWVzSW5wdXREYXRlcGlja2VyOigpPT5wRixEZWVzSW5wdXREcm9wZG93bjooKT0+dkYsRGVlc0lucHV0RmlsZXVwbG9hZDooKT0+eUYsRGVlc0lucHV0SWJhbjooKT0+a0YsRGVlc0lucHV0TGlzdDooKT0+VDRyLERlZXNJbnB1dE11bHRpdG9nZ2xlOigpPT5TRixEZWVzSW5wdXRQaG9uZTooKT0+Q0YsRGVlc0lucHV0UHJvZmlsZVBpY3R1cmU6KCk9PlQzcixEZWVzSW5wdXRRdWFudGl0eVNlbGVjdG9yOigpPT5oRixEZWVzSW5wdXRSYWRpb2dyb3VwOigpPT5tRixEZWVzSW5wdXRSaWNodGV4dDooKT0+QjRyLERlZXNJbnB1dFRhZ3M6KCk9Pkc0cixEZWVzSW5wdXRUZXh0OigpPT5mRixEZWVzSW5wdXRUb2dnbGU6KCk9PlRGLERlZXNJbnB1dFR5cGVsaXN0OigpPT5fRixEZWVzSW5wdXRXeXNpd3lnOigpPT5WNmUsRGVlc0xhYmVsOigpPT5MbHIsRGVlc01vYmlsZW5hdmlnYXRpb246KCk9PmEwcixEZWVzTW9kYWw6KCk9PkdyLERlZXNQYWdpbmF0aW9uOigpPT5sZHIsRGVlc1BhbmVsOigpPT54bHIsRGVlc1BkZjooKT0+cWRyLERlZXNQZGZQcmV2aWV3OigpPT5aZHIsRGVlc1BkZlZpZXdlcjooKT0+SWRyLERlZXNQcmV2aWV3OigpPT5PZHIsRGVlc1Byb2dyZXNzYmFyOigpPT5sNHIsRGVlc1NlYXJjaGJhcjooKT0+T3VyLERlZXNTaG9wcGluZ1Byb2R1Y3RjYXJkOigpPT5IbHIsRGVlc1NpbXBsZUFwcERhc2g6KCk9PlN1cixEZWVzU2ltcGxlTG9naW46KCk9PiR1cixEZWVzU2xhc2hNZW51OigpPT5ORixEZWVzU3BlZWNoYnViYmxlOigpPT5FNnIsRGVlc1NwaW5uZXI6KCk9PmQ0cixEZWVzU3RhdHNHcmlkOigpPT5OY3IsRGVlc1N0ZXBwZXI6KCk9PmhkcixEZWVzVGFibGU6KCk9PiRGLERlZXNUaGVtZTooKT0+anVyLERlZXNUaWxlQXVkaW86KCk9PmM2cixEZWVzVGlsZUJhc2U6KCk9PnMxLERlZXNUaWxlRm9sZGVyOigpPT56NnIsRGVlc1RpbGVJbWFnZTooKT0+aTZyLERlZXNUaWxlTm90ZTooKT0+eDZyLERlZXNUaWxlUGRmOigpPT5xRixEZWVzVGlsZVZpZGVvOigpPT5oNnIsRGVlc1RvYXN0OigpPT5tcixEZWVzVXBkYXRlcjooKT0+YU8sRGVlc1ZpZGVvVmlld2VyOigpPT5fZHIsRGVlc1dpbmRvd0NvbnRyb2xzOigpPT5sbHIsRGVlc1dpbmRvd0xheWVyOigpPT5PcyxEZWVzV29ya3NwYWNlOigpPT50NXIsRGVlc1dvcmtzcGFjZUJvdHRvbWJhcjooKT0+S3VyLERlZXNXb3Jrc3BhY2VEaWZmRWRpdG9yOigpPT5lNXIsRGVlc1dvcmtzcGFjZUZpbGV0cmVlOigpPT5RdXIsRGVlc1dvcmtzcGFjZU1hcmtkb3duOigpPT5jNXIsRGVlc1dvcmtzcGFjZU1hcmtkb3dub3V0bGV0OigpPT5oNXIsRGVlc1dvcmtzcGFjZU1vbmFjbzooKT0+JGxyLERlZXNXb3Jrc3BhY2VUZXJtaW5hbDooKT0+QXVlLERlZXNXb3Jrc3BhY2VUZXJtaW5hbFByZXZpZXc6KCk9Pkp1cixEZWVzV3lzaXd5Z0Jsb2NrOigpPT55M3IsUFJPR1JBTU1JTkdfTEFOR1VBR0VTOigpPT5qYixQZGZNYW5hZ2VyOigpPT5mbCxQZXJmb3JtYW5jZU1vbml0b3I6KCk9PkFmLFRlcm1pbmFsVGFiTWFuYWdlcjooKT0+bXYsVHlwZVNjcmlwdEludGVsbGlTZW5zZU1hbmFnZXI6KCk9Pnl2LFZpZXdSZWdpc3RyeTooKT0+T2IsV2ViQ29udGFpbmVyRW52aXJvbm1lbnQ6KCk9PmJ1LFd5c2l3eWdCbG9ja09wZXJhdGlvbnM6KCk9PlZiLFd5c2l3eWdCbG9ja3M6KCk9PnJuLFd5c2l3eWdDb252ZXJ0ZXJzOigpPT5WcyxXeXNpd3lnRHJhZ0Ryb3BIYW5kbGVyOigpPT5pdixXeXNpd3lnRm9ybWF0dGluZzooKT0+UGMsV3lzaXd5Z0hpc3Rvcnk6KCk9Pm52LFd5c2l3eWdJbnB1dEhhbmRsZXI6KCk9PnJ2LFd5c2l3eWdLZXlib2FyZEhhbmRsZXI6KCk9PmF2LFd5c2l3eWdNb2RhbE1hbmFnZXI6KCk9PnR2LFd5c2l3eWdTZWxlY3Rpb246KCk9PlllLFd5c2l3eWdTaG9ydGN1dHM6KCk9PlphLFpJbmRleFJlZ2lzdHJ5OigpPT5ZUyxjb2xvcnM6KCk9Plk2LGNvbW1pdGluZm86KCk9Pno1cixjb21wb25lbnRaSW5kZXg6KCk9PkFMcixkZWJvdW5jZTooKT0+ZEpyLGZvcm1hdEZpbGVTaXplOigpPT5wSnIsZ2V0WkluZGV4OigpPT5ETHIsaWNvbnM6KCk9PmlGLGlzSW5WaWV3cG9ydDooKT0+ZkpyLHJlZ2lzdGVyQWxsQmxvY2tIYW5kbGVyczooKT0+bTNyLHRoZW1lRGVmYXVsdFN0eWxlczooKT0+RGUsdGhlbWVEZWZhdWx0czooKT0+SDQsdGhyb3R0bGU6KCk9PnVKcix0aWxlQmFzZVN0eWxlczooKT0+Um4sd3lzaXd5Z1N0eWxlczooKT0+TjZlLHpJbmRleExheWVyczooKT0+bWksekluZGV4UmVnaXN0cnk6KCk9PnJhfSk7dmFyIFV1ZT1mKCgpPT57UzVyKCk7QnMoKTtDNXIoKX0pO3ZhciBCZixHbyxZSnIsSGY9ZigoKT0+e3VlKCk7QmY9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxHbz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sWUpyPSgoKT0+e2xldCBlPVtyZSgic3otc3RhdC1jYXJkIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W107dmFyIFI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBDPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W0Yoe3R5cGU6U3RyaW5nfSldLHY9W0Yoe3R5cGU6U3RyaW5nfSldLHk9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxCZih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4ibGFiZWwiaW4gUyxnZXQ6Uz0+Uy5sYWJlbCxzZXQ6KFMsTyk9PntTLmxhYmVsPU99fSxtZXRhZGF0YTpDfSxzLG8pLEJmKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJ2YWx1ZSJpbiBTLGdldDpTPT5TLnZhbHVlLHNldDooUyxPKT0+e1MudmFsdWU9T319LG1ldGFkYXRhOkN9LGwsdSksQmYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4iaWNvbiJpbiBTLGdldDpTPT5TLmljb24sc2V0OihTLE8pPT57Uy5pY29uPU99fSxtZXRhZGF0YTpDfSxoLG0pLEJmKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFyaWFudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Uz0+InZhcmlhbnQiaW4gUyxnZXQ6Uz0+Uy52YXJpYW50LHNldDooUyxPKT0+e1MudmFyaWFudD1PfX0sbWV0YWRhdGE6Q30sYixnKSxCZih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlQmFkZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJ2YWx1ZUJhZGdlImluIFMsZ2V0OlM9PlMudmFsdWVCYWRnZSxzZXQ6KFMsTyk9PntTLnZhbHVlQmFkZ2U9T319LG1ldGFkYXRhOkN9LHcsayksQmYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Q30sbnVsbCxyKSxSPWE9dC52YWx1ZSxDJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkN9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgbGFiZWw9IlRvdGFsIFNlcnZpY2VzIgogICAgICAgIHZhbHVlPSI3IgogICAgICAgIGljb249InNlcnZlciIKICAgICAgPjwvc3otc3RhdC1jYXJkPgogICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgbGFiZWw9IlJ1bm5pbmciCiAgICAgICAgdmFsdWU9IjciCiAgICAgICAgaWNvbj0iY2hlY2siCiAgICAgICAgdmFyaWFudD0ic3VjY2VzcyIKICAgICAgPjwvc3otc3RhdC1jYXJkPgogICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgbGFiZWw9IlN0b3BwZWQiCiAgICAgICAgdmFsdWU9IjAiCiAgICAgICAgaWNvbj0ic3RvcCIKICAgICAgPjwvc3otc3RhdC1jYXJkPgogICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgbGFiZWw9IkRvY2tlciIKICAgICAgICB2YWx1ZT0iUnVubmluZyIKICAgICAgICBpY29uPSJjb250YWluZXIiCiAgICAgICAgdmFyaWFudD0ic3VjY2VzcyIKICAgICAgICB2YWx1ZUJhZGdlCiAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1Hbyh0aGlzLHMsIiIpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNlfXNldCBsYWJlbChDKXt0aGlzLiNlPUN9I3Q9KEdvKHRoaXMsbyksR28odGhpcyxsLCIiKSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZhbHVlKEMpe3RoaXMuI3Q9Q30jcj0oR28odGhpcyx1KSxHbyh0aGlzLGgsIiIpKTtnZXQgaWNvbigpe3JldHVybiB0aGlzLiNyfXNldCBpY29uKEMpe3RoaXMuI3I9Q30jYT0oR28odGhpcyxtKSxHbyh0aGlzLGIsImRlZmF1bHQiKSk7Z2V0IHZhcmlhbnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdmFyaWFudChDKXt0aGlzLiNhPUN9I2k9KEdvKHRoaXMsZyksR28odGhpcyx3LCExKSk7Z2V0IHZhbHVlQmFkZ2UoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdmFsdWVCYWRnZShDKXt0aGlzLiNpPUN9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuY2FyZDpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCAke3AuYmRUaGVtZSgicmdiYSgwLDAsMCwwLjA1KSIsInJnYmEoMCwwLDAsMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmljb24gewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMjhweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgfQoKICAgICAgLnZhbHVlLnN1Y2Nlc3MgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC52YWx1ZS53YXJuaW5nIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNjYThhMDQiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICAudmFsdWUuZXJyb3IgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgQz10aGlzLnZhbHVlQmFkZ2U/YGJhZGdlICR7dGhpcy52YXJpYW50fWA6YHZhbHVlICR7dGhpcy52YXJpYW50fWA7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwiPiR7dGhpcy5sYWJlbH08L3NwYW4+CiAgICAgICAgICAke3RoaXMucmVuZGVySWNvbigpfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IiR7Q30iPiR7dGhpcy52YWx1ZX08L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckljb24oKXtyZXR1cm57c2VydmVyOk1gPHN2ZyBjbGFzcz0iaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48cmVjdCB4PSIyIiB5PSIxNCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjYuMDEiIHkyPSI2Ij48L2xpbmU+PGxpbmUgeDE9IjYiIHkxPSIxOCIgeDI9IjYuMDEiIHkyPSIxOCI+PC9saW5lPjwvc3ZnPmAsY2hlY2s6TWA8c3ZnIGNsYXNzPSJpY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBvbHlsaW5lIHBvaW50cz0iMjAgNiA5IDE3IDQgMTIiPjwvcG9seWxpbmU+PC9zdmc+YCxzdG9wOk1gPHN2ZyBjbGFzcz0iaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT48bGluZSB4MT0iMTAiIHkxPSIxNSIgeDI9IjEwIiB5Mj0iOSI+PC9saW5lPjxsaW5lIHgxPSIxNCIgeTE9IjE1IiB4Mj0iMTQiIHkyPSI5Ij48L2xpbmU+PC9zdmc+YCxjb250YWluZXI6TWA8c3ZnIGNsYXNzPSJpY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2eiI+PC9wYXRoPjwvc3ZnPmB9W3RoaXMuaWNvbl18fE1gYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksR28odGhpcyxrKX1zdGF0aWN7R28oYSxyKX19O3JldHVybiBSPWF9KSgpfSk7dmFyIFd1ZSxNdixaSnIsR3VlPWYoKCk9Pnt1ZSgpO1d1ZT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LE12PWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxaSnI9KCgpPT57bGV0IGU9W3JlKCJzei1yZXNvdXJjZS11c2FnZS1jYXJkIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBoPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6T2JqZWN0fSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLFd1ZSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJkYXRhImluIG0sZ2V0Om09Pm0uZGF0YSxzZXQ6KG0sdik9PnttLmRhdGE9dn19LG1ldGFkYXRhOmh9LHMsbyksV3VlKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VydmljZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4ic2VydmljZUNvdW50ImluIG0sZ2V0Om09Pm0uc2VydmljZUNvdW50LHNldDoobSx2KT0+e20uc2VydmljZUNvdW50PXZ9fSxtZXRhZGF0YTpofSxsLHUpLFd1ZShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA4MDBweDsiPgogICAgICA8c3otcmVzb3VyY2UtdXNhZ2UtY2FyZAogICAgICAgIC5kYXRhPSR7e2NwdTouNSxtZW1vcnlVc2VkOiIxOTEgTUIiLG1lbW9yeVRvdGFsOiI0MjkuMiBHQiIsbmV0d29ya0luOiIzOC45IEtCL3MiLG5ldHdvcmtPdXQ6IjEuNyBLQi9zIix0b3BDb25zdW1lcnM6W3tuYW1lOiJ0ZXN0LW5naW54IixtZW1vcnk6IjMyLjEgTUIifSx7bmFtZToidGVzdC12MiIsbWVtb3J5OiIzMS43IE1CIn1dfX0KICAgICAgICBzZXJ2aWNlQ291bnQ9IjciCiAgICAgID48L3N6LXJlc291cmNlLXVzYWdlLWNhcmQ+CiAgICA8L2Rpdj4KICBgO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIl07I2U9TXYodGhpcyxzLHtjcHU6MCxtZW1vcnlVc2VkOiIwIE1CIixtZW1vcnlUb3RhbDoiMCBHQiIsbmV0d29ya0luOiIwIEtCL3MiLG5ldHdvcmtPdXQ6IjAgS0IvcyIsdG9wQ29uc3VtZXJzOltdfSk7Z2V0IGRhdGEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YShoKXt0aGlzLiNlPWh9I3Q9KE12KHRoaXMsbyksTXYodGhpcyxsLCIwIikpO2dldCBzZXJ2aWNlQ291bnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VydmljZUNvdW50KGgpe3RoaXMuI3Q9aH1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC52aWV3LWFsbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLnZpZXctYWxsOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLm1ldHJpY3MgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubWV0cmljLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLm1ldHJpYy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1iYXIgewogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5uZXR3b3JrLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLm5ldHdvcmstaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAubmV0d29yay1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5uZXR3b3JrLWljb24uZG93biB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLm5ldHdvcmstaWNvbi51cCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnRvcC1jb25zdW1lcnMgewogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuY29uc3VtZXJzLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7CiAgICAgIH0KCiAgICAgIC5jb25zdW1lcnMtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuY29uc3VtZXItaXRlbSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jb25zdW1lci1uYW1lIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5SZXNvdXJjZSBVc2FnZTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+QWdncmVnYXRlZCBhY3Jvc3MgJHt0aGlzLnNlcnZpY2VDb3VudH0gc2VydmljZXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGEgY2xhc3M9InZpZXctYWxsIj5WaWV3IEFsbDwvYT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWhlYWRlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+Q1BVPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5kYXRhLmNwdS50b0ZpeGVkKDEpfSU8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwiIHN0eWxlPSJ3aWR0aDogJHtNYXRoLm1pbih0aGlzLmRhdGEuY3B1LDEwMCl9JSI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1oZWFkZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPk1lbW9yeTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZGF0YS5tZW1vcnlVc2VkfSAvICR7dGhpcy5kYXRhLm1lbW9yeVRvdGFsfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCIgc3R5bGU9IndpZHRoOiAke3RoaXMuY2FsY3VsYXRlTWVtb3J5UGVyY2VudCgpfSUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtaGVhZGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5OZXR3b3JrPC9zcGFuPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5ldHdvcmstcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuZXR3b3JrLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJuZXR3b3JrLWljb24gZG93biIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgNXYxNE0xOSAxMmwtNyA3LTctNyIvPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmRhdGEubmV0d29ya0lufQogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5ldHdvcmstaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im5ldHdvcmstaWNvbiB1cCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTlWNU01IDEybDctNyA3IDciLz4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5kYXRhLm5ldHdvcmtPdXR9CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgICR7dGhpcy5kYXRhLnRvcENvbnN1bWVycy5sZW5ndGg+MD9NYAogICAgICAgICAgPGRpdiBjbGFzcz0idG9wLWNvbnN1bWVycyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN1bWVycy1sYWJlbCI+VG9wIGNvbnN1bWVyczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25zdW1lcnMtbGlzdCI+CiAgICAgICAgICAgICAgJHt0aGlzLmRhdGEudG9wQ29uc3VtZXJzLm1hcChoPT5NYAogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29uc3VtZXItaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnN1bWVyLW5hbWUiPiR7aC5uYW1lfTo8L3NwYW4+ICR7aC5tZW1vcnl9CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1jYWxjdWxhdGVNZW1vcnlQZXJjZW50KCl7bGV0IGg9cGFyc2VGbG9hdCh0aGlzLmRhdGEubWVtb3J5VXNlZCksbT1wYXJzZUZsb2F0KHRoaXMuZGF0YS5tZW1vcnlUb3RhbCk7cmV0dXJuIG09PT0wPzA6TWF0aC5taW4oaC9tKjEwMCwxMDApfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxNdih0aGlzLHUpfXN0YXRpY3tNdihhLHIpfX07cmV0dXJuIGQ9YX0pKCl9KTt2YXIgVDVyLFl1ZSxYSnIsWnVlPWYoKCk9Pnt1ZSgpO1Q1cj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFl1ZT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sWEpyPSgoKT0+e2xldCBlPVtyZSgic3otdHJhZmZpYy1jYXJkIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6T2JqZWN0fSldLFQ1cih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJkYXRhImluIHUsZ2V0OnU9PnUuZGF0YSxzZXQ6KHUsZCk9Pnt1LmRhdGE9ZH19LG1ldGFkYXRhOmx9LHMsbyksVDVyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDUwMHB4OyI+CiAgICAgIDxzei10cmFmZmljLWNhcmQKICAgICAgICAuZGF0YT0ke3tyZXF1ZXN0czoxMjUwLGVycm9yczoxNSxlcnJvclBlcmNlbnQ6MS4yLGF2Z1Jlc3BvbnNlOjE0NSxyZXFQZXJNaW46MjEsc3RhdHVzMnh4Ojg1LHN0YXR1czN4eDo1LHN0YXR1czR4eDo4LHN0YXR1czV4eDoyfX0KICAgICAgPjwvc3otdHJhZmZpYy1jYXJkPgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCJdOyNlPVl1ZSh0aGlzLHMse3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0pO2dldCBkYXRhKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRhdGEobCl7dGhpcy4jZT1sfXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLm1ldHJpY3MgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLm1ldHJpYyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAubWV0cmljLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLm1ldHJpYy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYXItY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAuc3RhdHVzLXNlZ21lbnQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc3RhdHVzLTJ4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLTN4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLTR4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmYWNjMTUiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLTV4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWxlZ2VuZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5sZWdlbmQtaXRlbSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBsPXRoaXMuZGF0YS5zdGF0dXMyeHgrdGhpcy5kYXRhLnN0YXR1czN4eCt0aGlzLmRhdGEuc3RhdHVzNHh4K3RoaXMuZGF0YS5zdGF0dXM1eHgsdT1sPjA/dGhpcy5kYXRhLnN0YXR1czJ4eC9sKjEwMDowLGQ9bD4wP3RoaXMuZGF0YS5zdGF0dXMzeHgvbCoxMDA6MCxoPWw+MD90aGlzLmRhdGEuc3RhdHVzNHh4L2wqMTAwOjAsbT1sPjA/dGhpcy5kYXRhLnN0YXR1czV4eC9sKjEwMDowO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlRyYWZmaWMgKExhc3QgSG91cik8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5SZXF1ZXN0IG1ldHJpY3MgZnJvbSBhY2Nlc3MgbG9nczwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWNzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPlJlcXVlc3RzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZm9ybWF0TnVtYmVyKHRoaXMuZGF0YS5yZXF1ZXN0cyl9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5FcnJvcnM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5kYXRhLmVycm9yc30gKCR7dGhpcy5kYXRhLmVycm9yUGVyY2VudH0lKTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+QXZnIFJlc3BvbnNlPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZGF0YS5hdmdSZXNwb25zZX1tczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+UmVxL21pbjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLmRhdGEucmVxUGVyTWlufTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFyLWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLXNlZ21lbnQgc3RhdHVzLTJ4eCIgc3R5bGU9IndpZHRoOiAke3V9JSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1zZWdtZW50IHN0YXR1cy0zeHgiIHN0eWxlPSJ3aWR0aDogJHtkfSUiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtc2VnbWVudCBzdGF0dXMtNHh4IiBzdHlsZT0id2lkdGg6ICR7aH0lIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLXNlZ21lbnQgc3RhdHVzLTV4eCIgc3R5bGU9IndpZHRoOiAke219JSI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1sZWdlbmQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWl0ZW0iPjJ4eDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1pdGVtIj4zeHg8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsZWdlbmQtaXRlbSI+NHh4PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWl0ZW0iPjV4eDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zm9ybWF0TnVtYmVyKGwpe3JldHVybiBsPj0xZTY/KGwvMWU2KS50b0ZpeGVkKDEpKyJNIjpsPj0xZTM/KGwvMWUzKS50b0ZpeGVkKDEpKyJLIjpsLnRvU3RyaW5nKCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFl1ZSh0aGlzLG8pfXN0YXRpY3tZdWUoYSxyKX19O3JldHVybiBjPWF9KSgpfSk7dmFyIF81cixYdWUsUUpyLFF1ZT1mKCgpPT57dWUoKTtfNXI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxYdWU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LFFKcj0oKCk9PntsZXQgZT1bcmUoInN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXTt2YXIgYz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGw9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpBcnJheX0pXSxfNXIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dT0+InNlcnZpY2VzImluIHUsZ2V0OnU9PnUuc2VydmljZXMsc2V0Oih1LGQpPT57dS5zZXJ2aWNlcz1kfX0sbWV0YWRhdGE6bH0scyxvKSxfNXIobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6bH0sbnVsbCxyKSxjPWE9dC52YWx1ZSxsJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmx9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogNTAwcHg7Ij4KICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQKICAgICAgICAuc2VydmljZXM9JHtbe25hbWU6Ik1vbmdvREIiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH0se25hbWU6IlMzIFN0b3JhZ2UgKE1pbklPKSIsc3RhdHVzOiIxIGJ1Y2tldCIscnVubmluZzohMH0se25hbWU6IkNhZGR5IFJldmVyc2UgUHJveHkiLHN0YXR1czoiUnVubmluZyIscnVubmluZzohMH0se25hbWU6IkNsaWNrSG91c2UiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH1dfQogICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkPgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIlBsYXRmb3JtIl07I2U9WHVlKHRoaXMscyxbXSk7Z2V0IHNlcnZpY2VzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNlcnZpY2VzKGwpe3RoaXMuI2U9bH1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlcy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuc2VydmljZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWl0ZW06aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbGVmdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdC5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDZweCAke3AuYmRUaGVtZSgicmdiYSgzNCwgMTk3LCA5NCwgMC40KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuNCkiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90LnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2Utc3RhdHVzIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+UGxhdGZvcm0gU2VydmljZXM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5JbmZyYXN0cnVjdHVyZSBzdGF0dXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtbGlzdCI+CiAgICAgICAgICAke3RoaXMuc2VydmljZXMubWFwKGw9Pk1gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1pdGVtIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTZXJ2aWNlQ2xpY2sobCl9PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLWRvdCAke2wucnVubmluZz8icnVubmluZyI6InN0b3BwZWQifSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLW5hbWUiPiR7bC5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlcnZpY2Utc3RhdHVzIj4ke2wuc3RhdHVzfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVTZXJ2aWNlQ2xpY2sobCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1jbGljayIse2RldGFpbDpsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFh1ZSh0aGlzLG8pfXN0YXRpY3tYdWUoYSxyKX19O3JldHVybiBjPWF9KSgpfSk7dmFyIG5PLHl1LEpKcixKdWU9ZigoKT0+e3VlKCk7bk89ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSx5dT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sSkpyPSgoKT0+e2xldCBlPVtyZSgic3otY2VydGlmaWNhdGVzLWNhcmQiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXTt2YXIgdj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpOdW1iZXJ9KV0sYz1bRih7dHlwZTpOdW1iZXJ9KV0sZD1bRih7dHlwZTpOdW1iZXJ9KV0sbk8odGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4idmFsaWRDb3VudCJpbiBnLGdldDpnPT5nLnZhbGlkQ291bnQsc2V0OihnLHkpPT57Zy52YWxpZENvdW50PXl9fSxtZXRhZGF0YTpifSxzLG8pLG5PKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhwaXJpbmdDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+ImV4cGlyaW5nQ291bnQiaW4gZyxnZXQ6Zz0+Zy5leHBpcmluZ0NvdW50LHNldDooZyx5KT0+e2cuZXhwaXJpbmdDb3VudD15fX0sbWV0YWRhdGE6Yn0sbCx1KSxuTyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4cGlyZWRDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+ImV4cGlyZWRDb3VudCJpbiBnLGdldDpnPT5nLmV4cGlyZWRDb3VudCxzZXQ6KGcseSk9PntnLmV4cGlyZWRDb3VudD15fX0sbWV0YWRhdGE6Yn0saCxtKSxuTyhudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpifSxudWxsLHIpLHY9YT10LnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgZGlzcGxheTogZmxleDsgZ2FwOiAxNnB4OyBmbGV4LXdyYXA6IHdyYXA7Ij4KICAgICAgPHN6LWNlcnRpZmljYXRlcy1jYXJkIHZhbGlkQ291bnQ9IjIiPjwvc3otY2VydGlmaWNhdGVzLWNhcmQ+CiAgICAgIDxzei1jZXJ0aWZpY2F0ZXMtY2FyZCB2YWxpZENvdW50PSI1IiBleHBpcmluZ0NvdW50PSIyIj48L3N6LWNlcnRpZmljYXRlcy1jYXJkPgogICAgICA8c3otY2VydGlmaWNhdGVzLWNhcmQgdmFsaWRDb3VudD0iMCIgZXhwaXJlZENvdW50PSIxIj48L3N6LWNlcnRpZmljYXRlcy1jYXJkPgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT15dSh0aGlzLHMsMCk7Z2V0IHZhbGlkQ291bnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsaWRDb3VudChiKXt0aGlzLiNlPWJ9I3Q9KHl1KHRoaXMsbykseXUodGhpcyxsLDApKTtnZXQgZXhwaXJpbmdDb3VudCgpe3JldHVybiB0aGlzLiN0fXNldCBleHBpcmluZ0NvdW50KGIpe3RoaXMuI3Q9Yn0jcj0oeXUodGhpcyx1KSx5dSh0aGlzLGgsMCkpO2dldCBleHBpcmVkQ291bnQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgZXhwaXJlZENvdW50KGIpe3RoaXMuI3I9Yn1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLnN0YXR1cyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc3RhdHVzLWljb24gewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uLnZhbGlkIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWljb24ud2FybmluZyB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZmFjYzE1IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uLmVycm9yIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+Q2VydGlmaWNhdGVzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+U1NML1RMUyBjZXJ0aWZpY2F0ZSBzdGF0dXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLWxpc3QiPgogICAgICAgICAgJHt0aGlzLnZhbGlkQ291bnQ+MD9NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9InN0YXR1cy1pY29uIHZhbGlkIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjAgNiA5IDE3IDQgMTIiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij4ke3RoaXMudmFsaWRDb3VudH0gdmFsaWQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KCiAgICAgICAgICAke3RoaXMuZXhwaXJpbmdDb3VudD4wP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cyI+CiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic3RhdHVzLWljb24gd2FybmluZyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMC4yOSAzLjg2TDEuODIgMThhMiAyIDAgMCAwIDEuNzEgM2gxNi45NGEyIDIgMCAwIDAgMS43MS0zTDEzLjcxIDMuODZhMiAyIDAgMCAwLTMuNDIgMHoiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjkiIHgyPSIxMiIgeTI9IjEzIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxNyIgeDI9IjEyLjAxIiB5Mj0iMTciPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLXRleHQiPiR7dGhpcy5leHBpcmluZ0NvdW50fSBleHBpcmluZyBzb29uPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgJHt0aGlzLmV4cGlyZWRDb3VudD4wP01gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cyI+CiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic3RhdHVzLWljb24gZXJyb3IiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTUiIHkxPSI5IiB4Mj0iOSIgeTI9IjE1Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iOSIgeTE9IjkiIHgyPSIxNSIgeTI9IjE1Ij48L2xpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij4ke3RoaXMuZXhwaXJlZENvdW50fSBleHBpcmVkPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgJHt0aGlzLnZhbGlkQ291bnQ9PT0wJiZ0aGlzLmV4cGlyaW5nQ291bnQ9PT0wJiZ0aGlzLmV4cGlyZWRDb3VudD09PTA/TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLXRleHQiPk5vIGNlcnRpZmljYXRlczwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHl1KHRoaXMsbSl9c3RhdGlje3l1KGEscil9fTtyZXR1cm4gdj1hfSkoKX0pO3ZhciBxZixZbyxLSnIsS3VlPWYoKCk9Pnt1ZSgpO3FmPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sWW89ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LEtKcj0oKCk9PntsZXQgZT1bcmUoInN6LXJldmVyc2UtcHJveHktY2FyZCIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdO3ZhciBSPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgQz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOlN0cmluZ30pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKHt0eXBlOkJvb2xlYW59KV0sdj1bRih7dHlwZTpCb29sZWFufSldLHk9W0Yoe3R5cGU6U3RyaW5nfSldLHFmKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaHR0cFBvcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJodHRwUG9ydCJpbiBTLGdldDpTPT5TLmh0dHBQb3J0LHNldDooUyxPKT0+e1MuaHR0cFBvcnQ9T319LG1ldGFkYXRhOkN9LHMsbykscWYodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwc1BvcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJodHRwc1BvcnQiaW4gUyxnZXQ6Uz0+Uy5odHRwc1BvcnQsc2V0OihTLE8pPT57Uy5odHRwc1BvcnQ9T319LG1ldGFkYXRhOkN9LGwsdSkscWYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwQWN0aXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4iaHR0cEFjdGl2ZSJpbiBTLGdldDpTPT5TLmh0dHBBY3RpdmUsc2V0OihTLE8pPT57Uy5odHRwQWN0aXZlPU99fSxtZXRhZGF0YTpDfSxoLG0pLHFmKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaHR0cHNBY3RpdmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlM9PiJodHRwc0FjdGl2ZSJpbiBTLGdldDpTPT5TLmh0dHBzQWN0aXZlLHNldDooUyxPKT0+e1MuaHR0cHNBY3RpdmU9T319LG1ldGFkYXRhOkN9LGIsZykscWYodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpTPT4icm91dGVDb3VudCJpbiBTLGdldDpTPT5TLnJvdXRlQ291bnQsc2V0OihTLE8pPT57Uy5yb3V0ZUNvdW50PU99fSxtZXRhZGF0YTpDfSx3LGspLHFmKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOkN9LG51bGwsciksUj1hPXQudmFsdWUsQyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpDfSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDQwMHB4OyI+CiAgICAgIDxzei1yZXZlcnNlLXByb3h5LWNhcmQKICAgICAgICBodHRwUG9ydD0iODA4MCIKICAgICAgICBodHRwc1BvcnQ9Ijg0NDMiCiAgICAgICAgaHR0cEFjdGl2ZQogICAgICAgIGh0dHBzQWN0aXZlCiAgICAgICAgcm91dGVDb3VudD0iMyIKICAgICAgPjwvc3otcmV2ZXJzZS1wcm94eS1jYXJkPgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1Zbyh0aGlzLHMsIjgwIik7Z2V0IGh0dHBQb3J0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGh0dHBQb3J0KEMpe3RoaXMuI2U9Q30jdD0oWW8odGhpcyxvKSxZbyh0aGlzLGwsIjQ0MyIpKTtnZXQgaHR0cHNQb3J0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGh0dHBzUG9ydChDKXt0aGlzLiN0PUN9I3I9KFlvKHRoaXMsdSksWW8odGhpcyxoLCExKSk7Z2V0IGh0dHBBY3RpdmUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgaHR0cEFjdGl2ZShDKXt0aGlzLiNyPUN9I2E9KFlvKHRoaXMsbSksWW8odGhpcyxiLCExKSk7Z2V0IGh0dHBzQWN0aXZlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGh0dHBzQWN0aXZlKEMpe3RoaXMuI2E9Q30jaT0oWW8odGhpcyxnKSxZbyh0aGlzLHcsIjAiKSk7Z2V0IHJvdXRlQ291bnQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgcm91dGVDb3VudChDKXt0aGlzLiNpPUN9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuaXRlbXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuaXRlbS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5pdGVtLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmJhZGdlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS5pbmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlJldmVyc2UgUHJveHk8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5IVFRQL0hUVFBTIHByb3h5IHN0YXR1czwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbGFiZWwiPkhUVFAgKCR7dGhpcy5odHRwUG9ydH0pPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHt0aGlzLmh0dHBBY3RpdmU/ImFjdGl2ZSI6ImluYWN0aXZlIn0iPgogICAgICAgICAgICAgICR7dGhpcy5odHRwQWN0aXZlPyJBY3RpdmUiOiJJbmFjdGl2ZSJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5IVFRQUyAoJHt0aGlzLmh0dHBzUG9ydH0pPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHt0aGlzLmh0dHBzQWN0aXZlPyJhY3RpdmUiOiJpbmFjdGl2ZSJ9Ij4KICAgICAgICAgICAgICAke3RoaXMuaHR0cHNBY3RpdmU/IkFjdGl2ZSI6IkluYWN0aXZlIn0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbGFiZWwiPlJvdXRlczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdmFsdWUiPiR7dGhpcy5yb3V0ZUNvdW50fTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFlvKHRoaXMsayl9c3RhdGlje1lvKGEscil9fTtyZXR1cm4gUj1hfSkoKX0pO3ZhciBlNWUsa3YsZUtyLHQ1ZT1mKCgpPT57dWUoKTtlNWU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxrdj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sZUtyPSgoKT0+e2xldCBlPVtyZSgic3otZG5zLXNzbC1jYXJkIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBoPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6Qm9vbGVhbn0pXSxjPVtGKHt0eXBlOkJvb2xlYW59KV0sZTVlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+ImRuc0NvbmZpZ3VyZWQiaW4gbSxnZXQ6bT0+bS5kbnNDb25maWd1cmVkLHNldDoobSx2KT0+e20uZG5zQ29uZmlndXJlZD12fX0sbWV0YWRhdGE6aH0scyxvKSxlNWUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY21lQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+ImFjbWVDb25maWd1cmVkImluIG0sZ2V0Om09Pm0uYWNtZUNvbmZpZ3VyZWQsc2V0OihtLHYpPT57bS5hY21lQ29uZmlndXJlZD12fX0sbWV0YWRhdGE6aH0sbCx1KSxlNWUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6aH0sbnVsbCxyKSxkPWE9dC52YWx1ZSxoJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmh9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogNDAwcHg7Ij4KICAgICAgPHN6LWRucy1zc2wtY2FyZAogICAgICAgIGRuc0NvbmZpZ3VyZWQKICAgICAgICBhY21lQ29uZmlndXJlZAogICAgICA+PC9zei1kbnMtc3NsLWNhcmQ+CiAgICA8L2Rpdj4KICBgO3N0YXRpYyBkZW1vR3JvdXBzPVsiTmV0d29yayJdOyNlPWt2KHRoaXMscywhMSk7Z2V0IGRuc0NvbmZpZ3VyZWQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZG5zQ29uZmlndXJlZChoKXt0aGlzLiNlPWh9I3Q9KGt2KHRoaXMsbyksa3YodGhpcyxsLCExKSk7Z2V0IGFjbWVDb25maWd1cmVkKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGFjbWVDb25maWd1cmVkKGgpe3RoaXMuI3Q9aH1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5pdGVtcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTBweDsKICAgICAgfQoKICAgICAgLml0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5pdGVtLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmJhZGdlLmNvbmZpZ3VyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLm5vdC1jb25maWd1cmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+RE5TICYgU1NMPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+Q29uZmlndXJhdGlvbiBzdGF0dXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaXRlbXMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5DbG91ZGZsYXJlIEROUzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5kbnNDb25maWd1cmVkPyJjb25maWd1cmVkIjoibm90LWNvbmZpZ3VyZWQifSI+CiAgICAgICAgICAgICAgJHt0aGlzLmRuc0NvbmZpZ3VyZWQ/IkNvbmZpZ3VyZWQiOiJOb3QgY29uZmlndXJlZCJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5BQ01FIChMZXQncyBFbmNyeXB0KTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5hY21lQ29uZmlndXJlZD8iY29uZmlndXJlZCI6Im5vdC1jb25maWd1cmVkIn0iPgogICAgICAgICAgICAgICR7dGhpcy5hY21lQ29uZmlndXJlZD8iQ29uZmlndXJlZCI6Ik5vdCBjb25maWd1cmVkIn0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksa3YodGhpcyx1KX1zdGF0aWN7a3YoYSxyKX19O3JldHVybiBkPWF9KSgpfSk7dmFyIEw1cixyNWUsdEtyLGE1ZT1mKCgpPT57dWUoKTtMNXI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxyNWU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LHRLcj0oKCk9PntsZXQgZT1bcmUoInN6LXF1aWNrLWFjdGlvbnMtY2FyZCIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdO3ZhciBjPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgbD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOkFycmF5fSldLEw1cih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJhY3Rpb25zImluIHUsZ2V0OnU9PnUuYWN0aW9ucyxzZXQ6KHUsZCk9Pnt1LmFjdGlvbnM9ZH19LG1ldGFkYXRhOmx9LHMsbyksTDVyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1xdWljay1hY3Rpb25zLWNhcmQKICAgICAgICAuYWN0aW9ucz0ke1t7bGFiZWw6IkRlcGxveSBTZXJ2aWNlIixpY29uOiJwbHVzIixwcmltYXJ5OiEwfSx7bGFiZWw6IlZpZXcgQWxsIFNlcnZpY2VzIn0se2xhYmVsOiJQbGF0Zm9ybSBTZXJ2aWNlcyJ9LHtsYWJlbDoiTWFuYWdlIERvbWFpbnMifV19CiAgICAgID48L3N6LXF1aWNrLWFjdGlvbnMtY2FyZD4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1yNWUodGhpcyxzLFtdKTtnZXQgYWN0aW9ucygpe3JldHVybiB0aGlzLiNlfXNldCBhY3Rpb25zKGwpe3RoaXMuI2U9bH1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzFkNGVkOCIsIiMyNTYzZWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlF1aWNrIEFjdGlvbnM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5Db21tb24gdGFza3MgYW5kIHNob3J0Y3V0czwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICAgICR7dGhpcy5hY3Rpb25zLm1hcChsPT5NYAogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJhY3Rpb24tYnV0dG9uICR7bC5wcmltYXJ5PyJwcmltYXJ5Ijoic2Vjb25kYXJ5In0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb25DbGljayhsKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke2wuaWNvbj09PSJwbHVzIj9NYAogICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJhY3Rpb24taWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICR7bC5sYWJlbH0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVBY3Rpb25DbGljayhsKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhY3Rpb24tY2xpY2siLHtkZXRhaWw6bCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxyNWUodGhpcyxvKX1zdGF0aWN7cjVlKGEscil9fTtyZXR1cm4gYz1hfSkoKX0pO3ZhciAkNXIsaTVlLHJLcixuNWU9ZigoKT0+e3VlKCk7SGYoKTskNXI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxpNWU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LHJLcj0oKCk9PntsZXQgZT1bcmUoInN6LXN0YXR1cy1ncmlkLWNsdXN0ZXIiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXTt2YXIgYz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGw9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpPYmplY3R9KV0sJDVyKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJzdGF0cyJpbiB1LGdldDp1PT51LnN0YXRzLHNldDoodSxkKT0+e3Uuc3RhdHM9ZH19LG1ldGFkYXRhOmx9LHMsbyksJDVyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDkwMHB4OyI+CiAgICAgIDxzei1zdGF0dXMtZ3JpZC1jbHVzdGVyCiAgICAgICAgLnN0YXRzPSR7e3RvdGFsU2VydmljZXM6NyxydW5uaW5nOjcsc3RvcHBlZDowLGRvY2tlclN0YXR1czoicnVubmluZyJ9fQogICAgICA+PC9zei1zdGF0dXMtZ3JpZC1jbHVzdGVyPgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCBHcmlkcyJdOyNlPWk1ZSh0aGlzLHMse3RvdGFsU2VydmljZXM6MCxydW5uaW5nOjAsc3RvcHBlZDowLGRvY2tlclN0YXR1czoic3RvcHBlZCJ9KTtnZXQgc3RhdHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RhdHMobCl7dGhpcy4jZT1sfXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICB9CgogICAgICAuZ3JpZCA+ICogewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iVG90YWwgU2VydmljZXMiCiAgICAgICAgICB2YWx1ZT0iJHt0aGlzLnN0YXRzLnRvdGFsU2VydmljZXN9IgogICAgICAgICAgaWNvbj0ic2VydmVyIgogICAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iUnVubmluZyIKICAgICAgICAgIHZhbHVlPSIke3RoaXMuc3RhdHMucnVubmluZ30iCiAgICAgICAgICBpY29uPSJjaGVjayIKICAgICAgICAgIHZhcmlhbnQ9InN1Y2Nlc3MiCiAgICAgICAgPjwvc3otc3RhdC1jYXJkPgogICAgICAgIDxzei1zdGF0LWNhcmQKICAgICAgICAgIGxhYmVsPSJTdG9wcGVkIgogICAgICAgICAgdmFsdWU9IiR7dGhpcy5zdGF0cy5zdG9wcGVkfSIKICAgICAgICAgIGljb249InN0b3AiCiAgICAgICAgICB2YXJpYW50PSIke3RoaXMuc3RhdHMuc3RvcHBlZD4wPyJ3YXJuaW5nIjoiZGVmYXVsdCJ9IgogICAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iRG9ja2VyIgogICAgICAgICAgdmFsdWU9IiR7dGhpcy5zdGF0cy5kb2NrZXJTdGF0dXM9PT0icnVubmluZyI/IlJ1bm5pbmciOiJTdG9wcGVkIn0iCiAgICAgICAgICBpY29uPSJjb250YWluZXIiCiAgICAgICAgICB2YXJpYW50PSIke3RoaXMuc3RhdHMuZG9ja2VyU3RhdHVzPT09InJ1bm5pbmciPyJzdWNjZXNzIjoiZXJyb3IifSIKICAgICAgICAgIHZhbHVlQmFkZ2UKICAgICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICAgIDwvZGl2PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksaTVlKHRoaXMsbyl9c3RhdGlje2k1ZShhLHIpfX07cmV0dXJuIGM9YX0pKCl9KTt2YXIgczVlLFN2LGFLcixvNWU9ZigoKT0+e3VlKCk7R3VlKCk7UXVlKCk7czVlPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sU3Y9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGFLcj0oKCk9PntsZXQgZT1bcmUoInN6LXN0YXR1cy1ncmlkLXNlcnZpY2VzIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBoPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6T2JqZWN0fSldLGM9W0Yoe3R5cGU6QXJyYXl9KV0sczVlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb3VyY2VVc2FnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+InJlc291cmNlVXNhZ2UiaW4gbSxnZXQ6bT0+bS5yZXNvdXJjZVVzYWdlLHNldDoobSx2KT0+e20ucmVzb3VyY2VVc2FnZT12fX0sbWV0YWRhdGE6aH0scyxvKSxzNWUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwbGF0Zm9ybVNlcnZpY2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4icGxhdGZvcm1TZXJ2aWNlcyJpbiBtLGdldDptPT5tLnBsYXRmb3JtU2VydmljZXMsc2V0OihtLHYpPT57bS5wbGF0Zm9ybVNlcnZpY2VzPXZ9fSxtZXRhZGF0YTpofSxsLHUpLHM1ZShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LXN0YXR1cy1ncmlkLXNlcnZpY2VzCiAgICAgICAgLnJlc291cmNlVXNhZ2U9JHt7Y3B1OjQ1LG1lbW9yeVVzZWQ6IjQuOTYgR0IiLG1lbW9yeVRvdGFsOiI4IEdCIixuZXR3b3JrSW46IjEuMiBNQi9zIixuZXR3b3JrT3V0OiIwLjggTUIvcyIsdG9wQ29uc3VtZXJzOlt7bmFtZToiYXBpLXNlcnZpY2UiLG1lbW9yeToiNTEyIE1CIn0se25hbWU6IndlYi1mcm9udGVuZCIsbWVtb3J5OiIyNTYgTUIifSx7bmFtZToid29ya2VyIixtZW1vcnk6IjEyOCBNQiJ9XX19CiAgICAgICAgLnBsYXRmb3JtU2VydmljZXM9JHtbe25hbWU6Ik1vbmdvREIiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH0se25hbWU6IlMzIFN0b3JhZ2UiLHN0YXR1czoiMSBidWNrZXQiLHJ1bm5pbmc6ITB9LHtuYW1lOiJDbGlja0hvdXNlIixzdGF0dXM6IlN0b3BwZWQiLHJ1bm5pbmc6ITF9LHtuYW1lOiJSZWRpcyBDYWNoZSIsc3RhdHVzOiJSdW5uaW5nIixydW5uaW5nOiEwfV19CiAgICAgID48L3N6LXN0YXR1cy1ncmlkLXNlcnZpY2VzPgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCBHcmlkcyJdOyNlPVN2KHRoaXMscyx7Y3B1OjAsbWVtb3J5VXNlZDoiMCBHQiIsbWVtb3J5VG90YWw6IjAgR0IiLG5ldHdvcmtJbjoiMCBNQi9zIixuZXR3b3JrT3V0OiIwIE1CL3MiLHRvcENvbnN1bWVyczpbXX0pO2dldCByZXNvdXJjZVVzYWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlc291cmNlVXNhZ2UoaCl7dGhpcy4jZT1ofSN0PShTdih0aGlzLG8pLFN2KHRoaXMsbCxbXSkpO2dldCBwbGF0Zm9ybVNlcnZpY2VzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBsYXRmb3JtU2VydmljZXMoaCl7dGhpcy4jdD1ofXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otcmVzb3VyY2UtdXNhZ2UtY2FyZAogICAgICAgICAgLnVzYWdlPSR7dGhpcy5yZXNvdXJjZVVzYWdlfQogICAgICAgID48L3N6LXJlc291cmNlLXVzYWdlLWNhcmQ+CiAgICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQKICAgICAgICAgIC5zZXJ2aWNlcz0ke3RoaXMucGxhdGZvcm1TZXJ2aWNlc30KICAgICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkPgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFN2KHRoaXMsdSl9c3RhdGlje1N2KGEscil9fTtyZXR1cm4gZD1hfSkoKX0pO3ZhciBzTyx3dSxpS3IsbDVlPWYoKCk9Pnt1ZSgpO1p1ZSgpO0t1ZSgpO0p1ZSgpO3NPPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sd3U9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGlLcj0oKCk9PntsZXQgZT1bcmUoInN6LXN0YXR1cy1ncmlkLW5ldHdvcmsiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXTt2YXIgdj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpPYmplY3R9KV0sYz1bRih7dHlwZTpPYmplY3R9KV0sZD1bRih7dHlwZTpPYmplY3R9KV0sc08odGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmFmZmljIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4idHJhZmZpYyJpbiBnLGdldDpnPT5nLnRyYWZmaWMsc2V0OihnLHkpPT57Zy50cmFmZmljPXl9fSxtZXRhZGF0YTpifSxzLG8pLHNPKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJveHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJwcm94eSJpbiBnLGdldDpnPT5nLnByb3h5LHNldDooZyx5KT0+e2cucHJveHk9eX19LG1ldGFkYXRhOmJ9LGwsdSksc08odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjZXJ0aWZpY2F0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJjZXJ0aWZpY2F0ZXMiaW4gZyxnZXQ6Zz0+Zy5jZXJ0aWZpY2F0ZXMsc2V0OihnLHkpPT57Zy5jZXJ0aWZpY2F0ZXM9eX19LG1ldGFkYXRhOmJ9LGgsbSksc08obnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCxyKSx2PWE9dC52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTQwMHB4OyI+CiAgICAgIDxzei1zdGF0dXMtZ3JpZC1uZXR3b3JrCiAgICAgICAgLnRyYWZmaWM9JHt7cmVxdWVzdHM6MTI1NDIwLGVycm9yczoxNTAsZXJyb3JQZXJjZW50Oi4xMixhdmdSZXNwb25zZTo0NSxyZXFQZXJNaW46ODQ3LHN0YXR1czJ4eDo5NS4yLHN0YXR1czN4eDoyLjEsc3RhdHVzNHh4OjIuMyxzdGF0dXM1eHg6LjR9fQogICAgICAgIC5wcm94eT0ke3todHRwUG9ydDoiODAiLGh0dHBzUG9ydDoiNDQzIixodHRwQWN0aXZlOiEwLGh0dHBzQWN0aXZlOiEwLHJvdXRlQ291bnQ6IjEyIn19CiAgICAgICAgLmNlcnRpZmljYXRlcz0ke3t2YWxpZDo4LGV4cGlyaW5nOjIsZXhwaXJlZDowfX0KICAgICAgPjwvc3otc3RhdHVzLWdyaWQtbmV0d29yaz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQgR3JpZHMiXTsjZT13dSh0aGlzLHMse3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0pO2dldCB0cmFmZmljKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRyYWZmaWMoYil7dGhpcy4jZT1ifSN0PSh3dSh0aGlzLG8pLHd1KHRoaXMsbCx7aHR0cFBvcnQ6IjgwIixodHRwc1BvcnQ6IjQ0MyIsaHR0cEFjdGl2ZTohMSxodHRwc0FjdGl2ZTohMSxyb3V0ZUNvdW50OiIwIn0pKTtnZXQgcHJveHkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcHJveHkoYil7dGhpcy4jdD1ifSNyPSh3dSh0aGlzLHUpLHd1KHRoaXMsaCx7dmFsaWQ6MCxleHBpcmluZzowLGV4cGlyZWQ6MH0pKTtnZXQgY2VydGlmaWNhdGVzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNlcnRpZmljYXRlcyhiKXt0aGlzLiNyPWJ9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICB9CgogICAgICAuZ3JpZCA+ICogewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmciAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iZ3JpZCI+CiAgICAgICAgPHN6LXRyYWZmaWMtY2FyZAogICAgICAgICAgLmRhdGE9JHt0aGlzLnRyYWZmaWN9CiAgICAgICAgPjwvc3otdHJhZmZpYy1jYXJkPgogICAgICAgIDxzei1yZXZlcnNlLXByb3h5LWNhcmQKICAgICAgICAgIGh0dHBQb3J0PSIke3RoaXMucHJveHkuaHR0cFBvcnR9IgogICAgICAgICAgaHR0cHNQb3J0PSIke3RoaXMucHJveHkuaHR0cHNQb3J0fSIKICAgICAgICAgID9odHRwQWN0aXZlPSR7dGhpcy5wcm94eS5odHRwQWN0aXZlfQogICAgICAgICAgP2h0dHBzQWN0aXZlPSR7dGhpcy5wcm94eS5odHRwc0FjdGl2ZX0KICAgICAgICAgIHJvdXRlQ291bnQ9IiR7dGhpcy5wcm94eS5yb3V0ZUNvdW50fSIKICAgICAgICA+PC9zei1yZXZlcnNlLXByb3h5LWNhcmQ+CiAgICAgICAgPHN6LWNlcnRpZmljYXRlcy1jYXJkCiAgICAgICAgICB2YWxpZD0iJHt0aGlzLmNlcnRpZmljYXRlcy52YWxpZH0iCiAgICAgICAgICBleHBpcmluZz0iJHt0aGlzLmNlcnRpZmljYXRlcy5leHBpcmluZ30iCiAgICAgICAgICBleHBpcmVkPSIke3RoaXMuY2VydGlmaWNhdGVzLmV4cGlyZWR9IgogICAgICAgID48L3N6LWNlcnRpZmljYXRlcy1jYXJkPgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHd1KHRoaXMsbSl9c3RhdGlje3d1KGEscil9fTtyZXR1cm4gdj1hfSkoKX0pO3ZhciBvTyxNdSxuS3IsYzVlPWYoKCk9Pnt1ZSgpO3Q1ZSgpO2E1ZSgpO29PPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sTXU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LG5Lcj0oKCk9PntsZXQgZT1bcmUoInN6LXN0YXR1cy1ncmlkLWluZnJhIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W107dmFyIHY9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6Qm9vbGVhbn0pXSxjPVtGKHt0eXBlOkJvb2xlYW59KV0sZD1bRih7dHlwZTpBcnJheX0pXSxvTyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRuc0NvbmZpZ3VyZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJkbnNDb25maWd1cmVkImluIGcsZ2V0Omc9PmcuZG5zQ29uZmlndXJlZCxzZXQ6KGcseSk9PntnLmRuc0NvbmZpZ3VyZWQ9eX19LG1ldGFkYXRhOmJ9LHMsbyksb08odGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY21lQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+ImFjbWVDb25maWd1cmVkImluIGcsZ2V0Omc9PmcuYWNtZUNvbmZpZ3VyZWQsc2V0OihnLHkpPT57Zy5hY21lQ29uZmlndXJlZD15fX0sbWV0YWRhdGE6Yn0sbCx1KSxvTyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJhY3Rpb25zImluIGcsZ2V0Omc9PmcuYWN0aW9ucyxzZXQ6KGcseSk9PntnLmFjdGlvbnM9eX19LG1ldGFkYXRhOmJ9LGgsbSksb08obnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCxyKSx2PWE9dC52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1zdGF0dXMtZ3JpZC1pbmZyYQogICAgICAgIGRuc0NvbmZpZ3VyZWQKICAgICAgICBhY21lQ29uZmlndXJlZAogICAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiRGVwbG95IFNlcnZpY2UiLGljb246InBsdXMiLHByaW1hcnk6ITB9LHtsYWJlbDoiVmlldyBBbGwgU2VydmljZXMifSx7bGFiZWw6IlBsYXRmb3JtIFNlcnZpY2VzIn0se2xhYmVsOiJNYW5hZ2UgRG9tYWlucyJ9XX0KICAgICAgPjwvc3otc3RhdHVzLWdyaWQtaW5mcmE+CiAgICA8L2Rpdj4KICBgO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIEdyaWRzIl07I2U9TXUodGhpcyxzLCExKTtnZXQgZG5zQ29uZmlndXJlZCgpe3JldHVybiB0aGlzLiNlfXNldCBkbnNDb25maWd1cmVkKGIpe3RoaXMuI2U9Yn0jdD0oTXUodGhpcyxvKSxNdSh0aGlzLGwsITEpKTtnZXQgYWNtZUNvbmZpZ3VyZWQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYWNtZUNvbmZpZ3VyZWQoYil7dGhpcy4jdD1ifSNyPShNdSh0aGlzLHUpLE11KHRoaXMsaCxbXSkpO2dldCBhY3Rpb25zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGFjdGlvbnMoYil7dGhpcy4jcj1ifXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otZG5zLXNzbC1jYXJkCiAgICAgICAgICA/ZG5zQ29uZmlndXJlZD0ke3RoaXMuZG5zQ29uZmlndXJlZH0KICAgICAgICAgID9hY21lQ29uZmlndXJlZD0ke3RoaXMuYWNtZUNvbmZpZ3VyZWR9CiAgICAgICAgPjwvc3otZG5zLXNzbC1jYXJkPgogICAgICAgIDxzei1xdWljay1hY3Rpb25zLWNhcmQKICAgICAgICAgIC5hY3Rpb25zPSR7dGhpcy5hY3Rpb25zfQogICAgICAgICAgQGFjdGlvbi1jbGljaz0ke2I9PnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFjdGlvbi1jbGljayIse2RldGFpbDpiLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfQogICAgICAgID48L3N6LXF1aWNrLWFjdGlvbnMtY2FyZD4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxNdSh0aGlzLG0pfXN0YXRpY3tNdShhLHIpfX07cmV0dXJuIHY9YX0pKCl9KTt2YXIgRDVyLGQ1ZSxzS3IsQTVyPWYoKCk9Pnt1ZSgpO241ZSgpO281ZSgpO2w1ZSgpO2M1ZSgpO0Q1cj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LGQ1ZT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sc0tyPSgoKT0+e2xldCBlPVtyZSgic3otZGFzaGJvYXJkLXZpZXciKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXTt2YXIgYz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGw9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpPYmplY3R9KV0sRDVyKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dT0+ImRhdGEiaW4gdSxnZXQ6dT0+dS5kYXRhLHNldDoodSxkKT0+e3UuZGF0YT1kfX0sbWV0YWRhdGE6bH0scyxvKSxENXIobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6bH0sbnVsbCxyKSxjPWE9dC52YWx1ZSxsJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmx9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTQwMHB4OyI+CiAgICAgIDxzei1kYXNoYm9hcmQtdmlldwogICAgICAgIC5kYXRhPSR7e2NsdXN0ZXI6e3RvdGFsU2VydmljZXM6NyxydW5uaW5nOjcsc3RvcHBlZDowLGRvY2tlclN0YXR1czoicnVubmluZyJ9LHJlc291cmNlVXNhZ2U6e2NwdTouNSxtZW1vcnlVc2VkOiIxOTEgTUIiLG1lbW9yeVRvdGFsOiI0MjkuMiBHQiIsbmV0d29ya0luOiIzOC45IEtCL3MiLG5ldHdvcmtPdXQ6IjEuNyBLQi9zIix0b3BDb25zdW1lcnM6W3tuYW1lOiJ0ZXN0LW5naW54IixtZW1vcnk6IjMyLjEgTUIifSx7bmFtZToidGVzdC12MiIsbWVtb3J5OiIzMS43IE1CIn1dfSxwbGF0Zm9ybVNlcnZpY2VzOlt7bmFtZToiTW9uZ29EQiIsc3RhdHVzOiIxIERCIixydW5uaW5nOiEwfSx7bmFtZToiUzMgU3RvcmFnZSAoTWluSU8pIixzdGF0dXM6IjEgYnVja2V0IixydW5uaW5nOiEwfSx7bmFtZToiQ2FkZHkgUmV2ZXJzZSBQcm94eSIsc3RhdHVzOiJSdW5uaW5nIixydW5uaW5nOiEwfSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiIxIERCIixydW5uaW5nOiEwfV0sdHJhZmZpYzp7cmVxdWVzdHM6MTI1MCxlcnJvcnM6MTUsZXJyb3JQZXJjZW50OjEuMixhdmdSZXNwb25zZToxNDUscmVxUGVyTWluOjIxLHN0YXR1czJ4eDo4NSxzdGF0dXMzeHg6NSxzdGF0dXM0eHg6OCxzdGF0dXM1eHg6Mn0scHJveHk6e2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITAsaHR0cHNBY3RpdmU6ITAscm91dGVDb3VudDoiMTIifSxjZXJ0aWZpY2F0ZXM6e3ZhbGlkOjgsZXhwaXJpbmc6MixleHBpcmVkOjB9LGRuc0NvbmZpZ3VyZWQ6ITAsYWNtZUNvbmZpZ3VyZWQ6ITAscXVpY2tBY3Rpb25zOlt7bGFiZWw6IkRlcGxveSBTZXJ2aWNlIixpY29uOiJwbHVzIixwcmltYXJ5OiEwfSx7bGFiZWw6IlZpZXcgQWxsIFNlcnZpY2VzIn0se2xhYmVsOiJQbGF0Zm9ybSBTZXJ2aWNlcyJ9LHtsYWJlbDoiTWFuYWdlIERvbWFpbnMifV19fQogICAgICA+PC9zei1kYXNoYm9hcmQtdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1kNWUodGhpcyxzLHtjbHVzdGVyOnt0b3RhbFNlcnZpY2VzOjAscnVubmluZzowLHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InN0b3BwZWQifSxyZXNvdXJjZVVzYWdlOntjcHU6MCxtZW1vcnlVc2VkOiIwIE1CIixtZW1vcnlUb3RhbDoiMCBHQiIsbmV0d29ya0luOiIwIEtCL3MiLG5ldHdvcmtPdXQ6IjAgS0IvcyIsdG9wQ29uc3VtZXJzOltdfSxwbGF0Zm9ybVNlcnZpY2VzOltdLHRyYWZmaWM6e3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0scHJveHk6e2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITEsaHR0cHNBY3RpdmU6ITEscm91dGVDb3VudDoiMCJ9LGNlcnRpZmljYXRlczp7dmFsaWQ6MCxleHBpcmluZzowLGV4cGlyZWQ6MH0sZG5zQ29uZmlndXJlZDohMSxhY21lQ29uZmlndXJlZDohMSxxdWlja0FjdGlvbnM6W119KTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhKGwpe3RoaXMuI2U9bH1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZGFzaGJvYXJkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iZGFzaGJvYXJkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNsdXN0ZXIgT3ZlcnZpZXc8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLWNsdXN0ZXIKICAgICAgICAgICAgLnN0YXRzPSR7dGhpcy5kYXRhLmNsdXN0ZXJ9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1jbHVzdGVyPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TZXJ2aWNlcyAmIFJlc291cmNlczwvaDI+CiAgICAgICAgICA8c3otc3RhdHVzLWdyaWQtc2VydmljZXMKICAgICAgICAgICAgLnJlc291cmNlVXNhZ2U9JHt0aGlzLmRhdGEucmVzb3VyY2VVc2FnZX0KICAgICAgICAgICAgLnBsYXRmb3JtU2VydmljZXM9JHt0aGlzLmRhdGEucGxhdGZvcm1TZXJ2aWNlc30KICAgICAgICAgID48L3N6LXN0YXR1cy1ncmlkLXNlcnZpY2VzPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5OZXR3b3JrICYgVHJhZmZpYzwvaDI+CiAgICAgICAgICA8c3otc3RhdHVzLWdyaWQtbmV0d29yawogICAgICAgICAgICAudHJhZmZpYz0ke3RoaXMuZGF0YS50cmFmZmljfQogICAgICAgICAgICAucHJveHk9JHt0aGlzLmRhdGEucHJveHl9CiAgICAgICAgICAgIC5jZXJ0aWZpY2F0ZXM9JHt0aGlzLmRhdGEuY2VydGlmaWNhdGVzfQogICAgICAgICAgPjwvc3otc3RhdHVzLWdyaWQtbmV0d29yaz4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SW5mcmFzdHJ1Y3R1cmU8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLWluZnJhCiAgICAgICAgICAgID9kbnNDb25maWd1cmVkPSR7dGhpcy5kYXRhLmRuc0NvbmZpZ3VyZWR9CiAgICAgICAgICAgID9hY21lQ29uZmlndXJlZD0ke3RoaXMuZGF0YS5hY21lQ29uZmlndXJlZH0KICAgICAgICAgICAgLmFjdGlvbnM9JHt0aGlzLmRhdGEucXVpY2tBY3Rpb25zfQogICAgICAgICAgICBAYWN0aW9uLWNsaWNrPSR7bD0+dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aW9uLWNsaWNrIix7ZGV0YWlsOmwuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1pbmZyYT4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgIDwvZGl2PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksZDVlKHRoaXMsbyl9c3RhdGlje2Q1ZShhLHIpfX07cmV0dXJuIGM9YX0pKCl9KTt2YXIgbDMsYzEsb0tyLEU1cj1mKCgpPT57dWUoKTtIZigpO2wzPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sYzE9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LG9Lcj0oKCk9PntsZXQgZT1bcmUoInN6LW5ldHdvcmstcHJveHktdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdO3ZhciBxPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOlN0cmluZ30pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKHt0eXBlOlN0cmluZ30pXSx2PVtGKHt0eXBlOlN0cmluZ30pXSx5PVtGKHt0eXBlOkFycmF5fSldLFI9W0Yoe3R5cGU6QXJyYXl9KV0sTz1bRih7dHlwZTpCb29sZWFufSldLGwzKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJveHlTdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJwcm94eVN0YXR1cyJpbiB6LGdldDp6PT56LnByb3h5U3RhdHVzLHNldDooeixFKT0+e3oucHJveHlTdGF0dXM9RX19LG1ldGFkYXRhOl99LHMsbyksbDModGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4icm91dGVDb3VudCJpbiB6LGdldDp6PT56LnJvdXRlQ291bnQsc2V0Oih6LEUpPT57ei5yb3V0ZUNvdW50PUV9fSxtZXRhZGF0YTpffSxsLHUpLGwzKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2VydGlmaWNhdGVDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+ImNlcnRpZmljYXRlQ291bnQiaW4geixnZXQ6ej0+ei5jZXJ0aWZpY2F0ZUNvdW50LHNldDooeixFKT0+e3ouY2VydGlmaWNhdGVDb3VudD1FfX0sbWV0YWRhdGE6X30saCxtKSxsMyh0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhcmdldENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp6PT4idGFyZ2V0Q291bnQiaW4geixnZXQ6ej0+ei50YXJnZXRDb3VudCxzZXQ6KHosRSk9Pnt6LnRhcmdldENvdW50PUV9fSxtZXRhZGF0YTpffSxiLGcpLGwzKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFyZ2V0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6ej0+InRhcmdldHMiaW4geixnZXQ6ej0+ei50YXJnZXRzLHNldDooeixFKT0+e3oudGFyZ2V0cz1FfX0sbWV0YWRhdGE6X30sdyxrKSxsMyh0aGlzLG51bGwsUix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJsb2dzImluIHosZ2V0Ono9PnoubG9ncyxzZXQ6KHosRSk9Pnt6LmxvZ3M9RX19LG1ldGFkYXRhOl99LEMsUyksbDModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdHJlYW1pbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOno9PiJzdHJlYW1pbmciaW4geixnZXQ6ej0+ei5zdHJlYW1pbmcsc2V0Oih6LEUpPT57ei5zdHJlYW1pbmc9RX19LG1ldGFkYXRhOl99LEQsTiksbDMobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6X30sbnVsbCxyKSxxPWE9dC52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTQwMHB4OyI+CiAgICAgIDxzei1uZXR3b3JrLXByb3h5LXZpZXcKICAgICAgICBwcm94eVN0YXR1cz0icnVubmluZyIKICAgICAgICByb3V0ZUNvdW50PSIzIgogICAgICAgIGNlcnRpZmljYXRlQ291bnQ9IjIiCiAgICAgICAgdGFyZ2V0Q291bnQ9IjExIgogICAgICAgIC50YXJnZXRzPSR7W3t0eXBlOiJzZXJ2aWNlIixuYW1lOiJ0ZXN0LW5naW54Iixkb21haW46ImFwcC5ibGV1LmRlIix0YXJnZXQ6ImxvY2FsaG9zdDo4MDgwIixzdGF0dXM6InJ1bm5pbmcifSx7dHlwZToic2VydmljZSIsbmFtZToiaGVsbG8td29ybGQiLGRvbWFpbjoiaGVsbG8udGFzay52YyIsdGFyZ2V0OiJsb2NhbGhvc3Q6ODA4MSIsc3RhdHVzOiJydW5uaW5nIn0se3R5cGU6InJlZ2lzdHJ5IixuYW1lOiJvbmVib3gtcmVnaXN0cnkiLGRvbWFpbjpudWxsLHRhcmdldDoibG9jYWxob3N0OjQwMDAiLHN0YXR1czoicnVubmluZyJ9LHt0eXBlOiJwbGF0Zm9ybSIsbmFtZToiTW9uZ29EQiIsZG9tYWluOm51bGwsdGFyZ2V0OiJsb2NhbGhvc3Q6MjcwMTciLHN0YXR1czoicnVubmluZyJ9LHt0eXBlOiJwbGF0Zm9ybSIsbmFtZToiQ2xpY2tIb3VzZSIsZG9tYWluOm51bGwsdGFyZ2V0OiJsb2NhbGhvc3Q6ODEyMyIsc3RhdHVzOiJydW5uaW5nIn1dfQogICAgICAgIC5sb2dzPSR7W3t0aW1lc3RhbXA6IjIwMjQtMDEtMDIgMTA6MTU6MzIiLG1ldGhvZDoiR0VUIixwYXRoOiIvYXBpL3NlcnZpY2VzIixzdGF0dXM6MjAwLGR1cmF0aW9uOjQ1LGlwOiIxOTIuMTY4LjEuMTAwIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0wMiAxMDoxNTozMCIsbWV0aG9kOiJQT1NUIixwYXRoOiIvYXBpL2F1dGgvbG9naW4iLHN0YXR1czoyMDAsZHVyYXRpb246MTIwLGlwOiIxOTIuMTY4LjEuMTAxIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0wMiAxMDoxNToyOCIsbWV0aG9kOiJHRVQiLHBhdGg6Ii9zdGF0aWMvYnVuZGxlLmpzIixzdGF0dXM6MzA0LGR1cmF0aW9uOjUsaXA6IjE5Mi4xNjguMS4xMDAifV19CiAgICAgID48L3N6LW5ldHdvcmstcHJveHktdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9YzEodGhpcyxzLCJzdG9wcGVkIik7Z2V0IHByb3h5U3RhdHVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHByb3h5U3RhdHVzKF8pe3RoaXMuI2U9X30jdD0oYzEodGhpcyxvKSxjMSh0aGlzLGwsIjAiKSk7Z2V0IHJvdXRlQ291bnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcm91dGVDb3VudChfKXt0aGlzLiN0PV99I3I9KGMxKHRoaXMsdSksYzEodGhpcyxoLCIwIikpO2dldCBjZXJ0aWZpY2F0ZUNvdW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNlcnRpZmljYXRlQ291bnQoXyl7dGhpcy4jcj1ffSNhPShjMSh0aGlzLG0pLGMxKHRoaXMsYiwiMCIpKTtnZXQgdGFyZ2V0Q291bnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdGFyZ2V0Q291bnQoXyl7dGhpcy4jYT1ffSNpPShjMSh0aGlzLGcpLGMxKHRoaXMsdyxbXSkpO2dldCB0YXJnZXRzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHRhcmdldHMoXyl7dGhpcy4jaT1ffSNuPShjMSh0aGlzLGspLGMxKHRoaXMsQyxbXSkpO2dldCBsb2dzKCl7cmV0dXJuIHRoaXMuI259c2V0IGxvZ3MoXyl7dGhpcy4jbj1ffSNzPShjMSh0aGlzLFMpLGMxKHRoaXMsRCwhMSkpO2dldCBzdHJlYW1pbmcoKXtyZXR1cm4gdGhpcy4jc31zZXQgc3RyZWFtaW5nKF8pe3RoaXMuI3M9X31zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5yZWZyZXNoLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnJlZnJlc2gtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4MHB4IDEuNWZyIDEuNWZyIDEuNWZyIDgwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMS41ZnIgMS41ZnIgMS41ZnIgODBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAudGFibGUtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC50eXBlLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIH0KCiAgICAgIC50eXBlLWJhZGdlLnNlcnZpY2UgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnR5cGUtYmFkZ2UucmVnaXN0cnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjNlOGZmIiwicmdiYSgxNjgsIDg1LCAyNDcsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjOTMzM2VhIiwiI2E4NTVmNyIpfTsKICAgICAgfQoKICAgICAgLnR5cGUtYmFkZ2UucGxhdGZvcm0gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVmM2M3IiwicmdiYSgyNDUsIDE1OCwgMTEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZDk3NzA2IiwiI2Y1OWUwYiIpfTsKICAgICAgfQoKICAgICAgLnRhcmdldC12YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAubG9ncy1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAubG9ncy1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc3RyZWFtLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc3RyZWFtLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxZDRlZDgiLCIjMjU2M2ViIil9OwogICAgICB9CgogICAgICAuc3RyZWFtLWJ1dHRvbi5zdHJlYW1pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0cmVhbS1idXR0b24uc3RyZWFtaW5nOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2I5MWMxYyIsIiNkYzI2MjYiKX07CiAgICAgIH0KCiAgICAgIC5jbGVhci1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5sb2dzLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1lbnRyeSB7CiAgICAgICAgcGFkZGluZzogNHB4IDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmxvZy10aW1lc3RhbXAgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctbWV0aG9kIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctc3RhdHVzLTJ4eCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1zdGF0dXMtM3h4IHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAubG9nLXN0YXR1cy00eHggewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctc3RhdHVzLTV4eCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LWxvZ3MgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZWZyZXNoLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUmVmcmVzaCgpfT5SZWZyZXNoPC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic3RhdHMtZ3JpZCI+CiAgICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgICAgbGFiZWw9IlByb3h5IFN0YXR1cyIKICAgICAgICAgIHZhbHVlPSIke3RoaXMucHJveHlTdGF0dXM9PT0icnVubmluZyI/IlJ1bm5pbmciOiJTdG9wcGVkIn0iCiAgICAgICAgICBpY29uPSJzZXJ2ZXIiCiAgICAgICAgICB2YXJpYW50PSIke3RoaXMucHJveHlTdGF0dXM9PT0icnVubmluZyI/InN1Y2Nlc3MiOiJlcnJvciJ9IgogICAgICAgICAgdmFsdWVCYWRnZQogICAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iUm91dGVzIgogICAgICAgICAgdmFsdWU9IiR7dGhpcy5yb3V0ZUNvdW50fSIKICAgICAgICAgIGljb249InNlcnZlciIKICAgICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgICAgbGFiZWw9IkNlcnRpZmljYXRlcyIKICAgICAgICAgIHZhbHVlPSIke3RoaXMuY2VydGlmaWNhdGVDb3VudH0iCiAgICAgICAgICBpY29uPSJjaGVjayIKICAgICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgICAgbGFiZWw9IlRhcmdldHMiCiAgICAgICAgICB2YWx1ZT0iJHt0aGlzLnRhcmdldENvdW50fSIKICAgICAgICAgIGljb249InNlcnZlciIKICAgICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VHJhZmZpYyBUYXJnZXRzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5TZXJ2aWNlcywgcmVnaXN0cnksIGFuZCBwbGF0Zm9ybSBzZXJ2aWNlcyB3aXRoIHRoZWlyIHJvdXRpbmcgaW5mbzwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5UeXBlPC9zcGFuPgogICAgICAgICAgPHNwYW4+TmFtZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlRhcmdldDwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMudGFyZ2V0cy5tYXAoXz0+TWAKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlVGFyZ2V0Q2xpY2soXyl9PgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0idHlwZS1iYWRnZSAke18udHlwZX0iPiR7Xy50eXBlfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPiR7Xy5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+JHtfLmRvbWFpbnx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhcmdldC12YWx1ZSI+JHtfLnRhcmdldH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHtfLnN0YXR1c30iPiR7Xy5zdGF0dXN9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApfQogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImxvZ3MtaGVhZGVyIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkFjY2VzcyBMb2dzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlJlYWwtdGltZSBDYWRkeSBhY2Nlc3MgbG9nczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dzLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJzdHJlYW0tYnV0dG9uICR7dGhpcy5zdHJlYW1pbmc/InN0cmVhbWluZyI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVTdHJlYW1pbmcoKX0+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICR7dGhpcy5zdHJlYW1pbmc/TWA8cmVjdCB4PSI2IiB5PSI2IiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHJ4PSIxIi8+YDpNYDxwb2x5Z29uIHBvaW50cz0iNSwzIDE5LDEyIDUsMjEiLz5gfQogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICR7dGhpcy5zdHJlYW1pbmc/IlN0b3AiOiJTdHJlYW0ifQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2xlYXItYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDbGVhckxvZ3MoKX0+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzLDYgNSw2IDIxLDYiLz48cGF0aCBkPSJNMTksNnYxNGEyLDIsMCwwLDEtMiwySDdhMiwyLDAsMCwxLTItMlY2bTMsMFY0YTIsMiwwLDAsMSwyLTJoNGEyLDIsMCwwLDEsMiwydjIiLz4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBDbGVhciBsb2dzCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ncy1jb250YWluZXIiPgogICAgICAgICAgJHt0aGlzLmxvZ3MubGVuZ3RoPjA/dGhpcy5sb2dzLm1hcChfPT5NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2ctZW50cnkiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsb2ctdGltZXN0YW1wIj4ke18udGltZXN0YW1wfTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibG9nLW1ldGhvZCI+JHtfLm1ldGhvZH08L3NwYW4+CiAgICAgICAgICAgICAgJHtfLnBhdGh9CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IiR7dGhpcy5nZXRTdGF0dXNDbGFzcyhfLnN0YXR1cyl9Ij4ke18uc3RhdHVzfTwvc3Bhbj4KICAgICAgICAgICAgICAke18uZHVyYXRpb259bXMKICAgICAgICAgICAgICAke18uaXB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCk6TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktbG9ncyI+Q2xpY2sgIlN0cmVhbSIgdG8gc3RhcnQgbGl2ZSBhY2Nlc3MgbG9nIHN0cmVhbWluZzwvZGl2PgogICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWdldFN0YXR1c0NsYXNzKF8pe3JldHVybiBfPj01MDA/ImxvZy1zdGF0dXMtNXh4IjpfPj00MDA/ImxvZy1zdGF0dXMtNHh4IjpfPj0zMDA/ImxvZy1zdGF0dXMtM3h4IjoibG9nLXN0YXR1cy0yeHgifWhhbmRsZVJlZnJlc2goKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZWZyZXNoIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVUYXJnZXRDbGljayhfKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YXJnZXQtY2xpY2siLHtkZXRhaWw6XyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXRvZ2dsZVN0cmVhbWluZygpe3RoaXMuc3RyZWFtaW5nPSF0aGlzLnN0cmVhbWluZyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdHJlYW0tdG9nZ2xlIix7ZGV0YWlsOntzdHJlYW1pbmc6dGhpcy5zdHJlYW1pbmd9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ2xlYXJMb2dzKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xlYXItbG9ncyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGMxKHRoaXMsTil9c3RhdGlje2MxKGEscil9fTtyZXR1cm4gcT1hfSkoKX0pO3ZhciBJNXIsdTVlLGxLcixQNXI9ZigoKT0+e3VlKCk7STVyPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sdTVlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxsS3I9KCgpPT57bGV0IGU9W3JlKCJzei1uZXR3b3JrLWRucy12aWV3IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6QXJyYXl9KV0sSTVyKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVjb3JkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6dT0+InJlY29yZHMiaW4gdSxnZXQ6dT0+dS5yZWNvcmRzLHNldDoodSxkKT0+e3UucmVjb3Jkcz1kfX0sbWV0YWRhdGE6bH0scyxvKSxJNXIobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6bH0sbnVsbCxyKSxjPWE9dC52YWx1ZSxsJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmx9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTAwMHB4OyI+CiAgICAgIDxzei1uZXR3b3JrLWRucy12aWV3CiAgICAgICAgLnJlY29yZHM9JHtbe2RvbWFpbjoicHIudGFzay52YyIsdHlwZToiQSIsdmFsdWU6IjE5NS4yMDEuOTguMjMyIn0se2RvbWFpbjoib3V0bGluZS50YXNrLnZjIix0eXBlOiJBIix2YWx1ZToiMTk1LjIwMS45OC4yMzIifSx7ZG9tYWluOiJuczEudGFzay52YyIsdHlwZToiQSIsdmFsdWU6IjIxMi45NS45OS4xMzAifSx7ZG9tYWluOiJibGV1LmRlIix0eXBlOiJBIix2YWx1ZToiMjEyLjk1Ljk5LjEzMCJ9LHtkb21haW46Im1haWwuYmxldS5kZSIsdHlwZToiTVgiLHZhbHVlOiIxMCBtYWlsLmJsZXUuZGUifV19CiAgICAgID48L3N6LW5ldHdvcmstZG5zLXZpZXc+CiAgICA8L2Rpdj4KICBgO3N0YXRpYyBkZW1vR3JvdXBzPVsiTmV0d29yayJdOyNlPXU1ZSh0aGlzLHMsW10pO2dldCByZWNvcmRzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlY29yZHMobCl7dGhpcy4jZT1sfXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN5bmMtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc3luYy1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciA4MHB4IDJmciAxMDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDgwcHggMmZyIDEwMHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZG9tYWluIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAudHlwZS1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC52YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZGVsZXRlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5kZWxldGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZGVzY3JpcHRpb24iPk1hbmFnZSBETlMgcmVjb3JkcyBzeW5jZWQgd2l0aCBDbG91ZGZsYXJlPC9zcGFuPgogICAgICAgIDxidXR0b24gY2xhc3M9InN5bmMtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTeW5jKCl9PgogICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxMmE5IDkgMCAwIDEtOSA5bTktOWE5IDkgMCAwIDAtOS05bTkgOUgzbTkgOWE5IDkgMCAwIDEtOS05bTkgOWMxLjY2IDAgMy00LjAzIDMtOXMtMS4zNC05LTMtOW0wIDE4Yy0xLjY2IDAtMy00LjAzLTMtOXMxLjM0LTkgMy05Ii8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIFN5bmMgQ2xvdWRmbGFyZQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlR5cGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5WYWx1ZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnJlY29yZHMubGVuZ3RoPjA/dGhpcy5yZWNvcmRzLm1hcChsPT5NYAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbiI+JHtsLmRvbWFpbn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJ0eXBlLWJhZGdlIj4ke2wudHlwZX08L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPiR7bC52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRlbGV0ZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZShsKX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApOk1gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gRE5TIHJlY29yZHMgZm91bmQ8L2Rpdj4KICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU3luYygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN5bmMiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZShsKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUiLHtkZXRhaWw6bCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx1NWUodGhpcyxvKX1zdGF0aWN7dTVlKGEscil9fTtyZXR1cm4gYz1hfSkoKX0pO3ZhciBwNWUsenYsY0tyLE41cj1mKCgpPT57dWUoKTtIZigpO3A1ZT1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LHp2PWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxjS3I9KCgpPT57bGV0IGU9W3JlKCJzei1uZXR3b3JrLWRvbWFpbnMtdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgaD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOkFycmF5fSldLGM9W0Yoe3R5cGU6T2JqZWN0fSldLHA1ZSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvbWFpbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJkb21haW5zImluIG0sZ2V0Om09Pm0uZG9tYWlucyxzZXQ6KG0sdik9PnttLmRvbWFpbnM9dn19LG1ldGFkYXRhOmh9LHMsbykscDVlKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJzdGF0cyJpbiBtLGdldDptPT5tLnN0YXRzLHNldDoobSx2KT0+e20uc3RhdHM9dn19LG1ldGFkYXRhOmh9LGwsdSkscDVlKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmh9LG51bGwsciksZD1hPXQudmFsdWUsaCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpofSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otbmV0d29yay1kb21haW5zLXZpZXcKICAgICAgICAuZG9tYWlucz0ke1t7ZG9tYWluOiJibGV1LmRlIixwcm92aWRlcjoiY2xvdWRmbGFyZSIsc2VydmljZUNvdW50OjIsY2VydGlmaWNhdGVTdGF0dXM6InZhbGlkIixleHBpcmVzSW46IjUyIGRheXMifSx7ZG9tYWluOiJ0YXNrLnZjIixwcm92aWRlcjoiY2xvdWRmbGFyZSIsc2VydmljZUNvdW50OjEsY2VydGlmaWNhdGVTdGF0dXM6InZhbGlkIixleHBpcmVzSW46IjUyIGRheXMifSx7ZG9tYWluOiJleGFtcGxlLmNvbSIscHJvdmlkZXI6ImNsb3VkZmxhcmUiLHNlcnZpY2VDb3VudDowLGNlcnRpZmljYXRlU3RhdHVzOiJleHBpcmluZyIsZXhwaXJlc0luOiI3IGRheXMifV19CiAgICAgICAgLnN0YXRzPSR7e3RvdGFsOjMsdmFsaWQ6MixleHBpcmluZzoxLGV4cGlyZWQ6MH19CiAgICAgID48L3N6LW5ldHdvcmstZG9tYWlucy12aWV3PgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT16dih0aGlzLHMsW10pO2dldCBkb21haW5zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRvbWFpbnMoaCl7dGhpcy4jZT1ofSN0PSh6dih0aGlzLG8pLHp2KHRoaXMsbCx7dG90YWw6MCx2YWxpZDowLGV4cGlyaW5nOjAsZXhwaXJlZDowfSkpO2dldCBzdGF0cygpe3JldHVybiB0aGlzLiN0fXNldCBzdGF0cyhoKXt0aGlzLiN0PWh9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc3luYy1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zeW5jLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICB9CgogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsKICAgICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgODBweCAxMDBweCAxMDBweCA4MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDgwcHggMTAwcHggMTAwcHggODBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZG9tYWluLW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5wcm92aWRlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS52YWxpZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXhwaXJpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5leHBpcmVkLAogICAgICAuc3RhdHVzLWJhZGdlLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuZXhwaXJlcyB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnZpZXctYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWV3LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRlc2NyaXB0aW9uIj5NYW5hZ2UgZG9tYWlucyBhbmQgU1NMIGNlcnRpZmljYXRlczwvc3Bhbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJzeW5jLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU3luYygpfT5TeW5jIENsb3VkZmxhcmU8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIj4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iVG90YWwgRG9tYWlucyIKICAgICAgICAgIHZhbHVlPSIke3RoaXMuc3RhdHMudG90YWx9IgogICAgICAgICAgaWNvbj0ic2VydmVyIgogICAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iVmFsaWQgQ2VydGlmaWNhdGVzIgogICAgICAgICAgdmFsdWU9IiR7dGhpcy5zdGF0cy52YWxpZH0iCiAgICAgICAgICBpY29uPSJjaGVjayIKICAgICAgICAgIHZhcmlhbnQ9InN1Y2Nlc3MiCiAgICAgICAgPjwvc3otc3RhdC1jYXJkPgogICAgICAgIDxzei1zdGF0LWNhcmQKICAgICAgICAgIGxhYmVsPSJFeHBpcmluZyBTb29uIgogICAgICAgICAgdmFsdWU9IiR7dGhpcy5zdGF0cy5leHBpcmluZ30iCiAgICAgICAgICBpY29uPSJzdG9wIgogICAgICAgICAgdmFyaWFudD0iJHt0aGlzLnN0YXRzLmV4cGlyaW5nPjA/Indhcm5pbmciOiJkZWZhdWx0In0iCiAgICAgICAgPjwvc3otc3RhdC1jYXJkPgogICAgICAgIDxzei1zdGF0LWNhcmQKICAgICAgICAgIGxhYmVsPSJFeHBpcmVkL1BlbmRpbmciCiAgICAgICAgICB2YWx1ZT0iJHt0aGlzLnN0YXRzLmV4cGlyZWR9IgogICAgICAgICAgaWNvbj0ic3RvcCIKICAgICAgICAgIHZhcmlhbnQ9IiR7dGhpcy5zdGF0cy5leHBpcmVkPjA/ImVycm9yIjoiZGVmYXVsdCJ9IgogICAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5Eb21haW48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5Qcm92aWRlcjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlNlcnZpY2VzPC9zcGFuPgogICAgICAgICAgPHNwYW4+Q2VydGlmaWNhdGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5FeHBpcmVzPC9zcGFuPgogICAgICAgICAgPHNwYW4+QWN0aW9uczwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZG9tYWlucy5sZW5ndGg+MD90aGlzLmRvbWFpbnMubWFwKGg9Pk1gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG9tYWluLW5hbWUiPiR7aC5kb21haW59PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvdmlkZXIiPiR7aC5wcm92aWRlcn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPiR7aC5zZXJ2aWNlQ291bnR9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7aC5jZXJ0aWZpY2F0ZVN0YXR1c30iPiR7aC5jZXJ0aWZpY2F0ZVN0YXR1c308L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXhwaXJlcyI+JHtoLmV4cGlyZXNJbnx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idmlldy1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVZpZXcoaCl9PlZpZXc8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCk6TWAKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBkb21haW5zIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU3luYygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN5bmMiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVZpZXcoaCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidmlldyIse2RldGFpbDpoLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHp2KHRoaXMsdSl9c3RhdGlje3p2KGEscil9fTtyZXR1cm4gZD1hfSkoKX0pO3ZhciBmNWUsQ3YsZEtyLEY1cj1mKCgpPT57dWUoKTtmNWU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxDdj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sZEtyPSgoKT0+e2xldCBlPVtyZSgic3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudCIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgaD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOlN0cmluZ30pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxmNWUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJzdGF0dXMiaW4gbSxnZXQ6bT0+bS5zdGF0dXMsc2V0OihtLHYpPT57bS5zdGF0dXM9dn19LG1ldGFkYXRhOmh9LHMsbyksZjVlKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVnaXN0cnlVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJyZWdpc3RyeVVybCJpbiBtLGdldDptPT5tLnJlZ2lzdHJ5VXJsLHNldDoobSx2KT0+e20ucmVnaXN0cnlVcmw9dn19LG1ldGFkYXRhOmh9LGwsdSksZjVlKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmh9LG51bGwsciksZD1hPXQudmFsdWUsaCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpofSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50CiAgICAgICAgc3RhdHVzPSJydW5uaW5nIgogICAgICAgIHJlZ2lzdHJ5VXJsPSJsb2NhbGhvc3Q6MzAwMC92MiIKICAgICAgPjwvc3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudD4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1Ddih0aGlzLHMsInN0b3BwZWQiKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHN0YXR1cyhoKXt0aGlzLiNlPWh9I3Q9KEN2KHRoaXMsbyksQ3YodGhpcyxsLCIiKSk7Z2V0IHJlZ2lzdHJ5VXJsKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHJlZ2lzdHJ5VXJsKGgpe3RoaXMuI3Q9aH1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmNhcmQtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWljb24gewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1pbmZvIHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuaGVhZGVyLXRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmRlZmF1bHQtYmFkZ2UgewogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuY2FyZC1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAuaW5mby1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaW5mby1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgfQoKICAgICAgLmluZm8tdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAubWFuYWdlLWxpbmsgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLm1hbmFnZS1saW5rOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLnF1aWNrLXN0YXJ0IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5xdWljay1zdGFydC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5xdWljay1zdGFydC1kZXNjIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAuY29kZS1ibG9jayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjMGEwYTBhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIC5jb2RlLWxpbmUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ExYTFhYSIsIiM3MTcxN2EiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAuY29kZS1saW5lOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5jb2RlLWNvbW1lbnQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzZiNzI4MCIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5jb2RlLWNvbW1hbmQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ZhZmFmYSIsIiNlNGU0ZTciKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1pY29uIj4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2eiI+PC9wYXRoPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdGl0bGUiPgogICAgICAgICAgICAgIFJlZ2lzdHJ5IEFkdmVydGlzZW1lbnQKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGVmYXVsdC1iYWRnZSI+RGVmYXVsdDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1zdWJ0aXRsZSI+Q29udGFpbmVyIHJlZ2lzdHJ5IGZvciB5b3VyIHNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tZ3JpZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8taXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlN0YXR1czwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7dGhpcy5zdGF0dXN9Ij4ke3RoaXMuc3RhdHVzPT09InJ1bm5pbmciPyJSdW5uaW5nIjoiU3RvcHBlZCJ9PC9zcGFuPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8taXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlJlZ2lzdHJ5IFVSTDwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+JHt0aGlzLnJlZ2lzdHJ5VXJsfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8taXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPkF1dGhlbnRpY2F0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYW5hZ2UtbGluayIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlTWFuYWdlVG9rZW5zKCl9Pk1hbmFnZSBUb2tlbnM8L2E+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InF1aWNrLXN0YXJ0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVpY2stc3RhcnQtdGl0bGUiPlF1aWNrIFN0YXJ0PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InF1aWNrLXN0YXJ0LWRlc2MiPlRvIHB1c2ggaW1hZ2VzIHRvIHRoZSByZWdpc3RyeSwgdXNlIGEgQ0kgb3IgR2xvYmFsIHRva2VuOjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWJsb2NrIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxpbmUgY29kZS1jb21tZW50Ij4jIExvZ2luIHRvIHRoZSByZWdpc3RyeTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtbGluZSBjb2RlLWNvbW1hbmQiPmRvY2tlciBsb2dpbiAke3RoaXMucmVnaXN0cnlVcmwuc3BsaXQoIi8iKVswXX0gLXUgcmVnaXN0cnkgLXAgWU9VUl9UT0tFTjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtbGluZSBjb2RlLWNvbW1lbnQiPiMgVGFnIGFuZCBwdXNoIHlvdXIgaW1hZ2U8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxpbmUgY29kZS1jb21tYW5kIj5kb2NrZXIgdGFnIG15YXBwICR7dGhpcy5yZWdpc3RyeVVybC5zcGxpdCgiLyIpWzBdfS9teXNlcnZpY2U6bGF0ZXN0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1saW5lIGNvZGUtY29tbWFuZCI+ZG9ja2VyIHB1c2ggJHt0aGlzLnJlZ2lzdHJ5VXJsLnNwbGl0KCIvIilbMF19L215c2VydmljZTpsYXRlc3Q8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZU1hbmFnZVRva2Vucygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1hbmFnZS10b2tlbnMiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxDdih0aGlzLHUpfXN0YXRpY3tDdihhLHIpfX07cmV0dXJuIGQ9YX0pKCl9KTt2YXIgTzVyLGg1ZSx1S3IsUjVyPWYoKCk9Pnt1ZSgpO081cj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LGg1ZT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sdUtyPSgoKT0+e2xldCBlPVtyZSgic3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdO3ZhciBjPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgbD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOkFycmF5fSldLE81cih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZ2lzdHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJyZWdpc3RyaWVzImluIHUsZ2V0OnU9PnUucmVnaXN0cmllcyxzZXQ6KHUsZCk9Pnt1LnJlZ2lzdHJpZXM9ZH19LG1ldGFkYXRhOmx9LHMsbyksTzVyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1yZWdpc3RyeS1leHRlcm5hbC12aWV3CiAgICAgICAgLnJlZ2lzdHJpZXM9JHtbe2lkOiIxIixuYW1lOiJEb2NrZXIgSHViIix1cmw6ImRvY2tlci5pbyIsdXNlcm5hbWU6Im15dXNlciIsdHlwZToiZG9ja2VyaHViIn0se2lkOiIyIixuYW1lOiJHaXRIdWIgQ29udGFpbmVyIFJlZ2lzdHJ5Iix1cmw6ImdoY3IuaW8iLHVzZXJuYW1lOiJteW9yZyIsdHlwZToiZ2hjciJ9XX0KICAgICAgPjwvc3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1oNWUodGhpcyxzLFtdKTtnZXQgcmVnaXN0cmllcygpe3JldHVybiB0aGlzLiNlfXNldCByZWdpc3RyaWVzKGwpe3RoaXMuI2U9bH1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAucmVnaXN0cnktbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1pY29uIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWRldGFpbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS11cmwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuZW1wdHktaWNvbiB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLmVtcHR5LWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZW1wdHktYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuZW1wdHktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+RXh0ZXJuYWwgUmVnaXN0cmllczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj5BZGQgY3JlZGVudGlhbHMgZm9yIHByaXZhdGUgRG9ja2VyIHJlZ2lzdHJpZXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZGQtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBZGQoKX0+QWRkIFJlZ2lzdHJ5PC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLnJlZ2lzdHJpZXMubGVuZ3RoPjA/TWAKICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1saXN0Ij4KICAgICAgICAgICR7dGhpcy5yZWdpc3RyaWVzLm1hcChsPT5NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1pdGVtIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1pbmZvIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWljb24iPgogICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0cnktbmFtZSI+JHtsLm5hbWV9PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LXVybCI+JHtsLnVybH0gKCR7bC51c2VybmFtZX0pPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1hY3Rpb25zIj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUVkaXQobCl9PkVkaXQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGUobCl9PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICBgOk1gCiAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgPHN2ZyBjbGFzcz0iZW1wdHktaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+CiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMuMjcgNi45NiAxMiAxMi4wMSAyMC43MyA2Ljk2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIyMi4wOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktdGl0bGUiPk5vIGV4dGVybmFsIHJlZ2lzdHJpZXM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LWRlc2NyaXB0aW9uIj5BZGQgY3JlZGVudGlhbHMgZm9yIERvY2tlciBIdWIsIEdpdEh1YiBDb250YWluZXIgUmVnaXN0cnksIG9yIG90aGVyIHByaXZhdGUgcmVnaXN0cmllcy48L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImVtcHR5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWRkKCl9PkFkZCBFeHRlcm5hbCBSZWdpc3RyeTwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICBgfQogICAgYH1oYW5kbGVBZGQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhZGQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUVkaXQobCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZWRpdCIse2RldGFpbDpsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlKGwpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZSIse2RldGFpbDpsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGg1ZSh0aGlzLG8pfXN0YXRpY3toNWUoYSxyKX19O3JldHVybiBjPWF9KSgpfSk7dmFyIEI1cixtNWUscEtyLEg1cj1mKCgpPT57dWUoKTtCNXI9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxtNWU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LHBLcj0oKCk9PntsZXQgZT1bcmUoInN6LXNlcnZpY2VzLWxpc3QtdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdO3ZhciBjPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgbD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOkFycmF5fSldLEI1cih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp1PT4ic2VydmljZXMiaW4gdSxnZXQ6dT0+dS5zZXJ2aWNlcyxzZXQ6KHUsZCk9Pnt1LnNlcnZpY2VzPWR9fSxtZXRhZGF0YTpsfSxzLG8pLEI1cihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpsfSxudWxsLHIpLGM9YT10LnZhbHVlLGwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bH0pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LXNlcnZpY2VzLWxpc3QtdmlldwogICAgICAgIC5zZXJ2aWNlcz0ke1t7bmFtZToidGVzdC1uZ2lueCIsaW1hZ2U6Im5naW54OmFscGluZSIsZG9tYWluOiJhcHAuYmxldS5kZSIsc3RhdHVzOiJydW5uaW5nIn0se25hbWU6ImhlbGxvLXdvcmxkIixpbWFnZToibG9jYWxob3N0OjMwMDAvaGVsbG8td29ybGQ6bGF0ZXN0Iixkb21haW46ImhlbGxvLnRhc2sudmMiLHN0YXR1czoicnVubmluZyJ9LHtuYW1lOiJ0ZXN0LXYyIixpbWFnZToibG9jYWxob3N0OjMwMDAvdGVzdC1yZWdpc3RyeTp2MSIsZG9tYWluOm51bGwsc3RhdHVzOiJydW5uaW5nIn0se25hbWU6ImFwaS1zZXJ2aWNlIixpbWFnZToibm9kZToxOC1hbHBpbmUiLGRvbWFpbjoiYXBpLmV4YW1wbGUuY29tIixzdGF0dXM6InN0b3BwZWQifV19CiAgICAgID48L3N6LXNlcnZpY2VzLWxpc3Qtdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPW01ZSh0aGlzLHMsW10pO2dldCBzZXJ2aWNlcygpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlcyhsKXt0aGlzLiNlPWx9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNWZyIDJmciAxLjVmciAxMDBweCAyMDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMmZyIDEuNWZyIDEwMHB4IDIwMHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAudGFibGUtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWU6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuaW1hZ2UgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZG9tYWluLWxpbmsgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CgogICAgICAuZG9tYWluLWxpbms6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0YXJ0aW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc3RvcCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnN0YXJ0IHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5yZXN0YXJ0IHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPk5hbWU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5JbWFnZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnNlcnZpY2VzLmxlbmd0aD4wP3RoaXMuc2VydmljZXMubWFwKGw9Pk1gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VydmljZS1uYW1lIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTZXJ2aWNlQ2xpY2sobCl9PiR7bC5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImltYWdlIiB0aXRsZT0iJHtsLmltYWdlfSI+JHtsLmltYWdlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgJHtsLmRvbWFpbj9NYDxhIGNsYXNzPSJkb21haW4tbGluayIgaHJlZj0iaHR0cHM6Ly8ke2wuZG9tYWlufSIgdGFyZ2V0PSJfYmxhbmsiPiR7bC5kb21haW59PC9hPmA6Ii0ifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHtsLnN0YXR1c30iPiR7bC5zdGF0dXN9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGlvbnMiPgogICAgICAgICAgICAgICR7bC5zdGF0dXM9PT0icnVubmluZyI/TWA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHN0b3AiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbihsLCJzdG9wIil9PlN0b3A8L2J1dHRvbj5gOk1gPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBzdGFydCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKGwsInN0YXJ0Iil9PlN0YXJ0PC9idXR0b24+YH0KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHJlc3RhcnQiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbihsLCJyZXN0YXJ0Iil9PlJlc3RhcnQ8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKGwsImRlbGV0ZSIpfT5EZWxldGU8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCk6TWAKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBzZXJ2aWNlcyBkZXBsb3llZDwvZGl2PgogICAgICAgIGB9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVTZXJ2aWNlQ2xpY2sobCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1jbGljayIse2RldGFpbDpsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQWN0aW9uKGwsdSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1hY3Rpb24iLHtkZXRhaWw6e3NlcnZpY2U6bCxhY3Rpb246dX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksbTVlKHRoaXMsbyl9c3RhdGlje201ZShhLHIpfX07cmV0dXJuIGM9YX0pKCl9KTt2YXIgZzVlLFR2LGZLcixxNXI9ZigoKT0+e3VlKCk7ZzVlPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sVHY9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGZLcj0oKCk9PntsZXQgZT1bcmUoInN6LXNlcnZpY2VzLWJhY2t1cHMtdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgaD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOkFycmF5fSldLGM9W0Yoe3R5cGU6QXJyYXl9KV0sZzVlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2NoZWR1bGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4ic2NoZWR1bGVzImluIG0sZ2V0Om09Pm0uc2NoZWR1bGVzLHNldDoobSx2KT0+e20uc2NoZWR1bGVzPXZ9fSxtZXRhZGF0YTpofSxzLG8pLGc1ZSh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhY2t1cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJiYWNrdXBzImluIG0sZ2V0Om09Pm0uYmFja3VwcyxzZXQ6KG0sdik9PnttLmJhY2t1cHM9dn19LG1ldGFkYXRhOmh9LGwsdSksZzVlKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmh9LG51bGwsciksZD1hPXQudmFsdWUsaCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpofSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otc2VydmljZXMtYmFja3Vwcy12aWV3CiAgICAgICAgLnNjaGVkdWxlcz0ke1t7aWQ6IjEiLHNjb3BlOiJBbGwgU2VydmljZXMiLHJldGVudGlvbjoiRDo3LCBXOjQsIE06MTIiLHNjaGVkdWxlOiIwIDIgKiAqICoiLGxhc3RSdW46IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixuZXh0UnVuOiIxLzMvMjAyNiwgMjowMDowMCBBTSIsc3RhdHVzOiJhY3RpdmUifV19CiAgICAgICAgLmJhY2t1cHM9JHtbe2lkOiIxIixzZXJ2aWNlOiJ0ZXN0LW5naW54IixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixzaXplOiIyMi4wIE1CIixpbmNsdWRlczpbIkltYWdlIl19LHtpZDoiMiIsc2VydmljZToiaGVsbG8td29ybGQiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDIgQU0iLHNpemU6IjIxLjUgTUIiLGluY2x1ZGVzOlsiSW1hZ2UiXX0se2lkOiIzIixzZXJ2aWNlOiJ0ZXN0LWNoLWZpbmFsIixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAwIEFNIixzaXplOiIyMi4wIE1CIixpbmNsdWRlczpbIkltYWdlIiwiY2xpY2tob3VzZSJdfV19CiAgICAgID48L3N6LXNlcnZpY2VzLWJhY2t1cHMtdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPVR2KHRoaXMscyxbXSk7Z2V0IHNjaGVkdWxlcygpe3JldHVybiB0aGlzLiNlfXNldCBzY2hlZHVsZXMoaCl7dGhpcy4jZT1ofSN0PShUdih0aGlzLG8pLFR2KHRoaXMsbCxbXSkpO2dldCBiYWNrdXBzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJhY2t1cHMoaCl7dGhpcy4jdD1ofXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAudGFibGUtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zY2hlZHVsZXMtaGVhZGVyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDEuNWZyIDEuNWZyIDgwcHggMTIwcHg7CiAgICAgIH0KCiAgICAgIC5iYWNrdXBzLWhlYWRlciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjVmciAxLjVmciAxMDBweCAxZnIgMTIwcHg7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5zY2hlZHVsZXMtcm93IHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDEuNWZyIDEuNWZyIDgwcHggMTIwcHg7CiAgICAgIH0KCiAgICAgIC5iYWNrdXBzLXJvdyB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjVmciAxLjVmciAxMDBweCAxZnIgMTIwcHg7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZmFpbGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5tZXRhLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuaW5jbHVkZXMtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5pbmNsdWRlLWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5yb3ctYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uLmRhbmdlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWluZm8iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5CYWNrdXAgU2NoZWR1bGVzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkNvbmZpZ3VyZSBhdXRvbWF0ZWQgYmFja3VwIHNjaGVkdWxlcyBmb3IgeW91ciBzZXJ2aWNlczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUltcG9ydCgpfT4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNyA4IDEyIDMgNyA4Ii8+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIzIiB4Mj0iMTIiIHkyPSIxNSIvPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIEltcG9ydCBCYWNrdXAKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlU2NoZWR1bGUoKX0+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBDcmVhdGUgU2NoZWR1bGUKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIgc2NoZWR1bGVzLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5TY29wZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlJldGVudGlvbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlNjaGVkdWxlPC9zcGFuPgogICAgICAgICAgPHNwYW4+TGFzdCBSdW48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5OZXh0IFJ1bjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnNjaGVkdWxlcy5tYXAoaD0+TWAKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyBzY2hlZHVsZXMtcm93Ij4KICAgICAgICAgICAgPHNwYW4+JHtoLnNjb3BlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCIgdGl0bGU9IktlZXA6ICR7aC5yZXRlbnRpb259Ij4ke2gucmV0ZW50aW9ufTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCI+JHtoLnNjaGVkdWxlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCI+JHtoLmxhc3RSdW58fCItIn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiPiR7aC5uZXh0UnVufHwiLSJ9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7aC5zdGF0dXN9IiB0aXRsZT0iJHtoLmVycm9yfHwiIn0iPgogICAgICAgICAgICAgICAgJHtoLnN0YXR1cz09PSJhY3RpdmUiPyJBY3RpdmUiOmguc3RhdHVzPT09ImZhaWxlZCI/IkZhaWxlZCI6IkRpc2FibGVkIn0KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJvdy1hY3Rpb25zIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IlJ1biBiYWNrdXAgbm93IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSdW5Ob3coaCl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cG9seWdvbiBwb2ludHM9IjUsMyAxOSwxMiA1LDIxIi8+PC9zdmc+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSIke2guc3RhdHVzPT09ImRpc2FibGVkIj8iRW5hYmxlIjoiRGlzYWJsZSJ9IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVUb2dnbGUoaCl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICR7aC5zdGF0dXM9PT0iZGlzYWJsZWQiP01gPHBvbHlsaW5lIHBvaW50cz0iMjAgNiA5IDE3IDQgMTIiPjwvcG9seWxpbmU+YDpNYDxyZWN0IHg9IjYiIHk9IjYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz5gfQogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24gZGFuZ2VyIiB0aXRsZT0iRGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGVTY2hlZHVsZShoKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyw2IDUsNiAyMSw2Ii8+PHBhdGggZD0iTTE5LDZ2MTRhMiwyLDAsMCwxLTIsMkg3YTIsMiwwLDAsMS0yLTJWNm0zLDBWNGEyLDIsMCwwLDEsMi0yaDRhMiwyLDAsMCwxLDIsMnYyIi8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1pbmZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QWxsIEJhY2t1cHM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+QnJvd3NlIGFuZCBtYW5hZ2UgYWxsIGJhY2t1cHMgYWNyb3NzIHNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIgYmFja3Vwcy1oZWFkZXIiPgogICAgICAgICAgPHNwYW4+U2VydmljZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkNyZWF0ZWQ8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TaXplPC9zcGFuPgogICAgICAgICAgPHNwYW4+SW5jbHVkZXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5BY3Rpb25zPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5iYWNrdXBzLm1hcChoPT5NYAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93IGJhY2t1cHMtcm93Ij4KICAgICAgICAgICAgPHNwYW4+JHtoLnNlcnZpY2V9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0Ij4ke2guY3JlYXRlZEF0fTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCI+JHtoLnNpemV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5jbHVkZXMtbGlzdCI+CiAgICAgICAgICAgICAgJHtoLmluY2x1ZGVzLm1hcChtPT5NYDxzcGFuIGNsYXNzPSJpbmNsdWRlLWJhZGdlIj4ke219PC9zcGFuPmApfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyb3ctYWN0aW9ucyI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJEb3dubG9hZCBiYWNrdXAiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURvd25sb2FkKGgpfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIvPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI3IDEwIDEyIDE1IDE3IDEwIi8+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE1IiB4Mj0iMTIiIHkyPSIzIi8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiBkYW5nZXIiIHRpdGxlPSJEZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZUJhY2t1cChoKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyw2IDUsNiAyMSw2Ii8+PHBhdGggZD0iTTE5LDZ2MTRhMiwyLDAsMCwxLTIsMkg3YTIsMiwwLDAsMS0yLTJWNm0zLDBWNGEyLDIsMCwwLDEsMi0yaDRhMiwyLDAsMCwxLDIsMnYyIi8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVJbXBvcnQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpbXBvcnQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNyZWF0ZVNjaGVkdWxlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlLXNjaGVkdWxlIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSdW5Ob3coaCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicnVuLW5vdyIse2RldGFpbDpoLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlVG9nZ2xlKGgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRvZ2dsZS1zY2hlZHVsZSIse2RldGFpbDpoLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlU2NoZWR1bGUoaCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLXNjaGVkdWxlIix7ZGV0YWlsOmgsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEb3dubG9hZChoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkb3dubG9hZCIse2RldGFpbDpoLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlQmFja3VwKGgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZS1iYWNrdXAiLHtkZXRhaWw6aCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxUdih0aGlzLHUpfXN0YXRpY3tUdihhLHIpfX07cmV0dXJuIGQ9YX0pKCl9KTt2YXIgVmMsbm4saEtyLGo1cj1mKCgpPT57dWUoKTtIZigpO1ZjPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sbm49ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LGhLcj0oKCk9PntsZXQgZT1bcmUoInN6LXNlcnZpY2UtZGV0YWlsLXZpZXciKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXSx5LHc9W10saz1bXSxSLEM9W10sUz1bXSxPLEQ9W10sTj1bXSxxLF89W10sej1bXTt2YXIgRT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IFQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpPYmplY3R9KV0sYz1bRih7dHlwZTpPYmplY3R9KV0sZD1bRih7dHlwZTpBcnJheX0pXSx2PVtGKHt0eXBlOkFycmF5fSldLHk9W0Yoe3R5cGU6Qm9vbGVhbn0pXSxSPVtGKHt0eXBlOk9iamVjdH0pXSxPPVtGKHt0eXBlOlN0cmluZ30pXSxxPVtzZSgpXSxWYyh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJzZXJ2aWNlImluIEwsZ2V0Okw9Pkwuc2VydmljZSxzZXQ6KEwsVik9PntMLnNlcnZpY2U9Vn19LG1ldGFkYXRhOlR9LHMsbyksVmModGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6TD0+InN0YXRzImluIEwsZ2V0Okw9Pkwuc3RhdHMsc2V0OihMLFYpPT57TC5zdGF0cz1WfX0sbWV0YWRhdGE6VH0sbCx1KSxWYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhY2t1cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJiYWNrdXBzImluIEwsZ2V0Okw9PkwuYmFja3VwcyxzZXQ6KEwsVik9PntMLmJhY2t1cHM9Vn19LG1ldGFkYXRhOlR9LGgsbSksVmModGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2dzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4ibG9ncyJpbiBMLGdldDpMPT5MLmxvZ3Msc2V0OihMLFYpPT57TC5sb2dzPVZ9fSxtZXRhZGF0YTpUfSxiLGcpLFZjKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RyZWFtaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4ic3RyZWFtaW5nImluIEwsZ2V0Okw9Pkwuc3RyZWFtaW5nLHNldDooTCxWKT0+e0wuc3RyZWFtaW5nPVZ9fSxtZXRhZGF0YTpUfSx3LGspLFZjKHRoaXMsbnVsbCxSLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid29ya3NwYWNlRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJ3b3Jrc3BhY2VFbnZpcm9ubWVudCJpbiBMLGdldDpMPT5MLndvcmtzcGFjZUVudmlyb25tZW50LHNldDooTCxWKT0+e0wud29ya3NwYWNlRW52aXJvbm1lbnQ9Vn19LG1ldGFkYXRhOlR9LEMsUyksVmModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3b3Jrc3BhY2VQYXRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpMPT4id29ya3NwYWNlUGF0aCJpbiBMLGdldDpMPT5MLndvcmtzcGFjZVBhdGgsc2V0OihMLFYpPT57TC53b3Jrc3BhY2VQYXRoPVZ9fSxtZXRhZGF0YTpUfSxELE4pLFZjKHRoaXMsbnVsbCxxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFZpZXciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkw9PiJjdXJyZW50VmlldyJpbiBMLGdldDpMPT5MLmN1cnJlbnRWaWV3LHNldDooTCxWKT0+e0wuY3VycmVudFZpZXc9Vn19LG1ldGFkYXRhOlR9LF8seiksVmMobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6VH0sbnVsbCxyKSxFPWE9dC52YWx1ZSxUJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlR9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1zZXJ2aWNlLWRldGFpbC12aWV3CiAgICAgICAgLnNlcnZpY2U9JHt7bmFtZToidGVzdC1uZ2lueCIsc3RhdHVzOiJydW5uaW5nIixpbWFnZToibmdpbng6YWxwaW5lIixwb3J0OjgwLGRvbWFpbjoiYXBwLmJsZXUuZGUiLGNvbnRhaW5lcklkOiJwY2hiYnI5ZmpyNGciLGNyZWF0ZWQ6IjExLzE4LzIwMjUsIDI6MDY6NTUgUE0iLHVwZGF0ZWQ6IjExLzI2LzIwMjUsIDQ6MDU6NDYgUE0iLHJlZ2lzdHJ5OiJEb2NrZXIgSHViIixyZXBvc2l0b3J5OiJuZ2lueCIsdGFnOiJhbHBpbmUifX0KICAgICAgICAuc3RhdHM9JHt7Y3B1Oi41LG1lbW9yeToiMzIuMSBNQiIsbWVtb3J5TGltaXQ6IjYxLjMgR0IiLG5ldHdvcmtJbjoiNi40IEtCIixuZXR3b3JrT3V0OiIyNTIgQiJ9fQogICAgICAgIC5iYWNrdXBzPSR7W3tpZDoiMSIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMyBBTSIsc2l6ZToiMjEuOTYgTUIiLHR5cGU6IkRvY2tlciBJbWFnZSJ9LHtpZDoiMiIsY3JlYXRlZEF0OiIxMS8yNy8yMDI1LCAxOjQyOjI2IFBNIixzaXplOiI1MS43NiBNQiIsdHlwZToiRG9ja2VyIEltYWdlIn1dfQogICAgICAgIC5sb2dzPSR7W3t0aW1lc3RhbXA6IjIwMjQtMDEtMDIgMTA6MTU6MzIiLG1lc3NhZ2U6JzE5Mi4xNjguMS4xMDAgLSAtIFswMi9KYW4vMjAyNDoxMDoxNTozMiArMDAwMF0gIkdFVCAvIEhUVFAvMS4xIiAyMDAgNjEyJ30se3RpbWVzdGFtcDoiMjAyNC0wMS0wMiAxMDoxNTozMCIsbWVzc2FnZTonMTkyLjE2OC4xLjEwMCAtIC0gWzAyL0phbi8yMDI0OjEwOjE1OjMwICswMDAwXSAiR0VUIC9mYXZpY29uLmljbyBIVFRQLzEuMSIgNDA0IDE1Myd9XX0KICAgICAgPjwvc3otc2VydmljZS1kZXRhaWwtdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPW5uKHRoaXMscyx7bmFtZToiIixzdGF0dXM6InN0b3BwZWQiLGltYWdlOiIiLHBvcnQ6MCxkb21haW46bnVsbCxjb250YWluZXJJZDoiIixjcmVhdGVkOiIiLHVwZGF0ZWQ6IiIscmVnaXN0cnk6IiIscmVwb3NpdG9yeToiIix0YWc6IiJ9KTtnZXQgc2VydmljZSgpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlKFQpe3RoaXMuI2U9VH0jdD0obm4odGhpcyxvKSxubih0aGlzLGwse2NwdTowLG1lbW9yeToiMCBNQiIsbWVtb3J5TGltaXQ6IjAgR0IiLG5ldHdvcmtJbjoiMCBCIixuZXR3b3JrT3V0OiIwIEIifSkpO2dldCBzdGF0cygpe3JldHVybiB0aGlzLiN0fXNldCBzdGF0cyhUKXt0aGlzLiN0PVR9I3I9KG5uKHRoaXMsdSksbm4odGhpcyxoLFtdKSk7Z2V0IGJhY2t1cHMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYmFja3VwcyhUKXt0aGlzLiNyPVR9I2E9KG5uKHRoaXMsbSksbm4odGhpcyxiLFtdKSk7Z2V0IGxvZ3MoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbG9ncyhUKXt0aGlzLiNhPVR9I2k9KG5uKHRoaXMsZyksbm4odGhpcyx3LCExKSk7Z2V0IHN0cmVhbWluZygpe3JldHVybiB0aGlzLiNpfXNldCBzdHJlYW1pbmcoVCl7dGhpcy4jaT1UfSNuPShubih0aGlzLGspLG5uKHRoaXMsQyxudWxsKSk7Z2V0IHdvcmtzcGFjZUVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMuI259c2V0IHdvcmtzcGFjZUVudmlyb25tZW50KFQpe3RoaXMuI249VH0jcz0obm4odGhpcyxTKSxubih0aGlzLEQsIi8iKSk7Z2V0IHdvcmtzcGFjZVBhdGgoKXtyZXR1cm4gdGhpcy4jc31zZXQgd29ya3NwYWNlUGF0aChUKXt0aGlzLiNzPVR9I289KG5uKHRoaXMsTiksbm4odGhpcyxfLCJkZXRhaWxzIikpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNvfXNldCBjdXJyZW50VmlldyhUKXt0aGlzLiNvPVR9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuYmFjay1saW5rIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYmFjay1saW5rOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VydmljZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuY29udGVudCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWFpbi1jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2lkZWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jYXJkLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2FyZC1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuY2FyZC1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZGV0YWlsLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgfQoKICAgICAgLmRldGFpbC12YWx1ZSBhIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLmRldGFpbC12YWx1ZSBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLnN0YXRzLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0LWl0ZW0gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgfQoKICAgICAgLnN0YXQtbGFiZWwgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5zdGF0LXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3RhdC1zdWJ2YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGFuZ2VyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmJhY2t1cC1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5iYWNrdXAtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KCiAgICAgIC5iYWNrdXAtaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAuYmFja3VwLWRhdGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYmFja3VwLW1ldGEgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuYmFja3VwLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5sb2dzLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmxvZ3MtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuc3RyZWFtLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuc3RyZWFtLWJ1dHRvbi5zdHJlYW1pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmNsZWFyLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5sb2dzLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1lbnRyeSB7CiAgICAgICAgcGFkZGluZzogMnB4IDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICB9CgogICAgICAuZW1wdHktbG9ncyB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnRhZy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICA6aG9zdCgud29ya3NwYWNlLW1vZGUpIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAud29ya3NwYWNlLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1iYWNrLWxpbmsgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1iYWNrLWxpbms6aG92ZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzFkNGVkOCIsIiM5M2M1ZmQiKX07CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utc2VydmljZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAud29ya3NwYWNlLXN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1zdGF0dXMtYmFkZ2UucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAud29ya3NwYWNlLXN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2VmNDQ0NCIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50Vmlldz09PSJ3b3Jrc3BhY2UiP3RoaXMucmVuZGVyV29ya3NwYWNlVmlldygpOnRoaXMucmVuZGVyRGV0YWlsc1ZpZXcoKX1yZW5kZXJXb3Jrc3BhY2VWaWV3KCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9IndvcmtzcGFjZS13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ3b3Jrc3BhY2UtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmtzcGFjZS1iYWNrLWxpbmsiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNsb3NlV29ya3NwYWNlKCl9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBCYWNrIHRvIERldGFpbHMKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHNwYW4gY2xhc3M9IndvcmtzcGFjZS1zZXJ2aWNlLW5hbWUiPiR7dGhpcy5zZXJ2aWNlLm5hbWV9PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9IndvcmtzcGFjZS1zdGF0dXMtYmFkZ2UgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzfSI+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IndvcmtzcGFjZS1jb250YWluZXIiPgogICAgICAgICAgPGRlZXMtd29ya3NwYWNlIC5leGVjdXRpb25FbnZpcm9ubWVudD0ke3RoaXMud29ya3NwYWNlRW52aXJvbm1lbnR9PjwvZGVlcy13b3Jrc3BhY2U+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJEZXRhaWxzVmlldygpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImJhY2stbGluayIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQmFjaygpfT4KICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIEJhY2sgdG8gU2VydmljZXMKICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWhlYWRlciIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDI0cHg7Ij4KICAgICAgICA8aDEgY2xhc3M9InNlcnZpY2UtbmFtZSI+JHt0aGlzLnNlcnZpY2UubmFtZX08L2gxPgogICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzfSI+JHt0aGlzLnNlcnZpY2Uuc3RhdHVzfTwvc3Bhbj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWNvbnRlbnQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10aXRsZSI+U2VydmljZSBEZXRhaWxzPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgc3R5bGU9IndpZHRoOiBhdXRvOyBwYWRkaW5nOiA2cHggMTJweDsiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUVkaXQoKX0+RWRpdDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtbGlzdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkltYWdlPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3RoaXMuc2VydmljZS5pbWFnZX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+UG9ydDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UucG9ydH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RG9tYWluPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAke3RoaXMuc2VydmljZS5kb21haW4/TWA8YSBocmVmPSJodHRwczovLyR7dGhpcy5zZXJ2aWNlLmRvbWFpbn0iIHRhcmdldD0iX2JsYW5rIj4ke3RoaXMuc2VydmljZS5kb21haW59PC9hPmA6Ii0ifQogICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+Q29udGFpbmVyIElEPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3RoaXMuc2VydmljZS5jb250YWluZXJJZH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+Q3JlYXRlZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UuY3JlYXRlZH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+VXBkYXRlZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UudXBkYXRlZH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ3MtaGVhZGVyIiBzdHlsZT0id2lkdGg6IDEwMCU7Ij4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkxvZ3M8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1zdWJ0aXRsZSI+Q29udGFpbmVyIGxvZ3M8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9ncy1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ic3RyZWFtLWJ1dHRvbiAke3RoaXMuc3RyZWFtaW5nPyJzdHJlYW1pbmciOiIifSIgQGNsaWNrPSR7KCk9PnRoaXMudG9nZ2xlU3RyZWFtaW5nKCl9PgogICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgICAgICAke3RoaXMuc3RyZWFtaW5nP01gPHJlY3QgeD0iNiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiByeD0iMSIvPmA6TWA8cG9seWdvbiBwb2ludHM9IjUsMyAxOSwxMiA1LDIxIi8+YH0KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAke3RoaXMuc3RyZWFtaW5nPyJTdG9wIjoiU3RyZWFtIn0KICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNsZWFyLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2xlYXJMb2dzKCl9PkNsZWFyIGxvZ3M8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9ncy1jb250YWluZXIiPgogICAgICAgICAgICAgICR7dGhpcy5sb2dzLmxlbmd0aD4wP3RoaXMubG9ncy5tYXAoVD0+TWAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZy1lbnRyeSI+JHtULnRpbWVzdGFtcH0gJHtULm1lc3NhZ2V9PC9kaXY+CiAgICAgICAgICAgICAgYCk6TWAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LWxvZ3MiPkNsaWNrICJTdHJlYW0iIHRvIHN0YXJ0IGxpdmUgbG9nIHN0cmVhbWluZzwvZGl2PgogICAgICAgICAgICAgIGB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj5MaXZlIHN0YXRzPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRzLWdyaWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+Q1BVPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtdmFsdWUiPiR7dGhpcy5zdGF0cy5jcHUudG9GaXhlZCgxKX0lPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPk1lbW9yeTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXZhbHVlIj4ke3RoaXMuc3RhdHMubWVtb3J5fTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXN1YnZhbHVlIj5vZiAke3RoaXMuc3RhdHMubWVtb3J5TGltaXR9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPk5ldHdvcmsgSW48L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC12YWx1ZSI+JHt0aGlzLnN0YXRzLm5ldHdvcmtJbn08L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+TmV0d29yayBPdXQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC12YWx1ZSI+JHt0aGlzLnN0YXRzLm5ldHdvcmtPdXR9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj5BY3Rpb25zPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXN1YnRpdGxlIj5NYW5hZ2Ugc2VydmljZSBzdGF0ZTwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zLWdyaWQiPgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzPT09InJ1bm5pbmciP01gPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJzdG9wIil9PlN0b3AgU2VydmljZTwvYnV0dG9uPmA6TWA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oInN0YXJ0Iil9PlN0YXJ0IFNlcnZpY2U8L2J1dHRvbj5gfQogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJyZXN0YXJ0Iil9PlJlc3RhcnQgU2VydmljZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlT3BlbldvcmtzcGFjZSgpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3R5bGU9ImRpc3BsYXk6IGlubGluZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgbWFyZ2luLXJpZ2h0OiA0cHg7Ij4KICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI0IDE3IDEwIDExIDQgNSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjIwIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIE9wZW4gV29ya3NwYWNlCiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oImRlbGV0ZSIpfT5EZWxldGUgU2VydmljZTwvYnV0dG9uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkltYWdlIFNvdXJjZTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1zdWJ0aXRsZSI+JHt0aGlzLnNlcnZpY2UucmVnaXN0cnk9PT0iRG9ja2VyIEh1YiI/IkV4dGVybmFsIGNvbnRhaW5lciByZWdpc3RyeSI6Ik9uZWJveCByZWdpc3RyeSJ9PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1saXN0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+UmVnaXN0cnk8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnJlZ2lzdHJ5fTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5SZXBvc2l0b3J5PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3RoaXMuc2VydmljZS5yZXBvc2l0b3J5fTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5UYWc8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPjxzcGFuIGNsYXNzPSJ0YWctYmFkZ2UiPiR7dGhpcy5zZXJ2aWNlLnRhZ308L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10aXRsZSI+QmFja3VwczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1zdWJ0aXRsZSI+Q3JlYXRlIGFuZCBtYW5hZ2Ugc2VydmljZSBiYWNrdXBzPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgc3R5bGU9IndpZHRoOiBhdXRvOyBwYWRkaW5nOiA2cHggMTJweDsiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNyZWF0ZUJhY2t1cCgpfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDRweDsiPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICBDcmVhdGUgQmFja3VwCiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1saXN0Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5iYWNrdXBzLm1hcChUPT5NYAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLWluZm8iPgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLWRhdGUiPiR7VC5jcmVhdGVkQXR9PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtbWV0YSI+JHtULnNpemV9IMK3ICR7VC50eXBlfTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiB0aXRsZT0iRG93bmxvYWQiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURvd25sb2FkQmFja3VwKFQpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI3IDEwIDEyIDE1IDE3IDEwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTUiIHgyPSIxMiIgeTI9IjMiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiB0aXRsZT0iUmVzdG9yZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUmVzdG9yZUJhY2t1cChUKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjEgNCAxIDEwIDcgMTAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMy41MSAxNWE5IDkgMCAxIDAgMi4xMy05LjM2TDEgMTAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiB0aXRsZT0iRGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGVCYWNrdXAoVCl9PgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzLDYgNSw2IDIxLDYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTksNnYxNGEyLDIsMCwwLDEtMiwySDdhMiwyLDAsMCwxLTItMlY2bTMsMFY0YTIsMiwwLDAsMSwyLTJoNGEyLDIsMCwwLDEsMiwydjIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZUJhY2soKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJiYWNrIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVFZGl0KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZWRpdCIse2RldGFpbDp0aGlzLnNlcnZpY2UsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBY3Rpb24oVCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1hY3Rpb24iLHtkZXRhaWw6e3NlcnZpY2U6dGhpcy5zZXJ2aWNlLGFjdGlvbjpUfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXRvZ2dsZVN0cmVhbWluZygpe3RoaXMuc3RyZWFtaW5nPSF0aGlzLnN0cmVhbWluZyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdHJlYW0tdG9nZ2xlIix7ZGV0YWlsOntzdHJlYW1pbmc6dGhpcy5zdHJlYW1pbmd9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ2xlYXJMb2dzKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xlYXItbG9ncyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ3JlYXRlQmFja3VwKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlLWJhY2t1cCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRG93bmxvYWRCYWNrdXAoVCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZG93bmxvYWQtYmFja3VwIix7ZGV0YWlsOlQsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSZXN0b3JlQmFja3VwKFQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlc3RvcmUtYmFja3VwIix7ZGV0YWlsOlQsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGVCYWNrdXAoVCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLWJhY2t1cCIse2RldGFpbDpULGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlT3BlbldvcmtzcGFjZSgpe3RoaXMud29ya3NwYWNlRW52aXJvbm1lbnQ/KHRoaXMuY3VycmVudFZpZXc9IndvcmtzcGFjZSIsdGhpcy5jbGFzc0xpc3QuYWRkKCJ3b3Jrc3BhY2UtbW9kZSIpKTp0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXF1ZXN0LXdvcmtzcGFjZSIse2RldGFpbDp7c2VydmljZTp0aGlzLnNlcnZpY2V9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ2xvc2VXb3Jrc3BhY2UoKXt0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWxzIix0aGlzLmNsYXNzTGlzdC5yZW1vdmUoIndvcmtzcGFjZS1tb2RlIil9dXBkYXRlZChUKXtzdXBlci51cGRhdGVkKFQpLFQuaGFzKCJ3b3Jrc3BhY2VFbnZpcm9ubWVudCIpJiZ0aGlzLndvcmtzcGFjZUVudmlyb25tZW50JiZ0aGlzLmN1cnJlbnRWaWV3PT09ImRldGFpbHMiJiYodGhpcy5jdXJyZW50Vmlldz0id29ya3NwYWNlIix0aGlzLmNsYXNzTGlzdC5hZGQoIndvcmtzcGFjZS1tb2RlIikpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxubih0aGlzLHopfXN0YXRpY3tubihhLHIpfX07cmV0dXJuIEU9YX0pKCl9KTt2YXIgYjVlLF92LG1LcixWNXI9ZigoKT0+e3VlKCk7YjVlPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sX3Y9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LG1Lcj0oKCk9PntsZXQgZT1bcmUoInN6LXRva2Vucy12aWV3IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBoPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6QXJyYXl9KV0sYz1bRih7dHlwZTpBcnJheX0pXSxiNWUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJnbG9iYWxUb2tlbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJnbG9iYWxUb2tlbnMiaW4gbSxnZXQ6bT0+bS5nbG9iYWxUb2tlbnMsc2V0OihtLHYpPT57bS5nbG9iYWxUb2tlbnM9dn19LG1ldGFkYXRhOmh9LHMsbyksYjVlKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2lUb2tlbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOm09PiJjaVRva2VucyJpbiBtLGdldDptPT5tLmNpVG9rZW5zLHNldDoobSx2KT0+e20uY2lUb2tlbnM9dn19LG1ldGFkYXRhOmh9LGwsdSksYjVlKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmh9LG51bGwsciksZD1hPXQudmFsdWUsaCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpofSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEwMDBweDsiPgogICAgICA8c3otdG9rZW5zLXZpZXcKICAgICAgICAuZ2xvYmFsVG9rZW5zPSR7W3tpZDoiMSIsbmFtZToiQ0kvQ0QgUGlwZWxpbmUiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTE1IixsYXN0VXNlZDoiMjAyNC0wMS0yMCJ9LHtpZDoiMiIsbmFtZToiRGV2ZWxvcG1lbnQiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIn1dfQogICAgICAgIC5jaVRva2Vucz0ke1t7aWQ6IjMiLG5hbWU6ImhlbGxvLXdvcmxkLWNpIix0eXBlOiJjaSIsc2VydmljZToiaGVsbG8td29ybGQiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xOCJ9LHtpZDoiNCIsbmFtZToiYXBpLXNlcnZpY2UtY2kiLHR5cGU6ImNpIixzZXJ2aWNlOiJhcGktc2VydmljZSIsY3JlYXRlZEF0OiIyMDI0LTAxLTEyIixsYXN0VXNlZDoiMjAyNC0wMS0xOSJ9XX0KICAgICAgPjwvc3otdG9rZW5zLXZpZXc+CiAgICA8L2Rpdj4KICBgO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXV0aCAmIFNldHRpbmdzIl07I2U9X3YodGhpcyxzLFtdKTtnZXQgZ2xvYmFsVG9rZW5zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGdsb2JhbFRva2VucyhoKXt0aGlzLiNlPWh9I3Q9KF92KHRoaXMsbyksX3YodGhpcyxsLFtdKSk7Z2V0IGNpVG9rZW5zKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNpVG9rZW5zKGgpe3RoaXMuI3Q9aH1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuY3JlYXRlLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmNyZWF0ZS1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLnRva2VuLWxpc3QgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC50b2tlbi1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLnRva2VuLWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLnRva2VuLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnRva2VuLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50b2tlbi1tZXRhIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnRva2VuLXNlcnZpY2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIG1hcmdpbi1yaWdodDogOHB4OwogICAgICB9CgogICAgICAudG9rZW4tYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgcGFkZGluZzogMzJweCAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmVtcHR5LXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taW5mbyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkdsb2JhbCBUb2tlbnM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+VG9rZW5zIHRoYXQgY2FuIHB1c2ggaW1hZ2VzIHRvIG11bHRpcGxlIHNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNyZWF0ZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNyZWF0ZSgiZ2xvYmFsIil9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDcmVhdGUgVG9rZW4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5nbG9iYWxUb2tlbnMubGVuZ3RoPjA/TWAKICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWxpc3QiPgogICAgICAgICAgICAke3RoaXMuZ2xvYmFsVG9rZW5zLm1hcChoPT50aGlzLnJlbmRlclRva2VuKGgpKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6TWAKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktdGV4dCI+Tm8gZ2xvYmFsIHRva2VucyBjcmVhdGVkPC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImVtcHR5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCJnbG9iYWwiKX0+Q3JlYXRlIEdsb2JhbCBUb2tlbjwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYH0KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWluZm8iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DSSBUb2tlbnMgKFNlcnZpY2Utc3BlY2lmaWMpPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlRva2VucyB0aWVkIHRvIGluZGl2aWR1YWwgc2VydmljZXMgZm9yIENJL0NEIHBpcGVsaW5lczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjcmVhdGUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoImNpIil9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDcmVhdGUgVG9rZW4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5jaVRva2Vucy5sZW5ndGg+MD9NYAogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbGlzdCI+CiAgICAgICAgICAgICR7dGhpcy5jaVRva2Vucy5tYXAoaD0+dGhpcy5yZW5kZXJUb2tlbihoKSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOk1gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXRleHQiPk5vIENJIHRva2VucyBjcmVhdGVkPC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImVtcHR5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCJjaSIpfT5DcmVhdGUgQ0kgVG9rZW48L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGB9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJUb2tlbihoKXtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taW5mbyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4ke2gubmFtZX08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW1ldGEiPgogICAgICAgICAgICAke2guc2VydmljZT9NYDxzcGFuIGNsYXNzPSJ0b2tlbi1zZXJ2aWNlIj4ke2guc2VydmljZX08L3NwYW4+YDoiIn0KICAgICAgICAgICAgQ3JlYXRlZCAke2guY3JlYXRlZEF0fQogICAgICAgICAgICAke2gubGFzdFVzZWQ/TWAgwrcgTGFzdCB1c2VkICR7aC5sYXN0VXNlZH1gOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tYWN0aW9ucyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDb3B5KGgpfT5Db3B5PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZWdlbmVyYXRlKGgpfT5SZWdlbmVyYXRlPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVsZXRlKGgpfT5EZWxldGU8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZUNyZWF0ZShoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjcmVhdGUiLHtkZXRhaWw6e3R5cGU6aH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDb3B5KGgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvcHkiLHtkZXRhaWw6aCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlZ2VuZXJhdGUoaCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVnZW5lcmF0ZSIse2RldGFpbDpoLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlKGgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZSIse2RldGFpbDpoLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLF92KHRoaXMsdSl9c3RhdGlje192KGEscil9fTtyZXR1cm4gZD1hfSkoKX0pO3ZhciB2NWUsTHYsZ0tyLFU1cj1mKCgpPT57dWUoKTt2NWU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxMdj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sZ0tyPSgoKT0+e2xldCBlPVtyZSgic3otc2V0dGluZ3MtdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgaD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOk9iamVjdH0pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSx2NWUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXR0aW5ncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+InNldHRpbmdzImluIG0sZ2V0Om09Pm0uc2V0dGluZ3Msc2V0OihtLHYpPT57bS5zZXR0aW5ncz12fX0sbWV0YWRhdGE6aH0scyxvKSx2NWUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VXNlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+ImN1cnJlbnRVc2VyImluIG0sZ2V0Om09Pm0uY3VycmVudFVzZXIsc2V0OihtLHYpPT57bS5jdXJyZW50VXNlcj12fX0sbWV0YWRhdGE6aH0sbCx1KSx2NWUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6aH0sbnVsbCxyKSxkPWE9dC52YWx1ZSxoJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmh9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXNldHRpbmdzLXZpZXcKICAgICAgICAuc2V0dGluZ3M9JHt7ZGFya01vZGU6ITAsY2xvdWRmbGFyZVRva2VuOiIiLGNsb3VkZmxhcmVab25lSWQ6IiIsYXV0b1JlbmV3Q2VydHM6ITAscmVuZXdhbFRocmVzaG9sZDozMCxhY21lRW1haWw6ImNlcnRzQGV4YW1wbGUuY29tIixodHRwUG9ydDo4MCxodHRwc1BvcnQ6NDQzLGZvcmNlSHR0cHM6ITB9fQogICAgICAgIGN1cnJlbnRVc2VyPSJhZG1pbiIKICAgICAgPjwvc3otc2V0dGluZ3Mtdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1Mdih0aGlzLHMse2RhcmtNb2RlOiExLGNsb3VkZmxhcmVUb2tlbjoiIixjbG91ZGZsYXJlWm9uZUlkOiIiLGF1dG9SZW5ld0NlcnRzOiEwLHJlbmV3YWxUaHJlc2hvbGQ6MzAsYWNtZUVtYWlsOiIiLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsZm9yY2VIdHRwczohMH0pO2dldCBzZXR0aW5ncygpe3JldHVybiB0aGlzLiNlfXNldCBzZXR0aW5ncyhoKXt0aGlzLiNlPWh9I3Q9KEx2KHRoaXMsbyksTHYodGhpcyxsLCIiKSk7Z2V0IGN1cnJlbnRVc2VyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGN1cnJlbnRVc2VyKGgpe3RoaXMuI3Q9aH1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuZm9ybS1ncm91cCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmZvcm0tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuZm9ybS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuaW5wdXQtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmlucHV0LXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICBpbnB1dFt0eXBlPSJ0ZXh0Il0sCiAgICAgIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sCiAgICAgIGlucHV0W3R5cGU9ImVtYWlsIl0sCiAgICAgIGlucHV0W3R5cGU9Im51bWJlciJdIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiA0NHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDJweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2guYWN0aXZlOjphZnRlciB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICB9CgogICAgICAucGFzc3dvcmQtc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAucGFzc3dvcmQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLnBhc3N3b3JkLWZpZWxkcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmZpZWxkLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkFwcGVhcmFuY2U8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkN1c3RvbWl6ZSB0aGUgbG9vayBhbmQgZmVlbDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tbGFiZWwtZ3JvdXAiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1sYWJlbCI+RGFyayBNb2RlPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5Ub2dnbGUgZGFyayBtb2RlIG9uIG9yIG9mZjwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCAke3RoaXMuc2V0dGluZ3MuZGFya01vZGU/ImFjdGl2ZSI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVEYXJrTW9kZSgpfT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DbG91ZGZsYXJlIEludGVncmF0aW9uPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5Db25maWd1cmUgQ2xvdWRmbGFyZSBBUEkgZm9yIEROUyBtYW5hZ2VtZW50PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5BUEkgVG9rZW48L2Rpdj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0iRW50ZXIgQ2xvdWRmbGFyZSBBUEkgdG9rZW4iIC52YWx1ZT0ke3RoaXMuc2V0dGluZ3MuY2xvdWRmbGFyZVRva2VufSBAaW5wdXQ9JHtoPT50aGlzLnVwZGF0ZVNldHRpbmcoImNsb3VkZmxhcmVUb2tlbiIsaC50YXJnZXQudmFsdWUpfT4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5ab25lIElEIChPcHRpb25hbCk8L2Rpdj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJEZWZhdWx0IHpvbmUgSUQiIC52YWx1ZT0ke3RoaXMuc2V0dGluZ3MuY2xvdWRmbGFyZVpvbmVJZH0gQGlucHV0PSR7aD0+dGhpcy51cGRhdGVTZXR0aW5nKCJjbG91ZGZsYXJlWm9uZUlkIixoLnRhcmdldC52YWx1ZSl9PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPkdldCB5b3VyIEFQSSB0b2tlbiBmcm9tIHRoZSBDbG91ZGZsYXJlIGRhc2hib2FyZCB3aXRoIEROUyBlZGl0IHBlcm1pc3Npb25zLjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNTTC9UTFMgU2V0dGluZ3M8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkNvbmZpZ3VyZSBjZXJ0aWZpY2F0ZSBtYW5hZ2VtZW50PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1sYWJlbC1ncm91cCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWxhYmVsIj5BdXRvLVJlbmV3IENlcnRpZmljYXRlczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0taGludCI+QXV0b21hdGljYWxseSByZW5ldyBjZXJ0aWZpY2F0ZXMgYmVmb3JlIGV4cGlyeTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCAke3RoaXMuc2V0dGluZ3MuYXV0b1JlbmV3Q2VydHM/ImFjdGl2ZSI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVTZXR0aW5nKCJhdXRvUmVuZXdDZXJ0cyIpfT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPlJlbmV3YWwgVGhyZXNob2xkIChkYXlzKTwvZGl2PgogICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgLnZhbHVlPSR7U3RyaW5nKHRoaXMuc2V0dGluZ3MucmVuZXdhbFRocmVzaG9sZCl9IEBpbnB1dD0ke2g9PnRoaXMudXBkYXRlU2V0dGluZygicmVuZXdhbFRocmVzaG9sZCIscGFyc2VJbnQoaC50YXJnZXQudmFsdWUpKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPlJlbmV3IGNlcnRpZmljYXRlcyB3aGVuIHRoZXkgaGF2ZSBmZXdlciB0aGFuIHRoaXMgbWFueSBkYXlzIHJlbWFpbmluZy48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5BQ01FIEVtYWlsPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0iZW1haWwiIHBsYWNlaG9sZGVyPSJhZG1pbkBleGFtcGxlLmNvbSIgLnZhbHVlPSR7dGhpcy5zZXR0aW5ncy5hY21lRW1haWx9IEBpbnB1dD0ke2g9PnRoaXMudXBkYXRlU2V0dGluZygiYWNtZUVtYWlsIixoLnRhcmdldC52YWx1ZSl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5FbWFpbCBhZGRyZXNzIGZvciBMZXQncyBFbmNyeXB0IG5vdGlmaWNhdGlvbnMuPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TmV0d29yayBTZXR0aW5nczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+Q29uZmlndXJlIG5ldHdvcmsgYW5kIHByb3h5IHNldHRpbmdzPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+SFRUUCBQb3J0PC9kaXY+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIC52YWx1ZT0ke1N0cmluZyh0aGlzLnNldHRpbmdzLmh0dHBQb3J0KX0gQGlucHV0PSR7aD0+dGhpcy51cGRhdGVTZXR0aW5nKCJodHRwUG9ydCIscGFyc2VJbnQoaC50YXJnZXQudmFsdWUpKX0+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+SFRUUFMgUG9ydDwvZGl2PgogICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiAudmFsdWU9JHtTdHJpbmcodGhpcy5zZXR0aW5ncy5odHRwc1BvcnQpfSBAaW5wdXQ9JHtoPT50aGlzLnVwZGF0ZVNldHRpbmcoImh0dHBzUG9ydCIscGFyc2VJbnQoaC50YXJnZXQudmFsdWUpKX0+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWxhYmVsLWdyb3VwIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0tbGFiZWwiPkZvcmNlIEhUVFBTPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5SZWRpcmVjdCBhbGwgSFRUUCB0cmFmZmljIHRvIEhUVFBTPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtc3dpdGNoICR7dGhpcy5zZXR0aW5ncy5mb3JjZUh0dHBzPyJhY3RpdmUiOiIifSIgQGNsaWNrPSR7KCk9PnRoaXMudG9nZ2xlU2V0dGluZygiZm9yY2VIdHRwcyIpfT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BY2NvdW50PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5NYW5hZ2UgeW91ciBhY2NvdW50IHNldHRpbmdzPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q3VycmVudCBVc2VyPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDE0cHg7IGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07Ij4ke3RoaXMuY3VycmVudFVzZXJ8fCJVbmtub3duIn08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXNzd29yZC1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhc3N3b3JkLXRpdGxlIj5DaGFuZ2UgUGFzc3dvcmQ8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhc3N3b3JkLWZpZWxkcyI+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPkN1cnJlbnQgUGFzc3dvcmQ8L2Rpdj4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIGlkPSJjdXJyZW50UGFzc3dvcmQiPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+TmV3IFBhc3N3b3JkPC9kaXY+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0ibmV3UGFzc3dvcmQiPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q29uZmlybSBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgaWQ9ImNvbmZpcm1QYXNzd29yZCI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gc2Vjb25kYXJ5IiBzdHlsZT0id2lkdGg6IGZpdC1jb250ZW50OyIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2hhbmdlUGFzc3dvcmQoKX0+VXBkYXRlIFBhc3N3b3JkPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gc2Vjb25kYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZXNldCgpfT5SZXNldDwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTYXZlKCl9PlNhdmUgU2V0dGluZ3M8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICBgfXRvZ2dsZURhcmtNb2RlKCl7dGhpcy5zZXR0aW5ncz17Li4udGhpcy5zZXR0aW5ncyxkYXJrTW9kZTohdGhpcy5zZXR0aW5ncy5kYXJrTW9kZX0sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2V0dGluZy1jaGFuZ2UiLHtkZXRhaWw6e2tleToiZGFya01vZGUiLHZhbHVlOnRoaXMuc2V0dGluZ3MuZGFya01vZGV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9dG9nZ2xlU2V0dGluZyhoKXt0aGlzLnNldHRpbmdzW2hdPSF0aGlzLnNldHRpbmdzW2hdLHRoaXMuc2V0dGluZ3M9ey4uLnRoaXMuc2V0dGluZ3N9fXVwZGF0ZVNldHRpbmcoaCxtKXt0aGlzLnNldHRpbmdzW2hdPW0sdGhpcy5zZXR0aW5ncz17Li4udGhpcy5zZXR0aW5nc319aGFuZGxlQ2hhbmdlUGFzc3dvcmQoKXtsZXQgaD10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJjdXJyZW50UGFzc3dvcmQiKT8udmFsdWUsbT10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJuZXdQYXNzd29yZCIpPy52YWx1ZSx2PXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoImNvbmZpcm1QYXNzd29yZCIpPy52YWx1ZTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UtcGFzc3dvcmQiLHtkZXRhaWw6e2N1cnJlbnRQYXNzd29yZDpoLG5ld1Bhc3N3b3JkOm0sY29uZmlybVBhc3N3b3JkOnZ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlUmVzZXQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXNldCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlU2F2ZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNhdmUiLHtkZXRhaWw6dGhpcy5zZXR0aW5ncyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxMdih0aGlzLHUpfXN0YXRpY3tMdihhLHIpfX07cmV0dXJuIGQ9YX0pKCl9KTt2YXIgJHYsVWMsYktyLFc1cj1mKCgpPT57dWUoKTskdj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFVjPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxiS3I9KCgpPT57bGV0IGU9W3JlKCJzei1sb2dpbi12aWV3IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCB3PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6Qm9vbGVhbn0pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSxkPVtGKHt0eXBlOlN0cmluZ30pXSx2PVtGKHt0eXBlOlN0cmluZ30pXSwkdih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJsb2FkaW5nImluIGssZ2V0Oms9PmsubG9hZGluZyxzZXQ6KGssUik9PntrLmxvYWRpbmc9Un19LG1ldGFkYXRhOnd9LHMsbyksJHYodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImVycm9yImluIGssZ2V0Oms9PmsuZXJyb3Isc2V0OihrLFIpPT57ay5lcnJvcj1SfX0sbWV0YWRhdGE6d30sbCx1KSwkdih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4idGl0bGUiaW4gayxnZXQ6az0+ay50aXRsZSxzZXQ6KGssUik9PntrLnRpdGxlPVJ9fSxtZXRhZGF0YTp3fSxoLG0pLCR2KHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJzdWJ0aXRsZSJpbiBrLGdldDprPT5rLnN1YnRpdGxlLHNldDooayxSKT0+e2suc3VidGl0bGU9Un19LG1ldGFkYXRhOnd9LGIsZyksJHYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6d30sbnVsbCxyKSx5PWE9dC52YWx1ZSx3JiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnd9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9ImhlaWdodDogNjAwcHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBiYWNrZ3JvdW5kOiAjMDkwOTBiOyI+CiAgICAgIDxzei1sb2dpbi12aWV3Pjwvc3otbG9naW4tdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1VYyh0aGlzLHMsITEpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxvYWRpbmcodyl7dGhpcy4jZT13fSN0PShVYyh0aGlzLG8pLFVjKHRoaXMsbCwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiN0fXNldCBlcnJvcih3KXt0aGlzLiN0PXd9I3I9KFVjKHRoaXMsdSksVWModGhpcyxoLCJzZXJ2ZS56b25lIikpO2dldCB0aXRsZSgpe3JldHVybiB0aGlzLiNyfXNldCB0aXRsZSh3KXt0aGlzLiNyPXd9I2E9KFVjKHRoaXMsbSksVWModGhpcyxiLCJTaWduIGluIHRvIHlvdXIgb25lYm94IikpO2dldCBzdWJ0aXRsZSgpe3JldHVybiB0aGlzLiNhfXNldCBzdWJ0aXRsZSh3KXt0aGlzLiNhPXd9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMDkwOTBiIil9OwogICAgICB9CgogICAgICAubG9naW4tY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5sb2dpbi1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7CiAgICAgIH0KCiAgICAgIC5sb2dvLXNlY3Rpb24gewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICB9CgogICAgICAubG9nbyB7CiAgICAgICAgd2lkdGg6IDY0cHg7CiAgICAgICAgaGVpZ2h0OiA2NHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtYXJnaW46IDAgYXV0byAxNnB4OwogICAgICB9CgogICAgICAubG9nbyBzdmcgewogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZm9ybSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjBweDsKICAgICAgfQoKICAgICAgLmZvcm0tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZSwgYm94LXNoYWRvdyAyMDBtcyBlYXNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtwLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg5NiwgMTY1LCAyNTAsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQuZXJyb3IgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CgogICAgICAuZXJyb3ItbWVzc2FnZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZjJmMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmZWNhY2EiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmVycm9yLW1lc3NhZ2Ugc3ZnIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLCB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLnN1Ym1pdC1idXR0b246ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRDb2xvcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuZm9vdGVyIHsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZvb3RlciBhIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLmZvb3RlciBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4tY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMuMjcgNi45NiAxMiAxMi4wMSAyMC43MyA2Ljk2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMjIuMDgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+JHt0aGlzLnRpdGxlfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+JHt0aGlzLnN1YnRpdGxlfTwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0iIEBzdWJtaXQ9JHt0aGlzLmhhbmRsZVN1Ym1pdH0+CiAgICAgICAgICAgICR7dGhpcy5lcnJvcj9NYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW1lc3NhZ2UiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE2IiB4Mj0iMTIuMDEiIHkyPSIxNiI+PC9saW5lPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAke3RoaXMuZXJyb3J9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0idXNlcm5hbWUiPlVzZXJuYW1lPC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBpZD0idXNlcm5hbWUiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCAke3RoaXMuZXJyb3I/ImVycm9yIjoiIn0iCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iRW50ZXIgeW91ciB1c2VybmFtZSIKICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT0idXNlcm5hbWUiCiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmxvYWRpbmd9CiAgICAgICAgICAgICAgICByZXF1aXJlZAogICAgICAgICAgICAgID4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0icGFzc3dvcmQiPlBhc3N3b3JkPC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InBhc3N3b3JkIgogICAgICAgICAgICAgICAgaWQ9InBhc3N3b3JkIgogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQgJHt0aGlzLmVycm9yPyJlcnJvciI6IiJ9IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIHlvdXIgcGFzc3dvcmQiCiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9ImN1cnJlbnQtcGFzc3dvcmQiCiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmxvYWRpbmd9CiAgICAgICAgICAgICAgICByZXF1aXJlZAogICAgICAgICAgICAgID4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9InN1Ym1pdC1idXR0b24iID9kaXNhYmxlZD0ke3RoaXMubG9hZGluZ30+CiAgICAgICAgICAgICAgJHt0aGlzLmxvYWRpbmc/TWAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgU2lnbmluZyBpbi4uLgogICAgICAgICAgICAgIGA6IlNpZ24gaW4ifQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZm9ybT4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXIiPgogICAgICAgICAgICBQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vc2VydmUuem9uZSIgdGFyZ2V0PSJfYmxhbmsiPnNlcnZlLnpvbmU8L2E+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVN1Ym1pdCh3KXt3LnByZXZlbnREZWZhdWx0KCk7bGV0IGs9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgidXNlcm5hbWUiKSxSPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIik7aWYoIWt8fCFSKXJldHVybjtsZXQgQz1rLnZhbHVlLnRyaW0oKSxTPVIudmFsdWU7aWYoIUN8fCFTKXt0aGlzLmVycm9yPSJQbGVhc2UgZW50ZXIgYm90aCB1c2VybmFtZSBhbmQgcGFzc3dvcmQiO3JldHVybn10aGlzLmVycm9yPSIiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvZ2luIix7ZGV0YWlsOnt1c2VybmFtZTpDLHBhc3N3b3JkOlN9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2xlYXJGb3JtKCl7bGV0IHc9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgidXNlcm5hbWUiKSxrPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIik7dyYmKHcudmFsdWU9IiIpLGsmJihrLnZhbHVlPSIiKSx0aGlzLmVycm9yPSIifWZvY3VzVXNlcm5hbWUoKXtsZXQgdz10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJ1c2VybmFtZSIpO3cmJncuZm9jdXMoKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksVWModGhpcyxnKX1zdGF0aWN7VWMoYSxyKX19O3JldHVybiB5PWF9KSgpfSk7dmFyIEUxLG5hLHZLcixHNXI9ZigoKT0+e3VlKCk7RTE9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxuYT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sdktyPSgoKT0+e2xldCBlPVtyZSgic3otc2VydmljZS1jcmVhdGUtdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdLHksdz1bXSxrPVtdLFIsQz1bXSxTPVtdLE8sRD1bXSxOPVtdLHEsXz1bXSx6PVtdLEUsVD1bXSxMPVtdLFYsQj1bXSxVPVtdLEssST1bXSx2ZT1bXSxNZSxQPVtdLGxlPVtdLFNlLFo9W10sQT1bXTt2YXIgJD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGo9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpBcnJheX0pXSxjPVtGKHt0eXBlOkJvb2xlYW59KV0sZD1bc2UoKV0sdj1bc2UoKV0seT1bc2UoKV0sUj1bc2UoKV0sTz1bc2UoKV0scT1bc2UoKV0sRT1bc2UoKV0sVj1bc2UoKV0sSz1bc2UoKV0sTWU9W3NlKCldLFNlPVtzZSgpXSxFMSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZ2lzdHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJyZWdpc3RyaWVzImluIEgsZ2V0Okg9PkgucmVnaXN0cmllcyxzZXQ6KEgsWSk9PntILnJlZ2lzdHJpZXM9WX19LG1ldGFkYXRhOmp9LHMsbyksRTEodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpIPT4ibG9hZGluZyJpbiBILGdldDpIPT5ILmxvYWRpbmcsc2V0OihILFkpPT57SC5sb2FkaW5nPVl9fSxtZXRhZGF0YTpqfSxsLHUpLEUxKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VydmljZU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJzZXJ2aWNlTmFtZSJpbiBILGdldDpIPT5ILnNlcnZpY2VOYW1lLHNldDooSCxZKT0+e0guc2VydmljZU5hbWU9WX19LG1ldGFkYXRhOmp9LGgsbSksRTEodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbWFnZVVybCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6SD0+ImltYWdlVXJsImluIEgsZ2V0Okg9PkguaW1hZ2VVcmwsc2V0OihILFkpPT57SC5pbWFnZVVybD1ZfX0sbWV0YWRhdGE6an0sYixnKSxFMSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkUmVnaXN0cnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJzZWxlY3RlZFJlZ2lzdHJ5ImluIEgsZ2V0Okg9Pkguc2VsZWN0ZWRSZWdpc3RyeSxzZXQ6KEgsWSk9PntILnNlbGVjdGVkUmVnaXN0cnk9WX19LG1ldGFkYXRhOmp9LHcsayksRTEodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3J0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6SD0+InBvcnRzImluIEgsZ2V0Okg9PkgucG9ydHMsc2V0OihILFkpPT57SC5wb3J0cz1ZfX0sbWV0YWRhdGE6an0sQyxTKSxFMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVudlZhcnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJlbnZWYXJzImluIEgsZ2V0Okg9PkguZW52VmFycyxzZXQ6KEgsWSk9PntILmVudlZhcnM9WX19LG1ldGFkYXRhOmp9LEQsTiksRTEodGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2b2x1bWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpIPT4idm9sdW1lcyJpbiBILGdldDpIPT5ILnZvbHVtZXMsc2V0OihILFkpPT57SC52b2x1bWVzPVl9fSxtZXRhZGF0YTpqfSxfLHopLEUxKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3B1TGltaXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJjcHVMaW1pdCJpbiBILGdldDpIPT5ILmNwdUxpbWl0LHNldDooSCxZKT0+e0guY3B1TGltaXQ9WX19LG1ldGFkYXRhOmp9LFQsTCksRTEodGhpcyxudWxsLFYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW1vcnlMaW1pdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6SD0+Im1lbW9yeUxpbWl0ImluIEgsZ2V0Okg9PkgubWVtb3J5TGltaXQsc2V0OihILFkpPT57SC5tZW1vcnlMaW1pdD1ZfX0sbWV0YWRhdGE6an0sQixVKSxFMSh0aGlzLG51bGwsSyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc3RhcnRQb2xpY3kiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJyZXN0YXJ0UG9saWN5ImluIEgsZ2V0Okg9PkgucmVzdGFydFBvbGljeSxzZXQ6KEgsWSk9PntILnJlc3RhcnRQb2xpY3k9WX19LG1ldGFkYXRhOmp9LEksdmUpLEUxKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im5ldHdvcmtNb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpIPT4ibmV0d29ya01vZGUiaW4gSCxnZXQ6SD0+SC5uZXR3b3JrTW9kZSxzZXQ6KEgsWSk9PntILm5ldHdvcmtNb2RlPVl9fSxtZXRhZGF0YTpqfSxQLGxlKSxFMSh0aGlzLG51bGwsU2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93QWR2YW5jZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOkg9PiJzaG93QWR2YW5jZWQiaW4gSCxnZXQ6SD0+SC5zaG93QWR2YW5jZWQsc2V0OihILFkpPT57SC5zaG93QWR2YW5jZWQ9WX19LG1ldGFkYXRhOmp9LFosQSksRTEobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6an0sbnVsbCxyKSwkPWE9dC52YWx1ZSxqJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmp9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXNlcnZpY2UtY3JlYXRlLXZpZXcKICAgICAgICAucmVnaXN0cmllcz0ke1t7aWQ6IjEiLG5hbWU6Ik9uZWJveCBSZWdpc3RyeSIsdXJsOiJyZWdpc3RyeS5vbmVib3gubG9jYWwifSx7aWQ6IjIiLG5hbWU6IkRvY2tlciBIdWIiLHVybDoiZG9ja2VyLmlvIn1dfQogICAgICA+PC9zei1zZXJ2aWNlLWNyZWF0ZS12aWV3PgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNlcnZpY2VzIl07I2U9bmEodGhpcyxzLFtdKTtnZXQgcmVnaXN0cmllcygpe3JldHVybiB0aGlzLiNlfXNldCByZWdpc3RyaWVzKGope3RoaXMuI2U9an0jdD0obmEodGhpcyxvKSxuYSh0aGlzLGwsITEpKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiN0fXNldCBsb2FkaW5nKGope3RoaXMuI3Q9an0jcj0obmEodGhpcyx1KSxuYSh0aGlzLGgsIiIpKTtnZXQgc2VydmljZU5hbWUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2VydmljZU5hbWUoail7dGhpcy4jcj1qfSNhPShuYSh0aGlzLG0pLG5hKHRoaXMsYiwiIikpO2dldCBpbWFnZVVybCgpe3JldHVybiB0aGlzLiNhfXNldCBpbWFnZVVybChqKXt0aGlzLiNhPWp9I2k9KG5hKHRoaXMsZyksbmEodGhpcyx3LCIiKSk7Z2V0IHNlbGVjdGVkUmVnaXN0cnkoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2VsZWN0ZWRSZWdpc3RyeShqKXt0aGlzLiNpPWp9I249KG5hKHRoaXMsayksbmEodGhpcyxDLFt7aG9zdFBvcnQ6IiIsY29udGFpbmVyUG9ydDoiIixwcm90b2NvbDoidGNwIn1dKSk7Z2V0IHBvcnRzKCl7cmV0dXJuIHRoaXMuI259c2V0IHBvcnRzKGope3RoaXMuI249an0jcz0obmEodGhpcyxTKSxuYSh0aGlzLEQsW3trZXk6IiIsdmFsdWU6IiJ9XSkpO2dldCBlbnZWYXJzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGVudlZhcnMoail7dGhpcy4jcz1qfSNvPShuYSh0aGlzLE4pLG5hKHRoaXMsXyxbXSkpO2dldCB2b2x1bWVzKCl7cmV0dXJuIHRoaXMuI299c2V0IHZvbHVtZXMoail7dGhpcy4jbz1qfSNsPShuYSh0aGlzLHopLG5hKHRoaXMsVCwiIikpO2dldCBjcHVMaW1pdCgpe3JldHVybiB0aGlzLiNsfXNldCBjcHVMaW1pdChqKXt0aGlzLiNsPWp9I2M9KG5hKHRoaXMsTCksbmEodGhpcyxCLCIiKSk7Z2V0IG1lbW9yeUxpbWl0KCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1lbW9yeUxpbWl0KGope3RoaXMuI2M9an0jZD0obmEodGhpcyxVKSxuYSh0aGlzLEksImFsd2F5cyIpKTtnZXQgcmVzdGFydFBvbGljeSgpe3JldHVybiB0aGlzLiNkfXNldCByZXN0YXJ0UG9saWN5KGope3RoaXMuI2Q9an0jdT0obmEodGhpcyx2ZSksbmEodGhpcyxQLCJicmlkZ2UiKSk7Z2V0IG5ldHdvcmtNb2RlKCl7cmV0dXJuIHRoaXMuI3V9c2V0IG5ldHdvcmtNb2RlKGope3RoaXMuI3U9an0jcD0obmEodGhpcyxsZSksbmEodGhpcyxaLCExKSk7Z2V0IHNob3dBZHZhbmNlZCgpe3JldHVybiB0aGlzLiNwfXNldCBzaG93QWR2YW5jZWQoail7dGhpcy4jcD1qfXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgc3ZnIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0tcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmZvcm0tcm93LnNpbmdsZSB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgIH0KCiAgICAgIC5mb3JtLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5mb3JtLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuZm9ybS1sYWJlbCAucmVxdWlyZWQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2VmNDQ0NCIsIiNmODcxNzEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZm9ybS1pbnB1dCwKICAgICAgLmZvcm0tc2VsZWN0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZm9ybS1pbnB1dDpmb2N1cywKICAgICAgLmZvcm0tc2VsZWN0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuZm9ybS1zZWxlY3QgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmR5bmFtaWMtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZHluYW1pYy1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5keW5hbWljLXJvdyAuZm9ybS1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLmR5bmFtaWMtcm93IC5mb3JtLXNlbGVjdCB7CiAgICAgICAgd2lkdGg6IDgwcHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5yZW1vdmUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5yZW1vdmUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2ZlY2FjYSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbiBzdmcgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1hZHZhbmNlZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1hZHZhbmNlZCBzdmcgewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1hZHZhbmNlZC5vcGVuIHN2ZyB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKICAgICAgfQoKICAgICAgLmNoZWNrYm94LXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuY2hlY2tib3ggewogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICBhY2NlbnQtY29sb3I6ICR7cC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24gewogICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5wcmltYXJ5OmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLnNwaW5uZXIgewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBjdXJyZW50Q29sb3I7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+RGVwbG95IE5ldyBTZXJ2aWNlPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPkNvbmZpZ3VyZSBhbmQgZGVwbG95IGEgbmV3IERvY2tlciBjb250YWluZXI8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIEJhc2ljIEluZm8gU2VjdGlvbiAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgIDxsaW5lIHgxPSI5IiB5MT0iOSIgeDI9IjE1IiB5Mj0iOSI+PC9saW5lPgogICAgICAgICAgICA8bGluZSB4MT0iOSIgeTE9IjE1IiB4Mj0iMTUiIHkyPSIxNSI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBCYXNpYyBJbmZvcm1hdGlvbgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPlNlcnZpY2UgTmFtZSA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ibXktc2VydmljZSIKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlcnZpY2VOYW1lfQogICAgICAgICAgICAgIEBpbnB1dD0ke2o9PnRoaXMuc2VydmljZU5hbWU9ai50YXJnZXQudmFsdWV9CiAgICAgICAgICAgID4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5VbmlxdWUgbmFtZSBmb3IgdGhlIHNlcnZpY2UgKGFscGhhbnVtZXJpYyBhbmQgaHlwaGVucyk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+UmVnaXN0cnk8L2xhYmVsPgogICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tc2VsZWN0IgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VsZWN0ZWRSZWdpc3RyeX0KICAgICAgICAgICAgICBAY2hhbmdlPSR7aj0+dGhpcy5zZWxlY3RlZFJlZ2lzdHJ5PWoudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIj5DdXN0b20gSW1hZ2UgVVJMPC9vcHRpb24+CiAgICAgICAgICAgICAgJHt0aGlzLnJlZ2lzdHJpZXMubWFwKGo9Pk1gCiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSR7ai5pZH0+JHtqLm5hbWV9PC9vcHRpb24+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3cgc2luZ2xlIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPkltYWdlIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJuZ2lueDpsYXRlc3Qgb3IgcmVnaXN0cnkuZXhhbXBsZS5jb20vaW1hZ2U6dGFnIgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuaW1hZ2VVcmx9CiAgICAgICAgICAgICAgQGlucHV0PSR7aj0+dGhpcy5pbWFnZVVybD1qLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPkRvY2tlciBpbWFnZSB0byBkZXBsb3kgKGluY2x1ZGUgdGFnKTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBQb3J0IENvbmZpZ3VyYXRpb24gLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIyIiB5MT0iMTIiIHgyPSIyMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAyYTE1LjMgMTUuMyAwIDAgMSA0IDEwIDE1LjMgMTUuMyAwIDAgMS00IDEwIDE1LjMgMTUuMyAwIDAgMS00LTEwIDE1LjMgMTUuMyAwIDAgMSA0LTEweiI+PC9wYXRoPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBQb3J0IENvbmZpZ3VyYXRpb24KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkeW5hbWljLWxpc3QiPgogICAgICAgICAgJHt0aGlzLnBvcnRzLm1hcCgoaixIKT0+TWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1yb3ciPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Ikhvc3QgUG9ydCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke2ouaG9zdFBvcnR9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHtZPT50aGlzLnVwZGF0ZVBvcnQoSCwiaG9zdFBvcnQiLFkudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iQ29udGFpbmVyIFBvcnQiCiAgICAgICAgICAgICAgICAudmFsdWU9JHtqLmNvbnRhaW5lclBvcnR9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHtZPT50aGlzLnVwZGF0ZVBvcnQoSCwiY29udGFpbmVyUG9ydCIsWS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1zZWxlY3QiCiAgICAgICAgICAgICAgICAudmFsdWU9JHtqLnByb3RvY29sfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke1k9PnRoaXMudXBkYXRlUG9ydChILCJwcm90b2NvbCIsWS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InRjcCI+VENQPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ1ZHAiPlVEUDwvb3B0aW9uPgogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICR7dGhpcy5wb3J0cy5sZW5ndGg+MT9NYAogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVtb3ZlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlUG9ydChIKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZGQtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5hZGRQb3J0KCl9PgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBBZGQgUG9ydCBNYXBwaW5nCiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBFbnZpcm9ubWVudCBWYXJpYWJsZXMgLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI0IDE3IDEwIDExIDQgNSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTkiIHgyPSIyMCIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIEVudmlyb25tZW50IFZhcmlhYmxlcwogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtbGlzdCI+CiAgICAgICAgICAke3RoaXMuZW52VmFycy5tYXAoKGosSCk9Pk1gCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtcm93Ij4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJLRVkiCiAgICAgICAgICAgICAgICAudmFsdWU9JHtqLmtleX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke1k9PnRoaXMudXBkYXRlRW52VmFyKEgsImtleSIsWS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ2YWx1ZSIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke2oudmFsdWV9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHtZPT50aGlzLnVwZGF0ZUVudlZhcihILCJ2YWx1ZSIsWS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAke3RoaXMuZW52VmFycy5sZW5ndGg+MT9NYAogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVtb3ZlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlRW52VmFyKEgpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmFkZEVudlZhcigpfT4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQWRkIEVudmlyb25tZW50IFZhcmlhYmxlCiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBBZHZhbmNlZCBPcHRpb25zIFRvZ2dsZSAtLT4KICAgICAgPGJ1dHRvbgogICAgICAgIGNsYXNzPSJ0b2dnbGUtYWR2YW5jZWQgJHt0aGlzLnNob3dBZHZhbmNlZD8ib3BlbiI6IiJ9IgogICAgICAgIEBjbGljaz0keygpPT50aGlzLnNob3dBZHZhbmNlZD0hdGhpcy5zaG93QWR2YW5jZWR9CiAgICAgID4KICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT4KICAgICAgICA8L3N2Zz4KICAgICAgICBBZHZhbmNlZCBPcHRpb25zCiAgICAgIDwvYnV0dG9uPgoKICAgICAgJHt0aGlzLnNob3dBZHZhbmNlZD9NYAogICAgICAgIDwhLS0gVm9sdW1lcyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg1bDIgM2g5YTIgMiAwIDAgMSAyIDJ6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBWb2x1bWUgTW91bnRzCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtbGlzdCI+CiAgICAgICAgICAgICR7dGhpcy52b2x1bWVzLmxlbmd0aD09PTA/TWAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPk5vIHZvbHVtZXMgY29uZmlndXJlZDwvZGl2PgogICAgICAgICAgICBgOnRoaXMudm9sdW1lcy5tYXAoKGosSCk9Pk1gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1yb3ciPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iL2hvc3QvcGF0aCIKICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7ai5ob3N0UGF0aH0KICAgICAgICAgICAgICAgICAgQGlucHV0PSR7WT0+dGhpcy51cGRhdGVWb2x1bWUoSCwiaG9zdFBhdGgiLFkudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Ii9jb250YWluZXIvcGF0aCIKICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7ai5jb250YWluZXJQYXRofQogICAgICAgICAgICAgICAgICBAaW5wdXQ9JHtZPT50aGlzLnVwZGF0ZVZvbHVtZShILCJjb250YWluZXJQYXRoIixZLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveC1yb3ciPgogICAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2hlY2tib3giCiAgICAgICAgICAgICAgICAgICAgP2NoZWNrZWQ9JHtqLnJlYWRPbmx5fQogICAgICAgICAgICAgICAgICAgIEBjaGFuZ2U9JHtZPT50aGlzLnVwZGF0ZVZvbHVtZShILCJyZWFkT25seSIsWS50YXJnZXQuY2hlY2tlZCl9CiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0taGludCI+Uk88L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InJlbW92ZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLnJlbW92ZVZvbHVtZShIKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZGQtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5hZGRWb2x1bWUoKX0+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBBZGQgVm9sdW1lIE1vdW50CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBSZXNvdXJjZSBMaW1pdHMgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxyZWN0IHg9IjEiIHk9IjQiIHdpZHRoPSIyMiIgaGVpZ2h0PSIxNiIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEiIHkxPSIxMCIgeDI9IjIzIiB5Mj0iMTAiPjwvbGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIFJlc291cmNlIExpbWl0cwogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+Q1BVIExpbWl0PC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJlLmcuLCAxLjAgb3IgMC41IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5jcHVMaW1pdH0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke2o9PnRoaXMuY3B1TGltaXQ9ai50YXJnZXQudmFsdWV9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCI+TnVtYmVyIG9mIENQVXMgKGxlYXZlIGVtcHR5IGZvciB1bmxpbWl0ZWQpPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPk1lbW9yeSBMaW1pdDwvbGFiZWw+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iZS5nLiwgNTEybSBvciAxZyIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMubWVtb3J5TGltaXR9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHtqPT50aGlzLm1lbW9yeUxpbWl0PWoudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPk1lbW9yeSBsaW1pdCAobGVhdmUgZW1wdHkgZm9yIHVubGltaXRlZCk8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBSZXN0YXJ0IFBvbGljeSAmIE5ldHdvcmsgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiPjwvY2lyY2xlPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOS40IDE1YTEuNjUgMS42NSAwIDAgMCAuMzMgMS44MmwuMDYuMDZhMiAyIDAgMCAxIDAgMi44MyAyIDIgMCAwIDEtMi44MyAwbC0uMDYtLjA2YTEuNjUgMS42NSAwIDAgMC0xLjgyLS4zMyAxLjY1IDEuNjUgMCAwIDAtMSAxLjUxVjIxYTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxLTItMnYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44MyAwIDIgMiAwIDAgMSAwLTIuODNsLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAgLjMzLTEuODIgMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMS0yLTIgMiAyIDAgMCAxIDItMmguMDlBMS42NSAxLjY1IDAgMCAwIDQuNiA5YTEuNjUgMS42NSAwIDAgMC0uMzMtMS44MmwtLjA2LS4wNmEyIDIgMCAwIDEgMC0yLjgzIDIgMiAwIDAgMSAyLjgzIDBsLjA2LjA2YTEuNjUgMS42NSAwIDAgMCAxLjgyLjMzSDlhMS42NSAxLjY1IDAgMCAwIDEtMS41MVYzYTIgMiAwIDAgMSAyLTIgMiAyIDAgMCAxIDIgMnYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAwIDIgMiAwIDAgMSAwIDIuODNsLS4wNi4wNmExLjY1IDEuNjUgMCAwIDAtLjMzIDEuODJWOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAyIDIgMiAyIDAgMCAxLTIgMmgtLjA5YTEuNjUgMS42NSAwIDAgMC0xLjUxIDF6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDb250YWluZXIgU2V0dGluZ3MKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPlJlc3RhcnQgUG9saWN5PC9sYWJlbD4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1zZWxlY3QiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnJlc3RhcnRQb2xpY3l9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7aj0+dGhpcy5yZXN0YXJ0UG9saWN5PWoudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImFsd2F5cyI+QWx3YXlzPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJvbi1mYWlsdXJlIj5PbiBGYWlsdXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJuZXZlciI+TmV2ZXI8L29wdGlvbj4KICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+TmV0d29yayBNb2RlPC9sYWJlbD4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1zZWxlY3QiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLm5ldHdvcmtNb2RlfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke2o9PnRoaXMubmV0d29ya01vZGU9ai50YXJnZXQudmFsdWV9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYnJpZGdlIj5CcmlkZ2U8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Imhvc3QiPkhvc3Q8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5vbmUiPk5vbmU8L29wdGlvbj4KICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KCiAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMiPgogICAgICAgIDxidXR0b24gY2xhc3M9ImJ1dHRvbiBzZWNvbmRhcnkiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNhbmNlbCgpfT5DYW5jZWw8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uCiAgICAgICAgICBjbGFzcz0iYnV0dG9uIHByaW1hcnkiCiAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmxvYWRpbmd8fCF0aGlzLmlzVmFsaWQoKX0KICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNyZWF0ZSgpfQogICAgICAgID4KICAgICAgICAgICR7dGhpcy5sb2FkaW5nP01gPGRpdiBjbGFzcz0ic3Bpbm5lciI+PC9kaXY+YDoiIn0KICAgICAgICAgICR7dGhpcy5sb2FkaW5nPyJEZXBsb3lpbmcuLi4iOiJEZXBsb3kgU2VydmljZSJ9CiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgYH1pc1ZhbGlkKCl7cmV0dXJuIHRoaXMuc2VydmljZU5hbWUudHJpbSgpIT09IiImJnRoaXMuaW1hZ2VVcmwudHJpbSgpIT09IiJ9YWRkUG9ydCgpe3RoaXMucG9ydHM9Wy4uLnRoaXMucG9ydHMse2hvc3RQb3J0OiIiLGNvbnRhaW5lclBvcnQ6IiIscHJvdG9jb2w6InRjcCJ9XX1yZW1vdmVQb3J0KGope3RoaXMucG9ydHM9dGhpcy5wb3J0cy5maWx0ZXIoKEgsWSk9PlkhPT1qKX11cGRhdGVQb3J0KGosSCxZKXtsZXQgZGU9Wy4uLnRoaXMucG9ydHNdO2RlW2pdW0hdPVksdGhpcy5wb3J0cz1kZX1hZGRFbnZWYXIoKXt0aGlzLmVudlZhcnM9Wy4uLnRoaXMuZW52VmFycyx7a2V5OiIiLHZhbHVlOiIifV19cmVtb3ZlRW52VmFyKGope3RoaXMuZW52VmFycz10aGlzLmVudlZhcnMuZmlsdGVyKChILFkpPT5ZIT09ail9dXBkYXRlRW52VmFyKGosSCxZKXtsZXQgZGU9Wy4uLnRoaXMuZW52VmFyc107ZGVbal1bSF09WSx0aGlzLmVudlZhcnM9ZGV9YWRkVm9sdW1lKCl7dGhpcy52b2x1bWVzPVsuLi50aGlzLnZvbHVtZXMse2hvc3RQYXRoOiIiLGNvbnRhaW5lclBhdGg6IiIscmVhZE9ubHk6ITF9XX1yZW1vdmVWb2x1bWUoail7dGhpcy52b2x1bWVzPXRoaXMudm9sdW1lcy5maWx0ZXIoKEgsWSk9PlkhPT1qKX11cGRhdGVWb2x1bWUoaixILFkpe2xldCBkZT1bLi4udGhpcy52b2x1bWVzXTtkZVtqXVtIXT1ZLHRoaXMudm9sdW1lcz1kZX1oYW5kbGVDYW5jZWwoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjYW5jZWwiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNyZWF0ZSgpe2xldCBqPXtuYW1lOnRoaXMuc2VydmljZU5hbWUudHJpbSgpLGltYWdlOnRoaXMuaW1hZ2VVcmwudHJpbSgpLHBvcnRzOnRoaXMucG9ydHMuZmlsdGVyKEg9PkguaG9zdFBvcnQmJkguY29udGFpbmVyUG9ydCksZW52VmFyczp0aGlzLmVudlZhcnMuZmlsdGVyKEg9Pkgua2V5KSx2b2x1bWVzOnRoaXMudm9sdW1lcy5maWx0ZXIoSD0+SC5ob3N0UGF0aCYmSC5jb250YWluZXJQYXRoKSxjcHVMaW1pdDp0aGlzLmNwdUxpbWl0LG1lbW9yeUxpbWl0OnRoaXMubWVtb3J5TGltaXQscmVzdGFydFBvbGljeTp0aGlzLnJlc3RhcnRQb2xpY3ksbmV0d29ya01vZGU6dGhpcy5uZXR3b3JrTW9kZX07dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlLXNlcnZpY2UiLHtkZXRhaWw6aixidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXJlc2V0KCl7dGhpcy5zZXJ2aWNlTmFtZT0iIix0aGlzLmltYWdlVXJsPSIiLHRoaXMuc2VsZWN0ZWRSZWdpc3RyeT0iIix0aGlzLnBvcnRzPVt7aG9zdFBvcnQ6IiIsY29udGFpbmVyUG9ydDoiIixwcm90b2NvbDoidGNwIn1dLHRoaXMuZW52VmFycz1be2tleToiIix2YWx1ZToiIn1dLHRoaXMudm9sdW1lcz1bXSx0aGlzLmNwdUxpbWl0PSIiLHRoaXMubWVtb3J5TGltaXQ9IiIsdGhpcy5yZXN0YXJ0UG9saWN5PSJhbHdheXMiLHRoaXMubmV0d29ya01vZGU9ImJyaWRnZSIsdGhpcy5zaG93QWR2YW5jZWQ9ITF9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLG5hKHRoaXMsQSl9c3RhdGlje25hKGEscil9fTtyZXR1cm4gJD1hfSkoKX0pO3ZhciBsTyxrdSx4S3IsWTVyPWYoKCk9Pnt1ZSgpO2xPPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sa3U9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LHhLcj0oKCk9PntsZXQgZT1bcmUoInN6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXciKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXTt2YXIgdj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpPYmplY3R9KV0sYz1bRih7dHlwZTpBcnJheX0pXSxkPVtGKHt0eXBlOkJvb2xlYW59KV0sbE8odGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4ic2VydmljZSJpbiBnLGdldDpnPT5nLnNlcnZpY2Usc2V0OihnLHkpPT57Zy5zZXJ2aWNlPXl9fSxtZXRhZGF0YTpifSxzLG8pLGxPKHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9ncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+ImxvZ3MiaW4gZyxnZXQ6Zz0+Zy5sb2dzLHNldDooZyx5KT0+e2cubG9ncz15fX0sbWV0YWRhdGE6Yn0sbCx1KSxsTyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbkxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJhY3Rpb25Mb2FkaW5nImluIGcsZ2V0Omc9PmcuYWN0aW9uTG9hZGluZyxzZXQ6KGcseSk9PntnLmFjdGlvbkxvYWRpbmc9eX19LG1ldGFkYXRhOmJ9LGgsbSksbE8obnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCxyKSx2PWE9dC52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTAwMHB4OyI+CiAgICAgIDxzei1wbGF0Zm9ybS1zZXJ2aWNlLWRldGFpbC12aWV3CiAgICAgICAgLnNlcnZpY2U9JHt7aWQ6IjEiLG5hbWU6Ik1vbmdvREIiLHR5cGU6Im1vbmdvZGIiLHN0YXR1czoicnVubmluZyIsdmVyc2lvbjoiNy4wLjQiLGhvc3Q6ImxvY2FsaG9zdCIscG9ydDoyNzAxNyxjcmVkZW50aWFsczp7dXNlcm5hbWU6ImFkbWluIixwYXNzd29yZDoiXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyIn0sY29uZmlnOntyZXBsaWNhU2V0OiJyczAiLGF1dGhFbmFibGVkOiEwfSxtZXRyaWNzOntjcHU6MTIsbWVtb3J5OjQ1LHN0b3JhZ2U6MjMsY29ubmVjdGlvbnM6OH19fQogICAgICAgIC5sb2dzPSR7W3t0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjIiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJDb25uZWN0aW9uIGFjY2VwdGVkIGZyb20gMTI3LjAuMC4xOjU0MzIxIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMCIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkluZGV4IGJ1aWxkIGNvbXBsZXRlZCBvbiBjb2xsZWN0aW9uIHVzZXJzIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoxNSIsbGV2ZWw6Indhcm4iLG1lc3NhZ2U6IlNsb3cgcXVlcnkgZGV0ZWN0ZWQ6IDEuMnMgb24gY29sbGVjdGlvbiBvcmRlcnMifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjEwIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiQ2hlY2twb2ludCBjb21wbGV0ZSJ9XX0KICAgICAgPjwvc3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJQbGF0Zm9ybSJdOyNlPWt1KHRoaXMscyxudWxsKTtnZXQgc2VydmljZSgpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlKGIpe3RoaXMuI2U9Yn0jdD0oa3UodGhpcyxvKSxrdSh0aGlzLGwsW10pKTtnZXQgbG9ncygpe3JldHVybiB0aGlzLiN0fXNldCBsb2dzKGIpe3RoaXMuI3Q9Yn0jcj0oa3UodGhpcyx1KSxrdSh0aGlzLGgsITEpKTtnZXQgYWN0aW9uTG9hZGluZygpe3JldHVybiB0aGlzLiNyfXNldCBhY3Rpb25Mb2FkaW5nKGIpe3RoaXMuI3I9Yn1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWljb24gewogICAgICAgIHdpZHRoOiA1NnB4OwogICAgICAgIGhlaWdodDogNTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWljb24gc3ZnIHsKICAgICAgICB3aWR0aDogMjhweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtZGV0YWlscyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuc2VydmljZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VydmljZS1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gc3ZnIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGFuZ2VyOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnNlY3Rpb24uZnVsbC13aWR0aCB7CiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDE0cHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSBzdmcgewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAuaW5mby1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTBweCAwOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5pbmZvLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAuaW5mby1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5pbmZvLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuY29weS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuY29weS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAubWV0cmljcy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAgICAgICAubWV0cmljcy1ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWV0cmljLWNhcmQgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhciB7CiAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWZpbGwubG93IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1maWxsLm1lZGl1bSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlYWIzMDgiLCIjZWFiMzA4Iil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtZmlsbC5oaWdoIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2VmNDQ0NCIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctY29udGFpbmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICB9CgogICAgICAubG9nLWVudHJ5IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgfQoKICAgICAgLmxvZy10aW1lc3RhbXAgewogICAgICAgIGNvbG9yOiAjNzE3MTdhOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubG9nLWxldmVsIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB3aWR0aDogNTBweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5sb2ctbGV2ZWwuaW5mbyB7CiAgICAgICAgY29sb3I6ICM2MGE1ZmE7CiAgICAgIH0KCiAgICAgIC5sb2ctbGV2ZWwud2FybiB7CiAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC5sb2ctbGV2ZWwuZXJyb3IgewogICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICB9CgogICAgICAubG9nLWxldmVsLmRlYnVnIHsKICAgICAgICBjb2xvcjogI2ExYTFhYTsKICAgICAgfQoKICAgICAgLmxvZy1tZXNzYWdlIHsKICAgICAgICBjb2xvcjogI2ZhZmFmYTsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAuY29uZmlnLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5jb25maWctaXRlbTpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAuY29uZmlnLWtleSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5jb25maWctdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jb25maWctdmFsdWUudHJ1ZSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmNvbmZpZy12YWx1ZS5mYWxzZSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLnNlcnZpY2U/TWAKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaW5mbyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWljb24iPgogICAgICAgICAgICAke3RoaXMucmVuZGVyU2VydmljZUljb24oKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1kZXRhaWxzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1uYW1lIj4ke3RoaXMuc2VydmljZS5uYW1lfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLW1ldGEiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzfSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3RoaXMuc2VydmljZS5zdGF0dXMuc2xpY2UoMSl9CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuPlZlcnNpb24gJHt0aGlzLnNlcnZpY2UudmVyc2lvbn08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWFjdGlvbnMiPgogICAgICAgICAgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzPT09InJ1bm5pbmciP01gCiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iID9kaXNhYmxlZD0ke3RoaXMuYWN0aW9uTG9hZGluZ30gQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUmVzdGFydCgpfT4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMyA0IDIzIDEwIDE3IDEwIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMSAyMCAxIDE0IDcgMTQiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMy41MSA5YTkgOSAwIDAgMSAxNC44NS0zLjM2TDIzIDEwTTEgMTRsNC42NCA0LjM2QTkgOSAwIDAgMCAyMC40OSAxNSI+PC9wYXRoPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIFJlc3RhcnQKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGFuZ2VyIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZVN0b3AoKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHJlY3QgeD0iNiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiByeD0iMSI+PC9yZWN0PgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIFN0b3AKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICBgOk1gCiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iID9kaXNhYmxlZD0ke3RoaXMuYWN0aW9uTG9hZGluZ30gQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU3RhcnQoKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICA8cG9seWdvbiBwb2ludHM9IjUsMyAxOSwxMiA1LDIxIj48L3BvbHlnb24+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgU3RhcnQKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICBgfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDwhLS0gQ29ubmVjdGlvbiBJbmZvIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAgMTNhNSA1IDAgMCAwIDcuNTQuNTRsMy0zYTUgNSAwIDAgMC03LjA3LTcuMDdsLTEuNzIgMS43MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE0IDExYTUgNSAwIDAgMC03LjU0LS41NGwtMyAzYTUgNSAwIDAgMCA3LjA3IDcuMDdsMS43MS0xLjcxIj48L3BhdGg+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgQ29ubmVjdGlvbgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5Ib3N0PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmhvc3R9CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjb3B5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY29weVRvQ2xpcGJvYXJkKHRoaXMuc2VydmljZS5ob3N0KX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjkiIHk9IjkiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+UG9ydDwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+JHt0aGlzLnNlcnZpY2UucG9ydH08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMuc2VydmljZS5jcmVkZW50aWFscz8udXNlcm5hbWU/TWAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+VXNlcm5hbWU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLnVzZXJuYW1lfQogICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjb3B5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY29weVRvQ2xpcGJvYXJkKHRoaXMuc2VydmljZS5jcmVkZW50aWFscy51c2VybmFtZSl9PgogICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlBhc3N3b3JkPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPuKAouKAouKAouKAouKAouKAouKAouKAojwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuY3JlZGVudGlhbHM/LmFjY2Vzc0tleT9NYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5BY2Nlc3MgS2V5PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPgogICAgICAgICAgICAgICAgICAke3RoaXMuc2VydmljZS5jcmVkZW50aWFscy5hY2Nlc3NLZXl9CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jb3B5VG9DbGlwYm9hcmQodGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLmFjY2Vzc0tleSl9PgogICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlNlY3JldCBLZXk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQ29uZmlndXJhdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMSAwIDIuODMgMiAyIDAgMCAxLTIuODMgMGwtLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAtMS44Mi0uMzMgMS42NSAxLjY1IDAgMCAwLTEgMS41MVYyMWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMS0yLTJ2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMgMCAyIDIgMCAwIDEgMC0yLjgzbC4wNi0uMDZhMS42NSAxLjY1IDAgMCAwIC4zMy0xLjgyIDEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMSAyLTJoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDAtMi44MyAyIDIgMCAwIDEgMi44MyAwbC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMS44Mi4zM0g5YTEuNjUgMS42NSAwIDAgMCAxLTEuNTFWM2EyIDIgMCAwIDEgMi0yIDIgMiAwIDAgMSAyIDJ2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMCAyIDIgMCAwIDEgMCAyLjgzbC0uMDYuMDZhMS42NSAxLjY1IDAgMCAwLS4zMyAxLjgyVjlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMS0yIDJoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeiI+PC9wYXRoPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIENvbmZpZ3VyYXRpb24KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7T2JqZWN0LmVudHJpZXModGhpcy5zZXJ2aWNlLmNvbmZpZykubWFwKChbYixnXSk9Pk1gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbmZpZy1rZXkiPiR7dGhpcy5mb3JtYXRDb25maWdLZXkoYil9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbmZpZy12YWx1ZSAke3R5cGVvZiBnPT0iYm9vbGVhbiI/Zz8idHJ1ZSI6ImZhbHNlIjoiIn0iPiR7dGhpcy5mb3JtYXRDb25maWdWYWx1ZShnKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gTWV0cmljcyAtLT4KICAgICAgICAke3RoaXMuc2VydmljZS5tZXRyaWNzP01gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGZ1bGwtd2lkdGgiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxOCIgeTE9IjIwIiB4Mj0iMTgiIHkyPSIxMCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIyMCIgeDI9IjEyIiB5Mj0iNCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjIwIiB4Mj0iNiIgeTI9IjE0Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIFJlc291cmNlIFVzYWdlCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpY3MtZ3JpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5jcHV9JTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPkNQVTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwgJHt0aGlzLmdldFByb2dyZXNzQ2xhc3ModGhpcy5zZXJ2aWNlLm1ldHJpY3MuY3B1KX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5jcHV9JSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5tZW1vcnl9JTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPk1lbW9yeTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwgJHt0aGlzLmdldFByb2dyZXNzQ2xhc3ModGhpcy5zZXJ2aWNlLm1ldHJpY3MubWVtb3J5KX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5tZW1vcnl9JSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlfSU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWxhYmVsIj5TdG9yYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCAke3RoaXMuZ2V0UHJvZ3Jlc3NDbGFzcyh0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlKX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlfSUiPjwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UubWV0cmljcy5jb25uZWN0aW9ucyE9PXZvaWQgMD9NYAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuc2VydmljZS5tZXRyaWNzLmNvbm5lY3Rpb25zfTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1sYWJlbCI+Q29ubmVjdGlvbnM8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDwhLS0gTG9ncyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGZ1bGwtd2lkdGgiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI0IDE3IDEwIDExIDQgNSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE5IiB4Mj0iMjAiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIExvZ3MKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZy1jb250YWluZXIiPgogICAgICAgICAgICAgICR7dGhpcy5sb2dzLmxlbmd0aD4wP3RoaXMubG9ncy5tYXAoYj0+TWAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZy1lbnRyeSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsb2ctdGltZXN0YW1wIj4ke2IudGltZXN0YW1wfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxvZy1sZXZlbCAke2IubGV2ZWx9Ij4ke2IubGV2ZWx9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibG9nLW1lc3NhZ2UiPiR7Yi5tZXNzYWdlfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApOk1gCiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJjb2xvcjogIzcxNzE3YTsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAyMHB4OyI+Tm8gbG9ncyBhdmFpbGFibGU8L2Rpdj4KICAgICAgICAgICAgICBgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGA6TWA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gc2VydmljZSBzZWxlY3RlZDwvZGl2PmB9cmVuZGVyU2VydmljZUljb24oKXtzd2l0Y2godGhpcy5zZXJ2aWNlPy50eXBlKXtjYXNlIm1vbmdvZGIiOnJldHVybiBNYDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0tMSAxNy45M2MtMy45NS0uNDktNy0zLjg1LTctNy45MyAwLS42Mi4wOC0xLjIxLjIxLTEuNzlMOSAxNXYxYzAgMS4xLjkgMiAyIDJ2MS45M3ptNi45LTIuNTRjLS4yNi0uODEtMS0xLjM5LTEuOS0xLjM5aC0xdi0zYzAtLjU1LS40NS0xLTEtMUg4di0yaDJjLjU1IDAgMS0uNDUgMS0xVjdoMmMxLjEgMCAyLS45IDItMnYtLjQxYzIuOTMgMS4xOSA1IDQuMDYgNSA3LjQxIDAgMi4wOC0uOCAzLjk3LTIuMSA1LjM5eiIvPjwvc3ZnPmA7Y2FzZSJtaW5pbyI6cmV0dXJuIE1gPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTIxIDE2LjVjMCAuMzgtLjIxLjcxLS41My44OGwtNy45IDQuNDRjLS4xNi4xMi0uMzYuMTgtLjU3LjE4LS4yMSAwLS40MS0uMDYtLjU3LS4xOGwtNy45LTQuNDRBLjk5MS45OTEgMCAwIDEgMyAxNi41di05YzAtLjM4LjIxLS43MS41My0uODhsNy45LTQuNDRjLjE2LS4xMi4zNi0uMTguNTctLjE4LjIxIDAgLjQxLjA2LjU3LjE4bDcuOSA0LjQ0Yy4zMi4xNy41My41LjUzLjg4djl6Ii8+PC9zdmc+YDtjYXNlImNsaWNraG91c2UiOnJldHVybiBNYDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSI2IiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iOSIgeT0iNyIgd2lkdGg9IjYiIGhlaWdodD0iMTUiLz48cmVjdCB4PSIxNiIgeT0iMTIiIHdpZHRoPSI2IiBoZWlnaHQ9IjEwIi8+PC9zdmc+YDtjYXNlInJlZGlzIjpyZXR1cm4gTWA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTIgMkwyIDdsMTAgNSAxMC01LTEwLTV6TTIgMTdsMTAgNSAxMC01TTIgMTJsMTAgNSAxMC01Ii8+PC9zdmc+YDtkZWZhdWx0OnJldHVybiBNYDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PHJlY3QgeD0iMiIgeT0iMTQiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSI2LjAxIiB5Mj0iNiI+PC9saW5lPjxsaW5lIHgxPSI2IiB5MT0iMTgiIHgyPSI2LjAxIiB5Mj0iMTgiPjwvbGluZT48L3N2Zz5gfX1nZXRQcm9ncmVzc0NsYXNzKGIpe3JldHVybiBiPDUwPyJsb3ciOmI8ODA/Im1lZGl1bSI6ImhpZ2gifWZvcm1hdENvbmZpZ0tleShiKXtyZXR1cm4gYi5yZXBsYWNlKC8oW0EtWl0pL2csIiAkMSIpLnJlcGxhY2UoL14uLyxnPT5nLnRvVXBwZXJDYXNlKCkpfWZvcm1hdENvbmZpZ1ZhbHVlKGIpe3JldHVybiB0eXBlb2YgYj09ImJvb2xlYW4iP2I/IkVuYWJsZWQiOiJEaXNhYmxlZCI6U3RyaW5nKGIpfWNvcHlUb0NsaXBib2FyZChiKXtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChiKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb3B5Iix7ZGV0YWlsOmIsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTdGFydCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN0YXJ0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVN0b3AoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdG9wIix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlc3RhcnQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXN0YXJ0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxrdSh0aGlzLG0pfXN0YXRpY3trdShhLHIpfX07cmV0dXJuIHY9YX0pKCl9KTt2YXIgRHYsV2MseUtyLFo1cj1mKCgpPT57dWUoKTtEdj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFdjPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSx5S3I9KCgpPT57bGV0IGU9W3JlKCJzei1kb21haW4tZGV0YWlsLXZpZXciKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IHc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpPYmplY3R9KV0sYz1bRih7dHlwZTpPYmplY3R9KV0sZD1bRih7dHlwZTpBcnJheX0pXSx2PVtGKHt0eXBlOkJvb2xlYW59KV0sRHYodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkb21haW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJkb21haW4iaW4gayxnZXQ6az0+ay5kb21haW4sc2V0OihrLFIpPT57ay5kb21haW49Un19LG1ldGFkYXRhOnd9LHMsbyksRHYodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjZXJ0aWZpY2F0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImNlcnRpZmljYXRlImluIGssZ2V0Oms9PmsuY2VydGlmaWNhdGUsc2V0OihrLFIpPT57ay5jZXJ0aWZpY2F0ZT1SfX0sbWV0YWRhdGE6d30sbCx1KSxEdih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRuc1JlY29yZHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJkbnNSZWNvcmRzImluIGssZ2V0Oms9PmsuZG5zUmVjb3JkcyxzZXQ6KGssUik9PntrLmRuc1JlY29yZHM9Un19LG1ldGFkYXRhOnd9LGgsbSksRHYodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25Mb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4iYWN0aW9uTG9hZGluZyJpbiBrLGdldDprPT5rLmFjdGlvbkxvYWRpbmcsc2V0OihrLFIpPT57ay5hY3Rpb25Mb2FkaW5nPVJ9fSxtZXRhZGF0YTp3fSxiLGcpLER2KG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOnd9LG51bGwscikseT1hPXQudmFsdWUsdyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp3fSl9c3RhdGljIGRlbW89KCk9Pk1gCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEwMDBweDsiPgogICAgICA8c3otZG9tYWluLWRldGFpbC12aWV3CiAgICAgICAgLmRvbWFpbj0ke3tpZDoiMSIsbmFtZToiZXhhbXBsZS5jb20iLHN0YXR1czoiYWN0aXZlIix2ZXJpZmllZDohMCxjcmVhdGVkQXQ6IjIwMjQtMDEtMTAiLHByb3h5Um91dGVzOlsiL2FwaS8qIiwiL2FwcC8qIl19fQogICAgICAgIC5jZXJ0aWZpY2F0ZT0ke3tpZDoiMSIsZG9tYWluOiJleGFtcGxlLmNvbSIsaXNzdWVyOiJMZXQncyBFbmNyeXB0Iix2YWxpZEZyb206IjIwMjQtMDEtMTAiLHZhbGlkVW50aWw6IjIwMjQtMDQtMTAiLGRheXNSZW1haW5pbmc6NDUsc3RhdHVzOiJ2YWxpZCIsYXV0b1JlbmV3OiEwLGNoYWluOlsiUjMiLCJJU1JHIFJvb3QgWDEiXX19CiAgICAgICAgLmRuc1JlY29yZHM9JHtbe2lkOiIxIix0eXBlOiJBIixuYW1lOiJAIix2YWx1ZToiMTkyLjE2OC4xLjEwMCIsdHRsOjM2MDB9LHtpZDoiMiIsdHlwZToiQ05BTUUiLG5hbWU6Ind3dyIsdmFsdWU6ImV4YW1wbGUuY29tIix0dGw6MzYwMH0se2lkOiIzIix0eXBlOiJNWCIsbmFtZToiQCIsdmFsdWU6Im1haWwuZXhhbXBsZS5jb20iLHR0bDozNjAwLHByaW9yaXR5OjEwfSx7aWQ6IjQiLHR5cGU6IlRYVCIsbmFtZToiQCIsdmFsdWU6InY9c3BmMSBpbmNsdWRlOl9zcGYuZXhhbXBsZS5jb20gfmFsbCIsdHRsOjM2MDB9XX0KICAgICAgPjwvc3otZG9tYWluLWRldGFpbC12aWV3PgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1XYyh0aGlzLHMsbnVsbCk7Z2V0IGRvbWFpbigpe3JldHVybiB0aGlzLiNlfXNldCBkb21haW4odyl7dGhpcy4jZT13fSN0PShXYyh0aGlzLG8pLFdjKHRoaXMsbCxudWxsKSk7Z2V0IGNlcnRpZmljYXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNlcnRpZmljYXRlKHcpe3RoaXMuI3Q9d30jcj0oV2ModGhpcyx1KSxXYyh0aGlzLGgsW10pKTtnZXQgZG5zUmVjb3Jkcygpe3JldHVybiB0aGlzLiNyfXNldCBkbnNSZWNvcmRzKHcpe3RoaXMuI3I9d30jYT0oV2ModGhpcyxtKSxXYyh0aGlzLGIsITEpKTtnZXQgYWN0aW9uTG9hZGluZygpe3JldHVybiB0aGlzLiNhfXNldCBhY3Rpb25Mb2FkaW5nKHcpe3RoaXMuI2E9d31zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmRvbWFpbi1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucGVuZGluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgLmRvbWFpbi1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudmVyaWZpZWQtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnZlcmlmaWVkLWJhZGdlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlcjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLmZ1bGwtd2lkdGggewogICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxNHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgc3ZnIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tYWN0aW9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tYWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLmNlcnQtc3RhdHVzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmMGZkZjQiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjEpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuY2VydC1zdGF0dXMuZXhwaXJpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmYmViIiwicmdiYSgyNDUsIDE1OCwgMTEsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LXN0YXR1cy5leHBpcmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZjJmMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWljb24gewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY2VydC1pY29uLnZhbGlkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtaWNvbi5leHBpcmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuY2VydC1pY29uLmV4cGlyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY2VydC1pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAuY2VydC1pbmZvIHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuY2VydC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLmNlcnQtZGF5cyB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuY2VydC1kYXlzLnZhbGlkIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuY2VydC1kYXlzLmV4cGlyaW5nIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuY2VydC1kYXlzLmV4cGlyZWQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWRheXMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5pbmZvLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5pbmZvLXZhbHVlLmVuYWJsZWQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5jaGFpbi1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmNoYWluLWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5kbnMtdGFibGUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZG5zLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMWZyIDJmciA4MHB4IDYwcHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuZG5zLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMWZyIDJmciA4MHB4IDYwcHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5kbnMtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kbnMtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgbWFyZ2luOiAwIC0xNnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMTZweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAuZG5zLXR5cGUgewogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5kbnMtbmFtZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLmRucy12YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmRucy10dGwgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5kbnMtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uLmRhbmdlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbiBzdmcgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLnJvdXRlcy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnJvdXRlLWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmRvbWFpbj9NYAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRvbWFpbi1uYW1lIj4KICAgICAgICAgICAgJHt0aGlzLmRvbWFpbi5uYW1lfQogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7dGhpcy5kb21haW4uc3RhdHVzfSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgICAke3RoaXMuZG9tYWluLnN0YXR1cy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0aGlzLmRvbWFpbi5zdGF0dXMuc2xpY2UoMSl9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluLW1ldGEiPgogICAgICAgICAgICAke3RoaXMuZG9tYWluLnZlcmlmaWVkP01gCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZlcmlmaWVkLWJhZGdlIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMiA0IDEyIDE0LjAxIDkgMTEuMDEiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIFZlcmlmaWVkCiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgOk1gPHNwYW4+Tm90IHZlcmlmaWVkPC9zcGFuPmB9CiAgICAgICAgICAgIDxzcGFuPkFkZGVkICR7dGhpcy5kb21haW4uY3JlYXRlZEF0fTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1hY3Rpb25zIj4KICAgICAgICAgICR7dGhpcy5kb21haW4udmVyaWZpZWQ/IiI6TWAKICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVWZXJpZnkoKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjAgNiA5IDE3IDQgMTIiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgVmVyaWZ5IERvbWFpbgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIGB9CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRhbmdlciIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGUoKX0+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzIDYgNSA2IDIxIDYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE5IDZ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNm0zIDBWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYyIj48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBEZWxldGUKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDwhLS0gQ2VydGlmaWNhdGUgU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHJlY3QgeD0iMyIgeT0iMTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMSIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBTU0wgQ2VydGlmaWNhdGUKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZT9NYAogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InNlY3Rpb24tYWN0aW9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZW5ld0NlcnRpZmljYXRlKCl9PlJlbmV3PC9idXR0b24+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZT9NYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtc3RhdHVzICR7dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXN9Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtaWNvbiAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzfSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXM9PT0idmFsaWQiP01gCiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjIgNCAxMiAxNC4wMSA5IDExLjAxIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICBgOnRoaXMuY2VydGlmaWNhdGUuc3RhdHVzPT09ImV4cGlyaW5nIj9NYAogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyLjAxIiB5Mj0iMTYiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgYDpNYAogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxNSIgeTE9IjkiIHgyPSI5IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI5IiB5MT0iOSIgeDI9IjE1IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1pbmZvIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC10aXRsZSI+JHt0aGlzLmNlcnRpZmljYXRlLnN0YXR1cz09PSJ2YWxpZCI/IkNlcnRpZmljYXRlIFZhbGlkIjp0aGlzLmNlcnRpZmljYXRlLnN0YXR1cz09PSJleHBpcmluZyI/IkNlcnRpZmljYXRlIEV4cGlyaW5nIFNvb24iOiJDZXJ0aWZpY2F0ZSBFeHBpcmVkIn08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1zdWJ0aXRsZSI+SXNzdWVkIGJ5ICR7dGhpcy5jZXJ0aWZpY2F0ZS5pc3N1ZXJ9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtZGF5cyAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzfSI+JHtNYXRoLmFicyh0aGlzLmNlcnRpZmljYXRlLmRheXNSZW1haW5pbmcpfTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LWRheXMtbGFiZWwiPiR7dGhpcy5jZXJ0aWZpY2F0ZS5kYXlzUmVtYWluaW5nPj0wPyJkYXlzIGxlZnQiOiJkYXlzIGFnbyJ9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlZhbGlkIEZyb208L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+JHt0aGlzLmNlcnRpZmljYXRlLnZhbGlkRnJvbX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlZhbGlkIFVudGlsPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPiR7dGhpcy5jZXJ0aWZpY2F0ZS52YWxpZFVudGlsfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+QXV0by1SZW5ldzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlICR7dGhpcy5jZXJ0aWZpY2F0ZS5hdXRvUmVuZXc/ImVuYWJsZWQiOiIifSI+JHt0aGlzLmNlcnRpZmljYXRlLmF1dG9SZW5ldz8iRW5hYmxlZCI6IkRpc2FibGVkIn08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlLmNoYWluJiZ0aGlzLmNlcnRpZmljYXRlLmNoYWluLmxlbmd0aD4wP01gCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5DZXJ0aWZpY2F0ZSBDaGFpbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhaW4tbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlLmNoYWluLm1hcCh3PT5NYDxzcGFuIGNsYXNzPSJjaGFpbi1iYWRnZSI+JHt3fTwvc3Bhbj5gKX0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICBgOk1gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIGNlcnRpZmljYXRlIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFByb3h5IFJvdXRlcyBTZWN0aW9uIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNiAzIDIxIDMgMjEgOCI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI0IiB5MT0iMjAiIHgyPSIyMSIgeTI9IjMiPjwvbGluZT4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIxIDE2IDIxIDIxIDE2IDIxIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE1IiB5MT0iMTUiIHgyPSIyMSIgeTI9IjIxIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iNCIgeTE9IjQiIHgyPSI5IiB5Mj0iOSI+PC9saW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIFByb3h5IFJvdXRlcwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgICAgJHt0aGlzLmRvbWFpbi5wcm94eVJvdXRlcyYmdGhpcy5kb21haW4ucHJveHlSb3V0ZXMubGVuZ3RoPjA/TWAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3V0ZXMtbGlzdCI+CiAgICAgICAgICAgICAgICAke3RoaXMuZG9tYWluLnByb3h5Um91dGVzLm1hcCh3PT5NYAogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icm91dGUtYmFkZ2UiPiR7d308L3NwYW4+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDpNYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBwcm94eSByb3V0ZXMgY29uZmlndXJlZDwvZGl2PgogICAgICAgICAgICBgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gRE5TIFJlY29yZHMgU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGZ1bGwtd2lkdGgiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMiIgeTE9IjEyIiB4Mj0iMjIiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDJhMTUuMyAxNS4zIDAgMCAxIDQgMTAgMTUuMyAxNS4zIDAgMCAxLTQgMTAgMTUuMyAxNS4zIDAgMCAxLTQtMTAgMTUuMyAxNS4zIDAgMCAxIDQtMTB6Ij48L3BhdGg+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgRE5TIFJlY29yZHMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InNlY3Rpb24tYWN0aW9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBZGREbnNSZWNvcmQoKX0+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3R5bGU9Im1hcmdpbi1yaWdodDogNHB4OyI+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBBZGQgUmVjb3JkCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAke3RoaXMuZG5zUmVjb3Jkcy5sZW5ndGg+MD9NYAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRucy10YWJsZSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkbnMtaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+VHlwZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+TmFtZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+VmFsdWU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPlRUTDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke3RoaXMuZG5zUmVjb3Jkcy5tYXAodz0+TWAKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG5zLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy10eXBlIj4ke3cudHlwZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy1uYW1lIj4ke3cubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy12YWx1ZSIgdGl0bGU9IiR7dy52YWx1ZX0iPiR7dy5wcmlvcml0eT9gJHt3LnByaW9yaXR5fSBgOiIifSR7dy52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy10dGwiPiR7dy50dGx9czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG5zLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJFZGl0IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVFZGl0RG5zUmVjb3JkKHcpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMSA0SDRhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguNSAyLjVhMi4xMjEgMi4xMjEgMCAwIDEgMyAzTDEyIDE1bC00IDEgMS00IDkuNS05LjV6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiBkYW5nZXIiIHRpdGxlPSJEZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZURuc1JlY29yZCh3KX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzIDYgNSA2IDIxIDYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE5IDZ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNm0zIDBWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYyIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOk1gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIEROUyByZWNvcmRzIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGA6TWA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gZG9tYWluIHNlbGVjdGVkPC9kaXY+YH1oYW5kbGVWZXJpZnkoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2ZXJpZnktZG9tYWluIix7ZGV0YWlsOnRoaXMuZG9tYWluLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLWRvbWFpbiIse2RldGFpbDp0aGlzLmRvbWFpbixidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlbmV3Q2VydGlmaWNhdGUoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZW5ldy1jZXJ0aWZpY2F0ZSIse2RldGFpbDp0aGlzLmNlcnRpZmljYXRlLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQWRkRG5zUmVjb3JkKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWRkLWRucy1yZWNvcmQiLHtkZXRhaWw6dGhpcy5kb21haW4sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVFZGl0RG5zUmVjb3JkKHcpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImVkaXQtZG5zLXJlY29yZCIse2RldGFpbDp3LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlRG5zUmVjb3JkKHcpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZS1kbnMtcmVjb3JkIix7ZGV0YWlsOncsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksV2ModGhpcyxnKX1zdGF0aWN7V2MoYSxyKX19O3JldHVybiB5PWF9KSgpfSk7dmFyIEF2LEdjLHdLcixYNXI9ZigoKT0+e3VlKCk7QXY9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxHYz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sd0tyPSgoKT0+e2xldCBlPVtyZSgic3otbXRhLWxpc3QtdmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdLGQsaD1bXSxtPVtdLHYsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgdz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOkFycmF5fSldLGM9W3NlKCldLGQ9W3NlKCldLHY9W3NlKCldLEF2KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW1haWxzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4iZW1haWxzImluIGssZ2V0Oms9PmsuZW1haWxzLHNldDooayxSKT0+e2suZW1haWxzPVJ9fSxtZXRhZGF0YTp3fSxzLG8pLEF2KHRoaXMsbnVsbCxjLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoUXVlcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJzZWFyY2hRdWVyeSJpbiBrLGdldDprPT5rLnNlYXJjaFF1ZXJ5LHNldDooayxSKT0+e2suc2VhcmNoUXVlcnk9Un19LG1ldGFkYXRhOnd9LGwsdSksQXYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXNGaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJzdGF0dXNGaWx0ZXIiaW4gayxnZXQ6az0+ay5zdGF0dXNGaWx0ZXIsc2V0OihrLFIpPT57ay5zdGF0dXNGaWx0ZXI9Un19LG1ldGFkYXRhOnd9LGgsbSksQXYodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXJlY3Rpb25GaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOms9PiJkaXJlY3Rpb25GaWx0ZXIiaW4gayxnZXQ6az0+ay5kaXJlY3Rpb25GaWx0ZXIsc2V0OihrLFIpPT57ay5kaXJlY3Rpb25GaWx0ZXI9Un19LG1ldGFkYXRhOnd9LGIsZyksQXYobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6d30sbnVsbCxyKSx5PWE9dC52YWx1ZSx3JiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnd9KX1zdGF0aWMgZGVtbz0oKT0+TWAKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1tdGEtbGlzdC12aWV3CiAgICAgICAgLmVtYWlscz0ke1t7aWQ6IjEiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJ1c2VyQGV4YW1wbGUuY29tIixzdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDozMDoyMiIsbWVzc2FnZUlkOiI8YWJjMTIzQHNlcnZlLnpvbmU+IixzaXplOiIxMi40IEtCIn0se2lkOiIyIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImJvdW5jZWQiLGZyb206ImFsZXJ0c0BzZXJ2ZS56b25lIix0bzoiaW52YWxpZEBub3doZXJlLnRlc3QiLHN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6Mjg6MTAiLG1lc3NhZ2VJZDoiPGRlZjQ1NkBzZXJ2ZS56b25lPiIsc2l6ZToiOC4yIEtCIn0se2lkOiIzIixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJzdXBwb3J0QGN1c3RvbWVyLmNvbSIsdG86ImFkbWluQHNlcnZlLnpvbmUiLHN1YmplY3Q6IlJlOiBJbmZyYXN0cnVjdHVyZSBSZXZpZXciLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyNTowMCIsbWVzc2FnZUlkOiI8Z2hpNzg5QGN1c3RvbWVyLmNvbT4iLHNpemU6IjI0LjEgS0IifSx7aWQ6IjQiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoicmVqZWN0ZWQiLGZyb206ImJpbGxpbmdAc2VydmUuem9uZSIsdG86ImJsb2NrZWRAc3BhbS1kb21haW4udGVzdCIsc3ViamVjdDoiSW52b2ljZSAjMjAyNC0wMDEiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyMDo0NSIsbWVzc2FnZUlkOiI8amtsMDEyQHNlcnZlLnpvbmU+IixzaXplOiI0NS42IEtCIn0se2lkOiI1IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlZmVycmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJzbG93QHJlbW90ZS1zZXJ2ZXIudGVzdCIsc3ViamVjdDoiUGFzc3dvcmQgUmVzZXQgUmVxdWVzdCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjE1OjMwIixtZXNzYWdlSWQ6Ijxtbm8zNDVAc2VydmUuem9uZT4iLHNpemU6IjYuOCBLQiJ9LHtpZDoiNiIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToiY2lAZ2l0aHViLmNvbSIsdG86ImRldm9wc0BzZXJ2ZS56b25lIixzdWJqZWN0OiJCdWlsZCAjNDUyMSBwYXNzZWQiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoxMDowMCIsbWVzc2FnZUlkOiI8cHFyNjc4QGdpdGh1Yi5jb20+IixzaXplOiIxNS4zIEtCIn0se2lkOiI3IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6InBlbmRpbmciLGZyb206InJlcG9ydHNAc2VydmUuem9uZSIsdG86InRlYW1Ac2VydmUuem9uZSIsc3ViamVjdDoiV2Vla2x5IEluZnJhc3RydWN0dXJlIFJlcG9ydCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjA1OjAwIixtZXNzYWdlSWQ6IjxzdHU5MDFAc2VydmUuem9uZT4iLHNpemU6IjEwMi43IEtCIn1dfQogICAgICA+PC9zei1tdGEtbGlzdC12aWV3PgogICAgPC9kaXY+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1UQSJdOyNlPUdjKHRoaXMscyxbXSk7Z2V0IGVtYWlscygpe3JldHVybiB0aGlzLiNlfXNldCBlbWFpbHModyl7dGhpcy4jZT13fSN0PShHYyh0aGlzLG8pLEdjKHRoaXMsbCwiIikpO2dldCBzZWFyY2hRdWVyeSgpe3JldHVybiB0aGlzLiN0fXNldCBzZWFyY2hRdWVyeSh3KXt0aGlzLiN0PXd9I3I9KEdjKHRoaXMsdSksR2ModGhpcyxoLCJhbGwiKSk7Z2V0IHN0YXR1c0ZpbHRlcigpe3JldHVybiB0aGlzLiNyfXNldCBzdGF0dXNGaWx0ZXIodyl7dGhpcy4jcj13fSNhPShHYyh0aGlzLG0pLEdjKHRoaXMsYiwiYWxsIikpO2dldCBkaXJlY3Rpb25GaWx0ZXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZGlyZWN0aW9uRmlsdGVyKHcpe3RoaXMuI2E9d31nZXQgZmlsdGVyZWRFbWFpbHMoKXtyZXR1cm4gdGhpcy5lbWFpbHMuZmlsdGVyKHc9PntpZih0aGlzLnN0YXR1c0ZpbHRlciE9PSJhbGwiJiZ3LnN0YXR1cyE9PXRoaXMuc3RhdHVzRmlsdGVyfHx0aGlzLmRpcmVjdGlvbkZpbHRlciE9PSJhbGwiJiZ3LmRpcmVjdGlvbiE9PXRoaXMuZGlyZWN0aW9uRmlsdGVyKXJldHVybiExO2lmKHRoaXMuc2VhcmNoUXVlcnkpe2xldCBrPXRoaXMuc2VhcmNoUXVlcnkudG9Mb3dlckNhc2UoKTtyZXR1cm4gdy5mcm9tLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoayl8fHcudG8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKXx8dy5zdWJqZWN0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoayl8fHcubWVzc2FnZUlkLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoayl9cmV0dXJuITB9KX1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzNiODJmNiIpfTsKICAgICAgfQoKICAgICAgLmNoaXAtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5jaGlwIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5jaGlwOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNoaXAuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnJlc3VsdHMtY291bnQgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC50YWJsZS1jb250YWluZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MHB4IDkwcHggMS41ZnIgMS41ZnIgMmZyIDE0MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MHB4IDkwcHggMS41ZnIgMS41ZnIgMmZyIDE0MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZGlyZWN0aW9uLWljb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1pY29uLmluYm91bmQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24taWNvbi5vdXRib3VuZCB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kZWxpdmVyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmJvdW5jZWQsCiAgICAgIC5zdGF0dXMtYmFkZ2UucmVqZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRlZmVycmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucGVuZGluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuZW1haWwtZnJvbSwKICAgICAgLmVtYWlsLXRvIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5lbWFpbC1zdWJqZWN0IHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmVtYWlsLXRpbWVzdGFtcCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCB3PXRoaXMuZmlsdGVyZWRFbWFpbHM7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImZpbHRlci1iYXIiPgogICAgICAgIDxpbnB1dAogICAgICAgICAgY2xhc3M9InNlYXJjaC1pbnB1dCIKICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICBwbGFjZWhvbGRlcj0iU2VhcmNoIGJ5IGZyb20sIHRvLCBzdWJqZWN0LCBvciBtZXNzYWdlIElELi4uIgogICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWFyY2hRdWVyeX0KICAgICAgICAgIEBpbnB1dD0ke2s9Pnt0aGlzLnNlYXJjaFF1ZXJ5PWsudGFyZ2V0LnZhbHVlfX0KICAgICAgICAvPgogICAgICAgIDxkaXYgY2xhc3M9ImNoaXAtZ3JvdXAiPgogICAgICAgICAgJHtbImFsbCIsImluYm91bmQiLCJvdXRib3VuZCJdLm1hcChrPT5NYAogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImNoaXAgJHt0aGlzLmRpcmVjdGlvbkZpbHRlcj09PWs/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5kaXJlY3Rpb25GaWx0ZXI9a319CiAgICAgICAgICAgID4ke2s9PT0iYWxsIj8iQWxsIjprPT09ImluYm91bmQiPyJJbmJvdW5kIjoiT3V0Ym91bmQifTwvYnV0dG9uPgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hpcC1ncm91cCI+CiAgICAgICAgICAke1siYWxsIiwiZGVsaXZlcmVkIiwiYm91bmNlZCIsInJlamVjdGVkIiwiZGVmZXJyZWQiLCJwZW5kaW5nIl0ubWFwKGs9Pk1gCiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iY2hpcCAke3RoaXMuc3RhdHVzRmlsdGVyPT09az8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt0aGlzLnN0YXR1c0ZpbHRlcj1rfX0KICAgICAgICAgICAgPiR7az09PSJhbGwiPyJBbGwiOmsuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkray5zbGljZSgxKX08L2J1dHRvbj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InJlc3VsdHMtY291bnQiPlNob3dpbmcgJHt3Lmxlbmd0aH0gb2YgJHt0aGlzLmVtYWlscy5sZW5ndGh9IGVtYWlsczwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0idGFibGUtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIiPgogICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgPHNwYW4+U3RhdHVzPC9zcGFuPgogICAgICAgICAgPHNwYW4+RnJvbTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlRvPC9zcGFuPgogICAgICAgICAgPHNwYW4+U3ViamVjdDwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlRpbWVzdGFtcDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3cubGVuZ3RoPjA/dy5tYXAoaz0+TWAKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRW1haWxDbGljayhrKX0+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXJlY3Rpb24taWNvbiAke2suZGlyZWN0aW9ufSI+CiAgICAgICAgICAgICAgJHtrLmRpcmVjdGlvbj09PSJpbmJvdW5kIj9NYDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTkgMTIgMTIgMTkgNSAxMiIvPjwvc3ZnPmA6TWA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjEyIiB5Mj0iNSIvPjxwb2x5bGluZSBwb2ludHM9IjUgMTIgMTIgNSAxOSAxMiIvPjwvc3ZnPmB9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke2suc3RhdHVzfSI+JHtrLnN0YXR1c308L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1haWwtZnJvbSIgdGl0bGU9IiR7ay5mcm9tfSI+JHtrLmZyb219PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1haWwtdG8iIHRpdGxlPSIke2sudG99Ij4ke2sudG99PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1haWwtc3ViamVjdCIgdGl0bGU9IiR7ay5zdWJqZWN0fSI+JHtrLnN1YmplY3R9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1haWwtdGltZXN0YW1wIj4ke2sudGltZXN0YW1wfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApOk1gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gZW1haWxzIGZvdW5kPC9kaXY+CiAgICAgICAgYH0KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZUVtYWlsQ2xpY2sodyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZW1haWwtY2xpY2siLHtkZXRhaWw6dyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxHYyh0aGlzLGcpfXN0YXRpY3tHYyhhLHIpfX07cmV0dXJuIHk9YX0pKCl9KTt2YXIgUTVyLHg1ZSxNS3IsSjVyPWYoKCk9Pnt1ZSgpO1E1cj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LHg1ZT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sTUtyPSgoKT0+e2xldCBlPVtyZSgic3otbXRhLWRldGFpbC12aWV3IildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6T2JqZWN0fSldLFE1cih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVtYWlsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp1PT4iZW1haWwiaW4gdSxnZXQ6dT0+dS5lbWFpbCxzZXQ6KHUsZCk9Pnt1LmVtYWlsPWR9fSxtZXRhZGF0YTpsfSxzLG8pLFE1cihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpsfSxudWxsLHIpLGM9YT10LnZhbHVlLGwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bH0pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LW10YS1kZXRhaWwtdmlldwogICAgICAgIC5lbWFpbD0ke3tpZDoiMSIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206Im5vcmVwbHlAc2VydmUuem9uZSIsdG86InVzZXJAZXhhbXBsZS5jb20iLHRvTGlzdDpbInVzZXJAZXhhbXBsZS5jb20iXSxzdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDozMDoyMiIsbWVzc2FnZUlkOiI8YWJjMTIzQHNlcnZlLnpvbmU+IixzaXplOiIxMi40IEtCIixzbXRwTG9nOlt7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5zZXJ2ZS56b25lIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5leGFtcGxlLmNvbSBIZWxsbyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtU1RBUlRUTFMiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIFNJWkUgNTI0Mjg4MDAiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiU1RBUlRUTFMifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjIyMCBSZWFkeSB0byBzdGFydCBUTFMiLHJlc3BvbnNlQ29kZToyMjB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiRUhMTyBtYWlsLnNlcnZlLnpvbmUifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLmV4YW1wbGUuY29tIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1BVVRIIFBMQUlOIExPR0lOIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBTSVpFIDUyNDI4ODAwIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkFVVEggUExBSU4gQUhWelpYSUFjR0Z6YzNkdmNtUT0ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjIzNSAyLjcuMCBBdXRoZW50aWNhdGlvbiBzdWNjZXNzZnVsIixyZXNwb25zZUNvZGU6MjM1fSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6Ik1BSUwgRlJPTTo8bm9yZXBseUBzZXJ2ZS56b25lPiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlJDUFQgVE86PHVzZXJAZXhhbXBsZS5jb20+In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgQWNjZXB0ZWQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiREFUQSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDonMzU0IEVudGVyIG1lc3NhZ2UsIGVuZGluZyB3aXRoICIuIiBvbiBhIGxpbmUgYnkgaXRzZWxmJyxyZXNwb25zZUNvZGU6MzU0fSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6Ii4ifSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBPSyBpZD0xcFEyclMtMDAwM0FiLUM0IixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlFVSVQifSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjIyMSBtYWlsLmV4YW1wbGUuY29tIGNsb3NpbmcgY29ubmVjdGlvbiIscmVzcG9uc2VDb2RlOjIyMX1dLGNvbm5lY3Rpb25JbmZvOntzb3VyY2VJcDoiMTAuMC4xLjUwIixzb3VyY2VIb3N0bmFtZToibWFpbC5zZXJ2ZS56b25lIixkZXN0aW5hdGlvbklwOiI5My4xODQuMjE2LjM0IixkZXN0aW5hdGlvblBvcnQ6MjUsdGxzVmVyc2lvbjoiVExTdjEuMyIsdGxzQ2lwaGVyOiJUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IixhdXRoZW50aWNhdGVkOiEwLGF1dGhNZXRob2Q6IlBMQUlOIixhdXRoVXNlcjoibm9yZXBseUBzZXJ2ZS56b25lIn0sYXV0aGVudGljYXRpb25SZXN1bHRzOntzcGY6InBhc3MiLHNwZkRvbWFpbjoic2VydmUuem9uZSIsZGtpbToicGFzcyIsZGtpbURvbWFpbjoic2VydmUuem9uZSIsZG1hcmM6InBhc3MiLGRtYXJjUG9saWN5OiJyZWplY3QifSxoZWFkZXJzOntGcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLFRvOiJ1c2VyQGV4YW1wbGUuY29tIixTdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLERhdGU6Ik1vbiwgMTUgSmFuIDIwMjQgMTQ6MzA6MjIgKzAwMDAiLCJNSU1FLVZlcnNpb24iOiIxLjAiLCJDb250ZW50LVR5cGUiOiJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSxib2R5Oic8aHRtbD5cXG48aGVhZD48dGl0bGU+V2VsY29tZTwvdGl0bGU+PC9oZWFkPlxcbjxib2R5PlxcbiAgPGgxPldlbGNvbWUgdG8gc2VydmUuem9uZSE8L2gxPlxcbiAgPHA+WW91ciBhY2NvdW50IGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LjwvcD5cXG4gIDxhIGhyZWY9Imh0dHBzOi8vc2VydmUuem9uZS9kYXNoYm9hcmQiPkdvIHRvIERhc2hib2FyZDwvYT5cXG48L2JvZHk+XFxuPC9odG1sPid9fQogICAgICA+PC9zei1tdGEtZGV0YWlsLXZpZXc+CiAgICA8L2Rpdj4KICBgO3N0YXRpYyBkZW1vR3JvdXBzPVsiTVRBIl07I2U9eDVlKHRoaXMscyxudWxsKTtnZXQgZW1haWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZW1haWwobCl7dGhpcy4jZT1sfXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmJhY2stbGluayB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmJhY2stbGluazpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmVtYWlsLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuZW1haWwtc3ViamVjdCB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZGVsaXZlcmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ib3VuY2VkLAogICAgICAuc3RhdHVzLWJhZGdlLnJlamVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kZWZlcnJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWY5YzMiLCJyZ2JhKDI1MCwgMjA0LCAyMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNjYThhMDQiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24tYmFkZ2UuaW5ib3VuZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24tYmFkZ2Uub3V0Ym91bmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7CiAgICAgICAgLmNvbnRlbnQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1haW4tY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLnNpZGViYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuY2FyZC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuY2FyZC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNhcmQtc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLmNhcmQtY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAuZGV0YWlsLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmRldGFpbC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICB9CgogICAgICAuc210cC1sb2ctY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsIE1vbmFjbywgJ0Nhc2NhZGlhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKICAgICAgICBzY3JvbGxiYXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfSB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnNtdHAtbG9nLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgIH0KCiAgICAgIC5zbXRwLWxvZy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnNtdHAtbG9nLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC8qIFBoYXNlIHNlcGFyYXRvcnMgKi8KICAgICAgLnNtdHAtcGhhc2Utc2VwYXJhdG9yIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KCiAgICAgIC5zbXRwLXBoYXNlLWxpbmUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuc210cC1waGFzZS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAvKiBDaGF0IGJ1YmJsZXMgKi8KICAgICAgLnNtdHAtYnViYmxlIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTBweCAxNHB4OwogICAgICAgIG1heC13aWR0aDogNzAlOwogICAgICB9CgogICAgICAuc210cC1idWJibGUuY2xpZW50IHsKICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xMikiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgICB9CgogICAgICAuc210cC1idWJibGUuc2VydmVyIHsKICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgzNCwgMTk3LCA5NCwgMC4wNikiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjEwKSIpfTsKICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAke3AuYmRUaGVtZSgiIzIyYzU1ZSIsIiM0YWRlODAiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgIH0KCiAgICAgIC5zbXRwLWJ1YmJsZS1jb21tYW5kIHsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zbXRwLWJ1YmJsZS1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuc210cC1idWJibGUuc2VydmVyIC5zbXRwLWJ1YmJsZS1tZXRhIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tdGFnIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLXRhZy5jbGllbnQgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5zbXRwLWRpcmVjdGlvbi10YWcuc2VydmVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyMmM1NWUiLCIjNGFkZTgwIil9OwogICAgICB9CgogICAgICAvKiBSZXNwb25zZSBjb2RlIGJhZGdlcyAqLwogICAgICAucmVzcG9uc2UtY29kZS1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHBhZGRpbmc6IDFweCA3cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICB9CgogICAgICAucmVzcG9uc2UtY29kZS1iYWRnZS5jb2RlLTJ4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuMTUpIiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yNSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnJlc3BvbnNlLWNvZGUtYmFkZ2UuY29kZS0zeHggewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xNSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yNSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnJlc3BvbnNlLWNvZGUtYmFkZ2UuY29kZS00eHggewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDI1MCwgMjA0LCAyMSwgMC4xNSkiLCJyZ2JhKDI1MCwgMjA0LCAyMSwgMC4yNSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnJlc3BvbnNlLWNvZGUtYmFkZ2UuY29kZS01eHggewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC8qIENvcHkgYnV0dG9uICovCiAgICAgIC5zbXRwLWNvcHktYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zbXRwLWNvcHktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLyogSGVhZGVyIHN1YnRpdGxlIGVuaGFuY2VtZW50cyAqLwogICAgICAuc210cC1oZWFkZXItc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7CiAgICAgIH0KCiAgICAgIC5zbXRwLWRpcmVjdGlvbi1iYWRnZS5pbmJvdW5kIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgzNCwgMTk3LCA5NCwgMC4xMikiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zbXRwLWRpcmVjdGlvbi1iYWRnZS5vdXRib3VuZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEyKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5lbWFpbC1ib2R5LWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50bHMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5hdXRoLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuYXV0aC1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmF1dGgtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5hdXRoLWRvbWFpbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgfQoKICAgICAgLmF1dGgtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5hdXRoLWJhZGdlLnBhc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYXV0aC1iYWRnZS5mYWlsIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmF1dGgtYmFkZ2Uuc29mdGZhaWwsCiAgICAgIC5hdXRoLWJhZGdlLm5ldXRyYWwsCiAgICAgIC5hdXRoLWJhZGdlLm5vbmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnJlamVjdGlvbi1jYXJkIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZmVjYWNhIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLnJlamVjdGlvbi1jb250ZW50IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnJlamVjdGlvbi1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAucmVqZWN0aW9uLXRleHQgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmVmMmYyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM5OTFiMWIiLCIjZmNhNWE1Iil9OwogICAgICB9CgogICAgICAucmVqZWN0aW9uLXRleHQ6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLm5vLWVtYWlsIHsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2lmKCF0aGlzLmVtYWlsKXJldHVybiBNYDxkaXYgY2xhc3M9Im5vLWVtYWlsIj5ObyBlbWFpbCBzZWxlY3RlZDwvZGl2PmA7bGV0IGw9dGhpcy5lbWFpbDtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrLWxpbmsiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUJhY2soKX0+CiAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBCYWNrIHRvIEVtYWlscwogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImVtYWlsLWhlYWRlciI+CiAgICAgICAgPGgxIGNsYXNzPSJlbWFpbC1zdWJqZWN0Ij4ke2wuc3ViamVjdH08L2gxPgogICAgICAgIDxkaXYgY2xhc3M9ImJhZGdlLWdyb3VwIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHtsLnN0YXR1c30iPiR7bC5zdGF0dXN9PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImRpcmVjdGlvbi1iYWRnZSAke2wuZGlyZWN0aW9ufSI+JHtsLmRpcmVjdGlvbn08L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbi1jb250ZW50Ij4KICAgICAgICAgIDwhLS0gRW1haWwgTWV0YWRhdGEgLS0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkVtYWlsIE1ldGFkYXRhPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1saXN0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RnJvbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtsLmZyb219PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlRvPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2wudG9MaXN0LmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke2wuY2MmJmwuY2MubGVuZ3RoPjA/TWAKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNDPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7bC5jYy5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5TdWJqZWN0PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2wuc3ViamVjdH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RGF0ZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtsLnRpbWVzdGFtcH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+TWVzc2FnZSBJRDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtsLm1lc3NhZ2VJZH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+U2l6ZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtsLnNpemV9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPCEtLSBTTVRQIFRyYW5zYWN0aW9uIExvZyAtLT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPlNNVFAgVHJhbnNhY3Rpb24gTG9nPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLWhlYWRlci1zdWJ0aXRsZSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbXRwLWRpcmVjdGlvbi1iYWRnZSAke2wuZGlyZWN0aW9ufSI+JHtsLmRpcmVjdGlvbn08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPiR7bC5kaXJlY3Rpb249PT0ib3V0Ym91bmQiP2Ake2wuY29ubmVjdGlvbkluZm8uc291cmNlSG9zdG5hbWV9IFx1MjE5MiAke2wuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25JcH06JHtsLmNvbm5lY3Rpb25JbmZvLmRlc3RpbmF0aW9uUG9ydH1gOmAke2wuY29ubmVjdGlvbkluZm8uc291cmNlSXB9IFx1MjE5MiAke2wuY29ubmVjdGlvbkluZm8uc291cmNlSG9zdG5hbWV9OiR7bC5jb25uZWN0aW9uSW5mby5kZXN0aW5hdGlvblBvcnR9YH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJzbXRwLWNvcHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jb3B5U210cExvZygpfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjkiIHk9IjkiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgQ29weSBMb2cKICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJTbXRwTG9nKGwpfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPCEtLSBFbWFpbCBCb2R5IC0tPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10aXRsZSI+RW1haWwgQm9keSAoRXNjYXBlZCk8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtc3VidGl0bGUiPlJhdyBjb250ZW50IOKAlCBIVE1MIGlzIG5vdCByZW5kZXJlZDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBjbGFzcz0iZW1haWwtYm9keS1jb250YWluZXIiPiR7bC5ib2R5fTwvcHJlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiPgogICAgICAgICAgPCEtLSBDb25uZWN0aW9uIEluZm8gLS0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkNvbm5lY3Rpb24gSW5mbzwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtbGlzdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlNvdXJjZSBJUDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtsLmNvbm5lY3Rpb25JbmZvLnNvdXJjZUlwfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Tb3VyY2UgSG9zdG5hbWU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7bC5jb25uZWN0aW9uSW5mby5zb3VyY2VIb3N0bmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RGVzdGluYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7bC5jb25uZWN0aW9uSW5mby5kZXN0aW5hdGlvbklwfToke2wuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25Qb3J0fTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5UTFM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICR7bC5jb25uZWN0aW9uSW5mby50bHNWZXJzaW9uP01gPHNwYW4gY2xhc3M9InRscy1iYWRnZSI+JHtsLmNvbm5lY3Rpb25JbmZvLnRsc1ZlcnNpb259PC9zcGFuPmA6Ik5vbmUifQogICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7bC5jb25uZWN0aW9uSW5mby50bHNDaXBoZXI/TWAKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNpcGhlcjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2wuY29ubmVjdGlvbkluZm8udGxzQ2lwaGVyfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5BdXRoZW50aWNhdGVkPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2wuY29ubmVjdGlvbkluZm8uYXV0aGVudGljYXRlZD8iWWVzIjoiTm8ifTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHtsLmNvbm5lY3Rpb25JbmZvLmF1dGhlbnRpY2F0ZWQ/TWAKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkF1dGggTWV0aG9kPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7bC5jb25uZWN0aW9uSW5mby5hdXRoTWV0aG9kfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5BdXRoIFVzZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtsLmNvbm5lY3Rpb25JbmZvLmF1dGhVc2VyfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDwhLS0gQXV0aGVudGljYXRpb24gUmVzdWx0cyAtLT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10aXRsZSI+QXV0aGVudGljYXRpb24gUmVzdWx0czwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdXRoLXJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1sYWJlbCI+U1BGPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1kb21haW4iPiR7bC5hdXRoZW50aWNhdGlvblJlc3VsdHMuc3BmRG9tYWlufTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtYmFkZ2UgJHtsLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5zcGZ9Ij4ke2wuYXV0aGVudGljYXRpb25SZXN1bHRzLnNwZn08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aC1yb3ciPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtbGFiZWwiPkRLSU08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWRvbWFpbiI+JHtsLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5ka2ltRG9tYWlufTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtYmFkZ2UgJHtsLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5ka2ltfSI+JHtsLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5ka2ltfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdXRoLXJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1sYWJlbCI+RE1BUkM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWRvbWFpbiI+cG9saWN5OiAke2wuYXV0aGVudGljYXRpb25SZXN1bHRzLmRtYXJjUG9saWN5fTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtYmFkZ2UgJHtsLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5kbWFyY30iPiR7bC5hdXRoZW50aWNhdGlvblJlc3VsdHMuZG1hcmN9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDwhLS0gUmVqZWN0aW9uIERldGFpbHMgKGNvbmRpdGlvbmFsKSAtLT4KICAgICAgICAgICR7bC5zdGF0dXM9PT0icmVqZWN0ZWQifHxsLnN0YXR1cz09PSJib3VuY2VkIj9NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHJlamVjdGlvbi1jYXJkIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj5SZWplY3Rpb24gRGV0YWlsczwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgICAke2wucmVqZWN0aW9uUmVhc29uP01gCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlamVjdGlvbi1sYWJlbCI+UmVqZWN0aW9uIFJlYXNvbjwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWplY3Rpb24tdGV4dCI+JHtsLnJlamVjdGlvblJlYXNvbn08L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2wuYm91bmNlTWVzc2FnZT9NYAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWplY3Rpb24tbGFiZWwiPkJvdW5jZSBNZXNzYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlamVjdGlvbi10ZXh0Ij4ke2wuYm91bmNlTWVzc2FnZX08L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWdldFJlc3BvbnNlQ29kZUJhZGdlQ2xhc3MobCl7cmV0dXJuIGw+PTUwMD8iY29kZS01eHgiOmw+PTQwMD8iY29kZS00eHgiOmw+PTMwMD8iY29kZS0zeHgiOiJjb2RlLTJ4eCJ9Z2V0U210cFBoYXNlcyhsKXtsZXQgdT1bXSxkPSIiLGg9MDtmb3IobGV0IG0gb2YgbCl7bGV0IHY9bS5jb21tYW5kLnRvVXBwZXJDYXNlKCksYj1kO2lmKG0uZGlyZWN0aW9uPT09ImNsaWVudCImJih2LnN0YXJ0c1dpdGgoIkVITE8iKXx8di5zdGFydHNXaXRoKCJIRUxPIik/KGgrKyxoPT09MT9iPSJjb25uZWN0aW9uIjpiPSJwb3N0LXRscyIpOnY9PT0iU1RBUlRUTFMiP2I9InRscyI6di5zdGFydHNXaXRoKCJBVVRIIik/Yj0iYXV0aCI6di5zdGFydHNXaXRoKCJNQUlMIEZST00iKXx8di5zdGFydHNXaXRoKCJSQ1BUIFRPIil8fHY9PT0iREFUQSJ8fHY9PT0iLiI/Yj0idHJhbnNmZXIiOnY9PT0iUVVJVCImJihiPSJjbG9zaW5nIikpLG0uZGlyZWN0aW9uPT09InNlcnZlciImJmI9PT0iIiYmKGI9ZHx8ImNvbm5lY3Rpb24iKSxiPT09IiImJihiPSJjb25uZWN0aW9uIiksYiE9PWQpe2Q9YjtsZXQgZz17Y29ubmVjdGlvbjoiQ29ubmVjdGlvbiIsdGxzOiJUTFMgTmVnb3RpYXRpb24iLCJwb3N0LXRscyI6IlBvc3QtVExTIEhhbmRzaGFrZSIsYXV0aDoiQXV0aGVudGljYXRpb24iLHRyYW5zZmVyOiJNYWlsIFRyYW5zZmVyIixjbG9zaW5nOiJDbG9zaW5nIn07dS5wdXNoKHtwaGFzZTpiLGxhYmVsOmdbYl18fGIsZW50cmllczpbXX0pfXUubGVuZ3RoPT09MCYmdS5wdXNoKHtwaGFzZToiY29ubmVjdGlvbiIsbGFiZWw6IkNvbm5lY3Rpb24iLGVudHJpZXM6W119KSx1W3UubGVuZ3RoLTFdLmVudHJpZXMucHVzaChtKX1yZXR1cm4gdX1yZW5kZXJTbXRwTG9nKGwpe2xldCB1PXRoaXMuZ2V0U210cFBoYXNlcyhsLnNtdHBMb2cpO3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJzbXRwLWxvZy1jb250YWluZXIiPgogICAgICAgICR7dS5tYXAoZD0+TWAKICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtcGhhc2Utc2VwYXJhdG9yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1waGFzZS1saW5lIj48L2Rpdj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtdHAtcGhhc2UtbGFiZWwiPiR7ZC5sYWJlbH08L3NwYW4+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtcGhhc2UtbGluZSI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7ZC5lbnRyaWVzLm1hcChoPT5NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLWJ1YmJsZSAke2guZGlyZWN0aW9ufSI+CiAgICAgICAgICAgICAgJHtoLmRpcmVjdGlvbj09PSJzZXJ2ZXIiJiZoLnJlc3BvbnNlQ29kZT9NYAogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlc3BvbnNlLWNvZGUtYmFkZ2UgJHt0aGlzLmdldFJlc3BvbnNlQ29kZUJhZGdlQ2xhc3MoaC5yZXNwb25zZUNvZGUpfSI+JHtoLnJlc3BvbnNlQ29kZX08L3NwYW4+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLWJ1YmJsZS1jb21tYW5kIj4ke2guY29tbWFuZH08L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLWJ1YmJsZS1tZXRhIj4KICAgICAgICAgICAgICAgIDxzcGFuPiR7aC50aW1lc3RhbXB9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+wrc8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic210cC1kaXJlY3Rpb24tdGFnICR7aC5kaXJlY3Rpb259Ij4ke2guZGlyZWN0aW9uPT09ImNsaWVudCI/IkNsaWVudCI6IlNlcnZlciJ9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9Y29weVNtdHBMb2coKXtpZighdGhpcy5lbWFpbClyZXR1cm47bGV0IGw9dGhpcy5lbWFpbC5zbXRwTG9nLm1hcCh1PT5gWyR7dS50aW1lc3RhbXB9XSAke3UuZGlyZWN0aW9uPT09ImNsaWVudCI/IkM6IjoiUzoifSAke3UuY29tbWFuZH1gKS5qb2luKGAKYCk7bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQobCl9aGFuZGxlQmFjaygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJhY2siLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx4NWUodGhpcyxvKX1zdGF0aWN7eDVlKGEscil9fTtyZXR1cm4gYz1hfSkoKX0pO2Z1bmN0aW9uIGtLcihlKXtyZXR1cm4gdHlwZW9mIGU9PSJudW1iZXIiP1N0cmluZyhlKTpBcnJheS5pc0FycmF5KGUpP2UubWFwKHQ9PnR5cGVvZiB0PT0ibnVtYmVyIj9TdHJpbmcodCk6YCR7dC5mcm9tfVx1MjAxMyR7dC50b31gKS5qb2luKCIsICIpOlN0cmluZyhlKX1mdW5jdGlvbiBTS3IoZSl7bGV0IHQ9W107Zm9yKGxldCByIG9mIGUpe2xldCBhPUFycmF5LmlzQXJyYXkoci5ob3N0KT9yLmhvc3Q6W3IuaG9zdF0saT1yLnBvcnQ9PT0icHJlc2VydmUiPyIocHJlc2VydmUpIjpTdHJpbmcoci5wb3J0KTtmb3IobGV0IG4gb2YgYSl0LnB1c2goYCR7bn06JHtpfWApfXJldHVybiB0fXZhciBLNXIseTVlLHpLcixlcHI9ZigoKT0+e3VlKCk7SzVyPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0seTVlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfTt6S3I9KCgpPT57bGV0IGU9W3JlKCJzei1yb3V0ZS1jYXJkIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6T2JqZWN0fSldLEs1cih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvdXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp1PT4icm91dGUiaW4gdSxnZXQ6dT0+dS5yb3V0ZSxzZXQ6KHUsZCk9Pnt1LnJvdXRlPWR9fSxtZXRhZGF0YTpsfSxzLG8pLEs1cihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpsfSxudWxsLHIpLGM9YT10LnZhbHVlLGwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bH0pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA1MjBweDsiPgogICAgICA8c3otcm91dGUtY2FyZAogICAgICAgIC5yb3V0ZT0ke3tuYW1lOiJBUEkgR2F0ZXdheSIsZGVzY3JpcHRpb246Ik1haW4gQVBJIGdhdGV3YXkgd2l0aCBUTFMgdGVybWluYXRpb24gYW5kIGxvYWQgYmFsYW5jaW5nIixlbmFibGVkOiEwLHByaW9yaXR5OjEwLHRhZ3M6WyJ3ZWIiLCJhcGkiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOls0NDMsODQ0M10sZG9tYWluczpbImFwaS5leGFtcGxlLmNvbSIsIiouYXBpLnNlcnZlLnpvbmUiXSxwYXRoOiIvYXBpLyoiLHByb3RvY29sOiJodHRwIixjbGllbnRJcDpbIjEwLjAuMC4wLzgiXX0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDpbIjEwLjAuMC4xIiwiMTAuMC4wLjIiXSxwb3J0OjgwODB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifSx3ZWJzb2NrZXQ6e2VuYWJsZWQ6ITB9LGxvYWRCYWxhbmNpbmc6e2FsZ29yaXRobToicm91bmQtcm9iaW4ifSxmb3J3YXJkaW5nRW5naW5lOiJuZnRhYmxlcyJ9LHNlY3VyaXR5OntpcEFsbG93TGlzdDpbIjEwLjAuMC4wLzgiXSxpcEJsb2NrTGlzdDpbIjE5Mi4xNjguMTAwLjAvMjQiXSxyYXRlTGltaXQ6e2VuYWJsZWQ6ITAsbWF4UmVxdWVzdHM6MTAwLHdpbmRvdzo2MH0sbWF4Q29ubmVjdGlvbnM6MWUzfX19CiAgICAgID48L3N6LXJvdXRlLWNhcmQ+CiAgICA8L2Rpdj4KICBgO3N0YXRpYyBkZW1vR3JvdXBzPVsiUm91dGVzIl07I2U9eTVlKHRoaXMscyxudWxsKTtnZXQgcm91dGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcm91dGUobCl7dGhpcy4jZT1sfXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlLCBib3gtc2hhZG93IDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jYXJkOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7cC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggJHtwLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wNikiLCJyZ2JhKDAsMCwwLDAuMikiKX07CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciAqLwogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWxlZnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QuZW5hYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggJHtwLmJkVGhlbWUoInJnYmEoMzQsMTk3LDk0LDAuNCkiLCJyZ2JhKDM0LDE5Nyw5NCwwLjMpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdC5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAucm91dGUtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYmFkZ2VzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmJhZGdlLmZvcndhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLnNvY2tldC1oYW5kbGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2VkZTlmZSIsInJnYmEoMTM5LCA5MiwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzdjM2FlZCIsIiNhNzhiZmEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS5lbmFibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsInJnYmEoMTEzLCAxMTMsIDEyMiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICB9CgogICAgICAubWV0YS1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50YWdzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnRhZyB7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzUyNTI1YiIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5wcmlvcml0eSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ExYTFhYSIsIiM3MTcxN2EiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLyogU2VjdGlvbnMgKi8KICAgICAgLnNlY3Rpb24gewogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQ7CiAgICAgICAgcGFkZGluZzogMTBweCAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCA2cHggNnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbjpsYXN0LW9mLXR5cGUgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLm1hdGNoIHsKICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtwLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi5hY3Rpb24gewogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3AuYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLnNlY3VyaXR5IHsKICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtwLmJkVGhlbWUoIiNmNTllMGIiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ExYTFhYSIsIiM3MTcxN2EiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAuZmllbGQtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQoKICAgICAgLmZpZWxkLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuZmllbGQta2V5IHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1pbi13aWR0aDogNjRweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZmllbGQtdmFsdWUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNlNGU0ZTciKX07CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICB9CgogICAgICAuZG9tYWluLWNoaXAgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlZmY2ZmYiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG1hcmdpbi1yaWdodDogNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDJweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuZG9tYWluLWNoaXAuZ2xvYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4xNSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjOTI0MDBlIiwiI2ZiYmYyNCIpfTsKICAgICAgfQoKICAgICAgLm1vbm8gewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CgogICAgICAucHJvdG9jb2wtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAucHJvdG9jb2wtYmFkZ2UuaHR0cCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAucHJvdG9jb2wtYmFkZ2UudGNwIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnRscy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC50bHMtYmFkZ2UuYXV0byB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC50bHMtYmFkZ2UuY3VzdG9tIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZWRkNSIsInJnYmEoMjQ5LCAxMTUsIDIyLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2MyNDEwYyIsIiNmYjkyM2MiKX07CiAgICAgIH0KCiAgICAgIC5lbmdpbmUtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmFlOGZmIiwicmdiYSgxNjgsIDg1LCAyNDcsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjN2UyMmNlIiwiI2MwODRmYyIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1wYWlyIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmU7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KCiAgICAgIC8qIEZlYXR1cmUgaWNvbnMgKi8KICAgICAgLmZlYXR1cmVzLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE0cHg7CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzFhMWExYSIpfTsKICAgICAgfQoKICAgICAgLmZlYXR1cmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZmVhdHVyZS1pY29uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC5uby1yb3V0ZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2lmKCF0aGlzLnJvdXRlKXJldHVybiBNYDxkaXYgY2xhc3M9ImNhcmQiPjxkaXYgY2xhc3M9Im5vLXJvdXRlIj5ObyByb3V0ZSBkYXRhPC9kaXY+PC9kaXY+YDtsZXQgbD10aGlzLnJvdXRlLHU9bC5lbmFibGVkIT09ITEsZD1sLm1hdGNoLGg9bC5hY3Rpb24sbT1sLnNlY3VyaXR5O3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8IS0tIEhlYWRlciAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWxlZnQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWRvdCAke3U/ImVuYWJsZWQiOiJkaXNhYmxlZCJ9Ij48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyb3V0ZS1uYW1lIj4ke2wubmFtZXx8bC5pZHx8IlVubmFtZWQgUm91dGUifTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWJhZGdlcyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke2gudHlwZX0iPiR7aC50eXBlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dT8iZW5hYmxlZCI6ImRpc2FibGVkIn0iPiR7dT8iZW5hYmxlZCI6ImRpc2FibGVkIn08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHtsLmRlc2NyaXB0aW9uP01gPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPiR7bC5kZXNjcmlwdGlvbn08L2Rpdj5gOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJtZXRhLXJvdyI+CiAgICAgICAgICAke2wudGFncyYmbC50YWdzLmxlbmd0aD4wP01gPGRpdiBjbGFzcz0idGFncyI+JHtsLnRhZ3MubWFwKHY9Pk1gPHNwYW4gY2xhc3M9InRhZyI+JHt2fTwvc3Bhbj5gKX08L2Rpdj5gOk1gPGRpdj48L2Rpdj5gfQogICAgICAgICAgJHtsLnByaW9yaXR5IT1udWxsP01gPHNwYW4gY2xhc3M9InByaW9yaXR5Ij5Qcmlvcml0eTogJHtsLnByaW9yaXR5fTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIE1hdGNoIFNlY3Rpb24gLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBtYXRjaCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5NYXRjaDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+UG9ydHM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBtb25vIj4ke2tLcihkLnBvcnRzKX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7ZC5kb21haW5zP01gCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5Eb21haW5zPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7dGhpcy5yZW5kZXJEb21haW5zKGQuZG9tYWlucyl9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7ZC5wYXRoP01gCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5QYXRoPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHtkLnBhdGh9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7ZC5wcm90b2NvbD9NYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+UHJvdG9jb2w8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb3RvY29sLWJhZGdlICR7ZC5wcm90b2NvbH0iPiR7ZC5wcm90b2NvbH08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2QuY2xpZW50SXAmJmQuY2xpZW50SXAubGVuZ3RoPjA/TWAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkNsaWVudDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7ZC5jbGllbnRJcC5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2QudGxzVmVyc2lvbiYmZC50bHNWZXJzaW9uLmxlbmd0aD4wP01gCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UTFMgVmVyPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7ZC50bHNWZXJzaW9uLmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7ZC5oZWFkZXJzP01gCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5IZWFkZXJzPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICR7T2JqZWN0LmVudHJpZXMoZC5oZWFkZXJzKS5tYXAoKFt2LGJdKT0+TWA8c3BhbiBjbGFzcz0iaGVhZGVyLXBhaXIiPiR7dn09JHtifTwvc3Bhbj4gYCl9CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQWN0aW9uIFNlY3Rpb24gLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBhY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+QWN0aW9uPC9kaXY+CiAgICAgICAgICAke2gudGFyZ2V0cyYmaC50YXJnZXRzLmxlbmd0aD4wP01gCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UYXJnZXRzPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHtTS3IoaC50YXJnZXRzKS5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2gudGxzP01gCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UTFM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgJHtoLnRscy5tb2RlfQogICAgICAgICAgICAgICAgICAgICR7aC50bHMuY2VydGlmaWNhdGU/aC50bHMuY2VydGlmaWNhdGU9PT0iYXV0byI/TWAgPHNwYW4gY2xhc3M9InRscy1iYWRnZSBhdXRvIj5hdXRvIGNlcnQ8L3NwYW4+YDpNYCA8c3BhbiBjbGFzcz0idGxzLWJhZGdlIGN1c3RvbSI+Y3VzdG9tIGNlcnQ8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7aC5mb3J3YXJkaW5nRW5naW5lP01gCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5FbmdpbmU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+PHNwYW4gY2xhc3M9ImVuZ2luZS1iYWRnZSI+JHtoLmZvcndhcmRpbmdFbmdpbmV9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2gubG9hZEJhbGFuY2luZz9NYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+TEI8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHtoLmxvYWRCYWxhbmNpbmcuYWxnb3JpdGhtfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2gud2Vic29ja2V0Py5lbmFibGVkP01gCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5XUzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj48c3BhbiBjbGFzcz0iYmFkZ2UgZW5hYmxlZCI+ZW5hYmxlZDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFNlY3VyaXR5IFNlY3Rpb24gLS0+CiAgICAgICAgJHttP01gCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBzZWN1cml0eSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5TZWN1cml0eTwvZGl2PgogICAgICAgICAgICAgICAgJHttLmlwQWxsb3dMaXN0JiZtLmlwQWxsb3dMaXN0Lmxlbmd0aD4wP01gCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5BbGxvdzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7bS5pcEFsbG93TGlzdC5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke20uaXBCbG9ja0xpc3QmJm0uaXBCbG9ja0xpc3QubGVuZ3RoPjA/TWAKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkJsb2NrPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHttLmlwQmxvY2tMaXN0LmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICR7bS5yYXRlTGltaXQ/LmVuYWJsZWQ/TWAKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlJhdGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHttLnJhdGVMaW1pdC5tYXhSZXF1ZXN0c30gcmVxIC8gJHttLnJhdGVMaW1pdC53aW5kb3d9czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke20ubWF4Q29ubmVjdGlvbnM/TWAKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPk1heCBDb25uPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7bS5tYXhDb25uZWN0aW9uc308L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICA8IS0tIEZlYXR1cmUgSWNvbnMgUm93IC0tPgogICAgICAgICR7dGhpcy5yZW5kZXJGZWF0dXJlcygpfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRG9tYWlucyhsKXtsZXQgdT1BcnJheS5pc0FycmF5KGwpP2w6W2xdO3JldHVybiBNYCR7dS5tYXAoZD0+TWA8c3BhbiBjbGFzcz0iZG9tYWluLWNoaXAgJHtkLmluY2x1ZGVzKCIqIik/Imdsb2IiOiIifSI+JHtkfTwvc3Bhbj5gKX1gfXJlbmRlckZlYXR1cmVzKCl7aWYoIXRoaXMucm91dGUpcmV0dXJuIE1gYDtsZXQgbD1bXSx1PXRoaXMucm91dGUuYWN0aW9uLGQ9dGhpcy5yb3V0ZS5zZWN1cml0eSxoPXRoaXMucm91dGUuaGVhZGVycztyZXR1cm4gdS50bHMmJmwucHVzaChNYDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gxZjUxMjs8L3NwYW4+VExTPC9zcGFuPmApLHUud2Vic29ja2V0Py5lbmFibGVkJiZsLnB1c2goTWA8c3BhbiBjbGFzcz0iZmVhdHVyZSI+PHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+JiN4MjE5NDs8L3NwYW4+V1M8L3NwYW4+YCksdS5sb2FkQmFsYW5jaW5nJiZsLnB1c2goTWA8c3BhbiBjbGFzcz0iZmVhdHVyZSI+PHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+JiN4MjY5Njs8L3NwYW4+TEI8L3NwYW4+YCksZCYmbC5wdXNoKE1gPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDFmNmUxOzwvc3Bhbj5TZWN1cml0eTwvc3Bhbj5gKSxoJiZsLnB1c2goTWA8c3BhbiBjbGFzcz0iZmVhdHVyZSI+PHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+JiN4MjY5OTs8L3NwYW4+SGVhZGVyczwvc3Bhbj5gKSxsLmxlbmd0aD09PTA/TWBgOk1gPGRpdiBjbGFzcz0iZmVhdHVyZXMtcm93Ij4ke2x9PC9kaXY+YH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykseTVlKHRoaXMsbyl9c3RhdGlje3k1ZShhLHIpfX07cmV0dXJuIGM9YX0pKCl9KTt2YXIgRXYsWWMsQ0tyLHRwcj1mKCgpPT57dWUoKTtFdj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFljPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxDS3I9KCgpPT57bGV0IGU9W3JlKCJzei1yb3V0ZS1saXN0LXZpZXciKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXSx2LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IHc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bRih7dHlwZTpBcnJheX0pXSxjPVtzZSgpXSxkPVtzZSgpXSx2PVtzZSgpXSxFdih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvdXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+InJvdXRlcyJpbiBrLGdldDprPT5rLnJvdXRlcyxzZXQ6KGssUik9PntrLnJvdXRlcz1SfX0sbWV0YWRhdGE6d30scyxvKSxFdih0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaFF1ZXJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4ic2VhcmNoUXVlcnkiaW4gayxnZXQ6az0+ay5zZWFyY2hRdWVyeSxzZXQ6KGssUik9PntrLnNlYXJjaFF1ZXJ5PVJ9fSxtZXRhZGF0YTp3fSxsLHUpLEV2KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9uRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczprPT4iYWN0aW9uRmlsdGVyImluIGssZ2V0Oms9PmsuYWN0aW9uRmlsdGVyLHNldDooayxSKT0+e2suYWN0aW9uRmlsdGVyPVJ9fSxtZXRhZGF0YTp3fSxoLG0pLEV2KHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlZEZpbHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6az0+ImVuYWJsZWRGaWx0ZXIiaW4gayxnZXQ6az0+ay5lbmFibGVkRmlsdGVyLHNldDooayxSKT0+e2suZW5hYmxlZEZpbHRlcj1SfX0sbWV0YWRhdGE6d30sYixnKSxFdihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTp3fSxudWxsLHIpLHk9YT10LnZhbHVlLHcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6d30pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LXJvdXRlLWxpc3QtdmlldwogICAgICAgIC5yb3V0ZXM9JHtbe25hbWU6IkhUVFBTIEdhdGV3YXkiLGRlc2NyaXB0aW9uOiJNYWluIHdlYiBnYXRld2F5IHdpdGggVExTIHRlcm1pbmF0aW9uIixlbmFibGVkOiEwLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6WyIqLmV4YW1wbGUuY29tIiwic2VydmUuem9uZSJdLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4wLjEiLHBvcnQ6ODA4MH1dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fX0se25hbWU6IlNNVFAgSW5ib3VuZCIsZGVzY3JpcHRpb246IkVtYWlsIHJlbGF5IGZvciBpbmNvbWluZyBtYWlsIixlbmFibGVkOiEwLHRhZ3M6WyJlbWFpbCIsInNtdHAiXSxtYXRjaDp7cG9ydHM6MjUsZG9tYWluczoibWFpbC5zZXJ2ZS56b25lIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4xLjUiLHBvcnQ6MjV9XX19LHtuYW1lOiJXZWJTb2NrZXQgQVBJIixkZXNjcmlwdGlvbjoiUmVhbC10aW1lIFdlYlNvY2tldCBjb25uZWN0aW9ucyIsZW5hYmxlZDohMCx0YWdzOlsid2ViIiwiYXBpIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiJ3cy5leGFtcGxlLmNvbSIscGF0aDoiL3dzLyoifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjAuMyIscG9ydDo5MDkwfV0sd2Vic29ja2V0OntlbmFibGVkOiEwfSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtuYW1lOiJNYWludGVuYW5jZSBQYWdlIixlbmFibGVkOiExLHRhZ3M6WyJ3ZWIiXSxtYXRjaDp7cG9ydHM6WzgwLDQ0M10sZG9tYWluczoib2xkLmV4YW1wbGUuY29tIn0sYWN0aW9uOnt0eXBlOiJzb2NrZXQtaGFuZGxlciJ9fV19CiAgICAgID48L3N6LXJvdXRlLWxpc3Qtdmlldz4KICAgIDwvZGl2PgogIGA7c3RhdGljIGRlbW9Hcm91cHM9WyJSb3V0ZXMiXTsjZT1ZYyh0aGlzLHMsW10pO2dldCByb3V0ZXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcm91dGVzKHcpe3RoaXMuI2U9d30jdD0oWWModGhpcyxvKSxZYyh0aGlzLGwsIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VhcmNoUXVlcnkodyl7dGhpcy4jdD13fSNyPShZYyh0aGlzLHUpLFljKHRoaXMsaCwiYWxsIikpO2dldCBhY3Rpb25GaWx0ZXIoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYWN0aW9uRmlsdGVyKHcpe3RoaXMuI3I9d30jYT0oWWModGhpcyxtKSxZYyh0aGlzLGIsImFsbCIpKTtnZXQgZW5hYmxlZEZpbHRlcigpe3JldHVybiB0aGlzLiNhfXNldCBlbmFibGVkRmlsdGVyKHcpe3RoaXMuI2E9d31nZXQgZmlsdGVyZWRSb3V0ZXMoKXtyZXR1cm4gdGhpcy5yb3V0ZXMuZmlsdGVyKHc9PntpZih0aGlzLmFjdGlvbkZpbHRlciE9PSJhbGwiJiZ3LmFjdGlvbi50eXBlIT09dGhpcy5hY3Rpb25GaWx0ZXJ8fHRoaXMuZW5hYmxlZEZpbHRlcj09PSJlbmFibGVkIiYmdy5lbmFibGVkPT09ITF8fHRoaXMuZW5hYmxlZEZpbHRlcj09PSJkaXNhYmxlZCImJncuZW5hYmxlZCE9PSExKXJldHVybiExO2lmKHRoaXMuc2VhcmNoUXVlcnkpe2xldCBrPXRoaXMuc2VhcmNoUXVlcnkudG9Mb3dlckNhc2UoKTtyZXR1cm4gdGhpcy5yb3V0ZU1hdGNoZXNTZWFyY2godyxrKX1yZXR1cm4hMH0pfXJvdXRlTWF0Y2hlc1NlYXJjaCh3LGspe2lmKHcubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKXx8dy5kZXNjcmlwdGlvbj8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKXx8dy5tYXRjaC5kb21haW5zJiYoQXJyYXkuaXNBcnJheSh3Lm1hdGNoLmRvbWFpbnMpP3cubWF0Y2guZG9tYWluczpbdy5tYXRjaC5kb21haW5zXSkuc29tZShTPT5TLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaykpfHx0aGlzLmZvcm1hdFBvcnRzRm9yU2VhcmNoKHcubWF0Y2gucG9ydHMpLmluY2x1ZGVzKGspfHx3Lm1hdGNoLnBhdGg/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoayl8fHcubWF0Y2guY2xpZW50SXA/LnNvbWUoQz0+Qy5pbmNsdWRlcyhrKSkpcmV0dXJuITA7aWYody5hY3Rpb24udGFyZ2V0cyl7Zm9yKGxldCBDIG9mIHcuYWN0aW9uLnRhcmdldHMpaWYoKEFycmF5LmlzQXJyYXkoQy5ob3N0KT9DLmhvc3Q6W0MuaG9zdF0pLnNvbWUoTz0+Ty50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGspKSlyZXR1cm4hMH1yZXR1cm4hIXcudGFncz8uc29tZShDPT5DLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaykpfWZvcm1hdFBvcnRzRm9yU2VhcmNoKHcpe3JldHVybiB0eXBlb2Ygdz09Im51bWJlciI/U3RyaW5nKHcpOkFycmF5LmlzQXJyYXkodyk/dy5tYXAoaz0+dHlwZW9mIGs9PSJudW1iZXIiP1N0cmluZyhrKTpgJHtrLmZyb219LSR7ay50b31gKS5qb2luKCIgIik6U3RyaW5nKHcpfXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5maWx0ZXItYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAuY2hpcC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmNoaXAgewogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmNoaXA6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2hpcC5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAucmVzdWx0cy1jb3VudCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoNDIwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgLmdyaWQgc3otcm91dGUtY2FyZCB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZS1pY29uIHsKICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCB3PXRoaXMuZmlsdGVyZWRSb3V0ZXM7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9ImZpbHRlci1iYXIiPgogICAgICAgIDxpbnB1dAogICAgICAgICAgY2xhc3M9InNlYXJjaC1pbnB1dCIKICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICBwbGFjZWhvbGRlcj0iU2VhcmNoIHJvdXRlcyBieSBkb21haW4sIElQLCBwb3J0LCBwYXRoLCBvciB0YWcuLi4iCiAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgQGlucHV0PSR7az0+e3RoaXMuc2VhcmNoUXVlcnk9ay50YXJnZXQudmFsdWV9fQogICAgICAgIC8+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hpcC1ncm91cCI+CiAgICAgICAgICAke1siYWxsIiwiZm9yd2FyZCIsInNvY2tldC1oYW5kbGVyIl0ubWFwKGs9Pk1gCiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9ImNoaXAgJHt0aGlzLmFjdGlvbkZpbHRlcj09PWs/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt0aGlzLmFjdGlvbkZpbHRlcj1rfX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke2s9PT0iYWxsIj8iQWxsIjprPT09ImZvcndhcmQiPyJGb3J3YXJkIjoiU29ja2V0IEhhbmRsZXIifQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGlwLWdyb3VwIj4KICAgICAgICAgICR7WyJhbGwiLCJlbmFibGVkIiwiZGlzYWJsZWQiXS5tYXAoaz0+TWAKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iY2hpcCAke3RoaXMuZW5hYmxlZEZpbHRlcj09PWs/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt0aGlzLmVuYWJsZWRGaWx0ZXI9a319CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtrLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2suc2xpY2UoMSl9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InJlc3VsdHMtY291bnQiPgogICAgICAgIFNob3dpbmcgJHt3Lmxlbmd0aH0gb2YgJHt0aGlzLnJvdXRlcy5sZW5ndGh9IHJvdXRlcwogICAgICA8L2Rpdj4KCiAgICAgICR7dy5sZW5ndGg+MD9NYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICAgICAgICAke3cubWFwKGs9Pk1gCiAgICAgICAgICAgICAgICAgIDxzei1yb3V0ZS1jYXJkCiAgICAgICAgICAgICAgICAgICAgLnJvdXRlPSR7a30KICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSb3V0ZUNsaWNrKGspfQogICAgICAgICAgICAgICAgICA+PC9zei1yb3V0ZS1jYXJkPgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDpNYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUtaWNvbiI+JiN4MWY1MGQ7PC9kaXY+CiAgICAgICAgICAgICAgPGRpdj5ObyByb3V0ZXMgbWF0Y2ggeW91ciBmaWx0ZXJzPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KICAgIGB9aGFuZGxlUm91dGVDbGljayh3KXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3V0ZS1jbGljayIse2RldGFpbDp3LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFljKHRoaXMsZyl9c3RhdGlje1ljKGEscil9fTtyZXR1cm4geT1hfSkoKX0pO3ZhciBtbCx6aSxUS3IscnByPWYoKCk9Pnt1ZSgpO21sPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0semk9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LFRLcj0oKCk9PntsZXQgZT1bcmUoInN6LWNvbmZpZy1zZWN0aW9uIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W10sdixiPVtdLGc9W10seSx3PVtdLGs9W10sUixDPVtdLFM9W10sTyxEPVtdLE49W10scSxfPVtdLHo9W10sRSxUPVtdLEw9W107dmFyIFY9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBCPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0Yoe3R5cGU6U3RyaW5nfSldLGM9W0Yoe3R5cGU6U3RyaW5nfSldLGQ9W0Yoe3R5cGU6U3RyaW5nfSldLHY9W0Yoe3R5cGU6U3RyaW5nfSldLHk9W0Yoe3R5cGU6QXJyYXl9KV0sUj1bRih7dHlwZTpBcnJheX0pXSxPPVtGKHt0eXBlOkJvb2xlYW59KV0scT1bRih7dHlwZTpCb29sZWFufSldLEU9W3NlKCldLG1sKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJ0aXRsZSJpbiBVLGdldDpVPT5VLnRpdGxlLHNldDooVSxLKT0+e1UudGl0bGU9S319LG1ldGFkYXRhOkJ9LHMsbyksbWwodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdWJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+InN1YnRpdGxlImluIFUsZ2V0OlU9PlUuc3VidGl0bGUsc2V0OihVLEspPT57VS5zdWJ0aXRsZT1LfX0sbWV0YWRhdGE6Qn0sbCx1KSxtbCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJpY29uImluIFUsZ2V0OlU9PlUuaWNvbixzZXQ6KFUsSyk9PntVLmljb249S319LG1ldGFkYXRhOkJ9LGgsbSksbWwodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJzdGF0dXMiaW4gVSxnZXQ6VT0+VS5zdGF0dXMsc2V0OihVLEspPT57VS5zdGF0dXM9S319LG1ldGFkYXRhOkJ9LGIsZyksbWwodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWVsZHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJmaWVsZHMiaW4gVSxnZXQ6VT0+VS5maWVsZHMsc2V0OihVLEspPT57VS5maWVsZHM9S319LG1ldGFkYXRhOkJ9LHcsayksbWwodGhpcyxudWxsLFIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpVPT4iYWN0aW9ucyJpbiBVLGdldDpVPT5VLmFjdGlvbnMsc2V0OihVLEspPT57VS5hY3Rpb25zPUt9fSxtZXRhZGF0YTpCfSxDLFMpLG1sKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJjb2xsYXBzaWJsZSJpbiBVLGdldDpVPT5VLmNvbGxhcHNpYmxlLHNldDooVSxLKT0+e1UuY29sbGFwc2libGU9S319LG1ldGFkYXRhOkJ9LEQsTiksbWwodGhpcyxudWxsLHEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOlU9PiJjb2xsYXBzZWQiaW4gVSxnZXQ6VT0+VS5jb2xsYXBzZWQsc2V0OihVLEspPT57VS5jb2xsYXBzZWQ9S319LG1ldGFkYXRhOkJ9LF8seiksbWwodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0NvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6VT0+ImlzQ29sbGFwc2VkImluIFUsZ2V0OlU9PlUuaXNDb2xsYXBzZWQsc2V0OihVLEspPT57VS5pc0NvbGxhcHNlZD1LfX0sbWV0YWRhdGE6Qn0sVCxMKSxtbChudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpCfSxudWxsLHIpLFY9YT10LnZhbHVlLEImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Qn0pfXN0YXRpYyBkZW1vPSgpPT5NYAogICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgIHRpdGxlPSJTbWFydFByb3h5IgogICAgICBzdWJ0aXRsZT0iSFRUUC9IVFRQUyBhbmQgVENQL1NOSSByZXZlcnNlIHByb3h5IgogICAgICBpY29uPSJsdWNpZGU6bmV0d29yayIKICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAuZmllbGRzPSR7W3trZXk6IlJvdXRlIENvdW50Iix2YWx1ZToxMn0se2tleToiQUNNRSBFbmFibGVkIix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn0se2tleToiQWNjb3VudCBFbWFpbCIsdmFsdWU6ImFkbWluQGV4YW1wbGUuY29tIn0se2tleToiVXNlIFByb2R1Y3Rpb24iLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJBdXRvIFJlbmV3Iix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn0se2tleToiUmVuZXcgVGhyZXNob2xkIix2YWx1ZToiMzAgZGF5cyJ9XX0KICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgogICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgIHRpdGxlPSJFbWFpbCBTZXJ2ZXIiCiAgICAgIHN1YnRpdGxlPSJTTVRQIGVtYWlsIGhhbmRsaW5nIHdpdGggc21hcnRtdGEiCiAgICAgIGljb249Imx1Y2lkZTptYWlsIgogICAgICBzdGF0dXM9ImRpc2FibGVkIgogICAgICAuZmllbGRzPSR7W3trZXk6IlBvcnRzIix2YWx1ZTpbIjI1IiwiNDY1IiwiNTg3Il0sdHlwZToicGlsbHMifSx7a2V5OiJIb3N0bmFtZSIsdmFsdWU6bnVsbH0se2tleToiRG9tYWlucyIsdmFsdWU6WyJleGFtcGxlLmNvbSIsIm1haWwuZXhhbXBsZS5jb20iXSx0eXBlOiJwaWxscyJ9XX0KICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgogICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgIHRpdGxlPSJETlMgU2VydmVyIgogICAgICBzdWJ0aXRsZT0iQXV0aG9yaXRhdGl2ZSBETlMgd2l0aCBzbWFydGRucyIKICAgICAgaWNvbj0ibHVjaWRlOmdsb2JlIgogICAgICBzdGF0dXM9Im5vdC1jb25maWd1cmVkIgogICAgICBjb2xsYXBzaWJsZQogICAgICAuZmllbGRzPSR7W3trZXk6IlBvcnQiLHZhbHVlOjUzfSx7a2V5OiJOUyBEb21haW5zIix2YWx1ZTpbIm5zMS5leGFtcGxlLmNvbSIsIm5zMi5leGFtcGxlLmNvbSJdLHR5cGU6InBpbGxzIn1dfQogICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CiAgYDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNvbmZpZ3VyYXRpb24iXTsjZT16aSh0aGlzLHMsIiIpO2dldCB0aXRsZSgpe3JldHVybiB0aGlzLiNlfXNldCB0aXRsZShCKXt0aGlzLiNlPUJ9I3Q9KHppKHRoaXMsbyksemkodGhpcyxsLCIiKSk7Z2V0IHN1YnRpdGxlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHN1YnRpdGxlKEIpe3RoaXMuI3Q9Qn0jcj0oemkodGhpcyx1KSx6aSh0aGlzLGgsIiIpKTtnZXQgaWNvbigpe3JldHVybiB0aGlzLiNyfXNldCBpY29uKEIpe3RoaXMuI3I9Qn0jYT0oemkodGhpcyxtKSx6aSh0aGlzLGIsImVuYWJsZWQiKSk7Z2V0IHN0YXR1cygpe3JldHVybiB0aGlzLiNhfXNldCBzdGF0dXMoQil7dGhpcy4jYT1CfSNpPSh6aSh0aGlzLGcpLHppKHRoaXMsdyxbXSkpO2dldCBmaWVsZHMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgZmllbGRzKEIpe3RoaXMuI2k9Qn0jbj0oemkodGhpcyxrKSx6aSh0aGlzLEMsW10pKTtnZXQgYWN0aW9ucygpe3JldHVybiB0aGlzLiNufXNldCBhY3Rpb25zKEIpe3RoaXMuI249Qn0jcz0oemkodGhpcyxTKSx6aSh0aGlzLEQsITEpKTtnZXQgY29sbGFwc2libGUoKXtyZXR1cm4gdGhpcy4jc31zZXQgY29sbGFwc2libGUoQil7dGhpcy4jcz1CfSNvPSh6aSh0aGlzLE4pLHppKHRoaXMsXywhMSkpO2dldCBjb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jb31zZXQgY29sbGFwc2VkKEIpe3RoaXMuI289Qn0jbD0oemkodGhpcyx6KSx6aSh0aGlzLFQsITEpKTtnZXQgaXNDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgaXNDb2xsYXBzZWQoQil7dGhpcy4jbD1CfXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2libGVdKSAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNpYmxlXSkgLnNlY3Rpb24taGVhZGVyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ViZWJlZCIsIiMxYzFjMWYiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItbGVmdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaWNvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuaGVhZGVyLWljb24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNTI1MjViIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci10ZXh0IHsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItcmlnaHQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC8qIFN0YXR1cyBiYWRnZSAqLwogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDNweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmVuYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwxOTcsOTQsMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LDY4LDY4LDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ub3QtY29uZmlndXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCJyZ2JhKDExMywxMTMsMTIyLDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZlZjNjNyIsInJnYmEoMjQ1LDE1OCwxMSwwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM5MjQwMGUiLCIjZmJiZjI0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdCB7CiAgICAgICAgd2lkdGg6IDdweDsKICAgICAgICBoZWlnaHQ6IDdweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZW5hYmxlZCAuc3RhdHVzLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRpc2FibGVkIC5zdGF0dXMtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uubm90LWNvbmZpZ3VyZWQgLnN0YXR1cy1kb3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS53YXJuaW5nIC5zdGF0dXMtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y1OWUwYiIsIiNmYmJmMjQiKX07CiAgICAgIH0KCiAgICAgIC8qIEFjdGlvbiBidXR0b25zICovCiAgICAgIC5oZWFkZXItYWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNXB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgicmdiYSgzNyw5OSwyMzUsMC4wOCkiLCJyZ2JhKDk2LDE2NSwyNTAsMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1hY3Rpb24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC8qIENoZXZyb24gKi8KICAgICAgLmNoZXZyb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmNoZXZyb24uY29sbGFwc2VkIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgICB9CgogICAgICAuY2hldnJvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAvKiBDb250ZW50ICovCiAgICAgIC5zZWN0aW9uLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWNvbnRlbnQuY29sbGFwc2VkIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBGaWVsZCByb3dzICovCiAgICAgIC5maWVsZC1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMWExYTFlIil9OwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgLmZpZWxkLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAuZmllbGQta2V5IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG1pbi13aWR0aDogMTQwcHg7CiAgICAgICAgcGFkZGluZy10b3A6IDFweDsKICAgICAgfQoKICAgICAgLmZpZWxkLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLmZpZWxkLXZhbHVlLm51bGwtdmFsdWUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICB9CgogICAgICAvKiBCb29sZWFuIGRpc3BsYXkgKi8KICAgICAgLmJvb2wtdmFsdWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA1cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5ib29sLXZhbHVlLnRydWUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5ib29sLXZhbHVlLmZhbHNlIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuYm9vbC1kb3QgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB9CgogICAgICAuYm9vbC12YWx1ZS50cnVlIC5ib29sLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYm9vbC12YWx1ZS5mYWxzZSAuYm9vbC1kb3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLyogUGlsbHMgKi8KICAgICAgLnBpbGxzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDVweDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAucGlsbCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOXB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZWZmNmZmIiwicmdiYSg1OSwxMzAsMjQ2LDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLyogQ29kZSB2YWx1ZSAqLwogICAgICAuY29kZS12YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC8qIExpbmsgdmFsdWUgKi8KICAgICAgLmxpbmstdmFsdWUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC5saW5rLXZhbHVlOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLyogRGVzY3JpcHRpb24gaGludCAqLwogICAgICAuZmllbGQtZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICAgIG1hcmdpbi10b3A6IDNweDsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgfQoKICAgICAgLyogU2xvdCBmb3IgY3VzdG9tIGNvbnRlbnQgKi8KICAgICAgLnNsb3QtY29udGVudCB7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzFhMWExZSIpfTsKICAgICAgfQoKICAgICAgLnNsb3QtY29udGVudDplbXB0eSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICB9CgogICAgICAvKiBCYWRnZSB0eXBlICovCiAgICAgIC5iYWRnZS12YWx1ZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOXB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNTI1MjViIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaXNDb2xsYXBzZWQ9dGhpcy5jb2xsYXBzZWQsdGhpcy5jb2xsYXBzaWJsZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNvbGxhcHNpYmxlIiwiIil9cmVuZGVyKCl7bGV0IEI9e2VuYWJsZWQ6IkVuYWJsZWQiLGRpc2FibGVkOiJEaXNhYmxlZCIsIm5vdC1jb25maWd1cmVkIjoiTm90IENvbmZpZ3VyZWQiLHdhcm5pbmc6Ildhcm5pbmcifTtyZXR1cm4gTWAKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9InNlY3Rpb24taGVhZGVyIgogICAgICAgICAgQGNsaWNrPSR7KCk9Pnt0aGlzLmNvbGxhcHNpYmxlJiYodGhpcy5pc0NvbGxhcHNlZD0hdGhpcy5pc0NvbGxhcHNlZCl9fQogICAgICAgID4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1sZWZ0Ij4KICAgICAgICAgICAgJHt0aGlzLmljb24/TWAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaWNvbiI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5pY29ufT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRleHQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+JHt0aGlzLnRpdGxlfTwvZGl2PgogICAgICAgICAgICAgICR7dGhpcy5zdWJ0aXRsZT9NYDxkaXYgY2xhc3M9ImhlYWRlci1zdWJ0aXRsZSI+JHt0aGlzLnN1YnRpdGxlfTwvZGl2PmA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItcmlnaHQiPgogICAgICAgICAgICAke3RoaXMuc3RhdHVzP01gCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke3RoaXMuc3RhdHVzfSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAgICAgJHtCW3RoaXMuc3RhdHVzXXx8dGhpcy5zdGF0dXN9CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICAke3RoaXMuYWN0aW9ucy5tYXAoVT0+TWAKICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJoZWFkZXItYWN0aW9uIiBAY2xpY2s9JHtLPT57Sy5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KFUuZXZlbnR8fCJhY3Rpb24iLHtkZXRhaWw6VS5kZXRhaWx8fHtsYWJlbDpVLmxhYmVsfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX0+CiAgICAgICAgICAgICAgICAke1UuaWNvbj9NYDxkZWVzLWljb24gLmljb249JHtVLmljb259PjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgICAke1UubGFiZWx9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgICAgICAke3RoaXMuY29sbGFwc2libGU/TWAKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2hldnJvbiAke3RoaXMuaXNDb2xsYXBzZWQ/ImNvbGxhcHNlZCI6IiJ9Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNoZXZyb25Eb3duIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50ICR7dGhpcy5pc0NvbGxhcHNlZD8iY29sbGFwc2VkIjoiIn0iPgogICAgICAgICAgJHt0aGlzLmZpZWxkcy5tYXAoVT0+dGhpcy5yZW5kZXJGaWVsZChVKSl9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzbG90LWNvbnRlbnQiPgogICAgICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZpZWxkKEIpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWtleSI+JHtCLmtleX08L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgJHt0aGlzLnJlbmRlckZpZWxkVmFsdWUoQil9CiAgICAgICAgICAke0IuZGVzY3JpcHRpb24/TWA8ZGl2IGNsYXNzPSJmaWVsZC1kZXNjcmlwdGlvbiI+JHtCLmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWVsZFZhbHVlKEIpe2xldCBVPUIudmFsdWUsSz1CLnR5cGV8fHRoaXMuaW5mZXJUeXBlKFUpO2lmKFU9PW51bGwpcmV0dXJuIE1gPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG51bGwtdmFsdWUiPk5vdCBjb25maWd1cmVkPC9zcGFuPmA7c3dpdGNoKEspe2Nhc2UiYm9vbGVhbiI6cmV0dXJuIE1gCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYm9vbC12YWx1ZSAke1U/InRydWUiOiJmYWxzZSJ9Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJvb2wtZG90Ij48L3NwYW4+CiAgICAgICAgICAgICR7VT8iRW5hYmxlZCI6IkRpc2FibGVkIn0KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICBgO2Nhc2UicGlsbHMiOnJldHVybiBBcnJheS5pc0FycmF5KFUpJiZVLmxlbmd0aD09PTA/TWA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbnVsbC12YWx1ZSI+Tm9uZTwvc3Bhbj5gOk1gCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxscyI+CiAgICAgICAgICAgICR7VS5tYXAoST0+TWA8c3BhbiBjbGFzcz0icGlsbCI+JHtJfTwvc3Bhbj5gKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA7Y2FzZSJjb2RlIjpyZXR1cm4gTWA8c3BhbiBjbGFzcz0iY29kZS12YWx1ZSI+JHtTdHJpbmcoVSl9PC9zcGFuPmA7Y2FzZSJiYWRnZSI6cmV0dXJuIE1gPHNwYW4gY2xhc3M9ImJhZGdlLXZhbHVlIj4ke1N0cmluZyhVKX08L3NwYW4+YDtjYXNlImxpbmsiOnJldHVybiBNYAogICAgICAgICAgPHNwYW4KICAgICAgICAgICAgY2xhc3M9ImxpbmstdmFsdWUiCiAgICAgICAgICAgIEBjbGljaz0keygpPT57Qi5saW5rVG8mJnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm5hdmlnYXRlIix7ZGV0YWlsOnt0YXJnZXQ6Qi5saW5rVG99LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fQogICAgICAgICAgPiR7U3RyaW5nKFUpfTwvc3Bhbj4KICAgICAgICBgO2RlZmF1bHQ6cmV0dXJuIE1gPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4ke1N0cmluZyhVKX08L3NwYW4+YH19aW5mZXJUeXBlKEIpe3JldHVybiB0eXBlb2YgQj09ImJvb2xlYW4iPyJib29sZWFuIjpBcnJheS5pc0FycmF5KEIpPyJwaWxscyI6InRleHQifWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx6aSh0aGlzLEwpfXN0YXRpY3t6aShhLHIpfX07cmV0dXJuIFY9YX0pKCl9KTt2YXIgdzVlLEl2LF9LcixhcHI9ZigoKT0+e3VlKCk7dzVlPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sSXY9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LF9Lcj0oKCk9PntsZXQgZT1bcmUoInN6LWNvbmZpZy1vdmVydmlldyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdLGMsbD1bXSx1PVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgaD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtGKHt0eXBlOlN0cmluZ30pXSxjPVtGKHt0eXBlOlN0cmluZ30pXSx3NWUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4iaGVhZGluZyJpbiBtLGdldDptPT5tLmhlYWRpbmcsc2V0OihtLHYpPT57bS5oZWFkaW5nPXZ9fSxtZXRhZGF0YTpofSxzLG8pLHc1ZSh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluZm9UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczptPT4iaW5mb1RleHQiaW4gbSxnZXQ6bT0+bS5pbmZvVGV4dCxzZXQ6KG0sdik9PnttLmluZm9UZXh0PXZ9fSxtZXRhZGF0YTpofSxsLHUpLHc1ZShudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpofSxudWxsLHIpLGQ9YT10LnZhbHVlLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBkZW1vPSgpPT5NYDxzei1jb25maWctb3ZlcnZpZXcKICAgIGhlYWRpbmc9IkNvbmZpZ3VyYXRpb24iCiAgICBpbmZvVGV4dD0iVGhpcyBpcyBhIHJlYWQtb25seSB2aWV3IG9mIHRoZSBjdXJyZW50IHJ1bm5pbmcgY29uZmlndXJhdGlvbi4iCiAgPgogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzcxNzE3YTsgZm9udC1zaXplOiAxNHB4OyI+CiAgICAgIFBsYWNlICZsdDtzei1jb25maWctc2VjdGlvbiZndDsgZWxlbWVudHMgaGVyZQogICAgPC9kaXY+CiAgPC9zei1jb25maWctb3ZlcnZpZXc+YDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNvbmZpZ3VyYXRpb24iXTsjZT1Jdih0aGlzLHMsIiIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcoaCl7dGhpcy4jZT1ofSN0PShJdih0aGlzLG8pLEl2KHRoaXMsbCwiIikpO2dldCBpbmZvVGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCBpbmZvVGV4dChoKXt0aGlzLiN0PWh9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmluZm8tYmFubmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxNHB4IDE4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNlZmY2ZmYiLCJyZ2JhKDU5LDEzMCwyNDYsMC4wOCkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNiZmRiZmUiLCJyZ2JhKDU5LDEzMCwyNDYsMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxZTQwYWYiLCIjOTNjNWZkIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAuaW5mby1iYW5uZXIgZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMXB4OwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoc3otY29uZmlnLXNlY3Rpb24pIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoc3otY29uZmlnLXNlY3Rpb246bGFzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICAke3RoaXMuaGVhZGluZz9NYDxkaXYgY2xhc3M9ImhlYWRpbmciPiR7dGhpcy5oZWFkaW5nfTwvZGl2PmA6IiJ9CiAgICAgICR7dGhpcy5pbmZvVGV4dD9NYAogICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYmFubmVyIj4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmluZm8ifT48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPiR7dGhpcy5pbmZvVGV4dH08L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEl2KHRoaXMsdSl9c3RhdGlje0l2KGEscil9fTtyZXR1cm4gZD1hfSkoKX0pO3ZhciBMS3IsJEtyLERLcixpcHI9ZigoKT0+e3VlKCk7bHMoKTtMS3I9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSwkS3I9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LERLcj0oKCk9PntsZXQgZT1bcmUoInN6LWRlbW8tdmlldy1kYXNoYm9hcmQiKV0sdCxyPVtdLGEsaT1oZTt2YXIgbj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IHM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7TEtyKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOnN9LG51bGwsciksbj1hPXQudmFsdWUscyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpzfSl9YXBwdWk9bnVsbDthc3luYyBvbkFjdGl2YXRlKHMpe3RoaXMuYXBwdWk9cy5hcHB1aSx0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkRhc2hib2FyZCIsZ3JvdXBzOlt7bmFtZToiUXVpY2sgQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiRGVwbG95IFNlcnZpY2UiLGljb25OYW1lOiJsdWNpZGU6Um9ja2V0IixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiRGVwbG95IHNlcnZpY2UiKX19LHt0eXBlOiJhY3Rpb24iLGtleToiQWRkIERvbWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpHbG9iZSIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIkFkZCBkb21haW4iKX19LHt0eXBlOiJhY3Rpb24iLGtleToiQ3JlYXRlIFRva2VuIixpY29uTmFtZToibHVjaWRlOktleSIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIkNyZWF0ZSB0b2tlbiIpfX1dfSx7bmFtZToiU3lzdGVtIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIFN0YXRzIixpY29uTmFtZToibHVjaWRlOlJlZnJlc2hDdyIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIlJlZnJlc2giKX19LHt0eXBlOiJhY3Rpb24iLGtleToiVmlldyBMb2dzIixpY29uTmFtZToibHVjaWRlOlRlcm1pbmFsIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiVmlldyBsb2dzIil9fV19XX0pfW9uRGVhY3RpdmF0ZSgpe31zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPkRhc2hib2FyZDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPk92ZXJ2aWV3IG9mIHlvdXIgb25lYm94IGluZnJhc3RydWN0dXJlPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxzei1kYXNoYm9hcmQtdmlldwogICAgICAgIC5jbHVzdGVyU3RhdHM9JHt7dG90YWxTZXJ2aWNlczoxMixydW5uaW5nOjksc3RvcHBlZDozLGRvY2tlclN0YXR1czoicnVubmluZyJ9fQogICAgICAgIC5yZXNvdXJjZVVzYWdlPSR7e2NwdTo0NSxtZW1vcnlVc2VkOiI2LjIgR0IiLG1lbW9yeVRvdGFsOiIxNiBHQiIsbmV0d29ya0luOiIyLjUgTUIvcyIsbmV0d29ya091dDoiMS4yIE1CL3MiLHRvcENvbnN1bWVyczpbe25hbWU6Im1vbmdvZGIiLG1lbW9yeToiMS4yIEdCIn0se25hbWU6ImNsaWNraG91c2UiLG1lbW9yeToiOTgwIE1CIn0se25hbWU6Im5naW54LXByb3h5IixtZW1vcnk6IjI1NiBNQiJ9XX19CiAgICAgICAgLnBsYXRmb3JtU2VydmljZXM9JHtbe25hbWU6Ik1vbmdvREIiLHN0YXR1czoicnVubmluZyIsaWNvbjoiZGF0YWJhc2UifSx7bmFtZToiUzMgU3RvcmFnZSIsc3RhdHVzOiJydW5uaW5nIixpY29uOiJzdG9yYWdlIn0se25hbWU6IkNsaWNrSG91c2UiLHN0YXR1czoic3RvcHBlZCIsaWNvbjoiYW5hbHl0aWNzIn0se25hbWU6IlJlZGlzIENhY2hlIixzdGF0dXM6InJ1bm5pbmciLGljb246ImNhY2hlIn1dfQogICAgICAgIC50cmFmZmljPSR7e3JlcXVlc3RzOjE1NDIwLGVycm9yczoyMyxlcnJvclBlcmNlbnQ6LjE1LGF2Z1Jlc3BvbnNlOjE0NSxyZXFQZXJNaW46ODU2LHN0YXR1czJ4eDoxNDg1MCxzdGF0dXMzeHg6MzIwLHN0YXR1czR4eDoyMjcsc3RhdHVzNXh4OjIzfX0KICAgICAgICAucHJveHk9JHt7aHR0cFBvcnQ6IjgwIixodHRwc1BvcnQ6IjQ0MyIsaHR0cEFjdGl2ZTohMCxodHRwc0FjdGl2ZTohMCxyb3V0ZUNvdW50OiIyNCJ9fQogICAgICAgIC5jZXJ0aWZpY2F0ZXM9JHt7dmFsaWQ6MTgsZXhwaXJpbmc6MixleHBpcmVkOjB9fQogICAgICAgIC5kbnM9JHt7cmVjb3Jkczo0NSx6b25lczo4LHBlbmRpbmdDaGFuZ2VzOjB9fQogICAgICAgIC5zc2w9JHt7YWN0aXZlQ2VydHM6MjAsYXV0b1JlbmV3OiEwLHByb3ZpZGVyOiJMZXQncyBFbmNyeXB0In19CiAgICAgICAgQHF1aWNrLWFjdGlvbj0ke3M9PmNvbnNvbGUubG9nKCJRdWljayBhY3Rpb246IixzLmRldGFpbCl9CiAgICAgID48L3N6LWRhc2hib2FyZC12aWV3PgogICAgYH1zdGF0aWN7JEtyKGEscil9fTtyZXR1cm4gbj1hfSkoKX0pO3ZhciBjTyxTdSxBS3IsbnByPWYoKCk9Pnt1ZSgpO2xzKCk7Y089ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxTdT1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sQUtyPSgoKT0+e2xldCBlPVtyZSgic3otZGVtby12aWV3LXNlcnZpY2VzIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W10sYyxsPVtdLHU9W10sZCxoPVtdLG09W107dmFyIHY9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W3NlKCldLGM9W3NlKCldLGQ9W3NlKCldLGNPKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFZpZXciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJjdXJyZW50VmlldyJpbiBnLGdldDpnPT5nLmN1cnJlbnRWaWV3LHNldDooZyx5KT0+e2cuY3VycmVudFZpZXc9eX19LG1ldGFkYXRhOmJ9LHMsbyksY08odGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFNlcnZpY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJzZWxlY3RlZFNlcnZpY2UiaW4gZyxnZXQ6Zz0+Zy5zZWxlY3RlZFNlcnZpY2Usc2V0OihnLHkpPT57Zy5zZWxlY3RlZFNlcnZpY2U9eX19LG1ldGFkYXRhOmJ9LGwsdSksY08odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFBsYXRmb3JtU2VydmljZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+InNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlImluIGcsZ2V0Omc9Pmcuc2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2Usc2V0OihnLHkpPT57Zy5zZWxlY3RlZFBsYXRmb3JtU2VydmljZT15fX0sbWV0YWRhdGE6Yn0saCxtKSxjTyhudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpifSxudWxsLHIpLHY9YT10LnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfWFwcHVpPW51bGw7I2U9U3UodGhpcyxzLCJsaXN0Iik7Z2V0IGN1cnJlbnRWaWV3KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGN1cnJlbnRWaWV3KGIpe3RoaXMuI2U9Yn0jdD0oU3UodGhpcyxvKSxTdSh0aGlzLGwsbnVsbCkpO2dldCBzZWxlY3RlZFNlcnZpY2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRTZXJ2aWNlKGIpe3RoaXMuI3Q9Yn0jcj0oU3UodGhpcyx1KSxTdSh0aGlzLGgsbnVsbCkpO2dldCBzZWxlY3RlZFBsYXRmb3JtU2VydmljZSgpe3JldHVybiB0aGlzLiNyfXNldCBzZWxlY3RlZFBsYXRmb3JtU2VydmljZShiKXt0aGlzLiNyPWJ9ZGVtb1NlcnZpY2VzPShTdSh0aGlzLG0pLFt7aWQ6IjEiLG5hbWU6Im5naW54LXByb3h5IixpbWFnZToibmdpbng6bGF0ZXN0IixzdGF0dXM6InJ1bm5pbmciLGNwdToiMi41JSIsbWVtb3J5OiIyNTYgTUIiLHBvcnRzOiI4MCwgNDQzIix1cHRpbWU6IjVkIDEyaCJ9LHtpZDoiMiIsbmFtZToiYXBpLWdhdGV3YXkiLGltYWdlOiJhcGktZ2F0ZXdheTp2Mi4xLjAiLHN0YXR1czoicnVubmluZyIsY3B1OiI4LjIlIixtZW1vcnk6IjUxMiBNQiIscG9ydHM6IjMwMDAiLHVwdGltZToiM2QgOGgifSx7aWQ6IjMiLG5hbWU6Indvcmtlci1zZXJ2aWNlIixpbWFnZToid29ya2VyOmxhdGVzdCIsc3RhdHVzOiJzdG9wcGVkIixjcHU6IjAlIixtZW1vcnk6IjAgTUIiLHBvcnRzOiItIix1cHRpbWU6Ii0ifSx7aWQ6IjQiLG5hbWU6InJlZGlzLWNhY2hlIixpbWFnZToicmVkaXM6Ny1hbHBpbmUiLHN0YXR1czoicnVubmluZyIsY3B1OiIxLjIlIixtZW1vcnk6IjEyOCBNQiIscG9ydHM6IjYzNzkiLHVwdGltZToiMTBkIDRoIn1dKTtkZW1vUGxhdGZvcm1TZXJ2aWNlPXtpZDoiMSIsbmFtZToiTW9uZ29EQiIsdHlwZToibW9uZ29kYiIsc3RhdHVzOiJydW5uaW5nIix2ZXJzaW9uOiI3LjAuNCIsaG9zdDoibG9jYWxob3N0Iixwb3J0OjI3MDE3LGNyZWRlbnRpYWxzOnt1c2VybmFtZToiYWRtaW4iLHBhc3N3b3JkOiJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjIifSxjb25maWc6e3JlcGxpY2FTZXQ6InJzMCIsYXV0aEVuYWJsZWQ6ITAsam91cm5hbGluZzohMH0sbWV0cmljczp7Y3B1OjEyLG1lbW9yeTo0NSxzdG9yYWdlOjIzLGNvbm5lY3Rpb25zOjh9fTtkZW1vUGxhdGZvcm1Mb2dzPVt7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIyIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiQ29ubmVjdGlvbiBhY2NlcHRlZCBmcm9tIDEyNy4wLjAuMTo1NDMyMSJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjAiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJJbmRleCBidWlsZCBjb21wbGV0ZWQgb24gY29sbGVjdGlvbiB1c2VycyJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MTUiLGxldmVsOiJ3YXJuIixtZXNzYWdlOiJTbG93IHF1ZXJ5IGRldGVjdGVkOiAxLjJzIG9uIGNvbGxlY3Rpb24gb3JkZXJzIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoxMCIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkNoZWNrcG9pbnQgY29tcGxldGUifV07ZGVtb0JhY2t1cFNjaGVkdWxlcz1be2lkOiIxIixzY29wZToiQWxsIFNlcnZpY2VzIixyZXRlbnRpb246IkQ6NywgVzo0LCBNOjEyIixzY2hlZHVsZToiMCAyICogKiAqIixsYXN0UnVuOiIxLzIvMjAyNiwgMjowMDowMyBBTSIsbmV4dFJ1bjoiMS8zLzIwMjYsIDI6MDA6MDAgQU0iLHN0YXR1czoiYWN0aXZlIn1dO2RlbW9CYWNrdXBzPVt7aWQ6IjEiLHNlcnZpY2U6Im5naW54LXByb3h5IixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixzaXplOiIyMi4wIE1CIixpbmNsdWRlczpbIkltYWdlIl19LHtpZDoiMiIsc2VydmljZToiYXBpLWdhdGV3YXkiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDIgQU0iLHNpemU6IjE1Ni41IE1CIixpbmNsdWRlczpbIkltYWdlIiwiVm9sdW1lcyJdfSx7aWQ6IjMiLHNlcnZpY2U6InJlZGlzLWNhY2hlIixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAwIEFNIixzaXplOiI0OC4wIE1CIixpbmNsdWRlczpbIkltYWdlIiwiRGF0YSJdfV07c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5wYWdlLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmhlYWRlci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAudGFicyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC50YWIgewogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IC0xcHg7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4IDFweCAwIDA7CiAgICAgIH0KCiAgICAgIC5iYWNrLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3AuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYmFjay1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgJHt0aGlzLmN1cnJlbnRWaWV3PT09Imxpc3QiP3RoaXMucmVuZGVyTGlzdFZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRWaWV3PT09ImNyZWF0ZSI/dGhpcy5yZW5kZXJDcmVhdGVWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50Vmlldz09PSJkZXRhaWwiP3RoaXMucmVuZGVyRGV0YWlsVmlldygpOiIifQogICAgICAke3RoaXMuY3VycmVudFZpZXc9PT0iYmFja3VwcyI/dGhpcy5yZW5kZXJCYWNrdXBzVmlldygpOiIifQogICAgICAke3RoaXMuY3VycmVudFZpZXc9PT0icGxhdGZvcm0tZGV0YWlsIj90aGlzLnJlbmRlclBsYXRmb3JtRGV0YWlsVmlldygpOiIifQogICAgYH1yZW5kZXJMaXN0Vmlldygpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIj5TZXJ2aWNlczwvaDE+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZS1zdWJ0aXRsZSI+TWFuYWdlIHlvdXIgRG9ja2VyIGNvbnRhaW5lcnMgYW5kIHBsYXRmb3JtIHNlcnZpY2VzPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1hY3Rpb25zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gc2Vjb25kYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0iYmFja3VwcyJ9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIvPgogICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE3IDggMTIgMyA3IDgiLz4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIzIiB4Mj0iMTIiIHkyPSIxNSIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgQmFja3VwcwogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0iY3JlYXRlIn0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ii8+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIERlcGxveSBTZXJ2aWNlCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ0YWJzIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0YWIgYWN0aXZlIj5Eb2NrZXIgU2VydmljZXM8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0YWIiIEBjbGljaz0keygpPT57dGhpcy5zZWxlY3RlZFBsYXRmb3JtU2VydmljZT10aGlzLmRlbW9QbGF0Zm9ybVNlcnZpY2UsdGhpcy5jdXJyZW50Vmlldz0icGxhdGZvcm0tZGV0YWlsIn19PlBsYXRmb3JtIFNlcnZpY2VzPC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPHN6LXNlcnZpY2VzLWxpc3QtdmlldwogICAgICAgIC5zZXJ2aWNlcz0ke3RoaXMuZGVtb1NlcnZpY2VzfQogICAgICAgIEB2aWV3LXNlcnZpY2U9JHtiPT57dGhpcy5zZWxlY3RlZFNlcnZpY2U9Yi5kZXRhaWwsdGhpcy5jdXJyZW50Vmlldz0iZGV0YWlsIn19CiAgICAgICAgQHN0YXJ0LXNlcnZpY2U9JHtiPT5jb25zb2xlLmxvZygiU3RhcnQgc2VydmljZToiLGIuZGV0YWlsKX0KICAgICAgICBAc3RvcC1zZXJ2aWNlPSR7Yj0+Y29uc29sZS5sb2coIlN0b3Agc2VydmljZToiLGIuZGV0YWlsKX0KICAgICAgICBAcmVzdGFydC1zZXJ2aWNlPSR7Yj0+Y29uc29sZS5sb2coIlJlc3RhcnQgc2VydmljZToiLGIuZGV0YWlsKX0KICAgICAgICBAZGVsZXRlLXNlcnZpY2U9JHtiPT5jb25zb2xlLmxvZygiRGVsZXRlIHNlcnZpY2U6IixiLmRldGFpbCl9CiAgICAgID48L3N6LXNlcnZpY2VzLWxpc3Qtdmlldz4KICAgIGB9cmVuZGVyQ3JlYXRlVmlldygpe3JldHVybiBNYAogICAgICA8YnV0dG9uIGNsYXNzPSJiYWNrLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9Imxpc3QifT4KICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPgogICAgICAgIDwvc3ZnPgogICAgICAgIEJhY2sgdG8gU2VydmljZXMKICAgICAgPC9idXR0b24+CgogICAgICA8c3otc2VydmljZS1jcmVhdGUtdmlldwogICAgICAgIC5yZWdpc3RyaWVzPSR7W3tpZDoiMSIsbmFtZToiT25lYm94IFJlZ2lzdHJ5Iix1cmw6InJlZ2lzdHJ5Lm9uZWJveC5sb2NhbCJ9LHtpZDoiMiIsbmFtZToiRG9ja2VyIEh1YiIsdXJsOiJkb2NrZXIuaW8ifV19CiAgICAgICAgQGNyZWF0ZS1zZXJ2aWNlPSR7Yj0+e2NvbnNvbGUubG9nKCJDcmVhdGUgc2VydmljZToiLGIuZGV0YWlsKSx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In19CiAgICAgICAgQGNhbmNlbD0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJsaXN0In0KICAgICAgPjwvc3otc2VydmljZS1jcmVhdGUtdmlldz4KICAgIGB9cmVuZGVyRGV0YWlsVmlldygpe3JldHVybiBNYAogICAgICA8YnV0dG9uIGNsYXNzPSJiYWNrLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9Imxpc3QifT4KICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPgogICAgICAgIDwvc3ZnPgogICAgICAgIEJhY2sgdG8gU2VydmljZXMKICAgICAgPC9idXR0b24+CgogICAgICA8c3otc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7e2lkOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlPy5pZHx8IjEiLG5hbWU6dGhpcy5zZWxlY3RlZFNlcnZpY2U/Lm5hbWV8fCJuZ2lueC1wcm94eSIsaW1hZ2U6dGhpcy5zZWxlY3RlZFNlcnZpY2U/LmltYWdlfHwibmdpbng6bGF0ZXN0IixzdGF0dXM6dGhpcy5zZWxlY3RlZFNlcnZpY2U/LnN0YXR1c3x8InJ1bm5pbmciLHBvcnRzOlt7aG9zdDoiODAiLGNvbnRhaW5lcjoiODAifSx7aG9zdDoiNDQzIixjb250YWluZXI6IjQ0MyJ9XSxlbnZWYXJzOlt7a2V5OiJOR0lOWF9IT1NUIix2YWx1ZToibG9jYWxob3N0In0se2tleToiTkdJTlhfUE9SVCIsdmFsdWU6IjgwIn1dLHZvbHVtZXM6W3tob3N0OiIvZGF0YS9uZ2lueC9jb25mIixjb250YWluZXI6Ii9ldGMvbmdpbngvY29uZi5kIn1dLGNyZWF0ZWRBdDoiMjAyNC0wMS0xNSAxMDozMDowMCIscmVzdGFydFBvbGljeToiYWx3YXlzIn19CiAgICAgICAgLmxvZ3M9JHtbe3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMiIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6JzEyNy4wLjAuMSAtIC0gWzIwL0phbi8yMDI0OjE0OjMwOjIyICswMDAwXSAiR0VUIC8gSFRUUC8xLjEiIDIwMCA2MTInfSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIxIixsZXZlbDoiaW5mbyIsbWVzc2FnZTonMTI3LjAuMC4xIC0gLSBbMjAvSmFuLzIwMjQ6MTQ6MzA6MjEgKzAwMDBdICJHRVQgL2FwaS9oZWFsdGggSFRUUC8xLjEiIDIwMCAxNSd9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjAiLGxldmVsOiJ3YXJuIixtZXNzYWdlOiJ1cHN0cmVhbSB0aW1lZCBvdXQgKDExMDogQ29ubmVjdGlvbiB0aW1lZCBvdXQpIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoxOSIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6JzEyNy4wLjAuMSAtIC0gWzIwL0phbi8yMDI0OjE0OjMwOjE5ICswMDAwXSAiUE9TVCAvYXBpL2RhdGEgSFRUUC8xLjEiIDIwMSA4OSd9XX0KICAgICAgICBAc3RhcnQ9JHsoKT0+Y29uc29sZS5sb2coIlN0YXJ0Iil9CiAgICAgICAgQHN0b3A9JHsoKT0+Y29uc29sZS5sb2coIlN0b3AiKX0KICAgICAgICBAcmVzdGFydD0keygpPT5jb25zb2xlLmxvZygiUmVzdGFydCIpfQogICAgICAgIEByZXF1ZXN0LXdvcmtzcGFjZT0ke2I9PmNvbnNvbGUubG9nKCJXb3Jrc3BhY2UgcmVxdWVzdGVkIGZvcjoiLGIuZGV0YWlsLnNlcnZpY2UubmFtZSl9CiAgICAgID48L3N6LXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICBgfXJlbmRlckJhY2t1cHNWaWV3KCl7cmV0dXJuIE1gCiAgICAgIDxidXR0b24gY2xhc3M9ImJhY2stYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9PgogICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ii8+CiAgICAgICAgPC9zdmc+CiAgICAgICAgQmFjayB0byBTZXJ2aWNlcwogICAgICA8L2J1dHRvbj4KCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaW5mbyI+CiAgICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPkJhY2t1cHM8L2gxPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPk1hbmFnZSBiYWNrdXAgc2NoZWR1bGVzIGFuZCByZXN0b3JlIHBvaW50czwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8c3otc2VydmljZXMtYmFja3Vwcy12aWV3CiAgICAgICAgLnNjaGVkdWxlcz0ke3RoaXMuZGVtb0JhY2t1cFNjaGVkdWxlc30KICAgICAgICAuYmFja3Vwcz0ke3RoaXMuZGVtb0JhY2t1cHN9CiAgICAgICAgQGNyZWF0ZS1zY2hlZHVsZT0keygpPT5jb25zb2xlLmxvZygiQ3JlYXRlIHNjaGVkdWxlIil9CiAgICAgICAgQHJ1bi1ub3c9JHtiPT5jb25zb2xlLmxvZygiUnVuIG5vdzoiLGIuZGV0YWlsKX0KICAgICAgICBAZG93bmxvYWQ9JHtiPT5jb25zb2xlLmxvZygiRG93bmxvYWQ6IixiLmRldGFpbCl9CiAgICAgID48L3N6LXNlcnZpY2VzLWJhY2t1cHMtdmlldz4KICAgIGB9cmVuZGVyUGxhdGZvcm1EZXRhaWxWaWV3KCl7cmV0dXJuIE1gCiAgICAgIDxidXR0b24gY2xhc3M9ImJhY2stYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9PgogICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ii8+CiAgICAgICAgPC9zdmc+CiAgICAgICAgQmFjayB0byBTZXJ2aWNlcwogICAgICA8L2J1dHRvbj4KCiAgICAgIDxzei1wbGF0Zm9ybS1zZXJ2aWNlLWRldGFpbC12aWV3CiAgICAgICAgLnNlcnZpY2U9JHt0aGlzLmRlbW9QbGF0Zm9ybVNlcnZpY2V9CiAgICAgICAgLmxvZ3M9JHt0aGlzLmRlbW9QbGF0Zm9ybUxvZ3N9CiAgICAgICAgQHN0YXJ0PSR7KCk9PmNvbnNvbGUubG9nKCJTdGFydCIpfQogICAgICAgIEBzdG9wPSR7KCk9PmNvbnNvbGUubG9nKCJTdG9wIil9CiAgICAgICAgQHJlc3RhcnQ9JHsoKT0+Y29uc29sZS5sb2coIlJlc3RhcnQiKX0KICAgICAgPjwvc3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldz4KICAgIGB9YXN5bmMgb25BY3RpdmF0ZShiKXt0aGlzLmFwcHVpPWIuYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiRG9ja2VyIFNlcnZpY2VzIixhY3Rpb246KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX19LHtrZXk6IlBsYXRmb3JtIFNlcnZpY2VzIixhY3Rpb246KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJwbGF0Zm9ybS1kZXRhaWwiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfX0se2tleToiQmFja3VwcyIsYWN0aW9uOigpPT57dGhpcy5jdXJyZW50Vmlldz0iYmFja3VwcyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9fV0pLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfXVwZGF0ZVNlY29uZGFyeU1lbnUoKXt0aGlzLmFwcHVpJiZ0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IlNlcnZpY2VzIixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJEZXBsb3kgU2VydmljZSIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJjcmVhdGUifX0se3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIixpY29uTmFtZToibHVjaWRlOlJlZnJlc2hDdyIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIlJlZnJlc2giKX19XX0se25hbWU6IlF1aWNrIEZpbHRlcnMiLGl0ZW1zOlt7a2V5OiJSdW5uaW5nIixpY29uTmFtZToibHVjaWRlOlBsYXkiLGJhZGdlOiIzIixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgcnVubmluZyIpfX0se2tleToiU3RvcHBlZCIsaWNvbk5hbWU6Imx1Y2lkZTpTcXVhcmUiLGJhZGdlOiIxIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIHN0b3BwZWQiKX19XX1dfSl9b25EZWFjdGl2YXRlKCl7fXN0YXRpY3tTdShhLHIpfX07cmV0dXJuIHY9YX0pKCl9KTt2YXIgTTVlLFB2LEVLcixzcHI9ZigoKT0+e3VlKCk7bHMoKTtNNWU9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxQdj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sRUtyPSgoKT0+e2xldCBlPVtyZSgic3otZGVtby12aWV3LW5ldHdvcmsiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGg9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bc2UoKV0sYz1bc2UoKV0sTTVlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+ImN1cnJlbnRUYWIiaW4gbSxnZXQ6bT0+bS5jdXJyZW50VGFiLHNldDoobSx2KT0+e20uY3VycmVudFRhYj12fX0sbWV0YWRhdGE6aH0scyxvKSxNNWUodGhpcyxudWxsLGMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERvbWFpbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6bT0+InNlbGVjdGVkRG9tYWluImluIG0sZ2V0Om09Pm0uc2VsZWN0ZWREb21haW4sc2V0OihtLHYpPT57bS5zZWxlY3RlZERvbWFpbj12fX0sbWV0YWRhdGE6aH0sbCx1KSxNNWUobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6aH0sbnVsbCxyKSxkPWE9dC52YWx1ZSxoJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmh9KX1hcHB1aT1udWxsOyNlPVB2KHRoaXMscywicHJveHkiKTtnZXQgY3VycmVudFRhYigpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50VGFiKGgpe3RoaXMuI2U9aH1hc3luYyBvbkFjdGl2YXRlKGgpe3RoaXMuYXBwdWk9aC5hcHB1aSx0aGlzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJSZXZlcnNlIFByb3h5IixhY3Rpb246KCk9Pnt0aGlzLmN1cnJlbnRUYWI9InByb3h5Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX19LHtrZXk6IkROUyBSZWNvcmRzIixhY3Rpb246KCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImRucyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9fSx7a2V5OiJEb21haW5zIixhY3Rpb246KCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbnMiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7dGhpcy5hcHB1aSYmKHRoaXMuY3VycmVudFRhYj09PSJwcm94eSI/dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJSZXZlcnNlIFByb3h5Iixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgUm91dGUiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIkFkZCByb3V0ZSIpfX0se3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIixpY29uTmFtZToibHVjaWRlOlJlZnJlc2hDdyIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIlJlZnJlc2giKX19XX0se25hbWU6IlN0YXRpc3RpY3MiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiNDIgQWN0aXZlIENvbm5lY3Rpb25zIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6IjE1LDQyMCBSZXF1ZXN0cyBUb2RheSJ9XX1dfSk6dGhpcy5jdXJyZW50VGFiPT09ImRucyI/dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJETlMgUmVjb3JkcyIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQWRkIFJlY29yZCIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiQWRkIHJlY29yZCIpfX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQgWm9uZSIsaWNvbk5hbWU6Imx1Y2lkZTpVcGxvYWQiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJJbXBvcnQgem9uZSIpfX1dfSx7bmFtZToiWm9uZXMiLGl0ZW1zOlt7a2V5OiJleGFtcGxlLmNvbSIsaWNvbk5hbWU6Imx1Y2lkZTpHbG9iZSIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIlNlbGVjdCBleGFtcGxlLmNvbSIpfX0se2tleToiZXhhbXBsZS5uZXQiLGljb25OYW1lOiJsdWNpZGU6R2xvYmUiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJTZWxlY3QgZXhhbXBsZS5uZXQiKX19LHtrZXk6Im15YXBwLmlvIixpY29uTmFtZToibHVjaWRlOkdsb2JlIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiU2VsZWN0IG15YXBwLmlvIil9fV19XX0pOih0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWlucyJ8fHRoaXMuY3VycmVudFRhYj09PSJkb21haW4tZGV0YWlsIikmJnRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRG9tYWlucyIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQWRkIERvbWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiQWRkIGRvbWFpbiIpfX0se3R5cGU6ImFjdGlvbiIsa2V5OiJWZXJpZnkgQWxsIixpY29uTmFtZToibHVjaWRlOkNoZWNrQ2lyY2xlIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiVmVyaWZ5IGFsbCIpfX1dfSx7bmFtZToiQ2VydGlmaWNhdGVzIixpdGVtczpbe2tleToiVmFsaWQiLGljb25OYW1lOiJsdWNpZGU6U2hpZWxkQ2hlY2siLGJhZGdlOiIzIixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgdmFsaWQiKX19LHtrZXk6IkV4cGlyaW5nIFNvb24iLGljb25OYW1lOiJsdWNpZGU6QWxlcnRUcmlhbmdsZSIsYmFkZ2U6IjEiLGJhZGdlVmFyaWFudDoid2FybmluZyIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIkZpbHRlciBleHBpcmluZyIpfX1dfV19KSl9b25EZWFjdGl2YXRlKCl7fSN0PShQdih0aGlzLG8pLFB2KHRoaXMsbCxudWxsKSk7Z2V0IHNlbGVjdGVkRG9tYWluKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkRG9tYWluKGgpe3RoaXMuI3Q9aH1kZW1vUHJveHlSb3V0ZXM9KFB2KHRoaXMsdSksW3tpZDoiMSIsZG9tYWluOiJhcGkuZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2FwaS1nYXRld2F5OjMwMDAiLHNzbDohMCxzdGF0dXM6ImFjdGl2ZSJ9LHtpZDoiMiIsZG9tYWluOiJhcHAuZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2Zyb250ZW5kOjgwODAiLHNzbDohMCxzdGF0dXM6ImFjdGl2ZSJ9LHtpZDoiMyIsZG9tYWluOiJhZG1pbi5leGFtcGxlLmNvbSIsdGFyZ2V0OiJodHRwOi8vYWRtaW4tcGFuZWw6NDAwMCIsc3NsOiEwLHN0YXR1czoiYWN0aXZlIn0se2lkOiI0Iixkb21haW46ImxlZ2FjeS5leGFtcGxlLmNvbSIsdGFyZ2V0OiJodHRwOi8vbGVnYWN5OjUwMDAiLHNzbDohMSxzdGF0dXM6ImluYWN0aXZlIn1dKTtkZW1vQWNjZXNzTG9ncz1be3RpbWVzdGFtcDoiMTQ6MzA6MjIiLG1ldGhvZDoiR0VUIixwYXRoOiIvYXBpL3VzZXJzIixzdGF0dXM6MjAwLGR1cmF0aW9uOiI0NW1zIixpcDoiMTkyLjE2OC4xLjEwMCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixtZXRob2Q6IlBPU1QiLHBhdGg6Ii9hcGkvb3JkZXJzIixzdGF0dXM6MjAxLGR1cmF0aW9uOiIxMjBtcyIsaXA6IjE5Mi4xNjguMS4xMDUifSx7dGltZXN0YW1wOiIxNDozMDoyMCIsbWV0aG9kOiJHRVQiLHBhdGg6Ii9hcGkvcHJvZHVjdHMiLHN0YXR1czoyMDAsZHVyYXRpb246Ijg5bXMiLGlwOiIxOTIuMTY4LjEuMTAwIn0se3RpbWVzdGFtcDoiMTQ6MzA6MTkiLG1ldGhvZDoiREVMRVRFIixwYXRoOiIvYXBpL2NhY2hlIixzdGF0dXM6MjA0LGR1cmF0aW9uOiIxMm1zIixpcDoiMTkyLjE2OC4xLjUwIn0se3RpbWVzdGFtcDoiMTQ6MzA6MTgiLG1ldGhvZDoiR0VUIixwYXRoOiIvaGVhbHRoIixzdGF0dXM6MjAwLGR1cmF0aW9uOiI1bXMiLGlwOiIxMC4wLjAuMSJ9XTtkZW1vRG5zUmVjb3Jkcz1be2lkOiIxIix0eXBlOiJBIixuYW1lOiJAIix2YWx1ZToiMTkyLjE2OC4xLjEwMCIsdHRsOjM2MDAsem9uZToiZXhhbXBsZS5jb20ifSx7aWQ6IjIiLHR5cGU6IkEiLG5hbWU6ImFwaSIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn0se2lkOiIzIix0eXBlOiJDTkFNRSIsbmFtZToid3d3Iix2YWx1ZToiZXhhbXBsZS5jb20iLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn0se2lkOiI0Iix0eXBlOiJNWCIsbmFtZToiQCIsdmFsdWU6Im1haWwuZXhhbXBsZS5jb20iLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIixwcmlvcml0eToxMH0se2lkOiI1Iix0eXBlOiJUWFQiLG5hbWU6IkAiLHZhbHVlOiJ2PXNwZjEgaW5jbHVkZTpfc3BmLmV4YW1wbGUuY29tIH5hbGwiLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn1dO2RlbW9Eb21haW5zPVt7aWQ6IjEiLG5hbWU6ImV4YW1wbGUuY29tIixzdGF0dXM6ImFjdGl2ZSIsc3NsOiEwLHNzbEV4cGlyeToiMjAyNC0wNC0xNSIsZG5zUHJvdmlkZXI6IkNsb3VkZmxhcmUiLHJlY29yZENvdW50OjEyfSx7aWQ6IjIiLG5hbWU6ImFwaS5leGFtcGxlLmNvbSIsc3RhdHVzOiJhY3RpdmUiLHNzbDohMCxzc2xFeHBpcnk6IjIwMjQtMDUtMjAiLGRuc1Byb3ZpZGVyOiJDbG91ZGZsYXJlIixyZWNvcmRDb3VudDozfSx7aWQ6IjMiLG5hbWU6InN0YWdpbmcuZXhhbXBsZS5jb20iLHN0YXR1czoicGVuZGluZyIsc3NsOiExLHNzbEV4cGlyeTpudWxsLGRuc1Byb3ZpZGVyOiJDbG91ZGZsYXJlIixyZWNvcmRDb3VudDoyfSx7aWQ6IjQiLG5hbWU6ImxlZ2FjeS5leGFtcGxlLm5ldCIsc3RhdHVzOiJhY3RpdmUiLHNzbDohMCxzc2xFeHBpcnk6IjIwMjQtMDItMTAiLGRuc1Byb3ZpZGVyOiJNYW51YWwiLHJlY29yZENvdW50OjV9XTtkZW1vRG9tYWluRGV0YWlsPXtpZDoiMSIsbmFtZToiZXhhbXBsZS5jb20iLHN0YXR1czoiYWN0aXZlIix2ZXJpZmllZDohMCxjcmVhdGVkQXQ6IjIwMjQtMDEtMTAiLHByb3h5Um91dGVzOlsiL2FwaS8qIiwiL2FwcC8qIiwiL2FkbWluLyoiXX07ZGVtb0NlcnRpZmljYXRlPXtpZDoiMSIsZG9tYWluOiJleGFtcGxlLmNvbSIsaXNzdWVyOiJMZXQncyBFbmNyeXB0Iix2YWxpZEZyb206IjIwMjQtMDEtMTAiLHZhbGlkVW50aWw6IjIwMjQtMDQtMTAiLGRheXNSZW1haW5pbmc6NDUsc3RhdHVzOiJ2YWxpZCIsYXV0b1JlbmV3OiEwLGNoYWluOlsiUjMiLCJJU1JHIFJvb3QgWDEiXX07ZGVtb0RvbWFpbkRuc1JlY29yZHM9W3tpZDoiMSIsdHlwZToiQSIsbmFtZToiQCIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwfSx7aWQ6IjIiLHR5cGU6IkNOQU1FIixuYW1lOiJ3d3ciLHZhbHVlOiJleGFtcGxlLmNvbSIsdHRsOjM2MDB9LHtpZDoiMyIsdHlwZToiTVgiLG5hbWU6IkAiLHZhbHVlOiJtYWlsLmV4YW1wbGUuY29tIix0dGw6MzYwMCxwcmlvcml0eToxMH0se2lkOiI0Iix0eXBlOiJUWFQiLG5hbWU6IkAiLHZhbHVlOiJ2PXNwZjEgaW5jbHVkZTpfc3BmLmV4YW1wbGUuY29tIH5hbGwiLHR0bDozNjAwfV07c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC50YWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnRhYiB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogLTFweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHggMXB4IDAgMDsKICAgICAgfQoKICAgICAgLmJhY2stYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5iYWNrLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWluLWRldGFpbCI/dGhpcy5yZW5kZXJEb21haW5EZXRhaWwoKTpNYAogICAgICAke3RoaXMuY3VycmVudFRhYj09PSJwcm94eSI/dGhpcy5yZW5kZXJQcm94eVZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0iZG5zIj90aGlzLnJlbmRlckRuc1ZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWlucyI/dGhpcy5yZW5kZXJEb21haW5zVmlldygpOiIifQogICAgYH1yZW5kZXJQcm94eVZpZXcoKXtyZXR1cm4gTWAKICAgICAgPHN6LW5ldHdvcmstcHJveHktdmlldwogICAgICAgIC5yb3V0ZXM9JHt0aGlzLmRlbW9Qcm94eVJvdXRlc30KICAgICAgICAuYWNjZXNzTG9ncz0ke3RoaXMuZGVtb0FjY2Vzc0xvZ3N9CiAgICAgICAgLnN0YXRzPSR7e2FjdGl2ZUNvbm5lY3Rpb25zOjQyLHJlcXVlc3RzVG9kYXk6MTU0MjAsYnl0ZXNUcmFuc2ZlcnJlZDoiMi40IEdCIn19CiAgICAgICAgQGFkZC1yb3V0ZT0keygpPT5jb25zb2xlLmxvZygiQWRkIHJvdXRlIil9CiAgICAgICAgQGVkaXQtcm91dGU9JHtoPT5jb25zb2xlLmxvZygiRWRpdCByb3V0ZToiLGguZGV0YWlsKX0KICAgICAgICBAZGVsZXRlLXJvdXRlPSR7aD0+Y29uc29sZS5sb2coIkRlbGV0ZSByb3V0ZToiLGguZGV0YWlsKX0KICAgICAgPjwvc3otbmV0d29yay1wcm94eS12aWV3PgogICAgYH1yZW5kZXJEbnNWaWV3KCl7cmV0dXJuIE1gCiAgICAgIDxzei1uZXR3b3JrLWRucy12aWV3CiAgICAgICAgLnJlY29yZHM9JHt0aGlzLmRlbW9EbnNSZWNvcmRzfQogICAgICAgIC56b25lcz0ke1siZXhhbXBsZS5jb20iLCJleGFtcGxlLm5ldCIsIm15YXBwLmlvIl19CiAgICAgICAgLnNlbGVjdGVkWm9uZT0keyJleGFtcGxlLmNvbSJ9CiAgICAgICAgQGFkZC1yZWNvcmQ9JHsoKT0+Y29uc29sZS5sb2coIkFkZCByZWNvcmQiKX0KICAgICAgICBAZWRpdC1yZWNvcmQ9JHtoPT5jb25zb2xlLmxvZygiRWRpdCByZWNvcmQ6IixoLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1yZWNvcmQ9JHtoPT5jb25zb2xlLmxvZygiRGVsZXRlIHJlY29yZDoiLGguZGV0YWlsKX0KICAgICAgICBAY2hhbmdlLXpvbmU9JHtoPT5jb25zb2xlLmxvZygiQ2hhbmdlIHpvbmU6IixoLmRldGFpbCl9CiAgICAgID48L3N6LW5ldHdvcmstZG5zLXZpZXc+CiAgICBgfXJlbmRlckRvbWFpbnNWaWV3KCl7cmV0dXJuIE1gCiAgICAgIDxzei1uZXR3b3JrLWRvbWFpbnMtdmlldwogICAgICAgIC5kb21haW5zPSR7dGhpcy5kZW1vRG9tYWluc30KICAgICAgICBAYWRkLWRvbWFpbj0keygpPT5jb25zb2xlLmxvZygiQWRkIGRvbWFpbiIpfQogICAgICAgIEB2aWV3LWRvbWFpbj0ke2g9Pnt0aGlzLnNlbGVjdGVkRG9tYWluPWguZGV0YWlsLHRoaXMuY3VycmVudFRhYj0iZG9tYWluLWRldGFpbCJ9fQogICAgICAgIEByZW5ldy1zc2w9JHtoPT5jb25zb2xlLmxvZygiUmVuZXcgU1NMOiIsaC5kZXRhaWwpfQogICAgICAgIEBkZWxldGUtZG9tYWluPSR7aD0+Y29uc29sZS5sb2coIkRlbGV0ZSBkb21haW46IixoLmRldGFpbCl9CiAgICAgID48L3N6LW5ldHdvcmstZG9tYWlucy12aWV3PgogICAgYH1yZW5kZXJEb21haW5EZXRhaWwoKXtyZXR1cm4gTWAKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRUYWI9ImRvbWFpbnMifT4KICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPgogICAgICAgIDwvc3ZnPgogICAgICAgIEJhY2sgdG8gRG9tYWlucwogICAgICA8L2J1dHRvbj4KCiAgICAgIDxzei1kb21haW4tZGV0YWlsLXZpZXcKICAgICAgICAuZG9tYWluPSR7dGhpcy5kZW1vRG9tYWluRGV0YWlsfQogICAgICAgIC5jZXJ0aWZpY2F0ZT0ke3RoaXMuZGVtb0NlcnRpZmljYXRlfQogICAgICAgIC5kbnNSZWNvcmRzPSR7dGhpcy5kZW1vRG9tYWluRG5zUmVjb3Jkc30KICAgICAgICBAdmVyaWZ5LWRvbWFpbj0keygpPT5jb25zb2xlLmxvZygiVmVyaWZ5IGRvbWFpbiIpfQogICAgICAgIEBkZWxldGUtZG9tYWluPSR7KCk9Pntjb25zb2xlLmxvZygiRGVsZXRlIGRvbWFpbiIpLHRoaXMuY3VycmVudFRhYj0iZG9tYWlucyJ9fQogICAgICAgIEByZW5ldy1jZXJ0aWZpY2F0ZT0keygpPT5jb25zb2xlLmxvZygiUmVuZXcgY2VydGlmaWNhdGUiKX0KICAgICAgICBAYWRkLWRucy1yZWNvcmQ9JHsoKT0+Y29uc29sZS5sb2coIkFkZCBETlMgcmVjb3JkIil9CiAgICAgICAgQGVkaXQtZG5zLXJlY29yZD0ke2g9PmNvbnNvbGUubG9nKCJFZGl0IEROUyByZWNvcmQ6IixoLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1kbnMtcmVjb3JkPSR7aD0+Y29uc29sZS5sb2coIkRlbGV0ZSBETlMgcmVjb3JkOiIsaC5kZXRhaWwpfQogICAgICA+PC9zei1kb21haW4tZGV0YWlsLXZpZXc+CiAgICBgfXN0YXRpY3tQdihhLHIpfX07cmV0dXJuIGQ9YX0pKCl9KTt2YXIgb3ByLGs1ZSxJS3IsbHByPWYoKCk9Pnt1ZSgpO2xzKCk7b3ByPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sazVlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxJS3I9KCgpPT57bGV0IGU9W3JlKCJzei1kZW1vLXZpZXctcmVnaXN0cmllcyIpXSx0LHI9W10sYSxpPWhlLG4scz1bXSxvPVtdO3ZhciBjPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgbD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtzZSgpXSxvcHIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczp1PT4iY3VycmVudFRhYiJpbiB1LGdldDp1PT51LmN1cnJlbnRUYWIsc2V0Oih1LGQpPT57dS5jdXJyZW50VGFiPWR9fSxtZXRhZGF0YTpsfSxzLG8pLG9wcihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpsfSxudWxsLHIpLGM9YT10LnZhbHVlLGwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bH0pfWFwcHVpPW51bGw7I2U9azVlKHRoaXMscywib25lYm94Iik7Z2V0IGN1cnJlbnRUYWIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFRhYihsKXt0aGlzLiNlPWx9YXN5bmMgb25BY3RpdmF0ZShsKXt0aGlzLmFwcHVpPWwuYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiUmVnaXN0cnkgQWR2ZXJ0aXNlbWVudCIsYWN0aW9uOigpPT57dGhpcy5jdXJyZW50VGFiPSJvbmVib3giLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfX0se2tleToiRXh0ZXJuYWwgUmVnaXN0cmllcyIsYWN0aW9uOigpPT57dGhpcy5jdXJyZW50VGFiPSJleHRlcm5hbCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9fV0pLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfXVwZGF0ZVNlY29uZGFyeU1lbnUoKXt0aGlzLmFwcHVpJiYodGhpcy5jdXJyZW50VGFiPT09Im9uZWJveCI/dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJSZWdpc3RyeSBBZHZlcnRpc2VtZW50Iixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJQdXNoIEltYWdlIixpY29uTmFtZToibHVjaWRlOlVwbG9hZCIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIlB1c2ggaW1hZ2UiKX19LHt0eXBlOiJhY3Rpb24iLHZhcmlhbnQ6ImRhbmdlciIsa2V5OiJHYXJiYWdlIENvbGxlY3QiLGljb25OYW1lOiJsdWNpZGU6VHJhc2gyIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiR0MiKX19XX0se25hbWU6IlN0YXRpc3RpY3MiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiNCBJbWFnZXMifSx7dHlwZToiaGVhZGVyIixsYWJlbDoiNjQwIE1CIFRvdGFsIn1dfV19KTp0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkV4dGVybmFsIFJlZ2lzdHJpZXMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBSZWdpc3RyeSIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiQWRkIHJlZ2lzdHJ5Iil9fSx7dHlwZToiYWN0aW9uIixrZXk6IlRlc3QgQWxsIixpY29uTmFtZToibHVjaWRlOkNoZWNrQ2lyY2xlIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiVGVzdCBhbGwiKX19XX0se25hbWU6IkNvbm5lY3RlZCIsaXRlbXM6W3trZXk6IkRvY2tlciBIdWIiLGljb25OYW1lOiJsdWNpZGU6Qm94IixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiRG9ja2VyIEh1YiIpfX0se2tleToiR0hDUiIsaWNvbk5hbWU6Imx1Y2lkZTpHaXRodWIiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJHSENSIil9fV19XX0pKX1vbkRlYWN0aXZhdGUoKXt9ZGVtb09uZWJveEltYWdlcz0oazVlKHRoaXMsbyksW3tpZDoiMSIsbmFtZToiYXBpLWdhdGV3YXkiLHRhZ3M6WyJsYXRlc3QiLCJ2Mi4xLjAiLCJ2Mi4wLjAiXSxzaXplOiIyNTYgTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMjAiLHB1bGxzOjE0Mn0se2lkOiIyIixuYW1lOiJmcm9udGVuZCIsdGFnczpbImxhdGVzdCIsInYxLjUuMCJdLHNpemU6IjEyOCBNQiIsdXBkYXRlZDoiMjAyNC0wMS0xOSIscHVsbHM6ODl9LHtpZDoiMyIsbmFtZToid29ya2VyLXNlcnZpY2UiLHRhZ3M6WyJsYXRlc3QiXSxzaXplOiI2NCBNQiIsdXBkYXRlZDoiMjAyNC0wMS0xOCIscHVsbHM6NTZ9LHtpZDoiNCIsbmFtZToiYWRtaW4tcGFuZWwiLHRhZ3M6WyJsYXRlc3QiLCJ2My4wLjAiLCJ2Mi45LjAiXSxzaXplOiIxOTIgTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMTciLHB1bGxzOjM0fV0pO2RlbW9FeHRlcm5hbFJlZ2lzdHJpZXM9W3tpZDoiMSIsbmFtZToiRG9ja2VyIEh1YiIsdXJsOiJkb2NrZXIuaW8iLHN0YXR1czoiY29ubmVjdGVkIixpbWFnZXM6MTJ9LHtpZDoiMiIsbmFtZToiR2l0SHViIENvbnRhaW5lciBSZWdpc3RyeSIsdXJsOiJnaGNyLmlvIixzdGF0dXM6ImNvbm5lY3RlZCIsaW1hZ2VzOjh9LHtpZDoiMyIsbmFtZToiQVdTIEVDUiIsdXJsOiIxMjM0NTY3ODkuZGtyLmVjci51cy1lYXN0LTEuYW1hem9uYXdzLmNvbSIsc3RhdHVzOiJlcnJvciIsaW1hZ2VzOjB9XTtzdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLnRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAtMXB4OwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtwLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweCAxcHggMCAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gTWAKICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0ib25lYm94Ij9NYAogICAgICAgIDxzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50CiAgICAgICAgICAuaW1hZ2VzPSR7dGhpcy5kZW1vT25lYm94SW1hZ2VzfQogICAgICAgICAgLnN0YXRzPSR7e3RvdGFsSW1hZ2VzOjQsdG90YWxTaXplOiI2NDAgTUIiLHRvdGFsUHVsbHM6MzIxfX0KICAgICAgICAgIEB2aWV3LWltYWdlPSR7bD0+Y29uc29sZS5sb2coIlZpZXcgaW1hZ2U6IixsLmRldGFpbCl9CiAgICAgICAgICBAZGVsZXRlLWltYWdlPSR7bD0+Y29uc29sZS5sb2coIkRlbGV0ZSBpbWFnZToiLGwuZGV0YWlsKX0KICAgICAgICAgIEBkZWxldGUtdGFnPSR7bD0+Y29uc29sZS5sb2coIkRlbGV0ZSB0YWc6IixsLmRldGFpbCl9CiAgICAgICAgPjwvc3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudD4KICAgICAgYDpNYAogICAgICAgIDxzei1yZWdpc3RyeS1leHRlcm5hbC12aWV3CiAgICAgICAgICAucmVnaXN0cmllcz0ke3RoaXMuZGVtb0V4dGVybmFsUmVnaXN0cmllc30KICAgICAgICAgIEBhZGQtcmVnaXN0cnk9JHsoKT0+Y29uc29sZS5sb2coIkFkZCByZWdpc3RyeSIpfQogICAgICAgICAgQGVkaXQtcmVnaXN0cnk9JHtsPT5jb25zb2xlLmxvZygiRWRpdCByZWdpc3RyeToiLGwuZGV0YWlsKX0KICAgICAgICAgIEBkZWxldGUtcmVnaXN0cnk9JHtsPT5jb25zb2xlLmxvZygiRGVsZXRlIHJlZ2lzdHJ5OiIsbC5kZXRhaWwpfQogICAgICAgICAgQHRlc3QtY29ubmVjdGlvbj0ke2w9PmNvbnNvbGUubG9nKCJUZXN0IGNvbm5lY3Rpb246IixsLmRldGFpbCl9CiAgICAgICAgPjwvc3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldz4KICAgICAgYH0KICAgIGB9c3RhdGlje2s1ZShhLHIpfX07cmV0dXJuIGM9YX0pKCl9KTt2YXIgUEtyLE5LcixGS3IsY3ByPWYoKCk9Pnt1ZSgpO2xzKCk7UEtyPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sTktyPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxGS3I9KCgpPT57bGV0IGU9W3JlKCJzei1kZW1vLXZpZXctdG9rZW5zIildLHQscj1bXSxhLGk9aGU7dmFyIG49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBzPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO1BLcihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpzfSxudWxsLHIpLG49YT10LnZhbHVlLHMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6c30pfWFwcHVpPW51bGw7YXN5bmMgb25BY3RpdmF0ZShzKXt0aGlzLmFwcHVpPXMuYXBwdWksdGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJUb2tlbnMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkNyZWF0ZSBHbG9iYWwgVG9rZW4iLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIkNyZWF0ZSBnbG9iYWwgdG9rZW4iKX19LHt0eXBlOiJhY3Rpb24iLGtleToiQ3JlYXRlIENJIFRva2VuIixpY29uTmFtZToibHVjaWRlOkdpdEJyYW5jaCIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIkNyZWF0ZSBDSSB0b2tlbiIpfX1dfSx7bmFtZToiVG9rZW4gVHlwZXMiLGl0ZW1zOlt7a2V5OiJHbG9iYWwgVG9rZW5zIixpY29uTmFtZToibHVjaWRlOktleSIsYmFkZ2U6IjMiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgZ2xvYmFsIil9fSx7a2V5OiJDSSBUb2tlbnMiLGljb25OYW1lOiJsdWNpZGU6Q3B1IixiYWRnZToiMyIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIkZpbHRlciBDSSIpfX1dfV19KX1vbkRlYWN0aXZhdGUoKXt9ZGVtb0dsb2JhbFRva2Vucz1be2lkOiIxIixuYW1lOiJDSS9DRCBQaXBlbGluZSIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTUiLGxhc3RVc2VkOiIyMDI0LTAxLTIwIn0se2lkOiIyIixuYW1lOiJEZXZlbG9wbWVudCIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTAifSx7aWQ6IjMiLG5hbWU6IlByb2R1Y3Rpb24gRGVwbG95Iix0eXBlOiJnbG9iYWwiLGNyZWF0ZWRBdDoiMjAyNC0wMS0wNSIsbGFzdFVzZWQ6IjIwMjQtMDEtMTkifV07ZGVtb0NpVG9rZW5zPVt7aWQ6IjQiLG5hbWU6ImFwaS1nYXRld2F5LWNpIix0eXBlOiJjaSIsc2VydmljZToiYXBpLWdhdGV3YXkiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xOCIsbGFzdFVzZWQ6IjIwMjQtMDEtMjAifSx7aWQ6IjUiLG5hbWU6ImZyb250ZW5kLWNpIix0eXBlOiJjaSIsc2VydmljZToiZnJvbnRlbmQiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xMiIsbGFzdFVzZWQ6IjIwMjQtMDEtMTkifSx7aWQ6IjYiLG5hbWU6Indvcmtlci1zZXJ2aWNlLWNpIix0eXBlOiJjaSIsc2VydmljZToid29ya2VyLXNlcnZpY2UiLGNyZWF0ZWRBdDoiMjAyNC0wMS0wOCJ9XTtzdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtwLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPlRva2VuczwvaDE+CiAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPk1hbmFnZSByZWdpc3RyeSBhY2Nlc3MgdG9rZW5zIGZvciBDSS9DRCBwaXBlbGluZXM8L3A+CiAgICAgIDwvZGl2PgoKICAgICAgPHN6LXRva2Vucy12aWV3CiAgICAgICAgLmdsb2JhbFRva2Vucz0ke3RoaXMuZGVtb0dsb2JhbFRva2Vuc30KICAgICAgICAuY2lUb2tlbnM9JHt0aGlzLmRlbW9DaVRva2Vuc30KICAgICAgICBAY3JlYXRlPSR7cz0+Y29uc29sZS5sb2coIkNyZWF0ZSB0b2tlbjoiLHMuZGV0YWlsKX0KICAgICAgICBAY29weT0ke3M9PmNvbnNvbGUubG9nKCJDb3B5IHRva2VuOiIscy5kZXRhaWwpfQogICAgICAgIEByZWdlbmVyYXRlPSR7cz0+Y29uc29sZS5sb2coIlJlZ2VuZXJhdGUgdG9rZW46IixzLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZT0ke3M9PmNvbnNvbGUubG9nKCJEZWxldGUgdG9rZW46IixzLmRldGFpbCl9CiAgICAgID48L3N6LXRva2Vucy12aWV3PgogICAgYH1zdGF0aWN7TktyKGEscil9fTtyZXR1cm4gbj1hfSkoKX0pO3ZhciBPS3IsUktyLEJLcixkcHI9ZigoKT0+e3VlKCk7bHMoKTtPS3I9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxSS3I9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LEJLcj0oKCk9PntsZXQgZT1bcmUoInN6LWRlbW8tdmlldy1zZXR0aW5ncyIpXSx0LHI9W10sYSxpPWhlO3ZhciBuPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgcz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtPS3IobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6c30sbnVsbCxyKSxuPWE9dC52YWx1ZSxzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnN9KX1hcHB1aT1udWxsO2FzeW5jIG9uQWN0aXZhdGUocyl7dGhpcy5hcHB1aT1zLmFwcHVpLHRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiU2V0dGluZ3MiLGdyb3Vwczpbe25hbWU6IkNhdGVnb3JpZXMiLGl0ZW1zOlt7a2V5OiJHZW5lcmFsIixpY29uTmFtZToibHVjaWRlOlNldHRpbmdzIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiR2VuZXJhbCBzZXR0aW5ncyIpfX0se2tleToiTmV0d29yayIsaWNvbk5hbWU6Imx1Y2lkZTpOZXR3b3JrIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiTmV0d29yayBzZXR0aW5ncyIpfX0se2tleToiU2VjdXJpdHkiLGljb25OYW1lOiJsdWNpZGU6U2hpZWxkIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiU2VjdXJpdHkgc2V0dGluZ3MiKX19LHtrZXk6IkNlcnRpZmljYXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpGaWxlQmFkZ2UiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJDZXJ0aWZpY2F0ZSBzZXR0aW5ncyIpfX1dfSx7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiRXhwb3J0IENvbmZpZyIsaWNvbk5hbWU6Imx1Y2lkZTpEb3dubG9hZCIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIkV4cG9ydCBjb25maWciKX19LHt0eXBlOiJhY3Rpb24iLGtleToiSW1wb3J0IENvbmZpZyIsaWNvbk5hbWU6Imx1Y2lkZTpVcGxvYWQiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJJbXBvcnQgY29uZmlnIil9fSx7dHlwZToiYWN0aW9uIix2YXJpYW50OiJkYW5nZXIiLGtleToiUmVzZXQgdG8gRGVmYXVsdCIsaWNvbk5hbWU6Imx1Y2lkZTpSb3RhdGVDY3ciLGNvbmZpcm1NZXNzYWdlOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHQ/IixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiUmVzZXQgc2V0dGluZ3MiKX19XX1dfSl9b25EZWFjdGl2YXRlKCl7fWRlbW9TZXR0aW5ncz17ZGFya01vZGU6ITAsY2xvdWRmbGFyZVRva2VuOiIiLGNsb3VkZmxhcmVab25lSWQ6IiIsYXV0b1JlbmV3Q2VydHM6ITAscmVuZXdhbFRocmVzaG9sZDozMCxhY21lRW1haWw6ImFkbWluQHNlcnZlLnpvbmUiLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsZm9yY2VIdHRwczohMH07c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke3AuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7cC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5zZXR0aW5ncy1jb250YWluZXIgewogICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWhlYWRlciI+CiAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIj5TZXR0aW5nczwvaDE+CiAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPkNvbmZpZ3VyZSB5b3VyIG9uZWJveCBpbnN0YW5jZTwvcD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb250YWluZXIiPgogICAgICAgIDxzei1zZXR0aW5ncy12aWV3CiAgICAgICAgICAuc2V0dGluZ3M9JHt0aGlzLmRlbW9TZXR0aW5nc30KICAgICAgICAgIGN1cnJlbnRVc2VyPSJhZG1pbiIKICAgICAgICAgIEBzZXR0aW5nLWNoYW5nZT0ke3M9PmNvbnNvbGUubG9nKCJTZXR0aW5nIGNoYW5nZToiLHMuZGV0YWlsKX0KICAgICAgICAgIEBjaGFuZ2UtcGFzc3dvcmQ9JHtzPT5jb25zb2xlLmxvZygiQ2hhbmdlIHBhc3N3b3JkOiIscy5kZXRhaWwpfQogICAgICAgICAgQHJlc2V0PSR7KCk9PmNvbnNvbGUubG9nKCJSZXNldCBzZXR0aW5ncyIpfQogICAgICAgICAgQHNhdmU9JHtzPT5jb25zb2xlLmxvZygiU2F2ZSBzZXR0aW5nczoiLHMuZGV0YWlsKX0KICAgICAgICA+PC9zei1zZXR0aW5ncy12aWV3PgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje1JLcihhLHIpfX07cmV0dXJuIG49YX0pKCl9KTt2YXIgZE8senUsSEtyLHVwcj1mKCgpPT57dWUoKTtscygpO2RPPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0senU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LEhLcj0oKCk9PntsZXQgZT1bcmUoInN6LWRlbW8tdmlldy1tdGEiKV0sdCxyPVtdLGEsaT1oZSxuLHM9W10sbz1bXSxjLGw9W10sdT1bXSxkLGg9W10sbT1bXTt2YXIgdj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje2E9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bc2UoKV0sYz1bc2UoKV0sZD1bc2UoKV0sZE8odGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6Zz0+ImN1cnJlbnRWaWV3ImluIGcsZ2V0Omc9PmcuY3VycmVudFZpZXcsc2V0OihnLHkpPT57Zy5jdXJyZW50Vmlldz15fX0sbWV0YWRhdGE6Yn0scyxvKSxkTyh0aGlzLG51bGwsYyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkRW1haWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmc9PiJzZWxlY3RlZEVtYWlsImluIGcsZ2V0Omc9Pmcuc2VsZWN0ZWRFbWFpbCxzZXQ6KGcseSk9PntnLnNlbGVjdGVkRW1haWw9eX19LG1ldGFkYXRhOmJ9LGwsdSksZE8odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50RGlyZWN0aW9uRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpnPT4iY3VycmVudERpcmVjdGlvbkZpbHRlciJpbiBnLGdldDpnPT5nLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXIsc2V0OihnLHkpPT57Zy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyPXl9fSxtZXRhZGF0YTpifSxoLG0pLGRPKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsciksdj1hPXQudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9YXBwdWk9bnVsbDsjZT16dSh0aGlzLHMsImxpc3QiKTtnZXQgY3VycmVudFZpZXcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFZpZXcoYil7dGhpcy4jZT1ifSN0PSh6dSh0aGlzLG8pLHp1KHRoaXMsbCxudWxsKSk7Z2V0IHNlbGVjdGVkRW1haWwoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRFbWFpbChiKXt0aGlzLiN0PWJ9I3I9KHp1KHRoaXMsdSksenUodGhpcyxoLCJhbGwiKSk7Z2V0IGN1cnJlbnREaXJlY3Rpb25GaWx0ZXIoKXtyZXR1cm4gdGhpcy4jcn1zZXQgY3VycmVudERpcmVjdGlvbkZpbHRlcihiKXt0aGlzLiNyPWJ9ZGVtb0VtYWlscz0oenUodGhpcyxtKSxbe2lkOiIxIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoidXNlckBleGFtcGxlLmNvbSIsc3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MzA6MjIiLG1lc3NhZ2VJZDoiPGFiYzEyM0BzZXJ2ZS56b25lPiIsc2l6ZToiMTIuNCBLQiJ9LHtpZDoiMiIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJib3VuY2VkIixmcm9tOiJhbGVydHNAc2VydmUuem9uZSIsdG86ImludmFsaWRAbm93aGVyZS50ZXN0IixzdWJqZWN0OiJTZXJ2aWNlIEFsZXJ0OiBDUFUgVXNhZ2UgSGlnaCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjI4OjEwIixtZXNzYWdlSWQ6IjxkZWY0NTZAc2VydmUuem9uZT4iLHNpemU6IjguMiBLQiJ9LHtpZDoiMyIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToic3VwcG9ydEBjdXN0b21lci5jb20iLHRvOiJhZG1pbkBzZXJ2ZS56b25lIixzdWJqZWN0OiJSZTogSW5mcmFzdHJ1Y3R1cmUgUmV2aWV3Iix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjU6MDAiLG1lc3NhZ2VJZDoiPGdoaTc4OUBjdXN0b21lci5jb20+IixzaXplOiIyNC4xIEtCIn0se2lkOiI0IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6InJlamVjdGVkIixmcm9tOiJiaWxsaW5nQHNlcnZlLnpvbmUiLHRvOiJibG9ja2VkQHNwYW0tZG9tYWluLnRlc3QiLHN1YmplY3Q6Ikludm9pY2UgIzIwMjQtMDAxIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjA6NDUiLG1lc3NhZ2VJZDoiPGprbDAxMkBzZXJ2ZS56b25lPiIsc2l6ZToiNDUuNiBLQiJ9LHtpZDoiNSIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJkZWZlcnJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoic2xvd0ByZW1vdGUtc2VydmVyLnRlc3QiLHN1YmplY3Q6IlBhc3N3b3JkIFJlc2V0IFJlcXVlc3QiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoxNTozMCIsbWVzc2FnZUlkOiI8bW5vMzQ1QHNlcnZlLnpvbmU+IixzaXplOiI2LjggS0IifSx7aWQ6IjYiLGRpcmVjdGlvbjoiaW5ib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206ImNpQGdpdGh1Yi5jb20iLHRvOiJkZXZvcHNAc2VydmUuem9uZSIsc3ViamVjdDoiQnVpbGQgIzQ1MjEgcGFzc2VkIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MTA6MDAiLG1lc3NhZ2VJZDoiPHBxcjY3OEBnaXRodWIuY29tPiIsc2l6ZToiMTUuMyBLQiJ9LHtpZDoiNyIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJwZW5kaW5nIixmcm9tOiJyZXBvcnRzQHNlcnZlLnpvbmUiLHRvOiJ0ZWFtQHNlcnZlLnpvbmUiLHN1YmplY3Q6IldlZWtseSBJbmZyYXN0cnVjdHVyZSBSZXBvcnQiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDowNTowMCIsbWVzc2FnZUlkOiI8c3R1OTAxQHNlcnZlLnpvbmU+IixzaXplOiIxMDIuNyBLQiJ9LHtpZDoiOCIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibW9uaXRvcmluZ0B1cHRpbWUuaW8iLHRvOiJvcHNAc2VydmUuem9uZSIsc3ViamVjdDoiVXB0aW1lIFJlcG9ydDogOTkuOTglIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTM6NTU6MDAiLG1lc3NhZ2VJZDoiPHZ3eDIzNEB1cHRpbWUuaW8+IixzaXplOiI5LjEgS0IifV0pO2RlbW9FbWFpbERldGFpbHM9ezE6e2lkOiIxIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoidXNlckBleGFtcGxlLmNvbSIsdG9MaXN0OlsidXNlckBleGFtcGxlLmNvbSJdLHN1YmplY3Q6IldlbGNvbWUgdG8gc2VydmUuem9uZSIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjMwOjIyIixtZXNzYWdlSWQ6IjxhYmMxMjNAc2VydmUuem9uZT4iLHNpemU6IjEyLjQgS0IiLHNtdHBMb2c6W3t0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiRUhMTyBtYWlsLnNlcnZlLnpvbmUifSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLmV4YW1wbGUuY29tIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1TVEFSVFRMUyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJTVEFSVFRMUyJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIwIFJlYWR5IHRvIHN0YXJ0IFRMUyIscmVzcG9uc2VDb2RlOjIyMH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuc2VydmUuem9uZSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLW1haWwuZXhhbXBsZS5jb20gSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLUFVVEggUExBSU4gTE9HSU4iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIFNJWkUgNTI0Mjg4MDAiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiQVVUSCBQTEFJTiBBSFZ6WlhJQWNHRnpjM2R2Y21RPSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjM1IDIuNy4wIEF1dGhlbnRpY2F0aW9uIHN1Y2Nlc3NmdWwiLHJlc3BvbnNlQ29kZToyMzV9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiTUFJTCBGUk9NOjxub3JlcGx5QHNlcnZlLnpvbmU+In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0siLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUkNQVCBUTzo8dXNlckBleGFtcGxlLmNvbT4ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBBY2NlcHRlZCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJEQVRBIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiczNTQgRW50ZXIgbWVzc2FnZSwgZW5kaW5nIHdpdGggIi4iIG9uIGEgbGluZSBieSBpdHNlbGYnLHJlc3BvbnNlQ29kZTozNTR9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiLiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIGlkPTFwUTJyUy0wMDAzQWItQzQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUVVJVCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIxIG1haWwuZXhhbXBsZS5jb20gY2xvc2luZyBjb25uZWN0aW9uIixyZXNwb25zZUNvZGU6MjIxfV0sY29ubmVjdGlvbkluZm86e3NvdXJjZUlwOiIxMC4wLjEuNTAiLHNvdXJjZUhvc3RuYW1lOiJtYWlsLnNlcnZlLnpvbmUiLGRlc3RpbmF0aW9uSXA6IjkzLjE4NC4yMTYuMzQiLGRlc3RpbmF0aW9uUG9ydDoyNSx0bHNWZXJzaW9uOiJUTFN2MS4zIix0bHNDaXBoZXI6IlRMU19BRVNfMjU2X0dDTV9TSEEzODQiLGF1dGhlbnRpY2F0ZWQ6ITAsYXV0aE1ldGhvZDoiUExBSU4iLGF1dGhVc2VyOiJub3JlcGx5QHNlcnZlLnpvbmUifSxhdXRoZW50aWNhdGlvblJlc3VsdHM6e3NwZjoicGFzcyIsc3BmRG9tYWluOiJzZXJ2ZS56b25lIixka2ltOiJwYXNzIixka2ltRG9tYWluOiJzZXJ2ZS56b25lIixkbWFyYzoicGFzcyIsZG1hcmNQb2xpY3k6InJlamVjdCJ9LGhlYWRlcnM6e0Zyb206Im5vcmVwbHlAc2VydmUuem9uZSIsVG86InVzZXJAZXhhbXBsZS5jb20iLFN1YmplY3Q6IldlbGNvbWUgdG8gc2VydmUuem9uZSIsRGF0ZToiTW9uLCAxNSBKYW4gMjAyNCAxNDozMDoyMiArMDAwMCIsIk1JTUUtVmVyc2lvbiI6IjEuMCIsIkNvbnRlbnQtVHlwZSI6InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCJ9LGJvZHk6YDxodG1sPgo8aGVhZD48dGl0bGU+V2VsY29tZTwvdGl0bGU+PC9oZWFkPgo8Ym9keT4KICA8aDE+V2VsY29tZSB0byBzZXJ2ZS56b25lITwvaDE+CiAgPHA+WW91ciBhY2NvdW50IGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LjwvcD4KICA8cD5HZXQgc3RhcnRlZCBieSB2aXNpdGluZyB5b3VyIDxhIGhyZWY9Imh0dHBzOi8vc2VydmUuem9uZS9kYXNoYm9hcmQiPmRhc2hib2FyZDwvYT4uPC9wPgo8L2JvZHk+CjwvaHRtbD5gfSwyOntpZDoiMiIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJib3VuY2VkIixmcm9tOiJhbGVydHNAc2VydmUuem9uZSIsdG86ImludmFsaWRAbm93aGVyZS50ZXN0Iix0b0xpc3Q6WyJpbnZhbGlkQG5vd2hlcmUudGVzdCJdLHN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6Mjg6MTAiLG1lc3NhZ2VJZDoiPGRlZjQ1NkBzZXJ2ZS56b25lPiIsc2l6ZToiOC4yIEtCIixyZWplY3Rpb25SZWFzb246IjU1MCA1LjEuMSBUaGUgZW1haWwgYWNjb3VudCB0aGF0IHlvdSB0cmllZCB0byByZWFjaCBkb2VzIG5vdCBleGlzdC4iLGJvdW5jZU1lc3NhZ2U6YERlbGl2ZXJ5IHRvIHRoZSBmb2xsb3dpbmcgcmVjaXBpZW50IGZhaWxlZCBwZXJtYW5lbnRseToKCiAgICBpbnZhbGlkQG5vd2hlcmUudGVzdAoKVGVjaG5pY2FsIGRldGFpbHMgb2YgcGVybWFuZW50IGZhaWx1cmU6Ckdvb2dsZSB0cmllZCB0byBkZWxpdmVyIHlvdXIgbWVzc2FnZSwgYnV0IGl0IHdhcyByZWplY3RlZCBieSB0aGUgc2VydmVyIGZvciB0aGUgcmVjaXBpZW50IGRvbWFpbiBub3doZXJlLnRlc3QuYCxzbXRwTG9nOlt7dGltZXN0YW1wOiIxNDoyODowOCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5zZXJ2ZS56b25lIn0se3RpbWVzdGFtcDoiMTQ6Mjg6MDgiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5ub3doZXJlLnRlc3QgSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI4OjA4IixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiTUFJTCBGUk9NOjxhbGVydHNAc2VydmUuem9uZT4ifSx7dGltZXN0YW1wOiIxNDoyODowOSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBPSyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6Mjg6MDkiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJSQ1BUIFRPOjxpbnZhbGlkQG5vd2hlcmUudGVzdD4ifSx7dGltZXN0YW1wOiIxNDoyODoxMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjU1MCA1LjEuMSBUaGUgZW1haWwgYWNjb3VudCB0aGF0IHlvdSB0cmllZCB0byByZWFjaCBkb2VzIG5vdCBleGlzdC4iLHJlc3BvbnNlQ29kZTo1NTB9LHt0aW1lc3RhbXA6IjE0OjI4OjEwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUVVJVCJ9LHt0aW1lc3RhbXA6IjE0OjI4OjEwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIxIEJ5ZSIscmVzcG9uc2VDb2RlOjIyMX1dLGNvbm5lY3Rpb25JbmZvOntzb3VyY2VJcDoiMTAuMC4xLjUwIixzb3VyY2VIb3N0bmFtZToibWFpbC5zZXJ2ZS56b25lIixkZXN0aW5hdGlvbklwOiIxOTguNTEuMTAwLjI1IixkZXN0aW5hdGlvblBvcnQ6MjUsdGxzVmVyc2lvbjoiVExTdjEuMiIsdGxzQ2lwaGVyOiJFQ0RIRS1SU0EtQUVTMTI4LUdDTS1TSEEyNTYiLGF1dGhlbnRpY2F0ZWQ6ITAsYXV0aE1ldGhvZDoiUExBSU4iLGF1dGhVc2VyOiJhbGVydHNAc2VydmUuem9uZSJ9LGF1dGhlbnRpY2F0aW9uUmVzdWx0czp7c3BmOiJwYXNzIixzcGZEb21haW46InNlcnZlLnpvbmUiLGRraW06InBhc3MiLGRraW1Eb21haW46InNlcnZlLnpvbmUiLGRtYXJjOiJwYXNzIixkbWFyY1BvbGljeToicXVhcmFudGluZSJ9LGhlYWRlcnM6e0Zyb206ImFsZXJ0c0BzZXJ2ZS56b25lIixUbzoiaW52YWxpZEBub3doZXJlLnRlc3QiLFN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIixEYXRlOiJNb24sIDE1IEphbiAyMDI0IDE0OjI4OjEwICswMDAwIiwiTUlNRS1WZXJzaW9uIjoiMS4wIiwiQ29udGVudC1UeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOCJ9LGJvZHk6YEFMRVJUOiBDUFUgVXNhZ2UgSGlnaAoKU2VydmljZTogYXBpLWdhdGV3YXkKQ3VycmVudCBVc2FnZTogOTQuMiUKVGhyZXNob2xkOiA5MCUKVGltZXN0YW1wOiAyMDI0LTAxLTE1IDE0OjI4OjAwIFVUQwoKUGxlYXNlIGludmVzdGlnYXRlIGltbWVkaWF0ZWx5LmB9LDM6e2lkOiIzIixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJzdXBwb3J0QGN1c3RvbWVyLmNvbSIsdG86ImFkbWluQHNlcnZlLnpvbmUiLHRvTGlzdDpbImFkbWluQHNlcnZlLnpvbmUiXSxjYzpbIm9wc0BzZXJ2ZS56b25lIl0sc3ViamVjdDoiUmU6IEluZnJhc3RydWN0dXJlIFJldmlldyIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjI1OjAwIixtZXNzYWdlSWQ6IjxnaGk3ODlAY3VzdG9tZXIuY29tPiIsc2l6ZToiMjQuMSBLQiIsc210cExvZzpbe3RpbWVzdGFtcDoiMTQ6MjQ6NTgiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuY3VzdG9tZXIuY29tIn0se3RpbWVzdGFtcDoiMTQ6MjQ6NTgiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5zZXJ2ZS56b25lIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1TVEFSVFRMUyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MjQ6NTgiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJTVEFSVFRMUyJ9LHt0aW1lc3RhbXA6IjE0OjI0OjU5IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIwIFJlYWR5IHRvIHN0YXJ0IFRMUyIscmVzcG9uc2VDb2RlOjIyMH0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJNQUlMIEZST006PHN1cHBvcnRAY3VzdG9tZXIuY29tPiJ9LHt0aW1lc3RhbXA6IjE0OjI0OjU5IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlJDUFQgVE86PGFkbWluQHNlcnZlLnpvbmU+In0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgQWNjZXB0ZWQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiREFUQSJ9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMzU0IEVudGVyIG1lc3NhZ2UiLHJlc3BvbnNlQ29kZTozNTR9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiLiJ9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIGlkPTJiUjNzVC0wMDA0Q2QtRTUiLHJlc3BvbnNlQ29kZToyNTB9XSxjb25uZWN0aW9uSW5mbzp7c291cmNlSXA6IjIwMy4wLjExMy40NSIsc291cmNlSG9zdG5hbWU6Im1haWwuY3VzdG9tZXIuY29tIixkZXN0aW5hdGlvbklwOiIxMC4wLjEuNTAiLGRlc3RpbmF0aW9uUG9ydDoyNSx0bHNWZXJzaW9uOiJUTFN2MS4zIix0bHNDaXBoZXI6IlRMU19BRVNfMTI4X0dDTV9TSEEyNTYiLGF1dGhlbnRpY2F0ZWQ6ITEsYXV0aE1ldGhvZDoiIixhdXRoVXNlcjoiIn0sYXV0aGVudGljYXRpb25SZXN1bHRzOntzcGY6InBhc3MiLHNwZkRvbWFpbjoiY3VzdG9tZXIuY29tIixka2ltOiJwYXNzIixka2ltRG9tYWluOiJjdXN0b21lci5jb20iLGRtYXJjOiJwYXNzIixkbWFyY1BvbGljeToibm9uZSJ9LGhlYWRlcnM6e0Zyb206InN1cHBvcnRAY3VzdG9tZXIuY29tIixUbzoiYWRtaW5Ac2VydmUuem9uZSIsQ0M6Im9wc0BzZXJ2ZS56b25lIixTdWJqZWN0OiJSZTogSW5mcmFzdHJ1Y3R1cmUgUmV2aWV3IixEYXRlOiJNb24sIDE1IEphbiAyMDI0IDE0OjI1OjAwICswMDAwIiwiTUlNRS1WZXJzaW9uIjoiMS4wIiwiQ29udGVudC1UeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOCIsIkluLVJlcGx5LVRvIjoiPHByZXYxMjNAc2VydmUuem9uZT4ifSxib2R5OmBIaSBBZG1pbiwKClRoYW5rIHlvdSBmb3IgdGhlIGRldGFpbGVkIGluZnJhc3RydWN0dXJlIHJldmlldyByZXBvcnQuCgpXZSBoYXZlIHJldmlld2VkIHRoZSByZWNvbW1lbmRhdGlvbnMgYW5kIHdvdWxkIGxpa2UgdG8KcHJvY2VlZCB3aXRoIHRoZSBmb2xsb3dpbmc6CgoxLiBVcGdyYWRlIHRvIHRoZSBQcm8gdGllcgoyLiBFbmFibGUgYXV0b21hdGljIGJhY2t1cHMKMy4gU2V0IHVwIG1vbml0b3JpbmcgYWxlcnRzCgpQbGVhc2UgbGV0IHVzIGtub3cgdGhlIHRpbWVsaW5lIGZvciB0aGVzZSBjaGFuZ2VzLgoKQmVzdCByZWdhcmRzLApDdXN0b21lciBTdXBwb3J0IFRlYW1gfX07YXN5bmMgb25BY3RpdmF0ZShiKXt0aGlzLmFwcHVpPWIuYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiQWxsIEVtYWlscyIsYWN0aW9uOigpPT57dGhpcy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyPSJhbGwiLHRoaXMuY3VycmVudFZpZXc9Imxpc3QiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfX0se2tleToiSW5ib3VuZCIsYWN0aW9uOigpPT57dGhpcy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyPSJpbmJvdW5kIix0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX19LHtrZXk6Ik91dGJvdW5kIixhY3Rpb246KCk9Pnt0aGlzLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXI9Im91dGJvdW5kIix0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX19XSksdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9dXBkYXRlU2Vjb25kYXJ5TWVudSgpe3RoaXMuYXBwdWkmJnRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRW1haWwgLyBNVEEiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6UmVmcmVzaEN3IixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiUmVmcmVzaCBlbWFpbHMiKX19LHt0eXBlOiJhY3Rpb24iLGtleToiRXhwb3J0IExvZ3MiLGljb25OYW1lOiJsdWNpZGU6RG93bmxvYWQiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJFeHBvcnQgbG9ncyIpfX1dfSx7bmFtZToiU3RhdHVzIEZpbHRlcnMiLGl0ZW1zOlt7a2V5OiJEZWxpdmVyZWQiLGljb25OYW1lOiJsdWNpZGU6Q2hlY2tDaXJjbGUiLGJhZGdlOiI1IixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgZGVsaXZlcmVkIil9fSx7a2V5OiJCb3VuY2VkIixpY29uTmFtZToibHVjaWRlOlhDaXJjbGUiLGJhZGdlOiIxIixiYWRnZVZhcmlhbnQ6ImVycm9yIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIGJvdW5jZWQiKX19LHtrZXk6IkRlZmVycmVkIixpY29uTmFtZToibHVjaWRlOkNsb2NrIixiYWRnZToiMSIsYmFkZ2VWYXJpYW50OiJ3YXJuaW5nIixhY3Rpb246KCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIGRlZmVycmVkIil9fSx7a2V5OiJQZW5kaW5nIixpY29uTmFtZToibHVjaWRlOkxvYWRlciIsYmFkZ2U6IjEiLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgcGVuZGluZyIpfX1dfSx7bmFtZToiU3RhdGlzdGljcyIsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOiI4IFRvdGFsIEVtYWlscyJ9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOiI2Mi41JSBEZWxpdmVyeSBSYXRlIn1dfV19KX1vbkRlYWN0aXZhdGUoKXt9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3PT09ImRldGFpbCImJnRoaXMuc2VsZWN0ZWRFbWFpbD9NYAogICAgICAgIDxzei1tdGEtZGV0YWlsLXZpZXcKICAgICAgICAgIC5lbWFpbD0ke3RoaXMuc2VsZWN0ZWRFbWFpbH0KICAgICAgICAgIEBiYWNrPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnNlbGVjdGVkRW1haWw9bnVsbH19CiAgICAgICAgPjwvc3otbXRhLWRldGFpbC12aWV3PgogICAgICBgOk1gCiAgICAgIDxzei1tdGEtbGlzdC12aWV3CiAgICAgICAgLmVtYWlscz0ke3RoaXMuY3VycmVudERpcmVjdGlvbkZpbHRlcj09PSJhbGwiP3RoaXMuZGVtb0VtYWlsczp0aGlzLmRlbW9FbWFpbHMuZmlsdGVyKGI9PmIuZGlyZWN0aW9uPT09dGhpcy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyKX0KICAgICAgICBAZW1haWwtY2xpY2s9JHtiPT50aGlzLmhhbmRsZUVtYWlsQ2xpY2soYi5kZXRhaWwpfQogICAgICA+PC9zei1tdGEtbGlzdC12aWV3PgogICAgYH1oYW5kbGVFbWFpbENsaWNrKGIpe2xldCBnPXRoaXMuZGVtb0VtYWlsRGV0YWlsc1tiLmlkXTtnPyh0aGlzLnNlbGVjdGVkRW1haWw9Zyx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwiKTpjb25zb2xlLmxvZygiTm8gZGV0YWlsIGRhdGEgYXZhaWxhYmxlIGZvciBlbWFpbDoiLGIuaWQpfXN0YXRpY3t6dShhLHIpfX07cmV0dXJuIHY9YX0pKCl9KTt2YXIgcHByLFM1ZSxxS3IsZnByPWYoKCk9Pnt1ZSgpO2xzKCk7cHByPWZ1bmN0aW9uKGUsdCxyLGEsaSxuKXtmdW5jdGlvbiBzKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9Zm9yKHZhciBvPWEua2luZCxjPW89PT0iZ2V0dGVyIj8iZ2V0IjpvPT09InNldHRlciI/InNldCI6InZhbHVlIixsPSF0JiZlP2Euc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChsP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCxhLm5hbWUpOnt9KSxkLGg9ITEsbT1yLmxlbmd0aC0xO20+PTA7bS0tKXt2YXIgdj17fTtmb3IodmFyIGIgaW4gYSl2W2JdPWI9PT0iYWNjZXNzIj97fTphW2JdO2Zvcih2YXIgYiBpbiBhLmFjY2Vzcyl2LmFjY2Vzc1tiXT1hLmFjY2Vzc1tiXTt2LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKHMoeXx8bnVsbCkpfTt2YXIgZz0oMCxyW21dKShvPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSx2KTtpZihvPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhkPXMoZy5nZXQpKSYmKHUuZ2V0PWQpLChkPXMoZy5zZXQpKSYmKHUuc2V0PWQpLChkPXMoZy5pbml0KSkmJmkudW5zaGlmdChkKX1lbHNlKGQ9cyhnKSkmJihvPT09ImZpZWxkIj9pLnVuc2hpZnQoZCk6dVtjXT1kKX1sJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobCxhLm5hbWUsdSksaD0hMH0sUzVlPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPHQubGVuZ3RoO2krKylyPWE/dFtpXS5jYWxsKGUscik6dFtpXS5jYWxsKGUpO3JldHVybiBhP3I6dm9pZCAwfSxxS3I9KCgpPT57bGV0IGU9W3JlKCJzei1kZW1vLXZpZXctcm91dGVzIildLHQscj1bXSxhLGk9aGUsbixzPVtdLG89W107dmFyIGM9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBsPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W3NlKCldLHBwcih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnU9PiJjdXJyZW50VGFiImluIHUsZ2V0OnU9PnUuY3VycmVudFRhYixzZXQ6KHUsZCk9Pnt1LmN1cnJlbnRUYWI9ZH19LG1ldGFkYXRhOmx9LHMsbykscHByKG51bGwsdD17dmFsdWU6YX0sZSx7a2luZDoiY2xhc3MiLG5hbWU6YS5uYW1lLG1ldGFkYXRhOmx9LG51bGwsciksYz1hPXQudmFsdWUsbCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpsfSl9YXBwdWk9bnVsbDsjZT1TNWUodGhpcyxzLCJhbGwiKTtnZXQgY3VycmVudFRhYigpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50VGFiKGwpe3RoaXMuI2U9bH1kZW1vUm91dGVzPShTNWUodGhpcyxvKSxbe2lkOiJyb3V0ZS0xIixuYW1lOiJXZWIgRnJvbnRlbmQiLGRlc2NyaXB0aW9uOiJNYWluIHdlYnNpdGUgd2l0aCBUTFMgdGVybWluYXRpb24gYW5kIGF1dG9tYXRpYyBjZXJ0aWZpY2F0ZXMiLGVuYWJsZWQ6ITAscHJpb3JpdHk6MTAsdGFnczpbIndlYiIsImh0dHBzIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczpbInNlcnZlLnpvbmUiLCJ3d3cuc2VydmUuem9uZSJdLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4wLjEwIixwb3J0OjNlM31dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fX0se2lkOiJyb3V0ZS0yIixuYW1lOiJIVFRQIFJlZGlyZWN0IixkZXNjcmlwdGlvbjoiUmVkaXJlY3RzIGFsbCBIVFRQIHRyYWZmaWMgdG8gSFRUUFMiLGVuYWJsZWQ6ITAscHJpb3JpdHk6MTAwLHRhZ3M6WyJ3ZWIiLCJodHRwIiwicmVkaXJlY3QiXSxtYXRjaDp7cG9ydHM6ODAsZG9tYWluczpbInNlcnZlLnpvbmUiLCJ3d3cuc2VydmUuem9uZSJdLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJzb2NrZXQtaGFuZGxlciJ9fSx7aWQ6InJvdXRlLTMiLG5hbWU6IlNNVFAgSW5ib3VuZCIsZGVzY3JpcHRpb246IkluYm91bmQgZW1haWwgcmVsYXkgZm9yIHNlcnZlLnpvbmUgZG9tYWluIixlbmFibGVkOiEwLHRhZ3M6WyJlbWFpbCIsInNtdHAiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOjI1LGRvbWFpbnM6Im1haWwuc2VydmUuem9uZSJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMS41Iixwb3J0OjI1fV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn19fSx7aWQ6InJvdXRlLTQiLG5hbWU6IkFQSSBHYXRld2F5IixkZXNjcmlwdGlvbjoiQVBJIGdhdGV3YXkgd2l0aCByYXRlIGxpbWl0aW5nLCBDT1JTIGhlYWRlcnMsIGFuZCBsb2FkIGJhbGFuY2luZyIsZW5hYmxlZDohMCxwcmlvcml0eToyMCx0YWdzOlsid2ViIiwiYXBpIiwiaHR0cHMiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiJhcGkuc2VydmUuem9uZSIscGF0aDoiL3YyLyoiLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDpbIjEwLjAuMC4yMCIsIjEwLjAuMC4yMSIsIjEwLjAuMC4yMiJdLHBvcnQ6ODA4MH1dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9LGxvYWRCYWxhbmNpbmc6e2FsZ29yaXRobToicm91bmQtcm9iaW4ifX0sc2VjdXJpdHk6e3JhdGVMaW1pdDp7ZW5hYmxlZDohMCxtYXhSZXF1ZXN0czoyMDAsd2luZG93OjYwfSxtYXhDb25uZWN0aW9uczo1ZTN9LGhlYWRlcnM6e3Jlc3BvbnNlOnsiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIjoiKiIsIlgtUmVxdWVzdC1JZCI6Int7cmVxdWVzdElkfX0ifX19LHtpZDoicm91dGUtNSIsbmFtZToiV2ViU29ja2V0IFJlYWx0aW1lIixkZXNjcmlwdGlvbjoiUmVhbC10aW1lIFdlYlNvY2tldCBjb25uZWN0aW9ucyBmb3IgbGl2ZSB1cGRhdGVzIixlbmFibGVkOiEwLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsIndlYnNvY2tldCJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoid3Muc2VydmUuem9uZSIscGF0aDoiL3dzLyoiLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4wLjMwIixwb3J0OjkwOTB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifSx3ZWJzb2NrZXQ6e2VuYWJsZWQ6ITB9fX0se2lkOiJyb3V0ZS02IixuYW1lOiJUZW5hbnQgV2lsZGNhcmQiLGRlc2NyaXB0aW9uOiJNdWx0aS10ZW5hbnQgd2lsZGNhcmQgcm91dGluZyBmb3IgY3VzdG9tZXIgc3ViZG9tYWlucyIsZW5hYmxlZDohMCxwcmlvcml0eTo1MCx0YWdzOlsid2ViIiwiaHR0cHMiLCJtdWx0aS10ZW5hbnQiXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6IiouY3VzdG9tZXJzLnNlcnZlLnpvbmUiLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4wLjQwIixwb3J0OjgwODB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX0sc2VjdXJpdHk6e2lwQWxsb3dMaXN0OlsiMTAuMC4wLjAvOCIsIjE3Mi4xNi4wLjAvMTIiXX19LHtpZDoicm91dGUtNyIsbmFtZToiTWljcm9zZXJ2aWNlcyBMQiIsZGVzY3JpcHRpb246IkxvYWQtYmFsYW5jZWQgbWljcm9zZXJ2aWNlcyBiYWNrZW5kIHdpdGggSVAtaGFzaCBhZmZpbml0eSIsZW5hYmxlZDohMCx0YWdzOlsid2ViIiwiaHR0cHMiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOls0NDMsODQ0M10sZG9tYWluczoic2VydmljZXMuc2VydmUuem9uZSIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OlsiMTAuMC4yLjEiLCIxMC4wLjIuMiIsIjEwLjAuMi4zIiwiMTAuMC4yLjQiXSxwb3J0OjNlM31dLHRsczp7bW9kZToidGVybWluYXRlLWFuZC1yZWVuY3J5cHQiLGNlcnRpZmljYXRlOiJhdXRvIn0sbG9hZEJhbGFuY2luZzp7YWxnb3JpdGhtOiJpcC1oYXNoIn19fSx7aWQ6InJvdXRlLTgiLG5hbWU6IkROUyBvdmVyIEhUVFBTIixkZXNjcmlwdGlvbjoiRE5TLW92ZXItSFRUUFMgcmVzb2x2ZXIgZW5kcG9pbnQiLGVuYWJsZWQ6ITAsdGFnczpbImRucyIsImh0dHBzIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiJkbnMuc2VydmUuem9uZSIscGF0aDoiL2Rucy1xdWVyeSIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjMuMSIscG9ydDo4MDUzfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn19fSx7aWQ6InJvdXRlLTkiLG5hbWU6IkhpZ2gtUGVyZiBUQ1AgUHJveHkiLGRlc2NyaXB0aW9uOiJORlRhYmxlcy1hY2NlbGVyYXRlZCBUQ1AgcHJveHkgZm9yIGdhbWUgc2VydmVycyIsZW5hYmxlZDohMCx0YWdzOlsidGNwIiwibmZ0YWJsZXMiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOlt7ZnJvbToyN2UzLHRvOjI3MDUwfV0scHJvdG9jb2w6InRjcCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuNC4xIixwb3J0OiJwcmVzZXJ2ZSJ9XSxmb3J3YXJkaW5nRW5naW5lOiJuZnRhYmxlcyJ9fSx7aWQ6InJvdXRlLTEwIixuYW1lOiJMZWdhY3kgQWRtaW4gUGFuZWwiLGRlc2NyaXB0aW9uOiJEZXByZWNhdGVkIGFkbWluIHBhbmVsIFx1MjAxNCBkaXNhYmxlZCBmb3IgbWFpbnRlbmFuY2UiLGVuYWJsZWQ6ITEsdGFnczpbIndlYiIsImh0dHBzIiwiZGVwcmVjYXRlZCJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoiYWRtaW4tb2xkLnNlcnZlLnpvbmUiLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJzb2NrZXQtaGFuZGxlciJ9LHNlY3VyaXR5OntpcEJsb2NrTGlzdDpbIjAuMC4wLjAvMCJdfX1dKTtnZXQgZmlsdGVyZWRSb3V0ZXMoKXtyZXR1cm4gdGhpcy5jdXJyZW50VGFiPT09ImFsbCI/dGhpcy5kZW1vUm91dGVzOnRoaXMuY3VycmVudFRhYj09PSJodHRwcyI/dGhpcy5kZW1vUm91dGVzLmZpbHRlcihsPT5sLnRhZ3M/LnNvbWUodT0+WyJ3ZWIiLCJodHRwcyIsImh0dHAiXS5pbmNsdWRlcyh1KSkpOnRoaXMuY3VycmVudFRhYj09PSJlbWFpbCI/dGhpcy5kZW1vUm91dGVzLmZpbHRlcihsPT5sLnRhZ3M/LnNvbWUodT0+WyJlbWFpbCIsInNtdHAiXS5pbmNsdWRlcyh1KSkpOnRoaXMuY3VycmVudFRhYj09PSJkbnMiP3RoaXMuZGVtb1JvdXRlcy5maWx0ZXIobD0+bC50YWdzPy5zb21lKHU9PlsiZG5zIl0uaW5jbHVkZXModSkpKTp0aGlzLmRlbW9Sb3V0ZXN9YXN5bmMgb25BY3RpdmF0ZShsKXt0aGlzLmFwcHVpPWwuYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiQWxsIFJvdXRlcyIsYWN0aW9uOigpPT57dGhpcy5jdXJyZW50VGFiPSJhbGwiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfX0se2tleToiSFRUUC9TIixhY3Rpb246KCk9Pnt0aGlzLmN1cnJlbnRUYWI9Imh0dHBzIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX19LHtrZXk6IkVtYWlsIixhY3Rpb246KCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImVtYWlsIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX19LHtrZXk6IkROUyIsYWN0aW9uOigpPT57dGhpcy5jdXJyZW50VGFiPSJkbnMiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7aWYoIXRoaXMuYXBwdWkpcmV0dXJuO2xldCBsPXRoaXMuZGVtb1JvdXRlcy5sZW5ndGgsdT10aGlzLmRlbW9Sb3V0ZXMuZmlsdGVyKGg9PmguZW5hYmxlZCE9PSExKS5sZW5ndGgsZD10aGlzLmRlbW9Sb3V0ZXMuZmlsdGVyKGg9PmguYWN0aW9uLnR5cGU9PT0iZm9yd2FyZCIpLmxlbmd0aDt0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IlJvdXRlcyIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpSZWZyZXNoQ3ciLGFjdGlvbjooKT0+e2NvbnNvbGUubG9nKCJSZWZyZXNoIHJvdXRlcyIpfX0se3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgUm91dGUiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOigpPT57Y29uc29sZS5sb2coIkFkZCByb3V0ZSIpfX1dfSx7bmFtZToiU3RhdGlzdGljcyIsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOmAke2x9IFRvdGFsIFJvdXRlc2B9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOmAke3V9IEFjdGl2ZWB9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOmAke2R9IEZvcndhcmRgfSx7dHlwZToiaGVhZGVyIixsYWJlbDpgJHtsLWR9IFNvY2tldCBIYW5kbGVyYH1dfV19KX1vbkRlYWN0aXZhdGUoKXt9c3RhdGljIHN0eWxlcz1bcC5kZWZhdWx0U3R5bGVzLEpgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8c3otcm91dGUtbGlzdC12aWV3CiAgICAgICAgLnJvdXRlcz0ke3RoaXMuZmlsdGVyZWRSb3V0ZXN9CiAgICAgICAgQHJvdXRlLWNsaWNrPSR7bD0+e2NvbnNvbGUubG9nKCJSb3V0ZSBjbGlja2VkOiIsbC5kZXRhaWwubmFtZSl9fQogICAgICA+PC9zei1yb3V0ZS1saXN0LXZpZXc+CiAgICBgfXN0YXRpY3tTNWUoYSxyKX19O3JldHVybiBjPWF9KSgpfSk7dmFyIGpLcixWS3IsVUtyLGhwcj1mKCgpPT57dWUoKTtscygpO2pLcj1mdW5jdGlvbihlLHQscixhLGksbil7ZnVuY3Rpb24gcyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWZvcih2YXIgbz1hLmtpbmQsYz1vPT09ImdldHRlciI/ImdldCI6bz09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsbD0hdCYmZT9hLnN0YXRpYz9lOmUucHJvdG90eXBlOm51bGwsdT10fHwobD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsYS5uYW1lKTp7fSksZCxoPSExLG09ci5sZW5ndGgtMTttPj0wO20tLSl7dmFyIHY9e307Zm9yKHZhciBiIGluIGEpdltiXT1iPT09ImFjY2VzcyI/e306YVtiXTtmb3IodmFyIGIgaW4gYS5hY2Nlc3Mpdi5hY2Nlc3NbYl09YS5hY2Nlc3NbYl07di5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChzKHl8fG51bGwpKX07dmFyIGc9KDAsclttXSkobz09PSJhY2Nlc3NvciI/e2dldDp1LmdldCxzZXQ6dS5zZXR9OnVbY10sdik7aWYobz09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsoZD1zKGcuZ2V0KSkmJih1LmdldD1kKSwoZD1zKGcuc2V0KSkmJih1LnNldD1kKSwoZD1zKGcuaW5pdCkpJiZpLnVuc2hpZnQoZCl9ZWxzZShkPXMoZykpJiYobz09PSJmaWVsZCI/aS51bnNoaWZ0KGQpOnVbY109ZCl9bCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYS5uYW1lLHUpLGg9ITB9LFZLcj1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTx0Lmxlbmd0aDtpKyspcj1hP3RbaV0uY2FsbChlLHIpOnRbaV0uY2FsbChlKTtyZXR1cm4gYT9yOnZvaWQgMH0sVUtyPSgoKT0+e2xldCBlPVtyZSgic3otZGVtby12aWV3LWNvbmZpZyIpXSx0LHI9W10sYSxpPWhlO3ZhciBuPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7YT10aGlzfXN0YXRpY3tsZXQgcz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtqS3IobnVsbCx0PXt2YWx1ZTphfSxlLHtraW5kOiJjbGFzcyIsbmFtZTphLm5hbWUsbWV0YWRhdGE6c30sbnVsbCxyKSxuPWE9dC52YWx1ZSxzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnN9KX1zdGF0aWMgc3R5bGVzPVtwLmRlZmF1bHRTdHlsZXMsSmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIE1gCiAgICAgIDxzei1jb25maWctb3ZlcnZpZXcKICAgICAgICBpbmZvVGV4dD0iVGhpcyB2aWV3IGRpc3BsYXlzIHRoZSBjdXJyZW50IHJ1bm5pbmcgY29uZmlndXJhdGlvbi4gRGNSb3V0ZXIgaXMgY29uZmlndXJlZCB0aHJvdWdoIGNvZGUgb3IgcmVtb3RlIG1hbmFnZW1lbnQuIgogICAgICA+CiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iU3lzdGVtIgogICAgICAgICAgc3VidGl0bGU9IkJhc2UgcGF0aHMgYW5kIGluZnJhc3RydWN0dXJlIgogICAgICAgICAgaWNvbj0ibHVjaWRlOnNlcnZlciIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiQmFzZSBEaXJlY3RvcnkiLHZhbHVlOiIvaG9tZS91c2VyLy5zZXJ2ZS56b25lL2Rjcm91dGVyIn0se2tleToiRGF0YSBEaXJlY3RvcnkiLHZhbHVlOiIvaG9tZS91c2VyLy5zZXJ2ZS56b25lL2Rjcm91dGVyL2RhdGEifSx7a2V5OiJQdWJsaWMgSVAiLHZhbHVlOiIyMDMuMC4xMTMuNTAifSx7a2V5OiJQcm94eSBJUHMiLHZhbHVlOlsiMjAzLjAuMTEzLjEwIiwiMjAzLjAuMTEzLjExIl0sdHlwZToicGlsbHMifSx7a2V5OiJVcHRpbWUiLHZhbHVlOiIzZCAxNGggMjJtIn0se2tleToiU3RvcmFnZSBCYWNrZW5kIix2YWx1ZToiZmlsZXN5c3RlbSIsdHlwZToiYmFkZ2UifV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IlNtYXJ0UHJveHkiCiAgICAgICAgICBzdWJ0aXRsZT0iSFRUUC9IVFRQUyBhbmQgVENQL1NOSSByZXZlcnNlIHByb3h5IgogICAgICAgICAgaWNvbj0ibHVjaWRlOm5ldHdvcmsiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IlJvdXRlIENvdW50Iix2YWx1ZToxMn0se2tleToiQUNNRSBFbmFibGVkIix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn0se2tleToiQWNjb3VudCBFbWFpbCIsdmFsdWU6ImFkbWluQHNlcnZlLnpvbmUifSx7a2V5OiJVc2UgUHJvZHVjdGlvbiIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9LHtrZXk6IkF1dG8gUmVuZXciLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJSZW5ldyBUaHJlc2hvbGQiLHZhbHVlOiIzMCBkYXlzIn1dfQogICAgICAgICAgLmFjdGlvbnM9JHtbe2xhYmVsOiJWaWV3IFJvdXRlcyIsaWNvbjoibHVjaWRlOmFycm93LXJpZ2h0IixldmVudDoibmF2aWdhdGUiLGRldGFpbDp7dmlldzoicm91dGVzIn19XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iRW1haWwgU2VydmVyIgogICAgICAgICAgc3VidGl0bGU9IlNNVFAgZW1haWwgaGFuZGxpbmcgd2l0aCBzbWFydG10YSIKICAgICAgICAgIGljb249Imx1Y2lkZTptYWlsIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJQb3J0cyIsdmFsdWU6WyIyNSIsIjQ2NSIsIjU4NyJdLHR5cGU6InBpbGxzIn0se2tleToiSG9zdG5hbWUiLHZhbHVlOiJtYWlsLnNlcnZlLnpvbmUifSx7a2V5OiJEb21haW5zIix2YWx1ZTpbInNlcnZlLnpvbmUiLCJtYWlsLnNlcnZlLnpvbmUiXSx0eXBlOiJwaWxscyJ9LHtrZXk6IkVtYWlsIFJvdXRlcyIsdmFsdWU6NX0se2tleToiUmVjZWl2ZWQgUGF0aCIsdmFsdWU6Ii9kYXRhL2VtYWlscyJ9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iRE5TIFNlcnZlciIKICAgICAgICAgIHN1YnRpdGxlPSJBdXRob3JpdGF0aXZlIEROUyB3aXRoIHNtYXJ0ZG5zIgogICAgICAgICAgaWNvbj0ibHVjaWRlOmdsb2JlIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJQb3J0Iix2YWx1ZTo1M30se2tleToiTlMgRG9tYWlucyIsdmFsdWU6WyJuczEuc2VydmUuem9uZSIsIm5zMi5zZXJ2ZS56b25lIl0sdHlwZToicGlsbHMifSx7a2V5OiJTY29wZXMiLHZhbHVlOlsic2VydmUuem9uZSIsImV4YW1wbGUuY29tIl0sdHlwZToicGlsbHMifSx7a2V5OiJSZWNvcmQgQ291bnQiLHZhbHVlOjI0fSx7a2V5OiJETlMgQ2hhbGxlbmdlIix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJUTFMgLyBDZXJ0aWZpY2F0ZXMiCiAgICAgICAgICBzdWJ0aXRsZT0iQ2VydGlmaWNhdGUgbWFuYWdlbWVudCBhbmQgQUNNRSIKICAgICAgICAgIGljb249Imx1Y2lkZTpzaGllbGQtY2hlY2siCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IkNvbnRhY3QgRW1haWwiLHZhbHVlOiJhZG1pbkBzZXJ2ZS56b25lIn0se2tleToiRG9tYWluIix2YWx1ZToic2VydmUuem9uZSJ9LHtrZXk6IlNvdXJjZSIsdmFsdWU6ImFjbWUiLHR5cGU6ImJhZGdlIn0se2tleToiQ2VydGlmaWNhdGUgUGF0aCIsdmFsdWU6bnVsbH0se2tleToiS2V5IFBhdGgiLHZhbHVlOm51bGx9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iQ2FjaGUgRGF0YWJhc2UiCiAgICAgICAgICBzdWJ0aXRsZT0iUGVyc2lzdGVudCBjYWNoaW5nIHdpdGggc21hcnRkYXRhIgogICAgICAgICAgaWNvbj0ibHVjaWRlOmRhdGFiYXNlIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJTdG9yYWdlIFBhdGgiLHZhbHVlOiIvaG9tZS91c2VyLy5zZXJ2ZS56b25lL2Rjcm91dGVyL3RzbWRiIn0se2tleToiREIgTmFtZSIsdmFsdWU6ImRjcm91dGVyIn0se2tleToiRGVmYXVsdCBUVEwiLHZhbHVlOiIzMCBkYXlzIn0se2tleToiQ2xlYW51cCBJbnRlcnZhbCIsdmFsdWU6IjEgaG91ciJ9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iUkFESVVTIFNlcnZlciIKICAgICAgICAgIHN1YnRpdGxlPSJOZXR3b3JrIGF1dGhlbnRpY2F0aW9uIGFuZCBWTEFOIGFzc2lnbm1lbnQiCiAgICAgICAgICBpY29uPSJsdWNpZGU6d2lmaSIKICAgICAgICAgIHN0YXR1cz0ibm90LWNvbmZpZ3VyZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IkF1dGggUG9ydCIsdmFsdWU6bnVsbH0se2tleToiQWNjb3VudGluZyBQb3J0Iix2YWx1ZTpudWxsfV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IlJlbW90ZSBJbmdyZXNzIgogICAgICAgICAgc3VidGl0bGU9IkVkZ2UgdHVubmVsIG5vZGVzIgogICAgICAgICAgaWNvbj0ibHVjaWRlOmNsb3VkIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJUdW5uZWwgUG9ydCIsdmFsdWU6ODQ0M30se2tleToiSHViIERvbWFpbiIsdmFsdWU6Imh1Yi5zZXJ2ZS56b25lIn0se2tleToiVExTIENvbmZpZ3VyZWQiLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CiAgICAgIDwvc3otY29uZmlnLW92ZXJ2aWV3PgogICAgYH1zdGF0aWN7VktyKGEscil9fTtyZXR1cm4gbj1hfSkoKX0pO3ZhciBscz1mKCgpPT57SGYoKTtHdWUoKTtadWUoKTtRdWUoKTtKdWUoKTtLdWUoKTt0NWUoKTthNWUoKTtuNWUoKTtvNWUoKTtsNWUoKTtjNWUoKTtBNXIoKTtFNXIoKTtQNXIoKTtONXIoKTtGNXIoKTtSNXIoKTtINXIoKTtxNXIoKTtqNXIoKTtWNXIoKTtVNXIoKTtXNXIoKTtHNXIoKTtZNXIoKTtaNXIoKTtYNXIoKTtKNXIoKTtlcHIoKTt0cHIoKTtycHIoKTthcHIoKTtpcHIoKTtucHIoKTtzcHIoKTtscHIoKTtjcHIoKTtkcHIoKTt1cHIoKTtmcHIoKTtocHIoKX0pO3ZhciBaem4sbXByPWYoKCk9Pnt1ZSgpO1p6bj0oKT0+TWAKICA8c3R5bGU+CiAgICBib2R5IHsKICAgICAgbWFyZ2luOiAwOwogICAgICBwYWRkaW5nOiAwOwogICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OwogICAgfQogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBwYWRkaW5nOiAyNHB4OwogICAgfQogICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CiAgICBoMSB7CiAgICAgIG1hcmdpbjogMCAwIDMycHggMDsKICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICBmb250LXNpemU6IDI4cHg7CiAgICAgIGNvbG9yOiAjMWExYTFhOwogICAgfQogICAgLmNvbXBvbmVudC1kZW1vIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAxNnB4OwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgxPlNlcnZlLlpvbmUgQ2F0YWxvZzwvaDE+CiAgICAgIDxkaXYgY2xhc3M9ImNvbXBvbmVudC1kZW1vIj4KICAgICAgICA8c3otaGVsbG8+PC9zei1oZWxsbz4KICAgICAgICA8c3otaGVsbG8gdGV4dD0iV2VsY29tZSB0byBTZXJ2ZS5ab25lISI+PC9zei1oZWxsbz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYH0pO3ZhciBLem4sZ3ByPWYoKCk9Pnt1ZSgpO2xzKCk7S3puPSgpPT5NYAogIDxzdHlsZT4KICAgIGh0bWwsIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICBzei1kZW1vLWFwcC1zaGVsbCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB3aWR0aDogMTAwdnc7CiAgICB9CiAgPC9zdHlsZT4KICA8c3otZGVtby1hcHAtc2hlbGw+PC9zei1kZW1vLWFwcC1zaGVsbD4KYH0pO3ZhciBXS3IsR0tyLFlLcixicHI9ZigoKT0+e3VlKCk7VXVlKCk7bHMoKTtXS3I9ZnVuY3Rpb24oZSx0LHIsYSxpLG4pe2Z1bmN0aW9uIHMoeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1mb3IodmFyIG89YS5raW5kLGM9bz09PSJnZXR0ZXIiPyJnZXQiOm89PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGw9IXQmJmU/YS5zdGF0aWM/ZTplLnByb3RvdHlwZTpudWxsLHU9dHx8KGw/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLGEubmFtZSk6e30pLGQsaD0hMSxtPXIubGVuZ3RoLTE7bT49MDttLS0pe3ZhciB2PXt9O2Zvcih2YXIgYiBpbiBhKXZbYl09Yj09PSJhY2Nlc3MiP3t9OmFbYl07Zm9yKHZhciBiIGluIGEuYWNjZXNzKXYuYWNjZXNzW2JdPWEuYWNjZXNzW2JdO3YuYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoaCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gocyh5fHxudWxsKSl9O3ZhciBnPSgwLHJbbV0pKG89PT0iYWNjZXNzb3IiP3tnZXQ6dS5nZXQsc2V0OnUuc2V0fTp1W2NdLHYpO2lmKG89PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KGQ9cyhnLmdldCkpJiYodS5nZXQ9ZCksKGQ9cyhnLnNldCkpJiYodS5zZXQ9ZCksKGQ9cyhnLmluaXQpKSYmaS51bnNoaWZ0KGQpfWVsc2UoZD1zKGcpKSYmKG89PT0iZmllbGQiP2kudW5zaGlmdChkKTp1W2NdPWQpfWwmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGEubmFtZSx1KSxoPSEwfSxHS3I9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8dC5sZW5ndGg7aSsrKXI9YT90W2ldLmNhbGwoZSxyKTp0W2ldLmNhbGwoZSk7cmV0dXJuIGE/cjp2b2lkIDB9LFlLcj0oKCk9PntsZXQgZT1bcmUoInN6LWRlbW8tYXBwLXNoZWxsIildLHQscj1bXSxhLGk9aGU7dmFyIG49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3thPXRoaXN9c3RhdGlje2xldCBzPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO1dLcihudWxsLHQ9e3ZhbHVlOmF9LGUse2tpbmQ6ImNsYXNzIixuYW1lOmEubmFtZSxtZXRhZGF0YTpzfSxudWxsLHIpLG49YT10LnZhbHVlLHMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6c30pfXN0YXRpYyBzdHlsZXM9W3AuZGVmYXVsdFN0eWxlcyxKYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBkZWVzLWFwcHVpIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiBNYAogICAgICA8ZGVlcy1hcHB1aT48L2RlZXMtYXBwdWk+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2xldCBzPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aSIpO3MmJihzLmNvbmZpZ3VyZSh7YnJhbmRpbmc6e2xvZ29JY29uOiJsdWNpZGU6Qm94Iixsb2dvVGV4dDoic2VydmUuem9uZSJ9LGFwcEJhcjp7c2hvd1NlYXJjaDohMCxicmVhZGNydW1iczoic2VydmUuem9uZSIsbWVudUl0ZW1zOlt7bmFtZToiRmlsZSIsYWN0aW9uOmFzeW5jKCk9Pnt9LHN1Ym1lbnU6W3tuYW1lOiJOZXcgU2VydmljZSIsc2hvcnRjdXQ6IkNtZCtOIixhY3Rpb246YXN5bmMoKT0+e2NvbnNvbGUubG9nKCJOZXcgU2VydmljZSIpfX0se25hbWU6IkltcG9ydCBDb25maWd1cmF0aW9uIixhY3Rpb246YXN5bmMoKT0+e2NvbnNvbGUubG9nKCJJbXBvcnQiKX19LHtuYW1lOiJFeHBvcnQgQ29uZmlndXJhdGlvbiIsYWN0aW9uOmFzeW5jKCk9Pntjb25zb2xlLmxvZygiRXhwb3J0Iil9fSx7ZGl2aWRlcjohMH0se25hbWU6IlByZWZlcmVuY2VzIixzaG9ydGN1dDoiQ21kKywiLGFjdGlvbjphc3luYygpPT57cy5uYXZpZ2F0ZVRvVmlldygic2V0dGluZ3MiKX19XX0se25hbWU6IlZpZXciLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiRGFzaGJvYXJkIixzaG9ydGN1dDoiQ21kKzEiLGFjdGlvbjphc3luYygpPT57cy5uYXZpZ2F0ZVRvVmlldygiZGFzaGJvYXJkIil9fSx7bmFtZToiU2VydmljZXMiLHNob3J0Y3V0OiJDbWQrMiIsYWN0aW9uOmFzeW5jKCk9PntzLm5hdmlnYXRlVG9WaWV3KCJzZXJ2aWNlcyIpfX0se25hbWU6Ik5ldHdvcmsiLHNob3J0Y3V0OiJDbWQrMyIsYWN0aW9uOmFzeW5jKCk9PntzLm5hdmlnYXRlVG9WaWV3KCJuZXR3b3JrIil9fSx7ZGl2aWRlcjohMH0se25hbWU6IkFjdGl2aXR5IExvZyIsc2hvcnRjdXQ6IkNtZCtTaGlmdCtBIixhY3Rpb246YXN5bmMoKT0+e3MudG9nZ2xlQWN0aXZpdHlMb2coKX19LHtuYW1lOiJUb2dnbGUgU2lkZWJhciIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246YXN5bmMoKT0+e3Muc2V0TWFpbk1lbnVDb2xsYXBzZWQoIXMubWFpbm1lbnVDb2xsYXBzZWQpfX1dfSx7bmFtZToiU2VydmljZXMiLGFjdGlvbjphc3luYygpPT57fSxzdWJtZW51Olt7bmFtZToiRGVwbG95IE5ldyBTZXJ2aWNlIixhY3Rpb246YXN5bmMoKT0+e2NvbnNvbGUubG9nKCJEZXBsb3kiKX19LHtuYW1lOiJTdGFydCBBbGwiLGFjdGlvbjphc3luYygpPT57Y29uc29sZS5sb2coIlN0YXJ0IGFsbCIpfX0se25hbWU6IlN0b3AgQWxsIixhY3Rpb246YXN5bmMoKT0+e2NvbnNvbGUubG9nKCJTdG9wIGFsbCIpfX0se2RpdmlkZXI6ITB9LHtuYW1lOiJHYXJiYWdlIENvbGxlY3QiLGFjdGlvbjphc3luYygpPT57Y29uc29sZS5sb2coIkdDIil9fV19LHtuYW1lOiJIZWxwIixhY3Rpb246YXN5bmMoKT0+e30sc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGFjdGlvbjphc3luYygpPT57d2luZG93Lm9wZW4oImh0dHBzOi8vZG9jcy5zZXJ2ZS56b25lIiwiX2JsYW5rIil9fSx7bmFtZToiUmVsZWFzZSBOb3RlcyIsYWN0aW9uOmFzeW5jKCk9Pntjb25zb2xlLmxvZygiUmVsZWFzZSBub3RlcyIpfX0se2RpdmlkZXI6ITB9LHtuYW1lOiJBYm91dCBzZXJ2ZS56b25lIixhY3Rpb246YXN5bmMoKT0+e2NvbnNvbGUubG9nKCJBYm91dCIpfX1dfV19LHZpZXdzOlt7aWQ6ImRhc2hib2FyZCIsbmFtZToiRGFzaGJvYXJkIixpY29uTmFtZToibHVjaWRlOkxheW91dERhc2hib2FyZCIsY29udGVudDoic3otZGVtby12aWV3LWRhc2hib2FyZCJ9LHtpZDoic2VydmljZXMiLG5hbWU6IlNlcnZpY2VzIixpY29uTmFtZToibHVjaWRlOlNlcnZlciIsY29udGVudDoic3otZGVtby12aWV3LXNlcnZpY2VzIn0se2lkOiJuZXR3b3JrIixuYW1lOiJOZXR3b3JrIixpY29uTmFtZToibHVjaWRlOk5ldHdvcmsiLGNvbnRlbnQ6InN6LWRlbW8tdmlldy1uZXR3b3JrIn0se2lkOiJyZWdpc3RyaWVzIixuYW1lOiJSZWdpc3RyaWVzIixpY29uTmFtZToibHVjaWRlOkFyY2hpdmUiLGNvbnRlbnQ6InN6LWRlbW8tdmlldy1yZWdpc3RyaWVzIn0se2lkOiJ0b2tlbnMiLG5hbWU6IlRva2VucyIsaWNvbk5hbWU6Imx1Y2lkZTpLZXkiLGNvbnRlbnQ6InN6LWRlbW8tdmlldy10b2tlbnMifSx7aWQ6Im10YSIsbmFtZToiRW1haWwgLyBNVEEiLGljb25OYW1lOiJsdWNpZGU6TWFpbCIsY29udGVudDoic3otZGVtby12aWV3LW10YSJ9LHtpZDoicm91dGVzIixuYW1lOiJSb3V0ZXMiLGljb25OYW1lOiJsdWNpZGU6Um91dGUiLGNvbnRlbnQ6InN6LWRlbW8tdmlldy1yb3V0ZXMifSx7aWQ6InNldHRpbmdzIixuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpTZXR0aW5ncyIsY29udGVudDoic3otZGVtby12aWV3LXNldHRpbmdzIn1dLG1haW5NZW51OntzZWN0aW9uczpbe25hbWU6Ik92ZXJ2aWV3Iix2aWV3czpbImRhc2hib2FyZCJdfSx7bmFtZToiSW5mcmFzdHJ1Y3R1cmUiLHZpZXdzOlsic2VydmljZXMiLCJuZXR3b3JrIiwicmVnaXN0cmllcyIsIm10YSIsInJvdXRlcyJdfSx7bmFtZToiQWRtaW5pc3RyYXRpb24iLHZpZXdzOlsidG9rZW5zIiwic2V0dGluZ3MiXX1dfSxkZWZhdWx0VmlldzoiZGFzaGJvYXJkIixvblZpZXdDaGFuZ2U6KG8sYyk9Pntjb25zb2xlLmxvZygiVmlldyBjaGFuZ2VkIHRvOiIsbyxjKX19KSxzLnNldFVzZXIoe25hbWU6IkFkbWluIFVzZXIiLGVtYWlsOiJhZG1pbkBzZXJ2ZS56b25lIixzdGF0dXM6Im9ubGluZSJ9KSxzLnNldFByb2ZpbGVNZW51SXRlbXMoW3tuYW1lOiJQcm9maWxlIixpY29uTmFtZToibHVjaWRlOlVzZXIiLGFjdGlvbjphc3luYygpPT57Y29uc29sZS5sb2coIlByb2ZpbGUiKX19LHtuYW1lOiJQcmVmZXJlbmNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpTbGlkZXJzSG9yaXpvbnRhbCIsYWN0aW9uOmFzeW5jKCk9Pntjb25zb2xlLmxvZygiUHJlZmVyZW5jZXMiKX19LHtkaXZpZGVyOiEwfSx7bmFtZToiU2lnbiBPdXQiLGljb25OYW1lOiJsdWNpZGU6TG9nT3V0IixhY3Rpb246YXN5bmMoKT0+e2NvbnNvbGUubG9nKCJTaWduIE91dCIpfX1dKSl9c3RhdGlje0dLcihhLHIpfX07cmV0dXJuIG49YX0pKCl9KTt2YXIgdnByPWYoKCk9PnttcHIoKTtncHIoKTticHIoKX0pO3ZhciB4cHI9ZigoKT0+e2xzKCk7dnByKCl9KTt2YXIgTXQsZ2w9ZigoKT0+e01zKCk7VXVlKCk7eHByKCk7TXQ9eHN9KTt2YXIgV3MseXByPWYoKCk9PntNcygpO1dzPUNyYAogIDpob3N0IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiBhdXRvOwogICAgbWF4LXdpZHRoOiAxMjgwcHg7CiAgICBwYWRkaW5nOiAxNnB4IDE2cHg7CiAgfQpgfSk7dmFyIHdwcixDNWUsWktyLE52LE1wcj1mKCgpPT57TXMoKTt3cHI9W2hpKCJvYi1zZWN0aW9uaGVhZGluZyIpXTtOdj1jbGFzcyBleHRlbmRzKFpLcj1EaSl7c3RhdGljIHN0eWxlcz1bQWkuZGVmYXVsdFN0eWxlcyxDcmAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgLmhlYWRpbmcgewogICAgICAgIGZvbnQtZmFtaWx5OiAnQ2FsIFNhbnMnLCAnSW50ZXInLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQtc2l6ZTogMjhweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke0FpLmJkVGhlbWUoIiMxMTEiLCIjZmZmIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gaHJgCiAgICAgIDxoMSBjbGFzcz0iaGVhZGluZyI+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2gxPgogICAgYH19O0M1ZT1zbihaS3IpLE52PXRyKEM1ZSwwLCJPYlNlY3Rpb25IZWFkaW5nIix3cHIsTnYpLGN0KEM1ZSwxLE52KX0pO3ZhciBjMz1mKCgpPT57eXByKCk7TXByKCl9KTt2YXIgZDE9ZigoKT0+e3poKCl9KTt2YXIga3ByPWYoKCk9Pnt9KTt2YXIgU3ByPWYoKCk9Pnt9KTt2YXIgenByPWYoKCk9Pnt9KTt2YXIgQ3ByPWYoKCk9Pnt9KTt2YXIgVHByPWYoKCk9Pnt9KTt2YXIgX3ByPWYoKCk9Pnt9KTt2YXIgWEtyLExwcj1mKCgpPT57WEtyPXtzdGFuZGFyZDp7aG91cmx5OjAsZGFpbHk6Nyx3ZWVrbHk6NCxtb250aGx5OjEyfSxmcmVxdWVudDp7aG91cmx5OjI0LGRhaWx5Ojcsd2Vla2x5OjQsbW9udGhseToxMn0sbWluaW1hbDp7aG91cmx5OjAsZGFpbHk6Myx3ZWVrbHk6Mixtb250aGx5OjZ9LGxvbmd0ZXJtOntob3VybHk6MCxkYWlseToxNCx3ZWVrbHk6OCxtb250aGx5OjI0fX19KTt2YXIgJHByPWYoKCk9Pnt9KTt2YXIgRHByPWYoKCk9Pnt9KTt2YXIgVDVlPXt9O1JlKFQ1ZSx7UkVURU5USU9OX1BSRVNFVFM6KCk9PlhLcn0pO3ZhciB1MT1mKCgpPT57a3ByKCk7U3ByKCk7enByKCk7Q3ByKCk7VHByKCk7X3ByKCk7THByKCk7JHByKCk7RHByKCl9KTt2YXIgQXByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgRXByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgSXByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgUHByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgTnByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgRnByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgT3ByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgUnByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgQnByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgSHByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgcXByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIganByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgVnByPWYoKCk9PntkMSgpO3UxKCl9KTt2YXIgVXByPXt9O3ZhciBXcHI9ZigoKT0+e0FwcigpO0VwcigpO0lwcigpO1BwcigpO05wcigpO0ZwcigpO09wcigpO1JwcigpO0JwcigpO0hwcigpO3FwcigpO2pwcigpO1ZwcigpfSk7dmFyIHVPPWYoKCk9PntkMSgpO3UxKCk7V3ByKCl9KTt2YXIgZDMscDEsWGMsRnIseGEsWG8sWm8sWmMsR3MscHIsR3ByLHBPLFVmLGZPLFlwcixacHIsWHByLFFwcixKcHIsS3ByLGU4cix0OHIsaE8scjhyLGE4cixMNWUsRnYsaThyLG44cixzOHIsJDVlLG1PLG84cixnTyxsOHIsYzhyLHlUbixkOHIsd1RuLHU4cixNVG4scDhyLEQ1ZSxBNWUsa1RuLEN1LFNUbixWZixRS3IsXzVlLHUzPWYoYXN5bmMoKT0+e2dsKCk7dU8oKTtkMz1uZXcgTXQucGx1Z2lucy5zbWFydHN0YXRlLlNtYXJ0c3RhdGUscDE9YXdhaXQgZDMuZ2V0U3RhdGVQYXJ0KCJsb2dpbiIse2lkZW50aXR5Om51bGwsaXNMb2dnZWRJbjohMX0sInBlcnNpc3RlbnQiKSxYYz1hd2FpdCBkMy5nZXRTdGF0ZVBhcnQoInN5c3RlbSIse3N0YXR1czpudWxsfSwic29mdCIpLEZyPWF3YWl0IGQzLmdldFN0YXRlUGFydCgic2VydmljZXMiLHtzZXJ2aWNlczpbXSxjdXJyZW50U2VydmljZTpudWxsLGN1cnJlbnRTZXJ2aWNlTG9nczpbXSxjdXJyZW50U2VydmljZVN0YXRzOm51bGwscGxhdGZvcm1TZXJ2aWNlczpbXSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGx9LCJzb2Z0IikseGE9YXdhaXQgZDMuZ2V0U3RhdGVQYXJ0KCJuZXR3b3JrIix7dGFyZ2V0czpbXSxzdGF0czpudWxsLHRyYWZmaWNTdGF0czpudWxsLGRuc1JlY29yZHM6W10sZG9tYWluczpbXSxjZXJ0aWZpY2F0ZXM6W119LCJzb2Z0IiksWG89YXdhaXQgZDMuZ2V0U3RhdGVQYXJ0KCJyZWdpc3RyaWVzIix7dG9rZW5zOltdLHJlZ2lzdHJ5U3RhdHVzOm51bGx9LCJzb2Z0IiksWm89YXdhaXQgZDMuZ2V0U3RhdGVQYXJ0KCJiYWNrdXBzIix7YmFja3VwczpbXSxzY2hlZHVsZXM6W119LCJzb2Z0IiksWmM9YXdhaXQgZDMuZ2V0U3RhdGVQYXJ0KCJzZXR0aW5ncyIse3NldHRpbmdzOm51bGwsYmFja3VwUGFzc3dvcmRDb25maWd1cmVkOiExfSwic29mdCIpLEdzPWF3YWl0IGQzLmdldFN0YXRlUGFydCgidWkiLHthY3RpdmVWaWV3OiJkYXNoYm9hcmQiLGF1dG9SZWZyZXNoOiEwLHJlZnJlc2hJbnRlcnZhbDozZTR9KSxwcj0oKT0+KHtpZGVudGl0eTpwMS5nZXRTdGF0ZSgpLmlkZW50aXR5fSksR3ByPXAxLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57dHJ5e3JldHVybntpZGVudGl0eTooYXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImFkbWluTG9naW5XaXRoVXNlcm5hbWVBbmRQYXNzd29yZCIpLmZpcmUoe3VzZXJuYW1lOnQudXNlcm5hbWUscGFzc3dvcmQ6dC5wYXNzd29yZH0pKS5pZGVudGl0eSxpc0xvZ2dlZEluOiEwfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiTG9naW4gZmFpbGVkOiIscikse2lkZW50aXR5Om51bGwsaXNMb2dnZWRJbjohMX19fSkscE89cDEuY3JlYXRlQWN0aW9uKGFzeW5jIGU9PntsZXQgdD1wcigpO3RyeXt0LmlkZW50aXR5JiZhd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiYWRtaW5Mb2dvdXQiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcigiTG9nb3V0IGVycm9yOiIscil9cmV0dXJue2lkZW50aXR5Om51bGwsaXNMb2dnZWRJbjohMX19KSxVZj1YYy5jcmVhdGVBY3Rpb24oYXN5bmMgZT0+e2xldCB0PXByKCk7dHJ5e3JldHVybntzdGF0dXM6KGF3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTeXN0ZW1TdGF0dXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSkpLnN0YXR1c319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzeXN0ZW0gc3RhdHVzOiIsciksZS5nZXRTdGF0ZSgpfX0pLGZPPUZyLmNyZWF0ZUFjdGlvbihhc3luYyBlPT57bGV0IHQ9cHIoKTt0cnl7bGV0IGE9YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5lLmdldFN0YXRlKCksc2VydmljZXM6YS5zZXJ2aWNlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzZXJ2aWNlczoiLHIpLGUuZ2V0U3RhdGUoKX19KSxZcHI9RnIuY3JlYXRlQWN0aW9uKGFzeW5jKGUsdCk9PntsZXQgcj1wcigpO3RyeXtsZXQgaT1hd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHksc2VydmljZU5hbWU6dC5uYW1lfSk7cmV0dXJuey4uLmUuZ2V0U3RhdGUoKSxjdXJyZW50U2VydmljZTppLnNlcnZpY2V9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2VydmljZToiLGEpLGUuZ2V0U3RhdGUoKX19KSxacHI9RnIuY3JlYXRlQWN0aW9uKGFzeW5jKGUsdCk9PntsZXQgcj1wcigpO3RyeXthd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiY3JlYXRlU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHksc2VydmljZUNvbmZpZzp0LmNvbmZpZ30pO2xldCBuPWF3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHl9KTtyZXR1cm57Li4uZS5nZXRTdGF0ZSgpLHNlcnZpY2VzOm4uc2VydmljZXN9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY3JlYXRlIHNlcnZpY2U6IixhKSxlLmdldFN0YXRlKCl9fSksWHByPUZyLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImRlbGV0ZVNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTpyLmlkZW50aXR5LHNlcnZpY2VOYW1lOnQubmFtZX0pO2xldCBpPWUuZ2V0U3RhdGUoKTtyZXR1cm57Li4uaSxzZXJ2aWNlczppLnNlcnZpY2VzLmZpbHRlcihuPT5uLm5hbWUhPT10Lm5hbWUpLGN1cnJlbnRTZXJ2aWNlOm51bGx9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIHNlcnZpY2U6IixhKSxlLmdldFN0YXRlKCl9fSksUXByPUZyLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInN0YXJ0U2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHksc2VydmljZU5hbWU6dC5uYW1lfSk7bGV0IG49YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6ci5pZGVudGl0eX0pO3JldHVybnsuLi5lLmdldFN0YXRlKCksc2VydmljZXM6bi5zZXJ2aWNlc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzdGFydCBzZXJ2aWNlOiIsYSksZS5nZXRTdGF0ZSgpfX0pLEpwcj1Gci5jcmVhdGVBY3Rpb24oYXN5bmMoZSx0KT0+e2xldCByPXByKCk7dHJ5e2F3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdG9wU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHksc2VydmljZU5hbWU6dC5uYW1lfSk7bGV0IG49YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6ci5pZGVudGl0eX0pO3JldHVybnsuLi5lLmdldFN0YXRlKCksc2VydmljZXM6bi5zZXJ2aWNlc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzdG9wIHNlcnZpY2U6IixhKSxlLmdldFN0YXRlKCl9fSksS3ByPUZyLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInJlc3RhcnRTZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6ci5pZGVudGl0eSxzZXJ2aWNlTmFtZTp0Lm5hbWV9KTtsZXQgbj1hd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZXMiKS5maXJlKHtpZGVudGl0eTpyLmlkZW50aXR5fSk7cmV0dXJuey4uLmUuZ2V0U3RhdGUoKSxzZXJ2aWNlczpuLnNlcnZpY2VzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHJlc3RhcnQgc2VydmljZToiLGEpLGUuZ2V0U3RhdGUoKX19KSxlOHI9RnIuY3JlYXRlQWN0aW9uKGFzeW5jKGUsdCk9PntsZXQgcj1wcigpO3RyeXtsZXQgaT1hd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZUxvZ3MiKS5maXJlKHtpZGVudGl0eTpyLmlkZW50aXR5LHNlcnZpY2VOYW1lOnQubmFtZSx0YWlsOnQubGluZXN8fDIwMH0pO3JldHVybnsuLi5lLmdldFN0YXRlKCksY3VycmVudFNlcnZpY2VMb2dzOmkubG9nc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzZXJ2aWNlIGxvZ3M6IixhKSxlLmdldFN0YXRlKCl9fSksdDhyPUZyLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7bGV0IGk9YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VTdGF0cyIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHksc2VydmljZU5hbWU6dC5uYW1lfSk7cmV0dXJuey4uLmUuZ2V0U3RhdGUoKSxjdXJyZW50U2VydmljZVN0YXRzOmkuc3RhdHN9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2VydmljZSBzdGF0czoiLGEpLGUuZ2V0U3RhdGUoKX19KSxoTz1Gci5jcmVhdGVBY3Rpb24oYXN5bmMgZT0+e2xldCB0PXByKCk7dHJ5e2xldCBhPWF3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5lLmdldFN0YXRlKCkscGxhdGZvcm1TZXJ2aWNlczphLnBsYXRmb3JtU2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggcGxhdGZvcm0gc2VydmljZXM6IixyKSxlLmdldFN0YXRlKCl9fSkscjhyPUZyLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInN0YXJ0UGxhdGZvcm1TZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6ci5pZGVudGl0eSxzZXJ2aWNlVHlwZTp0LnNlcnZpY2VUeXBlfSk7bGV0IG49YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFBsYXRmb3JtU2VydmljZXMiKS5maXJlKHtpZGVudGl0eTpyLmlkZW50aXR5fSk7cmV0dXJuey4uLmUuZ2V0U3RhdGUoKSxwbGF0Zm9ybVNlcnZpY2VzOm4ucGxhdGZvcm1TZXJ2aWNlc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzdGFydCBwbGF0Zm9ybSBzZXJ2aWNlOiIsYSksZS5nZXRTdGF0ZSgpfX0pLGE4cj1Gci5jcmVhdGVBY3Rpb24oYXN5bmMoZSx0KT0+e2xldCByPXByKCk7dHJ5e2F3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdG9wUGxhdGZvcm1TZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6ci5pZGVudGl0eSxzZXJ2aWNlVHlwZTp0LnNlcnZpY2VUeXBlfSk7bGV0IG49YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFBsYXRmb3JtU2VydmljZXMiKS5maXJlKHtpZGVudGl0eTpyLmlkZW50aXR5fSk7cmV0dXJuey4uLmUuZ2V0U3RhdGUoKSxwbGF0Zm9ybVNlcnZpY2VzOm4ucGxhdGZvcm1TZXJ2aWNlc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzdG9wIHBsYXRmb3JtIHNlcnZpY2U6IixhKSxlLmdldFN0YXRlKCl9fSksTDVlPXhhLmNyZWF0ZUFjdGlvbihhc3luYyBlPT57bGV0IHQ9cHIoKTt0cnl7bGV0IGE9YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldE5ldHdvcmtUYXJnZXRzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5lLmdldFN0YXRlKCksdGFyZ2V0czphLnRhcmdldHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggbmV0d29yayB0YXJnZXRzOiIsciksZS5nZXRTdGF0ZSgpfX0pLEZ2PXhhLmNyZWF0ZUFjdGlvbihhc3luYyBlPT57bGV0IHQ9cHIoKTt0cnl7bGV0IGE9YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldE5ldHdvcmtTdGF0cyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uZS5nZXRTdGF0ZSgpLHN0YXRzOmEuc3RhdHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggbmV0d29yayBzdGF0czoiLHIpLGUuZ2V0U3RhdGUoKX19KSxpOHI9eGEuY3JlYXRlQWN0aW9uKGFzeW5jIGU9PntsZXQgdD1wcigpO3RyeXtsZXQgYT1hd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0VHJhZmZpY1N0YXRzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5lLmdldFN0YXRlKCksdHJhZmZpY1N0YXRzOmEuc3RhdHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggdHJhZmZpYyBzdGF0czoiLHIpLGUuZ2V0U3RhdGUoKX19KSxuOHI9eGEuY3JlYXRlQWN0aW9uKGFzeW5jIGU9PntsZXQgdD1wcigpO3RyeXtsZXQgYT1hd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0RG5zUmVjb3JkcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uZS5nZXRTdGF0ZSgpLGRuc1JlY29yZHM6YS5yZWNvcmRzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIEROUyByZWNvcmRzOiIsciksZS5nZXRTdGF0ZSgpfX0pLHM4cj14YS5jcmVhdGVBY3Rpb24oYXN5bmMgZT0+e2xldCB0PXByKCk7dHJ5e2F3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzeW5jRG5zIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO2xldCBpPWF3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXREbnNSZWNvcmRzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5lLmdldFN0YXRlKCksZG5zUmVjb3JkczppLnJlY29yZHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3luYyBETlM6IixyKSxlLmdldFN0YXRlKCl9fSksJDVlPXhhLmNyZWF0ZUFjdGlvbihhc3luYyBlPT57bGV0IHQ9cHIoKTt0cnl7bGV0IGE9YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldERvbWFpbnMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmUuZ2V0U3RhdGUoKSxkb21haW5zOmEuZG9tYWluc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBkb21haW5zOiIsciksZS5nZXRTdGF0ZSgpfX0pLG1PPXhhLmNyZWF0ZUFjdGlvbihhc3luYyBlPT57bGV0IHQ9cHIoKTt0cnl7bGV0IGE9YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImxpc3RDZXJ0aWZpY2F0ZXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmUuZ2V0U3RhdGUoKSxjZXJ0aWZpY2F0ZXM6YS5jZXJ0aWZpY2F0ZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggY2VydGlmaWNhdGVzOiIsciksZS5nZXRTdGF0ZSgpfX0pLG84cj14YS5jcmVhdGVBY3Rpb24oYXN5bmMoZSx0KT0+e2xldCByPXByKCk7dHJ5e2F3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJyZW5ld0NlcnRpZmljYXRlIikuZmlyZSh7aWRlbnRpdHk6ci5pZGVudGl0eSxkb21haW46dC5kb21haW59KTtsZXQgbj1hd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwibGlzdENlcnRpZmljYXRlcyIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHl9KTtyZXR1cm57Li4uZS5nZXRTdGF0ZSgpLGNlcnRpZmljYXRlczpuLmNlcnRpZmljYXRlc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byByZW5ldyBjZXJ0aWZpY2F0ZToiLGEpLGUuZ2V0U3RhdGUoKX19KSxnTz1Yby5jcmVhdGVBY3Rpb24oYXN5bmMgZT0+e2xldCB0PXByKCk7dHJ5e2xldCBhPWF3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRSZWdpc3RyeVRva2VucyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uZS5nZXRTdGF0ZSgpLHRva2VuczphLnRva2Vuc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCByZWdpc3RyeSB0b2tlbnM6IixyKSxlLmdldFN0YXRlKCl9fSksbDhyPVhvLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImNyZWF0ZVJlZ2lzdHJ5VG9rZW4iKS5maXJlKHtpZGVudGl0eTpyLmlkZW50aXR5LHRva2VuOnQudG9rZW59KTtsZXQgbj1hd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UmVnaXN0cnlUb2tlbnMiKS5maXJlKHtpZGVudGl0eTpyLmlkZW50aXR5fSk7cmV0dXJuey4uLmUuZ2V0U3RhdGUoKSx0b2tlbnM6bi50b2tlbnN9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY3JlYXRlIHJlZ2lzdHJ5IHRva2VuOiIsYSksZS5nZXRTdGF0ZSgpfX0pLGM4cj1Yby5jcmVhdGVBY3Rpb24oYXN5bmMoZSx0KT0+e2xldCByPXByKCk7dHJ5e2F3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJkZWxldGVSZWdpc3RyeVRva2VuIikuZmlyZSh7aWRlbnRpdHk6ci5pZGVudGl0eSx0b2tlbklkOnQudG9rZW5JZH0pO2xldCBpPWUuZ2V0U3RhdGUoKTtyZXR1cm57Li4uaSx0b2tlbnM6aS50b2tlbnMuZmlsdGVyKG49Pm4uaWQhPT10LnRva2VuSWQpfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGRlbGV0ZSByZWdpc3RyeSB0b2tlbjoiLGEpLGUuZ2V0U3RhdGUoKX19KSx5VG49Wm8uY3JlYXRlQWN0aW9uKGFzeW5jIGU9PntsZXQgdD1wcigpO3RyeXtsZXQgYT1hd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QmFja3VwcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uZS5nZXRTdGF0ZSgpLGJhY2t1cHM6YS5iYWNrdXBzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGJhY2t1cHM6IixyKSxlLmdldFN0YXRlKCl9fSksZDhyPVpvLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImRlbGV0ZUJhY2t1cCIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHksYmFja3VwSWQ6dC5iYWNrdXBJZH0pO2xldCBpPWUuZ2V0U3RhdGUoKTtyZXR1cm57Li4uaSxiYWNrdXBzOmkuYmFja3Vwcy5maWx0ZXIobj0+bi5pZCE9PXQuYmFja3VwSWQpfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGRlbGV0ZSBiYWNrdXA6IixhKSxlLmdldFN0YXRlKCl9fSksd1RuPVpvLmNyZWF0ZUFjdGlvbihhc3luYyBlPT57bGV0IHQ9cHIoKTt0cnl7bGV0IGE9YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEJhY2t1cFNjaGVkdWxlcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uZS5nZXRTdGF0ZSgpLHNjaGVkdWxlczphLnNjaGVkdWxlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzY2hlZHVsZXM6IixyKSxlLmdldFN0YXRlKCl9fSksdThyPVpvLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImNyZWF0ZUJhY2t1cFNjaGVkdWxlIikuZmlyZSh7aWRlbnRpdHk6ci5pZGVudGl0eSxzY2hlZHVsZUNvbmZpZzp0LmNvbmZpZ30pO2xldCBuPWF3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRCYWNrdXBTY2hlZHVsZXMiKS5maXJlKHtpZGVudGl0eTpyLmlkZW50aXR5fSk7cmV0dXJuey4uLmUuZ2V0U3RhdGUoKSxzY2hlZHVsZXM6bi5zY2hlZHVsZXN9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY3JlYXRlIHNjaGVkdWxlOiIsYSksZS5nZXRTdGF0ZSgpfX0pLE1Ubj1aby5jcmVhdGVBY3Rpb24oYXN5bmMoZSx0KT0+e2xldCByPXByKCk7dHJ5e2F3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJkZWxldGVCYWNrdXBTY2hlZHVsZSIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHksc2NoZWR1bGVJZDp0LnNjaGVkdWxlSWR9KTtsZXQgaT1lLmdldFN0YXRlKCk7cmV0dXJuey4uLmksc2NoZWR1bGVzOmkuc2NoZWR1bGVzLmZpbHRlcihuPT5uLmlkIT09dC5zY2hlZHVsZUlkKX19Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBkZWxldGUgc2NoZWR1bGU6IixhKSxlLmdldFN0YXRlKCl9fSkscDhyPVpvLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInRyaWdnZXJCYWNrdXBTY2hlZHVsZSIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHksc2NoZWR1bGVJZDp0LnNjaGVkdWxlSWR9KTtsZXQgbj1hd2FpdCBuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QmFja3VwcyIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHl9KTtyZXR1cm57Li4uZS5nZXRTdGF0ZSgpLGJhY2t1cHM6bi5iYWNrdXBzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHRyaWdnZXIgc2NoZWR1bGU6IixhKSxlLmdldFN0YXRlKCl9fSksRDVlPVpjLmNyZWF0ZUFjdGlvbihhc3luYyBlPT57bGV0IHQ9cHIoKTt0cnl7bGV0W3IsYV09YXdhaXQgUHJvbWlzZS5hbGwoW25ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXR0aW5ncyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KSxuZXcgTXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QmFja3VwUGFzc3dvcmRTdGF0dXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSldKTtyZXR1cm57c2V0dGluZ3M6ci5zZXR0aW5ncyxiYWNrdXBQYXNzd29yZENvbmZpZ3VyZWQ6YS5zdGF0dXMuaXNDb25maWd1cmVkfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHNldHRpbmdzOiIsciksZS5nZXRTdGF0ZSgpfX0pLEE1ZT1aYy5jcmVhdGVBY3Rpb24oYXN5bmMoZSx0KT0+e2xldCByPXByKCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJ1cGRhdGVTZXR0aW5ncyIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHksc2V0dGluZ3M6dC5zZXR0aW5nc30pO3JldHVybnsuLi5lLmdldFN0YXRlKCksc2V0dGluZ3M6aS5zZXR0aW5nc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB1cGRhdGUgc2V0dGluZ3M6IixhKSxlLmdldFN0YXRlKCl9fSksa1RuPVpjLmNyZWF0ZUFjdGlvbihhc3luYyhlLHQpPT57bGV0IHI9cHIoKTt0cnl7cmV0dXJuIGF3YWl0IG5ldyBNdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzZXRCYWNrdXBQYXNzd29yZCIpLmZpcmUoe2lkZW50aXR5OnIuaWRlbnRpdHkscGFzc3dvcmQ6dC5wYXNzd29yZH0pLHsuLi5lLmdldFN0YXRlKCksYmFja3VwUGFzc3dvcmRDb25maWd1cmVkOiEwfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHNldCBiYWNrdXAgcGFzc3dvcmQ6IixhKSxlLmdldFN0YXRlKCl9fSksQ3U9R3MuY3JlYXRlQWN0aW9uKGFzeW5jKGUsdCk9Pih7Li4uZS5nZXRTdGF0ZSgpLGFjdGl2ZVZpZXc6dC52aWV3fSkpLFNUbj1Hcy5jcmVhdGVBY3Rpb24oYXN5bmMgZT0+e2xldCB0PWUuZ2V0U3RhdGUoKTtyZXR1cm57Li4udCxhdXRvUmVmcmVzaDohdC5hdXRvUmVmcmVzaH19KSxWZj1udWxsLFFLcj1hc3luYygpPT57aWYocDEuZ2V0U3RhdGUoKS5pc0xvZ2dlZEluKXRyeXthd2FpdCBYYy5kaXNwYXRjaEFjdGlvbihVZixudWxsKX1jYXRjaHt9fSxfNWU9KCk9PntsZXQgZT1Hcy5nZXRTdGF0ZSgpLHQ9cDEuZ2V0U3RhdGUoKTtlLmF1dG9SZWZyZXNoJiZ0LmlzTG9nZ2VkSW4/KFZmJiZjbGVhckludGVydmFsKFZmKSxWZj1zZXRJbnRlcnZhbCgoKT0+e1FLcigpfSxlLnJlZnJlc2hJbnRlcnZhbCkpOlZmJiYoY2xlYXJJbnRlcnZhbChWZiksVmY9bnVsbCl9O0dzLnNlbGVjdChlPT5lKS5zdWJzY3JpYmUoKCk9Pl81ZSgpKSxwMS5zZWxlY3QoZT0+ZSkuc3Vic2NyaWJlKCgpPT5fNWUoKSksXzVlKCl9KTt2YXIgdjhyPXt9O1JlKHY4cix7T2JWaWV3RGFzaGJvYXJkOigpPT5ibH0pO3ZhciBmOHIsaDhyLG04cixnOHIsYjhyLFlzLEU1ZSxJNWUsUDVlLGJsLE41ZT1mKGFzeW5jKCk9PntnbCgpO2MzKCk7YXdhaXQgdTMoKTtNcygpO2I4cj1baGkoIm9iLXZpZXctZGFzaGJvYXJkIildO2JsPWNsYXNzIGV4dGVuZHMoZzhyPURpLG04cj1bJHIoKV0saDhyPVskcigpXSxmOHI9WyRyKCldLGc4cil7Y29uc3RydWN0b3IoKXtzdXBlcigpO2VhKHRoaXMsRTVlLGN0KFlzLDgsdGhpcyx7c3RhdHVzOm51bGx9KSksY3QoWXMsMTEsdGhpcyk7ZWEodGhpcyxJNWUsY3QoWXMsMTIsdGhpcyx7c2VydmljZXM6W10sY3VycmVudFNlcnZpY2U6bnVsbCxjdXJyZW50U2VydmljZUxvZ3M6W10sY3VycmVudFNlcnZpY2VTdGF0czpudWxsLHBsYXRmb3JtU2VydmljZXM6W10sY3VycmVudFBsYXRmb3JtU2VydmljZTpudWxsfSkpLGN0KFlzLDE1LHRoaXMpO2VhKHRoaXMsUDVlLGN0KFlzLDE2LHRoaXMse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sY2VydGlmaWNhdGVzOltdfSkpLGN0KFlzLDE5LHRoaXMpO2xldCByPVhjLnNlbGVjdChuPT5uKS5zdWJzY3JpYmUobj0+e3RoaXMuc3lzdGVtU3RhdGU9bn0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocik7bGV0IGE9RnIuc2VsZWN0KG49Pm4pLnN1YnNjcmliZShuPT57dGhpcy5zZXJ2aWNlc1N0YXRlPW59KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKGEpO2xldCBpPXhhLnNlbGVjdChuPT5uKS5zdWJzY3JpYmUobj0+e3RoaXMubmV0d29ya1N0YXRlPW59KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKGkpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCBQcm9taXNlLmFsbChbWGMuZGlzcGF0Y2hBY3Rpb24oVWYsbnVsbCksRnIuZGlzcGF0Y2hBY3Rpb24oZk8sbnVsbCksRnIuZGlzcGF0Y2hBY3Rpb24oaE8sbnVsbCkseGEuZGlzcGF0Y2hBY3Rpb24oRnYsbnVsbCkseGEuZGlzcGF0Y2hBY3Rpb24obU8sbnVsbCldKX1yZW5kZXIoKXtsZXQgcj10aGlzLnN5c3RlbVN0YXRlLnN0YXR1cyxhPXRoaXMuc2VydmljZXNTdGF0ZS5zZXJ2aWNlcyxpPXRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLG49dGhpcy5uZXR3b3JrU3RhdGUuc3RhdHMscz10aGlzLm5ldHdvcmtTdGF0ZS5jZXJ0aWZpY2F0ZXMsbz1hLmZpbHRlcihoPT5oLnN0YXR1cz09PSJydW5uaW5nIikubGVuZ3RoLGM9YS5maWx0ZXIoaD0+aC5zdGF0dXM9PT0ic3RvcHBlZCIpLmxlbmd0aCxsPXMuZmlsdGVyKGg9PmguaXNWYWxpZCkubGVuZ3RoLHU9cy5maWx0ZXIoaD0+aC5pc1ZhbGlkJiZoLmV4cGlyZXNBdCYmaC5leHBpcmVzQXQtRGF0ZS5ub3coKTw3MjAqNjAqNjAqMWUzKS5sZW5ndGgsZD1zLmZpbHRlcihoPT4haC5pc1ZhbGlkKS5sZW5ndGg7cmV0dXJuIGhyYAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RGFzaGJvYXJkPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LWRhc2hib2FyZC12aWV3CiAgICAgICAgLmRhdGE9JHt7Y2x1c3Rlcjp7dG90YWxTZXJ2aWNlczphLmxlbmd0aCxydW5uaW5nOm8sc3RvcHBlZDpjLGRvY2tlclN0YXR1czpyPy5kb2NrZXI/LnJ1bm5pbmc/InJ1bm5pbmciOiJzdG9wcGVkIn0scmVzb3VyY2VVc2FnZTp7Y3B1OnI/LmRvY2tlcj8uY3B1VXNhZ2V8fDAsbWVtb3J5VXNlZDpyPy5kb2NrZXI/Lm1lbW9yeVVzYWdlfHwwLG1lbW9yeVRvdGFsOnI/LmRvY2tlcj8ubWVtb3J5VG90YWx8fDAsbmV0d29ya0luOjAsbmV0d29ya091dDowLHRvcENvbnN1bWVyczpbXX0scGxhdGZvcm1TZXJ2aWNlczppLm1hcChoPT4oe25hbWU6aC5kaXNwbGF5TmFtZSxzdGF0dXM6aC5zdGF0dXM9PT0icnVubmluZyI/InJ1bm5pbmciOiJzdG9wcGVkIixydW5uaW5nOmguc3RhdHVzPT09InJ1bm5pbmcifSkpLHRyYWZmaWM6e3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0scHJveHk6e2h0dHBQb3J0Om4/LnByb3h5Py5odHRwUG9ydHx8ODAsaHR0cHNQb3J0Om4/LnByb3h5Py5odHRwc1BvcnR8fDQ0MyxodHRwQWN0aXZlOm4/LnByb3h5Py5ydW5uaW5nfHwhMSxodHRwc0FjdGl2ZTpuPy5wcm94eT8ucnVubmluZ3x8ITEscm91dGVDb3VudDpuPy5wcm94eT8ucm91dGVzfHwwfSxjZXJ0aWZpY2F0ZXM6e3ZhbGlkOmwsZXhwaXJpbmc6dSxleHBpcmVkOmR9LGRuc0NvbmZpZ3VyZWQ6ITAsYWNtZUNvbmZpZ3VyZWQ6ITAscXVpY2tBY3Rpb25zOlt7bGFiZWw6IkRlcGxveSBTZXJ2aWNlIixpY29uOiJsdWNpZGU6UGx1cyIscHJpbWFyeTohMH0se2xhYmVsOiJBZGQgRG9tYWluIixpY29uOiJsdWNpZGU6R2xvYmUifSx7bGFiZWw6IlZpZXcgTG9ncyIsaWNvbjoibHVjaWRlOkZpbGVUZXh0In1dfX0KICAgICAgICBAYWN0aW9uLWNsaWNrPSR7aD0+dGhpcy5oYW5kbGVRdWlja0FjdGlvbihoKX0KICAgICAgPjwvc3otZGFzaGJvYXJkLXZpZXc+CiAgICBgfWhhbmRsZVF1aWNrQWN0aW9uKHIpe2xldCBhPXIuZGV0YWlsPy5hY3Rpb258fHIuZGV0YWlsPy5sYWJlbDthPT09IkRlcGxveSBTZXJ2aWNlIj9Hcy5kaXNwYXRjaEFjdGlvbihDdSx7dmlldzoic2VydmljZXMifSk6YT09PSJBZGQgRG9tYWluIiYmR3MuZGlzcGF0Y2hBY3Rpb24oQ3Use3ZpZXc6Im5ldHdvcmsifSl9fTtZcz1zbihnOHIpLEU1ZT1uZXcgV2Vha01hcCxJNWU9bmV3IFdlYWtNYXAsUDVlPW5ldyBXZWFrTWFwLHRyKFlzLDQsInN5c3RlbVN0YXRlIixtOHIsYmwsRTVlKSx0cihZcyw0LCJzZXJ2aWNlc1N0YXRlIixoOHIsYmwsSTVlKSx0cihZcyw0LCJuZXR3b3JrU3RhdGUiLGY4cixibCxQNWUpLGJsPXRyKFlzLDAsIk9iVmlld0Rhc2hib2FyZCIsYjhyLGJsKSxvbihibCwic3R5bGVzIixbQWkuZGVmYXVsdFN0eWxlcyxXcyxDcmBgXSksY3QoWXMsMSxibCl9KTt2YXIgVDhyPXt9O1JlKFQ4cix7T2JWaWV3U2VydmljZXM6KCk9PlpzfSk7ZnVuY3Rpb24gYk8oZSl7aWYoIWV8fGU9PT0wKXJldHVybiIwIEIiO2xldCB0PVsiQiIsIktCIiwiTUIiLCJHQiIsIlRCIl0scj0xMDI0LGE9TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLmxvZyhyKSk7cmV0dXJuYCR7KGUvTWF0aC5wb3cocixhKSkudG9GaXhlZCgxKX0gJHt0W2FdfWB9ZnVuY3Rpb24gSktyKGUpe2xldCB0PWUubGFzdEluZGV4T2YoIjoiKSxyPWUubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4gdD5yJiZ0PjA/e3JlcG9zaXRvcnk6ZS5zdWJzdHJpbmcoMCx0KSx0YWc6ZS5zdWJzdHJpbmcodCsxKX06e3JlcG9zaXRvcnk6ZSx0YWc6ImxhdGVzdCJ9fWZ1bmN0aW9uIHg4cihlKXtzd2l0Y2goZSl7Y2FzZSJydW5uaW5nIjpyZXR1cm4icnVubmluZyI7Y2FzZSJzdGFydGluZyI6cmV0dXJuInN0YXJ0aW5nIjtjYXNlImZhaWxlZCI6cmV0dXJuImVycm9yIjtkZWZhdWx0OnJldHVybiJzdG9wcGVkIn19ZnVuY3Rpb24gS0tyKGUpe2xldCB0PUpLcihlLmltYWdlKTtyZXR1cm57bmFtZTplLm5hbWUsc3RhdHVzOng4cihlLnN0YXR1cyksaW1hZ2U6ZS5pbWFnZSxwb3J0OmUucG9ydCxkb21haW46ZS5kb21haW58fG51bGwsY29udGFpbmVySWQ6ZS5jb250YWluZXJJRHx8IiIsY3JlYXRlZDplLmNyZWF0ZWRBdD9uZXcgRGF0ZShlLmNyZWF0ZWRBdCkudG9Mb2NhbGVTdHJpbmcoKToiLSIsdXBkYXRlZDplLnVwZGF0ZWRBdD9uZXcgRGF0ZShlLnVwZGF0ZWRBdCkudG9Mb2NhbGVTdHJpbmcoKToiLSIscmVnaXN0cnk6ZS51c2VPbmVib3hSZWdpc3RyeT8iT25lYm94IFJlZ2lzdHJ5IjplLnJlZ2lzdHJ5fHwiRG9ja2VyIEh1YiIscmVwb3NpdG9yeTplLnJlZ2lzdHJ5UmVwb3NpdG9yeXx8dC5yZXBvc2l0b3J5LHRhZzplLnJlZ2lzdHJ5SW1hZ2VUYWd8fHQudGFnfX1mdW5jdGlvbiBlZWEoZSl7cmV0dXJue2NwdTplLmNwdVBlcmNlbnQsbWVtb3J5OmJPKGUubWVtb3J5VXNlZCksbWVtb3J5TGltaXQ6Yk8oZS5tZW1vcnlMaW1pdCksbmV0d29ya0luOmJPKGUubmV0d29ya1J4KSxuZXR3b3JrT3V0OmJPKGUubmV0d29ya1R4KX19ZnVuY3Rpb24gdGVhKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UubWFwKHQ9Pih7dGltZXN0YW1wOnQudGltZXN0YW1wP1N0cmluZyh0LnRpbWVzdGFtcCk6IiIsbWVzc2FnZTp0Lm1lc3NhZ2V8fFN0cmluZyh0KX0pKTp0eXBlb2YgZT09InN0cmluZyImJmUudHJpbSgpP2Uuc3BsaXQoYApgKS5maWx0ZXIodD0+dC50cmltKCkpLm1hcCh0PT57bGV0IHI9dC5tYXRjaCgvXihcZHs0fS1cZHsyfS1cZHsyfVRbXGQ6Ll0rWj8pXHMrKC4qKS8pO3JldHVybiByP3t0aW1lc3RhbXA6clsxXSxtZXNzYWdlOnJbMl19Ont0aW1lc3RhbXA6IiIsbWVzc2FnZTp0fX0pOltdfXZhciB5OHIsdzhyLE04cixrOHIsUzhyLHo4cixDOHIsQmksRjVlLE81ZSxSNWUsQjVlLEg1ZSxyZWEsWnMscTVlPWYoYXN5bmMoKT0+e2dsKCk7YzMoKTthd2FpdCB1MygpO3VPKCk7TXMoKTtyZWE9e2NwdTowLG1lbW9yeToiMCBCIixtZW1vcnlMaW1pdDoiMCBCIixuZXR3b3JrSW46IjAgQiIsbmV0d29ya091dDoiMCBCIn07QzhyPVtoaSgib2Itdmlldy1zZXJ2aWNlcyIpXTtacz1jbGFzcyBleHRlbmRzKHo4cj1EaSxTOHI9WyRyKCldLGs4cj1bJHIoKV0sTThyPVskcigpXSx3OHI9WyRyKCldLHk4cj1bJHIoKV0sejhyKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7ZWEodGhpcyxGNWUsY3QoQmksOCx0aGlzLHtzZXJ2aWNlczpbXSxjdXJyZW50U2VydmljZTpudWxsLGN1cnJlbnRTZXJ2aWNlTG9nczpbXSxjdXJyZW50U2VydmljZVN0YXRzOm51bGwscGxhdGZvcm1TZXJ2aWNlczpbXSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGx9KSksY3QoQmksMTEsdGhpcyk7ZWEodGhpcyxPNWUsY3QoQmksMTIsdGhpcyx7YmFja3VwczpbXSxzY2hlZHVsZXM6W119KSksY3QoQmksMTUsdGhpcyk7ZWEodGhpcyxSNWUsY3QoQmksMTYsdGhpcywibGlzdCIpKSxjdChCaSwxOSx0aGlzKTtlYSh0aGlzLEI1ZSxjdChCaSwyMCx0aGlzLCIiKSksY3QoQmksMjMsdGhpcyk7ZWEodGhpcyxINWUsY3QoQmksMjQsdGhpcywiIikpLGN0KEJpLDI3LHRoaXMpO2xldCByPUZyLnNlbGVjdChpPT5pKS5zdWJzY3JpYmUoaT0+e3RoaXMuc2VydmljZXNTdGF0ZT1pfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChyKTtsZXQgYT1aby5zZWxlY3QoaT0+aSkuc3Vic2NyaWJlKGk9Pnt0aGlzLmJhY2t1cHNTdGF0ZT1pfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChhKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW0ZyLmRpc3BhdGNoQWN0aW9uKGZPLG51bGwpLEZyLmRpc3BhdGNoQWN0aW9uKGhPLG51bGwpXSl9cmVuZGVyKCl7c3dpdGNoKHRoaXMuY3VycmVudFZpZXcpe2Nhc2UiY3JlYXRlIjpyZXR1cm4gdGhpcy5yZW5kZXJDcmVhdGVWaWV3KCk7Y2FzZSJkZXRhaWwiOnJldHVybiB0aGlzLnJlbmRlckRldGFpbFZpZXcoKTtjYXNlImJhY2t1cHMiOnJldHVybiB0aGlzLnJlbmRlckJhY2t1cHNWaWV3KCk7Y2FzZSJwbGF0Zm9ybS1kZXRhaWwiOnJldHVybiB0aGlzLnJlbmRlclBsYXRmb3JtRGV0YWlsVmlldygpO2RlZmF1bHQ6cmV0dXJuIHRoaXMucmVuZGVyTGlzdFZpZXcoKX19cmVuZGVyTGlzdFZpZXcoKXtsZXQgcj10aGlzLnNlcnZpY2VzU3RhdGUuc2VydmljZXMubWFwKGE9Pih7bmFtZTphLm5hbWUsaW1hZ2U6YS5pbWFnZSxkb21haW46YS5kb21haW58fG51bGwsc3RhdHVzOng4cihhLnN0YXR1cyl9KSk7cmV0dXJuIGhyYAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+U2VydmljZXM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otc2VydmljZXMtbGlzdC12aWV3CiAgICAgICAgLnNlcnZpY2VzPSR7cn0KICAgICAgICBAc2VydmljZS1jbGljaz0ke2E9Pnt0aGlzLnNlbGVjdGVkU2VydmljZU5hbWU9YS5kZXRhaWwubmFtZXx8YS5kZXRhaWwuc2VydmljZT8ubmFtZSxGci5kaXNwYXRjaEFjdGlvbihZcHIse25hbWU6dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lfSksRnIuZGlzcGF0Y2hBY3Rpb24oZThyLHtuYW1lOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlTmFtZX0pLEZyLmRpc3BhdGNoQWN0aW9uKHQ4cix7bmFtZTp0aGlzLnNlbGVjdGVkU2VydmljZU5hbWV9KSx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwifX0KICAgICAgICBAc2VydmljZS1hY3Rpb249JHthPT50aGlzLmhhbmRsZVNlcnZpY2VBY3Rpb24oYSl9CiAgICAgID48L3N6LXNlcnZpY2VzLWxpc3Qtdmlldz4KICAgIGB9cmVuZGVyQ3JlYXRlVmlldygpe3JldHVybiBocmAKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkNyZWF0ZSBTZXJ2aWNlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXNlcnZpY2UtY3JlYXRlLXZpZXcKICAgICAgICAucmVnaXN0cmllcz0ke1tdfQogICAgICAgIEBjcmVhdGUtc2VydmljZT0ke2FzeW5jIHI9Pnthd2FpdCBGci5kaXNwYXRjaEFjdGlvbihacHIse2NvbmZpZzpyLmRldGFpbH0pLHRoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgICBAY2FuY2VsPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In19CiAgICAgID48L3N6LXNlcnZpY2UtY3JlYXRlLXZpZXc+CiAgICBgfXJlbmRlckRldGFpbFZpZXcoKXtsZXQgcj10aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFNlcnZpY2UsYT1yP0tLcihyKTpudWxsLGk9dGhpcy5zZXJ2aWNlc1N0YXRlLmN1cnJlbnRTZXJ2aWNlU3RhdHM/ZWVhKHRoaXMuc2VydmljZXNTdGF0ZS5jdXJyZW50U2VydmljZVN0YXRzKTpyZWEsbj10ZWEodGhpcy5zZXJ2aWNlc1N0YXRlLmN1cnJlbnRTZXJ2aWNlTG9ncyk7cmV0dXJuIGhyYAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+U2VydmljZSBEZXRhaWxzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke2F9CiAgICAgICAgLmxvZ3M9JHtufQogICAgICAgIC5zdGF0cz0ke2l9CiAgICAgICAgQGJhY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgICBAc2VydmljZS1hY3Rpb249JHtzPT50aGlzLmhhbmRsZVNlcnZpY2VBY3Rpb24ocyl9CiAgICAgID48L3N6LXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICBgfXJlbmRlckJhY2t1cHNWaWV3KCl7cmV0dXJuIGhyYAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QmFja3Vwczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXcKICAgICAgICAuc2NoZWR1bGVzPSR7dGhpcy5iYWNrdXBzU3RhdGUuc2NoZWR1bGVzfQogICAgICAgIC5iYWNrdXBzPSR7dGhpcy5iYWNrdXBzU3RhdGUuYmFja3Vwc30KICAgICAgICBAY3JlYXRlLXNjaGVkdWxlPSR7cj0+e1pvLmRpc3BhdGNoQWN0aW9uKHU4cix7Y29uZmlnOnIuZGV0YWlsfSl9fQogICAgICAgIEBydW4tbm93PSR7cj0+e1pvLmRpc3BhdGNoQWN0aW9uKHA4cix7c2NoZWR1bGVJZDpyLmRldGFpbC5zY2hlZHVsZUlkfSl9fQogICAgICAgIEBkZWxldGUtYmFja3VwPSR7cj0+e1pvLmRpc3BhdGNoQWN0aW9uKGQ4cix7YmFja3VwSWQ6ci5kZXRhaWwuYmFja3VwSWR9KX19CiAgICAgID48L3N6LXNlcnZpY2VzLWJhY2t1cHMtdmlldz4KICAgIGB9cmVuZGVyUGxhdGZvcm1EZXRhaWxWaWV3KCl7bGV0IHI9dGhpcy5zZXJ2aWNlc1N0YXRlLnBsYXRmb3JtU2VydmljZXMuZmluZChhPT5hLnR5cGU9PT10aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlKTtyZXR1cm4gaHJgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5QbGF0Zm9ybSBTZXJ2aWNlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3I/e2lkOnIudHlwZSxuYW1lOnIuZGlzcGxheU5hbWUsdHlwZTpyLnR5cGUsc3RhdHVzOnIuc3RhdHVzLHZlcnNpb246IiIsaG9zdDoibG9jYWxob3N0Iixwb3J0OjAsY29uZmlnOnt9fTpudWxsfQogICAgICAgIC5sb2dzPSR7W119CiAgICAgICAgQHN0YXJ0PSR7KCk9PntGci5kaXNwYXRjaEFjdGlvbihyOHIse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KX19CiAgICAgICAgQHN0b3A9JHsoKT0+e0ZyLmRpc3BhdGNoQWN0aW9uKGE4cix7c2VydmljZVR5cGU6dGhpcy5zZWxlY3RlZFBsYXRmb3JtVHlwZX0pfX0KICAgICAgPjwvc3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldz4KICAgIGB9YXN5bmMgaGFuZGxlU2VydmljZUFjdGlvbihyKXtsZXQgYT1yLmRldGFpbC5hY3Rpb24saT1yLmRldGFpbC5zZXJ2aWNlPy5uYW1lfHxyLmRldGFpbC5uYW1lfHx0aGlzLnNlbGVjdGVkU2VydmljZU5hbWU7c3dpdGNoKGEpe2Nhc2Uic3RhcnQiOmF3YWl0IEZyLmRpc3BhdGNoQWN0aW9uKFFwcix7bmFtZTppfSk7YnJlYWs7Y2FzZSJzdG9wIjphd2FpdCBGci5kaXNwYXRjaEFjdGlvbihKcHIse25hbWU6aX0pO2JyZWFrO2Nhc2UicmVzdGFydCI6YXdhaXQgRnIuZGlzcGF0Y2hBY3Rpb24oS3ByLHtuYW1lOml9KTticmVhaztjYXNlImRlbGV0ZSI6YXdhaXQgRnIuZGlzcGF0Y2hBY3Rpb24oWHByLHtuYW1lOml9KSx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0IjticmVha319fTtCaT1zbih6OHIpLEY1ZT1uZXcgV2Vha01hcCxPNWU9bmV3IFdlYWtNYXAsUjVlPW5ldyBXZWFrTWFwLEI1ZT1uZXcgV2Vha01hcCxINWU9bmV3IFdlYWtNYXAsdHIoQmksNCwic2VydmljZXNTdGF0ZSIsUzhyLFpzLEY1ZSksdHIoQmksNCwiYmFja3Vwc1N0YXRlIixrOHIsWnMsTzVlKSx0cihCaSw0LCJjdXJyZW50VmlldyIsTThyLFpzLFI1ZSksdHIoQmksNCwic2VsZWN0ZWRTZXJ2aWNlTmFtZSIsdzhyLFpzLEI1ZSksdHIoQmksNCwic2VsZWN0ZWRQbGF0Zm9ybVR5cGUiLHk4cixacyxINWUpLFpzPXRyKEJpLDAsIk9iVmlld1NlcnZpY2VzIixDOHIsWnMpLG9uKFpzLCJzdHlsZXMiLFtBaS5kZWZhdWx0U3R5bGVzLFdzLENyYGBdKSxjdChCaSwxLFpzKX0pO3ZhciBFOHI9e307UmUoRThyLHtPYlZpZXdOZXR3b3JrOigpPT52bH0pO3ZhciBfOHIsTDhyLCQ4cixEOHIsQThyLFhzLGo1ZSxWNWUsVTVlLHZsLFc1ZT1mKGFzeW5jKCk9PntnbCgpO2MzKCk7YXdhaXQgdTMoKTtNcygpO0E4cj1baGkoIm9iLXZpZXctbmV0d29yayIpXTt2bD1jbGFzcyBleHRlbmRzKEQ4cj1EaSwkOHI9WyRyKCldLEw4cj1bJHIoKV0sXzhyPVskcigpXSxEOHIpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtlYSh0aGlzLGo1ZSxjdChYcyw4LHRoaXMse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sY2VydGlmaWNhdGVzOltdfSkpLGN0KFhzLDExLHRoaXMpO2VhKHRoaXMsVjVlLGN0KFhzLDEyLHRoaXMsInByb3h5IikpLGN0KFhzLDE1LHRoaXMpO2VhKHRoaXMsVTVlLGN0KFhzLDE2LHRoaXMsIiIpKSxjdChYcywxOSx0aGlzKTtsZXQgcj14YS5zZWxlY3QoYT0+YSkuc3Vic2NyaWJlKGE9Pnt0aGlzLm5ldHdvcmtTdGF0ZT1hfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChyKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW3hhLmRpc3BhdGNoQWN0aW9uKEw1ZSxudWxsKSx4YS5kaXNwYXRjaEFjdGlvbihGdixudWxsKSx4YS5kaXNwYXRjaEFjdGlvbihpOHIsbnVsbCkseGEuZGlzcGF0Y2hBY3Rpb24objhyLG51bGwpLHhhLmRpc3BhdGNoQWN0aW9uKCQ1ZSxudWxsKSx4YS5kaXNwYXRjaEFjdGlvbihtTyxudWxsKV0pfXJlbmRlcigpe3N3aXRjaCh0aGlzLmN1cnJlbnRUYWIpe2Nhc2UiZG5zIjpyZXR1cm4gdGhpcy5yZW5kZXJEbnNWaWV3KCk7Y2FzZSJkb21haW5zIjpyZXR1cm4gdGhpcy5yZW5kZXJEb21haW5zVmlldygpO2Nhc2UiZG9tYWluLWRldGFpbCI6cmV0dXJuIHRoaXMucmVuZGVyRG9tYWluRGV0YWlsVmlldygpO2RlZmF1bHQ6cmV0dXJuIHRoaXMucmVuZGVyUHJveHlWaWV3KCl9fXJlbmRlclByb3h5Vmlldygpe2xldCByPXRoaXMubmV0d29ya1N0YXRlLnN0YXRzO3JldHVybiBocmAKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPk5ldHdvcms8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otbmV0d29yay1wcm94eS12aWV3CiAgICAgICAgLnByb3h5U3RhdHVzPSR7cj8ucHJveHk/LnJ1bm5pbmc/InJ1bm5pbmciOiJzdG9wcGVkIn0KICAgICAgICAucm91dGVDb3VudD0ke1N0cmluZyhyPy5wcm94eT8ucm91dGVzfHwwKX0KICAgICAgICAuY2VydGlmaWNhdGVDb3VudD0ke1N0cmluZyhyPy5wcm94eT8uY2VydGlmaWNhdGVzfHwwKX0KICAgICAgICAudGFyZ2V0Q291bnQ9JHtTdHJpbmcodGhpcy5uZXR3b3JrU3RhdGUudGFyZ2V0cy5sZW5ndGgpfQogICAgICAgIC50YXJnZXRzPSR7dGhpcy5uZXR3b3JrU3RhdGUudGFyZ2V0cy5tYXAoYT0+KHt0eXBlOmEudHlwZSxuYW1lOmEubmFtZSxkb21haW46YS5kb21haW4sdGFyZ2V0OmAke2EudGFyZ2V0SG9zdH06JHthLnRhcmdldFBvcnR9YCxzdGF0dXM6YS5zdGF0dXN9KSl9CiAgICAgICAgLmxvZ3M9JHtbXX0KICAgICAgICBAcmVmcmVzaD0keygpPT57eGEuZGlzcGF0Y2hBY3Rpb24oTDVlLG51bGwpLHhhLmRpc3BhdGNoQWN0aW9uKEZ2LG51bGwpfX0KICAgICAgPjwvc3otbmV0d29yay1wcm94eS12aWV3PgogICAgYH1yZW5kZXJEbnNWaWV3KCl7cmV0dXJuIGhyYAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RE5TIFJlY29yZHM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otbmV0d29yay1kbnMtdmlldwogICAgICAgIC5yZWNvcmRzPSR7dGhpcy5uZXR3b3JrU3RhdGUuZG5zUmVjb3Jkc30KICAgICAgICBAc3luYz0keygpPT57eGEuZGlzcGF0Y2hBY3Rpb24oczhyLG51bGwpfX0KICAgICAgICBAZGVsZXRlPSR7cj0+e2NvbnNvbGUubG9nKCJEZWxldGUgRE5TIHJlY29yZDoiLHIuZGV0YWlsKX19CiAgICAgID48L3N6LW5ldHdvcmstZG5zLXZpZXc+CiAgICBgfXJlbmRlckRvbWFpbnNWaWV3KCl7bGV0IHI9dGhpcy5uZXR3b3JrU3RhdGUuY2VydGlmaWNhdGVzO3JldHVybiBocmAKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkRvbWFpbnM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otbmV0d29yay1kb21haW5zLXZpZXcKICAgICAgICAuZG9tYWlucz0ke3RoaXMubmV0d29ya1N0YXRlLmRvbWFpbnMubWFwKGE9PntsZXQgaT1yLmZpbmQocz0+cy5jZXJ0RG9tYWluPT09YS5kb21haW4pLG49InBlbmRpbmciO3JldHVybiBpJiYoaS5pc1ZhbGlkP2kuZXhwaXJlc0F0JiZpLmV4cGlyZXNBdC1EYXRlLm5vdygpPDcyMCo2MCo2MCoxZTM/bj0iZXhwaXJpbmciOm49InZhbGlkIjpuPSJleHBpcmVkIikse2RvbWFpbjphLmRvbWFpbixwcm92aWRlcjoiY2xvdWRmbGFyZSIsc2VydmljZUNvdW50OmEuc2VydmljZXM/Lmxlbmd0aHx8MCxjZXJ0aWZpY2F0ZVN0YXR1czpufX0pfQogICAgICAgIEBzeW5jPSR7KCk9Pnt4YS5kaXNwYXRjaEFjdGlvbigkNWUsbnVsbCl9fQogICAgICAgIEB2aWV3PSR7YT0+e3RoaXMuc2VsZWN0ZWREb21haW49YS5kZXRhaWwuZG9tYWlufHxhLmRldGFpbCx0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbi1kZXRhaWwifX0KICAgICAgPjwvc3otbmV0d29yay1kb21haW5zLXZpZXc+CiAgICBgfXJlbmRlckRvbWFpbkRldGFpbFZpZXcoKXtsZXQgcj10aGlzLm5ldHdvcmtTdGF0ZS5kb21haW5zLmZpbmQoaT0+aS5kb21haW49PT10aGlzLnNlbGVjdGVkRG9tYWluKSxhPXRoaXMubmV0d29ya1N0YXRlLmNlcnRpZmljYXRlcy5maW5kKGk9PmkuY2VydERvbWFpbj09PXRoaXMuc2VsZWN0ZWREb21haW4pO3JldHVybiBocmAKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkRvbWFpbiBEZXRhaWxzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LWRvbWFpbi1kZXRhaWwtdmlldwogICAgICAgIC5kb21haW49JHtyP3tpZDp0aGlzLnNlbGVjdGVkRG9tYWluLG5hbWU6dGhpcy5zZWxlY3RlZERvbWFpbixzdGF0dXM6ImFjdGl2ZSIsdmVyaWZpZWQ6ITAsY3JlYXRlZEF0OiIifTpudWxsfQogICAgICAgIC5jZXJ0aWZpY2F0ZT0ke2E/e2lkOmEuZG9tYWluSWQsZG9tYWluOmEuY2VydERvbWFpbixpc3N1ZXI6IkxldCdzIEVuY3J5cHQiLHZhbGlkRnJvbTphLmlzc3VlZEF0P25ldyBEYXRlKGEuaXNzdWVkQXQpLnRvSVNPU3RyaW5nKCk6IiIsdmFsaWRVbnRpbDphLmV4cGlyZXNBdD9uZXcgRGF0ZShhLmV4cGlyZXNBdCkudG9JU09TdHJpbmcoKToiIixkYXlzUmVtYWluaW5nOmEuZXhwaXJlc0F0P01hdGguZmxvb3IoKGEuZXhwaXJlc0F0LURhdGUubm93KCkpLygxNDQwKjYwKjFlMykpOjAsc3RhdHVzOmEuaXNWYWxpZD8idmFsaWQiOiJleHBpcmVkIixhdXRvUmVuZXc6ITB9Om51bGx9CiAgICAgICAgLmRuc1JlY29yZHM9JHt0aGlzLm5ldHdvcmtTdGF0ZS5kbnNSZWNvcmRzLmZpbHRlcihpPT5pLmRvbWFpbj8uaW5jbHVkZXModGhpcy5zZWxlY3RlZERvbWFpbikpLm1hcChpPT4oe2lkOmkuaWR8fCIiLHR5cGU6aS50eXBlLG5hbWU6aS5kb21haW4sdmFsdWU6aS52YWx1ZSx0dGw6MzYwMH0pKX0KICAgICAgICBAcmVuZXctY2VydGlmaWNhdGU9JHsoKT0+e3hhLmRpc3BhdGNoQWN0aW9uKG84cix7ZG9tYWluOnRoaXMuc2VsZWN0ZWREb21haW59KX19CiAgICAgID48L3N6LWRvbWFpbi1kZXRhaWwtdmlldz4KICAgIGB9fTtYcz1zbihEOHIpLGo1ZT1uZXcgV2Vha01hcCxWNWU9bmV3IFdlYWtNYXAsVTVlPW5ldyBXZWFrTWFwLHRyKFhzLDQsIm5ldHdvcmtTdGF0ZSIsJDhyLHZsLGo1ZSksdHIoWHMsNCwiY3VycmVudFRhYiIsTDhyLHZsLFY1ZSksdHIoWHMsNCwic2VsZWN0ZWREb21haW4iLF84cix2bCxVNWUpLHZsPXRyKFhzLDAsIk9iVmlld05ldHdvcmsiLEE4cix2bCksb24odmwsInN0eWxlcyIsW0FpLmRlZmF1bHRTdHlsZXMsV3MsQ3JgYF0pLGN0KFhzLDEsdmwpfSk7dmFyIE84cj17fTtSZShPOHIse09iVmlld1JlZ2lzdHJpZXM6KCk9PkpjfSk7dmFyIEk4cixQOHIsTjhyLEY4cixRYyxHNWUsWTVlLEpjLFo1ZT1mKGFzeW5jKCk9PntnbCgpO2MzKCk7YXdhaXQgdTMoKTtNcygpO0Y4cj1baGkoIm9iLXZpZXctcmVnaXN0cmllcyIpXTtKYz1jbGFzcyBleHRlbmRzKE44cj1EaSxQOHI9WyRyKCldLEk4cj1bJHIoKV0sTjhyKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7ZWEodGhpcyxHNWUsY3QoUWMsOCx0aGlzLHt0b2tlbnM6W10scmVnaXN0cnlTdGF0dXM6bnVsbH0pKSxjdChRYywxMSx0aGlzKTtlYSh0aGlzLFk1ZSxjdChRYywxMix0aGlzLCJvbmVib3giKSksY3QoUWMsMTUsdGhpcyk7bGV0IHI9WG8uc2VsZWN0KGE9PmEpLnN1YnNjcmliZShhPT57dGhpcy5yZWdpc3RyaWVzU3RhdGU9YX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocil9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IFhvLmRpc3BhdGNoQWN0aW9uKGdPLG51bGwpfXJlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRUYWI9PT0iZXh0ZXJuYWwiP3RoaXMucmVuZGVyRXh0ZXJuYWxWaWV3KCk6dGhpcy5yZW5kZXJPbmVib3hWaWV3KCl9cmVuZGVyT25lYm94Vmlldygpe3JldHVybiBocmAKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPlJlZ2lzdHJpZXM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudAogICAgICAgIC5zdGF0dXM9JHsicnVubmluZyJ9CiAgICAgICAgLnJlZ2lzdHJ5VXJsPSR7ImxvY2FsaG9zdDo1MDAwIn0KICAgICAgICBAbWFuYWdlLXRva2Vucz0keygpPT57R3MuZGlzcGF0Y2hBY3Rpb24oQ3Use3ZpZXc6InRva2VucyJ9KX19CiAgICAgID48L3N6LXJlZ2lzdHJ5LWFkdmVydGlzZW1lbnQ+CiAgICBgfXJlbmRlckV4dGVybmFsVmlldygpe3JldHVybiBocmAKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkV4dGVybmFsIFJlZ2lzdHJpZXM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldwogICAgICAgIC5yZWdpc3RyaWVzPSR7W119CiAgICAgICAgQGFkZD0ke3I9Pntjb25zb2xlLmxvZygiQWRkIGV4dGVybmFsIHJlZ2lzdHJ5OiIsci5kZXRhaWwpfX0KICAgICAgPjwvc3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldz4KICAgIGB9fTtRYz1zbihOOHIpLEc1ZT1uZXcgV2Vha01hcCxZNWU9bmV3IFdlYWtNYXAsdHIoUWMsNCwicmVnaXN0cmllc1N0YXRlIixQOHIsSmMsRzVlKSx0cihRYyw0LCJjdXJyZW50VGFiIixJOHIsSmMsWTVlKSxKYz10cihRYywwLCJPYlZpZXdSZWdpc3RyaWVzIixGOHIsSmMpLG9uKEpjLCJzdHlsZXMiLFtBaS5kZWZhdWx0U3R5bGVzLFdzLENyYGBdKSxjdChRYywxLEpjKX0pO3ZhciBxOHI9e307UmUocThyLHtPYlZpZXdUb2tlbnM6KCk9PnAzfSk7dmFyIFI4cixCOHIsSDhyLFdmLFg1ZSxwMyxRNWU9Zihhc3luYygpPT57Z2woKTtjMygpO2F3YWl0IHUzKCk7TXMoKTtIOHI9W2hpKCJvYi12aWV3LXRva2VucyIpXTtwMz1jbGFzcyBleHRlbmRzKEI4cj1EaSxSOHI9WyRyKCldLEI4cil7Y29uc3RydWN0b3IoKXtzdXBlcigpO2VhKHRoaXMsWDVlLGN0KFdmLDgsdGhpcyx7dG9rZW5zOltdLHJlZ2lzdHJ5U3RhdHVzOm51bGx9KSksY3QoV2YsMTEsdGhpcyk7bGV0IHI9WG8uc2VsZWN0KGE9PmEpLnN1YnNjcmliZShhPT57dGhpcy5yZWdpc3RyaWVzU3RhdGU9YX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocil9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IFhvLmRpc3BhdGNoQWN0aW9uKGdPLG51bGwpfXJlbmRlcigpe2xldCByPXRoaXMucmVnaXN0cmllc1N0YXRlLnRva2Vucy5maWx0ZXIoaT0+aS50eXBlPT09Imdsb2JhbCIpLGE9dGhpcy5yZWdpc3RyaWVzU3RhdGUudG9rZW5zLmZpbHRlcihpPT5pLnR5cGU9PT0iY2kiKTtyZXR1cm4gaHJgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5Ub2tlbnM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otdG9rZW5zLXZpZXcKICAgICAgICAuZ2xvYmFsVG9rZW5zPSR7ci5tYXAoaT0+KHtpZDppLmlkLG5hbWU6aS5uYW1lLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OmkuY3JlYXRlZEF0LGxhc3RVc2VkOmkubGFzdFVzZWR9KSl9CiAgICAgICAgLmNpVG9rZW5zPSR7YS5tYXAoaT0+KHtpZDppLmlkLG5hbWU6aS5uYW1lLHR5cGU6ImNpIixzZXJ2aWNlOmkuc2VydmljZSxjcmVhdGVkQXQ6aS5jcmVhdGVkQXQsbGFzdFVzZWQ6aS5sYXN0VXNlZH0pKX0KICAgICAgICBAY3JlYXRlPSR7aT0+e1hvLmRpc3BhdGNoQWN0aW9uKGw4cix7dG9rZW46e25hbWU6YG5ldy0ke2kuZGV0YWlsLnR5cGV9LXRva2VuYCx0eXBlOmkuZGV0YWlsLnR5cGUscGVybWlzc2lvbnM6WyJwdWxsIl19fSl9fQogICAgICAgIEBkZWxldGU9JHtpPT57WG8uZGlzcGF0Y2hBY3Rpb24oYzhyLHt0b2tlbklkOmkuZGV0YWlsLmlkfHxpLmRldGFpbC50b2tlbklkfSl9fQogICAgICA+PC9zei10b2tlbnMtdmlldz4KICAgIGB9fTtXZj1zbihCOHIpLFg1ZT1uZXcgV2Vha01hcCx0cihXZiw0LCJyZWdpc3RyaWVzU3RhdGUiLFI4cixwMyxYNWUpLHAzPXRyKFdmLDAsIk9iVmlld1Rva2VucyIsSDhyLHAzKSxvbihwMywic3R5bGVzIixbQWkuZGVmYXVsdFN0eWxlcyxXcyxDcmBgXSksY3QoV2YsMSxwMyl9KTt2YXIgRzhyPXt9O1JlKEc4cix7T2JWaWV3U2V0dGluZ3M6KCk9PmUwfSk7dmFyIGo4cixWOHIsVThyLFc4cixLYyxKNWUsSzVlLGUwLGVwZT1mKGFzeW5jKCk9PntnbCgpO2MzKCk7YXdhaXQgdTMoKTtNcygpO1c4cj1baGkoIm9iLXZpZXctc2V0dGluZ3MiKV07ZTA9Y2xhc3MgZXh0ZW5kcyhVOHI9RGksVjhyPVskcigpXSxqOHI9WyRyKCldLFU4cil7Y29uc3RydWN0b3IoKXtzdXBlcigpO2VhKHRoaXMsSjVlLGN0KEtjLDgsdGhpcyx7c2V0dGluZ3M6bnVsbCxiYWNrdXBQYXNzd29yZENvbmZpZ3VyZWQ6ITF9KSksY3QoS2MsMTEsdGhpcyk7ZWEodGhpcyxLNWUsY3QoS2MsMTIsdGhpcyx7aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfSkpLGN0KEtjLDE1LHRoaXMpO2xldCByPVpjLnNlbGVjdChpPT5pKS5zdWJzY3JpYmUoaT0+e3RoaXMuc2V0dGluZ3NTdGF0ZT1pfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChyKTtsZXQgYT1wMS5zZWxlY3QoaT0+aSkuc3Vic2NyaWJlKGk9Pnt0aGlzLmxvZ2luU3RhdGU9aX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2goYSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IFpjLmRpc3BhdGNoQWN0aW9uKEQ1ZSxudWxsKX1yZW5kZXIoKXtyZXR1cm4gaHJgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5TZXR0aW5nczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1zZXR0aW5ncy12aWV3CiAgICAgICAgLnNldHRpbmdzPSR7dGhpcy5zZXR0aW5nc1N0YXRlLnNldHRpbmdzfHx7ZGFya01vZGU6ITAsY2xvdWRmbGFyZVRva2VuOiIiLGNsb3VkZmxhcmVab25lSWQ6IiIsYXV0b1JlbmV3Q2VydHM6ITEscmVuZXdhbFRocmVzaG9sZDozMCxhY21lRW1haWw6IiIsaHR0cFBvcnQ6ODAsaHR0cHNQb3J0OjQ0Myxmb3JjZUh0dHBzOiExfX0KICAgICAgICAuY3VycmVudFVzZXI9JHt0aGlzLmxvZ2luU3RhdGUuaWRlbnRpdHk/LnVzZXJuYW1lfHwiYWRtaW4ifQogICAgICAgIEBzZXR0aW5nLWNoYW5nZT0ke3I9PntsZXR7a2V5OmEsdmFsdWU6aX09ci5kZXRhaWw7WmMuZGlzcGF0Y2hBY3Rpb24oQTVlLHtzZXR0aW5nczp7W2FdOml9fSl9fQogICAgICAgIEBzYXZlPSR7cj0+e1pjLmRpc3BhdGNoQWN0aW9uKEE1ZSx7c2V0dGluZ3M6ci5kZXRhaWx9KX19CiAgICAgICAgQGNoYW5nZS1wYXNzd29yZD0ke3I9Pntjb25zb2xlLmxvZygiQ2hhbmdlIHBhc3N3b3JkIHJlcXVlc3RlZDoiLHIuZGV0YWlsKX19CiAgICAgICAgQHJlc2V0PSR7KCk9PntaYy5kaXNwYXRjaEFjdGlvbihENWUsbnVsbCl9fQogICAgICA+PC9zei1zZXR0aW5ncy12aWV3PgogICAgYH19O0tjPXNuKFU4ciksSjVlPW5ldyBXZWFrTWFwLEs1ZT1uZXcgV2Vha01hcCx0cihLYyw0LCJzZXR0aW5nc1N0YXRlIixWOHIsZTAsSjVlKSx0cihLYyw0LCJsb2dpblN0YXRlIixqOHIsZTAsSzVlKSxlMD10cihLYywwLCJPYlZpZXdTZXR0aW5ncyIsVzhyLGUwKSxvbihlMCwic3R5bGVzIixbQWkuZGVmYXVsdFN0eWxlcyxXcyxDcmBgXSksY3QoS2MsMSxlMCl9KTtnbCgpO2F3YWl0IHUzKCk7dU8oKTtNcygpO3ZhciBZOHIsWjhyLFg4cixROHIsSjhyLEs4cixmMSx0cGUscnBlLGFwZSxpcGU7SzhyPVtoaSgib2ItYXBwLXNoZWxsIildO3ZhciB4bD1jbGFzcyBleHRlbmRzKEo4cj1EaSxROHI9WyRyKCldLFg4cj1bJHIoKV0sWjhyPVskcigpXSxZOHI9WyRyKCldLEo4cil7Y29uc3RydWN0b3IoKXtzdXBlcigpO2VhKHRoaXMsdHBlLGN0KGYxLDgsdGhpcyx7aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfSkpLGN0KGYxLDExLHRoaXMpO2VhKHRoaXMscnBlLGN0KGYxLDEyLHRoaXMse2FjdGl2ZVZpZXc6ImRhc2hib2FyZCIsYXV0b1JlZnJlc2g6ITAscmVmcmVzaEludGVydmFsOjNlNH0pKSxjdChmMSwxNSx0aGlzKTtlYSh0aGlzLGFwZSxjdChmMSwxNix0aGlzLCExKSksY3QoZjEsMTksdGhpcyk7ZWEodGhpcyxpcGUsY3QoZjEsMjAsdGhpcywiIikpLGN0KGYxLDIzLHRoaXMpO29uKHRoaXMsInZpZXdUYWJzIixbe25hbWU6IkRhc2hib2FyZCIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IE41ZSgpLnRoZW4oKCk9PnY4cikpLk9iVmlld0Rhc2hib2FyZCkoKX0se25hbWU6IlNlcnZpY2VzIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgcTVlKCkudGhlbigoKT0+VDhyKSkuT2JWaWV3U2VydmljZXMpKCl9LHtuYW1lOiJOZXR3b3JrIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgVzVlKCkudGhlbigoKT0+RThyKSkuT2JWaWV3TmV0d29yaykoKX0se25hbWU6IlJlZ2lzdHJpZXMiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBaNWUoKS50aGVuKCgpPT5POHIpKS5PYlZpZXdSZWdpc3RyaWVzKSgpfSx7bmFtZToiVG9rZW5zIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgUTVlKCkudGhlbigoKT0+cThyKSkuT2JWaWV3VG9rZW5zKSgpfSx7bmFtZToiU2V0dGluZ3MiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBlcGUoKS50aGVuKCgpPT5HOHIpKS5PYlZpZXdTZXR0aW5ncykoKX1dKTtvbih0aGlzLCJyZXNvbHZlZFZpZXdUYWJzIixbXSk7ZG9jdW1lbnQudGl0bGU9Ik9uZWJveCI7bGV0IHI9cDEuc2VsZWN0KGk9PmkpLnN1YnNjcmliZShpPT57dGhpcy5sb2dpblN0YXRlPWksaS5pc0xvZ2dlZEluJiZYYy5kaXNwYXRjaEFjdGlvbihVZixudWxsKX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocik7bGV0IGE9R3Muc2VsZWN0KGk9PmkpLnN1YnNjcmliZShpPT57dGhpcy51aVN0YXRlPWksdGhpcy5zeW5jQXBwZGFzaFZpZXcoaS5hY3RpdmVWaWV3KX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2goYSl9cmVuZGVyKCl7cmV0dXJuIGhyYAogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGVlcy1zaW1wbGUtbG9naW4gbmFtZT0iT25lYm94Ij4KICAgICAgICAgIDxkZWVzLXNpbXBsZS1hcHBkYXNoCiAgICAgICAgICAgIG5hbWU9Ik9uZWJveCIKICAgICAgICAgICAgLnZpZXdUYWJzPSR7dGhpcy5yZXNvbHZlZFZpZXdUYWJzfQogICAgICAgICAgPgogICAgICAgICAgPC9kZWVzLXNpbXBsZS1hcHBkYXNoPgogICAgICAgIDwvZGVlcy1zaW1wbGUtbG9naW4+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLnJlc29sdmVkVmlld1RhYnM9YXdhaXQgUHJvbWlzZS5hbGwodGhpcy52aWV3VGFicy5tYXAoYXN5bmMgbj0+KHtuYW1lOm4ubmFtZSxlbGVtZW50OmF3YWl0IG4uZWxlbWVudH0pKSksdGhpcy5yZXF1ZXN0VXBkYXRlKCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgcj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1zaW1wbGUtbG9naW4iKTtyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImxvZ2luIixuPT57dGhpcy5sb2dpbihuLmRldGFpbC5kYXRhLnVzZXJuYW1lLG4uZGV0YWlsLmRhdGEucGFzc3dvcmQpfSk7bGV0IGE9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc2ltcGxlLWFwcGRhc2giKTtpZihhJiYoYS5hZGRFdmVudExpc3RlbmVyKCJ2aWV3LXNlbGVjdCIsbj0+e2xldCBzPW4uZGV0YWlsLnZpZXcubmFtZS50b0xvd2VyQ2FzZSgpO0dzLmRpc3BhdGNoQWN0aW9uKEN1LHt2aWV3OnN9KX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9nb3V0Iixhc3luYygpPT57YXdhaXQgcDEuZGlzcGF0Y2hBY3Rpb24ocE8sbnVsbCl9KSksYSYmdGhpcy5yZXNvbHZlZFZpZXdUYWJzLmxlbmd0aD4wKXtsZXQgbj10aGlzLnJlc29sdmVkVmlld1RhYnMuZmluZChzPT5zLm5hbWUudG9Mb3dlckNhc2UoKT09PXRoaXMudWlTdGF0ZS5hY3RpdmVWaWV3KXx8dGhpcy5yZXNvbHZlZFZpZXdUYWJzWzBdO2F3YWl0IGEubG9hZFZpZXcobil9bGV0IGk9cDEuZ2V0U3RhdGUoKTtpZihpLmlkZW50aXR5Py5qd3QpaWYoaS5pZGVudGl0eS5leHBpcmVzQXQ+RGF0ZS5ub3coKSl0cnl7bGV0IHM9YXdhaXQgbmV3IE10LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFN5c3RlbVN0YXR1cyIpLmZpcmUoe2lkZW50aXR5OmkuaWRlbnRpdHl9KTtYYy5zZXRTdGF0ZSh7c3RhdHVzOnMuc3RhdHVzfSksdGhpcy5sb2dpblN0YXRlPWksciYmYXdhaXQgci5zd2l0Y2hUb1Nsb3R0ZWRDb250ZW50KCl9Y2F0Y2gobil7Y29uc29sZS53YXJuKCJTdG9yZWQgc2Vzc2lvbiBpbnZhbGlkLCByZXR1cm5pbmcgdG8gbG9naW46IixuKSxhd2FpdCBwMS5kaXNwYXRjaEFjdGlvbihwTyxudWxsKX1lbHNlIGF3YWl0IHAxLmRpc3BhdGNoQWN0aW9uKHBPLG51bGwpfWFzeW5jIGxvZ2luKHIsYSl7bGV0IGk9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2Usbj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1zaW1wbGUtbG9naW4iKSxzPW4/LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpO3MmJnMuc2V0U3RhdHVzKCJwZW5kaW5nIiwiTG9nZ2luZyBpbi4uLiIpLChhd2FpdCBwMS5kaXNwYXRjaEFjdGlvbihHcHIse3VzZXJuYW1lOnIscGFzc3dvcmQ6YX0pKS5pZGVudGl0eT8ocyYmcy5zZXRTdGF0dXMoInN1Y2Nlc3MiLCJMb2dnZWQgaW4hIiksbiYmYXdhaXQgbi5zd2l0Y2hUb1Nsb3R0ZWRDb250ZW50KCksYXdhaXQgWGMuZGlzcGF0Y2hBY3Rpb24oVWYsbnVsbCkpOnMmJihzLnNldFN0YXR1cygiZXJyb3IiLCJMb2dpbiBmYWlsZWQhIiksYXdhaXQgaS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDJlMykscy5yZXNldCgpKX1zeW5jQXBwZGFzaFZpZXcocil7bGV0IGE9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXNpbXBsZS1hcHBkYXNoIik7aWYoIWF8fHRoaXMucmVzb2x2ZWRWaWV3VGFicy5sZW5ndGg9PT0wKXJldHVybjtsZXQgaT10aGlzLnJlc29sdmVkVmlld1RhYnMuZmluZChuPT5uLm5hbWUudG9Mb3dlckNhc2UoKT09PXIpO2kmJmEubG9hZFZpZXcoaSl9fTtmMT1zbihKOHIpLHRwZT1uZXcgV2Vha01hcCxycGU9bmV3IFdlYWtNYXAsYXBlPW5ldyBXZWFrTWFwLGlwZT1uZXcgV2Vha01hcCx0cihmMSw0LCJsb2dpblN0YXRlIixROHIseGwsdHBlKSx0cihmMSw0LCJ1aVN0YXRlIixYOHIseGwscnBlKSx0cihmMSw0LCJsb2dpbkxvYWRpbmciLFo4cix4bCxhcGUpLHRyKGYxLDQsImxvZ2luRXJyb3IiLFk4cix4bCxpcGUpLHhsPXRyKGYxLDAsIk9iQXBwU2hlbGwiLEs4cix4bCksb24oeGwsInN0eWxlcyIsW0FpLmRlZmF1bHRTdHlsZXMsQ3JgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgIH0KICAgIGBdKSxjdChmMSwxLHhsKTtjMygpO041ZSgpO3E1ZSgpO1c1ZSgpO1o1ZSgpO1E1ZSgpO2VwZSgpO2dsKCk7TXMoKTt4Ny5yZW5kZXIoaHJgCiAgPG9iLWFwcC1zaGVsbD48L29iLWFwcC1zaGVsbD4KYCxkb2N1bWVudC5ib2R5KTsKLyohIEJ1bmRsZWQgbGljZW5zZSBpbmZvcm1hdGlvbjoKCkBsaXQvcmVhY3RpdmUtZWxlbWVudC9jc3MtdGFnLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvY3NzLXRhZy5qczoKICAoKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiAgICopCgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvcmVhY3RpdmUtZWxlbWVudC5qczoKbGl0LWh0bWwvbGl0LWh0bWwuanM6CmxpdC1lbGVtZW50L2xpdC1lbGVtZW50LmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9wcm9wZXJ0eS5qczoKbGl0LWh0bWwvZGlyZWN0aXZlLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3Vuc2FmZS1odG1sLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9jdXN0b20tZWxlbWVudC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvc3RhdGUuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL2V2ZW50LW9wdGlvbnMuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL2Jhc2UuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hbGwuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LWFzeW5jLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3NpZ25lZC1ub2Rlcy5qczoKbGl0LWh0bWwvYXN5bmMtZGlyZWN0aXZlLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3VudGlsLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL2FzeW5jLXJlcGxhY2UuanM6CmxpdC1odG1sL2RpcmVjdGl2ZXMvYXN5bmMtYXBwZW5kLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3JlcGVhdC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L3JlYWN0aXZlLWVsZW1lbnQuanM6CmxpdC1odG1sL2xpdC1odG1sLmpzOgpsaXQtZWxlbWVudC9saXQtZWxlbWVudC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcHJvcGVydHkuanM6CmxpdC1odG1sL2RpcmVjdGl2ZS5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy91bnNhZmUtaHRtbC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvY3VzdG9tLWVsZW1lbnQuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3N0YXRlLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9ldmVudC1vcHRpb25zLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9iYXNlLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcXVlcnktYWxsLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3luYy5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtbm9kZXMuanM6CmxpdC1odG1sL2FzeW5jLWRpcmVjdGl2ZS5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy91bnRpbC5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy9hc3luYy1yZXBsYWNlLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL2FzeW5jLWFwcGVuZC5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy9yZXBlYXQuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKbGl0LWh0bWwvaXMtc2VydmVyLmpzOgpsaXQtaHRtbC9pcy1zZXJ2ZXIuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAyMiBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKc3dlZXQtc2Nyb2xsL3N3ZWV0LXNjcm9sbC5qczoKc3dlZXQtc2Nyb2xsL3N3ZWV0LXNjcm9sbC5qczoKICAoKiEgQHByZXNlcnZlIHN3ZWV0LXNjcm9sbCB2NC4wLjAgLSB0c3V5b3NoaXdhZGEgfCBNSVQgTGljZW5zZSAqKQogICgqISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZQogICAgICB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZQogICAgICBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogIAogICAgICBUSElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZCiAgICAgIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRUQKICAgICAgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwKICAgICAgTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC4KICAKICAgICAgU2VlIHRoZSBBcGFjaGUgVmVyc2lvbiAyLjAgTGljZW5zZSBmb3Igc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zCiAgICAgIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKikKCmxpdC1odG1sL3N0YXRpYy5qczoKbGl0LWh0bWwvZGlyZWN0aXZlLWhlbHBlcnMuanM6CmxpdC1odG1sL3N0YXRpYy5qczoKbGl0LWh0bWwvZGlyZWN0aXZlLWhlbHBlcnMuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAyMCBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtZWxlbWVudHMuanM6CmxpdC1odG1sL2RpcmVjdGl2ZXMvcHJpdmF0ZS1hc3luYy1oZWxwZXJzLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL2tleWVkLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3NpZ25lZC1lbGVtZW50cy5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy9wcml2YXRlLWFzeW5jLWhlbHBlcnMuanM6CmxpdC1odG1sL2RpcmVjdGl2ZXMva2V5ZWQuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAyMSBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlL2luZGV4Lm1qczoKQGZvcnRhd2Vzb21lL2ZyZWUtYnJhbmRzLXN2Zy1pY29ucy9pbmRleC5tanM6CkBmb3J0YXdlc29tZS9mcmVlLXJlZ3VsYXItc3ZnLWljb25zL2luZGV4Lm1qczoKQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zL2luZGV4Lm1qczoKICAoKiEKICAgKiBGb250IEF3ZXNvbWUgRnJlZSA3LjIuMCBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbQogICAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpCiAgICogQ29weXJpZ2h0IDIwMjYgRm9udGljb25zLCBJbmMuCiAgICopCgpsdWNpZGUvZGlzdC9janMvbHVjaWRlLmpzOgogICgqKgogICAqIEBsaWNlbnNlIGx1Y2lkZSB2MC41NjQuMCAtIElTQwogICAqCiAgICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAgICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAgICopCgppYmFudG9vbHMvanNuZXh0L2liYW50b29scy5qczoKICAoKiEKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCBTYcWhYSBKb3ZhbmnEhwogICAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNb3ppbGxhIFB1YmxpYyBMaWNlbnNlLCBWZXJzaW9uIDIuMCBvciB0aGUgTUlUIGxpY2Vuc2UsCiAgICogYXQgeW91ciBvcHRpb24uIFRoaXMgZmlsZSBtYXkgbm90IGJlIGNvcGllZCwgbW9kaWZpZWQsIG9yIGRpc3RyaWJ1dGVkCiAgICogZXhjZXB0IGFjY29yZGluZyB0byB0aG9zZSB0ZXJtcy4KICAgKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiBTYcWhYSBKb3ZhbmnEhwogICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgb3IgTVBMLzIuMAogICAqKQogICgqKgogICAqIFZhbGlkYXRpb24sIGV4dHJhY3Rpb24gYW5kIGNyZWF0aW9uIG9mIElCQU4sIEJCQU4sIEJJQy9TV0lGVCBudW1iZXJzIHBsdXMgc29tZSBvdGhlciBoZWxwZnVsIHN0dWZmCiAgICogQHBhY2thZ2UgRG9jdW1lbnRhdGlvbgogICAqIEBhdXRob3IgU2HFoWEgSm92YW5pxIcKICAgKiBAbW9kdWxlIGliYW50b29scwogICAqIEB2ZXJzaW9uIDQuNS4xCiAgICogQGxpY2Vuc2UgTUlUIG9yIE1QTC0yLjAKICAgKiBAcHJlZmVycmVkCiAgICopCiovCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJ1bmRsZS0xNzcyNTM4NTcyNjkxLmpzLm1hcAo="
|
|
},
|
|
{
|
|
"path": "index.html",
|
|
"contentBase64": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhCiAgICAgIG5hbWU9InZpZXdwb3J0IgogICAgICBjb250ZW50PSJ1c2VyLXNjYWxhYmxlPTAsIGluaXRpYWwtc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEsIHdpZHRoPWRldmljZS13aWR0aCwgaGVpZ2h0PWRldmljZS1oZWlnaHQiCiAgICAvPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CiAgICA8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iIzAwMDAwMCIgLz4KICAgIDx0aXRsZT5PbmVib3g8L3RpdGxlPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2Fzc2V0YnJva2VyLmxvc3NsZXNzLm9uZS8iIGNyb3Nzb3JpZ2luPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Fzc2V0YnJva2VyLmxvc3NsZXNzLm9uZS9mb250cy9mb250cy5jc3MiPgogICAgPHN0eWxlPgogICAgICBodG1sIHsKICAgICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsKICAgICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgIH0KICAgICAgYm9keSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPG5vc2NyaXB0PgogICAgICA8cCBzdHlsZT0iY29sb3I6ICNmZmY7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogMTAwcHg7Ij4KICAgICAgICBKYXZhU2NyaXB0IGlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgT25lYm94IGRhc2hib2FyZC4KICAgICAgPC9wPgogICAgPC9ub3NjcmlwdD4KICA8L2JvZHk+CiAgPHNjcmlwdCBkZWZlciB0eXBlPSJtb2R1bGUiIHNyYz0iL2J1bmRsZS5qcyI+PC9zY3JpcHQ+CjwvaHRtbD4K"
|
|
}
|
|
];
|