(function(){ var adoptScript64 = 'dmFyIGFkb3B0QXBwPSgoKT0+e2xldCBJPW5ldyBjbGFzc3tpc0RlYnVnO2NvbnN0cnVjdG9yKCl7dGhpcy5pc0RlYnVnPSEhbG9jYWxTdG9yYWdlLmdldEl0ZW0oImRlYnVnIil9ZGVidWcoZSx0PSIiKXt0aGlzLmlzRGVidWcmJmNvbnNvbGUubG9nKCIlYyAtPSBBZE9wdCA9LSAiLCJiYWNrZ3JvdW5kOiBibHVlOyBjb2xvcjogd2hpdGUiLGUsdCl9d2FybmluZyhlLHQ9IiIsbz0hMSl7KHRoaXMuaXNEZWJ1Z3x8bykmJmNvbnNvbGUubG9nKCIlYyAtPSBBZE9wdCBXQVJOSU5HID0tICIsImJhY2tncm91bmQ6IHllbGxvdzsgY29sb3I6IGJsYWNrIixlLHQpfWVycm9yKGUsdD0iIixvPSExKXsodGhpcy5pc0RlYnVnfHxvKSYmY29uc29sZS5sb2coIiVjIC09IEFkT3B0IEVSUk9SID0tICIsImJhY2tncm91bmQ6IHJlZDsgY29sb3I6IHdoaXRlIixlLHQpfX0scz0oeT1TdHJpbmcuZnJvbUNoYXJDb2RlLGM9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IixkPXt9LHA9e2NvbXByZXNzVG9CYXNlNjQ6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4iIjt2YXIgdD1wLl9jb21wcmVzcyhlLDYsZnVuY3Rpb24oZSl7cmV0dXJuIGMuY2hhckF0KGUpfSk7c3dpdGNoKHQubGVuZ3RoJTQpe2RlZmF1bHQ6Y2FzZSAwOnJldHVybiB0O2Nhc2UgMTpyZXR1cm4gdCsiPT09IjtjYXNlIDI6cmV0dXJuIHQrIj09IjtjYXNlIDM6cmV0dXJuIHQrIj0ifX0sZGVjb21wcmVzc0Zyb21CYXNlNjQ6ZnVuY3Rpb24ocil7cmV0dXJuIG51bGw9PXI/IiI6IiI9PXI/bnVsbDpwLl9kZWNvbXByZXNzKHI/Lmxlbmd0aCwzMixmdW5jdGlvbihlKXt2YXIgdD1jLGU9ci5jaGFyQXQoZSk7aWYoIWRbdF0pe2RbdF09e307Zm9yKHZhciBvPTA7bzx0Lmxlbmd0aDtvKyspZFt0XVt0LmNoYXJBdChvKV09b31yZXR1cm4gZFt0XVtlXX0pfSxfY29tcHJlc3M6ZnVuY3Rpb24oZSx0LG8pe2lmKG51bGw9PWUpcmV0dXJuIiI7Zm9yKHZhciByLGksbixhLHM9e30sbD17fSxjPSIiLGQ9MixwPTMsdT0yLGc9W10sbT0wLGY9MCxoPTA7aDxlLmxlbmd0aDtoKz0xKWlmKG49ZS5jaGFyQXQoaCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsbil8fChzW25dPXArKyxsW25dPSEwKSxhPWMrbixPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocyxhKSljPWE7ZWxzZXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCxjKSl7aWYoYy5jaGFyQ29kZUF0KDApPDI1Nil7Zm9yKHI9MDtyPHU7cisrKW08PD0xLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKztmb3IoaT1jLmNoYXJDb2RlQXQoMCkscj0wO3I8ODtyKyspbT1tPDwxfDEmaSxmPT10LTE/KGY9MCxnLnB1c2gobyhtKSksbT0wKTpmKyssaT4+PTF9ZWxzZXtmb3IoaT0xLHI9MDtyPHU7cisrKW09bTw8MXxpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPTA7Zm9yKGk9Yy5jaGFyQ29kZUF0KDApLHI9MDtyPDE2O3IrKyltPW08PDF8MSZpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPj49MX0wPT0tLWQmJihkPU1hdGgucG93KDIsdSksdSsrKSxkZWxldGUgbFtjXX1lbHNlIGZvcihpPXNbY10scj0wO3I8dTtyKyspbT1tPDwxfDEmaSxmPT10LTE/KGY9MCxnLnB1c2gobyhtKSksbT0wKTpmKyssaT4+PTE7MD09LS1kJiYoZD1NYXRoLnBvdygyLHUpLHUrKyksc1thXT1wKyssYz1TdHJpbmcobil9aWYoIiIhPT1jKXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCxjKSl7aWYoYy5jaGFyQ29kZUF0KDApPDI1Nil7Zm9yKHI9MDtyPHU7cisrKW08PD0xLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKztmb3IoaT1jLmNoYXJDb2RlQXQoMCkscj0wO3I8ODtyKyspbT1tPDwxfDEmaSxmPT10LTE/KGY9MCxnLnB1c2gobyhtKSksbT0wKTpmKyssaT4+PTF9ZWxzZXtmb3IoaT0xLHI9MDtyPHU7cisrKW09bTw8MXxpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPTA7Zm9yKGk9Yy5jaGFyQ29kZUF0KDApLHI9MDtyPDE2O3IrKyltPW08PDF8MSZpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPj49MX0wPT0tLWQmJihkPU1hdGgucG93KDIsdSksdSsrKSxkZWxldGUgbFtjXX1lbHNlIGZvcihpPXNbY10scj0wO3I8dTtyKyspbT1tPDwxfDEmaSxmPT10LTE/KGY9MCxnLnB1c2gobyhtKSksbT0wKTpmKyssaT4+PTE7MD09LS1kJiYoZD1NYXRoLnBvdygyLHUpLHUrKyl9Zm9yKGk9MixyPTA7cjx1O3IrKyltPW08PDF8MSZpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPj49MTtmb3IoOzspe2lmKG08PD0xLGY9PXQtMSl7Zy5wdXNoKG8obSkpO2JyZWFrfWYrK31yZXR1cm4gZy5qb2luKCIiKX0sX2RlY29tcHJlc3M6ZnVuY3Rpb24oZSx0LG8pe2Zvcih2YXIgcixpLG4sYSxzLGwsYz1bXSxkPTQscD00LHU9MyxnPSIiLG09W10sZj17dmFsOm8oMCkscG9zaXRpb246dCxpbmRleDoxfSxoPTA7aDwzO2grPTEpY1toXT1oO2ZvcihpPTAsYT1NYXRoLnBvdygyLDIpLHM9MTtzIT1hOyluPWYudmFsJmYucG9zaXRpb24sZi5wb3NpdGlvbj4+PTEsMD09Zi5wb3NpdGlvbiYmKGYucG9zaXRpb249dCxmLnZhbD1vKGYuaW5kZXgrKykpLGl8PSgwPG4/MTowKSpzLHM8PD0xO3N3aXRjaChpKXtjYXNlIDA6Zm9yKGk9MCxhPU1hdGgucG93KDIsOCkscz0xO3MhPWE7KW49Zi52YWwmZi5wb3NpdGlvbixmLnBvc2l0aW9uPj49MSwwPT1mLnBvc2l0aW9uJiYoZi5wb3NpdGlvbj10LGYudmFsPW8oZi5pbmRleCsrKSksaXw9KDA8bj8xOjApKnMsczw8PTE7bD15KGkpO2JyZWFrO2Nhc2UgMTpmb3IoaT0wLGE9TWF0aC5wb3coMiwxNikscz0xO3MhPWE7KW49Zi52YWwmZi5wb3NpdGlvbixmLnBvc2l0aW9uPj49MSwwPT1mLnBvc2l0aW9uJiYoZi5wb3NpdGlvbj10LGYudmFsPW8oZi5pbmRleCsrKSksaXw9KDA8bj8xOjApKnMsczw8PTE7bD15KGkpO2JyZWFrO2Nhc2UgMjpyZXR1cm4iIn1mb3Iocj1jWzNdPWwsbS5wdXNoKGwpOzspe2lmKGU8Zi5pbmRleClyZXR1cm4iIjtmb3IoaT0wLGE9TWF0aC5wb3coMix1KSxzPTE7cyE9YTspbj1mLnZhbCZmLnBvc2l0aW9uLGYucG9zaXRpb24+Pj0xLDA9PWYucG9zaXRpb24mJihmLnBvc2l0aW9uPXQsZi52YWw9byhmLmluZGV4KyspKSxpfD0oMDxuPzE6MCkqcyxzPDw9MTtzd2l0Y2gobD1pKXtjYXNlIDA6Zm9yKGk9MCxhPU1hdGgucG93KDIsOCkscz0xO3MhPWE7KW49Zi52YWwmZi5wb3NpdGlvbixmLnBvc2l0aW9uPj49MSwwPT1mLnBvc2l0aW9uJiYoZi5wb3NpdGlvbj10LGYudmFsPW8oZi5pbmRleCsrKSksaXw9KDA8bj8xOjApKnMsczw8PTE7Y1twKytdPXkoaSksbD1wLTEsZC0tO2JyZWFrO2Nhc2UgMTpmb3IoaT0wLGE9TWF0aC5wb3coMiwxNikscz0xO3MhPWE7KW49Zi52YWwmZi5wb3NpdGlvbixmLnBvc2l0aW9uPj49MSwwPT1mLnBvc2l0aW9uJiYoZi5wb3NpdGlvbj10LGYudmFsPW8oZi5pbmRleCsrKSksaXw9KDA8bj8xOjApKnMsczw8PTE7Y1twKytdPXkoaSksbD1wLTEsZC0tO2JyZWFrO2Nhc2UgMjpyZXR1cm4gbS5qb2luKCIiKX1pZigwPT1kJiYoZD1NYXRoLnBvdygyLHUpLHUrKyksY1tsXSlnPWNbbF07ZWxzZXtpZihsIT09cClyZXR1cm4gbnVsbDtnPXIrci5jaGFyQXQoMCl9bS5wdXNoKGcpLGNbcCsrXT1yK2cuY2hhckF0KDApLHI9ZywwPT0tLWQmJihkPU1hdGgucG93KDIsdSksdSsrKX19fSk7dmFyIHksYyxkLHAsUixPLE0sbSx6LFgsZWUsZix3LE4sUzsoZT1SPVJ8fHt9KS5iZ0NvbG9yPSJiZ0NvbG9yIixlLnByaW1hcnlDb2xvcj0icHJpbWFyeUNvbG9yIixlLnRleHRDb2xvcj0idGV4dENvbG9yIiwoZT1PPU98fHt9KS53ZWI9IndlYiIsZS5tb2JpbGU9Im1vYmlsZSIsKGU9TT1NfHx7fSkuT3Blbj0ib3BlbiIsZS5IaWRkZW49ImhpZGRlbiIsZS5QcmVmZXJlbmNlcz0icHJlZmVyZW5jZXMiLGUuQ2FyZD0iY2FyZCIsZS5DbG9zZWQ9ImNsb3NlZCIsKGU9bT1tfHx7fSkuQWRvcHQ9ImFkb3B0IixlLkNvb2tpZT0iY29va2llIixlLkxvY2s9ImxvY2siLChlPXo9enx8e30pLkluaXQ9IkluaXQiLGUuQmFsbENsaWNrPSJCYWxsQ2xpY2siLGUuUHJlZnM9IlByZWZzIixlLkFjY2VwdEFsbD0iQWNjZXB0QWxsIixlLkFjY2VwdFNvbWU9IkFjY2VwdFNvbWUiLGUuUmVqZWN0QWxsPSJSZWplY3RBbGwiLGUuTG9hZD0iTG9hZCIsZS5DbG9zZWQ9IkNsb3NlZCIsZS5PcGVuZWQ9Ik9wZW5lZCIsZS5PcHRpb25zT3BlbmVkPSJPcHRpb25zLW9wZW5lZCIsZS5IaWRlQnV0dG9uPSJIaWRlQnV0dG9uIixlLkRvTm90U2VsbD0iRG9Ob3RTZWxsIiwoZT1YPVh8fHt9KS5HRFBSPSJnZHByIixlLkNOSUw9ImNuaWwiLGUubkZBRFA9Im5mYWRwIixlLlVLX0dEUFI9InVrLWdkcHIiLGUuTEdQRD0ibGdwZCIsZS5QSVBFREE9InBpcGVkYSIsZS5MQVdfMjU9Imxhdy0yNSIsZS5QSVBBPSJwaXBhIixlLlREUFNBPSJ0ZHBzYSIsZS5GREJSPSJmZGJyIixlLk9DUEE9Im9jcGEiLGUuQ1BBPSJjcGEiLGUuUERQPSJwZHAiLGUuQ0NQQT0iY2NwYSIsZS5VQ1BBPSJ1Y3BhIixlLlZDUEE9InZjcGEiLGUuQ1REUEE9ImN0ZHBhIixlLkRQRFBBPSJkcGRwYSIsZS5QRFBMPSJwZHBsIixlLkFQUEk9ImFwcGkiLGUuUERQQV9NQUxBU0lBPSJwZHBhLW1hbGFzaWEiLGUuUERQQV9USEFJTEFORElBPSJwZHBhLXRoYWlsYW5kaWEiLGUuUElQTD0icGlwbCIsZS5QT1BJQT0icG9waWEiLGUuQVBBPSJhcGEiLChlPWVlPWVlfHx7fSkuRXVyb3BlPSJldXJvcGUiLGUuU291dGhBbWVyaWNhPSJzb3V0aEFtZXJpY2EiLGUuTm9ydGhBbWVyaWNhPSJub3J0aEFtZXJpY2EiLGUuQXNpYT0iYXNpYSIsZS5BZnJpY2E9ImFmcmljYSIsZS5PY2VhbmlhPSJvY2VhbmlhIjtsZXQgdGU9e1tlZS5FdXJvcGVdOltYLkdEUFIsWC5VS19HRFBSLFguQ05JTCxYLm5GQURQXSxbZWUuTm9ydGhBbWVyaWNhXTpbWC5DQ1BBLFguUElQRURBLFguTEFXXzI1LFguUElQQSxYLlREUFNBLFguRkRCUixYLk9DUEEsWC5DUEEsWC5QRFAsWC5VQ1BBLFguVkNQQSxYLkNURFBBXSxbZWUuQXNpYV06W1guRFBEUEEsWC5QRFBMLFguQVBQSSxYLlBEUEFfTUFMQVNJQSxYLlBEUEFfVEhBSUxBTkRJQSxYLlBJUExdLFtlZS5BZnJpY2FdOltYLlBPUElBXSxbZWUuT2NlYW5pYV06W1guQVBBXX0sb2U9W1guUElQRURBXSxDPSgoZT1mPWZ8fHt9KVtlLlJlcXVpcmVkPTFdPSJSZXF1aXJlZCIsZVtlLk1hcmtldGluZz0yXT0iTWFya2V0aW5nIixlW2UuU3RhdGlzdGljcz0zXT0iU3RhdGlzdGljcyIsZVtlLlBlcmZvcm1hbmNlPTRdPSJQZXJmb3JtYW5jZSIsZVtlLkZ1bmN0aW9uYWw9NV09IkZ1bmN0aW9uYWwiLHsyOiJtYXJrZXRpbmciLDM6InN0YXRpc3RpY3MiLDQ6InBlcmZvcm1hbmNlIiw1OiJmdW5jdGlvbmFsIn0pO2Z1bmN0aW9uIHYoZSl7cmV0dXJuKHY9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9KShlKX0oZT13PXd8fHt9KVtlLm1hcmtldGluZz0yXT0ibWFya2V0aW5nIixlW2Uuc3RhdGlzdGljcz0zXT0ic3RhdGlzdGljcyIsZVtlLnByZWZlcmVuY2VzPTRdPSJwcmVmZXJlbmNlcyIsZVtlLmZ1bmM9NV09ImZ1bmMiLChlPU49Tnx8e30pLkNvb2tpZXM9IkNvb2tpZXMiLGUuVmVuZG9ycz0iVmVuZG9ycyIsZS5DYXRlZ29yaWVzPSJDYXRlZ29yaWVzIiwoZT1TPVN8fHt9KS5GaXJzdFZpc2l0PSJ3OGJpSHplTiIsZS5BY2NlcHRBbGw9InRSS1E3ZEtRIixlLkFjY2VwdFBhcnRpYWw9ImZzaGZGaDBCIixlLlJlamVjdEFsbD0ibURxQ3Joa3AiO3ZhciBUPWZ1bmN0aW9uKCl7Zm9yKHZhciBlLHIsaT1bXSxuPXdpbmRvdyx0PW47dDspe3RyeXtpZih0LmZyYW1lcy5fX3RjZmFwaUxvY2F0b3Ipe2U9dDticmVha319Y2F0Y2goZSl7fWlmKHQ9PT1uLnRvcClicmVhazt0PXQucGFyZW50fWV8fChmdW5jdGlvbiBlKCl7dmFyIHQsbz1uLmRvY3VtZW50LHI9ISFuLmZyYW1lcy5fX3RjZmFwaUxvY2F0b3I7cmV0dXJuIHJ8fChvLmJvZHk/KCh0PW8uY3JlYXRlRWxlbWVudCgiaWZyYW1lIikpLnN0eWxlLmNzc1RleHQ9ImRpc3BsYXk6bm9uZSIsdC5uYW1lPSJfX3RjZmFwaUxvY2F0b3IiLG8uYm9keS5hcHBlbmRDaGlsZCh0KSk6c2V0VGltZW91dChlLDUpKSwhcn0oKSxuLl9fdGNmYXBpPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSksbz0wO288ZTtvKyspdFtvXT1hcmd1bWVudHNbb107aWYoIXQubGVuZ3RoKXJldHVybiBpOyJzZXRHZHByQXBwbGllcyI9PT10WzBdPzM8dC5sZW5ndGgmJjI9PT1wYXJzZUludCh0WzFdLDEwKSYmImJvb2xlYW4iPT10eXBlb2YgdFszXSYmKHI9dFszXSwiZnVuY3Rpb24iPT10eXBlb2YgdFsyXSkmJnRbMl0oInNldCIsITApOiJwaW5nIj09PXRbMF0/ImZ1bmN0aW9uIj09dHlwZW9mIHRbMl0mJnRbMl0oe2dkcHJBcHBsaWVzOnIsY21wTG9hZGVkOiExLGNtcFN0YXR1czoic3R1YiJ9KTppLnB1c2godCl9LG4uYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsZnVuY3Rpb24oZSl7dmFyIG89InN0cmluZyI9PXR5cGVvZiBlLmRhdGEsdD17fTtpZihvKXRyeXt0PUpTT04ucGFyc2UoZS5kYXRhKX1jYXRjaChlKXt9ZWxzZSB0PWUuZGF0YTt2YXIgcixpPSJvYmplY3QiPT09dih0KSYmbnVsbCE9PXQ/dC5fX3RjZmFwaUNhbGw6bnVsbDtpJiYocj1udWxsPT1lP3ZvaWQgMDplLnNvdXJjZSx3aW5kb3cuX190Y2ZhcGkoaS5jb21tYW5kLGkudmVyc2lvbixmdW5jdGlvbihlLHQpe2U9e19fdGNmYXBpUmV0dXJuOntyZXR1cm5WYWx1ZTplLHN1Y2Nlc3M6dCxjYWxsSWQ6aS5jYWxsSWR9fTtyJiZyLnBvc3RNZXNzYWdlJiZyLnBvc3RNZXNzYWdlKG8/SlNPTi5zdHJpbmdpZnkoZSk6ZSwiKiIpfSxpLnBhcmFtZXRlcikscj1udWxsKX0sITEpKX0sZT0idW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9O2Z1bmN0aW9uIEwoKXt0aHJvdyBuZXcgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiAkKCl7dGhyb3cgbmV3IEVycm9yKCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX12YXIgQT1MLEU9JDtmdW5jdGlvbiBQKHQpe2lmKEE9PT1zZXRUaW1lb3V0KXJldHVybiBzZXRUaW1lb3V0KHQsMCk7aWYoKEE9PT1MfHwhQSkmJnNldFRpbWVvdXQpcmV0dXJuKEE9c2V0VGltZW91dCkodCwwKTt0cnl7cmV0dXJuIEEodCwwKX1jYXRjaChlKXt0cnl7cmV0dXJuIEEuY2FsbChudWxsLHQsMCl9Y2F0Y2goZSl7cmV0dXJuIEEuY2FsbCh0aGlzLHQsMCl9fX0iZnVuY3Rpb24iPT10eXBlb2YgZS5zZXRUaW1lb3V0JiYoQT1zZXRUaW1lb3V0KSwiZnVuY3Rpb24iPT10eXBlb2YgZS5jbGVhclRpbWVvdXQmJihFPWNsZWFyVGltZW91dCk7dmFyIF8saj1bXSxWPSExLEY9LTE7ZnVuY3Rpb24gVSgpe1YmJl8mJihWPSExLF8ubGVuZ3RoP2o9Xy5jb25jYXQoaik6Rj0tMSxqLmxlbmd0aCkmJlcoKX1mdW5jdGlvbiBXKCl7aWYoIVYpe2Zvcih2YXIgZT1QKFUpLHQ9KFY9ITAsai5sZW5ndGgpO3Q7KXtmb3IoXz1qLGo9W107KytGPHQ7KV8mJl9bRl0ucnVuKCk7Rj0tMSx0PWoubGVuZ3RofV89bnVsbCxWPSExLCFmdW5jdGlvbih0KXtpZihFPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQodCk7aWYoKEU9PT0kfHwhRSkmJmNsZWFyVGltZW91dClyZXR1cm4oRT1jbGVhclRpbWVvdXQpKHQpO3RyeXtFKHQpfWNhdGNoKGUpe3RyeXtyZXR1cm4gRS5jYWxsKG51bGwsdCl9Y2F0Y2goZSl7cmV0dXJuIEUuY2FsbCh0aGlzLHQpfX19KGUpfX1mdW5jdGlvbiBIKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24gRygpe31ILnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfTt2YXIgcSxLLFEsSixaLFkscmUsYWUsQ2U9Ryx0PUcsdmU9RyxvPUcsa2U9RyxJZT1HLFNlPUcsVGU9ZS5wZXJmb3JtYW5jZXx8e30sTGU9VGUubm93fHxUZS5tb3pOb3d8fFRlLm1zTm93fHxUZS5vTm93fHxUZS53ZWJraXROb3d8fGZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9LCRlPW5ldyBEYXRlLEFlPXtuZXh0VGljazpmdW5jdGlvbihlKXt2YXIgdD1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpZm9yKHZhciBvPTE7bzxhcmd1bWVudHMubGVuZ3RoO28rKyl0W28tMV09YXJndW1lbnRzW29dO2oucHVzaChuZXcgSChlLHQpKSwxIT09ai5sZW5ndGh8fFZ8fFAoVyl9LHRpdGxlOiJicm93c2VyIixicm93c2VyOiEwLGVudjp7fSxhcmd2OltdLHZlcnNpb246IiIsdmVyc2lvbnM6e30sb246Q2UsYWRkTGlzdGVuZXI6dCxvbmNlOnZlLG9mZjpvLHJlbW92ZUxpc3RlbmVyOmtlLHJlbW92ZUFsbExpc3RlbmVyczpJZSxlbWl0OlNlLGJpbmRpbmc6ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCIpfSxjd2Q6ZnVuY3Rpb24oKXtyZXR1cm4iLyJ9LGNoZGlyOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkIil9LHVtYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIDB9LGhydGltZTpmdW5jdGlvbihlKXt2YXIgdD0uMDAxKkxlLmNhbGwoVGUpLG89TWF0aC5mbG9vcih0KSx0PU1hdGguZmxvb3IodCUxKjFlOSk7cmV0dXJuIGUmJihvLT1lWzBdLCh0LT1lWzFdKTwwKSYmKG8tLSx0Kz0xZTkpLFtvLHRdfSxwbGF0Zm9ybToiYnJvd3NlciIscmVsZWFzZTp7fSxjb25maWc6e30sdXB0aW1lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlLSRlKS8xZTN9fSxFZT0oZT17ZXhwb3J0czp7fX0scT1mdW5jdGlvbigpe3JldHVybiByPVtmdW5jdGlvbihlLHQsbyl7ZS5leHBvcnRzPW8oMSl9LGZ1bmN0aW9uKGUsdCxvKXt2YXIgcj1vKDIpLGk9bygzKSxuPW8oNCksYT1vKDIyKTtmdW5jdGlvbiBzKGUpe3ZhciBlPW5ldyBuKGUpLHQ9aShuLnByb3RvdHlwZS5yZXF1ZXN0LGUpO3JldHVybiByLmV4dGVuZCh0LG4ucHJvdG90eXBlLGUpLHIuZXh0ZW5kKHQsZSksdH12YXIgbD1zKG8oMTApKTtsLkF4aW9zPW4sbC5jcmVhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHMoYShsLmRlZmF1bHRzLGUpKX0sbC5DYW5jZWw9bygyMyksbC5DYW5jZWxUb2tlbj1vKDI0KSxsLmlzQ2FuY2VsPW8oOSksbC5hbGw9ZnVuY3Rpb24oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUpfSxsLnNwcmVhZD1vKDI1KSxsLmlzQXhpb3NFcnJvcj1vKDI2KSxlLmV4cG9ydHM9bCxlLmV4cG9ydHMuZGVmYXVsdD1sfSxmdW5jdGlvbihlLHQsbyl7dmFyIGk9bygzKSxyPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09ci5jYWxsKGUpfWZ1bmN0aW9uIGEoZSl7cmV0dXJuIHZvaWQgMD09PWV9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gbnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZX1mdW5jdGlvbiBsKGUpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09ci5jYWxsKGUpJiYobnVsbD09PShlPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKSl8fGU9PT1PYmplY3QucHJvdG90eXBlKX1mdW5jdGlvbiBjKGUpe3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1yLmNhbGwoZSl9ZnVuY3Rpb24gZChlLHQpe2lmKG51bGwhPWUpaWYobihlPSJvYmplY3QiIT10eXBlb2YgZT9bZV06ZSkpZm9yKHZhciBvPTAscj1lLmxlbmd0aDtvPHI7bysrKXQuY2FsbChudWxsLGVbb10sbyxlKTtlbHNlIGZvcih2YXIgaSBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpJiZ0LmNhbGwobnVsbCxlW2ldLGksZSl9ZS5leHBvcnRzPXtpc0FycmF5Om4saXNBcnJheUJ1ZmZlcjpmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheUJ1ZmZlcl0iPT09ci5jYWxsKGUpfSxpc0J1ZmZlcjpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9PWUmJiFhKGUpJiZudWxsIT09ZS5jb25zdHJ1Y3RvciYmIWEoZS5jb25zdHJ1Y3RvcikmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmNvbnN0cnVjdG9yLmlzQnVmZmVyJiZlLmNvbnN0cnVjdG9yLmlzQnVmZmVyKGUpfSxpc0Zvcm1EYXRhOmZ1bmN0aW9uKGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJmUgaW5zdGFuY2VvZiBGb3JtRGF0YX0saXNBcnJheUJ1ZmZlclZpZXc6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9InVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyhlKTplJiZlLmJ1ZmZlciYmZS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcn0saXNTdHJpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfSxpc051bWJlcjpmdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV9LGlzT2JqZWN0OnMsaXNQbGFpbk9iamVjdDpsLGlzVW5kZWZpbmVkOmEsaXNEYXRlOmZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IERhdGVdIj09PXIuY2FsbChlKX0saXNGaWxlOmZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEZpbGVdIj09PXIuY2FsbChlKX0saXNCbG9iOmZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEJsb2JdIj09PXIuY2FsbChlKX0saXNGdW5jdGlvbjpjLGlzU3RyZWFtOmZ1bmN0aW9uKGUpe3JldHVybiBzKGUpJiZjKGUucGlwZSl9LGlzVVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgVVJMU2VhcmNoUGFyYW1zJiZlIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zfSxpc1N0YW5kYXJkQnJvd3NlckVudjpmdW5jdGlvbigpe3JldHVybigidW5kZWZpbmVkIj09dHlwZW9mIG5hdmlnYXRvcnx8IlJlYWN0TmF0aXZlIiE9PW5hdmlnYXRvci5wcm9kdWN0JiYiTmF0aXZlU2NyaXB0IiE9PW5hdmlnYXRvci5wcm9kdWN0JiYiTlMiIT09bmF2aWdhdG9yLnByb2R1Y3QpJiYidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudH0sZm9yRWFjaDpkLG1lcmdlOmZ1bmN0aW9uIG8oKXt2YXIgcj17fTtmdW5jdGlvbiBlKGUsdCl7bChyW3RdKSYmbChlKT9yW3RdPW8oclt0XSxlKTpsKGUpP3JbdF09byh7fSxlKTpuKGUpP3JbdF09ZS5zbGljZSgpOnJbdF09ZX1mb3IodmFyIHQ9MCxpPWFyZ3VtZW50cy5sZW5ndGg7dDxpO3QrKylkKGFyZ3VtZW50c1t0XSxlKTtyZXR1cm4gcn0sZXh0ZW5kOmZ1bmN0aW9uKG8sZSxyKXtyZXR1cm4gZChlLGZ1bmN0aW9uKGUsdCl7b1t0XT1yJiYiZnVuY3Rpb24iPT10eXBlb2YgZT9pKGUscik6ZX0pLG99LHRyaW06ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvXlxzKi8sIiIpLnJlcGxhY2UoL1xzKiQvLCIiKX0sc3RyaXBCT006ZnVuY3Rpb24oZSl7cmV0dXJuIGU9NjUyNzk9PT1lLmNoYXJDb2RlQXQoMCk/ZS5zbGljZSgxKTplfX19LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKG8scil7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSx0PTA7dDxlLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuIG8uYXBwbHkocixlKX19fSxmdW5jdGlvbihlLHQsbyl7dmFyIHI9bygyKSxpPW8oNSksbj1vKDYpLGE9byg3KSxzPW8oMjIpO2Z1bmN0aW9uIGwoZSl7dGhpcy5kZWZhdWx0cz1lLHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyBuLHJlc3BvbnNlOm5ldyBufX1sLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKGUpeyJzdHJpbmciPT10eXBlb2YgZT8oZT1hcmd1bWVudHNbMV18fHt9KS51cmw9YXJndW1lbnRzWzBdOmU9ZXx8e30sKGU9cyh0aGlzLmRlZmF1bHRzLGUpKS5tZXRob2Q/ZS5tZXRob2Q9ZS5tZXRob2QudG9Mb3dlckNhc2UoKTp0aGlzLmRlZmF1bHRzLm1ldGhvZD9lLm1ldGhvZD10aGlzLmRlZmF1bHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpOmUubWV0aG9kPSJnZXQiO3ZhciB0PVthLHZvaWQgMF0sbz1Qcm9taXNlLnJlc29sdmUoZSk7Zm9yKHRoaXMuaW50ZXJjZXB0b3JzLnJlcXVlc3QuZm9yRWFjaChmdW5jdGlvbihlKXt0LnVuc2hpZnQoZS5mdWxmaWxsZWQsZS5yZWplY3RlZCl9KSx0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QucHVzaChlLmZ1bGZpbGxlZCxlLnJlamVjdGVkKX0pO3QubGVuZ3RoOylvPW8udGhlbih0LnNoaWZ0KCksdC5zaGlmdCgpKTtyZXR1cm4gb30sbC5wcm90b3R5cGUuZ2V0VXJpPWZ1bmN0aW9uKGUpe3JldHVybiBlPXModGhpcy5kZWZhdWx0cyxlKSxpKGUudXJsLGUucGFyYW1zLGUucGFyYW1zU2VyaWFsaXplcikucmVwbGFjZSgvXlw/LywiIil9LHIuZm9yRWFjaChbImRlbGV0ZSIsImdldCIsImhlYWQiLCJvcHRpb25zIl0sZnVuY3Rpb24obyl7bC5wcm90b3R5cGVbb109ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5yZXF1ZXN0KHModHx8e30se21ldGhvZDpvLHVybDplLGRhdGE6KHR8fHt9KS5kYXRhfSkpfX0pLHIuZm9yRWFjaChbInBvc3QiLCJwdXQiLCJwYXRjaCJdLGZ1bmN0aW9uKHIpe2wucHJvdG90eXBlW3JdPWZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KHMob3x8e30se21ldGhvZDpyLHVybDplLGRhdGE6dH0pKX19KSxlLmV4cG9ydHM9bH0sZnVuY3Rpb24oZSx0LG8pe3ZhciBpPW8oMik7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGUpLnJlcGxhY2UoLyUzQS9naSwiOiIpLnJlcGxhY2UoLyUyNC9nLCIkIikucmVwbGFjZSgvJTJDL2dpLCIsIikucmVwbGFjZSgvJTIwL2csIisiKS5yZXBsYWNlKC8lNUIvZ2ksIlsiKS5yZXBsYWNlKC8lNUQvZ2ksIl0iKX1lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG8pe3ZhciByO3JldHVybiB0JiYobz1vP28odCk6aS5pc1VSTFNlYXJjaFBhcmFtcyh0KT90LnRvU3RyaW5nKCk6KHI9W10saS5mb3JFYWNoKHQsZnVuY3Rpb24oZSx0KXtudWxsIT1lJiYoaS5pc0FycmF5KGUpP3QrPSJbXSI6ZT1bZV0saS5mb3JFYWNoKGUsZnVuY3Rpb24oZSl7aS5pc0RhdGUoZSk/ZT1lLnRvSVNPU3RyaW5nKCk6aS5pc09iamVjdChlKSYmKGU9SlNPTi5zdHJpbmdpZnkoZSkpLHIucHVzaChuKHQpKyI9IituKGUpKX0pKX0pLHIuam9pbigiJiIpKSkmJigtMSE9PSh0PWUuaW5kZXhPZigiIyIpKSYmKGU9ZS5zbGljZSgwLHQpKSxlKz0oLTE9PT1lLmluZGV4T2YoIj8iKT8iPyI6IiYiKStvKSxlfX0sZnVuY3Rpb24oZSx0LG8pe3ZhciByPW8oMik7ZnVuY3Rpb24gaSgpe3RoaXMuaGFuZGxlcnM9W119aS5wcm90b3R5cGUudXNlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuaGFuZGxlcnMucHVzaCh7ZnVsZmlsbGVkOmUscmVqZWN0ZWQ6dH0pLHRoaXMuaGFuZGxlcnMubGVuZ3RoLTF9LGkucHJvdG90eXBlLmVqZWN0PWZ1bmN0aW9uKGUpe3RoaXMuaGFuZGxlcnNbZV0mJih0aGlzLmhhbmRsZXJzW2VdPW51bGwpfSxpLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKHQpe3IuZm9yRWFjaCh0aGlzLmhhbmRsZXJzLGZ1bmN0aW9uKGUpe251bGwhPT1lJiZ0KGUpfSl9LGUuZXhwb3J0cz1pfSxmdW5jdGlvbihlLHQsbyl7dmFyIHI9bygyKSxpPW8oOCksbj1vKDkpLGE9bygxMCk7ZnVuY3Rpb24gcyhlKXtlLmNhbmNlbFRva2VuJiZlLmNhbmNlbFRva2VuLnRocm93SWZSZXF1ZXN0ZWQoKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHModCksdC5oZWFkZXJzPXQuaGVhZGVyc3x8e30sdC5kYXRhPWkodC5kYXRhLHQuaGVhZGVycyx0LnRyYW5zZm9ybVJlcXVlc3QpLHQuaGVhZGVycz1yLm1lcmdlKHQuaGVhZGVycy5jb21tb258fHt9LHQuaGVhZGVyc1t0Lm1ldGhvZF18fHt9LHQuaGVhZGVycyksci5mb3JFYWNoKFsiZGVsZXRlIiwiZ2V0IiwiaGVhZCIsInBvc3QiLCJwdXQiLCJwYXRjaCIsImNvbW1vbiJdLGZ1bmN0aW9uKGUpe2RlbGV0ZSB0LmhlYWRlcnNbZV19KSwodC5hZGFwdGVyfHxhLmFkYXB0ZXIpKHQpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIHModCksZS5kYXRhPWkoZS5kYXRhLGUuaGVhZGVycyx0LnRyYW5zZm9ybVJlc3BvbnNlKSxlfSxmdW5jdGlvbihlKXtyZXR1cm4gbihlKXx8KHModCksZSYmZS5yZXNwb25zZSYmKGUucmVzcG9uc2UuZGF0YT1pKGUucmVzcG9uc2UuZGF0YSxlLnJlc3BvbnNlLmhlYWRlcnMsdC50cmFuc2Zvcm1SZXNwb25zZSkpKSxQcm9taXNlLnJlamVjdChlKX0pfX0sZnVuY3Rpb24oZSx0LG8pe3ZhciByPW8oMik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsbyxlKXtyZXR1cm4gci5mb3JFYWNoKGUsZnVuY3Rpb24oZSl7dD1lKHQsbyl9KSx0fX0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuISghZXx8IWUuX19DQU5DRUxfXyl9fSxmdW5jdGlvbihlLHQsbyl7dmFyIHI9bygyKSxpPW8oMTEpLG49eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifTtmdW5jdGlvbiBhKGUsdCl7IXIuaXNVbmRlZmluZWQoZSkmJnIuaXNVbmRlZmluZWQoZVsiQ29udGVudC1UeXBlIl0pJiYoZVsiQ29udGVudC1UeXBlIl09dCl9dmFyIHMsbD17YWRhcHRlcjpzPSJ1bmRlZmluZWQiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3R8fHZvaWQgMCE9PUFlJiYiW29iamVjdCBwcm9jZXNzXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoQWUpP28oMTIpOnMsdHJhbnNmb3JtUmVxdWVzdDpbZnVuY3Rpb24oZSx0KXtyZXR1cm4gaSh0LCJBY2NlcHQiKSxpKHQsIkNvbnRlbnQtVHlwZSIpLHIuaXNGb3JtRGF0YShlKXx8ci5pc0FycmF5QnVmZmVyKGUpfHxyLmlzQnVmZmVyKGUpfHxyLmlzU3RyZWFtKGUpfHxyLmlzRmlsZShlKXx8ci5pc0Jsb2IoZSk/ZTpyLmlzQXJyYXlCdWZmZXJWaWV3KGUpP2UuYnVmZmVyOnIuaXNVUkxTZWFyY2hQYXJhbXMoZSk/KGEodCwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKSxlLnRvU3RyaW5nKCkpOnIuaXNPYmplY3QoZSk/KGEodCwiYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04IiksSlNPTi5zdHJpbmdpZnkoZSkpOmV9XSx0cmFuc2Zvcm1SZXNwb25zZTpbZnVuY3Rpb24oZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXRyeXtlPUpTT04ucGFyc2UoZSl9Y2F0Y2goZSl7fXJldHVybiBlfV0sdGltZW91dDowLHhzcmZDb29raWVOYW1lOiJYU1JGLVRPS0VOIix4c3JmSGVhZGVyTmFtZToiWC1YU1JGLVRPS0VOIixtYXhDb250ZW50TGVuZ3RoOi0xLG1heEJvZHlMZW5ndGg6LTEsdmFsaWRhdGVTdGF0dXM6ZnVuY3Rpb24oZSl7cmV0dXJuIDIwMDw9ZSYmZTwzMDB9LGhlYWRlcnM6e2NvbW1vbjp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLyoifX19O3IuZm9yRWFjaChbImRlbGV0ZSIsImdldCIsImhlYWQiXSxmdW5jdGlvbihlKXtsLmhlYWRlcnNbZV09e319KSxyLmZvckVhY2goWyJwb3N0IiwicHV0IiwicGF0Y2giXSxmdW5jdGlvbihlKXtsLmhlYWRlcnNbZV09ci5tZXJnZShuKX0pLGUuZXhwb3J0cz1sfSxmdW5jdGlvbihlLHQsbyl7dmFyIGk9bygyKTtlLmV4cG9ydHM9ZnVuY3Rpb24obyxyKXtpLmZvckVhY2gobyxmdW5jdGlvbihlLHQpe3QhPT1yJiZ0LnRvVXBwZXJDYXNlKCk9PT1yLnRvVXBwZXJDYXNlKCkmJihvW3JdPWUsZGVsZXRlIG9bdF0pfSl9fSxmdW5jdGlvbihlLHQsbyl7dmFyIGw9bygyKSxjPW8oMTMpLGQ9bygxNikscD1vKDUpLHU9bygxNyksZz1vKDIwKSxtPW8oMjEpLGY9bygxNCk7ZS5leHBvcnRzPWZ1bmN0aW9uKHMpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LG8pe3ZhciBlLHI9cy5kYXRhLGk9cy5oZWFkZXJzLG49KGwuaXNGb3JtRGF0YShyKSYmZGVsZXRlIGlbIkNvbnRlbnQtVHlwZSJdLG5ldyBYTUxIdHRwUmVxdWVzdCksYT0ocy5hdXRoJiYoYT1zLmF1dGgudXNlcm5hbWV8fCIiLGU9cy5hdXRoLnBhc3N3b3JkP3VuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChzLmF1dGgucGFzc3dvcmQpKToiIixpLkF1dGhvcml6YXRpb249IkJhc2ljICIrYnRvYShhKyI6IitlKSksdShzLmJhc2VVUkwscy51cmwpKTtpZihuLm9wZW4ocy5tZXRob2QudG9VcHBlckNhc2UoKSxwKGEscy5wYXJhbXMscy5wYXJhbXNTZXJpYWxpemVyKSwhMCksbi50aW1lb3V0PXMudGltZW91dCxuLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3ZhciBlO24mJjQ9PT1uLnJlYWR5U3RhdGUmJigwIT09bi5zdGF0dXN8fG4ucmVzcG9uc2VVUkwmJjA9PT1uLnJlc3BvbnNlVVJMLmluZGV4T2YoImZpbGU6IikpJiYoZT0iZ2V0QWxsUmVzcG9uc2VIZWFkZXJzImluIG4/ZyhuLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTpudWxsLGU9e2RhdGE6cy5yZXNwb25zZVR5cGUmJiJ0ZXh0IiE9PXMucmVzcG9uc2VUeXBlP24ucmVzcG9uc2U6bi5yZXNwb25zZVRleHQsc3RhdHVzOm4uc3RhdHVzLHN0YXR1c1RleHQ6bi5zdGF0dXNUZXh0LGhlYWRlcnM6ZSxjb25maWc6cyxyZXF1ZXN0Om59LGModCxvLGUpLG49bnVsbCl9LG4ub25hYm9ydD1mdW5jdGlvbigpe24mJihvKGYoIlJlcXVlc3QgYWJvcnRlZCIscywiRUNPTk5BQk9SVEVEIixuKSksbj1udWxsKX0sbi5vbmVycm9yPWZ1bmN0aW9uKCl7byhmKCJOZXR3b3JrIEVycm9yIixzLG51bGwsbikpLG49bnVsbH0sbi5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXt2YXIgZT0idGltZW91dCBvZiAiK3MudGltZW91dCsibXMgZXhjZWVkZWQiO3MudGltZW91dEVycm9yTWVzc2FnZSYmKGU9cy50aW1lb3V0RXJyb3JNZXNzYWdlKSxvKGYoZSxzLCJFQ09OTkFCT1JURUQiLG4pKSxuPW51bGx9LGwuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSYmKGU9KHMud2l0aENyZWRlbnRpYWxzfHxtKGEpKSYmcy54c3JmQ29va2llTmFtZT9kLnJlYWQocy54c3JmQ29va2llTmFtZSk6dm9pZCAwKSYmKGlbcy54c3JmSGVhZGVyTmFtZV09ZSksInNldFJlcXVlc3RIZWFkZXIiaW4gbiYmbC5mb3JFYWNoKGksZnVuY3Rpb24oZSx0KXt2b2lkIDA9PT1yJiYiY29udGVudC10eXBlIj09PXQudG9Mb3dlckNhc2UoKT9kZWxldGUgaVt0XTpuLnNldFJlcXVlc3RIZWFkZXIodCxlKX0pLGwuaXNVbmRlZmluZWQocy53aXRoQ3JlZGVudGlhbHMpfHwobi53aXRoQ3JlZGVudGlhbHM9ISFzLndpdGhDcmVkZW50aWFscykscy5yZXNwb25zZVR5cGUpdHJ5e24ucmVzcG9uc2VUeXBlPXMucmVzcG9uc2VUeXBlfWNhdGNoKGUpe2lmKCJqc29uIiE9PXMucmVzcG9uc2VUeXBlKXRocm93IGV9ImZ1bmN0aW9uIj09dHlwZW9mIHMub25Eb3dubG9hZFByb2dyZXNzJiZuLmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixzLm9uRG93bmxvYWRQcm9ncmVzcyksImZ1bmN0aW9uIj09dHlwZW9mIHMub25VcGxvYWRQcm9ncmVzcyYmbi51cGxvYWQmJm4udXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixzLm9uVXBsb2FkUHJvZ3Jlc3MpLHMuY2FuY2VsVG9rZW4mJnMuY2FuY2VsVG9rZW4ucHJvbWlzZS50aGVuKGZ1bmN0aW9uKGUpe24mJihuLmFib3J0KCksbyhlKSxuPW51bGwpfSkscj1yfHxudWxsLG4uc2VuZChyKX0pfX0sZnVuY3Rpb24oZSx0LG8pe3ZhciBpPW8oMTQpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbyl7dmFyIHI9by5jb25maWcudmFsaWRhdGVTdGF0dXM7by5zdGF0dXMmJnImJiFyKG8uc3RhdHVzKT90KGkoIlJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgIitvLnN0YXR1cyxvLmNvbmZpZyxudWxsLG8ucmVxdWVzdCxvKSk6ZShvKX19LGZ1bmN0aW9uKGUsdCxvKXt2YXIgbj1vKDE1KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG8scixpKXtlPW5ldyBFcnJvcihlKTtyZXR1cm4gbihlLHQsbyxyLGkpfX0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG8scixpKXtyZXR1cm4gZS5jb25maWc9dCxvJiYoZS5jb2RlPW8pLGUucmVxdWVzdD1yLGUucmVzcG9uc2U9aSxlLmlzQXhpb3NFcnJvcj0hMCxlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnttZXNzYWdlOnRoaXMubWVzc2FnZSxuYW1lOnRoaXMubmFtZSxkZXNjcmlwdGlvbjp0aGlzLmRlc2NyaXB0aW9uLG51bWJlcjp0aGlzLm51bWJlcixmaWxlTmFtZTp0aGlzLmZpbGVOYW1lLGxpbmVOdW1iZXI6dGhpcy5saW5lTnVtYmVyLGNvbHVtbk51bWJlcjp0aGlzLmNvbHVtbk51bWJlcixzdGFjazp0aGlzLnN0YWNrLGNvbmZpZzp0aGlzLmNvbmZpZyxjb2RlOnRoaXMuY29kZX19LGV9fSxmdW5jdGlvbihlLHQsbyl7dmFyIHM9bygyKTtlLmV4cG9ydHM9cy5pc1N0YW5kYXJkQnJvd3NlckVudigpP3t3cml0ZTpmdW5jdGlvbihlLHQsbyxyLGksbil7dmFyIGE9W107YS5wdXNoKGUrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh0KSkscy5pc051bWJlcihvKSYmYS5wdXNoKCJleHBpcmVzPSIrbmV3IERhdGUobykudG9HTVRTdHJpbmcoKSkscy5pc1N0cmluZyhyKSYmYS5wdXNoKCJwYXRoPSIrcikscy5pc1N0cmluZyhpKSYmYS5wdXNoKCJkb21haW49IitpKSwhMD09PW4mJmEucHVzaCgic2VjdXJlIiksZG9jdW1lbnQuY29va2llPWEuam9pbigiOyAiKX0scmVhZDpmdW5jdGlvbihlKXtlPWRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKCIoXnw7XFxzKikoIitlKyIpPShbXjtdKikiKSk7cmV0dXJuIGU/ZGVjb2RlVVJJQ29tcG9uZW50KGVbM10pOm51bGx9LHJlbW92ZTpmdW5jdGlvbihlKXt0aGlzLndyaXRlKGUsIiIsRGF0ZS5ub3coKS04NjRlNSl9fTp7d3JpdGU6ZnVuY3Rpb24oKXt9LHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKCl7fX19LGZ1bmN0aW9uKGUsdCxvKXt2YXIgcj1vKDE4KSxpPW8oMTkpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiBlJiYhcih0KT9pKGUsdCk6dH19LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybi9eKFthLXpdW2EtelxkXCtcLVwuXSo6KT9cL1wvL2kudGVzdChlKX19LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/ZS5yZXBsYWNlKC9cLyskLywiIikrIi8iK3QucmVwbGFjZSgvXlwvKy8sIiIpOmV9fSxmdW5jdGlvbihlLHQsbyl7dmFyIGk9bygyKSxuPVsiYWdlIiwiYXV0aG9yaXphdGlvbiIsImNvbnRlbnQtbGVuZ3RoIiwiY29udGVudC10eXBlIiwiZXRhZyIsImV4cGlyZXMiLCJmcm9tIiwiaG9zdCIsImlmLW1vZGlmaWVkLXNpbmNlIiwiaWYtdW5tb2RpZmllZC1zaW5jZSIsImxhc3QtbW9kaWZpZWQiLCJsb2NhdGlvbiIsIm1heC1mb3J3YXJkcyIsInByb3h5LWF1dGhvcml6YXRpb24iLCJyZWZlcmVyIiwicmV0cnktYWZ0ZXIiLCJ1c2VyLWFnZW50Il07ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0LG8scj17fTtyZXR1cm4gZSYmaS5mb3JFYWNoKGUuc3BsaXQoIlxuIiksZnVuY3Rpb24oZSl7bz1lLmluZGV4T2YoIjoiKSx0PWkudHJpbShlLnN1YnN0cigwLG8pKS50b0xvd2VyQ2FzZSgpLG89aS50cmltKGUuc3Vic3RyKG8rMSkpLCF0fHxyW3RdJiYwPD1uLmluZGV4T2YodCl8fChyW3RdPSJzZXQtY29va2llIj09PXQ/KHJbdF18fFtdKS5jb25jYXQoW29dKTpyW3RdP3JbdF0rIiwgIitvOm8pfSkscn19LGZ1bmN0aW9uKGUsdCxvKXt2YXIgcixpLG4sYT1vKDIpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIGkmJihuLnNldEF0dHJpYnV0ZSgiaHJlZiIsZSksZT1uLmhyZWYpLG4uc2V0QXR0cmlidXRlKCJocmVmIixlKSx7aHJlZjpuLmhyZWYscHJvdG9jb2w6bi5wcm90b2NvbD9uLnByb3RvY29sLnJlcGxhY2UoLzokLywiIik6IiIsaG9zdDpuLmhvc3Qsc2VhcmNoOm4uc2VhcmNoP24uc2VhcmNoLnJlcGxhY2UoL15cPy8sIiIpOiIiLGhhc2g6bi5oYXNoP24uaGFzaC5yZXBsYWNlKC9eIy8sIiIpOiIiLGhvc3RuYW1lOm4uaG9zdG5hbWUscG9ydDpuLnBvcnQscGF0aG5hbWU6Ii8iPT09bi5wYXRobmFtZS5jaGFyQXQoMCk/bi5wYXRobmFtZToiLyIrbi5wYXRobmFtZX19ZS5leHBvcnRzPWEuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT8oaT0vKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLHI9cyh3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24oZSl7ZT1hLmlzU3RyaW5nKGUpP3MoZSk6ZTtyZXR1cm4gZS5wcm90b2NvbD09PXIucHJvdG9jb2wmJmUuaG9zdD09PXIuaG9zdH0pOmZ1bmN0aW9uKCl7cmV0dXJuITB9fSxmdW5jdGlvbihlLHQsbyl7dmFyIGQ9bygyKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxvKXtvPW98fHt9O3ZhciByPXt9LGU9WyJ1cmwiLCJtZXRob2QiLCJkYXRhIl0saT1bImhlYWRlcnMiLCJhdXRoIiwicHJveHkiLCJwYXJhbXMiXSxuPVsiYmFzZVVSTCIsInRyYW5zZm9ybVJlcXVlc3QiLCJ0cmFuc2Zvcm1SZXNwb25zZSIsInBhcmFtc1NlcmlhbGl6ZXIiLCJ0aW1lb3V0IiwidGltZW91dE1lc3NhZ2UiLCJ3aXRoQ3JlZGVudGlhbHMiLCJhZGFwdGVyIiwicmVzcG9uc2VUeXBlIiwieHNyZkNvb2tpZU5hbWUiLCJ4c3JmSGVhZGVyTmFtZSIsIm9uVXBsb2FkUHJvZ3Jlc3MiLCJvbkRvd25sb2FkUHJvZ3Jlc3MiLCJkZWNvbXByZXNzIiwibWF4Q29udGVudExlbmd0aCIsIm1heEJvZHlMZW5ndGgiLCJtYXhSZWRpcmVjdHMiLCJ0cmFuc3BvcnQiLCJodHRwQWdlbnQiLCJodHRwc0FnZW50IiwiY2FuY2VsVG9rZW4iLCJzb2NrZXRQYXRoIiwicmVzcG9uc2VFbmNvZGluZyJdLGE9WyJ2YWxpZGF0ZVN0YXR1cyJdO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZC5pc1BsYWluT2JqZWN0KGUpJiZkLmlzUGxhaW5PYmplY3QodCk/ZC5tZXJnZShlLHQpOmQuaXNQbGFpbk9iamVjdCh0KT9kLm1lcmdlKHt9LHQpOmQuaXNBcnJheSh0KT90LnNsaWNlKCk6dH1mdW5jdGlvbiBsKGUpe2QuaXNVbmRlZmluZWQob1tlXSk/ZC5pc1VuZGVmaW5lZCh0W2VdKXx8KHJbZV09cyh2b2lkIDAsdFtlXSkpOnJbZV09cyh0W2VdLG9bZV0pfWQuZm9yRWFjaChlLGZ1bmN0aW9uKGUpe2QuaXNVbmRlZmluZWQob1tlXSl8fChyW2VdPXModm9pZCAwLG9bZV0pKX0pLGQuZm9yRWFjaChpLGwpLGQuZm9yRWFjaChuLGZ1bmN0aW9uKGUpe2QuaXNVbmRlZmluZWQob1tlXSk/ZC5pc1VuZGVmaW5lZCh0W2VdKXx8KHJbZV09cyh2b2lkIDAsdFtlXSkpOnJbZV09cyh2b2lkIDAsb1tlXSl9KSxkLmZvckVhY2goYSxmdW5jdGlvbihlKXtlIGluIG8/cltlXT1zKHRbZV0sb1tlXSk6ZSBpbiB0JiYocltlXT1zKHZvaWQgMCx0W2VdKSl9KTt2YXIgYz1lLmNvbmNhdChpKS5jb25jYXQobikuY29uY2F0KGEpLGU9T2JqZWN0LmtleXModCkuY29uY2F0KE9iamVjdC5rZXlzKG8pKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuLTE9PT1jLmluZGV4T2YoZSl9KTtyZXR1cm4gZC5mb3JFYWNoKGUsbCkscn19LGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbyhlKXt0aGlzLm1lc3NhZ2U9ZX1vLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJDYW5jZWwiKyh0aGlzLm1lc3NhZ2U/IjogIit0aGlzLm1lc3NhZ2U6IiIpfSxvLnByb3RvdHlwZS5fX0NBTkNFTF9fPSEwLGUuZXhwb3J0cz1vfSxmdW5jdGlvbihlLHQsbyl7dmFyIHI9bygyMyk7ZnVuY3Rpb24gaShlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uIik7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3Q9ZX0pO3ZhciB0LG89dGhpcztlKGZ1bmN0aW9uKGUpe28ucmVhc29ufHwoby5yZWFzb249bmV3IHIoZSksdChvLnJlYXNvbikpfSl9aS5wcm90b3R5cGUudGhyb3dJZlJlcXVlc3RlZD1mdW5jdGlvbigpe2lmKHRoaXMucmVhc29uKXRocm93IHRoaXMucmVhc29ufSxpLnNvdXJjZT1mdW5jdGlvbigpe3ZhciB0O3JldHVybnt0b2tlbjpuZXcgaShmdW5jdGlvbihlKXt0PWV9KSxjYW5jZWw6dH19LGUuZXhwb3J0cz1pfSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkobnVsbCxlKX19fSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJiEwPT09ZS5pc0F4aW9zRXJyb3J9fV0saT17fSxvLm09cixvLmM9aSxvLnA9IiIsbygwKTtmdW5jdGlvbiBvKGUpe3ZhciB0O3JldHVybihpW2VdfHwodD1pW2VdPXtleHBvcnRzOnt9LGlkOmUsbG9hZGVkOiExfSxyW2VdLmNhbGwodC5leHBvcnRzLHQsdC5leHBvcnRzLG8pLHQubG9hZGVkPSEwLHQpKS5leHBvcnRzfXZhciByLGl9LGUuZXhwb3J0cz1xKCksZS5leHBvcnRzKTtsZXQgUmU9e2Jhc2VVcmw6Imh0dHBzOi8vZGlzY2xhaW1lci1hcGkuZ29hZG9wdC5pbyJ9LmJhc2VVcmwsT2U9KGEscyxsLGMsZSk9PmU/bmV3IFByb21pc2UoYXN5bmMoZSx0KT0+e3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO28uc3R5bGUuZGlzcGxheT0ibm9uZSIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvKTt0cnl7dmFyIHI9IiIrUmUrcyxpPWM/bmV3IFJlcXVlc3Qocix7bWV0aG9kOmEsYm9keTpKU09OLnN0cmluZ2lmeShsKSxtb2RlOiJjb3JzIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pOm5ldyBSZXF1ZXN0KHIse21ldGhvZDphfSksbj1hd2FpdCBvLmNvbnRlbnRXaW5kb3c/LmZldGNoKGkpO24mJm4ub2s/ZShhd2FpdCBuLmpzb24oKSk6dChuZXcgRXJyb3IoIlJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzICIrbj8uc3RhdHVzKSl9Y2F0Y2goZSl7dChlKX1maW5hbGx5e2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobyl9fSk6RWUoe21ldGhvZDphLHVybDoiIitSZStzLGRhdGE6bCwuLi5jfSkudGhlbihlPT5Qcm9taXNlLnJlc29sdmUoZS5kYXRhKSkuY2F0Y2goZT0+UHJvbWlzZS5yZWplY3QoZSkpLERlPXtnZXQ6KGUsdCk9Pk9lKCJnZXQiLGUsUmVxdWVzdCxudWxsLHQpLHBvc3Q6KGUsdCxvLHIpPT5PZSgicG9zdCIsZSx0LG8scil9O2NsYXNzIEJlIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5uYW1lPSJEZWNvZGluZ0Vycm9yIn19Y2xhc3MgUGUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IkVuY29kaW5nRXJyb3IifX1jbGFzcyBfZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iR1ZMRXJyb3IifX1jbGFzcyBqZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCxvPSIiKXtzdXBlcihgaW52YWxpZCB2YWx1ZSAke3R9IHBhc3NlZCBmb3IgJHtlfSBgK28pLHRoaXMubmFtZT0iVENNb2RlbEVycm9yIn19Y2xhc3MgTmV7c3RhdGljIERJQ1Q9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iO3N0YXRpYyBSRVZFUlNFX0RJQ1Q9bmV3IE1hcChbWyJBIiwwXSxbIkIiLDFdLFsiQyIsMl0sWyJEIiwzXSxbIkUiLDRdLFsiRiIsNV0sWyJHIiw2XSxbIkgiLDddLFsiSSIsOF0sWyJKIiw5XSxbIksiLDEwXSxbIkwiLDExXSxbIk0iLDEyXSxbIk4iLDEzXSxbIk8iLDE0XSxbIlAiLDE1XSxbIlEiLDE2XSxbIlIiLDE3XSxbIlMiLDE4XSxbIlQiLDE5XSxbIlUiLDIwXSxbIlYiLDIxXSxbIlciLDIyXSxbIlgiLDIzXSxbIlkiLDI0XSxbIloiLDI1XSxbImEiLDI2XSxbImIiLDI3XSxbImMiLDI4XSxbImQiLDI5XSxbImUiLDMwXSxbImYiLDMxXSxbImciLDMyXSxbImgiLDMzXSxbImkiLDM0XSxbImoiLDM1XSxbImsiLDM2XSxbImwiLDM3XSxbIm0iLDM4XSxbIm4iLDM5XSxbIm8iLDQwXSxbInAiLDQxXSxbInEiLDQyXSxbInIiLDQzXSxbInMiLDQ0XSxbInQiLDQ1XSxbInUiLDQ2XSxbInYiLDQ3XSxbInciLDQ4XSxbIngiLDQ5XSxbInkiLDUwXSxbInoiLDUxXSxbIjAiLDUyXSxbIjEiLDUzXSxbIjIiLDU0XSxbIjMiLDU1XSxbIjQiLDU2XSxbIjUiLDU3XSxbIjYiLDU4XSxbIjciLDU5XSxbIjgiLDYwXSxbIjkiLDYxXSxbIi0iLDYyXSxbIl8iLDYzXV0pO3N0YXRpYyBCQVNJUz02O3N0YXRpYyBMQ009MjQ7c3RhdGljIGVuY29kZSh0KXtpZighL15bMC0xXSskLy50ZXN0KHQpKXRocm93IG5ldyBQZSgiSW52YWxpZCBiaXRGaWVsZCIpO3ZhciBlPXQubGVuZ3RoJXRoaXMuTENNO3QrPWU/IjAiLnJlcGVhdCh0aGlzLkxDTS1lKToiIjtsZXQgbz0iIjtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrPXRoaXMuQkFTSVMpbys9dGhpcy5ESUNUW3BhcnNlSW50KHQuc3Vic3RyKGUsdGhpcy5CQVNJUyksMildO3JldHVybiBvfXN0YXRpYyBkZWNvZGUodCl7aWYoIS9eW0EtWmEtejAtOVwtX10rJC8udGVzdCh0KSl0aHJvdyBuZXcgQmUoIkludmFsaWRseSBlbmNvZGVkIEJhc2U2NFVSTCBzdHJpbmciKTtsZXQgbz0iIjtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIHI9dGhpcy5SRVZFUlNFX0RJQ1QuZ2V0KHRbZV0pLnRvU3RyaW5nKDIpO28rPSIwIi5yZXBlYXQodGhpcy5CQVNJUy1yLmxlbmd0aCkrcn1yZXR1cm4gb319Y2xhc3MgVmV7c3RhdGljIGxhbmdTZXQ9bmV3IFNldChbIkFSIiwiQkciLCJCUyIsIkNBIiwiQ1MiLCJDWSIsIkRBIiwiREUiLCJFTCIsIkVOIiwiRVMiLCJFVCIsIkVVIiwiRkkiLCJGUiIsIkdMIiwiSEUiLCJISSIsIkhSIiwiSFUiLCJJRCIsIklUIiwiSkEiLCJLQSIsIktPIiwiTFQiLCJMViIsIk1LIiwiTVMiLCJNVCIsIk5MIiwiTk8iLCJQTCIsIlBULUJSIiwiUFQtUFQiLCJSTyIsIlJVIiwiU0siLCJTTCIsIlNRIiwiU1ItTEFUTiIsIlNSLUNZUkwiLCJTViIsIlNXIiwiVEgiLCJUTCIsIlRSIiwiVUsiLCJWSSIsIlpIIiwiWkgtSEFOVCJdKTtoYXMoZSl7cmV0dXJuIFZlLmxhbmdTZXQuaGFzKGUpfXBhcnNlTGFuZ3VhZ2UoZSl7dmFyIHQ9KGU9ZS50b1VwcGVyQ2FzZSgpKS5zcGxpdCgiLSIpWzBdO2lmKDI8PWUubGVuZ3RoJiYyPT10Lmxlbmd0aCl7aWYoVmUubGFuZ1NldC5oYXMoZSkpcmV0dXJuIGU7aWYoVmUubGFuZ1NldC5oYXModCkpcmV0dXJuIHQ7dmFyIG8scj10KyItIit0O2lmKFZlLmxhbmdTZXQuaGFzKHIpKXJldHVybiByO2ZvcihvIG9mIFZlLmxhbmdTZXQpaWYoLTEhPT1vLmluZGV4T2YoZSl8fC0xIT09by5pbmRleE9mKHQpKXJldHVybiBvfXRocm93IG5ldyBFcnJvcigidW5zdXBwb3J0ZWQgbGFuZ3VhZ2UgIitlKX1mb3JFYWNoKGUpe1ZlLmxhbmdTZXQuZm9yRWFjaChlKX1nZXQgc2l6ZSgpe3JldHVybiBWZS5sYW5nU2V0LnNpemV9fWNsYXNzIGx7c3RhdGljIGNtcElkPSJjbXBJZCI7c3RhdGljIGNtcFZlcnNpb249ImNtcFZlcnNpb24iO3N0YXRpYyBjb25zZW50TGFuZ3VhZ2U9ImNvbnNlbnRMYW5ndWFnZSI7c3RhdGljIGNvbnNlbnRTY3JlZW49ImNvbnNlbnRTY3JlZW4iO3N0YXRpYyBjcmVhdGVkPSJjcmVhdGVkIjtzdGF0aWMgc3VwcG9ydE9PQj0ic3VwcG9ydE9PQiI7c3RhdGljIGlzU2VydmljZVNwZWNpZmljPSJpc1NlcnZpY2VTcGVjaWZpYyI7c3RhdGljIGxhc3RVcGRhdGVkPSJsYXN0VXBkYXRlZCI7c3RhdGljIG51bUN1c3RvbVB1cnBvc2VzPSJudW1DdXN0b21QdXJwb3NlcyI7c3RhdGljIHBvbGljeVZlcnNpb249InBvbGljeVZlcnNpb24iO3N0YXRpYyBwdWJsaXNoZXJDb3VudHJ5Q29kZT0icHVibGlzaGVyQ291bnRyeUNvZGUiO3N0YXRpYyBwdWJsaXNoZXJDdXN0b21Db25zZW50cz0icHVibGlzaGVyQ3VzdG9tQ29uc2VudHMiO3N0YXRpYyBwdWJsaXNoZXJDdXN0b21MZWdpdGltYXRlSW50ZXJlc3RzPSJwdWJsaXNoZXJDdXN0b21MZWdpdGltYXRlSW50ZXJlc3RzIjtzdGF0aWMgcHVibGlzaGVyTGVnaXRpbWF0ZUludGVyZXN0cz0icHVibGlzaGVyTGVnaXRpbWF0ZUludGVyZXN0cyI7c3RhdGljIHB1Ymxpc2hlckNvbnNlbnRzPSJwdWJsaXNoZXJDb25zZW50cyI7c3RhdGljIHB1Ymxpc2hlclJlc3RyaWN0aW9ucz0icHVibGlzaGVyUmVzdHJpY3Rpb25zIjtzdGF0aWMgcHVycG9zZUNvbnNlbnRzPSJwdXJwb3NlQ29uc2VudHMiO3N0YXRpYyBwdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cz0icHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHMiO3N0YXRpYyBwdXJwb3NlT25lVHJlYXRtZW50PSJwdXJwb3NlT25lVHJlYXRtZW50IjtzdGF0aWMgc3BlY2lhbEZlYXR1cmVPcHRpbnM9InNwZWNpYWxGZWF0dXJlT3B0aW5zIjtzdGF0aWMgdXNlTm9uU3RhbmRhcmRUZXh0cz0idXNlTm9uU3RhbmRhcmRUZXh0cyI7c3RhdGljIHZlbmRvckNvbnNlbnRzPSJ2ZW5kb3JDb25zZW50cyI7c3RhdGljIHZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHM9InZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHMiO3N0YXRpYyB2ZW5kb3JMaXN0VmVyc2lvbj0idmVuZG9yTGlzdFZlcnNpb24iO3N0YXRpYyB2ZW5kb3JzQWxsb3dlZD0idmVuZG9yc0FsbG93ZWQiO3N0YXRpYyB2ZW5kb3JzRGlzY2xvc2VkPSJ2ZW5kb3JzRGlzY2xvc2VkIjtzdGF0aWMgdmVyc2lvbj0idmVyc2lvbiJ9Y2xhc3MgTWV7Y2xvbmUoKXtsZXQgbz1uZXcgdGhpcy5jb25zdHJ1Y3RvcjtyZXR1cm4gT2JqZWN0LmtleXModGhpcykuZm9yRWFjaChlPT57dmFyIHQ9dGhpcy5kZWVwQ2xvbmUodGhpc1tlXSk7dm9pZCAwIT09dCYmKG9bZV09dCl9KSxvfWRlZXBDbG9uZShlKXt2YXIgdD10eXBlb2YgZTtpZigibnVtYmVyIj09dHx8InN0cmluZyI9PXR8fCJib29sZWFuIj09dClyZXR1cm4gZTtpZihudWxsIT09ZSYmIm9iamVjdCI9PXQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLmNsb25lKXJldHVybiBlLmNsb25lKCk7aWYoZSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGUuZ2V0VGltZSgpKTtpZih2b2lkIDAhPT1lW1N5bWJvbC5pdGVyYXRvcl0pe3ZhciBvLHI9W107Zm9yKG8gb2YgZSlyLnB1c2godGhpcy5kZWVwQ2xvbmUobykpO3JldHVybiBlIGluc3RhbmNlb2YgQXJyYXk/cjpuZXcgZS5jb25zdHJ1Y3RvcihyKX12YXIgaSxuPXt9O2ZvcihpIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShpKSYmKG5baV09dGhpcy5kZWVwQ2xvbmUoZVtpXSkpO3JldHVybiBufX19KENlPUs9S3x8e30pW0NlLk5PVF9BTExPV0VEPTBdPSJOT1RfQUxMT1dFRCIsQ2VbQ2UuUkVRVUlSRV9DT05TRU5UPTFdPSJSRVFVSVJFX0NPTlNFTlQiLENlW0NlLlJFUVVJUkVfTEk9Ml09IlJFUVVJUkVfTEkiO2NsYXNzIHplIGV4dGVuZHMgTWV7c3RhdGljIGhhc2hTZXBhcmF0b3I9Ii0iO3B1cnBvc2VJZF87cmVzdHJpY3Rpb25UeXBlO2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx2b2lkIDAhPT1lJiYodGhpcy5wdXJwb3NlSWQ9ZSksdm9pZCAwIT09dCYmKHRoaXMucmVzdHJpY3Rpb25UeXBlPXQpfXN0YXRpYyB1bkhhc2goZSl7dmFyIHQ9ZS5zcGxpdCh0aGlzLmhhc2hTZXBhcmF0b3IpLG89bmV3IHplO2lmKDIhPT10Lmxlbmd0aCl0aHJvdyBuZXcgamUoImhhc2giLGUpO3JldHVybiBvLnB1cnBvc2VJZD1wYXJzZUludCh0WzBdLDEwKSxvLnJlc3RyaWN0aW9uVHlwZT1wYXJzZUludCh0WzFdLDEwKSxvfWdldCBoYXNoKCl7aWYodGhpcy5pc1ZhbGlkKCkpcmV0dXJuIiIrdGhpcy5wdXJwb3NlSWQremUuaGFzaFNlcGFyYXRvcit0aGlzLnJlc3RyaWN0aW9uVHlwZTt0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBoYXNoIGludmFsaWQgUHVycG9zZVJlc3RyaWN0aW9uIil9Z2V0IHB1cnBvc2VJZCgpe3JldHVybiB0aGlzLnB1cnBvc2VJZF99c2V0IHB1cnBvc2VJZChlKXt0aGlzLnB1cnBvc2VJZF89ZX1pc1ZhbGlkKCl7cmV0dXJuIE51bWJlci5pc0ludGVnZXIodGhpcy5wdXJwb3NlSWQpJiYwPHRoaXMucHVycG9zZUlkJiYodGhpcy5yZXN0cmljdGlvblR5cGU9PT1LLk5PVF9BTExPV0VEfHx0aGlzLnJlc3RyaWN0aW9uVHlwZT09PUsuUkVRVUlSRV9DT05TRU5UfHx0aGlzLnJlc3RyaWN0aW9uVHlwZT09PUsuUkVRVUlSRV9MSSl9aXNTYW1lQXMoZSl7cmV0dXJuIHRoaXMucHVycG9zZUlkPT09ZS5wdXJwb3NlSWQmJnRoaXMucmVzdHJpY3Rpb25UeXBlPT09ZS5yZXN0cmljdGlvblR5cGV9fWNsYXNzIEZlIGV4dGVuZHMgTWV7Yml0TGVuZ3RoPTA7bWFwPW5ldyBNYXA7Z3ZsXztoYXMoZSl7cmV0dXJuIHRoaXMubWFwLmhhcyhlKX1pc09rVG9IYXZlKGUsdCxvKXtsZXQgcj0hMDtpZih0aGlzLmd2bD8udmVuZG9ycyl7dmFyIGk9dGhpcy5ndmwudmVuZG9yc1tvXTtpZihpKWlmKGU9PT1LLk5PVF9BTExPV0VEKXI9aS5sZWdJbnRQdXJwb3Nlcy5pbmNsdWRlcyh0KXx8aS5wdXJwb3Nlcy5pbmNsdWRlcyh0KTtlbHNlIGlmKGkuZmxleGlibGVQdXJwb3Nlcy5sZW5ndGgpc3dpdGNoKGUpe2Nhc2UgSy5SRVFVSVJFX0NPTlNFTlQ6cj1pLmZsZXhpYmxlUHVycG9zZXMuaW5jbHVkZXModCkmJmkubGVnSW50UHVycG9zZXMuaW5jbHVkZXModCk7YnJlYWs7Y2FzZSBLLlJFUVVJUkVfTEk6cj1pLmZsZXhpYmxlUHVycG9zZXMuaW5jbHVkZXModCkmJmkucHVycG9zZXMuaW5jbHVkZXModCl9ZWxzZSByPSExO2Vsc2Ugcj0hMX1yZXR1cm4gcn1hZGQoZSx0KXt0aGlzLmlzT2tUb0hhdmUodC5yZXN0cmljdGlvblR5cGUsdC5wdXJwb3NlSWQsZSkmJih0PXQuaGFzaCx0aGlzLmhhcyh0KXx8KHRoaXMubWFwLnNldCh0LG5ldyBTZXQpLHRoaXMuYml0TGVuZ3RoPTApLHRoaXMubWFwLmdldCh0KS5hZGQoZSkpfXJlc3RyaWN0UHVycG9zZVRvTGVnYWxCYXNpcyhlKXt2YXIgdD1BcnJheS5mcm9tKHRoaXMuZ3ZsLnZlbmRvcklkcyksbz1lLmhhc2gscj10W3QubGVuZ3RoLTFdLGU9Wy4uLkFycmF5KHIpLmtleXMoKV0ubWFwKGU9PmUrMSk7aWYodGhpcy5oYXMobykpZm9yKGxldCBlPTE7ZTw9cjtlKyspdGhpcy5tYXAuZ2V0KG8pLmFkZChlKTtlbHNlIHRoaXMubWFwLnNldChvLG5ldyBTZXQoZSkpLHRoaXMuYml0TGVuZ3RoPTB9Z2V0VmVuZG9ycyhlKXtsZXQgbz1bXTtpZihlKXtlPWUuaGFzaDt0aGlzLmhhcyhlKSYmKG89QXJyYXkuZnJvbSh0aGlzLm1hcC5nZXQoZSkpKX1lbHNle2xldCB0PW5ldyBTZXQ7dGhpcy5tYXAuZm9yRWFjaChlPT57ZS5mb3JFYWNoKGU9Pnt0LmFkZChlKX0pfSksbz1BcnJheS5mcm9tKHQpfXJldHVybiBvLnNvcnQoKGUsdCk9PmUtdCl9Z2V0UmVzdHJpY3Rpb25UeXBlKGUsdCl7bGV0IG87cmV0dXJuIHRoaXMuZ2V0UmVzdHJpY3Rpb25zKGUpLmZvckVhY2goZT0+e2UucHVycG9zZUlkPT09dCYmKHZvaWQgMD09PW98fG8+ZS5yZXN0cmljdGlvblR5cGUpJiYobz1lLnJlc3RyaWN0aW9uVHlwZSl9KSxvfXZlbmRvckhhc1Jlc3RyaWN0aW9uKGUsdCl7bGV0IG89ITE7dmFyIHI9dGhpcy5nZXRSZXN0cmljdGlvbnMoZSk7Zm9yKGxldCBlPTA7ZTxyLmxlbmd0aCYmIW87ZSsrKW89dC5pc1NhbWVBcyhyW2VdKTtyZXR1cm4gb31nZXRNYXhWZW5kb3JJZCgpe2xldCB0PTA7cmV0dXJuIHRoaXMubWFwLmZvckVhY2goZT0+e3Q9TWF0aC5tYXgoQXJyYXkuZnJvbShlKVtlLnNpemUtMV0sdCl9KSx0fWdldFJlc3RyaWN0aW9ucyhvKXtsZXQgcj1bXTtyZXR1cm4gdGhpcy5tYXAuZm9yRWFjaCgoZSx0KT0+eyghb3x8ZS5oYXMobykpJiZyLnB1c2goemUudW5IYXNoKHQpKX0pLHJ9Z2V0UHVycG9zZXMoKXtsZXQgbz1uZXcgU2V0O3JldHVybiB0aGlzLm1hcC5mb3JFYWNoKChlLHQpPT57by5hZGQoemUudW5IYXNoKHQpLnB1cnBvc2VJZCl9KSxBcnJheS5mcm9tKG8pfXJlbW92ZShlLHQpe3ZhciB0PXQuaGFzaCxvPXRoaXMubWFwLmdldCh0KTtvJiYoby5kZWxldGUoZSksMD09by5zaXplKSYmKHRoaXMubWFwLmRlbGV0ZSh0KSx0aGlzLmJpdExlbmd0aD0wKX1zZXQgZ3ZsKGUpe3RoaXMuZ3ZsX3x8KHRoaXMuZ3ZsXz1lLHRoaXMubWFwLmZvckVhY2goKHQsZSk9PntsZXQgbz16ZS51bkhhc2goZSk7QXJyYXkuZnJvbSh0KS5mb3JFYWNoKGU9Pnt0aGlzLmlzT2tUb0hhdmUoby5yZXN0cmljdGlvblR5cGUsby5wdXJwb3NlSWQsZSl8fHQuZGVsZXRlKGUpfSl9KSl9Z2V0IGd2bCgpe3JldHVybiB0aGlzLmd2bF99aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5tYXAuc2l6ZX1nZXQgbnVtUmVzdHJpY3Rpb25zKCl7cmV0dXJuIHRoaXMubWFwLnNpemV9fSh0PVE9UXx8e30pLkNPUkU9ImNvcmUiLHQuVkVORE9SU19ESVNDTE9TRUQ9InZlbmRvcnNEaXNjbG9zZWQiLHQuVkVORE9SU19BTExPV0VEPSJ2ZW5kb3JzQWxsb3dlZCIsdC5QVUJMSVNIRVJfVEM9InB1Ymxpc2hlclRDIjtjbGFzcyBVZXtzdGF0aWMgSURfVE9fS0VZPVtRLkNPUkUsUS5WRU5ET1JTX0RJU0NMT1NFRCxRLlZFTkRPUlNfQUxMT1dFRCxRLlBVQkxJU0hFUl9UQ107c3RhdGljIEtFWV9UT19JRD17W1EuQ09SRV06MCxbUS5WRU5ET1JTX0RJU0NMT1NFRF06MSxbUS5WRU5ET1JTX0FMTE9XRURdOjIsW1EuUFVCTElTSEVSX1RDXTozfX1jbGFzcyBXZSBleHRlbmRzIE1le2JpdExlbmd0aD0wO21heElkXz0wO3NldF89bmV3IFNldDsqW1N5bWJvbC5pdGVyYXRvcl0oKXtmb3IobGV0IGU9MTtlPD10aGlzLm1heElkO2UrKyl5aWVsZFtlLHRoaXMuaGFzKGUpXX12YWx1ZXMoKXtyZXR1cm4gdGhpcy5zZXRfLnZhbHVlcygpfWdldCBtYXhJZCgpe3JldHVybiB0aGlzLm1heElkX31oYXMoZSl7cmV0dXJuIHRoaXMuc2V0Xy5oYXMoZSl9dW5zZXQoZSl7QXJyYXkuaXNBcnJheShlKT9lLmZvckVhY2goZT0+dGhpcy51bnNldChlKSk6Im9iamVjdCI9PXR5cGVvZiBlP3RoaXMudW5zZXQoT2JqZWN0LmtleXMoZSkubWFwKGU9Pk51bWJlcihlKSkpOih0aGlzLnNldF8uZGVsZXRlKE51bWJlcihlKSksdGhpcy5iaXRMZW5ndGg9MCxlPT09dGhpcy5tYXhJZCYmKHRoaXMubWF4SWRfPTAsdGhpcy5zZXRfLmZvckVhY2goZT0+e3RoaXMubWF4SWRfPU1hdGgubWF4KHRoaXMubWF4SWQsZSl9KSkpfWlzSW50TWFwKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZXZlcnkoZT0+TnVtYmVyLmlzSW50ZWdlcihwYXJzZUludChlLDEwKSkmJnRoaXMuaXNWYWxpZE51bWJlcih0W2VdLmlkKSYmdm9pZCAwIT09dFtlXS5uYW1lKX1pc1ZhbGlkTnVtYmVyKGUpe3JldHVybiAwPHBhcnNlSW50KGUsMTApfWlzU2V0KGUpe2xldCB0PSExO3JldHVybiB0PWUgaW5zdGFuY2VvZiBTZXQ/QXJyYXkuZnJvbShlKS5ldmVyeSh0aGlzLmlzVmFsaWROdW1iZXIpOnR9c2V0KGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpZS5mb3JFYWNoKGU9PnRoaXMuc2V0KGUpKTtlbHNlIGlmKHRoaXMuaXNTZXQoZSkpdGhpcy5zZXQoQXJyYXkuZnJvbShlKSk7ZWxzZSBpZih0aGlzLmlzSW50TWFwKGUpKXRoaXMuc2V0KE9iamVjdC5rZXlzKGUpLm1hcChlPT5OdW1iZXIoZSkpKTtlbHNle2lmKCF0aGlzLmlzVmFsaWROdW1iZXIoZSkpdGhyb3cgbmV3IGplKCJzZXQoKSIsZSwibXVzdCBiZSBwb3NpdGl2ZSBpbnRlZ2VyIGFycmF5LCBwb3NpdGl2ZSBpbnRlZ2VyLCBTZXQ8bnVtYmVyPiwgb3IgSW50TWFwIik7dGhpcy5zZXRfLmFkZChlKSx0aGlzLm1heElkXz1NYXRoLm1heCh0aGlzLm1heElkLGUpLHRoaXMuYml0TGVuZ3RoPTB9fWVtcHR5KCl7dGhpcy5zZXRfPW5ldyBTZXQsdGhpcy5tYXhJZF89MH1mb3JFYWNoKHQpe2ZvcihsZXQgZT0xO2U8PXRoaXMubWF4SWQ7ZSsrKXQodGhpcy5oYXMoZSksZSl9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5zZXRfLnNpemV9c2V0QWxsKGUpe3RoaXMuc2V0KGUpfX1jbGFzcyB1e3N0YXRpY1tsLmNtcElkXT0xMjtzdGF0aWNbbC5jbXBWZXJzaW9uXT0xMjtzdGF0aWNbbC5jb25zZW50TGFuZ3VhZ2VdPTEyO3N0YXRpY1tsLmNvbnNlbnRTY3JlZW5dPTY7c3RhdGljW2wuY3JlYXRlZF09MzY7c3RhdGljW2wuaXNTZXJ2aWNlU3BlY2lmaWNdPTE7c3RhdGljW2wubGFzdFVwZGF0ZWRdPTM2O3N0YXRpY1tsLnBvbGljeVZlcnNpb25dPTY7c3RhdGljW2wucHVibGlzaGVyQ291bnRyeUNvZGVdPTEyO3N0YXRpY1tsLnB1Ymxpc2hlckxlZ2l0aW1hdGVJbnRlcmVzdHNdPTI0O3N0YXRpY1tsLnB1Ymxpc2hlckNvbnNlbnRzXT0yNDtzdGF0aWNbbC5wdXJwb3NlQ29uc2VudHNdPTI0O3N0YXRpY1tsLnB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzXT0yNDtzdGF0aWNbbC5wdXJwb3NlT25lVHJlYXRtZW50XT0xO3N0YXRpY1tsLnNwZWNpYWxGZWF0dXJlT3B0aW5zXT0xMjtzdGF0aWNbbC51c2VOb25TdGFuZGFyZFRleHRzXT0xO3N0YXRpY1tsLnZlbmRvckxpc3RWZXJzaW9uXT0xMjtzdGF0aWNbbC52ZXJzaW9uXT02O3N0YXRpYyBhbnlCb29sZWFuPTE7c3RhdGljIGVuY29kaW5nVHlwZT0xO3N0YXRpYyBtYXhJZD0xNjtzdGF0aWMgbnVtQ3VzdG9tUHVycG9zZXM9NjtzdGF0aWMgbnVtRW50cmllcz0xMjtzdGF0aWMgbnVtUmVzdHJpY3Rpb25zPTEyO3N0YXRpYyBwdXJwb3NlSWQ9NjtzdGF0aWMgcmVzdHJpY3Rpb25UeXBlPTI7c3RhdGljIHNlZ21lbnRUeXBlPTM7c3RhdGljIHNpbmdsZU9yUmFuZ2U9MTtzdGF0aWMgdmVuZG9ySWQ9MTZ9Y2xhc3MgSGV7c3RhdGljIGVuY29kZShlKXtyZXR1cm4gU3RyaW5nKE51bWJlcihlKSl9c3RhdGljIGRlY29kZShlKXtyZXR1cm4iMSI9PT1lfX1jbGFzcyBne3N0YXRpYyBlbmNvZGUoZSx0KXtsZXQgbztpZigic3RyaW5nIj09dHlwZW9mIGUmJihlPXBhcnNlSW50KGUsMTApKSwobz1lLnRvU3RyaW5nKDIpKS5sZW5ndGg+dHx8ZTwwKXRocm93IG5ldyBQZShlKyIgdG9vIGxhcmdlIHRvIGVuY29kZSBpbnRvICIrdCk7cmV0dXJuIG89by5sZW5ndGg8dD8iMCIucmVwZWF0KHQtby5sZW5ndGgpK286b31zdGF0aWMgZGVjb2RlKGUsdCl7aWYodCE9PWUubGVuZ3RoKXRocm93IG5ldyBCZSgiaW52YWxpZCBiaXQgbGVuZ3RoIik7cmV0dXJuIHBhcnNlSW50KGUsMil9fWNsYXNzIEdle3N0YXRpYyBlbmNvZGUoZSx0KXtyZXR1cm4gZy5lbmNvZGUoTWF0aC5yb3VuZChlLmdldFRpbWUoKS8xMDApLHQpfXN0YXRpYyBkZWNvZGUoZSx0KXtpZih0IT09ZS5sZW5ndGgpdGhyb3cgbmV3IEJlKCJpbnZhbGlkIGJpdCBsZW5ndGgiKTt2YXIgbz1uZXcgRGF0ZTtyZXR1cm4gby5zZXRUaW1lKDEwMCpnLmRlY29kZShlLHQpKSxvfX1jbGFzcyBxZXtzdGF0aWMgZW5jb2RlKHQsbyl7bGV0IHI9IiI7Zm9yKGxldCBlPTE7ZTw9bztlKyspcis9SGUuZW5jb2RlKHQuaGFzKGUpKTtyZXR1cm4gcn1zdGF0aWMgZGVjb2RlKHQsbyl7aWYodC5sZW5ndGghPT1vKXRocm93IG5ldyBCZSgiYml0ZmllbGQgZW5jb2RpbmcgbGVuZ3RoIG1pc21hdGNoIik7dmFyIHI9bmV3IFdlO2ZvcihsZXQgZT0xO2U8PW87ZSsrKUhlLmRlY29kZSh0W2UtMV0pJiZyLnNldChlKTtyZXR1cm4gci5iaXRMZW5ndGg9dC5sZW5ndGgscn19Y2xhc3MgS2V7c3RhdGljIGVuY29kZShlLHQpe3ZhciBvPShlPWUudG9VcHBlckNhc2UoKSkuY2hhckNvZGVBdCgwKS02NSxyPWUuY2hhckNvZGVBdCgxKS02NTtpZihvPDB8fDI1PG98fHI8MHx8MjU8cil0aHJvdyBuZXcgUGUoImludmFsaWQgbGFuZ3VhZ2UgY29kZTogIitlKTtpZih0JTI9PTEpdGhyb3cgbmV3IFBlKGBudW1CaXRzIG11c3QgYmUgZXZlbiwgJHt0fSBpcyBub3QgdmFsaWRgKTtyZXR1cm4gdC89MixnLmVuY29kZShvLHQpK2cuZW5jb2RlKHIsdCl9c3RhdGljIGRlY29kZShlLHQpe2xldCBvO2lmKHQhPT1lLmxlbmd0aHx8ZS5sZW5ndGglMil0aHJvdyBuZXcgQmUoImludmFsaWQgYml0IGxlbmd0aCBmb3IgbGFuZ3VhZ2UiKTt2YXIgdD1lLmxlbmd0aC8yLHI9Zy5kZWNvZGUoZS5zbGljZSgwLHQpLHQpKzY1LGU9Zy5kZWNvZGUoZS5zbGljZSh0KSx0KSs2NTtyZXR1cm4gbz1TdHJpbmcuZnJvbUNoYXJDb2RlKHIpK1N0cmluZy5mcm9tQ2hhckNvZGUoZSl9fWNsYXNzIFFle3N0YXRpYyBlbmNvZGUobCl7bGV0IGM9Zy5lbmNvZGUobC5udW1SZXN0cmljdGlvbnMsdS5udW1SZXN0cmljdGlvbnMpO2lmKCFsLmlzRW1wdHkoKSlsLmdldFJlc3RyaWN0aW9ucygpLmZvckVhY2goZT0+e2M9KGMrPWcuZW5jb2RlKGUucHVycG9zZUlkLHUucHVycG9zZUlkKSkrZy5lbmNvZGUoZS5yZXN0cmljdGlvblR5cGUsdS5yZXN0cmljdGlvblR5cGUpO3ZhciB0PWwuZ2V0VmVuZG9ycyhlKSxvPXQubGVuZ3RoO2xldCByPTAsaT0wLG49IiI7Zm9yKGxldCBlPTA7ZTxvO2UrKyl7dmFyIGEscz10W2VdOzA9PT1pJiYocisrLGk9cyksKGU9PT1vLTF8fHRbZSsxXT4oKHQsbyk9Pntmb3IobGV0IGU9dCsxO2U8PW87ZSsrKWlmKGwuZ3ZsLnZlbmRvcklkcy5oYXMoZSkpcmV0dXJuIGU7cmV0dXJuIHR9KShzLHRbby0xXSkpJiYoYT0hKHM9PT1pKSxuPShuKz1IZS5lbmNvZGUoYSkpK2cuZW5jb2RlKGksdS52ZW5kb3JJZCksYSYmKG4rPWcuZW5jb2RlKHMsdS52ZW5kb3JJZCkpLGk9MCl9Yz0oYys9Zy5lbmNvZGUocix1Lm51bUVudHJpZXMpKStufSk7cmV0dXJuIGN9c3RhdGljIGRlY29kZSh0KXtsZXQgbz0wO3ZhciByPW5ldyBGZSxpPWcuZGVjb2RlKHQuc3Vic3RyKG8sdS5udW1SZXN0cmljdGlvbnMpLHUubnVtUmVzdHJpY3Rpb25zKTtvKz11Lm51bVJlc3RyaWN0aW9ucztmb3IobGV0IGU9MDtlPGk7ZSsrKXt2YXIgbj1nLmRlY29kZSh0LnN1YnN0cihvLHUucHVycG9zZUlkKSx1LnB1cnBvc2VJZCksYT0obys9dS5wdXJwb3NlSWQsZy5kZWNvZGUodC5zdWJzdHIobyx1LnJlc3RyaWN0aW9uVHlwZSksdS5yZXN0cmljdGlvblR5cGUpKSxzPShvKz11LnJlc3RyaWN0aW9uVHlwZSxuZXcgemUobixhKSksbD1nLmRlY29kZSh0LnN1YnN0cihvLHUubnVtRW50cmllcyksdS5udW1FbnRyaWVzKTtvKz11Lm51bUVudHJpZXM7Zm9yKGxldCBlPTA7ZTxsO2UrKyl7dmFyIGM9SGUuZGVjb2RlKHQuc3Vic3RyKG8sdS5hbnlCb29sZWFuKSksZD0obys9dS5hbnlCb29sZWFuLGcuZGVjb2RlKHQuc3Vic3RyKG8sdS52ZW5kb3JJZCksdS52ZW5kb3JJZCkpO2lmKG8rPXUudmVuZG9ySWQsYyl7dmFyIHA9Zy5kZWNvZGUodC5zdWJzdHIobyx1LnZlbmRvcklkKSx1LnZlbmRvcklkKTtpZihvKz11LnZlbmRvcklkLHA8ZCl0aHJvdyBuZXcgQmUoYEludmFsaWQgUmFuZ2VFbnRyeTogZW5kVmVuZG9ySWQgJHtwfSBpcyBsZXNzIHRoYW4gYCtkKTtmb3IobGV0IGU9ZDtlPD1wO2UrKylyLmFkZChlLHMpfWVsc2Ugci5hZGQoZCxzKX19cmV0dXJuIHIuYml0TGVuZ3RoPW8scn19KHZlPUo9Snx8e30pW3ZlLkZJRUxEPTBdPSJGSUVMRCIsdmVbdmUuUkFOR0U9MV09IlJBTkdFIjtjbGFzcyBKZXtzdGF0aWMgZW5jb2RlKG8pe2xldCByPVtdLGk9W10sZT1nLmVuY29kZShvLm1heElkLHUubWF4SWQpLG49IiIsYTt2YXIgdD11Lm1heElkK3UuZW5jb2RpbmdUeXBlO2xldCBzPXQrby5tYXhJZCxsPTIqdS52ZW5kb3JJZCt1LnNpbmdsZU9yUmFuZ2UrdS5udW1FbnRyaWVzLGM9dCt1Lm51bUVudHJpZXM7cmV0dXJuIG8uZm9yRWFjaCgoZSx0KT0+e24rPUhlLmVuY29kZShlKSwoYT1vLm1heElkPmwmJmM8cykmJmUmJihvLmhhcyh0KzEpPzA9PT1pLmxlbmd0aCYmKGkucHVzaCh0KSxjPShjKz11LnNpbmdsZU9yUmFuZ2UpK3UudmVuZG9ySWQpOihpLnB1c2godCksYys9dS52ZW5kb3JJZCxyLnB1c2goaSksaT1bXSkpfSksZT1hPyhlKz1TdHJpbmcoSi5SQU5HRSkpK3RoaXMuYnVpbGRSYW5nZUVuY29kaW5nKHIpOihlKz1TdHJpbmcoSi5GSUVMRCkpK259c3RhdGljIGRlY29kZSh0LGUpe2xldCBvLHI9MDt2YXIgaT1nLmRlY29kZSh0LnN1YnN0cihyLHUubWF4SWQpLHUubWF4SWQpLG49KHIrPXUubWF4SWQsZy5kZWNvZGUodC5jaGFyQXQociksdS5lbmNvZGluZ1R5cGUpKTtpZihyKz11LmVuY29kaW5nVHlwZSxuPT09Si5SQU5HRSl7aWYobz1uZXcgV2UsMT09PWUpe2lmKCIxIj09PXQuc3Vic3RyKHIsMSkpdGhyb3cgbmV3IEJlKCJVbmFibGUgdG8gZGVjb2RlIGRlZmF1bHQgY29uc2VudD0xIik7cisrfXZhciBhPWcuZGVjb2RlKHQuc3Vic3RyKHIsdS5udW1FbnRyaWVzKSx1Lm51bUVudHJpZXMpO3IrPXUubnVtRW50cmllcztmb3IobGV0IGU9MDtlPGE7ZSsrKXt2YXIgcz1IZS5kZWNvZGUodC5jaGFyQXQocikpLGw9KHIrPXUuc2luZ2xlT3JSYW5nZSxnLmRlY29kZSh0LnN1YnN0cihyLHUudmVuZG9ySWQpLHUudmVuZG9ySWQpKTtpZihyKz11LnZlbmRvcklkLHMpe3ZhciBjPWcuZGVjb2RlKHQuc3Vic3RyKHIsdS52ZW5kb3JJZCksdS52ZW5kb3JJZCk7cis9dS52ZW5kb3JJZDtmb3IobGV0IGU9bDtlPD1jO2UrKylvLnNldChlKX1lbHNlIG8uc2V0KGwpfX1lbHNle249dC5zdWJzdHIocixpKTtyKz1pLG89cWUuZGVjb2RlKG4saSl9cmV0dXJuIG8uYml0TGVuZ3RoPXIsb31zdGF0aWMgYnVpbGRSYW5nZUVuY29kaW5nKGUpe3ZhciB0PWUubGVuZ3RoO2xldCBvPWcuZW5jb2RlKHQsdS5udW1FbnRyaWVzKTtyZXR1cm4gZS5mb3JFYWNoKGU9Pnt2YXIgdD0xPT09ZS5sZW5ndGg7bz0obys9SGUuZW5jb2RlKCF0KSkrZy5lbmNvZGUoZVswXSx1LnZlbmRvcklkKSx0fHwobys9Zy5lbmNvZGUoZVsxXSx1LnZlbmRvcklkKSl9KSxvfX1mdW5jdGlvbiBaZSgpe3JldHVybntbbC52ZXJzaW9uXTpnLFtsLmNyZWF0ZWRdOkdlLFtsLmxhc3RVcGRhdGVkXTpHZSxbbC5jbXBJZF06ZyxbbC5jbXBWZXJzaW9uXTpnLFtsLmNvbnNlbnRTY3JlZW5dOmcsW2wuY29uc2VudExhbmd1YWdlXTpLZSxbbC52ZW5kb3JMaXN0VmVyc2lvbl06ZyxbbC5wb2xpY3lWZXJzaW9uXTpnLFtsLmlzU2VydmljZVNwZWNpZmljXTpIZSxbbC51c2VOb25TdGFuZGFyZFRleHRzXTpIZSxbbC5zcGVjaWFsRmVhdHVyZU9wdGluc106cWUsW2wucHVycG9zZUNvbnNlbnRzXTpxZSxbbC5wdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0c106cWUsW2wucHVycG9zZU9uZVRyZWF0bWVudF06SGUsW2wucHVibGlzaGVyQ291bnRyeUNvZGVdOktlLFtsLnZlbmRvckNvbnNlbnRzXTpKZSxbbC52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzXTpKZSxbbC5wdWJsaXNoZXJSZXN0cmljdGlvbnNdOlFlLHNlZ21lbnRUeXBlOmcsW2wudmVuZG9yc0Rpc2Nsb3NlZF06SmUsW2wudmVuZG9yc0FsbG93ZWRdOkplLFtsLnB1Ymxpc2hlckNvbnNlbnRzXTpxZSxbbC5wdWJsaXNoZXJMZWdpdGltYXRlSW50ZXJlc3RzXTpxZSxbbC5udW1DdXN0b21QdXJwb3Nlc106ZyxbbC5wdWJsaXNoZXJDdXN0b21Db25zZW50c106cWUsW2wucHVibGlzaGVyQ3VzdG9tTGVnaXRpbWF0ZUludGVyZXN0c106cWV9fWNsYXNzIFllezE9e1tRLkNPUkVdOltsLnZlcnNpb24sbC5jcmVhdGVkLGwubGFzdFVwZGF0ZWQsbC5jbXBJZCxsLmNtcFZlcnNpb24sbC5jb25zZW50U2NyZWVuLGwuY29uc2VudExhbmd1YWdlLGwudmVuZG9yTGlzdFZlcnNpb24sbC5wdXJwb3NlQ29uc2VudHMsbC52ZW5kb3JDb25zZW50c119OzI9e1tRLkNPUkVdOltsLnZlcnNpb24sbC5jcmVhdGVkLGwubGFzdFVwZGF0ZWQsbC5jbXBJZCxsLmNtcFZlcnNpb24sbC5jb25zZW50U2NyZWVuLGwuY29uc2VudExhbmd1YWdlLGwudmVuZG9yTGlzdFZlcnNpb24sbC5wb2xpY3lWZXJzaW9uLGwuaXNTZXJ2aWNlU3BlY2lmaWMsbC51c2VOb25TdGFuZGFyZFRleHRzLGwuc3BlY2lhbEZlYXR1cmVPcHRpbnMsbC5wdXJwb3NlQ29uc2VudHMsbC5wdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cyxsLnB1cnBvc2VPbmVUcmVhdG1lbnQsbC5wdWJsaXNoZXJDb3VudHJ5Q29kZSxsLnZlbmRvckNvbnNlbnRzLGwudmVuZG9yTGVnaXRpbWF0ZUludGVyZXN0cyxsLnB1Ymxpc2hlclJlc3RyaWN0aW9uc10sW1EuUFVCTElTSEVSX1RDXTpbbC5wdWJsaXNoZXJDb25zZW50cyxsLnB1Ymxpc2hlckxlZ2l0aW1hdGVJbnRlcmVzdHMsbC5udW1DdXN0b21QdXJwb3NlcyxsLnB1Ymxpc2hlckN1c3RvbUNvbnNlbnRzLGwucHVibGlzaGVyQ3VzdG9tTGVnaXRpbWF0ZUludGVyZXN0c10sW1EuVkVORE9SU19BTExPV0VEXTpbbC52ZW5kb3JzQWxsb3dlZF0sW1EuVkVORE9SU19ESVNDTE9TRURdOltsLnZlbmRvcnNEaXNjbG9zZWRdfX1jbGFzcyBYZXsxPVtRLkNPUkVdOzI9W1EuQ09SRV07Y29uc3RydWN0b3IoZSx0KXsyPT09ZS52ZXJzaW9uJiYoZS5pc1NlcnZpY2VTcGVjaWZpYz90aGlzWzJdLnB1c2goUS5QVUJMSVNIRVJfVEMpOigodD0hKCF0fHwhdC5pc0ZvclZlbmRvcnMpKSYmITAhPT1lW2wuc3VwcG9ydE9PQl18fHRoaXNbMl0ucHVzaChRLlZFTkRPUlNfRElTQ0xPU0VEKSx0JiYoZVtsLnN1cHBvcnRPT0JdJiYwPGVbbC52ZW5kb3JzQWxsb3dlZF0uc2l6ZSYmdGhpc1syXS5wdXNoKFEuVkVORE9SU19BTExPV0VEKSx0aGlzWzJdLnB1c2goUS5QVUJMSVNIRVJfVEMpKSkpfX1jbGFzcyBldHtzdGF0aWMgZmllbGRTZXF1ZW5jZT1uZXcgWWU7c3RhdGljIGVuY29kZShpLG4pe2xldCBlO3RyeXtlPXRoaXMuZmllbGRTZXF1ZW5jZVtTdHJpbmcoaS52ZXJzaW9uKV1bbl19Y2F0Y2goZSl7dGhyb3cgbmV3IFBlKGBVbmFibGUgdG8gZW5jb2RlIHZlcnNpb246ICR7aS52ZXJzaW9ufSwgc2VnbWVudDogYCtuKX1sZXQgYT0iIixzPShuIT09US5DT1JFJiYoYT1nLmVuY29kZShVZS5LRVlfVE9fSURbbl0sdS5zZWdtZW50VHlwZSkpLFplKCkpO3JldHVybiBlLmZvckVhY2godD0+e3ZhciBlPWlbdF0sbz1zW3RdO2xldCByPXVbdF07dm9pZCAwPT09ciYmdGhpcy5pc1B1Ymxpc2hlckN1c3RvbSh0KSYmKHI9TnVtYmVyKGlbbC5udW1DdXN0b21QdXJwb3Nlc10pKTt0cnl7YSs9by5lbmNvZGUoZSxyKX1jYXRjaChlKXt0aHJvdyBuZXcgUGUoYEVycm9yIGVuY29kaW5nICR7bn0tPiR7dH06IGArZS5tZXNzYWdlKX19KSxOZS5lbmNvZGUoYSl9c3RhdGljIGRlY29kZShlLGksdCl7bGV0IG49TmUuZGVjb2RlKGUpLGE9MDt0PT09US5DT1JFJiYoaS52ZXJzaW9uPWcuZGVjb2RlKG4uc3Vic3RyKGEsdVtsLnZlcnNpb25dKSx1W2wudmVyc2lvbl0pKSx0IT09US5DT1JFJiYoYSs9dS5zZWdtZW50VHlwZSk7ZT10aGlzLmZpZWxkU2VxdWVuY2VbU3RyaW5nKGkudmVyc2lvbildW3RdO2xldCBzPVplKCk7cmV0dXJuIGUuZm9yRWFjaChlPT57dmFyIHQ9c1tlXTtsZXQgbz11W2VdO2lmKDAhPT0obz12b2lkIDA9PT1vJiZ0aGlzLmlzUHVibGlzaGVyQ3VzdG9tKGUpP051bWJlcihpW2wubnVtQ3VzdG9tUHVycG9zZXNdKTpvKSl7dmFyIHI9bi5zdWJzdHIoYSxvKTtpZih0PT09SmU/aVtlXT10LmRlY29kZShyLGkudmVyc2lvbik6aVtlXT10LmRlY29kZShyLG8pLE51bWJlci5pc0ludGVnZXIobykpYSs9bztlbHNle2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGlbZV0uYml0TGVuZ3RoKSl0aHJvdyBuZXcgQmUoZSk7YSs9aVtlXS5iaXRMZW5ndGh9fX0pLGl9c3RhdGljIGlzUHVibGlzaGVyQ3VzdG9tKGUpe3JldHVybiAwPT09ZS5pbmRleE9mKCJwdWJsaXNoZXJDdXN0b20iKX19Y2xhc3MgdHR7c3RhdGljIGFic0NhbGwocixpLG4sYSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0LGUpPT57bGV0IG89bmV3IFhNTEh0dHBSZXF1ZXN0O28ud2l0aENyZWRlbnRpYWxzPW4sby5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e2lmKG8ucmVhZHlTdGF0ZT09WE1MSHR0cFJlcXVlc3QuRE9ORSlpZigyMDA8PW8uc3RhdHVzJiZvLnN0YXR1czwzMDApe2xldCBlPW8ucmVzcG9uc2U7aWYoInN0cmluZyI9PXR5cGVvZiBlKXRyeXtlPUpTT04ucGFyc2UoZSl9Y2F0Y2goZSl7fXQoZSl9ZWxzZSBlKG5ldyBFcnJvcihgSFRUUCBTdGF0dXM6ICR7by5zdGF0dXN9IHJlc3BvbnNlIHR5cGU6IGArby5yZXNwb25zZVR5cGUpKX0pLG8uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCgpPT57ZShuZXcgRXJyb3IoImVycm9yIikpfSksby5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9PntlKG5ldyBFcnJvcigiYWJvcnRlZCIpKX0pLG51bGw9PT1pP28ub3BlbigiR0VUIixyLCEwKTpvLm9wZW4oIlBPU1QiLHIsITApLG8ucmVzcG9uc2VUeXBlPSJqc29uIixvLnRpbWVvdXQ9YSxvLm9udGltZW91dD0oKT0+e2UobmV3IEVycm9yKCJUaW1lb3V0ICIrYSsibXMgIityKSl9LG8uc2VuZChpKX0pfXN0YXRpYyBwb3N0KGUsdCxvPSExLHI9MCl7cmV0dXJuIHRoaXMuYWJzQ2FsbChlLEpTT04uc3RyaW5naWZ5KHQpLG8scil9c3RhdGljIGZldGNoKGUsdD0hMSxvPTApe3JldHVybiB0aGlzLmFic0NhbGwoZSxudWxsLHQsbyl9fWNsYXNzIGsgZXh0ZW5kcyBNZXtzdGF0aWMgTEFOR1VBR0VfQ0FDSEU9bmV3IE1hcDtzdGF0aWMgQ0FDSEU9bmV3IE1hcDtzdGF0aWMgTEFURVNUX0NBQ0hFX0tFWT0wO3N0YXRpYyBERUZBVUxUX0xBTkdVQUdFPSJFTiI7c3RhdGljIGNvbnNlbnRMYW5ndWFnZXM9bmV3IFZlO3N0YXRpYyBiYXNlVXJsXztzdGF0aWMgc2V0IGJhc2VVcmwoZSl7aWYoL15odHRwcz86XC9cL3ZlbmRvcmxpc3RcLmNvbnNlbnN1XC5vcmdcLy8udGVzdChlKSl0aHJvdyBuZXcgX2UoIkludmFsaWQgYmFzZVVybCEgIFlvdSBtYXkgbm90IHB1bGwgZGlyZWN0bHkgZnJvbSB2ZW5kb3JsaXN0LmNvbnNlbnN1Lm9yZyBhbmQgbXVzdCBwcm92aWRlIHlvdXIgb3duIGNhY2hlIik7MDxlLmxlbmd0aCYmIi8iIT09ZVtlLmxlbmd0aC0xXSYmKGUrPSIvIiksdGhpcy5iYXNlVXJsXz1lfXN0YXRpYyBnZXQgYmFzZVVybCgpe3JldHVybiB0aGlzLmJhc2VVcmxffXN0YXRpYyBsYXRlc3RGaWxlbmFtZT0idmVuZG9yLWxpc3QuanNvbiI7c3RhdGljIHZlcnNpb25lZEZpbGVuYW1lPSJhcmNoaXZlcy92ZW5kb3ItbGlzdC12W1ZFUlNJT05dLmpzb24iO3N0YXRpYyBsYW5ndWFnZUZpbGVuYW1lPSJwdXJwb3Nlcy1bTEFOR10uanNvbiI7cmVhZHlQcm9taXNlO2d2bFNwZWNpZmljYXRpb25WZXJzaW9uO3ZlbmRvckxpc3RWZXJzaW9uO3RjZlBvbGljeVZlcnNpb247bGFzdFVwZGF0ZWQ7cHVycG9zZXM7c3BlY2lhbFB1cnBvc2VzO2ZlYXR1cmVzO3NwZWNpYWxGZWF0dXJlcztpc1JlYWR5Xz0hMTt2ZW5kb3JzXzt2ZW5kb3JJZHM7ZnVsbFZlbmRvckxpc3Q7YnlQdXJwb3NlVmVuZG9yTWFwO2J5U3BlY2lhbFB1cnBvc2VWZW5kb3JNYXA7YnlGZWF0dXJlVmVuZG9yTWFwO2J5U3BlY2lhbEZlYXR1cmVWZW5kb3JNYXA7c3RhY2tzO2RhdGFDYXRlZ29yaWVzO2xhbmdfO2NhY2hlTGFuZ187aXNMYXRlc3Q9ITE7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpO2xldCBvPWsuYmFzZVVybCxyPXQ/Lmxhbmd1YWdlO2lmKHIpdHJ5e3I9ay5jb25zZW50TGFuZ3VhZ2VzLnBhcnNlTGFuZ3VhZ2Uocil9Y2F0Y2goZSl7dGhyb3cgbmV3IF9lKCJFcnJvciBkdXJpbmcgcGFyc2luZyB0aGUgbGFuZ3VhZ2U6ICIrZS5tZXNzYWdlKX1pZih0aGlzLmxhbmdfPXJ8fGsuREVGQVVMVF9MQU5HVUFHRSx0aGlzLmNhY2hlTGFuZ189cnx8ay5ERUZBVUxUX0xBTkdVQUdFLHRoaXMuaXNWZW5kb3JMaXN0KGUpKXRoaXMucG9wdWxhdGUoZSksdGhpcy5yZWFkeVByb21pc2U9UHJvbWlzZS5yZXNvbHZlKCk7ZWxzZXtpZighbyl0aHJvdyBuZXcgX2UoIm11c3Qgc3BlY2lmeSBHVkwuYmFzZVVybCBiZWZvcmUgbG9hZGluZyBHVkwganNvbiIpOzA8ZT8odD1lLGsuQ0FDSEUuaGFzKHQpPyh0aGlzLnBvcHVsYXRlKGsuQ0FDSEUuZ2V0KHQpKSx0aGlzLnJlYWR5UHJvbWlzZT1Qcm9taXNlLnJlc29sdmUoKSk6KG8rPWsudmVyc2lvbmVkRmlsZW5hbWUucmVwbGFjZSgiW1ZFUlNJT05dIixTdHJpbmcodCkpLHRoaXMucmVhZHlQcm9taXNlPXRoaXMuZmV0Y2hKc29uKG8pKSk6ay5DQUNIRS5oYXMoay5MQVRFU1RfQ0FDSEVfS0VZKT8odGhpcy5wb3B1bGF0ZShrLkNBQ0hFLmdldChrLkxBVEVTVF9DQUNIRV9LRVkpKSx0aGlzLnJlYWR5UHJvbWlzZT1Qcm9taXNlLnJlc29sdmUoKSk6KHRoaXMuaXNMYXRlc3Q9ITAsdGhpcy5yZWFkeVByb21pc2U9dGhpcy5mZXRjaEpzb24obytrLmxhdGVzdEZpbGVuYW1lKSl9fXN0YXRpYyBlbXB0eUxhbmd1YWdlQ2FjaGUoZSl7bGV0IHQ9ITE7cmV0dXJuIG51bGw9PWUmJjA8ay5MQU5HVUFHRV9DQUNIRS5zaXplPyhrLkxBTkdVQUdFX0NBQ0hFPW5ldyBNYXAsdD0hMCk6InN0cmluZyI9PXR5cGVvZiBlJiZ0aGlzLmNvbnNlbnRMYW5ndWFnZXMuaGFzKGUudG9VcHBlckNhc2UoKSkmJihrLkxBTkdVQUdFX0NBQ0hFLmRlbGV0ZShlLnRvVXBwZXJDYXNlKCkpLHQ9ITApLHR9c3RhdGljIGVtcHR5Q2FjaGUoZSl7bGV0IHQ9ITE7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSkmJjA8PWU/KGsuQ0FDSEUuZGVsZXRlKGUpLHQ9ITApOnZvaWQgMD09PWUmJihrLkNBQ0hFPW5ldyBNYXAsdD0hMCksdH1jYWNoZUxhbmd1YWdlKCl7ay5MQU5HVUFHRV9DQUNIRS5oYXModGhpcy5jYWNoZUxhbmdfKXx8ay5MQU5HVUFHRV9DQUNIRS5zZXQodGhpcy5jYWNoZUxhbmdfLHtwdXJwb3Nlczp0aGlzLnB1cnBvc2VzLHNwZWNpYWxQdXJwb3Nlczp0aGlzLnNwZWNpYWxQdXJwb3NlcyxmZWF0dXJlczp0aGlzLmZlYXR1cmVzLHNwZWNpYWxGZWF0dXJlczp0aGlzLnNwZWNpYWxGZWF0dXJlcyxzdGFja3M6dGhpcy5zdGFja3MsZGF0YUNhdGVnb3JpZXM6dGhpcy5kYXRhQ2F0ZWdvcmllc30pfWFzeW5jIGZldGNoSnNvbihlKXt0cnl7dGhpcy5wb3B1bGF0ZShhd2FpdCB0dC5mZXRjaChlKSl9Y2F0Y2goZSl7dGhyb3cgbmV3IF9lKGUubWVzc2FnZSl9fWdldEpzb24oKXtyZXR1cm57Z3ZsU3BlY2lmaWNhdGlvblZlcnNpb246dGhpcy5ndmxTcGVjaWZpY2F0aW9uVmVyc2lvbix2ZW5kb3JMaXN0VmVyc2lvbjp0aGlzLnZlbmRvckxpc3RWZXJzaW9uLHRjZlBvbGljeVZlcnNpb246dGhpcy50Y2ZQb2xpY3lWZXJzaW9uLGxhc3RVcGRhdGVkOnRoaXMubGFzdFVwZGF0ZWQscHVycG9zZXM6dGhpcy5jbG9uZVB1cnBvc2VzKCksc3BlY2lhbFB1cnBvc2VzOnRoaXMuY2xvbmVTcGVjaWFsUHVycG9zZXMoKSxmZWF0dXJlczp0aGlzLmNsb25lRmVhdHVyZXMoKSxzcGVjaWFsRmVhdHVyZXM6dGhpcy5jbG9uZVNwZWNpYWxGZWF0dXJlcygpLHN0YWNrczp0aGlzLmNsb25lU3RhY2tzKCksLi4udGhpcy5kYXRhQ2F0ZWdvcmllcz97ZGF0YUNhdGVnb3JpZXM6dGhpcy5jbG9uZURhdGFDYXRlZ29yaWVzKCl9Ont9LHZlbmRvcnM6dGhpcy5jbG9uZVZlbmRvcnMoKX19Y2xvbmVTcGVjaWFsRmVhdHVyZXMoKXt2YXIgZSx0PXt9O2ZvcihlIG9mIE9iamVjdC5rZXlzKHRoaXMuc3BlY2lhbEZlYXR1cmVzKSl0W2VdPWsuY2xvbmVGZWF0dXJlKHRoaXMuc3BlY2lhbEZlYXR1cmVzW2VdKTtyZXR1cm4gdH1jbG9uZUZlYXR1cmVzKCl7dmFyIGUsdD17fTtmb3IoZSBvZiBPYmplY3Qua2V5cyh0aGlzLmZlYXR1cmVzKSl0W2VdPWsuY2xvbmVGZWF0dXJlKHRoaXMuZmVhdHVyZXNbZV0pO3JldHVybiB0fWNsb25lU3RhY2tzKCl7dmFyIGUsdD17fTtmb3IoZSBvZiBPYmplY3Qua2V5cyh0aGlzLnN0YWNrcykpdFtlXT1rLmNsb25lU3RhY2sodGhpcy5zdGFja3NbZV0pO3JldHVybiB0fWNsb25lRGF0YUNhdGVnb3JpZXMoKXt2YXIgZSx0PXt9O2ZvcihlIG9mIE9iamVjdC5rZXlzKHRoaXMuZGF0YUNhdGVnb3JpZXMpKXRbZV09ay5jbG9uZURhdGFDYXRlZ29yeSh0aGlzLmRhdGFDYXRlZ29yaWVzW2VdKTtyZXR1cm4gdH1jbG9uZVNwZWNpYWxQdXJwb3Nlcygpe3ZhciBlLHQ9e307Zm9yKGUgb2YgT2JqZWN0LmtleXModGhpcy5zcGVjaWFsUHVycG9zZXMpKXRbZV09ay5jbG9uZVB1cnBvc2UodGhpcy5zcGVjaWFsUHVycG9zZXNbZV0pO3JldHVybiB0fWNsb25lUHVycG9zZXMoKXt2YXIgZSx0PXt9O2ZvcihlIG9mIE9iamVjdC5rZXlzKHRoaXMucHVycG9zZXMpKXRbZV09ay5jbG9uZVB1cnBvc2UodGhpcy5wdXJwb3Nlc1tlXSk7cmV0dXJuIHR9c3RhdGljIGNsb25lUHVycG9zZShlKXtyZXR1cm57aWQ6ZS5pZCxuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLC4uLmUuZGVzY3JpcHRpb25MZWdhbD97ZGVzY3JpcHRpb25MZWdhbDplLmRlc2NyaXB0aW9uTGVnYWx9Ont9LC4uLmUuaWxsdXN0cmF0aW9ucz97aWxsdXN0cmF0aW9uczpBcnJheS5mcm9tKGUuaWxsdXN0cmF0aW9ucyl9Ont9fX1zdGF0aWMgY2xvbmVGZWF0dXJlKGUpe3JldHVybntpZDplLmlkLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sLi4uZS5kZXNjcmlwdGlvbkxlZ2FsP3tkZXNjcmlwdGlvbkxlZ2FsOmUuZGVzY3JpcHRpb25MZWdhbH06e30sLi4uZS5pbGx1c3RyYXRpb25zP3tpbGx1c3RyYXRpb25zOkFycmF5LmZyb20oZS5pbGx1c3RyYXRpb25zKX06e319fXN0YXRpYyBjbG9uZURhdGFDYXRlZ29yeShlKXtyZXR1cm57aWQ6ZS5pZCxuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9ufX1zdGF0aWMgY2xvbmVTdGFjayhlKXtyZXR1cm57aWQ6ZS5pZCxuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHB1cnBvc2VzOkFycmF5LmZyb20oZS5wdXJwb3Nlcyksc3BlY2lhbEZlYXR1cmVzOkFycmF5LmZyb20oZS5zcGVjaWFsRmVhdHVyZXMpfX1zdGF0aWMgY2xvbmVEYXRhUmV0ZW50aW9uKGUpe3JldHVybnsuLi4ibnVtYmVyIj09dHlwZW9mIGUuc3RkUmV0ZW50aW9uP3tzdGRSZXRlbnRpb246ZS5zdGRSZXRlbnRpb259Ont9LHB1cnBvc2VzOnsuLi5lLnB1cnBvc2VzfSxzcGVjaWFsUHVycG9zZXM6ey4uLmUuc3BlY2lhbFB1cnBvc2VzfX19c3RhdGljIGNsb25lVmVuZG9yVXJscyhlKXtyZXR1cm4gZS5tYXAoZT0+KHtsYW5nSWQ6ZS5sYW5nSWQscHJpdmFjeTplLnByaXZhY3ksLi4uZS5sZWdJbnRDbGFpbT97bGVnSW50Q2xhaW06ZS5sZWdJbnRDbGFpbX06e319KSl9c3RhdGljIGNsb25lVmVuZG9yKGUpe3JldHVybntpZDplLmlkLG5hbWU6ZS5uYW1lLHB1cnBvc2VzOkFycmF5LmZyb20oZS5wdXJwb3NlcyksbGVnSW50UHVycG9zZXM6QXJyYXkuZnJvbShlLmxlZ0ludFB1cnBvc2VzKSxmbGV4aWJsZVB1cnBvc2VzOkFycmF5LmZyb20oZS5mbGV4aWJsZVB1cnBvc2VzKSxzcGVjaWFsUHVycG9zZXM6QXJyYXkuZnJvbShlLnNwZWNpYWxQdXJwb3NlcyksZmVhdHVyZXM6QXJyYXkuZnJvbShlLmZlYXR1cmVzKSxzcGVjaWFsRmVhdHVyZXM6QXJyYXkuZnJvbShlLnNwZWNpYWxGZWF0dXJlcyksLi4uZS5vdmVyZmxvdz97b3ZlcmZsb3c6e2h0dHBHZXRMaW1pdDplLm92ZXJmbG93Lmh0dHBHZXRMaW1pdH19Ont9LC4uLiJudW1iZXIiPT10eXBlb2YgZS5jb29raWVNYXhBZ2VTZWNvbmRzfHxudWxsPT09ZS5jb29raWVNYXhBZ2VTZWNvbmRzP3tjb29raWVNYXhBZ2VTZWNvbmRzOmUuY29va2llTWF4QWdlU2Vjb25kc306e30sLi4udm9pZCAwIT09ZS51c2VzQ29va2llcz97dXNlc0Nvb2tpZXM6ZS51c2VzQ29va2llc306e30sLi4uZS5wb2xpY3lVcmw/e3BvbGljeVVybDplLnBvbGljeVVybH06e30sLi4udm9pZCAwIT09ZS5jb29raWVSZWZyZXNoP3tjb29raWVSZWZyZXNoOmUuY29va2llUmVmcmVzaH06e30sLi4udm9pZCAwIT09ZS51c2VzTm9uQ29va2llQWNjZXNzP3t1c2VzTm9uQ29va2llQWNjZXNzOmUudXNlc05vbkNvb2tpZUFjY2Vzc306e30sLi4uZS5kYXRhUmV0ZW50aW9uP3tkYXRhUmV0ZW50aW9uOnRoaXMuY2xvbmVEYXRhUmV0ZW50aW9uKGUuZGF0YVJldGVudGlvbil9Ont9LC4uLmUudXJscz97dXJsczp0aGlzLmNsb25lVmVuZG9yVXJscyhlLnVybHMpfTp7fSwuLi5lLmRhdGFEZWNsYXJhdGlvbj97ZGF0YURlY2xhcmF0aW9uOkFycmF5LmZyb20oZS5kYXRhRGVjbGFyYXRpb24pfTp7fSwuLi5lLmRldmljZVN0b3JhZ2VEaXNjbG9zdXJlVXJsP3tkZXZpY2VTdG9yYWdlRGlzY2xvc3VyZVVybDplLmRldmljZVN0b3JhZ2VEaXNjbG9zdXJlVXJsfTp7fSwuLi5lLmRlbGV0ZWREYXRlP3tkZWxldGVkRGF0ZTplLmRlbGV0ZWREYXRlfTp7fX19Y2xvbmVWZW5kb3JzKCl7dmFyIGUsdD17fTtmb3IoZSBvZiBPYmplY3Qua2V5cyh0aGlzLmZ1bGxWZW5kb3JMaXN0KSl0W2VdPWsuY2xvbmVWZW5kb3IodGhpcy5mdWxsVmVuZG9yTGlzdFtlXSk7cmV0dXJuIHR9YXN5bmMgY2hhbmdlTGFuZ3VhZ2UoZSl7bGV0IHQ9ZTt0cnl7dD1rLmNvbnNlbnRMYW5ndWFnZXMucGFyc2VMYW5ndWFnZShlKX1jYXRjaChlKXt0aHJvdyBuZXcgX2UoIkVycm9yIGR1cmluZyBwYXJzaW5nIHRoZSBsYW5ndWFnZTogIitlLm1lc3NhZ2UpfWU9ZS50b1VwcGVyQ2FzZSgpO2lmKCh0LnRvTG93ZXJDYXNlKCkhPT1rLkRFRkFVTFRfTEFOR1VBR0UudG9Mb3dlckNhc2UoKXx8ay5MQU5HVUFHRV9DQUNIRS5oYXMoZSkpJiZ0IT09dGhpcy5sYW5nXylpZih0aGlzLmxhbmdfPXQsay5MQU5HVUFHRV9DQUNIRS5oYXMoZSkpe3ZhciBvLHI9ay5MQU5HVUFHRV9DQUNIRS5nZXQoZSk7Zm9yKG8gaW4gcilyLmhhc093blByb3BlcnR5KG8pJiYodGhpc1tvXT1yW29dKX1lbHNle3ZhciBpPWsuYmFzZVVybCtrLmxhbmd1YWdlRmlsZW5hbWUucmVwbGFjZSgiW0xBTkddIix0aGlzLmxhbmdfLnRvTG93ZXJDYXNlKCkpO3RyeXthd2FpdCB0aGlzLmZldGNoSnNvbihpKSx0aGlzLmNhY2hlTGFuZ189ZSx0aGlzLmNhY2hlTGFuZ3VhZ2UoKX1jYXRjaChlKXt0aHJvdyBuZXcgX2UoInVuYWJsZSB0byBsb2FkIGxhbmd1YWdlOiAiK2UubWVzc2FnZSl9fX1nZXQgbGFuZ3VhZ2UoKXtyZXR1cm4gdGhpcy5sYW5nX31pc1ZlbmRvckxpc3QoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJnZvaWQgMCE9PWUudmVuZG9yc31wb3B1bGF0ZShlKXt0aGlzLnB1cnBvc2VzPWUucHVycG9zZXMsdGhpcy5zcGVjaWFsUHVycG9zZXM9ZS5zcGVjaWFsUHVycG9zZXMsdGhpcy5mZWF0dXJlcz1lLmZlYXR1cmVzLHRoaXMuc3BlY2lhbEZlYXR1cmVzPWUuc3BlY2lhbEZlYXR1cmVzLHRoaXMuc3RhY2tzPWUuc3RhY2tzLHRoaXMuZGF0YUNhdGVnb3JpZXM9ZS5kYXRhQ2F0ZWdvcmllcyx0aGlzLmlzVmVuZG9yTGlzdChlKSYmKHRoaXMuZ3ZsU3BlY2lmaWNhdGlvblZlcnNpb249ZS5ndmxTcGVjaWZpY2F0aW9uVmVyc2lvbix0aGlzLnRjZlBvbGljeVZlcnNpb249ZS50Y2ZQb2xpY3lWZXJzaW9uLHRoaXMudmVuZG9yTGlzdFZlcnNpb249ZS52ZW5kb3JMaXN0VmVyc2lvbix0aGlzLmxhc3RVcGRhdGVkPWUubGFzdFVwZGF0ZWQsInN0cmluZyI9PXR5cGVvZiB0aGlzLmxhc3RVcGRhdGVkJiYodGhpcy5sYXN0VXBkYXRlZD1uZXcgRGF0ZSh0aGlzLmxhc3RVcGRhdGVkKSksdGhpcy52ZW5kb3JzXz1lLnZlbmRvcnMsdGhpcy5mdWxsVmVuZG9yTGlzdD1lLnZlbmRvcnMsdGhpcy5tYXBWZW5kb3JzKCksdGhpcy5pc1JlYWR5Xz0hMCx0aGlzLmlzTGF0ZXN0JiZrLkNBQ0hFLnNldChrLkxBVEVTVF9DQUNIRV9LRVksdGhpcy5nZXRKc29uKCkpLGsuQ0FDSEUuaGFzKHRoaXMudmVuZG9yTGlzdFZlcnNpb24pfHxrLkNBQ0hFLnNldCh0aGlzLnZlbmRvckxpc3RWZXJzaW9uLHRoaXMuZ2V0SnNvbigpKSksdGhpcy5jYWNoZUxhbmd1YWdlKCl9bWFwVmVuZG9ycyhlKXt0aGlzLmJ5UHVycG9zZVZlbmRvck1hcD17fSx0aGlzLmJ5U3BlY2lhbFB1cnBvc2VWZW5kb3JNYXA9e30sdGhpcy5ieUZlYXR1cmVWZW5kb3JNYXA9e30sdGhpcy5ieVNwZWNpYWxGZWF0dXJlVmVuZG9yTWFwPXt9LE9iamVjdC5rZXlzKHRoaXMucHVycG9zZXMpLmZvckVhY2goZT0+e3RoaXMuYnlQdXJwb3NlVmVuZG9yTWFwW2VdPXtsZWdJbnQ6bmV3IFNldCxjb25zZW50Om5ldyBTZXQsZmxleGlibGU6bmV3IFNldH19KSxPYmplY3Qua2V5cyh0aGlzLnNwZWNpYWxQdXJwb3NlcykuZm9yRWFjaChlPT57dGhpcy5ieVNwZWNpYWxQdXJwb3NlVmVuZG9yTWFwW2VdPW5ldyBTZXR9KSxPYmplY3Qua2V5cyh0aGlzLmZlYXR1cmVzKS5mb3JFYWNoKGU9Pnt0aGlzLmJ5RmVhdHVyZVZlbmRvck1hcFtlXT1uZXcgU2V0fSksT2JqZWN0LmtleXModGhpcy5zcGVjaWFsRmVhdHVyZXMpLmZvckVhY2goZT0+e3RoaXMuYnlTcGVjaWFsRmVhdHVyZVZlbmRvck1hcFtlXT1uZXcgU2V0fSksQXJyYXkuaXNBcnJheShlKXx8KGU9T2JqZWN0LmtleXModGhpcy5mdWxsVmVuZG9yTGlzdCkubWFwKGU9PitlKSksdGhpcy52ZW5kb3JJZHM9bmV3IFNldChlKSx0aGlzLnZlbmRvcnNfPWUucmVkdWNlKChlLHQpPT57dmFyIG89dGhpcy52ZW5kb3JzX1tTdHJpbmcodCldO3JldHVybiBvJiZ2b2lkIDA9PT1vLmRlbGV0ZWREYXRlJiYoby5wdXJwb3Nlcy5mb3JFYWNoKGU9Pnt0aGlzLmJ5UHVycG9zZVZlbmRvck1hcFtTdHJpbmcoZSldLmNvbnNlbnQuYWRkKHQpfSksby5zcGVjaWFsUHVycG9zZXMuZm9yRWFjaChlPT57dGhpcy5ieVNwZWNpYWxQdXJwb3NlVmVuZG9yTWFwW1N0cmluZyhlKV0uYWRkKHQpfSksby5sZWdJbnRQdXJwb3Nlcy5mb3JFYWNoKGU9Pnt0aGlzLmJ5UHVycG9zZVZlbmRvck1hcFtTdHJpbmcoZSldLmxlZ0ludC5hZGQodCl9KSxvLmZsZXhpYmxlUHVycG9zZXMmJm8uZmxleGlibGVQdXJwb3Nlcy5mb3JFYWNoKGU9Pnt0aGlzLmJ5UHVycG9zZVZlbmRvck1hcFtTdHJpbmcoZSldLmZsZXhpYmxlLmFkZCh0KX0pLG8uZmVhdHVyZXMuZm9yRWFjaChlPT57dGhpcy5ieUZlYXR1cmVWZW5kb3JNYXBbU3RyaW5nKGUpXS5hZGQodCl9KSxvLnNwZWNpYWxGZWF0dXJlcy5mb3JFYWNoKGU9Pnt0aGlzLmJ5U3BlY2lhbEZlYXR1cmVWZW5kb3JNYXBbU3RyaW5nKGUpXS5hZGQodCl9KSxlW3RdPW8pLGV9LHt9KX1nZXRGaWx0ZXJlZFZlbmRvcnMoZSx0LG8scil7dmFyIGk9ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpO2xldCBuLGE9e307cmV0dXJuKG49InB1cnBvc2UiPT09ZSYmbz90aGlzWyJieSIraSsiVmVuZG9yTWFwIl1bU3RyaW5nKHQpXVtvXTp0aGlzWyJieSIrKHI/IlNwZWNpYWwiOiIiKStpKyJWZW5kb3JNYXAiXVtTdHJpbmcodCldKS5mb3JFYWNoKGU9PnthW1N0cmluZyhlKV09dGhpcy52ZW5kb3JzW1N0cmluZyhlKV19KSxhfWdldFZlbmRvcnNXaXRoQ29uc2VudFB1cnBvc2UoZSl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVyZWRWZW5kb3JzKCJwdXJwb3NlIixlLCJjb25zZW50Iil9Z2V0VmVuZG9yc1dpdGhMZWdJbnRQdXJwb3NlKGUpe3JldHVybiB0aGlzLmdldEZpbHRlcmVkVmVuZG9ycygicHVycG9zZSIsZSwibGVnSW50Iil9Z2V0VmVuZG9yc1dpdGhGbGV4aWJsZVB1cnBvc2UoZSl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVyZWRWZW5kb3JzKCJwdXJwb3NlIixlLCJmbGV4aWJsZSIpfWdldFZlbmRvcnNXaXRoU3BlY2lhbFB1cnBvc2UoZSl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVyZWRWZW5kb3JzKCJwdXJwb3NlIixlLHZvaWQgMCwhMCl9Z2V0VmVuZG9yc1dpdGhGZWF0dXJlKGUpe3JldHVybiB0aGlzLmdldEZpbHRlcmVkVmVuZG9ycygiZmVhdHVyZSIsZSl9Z2V0VmVuZG9yc1dpdGhTcGVjaWFsRmVhdHVyZShlKXtyZXR1cm4gdGhpcy5nZXRGaWx0ZXJlZFZlbmRvcnMoImZlYXR1cmUiLGUsdm9pZCAwLCEwKX1nZXQgdmVuZG9ycygpe3JldHVybiB0aGlzLnZlbmRvcnNffW5hcnJvd1ZlbmRvcnNUbyhlKXt0aGlzLm1hcFZlbmRvcnMoZSl9Z2V0IGlzUmVhZHkoKXtyZXR1cm4gdGhpcy5pc1JlYWR5X31jbG9uZSgpe3ZhciBlPW5ldyBrKHRoaXMuZ2V0SnNvbigpKTtyZXR1cm4gdGhpcy5sYW5nXyE9PWsuREVGQVVMVF9MQU5HVUFHRSYmZS5jaGFuZ2VMYW5ndWFnZSh0aGlzLmxhbmdfKSxlfXN0YXRpYyBpc0luc3RhbmNlT2YoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5uYXJyb3dWZW5kb3JzVG99fWNsYXNzIG90IGV4dGVuZHMgTWV7c3RhdGljIGNvbnNlbnRMYW5ndWFnZXM9ay5jb25zZW50TGFuZ3VhZ2VzO2lzU2VydmljZVNwZWNpZmljXz0hMTtzdXBwb3J0T09CXz0hMDt1c2VOb25TdGFuZGFyZFRleHRzXz0hMTtwdXJwb3NlT25lVHJlYXRtZW50Xz0hMTtwdWJsaXNoZXJDb3VudHJ5Q29kZV89IkFBIjt2ZXJzaW9uXz0yO2NvbnNlbnRTY3JlZW5fPTA7cG9saWN5VmVyc2lvbl89NTtjb25zZW50TGFuZ3VhZ2VfPSJFTiI7Y21wSWRfPTA7Y21wVmVyc2lvbl89MDt2ZW5kb3JMaXN0VmVyc2lvbl89MDtudW1DdXN0b21QdXJwb3Nlc189MDtndmxfO2NyZWF0ZWQ7bGFzdFVwZGF0ZWQ7c3BlY2lhbEZlYXR1cmVPcHRpbnM9bmV3IFdlO3B1cnBvc2VDb25zZW50cz1uZXcgV2U7cHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHM9bmV3IFdlO3B1Ymxpc2hlckNvbnNlbnRzPW5ldyBXZTtwdWJsaXNoZXJMZWdpdGltYXRlSW50ZXJlc3RzPW5ldyBXZTtwdWJsaXNoZXJDdXN0b21Db25zZW50cz1uZXcgV2U7cHVibGlzaGVyQ3VzdG9tTGVnaXRpbWF0ZUludGVyZXN0cz1uZXcgV2U7Y3VzdG9tUHVycG9zZXM7dmVuZG9yQ29uc2VudHM9bmV3IFdlO3ZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHM9bmV3IFdlO3ZlbmRvcnNEaXNjbG9zZWQ9bmV3IFdlO3ZlbmRvcnNBbGxvd2VkPW5ldyBXZTtwdWJsaXNoZXJSZXN0cmljdGlvbnM9bmV3IEZlO2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksZSYmKHRoaXMuZ3ZsPWUpLHRoaXMudXBkYXRlZCgpfXNldCBndmwoZSl7ay5pc0luc3RhbmNlT2YoZSl8fChlPW5ldyBrKGUpKSx0aGlzLmd2bF89ZSx0aGlzLnB1Ymxpc2hlclJlc3RyaWN0aW9ucy5ndmw9ZX1nZXQgZ3ZsKCl7cmV0dXJuIHRoaXMuZ3ZsX31zZXQgY21wSWQoZSl7aWYoZT1OdW1iZXIoZSksIShOdW1iZXIuaXNJbnRlZ2VyKGUpJiYxPGUpKXRocm93IG5ldyBqZSgiY21wSWQiLGUpO3RoaXMuY21wSWRfPWV9Z2V0IGNtcElkKCl7cmV0dXJuIHRoaXMuY21wSWRffXNldCBjbXBWZXJzaW9uKGUpe2lmKGU9TnVtYmVyKGUpLCEoTnVtYmVyLmlzSW50ZWdlcihlKSYmLTE8ZSkpdGhyb3cgbmV3IGplKCJjbXBWZXJzaW9uIixlKTt0aGlzLmNtcFZlcnNpb25fPWV9Z2V0IGNtcFZlcnNpb24oKXtyZXR1cm4gdGhpcy5jbXBWZXJzaW9uX31zZXQgY29uc2VudFNjcmVlbihlKXtpZihlPU51bWJlcihlKSwhKE51bWJlci5pc0ludGVnZXIoZSkmJi0xPGUpKXRocm93IG5ldyBqZSgiY29uc2VudFNjcmVlbiIsZSk7dGhpcy5jb25zZW50U2NyZWVuXz1lfWdldCBjb25zZW50U2NyZWVuKCl7cmV0dXJuIHRoaXMuY29uc2VudFNjcmVlbl99c2V0IGNvbnNlbnRMYW5ndWFnZShlKXt0aGlzLmNvbnNlbnRMYW5ndWFnZV89ZX1nZXQgY29uc2VudExhbmd1YWdlKCl7cmV0dXJuIHRoaXMuY29uc2VudExhbmd1YWdlX31zZXQgcHVibGlzaGVyQ291bnRyeUNvZGUoZSl7aWYoIS9eKFtBLXpdKXsyfSQvLnRlc3QoZSkpdGhyb3cgbmV3IGplKCJwdWJsaXNoZXJDb3VudHJ5Q29kZSIsZSk7dGhpcy5wdWJsaXNoZXJDb3VudHJ5Q29kZV89ZS50b1VwcGVyQ2FzZSgpfWdldCBwdWJsaXNoZXJDb3VudHJ5Q29kZSgpe3JldHVybiB0aGlzLnB1Ymxpc2hlckNvdW50cnlDb2RlX31zZXQgdmVuZG9yTGlzdFZlcnNpb24oZSl7aWYoKGU9TnVtYmVyKGUpPj4wKTwwKXRocm93IG5ldyBqZSgidmVuZG9yTGlzdFZlcnNpb24iLGUpO3RoaXMudmVuZG9yTGlzdFZlcnNpb25fPWV9Z2V0IHZlbmRvckxpc3RWZXJzaW9uKCl7cmV0dXJuIHRoaXMuZ3ZsP3RoaXMuZ3ZsLnZlbmRvckxpc3RWZXJzaW9uOnRoaXMudmVuZG9yTGlzdFZlcnNpb25ffXNldCBwb2xpY3lWZXJzaW9uKGUpe2lmKHRoaXMucG9saWN5VmVyc2lvbl89cGFyc2VJbnQoZSwxMCksdGhpcy5wb2xpY3lWZXJzaW9uXzwwKXRocm93IG5ldyBqZSgicG9saWN5VmVyc2lvbiIsZSl9Z2V0IHBvbGljeVZlcnNpb24oKXtyZXR1cm4gdGhpcy5ndmw/dGhpcy5ndmwudGNmUG9saWN5VmVyc2lvbjp0aGlzLnBvbGljeVZlcnNpb25ffXNldCB2ZXJzaW9uKGUpe3RoaXMudmVyc2lvbl89cGFyc2VJbnQoZSwxMCl9Z2V0IHZlcnNpb24oKXtyZXR1cm4gdGhpcy52ZXJzaW9uX31zZXQgaXNTZXJ2aWNlU3BlY2lmaWMoZSl7dGhpcy5pc1NlcnZpY2VTcGVjaWZpY189ZX1nZXQgaXNTZXJ2aWNlU3BlY2lmaWMoKXtyZXR1cm4gdGhpcy5pc1NlcnZpY2VTcGVjaWZpY199c2V0IHVzZU5vblN0YW5kYXJkVGV4dHMoZSl7dGhpcy51c2VOb25TdGFuZGFyZFRleHRzXz1lfWdldCB1c2VOb25TdGFuZGFyZFRleHRzKCl7cmV0dXJuIHRoaXMudXNlTm9uU3RhbmRhcmRUZXh0c199c2V0IHN1cHBvcnRPT0IoZSl7dGhpcy5zdXBwb3J0T09CXz1lfWdldCBzdXBwb3J0T09CKCl7cmV0dXJuIHRoaXMuc3VwcG9ydE9PQl99c2V0IHB1cnBvc2VPbmVUcmVhdG1lbnQoZSl7dGhpcy5wdXJwb3NlT25lVHJlYXRtZW50Xz1lfWdldCBwdXJwb3NlT25lVHJlYXRtZW50KCl7cmV0dXJuIHRoaXMucHVycG9zZU9uZVRyZWF0bWVudF99c2V0QWxsVmVuZG9yQ29uc2VudHMoKXt0aGlzLnZlbmRvckNvbnNlbnRzLnNldCh0aGlzLmd2bC52ZW5kb3JzKX11bnNldEFsbFZlbmRvckNvbnNlbnRzKCl7dGhpcy52ZW5kb3JDb25zZW50cy5lbXB0eSgpfXNldEFsbFZlbmRvcnNEaXNjbG9zZWQoKXt0aGlzLnZlbmRvcnNEaXNjbG9zZWQuc2V0KHRoaXMuZ3ZsLnZlbmRvcnMpfXVuc2V0QWxsVmVuZG9yc0Rpc2Nsb3NlZCgpe3RoaXMudmVuZG9yc0Rpc2Nsb3NlZC5lbXB0eSgpfXNldEFsbFZlbmRvcnNBbGxvd2VkKCl7dGhpcy52ZW5kb3JzQWxsb3dlZC5zZXQodGhpcy5ndmwudmVuZG9ycyl9dW5zZXRBbGxWZW5kb3JzQWxsb3dlZCgpe3RoaXMudmVuZG9yc0FsbG93ZWQuZW1wdHkoKX1zZXRBbGxWZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzKCl7dGhpcy52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzLnNldCh0aGlzLmd2bC52ZW5kb3JzKX11bnNldEFsbFZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHMoKXt0aGlzLnZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHMuZW1wdHkoKX1zZXRBbGxQdXJwb3NlQ29uc2VudHMoKXt0aGlzLnB1cnBvc2VDb25zZW50cy5zZXQodGhpcy5ndmwucHVycG9zZXMpfXVuc2V0QWxsUHVycG9zZUNvbnNlbnRzKCl7dGhpcy5wdXJwb3NlQ29uc2VudHMuZW1wdHkoKX1zZXRBbGxQdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cygpe3RoaXMucHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHMuc2V0KHRoaXMuZ3ZsLnB1cnBvc2VzKX11bnNldEFsbFB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzKCl7dGhpcy5wdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cy5lbXB0eSgpfXNldEFsbFNwZWNpYWxGZWF0dXJlT3B0aW5zKCl7dGhpcy5zcGVjaWFsRmVhdHVyZU9wdGlucy5zZXQodGhpcy5ndmwuc3BlY2lhbEZlYXR1cmVzKX11bnNldEFsbFNwZWNpYWxGZWF0dXJlT3B0aW5zKCl7dGhpcy5zcGVjaWFsRmVhdHVyZU9wdGlucy5lbXB0eSgpfXNldEFsbCgpe3RoaXMuc2V0QWxsVmVuZG9yQ29uc2VudHMoKSx0aGlzLnNldEFsbFB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzKCksdGhpcy5zZXRBbGxTcGVjaWFsRmVhdHVyZU9wdGlucygpLHRoaXMuc2V0QWxsUHVycG9zZUNvbnNlbnRzKCksdGhpcy5zZXRBbGxWZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzKCl9dW5zZXRBbGwoKXt0aGlzLnVuc2V0QWxsVmVuZG9yQ29uc2VudHMoKSx0aGlzLnVuc2V0QWxsUHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHMoKSx0aGlzLnVuc2V0QWxsU3BlY2lhbEZlYXR1cmVPcHRpbnMoKSx0aGlzLnVuc2V0QWxsUHVycG9zZUNvbnNlbnRzKCksdGhpcy51bnNldEFsbFZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHMoKX1nZXQgbnVtQ3VzdG9tUHVycG9zZXMoKXtsZXQgZT10aGlzLm51bUN1c3RvbVB1cnBvc2VzXzt2YXIgdDtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHRoaXMuY3VzdG9tUHVycG9zZXMmJih0PU9iamVjdC5rZXlzKHRoaXMuY3VzdG9tUHVycG9zZXMpLnNvcnQoKGUsdCk9Pk51bWJlcihlKS1OdW1iZXIodCkpLGU9cGFyc2VJbnQodC5wb3AoKSwxMCkpLGV9c2V0IG51bUN1c3RvbVB1cnBvc2VzKGUpe2lmKHRoaXMubnVtQ3VzdG9tUHVycG9zZXNfPXBhcnNlSW50KGUsMTApLHRoaXMubnVtQ3VzdG9tUHVycG9zZXNfPDApdGhyb3cgbmV3IGplKCJudW1DdXN0b21QdXJwb3NlcyIsZSl9dXBkYXRlZCgpe3ZhciBlPW5ldyBEYXRlLGU9bmV3IERhdGUoRGF0ZS5VVEMoZS5nZXRVVENGdWxsWWVhcigpLGUuZ2V0VVRDTW9udGgoKSxlLmdldFVUQ0RhdGUoKSkpO3RoaXMuY3JlYXRlZD1lLHRoaXMubGFzdFVwZGF0ZWQ9ZX19Y2xhc3MgcnR7c3RhdGljIGVuY29kZShyLGUpe2xldCBpPSIiLG47cmV0dXJuIHI9Y2xhc3N7c3RhdGljIHByb2Nlc3Nvcj1bZT0+ZSwoYSxvKT0+e2EucHVibGlzaGVyUmVzdHJpY3Rpb25zLmd2bD1vLGEucHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHMudW5zZXQoWzEsMyw0LDUsNl0pO3ZhciBlPW5ldyBNYXA7cmV0dXJuIGUuc2V0KCJsZWdJbnRQdXJwb3NlcyIsYS52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzKSxlLnNldCgicHVycG9zZXMiLGEudmVuZG9yQ29uc2VudHMpLGUuZm9yRWFjaCgoaSxuKT0+e2kuZm9yRWFjaCgoZSx0KT0+e2lmKGUpe2U9by52ZW5kb3JzW3RdO2lmKCFlfHxlLmRlbGV0ZWREYXRlKWkudW5zZXQodCk7ZWxzZSBpZigwPT09ZVtuXS5sZW5ndGgpaWYoImxlZ0ludFB1cnBvc2VzIj09PW4mJjA9PT1lLnB1cnBvc2VzLmxlbmd0aCYmMD09PWUubGVnSW50UHVycG9zZXMubGVuZ3RoJiYwPGUuc3BlY2lhbFB1cnBvc2VzLmxlbmd0aClpLnNldCh0KTtlbHNlIGlmKCJsZWdJbnRQdXJwb3NlcyI9PT1uJiYwPGUucHVycG9zZXMubGVuZ3RoJiYwPT09ZS5sZWdJbnRQdXJwb3Nlcy5sZW5ndGgmJjA8ZS5zcGVjaWFsUHVycG9zZXMubGVuZ3RoKWkuc2V0KHQpO2Vsc2UgaWYoYS5pc1NlcnZpY2VTcGVjaWZpYylpZigwPT09ZS5mbGV4aWJsZVB1cnBvc2VzLmxlbmd0aClpLnVuc2V0KHQpO2Vsc2V7dmFyIHI9YS5wdWJsaXNoZXJSZXN0cmljdGlvbnMuZ2V0UmVzdHJpY3Rpb25zKHQpO2xldCBvPSExO2ZvcihsZXQgZT0wLHQ9ci5sZW5ndGg7ZTx0JiYhbztlKyspbz1yW2VdLnJlc3RyaWN0aW9uVHlwZT09PUsuUkVRVUlSRV9DT05TRU5UJiYicHVycG9zZXMiPT09bnx8cltlXS5yZXN0cmljdGlvblR5cGU9PT1LLlJFUVVJUkVfTEkmJiJsZWdJbnRQdXJwb3NlcyI9PT1uO298fGkudW5zZXQodCl9ZWxzZSBpLnVuc2V0KHQpfX0pfSksYS52ZW5kb3JzRGlzY2xvc2VkLnNldChvLnZlbmRvcnMpLGF9XTtzdGF0aWMgcHJvY2VzcyhlLHQpe3ZhciBvPWUuZ3ZsO2lmKCFvKXRocm93IG5ldyBQZSgiVW5hYmxlIHRvIGVuY29kZSBUQ01vZGVsIHdpdGhvdXQgYSBHVkwiKTtpZighby5pc1JlYWR5KXRocm93IG5ldyBQZSgiVW5hYmxlIHRvIGVuY29kZSBUQ01vZGVsIHRjTW9kZWwuZ3ZsLnJlYWR5UHJvbWlzZSBpcyBub3QgcmVzb2x2ZWQiKTsoZT1lLmNsb25lKCkpLmNvbnNlbnRMYW5ndWFnZT1vLmxhbmd1YWdlLnNsaWNlKDAsMikudG9VcHBlckNhc2UoKSwwPHQ/LnZlcnNpb24mJnQ/LnZlcnNpb248PXRoaXMucHJvY2Vzc29yLmxlbmd0aD9lLnZlcnNpb249dC52ZXJzaW9uOmUudmVyc2lvbj10aGlzLnByb2Nlc3Nvci5sZW5ndGg7dD1lLnZlcnNpb24tMTtpZih0aGlzLnByb2Nlc3Nvclt0XSlyZXR1cm4gdGhpcy5wcm9jZXNzb3JbdF0oZSxvKTt0aHJvdyBuZXcgUGUoIkludmFsaWQgdmVyc2lvbjogIitlLnZlcnNpb24pfX0ucHJvY2VzcyhyLGUpLChuPUFycmF5LmlzQXJyYXkoZT8uc2VnbWVudHMpP2Uuc2VnbWVudHM6bmV3IFhlKHIsZSlbIiIrci52ZXJzaW9uXSkuZm9yRWFjaCgoZSx0KT0+e2xldCBvPSIiO3Q8bi5sZW5ndGgtMSYmKG89Ii4iKSxpKz1ldC5lbmNvZGUocixlKStvfSksaX1zdGF0aWMgZGVjb2RlKGUsdCl7dmFyIG89ZS5zcGxpdCgiLiIpLHI9by5sZW5ndGg7dD10fHxuZXcgb3Q7Zm9yKGxldCBlPTA7ZTxyO2UrKyl7dmFyIGk9b1tlXSxuPU5lLmRlY29kZShpLmNoYXJBdCgwKSkuc3Vic3RyKDAsdS5zZWdtZW50VHlwZSksbj1VZS5JRF9UT19LRVlbZy5kZWNvZGUobix1LnNlZ21lbnRUeXBlKS50b1N0cmluZygpXTtldC5kZWNvZGUoaSx0LG4pfXJldHVybiB0fX0obz1aPVp8fHt9KS5QSU5HPSJwaW5nIixvLkdFVF9UQ19EQVRBPSJnZXRUQ0RhdGEiLG8uR0VUX0lOX0FQUF9UQ19EQVRBPSJnZXRJbkFwcFRDRGF0YSIsby5HRVRfVkVORE9SX0xJU1Q9ImdldFZlbmRvckxpc3QiLG8uQUREX0VWRU5UX0xJU1RFTkVSPSJhZGRFdmVudExpc3RlbmVyIixvLlJFTU9WRV9FVkVOVF9MSVNURU5FUj0icmVtb3ZlRXZlbnRMaXN0ZW5lciIsKGtlPVk9WXx8e30pLlNUVUI9InN0dWIiLGtlLkxPQURJTkc9ImxvYWRpbmciLGtlLkxPQURFRD0ibG9hZGVkIixrZS5FUlJPUj0iZXJyb3IiLChJZT1yZT1yZXx8e30pLlZJU0lCTEU9InZpc2libGUiLEllLkhJRERFTj0iaGlkZGVuIixJZS5ESVNBQkxFRD0iZGlzYWJsZWQiLChTZT1hZT1hZXx8e30pLlRDX0xPQURFRD0idGNsb2FkZWQiLFNlLkNNUF9VSV9TSE9XTj0iY21wdWlzaG93biIsU2UuVVNFUl9BQ1RJT05fQ09NUExFVEU9InVzZXJhY3Rpb25jb21wbGV0ZSI7Y2xhc3MgaXR7bGlzdGVuZXJJZDtjYWxsYmFjaztuZXh0O3BhcmFtO3N1Y2Nlc3M9ITA7Y29uc3RydWN0b3IoZSx0LG8scil7T2JqZWN0LmFzc2lnbih0aGlzLHtjYWxsYmFjazplLGxpc3RlbmVySWQ6byxwYXJhbTp0LG5leHQ6cn0pO3RyeXt0aGlzLnJlc3BvbmQoKX1jYXRjaChlKXt0aGlzLmludm9rZUNhbGxiYWNrKG51bGwpfX1pbnZva2VDYWxsYmFjayhlKXt2YXIgdD1udWxsIT09ZTsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5uZXh0P3RoaXMuY2FsbGJhY2sodGhpcy5uZXh0LGUsdCk6dGhpcy5jYWxsYmFjayhlLHQpfX1jbGFzcyBudCBleHRlbmRzIGl0e3Jlc3BvbmQoKXt0aGlzLnRocm93SWZQYXJhbUludmFsaWQoKSx0aGlzLmludm9rZUNhbGxiYWNrKG5ldyBjdCh0aGlzLnBhcmFtLHRoaXMubGlzdGVuZXJJZCkpfXRocm93SWZQYXJhbUludmFsaWQoKXtpZighKHZvaWQgMD09PXRoaXMucGFyYW18fEFycmF5LmlzQXJyYXkodGhpcy5wYXJhbSkmJnRoaXMucGFyYW0uZXZlcnkoTnVtYmVyLmlzSW50ZWdlcikpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBQYXJhbWV0ZXIiKX19Y2xhc3MgYXR7ZXZlbnRRdWV1ZT1uZXcgTWFwO3F1ZXVlTnVtYmVyPTA7YWRkKGUpe3JldHVybiB0aGlzLmV2ZW50UXVldWUuc2V0KHRoaXMucXVldWVOdW1iZXIsZSksdGhpcy5xdWV1ZU51bWJlcisrfXJlbW92ZShlKXtyZXR1cm4gdGhpcy5ldmVudFF1ZXVlLmRlbGV0ZShlKX1leGVjKCl7dGhpcy5ldmVudFF1ZXVlLmZvckVhY2goKGUsdCk9PntuZXcgbnQoZS5jYWxsYmFjayxlLnBhcmFtLHQsZS5uZXh0KX0pfWNsZWFyKCl7dGhpcy5xdWV1ZU51bWJlcj0wLHRoaXMuZXZlbnRRdWV1ZS5jbGVhcigpfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuZXZlbnRRdWV1ZS5zaXplfX1jbGFzcyBpe3N0YXRpYyBhcGlWZXJzaW9uPSIyIjtzdGF0aWMgdGNmUG9saWN5VmVyc2lvbjtzdGF0aWMgZXZlbnRRdWV1ZT1uZXcgYXQ7c3RhdGljIGNtcFN0YXR1cz1ZLkxPQURJTkc7c3RhdGljIGRpc2FibGVkPSExO3N0YXRpYyBkaXNwbGF5U3RhdHVzPXJlLkhJRERFTjtzdGF0aWMgY21wSWQ7c3RhdGljIGNtcFZlcnNpb247c3RhdGljIGV2ZW50U3RhdHVzO3N0YXRpYyBnZHByQXBwbGllcztzdGF0aWMgdGNNb2RlbDtzdGF0aWMgdGNTdHJpbmc7c3RhdGljIHJlc2V0KCl7ZGVsZXRlIHRoaXMuY21wSWQsZGVsZXRlIHRoaXMuY21wVmVyc2lvbixkZWxldGUgdGhpcy5ldmVudFN0YXR1cyxkZWxldGUgdGhpcy5nZHByQXBwbGllcyxkZWxldGUgdGhpcy50Y01vZGVsLGRlbGV0ZSB0aGlzLnRjU3RyaW5nLGRlbGV0ZSB0aGlzLnRjZlBvbGljeVZlcnNpb24sdGhpcy5jbXBTdGF0dXM9WS5MT0FESU5HLHRoaXMuZGlzYWJsZWQ9ITEsdGhpcy5kaXNwbGF5U3RhdHVzPXJlLkhJRERFTix0aGlzLmV2ZW50UXVldWUuY2xlYXIoKX19Y2xhc3Mgc3R7Y21wSWQ9aS5jbXBJZDtjbXBWZXJzaW9uPWkuY21wVmVyc2lvbjtnZHByQXBwbGllcz1pLmdkcHJBcHBsaWVzO3RjZlBvbGljeVZlcnNpb249aS50Y2ZQb2xpY3lWZXJzaW9ufWNsYXNzIGx0IGV4dGVuZHMgc3R7Y21wU3RhdHVzPVkuRVJST1J9Y2xhc3MgY3QgZXh0ZW5kcyBzdHt0Y1N0cmluZztsaXN0ZW5lcklkO2V2ZW50U3RhdHVzO2NtcFN0YXR1cztpc1NlcnZpY2VTcGVjaWZpYzt1c2VOb25TdGFuZGFyZFRleHRzO3B1Ymxpc2hlckNDO3B1cnBvc2VPbmVUcmVhdG1lbnQ7b3V0T2ZCYW5kO3B1cnBvc2U7dmVuZG9yO3NwZWNpYWxGZWF0dXJlT3B0aW5zO3B1Ymxpc2hlcjtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5ldmVudFN0YXR1cz1pLmV2ZW50U3RhdHVzLHRoaXMuY21wU3RhdHVzPWkuY21wU3RhdHVzLHRoaXMubGlzdGVuZXJJZD10LGkuZ2RwckFwcGxpZXMmJih0PWkudGNNb2RlbCx0aGlzLnRjU3RyaW5nPWkudGNTdHJpbmcsdGhpcy5pc1NlcnZpY2VTcGVjaWZpYz10LmlzU2VydmljZVNwZWNpZmljLHRoaXMudXNlTm9uU3RhbmRhcmRUZXh0cz10LnVzZU5vblN0YW5kYXJkVGV4dHMsdGhpcy5wdXJwb3NlT25lVHJlYXRtZW50PXQucHVycG9zZU9uZVRyZWF0bWVudCx0aGlzLnB1Ymxpc2hlckNDPXQucHVibGlzaGVyQ291bnRyeUNvZGUsdGhpcy5vdXRPZkJhbmQ9e2FsbG93ZWRWZW5kb3JzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC52ZW5kb3JzQWxsb3dlZCxlKSxkaXNjbG9zZWRWZW5kb3JzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC52ZW5kb3JzRGlzY2xvc2VkLGUpfSx0aGlzLnB1cnBvc2U9e2NvbnNlbnRzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC5wdXJwb3NlQ29uc2VudHMpLGxlZ2l0aW1hdGVJbnRlcmVzdHM6dGhpcy5jcmVhdGVWZWN0b3JGaWVsZCh0LnB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzKX0sdGhpcy52ZW5kb3I9e2NvbnNlbnRzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC52ZW5kb3JDb25zZW50cyxlKSxsZWdpdGltYXRlSW50ZXJlc3RzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzLGUpfSx0aGlzLnNwZWNpYWxGZWF0dXJlT3B0aW5zPXRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC5zcGVjaWFsRmVhdHVyZU9wdGlucyksdGhpcy5wdWJsaXNoZXI9e2NvbnNlbnRzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC5wdWJsaXNoZXJDb25zZW50cyksbGVnaXRpbWF0ZUludGVyZXN0czp0aGlzLmNyZWF0ZVZlY3RvckZpZWxkKHQucHVibGlzaGVyTGVnaXRpbWF0ZUludGVyZXN0cyksY3VzdG9tUHVycG9zZTp7Y29uc2VudHM6dGhpcy5jcmVhdGVWZWN0b3JGaWVsZCh0LnB1Ymxpc2hlckN1c3RvbUNvbnNlbnRzKSxsZWdpdGltYXRlSW50ZXJlc3RzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC5wdWJsaXNoZXJDdXN0b21MZWdpdGltYXRlSW50ZXJlc3RzKX0scmVzdHJpY3Rpb25zOnRoaXMuY3JlYXRlUmVzdHJpY3Rpb25zKHQucHVibGlzaGVyUmVzdHJpY3Rpb25zKX0pfWNyZWF0ZVJlc3RyaWN0aW9ucyh0KXtsZXQgcj17fTtpZigwPHQubnVtUmVzdHJpY3Rpb25zKXt2YXIgbz10LmdldE1heFZlbmRvcklkKCk7Zm9yKGxldCBlPTE7ZTw9bztlKyspe2xldCBvPWUudG9TdHJpbmcoKTt0LmdldFJlc3RyaWN0aW9ucyhlKS5mb3JFYWNoKGU9Pnt2YXIgdD1lLnB1cnBvc2VJZC50b1N0cmluZygpO3JbdF18fChyW3RdPXt9KSxyW3RdW29dPWUucmVzdHJpY3Rpb25UeXBlfSl9fXJldHVybiByfWNyZWF0ZVZlY3RvckZpZWxkKG8sZSl7cmV0dXJuIGU/ZS5yZWR1Y2UoKGUsdCk9PihlW1N0cmluZyh0KV09by5oYXMoTnVtYmVyKHQpKSxlKSx7fSk6Wy4uLm9dLnJlZHVjZSgoZSx0KT0+KGVbdFswXS50b1N0cmluZygxMCldPXRbMV0sZSkse30pfX1jbGFzcyBkdCBleHRlbmRzIGN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLGRlbGV0ZSB0aGlzLm91dE9mQmFuZH1jcmVhdGVWZWN0b3JGaWVsZChlKXtyZXR1cm5bLi4uZV0ucmVkdWNlKChlLHQpPT5lKz10WzFdPyIxIjoiMCIsIiIpfWNyZWF0ZVJlc3RyaWN0aW9ucyhlKXtsZXQgbj17fTtpZigwPGUubnVtUmVzdHJpY3Rpb25zKXtsZXQgdD1lLmdldE1heFZlbmRvcklkKCk7ZS5nZXRSZXN0cmljdGlvbnMoKS5mb3JFYWNoKGU9PntuW2UucHVycG9zZUlkLnRvU3RyaW5nKCldPSJfIi5yZXBlYXQodCl9KTtmb3IobGV0IGk9MDtpPHQ7aSsrKXt2YXIgbz1pKzE7ZS5nZXRSZXN0cmljdGlvbnMobykuZm9yRWFjaChlPT57dmFyIHQ9ZS5yZXN0cmljdGlvblR5cGUudG9TdHJpbmcoKSxlPWUucHVycG9zZUlkLnRvU3RyaW5nKCksbz1uW2VdLnN1YnN0cigwLGkpLHI9bltlXS5zdWJzdHIoaSsxKTtuW2VdPW8rdCtyfSl9fXJldHVybiBufX1jbGFzcyBwdCBleHRlbmRzIHN0e2NtcExvYWRlZD0hMDtjbXBTdGF0dXM9aS5jbXBTdGF0dXM7ZGlzcGxheVN0YXR1cz1pLmRpc3BsYXlTdGF0dXM7YXBpVmVyc2lvbj1TdHJpbmcoaS5hcGlWZXJzaW9uKTtndmxWZXJzaW9uO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxpLnRjTW9kZWwmJmkudGNNb2RlbC52ZW5kb3JMaXN0VmVyc2lvbiYmKHRoaXMuZ3ZsVmVyc2lvbj0raS50Y01vZGVsLnZlbmRvckxpc3RWZXJzaW9uKX19Y2xhc3MgdXQgZXh0ZW5kcyBpdHtyZXNwb25kKCl7dGhpcy5pbnZva2VDYWxsYmFjayhuZXcgcHQpfX1jbGFzcyBndCBleHRlbmRzIG50e3Jlc3BvbmQoKXt0aGlzLnRocm93SWZQYXJhbUludmFsaWQoKSx0aGlzLmludm9rZUNhbGxiYWNrKG5ldyBkdCh0aGlzLnBhcmFtKSl9fWNsYXNzIG10IGV4dGVuZHMgaXR7cmVzcG9uZCgpe3ZhciBlPWkudGNNb2RlbCx0PWUudmVuZG9yTGlzdFZlcnNpb247bGV0IG87dm9pZCAwPT09dGhpcy5wYXJhbSYmKHRoaXMucGFyYW09dCksKG89dGhpcy5wYXJhbT09PXQmJmUuZ3ZsP2UuZ3ZsOm5ldyBrKHRoaXMucGFyYW0pKS5yZWFkeVByb21pc2UudGhlbigoKT0+e3RoaXMuaW52b2tlQ2FsbGJhY2soby5nZXRKc29uKCkpfSl9fWNsYXNzIGZ0IGV4dGVuZHMgbnR7cmVzcG9uZCgpe3RoaXMubGlzdGVuZXJJZD1pLmV2ZW50UXVldWUuYWRkKHtjYWxsYmFjazp0aGlzLmNhbGxiYWNrLHBhcmFtOnRoaXMucGFyYW0sbmV4dDp0aGlzLm5leHR9KSxzdXBlci5yZXNwb25kKCl9fWNsYXNzIGh0IGV4dGVuZHMgaXR7cmVzcG9uZCgpe3RoaXMuaW52b2tlQ2FsbGJhY2soaS5ldmVudFF1ZXVlLnJlbW92ZSh0aGlzLnBhcmFtKSl9fWNsYXNzIGJ0e3N0YXRpY1taLlBJTkddPXV0O3N0YXRpY1taLkdFVF9UQ19EQVRBXT1udDtzdGF0aWNbWi5HRVRfSU5fQVBQX1RDX0RBVEFdPWd0O3N0YXRpY1taLkdFVF9WRU5ET1JfTElTVF09bXQ7c3RhdGljW1ouQUREX0VWRU5UX0xJU1RFTkVSXT1mdDtzdGF0aWNbWi5SRU1PVkVfRVZFTlRfTElTVEVORVJdPWh0fWNsYXNzIHh0e3N0YXRpYyBzZXRfPW5ldyBTZXQoWzAsMix2b2lkIDAsbnVsbF0pO3N0YXRpYyBoYXMoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT1OdW1iZXIoZSkpLHRoaXMuc2V0Xy5oYXMoZSl9fWxldCB5dD0iX190Y2ZhcGkiO2NsYXNzIHd0e2NhbGxRdWV1ZTtjdXN0b21Db21tYW5kcztjb25zdHJ1Y3RvcihlKXtpZihlKXt2YXIgdD1aLkFERF9FVkVOVF9MSVNURU5FUjtpZihlPy5bdF0pdGhyb3cgbmV3IEVycm9yKGBCdWlsdC1JbiBDdXN0b20gQ29tbW1hbmQgZm9yICR7dH0gbm90IGFsbG93ZWQ6IFVzZSAke1ouR0VUX1RDX0RBVEF9IGluc3RlYWRgKTtpZih0PVouUkVNT1ZFX0VWRU5UX0xJU1RFTkVSLGU/Llt0XSl0aHJvdyBuZXcgRXJyb3IoYEJ1aWx0LUluIEN1c3RvbSBDb21tbWFuZCBmb3IgJHt0fSBub3QgYWxsb3dlZGApO2U/LltaLkdFVF9UQ19EQVRBXSYmKGVbWi5BRERfRVZFTlRfTElTVEVORVJdPWVbWi5HRVRfVENfREFUQV0sZVtaLlJFTU9WRV9FVkVOVF9MSVNURU5FUl09ZVtaLkdFVF9UQ19EQVRBXSksdGhpcy5jdXN0b21Db21tYW5kcz1lfXRyeXt0aGlzLmNhbGxRdWV1ZT13aW5kb3dbeXRdKCl8fFtdfWNhdGNoKGUpe3RoaXMuY2FsbFF1ZXVlPVtdfWZpbmFsbHl7d2luZG93W3l0XT10aGlzLmFwaUNhbGwuYmluZCh0aGlzKSx0aGlzLnB1cmdlUXVldWVkQ2FsbHMoKX19YXBpQ2FsbChlLHQsbywuLi5yKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpbyhudWxsLCExKTtlbHNlIGlmKHh0Lmhhcyh0KSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG8pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrIGZ1bmN0aW9uIik7aS5kaXNhYmxlZD9vKG5ldyBsdCwhMSk6dGhpcy5pc0N1c3RvbUNvbW1hbmQoZSl8fHRoaXMuaXNCdWlsdEluQ29tbWFuZChlKT90aGlzLmlzQ3VzdG9tQ29tbWFuZChlKSYmIXRoaXMuaXNCdWlsdEluQ29tbWFuZChlKT90aGlzLmN1c3RvbUNvbW1hbmRzW2VdKG8sLi4ucik6ZT09PVouUElORz90aGlzLmlzQ3VzdG9tQ29tbWFuZChlKT9uZXcgYnRbZV0odGhpcy5jdXN0b21Db21tYW5kc1tlXSxyWzBdLG51bGwsbyk6bmV3IGJ0W2VdKG8sclswXSk6dm9pZCAwPT09aS50Y01vZGVsP3RoaXMuY2FsbFF1ZXVlLnB1c2goW2UsdCxvLC4uLnJdKTp0aGlzLmlzQ3VzdG9tQ29tbWFuZChlKSYmdGhpcy5pc0J1aWx0SW5Db21tYW5kKGUpP25ldyBidFtlXSh0aGlzLmN1c3RvbUNvbW1hbmRzW2VdLHJbMF0sbnVsbCxvKTpuZXcgYnRbZV0obyxyWzBdKTpvKG51bGwsITEpfWVsc2UgbyhudWxsLCExKX1wdXJnZVF1ZXVlZENhbGxzKCl7dmFyIGU9dGhpcy5jYWxsUXVldWU7dGhpcy5jYWxsUXVldWU9W10sZS5mb3JFYWNoKGU9Pnt3aW5kb3dbeXRdKC4uLmUpfSl9aXNDdXN0b21Db21tYW5kKGUpe3JldHVybiB0aGlzLmN1c3RvbUNvbW1hbmRzJiYiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jdXN0b21Db21tYW5kc1tlXX1pc0J1aWx0SW5Db21tYW5kKGUpe3JldHVybiB2b2lkIDAhPT1idFtlXX19Y2xhc3MgQ3R7Y2FsbFJlc3BvbmRlcjtpc1NlcnZpY2VTcGVjaWZpYztudW1VcGRhdGVzPTA7Y29uc3RydWN0b3IoZSx0LG89ITEscil7dGhpcy50aHJvd0lmSW52YWxpZEludChlLCJjbXBJZCIsMiksdGhpcy50aHJvd0lmSW52YWxpZEludCh0LCJjbXBWZXJzaW9uIiwwKSxpLmNtcElkPWUsaS5jbXBWZXJzaW9uPXQsaS50Y2ZQb2xpY3lWZXJzaW9uPTUsdGhpcy5pc1NlcnZpY2VTcGVjaWZpYz0hIW8sdGhpcy5jYWxsUmVzcG9uZGVyPW5ldyB3dChyKX10aHJvd0lmSW52YWxpZEludChlLHQsbyl7aWYoISgibnVtYmVyIj09dHlwZW9mIGUmJk51bWJlci5pc0ludGVnZXIoZSkmJm88PWUpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCAke3R9OiBgK2UpfXVwZGF0ZShlLHQ9ITEpe2lmKGkuZGlzYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJDbXBBcGkgRGlzYWJsZWQiKTtpLmNtcFN0YXR1cz1ZLkxPQURFRCx0PyhpLmRpc3BsYXlTdGF0dXM9cmUuVklTSUJMRSxpLmV2ZW50U3RhdHVzPWFlLkNNUF9VSV9TSE9XTik6dm9pZCAwPT09aS50Y01vZGVsPyhpLmRpc3BsYXlTdGF0dXM9cmUuRElTQUJMRUQsaS5ldmVudFN0YXR1cz1hZS5UQ19MT0FERUQpOihpLmRpc3BsYXlTdGF0dXM9cmUuSElEREVOLGkuZXZlbnRTdGF0dXM9YWUuVVNFUl9BQ1RJT05fQ09NUExFVEUpLGkuZ2RwckFwcGxpZXM9bnVsbCE9PWUsaS5nZHByQXBwbGllcz8oIiI9PT1lPyhpLnRjTW9kZWw9bmV3IG90LGkudGNNb2RlbC5jbXBJZD1pLmNtcElkLGkudGNNb2RlbC5jbXBWZXJzaW9uPWkuY21wVmVyc2lvbik6aS50Y01vZGVsPXJ0LmRlY29kZShlKSxpLnRjTW9kZWwuaXNTZXJ2aWNlU3BlY2lmaWM9dGhpcy5pc1NlcnZpY2VTcGVjaWZpYyxpLnRjZlBvbGljeVZlcnNpb249TnVtYmVyKGkudGNNb2RlbC5wb2xpY3lWZXJzaW9uKSxpLnRjU3RyaW5nPWUpOmkudGNNb2RlbD1udWxsLDA9PT10aGlzLm51bVVwZGF0ZXM/dGhpcy5jYWxsUmVzcG9uZGVyLnB1cmdlUXVldWVkQ2FsbHMoKTppLmV2ZW50UXVldWUuZXhlYygpLHRoaXMubnVtVXBkYXRlcysrfWRpc2FibGUoKXtpLmRpc2FibGVkPSEwLGkuY21wU3RhdHVzPVkuRVJST1J9fWxldHtjbXBWZXJzaW9uOnZ0LGNwbUlkOmt0LHRjZlZlcnNpb246SXQsYmFzZVVybDpTdH09e2Jhc2VVcmw6Imh0dHBzOi8vZGlzY2xhaW1lci1hcGkuZ29hZG9wdC5pbyIsY3BtSWQ6IjQzMCIsY21wVmVyc2lvbjoiMiIsdGNmVmVyc2lvbjoiMiJ9O2suYmFzZVVybD1TdCsiL2FwaS9pYWIvIjtsZXQgVHQsTHQsJHQ7YXN5bmMgZnVuY3Rpb24gQXQoe3RjU3RyaW5nOmUsdWlWaXNpYmxlOnR9KXtUdC51cGRhdGUoZT8/RXQoKSx0KX1mdW5jdGlvbiBFdCgpe3JldHVybiAkdD9ydC5lbmNvZGUoTHQpOm51bGx9ZnVuY3Rpb24gUnQoZSl7cmV0dXJuL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMS01XVswLTlhLWZdezN9LVs4OWFiXVswLTlhLWZdezN9LVswLTlhLWZdezEyfSQvaS50ZXN0KGUpfWxldCBPdD1geyJkaXNjbGFpbWVyV2Vic2l0ZXMiOlt7IndlYnNpdGVfaWQiOiIzNzE1NTk4Ny1kNDM2LTRkNmUtOWU2MS0yN2Q1YjgyZGQzY2QiLCJ1cmwiOiJodHRwczovL3d3dy5oZGlzZWd1cm9zLmNvbS5ici8ifV0sInVybHMiOnsidGVybXMiOm51bGwsInBvbGljeSI6Imh0dHBzOi8vd3d3LmhkaXNlZ3Vyb3MuY29tLmJyL3BvbGl0aWNhLWRlLXByaXZhY2lkYWRlIiwiY29va2llcyI6bnVsbCwib3B0b3V0IjoiaHR0cHM6Ly9odWIuZ29hZG9wdC5pby9wcml2YWN5LWh1Yi9mYmEyMTY0Zi1iNGFiLTQwOWUtOTgwOC0zZDIzZGI1OWJmYWU/bGFuZ3VhZ2U9cHQmbGVnaXNsYXRpb249bGdwZCZ3ZWJzaXRlSWQ9MzcxNTU5ODctZDQzNi00ZDZlLTllNjEtMjdkNWI4MmRkM2NkJmRpc2NsYWltZXJJZD1kZTA4ZGQ2MS1hYTlkLTQ1NDAtODk2ZC0yNjE2OGQ5MWU5MDUiLCJjbGVhbkNvb2tpZUxpbmsiOiJodHRwczovL2dvYWRvcHQuaW8vYmxvZy9hcGFnYXItY29va2llcy1jYWNoZS1uYXZlZ2Fkb3IvIn0sImRpc2NsYWltZXJPcHRpb25zIjp7ImRpc2NsYWltZXJBbmltYXRpb25zIjp0cnVlLCJ1bmNoZWNrVGFncyI6dHJ1ZSwiaGlkZURpc2NsYWltZXIiOmZhbHNlLCJ0aGVtZSI6ImRlZmF1bHQiLCJkaXNjbGFpbWVyQ29udHJvbGxlclZpc2liaWxpdHkiOnRydWUsImRpc2NsYWltZXJDYXJkU2hhZG93Ijp0cnVlLCJzaG91bGRTZXRTdWJkb21haW5Db29raWUiOmZhbHNlLCJoYXNBdXRvQmxvY2tFbmFibGVkIjpmYWxzZSwiaGFzTWFudWFsQm9ja0VuYWJsZWQiOmZhbHNlLCJpZ25vcmVkVXJscyI6W10sImNvbnNlbnRXYWxsIjpmYWxzZSwidmVyc2lvbk51bWJlciI6Imxhc3RWZXJzaW9uIiwiYWNjZXNzaWJpbGl0eSI6ZmFsc2UsImlmcmFtZVJlcXVlc3QiOmZhbHNlfSwiY29uc2VudE9wdGlvbnMiOnsiY29uc2VudFRUTCI6NjAsImNvbnNlbnRWZXJzaW9uIjoxLCJwcmlvcml0eVF1ZXVlIjp0cnVlLCJyZW1vdmVDb25zZW50RnJvbUNvb2tpZXMiOmZhbHNlLCJhbGxvd1RQQ29va2llcyI6ZmFsc2UsImNhdGVnb3JpZXNGaXJlZEFzRGVmYXVsdCI6W10sImNhdGVnb3JpZXNBY3RpdmVCeURlZmF1bHQiOm51bGx9LCJjb250cm9sbGVyIjoiYWRvcHQiLCJjb2xvcnMiOnsid2ViIjp7ImxpZ2h0Ijp7InByaW1hcnlDb2xvciI6IiMxNDY5MDMiLCJ0ZXh0Q29sb3IiOiIjMzQ0NjRDIiwiYmdDb2xvciI6IiNGRkZGRkYifSwiZGFyayI6eyJwcmltYXJ5Q29sb3IiOiIjMDBERDgwIiwidGV4dENvbG9yIjoiIzM0NDY0QyIsImJnQ29sb3IiOiIjRkZGRkZGIn19LCJtb2JpbGUiOnsibGlnaHQiOnsicHJpbWFyeUNvbG9yIjoiIzE0NjkwMyIsInRleHRDb2xvciI6IiMzNDQ2NEMiLCJiZ0NvbG9yIjoiI0ZGRkZGRiJ9LCJkYXJrIjp7InByaW1hcnlDb2xvciI6IiMwMEREODAiLCJ0ZXh0Q29sb3IiOiIjMzQ0NjRDIiwiYmdDb2xvciI6IiNGRkZGRkYifX19LCJwb3NpdGlvbiI6eyJjb250cm9sbGVyIjoicmlnaHQiLCJjYXJkIjoicmlnaHQifSwic3R5bGVzIjp7InN0eWxlcyI6eyJ3ZWIiOnt9LCJtb2JpbGUiOnt9fX0sInRleHRzIjp7ImxpbmtzIjp7InRlcm1zIjoiVGVybW9zIGRlIHVzbyIsIm9wdG91dCI6Ik9wdC1vdXQiLCJwb2xpY3kiOiJQb2zDrXRpY2EgZGUgUHJpdmFjaWRhZGUiLCJjb29raWVzIjoiUG9sw610aWNhIGRlIENvb2tpZXMifSwidGl0bGVzIjp7ImNhcmQiOiJDb250cm9sZSBzdWEgcHJpdmFjaWRhZGUiLCJwcmVmZXJlbmNlIjoiUXVlbSBwb2RlIHVzYXIgc2V1cyBjb29raWVzPyJ9LCJidXR0b25zIjp7InNob3dNb3JlIjoiTW9zdHJlIG1haXMiLCJhY2NlcHRBbGwiOiJBY2VpdGFyIiwiZG9Ob3RTZWxsIjoiTsOjbyB2ZW5kYSIsInJlamVjdEFsbCI6IlJlamVpdGFyIiwiYWNjZXB0Q3VzdG9tIjoiU2FsdmFyIG9ww6fDtWVzIiwic2hvd1ByZWZlcmVuY2VzIjoiTWluaGFzIG9ww6fDtWVzIn0sImJvZHlUZXh0cyI6eyJjYXJkIjoiTm9zc28gc2l0ZSB1c2EgY29va2llcyBwYXJhIG1lbGhvcmFyIGEgbmF2ZWdhw6fDo28uIiwicmVnaW9uIjoiTG9jYWxpemHDp8OjbyIsImFkb3B0VGV4dCI6IlZhbG9yaXplIHN1YSBwcml2YWNpZGFkZSBjb20iLCJleHBpcmF0aW9uIjoiRXhwaXJhw6fDo28ifSwiY2F0ZWdvcmllcyI6eyJ0Y2YiOnsibmFtZSI6IkZvcm5lY2Vkb3JlcyBUZXJjZWlyaXphZG9zIiwiZGVzY3JpcHRpb24iOiJFc3RhIGNhdGVnb3JpYSBjb25jZWRlIGNvbnNlbnRpbWVudG8gcGFyYSBvIHByb2Nlc3NhbWVudG8gZG9zIHNldXMgZGFkb3MgcGVzc29haXMsIGluY2x1aW5kbyBvIGFybWF6ZW5hbWVudG8sIGFjZXNzbyBlIGNvbXBhcnRpbGhhbWVudG8gZGUgaW5mb3JtYcOnw7VlcyBkbyBzZXUgZGlzcG9zaXRpdm8sIGNvbW8gY29va2llcywgaWRlbnRpZmljYWRvcmVzIMO6bmljb3MgZSBvdXRyb3MgZGFkb3MgZG8gZGlzcG9zaXRpdm8sIGNvbSBmb3JuZWNlZG9yZXMgZSBwYXJjZWlyb3MgZGUgcHVibGljaWRhZGUgZG8gVENGLiBFc3NlcyBmb3JuZWNlZG9yZXMgcG9kZW0gdXRpbGl6YXIgc2V1cyBkYWRvcyBwYXJhIGRpdmVyc29zIGZpbnMsIGRlIGFjb3JkbyBjb20gbyBGcmFtZXdvcmsgZGUgVHJhbnNwYXLDqm5jaWEgZSBDb25zZW50aW1lbnRvLiJ9LCJyZXF1aXJlZCI6eyJuYW1lIjoiTmVjZXNzw6FyaW9zIiwiZGVzY3JpcHRpb24iOiJPcyBjb29raWVzIG5lY2Vzc8OhcmlvcyBzw6NvIGVzc2VuY2lhaXMgcGFyYSBvIGZ1bmNpb25hbWVudG8gZG8gc2l0ZSwgc2VtIGVsZXMgbyBzaXRlIG7Do28gZnVuY2lvbmFyaWEgY29ycmV0YW1lbnRlLiAocG9yIGV4ZW1wbG8sIGFjZXNzbyBhIMOhcmVhcyBzZWd1cmFzIGRvIHNpdGUsIHNlZ3VyYW7Dp2EsIGxlZ2lzbGHDp8OjbykifSwibWFya2V0aW5nIjp7Im5hbWUiOiJNYXJrZXRpbmciLCJkZXNjcmlwdGlvbiI6Ik9zIGNvb2tpZXMgZGUgbWFya2V0aW5nIG91IHB1YmxpY2lkYWRlIHJhc3RyZWlhbSBhIG5hdmVnYcOnw6NvIGRvcyB2aXNpdGFudGVzIGUgY29sZXRhbSBkYWRvcyBwYXJhIHF1ZSBhIGVtcHJlc2EgcG9zc2EgZm9ybmVjZXIgYW7Dum5jaW9zIG1haXMgcmVsZXZhbnRlcyBkZSBhY29yZG8gY29tIHRhbCBjb21wb3J0YW1lbnRvLiJ9LCJmdW5jdGlvbmFsIjp7Im5hbWUiOiJGdW5jaW9uYWwiLCJkZXNjcmlwdGlvbiI6Ik9zIGNvb2tpZXMgZnVuY2lvbmFpcyBhanVzdGFtIG8gc2l0ZSBhIHNlcnZpw6dvcyBkZSB0ZXJjZWlyb3MsIGNvbW8gbGlua3MgcGFyYSBzZXUgcGVyZmlsIGVtIHJlZGVzIHNvY2lhaXMsIGNvbWVudMOhcmlvcywgY2hhdGJvdHMsIGV0Yy4ifSwic3RhdGlzdGljcyI6eyJuYW1lIjoiRXN0YXRpc3RpY2FzIiwiZGVzY3JpcHRpb24iOiJPcyBjb29raWVzIGRlIGVzdGF0w61zdGljYXMsIG91IGFuw6FsaXNlcywgdHJhZHV6ZW0gYXMgaW50ZXJhw6fDtWVzIGRvcyB2aXNpdGFudGVzIGVtIHJlbGF0w7NyaW9zIGRldGFsaGFkb3MgZGUgY29tcG9ydGFtZW50bywgZGUgbWFuZWlyYSBhbsO0bmltYS4ifSwicGVyZm9ybWFuY2UiOnsibmFtZSI6IlBlcmZvcm1hbmNlIiwiZGVzY3JpcHRpb24iOiJPcyBjb29raWVzIGRlIGRlc2VtcGVuaG8gcGVybWl0ZW0gcXVlIG8gc2l0ZSBzZSBjb21wb3J0ZSBkZSBhY29yZG8gY29tIG8gdmlzaXRhbnRlLCBhanVzdGFuZG8tc2Ugw6Agc3VhIGxvY2FsaXphw6fDo28sIGlkaW9tYSBwcmVmZXJpZG8sIGV0Yy4ifX19LCJ0YWdzIjpbeyJpZCI6Ijk5WE11R2dyM08iLCJuYW1lIjoiR29vZ2xlIEFuYWx5dGljcyIsInRhZ19jYXRlZ29yeV9pZCI6MywiY29va2llcyI6W3sibmFtZSI6Il9naWQiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6ODYzNjI5MTUsInJlZ2lvbiI6IlVTLFNBIiwiZGVzY3JpcHRpb24iOiJBcm1hemVuYXIgZSBjb250YXIgdmlzdWFsaXphw6fDtWVzIGRlIHDDoWdpbmEgcGFyYSBvIEdvb2dsZSJ9LHsibmFtZSI6Il9nYV9SMk1GOTc2Q0IzIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjM0NTU5OTYzMzc5LCJyZWdpb24iOiJVUyxTQSIsImRlc2NyaXB0aW9uIjoiSUQgdXNhZGEgcGFyYSBpZGVudGlmaWNhciB1c3XDoXJpb3MifSx7Im5hbWUiOiJfZ2EiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MzQ1NTk5NjMyNzksInJlZ2lvbiI6IlVTLFNBIiwiZGVzY3JpcHRpb24iOiJSZWdpc3RyYSBlIGNvbnRhIHZpc3VhbGl6YcOnw7VlcyBuYSBww6FnaW5hIHBhcmEgbyBHb29nbGUgIn0seyJuYW1lIjoiX2djbF9hdSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo3Nzc1OTYyOTE1LCJyZWdpb24iOiJVUyxTQSIsImRlc2NyaXB0aW9uIjoiVXRpbGl6YWRvcyBwZWxvIEdvb2dsZSBwYXJhIG1vbml0b3JhciBhIGVmaWNpw6pubmNpYSBkYSBwdWJsaWNpZGFkZSBlbSBzaXRlcyB1c2FuZG8gc2V1cyBzZXJ2acOnb3MuIGrDoSBvIHByaW1laXJvIGNvb2tpZSBwcmltZWlyaW8gcGFyYSBhIGZ1bmNpb25hbGlkYWRlIOKAmiBjb2xldGEgaW5mb3JtYcOnw7VlcyBlbSBjbGlxdWVzIGRlIGFuw7puY2lvIGUgYXJtYXplbmEtYXMgZW0gdW0gY29va2llIHByaW3DoXJpbyBwYXJhIHF1ZSBhcyBjb252ZXJzw7VlcyBwb3NzYW0gc2VyIGF0cmlidcOtZGFzIGZvcmEgZGEgcMOhZ2luYSBpbmljaWFsLiJ9LHsibmFtZSI6Il9nYXRfVUEtNDIyNjIxNDAtMSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjoyMjkxNSwicmVnaW9uIjoiVVMiLCJkZXNjcmlwdGlvbiI6IkNvb2tpZSB1dGlsaXphZG8gcGVsbyBHb29nbGUgcGFyYSB0cmFja2VyIGRldGVybWluYWRhcyBhw6fDtWVzIGRvcyB1c3XDoWlvcyBlbSB1bWEgcMOhZ2luYSBlc3BlY8OtZmljYSJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIiwiZ29vZ2xlLWFuYWx5dGljcy5jb20iLCJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPUctUjJNRjk3NkNCMyZsPWRhdGFMYXllciZjeD1jIiwiZ29vZ2xldGFnbWFuYWdlci5jb20iLCJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2Rlc3RpbmF0aW9uP2lkPUFXLTEwOTc1MDYwMjA5Jmw9ZGF0YUxheWVyJmN4PWMiXX0seyJpZCI6InlseUhSbk9SZDMiLCJuYW1lIjoiTGFyYXZlbCIsInRhZ19jYXRlZ29yeV9pZCI6NSwiY29va2llcyI6W3sibmFtZSI6ImxhcmF2ZWxfc2Vzc2lvbiIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo3MDkxMDg5LCJyZWdpb24iOiJVUyxTQSIsImRlc2NyaXB0aW9uIjoiSW50ZXJuYW1lbnRlLCBvIGxhcmF2ZWwgdXNhIGxhcmF2ZWxfc2Vzc2lvbiBwYXJhIGlkZW50aWZpY2FyIHVtYSBpbnN0w6JuY2lhIGRlIHNlc3PDo28gcGFyYSB1bSB1c3XDoXJpbyJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsibGFyYXZlbCJdfSx7ImlkIjoiSURRbzdYa1g0RSIsIm5hbWUiOiJMaW5rZWRJbiIsInRhZ19jYXRlZ29yeV9pZCI6NSwiY29va2llcyI6W3sibmFtZSI6IkFuYWx5dGljc1N5bmNIaXN0b3J5IiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjI1OTE4OTMzMDUsInJlZ2lvbiI6IlVTLFNBIiwiZGVzY3JpcHRpb24iOiJVc2FkbyBwYXJhIGFybWF6ZW5hciBpbmZvcm1hw6fDtWVzIHNvYnJlIGEgaG9yYSBlbSBxdWUgdW1hIHNpbmNyb25pemHDp8OjbyBjb20gbyBjb29raWUgbG1zX2FuYWx5dGljcyBvY29ycmV1IHBhcmEgdXN1w6FyaW9zIG5vcyBQYcOtc2VzIERlc2lnbmFkb3MifSx7Im5hbWUiOiJiY29va2llIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjMxNTM1ODkzODYxLCJyZWdpb24iOiJVUyxTQSIsImRlc2NyaXB0aW9uIjoiQnJvd3NlciBDb29raWUgaWRlbnRpZmljYWRvciBwYXJhIGlkZW50aWZpY2FyIGRlIGZvcm1hIMO6bmljYSBvcyBkaXNwb3NpdGl2b3MgcXVlIGFjZXNzYW0gbyBMaW5rZWRJbiBwYXJhIGRldGVjdGFyIGFidXNvcyBuYSBwbGF0YWZvcm1hIn0seyJuYW1lIjoibGlkYyIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo4NjI5NDE2MCwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IlVzYWRvIHBlbG8gc2VydmnDp28gZGUgcmVkZSBzb2NpYWwsIExpbmtlZEluLCBwYXJhIGZhY2lsaXRhciBhIHNlbGXDp8OjbyBkbyBkYXRhIGNlbnRlci4ifSx7Im5hbWUiOiJsaV9zdWdyIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjc3NzU4OTM4NjEsInJlZ2lvbiI6IlVTLFNBIn0seyJuYW1lIjoiYnNjb29raWUiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MzE1MzU4OTQ2ODIsInJlZ2lvbiI6IlVTLFNBIiwiZGVzY3JpcHRpb24iOiJVc2FkbyBwYXJhIGxlbWJyYXIgcXVlIHVtIHVzdcOhcmlvIGxvZ2FkbyDDqSB2ZXJpZmljYWRvIHBvciBkb2lzIGZhdG9yZXMgZGUgYXV0ZW50aWNhw6fDo28uICJ9LHsibmFtZSI6IlVzZXJNYXRjaEhpc3RvcnkiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MjU5MTg5MzMwNSwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IkVzc2VzIGNvb2tpZXMgc8OjbyBkZWZpbmlkb3MgcGVsbyBMaW5rZWRJbiBwYXJhIGZpbnMgcHVibGljaXTDoXJpb3MsIGluY2x1aW5kbzogcmFzdHJlYXIgdmlzaXRhbnRlcyBwYXJhIHF1ZSBhbsO6bmNpb3MgbWFpcyByZWxldmFudGVzIHBvc3NhbSBzZXIgYXByZXNlbnRhZG9zLCBwZXJtaXRpbmRvIHF1ZSBvcyB1c3XDoXJpb3MgdXNlbSBhcyBmdW7Dp8O1ZXMgJ0FwbGljYXIgY29tIG8gTGlua2VkSW4nIG91ICdFbnRyYXIgbm8gTGlua2VkSW4nLCBldGMuIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJsaW5rZWRpbiJdfSx7ImlkIjoiTmJaWWJ6WTFZbiIsIm5hbWUiOiJIb3RqYXIiLCJ0YWdfY2F0ZWdvcnlfaWQiOjUsImNvb2tpZXMiOlt7Im5hbWUiOiJfaGpTZXNzaW9uXzM4ODY5OTAiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MTc5NTkxNSwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IlVtIGNvb2tpZSBxdWUgY29udMOpbSBvcyBkYWRvcyBkYSBzZXNzw6NvIGF0dWFsLiBJc3NvIGZheiBjb20gcXVlIGFzIHNvbGljaXRhw6fDtWVzIHN1YnNlcXVlbnRlcyBkZW50cm8gZGEgamFuZWxhIGRhIHNlc3PDo28gc2VqYW0gYXRyaWJ1w61kYXMgw6AgbWVzbWEgc2Vzc8OjbyBkbyBIb3RqYXIuIn0seyJuYW1lIjoiX2hqU2Vzc2lvblVzZXJfMzg4Njk5MCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozMTUzNTg5MzkxNSwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IkNvb2tpZSBIb3RqYXIgcXVlIMOpIGRlZmluaWRvIHF1YW5kbyB1bSB1c3XDoXJpbyBhY2Vzc2EgcGVsYSBwcmltZWlyYSB2ZXogdW1hIHDDoWdpbmEgY29tIG8gc2NyaXB0IEhvdGphci4gRWxlIMOpIHVzYWRvIHBhcmEgbWFudGVyIG8gSUQgZGUgdXN1w6FyaW8gZG8gSG90amFyLCBleGNsdXNpdm8gcGFyYSBlc3NlIHNpdGUgbm8gbmF2ZWdhZG9yLiBJc3NvIGdhcmFudGUgcXVlIG8gY29tcG9ydGFtZW50byBlbSB2aXNpdGFzIHN1YnNlcXVlbnRlcyBhbyBtZXNtbyBzaXRlIHNlamEgYXRyaWJ1w61kbyBhby4uLiJ9LHsibmFtZSI6Il9oalRMRFRlc3QiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MTAwMCwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IlF1YW5kbyBvIHNjcmlwdCBIb3RqYXIgw6kgZXhlY3V0YWRvLCB0ZW50YW1vcyBkZXRlcm1pbmFyIG8gY2FtaW5obyBkZSBjb29raWUgbWFpcyBnZW7DqXJpY28gcXVlIGRldmVtb3MgdXNhciwgZW0gdmV6IGRvIG5vbWUgZG8gaG9zdCBkYSBww6FnaW5hLiBJc3NvIMOpIGZlaXRvIHBhcmEgcXVlIG9zIGNvb2tpZXMgcG9zc2FtIHNlciBjb21wYXJ0aWxoYWRvcyBlbnRyZSBzdWJkb23DrW5pb3MgKHF1YW5kbyBhcGxpY8OhdmVsKS4gUGFyYSBkZXRlcm1pbmFyIGlzc28sIHRlbnRhbW9zIGFybWF6ZW5hciBvIF9oalRMRC4uLiJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiaHR0cHM6Ly9zY3JpcHQuaG90amFyLmNvbS9tb2R1bGVzLjZjNjliNTk5N2YzMTQ4MTBjZmU4LmpzIiwic2NyaXB0LmhvdGphci5jb20iXX0seyJpZCI6ImxWd1BhdU8wcEEiLCJuYW1lIjoiQWRPcHQiLCJ0YWdfY2F0ZWdvcnlfaWQiOjEsImNvb2tpZXMiOlt7Im5hbWUiOiJBZG9wdFZpc2l0b3JJZCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo1MTgzODk0OTE1LCJyZWdpb24iOiJVUyxTQSIsImRlc2NyaXB0aW9uIjoiQ29va2llIHByw7NwcmlvIGRhIEFkT3B0IChmaXJzdC1wYXJ0eSkgcmVzcG9uc8OhdmVsIHBvciBhcm1hemVuYXIgbyBpZGVudGlmaWNhZG9yIGFub25pbWl6YWRvIGRvIHZpc2l0YW50ZSBlIHZhbG9yIHV0aWxpemFkbyBwYXJhIGdhcmFudGlyIG8gZnVuY2lvbmFtZW50byBkYSBUYWcgZGEgQWRPcHQgZW0gbmF2ZWdhZG9yZXMgcXVlIG7Do28gcG9zc3VlbSBvIHN1cG9ydGUgYW8gY29va2llIGRlIHRlcmNlaXJvLiJ9LHsibmFtZSI6IkFkb3B0Q29uc2VudCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo1MTgzOTYyOTE1LCJyZWdpb24iOiJVUyxTQSIsImRlc2NyaXB0aW9uIjoiQ29va2llIGRlIHRlcmNlaXJvIHJlc3BvbnPDo3ZlbCBwb3IgYXJtYXplbmFyIG8gY29uc2VudGltZW50byBkbyB2aXNpdGFudGUifSx7Im5hbWUiOiJhZG9wdENvbnNlbnRNb2RlIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjEwMDAsInJlZ2lvbiI6IlVTLFNBIiwiZGVzY3JpcHRpb24iOiJDb250cm9sYSBhIG9ww6fDo28gZGUgdXNhciBvIENvbnNlbnRNb2RlIn0seyJuYW1lIjoiQWRvcHRHRDE3MjIyNzMxNTI4OTQiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MTAwMCwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IlVzYWRvIHBhcmEgdmVyaWZpY2FyIG8gZG9tw61uaW8gZSBzdWJkb23DrW5pbyBkbyBjb25zZW50aW1lbnRvIn0seyJuYW1lIjoiYWRvcHRDb25zZW50TW9kZSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IlVzYWRvIHBlbGEgQWRPcHQgcGFyYSBjb25maWd1cmFyIG8gR29vZ2xlIENvbnNlbnQgTW9kZSJ9LHsibmFtZSI6IkFkb3B0Q29uc2VudCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6Ikd1YXJkYSB1bWEgY8OzcGlhIGRvIHVsdGltbyBjb25zZW50aW1lbnRvIGVudmlhZG8ifSx7Im5hbWUiOiJBZG9wdFZpc2l0b3JJZCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6Ikd1YXJkYSBvIElkIGRvIHZpc2l0YW50ZSJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiYWRvcHQiXX0seyJpZCI6ImQ0NGM2dDVialciLCJuYW1lIjoiR29vZ2xlIEFkcyIsInRhZ19jYXRlZ29yeV9pZCI6MiwiY29va2llcyI6W3sibmFtZSI6IklERSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozNDU1OTk2MzQ4MCwicmVnaW9uIjoiU0EiLCJkZXNjcmlwdGlvbiI6IlV0aWxpemFkbyBwYXJhIGdlcmHDp8OjbyBkZSBwdWJsaWNvcyBlIHBlcmZpbHMgc2VnbWVudGFkb3MgcGFyYSBjYW1wYW5oYXMgcHVibGljaXTDoXJpYXMgZGUgbcOtZGlhIHByb2dyYW3DoXRpY2EifSx7Im5hbWUiOiJ0ZXN0X2Nvb2tpZSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo3OTUzMDksInJlZ2lvbiI6IlVTIiwiZGVzY3JpcHRpb24iOiJDb29raWUgdXRpbGl6YWRvIHBlbG8gR29vZ2xlIHBhcmEgdGVzdGVzLiJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiZ29vZ2xlIGFkcyIsImdvb2dsZSIsImFkcyJdfSx7ImlkIjoiRGwya0FNdzVabiIsIm5hbWUiOiJBcHBOZXh1cyIsInRhZ19jYXRlZ29yeV9pZCI6MiwiY29va2llcyI6W3sibmFtZSI6InV1aWQyIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjc3NzU5MDQ3NDcsInJlZ2lvbiI6IlVTLFNBIiwiZGVzY3JpcHRpb24iOiJPIGNvb2tpZSB1dWlkMiDDqSBkZWZpbmlkbyBwZWxhIEFwcE5leHVzIGUgcmVnaXN0cmEgaW5mb3JtYcOnw7VlcyBxdWUgYWp1ZGFtIGEgZGlmZXJlbmNpYXIgZW50cmUgZGlzcG9zaXRpdm9zIGUgbmF2ZWdhZG9yZXMuIEVzdGFzIGluZm9ybWHDp8O1ZXMgc8OjbyB1c2FkYXMgcGFyYSBlc2NvbGhlciBvcyBhbsO6bmNpb3MgZW50cmVndWVzIHBlbGEgcGxhdGFmb3JtYSBlIGF2YWxpYXIgbyBkZXNlbXBlbmhvIGRvIGFuw7puY2lvIGUgbyBwYWdhbWVudG8gZGUgc2V1cyBhdHJpYnV0b3MuIn0seyJuYW1lIjoiYW5qIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjc3NzU5MDQ3NDcsInJlZ2lvbiI6IlVTLFNBIiwiZGVzY3JpcHRpb24iOiJFc3RlIGNvb2tpZSDDqSB1c2FkbyBwYXJhIGV2aXRhciBxdWUgc2UgdmVqYSBvIG1lc21vIGFuw7puY2lvIHJlcGV0aWRhbWVudGUuIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJhcHBuZXh1cyJdfSx7ImlkIjoiZWRVMFd5UmFVdSIsIm5hbWUiOiJUaWtUb2siLCJ0YWdfY2F0ZWdvcnlfaWQiOjIsImNvb2tpZXMiOlt7Im5hbWUiOiJfdHRfZW5hYmxlX2Nvb2tpZSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozMzY5NTg5MzkxNSwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IlNhbHZhciBzZSBvIHNlcnZpw6dvIHBvZGUgdXNhciBjb29raWVzIn0seyJuYW1lIjoiX3R0cCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozMzY5NTg5MzkxNSwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IlBhcmEgbWVkaXIgZSBtZWxob3JhciBhIHBlcmZvcm1hY2UgZGFzIHByb3BhZ2FuZGFzIGUgcGVyc29uYWxpemFyIGEgZXhwZXJpZW5jaWEgZG8gdXN1w6FyaW8gKGluY2x1aW5kbyBwcm9wYWdhbmRhcykgbm8gVGlrVG9rIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJodHRwczovL2FuYWx5dGljcy50aWt0b2suY29tL2kxOG4vcGl4ZWwvc3RhdGljL21haW4uTVdWaU0yUmxNVGMzTVEuanMiLCJhbmFseXRpY3MudGlrdG9rLmNvbSJdfSx7ImlkIjoiWUowTzJEcTlmZyIsIm5hbWUiOiJGYWNlYm9vayIsInRhZ19jYXRlZ29yeV9pZCI6MiwiY29va2llcyI6W3sibmFtZSI6Il9mYnAiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6Nzc3NTg5MzkxNSwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IlVzYWRvIHBlbG8gRmFjZWJvb2sgcGFyYSBmb3JuZWNlciB1bWEgc3RvcmllIGRlIHByb2R1dG9zIHB1YmxpY2l0w6FyaW9zLCBjb21vIGxhbmNlcyBlbSB0ZW1wbyByZWFsIGRlIGFudW5jaWFudGVzIHRlcmNlaXJpemFkb3MifSx7Im5hbWUiOiJsYXN0RXh0ZXJuYWxSZWZlcnJlclRpbWUiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6LTIsInJlZ2lvbiI6IlVTLFNBIiwiZGVzY3JpcHRpb24iOiJEZXRlY3RhIGNvbW8gbyB1c3XDoXJpbyBjaGVnb3UgYW8gc2l0ZSByZWdpc3RyYW5kbyBvIMO6bHRpbW8gZW5kZXJlw6dvIGRlIFVSTCBhY2Vzc2FkbyBwb3IgZWxlcy4ifSx7Im5hbWUiOiJsYXN0RXh0ZXJuYWxSZWZlcnJlciIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IkRldGVjdGEgY29tbyBvIHVzdcOhcmlvIGNoZWdvdSBhbyBzaXRlIHJlZ2lzdHJhbmRvIG8gw7psdGltbyBlbmRlcmXDp28gZGUgVVJMIGFjZXNzYWRvIHBvciBlbGVzLiJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiaHR0cHM6Ly9jb25uZWN0LmZhY2Vib29rLm5ldC9lbl9VUy9mYmV2ZW50cy5qcyIsImNvbm5lY3QuZmFjZWJvb2submV0Il19LHsiaWQiOiJWM0hfMEIzd3VLIiwibmFtZSI6IkNyb3NzIFNpdGUgUmVxdWVzdCBGb3JnZXJ5IFByZXZlbnRpb24gVG9rZW4iLCJ0YWdfY2F0ZWdvcnlfaWQiOjUsImNvb2tpZXMiOlt7Im5hbWUiOiJYU1JGLVRPS0VOIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjcwOTEwODksInJlZ2lvbiI6IlVTLFNBIiwiZGVzY3JpcHRpb24iOiJQcmV2aW5lIGF0YXF1ZXMgZGUgQ1NSRlBULiJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiY3Jvc3Mgc2l0ZSByZXF1ZXN0IGZvcmdlcnkgcHJldmVudGlvbiB0b2tlbiIsImNyb3NzIiwic2l0ZSIsInJlcXVlc3QiLCJmb3JnZXJ5IiwicHJldmVudGlvbiIsInRva2VuIl19LHsiaWQiOiJwRkw0ekhOaHB6IiwibmFtZSI6Ikdvb2dsZSByZUNBUFRDSEEiLCJ0YWdfY2F0ZWdvcnlfaWQiOjUsImNvb2tpZXMiOlt7Im5hbWUiOiJyYzo6aCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiVVMsU0EiLCJkZXNjcmlwdGlvbiI6IkRpZmVyZW5jaWEgaHVtYW5vcyBkZSBib3RzIHBhcmEgcHJvdGVnZXIgc2l0ZXMgY29udHJhIGF0aXZpZGFkZXMgbWFsaWNpb3Nhcy4gRWxlIGFuYWxpc2EgbyBjb21wb3J0YW1lbnRvIGRvIHVzdcOhcmlvIHBhcmEgZ2FyYW50aXIgdW1hIGV4cGVyacOqbmNpYSBkZSBuYXZlZ2HDp8OjbyBzZWd1cmEsIGRldGVjdGFuZG8gZSBpbXBlZGluZG8gYXRpdmlkYWRlcyBmcmF1ZHVsZW50YXMuIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJnb29nbGUgcmVjYXB0Y2hhIiwiZ29vZ2xlIiwicmVjYXB0Y2hhIl19LHsiaWQiOiI4LUlDaUhyaHN5IiwibmFtZSI6ImFkbnhzLmNvbSIsInRhZ19jYXRlZ29yeV9pZCI6NiwiY29va2llcyI6W3sibmFtZSI6InJlY2VpdmUtY29va2llLWRlcHJlY2F0aW9uIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjM0NTU5OTA0NzQ2LCJyZWdpb24iOiJTQSJ9LHsibmFtZSI6IlhBTkRSX1BBTklEIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjc3NzU5MDQ3NDcsInJlZ2lvbiI6IlNBIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJhZG54cy5jb20iXX0seyJpZCI6Ind0QnJfd0xWX2MiLCJuYW1lIjoiY29tLmJyIiwidGFnX2NhdGVnb3J5X2lkIjo2LCJjb29raWVzIjpbeyJuYW1lIjoiX3RsYyIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjoxMDAwLCJyZWdpb24iOiJVUyxTQSJ9LHsibmFtZSI6Il90bHAiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MTAwMCwicmVnaW9uIjoiVVMsU0EifSx7Im5hbWUiOiJfdGxzIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjEwMDAsInJlZ2lvbiI6IlVTLFNBIn0seyJuYW1lIjoiX3RsdiIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjoxMDAwLCJyZWdpb24iOiJVUyxTQSJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiaHR0cHM6Ly9jZG4udHJhZGVsYWIuZnIvdGFnL2IxMmZlYzdmYjQuanMiLCJjZG4udHJhZGVsYWIuZnIiXX0seyJpZCI6IkhEZ2kxdmNTalMiLCJuYW1lIjoiaGRpc2VndXJvcy5jb20uYnIiLCJ0YWdfY2F0ZWdvcnlfaWQiOjEsImNvb2tpZXMiOlt7Im5hbWUiOiIxNTk4YTZhMjRjYzY5NjNkYmVhMjU1NTBmZDkyMTY4MCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMSwicmVnaW9uIjoiVVMsU0EifSx7Im5hbWUiOiJIYUhhSGFIYSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMSwicmVnaW9uIjoiVVMsU0EifSx7Im5hbWUiOiJha19ibXNjIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjcwOTA1NDEsInJlZ2lvbiI6IlVTLFNBIn0seyJuYW1lIjoiY29sb3IiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6LTIsInJlZ2lvbiI6IlVTLFNBIn0seyJuYW1lIjoiZm9udCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiVVMsU0EifSx7Im5hbWUiOiJsaV9hZHNJZCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiVVMsU0EifV0sImF1dG9fYmxvY2siOmZhbHNlLCJzb3VyY2VzIjpbImhkaXNlZ3Vyb3MuY29tLmJyIl19XSwid2hpdGVsYWJlbCI6e30sIndlYnNpdGVJZCI6IjM3MTU1OTg3LWQ0MzYtNGQ2ZS05ZTYxLTI3ZDViODJkZDNjZCIsImxlZ2lzbGF0aW9uIjoibGdwZCIsImxhbmd1YWdlIjoicHQiLCJvcmdQYXRoIjpudWxsLCJjdXN0b21McE5hbWUiOm51bGwsIndhcm5pbmdzIjpbXSwiYXV0b0Jsb2NrIjp7IndhdGVyTWFyayI6ZmFsc2V9LCJ0Y2YiOnsiZW5hYmxlZCI6ZmFsc2UsInZlbmRvcl9pZHMiOltdLCJmb3JjZVRjU3RyaW5nIjpmYWxzZX0sImRpc2NsYWltZXJJbmZvVmVyc2lvbiI6MTN9YDs7YXN5bmMgZnVuY3Rpb24gRHQoZSx0LG8scixpKXtfdChyLGUsaSk7bGV0IG49W10sYT1bXTtlLnRhZ3MuZm9yRWFjaChlPT57KGUuYWNjZXB0P246YSkucHVzaChlLmlkKX0pO3ZhciBzPWU/LmNvbnNlbnRPcHRpb25zPy5jb25zZW50VFRMPz82MCxsPWU/LmNvbnNlbnRPcHRpb25zPy5jb25zZW50VmVyc2lvbj8/MCxjPWU/LmNvbnNlbnRPcHRpb25zPy5hbGxvd1RQQ29va2llcz8/ITEsZD1lPy5jb25zZW50T3B0aW9ucz8ucHJpb3JpdHlRdWV1ZT8/IShlPy5hdXRvQmxvY2s/LndhdGVyTWFyaz8/ITApLHM9YXdhaXQgRGUucG9zdCgiL2FwaS90YWcvdXBkYXRlLWNvbnNlbnQiLHt3ZWJzaXRlSUQ6dCxvcHRJblRhZ3M6bixvcHRPdXRUYWdzOmEsdmlzaXRvcklkOlJ0KG8pP286bnVsbCxkZXZpY2U6WXQoKSxjb25zZW50VFRMOnMsY29uc2VudFZlcnNpb246bCxldmVudFR5cGU6aT09PXouUmVqZWN0QWxsP2k6bnVsbCx0Y1N0cmluZzpFdCgpLHByaW9yaXR5UXVldWU6ZCxhbGxvd1RQQ29va2llczpjLGNvbnNlbnRJZDooKGUsdCk9PntsZXQgbz1WdCgiQWRvcHRDb25zZW50IixlLHQ/LmNvbnNlbnRPcHRpb25zPy5yZW1vdmVDb25zZW50RnJvbUNvb2tpZXM/PyExKSxyPXZvaWQgMDtpZihvKXRyeXtyPUpTT04ucGFyc2Uobyk/LmNvbnNlbnRJZH1jYXRjaHt9cmV0dXJuIHJ9KShyLGUpfSx7d2l0aENyZWRlbnRpYWxzOiEwfSxlPy5kaXNjbGFpbWVyT3B0aW9ucz8uaWZyYW1lUmVxdWVzdD8/ITEpO3p0KCJBZG9wdENvbnNlbnQiLEpTT04uc3RyaW5naWZ5KHt3ZWJzaXRlSUQ6dCx2aXNpdG9ySWQ6UnQobyk/bzpudWxsLHRjZlN0cmluZzpFdCgpLG9wdEluVGFnczpuLG9wdE91dFRhZ3M6YSxjb25zZW50SWQ6cz8uZGF0YT8ubmV3Q29uc2VudElkLGNvbnNlbnRWZXJzaW9uOmUuY29uc2VudE9wdGlvbnMuY29uc2VudFZlcnNpb24sdXBkYXRlZEF0Om5ldyBEYXRlfSkscix2b2lkIDAsZS5jb25zZW50T3B0aW9ucy5yZW1vdmVDb25zZW50RnJvbUNvb2tpZXM/PyExKX1hc3luYyBmdW5jdGlvbiBCdChuLGEscyl7dHJ5e2xldCBlPXZvaWQgMDtpZihJLmRlYnVnKCJkaXNjbGFpbWVySWQiLG4pLCFPdC5pbmNsdWRlcygneyJtZXNzYWdlIjoibm8gSW5mbyJ9Jykpe2lmKE90PU90LnNwbGl0KCJcbiIpLmpvaW4oIiIpLChlPUpTT04ucGFyc2UoT3QpKT8ubWVzc2FnZSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIGZvciB1c2VyOiIrZS5tZXNzYWdlKTtlPXtkYXRhOnsuLi5lfX19dmFyIGwsYyxkLHAsdT1lfHxhd2FpdCBEZS5nZXQoIi9hcGkvdGFnL3YxLjAvZGlzY2xhaW1lci1pbmZvP2Rpc2NsYWltZXJJZD0iK24sITEpLGc9KCh1LmRhdGE/LnRjZj8uZW5hYmxlZCYmdGVbZWUuRXVyb3BlXS5pbmNsdWRlcyh1LmRhdGEubGVnaXNsYXRpb24pfHx1LmRhdGE/LnRjZj8uZm9yY2VUY1N0cmluZykmJlQoKSxVdCh1Py5kYXRhPy5kaXNjbGFpbWVyT3B0aW9ucz8uc2hvdWxkU2V0U3ViZG9tYWluQ29va2llKSksdD1WdCgiQWRvcHRWaXNpdG9ySWQiLGcpLG89KEkuZGVidWcoImFkb3B0VmlzaXRvcklkIix0KSx1Py5kYXRhPy5jb25zZW50T3B0aW9ucz8uY29uc2VudFRUTD8/NjApLHI9dT8uZGF0YT8uY29uc2VudE9wdGlvbnM/LmNvbnNlbnRWZXJzaW9uPz8wLG09YXdhaXQoYXN5bmModCxlLG8scixpKT0+e2xldCBuPVZ0KCJBZG9wdENvbnNlbnQiLHQsciksYT1udWxsO2lmKCFuKXJldHVybiBJLmRlYnVnKCJDT05TRU5UIC0gV2l0aG91dCBjb25zZW50IHNhdmVkIG9uIGJyb3dzZXIiKSxQdCh0LG8scixpKTt0cnl7YT1KU09OLnBhcnNlKG4pfWNhdGNoKGUpe3JldHVybiBJLmRlYnVnKCJDT05TRU5UIC0gRXJyb3IgcGFyc2luZyBjb25zZW50IiksUHQodCxvLHIsaSl9dmFyIHM9YXdhaXQoYXN5bmMoZT0hMSx0KT0+e2xldCBvPXZvaWQgMDtyZXR1cm4gbz1lP2F3YWl0IERlLnBvc3QoIi9hcGkvdGFnL2dldC1jb25zZW50LWNoYW5nZXMiLHthbGxvd1RQQ29va2llczplfSx7d2l0aENyZWRlbnRpYWxzOiEwfSx0Pz8hMSk6b30pKG8/LmFsbG93VFBDb29raWVzLGkpO3JldHVybigodCxlLG8pPT4obz1vPy5maWx0ZXIoZT0+ZT09dC5jb25zZW50SWQpLCEoISgib2JqZWN0Ij09dHlwZW9mIHQmJiJzdHJpbmciPT10eXBlb2YgdC53ZWJzaXRlSUQmJkFycmF5LmlzQXJyYXkodC5vcHRJblRhZ3MpJiZBcnJheS5pc0FycmF5KHQub3B0T3V0VGFncykmJiJudW1iZXIiPT10eXBlb2YgdC5jb25zZW50VmVyc2lvbiYmInN0cmluZyI9PXR5cGVvZiB0LnVwZGF0ZWRBdCYmdC5jb25zZW50VmVyc2lvbj09PWUmJihuZXcgRGF0ZSkuZ2V0VGltZSgpLW5ldyBEYXRlKHQudXBkYXRlZEF0KS5nZXRUaW1lKCk8ODY0ZTUpfHxvJiYwIT1vLmxlbmd0aCkpKShhLGUscz8uZGF0YT8uY29uc2VudHM/Lm1hcChlPT5lLmlkKSk/KEkuZGVidWcoIkNPTlNFTlQgLSBDb25zZW50IGlzIHZhbGlkIGFuZCB1cCB0byBkYXRlIikse3N1Y2Nlc3M6ITAsZGF0YTphfSk6KEkuZGVidWcoIkNPTlNFTlQgLSBJbnZhbGlkIGNvbnNlbnQiKSxQdCh0LG8scixpKSl9KShnLHIse2Rpc2NsYWltZXJJZDpuLGFkb3B0VmlzaXRvcklkOnQsY29uc2VudFRUTDpvLGNvbnNlbnRWZXJzaW9uOnIscHJpb3JpdHlRdWV1ZTp1Py5kYXRhPy5jb25zZW50T3B0aW9ucz8ucHJpb3JpdHlRdWV1ZT8/ISh1Py5kYXRhPy5hdXRvQmxvY2s/LndhdGVyTWFyaz8/ITApLGFsbG93VFBDb29raWVzOnU/LmRhdGE/LmNvbnNlbnRPcHRpb25zPy5hbGxvd1RQQ29va2llcz8/ITF9LHU/LmRhdGE/LmNvbnNlbnRPcHRpb25zPy5yZW1vdmVDb25zZW50RnJvbUNvb2tpZXM/PyExKTtpZih2PWcsKGk9bSk/LmRhdGE/Lm9wdEluVGFncz8ubGVuZ3RofHxpPy5kYXRhPy5vcHRPdXRUYWdzPy5sZW5ndGh8fE10KCJhZG9wdENvbnNlbnRNb2RlIix2KSxtPy5zdWNjZXNzKXtsZXQgZT1XdCh1Py5kYXRhLG0/LmRhdGE/Lm9wdEluVGFncyxtPy5kYXRhPy5vcHRPdXRUYWdzLCExLG0/LmRhdGE/LmV2ZW50VHlwZT09PVMuRmlyc3RWaXNpdCk7dS5kYXRhPy50Y2Y/LmVuYWJsZWQmJnRlW2VlLkV1cm9wZV0uaW5jbHVkZXModS5kYXRhLmxlZ2lzbGF0aW9uKSYmKEkuZGVidWcoIlZlbmRvciBJRHM6ICIsdS5kYXRhLnRjZi52ZW5kb3JfaWRzKSx7aWFiVGFnczpsLGlhYkNhdGVnb3JpZXM6Yyx2ZW5kb3JBdHBJZHM6ZH09YXdhaXQoYXN5bmMoYyxlLGQscCk9Pnt0cnl7bGV0IG89YXdhaXQgRGUuZ2V0KGAvYXBpL2lhYi8keyJwdCI9PT1lPyJwdC1iciI6ZX0vdmVuZG9yLWxpc3QuanNvbmAscCkscj0oZT0+e3RyeXtyZXR1cm4gcnQuZGVjb2RlKGUpfWNhdGNoKGUpe319KShkKTt2YXIgdSxnLG09W10sZj1bXTtsZXQgaT17fSx0PXt9LG49e30sYT17fTtmb3IodSBpbiBjKXtsZXQgZT1jW3VdO28udmVuZG9yc1tlXT8oSS5kZWJ1ZygiVmVuZG9yIERhdGE6ICIsby52ZW5kb3JzW2VdKSxnPUFycmF5LmZyb20obmV3IFNldChvLnZlbmRvcnNbZV0/LnB1cnBvc2VzLmNvbmNhdChvLnZlbmRvcnNbZV0/LmxlZ0ludFB1cnBvc2VzKSkpLG0ucHVzaCh7Li4uby52ZW5kb3JzW2VdLG5hbWU6by52ZW5kb3JzW2VdLm5hbWUsaWQ6ZSxhY2NlcHQ6ISFyJiZyLnZlbmRvckNvbnNlbnRzLmhhcyhOdW1iZXIoZSkpLGxlZ0ludDowPG8udmVuZG9yc1tlXS5sZWdJbnRQdXJwb3Nlcy5sZW5ndGg/IXJ8fHIudmVuZG9yTGVnaXRpbWF0ZUludGVyZXN0cy5oYXMoTnVtYmVyKGUpKTp2b2lkIDAsbGVnSW50QW1vdW50Om8udmVuZG9yc1tlXS5sZWdJbnRQdXJwb3Nlcy5sZW5ndGgsZGF0YURlY2xhcmF0aW9uOm8udmVuZG9yc1tlXS5kYXRhRGVjbGFyYXRpb24ubWFwKGU9Pm8uZGF0YUNhdGVnb3JpZXNbZV0pLHB1cnBvc2VzOmcubWFwKHQ9PihpW3RdP2lbdF09ey4uLmlbdF0sY29uc2VudDohMT09PWlbdF0uY29uc2VudHx8ITA9PT1pW3RdLmNvbnNlbnQ/aVt0XS5jb25zZW50Om8udmVuZG9yc1tlXS5wdXJwb3Nlcy5zb21lKGU9PmU9PT10KT8hIXImJnIucHVycG9zZUNvbnNlbnRzLmhhcyhOdW1iZXIodCkpOnZvaWQgMCxsZWdJbnQ6ITE9PT1pW3RdLmxlZ0ludHx8ITA9PT1pW3RdLmxlZ0ludD9pW3RdLmxlZ0ludDpvLnZlbmRvcnNbZV0ubGVnSW50UHVycG9zZXMuc29tZShlPT5lPT09dCk/IXJ8fHIucHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHMuaGFzKE51bWJlcih0KSk6dm9pZCAwLHZlbmRvcnNVc2luZzppW3RdLnZlbmRvcnNVc2luZysxLHZlbmRvcnNVc2luZ0xlZ3RJbnQ6by52ZW5kb3JzW2VdLmxlZ0ludFB1cnBvc2VzLnNvbWUoZT0+ZT09PXQpP2lbdF0udmVuZG9yc1VzaW5nTGVndEludCsxOmlbdF0udmVuZG9yc1VzaW5nTGVndEludH06aVt0XT17Li4uby5wdXJwb3Nlc1t0XSxhY2NlcHQ6ISFyJiZyLnB1cnBvc2VDb25zZW50cy5oYXMoTnVtYmVyKHQpKSx2ZW5kb3JzVXNpbmc6MSx2ZW5kb3JzVXNpbmdMZWd0SW50Om8udmVuZG9yc1tlXS5sZWdJbnRQdXJwb3Nlcy5zb21lKGU9PmU9PT10KT8xOjAsY29uc2VudDpvLnZlbmRvcnNbZV0ucHVycG9zZXMuc29tZShlPT5lPT09dCk/ISFyJiZyLnB1cnBvc2VDb25zZW50cy5oYXMoTnVtYmVyKHQpKTp2b2lkIDAsbGVnSW50Om8udmVuZG9yc1tlXS5sZWdJbnRQdXJwb3Nlcy5zb21lKGU9PmU9PT10KT8hcnx8ci5wdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cy5oYXMoTnVtYmVyKHQpKTp2b2lkIDB9LG8ucHVycG9zZXNbdF0pKSxzcGVjaWFsUHVycG9zZXM6by52ZW5kb3JzW2VdLnNwZWNpYWxQdXJwb3Nlcy5tYXAoZT0+KHRbZV0/dFtlXT17Li4udFtlXSx2ZW5kb3JzVXNpbmc6dFtlXS52ZW5kb3JzVXNpbmcrMX06dFtlXT17Li4uby5zcGVjaWFsUHVycG9zZXNbZV0sdmVuZG9yc1VzaW5nOjF9LG8uc3BlY2lhbFB1cnBvc2VzW2VdKSksc3BlY2lhbEZlYXR1cmVzOm8udmVuZG9yc1tlXS5zcGVjaWFsRmVhdHVyZXMubWFwKGU9PihhW2VdP2FbZV09ey4uLmFbZV0sdmVuZG9yc1VzaW5nOmFbZV0udmVuZG9yc1VzaW5nKzF9OmFbZV09ey4uLm8uc3BlY2lhbEZlYXR1cmVzW2VdLHZlbmRvcnNVc2luZzoxLGFjY2VwdDohIXImJnIuc3BlY2lhbEZlYXR1cmVPcHRpbnMuaGFzKE51bWJlcihlKSl9LG8uc3BlY2lhbEZlYXR1cmVzW2VdKSksZmVhdHVyZXM6by52ZW5kb3JzW2VdLmZlYXR1cmVzLm1hcChlPT4obltlXT9uW2VdPXsuLi5uW2VdLHZlbmRvcnNVc2luZzpuW2VdLnZlbmRvcnNVc2luZysxfTpuW2VdPXsuLi5vLmZlYXR1cmVzW2VdLHZlbmRvcnNVc2luZzoxfSxvLmZlYXR1cmVzW2VdKSl9KSk6Zi5wdXNoKGUpfWxldCBzLGw7cmV0dXJuIE9iamVjdC52YWx1ZXMoby5zdGFja3MpLmZvckVhY2godD0+e3ZhciBlO09iamVjdC5rZXlzKGkpLm1hcChOdW1iZXIpLmV2ZXJ5KGU9PnQucHVycG9zZXMuaW5jbHVkZXMoZSl8fDE9PT1lKSYmKChlPXQucHVycG9zZXMubGVuZ3RoKTxzfHx2b2lkIDA9PT1sKSYmKHM9ZSxsPXQpfSkse2lhYlRhZ3M6bSx2ZW5kb3JBdHBJZHM6ZixpYWJDYXRlZ29yaWVzOntmZWF0dXJlc0luVXNlOm4sc3BlY2lhbEZlYXR1cmVzSW5Vc2U6YSxwdXJwb3Nlc0luVXNlOmksc3BlY2lhbFB1cnBvc2VzSW5Vc2U6dCxzdGFja0luVXNlOmx9fX1jYXRjaChlKXtJLmVycm9yKCJJQUIgZmV0Y2ggdmVuZG9ycyBlcnJvcjogIitlLm1lc3NhZ2UpfX0pKHUuZGF0YS50Y2YudmVuZG9yX2lkcyx1LmRhdGEubGFuZ3VhZ2UsbT8uZGF0YT8udGNmU3RyaW5nLGU/LmRpc2NsYWltZXJPcHRpb25zPy5pZnJhbWVSZXF1ZXN0KSxlLmlhYlRhZ3M9bCxlLnZlbmRvckF0cElkcz1kLGUuaWFiQ2F0ZWdvcmllcz1jKTtsZXQgbz1lPy52ZW5kb3JBdHBJZHM/bT8uZGF0YT8ub3B0SW5UYWdzLm1hcCh0PT5PYmplY3QudmFsdWVzKGU/LnRhZ3MpLmZpbmQoZT0+ZS5pZD09PXQpKTpbXSxyPXtBZHZlbnRpdmU6IjE4NDUiLEZpdmVycjoiMjQ0MCJ9O1t7bGFuZ3VhZ2U6eCxsZWdpc2xhdGlvbjp5LGZvcmNlVGNTdHJpbmc6dz0hMSx2ZW5kb3JBdHBJZHM6Q31dPVt7bGFuZ3VhZ2U6dS5kYXRhLmxhbmd1YWdlLGxlZ2lzbGF0aW9uOnUuZGF0YS5sZWdpc2xhdGlvbixmb3JjZVRjU3RyaW5nOnUuZGF0YT8udGNmPy5mb3JjZVRjU3RyaW5nLHZlbmRvckF0cElkczplPy52ZW5kb3JBdHBJZHM/e2FjY2VwdGVkOmU/LnZlbmRvckF0cElkcy5maWx0ZXIodD0+by5maW5kKGU9PnJbZS5uYW1lXT09dCkpLHJlamVjdGVkOmU/LnZlbmRvckF0cElkcy5maWx0ZXIodD0+IW8uZmluZChlPT5yW2UubmFtZV09PXQpKX06bnVsbH1dLGF3YWl0KCEoJHQ9eT09PVguR0RQUnx8eT09PVguVUtfR0RQUikmJiF3fHwoVHQ9bmV3IEN0KE51bWJlcihrdCksTnVtYmVyKHZ0KSwhMCx7Z2V0VENEYXRhOihlLHQsbyk9Pnt2YXIgcj0wPEM/LmFjY2VwdGVkPy5sZW5ndGh8fDA8Qz8ucmVqZWN0ZWQ/Lmxlbmd0aDsiYm9vbGVhbiIhPXR5cGVvZiB0JiZudWxsIT10JiYociYmKHQuZW5hYmxlQWR2ZXJ0aXNlckNvbnNlbnRNb2RlPSEwKSxyKSYmKHQuYWRkdGxDb25zZW50PSIyfiIrKHI9Qyk/LmFjY2VwdGVkPy5qb2luKCIuIikrKDA8cj8ucmVqZWN0ZWQ/Lmxlbmd0aD8ifmR2LiIrcj8ucmVqZWN0ZWQ/LmpvaW4oIi4iKToiIikpLGUodCxvKX19KSwoTHQ9bmV3IG90KG5ldyBrKSkudW5zZXRBbGxQdXJwb3NlQ29uc2VudHMoKSxMdC51bnNldEFsbFZlbmRvckNvbnNlbnRzKCksTHQuY21wSWQ9a3QsTHQuY21wVmVyc2lvbj12dCxMdC52ZXJzaW9uPUl0LEx0LmNvbnNlbnRMYW5ndWFnZT14LEx0LmlzU2VydmljZVNwZWNpZmljPSEwLEM/LmFjY2VwdGVkPy5mb3JFYWNoKGU9PntMdC52ZW5kb3JDb25zZW50cy5zZXQoTnVtYmVyKGUpKX0pLEM/LnJlamVjdGVkPy5mb3JFYWNoKGU9PntMdC52ZW5kb3JzRGlzY2xvc2VkLnNldChOdW1iZXIoZSkpfSksYXdhaXQgTHQuZ3ZsLnJlYWR5UHJvbWlzZSwhQXQoe3VpVmlzaWJsZTohMH0pKSksenQoIkFkb3B0VmlzaXRvcklkIixtPy5kYXRhPy52aXNpdG9ySWQsZyksZS5hY2NlcHRUYWdzPW0/LmRhdGE/LmV2ZW50VHlwZSE9PVMuRmlyc3RWaXNpdCYmKDAhPT1tPy5kYXRhPy5vcHRJblRhZ3M/Lmxlbmd0aHx8MCE9PW0/LmRhdGE/Lm9wdE91dFRhZ3M/Lmxlbmd0aCksKGUuYWNjZXB0VGFnc3x8MDxlLmNvbnNlbnRPcHRpb25zPy5jYXRlZ29yaWVzRmlyZWRBc0RlZmF1bHQ/Lmxlbmd0aCkmJl90KGcsZSksZT8udXJscz8ub3B0b3V0JiYoKHA9bmV3IFVSTChlLnVybHMub3B0b3V0KSkuc2VhcmNoUGFyYW1zLnNldCgidmlzaXRvcklkIixtPy5kYXRhPy52aXNpdG9ySWQpLGUudXJscy5vcHRvdXQ9cC50b1N0cmluZygpKTt2YXJ7dXBkYXRlZFRhZ3M6ZixjYXRlZ29yaWVzU3RhdHVzOmh9PWp0KGUudGFncyxhLHMsdm9pZCAwLGUuY2F0ZWdvcmllc1N0YXR1cyk7ZS50YWdzPWYsZS5jYXRlZ29yaWVzU3RhdHVzPWgsKGU9V3QodT8uZGF0YSxtPy5kYXRhPy5vcHRJblRhZ3MsbT8uZGF0YT8ub3B0T3V0VGFncywhMCxtPy5kYXRhPy5ldmVudFR5cGU9PT1TLkZpcnN0VmlzaXQpKS52aXNpdG9ySWQ9bT8uZGF0YT8udmlzaXRvcklkO2xldCB0LGk9ITE7dGVbZWUuTm9ydGhBbWVyaWNhXS5pbmNsdWRlcyhlLmxlZ2lzbGF0aW9uKSYmbmF2aWdhdG9yLmdsb2JhbFByaXZhY3lDb250cm9sJiYhMT09PWUuYWNjZXB0VGFncyYmKER0KGU9SHQoZSx6LlJlamVjdEFsbCksbixtPy5kYXRhPy52aXNpdG9ySWQsZyx6LlJlamVjdEFsbCksZS5hY2NlcHRUYWdzPSEwKSxlP2UudGFncyYmMCE9PWUudGFncy5sZW5ndGg/ZT8uYWNjZXB0VGFncyYmR3QoZSk/dD1NLkhpZGRlbjplPy5hY2NlcHRUYWdzP3Q9TS5DbG9zZWQ6KHQ9TS5DYXJkLGk9ITA9PT1lPy5kaXNjbGFpbWVyT3B0aW9ucz8uY29uc2VudFdhbGwpOihJLmVycm9yKCJXZSBkaWRuJ3QgZmluZCBhbnkgdGFncywgc2NhbiB5b3VyIHNpdGUgaW4gQWRPcHQgRGFzaGJvYXJkLiIsbnVsbCwhMCksdD1NLkhpZGRlbik6KEkud2FybmluZygiV2UgZGlkbid0IGZpbmQgYW55IGNvbmZpZ3VyYXRpb24uIENoZWNrIGlmIHdlIGhhdmUgYW55IGNhY2hlIGluc2lkZSB0aGUgc2l0ZS4iKSx0PU0uSGlkZGVuKTt2YXIgYj1tPy5kYXRhPy50Y2ZTdHJpbmc/P20/LmRhdGE/LnRjU3RyaW5nO3JldHVybiBiJiYodS5kYXRhPy50Y2Y/LmVuYWJsZWQmJnRlW2VlLkV1cm9wZV0uaW5jbHVkZXModS5kYXRhLmxlZ2lzbGF0aW9uKXx8dS5kYXRhPy50Y2Y/LmZvcmNlVGNTdHJpbmcpJiZBdCh7dGNTdHJpbmc6Yix1aVZpc2libGU6dD09PU0uQ2FyZH0pLHtjb25maWc6ZSx2aXNpdG9ySWQ6bT8uZGF0YT8udmlzaXRvcklkLGN1cnJlbnRQYWdlOnQsc2hvdWxkU2hvd0NvbnNlbnRXYWxsOml9fX1jYXRjaChlKXtpZihlLm1lc3NhZ2UuaW5jbHVkZXMoImVycm9yIGZvciB1c2VyOiIpKXRocm93IGUubWVzc2FnZT1lLm1lc3NhZ2Uuc3BsaXQoImVycm9yIGZvciB1c2VyOiIpWzFdLEkuZXJyb3IoZS5tZXNzYWdlLCIiLCEwKSxlO0kuZXJyb3IoImdldFN0YXJ0aW5nSW5mbyIsZSl9dmFyIHgseSx3LEMsaSx2fWFzeW5jIGZ1bmN0aW9uIFB0KGUse2Rpc2NsYWltZXJJZDp0LGFkb3B0VmlzaXRvcklkOm8sY29uc2VudFRUTDpyLGNvbnNlbnRWZXJzaW9uOmkscHJpb3JpdHlRdWV1ZTpuLGFsbG93VFBDb29raWVzOmF9LHMsbCl7bz1hd2FpdCBEZS5wb3N0KCIvYXBpL3RhZy9nZXQtY29uc2VudCIse3dlYnNpdGVJRDp0LGFkb3B0Q29uc2VudDpudWxsLHZpc2l0b3JJZDpSdChvKT9vOm51bGwsZGV2aWNlOll0KCksY29uc2VudFRUTDpyLGNvbnNlbnRWZXJzaW9uOmkscHJpb3JpdHlRdWV1ZTpuLGFsbG93VFBDb29raWVzOmF9LHt3aXRoQ3JlZGVudGlhbHM6ITB9LGw/PyExKTtyZXR1cm4genQoIkFkb3B0Q29uc2VudCIsSlNPTi5zdHJpbmdpZnkoe3dlYnNpdGVJRDp0LHZpc2l0b3JJZDpvPy5kYXRhPy52aXNpdG9ySWQsdGNmU3RyaW5nOm8/LmRhdGE/LnRjZlN0cmluZyxvcHRJblRhZ3M6bz8uZGF0YT8ub3B0SW5UYWdzPz9bXSxvcHRPdXRUYWdzOm8/LmRhdGE/Lm9wdE91dFRhZ3M/P1tdLGNvbnNlbnRJZDpvPy5kYXRhPy5jb25zZW50SWQsZXZlbnRUeXBlOm8/LmRhdGE/LmV2ZW50VHlwZSxjb25zZW50VmVyc2lvbjppLHVwZGF0ZWRBdDpuZXcgRGF0ZX0pLGUsdm9pZCAwLHMpLG99ZnVuY3Rpb24gX3QoZSx0LG8pe0kuZGVidWcoIkluc2lkZSBnb29nbGVDb25zZW50TW9kZSwgd2luZG93IGFkb3B0LWlzLWNvbnNlbnQtbW9kZToiLHdpbmRvd1siYWRvcHQtaXMtY29uc2VudC1tb2RlIl0pO3ZhciByPXt9LGk9e30sbj10LnRhZ3MuZXZlcnkoZT0+ZS5hY2NlcHQpO2lmKG8mJm89PXouQWNjZXB0QWxsfHxuKWZvcih2YXIgYSBvZiBPYmplY3Qua2V5cyh3KS5maWx0ZXIoZT0+aXNOYU4oTnVtYmVyKGUpKSkpaVthXT0hMDtlbHNle2Zvcih2YXIgcyBvZiBPYmplY3Qua2V5cyh3KS5maWx0ZXIoZT0+aXNOYU4oTnVtYmVyKGUpKSkpaVtzXT0hMTtmb3IodmFyIGwgb2YgdC50YWdzKXJbbC50YWdfY2F0ZWdvcnlfaWRdPXJbbC50YWdfY2F0ZWdvcnlfaWRdfHxbXSxyW2wudGFnX2NhdGVnb3J5X2lkXS5wdXNoKGwpO2Zvcih2YXIgYyBpbiByKXt2YXIgZD0oKHQsbyk9Pnt2YXIgZT1PYmplY3Qua2V5cyh0KS5maWx0ZXIoZT0+dFtlXT09byk7cmV0dXJuIDA8ZS5sZW5ndGg/ZVswXTpudWxsfSkodyxjKTtkJiZyW2NdLmV2ZXJ5KGU9PiEwPT09ZS5hY2NlcHQpJiYoaVtkXT0hMCl9fXp0KCJhZG9wdENvbnNlbnRNb2RlIixKU09OLnN0cmluZ2lmeShpKSxlLCExLCEwKSx3aW5kb3cuZGF0YUxheWVyPUFycmF5LmlzQXJyYXkod2luZG93LmRhdGFMYXllcik/d2luZG93LmRhdGFMYXllcjpbXSx3aW5kb3cuZGF0YUxheWVyLnB1c2goe2V2ZW50OiJhZG9wdC12aXNpdG9yLWNvbnNlbnQtcmVhZHkifSl9bGV0IGp0PShlLG8sdCxyLGk9KCgpPT5PYmplY3Qua2V5cyhmKS5maWx0ZXIoZT0+aXNOYU4oTnVtYmVyKGUpKSkucmVkdWNlKChlLHQpPT4oZVt0XT17YWNjZXB0ZWQ6ITEsYWxyZWFkeUFjY2VwdGVkOiExfSxlKSx7fSkpKCkpPT57d2luZG93LmFjY2VwdGVkVGFncz13aW5kb3cuYWNjZXB0ZWRUYWdzfHxbXTtsZXQgbj1bXTt2YXIgYT1lLm1hcChlPT5lLmFjY2VwdCYmIXdpbmRvdy5hY2NlcHRlZFRhZ3MuaW5jbHVkZXMoZS5pZCk/KHdpbmRvdy5hY2NlcHRlZFRhZ3MucHVzaChlLmlkKSx3aW5kb3cuZGF0YUxheWVyPUFycmF5LmlzQXJyYXkod2luZG93LmRhdGFMYXllcik/d2luZG93LmRhdGFMYXllcjpbXSx3aW5kb3cuZGF0YUxheWVyLnB1c2goe2V2ZW50OmUuaWR9KSxlLmFscmVhZHlBY2NlcHRlZHx8bi5wdXNoKGUpLHsuLi5lLGFjY2VwdDohMCxhbHJlYWR5QWNjZXB0ZWQ6ITB9KTplKTt7dmFyIHM9aSxsPWU7bGV0IHI9bC5ldmVyeShlPT5lLmFjY2VwdCk7T2JqZWN0LmVudHJpZXMocykuZm9yRWFjaCgoW3QsZV0pPT57dmFyIG89bC5maWx0ZXIoZT0+KGU9ZS50YWdfY2F0ZWdvcnlfaWQsZltlXT09PXQpKTsoby5ldmVyeShlPT4hMD09PWUuYWNjZXB0KSYmMDxvLmxlbmd0aHx8cikmJihlLmFjY2VwdGVkPSEwKSxlLmFjY2VwdGVkJiYhZS5hbHJlYWR5QWNjZXB0ZWQmJih3aW5kb3cuZGF0YUxheWVyPUFycmF5LmlzQXJyYXkod2luZG93LmRhdGFMYXllcik/d2luZG93LmRhdGFMYXllcjpbXSx3aW5kb3cuZGF0YUxheWVyLnB1c2goe2V2ZW50OiJhZG9wdC1hY2NlcHQtIit0LnRvTG93ZXJDYXNlKCl9KSxzW3RdPXthY2NlcHRlZDohMCxhbHJlYWR5QWNjZXB0ZWQ6ITB9KX0pfXZhciBjPXdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYWRvcHQtaW5qZWN0b3ItYmxvY2siKTtpZih0Py4oZSksbz8uKG4pLGMpe3ZhcltkPVtdLHRdPVtuLmZsYXRNYXAoZT0+ZS5zb3VyY2VzKSxlXTtpZihvPXdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYWRvcHQtaW5qZWN0b3ItYmxvY2siKSl7dD8uZmluZChlPT4iRnJlc2h3b3JrcyI9PWU/Lm5hbWUpJiZzZXRUaW1lb3V0KCgpPT57d2luZG93LnRvcC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgibG9hZCIpKX0sM2UzKTtsZXQgZT1uZXcgUmVnRXhwKCJbfFxce30oKVtcXF1eJCsqPy5dIiwiZyIpO2QubGVuZ3RoPDE/KHdpbmRvdy5hdXRvQmxvY2tMaXN0LmJsYWNrbGlzdD1bXSx3aW5kb3cuYXV0b0Jsb2NrTGlzdC53aGl0ZWxpc3Q9W10pOih3aW5kb3cuYXV0b0Jsb2NrTGlzdC5ibGFja2xpc3QmJih3aW5kb3cuYXV0b0Jsb2NrTGlzdC5ibGFja2xpc3Q9d2luZG93LmF1dG9CbG9ja0xpc3QuYmxhY2tsaXN0LmZpbHRlcih0PT5kLmV2ZXJ5KGU9PiJzdHJpbmciPT10eXBlb2YgZT8hdC50ZXN0KGUpOmUgaW5zdGFuY2VvZiBSZWdFeHA/dC50b1N0cmluZygpIT09ZS50b1N0cmluZygpOnZvaWQgMCkpKSx3aW5kb3cuYXV0b0Jsb2NrTGlzdC53aGl0ZWxpc3QmJih3aW5kb3cuYXV0b0Jsb2NrTGlzdC53aGl0ZWxpc3Q9Wy4uLndpbmRvdy5hdXRvQmxvY2tMaXN0LndoaXRlbGlzdCwuLi5kLm1hcChvPT57aWYoInN0cmluZyI9PXR5cGVvZiBvKXtsZXQgdD0iLioiK28ucmVwbGFjZShlLCJcXCQmIikrIi4qIjtpZih3aW5kb3cuYXV0b0Jsb2NrTGlzdC53aGl0ZWxpc3QuZXZlcnkoZT0+ZS50b1N0cmluZygpIT09dC50b1N0cmluZygpKSlyZXR1cm4gbmV3IFJlZ0V4cCh0KX1lbHNlIGlmKG8gaW5zdGFuY2VvZiBSZWdFeHAmJndpbmRvdy5hdXRvQmxvY2tMaXN0LndoaXRlbGlzdC5ldmVyeShlPT5lLnRvU3RyaW5nKCkhPT1vLnRvU3RyaW5nKCkpKXJldHVybiBvO3JldHVybiBudWxsfSkuZmlsdGVyKEJvb2xlYW4pXSkpO3ZhciBwPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NjcmlwdFt0eXBlPSJqYXZhc2NyaXB0L2Jsb2NrZWQiXScpO2ZvcihsZXQgZT0wO2U8cC5sZW5ndGg7ZSsrKXt2YXIgdT1wW2VdO050KHUpJiYod2luZG93LmJhY2t1cFNjcmlwdHMuYmxhY2tsaXN0ZWQucHVzaChbdSwiYXBwbGljYXRpb24vamF2YXNjcmlwdCJdKSx1LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodSkpfWxldCBuPTA7Wy4uLndpbmRvdy5iYWNrdXBTY3JpcHRzLmJsYWNrbGlzdGVkXS5mb3JFYWNoKChbdCxlXSxvKT0+e2lmKE50KHQpKXt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmb3IobGV0IGU9MDtlPHQuYXR0cmlidXRlcy5sZW5ndGg7ZSsrKXt2YXIgaT10LmF0dHJpYnV0ZXNbZV07InNyYyIhPT1pLm5hbWUmJiJ0eXBlIiE9PWkubmFtZSYmci5zZXRBdHRyaWJ1dGUoaS5uYW1lLHQuYXR0cmlidXRlc1tlXS52YWx1ZSl9dC5zcmMmJnIuc2V0QXR0cmlidXRlKCJzcmMiLHQuc3JjKSxyLmlubmVySFRNTD10LmlubmVySFRNTCxyLnNldEF0dHJpYnV0ZSgiYWRvcHQtYWNjZXB0ZWQiLCEwKSxyLnNldEF0dHJpYnV0ZSgidHlwZSIsZXx8ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHIpLHdpbmRvdy5iYWNrdXBTY3JpcHRzLmJsYWNrbGlzdGVkLnNwbGljZShvLW4sMSksbisrfX0pO3ZhciBnLG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2Fkb3B0LXNyY10iKTtpZihvLmxlbmd0aClmb3IobGV0IHQgb2YgbylkLnNvbWUoZT0+dC5nZXRBdHRyaWJ1dGUoImFkb3B0LXNyYyIpLmluY2x1ZGVzKGUpKSYmKGc9d2luZG93LmJhY2t1cElmcmFtZXNbdC5nZXRBdHRyaWJ1dGUoImFkb3B0LXNyYyIpXSkmJih0LnBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZyksdC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHQpKTtvPXQuZXZlcnkoZT0+ZS5hY2NlcHQpO3dpbmRvdy5hdXRvQmxvY2tMaXN0LmJsYWNrbGlzdCYmd2luZG93LmF1dG9CbG9ja0xpc3QuYmxhY2tsaXN0Lmxlbmd0aDwxJiZvJiZ3aW5kb3cub2JzZXJ2ZXIuZGlzY29ubmVjdCgpfX1yZXR1cm57dXBkYXRlZFRhZ3M6YSxjYXRlZ29yaWVzU3RhdHVzOml9fTtmdW5jdGlvbiBOdChlKXtsZXQgdD1lLmdldEF0dHJpYnV0ZSgic3JjIik7ZT1lLmdldEF0dHJpYnV0ZSgiZGF0YS1hZG9wdCIpO3JldHVybiB0JiZ3aW5kb3cuYXV0b0Jsb2NrTGlzdC5ibGFja2xpc3QmJndpbmRvdy5hdXRvQmxvY2tMaXN0LmJsYWNrbGlzdC5ldmVyeShlPT4hZS50ZXN0KHQpKXx8dCYmd2luZG93LmF1dG9CbG9ja0xpc3Qud2hpdGVsaXN0JiZ3aW5kb3cuYXV0b0Jsb2NrTGlzdC53aGl0ZWxpc3Quc29tZShlPT5lLnRlc3QodCkpfHxlJiZ3aW5kb3cuYWNjZXB0ZWRUYWdzLmluY2x1ZGVzKGUpfWZ1bmN0aW9uIFZ0KHQsbyxyPSExKXt2YXIgaT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0KTtpZihyJiYoZG9jdW1lbnQuY29va2llPXQrIj07ZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAxIEdNVDtwYXRoPS87ZG9tYWluPSIrbyksaSl7bGV0IGU9cy5kZWNvbXByZXNzRnJvbUJhc2U2NChpKTtpZihlKXJldHVybiBlO3RyeXtyZXR1cm4gd2luZG93LmRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoYXRvYihpKSkpLGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoYXRvYihpKSkpfWNhdGNoKGUpe3JldHVybiB6dCh0LGksbyx2b2lkIDAsciksaX19aT1GdCgpW3RdO2xldCBlPXMuZGVjb21wcmVzc0Zyb21CYXNlNjQoaSk7aWYoZSlyZXR1cm4gZTt0cnl7cmV0dXJuIHdpbmRvdy5kZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGF0b2IoaSkpKSxkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGF0b2IoaSkpKX1jYXRjaChlKXtyZXR1cm4genQodCxpLG8sciksaX19ZnVuY3Rpb24gTXQoZSx0KXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShlKSxkb2N1bWVudC5jb29raWU9ZSsiPTtleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UO3BhdGg9Lztkb21haW49Iit0fWZ1bmN0aW9uIHp0KGUsdCxvLHI9ITAsaT0hMSl7bGV0IG47bj0wPT1yP3Q6cy5jb21wcmVzc1RvQmFzZTY0KHQpLGxvY2FsU3RvcmFnZS5zZXRJdGVtKGUsbiksMD09aT8oKHI9bmV3IERhdGUpLnNldFRpbWUoci5nZXRUaW1lKCkrNTE4NGU2KSxkb2N1bWVudC5jb29raWU9YCR7ZX09JHtufTtleHBpcmVzPSR7ci50b1VUQ1N0cmluZygpfTtwYXRoPS87ZG9tYWluPSR7b307c2VjdXJlO2ApOmRvY3VtZW50LmNvb2tpZT1lKyI9O2V4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQ7cGF0aD0vO2RvbWFpbj0iK299ZnVuY3Rpb24gRnQoKXtsZXQgdD17fTtyZXR1cm4gZG9jdW1lbnQuY29va2llLnNwbGl0KCI7IikuZm9yRWFjaChmdW5jdGlvbihlKXtlPWUubWF0Y2goLyguKj8pPSguKikkLyk7ZSYmKHRbZVsxXS50cmltKCldPShlWzJdfHwiIikudHJpbSgpKX0pLHR9ZnVuY3Rpb24gVXQoZT0hMSl7aWYoZSlyZXR1cm4gd2luZG93Py50b3A/LmxvY2F0aW9uLmhvc3RuYW1lO2xldCB0PTAsbz13aW5kb3c/LnRvcD8ubG9jYXRpb24uaG9zdG5hbWU7dmFyIHI9bz8uc3BsaXQoIi4iKSxpPSJBZG9wdEdEIisobmV3IERhdGUpLmdldFRpbWUoKTtpZihudWxsIT1kb2N1bWVudC5jb29raWUmJnIpe2Zvcig7dDxyLmxlbmd0aC0xJiYtMT09ZG9jdW1lbnQuY29va2llLmluZGV4T2YoaSsiPSIraSk7KW89ci5zbGljZSgtMS0rK3QpLmpvaW4oIi4iKSxkb2N1bWVudC5jb29raWU9aSsiPSIraSsiO2RvbWFpbj0iK28rIjtzZWN1cmU7IjtyZXR1cm4gZG9jdW1lbnQuY29va2llPWkrIj07ZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAxIEdNVDtkb21haW49IitvKyI7c2VjdXJlOyIsbz8/bnVsbH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBXdCh0LG8scixpLG49ITEpe3JldHVybiB0LnRhZ3M9dD8udGFncz8ubWFwKGU9PihlPXsuLi5lLGFscmVhZHlBY2NlcHRlZDplLmFscmVhZHlBY2NlcHRlZD8/ITF9LGkmJm4mJm51bGwhPT10LmNvbnNlbnRPcHRpb25zPy5jYXRlZ29yaWVzQWN0aXZlQnlEZWZhdWx0P3QuY29uc2VudE9wdGlvbnM/LmNhdGVnb3JpZXNBY3RpdmVCeURlZmF1bHQ/LmluY2x1ZGVzKENbZS50YWdfY2F0ZWdvcnlfaWRdKXx8MT09PWUudGFnX2NhdGVnb3J5X2lkP3suLi5lLGFjY2VwdDohMH06ey4uLmUsYWNjZXB0OiExfToxPT09ZS50YWdfY2F0ZWdvcnlfaWR8fG4mJnQuY29uc2VudE9wdGlvbnM/LmNhdGVnb3JpZXNGaXJlZEFzRGVmYXVsdD8uaW5jbHVkZXMoQ1tlLnRhZ19jYXRlZ29yeV9pZF0pfHxvLmluY2x1ZGVzKGUuaWQpfHwhci5pbmNsdWRlcyhlLmlkKSYmITE9PT10Py5kaXNjbGFpbWVyT3B0aW9ucz8udW5jaGVja1RhZ3MmJiEwPT09aT97Li4uZSxhY2NlcHQ6ITB9OnsuLi5lLGFjY2VwdDohMX0pKS5maWx0ZXIoZT0+NiE9PWUudGFnX2NhdGVnb3J5X2lkKSx0fWZ1bmN0aW9uIEh0KHQsbyl7cmV0dXJuIHQudGFncz10Py50YWdzPy5tYXAoZT0+MT09PWUudGFnX2NhdGVnb3J5X2lkP3suLi5lLGFjY2VwdDohMH06ey4uLmUsYWNjZXB0Om89PT16LkFjY2VwdEFsbH0pLHQ/LnRjZj8uZW5hYmxlZCYmdGVbZWUuRXVyb3BlXS5pbmNsdWRlcyh0LmxlZ2lzbGF0aW9uKSYmKHQuaWFiVGFncz10Py5pYWJUYWdzPy5tYXAoZT0+KHsuLi5lLGFjY2VwdDpvPT09ei5BY2NlcHRBbGx9KSksT2JqZWN0LmtleXModD8uaWFiQ2F0ZWdvcmllcz8ucHVycG9zZXNJblVzZSk/LmZvckVhY2goZT0+e3QuaWFiQ2F0ZWdvcmllcy5wdXJwb3Nlc0luVXNlW2VdPXsuLi50LmlhYkNhdGVnb3JpZXMucHVycG9zZXNJblVzZVtlXSxhY2NlcHQ6bz09PXouQWNjZXB0QWxsfX0pLE9iamVjdC5rZXlzKHQuaWFiQ2F0ZWdvcmllcy5zcGVjaWFsRmVhdHVyZXNJblVzZSk/LmZvckVhY2goZT0+e3QuaWFiQ2F0ZWdvcmllcy5zcGVjaWFsRmVhdHVyZXNJblVzZVtlXT17Li4udC5pYWJDYXRlZ29yaWVzLnNwZWNpYWxGZWF0dXJlc0luVXNlW2VdLGFjY2VwdDpvPT09ei5BY2NlcHRBbGx9fSkpLHR9ZnVuY3Rpb24gR3QoZSl7cmV0dXJuIGU/LmRpc2NsYWltZXJPcHRpb25zLmhpZGVEaXNjbGFpbWVyfWFzeW5jIGZ1bmN0aW9uIHF0KGUsdCxvLHIpe3ZhciBpO3JldHVybih3aW5kb3c/LnRvcD8uYWRvcHRSZWplY3RBbGx8fChpPSJBZG9wdFJlamVjdEFsbCIsRnQoKVtpXSkpJiYoZS5hY2NlcHRUYWdzfHxEdChlLHQsbyxyLHouUmVqZWN0QWxsKSxlLmFjY2VwdFRhZ3M9ITApLGV9ZnVuY3Rpb24gS3QoZSx0LG89MCl7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCk7cj9yLmlubmVySFRNTD1hdG9iKGUpOm88MyYmc2V0VGltZW91dCgoKT0+e0t0KGUsdCxvKzEpfSw1MCl9ZnVuY3Rpb24gUXQoZSx0KXtyZXR1cm4gMz09KGU9ZS5yZXBsYWNlKC9eXHMqI3xccyokL2csIiIpKS5sZW5ndGgmJihlPWUucmVwbGFjZSgvKC4pL2csIiQxJDEiKSksYHJnYmEoJHtwYXJzZUludChlLnN1YnN0cigwLDIpLDE2KX0sICR7cGFyc2VJbnQoZS5zdWJzdHIoMiwyKSwxNil9LCAke3BhcnNlSW50KGUuc3Vic3RyKDQsMiksMTYpfSwgJHt0fSlgfWZ1bmN0aW9uIEp0KGUsdCl7cmV0dXJuYGxpbmVhci1ncmFkaWVudCh0byAke2V9LCR7dH0gNzAlLCAke1F0KHQsLjQpfSAxNDAlKWB9ZnVuY3Rpb24gWnQoZSl7dmFyIGU9TWF0aC5jZWlsKGUvMWUzKSx0PU1hdGguY2VpbChlLzYwKSxvPU1hdGguY2VpbCh0LzYwKSxyPU1hdGguY2VpbChvLzI0KSxpPU1hdGguZmxvb3Ioci8zMCksbj1NYXRoLmZsb29yKGkvMTIpO3JldHVybiAxMjw9aT9pJTEyPT0wP3tudW1iZXI6bix0eXBlOjE9PT1uPyJ5ZWFyIjoieWVhcnMifTp7bnVtYmVyOmksdHlwZToibW91bnRocyJ9OjMwPD1yP3IlMzA9PTA/e251bWJlcjppLHR5cGU6MT09PWk/Im1vdW50aCI6Im1vdW50aHMifTp7bnVtYmVyOnIsdHlwZToiZGF5cyJ9OjI0PG8/e251bWJlcjpyLHR5cGU6MT09PXI/ImRheSI6ImRheXMifTo2MDx0P3tudW1iZXI6byx0eXBlOjE9PT1vPyJob3VyIjoiaG91cnMifTo2MDxlP3tudW1iZXI6dCx0eXBlOjE9PT10PyJtaW51dGUiOiJtaW51dGVzIn06e251bWJlcjplLHR5cGU6MT09PWU/InNlY29uZCI6InNlY29uZHMifX1mdW5jdGlvbiBZdCgpe3ZhciBlPW5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuLyh0YWJsZXR8aXBhZHxwbGF5Ym9va3xzaWxrKXwoYW5kcm9pZCg/IS4qbW9iaSkpL2kudGVzdChlKT8idGFibGV0IjovTW9iaWxlfGlQKGhvbmV8b2QpfEFuZHJvaWR8QmxhY2tCZXJyeXxJRU1vYmlsZXxLaW5kbGV8U2lsay1BY2NlbGVyYXRlZHwoaHB3fHdlYilPU3xPcGVyYSBNKG9iaXxpbmkpLy50ZXN0KGUpPyJtb2JpbGUiOiJkZXNrdG9wIn1mdW5jdGlvbiBEKGUsdCxvLHIsaSl7aWYodm9pZCAwIT09aSl7aWYodCBpbiBpW2VdW29dKXJldHVybiBpW2VdW29dW3RdO2lmKHQgaW4gaVtlXVtvXSlyZXR1cm4gaVtlXVtvXVt0XTtpZih0IGluIGlbZV1bb10pcmV0dXJuIGlbZV1bb11bdF19cmV0dXJuKGUgaW4gcj9yW2VdOnIpW29dW3RdfWZ1bmN0aW9uIFh0KGUsdCl7cmV0dXJuYGh0dHBzOi8vZ29hZG9wdC5pby8keyJwdCI9PT1lPy5sYW5ndWFnZT8iIjoiZW4vIn1wb3JxdWUtYXZpc28vP3V0bV9jb250ZW50PSR7dH0mdXRtX21lZGl1bT1jb29raWVfYmFubmVyX3dlYiZ1dG1fc291cmNlPWNvb2tpZV9iYW5uZXJfYCtlPy53ZWJzaXRlSWR9ZnVuY3Rpb24gaCgpe31sZXQgZW89ZT0+ZTtmdW5jdGlvbiB0byhlKXtyZXR1cm4gZSgpfWZ1bmN0aW9uIG9vKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbCl9ZnVuY3Rpb24gcm8oZSl7ZS5mb3JFYWNoKHRvKX1mdW5jdGlvbiBpbyhlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX1mdW5jdGlvbiByKGUsdCl7cmV0dXJuIGUhPWU/dD09dDplIT09dHx8ZSYmIm9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZX1sZXQgbm87ZnVuY3Rpb24gYW8oZSx0KXtyZXR1cm4obm89bm98fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSkuaHJlZj10LGU9PT1uby5ocmVmfWxldCBzbz0oZT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyk/KCk9PndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKTooKT0+RGF0ZS5ub3coKSxsbz1lP2U9PnJlcXVlc3RBbmltYXRpb25GcmFtZShlKTpoLGNvPW5ldyBTZXQ7ZnVuY3Rpb24gcG8odCl7Y28uZm9yRWFjaChlPT57ZS5jKHQpfHwoY28uZGVsZXRlKGUpLGUuZigpKX0pLDAhPT1jby5zaXplJiZsbyhwbyl9ZnVuY3Rpb24gc2UoZSx0KXtlLmFwcGVuZENoaWxkKHQpfWZ1bmN0aW9uIHVvKGUpe3ZhciB0O3JldHVybiBlPyh0PWUuZ2V0Um9vdE5vZGU/ZS5nZXRSb290Tm9kZSgpOmUub3duZXJEb2N1bWVudCkmJnQuaG9zdD90OmUub3duZXJEb2N1bWVudDpkb2N1bWVudH1mdW5jdGlvbiBnbyhlKXt2YXIgdCxvPWRlKCJzdHlsZSIpO3JldHVybiBlPXVvKGUpLHQ9byxzZShlLmhlYWR8fGUsdCksdC5zaGVldCxvLnNoZWV0fWZ1bmN0aW9uIGxlKGUsdCxvKXtlLmluc2VydEJlZm9yZSh0LG98fG51bGwpfWZ1bmN0aW9uIGNlKGUpe2UucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfWZ1bmN0aW9uIG1vKHQsbyl7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKz0xKXRbZV0mJnRbZV0uZChvKX1mdW5jdGlvbiBkZShlKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKX1mdW5jdGlvbiBiKGUpe3JldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlKX1mdW5jdGlvbiBwZShlKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSl9ZnVuY3Rpb24gdWUoKXtyZXR1cm4gcGUoIiAiKX1mdW5jdGlvbiBmbygpe3JldHVybiBwZSgiIil9ZnVuY3Rpb24gZ2UoZSx0LG8scil7cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcih0LG8sciksKCk9PmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG8scil9ZnVuY3Rpb24gaG8odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpLHQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBtZShlLHQsbyl7bnVsbD09bz9lLnJlbW92ZUF0dHJpYnV0ZSh0KTplLmdldEF0dHJpYnV0ZSh0KSE9PW8mJmUuc2V0QXR0cmlidXRlKHQsbyl9ZnVuY3Rpb24gZmUoZSx0KXtlLmRhdGEhPT0odD0iIit0KSYmKGUuZGF0YT10KX1mdW5jdGlvbiB4KGUsdCxvLHIpe251bGw9PW8/ZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTplLnN0eWxlLnNldFByb3BlcnR5KHQsbyxyPyJpbXBvcnRhbnQiOiIiKX1mdW5jdGlvbiBibyhlLHQse2J1YmJsZXM6bz0hMSxjYW5jZWxhYmxlOnI9ITF9PXt9KXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTtyZXR1cm4gaS5pbml0Q3VzdG9tRXZlbnQoZSxvLHIsdCksaX1mdW5jdGlvbiB4byhlLHQpe3JldHVybiBuZXcgZSh0KX1DZT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6Z2xvYmFsO2xldCB5bz1uZXcgTWFwLHdvPTA7ZnVuY3Rpb24gQ28oZSx0LG8scixpLG4sYSxzPTApe3ZhciBsPTE2LjY2Ni9yO2xldCBjPSJ7XG4iO2ZvcihsZXQgZT0wO2U8PTE7ZSs9bCl7dmFyIGQ9dCsoby10KSpuKGUpO2MrPTEwMCplK2AleyR7YShkLDEtZCl9fQpgfXZhciBwPWMrYDEwMCUgeyR7YShvLDEtbyl9fQp9YCxzPWBfX3N2ZWx0ZV8keyhlPT57bGV0IHQ9NTM4MSxvPWUubGVuZ3RoO2Zvcig7by0tOyl0PSh0PDw1KS10XmUuY2hhckNvZGVBdChvKTtyZXR1cm4gdD4+PjB9KShwKX1fYCtzLHU9dW8oZSkse3N0eWxlc2hlZXQ6dSxydWxlczpnfT15by5nZXQodSl8fCh1PXUsZz17c3R5bGVzaGVldDpnbyhnPWUpLHJ1bGVzOnt9fSx5by5zZXQodSxnKSxnKSxwPShnW3NdfHwoZ1tzXT0hMCx1Lmluc2VydFJ1bGUoYEBrZXlmcmFtZXMgJHtzfSBgK3AsdS5jc3NSdWxlcy5sZW5ndGgpKSxlLnN0eWxlLmFuaW1hdGlvbnx8IiIpO3JldHVybiBlLnN0eWxlLmFuaW1hdGlvbj0ocD9wKyIsICI6IiIpK3MrYCAke3J9bXMgbGluZWFyICR7aX1tcyAxIGJvdGhgLHdvKz0xLHN9ZnVuY3Rpb24gdm8oZSx0KXt2YXIgbz0oZS5zdHlsZS5hbmltYXRpb258fCIiKS5zcGxpdCgiLCAiKSxyPW8uZmlsdGVyKHQ/ZT0+ZS5pbmRleE9mKHQpPDA6ZT0+LTE9PT1lLmluZGV4T2YoIl9fc3ZlbHRlIikpLG89by5sZW5ndGgtci5sZW5ndGg7IW98fChlLnN0eWxlLmFuaW1hdGlvbj1yLmpvaW4oIiwgIiksd28tPW8pfHxsbygoKT0+e3dvfHwoeW8uZm9yRWFjaChlPT57ZT1lLnN0eWxlc2hlZXQub3duZXJOb2RlO2UmJmNlKGUpfSkseW8uY2xlYXIoKSl9KX1sZXQga287ZnVuY3Rpb24gSW8oZSl7a289ZX1mdW5jdGlvbiBTbygpe2lmKGtvKXJldHVybiBrbzt0aHJvdyBuZXcgRXJyb3IoIkZ1bmN0aW9uIGNhbGxlZCBvdXRzaWRlIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbiIpfWZ1bmN0aW9uIFRvKGUpe1NvKCkuJCQub25fbW91bnQucHVzaChlKX1mdW5jdGlvbiBMbyhlKXtTbygpLiQkLm9uX2Rlc3Ryb3kucHVzaChlKX1mdW5jdGlvbiAkbygpe2xldCBuPVNvKCk7cmV0dXJuKGUsbyx7Y2FuY2VsYWJsZTpyPSExfT17fSk9Pnt2YXIgaT1uLiQkLmNhbGxiYWNrc1tlXTtpZihpKXtsZXQgdD1ibyhlLG8se2NhbmNlbGFibGU6cn0pO3JldHVybiBpLnNsaWNlKCkuZm9yRWFjaChlPT57ZS5jYWxsKG4sdCl9KSwhdC5kZWZhdWx0UHJldmVudGVkfXJldHVybiEwfX1sZXQgQW89W10sRW89W10sUm89W10sT289W10sRG89UHJvbWlzZS5yZXNvbHZlKCksQm89ITE7ZnVuY3Rpb24gUG8oKXtCb3x8KEJvPSEwLERvLnRoZW4oTW8pKX1mdW5jdGlvbiBfbygpe3JldHVybiBQbygpLERvfWZ1bmN0aW9uIGpvKGUpe1JvLnB1c2goZSl9bGV0IE5vPW5ldyBTZXQsVm89MDtmdW5jdGlvbiBNbygpe2lmKDA9PT1Wbyl7dmFyIGU9a287ZG97dHJ5e2Zvcig7Vm88QW8ubGVuZ3RoOyl7dmFyIHQsbz1Bb1tWb10scj0oVm8rKyxJbyhvKSx0PXI9dm9pZCAwLG8uJCQpO251bGwhPT1yLmZyYWdtZW50JiYoci51cGRhdGUoKSxybyhyLmJlZm9yZV91cGRhdGUpLHQ9ci5kaXJ0eSxyLmRpcnR5PVstMV0sci5mcmFnbWVudCYmci5mcmFnbWVudC5wKHIuY3R4LHQpLHIuYWZ0ZXJfdXBkYXRlLmZvckVhY2goam8pKX19Y2F0Y2goZSl7dGhyb3cgQW8ubGVuZ3RoPTAsVm89MCxlfWZvcihJbyhudWxsKSxBby5sZW5ndGg9MCxWbz0wO0VvLmxlbmd0aDspRW8ucG9wKCkoKTtmb3IobGV0IGU9MDtlPFJvLmxlbmd0aDtlKz0xKXt2YXIgaT1Sb1tlXTtOby5oYXMoaSl8fChOby5hZGQoaSksaSgpKX19d2hpbGUoUm8ubGVuZ3RoPTAsQW8ubGVuZ3RoKTtmb3IoO09vLmxlbmd0aDspT28ucG9wKCkoKTtCbz0hMSxOby5jbGVhcigpLElvKGUpfX1sZXQgem87ZnVuY3Rpb24gRm8oZSx0LG8pe2UuZGlzcGF0Y2hFdmVudChibygodD8iaW50cm8iOiJvdXRybyIpK28pKX1sZXQgVW89bmV3IFNldCxXbztmdW5jdGlvbiBpZSgpe1dvPXtyOjAsYzpbXSxwOldvfX1mdW5jdGlvbiBuZSgpe1dvLnJ8fHJvKFdvLmMpLFdvPVdvLnB9ZnVuY3Rpb24gaGUoZSx0KXtlJiZlLmkmJihVby5kZWxldGUoZSksZS5pKHQpKX1mdW5jdGlvbiBiZShlLHQsbyxyKXtlJiZlLm8/VW8uaGFzKGUpfHwoVW8uYWRkKGUpLFdvLmMucHVzaCgoKT0+e1VvLmRlbGV0ZShlKSxyJiYobyYmZS5kKDEpLHIoKSl9KSxlLm8odCkpOnImJnIoKX1sZXQgSG89e2R1cmF0aW9uOjB9O2Z1bmN0aW9uIEdvKGwsZSx0LG8pe2xldCByPXtkaXJlY3Rpb246ImJvdGgifSxjPWUobCx0LHIpLGQ9bz8wOjEscD1udWxsLHU9bnVsbCxnPW51bGw7ZnVuY3Rpb24gbSgpe2cmJnZvKGwsZyl9ZnVuY3Rpb24gZihlLHQpe3ZhciBvPWUuYi1kO3JldHVybiB0Kj1NYXRoLmFicyhvKSx7YTpkLGI6ZS5iLGQ6byxkdXJhdGlvbjp0LHN0YXJ0OmUuc3RhcnQsZW5kOmUuc3RhcnQrdCxncm91cDplLmdyb3VwfX1mdW5jdGlvbiBpKGUpe2xldHtkZWxheTp0PTAsZHVyYXRpb246bz0zMDAsZWFzaW5nOnI9ZW8sdGljazppPWgsY3NzOm59PWN8fEhvO3ZhciBhPXtzdGFydDpzbygpK3QsYjplfTtpZihlfHwoKGEuZ3JvdXA9V28pLnIrPTEpLHB8fHUpdT1hO2Vsc2V7biYmKG0oKSxnPUNvKGwsZCxlLG8sdCxyLG4pKSxlJiZpKDAsMSkscD1mKGEsbyksam8oKCk9PkZvKGwsZSwic3RhcnQiKSk7e3ZhciBzPWU9Pih1JiZlPnUuc3RhcnQmJihwPWYodSxvKSx1PW51bGwsRm8obCxwLmIsInN0YXJ0IiksbikmJihtKCksZz1DbyhsLGQscC5iLHAuZHVyYXRpb24sMCxyLGMuY3NzKSkscCYmKGU+PXAuZW5kPyhpKGQ9cC5iLDEtZCksRm8obCxwLmIsImVuZCIpLHV8fChwLmI/bSgpOi0tcC5ncm91cC5yfHxybyhwLmdyb3VwLmMpKSxwPW51bGwpOmU+PXAuc3RhcnQmJihlPWUtcC5zdGFydCxkPXAuYStwLmQqcihlL3AuZHVyYXRpb24pLGkoZCwxLWQpKSksISghcCYmIXUpKTtsZXQgdDswPT09Y28uc2l6ZSYmbG8ocG8pLG5ldyBQcm9taXNlKGU9Pntjby5hZGQodD17YzpzLGY6ZX0pfSl9fX1yZXR1cm57cnVuKGUpe2lvKGMpPyh6b3x8KHpvPVByb21pc2UucmVzb2x2ZSgpKS50aGVuKCgpPT57em89bnVsbH0pLHpvLnRoZW4oKCk9PntjPWMociksaShlKX0pKTppKGUpfSxlbmQoKXttKCkscD11PW51bGx9fX1mdW5jdGlvbiB4ZShlKXtlJiZlLmMoKX1mdW5jdGlvbiB5ZSh0LGUsbyxyKXt2YXJ7ZnJhZ21lbnQ6aSxhZnRlcl91cGRhdGU6bn09dC4kJDtpJiZpLm0oZSxvKSxyfHxqbygoKT0+e3ZhciBlPXQuJCQub25fbW91bnQubWFwKHRvKS5maWx0ZXIoaW8pO3QuJCQub25fZGVzdHJveT90LiQkLm9uX2Rlc3Ryb3kucHVzaCguLi5lKTpybyhlKSx0LiQkLm9uX21vdW50PVtdfSksbi5mb3JFYWNoKGpvKX1mdW5jdGlvbiB3ZShlLHQpe2U9ZS4kJDtpZihudWxsIT09ZS5mcmFnbWVudCl7e3ZhciByPWUuYWZ0ZXJfdXBkYXRlO2xldCB0PVtdLG89W107Um8uZm9yRWFjaChlPT4oLTE9PT1yLmluZGV4T2YoZSk/dDpvKS5wdXNoKGUpKSxvLmZvckVhY2goZT0+ZSgpKSxSbz10fXJvKGUub25fZGVzdHJveSksZS5mcmFnbWVudCYmZS5mcmFnbWVudC5kKHQpLGUub25fZGVzdHJveT1lLmZyYWdtZW50PW51bGwsZS5jdHg9W119fWZ1bmN0aW9uIG4ocixlLHQsbyxpLG4sYSxzPVstMV0pe3ZhciBsPWtvO0lvKHIpO2xldCBjPXIuJCQ9e2ZyYWdtZW50Om51bGwsY3R4OltdLHByb3BzOm4sdXBkYXRlOmgsbm90X2VxdWFsOmksYm91bmQ6b28oKSxvbl9tb3VudDpbXSxvbl9kZXN0cm95OltdLG9uX2Rpc2Nvbm5lY3Q6W10sYmVmb3JlX3VwZGF0ZTpbXSxhZnRlcl91cGRhdGU6W10sY29udGV4dDpuZXcgTWFwKGUuY29udGV4dHx8KGw/bC4kJC5jb250ZXh0OltdKSksY2FsbGJhY2tzOm9vKCksZGlydHk6cyxza2lwX2JvdW5kOiExLHJvb3Q6ZS50YXJnZXR8fGwuJCQucm9vdH0sZD0oYSYmYShjLnJvb3QpLCExKTtjLmN0eD10P3QocixlLnByb3BzfHx7fSwoZSx0LC4uLm8pPT57dmFyIG89by5sZW5ndGg/b1swXTp0O3JldHVybiBjLmN0eCYmaShjLmN0eFtlXSxjLmN0eFtlXT1vKSYmKCFjLnNraXBfYm91bmQmJmMuYm91bmRbZV0mJmMuYm91bmRbZV0obyksZCkmJihvPWUsLTE9PT0oZT1yKS4kJC5kaXJ0eVswXSYmKEFvLnB1c2goZSksUG8oKSxlLiQkLmRpcnR5LmZpbGwoMCkpLGUuJCQuZGlydHlbby8zMXwwXXw9MTw8byUzMSksdH0pOltdLGMudXBkYXRlKCksZD0hMCxybyhjLmJlZm9yZV91cGRhdGUpLGMuZnJhZ21lbnQ9ISFvJiZvKGMuY3R4KSxlLnRhcmdldCYmKGUuaHlkcmF0ZT8obj1lLnRhcmdldCxzPUFycmF5LmZyb20obi5jaGlsZE5vZGVzKSxjLmZyYWdtZW50JiZjLmZyYWdtZW50Lmwocykscy5mb3JFYWNoKGNlKSk6Yy5mcmFnbWVudCYmYy5mcmFnbWVudC5jKCksZS5pbnRybyYmaGUoci4kJC5mcmFnbWVudCkseWUocixlLnRhcmdldCxlLmFuY2hvcixlLmN1c3RvbUVsZW1lbnQpLE1vKCkpLElvKGwpfWNsYXNzIGF7JGRlc3Ryb3koKXt3ZSh0aGlzLDEpLHRoaXMuJGRlc3Ryb3k9aH0kb24oZSx0KXtpZighaW8odCkpcmV0dXJuIGg7bGV0IG89dGhpcy4kJC5jYWxsYmFja3NbZV18fCh0aGlzLiQkLmNhbGxiYWNrc1tlXT1bXSk7cmV0dXJuIG8ucHVzaCh0KSwoKT0+e3ZhciBlPW8uaW5kZXhPZih0KTstMSE9PWUmJm8uc3BsaWNlKGUsMSl9fSRzZXQoZSl7dGhpcy4kJHNldCYmMCE9PU9iamVjdC5rZXlzKGUpLmxlbmd0aCYmKHRoaXMuJCQuc2tpcF9ib3VuZD0hMCx0aGlzLiQkc2V0KGUpLHRoaXMuJCQuc2tpcF9ib3VuZD0hMSl9fWZ1bmN0aW9uIHFvKGUpe2xldCBvLHIsaSxuLGEscyxsLGMsZCxwO3JldHVybntjKCl7bz1iKCJzdmciKSxyPWIoImciKSxpPWIoInBhdGgiKSxuPWIoInBhdGgiKSxhPWIoInBhdGgiKSxzPWIoImRlZnMiKSxsPWIoImZpbHRlciIpLGM9YigiZmVGbG9vZCIpLGQ9YigiZmVCbGVuZCIpLHA9YigiZmVHYXVzc2lhbkJsdXIiKSxtZShpLCJkIiwiTTE2Ni4wODMgMjk0LjE2NkMyMzYuODIxIDI5NC4xNjYgMjk0LjE2NiAyMzYuODIxIDI5NC4xNjYgMTY2LjA4M0MyOTQuMTY2IDk1LjM0NDcgMjM2LjgyMSAzOCAxNjYuMDgzIDM4Qzk1LjM0NDcgMzggMzggOTUuMzQ0NyAzOCAxNjYuMDgzQzM4IDIzNi44MjEgOTUuMzQ0NyAyOTQuMTY2IDE2Ni4wODMgMjk0LjE2NloiKSxtZShpLCJzdHJva2UiLCJibGFjayIpLG1lKGksInN0cm9rZS1vcGFjaXR5IiwiMC41IiksbWUoaSwic3Ryb2tlLXdpZHRoIiwiMTYuNTc2IiksbWUociwiZmlsdGVyIiwidXJsKCNmaWx0ZXIwX2ZfMTdfMTEpIiksbWUobiwiZCIsIk0xNjYuMjY1IDM0Qzk1Ljk3NTcgMzQgMzkgOTMuMjk5NSAzOSAxNjYuNDc2QzM5IDIzOS42NTIgOTUuOTc1NyAyOTguOTUyIDE2Ni4yNjUgMjk4Ljk1MkMyMzYuNTU1IDI5OC45NTIgMjkzLjUzIDIzOS42NTIgMjkzLjUzIDE2Ni40NzZDMjkzLjUzIDkzLjI5OTUgMjM2LjU1NSAzNCAxNjYuMjY1IDM0Wk0yNDIuMjMyIDE2NS45ODhMMTc2LjQ1OCAyMzEuNzYyQzE2OS44ODMgMjM4LjIwNCAxNjEuMDQ1IDI0MS44MTMgMTUxLjg0MSAyNDEuODEzQzE0Mi42MzYgMjQxLjgxMyAxMzMuNzk4IDIzOC4yMDQgMTI3LjIyNCAyMzEuNzYyTDkwLjI4OTUgMTk0Ljg0QzgzLjg0MDggMTg4LjM4MyA4MC4yMTk4IDE3OS42MyA4MC4yMjI2IDE3MC41MDVDODAuMjI1NSAxNjEuMzc5IDgzLjg1MTggMTUyLjYyOCA5MC4zMDQ2IDE0Ni4xNzVDOTYuNzU3NCAxMzkuNzIzIDEwNS41MDggMTM2LjA5NiAxMTQuNjM0IDEzNi4wOTNDMTIzLjc1OSAxMzYuMDkxIDEzMi41MTMgMTM5LjcxMiAxMzguOTY5IDE0Ni4xNkwxNTEuODQ3IDE1OS4wMjNMMTkzLjU1OCAxMTcuMzExQzE5Ni43NTQgMTE0LjExMyAyMDAuNTQ5IDExMS41NzUgMjA0LjcyNSAxMDkuODQzQzIwOC45MDIgMTA4LjExMiAyMTMuMzc5IDEwNy4yMiAyMTcuOTAxIDEwNy4yMTlDMjIyLjQyMyAxMDcuMjE4IDIyNi45IDEwOC4xMDggMjMxLjA3OCAxMDkuODM4QzIzNS4yNTUgMTExLjU2NyAyMzkuMDUxIDExNC4xMDMgMjQyLjI0OCAxMTcuMzAxQzI0NS40NDYgMTIwLjQ5OCAyNDcuOTgyIDEyNC4yOTQgMjQ5LjcxMiAxMjguNDcxQzI1MS40NDEgMTMyLjY0OSAyNTIuMzMxIDEzNy4xMjcgMjUyLjMzIDE0MS42NDhDMjUyLjMyOSAxNDYuMTcgMjUxLjQzOCAxNTAuNjQ3IDI0OS43MDYgMTU0LjgyNEMyNDcuOTc0IDE1OS4wMDEgMjQ1LjQzNyAxNjIuNzk1IDI0Mi4yMzggMTY1Ljk5MUwyNDIuMjMyIDE2NS45ODhaIikseChuLCJmaWxsIixlWzFdKSx4KG4sInN0cm9rZS13aWR0aCIsIjMuMjUzMzUwMDIiKSxtZShhLCJkIiwiTTIzNS4yNjMgMTIzLjQyNUMyMzIuODgyIDEyMS4wNDEgMjMwLjA1NCAxMTkuMTUgMjI2Ljk0MSAxMTcuODZDMjIzLjgyOSAxMTYuNTcgMjIwLjQ5MiAxMTUuOTA2IDIxNy4xMjMgMTE1LjkwNkMyMTMuNzUzIDExNS45MDYgMjEwLjQxNyAxMTYuNTcgMjA3LjMwNCAxMTcuODZDMjA0LjE5MiAxMTkuMTUgMjAxLjM2NCAxMjEuMDQxIDE5OC45ODIgMTIzLjQyNUwxNTcuNjAyIDE2NC44MDJMMTMyLjc0MSAxODkuNjY2QzEzMC4zNTggMTkyLjA0NyAxMjguNDY3IDE5NC44NzUgMTI3LjE3NyAxOTcuOTg4QzEyNS44ODcgMjAxLjEwMSAxMjUuMjIzIDIwNC40MzcgMTI1LjIyMyAyMDcuODA2QzEyNS4yMjMgMjExLjE3NiAxMjUuODg3IDIxNC41MTIgMTI3LjE3NyAyMTcuNjI1QzEyOC40NjcgMjIwLjczOCAxMzAuMzU4IDIyMy41NjUgMTMyLjc0MSAyMjUuOTQ3TDEzMy41OTQgMjI2Ljc5OUMxMzUuOTc1IDIyOS4xODMgMTM4LjgwMyAyMzEuMDc0IDE0MS45MTYgMjMyLjM2NEMxNDUuMDI4IDIzMy42NTQgMTQ4LjM2NSAyMzQuMzE4IDE1MS43MzQgMjM0LjMxOEMxNTUuMTA0IDIzNC4zMTggMTU4LjQ0IDIzMy42NTQgMTYxLjU1MyAyMzIuMzY0QzE2NC42NjUgMjMxLjA3NCAxNjcuNDkzIDIyOS4xODMgMTY5Ljg3NSAyMjYuNzk5TDE4NS42MjcgMjExLjA0N0wyMzYuMTEzIDE2MC41NjFDMjM4LjQ5NiAxNTguMTggMjQwLjM4NyAxNTUuMzUyIDI0MS42NzcgMTUyLjIzOUMyNDIuOTY3IDE0OS4xMjYgMjQzLjYzMSAxNDUuNzkgMjQzLjYzMSAxNDIuNDIxQzI0My42MzEgMTM5LjA1MSAyNDIuOTY3IDEzNS43MTUgMjQxLjY3NyAxMzIuNjAyQzI0MC4zODcgMTI5LjQ5IDIzOC40OTYgMTI2LjY2MiAyMzYuMTEzIDEyNC4yOEwyMzUuMjYzIDEyMy40MjVaTTE1MS44NDEgMjI3Ljk4MkMxNDcuODMgMjI3Ljk4MyAxNDMuOTEgMjI2Ljc5NSAxNDAuNTc1IDIyNC41NjhDMTM3LjI0IDIyMi4zNDEgMTM0LjY0IDIxOS4xNzUgMTMzLjEwNCAyMTUuNDdDMTMxLjU2OCAyMTEuNzY2IDEzMS4xNjYgMjA3LjY4OSAxMzEuOTQ3IDIwMy43NTZDMTMyLjcyOCAxOTkuODIyIDEzNC42NTggMTk2LjIwOSAxMzcuNDkzIDE5My4zNzJDMTQwLjMyOCAxOTAuNTM2IDE0My45NCAxODguNjA0IDE0Ny44NzMgMTg3LjgyQzE1MS44MDYgMTg3LjAzNyAxNTUuODgzIDE4Ny40MzcgMTU5LjU4OSAxODguOTdDMTYzLjI5NCAxOTAuNTA0IDE2Ni40NjIgMTkzLjEwMiAxNjguNjkgMTk2LjQzNkMxNzAuOTE5IDE5OS43NjkgMTcyLjExIDIwMy42ODkgMTcyLjExMSAyMDcuNjk5QzE3Mi4xMSAyMTMuMDc2IDE2OS45NzUgMjE4LjIzMyAxNjYuMTc0IDIyMi4wMzZDMTYyLjM3MyAyMjUuODM5IDE1Ny4yMTggMjI3Ljk3OCAxNTEuODQxIDIyNy45ODJaIikseChhLCJmaWxsIixlWzFdKSx4KGEsInN0cm9rZS13aWR0aCIsIjMuMjUzMzUwMDIiKSxtZShjLCJmbG9vZC1vcGFjaXR5IiwiMCIpLG1lKGMsInJlc3VsdCIsIkJhY2tncm91bmRJbWFnZUZpeCIpLG1lKGQsIm1vZGUiLCJub3JtYWwiKSxtZShkLCJpbiIsIlNvdXJjZUdyYXBoaWMiKSxtZShkLCJpbjIiLCJCYWNrZ3JvdW5kSW1hZ2VGaXgiKSxtZShkLCJyZXN1bHQiLCJzaGFwZSIpLG1lKHAsInN0ZERldmlhdGlvbiIsIjE0LjgwMDMiKSxtZShwLCJyZXN1bHQiLCJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzE3XzExIiksbWUobCwiaWQiLCJmaWx0ZXIwX2ZfMTdfMTEiKSxtZShsLCJ4IiwiMC4xMTEzMTMiKSxtZShsLCJ5IiwiMC4xMTE0MzUiKSxtZShsLCJ3aWR0aCIsIjMzMS45NDMiKSxtZShsLCJoZWlnaHQiLCIzMzEuOTQzIiksbWUobCwiZmlsdGVyVW5pdHMiLCJ1c2VyU3BhY2VPblVzZSIpLG1lKGwsImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyIsInNSR0IiKSx4KG8sIndpZHRoIixlWzBdKSx4KG8sImhlaWdodCIsZVswXSksbWUobywidmlld0JveCIsIjAgMCAzMzMgMzMzIiksbWUobywiZmlsbCIsIm5vbmUiKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSksc2UobyxuKSxzZShvLGEpLHNlKG8scyksc2UocyxsKSxzZShsLGMpLHNlKGwsZCksc2UobCxwKX0scChlLFt0XSl7MiZ0JiZ4KG4sImZpbGwiLGVbMV0pLDImdCYmeChhLCJmaWxsIixlWzFdKSwxJnQmJngobywid2lkdGgiLGVbMF0pLDEmdCYmeChvLCJoZWlnaHQiLGVbMF0pfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBLbyhlLHQsbyl7bGV0e3dpZHRoOnI9ImF1dG8ifT10LHtmaWxsOmk9IiNmZmYifT10O3JldHVybiBlLiQkc2V0PWU9Pnsid2lkdGgiaW4gZSYmbygwLHI9ZS53aWR0aCksImZpbGwiaW4gZSYmbygxLGk9ZS5maWxsKX0sW3IsaV19Y2xhc3MgUW8gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsS28scW8scix7d2lkdGg6MCxmaWxsOjF9KX19ZnVuY3Rpb24gSm8oZSl7bGV0IG8scixpLG4sYSxzLGwsYyxkLHA7cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLGk9YigicGF0aCIpLG49YigicGF0aCIpLGE9YigicGF0aCIpLHM9YigiZGVmcyIpLGw9YigiZmlsdGVyIiksYz1iKCJmZUZsb29kIiksZD1iKCJmZUJsZW5kIikscD1iKCJmZUdhdXNzaWFuQmx1ciIpLG1lKGksImQiLCJNMTY2LjA4MyAyOTQuMTY2QzIzNi44MjEgMjk0LjE2NiAyOTQuMTY2IDIzNi44MjEgMjk0LjE2NiAxNjYuMDgzQzI5NC4xNjYgOTUuMzQ0NyAyMzYuODIxIDM4IDE2Ni4wODMgMzhDOTUuMzQ0NyAzOCAzOCA5NS4zNDQ3IDM4IDE2Ni4wODNDMzggMjM2LjgyMSA5NS4zNDQ3IDI5NC4xNjYgMTY2LjA4MyAyOTQuMTY2WiIpLG1lKGksInN0cm9rZSIsImJsYWNrIiksbWUoaSwic3Ryb2tlLW9wYWNpdHkiLCIwLjUiKSxtZShpLCJzdHJva2Utd2lkdGgiLCIxNi41NzYiKSxtZShyLCJmaWx0ZXIiLCJ1cmwoI2ZpbHRlcjBfZl8xN18xMykiKSxtZShuLCJkIiwiTTExNi43MjggMjI1LjMxNEgyMTUuMzk4VjE1Ny42NTRIMTE2LjcyOFYyMjUuMzE0Wk0xNjEuMDI5IDE2Ni45MTdIMTcxLjA5N0MxNzkuNTU1IDE2Ni45MTcgMTg1Ljk5OCAxNzMuNzYzIDE4NS45OTggMTgxLjQxNUMxODUuOTk4IDE4Ny44NTkgMTgxLjk3MSAxOTMuMDk1IDE3NS45MyAxOTUuMTA4QzE3NS45MyAxOTUuNTExIDE3NS45MyAxOTUuNTExIDE3NS45MyAxOTUuOTE0VjIxNC44NDNIMTU1Ljc5M1YxOTUuOTE0QzE1NS43OTMgMTk1LjUxMSAxNTUuNzkzIDE5NS41MTEgMTU1Ljc5MyAxOTUuMTA4QzE1MC4xNTUgMTkzLjA5NSAxNDUuNzI1IDE4Ny44NTkgMTQ1LjcyNSAxODEuNDE1QzE0Ni4xMjcgMTczLjM2MSAxNTIuOTc0IDE2Ni45MTcgMTYxLjAyOSAxNjYuOTE3WiIpLHgobiwiZmlsbCIsZVsxXSkseChuLCJzdHJva2Utd2lkdGgiLCIzLjI1MzM1MDAyIiksbWUoYSwiZCIsIk0xNjYuMjY1IDMyQzk1Ljc4NiAzMiAzOSA5Mi40MTA2IDM5IDE2Ni45MTdDMzkgMjQxLjQyMyA5NS43ODYgMzAxLjgzNCAxNjYuMjY1IDMwMS44MzRDMjM2Ljc0NCAzMDEuODM0IDI5My41MyAyNDEuNDIzIDI5My41MyAxNjYuOTE3QzI5My41MyA5Mi40MTA2IDIzNi4zNDEgMzIgMTY2LjI2NSAzMlpNMjM1LjUzNiAyMjQuOTExQzIzNS41MzYgMjM1LjM4MiAyMjYuNjc2IDI0My44NCAyMTUuMzk5IDI0My44NEgxMTYuNzI4QzEwNS44NTQgMjQzLjg0IDk2LjU5MTQgMjM1LjM4MiA5Ni41OTE0IDIyNC45MTFWMTU3LjI1MUM5Ni41OTE0IDE0Ni43OCAxMDUuNDUyIDEzOC4zMjMgMTE2LjcyOCAxMzguMzIzSDEyNi43OTdWMTMwLjY3MUMxMjYuNzk3IDExMC41MzQgMTQxLjY5OCA5Mi40MTA2IDE2Mi42NCA5MC4zOTY5QzE4MS41NjkgODguNzg2IDE5Ny42NzkgMTAwLjA2MyAyMDIuOTE0IDExNi4xNzJDMjA0LjkyOCAxMjIuNjE2IDIwMC4wOTUgMTI5LjA2IDE5My4yNDggMTI5LjA2QzE4OS4yMjEgMTI5LjA2IDE4NS41OTYgMTI3LjA0NiAxODQuMzg4IDEyMy4wMTlDMTgxLjk3MiAxMTQuNTYxIDE3Mi43MDkgMTA4LjUyIDE2My4wNDMgMTA5LjcyOEMxNTIuOTc1IDExMS4zMzkgMTQ2LjEyOCAxMjAuMTk5IDE0Ni4xMjggMTI5Ljg2NVYxMzguMzIzSDIxNS4zOTlDMjI2LjI3MyAxMzguMzIzIDIzNS41MzYgMTQ3LjE4MyAyMzUuNTM2IDE1OC4wNTdWMjI0LjkxMVoiKSx4KGEsImZpbGwiLGVbMV0pLHgoYSwic3Ryb2tlLXdpZHRoIiwiMy4yNTMzNTAwMiIpLG1lKGMsImZsb29kLW9wYWNpdHkiLCIwIiksbWUoYywicmVzdWx0IiwiQmFja2dyb3VuZEltYWdlRml4IiksbWUoZCwibW9kZSIsIm5vcm1hbCIpLG1lKGQsImluIiwiU291cmNlR3JhcGhpYyIpLG1lKGQsImluMiIsIkJhY2tncm91bmRJbWFnZUZpeCIpLG1lKGQsInJlc3VsdCIsInNoYXBlIiksbWUocCwic3RkRGV2aWF0aW9uIiwiMTQuODAwMyIpLG1lKHAsInJlc3VsdCIsImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMTdfMTMiKSxtZShsLCJpZCIsImZpbHRlcjBfZl8xN18xMyIpLG1lKGwsIngiLCIwLjExMTMxMyIpLG1lKGwsInkiLCIwLjExMTQzNSIpLG1lKGwsIndpZHRoIiwiMzMxLjk0MyIpLG1lKGwsImhlaWdodCIsIjMzMS45NDMiKSxtZShsLCJmaWx0ZXJVbml0cyIsInVzZXJTcGFjZU9uVXNlIiksbWUobCwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIiwic1JHQiIpLHgobywid2lkdGgiLGVbMF0pLHgobywiaGVpZ2h0IixlWzBdKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDMzMyAzMzMiKSxtZShvLCJmaWxsIiwibm9uZSIpLG1lKG8sInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSksc2UobyxuKSxzZShvLGEpLHNlKG8scyksc2UocyxsKSxzZShsLGMpLHNlKGwsZCksc2UobCxwKX0scChlLFt0XSl7MiZ0JiZ4KG4sImZpbGwiLGVbMV0pLDImdCYmeChhLCJmaWxsIixlWzFdKSwxJnQmJngobywid2lkdGgiLGVbMF0pLDEmdCYmeChvLCJoZWlnaHQiLGVbMF0pfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBabyhlLHQsbyl7bGV0e3dpZHRoOnI9ImF1dG8ifT10LHtmaWxsOmk9IiNmZmYifT10O3JldHVybiBlLiQkc2V0PWU9Pnsid2lkdGgiaW4gZSYmbygwLHI9ZS53aWR0aCksImZpbGwiaW4gZSYmbygxLGk9ZS5maWxsKX0sW3IsaV19Y2xhc3MgWW8gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsWm8sSm8scix7d2lkdGg6MCxmaWxsOjF9KX19ZnVuY3Rpb24gWG8oZSl7bGV0IG8scixpLG4sYSxzLGwsYyxkLHAsdSxnLG0sZjtyZXR1cm57Yygpe289Yigic3ZnIikscj1iKCJnIiksaT1iKCJwYXRoIiksbj1iKCJwYXRoIiksYT1iKCJwYXRoIikscz1iKCJwYXRoIiksbD1iKCJwYXRoIiksYz1iKCJwYXRoIiksZD1iKCJwYXRoIikscD1iKCJkZWZzIiksdT1iKCJmaWx0ZXIiKSxnPWIoImZlRmxvb2QiKSxtPWIoImZlQmxlbmQiKSxmPWIoImZlR2F1c3NpYW5CbHVyIiksbWUoaSwiZCIsIk0xNjYuMDgzIDI5NC4xNjZDMjM2LjgyMSAyOTQuMTY2IDI5NC4xNjYgMjM2LjgyMSAyOTQuMTY2IDE2Ni4wODNDMjk0LjE2NiA5NS4zNDQ3IDIzNi44MjEgMzggMTY2LjA4MyAzOEM5NS4zNDQ3IDM4IDM4IDk1LjM0NDcgMzggMTY2LjA4M0MzOCAyMzYuODIxIDk1LjM0NDcgMjk0LjE2NiAxNjYuMDgzIDI5NC4xNjZaIiksbWUoaSwic3Ryb2tlIiwiYmxhY2siKSxtZShpLCJzdHJva2Utb3BhY2l0eSIsIjAuNSIpLG1lKGksInN0cm9rZS13aWR0aCIsIjE2LjU3NiIpLG1lKHIsImZpbHRlciIsInVybCgjZmlsdGVyMF9mXzE3XzEyKSIpLG1lKG4sImQiLCJNMTUxLjM2NCAxMzEuOTU4QzE1MS4zNjQgMTI2LjcyOSAxNDYuOTM0IDEyMi4zMDUgMTQxLjY5OSAxMjIuMzA1QzEzNi44NjYgMTIyLjMwNSAxMzIuNDM2IDEyNy4xMzEgMTMyLjQzNiAxMzEuOTU4QzEzMi40MzYgMTM3LjE4NyAxMzYuODY2IDE0MS42MTEgMTQxLjY5OSAxNDEuNjExQzE0Ni45MzQgMTQxLjYxMSAxNTEuMzY0IDEzNy4xODcgMTUxLjM2NCAxMzEuOTU4WiIpLHgobiwiZmlsbCIsZVsxXSkseChuLCJzdHJva2Utd2lkdGgiLCIzLjI1MzM1MDAyIiksbWUoYSwiZCIsIk0xNTEuMzY0IDE5Ny45MjNDMTQ2LjEyOCAxOTcuOTIzIDE0Mi4xMDEgMjAxLjU0MyAxNDIuMTAxIDIwNy4xNzRDMTQyLjEwMSAyMTIuODA1IDE0Ni4xMjggMjE2LjgyNyAxNTEuMzY0IDIxNi44MjdDMTU2LjE5NiAyMTYuODI3IDE2MC42MjcgMjEyLjgwNSAxNjAuNjI3IDIwNy41NzZDMTYwLjYyNyAyMDEuOTQ1IDE1Ni41OTkgMTk3LjkyMyAxNTEuMzY0IDE5Ny45MjNaIikseChhLCJmaWxsIixlWzFdKSx4KGEsInN0cm9rZS13aWR0aCIsIjMuMjUzMzUwMDIiKSxtZShzLCJkIiwiTTEyMy4xNzEgMTY4LjE1OEMxMTguMzM4IDE2OC4xNTggMTEzLjkwOCAxNzIuNTgzIDExMy45MDggMTc3LjQwOUMxMTMuOTA4IDE4My4wNCAxMTcuNTMzIDE4Ny4wNjMgMTIzLjU3NCAxODcuMDYzQzEyOC40MDcgMTg3LjA2MyAxMzIuNDM0IDE4My4wNCAxMzIuODM3IDE3OC4yMTRDMTMyLjgzNyAxNzIuNTgzIDEyOC44MDkgMTY4LjE1OCAxMjMuMTcxIDE2OC4xNThaIikseChzLCJmaWxsIixlWzFdKSx4KHMsInN0cm9rZS13aWR0aCIsIjMuMjUzMzUwMDIiKSxtZShsLCJkIiwiTTE3OS41NTQgMTQyLjQxNkMxNzQuNzIxIDE0Mi40MTYgMTY5Ljg4OCAxNDYuODQgMTcwLjI5MSAxNTIuMDY5QzE3MC4yOTEgMTU3LjI5OCAxNzQuNzIxIDE2MS43MjIgMTc5Ljk1NyAxNjEuMzJDMTg1LjE5MiAxNjEuMzIgMTg5LjIyIDE1Ni44OTYgMTg5LjIyIDE1MS42NjdDMTg4LjgxNyAxNDYuODQgMTg0LjM4NyAxNDIuNDE2IDE3OS41NTQgMTQyLjQxNloiKSx4KGwsImZpbGwiLGVbMV0pLHgobCwic3Ryb2tlLXdpZHRoIiwiMy4yNTMzNTAwMiIpLG1lKGMsImQiLCJNMjA3Ljc0NyAxODUuNDU0QzIwMi41MTEgMTg1LjQ1NCAxOTguMDgxIDE4OS40NzYgMTk4LjA4MSAxOTQuNzA1QzE5OC4wODEgMTk5LjUzMiAyMDIuOTE0IDIwNC43NiAyMDcuMzQ0IDIwNC4zNThDMjEyLjU4IDIwNC4zNTggMjE2LjYwNyAxOTkuOTM0IDIxNi42MDcgMTk0LjcwNUMyMTcuMDEgMTg5Ljg3OCAyMTIuOTgyIDE4NS40NTQgMjA3Ljc0NyAxODUuNDU0WiIpLHgoYywiZmlsbCIsZVsxXSkseChjLCJzdHJva2Utd2lkdGgiLCIzLjI1MzM1MDAyIiksbWUoZCwiZCIsIk0xNjYuMjY1IDMxQzk1Ljc4NiAzMSAzOSA5MS4zMzM1IDM5IDE2NS43NDVDMzkgMjQwLjE1NiA5NS43ODYgMzAwLjQ4OSAxNjYuMjY1IDMwMC40ODlDMjM2Ljc0NCAzMDAuNDg5IDI5My41MyAyNDAuMTU2IDI5My41MyAxNjUuNzQ1QzI5My41MyA5MS4zMzM1IDIzNi4zNDEgMzEgMTY2LjI2NSAzMVpNMTYzLjg0OSAyNDYuNTkyQzExNy41MzQgMjQ1LjM4NSA4NC41MDkzIDIwNC43NiA4Ny43MzEyIDE2MC4xMTRDOTEuMzU1OSAxMTEuMDQyIDEzMi44MzggNzguMDYwMSAxNzkuNTU1IDg1LjcwMjNDMTc5LjE1MyA5Mi41NDAxIDE4MC4zNjEgOTkuMzc3OSAxODQuNzkxIDEwNS4wMDlDMTg3LjYxIDEwOC42MjkgMTkxLjIzNSAxMTEuNDQ1IDE5NC44NTkgMTE0LjI2QzE5Ni40NyAxMTUuNDY3IDE5Ny42NzggMTE2LjI3MSAxOTcuNjc4IDExOC42ODVDMTk3LjY3OCAxMzUuNTc4IDIwNy4zNDQgMTQ3LjI0MiAyMjMuNDU0IDE1MC40NkMyMjQuMjU5IDE1MC40NiAyMjUuODcgMTUxLjI2NSAyMjYuMjczIDE1Mi40NzFDMjI5LjA5MiAxNjIuMTI1IDIzNS41MzYgMTY4LjE1OCAyNDQuNzk5IDE3MS4zNzZDMjQzLjE4OCAyMDkuOTg5IDIxMC4xNjMgMjQ4LjIgMTYzLjg0OSAyNDYuNTkyWiIpLHgoZCwiZmlsbCIsZVsxXSkseChkLCJzdHJva2Utd2lkdGgiLCIzLjI1MzM1MDAyIiksbWUoZywiZmxvb2Qtb3BhY2l0eSIsIjAiKSxtZShnLCJyZXN1bHQiLCJCYWNrZ3JvdW5kSW1hZ2VGaXgiKSxtZShtLCJtb2RlIiwibm9ybWFsIiksbWUobSwiaW4iLCJTb3VyY2VHcmFwaGljIiksbWUobSwiaW4yIiwiQmFja2dyb3VuZEltYWdlRml4IiksbWUobSwicmVzdWx0Iiwic2hhcGUiKSxtZShmLCJzdGREZXZpYXRpb24iLCIxNC44MDAzIiksbWUoZiwicmVzdWx0IiwiZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8xN18xMiIpLG1lKHUsImlkIiwiZmlsdGVyMF9mXzE3XzEyIiksbWUodSwieCIsIjAuMTExMzEzIiksbWUodSwieSIsIjAuMTExNDM1IiksbWUodSwid2lkdGgiLCIzMzEuOTQzIiksbWUodSwiaGVpZ2h0IiwiMzMxLjk0MyIpLG1lKHUsImZpbHRlclVuaXRzIiwidXNlclNwYWNlT25Vc2UiKSxtZSh1LCJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMiLCJzUkdCIikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pLG1lKG8sInZpZXdCb3giLCIwIDAgMzMzIDMzMyIpLG1lKG8sImZpbGwiLCJub25lIiksbWUobywieG1sbnMiLCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKSxzZShvLG4pLHNlKG8sYSksc2UobyxzKSxzZShvLGwpLHNlKG8sYyksc2UobyxkKSxzZShvLHApLHNlKHAsdSksc2UodSxnKSxzZSh1LG0pLHNlKHUsZil9LHAoZSxbdF0pezImdCYmeChuLCJmaWxsIixlWzFdKSwyJnQmJngoYSwiZmlsbCIsZVsxXSksMiZ0JiZ4KHMsImZpbGwiLGVbMV0pLDImdCYmeChsLCJmaWxsIixlWzFdKSwyJnQmJngoYywiZmlsbCIsZVsxXSksMiZ0JiZ4KGQsImZpbGwiLGVbMV0pLDEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIGVyKGUsdCxvKXtsZXR7d2lkdGg6cj0iYXV0byJ9PXQse2ZpbGw6aT0iI2ZmZiJ9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJ3aWR0aCJpbiBlJiZvKDAscj1lLndpZHRoKSwiZmlsbCJpbiBlJiZvKDEsaT1lLmZpbGwpfSxbcixpXX1jbGFzcyB0ciBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxlcixYbyxyLHt3aWR0aDowLGZpbGw6MX0pfX1mdW5jdGlvbiBvcihlLHtkZWxheTp0PTAsZHVyYXRpb246bz00MDAsZWFzaW5nOnI9ZW99PXt9KXtsZXQgaT0rZ2V0Q29tcHV0ZWRTdHlsZShlKS5vcGFjaXR5O3JldHVybntkZWxheTp0LGR1cmF0aW9uOm8sZWFzaW5nOnIsY3NzOmU9PiJvcGFjaXR5OiAiK2UqaX19ZnVuY3Rpb24gcnIoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm89NDAwLGVhc2luZzpyPWZ1bmN0aW9uKGUpe3JldHVybihlLT0xKSplKmUrMX0sYXhpczppPSJ5In09e30pe2U9Z2V0Q29tcHV0ZWRTdHlsZShlKTtsZXQgbj0rZS5vcGFjaXR5LGE9InkiPT09aT8iaGVpZ2h0Ijoid2lkdGgiLHM9cGFyc2VGbG9hdChlW2FdKSxsPSJ5Ij09PWk/WyJ0b3AiLCJib3R0b20iXTpbImxlZnQiLCJyaWdodCJdO2k9bC5tYXAoZT0+IiIrZVswXS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSkpO2xldCBjPXBhcnNlRmxvYXQoZVsicGFkZGluZyIraVswXV0pLGQ9cGFyc2VGbG9hdChlWyJwYWRkaW5nIitpWzFdXSkscD1wYXJzZUZsb2F0KGVbIm1hcmdpbiIraVswXV0pLHU9cGFyc2VGbG9hdChlWyJtYXJnaW4iK2lbMV1dKSxnPXBhcnNlRmxvYXQoZVtgYm9yZGVyJHtpWzBdfVdpZHRoYF0pLG09cGFyc2VGbG9hdChlW2Bib3JkZXIke2lbMV19V2lkdGhgXSk7cmV0dXJue2RlbGF5OnQsZHVyYXRpb246byxlYXNpbmc6cixjc3M6ZT0+Im92ZXJmbG93OiBoaWRkZW47Iitgb3BhY2l0eTogJHtNYXRoLm1pbigyMCplLDEpKm59O2ArYStgOiAke2Uqc31weDtgK2BwYWRkaW5nLSR7bFswXX06ICR7ZSpjfXB4O2ArYHBhZGRpbmctJHtsWzFdfTogJHtlKmR9cHg7YCtgbWFyZ2luLSR7bFswXX06ICR7ZSpwfXB4O2ArYG1hcmdpbi0ke2xbMV19OiAke2UqdX1weDtgK2Bib3JkZXItJHtsWzBdfS13aWR0aDogJHtlKmd9cHg7YCtgYm9yZGVyLSR7bFsxXX0td2lkdGg6ICR7ZSptfXB4O2B9fXZhciBpcixucj17Z2FwOm89InNwYWNlIixncmlkR2FwOm8sY29sdW1uR2FwOm8sZ3JpZENvbHVtbkdhcDpvLHJvd0dhcDpvLGdyaWRSb3dHYXA6byxpbnNldDpvLGluc2V0QmxvY2s6byxpbnNldEJsb2NrRW5kOm8saW5zZXRCbG9ja1N0YXJ0Om8saW5zZXRJbmxpbmU6byxpbnNldElubGluZUVuZDpvLGluc2V0SW5saW5lU3RhcnQ6byxtYXJnaW46byxtYXJnaW5Ub3A6byxtYXJnaW5SaWdodDpvLG1hcmdpbkJvdHRvbTpvLG1hcmdpbkxlZnQ6byxtYXJnaW5CbG9jazpvLG1hcmdpbkJsb2NrRW5kOm8sbWFyZ2luQmxvY2tTdGFydDpvLG1hcmdpbklubGluZTpvLG1hcmdpbklubGluZUVuZDpvLG1hcmdpbklubGluZVN0YXJ0Om8scGFkZGluZzpvLHBhZGRpbmdUb3A6byxwYWRkaW5nUmlnaHQ6byxwYWRkaW5nQm90dG9tOm8scGFkZGluZ0xlZnQ6byxwYWRkaW5nQmxvY2s6byxwYWRkaW5nQmxvY2tFbmQ6byxwYWRkaW5nQmxvY2tTdGFydDpvLHBhZGRpbmdJbmxpbmU6byxwYWRkaW5nSW5saW5lRW5kOm8scGFkZGluZ0lubGluZVN0YXJ0Om8sdG9wOm8scmlnaHQ6byxib3R0b206byxsZWZ0Om8sc2Nyb2xsTWFyZ2luOm8sc2Nyb2xsTWFyZ2luVG9wOm8sc2Nyb2xsTWFyZ2luUmlnaHQ6byxzY3JvbGxNYXJnaW5Cb3R0b206byxzY3JvbGxNYXJnaW5MZWZ0Om8sc2Nyb2xsTWFyZ2luWDpvLHNjcm9sbE1hcmdpblk6byxzY3JvbGxNYXJnaW5CbG9jazpvLHNjcm9sbE1hcmdpbkJsb2NrRW5kOm8sc2Nyb2xsTWFyZ2luQmxvY2tTdGFydDpvLHNjcm9sbE1hcmdpbklubGluZTpvLHNjcm9sbE1hcmdpbklubGluZUVuZDpvLHNjcm9sbE1hcmdpbklubGluZVN0YXJ0Om8sc2Nyb2xsUGFkZGluZzpvLHNjcm9sbFBhZGRpbmdUb3A6byxzY3JvbGxQYWRkaW5nUmlnaHQ6byxzY3JvbGxQYWRkaW5nQm90dG9tOm8sc2Nyb2xsUGFkZGluZ0xlZnQ6byxzY3JvbGxQYWRkaW5nWDpvLHNjcm9sbFBhZGRpbmdZOm8sc2Nyb2xsUGFkZGluZ0Jsb2NrOm8sc2Nyb2xsUGFkZGluZ0Jsb2NrRW5kOm8sc2Nyb2xsUGFkZGluZ0Jsb2NrU3RhcnQ6byxzY3JvbGxQYWRkaW5nSW5saW5lOm8sc2Nyb2xsUGFkZGluZ0lubGluZUVuZDpvLHNjcm9sbFBhZGRpbmdJbmxpbmVTdGFydDpvLGZvbnRTaXplOiJmb250U2l6ZXMiLGJhY2tncm91bmQ6dD0iY29sb3JzIixiYWNrZ3JvdW5kQ29sb3I6dCxiYWNrZ3JvdW5kSW1hZ2U6dCxib3JkZXJJbWFnZTp0LGJvcmRlcjp0LGJvcmRlckJsb2NrOnQsYm9yZGVyQmxvY2tFbmQ6dCxib3JkZXJCbG9ja1N0YXJ0OnQsYm9yZGVyQm90dG9tOnQsYm9yZGVyQm90dG9tQ29sb3I6dCxib3JkZXJDb2xvcjp0LGJvcmRlcklubGluZTp0LGJvcmRlcklubGluZUVuZDp0LGJvcmRlcklubGluZVN0YXJ0OnQsYm9yZGVyTGVmdDp0LGJvcmRlckxlZnRDb2xvcjp0LGJvcmRlclJpZ2h0OnQsYm9yZGVyUmlnaHRDb2xvcjp0LGJvcmRlclRvcDp0LGJvcmRlclRvcENvbG9yOnQsY2FyZXRDb2xvcjp0LGNvbG9yOnQsY29sdW1uUnVsZUNvbG9yOnQsZmlsbDp0LG91dGxpbmU6dCxvdXRsaW5lQ29sb3I6dCxzdHJva2U6dCx0ZXh0RGVjb3JhdGlvbkNvbG9yOnQsZm9udEZhbWlseToiZm9udHMiLGZvbnRXZWlnaHQ6ImZvbnRXZWlnaHRzIixsaW5lSGVpZ2h0OiJsaW5lSGVpZ2h0cyIsbGV0dGVyU3BhY2luZzoibGV0dGVyU3BhY2luZ3MiLGJsb2NrU2l6ZTp2ZT0ic2l6ZXMiLG1pbkJsb2NrU2l6ZTp2ZSxtYXhCbG9ja1NpemU6dmUsaW5saW5lU2l6ZTp2ZSxtaW5JbmxpbmVTaXplOnZlLG1heElubGluZVNpemU6dmUsd2lkdGg6dmUsbWluV2lkdGg6dmUsbWF4V2lkdGg6dmUsaGVpZ2h0OnZlLG1pbkhlaWdodDp2ZSxtYXhIZWlnaHQ6dmUsZmxleEJhc2lzOnZlLGdyaWRUZW1wbGF0ZUNvbHVtbnM6dmUsZ3JpZFRlbXBsYXRlUm93czp2ZSxib3JkZXJXaWR0aDoiYm9yZGVyV2lkdGhzIixib3JkZXJUb3BXaWR0aDoiYm9yZGVyV2lkdGhzIixib3JkZXJSaWdodFdpZHRoOiJib3JkZXJXaWR0aHMiLGJvcmRlckJvdHRvbVdpZHRoOiJib3JkZXJXaWR0aHMiLGJvcmRlckxlZnRXaWR0aDoiYm9yZGVyV2lkdGhzIixib3JkZXJTdHlsZToiYm9yZGVyU3R5bGVzIixib3JkZXJUb3BTdHlsZToiYm9yZGVyU3R5bGVzIixib3JkZXJSaWdodFN0eWxlOiJib3JkZXJTdHlsZXMiLGJvcmRlckJvdHRvbVN0eWxlOiJib3JkZXJTdHlsZXMiLGJvcmRlckxlZnRTdHlsZToiYm9yZGVyU3R5bGVzIixib3JkZXJSYWRpdXM6InJhZGlpIixib3JkZXJUb3BMZWZ0UmFkaXVzOiJyYWRpaSIsYm9yZGVyVG9wUmlnaHRSYWRpdXM6InJhZGlpIixib3JkZXJCb3R0b21SaWdodFJhZGl1czoicmFkaWkiLGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6InJhZGlpIixib3hTaGFkb3c6InNoYWRvd3MiLHRleHRTaGFkb3c6InNoYWRvd3MiLHRyYW5zaXRpb246InRyYW5zaXRpb25zIix6SW5kZXg6InpJbmRpY2VzIn0sYXI9KGUsdCk9PiJmdW5jdGlvbiI9PXR5cGVvZiB0P3siKCkiOkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfTp0LGtlPSgpPT57bGV0IGk9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4oZSx0LC4uLm8pPT57dmFyIHI9SlNPTi5zdHJpbmdpZnkoZSxhcik7cmV0dXJuIHIgaW4gaT9pW3JdOmlbcl09dChlLC4uLm8pfX0sc3I9U3ltYm9sLmZvcigic3hzLmludGVybmFsIiksbHI9KGUsdCk9Pk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModCkpLGNyPWU9Pntmb3IodmFyIHQgaW4gZSlyZXR1cm4hMDtyZXR1cm4hMX0sZHI9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxwcj1lPT5lLmluY2x1ZGVzKCItIik/ZTplLnJlcGxhY2UoL1tBLVpdL2csZT0+Ii0iK2UudG9Mb3dlckNhc2UoKSksdXI9L1xzKyg/IVteKCldKlwpKS8sZ3I9e2FwcGVhcmFuY2U6ZT0+KHtXZWJraXRBcHBlYXJhbmNlOmUsYXBwZWFyYW5jZTplfSksYmFja2ZhY2VWaXNpYmlsaXR5OmU9Pih7V2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5OmUsYmFja2ZhY2VWaXNpYmlsaXR5OmV9KSxiYWNrZHJvcEZpbHRlcjplPT4oe1dlYmtpdEJhY2tkcm9wRmlsdGVyOmUsYmFja2Ryb3BGaWx0ZXI6ZX0pLGJhY2tncm91bmRDbGlwOmU9Pih7V2Via2l0QmFja2dyb3VuZENsaXA6ZSxiYWNrZ3JvdW5kQ2xpcDplfSksYm94RGVjb3JhdGlvbkJyZWFrOmU9Pih7V2Via2l0Qm94RGVjb3JhdGlvbkJyZWFrOmUsYm94RGVjb3JhdGlvbkJyZWFrOmV9KSxjbGlwUGF0aDplPT4oe1dlYmtpdENsaXBQYXRoOmUsY2xpcFBhdGg6ZX0pLGNvbnRlbnQ6ZT0+KHtjb250ZW50OmUuaW5jbHVkZXMoJyInKXx8ZS5pbmNsdWRlcygiJyIpfHwvXihbQS1aYS16XStcKFteXSp8W15dKi1xdW90ZXxpbmhlcml0fGluaXRpYWx8bm9uZXxub3JtYWx8cmV2ZXJ0fHVuc2V0KSQvLnRlc3QoZSk/ZTpgIiR7ZX0iYH0pLGh5cGhlbnM6ZT0+KHtXZWJraXRIeXBoZW5zOmUsaHlwaGVuczplfSksbWFza0ltYWdlOmU9Pih7V2Via2l0TWFza0ltYWdlOmUsbWFza0ltYWdlOmV9KSxtYXNrU2l6ZTplPT4oe1dlYmtpdE1hc2tTaXplOmUsbWFza1NpemU6ZX0pLHRhYlNpemU6ZT0+KHtNb3pUYWJTaXplOmUsdGFiU2l6ZTplfSksdGV4dFNpemVBZGp1c3Q6ZT0+KHtXZWJraXRUZXh0U2l6ZUFkanVzdDplLHRleHRTaXplQWRqdXN0OmV9KSx1c2VyU2VsZWN0OmU9Pih7V2Via2l0VXNlclNlbGVjdDplLHVzZXJTZWxlY3Q6ZX0pLG1hcmdpbkJsb2NrOihJZT10PT5lPT50KC4uLiJzdHJpbmciPT10eXBlb2YgZT9TdHJpbmcoZSkuc3BsaXQodXIpOltlXSkpKChlLHQpPT4oe21hcmdpbkJsb2NrU3RhcnQ6ZSxtYXJnaW5CbG9ja0VuZDp0fHxlfSkpLG1hcmdpbklubGluZTpJZSgoZSx0KT0+KHttYXJnaW5JbmxpbmVTdGFydDplLG1hcmdpbklubGluZUVuZDp0fHxlfSkpLG1heFNpemU6SWUoKGUsdCk9Pih7bWF4QmxvY2tTaXplOmUsbWF4SW5saW5lU2l6ZTp0fHxlfSkpLG1pblNpemU6SWUoKGUsdCk9Pih7bWluQmxvY2tTaXplOmUsbWluSW5saW5lU2l6ZTp0fHxlfSkpLHBhZGRpbmdCbG9jazpJZSgoZSx0KT0+KHtwYWRkaW5nQmxvY2tTdGFydDplLHBhZGRpbmdCbG9ja0VuZDp0fHxlfSkpLHBhZGRpbmdJbmxpbmU6SWUoKGUsdCk9Pih7cGFkZGluZ0lubGluZVN0YXJ0OmUscGFkZGluZ0lubGluZUVuZDp0fHxlfSkpfSxtcj0vKFtcZC5dKykoW15dKikvLGZyPShlLG8pPT5lLmxlbmd0aD9lLnJlZHVjZSgoZSx0KT0+KGUucHVzaCguLi5vLm1hcChlPT5lLmluY2x1ZGVzKCImIik/ZS5yZXBsYWNlKC8mL2csL1sgKz58fl0vLnRlc3QodCkmJi8mLiomLy50ZXN0KGUpP2A6aXMoJHt0fSlgOnQpOnQrIiAiK2UpKSxlKSxbXSk6byxocj0oaSxlKT0+aSBpbiBiciYmInN0cmluZyI9PXR5cGVvZiBlP2UucmVwbGFjZSgvXigoPzpbXl0qW15cdy1dKT8pKGZpdC1jb250ZW50fHN0cmV0Y2gpKCg/OlteXHctXVteXSopPykkLywoZSx0LG8scik9PnQrKCJzdHJldGNoIj09PW8/YC1tb3otYXZhaWxhYmxlJHtyfTske3ByKGkpfToke3R9LXdlYmtpdC1maWxsLWF2YWlsYWJsZWA6YC1tb3otZml0LWNvbnRlbnQke3J9OyR7cHIoaSl9OiR7dH1maXQtY29udGVudGApK3IpOlN0cmluZyhlKSxicj17YmxvY2tTaXplOjEsaGVpZ2h0OjEsaW5saW5lU2l6ZToxLG1heEJsb2NrU2l6ZToxLG1heEhlaWdodDoxLG1heElubGluZVNpemU6MSxtYXhXaWR0aDoxLG1pbkJsb2NrU2l6ZToxLG1pbkhlaWdodDoxLG1pbklubGluZVNpemU6MSxtaW5XaWR0aDoxLHdpZHRoOjF9LHhyPWU9PmU/ZSsiLSI6IiIseXI9KGUsbixhKT0+ZS5yZXBsYWNlKC8oWystXSk/KCg/OlxkKyg/OlwuXGQqKT98XC5cZCspKD86W0VlXVsrLV0/XGQrKT8pPyhcJHwtLSkoWyRcdy1dKykvZywoZSx0LG8scixpKT0+IiQiPT1yPT0hIW8/ZToodHx8Ii0tIj09cj8iY2FsYygiOiIiKSsidmFyKC0tIisoIiQiPT09cj94cihuKSsoaS5pbmNsdWRlcygiJCIpPyIiOnhyKGEpKStpLnJlcGxhY2UoL1wkL2csIi0iKTppKSsiKSIrKHR8fCItLSI9PXI/IioiKyh0fHwiIikrKG98fCIxIikrIikiOiIiKSksd3I9L1xzKixccyooPyFbXigpXSpcKSkvLENyPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsdnI9KGUsdCxvLGMsZCk9PntsZXQgcCx1LGcsbT0oZSxpLG4pPT57bGV0IGEscyxsPWU9Pntmb3IoYSBpbiBlKXt2YXIgbz02ND09PWEuY2hhckNvZGVBdCgwKTtmb3IocyBvZiBvJiZBcnJheS5pc0FycmF5KGVbYV0pP2VbYV06W2VbYV1dKXtsZXQgdD0vW0EtWl0vLnRlc3Qocj1hKT9yOnIucmVwbGFjZSgvLVteXS9nLGU9PmVbMV0udG9VcHBlckNhc2UoKSksZT0ib2JqZWN0Ij09dHlwZW9mIHMmJnMmJnMudG9TdHJpbmc9PT1DciYmKCFjLnV0aWxzW3RdfHwhaS5sZW5ndGgpO2lmKHQgaW4gYy51dGlscyYmIWUpe2xldCBlPWMudXRpbHNbdF07aWYoZSE9PXUpe3U9ZSxsKGUocykpLHU9bnVsbDtjb250aW51ZX19ZWxzZSBpZih0IGluIGdyKXtsZXQgZT1nclt0XTtpZihlIT09Zyl7Zz1lLGwoZShzKSksZz1udWxsO2NvbnRpbnVlfX1pZihvJiYocj1hLnNsaWNlKDEpaW4gYy5tZWRpYT8iQG1lZGlhICIrYy5tZWRpYVthLnNsaWNlKDEpXTphLGE9ci5yZXBsYWNlKC9cKFxzKihbXHctXSspXHMqKD18PHw8PXw+fD49KVxzKihbXHctXSspXHMqKD86KDx8PD18Pnw+PSlccyooW1x3LV0rKVxzKik/XCkvZywoZSx0LHIsbyxpLG4pPT57bGV0IGE9bXIudGVzdCh0KSxzPS4wNjI1KihhPy0xOjEpLFtsLGNdPWE/W28sdF06W3Qsb107cmV0dXJuIigiKygiPSI9PT1yWzBdPyIiOiI+Ij09PXJbMF09PT1hPyJtYXgtIjoibWluLSIpK2wrIjoiKygiPSIhPT1yWzBdJiYxPT09ci5sZW5ndGg/Yy5yZXBsYWNlKG1yLChlLHQsbyk9Pk51bWJlcih0KStzKigiPiI9PT1yPzE6LTEpK28pOmMpKyhpPyIpIGFuZCAoIisoIj4iPT09aVswXT8ibWluLSI6Im1heC0iKStsKyI6IisoMT09PWkubGVuZ3RoP24ucmVwbGFjZShtciwoZSx0LG8pPT5OdW1iZXIodCkrcyooIj4iPT09aT8tMToxKStvKTpuKToiIikrIikifSkpLGUpe2xldCBlPW8/bi5jb25jYXQoYSk6Wy4uLm5dLHQ9bz9bLi4uaV06ZnIoaSxhLnNwbGl0KHdyKSk7dm9pZCAwIT09cCYmZChrciguLi5wKSkscD12b2lkIDAsbShzLHQsZSl9ZWxzZSB2b2lkIDA9PT1wJiYocD1bW10saSxuXSksYT1vfHwzNiE9PWEuY2hhckNvZGVBdCgwKT9hOiItLSIreHIoYy5wcmVmaXgpK2Euc2xpY2UoMSkucmVwbGFjZSgvXCQvZywiLSIpLHM9ZT9zOiJudW1iZXIiPT10eXBlb2Ygcz9zJiZ0IGluIElyP1N0cmluZyhzKSsicHgiOlN0cmluZyhzKTp5cihocih0LG51bGw9PXM/IiI6cyksYy5wcmVmaXgsYy50aGVtZU1hcFt0XSkscFswXS5wdXNoKChvP2ErIiAiOnByKGEpKyI6Iikrcyl9fXZhciByfTtsKGUpLHZvaWQgMCE9PXAmJmQoa3IoLi4ucCkpLHA9dm9pZCAwfTttKGUsdCxvKX0sa3I9KGUsdCxvKT0+IiIrby5tYXAoZT0+ZSsieyIpLmpvaW4oIiIpKyh0Lmxlbmd0aD90LmpvaW4oIiwiKSsieyI6IiIpK2Uuam9pbigiOyIpKyh0Lmxlbmd0aD8ifSI6IiIpK0FycmF5KG8ubGVuZ3RoP28ubGVuZ3RoKzE6MCkuam9pbigifSIpLElyPXthbmltYXRpb25EZWxheToxLGFuaW1hdGlvbkR1cmF0aW9uOjEsYmFja2dyb3VuZFNpemU6MSxibG9ja1NpemU6MSxib3JkZXI6MSxib3JkZXJCbG9jazoxLGJvcmRlckJsb2NrRW5kOjEsYm9yZGVyQmxvY2tFbmRXaWR0aDoxLGJvcmRlckJsb2NrU3RhcnQ6MSxib3JkZXJCbG9ja1N0YXJ0V2lkdGg6MSxib3JkZXJCbG9ja1dpZHRoOjEsYm9yZGVyQm90dG9tOjEsYm9yZGVyQm90dG9tTGVmdFJhZGl1czoxLGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOjEsYm9yZGVyQm90dG9tV2lkdGg6MSxib3JkZXJFbmRFbmRSYWRpdXM6MSxib3JkZXJFbmRTdGFydFJhZGl1czoxLGJvcmRlcklubGluZUVuZDoxLGJvcmRlcklubGluZUVuZFdpZHRoOjEsYm9yZGVySW5saW5lU3RhcnQ6MSxib3JkZXJJbmxpbmVTdGFydFdpZHRoOjEsYm9yZGVySW5saW5lV2lkdGg6MSxib3JkZXJMZWZ0OjEsYm9yZGVyTGVmdFdpZHRoOjEsYm9yZGVyUmFkaXVzOjEsYm9yZGVyUmlnaHQ6MSxib3JkZXJSaWdodFdpZHRoOjEsYm9yZGVyU3BhY2luZzoxLGJvcmRlclN0YXJ0RW5kUmFkaXVzOjEsYm9yZGVyU3RhcnRTdGFydFJhZGl1czoxLGJvcmRlclRvcDoxLGJvcmRlclRvcExlZnRSYWRpdXM6MSxib3JkZXJUb3BSaWdodFJhZGl1czoxLGJvcmRlclRvcFdpZHRoOjEsYm9yZGVyV2lkdGg6MSxib3R0b206MSxjb2x1bW5HYXA6MSxjb2x1bW5SdWxlOjEsY29sdW1uUnVsZVdpZHRoOjEsY29sdW1uV2lkdGg6MSxjb250YWluSW50cmluc2ljU2l6ZToxLGZsZXhCYXNpczoxLGZvbnRTaXplOjEsZ2FwOjEsZ3JpZEF1dG9Db2x1bW5zOjEsZ3JpZEF1dG9Sb3dzOjEsZ3JpZFRlbXBsYXRlQ29sdW1uczoxLGdyaWRUZW1wbGF0ZVJvd3M6MSxoZWlnaHQ6MSxpbmxpbmVTaXplOjEsaW5zZXQ6MSxpbnNldEJsb2NrOjEsaW5zZXRCbG9ja0VuZDoxLGluc2V0QmxvY2tTdGFydDoxLGluc2V0SW5saW5lOjEsaW5zZXRJbmxpbmVFbmQ6MSxpbnNldElubGluZVN0YXJ0OjEsbGVmdDoxLGxldHRlclNwYWNpbmc6MSxtYXJnaW46MSxtYXJnaW5CbG9jazoxLG1hcmdpbkJsb2NrRW5kOjEsbWFyZ2luQmxvY2tTdGFydDoxLG1hcmdpbkJvdHRvbToxLG1hcmdpbklubGluZToxLG1hcmdpbklubGluZUVuZDoxLG1hcmdpbklubGluZVN0YXJ0OjEsbWFyZ2luTGVmdDoxLG1hcmdpblJpZ2h0OjEsbWFyZ2luVG9wOjEsbWF4QmxvY2tTaXplOjEsbWF4SGVpZ2h0OjEsbWF4SW5saW5lU2l6ZToxLG1heFdpZHRoOjEsbWluQmxvY2tTaXplOjEsbWluSGVpZ2h0OjEsbWluSW5saW5lU2l6ZToxLG1pbldpZHRoOjEsb2Zmc2V0RGlzdGFuY2U6MSxvZmZzZXRSb3RhdGU6MSxvdXRsaW5lOjEsb3V0bGluZU9mZnNldDoxLG91dGxpbmVXaWR0aDoxLG92ZXJmbG93Q2xpcE1hcmdpbjoxLHBhZGRpbmc6MSxwYWRkaW5nQmxvY2s6MSxwYWRkaW5nQmxvY2tFbmQ6MSxwYWRkaW5nQmxvY2tTdGFydDoxLHBhZGRpbmdCb3R0b206MSxwYWRkaW5nSW5saW5lOjEscGFkZGluZ0lubGluZUVuZDoxLHBhZGRpbmdJbmxpbmVTdGFydDoxLHBhZGRpbmdMZWZ0OjEscGFkZGluZ1JpZ2h0OjEscGFkZGluZ1RvcDoxLHBlcnNwZWN0aXZlOjEscmlnaHQ6MSxyb3dHYXA6MSxzY3JvbGxNYXJnaW46MSxzY3JvbGxNYXJnaW5CbG9jazoxLHNjcm9sbE1hcmdpbkJsb2NrRW5kOjEsc2Nyb2xsTWFyZ2luQmxvY2tTdGFydDoxLHNjcm9sbE1hcmdpbkJvdHRvbToxLHNjcm9sbE1hcmdpbklubGluZToxLHNjcm9sbE1hcmdpbklubGluZUVuZDoxLHNjcm9sbE1hcmdpbklubGluZVN0YXJ0OjEsc2Nyb2xsTWFyZ2luTGVmdDoxLHNjcm9sbE1hcmdpblJpZ2h0OjEsc2Nyb2xsTWFyZ2luVG9wOjEsc2Nyb2xsUGFkZGluZzoxLHNjcm9sbFBhZGRpbmdCbG9jazoxLHNjcm9sbFBhZGRpbmdCbG9ja0VuZDoxLHNjcm9sbFBhZGRpbmdCbG9ja1N0YXJ0OjEsc2Nyb2xsUGFkZGluZ0JvdHRvbToxLHNjcm9sbFBhZGRpbmdJbmxpbmU6MSxzY3JvbGxQYWRkaW5nSW5saW5lRW5kOjEsc2Nyb2xsUGFkZGluZ0lubGluZVN0YXJ0OjEsc2Nyb2xsUGFkZGluZ0xlZnQ6MSxzY3JvbGxQYWRkaW5nUmlnaHQ6MSxzY3JvbGxQYWRkaW5nVG9wOjEsc2hhcGVNYXJnaW46MSx0ZXh0RGVjb3JhdGlvbjoxLHRleHREZWNvcmF0aW9uVGhpY2tuZXNzOjEsdGV4dEluZGVudDoxLHRleHRVbmRlcmxpbmVPZmZzZXQ6MSx0b3A6MSx0cmFuc2l0aW9uRGVsYXk6MSx0cmFuc2l0aW9uRHVyYXRpb246MSx2ZXJ0aWNhbEFsaWduOjEsd2lkdGg6MSx3b3JkU3BhY2luZzoxfSxTcj1lPT5TdHJpbmcuZnJvbUNoYXJDb2RlKGUrKDI1PGU/Mzk6OTcpKSxUcj1vPT57e289KChlLHQpPT57bGV0IG89dC5sZW5ndGg7Zm9yKDtvOyllPTMzKmVedC5jaGFyQ29kZUF0KC0tbyk7cmV0dXJuIGV9KSg1MzgxLEpTT04uc3RyaW5naWZ5KG8pKT4+PjA7bGV0IGUsdD0iIjtmb3IoZT1NYXRoLmFicyhvKTs1MjxlO2U9ZS81MnwwKXQ9U3IoZSU1MikrdDtyZXR1cm4gU3IoZSU1MikrdH19LExyPVsidGhlbWVkIiwiZ2xvYmFsIiwic3R5bGVkIiwib25ldmFyIiwicmVzb25ldmFyIiwiYWxsdmFyIiwiaW5saW5lIl0sJHI9ZT0+e2lmKGUuaHJlZiYmIWUuaHJlZi5zdGFydHNXaXRoKGxvY2F0aW9uLm9yaWdpbikpcmV0dXJuITE7dHJ5e3JldHVybiEhZS5jc3NSdWxlc31jYXRjaChlKXtyZXR1cm4hMX19LEFyPXQ9PntsZXQgZCxwPSgpPT57bGV0IGk9ZC5zaGVldC5jc3NSdWxlcztyZXR1cm5bXS5tYXAuY2FsbChpLCh0LGUpPT57dmFyIG89dC5jc3NUZXh0O2xldCByPSIiO2lmKG8uc3RhcnRzV2l0aCgiLS1zeHMiKSlyZXR1cm4iIjtpZihpW2UtMV0mJihyPWlbZS0xXS5jc3NUZXh0KS5zdGFydHNXaXRoKCItLXN4cyIpKXtpZighdC5jc3NSdWxlcy5sZW5ndGgpcmV0dXJuIiI7Zm9yKGxldCBlIGluIGQucnVsZXMpaWYoZC5ydWxlc1tlXS5ncm91cD09PXQpcmV0dXJuYC0tc3hzey0tc3hzOiR7Wy4uLmQucnVsZXNbZV0uY2FjaGVdLmpvaW4oIiAiKX19YCtvO3JldHVybiB0LmNzc1J1bGVzLmxlbmd0aD8iIityK286IiJ9cmV0dXJuIG99KS5qb2luKCIiKX0sdT0oKT0+e2lmKGQpe2xldHtydWxlczp0LHNoZWV0OmV9PWQ7aWYoIWUuZGVsZXRlUnVsZSl7Zm9yKDszPT09T2JqZWN0KE9iamVjdChlLmNzc1J1bGVzKVswXSkudHlwZTspZS5jc3NSdWxlcy5zcGxpY2UoMCwxKTtlLmNzc1J1bGVzPVtdfWZvcihsZXQgZSBpbiB0KWRlbGV0ZSB0W2VdfWxldCBlPU9iamVjdCh0KS5zdHlsZVNoZWV0c3x8W107Zm9yKGxldCByIG9mIGUpaWYoJHIocikpe2ZvcihsZXQgdD0wLG89ci5jc3NSdWxlcztvW3RdOysrdCl7bGV0IGU9T2JqZWN0KG9bdF0pO3ZhciBpLG4sYSxzOzE9PT1lLnR5cGUmJig0PT09KGk9T2JqZWN0KG9bdCsxXSkpLnR5cGUmJigrK3Qsbj1lLmNzc1RleHQsbi5zdGFydHNXaXRoKCItLXN4cyIpKSYmKGE9bi5zbGljZSgxNCwtMykudHJpbSgpLnNwbGl0KC9ccysvKSxzPUxyW2FbMF1dKSkmJigoZD1kfHx7c2hlZXQ6cixyZXNldDp1LHJ1bGVzOnt9LHRvU3RyaW5nOnB9KS5ydWxlc1tzXT17Z3JvdXA6aSxpbmRleDp0LGNhY2hlOm5ldyBTZXQoYSl9KX1pZihkKWJyZWFrfWlmKCFkKXtsZXQgbz0oZSx0KT0+KHt0eXBlOnQsY3NzUnVsZXM6W10saW5zZXJ0UnVsZShlLHQpe3RoaXMuY3NzUnVsZXMuc3BsaWNlKHQsMCxvKGUse2ltcG9ydDozLHVuZGVmaW5lZDoxfVsoZS50b0xvd2VyQ2FzZSgpLm1hdGNoKC9eQChbYS16XSspLyl8fFtdKVsxXV18fDQpKX0sZ2V0IGNzc1RleHQoKXtyZXR1cm4iQG1lZGlhe30iPT09ZT9gQG1lZGlheyR7W10ubWFwLmNhbGwodGhpcy5jc3NSdWxlcyxlPT5lLmNzc1RleHQpLmpvaW4oIiIpfX1gOmV9fSk7ZD17c2hlZXQ6dD8odC5oZWFkfHx0KS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKS5zaGVldDpvKCIiLCJ0ZXh0L2NzcyIpLHJ1bGVzOnt9LHJlc2V0OnUsdG9TdHJpbmc6cH19bGV0e3NoZWV0OmwscnVsZXM6Y309ZDtmb3IobGV0IHI9THIubGVuZ3RoLTE7MDw9cjstLXIpe2xldCBvPUxyW3JdO2lmKCFjW29dKXtsZXQgZT1McltyKzFdLHQ9Y1tlXT9jW2VdLmluZGV4OmwuY3NzUnVsZXMubGVuZ3RoO2wuaW5zZXJ0UnVsZSgiQG1lZGlhe30iLHQpLGwuaW5zZXJ0UnVsZShgLS1zeHN7LS1zeHM6JHtyfX1gLHQpLGNbb109e2dyb3VwOmwuY3NzUnVsZXNbdCsxXSxpbmRleDp0LGNhY2hlOm5ldyBTZXQoW3JdKX19RXIoY1tvXSl9fTtyZXR1cm4gdSgpLGR9LEVyPWU9PntsZXQgdD1lLmdyb3VwLG89dC5jc3NSdWxlcy5sZW5ndGg7ZS5hcHBseT1lPT57dHJ5e3QuaW5zZXJ0UnVsZShlLG8pLCsrb31jYXRjaChlKXt9fX0sUnI9U3ltYm9sKCksT3I9a2UoKSxEcj0ocix0KT0+T3IociwoKT0+KC4uLmUpPT57dmFyIG89e3R5cGU6bnVsbCxjb21wb3NlcnM6bmV3IFNldH07Zm9yKGxldCB0IG9mIGUpaWYobnVsbCE9dClpZih0W3NyXSl7bnVsbD09by50eXBlJiYoby50eXBlPXRbc3JdLnR5cGUpO2ZvcihsZXQgZSBvZiB0W3NyXS5jb21wb3NlcnMpby5jb21wb3NlcnMuYWRkKGUpfWVsc2UgdC5jb25zdHJ1Y3RvciE9PU9iamVjdHx8dC4kJHR5cGVvZj9udWxsPT1vLnR5cGUmJihvLnR5cGU9dCk6by5jb21wb3NlcnMuYWRkKEJyKHQscikpO3JldHVybiBudWxsPT1vLnR5cGUmJihvLnR5cGU9InNwYW4iKSxvLmNvbXBvc2Vycy5zaXplfHxvLmNvbXBvc2Vycy5hZGQoWyJQSkxWIix7fSxbXSxbXSx7fSxbXV0pLFByKHIsbyx0KX0pLEJyPSh7dmFyaWFudHM6ZSxjb21wb3VuZFZhcmlhbnRzOnQsZGVmYXVsdFZhcmlhbnRzOm8sLi4ucn0saSk9PntsZXQgbj14cihpLnByZWZpeCkrImMtIitUcihyKSxhPVtdLHM9W10sbD1PYmplY3QuY3JlYXRlKG51bGwpLGM9W107Zm9yKGxldCBlIGluIG8pbFtlXT1TdHJpbmcob1tlXSk7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlKWZvcihsZXQgbiBpbiBlKXtkPW4sZHIuY2FsbChsLGQpfHwobFtuXT0idW5kZWZpbmVkIik7bGV0IGk9ZVtuXTtmb3IobGV0IHIgaW4gaSl7bGV0IGU9e1tuXTpTdHJpbmcocil9LHQ9KCJ1bmRlZmluZWQiPT09U3RyaW5nKHIpJiZjLnB1c2gobiksaVtyXSksbz1bZSx0LCFjcih0KV07YS5wdXNoKG8pfX12YXIgZDtpZigib2JqZWN0Ij09dHlwZW9mIHQmJnQpZm9yKGxldCByIG9mIHQpe2xldHtjc3M6ZSwuLi50fT1yO2U9Im9iamVjdCI9PXR5cGVvZiBlJiZlfHx7fTtmb3IobGV0IGUgaW4gdCl0W2VdPVN0cmluZyh0W2VdKTtsZXQgbz1bdCxlLCFjcihlKV07cy5wdXNoKG8pfXJldHVybltuLHIsYSxzLGwsY119LFByPShsLGMsZCk9PntsZXRbYSxwLHUsZ109X3IoYy5jb21wb3NlcnMpLG09ImZ1bmN0aW9uIj09dHlwZW9mIGMudHlwZXx8Yy50eXBlLiQkdHlwZW9mPyhpPWQscltScl09W10sci5ydWxlcz17fSxMci5mb3JFYWNoKHQ9PnIucnVsZXNbdF09e2FwcGx5OmU9PnJbUnJdLnB1c2goW3QsZV0pfSkscik6bnVsbCxmPShtfHxkKS5ydWxlcyxoPSIuIithKygxPHAubGVuZ3RoP2A6d2hlcmUoLiR7cC5zbGljZSgxKS5qb2luKCIuIil9KWA6IiIpLGU9dD0+e2xldHtjc3M6bywuLi5yfT10PSJvYmplY3QiPT10eXBlb2YgdCYmdHx8TnIsbj17fTtmb3IobGV0IGUgaW4gdSl7dmFyIGk7ZGVsZXRlIHJbZV0sZSBpbiB0PyJvYmplY3QiPT10eXBlb2YoaT10W2VdKSYmaT9uW2VdPXsiQGluaXRpYWwiOnVbZV0sLi4uaX06KGk9U3RyaW5nKGkpLG5bZV09InVuZGVmaW5lZCIhPT1pfHxnLmhhcyhlKT9pOnVbZV0pOm5bZV09dVtlXX12YXIgcz1uZXcgU2V0KFsuLi5wXSk7Zm9yKGxldFthLGUscixpXW9mIGMuY29tcG9zZXJzKXtkLnJ1bGVzLnN0eWxlZC5jYWNoZS5oYXMoYSl8fChkLnJ1bGVzLnN0eWxlZC5jYWNoZS5hZGQoYSksdnIoZSxbIi4iK2FdLFtdLGwsZT0+e2Yuc3R5bGVkLmFwcGx5KGUpfSkpO2xldCB0PWpyKHIsbixsLm1lZGlhKSxvPWpyKGksbixsLm1lZGlhLCEwKTtmb3IobGV0IGUgb2YgdClpZih2b2lkIDAhPT1lKWZvcihsZXRbcixpLG5db2YgZSl7bGV0IGU9YCR7YX0tJHtUcihpKX0tYCtyLHQ9KHMuYWRkKGUpLChuP2QucnVsZXMucmVzb25ldmFyOmQucnVsZXMub25ldmFyKS5jYWNoZSksbz1uP2YucmVzb25ldmFyOmYub25ldmFyO3QuaGFzKGUpfHwodC5hZGQoZSksdnIoaSxbIi4iK2VdLFtdLGwsZT0+e28uYXBwbHkoZSl9KSl9Zm9yKGxldCBlIG9mIG8paWYodm9pZCAwIT09ZSlmb3IobGV0W3Qsb11vZiBlKXtsZXQgZT1gJHthfS0ke1RyKG8pfS1gK3Q7cy5hZGQoZSksZC5ydWxlcy5hbGx2YXIuY2FjaGUuaGFzKGUpfHwoZC5ydWxlcy5hbGx2YXIuY2FjaGUuYWRkKGUpLHZyKG8sWyIuIitlXSxbXSxsLGU9PntmLmFsbHZhci5hcHBseShlKX0pKX19aWYoIm9iamVjdCI9PXR5cGVvZiBvJiZvKXtsZXQgZT1gJHthfS1pJHtUcihvKX0tY3NzYDtzLmFkZChlKSxkLnJ1bGVzLmlubGluZS5jYWNoZS5oYXMoZSl8fChkLnJ1bGVzLmlubGluZS5jYWNoZS5hZGQoZSksdnIobyxbIi4iK2VdLFtdLGwsZT0+e2YuaW5saW5lLmFwcGx5KGUpfSkpfWZvcihsZXQgZSBvZiBTdHJpbmcodC5jbGFzc05hbWV8fCIiKS50cmltKCkuc3BsaXQoL1xzKy8pKWUmJnMuYWRkKGUpO2xldCBlPXIuY2xhc3NOYW1lPVsuLi5zXS5qb2luKCIgIik7cmV0dXJue3R5cGU6Yy50eXBlLGNsYXNzTmFtZTplLHNlbGVjdG9yOmgscHJvcHM6cix0b1N0cmluZzooKT0+ZSxkZWZlcnJlZEluamVjdG9yOm19fTtmdW5jdGlvbiByKCl7Zm9yKGxldCBlPTA7ZTxyW1JyXS5sZW5ndGg7ZSsrKXt2YXJbdCxvXT1yW1JyXVtlXTtpLnJ1bGVzW3RdLmFwcGx5KG8pfXJldHVybiByW1JyXT1bXSxudWxsfXZhciBpO3JldHVybiBscihlLHtjbGFzc05hbWU6YSxzZWxlY3RvcjpoLFtzcl06Yyx0b1N0cmluZzooKT0+KGQucnVsZXMuc3R5bGVkLmNhY2hlLmhhcyhhKXx8ZSgpLGEpfSl9LF9yPWU9PntsZXQgdD0iIjt2YXIgbyxyLGksbj1bXSxhPXt9LHM9W107Zm9yKFtvLCwsLHIsaV1vZiBlKXsiIj09PXQmJih0PW8pLG4ucHVzaChvKSxzLnB1c2goLi4uaSk7Zm9yKGxldCB0IGluIHIpe2xldCBlPXJbdF07dm9pZCAwIT09YVt0XSYmInVuZGVmaW5lZCI9PT1lJiYhaS5pbmNsdWRlcyhlKXx8KGFbdF09ZSl9fXJldHVyblt0LG4sYSxuZXcgU2V0KHMpXX0sanI9KGUsdCxhLG8pPT57dmFyIHI9W107ZTpmb3IodmFyW3MsbCxpXW9mIGUpaWYoIWkpe2xldCBlLGk9MCxuPSExO2ZvcihlIGluIHMpe2xldCByPXNbZV07dmFyIGM9dFtlXTtpZihjIT09cil7aWYoIm9iamVjdCIhPXR5cGVvZiBjfHwhYyljb250aW51ZSBlO3tsZXQgZSx0LG89MDtmb3IodmFyIGQgaW4gYyl7aWYocj09PVN0cmluZyhjW2RdKSl7aWYoIkBpbml0aWFsIiE9PWQpe2xldCBlPWQuc2xpY2UoMSk7KHQ9dHx8W10pLnB1c2goZSBpbiBhP2FbZV06ZC5yZXBsYWNlKC9eQG1lZGlhID8vLCIiKSksbj0hMH1pKz1vLGU9ITB9KytvfWlmKHQmJnQubGVuZ3RoJiYobD17WyJAbWVkaWEgIit0LmpvaW4oIiwgIildOmx9KSwhZSljb250aW51ZSBlfX19KHJbaV09cltpXXx8W10pLnB1c2goW28/ImN2IjplKyItIitzW2VdLGwsbl0pfXJldHVybiByfSxOcj17fSxWcj1rZSgpLE1yPShpLG4pPT5WcihpLCgpPT4oLi4ucik9Pnt2YXIgZT0oKT0+e2Zvcih2YXIgdCBvZiByKXt0PSJvYmplY3QiPT10eXBlb2YgdCYmdHx8e307dmFyIGU9VHIodCk7aWYoIW4ucnVsZXMuZ2xvYmFsLmNhY2hlLmhhcyhlKSl7aWYobi5ydWxlcy5nbG9iYWwuY2FjaGUuYWRkKGUpLCJAaW1wb3J0ImluIHQpe2xldCBlPVtdLmluZGV4T2YuY2FsbChuLnNoZWV0LmNzc1J1bGVzLG4ucnVsZXMudGhlbWVkLmdyb3VwKS0xO2Zvcih2YXIgbyBvZltdLmNvbmNhdCh0WyJAaW1wb3J0Il0pKW89by5pbmNsdWRlcygnIicpfHxvLmluY2x1ZGVzKCInIik/bzpgIiR7b30iYCxuLnNoZWV0Lmluc2VydFJ1bGUoYEBpbXBvcnQgJHtvfTtgLGUrKyk7ZGVsZXRlIHRbIkBpbXBvcnQiXX12cih0LFtdLFtdLGksZT0+e24ucnVsZXMuZ2xvYmFsLmFwcGx5KGUpfSl9fXJldHVybiIifTtyZXR1cm4gbHIoZSx7dG9TdHJpbmc6ZX0pfSksenI9a2UoKSxGcj0oaSxuKT0+enIoaSwoKT0+bz0+e2xldCByPXhyKGkucHJlZml4KSsiay0iK1RyKG8pLGU9KCk9PntpZighbi5ydWxlcy5nbG9iYWwuY2FjaGUuaGFzKHIpKXtuLnJ1bGVzLmdsb2JhbC5jYWNoZS5hZGQocik7bGV0IHQ9W107dnIobyxbXSxbXSxpLGU9PnQucHVzaChlKSk7dmFyIGU9YEBrZXlmcmFtZXMgJHtyfXske3Quam9pbigiIil9fWA7bi5ydWxlcy5nbG9iYWwuYXBwbHkoZSl9cmV0dXJuIHJ9O3JldHVybiBscihlLHtnZXQgbmFtZSgpe3JldHVybiBlKCl9LHRvU3RyaW5nOmV9KX0pLFVyPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxvLHIpe3RoaXMudG9rZW49bnVsbD09ZT8iIjpTdHJpbmcoZSksdGhpcy52YWx1ZT1udWxsPT10PyIiOlN0cmluZyh0KSx0aGlzLnNjYWxlPW51bGw9PW8/IiI6U3RyaW5nKG8pLHRoaXMucHJlZml4PW51bGw9PXI/IiI6U3RyaW5nKHIpfWdldCBjb21wdXRlZFZhbHVlKCl7cmV0dXJuInZhcigiK3RoaXMudmFyaWFibGUrIikifWdldCB2YXJpYWJsZSgpe3JldHVybiItLSIreHIodGhpcy5wcmVmaXgpK3hyKHRoaXMuc2NhbGUpK3RoaXMudG9rZW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jb21wdXRlZFZhbHVlfX0sV3I9a2UoKSxIcj0ocyxyKT0+V3IocywoKT0+KHQsaSk9PntpPSJvYmplY3QiPT10eXBlb2YgdCYmdHx8T2JqZWN0KGkpO2xldCBlPSIuIisodD0odD0ic3RyaW5nIj09dHlwZW9mIHQ/dDoiIil8fHhyKHMucHJlZml4KSsidC0iK1RyKGkpKSxuPXt9LGE9W107Zm9yKGxldCByIGluIGkpe25bcl09e307Zm9yKGxldCBvIGluIGlbcl0pe2xldCBlPWAtLSR7eHIocy5wcmVmaXgpfSR7cn0tYCtvLHQ9eXIoU3RyaW5nKGlbcl1bb10pLHMucHJlZml4LHIpO25bcl1bb109bmV3IFVyKG8sdCxyLHMucHJlZml4KSxhLnB1c2goZSsiOiIrdCl9fWxldCBvPSgpPT57dmFyIGU7cmV0dXJuIGEubGVuZ3RoJiYhci5ydWxlcy50aGVtZWQuY2FjaGUuaGFzKHQpJiYoci5ydWxlcy50aGVtZWQuY2FjaGUuYWRkKHQpLGU9YCR7aT09PXMudGhlbWU/Ijpyb290LCI6IiJ9LiR7dH17JHthLmpvaW4oIjsiKX19YCxyLnJ1bGVzLnRoZW1lZC5hcHBseShlKSksdH07cmV0dXJuey4uLm4sZ2V0IGNsYXNzTmFtZSgpe3JldHVybiBvKCl9LHNlbGVjdG9yOmUsdG9TdHJpbmc6b319KSxHcj1rZSgpLHFyPWU9PntsZXQgbD0hMTtlPUdyKGUsZT0+e2w9ITA7bGV0IHQ9InByZWZpeCJpbihlPSJvYmplY3QiPT10eXBlb2YgZSYmZXx8e30pP1N0cmluZyhlLnByZWZpeCk6IiIsbz0ib2JqZWN0Ij09dHlwZW9mIGUubWVkaWEmJmUubWVkaWF8fHt9LHI9Im9iamVjdCI9PXR5cGVvZiBlLnJvb3Q/ZS5yb290fHxudWxsOmdsb2JhbFRoaXMuZG9jdW1lbnR8fG51bGwsaT0ib2JqZWN0Ij09dHlwZW9mIGUudGhlbWUmJmUudGhlbWV8fHt9LG49e3ByZWZpeDp0LG1lZGlhOm8sdGhlbWU6aSx0aGVtZU1hcDoib2JqZWN0Ij09dHlwZW9mIGUudGhlbWVNYXAmJmUudGhlbWVNYXB8fHsuLi5ucn0sdXRpbHM6Im9iamVjdCI9PXR5cGVvZiBlLnV0aWxzJiZlLnV0aWxzfHx7fX0sYT1BcihyKSxzPXtjc3M6RHIobixhKSxnbG9iYWxDc3M6TXIobixhKSxrZXlmcmFtZXM6RnIobixhKSxjcmVhdGVUaGVtZTpIcihuLGEpLHJlc2V0KCl7YS5yZXNldCgpLHMudGhlbWUudG9TdHJpbmcoKX0sdGhlbWU6e30sc2hlZXQ6YSxjb25maWc6bixwcmVmaXg6dCxnZXRDc3NUZXh0OmEudG9TdHJpbmcsdG9TdHJpbmc6YS50b1N0cmluZ307cmV0dXJuIFN0cmluZyhzLnRoZW1lPXMuY3JlYXRlVGhlbWUoaSkpLHN9KTtyZXR1cm4gbHx8ZS5yZXNldCgpLGV9LEtyPSgpPT5pcj1pcnx8cXIoKSxRcj0oLi4uZSk9PktyKCkua2V5ZnJhbWVzKC4uLmUpO2xldCBCPXFyKHtwcmVmaXg6ImFkb3B0Iix1dGlsczp7fSx0aGVtZTp7Zm9udFNpemVzOntiaWdUaXRsZToiMzBweCIsdGl0bGU6IjEzcHgiLHRleHQ6IjEycHgiLHNtYWxsVGV4dDoiMTFweCJ9LGxpbmVIZWlnaHRzOnt0aXRsZToiMS4yNWVtIn19LG1lZGlhOntzbToiKG1heC13aWR0aDogMzYwcHgpIixtb2JpbGU6IihtYXgtd2lkdGg6IDYzMHB4KSIsbWQ6IihtYXgtd2lkdGg6IDcwMHB4KSIsdGFibGV0OiIobWF4LXdpZHRoOiA5OTJweCkiLGRlc2t0b3A6IihtYXgtd2lkdGg6IDEyMDBweCkifX0pLmNzcztmdW5jdGlvbiBKcihlKXtsZXQgbyxyLGk7cmV0dXJue2MoKXtvPWRlKCJkaXYiKSxhbygocj1kZSgiaW1nIikpLnNyYyxpPWVbMF0/LmNvbnRyb2xsZXIpfHxtZShyLCJzcmMiLGkpLG1lKHIsImFsdCIsImNvb2tpZSBiYW5uZXIgY29udHJvbGxlciIpLG1lKG8sImNsYXNzIixlWzVdKCkpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8scil9LHAoZSx0KXsxJnQmJiFhbyhyLnNyYyxpPWVbMF0/LmNvbnRyb2xsZXIpJiZtZShyLCJzcmMiLGkpfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBacihlKXtsZXQgcixvO3JldHVybiByPW5ldyBZbyh7cHJvcHM6e2ZpbGw6RChPW2VbMV1dLFIucHJpbWFyeUNvbG9yLGVbNl0sZVswXT8uY29sb3JzLGVbN10pfX0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzMmdCYmKG8uZmlsbD1EKE9bZVsxXV0sUi5wcmltYXJ5Q29sb3IsZVs2XSxlWzBdPy5jb2xvcnMsZVs3XSkpLHIuJHNldChvKX0saShlKXtvfHwoaGUoci4kJC5mcmFnbWVudCxlKSxvPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLG89ITF9LGQoZSl7d2UocixlKX19fWZ1bmN0aW9uIFlyKGUpe2xldCByLG87cmV0dXJuIHI9bmV3IHRyKHtwcm9wczp7ZmlsbDpEKE9bZVsxXV0sUi5wcmltYXJ5Q29sb3IsZVs2XSxlWzBdPy5jb2xvcnMsZVs3XSl9fSkse2MoKXt4ZShyLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKHIsZSx0KSxvPSEwfSxwKGUsdCl7dmFyIG89e307MyZ0JiYoby5maWxsPUQoT1tlWzFdXSxSLnByaW1hcnlDb2xvcixlWzZdLGVbMF0/LmNvbG9ycyxlWzddKSksci4kc2V0KG8pfSxpKGUpe298fChoZShyLiQkLmZyYWdtZW50LGUpLG89ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksbz0hMX0sZChlKXt3ZShyLGUpfX19ZnVuY3Rpb24gWHIoZSl7bGV0IHIsaSxuLG8sYT1bdGksZWldLHM9W107ZnVuY3Rpb24gbChlKXtyZXR1cm4gZVswXT8ud2hpdGVsYWJlbD8uZGlzY2xhaW1lckNvbnRyb2xsZXI/MDoxfXJldHVybiByPWwoZSksaT1zW3JdPWFbcl0oZSkse2MoKXtpLmMoKSxuPWZvKCl9LG0oZSx0KXtzW3JdLm0oZSx0KSxsZShlLG4sdCksbz0hMH0scChlLHQpe2xldCBvPXI7KHI9bChlKSk9PT1vP3Nbcl0ucChlLHQpOihpZSgpLGJlKHNbb10sMSwxLCgpPT57c1tvXT1udWxsfSksbmUoKSwoaT1zW3JdKT9pLnAoZSx0KTooaT1zW3JdPWFbcl0oZSkpLmMoKSxoZShpLDEpLGkubShuLnBhcmVudE5vZGUsbikpfSxpKGUpe298fChoZShpKSxvPSEwKX0sbyhlKXtiZShpKSxvPSExfSxkKGUpe3Nbcl0uZChlKSxlJiZjZShuKX19fWZ1bmN0aW9uIGVpKGUpe2xldCByLG87cmV0dXJuIHI9bmV3IFFvKHtwcm9wczp7ZmlsbDpEKE9bZVsxXV0sUi5wcmltYXJ5Q29sb3IsZVs2XSxlWzBdPy5jb2xvcnMsZVs3XSl9fSkse2MoKXt4ZShyLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKHIsZSx0KSxvPSEwfSxwKGUsdCl7dmFyIG89e307MyZ0JiYoby5maWxsPUQoT1tlWzFdXSxSLnByaW1hcnlDb2xvcixlWzZdLGVbMF0/LmNvbG9ycyxlWzddKSksci4kc2V0KG8pfSxpKGUpe298fChoZShyLiQkLmZyYWdtZW50LGUpLG89ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksbz0hMX0sZChlKXt3ZShyLGUpfX19ZnVuY3Rpb24gdGkoZSl7bGV0IG87cmV0dXJue2MoKXttZShvPWRlKCJkaXYiKSwiY2xhc3MiLGVbNF0oKSksbWUobywiaWQiLCJ3aGl0ZWxhYmVsSWQiKX0sbShlLHQpe2xlKGUsbyx0KX0scDpoLGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIG9pKHIpe2xldCBpLG4sYSx0LG8scyxsLGM9W1hyLFlyLFpyLEpyXSxkPVtdO2Z1bmN0aW9uIHAoZSl7cmV0dXJuIGVbMF0/LmNvbnRyb2xsZXI9PT1tLkFkb3B0PzA6ZVswXT8uY29udHJvbGxlcj09PW0uQ29va2llPzE6ZVswXT8uY29udHJvbGxlcj09PW0uTG9jaz8yOjN9cmV0dXJuIG49cChyKSxhPWRbbl09Y1tuXShyKSx7Yygpe2k9ZGUoImRpdiIpLGEuYygpLG1lKGksImFyaWEtY29udHJvbHMiLCJjb29raWUtYmFubmVyIiksbWUoaSwiaWQiLCJhZG9wdC1jb250cm9sbGVyLWJ1dHRvbiIpLG1lKGksImNsYXNzIixyWzNdKCkpfSxtKGUsdCl7bGUoZSxpLHQpLGRbbl0ubShpLG51bGwpLG89ITAsc3x8KGw9Z2UoaSwiY2xpY2siLGhvKHJbOV0pKSxzPSEwKX0scChlLFt0XSl7cj1lO2xldCBvPW47KG49cChyKSk9PT1vP2Rbbl0ucChyLHQpOihpZSgpLGJlKGRbb10sMSwxLCgpPT57ZFtvXT1udWxsfSksbmUoKSwoYT1kW25dKT9hLnAocix0KTooYT1kW25dPWNbbl0ocikpLmMoKSxoZShhLDEpLGEubShpLG51bGwpKX0saShlKXtvfHwoaGUoYSksam8oKCk9PntvJiYodD10fHxHbyhpLG9yLHtkdXJhdGlvbjohMSE9PXJbMF0/LmRpc2NsYWltZXJPcHRpb25zPy5kaXNjbGFpbWVyQW5pbWF0aW9ucz8xNTA6MH0sITApKS5ydW4oMSl9KSxvPSEwKX0sbyhlKXtiZShhKSwodD10fHxHbyhpLG9yLHtkdXJhdGlvbjohMSE9PXJbMF0/LmRpc2NsYWltZXJPcHRpb25zPy5kaXNjbGFpbWVyQW5pbWF0aW9ucz8xNTA6MH0sITEpKS5ydW4oMCksbz0hMX0sZChlKXtlJiZjZShpKSxkW25dLmQoKSxlJiZ0JiZ0LmVuZCgpLHM9ITEsbCgpfX19ZnVuY3Rpb24gcmkoZSx0LG8pe2xldCByPXQuY29uZmlnLGk9dC5zdHlsZXMsbj0kbygpO3Zhcntjb250cm9sbGVyQnV0dG9uOnQsY29udHJvbGxlclN2ZzphLGNvbnRyb2xsZXJJbWc6c309KChlLHQpPT57dmFye2NvbG9yczpvLHBvc2l0aW9uOnJ9PWUse3N0eWxlczplLGhhc0ltcG9ydGFudDppfT1lLnN0eWxlcz8/e30se3RoZW1lOnQ9ImxpZ2h0IixzdHlsZXM6bixoYXNJbXBvcnRhbnQ6YSxjb2xvcnM6c309dDtsZXQgbD12b2lkIDA9PT1hfHxhP3ZvaWQgMD09PWl8fGk/IiFpbXBvcnRhbnQiOiIiOiIiO2E9IiFpbXBvcnRhbnQiPT09bD8idW5zZXQgIWltcG9ydGFudCI6IiIsaT17cmlnaHQ6e3JpZ2h0OiIyMHB4ICIrbCxsZWZ0OiJhdXRvICIrbH19O3JldHVybntjb250cm9sbGVyQnV0dG9uOkIoe2FsbDphLHBvc2l0aW9uOiJmaXhlZCAiK2wsYm90dG9tOiIyMHB4ICIrbCxsZWZ0OiIyMHB4ICIrbCx3aWR0aDoiNjBweCAiK2wsaGVpZ2h0OiI2MHB4ICIrbCxjdXJzb3I6InBvaW50ZXIgIitsLG9wYWNpdHk6IjAuNSAiK2wsekluZGV4OiI5OTk5OTk5OTkwICIrbCxib3JkZXJSYWRpdXM6IjUwJSAiK2wsb3ZlcmZsb3c6ImhpZGRlbiAiK2wsLi4uaVtyPy5jb250cm9sbGVyXSwiJjpob3ZlciI6e29wYWNpdHk6IjEgIitsfSwuLi5lPy53ZWI/LmNvbnRyb2xsZXI/LmJ1dHRvbiwuLi5uPy53ZWI/LmNvbnRyb2xsZXI/LmJ1dHRvbiwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY29udHJvbGxlcj8uYnV0dG9uLC4uLm4/Lm1vYmlsZT8uY29udHJvbGxlcj8uYnV0dG9ufX0pLGNvbnRyb2xsZXJTdmc6Qih7bWF4V2lkdGg6IjQ1cHggIitsLG1heEhlaWdodDoiNTBweCAiK2wscG9zaXRpb246InJlbGF0aXZlICIrbCxsZWZ0OiI1MCUgIitsLHRvcDoiNTAlICIrbCx0cmFuc2Zvcm06InRyYW5zbGF0ZSgtNTAlLCAtNTAlKSAiK2wsZmlsbDpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbCwuLi5lPy53ZWI/LmNvbnRyb2xsZXI/LnN2ZywuLi5uPy53ZWI/LmNvbnRyb2xsZXI/LnN2ZywiQG1vYmlsZSI6e2ZpbGw6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2wsLi4uZT8ubW9iaWxlPy5jb250cm9sbGVyPy5zdmcsLi4ubj8ubW9iaWxlPy5jb250cm9sbGVyPy5zdmd9fSksY29udHJvbGxlckltZzpCKHthbGw6YSxkaXNwbGF5OiJmbGV4ICIrbCxqdXN0aWZ5Q29udGVudDoiY2VudGVyICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLGJvcmRlclJhZGl1czoiNTAlICIrbCx3aWR0aDoiMTAwJSAiK2wsaGVpZ2h0OiIxMDAlICIrbCxiYWNrZ3JvdW5kOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLCImIGltZyI6e2FsbDphLHdpZHRoOiIxMDAlICIrbCxoZWlnaHQ6IjEwMCUgIitsLG1heFdpZHRoOiIxMDAlICIrbH0sLi4uZT8ud2ViPy5jb250cm9sbGVyPy5pbWcsLi4ubj8ud2ViPy5jb250cm9sbGVyPy5pbWcsIkBtb2JpbGUiOntiYWNrZ3JvdW5kOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLC4uLmU/Lm1vYmlsZT8uY29udHJvbGxlcj8uaW1nLC4uLm4/Lm1vYmlsZT8uY29udHJvbGxlcj8uaW1nfX0pfX0pKHIsaSkse3RoZW1lOmw9ImxpZ2h0Iixjb2xvcnM6Y309aTtsZXQgZD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg8PTc2OD8ibW9iaWxlIjoid2ViIixwPSgpPT57bygxLGQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoPD03Njg/Im1vYmlsZSI6IndlYiIpfTtUbyhhc3luYygpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscCksS3Qocj8ud2hpdGVsYWJlbD8uZGlzY2xhaW1lckNvbnRyb2xsZXIsIndoaXRlbGFiZWxJZCIpfSksTG8oKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixwKX0pO3JldHVybiBlLiQkc2V0PWU9PnsiY29uZmlnImluIGUmJm8oMCxyPWUuY29uZmlnKSwic3R5bGVzImluIGUmJm8oOCxpPWUuc3R5bGVzKX0sW3IsZCxuLHQsYSxzLGwsYyxpLCgpPT5uKCJnbyIse3N0YXR1czpNLkNhcmQsZXZlbnQ6ei5CYWxsQ2xpY2t9KV19Y2xhc3MgaWkgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUscmksb2kscix7Y29uZmlnOjAsc3R5bGVzOjh9KX19bGV0IG5pPShlLHQpPT57dmFye2NvbG9yczpvLHBvc2l0aW9uOnIsZGlzY2xhaW1lck9wdGlvbnM6aX09ZSx7c3R5bGVzOmUsaGFzSW1wb3J0YW50Om4sdXNlQnV0dG9uc1dpdGhTYW1lQ29sb3I6YX09ZS5zdHlsZXM/P3t9LHt0aGVtZTp0PSJsaWdodCIsc3R5bGVzOnMsaGFzSW1wb3J0YW50OmwsY29sb3JzOmN9PXQ7bGV0IGQ9IiFpbXBvcnRhbnQiO3ZvaWQgMD09PW58fG58fChkPSIiKSx2b2lkIDA9PT1sfHxsfHwoZD0iIik7dmFyIG49aT8uYWNjZXNzaWJpbGl0eSxsPWk/LmRpc2NsYWltZXJDYXJkU2hhZG93LGk9IiFpbXBvcnRhbnQiPT09ZD8idW5zZXQgIWltcG9ydGFudCI6IiIscD17Ym90dG9tOntsZWZ0OiIwICIrZH0sdG9wOntib3R0b206ImF1dG8gIitkLGxlZnQ6IjAgIitkLHRvcDoiMCAiK2R9LGxlZnQ6e2JvdHRvbToiNzVweCAiK2QsbGVmdDoiNzVweCAiK2QsYm9yZGVyUmFkaXVzOiIyMHB4ICIrZCx3aWR0aDoiMzUwcHggIitkfSxyaWdodDp7Ym90dG9tOiI3NXB4ICIrZCxyaWdodDoiNzVweCAiK2QsbGVmdDoiYXV0byAiK2QsYm9yZGVyUmFkaXVzOiIyMHB4ICIrZCx3aWR0aDoiMzUwcHggIitkfSxjZW50ZXI6e21heFdpZHRoOiIzNTBweCAiK2Qsd2lkdGg6ImNhbGMoMTAwdncgLSA0MHB4KSAiK2QsbWFyZ2luTGVmdDoiYXV0byAiK2QsbWFyZ2luUmlnaHQ6ImF1dG8gIitkLGxlZnQ6IjAgIitkLHJpZ2h0OiIwICIrZCxib3JkZXJSYWRpdXM6IjE1cHggIitkLHBvc2l0aW9uOiJmaXhlZCAiK2QsZmxleFdyYXA6IndyYXAgIitkfX0sdT17bGVmdDp7ZmxleFdyYXA6IndyYXAgIitkfSxyaWdodDp7ZmxleFdyYXA6IndyYXAgIitkfSxjZW50ZXI6e2ZsZXhXcmFwOiJ3cmFwICIrZH19LGc9e2JvdHRvbTp7ZGlzcGxheToiZmxleCAiK2QsZmxleERpcmVjdGlvbjoicm93ICIrZCxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK2R9LHRvcDp7ZGlzcGxheToiZmxleCAiK2QsZmxleERpcmVjdGlvbjoicm93ICIrZCxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK2R9LGNlbnRlcjp7ZGlzcGxheToiYmxvY2sgIitkfX0sbT17Ym90dG9tOnttaW5XaWR0aDoiNzAlICIrZCxtYXhXaWR0aDoiNzAlICIrZCxtaW5IZWlnaHQ6IjAgIitkLG1heEhlaWdodDoiMTAwJSAiK2R9LHRvcDp7bWluV2lkdGg6IjcwJSAiK2QsbWF4V2lkdGg6IjcwJSAiK2QsbWluSGVpZ2h0OiIwICIrZCxtYXhIZWlnaHQ6IjEwMCUgIitkfSxjZW50ZXI6e21pbldpZHRoOiIxMDAlICIrZCxtYXhXaWR0aDoiMTAwJSAiK2QsbWluSGVpZ2h0OiIwICIrZCxtYXhIZWlnaHQ6IjEwMCUgIitkfX0sZj17dG9wOntwYWRkaW5nUmlnaHQ6IjIwcHggIitkfSxib3R0b206e3BhZGRpbmdSaWdodDoiMjBweCAiK2R9fSxoPXtib3R0b206e2dhcDoiMjBweCAiK2R9LHRvcDp7Z2FwOiIyMHB4ICIrZH0sbGVmdDp7bWFyZ2luVG9wOiIyMnB4ICIrZCx3aWR0aDoiMTAwJSAiK2R9LHJpZ2h0OnttYXJnaW5Ub3A6IjIycHggIitkLHdpZHRoOiIxMDAlICIrZH0sY2VudGVyOnttYXJnaW5Ub3A6IjEycHggIitkLHdpZHRoOiIxMDAlICIrZH19LGI9e3RleHREZWNvcmF0aW9uOiJub25lICIrZCxwYWRkaW5nOiIwICIrZCxjdXJzb3I6InBvaW50ZXIgIitkLGJvcmRlcjoibm9uZSAiK2QsbGV0dGVyU3BhY2luZzoiMCAiK2QsdGV4dEFsaWduOiJjZW50ZXIgIitkLGFwcGVhcmFuY2U6Im5vbmUgIitkfSx4PXt0b3A6e2xlZnQ6IjE4NXB4ICIrZCx0b3A6IjIwcHggIitkfSxib3R0b206e2xlZnQ6IjE4NXB4ICIrZCx0b3A6IjIwcHggIitkfX0seT17bGVmdDp7ZGlzcGxheToiYmxvY2sgIitkfSxyaWdodDp7ZGlzcGxheToiYmxvY2sgIitkfX0sbD1CKHtvdmVyZmxvdzoiaGlkZGVuICIrZCx3aWR0aDoiMTAwdncgIitkLHBvc2l0aW9uOiJmaXhlZCAiK2QsYm90dG9tOiIwICIrZCx1c2VyU2VsZWN0OiJub25lICIrZCx6SW5kZXg6Ijk5OTk5OTk5OTAgIitkLGJveFNpemluZzoiYm9yZGVyLWJveCAiK2QsZm9udEZhbWlseToiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAiK2QsYmFja2dyb3VuZDpEKE8ud2ViLFIuYmdDb2xvcix0LG8sYykrIiAiK2QsYm94U2hhZG93Omw/IjAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSAiK2Q6Im5vbmUgIitkLC4uLnBbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5jb250YWluZXIsLi4ucz8ud2ViPy5jYXJkPy5jb250YWluZXIsIkBtb2JpbGUiOntiYWNrZ3JvdW5kOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHQsbyxjKSsiICIrZCxib3R0b206IjkwcHggIitkLHRvcDoiYXV0byAiK2QsLi4ucC5jZW50ZXIsLi4uZT8ubW9iaWxlPy5jYXJkPy5jb250YWluZXIsLi4ucz8ubW9iaWxlPy5jYXJkPy5jb250YWluZXJ9fSkscD1CKHthbGw6aSxkaXNwbGF5OiJibG9jayAiK2QsYm94U2l6aW5nOiJib3JkZXItYm94ICIrZCxoZWlnaHQ6IjEwMCUgIitkLHdpZHRoOiIxMDAlICIrZCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitkLHBhZGRpbmc6IjIwcHggIitkLC4uLmdbcj8uY2FyZF0sLi4udVtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmNvbnRlbnQsLi4ucz8ud2ViPy5jYXJkPy5jb250ZW50LCJAbW9iaWxlIjp7Li4uZy5jZW50ZXIsLi4uZT8ubW9iaWxlPy5jYXJkPy5jb250ZW50LC4uLnM/Lm1vYmlsZT8uY2FyZD8uY29udGVudH19KSx1PUIoe2FsbDppLGJveFNpemluZzoiYm9yZGVyLWJveCAiK2QsbWluV2lkdGg6IjEwMCUgIitkLG1heFdpZHRoOiIxMDAlICIrZCx0ZXh0QWxpZ246ImxlZnQgIitkLGxpbmVIZWlnaHQ6IiR0aXRsZSAiK2QsLi4ubVtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRDb250YWluZXIsLi4ucz8ud2ViPy5jYXJkPy50ZXh0Q29udGFpbmVyLCJAbW9iaWxlIjp7Li4ubS5jZW50ZXIsLi4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Q29udGFpbmVyLC4uLnM/Lm1vYmlsZT8uY2FyZD8udGV4dENvbnRhaW5lcn19KSxnPUIoe2FsbDppLGRpc3BsYXk6ImZsZXggIitkLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrZCxhbGlnbkl0ZW1zOiJmbGV4LXN0YXJ0ICIrZCxtYXhXaWR0aDoiMzAwcHggIitkLG1hcmdpbjoiMCAwIDEwcHggIitkLGZvbnRTaXplOiIkdGl0bGUgIitkLCImIGRpdiI6e2Rpc3BsYXk6ImZsZXggIitkfSwuLi5mW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8udGl0bGVSb3csLi4ucz8ud2ViPy5jYXJkPy50aXRsZVJvdywiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2FyZD8udGl0bGVSb3csLi4ucz8ubW9iaWxlPy5jYXJkPy50aXRsZVJvd319KSxtPUIoe2FsbDppLG1hcmdpbjoiMCAiK2QsZm9udFNpemU6IiR0aXRsZSAiK2QsZm9udFdlaWdodDoiNzAwICIrZCxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCwuLi5lPy53ZWI/LmNhcmQ/LnRpdGxlLC4uLnM/LndlYj8uY2FyZD8udGl0bGUsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnRpdGxlLC4uLnM/Lm1vYmlsZT8uY2FyZD8udGl0bGV9fSksZj1CKHsiJiBzdmciOnthbGw6aSx3aWR0aDoiMjBweCAiK2QsaGVpZ2h0OiIyMHB4ICIrZCxmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGMpKyIgIitkLC4uLmU/LndlYj8uY2FyZD8ud2hpdGVMYWJlbExvZ28sLi4ucz8ud2ViPy5jYXJkPy53aGl0ZUxhYmVsTG9nb30sIkBtb2JpbGUiOnsiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGMpKyIgIitkLC4uLmU/Lm1vYmlsZT8uY2FyZD8ud2hpdGVMYWJlbExvZ28sLi4ucz8ubW9iaWxlPy5jYXJkPy53aGl0ZUxhYmVsTG9nb319fSkseD1CKHthbGw6aSxjdXJzb3I6InBvaW50ZXIgIitkLHRleHREZWNvcmF0aW9uOiJub25lICIrZCxmb250U2l6ZToiJHRleHQgIitkLGZvbnRXZWlnaHQ6IjQwMHB4ICIrZCx0ZXh0QWxpZ246InJpZ2h0ICIrZCx3aGl0ZVNwYWNlOiJub3dyYXAgIitkLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGMpKyIgIitkLCImOmZvY3VzLXZpc2libGUiOm4mJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Qsb3V0bGluZU9mZnNldDoiM3B4ICIrZH0sLi4ueFtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmFkb3B0TGluaywuLi5zPy53ZWI/LmNhcmQ/LmFkb3B0TGluaywiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGMpKyIgIitkLC4uLmU/Lm1vYmlsZT8uY2FyZD8uYWRvcHRMaW5rLC4uLnM/Lm1vYmlsZT8uY2FyZD8uYWRvcHRMaW5rfX0pLHc9Qih7YWxsOmksZGlzcGxheToibm9uZSAiK2QsZm9udFNpemU6IiR0ZXh0ICIrZCxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxjKSsiICIrZCwiJiBhIjp7YWxsOmksY3Vyc29yOiJwb2ludGVyICIrZCxmb250V2VpZ2h0OiJib2xkICIrZCxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZH0sLi4uZT8ud2ViPy5jYXJkPy5hZG9wdExpbmtBbHRlcm5hdGl2ZSwuLi5zPy53ZWI/LmNhcmQ/LmFkb3B0TGlua0FsdGVybmF0aXZlLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYykrIiAiK2QsIiYgYSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGMpKyIgIitkfSwuLi5lPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGlua0FsdGVybmF0aXZlLC4uLnM/Lm1vYmlsZT8uY2FyZD8uYWRvcHRMaW5rQWx0ZXJuYXRpdmV9fSksQz1CKHthbGw6aSxsaW5lSGVpZ2h0OiIxLjNlbSAiK2QsLi4uZT8ud2ViPy5jYXJkPy50ZXh0c1JvdywuLi5zPy53ZWI/LmNhcmQ/LnRleHRzUm93LCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0c1JvdywuLi5zPy5tb2JpbGU/LmNhcmQ/LnRleHRzUm93fX0pLHY9Qih7YWxsOmksZm9udFNpemU6IiR0ZXh0ICIrZCxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxjKSsiICIrZCxtYXJnaW5Cb3R0b206IjVweCAiK2QsLi4ueVtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dDb250ZW50LC4uLnM/LndlYj8uY2FyZD8udGV4dFJvd0NvbnRlbnQsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxjKSsiICIrZCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dDb250ZW50LC4uLnM/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0NvbnRlbnR9fSksaz1CKHthbGw6aSx0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrZCxjdXJzb3I6InBvaW50ZXIgIitkLGZvbnRXZWlnaHQ6ImJvbGQgIitkLGZvbnRTaXplOiIkdGV4dCAiK2QsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYykrIiAiK2QsIiY6Zm9jdXMtdmlzaWJsZSI6biYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrZCxvdXRsaW5lT2Zmc2V0OiIzcHggIitkfSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5zPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rc30pO3JldHVybntjYXJkQ29udGFpbmVyOmwsY2FyZENvbnRlbnQ6cCxjYXJkVGV4dENvbnRhaW5lcjp1LGNhcmRUaXRsZVJvdzpnLGNhcmRUaXRsZTptLGNhcmRBZG9wdExpbms6eCxjYXJkQWRvcHRMaW5rQWx0ZXJuYXRpdmU6dyxjYXJkV2hpdGVMYWJlbExvZ286ZixjYXJkVGV4dHNSb3c6QyxjYXJkVGV4dFJvd0NvbnRlbnQ6dixjYXJkVGV4dFJvd0xpbmtzOkIoe2FsbDppLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGMpKyIgIitkLCImIHNwYW4jYWRvcHQtZGl2aXNvciI6e2FsbDppLG1hcmdpbjoiMCAycHggIitkLHRleHREZWNvcmF0aW9uOiJub25lICIrZH0sIiYgc3BhbiI6e2FsbDppLGN1cnNvcjoicG9pbnRlciAiK2QsZm9udFdlaWdodDoiYm9sZCAiK2QsZm9udFNpemU6IiR0ZXh0ICIrZCx0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrZCwuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5zPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rc30sLi4uZT8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3MsLi4ucz8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3MsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCwiJiBhIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sYykrIiAiK2QsLi4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3MsLi4ucz8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3N9LCImIHNwYW4iOnsuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5zPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rc30sLi4ueS5sZWZ0LC4uLmU/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLnM/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzfX0pLGNhcmRUZXh0TGlua3M6ayxjYXJkQnV0dG9uc0NvbnRhaW5lcjpCKHthbGw6aSxkaXNwbGF5OiJmbGV4ICIrZCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitkLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrZCwuLi5oW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8uYnV0dG9uc0NvbnRhaW5lciwuLi5zPy53ZWI/LmNhcmQ/LmJ1dHRvbnNDb250YWluZXIsIkBtb2JpbGUiOnsuLi5oLmNlbnRlciwuLi5lPy5tb2JpbGU/LmNhcmQ/LmJ1dHRvbnNDb250YWluZXIsLi4ucz8ubW9iaWxlPy5jYXJkPy5idXR0b25zQ29udGFpbmVyfSwiQHNtIjp7Z2FwOiI2cHggIitkfSwiJiBidXR0b24jYWRvcHQtcHJlZmVyZW5jZXMtYnV0dG9uIjp7Zm9udFNpemU6IiR0ZXh0ICIrZCxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrZH0sIiYgYnV0dG9uI2Fkb3B0LXJlamVjdC1hbGwtYnV0dG9uIjp7Zm9udFNpemU6IiR0ZXh0ICIrZCxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrZH0sIiYgYnV0dG9uI2Fkb3B0LWFjY2VwdC1hbGwtYnV0dG9uIjp7Zm9udFNpemU6IiR0ZXh0ICIrZCxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrZH19KSxjYXJkUmVqZWN0QWxsTGluazpCKHthbGw6aSwuLi5iLGZvbnRTaXplOiIkdGV4dCAiK2QsZm9udFdlaWdodDoiNzAwICIrZCxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxjKSsiICIrZCxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLmJnQ29sb3IsdCxvLGMpKyIgIitkLC4uLmU/LndlYj8uY2FyZD8ucmVqZWN0QWxsTGluaywuLi5zPy53ZWI/LmNhcmQ/LnJlamVjdEFsbExpbmssIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrZCx3aWR0aDoiYXV0byAiK2Qsb3BhY2l0eToiMCAiK2R9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitkLHdpZHRoOiJhdXRvICIrZCxvcGFjaXR5OiIwICIrZH0sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxjKSsiICIrZCxiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxSLmJnQ29sb3IsdCxvLGMpKyIgIitkLC4uLmU/Lm1vYmlsZT8uY2FyZD8ucmVqZWN0QWxsTGluaywuLi5zPy5tb2JpbGU/LmNhcmQ/LnJlamVjdEFsbExpbmt9fSksY2FyZFJlamVjdEFsbEJ1dHRvbjpCKHthbGw6aSxmb250U2l6ZToiJHRleHQgIitkLGZvbnRXZWlnaHQ6IjcwMCAiK2QscGFkZGluZzoiMTBweCAzMHB4ICIrZCxib3JkZXJSYWRpdXM6IjIwcHggIitkLGN1cnNvcjoicG9pbnRlciAiK2QsdGV4dEFsaWduOiJjZW50ZXIgIitkLGNvbG9yOkQoTy53ZWIsYT9SLmJnQ29sb3I6Ui50ZXh0Q29sb3IsdCxvLGMpKyIgIitkLGJvcmRlcjphPyJub25lICIrZDpgMXB4IHNvbGlkICR7RChPLndlYixSLnRleHRDb2xvcix0LG8sYyl9IGArZCxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixhP1IucHJpbWFyeUNvbG9yOlIuYmdDb2xvcix0LG8sYykrIiAiK2QsIiY6Zm9jdXMtdmlzaWJsZSI6biYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrZCxvdXRsaW5lT2Zmc2V0OiIzcHggIitkfSwuLi5lPy53ZWI/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbiwuLi5zPy53ZWI/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbiwiJjo6YWZ0ZXIiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitkLHdpZHRoOiJhdXRvICIrZCxvcGFjaXR5OiIwICIrZH0sIiY6OmJlZm9yZSI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Qsd2lkdGg6ImF1dG8gIitkLG9wYWNpdHk6IjAgIitkfSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsYT9SLmJnQ29sb3I6Ui50ZXh0Q29sb3IsdCxvLGMpKyIgIitkLGJvcmRlcjphPyJub25lICIrZDpgMXB4IHNvbGlkICR7RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYyl9IGArZCxiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxhP1IucHJpbWFyeUNvbG9yOlIuYmdDb2xvcix0LG8sYykrIiAiK2QsLi4uZT8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxCdXR0b24sLi4ucz8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxCdXR0b259fSksY2FyZFByZWZlcmVuY2VzQnV0dG9uOkIoe2FsbDppLC4uLmIsZm9udFNpemU6IiR0ZXh0ICIrZCxmb250V2VpZ2h0OiI3MDAgIitkLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGMpKyIgIitkLGJhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQgIitkLHRleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitkLGJveFNoYWRvdzoibm9uZSAiK2QsIiY6Zm9jdXMtdmlzaWJsZSI6biYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrZCxvdXRsaW5lT2Zmc2V0OiIzcHggIitkfSwuLi5lPy53ZWI/LmNhcmQ/LnByZWZlcmVuY2VzQnV0dG9uLC4uLnM/LndlYj8uY2FyZD8ucHJlZmVyZW5jZXNCdXR0b24sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrZCx3aWR0aDoiYXV0byAiK2Qsb3BhY2l0eToiMCAiK2R9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitkLHdpZHRoOiJhdXRvICIrZCxvcGFjaXR5OiIwICIrZH0sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxjKSsiICIrZCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnByZWZlcmVuY2VzQnV0dG9uLC4uLnM/Lm1vYmlsZT8uY2FyZD8ucHJlZmVyZW5jZXNCdXR0b259fSksY2FyZEFjY2VwdEFsbEJ1dHRvbjpCKHthbGw6aSxmb250U2l6ZToiJHRleHQgIitkLGZvbnRXZWlnaHQ6IjcwMCAiK2QsYm9yZGVyOiJub25lICIrZCxjdXJzb3I6InBvaW50ZXIgIitkLGxldHRlclNwYWNpbmc6IjAgIitkLHRleHRBbGlnbjoiY2VudGVyICIrZCxib3JkZXJSYWRpdXM6IjIwcHggIitkLHBhZGRpbmc6IjEwcHggMzBweCAiK2QsY29sb3I6RChPLndlYixSLmJnQ29sb3IsdCxvLGMpKyIgIitkLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCxib3hTaGFkb3c6YDBweCAxMHB4IDI4cHggLTEycHggJHtEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxjKX0gYCtkLCImOmZvY3VzLXZpc2libGUiOm4mJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Qsb3V0bGluZU9mZnNldDoiM3B4ICIrZH0sLi4uZT8ud2ViPy5jYXJkPy5hY2NlcHRBbGxCdXR0b24sLi4ucz8ud2ViPy5jYXJkPy5hY2NlcHRBbGxCdXR0b24sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrZCx3aWR0aDoiYXV0byAiK2Qsb3BhY2l0eToiMCAiK2R9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitkLHdpZHRoOiJhdXRvICIrZCxvcGFjaXR5OiIwICIrZH0sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIuYmdDb2xvcix0LG8sYykrIiAiK2QsYmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGMpKyIgIitkLGJveFNoYWRvdzpgMHB4IDEwcHggMjhweCAtMTJweCAke0QoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGMpfSBgK2QsLi4uZT8ubW9iaWxlPy5jYXJkPy5hY2NlcHRBbGxCdXR0b24sLi4ucz8ubW9iaWxlPy5jYXJkPy5hY2NlcHRBbGxCdXR0b259fSksY2FyZERldGFpbHNCdXR0b246Qih7YWxsOmksZm9udFNpemU6IiR0ZXh0ICIrZCxjdXJzb3I6InBvaW50ZXIgIitkLG1hcmdpblRvcDoiNXB4ICIrZCxtYXJnaW5Cb3R0b206IjEwcHggIitkLGRpc3BsYXk6ImZsZXggIitkLGFsaWduSXRlbXM6ImNlbnRlciAiK2QsZ2FwOiI4cHggIitkLCImOmZvY3VzLXZpc2libGUiOm4mJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Qsb3V0bGluZU9mZnNldDoiM3B4ICIrZH19KSxjYXJkRGV0YWlsc1dyYXBwZXI6Qih7YWxsOmkscGFkZGluZzoiNHB4IDhweCAiK2QsbWFyZ2luVG9wOiIxMHB4ICIrZCxtYXJnaW5Cb3R0b206IjEwcHggIitkLGJvcmRlclJhZGl1czoiM3B4ICIrZCxiYWNrZ3JvdW5kT3BhY2l0eToiMC4yICIrZCxkaXNwbGF5OiJmbGV4ICIrZCxnYXA6IjVweCAiK2QsZmxleERpcmVjdGlvbjoiY29sdW1uICIrZCxiYWNrZ3JvdW5kOlF0KEQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGMpLC4xKSsiICIrZH0pLGNhcmREZXRhaWxzSXRlbTpCKHthbGw6aSxmb250U2l6ZToiJHRleHQgIitkLGN1cnNvcjoicG9pbnRlciAiK2QsZGlzcGxheToiYmxvY2sgIitkLHBvc2l0aW9uOiJyZWxhdGl2ZSAiK2QscGFkZGluZ0xlZnQ6IjEwcHggIitkLCImOmZvY3VzLXZpc2libGUiOm4mJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Qsb3V0bGluZU9mZnNldDoiM3B4ICIrZH0sIiY6OmJlZm9yZSI6e2NvbnRlbnQ6JyIiICcrZCxkaXNwbGF5OiJibG9jayAiK2Qsd2lkdGg6IjRweCAiK2QsaGVpZ2h0OiI0cHggIitkLGJvcmRlclJhZGl1czoiNTAlICIrZCxiYWNrZ3JvdW5kOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGMpLHBvc2l0aW9uOiJhYnNvbHV0ZSAiK2QsbGVmdDoiMHB4ICIrZCx0b3A6IjUwJSAiK2QsdHJhbnNmb3JtOiJ0cmFuc2xhdGVZKC01MCUpICIrZH0sIiY6aG92ZXIiOnt0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrZH19KSxjYXJkRGV0YWlsc0NoZXZyb246Qih7YWxsOmksYmFja2dyb3VuZDpRdChEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxjKSwuMSkrIiAiK2Qsd2lkdGg6IjMwcHggIitkLGhlaWdodDoiMzBweCAiK2QsYm9yZGVyUmFkaXVzOiI1MCUgIitkLGRpc3BsYXk6ImZsZXggIitkLGFsaWduSXRlbXM6ImNlbnRlciAiK2QsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciAiK2R9KX19LGFpPShlLHQpPT57bGV0e2NvbG9yczpvLHBvc2l0aW9uOnIsZGlzY2xhaW1lck9wdGlvbnM6aX09ZTt2YXJ7c3R5bGVzOmUsaGFzSW1wb3J0YW50Om4sdXNlQnV0dG9uc1dpdGhTYW1lQ29sb3I6YX09ZS5zdHlsZXM/P3t9O2xldHt0aGVtZTpzPSJsaWdodCIsc3R5bGVzOmwsaGFzSW1wb3J0YW50OmMsY29sb3JzOmR9PXQscD12b2lkIDA9PT1jfHxjP3ZvaWQgMD09PW58fG4/IiFpbXBvcnRhbnQiOiIiOiIiO3ZhciB0PWk/LmFjY2Vzc2liaWxpdHksbj1pPy5kaXNjbGFpbWVyQ2FyZFNoYWRvdyx1PSIhaW1wb3J0YW50Ij09PXA/InVuc2V0ICFpbXBvcnRhbnQiOiIiO2Z1bmN0aW9uIGcoKXtyZXR1cm4iYm90dG9tIj09PXI/LmNhcmR8fCJ0b3AiPT09cj8uY2FyZD8ibm9uZSAiK3A6YDFweCBzb2xpZCAke1F0KEQoTy53ZWIsUi50ZXh0Q29sb3IscyxvLGQpLC4xKX0gYCtwfXZhciBtPXtib3R0b206e2xlZnQ6IjAgIitwfSx0b3A6e2JvdHRvbToiYXV0byAiK3AsbGVmdDoiMCAiK3AsdG9wOiIwICIrcH0sbGVmdDp7Ym90dG9tOiI3NXB4ICIrcCxsZWZ0OiI3NXB4ICIrcCxib3JkZXJSYWRpdXM6IjIwcHggIitwLHdpZHRoOiIzNTBweCAiK3B9LHJpZ2h0Ontib3R0b206Ijc1cHggIitwLHJpZ2h0OiI3NXB4ICIrcCxsZWZ0OiJhdXRvICIrcCxib3JkZXJSYWRpdXM6IjIwcHggIitwLHdpZHRoOiIzNTBweCAiK3B9LGNlbnRlcjp7bWF4V2lkdGg6IjM1MHB4ICIrcCx3aWR0aDoiY2FsYygxMDB2dyAtIDQwcHgpICIrcCxtYXJnaW5MZWZ0OiJhdXRvICIrcCxtYXJnaW5SaWdodDoiYXV0byAiK3AsbGVmdDoiMCAiK3AscmlnaHQ6IjAgIitwLGJvcmRlclJhZGl1czoiMTVweCAiK3AscG9zaXRpb246ImZpeGVkICIrcCxmbGV4V3JhcDoid3JhcCAiK3B9fSxmPXtsZWZ0OntmbGV4V3JhcDoid3JhcCAiK3B9LHJpZ2h0OntmbGV4V3JhcDoid3JhcCAiK3B9LGNlbnRlcjp7ZmxleFdyYXA6IndyYXAgIitwfX0saD17Ym90dG9tOntwYWRkaW5nUmlnaHQ6IjIwcHggIitwLGRpc3BsYXk6ImZsZXggIitwLGZsZXhEaXJlY3Rpb246InJvdyAiK3AsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitwfSx0b3A6e3BhZGRpbmdSaWdodDoiMjBweCAiK3AsZGlzcGxheToiZmxleCAiK3AsZmxleERpcmVjdGlvbjoicm93ICIrcCxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK3B9LGxlZnQ6e2Rpc3BsYXk6ImZsZXggIitwLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK3AsanVzdGlmeUNvbnRlbnQ6ImluaXRpYWwgIitwfSxyaWdodDp7ZGlzcGxheToiZmxleCAiK3AsZmxleERpcmVjdGlvbjoiY29sdW1uICIrcCxqdXN0aWZ5Q29udGVudDoiaW5pdGlhbCAiK3B9LGNlbnRlcjp7ZGlzcGxheToiZmxleCAiK3AsZmxleERpcmVjdGlvbjoiY29sdW1uICIrcCxqdXN0aWZ5Q29udGVudDoiaW5pdGlhbCAiK3B9fSxiPXtib3R0b206e21pbldpZHRoOiI3MCUgIitwLG1heFdpZHRoOiI3MCUgIitwLG1pbkhlaWdodDoiMCAiK3AsbWF4SGVpZ2h0OiIxMDAlICIrcH0sdG9wOnttaW5XaWR0aDoiNzAlICIrcCxtYXhXaWR0aDoiNzAlICIrcCxtaW5IZWlnaHQ6IjAgIitwLG1heEhlaWdodDoiMTAwJSAiK3B9LGNlbnRlcjp7bWluV2lkdGg6IjEwMCUgIitwLG1heFdpZHRoOiIxMDAlICIrcCxtaW5IZWlnaHQ6IjAgIitwLG1heEhlaWdodDoiMTAwJSAiK3B9fSx4PXt0b3A6e3BhZGRpbmdSaWdodDoiMjBweCAiK3B9LGJvdHRvbTp7cGFkZGluZ1JpZ2h0OiIyMHB4ICIrcH19LHk9e2JvdHRvbTp7Z2FwOiIyMHB4ICIrcCxib3JkZXI6Im5vbmUgIitwfSx0b3A6e2dhcDoiMjBweCAiK3AsYm9yZGVyOiJub25lICIrcH0sbGVmdDp7d2lkdGg6IjEwMCUgIitwfSxyaWdodDp7d2lkdGg6IjEwMCUgIitwfX0sdz17ZmxleDoiMSAiK3AsaGVpZ2h0OiI0NHB4ICIrcCxib3JkZXI6Im5vbmUgIitwLGN1cnNvcjoicG9pbnRlciAiK3AsYmFja2dyb3VuZDoibm9uZSAiK3AsdGV4dERlY29yYXRpb246Im5vbmUgIitwLGZvbnRXZWlnaHQ6ImJvbGQgIitwLHRleHRBbGlnbjoiY2VudGVyICIrcCx3aGl0ZVNwYWNlOiJub3dyYXAgIitwfSxDPXtib3R0b206e2JvcmRlclJhZGl1czohYXx8ImxlZnQiIT09cj8uY2FyZCYmInJpZ2h0IiE9PXI/LmNhcmQ/IjRweCAiK3A6IiIsaGVpZ2h0OiIzNnB4ICIrcCxwYWRkaW5nOiIwIDMwcHggIitwfSx0b3A6e2JvcmRlclJhZGl1czohYXx8ImxlZnQiIT09cj8uY2FyZCYmInJpZ2h0IiE9PXI/LmNhcmQ/IjRweCAiK3A6IiIsaGVpZ2h0OiIzNnB4ICIrcCxwYWRkaW5nOiIwIDMwcHggIitwfX0sdj17Ym90dG9tOntwYWRkaW5nOiIwIDMwcHggIitwfSx0b3A6e3BhZGRpbmc6IjAgMzBweCAiK3B9fSxrPXt0b3A6e2xlZnQ6IjE4NXB4ICIrcCx0b3A6IjIwcHggIitwfSxib3R0b206e2xlZnQ6IjE4NXB4ICIrcCx0b3A6IjIwcHggIitwfX0sST17bGVmdDp7ZGlzcGxheToiYmxvY2sgIitwfSxyaWdodDp7ZGlzcGxheToiYmxvY2sgIitwfX0sbj1CKHtvdmVyZmxvdzoiaGlkZGVuICIrcCx3aWR0aDoiMTAwdncgIitwLHBvc2l0aW9uOiJmaXhlZCAiK3AsYm90dG9tOiIwICIrcCx1c2VyU2VsZWN0OiJub25lICIrcCx6SW5kZXg6Ijk5OTk5OTk5OTAgIitwLGJveFNpemluZzoiYm9yZGVyLWJveCAiK3AscGFkZGluZzoiMCAiK3AsZm9udEZhbWlseToiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAiK3AsYmFja2dyb3VuZDpEKE8ud2ViLFIuYmdDb2xvcixzLG8sZCkrIiAiK3AsYm94U2hhZG93Om4/IjAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSAiK3A6Im5vbmUgIitwLC4uLm1bcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5jb250YWluZXIsLi4ubD8ud2ViPy5jYXJkPy5jb250YWluZXIsIkBtb2JpbGUiOntiYWNrZ3JvdW5kOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHMsbyxkKSsiICIrcCxib3R0b206IjkwcHggIitwLHRvcDoiYXV0byAiK3AsLi4ubS5jZW50ZXIsLi4uZT8ubW9iaWxlPy5jYXJkPy5jb250YWluZXIsLi4ubD8ubW9iaWxlPy5jYXJkPy5jb250YWluZXJ9fSksbT1CKHthbGw6dSxkaXNwbGF5OiJibG9jayAiK3AsYm94U2l6aW5nOiJib3JkZXItYm94ICIrcCxoZWlnaHQ6IjEwMCUgIitwLHdpZHRoOiIxMDAlICIrcCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitwLC4uLmhbcj8uY2FyZF0sLi4uZltyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmNvbnRlbnQsLi4ubD8ud2ViPy5jYXJkPy5jb250ZW50LCJAbW9iaWxlIjp7cGFkZGluZ1JpZ2h0OiIwICIrcCwuLi5oLmNlbnRlciwuLi5lPy5tb2JpbGU/LmNhcmQ/LmNvbnRlbnQsLi4ubD8ubW9iaWxlPy5jYXJkPy5jb250ZW50fX0pLGY9Qih7YWxsOnUsYm94U2l6aW5nOiJib3JkZXItYm94ICIrcCxtaW5XaWR0aDoiMTAwJSAiK3AsbWF4V2lkdGg6IjEwMCUgIitwLHRleHRBbGlnbjoibGVmdCAiK3AsbGluZUhlaWdodDoiJHRpdGxlICIrcCxwYWRkaW5nOiIyMHB4ICIrcCwuLi5iW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8udGV4dENvbnRhaW5lciwuLi5sPy53ZWI/LmNhcmQ/LnRleHRDb250YWluZXIsIkBtb2JpbGUiOnsuLi5iLmNlbnRlciwuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRDb250YWluZXIsLi4ubD8ubW9iaWxlPy5jYXJkPy50ZXh0Q29udGFpbmVyfX0pLGg9Qih7YWxsOnUsZGlzcGxheToiZmxleCAiK3AsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitwLGFsaWduSXRlbXM6ImZsZXgtc3RhcnQgIitwLG1heFdpZHRoOiIzMDBweCAiK3AsbWFyZ2luOiIwIDAgMTBweCAiK3AscGFkZGluZzoiMCAiK3AsbGV0dGVyU3BhY2luZzoiMCAiK3AsZm9udFNpemU6IiR0aXRsZSAiK3AsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3AsIiYgZGl2Ijp7ZGlzcGxheToiZmxleCAiK3B9LC4uLnhbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy50aXRsZVJvdywuLi5sPy53ZWI/LmNhcmQ/LnRpdGxlUm93LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3AsLi4uZT8ubW9iaWxlPy5jYXJkPy50aXRsZVJvdywuLi5sPy5tb2JpbGU/LmNhcmQ/LnRpdGxlUm93fX0pLGI9Qih7YWxsOnUsbGV0dGVyU3BhY2luZzoiMCAiK3AsZm9udFNpemU6IiR0aXRsZSAiK3AsZm9udFdlaWdodDoiNzAwICIrcCxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHMsbyxkKSsiICIrcCxtYXJnaW46IjAgIitwLC4uLmU/LndlYj8uY2FyZD8udGl0bGUsLi4ubD8ud2ViPy5jYXJkPy50aXRsZSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLC4uLmU/Lm1vYmlsZT8uY2FyZD8udGl0bGUsLi4ubD8ubW9iaWxlPy5jYXJkPy50aXRsZX19KSx4PUIoeyImIHN2ZyI6e2FsbDp1LHdpZHRoOiIyMHB4ICIrcCxoZWlnaHQ6IjIwcHggIitwLGZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3AsLi4uZT8ud2ViPy5jYXJkPy53aGl0ZUxhYmVsTG9nbywuLi5sPy53ZWI/LmNhcmQ/LndoaXRlTGFiZWxMb2dvfSwiQG1vYmlsZSI6eyImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3AsLi4uZT8ubW9iaWxlPy5jYXJkPy53aGl0ZUxhYmVsTG9nbywuLi5sPy5tb2JpbGU/LmNhcmQ/LndoaXRlTGFiZWxMb2dvfX19KSxrPUIoe2FsbDp1LGN1cnNvcjoicG9pbnRlciAiK3AsdGV4dERlY29yYXRpb246Im5vbmUgIitwLGZvbnRTaXplOiIkdGV4dCAiK3AsZm9udFdlaWdodDoiNDAwcHggIitwLHdpZHRoOiI1MHB4ICIrcCx0ZXh0QWxpZ246InJpZ2h0ICIrcCx3aGl0ZVNwYWNlOiJub3dyYXAgIitwLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLC4uLmtbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5hZG9wdExpbmssLi4ubD8ud2ViPy5jYXJkPy5hZG9wdExpbmssIiY6Zm9jdXMtdmlzaWJsZSI6dCYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrcCxvdXRsaW5lT2Zmc2V0OiIzcHggIitwfSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLC4uLmU/Lm1vYmlsZT8uY2FyZD8uYWRvcHRMaW5rLC4uLmw/Lm1vYmlsZT8uY2FyZD8uYWRvcHRMaW5rfX0pLFM9Qih7YWxsOnUsZGlzcGxheToibm9uZSAiK3AsZm9udFNpemU6IiR0ZXh0ICIrcCxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHMsbyxkKSsiICIrcCwiJiBhIjp7YWxsOnUsZm9udFdlaWdodDoiYm9sZCAiK3AsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3B9LC4uLmU/LndlYj8uY2FyZD8uYWRvcHRMaW5rQWx0ZXJuYXRpdmUsLi4ubD8ud2ViPy5jYXJkPy5hZG9wdExpbmtBbHRlcm5hdGl2ZSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IscyxvLGQpKyIgIitwLCImIGEiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHMsbyxkKSsiICIrcH0sLi4uZT8ubW9iaWxlPy5jYXJkPy5hZG9wdExpbmtBbHRlcm5hdGl2ZSwuLi5sPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGlua0FsdGVybmF0aXZlfX0pLFQ9Qih7YWxsOnUsbGluZUhlaWdodDoiMS4zZW0gIitwLHBhZGRpbmc6IjAgIitwLC4uLmU/LndlYj8uY2FyZD8udGV4dHNSb3csLi4ubD8ud2ViPy5jYXJkPy50ZXh0c1JvdywiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2FyZD8udGV4dHNSb3csLi4ubD8ubW9iaWxlPy5jYXJkPy50ZXh0c1Jvd319KSxMPUIoe2FsbDp1LGZvbnRTaXplOiIkdGV4dCAiK3AsY29sb3I6RChPLndlYixSLnRleHRDb2xvcixzLG8sZCkrIiAiK3AsLi4uSVtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dDb250ZW50LC4uLmw/LndlYj8uY2FyZD8udGV4dFJvd0NvbnRlbnQsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHMsbyxkKSsiICIrcCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dDb250ZW50LC4uLmw/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0NvbnRlbnR9fSksJD1CKHthbGw6dSxmb250V2VpZ2h0OiJib2xkICIrcCxjdXJzb3I6InBvaW50ZXIgIitwLGZvbnRTaXplOiIkdGV4dCAiK3AsdGV4dERlY29yYXRpb246InVuZGVybGluZSAiK3AsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3AsIiY6Zm9jdXMtdmlzaWJsZSI6dCYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrcCxvdXRsaW5lT2Zmc2V0OiIzcHggIitwfSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5sPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rc30pO3JldHVybntjYXJkQ29udGFpbmVyOm4sY2FyZENvbnRlbnQ6bSxjYXJkVGV4dENvbnRhaW5lcjpmLGNhcmRUaXRsZVJvdzpoLGNhcmRUaXRsZTpiLGNhcmRBZG9wdExpbms6ayxjYXJkQWRvcHRMaW5rQWx0ZXJuYXRpdmU6UyxjYXJkV2hpdGVMYWJlbExvZ286eCxjYXJkVGV4dHNSb3c6VCxjYXJkVGV4dFJvd0NvbnRlbnQ6TCxjYXJkVGV4dFJvd0xpbmtzOkIoe2FsbDp1LGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLCImIHNwYW4jYWRvcHQtZGl2aXNvciI6e2FsbDp1LG1hcmdpbjoiMCAycHggIitwLHRleHREZWNvcmF0aW9uOiJub25lICIrcH0sIiYgc3BhbiI6e2FsbDp1LGZvbnRXZWlnaHQ6ImJvbGQgIitwLGZvbnRTaXplOiIkdGV4dCAiK3AsY3Vyc29yOiJwb2ludGVyICIrcCxib3JkZXI6Im5vbmUgIitwLGJhY2tncm91bmQ6Im5vbmUgIitwLG1hcmdpbjoiMCAiK3AscGFkZGluZzoiMCAiK3AsbGV0dGVyU3BhY2luZzoiMCAiK3AsdGV4dFRyYW5zZm9ybToibm9uZSAiK3AsdGV4dERlY29yYXRpb246InVuZGVybGluZSAiK3AsLi4uZT8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3MsLi4ubD8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3N9LC4uLmU/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLmw/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3AsIiYgYSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLC4uLmU/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLmw/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzfSwiJiBzcGFuIjp7Li4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3MsLi4ubD8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3N9LC4uLkkubGVmdCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5sPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rc319KSxjYXJkVGV4dExpbmtzOiQsY2FyZEJ1dHRvbnNDb250YWluZXI6Qih7YWxsOnUsZGlzcGxheToiZmxleCAiK3AsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitwLGFsaWduSXRlbXM6ImNlbnRlciAiK3AsYm9yZGVyVG9wOmAxcHggc29saWQgJHtRdChEKE8ud2ViLFIudGV4dENvbG9yLHMsbyxkKSwuMSl9IGArcCx3aWR0aDoiYXV0byAiK3AsLi4ueVtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmJ1dHRvbnNDb250YWluZXIsLi4ubD8ud2ViPy5jYXJkPy5idXR0b25zQ29udGFpbmVyLCJAbW9iaWxlIjp7Ym9yZGVyVG9wOmAxcHggc29saWQgJHtRdChEKE8ubW9iaWxlLFIudGV4dENvbG9yLHMsbyxkKSwuMSl9IGArcCxnYXA6IjAgIitwLHdpZHRoOiIxMDAlICIrcCwuLi5lPy5tb2JpbGU/LmNhcmQ/LmJ1dHRvbnNDb250YWluZXIsLi4ubD8ubW9iaWxlPy5jYXJkPy5idXR0b25zQ29udGFpbmVyfSwiJiBidXR0b24jYWRvcHQtcHJlZmVyZW5jZXMtYnV0dG9uIjp7Zm9udFNpemU6IiR0ZXh0ICIrcCxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrcH0sIiYgYnV0dG9uI2Fkb3B0LXJlamVjdC1hbGwtYnV0dG9uIjp7Zm9udFNpemU6IiR0ZXh0ICIrcCxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrcH0sIiYgYnV0dG9uI2Fkb3B0LWFjY2VwdC1hbGwtYnV0dG9uIjp7Zm9udFNpemU6IiR0ZXh0ICIrcCxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrcH19KSxjYXJkUmVqZWN0QWxsTGluazpCKHthbGw6dSwuLi53LGZvbnRTaXplOiIkdGV4dCAiK3AsZm9udFdlaWdodDoiNzAwICIrcCxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHMsbyxkKSsiICIrcCxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLmJnQ29sb3IscyxvLGQpKyIgIitwLGJvcmRlcjoibm9uZSAiK3AsYm9yZGVyUmlnaHQ6ZygpLGJveFNoYWRvdzoibm9uZSAiK3AsdGV4dERlY29yYXRpb246ImJvdHRvbSI9PT1yPy5jYXJkfHwidG9wIj09PXI/LmNhcmQ/InVuZGVybGluZSAiK3A6Im5vbmUgIitwLC4uLkNbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5yZWplY3RBbGxMaW5rLC4uLmw/LndlYj8uY2FyZD8ucmVqZWN0QWxsTGluaywiJjpmb2N1cy12aXNpYmxlIjp0JiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitwLG91dGxpbmVPZmZzZXQ6Ii0xMHB4ICIrcH0sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrcCx3aWR0aDoiYXV0byAiK3Asb3BhY2l0eToiMCAiK3B9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitwLHdpZHRoOiJhdXRvICIrcCxvcGFjaXR5OiIwICIrcH0sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHMsbyxkKSsiICIrcCxiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxSLmJnQ29sb3IscyxvLGQpKyIgIitwLGJvcmRlclJhZGl1czoiMCAiK3AsYm9yZGVyUmlnaHQ6YDFweCBzb2xpZCAke1F0KEQoTy5tb2JpbGUsUi50ZXh0Q29sb3IscyxvLGQpLC4xKX0gYCtwLGhlaWdodDoiNDRweCAiK3AscGFkZGluZzoiMCAiK3AsdGV4dERlY29yYXRpb246Im5vbmUgIitwLC4uLmU/Lm1vYmlsZT8uY2FyZD8ucmVqZWN0QWxsTGluaywuLi5sPy5tb2JpbGU/LmNhcmQ/LnJlamVjdEFsbExpbmt9fSksY2FyZFJlamVjdEFsbEJ1dHRvbjpCKHthbGw6dSwuLi53LGZvbnRTaXplOiIkdGV4dCAiK3AsZm9udFdlaWdodDoiNzAwICIrcCxjb2xvcjpEKE8ud2ViLGE/Ui5iZ0NvbG9yOlIudGV4dENvbG9yLHMsbyxkKSsiICIrcCxib3JkZXI6IWEmJigiYm90dG9tIj09PXI/LmNhcmR8fCJ0b3AiPT09cj8uY2FyZCk/YDFweCBzb2xpZCAke0QoTy53ZWIsUi50ZXh0Q29sb3IscyxvLGQpfSBgK3A6Im5vbmUgIitwLGJvcmRlclJpZ2h0OiFhfHwibGVmdCIhPT1yPy5jYXJkJiYicmlnaHQiIT09cj8uY2FyZD8iIjpgMXB4IHNvbGlkICR7UXQoRChPLndlYixSLnRleHRDb2xvcixzLG8sZCksLjIpfSBgK3AsYm94U2hhZG93OiJub25lICIrcCxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixhP1IucHJpbWFyeUNvbG9yOlIuYmdDb2xvcixzLG8sZCkrIiAiK3AsLi4uQ1tyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbiwuLi5sPy53ZWI/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbiwiJjpmb2N1cy12aXNpYmxlIjp0JiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitwLG91dGxpbmVPZmZzZXQ6Ii0xMHB4ICIrcH0sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrcCx3aWR0aDoiYXV0byAiK3Asb3BhY2l0eToiMCAiK3B9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitwLHdpZHRoOiJhdXRvICIrcCxvcGFjaXR5OiIwICIrcH0sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLGE/Ui5iZ0NvbG9yOlIudGV4dENvbG9yLHMsbyxkKSsiICIrcCxib3JkZXI6Im5vbmUgIitwLGJvcmRlclJpZ2h0OmE/YDFweCBzb2xpZCAke1F0KEQoTy53ZWIsUi50ZXh0Q29sb3IscyxvLGQpLC4yKX0gYCtwOiIiLGhlaWdodDoiNDRweCAiK3AscGFkZGluZzoiMCAiK3AsYm9yZGVyUmFkaXVzOiIwICIrcCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbiwuLi5sPy5tb2JpbGU/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbn19KSxjYXJkUHJlZmVyZW5jZXNCdXR0b246Qih7YWxsOnUsLi4udyxmb250U2l6ZToiJHRleHQgIitwLGZvbnRXZWlnaHQ6IjcwMCAiK3AsY29sb3I6RChPLndlYixSLnRleHRDb2xvcixzLG8sZCkrIiAiK3AsYm9yZGVyUmlnaHQ6ZygpLHRleHREZWNvcmF0aW9uOiJib3R0b20iPT09cj8uY2FyZHx8InRvcCI9PT1yPy5jYXJkPyJ1bmRlcmxpbmUgIitwOiJub25lICIrcCwuLi5lPy53ZWI/LmNhcmQ/LnByZWZlcmVuY2VzQnV0dG9uLC4uLmw/LndlYj8uY2FyZD8ucHJlZmVyZW5jZXNCdXR0b24sIiY6Zm9jdXMtdmlzaWJsZSI6dCYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrcCxvdXRsaW5lT2Zmc2V0OiItMTBweCAiK3B9LCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK3Asd2lkdGg6ImF1dG8gIitwLG9wYWNpdHk6IjAgIitwfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrcCx3aWR0aDoiYXV0byAiK3Asb3BhY2l0eToiMCAiK3B9LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcixzLG8sZCkrIiAiK3AsYm9yZGVyUmFkaXVzOiIwICIrcCxib3JkZXJSaWdodDpgMXB4IHNvbGlkICR7UXQoRChPLm1vYmlsZSxSLnRleHRDb2xvcixzLG8sZCksLjEpfSBgK3AsaGVpZ2h0OiI0NHB4ICIrcCxwYWRkaW5nOiIwICIrcCx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK3AsLi4uZT8ubW9iaWxlPy5jYXJkPy5wcmVmZXJlbmNlc0J1dHRvbiwuLi5sPy5tb2JpbGU/LmNhcmQ/LnByZWZlcmVuY2VzQnV0dG9ufX0pLGNhcmRBY2NlcHRBbGxCdXR0b246Qih7YWxsOnUsLi4udyxmb250U2l6ZToiJHRleHQgIitwLGZvbnRXZWlnaHQ6IjcwMCAiK3AsY29sb3I6RChPLndlYixSLmJnQ29sb3IscyxvLGQpKyIgIitwLGJhY2tncm91bmQ6RChPLndlYixSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3AsLi4uQ1tyPy5jYXJkXSwuLi52W3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8uYWNjZXB0QWxsQnV0dG9uLC4uLmw/LndlYj8uY2FyZD8uYWNjZXB0QWxsQnV0dG9uLCImOmZvY3VzLXZpc2libGUiOnQmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK3Asb3V0bGluZU9mZnNldDoiLTEwcHggIitwfSwiJjo6YWZ0ZXIiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitwLHdpZHRoOiJhdXRvICIrcCxvcGFjaXR5OiIwICIrcH0sIiY6OmJlZm9yZSI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK3Asd2lkdGg6ImF1dG8gIitwLG9wYWNpdHk6IjAgIitwfSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHMsbyxkKSsiICIrcCxiYWNrZ3JvdW5kOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLGJvcmRlclJhZGl1czoiMCAiK3AsaGVpZ2h0OiI0NHB4ICIrcCxwYWRkaW5nOiIwICIrcCwuLi5lPy5tb2JpbGU/LmNhcmQ/LmFjY2VwdEFsbEJ1dHRvbiwuLi5sPy5tb2JpbGU/LmNhcmQ/LmFjY2VwdEFsbEJ1dHRvbn19KSxjYXJkRGV0YWlsc0J1dHRvbjpCKHthbGw6dSxmb250U2l6ZToiJHRleHQgIitwLGN1cnNvcjoicG9pbnRlciAiK3AsbWFyZ2luVG9wOiI1cHggIitwLG1hcmdpbkJvdHRvbToiMTBweCAiK3AsZGlzcGxheToiZmxleCAiK3AsYWxpZ25JdGVtczoiY2VudGVyICIrcCxnYXA6IjhweCAiK3B9KSxjYXJkRGV0YWlsc1dyYXBwZXI6Qih7YWxsOnUscGFkZGluZzoiNHB4IDhweCAiK3AsbWFyZ2luVG9wOiIxMHB4ICIrcCxtYXJnaW5Cb3R0b206IjEwcHggIitwLGJvcmRlclJhZGl1czoiM3B4ICIrcCxiYWNrZ3JvdW5kT3BhY2l0eToiMC4yICIrcCxkaXNwbGF5OiJmbGV4ICIrcCxnYXA6IjVweCAiK3AsZmxleERpcmVjdGlvbjoiY29sdW1uICIrcCxiYWNrZ3JvdW5kOlF0KEQoTy53ZWIsUi50ZXh0Q29sb3IscyxvLGQpLC4xKSsiICIrcH0pLGNhcmREZXRhaWxzSXRlbTpCKHthbGw6dSxmb250U2l6ZToiJHRleHQgIitwLGN1cnNvcjoicG9pbnRlciAiK3AsZGlzcGxheToiYmxvY2sgIitwLHBvc2l0aW9uOiJyZWxhdGl2ZSAiK3AscGFkZGluZ0xlZnQ6IjEwcHggIitwLCImOjpiZWZvcmUiOntjb250ZW50OiciIiAnK3AsZGlzcGxheToiYmxvY2sgIitwLHdpZHRoOiI0cHggIitwLGhlaWdodDoiNHB4ICIrcCxib3JkZXJSYWRpdXM6IjUwJSAiK3AsYmFja2dyb3VuZDpEKE8ud2ViLFIudGV4dENvbG9yLHMsbyxkKSxwb3NpdGlvbjoiYWJzb2x1dGUgIitwLGxlZnQ6IjBweCAiK3AsdG9wOiI1MCUgIitwLHRyYW5zZm9ybToidHJhbnNsYXRlWSgtNTAlKSAiK3B9LCImOmhvdmVyIjp7dGV4dERlY29yYXRpb246InVuZGVybGluZSAiK3B9fSksY2FyZERldGFpbHNDaGV2cm9uOkIoe2FsbDp1LGJvcmRlcjpgMXB4IHNvbGlkICR7RChPLndlYixSLnRleHRDb2xvcixzLG8sZCl9IGArcCx3aWR0aDoiMThweCAiK3AsaGVpZ2h0OiIxOHB4ICIrcCxib3JkZXJSYWRpdXM6IjUwJSAiK3AsZGlzcGxheToiZmxleCAiK3AsYWxpZ25JdGVtczoiY2VudGVyICIrcCxqdXN0aWZ5Q29udGVudDoiY2VudGVyICIrcH0pfX0sc2k9KGUsdCk9Pnt2YXJ7Y29sb3JzOm8scG9zaXRpb246cixkaXNjbGFpbWVyT3B0aW9uczppfT1lLHtzdHlsZXM6ZSxoYXNJbXBvcnRhbnQ6bn09ZS5zdHlsZXM/P3t9LHt0aGVtZTp0PSJsaWdodCIsc3R5bGVzOmEsaGFzSW1wb3J0YW50OnMsY29sb3JzOmx9PXQ7bGV0IGM9dm9pZCAwPT09c3x8cz92b2lkIDA9PT1ufHxuPyIhaW1wb3J0YW50IjoiIjoiIjt2YXIgcz1pPy5hY2Nlc3NpYmlsaXR5LG49aT8uZGlzY2xhaW1lckNhcmRTaGFkb3csaT0iIWltcG9ydGFudCI9PT1jPyJ1bnNldCAhaW1wb3J0YW50IjoiIixkPXtib3R0b206e2xlZnQ6IjAgIitjfSx0b3A6e2JvdHRvbToiYXV0byAiK2MsbGVmdDoiMCAiK2MsdG9wOiIwICIrY30sbGVmdDp7Ym90dG9tOiI3NXB4ICIrYyxsZWZ0OiI3NXB4ICIrYyxib3JkZXJSYWRpdXM6IjIwcHggIitjLHdpZHRoOiJtaW4tY29udGVudCAiK2N9LHJpZ2h0Ontib3R0b206Ijc1cHggIitjLHJpZ2h0OiI3NXB4ICIrYyxsZWZ0OiJhdXRvICIrYyxib3JkZXJSYWRpdXM6IjIwcHggIitjLHdpZHRoOiJtaW4tY29udGVudCAiK2N9LGNlbnRlcjp7bWF4V2lkdGg6IjM1MHB4ICIrYyx3aWR0aDoiY2FsYygxMDB2dyAtIDQwcHgpICIrYyxtYXJnaW5MZWZ0OiJhdXRvICIrYyxtYXJnaW5SaWdodDoiYXV0byAiK2MsbGVmdDoiMCAiK2MscmlnaHQ6IjAgIitjLGJvcmRlclJhZGl1czoiMTVweCAiK2MscG9zaXRpb246ImZpeGVkICIrYyxmbGV4V3JhcDoid3JhcCAiK2N9fSxwPXtsZWZ0OntmbGV4V3JhcDoid3JhcCAiK2N9LHJpZ2h0OntmbGV4V3JhcDoid3JhcCAiK2N9LGNlbnRlcjp7ZmxleFdyYXA6IndyYXAgIitjfX0sdT17bGVmdDp7cGFkZGluZzoiMjBweCAiK2N9LHJpZ2h0OntwYWRkaW5nOiIyMHB4ICIrY30sYm90dG9tOntkaXNwbGF5OiJmbGV4ICIrYyxmbGV4RGlyZWN0aW9uOiJyb3cgIitjLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrYyxnYXA6IjQ0cHggIitjLHBhZGRpbmc6IjMwcHggMTE1cHggIitjfSx0b3A6e2Rpc3BsYXk6ImZsZXggIitjLGZsZXhEaXJlY3Rpb246InJvdyAiK2MsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitjLGdhcDoiNDRweCAiK2MscGFkZGluZzoiMzBweCAxMTVweCAiK2N9LGNlbnRlcjp7ZGlzcGxheToiYmxvY2sgIitjLHBhZGRpbmc6IjMwcHggMTVweCAiK2N9LHRhYmxldDp7ZmxleERpcmVjdGlvbjoiY29sdW1uICIrYyxwYWRkaW5nOiIzMHB4IDE1cHggIitjLGdhcDoiMzBweCAiK2MsYWxpZ25JdGVtczoiZW5kICIrY319LGc9e3RvcDp7cGFkZGluZ1JpZ2h0OiIyMHB4ICIrY30sYm90dG9tOntwYWRkaW5nUmlnaHQ6IjIwcHggIitjfX0sbT17Ym90dG9tOntnYXA6IjMwcHggIitjfSx0b3A6e2dhcDoiMzBweCAiK2N9LGxlZnQ6e21hcmdpblRvcDoiMjJweCAiK2Msd2lkdGg6IjEwMCUgIitjLGdhcDoiMzBweCAiK2N9LHJpZ2h0OnttYXJnaW5Ub3A6IjIycHggIitjLHdpZHRoOiIxMDAlICIrYyxnYXA6IjMwcHggIitjfSxjZW50ZXI6e2dyaWRUZW1wbGF0ZUFyZWFzOicicmVqZWN0IiAicHJlZmVyZW5jZSIgImFjY2VwdCIgICcrYyxnYXA6IjIwcHggIitjLHdpZHRoOiIxMDAlICIrYyxtYXJnaW5Ub3A6IjEwcHggIitjfX0sZj17Y3Vyc29yOiJwb2ludGVyICIrYyx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2MsZm9udFdlaWdodDoiMzAwICIrYyxmb250U2l6ZToiMTZweCAiK2MsbGluZUhlaWdodDoiMjBweCAiK2MsdGV4dEFsaWduOiJjZW50ZXIgIitjLHBhZGRpbmc6IjEwcHggMTVweCAiK2MsYm9yZGVyUmFkaXVzOiIzcHggIitjLGJhY2tncm91bmQ6InRyYW5zcGFyZW50ICIrYyx0cmFuc2l0aW9uOiJhbGwgMC4ycyBlYXNlLWluLW91dCAiK2N9LGg9e3RvcDp7d2hpdGVTcGFjZToibm93cmFwICIrY30sYm90dG9tOnt3aGl0ZVNwYWNlOiJub3dyYXAgIitjfX0sYj17dG9wOntsZWZ0OiIxODVweCAiK2MsdG9wOiIyMHB4ICIrY30sYm90dG9tOntsZWZ0OiIxODVweCAiK2MsdG9wOiIyMHB4ICIrY319LHg9e2xlZnQ6e2Rpc3BsYXk6ImJsb2NrICIrY30scmlnaHQ6e2Rpc3BsYXk6ImJsb2NrICIrY319LG49Qih7b3ZlcmZsb3c6ImhpZGRlbiAiK2Msd2lkdGg6IjEwMHZ3ICIrYyxwb3NpdGlvbjoiZml4ZWQgIitjLGJvdHRvbToiMCAiK2MsdXNlclNlbGVjdDoibm9uZSAiK2MsekluZGV4OiI5OTk5OTk5OTkwICIrYyxib3hTaXppbmc6ImJvcmRlci1ib3ggIitjLGZvbnRGYW1pbHk6IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIitjLGJhY2tncm91bmQ6RChPLndlYixSLmJnQ29sb3IsdCxvLGwpKyIgIitjLGJveFNoYWRvdzpuPyIwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMikgIitjOiJub25lICIrYywuLi5kW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8uY29udGFpbmVyLC4uLmE/LndlYj8uY2FyZD8uY29udGFpbmVyLCJAbW9iaWxlIjp7YmFja2dyb3VuZDpEKE8ubW9iaWxlLFIuYmdDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5jYXJkPy5jb250YWluZXIsLi4uYT8ubW9iaWxlPy5jYXJkPy5jb250YWluZXJ9fSksZD1CKHthbGw6aSxkaXNwbGF5OiJibG9jayAiK2MsYm94U2l6aW5nOiJib3JkZXItYm94ICIrYyxoZWlnaHQ6IjEwMCUgIitjLHdpZHRoOiIxMDAlICIrYyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitjLC4uLnVbcj8uY2FyZF0sLi4ucFtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmNvbnRlbnQsLi4uYT8ud2ViPy5jYXJkPy5jb250ZW50LCJAbW9iaWxlIjp7Li4udS5jZW50ZXIsLi4uZT8ubW9iaWxlPy5jYXJkPy5jb250ZW50LC4uLmE/Lm1vYmlsZT8uY2FyZD8uY29udGVudH0sIkB0YWJsZXQiOnsuLi51LnRhYmxldH19KSxwPUIoe2FsbDppLGJveFNpemluZzoiYm9yZGVyLWJveCAiK2MsdGV4dEFsaWduOiJsZWZ0ICIrYyxsaW5lSGVpZ2h0OiIkdGl0bGUgIitjLC4uLmU/LndlYj8uY2FyZD8udGV4dENvbnRhaW5lciwuLi5hPy53ZWI/LmNhcmQ/LnRleHRDb250YWluZXIsIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRDb250YWluZXIsLi4uYT8ubW9iaWxlPy5jYXJkPy50ZXh0Q29udGFpbmVyfX0pLHU9Qih7YWxsOmksZGlzcGxheToiZmxleCAiK2MsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitjLGFsaWduSXRlbXM6ImZsZXgtc3RhcnQgIitjLG1heFdpZHRoOiIzMDBweCAiK2MsbWFyZ2luOiIwIDAgMTBweCAiK2MsZm9udFNpemU6IjE2cHggIitjLGxpbmVIZWlnaHQ6IjIxcHggIitjLCImIGRpdiI6e2Rpc3BsYXk6ImZsZXggIitjfSwuLi5nW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8udGl0bGVSb3csLi4uYT8ud2ViPy5jYXJkPy50aXRsZVJvdywiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2FyZD8udGl0bGVSb3csLi4uYT8ubW9iaWxlPy5jYXJkPy50aXRsZVJvd319KSxnPUIoe2FsbDppLG1hcmdpbjoiMCAiK2MsZm9udFNpemU6IjE2cHggIitjLGxpbmVIZWlnaHQ6IjIxcHggIitjLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLC4uLmU/LndlYj8uY2FyZD8udGl0bGUsLi4uYT8ud2ViPy5jYXJkPy50aXRsZSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLC4uLmU/Lm1vYmlsZT8uY2FyZD8udGl0bGUsLi4uYT8ubW9iaWxlPy5jYXJkPy50aXRsZX19KSx5PUIoeyImIHN2ZyI6e2FsbDppLHdpZHRoOiIyMHB4ICIrYyxoZWlnaHQ6IjIwcHggIitjLGZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ud2ViPy5jYXJkPy53aGl0ZUxhYmVsTG9nbywuLi5hPy53ZWI/LmNhcmQ/LndoaXRlTGFiZWxMb2dvfSwiQG1vYmlsZSI6eyImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5jYXJkPy53aGl0ZUxhYmVsTG9nbywuLi5hPy5tb2JpbGU/LmNhcmQ/LndoaXRlTGFiZWxMb2dvfX19KSxiPUIoe2FsbDppLGN1cnNvcjoicG9pbnRlciAiK2MsdGV4dERlY29yYXRpb246Im5vbmUgIitjLGZvbnRTaXplOiIxNnB4ICIrYyxsaW5lSGVpZ2h0OiIyMXB4ICIrYyxmb250V2VpZ2h0OiI0MDBweCAiK2Msd2lkdGg6IjUwcHggIitjLHRleHRBbGlnbjoibGVmdCAiK2Msd2hpdGVTcGFjZToibm93cmFwICIrYyxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywuLi5iW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8uYWRvcHRMaW5rLC4uLmE/LndlYj8uY2FyZD8uYWRvcHRMaW5rLCImOmZvY3VzLXZpc2libGUiOnMmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Msb3V0bGluZU9mZnNldDoiM3B4ICIrY30sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywuLi5lPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGluaywuLi5hPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGlua319KSx3PUIoe2FsbDppLGRpc3BsYXk6Im5vbmUgIitjLGZvbnRTaXplOiIxNnB4ICIrYyxsaW5lSGVpZ2h0OiIyMXB4ICIrYyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYywiJiBhIjp7YWxsOmksY3Vyc29yOiJwb2ludGVyICIrYyxmb250V2VpZ2h0OiJib2xkICIrYyxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrY30sLi4uZT8ud2ViPy5jYXJkPy5hZG9wdExpbmtBbHRlcm5hdGl2ZSwuLi5hPy53ZWI/LmNhcmQ/LmFkb3B0TGlua0FsdGVybmF0aXZlLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsIiYgYSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjfSwuLi5lPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGlua0FsdGVybmF0aXZlLC4uLmE/Lm1vYmlsZT8uY2FyZD8uYWRvcHRMaW5rQWx0ZXJuYXRpdmV9fSksQz1CKHthbGw6aSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRzUm93LC4uLmE/LndlYj8uY2FyZD8udGV4dHNSb3csIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRzUm93LC4uLmE/Lm1vYmlsZT8uY2FyZD8udGV4dHNSb3d9fSksdj1CKHthbGw6aSxmb250U2l6ZToiMTZweCAiK2MsbGluZUhlaWdodDoiMjFweCAiK2MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsLi4ueFtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dDb250ZW50LC4uLmE/LndlYj8uY2FyZD8udGV4dFJvd0NvbnRlbnQsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYywuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dDb250ZW50LC4uLmE/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0NvbnRlbnR9fSksaz1CKHthbGw6aSxmb250U2l6ZToiMTZweCAiK2MsbGluZUhlaWdodDoiMjFweCAiK2MsdGV4dERlY29yYXRpb246InVuZGVybGluZSAiK2MsY3Vyc29yOiJwb2ludGVyICIrYyxmb250V2VpZ2h0OiJib2xkICIrYyxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywiJjpmb2N1cy12aXNpYmxlIjpzJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitjLG91dGxpbmVPZmZzZXQ6IjNweCAiK2N9LC4uLmU/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLmE/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzfSk7cmV0dXJue2NhcmRDb250YWluZXI6bixjYXJkQ29udGVudDpkLGNhcmRUZXh0Q29udGFpbmVyOnAsY2FyZFRpdGxlUm93OnUsY2FyZFRpdGxlOmcsY2FyZEFkb3B0TGluazpiLGNhcmRBZG9wdExpbmtBbHRlcm5hdGl2ZTp3LGNhcmRXaGl0ZUxhYmVsTG9nbzp5LGNhcmRUZXh0c1JvdzpDLGNhcmRUZXh0Um93Q29udGVudDp2LGNhcmRUZXh0Um93TGlua3M6Qih7YWxsOmksZm9udFNpemU6IjE2cHggIitjLGxpbmVIZWlnaHQ6IjIxcHggIitjLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLCImIHNwYW4jYWRvcHQtZGl2aXNvciI6e2FsbDppLG1hcmdpbjoiMCAycHggIitjLHRleHREZWNvcmF0aW9uOiJub25lICIrY30sIiYgc3BhbiI6e2FsbDppLGN1cnNvcjoicG9pbnRlciAiK2MsZm9udFdlaWdodDoiYm9sZCAiK2MsZm9udFNpemU6IjE2cHggIitjLGxpbmVIZWlnaHQ6IjIxcHggIitjLHRleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitjLC4uLmU/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLmE/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzfSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5hPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rcywiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLCImIGEiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5hPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rc30sIiYgc3BhbiI6ey4uLmU/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLmE/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzfSwuLi54LmxlZnQsLi4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3MsLi4uYT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3N9fSksY2FyZFRleHRMaW5rczprLGNhcmRCdXR0b25zQ29udGFpbmVyOkIoe2FsbDppLGRpc3BsYXk6ImdyaWQgIitjLGdyaWRUZW1wbGF0ZUFyZWFzOicicmVqZWN0IHByZWZlcmVuY2UgYWNjZXB0IiAnK2MsLi4ubVtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmJ1dHRvbnNDb250YWluZXIsLi4uYT8ud2ViPy5jYXJkPy5idXR0b25zQ29udGFpbmVyLCJAbW9iaWxlIjp7Li4ubS5jZW50ZXIsLi4uZT8ubW9iaWxlPy5jYXJkPy5idXR0b25zQ29udGFpbmVyLC4uLmE/Lm1vYmlsZT8uY2FyZD8uYnV0dG9uc0NvbnRhaW5lcn0sIkBzbSI6e2dhcDoiNnB4ICIrY30sIkBtZCI6e2dhcDoiMTBweCAiK2N9LCImIGJ1dHRvbiNhZG9wdC1wcmVmZXJlbmNlcy1idXR0b24iOntmb250U2l6ZToiJHRleHQgIitjLGZvbnRGYW1pbHk6IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIitjfSwiJiBidXR0b24jYWRvcHQtcmVqZWN0LWFsbC1idXR0b24iOntmb250U2l6ZToiJHRleHQgIitjLGZvbnRGYW1pbHk6IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIitjfSwiJiBidXR0b24jYWRvcHQtYWNjZXB0LWFsbC1idXR0b24iOntmb250U2l6ZToiJHRleHQgIitjLGZvbnRGYW1pbHk6IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIitjfX0pLGNhcmRSZWplY3RBbGxMaW5rOkIoe2FsbDppLC4uLmYsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsYm9yZGVyOmAxcHggc29saWQgJHtEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKX0gYCtjLC4uLmhbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5yZWplY3RBbGxMaW5rLC4uLmE/LndlYj8uY2FyZD8ucmVqZWN0QWxsTGluayxncmlkQXJlYToicmVqZWN0ICIrYywiJjpmb2N1cy12aXNpYmxlIjpzJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitjLG91dGxpbmVPZmZzZXQ6IjNweCAiK2N9LCImOmhvdmVyIjp7Y29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjfSwiJjo6YWZ0ZXIiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitjLHdpZHRoOiJhdXRvICIrYyxvcGFjaXR5OiIwICIrY30sIiY6OmJlZm9yZSI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Msd2lkdGg6ImF1dG8gIitjLG9wYWNpdHk6IjAgIitjfSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLGJvcmRlcjpgMXB4IHNvbGlkICR7RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCl9IGArYywuLi5lPy5tb2JpbGU/LmNhcmQ/LnJlamVjdEFsbExpbmssLi4uYT8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxMaW5rfX0pLGNhcmRSZWplY3RBbGxCdXR0b246Qih7YWxsOmksLi4uZixjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYyxib3JkZXI6YDFweCBzb2xpZCAke0QoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpfSBgK2MsLi4uaFtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbiwuLi5hPy53ZWI/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbixncmlkQXJlYToicmVqZWN0ICIrYywiJjpmb2N1cy12aXNpYmxlIjpzJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitjLG91dGxpbmVPZmZzZXQ6IjNweCAiK2N9LCImOmhvdmVyIjp7Y29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjfSwiJjo6YWZ0ZXIiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitjLHdpZHRoOiJhdXRvICIrYyxvcGFjaXR5OiIwICIrY30sIiY6OmJlZm9yZSI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Msd2lkdGg6ImF1dG8gIitjLG9wYWNpdHk6IjAgIitjfSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLGJvcmRlcjpgMXB4IHNvbGlkICR7RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCl9IGArYywuLi5lPy5tb2JpbGU/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbiwuLi5hPy5tb2JpbGU/LmNhcmQ/LnJlamVjdEFsbEJ1dHRvbn19KSxjYXJkUHJlZmVyZW5jZXNCdXR0b246Qih7YWxsOmksLi4uZixjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYyxib3JkZXI6YDFweCBzb2xpZCAke0QoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpfSBgK2MsIiY6Zm9jdXMtdmlzaWJsZSI6cyYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrYyxvdXRsaW5lT2Zmc2V0OiIzcHggIitjfSwiJjpob3ZlciI6e2NvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrY30sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrYyx3aWR0aDoiYXV0byAiK2Msb3BhY2l0eToiMCAiK2N9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitjLHdpZHRoOiJhdXRvICIrYyxvcGFjaXR5OiIwICIrY30sZ3JpZEFyZWE6InByZWZlcmVuY2UgIitjLC4uLmhbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5wcmVmZXJlbmNlc0J1dHRvbiwuLi5hPy53ZWI/LmNhcmQ/LnByZWZlcmVuY2VzQnV0dG9uLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsYm9yZGVyOmAxcHggc29saWQgJHtEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKX0gYCtjLC4uLmU/Lm1vYmlsZT8uY2FyZD8ucHJlZmVyZW5jZXNCdXR0b24sLi4uYT8ubW9iaWxlPy5jYXJkPy5wcmVmZXJlbmNlc0J1dHRvbn19KSxjYXJkQWNjZXB0QWxsQnV0dG9uOkIoe2FsbDppLC4uLmYsYm9yZGVyOiIxcHggc29saWQgdHJhbnNwYXJlbnQgIitjLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLGJhY2tncm91bmQ6SnQoImJvdHRvbSIsRChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkpKyIgIitjLC4uLmhbcj8uY2FyZF0sZ3JpZEFyZWE6ImFjY2VwdCAiK2MsIiY6Zm9jdXMtdmlzaWJsZSI6cyYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrYyxvdXRsaW5lT2Zmc2V0OiIzcHggIitjfSwiJjpob3ZlciI6e2ZpbHRlcjoiYnJpZ2h0bmVzcygwLjgpICIrY30sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrYyx3aWR0aDoiYXV0byAiK2Msb3BhY2l0eToiMCAiK2N9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitjLHdpZHRoOiJhdXRvICIrYyxvcGFjaXR5OiIwICIrY30sLi4uZT8ud2ViPy5jYXJkPy5hY2NlcHRBbGxCdXR0b24sLi4uYT8ud2ViPy5jYXJkPy5hY2NlcHRBbGxCdXR0b24sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYyxiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5jYXJkPy5hY2NlcHRBbGxCdXR0b24sLi4uYT8ubW9iaWxlPy5jYXJkPy5hY2NlcHRBbGxCdXR0b259fSksY2FyZERldGFpbHNCdXR0b246Qih7YWxsOmksZm9udFNpemU6IiR0ZXh0ICIrYyxjdXJzb3I6InBvaW50ZXIgIitjLG1hcmdpblRvcDoiNXB4ICIrYyxtYXJnaW5Cb3R0b206IjEwcHggIitjLGRpc3BsYXk6ImZsZXggIitjLGFsaWduSXRlbXM6ImNlbnRlciAiK2MsZ2FwOiI4cHggIitjfSksY2FyZERldGFpbHNXcmFwcGVyOkIoe2FsbDppLHBhZGRpbmc6IjRweCA4cHggIitjLG1hcmdpblRvcDoiMTBweCAiK2MsbWFyZ2luQm90dG9tOiIxMHB4ICIrYyxib3JkZXJSYWRpdXM6IjNweCAiK2MsYmFja2dyb3VuZE9wYWNpdHk6IjAuMiAiK2MsZGlzcGxheToiZmxleCAiK2MsZ2FwOiI1cHggIitjLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK2MsYmFja2dyb3VuZDpRdChEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSwuMSkrIiAiK2N9KSxjYXJkRGV0YWlsc0l0ZW06Qih7YWxsOmksZm9udFNpemU6IiR0ZXh0ICIrYyxjdXJzb3I6InBvaW50ZXIgIitjLGRpc3BsYXk6ImJsb2NrICIrYyxwb3NpdGlvbjoicmVsYXRpdmUgIitjLHBhZGRpbmdMZWZ0OiIxMHB4ICIrYywiJjo6YmVmb3JlIjp7Y29udGVudDonIiIgJytjLGRpc3BsYXk6ImJsb2NrICIrYyx3aWR0aDoiNHB4ICIrYyxoZWlnaHQ6IjRweCAiK2MsYm9yZGVyUmFkaXVzOiI1MCUgIitjLGJhY2tncm91bmQ6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkscG9zaXRpb246ImFic29sdXRlICIrYyxsZWZ0OiIwcHggIitjLHRvcDoiNTAlICIrYyx0cmFuc2Zvcm06InRyYW5zbGF0ZVkoLTUwJSkgIitjfSwiJjpob3ZlciI6e3RleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitjfX0pLGNhcmREZXRhaWxzQ2hldnJvbjpCKHthbGw6aSxib3JkZXI6YDFweCBzb2xpZCAke0QoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpfSBgK2Msd2lkdGg6IjE4cHggIitjLGhlaWdodDoiMThweCAiK2MsYm9yZGVyUmFkaXVzOiI1MCUgIitjLGRpc3BsYXk6ImZsZXggIitjLGFsaWduSXRlbXM6ImNlbnRlciAiK2MsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciAiK2N9KX19LGxpPXt1bml0T2ZUaW1lOnt5ZWFyOiLQs9C+0LTQuNC90LAiLHllYXJzOiLQs9C+0LTQuNC90LgiLGhvdXI6ItGH0LDRgSIsaG91cnM6ItGH0LDRgdCwIixkYXk6ItC00LXQvSIsZGF5czoi0LTQvdC4IixtaW51dGU6ItC80LjQvdGD0YLQsCIsbWludXRlczoi0LzQuNC90YPRgtC4IixzZWNvbmQ6ItCy0YLQvtGA0L4iLHNlY29uZHM6ItGB0LXQutGD0L3QtNC4Iixtb3VudGg6ItC80LXRgdC10YYiLG1vdW50aHM6ItC80LXRgdC10YbQsCJ9LHNlc3Npb246ItCh0LXRgdC40Y8iLGNsZWFuQ29va2llOiLQqdGA0LDQutC90LXRgtC1INGC0YPQuiwg0LfQsCDQtNCwINC90LDRg9GH0LjRgtC1INC60LDQuiDQtNCwINC40LfRh9C40YHRgtC40YLQtSDQsdC40YHQutCy0LjRgtC60LjRgtC1INC4INC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQvdCwIExvY2FsU3RvcmFnZSDQvdCwINCy0LDRiNC40Y8g0LHRgNCw0YPQt9GK0YAiLGRldmVsb3BlZEJ5OiLRgNCw0LfRgNCw0LHQvtGC0LXQvSDQvtGCIixpbGx1c3RyYXRpb25zOiLQmNC70Y7RgdGC0YDQsNGG0LjQuCJ9LGNpPXt1bml0T2ZUaW1lOntob3VyOiJob2RpbmEiLGhvdXJzOiJob2RpbiIseWVhcjoicm9rIix5ZWFyczoibGV0IixkYXk6ImRlbiIsZGF5czoiZG7DrSIsbWludXRlOiJtaW51dGEiLG1pbnV0ZXM6Im1pbnV0IixzZWNvbmQ6ImRydWjDvSIsc2Vjb25kczoic2VrdW5keSIsbW91bnRoOiJNxJtzw61jIixtb3VudGhzOiJtxJtzw61jZSJ9LHNlc3Npb246Ilphc2Vkw6Fuw60iLGNsZWFuQ29va2llOiJLbGlrbnV0w61tIHNlbSBzZSBkb3p2w610ZSwgamFrIHZ5bWF6YXQgc291Ym9yeSBjb29raWUgYSBpbmZvcm1hY2UgTG9jYWxTdG9yYWdlIHZhxaFlaG8gcHJvaGzDrcW+ZcSNZSIsZGV2ZWxvcGVkQnk6InZ5dmludXTDvSBzcG9sZcSNbm9zdMOtIixpbGx1c3RyYXRpb25zOiJJbHVzdHJhY2UifSxkaT17dW5pdE9mVGltZTp7aG91cjoidGltZSIsaG91cnM6InRpbWVyIix5ZWFyOiLDpXIiLHllYXJzOiJmbGVyZSDDpXIiLGRheToiZGFnIixkYXlzOiJkYWdlIixtaW51dGU6Im1pbnV0IixtaW51dGVzOiJtaW51dHRlciIsc2Vjb25kOiJzZWt1bmQiLHNlY29uZHM6InNla3VuZGVyIixtb3VudGg6Im3DpW5lZCIsbW91bnRoczoibcOlbmVkZXIifSxzZXNzaW9uOiJTZXNzaW9uIixjbGVhbkNvb2tpZToiS2xpayBoZXIgZm9yIGF0IGzDpnJlLCBodm9yZGFuIGR1IHJ5ZGRlciBkaW4gYnJvd3NlcnMgTG9jYWxTdG9yYWdlLWNvb2tpZXMgb2cgb3BseXNuaW5nZXIiLGRldmVsb3BlZEJ5OiJ1ZHZpa2xldCBhZiIsaWxsdXN0cmF0aW9uczoiSWxsdXN0cmF0aW9uZXIifSxwaT17dW5pdE9mVGltZTp7aG91cjoiU3R1bmRlIixob3VyczoiU3RkLiIseWVhcjoiSmFociIseWVhcnM6IkphaHJlIixkYXk6IlRhZyIsZGF5czoiVGFnZSIsbWludXRlOiJNaW51dGUiLG1pbnV0ZXM6Ik1pbnV0ZW4iLHNlY29uZDoiU2VrdW5kZSIsc2Vjb25kczoiU2VrdW5kZW4iLG1vdW50aDoiTW9uYXQiLG1vdW50aHM6Ik1vbmF0ZSJ9LHNlc3Npb246IlNpdHp1bmciLGNsZWFuQ29va2llOiJLbGlja2VuIFNpZSBoaWVyLCB1bSB6dSBlcmZhaHJlbiwgd2llIFNpZSBkaWUgTG9jYWxTdG9yYWdlLUNvb2tpZXMgdW5kIC1JbmZvcm1hdGlvbmVuIElocmVzIEJyb3dzZXJzIGzDtnNjaGVuIixkZXZlbG9wZWRCeToiZW50d2lja2VsdCB2b24iLGlsbHVzdHJhdGlvbnM6IklsbHVzdHJhdGlvbmVuIn0sdWk9e3VuaXRPZlRpbWU6e2hvdXI6Is+Oz4HOsSIsaG91cnM6Is+Oz4HOtc+CIix5ZWFyOiLOrc+Ezr/PgiIseWVhcnM6Is+Hz4HPjM69zrnOsSIsZGF5OiLOt868zq3Pgc6xIixkYXlzOiLOt868zq3Pgc61z4IiLG1pbnV0ZToizrvOtc+Az4TPjCIsbWludXRlczoizrvOtc+Az4TOrCIsc2Vjb25kOiLOtM61z43PhM61z4HOv8+CIixzZWNvbmRzOiLOtM61z4XPhM61z4HPjM67zrXPgM+EzrEiLG1vdW50aDoizrzOrs69zrHPgiIsbW91bnRoczoizrzOrs69zrXPgiJ9LHNlc3Npb246IlNlc3Npb24iLGNsZWFuQ29va2llOiLOms6szr3PhM61IM66zrvOuc66IM61zrTPjiDOs865zrEgzr3OsSDOvM6szrjOtc+EzrUgz4DPjs+CIM69zrEgzrTOuc6xzrPPgc6sz4jOtc+EzrUgz4TOsSBjb29raWUgzrrOsc65IM+EzrnPgiDPgM67zrfPgc6/z4bOv8+Bzq/Otc+CIExvY2FsU3RvcmFnZSDPhM6/z4Ugz4DPgc6/zrPPgc6szrzOvM6xz4TOv8+CIM+AzrXPgc65zq7Os863z4POrs+CIM+DzrHPgiIsZGV2ZWxvcGVkQnk6Is+Azr/PhSDOsc69zrHPgM+Ez43Ph864zrfOus61IM6xz4DPjCDPhM63zr0iLGlsbHVzdHJhdGlvbnM6Is6VzrnOus6/zr3Ov86zz4HOsc+Gzq7Pg861zrnPgiJ9LGdpPXt1bml0T2ZUaW1lOntob3VyOiJob3VyIixob3VyczoiaG91cnMiLHllYXI6InllYXIiLHllYXJzOiJ5ZWFycyIsZGF5OiJkYXkiLGRheXM6ImRheXMiLG1pbnV0ZToibWludXRlIixtaW51dGVzOiJtaW51dGVzIixzZWNvbmQ6InNlY29uZCIsc2Vjb25kczoic2Vjb25kcyIsbW91bnRoOiJtb250aCIsbW91bnRoczoibW9udGhzIn0sc2Vzc2lvbjoiU2Vzc2lvbiIsY2xlYW5Db29raWU6IkNsaWNrIGhlcmUgdG8gbGVhcm4gaG93IHRvIGJsb2NrIG9yIGRlbGV0ZSBjb29raWVzIHVzaW5nIHlvdXIgSW50ZXJuZXQgYnJvd3NlciBzZXR0aW5ncyIsZGV2ZWxvcGVkQnk6IkRldmVsb3BlZCBieSIsaWxsdXN0cmF0aW9uczoiSWxsdXN0cmF0aW9ucyJ9LG1pPXt1bml0T2ZUaW1lOntob3VyOiJob3JhIixob3VyczoiaG9yYXMiLHllYXI6ImHDsW8iLHllYXJzOiJhw7FvcyIsZGF5OiJkw61hIixkYXlzOiJkw61hcyIsbWludXRlOiJtaW51dG8iLG1pbnV0ZXM6Im1pbnV0b3MiLHNlY29uZDoic2VndW5kbyIsc2Vjb25kczoic2VndW5kb3MiLG1vdW50aDoibWVzIixtb3VudGhzOiJtZXNlcyJ9LHNlc3Npb246IlNlc2nDs24iLGNsZWFuQ29va2llOiJIYWdhIGNsaWMgYXF1w60gcGFyYSBzYWJlciBjw7NtbyBib3JyYXIgbGEgaW5mb3JtYWNpw7NuIHkgbGFzIGNvb2tpZXMgZGUgTG9jYWxTdG9yYWdlIGRlIHN1IG5hdmVnYWRvciIsZGV2ZWxvcGVkQnk6IkRlc2Fycm9sbGFkbyBwb3IiLGlsbHVzdHJhdGlvbnM6IklsdXN0cmFjaW9uZXMifSxmaT17dW5pdE9mVGltZTp7aG91cjoidHVuZCIsaG91cnM6InR1bmRpIix5ZWFyOiJhYXN0YSIseWVhcnM6ImFhc3RhZCIsZGF5OiJww6RldiIsZGF5czoiZGF5cyIsbWludXRlOiJtaW51dCIsbWludXRlczoibWludXRpZCIsc2Vjb25kOiJ0ZWluZSIsc2Vjb25kczoic2VrdW5kaXQiLG1vdW50aDoia3V1Iixtb3VudGhzOiJrdXVkIn0sc2Vzc2lvbjoic2VhbnNzIixjbGVhbkNvb2tpZToiS2zDtXBzYWtlIHNpaW4sIGV0IHNhYWRhIHRlYXZldCBzZWxsZSBrb2h0YSwga3VpZGFzIGt1c3R1dGFkYSBvbWEgYnJhdXNlcmkgTG9jYWxTdG9yYWdlJ2kga8O8cHNpc2VkIGphIHRlYXZlIixkZXZlbG9wZWRCeToiVsOkbGphIHTDtsO2dGF0dWQiLGlsbHVzdHJhdGlvbnM6IklsbHVzdHJhdHNpb29uaWQifSxoaT17dW5pdE9mVGltZTp7aG91cjoidHVubmluIixob3VyczoidHVudGlhIix5ZWFyOiJ2dW9zaSIseWVhcnM6InllYXJzIixkYXk6InDDpGl2w6QiLGRheXM6ImRheXMiLG1pbnV0ZToibWludXV0dGkiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZDoidG9pbmVuIixzZWNvbmRzOiJzZWt1bnRpYSIsbW91bnRoOiJrdXVrYXVzaSIsbW91bnRoczoia3V1a2F1c2lhIn0sc2Vzc2lvbjoiU2Vzc2lvbiIsY2xlYW5Db29raWU6Ik5hcHNhdXRhIHTDpHTDpCBzYWFkYWtzZXNpIGxpc8OkdGlldG9qYSBzZWxhaW1lc2kgTG9jYWxTdG9yYWdlLWV2w6RzdGVpZGVuIGphIC10aWV0b2plbiBwb2lzdGFtaXNlc3RhIixkZXZlbG9wZWRCeToiS2VoaXR0w6Rqw6QiLGlsbHVzdHJhdGlvbnM6Ikt1dml0dWtzZXQifSxiaT17dW5pdE9mVGltZTp7aG91cjoiaGV1cmUiLGhvdXJzOiJoZXVyZXMiLHllYXI6ImFubsOpZSIseWVhcnM6ImFubsOpZXMiLGRheToiam91ciIsZGF5czoiam91cnMiLG1pbnV0ZToibWludXRlIixtaW51dGVzOiJtaW51dGVzIixzZWNvbmQ6ImRldXhpw6htZSIsc2Vjb25kczoic2Vjb25kZXMiLG1vdW50aDoibW9pcyIsbW91bnRoczoibW9pcyJ9LHNlc3Npb246IlNlc3Npb24iLGNsZWFuQ29va2llOiJDbGlxdWV6IGljaSBwb3VyIHNhdm9pciBjb21tZW50IGVmZmFjZXIgbGVzIGNvb2tpZXMgZXQgaW5mb3JtYXRpb25zIExvY2FsU3RvcmFnZSBkZSB2b3RyZSBuYXZpZ2F0ZXVyIixkZXZlbG9wZWRCeToiRMOpdmVsb3Bww6kgcGFyIixpbGx1c3RyYXRpb25zOiJJbGx1c3RyYXRpb25zIn0seGk9e3VuaXRPZlRpbWU6e2hvdXI6InVhaXIiLGhvdXJzOiJ1YWlyIGFuIGNobG9pZyIseWVhcjoiYmxpYWluIix5ZWFyczoiYmxpYW50YSIsZGF5OiJsw6EiLGRheXM6ImxhZXRoYW50YSIsbWludXRlOiJuw7NpbcOpYWQiLG1pbnV0ZXM6Im7Ds2ltw6lhZCIsc2Vjb25kOiJkYXJhIixzZWNvbmRzOiJzb2ljaW5kw60iLG1vdW50aDoibcOtIixtb3VudGhzOiJtw61vbm5hIn0sc2Vzc2lvbjoiU2Vpc2nDum4iLGNsZWFuQ29va2llOiJDbGljZcOhaWwgYW5zZW8gY2h1biBmb2dobGFpbSBjb25hcyBmaWFuw6FpbiBhZ3VzIGZhaXNuw6lpcyBMb2NhbFN0b3JhZ2UgZG8gYmhyYWJoc8OhbGHDrSBhIGdobGFuYWRoIixkZXZlbG9wZWRCeToiQXJuYSBmaG9yYmFpcnQgYWciLGlsbHVzdHJhdGlvbnM6IsONb21ow6FubmEifSx5aT17dW5pdE9mVGltZTp7aG91cjoic2F0Iixob3Vyczoic2F0aSIseWVhcjoiZ29kaW5hIix5ZWFyczoiZ29kaW5lIixkYXk6ImRhbiIsZGF5czoiZGFuaSIsbWludXRlOiJtaW51dGEiLG1pbnV0ZXM6Im1pbnV0ZSIsc2Vjb25kOiJkcnVnaSIsc2Vjb25kczoic2VrdW5kZSIsbW91bnRoOiJtamVzZWMiLG1vdW50aHM6Im1qZXNlY2kifSxzZXNzaW9uOiJTZXNpamEiLGNsZWFuQ29va2llOiJLbGlrbml0ZSBvdmRqZSBkYSBiaXN0ZSBzYXpuYWxpIGtha28gaXpicmlzYXRpIGtvbGHEjWnEh2UgaSBpbmZvcm1hY2lqZSBMb2NhbFN0b3JhZ2UgdmHFoWVnIHByZWdsZWRuaWthIixkZXZlbG9wZWRCeToiUmF6dmlvIixpbGx1c3RyYXRpb25zOiJJbGx1c3p0csOhY2nDs2sifSx3aT17dW5pdE9mVGltZTp7aG91cjoiw7NyYSIsaG91cnM6IsOzcsOhayIseWVhcjoiw6l2Iix5ZWFyczoieWVhcnMiLGRheToibmFwIixkYXlzOiJkYXlzIixtaW51dGU6InBlcmMiLG1pbnV0ZXM6InBlcmMiLHNlY29uZDoibcOhc29kaWsiLHNlY29uZHM6Im3DoXNvZHBlcmMiLG1vdW50aDoiaMOzbmFwIixtb3VudGhzOiJow7NuYXBvayJ9LHNlc3Npb246IlNlc3Npb24iLGNsZWFuQ29va2llOiJJZGUga2F0dGludHZhIG1lZ3R1ZGhhdGphLCBob2d5YW4gdMO2csO2bGhldGkgYsO2bmfDqXN6xZFqZSBMb2NhbFN0b3JhZ2UgY29va2llLWphaXQgw6lzIGFkYXRhaXQiLGRldmVsb3BlZEJ5OiJGZWpsZXN6dMWRamU6IixpbGx1c3RyYXRpb25zOiJJbGx1c3RyYXppb25pIn0sQ2k9e3VuaXRPZlRpbWU6e2hvdXI6Im9yYSIsaG91cnM6Im9yZSIseWVhcjoiYW5ubyIseWVhcnM6ImFubmkiLGRheToiZ2lvcm5vIixkYXlzOiJnaW9ybmkiLG1pbnV0ZToibWludXRvIixtaW51dGVzOiJtaW51dGkiLHNlY29uZDoic2Vjb25kbyIsc2Vjb25kczoic2Vjb25kaSIsbW91bnRoOiJtZXNlIixtb3VudGhzOiJtZXNpIn0sc2Vzc2lvbjoic2Vzc2lvbmUiLGNsZWFuQ29va2llOiJGYXJlIGNsaWMgcXVpIHBlciBzYXBlcmUgY29tZSBjYW5jZWxsYXJlIGkgY29va2llIGUgbGUgaW5mb3JtYXppb25pIGRpIExvY2FsU3RvcmFnZSBkZWwgYnJvd3NlciIsZGV2ZWxvcGVkQnk6IlN2aWx1cHBhdG8gZGEiLGlsbHVzdHJhdGlvbnM6IklsbHVzdHJhY2lqb3MifSx2aT17dW5pdE9mVGltZTp7aG91cjoidmFsYW5kxIUiLGhvdXJzOiJ2YWxhbmTFsyIseWVhcjoieWVhciIseWVhcnM6Im1ldGFpIixkYXk6ImRpZW5hIixkYXlzOiJkaWVub3MiLG1pbnV0ZToibWludXRlIixtaW51dGVzOiJtaW51dGVzIixzZWNvbmQ6ImFudHJhc2lzIixzZWNvbmRzOiJzZWt1bmTEl3MiLG1vdW50aDoibcSXbnVvIixtb3VudGhzOiJtxJduZXNpYWkifSxzZXNzaW9uOiJTZXNpamEiLGNsZWFuQ29va2llOiJTcHVzdGVsxJdraXRlIMSNaWEsIGthZCBzdcW+aW5vdHVtxJd0ZSwga2FpcCBpxaF2YWx5dGkgbmFyxaF5a2zEl3MgTG9jYWxTdG9yYWdlIHNsYXB1a3VzIGlyIGluZm9ybWFjaWrEhSIsZGV2ZWxvcGVkQnk6IlN1a8WrcsSXIixpbGx1c3RyYXRpb25zOiJJbGx1c3RyYWNpam9zIn0sa2k9e3VuaXRPZlRpbWU6e2hvdXI6InN0dW5kYSIsaG91cnM6InN0dW5kYXMiLHllYXI6ImdhZHMiLHllYXJzOiJnYWRpIixkYXk6ImRpZW5hIixkYXlzOiJkaWVuYXMiLG1pbnV0ZToibWluxat0ZSIsbWludXRlczoibWluxat0ZXMiLHNlY29uZDoib3RyYWlzIixzZWNvbmRzOiJzZWt1bmRlcyIsbW91bnRoOiJtxJNuZXNpcyIsbW91bnRoczoibcSTbmXFoWkifSxzZXNzaW9uOiJTZXNpamEiLGNsZWFuQ29va2llOiJOb2tsaWvFocS3aW5pZXQgxaFlaXQsIGxhaSB1enppbsSBdHUsIGvEgSBub3TEq3LEq3QgcMSBcmzFq2twcm9ncmFtbWFzIExvY2FsU3RvcmFnZSBzxKtrZmFpbHVzIHVuIGluZm9ybcSBY2lqdSIsZGV2ZWxvcGVkQnk6Ikl6c3RyxIFkxIFqYSIsaWxsdXN0cmF0aW9uczoiSWx1c3RyxIFjaWphcyJ9LElpPXt1bml0T2ZUaW1lOntob3VyOiJzaWVnxKdhIixob3Vyczoic2lnxKdhdCIseWVhcjoic2VuYSIseWVhcnM6InNuaW4iLGRheToianVtIixkYXlzOiJqaWVtIixtaW51dGU6Im1pbnV0YSIsbWludXRlczoibWludXRpIixzZWNvbmQ6Iml0LXRpZW5pIixzZWNvbmRzOiJzZWtvbmRpIixtb3VudGg6InhhaGFyIixtb3VudGhzOiJ4aHVyIn0sc2Vzc2lvbjoiU2Vzc2pvbmkiLGNsZWFuQ29va2llOiJJa2tsaWtramEgaGF3biBiaWV4IHRpdGfEp2FsbGVtIGtpZiB0bmXEp8SnaSBsLWNvb2tpZXMgdSBsLWluZm9ybWF6empvbmkgdGFsLUxvY2FsU3RvcmFnZSB0YWwtYnJvd3NlciB0aWVnxKdlayIsZGV2ZWxvcGVkQnk6IsW7dmlsdXBwYXQgbWlubiIsaWxsdXN0cmF0aW9uczoiSWxsdW1pbmF6empvbmlqaWV0In0sU2k9e3VuaXRPZlRpbWU6e2hvdXI6InV1ciIsaG91cnM6InV1ciIseWVhcjoiamFhciIseWVhcnM6ImphcmVuIixkYXk6ImRhZyIsZGF5czoiZGFnZW4iLG1pbnV0ZToibWludXV0IixtaW51dGVzOiJtaW51dGVuIixzZWNvbmQ6InR3ZWVkZSIsc2Vjb25kczoic2Vjb25kZW4iLG1vdW50aDoibWFhbmQiLG1vdW50aHM6Im1hYW5kZW4ifSxzZXNzaW9uOiJzZXNzaWUiLGNsZWFuQ29va2llOiJLbGlrIGhpZXIgdm9vciBtZWVyIGluZm9ybWF0aWUgb3ZlciBoZXQgd2lzc2VuIHZhbiBkZSBMb2NhbFN0b3JhZ2UtY29va2llcyBlbiAtaW5mb3JtYXRpZSB2YW4gdXcgYnJvd3NlciIsZGV2ZWxvcGVkQnk6Ik9udHdpa2tlbGQgZG9vciIsaWxsdXN0cmF0aW9uczoiSWxsdXN0cmF0aWVzIn0sVGk9e3VuaXRPZlRpbWU6e2hvdXI6ImdvZHppbmEiLGhvdXJzOiJnb2R6aW55Iix5ZWFyOiJyb2siLHllYXJzOiJsYXRhIixkYXk6ImR6aWXFhCIsZGF5czoiZG5pIixtaW51dGU6Im1pbnV0YSIsbWludXRlczoibWludXR5IixzZWNvbmQ6ImRydWdpIixzZWNvbmRzOiJzZWt1bmR5Iixtb3VudGg6Im1pZXNpxIVjIixtb3VudGhzOiJtaWVzacSFY2UifSxzZXNzaW9uOiJzZXNqYSIsY2xlYW5Db29raWU6IktsaWtuaWogdHV0YWosIGFieSBkb3dpZWR6aWXEhyBzacSZLCBqYWsgd3ljennFm2NpxIcgcGxpa2kgY29va2llIGkgaW5mb3JtYWNqZSBMb2NhbFN0b3JhZ2UgcHJ6ZWdsxIVkYXJraSIsZGV2ZWxvcGVkQnk6Ik9wcmFjb3dhbnkgcHJ6ZXoiLGlsbHVzdHJhdGlvbnM6IklsdXN0cmFjamUifSxMaT17dW5pdE9mVGltZTp7aG91cjoiaG9yYSIsaG91cnM6ImhvcmFzIix5ZWFyOiJhbm8iLHllYXJzOiJhbm9zIixkYXk6ImRpYSIsZGF5czoiZGlhcyIsbWludXRlOiJtaW51dG8iLG1pbnV0ZXM6Im1pbnV0b3MiLHNlY29uZDoic2VndW5kbyIsc2Vjb25kczoic2VndW5kb3MiLG1vdW50aDoibcOqcyIsbW91bnRoczoibWVzZXMifSxzZXNzaW9uOiJTZXNzw6NvIixjbGVhbkNvb2tpZToiQ2xpcXVlIGFxdWkgcGFyYSBzYWJlciBjb21vIGJsb3F1ZWFyIG91IGFwYWdhciBvcyBjb29raWVzIHBlbGFzIGNvbmZpZ3VyYcOnw7VlcyBkbyBuYXZlZ2Fkb3IgZGUgaW50ZXJuZXQiLGRldmVsb3BlZEJ5OiJEZXNlbnZvbHZpZG8gcG9yIixpbGx1c3RyYXRpb25zOiJJbHVzdHJhw6fDtWVzIn0sJGk9e3VuaXRPZlRpbWU6e2hvdXI6Im9yYSIsaG91cnM6Im9yZSIseWVhcjoiYW4iLHllYXJzOiJhbmkiLGRheToiemkiLGRheXM6InppbGUiLG1pbnV0ZToibWludXQiLG1pbnV0ZXM6Im1pbnV0ZSIsc2Vjb25kOiJhbCBkb2lsZWEiLHNlY29uZHM6InNlY3VuZGUiLG1vdW50aDoibHVuYSIsbW91bnRoczoibHVuaSJ9LHNlc3Npb246IlNlc2l1bmUiLGNsZWFuQ29va2llOiJGYWNlyJtpIGNsaWMgYWljaSBwZW50cnUgYSBhZmxhIGN1bSBzxIMgyJl0ZXJnZcibaSBjb29raWUtdXJpbGUgyJlpIGluZm9ybWHIm2lpbGUgTG9jYWxTdG9yYWdlIGFsZSBicm93c2VydWx1aSBkdnMiLGRldmVsb3BlZEJ5OiJEZXp2b2x0YXQgZGUiLGlsbHVzdHJhdGlvbnM6IklsdXN0cmHIm2lpIn0sQWk9e3VuaXRPZlRpbWU6e2hvdXI6ImhvZGluYSIsaG91cnM6ImhvZGlueSIseWVhcjoicm9rIix5ZWFyczoicm9reSIsZGF5OiJkZcWIIixkYXlzOiJkbmkiLG1pbnV0ZToibWluw7p0eSIsbWludXRlczoibWludXRlcyIsc2Vjb25kOiJkcnVow70iLHNlY29uZHM6InNla3VuZHkiLG1vdW50aDoibWVzaWFjIixtb3VudGhzOiJtZXNpYWNlIn0sc2Vzc2lvbjoicmVsw6FjaWEiLGNsZWFuQ29va2llOiJLbGlrbnV0w61tIHNlbSBzYSBkb3p2aWV0ZSwgYWtvIHZ5bWF6YcWlIHPDumJvcnkgY29va2llIGEgaW5mb3Jtw6FjaWUgTG9jYWxTdG9yYWdlIHbDocWhaG8gcHJlaGxpYWRhxI1hIixkZXZlbG9wZWRCeToiVnl2aW51dMO9IHNwb2xvxI1ub3PFpW91IixpbGx1c3RyYXRpb25zOiJJbHVzdHLDoWNpZSJ9LEVpPXt1bml0T2ZUaW1lOntob3VyOiJ0aW1tZSIsaG91cnM6InRpbW1hciIseWVhcjoiw6VyIix5ZWFyczoiw6VyIixkYXk6ImRhZyIsZGF5czoiZGF5cyIsbWludXRlOiJtaW51dGUiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZDoic2Vjb25kIixzZWNvbmRzOiJzZWt1bmRlciIsbW91bnRoOiJtw6VuYWQiLG1vdW50aHM6Im3DpW5hZGVyIn0sc2Vzc2lvbjoiU2Vzc2lvbiIsY2xlYW5Db29raWU6IktsaWNrYSBow6RyIGbDtnIgYXR0IGzDpHJhIGRpZyBodXIgZHUgcmVuc2FyIGRpbiB3ZWJibMOkc2FyZXMgTG9jYWxTdG9yYWdlLWNvb2tpZXMgb2NoIGluZm9ybWF0aW9uIixkZXZlbG9wZWRCeToiVXR2ZWNrbGFkIGF2IixpbGx1c3RyYXRpb25zOiJJbGx1c3RyYXRpb25lciJ9LFJpPXt1bml0T2ZUaW1lOntob3VyOiLmmYLplpMiLGhvdXJzOiLmmYLplpMiLHllYXI6IuW5tCIseWVhcnM6IuW5tCIsZGF5OiLml6UiLGRheXM6IuaXpSIsbWludXRlOiLliIYiLG1pbnV0ZXM6IuWIhiIsc2Vjb25kOiLnp5IiLHNlY29uZHM6IuenkiIsbW91bnRoOiLmnIgiLG1vdW50aHM6IuaciCJ9LHNlc3Npb246IuOCu+ODg+OCt+ODp+ODsyIsY2xlYW5Db29raWU6IuOCpOODs+OCv+ODvOODjeODg+ODiOODluODqeOCpuOCtuOBruioreWumuOBp+OCr+ODg+OCreODvOOCkuODluODreODg+OCr+OBvuOBn+OBr+WJiumZpOOBmeOCi+aWueazleOBq+OBpOOBhOOBpuOBr+OAgeOBk+OBk+OCkuOCr+ODquODg+OCr+OBl+OBpuOBj+OBoOOBleOBhCIsZGV2ZWxvcGVkQnk6IumWi+eZuuiAhSIsaWxsdXN0cmF0aW9uczoi44Kk44Op44K544OIIn0sT2k9e3VuaXRPZlRpbWU6e2hvdXI6IuCkmOCkguCkn+CkviIsaG91cnM6IuCkmOCkguCkn+ClhyIseWVhcjoi4KS44KS+4KSyIix5ZWFyczoi4KS44KS+4KSyIixkYXk6IuCkpuCkv+CkqCIsZGF5czoi4KSm4KS/4KSoIixtaW51dGU6IuCkruCkv+CkqOCknyIsbWludXRlczoi4KSu4KS/4KSo4KSfIixzZWNvbmQ6IuCkuOClh+CkleCkguCkoSIsc2Vjb25kczoi4KS44KWH4KSV4KSC4KShIixtb3VudGg6IuCkruCkueClgOCkqOCkviIsbW91bnRoczoi4KSu4KS54KWA4KSo4KWHIn0sc2Vzc2lvbjoi4KS44KSk4KWN4KSwIixjbGVhbkNvb2tpZToi4KSv4KS54KS+4KSCIOCkleCljeCksuCkv+CklSDgpJXgpLDgpYfgpIIg4KSk4KS+4KSV4KS/IOCkhuCkqiDgpIfgpILgpJ/gpLDgpKjgpYfgpJ8g4KSs4KWN4KSw4KS+4KSJ4KSc4KS84KSwIOCkleClgCDgpLjgpYfgpJ/gpL/gpILgpJfgpY3gpLgg4KSV4KWHIOCkruCkvuCkp+CljeCkr+CkriDgpLjgpYcg4KSV4KWB4KSV4KWA4KSc4KS8IOCkleCliyDgpIXgpLXgpLDgpYvgpKfgpL/gpKQg4KSv4KS+IOCkueCkn+CkviDgpLjgpJXgpYfgpIIiLGRldmVsb3BlZEJ5OiLgpKbgpY3gpLXgpL7gpLDgpL4g4KS14KS/4KSV4KS44KS/4KSkIixpbGx1c3RyYXRpb25zOiLgpJrgpL/gpKTgpY3gpLDgpKMifSxEaT17dW5pdE9mVGltZTp7aG91cjoi5bCP5pe2Iixob3Vyczoi5bCP5pe2Iix5ZWFyOiLlubQiLHllYXJzOiLlubQiLGRheToi5aSpIixkYXlzOiLlpKkiLG1pbnV0ZToi5YiG6ZKfIixtaW51dGVzOiLliIbpkp8iLHNlY29uZDoi56eSIixzZWNvbmRzOiLnp5IiLG1vdW50aDoi5pyIIixtb3VudGhzOiLmnIgifSxzZXNzaW9uOiLkvJror50iLGNsZWFuQ29va2llOiLngrnlh7vov5nph4zkuobop6PlpoLkvZXpgJrov4fkupLogZTnvZHmtY/op4jlmajnmoTorr7nva7mnaXpmLvmraLmiJbliKDpmaRDb29raWUiLGRldmVsb3BlZEJ5OiLlvIDlj5HogIUiLGlsbHVzdHJhdGlvbnM6IuaPkuWbviJ9LEJpPXt1bml0T2ZUaW1lOntob3VyOiLYs9in2LnYqSIsaG91cnM6Itiz2KfYudin2KoiLHllYXI6Itiz2YbYqSIseWVhcnM6Itiz2YbZiNin2KoiLGRheToi2YrZiNmFIixkYXlzOiLYo9mK2KfZhSIsbWludXRlOiLYr9mC2YrZgtipIixtaW51dGVzOiLYr9mC2KfYptmCIixzZWNvbmQ6Itir2KfZhtmK2KkiLHNlY29uZHM6Itir2YjYp9mG2YoiLG1vdW50aDoi2LTZh9ixIixtb3VudGhzOiLYtNmH2YjYsSJ9LHNlc3Npb246Itis2YTYs9ipIixjbGVhbkNvb2tpZToi2KfZhtmC2LEg2YfZhtinINmE2YXYudix2YHYqSDZg9mK2YHZitipINit2LjYsSDYo9mIINit2LDZgSDYp9mE2YPZiNmD2YrYsiDZhdmGINil2LnYr9in2K/Yp9iqINmF2KrYtdmB2K0g2KfZhNmI2YrYqCIsZGV2ZWxvcGVkQnk6Itiq2YUg2KrYt9mI2YrYsdmHINio2YjYp9iz2LfYqSIsaWxsdXN0cmF0aW9uczoi2LHYs9mI2YUg2KrZiNi22YrYrdmK2KkifSxQaT17dW5pdE9mVGltZTp7aG91cjoiaG9yYSIsaG91cnM6ImhvcmFzIix5ZWFyOiJhbm8iLHllYXJzOiJhbm9zIixkYXk6ImRpYSIsZGF5czoiZGlhcyIsbWludXRlOiJtaW51dG8iLG1pbnV0ZXM6Im1pbnV0b3MiLHNlY29uZDoic2VndW5kbyIsc2Vjb25kczoic2VndW5kb3MiLG1vdW50aDoibcOqcyIsbW91bnRoczoibWVzZXMifSxzZXNzaW9uOiJTZXNzw6NvIixjbGVhbkNvb2tpZToiQ2xpcXVlIGFxdWkgcGFyYSBzYWJlciBjb21vIGJsb3F1ZWFyIG91IGFwYWdhciBvcyBjb29raWVzIHBlbGFzIGNvbmZpZ3VyYcOnw7VlcyBkbyBuYXZlZ2Fkb3IgZGUgaW50ZXJuZXQiLGRldmVsb3BlZEJ5OiJEZXNlbnZvbHZpZG8gcG9yIixpbGx1c3RyYXRpb25zOiJJbHVzdHJhw6fDtWVzIn0sX2k9e3VuaXRPZlRpbWU6e2hvdXI6ImhvdXIiLGhvdXJzOiJob3VycyIseWVhcjoieWVhciIseWVhcnM6InllYXJzIixkYXk6ImRheSIsZGF5czoiZGF5cyIsbWludXRlOiJtaW51dGUiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZDoic2Vjb25kIixzZWNvbmRzOiJzZWNvbmRzIixtb3VudGg6Im1vbnRoIixtb3VudGhzOiJtb250aHMifSxzZXNzaW9uOiJTZXNzaW9uIixjbGVhbkNvb2tpZToiQ2xpY2sgaGVyZSB0byBsZWFybiBob3cgdG8gYmxvY2sgb3IgZGVsZXRlIGNvb2tpZXMgdGhyb3VnaCB5b3VyIGludGVybmV0IGJyb3dzZXIgc2V0dGluZ3MiLGRldmVsb3BlZEJ5OiJEZXZlbG9wZWQgYnkiLGlsbHVzdHJhdGlvbnM6IklsbHVzdHJhdGlvbnMifSxqaT17dW5pdE9mVGltZTp7aG91cjoiaG9yYSIsaG91cnM6ImhvcmFzIix5ZWFyOiJhw7FvIix5ZWFyczoiYcOxb3MiLGRheToiZMOtYSIsZGF5czoiZMOtYXMiLG1pbnV0ZToibWludXRvIixtaW51dGVzOiJtaW51dG9zIixzZWNvbmQ6InNlZ3VuZG8iLHNlY29uZHM6InNlZ3VuZG9zIixtb3VudGg6Im1lcyIsbW91bnRoczoibWVzZXMifSxzZXNzaW9uOiJTZXNpw7NuIixjbGVhbkNvb2tpZToiSGF6IGNsaWMgYXF1w60gcGFyYSBzYWJlciBjw7NtbyBibG9xdWVhciBvIGVsaW1pbmFyIGxhcyBjb29raWVzIGEgdHJhdsOpcyBkZSBsYSBjb25maWd1cmFjacOzbiBkZSB0dSBuYXZlZ2Fkb3IgZGUgaW50ZXJuZXQiLGRldmVsb3BlZEJ5OiJEZXNhcnJvbGxhZG8gcG9yIixpbGx1c3RyYXRpb25zOiJJbHVzdHJhY2lvbmVzIn0sTmk9e3VuaXRPZlRpbWU6e2hvdXI6IuWwj+aZgiIsaG91cnM6IuWwj+aZgiIseWVhcjoi5bm0Iix5ZWFyczoi5bm0IixkYXk6IuWkqSIsZGF5czoi5aSpIixtaW51dGU6IuWIhumQmCIsbWludXRlczoi5YiG6ZCYIixzZWNvbmQ6IuenkiIsc2Vjb25kczoi56eSIixtb3VudGg6IuaciCIsbW91bnRoczoi5pyIIn0sc2Vzc2lvbjoi5pyD6KmxIixjbGVhbkNvb2tpZToi6bue5pOK5q2k6JmV5LqG6Kej5aaC5L2V6YCa6YGO5LqS6IGv57ay54CP6Ka95Zmo6Kit572u6Zi75q2i5oiW5Yiq6ZmkY29va2llIixkZXZlbG9wZWRCeToi55SxLi4u6ZaL55m8IixpbGx1c3RyYXRpb25zOiLmj5LlnJYifTt2YXIgVmk9e2JnOmxpLGNzOmNpLGRhOmRpLGRlOnBpLGVsOnVpLGVuOmdpLGVzOm1pLGV0OmZpLGZpOmhpLGZyOmJpLGdhOnhpLGhyOnlpLGh1OndpLGl0OkNpLGx0OnZpLGx2OmtpLG10OklpLG5sOlNpLHBsOlRpLHB0OkxpLHJvOiRpLHNrOkFpLHN2OkVpLGphOlJpLHpoOkRpLGhpOk9pLGFyOkJpLCJwdC1QVCI6UGksImVuLUdCIjpfaSwiZXMtTEEiOmppLCJ6aC1UVyI6Tml9O2Z1bmN0aW9uIE1pKGUpe2xldCBvLHIsaSxuO3JldHVybntjKCl7bz1iKCJzdmciKSxyPWIoImciKSxtZShpPWIoInBhdGgiKSwiZCIsIm0xMjEuMywzNC42Yy0xLjYtMS42LTQuMi0xLjYtNS44LDBsLTUxLDUxLjEtNTEuMS01MS4xYy0xLjYtMS42LTQuMi0xLjYtNS44LDAtMS42LDEuNi0xLjYsNC4yXHJcbiAgICAgIDAsNS44bDUzLjksNTMuOWMwLjgsMC44IDEuOCwxLjIgMi45LDEuMiAxLDAgMi4xLTAuNFxyXG4gICAgICAyLjktMS4ybDUzLjktNTMuOWMxLjctMS42IDEuNy00LjIgMC4xLTUuOHoiKSx4KHIsImFuaW1hdGlvbiIsIm5vbmUiLDEpLHgociwidHJhbnNmb3JtLW9yaWdpbiIsInVuc2V0IiwxKSxtZShvLCJ4bWxucyIsImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiksbWUobywidmlld0JveCIsIjAgMCAxMjkgMTI5IiksbWUobywid2lkdGgiLGVbMF0pLG1lKG8sImhlaWdodCIsZVswXSksbWUobywieG1sbnM6eGxpbmsiLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIikseChvLCJ0cmFuc2l0aW9uIiwidHJhbnNmb3JtIDAuM3MgZWFzZSIpLG1lKG8sInRyYW5zZm9ybSIsbj1gcm90YXRlKCR7ZVsxXT8xODA6MH0pYCl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKSxzZShyLGkpfSxwKGUsW3RdKXsxJnQmJm1lKG8sIndpZHRoIixlWzBdKSwxJnQmJm1lKG8sImhlaWdodCIsZVswXSksMiZ0JiZuIT09KG49YHJvdGF0ZSgke2VbMV0/MTgwOjB9KWApJiZtZShvLCJ0cmFuc2Zvcm0iLG4pfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiB6aShlLHQsbyl7bGV0e3NpemU6cj0iOHB4In09dCx7cm90YXRlOmk9ITF9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJzaXplImluIGUmJm8oMCxyPWUuc2l6ZSksInJvdGF0ZSJpbiBlJiZvKDEsaT1lLnJvdGF0ZSl9LFtyLGldfWNsYXNzIEZpIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLHppLE1pLHIse3NpemU6MCxyb3RhdGU6MX0pfX1mdW5jdGlvbiBVaShlKXtsZXQgbyxyPWVbMF0/LnRleHRzPy50aXRsZXM/LmNhcmQrIiIsaTtyZXR1cm57Yygpe289ZGUoImgzIiksaT1wZShyKSxtZShvLCJpZCIsImNvb2tpZS1iYW5uZXItdGl0bGUiKSxtZShvLCJjbGFzcyIsZVsxNV0oKSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxpKX0scChlLHQpezEmdFswXSYmciE9PShyPWVbMF0/LnRleHRzPy50aXRsZXM/LmNhcmQrIiIpJiZmZShpLHIpfSxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gV2koZSl7bGV0IG8scixpO3JldHVybntjKCl7bz1kZSgiYSIpLG1lKHI9ZGUoImRpdiIpLCJjbGFzcyIsZVsxNl0oKSksbWUociwiaWQiLCJ3aGl0ZWxhYmVsSWNvbklkIiksbWUobywiaHJlZiIsaT1lWzBdPy53aGl0ZWxhYmVsPy5saW5rKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpfSxwKGUsdCl7MSZ0WzBdJiZpIT09KGk9ZVswXT8ud2hpdGVsYWJlbD8ubGluaykmJm1lKG8sImhyZWYiLGkpfSxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gSGkoZSl7bGV0IG8scixpO3JldHVybntjKCl7bz1kZSgiYSIpLHI9cGUoIkFkT3B0IiksbWUobywiaHJlZiIsaT1YdChlWzBdLCJtYWluIikpLG1lKG8sImNsYXNzIixlWzE3XSgpKSxtZShvLCJyZWwiLCJub29wZW5lciIpLG1lKG8sInRhcmdldCIsIl9ibGFuayIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8scil9LHAoZSx0KXsxJnRbMF0mJmkhPT0oaT1YdChlWzBdLCJtYWluIikpJiZtZShvLCJocmVmIixpKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIEdpKG8pe2xldCByLGksbixhLHMsbD1vWzBdPy50ZXh0cz8uYnV0dG9ucz8uc2hvd01vcmUrIiIsYyxkLHAsdSxnLG0sZj0wPG9bMF0/LmlhYlRhZ3M/Lmxlbmd0aCYmcWkobyksaD0oYT1uZXcgRmkoe3Byb3BzOntzaXplOiIxMiJ9fSksb1syXSYmS2kobykpO3JldHVybntjKCl7ZiYmZi5jKCkscj11ZSgpLGk9ZGUoImRpdiIpLG49ZGUoImRpdiIpLHhlKGEuJCQuZnJhZ21lbnQpLHM9dWUoKSxjPXBlKGwpLGQ9dWUoKSxoJiZoLmMoKSxwPWZvKCksbWUobiwiY2xhc3MiLG9bMzBdKCkpLG1lKGksInJvbGUiLCJidXR0b24iKSxtZShpLCJjbGFzcyIsb1syNF0oKSksbWUoaSwidGFiaW5kZXgiLCIwIil9LG0oZSx0KXtmJiZmLm0oZSx0KSxsZShlLHIsdCksbGUoZSxpLHQpLHNlKGksbikseWUoYSxuLG51bGwpLHNlKGkscyksc2UoaSxjKSxsZShlLGQsdCksaCYmaC5tKGUsdCksbGUoZSxwLHQpLHU9ITAsZ3x8KG09W2dlKGksImNsaWNrIixvWzMyXSksZ2UoaSwia2V5ZG93biIsb1szM10pXSxnPSEwKX0scChlLHQpezA8ZVswXT8uaWFiVGFncz8ubGVuZ3RoP2Y/Zi5wKGUsdCk6KChmPXFpKGUpKS5jKCksZi5tKHIucGFyZW50Tm9kZSxyKSk6ZiYmKGYuZCgxKSxmPW51bGwpLCghdXx8MSZ0WzBdKSYmbCE9PShsPWVbMF0/LnRleHRzPy5idXR0b25zPy5zaG93TW9yZSsiIikmJmZlKGMsbCksZVsyXT9oP2gucChlLHQpOigoaD1LaShlKSkuYygpLGgubShwLnBhcmVudE5vZGUscCkpOmgmJihoLmQoMSksaD1udWxsKX0saShlKXt1fHwoaGUoYS4kJC5mcmFnbWVudCxlKSx1PSEwKX0sbyhlKXtiZShhLiQkLmZyYWdtZW50LGUpLHU9ITF9LGQoZSl7ZiYmZi5kKGUpLGUmJmNlKHIpLGUmJmNlKGkpLHdlKGEpLGUmJmNlKGQpLGgmJmguZChlKSxlJiZjZShwKSxnPSExLHJvKG0pfX19ZnVuY3Rpb24gcWkobyl7bGV0IHI7cmV0dXJue2MoKXttZShyPWRlKCJzbWFsbCIpLCJjbGFzcyIsb1syMF0oKSl9LG0oZSx0KXtsZShlLHIsdCksci5pbm5lckhUTUw9b1szXX0scChlLHQpezgmdFswXSYmKHIuaW5uZXJIVE1MPWVbM10pfSxkKGUpe2UmJmNlKHIpfX19ZnVuY3Rpb24gS2kobyl7bGV0IHIsaSxuPW9bMF0udGV4dHM/Lm1vZGFscz8ucHVycG9zZXNEZXRhaWxzPy50aXRsZSsiIixhLHMsbCxjPW9bMF0udGV4dHM/Lm1vZGFscz8uaG93Q2FuSUNoYW5nZU15Q2hvaWNlPy50aXRsZSsiIixkLHAsdSxnPW9bMF0udGV4dHM/Lm1vZGFscz8ud2hhdElmSURvbnRDb25zZW50Py50aXRsZSsiIixtLGYsaCxiPW9bMF0udGV4dHM/Lm1vZGFscz8uaG93RG9lc0xlZ2l0aW1hdGVJbnRlcmVzdFdvcms/LnRpdGxlKyIiLHgseSx3LEM9b1swXS50ZXh0cz8ubW9kYWxzPy5kb0lIYXZlVG9Db25zZW50VG9FdmVyeXRoaW5nPy50aXRsZSsiIix2LGssSTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLGE9cGUobikscz11ZSgpLGw9ZGUoImRpdiIpLGQ9cGUoYykscD11ZSgpLHU9ZGUoImRpdiIpLG09cGUoZyksZj11ZSgpLGg9ZGUoImRpdiIpLHg9cGUoYikseT11ZSgpLHc9ZGUoImRpdiIpLHY9cGUoQyksbWUoaSwicm9sZSIsImJ1dHRvbiIpLG1lKGksInRhYmluZGV4IiwiMCIpLG1lKGksImNsYXNzIixvWzI2XSgpKSxtZShsLCJyb2xlIiwiYnV0dG9uIiksbWUobCwidGFiaW5kZXgiLCIwIiksbWUobCwiY2xhc3MiLG9bMjZdKCkpLG1lKHUsInJvbGUiLCJidXR0b24iKSxtZSh1LCJ0YWJpbmRleCIsIjAiKSxtZSh1LCJjbGFzcyIsb1syNl0oKSksbWUoaCwicm9sZSIsImJ1dHRvbiIpLG1lKGgsInRhYmluZGV4IiwiMCIpLG1lKGgsImNsYXNzIixvWzI2XSgpKSxtZSh3LCJyb2xlIiwiYnV0dG9uIiksbWUodywidGFiaW5kZXgiLCIwIiksbWUodywiY2xhc3MiLG9bMjZdKCkpLG1lKHIsImNsYXNzIixvWzI1XSgpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLGkpLHNlKGksYSksc2UocixzKSxzZShyLGwpLHNlKGwsZCksc2UocixwKSxzZShyLHUpLHNlKHUsbSksc2UocixmKSxzZShyLGgpLHNlKGgseCksc2Uocix5KSxzZShyLHcpLHNlKHcsdiksa3x8KEk9W2dlKGksImNsaWNrIixvWzZdKSxnZShpLCJrZXlkb3duIixvWzM0XSksZ2UobCwiY2xpY2siLG9bN10pLGdlKGwsImtleWRvd24iLG9bMzVdKSxnZSh1LCJjbGljayIsb1s4XSksZ2UodSwia2V5ZG93biIsb1szNl0pLGdlKGgsImNsaWNrIixvWzldKSxnZShoLCJrZXlkb3duIixvWzM3XSksZ2UodywiY2xpY2siLG9bMTBdKSxnZSh3LCJrZXlkb3duIixvWzM4XSldLGs9ITApfSxwKGUsdCl7MSZ0WzBdJiZuIT09KG49ZVswXS50ZXh0cz8ubW9kYWxzPy5wdXJwb3Nlc0RldGFpbHM/LnRpdGxlKyIiKSYmZmUoYSxuKSwxJnRbMF0mJmMhPT0oYz1lWzBdLnRleHRzPy5tb2RhbHM/Lmhvd0NhbklDaGFuZ2VNeUNob2ljZT8udGl0bGUrIiIpJiZmZShkLGMpLDEmdFswXSYmZyE9PShnPWVbMF0udGV4dHM/Lm1vZGFscz8ud2hhdElmSURvbnRDb25zZW50Py50aXRsZSsiIikmJmZlKG0sZyksMSZ0WzBdJiZiIT09KGI9ZVswXS50ZXh0cz8ubW9kYWxzPy5ob3dEb2VzTGVnaXRpbWF0ZUludGVyZXN0V29yaz8udGl0bGUrIiIpJiZmZSh4LGIpLDEmdFswXSYmQyE9PShDPWVbMF0udGV4dHM/Lm1vZGFscz8uZG9JSGF2ZVRvQ29uc2VudFRvRXZlcnl0aGluZz8udGl0bGUrIiIpJiZmZSh2LEMpfSxkKGUpe2UmJmNlKHIpLGs9ITEscm8oSSl9fX1mdW5jdGlvbiBRaShlKXtsZXQgbyxyPWVbMF0/LnRleHRzPy5saW5rcz8ucG9saWN5KyIiLGksbjtyZXR1cm57Yygpe289ZGUoImEiKSxpPXBlKHIpLG1lKG8sImNsYXNzIixlWzIyXSgpKSxtZShvLCJocmVmIixuPWVbMF0/LnVybHM/LnBvbGljeSksbWUobywidGFiaW5kZXgiLCIwIiksbWUobywicmVsIiwibm9vcGVuZXIiKSxtZShvLCJ0YXJnZXQiLCJfYmxhbmsiKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLGkpfSxwKGUsdCl7MSZ0WzBdJiZyIT09KHI9ZVswXT8udGV4dHM/LmxpbmtzPy5wb2xpY3krIiIpJiZmZShpLHIpLDEmdFswXSYmbiE9PShuPWVbMF0/LnVybHM/LnBvbGljeSkmJm1lKG8sImhyZWYiLG4pfSxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gSmkoZSl7bGV0IG8scixpLG49ZVswXT8udGV4dHM/LmxpbmtzPy5jb29raWVzKyIiLGEscztyZXR1cm57YygpeyhvPWRlKCJzcGFuIikpLnRleHRDb250ZW50PSItIixyPXVlKCksaT1kZSgiYSIpLGE9cGUobiksbWUobywiaWQiLCJhZG9wdC1kaXZpc29yIiksbWUoaSwiY2xhc3MiLGVbMjJdKCkpLG1lKGksImhyZWYiLHM9ZVswXT8udXJscz8uY29va2llcyksbWUoaSwidGFiaW5kZXgiLCIwIiksbWUoaSwicmVsIiwibm9vcGVuZXIiKSxtZShpLCJ0YXJnZXQiLCJfYmxhbmsiKX0sbShlLHQpe2xlKGUsbyx0KSxsZShlLHIsdCksbGUoZSxpLHQpLHNlKGksYSl9LHAoZSx0KXsxJnRbMF0mJm4hPT0obj1lWzBdPy50ZXh0cz8ubGlua3M/LmNvb2tpZXMrIiIpJiZmZShhLG4pLDEmdFswXSYmcyE9PShzPWVbMF0/LnVybHM/LmNvb2tpZXMpJiZtZShpLCJocmVmIixzKX0sZChlKXtlJiZjZShvKSxlJiZjZShyKSxlJiZjZShpKX19fWZ1bmN0aW9uIFppKGUpe2xldCBvLHIsaSxuPWVbMF0/LnRleHRzPy5saW5rcz8udGVybXMrIiIsYSxzO3JldHVybntjKCl7KG89ZGUoInNwYW4iKSkudGV4dENvbnRlbnQ9Ii0iLHI9dWUoKSxpPWRlKCJhIiksYT1wZShuKSxtZShvLCJpZCIsImFkb3B0LWRpdmlzb3IiKSxtZShpLCJjbGFzcyIsZVsyMl0oKSksbWUoaSwiaHJlZiIscz1lWzBdPy51cmxzPy50ZXJtcyksbWUoaSwidGFiaW5kZXgiLCIwIiksbWUoaSwicmVsIiwibm9vcGVuZXIiKSxtZShpLCJ0YXJnZXQiLCJfYmxhbmsiKX0sbShlLHQpe2xlKGUsbyx0KSxsZShlLHIsdCksbGUoZSxpLHQpLHNlKGksYSl9LHAoZSx0KXsxJnRbMF0mJm4hPT0obj1lWzBdPy50ZXh0cz8ubGlua3M/LnRlcm1zKyIiKSYmZmUoYSxuKSwxJnRbMF0mJnMhPT0ocz1lWzBdPy51cmxzPy50ZXJtcykmJm1lKGksImhyZWYiLHMpfSxkKGUpe2UmJmNlKG8pLGUmJmNlKHIpLGUmJmNlKGkpfX19ZnVuY3Rpb24gWWkobyl7bGV0IHIsaSxuLGE9b1swXT8udGV4dHM/LmxpbmtzPy5vcHRvdXQrIiIscyxsLGMsZDtyZXR1cm57YygpeyhyPWRlKCJzcGFuIikpLnRleHRDb250ZW50PSItIixpPXVlKCksbj1kZSgiYSIpLHM9cGUoYSksbWUociwiaWQiLCJhZG9wdC1kaXZpc29yIiksbWUobiwiY2xhc3MiLG9bMjJdKCkpLG1lKG4sImhyZWYiLGw9b1swXT8udXJscz8ub3B0b3V0KSxtZShuLCJ0YWJpbmRleCIsIjAiKSxtZShuLCJyZWwiLCJub29wZW5lciIpLG1lKG4sInRhcmdldCIsIl9ibGFuayIpfSxtKGUsdCl7bGUoZSxyLHQpLGxlKGUsaSx0KSxsZShlLG4sdCksc2UobixzKSxjfHwoZD1nZShuLCJjbGljayIsb1szOV0pLGM9ITApfSxwKGUsdCl7MSZ0WzBdJiZhIT09KGE9ZVswXT8udGV4dHM/LmxpbmtzPy5vcHRvdXQrIiIpJiZmZShzLGEpLDEmdFswXSYmbCE9PShsPWVbMF0/LnVybHM/Lm9wdG91dCkmJm1lKG4sImhyZWYiLGwpfSxkKGUpe2UmJmNlKHIpLGUmJmNlKGkpLGUmJmNlKG4pLGM9ITEsZCgpfX19ZnVuY3Rpb24gWGkobyl7bGV0IHIsaT1vWzBdPy50ZXh0cz8uYnV0dG9ucz8uc2hvd1ByZWZlcmVuY2VzKyIiLG4sYSxzO3JldHVybntjKCl7cj1kZSgiYnV0dG9uIiksbj1wZShpKSxtZShyLCJpZCIsImFkb3B0LXByZWZlcmVuY2VzLWJ1dHRvbiIpLG1lKHIsImNsYXNzIixvWzI4XSgpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLG4pLGF8fChzPWdlKHIsImNsaWNrIixvWzQwXSksYT0hMCl9LHAoZSx0KXsxJnRbMF0mJmkhPT0oaT1lWzBdPy50ZXh0cz8uYnV0dG9ucz8uc2hvd1ByZWZlcmVuY2VzKyIiKSYmZmUobixpKX0sZChlKXtlJiZjZShyKSxhPSExLHMoKX19fWZ1bmN0aW9uIGVuKG8pe2xldCByLGk9b1swXT8udGV4dHM/LmJ1dHRvbnM/LnJlamVjdEFsbCsiIixuLGEscztyZXR1cm57Yygpe3I9ZGUoImJ1dHRvbiIpLG49cGUoaSksbWUociwiY2xhc3MiLG9bMjddKCkpLG1lKHIsImlkIiwiYWRvcHQtcmVqZWN0LWFsbC1idXR0b24iKX0sbShlLHQpe2xlKGUscix0KSxzZShyLG4pLGF8fChzPWdlKHIsImNsaWNrIixvWzQyXSksYT0hMCl9LHAoZSx0KXsxJnRbMF0mJmkhPT0oaT1lWzBdPy50ZXh0cz8uYnV0dG9ucz8ucmVqZWN0QWxsKyIiKSYmZmUobixpKX0sZChlKXtlJiZjZShyKSxhPSExLHMoKX19fWZ1bmN0aW9uIHRuKG8pe2xldCByLGk9b1swXT8udGV4dHM/LmJ1dHRvbnM/LmRvTm90U2VsbCsiIixuLGEscztyZXR1cm57Yygpe3I9ZGUoImJ1dHRvbiIpLG49cGUoaSksbWUociwiY2xhc3MiLG9bMjddKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsbiksYXx8KHM9Z2UociwiY2xpY2siLG9bNDFdKSxhPSEwKX0scChlLHQpezEmdFswXSYmaSE9PShpPWVbMF0/LnRleHRzPy5idXR0b25zPy5kb05vdFNlbGwrIiIpJiZmZShuLGkpfSxkKGUpe2UmJmNlKHIpLGE9ITEscygpfX19ZnVuY3Rpb24gb24obyl7bGV0IHIsaT1vWzBdPy50ZXh0cz8uYnV0dG9ucz8uc2hvd1ByZWZlcmVuY2VzKyIiLG4sYSxzO3JldHVybntjKCl7cj1kZSgiYnV0dG9uIiksbj1wZShpKSxtZShyLCJpZCIsImFkb3B0LXByZWZlcmVuY2VzLWJ1dHRvbiIpLG1lKHIsImNsYXNzIixvWzI4XSgpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLG4pLGF8fChzPWdlKHIsImNsaWNrIixvWzQzXSksYT0hMCl9LHAoZSx0KXsxJnRbMF0mJmkhPT0oaT1lWzBdPy50ZXh0cz8uYnV0dG9ucz8uc2hvd1ByZWZlcmVuY2VzKyIiKSYmZmUobixpKX0sZChlKXtlJiZjZShyKSxhPSExLHMoKX19fWZ1bmN0aW9uIHJuKG8pe2xldCByLGksbixhLHMsbCxjLGosZCxwLE4sdT1vWzBdPy50Y2Y/LmVuYWJsZWQmJnRlW2VlLkV1cm9wZV0uaW5jbHVkZXMob1swXS5sZWdpc2xhdGlvbikmJm9bMF0udGV4dHM/Lm1vZGFscz8uaG93Q2FuSUNoYW5nZU15Q2hvaWNlPy50aXRsZSYmb1swXS50ZXh0cz8ubW9kYWxzPy53aGF0SWZJRG9udENvbnNlbnQ/LnRpdGxlJiZvWzBdLnRleHRzPy5tb2RhbHM/Lmhvd0RvZXNMZWdpdGltYXRlSW50ZXJlc3RXb3JrPy50aXRsZSYmb1swXS50ZXh0cz8ubW9kYWxzPy5kb0lIYXZlVG9Db25zZW50VG9FdmVyeXRoaW5nPy50aXRsZSxnLG0sZixWLE0seixoLGI9Vmk/LltvWzBdLmxhbmd1YWdlXT8uZGV2ZWxvcGVkQnkrIiIsRixVLHgsVyx5LEgsdyxHLEMscSxLLHYsaz1vWzBdPy50ZXh0cz8uYnV0dG9ucz8uYWNjZXB0QWxsKyIiLFEsdCxJLEosWixTPW9bMF0/LnRleHRzPy50aXRsZXM/LmNhcmQmJlVpKG8pLFQ9b1swXT8ud2hpdGVsYWJlbD8ubGluayYmV2kobyksTD0hMSE9PW9bMF0/LndoaXRlbGFiZWw/LnZpc2liaWxpdHkmJkhpKG8pLCQ9dSYmR2kobyksQT1vWzBdPy51cmxzPy5wb2xpY3kmJlFpKG8pLEU9b1swXT8udXJscz8uY29va2llcyYmSmkobyksUj1vWzBdPy51cmxzPy50ZXJtcyYmWmkobyksTz1vWzBdPy51cmxzPy5vcHRvdXQmJm9bMF0/LmxlZ2lzbGF0aW9uIT09WC5DQ1BBJiZZaShvKSxEPSJhbHRlcm5hdGl2ZSIhPT1vWzBdPy5kaXNjbGFpbWVyT3B0aW9ucz8udGhlbWUmJlhpKG8pO2Z1bmN0aW9uIFkoZSx0KXtyZXR1cm4oQz1udWxsPT0oQz0xJnRbMF0/bnVsbDpDKT8hKCF0ZVtlZS5Ob3J0aEFtZXJpY2FdLmluY2x1ZGVzKGVbMF0/LmxlZ2lzbGF0aW9uKXx8b2UuaW5jbHVkZXMoZVswXT8ubGVnaXNsYXRpb24pKTpDKT90bjplbn1sZXQgQj1ZKG8sWy0xLC0xXSksUD1CKG8pLF89ImFsdGVybmF0aXZlIj09PW9bMF0/LmRpc2NsYWltZXJPcHRpb25zPy50aGVtZSYmb24obyk7cmV0dXJue2MoKXtyPWRlKCJkaXYiKSxpPWRlKCJkaXYiKSxuPWRlKCJkaXYiKSxhPWRlKCJkaXYiKSxTJiZTLmMoKSxzPXVlKCksbD1kZSgiZGl2IiksVCYmVC5jKCksYz11ZSgpLEwmJkwuYygpLGo9dWUoKSxkPWRlKCJkaXYiKSxwPWRlKCJzbWFsbCIpLE49dWUoKSwkJiYkLmMoKSxnPXVlKCksbT1kZSgic3BhbiIpLEEmJkEuYygpLGY9dWUoKSxFJiZFLmMoKSxWPXVlKCksUiYmUi5jKCksTT11ZSgpLE8mJk8uYygpLHo9dWUoKSxoPWRlKCJzbWFsbCIpLEY9cGUoYiksVT11ZSgpLHg9ZGUoImEiKSxXPXBlKCJBZE9wdCIpLEg9dWUoKSx3PWRlKCJkaXYiKSxEJiZELmMoKSxHPXVlKCksUC5jKCkscT11ZSgpLF8mJl8uYygpLEs9dWUoKSx2PWRlKCJidXR0b24iKSxRPXBlKGspLG1lKGEsImNsYXNzIixvWzE0XSgpKSxtZShwLCJpZCIsImNvb2tpZS1iYW5uZXItY29udGVudCIpLG1lKHAsImNsYXNzIixvWzIwXSgpKSxtZShtLCJjbGFzcyIsb1syMV0oKSksbWUoeCwiaHJlZiIseT1YdChvWzBdLCJtYWluIikpLG1lKHgsInRhYmluZGV4IiwiMCIpLG1lKHgsInJlbCIsIm5vb3BlbmVyIiksbWUoeCwidGFyZ2V0IiwiX2JsYW5rIiksbWUoaCwiY2xhc3MiLG9bMThdKCkpLG1lKGQsImNsYXNzIixvWzE5XSgpKSxtZShuLCJjbGFzcyIsb1sxM10oKSksbWUodiwiaWQiLCJhZG9wdC1hY2NlcHQtYWxsLWJ1dHRvbiIpLG1lKHYsImNsYXNzIixvWzI5XSgpKSxtZSh3LCJjbGFzcyIsb1syM10oKSksbWUoaSwiY2xhc3MiLG9bMTJdKCkpLG1lKHIsImlkIiwiY29va2llLWJhbm5lciIpLG1lKHIsInJvbGUiLCJkaWFsb2ciKSxtZShyLCJhcmlhLW1vZGFsIiwidHJ1ZSIpLG1lKHIsImFyaWEtbGFiZWxsZWRieSIsImNvb2tpZS1iYW5uZXItdGl0bGUiKSxtZShyLCJhcmlhLWRlc2NyaWJlZGJ5IiwiY29va2llLWJhbm5lci1jb250ZW50IiksbWUociwiYXJpYS1oaWRkZW4iLG9bMV0pLG1lKHIsInRhYmluZGV4IiwtMSksbWUociwiY2xhc3MiLG9bMTFdKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSksc2UoaSxuKSxzZShuLGEpLFMmJlMubShhLG51bGwpLHNlKGEscyksc2UoYSxsKSxUJiZULm0obCxudWxsKSxzZShsLGMpLEwmJkwubShsLG51bGwpLHNlKG4saiksc2UobixkKSxzZShkLHApLHAuaW5uZXJIVE1MPW9bNF0sc2UoZCxOKSwkJiYkLm0oZCxudWxsKSxzZShkLGcpLHNlKGQsbSksQSYmQS5tKG0sbnVsbCksc2UobSxmKSxFJiZFLm0obSxudWxsKSxzZShtLFYpLFImJlIubShtLG51bGwpLHNlKG0sTSksTyYmTy5tKG0sbnVsbCksc2UoZCx6KSxzZShkLGgpLHNlKGgsRiksc2UoaCxVKSxzZShoLHgpLHNlKHgsVyksc2UoaSxIKSxzZShpLHcpLEQmJkQubSh3LG51bGwpLHNlKHcsRyksUC5tKHcsbnVsbCksc2UodyxxKSxfJiZfLm0odyxudWxsKSxzZSh3LEspLHNlKHcsdiksc2UodixRKSxJPSEwLEp8fChaPVtnZSh2LCJjbGljayIsb1s0NF0pLGdlKHIsImNsaWNrIixobyhhbikpXSxKPSEwKX0scChlLHQpeyhvPWUpWzBdPy50ZXh0cz8udGl0bGVzPy5jYXJkP1M/Uy5wKG8sdCk6KChTPVVpKG8pKS5jKCksUy5tKGEscykpOlMmJihTLmQoMSksUz1udWxsKSxvWzBdPy53aGl0ZWxhYmVsPy5saW5rP1Q/VC5wKG8sdCk6KChUPVdpKG8pKS5jKCksVC5tKGwsYykpOlQmJihULmQoMSksVD1udWxsKSwhMSE9PW9bMF0/LndoaXRlbGFiZWw/LnZpc2liaWxpdHk/TD9MLnAobyx0KTooKEw9SGkobykpLmMoKSxMLm0obCxudWxsKSk6TCYmKEwuZCgxKSxMPW51bGwpLCghSXx8MTYmdFswXSkmJihwLmlubmVySFRNTD1vWzRdKSwodT0xJnRbMF0/b1swXT8udGNmPy5lbmFibGVkJiZ0ZVtlZS5FdXJvcGVdLmluY2x1ZGVzKG9bMF0ubGVnaXNsYXRpb24pJiZvWzBdLnRleHRzPy5tb2RhbHM/Lmhvd0NhbklDaGFuZ2VNeUNob2ljZT8udGl0bGUmJm9bMF0udGV4dHM/Lm1vZGFscz8ud2hhdElmSURvbnRDb25zZW50Py50aXRsZSYmb1swXS50ZXh0cz8ubW9kYWxzPy5ob3dEb2VzTGVnaXRpbWF0ZUludGVyZXN0V29yaz8udGl0bGUmJm9bMF0udGV4dHM/Lm1vZGFscz8uZG9JSGF2ZVRvQ29uc2VudFRvRXZlcnl0aGluZz8udGl0bGU6dSk/JD8oJC5wKG8sdCksMSZ0WzBdJiZoZSgkLDEpKTooKCQ9R2kobykpLmMoKSxoZSgkLDEpLCQubShkLGcpKTokJiYoaWUoKSxiZSgkLDEsMSwoKT0+eyQ9bnVsbH0pLG5lKCkpLG9bMF0/LnVybHM/LnBvbGljeT9BP0EucChvLHQpOigoQT1RaShvKSkuYygpLEEubShtLGYpKTpBJiYoQS5kKDEpLEE9bnVsbCksb1swXT8udXJscz8uY29va2llcz9FP0UucChvLHQpOigoRT1KaShvKSkuYygpLEUubShtLFYpKTpFJiYoRS5kKDEpLEU9bnVsbCksb1swXT8udXJscz8udGVybXM/Uj9SLnAobyx0KTooKFI9WmkobykpLmMoKSxSLm0obSxNKSk6UiYmKFIuZCgxKSxSPW51bGwpLG9bMF0/LnVybHM/Lm9wdG91dCYmb1swXT8ubGVnaXNsYXRpb24hPT1YLkNDUEE/Tz9PLnAobyx0KTooKE89WWkobykpLmMoKSxPLm0obSxudWxsKSk6TyYmKE8uZCgxKSxPPW51bGwpLCghSXx8MSZ0WzBdKSYmYiE9PShiPVZpPy5bb1swXS5sYW5ndWFnZV0/LmRldmVsb3BlZEJ5KyIiKSYmZmUoRixiKSwoIUl8fDEmdFswXSYmeSE9PSh5PVh0KG9bMF0sIm1haW4iKSkpJiZtZSh4LCJocmVmIix5KSwiYWx0ZXJuYXRpdmUiIT09b1swXT8uZGlzY2xhaW1lck9wdGlvbnM/LnRoZW1lP0Q/RC5wKG8sdCk6KChEPVhpKG8pKS5jKCksRC5tKHcsRykpOkQmJihELmQoMSksRD1udWxsKSxCPT09KEI9WShvLHQpKSYmUD9QLnAobyx0KTooUC5kKDEpLChQPUIobykpJiYoUC5jKCksUC5tKHcscSkpKSwiYWx0ZXJuYXRpdmUiPT09b1swXT8uZGlzY2xhaW1lck9wdGlvbnM/LnRoZW1lP18/Xy5wKG8sdCk6KChfPW9uKG8pKS5jKCksXy5tKHcsSykpOl8mJihfLmQoMSksXz1udWxsKSwoIUl8fDEmdFswXSkmJmshPT0oaz1vWzBdPy50ZXh0cz8uYnV0dG9ucz8uYWNjZXB0QWxsKyIiKSYmZmUoUSxrKSwoIUl8fDImdFswXSkmJm1lKHIsImFyaWEtaGlkZGVuIixvWzFdKX0saShlKXtJfHwoaGUoJCksam8oKCk9PntJJiYodD10fHxHbyhyLHJyLHtkdXJhdGlvbjohMSE9PW9bMF0/LmRpc2NsYWltZXJPcHRpb25zPy5kaXNjbGFpbWVyQW5pbWF0aW9ucz8yNTA6MH0sITApKS5ydW4oMSl9KSxJPSEwKX0sbyhlKXtiZSgkKSwodD10fHxHbyhyLHJyLHtkdXJhdGlvbjohMSE9PW9bMF0/LmRpc2NsYWltZXJPcHRpb25zPy5kaXNjbGFpbWVyQW5pbWF0aW9ucz8yNTA6MH0sITEpKS5ydW4oMCksST0hMX0sZChlKXtlJiZjZShyKSxTJiZTLmQoKSxUJiZULmQoKSxMJiZMLmQoKSwkJiYkLmQoKSxBJiZBLmQoKSxFJiZFLmQoKSxSJiZSLmQoKSxPJiZPLmQoKSxEJiZELmQoKSxQLmQoKSxfJiZfLmQoKSxlJiZ0JiZ0LmVuZCgpLEo9ITEscm8oWil9fX1mdW5jdGlvbiBubihlLHQpeyJFbnRlciIhPT1lLmtleSYmIiAiIT09ZS5rZXl8fChlLnByZXZlbnREZWZhdWx0KCksdCgpKX1sZXQgYW49KCk9Pnt9O2Z1bmN0aW9uIHNuKHQsZSxvKXtsZXQgcixpLG49JG8oKSxhLHM9ZS5jb25maWcsbD1lLnN0eWxlcyxjPWUuaXNNb2RhbEluZm9PcGVuLGQ9ITEscCx1LGcsbT1lPT57IlRhYiI9PT1lLmtleSYmKGUuc2hpZnRLZXk/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXAmJihlLnByZXZlbnREZWZhdWx0KCksdS5mb2N1cygpKTpkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dSYmKGUucHJldmVudERlZmF1bHQoKSxwLmZvY3VzKCkpKX07ZnVuY3Rpb24gZigpe24oImhhbmRsZU9wZW5Nb2RhbCIse3RpdGxlOiJIb3cgZG9lcyBsZWdpdGltYXRlIGludGVyZXN0IHdvcms/Iixjb250ZW50RGF0YTpzLmlhYlRhZ3M/Lm1hcChlPT4oe3R5cGU6IkxJU1QiLGNvbnRlbnQ6ZS5uYW1lfSkpfSl9ZnVuY3Rpb24gaCgpe2xldCB0PVtdOzA8cz8uaWFiVGFncz8uWzBdPy5kYXRhRGVjbGFyYXRpb24/Lmxlbmd0aCYmKHQucHVzaCh7dHlwZToiUEFSQUdSQVBIIixjb250ZW50OnMudGV4dHM/Lm1vZGFscz8ucHVycG9zZXNEZXRhaWxzPy5leGFtcGxlTGFiZWx9KSxzLmlhYlRhZ3NbMF0uZGF0YURlY2xhcmF0aW9uLmZvckVhY2goZT0+e3QucHVzaCh7dHlwZToiTElTVCIsY29udGVudDoiIitlLm5hbWV9KX0pKSxuKCJoYW5kbGVPcGVuTW9kYWwiLHt0aXRsZTpzLnRleHRzPy5tb2RhbHM/LnB1cnBvc2VzRGV0YWlscz8udGl0bGUsY29udGVudERhdGE6W3t0eXBlOiJQQVJBR1JBUEgiLGNvbnRlbnQ6cy50ZXh0cz8ubW9kYWxzPy5wdXJwb3Nlc0RldGFpbHM/LmRlc2NyaXB0aW9ufSwuLi50XX0pfWZ1bmN0aW9uIGIoKXtuKCJoYW5kbGVPcGVuTW9kYWwiLHt0aXRsZTpzLnRleHRzPy5tb2RhbHM/Lmhvd0NhbklDaGFuZ2VNeUNob2ljZT8udGl0bGUsY29udGVudERhdGE6W3t0eXBlOiJQQVJBR1JBUEgiLGNvbnRlbnQ6cy50ZXh0cz8ubW9kYWxzPy5ob3dDYW5JQ2hhbmdlTXlDaG9pY2U/LmRlc2NyaXB0aW9ufSxzPy51cmxzPy5wb2xpY3k/e3R5cGU6IkxJTksiLGNvbnRlbnQ6cz8udGV4dHM/LmxpbmtzPy5wb2xpY3ksaHJlZjpzPy51cmxzPy5wb2xpY3l9Ont9XX0pfWZ1bmN0aW9uIHgoKXtuKCJoYW5kbGVPcGVuTW9kYWwiLHt0aXRsZTpzLnRleHRzPy5tb2RhbHM/LndoYXRJZklEb250Q29uc2VudD8udGl0bGUsY29udGVudERhdGE6W3t0eXBlOiJQQVJBR1JBUEgiLGNvbnRlbnQ6cy50ZXh0cz8ubW9kYWxzPy53aGF0SWZJRG9udENvbnNlbnQ/LmRlc2NyaXB0aW9ufV19KX1mdW5jdGlvbiB5KCl7bigiaGFuZGxlT3Blbk1vZGFsIix7dGl0bGU6cy50ZXh0cz8ubW9kYWxzPy5ob3dEb2VzTGVnaXRpbWF0ZUludGVyZXN0V29yaz8udGl0bGUsY29udGVudERhdGE6W3t0eXBlOiJQQVJBR1JBUEgiLGNvbnRlbnQ6cy50ZXh0cz8ubW9kYWxzPy5ob3dEb2VzTGVnaXRpbWF0ZUludGVyZXN0V29yaz8uZGVzY3JpcHRpb259LHt0eXBlOiJMSU5LIixjb250ZW50OnMudGV4dHM/Lm1vZGFscz8uaG93RG9lc0xlZ2l0aW1hdGVJbnRlcmVzdFdvcms/LmxpbmtMYWJlbCxocmVmOnMudGV4dHM/Lm1vZGFscz8uaG93RG9lc0xlZ2l0aW1hdGVJbnRlcmVzdFdvcms/Lmxpbmt9XX0pfWZ1bmN0aW9uIHcoKXtuKCJoYW5kbGVPcGVuTW9kYWwiLHt0aXRsZTpzLnRleHRzPy5tb2RhbHM/LmRvSUhhdmVUb0NvbnNlbnRUb0V2ZXJ5dGhpbmc/LnRpdGxlLGNvbnRlbnREYXRhOlt7dHlwZToiUEFSQUdSQVBIIixjb250ZW50OnMudGV4dHM/Lm1vZGFscz8uZG9JSGF2ZVRvQ29uc2VudFRvRXZlcnl0aGluZy5kZXNjcmlwdGlvbn0se3R5cGU6IlBBUkFHUkFQSCIsY29udGVudDpzLnRleHRzPy5tb2RhbHM/LmRvSUhhdmVUb0NvbnNlbnRUb0V2ZXJ5dGhpbmc/LmZlYXR1cmVEZXNjcmlwdGlvbn0se3R5cGU6IlBBUkFHUkFQSCIsY29udGVudDpzLnRleHRzPy5tb2RhbHM/LmRvSUhhdmVUb0NvbnNlbnRUb0V2ZXJ5dGhpbmc/LnNwZWNpYWxGZWF0dXJlc0Rlc2NyaXB0aW9ufV19KX1Ubyhhc3luYygpPT57dmFyIGU7S3Qocz8ud2hpdGVsYWJlbD8uZGlzY2xhaW1lckNvbnRyb2xsZXIsIndoaXRlbGFiZWxJY29uSWQiKSwoYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWRvcHQtdmVuZG9ycy1kZXRhaWxzIikpJiZhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmKSxzPy5kaXNjbGFpbWVyT3B0aW9ucz8uYWNjZXNzaWJpbGl0eSYmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb29raWUtYmFubmVyIikuZm9jdXMoKSxlPSJjb29raWUtYmFubmVyIixlPShnPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpKS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknKSxwPWVbMF0sdT1lW2UubGVuZ3RoLTFdLGcuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbSkpfSksTG8oKCk9PntzPy5kaXNjbGFpbWVyT3B0aW9ucz8uYWNjZXNzaWJpbGl0eSYmZy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixtKX0pO3ZhcntjYXJkQ29udGFpbmVyOmUsY2FyZENvbnRlbnQ6QyxjYXJkVGV4dENvbnRhaW5lcjp2LGNhcmRUaXRsZVJvdzprLGNhcmRUaXRsZTpJLGNhcmRXaGl0ZUxhYmVsTG9nbzpTLGNhcmRBZG9wdExpbms6VCxjYXJkQWRvcHRMaW5rQWx0ZXJuYXRpdmU6TCxjYXJkVGV4dHNSb3c6JCxjYXJkVGV4dFJvd0NvbnRlbnQ6QSxjYXJkVGV4dFJvd0xpbmtzOkUsY2FyZFRleHRMaW5rczpSLGNhcmRCdXR0b25zQ29udGFpbmVyOk8sY2FyZERldGFpbHNCdXR0b246RCxjYXJkRGV0YWlsc1dyYXBwZXI6QixjYXJkRGV0YWlsc0l0ZW06UCxjYXJkUmVqZWN0QWxsQnV0dG9uOl8sY2FyZFByZWZlcmVuY2VzQnV0dG9uOmosY2FyZEFjY2VwdEFsbEJ1dHRvbjpOLGNhcmREZXRhaWxzQ2hldnJvbjpWfT0oKGUsdCk9Pnt2YXJ7dGhlbWU6b309ZS5kaXNjbGFpbWVyT3B0aW9ucztyZXR1cm57ZGVmYXVsdDpuaShlLHQpLG1vZGVybjphaShlLHQpLGFsdGVybmF0aXZlOnNpKGUsdCl9W29dfSkocyxsKTtyZXR1cm4gdC4kJHNldD1lPT57ImNvbmZpZyJpbiBlJiZvKDAscz1lLmNvbmZpZyksInN0eWxlcyJpbiBlJiZvKDMxLGw9ZS5zdHlsZXMpLCJpc01vZGFsSW5mb09wZW4iaW4gZSYmbygxLGM9ZS5pc01vZGFsSW5mb09wZW4pfSx0LiQkLnVwZGF0ZT0oKT0+e3ZhciBlOzEmdC4kJC5kaXJ0eVswXSYmbyg0LHI9KGU9cz8udGV4dHM/LmJvZHlUZXh0cz8uY2FyZCk/KGU9KGU9ZS5yZXBsYWNlKCJ7e3ZlbmRvcnN9fSIscz8uaWFiVGFncz8ubGVuZ3RoKSkucmVwbGFjZSgiPDA+IixgPGIgc3R5bGU9ImNvbG9yOiR7cy5jb2xvcnMud2ViLmxpZ2h0LnByaW1hcnlDb2xvcn0gIWltcG9ydGFudDtjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudCIgaWQ9ImFkb3B0LXZlbmRvcnMtZGV0YWlscyI+YCkpLnJlcGxhY2UoIjwvMD4iLCI8L2I+Iik6IiIpLDEmdC4kJC5kaXJ0eVswXSYmbygzLGk9KGU9cz8udGV4dHM/LmJvZHlUZXh0cz8udGNmRGF0YVByb2Nlc3MpPyhlPShlPShlPShlPShlPWUucmVwbGFjZSgie3tkYXRhRGVjbGFyYXRpb259fSIscz8uaWFiVGFncz8uWzBdPy5kYXRhRGVjbGFyYXRpb24/LlswXT8ubmFtZSkpLnJlcGxhY2UoInt7c3RhY2tJblVzZX19IixzPy5pYWJDYXRlZ29yaWVzPy5zdGFja0luVXNlPy5uYW1lLmVuZHNXaXRoKCIuIik/cz8uaWFiQ2F0ZWdvcmllcz8uc3RhY2tJblVzZT8ubmFtZS5zbGljZSgwLC0xKTpzPy5pYWJDYXRlZ29yaWVzPy5zdGFja0luVXNlPy5uYW1lKSkucmVwbGFjZSgiPDA+IixgPGIgc3R5bGU9ImNvbG9yOiR7cy5jb2xvcnMud2ViLmxpZ2h0LnByaW1hcnlDb2xvcn0gIWltcG9ydGFudDsiID5gKSkucmVwbGFjZSgiPC8wPiIsIjwvYj4iKSkucmVwbGFjZSgiPDE+IixgPGIgc3R5bGU9ImNvbG9yOiR7cy5jb2xvcnMud2ViLmxpZ2h0LnByaW1hcnlDb2xvcn0gIWltcG9ydGFudDsiID5gKSkucmVwbGFjZSgiPC8xPiIsIjwvYj4iKToiIil9LFtzLGMsZCxpLHIsbixoLGIseCx5LHcsZSxDLHYsayxJLFMsVCxMLCQsQSxFLFIsTyxELEIsUCxfLGosTixWLGwsKCk9Pm8oMixkPSFkKSxlPT5ubihlLCgpPT5vKDIsZD0hZCkpLGU9Pm5uKGUsaCksZT0+bm4oZSxiKSxlPT5ubihlLHgpLGU9Pm5uKGUseSksZT0+bm4oZSx3KSwoKT0+e010KCJBZG9wdENvbnNlbnQiLFV0KCk/P251bGwpfSwoKT0+bigiZ28iLHtzdGF0dXM6TS5QcmVmZXJlbmNlcyxldmVudDp6LlByZWZzfSksKCk9PntzPy51cmxzPy5vcHRvdXQmJndpbmRvdy5vcGVuKHM/LnVybHM/Lm9wdG91dCwiX2JsYW5rIiwibm9vcGVuZXIiKSxuKCJnbyIse3N0YXR1czpNLkNsb3NlZCxldmVudDp6LlJlamVjdEFsbCx1cGRhdGVDb25zZW50OiEwfSksTXQoIkFkb3B0Q29uc2VudCIsVXQoKT8/bnVsbCl9LCgpPT5uKCJnbyIse3N0YXR1czpNLkNsb3NlZCxldmVudDp6LlJlamVjdEFsbCx1cGRhdGVDb25zZW50OiEwfSksKCk9Pm4oImdvIix7c3RhdHVzOk0uUHJlZmVyZW5jZXMsZXZlbnQ6ei5QcmVmc30pLCgpPT5uKCJnbyIse3N0YXR1czpNLkNsb3NlZCxldmVudDp6LkFjY2VwdEFsbCx1cGRhdGVDb25zZW50OiEwfSldfWNsYXNzIGxuIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLHNuLHJuLHIse2NvbmZpZzowLHN0eWxlczozMSxpc01vZGFsSW5mb09wZW46MX0sbnVsbCxbLTEsLTFdKX19ZnVuY3Rpb24gY24oZSl7bGV0IG8scixpLG4sYTtyZXR1cm57Yygpe289Yigic3ZnIikscj1iKCJnIiksaT1iKCJnIiksbj1iKCJnIiksbWUoYT1iKCJwYXRoIiksImQiLCJNMjI4LjI5NC0xNTEuNzUzTDM2Ny40ODktMTIuNTU4YzExLjExNiwxMS4xMDUsMTEuMTE2LDI5LjExNiwwLDQwLjIyXG4gICAgICAgICAgYy0xMS4xMDUsMTEuMTE2LTI5LjEwNCwxMS4xMTYtNDAuMjIsMEwxODguMDczLTExMS41MzNMNDguODY2LDI3LjY2M2MtMTEuMDkzLDExLjExNi0yOS4xMTYsMTEuMTE2LTQwLjIyLDBcbiAgICAgICAgICBjLTExLjEwNS0xMS4xMDUtMTEuMTA1LTI5LjExNiwwLTQwLjIybDEzOS4yMDctMTM5LjE5Nkw4LjMzOC0yOTEuMjY4Yy0xMS4xMTYtMTEuMTE2LTExLjExNi0yOS4xMTYsMC00MC4yMlxuICAgICAgICAgIGM1LjU1Mi01LjU2NCwxMi44MzQtOC4zNCwyMC4xMTYtOC4zNGM3LjI3LDAsMTQuNTUyLDIuNzc2LDIwLjEwNSw4LjM0bDEzOS41MTQsMTM5LjUxNGwxMzkuMTk2LTEzOS4xOTZcbiAgICAgICAgICBjNS41NjQtNS41NTIsMTIuODM0LTguMzQsMjAuMTE2LTguMzRjNy4yNywwLDE0LjU1MiwyLjc4OCwyMC4xMDUsOC4zNGMxMS4xMTYsMTEuMTA1LDExLjExNiwyOS4xMDQsMCw0MC4yMkwyMjguMjk0LTE1MS43NTN6IikseChuLCJhbmltYXRpb24iLCJub25lIiwxKSx4KG4sInRyYW5zZm9ybS1vcmlnaW4iLCJ1bnNldCIsMSkseChpLCJhbmltYXRpb24iLCJub25lIiwxKSx4KGksInRyYW5zZm9ybS1vcmlnaW4iLCJ1bnNldCIsMSksbWUociwidHJhbnNmb3JtIiwibWF0cml4KDEuMjUgMCAwIC0xLjI1IDAgNDUpIiksbWUobywidmVyc2lvbiIsIjEuMSIpLG1lKG8sInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKSxtZShvLCJ4bWxuczp4bGluayIsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDQ2OS43ODUgNDY5Ljc4NSIpLHgobywid2lkdGgiLGVbMF0pLHgobywiaGVpZ2h0IixlWzBdKSxtZShvLCJ4bWw6c3BhY2UiLCJwcmVzZXJ2ZSIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKSxzZShpLG4pLHNlKG4sYSl9LHAoZSxbdF0pezEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIGRuKGUsdCxvKXtsZXR7d2lkdGg6cj0iNXB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3MgcG4gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsZG4sY24scix7d2lkdGg6MH0pfX1mdW5jdGlvbiB1bihlKXtsZXQgbyxyLGksbjtyZXR1cm57Yygpe289Yigic3ZnIikscj1iKCJnIiksaT1iKCJnIiksbWUobj1iKCJwYXRoIiksImQiLCJNMjAuNjg3LDM4LjMzMmMtMi4wNzIsMi4wNzItNS40MzQsMi4wNzItNy41MDUsMEwxLjU1NCwyNi43MDRjLTIuMDcyLTIuMDcxLTIuMDcyLTUuNDMzLDAtNy41MDRcblx0XHRcdGMyLjA3MS0yLjA3Miw1LjQzMy0yLjA3Miw3LjUwNSwwbDYuOTI4LDYuOTI3YzAuNTIzLDAuNTIyLDEuMzcyLDAuNTIyLDEuODk2LDBMMzYuNjQyLDcuMzY4YzIuMDcxLTIuMDcyLDUuNDMzLTIuMDcyLDcuNTA1LDBcblx0XHRcdGMwLjk5NSwwLjk5NSwxLjU1NCwyLjM0NSwxLjU1NCwzLjc1MmMwLDEuNDA3LTAuNTU5LDIuNzU3LTEuNTU0LDMuNzUyTDIwLjY4NywzOC4zMzJ6IikseChpLCJhbmltYXRpb24iLCJub25lIiwxKSx4KGksInRyYW5zZm9ybS1vcmlnaW4iLCJ1bnNldCIsMSkseChyLCJhbmltYXRpb24iLCJub25lIiwxKSx4KHIsInRyYW5zZm9ybS1vcmlnaW4iLCJ1bnNldCIsMSksbWUobywidmVyc2lvbiIsIjEuMSIpLG1lKG8sInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKSxtZShvLCJ4bWxuczp4bGluayIsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDQ1LjcwMSA0NS43IiksbWUobywieG1sOnNwYWNlIiwicHJlc2VydmUiKSx4KG8sIndpZHRoIixlWzBdKSx4KG8sImhlaWdodCIsZVswXSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKSxzZShyLGkpLHNlKGksbil9LHAoZSxbdF0pezEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIGduKGUsdCxvKXtsZXR7d2lkdGg6cj0iNXB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3MgbW4gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsZ24sdW4scix7d2lkdGg6MH0pfX1mdW5jdGlvbiBmbihlKXtsZXQgbyxyO3JldHVybiBvPW5ldyBtbih7cHJvcHM6e3dpZHRoOiI3cHgifX0pLHtjKCl7eGUoby4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShvLGUsdCkscj0hMH0saShlKXtyfHwoaGUoby4kJC5mcmFnbWVudCxlKSxyPSEwKX0sbyhlKXtiZShvLiQkLmZyYWdtZW50LGUpLHI9ITF9LGQoZSl7d2UobyxlKX19fWZ1bmN0aW9uIGhuKGUpe2xldCBvLHI7cmV0dXJuIG89bmV3IHBuKHtwcm9wczp7d2lkdGg6IjdweCJ9fSkse2MoKXt4ZShvLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKG8sZSx0KSxyPSEwfSxpKGUpe3J8fChoZShvLiQkLmZyYWdtZW50LGUpLHI9ITApfSxvKGUpe2JlKG8uJCQuZnJhZ21lbnQsZSkscj0hMX0sZChlKXt3ZShvLGUpfX19ZnVuY3Rpb24gYm4obyl7bGV0IHIsaSxuLGEscyxsLGMsZCxwLHU9W2huLGZuXSxnPVtdO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIGVbMF0/MTowfXJldHVybiBuPW0obyksYT1nW25dPXVbbl0obykse2MoKXtyPWRlKCJkaXYiKSxpPWRlKCJkaXYiKSxhLmMoKSxtZShpLCJjbGFzcyIscz1vWzJdKHthY3RpdmU6b1swXX0pKSxtZShyLCJjbGFzcyIsbD1vWzFdKHthY3RpdmU6b1swXX0pKSxtZShyLCJ0YWJpbmRleCIsIjAiKX0sbShlLHQpe2xlKGUscix0KSxzZShyLGkpLGdbbl0ubShpLG51bGwpLGM9ITAsZHx8KHA9W2dlKHIsImNsaWNrIixvWzZdKSxnZShyLCJrZXlkb3duIixvWzRdKV0sZD0hMCl9LHAoZSxbdF0pe2xldCBvPW47KG49bShlKSkhPT1vJiYoaWUoKSxiZShnW29dLDEsMSwoKT0+e2dbb109bnVsbH0pLG5lKCksKGE9Z1tuXSl8fChhPWdbbl09dVtuXShlKSkuYygpLGhlKGEsMSksYS5tKGksbnVsbCkpLCghY3x8NSZ0JiZzIT09KHM9ZVsyXSh7YWN0aXZlOmVbMF19KSkpJiZtZShpLCJjbGFzcyIscyksKCFjfHwzJnQmJmwhPT0obD1lWzFdKHthY3RpdmU6ZVswXX0pKSkmJm1lKHIsImNsYXNzIixsKX0saShlKXtjfHwoaGUoYSksYz0hMCl9LG8oZSl7YmUoYSksYz0hMX0sZChlKXtlJiZjZShyKSxnW25dLmQoKSxkPSExLHJvKHApfX19ZnVuY3Rpb24geG4oZSx0LG8pe2xldCByPSRvKCksaT10LmlkLHthY3RpdmU6bj0hMX09dCxhPXQuY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXIscz10LmNhdGVnb3J5U2VsZWN0b3JJY29uO3JldHVybiBlLiQkc2V0PWU9PnsiaWQiaW4gZSYmbyg1LGk9ZS5pZCksImFjdGl2ZSJpbiBlJiZvKDAsbj1lLmFjdGl2ZSksImNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyImluIGUmJm8oMSxhPWUuY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXIpLCJjYXRlZ29yeVNlbGVjdG9ySWNvbiJpbiBlJiZvKDIscz1lLmNhdGVnb3J5U2VsZWN0b3JJY29uKX0sW24sYSxzLHIsZnVuY3Rpb24oZSl7IkVudGVyIiE9PWUua2V5JiYiICIhPT1lLmtleXx8KGUucHJldmVudERlZmF1bHQoKSxyKCJ0b2dnbGVkIiwhbikpfSxpLCgpPT5yKCJ0b2dnbGVkIiwhbildfWNsYXNzIHluIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLHhuLGJuLHIse2lkOjUsYWN0aXZlOjAsY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6MSxjYXRlZ29yeVNlbGVjdG9ySWNvbjoyfSl9fWZ1bmN0aW9uIHduKGUpe2xldCBvLHIsaTtyZXR1cm57Yygpe289Yigic3ZnIikscj1iKCJnIiksbWUoaT1iKCJwYXRoIiksImQiLCJtMTIxLjMsMzQuNmMtMS42LTEuNi00LjItMS42LTUuOCwwbC01MSw1MS4xLTUxLjEtNTEuMWMtMS42LTEuNi00LjItMS42LTUuOCwwLTEuNiwxLjYtMS42LDQuMlxuICAgICAgMCw1LjhsNTMuOSw1My45YzAuOCwwLjggMS44LDEuMiAyLjksMS4yIDEsMCAyLjEtMC40XG4gICAgICAyLjktMS4ybDUzLjktNTMuOWMxLjctMS42IDEuNy00LjIgMC4xLTUuOHoiKSx4KHIsImFuaW1hdGlvbiIsIm5vbmUiLDEpLHgociwidHJhbnNmb3JtLW9yaWdpbiIsInVuc2V0IiwxKSxtZShvLCJ4bWxucyIsImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiksbWUobywidmlld0JveCIsIjAgMCAxMjkgMTI5IikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pLG1lKG8sInhtbG5zOnhsaW5rIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKX0scChlLFt0XSl7MSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gQ24oZSx0LG8pe2xldHt3aWR0aDpyPSI4cHgifT10O3JldHVybiBlLiQkc2V0PWU9Pnsid2lkdGgiaW4gZSYmbygwLHI9ZS53aWR0aCl9LFtyXX1jbGFzcyB2biBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxDbix3bixyLHt3aWR0aDowfSl9fWZ1bmN0aW9uIGtuKGUpe2xldCBvLHIsaTtyZXR1cm57Yygpe289Yigic3ZnIikscj1iKCJnIiksbWUoaT1iKCJwYXRoIiksImQiLCJNMzYwLjczMSwyMjkuMDc1bC0yMjUuMS0yMjUuMWMtNS4zLTUuMy0xMy44LTUuMy0xOS4xLDBzLTUuMywxMy44LDAsMTkuMWwyMTUuNSwyMTUuNWwtMjE1LjUsMjE1LjVcbiAgICAgIGMtNS4zLDUuMy01LjMsMTMuOCwwLDE5LjFjMi42LDIuNiw2LjEsNCw5LjUsNGMzLjQsMCw2LjktMS4zLDkuNS00bDIyNS4xLTIyNS4xQzM2NS45MzEsMjQyLjg3NSwzNjUuOTMxLDIzNC4yNzUsMzYwLjczMSwyMjkuMDc1eiIpLHgociwiYW5pbWF0aW9uIiwibm9uZSIsMSkseChyLCJ0cmFuc2Zvcm0tb3JpZ2luIiwidW5zZXQiLDEpLG1lKG8sInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKSxtZShvLCJ4bWxuczp4bGluayIsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDQ3Ny4xNzUgNDc3LjE3NSIpLHgobywid2lkdGgiLGVbMF0pLHgobywiaGVpZ2h0IixlWzBdKSxtZShvLCJ4bWw6c3BhY2UiLCJwcmVzZXJ2ZSIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKX0scChlLFt0XSl7MSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gSW4oZSx0LG8pe2xldHt3aWR0aDpyPSI4cHgifT10O3JldHVybiBlLiQkc2V0PWU9Pnsid2lkdGgiaW4gZSYmbygwLHI9ZS53aWR0aCl9LFtyXX1jbGFzcyBTbiBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxJbixrbixyLHt3aWR0aDowfSl9fWZ1bmN0aW9uIFRuKGUpe2xldCBvLHIsaTtyZXR1cm57Yygpe289Yigic3ZnIikscj1iKCJnIiksbWUoaT1iKCJwYXRoIiksImZpbGwtcnVsZSIsImV2ZW5vZGQiKSxtZShpLCJjbGlwLXJ1bGUiLCJldmVub2RkIiksbWUoaSwiZCIsIk01NS43MTMsMGMyMC44NDgsMTMuMjE1LDM5LjY4MiwxOS40NjcsNTUuODQ2LDE3Ljk4OSBjMi44MjMsNTcuMDk4LTE4LjI2Myw5MC44MTgtNTUuNjMsMTA0Ljg5MUMxOS44NDQsMTA5LjcwOC0xLjUsNzcuNDM5LDAuMDgzLDE3LjEyM0MxOS4wNTgsMTguMTE2LDM3LjY3NCwxNC4wMTQsNTUuNzEzLDBMNTUuNzEzLDAgeiBNMzMuNzg0LDY2Ljc3NWMtMS4xOC0xLjAxLTEuMzE4LTIuNzg2LTAuMzA5LTMuOTY3YzEuMDExLTEuMTgxLDIuNzg3LTEuMzE4LDMuOTY3LTAuMzA5bDExLjQ5NCw5Ljg3NWwyNS4xOC0yNy42ODQgYzEuMDQ3LTEuMTUsMi44MjgtMS4yMzQsMy45NzktMC4xODhjMS4xNDksMS4wNDYsMS4yMzMsMi44MjcsMC4xODcsMy45NzhMNTEuMjYyLDc4LjE4OGwtMC4wMDItMC4wMDIgYy0xLjAyLDEuMTIxLTIuNzUxLDEuMjM2LTMuOTEsMC4yNDRMMzMuNzg0LDY2Ljc3NUwzMy43ODQsNjYuNzc1eiIpLHgociwiYW5pbWF0aW9uIiwibm9uZSIsMSkseChyLCJ0cmFuc2Zvcm0tb3JpZ2luIiwidW5zZXQiLDEpLG1lKG8sInZlcnNpb24iLCIxLjEiKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDExMS44MTEgMTIyLjg4IikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKX0scChlLFt0XSl7MSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gTG4oZSx0LG8pe2xldHt3aWR0aDpyPSIxMnB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3MgJG4gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsTG4sVG4scix7d2lkdGg6MH0pfX1mdW5jdGlvbiBBbihlKXtsZXQgbyxyLGk7cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLG1lKGk9YigicGF0aCIpLCJkIiwiTTIuMDMsNTYuNTJjLTIuNjYsMi41OC0yLjcyLDYuODMtMC4xMyw5LjQ5YzIuNTgsMi42Niw2LjgzLDIuNzIsOS40OSwwLjEzbDI3LjY1LTI2Ljk4bDIzLjEyLDIyLjMxIGMyLjY3LDIuNTcsNi45MiwyLjQ5LDkuNDktMC4xOGwzNy43Ny0zOC4yMnYxOS4yN2MwLDMuNzIsMy4wMSw2LjczLDYuNzMsNi43M3M2LjczLTMuMDEsNi43My02LjczVjYuNzFoLTAuMDIgYzAtMS43NC0wLjY3LTMuNDctMi00Ljc4Yy0xLjQxLTEuMzktMy4yOS0yLjAzLTUuMTMtMS45MUg4Mi40Yy0zLjcyLDAtNi43MywzLjAxLTYuNzMsNi43M2MwLDMuNzIsMy4wMSw2LjczLDYuNzMsNi43M2gxNy42MyBMNjYuNyw0Ny4yTDQzLjY3LDI0Ljk3Yy0yLjYtMi41LTYuNzMtMi41MS05LjMzLDAuMDNMMi4wMyw1Ni41MkwyLjAzLDU2LjUyeiIpLHgociwiYW5pbWF0aW9uIiwibm9uZSIsMSkseChyLCJ0cmFuc2Zvcm0tb3JpZ2luIiwidW5zZXQiLDEpLG1lKG8sInZpZXdCb3giLCIwIDAgMTIyLjg4IDY4LjA0IikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKX0scChlLFt0XSl7MSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gRW4oZSx0LG8pe2xldHt3aWR0aDpyPSIxMnB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3MgUm4gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsRW4sQW4scix7d2lkdGg6MH0pfX1mdW5jdGlvbiBPbihlKXtsZXQgbyxyLGk7cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLG1lKGk9YigicGF0aCIpLCJkIiwiTTY4Ljk4OCw3LjcxOEgyNy4xNDRjLTIuNzMsMC01LjI1LDAuNDczLTcuNTA4LDEuNDE4Yy0yLjI1OCwwLjk0NS00LjM1NywyLjM2Mi02LjI0OCw0LjI1MiBjLTEuODksMS44OS0zLjMwNywzLjk5LTQuMjUyLDYuMjQ4Yy0wLjk0NSwyLjI1OC0xLjQxNyw0Ljc3Ny0xLjQxNyw3LjUwOFY2Ny45OWMwLDIuNzMsMC40NzMsNS4yNSwxLjQxNyw3LjUwOCBjMC45NDUsMi4yNTgsMi4zNjMsNC4zNTcsNC4yNTIsNi4yNDhjMS45NDMsMS44OSw0LjA0MywzLjM2LDYuMzAxLDQuMjUyYzIuMjU4LDAuOTQ1LDQuNzI1LDEuNDE4LDcuNDU1LDEuNDE4aDE3Ljk1NiBjMi4xMDEsMCwzLjgzMywxLjczMiwzLjgzMywzLjgzM2MwLDAuNDczLTAuMTA1LDAuODkzLTAuMjEsMS4zMTNjLTAuNjgzLDIuNTItMS40MTcsNS4wNC0yLjI1OCw3LjQ1NSBjLTAuODkzLDIuNTcyLTEuODM3LDQuOTg3LTIuODg4LDcuMzVjLTAuNTI1LDEuMjA4LTEuMTU1LDIuMzYzLTEuODM3LDMuNTdjMy42NzUtMS42MjcsNy4xNC0zLjUxOCwxMC4zNDMtNS42MTcgYzMuMzYtMi4yMDUsNi41MTEtNC42NzMsOS4zOTgtNy4zNTFjMi45MzktMi43Myw1LjU2NC01LjcyMyw3Ljk3OS04LjkyNWMwLjczNS0wLjk5OCwxLjg5MS0xLjUyMiwzLjA0Ni0xLjUyMmgxNS40MzYgYzIuNzI5LDAsNS4xOTctMC40NzMsNy40NTUtMS40MThjMi4yNTgtMC45NDQsNC4zNTctMi4zNjIsNi4zMDEtNC4yNTNjMS44OS0xLjg5LDMuMzA3LTMuOTksNC4yNTItNi4yNDggYzAuOTQ1LTIuMjU3LDEuNDE4LTQuNzc3LDEuNDE4LTcuNTA4VjI3LjI0OWMwLTIuNzMtMC40NzMtNS4yNS0xLjQxOC03LjUwOGMtMC45NDUtMi4yNTgtMi4zNjItNC4zNTgtNC4yNTItNi4yNDggYy0xLjg5MS0xLjg5LTMuOTkxLTMuMzA4LTYuMjQ4LTQuMjUyYy0yLjI1OC0wLjk0NS00Ljc3OC0xLjQxNy03LjUwOC0xLjQxN0g2OC45ODhWNy43MThMNjguOTg4LDcuNzE4eiBNMzguMzI1LDUyLjgxNiBjLTAuOTE4LTAuODgyLTEuMzk0LTIuMDU3LTEuNDE4LTMuMjM5Yy0wLjAyMy0xLjE4MiwwLjQwNC0yLjM3NSwxLjI4Ni0zLjI5NGMwLjg4Mi0wLjkxOCwyLjA1Ni0xLjM5NCwzLjIzOC0xLjQxNyBjMS4xODMtMC4wMjQsMi4zNzUsMC40MDEsMy4yOTQsMS4yODVsNy45NDEsNy42NGwxNS44MDgtMjAuMDgxYy0wLjAwNy0wLjAyLDAuMTMyLTAuMTM3LDAuMTUzLTAuMTUyIGMxLjkwNS0xLjY0OSw0Ljc3OS0xLjQ2Niw2LjQ2MywwLjQxMWMxLjY4NiwxLjg4LDEuNTQ5LDQuNzY3LTAuMzA4LDYuNDc3TDU1LjgxLDYzLjU0YzAuMDA5LDAuMDA5LTAuMTA0LDAuMTA4LTAuMTE3LDAuMTE5IGMtMC44ODgsMC43NzktMi4wMSwxLjE2Mi0zLjEyNSwxLjE0M2MtMS4xMjUtMC4wMi0yLjI0Ny0wLjQ0Ni0zLjEyMS0xLjI4NUwzOC4zMjUsNTIuODE2TDM4LjMyNSw1Mi44MTZ6IE00Ni4wOTcsMC4wNTNoNDEuODQ1IGMzLjY3NSwwLDcuMTQsMC42ODMsMTAuMzk1LDEuOTk1YzMuMjAzLDEuMzEzLDYuMTQ0LDMuMzA4LDguNzY5LDUuOTMzYzIuNjI1LDIuNjI1LDQuNjIsNS41NjUsNS45MzMsOC43NjggYzEuMzEzLDMuMjAzLDEuOTk0LDYuNjY4LDEuOTk0LDEwLjM5NlY2Ny45OWMwLDMuNzI4LTAuNjgyLDcuMTkyLTEuOTk0LDEwLjM5NnMtMy4zMDgsNi4xNDMtNS45MzMsOC43NjhzLTUuNTY1LDQuNTY4LTguNzY5LDUuOTMzIGMtMy4yMDIsMS4zMTMtNi42NjcsMS45OTUtMTAuMzk1LDEuOTk1SDc0LjM5NmMtMi4zNjIsMi45OTMtNC45MzYsNS44MjgtNy42NjUsOC40Yy0zLjI1NiwzLjA0NS02LjcyMSw1Ljc3NS0xMC40NDgsOC4xOSBjLTMuNzI4LDIuNDY4LTcuNzE4LDQuNjItMTEuOTcxLDYuNDU4Yy00LjIsMS44MzgtOC43MTUsMy4zNTktMTMuNDQsNC42MmMtMS4zNjUsMC4zNjctMi44MzUtMC4wNTMtMy44MzMtMS4xNTUgYy0xLjQxNy0xLjU3NS0xLjI2LTMuOTksMC4zMTUtNS40MDhjMi4yMDUtMS45NDIsNC4wOTUtMy45MzgsNS42MTgtNS45MzJjMS40Ny0xLjk0MywyLjY3OC0zLjkzOCwzLjU3LTUuOTg2di0wLjA1MiBjMC45OTgtMi4yMDUsMS44OTEtNC40NjMsMi42NzgtNi43MjFjMC4yNjItMC43ODcsMC41MjUtMS42MjcsMC43ODgtMi40NjdIMjcuMDkxYy0zLjY3NSwwLTcuMTQtMC42ODMtMTAuMzk2LTEuOTk2IGMtMy4yMDMtMS4zMTItNi4xNDMtMy4zMDctOC43NjgtNS45MzNjLTIuNjI1LTIuNjI1LTQuNjItNS41NjQtNS45MzMtOC43NjhDMC42ODMsNzUuMDc4LDAsNzEuNjEzLDAsNjcuOTM4VjI3LjA5MSBjMC0zLjY3NSwwLjY4My03LjE0MSwxLjk5NS0xMC4zOTZjMS4zMTMtMy4yMDMsMy4zMDgtNi4xNDMsNS45MzMtOC43NjhjMi42MjUtMi42MjUsNS41NjUtNC42Miw4Ljc2OC01LjkzM1MyMy4zNjMsMCwyNy4wOTEsMCBoMTguOTUzTDQ2LjA5NywwLjA1M0w0Ni4wOTcsMC4wNTN6IikseChyLCJhbmltYXRpb24iLCJub25lIiwxKSx4KHIsInRyYW5zZm9ybS1vcmlnaW4iLCJ1bnNldCIsMSksbWUobywidmVyc2lvbiIsIjEuMSIpLG1lKG8sInZpZXdCb3giLCIwIDAgMTE1LjAzMSAxMjIuODgiKSx4KG8sIndpZHRoIixlWzBdKSx4KG8sImhlaWdodCIsZVswXSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKSxzZShyLGkpfSxwKGUsW3RdKXsxJnQmJngobywid2lkdGgiLGVbMF0pLDEmdCYmeChvLCJoZWlnaHQiLGVbMF0pfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBEbihlLHQsbyl7bGV0e3dpZHRoOnI9IjEycHgifT10O3JldHVybiBlLiQkc2V0PWU9Pnsid2lkdGgiaW4gZSYmbygwLHI9ZS53aWR0aCl9LFtyXX1jbGFzcyBCbiBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxEbixPbixyLHt3aWR0aDowfSl9fWZ1bmN0aW9uIFBuKGUpe2xldCBvLHIsaTtyZXR1cm57Yygpe289Yigic3ZnIikscj1iKCJnIiksbWUoaT1iKCJwYXRoIiksImQiLCJNOTcuOTc3LDE4LjcwNWMtMC4zMy0wLjMzLTAuNjctMC41NjgtMS4wMi0wLjcxNmMtMC4zMjgtMC4xMzktMC43MTEtMC4yMDctMS4xNS0wLjIwN2MtMC40NDEsMC0wLjgzMiwwLjA3LTEuMTY0LDAuMjExIGMtMC4zNDQsMC4xNDUtMC42NzYsMC4zNzktMC45OTQsMC43MDJsLTAuMDIxLDAuMDIxbC02LjIwNyw2LjE4OGMtMC45MywwLjkyNS0yLjM2NywxLjAyOC0zLjQxLDAuMzEzIGMtMC43My0wLjQ3Mi0xLjUwOC0wLjkyNy0yLjMyNC0xLjM2OGMtMC44NjUtMC40NjgtMS43MTMtMC44ODgtMi41NDEtMS4yNjhjLTAuODYzLTAuMzk0LTEuNzQ0LTAuNzY1LTIuNjQxLTEuMTEzIGMtMC44MTMtMC4zMTYtMS43MTktMC42MzgtMi43MDctMC45NjRjLTEuMTMxLTAuMzczLTEuODUtMS40MjUtMS44NS0yLjU1NmwwLDBWOC40M2MwLTAuNDU2LTAuMDcyLTAuODU5LTAuMjE1LTEuMjEgYy0wLjE0My0wLjM0Ny0wLjM2MS0wLjY3LTAuNjYyLTAuOTdjLTAuMjkzLTAuMjkzLTAuNjExLTAuNTEtMC45NTktMC42NTFjLTAuMzUtMC4xNDMtMC43NTQtMC4yMTQtMS4yMTEtMC4yMTRINTYuOTU2IGMtMC40MjMsMC0wLjc5OCwwLjA2OC0xLjEyNiwwLjIwNGMtMC4zNDgsMC4xNDMtMC42ODksMC4zNzctMS4wMjYsMC43MDNMNTQuOCw2LjI5NWMtMC4yOTYsMC4yOTYtMC41MTQsMC42MTEtMC42NTQsMC45NDYgQzU0LjAwMiw3LjU4NCw1My45Myw3Ljk4LDUzLjkzLDguNDN2OC43MTRjMCwxLjMyNS0wLjk1NywyLjQyNi0yLjIxNywyLjY1MWMtMC45NTcsMC4yMjgtMS44NDEsMC40NjQtMi42NDYsMC43MTEgYy0wLjg4MiwwLjI3LTEuNzY5LDAuNTc3LTIuNjU4LDAuOTI0Yy0wLjA0NCwwLjAxNy0wLjA4OCwwLjAzMy0wLjEzMiwwLjA0N2MtMC43NzcsMC4zMDItMS41OTYsMC42NTItMi40NTYsMS4wNDkgYy0wLjg3NCwwLjQwMy0xLjY4OCwwLjgxMi0yLjQ0MiwxLjIyM2MtMS4wNjMsMC41NzktMi4zNDUsMC4zNjQtMy4xNjUtMC40NDNsLTAuMDAxLDAuMDAxbC02Ljg3NC02Ljc3NSBjLTAuMDIxLTAuMDIxLTAuMDQyLTAuMDQyLTAuMDYzLTAuMDYzbDAsMC4wMDFjLTAuMjkzLTAuMzEtMC42MDEtMC41MzctMC45MjQtMC42NzhjLTAuMzEtMC4xMzUtMC42NzctMC4yMDQtMS4xMDUtMC4yMDQgYy0wLjQyNSwwLTAuODA1LDAuMDcyLTEuMTM5LDAuMjE1Yy0wLjM2NiwwLjE1Ni0wLjcxNiwwLjQtMS4wNTIsMC43MjlsLTAuMDAyLDAuMDAybC04LjMzOSw4LjM1OGwtMC4wMDUsMC4wMDZsMC4wMDUsMC4wMDUgYy0wLjM0MiwwLjM0Mi0wLjU4NCwwLjY4Mi0wLjcyNywxLjAyYy0wLjEzOSwwLjMyOC0wLjIwOCwwLjcxMS0wLjIwOCwxLjE0OWMwLDAuNDQyLDAuMDcsMC44MzIsMC4yMTEsMS4xNjYgYzAuMTQ1LDAuMzQzLDAuMzc4LDAuNjc1LDAuNzAyLDAuOTkzbDAuMDIxLDAuMDIxbDYuMTg4LDYuMjA4YzAuOTI1LDAuOTMsMS4wMjgsMi4zNjcsMC4zMTMsMy40MSBjLTAuNDcyLDAuNzMxLTAuOTI3LDEuNTA4LTEuMzY3LDIuMzI0Yy0wLjQ2OCwwLjg2Ni0wLjg4OCwxLjcxMi0xLjI2OCwyLjU0MmMtMC4zOTUsMC44NjItMC43NjYsMS43NDQtMS4xMTUsMi42NDEgYy0wLjMxNiwwLjgxMi0wLjYzNywxLjcxOC0wLjk2MywyLjcwNmMtMC4zNzMsMS4xMzItMS40MjYsMS44NS0yLjU1NiwxLjg1djAuMDAxSDguNDMxYy0wLjQ1OCwwLTAuODYsMC4wNzEtMS4yMTEsMC4yMTMgYy0wLjM0NiwwLjE0Mi0wLjY2NiwwLjM1OC0wLjk1OCwwLjY1MUw2LjI1MSw1MS44MWwwLDBjLTAuMjkzLDAuMjkzLTAuNTEsMC42MTItMC42NTIsMC45NThjLTAuMTQzLDAuMzUxLTAuMjEzLDAuNzU0LTAuMjEzLDEuMjExIHYxMS45NDZjMCwwLjQyMiwwLjA2NywwLjc5OCwwLjIwMywxLjEyNWMwLjE0NCwwLjM0OCwwLjM3OCwwLjY4OSwwLjcwNCwxLjAyN2wwLjAwMywwLjAwMmMwLjI5NSwwLjI5NiwwLjYxMSwwLjUxNSwwLjk0NSwwLjY1NCBjMC4zNDQsMC4xNDQsMC43NCwwLjIxNiwxLjE5LDAuMjE2aDguNzEzYzEuMzI1LDAsMi40MjYsMC45NTcsMi42NTEsMi4yMThjMC4yMjgsMC45NTYsMC40NjQsMS44NDEsMC43MTEsMi42NDYgYzAuMjcxLDAuODgyLDAuNTc3LDEuNzY4LDAuOTI0LDIuNjU3YzAuMzI2LDAuODQ3LDAuNjk2LDEuNzI3LDEuMTA4LDIuNjM5YzAuNDIxLDAuOTMzLDAuODMzLDEuNzgzLDEuMjMzLDIuNTUyIGMwLjU1NywxLjA2NiwwLjMyNiwyLjMzNi0wLjQ4NiwzLjE0M2wwLjAwMiwwLjAwMmwtNi43NzYsNi43NTZsLTAuMDQzLDAuMDQyaDAuMDAxYy0wLjMxLDAuMjk0LTAuNTM3LDAuNjAyLTAuNjc3LDAuOTI0IGMtMC4xMzYsMC4zMS0wLjIwNCwwLjY3OC0wLjIwNCwxLjEwNmMwLDAuNDI1LDAuMDcyLDAuODA0LDAuMjE0LDEuMTM4YzAuMTU2LDAuMzY2LDAuNCwwLjcxNywwLjczLDEuMDUybDguMzA5LDguNDA1IGMwLjMyNSwwLjMwMSwwLjY2NCwwLjUyMSwxLjAxOSwwLjY2YzAuMzU2LDAuMTQxLDAuNzYsMC4yMSwxLjIxMiwwLjIxYzAuNDU2LDAsMC44NjctMC4wNzEsMS4yMjktMC4yMTQgYzAuMzQ4LTAuMTM3LDAuNjc1LTAuMzQ3LDAuOTc4LTAuNjMxbDYuMTU5LTYuMjU3YzAuOTI5LTAuOTQ0LDIuMzg0LTEuMDU3LDMuNDM4LTAuMzI5YzAuNzI5LDAuNDcsMS41MDQsMC45MjMsMi4zMTgsMS4zNjIgYzAuODY2LDAuNDY5LDEuNzEyLDAuODg5LDIuNTQyLDEuMjY4YzAuODYyLDAuMzk2LDEuNzQ0LDAuNzY3LDIuNjQxLDEuMTE1YzAuODEyLDAuMzE1LDEuNzE3LDAuNjM3LDIuNzA2LDAuOTYzIGMxLjEzMiwwLjM3MywxLjg1LDEuNDI2LDEuODUsMi41NTZoMC4wMDF2OS41MThjMCwwLjQ1NiwwLjA3MSwwLjg1OSwwLjIxNCwxLjIxYzAuMTQyLDAuMzQ3LDAuMzU4LDAuNjY2LDAuNjUxLDAuOTU5bDAuMDA1LDAuMDA2IGwwLjAwNS0wLjAwNmMwLjU4NywwLjU4NywxLjMwNywwLjg3NiwyLjE2OSwwLjg3NmgxMS45NDRjMC40MjQsMCwwLjc5OS0wLjA2NywxLjEyNy0wLjIwM2MwLjM0OC0wLjE0NCwwLjY4OS0wLjM3OCwxLjAyNS0wLjcwNCBsMC4wMDQtMC4wMDNjMC4yOTUtMC4yOTYsMC41MTQtMC42MTEsMC42NTQtMC45NDVjMC4xNDUtMC4zNDQsMC4yMTctMC43MzksMC4yMTctMS4xODl2LTguNzE1YzAtMS4zMjQsMC45NTUtMi40MjYsMi4yMTctMi42NSBjMC45NTUtMC4yMjgsMS44NC0wLjQ2NSwyLjY0Ni0wLjcxMWMwLjg4MS0wLjI3MSwxLjc2OC0wLjU3NywyLjY1Ni0wLjkyM2MwLjg0OC0wLjMyNywxLjcyOS0wLjY5NywyLjY0My0xLjEwOSBjMC45My0wLjQyMSwxLjc4MS0wLjgzMiwyLjU0Ny0xLjIzMmMxLjA2OC0wLjU1NywyLjMzOC0wLjMyNSwzLjE0NSwwLjQ4NmwwLjAwMi0wLjAwMmw2Ljc1Niw2Ljc3NWwwLjA0MSwwLjA0M3YtMC4wMDEgYzAuMjk3LDAuMzEyLDAuNjA1LDAuNTM4LDAuOTI2LDAuNjc4YzAuMzE0LDAuMTM1LDAuNjkzLDAuMjA0LDEuMTQ1LDAuMjA0YzAuNDQzLDAsMC44MjgtMC4wNzIsMS4xNi0wLjIxNSBjMC4zMzQtMC4xNDUsMC42NDUtMC4zNjgsMC45MjgtMC42NjdjMC4wMzEtMC4wMzQsMC4wNjQtMC4wNjcsMC4xLTAuMWw4LjM2OS04LjI3MmMwLjI5OS0wLjMyNCwwLjUyLTAuNjY0LDAuNjU4LTEuMDE5IGMwLjE0MS0wLjM1NiwwLjIxMS0wLjc2MSwwLjIxMS0xLjIxM2MwLTAuNDU2LTAuMDctMC44NjctMC4yMTMtMS4yMjljLTAuMTM5LTAuMzQ4LTAuMzQ4LTAuNjc0LTAuNjMzLTAuOTc3bC02LjI1Ni02LjE2IGMtMC45NDUtMC45MjktMS4wNTctMi4zODMtMC4zMy0zLjQzOGMwLjQ3MS0wLjcyOSwwLjkyNC0xLjUwNCwxLjM2My0yLjMxN2MwLjQ2OS0wLjg2NSwwLjg4OS0xLjcxMiwxLjI2OC0yLjU0MiBjMC4zOTUtMC44NjIsMC43NjYtMS43NDQsMS4xMTUtMi42NDFjMC4zMTQtMC44MTIsMC42MzctMS43MTgsMC45NjMtMi43MDdjMC4zNzMtMS4xMzIsMS40MjYtMS44NSwyLjU1Ny0xLjg1di0wLjAwMWg5LjUxNiBjMC40NTcsMCwwLjg2MS0wLjA3MSwxLjIxMS0wLjIxNGMwLjM0Ni0wLjE0MiwwLjY2Ni0wLjM1OCwwLjk1OS0wLjY1bDAuMDEtMC4wMTFsMCwwYzAuMjkzLTAuMjk0LDAuNTEyLTAuNjEzLDAuNjUyLTAuOTYgYzAuMTQzLTAuMzUsMC4yMTMtMC43NTMsMC4yMTMtMS4yMVY1Ni45NTVjMC0wLjQyMi0wLjA2Ni0wLjc5OC0wLjIwMy0xLjEyNmMtMC4xNDMtMC4zNDctMC4zNzctMC42ODktMC43MDMtMS4wMjdsLTAuMDA0LTAuMDAzIGMtMC4yOTUtMC4yOTYtMC42MTEtMC41MTQtMC45NDUtMC42NTRjLTAuMzQyLTAuMTQ0LTAuNzM4LTAuMjE2LTEuMTg5LTAuMjE2aC04LjcxM2MtMS4zNDIsMC0yLjQ1My0wLjk3OS0yLjY1OC0yLjI2MiBjLTAuMjExLTAuODQzLTAuNDQ5LTEuNjk4LTAuNzE5LTIuNTY2Yy0wLjI2LTAuODMzLTAuNTY0LTEuNzE0LTAuOTItMi42NDVjLTAuMDE4LTAuMDQ1LTAuMDMzLTAuMDkxLTAuMDQ3LTAuMTM3IGMtMC4zMzgtMC44ODUtMC42ODQtMS43MTctMS4wMzktMi40OTZjLTAuMzg1LTAuODQzLTAuNzkzLTEuNjU4LTEuMjI1LTIuNDQ2Yy0wLjU3OC0xLjA2My0wLjM2My0yLjM0NSwwLjQ0My0zLjE2NXYtMC4wMDEgbDYuNzc1LTYuODc0YzAuMDIxLTAuMDIxLDAuMDQxLTAuMDQyLDAuMDYzLTAuMDYzdjBjMC4zMTEtMC4yOTMsMC41MzctMC42MDEsMC42NzgtMC45MjNjMC4xMzUtMC4zMSwwLjIwNS0wLjY3NywwLjIwNS0xLjEwNSBjMC0wLjQyNS0wLjA3Mi0wLjgwNS0wLjIxNS0xLjEzOWMtMC4xNTYtMC4zNjYtMC40LTAuNzE2LTAuNzMtMS4wNTJsLTAuMDAyLTAuMDAybC04LjM1OS04LjMzOUw5Ny45NzcsMTguNzA1TDk3Ljk3NywxOC43MDUgTDk3Ljk3NywxOC43MDV6IE05OS4wMzksMTMuMDQ0YzEuMDAyLDAuNDIzLDEuOTEyLDEuMDQyLDIuNzMyLDEuODYybDAuMDAyLDAuMDAxbDguMzgxLDguMzYybDAuMDIxLDAuMDIxIGMwLjgwNywwLjgyLDEuNDI0LDEuNzIzLDEuODQ2LDIuNzEzYzAuNDM2LDEuMDIxLDAuNjU2LDIuMTAyLDAuNjU2LDMuMjQzYzAsMS4xNTgtMC4yMjUsMi4yNC0wLjY2OCwzLjI1MSBjLTAuNDMyLDAuOTkyLTEuMDYzLDEuODc0LTEuODc5LDIuNjUzbC01LjM2Nyw1LjQ0NWMwLjE1OCwwLjMyOSwwLjMxNiwwLjY2MiwwLjQ2OSwwLjk5OWMwLjQzLDAuOTM4LDAuODI0LDEuODc4LDEuMTgyLDIuODE5IGMwLjAyLDAuMDQyLDAuMDM3LDAuMDg1LDAuMDUzLDAuMTI5YzAuMzU3LDAuOTM3LDAuNjk5LDEuOTMzLDEuMDI1LDIuOTgxYzAuMTA1LDAuMzM4LDAuMjA3LDAuNjc4LDAuMzA1LDEuMDIxaDYuNjUyIGMxLjE1NiwwLDIuMjM4LDAuMjEyLDMuMjUyLDAuNjM2YzAuOTk2LDAuNDE3LDEuODk2LDEuMDMyLDIuNjk5LDEuODQxbDAuMDU3LDAuMDU3YzAuNzkxLDAuODE4LDEuMzkxLDEuNzIsMS43OTksMi43MSBjMC40MTgsMS4wMDcsMC42MjUsMi4wNjIsMC42MjUsMy4xNjdWNjguOWMwLDEuMTQ5LTAuMjAzLDIuMjI1LTAuNjEzLDMuMjNjLTAuNDEsMS4wMDMtMS4wMjEsMS45MTQtMS44MzgsMi43MzNsLTAuMDA0LDAuMDAzIGwtMC4wMDYsMC4wMDdsLTAuMDA0LDAuMDA0Yy0wLjgyLDAuODE3LTEuNzMsMS40My0yLjczNiwxLjg0Yy0xLjAwNiwwLjQwOS0yLjA4MiwwLjYxMy0zLjIzLDAuNjEzaC03LjYwOSBjLTAuMTMzLDAuMzU4LTAuMjcxLDAuNzI4LTAuNDIsMS4xMDZjLTAuMzgxLDAuOTc5LTAuNzkzLDEuOTU4LTEuMjQsMi45MzZjLTAuNDYzLDEuMDExLTAuOTM0LDEuOTY2LTEuNDE0LDIuODU3IGMtMC4xNTgsMC4yOTItMC4zMiwwLjU4My0wLjQ4NiwwLjg3NGw0Ljc1LDQuNjc2YzAuMDM1LDAuMDMzLDAuMDY4LDAuMDY2LDAuMTA0LDAuMTAyYzAuNzc5LDAuODI0LDEuMzY1LDEuNzM5LDEuNzYsMi43MzkgYzAuMzk2LDEuMDA0LDAuNTkyLDIuMDY4LDAuNTkyLDMuMTg2YzAsMS4xMTQtMC4xOTUsMi4xNjktMC41ODgsMy4xNjljLTAuMzkzLDAuOTk3LTAuOTczLDEuOTA4LTEuNzQ0LDIuNzM0di0wLjAwMSBjLTAuMDI3LDAuMDI4LTAuMDU1LDAuMDU4LTAuMDg0LDAuMDg2bC04LjQzLDguMzMzYy0wLjc5MSwwLjgyOS0xLjY4MiwxLjQ2My0yLjY4MiwxLjg5M2MtMS4wMSwwLjQzNi0yLjEwMiwwLjY1Ny0zLjI4MywwLjY1NyBjLTEuMTU2LDAtMi4yNDYtMC4yMjYtMy4yNy0wLjY2N2MtMS4wMTQtMC40MzktMS45MS0xLjA3NC0yLjY5MS0xLjg5OGwtNS4zNDQtNS4zNThjLTAuMzU3LDAuMTcyLTAuNzA3LDAuMzM1LTEuMDQ3LDAuNDg5IGMtMC45MSwwLjQxLTEuODgzLDAuODE1LTIuOTE2LDEuMjE0Yy0wLjk3MSwwLjM3OC0xLjk4NCwwLjcyNy0zLjAzNSwxLjA0OWMtMC4zNSwwLjEwNy0wLjY5NSwwLjIwOS0xLjAzNSwwLjMwNnY2LjYzOCBjMCwxLjE1NS0wLjIxMywyLjIzOC0wLjYzNywzLjI1MWMtMC40MTgsMC45OTctMS4wMzEsMS44OTYtMS44NDIsMi43bC0wLjA1NywwLjA1OGMtMC44MTgsMC43ODktMS43MjEsMS4zODgtMi43MDksMS43OTggYy0xLjAwOCwwLjQxNy0yLjA2MywwLjYyNC0zLjE2OCwwLjYyNEg1My45NzljLTIuMzQ5LDAtNC4zMzMtMC44MS01Ljk3Ny0yLjQ1NGwwLjAwNS0wLjAwNWMtMC44Mi0wLjgyMS0xLjQzNS0xLjczNC0xLjg0NS0yLjc0MSBjLTAuNDEtMS4wMDYtMC42MTQtMi4wODEtMC42MTQtMy4yM3YtNy42MDljLTAuMzU5LTAuMTMzLTAuNzI4LTAuMjcyLTEuMTA3LTAuNDJjLTAuOTc4LTAuMzgxLTEuOTU3LTAuNzkzLTIuOTM1LTEuMjQxIGMtMS4wMTEtMC40NjItMS45NjYtMC45MzQtMi44NTgtMS40MTVjLTAuMjkxLTAuMTU3LTAuNTgyLTAuMzE5LTAuODczLTAuNDg1bC00LjY3Niw0Ljc1Yy0wLjAzMywwLjAzNS0wLjA2NywwLjA2OS0wLjEwMiwwLjEwMyBjLTAuODI0LDAuNzgxLTEuNzM5LDEuMzY3LTIuNzM5LDEuNzYxYy0xLjAwNCwwLjM5Ni0yLjA2OCwwLjU5My0zLjE4NiwwLjU5M2MtMS4xMTQsMC0yLjE3LTAuMTk1LTMuMTY5LTAuNTg5IGMtMC45OTctMC4zOTMtMS45MDctMC45NzMtMi43MzQtMS43NDNsMC4wMDEtMC4wMDJjLTAuMDI5LTAuMDI2LTAuMDU4LTAuMDU0LTAuMDg1LTAuMDgzbC04LjM4MS04LjQ3OCBjLTAuODA2LTAuODItMS40MjMtMS43MjQtMS44NDUtMi43MTRjLTAuNDM1LTEuMDIyLTAuNjU2LTIuMTAyLTAuNjU2LTMuMjQyYzAtMS4xNTgsMC4yMjUtMi4yNCwwLjY2Ny0zLjI1MiBjMC40MzctMC45OTksMS4wNzEtMS44ODYsMS44OTctMi42N2w1LjM1OS01LjM0NGMtMC4xNzItMC4zNTctMC4zMzYtMC43MDctMC40OS0xLjA1Yy0wLjQxMS0wLjkwOS0wLjgxNS0xLjg4LTEuMjEzLTIuOTEyIGMtMC4zNzgtMC45NzEtMC43MjgtMS45ODQtMS4wNS0zLjAzNmMtMC4xMDctMC4zNTEtMC4yMDktMC42OTUtMC4zMDYtMS4wMzVIOC40MzFjLTEuMTU2LDAtMi4yMzktMC4yMTMtMy4yNTEtMC42MzcgYy0wLjk5OC0wLjQxNy0xLjg5Ny0xLjAzMS0yLjctMS44NDFMMi40MjIsNzEuOGMtMC43OS0wLjgxNy0xLjM4OS0xLjcyLTEuNzk4LTIuNzA5QzAuMjA3LDY4LjA4MywwLDY3LjAyOCwwLDY1LjkyNVY1My45NzkgYzAtMS4xNDksMC4yMDQtMi4yMjUsMC42MTQtMy4yM2MwLjQxLTEuMDA1LDEuMDIxLTEuOTE2LDEuODM5LTIuNzM1bDAuMDAxLTAuMDAxbDAuMDA2LTAuMDA1bDAuMDA1LTAuMDA1IGMwLjgyLTAuODE4LDEuNzMtMS40MywyLjczNi0xLjg0YzEuMDA1LTAuNDEsMi4wODEtMC42MTMsMy4yMy0wLjYxM2g3LjYwOWMwLjEzMi0wLjM1OSwwLjI3Mi0wLjcyOCwwLjQyLTEuMTA3IGMwLjM4LTAuOTc4LDAuNzkzLTEuOTU3LDEuMjQxLTIuOTM2YzAuNDYyLTEuMDExLDAuOTMzLTEuOTY2LDEuNDE1LTIuODU3YzAuMTYtMC4yOTcsMC4zMjYtMC41OTQsMC40OTYtMC44OTFsLTQuNjgxLTQuNjk2IGwtMC4wMDItMC4wMDFjLTAuODI3LTAuODEzLTEuNDUzLTEuNzI4LTEuODgtMi43MzljLTAuNDM3LTEuMDMyLTAuNjUzLTIuMTE4LTAuNjUzLTMuMjQ5YzAtMS4xMjksMC4yMTUtMi4yMDUsMC42NDktMy4yMzIgYzAuNDMtMS4wMTcsMS4wNS0xLjkzMiwxLjg2My0yLjc0NWwwLjAwNSwwLjAwNWw4LjM1Ni04LjM3NmwwLjAyMS0wLjAyMWMwLjgyLTAuODA2LDEuNzIzLTEuNDIzLDIuNzEzLTEuODQ1IGMxLjAyMi0wLjQzNSwyLjEwMi0wLjY1NywzLjI0My0wLjY1N2MxLjE1NywwLDIuMjM5LDAuMjI1LDMuMjUxLDAuNjY3YzAuOTkyLDAuNDMzLDEuODc0LDEuMDYzLDIuNjUzLDEuODhsNS40NDEsNS4zNjIgYzAuMzI3LTAuMTYyLDAuNjUzLTAuMzE3LDAuOTc4LTAuNDY3YzAuODM3LTAuMzg2LDEuNzYxLTAuNzc1LDIuNzcyLTEuMTY3YzAuMDQzLTAuMDIsMC4wODctMC4wMzgsMC4xMzEtMC4wNTUgYzAuOTcxLTAuMzc4LDEuOTg1LTAuNzI4LDMuMDM3LTEuMDVjMC4zNS0wLjEwNywwLjY5NS0wLjIwOSwxLjAzNS0wLjMwNlY4LjQzYzAtMS4xNTUsMC4yMTMtMi4yMzgsMC42MzctMy4yNSBjMC40MTctMC45OTgsMS4wMzItMS44OTcsMS44NDEtMi43MDFsMC4wNTctMC4wNTdjMC44MTgtMC43OSwxLjcyLTEuMzg4LDIuNzA5LTEuNzk3QzU0Ljc5NiwwLjIwNyw1NS44NTEsMCw1Ni45NTYsMEg2OC45IGMxLjE0OCwwLDIuMjI1LDAuMjAzLDMuMjMsMC42MTNjMS4wMSwwLjQxMiwxLjkyNCwxLjAyNywyLjc0OCwxLjg1YzAuODE0LDAuODE2LDEuNDI4LDEuNzI4LDEuODQsMi43MzcgYzAuNDEsMS4wMDUsMC42MTMsMi4wODEsMC42MTMsMy4yMjl2Ny42MWMwLjM1OSwwLjEzMywwLjcyNywwLjI3MywxLjEwNywwLjQyYzAuOTc3LDAuMzgsMS45NTUsMC43OTMsMi45MzQsMS4yNCBjMS4wMTIsMC40NjIsMS45NjcsMC45MzQsMi44NTcsMS40MTZjMC4yOTksMC4xNjEsMC41OTYsMC4zMjYsMC44OTMsMC40OTZsNC42OTUtNC42ODFsMC4wMDItMC4wMDEgYzAuODEzLTAuODI3LDEuNzI5LTEuNDUzLDIuNzM4LTEuODhjMS4wMzMtMC40MzcsMi4xMTctMC42NTMsMy4yNDgtMC42NTNDOTYuOTM2LDEyLjM5Niw5OC4wMTIsMTIuNjEsOTkuMDM5LDEzLjA0NEw5OS4wMzksMTMuMDQ0IHogTTYxLjQ0LDM1LjM0NmMxLjc4MSwwLDMuNTE5LDAuMTcsNS4yMTQsMC41MDhjMS42NjYsMC4zMzMsMy4zMTgsMC44NDQsNC45NTMsMS41MzRsMC4wMTgsMC4wMDhsMC4wMDQtMC4wMDggYzEuNTYxLDAuNjc0LDMuMDQxLDEuNDc5LDQuNDQxLDIuNDE3YzEuMzg3LDAuOTI5LDIuNjcyLDEuOTc4LDMuODUsMy4xNDVsMC4wMSwwLjAxMWwwLDBjMS4xNjgsMS4xNzksMi4yMTcsMi40NjMsMy4xNDYsMy44NTEgYzAuOTM4LDEuNCwxLjc0MiwyLjg4LDIuNDE2LDQuNDQxYzAuMDMxLDAuMDc0LDAuMDU5LDAuMTQ4LDAuMDg0LDAuMjIzYzAuNjQ2LDEuNTY5LDEuMTMxLDMuMTUyLDEuNDQ5LDQuNzUxIGMwLjM0LDEuNjk2LDAuNTA4LDMuNDMzLDAuNTA4LDUuMjEzYzAsMS43ODEtMC4xNjgsMy41MTktMC41MDgsNS4yMTRjLTAuMzMyLDEuNjY3LTAuODQ0LDMuMzE3LTEuNTMzLDQuOTUzbC0wLjAwOCwwLjAxOCBsMC4wMDgsMC4wMDRjLTAuNjc0LDEuNTYxLTEuNDc5LDMuMDQtMi40MTYsNC40NGMtMC45MywxLjM4OC0xLjk3OSwyLjY3Mi0zLjE0NiwzLjg1MWwtMC4wMSwwLjAxMWwwLDAgYy0xLjE4LDEuMTY4LTIuNDYzLDIuMjE3LTMuODUyLDMuMTQ2Yy0xLjM5OCwwLjkzOC0yLjg3OSwxLjc0Mi00LjQzOSwyLjQxNmMtMC4wNzQsMC4wMzEtMC4xNDgsMC4wNi0wLjIyNSwwLjA4NCBjLTEuNTY4LDAuNjQ3LTMuMTUyLDEuMTMxLTQuNzUsMS40NWMtMS42OTUsMC4zMzktMy40MzQsMC41MDgtNS4yMTQsMC41MDhjLTEuNzgxLDAtMy41MTgtMC4xNjktNS4yMTMtMC41MDggYy0xLjY2Ny0wLjMzMy0zLjMxOC0wLjg0NS00Ljk1NC0xLjUzNGwtMC4wMTgtMC4wMDhsLTAuMDAzLDAuMDA4Yy0xLjU2MS0wLjY3NC0zLjA0Mi0xLjQ3OS00LjQ0MS0yLjQxNiBjLTEuMzg4LTAuOTI5LTIuNjcyLTEuOTc4LTMuODUtMy4xNDZsLTAuMDEtMC4wMTFsMCwwYy0xLjE2OC0xLjE4LTIuMjE4LTIuNDYzLTMuMTQ2LTMuODUyYy0wLjkzNy0xLjM5OS0xLjc0Mi0yLjg4LTIuNDE1LTQuNDM5IGMtMC4wMzItMC4wNzQtMC4wNi0wLjE0OC0wLjA4NS0wLjIyNGMtMC42NDctMS41NjktMS4xMzEtMy4xNTItMS40NS00Ljc1MWMtMC4zMzgtMS42OTUtMC41MDgtMy40MzMtMC41MDgtNS4yMTQgYzAtMS43ODEsMC4xNjktMy41MTgsMC41MDgtNS4yMTNjMC4zMzMtMS42NjcsMC44NDUtMy4zMTgsMS41MzUtNC45NTNsMC4wMDctMC4wMThsLTAuMDA3LTAuMDAzIGMwLjY3My0xLjU2MSwxLjQ3OS0zLjA0MSwyLjQxNS00LjQ0YzAuOTI5LTEuMzg5LDEuOTc4LTIuNjcyLDMuMTQ2LTMuODUybDAuMDExLTAuMDFsMCwwYzEuMTc4LTEuMTY3LDIuNDYyLTIuMjE2LDMuODQ5LTMuMTQ1IGMxLjQtMC45MzcsMi44ODEtMS43NDMsNC40NDItMi40MTdjMC4wNzQtMC4wMzIsMC4xNDgtMC4wNiwwLjIyNC0wLjA4NGMxLjU2OS0wLjY0NywzLjE1MS0xLjEzLDQuNzUtMS40NDkgQzU3LjkyMiwzNS41MTYsNTkuNjU5LDM1LjM0Niw2MS40NCwzNS4zNDZMNjEuNDQsMzUuMzQ2eiBNNjUuNjAyLDQxLjEzNGMtMS4zNDQtMC4yNjktMi43My0wLjQwMy00LjE2Mi0wLjQwMyBjLTEuNDMxLDAtMi44MTcsMC4xMzQtNC4xNjIsMC40MDNjLTEuMzA2LDAuMjYxLTIuNTUzLDAuNjM1LTMuNzQxLDEuMTIyYy0wLjA1MiwwLjAyNi0wLjEwNSwwLjA1Mi0wLjE2LDAuMDc1IGMtMS4yOTgsMC41NjEtMi40OTIsMS4yMDUtMy41OCwxLjkzM2MtMS4wOTYsMC43MzMtMi4xMSwxLjU2My0zLjA0NCwyLjQ4N2MtMC45MjUsMC45MzUtMS43NTUsMS45NTEtMi40ODksMy4wNDggYy0wLjcyOCwxLjA4Ny0xLjM3MiwyLjI4LTEuOTMyLDMuNTc4bC0wLjAwNy0wLjAwM2MtMC41MjEsMS4yMzctMC45MTcsMi41MzktMS4xOTEsMy45MDVjLTAuMjY4LDEuMzQ0LTAuNDAyLDIuNzMtMC40MDIsNC4xNjEgczAuMTM0LDIuODE3LDAuNDAyLDQuMTYyYzAuMjYxLDEuMzA2LDAuNjM2LDIuNTUzLDEuMTIzLDMuNzQxYzAuMDI2LDAuMDUzLDAuMDUyLDAuMTA1LDAuMDc1LDAuMTYgYzAuNTYsMS4yOTgsMS4yMDQsMi40OSwxLjkzMSwzLjU3N2MwLjczNCwxLjA5NywxLjU2NCwyLjExMywyLjQ5LDMuMDQ4YzAuOTM0LDAuOTI1LDEuOTQ5LDEuNzU0LDMuMDQ1LDIuNDg3IGMxLjA4NywwLjcyOCwyLjI4LDEuMzcyLDMuNTc5LDEuOTMzbC0wLjAwMywwLjAwN2MxLjIzOCwwLjUyMSwyLjUzOSwwLjkxOCwzLjkwNSwxLjE5YzEuMzQ0LDAuMjY5LDIuNzMxLDAuNDAyLDQuMTYyLDAuNDAyIGMxLjQzMSwwLDIuODE4LTAuMTM0LDQuMTYyLTAuNDAyYzEuMzA3LTAuMjYxLDIuNTUzLTAuNjM1LDMuNzQyLTEuMTIyYzAuMDUxLTAuMDI2LDAuMTA1LTAuMDUyLDAuMTYtMC4wNzUgYzEuMjk3LTAuNTYxLDIuNDktMS4yMDUsMy41NzgtMS45MzNjMS4wOTYtMC43MzMsMi4xMTEtMS41NjMsMy4wNDUtMi40ODdjMC45MjYtMC45MzUsMS43NTYtMS45NSwyLjQ5LTMuMDQ3IGMwLjcyNy0xLjA4NywxLjM3MS0yLjI4LDEuOTMtMy41NzhsMC4wMDgsMC4wMDNjMC41MjEtMS4yMzcsMC45MTgtMi41MzksMS4xOTEtMy45MDRjMC4yNjgtMS4zNDUsMC40MDItMi43MzEsMC40MDItNC4xNjIgcy0wLjEzNS0yLjgxNy0wLjQwMi00LjE2MWMtMC4yNjItMS4zMDctMC42MzUtMi41NTMtMS4xMjMtMy43NDJjLTAuMDI3LTAuMDUyLTAuMDUxLTAuMTA1LTAuMDc2LTAuMTYgYy0wLjU1OS0xLjI5OC0xLjIwMy0yLjQ5MS0xLjkzMi0zLjU3OGMtMC43MzItMS4wOTctMS41NjMtMi4xMTMtMi40ODgtMy4wNDdjLTAuOTM0LTAuOTI0LTEuOTQ5LTEuNzU0LTMuMDQ1LTIuNDg3IGMtMS4wODgtMC43MjgtMi4yODEtMS4zNzItMy41NzgtMS45MzNsMC4wMDItMC4wMDdDNjguMjcsNDEuODA0LDY2Ljk2OSw0MS40MDcsNjUuNjAyLDQxLjEzNEw2NS42MDIsNDEuMTM0eiIpLHgociwiYW5pbWF0aW9uIiwibm9uZSIsMSkseChyLCJ0cmFuc2Zvcm0tb3JpZ2luIiwidW5zZXQiLDEpLG1lKG8sInZlcnNpb24iLCIxLjEiKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDEyMi44ODEgMTIyLjg4IikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKX0scChlLFt0XSl7MSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gX24oZSx0LG8pe2xldHt3aWR0aDpyPSIxMnB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3Mgam4gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsX24sUG4scix7d2lkdGg6MH0pfX1mdW5jdGlvbiBObihlKXtsZXQgbyxyO3JldHVybntjKCl7bz1iKCJzdmciKSxtZShyPWIoInBhdGgiKSwiZmlsbC1ydWxlIiwiZXZlbm9kZCIpLG1lKHIsImNsaXAtcnVsZSIsImV2ZW5vZGQiKSxtZShyLCJkIiwiTTcuODEwMzUgMTIuMjk5OUw1Ljk0MDM1IDE0LjI5OTlDNS41MDAzNSAxNC43Njk5IDQuOTQwMzMgMTUuMDA5OSA0LjMyMDMzIDE0Ljk5OTlDMy43MTAzMyAxNC45Nzk5IDMuMTIwMzUgMTQuNjk5OSAyLjY2MDM1IDE0LjIwOTlDMS43MDAzNSAxMy4xODk5IDEuNjcwMzQgMTEuNjc5OSAyLjU4MDM0IDEwLjcwOTlMNC40NTAzMyA4LjcwOTg1QzQuODIwMzMgOC4zMTk4NSA0LjgyMDMzIDcuNjg5ODcgNC40NTAzMyA3LjI4OTg3QzQuMDgwMzMgNi44OTk4NyAzLjQ5MDM2IDYuODk5ODcgMy4xMzAzNiA3LjI4OTg3TDEuMjYwMzMgOS4yODk4N0MtMC4zNzk2NyAxMS4wMzk5IC0wLjMzOTY1MyAxMy44MTk5IDEuMzQwMzUgMTUuNjE5OUMyLjE0MDM1IDE2LjQ3OTkgMy4xODAzNSAxNi45NTk5IDQuMjgwMzUgMTYuOTg5OUM0LjMxMDM1IDE2Ljk4OTkgNC4zNTAzNiAxNi45ODk5IDQuMzgwMzYgMTYuOTg5OUM1LjQ2MDM2IDE2Ljk4OTkgNi40OTAzMyAxNi41Mjk5IDcuMjYwMzMgMTUuNjk5OUw5LjEzMDM2IDEzLjY5OTlDOS41MDAzNiAxMy4zMDk5IDkuNTAwMzYgMTIuNjc5OSA5LjEzMDM2IDEyLjI3OTlDOC43NzAzNiAxMS44OTk5IDguMTcwMzUgMTEuODk5OSA3LjgxMDM1IDEyLjI5OTlaTTEwLjA3MDMgNi4yODk4N0M5LjcwMDMzIDUuODk5ODcgOS4xMTAzNSA1Ljg5OTg3IDguNzUwMzUgNi4yODk4N0w1LjAxMDMzIDEwLjI4OTlDNC42NDAzMyAxMC42Nzk5IDQuNjQwMzMgMTEuMzA5OSA1LjAxMDMzIDExLjcwOTlDNS4xOTAzMyAxMS45MDk5IDUuNDMwMzMgMTEuOTk5OSA1LjY3MDMzIDExLjk5OTlDNS45MTAzMyAxMS45OTk5IDYuMTUwMzQgMTEuODk5OSA2LjMzMDM0IDExLjcwOTlMMTAuMDcwMyA3LjcwOTg1QzEwLjQzMDMgNy4zMDk4NSAxMC40MzAzIDYuNjc5ODcgMTAuMDcwMyA2LjI4OTg3Wk0xMy43MzAzIDIuMzY5ODZDMTIuMDQwMyAwLjU2OTg1OCA5LjQ0MDM1IDAuNTI5ODYyIDcuODEwMzUgMi4yNzk4Nkw1Ljk0MDM1IDQuMjc5ODZDNS41NzAzNSA0LjY2OTg2IDUuNTcwMzUgNS4yOTk4OCA1Ljk0MDM1IDUuNjk5ODhDNi4zMTAzNSA2LjA4OTg4IDYuOTAwMzMgNi4wODk4OCA3LjI2MDMzIDUuNjk5ODhMOS4xMzAzNiAzLjY5OTg4QzEwLjA0MDQgMi43MTk4OCAxMS40NTA0IDIuNzU5ODcgMTIuNDEwNCAzLjc4OTg3QzEzLjM3MDQgNC44MDk4NyAxMy40MDAzIDYuMzE5ODcgMTIuNDkwMyA3LjI4OTg3TDEwLjYyMDMgOS4yODk4N0MxMC4yNTAzIDkuNjc5ODcgMTAuMjUwMyAxMC4zMDk5IDEwLjYyMDMgMTAuNzA5OUMxMC44MDAzIDEwLjkwOTkgMTEuMDQwMyAxMC45OTk5IDExLjI4MDMgMTAuOTk5OUMxMS41MjAzIDEwLjk5OTkgMTEuNzYwNCAxMC44OTk5IDExLjk0MDQgMTAuNzA5OUwxMy44MTAzIDguNzA5ODVDMTUuNDUwMyA2Ljk0OTg1IDE1LjQyMDMgNC4xNjk4NiAxMy43MzAzIDIuMzY5ODZaIikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pLG1lKG8sInZpZXdCb3giLCIwIDAgMTYgMTciKSxtZShvLCJ4bWxucyIsImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIil9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKX0scChlLFt0XSl7MSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gVm4oZSx0LG8pe2xldHt3aWR0aDpyPSIxMnB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3MgTW4gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsVm4sTm4scix7d2lkdGg6MH0pfX1mdW5jdGlvbiB6bihlKXtsZXQgbyxyO3JldHVybntjKCl7bz1iKCJzdmciKSxtZShyPWIoInBhdGgiKSwiZCIsIm0yNjQuNDY1IDE3LjU5OGMtMzkuNTAxIDAtNzguNDQyIDkuNTE3LTExMy4zNDEgMjcuNjA0bC00MC44MDYtNDAuODA4Yy0zLjYwOS0zLjYxMS04LjgwOS01LjEzNy0xMy43OTctNC4wNTFzLTkuMDgyIDQuNjM1LTEwLjg2NSA5LjQxOWwtMjAuNjA2IDU1LjI4OS01NS4yODggMjAuNjA1Yy00Ljc4NCAxLjc4My04LjMzMyA1Ljg3Ny05LjQxOSAxMC44NjUtMS4wODUgNC45ODguNDQgMTAuMTg3IDQuMDUxIDEzLjc5N2w0MC44MDcgNDAuODA4Yy0xOC4wODcgMzQuODk4LTI3LjYwNCA3My44MzktMjcuNjA0IDExMy4zNCAwIDEzNi4xMjQgMTEwLjc0NCAyNDYuODY5IDI0Ni44NjggMjQ2Ljg2OXMyNDYuODctMTEwLjc0NSAyNDYuODctMjQ2Ljg2OS0xMTAuNzQ2LTI0Ni44NjgtMjQ2Ljg3LTI0Ni44Njh6bTAgMzI4LjExNmM0NC44MDEgMCA4MS4yNDktMzYuNDQ3IDgxLjI0OS04MS4yNDhzLTM2LjQ0OC04MS4yNDgtODEuMjQ5LTgxLjI0OGMtMTYuOTkyIDAtMzIuNzc1IDUuMjUyLTQ1LjgzIDE0LjIwNWwtMzcuNzE3LTM3LjcxN2MyMi45MzEtMTguMzI0IDUxLjk4LTI5LjI5OSA4My41NDctMjkuMjk5IDczLjkyIDAgMTM0LjA1OSA2MC4xMzkgMTM0LjA1OSAxMzQuMDU5cy02MC4xMzkgMTM0LjA1OS0xMzQuMDU5IDEzNC4wNTktMTM0LjA1OC02MC4xMzktMTM0LjA1OC0xMzQuMDU5YzAtMzEuNTY3IDEwLjk3NC02MC42MTYgMjkuMjk4LTgzLjU0N2wzNy43MTcgMzcuNzE3Yy04Ljk1MyAxMy4wNTUtMTQuMjA1IDI4LjgzOC0xNC4yMDUgNDUuODMgMCA0NC44IDM2LjQ0OCA4MS4yNDggODEuMjQ4IDgxLjI0OHptMTAuNjA3LTkxLjg1NS0zNC42NC0zNC42NGM3LjE3My0zLjgyNSAxNS4zNTMtNi4wMDIgMjQuMDMzLTYuMDAyIDI4LjI1OSAwIDUxLjI0OSAyMi45OSA1MS4yNDkgNTEuMjQ4cy0yMi45OSA1MS4yNDgtNTEuMjQ5IDUxLjI0OGMtMjguMjU4IDAtNTEuMjQ4LTIyLjk5LTUxLjI0OC01MS4yNDggMC04LjY4MSAyLjE3Ny0xNi44NTkgNi4wMDItMjQuMDMzbDM0LjY0IDM0LjY0YzIuOTI5IDIuOTI5IDYuNzY4IDQuMzkzIDEwLjYwNiA0LjM5MyAzLjgzOSAwIDcuNjc4LTEuNDY1IDEwLjYwNi00LjM5MyA1Ljg1OS01Ljg1NyA1Ljg1OS0xNS4zNTUuMDAxLTIxLjIxM3ptLTE2OS40NTgtMjExLjc0MyA1MC40NzYgNTAuNDc3LTYuNDg5IDM1Ljc5NS01NS40NjgtNTUuNDY3em0tNjMuNDk4IDYzLjQ5OCAzMC44MDUtMTEuNDggNTUuNDY4IDU1LjQ2Ny0zNS43OTYgNi40OXptMjIyLjM0OSAzNzUuNzIxYy0xMTkuNTgxIDAtMjE2Ljg2OC05Ny4yODctMjE2Ljg2OC0yMTYuODY5IDAtMzEuNDc5IDYuODgyLTYyLjU0NyAyMC4wMjEtOTAuOTI0bDkuMzE1IDkuMzE1YzIuODM4IDIuODM5IDYuNjY0IDQuMzk0IDEwLjYwNiA0LjM5NC44ODkgMCAxLjc4NC0uMDc5IDIuNjc2LS4yNGwzMy4wNTUtNS45OTJjLTE0LjUxNCAyNC40NjUtMjIuODYyIDUyLjk5Ny0yMi44NjIgODMuNDQ3IDAgOTAuNDYyIDczLjU5NiAxNjQuMDU5IDE2NC4wNTggMTY0LjA1OXMxNjQuMDU5LTczLjU5NyAxNjQuMDU5LTE2NC4wNTktNzMuNTk3LTE2NC4wNTktMTY0LjA1OS0xNjQuMDU5Yy0zMC40NSAwLTU4Ljk4MiA4LjM0OS04My40NDcgMjIuODYzbDUuOTkyLTMzLjA1NWMuODc3LTQuODQtLjY3NS05LjgwNC00LjE1My0xMy4yODJsLTkuMzE1LTkuMzE1YzI4LjM3Ni0xMy4xMzkgNTkuNDQ0LTIwLjAyMSA5MC45MjQtMjAuMDIxIDExOS41ODIgMCAyMTYuODY5IDk3LjI4NyAyMTYuODY5IDIxNi44NjgtLjAwMSAxMTkuNTgzLTk3LjI4OSAyMTYuODctMjE2Ljg3MSAyMTYuODd6IiksbWUobywidmlld0JveCIsIjAgMCA1MTEuMzM1IDUxMS4zMzUiKSx4KG8sIndpZHRoIixlWzBdKSx4KG8sImhlaWdodCIsZVswXSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKX0scChlLFt0XSl7MSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gRm4oZSx0LG8pe2xldHt3aWR0aDpyPSIxMnB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3MgVW4gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsRm4sem4scix7d2lkdGg6MH0pfX1mdW5jdGlvbiBXbihlLHQsbyl7ZT1lLnNsaWNlKCk7cmV0dXJuIGVbMzddPXRbb10sZX1mdW5jdGlvbiBIbihlLHQsbyl7ZT1lLnNsaWNlKCk7cmV0dXJuIGVbNDBdPXRbb10sZX1mdW5jdGlvbiBHbihvKXtsZXQgcixpLG4sYSxzLGwsYyxkLHAsdT1vWzhdPy5sZW5ndGgrIiIsZyxtLGYsaCxiLHgseSx3LEMsdixrLEksUyxULEw7dmFyICQ9b1s1XTskJiYoYT14bygkLHt9KSksKGI9bmV3IHluKHtwcm9wczp7Y2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6b1syNF0sY2F0ZWdvcnlTZWxlY3Rvckljb246b1syNV0sYWN0aXZlOjE9PW9bMV18fDA8b1s5XSxpZDpvWzFdLnRvU3RyaW5nKCl9fSkpLiRvbigidG9nZ2xlZCIsb1sxMF0pO2xldCBBPTA8b1s4XT8ubGVuZ3RoJiZxbihvKSxFPW9bNl0mJkpuKG8pO3JldHVybntjKCl7cj1kZSgiZGl2IiksaT1kZSgiZGl2Iiksbj1kZSgiaSIpLGEmJnhlKGEuJCQuZnJhZ21lbnQpLHM9dWUoKSxsPXBlKG9bMl0pLGM9cGUoIiAoIiksZD1wZShvWzldKSxwPXBlKCIvIiksZz1wZSh1KSxtPXBlKCIpIiksZj11ZSgpLGg9ZGUoImRpdiIpLHhlKGIuJCQuZnJhZ21lbnQpLHg9dWUoKSx5PWRlKCJkaXYiKSx3PXBlKG9bM10pLEM9dWUoKSxBJiZBLmMoKSx2PXVlKCksRSYmRS5jKCksbWUobiwiY2xhc3MiLG9bMTZdKCkpLG1lKGksImNsYXNzIixvWzE1XSgpKSxtZSh5LCJjbGFzcyIsb1sxN10oKSksbWUociwiY2xhc3MiLGs9b1sxNF0oe3JlcXVpcmVkOm9bNF19KSksbWUociwiaWQiLEk9ImNhdCQiK29bMV0udG9TdHJpbmcoKSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxzZShpLG4pLGEmJnllKGEsbixudWxsKSxzZShpLHMpLHNlKGksbCksc2UoaSxjKSxzZShpLGQpLHNlKGkscCksc2UoaSxnKSxzZShpLG0pLHNlKHIsZiksc2UocixoKSx5ZShiLGgsbnVsbCksc2Uocix4KSxzZShyLHkpLHNlKHksdyksc2UocixDKSxBJiZBLm0ocixudWxsKSxzZShyLHYpLEUmJkUubShyLG51bGwpLFM9ITAsVHx8KEw9Z2UoaSwiY2xpY2siLG9bMTFdKSxUPSEwKX0scChlLHQpe2lmKDMyJnRbMF0mJiQhPT0oJD1lWzVdKSl7aWYoYSl7aWUoKTtsZXQgZT1hO2JlKGUuJCQuZnJhZ21lbnQsMSwwLCgpPT57d2UoZSwxKX0pLG5lKCl9JD8oeGUoKGE9eG8oJCx7fSkpLiQkLmZyYWdtZW50KSxoZShhLiQkLmZyYWdtZW50LDEpLHllKGEsbixudWxsKSk6YT1udWxsfSghU3x8NCZ0WzBdKSYmZmUobCxlWzJdKSwoIVN8fDUxMiZ0WzBdKSYmZmUoZCxlWzldKSwoIVN8fDI1NiZ0WzBdKSYmdSE9PSh1PWVbOF0/Lmxlbmd0aCsiIikmJmZlKGcsdSk7dmFyIG89e307NTE0JnRbMF0mJihvLmFjdGl2ZT0xPT1lWzFdfHwwPGVbOV0pLDImdFswXSYmKG8uaWQ9ZVsxXS50b1N0cmluZygpKSxiLiRzZXQobyksKCFTfHw4JnRbMF0pJiZmZSh3LGVbM10pLDA8ZVs4XT8ubGVuZ3RoP0E/KEEucChlLHQpLDI1NiZ0WzBdJiZoZShBLDEpKTooKEE9cW4oZSkpLmMoKSxoZShBLDEpLEEubShyLHYpKTpBJiYoaWUoKSxiZShBLDEsMSwoKT0+e0E9bnVsbH0pLG5lKCkpLGVbNl0/RT8oRS5wKGUsdCksNjQmdFswXSYmaGUoRSwxKSk6KChFPUpuKGUpKS5jKCksaGUoRSwxKSxFLm0ocixudWxsKSk6RSYmKGllKCksYmUoRSwxLDEsKCk9PntFPW51bGx9KSxuZSgpKSwoIVN8fDE2JnRbMF0mJmshPT0oaz1lWzE0XSh7cmVxdWlyZWQ6ZVs0XX0pKSkmJm1lKHIsImNsYXNzIixrKSwoIVN8fDImdFswXSYmSSE9PShJPSJjYXQkIitlWzFdLnRvU3RyaW5nKCkpKSYmbWUociwiaWQiLEkpfSxpKGUpe1N8fChhJiZoZShhLiQkLmZyYWdtZW50LGUpLGhlKGIuJCQuZnJhZ21lbnQsZSksaGUoQSksaGUoRSksUz0hMCl9LG8oZSl7YSYmYmUoYS4kJC5mcmFnbWVudCxlKSxiZShiLiQkLmZyYWdtZW50LGUpLGJlKEEpLGJlKEUpLFM9ITF9LGQoZSl7ZSYmY2UociksYSYmd2UoYSksd2UoYiksQSYmQS5kKCksRSYmRS5kKCksVD0hMSxMKCl9fX1mdW5jdGlvbiBxbihvKXtsZXQgcixpLG49b1swXT8udGV4dHM/LmJ1dHRvbnM/LnNob3dNb3JlKyIiLGEscyxsLGMsZCxwLHUsZz1bUW4sS25dLG09W107ZnVuY3Rpb24gZihlKXtyZXR1cm4gZVs2XT8wOjF9cmV0dXJuIGw9ZihvKSxjPW1bbF09Z1tsXShvKSx7Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLGE9cGUobikscz11ZSgpLGMuYygpLG1lKHIsImNsYXNzIixvWzE4XSgpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLGkpLHNlKGksYSksc2UocixzKSxtW2xdLm0ocixudWxsKSxkPSEwLHB8fCh1PWdlKHIsImNsaWNrIixvWzExXSkscD0hMCl9LHAoZSx0KXsoIWR8fDEmdFswXSkmJm4hPT0obj1lWzBdPy50ZXh0cz8uYnV0dG9ucz8uc2hvd01vcmUrIiIpJiZmZShhLG4pO2xldCBvPWw7KGw9ZihlKSkhPT1vJiYoaWUoKSxiZShtW29dLDEsMSwoKT0+e21bb109bnVsbH0pLG5lKCksKGM9bVtsXSl8fChjPW1bbF09Z1tsXShlKSkuYygpLGhlKGMsMSksYy5tKHIsbnVsbCkpfSxpKGUpe2R8fChoZShjKSxkPSEwKX0sbyhlKXtiZShjKSxkPSExfSxkKGUpe2UmJmNlKHIpLG1bbF0uZCgpLHA9ITEsdSgpfX19ZnVuY3Rpb24gS24oZSl7bGV0IG8scjtyZXR1cm4gbz1uZXcgU24oe30pLHtjKCl7eGUoby4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShvLGUsdCkscj0hMH0saShlKXtyfHwoaGUoby4kJC5mcmFnbWVudCxlKSxyPSEwKX0sbyhlKXtiZShvLiQkLmZyYWdtZW50LGUpLHI9ITF9LGQoZSl7d2UobyxlKX19fWZ1bmN0aW9uIFFuKGUpe2xldCBvLHI7cmV0dXJuIG89bmV3IHZuKHt9KSx7Yygpe3hlKG8uJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUobyxlLHQpLHI9ITB9LGkoZSl7cnx8KGhlKG8uJCQuZnJhZ21lbnQsZSkscj0hMCl9LG8oZSl7YmUoby4kJC5mcmFnbWVudCxlKSxyPSExfSxkKGUpe3dlKG8sZSl9fX1mdW5jdGlvbiBKbih0KXtsZXQgaSxyLG49dFs4XSxhPVtdO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSs9MSlhW2VdPXJhKFduKHQsbixlKSk7cmV0dXJue2MoKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrPTEpYVtlXS5jKCk7aT1mbygpfSxtKHQsbyl7Zm9yKGxldCBlPTA7ZTxhLmxlbmd0aDtlKz0xKWFbZV0mJmFbZV0ubSh0LG8pO2xlKHQsaSxvKSxyPSEwfSxwKHQsbyl7aWYoNjY1OTcyNDkmb1swXSl7bj10WzhdO2xldCBlO2ZvcihlPTA7ZTxuLmxlbmd0aDtlKz0xKXt2YXIgcj1Xbih0LG4sZSk7YVtlXT8oYVtlXS5wKHIsbyksaGUoYVtlXSwxKSk6KGFbZV09cmEociksYVtlXS5jKCksaGUoYVtlXSwxKSxhW2VdLm0oaS5wYXJlbnROb2RlLGkpKX1mb3IoaWUoKSxlPW4ubGVuZ3RoO2U8YS5sZW5ndGg7ZSs9MSkoZT0+YmUoYVtlXSwxLDEsKCk9PnthW2VdPW51bGx9KSkoZSk7bmUoKX19LGkoZSl7aWYoIXIpe2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSs9MSloZShhW2VdKTtyPSEwfX0sbyhlKXthPWEuZmlsdGVyKEJvb2xlYW4pO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSs9MSliZShhW2VdKTtyPSExfSxkKGUpe21vKGEsZSksZSYmY2UoaSl9fX1mdW5jdGlvbiBabihlKXtsZXQgcixpLG4sbyxhPVtYbixZbl0scz1bXTtmdW5jdGlvbiBsKGUpe3JldHVybiBlWzddPT09ZVszN10uaWQ/MDoxfXJldHVybiByPWwoZSksaT1zW3JdPWFbcl0oZSkse2MoKXtpLmMoKSxuPWZvKCl9LG0oZSx0KXtzW3JdLm0oZSx0KSxsZShlLG4sdCksbz0hMH0scChlLHQpe2xldCBvPXI7KHI9bChlKSkhPT1vJiYoaWUoKSxiZShzW29dLDEsMSwoKT0+e3Nbb109bnVsbH0pLG5lKCksKGk9c1tyXSl8fChpPXNbcl09YVtyXShlKSkuYygpLGhlKGksMSksaS5tKG4ucGFyZW50Tm9kZSxuKSl9LGkoZSl7b3x8KGhlKGkpLG89ITApfSxvKGUpe2JlKGkpLG89ITF9LGQoZSl7c1tyXS5kKGUpLGUmJmNlKG4pfX19ZnVuY3Rpb24gWW4oZSl7bGV0IG8scjtyZXR1cm4gbz1uZXcgU24oe30pLHtjKCl7eGUoby4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShvLGUsdCkscj0hMH0saShlKXtyfHwoaGUoby4kJC5mcmFnbWVudCxlKSxyPSEwKX0sbyhlKXtiZShvLiQkLmZyYWdtZW50LGUpLHI9ITF9LGQoZSl7d2UobyxlKX19fWZ1bmN0aW9uIFhuKGUpe2xldCBvLHI7cmV0dXJuIG89bmV3IHZuKHt9KSx7Yygpe3hlKG8uJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUobyxlLHQpLHI9ITB9LGkoZSl7cnx8KGhlKG8uJCQuZnJhZ21lbnQsZSkscj0hMCl9LG8oZSl7YmUoby4kJC5mcmFnbWVudCxlKSxyPSExfSxkKGUpe3dlKG8sZSl9fX1mdW5jdGlvbiBlYSh0KXtsZXQgaSxuLGUscixhLHMsbD1WaT8uW3RbMF0ubGFuZ3VhZ2VdPy5jbGVhbkNvb2tpZSsiIixjLGQscCx1PXRbMzddLmNvb2tpZXMsZz1bXTtmb3IobGV0IGU9MDtlPHUubGVuZ3RoO2UrPTEpZ1tlXT1vYShIbih0LHUsZSkpO3JldHVybiByPW5ldyBNbih7fSkse2MoKXtmb3IobGV0IGU9MDtlPGcubGVuZ3RoO2UrPTEpZ1tlXS5jKCk7aT11ZSgpLG49ZGUoImEiKSxlPWRlKCJkaXYiKSx4ZShyLiQkLmZyYWdtZW50KSxhPXVlKCkscz1kZSgiZGl2IiksYz1wZShsKSxtZShuLCJjbGFzcyIsdFsyM10oKSksbWUobiwiaHJlZiIsZD10WzBdPy51cmxzPy5jbGVhbkNvb2tpZUxpbms/PyJodHRwczovL2dvYWRvcHQuaW8vYmxvZy9hcGFnYXItY29va2llcy1jYWNoZS1uYXZlZ2Fkb3IvIil9LG0odCxvKXtmb3IobGV0IGU9MDtlPGcubGVuZ3RoO2UrPTEpZ1tlXSYmZ1tlXS5tKHQsbyk7bGUodCxpLG8pLGxlKHQsbixvKSxzZShuLGUpLHllKHIsZSxudWxsKSxzZShuLGEpLHNlKG4scyksc2UocyxjKSxwPSEwfSxwKHQsbyl7aWYoNDE5NDU2MSZvWzBdKXt1PXRbMzddLmNvb2tpZXM7bGV0IGU7Zm9yKGU9MDtlPHUubGVuZ3RoO2UrPTEpe3ZhciByPUhuKHQsdSxlKTtnW2VdP2dbZV0ucChyLG8pOihnW2VdPW9hKHIpLGdbZV0uYygpLGdbZV0ubShpLnBhcmVudE5vZGUsaSkpfWZvcig7ZTxnLmxlbmd0aDtlKz0xKWdbZV0uZCgxKTtnLmxlbmd0aD11Lmxlbmd0aH0oIXB8fDEmb1swXSkmJmwhPT0obD1WaT8uW3RbMF0ubGFuZ3VhZ2VdPy5jbGVhbkNvb2tpZSsiIikmJmZlKGMsbCksKCFwfHwxJm9bMF0mJmQhPT0oZD10WzBdPy51cmxzPy5jbGVhbkNvb2tpZUxpbms/PyJodHRwczovL2dvYWRvcHQuaW8vYmxvZy9hcGFnYXItY29va2llcy1jYWNoZS1uYXZlZ2Fkb3IvIikpJiZtZShuLCJocmVmIixkKX0saShlKXtwfHwoaGUoci4kJC5mcmFnbWVudCxlKSxwPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLHA9ITF9LGQoZSl7bW8oZyxlKSxlJiZjZShpKSxlJiZjZShuKSx3ZShyKX19fWZ1bmN0aW9uIHRhKGUpe2xldCBvLHI9ZVs0MF0/LmRlc2NyaXB0aW9uKyIiLGk7cmV0dXJue2MoKXtvPWRlKCJkaXYiKSxpPXBlKHIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8saSl9LHAoZSx0KXsyNTYmdFswXSYmciE9PShyPWVbNDBdPy5kZXNjcmlwdGlvbisiIikmJmZlKGkscil9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBvYShlKXtsZXQgbyxyLGksbj1lWzQwXS5uYW1lKyIiLGEscyxsLGMsZCxwPWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LmV4cGlyYXRpb24rIiIsdSxnLG0sZj0oLTE9PT1lWzQwXS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcz9WaT8uW2VbMF0ubGFuZ3VhZ2VdPy5zZXNzaW9uOi0yPT09ZVs0MF0uZXhwaXJhdGlvbl9taWxsaXNlY29uZHM/IkxvY2FsU3RvcmFnZSI6WnQoZVs0MF0uZXhwaXJhdGlvbl9taWxsaXNlY29uZHMpLm51bWJlcisiICIrVmk/LltlWzBdLmxhbmd1YWdlXT8udW5pdE9mVGltZVtadChlWzQwXS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcykudHlwZV0pKyIiLGgsYix4LHksdz1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy5yZWdpb24rIiIsQyx2LGssST1lWzQwXS5yZWdpb24rIiIsUyxUPWVbNDBdPy5kZXNjcmlwdGlvbiYmdGEoZSk7cmV0dXJue2MoKXtvPWRlKCJkaXYiKSxyPWRlKCJkaXYiKSxpPWRlKCJiIiksYT1wZShuKSxzPXVlKCksVCYmVC5jKCksbD11ZSgpLGM9ZGUoImRpdiIpLGQ9ZGUoImIiKSx1PXBlKHApLGc9cGUoIjoiKSxtPXVlKCksaD1wZShmKSxiPXVlKCkseD1kZSgiZGl2IikseT1kZSgiYiIpLEM9cGUodyksdj1wZSgiOiIpLGs9dWUoKSxTPXBlKEkpLG1lKG8sImNsYXNzIixlWzIyXSgpKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSksc2UoaSxhKSxzZShvLHMpLFQmJlQubShvLG51bGwpLHNlKG8sbCksc2UobyxjKSxzZShjLGQpLHNlKGQsdSksc2UoZCxnKSxzZShjLG0pLHNlKGMsaCksc2UobyxiKSxzZShvLHgpLHNlKHgseSksc2UoeSxDKSxzZSh5LHYpLHNlKHgsayksc2UoeCxTKX0scChlLHQpezI1NiZ0WzBdJiZuIT09KG49ZVs0MF0ubmFtZSsiIikmJmZlKGEsbiksZVs0MF0/LmRlc2NyaXB0aW9uP1Q/VC5wKGUsdCk6KChUPXRhKGUpKS5jKCksVC5tKG8sbCkpOlQmJihULmQoMSksVD1udWxsKSwxJnRbMF0mJnAhPT0ocD1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy5leHBpcmF0aW9uKyIiKSYmZmUodSxwKSwyNTcmdFswXSYmZiE9PShmPSgtMT09PWVbNDBdLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzP1ZpPy5bZVswXS5sYW5ndWFnZV0/LnNlc3Npb246LTI9PT1lWzQwXS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcz8iTG9jYWxTdG9yYWdlIjpadChlWzQwXS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcykubnVtYmVyKyIgIitWaT8uW2VbMF0ubGFuZ3VhZ2VdPy51bml0T2ZUaW1lW1p0KGVbNDBdLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzKS50eXBlXSkrIiIpJiZmZShoLGYpLDEmdFswXSYmdyE9PSh3PWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LnJlZ2lvbisiIikmJmZlKEMsdyksMjU2JnRbMF0mJkkhPT0oST1lWzQwXS5yZWdpb24rIiIpJiZmZShTLEkpfSxkKGUpe2UmJmNlKG8pLFQmJlQuZCgpfX19ZnVuY3Rpb24gcmEobyl7bGV0IHIsaSxuLGEscz1vWzM3XS5uYW1lKyIiLGwsYyxkLHAsdSxnLG0sZixoLGIseCx5PTA8b1szN10uY29va2llcz8ubGVuZ3RoJiZabihvKTtmdW5jdGlvbiB3KCl7cmV0dXJuIG9bMjddKG9bMzddKX0odT1uZXcgeW4oe3Byb3BzOntjYXRlZ29yeVNlbGVjdG9ySWNvbkNvbnRhaW5lcjpvWzI0XSxjYXRlZ29yeVNlbGVjdG9ySWNvbjpvWzI1XSxpZDpvWzM3XS5pZCxhY3RpdmU6b1szN10uYWNjZXB0fX0pKS4kb24oInRvZ2dsZWQiLGZ1bmN0aW9uKCl7cmV0dXJuIG9bMjhdKG9bMzddKX0pO2xldCBDPW9bN109PT1vWzM3XS5pZCYmZWEobyk7cmV0dXJue2MoKXtyPWRlKCJkaXYiKSxpPWRlKCJkaXYiKSxuPWRlKCJkaXYiKSxhPWRlKCJkaXYiKSxsPXBlKHMpLGM9dWUoKSx5JiZ5LmMoKSxkPXVlKCkscD1kZSgiZGl2IikseGUodS4kJC5mcmFnbWVudCksZz11ZSgpLEMmJkMuYygpLG09dWUoKSxtZShuLCJjbGFzcyIsb1syMV0oKSksbWUoaSwiY2xhc3MiLG9bMjBdKCkpLG1lKHIsImNsYXNzIixvWzE5XSgpKSxtZShyLCJpZCIsZj1vWzM3XS5pZCl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxzZShpLG4pLHNlKG4sYSksc2UoYSxsKSxzZShuLGMpLHkmJnkubShuLG51bGwpLHNlKGksZCksc2UoaSxwKSx5ZSh1LHAsbnVsbCksc2UocixnKSxDJiZDLm0ocixudWxsKSxzZShyLG0pLGg9ITAsYnx8KHg9Z2UobiwiY2xpY2siLHcpLGI9ITApfSxwKGUsdCl7bz1lLCghaHx8MjU2JnRbMF0pJiZzIT09KHM9b1szN10ubmFtZSsiIikmJmZlKGwscyksMDxvWzM3XS5jb29raWVzPy5sZW5ndGg/eT8oeS5wKG8sdCksMjU2JnRbMF0mJmhlKHksMSkpOigoeT1abihvKSkuYygpLGhlKHksMSkseS5tKG4sbnVsbCkpOnkmJihpZSgpLGJlKHksMSwxLCgpPT57eT1udWxsfSksbmUoKSk7ZT17fTsyNTYmdFswXSYmKGUuaWQ9b1szN10uaWQpLDI1NiZ0WzBdJiYoZS5hY3RpdmU9b1szN10uYWNjZXB0KSx1LiRzZXQoZSksb1s3XT09PW9bMzddLmlkP0M/KEMucChvLHQpLDM4NCZ0WzBdJiZoZShDLDEpKTooKEM9ZWEobykpLmMoKSxoZShDLDEpLEMubShyLG0pKTpDJiYoaWUoKSxiZShDLDEsMSwoKT0+e0M9bnVsbH0pLG5lKCkpLCghaHx8MjU2JnRbMF0mJmYhPT0oZj1vWzM3XS5pZCkpJiZtZShyLCJpZCIsZil9LGkoZSl7aHx8KGhlKHkpLGhlKHUuJCQuZnJhZ21lbnQsZSksaGUoQyksaD0hMCl9LG8oZSl7YmUoeSksYmUodS4kJC5mcmFnbWVudCxlKSxiZShDKSxoPSExfSxkKGUpe2UmJmNlKHIpLHkmJnkuZCgpLHdlKHUpLEMmJkMuZCgpLGI9ITEseCgpfX19ZnVuY3Rpb24gaWEoZSl7bGV0IG8scixpPSgwPGVbOF0/Lmxlbmd0aHx8ZVs0XSkmJkduKGUpO3JldHVybntjKCl7aSYmaS5jKCksbz1mbygpfSxtKGUsdCl7aSYmaS5tKGUsdCksbGUoZSxvLHQpLHI9ITB9LHAoZSx0KXswPGVbOF0/Lmxlbmd0aHx8ZVs0XT9pPyhpLnAoZSx0KSwyNzImdFswXSYmaGUoaSwxKSk6KChpPUduKGUpKS5jKCksaGUoaSwxKSxpLm0oby5wYXJlbnROb2RlLG8pKTppJiYoaWUoKSxiZShpLDEsMSwoKT0+e2k9bnVsbH0pLG5lKCkpfSxpKGUpe3J8fChoZShpKSxyPSEwKX0sbyhlKXtiZShpKSxyPSExfSxkKGUpe2kmJmkuZChlKSxlJiZjZShvKX19fWZ1bmN0aW9uIG5hKGUsdCxvKXtsZXQgcj10LmNvbmZpZyxpPXQudGFnQ2F0ZWdvcnlJZCxuPXQuY2F0TmFtZSxhPXQuY2F0RGVzYyx7cmVxdWlyZWQ6cz0hMX09dCxsPXQuc3R5bGVzO2xldCBjPSRvKCksZD0hMSxwPXI/LmRpc2NsYWltZXJPcHRpb25zPy51bmNoZWNrVGFnc3x8ITEsdT0hcCxnO3Q9W3tpZDoiMSIsY29tcG9uZW50OiRufSx7aWQ6IjIiLGNvbXBvbmVudDpVbn0se2lkOiIzIixjb21wb25lbnQ6Um59LHtpZDoiNCIsY29tcG9uZW50OmpufSx7aWQ6IjUiLGNvbXBvbmVudDpCbn1dPy5maW5kKGU9PmUuaWQ9PT1pKT8uY29tcG9uZW50O2xldCBtPXI/LnRhZ3M/LmZpbHRlcihlPT5lPy50YWdfY2F0ZWdvcnlfaWQ9PT1wYXJzZUludChpKSk7bGV0IGY9KCk9Pm0ucmVkdWNlKChlLHQpPT50LmFjY2VwdD9lKzE6ZSwwKSxoPWYoKTtsZXQgYj1lPT57ZS5pZD09PWd8fDA9PT1lLmNvb2tpZXM/Lmxlbmd0aD9vKDcsZz12b2lkIDApOm8oNyxnPWUuaWQpfSx4PWU9PntzfHwoYygidG9nZ2xlZCIsZSksbyg4LG09cj8udGFncz8uZmlsdGVyKGU9PmU/LnRhZ19jYXRlZ29yeV9pZD09PXBhcnNlSW50KGkpKSksbyg5LGg9ZigpKSxvKDgsbT1yPy50YWdzPy5maWx0ZXIoZT0+ZT8udGFnX2NhdGVnb3J5X2lkPT09cGFyc2VJbnQoaSkpKSl9O3ZhcntjYXRlZ29yeTp5LGNhdGVnb3J5VGl0bGU6dyxjYXRlZ29yeUljb246QyxjYXRlZ29yeURlc2NyaXB0aW9uOnYsY2F0ZWdvcnlUb29nbGVTaG93VGFnczprLGNhdGVnb3J5VGFnOkksY2F0ZWdvcnlUYWdUaXRsZVNlY3Rpb246UyxjYXRlZ29yeVRhZ1RpdGxlOlQsY2F0ZWdvcnlUYWdDb29raWVDb250YWluZXI6TCxjYXRlZ29yeVRhZ0NsZWFuQ2FjaGVMaW5rOiQsY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6QSxjYXRlZ29yeVNlbGVjdG9ySWNvbjpFfT0oKGUsdCk9Pnt2YXJ7Y29sb3JzOm8sZGlzY2xhaW1lck9wdGlvbnM6cn09ZSx7c3R5bGVzOmUsaGFzSW1wb3J0YW50Oml9PWUuc3R5bGVzPz97fSx7dGhlbWU6dD0ibGlnaHQiLHN0eWxlczpuLGhhc0ltcG9ydGFudDphLGNvbG9yczpzfT10O2xldCBsPXZvaWQgMD09PWF8fGE/dm9pZCAwPT09aXx8aT8iIWltcG9ydGFudCI6IiI6IiI7YT0iIWltcG9ydGFudCI9PT1sPyJ1bnNldCAhaW1wb3J0YW50IjoiIixpPXI/LmFjY2Vzc2liaWxpdHk7cmV0dXJue2NhdGVnb3J5OkIoe2FsbDphLGRpc3BsYXk6ImZsZXggIitsLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLG1hcmdpbjoiNXB4IDAgIitsLGZsZXhXcmFwOiJ3cmFwICIrbCxwYWRkaW5nUmlnaHQ6IjEwcHggIitsLHZhcmlhbnRzOntyZXF1aXJlZDp7dHJ1ZTp7b3BhY2l0eToiMC43NSAiK2x9fX0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LmNhdGVnb3J5LCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmNhdGVnb3J5fX0pLGNhdGVnb3J5VGl0bGU6Qih7YWxsOmEsZmxleEdyb3c6IjEgIitsLGZvbnRXZWlnaHQ6ImJvbGQgIitsLGN1cnNvcjoicG9pbnRlciAiK2wsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8scykrIiAiK2wsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRpdGxlLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scykrIiAiK2wsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRpdGxlfX0pLGNhdGVnb3J5SWNvbjpCKHthbGw6YSx3aWR0aDoiMTJweCAiK2wsaGVpZ2h0OiIxMnB4ICIrbCxkaXNwbGF5OiJpbmxpbmUtYmxvY2sgIitsLHZlcnRpY2FsQWxpZ246Im1pZGRsZSAiK2wsb2JqZWN0Rml0OiJjb3ZlciAiK2wsbWFyZ2luUmlnaHQ6IjVweCAiK2wsbWFyZ2luVG9wOiItNHB4ICIrbCxvcGFjaXR5OiIwLjggIitsLCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnRleHRDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8uaWNvbiwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/Lmljb24sIkBtb2JpbGUiOnsiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsfSwuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/Lmljb24sLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy5pY29ufX0pLGNhdGVnb3J5RGVzY3JpcHRpb246Qih7YWxsOmEsZm9udFNpemU6IiRzbWFsbFRleHQgIitsLHdpZHRoOiIxMDAlICIrbCxkaXNwbGF5OiJibG9jayAiK2wscGFkZGluZ1JpZ2h0OiIxMHB4ICIrbCxsaW5lSGVpZ2h0OiIxMnB4ICIrbCxtYXJnaW5Cb3R0b206IjJweCAiK2wsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8scykrIiAiK2wsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scykrIiAiK2wsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9ufX0pLGNhdGVnb3J5VG9vZ2xlU2hvd1RhZ3M6Qih7YWxsOmEsZm9udFdlaWdodDoiYm9sZCAiK2wsZGlzcGxheToiZmxleCAiK2wsZ2FwOiI0cHggIitsLGFsaWduSXRlbXM6ImNlbnRlciAiK2wsY3Vyc29yOiJwb2ludGVyICIrbCxtYXJnaW5Cb3R0b206IjJweCAiK2wsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8scykrIiAiK2wsIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50b29nbGVTaG93VGFncywuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scykrIiAiK2wsIiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50b29nbGVTaG93VGFncywuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzfX0pLGNhdGVnb3J5VGFnOkIoe2FsbDphLHBhZGRpbmc6IjRweCA4cHggIitsLG1hcmdpbkJvdHRvbToiNXB4ICIrbCxib3JkZXJSYWRpdXM6IjEzcHggIitsLHdpZHRoOiIxMDAlICIrbCxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxzKSsiICIrbCxib3JkZXI6YDFweCBzb2xpZCAke1F0KEQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpLC4xKX0gYCtsLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udGFnLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scykrIiAiK2wsYm9yZGVyOmAxcHggc29saWQgJHtRdChEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxzKSwuMSl9IGArbCwuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZywuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ319KSxjYXRlZ29yeVRhZ1RpdGxlU2VjdGlvbjpCKHthbGw6YSxkaXNwbGF5OiJmbGV4ICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb24sLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb259fSksY2F0ZWdvcnlUYWdUaXRsZTpCKHthbGw6YSxmbGV4R3JvdzoiMSAiK2wsY3Vyc29yOiJwb2ludGVyICIrbCxkaXNwbGF5OiJmbGV4ICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLCImID4gZGl2Ijp7YWxsOmEsbWFyZ2luUmlnaHQ6IjVweCAiK2x9LCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnRleHRDb2xvcix0LG8scyl9LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGUsLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy50YWdUaXRsZSwiQG1vYmlsZSI6eyImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scyl9LC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnVGl0bGUsLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZX19KSxjYXRlZ29yeVRhZ0Nvb2tpZUNvbnRhaW5lcjpCKHthbGw6YSxkaXNwbGF5OiJmbGV4ICIrbCxmbGV4RGlyZWN0aW9uOiJjb2x1bW4gIitsLGdhcDoiNXB4ICIrbCxwYWRkaW5nOiI0cHggOHB4ICIrbCxtYXJnaW46IjEwcHggMCA1cHggIitsLGJvcmRlclJhZGl1czoiM3B4ICIrbCxiYWNrZ3JvdW5kT3BhY2l0eToiMC4yICIrbCx3b3JkQnJlYWs6ImJyZWFrLXdvcmQgIitsLGJhY2tncm91bmQ6UXQoRChPLndlYixSLnRleHRDb2xvcix0LG8scyksLjEpKyIgIitsLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyLCJAbW9iaWxlIjp7YmFja2dyb3VuZDpRdChEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxzKSwuMSkrIiAiK2wsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDb29raWVDb250YWluZXIsLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDb29raWVDb250YWluZXJ9fSksY2F0ZWdvcnlUYWdDbGVhbkNhY2hlTGluazpCKHthbGw6YSxjdXJzb3I6InBvaW50ZXIgIitsLG1hcmdpbjoiMjBweCAwIDVweCAwICIrbCx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2wsdHJhbnNpdGlvbkR1cmF0aW9uOiIyNTBtcyAiK2wsZGlzcGxheToiZmxleCAiK2wsZ2FwOiIycHggIitsLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLCImOmhvdmVyIjp7dGV4dERlY29yYXRpb246InVuZGVybGluZSAiK2x9LCImIGRpdjpsYXN0LWNoaWxkIjp7bWFyZ2luTGVmdDoiNHB4ICIrbH0sIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50YWdDbGVhbkNhY2hlTGluaywuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scykrIiAiK2wsIiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDbGVhbkNhY2hlTGluaywuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rfX0pLGNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyOkIoe2hlaWdodDoiMThweCAiK2wsd2lkdGg6IjQwcHggIitsLGJvcmRlclJhZGl1czoiOHB4ICIrbCxkaXNwbGF5OiJmbGV4ICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLGN1cnNvcjoicG9pbnRlciAiK2wsb3BhY2l0eToiMC41ICIrbCxiYWNrZ3JvdW5kQ29sb3I6IiMzMzMgIitsLHZhcmlhbnRzOnthY3RpdmU6e3RydWU6e2p1c3RpZnlDb250ZW50OiJmbGV4LWVuZCAiK2wsb3BhY2l0eToiMSAiK2wsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLCJAbW9iaWxlIjp7YmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfX19fSwiJjpmb2N1cy12aXNpYmxlIjppJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitsLG91dGxpbmVPZmZzZXQ6IjJweCAiK2x9LCJAbW9iaWxlIjp7IiYgZGl2Ijp7YmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHQsbyxzKSsiICIrbH19fSksY2F0ZWdvcnlTZWxlY3Rvckljb246Qih7d2lkdGg6IjE1cHggIitsLGhlaWdodDoiMTVweCAiK2wsYm9yZGVyUmFkaXVzOiI1MCUgIitsLGRpc3BsYXk6ImZsZXggIitsLGFsaWduSXRlbXM6ImNlbnRlciAiK2wsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciAiK2wsbWFyZ2luOiIycHggIitsLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIuYmdDb2xvcix0LG8scykrIiAiK2wsIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sdmFyaWFudHM6e2FjdGl2ZTp7dHJ1ZTp7IiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sIkBtb2JpbGUiOnsiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfX19fX0sIkBtb2JpbGUiOntiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxSLmJnQ29sb3IsdCxvLHMpKyIgIitsLCImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2x9fX0pfX0pKHIsbCk7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJjb25maWciaW4gZSYmbygwLHI9ZS5jb25maWcpLCJ0YWdDYXRlZ29yeUlkImluIGUmJm8oMSxpPWUudGFnQ2F0ZWdvcnlJZCksImNhdE5hbWUiaW4gZSYmbygyLG49ZS5jYXROYW1lKSwiY2F0RGVzYyJpbiBlJiZvKDMsYT1lLmNhdERlc2MpLCJyZXF1aXJlZCJpbiBlJiZvKDQscz1lLnJlcXVpcmVkKSwic3R5bGVzImluIGUmJm8oMjYsbD1lLnN0eWxlcyl9LHA/bS5sZW5ndGgmJnN8fG0ubGVuZ3RoPT09ZigpP3NldFRpbWVvdXQoKCk9PnU9ITAsMCk6c2V0VGltZW91dCgoKT0+dT0hMSwwKTptLnNvbWUoZT0+IWUuYWNjZXB0KXx8IW0ubGVuZ3RoP3NldFRpbWVvdXQoKCk9PnU9ITEsMCk6c2V0VGltZW91dCgoKT0+dT0hMCwwKSxbcixpLG4sYSxzLHQsZCxnLG0saCxhc3luYygpPT57c3x8KHU9IXUsYygidG9nZ2xlZENhdCIse2NhdGVnb3J5SWQ6aSx0YWdzOm0ubWFwKGU9PmUuaWQpLHN0YXRlOnV9KSxhd2FpdCBfbygpLGQmJihvKDYsZD0hMSksc2V0VGltZW91dChlPT5vKDYsZD0hMCksMCkpLG8oOSxoPWYoKSksbyg4LG09cj8udGFncz8uZmlsdGVyKGU9PmU/LnRhZ19jYXRlZ29yeV9pZD09PXBhcnNlSW50KGkpKSkpfSwoKT0+e28oNixkPSFkKX0sYix4LHksdyxDLHYsayxJLFMsVCxMLCQsQSxFLGwsZT0+YihlKSxlPT54KGUuaWQpXX1jbGFzcyBhYSBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxuYSxpYSxyLHtjb25maWc6MCx0YWdDYXRlZ29yeUlkOjEsY2F0TmFtZToyLGNhdERlc2M6MyxyZXF1aXJlZDo0LHN0eWxlczoyNn0sbnVsbCxbLTEsLTFdKX19ZnVuY3Rpb24gc2EoZSx0LG8pe2U9ZS5zbGljZSgpO3JldHVybiBlWzI0XT10W29dLGV9ZnVuY3Rpb24gbGEodCl7bGV0IGksbyxlPXRbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy50Y2ZWZW5kb3JzPy5uYW1lKyIiLG4scixhLHMsbD10WzBdPy5pYWJUYWdzPy5sZW5ndGgrIiIsYyxkLHAsdSxnPXRbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy50Y2ZWZW5kb3JzPy5kZXNjcmlwdGlvbisiIixtLGYsaCxiLHg9dFswXS5pYWJUYWdzLHk9W107Zm9yKGxldCBlPTA7ZTx4Lmxlbmd0aDtlKz0xKXlbZV09Z2Eoc2EodCx4LGUpKTtyZXR1cm57Yygpe2k9ZGUoImRpdiIpLG89ZGUoImRpdiIpLG49cGUoZSkscj1wZSgiXG4gICAgICAoIiksYT1wZSh0WzJdKSxzPXBlKCIvIiksYz1wZShsKSxkPXBlKCIpIikscD11ZSgpLHU9ZGUoImRpdiIpLG09cGUoZyksZj11ZSgpO2ZvcihsZXQgZT0wO2U8eS5sZW5ndGg7ZSs9MSl5W2VdLmMoKTttZShvLCJjbGFzcyIsdFs3XSgpKSxtZSh1LCJjbGFzcyIsdFs4XSgpKSxtZShpLCJjbGFzcyIsaD10WzZdKHtyZXF1aXJlZDp0WzFdfSkpLG1lKGksImlkIiwiY2F0SWFiIil9LG0oZSx0KXtsZShlLGksdCksc2UoaSxvKSxzZShvLG4pLHNlKG8sciksc2UobyxhKSxzZShvLHMpLHNlKG8sYyksc2UobyxkKSxzZShpLHApLHNlKGksdSksc2UodSxtKSxzZShpLGYpO2ZvcihsZXQgZT0wO2U8eS5sZW5ndGg7ZSs9MSl5W2VdJiZ5W2VdLm0oaSxudWxsKTtiPSEwfSxwKHQsbyl7aWYoKCFifHwxJm8pJiZlIT09KGU9dFswXT8udGV4dHM/LmNhdGVnb3JpZXM/LnRjZlZlbmRvcnM/Lm5hbWUrIiIpJiZmZShuLGUpLCghYnx8NCZvKSYmZmUoYSx0WzJdKSwoIWJ8fDEmbykmJmwhPT0obD10WzBdPy5pYWJUYWdzPy5sZW5ndGgrIiIpJiZmZShjLGwpLCghYnx8MSZvKSYmZyE9PShnPXRbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy50Y2ZWZW5kb3JzPy5kZXNjcmlwdGlvbisiIikmJmZlKG0sZyksMTMwNjE3Jm8pe3g9dFswXS5pYWJUYWdzO2xldCBlO2ZvcihlPTA7ZTx4Lmxlbmd0aDtlKz0xKXt2YXIgcj1zYSh0LHgsZSk7eVtlXT8oeVtlXS5wKHIsbyksaGUoeVtlXSwxKSk6KHlbZV09Z2EocikseVtlXS5jKCksaGUoeVtlXSwxKSx5W2VdLm0oaSxudWxsKSl9Zm9yKGllKCksZT14Lmxlbmd0aDtlPHkubGVuZ3RoO2UrPTEpKGU9PmJlKHlbZV0sMSwxLCgpPT57eVtlXT1udWxsfSkpKGUpO25lKCl9KCFifHwyJm8mJmghPT0oaD10WzZdKHtyZXF1aXJlZDp0WzFdfSkpKSYmbWUoaSwiY2xhc3MiLGgpfSxpKGUpe2lmKCFiKXtmb3IobGV0IGU9MDtlPHgubGVuZ3RoO2UrPTEpaGUoeVtlXSk7Yj0hMH19LG8oZSl7eT15LmZpbHRlcihCb29sZWFuKTtmb3IobGV0IGU9MDtlPHkubGVuZ3RoO2UrPTEpYmUoeVtlXSk7Yj0hMX0sZChlKXtlJiZjZShpKSxtbyh5LGUpfX19ZnVuY3Rpb24gY2EoZSl7bGV0IG89ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmV2l0aG91dFJlZnJlc2hDb29raWUrIiIscjtyZXR1cm57Yygpe3I9cGUobyl9LG0oZSx0KXtsZShlLHIsdCl9LHAoZSx0KXsxJnQmJm8hPT0obz1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy50Y2ZXaXRob3V0UmVmcmVzaENvb2tpZSsiIikmJmZlKHIsbyl9LGQoZSl7ZSYmY2Uocil9fX1mdW5jdGlvbiBkYShlKXtsZXQgbz1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy50Y2ZSZWZyZXNoQ29va2llKyIiLHI7cmV0dXJue2MoKXtyPXBlKG8pfSxtKGUsdCl7bGUoZSxyLHQpfSxwKGUsdCl7MSZ0JiZvIT09KG89ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmUmVmcmVzaENvb2tpZSsiIikmJmZlKHIsbyl9LGQoZSl7ZSYmY2Uocil9fX1mdW5jdGlvbiBwYShlKXtsZXQgbyxyLGk9ZVswXS50ZXh0cy5ib2R5VGV4dHMudGNmVmVuZG9yUHJpdmFjeVBvbGljeSsiIixuLGE7cmV0dXJue2MoKXtvPXBlKCJ8XG4gICAgICAgICAgICAgICIpLHI9ZGUoImEiKSxuPXBlKGkpLG1lKHIsImNsYXNzIixlWzE1XSgpKSxtZShyLCJ0YXJnZXQiLCJfYmxhbmsiKSxtZShyLCJocmVmIixhPWVbMjRdLnVybHNbMF0ucHJpdmFjeSl9LG0oZSx0KXtsZShlLG8sdCksbGUoZSxyLHQpLHNlKHIsbil9LHAoZSx0KXsxJnQmJmkhPT0oaT1lWzBdLnRleHRzLmJvZHlUZXh0cy50Y2ZWZW5kb3JQcml2YWN5UG9saWN5KyIiKSYmZmUobixpKSwxJnQmJmEhPT0oYT1lWzI0XS51cmxzWzBdLnByaXZhY3kpJiZtZShyLCJocmVmIixhKX0sZChlKXtlJiZjZShvKSxlJiZjZShyKX19fWZ1bmN0aW9uIHVhKG8pe2xldCByLGk9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8ubGVnaXRpbWF0ZUludGVyZXN0KyIiLG4sYSxzPW9bMjRdLmxlZ0ludEFtb3VudCsiIixsLGMsZD0ob1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmUHVycG9zZT8/IiIpKyIiLHAsdSxnLG07cmV0dXJuKGc9bmV3IHluKHtwcm9wczp7Y2F0ZWdvcnlTZWxlY3Rvckljb246b1sxM10sY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6b1sxNF0saWQ6b1syNF0ubmFtZSxhY3RpdmU6b1syNF0ubGVnSW50fX0pKS4kb24oInRvZ2dsZWQiLGZ1bmN0aW9uKCl7cmV0dXJuIG9bMjFdKG9bMjRdKX0pLHtjKCl7cj1kZSgiZGl2Iiksbj1wZShpKSxhPXBlKCJcbiAgICAgICAgICAgICAgKCIpLGw9cGUocyksYz11ZSgpLHA9cGUoZCksdT1wZSgiKVxuICAgICAgICAgICAgICAiKSx4ZShnLiQkLmZyYWdtZW50KSxtZShyLCJjbGFzcyIsb1sxNl0oKSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixuKSxzZShyLGEpLHNlKHIsbCksc2UocixjKSxzZShyLHApLHNlKHIsdSkseWUoZyxyLG51bGwpLG09ITB9LHAoZSx0KXtvPWUsKCFtfHwxJnQpJiZpIT09KGk9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8ubGVnaXRpbWF0ZUludGVyZXN0KyIiKSYmZmUobixpKSwoIW18fDEmdCkmJnMhPT0ocz1vWzI0XS5sZWdJbnRBbW91bnQrIiIpJiZmZShsLHMpLCghbXx8MSZ0KSYmZCE9PShkPShvWzBdPy50ZXh0cz8uYm9keVRleHRzPy50Y2ZQdXJwb3NlPz8iIikrIiIpJiZmZShwLGQpO2U9e307MSZ0JiYoZS5pZD1vWzI0XS5uYW1lKSwxJnQmJihlLmFjdGl2ZT1vWzI0XS5sZWdJbnQpLGcuJHNldChlKX0saShlKXttfHwoaGUoZy4kJC5mcmFnbWVudCxlKSxtPSEwKX0sbyhlKXtiZShnLiQkLmZyYWdtZW50LGUpLG09ITF9LGQoZSl7ZSYmY2Uociksd2UoZyl9fX1mdW5jdGlvbiBnYShvKXtsZXQgcixpLG4sYSxzPW9bMjRdLm5hbWUrIiIsbCxOLGMsZD1vWzBdPy50ZXh0cz8uYm9keVRleHRzPy50Y2ZDb29raWVEdXJhdGlvbisiIixwLFYsdT1NYXRoLmZsb29yKG9bMjRdLmNvb2tpZU1heEFnZVNlY29uZHMvODY0MDApKyIiLGcsTSxtPVZpPy5bb1swXS5sYW5ndWFnZV0/LnVuaXRPZlRpbWU/LmRheXMrIiIsZix6LEYsaCxiLHg9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmU2VlTW9yZURldGFpbHMrIiIseSxVLHc9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmRGV0YWlsc0Rlc2NyaXB0aW9uKyIiLEMsVyx2LEgsRyxxLGssSSxTLFQ9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmVmlld0RldGFpbHMrIiIsTCxLLFEsJCxBPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LmNvbnNlbnQrIiIsRSxKLFIsWixZLE8sRCxYLGVlO2Z1bmN0aW9uIHRlKCl7cmV0dXJuIG9bMThdKG9bMjRdKX1mdW5jdGlvbiBvZShlKXtyZXR1cm4gZVsyNF0uY29va2llUmVmcmVzaD9kYTpjYX1sZXQgQj1vZShvKSxQPUIobyk7ZnVuY3Rpb24gcmUoKXtyZXR1cm4gb1sxOV0ob1syNF0pfWxldCBfPW9bMjRdLnVybHNbMF0ucHJpdmFjeSYmcGEobyk7KFI9bmV3IHluKHtwcm9wczp7Y2F0ZWdvcnlTZWxlY3Rvckljb246b1sxM10sY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6b1sxNF0saWQ6b1syNF0uaWQsYWN0aXZlOm9bMjRdLmFjY2VwdH19KSkuJG9uKCJ0b2dnbGVkIixmdW5jdGlvbigpe3JldHVybiBvWzIwXShvWzI0XSl9KTtsZXQgaj12b2lkIDAhPT1vWzI0XS5sZWdJbnQmJnVhKG8pO3JldHVybntjKCl7cj1kZSgiZGl2IiksaT1kZSgiZGl2Iiksbj1kZSgiZGl2IiksYT1kZSgiYiIpLGw9cGUocyksTj11ZSgpLGM9ZGUoImRpdiIpLHA9cGUoZCksVj11ZSgpLGc9cGUodSksTT1wZSgiICgiKSxmPXBlKG0pLHo9cGUoIikuIiksRj11ZSgpLGg9ZGUoImRpdiIpLGI9ZGUoInNwYW4iKSx5PXBlKHgpLFU9dWUoKSxDPXBlKHcpLFc9dWUoKSx2PWRlKCJkaXYiKSxQLmMoKSxIPXVlKCksRz1kZSgiZGl2IikscT11ZSgpLGs9ZGUoImRpdiIpLEk9ZGUoImRpdiIpLFM9ZGUoInNwYW4iKSxMPXBlKFQpLEs9dWUoKSxfJiZfLmMoKSxRPXVlKCksJD1kZSgiZGl2IiksRT1wZShBKSxKPXVlKCkseGUoUi4kJC5mcmFnbWVudCksWj11ZSgpLGomJmouYygpLFk9dWUoKSxtZShuLCJjbGFzcyIsb1sxMF0oKSksbWUoYiwiY2xhc3MiLG9bMTVdKCkpLG1lKGksImNsYXNzIixvWzExXSgpKSxtZShTLCJjbGFzcyIsb1sxNV0oKSksbWUoSSwiY2xhc3MiLG9bMTJdKCkpLG1lKCQsImNsYXNzIixvWzE2XSgpKSxtZShyLCJjbGFzcyIsb1s5XSgpKSxtZShyLCJpZCIsTz1vWzI0XS5pZCl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxzZShpLG4pLHNlKG4sYSksc2UoYSxsKSxzZShpLE4pLHNlKGksYyksc2UoYyxwKSxzZShjLFYpLHNlKGMsZyksc2UoYyxNKSxzZShjLGYpLHNlKGMseiksc2UoaSxGKSxzZShpLGgpLHNlKGgsYiksc2UoYix5KSxzZShoLFUpLHNlKGgsQyksc2UoaSxXKSxzZShpLHYpLFAubSh2LG51bGwpLHNlKHIsSCksc2UocixHKSxzZShyLHEpLHNlKHIsayksc2UoayxJKSxzZShJLFMpLHNlKFMsTCksc2UoSSxLKSxfJiZfLm0oSSxudWxsKSxzZShrLFEpLHNlKGssJCksc2UoJCxFKSxzZSgkLEopLHllKFIsJCxudWxsKSxzZShrLFopLGomJmoubShrLG51bGwpLHNlKHIsWSksRD0hMCxYfHwoZWU9W2dlKGIsImNsaWNrIix0ZSksZ2UoUywiY2xpY2siLHJlKV0sWD0hMCl9LHAoZSx0KXtvPWUsKCFEfHwxJnQpJiZzIT09KHM9b1syNF0ubmFtZSsiIikmJmZlKGwscyksKCFEfHwxJnQpJiZkIT09KGQ9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmQ29va2llRHVyYXRpb24rIiIpJiZmZShwLGQpLCghRHx8MSZ0KSYmdSE9PSh1PU1hdGguZmxvb3Iob1syNF0uY29va2llTWF4QWdlU2Vjb25kcy84NjQwMCkrIiIpJiZmZShnLHUpLCghRHx8MSZ0KSYmbSE9PShtPVZpPy5bb1swXS5sYW5ndWFnZV0/LnVuaXRPZlRpbWU/LmRheXMrIiIpJiZmZShmLG0pLCghRHx8MSZ0KSYmeCE9PSh4PW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZlNlZU1vcmVEZXRhaWxzKyIiKSYmZmUoeSx4KSwoIUR8fDEmdCkmJnchPT0odz1vWzBdPy50ZXh0cz8uYm9keVRleHRzPy50Y2ZEZXRhaWxzRGVzY3JpcHRpb24rIiIpJiZmZShDLHcpLEI9PT0oQj1vZShvKSkmJlA/UC5wKG8sdCk6KFAuZCgxKSwoUD1CKG8pKSYmKFAuYygpLFAubSh2LG51bGwpKSksKCFEfHwxJnQpJiZUIT09KFQ9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmVmlld0RldGFpbHMrIiIpJiZmZShMLFQpLG9bMjRdLnVybHNbMF0ucHJpdmFjeT9fP18ucChvLHQpOigoXz1wYShvKSkuYygpLF8ubShJLG51bGwpKTpfJiYoXy5kKDEpLF89bnVsbCksKCFEfHwxJnQpJiZBIT09KEE9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8uY29uc2VudCsiIikmJmZlKEUsQSk7ZT17fTsxJnQmJihlLmlkPW9bMjRdLmlkKSwxJnQmJihlLmFjdGl2ZT1vWzI0XS5hY2NlcHQpLFIuJHNldChlKSx2b2lkIDAhPT1vWzI0XS5sZWdJbnQ/aj8oai5wKG8sdCksMSZ0JiZoZShqLDEpKTooKGo9dWEobykpLmMoKSxoZShqLDEpLGoubShrLG51bGwpKTpqJiYoaWUoKSxiZShqLDEsMSwoKT0+e2o9bnVsbH0pLG5lKCkpLCghRHx8MSZ0JiZPIT09KE89b1syNF0uaWQpKSYmbWUociwiaWQiLE8pfSxpKGUpe0R8fChoZShSLiQkLmZyYWdtZW50LGUpLGhlKGopLEQ9ITApfSxvKGUpe2JlKFIuJCQuZnJhZ21lbnQsZSksYmUoaiksRD0hMX0sZChlKXtlJiZjZShyKSxQLmQoKSxfJiZfLmQoKSx3ZShSKSxqJiZqLmQoKSxYPSExLHJvKGVlKX19fWZ1bmN0aW9uIG1hKGUpe2xldCBvLHIsaT0wPGVbMF0uaWFiVGFncz8ubGVuZ3RoJiZsYShlKTtyZXR1cm57Yygpe2kmJmkuYygpLG89Zm8oKX0sbShlLHQpe2kmJmkubShlLHQpLGxlKGUsbyx0KSxyPSEwfSxwKGUsW3RdKXswPGVbMF0uaWFiVGFncz8ubGVuZ3RoP2k/KGkucChlLHQpLDEmdCYmaGUoaSwxKSk6KChpPWxhKGUpKS5jKCksaGUoaSwxKSxpLm0oby5wYXJlbnROb2RlLG8pKTppJiYoaWUoKSxiZShpLDEsMSwoKT0+e2k9bnVsbH0pLG5lKCkpfSxpKGUpe3J8fChoZShpKSxyPSEwKX0sbyhlKXtiZShpKSxyPSExfSxkKGUpe2kmJmkuZChlKSxlJiZjZShvKX19fWZ1bmN0aW9uIGZhKGUsdCxvKXtsZXQgYT10LmNvbmZpZyx7cmVxdWlyZWQ6cj0hMX09dCxpPXQuc3R5bGVzLHM9JG8oKSxuPShhPy5kaXNjbGFpbWVyT3B0aW9ucz8udW5jaGVja1RhZ3MsKCk9PmEuaWFiVGFncy5yZWR1Y2UoKGUsdCk9PnQuYWNjZXB0P2UrMTplLDApKSxsPW4oKSxjPXQ9PntvKDAsYS5pYWJUYWdzPWEuaWFiVGFncz8ubWFwKGU9PmU/LmlkPT09dD97Li4uZSxhY2NlcHQ6IWUuYWNjZXB0fTplKSxhKSxzKCJ1cGRhdGVJYWJUYWdzIixhLmlhYlRhZ3MpLG8oMixsPW4oKSl9LGQ9dD0+e28oMCxhLmlhYlRhZ3M9YS5pYWJUYWdzPy5tYXAoZT0+ZT8uaWQ9PT10JiZ2b2lkIDAhPT1lLmxlZ0ludD97Li4uZSxsZWdJbnQ6IWUubGVnSW50fTplKSxhKSxzKCJ1cGRhdGVJYWJUYWdzIixhLmlhYlRhZ3MpLG8oMixsPW4oKSl9O3ZhcntjYXRlZ29yeTp0LGNhdGVnb3J5VGl0bGU6cCxjYXRlZ29yeURlc2NyaXB0aW9uOnUsY2F0ZWdvcnlUYWc6ZyxjYXRlZ29yeVRhZ1RpdGxlU2VjdGlvbjptLGNhdGVnb3J5VGFnVXBwZXJTZWN0aW9uOmYsY2F0ZWdvcnlUYWdCb3R0b21TZWN0aW9uOmgsY2F0ZWdvcnlTZWxlY3Rvckljb246YixjYXRlZ29yeVNlbGVjdG9ySWNvbkNvbnRhaW5lcjp4LGNhdGVnb3J5VGFnTGluazp5LGNhdGVnb3J5VGFnVG9nZ2xlQ29udGFpbmVyOnd9PSgoZSx0KT0+e3ZhciBvPWUuY29sb3JzLHtzdHlsZXM6ZSxoYXNJbXBvcnRhbnQ6cn09ZS5zdHlsZXM/P3t9LHt0aGVtZTp0PSJsaWdodCIsc3R5bGVzOmksaGFzSW1wb3J0YW50Om4sY29sb3JzOmF9PXQ7bGV0IHM9dm9pZCAwPT09bnx8bj92b2lkIDA9PT1yfHxyPyIhaW1wb3J0YW50IjoiIjoiIjt2YXIgbj0iIWltcG9ydGFudCI9PT1zPyJ1bnNldCAhaW1wb3J0YW50IjoiIixyPUIoe2FsbDpuLGRpc3BsYXk6ImZsZXggIitzLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrcyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitzLG1hcmdpbjoiNXB4IDAgIitzLGZsZXhXcmFwOiJ3cmFwICIrcyxwYWRkaW5nUmlnaHQ6IjEwcHggIitzLHZhcmlhbnRzOntyZXF1aXJlZDp7dHJ1ZTp7b3BhY2l0eToiMC43NSAiK3N9fX0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwuLi5pPy53ZWI/LmNhdGVnb3JpZXM/LmNhdGVnb3J5LCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmNhdGVnb3J5fX0pLGw9Qih7YWxsOm4sZmxleEdyb3c6IjEgIitzLGZvbnRXZWlnaHQ6ImJvbGQgIitzLGN1cnNvcjoicG9pbnRlciAiK3MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5pPy53ZWI/LmNhdGVnb3JpZXM/LnRpdGxlLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRpdGxlfX0pLGM9Qih7YWxsOm4sd2lkdGg6IjEycHggIitzLGhlaWdodDoiMTJweCAiK3MsZGlzcGxheToiaW5saW5lLWJsb2NrICIrcyx2ZXJ0aWNhbEFsaWduOiJtaWRkbGUgIitzLG9iamVjdEZpdDoiY292ZXIgIitzLG1hcmdpblJpZ2h0OiI1cHggIitzLG1hcmdpblRvcDoiLTRweCAiK3Msb3BhY2l0eToiMC44ICIrcywiJiBzdmciOntmaWxsOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzfSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/Lmljb24sLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy5pY29uLCJAbW9iaWxlIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSsiICIrc30sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5pY29uLC4uLmk/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uaWNvbn19KSxkPUIoe2FsbDpuLGZvbnRTaXplOiIkc21hbGxUZXh0ICIrcyx3aWR0aDoiMTAwJSAiK3MsZGlzcGxheToiYmxvY2sgIitzLHBhZGRpbmdSaWdodDoiMTBweCAiK3MsbGluZUhlaWdodDoiMTJweCAiK3MsbWFyZ2luQm90dG9tOiIxMHB4ICIrcyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcywuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb24sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcywuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLC4uLmk/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb259fSkscD1CKHthbGw6bixmb250V2VpZ2h0OiJib2xkICIrcyx3aWR0aDoiMTAwJSAiK3MsZGlzcGxheToiZmxleCAiK3MsYWxpZ25JdGVtczoiY2VudGVyICIrcyxjdXJzb3I6InBvaW50ZXIgIitzLG1hcmdpbkJvdHRvbToiMnB4ICIrcyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcywiJiA+IGRpdiI6e2FsbDpuLG1hcmdpblJpZ2h0OiI0cHggIitzfSwiJiBzdmciOntmaWxsOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzfSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8udG9vZ2xlU2hvd1RhZ3MsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcywiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzfSwuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzLC4uLmk/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udG9vZ2xlU2hvd1RhZ3N9fSksdT1CKHthbGw6bixtYXJnaW5Cb3R0b206IjVweCAiK3MsYm9yZGVyUmFkaXVzOiI4cHggIitzLHdpZHRoOiIxMDAlICIrcyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcyxib3JkZXI6YDFweCBzb2xpZCAke1F0KEQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpLC4xKX0gYCtzLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8udGFnLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsYm9yZGVyOmAxcHggc29saWQgJHtRdChEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSwuMSl9IGArcywuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZywuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ319KSxnPUIoe2FsbDpuLGRpc3BsYXk6ImZsZXggIitzLGFsaWduSXRlbXM6ImNlbnRlciAiK3MsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb24sLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb24sIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlU2VjdGlvbiwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlU2VjdGlvbn19KSxtPUIoe2FsbDpuLGZsZXhHcm93OiIxICIrcyxjdXJzb3I6InBvaW50ZXIgIitzLGRpc3BsYXk6ImZsZXggIitzLGFsaWduSXRlbXM6ImNlbnRlciAiK3MsIiYgPiBkaXYiOnthbGw6bixtYXJnaW5SaWdodDoiNXB4ICIrc30sIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKX0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50YWdUaXRsZSwuLi5pPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlLCJAbW9iaWxlIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKX0sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZSwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlfX0pLGY9Qih7YWxsOm4sZGlzcGxheToiZmxleCAiK3MsZmxleERpcmVjdGlvbjoiY29sdW1uICIrcyxnYXA6IjVweCAiK3MscGFkZGluZzoiNHB4IDhweCAiK3MsbWFyZ2luOiIxMHB4IDAgNXB4ICIrcyxib3JkZXJSYWRpdXM6IjNweCAiK3MsYmFja2dyb3VuZE9wYWNpdHk6IjAuMiAiK3MsYmFja2dyb3VuZDpRdChEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSwuMSkrIiAiK3MsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50YWdDb29raWVDb250YWluZXIsLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy50YWdDb29raWVDb250YWluZXIsIkBtb2JpbGUiOntiYWNrZ3JvdW5kOlF0KEQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGEpLC4xKSsiICIrcywuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ0Nvb2tpZUNvbnRhaW5lciwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ0Nvb2tpZUNvbnRhaW5lcn19KSxuPUIoe2FsbDpuLGN1cnNvcjoicG9pbnRlciAiK3MsbWFyZ2luOiIyMHB4IDAgNXB4IDAgIitzLHRleHREZWNvcmF0aW9uOiJub25lICIrcyx0cmFuc2l0aW9uRHVyYXRpb246IjI1MG1zICIrcyxkaXNwbGF5OiJmbGV4ICIrcyxnYXA6IjJweCAiK3MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsIiY6aG92ZXIiOnt0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrc30sIiYgZGl2Omxhc3QtY2hpbGQiOnttYXJnaW5MZWZ0OiI0cHggIitzfSwiJiBzdmciOntmaWxsOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzfSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8udGFnQ2xlYW5DYWNoZUxpbmssIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcywiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzfSwuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rLC4uLmk/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnQ2xlYW5DYWNoZUxpbmt9fSksZT1CKHtoZWlnaHQ6IjE4cHggIitzLHdpZHRoOiI0MHB4ICIrcyxib3JkZXJSYWRpdXM6IjhweCAiK3MsZGlzcGxheToiZmxleCAiK3MsYWxpZ25JdGVtczoiY2VudGVyICIrcyxjdXJzb3I6InBvaW50ZXIgIitzLG9wYWNpdHk6IjAuNSAiK3MsYmFja2dyb3VuZENvbG9yOiIjMzMzICIrcyx2YXJpYW50czp7YWN0aXZlOnt0cnVlOntqdXN0aWZ5Q29udGVudDoiZmxleC1lbmQgIitzLG9wYWNpdHk6IjEgIitzLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrcywiQG1vYmlsZSI6e2JhY2tncm91bmRDb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrc319fX0sIkBtb2JpbGUiOnsiJiBkaXYiOntiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxSLmJnQ29sb3IsdCxvLGEpKyIgIitzfX19KTtyZXR1cm57Y2F0ZWdvcnk6cixjYXRlZ29yeVRpdGxlOmwsY2F0ZWdvcnlJY29uOmMsY2F0ZWdvcnlEZXNjcmlwdGlvbjpkLGNhdGVnb3J5VG9vZ2xlU2hvd1RhZ3M6cCxjYXRlZ29yeVRhZzp1LGNhdGVnb3J5VGFnVGl0bGVTZWN0aW9uOmcsY2F0ZWdvcnlUYWdUaXRsZTptLGNhdGVnb3J5VGFnQ29va2llQ29udGFpbmVyOmYsY2F0ZWdvcnlUYWdDbGVhbkNhY2hlTGluazpuLGNhdGVnb3J5U2VsZWN0b3JJY29uOkIoe3dpZHRoOiIxNXB4ICIrcyxoZWlnaHQ6IjE1cHggIitzLGJvcmRlclJhZGl1czoiNTAlICIrcyxkaXNwbGF5OiJmbGV4ICIrcyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitzLGp1c3RpZnlDb250ZW50OiJjZW50ZXIgIitzLG1hcmdpbjoiMnB4ICIrcyxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLmJnQ29sb3IsdCxvLGEpKyIgIitzLCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9LHZhcmlhbnRzOnthY3RpdmU6e3RydWU6eyImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9LCJAbW9iaWxlIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrc319fX19LCJAbW9iaWxlIjp7YmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHQsbyxhKSsiICIrcywiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGEpKyIgIitzfX19KSxjYXRlZ29yeVNlbGVjdG9ySWNvbkNvbnRhaW5lcjplLGNhdGVnb3J5VGFnVXBwZXJTZWN0aW9uOkIoe3BhZGRpbmc6IjhweCAxMHB4ICIrcyxib3JkZXJCb3R0b206YDFweCBzb2xpZCAke1F0KEQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpLC4xKX0gYCtzfSksY2F0ZWdvcnlUYWdCb3R0b21TZWN0aW9uOkIoe2N1cnNvcjoicG9pbnRlciAiK3MscGFkZGluZzoiOHB4IDEwcHggIitzLGRpc3BsYXk6ImZsZXggIitzLGdhcDoiNXB4ICIrcyx0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrcyxjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrc30pLGNhdGVnb3J5VGFnTGluazpCKHtjdXJzb3I6InBvaW50ZXIgIitzLHRleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitzLGNvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGEpKyIgIitzfSksY2F0ZWdvcnlUYWdUb2dnbGVDb250YWluZXI6Qih7Y3Vyc29yOiJwb2ludGVyICIrcyxkaXNwbGF5OiJmbGV4ICIrcyxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK3MscGFkZGluZzoiOHB4IDEwcHggIitzfSl9fSkoYSxpKTtyZXR1cm4gZS4kJHNldD1lPT57ImNvbmZpZyJpbiBlJiZvKDAsYT1lLmNvbmZpZyksInJlcXVpcmVkImluIGUmJm8oMSxyPWUucmVxdWlyZWQpLCJzdHlsZXMiaW4gZSYmbygxNyxpPWUuc3R5bGVzKX0sW2EscixsLHMsYyxkLHQscCx1LGcsbSxmLGgsYix4LHksdyxpLGU9PntzKCJoYW5kbGVPcGVuTW9kYWwiLHt0aXRsZTphPy50ZXh0cz8ubW9kYWxzPy5kYXRhQ29sbGVjdD8udGl0bGUsY29udGVudERhdGE6ZS5kYXRhRGVjbGFyYXRpb24ubWFwKGU9Pih7dHlwZToiTElTVCIsY29udGVudDplLm5hbWUrIjogIitlLmRlc2NyaXB0aW9ufSkpfSl9LHI9PntsZXQgZT1bXSx0PVtdLG89W10saT1bXSxuPVtdOzA8ci5wdXJwb3Nlcy5sZW5ndGgmJihlPVt7dHlwZToiVElUTEUiLGNvbnRlbnQ6YS50ZXh0cz8ubW9kYWxzPy5jb25zZW50LnRpdGxlfSwuLi5yLnB1cnBvc2VzLnJlZHVjZSgoZSx0KT0+e2lmKGUucHVzaCh7dHlwZToiTElTVCIsYm9sZFRleHQ6YCR7dC5uYW1lfSAoJHthLnRleHRzLmJvZHlUZXh0cy50Y2ZQdXJwb3NlUmV0ZW50aW9ufTogJHtyLmRhdGFSZXRlbnRpb24uc3RkUmV0ZW50aW9ufSAke1ZpPy5bYS5sYW5ndWFnZV0/LnVuaXRPZlRpbWU/LmRheXN9KTpgLGNvbnRlbnQ6dC5kZXNjcmlwdGlvbn0pLHQuaWxsdXN0cmF0aW9ucyl7ZS5wdXNoKHt0eXBlOiJTTUFMTF9USVRMRSIsY29udGVudDpWaT8uW2EubGFuZ3VhZ2VdPy5pbGx1c3RyYXRpb25zfSk7Zm9yKHZhciBvIG9mIHQuaWxsdXN0cmF0aW9ucyllLnB1c2goe3R5cGU6IklOU0lERV9MSVNUIixjb250ZW50Om99KX1yZXR1cm4gZX0sW10pXSksci51cmxzWzBdLmxlZ0ludENsYWltJiYobz1be3R5cGU6IkxJTksiLGNvbnRlbnQ6YS50ZXh0cy5ib2R5VGV4dHMudGNmVmVuZG9yTGVnSW50UHJpdmFjeVBvbGljeSxocmVmOnIudXJsc1swXS5sZWdJbnRDbGFpbX1dKSwwPHIuc3BlY2lhbFB1cnBvc2VzLmxlbmd0aCYmKHQ9W3t0eXBlOiJESVZJREVSIn0se3R5cGU6IlRJVExFIixjb250ZW50OmEudGV4dHM/Lm1vZGFscz8ubGVnaXRpbWF0ZUludGVyZXN0LnRpdGxlfSwuLi5yLnNwZWNpYWxQdXJwb3Nlcy5tYXAoZT0+KHt0eXBlOiJMSVNUIixib2xkVGV4dDplLm5hbWUrIjoiLGNvbnRlbnQ6ZS5kZXNjcmlwdGlvbn0pKV0pLDA8ci5mZWF0dXJlcy5sZW5ndGgmJihpPVt7dHlwZToiRElWSURFUiJ9LHt0eXBlOiJUSVRMRSIsY29udGVudDphLnRleHRzPy5tb2RhbHM/LmRhdGFDb2xsZWN0aW9uTWV0aG9kcy50aXRsZX0sLi4uci5mZWF0dXJlcy5tYXAoZT0+KHt0eXBlOiJMSVNUIixib2xkVGV4dDplLm5hbWUrIjoiLGNvbnRlbnQ6ZS5kZXNjcmlwdGlvbn0pKV0pLDA8ci5zcGVjaWFsRmVhdHVyZXMubGVuZ3RoJiYobj1be3R5cGU6IkRJVklERVIifSx7dHlwZToiVElUTEUiLGNvbnRlbnQ6YS50ZXh0cz8ubW9kYWxzPy5zcGVjaWFsRmVhdHVyZXMudGl0bGV9LC4uLnIuc3BlY2lhbEZlYXR1cmVzLm1hcChlPT4oe3R5cGU6IkxJU1QiLGJvbGRUZXh0OmUubmFtZSsiOiIsY29udGVudDplLmRlc2NyaXB0aW9ufSkpXSkscygiaGFuZGxlT3Blbk1vZGFsIix7dGl0bGU6ci5uYW1lKyI6Iixjb250ZW50RGF0YTpbLi4uZSwuLi50LC4uLm8sLi4uaSwuLi5uXX0pfSxlPT5jKGUuaWQpLGU9PmQoZS5pZCldfWNsYXNzIGhhIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLGZhLG1hLHIse2NvbmZpZzowLHJlcXVpcmVkOjEsc3R5bGVzOjE3fSl9fWZ1bmN0aW9uIGJhKGUsdCxvKXtlPWUuc2xpY2UoKTtyZXR1cm4gZVsyNV09dFtvXVswXSxlWzI2XT10W29dWzFdLGV9ZnVuY3Rpb24geGEoZSx0LG8pe2U9ZS5zbGljZSgpO3JldHVybiBlWzI5XT10W29dLGV9ZnVuY3Rpb24geWEodCl7bGV0IGksbyxlPXRbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy50Y2ZDYXRlZ29yeT8ubmFtZSsiIixuLHIsYSxzLGw9dFsxNV0/Lmxlbmd0aCsiIixjLGQscCx1LGc9dFswXT8udGV4dHM/LmNhdGVnb3JpZXM/LnRjZkNhdGVnb3J5Py5kZXNjcmlwdGlvbisiIixtLGYsaCxiLHg9T2JqZWN0LmVudHJpZXModFswXS5pYWJDYXRlZ29yaWVzKSx5PVtdO2ZvcihsZXQgZT0wO2U8eC5sZW5ndGg7ZSs9MSl5W2VdPWthKGJhKHQseCxlKSk7cmV0dXJue2MoKXtpPWRlKCJkaXYiKSxvPWRlKCJkaXYiKSxuPXBlKGUpLHI9cGUoIlxuICAgICAgKCIpLGE9cGUodFsyXSkscz1wZSgiLyIpLGM9cGUobCksZD1wZSgiKSIpLHA9dWUoKSx1PWRlKCJkaXYiKSxtPXBlKGcpLGY9dWUoKTtmb3IobGV0IGU9MDtlPHkubGVuZ3RoO2UrPTEpeVtlXS5jKCk7bWUobywiY2xhc3MiLHRbN10oKSksbWUodSwiY2xhc3MiLHRbOF0oKSksbWUoaSwiY2xhc3MiLGg9dFs2XSh7cmVxdWlyZWQ6dFsxXX0pKSxtZShpLCJpZCIsImNhdElhYiIpfSxtKGUsdCl7bGUoZSxpLHQpLHNlKGksbyksc2UobyxuKSxzZShvLHIpLHNlKG8sYSksc2UobyxzKSxzZShvLGMpLHNlKG8sZCksc2UoaSxwKSxzZShpLHUpLHNlKHUsbSksc2UoaSxmKTtmb3IobGV0IGU9MDtlPHkubGVuZ3RoO2UrPTEpeVtlXSYmeVtlXS5tKGksbnVsbCk7Yj0hMH0scCh0LG8pe2lmKCghYnx8MSZvWzBdKSYmZSE9PShlPXRbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy50Y2ZDYXRlZ29yeT8ubmFtZSsiIikmJmZlKG4sZSksKCFifHw0Jm9bMF0pJiZmZShhLHRbMl0pLCghYnx8MSZvWzBdKSYmZyE9PShnPXRbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy50Y2ZDYXRlZ29yeT8uZGVzY3JpcHRpb24rIiIpJiZmZShtLGcpLDMyMzEzJm9bMF0pe3g9T2JqZWN0LmVudHJpZXModFswXS5pYWJDYXRlZ29yaWVzKTtsZXQgZTtmb3IoZT0wO2U8eC5sZW5ndGg7ZSs9MSl7dmFyIHI9YmEodCx4LGUpO3lbZV0/KHlbZV0ucChyLG8pLGhlKHlbZV0sMSkpOih5W2VdPWthKHIpLHlbZV0uYygpLGhlKHlbZV0sMSkseVtlXS5tKGksbnVsbCkpfWZvcihpZSgpLGU9eC5sZW5ndGg7ZTx5Lmxlbmd0aDtlKz0xKShlPT5iZSh5W2VdLDEsMSwoKT0+e3lbZV09bnVsbH0pKShlKTtuZSgpfSghYnx8MiZvWzBdJiZoIT09KGg9dFs2XSh7cmVxdWlyZWQ6dFsxXX0pKSkmJm1lKGksImNsYXNzIixoKX0saShlKXtpZighYil7Zm9yKGxldCBlPTA7ZTx4Lmxlbmd0aDtlKz0xKWhlKHlbZV0pO2I9ITB9fSxvKGUpe3k9eS5maWx0ZXIoQm9vbGVhbik7Zm9yKGxldCBlPTA7ZTx5Lmxlbmd0aDtlKz0xKWJlKHlbZV0pO2I9ITF9LGQoZSl7ZSYmY2UoaSksbW8oeSxlKX19fWZ1bmN0aW9uIHdhKG8pe2xldCByLGksbixhPW9bMjldLm5hbWUrIiIscyxsLGMsZD1vWzI5XS5kZXNjcmlwdGlvbisiIixwLHUsZyxtPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZlZpZXdEZXRhaWxzKyIiLGYsaCxiLHgseT1vWzBdPy50ZXh0cz8uYm9keVRleHRzPy5jb25zZW50KyIiLHcsQyx2LGssST1vWzI5XS52ZW5kb3JzVXNpbmcrIiIsUyxULEw9b1swXS50ZXh0cy5ib2R5VGV4dHMudGNmVmVuZG9yc1VzaW5nKyIiLCQsQSxFLFIsTyxELE4sVixCLFAsXyxNO2Z1bmN0aW9uIHooKXtyZXR1cm4gb1sxN10ob1syOV0pfShSPW5ldyB5bih7cHJvcHM6e2NhdGVnb3J5U2VsZWN0b3JJY29uOm9bMTJdLGNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyOm9bMTNdLGlkOm9bMjldLm5hbWUsYWN0aXZlOm9bMjldLmFjY2VwdH19KSkuJG9uKCJ0b2dnbGVkIixmdW5jdGlvbigpe3JldHVybiBvWzE4XShvWzI1XSxvWzI5XSl9KTtsZXQgaj12b2lkIDAhPT1vWzI5XS5sZWdJbnQmJkNhKG8pO3JldHVybntjKCl7cj1kZSgiZGl2IiksaT1kZSgiZGl2Iiksbj1kZSgiYiIpLHM9cGUoYSksbD11ZSgpLGM9ZGUoImRpdiIpLHA9cGUoZCksdT11ZSgpLGc9ZGUoImRpdiIpLGY9cGUobSksaD11ZSgpLGI9ZGUoImRpdiIpLHg9ZGUoInNwYW4iKSx3PXBlKHkpLEM9dWUoKSx2PWRlKCJiIiksaz1wZSgiKCIpLFM9cGUoSSksVD11ZSgpLCQ9cGUoTCksQT1wZSgiKSIpLEU9dWUoKSx4ZShSLiQkLmZyYWdtZW50KSxPPXVlKCksaiYmai5jKCksRD11ZSgpLE49ZGUoImRpdiIpLFY9dWUoKSxtZShnLCJjbGFzcyIsb1sxNF0oKSksbWUoaSwiY2xhc3MiLG9bMTFdKCkpLG1lKGIsImNsYXNzIixvWzEwXSgpKSxtZShyLCJjbGFzcyIsb1s5XSgpKSxtZShyLCJpZCIsQj1vWzI5XS5uYW1lKX0sbShlLHQpe2xlKGUscix0KSxzZShyLGkpLHNlKGksbiksc2UobixzKSxzZShpLGwpLHNlKGksYyksc2UoYyxwKSxzZShpLHUpLHNlKGksZyksc2UoZyxmKSxzZShyLGgpLHNlKHIsYiksc2UoYix4KSxzZSh4LHcpLHNlKHgsQyksc2UoeCx2KSxzZSh2LGspLHNlKHYsUyksc2UodixUKSxzZSh2LCQpLHNlKHYsQSksc2UoYixFKSx5ZShSLGIsbnVsbCksc2UocixPKSxqJiZqLm0ocixudWxsKSxzZShyLEQpLHNlKHIsTiksc2UocixWKSxQPSEwLF98fChNPWdlKGcsImNsaWNrIix6KSxfPSEwKX0scChlLHQpe289ZSwoIVB8fDEmdFswXSkmJmEhPT0oYT1vWzI5XS5uYW1lKyIiKSYmZmUocyxhKSwoIVB8fDEmdFswXSkmJmQhPT0oZD1vWzI5XS5kZXNjcmlwdGlvbisiIikmJmZlKHAsZCksKCFQfHwxJnRbMF0pJiZtIT09KG09b1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmVmlld0RldGFpbHMrIiIpJiZmZShmLG0pLCghUHx8MSZ0WzBdKSYmeSE9PSh5PW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LmNvbnNlbnQrIiIpJiZmZSh3LHkpLCghUHx8MSZ0WzBdKSYmSSE9PShJPW9bMjldLnZlbmRvcnNVc2luZysiIikmJmZlKFMsSSksKCFQfHwxJnRbMF0pJiZMIT09KEw9b1swXS50ZXh0cy5ib2R5VGV4dHMudGNmVmVuZG9yc1VzaW5nKyIiKSYmZmUoJCxMKTtlPXt9OzEmdFswXSYmKGUuaWQ9b1syOV0ubmFtZSksMSZ0WzBdJiYoZS5hY3RpdmU9b1syOV0uYWNjZXB0KSxSLiRzZXQoZSksdm9pZCAwIT09b1syOV0ubGVnSW50P2o/KGoucChvLHQpLDEmdFswXSYmaGUoaiwxKSk6KChqPUNhKG8pKS5jKCksaGUoaiwxKSxqLm0ocixEKSk6aiYmKGllKCksYmUoaiwxLDEsKCk9PntqPW51bGx9KSxuZSgpKSwoIVB8fDEmdFswXSYmQiE9PShCPW9bMjldLm5hbWUpKSYmbWUociwiaWQiLEIpfSxpKGUpe1B8fChoZShSLiQkLmZyYWdtZW50LGUpLGhlKGopLFA9ITApfSxvKGUpe2JlKFIuJCQuZnJhZ21lbnQsZSksYmUoaiksUD0hMX0sZChlKXtlJiZjZShyKSx3ZShSKSxqJiZqLmQoKSxfPSExLE0oKX19fWZ1bmN0aW9uIENhKG8pe2xldCByLGksbj1vWzBdPy50ZXh0cz8uYm9keVRleHRzPy5sZWdpdGltYXRlSW50ZXJlc3QrIiIsYSxzLGwsYyxkPW9bMjldLnZlbmRvcnNVc2luZ0xlZ3RJbnQrIiIscCx1LGc9b1swXS50ZXh0cy5ib2R5VGV4dHMudGNmVmVuZG9yc1VzaW5nKyIiLG0sZixoLGIseDtyZXR1cm4oYj1uZXcgeW4oe3Byb3BzOntjYXRlZ29yeVNlbGVjdG9ySWNvbjpvWzEyXSxjYXRlZ29yeVNlbGVjdG9ySWNvbkNvbnRhaW5lcjpvWzEzXSxpZDpvWzI5XS5uYW1lLGFjdGl2ZTpvWzI5XS5sZWdJbnR9fSkpLiRvbigidG9nZ2xlZCIsZnVuY3Rpb24oKXtyZXR1cm4gb1sxOV0ob1syNV0sb1syOV0pfSkse2MoKXtyPWRlKCJkaXYiKSxpPWRlKCJzcGFuIiksYT1wZShuKSxzPXVlKCksbD1kZSgiYiIpLGM9cGUoIigiKSxwPXBlKGQpLHU9dWUoKSxtPXBlKGcpLGY9cGUoIikiKSxoPXVlKCkseGUoYi4kJC5mcmFnbWVudCksbWUociwiY2xhc3MiLG9bMTBdKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSksc2UoaSxhKSxzZShpLHMpLHNlKGksbCksc2UobCxjKSxzZShsLHApLHNlKGwsdSksc2UobCxtKSxzZShsLGYpLHNlKHIsaCkseWUoYixyLG51bGwpLHg9ITB9LHAoZSx0KXtvPWUsKCF4fHwxJnRbMF0pJiZuIT09KG49b1swXT8udGV4dHM/LmJvZHlUZXh0cz8ubGVnaXRpbWF0ZUludGVyZXN0KyIiKSYmZmUoYSxuKSwoIXh8fDEmdFswXSkmJmQhPT0oZD1vWzI5XS52ZW5kb3JzVXNpbmdMZWd0SW50KyIiKSYmZmUocCxkKSwoIXh8fDEmdFswXSkmJmchPT0oZz1vWzBdLnRleHRzLmJvZHlUZXh0cy50Y2ZWZW5kb3JzVXNpbmcrIiIpJiZmZShtLGcpO2U9e307MSZ0WzBdJiYoZS5pZD1vWzI5XS5uYW1lKSwxJnRbMF0mJihlLmFjdGl2ZT1vWzI5XS5sZWdJbnQpLGIuJHNldChlKX0saShlKXt4fHwoaGUoYi4kJC5mcmFnbWVudCxlKSx4PSEwKX0sbyhlKXtiZShiLiQkLmZyYWdtZW50LGUpLHg9ITF9LGQoZSl7ZSYmY2Uociksd2UoYil9fX1mdW5jdGlvbiB2YShlKXtsZXQgbyxyLGk9dm9pZCAwIT09ZVsyOV0uYWNjZXB0JiZ3YShlKTtyZXR1cm57Yygpe2kmJmkuYygpLG89Zm8oKX0sbShlLHQpe2kmJmkubShlLHQpLGxlKGUsbyx0KSxyPSEwfSxwKGUsdCl7dm9pZCAwIT09ZVsyOV0uYWNjZXB0P2k/KGkucChlLHQpLDEmdFswXSYmaGUoaSwxKSk6KChpPXdhKGUpKS5jKCksaGUoaSwxKSxpLm0oby5wYXJlbnROb2RlLG8pKTppJiYoaWUoKSxiZShpLDEsMSwoKT0+e2k9bnVsbH0pLG5lKCkpfSxpKGUpe3J8fChoZShpKSxyPSEwKX0sbyhlKXtiZShpKSxyPSExfSxkKGUpe2kmJmkuZChlKSxlJiZjZShvKX19fWZ1bmN0aW9uIGthKHQpe2xldCBpLHIsbj1PYmplY3QudmFsdWVzKHRbMjZdKSxhPVtdO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSs9MSlhW2VdPXZhKHhhKHQsbixlKSk7cmV0dXJue2MoKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrPTEpYVtlXS5jKCk7aT1mbygpfSxtKHQsbyl7Zm9yKGxldCBlPTA7ZTxhLmxlbmd0aDtlKz0xKWFbZV0mJmFbZV0ubSh0LG8pO2xlKHQsaSxvKSxyPSEwfSxwKHQsbyl7aWYoMzIzMTMmb1swXSl7bj1PYmplY3QudmFsdWVzKHRbMjZdKTtsZXQgZTtmb3IoZT0wO2U8bi5sZW5ndGg7ZSs9MSl7dmFyIHI9eGEodCxuLGUpO2FbZV0/KGFbZV0ucChyLG8pLGhlKGFbZV0sMSkpOihhW2VdPXZhKHIpLGFbZV0uYygpLGhlKGFbZV0sMSksYVtlXS5tKGkucGFyZW50Tm9kZSxpKSl9Zm9yKGllKCksZT1uLmxlbmd0aDtlPGEubGVuZ3RoO2UrPTEpKGU9PmJlKGFbZV0sMSwxLCgpPT57YVtlXT1udWxsfSkpKGUpO25lKCl9fSxpKGUpe2lmKCFyKXtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrPTEpaGUoYVtlXSk7cj0hMH19LG8oZSl7YT1hLmZpbHRlcihCb29sZWFuKTtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrPTEpYmUoYVtlXSk7cj0hMX0sZChlKXttbyhhLGUpLGUmJmNlKGkpfX19ZnVuY3Rpb24gSWEoZSl7bGV0IG8scixpPTA8ZVswXS5pYWJUYWdzPy5sZW5ndGgmJnlhKGUpO3JldHVybntjKCl7aSYmaS5jKCksbz1mbygpfSxtKGUsdCl7aSYmaS5tKGUsdCksbGUoZSxvLHQpLHI9ITB9LHAoZSx0KXswPGVbMF0uaWFiVGFncz8ubGVuZ3RoP2k/KGkucChlLHQpLDEmdFswXSYmaGUoaSwxKSk6KChpPXlhKGUpKS5jKCksaGUoaSwxKSxpLm0oby5wYXJlbnROb2RlLG8pKTppJiYoaWUoKSxiZShpLDEsMSwoKT0+e2k9bnVsbH0pLG5lKCkpfSxpKGUpe3J8fChoZShpKSxyPSEwKX0sbyhlKXtiZShpKSxyPSExfSxkKGUpe2kmJmkuZChlKSxlJiZjZShvKX19fWZ1bmN0aW9uIFNhKGUsdCxvKXtsZXQgcj10LmNvbmZpZyx7cmVxdWlyZWQ6aT0hMX09dCxuPXQuc3R5bGVzLGE9JG8oKSxzPShyPy5kaXNjbGFpbWVyT3B0aW9ucz8udW5jaGVja1RhZ3MsKCk9Pk9iamVjdC52YWx1ZXMoci5pYWJDYXRlZ29yaWVzKS5yZWR1Y2UoKGUsdCk9PmUrT2JqZWN0LnZhbHVlcyh0KS5yZWR1Y2UoKGUsdCk9PnQuYWNjZXB0P2UrMTplLDApLDApKSxsPShyLmlhYlRhZ3MucmVkdWNlKChlLHQpPT50LmFjY2VwdD9lKzE6ZSwwKSxzKCkpLGM9KGUsdCk9PnthKCJ0b2dnbGVkIix0KSxvKDAsci5pYWJDYXRlZ29yaWVzW2VdW3RdLmFjY2VwdD0hci5pYWJDYXRlZ29yaWVzW2VdW3RdLmFjY2VwdCxyKSxvKDIsbD1zKCkpfSxkPShlLHQpPT57YSgidG9nZ2xlZCIsdCksbygwLHIuaWFiQ2F0ZWdvcmllc1tlXVt0XS5sZWdJbnQ9IXIuaWFiQ2F0ZWdvcmllc1tlXVt0XS5sZWdJbnQsciksbygyLGw9cygpKX07dmFye2NhdGVnb3J5OnQsY2F0ZWdvcnlUaXRsZTpwLGNhdGVnb3J5RGVzY3JpcHRpb246dSxjYXRlZ29yeVRhZzpnLGNhdGVnb3J5VGFnVG9nZ2xlQ29udGFpbmVyOm0sY2F0ZWdvcnlUYWdVcHBlclNlY3Rpb246ZixjYXRlZ29yeVNlbGVjdG9ySWNvbjpoLGNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyOmIsY2F0ZWdvcnlUYWdMaW5rOnh9PSgoZSx0KT0+e3ZhciBvPWUuY29sb3JzLHtzdHlsZXM6ZSxoYXNJbXBvcnRhbnQ6cn09ZS5zdHlsZXM/P3t9LHt0aGVtZTp0PSJsaWdodCIsc3R5bGVzOmksaGFzSW1wb3J0YW50Om4sY29sb3JzOmF9PXQ7bGV0IHM9dm9pZCAwPT09bnx8bj92b2lkIDA9PT1yfHxyPyIhaW1wb3J0YW50IjoiIjoiIjt2YXIgbj0iIWltcG9ydGFudCI9PT1zPyJ1bnNldCAhaW1wb3J0YW50IjoiIixyPUIoe2FsbDpuLGRpc3BsYXk6ImZsZXggIitzLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrcyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitzLG1hcmdpbjoiNXB4IDAgIitzLGZsZXhXcmFwOiJ3cmFwICIrcyxwYWRkaW5nUmlnaHQ6IjEwcHggIitzLHZhcmlhbnRzOntyZXF1aXJlZDp7dHJ1ZTp7b3BhY2l0eToiMC43NSAiK3N9fX0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwuLi5pPy53ZWI/LmNhdGVnb3JpZXM/LmNhdGVnb3J5LCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmNhdGVnb3J5fX0pLGw9Qih7YWxsOm4sZmxleEdyb3c6IjEgIitzLGZvbnRXZWlnaHQ6ImJvbGQgIitzLGN1cnNvcjoicG9pbnRlciAiK3MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5pPy53ZWI/LmNhdGVnb3JpZXM/LnRpdGxlLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRpdGxlfX0pLGM9Qih7YWxsOm4sZm9udFNpemU6IiRzbWFsbFRleHQgIitzLHdpZHRoOiIxMDAlICIrcyxkaXNwbGF5OiJibG9jayAiK3MscGFkZGluZ1JpZ2h0OiIxMHB4ICIrcyxsaW5lSGVpZ2h0OiIxMnB4ICIrcyxtYXJnaW5Cb3R0b206IjEwcHggIitzLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb24sLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzLC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb24sLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbn19KSxkPUIoe2FsbDpuLG1hcmdpbkJvdHRvbToiNXB4ICIrcyxib3JkZXJSYWRpdXM6IjhweCAiK3Msd2lkdGg6IjEwMCUgIitzLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzLGJvcmRlcjpgMXB4IHNvbGlkICR7UXQoRChPLndlYixSLnRleHRDb2xvcix0LG8sYSksLjEpfSBgK3MsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50YWcsLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy50YWcsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcyxib3JkZXI6YDFweCBzb2xpZCAke1F0KEQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGEpLC4xKX0gYCtzLC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnLC4uLmk/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnfX0pLG49KEIoe2FsbDpuLGRpc3BsYXk6ImZsZXggIitzLGFsaWduSXRlbXM6ImNlbnRlciAiK3MsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb24sLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb24sIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlU2VjdGlvbiwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlU2VjdGlvbn19KSxCKHtoZWlnaHQ6IjE4cHggIitzLHdpZHRoOiI0MHB4ICIrcyxib3JkZXJSYWRpdXM6IjhweCAiK3MsZGlzcGxheToiZmxleCAiK3MsYWxpZ25JdGVtczoiY2VudGVyICIrcyxjdXJzb3I6InBvaW50ZXIgIitzLG9wYWNpdHk6IjAuNSAiK3MsYmFja2dyb3VuZENvbG9yOiIjMzMzICIrcyx2YXJpYW50czp7YWN0aXZlOnt0cnVlOntqdXN0aWZ5Q29udGVudDoiZmxleC1lbmQgIitzLG9wYWNpdHk6IjEgIitzLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrcywiQG1vYmlsZSI6e2JhY2tncm91bmRDb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrc319fX0sIkBtb2JpbGUiOnsiJiBkaXYiOntiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxSLmJnQ29sb3IsdCxvLGEpKyIgIitzfX19KSk7cmV0dXJue2NhdGVnb3J5OnIsY2F0ZWdvcnlUaXRsZTpsLGNhdGVnb3J5RGVzY3JpcHRpb246YyxjYXRlZ29yeVRhZzpkLGNhdGVnb3J5U2VsZWN0b3JJY29uOkIoe3dpZHRoOiIxNXB4ICIrcyxoZWlnaHQ6IjE1cHggIitzLGJvcmRlclJhZGl1czoiNTAlICIrcyxkaXNwbGF5OiJmbGV4ICIrcyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitzLGp1c3RpZnlDb250ZW50OiJjZW50ZXIgIitzLG1hcmdpbjoiMnB4ICIrcyxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLmJnQ29sb3IsdCxvLGEpKyIgIitzLCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9LHZhcmlhbnRzOnthY3RpdmU6e3RydWU6eyImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9LCJAbW9iaWxlIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrc319fX19LCJAbW9iaWxlIjp7YmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHQsbyxhKSsiICIrcywiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGEpKyIgIitzfX19KSxjYXRlZ29yeVNlbGVjdG9ySWNvbkNvbnRhaW5lcjpuLGNhdGVnb3J5VGFnVXBwZXJTZWN0aW9uOkIoe3BhZGRpbmc6IjhweCAxMHB4ICIrcyxib3JkZXJCb3R0b206YDFweCBzb2xpZCAke1F0KEQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpLC4xKX0gYCtzfSksY2F0ZWdvcnlUYWdUb2dnbGVDb250YWluZXI6Qih7Y3Vyc29yOiJwb2ludGVyICIrcyxkaXNwbGF5OiJmbGV4ICIrcyxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK3MscGFkZGluZzoiOHB4IDEwcHggIitzfSksY2F0ZWdvcnlUYWdMaW5rOkIoe2N1cnNvcjoicG9pbnRlciAiK3MsdGV4dERlY29yYXRpb246InVuZGVybGluZSAiK3MsY29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9KX19KShyLG4pLHk9T2JqZWN0LnZhbHVlcyhyLmlhYkNhdGVnb3JpZXMpLnJlZHVjZSgoZSx0KT0+ZS5jb25jYXQoT2JqZWN0LnZhbHVlcyh0KS5yZWR1Y2UoKGUsdCk9PmUuY29uY2F0KHQpLFtdKSksW10pO3JldHVybiBlLiQkc2V0PWU9PnsiY29uZmlnImluIGUmJm8oMCxyPWUuY29uZmlnKSwicmVxdWlyZWQiaW4gZSYmbygxLGk9ZS5yZXF1aXJlZCksInN0eWxlcyJpbiBlJiZvKDE2LG49ZS5zdHlsZXMpfSxbcixpLGwsYSxjLGQsdCxwLHUsZyxtLGYsaCxiLHgseSxuLGU9PntsZXQgdD1bXTswPGU/LmlsbHVzdHJhdGlvbnM/Lmxlbmd0aCYmKHQucHVzaCh7dHlwZToiU01BTExfVElUTEUiLGNvbnRlbnQ6Vmk/LltyLmxhbmd1YWdlXT8uaWxsdXN0cmF0aW9uc30pLGU/LmlsbHVzdHJhdGlvbnMuZm9yRWFjaChlPT57dC5wdXNoKHt0eXBlOiJMSVNUIixjb250ZW50OmV9KX0pKSxhKCJoYW5kbGVPcGVuTW9kYWwiLHt0aXRsZTplLm5hbWUrIjoiLGNvbnRlbnREYXRhOlt7dHlwZToiUEFSQUdSQVBIIixjb250ZW50OmUuZGVzY3JpcHRpb259LC4uLnRdfSl9LChlLHQpPT5jKGUsdC5pZCksKGUsdCk9PmQoZSx0LmlkKV19Y2xhc3MgVGEgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsU2EsSWEscix7Y29uZmlnOjAscmVxdWlyZWQ6MSxzdHlsZXM6MTZ9LG51bGwsWy0xLC0xXSl9fWZ1bmN0aW9uIExhKG8pe2xldCByLGksbj1vWzBdLnRleHRzPy50YWJzPy5jb29raWVzKyIiLGEscyxsLGMsZCxwLHU9b1syNF0mJihvPT57bGV0IHIsaT1vWzBdLnRleHRzPy50YWJzPy5wdXJwb3NlcysiIixuLGEscyxsO3JldHVybntjKCl7cj1kZSgiZGl2Iiksbj1wZShpKSxtZShyLCJyb2xlIiwiYnV0dG9uIiksbWUociwidGFiaW5kZXgiLCIwIiksbWUociwiY2xhc3MiLGE9b1syMV0oe2FjdGl2ZTpvWzNdPT09Ti5DYXRlZ29yaWVzfSkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsbiksc3x8KGw9W2dlKHIsImNsaWNrIixvWzI4XSksZ2Uociwia2V5ZG93biIsb1syOV0pXSxzPSEwKX0scChlLHQpezEmdFswXSYmaSE9PShpPWVbMF0udGV4dHM/LnRhYnM/LnB1cnBvc2VzKyIiKSYmZmUobixpKSw4JnRbMF0mJmEhPT0oYT1lWzIxXSh7YWN0aXZlOmVbM109PT1OLkNhdGVnb3JpZXN9KSkmJm1lKHIsImNsYXNzIixhKX0sZChlKXtlJiZjZShyKSxzPSExLHJvKGwpfX19KShvKSxnPW9bMjVdJiYobz0+e2xldCByLGk9b1swXS50ZXh0cz8udGFicz8udmVuZG9ycysiIixuLGEscyxsO3JldHVybntjKCl7cj1kZSgiZGl2Iiksbj1wZShpKSxtZShyLCJyb2xlIiwiYnV0dG9uIiksbWUociwidGFiaW5kZXgiLCIwIiksbWUociwiY2xhc3MiLGE9b1syMV0oe2FjdGl2ZTpvWzNdPT09Ti5WZW5kb3JzfSkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsbiksc3x8KGw9W2dlKHIsImNsaWNrIixvWzMwXSksZ2Uociwia2V5ZG93biIsb1szMV0pXSxzPSEwKX0scChlLHQpezEmdFswXSYmaSE9PShpPWVbMF0udGV4dHM/LnRhYnM/LnZlbmRvcnMrIiIpJiZmZShuLGkpLDgmdFswXSYmYSE9PShhPWVbMjFdKHthY3RpdmU6ZVszXT09PU4uVmVuZG9yc30pKSYmbWUociwiY2xhc3MiLGEpfSxkKGUpe2UmJmNlKHIpLHM9ITEscm8obCl9fX0pKG8pO3JldHVybntjKCl7cj1kZSgiZGl2IiksaT1kZSgiZGl2IiksYT1wZShuKSxsPXVlKCksdSYmdS5jKCksYz11ZSgpLGcmJmcuYygpLG1lKGksInJvbGUiLCJidXR0b24iKSxtZShpLCJ0YWJpbmRleCIsIjAiKSxtZShpLCJjbGFzcyIscz1vWzIxXSh7YWN0aXZlOm9bM109PT1OLkNvb2tpZXN9KSksbWUociwiY2xhc3MiLG9bMjBdKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSksc2UoaSxhKSxzZShyLGwpLHUmJnUubShyLG51bGwpLHNlKHIsYyksZyYmZy5tKHIsbnVsbCksZHx8KHA9W2dlKGksImNsaWNrIixvWzI2XSksZ2UoaSwia2V5ZG93biIsb1syN10pXSxkPSEwKX0scChlLHQpezEmdFswXSYmbiE9PShuPWVbMF0udGV4dHM/LnRhYnM/LmNvb2tpZXMrIiIpJiZmZShhLG4pLDgmdFswXSYmcyE9PShzPWVbMjFdKHthY3RpdmU6ZVszXT09PU4uQ29va2llc30pKSYmbWUoaSwiY2xhc3MiLHMpLGVbMjRdJiZ1LnAoZSx0KSxlWzI1XSYmZy5wKGUsdCl9LGQoZSl7ZSYmY2UociksdSYmdS5kKCksZyYmZy5kKCksZD0hMSxybyhwKX19fWZ1bmN0aW9uICRhKGUpe2xldCByLG87cmV0dXJuKHI9bmV3IGhhKHtwcm9wczp7Y29uZmlnOmVbMF0sc3R5bGVzOmVbMV19fSkpLiRvbigidXBkYXRlSWFiVGFncyIsZVs1XSksci4kb24oImhhbmRsZU9wZW5Nb2RhbCIsZVs4XSkse2MoKXt4ZShyLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKHIsZSx0KSxvPSEwfSxwKGUsdCl7dmFyIG89e307MSZ0WzBdJiYoby5jb25maWc9ZVswXSksMiZ0WzBdJiYoby5zdHlsZXM9ZVsxXSksci4kc2V0KG8pfSxpKGUpe298fChoZShyLiQkLmZyYWdtZW50LGUpLG89ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksbz0hMX0sZChlKXt3ZShyLGUpfX19ZnVuY3Rpb24gQWEoZSl7bGV0IHIsbztyZXR1cm4ocj1uZXcgVGEoe3Byb3BzOntjb25maWc6ZVswXSxzdHlsZXM6ZVsxXX19KSkuJG9uKCJoYW5kbGVPcGVuTW9kYWwiLGVbOF0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzEmdFswXSYmKG8uY29uZmlnPWVbMF0pLDImdFswXSYmKG8uc3R5bGVzPWVbMV0pLHIuJHNldChvKX0saShlKXtvfHwoaGUoci4kJC5mcmFnbWVudCxlKSxvPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLG89ITF9LGQoZSl7d2UocixlKX19fWZ1bmN0aW9uIEVhKGUpe2xldCByPWVbMF0/LnRjZj8uZW5hYmxlZCYmdGVbZWUuRXVyb3BlXS5pbmNsdWRlcyhlWzBdLmxlZ2lzbGF0aW9uKSxpLG4sbyxhLHMsbCxjLGQscCx1LGcsbSxmLGgsYix4LHk9Vmk/LltlWzBdLmxhbmd1YWdlXT8uY2xlYW5Db29raWUrIiIsdyxDLHYsaz1yJiZSYShlKTtyZXR1cm4obj1uZXcgYWEoe3Byb3BzOntjb25maWc6ZVswXSxzdHlsZXM6ZVsxXSx0YWdDYXRlZ29yeUlkOiIxIixjYXROYW1lOmVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8ubmFtZSxjYXREZXNjOmVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8uZGVzY3JpcHRpb24scmVxdWlyZWQ6ITB9fSkpLiRvbigidG9nZ2xlZCIsZVs2XSksbi4kb24oInRvZ2dsZWRDYXQiLGVbN10pLChhPW5ldyBhYSh7cHJvcHM6e2NvbmZpZzplWzBdLHN0eWxlczplWzFdLHRhZ0NhdGVnb3J5SWQ6IjIiLGNhdE5hbWU6ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/Lm1hcmtldGluZz8ubmFtZSxjYXREZXNjOmVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5tYXJrZXRpbmc/LmRlc2NyaXB0aW9ufX0pKS4kb24oInRvZ2dsZWQiLGVbNl0pLGEuJG9uKCJ0b2dnbGVkQ2F0IixlWzddKSwobD1uZXcgYWEoe3Byb3BzOntjb25maWc6ZVswXSxzdHlsZXM6ZVsxXSx0YWdDYXRlZ29yeUlkOiI0IixjYXROYW1lOmVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5wZXJmb3JtYW5jZT8ubmFtZSxjYXREZXNjOmVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5wZXJmb3JtYW5jZT8uZGVzY3JpcHRpb259fSkpLiRvbigidG9nZ2xlZCIsZVs2XSksbC4kb24oInRvZ2dsZWRDYXQiLGVbN10pLChkPW5ldyBhYSh7cHJvcHM6e2NvbmZpZzplWzBdLHN0eWxlczplWzFdLHRhZ0NhdGVnb3J5SWQ6IjMiLGNhdE5hbWU6ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LnN0YXRpc3RpY3M/Lm5hbWUsY2F0RGVzYzplWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uc3RhdGlzdGljcz8uZGVzY3JpcHRpb259fSkpLiRvbigidG9nZ2xlZCIsZVs2XSksZC4kb24oInRvZ2dsZWRDYXQiLGVbN10pLCh1PW5ldyBhYSh7cHJvcHM6e2NvbmZpZzplWzBdLHN0eWxlczplWzFdLHRhZ0NhdGVnb3J5SWQ6IjUiLGNhdE5hbWU6ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LmZ1bmN0aW9uYWw/Lm5hbWUsY2F0RGVzYzplWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uZnVuY3Rpb25hbD8uZGVzY3JpcHRpb259fSkpLiRvbigidG9nZ2xlZCIsZVs2XSksdS4kb24oInRvZ2dsZWRDYXQiLGVbN10pLGg9bmV3IE1uKHt9KSx7Yygpe2smJmsuYygpLGk9dWUoKSx4ZShuLiQkLmZyYWdtZW50KSxvPXVlKCkseGUoYS4kJC5mcmFnbWVudCkscz11ZSgpLHhlKGwuJCQuZnJhZ21lbnQpLGM9dWUoKSx4ZShkLiQkLmZyYWdtZW50KSxwPXVlKCkseGUodS4kJC5mcmFnbWVudCksZz11ZSgpLG09ZGUoImEiKSxmPWRlKCJkaXYiKSx4ZShoLiQkLmZyYWdtZW50KSxiPXVlKCkseD1kZSgiZGl2Iiksdz1wZSh5KSxtZShtLCJjbGFzcyIsZVsxNV0oKSksbWUobSwidGFiaW5kZXgiLCIwIiksbWUobSwiaHJlZiIsQz1lWzBdPy51cmxzPy5jbGVhbkNvb2tpZUxpbms/PyJodHRwczovL2dvYWRvcHQuaW8vYmxvZy9hcGFnYXItY29va2llcy1jYWNoZS1uYXZlZ2Fkb3IvIil9LG0oZSx0KXtrJiZrLm0oZSx0KSxsZShlLGksdCkseWUobixlLHQpLGxlKGUsbyx0KSx5ZShhLGUsdCksbGUoZSxzLHQpLHllKGwsZSx0KSxsZShlLGMsdCkseWUoZCxlLHQpLGxlKGUscCx0KSx5ZSh1LGUsdCksbGUoZSxnLHQpLGxlKGUsbSx0KSxzZShtLGYpLHllKGgsZixudWxsKSxzZShtLGIpLHNlKG0seCksc2UoeCx3KSx2PSEwfSxwKGUsdCl7KHI9MSZ0WzBdP2VbMF0/LnRjZj8uZW5hYmxlZCYmdGVbZWUuRXVyb3BlXS5pbmNsdWRlcyhlWzBdLmxlZ2lzbGF0aW9uKTpyKT9rP2sucChlLHQpOigoaz1SYShlKSkuYygpLGsubShpLnBhcmVudE5vZGUsaSkpOmsmJihrLmQoMSksaz1udWxsKTt2YXIgbz17fSxvPSgxJnRbMF0mJihvLmNvbmZpZz1lWzBdKSwyJnRbMF0mJihvLnN0eWxlcz1lWzFdKSwxJnRbMF0mJihvLmNhdE5hbWU9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LnJlcXVpcmVkPy5uYW1lKSwxJnRbMF0mJihvLmNhdERlc2M9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LnJlcXVpcmVkPy5kZXNjcmlwdGlvbiksbi4kc2V0KG8pLHt9KSxvPSgxJnRbMF0mJihvLmNvbmZpZz1lWzBdKSwyJnRbMF0mJihvLnN0eWxlcz1lWzFdKSwxJnRbMF0mJihvLmNhdE5hbWU9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/Lm1hcmtldGluZz8ubmFtZSksMSZ0WzBdJiYoby5jYXREZXNjPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5tYXJrZXRpbmc/LmRlc2NyaXB0aW9uKSxhLiRzZXQobykse30pLG89KDEmdFswXSYmKG8uY29uZmlnPWVbMF0pLDImdFswXSYmKG8uc3R5bGVzPWVbMV0pLDEmdFswXSYmKG8uY2F0TmFtZT1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucGVyZm9ybWFuY2U/Lm5hbWUpLDEmdFswXSYmKG8uY2F0RGVzYz1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucGVyZm9ybWFuY2U/LmRlc2NyaXB0aW9uKSxsLiRzZXQobykse30pLG89KDEmdFswXSYmKG8uY29uZmlnPWVbMF0pLDImdFswXSYmKG8uc3R5bGVzPWVbMV0pLDEmdFswXSYmKG8uY2F0TmFtZT1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uc3RhdGlzdGljcz8ubmFtZSksMSZ0WzBdJiYoby5jYXREZXNjPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5zdGF0aXN0aWNzPy5kZXNjcmlwdGlvbiksZC4kc2V0KG8pLHt9KTsxJnRbMF0mJihvLmNvbmZpZz1lWzBdKSwyJnRbMF0mJihvLnN0eWxlcz1lWzFdKSwxJnRbMF0mJihvLmNhdE5hbWU9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LmZ1bmN0aW9uYWw/Lm5hbWUpLDEmdFswXSYmKG8uY2F0RGVzYz1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uZnVuY3Rpb25hbD8uZGVzY3JpcHRpb24pLHUuJHNldChvKSwoIXZ8fDEmdFswXSkmJnkhPT0oeT1WaT8uW2VbMF0ubGFuZ3VhZ2VdPy5jbGVhbkNvb2tpZSsiIikmJmZlKHcseSksKCF2fHwxJnRbMF0mJkMhPT0oQz1lWzBdPy51cmxzPy5jbGVhbkNvb2tpZUxpbms/PyJodHRwczovL2dvYWRvcHQuaW8vYmxvZy9hcGFnYXItY29va2llcy1jYWNoZS1uYXZlZ2Fkb3IvIikpJiZtZShtLCJocmVmIixDKX0saShlKXt2fHwoaGUobi4kJC5mcmFnbWVudCxlKSxoZShhLiQkLmZyYWdtZW50LGUpLGhlKGwuJCQuZnJhZ21lbnQsZSksaGUoZC4kJC5mcmFnbWVudCxlKSxoZSh1LiQkLmZyYWdtZW50LGUpLGhlKGguJCQuZnJhZ21lbnQsZSksdj0hMCl9LG8oZSl7YmUobi4kJC5mcmFnbWVudCxlKSxiZShhLiQkLmZyYWdtZW50LGUpLGJlKGwuJCQuZnJhZ21lbnQsZSksYmUoZC4kJC5mcmFnbWVudCxlKSxiZSh1LiQkLmZyYWdtZW50LGUpLGJlKGguJCQuZnJhZ21lbnQsZSksdj0hMX0sZChlKXtrJiZrLmQoZSksZSYmY2UoaSksd2UobixlKSxlJiZjZShvKSx3ZShhLGUpLGUmJmNlKHMpLHdlKGwsZSksZSYmY2UoYyksd2UoZCxlKSxlJiZjZShwKSx3ZSh1LGUpLGUmJmNlKGcpLGUmJmNlKG0pLHdlKGgpfX19ZnVuY3Rpb24gUmEoZSl7bGV0IG8scixpPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5ub25UY2ZDYXRlZ29yaWVzPy5uYW1lJiZPYShlKSxuPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5ub25UY2ZDYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiYmRGEoZSk7cmV0dXJue2MoKXtpJiZpLmMoKSxvPXVlKCksbiYmbi5jKCkscj1mbygpfSxtKGUsdCl7aSYmaS5tKGUsdCksbGUoZSxvLHQpLG4mJm4ubShlLHQpLGxlKGUscix0KX0scChlLHQpe2VbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5ub25UY2ZDYXRlZ29yaWVzPy5uYW1lP2k/aS5wKGUsdCk6KChpPU9hKGUpKS5jKCksaS5tKG8ucGFyZW50Tm9kZSxvKSk6aSYmKGkuZCgxKSxpPW51bGwpLGVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5ub25UY2ZDYXRlZ29yaWVzPy5kZXNjcmlwdGlvbj9uP24ucChlLHQpOigobj1EYShlKSkuYygpLG4ubShyLnBhcmVudE5vZGUscikpOm4mJihuLmQoMSksbj1udWxsKX0sZChlKXtpJiZpLmQoZSksZSYmY2UobyksbiYmbi5kKGUpLGUmJmNlKHIpfX19ZnVuY3Rpb24gT2EoZSl7bGV0IG8scj1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubm9uVGNmQ2F0ZWdvcmllcz8ubmFtZSsiIixpO3JldHVybntjKCl7bz1kZSgiZGl2IiksaT1wZShyKSxtZShvLCJjbGFzcyIsZVsyMl0oKSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxpKX0scChlLHQpezEmdFswXSYmciE9PShyPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5ub25UY2ZDYXRlZ29yaWVzPy5uYW1lKyIiKSYmZmUoaSxyKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIERhKGUpe2xldCBvLHI9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/Lm5vblRjZkNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uKyIiLGk7cmV0dXJue2MoKXtvPWRlKCJkaXYiKSxpPXBlKHIpLG1lKG8sImNsYXNzIixlWzIzXSgpKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLGkpfSxwKGUsdCl7MSZ0WzBdJiZyIT09KHI9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/Lm5vblRjZkNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uKyIiKSYmZmUoaSxyKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIEJhKGUpe2xldCBvLHI9ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8uYWRvcHRUZXh0KyIiLGksbixhLHMsbDtyZXR1cm57Yygpe289ZGUoInNtYWxsIiksaT1wZShyKSxuPXVlKCksYT1kZSgiYSIpLHM9cGUoIkFkT3B0IiksbWUoYSwiaHJlZiIsbD1YdChlWzBdLCJjdXN0b21pemUiKSksbWUoYSwicmVsIiwibm9vcGVuZXIiKSxtZShhLCJ0YXJnZXQiLCJfYmxhbmsiKSxtZShhLCJ0YWJpbmRleCIsIjAiKSxtZShvLCJjbGFzcyIsZVsxNl0oKSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxpKSxzZShvLG4pLHNlKG8sYSksc2UoYSxzKX0scChlLHQpezEmdFswXSYmciE9PShyPWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LmFkb3B0VGV4dCsiIikmJmZlKGksciksMSZ0WzBdJiZsIT09KGw9WHQoZVswXSwiY3VzdG9taXplIikpJiZtZShhLCJocmVmIixsKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIFBhKHIpe2xldCBpLG8sbj1yWzBdPy50ZXh0cz8udGl0bGVzPy5wcmVmZXJlbmNlKyIiLGEscyxsLGMsZCxwLHUsZyxtLGYsaCxiLHgseSx3LEMsdixrLEk9clswXT8udGV4dHM/LmJ1dHRvbnM/LnJlamVjdEFsbCsiIixTLFQsTCwkPXJbMF0/LnRleHRzPy5idXR0b25zPy5hY2NlcHRDdXN0b20rIiIsQSx0LEUsUixPLEQ9KHJbMjRdfHxyWzI1XSkmJkxhKHIpLEI9KHU9bmV3IHBuKHtwcm9wczp7d2lkdGg6IjhweCJ9fSksW0VhLEFhLCRhXSksUD1bXTtmdW5jdGlvbiBqKGUpe3JldHVybiBlWzNdPT09Ti5Db29raWVzPzA6ZVszXT09PU4uQ2F0ZWdvcmllcz8xOjJ9Zj1qKHIpLGg9UFtmXT1CW2ZdKHIpO2xldCBfPSExIT09clswXT8ud2hpdGVsYWJlbD8udmlzaWJpbGl0eSYmQmEocik7cmV0dXJue2MoKXtpPWRlKCJkaXYiKSxvPWRlKCJoMyIpLGE9cGUobikscz11ZSgpLEQmJkQuYygpLGw9dWUoKSxjPWRlKCJiciIpLGQ9dWUoKSxwPWRlKCJidXR0b24iKSx4ZSh1LiQkLmZyYWdtZW50KSxnPXVlKCksbT1kZSgiZGl2IiksaC5jKCksYj11ZSgpLHg9ZGUoImJyIikseT11ZSgpLHc9ZGUoImRpdiIpLF8mJl8uYygpLEM9dWUoKSx2PWRlKCJkaXYiKSxrPWRlKCJidXR0b24iKSxTPXBlKEkpLFQ9dWUoKSxMPWRlKCJidXR0b24iKSxBPXBlKCQpLG1lKG8sImNsYXNzIixyWzExXSgpKSxtZShvLCJpZCIsInByZWZlcmVuY2UtYmFubmVyLXRpdGxlIiksbWUocCwiY2xhc3MiLHJbMTJdKCkpLG1lKG0sImNsYXNzIixyWzEzXSgpKSxtZShtLCJpZCIsInByZWZlcmVuY2UtYmFubmVyLWNvbnRlbnQiKSxtZShrLCJjbGFzcyIsclsxOF0oKSksbWUoTCwiY2xhc3MiLHJbMTldKCkpLG1lKHYsImNsYXNzIixyWzE3XSgpKSxtZSh3LCJjbGFzcyIsclsxNF0oKSksbWUoaSwiaWQiLCJwcmVmZXJlbmNlLWJhbm5lciIpLG1lKGksInJvbGUiLCJkaWFsb2ciKSxtZShpLCJhcmlhLW1vZGFsIiwidHJ1ZSIpLG1lKGksImFyaWEtbGFiZWxsZWRieSIsInByZWZlcmVuY2UtYmFubmVyLXRpdGxlIiksbWUoaSwiYXJpYS1kZXNjcmliZWRieSIsInByZWZlcmVuY2UtYmFubmVyLWNvbnRlbnQiKSxtZShpLCJhcmlhLWhpZGRlbiIsclsyXSksbWUoaSwidGFiaW5kZXgiLC0xKSxtZShpLCJjbGFzcyIsclsxMF0oKSl9LG0oZSx0KXtsZShlLGksdCksc2UoaSxvKSxzZShvLGEpLHNlKGkscyksRCYmRC5tKGksbnVsbCksc2UoaSxsKSxzZShpLGMpLHNlKGksZCksc2UoaSxwKSx5ZSh1LHAsbnVsbCksc2UoaSxnKSxzZShpLG0pLFBbZl0ubShtLG51bGwpLHNlKGksYiksc2UoaSx4KSxzZShpLHkpLHNlKGksdyksXyYmXy5tKHcsbnVsbCksc2UodyxDKSxzZSh3LHYpLHNlKHYsayksc2UoayxTKSxzZSh2LFQpLHNlKHYsTCksc2UoTCxBKSxFPSEwLFJ8fChPPVtnZShwLCJjbGljayIsclszMl0pLGdlKGssImNsaWNrIixyWzMzXSksZ2UoTCwiY2xpY2siLHJbOV0pLGdlKGksImNsaWNrIixobyhqYSkpXSxSPSEwKX0scChlLHQpe3I9ZSwoIUV8fDEmdFswXSkmJm4hPT0obj1yWzBdPy50ZXh0cz8udGl0bGVzPy5wcmVmZXJlbmNlKyIiKSYmZmUoYSxuKSwoclsyNF18fHJbMjVdKSYmRC5wKHIsdCk7bGV0IG89ZjsoZj1qKHIpKT09PW8/UFtmXS5wKHIsdCk6KGllKCksYmUoUFtvXSwxLDEsKCk9PntQW29dPW51bGx9KSxuZSgpLChoPVBbZl0pP2gucChyLHQpOihoPVBbZl09QltmXShyKSkuYygpLGhlKGgsMSksaC5tKG0sbnVsbCkpLCExIT09clswXT8ud2hpdGVsYWJlbD8udmlzaWJpbGl0eT9fP18ucChyLHQpOigoXz1CYShyKSkuYygpLF8ubSh3LEMpKTpfJiYoXy5kKDEpLF89bnVsbCksKCFFfHwxJnRbMF0pJiZJIT09KEk9clswXT8udGV4dHM/LmJ1dHRvbnM/LnJlamVjdEFsbCsiIikmJmZlKFMsSSksKCFFfHwxJnRbMF0pJiYkIT09KCQ9clswXT8udGV4dHM/LmJ1dHRvbnM/LmFjY2VwdEN1c3RvbSsiIikmJmZlKEEsJCksKCFFfHw0JnRbMF0pJiZtZShpLCJhcmlhLWhpZGRlbiIsclsyXSl9LGkoZSl7RXx8KGhlKHUuJCQuZnJhZ21lbnQsZSksaGUoaCksam8oKCk9PntFJiYodD10fHxHbyhpLHJyLHtkdXJhdGlvbjohMSE9PXJbMF0/LmRpc2NsYWltZXJPcHRpb25zPy5kaXNjbGFpbWVyQW5pbWF0aW9ucz8xNTA6MH0sITApKS5ydW4oMSl9KSxFPSEwKX0sbyhlKXtiZSh1LiQkLmZyYWdtZW50LGUpLGJlKGgpLCh0PXR8fEdvKGkscnIse2R1cmF0aW9uOiExIT09clswXT8uZGlzY2xhaW1lck9wdGlvbnM/LmRpc2NsYWltZXJBbmltYXRpb25zPzE1MDowfSwhMSkpLnJ1bigwKSxFPSExfSxkKGUpe2UmJmNlKGkpLEQmJkQuZCgpLHdlKHUpLFBbZl0uZCgpLF8mJl8uZCgpLGUmJnQmJnQuZW5kKCksUj0hMSxybyhPKX19fWZ1bmN0aW9uIF9hKGUsdCl7IkVudGVyIiE9PWUua2V5JiYiICIhPT1lLmtleXx8KGUucHJldmVudERlZmF1bHQoKSx0KCkpfWxldCBqYT0oKT0+e307ZnVuY3Rpb24gTmEoZSx0LHIpe2xldCBpPXQuY29uZmlnLG89dC5zdHlsZXMsbj10LmlzTW9kYWxJbmZvT3BlbixhPU4uQ29va2llcyxzLGwsYyxkPWU9PnsiVGFiIj09PWUua2V5JiYoZS5zaGlmdEtleT9kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09cyYmKGUucHJldmVudERlZmF1bHQoKSxsLmZvY3VzKCkpOmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1sJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHMuZm9jdXMoKSkpfTtsZXQgcD0kbygpO3ZhcntwcmVmZXJlbmNlQ2FyZFBhbmVsOnQscHJlZmVyZW5jZUNhcmRUaXRsZTp1LHByZWZlcmVuY2VDYXJkQ2xvc2VQYW5lbDpnLHByZWZlcmVuY2VDYXJkVGFnQ2F0ZWdvcmllczptLHByZWZlcmVuY2VDYXJkRm9vdGVyOmYsYWx0ZXJuYXRpdmVDbGVhbkNhY2hlTGluazpoLHByZWZlcmVuY2VDYXJkU21hbGxUZXh0Rm9vdGVyOmIscHJlZmVyZW5jZUNhcmRCdXR0b25zQ29udGFpbmVyOngscHJlZmVyZW5jZUNhcmRSZWplY3RCdXR0b246eSxwcmVmZXJlbmNlQ2FyZEFjY2VwdEJ1dHRvbjp3LHByZWZlcmVuY2VDYXJkVGFic1dyYXBwZXI6QyxwcmVmZXJlbmNlQ2FyZFRhYnNJdGVtOnYscHJlZmVyZW5jZUNhdGVnb3J5VGl0bGU6ayxwcmVmZXJlbmNlQ2F0ZWdvcnlEZXNjcmlwdGlvbjpJfT0oKGUsdCk9Pnt2YXJ7Y29sb3JzOm8scG9zaXRpb246cixkaXNjbGFpbWVyT3B0aW9uczppfT1lLHtzdHlsZXM6ZSxoYXNJbXBvcnRhbnQ6bn09ZS5zdHlsZXM/P3t9LHt0aGVtZTp0PSJsaWdodCIsc3R5bGVzOmEsaGFzSW1wb3J0YW50OnMsY29sb3JzOmx9PXQ7bGV0IGM9dm9pZCAwPT09c3x8cz92b2lkIDA9PT1ufHxuPyIhaW1wb3J0YW50IjoiIjoiIjt2YXIgcz1pPy5hY2Nlc3NpYmlsaXR5LG49aT8uZGlzY2xhaW1lckNhcmRTaGFkb3csaT0iIWltcG9ydGFudCI9PT1jPyJ1bnNldCAhaW1wb3J0YW50IjoiIixkPXtyaWdodDp7cmlnaHQ6Ijc1cHggIitjLGxlZnQ6ImF1dG8gIitjfSxjZW50ZXI6e21hcmdpbkxlZnQ6ImF1dG8gIitjLG1hcmdpblJpZ2h0OiJhdXRvICIrYyxsZWZ0OiIwICIrYyxyaWdodDoiMCAiK2MscG9zaXRpb246ImZpeGVkICIrYyxmbGV4V3JhcDoid3JhcCAiK2N9fSxuPUIoe2ZvbnRTaXplOiIkdGV4dCAiK2MscG9zaXRpb246ImZpeGVkICIrYyxib3R0b206Ijc1cHggIitjLGxlZnQ6Ijc1cHggIitjLHdpZHRoOiIzMDBweCAiK2MsYm9yZGVyUmFkaXVzOiIxNXB4ICIrYyxib3hTaXppbmc6ImJvcmRlci1ib3ggIitjLHBhZGRpbmc6IjIwcHggIitjLGRpc3BsYXk6ImZsZXggIitjLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK2MsekluZGV4OiI5OTk5OTk5OTkyICIrYyx1c2VyU2VsZWN0OiJub25lICIrYyxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrYyxib3hTaGFkb3c6bj8iMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpICIrYzoibm9uZSAiK2MsYmFja2dyb3VuZDpEKE8ud2ViLFIuYmdDb2xvcix0LG8sbCkrIiAiK2MsIiYgZGl2Ijp7IiY6Oi13ZWJraXQtc2Nyb2xsYmFyIjp7d2lkdGg6IjhweCAiK2MsYm9yZGVyUmFkaXVzOiI1cHggIitjfSwiJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2siOntib3hTaGFkb3c6Imluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjIpICIrYyxib3JkZXJSYWRpdXM6IjVweCAiK2N9LCImOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiI6e2JhY2tncm91bmRDb2xvcjoicmdiYSgwLCAwLCAwLCAwLjIpICIrYyxib3JkZXJSYWRpdXM6IjVweCAiK2N9fSwuLi5kW3I/LmNvbnRyb2xsZXJdLC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsLC4uLmE/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsLCJAbW9iaWxlIjp7YmFja2dyb3VuZDpEKE8ubW9iaWxlLFIuYmdDb2xvcix0LG8sbCkrIiAiK2MsLi4uZC5jZW50ZXIsLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8ucGFuZWwsLi4uYT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8ucGFuZWx9fSkscj1CKHthbGw6aSxmb250U2l6ZToiJHRpdGxlICIrYyxmb250V2VpZ2h0OiI3MDAgIitjLGxpbmVIZWlnaHQ6IjEuNWVtICIrYyx0ZXh0QWxpZ246ImNlbnRlciAiK2MsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8udGl0bGUsLi4uYT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8udGl0bGUsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy50aXRsZSwuLi5hPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy50aXRsZX19KSxkPUIoe2FsbDppLGJvcmRlcjoibm9uZSAiK2MsYm94U2l6aW5nOiJib3JkZXItYm94ICIrYyxwb3NpdGlvbjoiYWJzb2x1dGUgIitjLHRvcDoiMjBweCAiK2MscmlnaHQ6IjIwcHggIitjLHdpZHRoOiIyMHB4ICIrYyxoZWlnaHQ6IjIwcHggIitjLGJvcmRlclJhZGl1czoiNTAlICIrYyxjdXJzb3I6InBvaW50ZXIgIitjLGRpc3BsYXk6ImZsZXggIitjLGFsaWduSXRlbXM6ImNlbnRlciAiK2MsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciAiK2MsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLCImOmZvY3VzLXZpc2libGUiOnMmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Msb3V0bGluZU9mZnNldDoiM3B4ICIrY30sIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIuYmdDb2xvcix0LG8sbCkrIiAiK2N9LC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmNsb3NlUGFuZWwsLi4uYT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uY2xvc2VQYW5lbCwiQG1vYmlsZSI6e2JhY2tncm91bmRDb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHQsbyxsKSsiICIrY30sLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uY2xvc2VQYW5lbCwuLi5hPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5jbG9zZVBhbmVsfX0pLHA9Qih7YWxsOmksaGVpZ2h0OiIyODBweCAiK2MsZmxleEdyb3c6IjEgIitjLG92ZXJmbG93WToiYXV0byAiK2MsdGV4dEFsaWduOiJsZWZ0ICIrYyxmbGV4RGlyZWN0aW9uOiJjb2x1bW4gIitjLC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXMsLi4uYT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8udGFnQ2F0ZWdvcmllcywiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXMsLi4uYT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8udGFnQ2F0ZWdvcmllc319KSx1PUIoe2FsbDppLG1hcmdpbjoiMjBweCAwIDVweCAwICIrYyx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2MsY3Vyc29yOiJwb2ludGVyICIrYyxkaXNwbGF5OiJub25lICIrYyxnYXA6IjJweCAiK2MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsIiY6aG92ZXIiOnt0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrY30sIiYgZGl2Omxhc3QtY2hpbGQiOnttYXJnaW5MZWZ0OiI0cHggIitjfSwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5hbHRlcm5hdGl2ZVRhZ0NsZWFuQ2FjaGVMaW5rLC4uLmE/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmFsdGVybmF0aXZlVGFnQ2xlYW5DYWNoZUxpbmssIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYywuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5hbHRlcm5hdGl2ZVRhZ0NsZWFuQ2FjaGVMaW5rLC4uLmE/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmFsdGVybmF0aXZlVGFnQ2xlYW5DYWNoZUxpbmt9fSksZz1CKHthbGw6aSx0ZXh0QWxpZ246ImNlbnRlciAiK2MsZmxleERpcmVjdGlvbjoiY29sdW1uICIrYywuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5jYXJkRm9vdGVyLC4uLmE/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmNhcmRGb290ZXIsIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5jYXJkRm9vdGVyLC4uLmE/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmNhcmRGb290ZXJ9fSksbT1CKHthbGw6aSxmb250U2l6ZToiJHNtYWxsVGV4dCAiK2MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsIiYgYSI6e2FsbDppLGN1cnNvcjoicG9pbnRlciAiK2MsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsIiY6Zm9jdXMtdmlzaWJsZSI6cyYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrYyxvdXRsaW5lT2Zmc2V0OiIzcHggIitjfX0sLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uc21hbGxUZXh0Rm9vdGVyLC4uLmE/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnNtYWxsVGV4dEZvb3RlciwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLCImIGEiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrY30sLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uc21hbGxUZXh0Rm9vdGVyLC4uLmE/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnNtYWxsVGV4dEZvb3Rlcn19KSxmPUIoe2FsbDppLGRpc3BsYXk6ImZsZXggIitjLGFsaWduSXRlbXM6ImNlbnRlciAiK2MsZ2FwOiIxMHB4ICIrYyxtYXJnaW5Ub3A6IjEwcHggIitjLC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmJ1dHRvbnNDb250YWluZXIsLi4uYT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uYnV0dG9uc0NvbnRhaW5lciwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmJ1dHRvbnNDb250YWluZXIsLi4uYT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uYnV0dG9uc0NvbnRhaW5lcn19KSxoPUIoe2FsbDppLGZvbnRXZWlnaHQ6ImJvbGQgIitjLGJhY2tncm91bmQ6Im5vbmUgIitjLHdpZHRoOiIxMDAlICIrYyxwYWRkaW5nOiIxMHB4ICIrYyxib3JkZXJSYWRpdXM6IjIwcHggIitjLGN1cnNvcjoicG9pbnRlciAiK2MsbGluZUhlaWdodDoiMSAiK2MsbGV0dGVyU3BhY2luZzoiMCAiK2MsZm9udFNpemU6IiR0ZXh0ICIrYyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYyxib3JkZXI6YDFweCBzb2xpZCAke0QoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpfSBgK2MsIiY6Zm9jdXMtdmlzaWJsZSI6cyYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrYyxvdXRsaW5lT2Zmc2V0OiIzcHggIitjfSwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5yZWplY3RCdXR0b24sLi4uYT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8ucmVqZWN0QnV0dG9uLCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Msd2lkdGg6ImF1dG8gIitjLG9wYWNpdHk6IjAgIitjfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrYyx3aWR0aDoiYXV0byAiK2Msb3BhY2l0eToiMCAiK2N9LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsYm9yZGVyOmAxcHggc29saWQgJHtEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKX0gYCtjLC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnJlamVjdEJ1dHRvbiwuLi5hPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5yZWplY3RCdXR0b259fSksYj1CKHthbGw6aSx3aWR0aDoiMTAwJSAiK2MsZm9udFdlaWdodDoiYm9sZCAiK2MscGFkZGluZzoiMTBweCAiK2MsYm9yZGVyUmFkaXVzOiIyMHB4ICIrYyxjdXJzb3I6InBvaW50ZXIgIitjLGxpbmVIZWlnaHQ6IjEgIitjLGxldHRlclNwYWNpbmc6IjAgIitjLGZvbnRTaXplOiIkdGV4dCAiK2MsY29sb3I6RChPLndlYixSLmJnQ29sb3IsdCxvLGwpKyIgIitjLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYyxib3JkZXI6YDFweCBzb2xpZCAke0QoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpfSBgK2MsYm94U2hhZG93OmAwcHggMTBweCAyOHB4IC0xMnB4ICR7RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCl9IGArYywiJjpmb2N1cy12aXNpYmxlIjpzJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitjLG91dGxpbmVPZmZzZXQ6IjNweCAiK2N9LC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmFjY2VwdEJ1dHRvbiwuLi5hPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5hY2NlcHRCdXR0b24sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrYyx3aWR0aDoiYXV0byAiK2Msb3BhY2l0eToiMCAiK2N9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitjLHdpZHRoOiJhdXRvICIrYyxvcGFjaXR5OiIwICIrY30sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIuYmdDb2xvcix0LG8sbCkrIiAiK2MsYmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLGJvcmRlcjpgMXB4IHNvbGlkICR7RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCl9IGArYyxib3hTaGFkb3c6YDBweCAxMHB4IDI4cHggLTEycHggJHtEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKX0gYCtjLC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmFjY2VwdEJ1dHRvbiwuLi5hPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5hY2NlcHRCdXR0b259fSkseD1CKHthbGw6aSxkaXNwbGF5OiJmbGV4ICIrYyxnYXA6IjEwcHggIitjLG1hcmdpblRvcDoiMTVweCAiK2MscGFkZGluZ0JvdHRvbToiNXB4ICIrYyxib3JkZXJCb3R0b206YDFweCBzb2xpZCAke1F0KEQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGwpLC4xKX0gYCtjfSkseT1CKHthbGw6aSxmbGV4R3JvdzoiMSAiK2MsZm9udFdlaWdodDoiYm9sZCAiK2MsY3Vyc29yOiJwb2ludGVyICIrYyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYywuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRpdGxlLC4uLmE/LndlYj8uY2F0ZWdvcmllcz8udGl0bGUsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYywuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRpdGxlLC4uLmE/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGl0bGV9fSksZT1CKHthbGw6aSxmb250U2l6ZToiJHNtYWxsVGV4dCAiK2MsZGlzcGxheToiYmxvY2sgIitjLHBhZGRpbmdSaWdodDoiMTBweCAiK2MsbGluZUhlaWdodDoiMTJweCAiK2MsbWFyZ2luQm90dG9tOiIxMHB4ICIrYyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYywuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLC4uLmE/LndlYj8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb24sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYywuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLC4uLmE/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb259fSk7cmV0dXJue3ByZWZlcmVuY2VDYXJkUGFuZWw6bixwcmVmZXJlbmNlQ2FyZFRpdGxlOnIscHJlZmVyZW5jZUNhcmRDbG9zZVBhbmVsOmQscHJlZmVyZW5jZUNhcmRUYWdDYXRlZ29yaWVzOnAscHJlZmVyZW5jZUNhcmRGb290ZXI6ZyxhbHRlcm5hdGl2ZUNsZWFuQ2FjaGVMaW5rOnUscHJlZmVyZW5jZUNhcmRTbWFsbFRleHRGb290ZXI6bSxwcmVmZXJlbmNlQ2FyZEJ1dHRvbnNDb250YWluZXI6ZixwcmVmZXJlbmNlQ2FyZFJlamVjdEJ1dHRvbjpoLHByZWZlcmVuY2VDYXJkQWNjZXB0QnV0dG9uOmIscHJlZmVyZW5jZUNhcmRUYWJzV3JhcHBlcjp4LHByZWZlcmVuY2VDYXJkVGFic0l0ZW06Qih7YWxsOmksY3Vyc29yOiJwb2ludGVyICIrYyx2YXJpYW50czp7YWN0aXZlOnt0cnVlOntjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywiJjo6YmVmb3JlIjp7Y29udGVudDoiIixkaXNwbGF5OiJibG9jayIsaGVpZ2h0OiIycHggIitjLHdpZHRoOiIxMDAlICIrYyxwb3NpdGlvbjoicmVsYXRpdmUgIitjLHRvcDoiMjBweCAiK2MsYmFja2dyb3VuZDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrY319LGZhbHNlOntjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrY319fSwiJjpmb2N1cy12aXNpYmxlIjpzJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitjLG91dGxpbmVPZmZzZXQ6IjNweCAiK2N9fSkscHJlZmVyZW5jZUNhdGVnb3J5VGl0bGU6eSxwcmVmZXJlbmNlQ2F0ZWdvcnlEZXNjcmlwdGlvbjplfX0pKGksbyksUz1pPy5pYWJDYXRlZ29yaWVzJiYoMDxPYmplY3Qua2V5cyhpPy5pYWJDYXRlZ29yaWVzPy5mZWF0dXJlc0luVXNlKS5sZW5ndGh8fDA8T2JqZWN0LmtleXMoaT8uaWFiQ2F0ZWdvcmllcz8uc3BlY2lhbEZlYXR1cmVzSW5Vc2UpLmxlbmd0aHx8MDxPYmplY3Qua2V5cyhpPy5pYWJDYXRlZ29yaWVzPy5wdXJwb3Nlc0luVXNlKS5sZW5ndGh8fDA8T2JqZWN0LmtleXMoaT8uaWFiQ2F0ZWdvcmllcz8uc3BlY2lhbFB1cnBvc2VzSW5Vc2UpLmxlbmd0aCksVD0wPGk/LmlhYlRhZ3M/Lmxlbmd0aDtmdW5jdGlvbiBMKGUpeyJFc2NhcGUiPT09ZS5rZXkmJiJwcmVmZXJlbmNlcyI9PT1NLlByZWZlcmVuY2VzJiZwKCJnbyIse3N0YXR1czpNLkNhcmR9KX1UbygoKT0+e3ZhciBlO2k/LmRpc2NsYWltZXJPcHRpb25zPy5hY2Nlc3NpYmlsaXR5JiYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByZWZlcmVuY2UtYmFubmVyIikuZm9jdXMoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsTCksZT0icHJlZmVyZW5jZS1iYW5uZXIiLGU9KGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZSkpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSItMSJdKScpLHM9ZVswXSxsPWVbZS5sZW5ndGgtMV0sYy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixkKSl9KSxMbygoKT0+e2k/LmRpc2NsYWltZXJPcHRpb25zPy5hY2Nlc3NpYmlsaXR5JiYoYy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixkKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsTCkpfSk7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJjb25maWciaW4gZSYmcigwLGk9ZS5jb25maWcpLCJzdHlsZXMiaW4gZSYmcigxLG89ZS5zdHlsZXMpLCJpc01vZGFsSW5mb09wZW4iaW4gZSYmcigyLG49ZS5pc01vZGFsSW5mb09wZW4pfSxbaSxvLG4sYSxwLGFzeW5jIGU9PntwKCJ1cGRhdGVJYWJUYWdzIixlLmRldGFpbCl9LGFzeW5jIHQ9Pnt2YXIgZT1pLnRhZ3MuZmluZChlPT5lLmlkPT09dC5kZXRhaWwpLGU9KGkudGFncy5maW5kKGU9PmUuaWQ9PT10LmRldGFpbCkuYWNjZXB0PSFlLmFjY2VwdCxpKTtyKDAsaT17Li4uZX0pfSxhc3luYyBvPT57by5kZXRhaWwudGFncy5mb3JFYWNoKHQ9PntpLnRhZ3MuZmluZChlPT5lLmlkPT09dCkuYWNjZXB0PW8uZGV0YWlsLnN0YXRlfSksaS50YWdzLm1hcChlPT5lLmlkPT09by5kZXRhaWwpO3ZhciBlPWk7cigwLGk9ey4uLmV9KSxhd2FpdCBfbygpfSxlPT57cCgiaGFuZGxlT3Blbk1vZGFsIixlLmRldGFpbCl9LCgpPT57cCgiZ28iLHtzdGF0dXM6TS5DbG9zZWQsZXZlbnQ6ei5BY2NlcHRTb21lLHVwZGF0ZUNvbnNlbnQ6ITB9KX0sdCx1LGcsbSxmLGgsYix4LHksdyxDLHYsayxJLFMsVCwoKT0+cigzLGE9Ti5Db29raWVzKSxlPT5fYShlLCgpPT5yKDMsYT1OLkNvb2tpZXMpKSwoKT0+cigzLGE9Ti5DYXRlZ29yaWVzKSxlPT5fYShlLCgpPT5yKDMsYT1OLkNhdGVnb3JpZXMpKSwoKT0+cigzLGE9Ti5WZW5kb3JzKSxlPT5fYShlLCgpPT5yKDMsYT1OLlZlbmRvcnMpKSwoKT0+cCgiZ28iLHtzdGF0dXM6TS5DYXJkfSksKCk9PnAoImdvIix7c3RhdHVzOk0uQ2xvc2VkLGV2ZW50OnouUmVqZWN0QWxsLHVwZGF0ZUNvbnNlbnQ6ITB9KV19Y2xhc3MgVmEgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsTmEsUGEscix7Y29uZmlnOjAsc3R5bGVzOjEsaXNNb2RhbEluZm9PcGVuOjJ9LG51bGwsWy0xLC0xXSl9fWZ1bmN0aW9uIE1hKGUpe2xldCBvLHI7cmV0dXJue2MoKXtvPWIoInN2ZyIpLG1lKHI9YigicGF0aCIpLCJpZCIsImljb24tbmF2LWNoZWNrIiksbWUociwiZCIsIk0xNC40NzUsMzIuN2EuMzkuMzksMCwwLDEtLjI1My0uMUw1Ljk2NCwyNC42M2EuMzU5LjM1OSwwLDAsMSwwLS41MjUuMzcxLjM3MSwwLDAsMSwuNTMyLDBsNy45NTMsNy42N0wyNi41NTYsMTcuNTFhLjQuNCwwLDAsMSwuNTMyLS4wNS4zODQuMzg0LDAsMCwxLC4wNTEuNTI1TDE0Ljc1MywzMi41NzVhLjMyOS4zMjksMCwwLDEtLjI3OS4xMjVaIiksbWUociwidHJhbnNmb3JtIiwidHJhbnNsYXRlKC01LjM1IC0xNi44MjQpIiksbWUociwiZmlsbCIsIiM0ZDRlNTMiKSxtZShyLCJzdHJva2UiLCIjNGQ0ZTUzIiksbWUociwic3Ryb2tlLWxpbmVjYXAiLCJyb3VuZCIpLG1lKHIsInN0cm9rZS13aWR0aCIsIjEiKSxtZShvLCJ4bWxucyIsImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiksbWUobywid2lkdGgiLGVbMF0pLG1lKG8sImhlaWdodCIsZVsxXSksbWUobywidmlld0JveCIsIjAgMCAyMi4zNzEgMTYuMzc2Iil9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKX0scChlLFt0XSl7MSZ0JiZtZShvLCJ3aWR0aCIsZVswXSksMiZ0JiZtZShvLCJoZWlnaHQiLGVbMV0pfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiB6YShlLHQsbyl7bGV0e3dpZHRoOnI9IjIyLjM3MXB4In09dCx7aGVpZ2h0Omk9IjE2LjM3NnB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpLCJoZWlnaHQiaW4gZSYmbygxLGk9ZS5oZWlnaHQpfSxbcixpXX1jbGFzcyBGYSBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSx6YSxNYSxyLHt3aWR0aDowLGhlaWdodDoxfSl9fWZ1bmN0aW9uIFVhKCl7bGV0IG8scjtyZXR1cm4gbz1uZXcgRmEoe30pLHtjKCl7eGUoby4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShvLGUsdCkscj0hMH0saShlKXtyfHwoaGUoby4kJC5mcmFnbWVudCxlKSxyPSEwKX0sbyhlKXtiZShvLiQkLmZyYWdtZW50LGUpLHI9ITF9LGQoZSl7d2UobyxlKX19fWZ1bmN0aW9uIFdhKG8pe2xldCByLGksbixhLHMsbD1vWzBdJiZVYSgpO3JldHVybntjKCl7cj1kZSgiZGl2IiksbCYmbC5jKCksbWUociwicm9sZSIsImNoZWNrYm94IiksbWUociwiY2xhc3MiLGk9b1sxXSh7YWN0aXZlOm9bMF19KSksbWUociwidGFiaW5kZXgiLCIwIil9LG0oZSx0KXtsZShlLHIsdCksbCYmbC5tKHIsbnVsbCksbj0hMCxhfHwocz1bZ2UociwiY2xpY2siLG9bNV0pLGdlKHIsImtleWRvd24iLG9bM10pXSxhPSEwKX0scChlLFt0XSl7ZVswXT9sPzEmdCYmaGUobCwxKTooKGw9VWEoKSkuYygpLGhlKGwsMSksbC5tKHIsbnVsbCkpOmwmJihpZSgpLGJlKGwsMSwxLCgpPT57bD1udWxsfSksbmUoKSksKCFufHwzJnQmJmkhPT0oaT1lWzFdKHthY3RpdmU6ZVswXX0pKSkmJm1lKHIsImNsYXNzIixpKX0saShlKXtufHwoaGUobCksbj0hMCl9LG8oZSl7YmUobCksbj0hMX0sZChlKXtlJiZjZShyKSxsJiZsLmQoKSxhPSExLHJvKHMpfX19ZnVuY3Rpb24gSGEoZSx0LG8pe2xldCByPSRvKCksaT10LmlkLHthY3RpdmU6bj0hMX09dCxhPXQuY2F0ZWdvcnlTZWxlY3Rvckljb247cmV0dXJuIGUuJCRzZXQ9ZT0+eyJpZCJpbiBlJiZvKDQsaT1lLmlkKSwiYWN0aXZlImluIGUmJm8oMCxuPWUuYWN0aXZlKSwiY2F0ZWdvcnlTZWxlY3Rvckljb24iaW4gZSYmbygxLGE9ZS5jYXRlZ29yeVNlbGVjdG9ySWNvbil9LFtuLGEscixmdW5jdGlvbihlKXsiRW50ZXIiIT09ZS5rZXkmJiIgIiE9PWUua2V5fHwoZS5wcmV2ZW50RGVmYXVsdCgpLHIoInRvZ2dsZWQiLCFuKSl9LGksKCk9PnIoInRvZ2dsZWQiLCFuKV19Y2xhc3MgR2EgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsSGEsV2Escix7aWQ6NCxhY3RpdmU6MCxjYXRlZ29yeVNlbGVjdG9ySWNvbjoxfSl9fWZ1bmN0aW9uIHFhKGUsdCxvKXtlPWUuc2xpY2UoKTtyZXR1cm4gZVszNF09dFtvXSxlfWZ1bmN0aW9uIEthKGUsdCxvKXtlPWUuc2xpY2UoKTtyZXR1cm4gZVszN109dFtvXSxlfWZ1bmN0aW9uIFFhKG8pe2xldCByLGksbixhLHMsbCxjLGQscCx1LGcsbSxmLGgsYix4PTEhPW9bMV0mJkphKG8pLHk9MT09b1sxXSYmb1s0XSYmWmEobyksdz0wPG9bOF0/Lmxlbmd0aCYmWWEobyksQz1vWzZdJiZYYShvKTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLHgmJnguYygpLG49dWUoKSxhPWRlKCJkaXYiKSxzPWRlKCJkaXYiKSxsPWRlKCJkaXYiKSxjPXBlKG9bMl0pLGQ9dWUoKSx5JiZ5LmMoKSxwPXVlKCksdyYmdy5jKCksdT11ZSgpLEMmJkMuYygpLG1lKHMsImNsYXNzIixvWzE3XSgpKSxtZShhLCJjbGFzcyIsb1sxNl0oKSksbWUoYSwicm9sZSIsImJ1dHRvbiIpLG1lKGEsInRhYmluZGV4IiwiMCIpLG1lKGEsImFyaWEtZXhwYW5kZWQiLG9bNl0pLG1lKGEsImFyaWEtY29udHJvbHMiLCJhY2NvcmRpb24tY29udGVudCIpLG1lKGksImNsYXNzIixvWzE1XSgpKSxtZShyLCJjbGFzcyIsZz1vWzE0XSh7bGFzdDo1PT1vWzFdfSkpLG1lKHIsImlkIixtPSJjYXQkIitvWzFdLnRvU3RyaW5nKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSkseCYmeC5tKGksbnVsbCksc2UoaSxuKSxzZShpLGEpLHNlKGEscyksc2UocyxsKSxzZShsLGMpLHNlKHMsZCkseSYmeS5tKHMsbnVsbCksc2UoYSxwKSx3JiZ3Lm0oYSxudWxsKSxzZShyLHUpLEMmJkMubShyLG51bGwpLGY9ITAsaHx8KGI9W2dlKGEsImNsaWNrIixvWzExXSksZ2UoYSwia2V5ZG93biIsb1syN10pXSxoPSEwKX0scChlLHQpezEhPWVbMV0/eD8oeC5wKGUsdCksMiZ0WzBdJiZoZSh4LDEpKTooKHg9SmEoZSkpLmMoKSxoZSh4LDEpLHgubShpLG4pKTp4JiYoaWUoKSxiZSh4LDEsMSwoKT0+e3g9bnVsbH0pLG5lKCkpLCghZnx8NCZ0WzBdKSYmZmUoYyxlWzJdKSwxPT1lWzFdJiZlWzRdP3k/eS5wKGUsdCk6KCh5PVphKGUpKS5jKCkseS5tKHMsbnVsbCkpOnkmJih5LmQoMSkseT1udWxsKSwwPGVbOF0/Lmxlbmd0aD93Pyh3LnAoZSx0KSwyNTYmdFswXSYmaGUodywxKSk6KCh3PVlhKGUpKS5jKCksaGUodywxKSx3Lm0oYSxudWxsKSk6dyYmKGllKCksYmUodywxLDEsKCk9Pnt3PW51bGx9KSxuZSgpKSwoIWZ8fDY0JnRbMF0pJiZtZShhLCJhcmlhLWV4cGFuZGVkIixlWzZdKSxlWzZdP0M/KEMucChlLHQpLDY0JnRbMF0mJmhlKEMsMSkpOigoQz1YYShlKSkuYygpLGhlKEMsMSksQy5tKHIsbnVsbCkpOkMmJihpZSgpLGJlKEMsMSwxLCgpPT57Qz1udWxsfSksbmUoKSksKCFmfHwyJnRbMF0mJmchPT0oZz1lWzE0XSh7bGFzdDo1PT1lWzFdfSkpKSYmbWUociwiY2xhc3MiLGcpLCghZnx8MiZ0WzBdJiZtIT09KG09ImNhdCQiK2VbMV0udG9TdHJpbmcoKSkpJiZtZShyLCJpZCIsbSl9LGkoZSl7Znx8KGhlKHgpLGhlKHcpLGhlKEMpLGY9ITApfSxvKGUpe2JlKHgpLGJlKHcpLGJlKEMpLGY9ITF9LGQoZSl7ZSYmY2UocikseCYmeC5kKCkseSYmeS5kKCksdyYmdy5kKCksQyYmQy5kKCksaD0hMSxybyhiKX19fWZ1bmN0aW9uIEphKGUpe2xldCBvLHIsaTtyZXR1cm4ocj1uZXcgR2Eoe3Byb3BzOntjYXRlZ29yeVNlbGVjdG9ySWNvbjplWzI1XSxhY3RpdmU6MT09ZVsxXXx8MDxlWzldLGlkOmVbMV0udG9TdHJpbmcoKX19KSkuJG9uKCJ0b2dnbGVkIixlWzEwXSkse2MoKXtvPWRlKCJkaXYiKSx4ZShyLiQkLmZyYWdtZW50KX0sbShlLHQpe2xlKGUsbyx0KSx5ZShyLG8sbnVsbCksaT0hMH0scChlLHQpe3ZhciBvPXt9OzUxNCZ0WzBdJiYoby5hY3RpdmU9MT09ZVsxXXx8MDxlWzldKSwyJnRbMF0mJihvLmlkPWVbMV0udG9TdHJpbmcoKSksci4kc2V0KG8pfSxpKGUpe2l8fChoZShyLiQkLmZyYWdtZW50LGUpLGk9ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksaT0hMX0sZChlKXtlJiZjZShvKSx3ZShyKX19fWZ1bmN0aW9uIFphKGUpe2xldCBvLHI7cmV0dXJue2MoKXtvPWRlKCJkaXYiKSxyPXBlKGVbNF0pfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8scil9LHAoZSx0KXsxNiZ0WzBdJiZmZShyLGVbNF0pfSxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gWWEoZSl7bGV0IG8scixpLG47cmV0dXJuIGk9bmV3IEZpKHtwcm9wczp7c2l6ZToiMTgiLHJvdGF0ZTplWzZdfX0pLHtjKCl7bz1kZSgiZGl2Iikscj1kZSgiZGl2IikseGUoaS4kJC5mcmFnbWVudCksbWUobywiY2xhc3MiLGVbMTldKCkpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8scikseWUoaSxyLG51bGwpLG49ITB9LHAoZSx0KXt2YXIgbz17fTs2NCZ0WzBdJiYoby5yb3RhdGU9ZVs2XSksaS4kc2V0KG8pfSxpKGUpe258fChoZShpLiQkLmZyYWdtZW50LGUpLG49ITApfSxvKGUpe2JlKGkuJCQuZnJhZ21lbnQsZSksbj0hMX0sZChlKXtlJiZjZShvKSx3ZShpKX19fWZ1bmN0aW9uIFhhKHQpe2xldCBvLGksbixyO2Z1bmN0aW9uIGUoZSx0KXtyZXR1cm4obz1udWxsPT0obz04JnRbMF0/bnVsbDpvKT8hKCFlWzNdLmluY2x1ZGVzKCI8YSIpfHxlWzNdLmluY2x1ZGVzKCI8c2NyaXB0IikpOm8pP3RzOmVzfWxldCBhPWUodCxbLTEsLTFdKSxzPWEodCksbD10WzhdLGM9W107Zm9yKGxldCBlPTA7ZTxsLmxlbmd0aDtlKz0xKWNbZV09YXMocWEodCxsLGUpKTtyZXR1cm57Yygpe3MuYygpLGk9dWUoKTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrPTEpY1tlXS5jKCk7bj1mbygpfSxtKHQsbyl7cy5tKHQsbyksbGUodCxpLG8pO2ZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSs9MSljW2VdJiZjW2VdLm0odCxvKTtsZSh0LG4sbykscj0hMH0scCh0LG8pe2lmKGE9PT0oYT1lKHQsbykpJiZzP3MucCh0LG8pOihzLmQoMSksKHM9YSh0KSkmJihzLmMoKSxzLm0oaS5wYXJlbnROb2RlLGkpKSksNjYwNzMwMjUmb1swXSl7bD10WzhdO2xldCBlO2ZvcihlPTA7ZTxsLmxlbmd0aDtlKz0xKXt2YXIgcj1xYSh0LGwsZSk7Y1tlXT8oY1tlXS5wKHIsbyksaGUoY1tlXSwxKSk6KGNbZV09YXMociksY1tlXS5jKCksaGUoY1tlXSwxKSxjW2VdLm0obi5wYXJlbnROb2RlLG4pKX1mb3IoaWUoKSxlPWwubGVuZ3RoO2U8Yy5sZW5ndGg7ZSs9MSkoZT0+YmUoY1tlXSwxLDEsKCk9PntjW2VdPW51bGx9KSkoZSk7bmUoKX19LGkoZSl7aWYoIXIpe2ZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSs9MSloZShjW2VdKTtyPSEwfX0sbyhlKXtjPWMuZmlsdGVyKEJvb2xlYW4pO2ZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSs9MSliZShjW2VdKTtyPSExfSxkKGUpe3MuZChlKSxlJiZjZShpKSxtbyhjLGUpLGUmJmNlKG4pfX19ZnVuY3Rpb24gZXMobyl7bGV0IHIsaSxuLGE7cmV0dXJue2MoKXtyPWRlKCJkaXYiKSxpPXBlKG9bM10pLG1lKHIsImNsYXNzIixvWzE4XSgpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLGkpLG58fChhPWdlKHIsImNsaWNrIixvWzExXSksbj0hMCl9LHAoZSx0KXs4JnRbMF0mJmZlKGksZVszXSl9LGQoZSl7ZSYmY2Uociksbj0hMSxhKCl9fX1mdW5jdGlvbiB0cyhvKXtsZXQgcixpLG47cmV0dXJue2MoKXttZShyPWRlKCJkaXYiKSwiY2xhc3MiLG9bMThdKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHIuaW5uZXJIVE1MPW9bM10saXx8KG49Z2UociwiY2xpY2siLG9bMTFdKSxpPSEwKX0scChlLHQpezgmdFswXSYmKHIuaW5uZXJIVE1MPWVbM10pfSxkKGUpe2UmJmNlKHIpLGk9ITEsbigpfX19ZnVuY3Rpb24gb3MoZSl7bGV0IG8scixpO3JldHVybiByPW5ldyBGaSh7cHJvcHM6e3NpemU6IjE4Iixyb3RhdGU6ZVs3XT09PWVbMzRdLmlkfX0pLHtjKCl7bz1kZSgiZGl2IikseGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXtsZShlLG8sdCkseWUocixvLG51bGwpLGk9ITB9LHAoZSx0KXt2YXIgbz17fTszODQmdFswXSYmKG8ucm90YXRlPWVbN109PT1lWzM0XS5pZCksci4kc2V0KG8pfSxpKGUpe2l8fChoZShyLiQkLmZyYWdtZW50LGUpLGk9ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksaT0hMX0sZChlKXtlJiZjZShvKSx3ZShyKX19fWZ1bmN0aW9uIHJzKHQpe2xldCBpLG4sZSxyLGEscyxsPVZpPy5bdFswXS5sYW5ndWFnZV0/LmNsZWFuQ29va2llKyIiLGMsZCxwLHU9dFszNF0uY29va2llcyxnPVtdO2ZvcihsZXQgZT0wO2U8dS5sZW5ndGg7ZSs9MSlnW2VdPW5zKEthKHQsdSxlKSk7cmV0dXJuIHI9bmV3IE1uKHt9KSx7Yygpe2ZvcihsZXQgZT0wO2U8Zy5sZW5ndGg7ZSs9MSlnW2VdLmMoKTtpPXVlKCksbj1kZSgiYSIpLGU9ZGUoImRpdiIpLHhlKHIuJCQuZnJhZ21lbnQpLGE9dWUoKSxzPWRlKCJkaXYiKSxjPXBlKGwpLG1lKG4sInRhYmluZGV4IiwiMCIpLG1lKG4sInJlbCIsIm5vb3BlbmVyIiksbWUobiwidGFyZ2V0IiwiX2JsYW5rIiksbWUobiwiY2xhc3MiLHRbMjRdKCkpLG1lKG4sImhyZWYiLGQ9dFswXT8udXJscz8uY2xlYW5Db29raWVMaW5rPz8iaHR0cHM6Ly9nb2Fkb3B0LmlvL2Jsb2cvYXBhZ2FyLWNvb2tpZXMtY2FjaGUtbmF2ZWdhZG9yLyIpfSxtKHQsbyl7Zm9yKGxldCBlPTA7ZTxnLmxlbmd0aDtlKz0xKWdbZV0mJmdbZV0ubSh0LG8pO2xlKHQsaSxvKSxsZSh0LG4sbyksc2UobixlKSx5ZShyLGUsbnVsbCksc2UobixhKSxzZShuLHMpLHNlKHMsYykscD0hMH0scCh0LG8pe2lmKDgzODg4NjUmb1swXSl7dT10WzM0XS5jb29raWVzO2xldCBlO2ZvcihlPTA7ZTx1Lmxlbmd0aDtlKz0xKXt2YXIgcj1LYSh0LHUsZSk7Z1tlXT9nW2VdLnAocixvKTooZ1tlXT1ucyhyKSxnW2VdLmMoKSxnW2VdLm0oaS5wYXJlbnROb2RlLGkpKX1mb3IoO2U8Zy5sZW5ndGg7ZSs9MSlnW2VdLmQoMSk7Zy5sZW5ndGg9dS5sZW5ndGh9KCFwfHwxJm9bMF0pJiZsIT09KGw9Vmk/Llt0WzBdLmxhbmd1YWdlXT8uY2xlYW5Db29raWUrIiIpJiZmZShjLGwpLCghcHx8MSZvWzBdJiZkIT09KGQ9dFswXT8udXJscz8uY2xlYW5Db29raWVMaW5rPz8iaHR0cHM6Ly9nb2Fkb3B0LmlvL2Jsb2cvYXBhZ2FyLWNvb2tpZXMtY2FjaGUtbmF2ZWdhZG9yLyIpKSYmbWUobiwiaHJlZiIsZCl9LGkoZSl7cHx8KGhlKHIuJCQuZnJhZ21lbnQsZSkscD0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxwPSExfSxkKGUpe21vKGcsZSksZSYmY2UoaSksZSYmY2Uobiksd2Uocil9fX1mdW5jdGlvbiBpcyhlKXtsZXQgbyxyPWVbMzddPy5kZXNjcmlwdGlvbisiIixpO3JldHVybntjKCl7bz1kZSgiZGl2IiksaT1wZShyKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLGkpfSxwKGUsdCl7MjU2JnRbMF0mJnIhPT0ocj1lWzM3XT8uZGVzY3JpcHRpb24rIiIpJiZmZShpLHIpfSxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gbnMoZSl7bGV0IG8scixpLG49ZVszN10ubmFtZSsiIixhLHMsbCxjLGQscD1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy5leHBpcmF0aW9uKyIiLHUsZyxtLGY9KC0xPT09ZVszN10uZXhwaXJhdGlvbl9taWxsaXNlY29uZHM/Vmk/LltlWzBdLmxhbmd1YWdlXT8uc2Vzc2lvbjotMj09PWVbMzddLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzPyJMb2NhbFN0b3JhZ2UiOlp0KGVbMzddLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzKS5udW1iZXIrIiAiK1ZpPy5bZVswXS5sYW5ndWFnZV0/LnVuaXRPZlRpbWVbWnQoZVszN10uZXhwaXJhdGlvbl9taWxsaXNlY29uZHMpLnR5cGVdKSsiIixoLGIseCx5LHc9ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8ucmVnaW9uKyIiLEMsdixrLEk9ZVszN10ucmVnaW9uKyIiLFMsVD1lWzM3XT8uZGVzY3JpcHRpb24mJmlzKGUpO3JldHVybntjKCl7bz1kZSgiZGl2Iikscj1kZSgiZGl2IiksaT1kZSgiYiIpLGE9cGUobikscz11ZSgpLFQmJlQuYygpLGw9dWUoKSxjPWRlKCJkaXYiKSxkPWRlKCJiIiksdT1wZShwKSxnPXBlKCI6IiksbT11ZSgpLGg9cGUoZiksYj11ZSgpLHg9ZGUoImRpdiIpLHk9ZGUoImIiKSxDPXBlKHcpLHY9cGUoIjoiKSxrPXVlKCksUz1wZShJKSxtZShvLCJjbGFzcyIsZVsyM10oKSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKSxzZShyLGkpLHNlKGksYSksc2UobyxzKSxUJiZULm0obyxudWxsKSxzZShvLGwpLHNlKG8sYyksc2UoYyxkKSxzZShkLHUpLHNlKGQsZyksc2UoYyxtKSxzZShjLGgpLHNlKG8sYiksc2Uobyx4KSxzZSh4LHkpLHNlKHksQyksc2UoeSx2KSxzZSh4LGspLHNlKHgsUyl9LHAoZSx0KXsyNTYmdFswXSYmbiE9PShuPWVbMzddLm5hbWUrIiIpJiZmZShhLG4pLGVbMzddPy5kZXNjcmlwdGlvbj9UP1QucChlLHQpOigoVD1pcyhlKSkuYygpLFQubShvLGwpKTpUJiYoVC5kKDEpLFQ9bnVsbCksMSZ0WzBdJiZwIT09KHA9ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8uZXhwaXJhdGlvbisiIikmJmZlKHUscCksMjU3JnRbMF0mJmYhPT0oZj0oLTE9PT1lWzM3XS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcz9WaT8uW2VbMF0ubGFuZ3VhZ2VdPy5zZXNzaW9uOi0yPT09ZVszN10uZXhwaXJhdGlvbl9taWxsaXNlY29uZHM/IkxvY2FsU3RvcmFnZSI6WnQoZVszN10uZXhwaXJhdGlvbl9taWxsaXNlY29uZHMpLm51bWJlcisiICIrVmk/LltlWzBdLmxhbmd1YWdlXT8udW5pdE9mVGltZVtadChlWzM3XS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcykudHlwZV0pKyIiKSYmZmUoaCxmKSwxJnRbMF0mJnchPT0odz1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy5yZWdpb24rIiIpJiZmZShDLHcpLDI1NiZ0WzBdJiZJIT09KEk9ZVszN10ucmVnaW9uKyIiKSYmZmUoUyxJKX0sZChlKXtlJiZjZShvKSxUJiZULmQoKX19fWZ1bmN0aW9uIGFzKG8pe2xldCByLGksbixhLHMsbCxjLGQ9b1szNF0ubmFtZSsiIixwLHUsZyxtLGYsaCxiLHg7KGE9bmV3IEdhKHtwcm9wczp7Y2F0ZWdvcnlTZWxlY3Rvckljb246b1syNV0saWQ6b1szNF0uaWQsYWN0aXZlOm9bMzRdLmFjY2VwdH19KSkuJG9uKCJ0b2dnbGVkIixmdW5jdGlvbigpe3JldHVybiBvWzI4XShvWzM0XSl9KTtsZXQgeT0wPG9bMzRdLmNvb2tpZXM/Lmxlbmd0aCYmb3Mobyk7ZnVuY3Rpb24gdygpe3JldHVybiBvWzI5XShvWzM0XSl9ZnVuY3Rpb24gQyguLi5lKXtyZXR1cm4gb1szMF0ob1szNF0sLi4uZSl9bGV0IHY9b1s3XT09PW9bMzRdLmlkJiZycyhvKTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLG49ZGUoImRpdiIpLHhlKGEuJCQuZnJhZ21lbnQpLHM9dWUoKSxsPWRlKCJkaXYiKSxjPWRlKCJkaXYiKSxwPXBlKGQpLHU9dWUoKSx5JiZ5LmMoKSxnPXVlKCksdiYmdi5jKCksbT11ZSgpLG1lKGwsImNsYXNzIixvWzIyXSgpKSxtZShsLCJyb2xlIiwiYnV0dG9uIiksbWUobCwidGFiaW5kZXgiLCIwIiksbWUobCwiYXJpYS1leHBhbmRlZCIsb1s2XSksbWUobCwiYXJpYS1jb250cm9scyIsImFjY29yZGlvbi1jb250ZW50IiksbWUoaSwiY2xhc3MiLG9bMjFdKCkpLG1lKHIsImNsYXNzIixvWzIwXSgpKSxtZShyLCJpZCIsZj1vWzM0XS5pZCl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxzZShpLG4pLHllKGEsbixudWxsKSxzZShpLHMpLHNlKGksbCksc2UobCxjKSxzZShjLHApLHNlKGwsdSkseSYmeS5tKGwsbnVsbCksc2UocixnKSx2JiZ2Lm0ocixudWxsKSxzZShyLG0pLGg9ITAsYnx8KHg9W2dlKGwsImNsaWNrIix3KSxnZShsLCJrZXlkb3duIixDKV0sYj0hMCl9LHAoZSx0KXtvPWU7ZT17fTsyNTYmdFswXSYmKGUuaWQ9b1szNF0uaWQpLDI1NiZ0WzBdJiYoZS5hY3RpdmU9b1szNF0uYWNjZXB0KSxhLiRzZXQoZSksKCFofHwyNTYmdFswXSkmJmQhPT0oZD1vWzM0XS5uYW1lKyIiKSYmZmUocCxkKSwwPG9bMzRdLmNvb2tpZXM/Lmxlbmd0aD95Pyh5LnAobyx0KSwyNTYmdFswXSYmaGUoeSwxKSk6KCh5PW9zKG8pKS5jKCksaGUoeSwxKSx5Lm0obCxudWxsKSk6eSYmKGllKCksYmUoeSwxLDEsKCk9Pnt5PW51bGx9KSxuZSgpKSwoIWh8fDY0JnRbMF0pJiZtZShsLCJhcmlhLWV4cGFuZGVkIixvWzZdKSxvWzddPT09b1szNF0uaWQ/dj8odi5wKG8sdCksMzg0JnRbMF0mJmhlKHYsMSkpOigodj1ycyhvKSkuYygpLGhlKHYsMSksdi5tKHIsbSkpOnYmJihpZSgpLGJlKHYsMSwxLCgpPT57dj1udWxsfSksbmUoKSksKCFofHwyNTYmdFswXSYmZiE9PShmPW9bMzRdLmlkKSkmJm1lKHIsImlkIixmKX0saShlKXtofHwoaGUoYS4kJC5mcmFnbWVudCxlKSxoZSh5KSxoZSh2KSxoPSEwKX0sbyhlKXtiZShhLiQkLmZyYWdtZW50LGUpLGJlKHkpLGJlKHYpLGg9ITF9LGQoZSl7ZSYmY2Uociksd2UoYSkseSYmeS5kKCksdiYmdi5kKCksYj0hMSxybyh4KX19fWZ1bmN0aW9uIHNzKGUpe2xldCBvLHIsaT0oMDxlWzhdPy5sZW5ndGh8fGVbNV0pJiZRYShlKTtyZXR1cm57Yygpe2kmJmkuYygpLG89Zm8oKX0sbShlLHQpe2kmJmkubShlLHQpLGxlKGUsbyx0KSxyPSEwfSxwKGUsdCl7MDxlWzhdPy5sZW5ndGh8fGVbNV0/aT8oaS5wKGUsdCksMjg4JnRbMF0mJmhlKGksMSkpOigoaT1RYShlKSkuYygpLGhlKGksMSksaS5tKG8ucGFyZW50Tm9kZSxvKSk6aSYmKGllKCksYmUoaSwxLDEsKCk9PntpPW51bGx9KSxuZSgpKX0saShlKXtyfHwoaGUoaSkscj0hMCl9LG8oZSl7YmUoaSkscj0hMX0sZChlKXtpJiZpLmQoZSksZSYmY2Uobyl9fX1mdW5jdGlvbiBscyhlLHQsbyl7bGV0IHI9dC5jb25maWcsaT10LnRhZ0NhdGVnb3J5SWQsbj10LmNhdE5hbWUsYT10LmNhdERlc2Mse2NhdEhlbHBlclRleHQ6cz1udWxsfT10LHtyZXF1aXJlZDpsPSExfT10LGM9dC5zdHlsZXMsZD0kbygpLHA9ITE7bGV0IHU9IShyPy5kaXNjbGFpbWVyT3B0aW9ucz8udW5jaGVja1RhZ3N8fCExKSxnLG09cj8udGFncz8uZmlsdGVyKGU9PmU/LnRhZ19jYXRlZ29yeV9pZD09PXBhcnNlSW50KGkpKSxmPW0/LmZpbHRlcihlPT5lLmFjY2VwdCk/Lmxlbmd0aDtsZXQgaD0oKT0+e28oNixwPSFwKX0sYj1lPT57ZS5pZD09PWd8fDA9PT1lLmNvb2tpZXM/Lmxlbmd0aD9vKDcsZz12b2lkIDApOm8oNyxnPWUuaWQpfSx4PWU9PntsfHwoZCgidG9nZ2xlZCIsZSksbyg4LG09cj8udGFncz8uZmlsdGVyKGU9PmU/LnRhZ19jYXRlZ29yeV9pZD09PXBhcnNlSW50KGkpKSksbT8uZmlsdGVyKGU9PmUuYWNjZXB0KT8ubGVuZ3RoIT09bT8ubGVuZ3RoJiYodT0hMSksbT8uZmlsdGVyKGU9PmUuYWNjZXB0KT8ubGVuZ3RoPT09bT8ubGVuZ3RoJiYodT0hMCksbyg5LGY9bT8uZmlsdGVyKGU9PmUuYWNjZXB0KT8ubGVuZ3RoKSl9O3ZhcntjYXRlZ29yeTp0LGNhdGVnb3J5VGl0bGVDb250YWluZXI6eSxjYXRlZ29yeVRpdGxlV3JhcHBlcjp3LGNhdGVnb3J5VGl0bGU6QyxjYXRlZ29yeURlc2NyaXB0aW9uOnYsY2F0ZWdvcnlUb29nbGVTaG93VGFnczprLGNhdGVnb3J5VGFnOkksY2F0ZWdvcnlUYWdUaXRsZVNlY3Rpb246UyxjYXRlZ29yeVRhZ1RpdGxlOlQsY2F0ZWdvcnlUYWdDb29raWVDb250YWluZXI6TCxjYXRlZ29yeVRhZ0NsZWFuQ2FjaGVMaW5rOiQsY2F0ZWdvcnlTZWxlY3Rvckljb246QX09KChlLHQpPT57dmFye2NvbG9yczpvLGRpc2NsYWltZXJPcHRpb25zOnJ9PWUse3N0eWxlczplLGhhc0ltcG9ydGFudDppfT1lLnN0eWxlcz8/e30se3RoZW1lOnQ9ImxpZ2h0IixzdHlsZXM6bixoYXNJbXBvcnRhbnQ6YSxjb2xvcnM6c309dDtsZXQgbD12b2lkIDA9PT1hfHxhP3ZvaWQgMD09PWl8fGk/IiFpbXBvcnRhbnQiOiIiOiIiO2E9cj8uYWNjZXNzaWJpbGl0eSxpPSIhaW1wb3J0YW50Ij09PWw/InVuc2V0ICFpbXBvcnRhbnQiOiIiLHI9UXIoeyIwJSI6e3RyYW5zZm9ybToidHJhbnNsYXRlWSgtMTBweCkifSwiMTAwJSI6e3RyYW5zZm9ybToidHJhbnNsYXRlWSgwKSJ9fSk7cmV0dXJue2NhdGVnb3J5OkIoe3BhZGRpbmc6IjMwcHggMjBweCAiK2wsdmFyaWFudHM6e2xhc3Q6e2ZhbHNlOntib3JkZXJCb3R0b206IjFweCBzb2xpZCAjRDJENERBICIrbH19fSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LmNhdGVnb3J5LC4uLm4/LndlYj8uY2F0ZWdvcmllcz8uY2F0ZWdvcnksIkBtb2JpbGUiOntwYWRkaW5nOiIxNXB4IDAgIitsLC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnksLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeX19KSxjYXRlZ29yeVRpdGxlQ29udGFpbmVyOkIoe2Rpc3BsYXk6ImZsZXggIitsLGFsaWduSXRlbXM6ImNlbnRlciAiK2wsZ2FwOiIxNHB4ICIrbCwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LmNhdGVnb3J5VGl0bGVDb250YWluZXIsLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeVRpdGxlQ29udGFpbmVyLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeVRpdGxlQ29udGFpbmVyLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlUaXRsZUNvbnRhaW5lcn19KSxjYXRlZ29yeVRpdGxlV3JhcHBlcjpCKHtkaXNwbGF5OiJmbGV4ICIrbCxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCxmbGV4OiIxICIrbCxjdXJzb3I6InBvaW50ZXIgIitsLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlUaXRsZVdyYXBwZXIsLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeVRpdGxlV3JhcHBlciwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlUaXRsZVdyYXBwZXIsLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeVRpdGxlV3JhcHBlcn19KSxjYXRlZ29yeVRpdGxlOkIoe2FsbDppLGZvbnRTaXplOiIxNnB4ICIrbCxsaW5lSGVpZ2h0OiIyMHB4ICIrbCxmb250V2VpZ2h0OiJib2xkICIrbCxjb2xvcjoiIzRENEU1MyAiK2wsZGlzcGxheToiZmxleCAiK2wsZ2FwOiIyMHB4ICIrbCwiJiA+IGRpdjpudGgtY2hpbGQoMikiOntmb250V2VpZ2h0OiJub3JtYWwgIitsfSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRpdGxlLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udGl0bGUsIkBtb2JpbGUiOntkaXNwbGF5OiJibG9jayAiK2wsIiYgPiBkaXY6bnRoLWNoaWxkKDIpIjp7Zm9udFNpemU6IjEycHggIitsfSwuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRpdGxlLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGl0bGV9fSksY2F0ZWdvcnlEZXNjcmlwdGlvbjpCKHthbGw6aSxmb250U2l6ZToiMTZweCAiK2wsd2lkdGg6IjEwMCUgIitsLGRpc3BsYXk6ImJsb2NrICIrbCxwYWRkaW5nVG9wOiIzMHB4ICIrbCxsaW5lSGVpZ2h0OiIyMXB4ICIrbCxjb2xvcjoiIzRENEU1MyAiK2wsY3Vyc29yOiJwb2ludGVyICIrbCwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb24sIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb259fSksY2F0ZWdvcnlUb29nbGVTaG93VGFnczpCKHsiJiBzdmciOntmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udG9vZ2xlU2hvd1RhZ3MsIkBtb2JpbGUiOnsiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfSwuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udG9vZ2xlU2hvd1RhZ3N9fSksY2F0ZWdvcnlUYWc6Qih7cGFkZGluZzoiOHB4ICIrbCxtYXJnaW5Ub3A6IjEwcHggIitsLGJvcmRlclJhZGl1czoiNXB4ICIrbCxjb2xvcjoiIzRENEU1MyAgIitsLGJvcmRlcjoiMXB4IHNvbGlkICNEMkQ0REEgIitsLGFuaW1hdGlvbjpyKyIgNDAwbXMgZWFzZS1vdXQgIitsLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udGFnLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWcsLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWd9fSksY2F0ZWdvcnlUYWdUaXRsZVNlY3Rpb246Qih7ZGlzcGxheToiZmxleCAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCxnYXA6IjE0cHggIitsLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb24sLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb259fSksY2F0ZWdvcnlUYWdUaXRsZTpCKHtmb250U2l6ZToiMTRweCAiK2wsZmxleEdyb3c6IjEgIitsLGN1cnNvcjoicG9pbnRlciAiK2wsZGlzcGxheToiZmxleCAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK2wsZ2FwOiIxNHB4ICIrbCwiJiA+IGRpdiI6e3dvcmRCcmVhazoiYnJlYWstYWxsICIrbH0sIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50YWdUaXRsZSwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlLCJAbW9iaWxlIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZSwuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlfX0pLGNhdGVnb3J5VGFnQ29va2llQ29udGFpbmVyOkIoe2Rpc3BsYXk6ImZsZXggIitsLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK2wsZ2FwOiI1cHggIitsLHBhZGRpbmc6IjRweCA4cHggIitsLG1hcmdpbjoiMTBweCAwIDVweCAiK2wsYm9yZGVyUmFkaXVzOiI1cHggIitsLGJhY2tncm91bmRPcGFjaXR5OiIwLjIgIitsLGJhY2tncm91bmQ6IiNmZmYgIitsLGFuaW1hdGlvbjpyKyIgNDAwbXMgZWFzZS1vdXQgIitsLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDb29raWVDb250YWluZXIsLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDb29raWVDb250YWluZXJ9fSksY2F0ZWdvcnlUYWdDbGVhbkNhY2hlTGluazpCKHthbGw6aSxjdXJzb3I6InBvaW50ZXIgIitsLG1hcmdpbjoiMjBweCAwIDVweCAwICIrbCx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2wsdHJhbnNpdGlvbkR1cmF0aW9uOiIyNTBtcyAiK2wsZGlzcGxheToiZmxleCAiK2wsZ2FwOiIycHggIitsLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLCImOmZvY3VzLXZpc2libGUiOmEmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2wsb3V0bGluZU9mZnNldDoiM3B4ICIrbH0sIiY6aG92ZXIiOnt0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrbH0sIiYgZGl2Omxhc3QtY2hpbGQiOnttYXJnaW5MZWZ0OiI0cHggIitsfSwiJiBzdmciOntmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udGFnQ2xlYW5DYWNoZUxpbmssIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbCwiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfSwuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnQ2xlYW5DYWNoZUxpbmt9fSksY2F0ZWdvcnlTZWxlY3Rvckljb246Qih7aGVpZ2h0OiIyOHB4ICIrbCx3aWR0aDoiMjhweCAiK2wsYm9yZGVyUmFkaXVzOiI1cHggIitsLGRpc3BsYXk6ImZsZXggIitsLGFsaWduSXRlbXM6ImNlbnRlciAiK2wsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciAiK2wsY3Vyc29yOiJwb2ludGVyICIrbCxib3JkZXI6IjFweCBzb2xpZCAjRDJENERBICIrbCxiYWNrZ3JvdW5kQ29sb3I6IiNmZmYgIitsLCImOmZvY3VzLXZpc2libGUiOmEmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2wsb3V0bGluZU9mZnNldDoiM3B4ICIrbH0sIiYgc3ZnIjp7ZmlsbDoiIzRENEU1MyAiK2x9LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlTZWxlY3Rvckljb24sLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeVNlbGVjdG9ySWNvbiwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlTZWxlY3Rvckljb24sLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeVNlbGVjdG9ySWNvbn19KX19KShyLGMpO3JldHVybiBlLiQkc2V0PWU9PnsiY29uZmlnImluIGUmJm8oMCxyPWUuY29uZmlnKSwidGFnQ2F0ZWdvcnlJZCJpbiBlJiZvKDEsaT1lLnRhZ0NhdGVnb3J5SWQpLCJjYXROYW1lImluIGUmJm8oMixuPWUuY2F0TmFtZSksImNhdERlc2MiaW4gZSYmbygzLGE9ZS5jYXREZXNjKSwiY2F0SGVscGVyVGV4dCJpbiBlJiZvKDQscz1lLmNhdEhlbHBlclRleHQpLCJyZXF1aXJlZCJpbiBlJiZvKDUsbD1lLnJlcXVpcmVkKSwic3R5bGVzImluIGUmJm8oMjYsYz1lLnN0eWxlcyl9LFtyLGksbixhLHMsbCxwLGcsbSxmLGFzeW5jKCk9PntsfHwodT0hdSxkKCJ0b2dnbGVkQ2F0Iix7Y2F0ZWdvcnlJZDppLHRhZ3M6bS5tYXAoZT0+ZS5pZCksc3RhdGU6dX0pLGF3YWl0IF9vKCkscCYmKG8oNixwPSExKSxzZXRUaW1lb3V0KGU9Pm8oNixwPSEwKSwwKSksbyg5LGY9bT8uZmlsdGVyKGU9PmUuYWNjZXB0KT8ubGVuZ3RoKSl9LGgsYix4LHQseSx3LEMsdixrLEksUyxULEwsJCxBLGMsZT0+KCJFbnRlciI9PT1lLmtleXx8IiAiPT09ZS5rZXkpJiZoKCksZT0+eChlLmlkKSxlPT5iKGUpLChlLHQpPT4oIkVudGVyIj09PXQua2V5fHwiICI9PT10LmtleSkmJmIoZSldfWNsYXNzIGNzIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLGxzLHNzLHIse2NvbmZpZzowLHRhZ0NhdGVnb3J5SWQ6MSxjYXROYW1lOjIsY2F0RGVzYzozLGNhdEhlbHBlclRleHQ6NCxyZXF1aXJlZDo1LHN0eWxlczoyNn0sbnVsbCxbLTEsLTFdKX19ZnVuY3Rpb24gZHMoZSl7bGV0IG8scjtyZXR1cm57Yygpe289Yigic3ZnIiksbWUocj1iKCJwYXRoIiksImQiLCJNIDcuNzE4NzUgNi4yODEyNSBMIDYuMjgxMjUgNy43MTg3NSBMIDIzLjU2MjUgMjUgTCA2LjI4MTI1IDQyLjI4MTI1IEwgNy43MTg3NSA0My43MTg3NSBMIDI1IDI2LjQzNzUgTCA0Mi4yODEyNSA0My43MTg3NSBMIDQzLjcxODc1IDQyLjI4MTI1IEwgMjYuNDM3NSAyNSBMIDQzLjcxODc1IDcuNzE4NzUgTCA0Mi4yODEyNSA2LjI4MTI1IEwgMjUgMjMuNTYyNSBaIiksbWUobywieG1sbnMiLCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpLG1lKG8sInZpZXdCb3giLCIwIDAgNTAgNTAiKSxtZShvLCJ3aWR0aCIsZVswXSksbWUobywiaGVpZ2h0IixlWzBdKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpfSxwKGUsW3RdKXsxJnQmJm1lKG8sIndpZHRoIixlWzBdKSwxJnQmJm1lKG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIHBzKGUsdCxvKXtsZXR7c2l6ZTpyPSI1cHgifT10O3JldHVybiBlLiQkc2V0PWU9Pnsic2l6ZSJpbiBlJiZvKDAscj1lLnNpemUpfSxbcl19Y2xhc3MgdXMgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUscHMsZHMscix7c2l6ZTowfSl9fWZ1bmN0aW9uIGdzKGUpe2xldCBvLHI9ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8uYWRvcHRUZXh0KyIiLGksbixhLHMsbDtyZXR1cm57Yygpe289ZGUoInNtYWxsIiksaT1wZShyKSxuPXVlKCksYT1kZSgiYSIpLHM9cGUoIkFkT3B0IiksbWUoYSwidGFiaW5kZXgiLCIwIiksbWUoYSwiaHJlZiIsbD1YdChlWzBdLCJjdXN0b21pemUiKSksbWUoYSwicmVsIiwibm9vcGVuZXIiKSxtZShhLCJ0YXJnZXQiLCJfYmxhbmsiKSxtZShvLCJjbGFzcyIsZVsxNV0oKSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxpKSxzZShvLG4pLHNlKG8sYSksc2UoYSxzKX0scChlLHQpezEmdCYmciE9PShyPWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LmFkb3B0VGV4dCsiIikmJmZlKGksciksMSZ0JiZsIT09KGw9WHQoZVswXSwiY3VzdG9taXplIikpJiZtZShhLCJocmVmIixsKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIG1zKG8pe2xldCByLGksbixhLHM9b1swXT8udGV4dHM/LnRpdGxlcz8ucHJlZmVyZW5jZSsiIixsLGosYyxkLE4scCx1LGc9KG9bMF0/LnRleHRzPy5zdWJUaXRsZXM/LnByZWZlcmVuY2UxfHwiIikrIiIsbSxWLE0seixmLGg9KG9bMF0/LnRleHRzPy5zdWJUaXRsZXM/LnByZWZlcmVuY2UyfHwiIikrIiIsYixGLHgsVSx5LFcsdyxILEMsRyx2LHEsayxLLEksUSxKLFM9Vmk/LltvWzBdLmxhbmd1YWdlXT8uY2xlYW5Db29raWUrIiIsWixULFksTCxYLCQsQSxFPW9bMF0/LnRleHRzPy5idXR0b25zPy5yZWplY3RBbGwrIiIsZWUsdGUsUixPPW9bMF0/LnRleHRzPy5idXR0b25zPy5hY2NlcHRBbGwrIiIsb2UscmUsRCxCPW9bMF0/LnRleHRzPy5idXR0b25zPy5hY2NlcHRDdXN0b20rIiIsaWUsdCxQLG5lLGFlLF89KGQ9bmV3IHVzKHtwcm9wczp7c2l6ZToiMzAifX0pLCh4PW5ldyBjcyh7cHJvcHM6e2NvbmZpZzpvWzBdLHN0eWxlczpvWzFdLHRhZ0NhdGVnb3J5SWQ6IjEiLGNhdE5hbWU6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LnJlcXVpcmVkPy5uYW1lLGNhdEhlbHBlclRleHQ6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LnJlcXVpcmVkPy5oZWxwZXJUZXh0LGNhdERlc2M6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LnJlcXVpcmVkPy5kZXNjcmlwdGlvbixyZXF1aXJlZDohMH19KSkuJG9uKCJ0b2dnbGVkIixvWzNdKSx4LiRvbigidG9nZ2xlZENhdCIsb1s0XSksKHk9bmV3IGNzKHtwcm9wczp7Y29uZmlnOm9bMF0sc3R5bGVzOm9bMV0sdGFnQ2F0ZWdvcnlJZDoiMiIsY2F0TmFtZTpvWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubWFya2V0aW5nPy5uYW1lLGNhdERlc2M6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/Lm1hcmtldGluZz8uZGVzY3JpcHRpb259fSkpLiRvbigidG9nZ2xlZCIsb1szXSkseS4kb24oInRvZ2dsZWRDYXQiLG9bNF0pLCh3PW5ldyBjcyh7cHJvcHM6e2NvbmZpZzpvWzBdLHN0eWxlczpvWzFdLHRhZ0NhdGVnb3J5SWQ6IjMiLGNhdE5hbWU6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LnN0YXRpc3RpY3M/Lm5hbWUsY2F0RGVzYzpvWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uc3RhdGlzdGljcz8uZGVzY3JpcHRpb259fSkpLiRvbigidG9nZ2xlZCIsb1szXSksdy4kb24oInRvZ2dsZWRDYXQiLG9bNF0pLChDPW5ldyBjcyh7cHJvcHM6e2NvbmZpZzpvWzBdLHN0eWxlczpvWzFdLHRhZ0NhdGVnb3J5SWQ6IjQiLGNhdE5hbWU6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LnBlcmZvcm1hbmNlPy5uYW1lLGNhdERlc2M6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LnBlcmZvcm1hbmNlPy5kZXNjcmlwdGlvbn19KSkuJG9uKCJ0b2dnbGVkIixvWzNdKSxDLiRvbigidG9nZ2xlZENhdCIsb1s0XSksKHY9bmV3IGNzKHtwcm9wczp7Y29uZmlnOm9bMF0sc3R5bGVzOm9bMV0sdGFnQ2F0ZWdvcnlJZDoiNSIsY2F0TmFtZTpvWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uZnVuY3Rpb25hbD8ubmFtZSxjYXREZXNjOm9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5mdW5jdGlvbmFsPy5kZXNjcmlwdGlvbn19KSkuJG9uKCJ0b2dnbGVkIixvWzNdKSx2LiRvbigidG9nZ2xlZENhdCIsb1s0XSksST1uZXcgTW4oe30pLCExIT09b1swXT8ud2hpdGVsYWJlbD8udmlzaWJpbGl0eSYmZ3MobykpO3JldHVybntjKCl7cj1kZSgiZGl2IiksaT1kZSgiZGl2Iiksbj1kZSgiZGl2IiksYT1kZSgiaDEiKSxsPXBlKHMpLGo9dWUoKSxjPWRlKCJidXR0b24iKSx4ZShkLiQkLmZyYWdtZW50KSxOPXVlKCkscD1kZSgiZGl2IiksdT1kZSgic3BhbiIpLG09cGUoZyksVj11ZSgpLE09ZGUoImJyIiksej11ZSgpLGY9ZGUoInN0cm9uZyIpLGI9cGUoaCksRj11ZSgpLHhlKHguJCQuZnJhZ21lbnQpLFU9dWUoKSx4ZSh5LiQkLmZyYWdtZW50KSxXPXVlKCkseGUody4kJC5mcmFnbWVudCksSD11ZSgpLHhlKEMuJCQuZnJhZ21lbnQpLEc9dWUoKSx4ZSh2LiQkLmZyYWdtZW50KSxxPXVlKCksaz1kZSgiYSIpLEs9ZGUoImRpdiIpLHhlKEkuJCQuZnJhZ21lbnQpLFE9dWUoKSxKPWRlKCJkaXYiKSxaPXBlKFMpLFk9dWUoKSxMPWRlKCJkaXYiKSxfJiZfLmMoKSxYPXVlKCksJD1kZSgiZGl2IiksQT1kZSgiYnV0dG9uIiksZWU9cGUoRSksdGU9dWUoKSxSPWRlKCJidXR0b24iKSxvZT1wZShPKSxyZT11ZSgpLEQ9ZGUoImJ1dHRvbiIpLGllPXBlKEIpLG1lKGEsImNsYXNzIixvWzldKCkpLG1lKGEsImlkIiwicHJlZmVyZW5jZS1iYW5uZXItdGl0bGUiKSxtZShjLCJhcmlhLWxhYmVsIiwicHJlZmVyZW5jZS1iYW5uZXItY2xvc2UtYnV0dG9uIiksbWUoYywiY2xhc3MiLG9bMTBdKCkpLG1lKG4sImNsYXNzIixvWzhdKCkpLG1lKHUsImNsYXNzIixvWzEyXSgpKSxtZShrLCJ0YXJnZXQiLCJfYmxhbmsiKSxtZShrLCJ0YWJpbmRleCIsIjAiKSxtZShrLCJjbGFzcyIsb1sxNF0oKSksbWUoaywiaHJlZiIsVD1vWzBdPy51cmxzPy5jbGVhbkNvb2tpZUxpbms/PyJodHRwczovL2dvYWRvcHQuaW8vYmxvZy9hcGFnYXItY29va2llcy1jYWNoZS1uYXZlZ2Fkb3IvIiksbWUocCwiY2xhc3MiLG9bMTFdKCkpLG1lKHAsImlkIiwicHJlZmVyZW5jZS1iYW5uZXItY29udGVudCIpLG1lKEEsImNsYXNzIixvWzE3XSgpKSxtZShSLCJpZCIsImFkb3B0LWFjY2VwdC1hbGwtYnV0dG9uIiksbWUoUiwiY2xhc3MiLG9bMTddKCkpLG1lKEQsImNsYXNzIixvWzE4XSgpKSxtZSgkLCJjbGFzcyIsb1sxNl0oKSksbWUoTCwiY2xhc3MiLG9bMTNdKCkpLG1lKGksImNsYXNzIixvWzddKCkpLG1lKHIsImlkIiwicHJlZmVyZW5jZS1iYW5uZXIiKSxtZShyLCJyb2xlIiwiZGlhbG9nIiksbWUociwiYXJpYS1tb2RhbCIsInRydWUiKSxtZShyLCJhcmlhLWxhYmVsbGVkYnkiLCJwcmVmZXJlbmNlLWJhbm5lci10aXRsZSIpLG1lKHIsImFyaWEtZGVzY3JpYmVkYnkiLCJwcmVmZXJlbmNlLWJhbm5lci1jb250ZW50IiksbWUociwiY2xhc3MiLG9bNl0oKSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxzZShpLG4pLHNlKG4sYSksc2UoYSxsKSxzZShuLGopLHNlKG4sYykseWUoZCxjLG51bGwpLHNlKGksTiksc2UoaSxwKSxzZShwLHUpLHNlKHUsbSksc2UodSxWKSxzZSh1LE0pLHNlKHUseiksc2UodSxmKSxzZShmLGIpLHNlKHAsRikseWUoeCxwLG51bGwpLHNlKHAsVSkseWUoeSxwLG51bGwpLHNlKHAsVykseWUodyxwLG51bGwpLHNlKHAsSCkseWUoQyxwLG51bGwpLHNlKHAsRykseWUodixwLG51bGwpLHNlKHAscSksc2UocCxrKSxzZShrLEspLHllKEksSyxudWxsKSxzZShrLFEpLHNlKGssSiksc2UoSixaKSxzZShpLFkpLHNlKGksTCksXyYmXy5tKEwsbnVsbCksc2UoTCxYKSxzZShMLCQpLHNlKCQsQSksc2UoQSxlZSksc2UoJCx0ZSksc2UoJCxSKSxzZShSLG9lKSxzZSgkLHJlKSxzZSgkLEQpLHNlKEQsaWUpLFA9ITAsbmV8fChhZT1bZ2UoYywiY2xpY2siLG9bMTldKSxnZShBLCJjbGljayIsb1syMF0pLGdlKFIsImNsaWNrIixvWzIxXSksZ2UoRCwiY2xpY2siLG9bNV0pLGdlKGksImNsaWNrIixobyhmcykpXSxuZT0hMCl9LHAoZSxbdF0pe289ZSwoIVB8fDEmdCkmJnMhPT0ocz1vWzBdPy50ZXh0cz8udGl0bGVzPy5wcmVmZXJlbmNlKyIiKSYmZmUobCxzKSwoIVB8fDEmdCkmJmchPT0oZz0ob1swXT8udGV4dHM/LnN1YlRpdGxlcz8ucHJlZmVyZW5jZTF8fCIiKSsiIikmJmZlKG0sZyksKCFQfHwxJnQpJiZoIT09KGg9KG9bMF0/LnRleHRzPy5zdWJUaXRsZXM/LnByZWZlcmVuY2UyfHwiIikrIiIpJiZmZShiLGgpO2U9e30sMSZ0JiYoZS5jb25maWc9b1swXSksMiZ0JiYoZS5zdHlsZXM9b1sxXSksMSZ0JiYoZS5jYXROYW1lPW9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8ubmFtZSksMSZ0JiYoZS5jYXRIZWxwZXJUZXh0PW9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8uaGVscGVyVGV4dCksMSZ0JiYoZS5jYXREZXNjPW9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8uZGVzY3JpcHRpb24pLHguJHNldChlKSxlPXt9LDEmdCYmKGUuY29uZmlnPW9bMF0pLDImdCYmKGUuc3R5bGVzPW9bMV0pLDEmdCYmKGUuY2F0TmFtZT1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubWFya2V0aW5nPy5uYW1lKSwxJnQmJihlLmNhdERlc2M9b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/Lm1hcmtldGluZz8uZGVzY3JpcHRpb24pLHkuJHNldChlKSxlPXt9LDEmdCYmKGUuY29uZmlnPW9bMF0pLDImdCYmKGUuc3R5bGVzPW9bMV0pLDEmdCYmKGUuY2F0TmFtZT1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uc3RhdGlzdGljcz8ubmFtZSksMSZ0JiYoZS5jYXREZXNjPW9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5zdGF0aXN0aWNzPy5kZXNjcmlwdGlvbiksdy4kc2V0KGUpLGU9e30sMSZ0JiYoZS5jb25maWc9b1swXSksMiZ0JiYoZS5zdHlsZXM9b1sxXSksMSZ0JiYoZS5jYXROYW1lPW9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5wZXJmb3JtYW5jZT8ubmFtZSksMSZ0JiYoZS5jYXREZXNjPW9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5wZXJmb3JtYW5jZT8uZGVzY3JpcHRpb24pLEMuJHNldChlKSxlPXt9OzEmdCYmKGUuY29uZmlnPW9bMF0pLDImdCYmKGUuc3R5bGVzPW9bMV0pLDEmdCYmKGUuY2F0TmFtZT1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uZnVuY3Rpb25hbD8ubmFtZSksMSZ0JiYoZS5jYXREZXNjPW9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5mdW5jdGlvbmFsPy5kZXNjcmlwdGlvbiksdi4kc2V0KGUpLCghUHx8MSZ0KSYmUyE9PShTPVZpPy5bb1swXS5sYW5ndWFnZV0/LmNsZWFuQ29va2llKyIiKSYmZmUoWixTKSwoIVB8fDEmdCYmVCE9PShUPW9bMF0/LnVybHM/LmNsZWFuQ29va2llTGluaz8/Imh0dHBzOi8vZ29hZG9wdC5pby9ibG9nL2FwYWdhci1jb29raWVzLWNhY2hlLW5hdmVnYWRvci8iKSkmJm1lKGssImhyZWYiLFQpLCExIT09b1swXT8ud2hpdGVsYWJlbD8udmlzaWJpbGl0eT9fP18ucChvLHQpOigoXz1ncyhvKSkuYygpLF8ubShMLFgpKTpfJiYoXy5kKDEpLF89bnVsbCksKCFQfHwxJnQpJiZFIT09KEU9b1swXT8udGV4dHM/LmJ1dHRvbnM/LnJlamVjdEFsbCsiIikmJmZlKGVlLEUpLCghUHx8MSZ0KSYmTyE9PShPPW9bMF0/LnRleHRzPy5idXR0b25zPy5hY2NlcHRBbGwrIiIpJiZmZShvZSxPKSwoIVB8fDEmdCkmJkIhPT0oQj1vWzBdPy50ZXh0cz8uYnV0dG9ucz8uYWNjZXB0Q3VzdG9tKyIiKSYmZmUoaWUsQil9LGkoZSl7UHx8KGhlKGQuJCQuZnJhZ21lbnQsZSksaGUoeC4kJC5mcmFnbWVudCxlKSxoZSh5LiQkLmZyYWdtZW50LGUpLGhlKHcuJCQuZnJhZ21lbnQsZSksaGUoQy4kJC5mcmFnbWVudCxlKSxoZSh2LiQkLmZyYWdtZW50LGUpLGhlKEkuJCQuZnJhZ21lbnQsZSksam8oKCk9PntQJiYodD10fHxHbyhpLHJyLHtkdXJhdGlvbjohMSE9PW9bMF0/LmRpc2NsYWltZXJPcHRpb25zPy5kaXNjbGFpbWVyQW5pbWF0aW9ucz8xNTA6MH0sITApKS5ydW4oMSl9KSxQPSEwKX0sbyhlKXtiZShkLiQkLmZyYWdtZW50LGUpLGJlKHguJCQuZnJhZ21lbnQsZSksYmUoeS4kJC5mcmFnbWVudCxlKSxiZSh3LiQkLmZyYWdtZW50LGUpLGJlKEMuJCQuZnJhZ21lbnQsZSksYmUodi4kJC5mcmFnbWVudCxlKSxiZShJLiQkLmZyYWdtZW50LGUpLCh0PXR8fEdvKGkscnIse2R1cmF0aW9uOiExIT09b1swXT8uZGlzY2xhaW1lck9wdGlvbnM/LmRpc2NsYWltZXJBbmltYXRpb25zPzE1MDowfSwhMSkpLnJ1bigwKSxQPSExfSxkKGUpe2UmJmNlKHIpLHdlKGQpLHdlKHgpLHdlKHkpLHdlKHcpLHdlKEMpLHdlKHYpLHdlKEkpLF8mJl8uZCgpLGUmJnQmJnQuZW5kKCksbmU9ITEscm8oYWUpfX19bGV0IGZzPSgpPT57fTtmdW5jdGlvbiBocyhlLHQscil7bGV0IGk9dC5jb25maWcsbz10LnN0eWxlcyxuLGEscyxsPWU9PnsiVGFiIj09PWUua2V5JiYoZS5zaGlmdEtleT9kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09biYmKGUucHJldmVudERlZmF1bHQoKSxhLmZvY3VzKCkpOmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1hJiYoZS5wcmV2ZW50RGVmYXVsdCgpLG4uZm9jdXMoKSkpfSxjPWU9PnsiRXNjYXBlIj09PWUua2V5JiYicHJlZmVyZW5jZXMiPT09TS5QcmVmZXJlbmNlcyYmZCgiZ28iLHtzdGF0dXM6TS5DYXJkfSl9O2xldCBkPSRvKCk7VG8oKCk9Pnt2YXIgZTtpPy5kaXNjbGFpbWVyT3B0aW9ucz8uYWNjZXNzaWJpbGl0eSYmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcmVmZXJlbmNlLWJhbm5lciIpLmZvY3VzKCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGMpLGU9InByZWZlcmVuY2UtYmFubmVyIixlPShzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpKS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknKSxuPWVbMF0sYT1lW2UubGVuZ3RoLTFdLHMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbCkpfSksTG8oKCk9PntpPy5kaXNjbGFpbWVyT3B0aW9ucz8uYWNjZXNzaWJpbGl0eSYmKHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGMpKX0pO3ZhcntwcmVmZXJlbmNlQ2FyZFBhbmVsT3ZlcmxheTp0LHByZWZlcmVuY2VDYXJkUGFuZWw6cCxwcmVmZXJlbmNlQ2FyZFRpdGxlQ29udGFpbmVyOnUscHJlZmVyZW5jZUNhcmRUaXRsZTpnLHByZWZlcmVuY2VDYXJkQ2xvc2VQYW5lbDptLHByZWZlcmVuY2VDYXJkVGFnQ2F0ZWdvcmllczpmLHByZWZlcmVuY2VDYXJkVGFnQ2F0ZWdvcmllc0Rlc2NyaXB0aW9uOmgscHJlZmVyZW5jZUNhcmRGb290ZXI6YixhbHRlcm5hdGl2ZUNsZWFuQ2FjaGVMaW5rOngscHJlZmVyZW5jZUNhcmRTbWFsbFRleHRGb290ZXI6eSxwcmVmZXJlbmNlQ2FyZEJ1dHRvbnNDb250YWluZXI6dyxwcmVmZXJlbmNlQ2FyZFJlamVjdEJ1dHRvbjpDLHByZWZlcmVuY2VDYXJkQWNjZXB0QnV0dG9uOnZ9PSgoZSx0KT0+e3Zhcntjb2xvcnM6byxkaXNjbGFpbWVyT3B0aW9uczpyfT1lLHtzdHlsZXM6ZSxoYXNJbXBvcnRhbnQ6aX09ZS5zdHlsZXM/P3t9LHt0aGVtZTp0PSJsaWdodCIsc3R5bGVzOm4saGFzSW1wb3J0YW50OmEsY29sb3JzOnN9PXQ7bGV0IGw9dm9pZCAwPT09YXx8YT92b2lkIDA9PT1pfHxpPyIhaW1wb3J0YW50IjoiIjoiIjt2YXIgYT1yPy5hY2Nlc3NpYmlsaXR5LGk9IiFpbXBvcnRhbnQiPT09bD8idW5zZXQgIWltcG9ydGFudCI6IiIscj17Y3Vyc29yOiJwb2ludGVyICIrbCx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2wsZm9udFdlaWdodDoibm9ybWFsICIrbCx0ZXh0QWxpZ246ImNlbnRlciAiK2wsd2hpdGVTcGFjZToibm93cmFwICIrbCxmb250U2l6ZToiMTZweCAiK2wsbGluZUhlaWdodDoiMjBweCAiK2wscGFkZGluZzoiMTBweCAxNXB4ICIrbCxib3JkZXJSYWRpdXM6IjNweCAiK2wsekluZGV4OiIwcHggIitsLGJhY2tncm91bmQ6InRyYW5zcGFyZW50ICIrbCx0cmFuc2l0aW9uOiJhbGwgMC4ycyBlYXNlLWluLW91dCAiK2x9LGM9Qih7YWxsOmkscG9zaXRpb246ImZpeGVkICIrbCx0b3A6IjAgIitsLGxlZnQ6IjAgIitsLHdpZHRoOiIxMDAlICIrbCxoZWlnaHQ6IjEwMCUgIitsLGJhY2tncm91bmRDb2xvcjoicmdiYSgwLCAwLCAwLCAwLjgpICIrbCx6SW5kZXg6Ijk5OTk5OTk5ICIrbCxkaXNwbGF5OiJncmlkICIrbCxwbGFjZUl0ZW1zOiJjZW50ZXIgIitsLC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsT3ZlcmxheSwuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5wYW5lbE92ZXJsYXksIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5wYW5lbE92ZXJsYXksLi4ubj8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8ucGFuZWxPdmVybGF5fX0pLGQ9Qih7YWxsOmksZm9udFNpemU6IiR0ZXh0ICIrbCx3aWR0aDoiNzcwcHggIitsLGhlaWdodDoiOTB2aCAiK2wsbWF4SGVpZ2h0OiI2NjRweCAiK2wsYm9yZGVyQm90dG9tTGVmdFJhZGl1czoiMTBweCAiK2wsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IjEwcHggIitsLGJveFNpemluZzoiYm9yZGVyLWJveCAiK2wsZGlzcGxheToiZmxleCAiK2wsZmxleERpcmVjdGlvbjoiY29sdW1uICIrbCx6SW5kZXg6Ijk5OTk5OTk5OTIgIitsLHVzZXJTZWxlY3Q6Im5vbmUgIitsLGZvbnRGYW1pbHk6IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIitsLGJhY2tncm91bmQ6IiNmZmYgIitsLGJvcmRlclRvcDpgNHB4IHNvbGlkICR7RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scyl9IGArbCwiJiBkaXYiOnsiJjo6LXdlYmtpdC1zY3JvbGxiYXIiOnt3aWR0aDoiOHB4ICIrbCxib3JkZXJSYWRpdXM6IjVweCAiK2x9LCImOjotd2Via2l0LXNjcm9sbGJhci10cmFjayI6e2JveFNoYWRvdzoiaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMikgIitsLGJvcmRlclJhZGl1czoiNXB4ICIrbH0sIiY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIjp7YmFja2dyb3VuZENvbG9yOiJyZ2JhKDAsIDAsIDAsIDAuMikgIitsLGJvcmRlclJhZGl1czoiNXB4ICIrbH19LC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsLC4uLm4/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsLCJAbW9iaWxlIjp7d2lkdGg6IjMyOXB4ICIrbCxoZWlnaHQ6IjU4MHB4ICIrbCxib3JkZXJUb3A6YDVweCBzb2xpZCAke0QoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpfSBgK2wsLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8ucGFuZWwsLi4ubj8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8ucGFuZWx9LCJAdGFibGV0Ijp7d2lkdGg6Ijk1JSAiK2x9fSkscD1CKHthbGw6aSxwYWRkaW5nOiIzMHB4IDUwcHggIitsLGRpc3BsYXk6ImZsZXggIitsLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLGJvcmRlckJvdHRvbToiMXB4IHNvbGlkICNmNGY0ZjYgIitsLC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnRpdGxlQ29udGFpbmVyLC4uLm4/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnRpdGxlQ29udGFpbmVyLCJAbW9iaWxlIjp7cGFkZGluZzoiMzBweCAyMHB4ICIrbCwuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy50aXRsZUNvbnRhaW5lciwuLi5uPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy50aXRsZUNvbnRhaW5lcn19KSx1PUIoe2FsbDppLG1hcmdpbjoiMCAiK2wsZm9udFNpemU6IiRiaWdUaXRsZSAiK2wsZm9udFdlaWdodDoiMzAwICIrbCxsaW5lSGVpZ2h0OiIzNHB4ICIrbCx0ZXh0QWxpZ246ImxlZnQgIitsLGNvbG9yOiIjNEQ0RTUzICIrbCwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy50aXRsZSwuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy50aXRsZSwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnRpdGxlLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnRpdGxlfX0pLGc9Qih7YWxsOmksYm94U2l6aW5nOiJib3JkZXItYm94ICIrbCxjdXJzb3I6InBvaW50ZXIgIitsLGRpc3BsYXk6ImZsZXggIitsLGFsaWduSXRlbXM6ImNlbnRlciAiK2wsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciAiK2wsIiY6Zm9jdXMtdmlzaWJsZSI6YSYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrbCxvdXRsaW5lT2Zmc2V0OiIzcHggIitsfSwiJiBzdmciOntmaWxsOiIjRDJENERBICIrbH0sIiY6aG92ZXIiOnsiJiBzdmciOntmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfX0sLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uY2xvc2VQYW5lbCwuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5jbG9zZVBhbmVsLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uY2xvc2VQYW5lbCwuLi5uPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5jbG9zZVBhbmVsfX0pLG09Qih7YWxsOmksaGVpZ2h0OiI0NjhweCAiK2wsZmxleEdyb3c6IjEgIitsLG92ZXJmbG93WToiYXV0byAiK2wsdGV4dEFsaWduOiJsZWZ0ICIrbCxmbGV4RGlyZWN0aW9uOiJjb2x1bW4gIitsLGJhY2tncm91bmRDb2xvcjoiI0Y2RjZGOCAiK2wscGFkZGluZzoiMzBweCA1MHB4ICIrbCwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy50YWdDYXRlZ29yaWVzLC4uLm4/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXMsIkBtb2JpbGUiOntwYWRkaW5nOiIzMHB4IDIwcHggIitsLC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXMsLi4ubj8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8udGFnQ2F0ZWdvcmllc319KSxmPUIoe2ZvbnRTaXplOiIxNnB4ICIrbCxmb250V2VpZ2h0OiIzMDAgIitsLGxpbmVIZWlnaHQ6IjIxcHggIitsLGNvbG9yOiIjNEQ0RTUzICIrbCwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy50YWdDYXRlZ29yaWVzRGVzY3JpcHRpb24sLi4ubj8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8udGFnQ2F0ZWdvcmllc0Rlc2NyaXB0aW9uLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8udGFnQ2F0ZWdvcmllc0Rlc2NyaXB0aW9uLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXNEZXNjcmlwdGlvbn19KSxoPUIoe2FsbDppLG1hcmdpbjoiMjBweCAwIDVweCAwICIrbCx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2wsY3Vyc29yOiJwb2ludGVyICIrbCxkaXNwbGF5OiJub25lICIrbCxnYXA6IjJweCAiK2wsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2wsIiY6Zm9jdXMtdmlzaWJsZSI6YSYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrbCxvdXRsaW5lT2Zmc2V0OiIzcHggIitsfSwiJjpob3ZlciI6e3RleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitsfSwiJiBkaXY6bGFzdC1jaGlsZCI6e21hcmdpbkxlZnQ6IjRweCAiK2x9LCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmFsdGVybmF0aXZlVGFnQ2xlYW5DYWNoZUxpbmssLi4ubj8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uYWx0ZXJuYXRpdmVUYWdDbGVhbkNhY2hlTGluaywiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLCImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmFsdGVybmF0aXZlVGFnQ2xlYW5DYWNoZUxpbmssLi4ubj8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uYWx0ZXJuYXRpdmVUYWdDbGVhbkNhY2hlTGlua319KTtyZXR1cm57cHJlZmVyZW5jZUNhcmRQYW5lbE92ZXJsYXk6YyxwcmVmZXJlbmNlQ2FyZFBhbmVsOmQscHJlZmVyZW5jZUNhcmRUaXRsZUNvbnRhaW5lcjpwLHByZWZlcmVuY2VDYXJkVGl0bGU6dSxwcmVmZXJlbmNlQ2FyZENsb3NlUGFuZWw6ZyxwcmVmZXJlbmNlQ2FyZFRhZ0NhdGVnb3JpZXM6bSxwcmVmZXJlbmNlQ2FyZFRhZ0NhdGVnb3JpZXNEZXNjcmlwdGlvbjpmLHByZWZlcmVuY2VDYXJkRm9vdGVyOkIoe2FsbDppLHBhZGRpbmc6IjMwcHggNTBweCAiK2wsdGV4dEFsaWduOiJjZW50ZXIgIitsLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK2wsYm9yZGVyVG9wOiIxcHggc29saWQgI2Y0ZjRmNiAiK2wsLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uY2FyZEZvb3RlciwuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5jYXJkRm9vdGVyLCJAbW9iaWxlIjp7cGFkZGluZzoiMzBweCAyMHB4ICIrbCwuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5jYXJkRm9vdGVyLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmNhcmRGb290ZXJ9fSksYWx0ZXJuYXRpdmVDbGVhbkNhY2hlTGluazpoLHByZWZlcmVuY2VDYXJkU21hbGxUZXh0Rm9vdGVyOkIoe2FsbDppLGZvbnRTaXplOiIxNnB4ICIrbCxjb2xvcjoiIzRENEU1MyAiK2wsIiYgYSI6e2FsbDppLGN1cnNvcjoicG9pbnRlciAiK2wsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2wsIiY6Zm9jdXMtdmlzaWJsZSI6YSYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrbCxvdXRsaW5lT2Zmc2V0OiIzcHggIitsfX0sLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uc21hbGxUZXh0Rm9vdGVyLC4uLm4/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnNtYWxsVGV4dEZvb3RlciwiQG1vYmlsZSI6eyImIGEiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uc21hbGxUZXh0Rm9vdGVyLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnNtYWxsVGV4dEZvb3Rlcn19KSxwcmVmZXJlbmNlQ2FyZEJ1dHRvbnNDb250YWluZXI6Qih7YWxsOmksZGlzcGxheToiZmxleCAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCxqdXN0aWZ5Q29udGVudDoiZW5kICIrbCxnYXA6IjMwcHggIitsLG1hcmdpblRvcDoiMTBweCAiK2wsLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uYnV0dG9uc0NvbnRhaW5lciwuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5idXR0b25zQ29udGFpbmVyLCJAbW9iaWxlIjp7ZmxleERpcmVjdGlvbjoiY29sdW1uICIrbCxnYXA6IjIwcHggIitsLC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmJ1dHRvbnNDb250YWluZXIsLi4ubj8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uYnV0dG9uc0NvbnRhaW5lcn19KSxwcmVmZXJlbmNlQ2FyZFJlamVjdEJ1dHRvbjpCKHthbGw6aSwuLi5yLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLGJvcmRlcjpgMXB4IHNvbGlkICR7RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scyl9IGArbCwiJjpmb2N1cy12aXNpYmxlIjphJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitsLG91dGxpbmVPZmZzZXQ6IjNweCAiK2x9LCImOmhvdmVyIjp7Y29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8scykrIiAiK2wsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfSwiJjo6YWZ0ZXIiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitsLHdpZHRoOiJhdXRvICIrbCxvcGFjaXR5OiIwICIrbH0sIiY6OmJlZm9yZSI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2wsd2lkdGg6ImF1dG8gIitsLG9wYWNpdHk6IjAgIitsfSwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5yZWplY3RCdXR0b24sLi4ubj8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8ucmVqZWN0QnV0dG9uLCJAbW9iaWxlIjp7d2lkdGg6IjEwMCUgIitsLGNvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLGJvcmRlcjpgMXB4IHNvbGlkICR7RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8scyl9IGArbCwuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5yZWplY3RCdXR0b24sLi4ubj8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8ucmVqZWN0QnV0dG9ufX0pLHByZWZlcmVuY2VDYXJkQWNjZXB0QnV0dG9uOkIoe2FsbDppLC4uLnIsYm9yZGVyOiIxcHggc29saWQgdHJhbnNwYXJlbnQgIitsLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLGJhY2tncm91bmQ6SnQoImJvdHRvbSIsRChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scykpKyIgIitsLCImOmZvY3VzLXZpc2libGUiOmEmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2wsb3V0bGluZU9mZnNldDoiM3B4ICIrbH0sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrbCx3aWR0aDoiYXV0byAiK2wsb3BhY2l0eToiMCAiK2x9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitsLHdpZHRoOiJhdXRvICIrbCxvcGFjaXR5OiIwICIrbH0sLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uYWNjZXB0QnV0dG9uLC4uLm4/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmFjY2VwdEJ1dHRvbiwiQG1vYmlsZSI6e3dpZHRoOiIxMDAlICIrbCxjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxzKSsiICIrbCxiYWNrZ3JvdW5kOkp0KCJib3R0b20iLEQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKSsiICIrbCwuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5hY2NlcHRCdXR0b24sLi4ubj8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uYWNjZXB0QnV0dG9ufX0pfX0pKGksbyk7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJjb25maWciaW4gZSYmcigwLGk9ZS5jb25maWcpLCJzdHlsZXMiaW4gZSYmcigxLG89ZS5zdHlsZXMpfSxbaSxvLGQsYXN5bmMgdD0+e3ZhciBlPWkudGFncy5maW5kKGU9PmUuaWQ9PT10LmRldGFpbCksZT0oaS50YWdzLmZpbmQoZT0+ZS5pZD09PXQuZGV0YWlsKS5hY2NlcHQ9IWUuYWNjZXB0LGkpO3IoMCxpPXsuLi5lfSl9LGFzeW5jIG89PntvLmRldGFpbC50YWdzLmZvckVhY2godD0+e2kudGFncy5maW5kKGU9PmUuaWQ9PT10KS5hY2NlcHQ9by5kZXRhaWwuc3RhdGV9KSxpLnRhZ3MubWFwKGU9PmUuaWQ9PT1vLmRldGFpbCk7dmFyIGU9aTtyKDAsaT17Li4uZX0pLGF3YWl0IF9vKCl9LCgpPT57ZCgiZ28iLHtzdGF0dXM6TS5DbG9zZWQsZXZlbnQ6ei5BY2NlcHRTb21lLHVwZGF0ZUNvbnNlbnQ6ITB9KX0sdCxwLHUsZyxtLGYsaCxiLHgseSx3LEMsdiwoKT0+ZCgiZ28iLHtzdGF0dXM6TS5DYXJkfSksKCk9PmQoImdvIix7c3RhdHVzOk0uQ2xvc2VkLGV2ZW50OnouUmVqZWN0QWxsLHVwZGF0ZUNvbnNlbnQ6ITB9KSwoKT0+ZCgiZ28iLHtzdGF0dXM6TS5DbG9zZWQsZXZlbnQ6ei5BY2NlcHRBbGwsdXBkYXRlQ29uc2VudDohMH0pXX1jbGFzcyBicyBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxocyxtcyxyLHtjb25maWc6MCxzdHlsZXM6MX0pfX1mdW5jdGlvbiB4cyhlLHQsbyl7ZT1lLnNsaWNlKCk7cmV0dXJuIGVbMTddPXRbb10sZX1mdW5jdGlvbiB5cyhvKXtsZXQgcixpLG4sZT1vWzNdLnRpdGxlKyIiLGEscyxsLGMsZCxwPW9bMF0udGV4dHM/Lm1vZGFscz8uY2xvc2VCdXR0b24rIiIsdSxnLG0sZj1vWzNdLmNvbnRlbnREYXRhLGg9W107Zm9yKGxldCBlPTA7ZTxmLmxlbmd0aDtlKz0xKWhbZV09QXMoeHMobyxmLGUpKTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLG49ZGUoImRpdiIpLGE9cGUoZSkscz11ZSgpLGw9ZGUoImRpdiIpO2ZvcihsZXQgZT0wO2U8aC5sZW5ndGg7ZSs9MSloW2VdLmMoKTtjPXVlKCksZD1kZSgiYnV0dG9uIiksdT1wZShwKSxtZShuLCJjbGFzcyIsb1s4XSgpKSxtZShuLCJpZCIsInRjZi1tb2RhbC10aXRsZSIpLG1lKGwsImNsYXNzIixvWzZdKCkpLG1lKGwsImlkIiwidGNmLW1vZGFsLWNvbnRlbnQiKSxtZShkLCJjbGFzcyIsb1s5XSgpKSxtZShpLCJjbGFzcyIsb1s3XSgpKSxtZShyLCJpZCIsInRjZi1tb2RhbCIpLG1lKHIsInJvbGUiLCJkaWFsb2ciKSxtZShyLCJhcmlhLW1vZGFsIiwidHJ1ZSIpLG1lKHIsImFyaWEtbGFiZWxsZWRieSIsInRjZi1tb2RhbC10aXRsZSIpLG1lKHIsImFyaWEtZGVzY3JpYmVkYnkiLCJ0Y2YtbW9kYWwtY29udGVudCIpLG1lKHIsInRhYmluZGV4IiwtMSksbWUociwiY2xhc3MiLG9bNV0oKSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxzZShpLG4pLHNlKG4sYSksc2UoaSxzKSxzZShpLGwpO2ZvcihsZXQgZT0wO2U8aC5sZW5ndGg7ZSs9MSloW2VdJiZoW2VdLm0obCxudWxsKTtzZShpLGMpLHNlKGksZCksc2UoZCx1KSxnfHwobT1nZShkLCJjbGljayIsb1sxMF0pLGc9ITApfSxwKHQsbyl7aWYoOCZvJiZlIT09KGU9dFszXS50aXRsZSsiIikmJmZlKGEsZSksOCZvKXtmPXRbM10uY29udGVudERhdGE7bGV0IGU7Zm9yKGU9MDtlPGYubGVuZ3RoO2UrPTEpe3ZhciByPXhzKHQsZixlKTtoW2VdP2hbZV0ucChyLG8pOihoW2VdPUFzKHIpLGhbZV0uYygpLGhbZV0ubShsLG51bGwpKX1mb3IoO2U8aC5sZW5ndGg7ZSs9MSloW2VdLmQoMSk7aC5sZW5ndGg9Zi5sZW5ndGh9MSZvJiZwIT09KHA9dFswXS50ZXh0cz8ubW9kYWxzPy5jbG9zZUJ1dHRvbisiIikmJmZlKHUscCl9LGQoZSl7ZSYmY2UociksbW8oaCxlKSxnPSExLG0oKX19fWZ1bmN0aW9uIHdzKGUpe2xldCBvO3JldHVybntjKCl7bz1kZSgiaHIiKX0sbShlLHQpe2xlKGUsbyx0KX0scDpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBDcyhlKXtsZXQgbyxyLGk9ZVsxN10uY29udGVudCsiIixuLGEscz1lWzE3XS5ib2xkVGV4dCYmTHMoZSk7cmV0dXJue2MoKXtvPWRlKCJsaSIpLHMmJnMuYygpLHI9dWUoKSxuPXBlKGkpLGE9dWUoKSx4KG8sInBhZGRpbmctbGVmdCIsIjE1cHgiKX0sbShlLHQpe2xlKGUsbyx0KSxzJiZzLm0obyxudWxsKSxzZShvLHIpLHNlKG8sbiksc2UobyxhKX0scChlLHQpe2VbMTddLmJvbGRUZXh0P3M/cy5wKGUsdCk6KChzPUxzKGUpKS5jKCkscy5tKG8scikpOnMmJihzLmQoMSkscz1udWxsKSw4JnQmJmkhPT0oaT1lWzE3XS5jb250ZW50KyIiKSYmZmUobixpKX0sZChlKXtlJiZjZShvKSxzJiZzLmQoKX19fWZ1bmN0aW9uIHZzKGUpe2xldCBvLHI9ZVsxN10uY29udGVudCsiIixpO3JldHVybntjKCl7bz1kZSgiaDIiKSxpPXBlKHIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8saSl9LHAoZSx0KXs4JnQmJnIhPT0ocj1lWzE3XS5jb250ZW50KyIiKSYmZmUoaSxyKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIGtzKGUpe2xldCBvLHI9ZVsxN10uY29udGVudCsiIixpO3JldHVybntjKCl7bz1kZSgiaDEiKSxpPXBlKHIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8saSl9LHAoZSx0KXs4JnQmJnIhPT0ocj1lWzE3XS5jb250ZW50KyIiKSYmZmUoaSxyKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIElzKGUpe2xldCBvLHIsaT1lWzE3XS5jb250ZW50KyIiLG4sYSxzPWVbMTddLmJvbGRUZXh0JiYkcyhlKTtyZXR1cm57Yygpe289ZGUoImxpIikscyYmcy5jKCkscj11ZSgpLG49cGUoaSksYT11ZSgpfSxtKGUsdCl7bGUoZSxvLHQpLHMmJnMubShvLG51bGwpLHNlKG8sciksc2UobyxuKSxzZShvLGEpfSxwKGUsdCl7ZVsxN10uYm9sZFRleHQ/cz9zLnAoZSx0KTooKHM9JHMoZSkpLmMoKSxzLm0obyxyKSk6cyYmKHMuZCgxKSxzPW51bGwpLDgmdCYmaSE9PShpPWVbMTddLmNvbnRlbnQrIiIpJiZmZShuLGkpfSxkKGUpe2UmJmNlKG8pLHMmJnMuZCgpfX19ZnVuY3Rpb24gU3MoZSl7bGV0IG8scixpPWVbMTddLmNvbnRlbnQrIiIsbixhO3JldHVybntjKCl7bz1kZSgiZGl2Iikscj1kZSgiYSIpLG49cGUoaSksbWUociwiaHJlZiIsYT1lWzE3XS5ocmVmKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsbil9LHAoZSx0KXs4JnQmJmkhPT0oaT1lWzE3XS5jb250ZW50KyIiKSYmZmUobixpKSw4JnQmJmEhPT0oYT1lWzE3XS5ocmVmKSYmbWUociwiaHJlZiIsYSl9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBUcyhlKXtsZXQgbyxyPWVbMTddLmNvbnRlbnQrIiIsaTtyZXR1cm57Yygpe289ZGUoInAiKSxpPXBlKHIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8saSl9LHAoZSx0KXs4JnQmJnIhPT0ocj1lWzE3XS5jb250ZW50KyIiKSYmZmUoaSxyKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIExzKGUpe2xldCBvLHI9ZVsxN10uYm9sZFRleHQrIiIsaTtyZXR1cm57Yygpe289ZGUoImIiKSxpPXBlKHIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8saSl9LHAoZSx0KXs4JnQmJnIhPT0ocj1lWzE3XS5ib2xkVGV4dCsiIikmJmZlKGkscil9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiAkcyhlKXtsZXQgbyxyPWVbMTddLmJvbGRUZXh0KyIiLGk7cmV0dXJue2MoKXtvPWRlKCJiIiksaT1wZShyKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLGkpfSxwKGUsdCl7OCZ0JiZyIT09KHI9ZVsxN10uYm9sZFRleHQrIiIpJiZmZShpLHIpfSxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gQXMoZSl7bGV0IG87ZnVuY3Rpb24gcihlKXtyZXR1cm4iUEFSQUdSQVBIIj09PWVbMTddLnR5cGU/VHM6IkxJTksiPT09ZVsxN10udHlwZT9TczoiTElTVCI9PT1lWzE3XS50eXBlP0lzOiJUSVRMRSI9PT1lWzE3XS50eXBlP2tzOiJTTUFMTF9USVRMRSI9PT1lWzE3XS50eXBlP3ZzOiJJTlNJREVfTElTVCI9PT1lWzE3XS50eXBlP0NzOiJESVZJREVSIj09PWVbMTddLnR5cGU/d3M6dm9pZCAwfWxldCBpPXIoZSksbj1pJiZpKGUpO3JldHVybntjKCl7biYmbi5jKCksbz1mbygpfSxtKGUsdCl7biYmbi5tKGUsdCksbGUoZSxvLHQpfSxwKGUsdCl7aT09PShpPXIoZSkpJiZuP24ucChlLHQpOihuJiZuLmQoMSksKG49aSYmaShlKSkmJihuLmMoKSxuLm0oby5wYXJlbnROb2RlLG8pKSl9LGQoZSl7biYmbi5kKGUpLGUmJmNlKG8pfX19ZnVuY3Rpb24gRXMoZSl7bGV0IG8scj1lWzJdJiZlWzBdJiZlWzFdJiZ5cyhlKTtyZXR1cm57Yygpe3ImJnIuYygpLG89Zm8oKX0sbShlLHQpe3ImJnIubShlLHQpLGxlKGUsbyx0KX0scChlLFt0XSl7ZVsyXSYmZVswXSYmZVsxXT9yP3IucChlLHQpOigocj15cyhlKSkuYygpLHIubShvLnBhcmVudE5vZGUsbykpOnImJihyLmQoMSkscj1udWxsKX0saTpoLG86aCxkKGUpe3ImJnIuZChlKSxlJiZjZShvKX19fWZ1bmN0aW9uIFJzKGUsdCxvKXtsZXQgcj0kbygpLGk9dC5jb25maWcsbj10LnN0eWxlcyxhPXQuaXNPcGVuLHM9dC5tb2RhbERhdGEsbCxjLGQscD1lPT57IlRhYiI9PT1lLmtleSYmKGUuc2hpZnRLZXk/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWwmJihlLnByZXZlbnREZWZhdWx0KCksYy5mb2N1cygpKTpkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YyYmKGUucHJldmVudERlZmF1bHQoKSxsLmZvY3VzKCkpKX07ZnVuY3Rpb24gdShlKXsiRXNjYXBlIj09PWUua2V5JiYocigiaGFuZGxlQ2xvc2UiKSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29va2llLWJhbm5lciIpLmZvY3VzKCkpfVRvKCgpPT57dmFyIGU7aT8uZGlzY2xhaW1lck9wdGlvbnM/LmFjY2Vzc2liaWxpdHkmJihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGNmLW1vZGFsIikuZm9jdXMoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdSksZT0idGNmLW1vZGFsIixlPShkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpKS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknKSxsPWVbMF0sYz1lW2UubGVuZ3RoLTFdLGQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIscCkpfSksTG8oKCk9PntpPy5kaXNjbGFpbWVyT3B0aW9ucz8uYWNjZXNzaWJpbGl0eSYmKGQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIscCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHUpKX0pO3Zhcnttb2RhbFdyYXBwZXI6dCxtb2RhbENvbnRlbnQ6Zyxtb2RhbENvbnRhaW5lcjptLG1vZGFsVGl0bGU6Zixtb2RhbENsb3NlQnV0dG9uOmh9PSgoZSx0KT0+e3Zhcntjb2xvcnM6ZSxkaXNjbGFpbWVyT3B0aW9uczpvfT1lLHt0aGVtZTp0PSJsaWdodCIsY29sb3JzOnJ9PXQsaT0iIWltcG9ydGFudCIsbz1vPy5hY2Nlc3NpYmlsaXR5LG49InVuc2V0ICFpbXBvcnRhbnQiLGE9Qih7YWxsOm4scG9zaXRpb246ImZpeGVkICIraSx0b3A6IjAgIitpLGxlZnQ6IjAgIitpLHdpZHRoOiIxMDAlICAiK2ksaGVpZ2h0OiIxMDAlICAiK2ksYmFja2dyb3VuZDoicmdiYSgwLDAsMCwwLjUpICAiK2ksZGlzcGxheToiZmxleCAiK2ksanVzdGlmeUNvbnRlbnQ6ImNlbnRlciAiK2ksYWxpZ25JdGVtczoiY2VudGVyICIraSx6SW5kZXg6Ijk5OTk5OTk5OTMgIitpfSkscz1CKHthbGw6bix3aWR0aDoiOTAlICAiK2ksbWF4V2lkdGg6IjM0MHB4ICAiK2ksYmFja2dyb3VuZDoid2hpdGUgICIraSxib3JkZXJSYWRpdXM6IjE1cHggIitpLHBhZGRpbmc6IjIwcHggIitpLGZvbnRGYW1pbHk6IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIitpfSksbD1CKHthbGw6bixkaXNwbGF5OiJibG9jayAiK2ksZm9udFdlaWdodDoiYm9sZCAiK2ksbWFyZ2luQm90dG9tOiIxMHB4ICIraSxmb250U2l6ZToiJHRleHQgIitpfSksYz1CKHttYXhIZWlnaHQ6IjcwdmggIitpLG92ZXJmbG93WToiYXV0byAiK2ksIiYgcCI6e2NvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxlLHIpKyIgIitpLGZvbnRTaXplOiIkdGV4dCAiK2ksbWFyZ2luOiI1cHggMCAwICIraX0sIiYgYSI6e2NvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxlLHIpKyIgIitpLGZvbnRTaXplOiIkdGV4dCAiK2ksdGV4dERlY29yYXRpb246InVuZGVybGluZSAiK2ksbWFyZ2luVG9wOiI1cHggIitpfSwiJiBsaSI6e2ZvbnRTaXplOiIkdGV4dCAiK2ksbWFyZ2luVG9wOiI1cHggIitpfSwiJiBoMSI6e2ZvbnRTaXplOiIkdGl0bGUgIitpLG1hcmdpblRvcDoiMTBweCAiK2ksZm9udFdlaWdodDoiNzAwICIraX0sIiYgaDIiOntmb250U2l6ZToiJHRpdGxlICIraSxtYXJnaW5Ub3A6IjVweCAiK2ksZm9udFdlaWdodDoiNjAwICIraX0sIiYgaHIiOntkaXNwbGF5OiJibG9jayIsaGVpZ2h0OiIxcHgiLGJvcmRlcjowLGJvcmRlclRvcDpgMXB4IHNvbGlkICR7UXQoRChPLndlYixSLnRleHRDb2xvcix0LGUsciksLjMpfSBgK2ksbWFyZ2luOiIxZW0gMCIscGFkZGluZzowfX0pO3JldHVybnttb2RhbFdyYXBwZXI6YSxtb2RhbENvbnRhaW5lcjpzLG1vZGFsVGl0bGU6bCxtb2RhbENsb3NlQnV0dG9uOkIoe2FsbDpuLGZvbnRXZWlnaHQ6ImJvbGQgIitpLGFwcGVhcmFuY2U6Im5vbmUgIitpLGJhY2tncm91bmQ6RChPLndlYixSLnByaW1hcnlDb2xvcix0LGUscikrIiAiK2ksY29sb3I6RChPLndlYixSLmJnQ29sb3IsdCxlLHIpKyIgIitpLGJvcmRlclJhZGl1czoiMTAwcHggIitpLHRleHRBbGlnbjoiY2VudGVyICIraSxtYXJnaW46IjIwcHggYXV0byAwICIraSxwYWRkaW5nOiIxMHB4IDQwcHggIitpLGZvbnRTaXplOiIkdGV4dCAiK2ksY3Vyc29yOiJwb2ludGVyICIraSxwb3NpdGlvbjoicmVsYXRpdmUgIitpLGxlZnQ6IjUwJSAiK2ksdHJhbnNmb3JtOiJ0cmFuc2xhdGVYKC01MCUpICIraSwiJjpmb2N1cy12aXNpYmxlIjpvJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitpLG91dGxpbmVPZmZzZXQ6IjNweCAiK2l9fSksbW9kYWxDb250ZW50OmN9fSkoaSxuKTtyZXR1cm4gZS4kJHNldD1lPT57ImNvbmZpZyJpbiBlJiZvKDAsaT1lLmNvbmZpZyksInN0eWxlcyJpbiBlJiZvKDEsbj1lLnN0eWxlcyksImlzT3BlbiJpbiBlJiZvKDIsYT1lLmlzT3BlbiksIm1vZGFsRGF0YSJpbiBlJiZvKDMscz1lLm1vZGFsRGF0YSl9LFtpLG4sYSxzLHIsdCxnLG0sZixoLCgpPT5yKCJoYW5kbGVDbG9zZSIpXX1jbGFzcyBPcyBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxScyxFcyxyLHtjb25maWc6MCxzdHlsZXM6MSxpc09wZW46Mixtb2RhbERhdGE6M30pfX1sZXQgRHM9KGUsdCk9Pnt2YXJ7c3R5bGVzOmUsaGFzSW1wb3J0YW50Om99PWUuc3R5bGVzPz97fSx7c3R5bGVzOnQsaGFzSW1wb3J0YW50OnJ9PXQ7bGV0IGk9dm9pZCAwPT09cnx8cj92b2lkIDA9PT1vfHxvPyIhaW1wb3J0YW50IjoiIjoiIjtyZXR1cm57Y29uc2VudFdhbGw6Qih7cG9zaXRpb246ImZpeGVkICIraSx3aWR0aDoiMTAwJSAiK2ksaGVpZ2h0OiIxMDAlICIraSx0b3A6IjAgIitpLGxlZnQ6IjAgIitpLHpJbmRleDoiOTk5OTk5OTkgIitpLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsMC4yKSAiK2ksYmFja2Ryb3BGaWx0ZXI6ImJsdXIoNHB4KSAiK2ksLi4uZT8ud2ViPy5jb25zZW50V2FsbD8uY29udGFpbmVyLC4uLnQ/LndlYj8uY29uc2VudFdhbGw/LmNvbnRhaW5lciwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY29uc2VudFdhbGw/LmNvbnRhaW5lciwuLi50Py5tb2JpbGU/LmNvbnNlbnRXYWxsPy5jb250YWluZXJ9fSl9fTtmdW5jdGlvbiBCcyhlKXtsZXQgbztyZXR1cm57Yygpe21lKG89ZGUoImRpdiIpLCJhcmlhLWhpZGRlbiIsInRydWUiKSxtZShvLCJjbGFzcyIsZVswXSgpKX0sbShlLHQpe2xlKGUsbyx0KX0scDpoLGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIFBzKGUsdCxvKXtsZXQgcj10LmNvbmZpZyxpPXQuc3R5bGVzO3ZhciBuLHQ9KHQ9cixuPWksRHModCxuKSkuY29uc2VudFdhbGw7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJjb25maWciaW4gZSYmbygxLHI9ZS5jb25maWcpLCJzdHlsZXMiaW4gZSYmbygyLGk9ZS5zdHlsZXMpfSxbdCxyLGldfWNsYXNzIF9zIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLFBzLEJzLHIse2NvbmZpZzoxLHN0eWxlczoyfSl9fWxldCBqcz1DZS53aW5kb3c7ZnVuY3Rpb24gTnMoZSl7bGV0IHIsbztyZXR1cm4ocj1uZXcgaWkoe3Byb3BzOntjb25maWc6ZVsyXSxzdHlsZXM6ZVs0XX19KSkuJG9uKCJnbyIsZVsyMF0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzQmdCYmKG8uY29uZmlnPWVbMl0pLDE2JnQmJihvLnN0eWxlcz1lWzRdKSxyLiRzZXQobyl9LGkoZSl7b3x8KGhlKHIuJCQuZnJhZ21lbnQsZSksbz0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxvPSExfSxkKGUpe3dlKHIsZSl9fX1mdW5jdGlvbiBWcyhlKXtsZXQgcixvO3JldHVybiByPW5ldyBfcyh7cHJvcHM6e2NvbmZpZzplWzJdLHN0eWxlczplWzRdfX0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzQmdCYmKG8uY29uZmlnPWVbMl0pLDE2JnQmJihvLnN0eWxlcz1lWzRdKSxyLiRzZXQobyl9LGkoZSl7b3x8KGhlKHIuJCQuZnJhZ21lbnQsZSksbz0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxvPSExfSxkKGUpe3dlKHIsZSl9fX1mdW5jdGlvbiBNcyhlKXtsZXQgcixvO3JldHVybihyPW5ldyBsbih7cHJvcHM6e2NvbmZpZzplWzJdLHN0eWxlczplWzRdLGlzTW9kYWxJbmZvT3BlbjplWzZdfX0pKS4kb24oImdvIixlWzhdKSxyLiRvbigiaGFuZGxlT3Blbk1vZGFsIixlWzEwXSkse2MoKXt4ZShyLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKHIsZSx0KSxvPSEwfSxwKGUsdCl7dmFyIG89e307NCZ0JiYoby5jb25maWc9ZVsyXSksMTYmdCYmKG8uc3R5bGVzPWVbNF0pLDY0JnQmJihvLmlzTW9kYWxJbmZvT3Blbj1lWzZdKSxyLiRzZXQobyl9LGkoZSl7b3x8KGhlKHIuJCQuZnJhZ21lbnQsZSksbz0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxvPSExfSxkKGUpe3dlKHIsZSl9fX1mdW5jdGlvbiB6cyhlKXtsZXQgcixvO3JldHVybihyPW5ldyBWYSh7cHJvcHM6e2NvbmZpZzplWzJdLHN0eWxlczplWzRdLGlzTW9kYWxJbmZvT3BlbjplWzZdfX0pKS4kb24oImdvIixlWzhdKSxyLiRvbigidXBkYXRlSWFiVGFncyIsZVsxMl0pLHIuJG9uKCJoYW5kbGVPcGVuTW9kYWwiLGVbMTBdKSx7Yygpe3hlKHIuJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUocixlLHQpLG89ITB9LHAoZSx0KXt2YXIgbz17fTs0JnQmJihvLmNvbmZpZz1lWzJdKSwxNiZ0JiYoby5zdHlsZXM9ZVs0XSksNjQmdCYmKG8uaXNNb2RhbEluZm9PcGVuPWVbNl0pLHIuJHNldChvKX0saShlKXtvfHwoaGUoci4kJC5mcmFnbWVudCxlKSxvPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLG89ITF9LGQoZSl7d2UocixlKX19fWZ1bmN0aW9uIEZzKGUpe2xldCByLG87cmV0dXJuKHI9bmV3IGJzKHtwcm9wczp7Y29uZmlnOmVbMl0sc3R5bGVzOmVbNF19fSkpLiRvbigiZ28iLGVbOF0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzQmdCYmKG8uY29uZmlnPWVbMl0pLDE2JnQmJihvLnN0eWxlcz1lWzRdKSxyLiRzZXQobyl9LGkoZSl7b3x8KGhlKHIuJCQuZnJhZ21lbnQsZSksbz0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxvPSExfSxkKGUpe3dlKHIsZSl9fX1mdW5jdGlvbiBVcyhlKXtsZXQgcixvO3JldHVybihyPW5ldyBPcyh7cHJvcHM6e2NvbmZpZzplWzJdLHN0eWxlczplWzRdLG1vZGFsRGF0YTplWzddLGlzT3BlbjplWzZdfX0pKS4kb24oImhhbmRsZUNsb3NlIixlWzExXSkse2MoKXt4ZShyLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKHIsZSx0KSxvPSEwfSxwKGUsdCl7dmFyIG89e307NCZ0JiYoby5jb25maWc9ZVsyXSksMTYmdCYmKG8uc3R5bGVzPWVbNF0pLDEyOCZ0JiYoby5tb2RhbERhdGE9ZVs3XSksNjQmdCYmKG8uaXNPcGVuPWVbNl0pLHIuJHNldChvKX0saShlKXtvfHwoaGUoci4kJC5mcmFnbWVudCxlKSxvPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLG89ITF9LGQoZSl7d2UocixlKX19fWZ1bmN0aW9uIFdzKG8pe2xldCByLGksbixhLHMsbCxjLGQscCx1PW9bMV0mJm9bMV0hPT1NLkhpZGRlbiYmb1szXSYmIW9bNV0mJk5zKG8pLGc9b1swXSYmKG9bMV09PT1NLkNhcmR8fG9bMV09PT1NLk9wZW58fG9bMV09PT1NLlByZWZlcmVuY2VzKSYmVnMobyksbT0ob1sxXT09PU0uQ2FyZHx8b1sxXT09PU0uT3BlbikmJk1zKG8pLGY9b1sxXT09PU0uUHJlZmVyZW5jZXMmJiFvWzVdJiZ6cyhvKSxoPW9bMV09PT1NLlByZWZlcmVuY2VzJiZvWzVdJiZGcyhvKSxiPW9bNl0mJm9bNF0mJm9bMl0mJlVzKG8pO3JldHVybntjKCl7dSYmdS5jKCkscj11ZSgpLGcmJmcuYygpLGk9dWUoKSxtJiZtLmMoKSxuPXVlKCksZiYmZi5jKCksYT11ZSgpLGgmJmguYygpLHM9dWUoKSxiJiZiLmMoKSxsPWZvKCl9LG0oZSx0KXt1JiZ1Lm0oZSx0KSxsZShlLHIsdCksZyYmZy5tKGUsdCksbGUoZSxpLHQpLG0mJm0ubShlLHQpLGxlKGUsbix0KSxmJiZmLm0oZSx0KSxsZShlLGEsdCksaCYmaC5tKGUsdCksbGUoZSxzLHQpLGImJmIubShlLHQpLGxlKGUsbCx0KSxjPSEwLGR8fChwPWdlKGpzLCJjbGljayIsb1s5XSksZD0hMCl9LHAoZSxbdF0pe2VbMV0mJmVbMV0hPT1NLkhpZGRlbiYmZVszXSYmIWVbNV0/dT8odS5wKGUsdCksNDImdCYmaGUodSwxKSk6KCh1PU5zKGUpKS5jKCksaGUodSwxKSx1Lm0oci5wYXJlbnROb2RlLHIpKTp1JiYoaWUoKSxiZSh1LDEsMSwoKT0+e3U9bnVsbH0pLG5lKCkpLCFlWzBdfHxlWzFdIT09TS5DYXJkJiZlWzFdIT09TS5PcGVuJiZlWzFdIT09TS5QcmVmZXJlbmNlcz9nJiYoaWUoKSxiZShnLDEsMSwoKT0+e2c9bnVsbH0pLG5lKCkpOmc/KGcucChlLHQpLDMmdCYmaGUoZywxKSk6KChnPVZzKGUpKS5jKCksaGUoZywxKSxnLm0oaS5wYXJlbnROb2RlLGkpKSxlWzFdPT09TS5DYXJkfHxlWzFdPT09TS5PcGVuP20/KG0ucChlLHQpLDImdCYmaGUobSwxKSk6KChtPU1zKGUpKS5jKCksaGUobSwxKSxtLm0obi5wYXJlbnROb2RlLG4pKTptJiYoaWUoKSxiZShtLDEsMSwoKT0+e209bnVsbH0pLG5lKCkpLGVbMV0hPT1NLlByZWZlcmVuY2VzfHxlWzVdP2YmJihpZSgpLGJlKGYsMSwxLCgpPT57Zj1udWxsfSksbmUoKSk6Zj8oZi5wKGUsdCksMzQmdCYmaGUoZiwxKSk6KChmPXpzKGUpKS5jKCksaGUoZiwxKSxmLm0oYS5wYXJlbnROb2RlLGEpKSxlWzFdPT09TS5QcmVmZXJlbmNlcyYmZVs1XT9oPyhoLnAoZSx0KSwzNCZ0JiZoZShoLDEpKTooKGg9RnMoZSkpLmMoKSxoZShoLDEpLGgubShzLnBhcmVudE5vZGUscykpOmgmJihpZSgpLGJlKGgsMSwxLCgpPT57aD1udWxsfSksbmUoKSksZVs2XSYmZVs0XSYmZVsyXT9iPyhiLnAoZSx0KSw4NCZ0JiZoZShiLDEpKTooKGI9VXMoZSkpLmMoKSxoZShiLDEpLGIubShsLnBhcmVudE5vZGUsbCkpOmImJihpZSgpLGJlKGIsMSwxLCgpPT57Yj1udWxsfSksbmUoKSl9LGkoZSl7Y3x8KGhlKHUpLGhlKGcpLGhlKG0pLGhlKGYpLGhlKGgpLGhlKGIpLGM9ITApfSxvKGUpe2JlKHUpLGJlKGcpLGJlKG0pLGJlKGYpLGJlKGgpLGJlKGIpLGM9ITF9LGQoZSl7dSYmdS5kKGUpLGUmJmNlKHIpLGcmJmcuZChlKSxlJiZjZShpKSxtJiZtLmQoZSksZSYmY2UobiksZiYmZi5kKGUpLGUmJmNlKGEpLGgmJmguZChlKSxlJiZjZShzKSxiJiZiLmQoZSksZSYmY2UobCksZD0hMSxwKCl9fX1mdW5jdGlvbiBIcyhlLHQsbyl7bGV0IHIsaSxuLGEscyxsLGMsZCxwPSExLHUsZz10LmRpc2NsYWltZXJJZCxtPXQuYmFyRXZlbnRzLGY9dC5iYXJGaXJlZFRhZ3MsaD10LmJhclVwZGF0ZVRhZ3MsYj10LmJhckNhbGxiYWNrLHg9dC5iYXJEaXNjbGFpbWVySW5mbyx5PXQuYmFyQ2hhbmdlQ2xhc3NlcztmdW5jdGlvbiB3KGUpe3ZhciB0O2UuZGV0YWlsLnN0YXR1cz09PU0uQ2xvc2VkJiZHdChuKT9vKDEsaT1NLkhpZGRlbik6bygxLGk9ZS5kZXRhaWwuc3RhdHVzKSxlLmRldGFpbC5ldmVudCE9PXouQWNjZXB0QWxsJiZlLmRldGFpbC5ldmVudCE9PXouUmVqZWN0QWxsfHxvKDIsbj1IdChuLGUuZGV0YWlsLmV2ZW50KSksbShlLmRldGFpbC5ldmVudCksZS5kZXRhaWwudXBkYXRlQ29uc2VudCYmKG8oMCxyPSExKSwobj8udGNmPy5lbmFibGVkJiZ0ZVtlZS5FdXJvcGVdLmluY2x1ZGVzKG4ubGVnaXNsYXRpb24pfHxuPy50Y2Y/LmZvcmNlVGNTdHJpbmcpJiYoYXN5bmMoZSx0KT0+e0x0LnVuc2V0QWxsVmVuZG9yQ29uc2VudHMoKSxMdC51bnNldEFsbFZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHMoKSxMdC51bnNldEFsbFB1cnBvc2VDb25zZW50cygpLEx0LnVuc2V0QWxsUHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHMoKSxMdC51bnNldEFsbFNwZWNpYWxGZWF0dXJlT3B0aW5zKCksT2JqZWN0LnZhbHVlcyh0LnB1cnBvc2VzSW5Vc2UpLmZvckVhY2goZT0+e2UuYWNjZXB0JiZMdC5wdXJwb3NlQ29uc2VudHMuc2V0KE51bWJlcihlLmlkKSksZS5sZWdJbnQmJkx0LnB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzLnNldChOdW1iZXIoZS5pZCkpfSksT2JqZWN0LnZhbHVlcyh0LnNwZWNpYWxGZWF0dXJlc0luVXNlKS5mb3JFYWNoKGU9PntlLmFjY2VwdCYmTHQuc3BlY2lhbEZlYXR1cmVPcHRpbnMuc2V0KE51bWJlcihlLmlkKSl9KSxlLmZvckVhY2goKGUsdCk9PntlLmFjY2VwdCYmTHQudmVuZG9yQ29uc2VudHMuc2V0KE51bWJlcihlLmlkKSksZS5sZWdJbnQmJkx0LnZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHMuc2V0KE51bWJlcihlLmlkKSl9KSxBdCh7dWlWaXNpYmxlOiExfSl9KShuLmlhYlRhZ3Msbi5pYWJDYXRlZ29yaWVzKSxEdChuLGcsYSxzLGUuZGV0YWlsLmV2ZW50KSx7dXBkYXRlZFRhZ3M6ZSxjYXRlZ29yaWVzU3RhdHVzOnR9PWp0KG4udGFncyxmLGgsZS5kZXRhaWwuZXZlbnQsbi5jYXRlZ29yaWVzU3RhdHVzKSxvKDIsbi50YWdzPWUsbiksbygyLG4uY2F0ZWdvcmllc1N0YXR1cz10LG4pLGIoe2Rpc2NsYWltZXJJZDpnLHZpc2l0b3JJZDphLHRhZ3M6bi50YWdzLHdlYnNpdGVJZDpuLndlYnNpdGVJZCxsYW5ndWFnZTpuLmxhbmd1YWdlLGxlZ2lzbGF0aW9uOm4ubGVnaXNsYXRpb259KSl9VG8oYXN5bmMoKT0+e0kuZGVidWcoIk1vdW50aW5nIHRhZyIpO3ZhciBlPWF3YWl0IEJ0KGcsZixoKTtvKDQsYz15KSxvKDIsbj1lLmNvbmZpZyksYT1lLnZpc2l0b3JJZCxvKDEsaT1lLmN1cnJlbnRQYWdlKSxvKDAscj1lLnNob3VsZFNob3dDb25zZW50V2FsbCkscz1VdChuLmRpc2NsYWltZXJPcHRpb25zLnNob3VsZFNldFN1YmRvbWFpbkNvb2tpZSksSS5kZWJ1ZygiRG9tYWluIixzKSxJLmRlYnVnKCJDb25maWciLG4pLG8oMixuPWF3YWl0IHF0KG4sZyxhLCIiKSkseChuKSxvKDMsbD1uPy5kaXNjbGFpbWVyT3B0aW9ucz8uZGlzY2xhaW1lckNvbnRyb2xsZXJWaXNpYmlsaXR5KSxvKDUsZD0iYWx0ZXJuYXRpdmUiPT09bj8uZGlzY2xhaW1lck9wdGlvbnMudGhlbWUpLG4/Lndhcm5pbmdzPy5mb3JFYWNoKGU9Pkkud2FybmluZyhlLCIiLCEwKSl9KSx3aW5kb3cudG9wJiYod2luZG93LnRvcC5zZW5kQWRvcHRDb21tYW5kPWZ1bmN0aW9uKGUpe28oMSxpPSJvcGVuIj09PWU/TS5PcGVuOk0uSGlkZGVuKX0pO3JldHVybiBlLiQkc2V0PWU9PnsiZGlzY2xhaW1lcklkImluIGUmJm8oMTMsZz1lLmRpc2NsYWltZXJJZCksImJhckV2ZW50cyJpbiBlJiZvKDE0LG09ZS5iYXJFdmVudHMpLCJiYXJGaXJlZFRhZ3MiaW4gZSYmbygxNSxmPWUuYmFyRmlyZWRUYWdzKSwiYmFyVXBkYXRlVGFncyJpbiBlJiZvKDE2LGg9ZS5iYXJVcGRhdGVUYWdzKSwiYmFyQ2FsbGJhY2siaW4gZSYmbygxNyxiPWUuYmFyQ2FsbGJhY2spLCJiYXJEaXNjbGFpbWVySW5mbyJpbiBlJiZvKDE4LHg9ZS5iYXJEaXNjbGFpbWVySW5mbyksImJhckNoYW5nZUNsYXNzZXMiaW4gZSYmbygxOSx5PWUuYmFyQ2hhbmdlQ2xhc3Nlcyl9LFtyLGksbixsLGMsZCxwLHZvaWQgMCx3LGZ1bmN0aW9uKCl7dmFyIGU7aSE9PU0uQ2xvc2VkJiZpIT09TS5IaWRkZW4mJmkhPT1NLk9wZW4mJihlPShlPT57dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX0pKFZ0KCJBZG9wdENvbnNlbnQiLHMsbj8uY29uc2VudE9wdGlvbnM/LnJlbW92ZUNvbnNlbnRGcm9tQ29va2llcykpKSYmKDA8ZS5vcHRJblRhZ3MubGVuZ3RofHwwPGUub3B0T3V0VGFncy5sZW5ndGgpJiZvKDEsaT1NLkNsb3NlZCl9LGZ1bmN0aW9uKGUpe28oNyx1PWUuZGV0YWlsKSxvKDYscD0hMCl9LGZ1bmN0aW9uKCl7byg2LHA9ITEpLG4/LmRpc2NsYWltZXJPcHRpb25zPy5hY2Nlc3NpYmlsaXR5JiZkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29va2llLWJhbm5lciIpLmZvY3VzKCl9LGZ1bmN0aW9uKGUpe28oMixuLmlhYlRhZ3M9ZS5kZXRhaWwsbil9LGcsbSxmLGgsYix4LHksZT0+dyhlKV19Y2xhc3MgR3MgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsSHMsV3Mscix7ZGlzY2xhaW1lcklkOjEzLGJhckV2ZW50czoxNCxiYXJGaXJlZFRhZ3M6MTUsYmFyVXBkYXRlVGFnczoxNixiYXJDYWxsYmFjazoxNyxiYXJEaXNjbGFpbWVySW5mbzoxOCxiYXJDaGFuZ2VDbGFzc2VzOjE5fSl9fWZ1bmN0aW9uIHFzKGUpe2xldCByLG87cmV0dXJuIHI9bmV3IEdzKHtwcm9wczp7ZGlzY2xhaW1lcklkOmVbMF0sYmFyRXZlbnRzOmVbMV0sYmFyQ2FsbGJhY2s6ZVs0XSxiYXJGaXJlZFRhZ3M6ZVszXSxiYXJVcGRhdGVUYWdzOmVbMl0sYmFyRGlzY2xhaW1lckluZm86ZVs1XSxiYXJDaGFuZ2VDbGFzc2VzOmVbNl19fSkse2MoKXt4ZShyLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKHIsZSx0KSxvPSEwfSxwKGUsW3RdKXt2YXIgbz17fTsxJnQmJihvLmRpc2NsYWltZXJJZD1lWzBdKSwyJnQmJihvLmJhckV2ZW50cz1lWzFdKSwxNiZ0JiYoby5iYXJDYWxsYmFjaz1lWzRdKSw4JnQmJihvLmJhckZpcmVkVGFncz1lWzNdKSw0JnQmJihvLmJhclVwZGF0ZVRhZ3M9ZVsyXSksMzImdCYmKG8uYmFyRGlzY2xhaW1lckluZm89ZVs1XSksNjQmdCYmKG8uYmFyQ2hhbmdlQ2xhc3Nlcz1lWzZdKSxyLiRzZXQobyl9LGkoZSl7b3x8KGhlKHIuJCQuZnJhZ21lbnQsZSksbz0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxvPSExfSxkKGUpe3dlKHIsZSl9fX1mdW5jdGlvbiBLcyhlLHQsbyl7bGV0IHI9dC5kaXNjbGFpbWVySWQsaT10LmJhckV2ZW50cyxuPXQuYmFyVXBkYXRlVGFncyxhPXQuYmFyRmlyZWRUYWdzLHM9dC5iYXJDYWxsYmFjayxsPXQuYmFyRGlzY2xhaW1lckluZm8sYz10LmJhckNoYW5nZUNsYXNzZXM7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJkaXNjbGFpbWVySWQiaW4gZSYmbygwLHI9ZS5kaXNjbGFpbWVySWQpLCJiYXJFdmVudHMiaW4gZSYmbygxLGk9ZS5iYXJFdmVudHMpLCJiYXJVcGRhdGVUYWdzImluIGUmJm8oMixuPWUuYmFyVXBkYXRlVGFncyksImJhckZpcmVkVGFncyJpbiBlJiZvKDMsYT1lLmJhckZpcmVkVGFncyksImJhckNhbGxiYWNrImluIGUmJm8oNCxzPWUuYmFyQ2FsbGJhY2spLCJiYXJEaXNjbGFpbWVySW5mbyJpbiBlJiZvKDUsbD1lLmJhckRpc2NsYWltZXJJbmZvKSwiYmFyQ2hhbmdlQ2xhc3NlcyJpbiBlJiZvKDYsYz1lLmJhckNoYW5nZUNsYXNzZXMpfSxbcixpLG4sYSxzLGwsY119Y2xhc3MgUXMgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsS3MscXMscix7ZGlzY2xhaW1lcklkOjAsYmFyRXZlbnRzOjEsYmFyVXBkYXRlVGFnczoyLGJhckZpcmVkVGFnczozLGJhckNhbGxiYWNrOjQsYmFyRGlzY2xhaW1lckluZm86NSxiYXJDaGFuZ2VDbGFzc2VzOjZ9KX19U2U9IjEuMC4xNiIsSS5kZWJ1ZyhTZSsiIC0gU3RhcnRpbmcgQWRvcHQgdGFnIik7bGV0IEpzPSgoKT0+e3ZhciBlLHQsbztmb3IoZSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJtZXRhW25hbWU9J2Fkb3B0LXdlYnNpdGUtaWQnXSIpKXt2YXIgcj1lLmdldEF0dHJpYnV0ZSgiY29udGVudCIpO2lmKFJ0KHIpKXJldHVybiByfWZvcih0IG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NjcmlwdFtjbGFzcz0iYWRvcHQtaW5qZWN0b3IiXScpKXt2YXIgaT10LmdldEF0dHJpYnV0ZSgic3JjIikuc3Vic3RyaW5nKHQuZ2V0QXR0cmlidXRlKCJzcmMiKS5pbmRleE9mKCJ3ZWJzaXRlX2NvZGU9IikrMTMpO2lmKFJ0KGkpKXJldHVybiBpfWZvcihvIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdCIpKWlmKG8uc3JjLmluY2x1ZGVzKCJpbmplY3Rvci5qcz93ZWJzaXRlX2NvZGU9Iikpe3ZhciBuPW8uc3JjLnN1YnN0cmluZyhvLnNyYy5pbmRleE9mKCJ3ZWJzaXRlX2NvZGU9IikrMTMpO2lmKFJ0KG4pKXJldHVybiBufUkuZXJyb3IoIk7Do28gZW5jb250cmFtb3MgbmVuaHVtYSBNZXRhVGFnIG91IFNjcmlwdCBkYSBBZE9wdCBpbnN0YWxhZG9zIG5vIHNldSBzaXRlLiA6KCIpfSkoKSxacztyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7WnN8fCJ0YWctbG9hZGVkIj09PXdpbmRvdy50b3AuZGlzY2xhaW1lclN0YXR1c3x8KEkuZGVidWcoIlRhZyBsb2FkZWQgYnkgZXZlbnQgbGlzdGVuZXIiKSx3aW5kb3cudG9wLmRpc2NsYWltZXJTdGF0dXM9InRhZy1sb2FkZWQiLFpzPW5ldyBRcyh7dGFyZ2V0OmRvY3VtZW50LmJvZHkscHJvcHM6e2Rpc2NsYWltZXJJZDpKcyxiYXJFdmVudHM6d2luZG93Py50b3A/LmFkb3B0RXZlbnRzPz9mdW5jdGlvbihlKXt9LGJhckNhbGxiYWNrOndpbmRvdz8udG9wPy5hZG9wdENCPz9mdW5jdGlvbihlKXt9LGJhckZpcmVkVGFnczp3aW5kb3c/LnRvcD8uZmlyZWRUYWdzPz9mdW5jdGlvbihlKXt9LGJhclVwZGF0ZVRhZ3M6d2luZG93Py50b3A/LmFkb3B0VXBkYXRlVGFncz8/ZnVuY3Rpb24oZSl7fSxiYXJEaXNjbGFpbWVySW5mbzp3aW5kb3c/LnRvcD8uZGlzY2xhaW1lckluZm9DQj8/ZnVuY3Rpb24oZSl7fSxiYXJDaGFuZ2VDbGFzc2VzOndpbmRvdz8udG9wPy5hZG9wdENoYW5nZUNsYXNzZXM/P3t9fX0pKX0pLGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJCT0RZIilbMF0mJiJ0YWctbG9hZGVkIiE9PXdpbmRvdy50b3AuZGlzY2xhaW1lclN0YXR1cyYmKEkuZGVidWcoIlRhZyBsb2FkZWQgYm9keSBjaGVjayIpLHdpbmRvdy50b3AuZGlzY2xhaW1lclN0YXR1cz0idGFnLWxvYWRlZCIsWnM9bmV3IFFzKHt0YXJnZXQ6ZG9jdW1lbnQuYm9keSxwcm9wczp7ZGlzY2xhaW1lcklkOkpzLGJhckV2ZW50czp3aW5kb3c/LnRvcD8uYWRvcHRFdmVudHM/P2Z1bmN0aW9uKGUpe30sYmFyQ2FsbGJhY2s6d2luZG93Py50b3A/LmFkb3B0Q0I/P2Z1bmN0aW9uKGUpe30sYmFyRmlyZWRUYWdzOndpbmRvdz8udG9wPy5maXJlZFRhZ3M/P2Z1bmN0aW9uKGUpe30sYmFyVXBkYXRlVGFnczp3aW5kb3c/LnRvcD8uYWRvcHRVcGRhdGVUYWdzPz9mdW5jdGlvbihlKXt9LGJhckRpc2NsYWltZXJJbmZvOndpbmRvdz8udG9wPy5kaXNjbGFpbWVySW5mb0NCPz9mdW5jdGlvbihlKXt9LGJhckNoYW5nZUNsYXNzZXM6d2luZG93Py50b3A/LmFkb3B0Q2hhbmdlQ2xhc3Nlcz8/e319fSkpLFpzfSkoKTsK'; var adoptScript = document.createElement("script"); adoptScript.className = "adopt-injector-code"; adoptScript.textContent = decodeURIComponent(atob(adoptScript64).split('').map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); adoptScript.charset = "UTF-8"; const metaTag = document.querySelector('meta[name="adopt-website-id"]') if (metaTag && metaTag.getAttribute('nonce')) { adoptScript.setAttribute('nonce', metaTag.getAttribute('nonce')) } document.head.appendChild(adoptScript); }());